From ac8381aa1e0ab93a4811d925635bbbd3edaeb058 Mon Sep 17 00:00:00 2001 From: Gnimuc Date: Mon, 24 Jan 2022 14:00:46 +0900 Subject: [PATCH 1/6] Add generator script --- gen/Project.toml | 5 +++++ gen/generator.jl | 18 ++++++++++++++++++ gen/generator.toml | 15 +++++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 gen/Project.toml create mode 100644 gen/generator.jl create mode 100644 gen/generator.toml diff --git a/gen/Project.toml b/gen/Project.toml new file mode 100644 index 0000000..50ac97b --- /dev/null +++ b/gen/Project.toml @@ -0,0 +1,5 @@ +[deps] +Clang = "40e3b903-d033-50b4-a0cc-940c62c95e31" + +[compat] +Clang = "0.15.0" \ No newline at end of file diff --git a/gen/generator.jl b/gen/generator.jl new file mode 100644 index 0000000..e8c2691 --- /dev/null +++ b/gen/generator.jl @@ -0,0 +1,18 @@ +using Clang.Generators +using Clang.Generators.JLLEnvs + +cd(@__DIR__) + +const GL_INCLUDE = joinpath(@__DIR__, "GL") +const GL_HEADERS = [joinpath(GL_INCLUDE, "glcorearb.h")] + +args = get_default_args() +push!(args, "-I$GL_INCLUDE") +push!(args, "-DGL_GLEXT_PROTOTYPES") + +options = load_options(joinpath(@__DIR__, "generator.toml")) +options["general"]["output_file_path"] = joinpath(@__DIR__, "..", "src", "gl.jl") + +ctx = create_context(GL_HEADERS, args, options) + +build!(ctx) diff --git a/gen/generator.toml b/gen/generator.toml new file mode 100644 index 0000000..4cd78f0 --- /dev/null +++ b/gen/generator.toml @@ -0,0 +1,15 @@ +[general] +library_name = "libgl" + +output_ignorelist = [ + "APIENTRYP", +] + +use_deterministic_symbol = true + +[codegen.macro] +macro_mode = "basic" + +# function-like macros in the following list will always be translated. +functionlike_macro_whitelist = [ +] From b1299750f6ada872fd3c6948d5d607465d04c5e0 Mon Sep 17 00:00:00 2001 From: Gnimuc Date: Mon, 24 Jan 2022 14:00:54 +0900 Subject: [PATCH 2/6] Add GL headers --- gen/GL/KHR/khrplatform.h | 311 ++ gen/GL/glcorearb.h | 5991 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 6302 insertions(+) create mode 100644 gen/GL/KHR/khrplatform.h create mode 100644 gen/GL/glcorearb.h diff --git a/gen/GL/KHR/khrplatform.h b/gen/GL/KHR/khrplatform.h new file mode 100644 index 0000000..473cef7 --- /dev/null +++ b/gen/GL/KHR/khrplatform.h @@ -0,0 +1,311 @@ +#ifndef __khrplatform_h_ +#define __khrplatform_h_ + +/* +** Copyright (c) 2008-2018 The Khronos Group Inc. +** +** Permission is hereby granted, free of charge, to any person obtaining a +** copy of this software and/or associated documentation files (the +** "Materials"), to deal in the Materials without restriction, including +** without limitation the rights to use, copy, modify, merge, publish, +** distribute, sublicense, and/or sell copies of the Materials, and to +** permit persons to whom the Materials are furnished to do so, subject to +** the following conditions: +** +** The above copyright notice and this permission notice shall be included +** in all copies or substantial portions of the Materials. +** +** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +*/ + +/* Khronos platform-specific types and definitions. + * + * The master copy of khrplatform.h is maintained in the Khronos EGL + * Registry repository at https://github.com/KhronosGroup/EGL-Registry + * The last semantic modification to khrplatform.h was at commit ID: + * 67a3e0864c2d75ea5287b9f3d2eb74a745936692 + * + * Adopters may modify this file to suit their platform. Adopters are + * encouraged to submit platform specific modifications to the Khronos + * group so that they can be included in future versions of this file. + * Please submit changes by filing pull requests or issues on + * the EGL Registry repository linked above. + * + * + * See the Implementer's Guidelines for information about where this file + * should be located on your system and for more details of its use: + * http://www.khronos.org/registry/implementers_guide.pdf + * + * This file should be included as + * #include + * by Khronos client API header files that use its types and defines. + * + * The types in khrplatform.h should only be used to define API-specific types. + * + * Types defined in khrplatform.h: + * khronos_int8_t signed 8 bit + * khronos_uint8_t unsigned 8 bit + * khronos_int16_t signed 16 bit + * khronos_uint16_t unsigned 16 bit + * khronos_int32_t signed 32 bit + * khronos_uint32_t unsigned 32 bit + * khronos_int64_t signed 64 bit + * khronos_uint64_t unsigned 64 bit + * khronos_intptr_t signed same number of bits as a pointer + * khronos_uintptr_t unsigned same number of bits as a pointer + * khronos_ssize_t signed size + * khronos_usize_t unsigned size + * khronos_float_t signed 32 bit floating point + * khronos_time_ns_t unsigned 64 bit time in nanoseconds + * khronos_utime_nanoseconds_t unsigned time interval or absolute time in + * nanoseconds + * khronos_stime_nanoseconds_t signed time interval in nanoseconds + * khronos_boolean_enum_t enumerated boolean type. This should + * only be used as a base type when a client API's boolean type is + * an enum. Client APIs which use an integer or other type for + * booleans cannot use this as the base type for their boolean. + * + * Tokens defined in khrplatform.h: + * + * KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values. + * + * KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0. + * KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0. + * + * Calling convention macros defined in this file: + * KHRONOS_APICALL + * KHRONOS_APIENTRY + * KHRONOS_APIATTRIBUTES + * + * These may be used in function prototypes as: + * + * KHRONOS_APICALL void KHRONOS_APIENTRY funcname( + * int arg1, + * int arg2) KHRONOS_APIATTRIBUTES; + */ + +#if defined(__SCITECH_SNAP__) && !defined(KHRONOS_STATIC) +# define KHRONOS_STATIC 1 +#endif + +/*------------------------------------------------------------------------- + * Definition of KHRONOS_APICALL + *------------------------------------------------------------------------- + * This precedes the return type of the function in the function prototype. + */ +#if defined(KHRONOS_STATIC) + /* If the preprocessor constant KHRONOS_STATIC is defined, make the + * header compatible with static linking. */ +# define KHRONOS_APICALL +#elif defined(_WIN32) +# define KHRONOS_APICALL __declspec(dllimport) +#elif defined (__SYMBIAN32__) +# define KHRONOS_APICALL IMPORT_C +#elif defined(__ANDROID__) +# define KHRONOS_APICALL __attribute__((visibility("default"))) +#else +# define KHRONOS_APICALL +#endif + +/*------------------------------------------------------------------------- + * Definition of KHRONOS_APIENTRY + *------------------------------------------------------------------------- + * This follows the return type of the function and precedes the function + * name in the function prototype. + */ +#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__) + /* Win32 but not WinCE */ +# define KHRONOS_APIENTRY __stdcall +#else +# define KHRONOS_APIENTRY +#endif + +/*------------------------------------------------------------------------- + * Definition of KHRONOS_APIATTRIBUTES + *------------------------------------------------------------------------- + * This follows the closing parenthesis of the function prototype arguments. + */ +#if defined (__ARMCC_2__) +#define KHRONOS_APIATTRIBUTES __softfp +#else +#define KHRONOS_APIATTRIBUTES +#endif + +/*------------------------------------------------------------------------- + * basic type definitions + *-----------------------------------------------------------------------*/ +#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__) + + +/* + * Using + */ +#include +typedef int32_t khronos_int32_t; +typedef uint32_t khronos_uint32_t; +typedef int64_t khronos_int64_t; +typedef uint64_t khronos_uint64_t; +#define KHRONOS_SUPPORT_INT64 1 +#define KHRONOS_SUPPORT_FLOAT 1 +/* + * To support platform where unsigned long cannot be used interchangeably with + * inptr_t (e.g. CHERI-extended ISAs), we can use the stdint.h intptr_t. + * Ideally, we could just use (u)intptr_t everywhere, but this could result in + * ABI breakage if khronos_uintptr_t is changed from unsigned long to + * unsigned long long or similar (this results in different C++ name mangling). + * To avoid changes for existing platforms, we restrict usage of intptr_t to + * platforms where the size of a pointer is larger than the size of long. + */ +#if defined(__SIZEOF_LONG__) && defined(__SIZEOF_POINTER__) +#if __SIZEOF_POINTER__ > __SIZEOF_LONG__ +#define KHRONOS_USE_INTPTR_T +#endif +#endif + +#elif defined(__VMS ) || defined(__sgi) + +/* + * Using + */ +#include +typedef int32_t khronos_int32_t; +typedef uint32_t khronos_uint32_t; +typedef int64_t khronos_int64_t; +typedef uint64_t khronos_uint64_t; +#define KHRONOS_SUPPORT_INT64 1 +#define KHRONOS_SUPPORT_FLOAT 1 + +#elif defined(_WIN32) && !defined(__SCITECH_SNAP__) + +/* + * Win32 + */ +typedef __int32 khronos_int32_t; +typedef unsigned __int32 khronos_uint32_t; +typedef __int64 khronos_int64_t; +typedef unsigned __int64 khronos_uint64_t; +#define KHRONOS_SUPPORT_INT64 1 +#define KHRONOS_SUPPORT_FLOAT 1 + +#elif defined(__sun__) || defined(__digital__) + +/* + * Sun or Digital + */ +typedef int khronos_int32_t; +typedef unsigned int khronos_uint32_t; +#if defined(__arch64__) || defined(_LP64) +typedef long int khronos_int64_t; +typedef unsigned long int khronos_uint64_t; +#else +typedef long long int khronos_int64_t; +typedef unsigned long long int khronos_uint64_t; +#endif /* __arch64__ */ +#define KHRONOS_SUPPORT_INT64 1 +#define KHRONOS_SUPPORT_FLOAT 1 + +#elif 0 + +/* + * Hypothetical platform with no float or int64 support + */ +typedef int khronos_int32_t; +typedef unsigned int khronos_uint32_t; +#define KHRONOS_SUPPORT_INT64 0 +#define KHRONOS_SUPPORT_FLOAT 0 + +#else + +/* + * Generic fallback + */ +#include +typedef int32_t khronos_int32_t; +typedef uint32_t khronos_uint32_t; +typedef int64_t khronos_int64_t; +typedef uint64_t khronos_uint64_t; +#define KHRONOS_SUPPORT_INT64 1 +#define KHRONOS_SUPPORT_FLOAT 1 + +#endif + + +/* + * Types that are (so far) the same on all platforms + */ +typedef signed char khronos_int8_t; +typedef unsigned char khronos_uint8_t; +typedef signed short int khronos_int16_t; +typedef unsigned short int khronos_uint16_t; + +/* + * Types that differ between LLP64 and LP64 architectures - in LLP64, + * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears + * to be the only LLP64 architecture in current use. + */ +#ifdef KHRONOS_USE_INTPTR_T +typedef intptr_t khronos_intptr_t; +typedef uintptr_t khronos_uintptr_t; +#elif defined(_WIN64) +typedef signed long long int khronos_intptr_t; +typedef unsigned long long int khronos_uintptr_t; +#else +typedef signed long int khronos_intptr_t; +typedef unsigned long int khronos_uintptr_t; +#endif + +#if defined(_WIN64) +typedef signed long long int khronos_ssize_t; +typedef unsigned long long int khronos_usize_t; +#else +typedef signed long int khronos_ssize_t; +typedef unsigned long int khronos_usize_t; +#endif + +#if KHRONOS_SUPPORT_FLOAT +/* + * Float type + */ +typedef float khronos_float_t; +#endif + +#if KHRONOS_SUPPORT_INT64 +/* Time types + * + * These types can be used to represent a time interval in nanoseconds or + * an absolute Unadjusted System Time. Unadjusted System Time is the number + * of nanoseconds since some arbitrary system event (e.g. since the last + * time the system booted). The Unadjusted System Time is an unsigned + * 64 bit value that wraps back to 0 every 584 years. Time intervals + * may be either signed or unsigned. + */ +typedef khronos_uint64_t khronos_utime_nanoseconds_t; +typedef khronos_int64_t khronos_stime_nanoseconds_t; +#endif + +/* + * Dummy value used to pad enum types to 32 bits. + */ +#ifndef KHRONOS_MAX_ENUM +#define KHRONOS_MAX_ENUM 0x7FFFFFFF +#endif + +/* + * Enumerated boolean type + * + * Values other than zero should be considered to be true. Therefore + * comparisons should not be made against KHRONOS_TRUE. + */ +typedef enum { + KHRONOS_FALSE = 0, + KHRONOS_TRUE = 1, + KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM +} khronos_boolean_enum_t; + +#endif /* __khrplatform_h_ */ \ No newline at end of file diff --git a/gen/GL/glcorearb.h b/gen/GL/glcorearb.h new file mode 100644 index 0000000..9224298 --- /dev/null +++ b/gen/GL/glcorearb.h @@ -0,0 +1,5991 @@ +#ifndef __gl_glcorearb_h_ +#define __gl_glcorearb_h_ 1 + +#ifdef __cplusplus +extern "C" { +#endif + +/* +** Copyright 2013-2020 The Khronos Group Inc. +** SPDX-License-Identifier: MIT +** +** This header is generated from the Khronos OpenGL / OpenGL ES XML +** API Registry. The current version of the Registry, generator scripts +** used to make the header, and the header can be found at +** https://github.com/KhronosGroup/OpenGL-Registry +*/ + +#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN 1 +#endif +#include +#endif + +#ifndef APIENTRY +#define APIENTRY +#endif +#ifndef APIENTRYP +#define APIENTRYP APIENTRY * +#endif +#ifndef GLAPI +#define GLAPI extern +#endif + +/* glcorearb.h is for use with OpenGL core profile implementations. +** It should should be placed in the same directory as gl.h and +** included as . +** +** glcorearb.h includes only APIs in the latest OpenGL core profile +** implementation together with APIs in newer ARB extensions which +** can be supported by the core profile. It does not, and never will +** include functionality removed from the core profile, such as +** fixed-function vertex and fragment processing. +** +** Do not #include both and either of or +** in the same source file. +*/ + +/* Generated C header for: + * API: gl + * Profile: core + * Versions considered: .* + * Versions emitted: .* + * Default extensions included: glcore + * Additional extensions included: _nomatch_^ + * Extensions removed: _nomatch_^ + */ + +#ifndef GL_VERSION_1_0 +#define GL_VERSION_1_0 1 +typedef void GLvoid; +typedef unsigned int GLenum; +#include +typedef khronos_float_t GLfloat; +typedef int GLint; +typedef int GLsizei; +typedef unsigned int GLbitfield; +typedef double GLdouble; +typedef unsigned int GLuint; +typedef unsigned char GLboolean; +typedef khronos_uint8_t GLubyte; +#define GL_DEPTH_BUFFER_BIT 0x00000100 +#define GL_STENCIL_BUFFER_BIT 0x00000400 +#define GL_COLOR_BUFFER_BIT 0x00004000 +#define GL_FALSE 0 +#define GL_TRUE 1 +#define GL_POINTS 0x0000 +#define GL_LINES 0x0001 +#define GL_LINE_LOOP 0x0002 +#define GL_LINE_STRIP 0x0003 +#define GL_TRIANGLES 0x0004 +#define GL_TRIANGLE_STRIP 0x0005 +#define GL_TRIANGLE_FAN 0x0006 +#define GL_QUADS 0x0007 +#define GL_NEVER 0x0200 +#define GL_LESS 0x0201 +#define GL_EQUAL 0x0202 +#define GL_LEQUAL 0x0203 +#define GL_GREATER 0x0204 +#define GL_NOTEQUAL 0x0205 +#define GL_GEQUAL 0x0206 +#define GL_ALWAYS 0x0207 +#define GL_ZERO 0 +#define GL_ONE 1 +#define GL_SRC_COLOR 0x0300 +#define GL_ONE_MINUS_SRC_COLOR 0x0301 +#define GL_SRC_ALPHA 0x0302 +#define GL_ONE_MINUS_SRC_ALPHA 0x0303 +#define GL_DST_ALPHA 0x0304 +#define GL_ONE_MINUS_DST_ALPHA 0x0305 +#define GL_DST_COLOR 0x0306 +#define GL_ONE_MINUS_DST_COLOR 0x0307 +#define GL_SRC_ALPHA_SATURATE 0x0308 +#define GL_NONE 0 +#define GL_FRONT_LEFT 0x0400 +#define GL_FRONT_RIGHT 0x0401 +#define GL_BACK_LEFT 0x0402 +#define GL_BACK_RIGHT 0x0403 +#define GL_FRONT 0x0404 +#define GL_BACK 0x0405 +#define GL_LEFT 0x0406 +#define GL_RIGHT 0x0407 +#define GL_FRONT_AND_BACK 0x0408 +#define GL_NO_ERROR 0 +#define GL_INVALID_ENUM 0x0500 +#define GL_INVALID_VALUE 0x0501 +#define GL_INVALID_OPERATION 0x0502 +#define GL_OUT_OF_MEMORY 0x0505 +#define GL_CW 0x0900 +#define GL_CCW 0x0901 +#define GL_POINT_SIZE 0x0B11 +#define GL_POINT_SIZE_RANGE 0x0B12 +#define GL_POINT_SIZE_GRANULARITY 0x0B13 +#define GL_LINE_SMOOTH 0x0B20 +#define GL_LINE_WIDTH 0x0B21 +#define GL_LINE_WIDTH_RANGE 0x0B22 +#define GL_LINE_WIDTH_GRANULARITY 0x0B23 +#define GL_POLYGON_MODE 0x0B40 +#define GL_POLYGON_SMOOTH 0x0B41 +#define GL_CULL_FACE 0x0B44 +#define GL_CULL_FACE_MODE 0x0B45 +#define GL_FRONT_FACE 0x0B46 +#define GL_DEPTH_RANGE 0x0B70 +#define GL_DEPTH_TEST 0x0B71 +#define GL_DEPTH_WRITEMASK 0x0B72 +#define GL_DEPTH_CLEAR_VALUE 0x0B73 +#define GL_DEPTH_FUNC 0x0B74 +#define GL_STENCIL_TEST 0x0B90 +#define GL_STENCIL_CLEAR_VALUE 0x0B91 +#define GL_STENCIL_FUNC 0x0B92 +#define GL_STENCIL_VALUE_MASK 0x0B93 +#define GL_STENCIL_FAIL 0x0B94 +#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95 +#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96 +#define GL_STENCIL_REF 0x0B97 +#define GL_STENCIL_WRITEMASK 0x0B98 +#define GL_VIEWPORT 0x0BA2 +#define GL_DITHER 0x0BD0 +#define GL_BLEND_DST 0x0BE0 +#define GL_BLEND_SRC 0x0BE1 +#define GL_BLEND 0x0BE2 +#define GL_LOGIC_OP_MODE 0x0BF0 +#define GL_DRAW_BUFFER 0x0C01 +#define GL_READ_BUFFER 0x0C02 +#define GL_SCISSOR_BOX 0x0C10 +#define GL_SCISSOR_TEST 0x0C11 +#define GL_COLOR_CLEAR_VALUE 0x0C22 +#define GL_COLOR_WRITEMASK 0x0C23 +#define GL_DOUBLEBUFFER 0x0C32 +#define GL_STEREO 0x0C33 +#define GL_LINE_SMOOTH_HINT 0x0C52 +#define GL_POLYGON_SMOOTH_HINT 0x0C53 +#define GL_UNPACK_SWAP_BYTES 0x0CF0 +#define GL_UNPACK_LSB_FIRST 0x0CF1 +#define GL_UNPACK_ROW_LENGTH 0x0CF2 +#define GL_UNPACK_SKIP_ROWS 0x0CF3 +#define GL_UNPACK_SKIP_PIXELS 0x0CF4 +#define GL_UNPACK_ALIGNMENT 0x0CF5 +#define GL_PACK_SWAP_BYTES 0x0D00 +#define GL_PACK_LSB_FIRST 0x0D01 +#define GL_PACK_ROW_LENGTH 0x0D02 +#define GL_PACK_SKIP_ROWS 0x0D03 +#define GL_PACK_SKIP_PIXELS 0x0D04 +#define GL_PACK_ALIGNMENT 0x0D05 +#define GL_MAX_TEXTURE_SIZE 0x0D33 +#define GL_MAX_VIEWPORT_DIMS 0x0D3A +#define GL_SUBPIXEL_BITS 0x0D50 +#define GL_TEXTURE_1D 0x0DE0 +#define GL_TEXTURE_2D 0x0DE1 +#define GL_TEXTURE_WIDTH 0x1000 +#define GL_TEXTURE_HEIGHT 0x1001 +#define GL_TEXTURE_BORDER_COLOR 0x1004 +#define GL_DONT_CARE 0x1100 +#define GL_FASTEST 0x1101 +#define GL_NICEST 0x1102 +#define GL_BYTE 0x1400 +#define GL_UNSIGNED_BYTE 0x1401 +#define GL_SHORT 0x1402 +#define GL_UNSIGNED_SHORT 0x1403 +#define GL_INT 0x1404 +#define GL_UNSIGNED_INT 0x1405 +#define GL_FLOAT 0x1406 +#define GL_STACK_OVERFLOW 0x0503 +#define GL_STACK_UNDERFLOW 0x0504 +#define GL_CLEAR 0x1500 +#define GL_AND 0x1501 +#define GL_AND_REVERSE 0x1502 +#define GL_COPY 0x1503 +#define GL_AND_INVERTED 0x1504 +#define GL_NOOP 0x1505 +#define GL_XOR 0x1506 +#define GL_OR 0x1507 +#define GL_NOR 0x1508 +#define GL_EQUIV 0x1509 +#define GL_INVERT 0x150A +#define GL_OR_REVERSE 0x150B +#define GL_COPY_INVERTED 0x150C +#define GL_OR_INVERTED 0x150D +#define GL_NAND 0x150E +#define GL_SET 0x150F +#define GL_TEXTURE 0x1702 +#define GL_COLOR 0x1800 +#define GL_DEPTH 0x1801 +#define GL_STENCIL 0x1802 +#define GL_STENCIL_INDEX 0x1901 +#define GL_DEPTH_COMPONENT 0x1902 +#define GL_RED 0x1903 +#define GL_GREEN 0x1904 +#define GL_BLUE 0x1905 +#define GL_ALPHA 0x1906 +#define GL_RGB 0x1907 +#define GL_RGBA 0x1908 +#define GL_POINT 0x1B00 +#define GL_LINE 0x1B01 +#define GL_FILL 0x1B02 +#define GL_KEEP 0x1E00 +#define GL_REPLACE 0x1E01 +#define GL_INCR 0x1E02 +#define GL_DECR 0x1E03 +#define GL_VENDOR 0x1F00 +#define GL_RENDERER 0x1F01 +#define GL_VERSION 0x1F02 +#define GL_EXTENSIONS 0x1F03 +#define GL_NEAREST 0x2600 +#define GL_LINEAR 0x2601 +#define GL_NEAREST_MIPMAP_NEAREST 0x2700 +#define GL_LINEAR_MIPMAP_NEAREST 0x2701 +#define GL_NEAREST_MIPMAP_LINEAR 0x2702 +#define GL_LINEAR_MIPMAP_LINEAR 0x2703 +#define GL_TEXTURE_MAG_FILTER 0x2800 +#define GL_TEXTURE_MIN_FILTER 0x2801 +#define GL_TEXTURE_WRAP_S 0x2802 +#define GL_TEXTURE_WRAP_T 0x2803 +#define GL_REPEAT 0x2901 +typedef void (APIENTRYP PFNGLCULLFACEPROC) (GLenum mode); +typedef void (APIENTRYP PFNGLFRONTFACEPROC) (GLenum mode); +typedef void (APIENTRYP PFNGLHINTPROC) (GLenum target, GLenum mode); +typedef void (APIENTRYP PFNGLLINEWIDTHPROC) (GLfloat width); +typedef void (APIENTRYP PFNGLPOINTSIZEPROC) (GLfloat size); +typedef void (APIENTRYP PFNGLPOLYGONMODEPROC) (GLenum face, GLenum mode); +typedef void (APIENTRYP PFNGLSCISSORPROC) (GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLTEXPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat param); +typedef void (APIENTRYP PFNGLTEXPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params); +typedef void (APIENTRYP PFNGLTEXPARAMETERIPROC) (GLenum target, GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLTEXPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLTEXIMAGE1DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels); +typedef void (APIENTRYP PFNGLTEXIMAGE2DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels); +typedef void (APIENTRYP PFNGLDRAWBUFFERPROC) (GLenum buf); +typedef void (APIENTRYP PFNGLCLEARPROC) (GLbitfield mask); +typedef void (APIENTRYP PFNGLCLEARCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); +typedef void (APIENTRYP PFNGLCLEARSTENCILPROC) (GLint s); +typedef void (APIENTRYP PFNGLCLEARDEPTHPROC) (GLdouble depth); +typedef void (APIENTRYP PFNGLSTENCILMASKPROC) (GLuint mask); +typedef void (APIENTRYP PFNGLCOLORMASKPROC) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); +typedef void (APIENTRYP PFNGLDEPTHMASKPROC) (GLboolean flag); +typedef void (APIENTRYP PFNGLDISABLEPROC) (GLenum cap); +typedef void (APIENTRYP PFNGLENABLEPROC) (GLenum cap); +typedef void (APIENTRYP PFNGLFINISHPROC) (void); +typedef void (APIENTRYP PFNGLFLUSHPROC) (void); +typedef void (APIENTRYP PFNGLBLENDFUNCPROC) (GLenum sfactor, GLenum dfactor); +typedef void (APIENTRYP PFNGLLOGICOPPROC) (GLenum opcode); +typedef void (APIENTRYP PFNGLSTENCILFUNCPROC) (GLenum func, GLint ref, GLuint mask); +typedef void (APIENTRYP PFNGLSTENCILOPPROC) (GLenum fail, GLenum zfail, GLenum zpass); +typedef void (APIENTRYP PFNGLDEPTHFUNCPROC) (GLenum func); +typedef void (APIENTRYP PFNGLPIXELSTOREFPROC) (GLenum pname, GLfloat param); +typedef void (APIENTRYP PFNGLPIXELSTOREIPROC) (GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLREADBUFFERPROC) (GLenum src); +typedef void (APIENTRYP PFNGLREADPIXELSPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels); +typedef void (APIENTRYP PFNGLGETBOOLEANVPROC) (GLenum pname, GLboolean *data); +typedef void (APIENTRYP PFNGLGETDOUBLEVPROC) (GLenum pname, GLdouble *data); +typedef GLenum (APIENTRYP PFNGLGETERRORPROC) (void); +typedef void (APIENTRYP PFNGLGETFLOATVPROC) (GLenum pname, GLfloat *data); +typedef void (APIENTRYP PFNGLGETINTEGERVPROC) (GLenum pname, GLint *data); +typedef const GLubyte *(APIENTRYP PFNGLGETSTRINGPROC) (GLenum name); +typedef void (APIENTRYP PFNGLGETTEXIMAGEPROC) (GLenum target, GLint level, GLenum format, GLenum type, void *pixels); +typedef void (APIENTRYP PFNGLGETTEXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETTEXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERFVPROC) (GLenum target, GLint level, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERIVPROC) (GLenum target, GLint level, GLenum pname, GLint *params); +typedef GLboolean (APIENTRYP PFNGLISENABLEDPROC) (GLenum cap); +typedef void (APIENTRYP PFNGLDEPTHRANGEPROC) (GLdouble n, GLdouble f); +typedef void (APIENTRYP PFNGLVIEWPORTPROC) (GLint x, GLint y, GLsizei width, GLsizei height); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glCullFace (GLenum mode); +GLAPI void APIENTRY glFrontFace (GLenum mode); +GLAPI void APIENTRY glHint (GLenum target, GLenum mode); +GLAPI void APIENTRY glLineWidth (GLfloat width); +GLAPI void APIENTRY glPointSize (GLfloat size); +GLAPI void APIENTRY glPolygonMode (GLenum face, GLenum mode); +GLAPI void APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI void APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param); +GLAPI void APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat *params); +GLAPI void APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param); +GLAPI void APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint *params); +GLAPI void APIENTRY glTexImage1D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels); +GLAPI void APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels); +GLAPI void APIENTRY glDrawBuffer (GLenum buf); +GLAPI void APIENTRY glClear (GLbitfield mask); +GLAPI void APIENTRY glClearColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); +GLAPI void APIENTRY glClearStencil (GLint s); +GLAPI void APIENTRY glClearDepth (GLdouble depth); +GLAPI void APIENTRY glStencilMask (GLuint mask); +GLAPI void APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); +GLAPI void APIENTRY glDepthMask (GLboolean flag); +GLAPI void APIENTRY glDisable (GLenum cap); +GLAPI void APIENTRY glEnable (GLenum cap); +GLAPI void APIENTRY glFinish (void); +GLAPI void APIENTRY glFlush (void); +GLAPI void APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor); +GLAPI void APIENTRY glLogicOp (GLenum opcode); +GLAPI void APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask); +GLAPI void APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass); +GLAPI void APIENTRY glDepthFunc (GLenum func); +GLAPI void APIENTRY glPixelStoref (GLenum pname, GLfloat param); +GLAPI void APIENTRY glPixelStorei (GLenum pname, GLint param); +GLAPI void APIENTRY glReadBuffer (GLenum src); +GLAPI void APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels); +GLAPI void APIENTRY glGetBooleanv (GLenum pname, GLboolean *data); +GLAPI void APIENTRY glGetDoublev (GLenum pname, GLdouble *data); +GLAPI GLenum APIENTRY glGetError (void); +GLAPI void APIENTRY glGetFloatv (GLenum pname, GLfloat *data); +GLAPI void APIENTRY glGetIntegerv (GLenum pname, GLint *data); +GLAPI const GLubyte *APIENTRY glGetString (GLenum name); +GLAPI void APIENTRY glGetTexImage (GLenum target, GLint level, GLenum format, GLenum type, void *pixels); +GLAPI void APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params); +GLAPI void APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint *params); +GLAPI void APIENTRY glGetTexLevelParameterfv (GLenum target, GLint level, GLenum pname, GLfloat *params); +GLAPI void APIENTRY glGetTexLevelParameteriv (GLenum target, GLint level, GLenum pname, GLint *params); +GLAPI GLboolean APIENTRY glIsEnabled (GLenum cap); +GLAPI void APIENTRY glDepthRange (GLdouble n, GLdouble f); +GLAPI void APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height); +#endif +#endif /* GL_VERSION_1_0 */ + +#ifndef GL_VERSION_1_1 +#define GL_VERSION_1_1 1 +typedef khronos_float_t GLclampf; +typedef double GLclampd; +#define GL_COLOR_LOGIC_OP 0x0BF2 +#define GL_POLYGON_OFFSET_UNITS 0x2A00 +#define GL_POLYGON_OFFSET_POINT 0x2A01 +#define GL_POLYGON_OFFSET_LINE 0x2A02 +#define GL_POLYGON_OFFSET_FILL 0x8037 +#define GL_POLYGON_OFFSET_FACTOR 0x8038 +#define GL_TEXTURE_BINDING_1D 0x8068 +#define GL_TEXTURE_BINDING_2D 0x8069 +#define GL_TEXTURE_INTERNAL_FORMAT 0x1003 +#define GL_TEXTURE_RED_SIZE 0x805C +#define GL_TEXTURE_GREEN_SIZE 0x805D +#define GL_TEXTURE_BLUE_SIZE 0x805E +#define GL_TEXTURE_ALPHA_SIZE 0x805F +#define GL_DOUBLE 0x140A +#define GL_PROXY_TEXTURE_1D 0x8063 +#define GL_PROXY_TEXTURE_2D 0x8064 +#define GL_R3_G3_B2 0x2A10 +#define GL_RGB4 0x804F +#define GL_RGB5 0x8050 +#define GL_RGB8 0x8051 +#define GL_RGB10 0x8052 +#define GL_RGB12 0x8053 +#define GL_RGB16 0x8054 +#define GL_RGBA2 0x8055 +#define GL_RGBA4 0x8056 +#define GL_RGB5_A1 0x8057 +#define GL_RGBA8 0x8058 +#define GL_RGB10_A2 0x8059 +#define GL_RGBA12 0x805A +#define GL_RGBA16 0x805B +#define GL_VERTEX_ARRAY 0x8074 +typedef void (APIENTRYP PFNGLDRAWARRAYSPROC) (GLenum mode, GLint first, GLsizei count); +typedef void (APIENTRYP PFNGLDRAWELEMENTSPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices); +typedef void (APIENTRYP PFNGLGETPOINTERVPROC) (GLenum pname, void **params); +typedef void (APIENTRYP PFNGLPOLYGONOFFSETPROC) (GLfloat factor, GLfloat units); +typedef void (APIENTRYP PFNGLCOPYTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); +typedef void (APIENTRYP PFNGLCOPYTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); +typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels); +typedef void (APIENTRYP PFNGLTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); +typedef void (APIENTRYP PFNGLBINDTEXTUREPROC) (GLenum target, GLuint texture); +typedef void (APIENTRYP PFNGLDELETETEXTURESPROC) (GLsizei n, const GLuint *textures); +typedef void (APIENTRYP PFNGLGENTEXTURESPROC) (GLsizei n, GLuint *textures); +typedef GLboolean (APIENTRYP PFNGLISTEXTUREPROC) (GLuint texture); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count); +GLAPI void APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const void *indices); +GLAPI void APIENTRY glGetPointerv (GLenum pname, void **params); +GLAPI void APIENTRY glPolygonOffset (GLfloat factor, GLfloat units); +GLAPI void APIENTRY glCopyTexImage1D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); +GLAPI void APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); +GLAPI void APIENTRY glCopyTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +GLAPI void APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI void APIENTRY glTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels); +GLAPI void APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); +GLAPI void APIENTRY glBindTexture (GLenum target, GLuint texture); +GLAPI void APIENTRY glDeleteTextures (GLsizei n, const GLuint *textures); +GLAPI void APIENTRY glGenTextures (GLsizei n, GLuint *textures); +GLAPI GLboolean APIENTRY glIsTexture (GLuint texture); +#endif +#endif /* GL_VERSION_1_1 */ + +#ifndef GL_VERSION_1_2 +#define GL_VERSION_1_2 1 +#define GL_UNSIGNED_BYTE_3_3_2 0x8032 +#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 +#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 +#define GL_UNSIGNED_INT_8_8_8_8 0x8035 +#define GL_UNSIGNED_INT_10_10_10_2 0x8036 +#define GL_TEXTURE_BINDING_3D 0x806A +#define GL_PACK_SKIP_IMAGES 0x806B +#define GL_PACK_IMAGE_HEIGHT 0x806C +#define GL_UNPACK_SKIP_IMAGES 0x806D +#define GL_UNPACK_IMAGE_HEIGHT 0x806E +#define GL_TEXTURE_3D 0x806F +#define GL_PROXY_TEXTURE_3D 0x8070 +#define GL_TEXTURE_DEPTH 0x8071 +#define GL_TEXTURE_WRAP_R 0x8072 +#define GL_MAX_3D_TEXTURE_SIZE 0x8073 +#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362 +#define GL_UNSIGNED_SHORT_5_6_5 0x8363 +#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364 +#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365 +#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366 +#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367 +#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368 +#define GL_BGR 0x80E0 +#define GL_BGRA 0x80E1 +#define GL_MAX_ELEMENTS_VERTICES 0x80E8 +#define GL_MAX_ELEMENTS_INDICES 0x80E9 +#define GL_CLAMP_TO_EDGE 0x812F +#define GL_TEXTURE_MIN_LOD 0x813A +#define GL_TEXTURE_MAX_LOD 0x813B +#define GL_TEXTURE_BASE_LEVEL 0x813C +#define GL_TEXTURE_MAX_LEVEL 0x813D +#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12 +#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13 +#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22 +#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23 +#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E +typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices); +typedef void (APIENTRYP PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); +typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); +typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glDrawRangeElements (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices); +GLAPI void APIENTRY glTexImage3D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); +GLAPI void APIENTRY glTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); +GLAPI void APIENTRY glCopyTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +#endif +#endif /* GL_VERSION_1_2 */ + +#ifndef GL_VERSION_1_3 +#define GL_VERSION_1_3 1 +#define GL_TEXTURE0 0x84C0 +#define GL_TEXTURE1 0x84C1 +#define GL_TEXTURE2 0x84C2 +#define GL_TEXTURE3 0x84C3 +#define GL_TEXTURE4 0x84C4 +#define GL_TEXTURE5 0x84C5 +#define GL_TEXTURE6 0x84C6 +#define GL_TEXTURE7 0x84C7 +#define GL_TEXTURE8 0x84C8 +#define GL_TEXTURE9 0x84C9 +#define GL_TEXTURE10 0x84CA +#define GL_TEXTURE11 0x84CB +#define GL_TEXTURE12 0x84CC +#define GL_TEXTURE13 0x84CD +#define GL_TEXTURE14 0x84CE +#define GL_TEXTURE15 0x84CF +#define GL_TEXTURE16 0x84D0 +#define GL_TEXTURE17 0x84D1 +#define GL_TEXTURE18 0x84D2 +#define GL_TEXTURE19 0x84D3 +#define GL_TEXTURE20 0x84D4 +#define GL_TEXTURE21 0x84D5 +#define GL_TEXTURE22 0x84D6 +#define GL_TEXTURE23 0x84D7 +#define GL_TEXTURE24 0x84D8 +#define GL_TEXTURE25 0x84D9 +#define GL_TEXTURE26 0x84DA +#define GL_TEXTURE27 0x84DB +#define GL_TEXTURE28 0x84DC +#define GL_TEXTURE29 0x84DD +#define GL_TEXTURE30 0x84DE +#define GL_TEXTURE31 0x84DF +#define GL_ACTIVE_TEXTURE 0x84E0 +#define GL_MULTISAMPLE 0x809D +#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E +#define GL_SAMPLE_ALPHA_TO_ONE 0x809F +#define GL_SAMPLE_COVERAGE 0x80A0 +#define GL_SAMPLE_BUFFERS 0x80A8 +#define GL_SAMPLES 0x80A9 +#define GL_SAMPLE_COVERAGE_VALUE 0x80AA +#define GL_SAMPLE_COVERAGE_INVERT 0x80AB +#define GL_TEXTURE_CUBE_MAP 0x8513 +#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A +#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B +#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C +#define GL_COMPRESSED_RGB 0x84ED +#define GL_COMPRESSED_RGBA 0x84EE +#define GL_TEXTURE_COMPRESSION_HINT 0x84EF +#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0 +#define GL_TEXTURE_COMPRESSED 0x86A1 +#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2 +#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 +#define GL_CLAMP_TO_BORDER 0x812D +typedef void (APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture); +typedef void (APIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLfloat value, GLboolean invert); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data); +typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint level, void *img); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glActiveTexture (GLenum texture); +GLAPI void APIENTRY glSampleCoverage (GLfloat value, GLboolean invert); +GLAPI void APIENTRY glCompressedTexImage3D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data); +GLAPI void APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data); +GLAPI void APIENTRY glCompressedTexImage1D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data); +GLAPI void APIENTRY glCompressedTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); +GLAPI void APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); +GLAPI void APIENTRY glCompressedTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data); +GLAPI void APIENTRY glGetCompressedTexImage (GLenum target, GLint level, void *img); +#endif +#endif /* GL_VERSION_1_3 */ + +#ifndef GL_VERSION_1_4 +#define GL_VERSION_1_4 1 +#define GL_BLEND_DST_RGB 0x80C8 +#define GL_BLEND_SRC_RGB 0x80C9 +#define GL_BLEND_DST_ALPHA 0x80CA +#define GL_BLEND_SRC_ALPHA 0x80CB +#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128 +#define GL_DEPTH_COMPONENT16 0x81A5 +#define GL_DEPTH_COMPONENT24 0x81A6 +#define GL_DEPTH_COMPONENT32 0x81A7 +#define GL_MIRRORED_REPEAT 0x8370 +#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD +#define GL_TEXTURE_LOD_BIAS 0x8501 +#define GL_INCR_WRAP 0x8507 +#define GL_DECR_WRAP 0x8508 +#define GL_TEXTURE_DEPTH_SIZE 0x884A +#define GL_TEXTURE_COMPARE_MODE 0x884C +#define GL_TEXTURE_COMPARE_FUNC 0x884D +#define GL_BLEND_COLOR 0x8005 +#define GL_BLEND_EQUATION 0x8009 +#define GL_CONSTANT_COLOR 0x8001 +#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002 +#define GL_CONSTANT_ALPHA 0x8003 +#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 +#define GL_FUNC_ADD 0x8006 +#define GL_FUNC_REVERSE_SUBTRACT 0x800B +#define GL_FUNC_SUBTRACT 0x800A +#define GL_MIN 0x8007 +#define GL_MAX 0x8008 +typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); +typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount); +typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSPROC) (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount); +typedef void (APIENTRYP PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param); +typedef void (APIENTRYP PFNGLPOINTPARAMETERFVPROC) (GLenum pname, const GLfloat *params); +typedef void (APIENTRYP PFNGLPOINTPARAMETERIPROC) (GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLPOINTPARAMETERIVPROC) (GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLBLENDCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); +typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBlendFuncSeparate (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); +GLAPI void APIENTRY glMultiDrawArrays (GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount); +GLAPI void APIENTRY glMultiDrawElements (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount); +GLAPI void APIENTRY glPointParameterf (GLenum pname, GLfloat param); +GLAPI void APIENTRY glPointParameterfv (GLenum pname, const GLfloat *params); +GLAPI void APIENTRY glPointParameteri (GLenum pname, GLint param); +GLAPI void APIENTRY glPointParameteriv (GLenum pname, const GLint *params); +GLAPI void APIENTRY glBlendColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); +GLAPI void APIENTRY glBlendEquation (GLenum mode); +#endif +#endif /* GL_VERSION_1_4 */ + +#ifndef GL_VERSION_1_5 +#define GL_VERSION_1_5 1 +typedef khronos_ssize_t GLsizeiptr; +typedef khronos_intptr_t GLintptr; +#define GL_BUFFER_SIZE 0x8764 +#define GL_BUFFER_USAGE 0x8765 +#define GL_QUERY_COUNTER_BITS 0x8864 +#define GL_CURRENT_QUERY 0x8865 +#define GL_QUERY_RESULT 0x8866 +#define GL_QUERY_RESULT_AVAILABLE 0x8867 +#define GL_ARRAY_BUFFER 0x8892 +#define GL_ELEMENT_ARRAY_BUFFER 0x8893 +#define GL_ARRAY_BUFFER_BINDING 0x8894 +#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895 +#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F +#define GL_READ_ONLY 0x88B8 +#define GL_WRITE_ONLY 0x88B9 +#define GL_READ_WRITE 0x88BA +#define GL_BUFFER_ACCESS 0x88BB +#define GL_BUFFER_MAPPED 0x88BC +#define GL_BUFFER_MAP_POINTER 0x88BD +#define GL_STREAM_DRAW 0x88E0 +#define GL_STREAM_READ 0x88E1 +#define GL_STREAM_COPY 0x88E2 +#define GL_STATIC_DRAW 0x88E4 +#define GL_STATIC_READ 0x88E5 +#define GL_STATIC_COPY 0x88E6 +#define GL_DYNAMIC_DRAW 0x88E8 +#define GL_DYNAMIC_READ 0x88E9 +#define GL_DYNAMIC_COPY 0x88EA +#define GL_SAMPLES_PASSED 0x8914 +#define GL_SRC1_ALPHA 0x8589 +typedef void (APIENTRYP PFNGLGENQUERIESPROC) (GLsizei n, GLuint *ids); +typedef void (APIENTRYP PFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint *ids); +typedef GLboolean (APIENTRYP PFNGLISQUERYPROC) (GLuint id); +typedef void (APIENTRYP PFNGLBEGINQUERYPROC) (GLenum target, GLuint id); +typedef void (APIENTRYP PFNGLENDQUERYPROC) (GLenum target); +typedef void (APIENTRYP PFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETQUERYOBJECTIVPROC) (GLuint id, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint *params); +typedef void (APIENTRYP PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer); +typedef void (APIENTRYP PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers); +typedef void (APIENTRYP PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers); +typedef GLboolean (APIENTRYP PFNGLISBUFFERPROC) (GLuint buffer); +typedef void (APIENTRYP PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const void *data, GLenum usage); +typedef void (APIENTRYP PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const void *data); +typedef void (APIENTRYP PFNGLGETBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, void *data); +typedef void *(APIENTRYP PFNGLMAPBUFFERPROC) (GLenum target, GLenum access); +typedef GLboolean (APIENTRYP PFNGLUNMAPBUFFERPROC) (GLenum target); +typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETBUFFERPOINTERVPROC) (GLenum target, GLenum pname, void **params); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glGenQueries (GLsizei n, GLuint *ids); +GLAPI void APIENTRY glDeleteQueries (GLsizei n, const GLuint *ids); +GLAPI GLboolean APIENTRY glIsQuery (GLuint id); +GLAPI void APIENTRY glBeginQuery (GLenum target, GLuint id); +GLAPI void APIENTRY glEndQuery (GLenum target); +GLAPI void APIENTRY glGetQueryiv (GLenum target, GLenum pname, GLint *params); +GLAPI void APIENTRY glGetQueryObjectiv (GLuint id, GLenum pname, GLint *params); +GLAPI void APIENTRY glGetQueryObjectuiv (GLuint id, GLenum pname, GLuint *params); +GLAPI void APIENTRY glBindBuffer (GLenum target, GLuint buffer); +GLAPI void APIENTRY glDeleteBuffers (GLsizei n, const GLuint *buffers); +GLAPI void APIENTRY glGenBuffers (GLsizei n, GLuint *buffers); +GLAPI GLboolean APIENTRY glIsBuffer (GLuint buffer); +GLAPI void APIENTRY glBufferData (GLenum target, GLsizeiptr size, const void *data, GLenum usage); +GLAPI void APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const void *data); +GLAPI void APIENTRY glGetBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, void *data); +GLAPI void *APIENTRY glMapBuffer (GLenum target, GLenum access); +GLAPI GLboolean APIENTRY glUnmapBuffer (GLenum target); +GLAPI void APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint *params); +GLAPI void APIENTRY glGetBufferPointerv (GLenum target, GLenum pname, void **params); +#endif +#endif /* GL_VERSION_1_5 */ + +#ifndef GL_VERSION_2_0 +#define GL_VERSION_2_0 1 +typedef char GLchar; +typedef khronos_int16_t GLshort; +typedef khronos_int8_t GLbyte; +typedef khronos_uint16_t GLushort; +#define GL_BLEND_EQUATION_RGB 0x8009 +#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622 +#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623 +#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624 +#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625 +#define GL_CURRENT_VERTEX_ATTRIB 0x8626 +#define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642 +#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645 +#define GL_STENCIL_BACK_FUNC 0x8800 +#define GL_STENCIL_BACK_FAIL 0x8801 +#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802 +#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803 +#define GL_MAX_DRAW_BUFFERS 0x8824 +#define GL_DRAW_BUFFER0 0x8825 +#define GL_DRAW_BUFFER1 0x8826 +#define GL_DRAW_BUFFER2 0x8827 +#define GL_DRAW_BUFFER3 0x8828 +#define GL_DRAW_BUFFER4 0x8829 +#define GL_DRAW_BUFFER5 0x882A +#define GL_DRAW_BUFFER6 0x882B +#define GL_DRAW_BUFFER7 0x882C +#define GL_DRAW_BUFFER8 0x882D +#define GL_DRAW_BUFFER9 0x882E +#define GL_DRAW_BUFFER10 0x882F +#define GL_DRAW_BUFFER11 0x8830 +#define GL_DRAW_BUFFER12 0x8831 +#define GL_DRAW_BUFFER13 0x8832 +#define GL_DRAW_BUFFER14 0x8833 +#define GL_DRAW_BUFFER15 0x8834 +#define GL_BLEND_EQUATION_ALPHA 0x883D +#define GL_MAX_VERTEX_ATTRIBS 0x8869 +#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A +#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872 +#define GL_FRAGMENT_SHADER 0x8B30 +#define GL_VERTEX_SHADER 0x8B31 +#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49 +#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A +#define GL_MAX_VARYING_FLOATS 0x8B4B +#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C +#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D +#define GL_SHADER_TYPE 0x8B4F +#define GL_FLOAT_VEC2 0x8B50 +#define GL_FLOAT_VEC3 0x8B51 +#define GL_FLOAT_VEC4 0x8B52 +#define GL_INT_VEC2 0x8B53 +#define GL_INT_VEC3 0x8B54 +#define GL_INT_VEC4 0x8B55 +#define GL_BOOL 0x8B56 +#define GL_BOOL_VEC2 0x8B57 +#define GL_BOOL_VEC3 0x8B58 +#define GL_BOOL_VEC4 0x8B59 +#define GL_FLOAT_MAT2 0x8B5A +#define GL_FLOAT_MAT3 0x8B5B +#define GL_FLOAT_MAT4 0x8B5C +#define GL_SAMPLER_1D 0x8B5D +#define GL_SAMPLER_2D 0x8B5E +#define GL_SAMPLER_3D 0x8B5F +#define GL_SAMPLER_CUBE 0x8B60 +#define GL_SAMPLER_1D_SHADOW 0x8B61 +#define GL_SAMPLER_2D_SHADOW 0x8B62 +#define GL_DELETE_STATUS 0x8B80 +#define GL_COMPILE_STATUS 0x8B81 +#define GL_LINK_STATUS 0x8B82 +#define GL_VALIDATE_STATUS 0x8B83 +#define GL_INFO_LOG_LENGTH 0x8B84 +#define GL_ATTACHED_SHADERS 0x8B85 +#define GL_ACTIVE_UNIFORMS 0x8B86 +#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 +#define GL_SHADER_SOURCE_LENGTH 0x8B88 +#define GL_ACTIVE_ATTRIBUTES 0x8B89 +#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A +#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B +#define GL_SHADING_LANGUAGE_VERSION 0x8B8C +#define GL_CURRENT_PROGRAM 0x8B8D +#define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0 +#define GL_LOWER_LEFT 0x8CA1 +#define GL_UPPER_LEFT 0x8CA2 +#define GL_STENCIL_BACK_REF 0x8CA3 +#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4 +#define GL_STENCIL_BACK_WRITEMASK 0x8CA5 +typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum modeRGB, GLenum modeAlpha); +typedef void (APIENTRYP PFNGLDRAWBUFFERSPROC) (GLsizei n, const GLenum *bufs); +typedef void (APIENTRYP PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); +typedef void (APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC) (GLenum face, GLenum func, GLint ref, GLuint mask); +typedef void (APIENTRYP PFNGLSTENCILMASKSEPARATEPROC) (GLenum face, GLuint mask); +typedef void (APIENTRYP PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader); +typedef void (APIENTRYP PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar *name); +typedef void (APIENTRYP PFNGLCOMPILESHADERPROC) (GLuint shader); +typedef GLuint (APIENTRYP PFNGLCREATEPROGRAMPROC) (void); +typedef GLuint (APIENTRYP PFNGLCREATESHADERPROC) (GLenum type); +typedef void (APIENTRYP PFNGLDELETEPROGRAMPROC) (GLuint program); +typedef void (APIENTRYP PFNGLDELETESHADERPROC) (GLuint shader); +typedef void (APIENTRYP PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader); +typedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint index); +typedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index); +typedef void (APIENTRYP PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); +typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); +typedef void (APIENTRYP PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders); +typedef GLint (APIENTRYP PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar *name); +typedef void (APIENTRYP PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog); +typedef void (APIENTRYP PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog); +typedef void (APIENTRYP PFNGLGETSHADERSOURCEPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source); +typedef GLint (APIENTRYP PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar *name); +typedef void (APIENTRYP PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat *params); +typedef void (APIENTRYP PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint *params); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVPROC) (GLuint index, GLenum pname, GLdouble *params); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVPROC) (GLuint index, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVPROC) (GLuint index, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint index, GLenum pname, void **pointer); +typedef GLboolean (APIENTRYP PFNGLISPROGRAMPROC) (GLuint program); +typedef GLboolean (APIENTRYP PFNGLISSHADERPROC) (GLuint shader); +typedef void (APIENTRYP PFNGLLINKPROGRAMPROC) (GLuint program); +typedef void (APIENTRYP PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length); +typedef void (APIENTRYP PFNGLUSEPROGRAMPROC) (GLuint program); +typedef void (APIENTRYP PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0); +typedef void (APIENTRYP PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1); +typedef void (APIENTRYP PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2); +typedef void (APIENTRYP PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); +typedef void (APIENTRYP PFNGLUNIFORM1IPROC) (GLint location, GLint v0); +typedef void (APIENTRYP PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1); +typedef void (APIENTRYP PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2); +typedef void (APIENTRYP PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3); +typedef void (APIENTRYP PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint *value); +typedef void (APIENTRYP PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint *value); +typedef void (APIENTRYP PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint *value); +typedef void (APIENTRYP PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPROC) (GLuint program); +typedef void (APIENTRYP PFNGLVERTEXATTRIB1DPROC) (GLuint index, GLdouble x); +typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVPROC) (GLuint index, const GLdouble *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x); +typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB1SPROC) (GLuint index, GLshort x); +typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVPROC) (GLuint index, const GLshort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB2DPROC) (GLuint index, GLdouble x, GLdouble y); +typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVPROC) (GLuint index, const GLdouble *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y); +typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB2SPROC) (GLuint index, GLshort x, GLshort y); +typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVPROC) (GLuint index, const GLshort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); +typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVPROC) (GLuint index, const GLdouble *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z); +typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB3SPROC) (GLuint index, GLshort x, GLshort y, GLshort z); +typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVPROC) (GLuint index, const GLshort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NBVPROC) (GLuint index, const GLbyte *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NIVPROC) (GLuint index, const GLint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NSVPROC) (GLuint index, const GLshort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBVPROC) (GLuint index, const GLubyte *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUIVPROC) (GLuint index, const GLuint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUSVPROC) (GLuint index, const GLushort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4BVPROC) (GLuint index, const GLbyte *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVPROC) (GLuint index, const GLdouble *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4IVPROC) (GLuint index, const GLint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4SPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVPROC) (GLuint index, const GLshort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVPROC) (GLuint index, const GLubyte *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4UIVPROC) (GLuint index, const GLuint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIB4USVPROC) (GLuint index, const GLushort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha); +GLAPI void APIENTRY glDrawBuffers (GLsizei n, const GLenum *bufs); +GLAPI void APIENTRY glStencilOpSeparate (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); +GLAPI void APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask); +GLAPI void APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask); +GLAPI void APIENTRY glAttachShader (GLuint program, GLuint shader); +GLAPI void APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar *name); +GLAPI void APIENTRY glCompileShader (GLuint shader); +GLAPI GLuint APIENTRY glCreateProgram (void); +GLAPI GLuint APIENTRY glCreateShader (GLenum type); +GLAPI void APIENTRY glDeleteProgram (GLuint program); +GLAPI void APIENTRY glDeleteShader (GLuint shader); +GLAPI void APIENTRY glDetachShader (GLuint program, GLuint shader); +GLAPI void APIENTRY glDisableVertexAttribArray (GLuint index); +GLAPI void APIENTRY glEnableVertexAttribArray (GLuint index); +GLAPI void APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); +GLAPI void APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); +GLAPI void APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders); +GLAPI GLint APIENTRY glGetAttribLocation (GLuint program, const GLchar *name); +GLAPI void APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint *params); +GLAPI void APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog); +GLAPI void APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint *params); +GLAPI void APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog); +GLAPI void APIENTRY glGetShaderSource (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source); +GLAPI GLint APIENTRY glGetUniformLocation (GLuint program, const GLchar *name); +GLAPI void APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat *params); +GLAPI void APIENTRY glGetUniformiv (GLuint program, GLint location, GLint *params); +GLAPI void APIENTRY glGetVertexAttribdv (GLuint index, GLenum pname, GLdouble *params); +GLAPI void APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat *params); +GLAPI void APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint *params); +GLAPI void APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, void **pointer); +GLAPI GLboolean APIENTRY glIsProgram (GLuint program); +GLAPI GLboolean APIENTRY glIsShader (GLuint shader); +GLAPI void APIENTRY glLinkProgram (GLuint program); +GLAPI void APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length); +GLAPI void APIENTRY glUseProgram (GLuint program); +GLAPI void APIENTRY glUniform1f (GLint location, GLfloat v0); +GLAPI void APIENTRY glUniform2f (GLint location, GLfloat v0, GLfloat v1); +GLAPI void APIENTRY glUniform3f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2); +GLAPI void APIENTRY glUniform4f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); +GLAPI void APIENTRY glUniform1i (GLint location, GLint v0); +GLAPI void APIENTRY glUniform2i (GLint location, GLint v0, GLint v1); +GLAPI void APIENTRY glUniform3i (GLint location, GLint v0, GLint v1, GLint v2); +GLAPI void APIENTRY glUniform4i (GLint location, GLint v0, GLint v1, GLint v2, GLint v3); +GLAPI void APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat *value); +GLAPI void APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat *value); +GLAPI void APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat *value); +GLAPI void APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat *value); +GLAPI void APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint *value); +GLAPI void APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint *value); +GLAPI void APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint *value); +GLAPI void APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint *value); +GLAPI void APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY glValidateProgram (GLuint program); +GLAPI void APIENTRY glVertexAttrib1d (GLuint index, GLdouble x); +GLAPI void APIENTRY glVertexAttrib1dv (GLuint index, const GLdouble *v); +GLAPI void APIENTRY glVertexAttrib1f (GLuint index, GLfloat x); +GLAPI void APIENTRY glVertexAttrib1fv (GLuint index, const GLfloat *v); +GLAPI void APIENTRY glVertexAttrib1s (GLuint index, GLshort x); +GLAPI void APIENTRY glVertexAttrib1sv (GLuint index, const GLshort *v); +GLAPI void APIENTRY glVertexAttrib2d (GLuint index, GLdouble x, GLdouble y); +GLAPI void APIENTRY glVertexAttrib2dv (GLuint index, const GLdouble *v); +GLAPI void APIENTRY glVertexAttrib2f (GLuint index, GLfloat x, GLfloat y); +GLAPI void APIENTRY glVertexAttrib2fv (GLuint index, const GLfloat *v); +GLAPI void APIENTRY glVertexAttrib2s (GLuint index, GLshort x, GLshort y); +GLAPI void APIENTRY glVertexAttrib2sv (GLuint index, const GLshort *v); +GLAPI void APIENTRY glVertexAttrib3d (GLuint index, GLdouble x, GLdouble y, GLdouble z); +GLAPI void APIENTRY glVertexAttrib3dv (GLuint index, const GLdouble *v); +GLAPI void APIENTRY glVertexAttrib3f (GLuint index, GLfloat x, GLfloat y, GLfloat z); +GLAPI void APIENTRY glVertexAttrib3fv (GLuint index, const GLfloat *v); +GLAPI void APIENTRY glVertexAttrib3s (GLuint index, GLshort x, GLshort y, GLshort z); +GLAPI void APIENTRY glVertexAttrib3sv (GLuint index, const GLshort *v); +GLAPI void APIENTRY glVertexAttrib4Nbv (GLuint index, const GLbyte *v); +GLAPI void APIENTRY glVertexAttrib4Niv (GLuint index, const GLint *v); +GLAPI void APIENTRY glVertexAttrib4Nsv (GLuint index, const GLshort *v); +GLAPI void APIENTRY glVertexAttrib4Nub (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); +GLAPI void APIENTRY glVertexAttrib4Nubv (GLuint index, const GLubyte *v); +GLAPI void APIENTRY glVertexAttrib4Nuiv (GLuint index, const GLuint *v); +GLAPI void APIENTRY glVertexAttrib4Nusv (GLuint index, const GLushort *v); +GLAPI void APIENTRY glVertexAttrib4bv (GLuint index, const GLbyte *v); +GLAPI void APIENTRY glVertexAttrib4d (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +GLAPI void APIENTRY glVertexAttrib4dv (GLuint index, const GLdouble *v); +GLAPI void APIENTRY glVertexAttrib4f (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +GLAPI void APIENTRY glVertexAttrib4fv (GLuint index, const GLfloat *v); +GLAPI void APIENTRY glVertexAttrib4iv (GLuint index, const GLint *v); +GLAPI void APIENTRY glVertexAttrib4s (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); +GLAPI void APIENTRY glVertexAttrib4sv (GLuint index, const GLshort *v); +GLAPI void APIENTRY glVertexAttrib4ubv (GLuint index, const GLubyte *v); +GLAPI void APIENTRY glVertexAttrib4uiv (GLuint index, const GLuint *v); +GLAPI void APIENTRY glVertexAttrib4usv (GLuint index, const GLushort *v); +GLAPI void APIENTRY glVertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer); +#endif +#endif /* GL_VERSION_2_0 */ + +#ifndef GL_VERSION_2_1 +#define GL_VERSION_2_1 1 +#define GL_PIXEL_PACK_BUFFER 0x88EB +#define GL_PIXEL_UNPACK_BUFFER 0x88EC +#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED +#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF +#define GL_FLOAT_MAT2x3 0x8B65 +#define GL_FLOAT_MAT2x4 0x8B66 +#define GL_FLOAT_MAT3x2 0x8B67 +#define GL_FLOAT_MAT3x4 0x8B68 +#define GL_FLOAT_MAT4x2 0x8B69 +#define GL_FLOAT_MAT4x3 0x8B6A +#define GL_SRGB 0x8C40 +#define GL_SRGB8 0x8C41 +#define GL_SRGB_ALPHA 0x8C42 +#define GL_SRGB8_ALPHA8 0x8C43 +#define GL_COMPRESSED_SRGB 0x8C48 +#define GL_COMPRESSED_SRGB_ALPHA 0x8C49 +typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glUniformMatrix2x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY glUniformMatrix3x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY glUniformMatrix2x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY glUniformMatrix4x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY glUniformMatrix3x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY glUniformMatrix4x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +#endif +#endif /* GL_VERSION_2_1 */ + +#ifndef GL_VERSION_3_0 +#define GL_VERSION_3_0 1 +typedef khronos_uint16_t GLhalf; +#define GL_COMPARE_REF_TO_TEXTURE 0x884E +#define GL_CLIP_DISTANCE0 0x3000 +#define GL_CLIP_DISTANCE1 0x3001 +#define GL_CLIP_DISTANCE2 0x3002 +#define GL_CLIP_DISTANCE3 0x3003 +#define GL_CLIP_DISTANCE4 0x3004 +#define GL_CLIP_DISTANCE5 0x3005 +#define GL_CLIP_DISTANCE6 0x3006 +#define GL_CLIP_DISTANCE7 0x3007 +#define GL_MAX_CLIP_DISTANCES 0x0D32 +#define GL_MAJOR_VERSION 0x821B +#define GL_MINOR_VERSION 0x821C +#define GL_NUM_EXTENSIONS 0x821D +#define GL_CONTEXT_FLAGS 0x821E +#define GL_COMPRESSED_RED 0x8225 +#define GL_COMPRESSED_RG 0x8226 +#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x00000001 +#define GL_RGBA32F 0x8814 +#define GL_RGB32F 0x8815 +#define GL_RGBA16F 0x881A +#define GL_RGB16F 0x881B +#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD +#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF +#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904 +#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905 +#define GL_CLAMP_READ_COLOR 0x891C +#define GL_FIXED_ONLY 0x891D +#define GL_MAX_VARYING_COMPONENTS 0x8B4B +#define GL_TEXTURE_1D_ARRAY 0x8C18 +#define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19 +#define GL_TEXTURE_2D_ARRAY 0x8C1A +#define GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B +#define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C +#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D +#define GL_R11F_G11F_B10F 0x8C3A +#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B +#define GL_RGB9_E5 0x8C3D +#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E +#define GL_TEXTURE_SHARED_SIZE 0x8C3F +#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76 +#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80 +#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83 +#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84 +#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85 +#define GL_PRIMITIVES_GENERATED 0x8C87 +#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88 +#define GL_RASTERIZER_DISCARD 0x8C89 +#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B +#define GL_INTERLEAVED_ATTRIBS 0x8C8C +#define GL_SEPARATE_ATTRIBS 0x8C8D +#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E +#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F +#define GL_RGBA32UI 0x8D70 +#define GL_RGB32UI 0x8D71 +#define GL_RGBA16UI 0x8D76 +#define GL_RGB16UI 0x8D77 +#define GL_RGBA8UI 0x8D7C +#define GL_RGB8UI 0x8D7D +#define GL_RGBA32I 0x8D82 +#define GL_RGB32I 0x8D83 +#define GL_RGBA16I 0x8D88 +#define GL_RGB16I 0x8D89 +#define GL_RGBA8I 0x8D8E +#define GL_RGB8I 0x8D8F +#define GL_RED_INTEGER 0x8D94 +#define GL_GREEN_INTEGER 0x8D95 +#define GL_BLUE_INTEGER 0x8D96 +#define GL_RGB_INTEGER 0x8D98 +#define GL_RGBA_INTEGER 0x8D99 +#define GL_BGR_INTEGER 0x8D9A +#define GL_BGRA_INTEGER 0x8D9B +#define GL_SAMPLER_1D_ARRAY 0x8DC0 +#define GL_SAMPLER_2D_ARRAY 0x8DC1 +#define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3 +#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4 +#define GL_SAMPLER_CUBE_SHADOW 0x8DC5 +#define GL_UNSIGNED_INT_VEC2 0x8DC6 +#define GL_UNSIGNED_INT_VEC3 0x8DC7 +#define GL_UNSIGNED_INT_VEC4 0x8DC8 +#define GL_INT_SAMPLER_1D 0x8DC9 +#define GL_INT_SAMPLER_2D 0x8DCA +#define GL_INT_SAMPLER_3D 0x8DCB +#define GL_INT_SAMPLER_CUBE 0x8DCC +#define GL_INT_SAMPLER_1D_ARRAY 0x8DCE +#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF +#define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1 +#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2 +#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3 +#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4 +#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6 +#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7 +#define GL_QUERY_WAIT 0x8E13 +#define GL_QUERY_NO_WAIT 0x8E14 +#define GL_QUERY_BY_REGION_WAIT 0x8E15 +#define GL_QUERY_BY_REGION_NO_WAIT 0x8E16 +#define GL_BUFFER_ACCESS_FLAGS 0x911F +#define GL_BUFFER_MAP_LENGTH 0x9120 +#define GL_BUFFER_MAP_OFFSET 0x9121 +#define GL_DEPTH_COMPONENT32F 0x8CAC +#define GL_DEPTH32F_STENCIL8 0x8CAD +#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD +#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506 +#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210 +#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211 +#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212 +#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213 +#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214 +#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215 +#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216 +#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217 +#define GL_FRAMEBUFFER_DEFAULT 0x8218 +#define GL_FRAMEBUFFER_UNDEFINED 0x8219 +#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A +#define GL_MAX_RENDERBUFFER_SIZE 0x84E8 +#define GL_DEPTH_STENCIL 0x84F9 +#define GL_UNSIGNED_INT_24_8 0x84FA +#define GL_DEPTH24_STENCIL8 0x88F0 +#define GL_TEXTURE_STENCIL_SIZE 0x88F1 +#define GL_TEXTURE_RED_TYPE 0x8C10 +#define GL_TEXTURE_GREEN_TYPE 0x8C11 +#define GL_TEXTURE_BLUE_TYPE 0x8C12 +#define GL_TEXTURE_ALPHA_TYPE 0x8C13 +#define GL_TEXTURE_DEPTH_TYPE 0x8C16 +#define GL_UNSIGNED_NORMALIZED 0x8C17 +#define GL_FRAMEBUFFER_BINDING 0x8CA6 +#define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6 +#define GL_RENDERBUFFER_BINDING 0x8CA7 +#define GL_READ_FRAMEBUFFER 0x8CA8 +#define GL_DRAW_FRAMEBUFFER 0x8CA9 +#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA +#define GL_RENDERBUFFER_SAMPLES 0x8CAB +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4 +#define GL_FRAMEBUFFER_COMPLETE 0x8CD5 +#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6 +#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7 +#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB +#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC +#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD +#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF +#define GL_COLOR_ATTACHMENT0 0x8CE0 +#define GL_COLOR_ATTACHMENT1 0x8CE1 +#define GL_COLOR_ATTACHMENT2 0x8CE2 +#define GL_COLOR_ATTACHMENT3 0x8CE3 +#define GL_COLOR_ATTACHMENT4 0x8CE4 +#define GL_COLOR_ATTACHMENT5 0x8CE5 +#define GL_COLOR_ATTACHMENT6 0x8CE6 +#define GL_COLOR_ATTACHMENT7 0x8CE7 +#define GL_COLOR_ATTACHMENT8 0x8CE8 +#define GL_COLOR_ATTACHMENT9 0x8CE9 +#define GL_COLOR_ATTACHMENT10 0x8CEA +#define GL_COLOR_ATTACHMENT11 0x8CEB +#define GL_COLOR_ATTACHMENT12 0x8CEC +#define GL_COLOR_ATTACHMENT13 0x8CED +#define GL_COLOR_ATTACHMENT14 0x8CEE +#define GL_COLOR_ATTACHMENT15 0x8CEF +#define GL_COLOR_ATTACHMENT16 0x8CF0 +#define GL_COLOR_ATTACHMENT17 0x8CF1 +#define GL_COLOR_ATTACHMENT18 0x8CF2 +#define GL_COLOR_ATTACHMENT19 0x8CF3 +#define GL_COLOR_ATTACHMENT20 0x8CF4 +#define GL_COLOR_ATTACHMENT21 0x8CF5 +#define GL_COLOR_ATTACHMENT22 0x8CF6 +#define GL_COLOR_ATTACHMENT23 0x8CF7 +#define GL_COLOR_ATTACHMENT24 0x8CF8 +#define GL_COLOR_ATTACHMENT25 0x8CF9 +#define GL_COLOR_ATTACHMENT26 0x8CFA +#define GL_COLOR_ATTACHMENT27 0x8CFB +#define GL_COLOR_ATTACHMENT28 0x8CFC +#define GL_COLOR_ATTACHMENT29 0x8CFD +#define GL_COLOR_ATTACHMENT30 0x8CFE +#define GL_COLOR_ATTACHMENT31 0x8CFF +#define GL_DEPTH_ATTACHMENT 0x8D00 +#define GL_STENCIL_ATTACHMENT 0x8D20 +#define GL_FRAMEBUFFER 0x8D40 +#define GL_RENDERBUFFER 0x8D41 +#define GL_RENDERBUFFER_WIDTH 0x8D42 +#define GL_RENDERBUFFER_HEIGHT 0x8D43 +#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44 +#define GL_STENCIL_INDEX1 0x8D46 +#define GL_STENCIL_INDEX4 0x8D47 +#define GL_STENCIL_INDEX8 0x8D48 +#define GL_STENCIL_INDEX16 0x8D49 +#define GL_RENDERBUFFER_RED_SIZE 0x8D50 +#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51 +#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52 +#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53 +#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54 +#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55 +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56 +#define GL_MAX_SAMPLES 0x8D57 +#define GL_FRAMEBUFFER_SRGB 0x8DB9 +#define GL_HALF_FLOAT 0x140B +#define GL_MAP_READ_BIT 0x0001 +#define GL_MAP_WRITE_BIT 0x0002 +#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004 +#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008 +#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010 +#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020 +#define GL_COMPRESSED_RED_RGTC1 0x8DBB +#define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC +#define GL_COMPRESSED_RG_RGTC2 0x8DBD +#define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE +#define GL_RG 0x8227 +#define GL_RG_INTEGER 0x8228 +#define GL_R8 0x8229 +#define GL_R16 0x822A +#define GL_RG8 0x822B +#define GL_RG16 0x822C +#define GL_R16F 0x822D +#define GL_R32F 0x822E +#define GL_RG16F 0x822F +#define GL_RG32F 0x8230 +#define GL_R8I 0x8231 +#define GL_R8UI 0x8232 +#define GL_R16I 0x8233 +#define GL_R16UI 0x8234 +#define GL_R32I 0x8235 +#define GL_R32UI 0x8236 +#define GL_RG8I 0x8237 +#define GL_RG8UI 0x8238 +#define GL_RG16I 0x8239 +#define GL_RG16UI 0x823A +#define GL_RG32I 0x823B +#define GL_RG32UI 0x823C +#define GL_VERTEX_ARRAY_BINDING 0x85B5 +typedef void (APIENTRYP PFNGLCOLORMASKIPROC) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a); +typedef void (APIENTRYP PFNGLGETBOOLEANI_VPROC) (GLenum target, GLuint index, GLboolean *data); +typedef void (APIENTRYP PFNGLGETINTEGERI_VPROC) (GLenum target, GLuint index, GLint *data); +typedef void (APIENTRYP PFNGLENABLEIPROC) (GLenum target, GLuint index); +typedef void (APIENTRYP PFNGLDISABLEIPROC) (GLenum target, GLuint index); +typedef GLboolean (APIENTRYP PFNGLISENABLEDIPROC) (GLenum target, GLuint index); +typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKPROC) (GLenum primitiveMode); +typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKPROC) (void); +typedef void (APIENTRYP PFNGLBINDBUFFERRANGEPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); +typedef void (APIENTRYP PFNGLBINDBUFFERBASEPROC) (GLenum target, GLuint index, GLuint buffer); +typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSPROC) (GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode); +typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name); +typedef void (APIENTRYP PFNGLCLAMPCOLORPROC) (GLenum target, GLenum clamp); +typedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERPROC) (GLuint id, GLenum mode); +typedef void (APIENTRYP PFNGLENDCONDITIONALRENDERPROC) (void); +typedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIIVPROC) (GLuint index, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIUIVPROC) (GLuint index, GLenum pname, GLuint *params); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IPROC) (GLuint index, GLint x); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IPROC) (GLuint index, GLint x, GLint y); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IPROC) (GLuint index, GLint x, GLint y, GLint z); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIPROC) (GLuint index, GLuint x); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIPROC) (GLuint index, GLuint x, GLuint y); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIPROC) (GLuint index, GLuint x, GLuint y, GLuint z); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IVPROC) (GLuint index, const GLint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IVPROC) (GLuint index, const GLint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IVPROC) (GLuint index, const GLint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IVPROC) (GLuint index, const GLint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIVPROC) (GLuint index, const GLuint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIVPROC) (GLuint index, const GLuint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIVPROC) (GLuint index, const GLuint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIVPROC) (GLuint index, const GLuint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4BVPROC) (GLuint index, const GLbyte *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4SVPROC) (GLuint index, const GLshort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UBVPROC) (GLuint index, const GLubyte *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4USVPROC) (GLuint index, const GLushort *v); +typedef void (APIENTRYP PFNGLGETUNIFORMUIVPROC) (GLuint program, GLint location, GLuint *params); +typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONPROC) (GLuint program, GLuint color, const GLchar *name); +typedef GLint (APIENTRYP PFNGLGETFRAGDATALOCATIONPROC) (GLuint program, const GLchar *name); +typedef void (APIENTRYP PFNGLUNIFORM1UIPROC) (GLint location, GLuint v0); +typedef void (APIENTRYP PFNGLUNIFORM2UIPROC) (GLint location, GLuint v0, GLuint v1); +typedef void (APIENTRYP PFNGLUNIFORM3UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2); +typedef void (APIENTRYP PFNGLUNIFORM4UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); +typedef void (APIENTRYP PFNGLUNIFORM1UIVPROC) (GLint location, GLsizei count, const GLuint *value); +typedef void (APIENTRYP PFNGLUNIFORM2UIVPROC) (GLint location, GLsizei count, const GLuint *value); +typedef void (APIENTRYP PFNGLUNIFORM3UIVPROC) (GLint location, GLsizei count, const GLuint *value); +typedef void (APIENTRYP PFNGLUNIFORM4UIVPROC) (GLint location, GLsizei count, const GLuint *value); +typedef void (APIENTRYP PFNGLTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, const GLuint *params); +typedef void (APIENTRYP PFNGLGETTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, GLuint *params); +typedef void (APIENTRYP PFNGLCLEARBUFFERIVPROC) (GLenum buffer, GLint drawbuffer, const GLint *value); +typedef void (APIENTRYP PFNGLCLEARBUFFERUIVPROC) (GLenum buffer, GLint drawbuffer, const GLuint *value); +typedef void (APIENTRYP PFNGLCLEARBUFFERFVPROC) (GLenum buffer, GLint drawbuffer, const GLfloat *value); +typedef void (APIENTRYP PFNGLCLEARBUFFERFIPROC) (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); +typedef const GLubyte *(APIENTRYP PFNGLGETSTRINGIPROC) (GLenum name, GLuint index); +typedef GLboolean (APIENTRYP PFNGLISRENDERBUFFERPROC) (GLuint renderbuffer); +typedef void (APIENTRYP PFNGLBINDRENDERBUFFERPROC) (GLenum target, GLuint renderbuffer); +typedef void (APIENTRYP PFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint *renderbuffers); +typedef void (APIENTRYP PFNGLGENRENDERBUFFERSPROC) (GLsizei n, GLuint *renderbuffers); +typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); +typedef GLboolean (APIENTRYP PFNGLISFRAMEBUFFERPROC) (GLuint framebuffer); +typedef void (APIENTRYP PFNGLBINDFRAMEBUFFERPROC) (GLenum target, GLuint framebuffer); +typedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint *framebuffers); +typedef void (APIENTRYP PFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint *framebuffers); +typedef GLenum (APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target); +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); +typedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +typedef void (APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGENERATEMIPMAPPROC) (GLenum target); +typedef void (APIENTRYP PFNGLBLITFRAMEBUFFERPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); +typedef void *(APIENTRYP PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); +typedef void (APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length); +typedef void (APIENTRYP PFNGLBINDVERTEXARRAYPROC) (GLuint array); +typedef void (APIENTRYP PFNGLDELETEVERTEXARRAYSPROC) (GLsizei n, const GLuint *arrays); +typedef void (APIENTRYP PFNGLGENVERTEXARRAYSPROC) (GLsizei n, GLuint *arrays); +typedef GLboolean (APIENTRYP PFNGLISVERTEXARRAYPROC) (GLuint array); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glColorMaski (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a); +GLAPI void APIENTRY glGetBooleani_v (GLenum target, GLuint index, GLboolean *data); +GLAPI void APIENTRY glGetIntegeri_v (GLenum target, GLuint index, GLint *data); +GLAPI void APIENTRY glEnablei (GLenum target, GLuint index); +GLAPI void APIENTRY glDisablei (GLenum target, GLuint index); +GLAPI GLboolean APIENTRY glIsEnabledi (GLenum target, GLuint index); +GLAPI void APIENTRY glBeginTransformFeedback (GLenum primitiveMode); +GLAPI void APIENTRY glEndTransformFeedback (void); +GLAPI void APIENTRY glBindBufferRange (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); +GLAPI void APIENTRY glBindBufferBase (GLenum target, GLuint index, GLuint buffer); +GLAPI void APIENTRY glTransformFeedbackVaryings (GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode); +GLAPI void APIENTRY glGetTransformFeedbackVarying (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name); +GLAPI void APIENTRY glClampColor (GLenum target, GLenum clamp); +GLAPI void APIENTRY glBeginConditionalRender (GLuint id, GLenum mode); +GLAPI void APIENTRY glEndConditionalRender (void); +GLAPI void APIENTRY glVertexAttribIPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer); +GLAPI void APIENTRY glGetVertexAttribIiv (GLuint index, GLenum pname, GLint *params); +GLAPI void APIENTRY glGetVertexAttribIuiv (GLuint index, GLenum pname, GLuint *params); +GLAPI void APIENTRY glVertexAttribI1i (GLuint index, GLint x); +GLAPI void APIENTRY glVertexAttribI2i (GLuint index, GLint x, GLint y); +GLAPI void APIENTRY glVertexAttribI3i (GLuint index, GLint x, GLint y, GLint z); +GLAPI void APIENTRY glVertexAttribI4i (GLuint index, GLint x, GLint y, GLint z, GLint w); +GLAPI void APIENTRY glVertexAttribI1ui (GLuint index, GLuint x); +GLAPI void APIENTRY glVertexAttribI2ui (GLuint index, GLuint x, GLuint y); +GLAPI void APIENTRY glVertexAttribI3ui (GLuint index, GLuint x, GLuint y, GLuint z); +GLAPI void APIENTRY glVertexAttribI4ui (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); +GLAPI void APIENTRY glVertexAttribI1iv (GLuint index, const GLint *v); +GLAPI void APIENTRY glVertexAttribI2iv (GLuint index, const GLint *v); +GLAPI void APIENTRY glVertexAttribI3iv (GLuint index, const GLint *v); +GLAPI void APIENTRY glVertexAttribI4iv (GLuint index, const GLint *v); +GLAPI void APIENTRY glVertexAttribI1uiv (GLuint index, const GLuint *v); +GLAPI void APIENTRY glVertexAttribI2uiv (GLuint index, const GLuint *v); +GLAPI void APIENTRY glVertexAttribI3uiv (GLuint index, const GLuint *v); +GLAPI void APIENTRY glVertexAttribI4uiv (GLuint index, const GLuint *v); +GLAPI void APIENTRY glVertexAttribI4bv (GLuint index, const GLbyte *v); +GLAPI void APIENTRY glVertexAttribI4sv (GLuint index, const GLshort *v); +GLAPI void APIENTRY glVertexAttribI4ubv (GLuint index, const GLubyte *v); +GLAPI void APIENTRY glVertexAttribI4usv (GLuint index, const GLushort *v); +GLAPI void APIENTRY glGetUniformuiv (GLuint program, GLint location, GLuint *params); +GLAPI void APIENTRY glBindFragDataLocation (GLuint program, GLuint color, const GLchar *name); +GLAPI GLint APIENTRY glGetFragDataLocation (GLuint program, const GLchar *name); +GLAPI void APIENTRY glUniform1ui (GLint location, GLuint v0); +GLAPI void APIENTRY glUniform2ui (GLint location, GLuint v0, GLuint v1); +GLAPI void APIENTRY glUniform3ui (GLint location, GLuint v0, GLuint v1, GLuint v2); +GLAPI void APIENTRY glUniform4ui (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); +GLAPI void APIENTRY glUniform1uiv (GLint location, GLsizei count, const GLuint *value); +GLAPI void APIENTRY glUniform2uiv (GLint location, GLsizei count, const GLuint *value); +GLAPI void APIENTRY glUniform3uiv (GLint location, GLsizei count, const GLuint *value); +GLAPI void APIENTRY glUniform4uiv (GLint location, GLsizei count, const GLuint *value); +GLAPI void APIENTRY glTexParameterIiv (GLenum target, GLenum pname, const GLint *params); +GLAPI void APIENTRY glTexParameterIuiv (GLenum target, GLenum pname, const GLuint *params); +GLAPI void APIENTRY glGetTexParameterIiv (GLenum target, GLenum pname, GLint *params); +GLAPI void APIENTRY glGetTexParameterIuiv (GLenum target, GLenum pname, GLuint *params); +GLAPI void APIENTRY glClearBufferiv (GLenum buffer, GLint drawbuffer, const GLint *value); +GLAPI void APIENTRY glClearBufferuiv (GLenum buffer, GLint drawbuffer, const GLuint *value); +GLAPI void APIENTRY glClearBufferfv (GLenum buffer, GLint drawbuffer, const GLfloat *value); +GLAPI void APIENTRY glClearBufferfi (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); +GLAPI const GLubyte *APIENTRY glGetStringi (GLenum name, GLuint index); +GLAPI GLboolean APIENTRY glIsRenderbuffer (GLuint renderbuffer); +GLAPI void APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer); +GLAPI void APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint *renderbuffers); +GLAPI void APIENTRY glGenRenderbuffers (GLsizei n, GLuint *renderbuffers); +GLAPI void APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); +GLAPI void APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint *params); +GLAPI GLboolean APIENTRY glIsFramebuffer (GLuint framebuffer); +GLAPI void APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer); +GLAPI void APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint *framebuffers); +GLAPI void APIENTRY glGenFramebuffers (GLsizei n, GLuint *framebuffers); +GLAPI GLenum APIENTRY glCheckFramebufferStatus (GLenum target); +GLAPI void APIENTRY glFramebufferTexture1D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +GLAPI void APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +GLAPI void APIENTRY glFramebufferTexture3D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); +GLAPI void APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +GLAPI void APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint *params); +GLAPI void APIENTRY glGenerateMipmap (GLenum target); +GLAPI void APIENTRY glBlitFramebuffer (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +GLAPI void APIENTRY glRenderbufferStorageMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +GLAPI void APIENTRY glFramebufferTextureLayer (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); +GLAPI void *APIENTRY glMapBufferRange (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); +GLAPI void APIENTRY glFlushMappedBufferRange (GLenum target, GLintptr offset, GLsizeiptr length); +GLAPI void APIENTRY glBindVertexArray (GLuint array); +GLAPI void APIENTRY glDeleteVertexArrays (GLsizei n, const GLuint *arrays); +GLAPI void APIENTRY glGenVertexArrays (GLsizei n, GLuint *arrays); +GLAPI GLboolean APIENTRY glIsVertexArray (GLuint array); +#endif +#endif /* GL_VERSION_3_0 */ + +#ifndef GL_VERSION_3_1 +#define GL_VERSION_3_1 1 +#define GL_SAMPLER_2D_RECT 0x8B63 +#define GL_SAMPLER_2D_RECT_SHADOW 0x8B64 +#define GL_SAMPLER_BUFFER 0x8DC2 +#define GL_INT_SAMPLER_2D_RECT 0x8DCD +#define GL_INT_SAMPLER_BUFFER 0x8DD0 +#define GL_UNSIGNED_INT_SAMPLER_2D_RECT 0x8DD5 +#define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8 +#define GL_TEXTURE_BUFFER 0x8C2A +#define GL_MAX_TEXTURE_BUFFER_SIZE 0x8C2B +#define GL_TEXTURE_BINDING_BUFFER 0x8C2C +#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D +#define GL_TEXTURE_RECTANGLE 0x84F5 +#define GL_TEXTURE_BINDING_RECTANGLE 0x84F6 +#define GL_PROXY_TEXTURE_RECTANGLE 0x84F7 +#define GL_MAX_RECTANGLE_TEXTURE_SIZE 0x84F8 +#define GL_R8_SNORM 0x8F94 +#define GL_RG8_SNORM 0x8F95 +#define GL_RGB8_SNORM 0x8F96 +#define GL_RGBA8_SNORM 0x8F97 +#define GL_R16_SNORM 0x8F98 +#define GL_RG16_SNORM 0x8F99 +#define GL_RGB16_SNORM 0x8F9A +#define GL_RGBA16_SNORM 0x8F9B +#define GL_SIGNED_NORMALIZED 0x8F9C +#define GL_PRIMITIVE_RESTART 0x8F9D +#define GL_PRIMITIVE_RESTART_INDEX 0x8F9E +#define GL_COPY_READ_BUFFER 0x8F36 +#define GL_COPY_WRITE_BUFFER 0x8F37 +#define GL_UNIFORM_BUFFER 0x8A11 +#define GL_UNIFORM_BUFFER_BINDING 0x8A28 +#define GL_UNIFORM_BUFFER_START 0x8A29 +#define GL_UNIFORM_BUFFER_SIZE 0x8A2A +#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B +#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS 0x8A2C +#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D +#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E +#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F +#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30 +#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31 +#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32 +#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33 +#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34 +#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35 +#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36 +#define GL_UNIFORM_TYPE 0x8A37 +#define GL_UNIFORM_SIZE 0x8A38 +#define GL_UNIFORM_NAME_LENGTH 0x8A39 +#define GL_UNIFORM_BLOCK_INDEX 0x8A3A +#define GL_UNIFORM_OFFSET 0x8A3B +#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C +#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D +#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E +#define GL_UNIFORM_BLOCK_BINDING 0x8A3F +#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40 +#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41 +#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42 +#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46 +#define GL_INVALID_INDEX 0xFFFFFFFFu +typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDPROC) (GLenum mode, GLint first, GLsizei count, GLsizei instancecount); +typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount); +typedef void (APIENTRYP PFNGLTEXBUFFERPROC) (GLenum target, GLenum internalformat, GLuint buffer); +typedef void (APIENTRYP PFNGLPRIMITIVERESTARTINDEXPROC) (GLuint index); +typedef void (APIENTRYP PFNGLCOPYBUFFERSUBDATAPROC) (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); +typedef void (APIENTRYP PFNGLGETUNIFORMINDICESPROC) (GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices); +typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMSIVPROC) (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMNAMEPROC) (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName); +typedef GLuint (APIENTRYP PFNGLGETUNIFORMBLOCKINDEXPROC) (GLuint program, const GLchar *uniformBlockName); +typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVPROC) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName); +typedef void (APIENTRYP PFNGLUNIFORMBLOCKBINDINGPROC) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glDrawArraysInstanced (GLenum mode, GLint first, GLsizei count, GLsizei instancecount); +GLAPI void APIENTRY glDrawElementsInstanced (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount); +GLAPI void APIENTRY glTexBuffer (GLenum target, GLenum internalformat, GLuint buffer); +GLAPI void APIENTRY glPrimitiveRestartIndex (GLuint index); +GLAPI void APIENTRY glCopyBufferSubData (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); +GLAPI void APIENTRY glGetUniformIndices (GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices); +GLAPI void APIENTRY glGetActiveUniformsiv (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params); +GLAPI void APIENTRY glGetActiveUniformName (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName); +GLAPI GLuint APIENTRY glGetUniformBlockIndex (GLuint program, const GLchar *uniformBlockName); +GLAPI void APIENTRY glGetActiveUniformBlockiv (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params); +GLAPI void APIENTRY glGetActiveUniformBlockName (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName); +GLAPI void APIENTRY glUniformBlockBinding (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); +#endif +#endif /* GL_VERSION_3_1 */ + +#ifndef GL_VERSION_3_2 +#define GL_VERSION_3_2 1 +typedef struct __GLsync *GLsync; +typedef khronos_uint64_t GLuint64; +typedef khronos_int64_t GLint64; +#define GL_CONTEXT_CORE_PROFILE_BIT 0x00000001 +#define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x00000002 +#define GL_LINES_ADJACENCY 0x000A +#define GL_LINE_STRIP_ADJACENCY 0x000B +#define GL_TRIANGLES_ADJACENCY 0x000C +#define GL_TRIANGLE_STRIP_ADJACENCY 0x000D +#define GL_PROGRAM_POINT_SIZE 0x8642 +#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 0x8C29 +#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED 0x8DA7 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8 +#define GL_GEOMETRY_SHADER 0x8DD9 +#define GL_GEOMETRY_VERTICES_OUT 0x8916 +#define GL_GEOMETRY_INPUT_TYPE 0x8917 +#define GL_GEOMETRY_OUTPUT_TYPE 0x8918 +#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS 0x8DDF +#define GL_MAX_GEOMETRY_OUTPUT_VERTICES 0x8DE0 +#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1 +#define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122 +#define GL_MAX_GEOMETRY_INPUT_COMPONENTS 0x9123 +#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124 +#define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125 +#define GL_CONTEXT_PROFILE_MASK 0x9126 +#define GL_DEPTH_CLAMP 0x864F +#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8E4C +#define GL_FIRST_VERTEX_CONVENTION 0x8E4D +#define GL_LAST_VERTEX_CONVENTION 0x8E4E +#define GL_PROVOKING_VERTEX 0x8E4F +#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F +#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111 +#define GL_OBJECT_TYPE 0x9112 +#define GL_SYNC_CONDITION 0x9113 +#define GL_SYNC_STATUS 0x9114 +#define GL_SYNC_FLAGS 0x9115 +#define GL_SYNC_FENCE 0x9116 +#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117 +#define GL_UNSIGNALED 0x9118 +#define GL_SIGNALED 0x9119 +#define GL_ALREADY_SIGNALED 0x911A +#define GL_TIMEOUT_EXPIRED 0x911B +#define GL_CONDITION_SATISFIED 0x911C +#define GL_WAIT_FAILED 0x911D +#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFFull +#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001 +#define GL_SAMPLE_POSITION 0x8E50 +#define GL_SAMPLE_MASK 0x8E51 +#define GL_SAMPLE_MASK_VALUE 0x8E52 +#define GL_MAX_SAMPLE_MASK_WORDS 0x8E59 +#define GL_TEXTURE_2D_MULTISAMPLE 0x9100 +#define GL_PROXY_TEXTURE_2D_MULTISAMPLE 0x9101 +#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102 +#define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9103 +#define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104 +#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105 +#define GL_TEXTURE_SAMPLES 0x9106 +#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107 +#define GL_SAMPLER_2D_MULTISAMPLE 0x9108 +#define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109 +#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A +#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B +#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C +#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D +#define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E +#define GL_MAX_DEPTH_TEXTURE_SAMPLES 0x910F +#define GL_MAX_INTEGER_SAMPLES 0x9110 +typedef void (APIENTRYP PFNGLDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); +typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex); +typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex); +typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount, const GLint *basevertex); +typedef void (APIENTRYP PFNGLPROVOKINGVERTEXPROC) (GLenum mode); +typedef GLsync (APIENTRYP PFNGLFENCESYNCPROC) (GLenum condition, GLbitfield flags); +typedef GLboolean (APIENTRYP PFNGLISSYNCPROC) (GLsync sync); +typedef void (APIENTRYP PFNGLDELETESYNCPROC) (GLsync sync); +typedef GLenum (APIENTRYP PFNGLCLIENTWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout); +typedef void (APIENTRYP PFNGLWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout); +typedef void (APIENTRYP PFNGLGETINTEGER64VPROC) (GLenum pname, GLint64 *data); +typedef void (APIENTRYP PFNGLGETSYNCIVPROC) (GLsync sync, GLenum pname, GLsizei count, GLsizei *length, GLint *values); +typedef void (APIENTRYP PFNGLGETINTEGER64I_VPROC) (GLenum target, GLuint index, GLint64 *data); +typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERI64VPROC) (GLenum target, GLenum pname, GLint64 *params); +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level); +typedef void (APIENTRYP PFNGLTEXIMAGE2DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); +typedef void (APIENTRYP PFNGLTEXIMAGE3DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); +typedef void (APIENTRYP PFNGLGETMULTISAMPLEFVPROC) (GLenum pname, GLuint index, GLfloat *val); +typedef void (APIENTRYP PFNGLSAMPLEMASKIPROC) (GLuint maskNumber, GLbitfield mask); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glDrawElementsBaseVertex (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); +GLAPI void APIENTRY glDrawRangeElementsBaseVertex (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex); +GLAPI void APIENTRY glDrawElementsInstancedBaseVertex (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex); +GLAPI void APIENTRY glMultiDrawElementsBaseVertex (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount, const GLint *basevertex); +GLAPI void APIENTRY glProvokingVertex (GLenum mode); +GLAPI GLsync APIENTRY glFenceSync (GLenum condition, GLbitfield flags); +GLAPI GLboolean APIENTRY glIsSync (GLsync sync); +GLAPI void APIENTRY glDeleteSync (GLsync sync); +GLAPI GLenum APIENTRY glClientWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout); +GLAPI void APIENTRY glWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout); +GLAPI void APIENTRY glGetInteger64v (GLenum pname, GLint64 *data); +GLAPI void APIENTRY glGetSynciv (GLsync sync, GLenum pname, GLsizei count, GLsizei *length, GLint *values); +GLAPI void APIENTRY glGetInteger64i_v (GLenum target, GLuint index, GLint64 *data); +GLAPI void APIENTRY glGetBufferParameteri64v (GLenum target, GLenum pname, GLint64 *params); +GLAPI void APIENTRY glFramebufferTexture (GLenum target, GLenum attachment, GLuint texture, GLint level); +GLAPI void APIENTRY glTexImage2DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); +GLAPI void APIENTRY glTexImage3DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); +GLAPI void APIENTRY glGetMultisamplefv (GLenum pname, GLuint index, GLfloat *val); +GLAPI void APIENTRY glSampleMaski (GLuint maskNumber, GLbitfield mask); +#endif +#endif /* GL_VERSION_3_2 */ + +#ifndef GL_VERSION_3_3 +#define GL_VERSION_3_3 1 +#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE +#define GL_SRC1_COLOR 0x88F9 +#define GL_ONE_MINUS_SRC1_COLOR 0x88FA +#define GL_ONE_MINUS_SRC1_ALPHA 0x88FB +#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS 0x88FC +#define GL_ANY_SAMPLES_PASSED 0x8C2F +#define GL_SAMPLER_BINDING 0x8919 +#define GL_RGB10_A2UI 0x906F +#define GL_TEXTURE_SWIZZLE_R 0x8E42 +#define GL_TEXTURE_SWIZZLE_G 0x8E43 +#define GL_TEXTURE_SWIZZLE_B 0x8E44 +#define GL_TEXTURE_SWIZZLE_A 0x8E45 +#define GL_TEXTURE_SWIZZLE_RGBA 0x8E46 +#define GL_TIME_ELAPSED 0x88BF +#define GL_TIMESTAMP 0x8E28 +#define GL_INT_2_10_10_10_REV 0x8D9F +typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONINDEXEDPROC) (GLuint program, GLuint colorNumber, GLuint index, const GLchar *name); +typedef GLint (APIENTRYP PFNGLGETFRAGDATAINDEXPROC) (GLuint program, const GLchar *name); +typedef void (APIENTRYP PFNGLGENSAMPLERSPROC) (GLsizei count, GLuint *samplers); +typedef void (APIENTRYP PFNGLDELETESAMPLERSPROC) (GLsizei count, const GLuint *samplers); +typedef GLboolean (APIENTRYP PFNGLISSAMPLERPROC) (GLuint sampler); +typedef void (APIENTRYP PFNGLBINDSAMPLERPROC) (GLuint unit, GLuint sampler); +typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIPROC) (GLuint sampler, GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, const GLint *param); +typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFPROC) (GLuint sampler, GLenum pname, GLfloat param); +typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, const GLfloat *param); +typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, const GLint *param); +typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, const GLuint *param); +typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, GLuint *params); +typedef void (APIENTRYP PFNGLQUERYCOUNTERPROC) (GLuint id, GLenum target); +typedef void (APIENTRYP PFNGLGETQUERYOBJECTI64VPROC) (GLuint id, GLenum pname, GLint64 *params); +typedef void (APIENTRYP PFNGLGETQUERYOBJECTUI64VPROC) (GLuint id, GLenum pname, GLuint64 *params); +typedef void (APIENTRYP PFNGLVERTEXATTRIBDIVISORPROC) (GLuint index, GLuint divisor); +typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value); +typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint *value); +typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value); +typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint *value); +typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value); +typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint *value); +typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value); +typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint *value); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBindFragDataLocationIndexed (GLuint program, GLuint colorNumber, GLuint index, const GLchar *name); +GLAPI GLint APIENTRY glGetFragDataIndex (GLuint program, const GLchar *name); +GLAPI void APIENTRY glGenSamplers (GLsizei count, GLuint *samplers); +GLAPI void APIENTRY glDeleteSamplers (GLsizei count, const GLuint *samplers); +GLAPI GLboolean APIENTRY glIsSampler (GLuint sampler); +GLAPI void APIENTRY glBindSampler (GLuint unit, GLuint sampler); +GLAPI void APIENTRY glSamplerParameteri (GLuint sampler, GLenum pname, GLint param); +GLAPI void APIENTRY glSamplerParameteriv (GLuint sampler, GLenum pname, const GLint *param); +GLAPI void APIENTRY glSamplerParameterf (GLuint sampler, GLenum pname, GLfloat param); +GLAPI void APIENTRY glSamplerParameterfv (GLuint sampler, GLenum pname, const GLfloat *param); +GLAPI void APIENTRY glSamplerParameterIiv (GLuint sampler, GLenum pname, const GLint *param); +GLAPI void APIENTRY glSamplerParameterIuiv (GLuint sampler, GLenum pname, const GLuint *param); +GLAPI void APIENTRY glGetSamplerParameteriv (GLuint sampler, GLenum pname, GLint *params); +GLAPI void APIENTRY glGetSamplerParameterIiv (GLuint sampler, GLenum pname, GLint *params); +GLAPI void APIENTRY glGetSamplerParameterfv (GLuint sampler, GLenum pname, GLfloat *params); +GLAPI void APIENTRY glGetSamplerParameterIuiv (GLuint sampler, GLenum pname, GLuint *params); +GLAPI void APIENTRY glQueryCounter (GLuint id, GLenum target); +GLAPI void APIENTRY glGetQueryObjecti64v (GLuint id, GLenum pname, GLint64 *params); +GLAPI void APIENTRY glGetQueryObjectui64v (GLuint id, GLenum pname, GLuint64 *params); +GLAPI void APIENTRY glVertexAttribDivisor (GLuint index, GLuint divisor); +GLAPI void APIENTRY glVertexAttribP1ui (GLuint index, GLenum type, GLboolean normalized, GLuint value); +GLAPI void APIENTRY glVertexAttribP1uiv (GLuint index, GLenum type, GLboolean normalized, const GLuint *value); +GLAPI void APIENTRY glVertexAttribP2ui (GLuint index, GLenum type, GLboolean normalized, GLuint value); +GLAPI void APIENTRY glVertexAttribP2uiv (GLuint index, GLenum type, GLboolean normalized, const GLuint *value); +GLAPI void APIENTRY glVertexAttribP3ui (GLuint index, GLenum type, GLboolean normalized, GLuint value); +GLAPI void APIENTRY glVertexAttribP3uiv (GLuint index, GLenum type, GLboolean normalized, const GLuint *value); +GLAPI void APIENTRY glVertexAttribP4ui (GLuint index, GLenum type, GLboolean normalized, GLuint value); +GLAPI void APIENTRY glVertexAttribP4uiv (GLuint index, GLenum type, GLboolean normalized, const GLuint *value); +#endif +#endif /* GL_VERSION_3_3 */ + +#ifndef GL_VERSION_4_0 +#define GL_VERSION_4_0 1 +#define GL_SAMPLE_SHADING 0x8C36 +#define GL_MIN_SAMPLE_SHADING_VALUE 0x8C37 +#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5E +#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5F +#define GL_TEXTURE_CUBE_MAP_ARRAY 0x9009 +#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY 0x900A +#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY 0x900B +#define GL_SAMPLER_CUBE_MAP_ARRAY 0x900C +#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW 0x900D +#define GL_INT_SAMPLER_CUBE_MAP_ARRAY 0x900E +#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F +#define GL_DRAW_INDIRECT_BUFFER 0x8F3F +#define GL_DRAW_INDIRECT_BUFFER_BINDING 0x8F43 +#define GL_GEOMETRY_SHADER_INVOCATIONS 0x887F +#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS 0x8E5A +#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET 0x8E5B +#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET 0x8E5C +#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS 0x8E5D +#define GL_MAX_VERTEX_STREAMS 0x8E71 +#define GL_DOUBLE_VEC2 0x8FFC +#define GL_DOUBLE_VEC3 0x8FFD +#define GL_DOUBLE_VEC4 0x8FFE +#define GL_DOUBLE_MAT2 0x8F46 +#define GL_DOUBLE_MAT3 0x8F47 +#define GL_DOUBLE_MAT4 0x8F48 +#define GL_DOUBLE_MAT2x3 0x8F49 +#define GL_DOUBLE_MAT2x4 0x8F4A +#define GL_DOUBLE_MAT3x2 0x8F4B +#define GL_DOUBLE_MAT3x4 0x8F4C +#define GL_DOUBLE_MAT4x2 0x8F4D +#define GL_DOUBLE_MAT4x3 0x8F4E +#define GL_ACTIVE_SUBROUTINES 0x8DE5 +#define GL_ACTIVE_SUBROUTINE_UNIFORMS 0x8DE6 +#define GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS 0x8E47 +#define GL_ACTIVE_SUBROUTINE_MAX_LENGTH 0x8E48 +#define GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH 0x8E49 +#define GL_MAX_SUBROUTINES 0x8DE7 +#define GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS 0x8DE8 +#define GL_NUM_COMPATIBLE_SUBROUTINES 0x8E4A +#define GL_COMPATIBLE_SUBROUTINES 0x8E4B +#define GL_PATCHES 0x000E +#define GL_PATCH_VERTICES 0x8E72 +#define GL_PATCH_DEFAULT_INNER_LEVEL 0x8E73 +#define GL_PATCH_DEFAULT_OUTER_LEVEL 0x8E74 +#define GL_TESS_CONTROL_OUTPUT_VERTICES 0x8E75 +#define GL_TESS_GEN_MODE 0x8E76 +#define GL_TESS_GEN_SPACING 0x8E77 +#define GL_TESS_GEN_VERTEX_ORDER 0x8E78 +#define GL_TESS_GEN_POINT_MODE 0x8E79 +#define GL_ISOLINES 0x8E7A +#define GL_FRACTIONAL_ODD 0x8E7B +#define GL_FRACTIONAL_EVEN 0x8E7C +#define GL_MAX_PATCH_VERTICES 0x8E7D +#define GL_MAX_TESS_GEN_LEVEL 0x8E7E +#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E7F +#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E80 +#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS 0x8E81 +#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS 0x8E82 +#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS 0x8E83 +#define GL_MAX_TESS_PATCH_COMPONENTS 0x8E84 +#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS 0x8E85 +#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS 0x8E86 +#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS 0x8E89 +#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS 0x8E8A +#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS 0x886C +#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS 0x886D +#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E1E +#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E1F +#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER 0x84F0 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER 0x84F1 +#define GL_TESS_EVALUATION_SHADER 0x8E87 +#define GL_TESS_CONTROL_SHADER 0x8E88 +#define GL_TRANSFORM_FEEDBACK 0x8E22 +#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED 0x8E23 +#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE 0x8E24 +#define GL_TRANSFORM_FEEDBACK_BINDING 0x8E25 +#define GL_MAX_TRANSFORM_FEEDBACK_BUFFERS 0x8E70 +typedef void (APIENTRYP PFNGLMINSAMPLESHADINGPROC) (GLfloat value); +typedef void (APIENTRYP PFNGLBLENDEQUATIONIPROC) (GLuint buf, GLenum mode); +typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEIPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha); +typedef void (APIENTRYP PFNGLBLENDFUNCIPROC) (GLuint buf, GLenum src, GLenum dst); +typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEIPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); +typedef void (APIENTRYP PFNGLDRAWARRAYSINDIRECTPROC) (GLenum mode, const void *indirect); +typedef void (APIENTRYP PFNGLDRAWELEMENTSINDIRECTPROC) (GLenum mode, GLenum type, const void *indirect); +typedef void (APIENTRYP PFNGLUNIFORM1DPROC) (GLint location, GLdouble x); +typedef void (APIENTRYP PFNGLUNIFORM2DPROC) (GLint location, GLdouble x, GLdouble y); +typedef void (APIENTRYP PFNGLUNIFORM3DPROC) (GLint location, GLdouble x, GLdouble y, GLdouble z); +typedef void (APIENTRYP PFNGLUNIFORM4DPROC) (GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (APIENTRYP PFNGLUNIFORM1DVPROC) (GLint location, GLsizei count, const GLdouble *value); +typedef void (APIENTRYP PFNGLUNIFORM2DVPROC) (GLint location, GLsizei count, const GLdouble *value); +typedef void (APIENTRYP PFNGLUNIFORM3DVPROC) (GLint location, GLsizei count, const GLdouble *value); +typedef void (APIENTRYP PFNGLUNIFORM4DVPROC) (GLint location, GLsizei count, const GLdouble *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +typedef void (APIENTRYP PFNGLGETUNIFORMDVPROC) (GLuint program, GLint location, GLdouble *params); +typedef GLint (APIENTRYP PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC) (GLuint program, GLenum shadertype, const GLchar *name); +typedef GLuint (APIENTRYP PFNGLGETSUBROUTINEINDEXPROC) (GLuint program, GLenum shadertype, const GLchar *name); +typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC) (GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values); +typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name); +typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINENAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name); +typedef void (APIENTRYP PFNGLUNIFORMSUBROUTINESUIVPROC) (GLenum shadertype, GLsizei count, const GLuint *indices); +typedef void (APIENTRYP PFNGLGETUNIFORMSUBROUTINEUIVPROC) (GLenum shadertype, GLint location, GLuint *params); +typedef void (APIENTRYP PFNGLGETPROGRAMSTAGEIVPROC) (GLuint program, GLenum shadertype, GLenum pname, GLint *values); +typedef void (APIENTRYP PFNGLPATCHPARAMETERIPROC) (GLenum pname, GLint value); +typedef void (APIENTRYP PFNGLPATCHPARAMETERFVPROC) (GLenum pname, const GLfloat *values); +typedef void (APIENTRYP PFNGLBINDTRANSFORMFEEDBACKPROC) (GLenum target, GLuint id); +typedef void (APIENTRYP PFNGLDELETETRANSFORMFEEDBACKSPROC) (GLsizei n, const GLuint *ids); +typedef void (APIENTRYP PFNGLGENTRANSFORMFEEDBACKSPROC) (GLsizei n, GLuint *ids); +typedef GLboolean (APIENTRYP PFNGLISTRANSFORMFEEDBACKPROC) (GLuint id); +typedef void (APIENTRYP PFNGLPAUSETRANSFORMFEEDBACKPROC) (void); +typedef void (APIENTRYP PFNGLRESUMETRANSFORMFEEDBACKPROC) (void); +typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKPROC) (GLenum mode, GLuint id); +typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC) (GLenum mode, GLuint id, GLuint stream); +typedef void (APIENTRYP PFNGLBEGINQUERYINDEXEDPROC) (GLenum target, GLuint index, GLuint id); +typedef void (APIENTRYP PFNGLENDQUERYINDEXEDPROC) (GLenum target, GLuint index); +typedef void (APIENTRYP PFNGLGETQUERYINDEXEDIVPROC) (GLenum target, GLuint index, GLenum pname, GLint *params); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glMinSampleShading (GLfloat value); +GLAPI void APIENTRY glBlendEquationi (GLuint buf, GLenum mode); +GLAPI void APIENTRY glBlendEquationSeparatei (GLuint buf, GLenum modeRGB, GLenum modeAlpha); +GLAPI void APIENTRY glBlendFunci (GLuint buf, GLenum src, GLenum dst); +GLAPI void APIENTRY glBlendFuncSeparatei (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); +GLAPI void APIENTRY glDrawArraysIndirect (GLenum mode, const void *indirect); +GLAPI void APIENTRY glDrawElementsIndirect (GLenum mode, GLenum type, const void *indirect); +GLAPI void APIENTRY glUniform1d (GLint location, GLdouble x); +GLAPI void APIENTRY glUniform2d (GLint location, GLdouble x, GLdouble y); +GLAPI void APIENTRY glUniform3d (GLint location, GLdouble x, GLdouble y, GLdouble z); +GLAPI void APIENTRY glUniform4d (GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +GLAPI void APIENTRY glUniform1dv (GLint location, GLsizei count, const GLdouble *value); +GLAPI void APIENTRY glUniform2dv (GLint location, GLsizei count, const GLdouble *value); +GLAPI void APIENTRY glUniform3dv (GLint location, GLsizei count, const GLdouble *value); +GLAPI void APIENTRY glUniform4dv (GLint location, GLsizei count, const GLdouble *value); +GLAPI void APIENTRY glUniformMatrix2dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +GLAPI void APIENTRY glUniformMatrix3dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +GLAPI void APIENTRY glUniformMatrix4dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +GLAPI void APIENTRY glUniformMatrix2x3dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +GLAPI void APIENTRY glUniformMatrix2x4dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +GLAPI void APIENTRY glUniformMatrix3x2dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +GLAPI void APIENTRY glUniformMatrix3x4dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +GLAPI void APIENTRY glUniformMatrix4x2dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +GLAPI void APIENTRY glUniformMatrix4x3dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +GLAPI void APIENTRY glGetUniformdv (GLuint program, GLint location, GLdouble *params); +GLAPI GLint APIENTRY glGetSubroutineUniformLocation (GLuint program, GLenum shadertype, const GLchar *name); +GLAPI GLuint APIENTRY glGetSubroutineIndex (GLuint program, GLenum shadertype, const GLchar *name); +GLAPI void APIENTRY glGetActiveSubroutineUniformiv (GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values); +GLAPI void APIENTRY glGetActiveSubroutineUniformName (GLuint program, GLenum shadertype, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name); +GLAPI void APIENTRY glGetActiveSubroutineName (GLuint program, GLenum shadertype, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name); +GLAPI void APIENTRY glUniformSubroutinesuiv (GLenum shadertype, GLsizei count, const GLuint *indices); +GLAPI void APIENTRY glGetUniformSubroutineuiv (GLenum shadertype, GLint location, GLuint *params); +GLAPI void APIENTRY glGetProgramStageiv (GLuint program, GLenum shadertype, GLenum pname, GLint *values); +GLAPI void APIENTRY glPatchParameteri (GLenum pname, GLint value); +GLAPI void APIENTRY glPatchParameterfv (GLenum pname, const GLfloat *values); +GLAPI void APIENTRY glBindTransformFeedback (GLenum target, GLuint id); +GLAPI void APIENTRY glDeleteTransformFeedbacks (GLsizei n, const GLuint *ids); +GLAPI void APIENTRY glGenTransformFeedbacks (GLsizei n, GLuint *ids); +GLAPI GLboolean APIENTRY glIsTransformFeedback (GLuint id); +GLAPI void APIENTRY glPauseTransformFeedback (void); +GLAPI void APIENTRY glResumeTransformFeedback (void); +GLAPI void APIENTRY glDrawTransformFeedback (GLenum mode, GLuint id); +GLAPI void APIENTRY glDrawTransformFeedbackStream (GLenum mode, GLuint id, GLuint stream); +GLAPI void APIENTRY glBeginQueryIndexed (GLenum target, GLuint index, GLuint id); +GLAPI void APIENTRY glEndQueryIndexed (GLenum target, GLuint index); +GLAPI void APIENTRY glGetQueryIndexediv (GLenum target, GLuint index, GLenum pname, GLint *params); +#endif +#endif /* GL_VERSION_4_0 */ + +#ifndef GL_VERSION_4_1 +#define GL_VERSION_4_1 1 +#define GL_FIXED 0x140C +#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A +#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B +#define GL_LOW_FLOAT 0x8DF0 +#define GL_MEDIUM_FLOAT 0x8DF1 +#define GL_HIGH_FLOAT 0x8DF2 +#define GL_LOW_INT 0x8DF3 +#define GL_MEDIUM_INT 0x8DF4 +#define GL_HIGH_INT 0x8DF5 +#define GL_SHADER_COMPILER 0x8DFA +#define GL_SHADER_BINARY_FORMATS 0x8DF8 +#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9 +#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB +#define GL_MAX_VARYING_VECTORS 0x8DFC +#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD +#define GL_RGB565 0x8D62 +#define GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257 +#define GL_PROGRAM_BINARY_LENGTH 0x8741 +#define GL_NUM_PROGRAM_BINARY_FORMATS 0x87FE +#define GL_PROGRAM_BINARY_FORMATS 0x87FF +#define GL_VERTEX_SHADER_BIT 0x00000001 +#define GL_FRAGMENT_SHADER_BIT 0x00000002 +#define GL_GEOMETRY_SHADER_BIT 0x00000004 +#define GL_TESS_CONTROL_SHADER_BIT 0x00000008 +#define GL_TESS_EVALUATION_SHADER_BIT 0x00000010 +#define GL_ALL_SHADER_BITS 0xFFFFFFFF +#define GL_PROGRAM_SEPARABLE 0x8258 +#define GL_ACTIVE_PROGRAM 0x8259 +#define GL_PROGRAM_PIPELINE_BINDING 0x825A +#define GL_MAX_VIEWPORTS 0x825B +#define GL_VIEWPORT_SUBPIXEL_BITS 0x825C +#define GL_VIEWPORT_BOUNDS_RANGE 0x825D +#define GL_LAYER_PROVOKING_VERTEX 0x825E +#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX 0x825F +#define GL_UNDEFINED_VERTEX 0x8260 +typedef void (APIENTRYP PFNGLRELEASESHADERCOMPILERPROC) (void); +typedef void (APIENTRYP PFNGLSHADERBINARYPROC) (GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length); +typedef void (APIENTRYP PFNGLGETSHADERPRECISIONFORMATPROC) (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision); +typedef void (APIENTRYP PFNGLDEPTHRANGEFPROC) (GLfloat n, GLfloat f); +typedef void (APIENTRYP PFNGLCLEARDEPTHFPROC) (GLfloat d); +typedef void (APIENTRYP PFNGLGETPROGRAMBINARYPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary); +typedef void (APIENTRYP PFNGLPROGRAMBINARYPROC) (GLuint program, GLenum binaryFormat, const void *binary, GLsizei length); +typedef void (APIENTRYP PFNGLPROGRAMPARAMETERIPROC) (GLuint program, GLenum pname, GLint value); +typedef void (APIENTRYP PFNGLUSEPROGRAMSTAGESPROC) (GLuint pipeline, GLbitfield stages, GLuint program); +typedef void (APIENTRYP PFNGLACTIVESHADERPROGRAMPROC) (GLuint pipeline, GLuint program); +typedef GLuint (APIENTRYP PFNGLCREATESHADERPROGRAMVPROC) (GLenum type, GLsizei count, const GLchar *const*strings); +typedef void (APIENTRYP PFNGLBINDPROGRAMPIPELINEPROC) (GLuint pipeline); +typedef void (APIENTRYP PFNGLDELETEPROGRAMPIPELINESPROC) (GLsizei n, const GLuint *pipelines); +typedef void (APIENTRYP PFNGLGENPROGRAMPIPELINESPROC) (GLsizei n, GLuint *pipelines); +typedef GLboolean (APIENTRYP PFNGLISPROGRAMPIPELINEPROC) (GLuint pipeline); +typedef void (APIENTRYP PFNGLGETPROGRAMPIPELINEIVPROC) (GLuint pipeline, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IPROC) (GLuint program, GLint location, GLint v0); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FPROC) (GLuint program, GLint location, GLfloat v0); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DPROC) (GLuint program, GLint location, GLdouble v0); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIPROC) (GLuint program, GLint location, GLuint v0); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IPROC) (GLuint program, GLint location, GLint v0, GLint v1); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DPROC) (GLuint program, GLint location, GLdouble v0, GLdouble v1); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DPROC) (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DPROC) (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEPROC) (GLuint pipeline); +typedef void (APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); +typedef void (APIENTRYP PFNGLVERTEXATTRIBL1DPROC) (GLuint index, GLdouble x); +typedef void (APIENTRYP PFNGLVERTEXATTRIBL2DPROC) (GLuint index, GLdouble x, GLdouble y); +typedef void (APIENTRYP PFNGLVERTEXATTRIBL3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); +typedef void (APIENTRYP PFNGLVERTEXATTRIBL4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (APIENTRYP PFNGLVERTEXATTRIBL1DVPROC) (GLuint index, const GLdouble *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBL2DVPROC) (GLuint index, const GLdouble *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBL3DVPROC) (GLuint index, const GLdouble *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBL4DVPROC) (GLuint index, const GLdouble *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBLPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBLDVPROC) (GLuint index, GLenum pname, GLdouble *params); +typedef void (APIENTRYP PFNGLVIEWPORTARRAYVPROC) (GLuint first, GLsizei count, const GLfloat *v); +typedef void (APIENTRYP PFNGLVIEWPORTINDEXEDFPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h); +typedef void (APIENTRYP PFNGLVIEWPORTINDEXEDFVPROC) (GLuint index, const GLfloat *v); +typedef void (APIENTRYP PFNGLSCISSORARRAYVPROC) (GLuint first, GLsizei count, const GLint *v); +typedef void (APIENTRYP PFNGLSCISSORINDEXEDPROC) (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLSCISSORINDEXEDVPROC) (GLuint index, const GLint *v); +typedef void (APIENTRYP PFNGLDEPTHRANGEARRAYVPROC) (GLuint first, GLsizei count, const GLdouble *v); +typedef void (APIENTRYP PFNGLDEPTHRANGEINDEXEDPROC) (GLuint index, GLdouble n, GLdouble f); +typedef void (APIENTRYP PFNGLGETFLOATI_VPROC) (GLenum target, GLuint index, GLfloat *data); +typedef void (APIENTRYP PFNGLGETDOUBLEI_VPROC) (GLenum target, GLuint index, GLdouble *data); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glReleaseShaderCompiler (void); +GLAPI void APIENTRY glShaderBinary (GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length); +GLAPI void APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision); +GLAPI void APIENTRY glDepthRangef (GLfloat n, GLfloat f); +GLAPI void APIENTRY glClearDepthf (GLfloat d); +GLAPI void APIENTRY glGetProgramBinary (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary); +GLAPI void APIENTRY glProgramBinary (GLuint program, GLenum binaryFormat, const void *binary, GLsizei length); +GLAPI void APIENTRY glProgramParameteri (GLuint program, GLenum pname, GLint value); +GLAPI void APIENTRY glUseProgramStages (GLuint pipeline, GLbitfield stages, GLuint program); +GLAPI void APIENTRY glActiveShaderProgram (GLuint pipeline, GLuint program); +GLAPI GLuint APIENTRY glCreateShaderProgramv (GLenum type, GLsizei count, const GLchar *const*strings); +GLAPI void APIENTRY glBindProgramPipeline (GLuint pipeline); +GLAPI void APIENTRY glDeleteProgramPipelines (GLsizei n, const GLuint *pipelines); +GLAPI void APIENTRY glGenProgramPipelines (GLsizei n, GLuint *pipelines); +GLAPI GLboolean APIENTRY glIsProgramPipeline (GLuint pipeline); +GLAPI void APIENTRY glGetProgramPipelineiv (GLuint pipeline, GLenum pname, GLint *params); +GLAPI void APIENTRY glProgramUniform1i (GLuint program, GLint location, GLint v0); +GLAPI void APIENTRY glProgramUniform1iv (GLuint program, GLint location, GLsizei count, const GLint *value); +GLAPI void APIENTRY glProgramUniform1f (GLuint program, GLint location, GLfloat v0); +GLAPI void APIENTRY glProgramUniform1fv (GLuint program, GLint location, GLsizei count, const GLfloat *value); +GLAPI void APIENTRY glProgramUniform1d (GLuint program, GLint location, GLdouble v0); +GLAPI void APIENTRY glProgramUniform1dv (GLuint program, GLint location, GLsizei count, const GLdouble *value); +GLAPI void APIENTRY glProgramUniform1ui (GLuint program, GLint location, GLuint v0); +GLAPI void APIENTRY glProgramUniform1uiv (GLuint program, GLint location, GLsizei count, const GLuint *value); +GLAPI void APIENTRY glProgramUniform2i (GLuint program, GLint location, GLint v0, GLint v1); +GLAPI void APIENTRY glProgramUniform2iv (GLuint program, GLint location, GLsizei count, const GLint *value); +GLAPI void APIENTRY glProgramUniform2f (GLuint program, GLint location, GLfloat v0, GLfloat v1); +GLAPI void APIENTRY glProgramUniform2fv (GLuint program, GLint location, GLsizei count, const GLfloat *value); +GLAPI void APIENTRY glProgramUniform2d (GLuint program, GLint location, GLdouble v0, GLdouble v1); +GLAPI void APIENTRY glProgramUniform2dv (GLuint program, GLint location, GLsizei count, const GLdouble *value); +GLAPI void APIENTRY glProgramUniform2ui (GLuint program, GLint location, GLuint v0, GLuint v1); +GLAPI void APIENTRY glProgramUniform2uiv (GLuint program, GLint location, GLsizei count, const GLuint *value); +GLAPI void APIENTRY glProgramUniform3i (GLuint program, GLint location, GLint v0, GLint v1, GLint v2); +GLAPI void APIENTRY glProgramUniform3iv (GLuint program, GLint location, GLsizei count, const GLint *value); +GLAPI void APIENTRY glProgramUniform3f (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); +GLAPI void APIENTRY glProgramUniform3fv (GLuint program, GLint location, GLsizei count, const GLfloat *value); +GLAPI void APIENTRY glProgramUniform3d (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2); +GLAPI void APIENTRY glProgramUniform3dv (GLuint program, GLint location, GLsizei count, const GLdouble *value); +GLAPI void APIENTRY glProgramUniform3ui (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2); +GLAPI void APIENTRY glProgramUniform3uiv (GLuint program, GLint location, GLsizei count, const GLuint *value); +GLAPI void APIENTRY glProgramUniform4i (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); +GLAPI void APIENTRY glProgramUniform4iv (GLuint program, GLint location, GLsizei count, const GLint *value); +GLAPI void APIENTRY glProgramUniform4f (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); +GLAPI void APIENTRY glProgramUniform4fv (GLuint program, GLint location, GLsizei count, const GLfloat *value); +GLAPI void APIENTRY glProgramUniform4d (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3); +GLAPI void APIENTRY glProgramUniform4dv (GLuint program, GLint location, GLsizei count, const GLdouble *value); +GLAPI void APIENTRY glProgramUniform4ui (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); +GLAPI void APIENTRY glProgramUniform4uiv (GLuint program, GLint location, GLsizei count, const GLuint *value); +GLAPI void APIENTRY glProgramUniformMatrix2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY glProgramUniformMatrix3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY glProgramUniformMatrix4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY glProgramUniformMatrix2dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +GLAPI void APIENTRY glProgramUniformMatrix3dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +GLAPI void APIENTRY glProgramUniformMatrix4dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +GLAPI void APIENTRY glProgramUniformMatrix2x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY glProgramUniformMatrix3x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY glProgramUniformMatrix2x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY glProgramUniformMatrix4x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY glProgramUniformMatrix3x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY glProgramUniformMatrix4x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY glProgramUniformMatrix2x3dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +GLAPI void APIENTRY glProgramUniformMatrix3x2dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +GLAPI void APIENTRY glProgramUniformMatrix2x4dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +GLAPI void APIENTRY glProgramUniformMatrix4x2dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +GLAPI void APIENTRY glProgramUniformMatrix3x4dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +GLAPI void APIENTRY glProgramUniformMatrix4x3dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +GLAPI void APIENTRY glValidateProgramPipeline (GLuint pipeline); +GLAPI void APIENTRY glGetProgramPipelineInfoLog (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); +GLAPI void APIENTRY glVertexAttribL1d (GLuint index, GLdouble x); +GLAPI void APIENTRY glVertexAttribL2d (GLuint index, GLdouble x, GLdouble y); +GLAPI void APIENTRY glVertexAttribL3d (GLuint index, GLdouble x, GLdouble y, GLdouble z); +GLAPI void APIENTRY glVertexAttribL4d (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +GLAPI void APIENTRY glVertexAttribL1dv (GLuint index, const GLdouble *v); +GLAPI void APIENTRY glVertexAttribL2dv (GLuint index, const GLdouble *v); +GLAPI void APIENTRY glVertexAttribL3dv (GLuint index, const GLdouble *v); +GLAPI void APIENTRY glVertexAttribL4dv (GLuint index, const GLdouble *v); +GLAPI void APIENTRY glVertexAttribLPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer); +GLAPI void APIENTRY glGetVertexAttribLdv (GLuint index, GLenum pname, GLdouble *params); +GLAPI void APIENTRY glViewportArrayv (GLuint first, GLsizei count, const GLfloat *v); +GLAPI void APIENTRY glViewportIndexedf (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h); +GLAPI void APIENTRY glViewportIndexedfv (GLuint index, const GLfloat *v); +GLAPI void APIENTRY glScissorArrayv (GLuint first, GLsizei count, const GLint *v); +GLAPI void APIENTRY glScissorIndexed (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height); +GLAPI void APIENTRY glScissorIndexedv (GLuint index, const GLint *v); +GLAPI void APIENTRY glDepthRangeArrayv (GLuint first, GLsizei count, const GLdouble *v); +GLAPI void APIENTRY glDepthRangeIndexed (GLuint index, GLdouble n, GLdouble f); +GLAPI void APIENTRY glGetFloati_v (GLenum target, GLuint index, GLfloat *data); +GLAPI void APIENTRY glGetDoublei_v (GLenum target, GLuint index, GLdouble *data); +#endif +#endif /* GL_VERSION_4_1 */ + +#ifndef GL_VERSION_4_2 +#define GL_VERSION_4_2 1 +#define GL_COPY_READ_BUFFER_BINDING 0x8F36 +#define GL_COPY_WRITE_BUFFER_BINDING 0x8F37 +#define GL_TRANSFORM_FEEDBACK_ACTIVE 0x8E24 +#define GL_TRANSFORM_FEEDBACK_PAUSED 0x8E23 +#define GL_UNPACK_COMPRESSED_BLOCK_WIDTH 0x9127 +#define GL_UNPACK_COMPRESSED_BLOCK_HEIGHT 0x9128 +#define GL_UNPACK_COMPRESSED_BLOCK_DEPTH 0x9129 +#define GL_UNPACK_COMPRESSED_BLOCK_SIZE 0x912A +#define GL_PACK_COMPRESSED_BLOCK_WIDTH 0x912B +#define GL_PACK_COMPRESSED_BLOCK_HEIGHT 0x912C +#define GL_PACK_COMPRESSED_BLOCK_DEPTH 0x912D +#define GL_PACK_COMPRESSED_BLOCK_SIZE 0x912E +#define GL_NUM_SAMPLE_COUNTS 0x9380 +#define GL_MIN_MAP_BUFFER_ALIGNMENT 0x90BC +#define GL_ATOMIC_COUNTER_BUFFER 0x92C0 +#define GL_ATOMIC_COUNTER_BUFFER_BINDING 0x92C1 +#define GL_ATOMIC_COUNTER_BUFFER_START 0x92C2 +#define GL_ATOMIC_COUNTER_BUFFER_SIZE 0x92C3 +#define GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE 0x92C4 +#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS 0x92C5 +#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES 0x92C6 +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER 0x92C7 +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER 0x92C8 +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER 0x92C9 +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER 0x92CA +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER 0x92CB +#define GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS 0x92CC +#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS 0x92CD +#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS 0x92CE +#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS 0x92CF +#define GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS 0x92D0 +#define GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS 0x92D1 +#define GL_MAX_VERTEX_ATOMIC_COUNTERS 0x92D2 +#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS 0x92D3 +#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS 0x92D4 +#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS 0x92D5 +#define GL_MAX_FRAGMENT_ATOMIC_COUNTERS 0x92D6 +#define GL_MAX_COMBINED_ATOMIC_COUNTERS 0x92D7 +#define GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE 0x92D8 +#define GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS 0x92DC +#define GL_ACTIVE_ATOMIC_COUNTER_BUFFERS 0x92D9 +#define GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX 0x92DA +#define GL_UNSIGNED_INT_ATOMIC_COUNTER 0x92DB +#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT 0x00000001 +#define GL_ELEMENT_ARRAY_BARRIER_BIT 0x00000002 +#define GL_UNIFORM_BARRIER_BIT 0x00000004 +#define GL_TEXTURE_FETCH_BARRIER_BIT 0x00000008 +#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT 0x00000020 +#define GL_COMMAND_BARRIER_BIT 0x00000040 +#define GL_PIXEL_BUFFER_BARRIER_BIT 0x00000080 +#define GL_TEXTURE_UPDATE_BARRIER_BIT 0x00000100 +#define GL_BUFFER_UPDATE_BARRIER_BIT 0x00000200 +#define GL_FRAMEBUFFER_BARRIER_BIT 0x00000400 +#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT 0x00000800 +#define GL_ATOMIC_COUNTER_BARRIER_BIT 0x00001000 +#define GL_ALL_BARRIER_BITS 0xFFFFFFFF +#define GL_MAX_IMAGE_UNITS 0x8F38 +#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS 0x8F39 +#define GL_IMAGE_BINDING_NAME 0x8F3A +#define GL_IMAGE_BINDING_LEVEL 0x8F3B +#define GL_IMAGE_BINDING_LAYERED 0x8F3C +#define GL_IMAGE_BINDING_LAYER 0x8F3D +#define GL_IMAGE_BINDING_ACCESS 0x8F3E +#define GL_IMAGE_1D 0x904C +#define GL_IMAGE_2D 0x904D +#define GL_IMAGE_3D 0x904E +#define GL_IMAGE_2D_RECT 0x904F +#define GL_IMAGE_CUBE 0x9050 +#define GL_IMAGE_BUFFER 0x9051 +#define GL_IMAGE_1D_ARRAY 0x9052 +#define GL_IMAGE_2D_ARRAY 0x9053 +#define GL_IMAGE_CUBE_MAP_ARRAY 0x9054 +#define GL_IMAGE_2D_MULTISAMPLE 0x9055 +#define GL_IMAGE_2D_MULTISAMPLE_ARRAY 0x9056 +#define GL_INT_IMAGE_1D 0x9057 +#define GL_INT_IMAGE_2D 0x9058 +#define GL_INT_IMAGE_3D 0x9059 +#define GL_INT_IMAGE_2D_RECT 0x905A +#define GL_INT_IMAGE_CUBE 0x905B +#define GL_INT_IMAGE_BUFFER 0x905C +#define GL_INT_IMAGE_1D_ARRAY 0x905D +#define GL_INT_IMAGE_2D_ARRAY 0x905E +#define GL_INT_IMAGE_CUBE_MAP_ARRAY 0x905F +#define GL_INT_IMAGE_2D_MULTISAMPLE 0x9060 +#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x9061 +#define GL_UNSIGNED_INT_IMAGE_1D 0x9062 +#define GL_UNSIGNED_INT_IMAGE_2D 0x9063 +#define GL_UNSIGNED_INT_IMAGE_3D 0x9064 +#define GL_UNSIGNED_INT_IMAGE_2D_RECT 0x9065 +#define GL_UNSIGNED_INT_IMAGE_CUBE 0x9066 +#define GL_UNSIGNED_INT_IMAGE_BUFFER 0x9067 +#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY 0x9068 +#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY 0x9069 +#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY 0x906A +#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE 0x906B +#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x906C +#define GL_MAX_IMAGE_SAMPLES 0x906D +#define GL_IMAGE_BINDING_FORMAT 0x906E +#define GL_IMAGE_FORMAT_COMPATIBILITY_TYPE 0x90C7 +#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE 0x90C8 +#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS 0x90C9 +#define GL_MAX_VERTEX_IMAGE_UNIFORMS 0x90CA +#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS 0x90CB +#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS 0x90CC +#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS 0x90CD +#define GL_MAX_FRAGMENT_IMAGE_UNIFORMS 0x90CE +#define GL_MAX_COMBINED_IMAGE_UNIFORMS 0x90CF +#define GL_COMPRESSED_RGBA_BPTC_UNORM 0x8E8C +#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM 0x8E8D +#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT 0x8E8E +#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT 0x8E8F +#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F +typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance); +typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance); +typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance); +typedef void (APIENTRYP PFNGLGETINTERNALFORMATIVPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint *params); +typedef void (APIENTRYP PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC) (GLuint program, GLuint bufferIndex, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLBINDIMAGETEXTUREPROC) (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format); +typedef void (APIENTRYP PFNGLMEMORYBARRIERPROC) (GLbitfield barriers); +typedef void (APIENTRYP PFNGLTEXSTORAGE1DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); +typedef void (APIENTRYP PFNGLTEXSTORAGE2DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLTEXSTORAGE3DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); +typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC) (GLenum mode, GLuint id, GLsizei instancecount); +typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC) (GLenum mode, GLuint id, GLuint stream, GLsizei instancecount); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glDrawArraysInstancedBaseInstance (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance); +GLAPI void APIENTRY glDrawElementsInstancedBaseInstance (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance); +GLAPI void APIENTRY glDrawElementsInstancedBaseVertexBaseInstance (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance); +GLAPI void APIENTRY glGetInternalformativ (GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint *params); +GLAPI void APIENTRY glGetActiveAtomicCounterBufferiv (GLuint program, GLuint bufferIndex, GLenum pname, GLint *params); +GLAPI void APIENTRY glBindImageTexture (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format); +GLAPI void APIENTRY glMemoryBarrier (GLbitfield barriers); +GLAPI void APIENTRY glTexStorage1D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); +GLAPI void APIENTRY glTexStorage2D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); +GLAPI void APIENTRY glTexStorage3D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); +GLAPI void APIENTRY glDrawTransformFeedbackInstanced (GLenum mode, GLuint id, GLsizei instancecount); +GLAPI void APIENTRY glDrawTransformFeedbackStreamInstanced (GLenum mode, GLuint id, GLuint stream, GLsizei instancecount); +#endif +#endif /* GL_VERSION_4_2 */ + +#ifndef GL_VERSION_4_3 +#define GL_VERSION_4_3 1 +typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); +#define GL_NUM_SHADING_LANGUAGE_VERSIONS 0x82E9 +#define GL_VERTEX_ATTRIB_ARRAY_LONG 0x874E +#define GL_COMPRESSED_RGB8_ETC2 0x9274 +#define GL_COMPRESSED_SRGB8_ETC2 0x9275 +#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9276 +#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277 +#define GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278 +#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 0x9279 +#define GL_COMPRESSED_R11_EAC 0x9270 +#define GL_COMPRESSED_SIGNED_R11_EAC 0x9271 +#define GL_COMPRESSED_RG11_EAC 0x9272 +#define GL_COMPRESSED_SIGNED_RG11_EAC 0x9273 +#define GL_PRIMITIVE_RESTART_FIXED_INDEX 0x8D69 +#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE 0x8D6A +#define GL_MAX_ELEMENT_INDEX 0x8D6B +#define GL_COMPUTE_SHADER 0x91B9 +#define GL_MAX_COMPUTE_UNIFORM_BLOCKS 0x91BB +#define GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS 0x91BC +#define GL_MAX_COMPUTE_IMAGE_UNIFORMS 0x91BD +#define GL_MAX_COMPUTE_SHARED_MEMORY_SIZE 0x8262 +#define GL_MAX_COMPUTE_UNIFORM_COMPONENTS 0x8263 +#define GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS 0x8264 +#define GL_MAX_COMPUTE_ATOMIC_COUNTERS 0x8265 +#define GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS 0x8266 +#define GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS 0x90EB +#define GL_MAX_COMPUTE_WORK_GROUP_COUNT 0x91BE +#define GL_MAX_COMPUTE_WORK_GROUP_SIZE 0x91BF +#define GL_COMPUTE_WORK_GROUP_SIZE 0x8267 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER 0x90EC +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER 0x90ED +#define GL_DISPATCH_INDIRECT_BUFFER 0x90EE +#define GL_DISPATCH_INDIRECT_BUFFER_BINDING 0x90EF +#define GL_COMPUTE_SHADER_BIT 0x00000020 +#define GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242 +#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243 +#define GL_DEBUG_CALLBACK_FUNCTION 0x8244 +#define GL_DEBUG_CALLBACK_USER_PARAM 0x8245 +#define GL_DEBUG_SOURCE_API 0x8246 +#define GL_DEBUG_SOURCE_WINDOW_SYSTEM 0x8247 +#define GL_DEBUG_SOURCE_SHADER_COMPILER 0x8248 +#define GL_DEBUG_SOURCE_THIRD_PARTY 0x8249 +#define GL_DEBUG_SOURCE_APPLICATION 0x824A +#define GL_DEBUG_SOURCE_OTHER 0x824B +#define GL_DEBUG_TYPE_ERROR 0x824C +#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR 0x824D +#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR 0x824E +#define GL_DEBUG_TYPE_PORTABILITY 0x824F +#define GL_DEBUG_TYPE_PERFORMANCE 0x8250 +#define GL_DEBUG_TYPE_OTHER 0x8251 +#define GL_MAX_DEBUG_MESSAGE_LENGTH 0x9143 +#define GL_MAX_DEBUG_LOGGED_MESSAGES 0x9144 +#define GL_DEBUG_LOGGED_MESSAGES 0x9145 +#define GL_DEBUG_SEVERITY_HIGH 0x9146 +#define GL_DEBUG_SEVERITY_MEDIUM 0x9147 +#define GL_DEBUG_SEVERITY_LOW 0x9148 +#define GL_DEBUG_TYPE_MARKER 0x8268 +#define GL_DEBUG_TYPE_PUSH_GROUP 0x8269 +#define GL_DEBUG_TYPE_POP_GROUP 0x826A +#define GL_DEBUG_SEVERITY_NOTIFICATION 0x826B +#define GL_MAX_DEBUG_GROUP_STACK_DEPTH 0x826C +#define GL_DEBUG_GROUP_STACK_DEPTH 0x826D +#define GL_BUFFER 0x82E0 +#define GL_SHADER 0x82E1 +#define GL_PROGRAM 0x82E2 +#define GL_QUERY 0x82E3 +#define GL_PROGRAM_PIPELINE 0x82E4 +#define GL_SAMPLER 0x82E6 +#define GL_MAX_LABEL_LENGTH 0x82E8 +#define GL_DEBUG_OUTPUT 0x92E0 +#define GL_CONTEXT_FLAG_DEBUG_BIT 0x00000002 +#define GL_MAX_UNIFORM_LOCATIONS 0x826E +#define GL_FRAMEBUFFER_DEFAULT_WIDTH 0x9310 +#define GL_FRAMEBUFFER_DEFAULT_HEIGHT 0x9311 +#define GL_FRAMEBUFFER_DEFAULT_LAYERS 0x9312 +#define GL_FRAMEBUFFER_DEFAULT_SAMPLES 0x9313 +#define GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS 0x9314 +#define GL_MAX_FRAMEBUFFER_WIDTH 0x9315 +#define GL_MAX_FRAMEBUFFER_HEIGHT 0x9316 +#define GL_MAX_FRAMEBUFFER_LAYERS 0x9317 +#define GL_MAX_FRAMEBUFFER_SAMPLES 0x9318 +#define GL_INTERNALFORMAT_SUPPORTED 0x826F +#define GL_INTERNALFORMAT_PREFERRED 0x8270 +#define GL_INTERNALFORMAT_RED_SIZE 0x8271 +#define GL_INTERNALFORMAT_GREEN_SIZE 0x8272 +#define GL_INTERNALFORMAT_BLUE_SIZE 0x8273 +#define GL_INTERNALFORMAT_ALPHA_SIZE 0x8274 +#define GL_INTERNALFORMAT_DEPTH_SIZE 0x8275 +#define GL_INTERNALFORMAT_STENCIL_SIZE 0x8276 +#define GL_INTERNALFORMAT_SHARED_SIZE 0x8277 +#define GL_INTERNALFORMAT_RED_TYPE 0x8278 +#define GL_INTERNALFORMAT_GREEN_TYPE 0x8279 +#define GL_INTERNALFORMAT_BLUE_TYPE 0x827A +#define GL_INTERNALFORMAT_ALPHA_TYPE 0x827B +#define GL_INTERNALFORMAT_DEPTH_TYPE 0x827C +#define GL_INTERNALFORMAT_STENCIL_TYPE 0x827D +#define GL_MAX_WIDTH 0x827E +#define GL_MAX_HEIGHT 0x827F +#define GL_MAX_DEPTH 0x8280 +#define GL_MAX_LAYERS 0x8281 +#define GL_MAX_COMBINED_DIMENSIONS 0x8282 +#define GL_COLOR_COMPONENTS 0x8283 +#define GL_DEPTH_COMPONENTS 0x8284 +#define GL_STENCIL_COMPONENTS 0x8285 +#define GL_COLOR_RENDERABLE 0x8286 +#define GL_DEPTH_RENDERABLE 0x8287 +#define GL_STENCIL_RENDERABLE 0x8288 +#define GL_FRAMEBUFFER_RENDERABLE 0x8289 +#define GL_FRAMEBUFFER_RENDERABLE_LAYERED 0x828A +#define GL_FRAMEBUFFER_BLEND 0x828B +#define GL_READ_PIXELS 0x828C +#define GL_READ_PIXELS_FORMAT 0x828D +#define GL_READ_PIXELS_TYPE 0x828E +#define GL_TEXTURE_IMAGE_FORMAT 0x828F +#define GL_TEXTURE_IMAGE_TYPE 0x8290 +#define GL_GET_TEXTURE_IMAGE_FORMAT 0x8291 +#define GL_GET_TEXTURE_IMAGE_TYPE 0x8292 +#define GL_MIPMAP 0x8293 +#define GL_MANUAL_GENERATE_MIPMAP 0x8294 +#define GL_AUTO_GENERATE_MIPMAP 0x8295 +#define GL_COLOR_ENCODING 0x8296 +#define GL_SRGB_READ 0x8297 +#define GL_SRGB_WRITE 0x8298 +#define GL_FILTER 0x829A +#define GL_VERTEX_TEXTURE 0x829B +#define GL_TESS_CONTROL_TEXTURE 0x829C +#define GL_TESS_EVALUATION_TEXTURE 0x829D +#define GL_GEOMETRY_TEXTURE 0x829E +#define GL_FRAGMENT_TEXTURE 0x829F +#define GL_COMPUTE_TEXTURE 0x82A0 +#define GL_TEXTURE_SHADOW 0x82A1 +#define GL_TEXTURE_GATHER 0x82A2 +#define GL_TEXTURE_GATHER_SHADOW 0x82A3 +#define GL_SHADER_IMAGE_LOAD 0x82A4 +#define GL_SHADER_IMAGE_STORE 0x82A5 +#define GL_SHADER_IMAGE_ATOMIC 0x82A6 +#define GL_IMAGE_TEXEL_SIZE 0x82A7 +#define GL_IMAGE_COMPATIBILITY_CLASS 0x82A8 +#define GL_IMAGE_PIXEL_FORMAT 0x82A9 +#define GL_IMAGE_PIXEL_TYPE 0x82AA +#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST 0x82AC +#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST 0x82AD +#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE 0x82AE +#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE 0x82AF +#define GL_TEXTURE_COMPRESSED_BLOCK_WIDTH 0x82B1 +#define GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT 0x82B2 +#define GL_TEXTURE_COMPRESSED_BLOCK_SIZE 0x82B3 +#define GL_CLEAR_BUFFER 0x82B4 +#define GL_TEXTURE_VIEW 0x82B5 +#define GL_VIEW_COMPATIBILITY_CLASS 0x82B6 +#define GL_FULL_SUPPORT 0x82B7 +#define GL_CAVEAT_SUPPORT 0x82B8 +#define GL_IMAGE_CLASS_4_X_32 0x82B9 +#define GL_IMAGE_CLASS_2_X_32 0x82BA +#define GL_IMAGE_CLASS_1_X_32 0x82BB +#define GL_IMAGE_CLASS_4_X_16 0x82BC +#define GL_IMAGE_CLASS_2_X_16 0x82BD +#define GL_IMAGE_CLASS_1_X_16 0x82BE +#define GL_IMAGE_CLASS_4_X_8 0x82BF +#define GL_IMAGE_CLASS_2_X_8 0x82C0 +#define GL_IMAGE_CLASS_1_X_8 0x82C1 +#define GL_IMAGE_CLASS_11_11_10 0x82C2 +#define GL_IMAGE_CLASS_10_10_10_2 0x82C3 +#define GL_VIEW_CLASS_128_BITS 0x82C4 +#define GL_VIEW_CLASS_96_BITS 0x82C5 +#define GL_VIEW_CLASS_64_BITS 0x82C6 +#define GL_VIEW_CLASS_48_BITS 0x82C7 +#define GL_VIEW_CLASS_32_BITS 0x82C8 +#define GL_VIEW_CLASS_24_BITS 0x82C9 +#define GL_VIEW_CLASS_16_BITS 0x82CA +#define GL_VIEW_CLASS_8_BITS 0x82CB +#define GL_VIEW_CLASS_S3TC_DXT1_RGB 0x82CC +#define GL_VIEW_CLASS_S3TC_DXT1_RGBA 0x82CD +#define GL_VIEW_CLASS_S3TC_DXT3_RGBA 0x82CE +#define GL_VIEW_CLASS_S3TC_DXT5_RGBA 0x82CF +#define GL_VIEW_CLASS_RGTC1_RED 0x82D0 +#define GL_VIEW_CLASS_RGTC2_RG 0x82D1 +#define GL_VIEW_CLASS_BPTC_UNORM 0x82D2 +#define GL_VIEW_CLASS_BPTC_FLOAT 0x82D3 +#define GL_UNIFORM 0x92E1 +#define GL_UNIFORM_BLOCK 0x92E2 +#define GL_PROGRAM_INPUT 0x92E3 +#define GL_PROGRAM_OUTPUT 0x92E4 +#define GL_BUFFER_VARIABLE 0x92E5 +#define GL_SHADER_STORAGE_BLOCK 0x92E6 +#define GL_VERTEX_SUBROUTINE 0x92E8 +#define GL_TESS_CONTROL_SUBROUTINE 0x92E9 +#define GL_TESS_EVALUATION_SUBROUTINE 0x92EA +#define GL_GEOMETRY_SUBROUTINE 0x92EB +#define GL_FRAGMENT_SUBROUTINE 0x92EC +#define GL_COMPUTE_SUBROUTINE 0x92ED +#define GL_VERTEX_SUBROUTINE_UNIFORM 0x92EE +#define GL_TESS_CONTROL_SUBROUTINE_UNIFORM 0x92EF +#define GL_TESS_EVALUATION_SUBROUTINE_UNIFORM 0x92F0 +#define GL_GEOMETRY_SUBROUTINE_UNIFORM 0x92F1 +#define GL_FRAGMENT_SUBROUTINE_UNIFORM 0x92F2 +#define GL_COMPUTE_SUBROUTINE_UNIFORM 0x92F3 +#define GL_TRANSFORM_FEEDBACK_VARYING 0x92F4 +#define GL_ACTIVE_RESOURCES 0x92F5 +#define GL_MAX_NAME_LENGTH 0x92F6 +#define GL_MAX_NUM_ACTIVE_VARIABLES 0x92F7 +#define GL_MAX_NUM_COMPATIBLE_SUBROUTINES 0x92F8 +#define GL_NAME_LENGTH 0x92F9 +#define GL_TYPE 0x92FA +#define GL_ARRAY_SIZE 0x92FB +#define GL_OFFSET 0x92FC +#define GL_BLOCK_INDEX 0x92FD +#define GL_ARRAY_STRIDE 0x92FE +#define GL_MATRIX_STRIDE 0x92FF +#define GL_IS_ROW_MAJOR 0x9300 +#define GL_ATOMIC_COUNTER_BUFFER_INDEX 0x9301 +#define GL_BUFFER_BINDING 0x9302 +#define GL_BUFFER_DATA_SIZE 0x9303 +#define GL_NUM_ACTIVE_VARIABLES 0x9304 +#define GL_ACTIVE_VARIABLES 0x9305 +#define GL_REFERENCED_BY_VERTEX_SHADER 0x9306 +#define GL_REFERENCED_BY_TESS_CONTROL_SHADER 0x9307 +#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER 0x9308 +#define GL_REFERENCED_BY_GEOMETRY_SHADER 0x9309 +#define GL_REFERENCED_BY_FRAGMENT_SHADER 0x930A +#define GL_REFERENCED_BY_COMPUTE_SHADER 0x930B +#define GL_TOP_LEVEL_ARRAY_SIZE 0x930C +#define GL_TOP_LEVEL_ARRAY_STRIDE 0x930D +#define GL_LOCATION 0x930E +#define GL_LOCATION_INDEX 0x930F +#define GL_IS_PER_PATCH 0x92E7 +#define GL_SHADER_STORAGE_BUFFER 0x90D2 +#define GL_SHADER_STORAGE_BUFFER_BINDING 0x90D3 +#define GL_SHADER_STORAGE_BUFFER_START 0x90D4 +#define GL_SHADER_STORAGE_BUFFER_SIZE 0x90D5 +#define GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS 0x90D6 +#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS 0x90D7 +#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS 0x90D8 +#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS 0x90D9 +#define GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS 0x90DA +#define GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS 0x90DB +#define GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS 0x90DC +#define GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS 0x90DD +#define GL_MAX_SHADER_STORAGE_BLOCK_SIZE 0x90DE +#define GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT 0x90DF +#define GL_SHADER_STORAGE_BARRIER_BIT 0x00002000 +#define GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES 0x8F39 +#define GL_DEPTH_STENCIL_TEXTURE_MODE 0x90EA +#define GL_TEXTURE_BUFFER_OFFSET 0x919D +#define GL_TEXTURE_BUFFER_SIZE 0x919E +#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT 0x919F +#define GL_TEXTURE_VIEW_MIN_LEVEL 0x82DB +#define GL_TEXTURE_VIEW_NUM_LEVELS 0x82DC +#define GL_TEXTURE_VIEW_MIN_LAYER 0x82DD +#define GL_TEXTURE_VIEW_NUM_LAYERS 0x82DE +#define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF +#define GL_VERTEX_ATTRIB_BINDING 0x82D4 +#define GL_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D5 +#define GL_VERTEX_BINDING_DIVISOR 0x82D6 +#define GL_VERTEX_BINDING_OFFSET 0x82D7 +#define GL_VERTEX_BINDING_STRIDE 0x82D8 +#define GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D9 +#define GL_MAX_VERTEX_ATTRIB_BINDINGS 0x82DA +#define GL_VERTEX_BINDING_BUFFER 0x8F4F +typedef void (APIENTRYP PFNGLCLEARBUFFERDATAPROC) (GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data); +typedef void (APIENTRYP PFNGLCLEARBUFFERSUBDATAPROC) (GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data); +typedef void (APIENTRYP PFNGLDISPATCHCOMPUTEPROC) (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z); +typedef void (APIENTRYP PFNGLDISPATCHCOMPUTEINDIRECTPROC) (GLintptr indirect); +typedef void (APIENTRYP PFNGLCOPYIMAGESUBDATAPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth); +typedef void (APIENTRYP PFNGLFRAMEBUFFERPARAMETERIPROC) (GLenum target, GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETINTERNALFORMATI64VPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint64 *params); +typedef void (APIENTRYP PFNGLINVALIDATETEXSUBIMAGEPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth); +typedef void (APIENTRYP PFNGLINVALIDATETEXIMAGEPROC) (GLuint texture, GLint level); +typedef void (APIENTRYP PFNGLINVALIDATEBUFFERSUBDATAPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length); +typedef void (APIENTRYP PFNGLINVALIDATEBUFFERDATAPROC) (GLuint buffer); +typedef void (APIENTRYP PFNGLINVALIDATEFRAMEBUFFERPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments); +typedef void (APIENTRYP PFNGLINVALIDATESUBFRAMEBUFFERPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTPROC) (GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride); +typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTPROC) (GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride); +typedef void (APIENTRYP PFNGLGETPROGRAMINTERFACEIVPROC) (GLuint program, GLenum programInterface, GLenum pname, GLint *params); +typedef GLuint (APIENTRYP PFNGLGETPROGRAMRESOURCEINDEXPROC) (GLuint program, GLenum programInterface, const GLchar *name); +typedef void (APIENTRYP PFNGLGETPROGRAMRESOURCENAMEPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name); +typedef void (APIENTRYP PFNGLGETPROGRAMRESOURCEIVPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei count, GLsizei *length, GLint *params); +typedef GLint (APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONPROC) (GLuint program, GLenum programInterface, const GLchar *name); +typedef GLint (APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC) (GLuint program, GLenum programInterface, const GLchar *name); +typedef void (APIENTRYP PFNGLSHADERSTORAGEBLOCKBINDINGPROC) (GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding); +typedef void (APIENTRYP PFNGLTEXBUFFERRANGEPROC) (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); +typedef void (APIENTRYP PFNGLTEXSTORAGE2DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); +typedef void (APIENTRYP PFNGLTEXSTORAGE3DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); +typedef void (APIENTRYP PFNGLTEXTUREVIEWPROC) (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers); +typedef void (APIENTRYP PFNGLBINDVERTEXBUFFERPROC) (GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); +typedef void (APIENTRYP PFNGLVERTEXATTRIBFORMATPROC) (GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); +typedef void (APIENTRYP PFNGLVERTEXATTRIBIFORMATPROC) (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +typedef void (APIENTRYP PFNGLVERTEXATTRIBLFORMATPROC) (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +typedef void (APIENTRYP PFNGLVERTEXATTRIBBINDINGPROC) (GLuint attribindex, GLuint bindingindex); +typedef void (APIENTRYP PFNGLVERTEXBINDINGDIVISORPROC) (GLuint bindingindex, GLuint divisor); +typedef void (APIENTRYP PFNGLDEBUGMESSAGECONTROLPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); +typedef void (APIENTRYP PFNGLDEBUGMESSAGEINSERTPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); +typedef void (APIENTRYP PFNGLDEBUGMESSAGECALLBACKPROC) (GLDEBUGPROC callback, const void *userParam); +typedef GLuint (APIENTRYP PFNGLGETDEBUGMESSAGELOGPROC) (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); +typedef void (APIENTRYP PFNGLPUSHDEBUGGROUPPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message); +typedef void (APIENTRYP PFNGLPOPDEBUGGROUPPROC) (void); +typedef void (APIENTRYP PFNGLOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label); +typedef void (APIENTRYP PFNGLGETOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label); +typedef void (APIENTRYP PFNGLOBJECTPTRLABELPROC) (const void *ptr, GLsizei length, const GLchar *label); +typedef void (APIENTRYP PFNGLGETOBJECTPTRLABELPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glClearBufferData (GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data); +GLAPI void APIENTRY glClearBufferSubData (GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data); +GLAPI void APIENTRY glDispatchCompute (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z); +GLAPI void APIENTRY glDispatchComputeIndirect (GLintptr indirect); +GLAPI void APIENTRY glCopyImageSubData (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth); +GLAPI void APIENTRY glFramebufferParameteri (GLenum target, GLenum pname, GLint param); +GLAPI void APIENTRY glGetFramebufferParameteriv (GLenum target, GLenum pname, GLint *params); +GLAPI void APIENTRY glGetInternalformati64v (GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint64 *params); +GLAPI void APIENTRY glInvalidateTexSubImage (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth); +GLAPI void APIENTRY glInvalidateTexImage (GLuint texture, GLint level); +GLAPI void APIENTRY glInvalidateBufferSubData (GLuint buffer, GLintptr offset, GLsizeiptr length); +GLAPI void APIENTRY glInvalidateBufferData (GLuint buffer); +GLAPI void APIENTRY glInvalidateFramebuffer (GLenum target, GLsizei numAttachments, const GLenum *attachments); +GLAPI void APIENTRY glInvalidateSubFramebuffer (GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI void APIENTRY glMultiDrawArraysIndirect (GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride); +GLAPI void APIENTRY glMultiDrawElementsIndirect (GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride); +GLAPI void APIENTRY glGetProgramInterfaceiv (GLuint program, GLenum programInterface, GLenum pname, GLint *params); +GLAPI GLuint APIENTRY glGetProgramResourceIndex (GLuint program, GLenum programInterface, const GLchar *name); +GLAPI void APIENTRY glGetProgramResourceName (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name); +GLAPI void APIENTRY glGetProgramResourceiv (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei count, GLsizei *length, GLint *params); +GLAPI GLint APIENTRY glGetProgramResourceLocation (GLuint program, GLenum programInterface, const GLchar *name); +GLAPI GLint APIENTRY glGetProgramResourceLocationIndex (GLuint program, GLenum programInterface, const GLchar *name); +GLAPI void APIENTRY glShaderStorageBlockBinding (GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding); +GLAPI void APIENTRY glTexBufferRange (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); +GLAPI void APIENTRY glTexStorage2DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); +GLAPI void APIENTRY glTexStorage3DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); +GLAPI void APIENTRY glTextureView (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers); +GLAPI void APIENTRY glBindVertexBuffer (GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); +GLAPI void APIENTRY glVertexAttribFormat (GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); +GLAPI void APIENTRY glVertexAttribIFormat (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +GLAPI void APIENTRY glVertexAttribLFormat (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +GLAPI void APIENTRY glVertexAttribBinding (GLuint attribindex, GLuint bindingindex); +GLAPI void APIENTRY glVertexBindingDivisor (GLuint bindingindex, GLuint divisor); +GLAPI void APIENTRY glDebugMessageControl (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); +GLAPI void APIENTRY glDebugMessageInsert (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); +GLAPI void APIENTRY glDebugMessageCallback (GLDEBUGPROC callback, const void *userParam); +GLAPI GLuint APIENTRY glGetDebugMessageLog (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); +GLAPI void APIENTRY glPushDebugGroup (GLenum source, GLuint id, GLsizei length, const GLchar *message); +GLAPI void APIENTRY glPopDebugGroup (void); +GLAPI void APIENTRY glObjectLabel (GLenum identifier, GLuint name, GLsizei length, const GLchar *label); +GLAPI void APIENTRY glGetObjectLabel (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label); +GLAPI void APIENTRY glObjectPtrLabel (const void *ptr, GLsizei length, const GLchar *label); +GLAPI void APIENTRY glGetObjectPtrLabel (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label); +#endif +#endif /* GL_VERSION_4_3 */ + +#ifndef GL_VERSION_4_4 +#define GL_VERSION_4_4 1 +#define GL_MAX_VERTEX_ATTRIB_STRIDE 0x82E5 +#define GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED 0x8221 +#define GL_TEXTURE_BUFFER_BINDING 0x8C2A +#define GL_MAP_PERSISTENT_BIT 0x0040 +#define GL_MAP_COHERENT_BIT 0x0080 +#define GL_DYNAMIC_STORAGE_BIT 0x0100 +#define GL_CLIENT_STORAGE_BIT 0x0200 +#define GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT 0x00004000 +#define GL_BUFFER_IMMUTABLE_STORAGE 0x821F +#define GL_BUFFER_STORAGE_FLAGS 0x8220 +#define GL_CLEAR_TEXTURE 0x9365 +#define GL_LOCATION_COMPONENT 0x934A +#define GL_TRANSFORM_FEEDBACK_BUFFER_INDEX 0x934B +#define GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE 0x934C +#define GL_QUERY_BUFFER 0x9192 +#define GL_QUERY_BUFFER_BARRIER_BIT 0x00008000 +#define GL_QUERY_BUFFER_BINDING 0x9193 +#define GL_QUERY_RESULT_NO_WAIT 0x9194 +#define GL_MIRROR_CLAMP_TO_EDGE 0x8743 +typedef void (APIENTRYP PFNGLBUFFERSTORAGEPROC) (GLenum target, GLsizeiptr size, const void *data, GLbitfield flags); +typedef void (APIENTRYP PFNGLCLEARTEXIMAGEPROC) (GLuint texture, GLint level, GLenum format, GLenum type, const void *data); +typedef void (APIENTRYP PFNGLCLEARTEXSUBIMAGEPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); +typedef void (APIENTRYP PFNGLBINDBUFFERSBASEPROC) (GLenum target, GLuint first, GLsizei count, const GLuint *buffers); +typedef void (APIENTRYP PFNGLBINDBUFFERSRANGEPROC) (GLenum target, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizeiptr *sizes); +typedef void (APIENTRYP PFNGLBINDTEXTURESPROC) (GLuint first, GLsizei count, const GLuint *textures); +typedef void (APIENTRYP PFNGLBINDSAMPLERSPROC) (GLuint first, GLsizei count, const GLuint *samplers); +typedef void (APIENTRYP PFNGLBINDIMAGETEXTURESPROC) (GLuint first, GLsizei count, const GLuint *textures); +typedef void (APIENTRYP PFNGLBINDVERTEXBUFFERSPROC) (GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBufferStorage (GLenum target, GLsizeiptr size, const void *data, GLbitfield flags); +GLAPI void APIENTRY glClearTexImage (GLuint texture, GLint level, GLenum format, GLenum type, const void *data); +GLAPI void APIENTRY glClearTexSubImage (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); +GLAPI void APIENTRY glBindBuffersBase (GLenum target, GLuint first, GLsizei count, const GLuint *buffers); +GLAPI void APIENTRY glBindBuffersRange (GLenum target, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizeiptr *sizes); +GLAPI void APIENTRY glBindTextures (GLuint first, GLsizei count, const GLuint *textures); +GLAPI void APIENTRY glBindSamplers (GLuint first, GLsizei count, const GLuint *samplers); +GLAPI void APIENTRY glBindImageTextures (GLuint first, GLsizei count, const GLuint *textures); +GLAPI void APIENTRY glBindVertexBuffers (GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides); +#endif +#endif /* GL_VERSION_4_4 */ + +#ifndef GL_VERSION_4_5 +#define GL_VERSION_4_5 1 +#define GL_CONTEXT_LOST 0x0507 +#define GL_NEGATIVE_ONE_TO_ONE 0x935E +#define GL_ZERO_TO_ONE 0x935F +#define GL_CLIP_ORIGIN 0x935C +#define GL_CLIP_DEPTH_MODE 0x935D +#define GL_QUERY_WAIT_INVERTED 0x8E17 +#define GL_QUERY_NO_WAIT_INVERTED 0x8E18 +#define GL_QUERY_BY_REGION_WAIT_INVERTED 0x8E19 +#define GL_QUERY_BY_REGION_NO_WAIT_INVERTED 0x8E1A +#define GL_MAX_CULL_DISTANCES 0x82F9 +#define GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES 0x82FA +#define GL_TEXTURE_TARGET 0x1006 +#define GL_QUERY_TARGET 0x82EA +#define GL_GUILTY_CONTEXT_RESET 0x8253 +#define GL_INNOCENT_CONTEXT_RESET 0x8254 +#define GL_UNKNOWN_CONTEXT_RESET 0x8255 +#define GL_RESET_NOTIFICATION_STRATEGY 0x8256 +#define GL_LOSE_CONTEXT_ON_RESET 0x8252 +#define GL_NO_RESET_NOTIFICATION 0x8261 +#define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT 0x00000004 +#define GL_CONTEXT_RELEASE_BEHAVIOR 0x82FB +#define GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH 0x82FC +typedef void (APIENTRYP PFNGLCLIPCONTROLPROC) (GLenum origin, GLenum depth); +typedef void (APIENTRYP PFNGLCREATETRANSFORMFEEDBACKSPROC) (GLsizei n, GLuint *ids); +typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC) (GLuint xfb, GLuint index, GLuint buffer); +typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC) (GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); +typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKIVPROC) (GLuint xfb, GLenum pname, GLint *param); +typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKI_VPROC) (GLuint xfb, GLenum pname, GLuint index, GLint *param); +typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKI64_VPROC) (GLuint xfb, GLenum pname, GLuint index, GLint64 *param); +typedef void (APIENTRYP PFNGLCREATEBUFFERSPROC) (GLsizei n, GLuint *buffers); +typedef void (APIENTRYP PFNGLNAMEDBUFFERSTORAGEPROC) (GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags); +typedef void (APIENTRYP PFNGLNAMEDBUFFERDATAPROC) (GLuint buffer, GLsizeiptr size, const void *data, GLenum usage); +typedef void (APIENTRYP PFNGLNAMEDBUFFERSUBDATAPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data); +typedef void (APIENTRYP PFNGLCOPYNAMEDBUFFERSUBDATAPROC) (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); +typedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERDATAPROC) (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data); +typedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERSUBDATAPROC) (GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data); +typedef void *(APIENTRYP PFNGLMAPNAMEDBUFFERPROC) (GLuint buffer, GLenum access); +typedef void *(APIENTRYP PFNGLMAPNAMEDBUFFERRANGEPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access); +typedef GLboolean (APIENTRYP PFNGLUNMAPNAMEDBUFFERPROC) (GLuint buffer); +typedef void (APIENTRYP PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length); +typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERIVPROC) (GLuint buffer, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERI64VPROC) (GLuint buffer, GLenum pname, GLint64 *params); +typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPOINTERVPROC) (GLuint buffer, GLenum pname, void **params); +typedef void (APIENTRYP PFNGLGETNAMEDBUFFERSUBDATAPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, void *data); +typedef void (APIENTRYP PFNGLCREATEFRAMEBUFFERSPROC) (GLsizei n, GLuint *framebuffers); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC) (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC) (GLuint framebuffer, GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTUREPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC) (GLuint framebuffer, GLenum buf); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC) (GLuint framebuffer, GLsizei n, const GLenum *bufs); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC) (GLuint framebuffer, GLenum src); +typedef void (APIENTRYP PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC) (GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments); +typedef void (APIENTRYP PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC) (GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERIVPROC) (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint *value); +typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC) (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint *value); +typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERFVPROC) (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat *value); +typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERFIPROC) (GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); +typedef void (APIENTRYP PFNGLBLITNAMEDFRAMEBUFFERPROC) (GLuint readFramebuffer, GLuint drawFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +typedef GLenum (APIENTRYP PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC) (GLuint framebuffer, GLenum target); +typedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC) (GLuint framebuffer, GLenum pname, GLint *param); +typedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLCREATERENDERBUFFERSPROC) (GLsizei n, GLuint *renderbuffers); +typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEPROC) (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC) (GLuint renderbuffer, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLCREATETEXTURESPROC) (GLenum target, GLsizei n, GLuint *textures); +typedef void (APIENTRYP PFNGLTEXTUREBUFFERPROC) (GLuint texture, GLenum internalformat, GLuint buffer); +typedef void (APIENTRYP PFNGLTEXTUREBUFFERRANGEPROC) (GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); +typedef void (APIENTRYP PFNGLTEXTURESTORAGE1DPROC) (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width); +typedef void (APIENTRYP PFNGLTEXTURESTORAGE2DPROC) (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLTEXTURESTORAGE3DPROC) (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); +typedef void (APIENTRYP PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC) (GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); +typedef void (APIENTRYP PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC) (GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); +typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE1DPROC) (GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels); +typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE2DPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); +typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE3DPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC) (GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); +typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE1DPROC) (GLuint texture, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE2DPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE3DPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLTEXTUREPARAMETERFPROC) (GLuint texture, GLenum pname, GLfloat param); +typedef void (APIENTRYP PFNGLTEXTUREPARAMETERFVPROC) (GLuint texture, GLenum pname, const GLfloat *param); +typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIPROC) (GLuint texture, GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIIVPROC) (GLuint texture, GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIUIVPROC) (GLuint texture, GLenum pname, const GLuint *params); +typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIVPROC) (GLuint texture, GLenum pname, const GLint *param); +typedef void (APIENTRYP PFNGLGENERATETEXTUREMIPMAPPROC) (GLuint texture); +typedef void (APIENTRYP PFNGLBINDTEXTUREUNITPROC) (GLuint unit, GLuint texture); +typedef void (APIENTRYP PFNGLGETTEXTUREIMAGEPROC) (GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels); +typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC) (GLuint texture, GLint level, GLsizei bufSize, void *pixels); +typedef void (APIENTRYP PFNGLGETTEXTURELEVELPARAMETERFVPROC) (GLuint texture, GLint level, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETTEXTURELEVELPARAMETERIVPROC) (GLuint texture, GLint level, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERFVPROC) (GLuint texture, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIIVPROC) (GLuint texture, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIUIVPROC) (GLuint texture, GLenum pname, GLuint *params); +typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIVPROC) (GLuint texture, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLCREATEVERTEXARRAYSPROC) (GLsizei n, GLuint *arrays); +typedef void (APIENTRYP PFNGLDISABLEVERTEXARRAYATTRIBPROC) (GLuint vaobj, GLuint index); +typedef void (APIENTRYP PFNGLENABLEVERTEXARRAYATTRIBPROC) (GLuint vaobj, GLuint index); +typedef void (APIENTRYP PFNGLVERTEXARRAYELEMENTBUFFERPROC) (GLuint vaobj, GLuint buffer); +typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXBUFFERPROC) (GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); +typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXBUFFERSPROC) (GLuint vaobj, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides); +typedef void (APIENTRYP PFNGLVERTEXARRAYATTRIBBINDINGPROC) (GLuint vaobj, GLuint attribindex, GLuint bindingindex); +typedef void (APIENTRYP PFNGLVERTEXARRAYATTRIBFORMATPROC) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); +typedef void (APIENTRYP PFNGLVERTEXARRAYATTRIBIFORMATPROC) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +typedef void (APIENTRYP PFNGLVERTEXARRAYATTRIBLFORMATPROC) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +typedef void (APIENTRYP PFNGLVERTEXARRAYBINDINGDIVISORPROC) (GLuint vaobj, GLuint bindingindex, GLuint divisor); +typedef void (APIENTRYP PFNGLGETVERTEXARRAYIVPROC) (GLuint vaobj, GLenum pname, GLint *param); +typedef void (APIENTRYP PFNGLGETVERTEXARRAYINDEXEDIVPROC) (GLuint vaobj, GLuint index, GLenum pname, GLint *param); +typedef void (APIENTRYP PFNGLGETVERTEXARRAYINDEXED64IVPROC) (GLuint vaobj, GLuint index, GLenum pname, GLint64 *param); +typedef void (APIENTRYP PFNGLCREATESAMPLERSPROC) (GLsizei n, GLuint *samplers); +typedef void (APIENTRYP PFNGLCREATEPROGRAMPIPELINESPROC) (GLsizei n, GLuint *pipelines); +typedef void (APIENTRYP PFNGLCREATEQUERIESPROC) (GLenum target, GLsizei n, GLuint *ids); +typedef void (APIENTRYP PFNGLGETQUERYBUFFEROBJECTI64VPROC) (GLuint id, GLuint buffer, GLenum pname, GLintptr offset); +typedef void (APIENTRYP PFNGLGETQUERYBUFFEROBJECTIVPROC) (GLuint id, GLuint buffer, GLenum pname, GLintptr offset); +typedef void (APIENTRYP PFNGLGETQUERYBUFFEROBJECTUI64VPROC) (GLuint id, GLuint buffer, GLenum pname, GLintptr offset); +typedef void (APIENTRYP PFNGLGETQUERYBUFFEROBJECTUIVPROC) (GLuint id, GLuint buffer, GLenum pname, GLintptr offset); +typedef void (APIENTRYP PFNGLMEMORYBARRIERBYREGIONPROC) (GLbitfield barriers); +typedef void (APIENTRYP PFNGLGETTEXTURESUBIMAGEPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void *pixels); +typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void *pixels); +typedef GLenum (APIENTRYP PFNGLGETGRAPHICSRESETSTATUSPROC) (void); +typedef void (APIENTRYP PFNGLGETNCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint lod, GLsizei bufSize, void *pixels); +typedef void (APIENTRYP PFNGLGETNTEXIMAGEPROC) (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels); +typedef void (APIENTRYP PFNGLGETNUNIFORMDVPROC) (GLuint program, GLint location, GLsizei bufSize, GLdouble *params); +typedef void (APIENTRYP PFNGLGETNUNIFORMFVPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params); +typedef void (APIENTRYP PFNGLGETNUNIFORMIVPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params); +typedef void (APIENTRYP PFNGLGETNUNIFORMUIVPROC) (GLuint program, GLint location, GLsizei bufSize, GLuint *params); +typedef void (APIENTRYP PFNGLREADNPIXELSPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); +typedef void (APIENTRYP PFNGLTEXTUREBARRIERPROC) (void); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glClipControl (GLenum origin, GLenum depth); +GLAPI void APIENTRY glCreateTransformFeedbacks (GLsizei n, GLuint *ids); +GLAPI void APIENTRY glTransformFeedbackBufferBase (GLuint xfb, GLuint index, GLuint buffer); +GLAPI void APIENTRY glTransformFeedbackBufferRange (GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); +GLAPI void APIENTRY glGetTransformFeedbackiv (GLuint xfb, GLenum pname, GLint *param); +GLAPI void APIENTRY glGetTransformFeedbacki_v (GLuint xfb, GLenum pname, GLuint index, GLint *param); +GLAPI void APIENTRY glGetTransformFeedbacki64_v (GLuint xfb, GLenum pname, GLuint index, GLint64 *param); +GLAPI void APIENTRY glCreateBuffers (GLsizei n, GLuint *buffers); +GLAPI void APIENTRY glNamedBufferStorage (GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags); +GLAPI void APIENTRY glNamedBufferData (GLuint buffer, GLsizeiptr size, const void *data, GLenum usage); +GLAPI void APIENTRY glNamedBufferSubData (GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data); +GLAPI void APIENTRY glCopyNamedBufferSubData (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); +GLAPI void APIENTRY glClearNamedBufferData (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data); +GLAPI void APIENTRY glClearNamedBufferSubData (GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data); +GLAPI void *APIENTRY glMapNamedBuffer (GLuint buffer, GLenum access); +GLAPI void *APIENTRY glMapNamedBufferRange (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access); +GLAPI GLboolean APIENTRY glUnmapNamedBuffer (GLuint buffer); +GLAPI void APIENTRY glFlushMappedNamedBufferRange (GLuint buffer, GLintptr offset, GLsizeiptr length); +GLAPI void APIENTRY glGetNamedBufferParameteriv (GLuint buffer, GLenum pname, GLint *params); +GLAPI void APIENTRY glGetNamedBufferParameteri64v (GLuint buffer, GLenum pname, GLint64 *params); +GLAPI void APIENTRY glGetNamedBufferPointerv (GLuint buffer, GLenum pname, void **params); +GLAPI void APIENTRY glGetNamedBufferSubData (GLuint buffer, GLintptr offset, GLsizeiptr size, void *data); +GLAPI void APIENTRY glCreateFramebuffers (GLsizei n, GLuint *framebuffers); +GLAPI void APIENTRY glNamedFramebufferRenderbuffer (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +GLAPI void APIENTRY glNamedFramebufferParameteri (GLuint framebuffer, GLenum pname, GLint param); +GLAPI void APIENTRY glNamedFramebufferTexture (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level); +GLAPI void APIENTRY glNamedFramebufferTextureLayer (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer); +GLAPI void APIENTRY glNamedFramebufferDrawBuffer (GLuint framebuffer, GLenum buf); +GLAPI void APIENTRY glNamedFramebufferDrawBuffers (GLuint framebuffer, GLsizei n, const GLenum *bufs); +GLAPI void APIENTRY glNamedFramebufferReadBuffer (GLuint framebuffer, GLenum src); +GLAPI void APIENTRY glInvalidateNamedFramebufferData (GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments); +GLAPI void APIENTRY glInvalidateNamedFramebufferSubData (GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI void APIENTRY glClearNamedFramebufferiv (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint *value); +GLAPI void APIENTRY glClearNamedFramebufferuiv (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint *value); +GLAPI void APIENTRY glClearNamedFramebufferfv (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat *value); +GLAPI void APIENTRY glClearNamedFramebufferfi (GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); +GLAPI void APIENTRY glBlitNamedFramebuffer (GLuint readFramebuffer, GLuint drawFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +GLAPI GLenum APIENTRY glCheckNamedFramebufferStatus (GLuint framebuffer, GLenum target); +GLAPI void APIENTRY glGetNamedFramebufferParameteriv (GLuint framebuffer, GLenum pname, GLint *param); +GLAPI void APIENTRY glGetNamedFramebufferAttachmentParameteriv (GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params); +GLAPI void APIENTRY glCreateRenderbuffers (GLsizei n, GLuint *renderbuffers); +GLAPI void APIENTRY glNamedRenderbufferStorage (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height); +GLAPI void APIENTRY glNamedRenderbufferStorageMultisample (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +GLAPI void APIENTRY glGetNamedRenderbufferParameteriv (GLuint renderbuffer, GLenum pname, GLint *params); +GLAPI void APIENTRY glCreateTextures (GLenum target, GLsizei n, GLuint *textures); +GLAPI void APIENTRY glTextureBuffer (GLuint texture, GLenum internalformat, GLuint buffer); +GLAPI void APIENTRY glTextureBufferRange (GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); +GLAPI void APIENTRY glTextureStorage1D (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width); +GLAPI void APIENTRY glTextureStorage2D (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); +GLAPI void APIENTRY glTextureStorage3D (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); +GLAPI void APIENTRY glTextureStorage2DMultisample (GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); +GLAPI void APIENTRY glTextureStorage3DMultisample (GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); +GLAPI void APIENTRY glTextureSubImage1D (GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels); +GLAPI void APIENTRY glTextureSubImage2D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); +GLAPI void APIENTRY glTextureSubImage3D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); +GLAPI void APIENTRY glCompressedTextureSubImage1D (GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data); +GLAPI void APIENTRY glCompressedTextureSubImage2D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); +GLAPI void APIENTRY glCompressedTextureSubImage3D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); +GLAPI void APIENTRY glCopyTextureSubImage1D (GLuint texture, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +GLAPI void APIENTRY glCopyTextureSubImage2D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI void APIENTRY glCopyTextureSubImage3D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI void APIENTRY glTextureParameterf (GLuint texture, GLenum pname, GLfloat param); +GLAPI void APIENTRY glTextureParameterfv (GLuint texture, GLenum pname, const GLfloat *param); +GLAPI void APIENTRY glTextureParameteri (GLuint texture, GLenum pname, GLint param); +GLAPI void APIENTRY glTextureParameterIiv (GLuint texture, GLenum pname, const GLint *params); +GLAPI void APIENTRY glTextureParameterIuiv (GLuint texture, GLenum pname, const GLuint *params); +GLAPI void APIENTRY glTextureParameteriv (GLuint texture, GLenum pname, const GLint *param); +GLAPI void APIENTRY glGenerateTextureMipmap (GLuint texture); +GLAPI void APIENTRY glBindTextureUnit (GLuint unit, GLuint texture); +GLAPI void APIENTRY glGetTextureImage (GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels); +GLAPI void APIENTRY glGetCompressedTextureImage (GLuint texture, GLint level, GLsizei bufSize, void *pixels); +GLAPI void APIENTRY glGetTextureLevelParameterfv (GLuint texture, GLint level, GLenum pname, GLfloat *params); +GLAPI void APIENTRY glGetTextureLevelParameteriv (GLuint texture, GLint level, GLenum pname, GLint *params); +GLAPI void APIENTRY glGetTextureParameterfv (GLuint texture, GLenum pname, GLfloat *params); +GLAPI void APIENTRY glGetTextureParameterIiv (GLuint texture, GLenum pname, GLint *params); +GLAPI void APIENTRY glGetTextureParameterIuiv (GLuint texture, GLenum pname, GLuint *params); +GLAPI void APIENTRY glGetTextureParameteriv (GLuint texture, GLenum pname, GLint *params); +GLAPI void APIENTRY glCreateVertexArrays (GLsizei n, GLuint *arrays); +GLAPI void APIENTRY glDisableVertexArrayAttrib (GLuint vaobj, GLuint index); +GLAPI void APIENTRY glEnableVertexArrayAttrib (GLuint vaobj, GLuint index); +GLAPI void APIENTRY glVertexArrayElementBuffer (GLuint vaobj, GLuint buffer); +GLAPI void APIENTRY glVertexArrayVertexBuffer (GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); +GLAPI void APIENTRY glVertexArrayVertexBuffers (GLuint vaobj, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides); +GLAPI void APIENTRY glVertexArrayAttribBinding (GLuint vaobj, GLuint attribindex, GLuint bindingindex); +GLAPI void APIENTRY glVertexArrayAttribFormat (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); +GLAPI void APIENTRY glVertexArrayAttribIFormat (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +GLAPI void APIENTRY glVertexArrayAttribLFormat (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +GLAPI void APIENTRY glVertexArrayBindingDivisor (GLuint vaobj, GLuint bindingindex, GLuint divisor); +GLAPI void APIENTRY glGetVertexArrayiv (GLuint vaobj, GLenum pname, GLint *param); +GLAPI void APIENTRY glGetVertexArrayIndexediv (GLuint vaobj, GLuint index, GLenum pname, GLint *param); +GLAPI void APIENTRY glGetVertexArrayIndexed64iv (GLuint vaobj, GLuint index, GLenum pname, GLint64 *param); +GLAPI void APIENTRY glCreateSamplers (GLsizei n, GLuint *samplers); +GLAPI void APIENTRY glCreateProgramPipelines (GLsizei n, GLuint *pipelines); +GLAPI void APIENTRY glCreateQueries (GLenum target, GLsizei n, GLuint *ids); +GLAPI void APIENTRY glGetQueryBufferObjecti64v (GLuint id, GLuint buffer, GLenum pname, GLintptr offset); +GLAPI void APIENTRY glGetQueryBufferObjectiv (GLuint id, GLuint buffer, GLenum pname, GLintptr offset); +GLAPI void APIENTRY glGetQueryBufferObjectui64v (GLuint id, GLuint buffer, GLenum pname, GLintptr offset); +GLAPI void APIENTRY glGetQueryBufferObjectuiv (GLuint id, GLuint buffer, GLenum pname, GLintptr offset); +GLAPI void APIENTRY glMemoryBarrierByRegion (GLbitfield barriers); +GLAPI void APIENTRY glGetTextureSubImage (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void *pixels); +GLAPI void APIENTRY glGetCompressedTextureSubImage (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void *pixels); +GLAPI GLenum APIENTRY glGetGraphicsResetStatus (void); +GLAPI void APIENTRY glGetnCompressedTexImage (GLenum target, GLint lod, GLsizei bufSize, void *pixels); +GLAPI void APIENTRY glGetnTexImage (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels); +GLAPI void APIENTRY glGetnUniformdv (GLuint program, GLint location, GLsizei bufSize, GLdouble *params); +GLAPI void APIENTRY glGetnUniformfv (GLuint program, GLint location, GLsizei bufSize, GLfloat *params); +GLAPI void APIENTRY glGetnUniformiv (GLuint program, GLint location, GLsizei bufSize, GLint *params); +GLAPI void APIENTRY glGetnUniformuiv (GLuint program, GLint location, GLsizei bufSize, GLuint *params); +GLAPI void APIENTRY glReadnPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); +GLAPI void APIENTRY glTextureBarrier (void); +#endif +#endif /* GL_VERSION_4_5 */ + +#ifndef GL_VERSION_4_6 +#define GL_VERSION_4_6 1 +#define GL_SHADER_BINARY_FORMAT_SPIR_V 0x9551 +#define GL_SPIR_V_BINARY 0x9552 +#define GL_PARAMETER_BUFFER 0x80EE +#define GL_PARAMETER_BUFFER_BINDING 0x80EF +#define GL_CONTEXT_FLAG_NO_ERROR_BIT 0x00000008 +#define GL_VERTICES_SUBMITTED 0x82EE +#define GL_PRIMITIVES_SUBMITTED 0x82EF +#define GL_VERTEX_SHADER_INVOCATIONS 0x82F0 +#define GL_TESS_CONTROL_SHADER_PATCHES 0x82F1 +#define GL_TESS_EVALUATION_SHADER_INVOCATIONS 0x82F2 +#define GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED 0x82F3 +#define GL_FRAGMENT_SHADER_INVOCATIONS 0x82F4 +#define GL_COMPUTE_SHADER_INVOCATIONS 0x82F5 +#define GL_CLIPPING_INPUT_PRIMITIVES 0x82F6 +#define GL_CLIPPING_OUTPUT_PRIMITIVES 0x82F7 +#define GL_POLYGON_OFFSET_CLAMP 0x8E1B +#define GL_SPIR_V_EXTENSIONS 0x9553 +#define GL_NUM_SPIR_V_EXTENSIONS 0x9554 +#define GL_TEXTURE_MAX_ANISOTROPY 0x84FE +#define GL_MAX_TEXTURE_MAX_ANISOTROPY 0x84FF +#define GL_TRANSFORM_FEEDBACK_OVERFLOW 0x82EC +#define GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW 0x82ED +typedef void (APIENTRYP PFNGLSPECIALIZESHADERPROC) (GLuint shader, const GLchar *pEntryPoint, GLuint numSpecializationConstants, const GLuint *pConstantIndex, const GLuint *pConstantValue); +typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC) (GLenum mode, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); +typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC) (GLenum mode, GLenum type, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); +typedef void (APIENTRYP PFNGLPOLYGONOFFSETCLAMPPROC) (GLfloat factor, GLfloat units, GLfloat clamp); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glSpecializeShader (GLuint shader, const GLchar *pEntryPoint, GLuint numSpecializationConstants, const GLuint *pConstantIndex, const GLuint *pConstantValue); +GLAPI void APIENTRY glMultiDrawArraysIndirectCount (GLenum mode, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); +GLAPI void APIENTRY glMultiDrawElementsIndirectCount (GLenum mode, GLenum type, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); +GLAPI void APIENTRY glPolygonOffsetClamp (GLfloat factor, GLfloat units, GLfloat clamp); +#endif +#endif /* GL_VERSION_4_6 */ + +#ifndef GL_ARB_ES2_compatibility +#define GL_ARB_ES2_compatibility 1 +#endif /* GL_ARB_ES2_compatibility */ + +#ifndef GL_ARB_ES3_1_compatibility +#define GL_ARB_ES3_1_compatibility 1 +#endif /* GL_ARB_ES3_1_compatibility */ + +#ifndef GL_ARB_ES3_2_compatibility +#define GL_ARB_ES3_2_compatibility 1 +#define GL_PRIMITIVE_BOUNDING_BOX_ARB 0x92BE +#define GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB 0x9381 +#define GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB 0x9382 +typedef void (APIENTRYP PFNGLPRIMITIVEBOUNDINGBOXARBPROC) (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glPrimitiveBoundingBoxARB (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW); +#endif +#endif /* GL_ARB_ES3_2_compatibility */ + +#ifndef GL_ARB_ES3_compatibility +#define GL_ARB_ES3_compatibility 1 +#endif /* GL_ARB_ES3_compatibility */ + +#ifndef GL_ARB_arrays_of_arrays +#define GL_ARB_arrays_of_arrays 1 +#endif /* GL_ARB_arrays_of_arrays */ + +#ifndef GL_ARB_base_instance +#define GL_ARB_base_instance 1 +#endif /* GL_ARB_base_instance */ + +#ifndef GL_ARB_bindless_texture +#define GL_ARB_bindless_texture 1 +typedef khronos_uint64_t GLuint64EXT; +#define GL_UNSIGNED_INT64_ARB 0x140F +typedef GLuint64 (APIENTRYP PFNGLGETTEXTUREHANDLEARBPROC) (GLuint texture); +typedef GLuint64 (APIENTRYP PFNGLGETTEXTURESAMPLERHANDLEARBPROC) (GLuint texture, GLuint sampler); +typedef void (APIENTRYP PFNGLMAKETEXTUREHANDLERESIDENTARBPROC) (GLuint64 handle); +typedef void (APIENTRYP PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC) (GLuint64 handle); +typedef GLuint64 (APIENTRYP PFNGLGETIMAGEHANDLEARBPROC) (GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format); +typedef void (APIENTRYP PFNGLMAKEIMAGEHANDLERESIDENTARBPROC) (GLuint64 handle, GLenum access); +typedef void (APIENTRYP PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC) (GLuint64 handle); +typedef void (APIENTRYP PFNGLUNIFORMHANDLEUI64ARBPROC) (GLint location, GLuint64 value); +typedef void (APIENTRYP PFNGLUNIFORMHANDLEUI64VARBPROC) (GLint location, GLsizei count, const GLuint64 *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC) (GLuint program, GLint location, GLuint64 value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 *values); +typedef GLboolean (APIENTRYP PFNGLISTEXTUREHANDLERESIDENTARBPROC) (GLuint64 handle); +typedef GLboolean (APIENTRYP PFNGLISIMAGEHANDLERESIDENTARBPROC) (GLuint64 handle); +typedef void (APIENTRYP PFNGLVERTEXATTRIBL1UI64ARBPROC) (GLuint index, GLuint64EXT x); +typedef void (APIENTRYP PFNGLVERTEXATTRIBL1UI64VARBPROC) (GLuint index, const GLuint64EXT *v); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBLUI64VARBPROC) (GLuint index, GLenum pname, GLuint64EXT *params); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI GLuint64 APIENTRY glGetTextureHandleARB (GLuint texture); +GLAPI GLuint64 APIENTRY glGetTextureSamplerHandleARB (GLuint texture, GLuint sampler); +GLAPI void APIENTRY glMakeTextureHandleResidentARB (GLuint64 handle); +GLAPI void APIENTRY glMakeTextureHandleNonResidentARB (GLuint64 handle); +GLAPI GLuint64 APIENTRY glGetImageHandleARB (GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format); +GLAPI void APIENTRY glMakeImageHandleResidentARB (GLuint64 handle, GLenum access); +GLAPI void APIENTRY glMakeImageHandleNonResidentARB (GLuint64 handle); +GLAPI void APIENTRY glUniformHandleui64ARB (GLint location, GLuint64 value); +GLAPI void APIENTRY glUniformHandleui64vARB (GLint location, GLsizei count, const GLuint64 *value); +GLAPI void APIENTRY glProgramUniformHandleui64ARB (GLuint program, GLint location, GLuint64 value); +GLAPI void APIENTRY glProgramUniformHandleui64vARB (GLuint program, GLint location, GLsizei count, const GLuint64 *values); +GLAPI GLboolean APIENTRY glIsTextureHandleResidentARB (GLuint64 handle); +GLAPI GLboolean APIENTRY glIsImageHandleResidentARB (GLuint64 handle); +GLAPI void APIENTRY glVertexAttribL1ui64ARB (GLuint index, GLuint64EXT x); +GLAPI void APIENTRY glVertexAttribL1ui64vARB (GLuint index, const GLuint64EXT *v); +GLAPI void APIENTRY glGetVertexAttribLui64vARB (GLuint index, GLenum pname, GLuint64EXT *params); +#endif +#endif /* GL_ARB_bindless_texture */ + +#ifndef GL_ARB_blend_func_extended +#define GL_ARB_blend_func_extended 1 +#endif /* GL_ARB_blend_func_extended */ + +#ifndef GL_ARB_buffer_storage +#define GL_ARB_buffer_storage 1 +#endif /* GL_ARB_buffer_storage */ + +#ifndef GL_ARB_cl_event +#define GL_ARB_cl_event 1 +struct _cl_context; +struct _cl_event; +#define GL_SYNC_CL_EVENT_ARB 0x8240 +#define GL_SYNC_CL_EVENT_COMPLETE_ARB 0x8241 +typedef GLsync (APIENTRYP PFNGLCREATESYNCFROMCLEVENTARBPROC) (struct _cl_context *context, struct _cl_event *event, GLbitfield flags); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI GLsync APIENTRY glCreateSyncFromCLeventARB (struct _cl_context *context, struct _cl_event *event, GLbitfield flags); +#endif +#endif /* GL_ARB_cl_event */ + +#ifndef GL_ARB_clear_buffer_object +#define GL_ARB_clear_buffer_object 1 +#endif /* GL_ARB_clear_buffer_object */ + +#ifndef GL_ARB_clear_texture +#define GL_ARB_clear_texture 1 +#endif /* GL_ARB_clear_texture */ + +#ifndef GL_ARB_clip_control +#define GL_ARB_clip_control 1 +#endif /* GL_ARB_clip_control */ + +#ifndef GL_ARB_compressed_texture_pixel_storage +#define GL_ARB_compressed_texture_pixel_storage 1 +#endif /* GL_ARB_compressed_texture_pixel_storage */ + +#ifndef GL_ARB_compute_shader +#define GL_ARB_compute_shader 1 +#endif /* GL_ARB_compute_shader */ + +#ifndef GL_ARB_compute_variable_group_size +#define GL_ARB_compute_variable_group_size 1 +#define GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB 0x9344 +#define GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB 0x90EB +#define GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB 0x9345 +#define GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB 0x91BF +typedef void (APIENTRYP PFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC) (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z, GLuint group_size_x, GLuint group_size_y, GLuint group_size_z); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glDispatchComputeGroupSizeARB (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z, GLuint group_size_x, GLuint group_size_y, GLuint group_size_z); +#endif +#endif /* GL_ARB_compute_variable_group_size */ + +#ifndef GL_ARB_conditional_render_inverted +#define GL_ARB_conditional_render_inverted 1 +#endif /* GL_ARB_conditional_render_inverted */ + +#ifndef GL_ARB_conservative_depth +#define GL_ARB_conservative_depth 1 +#endif /* GL_ARB_conservative_depth */ + +#ifndef GL_ARB_copy_buffer +#define GL_ARB_copy_buffer 1 +#endif /* GL_ARB_copy_buffer */ + +#ifndef GL_ARB_copy_image +#define GL_ARB_copy_image 1 +#endif /* GL_ARB_copy_image */ + +#ifndef GL_ARB_cull_distance +#define GL_ARB_cull_distance 1 +#endif /* GL_ARB_cull_distance */ + +#ifndef GL_ARB_debug_output +#define GL_ARB_debug_output 1 +typedef void (APIENTRY *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); +#define GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB 0x8242 +#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB 0x8243 +#define GL_DEBUG_CALLBACK_FUNCTION_ARB 0x8244 +#define GL_DEBUG_CALLBACK_USER_PARAM_ARB 0x8245 +#define GL_DEBUG_SOURCE_API_ARB 0x8246 +#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB 0x8247 +#define GL_DEBUG_SOURCE_SHADER_COMPILER_ARB 0x8248 +#define GL_DEBUG_SOURCE_THIRD_PARTY_ARB 0x8249 +#define GL_DEBUG_SOURCE_APPLICATION_ARB 0x824A +#define GL_DEBUG_SOURCE_OTHER_ARB 0x824B +#define GL_DEBUG_TYPE_ERROR_ARB 0x824C +#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB 0x824D +#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB 0x824E +#define GL_DEBUG_TYPE_PORTABILITY_ARB 0x824F +#define GL_DEBUG_TYPE_PERFORMANCE_ARB 0x8250 +#define GL_DEBUG_TYPE_OTHER_ARB 0x8251 +#define GL_MAX_DEBUG_MESSAGE_LENGTH_ARB 0x9143 +#define GL_MAX_DEBUG_LOGGED_MESSAGES_ARB 0x9144 +#define GL_DEBUG_LOGGED_MESSAGES_ARB 0x9145 +#define GL_DEBUG_SEVERITY_HIGH_ARB 0x9146 +#define GL_DEBUG_SEVERITY_MEDIUM_ARB 0x9147 +#define GL_DEBUG_SEVERITY_LOW_ARB 0x9148 +typedef void (APIENTRYP PFNGLDEBUGMESSAGECONTROLARBPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); +typedef void (APIENTRYP PFNGLDEBUGMESSAGEINSERTARBPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); +typedef void (APIENTRYP PFNGLDEBUGMESSAGECALLBACKARBPROC) (GLDEBUGPROCARB callback, const void *userParam); +typedef GLuint (APIENTRYP PFNGLGETDEBUGMESSAGELOGARBPROC) (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glDebugMessageControlARB (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); +GLAPI void APIENTRY glDebugMessageInsertARB (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); +GLAPI void APIENTRY glDebugMessageCallbackARB (GLDEBUGPROCARB callback, const void *userParam); +GLAPI GLuint APIENTRY glGetDebugMessageLogARB (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); +#endif +#endif /* GL_ARB_debug_output */ + +#ifndef GL_ARB_depth_buffer_float +#define GL_ARB_depth_buffer_float 1 +#endif /* GL_ARB_depth_buffer_float */ + +#ifndef GL_ARB_depth_clamp +#define GL_ARB_depth_clamp 1 +#endif /* GL_ARB_depth_clamp */ + +#ifndef GL_ARB_derivative_control +#define GL_ARB_derivative_control 1 +#endif /* GL_ARB_derivative_control */ + +#ifndef GL_ARB_direct_state_access +#define GL_ARB_direct_state_access 1 +#endif /* GL_ARB_direct_state_access */ + +#ifndef GL_ARB_draw_buffers_blend +#define GL_ARB_draw_buffers_blend 1 +typedef void (APIENTRYP PFNGLBLENDEQUATIONIARBPROC) (GLuint buf, GLenum mode); +typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEIARBPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha); +typedef void (APIENTRYP PFNGLBLENDFUNCIARBPROC) (GLuint buf, GLenum src, GLenum dst); +typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEIARBPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBlendEquationiARB (GLuint buf, GLenum mode); +GLAPI void APIENTRY glBlendEquationSeparateiARB (GLuint buf, GLenum modeRGB, GLenum modeAlpha); +GLAPI void APIENTRY glBlendFunciARB (GLuint buf, GLenum src, GLenum dst); +GLAPI void APIENTRY glBlendFuncSeparateiARB (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); +#endif +#endif /* GL_ARB_draw_buffers_blend */ + +#ifndef GL_ARB_draw_elements_base_vertex +#define GL_ARB_draw_elements_base_vertex 1 +#endif /* GL_ARB_draw_elements_base_vertex */ + +#ifndef GL_ARB_draw_indirect +#define GL_ARB_draw_indirect 1 +#endif /* GL_ARB_draw_indirect */ + +#ifndef GL_ARB_draw_instanced +#define GL_ARB_draw_instanced 1 +typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDARBPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); +typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDARBPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glDrawArraysInstancedARB (GLenum mode, GLint first, GLsizei count, GLsizei primcount); +GLAPI void APIENTRY glDrawElementsInstancedARB (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); +#endif +#endif /* GL_ARB_draw_instanced */ + +#ifndef GL_ARB_enhanced_layouts +#define GL_ARB_enhanced_layouts 1 +#endif /* GL_ARB_enhanced_layouts */ + +#ifndef GL_ARB_explicit_attrib_location +#define GL_ARB_explicit_attrib_location 1 +#endif /* GL_ARB_explicit_attrib_location */ + +#ifndef GL_ARB_explicit_uniform_location +#define GL_ARB_explicit_uniform_location 1 +#endif /* GL_ARB_explicit_uniform_location */ + +#ifndef GL_ARB_fragment_coord_conventions +#define GL_ARB_fragment_coord_conventions 1 +#endif /* GL_ARB_fragment_coord_conventions */ + +#ifndef GL_ARB_fragment_layer_viewport +#define GL_ARB_fragment_layer_viewport 1 +#endif /* GL_ARB_fragment_layer_viewport */ + +#ifndef GL_ARB_fragment_shader_interlock +#define GL_ARB_fragment_shader_interlock 1 +#endif /* GL_ARB_fragment_shader_interlock */ + +#ifndef GL_ARB_framebuffer_no_attachments +#define GL_ARB_framebuffer_no_attachments 1 +#endif /* GL_ARB_framebuffer_no_attachments */ + +#ifndef GL_ARB_framebuffer_object +#define GL_ARB_framebuffer_object 1 +#endif /* GL_ARB_framebuffer_object */ + +#ifndef GL_ARB_framebuffer_sRGB +#define GL_ARB_framebuffer_sRGB 1 +#endif /* GL_ARB_framebuffer_sRGB */ + +#ifndef GL_ARB_geometry_shader4 +#define GL_ARB_geometry_shader4 1 +#define GL_LINES_ADJACENCY_ARB 0x000A +#define GL_LINE_STRIP_ADJACENCY_ARB 0x000B +#define GL_TRIANGLES_ADJACENCY_ARB 0x000C +#define GL_TRIANGLE_STRIP_ADJACENCY_ARB 0x000D +#define GL_PROGRAM_POINT_SIZE_ARB 0x8642 +#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB 0x8C29 +#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB 0x8DA7 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB 0x8DA8 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB 0x8DA9 +#define GL_GEOMETRY_SHADER_ARB 0x8DD9 +#define GL_GEOMETRY_VERTICES_OUT_ARB 0x8DDA +#define GL_GEOMETRY_INPUT_TYPE_ARB 0x8DDB +#define GL_GEOMETRY_OUTPUT_TYPE_ARB 0x8DDC +#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB 0x8DDD +#define GL_MAX_VERTEX_VARYING_COMPONENTS_ARB 0x8DDE +#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB 0x8DDF +#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB 0x8DE0 +#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB 0x8DE1 +typedef void (APIENTRYP PFNGLPROGRAMPARAMETERIARBPROC) (GLuint program, GLenum pname, GLint value); +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level); +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREFACEARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glProgramParameteriARB (GLuint program, GLenum pname, GLint value); +GLAPI void APIENTRY glFramebufferTextureARB (GLenum target, GLenum attachment, GLuint texture, GLint level); +GLAPI void APIENTRY glFramebufferTextureLayerARB (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); +GLAPI void APIENTRY glFramebufferTextureFaceARB (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face); +#endif +#endif /* GL_ARB_geometry_shader4 */ + +#ifndef GL_ARB_get_program_binary +#define GL_ARB_get_program_binary 1 +#endif /* GL_ARB_get_program_binary */ + +#ifndef GL_ARB_get_texture_sub_image +#define GL_ARB_get_texture_sub_image 1 +#endif /* GL_ARB_get_texture_sub_image */ + +#ifndef GL_ARB_gl_spirv +#define GL_ARB_gl_spirv 1 +#define GL_SHADER_BINARY_FORMAT_SPIR_V_ARB 0x9551 +#define GL_SPIR_V_BINARY_ARB 0x9552 +typedef void (APIENTRYP PFNGLSPECIALIZESHADERARBPROC) (GLuint shader, const GLchar *pEntryPoint, GLuint numSpecializationConstants, const GLuint *pConstantIndex, const GLuint *pConstantValue); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glSpecializeShaderARB (GLuint shader, const GLchar *pEntryPoint, GLuint numSpecializationConstants, const GLuint *pConstantIndex, const GLuint *pConstantValue); +#endif +#endif /* GL_ARB_gl_spirv */ + +#ifndef GL_ARB_gpu_shader5 +#define GL_ARB_gpu_shader5 1 +#endif /* GL_ARB_gpu_shader5 */ + +#ifndef GL_ARB_gpu_shader_fp64 +#define GL_ARB_gpu_shader_fp64 1 +#endif /* GL_ARB_gpu_shader_fp64 */ + +#ifndef GL_ARB_gpu_shader_int64 +#define GL_ARB_gpu_shader_int64 1 +#define GL_INT64_ARB 0x140E +#define GL_INT64_VEC2_ARB 0x8FE9 +#define GL_INT64_VEC3_ARB 0x8FEA +#define GL_INT64_VEC4_ARB 0x8FEB +#define GL_UNSIGNED_INT64_VEC2_ARB 0x8FF5 +#define GL_UNSIGNED_INT64_VEC3_ARB 0x8FF6 +#define GL_UNSIGNED_INT64_VEC4_ARB 0x8FF7 +typedef void (APIENTRYP PFNGLUNIFORM1I64ARBPROC) (GLint location, GLint64 x); +typedef void (APIENTRYP PFNGLUNIFORM2I64ARBPROC) (GLint location, GLint64 x, GLint64 y); +typedef void (APIENTRYP PFNGLUNIFORM3I64ARBPROC) (GLint location, GLint64 x, GLint64 y, GLint64 z); +typedef void (APIENTRYP PFNGLUNIFORM4I64ARBPROC) (GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w); +typedef void (APIENTRYP PFNGLUNIFORM1I64VARBPROC) (GLint location, GLsizei count, const GLint64 *value); +typedef void (APIENTRYP PFNGLUNIFORM2I64VARBPROC) (GLint location, GLsizei count, const GLint64 *value); +typedef void (APIENTRYP PFNGLUNIFORM3I64VARBPROC) (GLint location, GLsizei count, const GLint64 *value); +typedef void (APIENTRYP PFNGLUNIFORM4I64VARBPROC) (GLint location, GLsizei count, const GLint64 *value); +typedef void (APIENTRYP PFNGLUNIFORM1UI64ARBPROC) (GLint location, GLuint64 x); +typedef void (APIENTRYP PFNGLUNIFORM2UI64ARBPROC) (GLint location, GLuint64 x, GLuint64 y); +typedef void (APIENTRYP PFNGLUNIFORM3UI64ARBPROC) (GLint location, GLuint64 x, GLuint64 y, GLuint64 z); +typedef void (APIENTRYP PFNGLUNIFORM4UI64ARBPROC) (GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w); +typedef void (APIENTRYP PFNGLUNIFORM1UI64VARBPROC) (GLint location, GLsizei count, const GLuint64 *value); +typedef void (APIENTRYP PFNGLUNIFORM2UI64VARBPROC) (GLint location, GLsizei count, const GLuint64 *value); +typedef void (APIENTRYP PFNGLUNIFORM3UI64VARBPROC) (GLint location, GLsizei count, const GLuint64 *value); +typedef void (APIENTRYP PFNGLUNIFORM4UI64VARBPROC) (GLint location, GLsizei count, const GLuint64 *value); +typedef void (APIENTRYP PFNGLGETUNIFORMI64VARBPROC) (GLuint program, GLint location, GLint64 *params); +typedef void (APIENTRYP PFNGLGETUNIFORMUI64VARBPROC) (GLuint program, GLint location, GLuint64 *params); +typedef void (APIENTRYP PFNGLGETNUNIFORMI64VARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLint64 *params); +typedef void (APIENTRYP PFNGLGETNUNIFORMUI64VARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLuint64 *params); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64ARBPROC) (GLuint program, GLint location, GLint64 x); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64ARBPROC) (GLuint program, GLint location, GLint64 x, GLint64 y); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64ARBPROC) (GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64ARBPROC) (GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLint64 *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLint64 *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLint64 *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLint64 *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64ARBPROC) (GLuint program, GLint location, GLuint64 x); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64ARBPROC) (GLuint program, GLint location, GLuint64 x, GLuint64 y); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64ARBPROC) (GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64ARBPROC) (GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 *value); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glUniform1i64ARB (GLint location, GLint64 x); +GLAPI void APIENTRY glUniform2i64ARB (GLint location, GLint64 x, GLint64 y); +GLAPI void APIENTRY glUniform3i64ARB (GLint location, GLint64 x, GLint64 y, GLint64 z); +GLAPI void APIENTRY glUniform4i64ARB (GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w); +GLAPI void APIENTRY glUniform1i64vARB (GLint location, GLsizei count, const GLint64 *value); +GLAPI void APIENTRY glUniform2i64vARB (GLint location, GLsizei count, const GLint64 *value); +GLAPI void APIENTRY glUniform3i64vARB (GLint location, GLsizei count, const GLint64 *value); +GLAPI void APIENTRY glUniform4i64vARB (GLint location, GLsizei count, const GLint64 *value); +GLAPI void APIENTRY glUniform1ui64ARB (GLint location, GLuint64 x); +GLAPI void APIENTRY glUniform2ui64ARB (GLint location, GLuint64 x, GLuint64 y); +GLAPI void APIENTRY glUniform3ui64ARB (GLint location, GLuint64 x, GLuint64 y, GLuint64 z); +GLAPI void APIENTRY glUniform4ui64ARB (GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w); +GLAPI void APIENTRY glUniform1ui64vARB (GLint location, GLsizei count, const GLuint64 *value); +GLAPI void APIENTRY glUniform2ui64vARB (GLint location, GLsizei count, const GLuint64 *value); +GLAPI void APIENTRY glUniform3ui64vARB (GLint location, GLsizei count, const GLuint64 *value); +GLAPI void APIENTRY glUniform4ui64vARB (GLint location, GLsizei count, const GLuint64 *value); +GLAPI void APIENTRY glGetUniformi64vARB (GLuint program, GLint location, GLint64 *params); +GLAPI void APIENTRY glGetUniformui64vARB (GLuint program, GLint location, GLuint64 *params); +GLAPI void APIENTRY glGetnUniformi64vARB (GLuint program, GLint location, GLsizei bufSize, GLint64 *params); +GLAPI void APIENTRY glGetnUniformui64vARB (GLuint program, GLint location, GLsizei bufSize, GLuint64 *params); +GLAPI void APIENTRY glProgramUniform1i64ARB (GLuint program, GLint location, GLint64 x); +GLAPI void APIENTRY glProgramUniform2i64ARB (GLuint program, GLint location, GLint64 x, GLint64 y); +GLAPI void APIENTRY glProgramUniform3i64ARB (GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z); +GLAPI void APIENTRY glProgramUniform4i64ARB (GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w); +GLAPI void APIENTRY glProgramUniform1i64vARB (GLuint program, GLint location, GLsizei count, const GLint64 *value); +GLAPI void APIENTRY glProgramUniform2i64vARB (GLuint program, GLint location, GLsizei count, const GLint64 *value); +GLAPI void APIENTRY glProgramUniform3i64vARB (GLuint program, GLint location, GLsizei count, const GLint64 *value); +GLAPI void APIENTRY glProgramUniform4i64vARB (GLuint program, GLint location, GLsizei count, const GLint64 *value); +GLAPI void APIENTRY glProgramUniform1ui64ARB (GLuint program, GLint location, GLuint64 x); +GLAPI void APIENTRY glProgramUniform2ui64ARB (GLuint program, GLint location, GLuint64 x, GLuint64 y); +GLAPI void APIENTRY glProgramUniform3ui64ARB (GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z); +GLAPI void APIENTRY glProgramUniform4ui64ARB (GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w); +GLAPI void APIENTRY glProgramUniform1ui64vARB (GLuint program, GLint location, GLsizei count, const GLuint64 *value); +GLAPI void APIENTRY glProgramUniform2ui64vARB (GLuint program, GLint location, GLsizei count, const GLuint64 *value); +GLAPI void APIENTRY glProgramUniform3ui64vARB (GLuint program, GLint location, GLsizei count, const GLuint64 *value); +GLAPI void APIENTRY glProgramUniform4ui64vARB (GLuint program, GLint location, GLsizei count, const GLuint64 *value); +#endif +#endif /* GL_ARB_gpu_shader_int64 */ + +#ifndef GL_ARB_half_float_vertex +#define GL_ARB_half_float_vertex 1 +#endif /* GL_ARB_half_float_vertex */ + +#ifndef GL_ARB_imaging +#define GL_ARB_imaging 1 +#endif /* GL_ARB_imaging */ + +#ifndef GL_ARB_indirect_parameters +#define GL_ARB_indirect_parameters 1 +#define GL_PARAMETER_BUFFER_ARB 0x80EE +#define GL_PARAMETER_BUFFER_BINDING_ARB 0x80EF +typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC) (GLenum mode, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); +typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC) (GLenum mode, GLenum type, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glMultiDrawArraysIndirectCountARB (GLenum mode, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); +GLAPI void APIENTRY glMultiDrawElementsIndirectCountARB (GLenum mode, GLenum type, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); +#endif +#endif /* GL_ARB_indirect_parameters */ + +#ifndef GL_ARB_instanced_arrays +#define GL_ARB_instanced_arrays 1 +#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB 0x88FE +typedef void (APIENTRYP PFNGLVERTEXATTRIBDIVISORARBPROC) (GLuint index, GLuint divisor); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glVertexAttribDivisorARB (GLuint index, GLuint divisor); +#endif +#endif /* GL_ARB_instanced_arrays */ + +#ifndef GL_ARB_internalformat_query +#define GL_ARB_internalformat_query 1 +#endif /* GL_ARB_internalformat_query */ + +#ifndef GL_ARB_internalformat_query2 +#define GL_ARB_internalformat_query2 1 +#define GL_SRGB_DECODE_ARB 0x8299 +#define GL_VIEW_CLASS_EAC_R11 0x9383 +#define GL_VIEW_CLASS_EAC_RG11 0x9384 +#define GL_VIEW_CLASS_ETC2_RGB 0x9385 +#define GL_VIEW_CLASS_ETC2_RGBA 0x9386 +#define GL_VIEW_CLASS_ETC2_EAC_RGBA 0x9387 +#define GL_VIEW_CLASS_ASTC_4x4_RGBA 0x9388 +#define GL_VIEW_CLASS_ASTC_5x4_RGBA 0x9389 +#define GL_VIEW_CLASS_ASTC_5x5_RGBA 0x938A +#define GL_VIEW_CLASS_ASTC_6x5_RGBA 0x938B +#define GL_VIEW_CLASS_ASTC_6x6_RGBA 0x938C +#define GL_VIEW_CLASS_ASTC_8x5_RGBA 0x938D +#define GL_VIEW_CLASS_ASTC_8x6_RGBA 0x938E +#define GL_VIEW_CLASS_ASTC_8x8_RGBA 0x938F +#define GL_VIEW_CLASS_ASTC_10x5_RGBA 0x9390 +#define GL_VIEW_CLASS_ASTC_10x6_RGBA 0x9391 +#define GL_VIEW_CLASS_ASTC_10x8_RGBA 0x9392 +#define GL_VIEW_CLASS_ASTC_10x10_RGBA 0x9393 +#define GL_VIEW_CLASS_ASTC_12x10_RGBA 0x9394 +#define GL_VIEW_CLASS_ASTC_12x12_RGBA 0x9395 +#endif /* GL_ARB_internalformat_query2 */ + +#ifndef GL_ARB_invalidate_subdata +#define GL_ARB_invalidate_subdata 1 +#endif /* GL_ARB_invalidate_subdata */ + +#ifndef GL_ARB_map_buffer_alignment +#define GL_ARB_map_buffer_alignment 1 +#endif /* GL_ARB_map_buffer_alignment */ + +#ifndef GL_ARB_map_buffer_range +#define GL_ARB_map_buffer_range 1 +#endif /* GL_ARB_map_buffer_range */ + +#ifndef GL_ARB_multi_bind +#define GL_ARB_multi_bind 1 +#endif /* GL_ARB_multi_bind */ + +#ifndef GL_ARB_multi_draw_indirect +#define GL_ARB_multi_draw_indirect 1 +#endif /* GL_ARB_multi_draw_indirect */ + +#ifndef GL_ARB_occlusion_query2 +#define GL_ARB_occlusion_query2 1 +#endif /* GL_ARB_occlusion_query2 */ + +#ifndef GL_ARB_parallel_shader_compile +#define GL_ARB_parallel_shader_compile 1 +#define GL_MAX_SHADER_COMPILER_THREADS_ARB 0x91B0 +#define GL_COMPLETION_STATUS_ARB 0x91B1 +typedef void (APIENTRYP PFNGLMAXSHADERCOMPILERTHREADSARBPROC) (GLuint count); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glMaxShaderCompilerThreadsARB (GLuint count); +#endif +#endif /* GL_ARB_parallel_shader_compile */ + +#ifndef GL_ARB_pipeline_statistics_query +#define GL_ARB_pipeline_statistics_query 1 +#define GL_VERTICES_SUBMITTED_ARB 0x82EE +#define GL_PRIMITIVES_SUBMITTED_ARB 0x82EF +#define GL_VERTEX_SHADER_INVOCATIONS_ARB 0x82F0 +#define GL_TESS_CONTROL_SHADER_PATCHES_ARB 0x82F1 +#define GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB 0x82F2 +#define GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB 0x82F3 +#define GL_FRAGMENT_SHADER_INVOCATIONS_ARB 0x82F4 +#define GL_COMPUTE_SHADER_INVOCATIONS_ARB 0x82F5 +#define GL_CLIPPING_INPUT_PRIMITIVES_ARB 0x82F6 +#define GL_CLIPPING_OUTPUT_PRIMITIVES_ARB 0x82F7 +#endif /* GL_ARB_pipeline_statistics_query */ + +#ifndef GL_ARB_pixel_buffer_object +#define GL_ARB_pixel_buffer_object 1 +#define GL_PIXEL_PACK_BUFFER_ARB 0x88EB +#define GL_PIXEL_UNPACK_BUFFER_ARB 0x88EC +#define GL_PIXEL_PACK_BUFFER_BINDING_ARB 0x88ED +#define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB 0x88EF +#endif /* GL_ARB_pixel_buffer_object */ + +#ifndef GL_ARB_polygon_offset_clamp +#define GL_ARB_polygon_offset_clamp 1 +#endif /* GL_ARB_polygon_offset_clamp */ + +#ifndef GL_ARB_post_depth_coverage +#define GL_ARB_post_depth_coverage 1 +#endif /* GL_ARB_post_depth_coverage */ + +#ifndef GL_ARB_program_interface_query +#define GL_ARB_program_interface_query 1 +#endif /* GL_ARB_program_interface_query */ + +#ifndef GL_ARB_provoking_vertex +#define GL_ARB_provoking_vertex 1 +#endif /* GL_ARB_provoking_vertex */ + +#ifndef GL_ARB_query_buffer_object +#define GL_ARB_query_buffer_object 1 +#endif /* GL_ARB_query_buffer_object */ + +#ifndef GL_ARB_robust_buffer_access_behavior +#define GL_ARB_robust_buffer_access_behavior 1 +#endif /* GL_ARB_robust_buffer_access_behavior */ + +#ifndef GL_ARB_robustness +#define GL_ARB_robustness 1 +#define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB 0x00000004 +#define GL_LOSE_CONTEXT_ON_RESET_ARB 0x8252 +#define GL_GUILTY_CONTEXT_RESET_ARB 0x8253 +#define GL_INNOCENT_CONTEXT_RESET_ARB 0x8254 +#define GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255 +#define GL_RESET_NOTIFICATION_STRATEGY_ARB 0x8256 +#define GL_NO_RESET_NOTIFICATION_ARB 0x8261 +typedef GLenum (APIENTRYP PFNGLGETGRAPHICSRESETSTATUSARBPROC) (void); +typedef void (APIENTRYP PFNGLGETNTEXIMAGEARBPROC) (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *img); +typedef void (APIENTRYP PFNGLREADNPIXELSARBPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); +typedef void (APIENTRYP PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint lod, GLsizei bufSize, void *img); +typedef void (APIENTRYP PFNGLGETNUNIFORMFVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params); +typedef void (APIENTRYP PFNGLGETNUNIFORMIVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params); +typedef void (APIENTRYP PFNGLGETNUNIFORMUIVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLuint *params); +typedef void (APIENTRYP PFNGLGETNUNIFORMDVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLdouble *params); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI GLenum APIENTRY glGetGraphicsResetStatusARB (void); +GLAPI void APIENTRY glGetnTexImageARB (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *img); +GLAPI void APIENTRY glReadnPixelsARB (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); +GLAPI void APIENTRY glGetnCompressedTexImageARB (GLenum target, GLint lod, GLsizei bufSize, void *img); +GLAPI void APIENTRY glGetnUniformfvARB (GLuint program, GLint location, GLsizei bufSize, GLfloat *params); +GLAPI void APIENTRY glGetnUniformivARB (GLuint program, GLint location, GLsizei bufSize, GLint *params); +GLAPI void APIENTRY glGetnUniformuivARB (GLuint program, GLint location, GLsizei bufSize, GLuint *params); +GLAPI void APIENTRY glGetnUniformdvARB (GLuint program, GLint location, GLsizei bufSize, GLdouble *params); +#endif +#endif /* GL_ARB_robustness */ + +#ifndef GL_ARB_robustness_isolation +#define GL_ARB_robustness_isolation 1 +#endif /* GL_ARB_robustness_isolation */ + +#ifndef GL_ARB_sample_locations +#define GL_ARB_sample_locations 1 +#define GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB 0x933D +#define GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB 0x933E +#define GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB 0x933F +#define GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB 0x9340 +#define GL_SAMPLE_LOCATION_ARB 0x8E50 +#define GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB 0x9341 +#define GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB 0x9342 +#define GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB 0x9343 +typedef void (APIENTRYP PFNGLFRAMEBUFFERSAMPLELOCATIONSFVARBPROC) (GLenum target, GLuint start, GLsizei count, const GLfloat *v); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVARBPROC) (GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v); +typedef void (APIENTRYP PFNGLEVALUATEDEPTHVALUESARBPROC) (void); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glFramebufferSampleLocationsfvARB (GLenum target, GLuint start, GLsizei count, const GLfloat *v); +GLAPI void APIENTRY glNamedFramebufferSampleLocationsfvARB (GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v); +GLAPI void APIENTRY glEvaluateDepthValuesARB (void); +#endif +#endif /* GL_ARB_sample_locations */ + +#ifndef GL_ARB_sample_shading +#define GL_ARB_sample_shading 1 +#define GL_SAMPLE_SHADING_ARB 0x8C36 +#define GL_MIN_SAMPLE_SHADING_VALUE_ARB 0x8C37 +typedef void (APIENTRYP PFNGLMINSAMPLESHADINGARBPROC) (GLfloat value); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glMinSampleShadingARB (GLfloat value); +#endif +#endif /* GL_ARB_sample_shading */ + +#ifndef GL_ARB_sampler_objects +#define GL_ARB_sampler_objects 1 +#endif /* GL_ARB_sampler_objects */ + +#ifndef GL_ARB_seamless_cube_map +#define GL_ARB_seamless_cube_map 1 +#endif /* GL_ARB_seamless_cube_map */ + +#ifndef GL_ARB_seamless_cubemap_per_texture +#define GL_ARB_seamless_cubemap_per_texture 1 +#endif /* GL_ARB_seamless_cubemap_per_texture */ + +#ifndef GL_ARB_separate_shader_objects +#define GL_ARB_separate_shader_objects 1 +#endif /* GL_ARB_separate_shader_objects */ + +#ifndef GL_ARB_shader_atomic_counter_ops +#define GL_ARB_shader_atomic_counter_ops 1 +#endif /* GL_ARB_shader_atomic_counter_ops */ + +#ifndef GL_ARB_shader_atomic_counters +#define GL_ARB_shader_atomic_counters 1 +#endif /* GL_ARB_shader_atomic_counters */ + +#ifndef GL_ARB_shader_ballot +#define GL_ARB_shader_ballot 1 +#endif /* GL_ARB_shader_ballot */ + +#ifndef GL_ARB_shader_bit_encoding +#define GL_ARB_shader_bit_encoding 1 +#endif /* GL_ARB_shader_bit_encoding */ + +#ifndef GL_ARB_shader_clock +#define GL_ARB_shader_clock 1 +#endif /* GL_ARB_shader_clock */ + +#ifndef GL_ARB_shader_draw_parameters +#define GL_ARB_shader_draw_parameters 1 +#endif /* GL_ARB_shader_draw_parameters */ + +#ifndef GL_ARB_shader_group_vote +#define GL_ARB_shader_group_vote 1 +#endif /* GL_ARB_shader_group_vote */ + +#ifndef GL_ARB_shader_image_load_store +#define GL_ARB_shader_image_load_store 1 +#endif /* GL_ARB_shader_image_load_store */ + +#ifndef GL_ARB_shader_image_size +#define GL_ARB_shader_image_size 1 +#endif /* GL_ARB_shader_image_size */ + +#ifndef GL_ARB_shader_precision +#define GL_ARB_shader_precision 1 +#endif /* GL_ARB_shader_precision */ + +#ifndef GL_ARB_shader_stencil_export +#define GL_ARB_shader_stencil_export 1 +#endif /* GL_ARB_shader_stencil_export */ + +#ifndef GL_ARB_shader_storage_buffer_object +#define GL_ARB_shader_storage_buffer_object 1 +#endif /* GL_ARB_shader_storage_buffer_object */ + +#ifndef GL_ARB_shader_subroutine +#define GL_ARB_shader_subroutine 1 +#endif /* GL_ARB_shader_subroutine */ + +#ifndef GL_ARB_shader_texture_image_samples +#define GL_ARB_shader_texture_image_samples 1 +#endif /* GL_ARB_shader_texture_image_samples */ + +#ifndef GL_ARB_shader_viewport_layer_array +#define GL_ARB_shader_viewport_layer_array 1 +#endif /* GL_ARB_shader_viewport_layer_array */ + +#ifndef GL_ARB_shading_language_420pack +#define GL_ARB_shading_language_420pack 1 +#endif /* GL_ARB_shading_language_420pack */ + +#ifndef GL_ARB_shading_language_include +#define GL_ARB_shading_language_include 1 +#define GL_SHADER_INCLUDE_ARB 0x8DAE +#define GL_NAMED_STRING_LENGTH_ARB 0x8DE9 +#define GL_NAMED_STRING_TYPE_ARB 0x8DEA +typedef void (APIENTRYP PFNGLNAMEDSTRINGARBPROC) (GLenum type, GLint namelen, const GLchar *name, GLint stringlen, const GLchar *string); +typedef void (APIENTRYP PFNGLDELETENAMEDSTRINGARBPROC) (GLint namelen, const GLchar *name); +typedef void (APIENTRYP PFNGLCOMPILESHADERINCLUDEARBPROC) (GLuint shader, GLsizei count, const GLchar *const*path, const GLint *length); +typedef GLboolean (APIENTRYP PFNGLISNAMEDSTRINGARBPROC) (GLint namelen, const GLchar *name); +typedef void (APIENTRYP PFNGLGETNAMEDSTRINGARBPROC) (GLint namelen, const GLchar *name, GLsizei bufSize, GLint *stringlen, GLchar *string); +typedef void (APIENTRYP PFNGLGETNAMEDSTRINGIVARBPROC) (GLint namelen, const GLchar *name, GLenum pname, GLint *params); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glNamedStringARB (GLenum type, GLint namelen, const GLchar *name, GLint stringlen, const GLchar *string); +GLAPI void APIENTRY glDeleteNamedStringARB (GLint namelen, const GLchar *name); +GLAPI void APIENTRY glCompileShaderIncludeARB (GLuint shader, GLsizei count, const GLchar *const*path, const GLint *length); +GLAPI GLboolean APIENTRY glIsNamedStringARB (GLint namelen, const GLchar *name); +GLAPI void APIENTRY glGetNamedStringARB (GLint namelen, const GLchar *name, GLsizei bufSize, GLint *stringlen, GLchar *string); +GLAPI void APIENTRY glGetNamedStringivARB (GLint namelen, const GLchar *name, GLenum pname, GLint *params); +#endif +#endif /* GL_ARB_shading_language_include */ + +#ifndef GL_ARB_shading_language_packing +#define GL_ARB_shading_language_packing 1 +#endif /* GL_ARB_shading_language_packing */ + +#ifndef GL_ARB_sparse_buffer +#define GL_ARB_sparse_buffer 1 +#define GL_SPARSE_STORAGE_BIT_ARB 0x0400 +#define GL_SPARSE_BUFFER_PAGE_SIZE_ARB 0x82F8 +typedef void (APIENTRYP PFNGLBUFFERPAGECOMMITMENTARBPROC) (GLenum target, GLintptr offset, GLsizeiptr size, GLboolean commit); +typedef void (APIENTRYP PFNGLNAMEDBUFFERPAGECOMMITMENTEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit); +typedef void (APIENTRYP PFNGLNAMEDBUFFERPAGECOMMITMENTARBPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBufferPageCommitmentARB (GLenum target, GLintptr offset, GLsizeiptr size, GLboolean commit); +GLAPI void APIENTRY glNamedBufferPageCommitmentEXT (GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit); +GLAPI void APIENTRY glNamedBufferPageCommitmentARB (GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit); +#endif +#endif /* GL_ARB_sparse_buffer */ + +#ifndef GL_ARB_sparse_texture +#define GL_ARB_sparse_texture 1 +#define GL_TEXTURE_SPARSE_ARB 0x91A6 +#define GL_VIRTUAL_PAGE_SIZE_INDEX_ARB 0x91A7 +#define GL_NUM_SPARSE_LEVELS_ARB 0x91AA +#define GL_NUM_VIRTUAL_PAGE_SIZES_ARB 0x91A8 +#define GL_VIRTUAL_PAGE_SIZE_X_ARB 0x9195 +#define GL_VIRTUAL_PAGE_SIZE_Y_ARB 0x9196 +#define GL_VIRTUAL_PAGE_SIZE_Z_ARB 0x9197 +#define GL_MAX_SPARSE_TEXTURE_SIZE_ARB 0x9198 +#define GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB 0x9199 +#define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB 0x919A +#define GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB 0x91A9 +typedef void (APIENTRYP PFNGLTEXPAGECOMMITMENTARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glTexPageCommitmentARB (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit); +#endif +#endif /* GL_ARB_sparse_texture */ + +#ifndef GL_ARB_sparse_texture2 +#define GL_ARB_sparse_texture2 1 +#endif /* GL_ARB_sparse_texture2 */ + +#ifndef GL_ARB_sparse_texture_clamp +#define GL_ARB_sparse_texture_clamp 1 +#endif /* GL_ARB_sparse_texture_clamp */ + +#ifndef GL_ARB_spirv_extensions +#define GL_ARB_spirv_extensions 1 +#endif /* GL_ARB_spirv_extensions */ + +#ifndef GL_ARB_stencil_texturing +#define GL_ARB_stencil_texturing 1 +#endif /* GL_ARB_stencil_texturing */ + +#ifndef GL_ARB_sync +#define GL_ARB_sync 1 +#endif /* GL_ARB_sync */ + +#ifndef GL_ARB_tessellation_shader +#define GL_ARB_tessellation_shader 1 +#endif /* GL_ARB_tessellation_shader */ + +#ifndef GL_ARB_texture_barrier +#define GL_ARB_texture_barrier 1 +#endif /* GL_ARB_texture_barrier */ + +#ifndef GL_ARB_texture_border_clamp +#define GL_ARB_texture_border_clamp 1 +#define GL_CLAMP_TO_BORDER_ARB 0x812D +#endif /* GL_ARB_texture_border_clamp */ + +#ifndef GL_ARB_texture_buffer_object +#define GL_ARB_texture_buffer_object 1 +#define GL_TEXTURE_BUFFER_ARB 0x8C2A +#define GL_MAX_TEXTURE_BUFFER_SIZE_ARB 0x8C2B +#define GL_TEXTURE_BINDING_BUFFER_ARB 0x8C2C +#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB 0x8C2D +#define GL_TEXTURE_BUFFER_FORMAT_ARB 0x8C2E +typedef void (APIENTRYP PFNGLTEXBUFFERARBPROC) (GLenum target, GLenum internalformat, GLuint buffer); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glTexBufferARB (GLenum target, GLenum internalformat, GLuint buffer); +#endif +#endif /* GL_ARB_texture_buffer_object */ + +#ifndef GL_ARB_texture_buffer_object_rgb32 +#define GL_ARB_texture_buffer_object_rgb32 1 +#endif /* GL_ARB_texture_buffer_object_rgb32 */ + +#ifndef GL_ARB_texture_buffer_range +#define GL_ARB_texture_buffer_range 1 +#endif /* GL_ARB_texture_buffer_range */ + +#ifndef GL_ARB_texture_compression_bptc +#define GL_ARB_texture_compression_bptc 1 +#define GL_COMPRESSED_RGBA_BPTC_UNORM_ARB 0x8E8C +#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB 0x8E8D +#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB 0x8E8E +#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB 0x8E8F +#endif /* GL_ARB_texture_compression_bptc */ + +#ifndef GL_ARB_texture_compression_rgtc +#define GL_ARB_texture_compression_rgtc 1 +#endif /* GL_ARB_texture_compression_rgtc */ + +#ifndef GL_ARB_texture_cube_map_array +#define GL_ARB_texture_cube_map_array 1 +#define GL_TEXTURE_CUBE_MAP_ARRAY_ARB 0x9009 +#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB 0x900A +#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB 0x900B +#define GL_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900C +#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB 0x900D +#define GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900E +#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900F +#endif /* GL_ARB_texture_cube_map_array */ + +#ifndef GL_ARB_texture_filter_anisotropic +#define GL_ARB_texture_filter_anisotropic 1 +#endif /* GL_ARB_texture_filter_anisotropic */ + +#ifndef GL_ARB_texture_filter_minmax +#define GL_ARB_texture_filter_minmax 1 +#define GL_TEXTURE_REDUCTION_MODE_ARB 0x9366 +#define GL_WEIGHTED_AVERAGE_ARB 0x9367 +#endif /* GL_ARB_texture_filter_minmax */ + +#ifndef GL_ARB_texture_gather +#define GL_ARB_texture_gather 1 +#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5E +#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5F +#define GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB 0x8F9F +#endif /* GL_ARB_texture_gather */ + +#ifndef GL_ARB_texture_mirror_clamp_to_edge +#define GL_ARB_texture_mirror_clamp_to_edge 1 +#endif /* GL_ARB_texture_mirror_clamp_to_edge */ + +#ifndef GL_ARB_texture_mirrored_repeat +#define GL_ARB_texture_mirrored_repeat 1 +#define GL_MIRRORED_REPEAT_ARB 0x8370 +#endif /* GL_ARB_texture_mirrored_repeat */ + +#ifndef GL_ARB_texture_multisample +#define GL_ARB_texture_multisample 1 +#endif /* GL_ARB_texture_multisample */ + +#ifndef GL_ARB_texture_non_power_of_two +#define GL_ARB_texture_non_power_of_two 1 +#endif /* GL_ARB_texture_non_power_of_two */ + +#ifndef GL_ARB_texture_query_levels +#define GL_ARB_texture_query_levels 1 +#endif /* GL_ARB_texture_query_levels */ + +#ifndef GL_ARB_texture_query_lod +#define GL_ARB_texture_query_lod 1 +#endif /* GL_ARB_texture_query_lod */ + +#ifndef GL_ARB_texture_rg +#define GL_ARB_texture_rg 1 +#endif /* GL_ARB_texture_rg */ + +#ifndef GL_ARB_texture_rgb10_a2ui +#define GL_ARB_texture_rgb10_a2ui 1 +#endif /* GL_ARB_texture_rgb10_a2ui */ + +#ifndef GL_ARB_texture_stencil8 +#define GL_ARB_texture_stencil8 1 +#endif /* GL_ARB_texture_stencil8 */ + +#ifndef GL_ARB_texture_storage +#define GL_ARB_texture_storage 1 +#endif /* GL_ARB_texture_storage */ + +#ifndef GL_ARB_texture_storage_multisample +#define GL_ARB_texture_storage_multisample 1 +#endif /* GL_ARB_texture_storage_multisample */ + +#ifndef GL_ARB_texture_swizzle +#define GL_ARB_texture_swizzle 1 +#endif /* GL_ARB_texture_swizzle */ + +#ifndef GL_ARB_texture_view +#define GL_ARB_texture_view 1 +#endif /* GL_ARB_texture_view */ + +#ifndef GL_ARB_timer_query +#define GL_ARB_timer_query 1 +#endif /* GL_ARB_timer_query */ + +#ifndef GL_ARB_transform_feedback2 +#define GL_ARB_transform_feedback2 1 +#endif /* GL_ARB_transform_feedback2 */ + +#ifndef GL_ARB_transform_feedback3 +#define GL_ARB_transform_feedback3 1 +#endif /* GL_ARB_transform_feedback3 */ + +#ifndef GL_ARB_transform_feedback_instanced +#define GL_ARB_transform_feedback_instanced 1 +#endif /* GL_ARB_transform_feedback_instanced */ + +#ifndef GL_ARB_transform_feedback_overflow_query +#define GL_ARB_transform_feedback_overflow_query 1 +#define GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB 0x82EC +#define GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB 0x82ED +#endif /* GL_ARB_transform_feedback_overflow_query */ + +#ifndef GL_ARB_uniform_buffer_object +#define GL_ARB_uniform_buffer_object 1 +#endif /* GL_ARB_uniform_buffer_object */ + +#ifndef GL_ARB_vertex_array_bgra +#define GL_ARB_vertex_array_bgra 1 +#endif /* GL_ARB_vertex_array_bgra */ + +#ifndef GL_ARB_vertex_array_object +#define GL_ARB_vertex_array_object 1 +#endif /* GL_ARB_vertex_array_object */ + +#ifndef GL_ARB_vertex_attrib_64bit +#define GL_ARB_vertex_attrib_64bit 1 +#endif /* GL_ARB_vertex_attrib_64bit */ + +#ifndef GL_ARB_vertex_attrib_binding +#define GL_ARB_vertex_attrib_binding 1 +#endif /* GL_ARB_vertex_attrib_binding */ + +#ifndef GL_ARB_vertex_type_10f_11f_11f_rev +#define GL_ARB_vertex_type_10f_11f_11f_rev 1 +#endif /* GL_ARB_vertex_type_10f_11f_11f_rev */ + +#ifndef GL_ARB_vertex_type_2_10_10_10_rev +#define GL_ARB_vertex_type_2_10_10_10_rev 1 +#endif /* GL_ARB_vertex_type_2_10_10_10_rev */ + +#ifndef GL_ARB_viewport_array +#define GL_ARB_viewport_array 1 +typedef void (APIENTRYP PFNGLDEPTHRANGEARRAYDVNVPROC) (GLuint first, GLsizei count, const GLdouble *v); +typedef void (APIENTRYP PFNGLDEPTHRANGEINDEXEDDNVPROC) (GLuint index, GLdouble n, GLdouble f); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glDepthRangeArraydvNV (GLuint first, GLsizei count, const GLdouble *v); +GLAPI void APIENTRY glDepthRangeIndexeddNV (GLuint index, GLdouble n, GLdouble f); +#endif +#endif /* GL_ARB_viewport_array */ + +#ifndef GL_KHR_blend_equation_advanced +#define GL_KHR_blend_equation_advanced 1 +#define GL_MULTIPLY_KHR 0x9294 +#define GL_SCREEN_KHR 0x9295 +#define GL_OVERLAY_KHR 0x9296 +#define GL_DARKEN_KHR 0x9297 +#define GL_LIGHTEN_KHR 0x9298 +#define GL_COLORDODGE_KHR 0x9299 +#define GL_COLORBURN_KHR 0x929A +#define GL_HARDLIGHT_KHR 0x929B +#define GL_SOFTLIGHT_KHR 0x929C +#define GL_DIFFERENCE_KHR 0x929E +#define GL_EXCLUSION_KHR 0x92A0 +#define GL_HSL_HUE_KHR 0x92AD +#define GL_HSL_SATURATION_KHR 0x92AE +#define GL_HSL_COLOR_KHR 0x92AF +#define GL_HSL_LUMINOSITY_KHR 0x92B0 +typedef void (APIENTRYP PFNGLBLENDBARRIERKHRPROC) (void); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBlendBarrierKHR (void); +#endif +#endif /* GL_KHR_blend_equation_advanced */ + +#ifndef GL_KHR_blend_equation_advanced_coherent +#define GL_KHR_blend_equation_advanced_coherent 1 +#define GL_BLEND_ADVANCED_COHERENT_KHR 0x9285 +#endif /* GL_KHR_blend_equation_advanced_coherent */ + +#ifndef GL_KHR_context_flush_control +#define GL_KHR_context_flush_control 1 +#endif /* GL_KHR_context_flush_control */ + +#ifndef GL_KHR_debug +#define GL_KHR_debug 1 +#endif /* GL_KHR_debug */ + +#ifndef GL_KHR_no_error +#define GL_KHR_no_error 1 +#define GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR 0x00000008 +#endif /* GL_KHR_no_error */ + +#ifndef GL_KHR_parallel_shader_compile +#define GL_KHR_parallel_shader_compile 1 +#define GL_MAX_SHADER_COMPILER_THREADS_KHR 0x91B0 +#define GL_COMPLETION_STATUS_KHR 0x91B1 +typedef void (APIENTRYP PFNGLMAXSHADERCOMPILERTHREADSKHRPROC) (GLuint count); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glMaxShaderCompilerThreadsKHR (GLuint count); +#endif +#endif /* GL_KHR_parallel_shader_compile */ + +#ifndef GL_KHR_robust_buffer_access_behavior +#define GL_KHR_robust_buffer_access_behavior 1 +#endif /* GL_KHR_robust_buffer_access_behavior */ + +#ifndef GL_KHR_robustness +#define GL_KHR_robustness 1 +#define GL_CONTEXT_ROBUST_ACCESS 0x90F3 +#endif /* GL_KHR_robustness */ + +#ifndef GL_KHR_shader_subgroup +#define GL_KHR_shader_subgroup 1 +#define GL_SUBGROUP_SIZE_KHR 0x9532 +#define GL_SUBGROUP_SUPPORTED_STAGES_KHR 0x9533 +#define GL_SUBGROUP_SUPPORTED_FEATURES_KHR 0x9534 +#define GL_SUBGROUP_QUAD_ALL_STAGES_KHR 0x9535 +#define GL_SUBGROUP_FEATURE_BASIC_BIT_KHR 0x00000001 +#define GL_SUBGROUP_FEATURE_VOTE_BIT_KHR 0x00000002 +#define GL_SUBGROUP_FEATURE_ARITHMETIC_BIT_KHR 0x00000004 +#define GL_SUBGROUP_FEATURE_BALLOT_BIT_KHR 0x00000008 +#define GL_SUBGROUP_FEATURE_SHUFFLE_BIT_KHR 0x00000010 +#define GL_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT_KHR 0x00000020 +#define GL_SUBGROUP_FEATURE_CLUSTERED_BIT_KHR 0x00000040 +#define GL_SUBGROUP_FEATURE_QUAD_BIT_KHR 0x00000080 +#endif /* GL_KHR_shader_subgroup */ + +#ifndef GL_KHR_texture_compression_astc_hdr +#define GL_KHR_texture_compression_astc_hdr 1 +#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR 0x93B0 +#define GL_COMPRESSED_RGBA_ASTC_5x4_KHR 0x93B1 +#define GL_COMPRESSED_RGBA_ASTC_5x5_KHR 0x93B2 +#define GL_COMPRESSED_RGBA_ASTC_6x5_KHR 0x93B3 +#define GL_COMPRESSED_RGBA_ASTC_6x6_KHR 0x93B4 +#define GL_COMPRESSED_RGBA_ASTC_8x5_KHR 0x93B5 +#define GL_COMPRESSED_RGBA_ASTC_8x6_KHR 0x93B6 +#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR 0x93B7 +#define GL_COMPRESSED_RGBA_ASTC_10x5_KHR 0x93B8 +#define GL_COMPRESSED_RGBA_ASTC_10x6_KHR 0x93B9 +#define GL_COMPRESSED_RGBA_ASTC_10x8_KHR 0x93BA +#define GL_COMPRESSED_RGBA_ASTC_10x10_KHR 0x93BB +#define GL_COMPRESSED_RGBA_ASTC_12x10_KHR 0x93BC +#define GL_COMPRESSED_RGBA_ASTC_12x12_KHR 0x93BD +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR 0x93D0 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR 0x93D1 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR 0x93D2 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR 0x93D3 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 0x93D4 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR 0x93D5 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR 0x93D6 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR 0x93D7 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR 0x93D8 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR 0x93D9 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR 0x93DA +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 0x93DB +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 0x93DC +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 0x93DD +#endif /* GL_KHR_texture_compression_astc_hdr */ + +#ifndef GL_KHR_texture_compression_astc_ldr +#define GL_KHR_texture_compression_astc_ldr 1 +#endif /* GL_KHR_texture_compression_astc_ldr */ + +#ifndef GL_KHR_texture_compression_astc_sliced_3d +#define GL_KHR_texture_compression_astc_sliced_3d 1 +#endif /* GL_KHR_texture_compression_astc_sliced_3d */ + +#ifndef GL_AMD_framebuffer_multisample_advanced +#define GL_AMD_framebuffer_multisample_advanced 1 +#define GL_RENDERBUFFER_STORAGE_SAMPLES_AMD 0x91B2 +#define GL_MAX_COLOR_FRAMEBUFFER_SAMPLES_AMD 0x91B3 +#define GL_MAX_COLOR_FRAMEBUFFER_STORAGE_SAMPLES_AMD 0x91B4 +#define GL_MAX_DEPTH_STENCIL_FRAMEBUFFER_SAMPLES_AMD 0x91B5 +#define GL_NUM_SUPPORTED_MULTISAMPLE_MODES_AMD 0x91B6 +#define GL_SUPPORTED_MULTISAMPLE_MODES_AMD 0x91B7 +typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEADVANCEDAMDPROC) (GLenum target, GLsizei samples, GLsizei storageSamples, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEADVANCEDAMDPROC) (GLuint renderbuffer, GLsizei samples, GLsizei storageSamples, GLenum internalformat, GLsizei width, GLsizei height); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glRenderbufferStorageMultisampleAdvancedAMD (GLenum target, GLsizei samples, GLsizei storageSamples, GLenum internalformat, GLsizei width, GLsizei height); +GLAPI void APIENTRY glNamedRenderbufferStorageMultisampleAdvancedAMD (GLuint renderbuffer, GLsizei samples, GLsizei storageSamples, GLenum internalformat, GLsizei width, GLsizei height); +#endif +#endif /* GL_AMD_framebuffer_multisample_advanced */ + +#ifndef GL_AMD_performance_monitor +#define GL_AMD_performance_monitor 1 +#define GL_COUNTER_TYPE_AMD 0x8BC0 +#define GL_COUNTER_RANGE_AMD 0x8BC1 +#define GL_UNSIGNED_INT64_AMD 0x8BC2 +#define GL_PERCENTAGE_AMD 0x8BC3 +#define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4 +#define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5 +#define GL_PERFMON_RESULT_AMD 0x8BC6 +typedef void (APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups); +typedef void (APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); +typedef void (APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); +typedef void (APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); +typedef void (APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, void *data); +typedef void (APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); +typedef void (APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); +typedef void (APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList); +typedef void (APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor); +typedef void (APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor); +typedef void (APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups); +GLAPI void APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); +GLAPI void APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); +GLAPI void APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); +GLAPI void APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, void *data); +GLAPI void APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors); +GLAPI void APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors); +GLAPI void APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList); +GLAPI void APIENTRY glBeginPerfMonitorAMD (GLuint monitor); +GLAPI void APIENTRY glEndPerfMonitorAMD (GLuint monitor); +GLAPI void APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); +#endif +#endif /* GL_AMD_performance_monitor */ + +#ifndef GL_APPLE_rgb_422 +#define GL_APPLE_rgb_422 1 +#define GL_RGB_422_APPLE 0x8A1F +#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA +#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB +#define GL_RGB_RAW_422_APPLE 0x8A51 +#endif /* GL_APPLE_rgb_422 */ + +#ifndef GL_EXT_EGL_image_storage +#define GL_EXT_EGL_image_storage 1 +typedef void *GLeglImageOES; +typedef void (APIENTRYP PFNGLEGLIMAGETARGETTEXSTORAGEEXTPROC) (GLenum target, GLeglImageOES image, const GLint* attrib_list); +typedef void (APIENTRYP PFNGLEGLIMAGETARGETTEXTURESTORAGEEXTPROC) (GLuint texture, GLeglImageOES image, const GLint* attrib_list); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glEGLImageTargetTexStorageEXT (GLenum target, GLeglImageOES image, const GLint* attrib_list); +GLAPI void APIENTRY glEGLImageTargetTextureStorageEXT (GLuint texture, GLeglImageOES image, const GLint* attrib_list); +#endif +#endif /* GL_EXT_EGL_image_storage */ + +#ifndef GL_EXT_EGL_sync +#define GL_EXT_EGL_sync 1 +#endif /* GL_EXT_EGL_sync */ + +#ifndef GL_EXT_debug_label +#define GL_EXT_debug_label 1 +#define GL_PROGRAM_PIPELINE_OBJECT_EXT 0x8A4F +#define GL_PROGRAM_OBJECT_EXT 0x8B40 +#define GL_SHADER_OBJECT_EXT 0x8B48 +#define GL_BUFFER_OBJECT_EXT 0x9151 +#define GL_QUERY_OBJECT_EXT 0x9153 +#define GL_VERTEX_ARRAY_OBJECT_EXT 0x9154 +typedef void (APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label); +typedef void (APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label); +GLAPI void APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label); +#endif +#endif /* GL_EXT_debug_label */ + +#ifndef GL_EXT_debug_marker +#define GL_EXT_debug_marker 1 +typedef void (APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker); +typedef void (APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker); +typedef void (APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker); +GLAPI void APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker); +GLAPI void APIENTRY glPopGroupMarkerEXT (void); +#endif +#endif /* GL_EXT_debug_marker */ + +#ifndef GL_EXT_direct_state_access +#define GL_EXT_direct_state_access 1 +#define GL_PROGRAM_MATRIX_EXT 0x8E2D +#define GL_TRANSPOSE_PROGRAM_MATRIX_EXT 0x8E2E +#define GL_PROGRAM_MATRIX_STACK_DEPTH_EXT 0x8E2F +typedef void (APIENTRYP PFNGLMATRIXLOADFEXTPROC) (GLenum mode, const GLfloat *m); +typedef void (APIENTRYP PFNGLMATRIXLOADDEXTPROC) (GLenum mode, const GLdouble *m); +typedef void (APIENTRYP PFNGLMATRIXMULTFEXTPROC) (GLenum mode, const GLfloat *m); +typedef void (APIENTRYP PFNGLMATRIXMULTDEXTPROC) (GLenum mode, const GLdouble *m); +typedef void (APIENTRYP PFNGLMATRIXLOADIDENTITYEXTPROC) (GLenum mode); +typedef void (APIENTRYP PFNGLMATRIXROTATEFEXTPROC) (GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z); +typedef void (APIENTRYP PFNGLMATRIXROTATEDEXTPROC) (GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z); +typedef void (APIENTRYP PFNGLMATRIXSCALEFEXTPROC) (GLenum mode, GLfloat x, GLfloat y, GLfloat z); +typedef void (APIENTRYP PFNGLMATRIXSCALEDEXTPROC) (GLenum mode, GLdouble x, GLdouble y, GLdouble z); +typedef void (APIENTRYP PFNGLMATRIXTRANSLATEFEXTPROC) (GLenum mode, GLfloat x, GLfloat y, GLfloat z); +typedef void (APIENTRYP PFNGLMATRIXTRANSLATEDEXTPROC) (GLenum mode, GLdouble x, GLdouble y, GLdouble z); +typedef void (APIENTRYP PFNGLMATRIXFRUSTUMEXTPROC) (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); +typedef void (APIENTRYP PFNGLMATRIXORTHOEXTPROC) (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); +typedef void (APIENTRYP PFNGLMATRIXPOPEXTPROC) (GLenum mode); +typedef void (APIENTRYP PFNGLMATRIXPUSHEXTPROC) (GLenum mode); +typedef void (APIENTRYP PFNGLCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask); +typedef void (APIENTRYP PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask); +typedef void (APIENTRYP PFNGLTEXTUREPARAMETERFEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat param); +typedef void (APIENTRYP PFNGLTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLfloat *params); +typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels); +typedef void (APIENTRYP PFNGLTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels); +typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels); +typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); +typedef void (APIENTRYP PFNGLCOPYTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); +typedef void (APIENTRYP PFNGLCOPYTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); +typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLGETTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, void *pixels); +typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLTEXTUREIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); +typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); +typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLBINDMULTITEXTUREEXTPROC) (GLenum texunit, GLenum target, GLuint texture); +typedef void (APIENTRYP PFNGLMULTITEXCOORDPOINTEREXTPROC) (GLenum texunit, GLint size, GLenum type, GLsizei stride, const void *pointer); +typedef void (APIENTRYP PFNGLMULTITEXENVFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param); +typedef void (APIENTRYP PFNGLMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params); +typedef void (APIENTRYP PFNGLMULTITEXENVIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLMULTITEXGENDEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble param); +typedef void (APIENTRYP PFNGLMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params); +typedef void (APIENTRYP PFNGLMULTITEXGENFEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat param); +typedef void (APIENTRYP PFNGLMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params); +typedef void (APIENTRYP PFNGLMULTITEXGENIEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLGETMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble *params); +typedef void (APIENTRYP PFNGLGETMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLMULTITEXPARAMETERIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLMULTITEXPARAMETERFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param); +typedef void (APIENTRYP PFNGLMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params); +typedef void (APIENTRYP PFNGLMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels); +typedef void (APIENTRYP PFNGLMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels); +typedef void (APIENTRYP PFNGLMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels); +typedef void (APIENTRYP PFNGLMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); +typedef void (APIENTRYP PFNGLCOPYMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); +typedef void (APIENTRYP PFNGLCOPYMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); +typedef void (APIENTRYP PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +typedef void (APIENTRYP PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLGETMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, void *pixels); +typedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLMULTITEXIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); +typedef void (APIENTRYP PFNGLMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); +typedef void (APIENTRYP PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLENABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index); +typedef void (APIENTRYP PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index); +typedef void (APIENTRYP PFNGLGETFLOATINDEXEDVEXTPROC) (GLenum target, GLuint index, GLfloat *data); +typedef void (APIENTRYP PFNGLGETDOUBLEINDEXEDVEXTPROC) (GLenum target, GLuint index, GLdouble *data); +typedef void (APIENTRYP PFNGLGETPOINTERINDEXEDVEXTPROC) (GLenum target, GLuint index, void **data); +typedef void (APIENTRYP PFNGLENABLEINDEXEDEXTPROC) (GLenum target, GLuint index); +typedef void (APIENTRYP PFNGLDISABLEINDEXEDEXTPROC) (GLenum target, GLuint index); +typedef GLboolean (APIENTRYP PFNGLISENABLEDINDEXEDEXTPROC) (GLenum target, GLuint index); +typedef void (APIENTRYP PFNGLGETINTEGERINDEXEDVEXTPROC) (GLenum target, GLuint index, GLint *data); +typedef void (APIENTRYP PFNGLGETBOOLEANINDEXEDVEXTPROC) (GLenum target, GLuint index, GLboolean *data); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *bits); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *bits); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *bits); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *bits); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *bits); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *bits); +typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint lod, void *img); +typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *bits); +typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *bits); +typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *bits); +typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *bits); +typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *bits); +typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *bits); +typedef void (APIENTRYP PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint lod, void *img); +typedef void (APIENTRYP PFNGLMATRIXLOADTRANSPOSEFEXTPROC) (GLenum mode, const GLfloat *m); +typedef void (APIENTRYP PFNGLMATRIXLOADTRANSPOSEDEXTPROC) (GLenum mode, const GLdouble *m); +typedef void (APIENTRYP PFNGLMATRIXMULTTRANSPOSEFEXTPROC) (GLenum mode, const GLfloat *m); +typedef void (APIENTRYP PFNGLMATRIXMULTTRANSPOSEDEXTPROC) (GLenum mode, const GLdouble *m); +typedef void (APIENTRYP PFNGLNAMEDBUFFERDATAEXTPROC) (GLuint buffer, GLsizeiptr size, const void *data, GLenum usage); +typedef void (APIENTRYP PFNGLNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data); +typedef void *(APIENTRYP PFNGLMAPNAMEDBUFFEREXTPROC) (GLuint buffer, GLenum access); +typedef GLboolean (APIENTRYP PFNGLUNMAPNAMEDBUFFEREXTPROC) (GLuint buffer); +typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC) (GLuint buffer, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPOINTERVEXTPROC) (GLuint buffer, GLenum pname, void **params); +typedef void (APIENTRYP PFNGLGETNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, void *data); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat v0); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint v0); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLTEXTUREBUFFEREXTPROC) (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer); +typedef void (APIENTRYP PFNGLMULTITEXBUFFEREXTPROC) (GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer); +typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLuint *params); +typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLuint *params); +typedef void (APIENTRYP PFNGLMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLuint *params); +typedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLuint *params); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIEXTPROC) (GLuint program, GLint location, GLuint v0); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value); +typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params); +typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC) (GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w); +typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLint *params); +typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLint *params); +typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); +typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLuint *params); +typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params); +typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLint *params); +typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint *params); +typedef void (APIENTRYP PFNGLENABLECLIENTSTATEIEXTPROC) (GLenum array, GLuint index); +typedef void (APIENTRYP PFNGLDISABLECLIENTSTATEIEXTPROC) (GLenum array, GLuint index); +typedef void (APIENTRYP PFNGLGETFLOATI_VEXTPROC) (GLenum pname, GLuint index, GLfloat *params); +typedef void (APIENTRYP PFNGLGETDOUBLEI_VEXTPROC) (GLenum pname, GLuint index, GLdouble *params); +typedef void (APIENTRYP PFNGLGETPOINTERI_VEXTPROC) (GLenum pname, GLuint index, void **params); +typedef void (APIENTRYP PFNGLNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum format, GLsizei len, const void *string); +typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLdouble *params); +typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLfloat *params); +typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble *params); +typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat *params); +typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMIVEXTPROC) (GLuint program, GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum pname, void *string); +typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC) (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC) (GLuint renderbuffer, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC) (GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height); +typedef GLenum (APIENTRYP PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC) (GLuint framebuffer, GLenum target); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC) (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +typedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGENERATETEXTUREMIPMAPEXTPROC) (GLuint texture, GLenum target); +typedef void (APIENTRYP PFNGLGENERATEMULTITEXMIPMAPEXTPROC) (GLenum texunit, GLenum target); +typedef void (APIENTRYP PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC) (GLuint framebuffer, GLenum mode); +typedef void (APIENTRYP PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC) (GLuint framebuffer, GLsizei n, const GLenum *bufs); +typedef void (APIENTRYP PFNGLFRAMEBUFFERREADBUFFEREXTPROC) (GLuint framebuffer, GLenum mode); +typedef void (APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC) (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face); +typedef void (APIENTRYP PFNGLTEXTURERENDERBUFFEREXTPROC) (GLuint texture, GLenum target, GLuint renderbuffer); +typedef void (APIENTRYP PFNGLMULTITEXRENDERBUFFEREXTPROC) (GLenum texunit, GLenum target, GLuint renderbuffer); +typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); +typedef void (APIENTRYP PFNGLVERTEXARRAYCOLOROFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); +typedef void (APIENTRYP PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLsizei stride, GLintptr offset); +typedef void (APIENTRYP PFNGLVERTEXARRAYINDEXOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset); +typedef void (APIENTRYP PFNGLVERTEXARRAYNORMALOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset); +typedef void (APIENTRYP PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); +typedef void (APIENTRYP PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum texunit, GLint size, GLenum type, GLsizei stride, GLintptr offset); +typedef void (APIENTRYP PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset); +typedef void (APIENTRYP PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); +typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLintptr offset); +typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset); +typedef void (APIENTRYP PFNGLENABLEVERTEXARRAYEXTPROC) (GLuint vaobj, GLenum array); +typedef void (APIENTRYP PFNGLDISABLEVERTEXARRAYEXTPROC) (GLuint vaobj, GLenum array); +typedef void (APIENTRYP PFNGLENABLEVERTEXARRAYATTRIBEXTPROC) (GLuint vaobj, GLuint index); +typedef void (APIENTRYP PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC) (GLuint vaobj, GLuint index); +typedef void (APIENTRYP PFNGLGETVERTEXARRAYINTEGERVEXTPROC) (GLuint vaobj, GLenum pname, GLint *param); +typedef void (APIENTRYP PFNGLGETVERTEXARRAYPOINTERVEXTPROC) (GLuint vaobj, GLenum pname, void **param); +typedef void (APIENTRYP PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC) (GLuint vaobj, GLuint index, GLenum pname, GLint *param); +typedef void (APIENTRYP PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC) (GLuint vaobj, GLuint index, GLenum pname, void **param); +typedef void *(APIENTRYP PFNGLMAPNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access); +typedef void (APIENTRYP PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length); +typedef void (APIENTRYP PFNGLNAMEDBUFFERSTORAGEEXTPROC) (GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags); +typedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERDATAEXTPROC) (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data); +typedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLenum internalformat, GLsizeiptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC) (GLuint framebuffer, GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DEXTPROC) (GLuint program, GLint location, GLdouble x); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DEXTPROC) (GLuint program, GLint location, GLdouble x, GLdouble y); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DEXTPROC) (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DEXTPROC) (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +typedef void (APIENTRYP PFNGLTEXTUREBUFFERRANGEEXTPROC) (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); +typedef void (APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); +typedef void (APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); +typedef void (APIENTRYP PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC) (GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); +typedef void (APIENTRYP PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC) (GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); +typedef void (APIENTRYP PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC) (GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); +typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); +typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC) (GLuint vaobj, GLuint attribindex, GLuint bindingindex); +typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC) (GLuint vaobj, GLuint bindingindex, GLuint divisor); +typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset); +typedef void (APIENTRYP PFNGLTEXTUREPAGECOMMITMENTEXTPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit); +typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC) (GLuint vaobj, GLuint index, GLuint divisor); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glMatrixLoadfEXT (GLenum mode, const GLfloat *m); +GLAPI void APIENTRY glMatrixLoaddEXT (GLenum mode, const GLdouble *m); +GLAPI void APIENTRY glMatrixMultfEXT (GLenum mode, const GLfloat *m); +GLAPI void APIENTRY glMatrixMultdEXT (GLenum mode, const GLdouble *m); +GLAPI void APIENTRY glMatrixLoadIdentityEXT (GLenum mode); +GLAPI void APIENTRY glMatrixRotatefEXT (GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z); +GLAPI void APIENTRY glMatrixRotatedEXT (GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z); +GLAPI void APIENTRY glMatrixScalefEXT (GLenum mode, GLfloat x, GLfloat y, GLfloat z); +GLAPI void APIENTRY glMatrixScaledEXT (GLenum mode, GLdouble x, GLdouble y, GLdouble z); +GLAPI void APIENTRY glMatrixTranslatefEXT (GLenum mode, GLfloat x, GLfloat y, GLfloat z); +GLAPI void APIENTRY glMatrixTranslatedEXT (GLenum mode, GLdouble x, GLdouble y, GLdouble z); +GLAPI void APIENTRY glMatrixFrustumEXT (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); +GLAPI void APIENTRY glMatrixOrthoEXT (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); +GLAPI void APIENTRY glMatrixPopEXT (GLenum mode); +GLAPI void APIENTRY glMatrixPushEXT (GLenum mode); +GLAPI void APIENTRY glClientAttribDefaultEXT (GLbitfield mask); +GLAPI void APIENTRY glPushClientAttribDefaultEXT (GLbitfield mask); +GLAPI void APIENTRY glTextureParameterfEXT (GLuint texture, GLenum target, GLenum pname, GLfloat param); +GLAPI void APIENTRY glTextureParameterfvEXT (GLuint texture, GLenum target, GLenum pname, const GLfloat *params); +GLAPI void APIENTRY glTextureParameteriEXT (GLuint texture, GLenum target, GLenum pname, GLint param); +GLAPI void APIENTRY glTextureParameterivEXT (GLuint texture, GLenum target, GLenum pname, const GLint *params); +GLAPI void APIENTRY glTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels); +GLAPI void APIENTRY glTextureImage2DEXT (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels); +GLAPI void APIENTRY glTextureSubImage1DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels); +GLAPI void APIENTRY glTextureSubImage2DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); +GLAPI void APIENTRY glCopyTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); +GLAPI void APIENTRY glCopyTextureImage2DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); +GLAPI void APIENTRY glCopyTextureSubImage1DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +GLAPI void APIENTRY glCopyTextureSubImage2DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI void APIENTRY glGetTextureImageEXT (GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, void *pixels); +GLAPI void APIENTRY glGetTextureParameterfvEXT (GLuint texture, GLenum target, GLenum pname, GLfloat *params); +GLAPI void APIENTRY glGetTextureParameterivEXT (GLuint texture, GLenum target, GLenum pname, GLint *params); +GLAPI void APIENTRY glGetTextureLevelParameterfvEXT (GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params); +GLAPI void APIENTRY glGetTextureLevelParameterivEXT (GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params); +GLAPI void APIENTRY glTextureImage3DEXT (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); +GLAPI void APIENTRY glTextureSubImage3DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); +GLAPI void APIENTRY glCopyTextureSubImage3DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI void APIENTRY glBindMultiTextureEXT (GLenum texunit, GLenum target, GLuint texture); +GLAPI void APIENTRY glMultiTexCoordPointerEXT (GLenum texunit, GLint size, GLenum type, GLsizei stride, const void *pointer); +GLAPI void APIENTRY glMultiTexEnvfEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat param); +GLAPI void APIENTRY glMultiTexEnvfvEXT (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params); +GLAPI void APIENTRY glMultiTexEnviEXT (GLenum texunit, GLenum target, GLenum pname, GLint param); +GLAPI void APIENTRY glMultiTexEnvivEXT (GLenum texunit, GLenum target, GLenum pname, const GLint *params); +GLAPI void APIENTRY glMultiTexGendEXT (GLenum texunit, GLenum coord, GLenum pname, GLdouble param); +GLAPI void APIENTRY glMultiTexGendvEXT (GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params); +GLAPI void APIENTRY glMultiTexGenfEXT (GLenum texunit, GLenum coord, GLenum pname, GLfloat param); +GLAPI void APIENTRY glMultiTexGenfvEXT (GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params); +GLAPI void APIENTRY glMultiTexGeniEXT (GLenum texunit, GLenum coord, GLenum pname, GLint param); +GLAPI void APIENTRY glMultiTexGenivEXT (GLenum texunit, GLenum coord, GLenum pname, const GLint *params); +GLAPI void APIENTRY glGetMultiTexEnvfvEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat *params); +GLAPI void APIENTRY glGetMultiTexEnvivEXT (GLenum texunit, GLenum target, GLenum pname, GLint *params); +GLAPI void APIENTRY glGetMultiTexGendvEXT (GLenum texunit, GLenum coord, GLenum pname, GLdouble *params); +GLAPI void APIENTRY glGetMultiTexGenfvEXT (GLenum texunit, GLenum coord, GLenum pname, GLfloat *params); +GLAPI void APIENTRY glGetMultiTexGenivEXT (GLenum texunit, GLenum coord, GLenum pname, GLint *params); +GLAPI void APIENTRY glMultiTexParameteriEXT (GLenum texunit, GLenum target, GLenum pname, GLint param); +GLAPI void APIENTRY glMultiTexParameterivEXT (GLenum texunit, GLenum target, GLenum pname, const GLint *params); +GLAPI void APIENTRY glMultiTexParameterfEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat param); +GLAPI void APIENTRY glMultiTexParameterfvEXT (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params); +GLAPI void APIENTRY glMultiTexImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels); +GLAPI void APIENTRY glMultiTexImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels); +GLAPI void APIENTRY glMultiTexSubImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels); +GLAPI void APIENTRY glMultiTexSubImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); +GLAPI void APIENTRY glCopyMultiTexImage1DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); +GLAPI void APIENTRY glCopyMultiTexImage2DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); +GLAPI void APIENTRY glCopyMultiTexSubImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +GLAPI void APIENTRY glCopyMultiTexSubImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI void APIENTRY glGetMultiTexImageEXT (GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, void *pixels); +GLAPI void APIENTRY glGetMultiTexParameterfvEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat *params); +GLAPI void APIENTRY glGetMultiTexParameterivEXT (GLenum texunit, GLenum target, GLenum pname, GLint *params); +GLAPI void APIENTRY glGetMultiTexLevelParameterfvEXT (GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params); +GLAPI void APIENTRY glGetMultiTexLevelParameterivEXT (GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params); +GLAPI void APIENTRY glMultiTexImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); +GLAPI void APIENTRY glMultiTexSubImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); +GLAPI void APIENTRY glCopyMultiTexSubImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI void APIENTRY glEnableClientStateIndexedEXT (GLenum array, GLuint index); +GLAPI void APIENTRY glDisableClientStateIndexedEXT (GLenum array, GLuint index); +GLAPI void APIENTRY glGetFloatIndexedvEXT (GLenum target, GLuint index, GLfloat *data); +GLAPI void APIENTRY glGetDoubleIndexedvEXT (GLenum target, GLuint index, GLdouble *data); +GLAPI void APIENTRY glGetPointerIndexedvEXT (GLenum target, GLuint index, void **data); +GLAPI void APIENTRY glEnableIndexedEXT (GLenum target, GLuint index); +GLAPI void APIENTRY glDisableIndexedEXT (GLenum target, GLuint index); +GLAPI GLboolean APIENTRY glIsEnabledIndexedEXT (GLenum target, GLuint index); +GLAPI void APIENTRY glGetIntegerIndexedvEXT (GLenum target, GLuint index, GLint *data); +GLAPI void APIENTRY glGetBooleanIndexedvEXT (GLenum target, GLuint index, GLboolean *data); +GLAPI void APIENTRY glCompressedTextureImage3DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *bits); +GLAPI void APIENTRY glCompressedTextureImage2DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *bits); +GLAPI void APIENTRY glCompressedTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *bits); +GLAPI void APIENTRY glCompressedTextureSubImage3DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *bits); +GLAPI void APIENTRY glCompressedTextureSubImage2DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *bits); +GLAPI void APIENTRY glCompressedTextureSubImage1DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *bits); +GLAPI void APIENTRY glGetCompressedTextureImageEXT (GLuint texture, GLenum target, GLint lod, void *img); +GLAPI void APIENTRY glCompressedMultiTexImage3DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *bits); +GLAPI void APIENTRY glCompressedMultiTexImage2DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *bits); +GLAPI void APIENTRY glCompressedMultiTexImage1DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *bits); +GLAPI void APIENTRY glCompressedMultiTexSubImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *bits); +GLAPI void APIENTRY glCompressedMultiTexSubImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *bits); +GLAPI void APIENTRY glCompressedMultiTexSubImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *bits); +GLAPI void APIENTRY glGetCompressedMultiTexImageEXT (GLenum texunit, GLenum target, GLint lod, void *img); +GLAPI void APIENTRY glMatrixLoadTransposefEXT (GLenum mode, const GLfloat *m); +GLAPI void APIENTRY glMatrixLoadTransposedEXT (GLenum mode, const GLdouble *m); +GLAPI void APIENTRY glMatrixMultTransposefEXT (GLenum mode, const GLfloat *m); +GLAPI void APIENTRY glMatrixMultTransposedEXT (GLenum mode, const GLdouble *m); +GLAPI void APIENTRY glNamedBufferDataEXT (GLuint buffer, GLsizeiptr size, const void *data, GLenum usage); +GLAPI void APIENTRY glNamedBufferSubDataEXT (GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data); +GLAPI void *APIENTRY glMapNamedBufferEXT (GLuint buffer, GLenum access); +GLAPI GLboolean APIENTRY glUnmapNamedBufferEXT (GLuint buffer); +GLAPI void APIENTRY glGetNamedBufferParameterivEXT (GLuint buffer, GLenum pname, GLint *params); +GLAPI void APIENTRY glGetNamedBufferPointervEXT (GLuint buffer, GLenum pname, void **params); +GLAPI void APIENTRY glGetNamedBufferSubDataEXT (GLuint buffer, GLintptr offset, GLsizeiptr size, void *data); +GLAPI void APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat v0); +GLAPI void APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1); +GLAPI void APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); +GLAPI void APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); +GLAPI void APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint v0); +GLAPI void APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint v0, GLint v1); +GLAPI void APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2); +GLAPI void APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); +GLAPI void APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); +GLAPI void APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); +GLAPI void APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); +GLAPI void APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); +GLAPI void APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); +GLAPI void APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); +GLAPI void APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); +GLAPI void APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); +GLAPI void APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY glProgramUniformMatrix2x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY glProgramUniformMatrix3x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY glProgramUniformMatrix2x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY glProgramUniformMatrix4x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY glProgramUniformMatrix3x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY glProgramUniformMatrix4x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY glTextureBufferEXT (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer); +GLAPI void APIENTRY glMultiTexBufferEXT (GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer); +GLAPI void APIENTRY glTextureParameterIivEXT (GLuint texture, GLenum target, GLenum pname, const GLint *params); +GLAPI void APIENTRY glTextureParameterIuivEXT (GLuint texture, GLenum target, GLenum pname, const GLuint *params); +GLAPI void APIENTRY glGetTextureParameterIivEXT (GLuint texture, GLenum target, GLenum pname, GLint *params); +GLAPI void APIENTRY glGetTextureParameterIuivEXT (GLuint texture, GLenum target, GLenum pname, GLuint *params); +GLAPI void APIENTRY glMultiTexParameterIivEXT (GLenum texunit, GLenum target, GLenum pname, const GLint *params); +GLAPI void APIENTRY glMultiTexParameterIuivEXT (GLenum texunit, GLenum target, GLenum pname, const GLuint *params); +GLAPI void APIENTRY glGetMultiTexParameterIivEXT (GLenum texunit, GLenum target, GLenum pname, GLint *params); +GLAPI void APIENTRY glGetMultiTexParameterIuivEXT (GLenum texunit, GLenum target, GLenum pname, GLuint *params); +GLAPI void APIENTRY glProgramUniform1uiEXT (GLuint program, GLint location, GLuint v0); +GLAPI void APIENTRY glProgramUniform2uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1); +GLAPI void APIENTRY glProgramUniform3uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2); +GLAPI void APIENTRY glProgramUniform4uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); +GLAPI void APIENTRY glProgramUniform1uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value); +GLAPI void APIENTRY glProgramUniform2uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value); +GLAPI void APIENTRY glProgramUniform3uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value); +GLAPI void APIENTRY glProgramUniform4uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value); +GLAPI void APIENTRY glNamedProgramLocalParameters4fvEXT (GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params); +GLAPI void APIENTRY glNamedProgramLocalParameterI4iEXT (GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w); +GLAPI void APIENTRY glNamedProgramLocalParameterI4ivEXT (GLuint program, GLenum target, GLuint index, const GLint *params); +GLAPI void APIENTRY glNamedProgramLocalParametersI4ivEXT (GLuint program, GLenum target, GLuint index, GLsizei count, const GLint *params); +GLAPI void APIENTRY glNamedProgramLocalParameterI4uiEXT (GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); +GLAPI void APIENTRY glNamedProgramLocalParameterI4uivEXT (GLuint program, GLenum target, GLuint index, const GLuint *params); +GLAPI void APIENTRY glNamedProgramLocalParametersI4uivEXT (GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params); +GLAPI void APIENTRY glGetNamedProgramLocalParameterIivEXT (GLuint program, GLenum target, GLuint index, GLint *params); +GLAPI void APIENTRY glGetNamedProgramLocalParameterIuivEXT (GLuint program, GLenum target, GLuint index, GLuint *params); +GLAPI void APIENTRY glEnableClientStateiEXT (GLenum array, GLuint index); +GLAPI void APIENTRY glDisableClientStateiEXT (GLenum array, GLuint index); +GLAPI void APIENTRY glGetFloati_vEXT (GLenum pname, GLuint index, GLfloat *params); +GLAPI void APIENTRY glGetDoublei_vEXT (GLenum pname, GLuint index, GLdouble *params); +GLAPI void APIENTRY glGetPointeri_vEXT (GLenum pname, GLuint index, void **params); +GLAPI void APIENTRY glNamedProgramStringEXT (GLuint program, GLenum target, GLenum format, GLsizei len, const void *string); +GLAPI void APIENTRY glNamedProgramLocalParameter4dEXT (GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +GLAPI void APIENTRY glNamedProgramLocalParameter4dvEXT (GLuint program, GLenum target, GLuint index, const GLdouble *params); +GLAPI void APIENTRY glNamedProgramLocalParameter4fEXT (GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +GLAPI void APIENTRY glNamedProgramLocalParameter4fvEXT (GLuint program, GLenum target, GLuint index, const GLfloat *params); +GLAPI void APIENTRY glGetNamedProgramLocalParameterdvEXT (GLuint program, GLenum target, GLuint index, GLdouble *params); +GLAPI void APIENTRY glGetNamedProgramLocalParameterfvEXT (GLuint program, GLenum target, GLuint index, GLfloat *params); +GLAPI void APIENTRY glGetNamedProgramivEXT (GLuint program, GLenum target, GLenum pname, GLint *params); +GLAPI void APIENTRY glGetNamedProgramStringEXT (GLuint program, GLenum target, GLenum pname, void *string); +GLAPI void APIENTRY glNamedRenderbufferStorageEXT (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height); +GLAPI void APIENTRY glGetNamedRenderbufferParameterivEXT (GLuint renderbuffer, GLenum pname, GLint *params); +GLAPI void APIENTRY glNamedRenderbufferStorageMultisampleEXT (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +GLAPI void APIENTRY glNamedRenderbufferStorageMultisampleCoverageEXT (GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height); +GLAPI GLenum APIENTRY glCheckNamedFramebufferStatusEXT (GLuint framebuffer, GLenum target); +GLAPI void APIENTRY glNamedFramebufferTexture1DEXT (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +GLAPI void APIENTRY glNamedFramebufferTexture2DEXT (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +GLAPI void APIENTRY glNamedFramebufferTexture3DEXT (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); +GLAPI void APIENTRY glNamedFramebufferRenderbufferEXT (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +GLAPI void APIENTRY glGetNamedFramebufferAttachmentParameterivEXT (GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params); +GLAPI void APIENTRY glGenerateTextureMipmapEXT (GLuint texture, GLenum target); +GLAPI void APIENTRY glGenerateMultiTexMipmapEXT (GLenum texunit, GLenum target); +GLAPI void APIENTRY glFramebufferDrawBufferEXT (GLuint framebuffer, GLenum mode); +GLAPI void APIENTRY glFramebufferDrawBuffersEXT (GLuint framebuffer, GLsizei n, const GLenum *bufs); +GLAPI void APIENTRY glFramebufferReadBufferEXT (GLuint framebuffer, GLenum mode); +GLAPI void APIENTRY glGetFramebufferParameterivEXT (GLuint framebuffer, GLenum pname, GLint *params); +GLAPI void APIENTRY glNamedCopyBufferSubDataEXT (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); +GLAPI void APIENTRY glNamedFramebufferTextureEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level); +GLAPI void APIENTRY glNamedFramebufferTextureLayerEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer); +GLAPI void APIENTRY glNamedFramebufferTextureFaceEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face); +GLAPI void APIENTRY glTextureRenderbufferEXT (GLuint texture, GLenum target, GLuint renderbuffer); +GLAPI void APIENTRY glMultiTexRenderbufferEXT (GLenum texunit, GLenum target, GLuint renderbuffer); +GLAPI void APIENTRY glVertexArrayVertexOffsetEXT (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); +GLAPI void APIENTRY glVertexArrayColorOffsetEXT (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); +GLAPI void APIENTRY glVertexArrayEdgeFlagOffsetEXT (GLuint vaobj, GLuint buffer, GLsizei stride, GLintptr offset); +GLAPI void APIENTRY glVertexArrayIndexOffsetEXT (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset); +GLAPI void APIENTRY glVertexArrayNormalOffsetEXT (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset); +GLAPI void APIENTRY glVertexArrayTexCoordOffsetEXT (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); +GLAPI void APIENTRY glVertexArrayMultiTexCoordOffsetEXT (GLuint vaobj, GLuint buffer, GLenum texunit, GLint size, GLenum type, GLsizei stride, GLintptr offset); +GLAPI void APIENTRY glVertexArrayFogCoordOffsetEXT (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset); +GLAPI void APIENTRY glVertexArraySecondaryColorOffsetEXT (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); +GLAPI void APIENTRY glVertexArrayVertexAttribOffsetEXT (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLintptr offset); +GLAPI void APIENTRY glVertexArrayVertexAttribIOffsetEXT (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset); +GLAPI void APIENTRY glEnableVertexArrayEXT (GLuint vaobj, GLenum array); +GLAPI void APIENTRY glDisableVertexArrayEXT (GLuint vaobj, GLenum array); +GLAPI void APIENTRY glEnableVertexArrayAttribEXT (GLuint vaobj, GLuint index); +GLAPI void APIENTRY glDisableVertexArrayAttribEXT (GLuint vaobj, GLuint index); +GLAPI void APIENTRY glGetVertexArrayIntegervEXT (GLuint vaobj, GLenum pname, GLint *param); +GLAPI void APIENTRY glGetVertexArrayPointervEXT (GLuint vaobj, GLenum pname, void **param); +GLAPI void APIENTRY glGetVertexArrayIntegeri_vEXT (GLuint vaobj, GLuint index, GLenum pname, GLint *param); +GLAPI void APIENTRY glGetVertexArrayPointeri_vEXT (GLuint vaobj, GLuint index, GLenum pname, void **param); +GLAPI void *APIENTRY glMapNamedBufferRangeEXT (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access); +GLAPI void APIENTRY glFlushMappedNamedBufferRangeEXT (GLuint buffer, GLintptr offset, GLsizeiptr length); +GLAPI void APIENTRY glNamedBufferStorageEXT (GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags); +GLAPI void APIENTRY glClearNamedBufferDataEXT (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data); +GLAPI void APIENTRY glClearNamedBufferSubDataEXT (GLuint buffer, GLenum internalformat, GLsizeiptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data); +GLAPI void APIENTRY glNamedFramebufferParameteriEXT (GLuint framebuffer, GLenum pname, GLint param); +GLAPI void APIENTRY glGetNamedFramebufferParameterivEXT (GLuint framebuffer, GLenum pname, GLint *params); +GLAPI void APIENTRY glProgramUniform1dEXT (GLuint program, GLint location, GLdouble x); +GLAPI void APIENTRY glProgramUniform2dEXT (GLuint program, GLint location, GLdouble x, GLdouble y); +GLAPI void APIENTRY glProgramUniform3dEXT (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z); +GLAPI void APIENTRY glProgramUniform4dEXT (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +GLAPI void APIENTRY glProgramUniform1dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value); +GLAPI void APIENTRY glProgramUniform2dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value); +GLAPI void APIENTRY glProgramUniform3dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value); +GLAPI void APIENTRY glProgramUniform4dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value); +GLAPI void APIENTRY glProgramUniformMatrix2dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +GLAPI void APIENTRY glProgramUniformMatrix3dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +GLAPI void APIENTRY glProgramUniformMatrix4dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +GLAPI void APIENTRY glProgramUniformMatrix2x3dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +GLAPI void APIENTRY glProgramUniformMatrix2x4dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +GLAPI void APIENTRY glProgramUniformMatrix3x2dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +GLAPI void APIENTRY glProgramUniformMatrix3x4dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +GLAPI void APIENTRY glProgramUniformMatrix4x2dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +GLAPI void APIENTRY glProgramUniformMatrix4x3dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); +GLAPI void APIENTRY glTextureBufferRangeEXT (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); +GLAPI void APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); +GLAPI void APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); +GLAPI void APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); +GLAPI void APIENTRY glTextureStorage2DMultisampleEXT (GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); +GLAPI void APIENTRY glTextureStorage3DMultisampleEXT (GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); +GLAPI void APIENTRY glVertexArrayBindVertexBufferEXT (GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); +GLAPI void APIENTRY glVertexArrayVertexAttribFormatEXT (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); +GLAPI void APIENTRY glVertexArrayVertexAttribIFormatEXT (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +GLAPI void APIENTRY glVertexArrayVertexAttribLFormatEXT (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +GLAPI void APIENTRY glVertexArrayVertexAttribBindingEXT (GLuint vaobj, GLuint attribindex, GLuint bindingindex); +GLAPI void APIENTRY glVertexArrayVertexBindingDivisorEXT (GLuint vaobj, GLuint bindingindex, GLuint divisor); +GLAPI void APIENTRY glVertexArrayVertexAttribLOffsetEXT (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset); +GLAPI void APIENTRY glTexturePageCommitmentEXT (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit); +GLAPI void APIENTRY glVertexArrayVertexAttribDivisorEXT (GLuint vaobj, GLuint index, GLuint divisor); +#endif +#endif /* GL_EXT_direct_state_access */ + +#ifndef GL_EXT_draw_instanced +#define GL_EXT_draw_instanced 1 +typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDEXTPROC) (GLenum mode, GLint start, GLsizei count, GLsizei primcount); +typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDEXTPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glDrawArraysInstancedEXT (GLenum mode, GLint start, GLsizei count, GLsizei primcount); +GLAPI void APIENTRY glDrawElementsInstancedEXT (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); +#endif +#endif /* GL_EXT_draw_instanced */ + +#ifndef GL_EXT_multiview_tessellation_geometry_shader +#define GL_EXT_multiview_tessellation_geometry_shader 1 +#endif /* GL_EXT_multiview_tessellation_geometry_shader */ + +#ifndef GL_EXT_multiview_texture_multisample +#define GL_EXT_multiview_texture_multisample 1 +#endif /* GL_EXT_multiview_texture_multisample */ + +#ifndef GL_EXT_multiview_timer_query +#define GL_EXT_multiview_timer_query 1 +#endif /* GL_EXT_multiview_timer_query */ + +#ifndef GL_EXT_polygon_offset_clamp +#define GL_EXT_polygon_offset_clamp 1 +#define GL_POLYGON_OFFSET_CLAMP_EXT 0x8E1B +typedef void (APIENTRYP PFNGLPOLYGONOFFSETCLAMPEXTPROC) (GLfloat factor, GLfloat units, GLfloat clamp); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glPolygonOffsetClampEXT (GLfloat factor, GLfloat units, GLfloat clamp); +#endif +#endif /* GL_EXT_polygon_offset_clamp */ + +#ifndef GL_EXT_post_depth_coverage +#define GL_EXT_post_depth_coverage 1 +#endif /* GL_EXT_post_depth_coverage */ + +#ifndef GL_EXT_raster_multisample +#define GL_EXT_raster_multisample 1 +#define GL_RASTER_MULTISAMPLE_EXT 0x9327 +#define GL_RASTER_SAMPLES_EXT 0x9328 +#define GL_MAX_RASTER_SAMPLES_EXT 0x9329 +#define GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT 0x932A +#define GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT 0x932B +#define GL_EFFECTIVE_RASTER_SAMPLES_EXT 0x932C +typedef void (APIENTRYP PFNGLRASTERSAMPLESEXTPROC) (GLuint samples, GLboolean fixedsamplelocations); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glRasterSamplesEXT (GLuint samples, GLboolean fixedsamplelocations); +#endif +#endif /* GL_EXT_raster_multisample */ + +#ifndef GL_EXT_separate_shader_objects +#define GL_EXT_separate_shader_objects 1 +#define GL_ACTIVE_PROGRAM_EXT 0x8B8D +typedef void (APIENTRYP PFNGLUSESHADERPROGRAMEXTPROC) (GLenum type, GLuint program); +typedef void (APIENTRYP PFNGLACTIVEPROGRAMEXTPROC) (GLuint program); +typedef GLuint (APIENTRYP PFNGLCREATESHADERPROGRAMEXTPROC) (GLenum type, const GLchar *string); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glUseShaderProgramEXT (GLenum type, GLuint program); +GLAPI void APIENTRY glActiveProgramEXT (GLuint program); +GLAPI GLuint APIENTRY glCreateShaderProgramEXT (GLenum type, const GLchar *string); +#endif +#endif /* GL_EXT_separate_shader_objects */ + +#ifndef GL_EXT_shader_framebuffer_fetch +#define GL_EXT_shader_framebuffer_fetch 1 +#define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT 0x8A52 +#endif /* GL_EXT_shader_framebuffer_fetch */ + +#ifndef GL_EXT_shader_framebuffer_fetch_non_coherent +#define GL_EXT_shader_framebuffer_fetch_non_coherent 1 +typedef void (APIENTRYP PFNGLFRAMEBUFFERFETCHBARRIEREXTPROC) (void); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glFramebufferFetchBarrierEXT (void); +#endif +#endif /* GL_EXT_shader_framebuffer_fetch_non_coherent */ + +#ifndef GL_EXT_shader_integer_mix +#define GL_EXT_shader_integer_mix 1 +#endif /* GL_EXT_shader_integer_mix */ + +#ifndef GL_EXT_texture_compression_s3tc +#define GL_EXT_texture_compression_s3tc 1 +#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0 +#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1 +#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2 +#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3 +#endif /* GL_EXT_texture_compression_s3tc */ + +#ifndef GL_EXT_texture_filter_minmax +#define GL_EXT_texture_filter_minmax 1 +#define GL_TEXTURE_REDUCTION_MODE_EXT 0x9366 +#define GL_WEIGHTED_AVERAGE_EXT 0x9367 +#endif /* GL_EXT_texture_filter_minmax */ + +#ifndef GL_EXT_texture_sRGB_R8 +#define GL_EXT_texture_sRGB_R8 1 +#define GL_SR8_EXT 0x8FBD +#endif /* GL_EXT_texture_sRGB_R8 */ + +#ifndef GL_EXT_texture_sRGB_RG8 +#define GL_EXT_texture_sRGB_RG8 1 +#define GL_SRG8_EXT 0x8FBE +#endif /* GL_EXT_texture_sRGB_RG8 */ + +#ifndef GL_EXT_texture_sRGB_decode +#define GL_EXT_texture_sRGB_decode 1 +#define GL_TEXTURE_SRGB_DECODE_EXT 0x8A48 +#define GL_DECODE_EXT 0x8A49 +#define GL_SKIP_DECODE_EXT 0x8A4A +#endif /* GL_EXT_texture_sRGB_decode */ + +#ifndef GL_EXT_texture_shadow_lod +#define GL_EXT_texture_shadow_lod 1 +#endif /* GL_EXT_texture_shadow_lod */ + +#ifndef GL_EXT_texture_storage +#define GL_EXT_texture_storage 1 +#define GL_TEXTURE_IMMUTABLE_FORMAT_EXT 0x912F +#define GL_ALPHA8_EXT 0x803C +#define GL_LUMINANCE8_EXT 0x8040 +#define GL_LUMINANCE8_ALPHA8_EXT 0x8045 +#define GL_RGBA32F_EXT 0x8814 +#define GL_RGB32F_EXT 0x8815 +#define GL_ALPHA32F_EXT 0x8816 +#define GL_LUMINANCE32F_EXT 0x8818 +#define GL_LUMINANCE_ALPHA32F_EXT 0x8819 +#define GL_RGBA16F_EXT 0x881A +#define GL_RGB16F_EXT 0x881B +#define GL_ALPHA16F_EXT 0x881C +#define GL_LUMINANCE16F_EXT 0x881E +#define GL_LUMINANCE_ALPHA16F_EXT 0x881F +#define GL_RGB10_A2_EXT 0x8059 +#define GL_RGB10_EXT 0x8052 +#define GL_BGRA8_EXT 0x93A1 +#define GL_R8_EXT 0x8229 +#define GL_RG8_EXT 0x822B +#define GL_R32F_EXT 0x822E +#define GL_RG32F_EXT 0x8230 +#define GL_R16F_EXT 0x822D +#define GL_RG16F_EXT 0x822F +typedef void (APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); +typedef void (APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); +GLAPI void APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); +GLAPI void APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); +#endif +#endif /* GL_EXT_texture_storage */ + +#ifndef GL_EXT_window_rectangles +#define GL_EXT_window_rectangles 1 +#define GL_INCLUSIVE_EXT 0x8F10 +#define GL_EXCLUSIVE_EXT 0x8F11 +#define GL_WINDOW_RECTANGLE_EXT 0x8F12 +#define GL_WINDOW_RECTANGLE_MODE_EXT 0x8F13 +#define GL_MAX_WINDOW_RECTANGLES_EXT 0x8F14 +#define GL_NUM_WINDOW_RECTANGLES_EXT 0x8F15 +typedef void (APIENTRYP PFNGLWINDOWRECTANGLESEXTPROC) (GLenum mode, GLsizei count, const GLint *box); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glWindowRectanglesEXT (GLenum mode, GLsizei count, const GLint *box); +#endif +#endif /* GL_EXT_window_rectangles */ + +#ifndef GL_INTEL_blackhole_render +#define GL_INTEL_blackhole_render 1 +#define GL_BLACKHOLE_RENDER_INTEL 0x83FC +#endif /* GL_INTEL_blackhole_render */ + +#ifndef GL_INTEL_conservative_rasterization +#define GL_INTEL_conservative_rasterization 1 +#define GL_CONSERVATIVE_RASTERIZATION_INTEL 0x83FE +#endif /* GL_INTEL_conservative_rasterization */ + +#ifndef GL_INTEL_framebuffer_CMAA +#define GL_INTEL_framebuffer_CMAA 1 +typedef void (APIENTRYP PFNGLAPPLYFRAMEBUFFERATTACHMENTCMAAINTELPROC) (void); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glApplyFramebufferAttachmentCMAAINTEL (void); +#endif +#endif /* GL_INTEL_framebuffer_CMAA */ + +#ifndef GL_INTEL_performance_query +#define GL_INTEL_performance_query 1 +#define GL_PERFQUERY_SINGLE_CONTEXT_INTEL 0x00000000 +#define GL_PERFQUERY_GLOBAL_CONTEXT_INTEL 0x00000001 +#define GL_PERFQUERY_WAIT_INTEL 0x83FB +#define GL_PERFQUERY_FLUSH_INTEL 0x83FA +#define GL_PERFQUERY_DONOT_FLUSH_INTEL 0x83F9 +#define GL_PERFQUERY_COUNTER_EVENT_INTEL 0x94F0 +#define GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL 0x94F1 +#define GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL 0x94F2 +#define GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL 0x94F3 +#define GL_PERFQUERY_COUNTER_RAW_INTEL 0x94F4 +#define GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL 0x94F5 +#define GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL 0x94F8 +#define GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL 0x94F9 +#define GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL 0x94FA +#define GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL 0x94FB +#define GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL 0x94FC +#define GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL 0x94FD +#define GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL 0x94FE +#define GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL 0x94FF +#define GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL 0x9500 +typedef void (APIENTRYP PFNGLBEGINPERFQUERYINTELPROC) (GLuint queryHandle); +typedef void (APIENTRYP PFNGLCREATEPERFQUERYINTELPROC) (GLuint queryId, GLuint *queryHandle); +typedef void (APIENTRYP PFNGLDELETEPERFQUERYINTELPROC) (GLuint queryHandle); +typedef void (APIENTRYP PFNGLENDPERFQUERYINTELPROC) (GLuint queryHandle); +typedef void (APIENTRYP PFNGLGETFIRSTPERFQUERYIDINTELPROC) (GLuint *queryId); +typedef void (APIENTRYP PFNGLGETNEXTPERFQUERYIDINTELPROC) (GLuint queryId, GLuint *nextQueryId); +typedef void (APIENTRYP PFNGLGETPERFCOUNTERINFOINTELPROC) (GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar *counterName, GLuint counterDescLength, GLchar *counterDesc, GLuint *counterOffset, GLuint *counterDataSize, GLuint *counterTypeEnum, GLuint *counterDataTypeEnum, GLuint64 *rawCounterMaxValue); +typedef void (APIENTRYP PFNGLGETPERFQUERYDATAINTELPROC) (GLuint queryHandle, GLuint flags, GLsizei dataSize, void *data, GLuint *bytesWritten); +typedef void (APIENTRYP PFNGLGETPERFQUERYIDBYNAMEINTELPROC) (GLchar *queryName, GLuint *queryId); +typedef void (APIENTRYP PFNGLGETPERFQUERYINFOINTELPROC) (GLuint queryId, GLuint queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint *noCounters, GLuint *noInstances, GLuint *capsMask); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBeginPerfQueryINTEL (GLuint queryHandle); +GLAPI void APIENTRY glCreatePerfQueryINTEL (GLuint queryId, GLuint *queryHandle); +GLAPI void APIENTRY glDeletePerfQueryINTEL (GLuint queryHandle); +GLAPI void APIENTRY glEndPerfQueryINTEL (GLuint queryHandle); +GLAPI void APIENTRY glGetFirstPerfQueryIdINTEL (GLuint *queryId); +GLAPI void APIENTRY glGetNextPerfQueryIdINTEL (GLuint queryId, GLuint *nextQueryId); +GLAPI void APIENTRY glGetPerfCounterInfoINTEL (GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar *counterName, GLuint counterDescLength, GLchar *counterDesc, GLuint *counterOffset, GLuint *counterDataSize, GLuint *counterTypeEnum, GLuint *counterDataTypeEnum, GLuint64 *rawCounterMaxValue); +GLAPI void APIENTRY glGetPerfQueryDataINTEL (GLuint queryHandle, GLuint flags, GLsizei dataSize, void *data, GLuint *bytesWritten); +GLAPI void APIENTRY glGetPerfQueryIdByNameINTEL (GLchar *queryName, GLuint *queryId); +GLAPI void APIENTRY glGetPerfQueryInfoINTEL (GLuint queryId, GLuint queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint *noCounters, GLuint *noInstances, GLuint *capsMask); +#endif +#endif /* GL_INTEL_performance_query */ + +#ifndef GL_MESA_framebuffer_flip_x +#define GL_MESA_framebuffer_flip_x 1 +#define GL_FRAMEBUFFER_FLIP_X_MESA 0x8BBC +#endif /* GL_MESA_framebuffer_flip_x */ + +#ifndef GL_MESA_framebuffer_flip_y +#define GL_MESA_framebuffer_flip_y 1 +#define GL_FRAMEBUFFER_FLIP_Y_MESA 0x8BBB +typedef void (APIENTRYP PFNGLFRAMEBUFFERPARAMETERIMESAPROC) (GLenum target, GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVMESAPROC) (GLenum target, GLenum pname, GLint *params); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glFramebufferParameteriMESA (GLenum target, GLenum pname, GLint param); +GLAPI void APIENTRY glGetFramebufferParameterivMESA (GLenum target, GLenum pname, GLint *params); +#endif +#endif /* GL_MESA_framebuffer_flip_y */ + +#ifndef GL_MESA_framebuffer_swap_xy +#define GL_MESA_framebuffer_swap_xy 1 +#define GL_FRAMEBUFFER_SWAP_XY_MESA 0x8BBD +#endif /* GL_MESA_framebuffer_swap_xy */ + +#ifndef GL_NV_bindless_multi_draw_indirect +#define GL_NV_bindless_multi_draw_indirect 1 +typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC) (GLenum mode, const void *indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount); +typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC) (GLenum mode, GLenum type, const void *indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glMultiDrawArraysIndirectBindlessNV (GLenum mode, const void *indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount); +GLAPI void APIENTRY glMultiDrawElementsIndirectBindlessNV (GLenum mode, GLenum type, const void *indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount); +#endif +#endif /* GL_NV_bindless_multi_draw_indirect */ + +#ifndef GL_NV_bindless_multi_draw_indirect_count +#define GL_NV_bindless_multi_draw_indirect_count 1 +typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSCOUNTNVPROC) (GLenum mode, const void *indirect, GLsizei drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount); +typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSCOUNTNVPROC) (GLenum mode, GLenum type, const void *indirect, GLsizei drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glMultiDrawArraysIndirectBindlessCountNV (GLenum mode, const void *indirect, GLsizei drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount); +GLAPI void APIENTRY glMultiDrawElementsIndirectBindlessCountNV (GLenum mode, GLenum type, const void *indirect, GLsizei drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount); +#endif +#endif /* GL_NV_bindless_multi_draw_indirect_count */ + +#ifndef GL_NV_bindless_texture +#define GL_NV_bindless_texture 1 +typedef GLuint64 (APIENTRYP PFNGLGETTEXTUREHANDLENVPROC) (GLuint texture); +typedef GLuint64 (APIENTRYP PFNGLGETTEXTURESAMPLERHANDLENVPROC) (GLuint texture, GLuint sampler); +typedef void (APIENTRYP PFNGLMAKETEXTUREHANDLERESIDENTNVPROC) (GLuint64 handle); +typedef void (APIENTRYP PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC) (GLuint64 handle); +typedef GLuint64 (APIENTRYP PFNGLGETIMAGEHANDLENVPROC) (GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format); +typedef void (APIENTRYP PFNGLMAKEIMAGEHANDLERESIDENTNVPROC) (GLuint64 handle, GLenum access); +typedef void (APIENTRYP PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC) (GLuint64 handle); +typedef void (APIENTRYP PFNGLUNIFORMHANDLEUI64NVPROC) (GLint location, GLuint64 value); +typedef void (APIENTRYP PFNGLUNIFORMHANDLEUI64VNVPROC) (GLint location, GLsizei count, const GLuint64 *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC) (GLuint program, GLint location, GLuint64 value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 *values); +typedef GLboolean (APIENTRYP PFNGLISTEXTUREHANDLERESIDENTNVPROC) (GLuint64 handle); +typedef GLboolean (APIENTRYP PFNGLISIMAGEHANDLERESIDENTNVPROC) (GLuint64 handle); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI GLuint64 APIENTRY glGetTextureHandleNV (GLuint texture); +GLAPI GLuint64 APIENTRY glGetTextureSamplerHandleNV (GLuint texture, GLuint sampler); +GLAPI void APIENTRY glMakeTextureHandleResidentNV (GLuint64 handle); +GLAPI void APIENTRY glMakeTextureHandleNonResidentNV (GLuint64 handle); +GLAPI GLuint64 APIENTRY glGetImageHandleNV (GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format); +GLAPI void APIENTRY glMakeImageHandleResidentNV (GLuint64 handle, GLenum access); +GLAPI void APIENTRY glMakeImageHandleNonResidentNV (GLuint64 handle); +GLAPI void APIENTRY glUniformHandleui64NV (GLint location, GLuint64 value); +GLAPI void APIENTRY glUniformHandleui64vNV (GLint location, GLsizei count, const GLuint64 *value); +GLAPI void APIENTRY glProgramUniformHandleui64NV (GLuint program, GLint location, GLuint64 value); +GLAPI void APIENTRY glProgramUniformHandleui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64 *values); +GLAPI GLboolean APIENTRY glIsTextureHandleResidentNV (GLuint64 handle); +GLAPI GLboolean APIENTRY glIsImageHandleResidentNV (GLuint64 handle); +#endif +#endif /* GL_NV_bindless_texture */ + +#ifndef GL_NV_blend_equation_advanced +#define GL_NV_blend_equation_advanced 1 +#define GL_BLEND_OVERLAP_NV 0x9281 +#define GL_BLEND_PREMULTIPLIED_SRC_NV 0x9280 +#define GL_BLUE_NV 0x1905 +#define GL_COLORBURN_NV 0x929A +#define GL_COLORDODGE_NV 0x9299 +#define GL_CONJOINT_NV 0x9284 +#define GL_CONTRAST_NV 0x92A1 +#define GL_DARKEN_NV 0x9297 +#define GL_DIFFERENCE_NV 0x929E +#define GL_DISJOINT_NV 0x9283 +#define GL_DST_ATOP_NV 0x928F +#define GL_DST_IN_NV 0x928B +#define GL_DST_NV 0x9287 +#define GL_DST_OUT_NV 0x928D +#define GL_DST_OVER_NV 0x9289 +#define GL_EXCLUSION_NV 0x92A0 +#define GL_GREEN_NV 0x1904 +#define GL_HARDLIGHT_NV 0x929B +#define GL_HARDMIX_NV 0x92A9 +#define GL_HSL_COLOR_NV 0x92AF +#define GL_HSL_HUE_NV 0x92AD +#define GL_HSL_LUMINOSITY_NV 0x92B0 +#define GL_HSL_SATURATION_NV 0x92AE +#define GL_INVERT_OVG_NV 0x92B4 +#define GL_INVERT_RGB_NV 0x92A3 +#define GL_LIGHTEN_NV 0x9298 +#define GL_LINEARBURN_NV 0x92A5 +#define GL_LINEARDODGE_NV 0x92A4 +#define GL_LINEARLIGHT_NV 0x92A7 +#define GL_MINUS_CLAMPED_NV 0x92B3 +#define GL_MINUS_NV 0x929F +#define GL_MULTIPLY_NV 0x9294 +#define GL_OVERLAY_NV 0x9296 +#define GL_PINLIGHT_NV 0x92A8 +#define GL_PLUS_CLAMPED_ALPHA_NV 0x92B2 +#define GL_PLUS_CLAMPED_NV 0x92B1 +#define GL_PLUS_DARKER_NV 0x9292 +#define GL_PLUS_NV 0x9291 +#define GL_RED_NV 0x1903 +#define GL_SCREEN_NV 0x9295 +#define GL_SOFTLIGHT_NV 0x929C +#define GL_SRC_ATOP_NV 0x928E +#define GL_SRC_IN_NV 0x928A +#define GL_SRC_NV 0x9286 +#define GL_SRC_OUT_NV 0x928C +#define GL_SRC_OVER_NV 0x9288 +#define GL_UNCORRELATED_NV 0x9282 +#define GL_VIVIDLIGHT_NV 0x92A6 +#define GL_XOR_NV 0x1506 +typedef void (APIENTRYP PFNGLBLENDPARAMETERINVPROC) (GLenum pname, GLint value); +typedef void (APIENTRYP PFNGLBLENDBARRIERNVPROC) (void); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBlendParameteriNV (GLenum pname, GLint value); +GLAPI void APIENTRY glBlendBarrierNV (void); +#endif +#endif /* GL_NV_blend_equation_advanced */ + +#ifndef GL_NV_blend_equation_advanced_coherent +#define GL_NV_blend_equation_advanced_coherent 1 +#define GL_BLEND_ADVANCED_COHERENT_NV 0x9285 +#endif /* GL_NV_blend_equation_advanced_coherent */ + +#ifndef GL_NV_blend_minmax_factor +#define GL_NV_blend_minmax_factor 1 +#define GL_FACTOR_MIN_AMD 0x901C +#define GL_FACTOR_MAX_AMD 0x901D +#endif /* GL_NV_blend_minmax_factor */ + +#ifndef GL_NV_clip_space_w_scaling +#define GL_NV_clip_space_w_scaling 1 +#define GL_VIEWPORT_POSITION_W_SCALE_NV 0x937C +#define GL_VIEWPORT_POSITION_W_SCALE_X_COEFF_NV 0x937D +#define GL_VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV 0x937E +typedef void (APIENTRYP PFNGLVIEWPORTPOSITIONWSCALENVPROC) (GLuint index, GLfloat xcoeff, GLfloat ycoeff); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glViewportPositionWScaleNV (GLuint index, GLfloat xcoeff, GLfloat ycoeff); +#endif +#endif /* GL_NV_clip_space_w_scaling */ + +#ifndef GL_NV_command_list +#define GL_NV_command_list 1 +#define GL_TERMINATE_SEQUENCE_COMMAND_NV 0x0000 +#define GL_NOP_COMMAND_NV 0x0001 +#define GL_DRAW_ELEMENTS_COMMAND_NV 0x0002 +#define GL_DRAW_ARRAYS_COMMAND_NV 0x0003 +#define GL_DRAW_ELEMENTS_STRIP_COMMAND_NV 0x0004 +#define GL_DRAW_ARRAYS_STRIP_COMMAND_NV 0x0005 +#define GL_DRAW_ELEMENTS_INSTANCED_COMMAND_NV 0x0006 +#define GL_DRAW_ARRAYS_INSTANCED_COMMAND_NV 0x0007 +#define GL_ELEMENT_ADDRESS_COMMAND_NV 0x0008 +#define GL_ATTRIBUTE_ADDRESS_COMMAND_NV 0x0009 +#define GL_UNIFORM_ADDRESS_COMMAND_NV 0x000A +#define GL_BLEND_COLOR_COMMAND_NV 0x000B +#define GL_STENCIL_REF_COMMAND_NV 0x000C +#define GL_LINE_WIDTH_COMMAND_NV 0x000D +#define GL_POLYGON_OFFSET_COMMAND_NV 0x000E +#define GL_ALPHA_REF_COMMAND_NV 0x000F +#define GL_VIEWPORT_COMMAND_NV 0x0010 +#define GL_SCISSOR_COMMAND_NV 0x0011 +#define GL_FRONT_FACE_COMMAND_NV 0x0012 +typedef void (APIENTRYP PFNGLCREATESTATESNVPROC) (GLsizei n, GLuint *states); +typedef void (APIENTRYP PFNGLDELETESTATESNVPROC) (GLsizei n, const GLuint *states); +typedef GLboolean (APIENTRYP PFNGLISSTATENVPROC) (GLuint state); +typedef void (APIENTRYP PFNGLSTATECAPTURENVPROC) (GLuint state, GLenum mode); +typedef GLuint (APIENTRYP PFNGLGETCOMMANDHEADERNVPROC) (GLenum tokenID, GLuint size); +typedef GLushort (APIENTRYP PFNGLGETSTAGEINDEXNVPROC) (GLenum shadertype); +typedef void (APIENTRYP PFNGLDRAWCOMMANDSNVPROC) (GLenum primitiveMode, GLuint buffer, const GLintptr *indirects, const GLsizei *sizes, GLuint count); +typedef void (APIENTRYP PFNGLDRAWCOMMANDSADDRESSNVPROC) (GLenum primitiveMode, const GLuint64 *indirects, const GLsizei *sizes, GLuint count); +typedef void (APIENTRYP PFNGLDRAWCOMMANDSSTATESNVPROC) (GLuint buffer, const GLintptr *indirects, const GLsizei *sizes, const GLuint *states, const GLuint *fbos, GLuint count); +typedef void (APIENTRYP PFNGLDRAWCOMMANDSSTATESADDRESSNVPROC) (const GLuint64 *indirects, const GLsizei *sizes, const GLuint *states, const GLuint *fbos, GLuint count); +typedef void (APIENTRYP PFNGLCREATECOMMANDLISTSNVPROC) (GLsizei n, GLuint *lists); +typedef void (APIENTRYP PFNGLDELETECOMMANDLISTSNVPROC) (GLsizei n, const GLuint *lists); +typedef GLboolean (APIENTRYP PFNGLISCOMMANDLISTNVPROC) (GLuint list); +typedef void (APIENTRYP PFNGLLISTDRAWCOMMANDSSTATESCLIENTNVPROC) (GLuint list, GLuint segment, const void **indirects, const GLsizei *sizes, const GLuint *states, const GLuint *fbos, GLuint count); +typedef void (APIENTRYP PFNGLCOMMANDLISTSEGMENTSNVPROC) (GLuint list, GLuint segments); +typedef void (APIENTRYP PFNGLCOMPILECOMMANDLISTNVPROC) (GLuint list); +typedef void (APIENTRYP PFNGLCALLCOMMANDLISTNVPROC) (GLuint list); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glCreateStatesNV (GLsizei n, GLuint *states); +GLAPI void APIENTRY glDeleteStatesNV (GLsizei n, const GLuint *states); +GLAPI GLboolean APIENTRY glIsStateNV (GLuint state); +GLAPI void APIENTRY glStateCaptureNV (GLuint state, GLenum mode); +GLAPI GLuint APIENTRY glGetCommandHeaderNV (GLenum tokenID, GLuint size); +GLAPI GLushort APIENTRY glGetStageIndexNV (GLenum shadertype); +GLAPI void APIENTRY glDrawCommandsNV (GLenum primitiveMode, GLuint buffer, const GLintptr *indirects, const GLsizei *sizes, GLuint count); +GLAPI void APIENTRY glDrawCommandsAddressNV (GLenum primitiveMode, const GLuint64 *indirects, const GLsizei *sizes, GLuint count); +GLAPI void APIENTRY glDrawCommandsStatesNV (GLuint buffer, const GLintptr *indirects, const GLsizei *sizes, const GLuint *states, const GLuint *fbos, GLuint count); +GLAPI void APIENTRY glDrawCommandsStatesAddressNV (const GLuint64 *indirects, const GLsizei *sizes, const GLuint *states, const GLuint *fbos, GLuint count); +GLAPI void APIENTRY glCreateCommandListsNV (GLsizei n, GLuint *lists); +GLAPI void APIENTRY glDeleteCommandListsNV (GLsizei n, const GLuint *lists); +GLAPI GLboolean APIENTRY glIsCommandListNV (GLuint list); +GLAPI void APIENTRY glListDrawCommandsStatesClientNV (GLuint list, GLuint segment, const void **indirects, const GLsizei *sizes, const GLuint *states, const GLuint *fbos, GLuint count); +GLAPI void APIENTRY glCommandListSegmentsNV (GLuint list, GLuint segments); +GLAPI void APIENTRY glCompileCommandListNV (GLuint list); +GLAPI void APIENTRY glCallCommandListNV (GLuint list); +#endif +#endif /* GL_NV_command_list */ + +#ifndef GL_NV_compute_shader_derivatives +#define GL_NV_compute_shader_derivatives 1 +#endif /* GL_NV_compute_shader_derivatives */ + +#ifndef GL_NV_conditional_render +#define GL_NV_conditional_render 1 +#define GL_QUERY_WAIT_NV 0x8E13 +#define GL_QUERY_NO_WAIT_NV 0x8E14 +#define GL_QUERY_BY_REGION_WAIT_NV 0x8E15 +#define GL_QUERY_BY_REGION_NO_WAIT_NV 0x8E16 +typedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERNVPROC) (GLuint id, GLenum mode); +typedef void (APIENTRYP PFNGLENDCONDITIONALRENDERNVPROC) (void); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBeginConditionalRenderNV (GLuint id, GLenum mode); +GLAPI void APIENTRY glEndConditionalRenderNV (void); +#endif +#endif /* GL_NV_conditional_render */ + +#ifndef GL_NV_conservative_raster +#define GL_NV_conservative_raster 1 +#define GL_CONSERVATIVE_RASTERIZATION_NV 0x9346 +#define GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV 0x9347 +#define GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV 0x9348 +#define GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV 0x9349 +typedef void (APIENTRYP PFNGLSUBPIXELPRECISIONBIASNVPROC) (GLuint xbits, GLuint ybits); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glSubpixelPrecisionBiasNV (GLuint xbits, GLuint ybits); +#endif +#endif /* GL_NV_conservative_raster */ + +#ifndef GL_NV_conservative_raster_dilate +#define GL_NV_conservative_raster_dilate 1 +#define GL_CONSERVATIVE_RASTER_DILATE_NV 0x9379 +#define GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV 0x937A +#define GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV 0x937B +typedef void (APIENTRYP PFNGLCONSERVATIVERASTERPARAMETERFNVPROC) (GLenum pname, GLfloat value); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glConservativeRasterParameterfNV (GLenum pname, GLfloat value); +#endif +#endif /* GL_NV_conservative_raster_dilate */ + +#ifndef GL_NV_conservative_raster_pre_snap +#define GL_NV_conservative_raster_pre_snap 1 +#define GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_NV 0x9550 +#endif /* GL_NV_conservative_raster_pre_snap */ + +#ifndef GL_NV_conservative_raster_pre_snap_triangles +#define GL_NV_conservative_raster_pre_snap_triangles 1 +#define GL_CONSERVATIVE_RASTER_MODE_NV 0x954D +#define GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV 0x954E +#define GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV 0x954F +typedef void (APIENTRYP PFNGLCONSERVATIVERASTERPARAMETERINVPROC) (GLenum pname, GLint param); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glConservativeRasterParameteriNV (GLenum pname, GLint param); +#endif +#endif /* GL_NV_conservative_raster_pre_snap_triangles */ + +#ifndef GL_NV_conservative_raster_underestimation +#define GL_NV_conservative_raster_underestimation 1 +#endif /* GL_NV_conservative_raster_underestimation */ + +#ifndef GL_NV_depth_buffer_float +#define GL_NV_depth_buffer_float 1 +#define GL_DEPTH_COMPONENT32F_NV 0x8DAB +#define GL_DEPTH32F_STENCIL8_NV 0x8DAC +#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV 0x8DAD +#define GL_DEPTH_BUFFER_FLOAT_MODE_NV 0x8DAF +typedef void (APIENTRYP PFNGLDEPTHRANGEDNVPROC) (GLdouble zNear, GLdouble zFar); +typedef void (APIENTRYP PFNGLCLEARDEPTHDNVPROC) (GLdouble depth); +typedef void (APIENTRYP PFNGLDEPTHBOUNDSDNVPROC) (GLdouble zmin, GLdouble zmax); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glDepthRangedNV (GLdouble zNear, GLdouble zFar); +GLAPI void APIENTRY glClearDepthdNV (GLdouble depth); +GLAPI void APIENTRY glDepthBoundsdNV (GLdouble zmin, GLdouble zmax); +#endif +#endif /* GL_NV_depth_buffer_float */ + +#ifndef GL_NV_draw_vulkan_image +#define GL_NV_draw_vulkan_image 1 +typedef void (APIENTRY *GLVULKANPROCNV)(void); +typedef void (APIENTRYP PFNGLDRAWVKIMAGENVPROC) (GLuint64 vkImage, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1); +typedef GLVULKANPROCNV (APIENTRYP PFNGLGETVKPROCADDRNVPROC) (const GLchar *name); +typedef void (APIENTRYP PFNGLWAITVKSEMAPHORENVPROC) (GLuint64 vkSemaphore); +typedef void (APIENTRYP PFNGLSIGNALVKSEMAPHORENVPROC) (GLuint64 vkSemaphore); +typedef void (APIENTRYP PFNGLSIGNALVKFENCENVPROC) (GLuint64 vkFence); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glDrawVkImageNV (GLuint64 vkImage, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1); +GLAPI GLVULKANPROCNV APIENTRY glGetVkProcAddrNV (const GLchar *name); +GLAPI void APIENTRY glWaitVkSemaphoreNV (GLuint64 vkSemaphore); +GLAPI void APIENTRY glSignalVkSemaphoreNV (GLuint64 vkSemaphore); +GLAPI void APIENTRY glSignalVkFenceNV (GLuint64 vkFence); +#endif +#endif /* GL_NV_draw_vulkan_image */ + +#ifndef GL_NV_fill_rectangle +#define GL_NV_fill_rectangle 1 +#define GL_FILL_RECTANGLE_NV 0x933C +#endif /* GL_NV_fill_rectangle */ + +#ifndef GL_NV_fragment_coverage_to_color +#define GL_NV_fragment_coverage_to_color 1 +#define GL_FRAGMENT_COVERAGE_TO_COLOR_NV 0x92DD +#define GL_FRAGMENT_COVERAGE_COLOR_NV 0x92DE +typedef void (APIENTRYP PFNGLFRAGMENTCOVERAGECOLORNVPROC) (GLuint color); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glFragmentCoverageColorNV (GLuint color); +#endif +#endif /* GL_NV_fragment_coverage_to_color */ + +#ifndef GL_NV_fragment_shader_barycentric +#define GL_NV_fragment_shader_barycentric 1 +#endif /* GL_NV_fragment_shader_barycentric */ + +#ifndef GL_NV_fragment_shader_interlock +#define GL_NV_fragment_shader_interlock 1 +#endif /* GL_NV_fragment_shader_interlock */ + +#ifndef GL_NV_framebuffer_mixed_samples +#define GL_NV_framebuffer_mixed_samples 1 +#define GL_COVERAGE_MODULATION_TABLE_NV 0x9331 +#define GL_COLOR_SAMPLES_NV 0x8E20 +#define GL_DEPTH_SAMPLES_NV 0x932D +#define GL_STENCIL_SAMPLES_NV 0x932E +#define GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV 0x932F +#define GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV 0x9330 +#define GL_COVERAGE_MODULATION_NV 0x9332 +#define GL_COVERAGE_MODULATION_TABLE_SIZE_NV 0x9333 +typedef void (APIENTRYP PFNGLCOVERAGEMODULATIONTABLENVPROC) (GLsizei n, const GLfloat *v); +typedef void (APIENTRYP PFNGLGETCOVERAGEMODULATIONTABLENVPROC) (GLsizei bufSize, GLfloat *v); +typedef void (APIENTRYP PFNGLCOVERAGEMODULATIONNVPROC) (GLenum components); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glCoverageModulationTableNV (GLsizei n, const GLfloat *v); +GLAPI void APIENTRY glGetCoverageModulationTableNV (GLsizei bufSize, GLfloat *v); +GLAPI void APIENTRY glCoverageModulationNV (GLenum components); +#endif +#endif /* GL_NV_framebuffer_mixed_samples */ + +#ifndef GL_NV_framebuffer_multisample_coverage +#define GL_NV_framebuffer_multisample_coverage 1 +#define GL_RENDERBUFFER_COVERAGE_SAMPLES_NV 0x8CAB +#define GL_RENDERBUFFER_COLOR_SAMPLES_NV 0x8E10 +#define GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV 0x8E11 +#define GL_MULTISAMPLE_COVERAGE_MODES_NV 0x8E12 +typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glRenderbufferStorageMultisampleCoverageNV (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height); +#endif +#endif /* GL_NV_framebuffer_multisample_coverage */ + +#ifndef GL_NV_geometry_shader_passthrough +#define GL_NV_geometry_shader_passthrough 1 +#endif /* GL_NV_geometry_shader_passthrough */ + +#ifndef GL_NV_gpu_shader5 +#define GL_NV_gpu_shader5 1 +typedef khronos_int64_t GLint64EXT; +#define GL_INT64_NV 0x140E +#define GL_UNSIGNED_INT64_NV 0x140F +#define GL_INT8_NV 0x8FE0 +#define GL_INT8_VEC2_NV 0x8FE1 +#define GL_INT8_VEC3_NV 0x8FE2 +#define GL_INT8_VEC4_NV 0x8FE3 +#define GL_INT16_NV 0x8FE4 +#define GL_INT16_VEC2_NV 0x8FE5 +#define GL_INT16_VEC3_NV 0x8FE6 +#define GL_INT16_VEC4_NV 0x8FE7 +#define GL_INT64_VEC2_NV 0x8FE9 +#define GL_INT64_VEC3_NV 0x8FEA +#define GL_INT64_VEC4_NV 0x8FEB +#define GL_UNSIGNED_INT8_NV 0x8FEC +#define GL_UNSIGNED_INT8_VEC2_NV 0x8FED +#define GL_UNSIGNED_INT8_VEC3_NV 0x8FEE +#define GL_UNSIGNED_INT8_VEC4_NV 0x8FEF +#define GL_UNSIGNED_INT16_NV 0x8FF0 +#define GL_UNSIGNED_INT16_VEC2_NV 0x8FF1 +#define GL_UNSIGNED_INT16_VEC3_NV 0x8FF2 +#define GL_UNSIGNED_INT16_VEC4_NV 0x8FF3 +#define GL_UNSIGNED_INT64_VEC2_NV 0x8FF5 +#define GL_UNSIGNED_INT64_VEC3_NV 0x8FF6 +#define GL_UNSIGNED_INT64_VEC4_NV 0x8FF7 +#define GL_FLOAT16_NV 0x8FF8 +#define GL_FLOAT16_VEC2_NV 0x8FF9 +#define GL_FLOAT16_VEC3_NV 0x8FFA +#define GL_FLOAT16_VEC4_NV 0x8FFB +typedef void (APIENTRYP PFNGLUNIFORM1I64NVPROC) (GLint location, GLint64EXT x); +typedef void (APIENTRYP PFNGLUNIFORM2I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y); +typedef void (APIENTRYP PFNGLUNIFORM3I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); +typedef void (APIENTRYP PFNGLUNIFORM4I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); +typedef void (APIENTRYP PFNGLUNIFORM1I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value); +typedef void (APIENTRYP PFNGLUNIFORM2I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value); +typedef void (APIENTRYP PFNGLUNIFORM3I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value); +typedef void (APIENTRYP PFNGLUNIFORM4I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value); +typedef void (APIENTRYP PFNGLUNIFORM1UI64NVPROC) (GLint location, GLuint64EXT x); +typedef void (APIENTRYP PFNGLUNIFORM2UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y); +typedef void (APIENTRYP PFNGLUNIFORM3UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); +typedef void (APIENTRYP PFNGLUNIFORM4UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); +typedef void (APIENTRYP PFNGLUNIFORM1UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value); +typedef void (APIENTRYP PFNGLUNIFORM2UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value); +typedef void (APIENTRYP PFNGLUNIFORM3UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value); +typedef void (APIENTRYP PFNGLUNIFORM4UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value); +typedef void (APIENTRYP PFNGLGETUNIFORMI64VNVPROC) (GLuint program, GLint location, GLint64EXT *params); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64NVPROC) (GLuint program, GLint location, GLint64EXT x); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glUniform1i64NV (GLint location, GLint64EXT x); +GLAPI void APIENTRY glUniform2i64NV (GLint location, GLint64EXT x, GLint64EXT y); +GLAPI void APIENTRY glUniform3i64NV (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); +GLAPI void APIENTRY glUniform4i64NV (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); +GLAPI void APIENTRY glUniform1i64vNV (GLint location, GLsizei count, const GLint64EXT *value); +GLAPI void APIENTRY glUniform2i64vNV (GLint location, GLsizei count, const GLint64EXT *value); +GLAPI void APIENTRY glUniform3i64vNV (GLint location, GLsizei count, const GLint64EXT *value); +GLAPI void APIENTRY glUniform4i64vNV (GLint location, GLsizei count, const GLint64EXT *value); +GLAPI void APIENTRY glUniform1ui64NV (GLint location, GLuint64EXT x); +GLAPI void APIENTRY glUniform2ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y); +GLAPI void APIENTRY glUniform3ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); +GLAPI void APIENTRY glUniform4ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); +GLAPI void APIENTRY glUniform1ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value); +GLAPI void APIENTRY glUniform2ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value); +GLAPI void APIENTRY glUniform3ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value); +GLAPI void APIENTRY glUniform4ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value); +GLAPI void APIENTRY glGetUniformi64vNV (GLuint program, GLint location, GLint64EXT *params); +GLAPI void APIENTRY glProgramUniform1i64NV (GLuint program, GLint location, GLint64EXT x); +GLAPI void APIENTRY glProgramUniform2i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y); +GLAPI void APIENTRY glProgramUniform3i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); +GLAPI void APIENTRY glProgramUniform4i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); +GLAPI void APIENTRY glProgramUniform1i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); +GLAPI void APIENTRY glProgramUniform2i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); +GLAPI void APIENTRY glProgramUniform3i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); +GLAPI void APIENTRY glProgramUniform4i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); +GLAPI void APIENTRY glProgramUniform1ui64NV (GLuint program, GLint location, GLuint64EXT x); +GLAPI void APIENTRY glProgramUniform2ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y); +GLAPI void APIENTRY glProgramUniform3ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); +GLAPI void APIENTRY glProgramUniform4ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); +GLAPI void APIENTRY glProgramUniform1ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); +GLAPI void APIENTRY glProgramUniform2ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); +GLAPI void APIENTRY glProgramUniform3ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); +GLAPI void APIENTRY glProgramUniform4ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); +#endif +#endif /* GL_NV_gpu_shader5 */ + +#ifndef GL_NV_internalformat_sample_query +#define GL_NV_internalformat_sample_query 1 +#define GL_MULTISAMPLES_NV 0x9371 +#define GL_SUPERSAMPLE_SCALE_X_NV 0x9372 +#define GL_SUPERSAMPLE_SCALE_Y_NV 0x9373 +#define GL_CONFORMANT_NV 0x9374 +typedef void (APIENTRYP PFNGLGETINTERNALFORMATSAMPLEIVNVPROC) (GLenum target, GLenum internalformat, GLsizei samples, GLenum pname, GLsizei count, GLint *params); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glGetInternalformatSampleivNV (GLenum target, GLenum internalformat, GLsizei samples, GLenum pname, GLsizei count, GLint *params); +#endif +#endif /* GL_NV_internalformat_sample_query */ + +#ifndef GL_NV_memory_attachment +#define GL_NV_memory_attachment 1 +#define GL_ATTACHED_MEMORY_OBJECT_NV 0x95A4 +#define GL_ATTACHED_MEMORY_OFFSET_NV 0x95A5 +#define GL_MEMORY_ATTACHABLE_ALIGNMENT_NV 0x95A6 +#define GL_MEMORY_ATTACHABLE_SIZE_NV 0x95A7 +#define GL_MEMORY_ATTACHABLE_NV 0x95A8 +#define GL_DETACHED_MEMORY_INCARNATION_NV 0x95A9 +#define GL_DETACHED_TEXTURES_NV 0x95AA +#define GL_DETACHED_BUFFERS_NV 0x95AB +#define GL_MAX_DETACHED_TEXTURES_NV 0x95AC +#define GL_MAX_DETACHED_BUFFERS_NV 0x95AD +typedef void (APIENTRYP PFNGLGETMEMORYOBJECTDETACHEDRESOURCESUIVNVPROC) (GLuint memory, GLenum pname, GLint first, GLsizei count, GLuint *params); +typedef void (APIENTRYP PFNGLRESETMEMORYOBJECTPARAMETERNVPROC) (GLuint memory, GLenum pname); +typedef void (APIENTRYP PFNGLTEXATTACHMEMORYNVPROC) (GLenum target, GLuint memory, GLuint64 offset); +typedef void (APIENTRYP PFNGLBUFFERATTACHMEMORYNVPROC) (GLenum target, GLuint memory, GLuint64 offset); +typedef void (APIENTRYP PFNGLTEXTUREATTACHMEMORYNVPROC) (GLuint texture, GLuint memory, GLuint64 offset); +typedef void (APIENTRYP PFNGLNAMEDBUFFERATTACHMEMORYNVPROC) (GLuint buffer, GLuint memory, GLuint64 offset); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glGetMemoryObjectDetachedResourcesuivNV (GLuint memory, GLenum pname, GLint first, GLsizei count, GLuint *params); +GLAPI void APIENTRY glResetMemoryObjectParameterNV (GLuint memory, GLenum pname); +GLAPI void APIENTRY glTexAttachMemoryNV (GLenum target, GLuint memory, GLuint64 offset); +GLAPI void APIENTRY glBufferAttachMemoryNV (GLenum target, GLuint memory, GLuint64 offset); +GLAPI void APIENTRY glTextureAttachMemoryNV (GLuint texture, GLuint memory, GLuint64 offset); +GLAPI void APIENTRY glNamedBufferAttachMemoryNV (GLuint buffer, GLuint memory, GLuint64 offset); +#endif +#endif /* GL_NV_memory_attachment */ + +#ifndef GL_NV_memory_object_sparse +#define GL_NV_memory_object_sparse 1 +typedef void (APIENTRYP PFNGLBUFFERPAGECOMMITMENTMEMNVPROC) (GLenum target, GLintptr offset, GLsizeiptr size, GLuint memory, GLuint64 memOffset, GLboolean commit); +typedef void (APIENTRYP PFNGLTEXPAGECOMMITMENTMEMNVPROC) (GLenum target, GLint layer, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset, GLboolean commit); +typedef void (APIENTRYP PFNGLNAMEDBUFFERPAGECOMMITMENTMEMNVPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, GLuint memory, GLuint64 memOffset, GLboolean commit); +typedef void (APIENTRYP PFNGLTEXTUREPAGECOMMITMENTMEMNVPROC) (GLuint texture, GLint layer, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset, GLboolean commit); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBufferPageCommitmentMemNV (GLenum target, GLintptr offset, GLsizeiptr size, GLuint memory, GLuint64 memOffset, GLboolean commit); +GLAPI void APIENTRY glTexPageCommitmentMemNV (GLenum target, GLint layer, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset, GLboolean commit); +GLAPI void APIENTRY glNamedBufferPageCommitmentMemNV (GLuint buffer, GLintptr offset, GLsizeiptr size, GLuint memory, GLuint64 memOffset, GLboolean commit); +GLAPI void APIENTRY glTexturePageCommitmentMemNV (GLuint texture, GLint layer, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset, GLboolean commit); +#endif +#endif /* GL_NV_memory_object_sparse */ + +#ifndef GL_NV_mesh_shader +#define GL_NV_mesh_shader 1 +#define GL_MESH_SHADER_NV 0x9559 +#define GL_TASK_SHADER_NV 0x955A +#define GL_MAX_MESH_UNIFORM_BLOCKS_NV 0x8E60 +#define GL_MAX_MESH_TEXTURE_IMAGE_UNITS_NV 0x8E61 +#define GL_MAX_MESH_IMAGE_UNIFORMS_NV 0x8E62 +#define GL_MAX_MESH_UNIFORM_COMPONENTS_NV 0x8E63 +#define GL_MAX_MESH_ATOMIC_COUNTER_BUFFERS_NV 0x8E64 +#define GL_MAX_MESH_ATOMIC_COUNTERS_NV 0x8E65 +#define GL_MAX_MESH_SHADER_STORAGE_BLOCKS_NV 0x8E66 +#define GL_MAX_COMBINED_MESH_UNIFORM_COMPONENTS_NV 0x8E67 +#define GL_MAX_TASK_UNIFORM_BLOCKS_NV 0x8E68 +#define GL_MAX_TASK_TEXTURE_IMAGE_UNITS_NV 0x8E69 +#define GL_MAX_TASK_IMAGE_UNIFORMS_NV 0x8E6A +#define GL_MAX_TASK_UNIFORM_COMPONENTS_NV 0x8E6B +#define GL_MAX_TASK_ATOMIC_COUNTER_BUFFERS_NV 0x8E6C +#define GL_MAX_TASK_ATOMIC_COUNTERS_NV 0x8E6D +#define GL_MAX_TASK_SHADER_STORAGE_BLOCKS_NV 0x8E6E +#define GL_MAX_COMBINED_TASK_UNIFORM_COMPONENTS_NV 0x8E6F +#define GL_MAX_MESH_WORK_GROUP_INVOCATIONS_NV 0x95A2 +#define GL_MAX_TASK_WORK_GROUP_INVOCATIONS_NV 0x95A3 +#define GL_MAX_MESH_TOTAL_MEMORY_SIZE_NV 0x9536 +#define GL_MAX_TASK_TOTAL_MEMORY_SIZE_NV 0x9537 +#define GL_MAX_MESH_OUTPUT_VERTICES_NV 0x9538 +#define GL_MAX_MESH_OUTPUT_PRIMITIVES_NV 0x9539 +#define GL_MAX_TASK_OUTPUT_COUNT_NV 0x953A +#define GL_MAX_DRAW_MESH_TASKS_COUNT_NV 0x953D +#define GL_MAX_MESH_VIEWS_NV 0x9557 +#define GL_MESH_OUTPUT_PER_VERTEX_GRANULARITY_NV 0x92DF +#define GL_MESH_OUTPUT_PER_PRIMITIVE_GRANULARITY_NV 0x9543 +#define GL_MAX_MESH_WORK_GROUP_SIZE_NV 0x953B +#define GL_MAX_TASK_WORK_GROUP_SIZE_NV 0x953C +#define GL_MESH_WORK_GROUP_SIZE_NV 0x953E +#define GL_TASK_WORK_GROUP_SIZE_NV 0x953F +#define GL_MESH_VERTICES_OUT_NV 0x9579 +#define GL_MESH_PRIMITIVES_OUT_NV 0x957A +#define GL_MESH_OUTPUT_TYPE_NV 0x957B +#define GL_UNIFORM_BLOCK_REFERENCED_BY_MESH_SHADER_NV 0x959C +#define GL_UNIFORM_BLOCK_REFERENCED_BY_TASK_SHADER_NV 0x959D +#define GL_REFERENCED_BY_MESH_SHADER_NV 0x95A0 +#define GL_REFERENCED_BY_TASK_SHADER_NV 0x95A1 +#define GL_MESH_SHADER_BIT_NV 0x00000040 +#define GL_TASK_SHADER_BIT_NV 0x00000080 +#define GL_MESH_SUBROUTINE_NV 0x957C +#define GL_TASK_SUBROUTINE_NV 0x957D +#define GL_MESH_SUBROUTINE_UNIFORM_NV 0x957E +#define GL_TASK_SUBROUTINE_UNIFORM_NV 0x957F +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_MESH_SHADER_NV 0x959E +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TASK_SHADER_NV 0x959F +typedef void (APIENTRYP PFNGLDRAWMESHTASKSNVPROC) (GLuint first, GLuint count); +typedef void (APIENTRYP PFNGLDRAWMESHTASKSINDIRECTNVPROC) (GLintptr indirect); +typedef void (APIENTRYP PFNGLMULTIDRAWMESHTASKSINDIRECTNVPROC) (GLintptr indirect, GLsizei drawcount, GLsizei stride); +typedef void (APIENTRYP PFNGLMULTIDRAWMESHTASKSINDIRECTCOUNTNVPROC) (GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glDrawMeshTasksNV (GLuint first, GLuint count); +GLAPI void APIENTRY glDrawMeshTasksIndirectNV (GLintptr indirect); +GLAPI void APIENTRY glMultiDrawMeshTasksIndirectNV (GLintptr indirect, GLsizei drawcount, GLsizei stride); +GLAPI void APIENTRY glMultiDrawMeshTasksIndirectCountNV (GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); +#endif +#endif /* GL_NV_mesh_shader */ + +#ifndef GL_NV_path_rendering +#define GL_NV_path_rendering 1 +#define GL_PATH_FORMAT_SVG_NV 0x9070 +#define GL_PATH_FORMAT_PS_NV 0x9071 +#define GL_STANDARD_FONT_NAME_NV 0x9072 +#define GL_SYSTEM_FONT_NAME_NV 0x9073 +#define GL_FILE_NAME_NV 0x9074 +#define GL_PATH_STROKE_WIDTH_NV 0x9075 +#define GL_PATH_END_CAPS_NV 0x9076 +#define GL_PATH_INITIAL_END_CAP_NV 0x9077 +#define GL_PATH_TERMINAL_END_CAP_NV 0x9078 +#define GL_PATH_JOIN_STYLE_NV 0x9079 +#define GL_PATH_MITER_LIMIT_NV 0x907A +#define GL_PATH_DASH_CAPS_NV 0x907B +#define GL_PATH_INITIAL_DASH_CAP_NV 0x907C +#define GL_PATH_TERMINAL_DASH_CAP_NV 0x907D +#define GL_PATH_DASH_OFFSET_NV 0x907E +#define GL_PATH_CLIENT_LENGTH_NV 0x907F +#define GL_PATH_FILL_MODE_NV 0x9080 +#define GL_PATH_FILL_MASK_NV 0x9081 +#define GL_PATH_FILL_COVER_MODE_NV 0x9082 +#define GL_PATH_STROKE_COVER_MODE_NV 0x9083 +#define GL_PATH_STROKE_MASK_NV 0x9084 +#define GL_COUNT_UP_NV 0x9088 +#define GL_COUNT_DOWN_NV 0x9089 +#define GL_PATH_OBJECT_BOUNDING_BOX_NV 0x908A +#define GL_CONVEX_HULL_NV 0x908B +#define GL_BOUNDING_BOX_NV 0x908D +#define GL_TRANSLATE_X_NV 0x908E +#define GL_TRANSLATE_Y_NV 0x908F +#define GL_TRANSLATE_2D_NV 0x9090 +#define GL_TRANSLATE_3D_NV 0x9091 +#define GL_AFFINE_2D_NV 0x9092 +#define GL_AFFINE_3D_NV 0x9094 +#define GL_TRANSPOSE_AFFINE_2D_NV 0x9096 +#define GL_TRANSPOSE_AFFINE_3D_NV 0x9098 +#define GL_UTF8_NV 0x909A +#define GL_UTF16_NV 0x909B +#define GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV 0x909C +#define GL_PATH_COMMAND_COUNT_NV 0x909D +#define GL_PATH_COORD_COUNT_NV 0x909E +#define GL_PATH_DASH_ARRAY_COUNT_NV 0x909F +#define GL_PATH_COMPUTED_LENGTH_NV 0x90A0 +#define GL_PATH_FILL_BOUNDING_BOX_NV 0x90A1 +#define GL_PATH_STROKE_BOUNDING_BOX_NV 0x90A2 +#define GL_SQUARE_NV 0x90A3 +#define GL_ROUND_NV 0x90A4 +#define GL_TRIANGULAR_NV 0x90A5 +#define GL_BEVEL_NV 0x90A6 +#define GL_MITER_REVERT_NV 0x90A7 +#define GL_MITER_TRUNCATE_NV 0x90A8 +#define GL_SKIP_MISSING_GLYPH_NV 0x90A9 +#define GL_USE_MISSING_GLYPH_NV 0x90AA +#define GL_PATH_ERROR_POSITION_NV 0x90AB +#define GL_ACCUM_ADJACENT_PAIRS_NV 0x90AD +#define GL_ADJACENT_PAIRS_NV 0x90AE +#define GL_FIRST_TO_REST_NV 0x90AF +#define GL_PATH_GEN_MODE_NV 0x90B0 +#define GL_PATH_GEN_COEFF_NV 0x90B1 +#define GL_PATH_GEN_COMPONENTS_NV 0x90B3 +#define GL_PATH_STENCIL_FUNC_NV 0x90B7 +#define GL_PATH_STENCIL_REF_NV 0x90B8 +#define GL_PATH_STENCIL_VALUE_MASK_NV 0x90B9 +#define GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV 0x90BD +#define GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV 0x90BE +#define GL_PATH_COVER_DEPTH_FUNC_NV 0x90BF +#define GL_PATH_DASH_OFFSET_RESET_NV 0x90B4 +#define GL_MOVE_TO_RESETS_NV 0x90B5 +#define GL_MOVE_TO_CONTINUES_NV 0x90B6 +#define GL_CLOSE_PATH_NV 0x00 +#define GL_MOVE_TO_NV 0x02 +#define GL_RELATIVE_MOVE_TO_NV 0x03 +#define GL_LINE_TO_NV 0x04 +#define GL_RELATIVE_LINE_TO_NV 0x05 +#define GL_HORIZONTAL_LINE_TO_NV 0x06 +#define GL_RELATIVE_HORIZONTAL_LINE_TO_NV 0x07 +#define GL_VERTICAL_LINE_TO_NV 0x08 +#define GL_RELATIVE_VERTICAL_LINE_TO_NV 0x09 +#define GL_QUADRATIC_CURVE_TO_NV 0x0A +#define GL_RELATIVE_QUADRATIC_CURVE_TO_NV 0x0B +#define GL_CUBIC_CURVE_TO_NV 0x0C +#define GL_RELATIVE_CUBIC_CURVE_TO_NV 0x0D +#define GL_SMOOTH_QUADRATIC_CURVE_TO_NV 0x0E +#define GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV 0x0F +#define GL_SMOOTH_CUBIC_CURVE_TO_NV 0x10 +#define GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV 0x11 +#define GL_SMALL_CCW_ARC_TO_NV 0x12 +#define GL_RELATIVE_SMALL_CCW_ARC_TO_NV 0x13 +#define GL_SMALL_CW_ARC_TO_NV 0x14 +#define GL_RELATIVE_SMALL_CW_ARC_TO_NV 0x15 +#define GL_LARGE_CCW_ARC_TO_NV 0x16 +#define GL_RELATIVE_LARGE_CCW_ARC_TO_NV 0x17 +#define GL_LARGE_CW_ARC_TO_NV 0x18 +#define GL_RELATIVE_LARGE_CW_ARC_TO_NV 0x19 +#define GL_RESTART_PATH_NV 0xF0 +#define GL_DUP_FIRST_CUBIC_CURVE_TO_NV 0xF2 +#define GL_DUP_LAST_CUBIC_CURVE_TO_NV 0xF4 +#define GL_RECT_NV 0xF6 +#define GL_CIRCULAR_CCW_ARC_TO_NV 0xF8 +#define GL_CIRCULAR_CW_ARC_TO_NV 0xFA +#define GL_CIRCULAR_TANGENT_ARC_TO_NV 0xFC +#define GL_ARC_TO_NV 0xFE +#define GL_RELATIVE_ARC_TO_NV 0xFF +#define GL_BOLD_BIT_NV 0x01 +#define GL_ITALIC_BIT_NV 0x02 +#define GL_GLYPH_WIDTH_BIT_NV 0x01 +#define GL_GLYPH_HEIGHT_BIT_NV 0x02 +#define GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV 0x04 +#define GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV 0x08 +#define GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV 0x10 +#define GL_GLYPH_VERTICAL_BEARING_X_BIT_NV 0x20 +#define GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV 0x40 +#define GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV 0x80 +#define GL_GLYPH_HAS_KERNING_BIT_NV 0x100 +#define GL_FONT_X_MIN_BOUNDS_BIT_NV 0x00010000 +#define GL_FONT_Y_MIN_BOUNDS_BIT_NV 0x00020000 +#define GL_FONT_X_MAX_BOUNDS_BIT_NV 0x00040000 +#define GL_FONT_Y_MAX_BOUNDS_BIT_NV 0x00080000 +#define GL_FONT_UNITS_PER_EM_BIT_NV 0x00100000 +#define GL_FONT_ASCENDER_BIT_NV 0x00200000 +#define GL_FONT_DESCENDER_BIT_NV 0x00400000 +#define GL_FONT_HEIGHT_BIT_NV 0x00800000 +#define GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV 0x01000000 +#define GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV 0x02000000 +#define GL_FONT_UNDERLINE_POSITION_BIT_NV 0x04000000 +#define GL_FONT_UNDERLINE_THICKNESS_BIT_NV 0x08000000 +#define GL_FONT_HAS_KERNING_BIT_NV 0x10000000 +#define GL_ROUNDED_RECT_NV 0xE8 +#define GL_RELATIVE_ROUNDED_RECT_NV 0xE9 +#define GL_ROUNDED_RECT2_NV 0xEA +#define GL_RELATIVE_ROUNDED_RECT2_NV 0xEB +#define GL_ROUNDED_RECT4_NV 0xEC +#define GL_RELATIVE_ROUNDED_RECT4_NV 0xED +#define GL_ROUNDED_RECT8_NV 0xEE +#define GL_RELATIVE_ROUNDED_RECT8_NV 0xEF +#define GL_RELATIVE_RECT_NV 0xF7 +#define GL_FONT_GLYPHS_AVAILABLE_NV 0x9368 +#define GL_FONT_TARGET_UNAVAILABLE_NV 0x9369 +#define GL_FONT_UNAVAILABLE_NV 0x936A +#define GL_FONT_UNINTELLIGIBLE_NV 0x936B +#define GL_CONIC_CURVE_TO_NV 0x1A +#define GL_RELATIVE_CONIC_CURVE_TO_NV 0x1B +#define GL_FONT_NUM_GLYPH_INDICES_BIT_NV 0x20000000 +#define GL_STANDARD_FONT_FORMAT_NV 0x936C +#define GL_PATH_PROJECTION_NV 0x1701 +#define GL_PATH_MODELVIEW_NV 0x1700 +#define GL_PATH_MODELVIEW_STACK_DEPTH_NV 0x0BA3 +#define GL_PATH_MODELVIEW_MATRIX_NV 0x0BA6 +#define GL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV 0x0D36 +#define GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV 0x84E3 +#define GL_PATH_PROJECTION_STACK_DEPTH_NV 0x0BA4 +#define GL_PATH_PROJECTION_MATRIX_NV 0x0BA7 +#define GL_PATH_MAX_PROJECTION_STACK_DEPTH_NV 0x0D38 +#define GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV 0x84E4 +#define GL_FRAGMENT_INPUT_NV 0x936D +typedef GLuint (APIENTRYP PFNGLGENPATHSNVPROC) (GLsizei range); +typedef void (APIENTRYP PFNGLDELETEPATHSNVPROC) (GLuint path, GLsizei range); +typedef GLboolean (APIENTRYP PFNGLISPATHNVPROC) (GLuint path); +typedef void (APIENTRYP PFNGLPATHCOMMANDSNVPROC) (GLuint path, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords); +typedef void (APIENTRYP PFNGLPATHCOORDSNVPROC) (GLuint path, GLsizei numCoords, GLenum coordType, const void *coords); +typedef void (APIENTRYP PFNGLPATHSUBCOMMANDSNVPROC) (GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords); +typedef void (APIENTRYP PFNGLPATHSUBCOORDSNVPROC) (GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const void *coords); +typedef void (APIENTRYP PFNGLPATHSTRINGNVPROC) (GLuint path, GLenum format, GLsizei length, const void *pathString); +typedef void (APIENTRYP PFNGLPATHGLYPHSNVPROC) (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const void *charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale); +typedef void (APIENTRYP PFNGLPATHGLYPHRANGENVPROC) (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale); +typedef void (APIENTRYP PFNGLWEIGHTPATHSNVPROC) (GLuint resultPath, GLsizei numPaths, const GLuint *paths, const GLfloat *weights); +typedef void (APIENTRYP PFNGLCOPYPATHNVPROC) (GLuint resultPath, GLuint srcPath); +typedef void (APIENTRYP PFNGLINTERPOLATEPATHSNVPROC) (GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight); +typedef void (APIENTRYP PFNGLTRANSFORMPATHNVPROC) (GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat *transformValues); +typedef void (APIENTRYP PFNGLPATHPARAMETERIVNVPROC) (GLuint path, GLenum pname, const GLint *value); +typedef void (APIENTRYP PFNGLPATHPARAMETERINVPROC) (GLuint path, GLenum pname, GLint value); +typedef void (APIENTRYP PFNGLPATHPARAMETERFVNVPROC) (GLuint path, GLenum pname, const GLfloat *value); +typedef void (APIENTRYP PFNGLPATHPARAMETERFNVPROC) (GLuint path, GLenum pname, GLfloat value); +typedef void (APIENTRYP PFNGLPATHDASHARRAYNVPROC) (GLuint path, GLsizei dashCount, const GLfloat *dashArray); +typedef void (APIENTRYP PFNGLPATHSTENCILFUNCNVPROC) (GLenum func, GLint ref, GLuint mask); +typedef void (APIENTRYP PFNGLPATHSTENCILDEPTHOFFSETNVPROC) (GLfloat factor, GLfloat units); +typedef void (APIENTRYP PFNGLSTENCILFILLPATHNVPROC) (GLuint path, GLenum fillMode, GLuint mask); +typedef void (APIENTRYP PFNGLSTENCILSTROKEPATHNVPROC) (GLuint path, GLint reference, GLuint mask); +typedef void (APIENTRYP PFNGLSTENCILFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues); +typedef void (APIENTRYP PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues); +typedef void (APIENTRYP PFNGLPATHCOVERDEPTHFUNCNVPROC) (GLenum func); +typedef void (APIENTRYP PFNGLCOVERFILLPATHNVPROC) (GLuint path, GLenum coverMode); +typedef void (APIENTRYP PFNGLCOVERSTROKEPATHNVPROC) (GLuint path, GLenum coverMode); +typedef void (APIENTRYP PFNGLCOVERFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); +typedef void (APIENTRYP PFNGLCOVERSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); +typedef void (APIENTRYP PFNGLGETPATHPARAMETERIVNVPROC) (GLuint path, GLenum pname, GLint *value); +typedef void (APIENTRYP PFNGLGETPATHPARAMETERFVNVPROC) (GLuint path, GLenum pname, GLfloat *value); +typedef void (APIENTRYP PFNGLGETPATHCOMMANDSNVPROC) (GLuint path, GLubyte *commands); +typedef void (APIENTRYP PFNGLGETPATHCOORDSNVPROC) (GLuint path, GLfloat *coords); +typedef void (APIENTRYP PFNGLGETPATHDASHARRAYNVPROC) (GLuint path, GLfloat *dashArray); +typedef void (APIENTRYP PFNGLGETPATHMETRICSNVPROC) (GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLsizei stride, GLfloat *metrics); +typedef void (APIENTRYP PFNGLGETPATHMETRICRANGENVPROC) (GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat *metrics); +typedef void (APIENTRYP PFNGLGETPATHSPACINGNVPROC) (GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing); +typedef GLboolean (APIENTRYP PFNGLISPOINTINFILLPATHNVPROC) (GLuint path, GLuint mask, GLfloat x, GLfloat y); +typedef GLboolean (APIENTRYP PFNGLISPOINTINSTROKEPATHNVPROC) (GLuint path, GLfloat x, GLfloat y); +typedef GLfloat (APIENTRYP PFNGLGETPATHLENGTHNVPROC) (GLuint path, GLsizei startSegment, GLsizei numSegments); +typedef GLboolean (APIENTRYP PFNGLPOINTALONGPATHNVPROC) (GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat *x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY); +typedef void (APIENTRYP PFNGLMATRIXLOAD3X2FNVPROC) (GLenum matrixMode, const GLfloat *m); +typedef void (APIENTRYP PFNGLMATRIXLOAD3X3FNVPROC) (GLenum matrixMode, const GLfloat *m); +typedef void (APIENTRYP PFNGLMATRIXLOADTRANSPOSE3X3FNVPROC) (GLenum matrixMode, const GLfloat *m); +typedef void (APIENTRYP PFNGLMATRIXMULT3X2FNVPROC) (GLenum matrixMode, const GLfloat *m); +typedef void (APIENTRYP PFNGLMATRIXMULT3X3FNVPROC) (GLenum matrixMode, const GLfloat *m); +typedef void (APIENTRYP PFNGLMATRIXMULTTRANSPOSE3X3FNVPROC) (GLenum matrixMode, const GLfloat *m); +typedef void (APIENTRYP PFNGLSTENCILTHENCOVERFILLPATHNVPROC) (GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode); +typedef void (APIENTRYP PFNGLSTENCILTHENCOVERSTROKEPATHNVPROC) (GLuint path, GLint reference, GLuint mask, GLenum coverMode); +typedef void (APIENTRYP PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); +typedef void (APIENTRYP PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); +typedef GLenum (APIENTRYP PFNGLPATHGLYPHINDEXRANGENVPROC) (GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint pathParameterTemplate, GLfloat emScale, GLuint *baseAndCount); +typedef GLenum (APIENTRYP PFNGLPATHGLYPHINDEXARRAYNVPROC) (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale); +typedef GLenum (APIENTRYP PFNGLPATHMEMORYGLYPHINDEXARRAYNVPROC) (GLuint firstPathName, GLenum fontTarget, GLsizeiptr fontSize, const void *fontData, GLsizei faceIndex, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale); +typedef void (APIENTRYP PFNGLPROGRAMPATHFRAGMENTINPUTGENNVPROC) (GLuint program, GLint location, GLenum genMode, GLint components, const GLfloat *coeffs); +typedef void (APIENTRYP PFNGLGETPROGRAMRESOURCEFVNVPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei count, GLsizei *length, GLfloat *params); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI GLuint APIENTRY glGenPathsNV (GLsizei range); +GLAPI void APIENTRY glDeletePathsNV (GLuint path, GLsizei range); +GLAPI GLboolean APIENTRY glIsPathNV (GLuint path); +GLAPI void APIENTRY glPathCommandsNV (GLuint path, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords); +GLAPI void APIENTRY glPathCoordsNV (GLuint path, GLsizei numCoords, GLenum coordType, const void *coords); +GLAPI void APIENTRY glPathSubCommandsNV (GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords); +GLAPI void APIENTRY glPathSubCoordsNV (GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const void *coords); +GLAPI void APIENTRY glPathStringNV (GLuint path, GLenum format, GLsizei length, const void *pathString); +GLAPI void APIENTRY glPathGlyphsNV (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const void *charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale); +GLAPI void APIENTRY glPathGlyphRangeNV (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale); +GLAPI void APIENTRY glWeightPathsNV (GLuint resultPath, GLsizei numPaths, const GLuint *paths, const GLfloat *weights); +GLAPI void APIENTRY glCopyPathNV (GLuint resultPath, GLuint srcPath); +GLAPI void APIENTRY glInterpolatePathsNV (GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight); +GLAPI void APIENTRY glTransformPathNV (GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat *transformValues); +GLAPI void APIENTRY glPathParameterivNV (GLuint path, GLenum pname, const GLint *value); +GLAPI void APIENTRY glPathParameteriNV (GLuint path, GLenum pname, GLint value); +GLAPI void APIENTRY glPathParameterfvNV (GLuint path, GLenum pname, const GLfloat *value); +GLAPI void APIENTRY glPathParameterfNV (GLuint path, GLenum pname, GLfloat value); +GLAPI void APIENTRY glPathDashArrayNV (GLuint path, GLsizei dashCount, const GLfloat *dashArray); +GLAPI void APIENTRY glPathStencilFuncNV (GLenum func, GLint ref, GLuint mask); +GLAPI void APIENTRY glPathStencilDepthOffsetNV (GLfloat factor, GLfloat units); +GLAPI void APIENTRY glStencilFillPathNV (GLuint path, GLenum fillMode, GLuint mask); +GLAPI void APIENTRY glStencilStrokePathNV (GLuint path, GLint reference, GLuint mask); +GLAPI void APIENTRY glStencilFillPathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues); +GLAPI void APIENTRY glStencilStrokePathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues); +GLAPI void APIENTRY glPathCoverDepthFuncNV (GLenum func); +GLAPI void APIENTRY glCoverFillPathNV (GLuint path, GLenum coverMode); +GLAPI void APIENTRY glCoverStrokePathNV (GLuint path, GLenum coverMode); +GLAPI void APIENTRY glCoverFillPathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); +GLAPI void APIENTRY glCoverStrokePathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); +GLAPI void APIENTRY glGetPathParameterivNV (GLuint path, GLenum pname, GLint *value); +GLAPI void APIENTRY glGetPathParameterfvNV (GLuint path, GLenum pname, GLfloat *value); +GLAPI void APIENTRY glGetPathCommandsNV (GLuint path, GLubyte *commands); +GLAPI void APIENTRY glGetPathCoordsNV (GLuint path, GLfloat *coords); +GLAPI void APIENTRY glGetPathDashArrayNV (GLuint path, GLfloat *dashArray); +GLAPI void APIENTRY glGetPathMetricsNV (GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLsizei stride, GLfloat *metrics); +GLAPI void APIENTRY glGetPathMetricRangeNV (GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat *metrics); +GLAPI void APIENTRY glGetPathSpacingNV (GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing); +GLAPI GLboolean APIENTRY glIsPointInFillPathNV (GLuint path, GLuint mask, GLfloat x, GLfloat y); +GLAPI GLboolean APIENTRY glIsPointInStrokePathNV (GLuint path, GLfloat x, GLfloat y); +GLAPI GLfloat APIENTRY glGetPathLengthNV (GLuint path, GLsizei startSegment, GLsizei numSegments); +GLAPI GLboolean APIENTRY glPointAlongPathNV (GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat *x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY); +GLAPI void APIENTRY glMatrixLoad3x2fNV (GLenum matrixMode, const GLfloat *m); +GLAPI void APIENTRY glMatrixLoad3x3fNV (GLenum matrixMode, const GLfloat *m); +GLAPI void APIENTRY glMatrixLoadTranspose3x3fNV (GLenum matrixMode, const GLfloat *m); +GLAPI void APIENTRY glMatrixMult3x2fNV (GLenum matrixMode, const GLfloat *m); +GLAPI void APIENTRY glMatrixMult3x3fNV (GLenum matrixMode, const GLfloat *m); +GLAPI void APIENTRY glMatrixMultTranspose3x3fNV (GLenum matrixMode, const GLfloat *m); +GLAPI void APIENTRY glStencilThenCoverFillPathNV (GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode); +GLAPI void APIENTRY glStencilThenCoverStrokePathNV (GLuint path, GLint reference, GLuint mask, GLenum coverMode); +GLAPI void APIENTRY glStencilThenCoverFillPathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); +GLAPI void APIENTRY glStencilThenCoverStrokePathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); +GLAPI GLenum APIENTRY glPathGlyphIndexRangeNV (GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint pathParameterTemplate, GLfloat emScale, GLuint *baseAndCount); +GLAPI GLenum APIENTRY glPathGlyphIndexArrayNV (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale); +GLAPI GLenum APIENTRY glPathMemoryGlyphIndexArrayNV (GLuint firstPathName, GLenum fontTarget, GLsizeiptr fontSize, const void *fontData, GLsizei faceIndex, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale); +GLAPI void APIENTRY glProgramPathFragmentInputGenNV (GLuint program, GLint location, GLenum genMode, GLint components, const GLfloat *coeffs); +GLAPI void APIENTRY glGetProgramResourcefvNV (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei count, GLsizei *length, GLfloat *params); +#endif +#endif /* GL_NV_path_rendering */ + +#ifndef GL_NV_path_rendering_shared_edge +#define GL_NV_path_rendering_shared_edge 1 +#define GL_SHARED_EDGE_NV 0xC0 +#endif /* GL_NV_path_rendering_shared_edge */ + +#ifndef GL_NV_primitive_shading_rate +#define GL_NV_primitive_shading_rate 1 +#define GL_SHADING_RATE_IMAGE_PER_PRIMITIVE_NV 0x95B1 +#define GL_SHADING_RATE_IMAGE_PALETTE_COUNT_NV 0x95B2 +#endif /* GL_NV_primitive_shading_rate */ + +#ifndef GL_NV_representative_fragment_test +#define GL_NV_representative_fragment_test 1 +#define GL_REPRESENTATIVE_FRAGMENT_TEST_NV 0x937F +#endif /* GL_NV_representative_fragment_test */ + +#ifndef GL_NV_sample_locations +#define GL_NV_sample_locations 1 +#define GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV 0x933D +#define GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV 0x933E +#define GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV 0x933F +#define GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV 0x9340 +#define GL_SAMPLE_LOCATION_NV 0x8E50 +#define GL_PROGRAMMABLE_SAMPLE_LOCATION_NV 0x9341 +#define GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV 0x9342 +#define GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV 0x9343 +typedef void (APIENTRYP PFNGLFRAMEBUFFERSAMPLELOCATIONSFVNVPROC) (GLenum target, GLuint start, GLsizei count, const GLfloat *v); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVNVPROC) (GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v); +typedef void (APIENTRYP PFNGLRESOLVEDEPTHVALUESNVPROC) (void); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glFramebufferSampleLocationsfvNV (GLenum target, GLuint start, GLsizei count, const GLfloat *v); +GLAPI void APIENTRY glNamedFramebufferSampleLocationsfvNV (GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v); +GLAPI void APIENTRY glResolveDepthValuesNV (void); +#endif +#endif /* GL_NV_sample_locations */ + +#ifndef GL_NV_sample_mask_override_coverage +#define GL_NV_sample_mask_override_coverage 1 +#endif /* GL_NV_sample_mask_override_coverage */ + +#ifndef GL_NV_scissor_exclusive +#define GL_NV_scissor_exclusive 1 +#define GL_SCISSOR_TEST_EXCLUSIVE_NV 0x9555 +#define GL_SCISSOR_BOX_EXCLUSIVE_NV 0x9556 +typedef void (APIENTRYP PFNGLSCISSOREXCLUSIVENVPROC) (GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLSCISSOREXCLUSIVEARRAYVNVPROC) (GLuint first, GLsizei count, const GLint *v); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glScissorExclusiveNV (GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI void APIENTRY glScissorExclusiveArrayvNV (GLuint first, GLsizei count, const GLint *v); +#endif +#endif /* GL_NV_scissor_exclusive */ + +#ifndef GL_NV_shader_atomic_counters +#define GL_NV_shader_atomic_counters 1 +#endif /* GL_NV_shader_atomic_counters */ + +#ifndef GL_NV_shader_atomic_float +#define GL_NV_shader_atomic_float 1 +#endif /* GL_NV_shader_atomic_float */ + +#ifndef GL_NV_shader_atomic_float64 +#define GL_NV_shader_atomic_float64 1 +#endif /* GL_NV_shader_atomic_float64 */ + +#ifndef GL_NV_shader_atomic_fp16_vector +#define GL_NV_shader_atomic_fp16_vector 1 +#endif /* GL_NV_shader_atomic_fp16_vector */ + +#ifndef GL_NV_shader_atomic_int64 +#define GL_NV_shader_atomic_int64 1 +#endif /* GL_NV_shader_atomic_int64 */ + +#ifndef GL_NV_shader_buffer_load +#define GL_NV_shader_buffer_load 1 +#define GL_BUFFER_GPU_ADDRESS_NV 0x8F1D +#define GL_GPU_ADDRESS_NV 0x8F34 +#define GL_MAX_SHADER_BUFFER_ADDRESS_NV 0x8F35 +typedef void (APIENTRYP PFNGLMAKEBUFFERRESIDENTNVPROC) (GLenum target, GLenum access); +typedef void (APIENTRYP PFNGLMAKEBUFFERNONRESIDENTNVPROC) (GLenum target); +typedef GLboolean (APIENTRYP PFNGLISBUFFERRESIDENTNVPROC) (GLenum target); +typedef void (APIENTRYP PFNGLMAKENAMEDBUFFERRESIDENTNVPROC) (GLuint buffer, GLenum access); +typedef void (APIENTRYP PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC) (GLuint buffer); +typedef GLboolean (APIENTRYP PFNGLISNAMEDBUFFERRESIDENTNVPROC) (GLuint buffer); +typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERUI64VNVPROC) (GLenum target, GLenum pname, GLuint64EXT *params); +typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC) (GLuint buffer, GLenum pname, GLuint64EXT *params); +typedef void (APIENTRYP PFNGLGETINTEGERUI64VNVPROC) (GLenum value, GLuint64EXT *result); +typedef void (APIENTRYP PFNGLUNIFORMUI64NVPROC) (GLint location, GLuint64EXT value); +typedef void (APIENTRYP PFNGLUNIFORMUI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value); +typedef void (APIENTRYP PFNGLGETUNIFORMUI64VNVPROC) (GLuint program, GLint location, GLuint64EXT *params); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMUI64NVPROC) (GLuint program, GLint location, GLuint64EXT value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMUI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glMakeBufferResidentNV (GLenum target, GLenum access); +GLAPI void APIENTRY glMakeBufferNonResidentNV (GLenum target); +GLAPI GLboolean APIENTRY glIsBufferResidentNV (GLenum target); +GLAPI void APIENTRY glMakeNamedBufferResidentNV (GLuint buffer, GLenum access); +GLAPI void APIENTRY glMakeNamedBufferNonResidentNV (GLuint buffer); +GLAPI GLboolean APIENTRY glIsNamedBufferResidentNV (GLuint buffer); +GLAPI void APIENTRY glGetBufferParameterui64vNV (GLenum target, GLenum pname, GLuint64EXT *params); +GLAPI void APIENTRY glGetNamedBufferParameterui64vNV (GLuint buffer, GLenum pname, GLuint64EXT *params); +GLAPI void APIENTRY glGetIntegerui64vNV (GLenum value, GLuint64EXT *result); +GLAPI void APIENTRY glUniformui64NV (GLint location, GLuint64EXT value); +GLAPI void APIENTRY glUniformui64vNV (GLint location, GLsizei count, const GLuint64EXT *value); +GLAPI void APIENTRY glGetUniformui64vNV (GLuint program, GLint location, GLuint64EXT *params); +GLAPI void APIENTRY glProgramUniformui64NV (GLuint program, GLint location, GLuint64EXT value); +GLAPI void APIENTRY glProgramUniformui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); +#endif +#endif /* GL_NV_shader_buffer_load */ + +#ifndef GL_NV_shader_buffer_store +#define GL_NV_shader_buffer_store 1 +#define GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV 0x00000010 +#endif /* GL_NV_shader_buffer_store */ + +#ifndef GL_NV_shader_subgroup_partitioned +#define GL_NV_shader_subgroup_partitioned 1 +#define GL_SUBGROUP_FEATURE_PARTITIONED_BIT_NV 0x00000100 +#endif /* GL_NV_shader_subgroup_partitioned */ + +#ifndef GL_NV_shader_texture_footprint +#define GL_NV_shader_texture_footprint 1 +#endif /* GL_NV_shader_texture_footprint */ + +#ifndef GL_NV_shader_thread_group +#define GL_NV_shader_thread_group 1 +#define GL_WARP_SIZE_NV 0x9339 +#define GL_WARPS_PER_SM_NV 0x933A +#define GL_SM_COUNT_NV 0x933B +#endif /* GL_NV_shader_thread_group */ + +#ifndef GL_NV_shader_thread_shuffle +#define GL_NV_shader_thread_shuffle 1 +#endif /* GL_NV_shader_thread_shuffle */ + +#ifndef GL_NV_shading_rate_image +#define GL_NV_shading_rate_image 1 +#define GL_SHADING_RATE_IMAGE_NV 0x9563 +#define GL_SHADING_RATE_NO_INVOCATIONS_NV 0x9564 +#define GL_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV 0x9565 +#define GL_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV 0x9566 +#define GL_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV 0x9567 +#define GL_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV 0x9568 +#define GL_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV 0x9569 +#define GL_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV 0x956A +#define GL_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV 0x956B +#define GL_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV 0x956C +#define GL_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV 0x956D +#define GL_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV 0x956E +#define GL_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV 0x956F +#define GL_SHADING_RATE_IMAGE_BINDING_NV 0x955B +#define GL_SHADING_RATE_IMAGE_TEXEL_WIDTH_NV 0x955C +#define GL_SHADING_RATE_IMAGE_TEXEL_HEIGHT_NV 0x955D +#define GL_SHADING_RATE_IMAGE_PALETTE_SIZE_NV 0x955E +#define GL_MAX_COARSE_FRAGMENT_SAMPLES_NV 0x955F +#define GL_SHADING_RATE_SAMPLE_ORDER_DEFAULT_NV 0x95AE +#define GL_SHADING_RATE_SAMPLE_ORDER_PIXEL_MAJOR_NV 0x95AF +#define GL_SHADING_RATE_SAMPLE_ORDER_SAMPLE_MAJOR_NV 0x95B0 +typedef void (APIENTRYP PFNGLBINDSHADINGRATEIMAGENVPROC) (GLuint texture); +typedef void (APIENTRYP PFNGLGETSHADINGRATEIMAGEPALETTENVPROC) (GLuint viewport, GLuint entry, GLenum *rate); +typedef void (APIENTRYP PFNGLGETSHADINGRATESAMPLELOCATIONIVNVPROC) (GLenum rate, GLuint samples, GLuint index, GLint *location); +typedef void (APIENTRYP PFNGLSHADINGRATEIMAGEBARRIERNVPROC) (GLboolean synchronize); +typedef void (APIENTRYP PFNGLSHADINGRATEIMAGEPALETTENVPROC) (GLuint viewport, GLuint first, GLsizei count, const GLenum *rates); +typedef void (APIENTRYP PFNGLSHADINGRATESAMPLEORDERNVPROC) (GLenum order); +typedef void (APIENTRYP PFNGLSHADINGRATESAMPLEORDERCUSTOMNVPROC) (GLenum rate, GLuint samples, const GLint *locations); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBindShadingRateImageNV (GLuint texture); +GLAPI void APIENTRY glGetShadingRateImagePaletteNV (GLuint viewport, GLuint entry, GLenum *rate); +GLAPI void APIENTRY glGetShadingRateSampleLocationivNV (GLenum rate, GLuint samples, GLuint index, GLint *location); +GLAPI void APIENTRY glShadingRateImageBarrierNV (GLboolean synchronize); +GLAPI void APIENTRY glShadingRateImagePaletteNV (GLuint viewport, GLuint first, GLsizei count, const GLenum *rates); +GLAPI void APIENTRY glShadingRateSampleOrderNV (GLenum order); +GLAPI void APIENTRY glShadingRateSampleOrderCustomNV (GLenum rate, GLuint samples, const GLint *locations); +#endif +#endif /* GL_NV_shading_rate_image */ + +#ifndef GL_NV_stereo_view_rendering +#define GL_NV_stereo_view_rendering 1 +#endif /* GL_NV_stereo_view_rendering */ + +#ifndef GL_NV_texture_barrier +#define GL_NV_texture_barrier 1 +typedef void (APIENTRYP PFNGLTEXTUREBARRIERNVPROC) (void); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glTextureBarrierNV (void); +#endif +#endif /* GL_NV_texture_barrier */ + +#ifndef GL_NV_texture_rectangle_compressed +#define GL_NV_texture_rectangle_compressed 1 +#endif /* GL_NV_texture_rectangle_compressed */ + +#ifndef GL_NV_uniform_buffer_unified_memory +#define GL_NV_uniform_buffer_unified_memory 1 +#define GL_UNIFORM_BUFFER_UNIFIED_NV 0x936E +#define GL_UNIFORM_BUFFER_ADDRESS_NV 0x936F +#define GL_UNIFORM_BUFFER_LENGTH_NV 0x9370 +#endif /* GL_NV_uniform_buffer_unified_memory */ + +#ifndef GL_NV_vertex_attrib_integer_64bit +#define GL_NV_vertex_attrib_integer_64bit 1 +typedef void (APIENTRYP PFNGLVERTEXATTRIBL1I64NVPROC) (GLuint index, GLint64EXT x); +typedef void (APIENTRYP PFNGLVERTEXATTRIBL2I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y); +typedef void (APIENTRYP PFNGLVERTEXATTRIBL3I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z); +typedef void (APIENTRYP PFNGLVERTEXATTRIBL4I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); +typedef void (APIENTRYP PFNGLVERTEXATTRIBL1I64VNVPROC) (GLuint index, const GLint64EXT *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBL2I64VNVPROC) (GLuint index, const GLint64EXT *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBL3I64VNVPROC) (GLuint index, const GLint64EXT *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBL4I64VNVPROC) (GLuint index, const GLint64EXT *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBL1UI64NVPROC) (GLuint index, GLuint64EXT x); +typedef void (APIENTRYP PFNGLVERTEXATTRIBL2UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y); +typedef void (APIENTRYP PFNGLVERTEXATTRIBL3UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); +typedef void (APIENTRYP PFNGLVERTEXATTRIBL4UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); +typedef void (APIENTRYP PFNGLVERTEXATTRIBL1UI64VNVPROC) (GLuint index, const GLuint64EXT *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBL2UI64VNVPROC) (GLuint index, const GLuint64EXT *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBL3UI64VNVPROC) (GLuint index, const GLuint64EXT *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBL4UI64VNVPROC) (GLuint index, const GLuint64EXT *v); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBLI64VNVPROC) (GLuint index, GLenum pname, GLint64EXT *params); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBLUI64VNVPROC) (GLuint index, GLenum pname, GLuint64EXT *params); +typedef void (APIENTRYP PFNGLVERTEXATTRIBLFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glVertexAttribL1i64NV (GLuint index, GLint64EXT x); +GLAPI void APIENTRY glVertexAttribL2i64NV (GLuint index, GLint64EXT x, GLint64EXT y); +GLAPI void APIENTRY glVertexAttribL3i64NV (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z); +GLAPI void APIENTRY glVertexAttribL4i64NV (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); +GLAPI void APIENTRY glVertexAttribL1i64vNV (GLuint index, const GLint64EXT *v); +GLAPI void APIENTRY glVertexAttribL2i64vNV (GLuint index, const GLint64EXT *v); +GLAPI void APIENTRY glVertexAttribL3i64vNV (GLuint index, const GLint64EXT *v); +GLAPI void APIENTRY glVertexAttribL4i64vNV (GLuint index, const GLint64EXT *v); +GLAPI void APIENTRY glVertexAttribL1ui64NV (GLuint index, GLuint64EXT x); +GLAPI void APIENTRY glVertexAttribL2ui64NV (GLuint index, GLuint64EXT x, GLuint64EXT y); +GLAPI void APIENTRY glVertexAttribL3ui64NV (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); +GLAPI void APIENTRY glVertexAttribL4ui64NV (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); +GLAPI void APIENTRY glVertexAttribL1ui64vNV (GLuint index, const GLuint64EXT *v); +GLAPI void APIENTRY glVertexAttribL2ui64vNV (GLuint index, const GLuint64EXT *v); +GLAPI void APIENTRY glVertexAttribL3ui64vNV (GLuint index, const GLuint64EXT *v); +GLAPI void APIENTRY glVertexAttribL4ui64vNV (GLuint index, const GLuint64EXT *v); +GLAPI void APIENTRY glGetVertexAttribLi64vNV (GLuint index, GLenum pname, GLint64EXT *params); +GLAPI void APIENTRY glGetVertexAttribLui64vNV (GLuint index, GLenum pname, GLuint64EXT *params); +GLAPI void APIENTRY glVertexAttribLFormatNV (GLuint index, GLint size, GLenum type, GLsizei stride); +#endif +#endif /* GL_NV_vertex_attrib_integer_64bit */ + +#ifndef GL_NV_vertex_buffer_unified_memory +#define GL_NV_vertex_buffer_unified_memory 1 +#define GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV 0x8F1E +#define GL_ELEMENT_ARRAY_UNIFIED_NV 0x8F1F +#define GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV 0x8F20 +#define GL_VERTEX_ARRAY_ADDRESS_NV 0x8F21 +#define GL_NORMAL_ARRAY_ADDRESS_NV 0x8F22 +#define GL_COLOR_ARRAY_ADDRESS_NV 0x8F23 +#define GL_INDEX_ARRAY_ADDRESS_NV 0x8F24 +#define GL_TEXTURE_COORD_ARRAY_ADDRESS_NV 0x8F25 +#define GL_EDGE_FLAG_ARRAY_ADDRESS_NV 0x8F26 +#define GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV 0x8F27 +#define GL_FOG_COORD_ARRAY_ADDRESS_NV 0x8F28 +#define GL_ELEMENT_ARRAY_ADDRESS_NV 0x8F29 +#define GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV 0x8F2A +#define GL_VERTEX_ARRAY_LENGTH_NV 0x8F2B +#define GL_NORMAL_ARRAY_LENGTH_NV 0x8F2C +#define GL_COLOR_ARRAY_LENGTH_NV 0x8F2D +#define GL_INDEX_ARRAY_LENGTH_NV 0x8F2E +#define GL_TEXTURE_COORD_ARRAY_LENGTH_NV 0x8F2F +#define GL_EDGE_FLAG_ARRAY_LENGTH_NV 0x8F30 +#define GL_SECONDARY_COLOR_ARRAY_LENGTH_NV 0x8F31 +#define GL_FOG_COORD_ARRAY_LENGTH_NV 0x8F32 +#define GL_ELEMENT_ARRAY_LENGTH_NV 0x8F33 +#define GL_DRAW_INDIRECT_UNIFIED_NV 0x8F40 +#define GL_DRAW_INDIRECT_ADDRESS_NV 0x8F41 +#define GL_DRAW_INDIRECT_LENGTH_NV 0x8F42 +typedef void (APIENTRYP PFNGLBUFFERADDRESSRANGENVPROC) (GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length); +typedef void (APIENTRYP PFNGLVERTEXFORMATNVPROC) (GLint size, GLenum type, GLsizei stride); +typedef void (APIENTRYP PFNGLNORMALFORMATNVPROC) (GLenum type, GLsizei stride); +typedef void (APIENTRYP PFNGLCOLORFORMATNVPROC) (GLint size, GLenum type, GLsizei stride); +typedef void (APIENTRYP PFNGLINDEXFORMATNVPROC) (GLenum type, GLsizei stride); +typedef void (APIENTRYP PFNGLTEXCOORDFORMATNVPROC) (GLint size, GLenum type, GLsizei stride); +typedef void (APIENTRYP PFNGLEDGEFLAGFORMATNVPROC) (GLsizei stride); +typedef void (APIENTRYP PFNGLSECONDARYCOLORFORMATNVPROC) (GLint size, GLenum type, GLsizei stride); +typedef void (APIENTRYP PFNGLFOGCOORDFORMATNVPROC) (GLenum type, GLsizei stride); +typedef void (APIENTRYP PFNGLVERTEXATTRIBFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride); +typedef void (APIENTRYP PFNGLVERTEXATTRIBIFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride); +typedef void (APIENTRYP PFNGLGETINTEGERUI64I_VNVPROC) (GLenum value, GLuint index, GLuint64EXT *result); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBufferAddressRangeNV (GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length); +GLAPI void APIENTRY glVertexFormatNV (GLint size, GLenum type, GLsizei stride); +GLAPI void APIENTRY glNormalFormatNV (GLenum type, GLsizei stride); +GLAPI void APIENTRY glColorFormatNV (GLint size, GLenum type, GLsizei stride); +GLAPI void APIENTRY glIndexFormatNV (GLenum type, GLsizei stride); +GLAPI void APIENTRY glTexCoordFormatNV (GLint size, GLenum type, GLsizei stride); +GLAPI void APIENTRY glEdgeFlagFormatNV (GLsizei stride); +GLAPI void APIENTRY glSecondaryColorFormatNV (GLint size, GLenum type, GLsizei stride); +GLAPI void APIENTRY glFogCoordFormatNV (GLenum type, GLsizei stride); +GLAPI void APIENTRY glVertexAttribFormatNV (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride); +GLAPI void APIENTRY glVertexAttribIFormatNV (GLuint index, GLint size, GLenum type, GLsizei stride); +GLAPI void APIENTRY glGetIntegerui64i_vNV (GLenum value, GLuint index, GLuint64EXT *result); +#endif +#endif /* GL_NV_vertex_buffer_unified_memory */ + +#ifndef GL_NV_viewport_array2 +#define GL_NV_viewport_array2 1 +#endif /* GL_NV_viewport_array2 */ + +#ifndef GL_NV_viewport_swizzle +#define GL_NV_viewport_swizzle 1 +#define GL_VIEWPORT_SWIZZLE_POSITIVE_X_NV 0x9350 +#define GL_VIEWPORT_SWIZZLE_NEGATIVE_X_NV 0x9351 +#define GL_VIEWPORT_SWIZZLE_POSITIVE_Y_NV 0x9352 +#define GL_VIEWPORT_SWIZZLE_NEGATIVE_Y_NV 0x9353 +#define GL_VIEWPORT_SWIZZLE_POSITIVE_Z_NV 0x9354 +#define GL_VIEWPORT_SWIZZLE_NEGATIVE_Z_NV 0x9355 +#define GL_VIEWPORT_SWIZZLE_POSITIVE_W_NV 0x9356 +#define GL_VIEWPORT_SWIZZLE_NEGATIVE_W_NV 0x9357 +#define GL_VIEWPORT_SWIZZLE_X_NV 0x9358 +#define GL_VIEWPORT_SWIZZLE_Y_NV 0x9359 +#define GL_VIEWPORT_SWIZZLE_Z_NV 0x935A +#define GL_VIEWPORT_SWIZZLE_W_NV 0x935B +typedef void (APIENTRYP PFNGLVIEWPORTSWIZZLENVPROC) (GLuint index, GLenum swizzlex, GLenum swizzley, GLenum swizzlez, GLenum swizzlew); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glViewportSwizzleNV (GLuint index, GLenum swizzlex, GLenum swizzley, GLenum swizzlez, GLenum swizzlew); +#endif +#endif /* GL_NV_viewport_swizzle */ + +#ifndef GL_OVR_multiview +#define GL_OVR_multiview 1 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR 0x9630 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR 0x9632 +#define GL_MAX_VIEWS_OVR 0x9631 +#define GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR 0x9633 +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glFramebufferTextureMultiviewOVR (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews); +#endif +#endif /* GL_OVR_multiview */ + +#ifndef GL_OVR_multiview2 +#define GL_OVR_multiview2 1 +#endif /* GL_OVR_multiview2 */ + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file From 464b06e5091ebfaa561cb01e0e3481a994f2b733 Mon Sep 17 00:00:00 2001 From: Gnimuc Date: Mon, 24 Jan 2022 14:01:04 +0900 Subject: [PATCH 3/6] Run generator --- src/gl.jl | 13822 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 13822 insertions(+) create mode 100644 src/gl.jl diff --git a/src/gl.jl b/src/gl.jl new file mode 100644 index 0000000..5a72d89 --- /dev/null +++ b/src/gl.jl @@ -0,0 +1,13822 @@ +using CEnum + +const GLvoid = Cvoid + +const GLenum = Cuint + +const khronos_int32_t = Int32 + +const khronos_uint32_t = UInt32 + +const khronos_int64_t = Int64 + +const khronos_uint64_t = UInt64 + +const khronos_int8_t = Int8 + +const khronos_uint8_t = Cuchar + +const khronos_int16_t = Cshort + +const khronos_uint16_t = Cushort + +const khronos_intptr_t = Clong + +const khronos_uintptr_t = Culong + +const khronos_ssize_t = Clong + +const khronos_usize_t = Culong + +const khronos_float_t = Cfloat + +const khronos_utime_nanoseconds_t = khronos_uint64_t + +const khronos_stime_nanoseconds_t = khronos_int64_t + +@cenum khronos_boolean_enum_t::UInt32 begin + KHRONOS_FALSE = 0 + KHRONOS_TRUE = 1 + KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = 2147483647 +end + +const GLfloat = khronos_float_t + +const GLint = Cint + +const GLsizei = Cint + +const GLbitfield = Cuint + +const GLdouble = Cdouble + +const GLuint = Cuint + +const GLboolean = Cuchar + +const GLubyte = khronos_uint8_t + +# typedef void ( APIENTRYP PFNGLCULLFACEPROC ) ( GLenum mode ) +const PFNGLCULLFACEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLFRONTFACEPROC ) ( GLenum mode ) +const PFNGLFRONTFACEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLHINTPROC ) ( GLenum target , GLenum mode ) +const PFNGLHINTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLLINEWIDTHPROC ) ( GLfloat width ) +const PFNGLLINEWIDTHPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPOINTSIZEPROC ) ( GLfloat size ) +const PFNGLPOINTSIZEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPOLYGONMODEPROC ) ( GLenum face , GLenum mode ) +const PFNGLPOLYGONMODEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSCISSORPROC ) ( GLint x , GLint y , GLsizei width , GLsizei height ) +const PFNGLSCISSORPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXPARAMETERFPROC ) ( GLenum target , GLenum pname , GLfloat param ) +const PFNGLTEXPARAMETERFPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXPARAMETERFVPROC ) ( GLenum target , GLenum pname , const GLfloat * params ) +const PFNGLTEXPARAMETERFVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXPARAMETERIPROC ) ( GLenum target , GLenum pname , GLint param ) +const PFNGLTEXPARAMETERIPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXPARAMETERIVPROC ) ( GLenum target , GLenum pname , const GLint * params ) +const PFNGLTEXPARAMETERIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXIMAGE1DPROC ) ( GLenum target , GLint level , GLint internalformat , GLsizei width , GLint border , GLenum format , GLenum type , const void * pixels ) +const PFNGLTEXIMAGE1DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXIMAGE2DPROC ) ( GLenum target , GLint level , GLint internalformat , GLsizei width , GLsizei height , GLint border , GLenum format , GLenum type , const void * pixels ) +const PFNGLTEXIMAGE2DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDRAWBUFFERPROC ) ( GLenum buf ) +const PFNGLDRAWBUFFERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCLEARPROC ) ( GLbitfield mask ) +const PFNGLCLEARPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCLEARCOLORPROC ) ( GLfloat red , GLfloat green , GLfloat blue , GLfloat alpha ) +const PFNGLCLEARCOLORPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCLEARSTENCILPROC ) ( GLint s ) +const PFNGLCLEARSTENCILPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCLEARDEPTHPROC ) ( GLdouble depth ) +const PFNGLCLEARDEPTHPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSTENCILMASKPROC ) ( GLuint mask ) +const PFNGLSTENCILMASKPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOLORMASKPROC ) ( GLboolean red , GLboolean green , GLboolean blue , GLboolean alpha ) +const PFNGLCOLORMASKPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDEPTHMASKPROC ) ( GLboolean flag ) +const PFNGLDEPTHMASKPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDISABLEPROC ) ( GLenum cap ) +const PFNGLDISABLEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLENABLEPROC ) ( GLenum cap ) +const PFNGLENABLEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLFINISHPROC ) ( void ) +const PFNGLFINISHPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLFLUSHPROC ) ( void ) +const PFNGLFLUSHPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBLENDFUNCPROC ) ( GLenum sfactor , GLenum dfactor ) +const PFNGLBLENDFUNCPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLLOGICOPPROC ) ( GLenum opcode ) +const PFNGLLOGICOPPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSTENCILFUNCPROC ) ( GLenum func , GLint ref , GLuint mask ) +const PFNGLSTENCILFUNCPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSTENCILOPPROC ) ( GLenum fail , GLenum zfail , GLenum zpass ) +const PFNGLSTENCILOPPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDEPTHFUNCPROC ) ( GLenum func ) +const PFNGLDEPTHFUNCPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPIXELSTOREFPROC ) ( GLenum pname , GLfloat param ) +const PFNGLPIXELSTOREFPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPIXELSTOREIPROC ) ( GLenum pname , GLint param ) +const PFNGLPIXELSTOREIPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLREADBUFFERPROC ) ( GLenum src ) +const PFNGLREADBUFFERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLREADPIXELSPROC ) ( GLint x , GLint y , GLsizei width , GLsizei height , GLenum format , GLenum type , void * pixels ) +const PFNGLREADPIXELSPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETBOOLEANVPROC ) ( GLenum pname , GLboolean * data ) +const PFNGLGETBOOLEANVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETDOUBLEVPROC ) ( GLenum pname , GLdouble * data ) +const PFNGLGETDOUBLEVPROC = Ptr{Cvoid} + +# typedef GLenum ( APIENTRYP PFNGLGETERRORPROC ) ( void ) +const PFNGLGETERRORPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETFLOATVPROC ) ( GLenum pname , GLfloat * data ) +const PFNGLGETFLOATVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETINTEGERVPROC ) ( GLenum pname , GLint * data ) +const PFNGLGETINTEGERVPROC = Ptr{Cvoid} + +# typedef const GLubyte * ( APIENTRYP PFNGLGETSTRINGPROC ) ( GLenum name ) +const PFNGLGETSTRINGPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETTEXIMAGEPROC ) ( GLenum target , GLint level , GLenum format , GLenum type , void * pixels ) +const PFNGLGETTEXIMAGEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETTEXPARAMETERFVPROC ) ( GLenum target , GLenum pname , GLfloat * params ) +const PFNGLGETTEXPARAMETERFVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETTEXPARAMETERIVPROC ) ( GLenum target , GLenum pname , GLint * params ) +const PFNGLGETTEXPARAMETERIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETTEXLEVELPARAMETERFVPROC ) ( GLenum target , GLint level , GLenum pname , GLfloat * params ) +const PFNGLGETTEXLEVELPARAMETERFVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETTEXLEVELPARAMETERIVPROC ) ( GLenum target , GLint level , GLenum pname , GLint * params ) +const PFNGLGETTEXLEVELPARAMETERIVPROC = Ptr{Cvoid} + +# typedef GLboolean ( APIENTRYP PFNGLISENABLEDPROC ) ( GLenum cap ) +const PFNGLISENABLEDPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDEPTHRANGEPROC ) ( GLdouble n , GLdouble f ) +const PFNGLDEPTHRANGEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVIEWPORTPROC ) ( GLint x , GLint y , GLsizei width , GLsizei height ) +const PFNGLVIEWPORTPROC = Ptr{Cvoid} + +function glCullFace(mode) + ccall((:glCullFace, libgl), Cvoid, (GLenum,), mode) +end + +function glFrontFace(mode) + ccall((:glFrontFace, libgl), Cvoid, (GLenum,), mode) +end + +function glHint(target, mode) + ccall((:glHint, libgl), Cvoid, (GLenum, GLenum), target, mode) +end + +function glLineWidth(width) + ccall((:glLineWidth, libgl), Cvoid, (GLfloat,), width) +end + +function glPointSize(size) + ccall((:glPointSize, libgl), Cvoid, (GLfloat,), size) +end + +function glPolygonMode(face, mode) + ccall((:glPolygonMode, libgl), Cvoid, (GLenum, GLenum), face, mode) +end + +function glScissor(x, y, width, height) + ccall((:glScissor, libgl), Cvoid, (GLint, GLint, GLsizei, GLsizei), x, y, width, height) +end + +function glTexParameterf(target, pname, param) + ccall((:glTexParameterf, libgl), Cvoid, (GLenum, GLenum, GLfloat), target, pname, param) +end + +function glTexParameterfv(target, pname, params) + ccall((:glTexParameterfv, libgl), Cvoid, (GLenum, GLenum, Ptr{GLfloat}), target, pname, params) +end + +function glTexParameteri(target, pname, param) + ccall((:glTexParameteri, libgl), Cvoid, (GLenum, GLenum, GLint), target, pname, param) +end + +function glTexParameteriv(target, pname, params) + ccall((:glTexParameteriv, libgl), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) +end + +function glTexImage1D(target, level, internalformat, width, border, format, type, pixels) + ccall((:glTexImage1D, libgl), Cvoid, (GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), target, level, internalformat, width, border, format, type, pixels) +end + +function glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels) + ccall((:glTexImage2D, libgl), Cvoid, (GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), target, level, internalformat, width, height, border, format, type, pixels) +end + +function glDrawBuffer(buf) + ccall((:glDrawBuffer, libgl), Cvoid, (GLenum,), buf) +end + +function glClear(mask) + ccall((:glClear, libgl), Cvoid, (GLbitfield,), mask) +end + +function glClearColor(red, green, blue, alpha) + ccall((:glClearColor, libgl), Cvoid, (GLfloat, GLfloat, GLfloat, GLfloat), red, green, blue, alpha) +end + +function glClearStencil(s) + ccall((:glClearStencil, libgl), Cvoid, (GLint,), s) +end + +function glClearDepth(depth) + ccall((:glClearDepth, libgl), Cvoid, (GLdouble,), depth) +end + +function glStencilMask(mask) + ccall((:glStencilMask, libgl), Cvoid, (GLuint,), mask) +end + +function glColorMask(red, green, blue, alpha) + ccall((:glColorMask, libgl), Cvoid, (GLboolean, GLboolean, GLboolean, GLboolean), red, green, blue, alpha) +end + +function glDepthMask(flag) + ccall((:glDepthMask, libgl), Cvoid, (GLboolean,), flag) +end + +function glDisable(cap) + ccall((:glDisable, libgl), Cvoid, (GLenum,), cap) +end + +function glEnable(cap) + ccall((:glEnable, libgl), Cvoid, (GLenum,), cap) +end + +function glFinish() + ccall((:glFinish, libgl), Cvoid, ()) +end + +function glFlush() + ccall((:glFlush, libgl), Cvoid, ()) +end + +function glBlendFunc(sfactor, dfactor) + ccall((:glBlendFunc, libgl), Cvoid, (GLenum, GLenum), sfactor, dfactor) +end + +function glLogicOp(opcode) + ccall((:glLogicOp, libgl), Cvoid, (GLenum,), opcode) +end + +function glStencilFunc(func, ref, mask) + ccall((:glStencilFunc, libgl), Cvoid, (GLenum, GLint, GLuint), func, ref, mask) +end + +function glStencilOp(fail, zfail, zpass) + ccall((:glStencilOp, libgl), Cvoid, (GLenum, GLenum, GLenum), fail, zfail, zpass) +end + +function glDepthFunc(func) + ccall((:glDepthFunc, libgl), Cvoid, (GLenum,), func) +end + +function glPixelStoref(pname, param) + ccall((:glPixelStoref, libgl), Cvoid, (GLenum, GLfloat), pname, param) +end + +function glPixelStorei(pname, param) + ccall((:glPixelStorei, libgl), Cvoid, (GLenum, GLint), pname, param) +end + +function glReadBuffer(src) + ccall((:glReadBuffer, libgl), Cvoid, (GLenum,), src) +end + +function glReadPixels(x, y, width, height, format, type, pixels) + ccall((:glReadPixels, libgl), Cvoid, (GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), x, y, width, height, format, type, pixels) +end + +function glGetBooleanv(pname, data) + ccall((:glGetBooleanv, libgl), Cvoid, (GLenum, Ptr{GLboolean}), pname, data) +end + +function glGetDoublev(pname, data) + ccall((:glGetDoublev, libgl), Cvoid, (GLenum, Ptr{GLdouble}), pname, data) +end + +function glGetError() + ccall((:glGetError, libgl), GLenum, ()) +end + +function glGetFloatv(pname, data) + ccall((:glGetFloatv, libgl), Cvoid, (GLenum, Ptr{GLfloat}), pname, data) +end + +function glGetIntegerv(pname, data) + ccall((:glGetIntegerv, libgl), Cvoid, (GLenum, Ptr{GLint}), pname, data) +end + +function glGetString(name) + ccall((:glGetString, libgl), Ptr{GLubyte}, (GLenum,), name) +end + +function glGetTexImage(target, level, format, type, pixels) + ccall((:glGetTexImage, libgl), Cvoid, (GLenum, GLint, GLenum, GLenum, Ptr{Cvoid}), target, level, format, type, pixels) +end + +function glGetTexParameterfv(target, pname, params) + ccall((:glGetTexParameterfv, libgl), Cvoid, (GLenum, GLenum, Ptr{GLfloat}), target, pname, params) +end + +function glGetTexParameteriv(target, pname, params) + ccall((:glGetTexParameteriv, libgl), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) +end + +function glGetTexLevelParameterfv(target, level, pname, params) + ccall((:glGetTexLevelParameterfv, libgl), Cvoid, (GLenum, GLint, GLenum, Ptr{GLfloat}), target, level, pname, params) +end + +function glGetTexLevelParameteriv(target, level, pname, params) + ccall((:glGetTexLevelParameteriv, libgl), Cvoid, (GLenum, GLint, GLenum, Ptr{GLint}), target, level, pname, params) +end + +function glIsEnabled(cap) + ccall((:glIsEnabled, libgl), GLboolean, (GLenum,), cap) +end + +function glDepthRange(n, f) + ccall((:glDepthRange, libgl), Cvoid, (GLdouble, GLdouble), n, f) +end + +function glViewport(x, y, width, height) + ccall((:glViewport, libgl), Cvoid, (GLint, GLint, GLsizei, GLsizei), x, y, width, height) +end + +const GLclampf = khronos_float_t + +const GLclampd = Cdouble + +# typedef void ( APIENTRYP PFNGLDRAWARRAYSPROC ) ( GLenum mode , GLint first , GLsizei count ) +const PFNGLDRAWARRAYSPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDRAWELEMENTSPROC ) ( GLenum mode , GLsizei count , GLenum type , const void * indices ) +const PFNGLDRAWELEMENTSPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETPOINTERVPROC ) ( GLenum pname , void * * params ) +const PFNGLGETPOINTERVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPOLYGONOFFSETPROC ) ( GLfloat factor , GLfloat units ) +const PFNGLPOLYGONOFFSETPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOPYTEXIMAGE1DPROC ) ( GLenum target , GLint level , GLenum internalformat , GLint x , GLint y , GLsizei width , GLint border ) +const PFNGLCOPYTEXIMAGE1DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOPYTEXIMAGE2DPROC ) ( GLenum target , GLint level , GLenum internalformat , GLint x , GLint y , GLsizei width , GLsizei height , GLint border ) +const PFNGLCOPYTEXIMAGE2DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOPYTEXSUBIMAGE1DPROC ) ( GLenum target , GLint level , GLint xoffset , GLint x , GLint y , GLsizei width ) +const PFNGLCOPYTEXSUBIMAGE1DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOPYTEXSUBIMAGE2DPROC ) ( GLenum target , GLint level , GLint xoffset , GLint yoffset , GLint x , GLint y , GLsizei width , GLsizei height ) +const PFNGLCOPYTEXSUBIMAGE2DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXSUBIMAGE1DPROC ) ( GLenum target , GLint level , GLint xoffset , GLsizei width , GLenum format , GLenum type , const void * pixels ) +const PFNGLTEXSUBIMAGE1DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXSUBIMAGE2DPROC ) ( GLenum target , GLint level , GLint xoffset , GLint yoffset , GLsizei width , GLsizei height , GLenum format , GLenum type , const void * pixels ) +const PFNGLTEXSUBIMAGE2DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBINDTEXTUREPROC ) ( GLenum target , GLuint texture ) +const PFNGLBINDTEXTUREPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDELETETEXTURESPROC ) ( GLsizei n , const GLuint * textures ) +const PFNGLDELETETEXTURESPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGENTEXTURESPROC ) ( GLsizei n , GLuint * textures ) +const PFNGLGENTEXTURESPROC = Ptr{Cvoid} + +# typedef GLboolean ( APIENTRYP PFNGLISTEXTUREPROC ) ( GLuint texture ) +const PFNGLISTEXTUREPROC = Ptr{Cvoid} + +function glDrawArrays(mode, first, count) + ccall((:glDrawArrays, libgl), Cvoid, (GLenum, GLint, GLsizei), mode, first, count) +end + +function glDrawElements(mode, count, type, indices) + ccall((:glDrawElements, libgl), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}), mode, count, type, indices) +end + +function glGetPointerv(pname, params) + ccall((:glGetPointerv, libgl), Cvoid, (GLenum, Ptr{Ptr{Cvoid}}), pname, params) +end + +function glPolygonOffset(factor, units) + ccall((:glPolygonOffset, libgl), Cvoid, (GLfloat, GLfloat), factor, units) +end + +function glCopyTexImage1D(target, level, internalformat, x, y, width, border) + ccall((:glCopyTexImage1D, libgl), Cvoid, (GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint), target, level, internalformat, x, y, width, border) +end + +function glCopyTexImage2D(target, level, internalformat, x, y, width, height, border) + ccall((:glCopyTexImage2D, libgl), Cvoid, (GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint), target, level, internalformat, x, y, width, height, border) +end + +function glCopyTexSubImage1D(target, level, xoffset, x, y, width) + ccall((:glCopyTexSubImage1D, libgl), Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLsizei), target, level, xoffset, x, y, width) +end + +function glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height) + ccall((:glCopyTexSubImage2D, libgl), Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), target, level, xoffset, yoffset, x, y, width, height) +end + +function glTexSubImage1D(target, level, xoffset, width, format, type, pixels) + ccall((:glTexSubImage1D, libgl), Cvoid, (GLenum, GLint, GLint, GLsizei, GLenum, GLenum, Ptr{Cvoid}), target, level, xoffset, width, format, type, pixels) +end + +function glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) + ccall((:glTexSubImage2D, libgl), Cvoid, (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), target, level, xoffset, yoffset, width, height, format, type, pixels) +end + +function glBindTexture(target, texture) + ccall((:glBindTexture, libgl), Cvoid, (GLenum, GLuint), target, texture) +end + +function glDeleteTextures(n, textures) + ccall((:glDeleteTextures, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, textures) +end + +function glGenTextures(n, textures) + ccall((:glGenTextures, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, textures) +end + +function glIsTexture(texture) + ccall((:glIsTexture, libgl), GLboolean, (GLuint,), texture) +end + +# typedef void ( APIENTRYP PFNGLDRAWRANGEELEMENTSPROC ) ( GLenum mode , GLuint start , GLuint end , GLsizei count , GLenum type , const void * indices ) +const PFNGLDRAWRANGEELEMENTSPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXIMAGE3DPROC ) ( GLenum target , GLint level , GLint internalformat , GLsizei width , GLsizei height , GLsizei depth , GLint border , GLenum format , GLenum type , const void * pixels ) +const PFNGLTEXIMAGE3DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXSUBIMAGE3DPROC ) ( GLenum target , GLint level , GLint xoffset , GLint yoffset , GLint zoffset , GLsizei width , GLsizei height , GLsizei depth , GLenum format , GLenum type , const void * pixels ) +const PFNGLTEXSUBIMAGE3DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC ) ( GLenum target , GLint level , GLint xoffset , GLint yoffset , GLint zoffset , GLint x , GLint y , GLsizei width , GLsizei height ) +const PFNGLCOPYTEXSUBIMAGE3DPROC = Ptr{Cvoid} + +function glDrawRangeElements(mode, start, _end, count, type, indices) + ccall((:glDrawRangeElements, libgl), Cvoid, (GLenum, GLuint, GLuint, GLsizei, GLenum, Ptr{Cvoid}), mode, start, _end, count, type, indices) +end + +function glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels) + ccall((:glTexImage3D, libgl), Cvoid, (GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), target, level, internalformat, width, height, depth, border, format, type, pixels) +end + +function glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) + ccall((:glTexSubImage3D, libgl), Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) +end + +function glCopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height) + ccall((:glCopyTexSubImage3D, libgl), Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), target, level, xoffset, yoffset, zoffset, x, y, width, height) +end + +# typedef void ( APIENTRYP PFNGLACTIVETEXTUREPROC ) ( GLenum texture ) +const PFNGLACTIVETEXTUREPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSAMPLECOVERAGEPROC ) ( GLfloat value , GLboolean invert ) +const PFNGLSAMPLECOVERAGEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC ) ( GLenum target , GLint level , GLenum internalformat , GLsizei width , GLsizei height , GLsizei depth , GLint border , GLsizei imageSize , const void * data ) +const PFNGLCOMPRESSEDTEXIMAGE3DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC ) ( GLenum target , GLint level , GLenum internalformat , GLsizei width , GLsizei height , GLint border , GLsizei imageSize , const void * data ) +const PFNGLCOMPRESSEDTEXIMAGE2DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DPROC ) ( GLenum target , GLint level , GLenum internalformat , GLsizei width , GLint border , GLsizei imageSize , const void * data ) +const PFNGLCOMPRESSEDTEXIMAGE1DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC ) ( GLenum target , GLint level , GLint xoffset , GLint yoffset , GLint zoffset , GLsizei width , GLsizei height , GLsizei depth , GLenum format , GLsizei imageSize , const void * data ) +const PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC ) ( GLenum target , GLint level , GLint xoffset , GLint yoffset , GLsizei width , GLsizei height , GLenum format , GLsizei imageSize , const void * data ) +const PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC ) ( GLenum target , GLint level , GLint xoffset , GLsizei width , GLenum format , GLsizei imageSize , const void * data ) +const PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC ) ( GLenum target , GLint level , void * img ) +const PFNGLGETCOMPRESSEDTEXIMAGEPROC = Ptr{Cvoid} + +function glActiveTexture(texture) + ccall((:glActiveTexture, libgl), Cvoid, (GLenum,), texture) +end + +function glSampleCoverage(value, invert) + ccall((:glSampleCoverage, libgl), Cvoid, (GLfloat, GLboolean), value, invert) +end + +function glCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data) + ccall((:glCompressedTexImage3D, libgl), Cvoid, (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, Ptr{Cvoid}), target, level, internalformat, width, height, depth, border, imageSize, data) +end + +function glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data) + ccall((:glCompressedTexImage2D, libgl), Cvoid, (GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, Ptr{Cvoid}), target, level, internalformat, width, height, border, imageSize, data) +end + +function glCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data) + ccall((:glCompressedTexImage1D, libgl), Cvoid, (GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, Ptr{Cvoid}), target, level, internalformat, width, border, imageSize, data) +end + +function glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data) + ccall((:glCompressedTexSubImage3D, libgl), Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data) +end + +function glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) + ccall((:glCompressedTexSubImage2D, libgl), Cvoid, (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), target, level, xoffset, yoffset, width, height, format, imageSize, data) +end + +function glCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data) + ccall((:glCompressedTexSubImage1D, libgl), Cvoid, (GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), target, level, xoffset, width, format, imageSize, data) +end + +function glGetCompressedTexImage(target, level, img) + ccall((:glGetCompressedTexImage, libgl), Cvoid, (GLenum, GLint, Ptr{Cvoid}), target, level, img) +end + +# typedef void ( APIENTRYP PFNGLBLENDFUNCSEPARATEPROC ) ( GLenum sfactorRGB , GLenum dfactorRGB , GLenum sfactorAlpha , GLenum dfactorAlpha ) +const PFNGLBLENDFUNCSEPARATEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTIDRAWARRAYSPROC ) ( GLenum mode , const GLint * first , const GLsizei * count , GLsizei drawcount ) +const PFNGLMULTIDRAWARRAYSPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTIDRAWELEMENTSPROC ) ( GLenum mode , const GLsizei * count , GLenum type , const void * const * indices , GLsizei drawcount ) +const PFNGLMULTIDRAWELEMENTSPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPOINTPARAMETERFPROC ) ( GLenum pname , GLfloat param ) +const PFNGLPOINTPARAMETERFPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPOINTPARAMETERFVPROC ) ( GLenum pname , const GLfloat * params ) +const PFNGLPOINTPARAMETERFVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPOINTPARAMETERIPROC ) ( GLenum pname , GLint param ) +const PFNGLPOINTPARAMETERIPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPOINTPARAMETERIVPROC ) ( GLenum pname , const GLint * params ) +const PFNGLPOINTPARAMETERIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBLENDCOLORPROC ) ( GLfloat red , GLfloat green , GLfloat blue , GLfloat alpha ) +const PFNGLBLENDCOLORPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBLENDEQUATIONPROC ) ( GLenum mode ) +const PFNGLBLENDEQUATIONPROC = Ptr{Cvoid} + +function glBlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha) + ccall((:glBlendFuncSeparate, libgl), Cvoid, (GLenum, GLenum, GLenum, GLenum), sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha) +end + +function glMultiDrawArrays(mode, first, count, drawcount) + ccall((:glMultiDrawArrays, libgl), Cvoid, (GLenum, Ptr{GLint}, Ptr{GLsizei}, GLsizei), mode, first, count, drawcount) +end + +function glMultiDrawElements(mode, count, type, indices, drawcount) + ccall((:glMultiDrawElements, libgl), Cvoid, (GLenum, Ptr{GLsizei}, GLenum, Ptr{Ptr{Cvoid}}, GLsizei), mode, count, type, indices, drawcount) +end + +function glPointParameterf(pname, param) + ccall((:glPointParameterf, libgl), Cvoid, (GLenum, GLfloat), pname, param) +end + +function glPointParameterfv(pname, params) + ccall((:glPointParameterfv, libgl), Cvoid, (GLenum, Ptr{GLfloat}), pname, params) +end + +function glPointParameteri(pname, param) + ccall((:glPointParameteri, libgl), Cvoid, (GLenum, GLint), pname, param) +end + +function glPointParameteriv(pname, params) + ccall((:glPointParameteriv, libgl), Cvoid, (GLenum, Ptr{GLint}), pname, params) +end + +function glBlendColor(red, green, blue, alpha) + ccall((:glBlendColor, libgl), Cvoid, (GLfloat, GLfloat, GLfloat, GLfloat), red, green, blue, alpha) +end + +function glBlendEquation(mode) + ccall((:glBlendEquation, libgl), Cvoid, (GLenum,), mode) +end + +const GLsizeiptr = khronos_ssize_t + +const GLintptr = khronos_intptr_t + +# typedef void ( APIENTRYP PFNGLGENQUERIESPROC ) ( GLsizei n , GLuint * ids ) +const PFNGLGENQUERIESPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDELETEQUERIESPROC ) ( GLsizei n , const GLuint * ids ) +const PFNGLDELETEQUERIESPROC = Ptr{Cvoid} + +# typedef GLboolean ( APIENTRYP PFNGLISQUERYPROC ) ( GLuint id ) +const PFNGLISQUERYPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBEGINQUERYPROC ) ( GLenum target , GLuint id ) +const PFNGLBEGINQUERYPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLENDQUERYPROC ) ( GLenum target ) +const PFNGLENDQUERYPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETQUERYIVPROC ) ( GLenum target , GLenum pname , GLint * params ) +const PFNGLGETQUERYIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETQUERYOBJECTIVPROC ) ( GLuint id , GLenum pname , GLint * params ) +const PFNGLGETQUERYOBJECTIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETQUERYOBJECTUIVPROC ) ( GLuint id , GLenum pname , GLuint * params ) +const PFNGLGETQUERYOBJECTUIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBINDBUFFERPROC ) ( GLenum target , GLuint buffer ) +const PFNGLBINDBUFFERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDELETEBUFFERSPROC ) ( GLsizei n , const GLuint * buffers ) +const PFNGLDELETEBUFFERSPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGENBUFFERSPROC ) ( GLsizei n , GLuint * buffers ) +const PFNGLGENBUFFERSPROC = Ptr{Cvoid} + +# typedef GLboolean ( APIENTRYP PFNGLISBUFFERPROC ) ( GLuint buffer ) +const PFNGLISBUFFERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBUFFERDATAPROC ) ( GLenum target , GLsizeiptr size , const void * data , GLenum usage ) +const PFNGLBUFFERDATAPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBUFFERSUBDATAPROC ) ( GLenum target , GLintptr offset , GLsizeiptr size , const void * data ) +const PFNGLBUFFERSUBDATAPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETBUFFERSUBDATAPROC ) ( GLenum target , GLintptr offset , GLsizeiptr size , void * data ) +const PFNGLGETBUFFERSUBDATAPROC = Ptr{Cvoid} + +# typedef void * ( APIENTRYP PFNGLMAPBUFFERPROC ) ( GLenum target , GLenum access ) +const PFNGLMAPBUFFERPROC = Ptr{Cvoid} + +# typedef GLboolean ( APIENTRYP PFNGLUNMAPBUFFERPROC ) ( GLenum target ) +const PFNGLUNMAPBUFFERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC ) ( GLenum target , GLenum pname , GLint * params ) +const PFNGLGETBUFFERPARAMETERIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETBUFFERPOINTERVPROC ) ( GLenum target , GLenum pname , void * * params ) +const PFNGLGETBUFFERPOINTERVPROC = Ptr{Cvoid} + +function glGenQueries(n, ids) + ccall((:glGenQueries, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, ids) +end + +function glDeleteQueries(n, ids) + ccall((:glDeleteQueries, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, ids) +end + +function glIsQuery(id) + ccall((:glIsQuery, libgl), GLboolean, (GLuint,), id) +end + +function glBeginQuery(target, id) + ccall((:glBeginQuery, libgl), Cvoid, (GLenum, GLuint), target, id) +end + +function glEndQuery(target) + ccall((:glEndQuery, libgl), Cvoid, (GLenum,), target) +end + +function glGetQueryiv(target, pname, params) + ccall((:glGetQueryiv, libgl), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) +end + +function glGetQueryObjectiv(id, pname, params) + ccall((:glGetQueryObjectiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), id, pname, params) +end + +function glGetQueryObjectuiv(id, pname, params) + ccall((:glGetQueryObjectuiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLuint}), id, pname, params) +end + +function glBindBuffer(target, buffer) + ccall((:glBindBuffer, libgl), Cvoid, (GLenum, GLuint), target, buffer) +end + +function glDeleteBuffers(n, buffers) + ccall((:glDeleteBuffers, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, buffers) +end + +function glGenBuffers(n, buffers) + ccall((:glGenBuffers, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, buffers) +end + +function glIsBuffer(buffer) + ccall((:glIsBuffer, libgl), GLboolean, (GLuint,), buffer) +end + +function glBufferData(target, size, data, usage) + ccall((:glBufferData, libgl), Cvoid, (GLenum, GLsizeiptr, Ptr{Cvoid}, GLenum), target, size, data, usage) +end + +function glBufferSubData(target, offset, size, data) + ccall((:glBufferSubData, libgl), Cvoid, (GLenum, GLintptr, GLsizeiptr, Ptr{Cvoid}), target, offset, size, data) +end + +function glGetBufferSubData(target, offset, size, data) + ccall((:glGetBufferSubData, libgl), Cvoid, (GLenum, GLintptr, GLsizeiptr, Ptr{Cvoid}), target, offset, size, data) +end + +function glMapBuffer(target, access) + ccall((:glMapBuffer, libgl), Ptr{Cvoid}, (GLenum, GLenum), target, access) +end + +function glUnmapBuffer(target) + ccall((:glUnmapBuffer, libgl), GLboolean, (GLenum,), target) +end + +function glGetBufferParameteriv(target, pname, params) + ccall((:glGetBufferParameteriv, libgl), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) +end + +function glGetBufferPointerv(target, pname, params) + ccall((:glGetBufferPointerv, libgl), Cvoid, (GLenum, GLenum, Ptr{Ptr{Cvoid}}), target, pname, params) +end + +const GLchar = Cchar + +const GLshort = khronos_int16_t + +const GLbyte = khronos_int8_t + +const GLushort = khronos_uint16_t + +# typedef void ( APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC ) ( GLenum modeRGB , GLenum modeAlpha ) +const PFNGLBLENDEQUATIONSEPARATEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDRAWBUFFERSPROC ) ( GLsizei n , const GLenum * bufs ) +const PFNGLDRAWBUFFERSPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSTENCILOPSEPARATEPROC ) ( GLenum face , GLenum sfail , GLenum dpfail , GLenum dppass ) +const PFNGLSTENCILOPSEPARATEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC ) ( GLenum face , GLenum func , GLint ref , GLuint mask ) +const PFNGLSTENCILFUNCSEPARATEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSTENCILMASKSEPARATEPROC ) ( GLenum face , GLuint mask ) +const PFNGLSTENCILMASKSEPARATEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLATTACHSHADERPROC ) ( GLuint program , GLuint shader ) +const PFNGLATTACHSHADERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBINDATTRIBLOCATIONPROC ) ( GLuint program , GLuint index , const GLchar * name ) +const PFNGLBINDATTRIBLOCATIONPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOMPILESHADERPROC ) ( GLuint shader ) +const PFNGLCOMPILESHADERPROC = Ptr{Cvoid} + +# typedef GLuint ( APIENTRYP PFNGLCREATEPROGRAMPROC ) ( void ) +const PFNGLCREATEPROGRAMPROC = Ptr{Cvoid} + +# typedef GLuint ( APIENTRYP PFNGLCREATESHADERPROC ) ( GLenum type ) +const PFNGLCREATESHADERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDELETEPROGRAMPROC ) ( GLuint program ) +const PFNGLDELETEPROGRAMPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDELETESHADERPROC ) ( GLuint shader ) +const PFNGLDELETESHADERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDETACHSHADERPROC ) ( GLuint program , GLuint shader ) +const PFNGLDETACHSHADERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC ) ( GLuint index ) +const PFNGLDISABLEVERTEXATTRIBARRAYPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC ) ( GLuint index ) +const PFNGLENABLEVERTEXATTRIBARRAYPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETACTIVEATTRIBPROC ) ( GLuint program , GLuint index , GLsizei bufSize , GLsizei * length , GLint * size , GLenum * type , GLchar * name ) +const PFNGLGETACTIVEATTRIBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETACTIVEUNIFORMPROC ) ( GLuint program , GLuint index , GLsizei bufSize , GLsizei * length , GLint * size , GLenum * type , GLchar * name ) +const PFNGLGETACTIVEUNIFORMPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETATTACHEDSHADERSPROC ) ( GLuint program , GLsizei maxCount , GLsizei * count , GLuint * shaders ) +const PFNGLGETATTACHEDSHADERSPROC = Ptr{Cvoid} + +# typedef GLint ( APIENTRYP PFNGLGETATTRIBLOCATIONPROC ) ( GLuint program , const GLchar * name ) +const PFNGLGETATTRIBLOCATIONPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETPROGRAMIVPROC ) ( GLuint program , GLenum pname , GLint * params ) +const PFNGLGETPROGRAMIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETPROGRAMINFOLOGPROC ) ( GLuint program , GLsizei bufSize , GLsizei * length , GLchar * infoLog ) +const PFNGLGETPROGRAMINFOLOGPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETSHADERIVPROC ) ( GLuint shader , GLenum pname , GLint * params ) +const PFNGLGETSHADERIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETSHADERINFOLOGPROC ) ( GLuint shader , GLsizei bufSize , GLsizei * length , GLchar * infoLog ) +const PFNGLGETSHADERINFOLOGPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETSHADERSOURCEPROC ) ( GLuint shader , GLsizei bufSize , GLsizei * length , GLchar * source ) +const PFNGLGETSHADERSOURCEPROC = Ptr{Cvoid} + +# typedef GLint ( APIENTRYP PFNGLGETUNIFORMLOCATIONPROC ) ( GLuint program , const GLchar * name ) +const PFNGLGETUNIFORMLOCATIONPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETUNIFORMFVPROC ) ( GLuint program , GLint location , GLfloat * params ) +const PFNGLGETUNIFORMFVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETUNIFORMIVPROC ) ( GLuint program , GLint location , GLint * params ) +const PFNGLGETUNIFORMIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETVERTEXATTRIBDVPROC ) ( GLuint index , GLenum pname , GLdouble * params ) +const PFNGLGETVERTEXATTRIBDVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETVERTEXATTRIBFVPROC ) ( GLuint index , GLenum pname , GLfloat * params ) +const PFNGLGETVERTEXATTRIBFVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETVERTEXATTRIBIVPROC ) ( GLuint index , GLenum pname , GLint * params ) +const PFNGLGETVERTEXATTRIBIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC ) ( GLuint index , GLenum pname , void * * pointer ) +const PFNGLGETVERTEXATTRIBPOINTERVPROC = Ptr{Cvoid} + +# typedef GLboolean ( APIENTRYP PFNGLISPROGRAMPROC ) ( GLuint program ) +const PFNGLISPROGRAMPROC = Ptr{Cvoid} + +# typedef GLboolean ( APIENTRYP PFNGLISSHADERPROC ) ( GLuint shader ) +const PFNGLISSHADERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLLINKPROGRAMPROC ) ( GLuint program ) +const PFNGLLINKPROGRAMPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSHADERSOURCEPROC ) ( GLuint shader , GLsizei count , const GLchar * const * string , const GLint * length ) +const PFNGLSHADERSOURCEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUSEPROGRAMPROC ) ( GLuint program ) +const PFNGLUSEPROGRAMPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM1FPROC ) ( GLint location , GLfloat v0 ) +const PFNGLUNIFORM1FPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM2FPROC ) ( GLint location , GLfloat v0 , GLfloat v1 ) +const PFNGLUNIFORM2FPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM3FPROC ) ( GLint location , GLfloat v0 , GLfloat v1 , GLfloat v2 ) +const PFNGLUNIFORM3FPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM4FPROC ) ( GLint location , GLfloat v0 , GLfloat v1 , GLfloat v2 , GLfloat v3 ) +const PFNGLUNIFORM4FPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM1IPROC ) ( GLint location , GLint v0 ) +const PFNGLUNIFORM1IPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM2IPROC ) ( GLint location , GLint v0 , GLint v1 ) +const PFNGLUNIFORM2IPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM3IPROC ) ( GLint location , GLint v0 , GLint v1 , GLint v2 ) +const PFNGLUNIFORM3IPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM4IPROC ) ( GLint location , GLint v0 , GLint v1 , GLint v2 , GLint v3 ) +const PFNGLUNIFORM4IPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM1FVPROC ) ( GLint location , GLsizei count , const GLfloat * value ) +const PFNGLUNIFORM1FVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM2FVPROC ) ( GLint location , GLsizei count , const GLfloat * value ) +const PFNGLUNIFORM2FVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM3FVPROC ) ( GLint location , GLsizei count , const GLfloat * value ) +const PFNGLUNIFORM3FVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM4FVPROC ) ( GLint location , GLsizei count , const GLfloat * value ) +const PFNGLUNIFORM4FVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM1IVPROC ) ( GLint location , GLsizei count , const GLint * value ) +const PFNGLUNIFORM1IVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM2IVPROC ) ( GLint location , GLsizei count , const GLint * value ) +const PFNGLUNIFORM2IVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM3IVPROC ) ( GLint location , GLsizei count , const GLint * value ) +const PFNGLUNIFORM3IVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM4IVPROC ) ( GLint location , GLsizei count , const GLint * value ) +const PFNGLUNIFORM4IVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORMMATRIX2FVPROC ) ( GLint location , GLsizei count , GLboolean transpose , const GLfloat * value ) +const PFNGLUNIFORMMATRIX2FVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORMMATRIX3FVPROC ) ( GLint location , GLsizei count , GLboolean transpose , const GLfloat * value ) +const PFNGLUNIFORMMATRIX3FVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORMMATRIX4FVPROC ) ( GLint location , GLsizei count , GLboolean transpose , const GLfloat * value ) +const PFNGLUNIFORMMATRIX4FVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVALIDATEPROGRAMPROC ) ( GLuint program ) +const PFNGLVALIDATEPROGRAMPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB1DPROC ) ( GLuint index , GLdouble x ) +const PFNGLVERTEXATTRIB1DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB1DVPROC ) ( GLuint index , const GLdouble * v ) +const PFNGLVERTEXATTRIB1DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB1FPROC ) ( GLuint index , GLfloat x ) +const PFNGLVERTEXATTRIB1FPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB1FVPROC ) ( GLuint index , const GLfloat * v ) +const PFNGLVERTEXATTRIB1FVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB1SPROC ) ( GLuint index , GLshort x ) +const PFNGLVERTEXATTRIB1SPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB1SVPROC ) ( GLuint index , const GLshort * v ) +const PFNGLVERTEXATTRIB1SVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB2DPROC ) ( GLuint index , GLdouble x , GLdouble y ) +const PFNGLVERTEXATTRIB2DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB2DVPROC ) ( GLuint index , const GLdouble * v ) +const PFNGLVERTEXATTRIB2DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB2FPROC ) ( GLuint index , GLfloat x , GLfloat y ) +const PFNGLVERTEXATTRIB2FPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB2FVPROC ) ( GLuint index , const GLfloat * v ) +const PFNGLVERTEXATTRIB2FVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB2SPROC ) ( GLuint index , GLshort x , GLshort y ) +const PFNGLVERTEXATTRIB2SPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB2SVPROC ) ( GLuint index , const GLshort * v ) +const PFNGLVERTEXATTRIB2SVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB3DPROC ) ( GLuint index , GLdouble x , GLdouble y , GLdouble z ) +const PFNGLVERTEXATTRIB3DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB3DVPROC ) ( GLuint index , const GLdouble * v ) +const PFNGLVERTEXATTRIB3DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB3FPROC ) ( GLuint index , GLfloat x , GLfloat y , GLfloat z ) +const PFNGLVERTEXATTRIB3FPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB3FVPROC ) ( GLuint index , const GLfloat * v ) +const PFNGLVERTEXATTRIB3FVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB3SPROC ) ( GLuint index , GLshort x , GLshort y , GLshort z ) +const PFNGLVERTEXATTRIB3SPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB3SVPROC ) ( GLuint index , const GLshort * v ) +const PFNGLVERTEXATTRIB3SVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB4NBVPROC ) ( GLuint index , const GLbyte * v ) +const PFNGLVERTEXATTRIB4NBVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB4NIVPROC ) ( GLuint index , const GLint * v ) +const PFNGLVERTEXATTRIB4NIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB4NSVPROC ) ( GLuint index , const GLshort * v ) +const PFNGLVERTEXATTRIB4NSVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB4NUBPROC ) ( GLuint index , GLubyte x , GLubyte y , GLubyte z , GLubyte w ) +const PFNGLVERTEXATTRIB4NUBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB4NUBVPROC ) ( GLuint index , const GLubyte * v ) +const PFNGLVERTEXATTRIB4NUBVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB4NUIVPROC ) ( GLuint index , const GLuint * v ) +const PFNGLVERTEXATTRIB4NUIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB4NUSVPROC ) ( GLuint index , const GLushort * v ) +const PFNGLVERTEXATTRIB4NUSVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB4BVPROC ) ( GLuint index , const GLbyte * v ) +const PFNGLVERTEXATTRIB4BVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB4DPROC ) ( GLuint index , GLdouble x , GLdouble y , GLdouble z , GLdouble w ) +const PFNGLVERTEXATTRIB4DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB4DVPROC ) ( GLuint index , const GLdouble * v ) +const PFNGLVERTEXATTRIB4DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB4FPROC ) ( GLuint index , GLfloat x , GLfloat y , GLfloat z , GLfloat w ) +const PFNGLVERTEXATTRIB4FPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB4FVPROC ) ( GLuint index , const GLfloat * v ) +const PFNGLVERTEXATTRIB4FVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB4IVPROC ) ( GLuint index , const GLint * v ) +const PFNGLVERTEXATTRIB4IVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB4SPROC ) ( GLuint index , GLshort x , GLshort y , GLshort z , GLshort w ) +const PFNGLVERTEXATTRIB4SPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB4SVPROC ) ( GLuint index , const GLshort * v ) +const PFNGLVERTEXATTRIB4SVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB4UBVPROC ) ( GLuint index , const GLubyte * v ) +const PFNGLVERTEXATTRIB4UBVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB4UIVPROC ) ( GLuint index , const GLuint * v ) +const PFNGLVERTEXATTRIB4UIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIB4USVPROC ) ( GLuint index , const GLushort * v ) +const PFNGLVERTEXATTRIB4USVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC ) ( GLuint index , GLint size , GLenum type , GLboolean normalized , GLsizei stride , const void * pointer ) +const PFNGLVERTEXATTRIBPOINTERPROC = Ptr{Cvoid} + +function glBlendEquationSeparate(modeRGB, modeAlpha) + ccall((:glBlendEquationSeparate, libgl), Cvoid, (GLenum, GLenum), modeRGB, modeAlpha) +end + +function glDrawBuffers(n, bufs) + ccall((:glDrawBuffers, libgl), Cvoid, (GLsizei, Ptr{GLenum}), n, bufs) +end + +function glStencilOpSeparate(face, sfail, dpfail, dppass) + ccall((:glStencilOpSeparate, libgl), Cvoid, (GLenum, GLenum, GLenum, GLenum), face, sfail, dpfail, dppass) +end + +function glStencilFuncSeparate(face, func, ref, mask) + ccall((:glStencilFuncSeparate, libgl), Cvoid, (GLenum, GLenum, GLint, GLuint), face, func, ref, mask) +end + +function glStencilMaskSeparate(face, mask) + ccall((:glStencilMaskSeparate, libgl), Cvoid, (GLenum, GLuint), face, mask) +end + +function glAttachShader(program, shader) + ccall((:glAttachShader, libgl), Cvoid, (GLuint, GLuint), program, shader) +end + +function glBindAttribLocation(program, index, name) + ccall((:glBindAttribLocation, libgl), Cvoid, (GLuint, GLuint, Ptr{GLchar}), program, index, name) +end + +function glCompileShader(shader) + ccall((:glCompileShader, libgl), Cvoid, (GLuint,), shader) +end + +function glCreateProgram() + ccall((:glCreateProgram, libgl), GLuint, ()) +end + +function glCreateShader(type) + ccall((:glCreateShader, libgl), GLuint, (GLenum,), type) +end + +function glDeleteProgram(program) + ccall((:glDeleteProgram, libgl), Cvoid, (GLuint,), program) +end + +function glDeleteShader(shader) + ccall((:glDeleteShader, libgl), Cvoid, (GLuint,), shader) +end + +function glDetachShader(program, shader) + ccall((:glDetachShader, libgl), Cvoid, (GLuint, GLuint), program, shader) +end + +function glDisableVertexAttribArray(index) + ccall((:glDisableVertexAttribArray, libgl), Cvoid, (GLuint,), index) +end + +function glEnableVertexAttribArray(index) + ccall((:glEnableVertexAttribArray, libgl), Cvoid, (GLuint,), index) +end + +function glGetActiveAttrib(program, index, bufSize, length, size, type, name) + ccall((:glGetActiveAttrib, libgl), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLint}, Ptr{GLenum}, Ptr{GLchar}), program, index, bufSize, length, size, type, name) +end + +function glGetActiveUniform(program, index, bufSize, length, size, type, name) + ccall((:glGetActiveUniform, libgl), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLint}, Ptr{GLenum}, Ptr{GLchar}), program, index, bufSize, length, size, type, name) +end + +function glGetAttachedShaders(program, maxCount, count, shaders) + ccall((:glGetAttachedShaders, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLuint}), program, maxCount, count, shaders) +end + +function glGetAttribLocation(program, name) + ccall((:glGetAttribLocation, libgl), GLint, (GLuint, Ptr{GLchar}), program, name) +end + +function glGetProgramiv(program, pname, params) + ccall((:glGetProgramiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), program, pname, params) +end + +function glGetProgramInfoLog(program, bufSize, length, infoLog) + ccall((:glGetProgramInfoLog, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), program, bufSize, length, infoLog) +end + +function glGetShaderiv(shader, pname, params) + ccall((:glGetShaderiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), shader, pname, params) +end + +function glGetShaderInfoLog(shader, bufSize, length, infoLog) + ccall((:glGetShaderInfoLog, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), shader, bufSize, length, infoLog) +end + +function glGetShaderSource(shader, bufSize, length, source) + ccall((:glGetShaderSource, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), shader, bufSize, length, source) +end + +function glGetUniformLocation(program, name) + ccall((:glGetUniformLocation, libgl), GLint, (GLuint, Ptr{GLchar}), program, name) +end + +function glGetUniformfv(program, location, params) + ccall((:glGetUniformfv, libgl), Cvoid, (GLuint, GLint, Ptr{GLfloat}), program, location, params) +end + +function glGetUniformiv(program, location, params) + ccall((:glGetUniformiv, libgl), Cvoid, (GLuint, GLint, Ptr{GLint}), program, location, params) +end + +function glGetVertexAttribdv(index, pname, params) + ccall((:glGetVertexAttribdv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLdouble}), index, pname, params) +end + +function glGetVertexAttribfv(index, pname, params) + ccall((:glGetVertexAttribfv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLfloat}), index, pname, params) +end + +function glGetVertexAttribiv(index, pname, params) + ccall((:glGetVertexAttribiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), index, pname, params) +end + +function glGetVertexAttribPointerv(index, pname, pointer) + ccall((:glGetVertexAttribPointerv, libgl), Cvoid, (GLuint, GLenum, Ptr{Ptr{Cvoid}}), index, pname, pointer) +end + +function glIsProgram(program) + ccall((:glIsProgram, libgl), GLboolean, (GLuint,), program) +end + +function glIsShader(shader) + ccall((:glIsShader, libgl), GLboolean, (GLuint,), shader) +end + +function glLinkProgram(program) + ccall((:glLinkProgram, libgl), Cvoid, (GLuint,), program) +end + +function glShaderSource(shader, count, string, length) + ccall((:glShaderSource, libgl), Cvoid, (GLuint, GLsizei, Ptr{Ptr{GLchar}}, Ptr{GLint}), shader, count, string, length) +end + +function glUseProgram(program) + ccall((:glUseProgram, libgl), Cvoid, (GLuint,), program) +end + +function glUniform1f(location, v0) + ccall((:glUniform1f, libgl), Cvoid, (GLint, GLfloat), location, v0) +end + +function glUniform2f(location, v0, v1) + ccall((:glUniform2f, libgl), Cvoid, (GLint, GLfloat, GLfloat), location, v0, v1) +end + +function glUniform3f(location, v0, v1, v2) + ccall((:glUniform3f, libgl), Cvoid, (GLint, GLfloat, GLfloat, GLfloat), location, v0, v1, v2) +end + +function glUniform4f(location, v0, v1, v2, v3) + ccall((:glUniform4f, libgl), Cvoid, (GLint, GLfloat, GLfloat, GLfloat, GLfloat), location, v0, v1, v2, v3) +end + +function glUniform1i(location, v0) + ccall((:glUniform1i, libgl), Cvoid, (GLint, GLint), location, v0) +end + +function glUniform2i(location, v0, v1) + ccall((:glUniform2i, libgl), Cvoid, (GLint, GLint, GLint), location, v0, v1) +end + +function glUniform3i(location, v0, v1, v2) + ccall((:glUniform3i, libgl), Cvoid, (GLint, GLint, GLint, GLint), location, v0, v1, v2) +end + +function glUniform4i(location, v0, v1, v2, v3) + ccall((:glUniform4i, libgl), Cvoid, (GLint, GLint, GLint, GLint, GLint), location, v0, v1, v2, v3) +end + +function glUniform1fv(location, count, value) + ccall((:glUniform1fv, libgl), Cvoid, (GLint, GLsizei, Ptr{GLfloat}), location, count, value) +end + +function glUniform2fv(location, count, value) + ccall((:glUniform2fv, libgl), Cvoid, (GLint, GLsizei, Ptr{GLfloat}), location, count, value) +end + +function glUniform3fv(location, count, value) + ccall((:glUniform3fv, libgl), Cvoid, (GLint, GLsizei, Ptr{GLfloat}), location, count, value) +end + +function glUniform4fv(location, count, value) + ccall((:glUniform4fv, libgl), Cvoid, (GLint, GLsizei, Ptr{GLfloat}), location, count, value) +end + +function glUniform1iv(location, count, value) + ccall((:glUniform1iv, libgl), Cvoid, (GLint, GLsizei, Ptr{GLint}), location, count, value) +end + +function glUniform2iv(location, count, value) + ccall((:glUniform2iv, libgl), Cvoid, (GLint, GLsizei, Ptr{GLint}), location, count, value) +end + +function glUniform3iv(location, count, value) + ccall((:glUniform3iv, libgl), Cvoid, (GLint, GLsizei, Ptr{GLint}), location, count, value) +end + +function glUniform4iv(location, count, value) + ccall((:glUniform4iv, libgl), Cvoid, (GLint, GLsizei, Ptr{GLint}), location, count, value) +end + +function glUniformMatrix2fv(location, count, transpose, value) + ccall((:glUniformMatrix2fv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) +end + +function glUniformMatrix3fv(location, count, transpose, value) + ccall((:glUniformMatrix3fv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) +end + +function glUniformMatrix4fv(location, count, transpose, value) + ccall((:glUniformMatrix4fv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) +end + +function glValidateProgram(program) + ccall((:glValidateProgram, libgl), Cvoid, (GLuint,), program) +end + +function glVertexAttrib1d(index, x) + ccall((:glVertexAttrib1d, libgl), Cvoid, (GLuint, GLdouble), index, x) +end + +function glVertexAttrib1dv(index, v) + ccall((:glVertexAttrib1dv, libgl), Cvoid, (GLuint, Ptr{GLdouble}), index, v) +end + +function glVertexAttrib1f(index, x) + ccall((:glVertexAttrib1f, libgl), Cvoid, (GLuint, GLfloat), index, x) +end + +function glVertexAttrib1fv(index, v) + ccall((:glVertexAttrib1fv, libgl), Cvoid, (GLuint, Ptr{GLfloat}), index, v) +end + +function glVertexAttrib1s(index, x) + ccall((:glVertexAttrib1s, libgl), Cvoid, (GLuint, GLshort), index, x) +end + +function glVertexAttrib1sv(index, v) + ccall((:glVertexAttrib1sv, libgl), Cvoid, (GLuint, Ptr{GLshort}), index, v) +end + +function glVertexAttrib2d(index, x, y) + ccall((:glVertexAttrib2d, libgl), Cvoid, (GLuint, GLdouble, GLdouble), index, x, y) +end + +function glVertexAttrib2dv(index, v) + ccall((:glVertexAttrib2dv, libgl), Cvoid, (GLuint, Ptr{GLdouble}), index, v) +end + +function glVertexAttrib2f(index, x, y) + ccall((:glVertexAttrib2f, libgl), Cvoid, (GLuint, GLfloat, GLfloat), index, x, y) +end + +function glVertexAttrib2fv(index, v) + ccall((:glVertexAttrib2fv, libgl), Cvoid, (GLuint, Ptr{GLfloat}), index, v) +end + +function glVertexAttrib2s(index, x, y) + ccall((:glVertexAttrib2s, libgl), Cvoid, (GLuint, GLshort, GLshort), index, x, y) +end + +function glVertexAttrib2sv(index, v) + ccall((:glVertexAttrib2sv, libgl), Cvoid, (GLuint, Ptr{GLshort}), index, v) +end + +function glVertexAttrib3d(index, x, y, z) + ccall((:glVertexAttrib3d, libgl), Cvoid, (GLuint, GLdouble, GLdouble, GLdouble), index, x, y, z) +end + +function glVertexAttrib3dv(index, v) + ccall((:glVertexAttrib3dv, libgl), Cvoid, (GLuint, Ptr{GLdouble}), index, v) +end + +function glVertexAttrib3f(index, x, y, z) + ccall((:glVertexAttrib3f, libgl), Cvoid, (GLuint, GLfloat, GLfloat, GLfloat), index, x, y, z) +end + +function glVertexAttrib3fv(index, v) + ccall((:glVertexAttrib3fv, libgl), Cvoid, (GLuint, Ptr{GLfloat}), index, v) +end + +function glVertexAttrib3s(index, x, y, z) + ccall((:glVertexAttrib3s, libgl), Cvoid, (GLuint, GLshort, GLshort, GLshort), index, x, y, z) +end + +function glVertexAttrib3sv(index, v) + ccall((:glVertexAttrib3sv, libgl), Cvoid, (GLuint, Ptr{GLshort}), index, v) +end + +function glVertexAttrib4Nbv(index, v) + ccall((:glVertexAttrib4Nbv, libgl), Cvoid, (GLuint, Ptr{GLbyte}), index, v) +end + +function glVertexAttrib4Niv(index, v) + ccall((:glVertexAttrib4Niv, libgl), Cvoid, (GLuint, Ptr{GLint}), index, v) +end + +function glVertexAttrib4Nsv(index, v) + ccall((:glVertexAttrib4Nsv, libgl), Cvoid, (GLuint, Ptr{GLshort}), index, v) +end + +function glVertexAttrib4Nub(index, x, y, z, w) + ccall((:glVertexAttrib4Nub, libgl), Cvoid, (GLuint, GLubyte, GLubyte, GLubyte, GLubyte), index, x, y, z, w) +end + +function glVertexAttrib4Nubv(index, v) + ccall((:glVertexAttrib4Nubv, libgl), Cvoid, (GLuint, Ptr{GLubyte}), index, v) +end + +function glVertexAttrib4Nuiv(index, v) + ccall((:glVertexAttrib4Nuiv, libgl), Cvoid, (GLuint, Ptr{GLuint}), index, v) +end + +function glVertexAttrib4Nusv(index, v) + ccall((:glVertexAttrib4Nusv, libgl), Cvoid, (GLuint, Ptr{GLushort}), index, v) +end + +function glVertexAttrib4bv(index, v) + ccall((:glVertexAttrib4bv, libgl), Cvoid, (GLuint, Ptr{GLbyte}), index, v) +end + +function glVertexAttrib4d(index, x, y, z, w) + ccall((:glVertexAttrib4d, libgl), Cvoid, (GLuint, GLdouble, GLdouble, GLdouble, GLdouble), index, x, y, z, w) +end + +function glVertexAttrib4dv(index, v) + ccall((:glVertexAttrib4dv, libgl), Cvoid, (GLuint, Ptr{GLdouble}), index, v) +end + +function glVertexAttrib4f(index, x, y, z, w) + ccall((:glVertexAttrib4f, libgl), Cvoid, (GLuint, GLfloat, GLfloat, GLfloat, GLfloat), index, x, y, z, w) +end + +function glVertexAttrib4fv(index, v) + ccall((:glVertexAttrib4fv, libgl), Cvoid, (GLuint, Ptr{GLfloat}), index, v) +end + +function glVertexAttrib4iv(index, v) + ccall((:glVertexAttrib4iv, libgl), Cvoid, (GLuint, Ptr{GLint}), index, v) +end + +function glVertexAttrib4s(index, x, y, z, w) + ccall((:glVertexAttrib4s, libgl), Cvoid, (GLuint, GLshort, GLshort, GLshort, GLshort), index, x, y, z, w) +end + +function glVertexAttrib4sv(index, v) + ccall((:glVertexAttrib4sv, libgl), Cvoid, (GLuint, Ptr{GLshort}), index, v) +end + +function glVertexAttrib4ubv(index, v) + ccall((:glVertexAttrib4ubv, libgl), Cvoid, (GLuint, Ptr{GLubyte}), index, v) +end + +function glVertexAttrib4uiv(index, v) + ccall((:glVertexAttrib4uiv, libgl), Cvoid, (GLuint, Ptr{GLuint}), index, v) +end + +function glVertexAttrib4usv(index, v) + ccall((:glVertexAttrib4usv, libgl), Cvoid, (GLuint, Ptr{GLushort}), index, v) +end + +function glVertexAttribPointer(index, size, type, normalized, stride, pointer) + ccall((:glVertexAttribPointer, libgl), Cvoid, (GLuint, GLint, GLenum, GLboolean, GLsizei, Ptr{Cvoid}), index, size, type, normalized, stride, pointer) +end + +# typedef void ( APIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC ) ( GLint location , GLsizei count , GLboolean transpose , const GLfloat * value ) +const PFNGLUNIFORMMATRIX2X3FVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORMMATRIX3X2FVPROC ) ( GLint location , GLsizei count , GLboolean transpose , const GLfloat * value ) +const PFNGLUNIFORMMATRIX3X2FVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORMMATRIX2X4FVPROC ) ( GLint location , GLsizei count , GLboolean transpose , const GLfloat * value ) +const PFNGLUNIFORMMATRIX2X4FVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORMMATRIX4X2FVPROC ) ( GLint location , GLsizei count , GLboolean transpose , const GLfloat * value ) +const PFNGLUNIFORMMATRIX4X2FVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORMMATRIX3X4FVPROC ) ( GLint location , GLsizei count , GLboolean transpose , const GLfloat * value ) +const PFNGLUNIFORMMATRIX3X4FVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC ) ( GLint location , GLsizei count , GLboolean transpose , const GLfloat * value ) +const PFNGLUNIFORMMATRIX4X3FVPROC = Ptr{Cvoid} + +function glUniformMatrix2x3fv(location, count, transpose, value) + ccall((:glUniformMatrix2x3fv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) +end + +function glUniformMatrix3x2fv(location, count, transpose, value) + ccall((:glUniformMatrix3x2fv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) +end + +function glUniformMatrix2x4fv(location, count, transpose, value) + ccall((:glUniformMatrix2x4fv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) +end + +function glUniformMatrix4x2fv(location, count, transpose, value) + ccall((:glUniformMatrix4x2fv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) +end + +function glUniformMatrix3x4fv(location, count, transpose, value) + ccall((:glUniformMatrix3x4fv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) +end + +function glUniformMatrix4x3fv(location, count, transpose, value) + ccall((:glUniformMatrix4x3fv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) +end + +const GLhalf = khronos_uint16_t + +# typedef void ( APIENTRYP PFNGLCOLORMASKIPROC ) ( GLuint index , GLboolean r , GLboolean g , GLboolean b , GLboolean a ) +const PFNGLCOLORMASKIPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETBOOLEANI_VPROC ) ( GLenum target , GLuint index , GLboolean * data ) +const PFNGLGETBOOLEANI_VPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETINTEGERI_VPROC ) ( GLenum target , GLuint index , GLint * data ) +const PFNGLGETINTEGERI_VPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLENABLEIPROC ) ( GLenum target , GLuint index ) +const PFNGLENABLEIPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDISABLEIPROC ) ( GLenum target , GLuint index ) +const PFNGLDISABLEIPROC = Ptr{Cvoid} + +# typedef GLboolean ( APIENTRYP PFNGLISENABLEDIPROC ) ( GLenum target , GLuint index ) +const PFNGLISENABLEDIPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKPROC ) ( GLenum primitiveMode ) +const PFNGLBEGINTRANSFORMFEEDBACKPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLENDTRANSFORMFEEDBACKPROC ) ( void ) +const PFNGLENDTRANSFORMFEEDBACKPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBINDBUFFERRANGEPROC ) ( GLenum target , GLuint index , GLuint buffer , GLintptr offset , GLsizeiptr size ) +const PFNGLBINDBUFFERRANGEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBINDBUFFERBASEPROC ) ( GLenum target , GLuint index , GLuint buffer ) +const PFNGLBINDBUFFERBASEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSPROC ) ( GLuint program , GLsizei count , const GLchar * const * varyings , GLenum bufferMode ) +const PFNGLTRANSFORMFEEDBACKVARYINGSPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGPROC ) ( GLuint program , GLuint index , GLsizei bufSize , GLsizei * length , GLsizei * size , GLenum * type , GLchar * name ) +const PFNGLGETTRANSFORMFEEDBACKVARYINGPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCLAMPCOLORPROC ) ( GLenum target , GLenum clamp ) +const PFNGLCLAMPCOLORPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBEGINCONDITIONALRENDERPROC ) ( GLuint id , GLenum mode ) +const PFNGLBEGINCONDITIONALRENDERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLENDCONDITIONALRENDERPROC ) ( void ) +const PFNGLENDCONDITIONALRENDERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC ) ( GLuint index , GLint size , GLenum type , GLsizei stride , const void * pointer ) +const PFNGLVERTEXATTRIBIPOINTERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETVERTEXATTRIBIIVPROC ) ( GLuint index , GLenum pname , GLint * params ) +const PFNGLGETVERTEXATTRIBIIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETVERTEXATTRIBIUIVPROC ) ( GLuint index , GLenum pname , GLuint * params ) +const PFNGLGETVERTEXATTRIBIUIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBI1IPROC ) ( GLuint index , GLint x ) +const PFNGLVERTEXATTRIBI1IPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBI2IPROC ) ( GLuint index , GLint x , GLint y ) +const PFNGLVERTEXATTRIBI2IPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBI3IPROC ) ( GLuint index , GLint x , GLint y , GLint z ) +const PFNGLVERTEXATTRIBI3IPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBI4IPROC ) ( GLuint index , GLint x , GLint y , GLint z , GLint w ) +const PFNGLVERTEXATTRIBI4IPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBI1UIPROC ) ( GLuint index , GLuint x ) +const PFNGLVERTEXATTRIBI1UIPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBI2UIPROC ) ( GLuint index , GLuint x , GLuint y ) +const PFNGLVERTEXATTRIBI2UIPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBI3UIPROC ) ( GLuint index , GLuint x , GLuint y , GLuint z ) +const PFNGLVERTEXATTRIBI3UIPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBI4UIPROC ) ( GLuint index , GLuint x , GLuint y , GLuint z , GLuint w ) +const PFNGLVERTEXATTRIBI4UIPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBI1IVPROC ) ( GLuint index , const GLint * v ) +const PFNGLVERTEXATTRIBI1IVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBI2IVPROC ) ( GLuint index , const GLint * v ) +const PFNGLVERTEXATTRIBI2IVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBI3IVPROC ) ( GLuint index , const GLint * v ) +const PFNGLVERTEXATTRIBI3IVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBI4IVPROC ) ( GLuint index , const GLint * v ) +const PFNGLVERTEXATTRIBI4IVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBI1UIVPROC ) ( GLuint index , const GLuint * v ) +const PFNGLVERTEXATTRIBI1UIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBI2UIVPROC ) ( GLuint index , const GLuint * v ) +const PFNGLVERTEXATTRIBI2UIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBI3UIVPROC ) ( GLuint index , const GLuint * v ) +const PFNGLVERTEXATTRIBI3UIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBI4UIVPROC ) ( GLuint index , const GLuint * v ) +const PFNGLVERTEXATTRIBI4UIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBI4BVPROC ) ( GLuint index , const GLbyte * v ) +const PFNGLVERTEXATTRIBI4BVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBI4SVPROC ) ( GLuint index , const GLshort * v ) +const PFNGLVERTEXATTRIBI4SVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBI4UBVPROC ) ( GLuint index , const GLubyte * v ) +const PFNGLVERTEXATTRIBI4UBVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBI4USVPROC ) ( GLuint index , const GLushort * v ) +const PFNGLVERTEXATTRIBI4USVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETUNIFORMUIVPROC ) ( GLuint program , GLint location , GLuint * params ) +const PFNGLGETUNIFORMUIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBINDFRAGDATALOCATIONPROC ) ( GLuint program , GLuint color , const GLchar * name ) +const PFNGLBINDFRAGDATALOCATIONPROC = Ptr{Cvoid} + +# typedef GLint ( APIENTRYP PFNGLGETFRAGDATALOCATIONPROC ) ( GLuint program , const GLchar * name ) +const PFNGLGETFRAGDATALOCATIONPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM1UIPROC ) ( GLint location , GLuint v0 ) +const PFNGLUNIFORM1UIPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM2UIPROC ) ( GLint location , GLuint v0 , GLuint v1 ) +const PFNGLUNIFORM2UIPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM3UIPROC ) ( GLint location , GLuint v0 , GLuint v1 , GLuint v2 ) +const PFNGLUNIFORM3UIPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM4UIPROC ) ( GLint location , GLuint v0 , GLuint v1 , GLuint v2 , GLuint v3 ) +const PFNGLUNIFORM4UIPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM1UIVPROC ) ( GLint location , GLsizei count , const GLuint * value ) +const PFNGLUNIFORM1UIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM2UIVPROC ) ( GLint location , GLsizei count , const GLuint * value ) +const PFNGLUNIFORM2UIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM3UIVPROC ) ( GLint location , GLsizei count , const GLuint * value ) +const PFNGLUNIFORM3UIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM4UIVPROC ) ( GLint location , GLsizei count , const GLuint * value ) +const PFNGLUNIFORM4UIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXPARAMETERIIVPROC ) ( GLenum target , GLenum pname , const GLint * params ) +const PFNGLTEXPARAMETERIIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXPARAMETERIUIVPROC ) ( GLenum target , GLenum pname , const GLuint * params ) +const PFNGLTEXPARAMETERIUIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETTEXPARAMETERIIVPROC ) ( GLenum target , GLenum pname , GLint * params ) +const PFNGLGETTEXPARAMETERIIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETTEXPARAMETERIUIVPROC ) ( GLenum target , GLenum pname , GLuint * params ) +const PFNGLGETTEXPARAMETERIUIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCLEARBUFFERIVPROC ) ( GLenum buffer , GLint drawbuffer , const GLint * value ) +const PFNGLCLEARBUFFERIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCLEARBUFFERUIVPROC ) ( GLenum buffer , GLint drawbuffer , const GLuint * value ) +const PFNGLCLEARBUFFERUIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCLEARBUFFERFVPROC ) ( GLenum buffer , GLint drawbuffer , const GLfloat * value ) +const PFNGLCLEARBUFFERFVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCLEARBUFFERFIPROC ) ( GLenum buffer , GLint drawbuffer , GLfloat depth , GLint stencil ) +const PFNGLCLEARBUFFERFIPROC = Ptr{Cvoid} + +# typedef const GLubyte * ( APIENTRYP PFNGLGETSTRINGIPROC ) ( GLenum name , GLuint index ) +const PFNGLGETSTRINGIPROC = Ptr{Cvoid} + +# typedef GLboolean ( APIENTRYP PFNGLISRENDERBUFFERPROC ) ( GLuint renderbuffer ) +const PFNGLISRENDERBUFFERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBINDRENDERBUFFERPROC ) ( GLenum target , GLuint renderbuffer ) +const PFNGLBINDRENDERBUFFERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDELETERENDERBUFFERSPROC ) ( GLsizei n , const GLuint * renderbuffers ) +const PFNGLDELETERENDERBUFFERSPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGENRENDERBUFFERSPROC ) ( GLsizei n , GLuint * renderbuffers ) +const PFNGLGENRENDERBUFFERSPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC ) ( GLenum target , GLenum internalformat , GLsizei width , GLsizei height ) +const PFNGLRENDERBUFFERSTORAGEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC ) ( GLenum target , GLenum pname , GLint * params ) +const PFNGLGETRENDERBUFFERPARAMETERIVPROC = Ptr{Cvoid} + +# typedef GLboolean ( APIENTRYP PFNGLISFRAMEBUFFERPROC ) ( GLuint framebuffer ) +const PFNGLISFRAMEBUFFERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBINDFRAMEBUFFERPROC ) ( GLenum target , GLuint framebuffer ) +const PFNGLBINDFRAMEBUFFERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC ) ( GLsizei n , const GLuint * framebuffers ) +const PFNGLDELETEFRAMEBUFFERSPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGENFRAMEBUFFERSPROC ) ( GLsizei n , GLuint * framebuffers ) +const PFNGLGENFRAMEBUFFERSPROC = Ptr{Cvoid} + +# typedef GLenum ( APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC ) ( GLenum target ) +const PFNGLCHECKFRAMEBUFFERSTATUSPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DPROC ) ( GLenum target , GLenum attachment , GLenum textarget , GLuint texture , GLint level ) +const PFNGLFRAMEBUFFERTEXTURE1DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC ) ( GLenum target , GLenum attachment , GLenum textarget , GLuint texture , GLint level ) +const PFNGLFRAMEBUFFERTEXTURE2DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DPROC ) ( GLenum target , GLenum attachment , GLenum textarget , GLuint texture , GLint level , GLint zoffset ) +const PFNGLFRAMEBUFFERTEXTURE3DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC ) ( GLenum target , GLenum attachment , GLenum renderbuffertarget , GLuint renderbuffer ) +const PFNGLFRAMEBUFFERRENDERBUFFERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC ) ( GLenum target , GLenum attachment , GLenum pname , GLint * params ) +const PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGENERATEMIPMAPPROC ) ( GLenum target ) +const PFNGLGENERATEMIPMAPPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBLITFRAMEBUFFERPROC ) ( GLint srcX0 , GLint srcY0 , GLint srcX1 , GLint srcY1 , GLint dstX0 , GLint dstY0 , GLint dstX1 , GLint dstY1 , GLbitfield mask , GLenum filter ) +const PFNGLBLITFRAMEBUFFERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC ) ( GLenum target , GLsizei samples , GLenum internalformat , GLsizei width , GLsizei height ) +const PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERPROC ) ( GLenum target , GLenum attachment , GLuint texture , GLint level , GLint layer ) +const PFNGLFRAMEBUFFERTEXTURELAYERPROC = Ptr{Cvoid} + +# typedef void * ( APIENTRYP PFNGLMAPBUFFERRANGEPROC ) ( GLenum target , GLintptr offset , GLsizeiptr length , GLbitfield access ) +const PFNGLMAPBUFFERRANGEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEPROC ) ( GLenum target , GLintptr offset , GLsizeiptr length ) +const PFNGLFLUSHMAPPEDBUFFERRANGEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBINDVERTEXARRAYPROC ) ( GLuint array ) +const PFNGLBINDVERTEXARRAYPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDELETEVERTEXARRAYSPROC ) ( GLsizei n , const GLuint * arrays ) +const PFNGLDELETEVERTEXARRAYSPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGENVERTEXARRAYSPROC ) ( GLsizei n , GLuint * arrays ) +const PFNGLGENVERTEXARRAYSPROC = Ptr{Cvoid} + +# typedef GLboolean ( APIENTRYP PFNGLISVERTEXARRAYPROC ) ( GLuint array ) +const PFNGLISVERTEXARRAYPROC = Ptr{Cvoid} + +function glColorMaski(index, r, g, b, a) + ccall((:glColorMaski, libgl), Cvoid, (GLuint, GLboolean, GLboolean, GLboolean, GLboolean), index, r, g, b, a) +end + +function glGetBooleani_v(target, index, data) + ccall((:glGetBooleani_v, libgl), Cvoid, (GLenum, GLuint, Ptr{GLboolean}), target, index, data) +end + +function glGetIntegeri_v(target, index, data) + ccall((:glGetIntegeri_v, libgl), Cvoid, (GLenum, GLuint, Ptr{GLint}), target, index, data) +end + +function glEnablei(target, index) + ccall((:glEnablei, libgl), Cvoid, (GLenum, GLuint), target, index) +end + +function glDisablei(target, index) + ccall((:glDisablei, libgl), Cvoid, (GLenum, GLuint), target, index) +end + +function glIsEnabledi(target, index) + ccall((:glIsEnabledi, libgl), GLboolean, (GLenum, GLuint), target, index) +end + +function glBeginTransformFeedback(primitiveMode) + ccall((:glBeginTransformFeedback, libgl), Cvoid, (GLenum,), primitiveMode) +end + +function glEndTransformFeedback() + ccall((:glEndTransformFeedback, libgl), Cvoid, ()) +end + +function glBindBufferRange(target, index, buffer, offset, size) + ccall((:glBindBufferRange, libgl), Cvoid, (GLenum, GLuint, GLuint, GLintptr, GLsizeiptr), target, index, buffer, offset, size) +end + +function glBindBufferBase(target, index, buffer) + ccall((:glBindBufferBase, libgl), Cvoid, (GLenum, GLuint, GLuint), target, index, buffer) +end + +function glTransformFeedbackVaryings(program, count, varyings, bufferMode) + ccall((:glTransformFeedbackVaryings, libgl), Cvoid, (GLuint, GLsizei, Ptr{Ptr{GLchar}}, GLenum), program, count, varyings, bufferMode) +end + +function glGetTransformFeedbackVarying(program, index, bufSize, length, size, type, name) + ccall((:glGetTransformFeedbackVarying, libgl), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLsizei}, Ptr{GLenum}, Ptr{GLchar}), program, index, bufSize, length, size, type, name) +end + +function glClampColor(target, clamp) + ccall((:glClampColor, libgl), Cvoid, (GLenum, GLenum), target, clamp) +end + +function glBeginConditionalRender(id, mode) + ccall((:glBeginConditionalRender, libgl), Cvoid, (GLuint, GLenum), id, mode) +end + +function glEndConditionalRender() + ccall((:glEndConditionalRender, libgl), Cvoid, ()) +end + +function glVertexAttribIPointer(index, size, type, stride, pointer) + ccall((:glVertexAttribIPointer, libgl), Cvoid, (GLuint, GLint, GLenum, GLsizei, Ptr{Cvoid}), index, size, type, stride, pointer) +end + +function glGetVertexAttribIiv(index, pname, params) + ccall((:glGetVertexAttribIiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), index, pname, params) +end + +function glGetVertexAttribIuiv(index, pname, params) + ccall((:glGetVertexAttribIuiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLuint}), index, pname, params) +end + +function glVertexAttribI1i(index, x) + ccall((:glVertexAttribI1i, libgl), Cvoid, (GLuint, GLint), index, x) +end + +function glVertexAttribI2i(index, x, y) + ccall((:glVertexAttribI2i, libgl), Cvoid, (GLuint, GLint, GLint), index, x, y) +end + +function glVertexAttribI3i(index, x, y, z) + ccall((:glVertexAttribI3i, libgl), Cvoid, (GLuint, GLint, GLint, GLint), index, x, y, z) +end + +function glVertexAttribI4i(index, x, y, z, w) + ccall((:glVertexAttribI4i, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLint), index, x, y, z, w) +end + +function glVertexAttribI1ui(index, x) + ccall((:glVertexAttribI1ui, libgl), Cvoid, (GLuint, GLuint), index, x) +end + +function glVertexAttribI2ui(index, x, y) + ccall((:glVertexAttribI2ui, libgl), Cvoid, (GLuint, GLuint, GLuint), index, x, y) +end + +function glVertexAttribI3ui(index, x, y, z) + ccall((:glVertexAttribI3ui, libgl), Cvoid, (GLuint, GLuint, GLuint, GLuint), index, x, y, z) +end + +function glVertexAttribI4ui(index, x, y, z, w) + ccall((:glVertexAttribI4ui, libgl), Cvoid, (GLuint, GLuint, GLuint, GLuint, GLuint), index, x, y, z, w) +end + +function glVertexAttribI1iv(index, v) + ccall((:glVertexAttribI1iv, libgl), Cvoid, (GLuint, Ptr{GLint}), index, v) +end + +function glVertexAttribI2iv(index, v) + ccall((:glVertexAttribI2iv, libgl), Cvoid, (GLuint, Ptr{GLint}), index, v) +end + +function glVertexAttribI3iv(index, v) + ccall((:glVertexAttribI3iv, libgl), Cvoid, (GLuint, Ptr{GLint}), index, v) +end + +function glVertexAttribI4iv(index, v) + ccall((:glVertexAttribI4iv, libgl), Cvoid, (GLuint, Ptr{GLint}), index, v) +end + +function glVertexAttribI1uiv(index, v) + ccall((:glVertexAttribI1uiv, libgl), Cvoid, (GLuint, Ptr{GLuint}), index, v) +end + +function glVertexAttribI2uiv(index, v) + ccall((:glVertexAttribI2uiv, libgl), Cvoid, (GLuint, Ptr{GLuint}), index, v) +end + +function glVertexAttribI3uiv(index, v) + ccall((:glVertexAttribI3uiv, libgl), Cvoid, (GLuint, Ptr{GLuint}), index, v) +end + +function glVertexAttribI4uiv(index, v) + ccall((:glVertexAttribI4uiv, libgl), Cvoid, (GLuint, Ptr{GLuint}), index, v) +end + +function glVertexAttribI4bv(index, v) + ccall((:glVertexAttribI4bv, libgl), Cvoid, (GLuint, Ptr{GLbyte}), index, v) +end + +function glVertexAttribI4sv(index, v) + ccall((:glVertexAttribI4sv, libgl), Cvoid, (GLuint, Ptr{GLshort}), index, v) +end + +function glVertexAttribI4ubv(index, v) + ccall((:glVertexAttribI4ubv, libgl), Cvoid, (GLuint, Ptr{GLubyte}), index, v) +end + +function glVertexAttribI4usv(index, v) + ccall((:glVertexAttribI4usv, libgl), Cvoid, (GLuint, Ptr{GLushort}), index, v) +end + +function glGetUniformuiv(program, location, params) + ccall((:glGetUniformuiv, libgl), Cvoid, (GLuint, GLint, Ptr{GLuint}), program, location, params) +end + +function glBindFragDataLocation(program, color, name) + ccall((:glBindFragDataLocation, libgl), Cvoid, (GLuint, GLuint, Ptr{GLchar}), program, color, name) +end + +function glGetFragDataLocation(program, name) + ccall((:glGetFragDataLocation, libgl), GLint, (GLuint, Ptr{GLchar}), program, name) +end + +function glUniform1ui(location, v0) + ccall((:glUniform1ui, libgl), Cvoid, (GLint, GLuint), location, v0) +end + +function glUniform2ui(location, v0, v1) + ccall((:glUniform2ui, libgl), Cvoid, (GLint, GLuint, GLuint), location, v0, v1) +end + +function glUniform3ui(location, v0, v1, v2) + ccall((:glUniform3ui, libgl), Cvoid, (GLint, GLuint, GLuint, GLuint), location, v0, v1, v2) +end + +function glUniform4ui(location, v0, v1, v2, v3) + ccall((:glUniform4ui, libgl), Cvoid, (GLint, GLuint, GLuint, GLuint, GLuint), location, v0, v1, v2, v3) +end + +function glUniform1uiv(location, count, value) + ccall((:glUniform1uiv, libgl), Cvoid, (GLint, GLsizei, Ptr{GLuint}), location, count, value) +end + +function glUniform2uiv(location, count, value) + ccall((:glUniform2uiv, libgl), Cvoid, (GLint, GLsizei, Ptr{GLuint}), location, count, value) +end + +function glUniform3uiv(location, count, value) + ccall((:glUniform3uiv, libgl), Cvoid, (GLint, GLsizei, Ptr{GLuint}), location, count, value) +end + +function glUniform4uiv(location, count, value) + ccall((:glUniform4uiv, libgl), Cvoid, (GLint, GLsizei, Ptr{GLuint}), location, count, value) +end + +function glTexParameterIiv(target, pname, params) + ccall((:glTexParameterIiv, libgl), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) +end + +function glTexParameterIuiv(target, pname, params) + ccall((:glTexParameterIuiv, libgl), Cvoid, (GLenum, GLenum, Ptr{GLuint}), target, pname, params) +end + +function glGetTexParameterIiv(target, pname, params) + ccall((:glGetTexParameterIiv, libgl), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) +end + +function glGetTexParameterIuiv(target, pname, params) + ccall((:glGetTexParameterIuiv, libgl), Cvoid, (GLenum, GLenum, Ptr{GLuint}), target, pname, params) +end + +function glClearBufferiv(buffer, drawbuffer, value) + ccall((:glClearBufferiv, libgl), Cvoid, (GLenum, GLint, Ptr{GLint}), buffer, drawbuffer, value) +end + +function glClearBufferuiv(buffer, drawbuffer, value) + ccall((:glClearBufferuiv, libgl), Cvoid, (GLenum, GLint, Ptr{GLuint}), buffer, drawbuffer, value) +end + +function glClearBufferfv(buffer, drawbuffer, value) + ccall((:glClearBufferfv, libgl), Cvoid, (GLenum, GLint, Ptr{GLfloat}), buffer, drawbuffer, value) +end + +function glClearBufferfi(buffer, drawbuffer, depth, stencil) + ccall((:glClearBufferfi, libgl), Cvoid, (GLenum, GLint, GLfloat, GLint), buffer, drawbuffer, depth, stencil) +end + +function glGetStringi(name, index) + ccall((:glGetStringi, libgl), Ptr{GLubyte}, (GLenum, GLuint), name, index) +end + +function glIsRenderbuffer(renderbuffer) + ccall((:glIsRenderbuffer, libgl), GLboolean, (GLuint,), renderbuffer) +end + +function glBindRenderbuffer(target, renderbuffer) + ccall((:glBindRenderbuffer, libgl), Cvoid, (GLenum, GLuint), target, renderbuffer) +end + +function glDeleteRenderbuffers(n, renderbuffers) + ccall((:glDeleteRenderbuffers, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, renderbuffers) +end + +function glGenRenderbuffers(n, renderbuffers) + ccall((:glGenRenderbuffers, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, renderbuffers) +end + +function glRenderbufferStorage(target, internalformat, width, height) + ccall((:glRenderbufferStorage, libgl), Cvoid, (GLenum, GLenum, GLsizei, GLsizei), target, internalformat, width, height) +end + +function glGetRenderbufferParameteriv(target, pname, params) + ccall((:glGetRenderbufferParameteriv, libgl), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) +end + +function glIsFramebuffer(framebuffer) + ccall((:glIsFramebuffer, libgl), GLboolean, (GLuint,), framebuffer) +end + +function glBindFramebuffer(target, framebuffer) + ccall((:glBindFramebuffer, libgl), Cvoid, (GLenum, GLuint), target, framebuffer) +end + +function glDeleteFramebuffers(n, framebuffers) + ccall((:glDeleteFramebuffers, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, framebuffers) +end + +function glGenFramebuffers(n, framebuffers) + ccall((:glGenFramebuffers, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, framebuffers) +end + +function glCheckFramebufferStatus(target) + ccall((:glCheckFramebufferStatus, libgl), GLenum, (GLenum,), target) +end + +function glFramebufferTexture1D(target, attachment, textarget, texture, level) + ccall((:glFramebufferTexture1D, libgl), Cvoid, (GLenum, GLenum, GLenum, GLuint, GLint), target, attachment, textarget, texture, level) +end + +function glFramebufferTexture2D(target, attachment, textarget, texture, level) + ccall((:glFramebufferTexture2D, libgl), Cvoid, (GLenum, GLenum, GLenum, GLuint, GLint), target, attachment, textarget, texture, level) +end + +function glFramebufferTexture3D(target, attachment, textarget, texture, level, zoffset) + ccall((:glFramebufferTexture3D, libgl), Cvoid, (GLenum, GLenum, GLenum, GLuint, GLint, GLint), target, attachment, textarget, texture, level, zoffset) +end + +function glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) + ccall((:glFramebufferRenderbuffer, libgl), Cvoid, (GLenum, GLenum, GLenum, GLuint), target, attachment, renderbuffertarget, renderbuffer) +end + +function glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) + ccall((:glGetFramebufferAttachmentParameteriv, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), target, attachment, pname, params) +end + +function glGenerateMipmap(target) + ccall((:glGenerateMipmap, libgl), Cvoid, (GLenum,), target) +end + +function glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter) + ccall((:glBlitFramebuffer, libgl), Cvoid, (GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum), srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter) +end + +function glRenderbufferStorageMultisample(target, samples, internalformat, width, height) + ccall((:glRenderbufferStorageMultisample, libgl), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei), target, samples, internalformat, width, height) +end + +function glFramebufferTextureLayer(target, attachment, texture, level, layer) + ccall((:glFramebufferTextureLayer, libgl), Cvoid, (GLenum, GLenum, GLuint, GLint, GLint), target, attachment, texture, level, layer) +end + +function glMapBufferRange(target, offset, length, access) + ccall((:glMapBufferRange, libgl), Ptr{Cvoid}, (GLenum, GLintptr, GLsizeiptr, GLbitfield), target, offset, length, access) +end + +function glFlushMappedBufferRange(target, offset, length) + ccall((:glFlushMappedBufferRange, libgl), Cvoid, (GLenum, GLintptr, GLsizeiptr), target, offset, length) +end + +function glBindVertexArray(array) + ccall((:glBindVertexArray, libgl), Cvoid, (GLuint,), array) +end + +function glDeleteVertexArrays(n, arrays) + ccall((:glDeleteVertexArrays, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, arrays) +end + +function glGenVertexArrays(n, arrays) + ccall((:glGenVertexArrays, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, arrays) +end + +function glIsVertexArray(array) + ccall((:glIsVertexArray, libgl), GLboolean, (GLuint,), array) +end + +# typedef void ( APIENTRYP PFNGLDRAWARRAYSINSTANCEDPROC ) ( GLenum mode , GLint first , GLsizei count , GLsizei instancecount ) +const PFNGLDRAWARRAYSINSTANCEDPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDRAWELEMENTSINSTANCEDPROC ) ( GLenum mode , GLsizei count , GLenum type , const void * indices , GLsizei instancecount ) +const PFNGLDRAWELEMENTSINSTANCEDPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXBUFFERPROC ) ( GLenum target , GLenum internalformat , GLuint buffer ) +const PFNGLTEXBUFFERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPRIMITIVERESTARTINDEXPROC ) ( GLuint index ) +const PFNGLPRIMITIVERESTARTINDEXPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOPYBUFFERSUBDATAPROC ) ( GLenum readTarget , GLenum writeTarget , GLintptr readOffset , GLintptr writeOffset , GLsizeiptr size ) +const PFNGLCOPYBUFFERSUBDATAPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETUNIFORMINDICESPROC ) ( GLuint program , GLsizei uniformCount , const GLchar * const * uniformNames , GLuint * uniformIndices ) +const PFNGLGETUNIFORMINDICESPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETACTIVEUNIFORMSIVPROC ) ( GLuint program , GLsizei uniformCount , const GLuint * uniformIndices , GLenum pname , GLint * params ) +const PFNGLGETACTIVEUNIFORMSIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETACTIVEUNIFORMNAMEPROC ) ( GLuint program , GLuint uniformIndex , GLsizei bufSize , GLsizei * length , GLchar * uniformName ) +const PFNGLGETACTIVEUNIFORMNAMEPROC = Ptr{Cvoid} + +# typedef GLuint ( APIENTRYP PFNGLGETUNIFORMBLOCKINDEXPROC ) ( GLuint program , const GLchar * uniformBlockName ) +const PFNGLGETUNIFORMBLOCKINDEXPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVPROC ) ( GLuint program , GLuint uniformBlockIndex , GLenum pname , GLint * params ) +const PFNGLGETACTIVEUNIFORMBLOCKIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC ) ( GLuint program , GLuint uniformBlockIndex , GLsizei bufSize , GLsizei * length , GLchar * uniformBlockName ) +const PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORMBLOCKBINDINGPROC ) ( GLuint program , GLuint uniformBlockIndex , GLuint uniformBlockBinding ) +const PFNGLUNIFORMBLOCKBINDINGPROC = Ptr{Cvoid} + +function glDrawArraysInstanced(mode, first, count, instancecount) + ccall((:glDrawArraysInstanced, libgl), Cvoid, (GLenum, GLint, GLsizei, GLsizei), mode, first, count, instancecount) +end + +function glDrawElementsInstanced(mode, count, type, indices, instancecount) + ccall((:glDrawElementsInstanced, libgl), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLsizei), mode, count, type, indices, instancecount) +end + +function glTexBuffer(target, internalformat, buffer) + ccall((:glTexBuffer, libgl), Cvoid, (GLenum, GLenum, GLuint), target, internalformat, buffer) +end + +function glPrimitiveRestartIndex(index) + ccall((:glPrimitiveRestartIndex, libgl), Cvoid, (GLuint,), index) +end + +function glCopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size) + ccall((:glCopyBufferSubData, libgl), Cvoid, (GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr), readTarget, writeTarget, readOffset, writeOffset, size) +end + +function glGetUniformIndices(program, uniformCount, uniformNames, uniformIndices) + ccall((:glGetUniformIndices, libgl), Cvoid, (GLuint, GLsizei, Ptr{Ptr{GLchar}}, Ptr{GLuint}), program, uniformCount, uniformNames, uniformIndices) +end + +function glGetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params) + ccall((:glGetActiveUniformsiv, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLuint}, GLenum, Ptr{GLint}), program, uniformCount, uniformIndices, pname, params) +end + +function glGetActiveUniformName(program, uniformIndex, bufSize, length, uniformName) + ccall((:glGetActiveUniformName, libgl), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), program, uniformIndex, bufSize, length, uniformName) +end + +function glGetUniformBlockIndex(program, uniformBlockName) + ccall((:glGetUniformBlockIndex, libgl), GLuint, (GLuint, Ptr{GLchar}), program, uniformBlockName) +end + +function glGetActiveUniformBlockiv(program, uniformBlockIndex, pname, params) + ccall((:glGetActiveUniformBlockiv, libgl), Cvoid, (GLuint, GLuint, GLenum, Ptr{GLint}), program, uniformBlockIndex, pname, params) +end + +function glGetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName) + ccall((:glGetActiveUniformBlockName, libgl), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), program, uniformBlockIndex, bufSize, length, uniformBlockName) +end + +function glUniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding) + ccall((:glUniformBlockBinding, libgl), Cvoid, (GLuint, GLuint, GLuint), program, uniformBlockIndex, uniformBlockBinding) +end + +mutable struct __GLsync end + +const GLsync = Ptr{__GLsync} + +const GLuint64 = khronos_uint64_t + +const GLint64 = khronos_int64_t + +# typedef void ( APIENTRYP PFNGLDRAWELEMENTSBASEVERTEXPROC ) ( GLenum mode , GLsizei count , GLenum type , const void * indices , GLint basevertex ) +const PFNGLDRAWELEMENTSBASEVERTEXPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC ) ( GLenum mode , GLuint start , GLuint end , GLsizei count , GLenum type , const void * indices , GLint basevertex ) +const PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC ) ( GLenum mode , GLsizei count , GLenum type , const void * indices , GLsizei instancecount , GLint basevertex ) +const PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC ) ( GLenum mode , const GLsizei * count , GLenum type , const void * const * indices , GLsizei drawcount , const GLint * basevertex ) +const PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROVOKINGVERTEXPROC ) ( GLenum mode ) +const PFNGLPROVOKINGVERTEXPROC = Ptr{Cvoid} + +# typedef GLsync ( APIENTRYP PFNGLFENCESYNCPROC ) ( GLenum condition , GLbitfield flags ) +const PFNGLFENCESYNCPROC = Ptr{Cvoid} + +# typedef GLboolean ( APIENTRYP PFNGLISSYNCPROC ) ( GLsync sync ) +const PFNGLISSYNCPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDELETESYNCPROC ) ( GLsync sync ) +const PFNGLDELETESYNCPROC = Ptr{Cvoid} + +# typedef GLenum ( APIENTRYP PFNGLCLIENTWAITSYNCPROC ) ( GLsync sync , GLbitfield flags , GLuint64 timeout ) +const PFNGLCLIENTWAITSYNCPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLWAITSYNCPROC ) ( GLsync sync , GLbitfield flags , GLuint64 timeout ) +const PFNGLWAITSYNCPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETINTEGER64VPROC ) ( GLenum pname , GLint64 * data ) +const PFNGLGETINTEGER64VPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETSYNCIVPROC ) ( GLsync sync , GLenum pname , GLsizei count , GLsizei * length , GLint * values ) +const PFNGLGETSYNCIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETINTEGER64I_VPROC ) ( GLenum target , GLuint index , GLint64 * data ) +const PFNGLGETINTEGER64I_VPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETBUFFERPARAMETERI64VPROC ) ( GLenum target , GLenum pname , GLint64 * params ) +const PFNGLGETBUFFERPARAMETERI64VPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLFRAMEBUFFERTEXTUREPROC ) ( GLenum target , GLenum attachment , GLuint texture , GLint level ) +const PFNGLFRAMEBUFFERTEXTUREPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXIMAGE2DMULTISAMPLEPROC ) ( GLenum target , GLsizei samples , GLenum internalformat , GLsizei width , GLsizei height , GLboolean fixedsamplelocations ) +const PFNGLTEXIMAGE2DMULTISAMPLEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXIMAGE3DMULTISAMPLEPROC ) ( GLenum target , GLsizei samples , GLenum internalformat , GLsizei width , GLsizei height , GLsizei depth , GLboolean fixedsamplelocations ) +const PFNGLTEXIMAGE3DMULTISAMPLEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETMULTISAMPLEFVPROC ) ( GLenum pname , GLuint index , GLfloat * val ) +const PFNGLGETMULTISAMPLEFVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSAMPLEMASKIPROC ) ( GLuint maskNumber , GLbitfield mask ) +const PFNGLSAMPLEMASKIPROC = Ptr{Cvoid} + +function glDrawElementsBaseVertex(mode, count, type, indices, basevertex) + ccall((:glDrawElementsBaseVertex, libgl), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLint), mode, count, type, indices, basevertex) +end + +function glDrawRangeElementsBaseVertex(mode, start, _end, count, type, indices, basevertex) + ccall((:glDrawRangeElementsBaseVertex, libgl), Cvoid, (GLenum, GLuint, GLuint, GLsizei, GLenum, Ptr{Cvoid}, GLint), mode, start, _end, count, type, indices, basevertex) +end + +function glDrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex) + ccall((:glDrawElementsInstancedBaseVertex, libgl), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLsizei, GLint), mode, count, type, indices, instancecount, basevertex) +end + +function glMultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex) + ccall((:glMultiDrawElementsBaseVertex, libgl), Cvoid, (GLenum, Ptr{GLsizei}, GLenum, Ptr{Ptr{Cvoid}}, GLsizei, Ptr{GLint}), mode, count, type, indices, drawcount, basevertex) +end + +function glProvokingVertex(mode) + ccall((:glProvokingVertex, libgl), Cvoid, (GLenum,), mode) +end + +function glFenceSync(condition, flags) + ccall((:glFenceSync, libgl), GLsync, (GLenum, GLbitfield), condition, flags) +end + +function glIsSync(sync) + ccall((:glIsSync, libgl), GLboolean, (GLsync,), sync) +end + +function glDeleteSync(sync) + ccall((:glDeleteSync, libgl), Cvoid, (GLsync,), sync) +end + +function glClientWaitSync(sync, flags, timeout) + ccall((:glClientWaitSync, libgl), GLenum, (GLsync, GLbitfield, GLuint64), sync, flags, timeout) +end + +function glWaitSync(sync, flags, timeout) + ccall((:glWaitSync, libgl), Cvoid, (GLsync, GLbitfield, GLuint64), sync, flags, timeout) +end + +function glGetInteger64v(pname, data) + ccall((:glGetInteger64v, libgl), Cvoid, (GLenum, Ptr{GLint64}), pname, data) +end + +function glGetSynciv(sync, pname, count, length, values) + ccall((:glGetSynciv, libgl), Cvoid, (GLsync, GLenum, GLsizei, Ptr{GLsizei}, Ptr{GLint}), sync, pname, count, length, values) +end + +function glGetInteger64i_v(target, index, data) + ccall((:glGetInteger64i_v, libgl), Cvoid, (GLenum, GLuint, Ptr{GLint64}), target, index, data) +end + +function glGetBufferParameteri64v(target, pname, params) + ccall((:glGetBufferParameteri64v, libgl), Cvoid, (GLenum, GLenum, Ptr{GLint64}), target, pname, params) +end + +function glFramebufferTexture(target, attachment, texture, level) + ccall((:glFramebufferTexture, libgl), Cvoid, (GLenum, GLenum, GLuint, GLint), target, attachment, texture, level) +end + +function glTexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations) + ccall((:glTexImage2DMultisample, libgl), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean), target, samples, internalformat, width, height, fixedsamplelocations) +end + +function glTexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations) + ccall((:glTexImage3DMultisample, libgl), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean), target, samples, internalformat, width, height, depth, fixedsamplelocations) +end + +function glGetMultisamplefv(pname, index, val) + ccall((:glGetMultisamplefv, libgl), Cvoid, (GLenum, GLuint, Ptr{GLfloat}), pname, index, val) +end + +function glSampleMaski(maskNumber, mask) + ccall((:glSampleMaski, libgl), Cvoid, (GLuint, GLbitfield), maskNumber, mask) +end + +# typedef void ( APIENTRYP PFNGLBINDFRAGDATALOCATIONINDEXEDPROC ) ( GLuint program , GLuint colorNumber , GLuint index , const GLchar * name ) +const PFNGLBINDFRAGDATALOCATIONINDEXEDPROC = Ptr{Cvoid} + +# typedef GLint ( APIENTRYP PFNGLGETFRAGDATAINDEXPROC ) ( GLuint program , const GLchar * name ) +const PFNGLGETFRAGDATAINDEXPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGENSAMPLERSPROC ) ( GLsizei count , GLuint * samplers ) +const PFNGLGENSAMPLERSPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDELETESAMPLERSPROC ) ( GLsizei count , const GLuint * samplers ) +const PFNGLDELETESAMPLERSPROC = Ptr{Cvoid} + +# typedef GLboolean ( APIENTRYP PFNGLISSAMPLERPROC ) ( GLuint sampler ) +const PFNGLISSAMPLERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBINDSAMPLERPROC ) ( GLuint unit , GLuint sampler ) +const PFNGLBINDSAMPLERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSAMPLERPARAMETERIPROC ) ( GLuint sampler , GLenum pname , GLint param ) +const PFNGLSAMPLERPARAMETERIPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSAMPLERPARAMETERIVPROC ) ( GLuint sampler , GLenum pname , const GLint * param ) +const PFNGLSAMPLERPARAMETERIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSAMPLERPARAMETERFPROC ) ( GLuint sampler , GLenum pname , GLfloat param ) +const PFNGLSAMPLERPARAMETERFPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSAMPLERPARAMETERFVPROC ) ( GLuint sampler , GLenum pname , const GLfloat * param ) +const PFNGLSAMPLERPARAMETERFVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSAMPLERPARAMETERIIVPROC ) ( GLuint sampler , GLenum pname , const GLint * param ) +const PFNGLSAMPLERPARAMETERIIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSAMPLERPARAMETERIUIVPROC ) ( GLuint sampler , GLenum pname , const GLuint * param ) +const PFNGLSAMPLERPARAMETERIUIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETSAMPLERPARAMETERIVPROC ) ( GLuint sampler , GLenum pname , GLint * params ) +const PFNGLGETSAMPLERPARAMETERIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETSAMPLERPARAMETERIIVPROC ) ( GLuint sampler , GLenum pname , GLint * params ) +const PFNGLGETSAMPLERPARAMETERIIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETSAMPLERPARAMETERFVPROC ) ( GLuint sampler , GLenum pname , GLfloat * params ) +const PFNGLGETSAMPLERPARAMETERFVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVPROC ) ( GLuint sampler , GLenum pname , GLuint * params ) +const PFNGLGETSAMPLERPARAMETERIUIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLQUERYCOUNTERPROC ) ( GLuint id , GLenum target ) +const PFNGLQUERYCOUNTERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETQUERYOBJECTI64VPROC ) ( GLuint id , GLenum pname , GLint64 * params ) +const PFNGLGETQUERYOBJECTI64VPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETQUERYOBJECTUI64VPROC ) ( GLuint id , GLenum pname , GLuint64 * params ) +const PFNGLGETQUERYOBJECTUI64VPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBDIVISORPROC ) ( GLuint index , GLuint divisor ) +const PFNGLVERTEXATTRIBDIVISORPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBP1UIPROC ) ( GLuint index , GLenum type , GLboolean normalized , GLuint value ) +const PFNGLVERTEXATTRIBP1UIPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBP1UIVPROC ) ( GLuint index , GLenum type , GLboolean normalized , const GLuint * value ) +const PFNGLVERTEXATTRIBP1UIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBP2UIPROC ) ( GLuint index , GLenum type , GLboolean normalized , GLuint value ) +const PFNGLVERTEXATTRIBP2UIPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBP2UIVPROC ) ( GLuint index , GLenum type , GLboolean normalized , const GLuint * value ) +const PFNGLVERTEXATTRIBP2UIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBP3UIPROC ) ( GLuint index , GLenum type , GLboolean normalized , GLuint value ) +const PFNGLVERTEXATTRIBP3UIPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBP3UIVPROC ) ( GLuint index , GLenum type , GLboolean normalized , const GLuint * value ) +const PFNGLVERTEXATTRIBP3UIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBP4UIPROC ) ( GLuint index , GLenum type , GLboolean normalized , GLuint value ) +const PFNGLVERTEXATTRIBP4UIPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBP4UIVPROC ) ( GLuint index , GLenum type , GLboolean normalized , const GLuint * value ) +const PFNGLVERTEXATTRIBP4UIVPROC = Ptr{Cvoid} + +function glBindFragDataLocationIndexed(program, colorNumber, index, name) + ccall((:glBindFragDataLocationIndexed, libgl), Cvoid, (GLuint, GLuint, GLuint, Ptr{GLchar}), program, colorNumber, index, name) +end + +function glGetFragDataIndex(program, name) + ccall((:glGetFragDataIndex, libgl), GLint, (GLuint, Ptr{GLchar}), program, name) +end + +function glGenSamplers(count, samplers) + ccall((:glGenSamplers, libgl), Cvoid, (GLsizei, Ptr{GLuint}), count, samplers) +end + +function glDeleteSamplers(count, samplers) + ccall((:glDeleteSamplers, libgl), Cvoid, (GLsizei, Ptr{GLuint}), count, samplers) +end + +function glIsSampler(sampler) + ccall((:glIsSampler, libgl), GLboolean, (GLuint,), sampler) +end + +function glBindSampler(unit, sampler) + ccall((:glBindSampler, libgl), Cvoid, (GLuint, GLuint), unit, sampler) +end + +function glSamplerParameteri(sampler, pname, param) + ccall((:glSamplerParameteri, libgl), Cvoid, (GLuint, GLenum, GLint), sampler, pname, param) +end + +function glSamplerParameteriv(sampler, pname, param) + ccall((:glSamplerParameteriv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), sampler, pname, param) +end + +function glSamplerParameterf(sampler, pname, param) + ccall((:glSamplerParameterf, libgl), Cvoid, (GLuint, GLenum, GLfloat), sampler, pname, param) +end + +function glSamplerParameterfv(sampler, pname, param) + ccall((:glSamplerParameterfv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLfloat}), sampler, pname, param) +end + +function glSamplerParameterIiv(sampler, pname, param) + ccall((:glSamplerParameterIiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), sampler, pname, param) +end + +function glSamplerParameterIuiv(sampler, pname, param) + ccall((:glSamplerParameterIuiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLuint}), sampler, pname, param) +end + +function glGetSamplerParameteriv(sampler, pname, params) + ccall((:glGetSamplerParameteriv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), sampler, pname, params) +end + +function glGetSamplerParameterIiv(sampler, pname, params) + ccall((:glGetSamplerParameterIiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), sampler, pname, params) +end + +function glGetSamplerParameterfv(sampler, pname, params) + ccall((:glGetSamplerParameterfv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLfloat}), sampler, pname, params) +end + +function glGetSamplerParameterIuiv(sampler, pname, params) + ccall((:glGetSamplerParameterIuiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLuint}), sampler, pname, params) +end + +function glQueryCounter(id, target) + ccall((:glQueryCounter, libgl), Cvoid, (GLuint, GLenum), id, target) +end + +function glGetQueryObjecti64v(id, pname, params) + ccall((:glGetQueryObjecti64v, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint64}), id, pname, params) +end + +function glGetQueryObjectui64v(id, pname, params) + ccall((:glGetQueryObjectui64v, libgl), Cvoid, (GLuint, GLenum, Ptr{GLuint64}), id, pname, params) +end + +function glVertexAttribDivisor(index, divisor) + ccall((:glVertexAttribDivisor, libgl), Cvoid, (GLuint, GLuint), index, divisor) +end + +function glVertexAttribP1ui(index, type, normalized, value) + ccall((:glVertexAttribP1ui, libgl), Cvoid, (GLuint, GLenum, GLboolean, GLuint), index, type, normalized, value) +end + +function glVertexAttribP1uiv(index, type, normalized, value) + ccall((:glVertexAttribP1uiv, libgl), Cvoid, (GLuint, GLenum, GLboolean, Ptr{GLuint}), index, type, normalized, value) +end + +function glVertexAttribP2ui(index, type, normalized, value) + ccall((:glVertexAttribP2ui, libgl), Cvoid, (GLuint, GLenum, GLboolean, GLuint), index, type, normalized, value) +end + +function glVertexAttribP2uiv(index, type, normalized, value) + ccall((:glVertexAttribP2uiv, libgl), Cvoid, (GLuint, GLenum, GLboolean, Ptr{GLuint}), index, type, normalized, value) +end + +function glVertexAttribP3ui(index, type, normalized, value) + ccall((:glVertexAttribP3ui, libgl), Cvoid, (GLuint, GLenum, GLboolean, GLuint), index, type, normalized, value) +end + +function glVertexAttribP3uiv(index, type, normalized, value) + ccall((:glVertexAttribP3uiv, libgl), Cvoid, (GLuint, GLenum, GLboolean, Ptr{GLuint}), index, type, normalized, value) +end + +function glVertexAttribP4ui(index, type, normalized, value) + ccall((:glVertexAttribP4ui, libgl), Cvoid, (GLuint, GLenum, GLboolean, GLuint), index, type, normalized, value) +end + +function glVertexAttribP4uiv(index, type, normalized, value) + ccall((:glVertexAttribP4uiv, libgl), Cvoid, (GLuint, GLenum, GLboolean, Ptr{GLuint}), index, type, normalized, value) +end + +# typedef void ( APIENTRYP PFNGLMINSAMPLESHADINGPROC ) ( GLfloat value ) +const PFNGLMINSAMPLESHADINGPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBLENDEQUATIONIPROC ) ( GLuint buf , GLenum mode ) +const PFNGLBLENDEQUATIONIPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBLENDEQUATIONSEPARATEIPROC ) ( GLuint buf , GLenum modeRGB , GLenum modeAlpha ) +const PFNGLBLENDEQUATIONSEPARATEIPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBLENDFUNCIPROC ) ( GLuint buf , GLenum src , GLenum dst ) +const PFNGLBLENDFUNCIPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBLENDFUNCSEPARATEIPROC ) ( GLuint buf , GLenum srcRGB , GLenum dstRGB , GLenum srcAlpha , GLenum dstAlpha ) +const PFNGLBLENDFUNCSEPARATEIPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDRAWARRAYSINDIRECTPROC ) ( GLenum mode , const void * indirect ) +const PFNGLDRAWARRAYSINDIRECTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDRAWELEMENTSINDIRECTPROC ) ( GLenum mode , GLenum type , const void * indirect ) +const PFNGLDRAWELEMENTSINDIRECTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM1DPROC ) ( GLint location , GLdouble x ) +const PFNGLUNIFORM1DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM2DPROC ) ( GLint location , GLdouble x , GLdouble y ) +const PFNGLUNIFORM2DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM3DPROC ) ( GLint location , GLdouble x , GLdouble y , GLdouble z ) +const PFNGLUNIFORM3DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM4DPROC ) ( GLint location , GLdouble x , GLdouble y , GLdouble z , GLdouble w ) +const PFNGLUNIFORM4DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM1DVPROC ) ( GLint location , GLsizei count , const GLdouble * value ) +const PFNGLUNIFORM1DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM2DVPROC ) ( GLint location , GLsizei count , const GLdouble * value ) +const PFNGLUNIFORM2DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM3DVPROC ) ( GLint location , GLsizei count , const GLdouble * value ) +const PFNGLUNIFORM3DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM4DVPROC ) ( GLint location , GLsizei count , const GLdouble * value ) +const PFNGLUNIFORM4DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORMMATRIX2DVPROC ) ( GLint location , GLsizei count , GLboolean transpose , const GLdouble * value ) +const PFNGLUNIFORMMATRIX2DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORMMATRIX3DVPROC ) ( GLint location , GLsizei count , GLboolean transpose , const GLdouble * value ) +const PFNGLUNIFORMMATRIX3DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORMMATRIX4DVPROC ) ( GLint location , GLsizei count , GLboolean transpose , const GLdouble * value ) +const PFNGLUNIFORMMATRIX4DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORMMATRIX2X3DVPROC ) ( GLint location , GLsizei count , GLboolean transpose , const GLdouble * value ) +const PFNGLUNIFORMMATRIX2X3DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORMMATRIX2X4DVPROC ) ( GLint location , GLsizei count , GLboolean transpose , const GLdouble * value ) +const PFNGLUNIFORMMATRIX2X4DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORMMATRIX3X2DVPROC ) ( GLint location , GLsizei count , GLboolean transpose , const GLdouble * value ) +const PFNGLUNIFORMMATRIX3X2DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORMMATRIX3X4DVPROC ) ( GLint location , GLsizei count , GLboolean transpose , const GLdouble * value ) +const PFNGLUNIFORMMATRIX3X4DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORMMATRIX4X2DVPROC ) ( GLint location , GLsizei count , GLboolean transpose , const GLdouble * value ) +const PFNGLUNIFORMMATRIX4X2DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORMMATRIX4X3DVPROC ) ( GLint location , GLsizei count , GLboolean transpose , const GLdouble * value ) +const PFNGLUNIFORMMATRIX4X3DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETUNIFORMDVPROC ) ( GLuint program , GLint location , GLdouble * params ) +const PFNGLGETUNIFORMDVPROC = Ptr{Cvoid} + +# typedef GLint ( APIENTRYP PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC ) ( GLuint program , GLenum shadertype , const GLchar * name ) +const PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC = Ptr{Cvoid} + +# typedef GLuint ( APIENTRYP PFNGLGETSUBROUTINEINDEXPROC ) ( GLuint program , GLenum shadertype , const GLchar * name ) +const PFNGLGETSUBROUTINEINDEXPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC ) ( GLuint program , GLenum shadertype , GLuint index , GLenum pname , GLint * values ) +const PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC ) ( GLuint program , GLenum shadertype , GLuint index , GLsizei bufSize , GLsizei * length , GLchar * name ) +const PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETACTIVESUBROUTINENAMEPROC ) ( GLuint program , GLenum shadertype , GLuint index , GLsizei bufSize , GLsizei * length , GLchar * name ) +const PFNGLGETACTIVESUBROUTINENAMEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORMSUBROUTINESUIVPROC ) ( GLenum shadertype , GLsizei count , const GLuint * indices ) +const PFNGLUNIFORMSUBROUTINESUIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETUNIFORMSUBROUTINEUIVPROC ) ( GLenum shadertype , GLint location , GLuint * params ) +const PFNGLGETUNIFORMSUBROUTINEUIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETPROGRAMSTAGEIVPROC ) ( GLuint program , GLenum shadertype , GLenum pname , GLint * values ) +const PFNGLGETPROGRAMSTAGEIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPATCHPARAMETERIPROC ) ( GLenum pname , GLint value ) +const PFNGLPATCHPARAMETERIPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPATCHPARAMETERFVPROC ) ( GLenum pname , const GLfloat * values ) +const PFNGLPATCHPARAMETERFVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBINDTRANSFORMFEEDBACKPROC ) ( GLenum target , GLuint id ) +const PFNGLBINDTRANSFORMFEEDBACKPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDELETETRANSFORMFEEDBACKSPROC ) ( GLsizei n , const GLuint * ids ) +const PFNGLDELETETRANSFORMFEEDBACKSPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGENTRANSFORMFEEDBACKSPROC ) ( GLsizei n , GLuint * ids ) +const PFNGLGENTRANSFORMFEEDBACKSPROC = Ptr{Cvoid} + +# typedef GLboolean ( APIENTRYP PFNGLISTRANSFORMFEEDBACKPROC ) ( GLuint id ) +const PFNGLISTRANSFORMFEEDBACKPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPAUSETRANSFORMFEEDBACKPROC ) ( void ) +const PFNGLPAUSETRANSFORMFEEDBACKPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLRESUMETRANSFORMFEEDBACKPROC ) ( void ) +const PFNGLRESUMETRANSFORMFEEDBACKPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKPROC ) ( GLenum mode , GLuint id ) +const PFNGLDRAWTRANSFORMFEEDBACKPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC ) ( GLenum mode , GLuint id , GLuint stream ) +const PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBEGINQUERYINDEXEDPROC ) ( GLenum target , GLuint index , GLuint id ) +const PFNGLBEGINQUERYINDEXEDPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLENDQUERYINDEXEDPROC ) ( GLenum target , GLuint index ) +const PFNGLENDQUERYINDEXEDPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETQUERYINDEXEDIVPROC ) ( GLenum target , GLuint index , GLenum pname , GLint * params ) +const PFNGLGETQUERYINDEXEDIVPROC = Ptr{Cvoid} + +function glMinSampleShading(value) + ccall((:glMinSampleShading, libgl), Cvoid, (GLfloat,), value) +end + +function glBlendEquationi(buf, mode) + ccall((:glBlendEquationi, libgl), Cvoid, (GLuint, GLenum), buf, mode) +end + +function glBlendEquationSeparatei(buf, modeRGB, modeAlpha) + ccall((:glBlendEquationSeparatei, libgl), Cvoid, (GLuint, GLenum, GLenum), buf, modeRGB, modeAlpha) +end + +function glBlendFunci(buf, src, dst) + ccall((:glBlendFunci, libgl), Cvoid, (GLuint, GLenum, GLenum), buf, src, dst) +end + +function glBlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha) + ccall((:glBlendFuncSeparatei, libgl), Cvoid, (GLuint, GLenum, GLenum, GLenum, GLenum), buf, srcRGB, dstRGB, srcAlpha, dstAlpha) +end + +function glDrawArraysIndirect(mode, indirect) + ccall((:glDrawArraysIndirect, libgl), Cvoid, (GLenum, Ptr{Cvoid}), mode, indirect) +end + +function glDrawElementsIndirect(mode, type, indirect) + ccall((:glDrawElementsIndirect, libgl), Cvoid, (GLenum, GLenum, Ptr{Cvoid}), mode, type, indirect) +end + +function glUniform1d(location, x) + ccall((:glUniform1d, libgl), Cvoid, (GLint, GLdouble), location, x) +end + +function glUniform2d(location, x, y) + ccall((:glUniform2d, libgl), Cvoid, (GLint, GLdouble, GLdouble), location, x, y) +end + +function glUniform3d(location, x, y, z) + ccall((:glUniform3d, libgl), Cvoid, (GLint, GLdouble, GLdouble, GLdouble), location, x, y, z) +end + +function glUniform4d(location, x, y, z, w) + ccall((:glUniform4d, libgl), Cvoid, (GLint, GLdouble, GLdouble, GLdouble, GLdouble), location, x, y, z, w) +end + +function glUniform1dv(location, count, value) + ccall((:glUniform1dv, libgl), Cvoid, (GLint, GLsizei, Ptr{GLdouble}), location, count, value) +end + +function glUniform2dv(location, count, value) + ccall((:glUniform2dv, libgl), Cvoid, (GLint, GLsizei, Ptr{GLdouble}), location, count, value) +end + +function glUniform3dv(location, count, value) + ccall((:glUniform3dv, libgl), Cvoid, (GLint, GLsizei, Ptr{GLdouble}), location, count, value) +end + +function glUniform4dv(location, count, value) + ccall((:glUniform4dv, libgl), Cvoid, (GLint, GLsizei, Ptr{GLdouble}), location, count, value) +end + +function glUniformMatrix2dv(location, count, transpose, value) + ccall((:glUniformMatrix2dv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) +end + +function glUniformMatrix3dv(location, count, transpose, value) + ccall((:glUniformMatrix3dv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) +end + +function glUniformMatrix4dv(location, count, transpose, value) + ccall((:glUniformMatrix4dv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) +end + +function glUniformMatrix2x3dv(location, count, transpose, value) + ccall((:glUniformMatrix2x3dv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) +end + +function glUniformMatrix2x4dv(location, count, transpose, value) + ccall((:glUniformMatrix2x4dv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) +end + +function glUniformMatrix3x2dv(location, count, transpose, value) + ccall((:glUniformMatrix3x2dv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) +end + +function glUniformMatrix3x4dv(location, count, transpose, value) + ccall((:glUniformMatrix3x4dv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) +end + +function glUniformMatrix4x2dv(location, count, transpose, value) + ccall((:glUniformMatrix4x2dv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) +end + +function glUniformMatrix4x3dv(location, count, transpose, value) + ccall((:glUniformMatrix4x3dv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) +end + +function glGetUniformdv(program, location, params) + ccall((:glGetUniformdv, libgl), Cvoid, (GLuint, GLint, Ptr{GLdouble}), program, location, params) +end + +function glGetSubroutineUniformLocation(program, shadertype, name) + ccall((:glGetSubroutineUniformLocation, libgl), GLint, (GLuint, GLenum, Ptr{GLchar}), program, shadertype, name) +end + +function glGetSubroutineIndex(program, shadertype, name) + ccall((:glGetSubroutineIndex, libgl), GLuint, (GLuint, GLenum, Ptr{GLchar}), program, shadertype, name) +end + +function glGetActiveSubroutineUniformiv(program, shadertype, index, pname, values) + ccall((:glGetActiveSubroutineUniformiv, libgl), Cvoid, (GLuint, GLenum, GLuint, GLenum, Ptr{GLint}), program, shadertype, index, pname, values) +end + +function glGetActiveSubroutineUniformName(program, shadertype, index, bufSize, length, name) + ccall((:glGetActiveSubroutineUniformName, libgl), Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), program, shadertype, index, bufSize, length, name) +end + +function glGetActiveSubroutineName(program, shadertype, index, bufSize, length, name) + ccall((:glGetActiveSubroutineName, libgl), Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), program, shadertype, index, bufSize, length, name) +end + +function glUniformSubroutinesuiv(shadertype, count, indices) + ccall((:glUniformSubroutinesuiv, libgl), Cvoid, (GLenum, GLsizei, Ptr{GLuint}), shadertype, count, indices) +end + +function glGetUniformSubroutineuiv(shadertype, location, params) + ccall((:glGetUniformSubroutineuiv, libgl), Cvoid, (GLenum, GLint, Ptr{GLuint}), shadertype, location, params) +end + +function glGetProgramStageiv(program, shadertype, pname, values) + ccall((:glGetProgramStageiv, libgl), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), program, shadertype, pname, values) +end + +function glPatchParameteri(pname, value) + ccall((:glPatchParameteri, libgl), Cvoid, (GLenum, GLint), pname, value) +end + +function glPatchParameterfv(pname, values) + ccall((:glPatchParameterfv, libgl), Cvoid, (GLenum, Ptr{GLfloat}), pname, values) +end + +function glBindTransformFeedback(target, id) + ccall((:glBindTransformFeedback, libgl), Cvoid, (GLenum, GLuint), target, id) +end + +function glDeleteTransformFeedbacks(n, ids) + ccall((:glDeleteTransformFeedbacks, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, ids) +end + +function glGenTransformFeedbacks(n, ids) + ccall((:glGenTransformFeedbacks, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, ids) +end + +function glIsTransformFeedback(id) + ccall((:glIsTransformFeedback, libgl), GLboolean, (GLuint,), id) +end + +function glPauseTransformFeedback() + ccall((:glPauseTransformFeedback, libgl), Cvoid, ()) +end + +function glResumeTransformFeedback() + ccall((:glResumeTransformFeedback, libgl), Cvoid, ()) +end + +function glDrawTransformFeedback(mode, id) + ccall((:glDrawTransformFeedback, libgl), Cvoid, (GLenum, GLuint), mode, id) +end + +function glDrawTransformFeedbackStream(mode, id, stream) + ccall((:glDrawTransformFeedbackStream, libgl), Cvoid, (GLenum, GLuint, GLuint), mode, id, stream) +end + +function glBeginQueryIndexed(target, index, id) + ccall((:glBeginQueryIndexed, libgl), Cvoid, (GLenum, GLuint, GLuint), target, index, id) +end + +function glEndQueryIndexed(target, index) + ccall((:glEndQueryIndexed, libgl), Cvoid, (GLenum, GLuint), target, index) +end + +function glGetQueryIndexediv(target, index, pname, params) + ccall((:glGetQueryIndexediv, libgl), Cvoid, (GLenum, GLuint, GLenum, Ptr{GLint}), target, index, pname, params) +end + +# typedef void ( APIENTRYP PFNGLRELEASESHADERCOMPILERPROC ) ( void ) +const PFNGLRELEASESHADERCOMPILERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSHADERBINARYPROC ) ( GLsizei count , const GLuint * shaders , GLenum binaryFormat , const void * binary , GLsizei length ) +const PFNGLSHADERBINARYPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETSHADERPRECISIONFORMATPROC ) ( GLenum shadertype , GLenum precisiontype , GLint * range , GLint * precision ) +const PFNGLGETSHADERPRECISIONFORMATPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDEPTHRANGEFPROC ) ( GLfloat n , GLfloat f ) +const PFNGLDEPTHRANGEFPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCLEARDEPTHFPROC ) ( GLfloat d ) +const PFNGLCLEARDEPTHFPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETPROGRAMBINARYPROC ) ( GLuint program , GLsizei bufSize , GLsizei * length , GLenum * binaryFormat , void * binary ) +const PFNGLGETPROGRAMBINARYPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMBINARYPROC ) ( GLuint program , GLenum binaryFormat , const void * binary , GLsizei length ) +const PFNGLPROGRAMBINARYPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMPARAMETERIPROC ) ( GLuint program , GLenum pname , GLint value ) +const PFNGLPROGRAMPARAMETERIPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUSEPROGRAMSTAGESPROC ) ( GLuint pipeline , GLbitfield stages , GLuint program ) +const PFNGLUSEPROGRAMSTAGESPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLACTIVESHADERPROGRAMPROC ) ( GLuint pipeline , GLuint program ) +const PFNGLACTIVESHADERPROGRAMPROC = Ptr{Cvoid} + +# typedef GLuint ( APIENTRYP PFNGLCREATESHADERPROGRAMVPROC ) ( GLenum type , GLsizei count , const GLchar * const * strings ) +const PFNGLCREATESHADERPROGRAMVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBINDPROGRAMPIPELINEPROC ) ( GLuint pipeline ) +const PFNGLBINDPROGRAMPIPELINEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDELETEPROGRAMPIPELINESPROC ) ( GLsizei n , const GLuint * pipelines ) +const PFNGLDELETEPROGRAMPIPELINESPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGENPROGRAMPIPELINESPROC ) ( GLsizei n , GLuint * pipelines ) +const PFNGLGENPROGRAMPIPELINESPROC = Ptr{Cvoid} + +# typedef GLboolean ( APIENTRYP PFNGLISPROGRAMPIPELINEPROC ) ( GLuint pipeline ) +const PFNGLISPROGRAMPIPELINEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETPROGRAMPIPELINEIVPROC ) ( GLuint pipeline , GLenum pname , GLint * params ) +const PFNGLGETPROGRAMPIPELINEIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM1IPROC ) ( GLuint program , GLint location , GLint v0 ) +const PFNGLPROGRAMUNIFORM1IPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM1IVPROC ) ( GLuint program , GLint location , GLsizei count , const GLint * value ) +const PFNGLPROGRAMUNIFORM1IVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM1FPROC ) ( GLuint program , GLint location , GLfloat v0 ) +const PFNGLPROGRAMUNIFORM1FPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM1FVPROC ) ( GLuint program , GLint location , GLsizei count , const GLfloat * value ) +const PFNGLPROGRAMUNIFORM1FVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM1DPROC ) ( GLuint program , GLint location , GLdouble v0 ) +const PFNGLPROGRAMUNIFORM1DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM1DVPROC ) ( GLuint program , GLint location , GLsizei count , const GLdouble * value ) +const PFNGLPROGRAMUNIFORM1DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM1UIPROC ) ( GLuint program , GLint location , GLuint v0 ) +const PFNGLPROGRAMUNIFORM1UIPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM1UIVPROC ) ( GLuint program , GLint location , GLsizei count , const GLuint * value ) +const PFNGLPROGRAMUNIFORM1UIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM2IPROC ) ( GLuint program , GLint location , GLint v0 , GLint v1 ) +const PFNGLPROGRAMUNIFORM2IPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM2IVPROC ) ( GLuint program , GLint location , GLsizei count , const GLint * value ) +const PFNGLPROGRAMUNIFORM2IVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM2FPROC ) ( GLuint program , GLint location , GLfloat v0 , GLfloat v1 ) +const PFNGLPROGRAMUNIFORM2FPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM2FVPROC ) ( GLuint program , GLint location , GLsizei count , const GLfloat * value ) +const PFNGLPROGRAMUNIFORM2FVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM2DPROC ) ( GLuint program , GLint location , GLdouble v0 , GLdouble v1 ) +const PFNGLPROGRAMUNIFORM2DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM2DVPROC ) ( GLuint program , GLint location , GLsizei count , const GLdouble * value ) +const PFNGLPROGRAMUNIFORM2DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM2UIPROC ) ( GLuint program , GLint location , GLuint v0 , GLuint v1 ) +const PFNGLPROGRAMUNIFORM2UIPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM2UIVPROC ) ( GLuint program , GLint location , GLsizei count , const GLuint * value ) +const PFNGLPROGRAMUNIFORM2UIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM3IPROC ) ( GLuint program , GLint location , GLint v0 , GLint v1 , GLint v2 ) +const PFNGLPROGRAMUNIFORM3IPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM3IVPROC ) ( GLuint program , GLint location , GLsizei count , const GLint * value ) +const PFNGLPROGRAMUNIFORM3IVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM3FPROC ) ( GLuint program , GLint location , GLfloat v0 , GLfloat v1 , GLfloat v2 ) +const PFNGLPROGRAMUNIFORM3FPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM3FVPROC ) ( GLuint program , GLint location , GLsizei count , const GLfloat * value ) +const PFNGLPROGRAMUNIFORM3FVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM3DPROC ) ( GLuint program , GLint location , GLdouble v0 , GLdouble v1 , GLdouble v2 ) +const PFNGLPROGRAMUNIFORM3DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM3DVPROC ) ( GLuint program , GLint location , GLsizei count , const GLdouble * value ) +const PFNGLPROGRAMUNIFORM3DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM3UIPROC ) ( GLuint program , GLint location , GLuint v0 , GLuint v1 , GLuint v2 ) +const PFNGLPROGRAMUNIFORM3UIPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM3UIVPROC ) ( GLuint program , GLint location , GLsizei count , const GLuint * value ) +const PFNGLPROGRAMUNIFORM3UIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM4IPROC ) ( GLuint program , GLint location , GLint v0 , GLint v1 , GLint v2 , GLint v3 ) +const PFNGLPROGRAMUNIFORM4IPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM4IVPROC ) ( GLuint program , GLint location , GLsizei count , const GLint * value ) +const PFNGLPROGRAMUNIFORM4IVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM4FPROC ) ( GLuint program , GLint location , GLfloat v0 , GLfloat v1 , GLfloat v2 , GLfloat v3 ) +const PFNGLPROGRAMUNIFORM4FPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM4FVPROC ) ( GLuint program , GLint location , GLsizei count , const GLfloat * value ) +const PFNGLPROGRAMUNIFORM4FVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM4DPROC ) ( GLuint program , GLint location , GLdouble v0 , GLdouble v1 , GLdouble v2 , GLdouble v3 ) +const PFNGLPROGRAMUNIFORM4DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM4DVPROC ) ( GLuint program , GLint location , GLsizei count , const GLdouble * value ) +const PFNGLPROGRAMUNIFORM4DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM4UIPROC ) ( GLuint program , GLint location , GLuint v0 , GLuint v1 , GLuint v2 , GLuint v3 ) +const PFNGLPROGRAMUNIFORM4UIPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM4UIVPROC ) ( GLuint program , GLint location , GLsizei count , const GLuint * value ) +const PFNGLPROGRAMUNIFORM4UIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLfloat * value ) +const PFNGLPROGRAMUNIFORMMATRIX2FVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLfloat * value ) +const PFNGLPROGRAMUNIFORMMATRIX3FVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLfloat * value ) +const PFNGLPROGRAMUNIFORMMATRIX4FVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2DVPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLdouble * value ) +const PFNGLPROGRAMUNIFORMMATRIX2DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3DVPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLdouble * value ) +const PFNGLPROGRAMUNIFORMMATRIX3DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4DVPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLdouble * value ) +const PFNGLPROGRAMUNIFORMMATRIX4DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLfloat * value ) +const PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLfloat * value ) +const PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLfloat * value ) +const PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLfloat * value ) +const PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLfloat * value ) +const PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLfloat * value ) +const PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLdouble * value ) +const PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLdouble * value ) +const PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLdouble * value ) +const PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLdouble * value ) +const PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLdouble * value ) +const PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLdouble * value ) +const PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEPROC ) ( GLuint pipeline ) +const PFNGLVALIDATEPROGRAMPIPELINEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGPROC ) ( GLuint pipeline , GLsizei bufSize , GLsizei * length , GLchar * infoLog ) +const PFNGLGETPROGRAMPIPELINEINFOLOGPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBL1DPROC ) ( GLuint index , GLdouble x ) +const PFNGLVERTEXATTRIBL1DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBL2DPROC ) ( GLuint index , GLdouble x , GLdouble y ) +const PFNGLVERTEXATTRIBL2DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBL3DPROC ) ( GLuint index , GLdouble x , GLdouble y , GLdouble z ) +const PFNGLVERTEXATTRIBL3DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBL4DPROC ) ( GLuint index , GLdouble x , GLdouble y , GLdouble z , GLdouble w ) +const PFNGLVERTEXATTRIBL4DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBL1DVPROC ) ( GLuint index , const GLdouble * v ) +const PFNGLVERTEXATTRIBL1DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBL2DVPROC ) ( GLuint index , const GLdouble * v ) +const PFNGLVERTEXATTRIBL2DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBL3DVPROC ) ( GLuint index , const GLdouble * v ) +const PFNGLVERTEXATTRIBL3DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBL4DVPROC ) ( GLuint index , const GLdouble * v ) +const PFNGLVERTEXATTRIBL4DVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBLPOINTERPROC ) ( GLuint index , GLint size , GLenum type , GLsizei stride , const void * pointer ) +const PFNGLVERTEXATTRIBLPOINTERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETVERTEXATTRIBLDVPROC ) ( GLuint index , GLenum pname , GLdouble * params ) +const PFNGLGETVERTEXATTRIBLDVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVIEWPORTARRAYVPROC ) ( GLuint first , GLsizei count , const GLfloat * v ) +const PFNGLVIEWPORTARRAYVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVIEWPORTINDEXEDFPROC ) ( GLuint index , GLfloat x , GLfloat y , GLfloat w , GLfloat h ) +const PFNGLVIEWPORTINDEXEDFPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVIEWPORTINDEXEDFVPROC ) ( GLuint index , const GLfloat * v ) +const PFNGLVIEWPORTINDEXEDFVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSCISSORARRAYVPROC ) ( GLuint first , GLsizei count , const GLint * v ) +const PFNGLSCISSORARRAYVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSCISSORINDEXEDPROC ) ( GLuint index , GLint left , GLint bottom , GLsizei width , GLsizei height ) +const PFNGLSCISSORINDEXEDPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSCISSORINDEXEDVPROC ) ( GLuint index , const GLint * v ) +const PFNGLSCISSORINDEXEDVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDEPTHRANGEARRAYVPROC ) ( GLuint first , GLsizei count , const GLdouble * v ) +const PFNGLDEPTHRANGEARRAYVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDEPTHRANGEINDEXEDPROC ) ( GLuint index , GLdouble n , GLdouble f ) +const PFNGLDEPTHRANGEINDEXEDPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETFLOATI_VPROC ) ( GLenum target , GLuint index , GLfloat * data ) +const PFNGLGETFLOATI_VPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETDOUBLEI_VPROC ) ( GLenum target , GLuint index , GLdouble * data ) +const PFNGLGETDOUBLEI_VPROC = Ptr{Cvoid} + +function glReleaseShaderCompiler() + ccall((:glReleaseShaderCompiler, libgl), Cvoid, ()) +end + +function glShaderBinary(count, shaders, binaryFormat, binary, length) + ccall((:glShaderBinary, libgl), Cvoid, (GLsizei, Ptr{GLuint}, GLenum, Ptr{Cvoid}, GLsizei), count, shaders, binaryFormat, binary, length) +end + +function glGetShaderPrecisionFormat(shadertype, precisiontype, range, precision) + ccall((:glGetShaderPrecisionFormat, libgl), Cvoid, (GLenum, GLenum, Ptr{GLint}, Ptr{GLint}), shadertype, precisiontype, range, precision) +end + +function glDepthRangef(n, f) + ccall((:glDepthRangef, libgl), Cvoid, (GLfloat, GLfloat), n, f) +end + +function glClearDepthf(d) + ccall((:glClearDepthf, libgl), Cvoid, (GLfloat,), d) +end + +function glGetProgramBinary(program, bufSize, length, binaryFormat, binary) + ccall((:glGetProgramBinary, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLenum}, Ptr{Cvoid}), program, bufSize, length, binaryFormat, binary) +end + +function glProgramBinary(program, binaryFormat, binary, length) + ccall((:glProgramBinary, libgl), Cvoid, (GLuint, GLenum, Ptr{Cvoid}, GLsizei), program, binaryFormat, binary, length) +end + +function glProgramParameteri(program, pname, value) + ccall((:glProgramParameteri, libgl), Cvoid, (GLuint, GLenum, GLint), program, pname, value) +end + +function glUseProgramStages(pipeline, stages, program) + ccall((:glUseProgramStages, libgl), Cvoid, (GLuint, GLbitfield, GLuint), pipeline, stages, program) +end + +function glActiveShaderProgram(pipeline, program) + ccall((:glActiveShaderProgram, libgl), Cvoid, (GLuint, GLuint), pipeline, program) +end + +function glCreateShaderProgramv(type, count, strings) + ccall((:glCreateShaderProgramv, libgl), GLuint, (GLenum, GLsizei, Ptr{Ptr{GLchar}}), type, count, strings) +end + +function glBindProgramPipeline(pipeline) + ccall((:glBindProgramPipeline, libgl), Cvoid, (GLuint,), pipeline) +end + +function glDeleteProgramPipelines(n, pipelines) + ccall((:glDeleteProgramPipelines, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, pipelines) +end + +function glGenProgramPipelines(n, pipelines) + ccall((:glGenProgramPipelines, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, pipelines) +end + +function glIsProgramPipeline(pipeline) + ccall((:glIsProgramPipeline, libgl), GLboolean, (GLuint,), pipeline) +end + +function glGetProgramPipelineiv(pipeline, pname, params) + ccall((:glGetProgramPipelineiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), pipeline, pname, params) +end + +function glProgramUniform1i(program, location, v0) + ccall((:glProgramUniform1i, libgl), Cvoid, (GLuint, GLint, GLint), program, location, v0) +end + +function glProgramUniform1iv(program, location, count, value) + ccall((:glProgramUniform1iv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) +end + +function glProgramUniform1f(program, location, v0) + ccall((:glProgramUniform1f, libgl), Cvoid, (GLuint, GLint, GLfloat), program, location, v0) +end + +function glProgramUniform1fv(program, location, count, value) + ccall((:glProgramUniform1fv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) +end + +function glProgramUniform1d(program, location, v0) + ccall((:glProgramUniform1d, libgl), Cvoid, (GLuint, GLint, GLdouble), program, location, v0) +end + +function glProgramUniform1dv(program, location, count, value) + ccall((:glProgramUniform1dv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) +end + +function glProgramUniform1ui(program, location, v0) + ccall((:glProgramUniform1ui, libgl), Cvoid, (GLuint, GLint, GLuint), program, location, v0) +end + +function glProgramUniform1uiv(program, location, count, value) + ccall((:glProgramUniform1uiv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) +end + +function glProgramUniform2i(program, location, v0, v1) + ccall((:glProgramUniform2i, libgl), Cvoid, (GLuint, GLint, GLint, GLint), program, location, v0, v1) +end + +function glProgramUniform2iv(program, location, count, value) + ccall((:glProgramUniform2iv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) +end + +function glProgramUniform2f(program, location, v0, v1) + ccall((:glProgramUniform2f, libgl), Cvoid, (GLuint, GLint, GLfloat, GLfloat), program, location, v0, v1) +end + +function glProgramUniform2fv(program, location, count, value) + ccall((:glProgramUniform2fv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) +end + +function glProgramUniform2d(program, location, v0, v1) + ccall((:glProgramUniform2d, libgl), Cvoid, (GLuint, GLint, GLdouble, GLdouble), program, location, v0, v1) +end + +function glProgramUniform2dv(program, location, count, value) + ccall((:glProgramUniform2dv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) +end + +function glProgramUniform2ui(program, location, v0, v1) + ccall((:glProgramUniform2ui, libgl), Cvoid, (GLuint, GLint, GLuint, GLuint), program, location, v0, v1) +end + +function glProgramUniform2uiv(program, location, count, value) + ccall((:glProgramUniform2uiv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) +end + +function glProgramUniform3i(program, location, v0, v1, v2) + ccall((:glProgramUniform3i, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLint), program, location, v0, v1, v2) +end + +function glProgramUniform3iv(program, location, count, value) + ccall((:glProgramUniform3iv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) +end + +function glProgramUniform3f(program, location, v0, v1, v2) + ccall((:glProgramUniform3f, libgl), Cvoid, (GLuint, GLint, GLfloat, GLfloat, GLfloat), program, location, v0, v1, v2) +end + +function glProgramUniform3fv(program, location, count, value) + ccall((:glProgramUniform3fv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) +end + +function glProgramUniform3d(program, location, v0, v1, v2) + ccall((:glProgramUniform3d, libgl), Cvoid, (GLuint, GLint, GLdouble, GLdouble, GLdouble), program, location, v0, v1, v2) +end + +function glProgramUniform3dv(program, location, count, value) + ccall((:glProgramUniform3dv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) +end + +function glProgramUniform3ui(program, location, v0, v1, v2) + ccall((:glProgramUniform3ui, libgl), Cvoid, (GLuint, GLint, GLuint, GLuint, GLuint), program, location, v0, v1, v2) +end + +function glProgramUniform3uiv(program, location, count, value) + ccall((:glProgramUniform3uiv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) +end + +function glProgramUniform4i(program, location, v0, v1, v2, v3) + ccall((:glProgramUniform4i, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLint), program, location, v0, v1, v2, v3) +end + +function glProgramUniform4iv(program, location, count, value) + ccall((:glProgramUniform4iv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) +end + +function glProgramUniform4f(program, location, v0, v1, v2, v3) + ccall((:glProgramUniform4f, libgl), Cvoid, (GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat), program, location, v0, v1, v2, v3) +end + +function glProgramUniform4fv(program, location, count, value) + ccall((:glProgramUniform4fv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) +end + +function glProgramUniform4d(program, location, v0, v1, v2, v3) + ccall((:glProgramUniform4d, libgl), Cvoid, (GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble), program, location, v0, v1, v2, v3) +end + +function glProgramUniform4dv(program, location, count, value) + ccall((:glProgramUniform4dv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) +end + +function glProgramUniform4ui(program, location, v0, v1, v2, v3) + ccall((:glProgramUniform4ui, libgl), Cvoid, (GLuint, GLint, GLuint, GLuint, GLuint, GLuint), program, location, v0, v1, v2, v3) +end + +function glProgramUniform4uiv(program, location, count, value) + ccall((:glProgramUniform4uiv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) +end + +function glProgramUniformMatrix2fv(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix2fv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) +end + +function glProgramUniformMatrix3fv(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix3fv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) +end + +function glProgramUniformMatrix4fv(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix4fv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) +end + +function glProgramUniformMatrix2dv(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix2dv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) +end + +function glProgramUniformMatrix3dv(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix3dv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) +end + +function glProgramUniformMatrix4dv(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix4dv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) +end + +function glProgramUniformMatrix2x3fv(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix2x3fv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) +end + +function glProgramUniformMatrix3x2fv(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix3x2fv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) +end + +function glProgramUniformMatrix2x4fv(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix2x4fv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) +end + +function glProgramUniformMatrix4x2fv(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix4x2fv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) +end + +function glProgramUniformMatrix3x4fv(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix3x4fv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) +end + +function glProgramUniformMatrix4x3fv(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix4x3fv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) +end + +function glProgramUniformMatrix2x3dv(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix2x3dv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) +end + +function glProgramUniformMatrix3x2dv(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix3x2dv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) +end + +function glProgramUniformMatrix2x4dv(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix2x4dv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) +end + +function glProgramUniformMatrix4x2dv(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix4x2dv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) +end + +function glProgramUniformMatrix3x4dv(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix3x4dv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) +end + +function glProgramUniformMatrix4x3dv(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix4x3dv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) +end + +function glValidateProgramPipeline(pipeline) + ccall((:glValidateProgramPipeline, libgl), Cvoid, (GLuint,), pipeline) +end + +function glGetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog) + ccall((:glGetProgramPipelineInfoLog, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), pipeline, bufSize, length, infoLog) +end + +function glVertexAttribL1d(index, x) + ccall((:glVertexAttribL1d, libgl), Cvoid, (GLuint, GLdouble), index, x) +end + +function glVertexAttribL2d(index, x, y) + ccall((:glVertexAttribL2d, libgl), Cvoid, (GLuint, GLdouble, GLdouble), index, x, y) +end + +function glVertexAttribL3d(index, x, y, z) + ccall((:glVertexAttribL3d, libgl), Cvoid, (GLuint, GLdouble, GLdouble, GLdouble), index, x, y, z) +end + +function glVertexAttribL4d(index, x, y, z, w) + ccall((:glVertexAttribL4d, libgl), Cvoid, (GLuint, GLdouble, GLdouble, GLdouble, GLdouble), index, x, y, z, w) +end + +function glVertexAttribL1dv(index, v) + ccall((:glVertexAttribL1dv, libgl), Cvoid, (GLuint, Ptr{GLdouble}), index, v) +end + +function glVertexAttribL2dv(index, v) + ccall((:glVertexAttribL2dv, libgl), Cvoid, (GLuint, Ptr{GLdouble}), index, v) +end + +function glVertexAttribL3dv(index, v) + ccall((:glVertexAttribL3dv, libgl), Cvoid, (GLuint, Ptr{GLdouble}), index, v) +end + +function glVertexAttribL4dv(index, v) + ccall((:glVertexAttribL4dv, libgl), Cvoid, (GLuint, Ptr{GLdouble}), index, v) +end + +function glVertexAttribLPointer(index, size, type, stride, pointer) + ccall((:glVertexAttribLPointer, libgl), Cvoid, (GLuint, GLint, GLenum, GLsizei, Ptr{Cvoid}), index, size, type, stride, pointer) +end + +function glGetVertexAttribLdv(index, pname, params) + ccall((:glGetVertexAttribLdv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLdouble}), index, pname, params) +end + +function glViewportArrayv(first, count, v) + ccall((:glViewportArrayv, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLfloat}), first, count, v) +end + +function glViewportIndexedf(index, x, y, w, h) + ccall((:glViewportIndexedf, libgl), Cvoid, (GLuint, GLfloat, GLfloat, GLfloat, GLfloat), index, x, y, w, h) +end + +function glViewportIndexedfv(index, v) + ccall((:glViewportIndexedfv, libgl), Cvoid, (GLuint, Ptr{GLfloat}), index, v) +end + +function glScissorArrayv(first, count, v) + ccall((:glScissorArrayv, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLint}), first, count, v) +end + +function glScissorIndexed(index, left, bottom, width, height) + ccall((:glScissorIndexed, libgl), Cvoid, (GLuint, GLint, GLint, GLsizei, GLsizei), index, left, bottom, width, height) +end + +function glScissorIndexedv(index, v) + ccall((:glScissorIndexedv, libgl), Cvoid, (GLuint, Ptr{GLint}), index, v) +end + +function glDepthRangeArrayv(first, count, v) + ccall((:glDepthRangeArrayv, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLdouble}), first, count, v) +end + +function glDepthRangeIndexed(index, n, f) + ccall((:glDepthRangeIndexed, libgl), Cvoid, (GLuint, GLdouble, GLdouble), index, n, f) +end + +function glGetFloati_v(target, index, data) + ccall((:glGetFloati_v, libgl), Cvoid, (GLenum, GLuint, Ptr{GLfloat}), target, index, data) +end + +function glGetDoublei_v(target, index, data) + ccall((:glGetDoublei_v, libgl), Cvoid, (GLenum, GLuint, Ptr{GLdouble}), target, index, data) +end + +# typedef void ( APIENTRYP PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC ) ( GLenum mode , GLint first , GLsizei count , GLsizei instancecount , GLuint baseinstance ) +const PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC ) ( GLenum mode , GLsizei count , GLenum type , const void * indices , GLsizei instancecount , GLuint baseinstance ) +const PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC ) ( GLenum mode , GLsizei count , GLenum type , const void * indices , GLsizei instancecount , GLint basevertex , GLuint baseinstance ) +const PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETINTERNALFORMATIVPROC ) ( GLenum target , GLenum internalformat , GLenum pname , GLsizei count , GLint * params ) +const PFNGLGETINTERNALFORMATIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC ) ( GLuint program , GLuint bufferIndex , GLenum pname , GLint * params ) +const PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBINDIMAGETEXTUREPROC ) ( GLuint unit , GLuint texture , GLint level , GLboolean layered , GLint layer , GLenum access , GLenum format ) +const PFNGLBINDIMAGETEXTUREPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMEMORYBARRIERPROC ) ( GLbitfield barriers ) +const PFNGLMEMORYBARRIERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXSTORAGE1DPROC ) ( GLenum target , GLsizei levels , GLenum internalformat , GLsizei width ) +const PFNGLTEXSTORAGE1DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXSTORAGE2DPROC ) ( GLenum target , GLsizei levels , GLenum internalformat , GLsizei width , GLsizei height ) +const PFNGLTEXSTORAGE2DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXSTORAGE3DPROC ) ( GLenum target , GLsizei levels , GLenum internalformat , GLsizei width , GLsizei height , GLsizei depth ) +const PFNGLTEXSTORAGE3DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC ) ( GLenum mode , GLuint id , GLsizei instancecount ) +const PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC ) ( GLenum mode , GLuint id , GLuint stream , GLsizei instancecount ) +const PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC = Ptr{Cvoid} + +function glDrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance) + ccall((:glDrawArraysInstancedBaseInstance, libgl), Cvoid, (GLenum, GLint, GLsizei, GLsizei, GLuint), mode, first, count, instancecount, baseinstance) +end + +function glDrawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance) + ccall((:glDrawElementsInstancedBaseInstance, libgl), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLsizei, GLuint), mode, count, type, indices, instancecount, baseinstance) +end + +function glDrawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance) + ccall((:glDrawElementsInstancedBaseVertexBaseInstance, libgl), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLsizei, GLint, GLuint), mode, count, type, indices, instancecount, basevertex, baseinstance) +end + +function glGetInternalformativ(target, internalformat, pname, count, params) + ccall((:glGetInternalformativ, libgl), Cvoid, (GLenum, GLenum, GLenum, GLsizei, Ptr{GLint}), target, internalformat, pname, count, params) +end + +function glGetActiveAtomicCounterBufferiv(program, bufferIndex, pname, params) + ccall((:glGetActiveAtomicCounterBufferiv, libgl), Cvoid, (GLuint, GLuint, GLenum, Ptr{GLint}), program, bufferIndex, pname, params) +end + +function glBindImageTexture(unit, texture, level, layered, layer, access, format) + ccall((:glBindImageTexture, libgl), Cvoid, (GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLenum), unit, texture, level, layered, layer, access, format) +end + +function glMemoryBarrier(barriers) + ccall((:glMemoryBarrier, libgl), Cvoid, (GLbitfield,), barriers) +end + +function glTexStorage1D(target, levels, internalformat, width) + ccall((:glTexStorage1D, libgl), Cvoid, (GLenum, GLsizei, GLenum, GLsizei), target, levels, internalformat, width) +end + +function glTexStorage2D(target, levels, internalformat, width, height) + ccall((:glTexStorage2D, libgl), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei), target, levels, internalformat, width, height) +end + +function glTexStorage3D(target, levels, internalformat, width, height, depth) + ccall((:glTexStorage3D, libgl), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei), target, levels, internalformat, width, height, depth) +end + +function glDrawTransformFeedbackInstanced(mode, id, instancecount) + ccall((:glDrawTransformFeedbackInstanced, libgl), Cvoid, (GLenum, GLuint, GLsizei), mode, id, instancecount) +end + +function glDrawTransformFeedbackStreamInstanced(mode, id, stream, instancecount) + ccall((:glDrawTransformFeedbackStreamInstanced, libgl), Cvoid, (GLenum, GLuint, GLuint, GLsizei), mode, id, stream, instancecount) +end + +# typedef void ( APIENTRY * GLDEBUGPROC ) ( GLenum source , GLenum type , GLuint id , GLenum severity , GLsizei length , const GLchar * message , const void * userParam ) +const GLDEBUGPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCLEARBUFFERDATAPROC ) ( GLenum target , GLenum internalformat , GLenum format , GLenum type , const void * data ) +const PFNGLCLEARBUFFERDATAPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCLEARBUFFERSUBDATAPROC ) ( GLenum target , GLenum internalformat , GLintptr offset , GLsizeiptr size , GLenum format , GLenum type , const void * data ) +const PFNGLCLEARBUFFERSUBDATAPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDISPATCHCOMPUTEPROC ) ( GLuint num_groups_x , GLuint num_groups_y , GLuint num_groups_z ) +const PFNGLDISPATCHCOMPUTEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDISPATCHCOMPUTEINDIRECTPROC ) ( GLintptr indirect ) +const PFNGLDISPATCHCOMPUTEINDIRECTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOPYIMAGESUBDATAPROC ) ( GLuint srcName , GLenum srcTarget , GLint srcLevel , GLint srcX , GLint srcY , GLint srcZ , GLuint dstName , GLenum dstTarget , GLint dstLevel , GLint dstX , GLint dstY , GLint dstZ , GLsizei srcWidth , GLsizei srcHeight , GLsizei srcDepth ) +const PFNGLCOPYIMAGESUBDATAPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLFRAMEBUFFERPARAMETERIPROC ) ( GLenum target , GLenum pname , GLint param ) +const PFNGLFRAMEBUFFERPARAMETERIPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVPROC ) ( GLenum target , GLenum pname , GLint * params ) +const PFNGLGETFRAMEBUFFERPARAMETERIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETINTERNALFORMATI64VPROC ) ( GLenum target , GLenum internalformat , GLenum pname , GLsizei count , GLint64 * params ) +const PFNGLGETINTERNALFORMATI64VPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLINVALIDATETEXSUBIMAGEPROC ) ( GLuint texture , GLint level , GLint xoffset , GLint yoffset , GLint zoffset , GLsizei width , GLsizei height , GLsizei depth ) +const PFNGLINVALIDATETEXSUBIMAGEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLINVALIDATETEXIMAGEPROC ) ( GLuint texture , GLint level ) +const PFNGLINVALIDATETEXIMAGEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLINVALIDATEBUFFERSUBDATAPROC ) ( GLuint buffer , GLintptr offset , GLsizeiptr length ) +const PFNGLINVALIDATEBUFFERSUBDATAPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLINVALIDATEBUFFERDATAPROC ) ( GLuint buffer ) +const PFNGLINVALIDATEBUFFERDATAPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLINVALIDATEFRAMEBUFFERPROC ) ( GLenum target , GLsizei numAttachments , const GLenum * attachments ) +const PFNGLINVALIDATEFRAMEBUFFERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLINVALIDATESUBFRAMEBUFFERPROC ) ( GLenum target , GLsizei numAttachments , const GLenum * attachments , GLint x , GLint y , GLsizei width , GLsizei height ) +const PFNGLINVALIDATESUBFRAMEBUFFERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTPROC ) ( GLenum mode , const void * indirect , GLsizei drawcount , GLsizei stride ) +const PFNGLMULTIDRAWARRAYSINDIRECTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTPROC ) ( GLenum mode , GLenum type , const void * indirect , GLsizei drawcount , GLsizei stride ) +const PFNGLMULTIDRAWELEMENTSINDIRECTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETPROGRAMINTERFACEIVPROC ) ( GLuint program , GLenum programInterface , GLenum pname , GLint * params ) +const PFNGLGETPROGRAMINTERFACEIVPROC = Ptr{Cvoid} + +# typedef GLuint ( APIENTRYP PFNGLGETPROGRAMRESOURCEINDEXPROC ) ( GLuint program , GLenum programInterface , const GLchar * name ) +const PFNGLGETPROGRAMRESOURCEINDEXPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETPROGRAMRESOURCENAMEPROC ) ( GLuint program , GLenum programInterface , GLuint index , GLsizei bufSize , GLsizei * length , GLchar * name ) +const PFNGLGETPROGRAMRESOURCENAMEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETPROGRAMRESOURCEIVPROC ) ( GLuint program , GLenum programInterface , GLuint index , GLsizei propCount , const GLenum * props , GLsizei count , GLsizei * length , GLint * params ) +const PFNGLGETPROGRAMRESOURCEIVPROC = Ptr{Cvoid} + +# typedef GLint ( APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONPROC ) ( GLuint program , GLenum programInterface , const GLchar * name ) +const PFNGLGETPROGRAMRESOURCELOCATIONPROC = Ptr{Cvoid} + +# typedef GLint ( APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC ) ( GLuint program , GLenum programInterface , const GLchar * name ) +const PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSHADERSTORAGEBLOCKBINDINGPROC ) ( GLuint program , GLuint storageBlockIndex , GLuint storageBlockBinding ) +const PFNGLSHADERSTORAGEBLOCKBINDINGPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXBUFFERRANGEPROC ) ( GLenum target , GLenum internalformat , GLuint buffer , GLintptr offset , GLsizeiptr size ) +const PFNGLTEXBUFFERRANGEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXSTORAGE2DMULTISAMPLEPROC ) ( GLenum target , GLsizei samples , GLenum internalformat , GLsizei width , GLsizei height , GLboolean fixedsamplelocations ) +const PFNGLTEXSTORAGE2DMULTISAMPLEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXSTORAGE3DMULTISAMPLEPROC ) ( GLenum target , GLsizei samples , GLenum internalformat , GLsizei width , GLsizei height , GLsizei depth , GLboolean fixedsamplelocations ) +const PFNGLTEXSTORAGE3DMULTISAMPLEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTUREVIEWPROC ) ( GLuint texture , GLenum target , GLuint origtexture , GLenum internalformat , GLuint minlevel , GLuint numlevels , GLuint minlayer , GLuint numlayers ) +const PFNGLTEXTUREVIEWPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBINDVERTEXBUFFERPROC ) ( GLuint bindingindex , GLuint buffer , GLintptr offset , GLsizei stride ) +const PFNGLBINDVERTEXBUFFERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBFORMATPROC ) ( GLuint attribindex , GLint size , GLenum type , GLboolean normalized , GLuint relativeoffset ) +const PFNGLVERTEXATTRIBFORMATPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBIFORMATPROC ) ( GLuint attribindex , GLint size , GLenum type , GLuint relativeoffset ) +const PFNGLVERTEXATTRIBIFORMATPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBLFORMATPROC ) ( GLuint attribindex , GLint size , GLenum type , GLuint relativeoffset ) +const PFNGLVERTEXATTRIBLFORMATPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBBINDINGPROC ) ( GLuint attribindex , GLuint bindingindex ) +const PFNGLVERTEXATTRIBBINDINGPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXBINDINGDIVISORPROC ) ( GLuint bindingindex , GLuint divisor ) +const PFNGLVERTEXBINDINGDIVISORPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDEBUGMESSAGECONTROLPROC ) ( GLenum source , GLenum type , GLenum severity , GLsizei count , const GLuint * ids , GLboolean enabled ) +const PFNGLDEBUGMESSAGECONTROLPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDEBUGMESSAGEINSERTPROC ) ( GLenum source , GLenum type , GLuint id , GLenum severity , GLsizei length , const GLchar * buf ) +const PFNGLDEBUGMESSAGEINSERTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDEBUGMESSAGECALLBACKPROC ) ( GLDEBUGPROC callback , const void * userParam ) +const PFNGLDEBUGMESSAGECALLBACKPROC = Ptr{Cvoid} + +# typedef GLuint ( APIENTRYP PFNGLGETDEBUGMESSAGELOGPROC ) ( GLuint count , GLsizei bufSize , GLenum * sources , GLenum * types , GLuint * ids , GLenum * severities , GLsizei * lengths , GLchar * messageLog ) +const PFNGLGETDEBUGMESSAGELOGPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPUSHDEBUGGROUPPROC ) ( GLenum source , GLuint id , GLsizei length , const GLchar * message ) +const PFNGLPUSHDEBUGGROUPPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPOPDEBUGGROUPPROC ) ( void ) +const PFNGLPOPDEBUGGROUPPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLOBJECTLABELPROC ) ( GLenum identifier , GLuint name , GLsizei length , const GLchar * label ) +const PFNGLOBJECTLABELPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETOBJECTLABELPROC ) ( GLenum identifier , GLuint name , GLsizei bufSize , GLsizei * length , GLchar * label ) +const PFNGLGETOBJECTLABELPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLOBJECTPTRLABELPROC ) ( const void * ptr , GLsizei length , const GLchar * label ) +const PFNGLOBJECTPTRLABELPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETOBJECTPTRLABELPROC ) ( const void * ptr , GLsizei bufSize , GLsizei * length , GLchar * label ) +const PFNGLGETOBJECTPTRLABELPROC = Ptr{Cvoid} + +function glClearBufferData(target, internalformat, format, type, data) + ccall((:glClearBufferData, libgl), Cvoid, (GLenum, GLenum, GLenum, GLenum, Ptr{Cvoid}), target, internalformat, format, type, data) +end + +function glClearBufferSubData(target, internalformat, offset, size, format, type, data) + ccall((:glClearBufferSubData, libgl), Cvoid, (GLenum, GLenum, GLintptr, GLsizeiptr, GLenum, GLenum, Ptr{Cvoid}), target, internalformat, offset, size, format, type, data) +end + +function glDispatchCompute(num_groups_x, num_groups_y, num_groups_z) + ccall((:glDispatchCompute, libgl), Cvoid, (GLuint, GLuint, GLuint), num_groups_x, num_groups_y, num_groups_z) +end + +function glDispatchComputeIndirect(indirect) + ccall((:glDispatchComputeIndirect, libgl), Cvoid, (GLintptr,), indirect) +end + +function glCopyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth) + ccall((:glCopyImageSubData, libgl), Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei), srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth) +end + +function glFramebufferParameteri(target, pname, param) + ccall((:glFramebufferParameteri, libgl), Cvoid, (GLenum, GLenum, GLint), target, pname, param) +end + +function glGetFramebufferParameteriv(target, pname, params) + ccall((:glGetFramebufferParameteriv, libgl), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) +end + +function glGetInternalformati64v(target, internalformat, pname, count, params) + ccall((:glGetInternalformati64v, libgl), Cvoid, (GLenum, GLenum, GLenum, GLsizei, Ptr{GLint64}), target, internalformat, pname, count, params) +end + +function glInvalidateTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth) + ccall((:glInvalidateTexSubImage, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei), texture, level, xoffset, yoffset, zoffset, width, height, depth) +end + +function glInvalidateTexImage(texture, level) + ccall((:glInvalidateTexImage, libgl), Cvoid, (GLuint, GLint), texture, level) +end + +function glInvalidateBufferSubData(buffer, offset, length) + ccall((:glInvalidateBufferSubData, libgl), Cvoid, (GLuint, GLintptr, GLsizeiptr), buffer, offset, length) +end + +function glInvalidateBufferData(buffer) + ccall((:glInvalidateBufferData, libgl), Cvoid, (GLuint,), buffer) +end + +function glInvalidateFramebuffer(target, numAttachments, attachments) + ccall((:glInvalidateFramebuffer, libgl), Cvoid, (GLenum, GLsizei, Ptr{GLenum}), target, numAttachments, attachments) +end + +function glInvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height) + ccall((:glInvalidateSubFramebuffer, libgl), Cvoid, (GLenum, GLsizei, Ptr{GLenum}, GLint, GLint, GLsizei, GLsizei), target, numAttachments, attachments, x, y, width, height) +end + +function glMultiDrawArraysIndirect(mode, indirect, drawcount, stride) + ccall((:glMultiDrawArraysIndirect, libgl), Cvoid, (GLenum, Ptr{Cvoid}, GLsizei, GLsizei), mode, indirect, drawcount, stride) +end + +function glMultiDrawElementsIndirect(mode, type, indirect, drawcount, stride) + ccall((:glMultiDrawElementsIndirect, libgl), Cvoid, (GLenum, GLenum, Ptr{Cvoid}, GLsizei, GLsizei), mode, type, indirect, drawcount, stride) +end + +function glGetProgramInterfaceiv(program, programInterface, pname, params) + ccall((:glGetProgramInterfaceiv, libgl), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), program, programInterface, pname, params) +end + +function glGetProgramResourceIndex(program, programInterface, name) + ccall((:glGetProgramResourceIndex, libgl), GLuint, (GLuint, GLenum, Ptr{GLchar}), program, programInterface, name) +end + +function glGetProgramResourceName(program, programInterface, index, bufSize, length, name) + ccall((:glGetProgramResourceName, libgl), Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), program, programInterface, index, bufSize, length, name) +end + +function glGetProgramResourceiv(program, programInterface, index, propCount, props, count, length, params) + ccall((:glGetProgramResourceiv, libgl), Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLenum}, GLsizei, Ptr{GLsizei}, Ptr{GLint}), program, programInterface, index, propCount, props, count, length, params) +end + +function glGetProgramResourceLocation(program, programInterface, name) + ccall((:glGetProgramResourceLocation, libgl), GLint, (GLuint, GLenum, Ptr{GLchar}), program, programInterface, name) +end + +function glGetProgramResourceLocationIndex(program, programInterface, name) + ccall((:glGetProgramResourceLocationIndex, libgl), GLint, (GLuint, GLenum, Ptr{GLchar}), program, programInterface, name) +end + +function glShaderStorageBlockBinding(program, storageBlockIndex, storageBlockBinding) + ccall((:glShaderStorageBlockBinding, libgl), Cvoid, (GLuint, GLuint, GLuint), program, storageBlockIndex, storageBlockBinding) +end + +function glTexBufferRange(target, internalformat, buffer, offset, size) + ccall((:glTexBufferRange, libgl), Cvoid, (GLenum, GLenum, GLuint, GLintptr, GLsizeiptr), target, internalformat, buffer, offset, size) +end + +function glTexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations) + ccall((:glTexStorage2DMultisample, libgl), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean), target, samples, internalformat, width, height, fixedsamplelocations) +end + +function glTexStorage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations) + ccall((:glTexStorage3DMultisample, libgl), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean), target, samples, internalformat, width, height, depth, fixedsamplelocations) +end + +function glTextureView(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers) + ccall((:glTextureView, libgl), Cvoid, (GLuint, GLenum, GLuint, GLenum, GLuint, GLuint, GLuint, GLuint), texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers) +end + +function glBindVertexBuffer(bindingindex, buffer, offset, stride) + ccall((:glBindVertexBuffer, libgl), Cvoid, (GLuint, GLuint, GLintptr, GLsizei), bindingindex, buffer, offset, stride) +end + +function glVertexAttribFormat(attribindex, size, type, normalized, relativeoffset) + ccall((:glVertexAttribFormat, libgl), Cvoid, (GLuint, GLint, GLenum, GLboolean, GLuint), attribindex, size, type, normalized, relativeoffset) +end + +function glVertexAttribIFormat(attribindex, size, type, relativeoffset) + ccall((:glVertexAttribIFormat, libgl), Cvoid, (GLuint, GLint, GLenum, GLuint), attribindex, size, type, relativeoffset) +end + +function glVertexAttribLFormat(attribindex, size, type, relativeoffset) + ccall((:glVertexAttribLFormat, libgl), Cvoid, (GLuint, GLint, GLenum, GLuint), attribindex, size, type, relativeoffset) +end + +function glVertexAttribBinding(attribindex, bindingindex) + ccall((:glVertexAttribBinding, libgl), Cvoid, (GLuint, GLuint), attribindex, bindingindex) +end + +function glVertexBindingDivisor(bindingindex, divisor) + ccall((:glVertexBindingDivisor, libgl), Cvoid, (GLuint, GLuint), bindingindex, divisor) +end + +function glDebugMessageControl(source, type, severity, count, ids, enabled) + ccall((:glDebugMessageControl, libgl), Cvoid, (GLenum, GLenum, GLenum, GLsizei, Ptr{GLuint}, GLboolean), source, type, severity, count, ids, enabled) +end + +function glDebugMessageInsert(source, type, id, severity, length, buf) + ccall((:glDebugMessageInsert, libgl), Cvoid, (GLenum, GLenum, GLuint, GLenum, GLsizei, Ptr{GLchar}), source, type, id, severity, length, buf) +end + +function glDebugMessageCallback(callback, userParam) + ccall((:glDebugMessageCallback, libgl), Cvoid, (GLDEBUGPROC, Ptr{Cvoid}), callback, userParam) +end + +function glGetDebugMessageLog(count, bufSize, sources, types, ids, severities, lengths, messageLog) + ccall((:glGetDebugMessageLog, libgl), GLuint, (GLuint, GLsizei, Ptr{GLenum}, Ptr{GLenum}, Ptr{GLuint}, Ptr{GLenum}, Ptr{GLsizei}, Ptr{GLchar}), count, bufSize, sources, types, ids, severities, lengths, messageLog) +end + +function glPushDebugGroup(source, id, length, message) + ccall((:glPushDebugGroup, libgl), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLchar}), source, id, length, message) +end + +function glPopDebugGroup() + ccall((:glPopDebugGroup, libgl), Cvoid, ()) +end + +function glObjectLabel(identifier, name, length, label) + ccall((:glObjectLabel, libgl), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLchar}), identifier, name, length, label) +end + +function glGetObjectLabel(identifier, name, bufSize, length, label) + ccall((:glGetObjectLabel, libgl), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), identifier, name, bufSize, length, label) +end + +function glObjectPtrLabel(ptr, length, label) + ccall((:glObjectPtrLabel, libgl), Cvoid, (Ptr{Cvoid}, GLsizei, Ptr{GLchar}), ptr, length, label) +end + +function glGetObjectPtrLabel(ptr, bufSize, length, label) + ccall((:glGetObjectPtrLabel, libgl), Cvoid, (Ptr{Cvoid}, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), ptr, bufSize, length, label) +end + +# typedef void ( APIENTRYP PFNGLBUFFERSTORAGEPROC ) ( GLenum target , GLsizeiptr size , const void * data , GLbitfield flags ) +const PFNGLBUFFERSTORAGEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCLEARTEXIMAGEPROC ) ( GLuint texture , GLint level , GLenum format , GLenum type , const void * data ) +const PFNGLCLEARTEXIMAGEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCLEARTEXSUBIMAGEPROC ) ( GLuint texture , GLint level , GLint xoffset , GLint yoffset , GLint zoffset , GLsizei width , GLsizei height , GLsizei depth , GLenum format , GLenum type , const void * data ) +const PFNGLCLEARTEXSUBIMAGEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBINDBUFFERSBASEPROC ) ( GLenum target , GLuint first , GLsizei count , const GLuint * buffers ) +const PFNGLBINDBUFFERSBASEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBINDBUFFERSRANGEPROC ) ( GLenum target , GLuint first , GLsizei count , const GLuint * buffers , const GLintptr * offsets , const GLsizeiptr * sizes ) +const PFNGLBINDBUFFERSRANGEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBINDTEXTURESPROC ) ( GLuint first , GLsizei count , const GLuint * textures ) +const PFNGLBINDTEXTURESPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBINDSAMPLERSPROC ) ( GLuint first , GLsizei count , const GLuint * samplers ) +const PFNGLBINDSAMPLERSPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBINDIMAGETEXTURESPROC ) ( GLuint first , GLsizei count , const GLuint * textures ) +const PFNGLBINDIMAGETEXTURESPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBINDVERTEXBUFFERSPROC ) ( GLuint first , GLsizei count , const GLuint * buffers , const GLintptr * offsets , const GLsizei * strides ) +const PFNGLBINDVERTEXBUFFERSPROC = Ptr{Cvoid} + +function glBufferStorage(target, size, data, flags) + ccall((:glBufferStorage, libgl), Cvoid, (GLenum, GLsizeiptr, Ptr{Cvoid}, GLbitfield), target, size, data, flags) +end + +function glClearTexImage(texture, level, format, type, data) + ccall((:glClearTexImage, libgl), Cvoid, (GLuint, GLint, GLenum, GLenum, Ptr{Cvoid}), texture, level, format, type, data) +end + +function glClearTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data) + ccall((:glClearTexSubImage, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data) +end + +function glBindBuffersBase(target, first, count, buffers) + ccall((:glBindBuffersBase, libgl), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLuint}), target, first, count, buffers) +end + +function glBindBuffersRange(target, first, count, buffers, offsets, sizes) + ccall((:glBindBuffersRange, libgl), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLuint}, Ptr{GLintptr}, Ptr{GLsizeiptr}), target, first, count, buffers, offsets, sizes) +end + +function glBindTextures(first, count, textures) + ccall((:glBindTextures, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLuint}), first, count, textures) +end + +function glBindSamplers(first, count, samplers) + ccall((:glBindSamplers, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLuint}), first, count, samplers) +end + +function glBindImageTextures(first, count, textures) + ccall((:glBindImageTextures, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLuint}), first, count, textures) +end + +function glBindVertexBuffers(first, count, buffers, offsets, strides) + ccall((:glBindVertexBuffers, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLuint}, Ptr{GLintptr}, Ptr{GLsizei}), first, count, buffers, offsets, strides) +end + +# typedef void ( APIENTRYP PFNGLCLIPCONTROLPROC ) ( GLenum origin , GLenum depth ) +const PFNGLCLIPCONTROLPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCREATETRANSFORMFEEDBACKSPROC ) ( GLsizei n , GLuint * ids ) +const PFNGLCREATETRANSFORMFEEDBACKSPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC ) ( GLuint xfb , GLuint index , GLuint buffer ) +const PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC ) ( GLuint xfb , GLuint index , GLuint buffer , GLintptr offset , GLsizeiptr size ) +const PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETTRANSFORMFEEDBACKIVPROC ) ( GLuint xfb , GLenum pname , GLint * param ) +const PFNGLGETTRANSFORMFEEDBACKIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETTRANSFORMFEEDBACKI_VPROC ) ( GLuint xfb , GLenum pname , GLuint index , GLint * param ) +const PFNGLGETTRANSFORMFEEDBACKI_VPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETTRANSFORMFEEDBACKI64_VPROC ) ( GLuint xfb , GLenum pname , GLuint index , GLint64 * param ) +const PFNGLGETTRANSFORMFEEDBACKI64_VPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCREATEBUFFERSPROC ) ( GLsizei n , GLuint * buffers ) +const PFNGLCREATEBUFFERSPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDBUFFERSTORAGEPROC ) ( GLuint buffer , GLsizeiptr size , const void * data , GLbitfield flags ) +const PFNGLNAMEDBUFFERSTORAGEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDBUFFERDATAPROC ) ( GLuint buffer , GLsizeiptr size , const void * data , GLenum usage ) +const PFNGLNAMEDBUFFERDATAPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDBUFFERSUBDATAPROC ) ( GLuint buffer , GLintptr offset , GLsizeiptr size , const void * data ) +const PFNGLNAMEDBUFFERSUBDATAPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOPYNAMEDBUFFERSUBDATAPROC ) ( GLuint readBuffer , GLuint writeBuffer , GLintptr readOffset , GLintptr writeOffset , GLsizeiptr size ) +const PFNGLCOPYNAMEDBUFFERSUBDATAPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCLEARNAMEDBUFFERDATAPROC ) ( GLuint buffer , GLenum internalformat , GLenum format , GLenum type , const void * data ) +const PFNGLCLEARNAMEDBUFFERDATAPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCLEARNAMEDBUFFERSUBDATAPROC ) ( GLuint buffer , GLenum internalformat , GLintptr offset , GLsizeiptr size , GLenum format , GLenum type , const void * data ) +const PFNGLCLEARNAMEDBUFFERSUBDATAPROC = Ptr{Cvoid} + +# typedef void * ( APIENTRYP PFNGLMAPNAMEDBUFFERPROC ) ( GLuint buffer , GLenum access ) +const PFNGLMAPNAMEDBUFFERPROC = Ptr{Cvoid} + +# typedef void * ( APIENTRYP PFNGLMAPNAMEDBUFFERRANGEPROC ) ( GLuint buffer , GLintptr offset , GLsizeiptr length , GLbitfield access ) +const PFNGLMAPNAMEDBUFFERRANGEPROC = Ptr{Cvoid} + +# typedef GLboolean ( APIENTRYP PFNGLUNMAPNAMEDBUFFERPROC ) ( GLuint buffer ) +const PFNGLUNMAPNAMEDBUFFERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC ) ( GLuint buffer , GLintptr offset , GLsizeiptr length ) +const PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERIVPROC ) ( GLuint buffer , GLenum pname , GLint * params ) +const PFNGLGETNAMEDBUFFERPARAMETERIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERI64VPROC ) ( GLuint buffer , GLenum pname , GLint64 * params ) +const PFNGLGETNAMEDBUFFERPARAMETERI64VPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNAMEDBUFFERPOINTERVPROC ) ( GLuint buffer , GLenum pname , void * * params ) +const PFNGLGETNAMEDBUFFERPOINTERVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNAMEDBUFFERSUBDATAPROC ) ( GLuint buffer , GLintptr offset , GLsizeiptr size , void * data ) +const PFNGLGETNAMEDBUFFERSUBDATAPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCREATEFRAMEBUFFERSPROC ) ( GLsizei n , GLuint * framebuffers ) +const PFNGLCREATEFRAMEBUFFERSPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC ) ( GLuint framebuffer , GLenum attachment , GLenum renderbuffertarget , GLuint renderbuffer ) +const PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC ) ( GLuint framebuffer , GLenum pname , GLint param ) +const PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTUREPROC ) ( GLuint framebuffer , GLenum attachment , GLuint texture , GLint level ) +const PFNGLNAMEDFRAMEBUFFERTEXTUREPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC ) ( GLuint framebuffer , GLenum attachment , GLuint texture , GLint level , GLint layer ) +const PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC ) ( GLuint framebuffer , GLenum buf ) +const PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC ) ( GLuint framebuffer , GLsizei n , const GLenum * bufs ) +const PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC ) ( GLuint framebuffer , GLenum src ) +const PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC ) ( GLuint framebuffer , GLsizei numAttachments , const GLenum * attachments ) +const PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC ) ( GLuint framebuffer , GLsizei numAttachments , const GLenum * attachments , GLint x , GLint y , GLsizei width , GLsizei height ) +const PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERIVPROC ) ( GLuint framebuffer , GLenum buffer , GLint drawbuffer , const GLint * value ) +const PFNGLCLEARNAMEDFRAMEBUFFERIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC ) ( GLuint framebuffer , GLenum buffer , GLint drawbuffer , const GLuint * value ) +const PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERFVPROC ) ( GLuint framebuffer , GLenum buffer , GLint drawbuffer , const GLfloat * value ) +const PFNGLCLEARNAMEDFRAMEBUFFERFVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERFIPROC ) ( GLuint framebuffer , GLenum buffer , GLint drawbuffer , GLfloat depth , GLint stencil ) +const PFNGLCLEARNAMEDFRAMEBUFFERFIPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBLITNAMEDFRAMEBUFFERPROC ) ( GLuint readFramebuffer , GLuint drawFramebuffer , GLint srcX0 , GLint srcY0 , GLint srcX1 , GLint srcY1 , GLint dstX0 , GLint dstY0 , GLint dstX1 , GLint dstY1 , GLbitfield mask , GLenum filter ) +const PFNGLBLITNAMEDFRAMEBUFFERPROC = Ptr{Cvoid} + +# typedef GLenum ( APIENTRYP PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC ) ( GLuint framebuffer , GLenum target ) +const PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC ) ( GLuint framebuffer , GLenum pname , GLint * param ) +const PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC ) ( GLuint framebuffer , GLenum attachment , GLenum pname , GLint * params ) +const PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCREATERENDERBUFFERSPROC ) ( GLsizei n , GLuint * renderbuffers ) +const PFNGLCREATERENDERBUFFERSPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEPROC ) ( GLuint renderbuffer , GLenum internalformat , GLsizei width , GLsizei height ) +const PFNGLNAMEDRENDERBUFFERSTORAGEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC ) ( GLuint renderbuffer , GLsizei samples , GLenum internalformat , GLsizei width , GLsizei height ) +const PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC ) ( GLuint renderbuffer , GLenum pname , GLint * params ) +const PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCREATETEXTURESPROC ) ( GLenum target , GLsizei n , GLuint * textures ) +const PFNGLCREATETEXTURESPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTUREBUFFERPROC ) ( GLuint texture , GLenum internalformat , GLuint buffer ) +const PFNGLTEXTUREBUFFERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTUREBUFFERRANGEPROC ) ( GLuint texture , GLenum internalformat , GLuint buffer , GLintptr offset , GLsizeiptr size ) +const PFNGLTEXTUREBUFFERRANGEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTURESTORAGE1DPROC ) ( GLuint texture , GLsizei levels , GLenum internalformat , GLsizei width ) +const PFNGLTEXTURESTORAGE1DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTURESTORAGE2DPROC ) ( GLuint texture , GLsizei levels , GLenum internalformat , GLsizei width , GLsizei height ) +const PFNGLTEXTURESTORAGE2DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTURESTORAGE3DPROC ) ( GLuint texture , GLsizei levels , GLenum internalformat , GLsizei width , GLsizei height , GLsizei depth ) +const PFNGLTEXTURESTORAGE3DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC ) ( GLuint texture , GLsizei samples , GLenum internalformat , GLsizei width , GLsizei height , GLboolean fixedsamplelocations ) +const PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC ) ( GLuint texture , GLsizei samples , GLenum internalformat , GLsizei width , GLsizei height , GLsizei depth , GLboolean fixedsamplelocations ) +const PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTURESUBIMAGE1DPROC ) ( GLuint texture , GLint level , GLint xoffset , GLsizei width , GLenum format , GLenum type , const void * pixels ) +const PFNGLTEXTURESUBIMAGE1DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTURESUBIMAGE2DPROC ) ( GLuint texture , GLint level , GLint xoffset , GLint yoffset , GLsizei width , GLsizei height , GLenum format , GLenum type , const void * pixels ) +const PFNGLTEXTURESUBIMAGE2DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTURESUBIMAGE3DPROC ) ( GLuint texture , GLint level , GLint xoffset , GLint yoffset , GLint zoffset , GLsizei width , GLsizei height , GLsizei depth , GLenum format , GLenum type , const void * pixels ) +const PFNGLTEXTURESUBIMAGE3DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC ) ( GLuint texture , GLint level , GLint xoffset , GLsizei width , GLenum format , GLsizei imageSize , const void * data ) +const PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC ) ( GLuint texture , GLint level , GLint xoffset , GLint yoffset , GLsizei width , GLsizei height , GLenum format , GLsizei imageSize , const void * data ) +const PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC ) ( GLuint texture , GLint level , GLint xoffset , GLint yoffset , GLint zoffset , GLsizei width , GLsizei height , GLsizei depth , GLenum format , GLsizei imageSize , const void * data ) +const PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOPYTEXTURESUBIMAGE1DPROC ) ( GLuint texture , GLint level , GLint xoffset , GLint x , GLint y , GLsizei width ) +const PFNGLCOPYTEXTURESUBIMAGE1DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOPYTEXTURESUBIMAGE2DPROC ) ( GLuint texture , GLint level , GLint xoffset , GLint yoffset , GLint x , GLint y , GLsizei width , GLsizei height ) +const PFNGLCOPYTEXTURESUBIMAGE2DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOPYTEXTURESUBIMAGE3DPROC ) ( GLuint texture , GLint level , GLint xoffset , GLint yoffset , GLint zoffset , GLint x , GLint y , GLsizei width , GLsizei height ) +const PFNGLCOPYTEXTURESUBIMAGE3DPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTUREPARAMETERFPROC ) ( GLuint texture , GLenum pname , GLfloat param ) +const PFNGLTEXTUREPARAMETERFPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTUREPARAMETERFVPROC ) ( GLuint texture , GLenum pname , const GLfloat * param ) +const PFNGLTEXTUREPARAMETERFVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTUREPARAMETERIPROC ) ( GLuint texture , GLenum pname , GLint param ) +const PFNGLTEXTUREPARAMETERIPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTUREPARAMETERIIVPROC ) ( GLuint texture , GLenum pname , const GLint * params ) +const PFNGLTEXTUREPARAMETERIIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTUREPARAMETERIUIVPROC ) ( GLuint texture , GLenum pname , const GLuint * params ) +const PFNGLTEXTUREPARAMETERIUIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTUREPARAMETERIVPROC ) ( GLuint texture , GLenum pname , const GLint * param ) +const PFNGLTEXTUREPARAMETERIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGENERATETEXTUREMIPMAPPROC ) ( GLuint texture ) +const PFNGLGENERATETEXTUREMIPMAPPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBINDTEXTUREUNITPROC ) ( GLuint unit , GLuint texture ) +const PFNGLBINDTEXTUREUNITPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETTEXTUREIMAGEPROC ) ( GLuint texture , GLint level , GLenum format , GLenum type , GLsizei bufSize , void * pixels ) +const PFNGLGETTEXTUREIMAGEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC ) ( GLuint texture , GLint level , GLsizei bufSize , void * pixels ) +const PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETTEXTURELEVELPARAMETERFVPROC ) ( GLuint texture , GLint level , GLenum pname , GLfloat * params ) +const PFNGLGETTEXTURELEVELPARAMETERFVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETTEXTURELEVELPARAMETERIVPROC ) ( GLuint texture , GLint level , GLenum pname , GLint * params ) +const PFNGLGETTEXTURELEVELPARAMETERIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETTEXTUREPARAMETERFVPROC ) ( GLuint texture , GLenum pname , GLfloat * params ) +const PFNGLGETTEXTUREPARAMETERFVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETTEXTUREPARAMETERIIVPROC ) ( GLuint texture , GLenum pname , GLint * params ) +const PFNGLGETTEXTUREPARAMETERIIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETTEXTUREPARAMETERIUIVPROC ) ( GLuint texture , GLenum pname , GLuint * params ) +const PFNGLGETTEXTUREPARAMETERIUIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETTEXTUREPARAMETERIVPROC ) ( GLuint texture , GLenum pname , GLint * params ) +const PFNGLGETTEXTUREPARAMETERIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCREATEVERTEXARRAYSPROC ) ( GLsizei n , GLuint * arrays ) +const PFNGLCREATEVERTEXARRAYSPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDISABLEVERTEXARRAYATTRIBPROC ) ( GLuint vaobj , GLuint index ) +const PFNGLDISABLEVERTEXARRAYATTRIBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLENABLEVERTEXARRAYATTRIBPROC ) ( GLuint vaobj , GLuint index ) +const PFNGLENABLEVERTEXARRAYATTRIBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXARRAYELEMENTBUFFERPROC ) ( GLuint vaobj , GLuint buffer ) +const PFNGLVERTEXARRAYELEMENTBUFFERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXARRAYVERTEXBUFFERPROC ) ( GLuint vaobj , GLuint bindingindex , GLuint buffer , GLintptr offset , GLsizei stride ) +const PFNGLVERTEXARRAYVERTEXBUFFERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXARRAYVERTEXBUFFERSPROC ) ( GLuint vaobj , GLuint first , GLsizei count , const GLuint * buffers , const GLintptr * offsets , const GLsizei * strides ) +const PFNGLVERTEXARRAYVERTEXBUFFERSPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXARRAYATTRIBBINDINGPROC ) ( GLuint vaobj , GLuint attribindex , GLuint bindingindex ) +const PFNGLVERTEXARRAYATTRIBBINDINGPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXARRAYATTRIBFORMATPROC ) ( GLuint vaobj , GLuint attribindex , GLint size , GLenum type , GLboolean normalized , GLuint relativeoffset ) +const PFNGLVERTEXARRAYATTRIBFORMATPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXARRAYATTRIBIFORMATPROC ) ( GLuint vaobj , GLuint attribindex , GLint size , GLenum type , GLuint relativeoffset ) +const PFNGLVERTEXARRAYATTRIBIFORMATPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXARRAYATTRIBLFORMATPROC ) ( GLuint vaobj , GLuint attribindex , GLint size , GLenum type , GLuint relativeoffset ) +const PFNGLVERTEXARRAYATTRIBLFORMATPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXARRAYBINDINGDIVISORPROC ) ( GLuint vaobj , GLuint bindingindex , GLuint divisor ) +const PFNGLVERTEXARRAYBINDINGDIVISORPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETVERTEXARRAYIVPROC ) ( GLuint vaobj , GLenum pname , GLint * param ) +const PFNGLGETVERTEXARRAYIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETVERTEXARRAYINDEXEDIVPROC ) ( GLuint vaobj , GLuint index , GLenum pname , GLint * param ) +const PFNGLGETVERTEXARRAYINDEXEDIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETVERTEXARRAYINDEXED64IVPROC ) ( GLuint vaobj , GLuint index , GLenum pname , GLint64 * param ) +const PFNGLGETVERTEXARRAYINDEXED64IVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCREATESAMPLERSPROC ) ( GLsizei n , GLuint * samplers ) +const PFNGLCREATESAMPLERSPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCREATEPROGRAMPIPELINESPROC ) ( GLsizei n , GLuint * pipelines ) +const PFNGLCREATEPROGRAMPIPELINESPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCREATEQUERIESPROC ) ( GLenum target , GLsizei n , GLuint * ids ) +const PFNGLCREATEQUERIESPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETQUERYBUFFEROBJECTI64VPROC ) ( GLuint id , GLuint buffer , GLenum pname , GLintptr offset ) +const PFNGLGETQUERYBUFFEROBJECTI64VPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETQUERYBUFFEROBJECTIVPROC ) ( GLuint id , GLuint buffer , GLenum pname , GLintptr offset ) +const PFNGLGETQUERYBUFFEROBJECTIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETQUERYBUFFEROBJECTUI64VPROC ) ( GLuint id , GLuint buffer , GLenum pname , GLintptr offset ) +const PFNGLGETQUERYBUFFEROBJECTUI64VPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETQUERYBUFFEROBJECTUIVPROC ) ( GLuint id , GLuint buffer , GLenum pname , GLintptr offset ) +const PFNGLGETQUERYBUFFEROBJECTUIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMEMORYBARRIERBYREGIONPROC ) ( GLbitfield barriers ) +const PFNGLMEMORYBARRIERBYREGIONPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETTEXTURESUBIMAGEPROC ) ( GLuint texture , GLint level , GLint xoffset , GLint yoffset , GLint zoffset , GLsizei width , GLsizei height , GLsizei depth , GLenum format , GLenum type , GLsizei bufSize , void * pixels ) +const PFNGLGETTEXTURESUBIMAGEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC ) ( GLuint texture , GLint level , GLint xoffset , GLint yoffset , GLint zoffset , GLsizei width , GLsizei height , GLsizei depth , GLsizei bufSize , void * pixels ) +const PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC = Ptr{Cvoid} + +# typedef GLenum ( APIENTRYP PFNGLGETGRAPHICSRESETSTATUSPROC ) ( void ) +const PFNGLGETGRAPHICSRESETSTATUSPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNCOMPRESSEDTEXIMAGEPROC ) ( GLenum target , GLint lod , GLsizei bufSize , void * pixels ) +const PFNGLGETNCOMPRESSEDTEXIMAGEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNTEXIMAGEPROC ) ( GLenum target , GLint level , GLenum format , GLenum type , GLsizei bufSize , void * pixels ) +const PFNGLGETNTEXIMAGEPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNUNIFORMDVPROC ) ( GLuint program , GLint location , GLsizei bufSize , GLdouble * params ) +const PFNGLGETNUNIFORMDVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNUNIFORMFVPROC ) ( GLuint program , GLint location , GLsizei bufSize , GLfloat * params ) +const PFNGLGETNUNIFORMFVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNUNIFORMIVPROC ) ( GLuint program , GLint location , GLsizei bufSize , GLint * params ) +const PFNGLGETNUNIFORMIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNUNIFORMUIVPROC ) ( GLuint program , GLint location , GLsizei bufSize , GLuint * params ) +const PFNGLGETNUNIFORMUIVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLREADNPIXELSPROC ) ( GLint x , GLint y , GLsizei width , GLsizei height , GLenum format , GLenum type , GLsizei bufSize , void * data ) +const PFNGLREADNPIXELSPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTUREBARRIERPROC ) ( void ) +const PFNGLTEXTUREBARRIERPROC = Ptr{Cvoid} + +function glClipControl(origin, depth) + ccall((:glClipControl, libgl), Cvoid, (GLenum, GLenum), origin, depth) +end + +function glCreateTransformFeedbacks(n, ids) + ccall((:glCreateTransformFeedbacks, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, ids) +end + +function glTransformFeedbackBufferBase(xfb, index, buffer) + ccall((:glTransformFeedbackBufferBase, libgl), Cvoid, (GLuint, GLuint, GLuint), xfb, index, buffer) +end + +function glTransformFeedbackBufferRange(xfb, index, buffer, offset, size) + ccall((:glTransformFeedbackBufferRange, libgl), Cvoid, (GLuint, GLuint, GLuint, GLintptr, GLsizeiptr), xfb, index, buffer, offset, size) +end + +function glGetTransformFeedbackiv(xfb, pname, param) + ccall((:glGetTransformFeedbackiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), xfb, pname, param) +end + +function glGetTransformFeedbacki_v(xfb, pname, index, param) + ccall((:glGetTransformFeedbacki_v, libgl), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLint}), xfb, pname, index, param) +end + +function glGetTransformFeedbacki64_v(xfb, pname, index, param) + ccall((:glGetTransformFeedbacki64_v, libgl), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLint64}), xfb, pname, index, param) +end + +function glCreateBuffers(n, buffers) + ccall((:glCreateBuffers, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, buffers) +end + +function glNamedBufferStorage(buffer, size, data, flags) + ccall((:glNamedBufferStorage, libgl), Cvoid, (GLuint, GLsizeiptr, Ptr{Cvoid}, GLbitfield), buffer, size, data, flags) +end + +function glNamedBufferData(buffer, size, data, usage) + ccall((:glNamedBufferData, libgl), Cvoid, (GLuint, GLsizeiptr, Ptr{Cvoid}, GLenum), buffer, size, data, usage) +end + +function glNamedBufferSubData(buffer, offset, size, data) + ccall((:glNamedBufferSubData, libgl), Cvoid, (GLuint, GLintptr, GLsizeiptr, Ptr{Cvoid}), buffer, offset, size, data) +end + +function glCopyNamedBufferSubData(readBuffer, writeBuffer, readOffset, writeOffset, size) + ccall((:glCopyNamedBufferSubData, libgl), Cvoid, (GLuint, GLuint, GLintptr, GLintptr, GLsizeiptr), readBuffer, writeBuffer, readOffset, writeOffset, size) +end + +function glClearNamedBufferData(buffer, internalformat, format, type, data) + ccall((:glClearNamedBufferData, libgl), Cvoid, (GLuint, GLenum, GLenum, GLenum, Ptr{Cvoid}), buffer, internalformat, format, type, data) +end + +function glClearNamedBufferSubData(buffer, internalformat, offset, size, format, type, data) + ccall((:glClearNamedBufferSubData, libgl), Cvoid, (GLuint, GLenum, GLintptr, GLsizeiptr, GLenum, GLenum, Ptr{Cvoid}), buffer, internalformat, offset, size, format, type, data) +end + +function glMapNamedBuffer(buffer, access) + ccall((:glMapNamedBuffer, libgl), Ptr{Cvoid}, (GLuint, GLenum), buffer, access) +end + +function glMapNamedBufferRange(buffer, offset, length, access) + ccall((:glMapNamedBufferRange, libgl), Ptr{Cvoid}, (GLuint, GLintptr, GLsizeiptr, GLbitfield), buffer, offset, length, access) +end + +function glUnmapNamedBuffer(buffer) + ccall((:glUnmapNamedBuffer, libgl), GLboolean, (GLuint,), buffer) +end + +function glFlushMappedNamedBufferRange(buffer, offset, length) + ccall((:glFlushMappedNamedBufferRange, libgl), Cvoid, (GLuint, GLintptr, GLsizeiptr), buffer, offset, length) +end + +function glGetNamedBufferParameteriv(buffer, pname, params) + ccall((:glGetNamedBufferParameteriv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), buffer, pname, params) +end + +function glGetNamedBufferParameteri64v(buffer, pname, params) + ccall((:glGetNamedBufferParameteri64v, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint64}), buffer, pname, params) +end + +function glGetNamedBufferPointerv(buffer, pname, params) + ccall((:glGetNamedBufferPointerv, libgl), Cvoid, (GLuint, GLenum, Ptr{Ptr{Cvoid}}), buffer, pname, params) +end + +function glGetNamedBufferSubData(buffer, offset, size, data) + ccall((:glGetNamedBufferSubData, libgl), Cvoid, (GLuint, GLintptr, GLsizeiptr, Ptr{Cvoid}), buffer, offset, size, data) +end + +function glCreateFramebuffers(n, framebuffers) + ccall((:glCreateFramebuffers, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, framebuffers) +end + +function glNamedFramebufferRenderbuffer(framebuffer, attachment, renderbuffertarget, renderbuffer) + ccall((:glNamedFramebufferRenderbuffer, libgl), Cvoid, (GLuint, GLenum, GLenum, GLuint), framebuffer, attachment, renderbuffertarget, renderbuffer) +end + +function glNamedFramebufferParameteri(framebuffer, pname, param) + ccall((:glNamedFramebufferParameteri, libgl), Cvoid, (GLuint, GLenum, GLint), framebuffer, pname, param) +end + +function glNamedFramebufferTexture(framebuffer, attachment, texture, level) + ccall((:glNamedFramebufferTexture, libgl), Cvoid, (GLuint, GLenum, GLuint, GLint), framebuffer, attachment, texture, level) +end + +function glNamedFramebufferTextureLayer(framebuffer, attachment, texture, level, layer) + ccall((:glNamedFramebufferTextureLayer, libgl), Cvoid, (GLuint, GLenum, GLuint, GLint, GLint), framebuffer, attachment, texture, level, layer) +end + +function glNamedFramebufferDrawBuffer(framebuffer, buf) + ccall((:glNamedFramebufferDrawBuffer, libgl), Cvoid, (GLuint, GLenum), framebuffer, buf) +end + +function glNamedFramebufferDrawBuffers(framebuffer, n, bufs) + ccall((:glNamedFramebufferDrawBuffers, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLenum}), framebuffer, n, bufs) +end + +function glNamedFramebufferReadBuffer(framebuffer, src) + ccall((:glNamedFramebufferReadBuffer, libgl), Cvoid, (GLuint, GLenum), framebuffer, src) +end + +function glInvalidateNamedFramebufferData(framebuffer, numAttachments, attachments) + ccall((:glInvalidateNamedFramebufferData, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLenum}), framebuffer, numAttachments, attachments) +end + +function glInvalidateNamedFramebufferSubData(framebuffer, numAttachments, attachments, x, y, width, height) + ccall((:glInvalidateNamedFramebufferSubData, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLenum}, GLint, GLint, GLsizei, GLsizei), framebuffer, numAttachments, attachments, x, y, width, height) +end + +function glClearNamedFramebufferiv(framebuffer, buffer, drawbuffer, value) + ccall((:glClearNamedFramebufferiv, libgl), Cvoid, (GLuint, GLenum, GLint, Ptr{GLint}), framebuffer, buffer, drawbuffer, value) +end + +function glClearNamedFramebufferuiv(framebuffer, buffer, drawbuffer, value) + ccall((:glClearNamedFramebufferuiv, libgl), Cvoid, (GLuint, GLenum, GLint, Ptr{GLuint}), framebuffer, buffer, drawbuffer, value) +end + +function glClearNamedFramebufferfv(framebuffer, buffer, drawbuffer, value) + ccall((:glClearNamedFramebufferfv, libgl), Cvoid, (GLuint, GLenum, GLint, Ptr{GLfloat}), framebuffer, buffer, drawbuffer, value) +end + +function glClearNamedFramebufferfi(framebuffer, buffer, drawbuffer, depth, stencil) + ccall((:glClearNamedFramebufferfi, libgl), Cvoid, (GLuint, GLenum, GLint, GLfloat, GLint), framebuffer, buffer, drawbuffer, depth, stencil) +end + +function glBlitNamedFramebuffer(readFramebuffer, drawFramebuffer, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter) + ccall((:glBlitNamedFramebuffer, libgl), Cvoid, (GLuint, GLuint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum), readFramebuffer, drawFramebuffer, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter) +end + +function glCheckNamedFramebufferStatus(framebuffer, target) + ccall((:glCheckNamedFramebufferStatus, libgl), GLenum, (GLuint, GLenum), framebuffer, target) +end + +function glGetNamedFramebufferParameteriv(framebuffer, pname, param) + ccall((:glGetNamedFramebufferParameteriv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), framebuffer, pname, param) +end + +function glGetNamedFramebufferAttachmentParameteriv(framebuffer, attachment, pname, params) + ccall((:glGetNamedFramebufferAttachmentParameteriv, libgl), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), framebuffer, attachment, pname, params) +end + +function glCreateRenderbuffers(n, renderbuffers) + ccall((:glCreateRenderbuffers, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, renderbuffers) +end + +function glNamedRenderbufferStorage(renderbuffer, internalformat, width, height) + ccall((:glNamedRenderbufferStorage, libgl), Cvoid, (GLuint, GLenum, GLsizei, GLsizei), renderbuffer, internalformat, width, height) +end + +function glNamedRenderbufferStorageMultisample(renderbuffer, samples, internalformat, width, height) + ccall((:glNamedRenderbufferStorageMultisample, libgl), Cvoid, (GLuint, GLsizei, GLenum, GLsizei, GLsizei), renderbuffer, samples, internalformat, width, height) +end + +function glGetNamedRenderbufferParameteriv(renderbuffer, pname, params) + ccall((:glGetNamedRenderbufferParameteriv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), renderbuffer, pname, params) +end + +function glCreateTextures(target, n, textures) + ccall((:glCreateTextures, libgl), Cvoid, (GLenum, GLsizei, Ptr{GLuint}), target, n, textures) +end + +function glTextureBuffer(texture, internalformat, buffer) + ccall((:glTextureBuffer, libgl), Cvoid, (GLuint, GLenum, GLuint), texture, internalformat, buffer) +end + +function glTextureBufferRange(texture, internalformat, buffer, offset, size) + ccall((:glTextureBufferRange, libgl), Cvoid, (GLuint, GLenum, GLuint, GLintptr, GLsizeiptr), texture, internalformat, buffer, offset, size) +end + +function glTextureStorage1D(texture, levels, internalformat, width) + ccall((:glTextureStorage1D, libgl), Cvoid, (GLuint, GLsizei, GLenum, GLsizei), texture, levels, internalformat, width) +end + +function glTextureStorage2D(texture, levels, internalformat, width, height) + ccall((:glTextureStorage2D, libgl), Cvoid, (GLuint, GLsizei, GLenum, GLsizei, GLsizei), texture, levels, internalformat, width, height) +end + +function glTextureStorage3D(texture, levels, internalformat, width, height, depth) + ccall((:glTextureStorage3D, libgl), Cvoid, (GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLsizei), texture, levels, internalformat, width, height, depth) +end + +function glTextureStorage2DMultisample(texture, samples, internalformat, width, height, fixedsamplelocations) + ccall((:glTextureStorage2DMultisample, libgl), Cvoid, (GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLboolean), texture, samples, internalformat, width, height, fixedsamplelocations) +end + +function glTextureStorage3DMultisample(texture, samples, internalformat, width, height, depth, fixedsamplelocations) + ccall((:glTextureStorage3DMultisample, libgl), Cvoid, (GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean), texture, samples, internalformat, width, height, depth, fixedsamplelocations) +end + +function glTextureSubImage1D(texture, level, xoffset, width, format, type, pixels) + ccall((:glTextureSubImage1D, libgl), Cvoid, (GLuint, GLint, GLint, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, level, xoffset, width, format, type, pixels) +end + +function glTextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, type, pixels) + ccall((:glTextureSubImage2D, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, level, xoffset, yoffset, width, height, format, type, pixels) +end + +function glTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) + ccall((:glTextureSubImage3D, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) +end + +function glCompressedTextureSubImage1D(texture, level, xoffset, width, format, imageSize, data) + ccall((:glCompressedTextureSubImage1D, libgl), Cvoid, (GLuint, GLint, GLint, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texture, level, xoffset, width, format, imageSize, data) +end + +function glCompressedTextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, imageSize, data) + ccall((:glCompressedTextureSubImage2D, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texture, level, xoffset, yoffset, width, height, format, imageSize, data) +end + +function glCompressedTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data) + ccall((:glCompressedTextureSubImage3D, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texture, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data) +end + +function glCopyTextureSubImage1D(texture, level, xoffset, x, y, width) + ccall((:glCopyTextureSubImage1D, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei), texture, level, xoffset, x, y, width) +end + +function glCopyTextureSubImage2D(texture, level, xoffset, yoffset, x, y, width, height) + ccall((:glCopyTextureSubImage2D, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), texture, level, xoffset, yoffset, x, y, width, height) +end + +function glCopyTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, x, y, width, height) + ccall((:glCopyTextureSubImage3D, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), texture, level, xoffset, yoffset, zoffset, x, y, width, height) +end + +function glTextureParameterf(texture, pname, param) + ccall((:glTextureParameterf, libgl), Cvoid, (GLuint, GLenum, GLfloat), texture, pname, param) +end + +function glTextureParameterfv(texture, pname, param) + ccall((:glTextureParameterfv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLfloat}), texture, pname, param) +end + +function glTextureParameteri(texture, pname, param) + ccall((:glTextureParameteri, libgl), Cvoid, (GLuint, GLenum, GLint), texture, pname, param) +end + +function glTextureParameterIiv(texture, pname, params) + ccall((:glTextureParameterIiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), texture, pname, params) +end + +function glTextureParameterIuiv(texture, pname, params) + ccall((:glTextureParameterIuiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLuint}), texture, pname, params) +end + +function glTextureParameteriv(texture, pname, param) + ccall((:glTextureParameteriv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), texture, pname, param) +end + +function glGenerateTextureMipmap(texture) + ccall((:glGenerateTextureMipmap, libgl), Cvoid, (GLuint,), texture) +end + +function glBindTextureUnit(unit, texture) + ccall((:glBindTextureUnit, libgl), Cvoid, (GLuint, GLuint), unit, texture) +end + +function glGetTextureImage(texture, level, format, type, bufSize, pixels) + ccall((:glGetTextureImage, libgl), Cvoid, (GLuint, GLint, GLenum, GLenum, GLsizei, Ptr{Cvoid}), texture, level, format, type, bufSize, pixels) +end + +function glGetCompressedTextureImage(texture, level, bufSize, pixels) + ccall((:glGetCompressedTextureImage, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{Cvoid}), texture, level, bufSize, pixels) +end + +function glGetTextureLevelParameterfv(texture, level, pname, params) + ccall((:glGetTextureLevelParameterfv, libgl), Cvoid, (GLuint, GLint, GLenum, Ptr{GLfloat}), texture, level, pname, params) +end + +function glGetTextureLevelParameteriv(texture, level, pname, params) + ccall((:glGetTextureLevelParameteriv, libgl), Cvoid, (GLuint, GLint, GLenum, Ptr{GLint}), texture, level, pname, params) +end + +function glGetTextureParameterfv(texture, pname, params) + ccall((:glGetTextureParameterfv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLfloat}), texture, pname, params) +end + +function glGetTextureParameterIiv(texture, pname, params) + ccall((:glGetTextureParameterIiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), texture, pname, params) +end + +function glGetTextureParameterIuiv(texture, pname, params) + ccall((:glGetTextureParameterIuiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLuint}), texture, pname, params) +end + +function glGetTextureParameteriv(texture, pname, params) + ccall((:glGetTextureParameteriv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), texture, pname, params) +end + +function glCreateVertexArrays(n, arrays) + ccall((:glCreateVertexArrays, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, arrays) +end + +function glDisableVertexArrayAttrib(vaobj, index) + ccall((:glDisableVertexArrayAttrib, libgl), Cvoid, (GLuint, GLuint), vaobj, index) +end + +function glEnableVertexArrayAttrib(vaobj, index) + ccall((:glEnableVertexArrayAttrib, libgl), Cvoid, (GLuint, GLuint), vaobj, index) +end + +function glVertexArrayElementBuffer(vaobj, buffer) + ccall((:glVertexArrayElementBuffer, libgl), Cvoid, (GLuint, GLuint), vaobj, buffer) +end + +function glVertexArrayVertexBuffer(vaobj, bindingindex, buffer, offset, stride) + ccall((:glVertexArrayVertexBuffer, libgl), Cvoid, (GLuint, GLuint, GLuint, GLintptr, GLsizei), vaobj, bindingindex, buffer, offset, stride) +end + +function glVertexArrayVertexBuffers(vaobj, first, count, buffers, offsets, strides) + ccall((:glVertexArrayVertexBuffers, libgl), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLuint}, Ptr{GLintptr}, Ptr{GLsizei}), vaobj, first, count, buffers, offsets, strides) +end + +function glVertexArrayAttribBinding(vaobj, attribindex, bindingindex) + ccall((:glVertexArrayAttribBinding, libgl), Cvoid, (GLuint, GLuint, GLuint), vaobj, attribindex, bindingindex) +end + +function glVertexArrayAttribFormat(vaobj, attribindex, size, type, normalized, relativeoffset) + ccall((:glVertexArrayAttribFormat, libgl), Cvoid, (GLuint, GLuint, GLint, GLenum, GLboolean, GLuint), vaobj, attribindex, size, type, normalized, relativeoffset) +end + +function glVertexArrayAttribIFormat(vaobj, attribindex, size, type, relativeoffset) + ccall((:glVertexArrayAttribIFormat, libgl), Cvoid, (GLuint, GLuint, GLint, GLenum, GLuint), vaobj, attribindex, size, type, relativeoffset) +end + +function glVertexArrayAttribLFormat(vaobj, attribindex, size, type, relativeoffset) + ccall((:glVertexArrayAttribLFormat, libgl), Cvoid, (GLuint, GLuint, GLint, GLenum, GLuint), vaobj, attribindex, size, type, relativeoffset) +end + +function glVertexArrayBindingDivisor(vaobj, bindingindex, divisor) + ccall((:glVertexArrayBindingDivisor, libgl), Cvoid, (GLuint, GLuint, GLuint), vaobj, bindingindex, divisor) +end + +function glGetVertexArrayiv(vaobj, pname, param) + ccall((:glGetVertexArrayiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), vaobj, pname, param) +end + +function glGetVertexArrayIndexediv(vaobj, index, pname, param) + ccall((:glGetVertexArrayIndexediv, libgl), Cvoid, (GLuint, GLuint, GLenum, Ptr{GLint}), vaobj, index, pname, param) +end + +function glGetVertexArrayIndexed64iv(vaobj, index, pname, param) + ccall((:glGetVertexArrayIndexed64iv, libgl), Cvoid, (GLuint, GLuint, GLenum, Ptr{GLint64}), vaobj, index, pname, param) +end + +function glCreateSamplers(n, samplers) + ccall((:glCreateSamplers, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, samplers) +end + +function glCreateProgramPipelines(n, pipelines) + ccall((:glCreateProgramPipelines, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, pipelines) +end + +function glCreateQueries(target, n, ids) + ccall((:glCreateQueries, libgl), Cvoid, (GLenum, GLsizei, Ptr{GLuint}), target, n, ids) +end + +function glGetQueryBufferObjecti64v(id, buffer, pname, offset) + ccall((:glGetQueryBufferObjecti64v, libgl), Cvoid, (GLuint, GLuint, GLenum, GLintptr), id, buffer, pname, offset) +end + +function glGetQueryBufferObjectiv(id, buffer, pname, offset) + ccall((:glGetQueryBufferObjectiv, libgl), Cvoid, (GLuint, GLuint, GLenum, GLintptr), id, buffer, pname, offset) +end + +function glGetQueryBufferObjectui64v(id, buffer, pname, offset) + ccall((:glGetQueryBufferObjectui64v, libgl), Cvoid, (GLuint, GLuint, GLenum, GLintptr), id, buffer, pname, offset) +end + +function glGetQueryBufferObjectuiv(id, buffer, pname, offset) + ccall((:glGetQueryBufferObjectuiv, libgl), Cvoid, (GLuint, GLuint, GLenum, GLintptr), id, buffer, pname, offset) +end + +function glMemoryBarrierByRegion(barriers) + ccall((:glMemoryBarrierByRegion, libgl), Cvoid, (GLbitfield,), barriers) +end + +function glGetTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bufSize, pixels) + ccall((:glGetTextureSubImage, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, GLsizei, Ptr{Cvoid}), texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bufSize, pixels) +end + +function glGetCompressedTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, bufSize, pixels) + ccall((:glGetCompressedTextureSubImage, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLsizei, Ptr{Cvoid}), texture, level, xoffset, yoffset, zoffset, width, height, depth, bufSize, pixels) +end + +function glGetGraphicsResetStatus() + ccall((:glGetGraphicsResetStatus, libgl), GLenum, ()) +end + +function glGetnCompressedTexImage(target, lod, bufSize, pixels) + ccall((:glGetnCompressedTexImage, libgl), Cvoid, (GLenum, GLint, GLsizei, Ptr{Cvoid}), target, lod, bufSize, pixels) +end + +function glGetnTexImage(target, level, format, type, bufSize, pixels) + ccall((:glGetnTexImage, libgl), Cvoid, (GLenum, GLint, GLenum, GLenum, GLsizei, Ptr{Cvoid}), target, level, format, type, bufSize, pixels) +end + +function glGetnUniformdv(program, location, bufSize, params) + ccall((:glGetnUniformdv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, bufSize, params) +end + +function glGetnUniformfv(program, location, bufSize, params) + ccall((:glGetnUniformfv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, bufSize, params) +end + +function glGetnUniformiv(program, location, bufSize, params) + ccall((:glGetnUniformiv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, bufSize, params) +end + +function glGetnUniformuiv(program, location, bufSize, params) + ccall((:glGetnUniformuiv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, bufSize, params) +end + +function glReadnPixels(x, y, width, height, format, type, bufSize, data) + ccall((:glReadnPixels, libgl), Cvoid, (GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, Ptr{Cvoid}), x, y, width, height, format, type, bufSize, data) +end + +function glTextureBarrier() + ccall((:glTextureBarrier, libgl), Cvoid, ()) +end + +# typedef void ( APIENTRYP PFNGLSPECIALIZESHADERPROC ) ( GLuint shader , const GLchar * pEntryPoint , GLuint numSpecializationConstants , const GLuint * pConstantIndex , const GLuint * pConstantValue ) +const PFNGLSPECIALIZESHADERPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC ) ( GLenum mode , const void * indirect , GLintptr drawcount , GLsizei maxdrawcount , GLsizei stride ) +const PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC ) ( GLenum mode , GLenum type , const void * indirect , GLintptr drawcount , GLsizei maxdrawcount , GLsizei stride ) +const PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPOLYGONOFFSETCLAMPPROC ) ( GLfloat factor , GLfloat units , GLfloat clamp ) +const PFNGLPOLYGONOFFSETCLAMPPROC = Ptr{Cvoid} + +function glSpecializeShader(shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue) + ccall((:glSpecializeShader, libgl), Cvoid, (GLuint, Ptr{GLchar}, GLuint, Ptr{GLuint}, Ptr{GLuint}), shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue) +end + +function glMultiDrawArraysIndirectCount(mode, indirect, drawcount, maxdrawcount, stride) + ccall((:glMultiDrawArraysIndirectCount, libgl), Cvoid, (GLenum, Ptr{Cvoid}, GLintptr, GLsizei, GLsizei), mode, indirect, drawcount, maxdrawcount, stride) +end + +function glMultiDrawElementsIndirectCount(mode, type, indirect, drawcount, maxdrawcount, stride) + ccall((:glMultiDrawElementsIndirectCount, libgl), Cvoid, (GLenum, GLenum, Ptr{Cvoid}, GLintptr, GLsizei, GLsizei), mode, type, indirect, drawcount, maxdrawcount, stride) +end + +function glPolygonOffsetClamp(factor, units, clamp) + ccall((:glPolygonOffsetClamp, libgl), Cvoid, (GLfloat, GLfloat, GLfloat), factor, units, clamp) +end + +# typedef void ( APIENTRYP PFNGLPRIMITIVEBOUNDINGBOXARBPROC ) ( GLfloat minX , GLfloat minY , GLfloat minZ , GLfloat minW , GLfloat maxX , GLfloat maxY , GLfloat maxZ , GLfloat maxW ) +const PFNGLPRIMITIVEBOUNDINGBOXARBPROC = Ptr{Cvoid} + +function glPrimitiveBoundingBoxARB(minX, minY, minZ, minW, maxX, maxY, maxZ, maxW) + ccall((:glPrimitiveBoundingBoxARB, libgl), Cvoid, (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat), minX, minY, minZ, minW, maxX, maxY, maxZ, maxW) +end + +const GLuint64EXT = khronos_uint64_t + +# typedef GLuint64 ( APIENTRYP PFNGLGETTEXTUREHANDLEARBPROC ) ( GLuint texture ) +const PFNGLGETTEXTUREHANDLEARBPROC = Ptr{Cvoid} + +# typedef GLuint64 ( APIENTRYP PFNGLGETTEXTURESAMPLERHANDLEARBPROC ) ( GLuint texture , GLuint sampler ) +const PFNGLGETTEXTURESAMPLERHANDLEARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMAKETEXTUREHANDLERESIDENTARBPROC ) ( GLuint64 handle ) +const PFNGLMAKETEXTUREHANDLERESIDENTARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC ) ( GLuint64 handle ) +const PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC = Ptr{Cvoid} + +# typedef GLuint64 ( APIENTRYP PFNGLGETIMAGEHANDLEARBPROC ) ( GLuint texture , GLint level , GLboolean layered , GLint layer , GLenum format ) +const PFNGLGETIMAGEHANDLEARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMAKEIMAGEHANDLERESIDENTARBPROC ) ( GLuint64 handle , GLenum access ) +const PFNGLMAKEIMAGEHANDLERESIDENTARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC ) ( GLuint64 handle ) +const PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORMHANDLEUI64ARBPROC ) ( GLint location , GLuint64 value ) +const PFNGLUNIFORMHANDLEUI64ARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORMHANDLEUI64VARBPROC ) ( GLint location , GLsizei count , const GLuint64 * value ) +const PFNGLUNIFORMHANDLEUI64VARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC ) ( GLuint program , GLint location , GLuint64 value ) +const PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC ) ( GLuint program , GLint location , GLsizei count , const GLuint64 * values ) +const PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC = Ptr{Cvoid} + +# typedef GLboolean ( APIENTRYP PFNGLISTEXTUREHANDLERESIDENTARBPROC ) ( GLuint64 handle ) +const PFNGLISTEXTUREHANDLERESIDENTARBPROC = Ptr{Cvoid} + +# typedef GLboolean ( APIENTRYP PFNGLISIMAGEHANDLERESIDENTARBPROC ) ( GLuint64 handle ) +const PFNGLISIMAGEHANDLERESIDENTARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBL1UI64ARBPROC ) ( GLuint index , GLuint64EXT x ) +const PFNGLVERTEXATTRIBL1UI64ARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBL1UI64VARBPROC ) ( GLuint index , const GLuint64EXT * v ) +const PFNGLVERTEXATTRIBL1UI64VARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETVERTEXATTRIBLUI64VARBPROC ) ( GLuint index , GLenum pname , GLuint64EXT * params ) +const PFNGLGETVERTEXATTRIBLUI64VARBPROC = Ptr{Cvoid} + +function glGetTextureHandleARB(texture) + ccall((:glGetTextureHandleARB, libgl), GLuint64, (GLuint,), texture) +end + +function glGetTextureSamplerHandleARB(texture, sampler) + ccall((:glGetTextureSamplerHandleARB, libgl), GLuint64, (GLuint, GLuint), texture, sampler) +end + +function glMakeTextureHandleResidentARB(handle) + ccall((:glMakeTextureHandleResidentARB, libgl), Cvoid, (GLuint64,), handle) +end + +function glMakeTextureHandleNonResidentARB(handle) + ccall((:glMakeTextureHandleNonResidentARB, libgl), Cvoid, (GLuint64,), handle) +end + +function glGetImageHandleARB(texture, level, layered, layer, format) + ccall((:glGetImageHandleARB, libgl), GLuint64, (GLuint, GLint, GLboolean, GLint, GLenum), texture, level, layered, layer, format) +end + +function glMakeImageHandleResidentARB(handle, access) + ccall((:glMakeImageHandleResidentARB, libgl), Cvoid, (GLuint64, GLenum), handle, access) +end + +function glMakeImageHandleNonResidentARB(handle) + ccall((:glMakeImageHandleNonResidentARB, libgl), Cvoid, (GLuint64,), handle) +end + +function glUniformHandleui64ARB(location, value) + ccall((:glUniformHandleui64ARB, libgl), Cvoid, (GLint, GLuint64), location, value) +end + +function glUniformHandleui64vARB(location, count, value) + ccall((:glUniformHandleui64vARB, libgl), Cvoid, (GLint, GLsizei, Ptr{GLuint64}), location, count, value) +end + +function glProgramUniformHandleui64ARB(program, location, value) + ccall((:glProgramUniformHandleui64ARB, libgl), Cvoid, (GLuint, GLint, GLuint64), program, location, value) +end + +function glProgramUniformHandleui64vARB(program, location, count, values) + ccall((:glProgramUniformHandleui64vARB, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, count, values) +end + +function glIsTextureHandleResidentARB(handle) + ccall((:glIsTextureHandleResidentARB, libgl), GLboolean, (GLuint64,), handle) +end + +function glIsImageHandleResidentARB(handle) + ccall((:glIsImageHandleResidentARB, libgl), GLboolean, (GLuint64,), handle) +end + +function glVertexAttribL1ui64ARB(index, x) + ccall((:glVertexAttribL1ui64ARB, libgl), Cvoid, (GLuint, GLuint64EXT), index, x) +end + +function glVertexAttribL1ui64vARB(index, v) + ccall((:glVertexAttribL1ui64vARB, libgl), Cvoid, (GLuint, Ptr{GLuint64EXT}), index, v) +end + +function glGetVertexAttribLui64vARB(index, pname, params) + ccall((:glGetVertexAttribLui64vARB, libgl), Cvoid, (GLuint, GLenum, Ptr{GLuint64EXT}), index, pname, params) +end + +mutable struct _cl_context end + +mutable struct _cl_event end + +# typedef GLsync ( APIENTRYP PFNGLCREATESYNCFROMCLEVENTARBPROC ) ( struct _cl_context * context , struct _cl_event * event , GLbitfield flags ) +const PFNGLCREATESYNCFROMCLEVENTARBPROC = Ptr{Cvoid} + +function glCreateSyncFromCLeventARB(context, event, flags) + ccall((:glCreateSyncFromCLeventARB, libgl), GLsync, (Ptr{_cl_context}, Ptr{_cl_event}, GLbitfield), context, event, flags) +end + +# typedef void ( APIENTRYP PFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC ) ( GLuint num_groups_x , GLuint num_groups_y , GLuint num_groups_z , GLuint group_size_x , GLuint group_size_y , GLuint group_size_z ) +const PFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC = Ptr{Cvoid} + +function glDispatchComputeGroupSizeARB(num_groups_x, num_groups_y, num_groups_z, group_size_x, group_size_y, group_size_z) + ccall((:glDispatchComputeGroupSizeARB, libgl), Cvoid, (GLuint, GLuint, GLuint, GLuint, GLuint, GLuint), num_groups_x, num_groups_y, num_groups_z, group_size_x, group_size_y, group_size_z) +end + +# typedef void ( APIENTRY * GLDEBUGPROCARB ) ( GLenum source , GLenum type , GLuint id , GLenum severity , GLsizei length , const GLchar * message , const void * userParam ) +const GLDEBUGPROCARB = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDEBUGMESSAGECONTROLARBPROC ) ( GLenum source , GLenum type , GLenum severity , GLsizei count , const GLuint * ids , GLboolean enabled ) +const PFNGLDEBUGMESSAGECONTROLARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDEBUGMESSAGEINSERTARBPROC ) ( GLenum source , GLenum type , GLuint id , GLenum severity , GLsizei length , const GLchar * buf ) +const PFNGLDEBUGMESSAGEINSERTARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDEBUGMESSAGECALLBACKARBPROC ) ( GLDEBUGPROCARB callback , const void * userParam ) +const PFNGLDEBUGMESSAGECALLBACKARBPROC = Ptr{Cvoid} + +# typedef GLuint ( APIENTRYP PFNGLGETDEBUGMESSAGELOGARBPROC ) ( GLuint count , GLsizei bufSize , GLenum * sources , GLenum * types , GLuint * ids , GLenum * severities , GLsizei * lengths , GLchar * messageLog ) +const PFNGLGETDEBUGMESSAGELOGARBPROC = Ptr{Cvoid} + +function glDebugMessageControlARB(source, type, severity, count, ids, enabled) + ccall((:glDebugMessageControlARB, libgl), Cvoid, (GLenum, GLenum, GLenum, GLsizei, Ptr{GLuint}, GLboolean), source, type, severity, count, ids, enabled) +end + +function glDebugMessageInsertARB(source, type, id, severity, length, buf) + ccall((:glDebugMessageInsertARB, libgl), Cvoid, (GLenum, GLenum, GLuint, GLenum, GLsizei, Ptr{GLchar}), source, type, id, severity, length, buf) +end + +function glDebugMessageCallbackARB(callback, userParam) + ccall((:glDebugMessageCallbackARB, libgl), Cvoid, (GLDEBUGPROCARB, Ptr{Cvoid}), callback, userParam) +end + +function glGetDebugMessageLogARB(count, bufSize, sources, types, ids, severities, lengths, messageLog) + ccall((:glGetDebugMessageLogARB, libgl), GLuint, (GLuint, GLsizei, Ptr{GLenum}, Ptr{GLenum}, Ptr{GLuint}, Ptr{GLenum}, Ptr{GLsizei}, Ptr{GLchar}), count, bufSize, sources, types, ids, severities, lengths, messageLog) +end + +# typedef void ( APIENTRYP PFNGLBLENDEQUATIONIARBPROC ) ( GLuint buf , GLenum mode ) +const PFNGLBLENDEQUATIONIARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBLENDEQUATIONSEPARATEIARBPROC ) ( GLuint buf , GLenum modeRGB , GLenum modeAlpha ) +const PFNGLBLENDEQUATIONSEPARATEIARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBLENDFUNCIARBPROC ) ( GLuint buf , GLenum src , GLenum dst ) +const PFNGLBLENDFUNCIARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBLENDFUNCSEPARATEIARBPROC ) ( GLuint buf , GLenum srcRGB , GLenum dstRGB , GLenum srcAlpha , GLenum dstAlpha ) +const PFNGLBLENDFUNCSEPARATEIARBPROC = Ptr{Cvoid} + +function glBlendEquationiARB(buf, mode) + ccall((:glBlendEquationiARB, libgl), Cvoid, (GLuint, GLenum), buf, mode) +end + +function glBlendEquationSeparateiARB(buf, modeRGB, modeAlpha) + ccall((:glBlendEquationSeparateiARB, libgl), Cvoid, (GLuint, GLenum, GLenum), buf, modeRGB, modeAlpha) +end + +function glBlendFunciARB(buf, src, dst) + ccall((:glBlendFunciARB, libgl), Cvoid, (GLuint, GLenum, GLenum), buf, src, dst) +end + +function glBlendFuncSeparateiARB(buf, srcRGB, dstRGB, srcAlpha, dstAlpha) + ccall((:glBlendFuncSeparateiARB, libgl), Cvoid, (GLuint, GLenum, GLenum, GLenum, GLenum), buf, srcRGB, dstRGB, srcAlpha, dstAlpha) +end + +# typedef void ( APIENTRYP PFNGLDRAWARRAYSINSTANCEDARBPROC ) ( GLenum mode , GLint first , GLsizei count , GLsizei primcount ) +const PFNGLDRAWARRAYSINSTANCEDARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDRAWELEMENTSINSTANCEDARBPROC ) ( GLenum mode , GLsizei count , GLenum type , const void * indices , GLsizei primcount ) +const PFNGLDRAWELEMENTSINSTANCEDARBPROC = Ptr{Cvoid} + +function glDrawArraysInstancedARB(mode, first, count, primcount) + ccall((:glDrawArraysInstancedARB, libgl), Cvoid, (GLenum, GLint, GLsizei, GLsizei), mode, first, count, primcount) +end + +function glDrawElementsInstancedARB(mode, count, type, indices, primcount) + ccall((:glDrawElementsInstancedARB, libgl), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLsizei), mode, count, type, indices, primcount) +end + +# typedef void ( APIENTRYP PFNGLPROGRAMPARAMETERIARBPROC ) ( GLuint program , GLenum pname , GLint value ) +const PFNGLPROGRAMPARAMETERIARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLFRAMEBUFFERTEXTUREARBPROC ) ( GLenum target , GLenum attachment , GLuint texture , GLint level ) +const PFNGLFRAMEBUFFERTEXTUREARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERARBPROC ) ( GLenum target , GLenum attachment , GLuint texture , GLint level , GLint layer ) +const PFNGLFRAMEBUFFERTEXTURELAYERARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLFRAMEBUFFERTEXTUREFACEARBPROC ) ( GLenum target , GLenum attachment , GLuint texture , GLint level , GLenum face ) +const PFNGLFRAMEBUFFERTEXTUREFACEARBPROC = Ptr{Cvoid} + +function glProgramParameteriARB(program, pname, value) + ccall((:glProgramParameteriARB, libgl), Cvoid, (GLuint, GLenum, GLint), program, pname, value) +end + +function glFramebufferTextureARB(target, attachment, texture, level) + ccall((:glFramebufferTextureARB, libgl), Cvoid, (GLenum, GLenum, GLuint, GLint), target, attachment, texture, level) +end + +function glFramebufferTextureLayerARB(target, attachment, texture, level, layer) + ccall((:glFramebufferTextureLayerARB, libgl), Cvoid, (GLenum, GLenum, GLuint, GLint, GLint), target, attachment, texture, level, layer) +end + +function glFramebufferTextureFaceARB(target, attachment, texture, level, face) + ccall((:glFramebufferTextureFaceARB, libgl), Cvoid, (GLenum, GLenum, GLuint, GLint, GLenum), target, attachment, texture, level, face) +end + +# typedef void ( APIENTRYP PFNGLSPECIALIZESHADERARBPROC ) ( GLuint shader , const GLchar * pEntryPoint , GLuint numSpecializationConstants , const GLuint * pConstantIndex , const GLuint * pConstantValue ) +const PFNGLSPECIALIZESHADERARBPROC = Ptr{Cvoid} + +function glSpecializeShaderARB(shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue) + ccall((:glSpecializeShaderARB, libgl), Cvoid, (GLuint, Ptr{GLchar}, GLuint, Ptr{GLuint}, Ptr{GLuint}), shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue) +end + +# typedef void ( APIENTRYP PFNGLUNIFORM1I64ARBPROC ) ( GLint location , GLint64 x ) +const PFNGLUNIFORM1I64ARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM2I64ARBPROC ) ( GLint location , GLint64 x , GLint64 y ) +const PFNGLUNIFORM2I64ARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM3I64ARBPROC ) ( GLint location , GLint64 x , GLint64 y , GLint64 z ) +const PFNGLUNIFORM3I64ARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM4I64ARBPROC ) ( GLint location , GLint64 x , GLint64 y , GLint64 z , GLint64 w ) +const PFNGLUNIFORM4I64ARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM1I64VARBPROC ) ( GLint location , GLsizei count , const GLint64 * value ) +const PFNGLUNIFORM1I64VARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM2I64VARBPROC ) ( GLint location , GLsizei count , const GLint64 * value ) +const PFNGLUNIFORM2I64VARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM3I64VARBPROC ) ( GLint location , GLsizei count , const GLint64 * value ) +const PFNGLUNIFORM3I64VARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM4I64VARBPROC ) ( GLint location , GLsizei count , const GLint64 * value ) +const PFNGLUNIFORM4I64VARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM1UI64ARBPROC ) ( GLint location , GLuint64 x ) +const PFNGLUNIFORM1UI64ARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM2UI64ARBPROC ) ( GLint location , GLuint64 x , GLuint64 y ) +const PFNGLUNIFORM2UI64ARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM3UI64ARBPROC ) ( GLint location , GLuint64 x , GLuint64 y , GLuint64 z ) +const PFNGLUNIFORM3UI64ARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM4UI64ARBPROC ) ( GLint location , GLuint64 x , GLuint64 y , GLuint64 z , GLuint64 w ) +const PFNGLUNIFORM4UI64ARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM1UI64VARBPROC ) ( GLint location , GLsizei count , const GLuint64 * value ) +const PFNGLUNIFORM1UI64VARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM2UI64VARBPROC ) ( GLint location , GLsizei count , const GLuint64 * value ) +const PFNGLUNIFORM2UI64VARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM3UI64VARBPROC ) ( GLint location , GLsizei count , const GLuint64 * value ) +const PFNGLUNIFORM3UI64VARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM4UI64VARBPROC ) ( GLint location , GLsizei count , const GLuint64 * value ) +const PFNGLUNIFORM4UI64VARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETUNIFORMI64VARBPROC ) ( GLuint program , GLint location , GLint64 * params ) +const PFNGLGETUNIFORMI64VARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETUNIFORMUI64VARBPROC ) ( GLuint program , GLint location , GLuint64 * params ) +const PFNGLGETUNIFORMUI64VARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNUNIFORMI64VARBPROC ) ( GLuint program , GLint location , GLsizei bufSize , GLint64 * params ) +const PFNGLGETNUNIFORMI64VARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNUNIFORMUI64VARBPROC ) ( GLuint program , GLint location , GLsizei bufSize , GLuint64 * params ) +const PFNGLGETNUNIFORMUI64VARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM1I64ARBPROC ) ( GLuint program , GLint location , GLint64 x ) +const PFNGLPROGRAMUNIFORM1I64ARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM2I64ARBPROC ) ( GLuint program , GLint location , GLint64 x , GLint64 y ) +const PFNGLPROGRAMUNIFORM2I64ARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM3I64ARBPROC ) ( GLuint program , GLint location , GLint64 x , GLint64 y , GLint64 z ) +const PFNGLPROGRAMUNIFORM3I64ARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM4I64ARBPROC ) ( GLuint program , GLint location , GLint64 x , GLint64 y , GLint64 z , GLint64 w ) +const PFNGLPROGRAMUNIFORM4I64ARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM1I64VARBPROC ) ( GLuint program , GLint location , GLsizei count , const GLint64 * value ) +const PFNGLPROGRAMUNIFORM1I64VARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM2I64VARBPROC ) ( GLuint program , GLint location , GLsizei count , const GLint64 * value ) +const PFNGLPROGRAMUNIFORM2I64VARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM3I64VARBPROC ) ( GLuint program , GLint location , GLsizei count , const GLint64 * value ) +const PFNGLPROGRAMUNIFORM3I64VARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM4I64VARBPROC ) ( GLuint program , GLint location , GLsizei count , const GLint64 * value ) +const PFNGLPROGRAMUNIFORM4I64VARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM1UI64ARBPROC ) ( GLuint program , GLint location , GLuint64 x ) +const PFNGLPROGRAMUNIFORM1UI64ARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM2UI64ARBPROC ) ( GLuint program , GLint location , GLuint64 x , GLuint64 y ) +const PFNGLPROGRAMUNIFORM2UI64ARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM3UI64ARBPROC ) ( GLuint program , GLint location , GLuint64 x , GLuint64 y , GLuint64 z ) +const PFNGLPROGRAMUNIFORM3UI64ARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM4UI64ARBPROC ) ( GLuint program , GLint location , GLuint64 x , GLuint64 y , GLuint64 z , GLuint64 w ) +const PFNGLPROGRAMUNIFORM4UI64ARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM1UI64VARBPROC ) ( GLuint program , GLint location , GLsizei count , const GLuint64 * value ) +const PFNGLPROGRAMUNIFORM1UI64VARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM2UI64VARBPROC ) ( GLuint program , GLint location , GLsizei count , const GLuint64 * value ) +const PFNGLPROGRAMUNIFORM2UI64VARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM3UI64VARBPROC ) ( GLuint program , GLint location , GLsizei count , const GLuint64 * value ) +const PFNGLPROGRAMUNIFORM3UI64VARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM4UI64VARBPROC ) ( GLuint program , GLint location , GLsizei count , const GLuint64 * value ) +const PFNGLPROGRAMUNIFORM4UI64VARBPROC = Ptr{Cvoid} + +function glUniform1i64ARB(location, x) + ccall((:glUniform1i64ARB, libgl), Cvoid, (GLint, GLint64), location, x) +end + +function glUniform2i64ARB(location, x, y) + ccall((:glUniform2i64ARB, libgl), Cvoid, (GLint, GLint64, GLint64), location, x, y) +end + +function glUniform3i64ARB(location, x, y, z) + ccall((:glUniform3i64ARB, libgl), Cvoid, (GLint, GLint64, GLint64, GLint64), location, x, y, z) +end + +function glUniform4i64ARB(location, x, y, z, w) + ccall((:glUniform4i64ARB, libgl), Cvoid, (GLint, GLint64, GLint64, GLint64, GLint64), location, x, y, z, w) +end + +function glUniform1i64vARB(location, count, value) + ccall((:glUniform1i64vARB, libgl), Cvoid, (GLint, GLsizei, Ptr{GLint64}), location, count, value) +end + +function glUniform2i64vARB(location, count, value) + ccall((:glUniform2i64vARB, libgl), Cvoid, (GLint, GLsizei, Ptr{GLint64}), location, count, value) +end + +function glUniform3i64vARB(location, count, value) + ccall((:glUniform3i64vARB, libgl), Cvoid, (GLint, GLsizei, Ptr{GLint64}), location, count, value) +end + +function glUniform4i64vARB(location, count, value) + ccall((:glUniform4i64vARB, libgl), Cvoid, (GLint, GLsizei, Ptr{GLint64}), location, count, value) +end + +function glUniform1ui64ARB(location, x) + ccall((:glUniform1ui64ARB, libgl), Cvoid, (GLint, GLuint64), location, x) +end + +function glUniform2ui64ARB(location, x, y) + ccall((:glUniform2ui64ARB, libgl), Cvoid, (GLint, GLuint64, GLuint64), location, x, y) +end + +function glUniform3ui64ARB(location, x, y, z) + ccall((:glUniform3ui64ARB, libgl), Cvoid, (GLint, GLuint64, GLuint64, GLuint64), location, x, y, z) +end + +function glUniform4ui64ARB(location, x, y, z, w) + ccall((:glUniform4ui64ARB, libgl), Cvoid, (GLint, GLuint64, GLuint64, GLuint64, GLuint64), location, x, y, z, w) +end + +function glUniform1ui64vARB(location, count, value) + ccall((:glUniform1ui64vARB, libgl), Cvoid, (GLint, GLsizei, Ptr{GLuint64}), location, count, value) +end + +function glUniform2ui64vARB(location, count, value) + ccall((:glUniform2ui64vARB, libgl), Cvoid, (GLint, GLsizei, Ptr{GLuint64}), location, count, value) +end + +function glUniform3ui64vARB(location, count, value) + ccall((:glUniform3ui64vARB, libgl), Cvoid, (GLint, GLsizei, Ptr{GLuint64}), location, count, value) +end + +function glUniform4ui64vARB(location, count, value) + ccall((:glUniform4ui64vARB, libgl), Cvoid, (GLint, GLsizei, Ptr{GLuint64}), location, count, value) +end + +function glGetUniformi64vARB(program, location, params) + ccall((:glGetUniformi64vARB, libgl), Cvoid, (GLuint, GLint, Ptr{GLint64}), program, location, params) +end + +function glGetUniformui64vARB(program, location, params) + ccall((:glGetUniformui64vARB, libgl), Cvoid, (GLuint, GLint, Ptr{GLuint64}), program, location, params) +end + +function glGetnUniformi64vARB(program, location, bufSize, params) + ccall((:glGetnUniformi64vARB, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64}), program, location, bufSize, params) +end + +function glGetnUniformui64vARB(program, location, bufSize, params) + ccall((:glGetnUniformui64vARB, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, bufSize, params) +end + +function glProgramUniform1i64ARB(program, location, x) + ccall((:glProgramUniform1i64ARB, libgl), Cvoid, (GLuint, GLint, GLint64), program, location, x) +end + +function glProgramUniform2i64ARB(program, location, x, y) + ccall((:glProgramUniform2i64ARB, libgl), Cvoid, (GLuint, GLint, GLint64, GLint64), program, location, x, y) +end + +function glProgramUniform3i64ARB(program, location, x, y, z) + ccall((:glProgramUniform3i64ARB, libgl), Cvoid, (GLuint, GLint, GLint64, GLint64, GLint64), program, location, x, y, z) +end + +function glProgramUniform4i64ARB(program, location, x, y, z, w) + ccall((:glProgramUniform4i64ARB, libgl), Cvoid, (GLuint, GLint, GLint64, GLint64, GLint64, GLint64), program, location, x, y, z, w) +end + +function glProgramUniform1i64vARB(program, location, count, value) + ccall((:glProgramUniform1i64vARB, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64}), program, location, count, value) +end + +function glProgramUniform2i64vARB(program, location, count, value) + ccall((:glProgramUniform2i64vARB, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64}), program, location, count, value) +end + +function glProgramUniform3i64vARB(program, location, count, value) + ccall((:glProgramUniform3i64vARB, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64}), program, location, count, value) +end + +function glProgramUniform4i64vARB(program, location, count, value) + ccall((:glProgramUniform4i64vARB, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64}), program, location, count, value) +end + +function glProgramUniform1ui64ARB(program, location, x) + ccall((:glProgramUniform1ui64ARB, libgl), Cvoid, (GLuint, GLint, GLuint64), program, location, x) +end + +function glProgramUniform2ui64ARB(program, location, x, y) + ccall((:glProgramUniform2ui64ARB, libgl), Cvoid, (GLuint, GLint, GLuint64, GLuint64), program, location, x, y) +end + +function glProgramUniform3ui64ARB(program, location, x, y, z) + ccall((:glProgramUniform3ui64ARB, libgl), Cvoid, (GLuint, GLint, GLuint64, GLuint64, GLuint64), program, location, x, y, z) +end + +function glProgramUniform4ui64ARB(program, location, x, y, z, w) + ccall((:glProgramUniform4ui64ARB, libgl), Cvoid, (GLuint, GLint, GLuint64, GLuint64, GLuint64, GLuint64), program, location, x, y, z, w) +end + +function glProgramUniform1ui64vARB(program, location, count, value) + ccall((:glProgramUniform1ui64vARB, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, count, value) +end + +function glProgramUniform2ui64vARB(program, location, count, value) + ccall((:glProgramUniform2ui64vARB, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, count, value) +end + +function glProgramUniform3ui64vARB(program, location, count, value) + ccall((:glProgramUniform3ui64vARB, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, count, value) +end + +function glProgramUniform4ui64vARB(program, location, count, value) + ccall((:glProgramUniform4ui64vARB, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, count, value) +end + +# typedef void ( APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC ) ( GLenum mode , const void * indirect , GLintptr drawcount , GLsizei maxdrawcount , GLsizei stride ) +const PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC ) ( GLenum mode , GLenum type , const void * indirect , GLintptr drawcount , GLsizei maxdrawcount , GLsizei stride ) +const PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC = Ptr{Cvoid} + +function glMultiDrawArraysIndirectCountARB(mode, indirect, drawcount, maxdrawcount, stride) + ccall((:glMultiDrawArraysIndirectCountARB, libgl), Cvoid, (GLenum, Ptr{Cvoid}, GLintptr, GLsizei, GLsizei), mode, indirect, drawcount, maxdrawcount, stride) +end + +function glMultiDrawElementsIndirectCountARB(mode, type, indirect, drawcount, maxdrawcount, stride) + ccall((:glMultiDrawElementsIndirectCountARB, libgl), Cvoid, (GLenum, GLenum, Ptr{Cvoid}, GLintptr, GLsizei, GLsizei), mode, type, indirect, drawcount, maxdrawcount, stride) +end + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBDIVISORARBPROC ) ( GLuint index , GLuint divisor ) +const PFNGLVERTEXATTRIBDIVISORARBPROC = Ptr{Cvoid} + +function glVertexAttribDivisorARB(index, divisor) + ccall((:glVertexAttribDivisorARB, libgl), Cvoid, (GLuint, GLuint), index, divisor) +end + +# typedef void ( APIENTRYP PFNGLMAXSHADERCOMPILERTHREADSARBPROC ) ( GLuint count ) +const PFNGLMAXSHADERCOMPILERTHREADSARBPROC = Ptr{Cvoid} + +function glMaxShaderCompilerThreadsARB(count) + ccall((:glMaxShaderCompilerThreadsARB, libgl), Cvoid, (GLuint,), count) +end + +# typedef GLenum ( APIENTRYP PFNGLGETGRAPHICSRESETSTATUSARBPROC ) ( void ) +const PFNGLGETGRAPHICSRESETSTATUSARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNTEXIMAGEARBPROC ) ( GLenum target , GLint level , GLenum format , GLenum type , GLsizei bufSize , void * img ) +const PFNGLGETNTEXIMAGEARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLREADNPIXELSARBPROC ) ( GLint x , GLint y , GLsizei width , GLsizei height , GLenum format , GLenum type , GLsizei bufSize , void * data ) +const PFNGLREADNPIXELSARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC ) ( GLenum target , GLint lod , GLsizei bufSize , void * img ) +const PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNUNIFORMFVARBPROC ) ( GLuint program , GLint location , GLsizei bufSize , GLfloat * params ) +const PFNGLGETNUNIFORMFVARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNUNIFORMIVARBPROC ) ( GLuint program , GLint location , GLsizei bufSize , GLint * params ) +const PFNGLGETNUNIFORMIVARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNUNIFORMUIVARBPROC ) ( GLuint program , GLint location , GLsizei bufSize , GLuint * params ) +const PFNGLGETNUNIFORMUIVARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNUNIFORMDVARBPROC ) ( GLuint program , GLint location , GLsizei bufSize , GLdouble * params ) +const PFNGLGETNUNIFORMDVARBPROC = Ptr{Cvoid} + +function glGetGraphicsResetStatusARB() + ccall((:glGetGraphicsResetStatusARB, libgl), GLenum, ()) +end + +function glGetnTexImageARB(target, level, format, type, bufSize, img) + ccall((:glGetnTexImageARB, libgl), Cvoid, (GLenum, GLint, GLenum, GLenum, GLsizei, Ptr{Cvoid}), target, level, format, type, bufSize, img) +end + +function glReadnPixelsARB(x, y, width, height, format, type, bufSize, data) + ccall((:glReadnPixelsARB, libgl), Cvoid, (GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, Ptr{Cvoid}), x, y, width, height, format, type, bufSize, data) +end + +function glGetnCompressedTexImageARB(target, lod, bufSize, img) + ccall((:glGetnCompressedTexImageARB, libgl), Cvoid, (GLenum, GLint, GLsizei, Ptr{Cvoid}), target, lod, bufSize, img) +end + +function glGetnUniformfvARB(program, location, bufSize, params) + ccall((:glGetnUniformfvARB, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, bufSize, params) +end + +function glGetnUniformivARB(program, location, bufSize, params) + ccall((:glGetnUniformivARB, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, bufSize, params) +end + +function glGetnUniformuivARB(program, location, bufSize, params) + ccall((:glGetnUniformuivARB, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, bufSize, params) +end + +function glGetnUniformdvARB(program, location, bufSize, params) + ccall((:glGetnUniformdvARB, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, bufSize, params) +end + +# typedef void ( APIENTRYP PFNGLFRAMEBUFFERSAMPLELOCATIONSFVARBPROC ) ( GLenum target , GLuint start , GLsizei count , const GLfloat * v ) +const PFNGLFRAMEBUFFERSAMPLELOCATIONSFVARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVARBPROC ) ( GLuint framebuffer , GLuint start , GLsizei count , const GLfloat * v ) +const PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLEVALUATEDEPTHVALUESARBPROC ) ( void ) +const PFNGLEVALUATEDEPTHVALUESARBPROC = Ptr{Cvoid} + +function glFramebufferSampleLocationsfvARB(target, start, count, v) + ccall((:glFramebufferSampleLocationsfvARB, libgl), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLfloat}), target, start, count, v) +end + +function glNamedFramebufferSampleLocationsfvARB(framebuffer, start, count, v) + ccall((:glNamedFramebufferSampleLocationsfvARB, libgl), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLfloat}), framebuffer, start, count, v) +end + +function glEvaluateDepthValuesARB() + ccall((:glEvaluateDepthValuesARB, libgl), Cvoid, ()) +end + +# typedef void ( APIENTRYP PFNGLMINSAMPLESHADINGARBPROC ) ( GLfloat value ) +const PFNGLMINSAMPLESHADINGARBPROC = Ptr{Cvoid} + +function glMinSampleShadingARB(value) + ccall((:glMinSampleShadingARB, libgl), Cvoid, (GLfloat,), value) +end + +# typedef void ( APIENTRYP PFNGLNAMEDSTRINGARBPROC ) ( GLenum type , GLint namelen , const GLchar * name , GLint stringlen , const GLchar * string ) +const PFNGLNAMEDSTRINGARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDELETENAMEDSTRINGARBPROC ) ( GLint namelen , const GLchar * name ) +const PFNGLDELETENAMEDSTRINGARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOMPILESHADERINCLUDEARBPROC ) ( GLuint shader , GLsizei count , const GLchar * const * path , const GLint * length ) +const PFNGLCOMPILESHADERINCLUDEARBPROC = Ptr{Cvoid} + +# typedef GLboolean ( APIENTRYP PFNGLISNAMEDSTRINGARBPROC ) ( GLint namelen , const GLchar * name ) +const PFNGLISNAMEDSTRINGARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNAMEDSTRINGARBPROC ) ( GLint namelen , const GLchar * name , GLsizei bufSize , GLint * stringlen , GLchar * string ) +const PFNGLGETNAMEDSTRINGARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNAMEDSTRINGIVARBPROC ) ( GLint namelen , const GLchar * name , GLenum pname , GLint * params ) +const PFNGLGETNAMEDSTRINGIVARBPROC = Ptr{Cvoid} + +function glNamedStringARB(type, namelen, name, stringlen, string) + ccall((:glNamedStringARB, libgl), Cvoid, (GLenum, GLint, Ptr{GLchar}, GLint, Ptr{GLchar}), type, namelen, name, stringlen, string) +end + +function glDeleteNamedStringARB(namelen, name) + ccall((:glDeleteNamedStringARB, libgl), Cvoid, (GLint, Ptr{GLchar}), namelen, name) +end + +function glCompileShaderIncludeARB(shader, count, path, length) + ccall((:glCompileShaderIncludeARB, libgl), Cvoid, (GLuint, GLsizei, Ptr{Ptr{GLchar}}, Ptr{GLint}), shader, count, path, length) +end + +function glIsNamedStringARB(namelen, name) + ccall((:glIsNamedStringARB, libgl), GLboolean, (GLint, Ptr{GLchar}), namelen, name) +end + +function glGetNamedStringARB(namelen, name, bufSize, stringlen, string) + ccall((:glGetNamedStringARB, libgl), Cvoid, (GLint, Ptr{GLchar}, GLsizei, Ptr{GLint}, Ptr{GLchar}), namelen, name, bufSize, stringlen, string) +end + +function glGetNamedStringivARB(namelen, name, pname, params) + ccall((:glGetNamedStringivARB, libgl), Cvoid, (GLint, Ptr{GLchar}, GLenum, Ptr{GLint}), namelen, name, pname, params) +end + +# typedef void ( APIENTRYP PFNGLBUFFERPAGECOMMITMENTARBPROC ) ( GLenum target , GLintptr offset , GLsizeiptr size , GLboolean commit ) +const PFNGLBUFFERPAGECOMMITMENTARBPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDBUFFERPAGECOMMITMENTEXTPROC ) ( GLuint buffer , GLintptr offset , GLsizeiptr size , GLboolean commit ) +const PFNGLNAMEDBUFFERPAGECOMMITMENTEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDBUFFERPAGECOMMITMENTARBPROC ) ( GLuint buffer , GLintptr offset , GLsizeiptr size , GLboolean commit ) +const PFNGLNAMEDBUFFERPAGECOMMITMENTARBPROC = Ptr{Cvoid} + +function glBufferPageCommitmentARB(target, offset, size, commit) + ccall((:glBufferPageCommitmentARB, libgl), Cvoid, (GLenum, GLintptr, GLsizeiptr, GLboolean), target, offset, size, commit) +end + +function glNamedBufferPageCommitmentEXT(buffer, offset, size, commit) + ccall((:glNamedBufferPageCommitmentEXT, libgl), Cvoid, (GLuint, GLintptr, GLsizeiptr, GLboolean), buffer, offset, size, commit) +end + +function glNamedBufferPageCommitmentARB(buffer, offset, size, commit) + ccall((:glNamedBufferPageCommitmentARB, libgl), Cvoid, (GLuint, GLintptr, GLsizeiptr, GLboolean), buffer, offset, size, commit) +end + +# typedef void ( APIENTRYP PFNGLTEXPAGECOMMITMENTARBPROC ) ( GLenum target , GLint level , GLint xoffset , GLint yoffset , GLint zoffset , GLsizei width , GLsizei height , GLsizei depth , GLboolean commit ) +const PFNGLTEXPAGECOMMITMENTARBPROC = Ptr{Cvoid} + +function glTexPageCommitmentARB(target, level, xoffset, yoffset, zoffset, width, height, depth, commit) + ccall((:glTexPageCommitmentARB, libgl), Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLboolean), target, level, xoffset, yoffset, zoffset, width, height, depth, commit) +end + +# typedef void ( APIENTRYP PFNGLTEXBUFFERARBPROC ) ( GLenum target , GLenum internalformat , GLuint buffer ) +const PFNGLTEXBUFFERARBPROC = Ptr{Cvoid} + +function glTexBufferARB(target, internalformat, buffer) + ccall((:glTexBufferARB, libgl), Cvoid, (GLenum, GLenum, GLuint), target, internalformat, buffer) +end + +# typedef void ( APIENTRYP PFNGLDEPTHRANGEARRAYDVNVPROC ) ( GLuint first , GLsizei count , const GLdouble * v ) +const PFNGLDEPTHRANGEARRAYDVNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDEPTHRANGEINDEXEDDNVPROC ) ( GLuint index , GLdouble n , GLdouble f ) +const PFNGLDEPTHRANGEINDEXEDDNVPROC = Ptr{Cvoid} + +function glDepthRangeArraydvNV(first, count, v) + ccall((:glDepthRangeArraydvNV, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLdouble}), first, count, v) +end + +function glDepthRangeIndexeddNV(index, n, f) + ccall((:glDepthRangeIndexeddNV, libgl), Cvoid, (GLuint, GLdouble, GLdouble), index, n, f) +end + +# typedef void ( APIENTRYP PFNGLBLENDBARRIERKHRPROC ) ( void ) +const PFNGLBLENDBARRIERKHRPROC = Ptr{Cvoid} + +function glBlendBarrierKHR() + ccall((:glBlendBarrierKHR, libgl), Cvoid, ()) +end + +# typedef void ( APIENTRYP PFNGLMAXSHADERCOMPILERTHREADSKHRPROC ) ( GLuint count ) +const PFNGLMAXSHADERCOMPILERTHREADSKHRPROC = Ptr{Cvoid} + +function glMaxShaderCompilerThreadsKHR(count) + ccall((:glMaxShaderCompilerThreadsKHR, libgl), Cvoid, (GLuint,), count) +end + +# typedef void ( APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEADVANCEDAMDPROC ) ( GLenum target , GLsizei samples , GLsizei storageSamples , GLenum internalformat , GLsizei width , GLsizei height ) +const PFNGLRENDERBUFFERSTORAGEMULTISAMPLEADVANCEDAMDPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEADVANCEDAMDPROC ) ( GLuint renderbuffer , GLsizei samples , GLsizei storageSamples , GLenum internalformat , GLsizei width , GLsizei height ) +const PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEADVANCEDAMDPROC = Ptr{Cvoid} + +function glRenderbufferStorageMultisampleAdvancedAMD(target, samples, storageSamples, internalformat, width, height) + ccall((:glRenderbufferStorageMultisampleAdvancedAMD, libgl), Cvoid, (GLenum, GLsizei, GLsizei, GLenum, GLsizei, GLsizei), target, samples, storageSamples, internalformat, width, height) +end + +function glNamedRenderbufferStorageMultisampleAdvancedAMD(renderbuffer, samples, storageSamples, internalformat, width, height) + ccall((:glNamedRenderbufferStorageMultisampleAdvancedAMD, libgl), Cvoid, (GLuint, GLsizei, GLsizei, GLenum, GLsizei, GLsizei), renderbuffer, samples, storageSamples, internalformat, width, height) +end + +# typedef void ( APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC ) ( GLint * numGroups , GLsizei groupsSize , GLuint * groups ) +const PFNGLGETPERFMONITORGROUPSAMDPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC ) ( GLuint group , GLint * numCounters , GLint * maxActiveCounters , GLsizei counterSize , GLuint * counters ) +const PFNGLGETPERFMONITORCOUNTERSAMDPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC ) ( GLuint group , GLsizei bufSize , GLsizei * length , GLchar * groupString ) +const PFNGLGETPERFMONITORGROUPSTRINGAMDPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC ) ( GLuint group , GLuint counter , GLsizei bufSize , GLsizei * length , GLchar * counterString ) +const PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC ) ( GLuint group , GLuint counter , GLenum pname , void * data ) +const PFNGLGETPERFMONITORCOUNTERINFOAMDPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGENPERFMONITORSAMDPROC ) ( GLsizei n , GLuint * monitors ) +const PFNGLGENPERFMONITORSAMDPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC ) ( GLsizei n , GLuint * monitors ) +const PFNGLDELETEPERFMONITORSAMDPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC ) ( GLuint monitor , GLboolean enable , GLuint group , GLint numCounters , GLuint * counterList ) +const PFNGLSELECTPERFMONITORCOUNTERSAMDPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBEGINPERFMONITORAMDPROC ) ( GLuint monitor ) +const PFNGLBEGINPERFMONITORAMDPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLENDPERFMONITORAMDPROC ) ( GLuint monitor ) +const PFNGLENDPERFMONITORAMDPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC ) ( GLuint monitor , GLenum pname , GLsizei dataSize , GLuint * data , GLint * bytesWritten ) +const PFNGLGETPERFMONITORCOUNTERDATAAMDPROC = Ptr{Cvoid} + +function glGetPerfMonitorGroupsAMD(numGroups, groupsSize, groups) + ccall((:glGetPerfMonitorGroupsAMD, libgl), Cvoid, (Ptr{GLint}, GLsizei, Ptr{GLuint}), numGroups, groupsSize, groups) +end + +function glGetPerfMonitorCountersAMD(group, numCounters, maxActiveCounters, counterSize, counters) + ccall((:glGetPerfMonitorCountersAMD, libgl), Cvoid, (GLuint, Ptr{GLint}, Ptr{GLint}, GLsizei, Ptr{GLuint}), group, numCounters, maxActiveCounters, counterSize, counters) +end + +function glGetPerfMonitorGroupStringAMD(group, bufSize, length, groupString) + ccall((:glGetPerfMonitorGroupStringAMD, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), group, bufSize, length, groupString) +end + +function glGetPerfMonitorCounterStringAMD(group, counter, bufSize, length, counterString) + ccall((:glGetPerfMonitorCounterStringAMD, libgl), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), group, counter, bufSize, length, counterString) +end + +function glGetPerfMonitorCounterInfoAMD(group, counter, pname, data) + ccall((:glGetPerfMonitorCounterInfoAMD, libgl), Cvoid, (GLuint, GLuint, GLenum, Ptr{Cvoid}), group, counter, pname, data) +end + +function glGenPerfMonitorsAMD(n, monitors) + ccall((:glGenPerfMonitorsAMD, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, monitors) +end + +function glDeletePerfMonitorsAMD(n, monitors) + ccall((:glDeletePerfMonitorsAMD, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, monitors) +end + +function glSelectPerfMonitorCountersAMD(monitor, enable, group, numCounters, counterList) + ccall((:glSelectPerfMonitorCountersAMD, libgl), Cvoid, (GLuint, GLboolean, GLuint, GLint, Ptr{GLuint}), monitor, enable, group, numCounters, counterList) +end + +function glBeginPerfMonitorAMD(monitor) + ccall((:glBeginPerfMonitorAMD, libgl), Cvoid, (GLuint,), monitor) +end + +function glEndPerfMonitorAMD(monitor) + ccall((:glEndPerfMonitorAMD, libgl), Cvoid, (GLuint,), monitor) +end + +function glGetPerfMonitorCounterDataAMD(monitor, pname, dataSize, data, bytesWritten) + ccall((:glGetPerfMonitorCounterDataAMD, libgl), Cvoid, (GLuint, GLenum, GLsizei, Ptr{GLuint}, Ptr{GLint}), monitor, pname, dataSize, data, bytesWritten) +end + +const GLeglImageOES = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLEGLIMAGETARGETTEXSTORAGEEXTPROC ) ( GLenum target , GLeglImageOES image , const GLint * attrib_list ) +const PFNGLEGLIMAGETARGETTEXSTORAGEEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLEGLIMAGETARGETTEXTURESTORAGEEXTPROC ) ( GLuint texture , GLeglImageOES image , const GLint * attrib_list ) +const PFNGLEGLIMAGETARGETTEXTURESTORAGEEXTPROC = Ptr{Cvoid} + +function glEGLImageTargetTexStorageEXT(target, image, attrib_list) + ccall((:glEGLImageTargetTexStorageEXT, libgl), Cvoid, (GLenum, GLeglImageOES, Ptr{GLint}), target, image, attrib_list) +end + +function glEGLImageTargetTextureStorageEXT(texture, image, attrib_list) + ccall((:glEGLImageTargetTextureStorageEXT, libgl), Cvoid, (GLuint, GLeglImageOES, Ptr{GLint}), texture, image, attrib_list) +end + +# typedef void ( APIENTRYP PFNGLLABELOBJECTEXTPROC ) ( GLenum type , GLuint object , GLsizei length , const GLchar * label ) +const PFNGLLABELOBJECTEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETOBJECTLABELEXTPROC ) ( GLenum type , GLuint object , GLsizei bufSize , GLsizei * length , GLchar * label ) +const PFNGLGETOBJECTLABELEXTPROC = Ptr{Cvoid} + +function glLabelObjectEXT(type, object, length, label) + ccall((:glLabelObjectEXT, libgl), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLchar}), type, object, length, label) +end + +function glGetObjectLabelEXT(type, object, bufSize, length, label) + ccall((:glGetObjectLabelEXT, libgl), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), type, object, bufSize, length, label) +end + +# typedef void ( APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC ) ( GLsizei length , const GLchar * marker ) +const PFNGLINSERTEVENTMARKEREXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC ) ( GLsizei length , const GLchar * marker ) +const PFNGLPUSHGROUPMARKEREXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPOPGROUPMARKEREXTPROC ) ( void ) +const PFNGLPOPGROUPMARKEREXTPROC = Ptr{Cvoid} + +function glInsertEventMarkerEXT(length, marker) + ccall((:glInsertEventMarkerEXT, libgl), Cvoid, (GLsizei, Ptr{GLchar}), length, marker) +end + +function glPushGroupMarkerEXT(length, marker) + ccall((:glPushGroupMarkerEXT, libgl), Cvoid, (GLsizei, Ptr{GLchar}), length, marker) +end + +function glPopGroupMarkerEXT() + ccall((:glPopGroupMarkerEXT, libgl), Cvoid, ()) +end + +# typedef void ( APIENTRYP PFNGLMATRIXLOADFEXTPROC ) ( GLenum mode , const GLfloat * m ) +const PFNGLMATRIXLOADFEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMATRIXLOADDEXTPROC ) ( GLenum mode , const GLdouble * m ) +const PFNGLMATRIXLOADDEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMATRIXMULTFEXTPROC ) ( GLenum mode , const GLfloat * m ) +const PFNGLMATRIXMULTFEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMATRIXMULTDEXTPROC ) ( GLenum mode , const GLdouble * m ) +const PFNGLMATRIXMULTDEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMATRIXLOADIDENTITYEXTPROC ) ( GLenum mode ) +const PFNGLMATRIXLOADIDENTITYEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMATRIXROTATEFEXTPROC ) ( GLenum mode , GLfloat angle , GLfloat x , GLfloat y , GLfloat z ) +const PFNGLMATRIXROTATEFEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMATRIXROTATEDEXTPROC ) ( GLenum mode , GLdouble angle , GLdouble x , GLdouble y , GLdouble z ) +const PFNGLMATRIXROTATEDEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMATRIXSCALEFEXTPROC ) ( GLenum mode , GLfloat x , GLfloat y , GLfloat z ) +const PFNGLMATRIXSCALEFEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMATRIXSCALEDEXTPROC ) ( GLenum mode , GLdouble x , GLdouble y , GLdouble z ) +const PFNGLMATRIXSCALEDEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMATRIXTRANSLATEFEXTPROC ) ( GLenum mode , GLfloat x , GLfloat y , GLfloat z ) +const PFNGLMATRIXTRANSLATEFEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMATRIXTRANSLATEDEXTPROC ) ( GLenum mode , GLdouble x , GLdouble y , GLdouble z ) +const PFNGLMATRIXTRANSLATEDEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMATRIXFRUSTUMEXTPROC ) ( GLenum mode , GLdouble left , GLdouble right , GLdouble bottom , GLdouble top , GLdouble zNear , GLdouble zFar ) +const PFNGLMATRIXFRUSTUMEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMATRIXORTHOEXTPROC ) ( GLenum mode , GLdouble left , GLdouble right , GLdouble bottom , GLdouble top , GLdouble zNear , GLdouble zFar ) +const PFNGLMATRIXORTHOEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMATRIXPOPEXTPROC ) ( GLenum mode ) +const PFNGLMATRIXPOPEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMATRIXPUSHEXTPROC ) ( GLenum mode ) +const PFNGLMATRIXPUSHEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCLIENTATTRIBDEFAULTEXTPROC ) ( GLbitfield mask ) +const PFNGLCLIENTATTRIBDEFAULTEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC ) ( GLbitfield mask ) +const PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTUREPARAMETERFEXTPROC ) ( GLuint texture , GLenum target , GLenum pname , GLfloat param ) +const PFNGLTEXTUREPARAMETERFEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTUREPARAMETERFVEXTPROC ) ( GLuint texture , GLenum target , GLenum pname , const GLfloat * params ) +const PFNGLTEXTUREPARAMETERFVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTUREPARAMETERIEXTPROC ) ( GLuint texture , GLenum target , GLenum pname , GLint param ) +const PFNGLTEXTUREPARAMETERIEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTUREPARAMETERIVEXTPROC ) ( GLuint texture , GLenum target , GLenum pname , const GLint * params ) +const PFNGLTEXTUREPARAMETERIVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTUREIMAGE1DEXTPROC ) ( GLuint texture , GLenum target , GLint level , GLint internalformat , GLsizei width , GLint border , GLenum format , GLenum type , const void * pixels ) +const PFNGLTEXTUREIMAGE1DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTUREIMAGE2DEXTPROC ) ( GLuint texture , GLenum target , GLint level , GLint internalformat , GLsizei width , GLsizei height , GLint border , GLenum format , GLenum type , const void * pixels ) +const PFNGLTEXTUREIMAGE2DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTURESUBIMAGE1DEXTPROC ) ( GLuint texture , GLenum target , GLint level , GLint xoffset , GLsizei width , GLenum format , GLenum type , const void * pixels ) +const PFNGLTEXTURESUBIMAGE1DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTURESUBIMAGE2DEXTPROC ) ( GLuint texture , GLenum target , GLint level , GLint xoffset , GLint yoffset , GLsizei width , GLsizei height , GLenum format , GLenum type , const void * pixels ) +const PFNGLTEXTURESUBIMAGE2DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOPYTEXTUREIMAGE1DEXTPROC ) ( GLuint texture , GLenum target , GLint level , GLenum internalformat , GLint x , GLint y , GLsizei width , GLint border ) +const PFNGLCOPYTEXTUREIMAGE1DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOPYTEXTUREIMAGE2DEXTPROC ) ( GLuint texture , GLenum target , GLint level , GLenum internalformat , GLint x , GLint y , GLsizei width , GLsizei height , GLint border ) +const PFNGLCOPYTEXTUREIMAGE2DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC ) ( GLuint texture , GLenum target , GLint level , GLint xoffset , GLint x , GLint y , GLsizei width ) +const PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC ) ( GLuint texture , GLenum target , GLint level , GLint xoffset , GLint yoffset , GLint x , GLint y , GLsizei width , GLsizei height ) +const PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETTEXTUREIMAGEEXTPROC ) ( GLuint texture , GLenum target , GLint level , GLenum format , GLenum type , void * pixels ) +const PFNGLGETTEXTUREIMAGEEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETTEXTUREPARAMETERFVEXTPROC ) ( GLuint texture , GLenum target , GLenum pname , GLfloat * params ) +const PFNGLGETTEXTUREPARAMETERFVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETTEXTUREPARAMETERIVEXTPROC ) ( GLuint texture , GLenum target , GLenum pname , GLint * params ) +const PFNGLGETTEXTUREPARAMETERIVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC ) ( GLuint texture , GLenum target , GLint level , GLenum pname , GLfloat * params ) +const PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC ) ( GLuint texture , GLenum target , GLint level , GLenum pname , GLint * params ) +const PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTUREIMAGE3DEXTPROC ) ( GLuint texture , GLenum target , GLint level , GLint internalformat , GLsizei width , GLsizei height , GLsizei depth , GLint border , GLenum format , GLenum type , const void * pixels ) +const PFNGLTEXTUREIMAGE3DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTURESUBIMAGE3DEXTPROC ) ( GLuint texture , GLenum target , GLint level , GLint xoffset , GLint yoffset , GLint zoffset , GLsizei width , GLsizei height , GLsizei depth , GLenum format , GLenum type , const void * pixels ) +const PFNGLTEXTURESUBIMAGE3DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC ) ( GLuint texture , GLenum target , GLint level , GLint xoffset , GLint yoffset , GLint zoffset , GLint x , GLint y , GLsizei width , GLsizei height ) +const PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBINDMULTITEXTUREEXTPROC ) ( GLenum texunit , GLenum target , GLuint texture ) +const PFNGLBINDMULTITEXTUREEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTITEXCOORDPOINTEREXTPROC ) ( GLenum texunit , GLint size , GLenum type , GLsizei stride , const void * pointer ) +const PFNGLMULTITEXCOORDPOINTEREXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTITEXENVFEXTPROC ) ( GLenum texunit , GLenum target , GLenum pname , GLfloat param ) +const PFNGLMULTITEXENVFEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTITEXENVFVEXTPROC ) ( GLenum texunit , GLenum target , GLenum pname , const GLfloat * params ) +const PFNGLMULTITEXENVFVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTITEXENVIEXTPROC ) ( GLenum texunit , GLenum target , GLenum pname , GLint param ) +const PFNGLMULTITEXENVIEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTITEXENVIVEXTPROC ) ( GLenum texunit , GLenum target , GLenum pname , const GLint * params ) +const PFNGLMULTITEXENVIVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTITEXGENDEXTPROC ) ( GLenum texunit , GLenum coord , GLenum pname , GLdouble param ) +const PFNGLMULTITEXGENDEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTITEXGENDVEXTPROC ) ( GLenum texunit , GLenum coord , GLenum pname , const GLdouble * params ) +const PFNGLMULTITEXGENDVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTITEXGENFEXTPROC ) ( GLenum texunit , GLenum coord , GLenum pname , GLfloat param ) +const PFNGLMULTITEXGENFEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTITEXGENFVEXTPROC ) ( GLenum texunit , GLenum coord , GLenum pname , const GLfloat * params ) +const PFNGLMULTITEXGENFVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTITEXGENIEXTPROC ) ( GLenum texunit , GLenum coord , GLenum pname , GLint param ) +const PFNGLMULTITEXGENIEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTITEXGENIVEXTPROC ) ( GLenum texunit , GLenum coord , GLenum pname , const GLint * params ) +const PFNGLMULTITEXGENIVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETMULTITEXENVFVEXTPROC ) ( GLenum texunit , GLenum target , GLenum pname , GLfloat * params ) +const PFNGLGETMULTITEXENVFVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETMULTITEXENVIVEXTPROC ) ( GLenum texunit , GLenum target , GLenum pname , GLint * params ) +const PFNGLGETMULTITEXENVIVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETMULTITEXGENDVEXTPROC ) ( GLenum texunit , GLenum coord , GLenum pname , GLdouble * params ) +const PFNGLGETMULTITEXGENDVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETMULTITEXGENFVEXTPROC ) ( GLenum texunit , GLenum coord , GLenum pname , GLfloat * params ) +const PFNGLGETMULTITEXGENFVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETMULTITEXGENIVEXTPROC ) ( GLenum texunit , GLenum coord , GLenum pname , GLint * params ) +const PFNGLGETMULTITEXGENIVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTITEXPARAMETERIEXTPROC ) ( GLenum texunit , GLenum target , GLenum pname , GLint param ) +const PFNGLMULTITEXPARAMETERIEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTITEXPARAMETERIVEXTPROC ) ( GLenum texunit , GLenum target , GLenum pname , const GLint * params ) +const PFNGLMULTITEXPARAMETERIVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTITEXPARAMETERFEXTPROC ) ( GLenum texunit , GLenum target , GLenum pname , GLfloat param ) +const PFNGLMULTITEXPARAMETERFEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTITEXPARAMETERFVEXTPROC ) ( GLenum texunit , GLenum target , GLenum pname , const GLfloat * params ) +const PFNGLMULTITEXPARAMETERFVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTITEXIMAGE1DEXTPROC ) ( GLenum texunit , GLenum target , GLint level , GLint internalformat , GLsizei width , GLint border , GLenum format , GLenum type , const void * pixels ) +const PFNGLMULTITEXIMAGE1DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTITEXIMAGE2DEXTPROC ) ( GLenum texunit , GLenum target , GLint level , GLint internalformat , GLsizei width , GLsizei height , GLint border , GLenum format , GLenum type , const void * pixels ) +const PFNGLMULTITEXIMAGE2DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTITEXSUBIMAGE1DEXTPROC ) ( GLenum texunit , GLenum target , GLint level , GLint xoffset , GLsizei width , GLenum format , GLenum type , const void * pixels ) +const PFNGLMULTITEXSUBIMAGE1DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTITEXSUBIMAGE2DEXTPROC ) ( GLenum texunit , GLenum target , GLint level , GLint xoffset , GLint yoffset , GLsizei width , GLsizei height , GLenum format , GLenum type , const void * pixels ) +const PFNGLMULTITEXSUBIMAGE2DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOPYMULTITEXIMAGE1DEXTPROC ) ( GLenum texunit , GLenum target , GLint level , GLenum internalformat , GLint x , GLint y , GLsizei width , GLint border ) +const PFNGLCOPYMULTITEXIMAGE1DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOPYMULTITEXIMAGE2DEXTPROC ) ( GLenum texunit , GLenum target , GLint level , GLenum internalformat , GLint x , GLint y , GLsizei width , GLsizei height , GLint border ) +const PFNGLCOPYMULTITEXIMAGE2DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC ) ( GLenum texunit , GLenum target , GLint level , GLint xoffset , GLint x , GLint y , GLsizei width ) +const PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC ) ( GLenum texunit , GLenum target , GLint level , GLint xoffset , GLint yoffset , GLint x , GLint y , GLsizei width , GLsizei height ) +const PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETMULTITEXIMAGEEXTPROC ) ( GLenum texunit , GLenum target , GLint level , GLenum format , GLenum type , void * pixels ) +const PFNGLGETMULTITEXIMAGEEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETMULTITEXPARAMETERFVEXTPROC ) ( GLenum texunit , GLenum target , GLenum pname , GLfloat * params ) +const PFNGLGETMULTITEXPARAMETERFVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETMULTITEXPARAMETERIVEXTPROC ) ( GLenum texunit , GLenum target , GLenum pname , GLint * params ) +const PFNGLGETMULTITEXPARAMETERIVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC ) ( GLenum texunit , GLenum target , GLint level , GLenum pname , GLfloat * params ) +const PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC ) ( GLenum texunit , GLenum target , GLint level , GLenum pname , GLint * params ) +const PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTITEXIMAGE3DEXTPROC ) ( GLenum texunit , GLenum target , GLint level , GLint internalformat , GLsizei width , GLsizei height , GLsizei depth , GLint border , GLenum format , GLenum type , const void * pixels ) +const PFNGLMULTITEXIMAGE3DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTITEXSUBIMAGE3DEXTPROC ) ( GLenum texunit , GLenum target , GLint level , GLint xoffset , GLint yoffset , GLint zoffset , GLsizei width , GLsizei height , GLsizei depth , GLenum format , GLenum type , const void * pixels ) +const PFNGLMULTITEXSUBIMAGE3DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC ) ( GLenum texunit , GLenum target , GLint level , GLint xoffset , GLint yoffset , GLint zoffset , GLint x , GLint y , GLsizei width , GLsizei height ) +const PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLENABLECLIENTSTATEINDEXEDEXTPROC ) ( GLenum array , GLuint index ) +const PFNGLENABLECLIENTSTATEINDEXEDEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC ) ( GLenum array , GLuint index ) +const PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETFLOATINDEXEDVEXTPROC ) ( GLenum target , GLuint index , GLfloat * data ) +const PFNGLGETFLOATINDEXEDVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETDOUBLEINDEXEDVEXTPROC ) ( GLenum target , GLuint index , GLdouble * data ) +const PFNGLGETDOUBLEINDEXEDVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETPOINTERINDEXEDVEXTPROC ) ( GLenum target , GLuint index , void * * data ) +const PFNGLGETPOINTERINDEXEDVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLENABLEINDEXEDEXTPROC ) ( GLenum target , GLuint index ) +const PFNGLENABLEINDEXEDEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDISABLEINDEXEDEXTPROC ) ( GLenum target , GLuint index ) +const PFNGLDISABLEINDEXEDEXTPROC = Ptr{Cvoid} + +# typedef GLboolean ( APIENTRYP PFNGLISENABLEDINDEXEDEXTPROC ) ( GLenum target , GLuint index ) +const PFNGLISENABLEDINDEXEDEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETINTEGERINDEXEDVEXTPROC ) ( GLenum target , GLuint index , GLint * data ) +const PFNGLGETINTEGERINDEXEDVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETBOOLEANINDEXEDVEXTPROC ) ( GLenum target , GLuint index , GLboolean * data ) +const PFNGLGETBOOLEANINDEXEDVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC ) ( GLuint texture , GLenum target , GLint level , GLenum internalformat , GLsizei width , GLsizei height , GLsizei depth , GLint border , GLsizei imageSize , const void * bits ) +const PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC ) ( GLuint texture , GLenum target , GLint level , GLenum internalformat , GLsizei width , GLsizei height , GLint border , GLsizei imageSize , const void * bits ) +const PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC ) ( GLuint texture , GLenum target , GLint level , GLenum internalformat , GLsizei width , GLint border , GLsizei imageSize , const void * bits ) +const PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC ) ( GLuint texture , GLenum target , GLint level , GLint xoffset , GLint yoffset , GLint zoffset , GLsizei width , GLsizei height , GLsizei depth , GLenum format , GLsizei imageSize , const void * bits ) +const PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC ) ( GLuint texture , GLenum target , GLint level , GLint xoffset , GLint yoffset , GLsizei width , GLsizei height , GLenum format , GLsizei imageSize , const void * bits ) +const PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC ) ( GLuint texture , GLenum target , GLint level , GLint xoffset , GLsizei width , GLenum format , GLsizei imageSize , const void * bits ) +const PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC ) ( GLuint texture , GLenum target , GLint lod , void * img ) +const PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC ) ( GLenum texunit , GLenum target , GLint level , GLenum internalformat , GLsizei width , GLsizei height , GLsizei depth , GLint border , GLsizei imageSize , const void * bits ) +const PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC ) ( GLenum texunit , GLenum target , GLint level , GLenum internalformat , GLsizei width , GLsizei height , GLint border , GLsizei imageSize , const void * bits ) +const PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC ) ( GLenum texunit , GLenum target , GLint level , GLenum internalformat , GLsizei width , GLint border , GLsizei imageSize , const void * bits ) +const PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC ) ( GLenum texunit , GLenum target , GLint level , GLint xoffset , GLint yoffset , GLint zoffset , GLsizei width , GLsizei height , GLsizei depth , GLenum format , GLsizei imageSize , const void * bits ) +const PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC ) ( GLenum texunit , GLenum target , GLint level , GLint xoffset , GLint yoffset , GLsizei width , GLsizei height , GLenum format , GLsizei imageSize , const void * bits ) +const PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC ) ( GLenum texunit , GLenum target , GLint level , GLint xoffset , GLsizei width , GLenum format , GLsizei imageSize , const void * bits ) +const PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC ) ( GLenum texunit , GLenum target , GLint lod , void * img ) +const PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMATRIXLOADTRANSPOSEFEXTPROC ) ( GLenum mode , const GLfloat * m ) +const PFNGLMATRIXLOADTRANSPOSEFEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMATRIXLOADTRANSPOSEDEXTPROC ) ( GLenum mode , const GLdouble * m ) +const PFNGLMATRIXLOADTRANSPOSEDEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMATRIXMULTTRANSPOSEFEXTPROC ) ( GLenum mode , const GLfloat * m ) +const PFNGLMATRIXMULTTRANSPOSEFEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMATRIXMULTTRANSPOSEDEXTPROC ) ( GLenum mode , const GLdouble * m ) +const PFNGLMATRIXMULTTRANSPOSEDEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDBUFFERDATAEXTPROC ) ( GLuint buffer , GLsizeiptr size , const void * data , GLenum usage ) +const PFNGLNAMEDBUFFERDATAEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDBUFFERSUBDATAEXTPROC ) ( GLuint buffer , GLintptr offset , GLsizeiptr size , const void * data ) +const PFNGLNAMEDBUFFERSUBDATAEXTPROC = Ptr{Cvoid} + +# typedef void * ( APIENTRYP PFNGLMAPNAMEDBUFFEREXTPROC ) ( GLuint buffer , GLenum access ) +const PFNGLMAPNAMEDBUFFEREXTPROC = Ptr{Cvoid} + +# typedef GLboolean ( APIENTRYP PFNGLUNMAPNAMEDBUFFEREXTPROC ) ( GLuint buffer ) +const PFNGLUNMAPNAMEDBUFFEREXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC ) ( GLuint buffer , GLenum pname , GLint * params ) +const PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNAMEDBUFFERPOINTERVEXTPROC ) ( GLuint buffer , GLenum pname , void * * params ) +const PFNGLGETNAMEDBUFFERPOINTERVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNAMEDBUFFERSUBDATAEXTPROC ) ( GLuint buffer , GLintptr offset , GLsizeiptr size , void * data ) +const PFNGLGETNAMEDBUFFERSUBDATAEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC ) ( GLuint program , GLint location , GLfloat v0 ) +const PFNGLPROGRAMUNIFORM1FEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC ) ( GLuint program , GLint location , GLfloat v0 , GLfloat v1 ) +const PFNGLPROGRAMUNIFORM2FEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC ) ( GLuint program , GLint location , GLfloat v0 , GLfloat v1 , GLfloat v2 ) +const PFNGLPROGRAMUNIFORM3FEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC ) ( GLuint program , GLint location , GLfloat v0 , GLfloat v1 , GLfloat v2 , GLfloat v3 ) +const PFNGLPROGRAMUNIFORM4FEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC ) ( GLuint program , GLint location , GLint v0 ) +const PFNGLPROGRAMUNIFORM1IEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC ) ( GLuint program , GLint location , GLint v0 , GLint v1 ) +const PFNGLPROGRAMUNIFORM2IEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC ) ( GLuint program , GLint location , GLint v0 , GLint v1 , GLint v2 ) +const PFNGLPROGRAMUNIFORM3IEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC ) ( GLuint program , GLint location , GLint v0 , GLint v1 , GLint v2 , GLint v3 ) +const PFNGLPROGRAMUNIFORM4IEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC ) ( GLuint program , GLint location , GLsizei count , const GLfloat * value ) +const PFNGLPROGRAMUNIFORM1FVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC ) ( GLuint program , GLint location , GLsizei count , const GLfloat * value ) +const PFNGLPROGRAMUNIFORM2FVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC ) ( GLuint program , GLint location , GLsizei count , const GLfloat * value ) +const PFNGLPROGRAMUNIFORM3FVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC ) ( GLuint program , GLint location , GLsizei count , const GLfloat * value ) +const PFNGLPROGRAMUNIFORM4FVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC ) ( GLuint program , GLint location , GLsizei count , const GLint * value ) +const PFNGLPROGRAMUNIFORM1IVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC ) ( GLuint program , GLint location , GLsizei count , const GLint * value ) +const PFNGLPROGRAMUNIFORM2IVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC ) ( GLuint program , GLint location , GLsizei count , const GLint * value ) +const PFNGLPROGRAMUNIFORM3IVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC ) ( GLuint program , GLint location , GLsizei count , const GLint * value ) +const PFNGLPROGRAMUNIFORM4IVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLfloat * value ) +const PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLfloat * value ) +const PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLfloat * value ) +const PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLfloat * value ) +const PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLfloat * value ) +const PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLfloat * value ) +const PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLfloat * value ) +const PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLfloat * value ) +const PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLfloat * value ) +const PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTUREBUFFEREXTPROC ) ( GLuint texture , GLenum target , GLenum internalformat , GLuint buffer ) +const PFNGLTEXTUREBUFFEREXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTITEXBUFFEREXTPROC ) ( GLenum texunit , GLenum target , GLenum internalformat , GLuint buffer ) +const PFNGLMULTITEXBUFFEREXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTUREPARAMETERIIVEXTPROC ) ( GLuint texture , GLenum target , GLenum pname , const GLint * params ) +const PFNGLTEXTUREPARAMETERIIVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTUREPARAMETERIUIVEXTPROC ) ( GLuint texture , GLenum target , GLenum pname , const GLuint * params ) +const PFNGLTEXTUREPARAMETERIUIVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETTEXTUREPARAMETERIIVEXTPROC ) ( GLuint texture , GLenum target , GLenum pname , GLint * params ) +const PFNGLGETTEXTUREPARAMETERIIVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETTEXTUREPARAMETERIUIVEXTPROC ) ( GLuint texture , GLenum target , GLenum pname , GLuint * params ) +const PFNGLGETTEXTUREPARAMETERIUIVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTITEXPARAMETERIIVEXTPROC ) ( GLenum texunit , GLenum target , GLenum pname , const GLint * params ) +const PFNGLMULTITEXPARAMETERIIVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTITEXPARAMETERIUIVEXTPROC ) ( GLenum texunit , GLenum target , GLenum pname , const GLuint * params ) +const PFNGLMULTITEXPARAMETERIUIVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETMULTITEXPARAMETERIIVEXTPROC ) ( GLenum texunit , GLenum target , GLenum pname , GLint * params ) +const PFNGLGETMULTITEXPARAMETERIIVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETMULTITEXPARAMETERIUIVEXTPROC ) ( GLenum texunit , GLenum target , GLenum pname , GLuint * params ) +const PFNGLGETMULTITEXPARAMETERIUIVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM1UIEXTPROC ) ( GLuint program , GLint location , GLuint v0 ) +const PFNGLPROGRAMUNIFORM1UIEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM2UIEXTPROC ) ( GLuint program , GLint location , GLuint v0 , GLuint v1 ) +const PFNGLPROGRAMUNIFORM2UIEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM3UIEXTPROC ) ( GLuint program , GLint location , GLuint v0 , GLuint v1 , GLuint v2 ) +const PFNGLPROGRAMUNIFORM3UIEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM4UIEXTPROC ) ( GLuint program , GLint location , GLuint v0 , GLuint v1 , GLuint v2 , GLuint v3 ) +const PFNGLPROGRAMUNIFORM4UIEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM1UIVEXTPROC ) ( GLuint program , GLint location , GLsizei count , const GLuint * value ) +const PFNGLPROGRAMUNIFORM1UIVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM2UIVEXTPROC ) ( GLuint program , GLint location , GLsizei count , const GLuint * value ) +const PFNGLPROGRAMUNIFORM2UIVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM3UIVEXTPROC ) ( GLuint program , GLint location , GLsizei count , const GLuint * value ) +const PFNGLPROGRAMUNIFORM3UIVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM4UIVEXTPROC ) ( GLuint program , GLint location , GLsizei count , const GLuint * value ) +const PFNGLPROGRAMUNIFORM4UIVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC ) ( GLuint program , GLenum target , GLuint index , GLsizei count , const GLfloat * params ) +const PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC ) ( GLuint program , GLenum target , GLuint index , GLint x , GLint y , GLint z , GLint w ) +const PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC ) ( GLuint program , GLenum target , GLuint index , const GLint * params ) +const PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC ) ( GLuint program , GLenum target , GLuint index , GLsizei count , const GLint * params ) +const PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC ) ( GLuint program , GLenum target , GLuint index , GLuint x , GLuint y , GLuint z , GLuint w ) +const PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC ) ( GLuint program , GLenum target , GLuint index , const GLuint * params ) +const PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC ) ( GLuint program , GLenum target , GLuint index , GLsizei count , const GLuint * params ) +const PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC ) ( GLuint program , GLenum target , GLuint index , GLint * params ) +const PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC ) ( GLuint program , GLenum target , GLuint index , GLuint * params ) +const PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLENABLECLIENTSTATEIEXTPROC ) ( GLenum array , GLuint index ) +const PFNGLENABLECLIENTSTATEIEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDISABLECLIENTSTATEIEXTPROC ) ( GLenum array , GLuint index ) +const PFNGLDISABLECLIENTSTATEIEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETFLOATI_VEXTPROC ) ( GLenum pname , GLuint index , GLfloat * params ) +const PFNGLGETFLOATI_VEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETDOUBLEI_VEXTPROC ) ( GLenum pname , GLuint index , GLdouble * params ) +const PFNGLGETDOUBLEI_VEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETPOINTERI_VEXTPROC ) ( GLenum pname , GLuint index , void * * params ) +const PFNGLGETPOINTERI_VEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDPROGRAMSTRINGEXTPROC ) ( GLuint program , GLenum target , GLenum format , GLsizei len , const void * string ) +const PFNGLNAMEDPROGRAMSTRINGEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC ) ( GLuint program , GLenum target , GLuint index , GLdouble x , GLdouble y , GLdouble z , GLdouble w ) +const PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC ) ( GLuint program , GLenum target , GLuint index , const GLdouble * params ) +const PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC ) ( GLuint program , GLenum target , GLuint index , GLfloat x , GLfloat y , GLfloat z , GLfloat w ) +const PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC ) ( GLuint program , GLenum target , GLuint index , const GLfloat * params ) +const PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC ) ( GLuint program , GLenum target , GLuint index , GLdouble * params ) +const PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC ) ( GLuint program , GLenum target , GLuint index , GLfloat * params ) +const PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNAMEDPROGRAMIVEXTPROC ) ( GLuint program , GLenum target , GLenum pname , GLint * params ) +const PFNGLGETNAMEDPROGRAMIVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNAMEDPROGRAMSTRINGEXTPROC ) ( GLuint program , GLenum target , GLenum pname , void * string ) +const PFNGLGETNAMEDPROGRAMSTRINGEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC ) ( GLuint renderbuffer , GLenum internalformat , GLsizei width , GLsizei height ) +const PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC ) ( GLuint renderbuffer , GLenum pname , GLint * params ) +const PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC ) ( GLuint renderbuffer , GLsizei samples , GLenum internalformat , GLsizei width , GLsizei height ) +const PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC ) ( GLuint renderbuffer , GLsizei coverageSamples , GLsizei colorSamples , GLenum internalformat , GLsizei width , GLsizei height ) +const PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC = Ptr{Cvoid} + +# typedef GLenum ( APIENTRYP PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC ) ( GLuint framebuffer , GLenum target ) +const PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC ) ( GLuint framebuffer , GLenum attachment , GLenum textarget , GLuint texture , GLint level ) +const PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC ) ( GLuint framebuffer , GLenum attachment , GLenum textarget , GLuint texture , GLint level ) +const PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC ) ( GLuint framebuffer , GLenum attachment , GLenum textarget , GLuint texture , GLint level , GLint zoffset ) +const PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC ) ( GLuint framebuffer , GLenum attachment , GLenum renderbuffertarget , GLuint renderbuffer ) +const PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC ) ( GLuint framebuffer , GLenum attachment , GLenum pname , GLint * params ) +const PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGENERATETEXTUREMIPMAPEXTPROC ) ( GLuint texture , GLenum target ) +const PFNGLGENERATETEXTUREMIPMAPEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGENERATEMULTITEXMIPMAPEXTPROC ) ( GLenum texunit , GLenum target ) +const PFNGLGENERATEMULTITEXMIPMAPEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC ) ( GLuint framebuffer , GLenum mode ) +const PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC ) ( GLuint framebuffer , GLsizei n , const GLenum * bufs ) +const PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLFRAMEBUFFERREADBUFFEREXTPROC ) ( GLuint framebuffer , GLenum mode ) +const PFNGLFRAMEBUFFERREADBUFFEREXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC ) ( GLuint framebuffer , GLenum pname , GLint * params ) +const PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC ) ( GLuint readBuffer , GLuint writeBuffer , GLintptr readOffset , GLintptr writeOffset , GLsizeiptr size ) +const PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC ) ( GLuint framebuffer , GLenum attachment , GLuint texture , GLint level ) +const PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC ) ( GLuint framebuffer , GLenum attachment , GLuint texture , GLint level , GLint layer ) +const PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC ) ( GLuint framebuffer , GLenum attachment , GLuint texture , GLint level , GLenum face ) +const PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTURERENDERBUFFEREXTPROC ) ( GLuint texture , GLenum target , GLuint renderbuffer ) +const PFNGLTEXTURERENDERBUFFEREXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTITEXRENDERBUFFEREXTPROC ) ( GLenum texunit , GLenum target , GLuint renderbuffer ) +const PFNGLMULTITEXRENDERBUFFEREXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC ) ( GLuint vaobj , GLuint buffer , GLint size , GLenum type , GLsizei stride , GLintptr offset ) +const PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXARRAYCOLOROFFSETEXTPROC ) ( GLuint vaobj , GLuint buffer , GLint size , GLenum type , GLsizei stride , GLintptr offset ) +const PFNGLVERTEXARRAYCOLOROFFSETEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC ) ( GLuint vaobj , GLuint buffer , GLsizei stride , GLintptr offset ) +const PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXARRAYINDEXOFFSETEXTPROC ) ( GLuint vaobj , GLuint buffer , GLenum type , GLsizei stride , GLintptr offset ) +const PFNGLVERTEXARRAYINDEXOFFSETEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXARRAYNORMALOFFSETEXTPROC ) ( GLuint vaobj , GLuint buffer , GLenum type , GLsizei stride , GLintptr offset ) +const PFNGLVERTEXARRAYNORMALOFFSETEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC ) ( GLuint vaobj , GLuint buffer , GLint size , GLenum type , GLsizei stride , GLintptr offset ) +const PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC ) ( GLuint vaobj , GLuint buffer , GLenum texunit , GLint size , GLenum type , GLsizei stride , GLintptr offset ) +const PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC ) ( GLuint vaobj , GLuint buffer , GLenum type , GLsizei stride , GLintptr offset ) +const PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC ) ( GLuint vaobj , GLuint buffer , GLint size , GLenum type , GLsizei stride , GLintptr offset ) +const PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC ) ( GLuint vaobj , GLuint buffer , GLuint index , GLint size , GLenum type , GLboolean normalized , GLsizei stride , GLintptr offset ) +const PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC ) ( GLuint vaobj , GLuint buffer , GLuint index , GLint size , GLenum type , GLsizei stride , GLintptr offset ) +const PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLENABLEVERTEXARRAYEXTPROC ) ( GLuint vaobj , GLenum array ) +const PFNGLENABLEVERTEXARRAYEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDISABLEVERTEXARRAYEXTPROC ) ( GLuint vaobj , GLenum array ) +const PFNGLDISABLEVERTEXARRAYEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLENABLEVERTEXARRAYATTRIBEXTPROC ) ( GLuint vaobj , GLuint index ) +const PFNGLENABLEVERTEXARRAYATTRIBEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC ) ( GLuint vaobj , GLuint index ) +const PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETVERTEXARRAYINTEGERVEXTPROC ) ( GLuint vaobj , GLenum pname , GLint * param ) +const PFNGLGETVERTEXARRAYINTEGERVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETVERTEXARRAYPOINTERVEXTPROC ) ( GLuint vaobj , GLenum pname , void * * param ) +const PFNGLGETVERTEXARRAYPOINTERVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC ) ( GLuint vaobj , GLuint index , GLenum pname , GLint * param ) +const PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC ) ( GLuint vaobj , GLuint index , GLenum pname , void * * param ) +const PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC = Ptr{Cvoid} + +# typedef void * ( APIENTRYP PFNGLMAPNAMEDBUFFERRANGEEXTPROC ) ( GLuint buffer , GLintptr offset , GLsizeiptr length , GLbitfield access ) +const PFNGLMAPNAMEDBUFFERRANGEEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC ) ( GLuint buffer , GLintptr offset , GLsizeiptr length ) +const PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDBUFFERSTORAGEEXTPROC ) ( GLuint buffer , GLsizeiptr size , const void * data , GLbitfield flags ) +const PFNGLNAMEDBUFFERSTORAGEEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCLEARNAMEDBUFFERDATAEXTPROC ) ( GLuint buffer , GLenum internalformat , GLenum format , GLenum type , const void * data ) +const PFNGLCLEARNAMEDBUFFERDATAEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC ) ( GLuint buffer , GLenum internalformat , GLsizeiptr offset , GLsizeiptr size , GLenum format , GLenum type , const void * data ) +const PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC ) ( GLuint framebuffer , GLenum pname , GLint param ) +const PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC ) ( GLuint framebuffer , GLenum pname , GLint * params ) +const PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM1DEXTPROC ) ( GLuint program , GLint location , GLdouble x ) +const PFNGLPROGRAMUNIFORM1DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM2DEXTPROC ) ( GLuint program , GLint location , GLdouble x , GLdouble y ) +const PFNGLPROGRAMUNIFORM2DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM3DEXTPROC ) ( GLuint program , GLint location , GLdouble x , GLdouble y , GLdouble z ) +const PFNGLPROGRAMUNIFORM3DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM4DEXTPROC ) ( GLuint program , GLint location , GLdouble x , GLdouble y , GLdouble z , GLdouble w ) +const PFNGLPROGRAMUNIFORM4DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM1DVEXTPROC ) ( GLuint program , GLint location , GLsizei count , const GLdouble * value ) +const PFNGLPROGRAMUNIFORM1DVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM2DVEXTPROC ) ( GLuint program , GLint location , GLsizei count , const GLdouble * value ) +const PFNGLPROGRAMUNIFORM2DVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM3DVEXTPROC ) ( GLuint program , GLint location , GLsizei count , const GLdouble * value ) +const PFNGLPROGRAMUNIFORM3DVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM4DVEXTPROC ) ( GLuint program , GLint location , GLsizei count , const GLdouble * value ) +const PFNGLPROGRAMUNIFORM4DVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLdouble * value ) +const PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLdouble * value ) +const PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLdouble * value ) +const PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLdouble * value ) +const PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLdouble * value ) +const PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLdouble * value ) +const PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLdouble * value ) +const PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLdouble * value ) +const PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC ) ( GLuint program , GLint location , GLsizei count , GLboolean transpose , const GLdouble * value ) +const PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTUREBUFFERRANGEEXTPROC ) ( GLuint texture , GLenum target , GLenum internalformat , GLuint buffer , GLintptr offset , GLsizeiptr size ) +const PFNGLTEXTUREBUFFERRANGEEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC ) ( GLuint texture , GLenum target , GLsizei levels , GLenum internalformat , GLsizei width ) +const PFNGLTEXTURESTORAGE1DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC ) ( GLuint texture , GLenum target , GLsizei levels , GLenum internalformat , GLsizei width , GLsizei height ) +const PFNGLTEXTURESTORAGE2DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC ) ( GLuint texture , GLenum target , GLsizei levels , GLenum internalformat , GLsizei width , GLsizei height , GLsizei depth ) +const PFNGLTEXTURESTORAGE3DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC ) ( GLuint texture , GLenum target , GLsizei samples , GLenum internalformat , GLsizei width , GLsizei height , GLboolean fixedsamplelocations ) +const PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC ) ( GLuint texture , GLenum target , GLsizei samples , GLenum internalformat , GLsizei width , GLsizei height , GLsizei depth , GLboolean fixedsamplelocations ) +const PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC ) ( GLuint vaobj , GLuint bindingindex , GLuint buffer , GLintptr offset , GLsizei stride ) +const PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC ) ( GLuint vaobj , GLuint attribindex , GLint size , GLenum type , GLboolean normalized , GLuint relativeoffset ) +const PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC ) ( GLuint vaobj , GLuint attribindex , GLint size , GLenum type , GLuint relativeoffset ) +const PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC ) ( GLuint vaobj , GLuint attribindex , GLint size , GLenum type , GLuint relativeoffset ) +const PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC ) ( GLuint vaobj , GLuint attribindex , GLuint bindingindex ) +const PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC ) ( GLuint vaobj , GLuint bindingindex , GLuint divisor ) +const PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC ) ( GLuint vaobj , GLuint buffer , GLuint index , GLint size , GLenum type , GLsizei stride , GLintptr offset ) +const PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTUREPAGECOMMITMENTEXTPROC ) ( GLuint texture , GLint level , GLint xoffset , GLint yoffset , GLint zoffset , GLsizei width , GLsizei height , GLsizei depth , GLboolean commit ) +const PFNGLTEXTUREPAGECOMMITMENTEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC ) ( GLuint vaobj , GLuint index , GLuint divisor ) +const PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC = Ptr{Cvoid} + +function glMatrixLoadfEXT(mode, m) + ccall((:glMatrixLoadfEXT, libgl), Cvoid, (GLenum, Ptr{GLfloat}), mode, m) +end + +function glMatrixLoaddEXT(mode, m) + ccall((:glMatrixLoaddEXT, libgl), Cvoid, (GLenum, Ptr{GLdouble}), mode, m) +end + +function glMatrixMultfEXT(mode, m) + ccall((:glMatrixMultfEXT, libgl), Cvoid, (GLenum, Ptr{GLfloat}), mode, m) +end + +function glMatrixMultdEXT(mode, m) + ccall((:glMatrixMultdEXT, libgl), Cvoid, (GLenum, Ptr{GLdouble}), mode, m) +end + +function glMatrixLoadIdentityEXT(mode) + ccall((:glMatrixLoadIdentityEXT, libgl), Cvoid, (GLenum,), mode) +end + +function glMatrixRotatefEXT(mode, angle, x, y, z) + ccall((:glMatrixRotatefEXT, libgl), Cvoid, (GLenum, GLfloat, GLfloat, GLfloat, GLfloat), mode, angle, x, y, z) +end + +function glMatrixRotatedEXT(mode, angle, x, y, z) + ccall((:glMatrixRotatedEXT, libgl), Cvoid, (GLenum, GLdouble, GLdouble, GLdouble, GLdouble), mode, angle, x, y, z) +end + +function glMatrixScalefEXT(mode, x, y, z) + ccall((:glMatrixScalefEXT, libgl), Cvoid, (GLenum, GLfloat, GLfloat, GLfloat), mode, x, y, z) +end + +function glMatrixScaledEXT(mode, x, y, z) + ccall((:glMatrixScaledEXT, libgl), Cvoid, (GLenum, GLdouble, GLdouble, GLdouble), mode, x, y, z) +end + +function glMatrixTranslatefEXT(mode, x, y, z) + ccall((:glMatrixTranslatefEXT, libgl), Cvoid, (GLenum, GLfloat, GLfloat, GLfloat), mode, x, y, z) +end + +function glMatrixTranslatedEXT(mode, x, y, z) + ccall((:glMatrixTranslatedEXT, libgl), Cvoid, (GLenum, GLdouble, GLdouble, GLdouble), mode, x, y, z) +end + +function glMatrixFrustumEXT(mode, left, right, bottom, top, zNear, zFar) + ccall((:glMatrixFrustumEXT, libgl), Cvoid, (GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble), mode, left, right, bottom, top, zNear, zFar) +end + +function glMatrixOrthoEXT(mode, left, right, bottom, top, zNear, zFar) + ccall((:glMatrixOrthoEXT, libgl), Cvoid, (GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble), mode, left, right, bottom, top, zNear, zFar) +end + +function glMatrixPopEXT(mode) + ccall((:glMatrixPopEXT, libgl), Cvoid, (GLenum,), mode) +end + +function glMatrixPushEXT(mode) + ccall((:glMatrixPushEXT, libgl), Cvoid, (GLenum,), mode) +end + +function glClientAttribDefaultEXT(mask) + ccall((:glClientAttribDefaultEXT, libgl), Cvoid, (GLbitfield,), mask) +end + +function glPushClientAttribDefaultEXT(mask) + ccall((:glPushClientAttribDefaultEXT, libgl), Cvoid, (GLbitfield,), mask) +end + +function glTextureParameterfEXT(texture, target, pname, param) + ccall((:glTextureParameterfEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, GLfloat), texture, target, pname, param) +end + +function glTextureParameterfvEXT(texture, target, pname, params) + ccall((:glTextureParameterfvEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLfloat}), texture, target, pname, params) +end + +function glTextureParameteriEXT(texture, target, pname, param) + ccall((:glTextureParameteriEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, GLint), texture, target, pname, param) +end + +function glTextureParameterivEXT(texture, target, pname, params) + ccall((:glTextureParameterivEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), texture, target, pname, params) +end + +function glTextureImage1DEXT(texture, target, level, internalformat, width, border, format, type, pixels) + ccall((:glTextureImage1DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, internalformat, width, border, format, type, pixels) +end + +function glTextureImage2DEXT(texture, target, level, internalformat, width, height, border, format, type, pixels) + ccall((:glTextureImage2DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, internalformat, width, height, border, format, type, pixels) +end + +function glTextureSubImage1DEXT(texture, target, level, xoffset, width, format, type, pixels) + ccall((:glTextureSubImage1DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, xoffset, width, format, type, pixels) +end + +function glTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, width, height, format, type, pixels) + ccall((:glTextureSubImage2DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, xoffset, yoffset, width, height, format, type, pixels) +end + +function glCopyTextureImage1DEXT(texture, target, level, internalformat, x, y, width, border) + ccall((:glCopyTextureImage1DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint), texture, target, level, internalformat, x, y, width, border) +end + +function glCopyTextureImage2DEXT(texture, target, level, internalformat, x, y, width, height, border) + ccall((:glCopyTextureImage2DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint), texture, target, level, internalformat, x, y, width, height, border) +end + +function glCopyTextureSubImage1DEXT(texture, target, level, xoffset, x, y, width) + ccall((:glCopyTextureSubImage1DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei), texture, target, level, xoffset, x, y, width) +end + +function glCopyTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, x, y, width, height) + ccall((:glCopyTextureSubImage2DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), texture, target, level, xoffset, yoffset, x, y, width, height) +end + +function glGetTextureImageEXT(texture, target, level, format, type, pixels) + ccall((:glGetTextureImageEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, format, type, pixels) +end + +function glGetTextureParameterfvEXT(texture, target, pname, params) + ccall((:glGetTextureParameterfvEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLfloat}), texture, target, pname, params) +end + +function glGetTextureParameterivEXT(texture, target, pname, params) + ccall((:glGetTextureParameterivEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), texture, target, pname, params) +end + +function glGetTextureLevelParameterfvEXT(texture, target, level, pname, params) + ccall((:glGetTextureLevelParameterfvEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLenum, Ptr{GLfloat}), texture, target, level, pname, params) +end + +function glGetTextureLevelParameterivEXT(texture, target, level, pname, params) + ccall((:glGetTextureLevelParameterivEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLenum, Ptr{GLint}), texture, target, level, pname, params) +end + +function glTextureImage3DEXT(texture, target, level, internalformat, width, height, depth, border, format, type, pixels) + ccall((:glTextureImage3DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, internalformat, width, height, depth, border, format, type, pixels) +end + +function glTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) + ccall((:glTextureSubImage3DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) +end + +function glCopyTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, x, y, width, height) + ccall((:glCopyTextureSubImage3DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), texture, target, level, xoffset, yoffset, zoffset, x, y, width, height) +end + +function glBindMultiTextureEXT(texunit, target, texture) + ccall((:glBindMultiTextureEXT, libgl), Cvoid, (GLenum, GLenum, GLuint), texunit, target, texture) +end + +function glMultiTexCoordPointerEXT(texunit, size, type, stride, pointer) + ccall((:glMultiTexCoordPointerEXT, libgl), Cvoid, (GLenum, GLint, GLenum, GLsizei, Ptr{Cvoid}), texunit, size, type, stride, pointer) +end + +function glMultiTexEnvfEXT(texunit, target, pname, param) + ccall((:glMultiTexEnvfEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, GLfloat), texunit, target, pname, param) +end + +function glMultiTexEnvfvEXT(texunit, target, pname, params) + ccall((:glMultiTexEnvfvEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLfloat}), texunit, target, pname, params) +end + +function glMultiTexEnviEXT(texunit, target, pname, param) + ccall((:glMultiTexEnviEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, GLint), texunit, target, pname, param) +end + +function glMultiTexEnvivEXT(texunit, target, pname, params) + ccall((:glMultiTexEnvivEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, target, pname, params) +end + +function glMultiTexGendEXT(texunit, coord, pname, param) + ccall((:glMultiTexGendEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, GLdouble), texunit, coord, pname, param) +end + +function glMultiTexGendvEXT(texunit, coord, pname, params) + ccall((:glMultiTexGendvEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLdouble}), texunit, coord, pname, params) +end + +function glMultiTexGenfEXT(texunit, coord, pname, param) + ccall((:glMultiTexGenfEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, GLfloat), texunit, coord, pname, param) +end + +function glMultiTexGenfvEXT(texunit, coord, pname, params) + ccall((:glMultiTexGenfvEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLfloat}), texunit, coord, pname, params) +end + +function glMultiTexGeniEXT(texunit, coord, pname, param) + ccall((:glMultiTexGeniEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, GLint), texunit, coord, pname, param) +end + +function glMultiTexGenivEXT(texunit, coord, pname, params) + ccall((:glMultiTexGenivEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, coord, pname, params) +end + +function glGetMultiTexEnvfvEXT(texunit, target, pname, params) + ccall((:glGetMultiTexEnvfvEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLfloat}), texunit, target, pname, params) +end + +function glGetMultiTexEnvivEXT(texunit, target, pname, params) + ccall((:glGetMultiTexEnvivEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, target, pname, params) +end + +function glGetMultiTexGendvEXT(texunit, coord, pname, params) + ccall((:glGetMultiTexGendvEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLdouble}), texunit, coord, pname, params) +end + +function glGetMultiTexGenfvEXT(texunit, coord, pname, params) + ccall((:glGetMultiTexGenfvEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLfloat}), texunit, coord, pname, params) +end + +function glGetMultiTexGenivEXT(texunit, coord, pname, params) + ccall((:glGetMultiTexGenivEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, coord, pname, params) +end + +function glMultiTexParameteriEXT(texunit, target, pname, param) + ccall((:glMultiTexParameteriEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, GLint), texunit, target, pname, param) +end + +function glMultiTexParameterivEXT(texunit, target, pname, params) + ccall((:glMultiTexParameterivEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, target, pname, params) +end + +function glMultiTexParameterfEXT(texunit, target, pname, param) + ccall((:glMultiTexParameterfEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, GLfloat), texunit, target, pname, param) +end + +function glMultiTexParameterfvEXT(texunit, target, pname, params) + ccall((:glMultiTexParameterfvEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLfloat}), texunit, target, pname, params) +end + +function glMultiTexImage1DEXT(texunit, target, level, internalformat, width, border, format, type, pixels) + ccall((:glMultiTexImage1DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, internalformat, width, border, format, type, pixels) +end + +function glMultiTexImage2DEXT(texunit, target, level, internalformat, width, height, border, format, type, pixels) + ccall((:glMultiTexImage2DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, internalformat, width, height, border, format, type, pixels) +end + +function glMultiTexSubImage1DEXT(texunit, target, level, xoffset, width, format, type, pixels) + ccall((:glMultiTexSubImage1DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, xoffset, width, format, type, pixels) +end + +function glMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, width, height, format, type, pixels) + ccall((:glMultiTexSubImage2DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, xoffset, yoffset, width, height, format, type, pixels) +end + +function glCopyMultiTexImage1DEXT(texunit, target, level, internalformat, x, y, width, border) + ccall((:glCopyMultiTexImage1DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint), texunit, target, level, internalformat, x, y, width, border) +end + +function glCopyMultiTexImage2DEXT(texunit, target, level, internalformat, x, y, width, height, border) + ccall((:glCopyMultiTexImage2DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint), texunit, target, level, internalformat, x, y, width, height, border) +end + +function glCopyMultiTexSubImage1DEXT(texunit, target, level, xoffset, x, y, width) + ccall((:glCopyMultiTexSubImage1DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei), texunit, target, level, xoffset, x, y, width) +end + +function glCopyMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, x, y, width, height) + ccall((:glCopyMultiTexSubImage2DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), texunit, target, level, xoffset, yoffset, x, y, width, height) +end + +function glGetMultiTexImageEXT(texunit, target, level, format, type, pixels) + ccall((:glGetMultiTexImageEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, format, type, pixels) +end + +function glGetMultiTexParameterfvEXT(texunit, target, pname, params) + ccall((:glGetMultiTexParameterfvEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLfloat}), texunit, target, pname, params) +end + +function glGetMultiTexParameterivEXT(texunit, target, pname, params) + ccall((:glGetMultiTexParameterivEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, target, pname, params) +end + +function glGetMultiTexLevelParameterfvEXT(texunit, target, level, pname, params) + ccall((:glGetMultiTexLevelParameterfvEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLenum, Ptr{GLfloat}), texunit, target, level, pname, params) +end + +function glGetMultiTexLevelParameterivEXT(texunit, target, level, pname, params) + ccall((:glGetMultiTexLevelParameterivEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLenum, Ptr{GLint}), texunit, target, level, pname, params) +end + +function glMultiTexImage3DEXT(texunit, target, level, internalformat, width, height, depth, border, format, type, pixels) + ccall((:glMultiTexImage3DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, internalformat, width, height, depth, border, format, type, pixels) +end + +function glMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) + ccall((:glMultiTexSubImage3DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) +end + +function glCopyMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, x, y, width, height) + ccall((:glCopyMultiTexSubImage3DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), texunit, target, level, xoffset, yoffset, zoffset, x, y, width, height) +end + +function glEnableClientStateIndexedEXT(array, index) + ccall((:glEnableClientStateIndexedEXT, libgl), Cvoid, (GLenum, GLuint), array, index) +end + +function glDisableClientStateIndexedEXT(array, index) + ccall((:glDisableClientStateIndexedEXT, libgl), Cvoid, (GLenum, GLuint), array, index) +end + +function glGetFloatIndexedvEXT(target, index, data) + ccall((:glGetFloatIndexedvEXT, libgl), Cvoid, (GLenum, GLuint, Ptr{GLfloat}), target, index, data) +end + +function glGetDoubleIndexedvEXT(target, index, data) + ccall((:glGetDoubleIndexedvEXT, libgl), Cvoid, (GLenum, GLuint, Ptr{GLdouble}), target, index, data) +end + +function glGetPointerIndexedvEXT(target, index, data) + ccall((:glGetPointerIndexedvEXT, libgl), Cvoid, (GLenum, GLuint, Ptr{Ptr{Cvoid}}), target, index, data) +end + +function glEnableIndexedEXT(target, index) + ccall((:glEnableIndexedEXT, libgl), Cvoid, (GLenum, GLuint), target, index) +end + +function glDisableIndexedEXT(target, index) + ccall((:glDisableIndexedEXT, libgl), Cvoid, (GLenum, GLuint), target, index) +end + +function glIsEnabledIndexedEXT(target, index) + ccall((:glIsEnabledIndexedEXT, libgl), GLboolean, (GLenum, GLuint), target, index) +end + +function glGetIntegerIndexedvEXT(target, index, data) + ccall((:glGetIntegerIndexedvEXT, libgl), Cvoid, (GLenum, GLuint, Ptr{GLint}), target, index, data) +end + +function glGetBooleanIndexedvEXT(target, index, data) + ccall((:glGetBooleanIndexedvEXT, libgl), Cvoid, (GLenum, GLuint, Ptr{GLboolean}), target, index, data) +end + +function glCompressedTextureImage3DEXT(texture, target, level, internalformat, width, height, depth, border, imageSize, bits) + ccall((:glCompressedTextureImage3DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, Ptr{Cvoid}), texture, target, level, internalformat, width, height, depth, border, imageSize, bits) +end + +function glCompressedTextureImage2DEXT(texture, target, level, internalformat, width, height, border, imageSize, bits) + ccall((:glCompressedTextureImage2DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, Ptr{Cvoid}), texture, target, level, internalformat, width, height, border, imageSize, bits) +end + +function glCompressedTextureImage1DEXT(texture, target, level, internalformat, width, border, imageSize, bits) + ccall((:glCompressedTextureImage1DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, Ptr{Cvoid}), texture, target, level, internalformat, width, border, imageSize, bits) +end + +function glCompressedTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits) + ccall((:glCompressedTextureSubImage3DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits) +end + +function glCompressedTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, width, height, format, imageSize, bits) + ccall((:glCompressedTextureSubImage2DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texture, target, level, xoffset, yoffset, width, height, format, imageSize, bits) +end + +function glCompressedTextureSubImage1DEXT(texture, target, level, xoffset, width, format, imageSize, bits) + ccall((:glCompressedTextureSubImage1DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texture, target, level, xoffset, width, format, imageSize, bits) +end + +function glGetCompressedTextureImageEXT(texture, target, lod, img) + ccall((:glGetCompressedTextureImageEXT, libgl), Cvoid, (GLuint, GLenum, GLint, Ptr{Cvoid}), texture, target, lod, img) +end + +function glCompressedMultiTexImage3DEXT(texunit, target, level, internalformat, width, height, depth, border, imageSize, bits) + ccall((:glCompressedMultiTexImage3DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, Ptr{Cvoid}), texunit, target, level, internalformat, width, height, depth, border, imageSize, bits) +end + +function glCompressedMultiTexImage2DEXT(texunit, target, level, internalformat, width, height, border, imageSize, bits) + ccall((:glCompressedMultiTexImage2DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, Ptr{Cvoid}), texunit, target, level, internalformat, width, height, border, imageSize, bits) +end + +function glCompressedMultiTexImage1DEXT(texunit, target, level, internalformat, width, border, imageSize, bits) + ccall((:glCompressedMultiTexImage1DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, Ptr{Cvoid}), texunit, target, level, internalformat, width, border, imageSize, bits) +end + +function glCompressedMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits) + ccall((:glCompressedMultiTexSubImage3DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits) +end + +function glCompressedMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, width, height, format, imageSize, bits) + ccall((:glCompressedMultiTexSubImage2DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texunit, target, level, xoffset, yoffset, width, height, format, imageSize, bits) +end + +function glCompressedMultiTexSubImage1DEXT(texunit, target, level, xoffset, width, format, imageSize, bits) + ccall((:glCompressedMultiTexSubImage1DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texunit, target, level, xoffset, width, format, imageSize, bits) +end + +function glGetCompressedMultiTexImageEXT(texunit, target, lod, img) + ccall((:glGetCompressedMultiTexImageEXT, libgl), Cvoid, (GLenum, GLenum, GLint, Ptr{Cvoid}), texunit, target, lod, img) +end + +function glMatrixLoadTransposefEXT(mode, m) + ccall((:glMatrixLoadTransposefEXT, libgl), Cvoid, (GLenum, Ptr{GLfloat}), mode, m) +end + +function glMatrixLoadTransposedEXT(mode, m) + ccall((:glMatrixLoadTransposedEXT, libgl), Cvoid, (GLenum, Ptr{GLdouble}), mode, m) +end + +function glMatrixMultTransposefEXT(mode, m) + ccall((:glMatrixMultTransposefEXT, libgl), Cvoid, (GLenum, Ptr{GLfloat}), mode, m) +end + +function glMatrixMultTransposedEXT(mode, m) + ccall((:glMatrixMultTransposedEXT, libgl), Cvoid, (GLenum, Ptr{GLdouble}), mode, m) +end + +function glNamedBufferDataEXT(buffer, size, data, usage) + ccall((:glNamedBufferDataEXT, libgl), Cvoid, (GLuint, GLsizeiptr, Ptr{Cvoid}, GLenum), buffer, size, data, usage) +end + +function glNamedBufferSubDataEXT(buffer, offset, size, data) + ccall((:glNamedBufferSubDataEXT, libgl), Cvoid, (GLuint, GLintptr, GLsizeiptr, Ptr{Cvoid}), buffer, offset, size, data) +end + +function glMapNamedBufferEXT(buffer, access) + ccall((:glMapNamedBufferEXT, libgl), Ptr{Cvoid}, (GLuint, GLenum), buffer, access) +end + +function glUnmapNamedBufferEXT(buffer) + ccall((:glUnmapNamedBufferEXT, libgl), GLboolean, (GLuint,), buffer) +end + +function glGetNamedBufferParameterivEXT(buffer, pname, params) + ccall((:glGetNamedBufferParameterivEXT, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), buffer, pname, params) +end + +function glGetNamedBufferPointervEXT(buffer, pname, params) + ccall((:glGetNamedBufferPointervEXT, libgl), Cvoid, (GLuint, GLenum, Ptr{Ptr{Cvoid}}), buffer, pname, params) +end + +function glGetNamedBufferSubDataEXT(buffer, offset, size, data) + ccall((:glGetNamedBufferSubDataEXT, libgl), Cvoid, (GLuint, GLintptr, GLsizeiptr, Ptr{Cvoid}), buffer, offset, size, data) +end + +function glProgramUniform1fEXT(program, location, v0) + ccall((:glProgramUniform1fEXT, libgl), Cvoid, (GLuint, GLint, GLfloat), program, location, v0) +end + +function glProgramUniform2fEXT(program, location, v0, v1) + ccall((:glProgramUniform2fEXT, libgl), Cvoid, (GLuint, GLint, GLfloat, GLfloat), program, location, v0, v1) +end + +function glProgramUniform3fEXT(program, location, v0, v1, v2) + ccall((:glProgramUniform3fEXT, libgl), Cvoid, (GLuint, GLint, GLfloat, GLfloat, GLfloat), program, location, v0, v1, v2) +end + +function glProgramUniform4fEXT(program, location, v0, v1, v2, v3) + ccall((:glProgramUniform4fEXT, libgl), Cvoid, (GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat), program, location, v0, v1, v2, v3) +end + +function glProgramUniform1iEXT(program, location, v0) + ccall((:glProgramUniform1iEXT, libgl), Cvoid, (GLuint, GLint, GLint), program, location, v0) +end + +function glProgramUniform2iEXT(program, location, v0, v1) + ccall((:glProgramUniform2iEXT, libgl), Cvoid, (GLuint, GLint, GLint, GLint), program, location, v0, v1) +end + +function glProgramUniform3iEXT(program, location, v0, v1, v2) + ccall((:glProgramUniform3iEXT, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLint), program, location, v0, v1, v2) +end + +function glProgramUniform4iEXT(program, location, v0, v1, v2, v3) + ccall((:glProgramUniform4iEXT, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLint), program, location, v0, v1, v2, v3) +end + +function glProgramUniform1fvEXT(program, location, count, value) + ccall((:glProgramUniform1fvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) +end + +function glProgramUniform2fvEXT(program, location, count, value) + ccall((:glProgramUniform2fvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) +end + +function glProgramUniform3fvEXT(program, location, count, value) + ccall((:glProgramUniform3fvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) +end + +function glProgramUniform4fvEXT(program, location, count, value) + ccall((:glProgramUniform4fvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) +end + +function glProgramUniform1ivEXT(program, location, count, value) + ccall((:glProgramUniform1ivEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) +end + +function glProgramUniform2ivEXT(program, location, count, value) + ccall((:glProgramUniform2ivEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) +end + +function glProgramUniform3ivEXT(program, location, count, value) + ccall((:glProgramUniform3ivEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) +end + +function glProgramUniform4ivEXT(program, location, count, value) + ccall((:glProgramUniform4ivEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) +end + +function glProgramUniformMatrix2fvEXT(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix2fvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) +end + +function glProgramUniformMatrix3fvEXT(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix3fvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) +end + +function glProgramUniformMatrix4fvEXT(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix4fvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) +end + +function glProgramUniformMatrix2x3fvEXT(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix2x3fvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) +end + +function glProgramUniformMatrix3x2fvEXT(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix3x2fvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) +end + +function glProgramUniformMatrix2x4fvEXT(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix2x4fvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) +end + +function glProgramUniformMatrix4x2fvEXT(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix4x2fvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) +end + +function glProgramUniformMatrix3x4fvEXT(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix3x4fvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) +end + +function glProgramUniformMatrix4x3fvEXT(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix4x3fvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) +end + +function glTextureBufferEXT(texture, target, internalformat, buffer) + ccall((:glTextureBufferEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, GLuint), texture, target, internalformat, buffer) +end + +function glMultiTexBufferEXT(texunit, target, internalformat, buffer) + ccall((:glMultiTexBufferEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, GLuint), texunit, target, internalformat, buffer) +end + +function glTextureParameterIivEXT(texture, target, pname, params) + ccall((:glTextureParameterIivEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), texture, target, pname, params) +end + +function glTextureParameterIuivEXT(texture, target, pname, params) + ccall((:glTextureParameterIuivEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLuint}), texture, target, pname, params) +end + +function glGetTextureParameterIivEXT(texture, target, pname, params) + ccall((:glGetTextureParameterIivEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), texture, target, pname, params) +end + +function glGetTextureParameterIuivEXT(texture, target, pname, params) + ccall((:glGetTextureParameterIuivEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLuint}), texture, target, pname, params) +end + +function glMultiTexParameterIivEXT(texunit, target, pname, params) + ccall((:glMultiTexParameterIivEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, target, pname, params) +end + +function glMultiTexParameterIuivEXT(texunit, target, pname, params) + ccall((:glMultiTexParameterIuivEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLuint}), texunit, target, pname, params) +end + +function glGetMultiTexParameterIivEXT(texunit, target, pname, params) + ccall((:glGetMultiTexParameterIivEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, target, pname, params) +end + +function glGetMultiTexParameterIuivEXT(texunit, target, pname, params) + ccall((:glGetMultiTexParameterIuivEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLuint}), texunit, target, pname, params) +end + +function glProgramUniform1uiEXT(program, location, v0) + ccall((:glProgramUniform1uiEXT, libgl), Cvoid, (GLuint, GLint, GLuint), program, location, v0) +end + +function glProgramUniform2uiEXT(program, location, v0, v1) + ccall((:glProgramUniform2uiEXT, libgl), Cvoid, (GLuint, GLint, GLuint, GLuint), program, location, v0, v1) +end + +function glProgramUniform3uiEXT(program, location, v0, v1, v2) + ccall((:glProgramUniform3uiEXT, libgl), Cvoid, (GLuint, GLint, GLuint, GLuint, GLuint), program, location, v0, v1, v2) +end + +function glProgramUniform4uiEXT(program, location, v0, v1, v2, v3) + ccall((:glProgramUniform4uiEXT, libgl), Cvoid, (GLuint, GLint, GLuint, GLuint, GLuint, GLuint), program, location, v0, v1, v2, v3) +end + +function glProgramUniform1uivEXT(program, location, count, value) + ccall((:glProgramUniform1uivEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) +end + +function glProgramUniform2uivEXT(program, location, count, value) + ccall((:glProgramUniform2uivEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) +end + +function glProgramUniform3uivEXT(program, location, count, value) + ccall((:glProgramUniform3uivEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) +end + +function glProgramUniform4uivEXT(program, location, count, value) + ccall((:glProgramUniform4uivEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) +end + +function glNamedProgramLocalParameters4fvEXT(program, target, index, count, params) + ccall((:glNamedProgramLocalParameters4fvEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLfloat}), program, target, index, count, params) +end + +function glNamedProgramLocalParameterI4iEXT(program, target, index, x, y, z, w) + ccall((:glNamedProgramLocalParameterI4iEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, GLint, GLint, GLint, GLint), program, target, index, x, y, z, w) +end + +function glNamedProgramLocalParameterI4ivEXT(program, target, index, params) + ccall((:glNamedProgramLocalParameterI4ivEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLint}), program, target, index, params) +end + +function glNamedProgramLocalParametersI4ivEXT(program, target, index, count, params) + ccall((:glNamedProgramLocalParametersI4ivEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLint}), program, target, index, count, params) +end + +function glNamedProgramLocalParameterI4uiEXT(program, target, index, x, y, z, w) + ccall((:glNamedProgramLocalParameterI4uiEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, GLuint, GLuint, GLuint, GLuint), program, target, index, x, y, z, w) +end + +function glNamedProgramLocalParameterI4uivEXT(program, target, index, params) + ccall((:glNamedProgramLocalParameterI4uivEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLuint}), program, target, index, params) +end + +function glNamedProgramLocalParametersI4uivEXT(program, target, index, count, params) + ccall((:glNamedProgramLocalParametersI4uivEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLuint}), program, target, index, count, params) +end + +function glGetNamedProgramLocalParameterIivEXT(program, target, index, params) + ccall((:glGetNamedProgramLocalParameterIivEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLint}), program, target, index, params) +end + +function glGetNamedProgramLocalParameterIuivEXT(program, target, index, params) + ccall((:glGetNamedProgramLocalParameterIuivEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLuint}), program, target, index, params) +end + +function glEnableClientStateiEXT(array, index) + ccall((:glEnableClientStateiEXT, libgl), Cvoid, (GLenum, GLuint), array, index) +end + +function glDisableClientStateiEXT(array, index) + ccall((:glDisableClientStateiEXT, libgl), Cvoid, (GLenum, GLuint), array, index) +end + +function glGetFloati_vEXT(pname, index, params) + ccall((:glGetFloati_vEXT, libgl), Cvoid, (GLenum, GLuint, Ptr{GLfloat}), pname, index, params) +end + +function glGetDoublei_vEXT(pname, index, params) + ccall((:glGetDoublei_vEXT, libgl), Cvoid, (GLenum, GLuint, Ptr{GLdouble}), pname, index, params) +end + +function glGetPointeri_vEXT(pname, index, params) + ccall((:glGetPointeri_vEXT, libgl), Cvoid, (GLenum, GLuint, Ptr{Ptr{Cvoid}}), pname, index, params) +end + +function glNamedProgramStringEXT(program, target, format, len, string) + ccall((:glNamedProgramStringEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, GLsizei, Ptr{Cvoid}), program, target, format, len, string) +end + +function glNamedProgramLocalParameter4dEXT(program, target, index, x, y, z, w) + ccall((:glNamedProgramLocalParameter4dEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble), program, target, index, x, y, z, w) +end + +function glNamedProgramLocalParameter4dvEXT(program, target, index, params) + ccall((:glNamedProgramLocalParameter4dvEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLdouble}), program, target, index, params) +end + +function glNamedProgramLocalParameter4fEXT(program, target, index, x, y, z, w) + ccall((:glNamedProgramLocalParameter4fEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat), program, target, index, x, y, z, w) +end + +function glNamedProgramLocalParameter4fvEXT(program, target, index, params) + ccall((:glNamedProgramLocalParameter4fvEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLfloat}), program, target, index, params) +end + +function glGetNamedProgramLocalParameterdvEXT(program, target, index, params) + ccall((:glGetNamedProgramLocalParameterdvEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLdouble}), program, target, index, params) +end + +function glGetNamedProgramLocalParameterfvEXT(program, target, index, params) + ccall((:glGetNamedProgramLocalParameterfvEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLfloat}), program, target, index, params) +end + +function glGetNamedProgramivEXT(program, target, pname, params) + ccall((:glGetNamedProgramivEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), program, target, pname, params) +end + +function glGetNamedProgramStringEXT(program, target, pname, string) + ccall((:glGetNamedProgramStringEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, Ptr{Cvoid}), program, target, pname, string) +end + +function glNamedRenderbufferStorageEXT(renderbuffer, internalformat, width, height) + ccall((:glNamedRenderbufferStorageEXT, libgl), Cvoid, (GLuint, GLenum, GLsizei, GLsizei), renderbuffer, internalformat, width, height) +end + +function glGetNamedRenderbufferParameterivEXT(renderbuffer, pname, params) + ccall((:glGetNamedRenderbufferParameterivEXT, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), renderbuffer, pname, params) +end + +function glNamedRenderbufferStorageMultisampleEXT(renderbuffer, samples, internalformat, width, height) + ccall((:glNamedRenderbufferStorageMultisampleEXT, libgl), Cvoid, (GLuint, GLsizei, GLenum, GLsizei, GLsizei), renderbuffer, samples, internalformat, width, height) +end + +function glNamedRenderbufferStorageMultisampleCoverageEXT(renderbuffer, coverageSamples, colorSamples, internalformat, width, height) + ccall((:glNamedRenderbufferStorageMultisampleCoverageEXT, libgl), Cvoid, (GLuint, GLsizei, GLsizei, GLenum, GLsizei, GLsizei), renderbuffer, coverageSamples, colorSamples, internalformat, width, height) +end + +function glCheckNamedFramebufferStatusEXT(framebuffer, target) + ccall((:glCheckNamedFramebufferStatusEXT, libgl), GLenum, (GLuint, GLenum), framebuffer, target) +end + +function glNamedFramebufferTexture1DEXT(framebuffer, attachment, textarget, texture, level) + ccall((:glNamedFramebufferTexture1DEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, GLuint, GLint), framebuffer, attachment, textarget, texture, level) +end + +function glNamedFramebufferTexture2DEXT(framebuffer, attachment, textarget, texture, level) + ccall((:glNamedFramebufferTexture2DEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, GLuint, GLint), framebuffer, attachment, textarget, texture, level) +end + +function glNamedFramebufferTexture3DEXT(framebuffer, attachment, textarget, texture, level, zoffset) + ccall((:glNamedFramebufferTexture3DEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, GLuint, GLint, GLint), framebuffer, attachment, textarget, texture, level, zoffset) +end + +function glNamedFramebufferRenderbufferEXT(framebuffer, attachment, renderbuffertarget, renderbuffer) + ccall((:glNamedFramebufferRenderbufferEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, GLuint), framebuffer, attachment, renderbuffertarget, renderbuffer) +end + +function glGetNamedFramebufferAttachmentParameterivEXT(framebuffer, attachment, pname, params) + ccall((:glGetNamedFramebufferAttachmentParameterivEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), framebuffer, attachment, pname, params) +end + +function glGenerateTextureMipmapEXT(texture, target) + ccall((:glGenerateTextureMipmapEXT, libgl), Cvoid, (GLuint, GLenum), texture, target) +end + +function glGenerateMultiTexMipmapEXT(texunit, target) + ccall((:glGenerateMultiTexMipmapEXT, libgl), Cvoid, (GLenum, GLenum), texunit, target) +end + +function glFramebufferDrawBufferEXT(framebuffer, mode) + ccall((:glFramebufferDrawBufferEXT, libgl), Cvoid, (GLuint, GLenum), framebuffer, mode) +end + +function glFramebufferDrawBuffersEXT(framebuffer, n, bufs) + ccall((:glFramebufferDrawBuffersEXT, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLenum}), framebuffer, n, bufs) +end + +function glFramebufferReadBufferEXT(framebuffer, mode) + ccall((:glFramebufferReadBufferEXT, libgl), Cvoid, (GLuint, GLenum), framebuffer, mode) +end + +function glGetFramebufferParameterivEXT(framebuffer, pname, params) + ccall((:glGetFramebufferParameterivEXT, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), framebuffer, pname, params) +end + +function glNamedCopyBufferSubDataEXT(readBuffer, writeBuffer, readOffset, writeOffset, size) + ccall((:glNamedCopyBufferSubDataEXT, libgl), Cvoid, (GLuint, GLuint, GLintptr, GLintptr, GLsizeiptr), readBuffer, writeBuffer, readOffset, writeOffset, size) +end + +function glNamedFramebufferTextureEXT(framebuffer, attachment, texture, level) + ccall((:glNamedFramebufferTextureEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, GLint), framebuffer, attachment, texture, level) +end + +function glNamedFramebufferTextureLayerEXT(framebuffer, attachment, texture, level, layer) + ccall((:glNamedFramebufferTextureLayerEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, GLint, GLint), framebuffer, attachment, texture, level, layer) +end + +function glNamedFramebufferTextureFaceEXT(framebuffer, attachment, texture, level, face) + ccall((:glNamedFramebufferTextureFaceEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, GLint, GLenum), framebuffer, attachment, texture, level, face) +end + +function glTextureRenderbufferEXT(texture, target, renderbuffer) + ccall((:glTextureRenderbufferEXT, libgl), Cvoid, (GLuint, GLenum, GLuint), texture, target, renderbuffer) +end + +function glMultiTexRenderbufferEXT(texunit, target, renderbuffer) + ccall((:glMultiTexRenderbufferEXT, libgl), Cvoid, (GLenum, GLenum, GLuint), texunit, target, renderbuffer) +end + +function glVertexArrayVertexOffsetEXT(vaobj, buffer, size, type, stride, offset) + ccall((:glVertexArrayVertexOffsetEXT, libgl), Cvoid, (GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, size, type, stride, offset) +end + +function glVertexArrayColorOffsetEXT(vaobj, buffer, size, type, stride, offset) + ccall((:glVertexArrayColorOffsetEXT, libgl), Cvoid, (GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, size, type, stride, offset) +end + +function glVertexArrayEdgeFlagOffsetEXT(vaobj, buffer, stride, offset) + ccall((:glVertexArrayEdgeFlagOffsetEXT, libgl), Cvoid, (GLuint, GLuint, GLsizei, GLintptr), vaobj, buffer, stride, offset) +end + +function glVertexArrayIndexOffsetEXT(vaobj, buffer, type, stride, offset) + ccall((:glVertexArrayIndexOffsetEXT, libgl), Cvoid, (GLuint, GLuint, GLenum, GLsizei, GLintptr), vaobj, buffer, type, stride, offset) +end + +function glVertexArrayNormalOffsetEXT(vaobj, buffer, type, stride, offset) + ccall((:glVertexArrayNormalOffsetEXT, libgl), Cvoid, (GLuint, GLuint, GLenum, GLsizei, GLintptr), vaobj, buffer, type, stride, offset) +end + +function glVertexArrayTexCoordOffsetEXT(vaobj, buffer, size, type, stride, offset) + ccall((:glVertexArrayTexCoordOffsetEXT, libgl), Cvoid, (GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, size, type, stride, offset) +end + +function glVertexArrayMultiTexCoordOffsetEXT(vaobj, buffer, texunit, size, type, stride, offset) + ccall((:glVertexArrayMultiTexCoordOffsetEXT, libgl), Cvoid, (GLuint, GLuint, GLenum, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, texunit, size, type, stride, offset) +end + +function glVertexArrayFogCoordOffsetEXT(vaobj, buffer, type, stride, offset) + ccall((:glVertexArrayFogCoordOffsetEXT, libgl), Cvoid, (GLuint, GLuint, GLenum, GLsizei, GLintptr), vaobj, buffer, type, stride, offset) +end + +function glVertexArraySecondaryColorOffsetEXT(vaobj, buffer, size, type, stride, offset) + ccall((:glVertexArraySecondaryColorOffsetEXT, libgl), Cvoid, (GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, size, type, stride, offset) +end + +function glVertexArrayVertexAttribOffsetEXT(vaobj, buffer, index, size, type, normalized, stride, offset) + ccall((:glVertexArrayVertexAttribOffsetEXT, libgl), Cvoid, (GLuint, GLuint, GLuint, GLint, GLenum, GLboolean, GLsizei, GLintptr), vaobj, buffer, index, size, type, normalized, stride, offset) +end + +function glVertexArrayVertexAttribIOffsetEXT(vaobj, buffer, index, size, type, stride, offset) + ccall((:glVertexArrayVertexAttribIOffsetEXT, libgl), Cvoid, (GLuint, GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, index, size, type, stride, offset) +end + +function glEnableVertexArrayEXT(vaobj, array) + ccall((:glEnableVertexArrayEXT, libgl), Cvoid, (GLuint, GLenum), vaobj, array) +end + +function glDisableVertexArrayEXT(vaobj, array) + ccall((:glDisableVertexArrayEXT, libgl), Cvoid, (GLuint, GLenum), vaobj, array) +end + +function glEnableVertexArrayAttribEXT(vaobj, index) + ccall((:glEnableVertexArrayAttribEXT, libgl), Cvoid, (GLuint, GLuint), vaobj, index) +end + +function glDisableVertexArrayAttribEXT(vaobj, index) + ccall((:glDisableVertexArrayAttribEXT, libgl), Cvoid, (GLuint, GLuint), vaobj, index) +end + +function glGetVertexArrayIntegervEXT(vaobj, pname, param) + ccall((:glGetVertexArrayIntegervEXT, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), vaobj, pname, param) +end + +function glGetVertexArrayPointervEXT(vaobj, pname, param) + ccall((:glGetVertexArrayPointervEXT, libgl), Cvoid, (GLuint, GLenum, Ptr{Ptr{Cvoid}}), vaobj, pname, param) +end + +function glGetVertexArrayIntegeri_vEXT(vaobj, index, pname, param) + ccall((:glGetVertexArrayIntegeri_vEXT, libgl), Cvoid, (GLuint, GLuint, GLenum, Ptr{GLint}), vaobj, index, pname, param) +end + +function glGetVertexArrayPointeri_vEXT(vaobj, index, pname, param) + ccall((:glGetVertexArrayPointeri_vEXT, libgl), Cvoid, (GLuint, GLuint, GLenum, Ptr{Ptr{Cvoid}}), vaobj, index, pname, param) +end + +function glMapNamedBufferRangeEXT(buffer, offset, length, access) + ccall((:glMapNamedBufferRangeEXT, libgl), Ptr{Cvoid}, (GLuint, GLintptr, GLsizeiptr, GLbitfield), buffer, offset, length, access) +end + +function glFlushMappedNamedBufferRangeEXT(buffer, offset, length) + ccall((:glFlushMappedNamedBufferRangeEXT, libgl), Cvoid, (GLuint, GLintptr, GLsizeiptr), buffer, offset, length) +end + +function glNamedBufferStorageEXT(buffer, size, data, flags) + ccall((:glNamedBufferStorageEXT, libgl), Cvoid, (GLuint, GLsizeiptr, Ptr{Cvoid}, GLbitfield), buffer, size, data, flags) +end + +function glClearNamedBufferDataEXT(buffer, internalformat, format, type, data) + ccall((:glClearNamedBufferDataEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, GLenum, Ptr{Cvoid}), buffer, internalformat, format, type, data) +end + +function glClearNamedBufferSubDataEXT(buffer, internalformat, offset, size, format, type, data) + ccall((:glClearNamedBufferSubDataEXT, libgl), Cvoid, (GLuint, GLenum, GLsizeiptr, GLsizeiptr, GLenum, GLenum, Ptr{Cvoid}), buffer, internalformat, offset, size, format, type, data) +end + +function glNamedFramebufferParameteriEXT(framebuffer, pname, param) + ccall((:glNamedFramebufferParameteriEXT, libgl), Cvoid, (GLuint, GLenum, GLint), framebuffer, pname, param) +end + +function glGetNamedFramebufferParameterivEXT(framebuffer, pname, params) + ccall((:glGetNamedFramebufferParameterivEXT, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), framebuffer, pname, params) +end + +function glProgramUniform1dEXT(program, location, x) + ccall((:glProgramUniform1dEXT, libgl), Cvoid, (GLuint, GLint, GLdouble), program, location, x) +end + +function glProgramUniform2dEXT(program, location, x, y) + ccall((:glProgramUniform2dEXT, libgl), Cvoid, (GLuint, GLint, GLdouble, GLdouble), program, location, x, y) +end + +function glProgramUniform3dEXT(program, location, x, y, z) + ccall((:glProgramUniform3dEXT, libgl), Cvoid, (GLuint, GLint, GLdouble, GLdouble, GLdouble), program, location, x, y, z) +end + +function glProgramUniform4dEXT(program, location, x, y, z, w) + ccall((:glProgramUniform4dEXT, libgl), Cvoid, (GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble), program, location, x, y, z, w) +end + +function glProgramUniform1dvEXT(program, location, count, value) + ccall((:glProgramUniform1dvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) +end + +function glProgramUniform2dvEXT(program, location, count, value) + ccall((:glProgramUniform2dvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) +end + +function glProgramUniform3dvEXT(program, location, count, value) + ccall((:glProgramUniform3dvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) +end + +function glProgramUniform4dvEXT(program, location, count, value) + ccall((:glProgramUniform4dvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) +end + +function glProgramUniformMatrix2dvEXT(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix2dvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) +end + +function glProgramUniformMatrix3dvEXT(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix3dvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) +end + +function glProgramUniformMatrix4dvEXT(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix4dvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) +end + +function glProgramUniformMatrix2x3dvEXT(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix2x3dvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) +end + +function glProgramUniformMatrix2x4dvEXT(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix2x4dvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) +end + +function glProgramUniformMatrix3x2dvEXT(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix3x2dvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) +end + +function glProgramUniformMatrix3x4dvEXT(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix3x4dvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) +end + +function glProgramUniformMatrix4x2dvEXT(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix4x2dvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) +end + +function glProgramUniformMatrix4x3dvEXT(program, location, count, transpose, value) + ccall((:glProgramUniformMatrix4x3dvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) +end + +function glTextureBufferRangeEXT(texture, target, internalformat, buffer, offset, size) + ccall((:glTextureBufferRangeEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, GLuint, GLintptr, GLsizeiptr), texture, target, internalformat, buffer, offset, size) +end + +function glTextureStorage1DEXT(texture, target, levels, internalformat, width) + ccall((:glTextureStorage1DEXT, libgl), Cvoid, (GLuint, GLenum, GLsizei, GLenum, GLsizei), texture, target, levels, internalformat, width) +end + +function glTextureStorage2DEXT(texture, target, levels, internalformat, width, height) + ccall((:glTextureStorage2DEXT, libgl), Cvoid, (GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei), texture, target, levels, internalformat, width, height) +end + +function glTextureStorage3DEXT(texture, target, levels, internalformat, width, height, depth) + ccall((:glTextureStorage3DEXT, libgl), Cvoid, (GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei), texture, target, levels, internalformat, width, height, depth) +end + +function glTextureStorage2DMultisampleEXT(texture, target, samples, internalformat, width, height, fixedsamplelocations) + ccall((:glTextureStorage2DMultisampleEXT, libgl), Cvoid, (GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean), texture, target, samples, internalformat, width, height, fixedsamplelocations) +end + +function glTextureStorage3DMultisampleEXT(texture, target, samples, internalformat, width, height, depth, fixedsamplelocations) + ccall((:glTextureStorage3DMultisampleEXT, libgl), Cvoid, (GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean), texture, target, samples, internalformat, width, height, depth, fixedsamplelocations) +end + +function glVertexArrayBindVertexBufferEXT(vaobj, bindingindex, buffer, offset, stride) + ccall((:glVertexArrayBindVertexBufferEXT, libgl), Cvoid, (GLuint, GLuint, GLuint, GLintptr, GLsizei), vaobj, bindingindex, buffer, offset, stride) +end + +function glVertexArrayVertexAttribFormatEXT(vaobj, attribindex, size, type, normalized, relativeoffset) + ccall((:glVertexArrayVertexAttribFormatEXT, libgl), Cvoid, (GLuint, GLuint, GLint, GLenum, GLboolean, GLuint), vaobj, attribindex, size, type, normalized, relativeoffset) +end + +function glVertexArrayVertexAttribIFormatEXT(vaobj, attribindex, size, type, relativeoffset) + ccall((:glVertexArrayVertexAttribIFormatEXT, libgl), Cvoid, (GLuint, GLuint, GLint, GLenum, GLuint), vaobj, attribindex, size, type, relativeoffset) +end + +function glVertexArrayVertexAttribLFormatEXT(vaobj, attribindex, size, type, relativeoffset) + ccall((:glVertexArrayVertexAttribLFormatEXT, libgl), Cvoid, (GLuint, GLuint, GLint, GLenum, GLuint), vaobj, attribindex, size, type, relativeoffset) +end + +function glVertexArrayVertexAttribBindingEXT(vaobj, attribindex, bindingindex) + ccall((:glVertexArrayVertexAttribBindingEXT, libgl), Cvoid, (GLuint, GLuint, GLuint), vaobj, attribindex, bindingindex) +end + +function glVertexArrayVertexBindingDivisorEXT(vaobj, bindingindex, divisor) + ccall((:glVertexArrayVertexBindingDivisorEXT, libgl), Cvoid, (GLuint, GLuint, GLuint), vaobj, bindingindex, divisor) +end + +function glVertexArrayVertexAttribLOffsetEXT(vaobj, buffer, index, size, type, stride, offset) + ccall((:glVertexArrayVertexAttribLOffsetEXT, libgl), Cvoid, (GLuint, GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, index, size, type, stride, offset) +end + +function glTexturePageCommitmentEXT(texture, level, xoffset, yoffset, zoffset, width, height, depth, commit) + ccall((:glTexturePageCommitmentEXT, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLboolean), texture, level, xoffset, yoffset, zoffset, width, height, depth, commit) +end + +function glVertexArrayVertexAttribDivisorEXT(vaobj, index, divisor) + ccall((:glVertexArrayVertexAttribDivisorEXT, libgl), Cvoid, (GLuint, GLuint, GLuint), vaobj, index, divisor) +end + +# typedef void ( APIENTRYP PFNGLDRAWARRAYSINSTANCEDEXTPROC ) ( GLenum mode , GLint start , GLsizei count , GLsizei primcount ) +const PFNGLDRAWARRAYSINSTANCEDEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDRAWELEMENTSINSTANCEDEXTPROC ) ( GLenum mode , GLsizei count , GLenum type , const void * indices , GLsizei primcount ) +const PFNGLDRAWELEMENTSINSTANCEDEXTPROC = Ptr{Cvoid} + +function glDrawArraysInstancedEXT(mode, start, count, primcount) + ccall((:glDrawArraysInstancedEXT, libgl), Cvoid, (GLenum, GLint, GLsizei, GLsizei), mode, start, count, primcount) +end + +function glDrawElementsInstancedEXT(mode, count, type, indices, primcount) + ccall((:glDrawElementsInstancedEXT, libgl), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLsizei), mode, count, type, indices, primcount) +end + +# typedef void ( APIENTRYP PFNGLPOLYGONOFFSETCLAMPEXTPROC ) ( GLfloat factor , GLfloat units , GLfloat clamp ) +const PFNGLPOLYGONOFFSETCLAMPEXTPROC = Ptr{Cvoid} + +function glPolygonOffsetClampEXT(factor, units, clamp) + ccall((:glPolygonOffsetClampEXT, libgl), Cvoid, (GLfloat, GLfloat, GLfloat), factor, units, clamp) +end + +# typedef void ( APIENTRYP PFNGLRASTERSAMPLESEXTPROC ) ( GLuint samples , GLboolean fixedsamplelocations ) +const PFNGLRASTERSAMPLESEXTPROC = Ptr{Cvoid} + +function glRasterSamplesEXT(samples, fixedsamplelocations) + ccall((:glRasterSamplesEXT, libgl), Cvoid, (GLuint, GLboolean), samples, fixedsamplelocations) +end + +# typedef void ( APIENTRYP PFNGLUSESHADERPROGRAMEXTPROC ) ( GLenum type , GLuint program ) +const PFNGLUSESHADERPROGRAMEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLACTIVEPROGRAMEXTPROC ) ( GLuint program ) +const PFNGLACTIVEPROGRAMEXTPROC = Ptr{Cvoid} + +# typedef GLuint ( APIENTRYP PFNGLCREATESHADERPROGRAMEXTPROC ) ( GLenum type , const GLchar * string ) +const PFNGLCREATESHADERPROGRAMEXTPROC = Ptr{Cvoid} + +function glUseShaderProgramEXT(type, program) + ccall((:glUseShaderProgramEXT, libgl), Cvoid, (GLenum, GLuint), type, program) +end + +function glActiveProgramEXT(program) + ccall((:glActiveProgramEXT, libgl), Cvoid, (GLuint,), program) +end + +function glCreateShaderProgramEXT(type, string) + ccall((:glCreateShaderProgramEXT, libgl), GLuint, (GLenum, Ptr{GLchar}), type, string) +end + +# typedef void ( APIENTRYP PFNGLFRAMEBUFFERFETCHBARRIEREXTPROC ) ( void ) +const PFNGLFRAMEBUFFERFETCHBARRIEREXTPROC = Ptr{Cvoid} + +function glFramebufferFetchBarrierEXT() + ccall((:glFramebufferFetchBarrierEXT, libgl), Cvoid, ()) +end + +# typedef void ( APIENTRYP PFNGLTEXSTORAGE1DEXTPROC ) ( GLenum target , GLsizei levels , GLenum internalformat , GLsizei width ) +const PFNGLTEXSTORAGE1DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXSTORAGE2DEXTPROC ) ( GLenum target , GLsizei levels , GLenum internalformat , GLsizei width , GLsizei height ) +const PFNGLTEXSTORAGE2DEXTPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXSTORAGE3DEXTPROC ) ( GLenum target , GLsizei levels , GLenum internalformat , GLsizei width , GLsizei height , GLsizei depth ) +const PFNGLTEXSTORAGE3DEXTPROC = Ptr{Cvoid} + +function glTexStorage1DEXT(target, levels, internalformat, width) + ccall((:glTexStorage1DEXT, libgl), Cvoid, (GLenum, GLsizei, GLenum, GLsizei), target, levels, internalformat, width) +end + +function glTexStorage2DEXT(target, levels, internalformat, width, height) + ccall((:glTexStorage2DEXT, libgl), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei), target, levels, internalformat, width, height) +end + +function glTexStorage3DEXT(target, levels, internalformat, width, height, depth) + ccall((:glTexStorage3DEXT, libgl), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei), target, levels, internalformat, width, height, depth) +end + +# typedef void ( APIENTRYP PFNGLWINDOWRECTANGLESEXTPROC ) ( GLenum mode , GLsizei count , const GLint * box ) +const PFNGLWINDOWRECTANGLESEXTPROC = Ptr{Cvoid} + +function glWindowRectanglesEXT(mode, count, box) + ccall((:glWindowRectanglesEXT, libgl), Cvoid, (GLenum, GLsizei, Ptr{GLint}), mode, count, box) +end + +# typedef void ( APIENTRYP PFNGLAPPLYFRAMEBUFFERATTACHMENTCMAAINTELPROC ) ( void ) +const PFNGLAPPLYFRAMEBUFFERATTACHMENTCMAAINTELPROC = Ptr{Cvoid} + +function glApplyFramebufferAttachmentCMAAINTEL() + ccall((:glApplyFramebufferAttachmentCMAAINTEL, libgl), Cvoid, ()) +end + +# typedef void ( APIENTRYP PFNGLBEGINPERFQUERYINTELPROC ) ( GLuint queryHandle ) +const PFNGLBEGINPERFQUERYINTELPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCREATEPERFQUERYINTELPROC ) ( GLuint queryId , GLuint * queryHandle ) +const PFNGLCREATEPERFQUERYINTELPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDELETEPERFQUERYINTELPROC ) ( GLuint queryHandle ) +const PFNGLDELETEPERFQUERYINTELPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLENDPERFQUERYINTELPROC ) ( GLuint queryHandle ) +const PFNGLENDPERFQUERYINTELPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETFIRSTPERFQUERYIDINTELPROC ) ( GLuint * queryId ) +const PFNGLGETFIRSTPERFQUERYIDINTELPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNEXTPERFQUERYIDINTELPROC ) ( GLuint queryId , GLuint * nextQueryId ) +const PFNGLGETNEXTPERFQUERYIDINTELPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETPERFCOUNTERINFOINTELPROC ) ( GLuint queryId , GLuint counterId , GLuint counterNameLength , GLchar * counterName , GLuint counterDescLength , GLchar * counterDesc , GLuint * counterOffset , GLuint * counterDataSize , GLuint * counterTypeEnum , GLuint * counterDataTypeEnum , GLuint64 * rawCounterMaxValue ) +const PFNGLGETPERFCOUNTERINFOINTELPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETPERFQUERYDATAINTELPROC ) ( GLuint queryHandle , GLuint flags , GLsizei dataSize , void * data , GLuint * bytesWritten ) +const PFNGLGETPERFQUERYDATAINTELPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETPERFQUERYIDBYNAMEINTELPROC ) ( GLchar * queryName , GLuint * queryId ) +const PFNGLGETPERFQUERYIDBYNAMEINTELPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETPERFQUERYINFOINTELPROC ) ( GLuint queryId , GLuint queryNameLength , GLchar * queryName , GLuint * dataSize , GLuint * noCounters , GLuint * noInstances , GLuint * capsMask ) +const PFNGLGETPERFQUERYINFOINTELPROC = Ptr{Cvoid} + +function glBeginPerfQueryINTEL(queryHandle) + ccall((:glBeginPerfQueryINTEL, libgl), Cvoid, (GLuint,), queryHandle) +end + +function glCreatePerfQueryINTEL(queryId, queryHandle) + ccall((:glCreatePerfQueryINTEL, libgl), Cvoid, (GLuint, Ptr{GLuint}), queryId, queryHandle) +end + +function glDeletePerfQueryINTEL(queryHandle) + ccall((:glDeletePerfQueryINTEL, libgl), Cvoid, (GLuint,), queryHandle) +end + +function glEndPerfQueryINTEL(queryHandle) + ccall((:glEndPerfQueryINTEL, libgl), Cvoid, (GLuint,), queryHandle) +end + +function glGetFirstPerfQueryIdINTEL(queryId) + ccall((:glGetFirstPerfQueryIdINTEL, libgl), Cvoid, (Ptr{GLuint},), queryId) +end + +function glGetNextPerfQueryIdINTEL(queryId, nextQueryId) + ccall((:glGetNextPerfQueryIdINTEL, libgl), Cvoid, (GLuint, Ptr{GLuint}), queryId, nextQueryId) +end + +function glGetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue) + ccall((:glGetPerfCounterInfoINTEL, libgl), Cvoid, (GLuint, GLuint, GLuint, Ptr{GLchar}, GLuint, Ptr{GLchar}, Ptr{GLuint}, Ptr{GLuint}, Ptr{GLuint}, Ptr{GLuint}, Ptr{GLuint64}), queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue) +end + +function glGetPerfQueryDataINTEL(queryHandle, flags, dataSize, data, bytesWritten) + ccall((:glGetPerfQueryDataINTEL, libgl), Cvoid, (GLuint, GLuint, GLsizei, Ptr{Cvoid}, Ptr{GLuint}), queryHandle, flags, dataSize, data, bytesWritten) +end + +function glGetPerfQueryIdByNameINTEL(queryName, queryId) + ccall((:glGetPerfQueryIdByNameINTEL, libgl), Cvoid, (Ptr{GLchar}, Ptr{GLuint}), queryName, queryId) +end + +function glGetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, noCounters, noInstances, capsMask) + ccall((:glGetPerfQueryInfoINTEL, libgl), Cvoid, (GLuint, GLuint, Ptr{GLchar}, Ptr{GLuint}, Ptr{GLuint}, Ptr{GLuint}, Ptr{GLuint}), queryId, queryNameLength, queryName, dataSize, noCounters, noInstances, capsMask) +end + +# typedef void ( APIENTRYP PFNGLFRAMEBUFFERPARAMETERIMESAPROC ) ( GLenum target , GLenum pname , GLint param ) +const PFNGLFRAMEBUFFERPARAMETERIMESAPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVMESAPROC ) ( GLenum target , GLenum pname , GLint * params ) +const PFNGLGETFRAMEBUFFERPARAMETERIVMESAPROC = Ptr{Cvoid} + +function glFramebufferParameteriMESA(target, pname, param) + ccall((:glFramebufferParameteriMESA, libgl), Cvoid, (GLenum, GLenum, GLint), target, pname, param) +end + +function glGetFramebufferParameterivMESA(target, pname, params) + ccall((:glGetFramebufferParameterivMESA, libgl), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) +end + +# typedef void ( APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC ) ( GLenum mode , const void * indirect , GLsizei drawCount , GLsizei stride , GLint vertexBufferCount ) +const PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC ) ( GLenum mode , GLenum type , const void * indirect , GLsizei drawCount , GLsizei stride , GLint vertexBufferCount ) +const PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC = Ptr{Cvoid} + +function glMultiDrawArraysIndirectBindlessNV(mode, indirect, drawCount, stride, vertexBufferCount) + ccall((:glMultiDrawArraysIndirectBindlessNV, libgl), Cvoid, (GLenum, Ptr{Cvoid}, GLsizei, GLsizei, GLint), mode, indirect, drawCount, stride, vertexBufferCount) +end + +function glMultiDrawElementsIndirectBindlessNV(mode, type, indirect, drawCount, stride, vertexBufferCount) + ccall((:glMultiDrawElementsIndirectBindlessNV, libgl), Cvoid, (GLenum, GLenum, Ptr{Cvoid}, GLsizei, GLsizei, GLint), mode, type, indirect, drawCount, stride, vertexBufferCount) +end + +# typedef void ( APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSCOUNTNVPROC ) ( GLenum mode , const void * indirect , GLsizei drawCount , GLsizei maxDrawCount , GLsizei stride , GLint vertexBufferCount ) +const PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSCOUNTNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSCOUNTNVPROC ) ( GLenum mode , GLenum type , const void * indirect , GLsizei drawCount , GLsizei maxDrawCount , GLsizei stride , GLint vertexBufferCount ) +const PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSCOUNTNVPROC = Ptr{Cvoid} + +function glMultiDrawArraysIndirectBindlessCountNV(mode, indirect, drawCount, maxDrawCount, stride, vertexBufferCount) + ccall((:glMultiDrawArraysIndirectBindlessCountNV, libgl), Cvoid, (GLenum, Ptr{Cvoid}, GLsizei, GLsizei, GLsizei, GLint), mode, indirect, drawCount, maxDrawCount, stride, vertexBufferCount) +end + +function glMultiDrawElementsIndirectBindlessCountNV(mode, type, indirect, drawCount, maxDrawCount, stride, vertexBufferCount) + ccall((:glMultiDrawElementsIndirectBindlessCountNV, libgl), Cvoid, (GLenum, GLenum, Ptr{Cvoid}, GLsizei, GLsizei, GLsizei, GLint), mode, type, indirect, drawCount, maxDrawCount, stride, vertexBufferCount) +end + +# typedef GLuint64 ( APIENTRYP PFNGLGETTEXTUREHANDLENVPROC ) ( GLuint texture ) +const PFNGLGETTEXTUREHANDLENVPROC = Ptr{Cvoid} + +# typedef GLuint64 ( APIENTRYP PFNGLGETTEXTURESAMPLERHANDLENVPROC ) ( GLuint texture , GLuint sampler ) +const PFNGLGETTEXTURESAMPLERHANDLENVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMAKETEXTUREHANDLERESIDENTNVPROC ) ( GLuint64 handle ) +const PFNGLMAKETEXTUREHANDLERESIDENTNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC ) ( GLuint64 handle ) +const PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC = Ptr{Cvoid} + +# typedef GLuint64 ( APIENTRYP PFNGLGETIMAGEHANDLENVPROC ) ( GLuint texture , GLint level , GLboolean layered , GLint layer , GLenum format ) +const PFNGLGETIMAGEHANDLENVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMAKEIMAGEHANDLERESIDENTNVPROC ) ( GLuint64 handle , GLenum access ) +const PFNGLMAKEIMAGEHANDLERESIDENTNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC ) ( GLuint64 handle ) +const PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORMHANDLEUI64NVPROC ) ( GLint location , GLuint64 value ) +const PFNGLUNIFORMHANDLEUI64NVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORMHANDLEUI64VNVPROC ) ( GLint location , GLsizei count , const GLuint64 * value ) +const PFNGLUNIFORMHANDLEUI64VNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC ) ( GLuint program , GLint location , GLuint64 value ) +const PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC ) ( GLuint program , GLint location , GLsizei count , const GLuint64 * values ) +const PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC = Ptr{Cvoid} + +# typedef GLboolean ( APIENTRYP PFNGLISTEXTUREHANDLERESIDENTNVPROC ) ( GLuint64 handle ) +const PFNGLISTEXTUREHANDLERESIDENTNVPROC = Ptr{Cvoid} + +# typedef GLboolean ( APIENTRYP PFNGLISIMAGEHANDLERESIDENTNVPROC ) ( GLuint64 handle ) +const PFNGLISIMAGEHANDLERESIDENTNVPROC = Ptr{Cvoid} + +function glGetTextureHandleNV(texture) + ccall((:glGetTextureHandleNV, libgl), GLuint64, (GLuint,), texture) +end + +function glGetTextureSamplerHandleNV(texture, sampler) + ccall((:glGetTextureSamplerHandleNV, libgl), GLuint64, (GLuint, GLuint), texture, sampler) +end + +function glMakeTextureHandleResidentNV(handle) + ccall((:glMakeTextureHandleResidentNV, libgl), Cvoid, (GLuint64,), handle) +end + +function glMakeTextureHandleNonResidentNV(handle) + ccall((:glMakeTextureHandleNonResidentNV, libgl), Cvoid, (GLuint64,), handle) +end + +function glGetImageHandleNV(texture, level, layered, layer, format) + ccall((:glGetImageHandleNV, libgl), GLuint64, (GLuint, GLint, GLboolean, GLint, GLenum), texture, level, layered, layer, format) +end + +function glMakeImageHandleResidentNV(handle, access) + ccall((:glMakeImageHandleResidentNV, libgl), Cvoid, (GLuint64, GLenum), handle, access) +end + +function glMakeImageHandleNonResidentNV(handle) + ccall((:glMakeImageHandleNonResidentNV, libgl), Cvoid, (GLuint64,), handle) +end + +function glUniformHandleui64NV(location, value) + ccall((:glUniformHandleui64NV, libgl), Cvoid, (GLint, GLuint64), location, value) +end + +function glUniformHandleui64vNV(location, count, value) + ccall((:glUniformHandleui64vNV, libgl), Cvoid, (GLint, GLsizei, Ptr{GLuint64}), location, count, value) +end + +function glProgramUniformHandleui64NV(program, location, value) + ccall((:glProgramUniformHandleui64NV, libgl), Cvoid, (GLuint, GLint, GLuint64), program, location, value) +end + +function glProgramUniformHandleui64vNV(program, location, count, values) + ccall((:glProgramUniformHandleui64vNV, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, count, values) +end + +function glIsTextureHandleResidentNV(handle) + ccall((:glIsTextureHandleResidentNV, libgl), GLboolean, (GLuint64,), handle) +end + +function glIsImageHandleResidentNV(handle) + ccall((:glIsImageHandleResidentNV, libgl), GLboolean, (GLuint64,), handle) +end + +# typedef void ( APIENTRYP PFNGLBLENDPARAMETERINVPROC ) ( GLenum pname , GLint value ) +const PFNGLBLENDPARAMETERINVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBLENDBARRIERNVPROC ) ( void ) +const PFNGLBLENDBARRIERNVPROC = Ptr{Cvoid} + +function glBlendParameteriNV(pname, value) + ccall((:glBlendParameteriNV, libgl), Cvoid, (GLenum, GLint), pname, value) +end + +function glBlendBarrierNV() + ccall((:glBlendBarrierNV, libgl), Cvoid, ()) +end + +# typedef void ( APIENTRYP PFNGLVIEWPORTPOSITIONWSCALENVPROC ) ( GLuint index , GLfloat xcoeff , GLfloat ycoeff ) +const PFNGLVIEWPORTPOSITIONWSCALENVPROC = Ptr{Cvoid} + +function glViewportPositionWScaleNV(index, xcoeff, ycoeff) + ccall((:glViewportPositionWScaleNV, libgl), Cvoid, (GLuint, GLfloat, GLfloat), index, xcoeff, ycoeff) +end + +# typedef void ( APIENTRYP PFNGLCREATESTATESNVPROC ) ( GLsizei n , GLuint * states ) +const PFNGLCREATESTATESNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDELETESTATESNVPROC ) ( GLsizei n , const GLuint * states ) +const PFNGLDELETESTATESNVPROC = Ptr{Cvoid} + +# typedef GLboolean ( APIENTRYP PFNGLISSTATENVPROC ) ( GLuint state ) +const PFNGLISSTATENVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSTATECAPTURENVPROC ) ( GLuint state , GLenum mode ) +const PFNGLSTATECAPTURENVPROC = Ptr{Cvoid} + +# typedef GLuint ( APIENTRYP PFNGLGETCOMMANDHEADERNVPROC ) ( GLenum tokenID , GLuint size ) +const PFNGLGETCOMMANDHEADERNVPROC = Ptr{Cvoid} + +# typedef GLushort ( APIENTRYP PFNGLGETSTAGEINDEXNVPROC ) ( GLenum shadertype ) +const PFNGLGETSTAGEINDEXNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDRAWCOMMANDSNVPROC ) ( GLenum primitiveMode , GLuint buffer , const GLintptr * indirects , const GLsizei * sizes , GLuint count ) +const PFNGLDRAWCOMMANDSNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDRAWCOMMANDSADDRESSNVPROC ) ( GLenum primitiveMode , const GLuint64 * indirects , const GLsizei * sizes , GLuint count ) +const PFNGLDRAWCOMMANDSADDRESSNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDRAWCOMMANDSSTATESNVPROC ) ( GLuint buffer , const GLintptr * indirects , const GLsizei * sizes , const GLuint * states , const GLuint * fbos , GLuint count ) +const PFNGLDRAWCOMMANDSSTATESNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDRAWCOMMANDSSTATESADDRESSNVPROC ) ( const GLuint64 * indirects , const GLsizei * sizes , const GLuint * states , const GLuint * fbos , GLuint count ) +const PFNGLDRAWCOMMANDSSTATESADDRESSNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCREATECOMMANDLISTSNVPROC ) ( GLsizei n , GLuint * lists ) +const PFNGLCREATECOMMANDLISTSNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDELETECOMMANDLISTSNVPROC ) ( GLsizei n , const GLuint * lists ) +const PFNGLDELETECOMMANDLISTSNVPROC = Ptr{Cvoid} + +# typedef GLboolean ( APIENTRYP PFNGLISCOMMANDLISTNVPROC ) ( GLuint list ) +const PFNGLISCOMMANDLISTNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLLISTDRAWCOMMANDSSTATESCLIENTNVPROC ) ( GLuint list , GLuint segment , const void * * indirects , const GLsizei * sizes , const GLuint * states , const GLuint * fbos , GLuint count ) +const PFNGLLISTDRAWCOMMANDSSTATESCLIENTNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOMMANDLISTSEGMENTSNVPROC ) ( GLuint list , GLuint segments ) +const PFNGLCOMMANDLISTSEGMENTSNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOMPILECOMMANDLISTNVPROC ) ( GLuint list ) +const PFNGLCOMPILECOMMANDLISTNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCALLCOMMANDLISTNVPROC ) ( GLuint list ) +const PFNGLCALLCOMMANDLISTNVPROC = Ptr{Cvoid} + +function glCreateStatesNV(n, states) + ccall((:glCreateStatesNV, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, states) +end + +function glDeleteStatesNV(n, states) + ccall((:glDeleteStatesNV, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, states) +end + +function glIsStateNV(state) + ccall((:glIsStateNV, libgl), GLboolean, (GLuint,), state) +end + +function glStateCaptureNV(state, mode) + ccall((:glStateCaptureNV, libgl), Cvoid, (GLuint, GLenum), state, mode) +end + +function glGetCommandHeaderNV(tokenID, size) + ccall((:glGetCommandHeaderNV, libgl), GLuint, (GLenum, GLuint), tokenID, size) +end + +function glGetStageIndexNV(shadertype) + ccall((:glGetStageIndexNV, libgl), GLushort, (GLenum,), shadertype) +end + +function glDrawCommandsNV(primitiveMode, buffer, indirects, sizes, count) + ccall((:glDrawCommandsNV, libgl), Cvoid, (GLenum, GLuint, Ptr{GLintptr}, Ptr{GLsizei}, GLuint), primitiveMode, buffer, indirects, sizes, count) +end + +function glDrawCommandsAddressNV(primitiveMode, indirects, sizes, count) + ccall((:glDrawCommandsAddressNV, libgl), Cvoid, (GLenum, Ptr{GLuint64}, Ptr{GLsizei}, GLuint), primitiveMode, indirects, sizes, count) +end + +function glDrawCommandsStatesNV(buffer, indirects, sizes, states, fbos, count) + ccall((:glDrawCommandsStatesNV, libgl), Cvoid, (GLuint, Ptr{GLintptr}, Ptr{GLsizei}, Ptr{GLuint}, Ptr{GLuint}, GLuint), buffer, indirects, sizes, states, fbos, count) +end + +function glDrawCommandsStatesAddressNV(indirects, sizes, states, fbos, count) + ccall((:glDrawCommandsStatesAddressNV, libgl), Cvoid, (Ptr{GLuint64}, Ptr{GLsizei}, Ptr{GLuint}, Ptr{GLuint}, GLuint), indirects, sizes, states, fbos, count) +end + +function glCreateCommandListsNV(n, lists) + ccall((:glCreateCommandListsNV, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, lists) +end + +function glDeleteCommandListsNV(n, lists) + ccall((:glDeleteCommandListsNV, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, lists) +end + +function glIsCommandListNV(list) + ccall((:glIsCommandListNV, libgl), GLboolean, (GLuint,), list) +end + +function glListDrawCommandsStatesClientNV(list, segment, indirects, sizes, states, fbos, count) + ccall((:glListDrawCommandsStatesClientNV, libgl), Cvoid, (GLuint, GLuint, Ptr{Ptr{Cvoid}}, Ptr{GLsizei}, Ptr{GLuint}, Ptr{GLuint}, GLuint), list, segment, indirects, sizes, states, fbos, count) +end + +function glCommandListSegmentsNV(list, segments) + ccall((:glCommandListSegmentsNV, libgl), Cvoid, (GLuint, GLuint), list, segments) +end + +function glCompileCommandListNV(list) + ccall((:glCompileCommandListNV, libgl), Cvoid, (GLuint,), list) +end + +function glCallCommandListNV(list) + ccall((:glCallCommandListNV, libgl), Cvoid, (GLuint,), list) +end + +# typedef void ( APIENTRYP PFNGLBEGINCONDITIONALRENDERNVPROC ) ( GLuint id , GLenum mode ) +const PFNGLBEGINCONDITIONALRENDERNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLENDCONDITIONALRENDERNVPROC ) ( void ) +const PFNGLENDCONDITIONALRENDERNVPROC = Ptr{Cvoid} + +function glBeginConditionalRenderNV(id, mode) + ccall((:glBeginConditionalRenderNV, libgl), Cvoid, (GLuint, GLenum), id, mode) +end + +function glEndConditionalRenderNV() + ccall((:glEndConditionalRenderNV, libgl), Cvoid, ()) +end + +# typedef void ( APIENTRYP PFNGLSUBPIXELPRECISIONBIASNVPROC ) ( GLuint xbits , GLuint ybits ) +const PFNGLSUBPIXELPRECISIONBIASNVPROC = Ptr{Cvoid} + +function glSubpixelPrecisionBiasNV(xbits, ybits) + ccall((:glSubpixelPrecisionBiasNV, libgl), Cvoid, (GLuint, GLuint), xbits, ybits) +end + +# typedef void ( APIENTRYP PFNGLCONSERVATIVERASTERPARAMETERFNVPROC ) ( GLenum pname , GLfloat value ) +const PFNGLCONSERVATIVERASTERPARAMETERFNVPROC = Ptr{Cvoid} + +function glConservativeRasterParameterfNV(pname, value) + ccall((:glConservativeRasterParameterfNV, libgl), Cvoid, (GLenum, GLfloat), pname, value) +end + +# typedef void ( APIENTRYP PFNGLCONSERVATIVERASTERPARAMETERINVPROC ) ( GLenum pname , GLint param ) +const PFNGLCONSERVATIVERASTERPARAMETERINVPROC = Ptr{Cvoid} + +function glConservativeRasterParameteriNV(pname, param) + ccall((:glConservativeRasterParameteriNV, libgl), Cvoid, (GLenum, GLint), pname, param) +end + +# typedef void ( APIENTRYP PFNGLDEPTHRANGEDNVPROC ) ( GLdouble zNear , GLdouble zFar ) +const PFNGLDEPTHRANGEDNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCLEARDEPTHDNVPROC ) ( GLdouble depth ) +const PFNGLCLEARDEPTHDNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDEPTHBOUNDSDNVPROC ) ( GLdouble zmin , GLdouble zmax ) +const PFNGLDEPTHBOUNDSDNVPROC = Ptr{Cvoid} + +function glDepthRangedNV(zNear, zFar) + ccall((:glDepthRangedNV, libgl), Cvoid, (GLdouble, GLdouble), zNear, zFar) +end + +function glClearDepthdNV(depth) + ccall((:glClearDepthdNV, libgl), Cvoid, (GLdouble,), depth) +end + +function glDepthBoundsdNV(zmin, zmax) + ccall((:glDepthBoundsdNV, libgl), Cvoid, (GLdouble, GLdouble), zmin, zmax) +end + +# typedef void ( APIENTRY * GLVULKANPROCNV ) ( void ) +const GLVULKANPROCNV = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDRAWVKIMAGENVPROC ) ( GLuint64 vkImage , GLuint sampler , GLfloat x0 , GLfloat y0 , GLfloat x1 , GLfloat y1 , GLfloat z , GLfloat s0 , GLfloat t0 , GLfloat s1 , GLfloat t1 ) +const PFNGLDRAWVKIMAGENVPROC = Ptr{Cvoid} + +# typedef GLVULKANPROCNV ( APIENTRYP PFNGLGETVKPROCADDRNVPROC ) ( const GLchar * name ) +const PFNGLGETVKPROCADDRNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLWAITVKSEMAPHORENVPROC ) ( GLuint64 vkSemaphore ) +const PFNGLWAITVKSEMAPHORENVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSIGNALVKSEMAPHORENVPROC ) ( GLuint64 vkSemaphore ) +const PFNGLSIGNALVKSEMAPHORENVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSIGNALVKFENCENVPROC ) ( GLuint64 vkFence ) +const PFNGLSIGNALVKFENCENVPROC = Ptr{Cvoid} + +function glDrawVkImageNV(vkImage, sampler, x0, y0, x1, y1, z, s0, t0, s1, t1) + ccall((:glDrawVkImageNV, libgl), Cvoid, (GLuint64, GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat), vkImage, sampler, x0, y0, x1, y1, z, s0, t0, s1, t1) +end + +function glGetVkProcAddrNV(name) + ccall((:glGetVkProcAddrNV, libgl), GLVULKANPROCNV, (Ptr{GLchar},), name) +end + +function glWaitVkSemaphoreNV(vkSemaphore) + ccall((:glWaitVkSemaphoreNV, libgl), Cvoid, (GLuint64,), vkSemaphore) +end + +function glSignalVkSemaphoreNV(vkSemaphore) + ccall((:glSignalVkSemaphoreNV, libgl), Cvoid, (GLuint64,), vkSemaphore) +end + +function glSignalVkFenceNV(vkFence) + ccall((:glSignalVkFenceNV, libgl), Cvoid, (GLuint64,), vkFence) +end + +# typedef void ( APIENTRYP PFNGLFRAGMENTCOVERAGECOLORNVPROC ) ( GLuint color ) +const PFNGLFRAGMENTCOVERAGECOLORNVPROC = Ptr{Cvoid} + +function glFragmentCoverageColorNV(color) + ccall((:glFragmentCoverageColorNV, libgl), Cvoid, (GLuint,), color) +end + +# typedef void ( APIENTRYP PFNGLCOVERAGEMODULATIONTABLENVPROC ) ( GLsizei n , const GLfloat * v ) +const PFNGLCOVERAGEMODULATIONTABLENVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETCOVERAGEMODULATIONTABLENVPROC ) ( GLsizei bufSize , GLfloat * v ) +const PFNGLGETCOVERAGEMODULATIONTABLENVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOVERAGEMODULATIONNVPROC ) ( GLenum components ) +const PFNGLCOVERAGEMODULATIONNVPROC = Ptr{Cvoid} + +function glCoverageModulationTableNV(n, v) + ccall((:glCoverageModulationTableNV, libgl), Cvoid, (GLsizei, Ptr{GLfloat}), n, v) +end + +function glGetCoverageModulationTableNV(bufSize, v) + ccall((:glGetCoverageModulationTableNV, libgl), Cvoid, (GLsizei, Ptr{GLfloat}), bufSize, v) +end + +function glCoverageModulationNV(components) + ccall((:glCoverageModulationNV, libgl), Cvoid, (GLenum,), components) +end + +# typedef void ( APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC ) ( GLenum target , GLsizei coverageSamples , GLsizei colorSamples , GLenum internalformat , GLsizei width , GLsizei height ) +const PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC = Ptr{Cvoid} + +function glRenderbufferStorageMultisampleCoverageNV(target, coverageSamples, colorSamples, internalformat, width, height) + ccall((:glRenderbufferStorageMultisampleCoverageNV, libgl), Cvoid, (GLenum, GLsizei, GLsizei, GLenum, GLsizei, GLsizei), target, coverageSamples, colorSamples, internalformat, width, height) +end + +const GLint64EXT = khronos_int64_t + +# typedef void ( APIENTRYP PFNGLUNIFORM1I64NVPROC ) ( GLint location , GLint64EXT x ) +const PFNGLUNIFORM1I64NVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM2I64NVPROC ) ( GLint location , GLint64EXT x , GLint64EXT y ) +const PFNGLUNIFORM2I64NVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM3I64NVPROC ) ( GLint location , GLint64EXT x , GLint64EXT y , GLint64EXT z ) +const PFNGLUNIFORM3I64NVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM4I64NVPROC ) ( GLint location , GLint64EXT x , GLint64EXT y , GLint64EXT z , GLint64EXT w ) +const PFNGLUNIFORM4I64NVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM1I64VNVPROC ) ( GLint location , GLsizei count , const GLint64EXT * value ) +const PFNGLUNIFORM1I64VNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM2I64VNVPROC ) ( GLint location , GLsizei count , const GLint64EXT * value ) +const PFNGLUNIFORM2I64VNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM3I64VNVPROC ) ( GLint location , GLsizei count , const GLint64EXT * value ) +const PFNGLUNIFORM3I64VNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM4I64VNVPROC ) ( GLint location , GLsizei count , const GLint64EXT * value ) +const PFNGLUNIFORM4I64VNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM1UI64NVPROC ) ( GLint location , GLuint64EXT x ) +const PFNGLUNIFORM1UI64NVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM2UI64NVPROC ) ( GLint location , GLuint64EXT x , GLuint64EXT y ) +const PFNGLUNIFORM2UI64NVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM3UI64NVPROC ) ( GLint location , GLuint64EXT x , GLuint64EXT y , GLuint64EXT z ) +const PFNGLUNIFORM3UI64NVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM4UI64NVPROC ) ( GLint location , GLuint64EXT x , GLuint64EXT y , GLuint64EXT z , GLuint64EXT w ) +const PFNGLUNIFORM4UI64NVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM1UI64VNVPROC ) ( GLint location , GLsizei count , const GLuint64EXT * value ) +const PFNGLUNIFORM1UI64VNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM2UI64VNVPROC ) ( GLint location , GLsizei count , const GLuint64EXT * value ) +const PFNGLUNIFORM2UI64VNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM3UI64VNVPROC ) ( GLint location , GLsizei count , const GLuint64EXT * value ) +const PFNGLUNIFORM3UI64VNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORM4UI64VNVPROC ) ( GLint location , GLsizei count , const GLuint64EXT * value ) +const PFNGLUNIFORM4UI64VNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETUNIFORMI64VNVPROC ) ( GLuint program , GLint location , GLint64EXT * params ) +const PFNGLGETUNIFORMI64VNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM1I64NVPROC ) ( GLuint program , GLint location , GLint64EXT x ) +const PFNGLPROGRAMUNIFORM1I64NVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM2I64NVPROC ) ( GLuint program , GLint location , GLint64EXT x , GLint64EXT y ) +const PFNGLPROGRAMUNIFORM2I64NVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM3I64NVPROC ) ( GLuint program , GLint location , GLint64EXT x , GLint64EXT y , GLint64EXT z ) +const PFNGLPROGRAMUNIFORM3I64NVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM4I64NVPROC ) ( GLuint program , GLint location , GLint64EXT x , GLint64EXT y , GLint64EXT z , GLint64EXT w ) +const PFNGLPROGRAMUNIFORM4I64NVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM1I64VNVPROC ) ( GLuint program , GLint location , GLsizei count , const GLint64EXT * value ) +const PFNGLPROGRAMUNIFORM1I64VNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM2I64VNVPROC ) ( GLuint program , GLint location , GLsizei count , const GLint64EXT * value ) +const PFNGLPROGRAMUNIFORM2I64VNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM3I64VNVPROC ) ( GLuint program , GLint location , GLsizei count , const GLint64EXT * value ) +const PFNGLPROGRAMUNIFORM3I64VNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM4I64VNVPROC ) ( GLuint program , GLint location , GLsizei count , const GLint64EXT * value ) +const PFNGLPROGRAMUNIFORM4I64VNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM1UI64NVPROC ) ( GLuint program , GLint location , GLuint64EXT x ) +const PFNGLPROGRAMUNIFORM1UI64NVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM2UI64NVPROC ) ( GLuint program , GLint location , GLuint64EXT x , GLuint64EXT y ) +const PFNGLPROGRAMUNIFORM2UI64NVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM3UI64NVPROC ) ( GLuint program , GLint location , GLuint64EXT x , GLuint64EXT y , GLuint64EXT z ) +const PFNGLPROGRAMUNIFORM3UI64NVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM4UI64NVPROC ) ( GLuint program , GLint location , GLuint64EXT x , GLuint64EXT y , GLuint64EXT z , GLuint64EXT w ) +const PFNGLPROGRAMUNIFORM4UI64NVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM1UI64VNVPROC ) ( GLuint program , GLint location , GLsizei count , const GLuint64EXT * value ) +const PFNGLPROGRAMUNIFORM1UI64VNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM2UI64VNVPROC ) ( GLuint program , GLint location , GLsizei count , const GLuint64EXT * value ) +const PFNGLPROGRAMUNIFORM2UI64VNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM3UI64VNVPROC ) ( GLuint program , GLint location , GLsizei count , const GLuint64EXT * value ) +const PFNGLPROGRAMUNIFORM3UI64VNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM4UI64VNVPROC ) ( GLuint program , GLint location , GLsizei count , const GLuint64EXT * value ) +const PFNGLPROGRAMUNIFORM4UI64VNVPROC = Ptr{Cvoid} + +function glUniform1i64NV(location, x) + ccall((:glUniform1i64NV, libgl), Cvoid, (GLint, GLint64EXT), location, x) +end + +function glUniform2i64NV(location, x, y) + ccall((:glUniform2i64NV, libgl), Cvoid, (GLint, GLint64EXT, GLint64EXT), location, x, y) +end + +function glUniform3i64NV(location, x, y, z) + ccall((:glUniform3i64NV, libgl), Cvoid, (GLint, GLint64EXT, GLint64EXT, GLint64EXT), location, x, y, z) +end + +function glUniform4i64NV(location, x, y, z, w) + ccall((:glUniform4i64NV, libgl), Cvoid, (GLint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT), location, x, y, z, w) +end + +function glUniform1i64vNV(location, count, value) + ccall((:glUniform1i64vNV, libgl), Cvoid, (GLint, GLsizei, Ptr{GLint64EXT}), location, count, value) +end + +function glUniform2i64vNV(location, count, value) + ccall((:glUniform2i64vNV, libgl), Cvoid, (GLint, GLsizei, Ptr{GLint64EXT}), location, count, value) +end + +function glUniform3i64vNV(location, count, value) + ccall((:glUniform3i64vNV, libgl), Cvoid, (GLint, GLsizei, Ptr{GLint64EXT}), location, count, value) +end + +function glUniform4i64vNV(location, count, value) + ccall((:glUniform4i64vNV, libgl), Cvoid, (GLint, GLsizei, Ptr{GLint64EXT}), location, count, value) +end + +function glUniform1ui64NV(location, x) + ccall((:glUniform1ui64NV, libgl), Cvoid, (GLint, GLuint64EXT), location, x) +end + +function glUniform2ui64NV(location, x, y) + ccall((:glUniform2ui64NV, libgl), Cvoid, (GLint, GLuint64EXT, GLuint64EXT), location, x, y) +end + +function glUniform3ui64NV(location, x, y, z) + ccall((:glUniform3ui64NV, libgl), Cvoid, (GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT), location, x, y, z) +end + +function glUniform4ui64NV(location, x, y, z, w) + ccall((:glUniform4ui64NV, libgl), Cvoid, (GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT), location, x, y, z, w) +end + +function glUniform1ui64vNV(location, count, value) + ccall((:glUniform1ui64vNV, libgl), Cvoid, (GLint, GLsizei, Ptr{GLuint64EXT}), location, count, value) +end + +function glUniform2ui64vNV(location, count, value) + ccall((:glUniform2ui64vNV, libgl), Cvoid, (GLint, GLsizei, Ptr{GLuint64EXT}), location, count, value) +end + +function glUniform3ui64vNV(location, count, value) + ccall((:glUniform3ui64vNV, libgl), Cvoid, (GLint, GLsizei, Ptr{GLuint64EXT}), location, count, value) +end + +function glUniform4ui64vNV(location, count, value) + ccall((:glUniform4ui64vNV, libgl), Cvoid, (GLint, GLsizei, Ptr{GLuint64EXT}), location, count, value) +end + +function glGetUniformi64vNV(program, location, params) + ccall((:glGetUniformi64vNV, libgl), Cvoid, (GLuint, GLint, Ptr{GLint64EXT}), program, location, params) +end + +function glProgramUniform1i64NV(program, location, x) + ccall((:glProgramUniform1i64NV, libgl), Cvoid, (GLuint, GLint, GLint64EXT), program, location, x) +end + +function glProgramUniform2i64NV(program, location, x, y) + ccall((:glProgramUniform2i64NV, libgl), Cvoid, (GLuint, GLint, GLint64EXT, GLint64EXT), program, location, x, y) +end + +function glProgramUniform3i64NV(program, location, x, y, z) + ccall((:glProgramUniform3i64NV, libgl), Cvoid, (GLuint, GLint, GLint64EXT, GLint64EXT, GLint64EXT), program, location, x, y, z) +end + +function glProgramUniform4i64NV(program, location, x, y, z, w) + ccall((:glProgramUniform4i64NV, libgl), Cvoid, (GLuint, GLint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT), program, location, x, y, z, w) +end + +function glProgramUniform1i64vNV(program, location, count, value) + ccall((:glProgramUniform1i64vNV, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64EXT}), program, location, count, value) +end + +function glProgramUniform2i64vNV(program, location, count, value) + ccall((:glProgramUniform2i64vNV, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64EXT}), program, location, count, value) +end + +function glProgramUniform3i64vNV(program, location, count, value) + ccall((:glProgramUniform3i64vNV, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64EXT}), program, location, count, value) +end + +function glProgramUniform4i64vNV(program, location, count, value) + ccall((:glProgramUniform4i64vNV, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64EXT}), program, location, count, value) +end + +function glProgramUniform1ui64NV(program, location, x) + ccall((:glProgramUniform1ui64NV, libgl), Cvoid, (GLuint, GLint, GLuint64EXT), program, location, x) +end + +function glProgramUniform2ui64NV(program, location, x, y) + ccall((:glProgramUniform2ui64NV, libgl), Cvoid, (GLuint, GLint, GLuint64EXT, GLuint64EXT), program, location, x, y) +end + +function glProgramUniform3ui64NV(program, location, x, y, z) + ccall((:glProgramUniform3ui64NV, libgl), Cvoid, (GLuint, GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT), program, location, x, y, z) +end + +function glProgramUniform4ui64NV(program, location, x, y, z, w) + ccall((:glProgramUniform4ui64NV, libgl), Cvoid, (GLuint, GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT), program, location, x, y, z, w) +end + +function glProgramUniform1ui64vNV(program, location, count, value) + ccall((:glProgramUniform1ui64vNV, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64EXT}), program, location, count, value) +end + +function glProgramUniform2ui64vNV(program, location, count, value) + ccall((:glProgramUniform2ui64vNV, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64EXT}), program, location, count, value) +end + +function glProgramUniform3ui64vNV(program, location, count, value) + ccall((:glProgramUniform3ui64vNV, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64EXT}), program, location, count, value) +end + +function glProgramUniform4ui64vNV(program, location, count, value) + ccall((:glProgramUniform4ui64vNV, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64EXT}), program, location, count, value) +end + +# typedef void ( APIENTRYP PFNGLGETINTERNALFORMATSAMPLEIVNVPROC ) ( GLenum target , GLenum internalformat , GLsizei samples , GLenum pname , GLsizei count , GLint * params ) +const PFNGLGETINTERNALFORMATSAMPLEIVNVPROC = Ptr{Cvoid} + +function glGetInternalformatSampleivNV(target, internalformat, samples, pname, count, params) + ccall((:glGetInternalformatSampleivNV, libgl), Cvoid, (GLenum, GLenum, GLsizei, GLenum, GLsizei, Ptr{GLint}), target, internalformat, samples, pname, count, params) +end + +# typedef void ( APIENTRYP PFNGLGETMEMORYOBJECTDETACHEDRESOURCESUIVNVPROC ) ( GLuint memory , GLenum pname , GLint first , GLsizei count , GLuint * params ) +const PFNGLGETMEMORYOBJECTDETACHEDRESOURCESUIVNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLRESETMEMORYOBJECTPARAMETERNVPROC ) ( GLuint memory , GLenum pname ) +const PFNGLRESETMEMORYOBJECTPARAMETERNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXATTACHMEMORYNVPROC ) ( GLenum target , GLuint memory , GLuint64 offset ) +const PFNGLTEXATTACHMEMORYNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLBUFFERATTACHMEMORYNVPROC ) ( GLenum target , GLuint memory , GLuint64 offset ) +const PFNGLBUFFERATTACHMEMORYNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTUREATTACHMEMORYNVPROC ) ( GLuint texture , GLuint memory , GLuint64 offset ) +const PFNGLTEXTUREATTACHMEMORYNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDBUFFERATTACHMEMORYNVPROC ) ( GLuint buffer , GLuint memory , GLuint64 offset ) +const PFNGLNAMEDBUFFERATTACHMEMORYNVPROC = Ptr{Cvoid} + +function glGetMemoryObjectDetachedResourcesuivNV(memory, pname, first, count, params) + ccall((:glGetMemoryObjectDetachedResourcesuivNV, libgl), Cvoid, (GLuint, GLenum, GLint, GLsizei, Ptr{GLuint}), memory, pname, first, count, params) +end + +function glResetMemoryObjectParameterNV(memory, pname) + ccall((:glResetMemoryObjectParameterNV, libgl), Cvoid, (GLuint, GLenum), memory, pname) +end + +function glTexAttachMemoryNV(target, memory, offset) + ccall((:glTexAttachMemoryNV, libgl), Cvoid, (GLenum, GLuint, GLuint64), target, memory, offset) +end + +function glBufferAttachMemoryNV(target, memory, offset) + ccall((:glBufferAttachMemoryNV, libgl), Cvoid, (GLenum, GLuint, GLuint64), target, memory, offset) +end + +function glTextureAttachMemoryNV(texture, memory, offset) + ccall((:glTextureAttachMemoryNV, libgl), Cvoid, (GLuint, GLuint, GLuint64), texture, memory, offset) +end + +function glNamedBufferAttachMemoryNV(buffer, memory, offset) + ccall((:glNamedBufferAttachMemoryNV, libgl), Cvoid, (GLuint, GLuint, GLuint64), buffer, memory, offset) +end + +# typedef void ( APIENTRYP PFNGLBUFFERPAGECOMMITMENTMEMNVPROC ) ( GLenum target , GLintptr offset , GLsizeiptr size , GLuint memory , GLuint64 memOffset , GLboolean commit ) +const PFNGLBUFFERPAGECOMMITMENTMEMNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXPAGECOMMITMENTMEMNVPROC ) ( GLenum target , GLint layer , GLint level , GLint xoffset , GLint yoffset , GLint zoffset , GLsizei width , GLsizei height , GLsizei depth , GLuint memory , GLuint64 offset , GLboolean commit ) +const PFNGLTEXPAGECOMMITMENTMEMNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDBUFFERPAGECOMMITMENTMEMNVPROC ) ( GLuint buffer , GLintptr offset , GLsizeiptr size , GLuint memory , GLuint64 memOffset , GLboolean commit ) +const PFNGLNAMEDBUFFERPAGECOMMITMENTMEMNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXTUREPAGECOMMITMENTMEMNVPROC ) ( GLuint texture , GLint layer , GLint level , GLint xoffset , GLint yoffset , GLint zoffset , GLsizei width , GLsizei height , GLsizei depth , GLuint memory , GLuint64 offset , GLboolean commit ) +const PFNGLTEXTUREPAGECOMMITMENTMEMNVPROC = Ptr{Cvoid} + +function glBufferPageCommitmentMemNV(target, offset, size, memory, memOffset, commit) + ccall((:glBufferPageCommitmentMemNV, libgl), Cvoid, (GLenum, GLintptr, GLsizeiptr, GLuint, GLuint64, GLboolean), target, offset, size, memory, memOffset, commit) +end + +function glTexPageCommitmentMemNV(target, layer, level, xoffset, yoffset, zoffset, width, height, depth, memory, offset, commit) + ccall((:glTexPageCommitmentMemNV, libgl), Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLuint, GLuint64, GLboolean), target, layer, level, xoffset, yoffset, zoffset, width, height, depth, memory, offset, commit) +end + +function glNamedBufferPageCommitmentMemNV(buffer, offset, size, memory, memOffset, commit) + ccall((:glNamedBufferPageCommitmentMemNV, libgl), Cvoid, (GLuint, GLintptr, GLsizeiptr, GLuint, GLuint64, GLboolean), buffer, offset, size, memory, memOffset, commit) +end + +function glTexturePageCommitmentMemNV(texture, layer, level, xoffset, yoffset, zoffset, width, height, depth, memory, offset, commit) + ccall((:glTexturePageCommitmentMemNV, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLuint, GLuint64, GLboolean), texture, layer, level, xoffset, yoffset, zoffset, width, height, depth, memory, offset, commit) +end + +# typedef void ( APIENTRYP PFNGLDRAWMESHTASKSNVPROC ) ( GLuint first , GLuint count ) +const PFNGLDRAWMESHTASKSNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDRAWMESHTASKSINDIRECTNVPROC ) ( GLintptr indirect ) +const PFNGLDRAWMESHTASKSINDIRECTNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTIDRAWMESHTASKSINDIRECTNVPROC ) ( GLintptr indirect , GLsizei drawcount , GLsizei stride ) +const PFNGLMULTIDRAWMESHTASKSINDIRECTNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMULTIDRAWMESHTASKSINDIRECTCOUNTNVPROC ) ( GLintptr indirect , GLintptr drawcount , GLsizei maxdrawcount , GLsizei stride ) +const PFNGLMULTIDRAWMESHTASKSINDIRECTCOUNTNVPROC = Ptr{Cvoid} + +function glDrawMeshTasksNV(first, count) + ccall((:glDrawMeshTasksNV, libgl), Cvoid, (GLuint, GLuint), first, count) +end + +function glDrawMeshTasksIndirectNV(indirect) + ccall((:glDrawMeshTasksIndirectNV, libgl), Cvoid, (GLintptr,), indirect) +end + +function glMultiDrawMeshTasksIndirectNV(indirect, drawcount, stride) + ccall((:glMultiDrawMeshTasksIndirectNV, libgl), Cvoid, (GLintptr, GLsizei, GLsizei), indirect, drawcount, stride) +end + +function glMultiDrawMeshTasksIndirectCountNV(indirect, drawcount, maxdrawcount, stride) + ccall((:glMultiDrawMeshTasksIndirectCountNV, libgl), Cvoid, (GLintptr, GLintptr, GLsizei, GLsizei), indirect, drawcount, maxdrawcount, stride) +end + +# typedef GLuint ( APIENTRYP PFNGLGENPATHSNVPROC ) ( GLsizei range ) +const PFNGLGENPATHSNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLDELETEPATHSNVPROC ) ( GLuint path , GLsizei range ) +const PFNGLDELETEPATHSNVPROC = Ptr{Cvoid} + +# typedef GLboolean ( APIENTRYP PFNGLISPATHNVPROC ) ( GLuint path ) +const PFNGLISPATHNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPATHCOMMANDSNVPROC ) ( GLuint path , GLsizei numCommands , const GLubyte * commands , GLsizei numCoords , GLenum coordType , const void * coords ) +const PFNGLPATHCOMMANDSNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPATHCOORDSNVPROC ) ( GLuint path , GLsizei numCoords , GLenum coordType , const void * coords ) +const PFNGLPATHCOORDSNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPATHSUBCOMMANDSNVPROC ) ( GLuint path , GLsizei commandStart , GLsizei commandsToDelete , GLsizei numCommands , const GLubyte * commands , GLsizei numCoords , GLenum coordType , const void * coords ) +const PFNGLPATHSUBCOMMANDSNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPATHSUBCOORDSNVPROC ) ( GLuint path , GLsizei coordStart , GLsizei numCoords , GLenum coordType , const void * coords ) +const PFNGLPATHSUBCOORDSNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPATHSTRINGNVPROC ) ( GLuint path , GLenum format , GLsizei length , const void * pathString ) +const PFNGLPATHSTRINGNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPATHGLYPHSNVPROC ) ( GLuint firstPathName , GLenum fontTarget , const void * fontName , GLbitfield fontStyle , GLsizei numGlyphs , GLenum type , const void * charcodes , GLenum handleMissingGlyphs , GLuint pathParameterTemplate , GLfloat emScale ) +const PFNGLPATHGLYPHSNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPATHGLYPHRANGENVPROC ) ( GLuint firstPathName , GLenum fontTarget , const void * fontName , GLbitfield fontStyle , GLuint firstGlyph , GLsizei numGlyphs , GLenum handleMissingGlyphs , GLuint pathParameterTemplate , GLfloat emScale ) +const PFNGLPATHGLYPHRANGENVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLWEIGHTPATHSNVPROC ) ( GLuint resultPath , GLsizei numPaths , const GLuint * paths , const GLfloat * weights ) +const PFNGLWEIGHTPATHSNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOPYPATHNVPROC ) ( GLuint resultPath , GLuint srcPath ) +const PFNGLCOPYPATHNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLINTERPOLATEPATHSNVPROC ) ( GLuint resultPath , GLuint pathA , GLuint pathB , GLfloat weight ) +const PFNGLINTERPOLATEPATHSNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTRANSFORMPATHNVPROC ) ( GLuint resultPath , GLuint srcPath , GLenum transformType , const GLfloat * transformValues ) +const PFNGLTRANSFORMPATHNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPATHPARAMETERIVNVPROC ) ( GLuint path , GLenum pname , const GLint * value ) +const PFNGLPATHPARAMETERIVNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPATHPARAMETERINVPROC ) ( GLuint path , GLenum pname , GLint value ) +const PFNGLPATHPARAMETERINVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPATHPARAMETERFVNVPROC ) ( GLuint path , GLenum pname , const GLfloat * value ) +const PFNGLPATHPARAMETERFVNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPATHPARAMETERFNVPROC ) ( GLuint path , GLenum pname , GLfloat value ) +const PFNGLPATHPARAMETERFNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPATHDASHARRAYNVPROC ) ( GLuint path , GLsizei dashCount , const GLfloat * dashArray ) +const PFNGLPATHDASHARRAYNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPATHSTENCILFUNCNVPROC ) ( GLenum func , GLint ref , GLuint mask ) +const PFNGLPATHSTENCILFUNCNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPATHSTENCILDEPTHOFFSETNVPROC ) ( GLfloat factor , GLfloat units ) +const PFNGLPATHSTENCILDEPTHOFFSETNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSTENCILFILLPATHNVPROC ) ( GLuint path , GLenum fillMode , GLuint mask ) +const PFNGLSTENCILFILLPATHNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSTENCILSTROKEPATHNVPROC ) ( GLuint path , GLint reference , GLuint mask ) +const PFNGLSTENCILSTROKEPATHNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSTENCILFILLPATHINSTANCEDNVPROC ) ( GLsizei numPaths , GLenum pathNameType , const void * paths , GLuint pathBase , GLenum fillMode , GLuint mask , GLenum transformType , const GLfloat * transformValues ) +const PFNGLSTENCILFILLPATHINSTANCEDNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC ) ( GLsizei numPaths , GLenum pathNameType , const void * paths , GLuint pathBase , GLint reference , GLuint mask , GLenum transformType , const GLfloat * transformValues ) +const PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPATHCOVERDEPTHFUNCNVPROC ) ( GLenum func ) +const PFNGLPATHCOVERDEPTHFUNCNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOVERFILLPATHNVPROC ) ( GLuint path , GLenum coverMode ) +const PFNGLCOVERFILLPATHNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOVERSTROKEPATHNVPROC ) ( GLuint path , GLenum coverMode ) +const PFNGLCOVERSTROKEPATHNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOVERFILLPATHINSTANCEDNVPROC ) ( GLsizei numPaths , GLenum pathNameType , const void * paths , GLuint pathBase , GLenum coverMode , GLenum transformType , const GLfloat * transformValues ) +const PFNGLCOVERFILLPATHINSTANCEDNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOVERSTROKEPATHINSTANCEDNVPROC ) ( GLsizei numPaths , GLenum pathNameType , const void * paths , GLuint pathBase , GLenum coverMode , GLenum transformType , const GLfloat * transformValues ) +const PFNGLCOVERSTROKEPATHINSTANCEDNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETPATHPARAMETERIVNVPROC ) ( GLuint path , GLenum pname , GLint * value ) +const PFNGLGETPATHPARAMETERIVNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETPATHPARAMETERFVNVPROC ) ( GLuint path , GLenum pname , GLfloat * value ) +const PFNGLGETPATHPARAMETERFVNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETPATHCOMMANDSNVPROC ) ( GLuint path , GLubyte * commands ) +const PFNGLGETPATHCOMMANDSNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETPATHCOORDSNVPROC ) ( GLuint path , GLfloat * coords ) +const PFNGLGETPATHCOORDSNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETPATHDASHARRAYNVPROC ) ( GLuint path , GLfloat * dashArray ) +const PFNGLGETPATHDASHARRAYNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETPATHMETRICSNVPROC ) ( GLbitfield metricQueryMask , GLsizei numPaths , GLenum pathNameType , const void * paths , GLuint pathBase , GLsizei stride , GLfloat * metrics ) +const PFNGLGETPATHMETRICSNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETPATHMETRICRANGENVPROC ) ( GLbitfield metricQueryMask , GLuint firstPathName , GLsizei numPaths , GLsizei stride , GLfloat * metrics ) +const PFNGLGETPATHMETRICRANGENVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETPATHSPACINGNVPROC ) ( GLenum pathListMode , GLsizei numPaths , GLenum pathNameType , const void * paths , GLuint pathBase , GLfloat advanceScale , GLfloat kerningScale , GLenum transformType , GLfloat * returnedSpacing ) +const PFNGLGETPATHSPACINGNVPROC = Ptr{Cvoid} + +# typedef GLboolean ( APIENTRYP PFNGLISPOINTINFILLPATHNVPROC ) ( GLuint path , GLuint mask , GLfloat x , GLfloat y ) +const PFNGLISPOINTINFILLPATHNVPROC = Ptr{Cvoid} + +# typedef GLboolean ( APIENTRYP PFNGLISPOINTINSTROKEPATHNVPROC ) ( GLuint path , GLfloat x , GLfloat y ) +const PFNGLISPOINTINSTROKEPATHNVPROC = Ptr{Cvoid} + +# typedef GLfloat ( APIENTRYP PFNGLGETPATHLENGTHNVPROC ) ( GLuint path , GLsizei startSegment , GLsizei numSegments ) +const PFNGLGETPATHLENGTHNVPROC = Ptr{Cvoid} + +# typedef GLboolean ( APIENTRYP PFNGLPOINTALONGPATHNVPROC ) ( GLuint path , GLsizei startSegment , GLsizei numSegments , GLfloat distance , GLfloat * x , GLfloat * y , GLfloat * tangentX , GLfloat * tangentY ) +const PFNGLPOINTALONGPATHNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMATRIXLOAD3X2FNVPROC ) ( GLenum matrixMode , const GLfloat * m ) +const PFNGLMATRIXLOAD3X2FNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMATRIXLOAD3X3FNVPROC ) ( GLenum matrixMode , const GLfloat * m ) +const PFNGLMATRIXLOAD3X3FNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMATRIXLOADTRANSPOSE3X3FNVPROC ) ( GLenum matrixMode , const GLfloat * m ) +const PFNGLMATRIXLOADTRANSPOSE3X3FNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMATRIXMULT3X2FNVPROC ) ( GLenum matrixMode , const GLfloat * m ) +const PFNGLMATRIXMULT3X2FNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMATRIXMULT3X3FNVPROC ) ( GLenum matrixMode , const GLfloat * m ) +const PFNGLMATRIXMULT3X3FNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMATRIXMULTTRANSPOSE3X3FNVPROC ) ( GLenum matrixMode , const GLfloat * m ) +const PFNGLMATRIXMULTTRANSPOSE3X3FNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSTENCILTHENCOVERFILLPATHNVPROC ) ( GLuint path , GLenum fillMode , GLuint mask , GLenum coverMode ) +const PFNGLSTENCILTHENCOVERFILLPATHNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSTENCILTHENCOVERSTROKEPATHNVPROC ) ( GLuint path , GLint reference , GLuint mask , GLenum coverMode ) +const PFNGLSTENCILTHENCOVERSTROKEPATHNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDNVPROC ) ( GLsizei numPaths , GLenum pathNameType , const void * paths , GLuint pathBase , GLenum fillMode , GLuint mask , GLenum coverMode , GLenum transformType , const GLfloat * transformValues ) +const PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDNVPROC ) ( GLsizei numPaths , GLenum pathNameType , const void * paths , GLuint pathBase , GLint reference , GLuint mask , GLenum coverMode , GLenum transformType , const GLfloat * transformValues ) +const PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDNVPROC = Ptr{Cvoid} + +# typedef GLenum ( APIENTRYP PFNGLPATHGLYPHINDEXRANGENVPROC ) ( GLenum fontTarget , const void * fontName , GLbitfield fontStyle , GLuint pathParameterTemplate , GLfloat emScale , GLuint * baseAndCount ) +const PFNGLPATHGLYPHINDEXRANGENVPROC = Ptr{Cvoid} + +# typedef GLenum ( APIENTRYP PFNGLPATHGLYPHINDEXARRAYNVPROC ) ( GLuint firstPathName , GLenum fontTarget , const void * fontName , GLbitfield fontStyle , GLuint firstGlyphIndex , GLsizei numGlyphs , GLuint pathParameterTemplate , GLfloat emScale ) +const PFNGLPATHGLYPHINDEXARRAYNVPROC = Ptr{Cvoid} + +# typedef GLenum ( APIENTRYP PFNGLPATHMEMORYGLYPHINDEXARRAYNVPROC ) ( GLuint firstPathName , GLenum fontTarget , GLsizeiptr fontSize , const void * fontData , GLsizei faceIndex , GLuint firstGlyphIndex , GLsizei numGlyphs , GLuint pathParameterTemplate , GLfloat emScale ) +const PFNGLPATHMEMORYGLYPHINDEXARRAYNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMPATHFRAGMENTINPUTGENNVPROC ) ( GLuint program , GLint location , GLenum genMode , GLint components , const GLfloat * coeffs ) +const PFNGLPROGRAMPATHFRAGMENTINPUTGENNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETPROGRAMRESOURCEFVNVPROC ) ( GLuint program , GLenum programInterface , GLuint index , GLsizei propCount , const GLenum * props , GLsizei count , GLsizei * length , GLfloat * params ) +const PFNGLGETPROGRAMRESOURCEFVNVPROC = Ptr{Cvoid} + +function glGenPathsNV(range) + ccall((:glGenPathsNV, libgl), GLuint, (GLsizei,), range) +end + +function glDeletePathsNV(path, range) + ccall((:glDeletePathsNV, libgl), Cvoid, (GLuint, GLsizei), path, range) +end + +function glIsPathNV(path) + ccall((:glIsPathNV, libgl), GLboolean, (GLuint,), path) +end + +function glPathCommandsNV(path, numCommands, commands, numCoords, coordType, coords) + ccall((:glPathCommandsNV, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLubyte}, GLsizei, GLenum, Ptr{Cvoid}), path, numCommands, commands, numCoords, coordType, coords) +end + +function glPathCoordsNV(path, numCoords, coordType, coords) + ccall((:glPathCoordsNV, libgl), Cvoid, (GLuint, GLsizei, GLenum, Ptr{Cvoid}), path, numCoords, coordType, coords) +end + +function glPathSubCommandsNV(path, commandStart, commandsToDelete, numCommands, commands, numCoords, coordType, coords) + ccall((:glPathSubCommandsNV, libgl), Cvoid, (GLuint, GLsizei, GLsizei, GLsizei, Ptr{GLubyte}, GLsizei, GLenum, Ptr{Cvoid}), path, commandStart, commandsToDelete, numCommands, commands, numCoords, coordType, coords) +end + +function glPathSubCoordsNV(path, coordStart, numCoords, coordType, coords) + ccall((:glPathSubCoordsNV, libgl), Cvoid, (GLuint, GLsizei, GLsizei, GLenum, Ptr{Cvoid}), path, coordStart, numCoords, coordType, coords) +end + +function glPathStringNV(path, format, length, pathString) + ccall((:glPathStringNV, libgl), Cvoid, (GLuint, GLenum, GLsizei, Ptr{Cvoid}), path, format, length, pathString) +end + +function glPathGlyphsNV(firstPathName, fontTarget, fontName, fontStyle, numGlyphs, type, charcodes, handleMissingGlyphs, pathParameterTemplate, emScale) + ccall((:glPathGlyphsNV, libgl), Cvoid, (GLuint, GLenum, Ptr{Cvoid}, GLbitfield, GLsizei, GLenum, Ptr{Cvoid}, GLenum, GLuint, GLfloat), firstPathName, fontTarget, fontName, fontStyle, numGlyphs, type, charcodes, handleMissingGlyphs, pathParameterTemplate, emScale) +end + +function glPathGlyphRangeNV(firstPathName, fontTarget, fontName, fontStyle, firstGlyph, numGlyphs, handleMissingGlyphs, pathParameterTemplate, emScale) + ccall((:glPathGlyphRangeNV, libgl), Cvoid, (GLuint, GLenum, Ptr{Cvoid}, GLbitfield, GLuint, GLsizei, GLenum, GLuint, GLfloat), firstPathName, fontTarget, fontName, fontStyle, firstGlyph, numGlyphs, handleMissingGlyphs, pathParameterTemplate, emScale) +end + +function glWeightPathsNV(resultPath, numPaths, paths, weights) + ccall((:glWeightPathsNV, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLuint}, Ptr{GLfloat}), resultPath, numPaths, paths, weights) +end + +function glCopyPathNV(resultPath, srcPath) + ccall((:glCopyPathNV, libgl), Cvoid, (GLuint, GLuint), resultPath, srcPath) +end + +function glInterpolatePathsNV(resultPath, pathA, pathB, weight) + ccall((:glInterpolatePathsNV, libgl), Cvoid, (GLuint, GLuint, GLuint, GLfloat), resultPath, pathA, pathB, weight) +end + +function glTransformPathNV(resultPath, srcPath, transformType, transformValues) + ccall((:glTransformPathNV, libgl), Cvoid, (GLuint, GLuint, GLenum, Ptr{GLfloat}), resultPath, srcPath, transformType, transformValues) +end + +function glPathParameterivNV(path, pname, value) + ccall((:glPathParameterivNV, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), path, pname, value) +end + +function glPathParameteriNV(path, pname, value) + ccall((:glPathParameteriNV, libgl), Cvoid, (GLuint, GLenum, GLint), path, pname, value) +end + +function glPathParameterfvNV(path, pname, value) + ccall((:glPathParameterfvNV, libgl), Cvoid, (GLuint, GLenum, Ptr{GLfloat}), path, pname, value) +end + +function glPathParameterfNV(path, pname, value) + ccall((:glPathParameterfNV, libgl), Cvoid, (GLuint, GLenum, GLfloat), path, pname, value) +end + +function glPathDashArrayNV(path, dashCount, dashArray) + ccall((:glPathDashArrayNV, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLfloat}), path, dashCount, dashArray) +end + +function glPathStencilFuncNV(func, ref, mask) + ccall((:glPathStencilFuncNV, libgl), Cvoid, (GLenum, GLint, GLuint), func, ref, mask) +end + +function glPathStencilDepthOffsetNV(factor, units) + ccall((:glPathStencilDepthOffsetNV, libgl), Cvoid, (GLfloat, GLfloat), factor, units) +end + +function glStencilFillPathNV(path, fillMode, mask) + ccall((:glStencilFillPathNV, libgl), Cvoid, (GLuint, GLenum, GLuint), path, fillMode, mask) +end + +function glStencilStrokePathNV(path, reference, mask) + ccall((:glStencilStrokePathNV, libgl), Cvoid, (GLuint, GLint, GLuint), path, reference, mask) +end + +function glStencilFillPathInstancedNV(numPaths, pathNameType, paths, pathBase, fillMode, mask, transformType, transformValues) + ccall((:glStencilFillPathInstancedNV, libgl), Cvoid, (GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLenum, GLuint, GLenum, Ptr{GLfloat}), numPaths, pathNameType, paths, pathBase, fillMode, mask, transformType, transformValues) +end + +function glStencilStrokePathInstancedNV(numPaths, pathNameType, paths, pathBase, reference, mask, transformType, transformValues) + ccall((:glStencilStrokePathInstancedNV, libgl), Cvoid, (GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLint, GLuint, GLenum, Ptr{GLfloat}), numPaths, pathNameType, paths, pathBase, reference, mask, transformType, transformValues) +end + +function glPathCoverDepthFuncNV(func) + ccall((:glPathCoverDepthFuncNV, libgl), Cvoid, (GLenum,), func) +end + +function glCoverFillPathNV(path, coverMode) + ccall((:glCoverFillPathNV, libgl), Cvoid, (GLuint, GLenum), path, coverMode) +end + +function glCoverStrokePathNV(path, coverMode) + ccall((:glCoverStrokePathNV, libgl), Cvoid, (GLuint, GLenum), path, coverMode) +end + +function glCoverFillPathInstancedNV(numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues) + ccall((:glCoverFillPathInstancedNV, libgl), Cvoid, (GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLenum, GLenum, Ptr{GLfloat}), numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues) +end + +function glCoverStrokePathInstancedNV(numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues) + ccall((:glCoverStrokePathInstancedNV, libgl), Cvoid, (GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLenum, GLenum, Ptr{GLfloat}), numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues) +end + +function glGetPathParameterivNV(path, pname, value) + ccall((:glGetPathParameterivNV, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), path, pname, value) +end + +function glGetPathParameterfvNV(path, pname, value) + ccall((:glGetPathParameterfvNV, libgl), Cvoid, (GLuint, GLenum, Ptr{GLfloat}), path, pname, value) +end + +function glGetPathCommandsNV(path, commands) + ccall((:glGetPathCommandsNV, libgl), Cvoid, (GLuint, Ptr{GLubyte}), path, commands) +end + +function glGetPathCoordsNV(path, coords) + ccall((:glGetPathCoordsNV, libgl), Cvoid, (GLuint, Ptr{GLfloat}), path, coords) +end + +function glGetPathDashArrayNV(path, dashArray) + ccall((:glGetPathDashArrayNV, libgl), Cvoid, (GLuint, Ptr{GLfloat}), path, dashArray) +end + +function glGetPathMetricsNV(metricQueryMask, numPaths, pathNameType, paths, pathBase, stride, metrics) + ccall((:glGetPathMetricsNV, libgl), Cvoid, (GLbitfield, GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLsizei, Ptr{GLfloat}), metricQueryMask, numPaths, pathNameType, paths, pathBase, stride, metrics) +end + +function glGetPathMetricRangeNV(metricQueryMask, firstPathName, numPaths, stride, metrics) + ccall((:glGetPathMetricRangeNV, libgl), Cvoid, (GLbitfield, GLuint, GLsizei, GLsizei, Ptr{GLfloat}), metricQueryMask, firstPathName, numPaths, stride, metrics) +end + +function glGetPathSpacingNV(pathListMode, numPaths, pathNameType, paths, pathBase, advanceScale, kerningScale, transformType, returnedSpacing) + ccall((:glGetPathSpacingNV, libgl), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLfloat, GLfloat, GLenum, Ptr{GLfloat}), pathListMode, numPaths, pathNameType, paths, pathBase, advanceScale, kerningScale, transformType, returnedSpacing) +end + +function glIsPointInFillPathNV(path, mask, x, y) + ccall((:glIsPointInFillPathNV, libgl), GLboolean, (GLuint, GLuint, GLfloat, GLfloat), path, mask, x, y) +end + +function glIsPointInStrokePathNV(path, x, y) + ccall((:glIsPointInStrokePathNV, libgl), GLboolean, (GLuint, GLfloat, GLfloat), path, x, y) +end + +function glGetPathLengthNV(path, startSegment, numSegments) + ccall((:glGetPathLengthNV, libgl), GLfloat, (GLuint, GLsizei, GLsizei), path, startSegment, numSegments) +end + +function glPointAlongPathNV(path, startSegment, numSegments, distance, x, y, tangentX, tangentY) + ccall((:glPointAlongPathNV, libgl), GLboolean, (GLuint, GLsizei, GLsizei, GLfloat, Ptr{GLfloat}, Ptr{GLfloat}, Ptr{GLfloat}, Ptr{GLfloat}), path, startSegment, numSegments, distance, x, y, tangentX, tangentY) +end + +function glMatrixLoad3x2fNV(matrixMode, m) + ccall((:glMatrixLoad3x2fNV, libgl), Cvoid, (GLenum, Ptr{GLfloat}), matrixMode, m) +end + +function glMatrixLoad3x3fNV(matrixMode, m) + ccall((:glMatrixLoad3x3fNV, libgl), Cvoid, (GLenum, Ptr{GLfloat}), matrixMode, m) +end + +function glMatrixLoadTranspose3x3fNV(matrixMode, m) + ccall((:glMatrixLoadTranspose3x3fNV, libgl), Cvoid, (GLenum, Ptr{GLfloat}), matrixMode, m) +end + +function glMatrixMult3x2fNV(matrixMode, m) + ccall((:glMatrixMult3x2fNV, libgl), Cvoid, (GLenum, Ptr{GLfloat}), matrixMode, m) +end + +function glMatrixMult3x3fNV(matrixMode, m) + ccall((:glMatrixMult3x3fNV, libgl), Cvoid, (GLenum, Ptr{GLfloat}), matrixMode, m) +end + +function glMatrixMultTranspose3x3fNV(matrixMode, m) + ccall((:glMatrixMultTranspose3x3fNV, libgl), Cvoid, (GLenum, Ptr{GLfloat}), matrixMode, m) +end + +function glStencilThenCoverFillPathNV(path, fillMode, mask, coverMode) + ccall((:glStencilThenCoverFillPathNV, libgl), Cvoid, (GLuint, GLenum, GLuint, GLenum), path, fillMode, mask, coverMode) +end + +function glStencilThenCoverStrokePathNV(path, reference, mask, coverMode) + ccall((:glStencilThenCoverStrokePathNV, libgl), Cvoid, (GLuint, GLint, GLuint, GLenum), path, reference, mask, coverMode) +end + +function glStencilThenCoverFillPathInstancedNV(numPaths, pathNameType, paths, pathBase, fillMode, mask, coverMode, transformType, transformValues) + ccall((:glStencilThenCoverFillPathInstancedNV, libgl), Cvoid, (GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLenum, GLuint, GLenum, GLenum, Ptr{GLfloat}), numPaths, pathNameType, paths, pathBase, fillMode, mask, coverMode, transformType, transformValues) +end + +function glStencilThenCoverStrokePathInstancedNV(numPaths, pathNameType, paths, pathBase, reference, mask, coverMode, transformType, transformValues) + ccall((:glStencilThenCoverStrokePathInstancedNV, libgl), Cvoid, (GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLint, GLuint, GLenum, GLenum, Ptr{GLfloat}), numPaths, pathNameType, paths, pathBase, reference, mask, coverMode, transformType, transformValues) +end + +function glPathGlyphIndexRangeNV(fontTarget, fontName, fontStyle, pathParameterTemplate, emScale, baseAndCount) + ccall((:glPathGlyphIndexRangeNV, libgl), GLenum, (GLenum, Ptr{Cvoid}, GLbitfield, GLuint, GLfloat, Ptr{GLuint}), fontTarget, fontName, fontStyle, pathParameterTemplate, emScale, baseAndCount) +end + +function glPathGlyphIndexArrayNV(firstPathName, fontTarget, fontName, fontStyle, firstGlyphIndex, numGlyphs, pathParameterTemplate, emScale) + ccall((:glPathGlyphIndexArrayNV, libgl), GLenum, (GLuint, GLenum, Ptr{Cvoid}, GLbitfield, GLuint, GLsizei, GLuint, GLfloat), firstPathName, fontTarget, fontName, fontStyle, firstGlyphIndex, numGlyphs, pathParameterTemplate, emScale) +end + +function glPathMemoryGlyphIndexArrayNV(firstPathName, fontTarget, fontSize, fontData, faceIndex, firstGlyphIndex, numGlyphs, pathParameterTemplate, emScale) + ccall((:glPathMemoryGlyphIndexArrayNV, libgl), GLenum, (GLuint, GLenum, GLsizeiptr, Ptr{Cvoid}, GLsizei, GLuint, GLsizei, GLuint, GLfloat), firstPathName, fontTarget, fontSize, fontData, faceIndex, firstGlyphIndex, numGlyphs, pathParameterTemplate, emScale) +end + +function glProgramPathFragmentInputGenNV(program, location, genMode, components, coeffs) + ccall((:glProgramPathFragmentInputGenNV, libgl), Cvoid, (GLuint, GLint, GLenum, GLint, Ptr{GLfloat}), program, location, genMode, components, coeffs) +end + +function glGetProgramResourcefvNV(program, programInterface, index, propCount, props, count, length, params) + ccall((:glGetProgramResourcefvNV, libgl), Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLenum}, GLsizei, Ptr{GLsizei}, Ptr{GLfloat}), program, programInterface, index, propCount, props, count, length, params) +end + +# typedef void ( APIENTRYP PFNGLFRAMEBUFFERSAMPLELOCATIONSFVNVPROC ) ( GLenum target , GLuint start , GLsizei count , const GLfloat * v ) +const PFNGLFRAMEBUFFERSAMPLELOCATIONSFVNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVNVPROC ) ( GLuint framebuffer , GLuint start , GLsizei count , const GLfloat * v ) +const PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLRESOLVEDEPTHVALUESNVPROC ) ( void ) +const PFNGLRESOLVEDEPTHVALUESNVPROC = Ptr{Cvoid} + +function glFramebufferSampleLocationsfvNV(target, start, count, v) + ccall((:glFramebufferSampleLocationsfvNV, libgl), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLfloat}), target, start, count, v) +end + +function glNamedFramebufferSampleLocationsfvNV(framebuffer, start, count, v) + ccall((:glNamedFramebufferSampleLocationsfvNV, libgl), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLfloat}), framebuffer, start, count, v) +end + +function glResolveDepthValuesNV() + ccall((:glResolveDepthValuesNV, libgl), Cvoid, ()) +end + +# typedef void ( APIENTRYP PFNGLSCISSOREXCLUSIVENVPROC ) ( GLint x , GLint y , GLsizei width , GLsizei height ) +const PFNGLSCISSOREXCLUSIVENVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSCISSOREXCLUSIVEARRAYVNVPROC ) ( GLuint first , GLsizei count , const GLint * v ) +const PFNGLSCISSOREXCLUSIVEARRAYVNVPROC = Ptr{Cvoid} + +function glScissorExclusiveNV(x, y, width, height) + ccall((:glScissorExclusiveNV, libgl), Cvoid, (GLint, GLint, GLsizei, GLsizei), x, y, width, height) +end + +function glScissorExclusiveArrayvNV(first, count, v) + ccall((:glScissorExclusiveArrayvNV, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLint}), first, count, v) +end + +# typedef void ( APIENTRYP PFNGLMAKEBUFFERRESIDENTNVPROC ) ( GLenum target , GLenum access ) +const PFNGLMAKEBUFFERRESIDENTNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMAKEBUFFERNONRESIDENTNVPROC ) ( GLenum target ) +const PFNGLMAKEBUFFERNONRESIDENTNVPROC = Ptr{Cvoid} + +# typedef GLboolean ( APIENTRYP PFNGLISBUFFERRESIDENTNVPROC ) ( GLenum target ) +const PFNGLISBUFFERRESIDENTNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMAKENAMEDBUFFERRESIDENTNVPROC ) ( GLuint buffer , GLenum access ) +const PFNGLMAKENAMEDBUFFERRESIDENTNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC ) ( GLuint buffer ) +const PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC = Ptr{Cvoid} + +# typedef GLboolean ( APIENTRYP PFNGLISNAMEDBUFFERRESIDENTNVPROC ) ( GLuint buffer ) +const PFNGLISNAMEDBUFFERRESIDENTNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETBUFFERPARAMETERUI64VNVPROC ) ( GLenum target , GLenum pname , GLuint64EXT * params ) +const PFNGLGETBUFFERPARAMETERUI64VNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC ) ( GLuint buffer , GLenum pname , GLuint64EXT * params ) +const PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETINTEGERUI64VNVPROC ) ( GLenum value , GLuint64EXT * result ) +const PFNGLGETINTEGERUI64VNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORMUI64NVPROC ) ( GLint location , GLuint64EXT value ) +const PFNGLUNIFORMUI64NVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLUNIFORMUI64VNVPROC ) ( GLint location , GLsizei count , const GLuint64EXT * value ) +const PFNGLUNIFORMUI64VNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETUNIFORMUI64VNVPROC ) ( GLuint program , GLint location , GLuint64EXT * params ) +const PFNGLGETUNIFORMUI64VNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMUI64NVPROC ) ( GLuint program , GLint location , GLuint64EXT value ) +const PFNGLPROGRAMUNIFORMUI64NVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMUI64VNVPROC ) ( GLuint program , GLint location , GLsizei count , const GLuint64EXT * value ) +const PFNGLPROGRAMUNIFORMUI64VNVPROC = Ptr{Cvoid} + +function glMakeBufferResidentNV(target, access) + ccall((:glMakeBufferResidentNV, libgl), Cvoid, (GLenum, GLenum), target, access) +end + +function glMakeBufferNonResidentNV(target) + ccall((:glMakeBufferNonResidentNV, libgl), Cvoid, (GLenum,), target) +end + +function glIsBufferResidentNV(target) + ccall((:glIsBufferResidentNV, libgl), GLboolean, (GLenum,), target) +end + +function glMakeNamedBufferResidentNV(buffer, access) + ccall((:glMakeNamedBufferResidentNV, libgl), Cvoid, (GLuint, GLenum), buffer, access) +end + +function glMakeNamedBufferNonResidentNV(buffer) + ccall((:glMakeNamedBufferNonResidentNV, libgl), Cvoid, (GLuint,), buffer) +end + +function glIsNamedBufferResidentNV(buffer) + ccall((:glIsNamedBufferResidentNV, libgl), GLboolean, (GLuint,), buffer) +end + +function glGetBufferParameterui64vNV(target, pname, params) + ccall((:glGetBufferParameterui64vNV, libgl), Cvoid, (GLenum, GLenum, Ptr{GLuint64EXT}), target, pname, params) +end + +function glGetNamedBufferParameterui64vNV(buffer, pname, params) + ccall((:glGetNamedBufferParameterui64vNV, libgl), Cvoid, (GLuint, GLenum, Ptr{GLuint64EXT}), buffer, pname, params) +end + +function glGetIntegerui64vNV(value, result) + ccall((:glGetIntegerui64vNV, libgl), Cvoid, (GLenum, Ptr{GLuint64EXT}), value, result) +end + +function glUniformui64NV(location, value) + ccall((:glUniformui64NV, libgl), Cvoid, (GLint, GLuint64EXT), location, value) +end + +function glUniformui64vNV(location, count, value) + ccall((:glUniformui64vNV, libgl), Cvoid, (GLint, GLsizei, Ptr{GLuint64EXT}), location, count, value) +end + +function glGetUniformui64vNV(program, location, params) + ccall((:glGetUniformui64vNV, libgl), Cvoid, (GLuint, GLint, Ptr{GLuint64EXT}), program, location, params) +end + +function glProgramUniformui64NV(program, location, value) + ccall((:glProgramUniformui64NV, libgl), Cvoid, (GLuint, GLint, GLuint64EXT), program, location, value) +end + +function glProgramUniformui64vNV(program, location, count, value) + ccall((:glProgramUniformui64vNV, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64EXT}), program, location, count, value) +end + +# typedef void ( APIENTRYP PFNGLBINDSHADINGRATEIMAGENVPROC ) ( GLuint texture ) +const PFNGLBINDSHADINGRATEIMAGENVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETSHADINGRATEIMAGEPALETTENVPROC ) ( GLuint viewport , GLuint entry , GLenum * rate ) +const PFNGLGETSHADINGRATEIMAGEPALETTENVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETSHADINGRATESAMPLELOCATIONIVNVPROC ) ( GLenum rate , GLuint samples , GLuint index , GLint * location ) +const PFNGLGETSHADINGRATESAMPLELOCATIONIVNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSHADINGRATEIMAGEBARRIERNVPROC ) ( GLboolean synchronize ) +const PFNGLSHADINGRATEIMAGEBARRIERNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSHADINGRATEIMAGEPALETTENVPROC ) ( GLuint viewport , GLuint first , GLsizei count , const GLenum * rates ) +const PFNGLSHADINGRATEIMAGEPALETTENVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSHADINGRATESAMPLEORDERNVPROC ) ( GLenum order ) +const PFNGLSHADINGRATESAMPLEORDERNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSHADINGRATESAMPLEORDERCUSTOMNVPROC ) ( GLenum rate , GLuint samples , const GLint * locations ) +const PFNGLSHADINGRATESAMPLEORDERCUSTOMNVPROC = Ptr{Cvoid} + +function glBindShadingRateImageNV(texture) + ccall((:glBindShadingRateImageNV, libgl), Cvoid, (GLuint,), texture) +end + +function glGetShadingRateImagePaletteNV(viewport, entry, rate) + ccall((:glGetShadingRateImagePaletteNV, libgl), Cvoid, (GLuint, GLuint, Ptr{GLenum}), viewport, entry, rate) +end + +function glGetShadingRateSampleLocationivNV(rate, samples, index, location) + ccall((:glGetShadingRateSampleLocationivNV, libgl), Cvoid, (GLenum, GLuint, GLuint, Ptr{GLint}), rate, samples, index, location) +end + +function glShadingRateImageBarrierNV(synchronize) + ccall((:glShadingRateImageBarrierNV, libgl), Cvoid, (GLboolean,), synchronize) +end + +function glShadingRateImagePaletteNV(viewport, first, count, rates) + ccall((:glShadingRateImagePaletteNV, libgl), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLenum}), viewport, first, count, rates) +end + +function glShadingRateSampleOrderNV(order) + ccall((:glShadingRateSampleOrderNV, libgl), Cvoid, (GLenum,), order) +end + +function glShadingRateSampleOrderCustomNV(rate, samples, locations) + ccall((:glShadingRateSampleOrderCustomNV, libgl), Cvoid, (GLenum, GLuint, Ptr{GLint}), rate, samples, locations) +end + +# typedef void ( APIENTRYP PFNGLTEXTUREBARRIERNVPROC ) ( void ) +const PFNGLTEXTUREBARRIERNVPROC = Ptr{Cvoid} + +function glTextureBarrierNV() + ccall((:glTextureBarrierNV, libgl), Cvoid, ()) +end + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBL1I64NVPROC ) ( GLuint index , GLint64EXT x ) +const PFNGLVERTEXATTRIBL1I64NVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBL2I64NVPROC ) ( GLuint index , GLint64EXT x , GLint64EXT y ) +const PFNGLVERTEXATTRIBL2I64NVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBL3I64NVPROC ) ( GLuint index , GLint64EXT x , GLint64EXT y , GLint64EXT z ) +const PFNGLVERTEXATTRIBL3I64NVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBL4I64NVPROC ) ( GLuint index , GLint64EXT x , GLint64EXT y , GLint64EXT z , GLint64EXT w ) +const PFNGLVERTEXATTRIBL4I64NVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBL1I64VNVPROC ) ( GLuint index , const GLint64EXT * v ) +const PFNGLVERTEXATTRIBL1I64VNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBL2I64VNVPROC ) ( GLuint index , const GLint64EXT * v ) +const PFNGLVERTEXATTRIBL2I64VNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBL3I64VNVPROC ) ( GLuint index , const GLint64EXT * v ) +const PFNGLVERTEXATTRIBL3I64VNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBL4I64VNVPROC ) ( GLuint index , const GLint64EXT * v ) +const PFNGLVERTEXATTRIBL4I64VNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBL1UI64NVPROC ) ( GLuint index , GLuint64EXT x ) +const PFNGLVERTEXATTRIBL1UI64NVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBL2UI64NVPROC ) ( GLuint index , GLuint64EXT x , GLuint64EXT y ) +const PFNGLVERTEXATTRIBL2UI64NVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBL3UI64NVPROC ) ( GLuint index , GLuint64EXT x , GLuint64EXT y , GLuint64EXT z ) +const PFNGLVERTEXATTRIBL3UI64NVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBL4UI64NVPROC ) ( GLuint index , GLuint64EXT x , GLuint64EXT y , GLuint64EXT z , GLuint64EXT w ) +const PFNGLVERTEXATTRIBL4UI64NVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBL1UI64VNVPROC ) ( GLuint index , const GLuint64EXT * v ) +const PFNGLVERTEXATTRIBL1UI64VNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBL2UI64VNVPROC ) ( GLuint index , const GLuint64EXT * v ) +const PFNGLVERTEXATTRIBL2UI64VNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBL3UI64VNVPROC ) ( GLuint index , const GLuint64EXT * v ) +const PFNGLVERTEXATTRIBL3UI64VNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBL4UI64VNVPROC ) ( GLuint index , const GLuint64EXT * v ) +const PFNGLVERTEXATTRIBL4UI64VNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETVERTEXATTRIBLI64VNVPROC ) ( GLuint index , GLenum pname , GLint64EXT * params ) +const PFNGLGETVERTEXATTRIBLI64VNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETVERTEXATTRIBLUI64VNVPROC ) ( GLuint index , GLenum pname , GLuint64EXT * params ) +const PFNGLGETVERTEXATTRIBLUI64VNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBLFORMATNVPROC ) ( GLuint index , GLint size , GLenum type , GLsizei stride ) +const PFNGLVERTEXATTRIBLFORMATNVPROC = Ptr{Cvoid} + +function glVertexAttribL1i64NV(index, x) + ccall((:glVertexAttribL1i64NV, libgl), Cvoid, (GLuint, GLint64EXT), index, x) +end + +function glVertexAttribL2i64NV(index, x, y) + ccall((:glVertexAttribL2i64NV, libgl), Cvoid, (GLuint, GLint64EXT, GLint64EXT), index, x, y) +end + +function glVertexAttribL3i64NV(index, x, y, z) + ccall((:glVertexAttribL3i64NV, libgl), Cvoid, (GLuint, GLint64EXT, GLint64EXT, GLint64EXT), index, x, y, z) +end + +function glVertexAttribL4i64NV(index, x, y, z, w) + ccall((:glVertexAttribL4i64NV, libgl), Cvoid, (GLuint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT), index, x, y, z, w) +end + +function glVertexAttribL1i64vNV(index, v) + ccall((:glVertexAttribL1i64vNV, libgl), Cvoid, (GLuint, Ptr{GLint64EXT}), index, v) +end + +function glVertexAttribL2i64vNV(index, v) + ccall((:glVertexAttribL2i64vNV, libgl), Cvoid, (GLuint, Ptr{GLint64EXT}), index, v) +end + +function glVertexAttribL3i64vNV(index, v) + ccall((:glVertexAttribL3i64vNV, libgl), Cvoid, (GLuint, Ptr{GLint64EXT}), index, v) +end + +function glVertexAttribL4i64vNV(index, v) + ccall((:glVertexAttribL4i64vNV, libgl), Cvoid, (GLuint, Ptr{GLint64EXT}), index, v) +end + +function glVertexAttribL1ui64NV(index, x) + ccall((:glVertexAttribL1ui64NV, libgl), Cvoid, (GLuint, GLuint64EXT), index, x) +end + +function glVertexAttribL2ui64NV(index, x, y) + ccall((:glVertexAttribL2ui64NV, libgl), Cvoid, (GLuint, GLuint64EXT, GLuint64EXT), index, x, y) +end + +function glVertexAttribL3ui64NV(index, x, y, z) + ccall((:glVertexAttribL3ui64NV, libgl), Cvoid, (GLuint, GLuint64EXT, GLuint64EXT, GLuint64EXT), index, x, y, z) +end + +function glVertexAttribL4ui64NV(index, x, y, z, w) + ccall((:glVertexAttribL4ui64NV, libgl), Cvoid, (GLuint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT), index, x, y, z, w) +end + +function glVertexAttribL1ui64vNV(index, v) + ccall((:glVertexAttribL1ui64vNV, libgl), Cvoid, (GLuint, Ptr{GLuint64EXT}), index, v) +end + +function glVertexAttribL2ui64vNV(index, v) + ccall((:glVertexAttribL2ui64vNV, libgl), Cvoid, (GLuint, Ptr{GLuint64EXT}), index, v) +end + +function glVertexAttribL3ui64vNV(index, v) + ccall((:glVertexAttribL3ui64vNV, libgl), Cvoid, (GLuint, Ptr{GLuint64EXT}), index, v) +end + +function glVertexAttribL4ui64vNV(index, v) + ccall((:glVertexAttribL4ui64vNV, libgl), Cvoid, (GLuint, Ptr{GLuint64EXT}), index, v) +end + +function glGetVertexAttribLi64vNV(index, pname, params) + ccall((:glGetVertexAttribLi64vNV, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint64EXT}), index, pname, params) +end + +function glGetVertexAttribLui64vNV(index, pname, params) + ccall((:glGetVertexAttribLui64vNV, libgl), Cvoid, (GLuint, GLenum, Ptr{GLuint64EXT}), index, pname, params) +end + +function glVertexAttribLFormatNV(index, size, type, stride) + ccall((:glVertexAttribLFormatNV, libgl), Cvoid, (GLuint, GLint, GLenum, GLsizei), index, size, type, stride) +end + +# typedef void ( APIENTRYP PFNGLBUFFERADDRESSRANGENVPROC ) ( GLenum pname , GLuint index , GLuint64EXT address , GLsizeiptr length ) +const PFNGLBUFFERADDRESSRANGENVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXFORMATNVPROC ) ( GLint size , GLenum type , GLsizei stride ) +const PFNGLVERTEXFORMATNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLNORMALFORMATNVPROC ) ( GLenum type , GLsizei stride ) +const PFNGLNORMALFORMATNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLCOLORFORMATNVPROC ) ( GLint size , GLenum type , GLsizei stride ) +const PFNGLCOLORFORMATNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLINDEXFORMATNVPROC ) ( GLenum type , GLsizei stride ) +const PFNGLINDEXFORMATNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLTEXCOORDFORMATNVPROC ) ( GLint size , GLenum type , GLsizei stride ) +const PFNGLTEXCOORDFORMATNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLEDGEFLAGFORMATNVPROC ) ( GLsizei stride ) +const PFNGLEDGEFLAGFORMATNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLSECONDARYCOLORFORMATNVPROC ) ( GLint size , GLenum type , GLsizei stride ) +const PFNGLSECONDARYCOLORFORMATNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLFOGCOORDFORMATNVPROC ) ( GLenum type , GLsizei stride ) +const PFNGLFOGCOORDFORMATNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBFORMATNVPROC ) ( GLuint index , GLint size , GLenum type , GLboolean normalized , GLsizei stride ) +const PFNGLVERTEXATTRIBFORMATNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLVERTEXATTRIBIFORMATNVPROC ) ( GLuint index , GLint size , GLenum type , GLsizei stride ) +const PFNGLVERTEXATTRIBIFORMATNVPROC = Ptr{Cvoid} + +# typedef void ( APIENTRYP PFNGLGETINTEGERUI64I_VNVPROC ) ( GLenum value , GLuint index , GLuint64EXT * result ) +const PFNGLGETINTEGERUI64I_VNVPROC = Ptr{Cvoid} + +function glBufferAddressRangeNV(pname, index, address, length) + ccall((:glBufferAddressRangeNV, libgl), Cvoid, (GLenum, GLuint, GLuint64EXT, GLsizeiptr), pname, index, address, length) +end + +function glVertexFormatNV(size, type, stride) + ccall((:glVertexFormatNV, libgl), Cvoid, (GLint, GLenum, GLsizei), size, type, stride) +end + +function glNormalFormatNV(type, stride) + ccall((:glNormalFormatNV, libgl), Cvoid, (GLenum, GLsizei), type, stride) +end + +function glColorFormatNV(size, type, stride) + ccall((:glColorFormatNV, libgl), Cvoid, (GLint, GLenum, GLsizei), size, type, stride) +end + +function glIndexFormatNV(type, stride) + ccall((:glIndexFormatNV, libgl), Cvoid, (GLenum, GLsizei), type, stride) +end + +function glTexCoordFormatNV(size, type, stride) + ccall((:glTexCoordFormatNV, libgl), Cvoid, (GLint, GLenum, GLsizei), size, type, stride) +end + +function glEdgeFlagFormatNV(stride) + ccall((:glEdgeFlagFormatNV, libgl), Cvoid, (GLsizei,), stride) +end + +function glSecondaryColorFormatNV(size, type, stride) + ccall((:glSecondaryColorFormatNV, libgl), Cvoid, (GLint, GLenum, GLsizei), size, type, stride) +end + +function glFogCoordFormatNV(type, stride) + ccall((:glFogCoordFormatNV, libgl), Cvoid, (GLenum, GLsizei), type, stride) +end + +function glVertexAttribFormatNV(index, size, type, normalized, stride) + ccall((:glVertexAttribFormatNV, libgl), Cvoid, (GLuint, GLint, GLenum, GLboolean, GLsizei), index, size, type, normalized, stride) +end + +function glVertexAttribIFormatNV(index, size, type, stride) + ccall((:glVertexAttribIFormatNV, libgl), Cvoid, (GLuint, GLint, GLenum, GLsizei), index, size, type, stride) +end + +function glGetIntegerui64i_vNV(value, index, result) + ccall((:glGetIntegerui64i_vNV, libgl), Cvoid, (GLenum, GLuint, Ptr{GLuint64EXT}), value, index, result) +end + +# typedef void ( APIENTRYP PFNGLVIEWPORTSWIZZLENVPROC ) ( GLuint index , GLenum swizzlex , GLenum swizzley , GLenum swizzlez , GLenum swizzlew ) +const PFNGLVIEWPORTSWIZZLENVPROC = Ptr{Cvoid} + +function glViewportSwizzleNV(index, swizzlex, swizzley, swizzlez, swizzlew) + ccall((:glViewportSwizzleNV, libgl), Cvoid, (GLuint, GLenum, GLenum, GLenum, GLenum), index, swizzlex, swizzley, swizzlez, swizzlew) +end + +# typedef void ( APIENTRYP PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC ) ( GLenum target , GLenum attachment , GLuint texture , GLint level , GLint baseViewIndex , GLsizei numViews ) +const PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC = Ptr{Cvoid} + +function glFramebufferTextureMultiviewOVR(target, attachment, texture, level, baseViewIndex, numViews) + ccall((:glFramebufferTextureMultiviewOVR, libgl), Cvoid, (GLenum, GLenum, GLuint, GLint, GLint, GLsizei), target, attachment, texture, level, baseViewIndex, numViews) +end + +const __gl_glcorearb_h_ = 1 + +# Skipping MacroDefinition: GLAPI extern + +const GL_VERSION_1_0 = 1 + +const KHRONOS_SUPPORT_INT64 = 1 + +const KHRONOS_SUPPORT_FLOAT = 1 + +const KHRONOS_MAX_ENUM = 0x7fffffff + +const GL_DEPTH_BUFFER_BIT = 0x00000100 + +const GL_STENCIL_BUFFER_BIT = 0x00000400 + +const GL_COLOR_BUFFER_BIT = 0x00004000 + +const GL_FALSE = 0 + +const GL_TRUE = 1 + +const GL_POINTS = 0x0000 + +const GL_LINES = 0x0001 + +const GL_LINE_LOOP = 0x0002 + +const GL_LINE_STRIP = 0x0003 + +const GL_TRIANGLES = 0x0004 + +const GL_TRIANGLE_STRIP = 0x0005 + +const GL_TRIANGLE_FAN = 0x0006 + +const GL_QUADS = 0x0007 + +const GL_NEVER = 0x0200 + +const GL_LESS = 0x0201 + +const GL_EQUAL = 0x0202 + +const GL_LEQUAL = 0x0203 + +const GL_GREATER = 0x0204 + +const GL_NOTEQUAL = 0x0205 + +const GL_GEQUAL = 0x0206 + +const GL_ALWAYS = 0x0207 + +const GL_ZERO = 0 + +const GL_ONE = 1 + +const GL_SRC_COLOR = 0x0300 + +const GL_ONE_MINUS_SRC_COLOR = 0x0301 + +const GL_SRC_ALPHA = 0x0302 + +const GL_ONE_MINUS_SRC_ALPHA = 0x0303 + +const GL_DST_ALPHA = 0x0304 + +const GL_ONE_MINUS_DST_ALPHA = 0x0305 + +const GL_DST_COLOR = 0x0306 + +const GL_ONE_MINUS_DST_COLOR = 0x0307 + +const GL_SRC_ALPHA_SATURATE = 0x0308 + +const GL_NONE = 0 + +const GL_FRONT_LEFT = 0x0400 + +const GL_FRONT_RIGHT = 0x0401 + +const GL_BACK_LEFT = 0x0402 + +const GL_BACK_RIGHT = 0x0403 + +const GL_FRONT = 0x0404 + +const GL_BACK = 0x0405 + +const GL_LEFT = 0x0406 + +const GL_RIGHT = 0x0407 + +const GL_FRONT_AND_BACK = 0x0408 + +const GL_NO_ERROR = 0 + +const GL_INVALID_ENUM = 0x0500 + +const GL_INVALID_VALUE = 0x0501 + +const GL_INVALID_OPERATION = 0x0502 + +const GL_OUT_OF_MEMORY = 0x0505 + +const GL_CW = 0x0900 + +const GL_CCW = 0x0901 + +const GL_POINT_SIZE = 0x0b11 + +const GL_POINT_SIZE_RANGE = 0x0b12 + +const GL_POINT_SIZE_GRANULARITY = 0x0b13 + +const GL_LINE_SMOOTH = 0x0b20 + +const GL_LINE_WIDTH = 0x0b21 + +const GL_LINE_WIDTH_RANGE = 0x0b22 + +const GL_LINE_WIDTH_GRANULARITY = 0x0b23 + +const GL_POLYGON_MODE = 0x0b40 + +const GL_POLYGON_SMOOTH = 0x0b41 + +const GL_CULL_FACE = 0x0b44 + +const GL_CULL_FACE_MODE = 0x0b45 + +const GL_FRONT_FACE = 0x0b46 + +const GL_DEPTH_RANGE = 0x0b70 + +const GL_DEPTH_TEST = 0x0b71 + +const GL_DEPTH_WRITEMASK = 0x0b72 + +const GL_DEPTH_CLEAR_VALUE = 0x0b73 + +const GL_DEPTH_FUNC = 0x0b74 + +const GL_STENCIL_TEST = 0x0b90 + +const GL_STENCIL_CLEAR_VALUE = 0x0b91 + +const GL_STENCIL_FUNC = 0x0b92 + +const GL_STENCIL_VALUE_MASK = 0x0b93 + +const GL_STENCIL_FAIL = 0x0b94 + +const GL_STENCIL_PASS_DEPTH_FAIL = 0x0b95 + +const GL_STENCIL_PASS_DEPTH_PASS = 0x0b96 + +const GL_STENCIL_REF = 0x0b97 + +const GL_STENCIL_WRITEMASK = 0x0b98 + +const GL_VIEWPORT = 0x0ba2 + +const GL_DITHER = 0x0bd0 + +const GL_BLEND_DST = 0x0be0 + +const GL_BLEND_SRC = 0x0be1 + +const GL_BLEND = 0x0be2 + +const GL_LOGIC_OP_MODE = 0x0bf0 + +const GL_DRAW_BUFFER = 0x0c01 + +const GL_READ_BUFFER = 0x0c02 + +const GL_SCISSOR_BOX = 0x0c10 + +const GL_SCISSOR_TEST = 0x0c11 + +const GL_COLOR_CLEAR_VALUE = 0x0c22 + +const GL_COLOR_WRITEMASK = 0x0c23 + +const GL_DOUBLEBUFFER = 0x0c32 + +const GL_STEREO = 0x0c33 + +const GL_LINE_SMOOTH_HINT = 0x0c52 + +const GL_POLYGON_SMOOTH_HINT = 0x0c53 + +const GL_UNPACK_SWAP_BYTES = 0x0cf0 + +const GL_UNPACK_LSB_FIRST = 0x0cf1 + +const GL_UNPACK_ROW_LENGTH = 0x0cf2 + +const GL_UNPACK_SKIP_ROWS = 0x0cf3 + +const GL_UNPACK_SKIP_PIXELS = 0x0cf4 + +const GL_UNPACK_ALIGNMENT = 0x0cf5 + +const GL_PACK_SWAP_BYTES = 0x0d00 + +const GL_PACK_LSB_FIRST = 0x0d01 + +const GL_PACK_ROW_LENGTH = 0x0d02 + +const GL_PACK_SKIP_ROWS = 0x0d03 + +const GL_PACK_SKIP_PIXELS = 0x0d04 + +const GL_PACK_ALIGNMENT = 0x0d05 + +const GL_MAX_TEXTURE_SIZE = 0x0d33 + +const GL_MAX_VIEWPORT_DIMS = 0x0d3a + +const GL_SUBPIXEL_BITS = 0x0d50 + +const GL_TEXTURE_1D = 0x0de0 + +const GL_TEXTURE_2D = 0x0de1 + +const GL_TEXTURE_WIDTH = 0x1000 + +const GL_TEXTURE_HEIGHT = 0x1001 + +const GL_TEXTURE_BORDER_COLOR = 0x1004 + +const GL_DONT_CARE = 0x1100 + +const GL_FASTEST = 0x1101 + +const GL_NICEST = 0x1102 + +const GL_BYTE = 0x1400 + +const GL_UNSIGNED_BYTE = 0x1401 + +const GL_SHORT = 0x1402 + +const GL_UNSIGNED_SHORT = 0x1403 + +const GL_INT = 0x1404 + +const GL_UNSIGNED_INT = 0x1405 + +const GL_FLOAT = 0x1406 + +const GL_STACK_OVERFLOW = 0x0503 + +const GL_STACK_UNDERFLOW = 0x0504 + +const GL_CLEAR = 0x1500 + +const GL_AND = 0x1501 + +const GL_AND_REVERSE = 0x1502 + +const GL_COPY = 0x1503 + +const GL_AND_INVERTED = 0x1504 + +const GL_NOOP = 0x1505 + +const GL_XOR = 0x1506 + +const GL_OR = 0x1507 + +const GL_NOR = 0x1508 + +const GL_EQUIV = 0x1509 + +const GL_INVERT = 0x150a + +const GL_OR_REVERSE = 0x150b + +const GL_COPY_INVERTED = 0x150c + +const GL_OR_INVERTED = 0x150d + +const GL_NAND = 0x150e + +const GL_SET = 0x150f + +const GL_TEXTURE = 0x1702 + +const GL_COLOR = 0x1800 + +const GL_DEPTH = 0x1801 + +const GL_STENCIL = 0x1802 + +const GL_STENCIL_INDEX = 0x1901 + +const GL_DEPTH_COMPONENT = 0x1902 + +const GL_RED = 0x1903 + +const GL_GREEN = 0x1904 + +const GL_BLUE = 0x1905 + +const GL_ALPHA = 0x1906 + +const GL_RGB = 0x1907 + +const GL_RGBA = 0x1908 + +const GL_POINT = 0x1b00 + +const GL_LINE = 0x1b01 + +const GL_FILL = 0x1b02 + +const GL_KEEP = 0x1e00 + +const GL_REPLACE = 0x1e01 + +const GL_INCR = 0x1e02 + +const GL_DECR = 0x1e03 + +const GL_VENDOR = 0x1f00 + +const GL_RENDERER = 0x1f01 + +const GL_VERSION = 0x1f02 + +const GL_EXTENSIONS = 0x1f03 + +const GL_NEAREST = 0x2600 + +const GL_LINEAR = 0x2601 + +const GL_NEAREST_MIPMAP_NEAREST = 0x2700 + +const GL_LINEAR_MIPMAP_NEAREST = 0x2701 + +const GL_NEAREST_MIPMAP_LINEAR = 0x2702 + +const GL_LINEAR_MIPMAP_LINEAR = 0x2703 + +const GL_TEXTURE_MAG_FILTER = 0x2800 + +const GL_TEXTURE_MIN_FILTER = 0x2801 + +const GL_TEXTURE_WRAP_S = 0x2802 + +const GL_TEXTURE_WRAP_T = 0x2803 + +const GL_REPEAT = 0x2901 + +const GL_VERSION_1_1 = 1 + +const GL_COLOR_LOGIC_OP = 0x0bf2 + +const GL_POLYGON_OFFSET_UNITS = 0x2a00 + +const GL_POLYGON_OFFSET_POINT = 0x2a01 + +const GL_POLYGON_OFFSET_LINE = 0x2a02 + +const GL_POLYGON_OFFSET_FILL = 0x8037 + +const GL_POLYGON_OFFSET_FACTOR = 0x8038 + +const GL_TEXTURE_BINDING_1D = 0x8068 + +const GL_TEXTURE_BINDING_2D = 0x8069 + +const GL_TEXTURE_INTERNAL_FORMAT = 0x1003 + +const GL_TEXTURE_RED_SIZE = 0x805c + +const GL_TEXTURE_GREEN_SIZE = 0x805d + +const GL_TEXTURE_BLUE_SIZE = 0x805e + +const GL_TEXTURE_ALPHA_SIZE = 0x805f + +const GL_DOUBLE = 0x140a + +const GL_PROXY_TEXTURE_1D = 0x8063 + +const GL_PROXY_TEXTURE_2D = 0x8064 + +const GL_R3_G3_B2 = 0x2a10 + +const GL_RGB4 = 0x804f + +const GL_RGB5 = 0x8050 + +const GL_RGB8 = 0x8051 + +const GL_RGB10 = 0x8052 + +const GL_RGB12 = 0x8053 + +const GL_RGB16 = 0x8054 + +const GL_RGBA2 = 0x8055 + +const GL_RGBA4 = 0x8056 + +const GL_RGB5_A1 = 0x8057 + +const GL_RGBA8 = 0x8058 + +const GL_RGB10_A2 = 0x8059 + +const GL_RGBA12 = 0x805a + +const GL_RGBA16 = 0x805b + +const GL_VERTEX_ARRAY = 0x8074 + +const GL_VERSION_1_2 = 1 + +const GL_UNSIGNED_BYTE_3_3_2 = 0x8032 + +const GL_UNSIGNED_SHORT_4_4_4_4 = 0x8033 + +const GL_UNSIGNED_SHORT_5_5_5_1 = 0x8034 + +const GL_UNSIGNED_INT_8_8_8_8 = 0x8035 + +const GL_UNSIGNED_INT_10_10_10_2 = 0x8036 + +const GL_TEXTURE_BINDING_3D = 0x806a + +const GL_PACK_SKIP_IMAGES = 0x806b + +const GL_PACK_IMAGE_HEIGHT = 0x806c + +const GL_UNPACK_SKIP_IMAGES = 0x806d + +const GL_UNPACK_IMAGE_HEIGHT = 0x806e + +const GL_TEXTURE_3D = 0x806f + +const GL_PROXY_TEXTURE_3D = 0x8070 + +const GL_TEXTURE_DEPTH = 0x8071 + +const GL_TEXTURE_WRAP_R = 0x8072 + +const GL_MAX_3D_TEXTURE_SIZE = 0x8073 + +const GL_UNSIGNED_BYTE_2_3_3_REV = 0x8362 + +const GL_UNSIGNED_SHORT_5_6_5 = 0x8363 + +const GL_UNSIGNED_SHORT_5_6_5_REV = 0x8364 + +const GL_UNSIGNED_SHORT_4_4_4_4_REV = 0x8365 + +const GL_UNSIGNED_SHORT_1_5_5_5_REV = 0x8366 + +const GL_UNSIGNED_INT_8_8_8_8_REV = 0x8367 + +const GL_UNSIGNED_INT_2_10_10_10_REV = 0x8368 + +const GL_BGR = 0x80e0 + +const GL_BGRA = 0x80e1 + +const GL_MAX_ELEMENTS_VERTICES = 0x80e8 + +const GL_MAX_ELEMENTS_INDICES = 0x80e9 + +const GL_CLAMP_TO_EDGE = 0x812f + +const GL_TEXTURE_MIN_LOD = 0x813a + +const GL_TEXTURE_MAX_LOD = 0x813b + +const GL_TEXTURE_BASE_LEVEL = 0x813c + +const GL_TEXTURE_MAX_LEVEL = 0x813d + +const GL_SMOOTH_POINT_SIZE_RANGE = 0x0b12 + +const GL_SMOOTH_POINT_SIZE_GRANULARITY = 0x0b13 + +const GL_SMOOTH_LINE_WIDTH_RANGE = 0x0b22 + +const GL_SMOOTH_LINE_WIDTH_GRANULARITY = 0x0b23 + +const GL_ALIASED_LINE_WIDTH_RANGE = 0x846e + +const GL_VERSION_1_3 = 1 + +const GL_TEXTURE0 = 0x84c0 + +const GL_TEXTURE1 = 0x84c1 + +const GL_TEXTURE2 = 0x84c2 + +const GL_TEXTURE3 = 0x84c3 + +const GL_TEXTURE4 = 0x84c4 + +const GL_TEXTURE5 = 0x84c5 + +const GL_TEXTURE6 = 0x84c6 + +const GL_TEXTURE7 = 0x84c7 + +const GL_TEXTURE8 = 0x84c8 + +const GL_TEXTURE9 = 0x84c9 + +const GL_TEXTURE10 = 0x84ca + +const GL_TEXTURE11 = 0x84cb + +const GL_TEXTURE12 = 0x84cc + +const GL_TEXTURE13 = 0x84cd + +const GL_TEXTURE14 = 0x84ce + +const GL_TEXTURE15 = 0x84cf + +const GL_TEXTURE16 = 0x84d0 + +const GL_TEXTURE17 = 0x84d1 + +const GL_TEXTURE18 = 0x84d2 + +const GL_TEXTURE19 = 0x84d3 + +const GL_TEXTURE20 = 0x84d4 + +const GL_TEXTURE21 = 0x84d5 + +const GL_TEXTURE22 = 0x84d6 + +const GL_TEXTURE23 = 0x84d7 + +const GL_TEXTURE24 = 0x84d8 + +const GL_TEXTURE25 = 0x84d9 + +const GL_TEXTURE26 = 0x84da + +const GL_TEXTURE27 = 0x84db + +const GL_TEXTURE28 = 0x84dc + +const GL_TEXTURE29 = 0x84dd + +const GL_TEXTURE30 = 0x84de + +const GL_TEXTURE31 = 0x84df + +const GL_ACTIVE_TEXTURE = 0x84e0 + +const GL_MULTISAMPLE = 0x809d + +const GL_SAMPLE_ALPHA_TO_COVERAGE = 0x809e + +const GL_SAMPLE_ALPHA_TO_ONE = 0x809f + +const GL_SAMPLE_COVERAGE = 0x80a0 + +const GL_SAMPLE_BUFFERS = 0x80a8 + +const GL_SAMPLES = 0x80a9 + +const GL_SAMPLE_COVERAGE_VALUE = 0x80aa + +const GL_SAMPLE_COVERAGE_INVERT = 0x80ab + +const GL_TEXTURE_CUBE_MAP = 0x8513 + +const GL_TEXTURE_BINDING_CUBE_MAP = 0x8514 + +const GL_TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515 + +const GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516 + +const GL_TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517 + +const GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518 + +const GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519 + +const GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851a + +const GL_PROXY_TEXTURE_CUBE_MAP = 0x851b + +const GL_MAX_CUBE_MAP_TEXTURE_SIZE = 0x851c + +const GL_COMPRESSED_RGB = 0x84ed + +const GL_COMPRESSED_RGBA = 0x84ee + +const GL_TEXTURE_COMPRESSION_HINT = 0x84ef + +const GL_TEXTURE_COMPRESSED_IMAGE_SIZE = 0x86a0 + +const GL_TEXTURE_COMPRESSED = 0x86a1 + +const GL_NUM_COMPRESSED_TEXTURE_FORMATS = 0x86a2 + +const GL_COMPRESSED_TEXTURE_FORMATS = 0x86a3 + +const GL_CLAMP_TO_BORDER = 0x812d + +const GL_VERSION_1_4 = 1 + +const GL_BLEND_DST_RGB = 0x80c8 + +const GL_BLEND_SRC_RGB = 0x80c9 + +const GL_BLEND_DST_ALPHA = 0x80ca + +const GL_BLEND_SRC_ALPHA = 0x80cb + +const GL_POINT_FADE_THRESHOLD_SIZE = 0x8128 + +const GL_DEPTH_COMPONENT16 = 0x81a5 + +const GL_DEPTH_COMPONENT24 = 0x81a6 + +const GL_DEPTH_COMPONENT32 = 0x81a7 + +const GL_MIRRORED_REPEAT = 0x8370 + +const GL_MAX_TEXTURE_LOD_BIAS = 0x84fd + +const GL_TEXTURE_LOD_BIAS = 0x8501 + +const GL_INCR_WRAP = 0x8507 + +const GL_DECR_WRAP = 0x8508 + +const GL_TEXTURE_DEPTH_SIZE = 0x884a + +const GL_TEXTURE_COMPARE_MODE = 0x884c + +const GL_TEXTURE_COMPARE_FUNC = 0x884d + +const GL_BLEND_COLOR = 0x8005 + +const GL_BLEND_EQUATION = 0x8009 + +const GL_CONSTANT_COLOR = 0x8001 + +const GL_ONE_MINUS_CONSTANT_COLOR = 0x8002 + +const GL_CONSTANT_ALPHA = 0x8003 + +const GL_ONE_MINUS_CONSTANT_ALPHA = 0x8004 + +const GL_FUNC_ADD = 0x8006 + +const GL_FUNC_REVERSE_SUBTRACT = 0x800b + +const GL_FUNC_SUBTRACT = 0x800a + +const GL_MIN = 0x8007 + +const GL_MAX = 0x8008 + +const GL_VERSION_1_5 = 1 + +const GL_BUFFER_SIZE = 0x8764 + +const GL_BUFFER_USAGE = 0x8765 + +const GL_QUERY_COUNTER_BITS = 0x8864 + +const GL_CURRENT_QUERY = 0x8865 + +const GL_QUERY_RESULT = 0x8866 + +const GL_QUERY_RESULT_AVAILABLE = 0x8867 + +const GL_ARRAY_BUFFER = 0x8892 + +const GL_ELEMENT_ARRAY_BUFFER = 0x8893 + +const GL_ARRAY_BUFFER_BINDING = 0x8894 + +const GL_ELEMENT_ARRAY_BUFFER_BINDING = 0x8895 + +const GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889f + +const GL_READ_ONLY = 0x88b8 + +const GL_WRITE_ONLY = 0x88b9 + +const GL_READ_WRITE = 0x88ba + +const GL_BUFFER_ACCESS = 0x88bb + +const GL_BUFFER_MAPPED = 0x88bc + +const GL_BUFFER_MAP_POINTER = 0x88bd + +const GL_STREAM_DRAW = 0x88e0 + +const GL_STREAM_READ = 0x88e1 + +const GL_STREAM_COPY = 0x88e2 + +const GL_STATIC_DRAW = 0x88e4 + +const GL_STATIC_READ = 0x88e5 + +const GL_STATIC_COPY = 0x88e6 + +const GL_DYNAMIC_DRAW = 0x88e8 + +const GL_DYNAMIC_READ = 0x88e9 + +const GL_DYNAMIC_COPY = 0x88ea + +const GL_SAMPLES_PASSED = 0x8914 + +const GL_SRC1_ALPHA = 0x8589 + +const GL_VERSION_2_0 = 1 + +const GL_BLEND_EQUATION_RGB = 0x8009 + +const GL_VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622 + +const GL_VERTEX_ATTRIB_ARRAY_SIZE = 0x8623 + +const GL_VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624 + +const GL_VERTEX_ATTRIB_ARRAY_TYPE = 0x8625 + +const GL_CURRENT_VERTEX_ATTRIB = 0x8626 + +const GL_VERTEX_PROGRAM_POINT_SIZE = 0x8642 + +const GL_VERTEX_ATTRIB_ARRAY_POINTER = 0x8645 + +const GL_STENCIL_BACK_FUNC = 0x8800 + +const GL_STENCIL_BACK_FAIL = 0x8801 + +const GL_STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802 + +const GL_STENCIL_BACK_PASS_DEPTH_PASS = 0x8803 + +const GL_MAX_DRAW_BUFFERS = 0x8824 + +const GL_DRAW_BUFFER0 = 0x8825 + +const GL_DRAW_BUFFER1 = 0x8826 + +const GL_DRAW_BUFFER2 = 0x8827 + +const GL_DRAW_BUFFER3 = 0x8828 + +const GL_DRAW_BUFFER4 = 0x8829 + +const GL_DRAW_BUFFER5 = 0x882a + +const GL_DRAW_BUFFER6 = 0x882b + +const GL_DRAW_BUFFER7 = 0x882c + +const GL_DRAW_BUFFER8 = 0x882d + +const GL_DRAW_BUFFER9 = 0x882e + +const GL_DRAW_BUFFER10 = 0x882f + +const GL_DRAW_BUFFER11 = 0x8830 + +const GL_DRAW_BUFFER12 = 0x8831 + +const GL_DRAW_BUFFER13 = 0x8832 + +const GL_DRAW_BUFFER14 = 0x8833 + +const GL_DRAW_BUFFER15 = 0x8834 + +const GL_BLEND_EQUATION_ALPHA = 0x883d + +const GL_MAX_VERTEX_ATTRIBS = 0x8869 + +const GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886a + +const GL_MAX_TEXTURE_IMAGE_UNITS = 0x8872 + +const GL_FRAGMENT_SHADER = 0x8b30 + +const GL_VERTEX_SHADER = 0x8b31 + +const GL_MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8b49 + +const GL_MAX_VERTEX_UNIFORM_COMPONENTS = 0x8b4a + +const GL_MAX_VARYING_FLOATS = 0x8b4b + +const GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8b4c + +const GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8b4d + +const GL_SHADER_TYPE = 0x8b4f + +const GL_FLOAT_VEC2 = 0x8b50 + +const GL_FLOAT_VEC3 = 0x8b51 + +const GL_FLOAT_VEC4 = 0x8b52 + +const GL_INT_VEC2 = 0x8b53 + +const GL_INT_VEC3 = 0x8b54 + +const GL_INT_VEC4 = 0x8b55 + +const GL_BOOL = 0x8b56 + +const GL_BOOL_VEC2 = 0x8b57 + +const GL_BOOL_VEC3 = 0x8b58 + +const GL_BOOL_VEC4 = 0x8b59 + +const GL_FLOAT_MAT2 = 0x8b5a + +const GL_FLOAT_MAT3 = 0x8b5b + +const GL_FLOAT_MAT4 = 0x8b5c + +const GL_SAMPLER_1D = 0x8b5d + +const GL_SAMPLER_2D = 0x8b5e + +const GL_SAMPLER_3D = 0x8b5f + +const GL_SAMPLER_CUBE = 0x8b60 + +const GL_SAMPLER_1D_SHADOW = 0x8b61 + +const GL_SAMPLER_2D_SHADOW = 0x8b62 + +const GL_DELETE_STATUS = 0x8b80 + +const GL_COMPILE_STATUS = 0x8b81 + +const GL_LINK_STATUS = 0x8b82 + +const GL_VALIDATE_STATUS = 0x8b83 + +const GL_INFO_LOG_LENGTH = 0x8b84 + +const GL_ATTACHED_SHADERS = 0x8b85 + +const GL_ACTIVE_UNIFORMS = 0x8b86 + +const GL_ACTIVE_UNIFORM_MAX_LENGTH = 0x8b87 + +const GL_SHADER_SOURCE_LENGTH = 0x8b88 + +const GL_ACTIVE_ATTRIBUTES = 0x8b89 + +const GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8b8a + +const GL_FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8b8b + +const GL_SHADING_LANGUAGE_VERSION = 0x8b8c + +const GL_CURRENT_PROGRAM = 0x8b8d + +const GL_POINT_SPRITE_COORD_ORIGIN = 0x8ca0 + +const GL_LOWER_LEFT = 0x8ca1 + +const GL_UPPER_LEFT = 0x8ca2 + +const GL_STENCIL_BACK_REF = 0x8ca3 + +const GL_STENCIL_BACK_VALUE_MASK = 0x8ca4 + +const GL_STENCIL_BACK_WRITEMASK = 0x8ca5 + +const GL_VERSION_2_1 = 1 + +const GL_PIXEL_PACK_BUFFER = 0x88eb + +const GL_PIXEL_UNPACK_BUFFER = 0x88ec + +const GL_PIXEL_PACK_BUFFER_BINDING = 0x88ed + +const GL_PIXEL_UNPACK_BUFFER_BINDING = 0x88ef + +const GL_FLOAT_MAT2x3 = 0x8b65 + +const GL_FLOAT_MAT2x4 = 0x8b66 + +const GL_FLOAT_MAT3x2 = 0x8b67 + +const GL_FLOAT_MAT3x4 = 0x8b68 + +const GL_FLOAT_MAT4x2 = 0x8b69 + +const GL_FLOAT_MAT4x3 = 0x8b6a + +const GL_SRGB = 0x8c40 + +const GL_SRGB8 = 0x8c41 + +const GL_SRGB_ALPHA = 0x8c42 + +const GL_SRGB8_ALPHA8 = 0x8c43 + +const GL_COMPRESSED_SRGB = 0x8c48 + +const GL_COMPRESSED_SRGB_ALPHA = 0x8c49 + +const GL_VERSION_3_0 = 1 + +const GL_COMPARE_REF_TO_TEXTURE = 0x884e + +const GL_CLIP_DISTANCE0 = 0x3000 + +const GL_CLIP_DISTANCE1 = 0x3001 + +const GL_CLIP_DISTANCE2 = 0x3002 + +const GL_CLIP_DISTANCE3 = 0x3003 + +const GL_CLIP_DISTANCE4 = 0x3004 + +const GL_CLIP_DISTANCE5 = 0x3005 + +const GL_CLIP_DISTANCE6 = 0x3006 + +const GL_CLIP_DISTANCE7 = 0x3007 + +const GL_MAX_CLIP_DISTANCES = 0x0d32 + +const GL_MAJOR_VERSION = 0x821b + +const GL_MINOR_VERSION = 0x821c + +const GL_NUM_EXTENSIONS = 0x821d + +const GL_CONTEXT_FLAGS = 0x821e + +const GL_COMPRESSED_RED = 0x8225 + +const GL_COMPRESSED_RG = 0x8226 + +const GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = 0x00000001 + +const GL_RGBA32F = 0x8814 + +const GL_RGB32F = 0x8815 + +const GL_RGBA16F = 0x881a + +const GL_RGB16F = 0x881b + +const GL_VERTEX_ATTRIB_ARRAY_INTEGER = 0x88fd + +const GL_MAX_ARRAY_TEXTURE_LAYERS = 0x88ff + +const GL_MIN_PROGRAM_TEXEL_OFFSET = 0x8904 + +const GL_MAX_PROGRAM_TEXEL_OFFSET = 0x8905 + +const GL_CLAMP_READ_COLOR = 0x891c + +const GL_FIXED_ONLY = 0x891d + +const GL_MAX_VARYING_COMPONENTS = 0x8b4b + +const GL_TEXTURE_1D_ARRAY = 0x8c18 + +const GL_PROXY_TEXTURE_1D_ARRAY = 0x8c19 + +const GL_TEXTURE_2D_ARRAY = 0x8c1a + +const GL_PROXY_TEXTURE_2D_ARRAY = 0x8c1b + +const GL_TEXTURE_BINDING_1D_ARRAY = 0x8c1c + +const GL_TEXTURE_BINDING_2D_ARRAY = 0x8c1d + +const GL_R11F_G11F_B10F = 0x8c3a + +const GL_UNSIGNED_INT_10F_11F_11F_REV = 0x8c3b + +const GL_RGB9_E5 = 0x8c3d + +const GL_UNSIGNED_INT_5_9_9_9_REV = 0x8c3e + +const GL_TEXTURE_SHARED_SIZE = 0x8c3f + +const GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 0x8c76 + +const GL_TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8c7f + +const GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8c80 + +const GL_TRANSFORM_FEEDBACK_VARYINGS = 0x8c83 + +const GL_TRANSFORM_FEEDBACK_BUFFER_START = 0x8c84 + +const GL_TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8c85 + +const GL_PRIMITIVES_GENERATED = 0x8c87 + +const GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8c88 + +const GL_RASTERIZER_DISCARD = 0x8c89 + +const GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8c8a + +const GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8c8b + +const GL_INTERLEAVED_ATTRIBS = 0x8c8c + +const GL_SEPARATE_ATTRIBS = 0x8c8d + +const GL_TRANSFORM_FEEDBACK_BUFFER = 0x8c8e + +const GL_TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8c8f + +const GL_RGBA32UI = 0x8d70 + +const GL_RGB32UI = 0x8d71 + +const GL_RGBA16UI = 0x8d76 + +const GL_RGB16UI = 0x8d77 + +const GL_RGBA8UI = 0x8d7c + +const GL_RGB8UI = 0x8d7d + +const GL_RGBA32I = 0x8d82 + +const GL_RGB32I = 0x8d83 + +const GL_RGBA16I = 0x8d88 + +const GL_RGB16I = 0x8d89 + +const GL_RGBA8I = 0x8d8e + +const GL_RGB8I = 0x8d8f + +const GL_RED_INTEGER = 0x8d94 + +const GL_GREEN_INTEGER = 0x8d95 + +const GL_BLUE_INTEGER = 0x8d96 + +const GL_RGB_INTEGER = 0x8d98 + +const GL_RGBA_INTEGER = 0x8d99 + +const GL_BGR_INTEGER = 0x8d9a + +const GL_BGRA_INTEGER = 0x8d9b + +const GL_SAMPLER_1D_ARRAY = 0x8dc0 + +const GL_SAMPLER_2D_ARRAY = 0x8dc1 + +const GL_SAMPLER_1D_ARRAY_SHADOW = 0x8dc3 + +const GL_SAMPLER_2D_ARRAY_SHADOW = 0x8dc4 + +const GL_SAMPLER_CUBE_SHADOW = 0x8dc5 + +const GL_UNSIGNED_INT_VEC2 = 0x8dc6 + +const GL_UNSIGNED_INT_VEC3 = 0x8dc7 + +const GL_UNSIGNED_INT_VEC4 = 0x8dc8 + +const GL_INT_SAMPLER_1D = 0x8dc9 + +const GL_INT_SAMPLER_2D = 0x8dca + +const GL_INT_SAMPLER_3D = 0x8dcb + +const GL_INT_SAMPLER_CUBE = 0x8dcc + +const GL_INT_SAMPLER_1D_ARRAY = 0x8dce + +const GL_INT_SAMPLER_2D_ARRAY = 0x8dcf + +const GL_UNSIGNED_INT_SAMPLER_1D = 0x8dd1 + +const GL_UNSIGNED_INT_SAMPLER_2D = 0x8dd2 + +const GL_UNSIGNED_INT_SAMPLER_3D = 0x8dd3 + +const GL_UNSIGNED_INT_SAMPLER_CUBE = 0x8dd4 + +const GL_UNSIGNED_INT_SAMPLER_1D_ARRAY = 0x8dd6 + +const GL_UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8dd7 + +const GL_QUERY_WAIT = 0x8e13 + +const GL_QUERY_NO_WAIT = 0x8e14 + +const GL_QUERY_BY_REGION_WAIT = 0x8e15 + +const GL_QUERY_BY_REGION_NO_WAIT = 0x8e16 + +const GL_BUFFER_ACCESS_FLAGS = 0x911f + +const GL_BUFFER_MAP_LENGTH = 0x9120 + +const GL_BUFFER_MAP_OFFSET = 0x9121 + +const GL_DEPTH_COMPONENT32F = 0x8cac + +const GL_DEPTH32F_STENCIL8 = 0x8cad + +const GL_FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8dad + +const GL_INVALID_FRAMEBUFFER_OPERATION = 0x0506 + +const GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210 + +const GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211 + +const GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212 + +const GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213 + +const GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214 + +const GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215 + +const GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216 + +const GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217 + +const GL_FRAMEBUFFER_DEFAULT = 0x8218 + +const GL_FRAMEBUFFER_UNDEFINED = 0x8219 + +const GL_DEPTH_STENCIL_ATTACHMENT = 0x821a + +const GL_MAX_RENDERBUFFER_SIZE = 0x84e8 + +const GL_DEPTH_STENCIL = 0x84f9 + +const GL_UNSIGNED_INT_24_8 = 0x84fa + +const GL_DEPTH24_STENCIL8 = 0x88f0 + +const GL_TEXTURE_STENCIL_SIZE = 0x88f1 + +const GL_TEXTURE_RED_TYPE = 0x8c10 + +const GL_TEXTURE_GREEN_TYPE = 0x8c11 + +const GL_TEXTURE_BLUE_TYPE = 0x8c12 + +const GL_TEXTURE_ALPHA_TYPE = 0x8c13 + +const GL_TEXTURE_DEPTH_TYPE = 0x8c16 + +const GL_UNSIGNED_NORMALIZED = 0x8c17 + +const GL_FRAMEBUFFER_BINDING = 0x8ca6 + +const GL_DRAW_FRAMEBUFFER_BINDING = 0x8ca6 + +const GL_RENDERBUFFER_BINDING = 0x8ca7 + +const GL_READ_FRAMEBUFFER = 0x8ca8 + +const GL_DRAW_FRAMEBUFFER = 0x8ca9 + +const GL_READ_FRAMEBUFFER_BINDING = 0x8caa + +const GL_RENDERBUFFER_SAMPLES = 0x8cab + +const GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8cd0 + +const GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8cd1 + +const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8cd2 + +const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8cd3 + +const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8cd4 + +const GL_FRAMEBUFFER_COMPLETE = 0x8cd5 + +const GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8cd6 + +const GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8cd7 + +const GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = 0x8cdb + +const GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER = 0x8cdc + +const GL_FRAMEBUFFER_UNSUPPORTED = 0x8cdd + +const GL_MAX_COLOR_ATTACHMENTS = 0x8cdf + +const GL_COLOR_ATTACHMENT0 = 0x8ce0 + +const GL_COLOR_ATTACHMENT1 = 0x8ce1 + +const GL_COLOR_ATTACHMENT2 = 0x8ce2 + +const GL_COLOR_ATTACHMENT3 = 0x8ce3 + +const GL_COLOR_ATTACHMENT4 = 0x8ce4 + +const GL_COLOR_ATTACHMENT5 = 0x8ce5 + +const GL_COLOR_ATTACHMENT6 = 0x8ce6 + +const GL_COLOR_ATTACHMENT7 = 0x8ce7 + +const GL_COLOR_ATTACHMENT8 = 0x8ce8 + +const GL_COLOR_ATTACHMENT9 = 0x8ce9 + +const GL_COLOR_ATTACHMENT10 = 0x8cea + +const GL_COLOR_ATTACHMENT11 = 0x8ceb + +const GL_COLOR_ATTACHMENT12 = 0x8cec + +const GL_COLOR_ATTACHMENT13 = 0x8ced + +const GL_COLOR_ATTACHMENT14 = 0x8cee + +const GL_COLOR_ATTACHMENT15 = 0x8cef + +const GL_COLOR_ATTACHMENT16 = 0x8cf0 + +const GL_COLOR_ATTACHMENT17 = 0x8cf1 + +const GL_COLOR_ATTACHMENT18 = 0x8cf2 + +const GL_COLOR_ATTACHMENT19 = 0x8cf3 + +const GL_COLOR_ATTACHMENT20 = 0x8cf4 + +const GL_COLOR_ATTACHMENT21 = 0x8cf5 + +const GL_COLOR_ATTACHMENT22 = 0x8cf6 + +const GL_COLOR_ATTACHMENT23 = 0x8cf7 + +const GL_COLOR_ATTACHMENT24 = 0x8cf8 + +const GL_COLOR_ATTACHMENT25 = 0x8cf9 + +const GL_COLOR_ATTACHMENT26 = 0x8cfa + +const GL_COLOR_ATTACHMENT27 = 0x8cfb + +const GL_COLOR_ATTACHMENT28 = 0x8cfc + +const GL_COLOR_ATTACHMENT29 = 0x8cfd + +const GL_COLOR_ATTACHMENT30 = 0x8cfe + +const GL_COLOR_ATTACHMENT31 = 0x8cff + +const GL_DEPTH_ATTACHMENT = 0x8d00 + +const GL_STENCIL_ATTACHMENT = 0x8d20 + +const GL_FRAMEBUFFER = 0x8d40 + +const GL_RENDERBUFFER = 0x8d41 + +const GL_RENDERBUFFER_WIDTH = 0x8d42 + +const GL_RENDERBUFFER_HEIGHT = 0x8d43 + +const GL_RENDERBUFFER_INTERNAL_FORMAT = 0x8d44 + +const GL_STENCIL_INDEX1 = 0x8d46 + +const GL_STENCIL_INDEX4 = 0x8d47 + +const GL_STENCIL_INDEX8 = 0x8d48 + +const GL_STENCIL_INDEX16 = 0x8d49 + +const GL_RENDERBUFFER_RED_SIZE = 0x8d50 + +const GL_RENDERBUFFER_GREEN_SIZE = 0x8d51 + +const GL_RENDERBUFFER_BLUE_SIZE = 0x8d52 + +const GL_RENDERBUFFER_ALPHA_SIZE = 0x8d53 + +const GL_RENDERBUFFER_DEPTH_SIZE = 0x8d54 + +const GL_RENDERBUFFER_STENCIL_SIZE = 0x8d55 + +const GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8d56 + +const GL_MAX_SAMPLES = 0x8d57 + +const GL_FRAMEBUFFER_SRGB = 0x8db9 + +const GL_HALF_FLOAT = 0x140b + +const GL_MAP_READ_BIT = 0x0001 + +const GL_MAP_WRITE_BIT = 0x0002 + +const GL_MAP_INVALIDATE_RANGE_BIT = 0x0004 + +const GL_MAP_INVALIDATE_BUFFER_BIT = 0x0008 + +const GL_MAP_FLUSH_EXPLICIT_BIT = 0x0010 + +const GL_MAP_UNSYNCHRONIZED_BIT = 0x0020 + +const GL_COMPRESSED_RED_RGTC1 = 0x8dbb + +const GL_COMPRESSED_SIGNED_RED_RGTC1 = 0x8dbc + +const GL_COMPRESSED_RG_RGTC2 = 0x8dbd + +const GL_COMPRESSED_SIGNED_RG_RGTC2 = 0x8dbe + +const GL_RG = 0x8227 + +const GL_RG_INTEGER = 0x8228 + +const GL_R8 = 0x8229 + +const GL_R16 = 0x822a + +const GL_RG8 = 0x822b + +const GL_RG16 = 0x822c + +const GL_R16F = 0x822d + +const GL_R32F = 0x822e + +const GL_RG16F = 0x822f + +const GL_RG32F = 0x8230 + +const GL_R8I = 0x8231 + +const GL_R8UI = 0x8232 + +const GL_R16I = 0x8233 + +const GL_R16UI = 0x8234 + +const GL_R32I = 0x8235 + +const GL_R32UI = 0x8236 + +const GL_RG8I = 0x8237 + +const GL_RG8UI = 0x8238 + +const GL_RG16I = 0x8239 + +const GL_RG16UI = 0x823a + +const GL_RG32I = 0x823b + +const GL_RG32UI = 0x823c + +const GL_VERTEX_ARRAY_BINDING = 0x85b5 + +const GL_VERSION_3_1 = 1 + +const GL_SAMPLER_2D_RECT = 0x8b63 + +const GL_SAMPLER_2D_RECT_SHADOW = 0x8b64 + +const GL_SAMPLER_BUFFER = 0x8dc2 + +const GL_INT_SAMPLER_2D_RECT = 0x8dcd + +const GL_INT_SAMPLER_BUFFER = 0x8dd0 + +const GL_UNSIGNED_INT_SAMPLER_2D_RECT = 0x8dd5 + +const GL_UNSIGNED_INT_SAMPLER_BUFFER = 0x8dd8 + +const GL_TEXTURE_BUFFER = 0x8c2a + +const GL_MAX_TEXTURE_BUFFER_SIZE = 0x8c2b + +const GL_TEXTURE_BINDING_BUFFER = 0x8c2c + +const GL_TEXTURE_BUFFER_DATA_STORE_BINDING = 0x8c2d + +const GL_TEXTURE_RECTANGLE = 0x84f5 + +const GL_TEXTURE_BINDING_RECTANGLE = 0x84f6 + +const GL_PROXY_TEXTURE_RECTANGLE = 0x84f7 + +const GL_MAX_RECTANGLE_TEXTURE_SIZE = 0x84f8 + +const GL_R8_SNORM = 0x8f94 + +const GL_RG8_SNORM = 0x8f95 + +const GL_RGB8_SNORM = 0x8f96 + +const GL_RGBA8_SNORM = 0x8f97 + +const GL_R16_SNORM = 0x8f98 + +const GL_RG16_SNORM = 0x8f99 + +const GL_RGB16_SNORM = 0x8f9a + +const GL_RGBA16_SNORM = 0x8f9b + +const GL_SIGNED_NORMALIZED = 0x8f9c + +const GL_PRIMITIVE_RESTART = 0x8f9d + +const GL_PRIMITIVE_RESTART_INDEX = 0x8f9e + +const GL_COPY_READ_BUFFER = 0x8f36 + +const GL_COPY_WRITE_BUFFER = 0x8f37 + +const GL_UNIFORM_BUFFER = 0x8a11 + +const GL_UNIFORM_BUFFER_BINDING = 0x8a28 + +const GL_UNIFORM_BUFFER_START = 0x8a29 + +const GL_UNIFORM_BUFFER_SIZE = 0x8a2a + +const GL_MAX_VERTEX_UNIFORM_BLOCKS = 0x8a2b + +const GL_MAX_GEOMETRY_UNIFORM_BLOCKS = 0x8a2c + +const GL_MAX_FRAGMENT_UNIFORM_BLOCKS = 0x8a2d + +const GL_MAX_COMBINED_UNIFORM_BLOCKS = 0x8a2e + +const GL_MAX_UNIFORM_BUFFER_BINDINGS = 0x8a2f + +const GL_MAX_UNIFORM_BLOCK_SIZE = 0x8a30 + +const GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 0x8a31 + +const GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 0x8a32 + +const GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 0x8a33 + +const GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT = 0x8a34 + +const GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = 0x8a35 + +const GL_ACTIVE_UNIFORM_BLOCKS = 0x8a36 + +const GL_UNIFORM_TYPE = 0x8a37 + +const GL_UNIFORM_SIZE = 0x8a38 + +const GL_UNIFORM_NAME_LENGTH = 0x8a39 + +const GL_UNIFORM_BLOCK_INDEX = 0x8a3a + +const GL_UNIFORM_OFFSET = 0x8a3b + +const GL_UNIFORM_ARRAY_STRIDE = 0x8a3c + +const GL_UNIFORM_MATRIX_STRIDE = 0x8a3d + +const GL_UNIFORM_IS_ROW_MAJOR = 0x8a3e + +const GL_UNIFORM_BLOCK_BINDING = 0x8a3f + +const GL_UNIFORM_BLOCK_DATA_SIZE = 0x8a40 + +const GL_UNIFORM_BLOCK_NAME_LENGTH = 0x8a41 + +const GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS = 0x8a42 + +const GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8a43 + +const GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8a44 + +const GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = 0x8a45 + +const GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8a46 + +const GL_INVALID_INDEX = Cuint(0xffffffff) + +const GL_VERSION_3_2 = 1 + +const GL_CONTEXT_CORE_PROFILE_BIT = 0x00000001 + +const GL_CONTEXT_COMPATIBILITY_PROFILE_BIT = 0x00000002 + +const GL_LINES_ADJACENCY = 0x000a + +const GL_LINE_STRIP_ADJACENCY = 0x000b + +const GL_TRIANGLES_ADJACENCY = 0x000c + +const GL_TRIANGLE_STRIP_ADJACENCY = 0x000d + +const GL_PROGRAM_POINT_SIZE = 0x8642 + +const GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 0x8c29 + +const GL_FRAMEBUFFER_ATTACHMENT_LAYERED = 0x8da7 + +const GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 0x8da8 + +const GL_GEOMETRY_SHADER = 0x8dd9 + +const GL_GEOMETRY_VERTICES_OUT = 0x8916 + +const GL_GEOMETRY_INPUT_TYPE = 0x8917 + +const GL_GEOMETRY_OUTPUT_TYPE = 0x8918 + +const GL_MAX_GEOMETRY_UNIFORM_COMPONENTS = 0x8ddf + +const GL_MAX_GEOMETRY_OUTPUT_VERTICES = 0x8de0 + +const GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 0x8de1 + +const GL_MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122 + +const GL_MAX_GEOMETRY_INPUT_COMPONENTS = 0x9123 + +const GL_MAX_GEOMETRY_OUTPUT_COMPONENTS = 0x9124 + +const GL_MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125 + +const GL_CONTEXT_PROFILE_MASK = 0x9126 + +const GL_DEPTH_CLAMP = 0x864f + +const GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = 0x8e4c + +const GL_FIRST_VERTEX_CONVENTION = 0x8e4d + +const GL_LAST_VERTEX_CONVENTION = 0x8e4e + +const GL_PROVOKING_VERTEX = 0x8e4f + +const GL_TEXTURE_CUBE_MAP_SEAMLESS = 0x884f + +const GL_MAX_SERVER_WAIT_TIMEOUT = 0x9111 + +const GL_OBJECT_TYPE = 0x9112 + +const GL_SYNC_CONDITION = 0x9113 + +const GL_SYNC_STATUS = 0x9114 + +const GL_SYNC_FLAGS = 0x9115 + +const GL_SYNC_FENCE = 0x9116 + +const GL_SYNC_GPU_COMMANDS_COMPLETE = 0x9117 + +const GL_UNSIGNALED = 0x9118 + +const GL_SIGNALED = 0x9119 + +const GL_ALREADY_SIGNALED = 0x911a + +const GL_TIMEOUT_EXPIRED = 0x911b + +const GL_CONDITION_SATISFIED = 0x911c + +const GL_WAIT_FAILED = 0x911d + +const GL_TIMEOUT_IGNORED = Culonglong(0xffffffffffffffff) + +const GL_SYNC_FLUSH_COMMANDS_BIT = 0x00000001 + +const GL_SAMPLE_POSITION = 0x8e50 + +const GL_SAMPLE_MASK = 0x8e51 + +const GL_SAMPLE_MASK_VALUE = 0x8e52 + +const GL_MAX_SAMPLE_MASK_WORDS = 0x8e59 + +const GL_TEXTURE_2D_MULTISAMPLE = 0x9100 + +const GL_PROXY_TEXTURE_2D_MULTISAMPLE = 0x9101 + +const GL_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9102 + +const GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9103 + +const GL_TEXTURE_BINDING_2D_MULTISAMPLE = 0x9104 + +const GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 0x9105 + +const GL_TEXTURE_SAMPLES = 0x9106 + +const GL_TEXTURE_FIXED_SAMPLE_LOCATIONS = 0x9107 + +const GL_SAMPLER_2D_MULTISAMPLE = 0x9108 + +const GL_INT_SAMPLER_2D_MULTISAMPLE = 0x9109 + +const GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 0x910a + +const GL_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910b + +const GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910c + +const GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910d + +const GL_MAX_COLOR_TEXTURE_SAMPLES = 0x910e + +const GL_MAX_DEPTH_TEXTURE_SAMPLES = 0x910f + +const GL_MAX_INTEGER_SAMPLES = 0x9110 + +const GL_VERSION_3_3 = 1 + +const GL_VERTEX_ATTRIB_ARRAY_DIVISOR = 0x88fe + +const GL_SRC1_COLOR = 0x88f9 + +const GL_ONE_MINUS_SRC1_COLOR = 0x88fa + +const GL_ONE_MINUS_SRC1_ALPHA = 0x88fb + +const GL_MAX_DUAL_SOURCE_DRAW_BUFFERS = 0x88fc + +const GL_ANY_SAMPLES_PASSED = 0x8c2f + +const GL_SAMPLER_BINDING = 0x8919 + +const GL_RGB10_A2UI = 0x906f + +const GL_TEXTURE_SWIZZLE_R = 0x8e42 + +const GL_TEXTURE_SWIZZLE_G = 0x8e43 + +const GL_TEXTURE_SWIZZLE_B = 0x8e44 + +const GL_TEXTURE_SWIZZLE_A = 0x8e45 + +const GL_TEXTURE_SWIZZLE_RGBA = 0x8e46 + +const GL_TIME_ELAPSED = 0x88bf + +const GL_TIMESTAMP = 0x8e28 + +const GL_INT_2_10_10_10_REV = 0x8d9f + +const GL_VERSION_4_0 = 1 + +const GL_SAMPLE_SHADING = 0x8c36 + +const GL_MIN_SAMPLE_SHADING_VALUE = 0x8c37 + +const GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8e5e + +const GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8e5f + +const GL_TEXTURE_CUBE_MAP_ARRAY = 0x9009 + +const GL_TEXTURE_BINDING_CUBE_MAP_ARRAY = 0x900a + +const GL_PROXY_TEXTURE_CUBE_MAP_ARRAY = 0x900b + +const GL_SAMPLER_CUBE_MAP_ARRAY = 0x900c + +const GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW = 0x900d + +const GL_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900e + +const GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900f + +const GL_DRAW_INDIRECT_BUFFER = 0x8f3f + +const GL_DRAW_INDIRECT_BUFFER_BINDING = 0x8f43 + +const GL_GEOMETRY_SHADER_INVOCATIONS = 0x887f + +const GL_MAX_GEOMETRY_SHADER_INVOCATIONS = 0x8e5a + +const GL_MIN_FRAGMENT_INTERPOLATION_OFFSET = 0x8e5b + +const GL_MAX_FRAGMENT_INTERPOLATION_OFFSET = 0x8e5c + +const GL_FRAGMENT_INTERPOLATION_OFFSET_BITS = 0x8e5d + +const GL_MAX_VERTEX_STREAMS = 0x8e71 + +const GL_DOUBLE_VEC2 = 0x8ffc + +const GL_DOUBLE_VEC3 = 0x8ffd + +const GL_DOUBLE_VEC4 = 0x8ffe + +const GL_DOUBLE_MAT2 = 0x8f46 + +const GL_DOUBLE_MAT3 = 0x8f47 + +const GL_DOUBLE_MAT4 = 0x8f48 + +const GL_DOUBLE_MAT2x3 = 0x8f49 + +const GL_DOUBLE_MAT2x4 = 0x8f4a + +const GL_DOUBLE_MAT3x2 = 0x8f4b + +const GL_DOUBLE_MAT3x4 = 0x8f4c + +const GL_DOUBLE_MAT4x2 = 0x8f4d + +const GL_DOUBLE_MAT4x3 = 0x8f4e + +const GL_ACTIVE_SUBROUTINES = 0x8de5 + +const GL_ACTIVE_SUBROUTINE_UNIFORMS = 0x8de6 + +const GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS = 0x8e47 + +const GL_ACTIVE_SUBROUTINE_MAX_LENGTH = 0x8e48 + +const GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH = 0x8e49 + +const GL_MAX_SUBROUTINES = 0x8de7 + +const GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS = 0x8de8 + +const GL_NUM_COMPATIBLE_SUBROUTINES = 0x8e4a + +const GL_COMPATIBLE_SUBROUTINES = 0x8e4b + +const GL_PATCHES = 0x000e + +const GL_PATCH_VERTICES = 0x8e72 + +const GL_PATCH_DEFAULT_INNER_LEVEL = 0x8e73 + +const GL_PATCH_DEFAULT_OUTER_LEVEL = 0x8e74 + +const GL_TESS_CONTROL_OUTPUT_VERTICES = 0x8e75 + +const GL_TESS_GEN_MODE = 0x8e76 + +const GL_TESS_GEN_SPACING = 0x8e77 + +const GL_TESS_GEN_VERTEX_ORDER = 0x8e78 + +const GL_TESS_GEN_POINT_MODE = 0x8e79 + +const GL_ISOLINES = 0x8e7a + +const GL_FRACTIONAL_ODD = 0x8e7b + +const GL_FRACTIONAL_EVEN = 0x8e7c + +const GL_MAX_PATCH_VERTICES = 0x8e7d + +const GL_MAX_TESS_GEN_LEVEL = 0x8e7e + +const GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8e7f + +const GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8e80 + +const GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = 0x8e81 + +const GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = 0x8e82 + +const GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS = 0x8e83 + +const GL_MAX_TESS_PATCH_COMPONENTS = 0x8e84 + +const GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = 0x8e85 + +const GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = 0x8e86 + +const GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS = 0x8e89 + +const GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS = 0x8e8a + +const GL_MAX_TESS_CONTROL_INPUT_COMPONENTS = 0x886c + +const GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS = 0x886d + +const GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8e1e + +const GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8e1f + +const GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER = 0x84f0 + +const GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x84f1 + +const GL_TESS_EVALUATION_SHADER = 0x8e87 + +const GL_TESS_CONTROL_SHADER = 0x8e88 + +const GL_TRANSFORM_FEEDBACK = 0x8e22 + +const GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED = 0x8e23 + +const GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE = 0x8e24 + +const GL_TRANSFORM_FEEDBACK_BINDING = 0x8e25 + +const GL_MAX_TRANSFORM_FEEDBACK_BUFFERS = 0x8e70 + +const GL_VERSION_4_1 = 1 + +const GL_FIXED = 0x140c + +const GL_IMPLEMENTATION_COLOR_READ_TYPE = 0x8b9a + +const GL_IMPLEMENTATION_COLOR_READ_FORMAT = 0x8b9b + +const GL_LOW_FLOAT = 0x8df0 + +const GL_MEDIUM_FLOAT = 0x8df1 + +const GL_HIGH_FLOAT = 0x8df2 + +const GL_LOW_INT = 0x8df3 + +const GL_MEDIUM_INT = 0x8df4 + +const GL_HIGH_INT = 0x8df5 + +const GL_SHADER_COMPILER = 0x8dfa + +const GL_SHADER_BINARY_FORMATS = 0x8df8 + +const GL_NUM_SHADER_BINARY_FORMATS = 0x8df9 + +const GL_MAX_VERTEX_UNIFORM_VECTORS = 0x8dfb + +const GL_MAX_VARYING_VECTORS = 0x8dfc + +const GL_MAX_FRAGMENT_UNIFORM_VECTORS = 0x8dfd + +const GL_RGB565 = 0x8d62 + +const GL_PROGRAM_BINARY_RETRIEVABLE_HINT = 0x8257 + +const GL_PROGRAM_BINARY_LENGTH = 0x8741 + +const GL_NUM_PROGRAM_BINARY_FORMATS = 0x87fe + +const GL_PROGRAM_BINARY_FORMATS = 0x87ff + +const GL_VERTEX_SHADER_BIT = 0x00000001 + +const GL_FRAGMENT_SHADER_BIT = 0x00000002 + +const GL_GEOMETRY_SHADER_BIT = 0x00000004 + +const GL_TESS_CONTROL_SHADER_BIT = 0x00000008 + +const GL_TESS_EVALUATION_SHADER_BIT = 0x00000010 + +const GL_ALL_SHADER_BITS = 0xffffffff + +const GL_PROGRAM_SEPARABLE = 0x8258 + +const GL_ACTIVE_PROGRAM = 0x8259 + +const GL_PROGRAM_PIPELINE_BINDING = 0x825a + +const GL_MAX_VIEWPORTS = 0x825b + +const GL_VIEWPORT_SUBPIXEL_BITS = 0x825c + +const GL_VIEWPORT_BOUNDS_RANGE = 0x825d + +const GL_LAYER_PROVOKING_VERTEX = 0x825e + +const GL_VIEWPORT_INDEX_PROVOKING_VERTEX = 0x825f + +const GL_UNDEFINED_VERTEX = 0x8260 + +const GL_VERSION_4_2 = 1 + +const GL_COPY_READ_BUFFER_BINDING = 0x8f36 + +const GL_COPY_WRITE_BUFFER_BINDING = 0x8f37 + +const GL_TRANSFORM_FEEDBACK_ACTIVE = 0x8e24 + +const GL_TRANSFORM_FEEDBACK_PAUSED = 0x8e23 + +const GL_UNPACK_COMPRESSED_BLOCK_WIDTH = 0x9127 + +const GL_UNPACK_COMPRESSED_BLOCK_HEIGHT = 0x9128 + +const GL_UNPACK_COMPRESSED_BLOCK_DEPTH = 0x9129 + +const GL_UNPACK_COMPRESSED_BLOCK_SIZE = 0x912a + +const GL_PACK_COMPRESSED_BLOCK_WIDTH = 0x912b + +const GL_PACK_COMPRESSED_BLOCK_HEIGHT = 0x912c + +const GL_PACK_COMPRESSED_BLOCK_DEPTH = 0x912d + +const GL_PACK_COMPRESSED_BLOCK_SIZE = 0x912e + +const GL_NUM_SAMPLE_COUNTS = 0x9380 + +const GL_MIN_MAP_BUFFER_ALIGNMENT = 0x90bc + +const GL_ATOMIC_COUNTER_BUFFER = 0x92c0 + +const GL_ATOMIC_COUNTER_BUFFER_BINDING = 0x92c1 + +const GL_ATOMIC_COUNTER_BUFFER_START = 0x92c2 + +const GL_ATOMIC_COUNTER_BUFFER_SIZE = 0x92c3 + +const GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE = 0x92c4 + +const GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS = 0x92c5 + +const GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES = 0x92c6 + +const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER = 0x92c7 + +const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER = 0x92c8 + +const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x92c9 + +const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER = 0x92ca + +const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER = 0x92cb + +const GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = 0x92cc + +const GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = 0x92cd + +const GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = 0x92ce + +const GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = 0x92cf + +const GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = 0x92d0 + +const GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = 0x92d1 + +const GL_MAX_VERTEX_ATOMIC_COUNTERS = 0x92d2 + +const GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS = 0x92d3 + +const GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS = 0x92d4 + +const GL_MAX_GEOMETRY_ATOMIC_COUNTERS = 0x92d5 + +const GL_MAX_FRAGMENT_ATOMIC_COUNTERS = 0x92d6 + +const GL_MAX_COMBINED_ATOMIC_COUNTERS = 0x92d7 + +const GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE = 0x92d8 + +const GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = 0x92dc + +const GL_ACTIVE_ATOMIC_COUNTER_BUFFERS = 0x92d9 + +const GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX = 0x92da + +const GL_UNSIGNED_INT_ATOMIC_COUNTER = 0x92db + +const GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT = 0x00000001 + +const GL_ELEMENT_ARRAY_BARRIER_BIT = 0x00000002 + +const GL_UNIFORM_BARRIER_BIT = 0x00000004 + +const GL_TEXTURE_FETCH_BARRIER_BIT = 0x00000008 + +const GL_SHADER_IMAGE_ACCESS_BARRIER_BIT = 0x00000020 + +const GL_COMMAND_BARRIER_BIT = 0x00000040 + +const GL_PIXEL_BUFFER_BARRIER_BIT = 0x00000080 + +const GL_TEXTURE_UPDATE_BARRIER_BIT = 0x00000100 + +const GL_BUFFER_UPDATE_BARRIER_BIT = 0x00000200 + +const GL_FRAMEBUFFER_BARRIER_BIT = 0x00000400 + +const GL_TRANSFORM_FEEDBACK_BARRIER_BIT = 0x00000800 + +const GL_ATOMIC_COUNTER_BARRIER_BIT = 0x00001000 + +const GL_ALL_BARRIER_BITS = 0xffffffff + +const GL_MAX_IMAGE_UNITS = 0x8f38 + +const GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS = 0x8f39 + +const GL_IMAGE_BINDING_NAME = 0x8f3a + +const GL_IMAGE_BINDING_LEVEL = 0x8f3b + +const GL_IMAGE_BINDING_LAYERED = 0x8f3c + +const GL_IMAGE_BINDING_LAYER = 0x8f3d + +const GL_IMAGE_BINDING_ACCESS = 0x8f3e + +const GL_IMAGE_1D = 0x904c + +const GL_IMAGE_2D = 0x904d + +const GL_IMAGE_3D = 0x904e + +const GL_IMAGE_2D_RECT = 0x904f + +const GL_IMAGE_CUBE = 0x9050 + +const GL_IMAGE_BUFFER = 0x9051 + +const GL_IMAGE_1D_ARRAY = 0x9052 + +const GL_IMAGE_2D_ARRAY = 0x9053 + +const GL_IMAGE_CUBE_MAP_ARRAY = 0x9054 + +const GL_IMAGE_2D_MULTISAMPLE = 0x9055 + +const GL_IMAGE_2D_MULTISAMPLE_ARRAY = 0x9056 + +const GL_INT_IMAGE_1D = 0x9057 + +const GL_INT_IMAGE_2D = 0x9058 + +const GL_INT_IMAGE_3D = 0x9059 + +const GL_INT_IMAGE_2D_RECT = 0x905a + +const GL_INT_IMAGE_CUBE = 0x905b + +const GL_INT_IMAGE_BUFFER = 0x905c + +const GL_INT_IMAGE_1D_ARRAY = 0x905d + +const GL_INT_IMAGE_2D_ARRAY = 0x905e + +const GL_INT_IMAGE_CUBE_MAP_ARRAY = 0x905f + +const GL_INT_IMAGE_2D_MULTISAMPLE = 0x9060 + +const GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x9061 + +const GL_UNSIGNED_INT_IMAGE_1D = 0x9062 + +const GL_UNSIGNED_INT_IMAGE_2D = 0x9063 + +const GL_UNSIGNED_INT_IMAGE_3D = 0x9064 + +const GL_UNSIGNED_INT_IMAGE_2D_RECT = 0x9065 + +const GL_UNSIGNED_INT_IMAGE_CUBE = 0x9066 + +const GL_UNSIGNED_INT_IMAGE_BUFFER = 0x9067 + +const GL_UNSIGNED_INT_IMAGE_1D_ARRAY = 0x9068 + +const GL_UNSIGNED_INT_IMAGE_2D_ARRAY = 0x9069 + +const GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = 0x906a + +const GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE = 0x906b + +const GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x906c + +const GL_MAX_IMAGE_SAMPLES = 0x906d + +const GL_IMAGE_BINDING_FORMAT = 0x906e + +const GL_IMAGE_FORMAT_COMPATIBILITY_TYPE = 0x90c7 + +const GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = 0x90c8 + +const GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = 0x90c9 + +const GL_MAX_VERTEX_IMAGE_UNIFORMS = 0x90ca + +const GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS = 0x90cb + +const GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS = 0x90cc + +const GL_MAX_GEOMETRY_IMAGE_UNIFORMS = 0x90cd + +const GL_MAX_FRAGMENT_IMAGE_UNIFORMS = 0x90ce + +const GL_MAX_COMBINED_IMAGE_UNIFORMS = 0x90cf + +const GL_COMPRESSED_RGBA_BPTC_UNORM = 0x8e8c + +const GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM = 0x8e8d + +const GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT = 0x8e8e + +const GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT = 0x8e8f + +const GL_TEXTURE_IMMUTABLE_FORMAT = 0x912f + +const GL_VERSION_4_3 = 1 + +const GL_NUM_SHADING_LANGUAGE_VERSIONS = 0x82e9 + +const GL_VERTEX_ATTRIB_ARRAY_LONG = 0x874e + +const GL_COMPRESSED_RGB8_ETC2 = 0x9274 + +const GL_COMPRESSED_SRGB8_ETC2 = 0x9275 + +const GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9276 + +const GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277 + +const GL_COMPRESSED_RGBA8_ETC2_EAC = 0x9278 + +const GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9279 + +const GL_COMPRESSED_R11_EAC = 0x9270 + +const GL_COMPRESSED_SIGNED_R11_EAC = 0x9271 + +const GL_COMPRESSED_RG11_EAC = 0x9272 + +const GL_COMPRESSED_SIGNED_RG11_EAC = 0x9273 + +const GL_PRIMITIVE_RESTART_FIXED_INDEX = 0x8d69 + +const GL_ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8d6a + +const GL_MAX_ELEMENT_INDEX = 0x8d6b + +const GL_COMPUTE_SHADER = 0x91b9 + +const GL_MAX_COMPUTE_UNIFORM_BLOCKS = 0x91bb + +const GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = 0x91bc + +const GL_MAX_COMPUTE_IMAGE_UNIFORMS = 0x91bd + +const GL_MAX_COMPUTE_SHARED_MEMORY_SIZE = 0x8262 + +const GL_MAX_COMPUTE_UNIFORM_COMPONENTS = 0x8263 + +const GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = 0x8264 + +const GL_MAX_COMPUTE_ATOMIC_COUNTERS = 0x8265 + +const GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = 0x8266 + +const GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS = 0x90eb + +const GL_MAX_COMPUTE_WORK_GROUP_COUNT = 0x91be + +const GL_MAX_COMPUTE_WORK_GROUP_SIZE = 0x91bf + +const GL_COMPUTE_WORK_GROUP_SIZE = 0x8267 + +const GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER = 0x90ec + +const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER = 0x90ed + +const GL_DISPATCH_INDIRECT_BUFFER = 0x90ee + +const GL_DISPATCH_INDIRECT_BUFFER_BINDING = 0x90ef + +const GL_COMPUTE_SHADER_BIT = 0x00000020 + +const GL_DEBUG_OUTPUT_SYNCHRONOUS = 0x8242 + +const GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = 0x8243 + +const GL_DEBUG_CALLBACK_FUNCTION = 0x8244 + +const GL_DEBUG_CALLBACK_USER_PARAM = 0x8245 + +const GL_DEBUG_SOURCE_API = 0x8246 + +const GL_DEBUG_SOURCE_WINDOW_SYSTEM = 0x8247 + +const GL_DEBUG_SOURCE_SHADER_COMPILER = 0x8248 + +const GL_DEBUG_SOURCE_THIRD_PARTY = 0x8249 + +const GL_DEBUG_SOURCE_APPLICATION = 0x824a + +const GL_DEBUG_SOURCE_OTHER = 0x824b + +const GL_DEBUG_TYPE_ERROR = 0x824c + +const GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR = 0x824d + +const GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR = 0x824e + +const GL_DEBUG_TYPE_PORTABILITY = 0x824f + +const GL_DEBUG_TYPE_PERFORMANCE = 0x8250 + +const GL_DEBUG_TYPE_OTHER = 0x8251 + +const GL_MAX_DEBUG_MESSAGE_LENGTH = 0x9143 + +const GL_MAX_DEBUG_LOGGED_MESSAGES = 0x9144 + +const GL_DEBUG_LOGGED_MESSAGES = 0x9145 + +const GL_DEBUG_SEVERITY_HIGH = 0x9146 + +const GL_DEBUG_SEVERITY_MEDIUM = 0x9147 + +const GL_DEBUG_SEVERITY_LOW = 0x9148 + +const GL_DEBUG_TYPE_MARKER = 0x8268 + +const GL_DEBUG_TYPE_PUSH_GROUP = 0x8269 + +const GL_DEBUG_TYPE_POP_GROUP = 0x826a + +const GL_DEBUG_SEVERITY_NOTIFICATION = 0x826b + +const GL_MAX_DEBUG_GROUP_STACK_DEPTH = 0x826c + +const GL_DEBUG_GROUP_STACK_DEPTH = 0x826d + +const GL_BUFFER = 0x82e0 + +const GL_SHADER = 0x82e1 + +const GL_PROGRAM = 0x82e2 + +const GL_QUERY = 0x82e3 + +const GL_PROGRAM_PIPELINE = 0x82e4 + +const GL_SAMPLER = 0x82e6 + +const GL_MAX_LABEL_LENGTH = 0x82e8 + +const GL_DEBUG_OUTPUT = 0x92e0 + +const GL_CONTEXT_FLAG_DEBUG_BIT = 0x00000002 + +const GL_MAX_UNIFORM_LOCATIONS = 0x826e + +const GL_FRAMEBUFFER_DEFAULT_WIDTH = 0x9310 + +const GL_FRAMEBUFFER_DEFAULT_HEIGHT = 0x9311 + +const GL_FRAMEBUFFER_DEFAULT_LAYERS = 0x9312 + +const GL_FRAMEBUFFER_DEFAULT_SAMPLES = 0x9313 + +const GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = 0x9314 + +const GL_MAX_FRAMEBUFFER_WIDTH = 0x9315 + +const GL_MAX_FRAMEBUFFER_HEIGHT = 0x9316 + +const GL_MAX_FRAMEBUFFER_LAYERS = 0x9317 + +const GL_MAX_FRAMEBUFFER_SAMPLES = 0x9318 + +const GL_INTERNALFORMAT_SUPPORTED = 0x826f + +const GL_INTERNALFORMAT_PREFERRED = 0x8270 + +const GL_INTERNALFORMAT_RED_SIZE = 0x8271 + +const GL_INTERNALFORMAT_GREEN_SIZE = 0x8272 + +const GL_INTERNALFORMAT_BLUE_SIZE = 0x8273 + +const GL_INTERNALFORMAT_ALPHA_SIZE = 0x8274 + +const GL_INTERNALFORMAT_DEPTH_SIZE = 0x8275 + +const GL_INTERNALFORMAT_STENCIL_SIZE = 0x8276 + +const GL_INTERNALFORMAT_SHARED_SIZE = 0x8277 + +const GL_INTERNALFORMAT_RED_TYPE = 0x8278 + +const GL_INTERNALFORMAT_GREEN_TYPE = 0x8279 + +const GL_INTERNALFORMAT_BLUE_TYPE = 0x827a + +const GL_INTERNALFORMAT_ALPHA_TYPE = 0x827b + +const GL_INTERNALFORMAT_DEPTH_TYPE = 0x827c + +const GL_INTERNALFORMAT_STENCIL_TYPE = 0x827d + +const GL_MAX_WIDTH = 0x827e + +const GL_MAX_HEIGHT = 0x827f + +const GL_MAX_DEPTH = 0x8280 + +const GL_MAX_LAYERS = 0x8281 + +const GL_MAX_COMBINED_DIMENSIONS = 0x8282 + +const GL_COLOR_COMPONENTS = 0x8283 + +const GL_DEPTH_COMPONENTS = 0x8284 + +const GL_STENCIL_COMPONENTS = 0x8285 + +const GL_COLOR_RENDERABLE = 0x8286 + +const GL_DEPTH_RENDERABLE = 0x8287 + +const GL_STENCIL_RENDERABLE = 0x8288 + +const GL_FRAMEBUFFER_RENDERABLE = 0x8289 + +const GL_FRAMEBUFFER_RENDERABLE_LAYERED = 0x828a + +const GL_FRAMEBUFFER_BLEND = 0x828b + +const GL_READ_PIXELS = 0x828c + +const GL_READ_PIXELS_FORMAT = 0x828d + +const GL_READ_PIXELS_TYPE = 0x828e + +const GL_TEXTURE_IMAGE_FORMAT = 0x828f + +const GL_TEXTURE_IMAGE_TYPE = 0x8290 + +const GL_GET_TEXTURE_IMAGE_FORMAT = 0x8291 + +const GL_GET_TEXTURE_IMAGE_TYPE = 0x8292 + +const GL_MIPMAP = 0x8293 + +const GL_MANUAL_GENERATE_MIPMAP = 0x8294 + +const GL_AUTO_GENERATE_MIPMAP = 0x8295 + +const GL_COLOR_ENCODING = 0x8296 + +const GL_SRGB_READ = 0x8297 + +const GL_SRGB_WRITE = 0x8298 + +const GL_FILTER = 0x829a + +const GL_VERTEX_TEXTURE = 0x829b + +const GL_TESS_CONTROL_TEXTURE = 0x829c + +const GL_TESS_EVALUATION_TEXTURE = 0x829d + +const GL_GEOMETRY_TEXTURE = 0x829e + +const GL_FRAGMENT_TEXTURE = 0x829f + +const GL_COMPUTE_TEXTURE = 0x82a0 + +const GL_TEXTURE_SHADOW = 0x82a1 + +const GL_TEXTURE_GATHER = 0x82a2 + +const GL_TEXTURE_GATHER_SHADOW = 0x82a3 + +const GL_SHADER_IMAGE_LOAD = 0x82a4 + +const GL_SHADER_IMAGE_STORE = 0x82a5 + +const GL_SHADER_IMAGE_ATOMIC = 0x82a6 + +const GL_IMAGE_TEXEL_SIZE = 0x82a7 + +const GL_IMAGE_COMPATIBILITY_CLASS = 0x82a8 + +const GL_IMAGE_PIXEL_FORMAT = 0x82a9 + +const GL_IMAGE_PIXEL_TYPE = 0x82aa + +const GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST = 0x82ac + +const GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST = 0x82ad + +const GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE = 0x82ae + +const GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE = 0x82af + +const GL_TEXTURE_COMPRESSED_BLOCK_WIDTH = 0x82b1 + +const GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT = 0x82b2 + +const GL_TEXTURE_COMPRESSED_BLOCK_SIZE = 0x82b3 + +const GL_CLEAR_BUFFER = 0x82b4 + +const GL_TEXTURE_VIEW = 0x82b5 + +const GL_VIEW_COMPATIBILITY_CLASS = 0x82b6 + +const GL_FULL_SUPPORT = 0x82b7 + +const GL_CAVEAT_SUPPORT = 0x82b8 + +const GL_IMAGE_CLASS_4_X_32 = 0x82b9 + +const GL_IMAGE_CLASS_2_X_32 = 0x82ba + +const GL_IMAGE_CLASS_1_X_32 = 0x82bb + +const GL_IMAGE_CLASS_4_X_16 = 0x82bc + +const GL_IMAGE_CLASS_2_X_16 = 0x82bd + +const GL_IMAGE_CLASS_1_X_16 = 0x82be + +const GL_IMAGE_CLASS_4_X_8 = 0x82bf + +const GL_IMAGE_CLASS_2_X_8 = 0x82c0 + +const GL_IMAGE_CLASS_1_X_8 = 0x82c1 + +const GL_IMAGE_CLASS_11_11_10 = 0x82c2 + +const GL_IMAGE_CLASS_10_10_10_2 = 0x82c3 + +const GL_VIEW_CLASS_128_BITS = 0x82c4 + +const GL_VIEW_CLASS_96_BITS = 0x82c5 + +const GL_VIEW_CLASS_64_BITS = 0x82c6 + +const GL_VIEW_CLASS_48_BITS = 0x82c7 + +const GL_VIEW_CLASS_32_BITS = 0x82c8 + +const GL_VIEW_CLASS_24_BITS = 0x82c9 + +const GL_VIEW_CLASS_16_BITS = 0x82ca + +const GL_VIEW_CLASS_8_BITS = 0x82cb + +const GL_VIEW_CLASS_S3TC_DXT1_RGB = 0x82cc + +const GL_VIEW_CLASS_S3TC_DXT1_RGBA = 0x82cd + +const GL_VIEW_CLASS_S3TC_DXT3_RGBA = 0x82ce + +const GL_VIEW_CLASS_S3TC_DXT5_RGBA = 0x82cf + +const GL_VIEW_CLASS_RGTC1_RED = 0x82d0 + +const GL_VIEW_CLASS_RGTC2_RG = 0x82d1 + +const GL_VIEW_CLASS_BPTC_UNORM = 0x82d2 + +const GL_VIEW_CLASS_BPTC_FLOAT = 0x82d3 + +const GL_UNIFORM = 0x92e1 + +const GL_UNIFORM_BLOCK = 0x92e2 + +const GL_PROGRAM_INPUT = 0x92e3 + +const GL_PROGRAM_OUTPUT = 0x92e4 + +const GL_BUFFER_VARIABLE = 0x92e5 + +const GL_SHADER_STORAGE_BLOCK = 0x92e6 + +const GL_VERTEX_SUBROUTINE = 0x92e8 + +const GL_TESS_CONTROL_SUBROUTINE = 0x92e9 + +const GL_TESS_EVALUATION_SUBROUTINE = 0x92ea + +const GL_GEOMETRY_SUBROUTINE = 0x92eb + +const GL_FRAGMENT_SUBROUTINE = 0x92ec + +const GL_COMPUTE_SUBROUTINE = 0x92ed + +const GL_VERTEX_SUBROUTINE_UNIFORM = 0x92ee + +const GL_TESS_CONTROL_SUBROUTINE_UNIFORM = 0x92ef + +const GL_TESS_EVALUATION_SUBROUTINE_UNIFORM = 0x92f0 + +const GL_GEOMETRY_SUBROUTINE_UNIFORM = 0x92f1 + +const GL_FRAGMENT_SUBROUTINE_UNIFORM = 0x92f2 + +const GL_COMPUTE_SUBROUTINE_UNIFORM = 0x92f3 + +const GL_TRANSFORM_FEEDBACK_VARYING = 0x92f4 + +const GL_ACTIVE_RESOURCES = 0x92f5 + +const GL_MAX_NAME_LENGTH = 0x92f6 + +const GL_MAX_NUM_ACTIVE_VARIABLES = 0x92f7 + +const GL_MAX_NUM_COMPATIBLE_SUBROUTINES = 0x92f8 + +const GL_NAME_LENGTH = 0x92f9 + +const GL_TYPE = 0x92fa + +const GL_ARRAY_SIZE = 0x92fb + +const GL_OFFSET = 0x92fc + +const GL_BLOCK_INDEX = 0x92fd + +const GL_ARRAY_STRIDE = 0x92fe + +const GL_MATRIX_STRIDE = 0x92ff + +const GL_IS_ROW_MAJOR = 0x9300 + +const GL_ATOMIC_COUNTER_BUFFER_INDEX = 0x9301 + +const GL_BUFFER_BINDING = 0x9302 + +const GL_BUFFER_DATA_SIZE = 0x9303 + +const GL_NUM_ACTIVE_VARIABLES = 0x9304 + +const GL_ACTIVE_VARIABLES = 0x9305 + +const GL_REFERENCED_BY_VERTEX_SHADER = 0x9306 + +const GL_REFERENCED_BY_TESS_CONTROL_SHADER = 0x9307 + +const GL_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x9308 + +const GL_REFERENCED_BY_GEOMETRY_SHADER = 0x9309 + +const GL_REFERENCED_BY_FRAGMENT_SHADER = 0x930a + +const GL_REFERENCED_BY_COMPUTE_SHADER = 0x930b + +const GL_TOP_LEVEL_ARRAY_SIZE = 0x930c + +const GL_TOP_LEVEL_ARRAY_STRIDE = 0x930d + +const GL_LOCATION = 0x930e + +const GL_LOCATION_INDEX = 0x930f + +const GL_IS_PER_PATCH = 0x92e7 + +const GL_SHADER_STORAGE_BUFFER = 0x90d2 + +const GL_SHADER_STORAGE_BUFFER_BINDING = 0x90d3 + +const GL_SHADER_STORAGE_BUFFER_START = 0x90d4 + +const GL_SHADER_STORAGE_BUFFER_SIZE = 0x90d5 + +const GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS = 0x90d6 + +const GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = 0x90d7 + +const GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = 0x90d8 + +const GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = 0x90d9 + +const GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = 0x90da + +const GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = 0x90db + +const GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS = 0x90dc + +const GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS = 0x90dd + +const GL_MAX_SHADER_STORAGE_BLOCK_SIZE = 0x90de + +const GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = 0x90df + +const GL_SHADER_STORAGE_BARRIER_BIT = 0x00002000 + +const GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = 0x8f39 + +const GL_DEPTH_STENCIL_TEXTURE_MODE = 0x90ea + +const GL_TEXTURE_BUFFER_OFFSET = 0x919d + +const GL_TEXTURE_BUFFER_SIZE = 0x919e + +const GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT = 0x919f + +const GL_TEXTURE_VIEW_MIN_LEVEL = 0x82db + +const GL_TEXTURE_VIEW_NUM_LEVELS = 0x82dc + +const GL_TEXTURE_VIEW_MIN_LAYER = 0x82dd + +const GL_TEXTURE_VIEW_NUM_LAYERS = 0x82de + +const GL_TEXTURE_IMMUTABLE_LEVELS = 0x82df + +const GL_VERTEX_ATTRIB_BINDING = 0x82d4 + +const GL_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82d5 + +const GL_VERTEX_BINDING_DIVISOR = 0x82d6 + +const GL_VERTEX_BINDING_OFFSET = 0x82d7 + +const GL_VERTEX_BINDING_STRIDE = 0x82d8 + +const GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82d9 + +const GL_MAX_VERTEX_ATTRIB_BINDINGS = 0x82da + +const GL_VERTEX_BINDING_BUFFER = 0x8f4f + +const GL_VERSION_4_4 = 1 + +const GL_MAX_VERTEX_ATTRIB_STRIDE = 0x82e5 + +const GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = 0x8221 + +const GL_TEXTURE_BUFFER_BINDING = 0x8c2a + +const GL_MAP_PERSISTENT_BIT = 0x0040 + +const GL_MAP_COHERENT_BIT = 0x0080 + +const GL_DYNAMIC_STORAGE_BIT = 0x0100 + +const GL_CLIENT_STORAGE_BIT = 0x0200 + +const GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT = 0x00004000 + +const GL_BUFFER_IMMUTABLE_STORAGE = 0x821f + +const GL_BUFFER_STORAGE_FLAGS = 0x8220 + +const GL_CLEAR_TEXTURE = 0x9365 + +const GL_LOCATION_COMPONENT = 0x934a + +const GL_TRANSFORM_FEEDBACK_BUFFER_INDEX = 0x934b + +const GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE = 0x934c + +const GL_QUERY_BUFFER = 0x9192 + +const GL_QUERY_BUFFER_BARRIER_BIT = 0x00008000 + +const GL_QUERY_BUFFER_BINDING = 0x9193 + +const GL_QUERY_RESULT_NO_WAIT = 0x9194 + +const GL_MIRROR_CLAMP_TO_EDGE = 0x8743 + +const GL_VERSION_4_5 = 1 + +const GL_CONTEXT_LOST = 0x0507 + +const GL_NEGATIVE_ONE_TO_ONE = 0x935e + +const GL_ZERO_TO_ONE = 0x935f + +const GL_CLIP_ORIGIN = 0x935c + +const GL_CLIP_DEPTH_MODE = 0x935d + +const GL_QUERY_WAIT_INVERTED = 0x8e17 + +const GL_QUERY_NO_WAIT_INVERTED = 0x8e18 + +const GL_QUERY_BY_REGION_WAIT_INVERTED = 0x8e19 + +const GL_QUERY_BY_REGION_NO_WAIT_INVERTED = 0x8e1a + +const GL_MAX_CULL_DISTANCES = 0x82f9 + +const GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES = 0x82fa + +const GL_TEXTURE_TARGET = 0x1006 + +const GL_QUERY_TARGET = 0x82ea + +const GL_GUILTY_CONTEXT_RESET = 0x8253 + +const GL_INNOCENT_CONTEXT_RESET = 0x8254 + +const GL_UNKNOWN_CONTEXT_RESET = 0x8255 + +const GL_RESET_NOTIFICATION_STRATEGY = 0x8256 + +const GL_LOSE_CONTEXT_ON_RESET = 0x8252 + +const GL_NO_RESET_NOTIFICATION = 0x8261 + +const GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT = 0x00000004 + +const GL_CONTEXT_RELEASE_BEHAVIOR = 0x82fb + +const GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH = 0x82fc + +const GL_VERSION_4_6 = 1 + +const GL_SHADER_BINARY_FORMAT_SPIR_V = 0x9551 + +const GL_SPIR_V_BINARY = 0x9552 + +const GL_PARAMETER_BUFFER = 0x80ee + +const GL_PARAMETER_BUFFER_BINDING = 0x80ef + +const GL_CONTEXT_FLAG_NO_ERROR_BIT = 0x00000008 + +const GL_VERTICES_SUBMITTED = 0x82ee + +const GL_PRIMITIVES_SUBMITTED = 0x82ef + +const GL_VERTEX_SHADER_INVOCATIONS = 0x82f0 + +const GL_TESS_CONTROL_SHADER_PATCHES = 0x82f1 + +const GL_TESS_EVALUATION_SHADER_INVOCATIONS = 0x82f2 + +const GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED = 0x82f3 + +const GL_FRAGMENT_SHADER_INVOCATIONS = 0x82f4 + +const GL_COMPUTE_SHADER_INVOCATIONS = 0x82f5 + +const GL_CLIPPING_INPUT_PRIMITIVES = 0x82f6 + +const GL_CLIPPING_OUTPUT_PRIMITIVES = 0x82f7 + +const GL_POLYGON_OFFSET_CLAMP = 0x8e1b + +const GL_SPIR_V_EXTENSIONS = 0x9553 + +const GL_NUM_SPIR_V_EXTENSIONS = 0x9554 + +const GL_TEXTURE_MAX_ANISOTROPY = 0x84fe + +const GL_MAX_TEXTURE_MAX_ANISOTROPY = 0x84ff + +const GL_TRANSFORM_FEEDBACK_OVERFLOW = 0x82ec + +const GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW = 0x82ed + +const GL_ARB_ES2_compatibility = 1 + +const GL_ARB_ES3_1_compatibility = 1 + +const GL_ARB_ES3_2_compatibility = 1 + +const GL_PRIMITIVE_BOUNDING_BOX_ARB = 0x92be + +const GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB = 0x9381 + +const GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB = 0x9382 + +const GL_ARB_ES3_compatibility = 1 + +const GL_ARB_arrays_of_arrays = 1 + +const GL_ARB_base_instance = 1 + +const GL_ARB_bindless_texture = 1 + +const GL_UNSIGNED_INT64_ARB = 0x140f + +const GL_ARB_blend_func_extended = 1 + +const GL_ARB_buffer_storage = 1 + +const GL_ARB_cl_event = 1 + +const GL_SYNC_CL_EVENT_ARB = 0x8240 + +const GL_SYNC_CL_EVENT_COMPLETE_ARB = 0x8241 + +const GL_ARB_clear_buffer_object = 1 + +const GL_ARB_clear_texture = 1 + +const GL_ARB_clip_control = 1 + +const GL_ARB_compressed_texture_pixel_storage = 1 + +const GL_ARB_compute_shader = 1 + +const GL_ARB_compute_variable_group_size = 1 + +const GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB = 0x9344 + +const GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB = 0x90eb + +const GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB = 0x9345 + +const GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB = 0x91bf + +const GL_ARB_conditional_render_inverted = 1 + +const GL_ARB_conservative_depth = 1 + +const GL_ARB_copy_buffer = 1 + +const GL_ARB_copy_image = 1 + +const GL_ARB_cull_distance = 1 + +const GL_ARB_debug_output = 1 + +const GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB = 0x8242 + +const GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB = 0x8243 + +const GL_DEBUG_CALLBACK_FUNCTION_ARB = 0x8244 + +const GL_DEBUG_CALLBACK_USER_PARAM_ARB = 0x8245 + +const GL_DEBUG_SOURCE_API_ARB = 0x8246 + +const GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB = 0x8247 + +const GL_DEBUG_SOURCE_SHADER_COMPILER_ARB = 0x8248 + +const GL_DEBUG_SOURCE_THIRD_PARTY_ARB = 0x8249 + +const GL_DEBUG_SOURCE_APPLICATION_ARB = 0x824a + +const GL_DEBUG_SOURCE_OTHER_ARB = 0x824b + +const GL_DEBUG_TYPE_ERROR_ARB = 0x824c + +const GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB = 0x824d + +const GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB = 0x824e + +const GL_DEBUG_TYPE_PORTABILITY_ARB = 0x824f + +const GL_DEBUG_TYPE_PERFORMANCE_ARB = 0x8250 + +const GL_DEBUG_TYPE_OTHER_ARB = 0x8251 + +const GL_MAX_DEBUG_MESSAGE_LENGTH_ARB = 0x9143 + +const GL_MAX_DEBUG_LOGGED_MESSAGES_ARB = 0x9144 + +const GL_DEBUG_LOGGED_MESSAGES_ARB = 0x9145 + +const GL_DEBUG_SEVERITY_HIGH_ARB = 0x9146 + +const GL_DEBUG_SEVERITY_MEDIUM_ARB = 0x9147 + +const GL_DEBUG_SEVERITY_LOW_ARB = 0x9148 + +const GL_ARB_depth_buffer_float = 1 + +const GL_ARB_depth_clamp = 1 + +const GL_ARB_derivative_control = 1 + +const GL_ARB_direct_state_access = 1 + +const GL_ARB_draw_buffers_blend = 1 + +const GL_ARB_draw_elements_base_vertex = 1 + +const GL_ARB_draw_indirect = 1 + +const GL_ARB_draw_instanced = 1 + +const GL_ARB_enhanced_layouts = 1 + +const GL_ARB_explicit_attrib_location = 1 + +const GL_ARB_explicit_uniform_location = 1 + +const GL_ARB_fragment_coord_conventions = 1 + +const GL_ARB_fragment_layer_viewport = 1 + +const GL_ARB_fragment_shader_interlock = 1 + +const GL_ARB_framebuffer_no_attachments = 1 + +const GL_ARB_framebuffer_object = 1 + +const GL_ARB_framebuffer_sRGB = 1 + +const GL_ARB_geometry_shader4 = 1 + +const GL_LINES_ADJACENCY_ARB = 0x000a + +const GL_LINE_STRIP_ADJACENCY_ARB = 0x000b + +const GL_TRIANGLES_ADJACENCY_ARB = 0x000c + +const GL_TRIANGLE_STRIP_ADJACENCY_ARB = 0x000d + +const GL_PROGRAM_POINT_SIZE_ARB = 0x8642 + +const GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB = 0x8c29 + +const GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB = 0x8da7 + +const GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB = 0x8da8 + +const GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB = 0x8da9 + +const GL_GEOMETRY_SHADER_ARB = 0x8dd9 + +const GL_GEOMETRY_VERTICES_OUT_ARB = 0x8dda + +const GL_GEOMETRY_INPUT_TYPE_ARB = 0x8ddb + +const GL_GEOMETRY_OUTPUT_TYPE_ARB = 0x8ddc + +const GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB = 0x8ddd + +const GL_MAX_VERTEX_VARYING_COMPONENTS_ARB = 0x8dde + +const GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB = 0x8ddf + +const GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB = 0x8de0 + +const GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB = 0x8de1 + +const GL_ARB_get_program_binary = 1 + +const GL_ARB_get_texture_sub_image = 1 + +const GL_ARB_gl_spirv = 1 + +const GL_SHADER_BINARY_FORMAT_SPIR_V_ARB = 0x9551 + +const GL_SPIR_V_BINARY_ARB = 0x9552 + +const GL_ARB_gpu_shader5 = 1 + +const GL_ARB_gpu_shader_fp64 = 1 + +const GL_ARB_gpu_shader_int64 = 1 + +const GL_INT64_ARB = 0x140e + +const GL_INT64_VEC2_ARB = 0x8fe9 + +const GL_INT64_VEC3_ARB = 0x8fea + +const GL_INT64_VEC4_ARB = 0x8feb + +const GL_UNSIGNED_INT64_VEC2_ARB = 0x8ff5 + +const GL_UNSIGNED_INT64_VEC3_ARB = 0x8ff6 + +const GL_UNSIGNED_INT64_VEC4_ARB = 0x8ff7 + +const GL_ARB_half_float_vertex = 1 + +const GL_ARB_imaging = 1 + +const GL_ARB_indirect_parameters = 1 + +const GL_PARAMETER_BUFFER_ARB = 0x80ee + +const GL_PARAMETER_BUFFER_BINDING_ARB = 0x80ef + +const GL_ARB_instanced_arrays = 1 + +const GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB = 0x88fe + +const GL_ARB_internalformat_query = 1 + +const GL_ARB_internalformat_query2 = 1 + +const GL_SRGB_DECODE_ARB = 0x8299 + +const GL_VIEW_CLASS_EAC_R11 = 0x9383 + +const GL_VIEW_CLASS_EAC_RG11 = 0x9384 + +const GL_VIEW_CLASS_ETC2_RGB = 0x9385 + +const GL_VIEW_CLASS_ETC2_RGBA = 0x9386 + +const GL_VIEW_CLASS_ETC2_EAC_RGBA = 0x9387 + +const GL_VIEW_CLASS_ASTC_4x4_RGBA = 0x9388 + +const GL_VIEW_CLASS_ASTC_5x4_RGBA = 0x9389 + +const GL_VIEW_CLASS_ASTC_5x5_RGBA = 0x938a + +const GL_VIEW_CLASS_ASTC_6x5_RGBA = 0x938b + +const GL_VIEW_CLASS_ASTC_6x6_RGBA = 0x938c + +const GL_VIEW_CLASS_ASTC_8x5_RGBA = 0x938d + +const GL_VIEW_CLASS_ASTC_8x6_RGBA = 0x938e + +const GL_VIEW_CLASS_ASTC_8x8_RGBA = 0x938f + +const GL_VIEW_CLASS_ASTC_10x5_RGBA = 0x9390 + +const GL_VIEW_CLASS_ASTC_10x6_RGBA = 0x9391 + +const GL_VIEW_CLASS_ASTC_10x8_RGBA = 0x9392 + +const GL_VIEW_CLASS_ASTC_10x10_RGBA = 0x9393 + +const GL_VIEW_CLASS_ASTC_12x10_RGBA = 0x9394 + +const GL_VIEW_CLASS_ASTC_12x12_RGBA = 0x9395 + +const GL_ARB_invalidate_subdata = 1 + +const GL_ARB_map_buffer_alignment = 1 + +const GL_ARB_map_buffer_range = 1 + +const GL_ARB_multi_bind = 1 + +const GL_ARB_multi_draw_indirect = 1 + +const GL_ARB_occlusion_query2 = 1 + +const GL_ARB_parallel_shader_compile = 1 + +const GL_MAX_SHADER_COMPILER_THREADS_ARB = 0x91b0 + +const GL_COMPLETION_STATUS_ARB = 0x91b1 + +const GL_ARB_pipeline_statistics_query = 1 + +const GL_VERTICES_SUBMITTED_ARB = 0x82ee + +const GL_PRIMITIVES_SUBMITTED_ARB = 0x82ef + +const GL_VERTEX_SHADER_INVOCATIONS_ARB = 0x82f0 + +const GL_TESS_CONTROL_SHADER_PATCHES_ARB = 0x82f1 + +const GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB = 0x82f2 + +const GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB = 0x82f3 + +const GL_FRAGMENT_SHADER_INVOCATIONS_ARB = 0x82f4 + +const GL_COMPUTE_SHADER_INVOCATIONS_ARB = 0x82f5 + +const GL_CLIPPING_INPUT_PRIMITIVES_ARB = 0x82f6 + +const GL_CLIPPING_OUTPUT_PRIMITIVES_ARB = 0x82f7 + +const GL_ARB_pixel_buffer_object = 1 + +const GL_PIXEL_PACK_BUFFER_ARB = 0x88eb + +const GL_PIXEL_UNPACK_BUFFER_ARB = 0x88ec + +const GL_PIXEL_PACK_BUFFER_BINDING_ARB = 0x88ed + +const GL_PIXEL_UNPACK_BUFFER_BINDING_ARB = 0x88ef + +const GL_ARB_polygon_offset_clamp = 1 + +const GL_ARB_post_depth_coverage = 1 + +const GL_ARB_program_interface_query = 1 + +const GL_ARB_provoking_vertex = 1 + +const GL_ARB_query_buffer_object = 1 + +const GL_ARB_robust_buffer_access_behavior = 1 + +const GL_ARB_robustness = 1 + +const GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB = 0x00000004 + +const GL_LOSE_CONTEXT_ON_RESET_ARB = 0x8252 + +const GL_GUILTY_CONTEXT_RESET_ARB = 0x8253 + +const GL_INNOCENT_CONTEXT_RESET_ARB = 0x8254 + +const GL_UNKNOWN_CONTEXT_RESET_ARB = 0x8255 + +const GL_RESET_NOTIFICATION_STRATEGY_ARB = 0x8256 + +const GL_NO_RESET_NOTIFICATION_ARB = 0x8261 + +const GL_ARB_robustness_isolation = 1 + +const GL_ARB_sample_locations = 1 + +const GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB = 0x933d + +const GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB = 0x933e + +const GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB = 0x933f + +const GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB = 0x9340 + +const GL_SAMPLE_LOCATION_ARB = 0x8e50 + +const GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB = 0x9341 + +const GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB = 0x9342 + +const GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB = 0x9343 + +const GL_ARB_sample_shading = 1 + +const GL_SAMPLE_SHADING_ARB = 0x8c36 + +const GL_MIN_SAMPLE_SHADING_VALUE_ARB = 0x8c37 + +const GL_ARB_sampler_objects = 1 + +const GL_ARB_seamless_cube_map = 1 + +const GL_ARB_seamless_cubemap_per_texture = 1 + +const GL_ARB_separate_shader_objects = 1 + +const GL_ARB_shader_atomic_counter_ops = 1 + +const GL_ARB_shader_atomic_counters = 1 + +const GL_ARB_shader_ballot = 1 + +const GL_ARB_shader_bit_encoding = 1 + +const GL_ARB_shader_clock = 1 + +const GL_ARB_shader_draw_parameters = 1 + +const GL_ARB_shader_group_vote = 1 + +const GL_ARB_shader_image_load_store = 1 + +const GL_ARB_shader_image_size = 1 + +const GL_ARB_shader_precision = 1 + +const GL_ARB_shader_stencil_export = 1 + +const GL_ARB_shader_storage_buffer_object = 1 + +const GL_ARB_shader_subroutine = 1 + +const GL_ARB_shader_texture_image_samples = 1 + +const GL_ARB_shader_viewport_layer_array = 1 + +const GL_ARB_shading_language_420pack = 1 + +const GL_ARB_shading_language_include = 1 + +const GL_SHADER_INCLUDE_ARB = 0x8dae + +const GL_NAMED_STRING_LENGTH_ARB = 0x8de9 + +const GL_NAMED_STRING_TYPE_ARB = 0x8dea + +const GL_ARB_shading_language_packing = 1 + +const GL_ARB_sparse_buffer = 1 + +const GL_SPARSE_STORAGE_BIT_ARB = 0x0400 + +const GL_SPARSE_BUFFER_PAGE_SIZE_ARB = 0x82f8 + +const GL_ARB_sparse_texture = 1 + +const GL_TEXTURE_SPARSE_ARB = 0x91a6 + +const GL_VIRTUAL_PAGE_SIZE_INDEX_ARB = 0x91a7 + +const GL_NUM_SPARSE_LEVELS_ARB = 0x91aa + +const GL_NUM_VIRTUAL_PAGE_SIZES_ARB = 0x91a8 + +const GL_VIRTUAL_PAGE_SIZE_X_ARB = 0x9195 + +const GL_VIRTUAL_PAGE_SIZE_Y_ARB = 0x9196 + +const GL_VIRTUAL_PAGE_SIZE_Z_ARB = 0x9197 + +const GL_MAX_SPARSE_TEXTURE_SIZE_ARB = 0x9198 + +const GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB = 0x9199 + +const GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB = 0x919a + +const GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB = 0x91a9 + +const GL_ARB_sparse_texture2 = 1 + +const GL_ARB_sparse_texture_clamp = 1 + +const GL_ARB_spirv_extensions = 1 + +const GL_ARB_stencil_texturing = 1 + +const GL_ARB_sync = 1 + +const GL_ARB_tessellation_shader = 1 + +const GL_ARB_texture_barrier = 1 + +const GL_ARB_texture_border_clamp = 1 + +const GL_CLAMP_TO_BORDER_ARB = 0x812d + +const GL_ARB_texture_buffer_object = 1 + +const GL_TEXTURE_BUFFER_ARB = 0x8c2a + +const GL_MAX_TEXTURE_BUFFER_SIZE_ARB = 0x8c2b + +const GL_TEXTURE_BINDING_BUFFER_ARB = 0x8c2c + +const GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB = 0x8c2d + +const GL_TEXTURE_BUFFER_FORMAT_ARB = 0x8c2e + +const GL_ARB_texture_buffer_object_rgb32 = 1 + +const GL_ARB_texture_buffer_range = 1 + +const GL_ARB_texture_compression_bptc = 1 + +const GL_COMPRESSED_RGBA_BPTC_UNORM_ARB = 0x8e8c + +const GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB = 0x8e8d + +const GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB = 0x8e8e + +const GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB = 0x8e8f + +const GL_ARB_texture_compression_rgtc = 1 + +const GL_ARB_texture_cube_map_array = 1 + +const GL_TEXTURE_CUBE_MAP_ARRAY_ARB = 0x9009 + +const GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB = 0x900a + +const GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB = 0x900b + +const GL_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900c + +const GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB = 0x900d + +const GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900e + +const GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900f + +const GL_ARB_texture_filter_anisotropic = 1 + +const GL_ARB_texture_filter_minmax = 1 + +const GL_TEXTURE_REDUCTION_MODE_ARB = 0x9366 + +const GL_WEIGHTED_AVERAGE_ARB = 0x9367 + +const GL_ARB_texture_gather = 1 + +const GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8e5e + +const GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8e5f + +const GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB = 0x8f9f + +const GL_ARB_texture_mirror_clamp_to_edge = 1 + +const GL_ARB_texture_mirrored_repeat = 1 + +const GL_MIRRORED_REPEAT_ARB = 0x8370 + +const GL_ARB_texture_multisample = 1 + +const GL_ARB_texture_non_power_of_two = 1 + +const GL_ARB_texture_query_levels = 1 + +const GL_ARB_texture_query_lod = 1 + +const GL_ARB_texture_rg = 1 + +const GL_ARB_texture_rgb10_a2ui = 1 + +const GL_ARB_texture_stencil8 = 1 + +const GL_ARB_texture_storage = 1 + +const GL_ARB_texture_storage_multisample = 1 + +const GL_ARB_texture_swizzle = 1 + +const GL_ARB_texture_view = 1 + +const GL_ARB_timer_query = 1 + +const GL_ARB_transform_feedback2 = 1 + +const GL_ARB_transform_feedback3 = 1 + +const GL_ARB_transform_feedback_instanced = 1 + +const GL_ARB_transform_feedback_overflow_query = 1 + +const GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB = 0x82ec + +const GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB = 0x82ed + +const GL_ARB_uniform_buffer_object = 1 + +const GL_ARB_vertex_array_bgra = 1 + +const GL_ARB_vertex_array_object = 1 + +const GL_ARB_vertex_attrib_64bit = 1 + +const GL_ARB_vertex_attrib_binding = 1 + +const GL_ARB_vertex_type_10f_11f_11f_rev = 1 + +const GL_ARB_vertex_type_2_10_10_10_rev = 1 + +const GL_ARB_viewport_array = 1 + +const GL_KHR_blend_equation_advanced = 1 + +const GL_MULTIPLY_KHR = 0x9294 + +const GL_SCREEN_KHR = 0x9295 + +const GL_OVERLAY_KHR = 0x9296 + +const GL_DARKEN_KHR = 0x9297 + +const GL_LIGHTEN_KHR = 0x9298 + +const GL_COLORDODGE_KHR = 0x9299 + +const GL_COLORBURN_KHR = 0x929a + +const GL_HARDLIGHT_KHR = 0x929b + +const GL_SOFTLIGHT_KHR = 0x929c + +const GL_DIFFERENCE_KHR = 0x929e + +const GL_EXCLUSION_KHR = 0x92a0 + +const GL_HSL_HUE_KHR = 0x92ad + +const GL_HSL_SATURATION_KHR = 0x92ae + +const GL_HSL_COLOR_KHR = 0x92af + +const GL_HSL_LUMINOSITY_KHR = 0x92b0 + +const GL_KHR_blend_equation_advanced_coherent = 1 + +const GL_BLEND_ADVANCED_COHERENT_KHR = 0x9285 + +const GL_KHR_context_flush_control = 1 + +const GL_KHR_debug = 1 + +const GL_KHR_no_error = 1 + +const GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR = 0x00000008 + +const GL_KHR_parallel_shader_compile = 1 + +const GL_MAX_SHADER_COMPILER_THREADS_KHR = 0x91b0 + +const GL_COMPLETION_STATUS_KHR = 0x91b1 + +const GL_KHR_robust_buffer_access_behavior = 1 + +const GL_KHR_robustness = 1 + +const GL_CONTEXT_ROBUST_ACCESS = 0x90f3 + +const GL_KHR_shader_subgroup = 1 + +const GL_SUBGROUP_SIZE_KHR = 0x9532 + +const GL_SUBGROUP_SUPPORTED_STAGES_KHR = 0x9533 + +const GL_SUBGROUP_SUPPORTED_FEATURES_KHR = 0x9534 + +const GL_SUBGROUP_QUAD_ALL_STAGES_KHR = 0x9535 + +const GL_SUBGROUP_FEATURE_BASIC_BIT_KHR = 0x00000001 + +const GL_SUBGROUP_FEATURE_VOTE_BIT_KHR = 0x00000002 + +const GL_SUBGROUP_FEATURE_ARITHMETIC_BIT_KHR = 0x00000004 + +const GL_SUBGROUP_FEATURE_BALLOT_BIT_KHR = 0x00000008 + +const GL_SUBGROUP_FEATURE_SHUFFLE_BIT_KHR = 0x00000010 + +const GL_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT_KHR = 0x00000020 + +const GL_SUBGROUP_FEATURE_CLUSTERED_BIT_KHR = 0x00000040 + +const GL_SUBGROUP_FEATURE_QUAD_BIT_KHR = 0x00000080 + +const GL_KHR_texture_compression_astc_hdr = 1 + +const GL_COMPRESSED_RGBA_ASTC_4x4_KHR = 0x93b0 + +const GL_COMPRESSED_RGBA_ASTC_5x4_KHR = 0x93b1 + +const GL_COMPRESSED_RGBA_ASTC_5x5_KHR = 0x93b2 + +const GL_COMPRESSED_RGBA_ASTC_6x5_KHR = 0x93b3 + +const GL_COMPRESSED_RGBA_ASTC_6x6_KHR = 0x93b4 + +const GL_COMPRESSED_RGBA_ASTC_8x5_KHR = 0x93b5 + +const GL_COMPRESSED_RGBA_ASTC_8x6_KHR = 0x93b6 + +const GL_COMPRESSED_RGBA_ASTC_8x8_KHR = 0x93b7 + +const GL_COMPRESSED_RGBA_ASTC_10x5_KHR = 0x93b8 + +const GL_COMPRESSED_RGBA_ASTC_10x6_KHR = 0x93b9 + +const GL_COMPRESSED_RGBA_ASTC_10x8_KHR = 0x93ba + +const GL_COMPRESSED_RGBA_ASTC_10x10_KHR = 0x93bb + +const GL_COMPRESSED_RGBA_ASTC_12x10_KHR = 0x93bc + +const GL_COMPRESSED_RGBA_ASTC_12x12_KHR = 0x93bd + +const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR = 0x93d0 + +const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR = 0x93d1 + +const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR = 0x93d2 + +const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR = 0x93d3 + +const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR = 0x93d4 + +const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = 0x93d5 + +const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = 0x93d6 + +const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR = 0x93d7 + +const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = 0x93d8 + +const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = 0x93d9 + +const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = 0x93da + +const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = 0x93db + +const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = 0x93dc + +const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = 0x93dd + +const GL_KHR_texture_compression_astc_ldr = 1 + +const GL_KHR_texture_compression_astc_sliced_3d = 1 + +const GL_AMD_framebuffer_multisample_advanced = 1 + +const GL_RENDERBUFFER_STORAGE_SAMPLES_AMD = 0x91b2 + +const GL_MAX_COLOR_FRAMEBUFFER_SAMPLES_AMD = 0x91b3 + +const GL_MAX_COLOR_FRAMEBUFFER_STORAGE_SAMPLES_AMD = 0x91b4 + +const GL_MAX_DEPTH_STENCIL_FRAMEBUFFER_SAMPLES_AMD = 0x91b5 + +const GL_NUM_SUPPORTED_MULTISAMPLE_MODES_AMD = 0x91b6 + +const GL_SUPPORTED_MULTISAMPLE_MODES_AMD = 0x91b7 + +const GL_AMD_performance_monitor = 1 + +const GL_COUNTER_TYPE_AMD = 0x8bc0 + +const GL_COUNTER_RANGE_AMD = 0x8bc1 + +const GL_UNSIGNED_INT64_AMD = 0x8bc2 + +const GL_PERCENTAGE_AMD = 0x8bc3 + +const GL_PERFMON_RESULT_AVAILABLE_AMD = 0x8bc4 + +const GL_PERFMON_RESULT_SIZE_AMD = 0x8bc5 + +const GL_PERFMON_RESULT_AMD = 0x8bc6 + +const GL_APPLE_rgb_422 = 1 + +const GL_RGB_422_APPLE = 0x8a1f + +const GL_UNSIGNED_SHORT_8_8_APPLE = 0x85ba + +const GL_UNSIGNED_SHORT_8_8_REV_APPLE = 0x85bb + +const GL_RGB_RAW_422_APPLE = 0x8a51 + +const GL_EXT_EGL_image_storage = 1 + +const GL_EXT_EGL_sync = 1 + +const GL_EXT_debug_label = 1 + +const GL_PROGRAM_PIPELINE_OBJECT_EXT = 0x8a4f + +const GL_PROGRAM_OBJECT_EXT = 0x8b40 + +const GL_SHADER_OBJECT_EXT = 0x8b48 + +const GL_BUFFER_OBJECT_EXT = 0x9151 + +const GL_QUERY_OBJECT_EXT = 0x9153 + +const GL_VERTEX_ARRAY_OBJECT_EXT = 0x9154 + +const GL_EXT_debug_marker = 1 + +const GL_EXT_direct_state_access = 1 + +const GL_PROGRAM_MATRIX_EXT = 0x8e2d + +const GL_TRANSPOSE_PROGRAM_MATRIX_EXT = 0x8e2e + +const GL_PROGRAM_MATRIX_STACK_DEPTH_EXT = 0x8e2f + +const GL_EXT_draw_instanced = 1 + +const GL_EXT_multiview_tessellation_geometry_shader = 1 + +const GL_EXT_multiview_texture_multisample = 1 + +const GL_EXT_multiview_timer_query = 1 + +const GL_EXT_polygon_offset_clamp = 1 + +const GL_POLYGON_OFFSET_CLAMP_EXT = 0x8e1b + +const GL_EXT_post_depth_coverage = 1 + +const GL_EXT_raster_multisample = 1 + +const GL_RASTER_MULTISAMPLE_EXT = 0x9327 + +const GL_RASTER_SAMPLES_EXT = 0x9328 + +const GL_MAX_RASTER_SAMPLES_EXT = 0x9329 + +const GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT = 0x932a + +const GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT = 0x932b + +const GL_EFFECTIVE_RASTER_SAMPLES_EXT = 0x932c + +const GL_EXT_separate_shader_objects = 1 + +const GL_ACTIVE_PROGRAM_EXT = 0x8b8d + +const GL_EXT_shader_framebuffer_fetch = 1 + +const GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT = 0x8a52 + +const GL_EXT_shader_framebuffer_fetch_non_coherent = 1 + +const GL_EXT_shader_integer_mix = 1 + +const GL_EXT_texture_compression_s3tc = 1 + +const GL_COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83f0 + +const GL_COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83f1 + +const GL_COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83f2 + +const GL_COMPRESSED_RGBA_S3TC_DXT5_EXT = 0x83f3 + +const GL_EXT_texture_filter_minmax = 1 + +const GL_TEXTURE_REDUCTION_MODE_EXT = 0x9366 + +const GL_WEIGHTED_AVERAGE_EXT = 0x9367 + +const GL_EXT_texture_sRGB_R8 = 1 + +const GL_SR8_EXT = 0x8fbd + +const GL_EXT_texture_sRGB_RG8 = 1 + +const GL_SRG8_EXT = 0x8fbe + +const GL_EXT_texture_sRGB_decode = 1 + +const GL_TEXTURE_SRGB_DECODE_EXT = 0x8a48 + +const GL_DECODE_EXT = 0x8a49 + +const GL_SKIP_DECODE_EXT = 0x8a4a + +const GL_EXT_texture_shadow_lod = 1 + +const GL_EXT_texture_storage = 1 + +const GL_TEXTURE_IMMUTABLE_FORMAT_EXT = 0x912f + +const GL_ALPHA8_EXT = 0x803c + +const GL_LUMINANCE8_EXT = 0x8040 + +const GL_LUMINANCE8_ALPHA8_EXT = 0x8045 + +const GL_RGBA32F_EXT = 0x8814 + +const GL_RGB32F_EXT = 0x8815 + +const GL_ALPHA32F_EXT = 0x8816 + +const GL_LUMINANCE32F_EXT = 0x8818 + +const GL_LUMINANCE_ALPHA32F_EXT = 0x8819 + +const GL_RGBA16F_EXT = 0x881a + +const GL_RGB16F_EXT = 0x881b + +const GL_ALPHA16F_EXT = 0x881c + +const GL_LUMINANCE16F_EXT = 0x881e + +const GL_LUMINANCE_ALPHA16F_EXT = 0x881f + +const GL_RGB10_A2_EXT = 0x8059 + +const GL_RGB10_EXT = 0x8052 + +const GL_BGRA8_EXT = 0x93a1 + +const GL_R8_EXT = 0x8229 + +const GL_RG8_EXT = 0x822b + +const GL_R32F_EXT = 0x822e + +const GL_RG32F_EXT = 0x8230 + +const GL_R16F_EXT = 0x822d + +const GL_RG16F_EXT = 0x822f + +const GL_EXT_window_rectangles = 1 + +const GL_INCLUSIVE_EXT = 0x8f10 + +const GL_EXCLUSIVE_EXT = 0x8f11 + +const GL_WINDOW_RECTANGLE_EXT = 0x8f12 + +const GL_WINDOW_RECTANGLE_MODE_EXT = 0x8f13 + +const GL_MAX_WINDOW_RECTANGLES_EXT = 0x8f14 + +const GL_NUM_WINDOW_RECTANGLES_EXT = 0x8f15 + +const GL_INTEL_blackhole_render = 1 + +const GL_BLACKHOLE_RENDER_INTEL = 0x83fc + +const GL_INTEL_conservative_rasterization = 1 + +const GL_CONSERVATIVE_RASTERIZATION_INTEL = 0x83fe + +const GL_INTEL_framebuffer_CMAA = 1 + +const GL_INTEL_performance_query = 1 + +const GL_PERFQUERY_SINGLE_CONTEXT_INTEL = 0x00000000 + +const GL_PERFQUERY_GLOBAL_CONTEXT_INTEL = 0x00000001 + +const GL_PERFQUERY_WAIT_INTEL = 0x83fb + +const GL_PERFQUERY_FLUSH_INTEL = 0x83fa + +const GL_PERFQUERY_DONOT_FLUSH_INTEL = 0x83f9 + +const GL_PERFQUERY_COUNTER_EVENT_INTEL = 0x94f0 + +const GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL = 0x94f1 + +const GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL = 0x94f2 + +const GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL = 0x94f3 + +const GL_PERFQUERY_COUNTER_RAW_INTEL = 0x94f4 + +const GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL = 0x94f5 + +const GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL = 0x94f8 + +const GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL = 0x94f9 + +const GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL = 0x94fa + +const GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL = 0x94fb + +const GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL = 0x94fc + +const GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL = 0x94fd + +const GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL = 0x94fe + +const GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL = 0x94ff + +const GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL = 0x9500 + +const GL_MESA_framebuffer_flip_x = 1 + +const GL_FRAMEBUFFER_FLIP_X_MESA = 0x8bbc + +const GL_MESA_framebuffer_flip_y = 1 + +const GL_FRAMEBUFFER_FLIP_Y_MESA = 0x8bbb + +const GL_MESA_framebuffer_swap_xy = 1 + +const GL_FRAMEBUFFER_SWAP_XY_MESA = 0x8bbd + +const GL_NV_bindless_multi_draw_indirect = 1 + +const GL_NV_bindless_multi_draw_indirect_count = 1 + +const GL_NV_bindless_texture = 1 + +const GL_NV_blend_equation_advanced = 1 + +const GL_BLEND_OVERLAP_NV = 0x9281 + +const GL_BLEND_PREMULTIPLIED_SRC_NV = 0x9280 + +const GL_BLUE_NV = 0x1905 + +const GL_COLORBURN_NV = 0x929a + +const GL_COLORDODGE_NV = 0x9299 + +const GL_CONJOINT_NV = 0x9284 + +const GL_CONTRAST_NV = 0x92a1 + +const GL_DARKEN_NV = 0x9297 + +const GL_DIFFERENCE_NV = 0x929e + +const GL_DISJOINT_NV = 0x9283 + +const GL_DST_ATOP_NV = 0x928f + +const GL_DST_IN_NV = 0x928b + +const GL_DST_NV = 0x9287 + +const GL_DST_OUT_NV = 0x928d + +const GL_DST_OVER_NV = 0x9289 + +const GL_EXCLUSION_NV = 0x92a0 + +const GL_GREEN_NV = 0x1904 + +const GL_HARDLIGHT_NV = 0x929b + +const GL_HARDMIX_NV = 0x92a9 + +const GL_HSL_COLOR_NV = 0x92af + +const GL_HSL_HUE_NV = 0x92ad + +const GL_HSL_LUMINOSITY_NV = 0x92b0 + +const GL_HSL_SATURATION_NV = 0x92ae + +const GL_INVERT_OVG_NV = 0x92b4 + +const GL_INVERT_RGB_NV = 0x92a3 + +const GL_LIGHTEN_NV = 0x9298 + +const GL_LINEARBURN_NV = 0x92a5 + +const GL_LINEARDODGE_NV = 0x92a4 + +const GL_LINEARLIGHT_NV = 0x92a7 + +const GL_MINUS_CLAMPED_NV = 0x92b3 + +const GL_MINUS_NV = 0x929f + +const GL_MULTIPLY_NV = 0x9294 + +const GL_OVERLAY_NV = 0x9296 + +const GL_PINLIGHT_NV = 0x92a8 + +const GL_PLUS_CLAMPED_ALPHA_NV = 0x92b2 + +const GL_PLUS_CLAMPED_NV = 0x92b1 + +const GL_PLUS_DARKER_NV = 0x9292 + +const GL_PLUS_NV = 0x9291 + +const GL_RED_NV = 0x1903 + +const GL_SCREEN_NV = 0x9295 + +const GL_SOFTLIGHT_NV = 0x929c + +const GL_SRC_ATOP_NV = 0x928e + +const GL_SRC_IN_NV = 0x928a + +const GL_SRC_NV = 0x9286 + +const GL_SRC_OUT_NV = 0x928c + +const GL_SRC_OVER_NV = 0x9288 + +const GL_UNCORRELATED_NV = 0x9282 + +const GL_VIVIDLIGHT_NV = 0x92a6 + +const GL_XOR_NV = 0x1506 + +const GL_NV_blend_equation_advanced_coherent = 1 + +const GL_BLEND_ADVANCED_COHERENT_NV = 0x9285 + +const GL_NV_blend_minmax_factor = 1 + +const GL_FACTOR_MIN_AMD = 0x901c + +const GL_FACTOR_MAX_AMD = 0x901d + +const GL_NV_clip_space_w_scaling = 1 + +const GL_VIEWPORT_POSITION_W_SCALE_NV = 0x937c + +const GL_VIEWPORT_POSITION_W_SCALE_X_COEFF_NV = 0x937d + +const GL_VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV = 0x937e + +const GL_NV_command_list = 1 + +const GL_TERMINATE_SEQUENCE_COMMAND_NV = 0x0000 + +const GL_NOP_COMMAND_NV = 0x0001 + +const GL_DRAW_ELEMENTS_COMMAND_NV = 0x0002 + +const GL_DRAW_ARRAYS_COMMAND_NV = 0x0003 + +const GL_DRAW_ELEMENTS_STRIP_COMMAND_NV = 0x0004 + +const GL_DRAW_ARRAYS_STRIP_COMMAND_NV = 0x0005 + +const GL_DRAW_ELEMENTS_INSTANCED_COMMAND_NV = 0x0006 + +const GL_DRAW_ARRAYS_INSTANCED_COMMAND_NV = 0x0007 + +const GL_ELEMENT_ADDRESS_COMMAND_NV = 0x0008 + +const GL_ATTRIBUTE_ADDRESS_COMMAND_NV = 0x0009 + +const GL_UNIFORM_ADDRESS_COMMAND_NV = 0x000a + +const GL_BLEND_COLOR_COMMAND_NV = 0x000b + +const GL_STENCIL_REF_COMMAND_NV = 0x000c + +const GL_LINE_WIDTH_COMMAND_NV = 0x000d + +const GL_POLYGON_OFFSET_COMMAND_NV = 0x000e + +const GL_ALPHA_REF_COMMAND_NV = 0x000f + +const GL_VIEWPORT_COMMAND_NV = 0x0010 + +const GL_SCISSOR_COMMAND_NV = 0x0011 + +const GL_FRONT_FACE_COMMAND_NV = 0x0012 + +const GL_NV_compute_shader_derivatives = 1 + +const GL_NV_conditional_render = 1 + +const GL_QUERY_WAIT_NV = 0x8e13 + +const GL_QUERY_NO_WAIT_NV = 0x8e14 + +const GL_QUERY_BY_REGION_WAIT_NV = 0x8e15 + +const GL_QUERY_BY_REGION_NO_WAIT_NV = 0x8e16 + +const GL_NV_conservative_raster = 1 + +const GL_CONSERVATIVE_RASTERIZATION_NV = 0x9346 + +const GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV = 0x9347 + +const GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV = 0x9348 + +const GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV = 0x9349 + +const GL_NV_conservative_raster_dilate = 1 + +const GL_CONSERVATIVE_RASTER_DILATE_NV = 0x9379 + +const GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV = 0x937a + +const GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV = 0x937b + +const GL_NV_conservative_raster_pre_snap = 1 + +const GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_NV = 0x9550 + +const GL_NV_conservative_raster_pre_snap_triangles = 1 + +const GL_CONSERVATIVE_RASTER_MODE_NV = 0x954d + +const GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV = 0x954e + +const GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV = 0x954f + +const GL_NV_conservative_raster_underestimation = 1 + +const GL_NV_depth_buffer_float = 1 + +const GL_DEPTH_COMPONENT32F_NV = 0x8dab + +const GL_DEPTH32F_STENCIL8_NV = 0x8dac + +const GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV = 0x8dad + +const GL_DEPTH_BUFFER_FLOAT_MODE_NV = 0x8daf + +const GL_NV_draw_vulkan_image = 1 + +const GL_NV_fill_rectangle = 1 + +const GL_FILL_RECTANGLE_NV = 0x933c + +const GL_NV_fragment_coverage_to_color = 1 + +const GL_FRAGMENT_COVERAGE_TO_COLOR_NV = 0x92dd + +const GL_FRAGMENT_COVERAGE_COLOR_NV = 0x92de + +const GL_NV_fragment_shader_barycentric = 1 + +const GL_NV_fragment_shader_interlock = 1 + +const GL_NV_framebuffer_mixed_samples = 1 + +const GL_COVERAGE_MODULATION_TABLE_NV = 0x9331 + +const GL_COLOR_SAMPLES_NV = 0x8e20 + +const GL_DEPTH_SAMPLES_NV = 0x932d + +const GL_STENCIL_SAMPLES_NV = 0x932e + +const GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV = 0x932f + +const GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV = 0x9330 + +const GL_COVERAGE_MODULATION_NV = 0x9332 + +const GL_COVERAGE_MODULATION_TABLE_SIZE_NV = 0x9333 + +const GL_NV_framebuffer_multisample_coverage = 1 + +const GL_RENDERBUFFER_COVERAGE_SAMPLES_NV = 0x8cab + +const GL_RENDERBUFFER_COLOR_SAMPLES_NV = 0x8e10 + +const GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV = 0x8e11 + +const GL_MULTISAMPLE_COVERAGE_MODES_NV = 0x8e12 + +const GL_NV_geometry_shader_passthrough = 1 + +const GL_NV_gpu_shader5 = 1 + +const GL_INT64_NV = 0x140e + +const GL_UNSIGNED_INT64_NV = 0x140f + +const GL_INT8_NV = 0x8fe0 + +const GL_INT8_VEC2_NV = 0x8fe1 + +const GL_INT8_VEC3_NV = 0x8fe2 + +const GL_INT8_VEC4_NV = 0x8fe3 + +const GL_INT16_NV = 0x8fe4 + +const GL_INT16_VEC2_NV = 0x8fe5 + +const GL_INT16_VEC3_NV = 0x8fe6 + +const GL_INT16_VEC4_NV = 0x8fe7 + +const GL_INT64_VEC2_NV = 0x8fe9 + +const GL_INT64_VEC3_NV = 0x8fea + +const GL_INT64_VEC4_NV = 0x8feb + +const GL_UNSIGNED_INT8_NV = 0x8fec + +const GL_UNSIGNED_INT8_VEC2_NV = 0x8fed + +const GL_UNSIGNED_INT8_VEC3_NV = 0x8fee + +const GL_UNSIGNED_INT8_VEC4_NV = 0x8fef + +const GL_UNSIGNED_INT16_NV = 0x8ff0 + +const GL_UNSIGNED_INT16_VEC2_NV = 0x8ff1 + +const GL_UNSIGNED_INT16_VEC3_NV = 0x8ff2 + +const GL_UNSIGNED_INT16_VEC4_NV = 0x8ff3 + +const GL_UNSIGNED_INT64_VEC2_NV = 0x8ff5 + +const GL_UNSIGNED_INT64_VEC3_NV = 0x8ff6 + +const GL_UNSIGNED_INT64_VEC4_NV = 0x8ff7 + +const GL_FLOAT16_NV = 0x8ff8 + +const GL_FLOAT16_VEC2_NV = 0x8ff9 + +const GL_FLOAT16_VEC3_NV = 0x8ffa + +const GL_FLOAT16_VEC4_NV = 0x8ffb + +const GL_NV_internalformat_sample_query = 1 + +const GL_MULTISAMPLES_NV = 0x9371 + +const GL_SUPERSAMPLE_SCALE_X_NV = 0x9372 + +const GL_SUPERSAMPLE_SCALE_Y_NV = 0x9373 + +const GL_CONFORMANT_NV = 0x9374 + +const GL_NV_memory_attachment = 1 + +const GL_ATTACHED_MEMORY_OBJECT_NV = 0x95a4 + +const GL_ATTACHED_MEMORY_OFFSET_NV = 0x95a5 + +const GL_MEMORY_ATTACHABLE_ALIGNMENT_NV = 0x95a6 + +const GL_MEMORY_ATTACHABLE_SIZE_NV = 0x95a7 + +const GL_MEMORY_ATTACHABLE_NV = 0x95a8 + +const GL_DETACHED_MEMORY_INCARNATION_NV = 0x95a9 + +const GL_DETACHED_TEXTURES_NV = 0x95aa + +const GL_DETACHED_BUFFERS_NV = 0x95ab + +const GL_MAX_DETACHED_TEXTURES_NV = 0x95ac + +const GL_MAX_DETACHED_BUFFERS_NV = 0x95ad + +const GL_NV_memory_object_sparse = 1 + +const GL_NV_mesh_shader = 1 + +const GL_MESH_SHADER_NV = 0x9559 + +const GL_TASK_SHADER_NV = 0x955a + +const GL_MAX_MESH_UNIFORM_BLOCKS_NV = 0x8e60 + +const GL_MAX_MESH_TEXTURE_IMAGE_UNITS_NV = 0x8e61 + +const GL_MAX_MESH_IMAGE_UNIFORMS_NV = 0x8e62 + +const GL_MAX_MESH_UNIFORM_COMPONENTS_NV = 0x8e63 + +const GL_MAX_MESH_ATOMIC_COUNTER_BUFFERS_NV = 0x8e64 + +const GL_MAX_MESH_ATOMIC_COUNTERS_NV = 0x8e65 + +const GL_MAX_MESH_SHADER_STORAGE_BLOCKS_NV = 0x8e66 + +const GL_MAX_COMBINED_MESH_UNIFORM_COMPONENTS_NV = 0x8e67 + +const GL_MAX_TASK_UNIFORM_BLOCKS_NV = 0x8e68 + +const GL_MAX_TASK_TEXTURE_IMAGE_UNITS_NV = 0x8e69 + +const GL_MAX_TASK_IMAGE_UNIFORMS_NV = 0x8e6a + +const GL_MAX_TASK_UNIFORM_COMPONENTS_NV = 0x8e6b + +const GL_MAX_TASK_ATOMIC_COUNTER_BUFFERS_NV = 0x8e6c + +const GL_MAX_TASK_ATOMIC_COUNTERS_NV = 0x8e6d + +const GL_MAX_TASK_SHADER_STORAGE_BLOCKS_NV = 0x8e6e + +const GL_MAX_COMBINED_TASK_UNIFORM_COMPONENTS_NV = 0x8e6f + +const GL_MAX_MESH_WORK_GROUP_INVOCATIONS_NV = 0x95a2 + +const GL_MAX_TASK_WORK_GROUP_INVOCATIONS_NV = 0x95a3 + +const GL_MAX_MESH_TOTAL_MEMORY_SIZE_NV = 0x9536 + +const GL_MAX_TASK_TOTAL_MEMORY_SIZE_NV = 0x9537 + +const GL_MAX_MESH_OUTPUT_VERTICES_NV = 0x9538 + +const GL_MAX_MESH_OUTPUT_PRIMITIVES_NV = 0x9539 + +const GL_MAX_TASK_OUTPUT_COUNT_NV = 0x953a + +const GL_MAX_DRAW_MESH_TASKS_COUNT_NV = 0x953d + +const GL_MAX_MESH_VIEWS_NV = 0x9557 + +const GL_MESH_OUTPUT_PER_VERTEX_GRANULARITY_NV = 0x92df + +const GL_MESH_OUTPUT_PER_PRIMITIVE_GRANULARITY_NV = 0x9543 + +const GL_MAX_MESH_WORK_GROUP_SIZE_NV = 0x953b + +const GL_MAX_TASK_WORK_GROUP_SIZE_NV = 0x953c + +const GL_MESH_WORK_GROUP_SIZE_NV = 0x953e + +const GL_TASK_WORK_GROUP_SIZE_NV = 0x953f + +const GL_MESH_VERTICES_OUT_NV = 0x9579 + +const GL_MESH_PRIMITIVES_OUT_NV = 0x957a + +const GL_MESH_OUTPUT_TYPE_NV = 0x957b + +const GL_UNIFORM_BLOCK_REFERENCED_BY_MESH_SHADER_NV = 0x959c + +const GL_UNIFORM_BLOCK_REFERENCED_BY_TASK_SHADER_NV = 0x959d + +const GL_REFERENCED_BY_MESH_SHADER_NV = 0x95a0 + +const GL_REFERENCED_BY_TASK_SHADER_NV = 0x95a1 + +const GL_MESH_SHADER_BIT_NV = 0x00000040 + +const GL_TASK_SHADER_BIT_NV = 0x00000080 + +const GL_MESH_SUBROUTINE_NV = 0x957c + +const GL_TASK_SUBROUTINE_NV = 0x957d + +const GL_MESH_SUBROUTINE_UNIFORM_NV = 0x957e + +const GL_TASK_SUBROUTINE_UNIFORM_NV = 0x957f + +const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_MESH_SHADER_NV = 0x959e + +const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TASK_SHADER_NV = 0x959f + +const GL_NV_path_rendering = 1 + +const GL_PATH_FORMAT_SVG_NV = 0x9070 + +const GL_PATH_FORMAT_PS_NV = 0x9071 + +const GL_STANDARD_FONT_NAME_NV = 0x9072 + +const GL_SYSTEM_FONT_NAME_NV = 0x9073 + +const GL_FILE_NAME_NV = 0x9074 + +const GL_PATH_STROKE_WIDTH_NV = 0x9075 + +const GL_PATH_END_CAPS_NV = 0x9076 + +const GL_PATH_INITIAL_END_CAP_NV = 0x9077 + +const GL_PATH_TERMINAL_END_CAP_NV = 0x9078 + +const GL_PATH_JOIN_STYLE_NV = 0x9079 + +const GL_PATH_MITER_LIMIT_NV = 0x907a + +const GL_PATH_DASH_CAPS_NV = 0x907b + +const GL_PATH_INITIAL_DASH_CAP_NV = 0x907c + +const GL_PATH_TERMINAL_DASH_CAP_NV = 0x907d + +const GL_PATH_DASH_OFFSET_NV = 0x907e + +const GL_PATH_CLIENT_LENGTH_NV = 0x907f + +const GL_PATH_FILL_MODE_NV = 0x9080 + +const GL_PATH_FILL_MASK_NV = 0x9081 + +const GL_PATH_FILL_COVER_MODE_NV = 0x9082 + +const GL_PATH_STROKE_COVER_MODE_NV = 0x9083 + +const GL_PATH_STROKE_MASK_NV = 0x9084 + +const GL_COUNT_UP_NV = 0x9088 + +const GL_COUNT_DOWN_NV = 0x9089 + +const GL_PATH_OBJECT_BOUNDING_BOX_NV = 0x908a + +const GL_CONVEX_HULL_NV = 0x908b + +const GL_BOUNDING_BOX_NV = 0x908d + +const GL_TRANSLATE_X_NV = 0x908e + +const GL_TRANSLATE_Y_NV = 0x908f + +const GL_TRANSLATE_2D_NV = 0x9090 + +const GL_TRANSLATE_3D_NV = 0x9091 + +const GL_AFFINE_2D_NV = 0x9092 + +const GL_AFFINE_3D_NV = 0x9094 + +const GL_TRANSPOSE_AFFINE_2D_NV = 0x9096 + +const GL_TRANSPOSE_AFFINE_3D_NV = 0x9098 + +const GL_UTF8_NV = 0x909a + +const GL_UTF16_NV = 0x909b + +const GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV = 0x909c + +const GL_PATH_COMMAND_COUNT_NV = 0x909d + +const GL_PATH_COORD_COUNT_NV = 0x909e + +const GL_PATH_DASH_ARRAY_COUNT_NV = 0x909f + +const GL_PATH_COMPUTED_LENGTH_NV = 0x90a0 + +const GL_PATH_FILL_BOUNDING_BOX_NV = 0x90a1 + +const GL_PATH_STROKE_BOUNDING_BOX_NV = 0x90a2 + +const GL_SQUARE_NV = 0x90a3 + +const GL_ROUND_NV = 0x90a4 + +const GL_TRIANGULAR_NV = 0x90a5 + +const GL_BEVEL_NV = 0x90a6 + +const GL_MITER_REVERT_NV = 0x90a7 + +const GL_MITER_TRUNCATE_NV = 0x90a8 + +const GL_SKIP_MISSING_GLYPH_NV = 0x90a9 + +const GL_USE_MISSING_GLYPH_NV = 0x90aa + +const GL_PATH_ERROR_POSITION_NV = 0x90ab + +const GL_ACCUM_ADJACENT_PAIRS_NV = 0x90ad + +const GL_ADJACENT_PAIRS_NV = 0x90ae + +const GL_FIRST_TO_REST_NV = 0x90af + +const GL_PATH_GEN_MODE_NV = 0x90b0 + +const GL_PATH_GEN_COEFF_NV = 0x90b1 + +const GL_PATH_GEN_COMPONENTS_NV = 0x90b3 + +const GL_PATH_STENCIL_FUNC_NV = 0x90b7 + +const GL_PATH_STENCIL_REF_NV = 0x90b8 + +const GL_PATH_STENCIL_VALUE_MASK_NV = 0x90b9 + +const GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV = 0x90bd + +const GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV = 0x90be + +const GL_PATH_COVER_DEPTH_FUNC_NV = 0x90bf + +const GL_PATH_DASH_OFFSET_RESET_NV = 0x90b4 + +const GL_MOVE_TO_RESETS_NV = 0x90b5 + +const GL_MOVE_TO_CONTINUES_NV = 0x90b6 + +const GL_CLOSE_PATH_NV = 0x00 + +const GL_MOVE_TO_NV = 0x02 + +const GL_RELATIVE_MOVE_TO_NV = 0x03 + +const GL_LINE_TO_NV = 0x04 + +const GL_RELATIVE_LINE_TO_NV = 0x05 + +const GL_HORIZONTAL_LINE_TO_NV = 0x06 + +const GL_RELATIVE_HORIZONTAL_LINE_TO_NV = 0x07 + +const GL_VERTICAL_LINE_TO_NV = 0x08 + +const GL_RELATIVE_VERTICAL_LINE_TO_NV = 0x09 + +const GL_QUADRATIC_CURVE_TO_NV = 0x0a + +const GL_RELATIVE_QUADRATIC_CURVE_TO_NV = 0x0b + +const GL_CUBIC_CURVE_TO_NV = 0x0c + +const GL_RELATIVE_CUBIC_CURVE_TO_NV = 0x0d + +const GL_SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0e + +const GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0f + +const GL_SMOOTH_CUBIC_CURVE_TO_NV = 0x10 + +const GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV = 0x11 + +const GL_SMALL_CCW_ARC_TO_NV = 0x12 + +const GL_RELATIVE_SMALL_CCW_ARC_TO_NV = 0x13 + +const GL_SMALL_CW_ARC_TO_NV = 0x14 + +const GL_RELATIVE_SMALL_CW_ARC_TO_NV = 0x15 + +const GL_LARGE_CCW_ARC_TO_NV = 0x16 + +const GL_RELATIVE_LARGE_CCW_ARC_TO_NV = 0x17 + +const GL_LARGE_CW_ARC_TO_NV = 0x18 + +const GL_RELATIVE_LARGE_CW_ARC_TO_NV = 0x19 + +const GL_RESTART_PATH_NV = 0xf0 + +const GL_DUP_FIRST_CUBIC_CURVE_TO_NV = 0xf2 + +const GL_DUP_LAST_CUBIC_CURVE_TO_NV = 0xf4 + +const GL_RECT_NV = 0xf6 + +const GL_CIRCULAR_CCW_ARC_TO_NV = 0xf8 + +const GL_CIRCULAR_CW_ARC_TO_NV = 0xfa + +const GL_CIRCULAR_TANGENT_ARC_TO_NV = 0xfc + +const GL_ARC_TO_NV = 0xfe + +const GL_RELATIVE_ARC_TO_NV = 0xff + +const GL_BOLD_BIT_NV = 0x01 + +const GL_ITALIC_BIT_NV = 0x02 + +const GL_GLYPH_WIDTH_BIT_NV = 0x01 + +const GL_GLYPH_HEIGHT_BIT_NV = 0x02 + +const GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV = 0x04 + +const GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV = 0x08 + +const GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV = 0x10 + +const GL_GLYPH_VERTICAL_BEARING_X_BIT_NV = 0x20 + +const GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV = 0x40 + +const GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV = 0x80 + +const GL_GLYPH_HAS_KERNING_BIT_NV = 0x0100 + +const GL_FONT_X_MIN_BOUNDS_BIT_NV = 0x00010000 + +const GL_FONT_Y_MIN_BOUNDS_BIT_NV = 0x00020000 + +const GL_FONT_X_MAX_BOUNDS_BIT_NV = 0x00040000 + +const GL_FONT_Y_MAX_BOUNDS_BIT_NV = 0x00080000 + +const GL_FONT_UNITS_PER_EM_BIT_NV = 0x00100000 + +const GL_FONT_ASCENDER_BIT_NV = 0x00200000 + +const GL_FONT_DESCENDER_BIT_NV = 0x00400000 + +const GL_FONT_HEIGHT_BIT_NV = 0x00800000 + +const GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV = 0x01000000 + +const GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV = 0x02000000 + +const GL_FONT_UNDERLINE_POSITION_BIT_NV = 0x04000000 + +const GL_FONT_UNDERLINE_THICKNESS_BIT_NV = 0x08000000 + +const GL_FONT_HAS_KERNING_BIT_NV = 0x10000000 + +const GL_ROUNDED_RECT_NV = 0xe8 + +const GL_RELATIVE_ROUNDED_RECT_NV = 0xe9 + +const GL_ROUNDED_RECT2_NV = 0xea + +const GL_RELATIVE_ROUNDED_RECT2_NV = 0xeb + +const GL_ROUNDED_RECT4_NV = 0xec + +const GL_RELATIVE_ROUNDED_RECT4_NV = 0xed + +const GL_ROUNDED_RECT8_NV = 0xee + +const GL_RELATIVE_ROUNDED_RECT8_NV = 0xef + +const GL_RELATIVE_RECT_NV = 0xf7 + +const GL_FONT_GLYPHS_AVAILABLE_NV = 0x9368 + +const GL_FONT_TARGET_UNAVAILABLE_NV = 0x9369 + +const GL_FONT_UNAVAILABLE_NV = 0x936a + +const GL_FONT_UNINTELLIGIBLE_NV = 0x936b + +const GL_CONIC_CURVE_TO_NV = 0x1a + +const GL_RELATIVE_CONIC_CURVE_TO_NV = 0x1b + +const GL_FONT_NUM_GLYPH_INDICES_BIT_NV = 0x20000000 + +const GL_STANDARD_FONT_FORMAT_NV = 0x936c + +const GL_PATH_PROJECTION_NV = 0x1701 + +const GL_PATH_MODELVIEW_NV = 0x1700 + +const GL_PATH_MODELVIEW_STACK_DEPTH_NV = 0x0ba3 + +const GL_PATH_MODELVIEW_MATRIX_NV = 0x0ba6 + +const GL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV = 0x0d36 + +const GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV = 0x84e3 + +const GL_PATH_PROJECTION_STACK_DEPTH_NV = 0x0ba4 + +const GL_PATH_PROJECTION_MATRIX_NV = 0x0ba7 + +const GL_PATH_MAX_PROJECTION_STACK_DEPTH_NV = 0x0d38 + +const GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV = 0x84e4 + +const GL_FRAGMENT_INPUT_NV = 0x936d + +const GL_NV_path_rendering_shared_edge = 1 + +const GL_SHARED_EDGE_NV = 0xc0 + +const GL_NV_primitive_shading_rate = 1 + +const GL_SHADING_RATE_IMAGE_PER_PRIMITIVE_NV = 0x95b1 + +const GL_SHADING_RATE_IMAGE_PALETTE_COUNT_NV = 0x95b2 + +const GL_NV_representative_fragment_test = 1 + +const GL_REPRESENTATIVE_FRAGMENT_TEST_NV = 0x937f + +const GL_NV_sample_locations = 1 + +const GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV = 0x933d + +const GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV = 0x933e + +const GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV = 0x933f + +const GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV = 0x9340 + +const GL_SAMPLE_LOCATION_NV = 0x8e50 + +const GL_PROGRAMMABLE_SAMPLE_LOCATION_NV = 0x9341 + +const GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV = 0x9342 + +const GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV = 0x9343 + +const GL_NV_sample_mask_override_coverage = 1 + +const GL_NV_scissor_exclusive = 1 + +const GL_SCISSOR_TEST_EXCLUSIVE_NV = 0x9555 + +const GL_SCISSOR_BOX_EXCLUSIVE_NV = 0x9556 + +const GL_NV_shader_atomic_counters = 1 + +const GL_NV_shader_atomic_float = 1 + +const GL_NV_shader_atomic_float64 = 1 + +const GL_NV_shader_atomic_fp16_vector = 1 + +const GL_NV_shader_atomic_int64 = 1 + +const GL_NV_shader_buffer_load = 1 + +const GL_BUFFER_GPU_ADDRESS_NV = 0x8f1d + +const GL_GPU_ADDRESS_NV = 0x8f34 + +const GL_MAX_SHADER_BUFFER_ADDRESS_NV = 0x8f35 + +const GL_NV_shader_buffer_store = 1 + +const GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV = 0x00000010 + +const GL_NV_shader_subgroup_partitioned = 1 + +const GL_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100 + +const GL_NV_shader_texture_footprint = 1 + +const GL_NV_shader_thread_group = 1 + +const GL_WARP_SIZE_NV = 0x9339 + +const GL_WARPS_PER_SM_NV = 0x933a + +const GL_SM_COUNT_NV = 0x933b + +const GL_NV_shader_thread_shuffle = 1 + +const GL_NV_shading_rate_image = 1 + +const GL_SHADING_RATE_IMAGE_NV = 0x9563 + +const GL_SHADING_RATE_NO_INVOCATIONS_NV = 0x9564 + +const GL_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0x9565 + +const GL_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 0x9566 + +const GL_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 0x9567 + +const GL_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 0x9568 + +const GL_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 0x9569 + +const GL_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 0x956a + +const GL_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 0x956b + +const GL_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 0x956c + +const GL_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 0x956d + +const GL_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 0x956e + +const GL_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 0x956f + +const GL_SHADING_RATE_IMAGE_BINDING_NV = 0x955b + +const GL_SHADING_RATE_IMAGE_TEXEL_WIDTH_NV = 0x955c + +const GL_SHADING_RATE_IMAGE_TEXEL_HEIGHT_NV = 0x955d + +const GL_SHADING_RATE_IMAGE_PALETTE_SIZE_NV = 0x955e + +const GL_MAX_COARSE_FRAGMENT_SAMPLES_NV = 0x955f + +const GL_SHADING_RATE_SAMPLE_ORDER_DEFAULT_NV = 0x95ae + +const GL_SHADING_RATE_SAMPLE_ORDER_PIXEL_MAJOR_NV = 0x95af + +const GL_SHADING_RATE_SAMPLE_ORDER_SAMPLE_MAJOR_NV = 0x95b0 + +const GL_NV_stereo_view_rendering = 1 + +const GL_NV_texture_barrier = 1 + +const GL_NV_texture_rectangle_compressed = 1 + +const GL_NV_uniform_buffer_unified_memory = 1 + +const GL_UNIFORM_BUFFER_UNIFIED_NV = 0x936e + +const GL_UNIFORM_BUFFER_ADDRESS_NV = 0x936f + +const GL_UNIFORM_BUFFER_LENGTH_NV = 0x9370 + +const GL_NV_vertex_attrib_integer_64bit = 1 + +const GL_NV_vertex_buffer_unified_memory = 1 + +const GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV = 0x8f1e + +const GL_ELEMENT_ARRAY_UNIFIED_NV = 0x8f1f + +const GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV = 0x8f20 + +const GL_VERTEX_ARRAY_ADDRESS_NV = 0x8f21 + +const GL_NORMAL_ARRAY_ADDRESS_NV = 0x8f22 + +const GL_COLOR_ARRAY_ADDRESS_NV = 0x8f23 + +const GL_INDEX_ARRAY_ADDRESS_NV = 0x8f24 + +const GL_TEXTURE_COORD_ARRAY_ADDRESS_NV = 0x8f25 + +const GL_EDGE_FLAG_ARRAY_ADDRESS_NV = 0x8f26 + +const GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV = 0x8f27 + +const GL_FOG_COORD_ARRAY_ADDRESS_NV = 0x8f28 + +const GL_ELEMENT_ARRAY_ADDRESS_NV = 0x8f29 + +const GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV = 0x8f2a + +const GL_VERTEX_ARRAY_LENGTH_NV = 0x8f2b + +const GL_NORMAL_ARRAY_LENGTH_NV = 0x8f2c + +const GL_COLOR_ARRAY_LENGTH_NV = 0x8f2d + +const GL_INDEX_ARRAY_LENGTH_NV = 0x8f2e + +const GL_TEXTURE_COORD_ARRAY_LENGTH_NV = 0x8f2f + +const GL_EDGE_FLAG_ARRAY_LENGTH_NV = 0x8f30 + +const GL_SECONDARY_COLOR_ARRAY_LENGTH_NV = 0x8f31 + +const GL_FOG_COORD_ARRAY_LENGTH_NV = 0x8f32 + +const GL_ELEMENT_ARRAY_LENGTH_NV = 0x8f33 + +const GL_DRAW_INDIRECT_UNIFIED_NV = 0x8f40 + +const GL_DRAW_INDIRECT_ADDRESS_NV = 0x8f41 + +const GL_DRAW_INDIRECT_LENGTH_NV = 0x8f42 + +const GL_NV_viewport_array2 = 1 + +const GL_NV_viewport_swizzle = 1 + +const GL_VIEWPORT_SWIZZLE_POSITIVE_X_NV = 0x9350 + +const GL_VIEWPORT_SWIZZLE_NEGATIVE_X_NV = 0x9351 + +const GL_VIEWPORT_SWIZZLE_POSITIVE_Y_NV = 0x9352 + +const GL_VIEWPORT_SWIZZLE_NEGATIVE_Y_NV = 0x9353 + +const GL_VIEWPORT_SWIZZLE_POSITIVE_Z_NV = 0x9354 + +const GL_VIEWPORT_SWIZZLE_NEGATIVE_Z_NV = 0x9355 + +const GL_VIEWPORT_SWIZZLE_POSITIVE_W_NV = 0x9356 + +const GL_VIEWPORT_SWIZZLE_NEGATIVE_W_NV = 0x9357 + +const GL_VIEWPORT_SWIZZLE_X_NV = 0x9358 + +const GL_VIEWPORT_SWIZZLE_Y_NV = 0x9359 + +const GL_VIEWPORT_SWIZZLE_Z_NV = 0x935a + +const GL_VIEWPORT_SWIZZLE_W_NV = 0x935b + +const GL_OVR_multiview = 1 + +const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR = 0x9630 + +const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR = 0x9632 + +const GL_MAX_VIEWS_OVR = 0x9631 + +const GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR = 0x9633 + +const GL_OVR_multiview2 = 1 From 76f8388a5f68f472bcd6d485d49d7031d019718c Mon Sep 17 00:00:00 2001 From: Gnimuc Date: Tue, 25 Jan 2022 20:51:40 +0900 Subject: [PATCH 4/6] Rewrite function pointer expressions --- Project.toml | 1 + gen/generator.jl | 24 +- gen/generator.toml | 2 + src/ModernGL.jl | 2 + src/gl.jl | 2565 ++++++++++++++++++++++---------------------- 5 files changed, 1315 insertions(+), 1279 deletions(-) diff --git a/Project.toml b/Project.toml index d1bb91b..7dad7a8 100644 --- a/Project.toml +++ b/Project.toml @@ -3,6 +3,7 @@ uuid = "66fc600b-dfda-50eb-8b99-91cfa97b1301" version = "1.1.4" [deps] +CEnum = "fa961155-64e5-5f13-b03f-caf6b980ea82" Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb" [compat] diff --git a/gen/generator.jl b/gen/generator.jl index e8c2691..c1f965a 100644 --- a/gen/generator.jl +++ b/gen/generator.jl @@ -15,4 +15,26 @@ options["general"]["output_file_path"] = joinpath(@__DIR__, "..", "src", "gl.jl" ctx = create_context(GL_HEADERS, args, options) -build!(ctx) +build!(ctx, BUILDSTAGE_NO_PRINTING) + +# custom rewriter +function rewrite!(dag::ExprDAG) + for node in get_nodes(dag) + node.type isa Generators.AbstractFunctionNodeType || continue + for expr in node.exprs + Meta.isexpr(expr, :function) || continue + for block_expr in expr.args + Meta.isexpr(block_expr, :block) || continue + for ccall_expr in block_expr.args + Meta.isexpr(ccall_expr, :call) || continue + ccall_expr.args[2] = :(getprocaddress_e($(string(node.id)))) + end + end + end + end +end + +rewrite!(ctx.dag) + +# print +build!(ctx, BUILDSTAGE_PRINTING_ONLY) diff --git a/gen/generator.toml b/gen/generator.toml index 4cd78f0..c163504 100644 --- a/gen/generator.toml +++ b/gen/generator.toml @@ -5,6 +5,8 @@ output_ignorelist = [ "APIENTRYP", ] +export_symbol_prefixes = ["GL", "gl"] + use_deterministic_symbol = true [codegen.macro] diff --git a/src/ModernGL.jl b/src/ModernGL.jl index 1f77b59..47a1e54 100644 --- a/src/ModernGL.jl +++ b/src/ModernGL.jl @@ -1,6 +1,7 @@ module ModernGL using Libdl +using CEnum function glXGetProcAddress(glFuncName) ccall((:glXGetProcAddress, "libGL.so.1"), Ptr{Cvoid}, (Ptr{UInt8},), glFuncName) @@ -93,5 +94,6 @@ end include("glTypes.jl") include("functionloading.jl") include("glConstants.jl") +include("gl.jl") end # module diff --git a/src/gl.jl b/src/gl.jl index 5a72d89..1dcaa37 100644 --- a/src/gl.jl +++ b/src/gl.jl @@ -201,195 +201,195 @@ const PFNGLDEPTHRANGEPROC = Ptr{Cvoid} const PFNGLVIEWPORTPROC = Ptr{Cvoid} function glCullFace(mode) - ccall((:glCullFace, libgl), Cvoid, (GLenum,), mode) + ccall(getprocaddress_e("glCullFace"), Cvoid, (GLenum,), mode) end function glFrontFace(mode) - ccall((:glFrontFace, libgl), Cvoid, (GLenum,), mode) + ccall(getprocaddress_e("glFrontFace"), Cvoid, (GLenum,), mode) end function glHint(target, mode) - ccall((:glHint, libgl), Cvoid, (GLenum, GLenum), target, mode) + ccall(getprocaddress_e("glHint"), Cvoid, (GLenum, GLenum), target, mode) end function glLineWidth(width) - ccall((:glLineWidth, libgl), Cvoid, (GLfloat,), width) + ccall(getprocaddress_e("glLineWidth"), Cvoid, (GLfloat,), width) end function glPointSize(size) - ccall((:glPointSize, libgl), Cvoid, (GLfloat,), size) + ccall(getprocaddress_e("glPointSize"), Cvoid, (GLfloat,), size) end function glPolygonMode(face, mode) - ccall((:glPolygonMode, libgl), Cvoid, (GLenum, GLenum), face, mode) + ccall(getprocaddress_e("glPolygonMode"), Cvoid, (GLenum, GLenum), face, mode) end function glScissor(x, y, width, height) - ccall((:glScissor, libgl), Cvoid, (GLint, GLint, GLsizei, GLsizei), x, y, width, height) + ccall(getprocaddress_e("glScissor"), Cvoid, (GLint, GLint, GLsizei, GLsizei), x, y, width, height) end function glTexParameterf(target, pname, param) - ccall((:glTexParameterf, libgl), Cvoid, (GLenum, GLenum, GLfloat), target, pname, param) + ccall(getprocaddress_e("glTexParameterf"), Cvoid, (GLenum, GLenum, GLfloat), target, pname, param) end function glTexParameterfv(target, pname, params) - ccall((:glTexParameterfv, libgl), Cvoid, (GLenum, GLenum, Ptr{GLfloat}), target, pname, params) + ccall(getprocaddress_e("glTexParameterfv"), Cvoid, (GLenum, GLenum, Ptr{GLfloat}), target, pname, params) end function glTexParameteri(target, pname, param) - ccall((:glTexParameteri, libgl), Cvoid, (GLenum, GLenum, GLint), target, pname, param) + ccall(getprocaddress_e("glTexParameteri"), Cvoid, (GLenum, GLenum, GLint), target, pname, param) end function glTexParameteriv(target, pname, params) - ccall((:glTexParameteriv, libgl), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) + ccall(getprocaddress_e("glTexParameteriv"), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) end function glTexImage1D(target, level, internalformat, width, border, format, type, pixels) - ccall((:glTexImage1D, libgl), Cvoid, (GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), target, level, internalformat, width, border, format, type, pixels) + ccall(getprocaddress_e("glTexImage1D"), Cvoid, (GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), target, level, internalformat, width, border, format, type, pixels) end function glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels) - ccall((:glTexImage2D, libgl), Cvoid, (GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), target, level, internalformat, width, height, border, format, type, pixels) + ccall(getprocaddress_e("glTexImage2D"), Cvoid, (GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), target, level, internalformat, width, height, border, format, type, pixels) end function glDrawBuffer(buf) - ccall((:glDrawBuffer, libgl), Cvoid, (GLenum,), buf) + ccall(getprocaddress_e("glDrawBuffer"), Cvoid, (GLenum,), buf) end function glClear(mask) - ccall((:glClear, libgl), Cvoid, (GLbitfield,), mask) + ccall(getprocaddress_e("glClear"), Cvoid, (GLbitfield,), mask) end function glClearColor(red, green, blue, alpha) - ccall((:glClearColor, libgl), Cvoid, (GLfloat, GLfloat, GLfloat, GLfloat), red, green, blue, alpha) + ccall(getprocaddress_e("glClearColor"), Cvoid, (GLfloat, GLfloat, GLfloat, GLfloat), red, green, blue, alpha) end function glClearStencil(s) - ccall((:glClearStencil, libgl), Cvoid, (GLint,), s) + ccall(getprocaddress_e("glClearStencil"), Cvoid, (GLint,), s) end function glClearDepth(depth) - ccall((:glClearDepth, libgl), Cvoid, (GLdouble,), depth) + ccall(getprocaddress_e("glClearDepth"), Cvoid, (GLdouble,), depth) end function glStencilMask(mask) - ccall((:glStencilMask, libgl), Cvoid, (GLuint,), mask) + ccall(getprocaddress_e("glStencilMask"), Cvoid, (GLuint,), mask) end function glColorMask(red, green, blue, alpha) - ccall((:glColorMask, libgl), Cvoid, (GLboolean, GLboolean, GLboolean, GLboolean), red, green, blue, alpha) + ccall(getprocaddress_e("glColorMask"), Cvoid, (GLboolean, GLboolean, GLboolean, GLboolean), red, green, blue, alpha) end function glDepthMask(flag) - ccall((:glDepthMask, libgl), Cvoid, (GLboolean,), flag) + ccall(getprocaddress_e("glDepthMask"), Cvoid, (GLboolean,), flag) end function glDisable(cap) - ccall((:glDisable, libgl), Cvoid, (GLenum,), cap) + ccall(getprocaddress_e("glDisable"), Cvoid, (GLenum,), cap) end function glEnable(cap) - ccall((:glEnable, libgl), Cvoid, (GLenum,), cap) + ccall(getprocaddress_e("glEnable"), Cvoid, (GLenum,), cap) end function glFinish() - ccall((:glFinish, libgl), Cvoid, ()) + ccall(getprocaddress_e("glFinish"), Cvoid, ()) end function glFlush() - ccall((:glFlush, libgl), Cvoid, ()) + ccall(getprocaddress_e("glFlush"), Cvoid, ()) end function glBlendFunc(sfactor, dfactor) - ccall((:glBlendFunc, libgl), Cvoid, (GLenum, GLenum), sfactor, dfactor) + ccall(getprocaddress_e("glBlendFunc"), Cvoid, (GLenum, GLenum), sfactor, dfactor) end function glLogicOp(opcode) - ccall((:glLogicOp, libgl), Cvoid, (GLenum,), opcode) + ccall(getprocaddress_e("glLogicOp"), Cvoid, (GLenum,), opcode) end function glStencilFunc(func, ref, mask) - ccall((:glStencilFunc, libgl), Cvoid, (GLenum, GLint, GLuint), func, ref, mask) + ccall(getprocaddress_e("glStencilFunc"), Cvoid, (GLenum, GLint, GLuint), func, ref, mask) end function glStencilOp(fail, zfail, zpass) - ccall((:glStencilOp, libgl), Cvoid, (GLenum, GLenum, GLenum), fail, zfail, zpass) + ccall(getprocaddress_e("glStencilOp"), Cvoid, (GLenum, GLenum, GLenum), fail, zfail, zpass) end function glDepthFunc(func) - ccall((:glDepthFunc, libgl), Cvoid, (GLenum,), func) + ccall(getprocaddress_e("glDepthFunc"), Cvoid, (GLenum,), func) end function glPixelStoref(pname, param) - ccall((:glPixelStoref, libgl), Cvoid, (GLenum, GLfloat), pname, param) + ccall(getprocaddress_e("glPixelStoref"), Cvoid, (GLenum, GLfloat), pname, param) end function glPixelStorei(pname, param) - ccall((:glPixelStorei, libgl), Cvoid, (GLenum, GLint), pname, param) + ccall(getprocaddress_e("glPixelStorei"), Cvoid, (GLenum, GLint), pname, param) end function glReadBuffer(src) - ccall((:glReadBuffer, libgl), Cvoid, (GLenum,), src) + ccall(getprocaddress_e("glReadBuffer"), Cvoid, (GLenum,), src) end function glReadPixels(x, y, width, height, format, type, pixels) - ccall((:glReadPixels, libgl), Cvoid, (GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), x, y, width, height, format, type, pixels) + ccall(getprocaddress_e("glReadPixels"), Cvoid, (GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), x, y, width, height, format, type, pixels) end function glGetBooleanv(pname, data) - ccall((:glGetBooleanv, libgl), Cvoid, (GLenum, Ptr{GLboolean}), pname, data) + ccall(getprocaddress_e("glGetBooleanv"), Cvoid, (GLenum, Ptr{GLboolean}), pname, data) end function glGetDoublev(pname, data) - ccall((:glGetDoublev, libgl), Cvoid, (GLenum, Ptr{GLdouble}), pname, data) + ccall(getprocaddress_e("glGetDoublev"), Cvoid, (GLenum, Ptr{GLdouble}), pname, data) end function glGetError() - ccall((:glGetError, libgl), GLenum, ()) + ccall(getprocaddress_e("glGetError"), GLenum, ()) end function glGetFloatv(pname, data) - ccall((:glGetFloatv, libgl), Cvoid, (GLenum, Ptr{GLfloat}), pname, data) + ccall(getprocaddress_e("glGetFloatv"), Cvoid, (GLenum, Ptr{GLfloat}), pname, data) end function glGetIntegerv(pname, data) - ccall((:glGetIntegerv, libgl), Cvoid, (GLenum, Ptr{GLint}), pname, data) + ccall(getprocaddress_e("glGetIntegerv"), Cvoid, (GLenum, Ptr{GLint}), pname, data) end function glGetString(name) - ccall((:glGetString, libgl), Ptr{GLubyte}, (GLenum,), name) + ccall(getprocaddress_e("glGetString"), Ptr{GLubyte}, (GLenum,), name) end function glGetTexImage(target, level, format, type, pixels) - ccall((:glGetTexImage, libgl), Cvoid, (GLenum, GLint, GLenum, GLenum, Ptr{Cvoid}), target, level, format, type, pixels) + ccall(getprocaddress_e("glGetTexImage"), Cvoid, (GLenum, GLint, GLenum, GLenum, Ptr{Cvoid}), target, level, format, type, pixels) end function glGetTexParameterfv(target, pname, params) - ccall((:glGetTexParameterfv, libgl), Cvoid, (GLenum, GLenum, Ptr{GLfloat}), target, pname, params) + ccall(getprocaddress_e("glGetTexParameterfv"), Cvoid, (GLenum, GLenum, Ptr{GLfloat}), target, pname, params) end function glGetTexParameteriv(target, pname, params) - ccall((:glGetTexParameteriv, libgl), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) + ccall(getprocaddress_e("glGetTexParameteriv"), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) end function glGetTexLevelParameterfv(target, level, pname, params) - ccall((:glGetTexLevelParameterfv, libgl), Cvoid, (GLenum, GLint, GLenum, Ptr{GLfloat}), target, level, pname, params) + ccall(getprocaddress_e("glGetTexLevelParameterfv"), Cvoid, (GLenum, GLint, GLenum, Ptr{GLfloat}), target, level, pname, params) end function glGetTexLevelParameteriv(target, level, pname, params) - ccall((:glGetTexLevelParameteriv, libgl), Cvoid, (GLenum, GLint, GLenum, Ptr{GLint}), target, level, pname, params) + ccall(getprocaddress_e("glGetTexLevelParameteriv"), Cvoid, (GLenum, GLint, GLenum, Ptr{GLint}), target, level, pname, params) end function glIsEnabled(cap) - ccall((:glIsEnabled, libgl), GLboolean, (GLenum,), cap) + ccall(getprocaddress_e("glIsEnabled"), GLboolean, (GLenum,), cap) end function glDepthRange(n, f) - ccall((:glDepthRange, libgl), Cvoid, (GLdouble, GLdouble), n, f) + ccall(getprocaddress_e("glDepthRange"), Cvoid, (GLdouble, GLdouble), n, f) end function glViewport(x, y, width, height) - ccall((:glViewport, libgl), Cvoid, (GLint, GLint, GLsizei, GLsizei), x, y, width, height) + ccall(getprocaddress_e("glViewport"), Cvoid, (GLint, GLint, GLsizei, GLsizei), x, y, width, height) end const GLclampf = khronos_float_t @@ -439,59 +439,59 @@ const PFNGLGENTEXTURESPROC = Ptr{Cvoid} const PFNGLISTEXTUREPROC = Ptr{Cvoid} function glDrawArrays(mode, first, count) - ccall((:glDrawArrays, libgl), Cvoid, (GLenum, GLint, GLsizei), mode, first, count) + ccall(getprocaddress_e("glDrawArrays"), Cvoid, (GLenum, GLint, GLsizei), mode, first, count) end function glDrawElements(mode, count, type, indices) - ccall((:glDrawElements, libgl), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}), mode, count, type, indices) + ccall(getprocaddress_e("glDrawElements"), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}), mode, count, type, indices) end function glGetPointerv(pname, params) - ccall((:glGetPointerv, libgl), Cvoid, (GLenum, Ptr{Ptr{Cvoid}}), pname, params) + ccall(getprocaddress_e("glGetPointerv"), Cvoid, (GLenum, Ptr{Ptr{Cvoid}}), pname, params) end function glPolygonOffset(factor, units) - ccall((:glPolygonOffset, libgl), Cvoid, (GLfloat, GLfloat), factor, units) + ccall(getprocaddress_e("glPolygonOffset"), Cvoid, (GLfloat, GLfloat), factor, units) end function glCopyTexImage1D(target, level, internalformat, x, y, width, border) - ccall((:glCopyTexImage1D, libgl), Cvoid, (GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint), target, level, internalformat, x, y, width, border) + ccall(getprocaddress_e("glCopyTexImage1D"), Cvoid, (GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint), target, level, internalformat, x, y, width, border) end function glCopyTexImage2D(target, level, internalformat, x, y, width, height, border) - ccall((:glCopyTexImage2D, libgl), Cvoid, (GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint), target, level, internalformat, x, y, width, height, border) + ccall(getprocaddress_e("glCopyTexImage2D"), Cvoid, (GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint), target, level, internalformat, x, y, width, height, border) end function glCopyTexSubImage1D(target, level, xoffset, x, y, width) - ccall((:glCopyTexSubImage1D, libgl), Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLsizei), target, level, xoffset, x, y, width) + ccall(getprocaddress_e("glCopyTexSubImage1D"), Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLsizei), target, level, xoffset, x, y, width) end function glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height) - ccall((:glCopyTexSubImage2D, libgl), Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), target, level, xoffset, yoffset, x, y, width, height) + ccall(getprocaddress_e("glCopyTexSubImage2D"), Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), target, level, xoffset, yoffset, x, y, width, height) end function glTexSubImage1D(target, level, xoffset, width, format, type, pixels) - ccall((:glTexSubImage1D, libgl), Cvoid, (GLenum, GLint, GLint, GLsizei, GLenum, GLenum, Ptr{Cvoid}), target, level, xoffset, width, format, type, pixels) + ccall(getprocaddress_e("glTexSubImage1D"), Cvoid, (GLenum, GLint, GLint, GLsizei, GLenum, GLenum, Ptr{Cvoid}), target, level, xoffset, width, format, type, pixels) end function glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) - ccall((:glTexSubImage2D, libgl), Cvoid, (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), target, level, xoffset, yoffset, width, height, format, type, pixels) + ccall(getprocaddress_e("glTexSubImage2D"), Cvoid, (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), target, level, xoffset, yoffset, width, height, format, type, pixels) end function glBindTexture(target, texture) - ccall((:glBindTexture, libgl), Cvoid, (GLenum, GLuint), target, texture) + ccall(getprocaddress_e("glBindTexture"), Cvoid, (GLenum, GLuint), target, texture) end function glDeleteTextures(n, textures) - ccall((:glDeleteTextures, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, textures) + ccall(getprocaddress_e("glDeleteTextures"), Cvoid, (GLsizei, Ptr{GLuint}), n, textures) end function glGenTextures(n, textures) - ccall((:glGenTextures, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, textures) + ccall(getprocaddress_e("glGenTextures"), Cvoid, (GLsizei, Ptr{GLuint}), n, textures) end function glIsTexture(texture) - ccall((:glIsTexture, libgl), GLboolean, (GLuint,), texture) + ccall(getprocaddress_e("glIsTexture"), GLboolean, (GLuint,), texture) end # typedef void ( APIENTRYP PFNGLDRAWRANGEELEMENTSPROC ) ( GLenum mode , GLuint start , GLuint end , GLsizei count , GLenum type , const void * indices ) @@ -507,19 +507,19 @@ const PFNGLTEXSUBIMAGE3DPROC = Ptr{Cvoid} const PFNGLCOPYTEXSUBIMAGE3DPROC = Ptr{Cvoid} function glDrawRangeElements(mode, start, _end, count, type, indices) - ccall((:glDrawRangeElements, libgl), Cvoid, (GLenum, GLuint, GLuint, GLsizei, GLenum, Ptr{Cvoid}), mode, start, _end, count, type, indices) + ccall(getprocaddress_e("glDrawRangeElements"), Cvoid, (GLenum, GLuint, GLuint, GLsizei, GLenum, Ptr{Cvoid}), mode, start, _end, count, type, indices) end function glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels) - ccall((:glTexImage3D, libgl), Cvoid, (GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), target, level, internalformat, width, height, depth, border, format, type, pixels) + ccall(getprocaddress_e("glTexImage3D"), Cvoid, (GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), target, level, internalformat, width, height, depth, border, format, type, pixels) end function glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) - ccall((:glTexSubImage3D, libgl), Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) + ccall(getprocaddress_e("glTexSubImage3D"), Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) end function glCopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height) - ccall((:glCopyTexSubImage3D, libgl), Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), target, level, xoffset, yoffset, zoffset, x, y, width, height) + ccall(getprocaddress_e("glCopyTexSubImage3D"), Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), target, level, xoffset, yoffset, zoffset, x, y, width, height) end # typedef void ( APIENTRYP PFNGLACTIVETEXTUREPROC ) ( GLenum texture ) @@ -550,39 +550,39 @@ const PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC = Ptr{Cvoid} const PFNGLGETCOMPRESSEDTEXIMAGEPROC = Ptr{Cvoid} function glActiveTexture(texture) - ccall((:glActiveTexture, libgl), Cvoid, (GLenum,), texture) + ccall(getprocaddress_e("glActiveTexture"), Cvoid, (GLenum,), texture) end function glSampleCoverage(value, invert) - ccall((:glSampleCoverage, libgl), Cvoid, (GLfloat, GLboolean), value, invert) + ccall(getprocaddress_e("glSampleCoverage"), Cvoid, (GLfloat, GLboolean), value, invert) end function glCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data) - ccall((:glCompressedTexImage3D, libgl), Cvoid, (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, Ptr{Cvoid}), target, level, internalformat, width, height, depth, border, imageSize, data) + ccall(getprocaddress_e("glCompressedTexImage3D"), Cvoid, (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, Ptr{Cvoid}), target, level, internalformat, width, height, depth, border, imageSize, data) end function glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data) - ccall((:glCompressedTexImage2D, libgl), Cvoid, (GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, Ptr{Cvoid}), target, level, internalformat, width, height, border, imageSize, data) + ccall(getprocaddress_e("glCompressedTexImage2D"), Cvoid, (GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, Ptr{Cvoid}), target, level, internalformat, width, height, border, imageSize, data) end function glCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data) - ccall((:glCompressedTexImage1D, libgl), Cvoid, (GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, Ptr{Cvoid}), target, level, internalformat, width, border, imageSize, data) + ccall(getprocaddress_e("glCompressedTexImage1D"), Cvoid, (GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, Ptr{Cvoid}), target, level, internalformat, width, border, imageSize, data) end function glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data) - ccall((:glCompressedTexSubImage3D, libgl), Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data) + ccall(getprocaddress_e("glCompressedTexSubImage3D"), Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data) end function glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) - ccall((:glCompressedTexSubImage2D, libgl), Cvoid, (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), target, level, xoffset, yoffset, width, height, format, imageSize, data) + ccall(getprocaddress_e("glCompressedTexSubImage2D"), Cvoid, (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), target, level, xoffset, yoffset, width, height, format, imageSize, data) end function glCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data) - ccall((:glCompressedTexSubImage1D, libgl), Cvoid, (GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), target, level, xoffset, width, format, imageSize, data) + ccall(getprocaddress_e("glCompressedTexSubImage1D"), Cvoid, (GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), target, level, xoffset, width, format, imageSize, data) end function glGetCompressedTexImage(target, level, img) - ccall((:glGetCompressedTexImage, libgl), Cvoid, (GLenum, GLint, Ptr{Cvoid}), target, level, img) + ccall(getprocaddress_e("glGetCompressedTexImage"), Cvoid, (GLenum, GLint, Ptr{Cvoid}), target, level, img) end # typedef void ( APIENTRYP PFNGLBLENDFUNCSEPARATEPROC ) ( GLenum sfactorRGB , GLenum dfactorRGB , GLenum sfactorAlpha , GLenum dfactorAlpha ) @@ -613,39 +613,39 @@ const PFNGLBLENDCOLORPROC = Ptr{Cvoid} const PFNGLBLENDEQUATIONPROC = Ptr{Cvoid} function glBlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha) - ccall((:glBlendFuncSeparate, libgl), Cvoid, (GLenum, GLenum, GLenum, GLenum), sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha) + ccall(getprocaddress_e("glBlendFuncSeparate"), Cvoid, (GLenum, GLenum, GLenum, GLenum), sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha) end function glMultiDrawArrays(mode, first, count, drawcount) - ccall((:glMultiDrawArrays, libgl), Cvoid, (GLenum, Ptr{GLint}, Ptr{GLsizei}, GLsizei), mode, first, count, drawcount) + ccall(getprocaddress_e("glMultiDrawArrays"), Cvoid, (GLenum, Ptr{GLint}, Ptr{GLsizei}, GLsizei), mode, first, count, drawcount) end function glMultiDrawElements(mode, count, type, indices, drawcount) - ccall((:glMultiDrawElements, libgl), Cvoid, (GLenum, Ptr{GLsizei}, GLenum, Ptr{Ptr{Cvoid}}, GLsizei), mode, count, type, indices, drawcount) + ccall(getprocaddress_e("glMultiDrawElements"), Cvoid, (GLenum, Ptr{GLsizei}, GLenum, Ptr{Ptr{Cvoid}}, GLsizei), mode, count, type, indices, drawcount) end function glPointParameterf(pname, param) - ccall((:glPointParameterf, libgl), Cvoid, (GLenum, GLfloat), pname, param) + ccall(getprocaddress_e("glPointParameterf"), Cvoid, (GLenum, GLfloat), pname, param) end function glPointParameterfv(pname, params) - ccall((:glPointParameterfv, libgl), Cvoid, (GLenum, Ptr{GLfloat}), pname, params) + ccall(getprocaddress_e("glPointParameterfv"), Cvoid, (GLenum, Ptr{GLfloat}), pname, params) end function glPointParameteri(pname, param) - ccall((:glPointParameteri, libgl), Cvoid, (GLenum, GLint), pname, param) + ccall(getprocaddress_e("glPointParameteri"), Cvoid, (GLenum, GLint), pname, param) end function glPointParameteriv(pname, params) - ccall((:glPointParameteriv, libgl), Cvoid, (GLenum, Ptr{GLint}), pname, params) + ccall(getprocaddress_e("glPointParameteriv"), Cvoid, (GLenum, Ptr{GLint}), pname, params) end function glBlendColor(red, green, blue, alpha) - ccall((:glBlendColor, libgl), Cvoid, (GLfloat, GLfloat, GLfloat, GLfloat), red, green, blue, alpha) + ccall(getprocaddress_e("glBlendColor"), Cvoid, (GLfloat, GLfloat, GLfloat, GLfloat), red, green, blue, alpha) end function glBlendEquation(mode) - ccall((:glBlendEquation, libgl), Cvoid, (GLenum,), mode) + ccall(getprocaddress_e("glBlendEquation"), Cvoid, (GLenum,), mode) end const GLsizeiptr = khronos_ssize_t @@ -710,79 +710,79 @@ const PFNGLGETBUFFERPARAMETERIVPROC = Ptr{Cvoid} const PFNGLGETBUFFERPOINTERVPROC = Ptr{Cvoid} function glGenQueries(n, ids) - ccall((:glGenQueries, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, ids) + ccall(getprocaddress_e("glGenQueries"), Cvoid, (GLsizei, Ptr{GLuint}), n, ids) end function glDeleteQueries(n, ids) - ccall((:glDeleteQueries, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, ids) + ccall(getprocaddress_e("glDeleteQueries"), Cvoid, (GLsizei, Ptr{GLuint}), n, ids) end function glIsQuery(id) - ccall((:glIsQuery, libgl), GLboolean, (GLuint,), id) + ccall(getprocaddress_e("glIsQuery"), GLboolean, (GLuint,), id) end function glBeginQuery(target, id) - ccall((:glBeginQuery, libgl), Cvoid, (GLenum, GLuint), target, id) + ccall(getprocaddress_e("glBeginQuery"), Cvoid, (GLenum, GLuint), target, id) end function glEndQuery(target) - ccall((:glEndQuery, libgl), Cvoid, (GLenum,), target) + ccall(getprocaddress_e("glEndQuery"), Cvoid, (GLenum,), target) end function glGetQueryiv(target, pname, params) - ccall((:glGetQueryiv, libgl), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) + ccall(getprocaddress_e("glGetQueryiv"), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) end function glGetQueryObjectiv(id, pname, params) - ccall((:glGetQueryObjectiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), id, pname, params) + ccall(getprocaddress_e("glGetQueryObjectiv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), id, pname, params) end function glGetQueryObjectuiv(id, pname, params) - ccall((:glGetQueryObjectuiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLuint}), id, pname, params) + ccall(getprocaddress_e("glGetQueryObjectuiv"), Cvoid, (GLuint, GLenum, Ptr{GLuint}), id, pname, params) end function glBindBuffer(target, buffer) - ccall((:glBindBuffer, libgl), Cvoid, (GLenum, GLuint), target, buffer) + ccall(getprocaddress_e("glBindBuffer"), Cvoid, (GLenum, GLuint), target, buffer) end function glDeleteBuffers(n, buffers) - ccall((:glDeleteBuffers, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, buffers) + ccall(getprocaddress_e("glDeleteBuffers"), Cvoid, (GLsizei, Ptr{GLuint}), n, buffers) end function glGenBuffers(n, buffers) - ccall((:glGenBuffers, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, buffers) + ccall(getprocaddress_e("glGenBuffers"), Cvoid, (GLsizei, Ptr{GLuint}), n, buffers) end function glIsBuffer(buffer) - ccall((:glIsBuffer, libgl), GLboolean, (GLuint,), buffer) + ccall(getprocaddress_e("glIsBuffer"), GLboolean, (GLuint,), buffer) end function glBufferData(target, size, data, usage) - ccall((:glBufferData, libgl), Cvoid, (GLenum, GLsizeiptr, Ptr{Cvoid}, GLenum), target, size, data, usage) + ccall(getprocaddress_e("glBufferData"), Cvoid, (GLenum, GLsizeiptr, Ptr{Cvoid}, GLenum), target, size, data, usage) end function glBufferSubData(target, offset, size, data) - ccall((:glBufferSubData, libgl), Cvoid, (GLenum, GLintptr, GLsizeiptr, Ptr{Cvoid}), target, offset, size, data) + ccall(getprocaddress_e("glBufferSubData"), Cvoid, (GLenum, GLintptr, GLsizeiptr, Ptr{Cvoid}), target, offset, size, data) end function glGetBufferSubData(target, offset, size, data) - ccall((:glGetBufferSubData, libgl), Cvoid, (GLenum, GLintptr, GLsizeiptr, Ptr{Cvoid}), target, offset, size, data) + ccall(getprocaddress_e("glGetBufferSubData"), Cvoid, (GLenum, GLintptr, GLsizeiptr, Ptr{Cvoid}), target, offset, size, data) end function glMapBuffer(target, access) - ccall((:glMapBuffer, libgl), Ptr{Cvoid}, (GLenum, GLenum), target, access) + ccall(getprocaddress_e("glMapBuffer"), Ptr{Cvoid}, (GLenum, GLenum), target, access) end function glUnmapBuffer(target) - ccall((:glUnmapBuffer, libgl), GLboolean, (GLenum,), target) + ccall(getprocaddress_e("glUnmapBuffer"), GLboolean, (GLenum,), target) end function glGetBufferParameteriv(target, pname, params) - ccall((:glGetBufferParameteriv, libgl), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) + ccall(getprocaddress_e("glGetBufferParameteriv"), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) end function glGetBufferPointerv(target, pname, params) - ccall((:glGetBufferPointerv, libgl), Cvoid, (GLenum, GLenum, Ptr{Ptr{Cvoid}}), target, pname, params) + ccall(getprocaddress_e("glGetBufferPointerv"), Cvoid, (GLenum, GLenum, Ptr{Ptr{Cvoid}}), target, pname, params) end const GLchar = Cchar @@ -1073,375 +1073,375 @@ const PFNGLVERTEXATTRIB4USVPROC = Ptr{Cvoid} const PFNGLVERTEXATTRIBPOINTERPROC = Ptr{Cvoid} function glBlendEquationSeparate(modeRGB, modeAlpha) - ccall((:glBlendEquationSeparate, libgl), Cvoid, (GLenum, GLenum), modeRGB, modeAlpha) + ccall(getprocaddress_e("glBlendEquationSeparate"), Cvoid, (GLenum, GLenum), modeRGB, modeAlpha) end function glDrawBuffers(n, bufs) - ccall((:glDrawBuffers, libgl), Cvoid, (GLsizei, Ptr{GLenum}), n, bufs) + ccall(getprocaddress_e("glDrawBuffers"), Cvoid, (GLsizei, Ptr{GLenum}), n, bufs) end function glStencilOpSeparate(face, sfail, dpfail, dppass) - ccall((:glStencilOpSeparate, libgl), Cvoid, (GLenum, GLenum, GLenum, GLenum), face, sfail, dpfail, dppass) + ccall(getprocaddress_e("glStencilOpSeparate"), Cvoid, (GLenum, GLenum, GLenum, GLenum), face, sfail, dpfail, dppass) end function glStencilFuncSeparate(face, func, ref, mask) - ccall((:glStencilFuncSeparate, libgl), Cvoid, (GLenum, GLenum, GLint, GLuint), face, func, ref, mask) + ccall(getprocaddress_e("glStencilFuncSeparate"), Cvoid, (GLenum, GLenum, GLint, GLuint), face, func, ref, mask) end function glStencilMaskSeparate(face, mask) - ccall((:glStencilMaskSeparate, libgl), Cvoid, (GLenum, GLuint), face, mask) + ccall(getprocaddress_e("glStencilMaskSeparate"), Cvoid, (GLenum, GLuint), face, mask) end function glAttachShader(program, shader) - ccall((:glAttachShader, libgl), Cvoid, (GLuint, GLuint), program, shader) + ccall(getprocaddress_e("glAttachShader"), Cvoid, (GLuint, GLuint), program, shader) end function glBindAttribLocation(program, index, name) - ccall((:glBindAttribLocation, libgl), Cvoid, (GLuint, GLuint, Ptr{GLchar}), program, index, name) + ccall(getprocaddress_e("glBindAttribLocation"), Cvoid, (GLuint, GLuint, Ptr{GLchar}), program, index, name) end function glCompileShader(shader) - ccall((:glCompileShader, libgl), Cvoid, (GLuint,), shader) + ccall(getprocaddress_e("glCompileShader"), Cvoid, (GLuint,), shader) end function glCreateProgram() - ccall((:glCreateProgram, libgl), GLuint, ()) + ccall(getprocaddress_e("glCreateProgram"), GLuint, ()) end function glCreateShader(type) - ccall((:glCreateShader, libgl), GLuint, (GLenum,), type) + ccall(getprocaddress_e("glCreateShader"), GLuint, (GLenum,), type) end function glDeleteProgram(program) - ccall((:glDeleteProgram, libgl), Cvoid, (GLuint,), program) + ccall(getprocaddress_e("glDeleteProgram"), Cvoid, (GLuint,), program) end function glDeleteShader(shader) - ccall((:glDeleteShader, libgl), Cvoid, (GLuint,), shader) + ccall(getprocaddress_e("glDeleteShader"), Cvoid, (GLuint,), shader) end function glDetachShader(program, shader) - ccall((:glDetachShader, libgl), Cvoid, (GLuint, GLuint), program, shader) + ccall(getprocaddress_e("glDetachShader"), Cvoid, (GLuint, GLuint), program, shader) end function glDisableVertexAttribArray(index) - ccall((:glDisableVertexAttribArray, libgl), Cvoid, (GLuint,), index) + ccall(getprocaddress_e("glDisableVertexAttribArray"), Cvoid, (GLuint,), index) end function glEnableVertexAttribArray(index) - ccall((:glEnableVertexAttribArray, libgl), Cvoid, (GLuint,), index) + ccall(getprocaddress_e("glEnableVertexAttribArray"), Cvoid, (GLuint,), index) end function glGetActiveAttrib(program, index, bufSize, length, size, type, name) - ccall((:glGetActiveAttrib, libgl), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLint}, Ptr{GLenum}, Ptr{GLchar}), program, index, bufSize, length, size, type, name) + ccall(getprocaddress_e("glGetActiveAttrib"), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLint}, Ptr{GLenum}, Ptr{GLchar}), program, index, bufSize, length, size, type, name) end function glGetActiveUniform(program, index, bufSize, length, size, type, name) - ccall((:glGetActiveUniform, libgl), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLint}, Ptr{GLenum}, Ptr{GLchar}), program, index, bufSize, length, size, type, name) + ccall(getprocaddress_e("glGetActiveUniform"), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLint}, Ptr{GLenum}, Ptr{GLchar}), program, index, bufSize, length, size, type, name) end function glGetAttachedShaders(program, maxCount, count, shaders) - ccall((:glGetAttachedShaders, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLuint}), program, maxCount, count, shaders) + ccall(getprocaddress_e("glGetAttachedShaders"), Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLuint}), program, maxCount, count, shaders) end function glGetAttribLocation(program, name) - ccall((:glGetAttribLocation, libgl), GLint, (GLuint, Ptr{GLchar}), program, name) + ccall(getprocaddress_e("glGetAttribLocation"), GLint, (GLuint, Ptr{GLchar}), program, name) end function glGetProgramiv(program, pname, params) - ccall((:glGetProgramiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), program, pname, params) + ccall(getprocaddress_e("glGetProgramiv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), program, pname, params) end function glGetProgramInfoLog(program, bufSize, length, infoLog) - ccall((:glGetProgramInfoLog, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), program, bufSize, length, infoLog) + ccall(getprocaddress_e("glGetProgramInfoLog"), Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), program, bufSize, length, infoLog) end function glGetShaderiv(shader, pname, params) - ccall((:glGetShaderiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), shader, pname, params) + ccall(getprocaddress_e("glGetShaderiv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), shader, pname, params) end function glGetShaderInfoLog(shader, bufSize, length, infoLog) - ccall((:glGetShaderInfoLog, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), shader, bufSize, length, infoLog) + ccall(getprocaddress_e("glGetShaderInfoLog"), Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), shader, bufSize, length, infoLog) end function glGetShaderSource(shader, bufSize, length, source) - ccall((:glGetShaderSource, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), shader, bufSize, length, source) + ccall(getprocaddress_e("glGetShaderSource"), Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), shader, bufSize, length, source) end function glGetUniformLocation(program, name) - ccall((:glGetUniformLocation, libgl), GLint, (GLuint, Ptr{GLchar}), program, name) + ccall(getprocaddress_e("glGetUniformLocation"), GLint, (GLuint, Ptr{GLchar}), program, name) end function glGetUniformfv(program, location, params) - ccall((:glGetUniformfv, libgl), Cvoid, (GLuint, GLint, Ptr{GLfloat}), program, location, params) + ccall(getprocaddress_e("glGetUniformfv"), Cvoid, (GLuint, GLint, Ptr{GLfloat}), program, location, params) end function glGetUniformiv(program, location, params) - ccall((:glGetUniformiv, libgl), Cvoid, (GLuint, GLint, Ptr{GLint}), program, location, params) + ccall(getprocaddress_e("glGetUniformiv"), Cvoid, (GLuint, GLint, Ptr{GLint}), program, location, params) end function glGetVertexAttribdv(index, pname, params) - ccall((:glGetVertexAttribdv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLdouble}), index, pname, params) + ccall(getprocaddress_e("glGetVertexAttribdv"), Cvoid, (GLuint, GLenum, Ptr{GLdouble}), index, pname, params) end function glGetVertexAttribfv(index, pname, params) - ccall((:glGetVertexAttribfv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLfloat}), index, pname, params) + ccall(getprocaddress_e("glGetVertexAttribfv"), Cvoid, (GLuint, GLenum, Ptr{GLfloat}), index, pname, params) end function glGetVertexAttribiv(index, pname, params) - ccall((:glGetVertexAttribiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), index, pname, params) + ccall(getprocaddress_e("glGetVertexAttribiv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), index, pname, params) end function glGetVertexAttribPointerv(index, pname, pointer) - ccall((:glGetVertexAttribPointerv, libgl), Cvoid, (GLuint, GLenum, Ptr{Ptr{Cvoid}}), index, pname, pointer) + ccall(getprocaddress_e("glGetVertexAttribPointerv"), Cvoid, (GLuint, GLenum, Ptr{Ptr{Cvoid}}), index, pname, pointer) end function glIsProgram(program) - ccall((:glIsProgram, libgl), GLboolean, (GLuint,), program) + ccall(getprocaddress_e("glIsProgram"), GLboolean, (GLuint,), program) end function glIsShader(shader) - ccall((:glIsShader, libgl), GLboolean, (GLuint,), shader) + ccall(getprocaddress_e("glIsShader"), GLboolean, (GLuint,), shader) end function glLinkProgram(program) - ccall((:glLinkProgram, libgl), Cvoid, (GLuint,), program) + ccall(getprocaddress_e("glLinkProgram"), Cvoid, (GLuint,), program) end function glShaderSource(shader, count, string, length) - ccall((:glShaderSource, libgl), Cvoid, (GLuint, GLsizei, Ptr{Ptr{GLchar}}, Ptr{GLint}), shader, count, string, length) + ccall(getprocaddress_e("glShaderSource"), Cvoid, (GLuint, GLsizei, Ptr{Ptr{GLchar}}, Ptr{GLint}), shader, count, string, length) end function glUseProgram(program) - ccall((:glUseProgram, libgl), Cvoid, (GLuint,), program) + ccall(getprocaddress_e("glUseProgram"), Cvoid, (GLuint,), program) end function glUniform1f(location, v0) - ccall((:glUniform1f, libgl), Cvoid, (GLint, GLfloat), location, v0) + ccall(getprocaddress_e("glUniform1f"), Cvoid, (GLint, GLfloat), location, v0) end function glUniform2f(location, v0, v1) - ccall((:glUniform2f, libgl), Cvoid, (GLint, GLfloat, GLfloat), location, v0, v1) + ccall(getprocaddress_e("glUniform2f"), Cvoid, (GLint, GLfloat, GLfloat), location, v0, v1) end function glUniform3f(location, v0, v1, v2) - ccall((:glUniform3f, libgl), Cvoid, (GLint, GLfloat, GLfloat, GLfloat), location, v0, v1, v2) + ccall(getprocaddress_e("glUniform3f"), Cvoid, (GLint, GLfloat, GLfloat, GLfloat), location, v0, v1, v2) end function glUniform4f(location, v0, v1, v2, v3) - ccall((:glUniform4f, libgl), Cvoid, (GLint, GLfloat, GLfloat, GLfloat, GLfloat), location, v0, v1, v2, v3) + ccall(getprocaddress_e("glUniform4f"), Cvoid, (GLint, GLfloat, GLfloat, GLfloat, GLfloat), location, v0, v1, v2, v3) end function glUniform1i(location, v0) - ccall((:glUniform1i, libgl), Cvoid, (GLint, GLint), location, v0) + ccall(getprocaddress_e("glUniform1i"), Cvoid, (GLint, GLint), location, v0) end function glUniform2i(location, v0, v1) - ccall((:glUniform2i, libgl), Cvoid, (GLint, GLint, GLint), location, v0, v1) + ccall(getprocaddress_e("glUniform2i"), Cvoid, (GLint, GLint, GLint), location, v0, v1) end function glUniform3i(location, v0, v1, v2) - ccall((:glUniform3i, libgl), Cvoid, (GLint, GLint, GLint, GLint), location, v0, v1, v2) + ccall(getprocaddress_e("glUniform3i"), Cvoid, (GLint, GLint, GLint, GLint), location, v0, v1, v2) end function glUniform4i(location, v0, v1, v2, v3) - ccall((:glUniform4i, libgl), Cvoid, (GLint, GLint, GLint, GLint, GLint), location, v0, v1, v2, v3) + ccall(getprocaddress_e("glUniform4i"), Cvoid, (GLint, GLint, GLint, GLint, GLint), location, v0, v1, v2, v3) end function glUniform1fv(location, count, value) - ccall((:glUniform1fv, libgl), Cvoid, (GLint, GLsizei, Ptr{GLfloat}), location, count, value) + ccall(getprocaddress_e("glUniform1fv"), Cvoid, (GLint, GLsizei, Ptr{GLfloat}), location, count, value) end function glUniform2fv(location, count, value) - ccall((:glUniform2fv, libgl), Cvoid, (GLint, GLsizei, Ptr{GLfloat}), location, count, value) + ccall(getprocaddress_e("glUniform2fv"), Cvoid, (GLint, GLsizei, Ptr{GLfloat}), location, count, value) end function glUniform3fv(location, count, value) - ccall((:glUniform3fv, libgl), Cvoid, (GLint, GLsizei, Ptr{GLfloat}), location, count, value) + ccall(getprocaddress_e("glUniform3fv"), Cvoid, (GLint, GLsizei, Ptr{GLfloat}), location, count, value) end function glUniform4fv(location, count, value) - ccall((:glUniform4fv, libgl), Cvoid, (GLint, GLsizei, Ptr{GLfloat}), location, count, value) + ccall(getprocaddress_e("glUniform4fv"), Cvoid, (GLint, GLsizei, Ptr{GLfloat}), location, count, value) end function glUniform1iv(location, count, value) - ccall((:glUniform1iv, libgl), Cvoid, (GLint, GLsizei, Ptr{GLint}), location, count, value) + ccall(getprocaddress_e("glUniform1iv"), Cvoid, (GLint, GLsizei, Ptr{GLint}), location, count, value) end function glUniform2iv(location, count, value) - ccall((:glUniform2iv, libgl), Cvoid, (GLint, GLsizei, Ptr{GLint}), location, count, value) + ccall(getprocaddress_e("glUniform2iv"), Cvoid, (GLint, GLsizei, Ptr{GLint}), location, count, value) end function glUniform3iv(location, count, value) - ccall((:glUniform3iv, libgl), Cvoid, (GLint, GLsizei, Ptr{GLint}), location, count, value) + ccall(getprocaddress_e("glUniform3iv"), Cvoid, (GLint, GLsizei, Ptr{GLint}), location, count, value) end function glUniform4iv(location, count, value) - ccall((:glUniform4iv, libgl), Cvoid, (GLint, GLsizei, Ptr{GLint}), location, count, value) + ccall(getprocaddress_e("glUniform4iv"), Cvoid, (GLint, GLsizei, Ptr{GLint}), location, count, value) end function glUniformMatrix2fv(location, count, transpose, value) - ccall((:glUniformMatrix2fv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) + ccall(getprocaddress_e("glUniformMatrix2fv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) end function glUniformMatrix3fv(location, count, transpose, value) - ccall((:glUniformMatrix3fv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) + ccall(getprocaddress_e("glUniformMatrix3fv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) end function glUniformMatrix4fv(location, count, transpose, value) - ccall((:glUniformMatrix4fv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) + ccall(getprocaddress_e("glUniformMatrix4fv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) end function glValidateProgram(program) - ccall((:glValidateProgram, libgl), Cvoid, (GLuint,), program) + ccall(getprocaddress_e("glValidateProgram"), Cvoid, (GLuint,), program) end function glVertexAttrib1d(index, x) - ccall((:glVertexAttrib1d, libgl), Cvoid, (GLuint, GLdouble), index, x) + ccall(getprocaddress_e("glVertexAttrib1d"), Cvoid, (GLuint, GLdouble), index, x) end function glVertexAttrib1dv(index, v) - ccall((:glVertexAttrib1dv, libgl), Cvoid, (GLuint, Ptr{GLdouble}), index, v) + ccall(getprocaddress_e("glVertexAttrib1dv"), Cvoid, (GLuint, Ptr{GLdouble}), index, v) end function glVertexAttrib1f(index, x) - ccall((:glVertexAttrib1f, libgl), Cvoid, (GLuint, GLfloat), index, x) + ccall(getprocaddress_e("glVertexAttrib1f"), Cvoid, (GLuint, GLfloat), index, x) end function glVertexAttrib1fv(index, v) - ccall((:glVertexAttrib1fv, libgl), Cvoid, (GLuint, Ptr{GLfloat}), index, v) + ccall(getprocaddress_e("glVertexAttrib1fv"), Cvoid, (GLuint, Ptr{GLfloat}), index, v) end function glVertexAttrib1s(index, x) - ccall((:glVertexAttrib1s, libgl), Cvoid, (GLuint, GLshort), index, x) + ccall(getprocaddress_e("glVertexAttrib1s"), Cvoid, (GLuint, GLshort), index, x) end function glVertexAttrib1sv(index, v) - ccall((:glVertexAttrib1sv, libgl), Cvoid, (GLuint, Ptr{GLshort}), index, v) + ccall(getprocaddress_e("glVertexAttrib1sv"), Cvoid, (GLuint, Ptr{GLshort}), index, v) end function glVertexAttrib2d(index, x, y) - ccall((:glVertexAttrib2d, libgl), Cvoid, (GLuint, GLdouble, GLdouble), index, x, y) + ccall(getprocaddress_e("glVertexAttrib2d"), Cvoid, (GLuint, GLdouble, GLdouble), index, x, y) end function glVertexAttrib2dv(index, v) - ccall((:glVertexAttrib2dv, libgl), Cvoid, (GLuint, Ptr{GLdouble}), index, v) + ccall(getprocaddress_e("glVertexAttrib2dv"), Cvoid, (GLuint, Ptr{GLdouble}), index, v) end function glVertexAttrib2f(index, x, y) - ccall((:glVertexAttrib2f, libgl), Cvoid, (GLuint, GLfloat, GLfloat), index, x, y) + ccall(getprocaddress_e("glVertexAttrib2f"), Cvoid, (GLuint, GLfloat, GLfloat), index, x, y) end function glVertexAttrib2fv(index, v) - ccall((:glVertexAttrib2fv, libgl), Cvoid, (GLuint, Ptr{GLfloat}), index, v) + ccall(getprocaddress_e("glVertexAttrib2fv"), Cvoid, (GLuint, Ptr{GLfloat}), index, v) end function glVertexAttrib2s(index, x, y) - ccall((:glVertexAttrib2s, libgl), Cvoid, (GLuint, GLshort, GLshort), index, x, y) + ccall(getprocaddress_e("glVertexAttrib2s"), Cvoid, (GLuint, GLshort, GLshort), index, x, y) end function glVertexAttrib2sv(index, v) - ccall((:glVertexAttrib2sv, libgl), Cvoid, (GLuint, Ptr{GLshort}), index, v) + ccall(getprocaddress_e("glVertexAttrib2sv"), Cvoid, (GLuint, Ptr{GLshort}), index, v) end function glVertexAttrib3d(index, x, y, z) - ccall((:glVertexAttrib3d, libgl), Cvoid, (GLuint, GLdouble, GLdouble, GLdouble), index, x, y, z) + ccall(getprocaddress_e("glVertexAttrib3d"), Cvoid, (GLuint, GLdouble, GLdouble, GLdouble), index, x, y, z) end function glVertexAttrib3dv(index, v) - ccall((:glVertexAttrib3dv, libgl), Cvoid, (GLuint, Ptr{GLdouble}), index, v) + ccall(getprocaddress_e("glVertexAttrib3dv"), Cvoid, (GLuint, Ptr{GLdouble}), index, v) end function glVertexAttrib3f(index, x, y, z) - ccall((:glVertexAttrib3f, libgl), Cvoid, (GLuint, GLfloat, GLfloat, GLfloat), index, x, y, z) + ccall(getprocaddress_e("glVertexAttrib3f"), Cvoid, (GLuint, GLfloat, GLfloat, GLfloat), index, x, y, z) end function glVertexAttrib3fv(index, v) - ccall((:glVertexAttrib3fv, libgl), Cvoid, (GLuint, Ptr{GLfloat}), index, v) + ccall(getprocaddress_e("glVertexAttrib3fv"), Cvoid, (GLuint, Ptr{GLfloat}), index, v) end function glVertexAttrib3s(index, x, y, z) - ccall((:glVertexAttrib3s, libgl), Cvoid, (GLuint, GLshort, GLshort, GLshort), index, x, y, z) + ccall(getprocaddress_e("glVertexAttrib3s"), Cvoid, (GLuint, GLshort, GLshort, GLshort), index, x, y, z) end function glVertexAttrib3sv(index, v) - ccall((:glVertexAttrib3sv, libgl), Cvoid, (GLuint, Ptr{GLshort}), index, v) + ccall(getprocaddress_e("glVertexAttrib3sv"), Cvoid, (GLuint, Ptr{GLshort}), index, v) end function glVertexAttrib4Nbv(index, v) - ccall((:glVertexAttrib4Nbv, libgl), Cvoid, (GLuint, Ptr{GLbyte}), index, v) + ccall(getprocaddress_e("glVertexAttrib4Nbv"), Cvoid, (GLuint, Ptr{GLbyte}), index, v) end function glVertexAttrib4Niv(index, v) - ccall((:glVertexAttrib4Niv, libgl), Cvoid, (GLuint, Ptr{GLint}), index, v) + ccall(getprocaddress_e("glVertexAttrib4Niv"), Cvoid, (GLuint, Ptr{GLint}), index, v) end function glVertexAttrib4Nsv(index, v) - ccall((:glVertexAttrib4Nsv, libgl), Cvoid, (GLuint, Ptr{GLshort}), index, v) + ccall(getprocaddress_e("glVertexAttrib4Nsv"), Cvoid, (GLuint, Ptr{GLshort}), index, v) end function glVertexAttrib4Nub(index, x, y, z, w) - ccall((:glVertexAttrib4Nub, libgl), Cvoid, (GLuint, GLubyte, GLubyte, GLubyte, GLubyte), index, x, y, z, w) + ccall(getprocaddress_e("glVertexAttrib4Nub"), Cvoid, (GLuint, GLubyte, GLubyte, GLubyte, GLubyte), index, x, y, z, w) end function glVertexAttrib4Nubv(index, v) - ccall((:glVertexAttrib4Nubv, libgl), Cvoid, (GLuint, Ptr{GLubyte}), index, v) + ccall(getprocaddress_e("glVertexAttrib4Nubv"), Cvoid, (GLuint, Ptr{GLubyte}), index, v) end function glVertexAttrib4Nuiv(index, v) - ccall((:glVertexAttrib4Nuiv, libgl), Cvoid, (GLuint, Ptr{GLuint}), index, v) + ccall(getprocaddress_e("glVertexAttrib4Nuiv"), Cvoid, (GLuint, Ptr{GLuint}), index, v) end function glVertexAttrib4Nusv(index, v) - ccall((:glVertexAttrib4Nusv, libgl), Cvoid, (GLuint, Ptr{GLushort}), index, v) + ccall(getprocaddress_e("glVertexAttrib4Nusv"), Cvoid, (GLuint, Ptr{GLushort}), index, v) end function glVertexAttrib4bv(index, v) - ccall((:glVertexAttrib4bv, libgl), Cvoid, (GLuint, Ptr{GLbyte}), index, v) + ccall(getprocaddress_e("glVertexAttrib4bv"), Cvoid, (GLuint, Ptr{GLbyte}), index, v) end function glVertexAttrib4d(index, x, y, z, w) - ccall((:glVertexAttrib4d, libgl), Cvoid, (GLuint, GLdouble, GLdouble, GLdouble, GLdouble), index, x, y, z, w) + ccall(getprocaddress_e("glVertexAttrib4d"), Cvoid, (GLuint, GLdouble, GLdouble, GLdouble, GLdouble), index, x, y, z, w) end function glVertexAttrib4dv(index, v) - ccall((:glVertexAttrib4dv, libgl), Cvoid, (GLuint, Ptr{GLdouble}), index, v) + ccall(getprocaddress_e("glVertexAttrib4dv"), Cvoid, (GLuint, Ptr{GLdouble}), index, v) end function glVertexAttrib4f(index, x, y, z, w) - ccall((:glVertexAttrib4f, libgl), Cvoid, (GLuint, GLfloat, GLfloat, GLfloat, GLfloat), index, x, y, z, w) + ccall(getprocaddress_e("glVertexAttrib4f"), Cvoid, (GLuint, GLfloat, GLfloat, GLfloat, GLfloat), index, x, y, z, w) end function glVertexAttrib4fv(index, v) - ccall((:glVertexAttrib4fv, libgl), Cvoid, (GLuint, Ptr{GLfloat}), index, v) + ccall(getprocaddress_e("glVertexAttrib4fv"), Cvoid, (GLuint, Ptr{GLfloat}), index, v) end function glVertexAttrib4iv(index, v) - ccall((:glVertexAttrib4iv, libgl), Cvoid, (GLuint, Ptr{GLint}), index, v) + ccall(getprocaddress_e("glVertexAttrib4iv"), Cvoid, (GLuint, Ptr{GLint}), index, v) end function glVertexAttrib4s(index, x, y, z, w) - ccall((:glVertexAttrib4s, libgl), Cvoid, (GLuint, GLshort, GLshort, GLshort, GLshort), index, x, y, z, w) + ccall(getprocaddress_e("glVertexAttrib4s"), Cvoid, (GLuint, GLshort, GLshort, GLshort, GLshort), index, x, y, z, w) end function glVertexAttrib4sv(index, v) - ccall((:glVertexAttrib4sv, libgl), Cvoid, (GLuint, Ptr{GLshort}), index, v) + ccall(getprocaddress_e("glVertexAttrib4sv"), Cvoid, (GLuint, Ptr{GLshort}), index, v) end function glVertexAttrib4ubv(index, v) - ccall((:glVertexAttrib4ubv, libgl), Cvoid, (GLuint, Ptr{GLubyte}), index, v) + ccall(getprocaddress_e("glVertexAttrib4ubv"), Cvoid, (GLuint, Ptr{GLubyte}), index, v) end function glVertexAttrib4uiv(index, v) - ccall((:glVertexAttrib4uiv, libgl), Cvoid, (GLuint, Ptr{GLuint}), index, v) + ccall(getprocaddress_e("glVertexAttrib4uiv"), Cvoid, (GLuint, Ptr{GLuint}), index, v) end function glVertexAttrib4usv(index, v) - ccall((:glVertexAttrib4usv, libgl), Cvoid, (GLuint, Ptr{GLushort}), index, v) + ccall(getprocaddress_e("glVertexAttrib4usv"), Cvoid, (GLuint, Ptr{GLushort}), index, v) end function glVertexAttribPointer(index, size, type, normalized, stride, pointer) - ccall((:glVertexAttribPointer, libgl), Cvoid, (GLuint, GLint, GLenum, GLboolean, GLsizei, Ptr{Cvoid}), index, size, type, normalized, stride, pointer) + ccall(getprocaddress_e("glVertexAttribPointer"), Cvoid, (GLuint, GLint, GLenum, GLboolean, GLsizei, Ptr{Cvoid}), index, size, type, normalized, stride, pointer) end # typedef void ( APIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC ) ( GLint location , GLsizei count , GLboolean transpose , const GLfloat * value ) @@ -1463,27 +1463,27 @@ const PFNGLUNIFORMMATRIX3X4FVPROC = Ptr{Cvoid} const PFNGLUNIFORMMATRIX4X3FVPROC = Ptr{Cvoid} function glUniformMatrix2x3fv(location, count, transpose, value) - ccall((:glUniformMatrix2x3fv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) + ccall(getprocaddress_e("glUniformMatrix2x3fv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) end function glUniformMatrix3x2fv(location, count, transpose, value) - ccall((:glUniformMatrix3x2fv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) + ccall(getprocaddress_e("glUniformMatrix3x2fv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) end function glUniformMatrix2x4fv(location, count, transpose, value) - ccall((:glUniformMatrix2x4fv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) + ccall(getprocaddress_e("glUniformMatrix2x4fv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) end function glUniformMatrix4x2fv(location, count, transpose, value) - ccall((:glUniformMatrix4x2fv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) + ccall(getprocaddress_e("glUniformMatrix4x2fv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) end function glUniformMatrix3x4fv(location, count, transpose, value) - ccall((:glUniformMatrix3x4fv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) + ccall(getprocaddress_e("glUniformMatrix3x4fv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) end function glUniformMatrix4x3fv(location, count, transpose, value) - ccall((:glUniformMatrix4x3fv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) + ccall(getprocaddress_e("glUniformMatrix4x3fv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) end const GLhalf = khronos_uint16_t @@ -1741,339 +1741,339 @@ const PFNGLGENVERTEXARRAYSPROC = Ptr{Cvoid} const PFNGLISVERTEXARRAYPROC = Ptr{Cvoid} function glColorMaski(index, r, g, b, a) - ccall((:glColorMaski, libgl), Cvoid, (GLuint, GLboolean, GLboolean, GLboolean, GLboolean), index, r, g, b, a) + ccall(getprocaddress_e("glColorMaski"), Cvoid, (GLuint, GLboolean, GLboolean, GLboolean, GLboolean), index, r, g, b, a) end function glGetBooleani_v(target, index, data) - ccall((:glGetBooleani_v, libgl), Cvoid, (GLenum, GLuint, Ptr{GLboolean}), target, index, data) + ccall(getprocaddress_e("glGetBooleani_v"), Cvoid, (GLenum, GLuint, Ptr{GLboolean}), target, index, data) end function glGetIntegeri_v(target, index, data) - ccall((:glGetIntegeri_v, libgl), Cvoid, (GLenum, GLuint, Ptr{GLint}), target, index, data) + ccall(getprocaddress_e("glGetIntegeri_v"), Cvoid, (GLenum, GLuint, Ptr{GLint}), target, index, data) end function glEnablei(target, index) - ccall((:glEnablei, libgl), Cvoid, (GLenum, GLuint), target, index) + ccall(getprocaddress_e("glEnablei"), Cvoid, (GLenum, GLuint), target, index) end function glDisablei(target, index) - ccall((:glDisablei, libgl), Cvoid, (GLenum, GLuint), target, index) + ccall(getprocaddress_e("glDisablei"), Cvoid, (GLenum, GLuint), target, index) end function glIsEnabledi(target, index) - ccall((:glIsEnabledi, libgl), GLboolean, (GLenum, GLuint), target, index) + ccall(getprocaddress_e("glIsEnabledi"), GLboolean, (GLenum, GLuint), target, index) end function glBeginTransformFeedback(primitiveMode) - ccall((:glBeginTransformFeedback, libgl), Cvoid, (GLenum,), primitiveMode) + ccall(getprocaddress_e("glBeginTransformFeedback"), Cvoid, (GLenum,), primitiveMode) end function glEndTransformFeedback() - ccall((:glEndTransformFeedback, libgl), Cvoid, ()) + ccall(getprocaddress_e("glEndTransformFeedback"), Cvoid, ()) end function glBindBufferRange(target, index, buffer, offset, size) - ccall((:glBindBufferRange, libgl), Cvoid, (GLenum, GLuint, GLuint, GLintptr, GLsizeiptr), target, index, buffer, offset, size) + ccall(getprocaddress_e("glBindBufferRange"), Cvoid, (GLenum, GLuint, GLuint, GLintptr, GLsizeiptr), target, index, buffer, offset, size) end function glBindBufferBase(target, index, buffer) - ccall((:glBindBufferBase, libgl), Cvoid, (GLenum, GLuint, GLuint), target, index, buffer) + ccall(getprocaddress_e("glBindBufferBase"), Cvoid, (GLenum, GLuint, GLuint), target, index, buffer) end function glTransformFeedbackVaryings(program, count, varyings, bufferMode) - ccall((:glTransformFeedbackVaryings, libgl), Cvoid, (GLuint, GLsizei, Ptr{Ptr{GLchar}}, GLenum), program, count, varyings, bufferMode) + ccall(getprocaddress_e("glTransformFeedbackVaryings"), Cvoid, (GLuint, GLsizei, Ptr{Ptr{GLchar}}, GLenum), program, count, varyings, bufferMode) end function glGetTransformFeedbackVarying(program, index, bufSize, length, size, type, name) - ccall((:glGetTransformFeedbackVarying, libgl), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLsizei}, Ptr{GLenum}, Ptr{GLchar}), program, index, bufSize, length, size, type, name) + ccall(getprocaddress_e("glGetTransformFeedbackVarying"), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLsizei}, Ptr{GLenum}, Ptr{GLchar}), program, index, bufSize, length, size, type, name) end function glClampColor(target, clamp) - ccall((:glClampColor, libgl), Cvoid, (GLenum, GLenum), target, clamp) + ccall(getprocaddress_e("glClampColor"), Cvoid, (GLenum, GLenum), target, clamp) end function glBeginConditionalRender(id, mode) - ccall((:glBeginConditionalRender, libgl), Cvoid, (GLuint, GLenum), id, mode) + ccall(getprocaddress_e("glBeginConditionalRender"), Cvoid, (GLuint, GLenum), id, mode) end function glEndConditionalRender() - ccall((:glEndConditionalRender, libgl), Cvoid, ()) + ccall(getprocaddress_e("glEndConditionalRender"), Cvoid, ()) end function glVertexAttribIPointer(index, size, type, stride, pointer) - ccall((:glVertexAttribIPointer, libgl), Cvoid, (GLuint, GLint, GLenum, GLsizei, Ptr{Cvoid}), index, size, type, stride, pointer) + ccall(getprocaddress_e("glVertexAttribIPointer"), Cvoid, (GLuint, GLint, GLenum, GLsizei, Ptr{Cvoid}), index, size, type, stride, pointer) end function glGetVertexAttribIiv(index, pname, params) - ccall((:glGetVertexAttribIiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), index, pname, params) + ccall(getprocaddress_e("glGetVertexAttribIiv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), index, pname, params) end function glGetVertexAttribIuiv(index, pname, params) - ccall((:glGetVertexAttribIuiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLuint}), index, pname, params) + ccall(getprocaddress_e("glGetVertexAttribIuiv"), Cvoid, (GLuint, GLenum, Ptr{GLuint}), index, pname, params) end function glVertexAttribI1i(index, x) - ccall((:glVertexAttribI1i, libgl), Cvoid, (GLuint, GLint), index, x) + ccall(getprocaddress_e("glVertexAttribI1i"), Cvoid, (GLuint, GLint), index, x) end function glVertexAttribI2i(index, x, y) - ccall((:glVertexAttribI2i, libgl), Cvoid, (GLuint, GLint, GLint), index, x, y) + ccall(getprocaddress_e("glVertexAttribI2i"), Cvoid, (GLuint, GLint, GLint), index, x, y) end function glVertexAttribI3i(index, x, y, z) - ccall((:glVertexAttribI3i, libgl), Cvoid, (GLuint, GLint, GLint, GLint), index, x, y, z) + ccall(getprocaddress_e("glVertexAttribI3i"), Cvoid, (GLuint, GLint, GLint, GLint), index, x, y, z) end function glVertexAttribI4i(index, x, y, z, w) - ccall((:glVertexAttribI4i, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLint), index, x, y, z, w) + ccall(getprocaddress_e("glVertexAttribI4i"), Cvoid, (GLuint, GLint, GLint, GLint, GLint), index, x, y, z, w) end function glVertexAttribI1ui(index, x) - ccall((:glVertexAttribI1ui, libgl), Cvoid, (GLuint, GLuint), index, x) + ccall(getprocaddress_e("glVertexAttribI1ui"), Cvoid, (GLuint, GLuint), index, x) end function glVertexAttribI2ui(index, x, y) - ccall((:glVertexAttribI2ui, libgl), Cvoid, (GLuint, GLuint, GLuint), index, x, y) + ccall(getprocaddress_e("glVertexAttribI2ui"), Cvoid, (GLuint, GLuint, GLuint), index, x, y) end function glVertexAttribI3ui(index, x, y, z) - ccall((:glVertexAttribI3ui, libgl), Cvoid, (GLuint, GLuint, GLuint, GLuint), index, x, y, z) + ccall(getprocaddress_e("glVertexAttribI3ui"), Cvoid, (GLuint, GLuint, GLuint, GLuint), index, x, y, z) end function glVertexAttribI4ui(index, x, y, z, w) - ccall((:glVertexAttribI4ui, libgl), Cvoid, (GLuint, GLuint, GLuint, GLuint, GLuint), index, x, y, z, w) + ccall(getprocaddress_e("glVertexAttribI4ui"), Cvoid, (GLuint, GLuint, GLuint, GLuint, GLuint), index, x, y, z, w) end function glVertexAttribI1iv(index, v) - ccall((:glVertexAttribI1iv, libgl), Cvoid, (GLuint, Ptr{GLint}), index, v) + ccall(getprocaddress_e("glVertexAttribI1iv"), Cvoid, (GLuint, Ptr{GLint}), index, v) end function glVertexAttribI2iv(index, v) - ccall((:glVertexAttribI2iv, libgl), Cvoid, (GLuint, Ptr{GLint}), index, v) + ccall(getprocaddress_e("glVertexAttribI2iv"), Cvoid, (GLuint, Ptr{GLint}), index, v) end function glVertexAttribI3iv(index, v) - ccall((:glVertexAttribI3iv, libgl), Cvoid, (GLuint, Ptr{GLint}), index, v) + ccall(getprocaddress_e("glVertexAttribI3iv"), Cvoid, (GLuint, Ptr{GLint}), index, v) end function glVertexAttribI4iv(index, v) - ccall((:glVertexAttribI4iv, libgl), Cvoid, (GLuint, Ptr{GLint}), index, v) + ccall(getprocaddress_e("glVertexAttribI4iv"), Cvoid, (GLuint, Ptr{GLint}), index, v) end function glVertexAttribI1uiv(index, v) - ccall((:glVertexAttribI1uiv, libgl), Cvoid, (GLuint, Ptr{GLuint}), index, v) + ccall(getprocaddress_e("glVertexAttribI1uiv"), Cvoid, (GLuint, Ptr{GLuint}), index, v) end function glVertexAttribI2uiv(index, v) - ccall((:glVertexAttribI2uiv, libgl), Cvoid, (GLuint, Ptr{GLuint}), index, v) + ccall(getprocaddress_e("glVertexAttribI2uiv"), Cvoid, (GLuint, Ptr{GLuint}), index, v) end function glVertexAttribI3uiv(index, v) - ccall((:glVertexAttribI3uiv, libgl), Cvoid, (GLuint, Ptr{GLuint}), index, v) + ccall(getprocaddress_e("glVertexAttribI3uiv"), Cvoid, (GLuint, Ptr{GLuint}), index, v) end function glVertexAttribI4uiv(index, v) - ccall((:glVertexAttribI4uiv, libgl), Cvoid, (GLuint, Ptr{GLuint}), index, v) + ccall(getprocaddress_e("glVertexAttribI4uiv"), Cvoid, (GLuint, Ptr{GLuint}), index, v) end function glVertexAttribI4bv(index, v) - ccall((:glVertexAttribI4bv, libgl), Cvoid, (GLuint, Ptr{GLbyte}), index, v) + ccall(getprocaddress_e("glVertexAttribI4bv"), Cvoid, (GLuint, Ptr{GLbyte}), index, v) end function glVertexAttribI4sv(index, v) - ccall((:glVertexAttribI4sv, libgl), Cvoid, (GLuint, Ptr{GLshort}), index, v) + ccall(getprocaddress_e("glVertexAttribI4sv"), Cvoid, (GLuint, Ptr{GLshort}), index, v) end function glVertexAttribI4ubv(index, v) - ccall((:glVertexAttribI4ubv, libgl), Cvoid, (GLuint, Ptr{GLubyte}), index, v) + ccall(getprocaddress_e("glVertexAttribI4ubv"), Cvoid, (GLuint, Ptr{GLubyte}), index, v) end function glVertexAttribI4usv(index, v) - ccall((:glVertexAttribI4usv, libgl), Cvoid, (GLuint, Ptr{GLushort}), index, v) + ccall(getprocaddress_e("glVertexAttribI4usv"), Cvoid, (GLuint, Ptr{GLushort}), index, v) end function glGetUniformuiv(program, location, params) - ccall((:glGetUniformuiv, libgl), Cvoid, (GLuint, GLint, Ptr{GLuint}), program, location, params) + ccall(getprocaddress_e("glGetUniformuiv"), Cvoid, (GLuint, GLint, Ptr{GLuint}), program, location, params) end function glBindFragDataLocation(program, color, name) - ccall((:glBindFragDataLocation, libgl), Cvoid, (GLuint, GLuint, Ptr{GLchar}), program, color, name) + ccall(getprocaddress_e("glBindFragDataLocation"), Cvoid, (GLuint, GLuint, Ptr{GLchar}), program, color, name) end function glGetFragDataLocation(program, name) - ccall((:glGetFragDataLocation, libgl), GLint, (GLuint, Ptr{GLchar}), program, name) + ccall(getprocaddress_e("glGetFragDataLocation"), GLint, (GLuint, Ptr{GLchar}), program, name) end function glUniform1ui(location, v0) - ccall((:glUniform1ui, libgl), Cvoid, (GLint, GLuint), location, v0) + ccall(getprocaddress_e("glUniform1ui"), Cvoid, (GLint, GLuint), location, v0) end function glUniform2ui(location, v0, v1) - ccall((:glUniform2ui, libgl), Cvoid, (GLint, GLuint, GLuint), location, v0, v1) + ccall(getprocaddress_e("glUniform2ui"), Cvoid, (GLint, GLuint, GLuint), location, v0, v1) end function glUniform3ui(location, v0, v1, v2) - ccall((:glUniform3ui, libgl), Cvoid, (GLint, GLuint, GLuint, GLuint), location, v0, v1, v2) + ccall(getprocaddress_e("glUniform3ui"), Cvoid, (GLint, GLuint, GLuint, GLuint), location, v0, v1, v2) end function glUniform4ui(location, v0, v1, v2, v3) - ccall((:glUniform4ui, libgl), Cvoid, (GLint, GLuint, GLuint, GLuint, GLuint), location, v0, v1, v2, v3) + ccall(getprocaddress_e("glUniform4ui"), Cvoid, (GLint, GLuint, GLuint, GLuint, GLuint), location, v0, v1, v2, v3) end function glUniform1uiv(location, count, value) - ccall((:glUniform1uiv, libgl), Cvoid, (GLint, GLsizei, Ptr{GLuint}), location, count, value) + ccall(getprocaddress_e("glUniform1uiv"), Cvoid, (GLint, GLsizei, Ptr{GLuint}), location, count, value) end function glUniform2uiv(location, count, value) - ccall((:glUniform2uiv, libgl), Cvoid, (GLint, GLsizei, Ptr{GLuint}), location, count, value) + ccall(getprocaddress_e("glUniform2uiv"), Cvoid, (GLint, GLsizei, Ptr{GLuint}), location, count, value) end function glUniform3uiv(location, count, value) - ccall((:glUniform3uiv, libgl), Cvoid, (GLint, GLsizei, Ptr{GLuint}), location, count, value) + ccall(getprocaddress_e("glUniform3uiv"), Cvoid, (GLint, GLsizei, Ptr{GLuint}), location, count, value) end function glUniform4uiv(location, count, value) - ccall((:glUniform4uiv, libgl), Cvoid, (GLint, GLsizei, Ptr{GLuint}), location, count, value) + ccall(getprocaddress_e("glUniform4uiv"), Cvoid, (GLint, GLsizei, Ptr{GLuint}), location, count, value) end function glTexParameterIiv(target, pname, params) - ccall((:glTexParameterIiv, libgl), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) + ccall(getprocaddress_e("glTexParameterIiv"), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) end function glTexParameterIuiv(target, pname, params) - ccall((:glTexParameterIuiv, libgl), Cvoid, (GLenum, GLenum, Ptr{GLuint}), target, pname, params) + ccall(getprocaddress_e("glTexParameterIuiv"), Cvoid, (GLenum, GLenum, Ptr{GLuint}), target, pname, params) end function glGetTexParameterIiv(target, pname, params) - ccall((:glGetTexParameterIiv, libgl), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) + ccall(getprocaddress_e("glGetTexParameterIiv"), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) end function glGetTexParameterIuiv(target, pname, params) - ccall((:glGetTexParameterIuiv, libgl), Cvoid, (GLenum, GLenum, Ptr{GLuint}), target, pname, params) + ccall(getprocaddress_e("glGetTexParameterIuiv"), Cvoid, (GLenum, GLenum, Ptr{GLuint}), target, pname, params) end function glClearBufferiv(buffer, drawbuffer, value) - ccall((:glClearBufferiv, libgl), Cvoid, (GLenum, GLint, Ptr{GLint}), buffer, drawbuffer, value) + ccall(getprocaddress_e("glClearBufferiv"), Cvoid, (GLenum, GLint, Ptr{GLint}), buffer, drawbuffer, value) end function glClearBufferuiv(buffer, drawbuffer, value) - ccall((:glClearBufferuiv, libgl), Cvoid, (GLenum, GLint, Ptr{GLuint}), buffer, drawbuffer, value) + ccall(getprocaddress_e("glClearBufferuiv"), Cvoid, (GLenum, GLint, Ptr{GLuint}), buffer, drawbuffer, value) end function glClearBufferfv(buffer, drawbuffer, value) - ccall((:glClearBufferfv, libgl), Cvoid, (GLenum, GLint, Ptr{GLfloat}), buffer, drawbuffer, value) + ccall(getprocaddress_e("glClearBufferfv"), Cvoid, (GLenum, GLint, Ptr{GLfloat}), buffer, drawbuffer, value) end function glClearBufferfi(buffer, drawbuffer, depth, stencil) - ccall((:glClearBufferfi, libgl), Cvoid, (GLenum, GLint, GLfloat, GLint), buffer, drawbuffer, depth, stencil) + ccall(getprocaddress_e("glClearBufferfi"), Cvoid, (GLenum, GLint, GLfloat, GLint), buffer, drawbuffer, depth, stencil) end function glGetStringi(name, index) - ccall((:glGetStringi, libgl), Ptr{GLubyte}, (GLenum, GLuint), name, index) + ccall(getprocaddress_e("glGetStringi"), Ptr{GLubyte}, (GLenum, GLuint), name, index) end function glIsRenderbuffer(renderbuffer) - ccall((:glIsRenderbuffer, libgl), GLboolean, (GLuint,), renderbuffer) + ccall(getprocaddress_e("glIsRenderbuffer"), GLboolean, (GLuint,), renderbuffer) end function glBindRenderbuffer(target, renderbuffer) - ccall((:glBindRenderbuffer, libgl), Cvoid, (GLenum, GLuint), target, renderbuffer) + ccall(getprocaddress_e("glBindRenderbuffer"), Cvoid, (GLenum, GLuint), target, renderbuffer) end function glDeleteRenderbuffers(n, renderbuffers) - ccall((:glDeleteRenderbuffers, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, renderbuffers) + ccall(getprocaddress_e("glDeleteRenderbuffers"), Cvoid, (GLsizei, Ptr{GLuint}), n, renderbuffers) end function glGenRenderbuffers(n, renderbuffers) - ccall((:glGenRenderbuffers, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, renderbuffers) + ccall(getprocaddress_e("glGenRenderbuffers"), Cvoid, (GLsizei, Ptr{GLuint}), n, renderbuffers) end function glRenderbufferStorage(target, internalformat, width, height) - ccall((:glRenderbufferStorage, libgl), Cvoid, (GLenum, GLenum, GLsizei, GLsizei), target, internalformat, width, height) + ccall(getprocaddress_e("glRenderbufferStorage"), Cvoid, (GLenum, GLenum, GLsizei, GLsizei), target, internalformat, width, height) end function glGetRenderbufferParameteriv(target, pname, params) - ccall((:glGetRenderbufferParameteriv, libgl), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) + ccall(getprocaddress_e("glGetRenderbufferParameteriv"), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) end function glIsFramebuffer(framebuffer) - ccall((:glIsFramebuffer, libgl), GLboolean, (GLuint,), framebuffer) + ccall(getprocaddress_e("glIsFramebuffer"), GLboolean, (GLuint,), framebuffer) end function glBindFramebuffer(target, framebuffer) - ccall((:glBindFramebuffer, libgl), Cvoid, (GLenum, GLuint), target, framebuffer) + ccall(getprocaddress_e("glBindFramebuffer"), Cvoid, (GLenum, GLuint), target, framebuffer) end function glDeleteFramebuffers(n, framebuffers) - ccall((:glDeleteFramebuffers, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, framebuffers) + ccall(getprocaddress_e("glDeleteFramebuffers"), Cvoid, (GLsizei, Ptr{GLuint}), n, framebuffers) end function glGenFramebuffers(n, framebuffers) - ccall((:glGenFramebuffers, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, framebuffers) + ccall(getprocaddress_e("glGenFramebuffers"), Cvoid, (GLsizei, Ptr{GLuint}), n, framebuffers) end function glCheckFramebufferStatus(target) - ccall((:glCheckFramebufferStatus, libgl), GLenum, (GLenum,), target) + ccall(getprocaddress_e("glCheckFramebufferStatus"), GLenum, (GLenum,), target) end function glFramebufferTexture1D(target, attachment, textarget, texture, level) - ccall((:glFramebufferTexture1D, libgl), Cvoid, (GLenum, GLenum, GLenum, GLuint, GLint), target, attachment, textarget, texture, level) + ccall(getprocaddress_e("glFramebufferTexture1D"), Cvoid, (GLenum, GLenum, GLenum, GLuint, GLint), target, attachment, textarget, texture, level) end function glFramebufferTexture2D(target, attachment, textarget, texture, level) - ccall((:glFramebufferTexture2D, libgl), Cvoid, (GLenum, GLenum, GLenum, GLuint, GLint), target, attachment, textarget, texture, level) + ccall(getprocaddress_e("glFramebufferTexture2D"), Cvoid, (GLenum, GLenum, GLenum, GLuint, GLint), target, attachment, textarget, texture, level) end function glFramebufferTexture3D(target, attachment, textarget, texture, level, zoffset) - ccall((:glFramebufferTexture3D, libgl), Cvoid, (GLenum, GLenum, GLenum, GLuint, GLint, GLint), target, attachment, textarget, texture, level, zoffset) + ccall(getprocaddress_e("glFramebufferTexture3D"), Cvoid, (GLenum, GLenum, GLenum, GLuint, GLint, GLint), target, attachment, textarget, texture, level, zoffset) end function glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) - ccall((:glFramebufferRenderbuffer, libgl), Cvoid, (GLenum, GLenum, GLenum, GLuint), target, attachment, renderbuffertarget, renderbuffer) + ccall(getprocaddress_e("glFramebufferRenderbuffer"), Cvoid, (GLenum, GLenum, GLenum, GLuint), target, attachment, renderbuffertarget, renderbuffer) end function glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) - ccall((:glGetFramebufferAttachmentParameteriv, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), target, attachment, pname, params) + ccall(getprocaddress_e("glGetFramebufferAttachmentParameteriv"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), target, attachment, pname, params) end function glGenerateMipmap(target) - ccall((:glGenerateMipmap, libgl), Cvoid, (GLenum,), target) + ccall(getprocaddress_e("glGenerateMipmap"), Cvoid, (GLenum,), target) end function glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter) - ccall((:glBlitFramebuffer, libgl), Cvoid, (GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum), srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter) + ccall(getprocaddress_e("glBlitFramebuffer"), Cvoid, (GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum), srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter) end function glRenderbufferStorageMultisample(target, samples, internalformat, width, height) - ccall((:glRenderbufferStorageMultisample, libgl), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei), target, samples, internalformat, width, height) + ccall(getprocaddress_e("glRenderbufferStorageMultisample"), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei), target, samples, internalformat, width, height) end function glFramebufferTextureLayer(target, attachment, texture, level, layer) - ccall((:glFramebufferTextureLayer, libgl), Cvoid, (GLenum, GLenum, GLuint, GLint, GLint), target, attachment, texture, level, layer) + ccall(getprocaddress_e("glFramebufferTextureLayer"), Cvoid, (GLenum, GLenum, GLuint, GLint, GLint), target, attachment, texture, level, layer) end function glMapBufferRange(target, offset, length, access) - ccall((:glMapBufferRange, libgl), Ptr{Cvoid}, (GLenum, GLintptr, GLsizeiptr, GLbitfield), target, offset, length, access) + ccall(getprocaddress_e("glMapBufferRange"), Ptr{Cvoid}, (GLenum, GLintptr, GLsizeiptr, GLbitfield), target, offset, length, access) end function glFlushMappedBufferRange(target, offset, length) - ccall((:glFlushMappedBufferRange, libgl), Cvoid, (GLenum, GLintptr, GLsizeiptr), target, offset, length) + ccall(getprocaddress_e("glFlushMappedBufferRange"), Cvoid, (GLenum, GLintptr, GLsizeiptr), target, offset, length) end function glBindVertexArray(array) - ccall((:glBindVertexArray, libgl), Cvoid, (GLuint,), array) + ccall(getprocaddress_e("glBindVertexArray"), Cvoid, (GLuint,), array) end function glDeleteVertexArrays(n, arrays) - ccall((:glDeleteVertexArrays, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, arrays) + ccall(getprocaddress_e("glDeleteVertexArrays"), Cvoid, (GLsizei, Ptr{GLuint}), n, arrays) end function glGenVertexArrays(n, arrays) - ccall((:glGenVertexArrays, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, arrays) + ccall(getprocaddress_e("glGenVertexArrays"), Cvoid, (GLsizei, Ptr{GLuint}), n, arrays) end function glIsVertexArray(array) - ccall((:glIsVertexArray, libgl), GLboolean, (GLuint,), array) + ccall(getprocaddress_e("glIsVertexArray"), GLboolean, (GLuint,), array) end # typedef void ( APIENTRYP PFNGLDRAWARRAYSINSTANCEDPROC ) ( GLenum mode , GLint first , GLsizei count , GLsizei instancecount ) @@ -2113,51 +2113,51 @@ const PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC = Ptr{Cvoid} const PFNGLUNIFORMBLOCKBINDINGPROC = Ptr{Cvoid} function glDrawArraysInstanced(mode, first, count, instancecount) - ccall((:glDrawArraysInstanced, libgl), Cvoid, (GLenum, GLint, GLsizei, GLsizei), mode, first, count, instancecount) + ccall(getprocaddress_e("glDrawArraysInstanced"), Cvoid, (GLenum, GLint, GLsizei, GLsizei), mode, first, count, instancecount) end function glDrawElementsInstanced(mode, count, type, indices, instancecount) - ccall((:glDrawElementsInstanced, libgl), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLsizei), mode, count, type, indices, instancecount) + ccall(getprocaddress_e("glDrawElementsInstanced"), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLsizei), mode, count, type, indices, instancecount) end function glTexBuffer(target, internalformat, buffer) - ccall((:glTexBuffer, libgl), Cvoid, (GLenum, GLenum, GLuint), target, internalformat, buffer) + ccall(getprocaddress_e("glTexBuffer"), Cvoid, (GLenum, GLenum, GLuint), target, internalformat, buffer) end function glPrimitiveRestartIndex(index) - ccall((:glPrimitiveRestartIndex, libgl), Cvoid, (GLuint,), index) + ccall(getprocaddress_e("glPrimitiveRestartIndex"), Cvoid, (GLuint,), index) end function glCopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size) - ccall((:glCopyBufferSubData, libgl), Cvoid, (GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr), readTarget, writeTarget, readOffset, writeOffset, size) + ccall(getprocaddress_e("glCopyBufferSubData"), Cvoid, (GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr), readTarget, writeTarget, readOffset, writeOffset, size) end function glGetUniformIndices(program, uniformCount, uniformNames, uniformIndices) - ccall((:glGetUniformIndices, libgl), Cvoid, (GLuint, GLsizei, Ptr{Ptr{GLchar}}, Ptr{GLuint}), program, uniformCount, uniformNames, uniformIndices) + ccall(getprocaddress_e("glGetUniformIndices"), Cvoid, (GLuint, GLsizei, Ptr{Ptr{GLchar}}, Ptr{GLuint}), program, uniformCount, uniformNames, uniformIndices) end function glGetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params) - ccall((:glGetActiveUniformsiv, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLuint}, GLenum, Ptr{GLint}), program, uniformCount, uniformIndices, pname, params) + ccall(getprocaddress_e("glGetActiveUniformsiv"), Cvoid, (GLuint, GLsizei, Ptr{GLuint}, GLenum, Ptr{GLint}), program, uniformCount, uniformIndices, pname, params) end function glGetActiveUniformName(program, uniformIndex, bufSize, length, uniformName) - ccall((:glGetActiveUniformName, libgl), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), program, uniformIndex, bufSize, length, uniformName) + ccall(getprocaddress_e("glGetActiveUniformName"), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), program, uniformIndex, bufSize, length, uniformName) end function glGetUniformBlockIndex(program, uniformBlockName) - ccall((:glGetUniformBlockIndex, libgl), GLuint, (GLuint, Ptr{GLchar}), program, uniformBlockName) + ccall(getprocaddress_e("glGetUniformBlockIndex"), GLuint, (GLuint, Ptr{GLchar}), program, uniformBlockName) end function glGetActiveUniformBlockiv(program, uniformBlockIndex, pname, params) - ccall((:glGetActiveUniformBlockiv, libgl), Cvoid, (GLuint, GLuint, GLenum, Ptr{GLint}), program, uniformBlockIndex, pname, params) + ccall(getprocaddress_e("glGetActiveUniformBlockiv"), Cvoid, (GLuint, GLuint, GLenum, Ptr{GLint}), program, uniformBlockIndex, pname, params) end function glGetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName) - ccall((:glGetActiveUniformBlockName, libgl), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), program, uniformBlockIndex, bufSize, length, uniformBlockName) + ccall(getprocaddress_e("glGetActiveUniformBlockName"), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), program, uniformBlockIndex, bufSize, length, uniformBlockName) end function glUniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding) - ccall((:glUniformBlockBinding, libgl), Cvoid, (GLuint, GLuint, GLuint), program, uniformBlockIndex, uniformBlockBinding) + ccall(getprocaddress_e("glUniformBlockBinding"), Cvoid, (GLuint, GLuint, GLuint), program, uniformBlockIndex, uniformBlockBinding) end mutable struct __GLsync end @@ -2226,79 +2226,79 @@ const PFNGLGETMULTISAMPLEFVPROC = Ptr{Cvoid} const PFNGLSAMPLEMASKIPROC = Ptr{Cvoid} function glDrawElementsBaseVertex(mode, count, type, indices, basevertex) - ccall((:glDrawElementsBaseVertex, libgl), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLint), mode, count, type, indices, basevertex) + ccall(getprocaddress_e("glDrawElementsBaseVertex"), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLint), mode, count, type, indices, basevertex) end function glDrawRangeElementsBaseVertex(mode, start, _end, count, type, indices, basevertex) - ccall((:glDrawRangeElementsBaseVertex, libgl), Cvoid, (GLenum, GLuint, GLuint, GLsizei, GLenum, Ptr{Cvoid}, GLint), mode, start, _end, count, type, indices, basevertex) + ccall(getprocaddress_e("glDrawRangeElementsBaseVertex"), Cvoid, (GLenum, GLuint, GLuint, GLsizei, GLenum, Ptr{Cvoid}, GLint), mode, start, _end, count, type, indices, basevertex) end function glDrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex) - ccall((:glDrawElementsInstancedBaseVertex, libgl), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLsizei, GLint), mode, count, type, indices, instancecount, basevertex) + ccall(getprocaddress_e("glDrawElementsInstancedBaseVertex"), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLsizei, GLint), mode, count, type, indices, instancecount, basevertex) end function glMultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex) - ccall((:glMultiDrawElementsBaseVertex, libgl), Cvoid, (GLenum, Ptr{GLsizei}, GLenum, Ptr{Ptr{Cvoid}}, GLsizei, Ptr{GLint}), mode, count, type, indices, drawcount, basevertex) + ccall(getprocaddress_e("glMultiDrawElementsBaseVertex"), Cvoid, (GLenum, Ptr{GLsizei}, GLenum, Ptr{Ptr{Cvoid}}, GLsizei, Ptr{GLint}), mode, count, type, indices, drawcount, basevertex) end function glProvokingVertex(mode) - ccall((:glProvokingVertex, libgl), Cvoid, (GLenum,), mode) + ccall(getprocaddress_e("glProvokingVertex"), Cvoid, (GLenum,), mode) end function glFenceSync(condition, flags) - ccall((:glFenceSync, libgl), GLsync, (GLenum, GLbitfield), condition, flags) + ccall(getprocaddress_e("glFenceSync"), GLsync, (GLenum, GLbitfield), condition, flags) end function glIsSync(sync) - ccall((:glIsSync, libgl), GLboolean, (GLsync,), sync) + ccall(getprocaddress_e("glIsSync"), GLboolean, (GLsync,), sync) end function glDeleteSync(sync) - ccall((:glDeleteSync, libgl), Cvoid, (GLsync,), sync) + ccall(getprocaddress_e("glDeleteSync"), Cvoid, (GLsync,), sync) end function glClientWaitSync(sync, flags, timeout) - ccall((:glClientWaitSync, libgl), GLenum, (GLsync, GLbitfield, GLuint64), sync, flags, timeout) + ccall(getprocaddress_e("glClientWaitSync"), GLenum, (GLsync, GLbitfield, GLuint64), sync, flags, timeout) end function glWaitSync(sync, flags, timeout) - ccall((:glWaitSync, libgl), Cvoid, (GLsync, GLbitfield, GLuint64), sync, flags, timeout) + ccall(getprocaddress_e("glWaitSync"), Cvoid, (GLsync, GLbitfield, GLuint64), sync, flags, timeout) end function glGetInteger64v(pname, data) - ccall((:glGetInteger64v, libgl), Cvoid, (GLenum, Ptr{GLint64}), pname, data) + ccall(getprocaddress_e("glGetInteger64v"), Cvoid, (GLenum, Ptr{GLint64}), pname, data) end function glGetSynciv(sync, pname, count, length, values) - ccall((:glGetSynciv, libgl), Cvoid, (GLsync, GLenum, GLsizei, Ptr{GLsizei}, Ptr{GLint}), sync, pname, count, length, values) + ccall(getprocaddress_e("glGetSynciv"), Cvoid, (GLsync, GLenum, GLsizei, Ptr{GLsizei}, Ptr{GLint}), sync, pname, count, length, values) end function glGetInteger64i_v(target, index, data) - ccall((:glGetInteger64i_v, libgl), Cvoid, (GLenum, GLuint, Ptr{GLint64}), target, index, data) + ccall(getprocaddress_e("glGetInteger64i_v"), Cvoid, (GLenum, GLuint, Ptr{GLint64}), target, index, data) end function glGetBufferParameteri64v(target, pname, params) - ccall((:glGetBufferParameteri64v, libgl), Cvoid, (GLenum, GLenum, Ptr{GLint64}), target, pname, params) + ccall(getprocaddress_e("glGetBufferParameteri64v"), Cvoid, (GLenum, GLenum, Ptr{GLint64}), target, pname, params) end function glFramebufferTexture(target, attachment, texture, level) - ccall((:glFramebufferTexture, libgl), Cvoid, (GLenum, GLenum, GLuint, GLint), target, attachment, texture, level) + ccall(getprocaddress_e("glFramebufferTexture"), Cvoid, (GLenum, GLenum, GLuint, GLint), target, attachment, texture, level) end function glTexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations) - ccall((:glTexImage2DMultisample, libgl), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean), target, samples, internalformat, width, height, fixedsamplelocations) + ccall(getprocaddress_e("glTexImage2DMultisample"), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean), target, samples, internalformat, width, height, fixedsamplelocations) end function glTexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations) - ccall((:glTexImage3DMultisample, libgl), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean), target, samples, internalformat, width, height, depth, fixedsamplelocations) + ccall(getprocaddress_e("glTexImage3DMultisample"), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean), target, samples, internalformat, width, height, depth, fixedsamplelocations) end function glGetMultisamplefv(pname, index, val) - ccall((:glGetMultisamplefv, libgl), Cvoid, (GLenum, GLuint, Ptr{GLfloat}), pname, index, val) + ccall(getprocaddress_e("glGetMultisamplefv"), Cvoid, (GLenum, GLuint, Ptr{GLfloat}), pname, index, val) end function glSampleMaski(maskNumber, mask) - ccall((:glSampleMaski, libgl), Cvoid, (GLuint, GLbitfield), maskNumber, mask) + ccall(getprocaddress_e("glSampleMaski"), Cvoid, (GLuint, GLbitfield), maskNumber, mask) end # typedef void ( APIENTRYP PFNGLBINDFRAGDATALOCATIONINDEXEDPROC ) ( GLuint program , GLuint colorNumber , GLuint index , const GLchar * name ) @@ -2386,115 +2386,115 @@ const PFNGLVERTEXATTRIBP4UIPROC = Ptr{Cvoid} const PFNGLVERTEXATTRIBP4UIVPROC = Ptr{Cvoid} function glBindFragDataLocationIndexed(program, colorNumber, index, name) - ccall((:glBindFragDataLocationIndexed, libgl), Cvoid, (GLuint, GLuint, GLuint, Ptr{GLchar}), program, colorNumber, index, name) + ccall(getprocaddress_e("glBindFragDataLocationIndexed"), Cvoid, (GLuint, GLuint, GLuint, Ptr{GLchar}), program, colorNumber, index, name) end function glGetFragDataIndex(program, name) - ccall((:glGetFragDataIndex, libgl), GLint, (GLuint, Ptr{GLchar}), program, name) + ccall(getprocaddress_e("glGetFragDataIndex"), GLint, (GLuint, Ptr{GLchar}), program, name) end function glGenSamplers(count, samplers) - ccall((:glGenSamplers, libgl), Cvoid, (GLsizei, Ptr{GLuint}), count, samplers) + ccall(getprocaddress_e("glGenSamplers"), Cvoid, (GLsizei, Ptr{GLuint}), count, samplers) end function glDeleteSamplers(count, samplers) - ccall((:glDeleteSamplers, libgl), Cvoid, (GLsizei, Ptr{GLuint}), count, samplers) + ccall(getprocaddress_e("glDeleteSamplers"), Cvoid, (GLsizei, Ptr{GLuint}), count, samplers) end function glIsSampler(sampler) - ccall((:glIsSampler, libgl), GLboolean, (GLuint,), sampler) + ccall(getprocaddress_e("glIsSampler"), GLboolean, (GLuint,), sampler) end function glBindSampler(unit, sampler) - ccall((:glBindSampler, libgl), Cvoid, (GLuint, GLuint), unit, sampler) + ccall(getprocaddress_e("glBindSampler"), Cvoid, (GLuint, GLuint), unit, sampler) end function glSamplerParameteri(sampler, pname, param) - ccall((:glSamplerParameteri, libgl), Cvoid, (GLuint, GLenum, GLint), sampler, pname, param) + ccall(getprocaddress_e("glSamplerParameteri"), Cvoid, (GLuint, GLenum, GLint), sampler, pname, param) end function glSamplerParameteriv(sampler, pname, param) - ccall((:glSamplerParameteriv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), sampler, pname, param) + ccall(getprocaddress_e("glSamplerParameteriv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), sampler, pname, param) end function glSamplerParameterf(sampler, pname, param) - ccall((:glSamplerParameterf, libgl), Cvoid, (GLuint, GLenum, GLfloat), sampler, pname, param) + ccall(getprocaddress_e("glSamplerParameterf"), Cvoid, (GLuint, GLenum, GLfloat), sampler, pname, param) end function glSamplerParameterfv(sampler, pname, param) - ccall((:glSamplerParameterfv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLfloat}), sampler, pname, param) + ccall(getprocaddress_e("glSamplerParameterfv"), Cvoid, (GLuint, GLenum, Ptr{GLfloat}), sampler, pname, param) end function glSamplerParameterIiv(sampler, pname, param) - ccall((:glSamplerParameterIiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), sampler, pname, param) + ccall(getprocaddress_e("glSamplerParameterIiv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), sampler, pname, param) end function glSamplerParameterIuiv(sampler, pname, param) - ccall((:glSamplerParameterIuiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLuint}), sampler, pname, param) + ccall(getprocaddress_e("glSamplerParameterIuiv"), Cvoid, (GLuint, GLenum, Ptr{GLuint}), sampler, pname, param) end function glGetSamplerParameteriv(sampler, pname, params) - ccall((:glGetSamplerParameteriv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), sampler, pname, params) + ccall(getprocaddress_e("glGetSamplerParameteriv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), sampler, pname, params) end function glGetSamplerParameterIiv(sampler, pname, params) - ccall((:glGetSamplerParameterIiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), sampler, pname, params) + ccall(getprocaddress_e("glGetSamplerParameterIiv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), sampler, pname, params) end function glGetSamplerParameterfv(sampler, pname, params) - ccall((:glGetSamplerParameterfv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLfloat}), sampler, pname, params) + ccall(getprocaddress_e("glGetSamplerParameterfv"), Cvoid, (GLuint, GLenum, Ptr{GLfloat}), sampler, pname, params) end function glGetSamplerParameterIuiv(sampler, pname, params) - ccall((:glGetSamplerParameterIuiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLuint}), sampler, pname, params) + ccall(getprocaddress_e("glGetSamplerParameterIuiv"), Cvoid, (GLuint, GLenum, Ptr{GLuint}), sampler, pname, params) end function glQueryCounter(id, target) - ccall((:glQueryCounter, libgl), Cvoid, (GLuint, GLenum), id, target) + ccall(getprocaddress_e("glQueryCounter"), Cvoid, (GLuint, GLenum), id, target) end function glGetQueryObjecti64v(id, pname, params) - ccall((:glGetQueryObjecti64v, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint64}), id, pname, params) + ccall(getprocaddress_e("glGetQueryObjecti64v"), Cvoid, (GLuint, GLenum, Ptr{GLint64}), id, pname, params) end function glGetQueryObjectui64v(id, pname, params) - ccall((:glGetQueryObjectui64v, libgl), Cvoid, (GLuint, GLenum, Ptr{GLuint64}), id, pname, params) + ccall(getprocaddress_e("glGetQueryObjectui64v"), Cvoid, (GLuint, GLenum, Ptr{GLuint64}), id, pname, params) end function glVertexAttribDivisor(index, divisor) - ccall((:glVertexAttribDivisor, libgl), Cvoid, (GLuint, GLuint), index, divisor) + ccall(getprocaddress_e("glVertexAttribDivisor"), Cvoid, (GLuint, GLuint), index, divisor) end function glVertexAttribP1ui(index, type, normalized, value) - ccall((:glVertexAttribP1ui, libgl), Cvoid, (GLuint, GLenum, GLboolean, GLuint), index, type, normalized, value) + ccall(getprocaddress_e("glVertexAttribP1ui"), Cvoid, (GLuint, GLenum, GLboolean, GLuint), index, type, normalized, value) end function glVertexAttribP1uiv(index, type, normalized, value) - ccall((:glVertexAttribP1uiv, libgl), Cvoid, (GLuint, GLenum, GLboolean, Ptr{GLuint}), index, type, normalized, value) + ccall(getprocaddress_e("glVertexAttribP1uiv"), Cvoid, (GLuint, GLenum, GLboolean, Ptr{GLuint}), index, type, normalized, value) end function glVertexAttribP2ui(index, type, normalized, value) - ccall((:glVertexAttribP2ui, libgl), Cvoid, (GLuint, GLenum, GLboolean, GLuint), index, type, normalized, value) + ccall(getprocaddress_e("glVertexAttribP2ui"), Cvoid, (GLuint, GLenum, GLboolean, GLuint), index, type, normalized, value) end function glVertexAttribP2uiv(index, type, normalized, value) - ccall((:glVertexAttribP2uiv, libgl), Cvoid, (GLuint, GLenum, GLboolean, Ptr{GLuint}), index, type, normalized, value) + ccall(getprocaddress_e("glVertexAttribP2uiv"), Cvoid, (GLuint, GLenum, GLboolean, Ptr{GLuint}), index, type, normalized, value) end function glVertexAttribP3ui(index, type, normalized, value) - ccall((:glVertexAttribP3ui, libgl), Cvoid, (GLuint, GLenum, GLboolean, GLuint), index, type, normalized, value) + ccall(getprocaddress_e("glVertexAttribP3ui"), Cvoid, (GLuint, GLenum, GLboolean, GLuint), index, type, normalized, value) end function glVertexAttribP3uiv(index, type, normalized, value) - ccall((:glVertexAttribP3uiv, libgl), Cvoid, (GLuint, GLenum, GLboolean, Ptr{GLuint}), index, type, normalized, value) + ccall(getprocaddress_e("glVertexAttribP3uiv"), Cvoid, (GLuint, GLenum, GLboolean, Ptr{GLuint}), index, type, normalized, value) end function glVertexAttribP4ui(index, type, normalized, value) - ccall((:glVertexAttribP4ui, libgl), Cvoid, (GLuint, GLenum, GLboolean, GLuint), index, type, normalized, value) + ccall(getprocaddress_e("glVertexAttribP4ui"), Cvoid, (GLuint, GLenum, GLboolean, GLuint), index, type, normalized, value) end function glVertexAttribP4uiv(index, type, normalized, value) - ccall((:glVertexAttribP4uiv, libgl), Cvoid, (GLuint, GLenum, GLboolean, Ptr{GLuint}), index, type, normalized, value) + ccall(getprocaddress_e("glVertexAttribP4uiv"), Cvoid, (GLuint, GLenum, GLboolean, Ptr{GLuint}), index, type, normalized, value) end # typedef void ( APIENTRYP PFNGLMINSAMPLESHADINGPROC ) ( GLfloat value ) @@ -2636,187 +2636,187 @@ const PFNGLENDQUERYINDEXEDPROC = Ptr{Cvoid} const PFNGLGETQUERYINDEXEDIVPROC = Ptr{Cvoid} function glMinSampleShading(value) - ccall((:glMinSampleShading, libgl), Cvoid, (GLfloat,), value) + ccall(getprocaddress_e("glMinSampleShading"), Cvoid, (GLfloat,), value) end function glBlendEquationi(buf, mode) - ccall((:glBlendEquationi, libgl), Cvoid, (GLuint, GLenum), buf, mode) + ccall(getprocaddress_e("glBlendEquationi"), Cvoid, (GLuint, GLenum), buf, mode) end function glBlendEquationSeparatei(buf, modeRGB, modeAlpha) - ccall((:glBlendEquationSeparatei, libgl), Cvoid, (GLuint, GLenum, GLenum), buf, modeRGB, modeAlpha) + ccall(getprocaddress_e("glBlendEquationSeparatei"), Cvoid, (GLuint, GLenum, GLenum), buf, modeRGB, modeAlpha) end function glBlendFunci(buf, src, dst) - ccall((:glBlendFunci, libgl), Cvoid, (GLuint, GLenum, GLenum), buf, src, dst) + ccall(getprocaddress_e("glBlendFunci"), Cvoid, (GLuint, GLenum, GLenum), buf, src, dst) end function glBlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha) - ccall((:glBlendFuncSeparatei, libgl), Cvoid, (GLuint, GLenum, GLenum, GLenum, GLenum), buf, srcRGB, dstRGB, srcAlpha, dstAlpha) + ccall(getprocaddress_e("glBlendFuncSeparatei"), Cvoid, (GLuint, GLenum, GLenum, GLenum, GLenum), buf, srcRGB, dstRGB, srcAlpha, dstAlpha) end function glDrawArraysIndirect(mode, indirect) - ccall((:glDrawArraysIndirect, libgl), Cvoid, (GLenum, Ptr{Cvoid}), mode, indirect) + ccall(getprocaddress_e("glDrawArraysIndirect"), Cvoid, (GLenum, Ptr{Cvoid}), mode, indirect) end function glDrawElementsIndirect(mode, type, indirect) - ccall((:glDrawElementsIndirect, libgl), Cvoid, (GLenum, GLenum, Ptr{Cvoid}), mode, type, indirect) + ccall(getprocaddress_e("glDrawElementsIndirect"), Cvoid, (GLenum, GLenum, Ptr{Cvoid}), mode, type, indirect) end function glUniform1d(location, x) - ccall((:glUniform1d, libgl), Cvoid, (GLint, GLdouble), location, x) + ccall(getprocaddress_e("glUniform1d"), Cvoid, (GLint, GLdouble), location, x) end function glUniform2d(location, x, y) - ccall((:glUniform2d, libgl), Cvoid, (GLint, GLdouble, GLdouble), location, x, y) + ccall(getprocaddress_e("glUniform2d"), Cvoid, (GLint, GLdouble, GLdouble), location, x, y) end function glUniform3d(location, x, y, z) - ccall((:glUniform3d, libgl), Cvoid, (GLint, GLdouble, GLdouble, GLdouble), location, x, y, z) + ccall(getprocaddress_e("glUniform3d"), Cvoid, (GLint, GLdouble, GLdouble, GLdouble), location, x, y, z) end function glUniform4d(location, x, y, z, w) - ccall((:glUniform4d, libgl), Cvoid, (GLint, GLdouble, GLdouble, GLdouble, GLdouble), location, x, y, z, w) + ccall(getprocaddress_e("glUniform4d"), Cvoid, (GLint, GLdouble, GLdouble, GLdouble, GLdouble), location, x, y, z, w) end function glUniform1dv(location, count, value) - ccall((:glUniform1dv, libgl), Cvoid, (GLint, GLsizei, Ptr{GLdouble}), location, count, value) + ccall(getprocaddress_e("glUniform1dv"), Cvoid, (GLint, GLsizei, Ptr{GLdouble}), location, count, value) end function glUniform2dv(location, count, value) - ccall((:glUniform2dv, libgl), Cvoid, (GLint, GLsizei, Ptr{GLdouble}), location, count, value) + ccall(getprocaddress_e("glUniform2dv"), Cvoid, (GLint, GLsizei, Ptr{GLdouble}), location, count, value) end function glUniform3dv(location, count, value) - ccall((:glUniform3dv, libgl), Cvoid, (GLint, GLsizei, Ptr{GLdouble}), location, count, value) + ccall(getprocaddress_e("glUniform3dv"), Cvoid, (GLint, GLsizei, Ptr{GLdouble}), location, count, value) end function glUniform4dv(location, count, value) - ccall((:glUniform4dv, libgl), Cvoid, (GLint, GLsizei, Ptr{GLdouble}), location, count, value) + ccall(getprocaddress_e("glUniform4dv"), Cvoid, (GLint, GLsizei, Ptr{GLdouble}), location, count, value) end function glUniformMatrix2dv(location, count, transpose, value) - ccall((:glUniformMatrix2dv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) + ccall(getprocaddress_e("glUniformMatrix2dv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) end function glUniformMatrix3dv(location, count, transpose, value) - ccall((:glUniformMatrix3dv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) + ccall(getprocaddress_e("glUniformMatrix3dv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) end function glUniformMatrix4dv(location, count, transpose, value) - ccall((:glUniformMatrix4dv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) + ccall(getprocaddress_e("glUniformMatrix4dv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) end function glUniformMatrix2x3dv(location, count, transpose, value) - ccall((:glUniformMatrix2x3dv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) + ccall(getprocaddress_e("glUniformMatrix2x3dv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) end function glUniformMatrix2x4dv(location, count, transpose, value) - ccall((:glUniformMatrix2x4dv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) + ccall(getprocaddress_e("glUniformMatrix2x4dv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) end function glUniformMatrix3x2dv(location, count, transpose, value) - ccall((:glUniformMatrix3x2dv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) + ccall(getprocaddress_e("glUniformMatrix3x2dv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) end function glUniformMatrix3x4dv(location, count, transpose, value) - ccall((:glUniformMatrix3x4dv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) + ccall(getprocaddress_e("glUniformMatrix3x4dv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) end function glUniformMatrix4x2dv(location, count, transpose, value) - ccall((:glUniformMatrix4x2dv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) + ccall(getprocaddress_e("glUniformMatrix4x2dv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) end function glUniformMatrix4x3dv(location, count, transpose, value) - ccall((:glUniformMatrix4x3dv, libgl), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) + ccall(getprocaddress_e("glUniformMatrix4x3dv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) end function glGetUniformdv(program, location, params) - ccall((:glGetUniformdv, libgl), Cvoid, (GLuint, GLint, Ptr{GLdouble}), program, location, params) + ccall(getprocaddress_e("glGetUniformdv"), Cvoid, (GLuint, GLint, Ptr{GLdouble}), program, location, params) end function glGetSubroutineUniformLocation(program, shadertype, name) - ccall((:glGetSubroutineUniformLocation, libgl), GLint, (GLuint, GLenum, Ptr{GLchar}), program, shadertype, name) + ccall(getprocaddress_e("glGetSubroutineUniformLocation"), GLint, (GLuint, GLenum, Ptr{GLchar}), program, shadertype, name) end function glGetSubroutineIndex(program, shadertype, name) - ccall((:glGetSubroutineIndex, libgl), GLuint, (GLuint, GLenum, Ptr{GLchar}), program, shadertype, name) + ccall(getprocaddress_e("glGetSubroutineIndex"), GLuint, (GLuint, GLenum, Ptr{GLchar}), program, shadertype, name) end function glGetActiveSubroutineUniformiv(program, shadertype, index, pname, values) - ccall((:glGetActiveSubroutineUniformiv, libgl), Cvoid, (GLuint, GLenum, GLuint, GLenum, Ptr{GLint}), program, shadertype, index, pname, values) + ccall(getprocaddress_e("glGetActiveSubroutineUniformiv"), Cvoid, (GLuint, GLenum, GLuint, GLenum, Ptr{GLint}), program, shadertype, index, pname, values) end function glGetActiveSubroutineUniformName(program, shadertype, index, bufSize, length, name) - ccall((:glGetActiveSubroutineUniformName, libgl), Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), program, shadertype, index, bufSize, length, name) + ccall(getprocaddress_e("glGetActiveSubroutineUniformName"), Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), program, shadertype, index, bufSize, length, name) end function glGetActiveSubroutineName(program, shadertype, index, bufSize, length, name) - ccall((:glGetActiveSubroutineName, libgl), Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), program, shadertype, index, bufSize, length, name) + ccall(getprocaddress_e("glGetActiveSubroutineName"), Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), program, shadertype, index, bufSize, length, name) end function glUniformSubroutinesuiv(shadertype, count, indices) - ccall((:glUniformSubroutinesuiv, libgl), Cvoid, (GLenum, GLsizei, Ptr{GLuint}), shadertype, count, indices) + ccall(getprocaddress_e("glUniformSubroutinesuiv"), Cvoid, (GLenum, GLsizei, Ptr{GLuint}), shadertype, count, indices) end function glGetUniformSubroutineuiv(shadertype, location, params) - ccall((:glGetUniformSubroutineuiv, libgl), Cvoid, (GLenum, GLint, Ptr{GLuint}), shadertype, location, params) + ccall(getprocaddress_e("glGetUniformSubroutineuiv"), Cvoid, (GLenum, GLint, Ptr{GLuint}), shadertype, location, params) end function glGetProgramStageiv(program, shadertype, pname, values) - ccall((:glGetProgramStageiv, libgl), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), program, shadertype, pname, values) + ccall(getprocaddress_e("glGetProgramStageiv"), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), program, shadertype, pname, values) end function glPatchParameteri(pname, value) - ccall((:glPatchParameteri, libgl), Cvoid, (GLenum, GLint), pname, value) + ccall(getprocaddress_e("glPatchParameteri"), Cvoid, (GLenum, GLint), pname, value) end function glPatchParameterfv(pname, values) - ccall((:glPatchParameterfv, libgl), Cvoid, (GLenum, Ptr{GLfloat}), pname, values) + ccall(getprocaddress_e("glPatchParameterfv"), Cvoid, (GLenum, Ptr{GLfloat}), pname, values) end function glBindTransformFeedback(target, id) - ccall((:glBindTransformFeedback, libgl), Cvoid, (GLenum, GLuint), target, id) + ccall(getprocaddress_e("glBindTransformFeedback"), Cvoid, (GLenum, GLuint), target, id) end function glDeleteTransformFeedbacks(n, ids) - ccall((:glDeleteTransformFeedbacks, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, ids) + ccall(getprocaddress_e("glDeleteTransformFeedbacks"), Cvoid, (GLsizei, Ptr{GLuint}), n, ids) end function glGenTransformFeedbacks(n, ids) - ccall((:glGenTransformFeedbacks, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, ids) + ccall(getprocaddress_e("glGenTransformFeedbacks"), Cvoid, (GLsizei, Ptr{GLuint}), n, ids) end function glIsTransformFeedback(id) - ccall((:glIsTransformFeedback, libgl), GLboolean, (GLuint,), id) + ccall(getprocaddress_e("glIsTransformFeedback"), GLboolean, (GLuint,), id) end function glPauseTransformFeedback() - ccall((:glPauseTransformFeedback, libgl), Cvoid, ()) + ccall(getprocaddress_e("glPauseTransformFeedback"), Cvoid, ()) end function glResumeTransformFeedback() - ccall((:glResumeTransformFeedback, libgl), Cvoid, ()) + ccall(getprocaddress_e("glResumeTransformFeedback"), Cvoid, ()) end function glDrawTransformFeedback(mode, id) - ccall((:glDrawTransformFeedback, libgl), Cvoid, (GLenum, GLuint), mode, id) + ccall(getprocaddress_e("glDrawTransformFeedback"), Cvoid, (GLenum, GLuint), mode, id) end function glDrawTransformFeedbackStream(mode, id, stream) - ccall((:glDrawTransformFeedbackStream, libgl), Cvoid, (GLenum, GLuint, GLuint), mode, id, stream) + ccall(getprocaddress_e("glDrawTransformFeedbackStream"), Cvoid, (GLenum, GLuint, GLuint), mode, id, stream) end function glBeginQueryIndexed(target, index, id) - ccall((:glBeginQueryIndexed, libgl), Cvoid, (GLenum, GLuint, GLuint), target, index, id) + ccall(getprocaddress_e("glBeginQueryIndexed"), Cvoid, (GLenum, GLuint, GLuint), target, index, id) end function glEndQueryIndexed(target, index) - ccall((:glEndQueryIndexed, libgl), Cvoid, (GLenum, GLuint), target, index) + ccall(getprocaddress_e("glEndQueryIndexed"), Cvoid, (GLenum, GLuint), target, index) end function glGetQueryIndexediv(target, index, pname, params) - ccall((:glGetQueryIndexediv, libgl), Cvoid, (GLenum, GLuint, GLenum, Ptr{GLint}), target, index, pname, params) + ccall(getprocaddress_e("glGetQueryIndexediv"), Cvoid, (GLenum, GLuint, GLenum, Ptr{GLint}), target, index, pname, params) end # typedef void ( APIENTRYP PFNGLRELEASESHADERCOMPILERPROC ) ( void ) @@ -3084,355 +3084,355 @@ const PFNGLGETFLOATI_VPROC = Ptr{Cvoid} const PFNGLGETDOUBLEI_VPROC = Ptr{Cvoid} function glReleaseShaderCompiler() - ccall((:glReleaseShaderCompiler, libgl), Cvoid, ()) + ccall(getprocaddress_e("glReleaseShaderCompiler"), Cvoid, ()) end function glShaderBinary(count, shaders, binaryFormat, binary, length) - ccall((:glShaderBinary, libgl), Cvoid, (GLsizei, Ptr{GLuint}, GLenum, Ptr{Cvoid}, GLsizei), count, shaders, binaryFormat, binary, length) + ccall(getprocaddress_e("glShaderBinary"), Cvoid, (GLsizei, Ptr{GLuint}, GLenum, Ptr{Cvoid}, GLsizei), count, shaders, binaryFormat, binary, length) end function glGetShaderPrecisionFormat(shadertype, precisiontype, range, precision) - ccall((:glGetShaderPrecisionFormat, libgl), Cvoid, (GLenum, GLenum, Ptr{GLint}, Ptr{GLint}), shadertype, precisiontype, range, precision) + ccall(getprocaddress_e("glGetShaderPrecisionFormat"), Cvoid, (GLenum, GLenum, Ptr{GLint}, Ptr{GLint}), shadertype, precisiontype, range, precision) end function glDepthRangef(n, f) - ccall((:glDepthRangef, libgl), Cvoid, (GLfloat, GLfloat), n, f) + ccall(getprocaddress_e("glDepthRangef"), Cvoid, (GLfloat, GLfloat), n, f) end function glClearDepthf(d) - ccall((:glClearDepthf, libgl), Cvoid, (GLfloat,), d) + ccall(getprocaddress_e("glClearDepthf"), Cvoid, (GLfloat,), d) end function glGetProgramBinary(program, bufSize, length, binaryFormat, binary) - ccall((:glGetProgramBinary, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLenum}, Ptr{Cvoid}), program, bufSize, length, binaryFormat, binary) + ccall(getprocaddress_e("glGetProgramBinary"), Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLenum}, Ptr{Cvoid}), program, bufSize, length, binaryFormat, binary) end function glProgramBinary(program, binaryFormat, binary, length) - ccall((:glProgramBinary, libgl), Cvoid, (GLuint, GLenum, Ptr{Cvoid}, GLsizei), program, binaryFormat, binary, length) + ccall(getprocaddress_e("glProgramBinary"), Cvoid, (GLuint, GLenum, Ptr{Cvoid}, GLsizei), program, binaryFormat, binary, length) end function glProgramParameteri(program, pname, value) - ccall((:glProgramParameteri, libgl), Cvoid, (GLuint, GLenum, GLint), program, pname, value) + ccall(getprocaddress_e("glProgramParameteri"), Cvoid, (GLuint, GLenum, GLint), program, pname, value) end function glUseProgramStages(pipeline, stages, program) - ccall((:glUseProgramStages, libgl), Cvoid, (GLuint, GLbitfield, GLuint), pipeline, stages, program) + ccall(getprocaddress_e("glUseProgramStages"), Cvoid, (GLuint, GLbitfield, GLuint), pipeline, stages, program) end function glActiveShaderProgram(pipeline, program) - ccall((:glActiveShaderProgram, libgl), Cvoid, (GLuint, GLuint), pipeline, program) + ccall(getprocaddress_e("glActiveShaderProgram"), Cvoid, (GLuint, GLuint), pipeline, program) end function glCreateShaderProgramv(type, count, strings) - ccall((:glCreateShaderProgramv, libgl), GLuint, (GLenum, GLsizei, Ptr{Ptr{GLchar}}), type, count, strings) + ccall(getprocaddress_e("glCreateShaderProgramv"), GLuint, (GLenum, GLsizei, Ptr{Ptr{GLchar}}), type, count, strings) end function glBindProgramPipeline(pipeline) - ccall((:glBindProgramPipeline, libgl), Cvoid, (GLuint,), pipeline) + ccall(getprocaddress_e("glBindProgramPipeline"), Cvoid, (GLuint,), pipeline) end function glDeleteProgramPipelines(n, pipelines) - ccall((:glDeleteProgramPipelines, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, pipelines) + ccall(getprocaddress_e("glDeleteProgramPipelines"), Cvoid, (GLsizei, Ptr{GLuint}), n, pipelines) end function glGenProgramPipelines(n, pipelines) - ccall((:glGenProgramPipelines, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, pipelines) + ccall(getprocaddress_e("glGenProgramPipelines"), Cvoid, (GLsizei, Ptr{GLuint}), n, pipelines) end function glIsProgramPipeline(pipeline) - ccall((:glIsProgramPipeline, libgl), GLboolean, (GLuint,), pipeline) + ccall(getprocaddress_e("glIsProgramPipeline"), GLboolean, (GLuint,), pipeline) end function glGetProgramPipelineiv(pipeline, pname, params) - ccall((:glGetProgramPipelineiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), pipeline, pname, params) + ccall(getprocaddress_e("glGetProgramPipelineiv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), pipeline, pname, params) end function glProgramUniform1i(program, location, v0) - ccall((:glProgramUniform1i, libgl), Cvoid, (GLuint, GLint, GLint), program, location, v0) + ccall(getprocaddress_e("glProgramUniform1i"), Cvoid, (GLuint, GLint, GLint), program, location, v0) end function glProgramUniform1iv(program, location, count, value) - ccall((:glProgramUniform1iv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform1iv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) end function glProgramUniform1f(program, location, v0) - ccall((:glProgramUniform1f, libgl), Cvoid, (GLuint, GLint, GLfloat), program, location, v0) + ccall(getprocaddress_e("glProgramUniform1f"), Cvoid, (GLuint, GLint, GLfloat), program, location, v0) end function glProgramUniform1fv(program, location, count, value) - ccall((:glProgramUniform1fv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform1fv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) end function glProgramUniform1d(program, location, v0) - ccall((:glProgramUniform1d, libgl), Cvoid, (GLuint, GLint, GLdouble), program, location, v0) + ccall(getprocaddress_e("glProgramUniform1d"), Cvoid, (GLuint, GLint, GLdouble), program, location, v0) end function glProgramUniform1dv(program, location, count, value) - ccall((:glProgramUniform1dv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform1dv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) end function glProgramUniform1ui(program, location, v0) - ccall((:glProgramUniform1ui, libgl), Cvoid, (GLuint, GLint, GLuint), program, location, v0) + ccall(getprocaddress_e("glProgramUniform1ui"), Cvoid, (GLuint, GLint, GLuint), program, location, v0) end function glProgramUniform1uiv(program, location, count, value) - ccall((:glProgramUniform1uiv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform1uiv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) end function glProgramUniform2i(program, location, v0, v1) - ccall((:glProgramUniform2i, libgl), Cvoid, (GLuint, GLint, GLint, GLint), program, location, v0, v1) + ccall(getprocaddress_e("glProgramUniform2i"), Cvoid, (GLuint, GLint, GLint, GLint), program, location, v0, v1) end function glProgramUniform2iv(program, location, count, value) - ccall((:glProgramUniform2iv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform2iv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) end function glProgramUniform2f(program, location, v0, v1) - ccall((:glProgramUniform2f, libgl), Cvoid, (GLuint, GLint, GLfloat, GLfloat), program, location, v0, v1) + ccall(getprocaddress_e("glProgramUniform2f"), Cvoid, (GLuint, GLint, GLfloat, GLfloat), program, location, v0, v1) end function glProgramUniform2fv(program, location, count, value) - ccall((:glProgramUniform2fv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform2fv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) end function glProgramUniform2d(program, location, v0, v1) - ccall((:glProgramUniform2d, libgl), Cvoid, (GLuint, GLint, GLdouble, GLdouble), program, location, v0, v1) + ccall(getprocaddress_e("glProgramUniform2d"), Cvoid, (GLuint, GLint, GLdouble, GLdouble), program, location, v0, v1) end function glProgramUniform2dv(program, location, count, value) - ccall((:glProgramUniform2dv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform2dv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) end function glProgramUniform2ui(program, location, v0, v1) - ccall((:glProgramUniform2ui, libgl), Cvoid, (GLuint, GLint, GLuint, GLuint), program, location, v0, v1) + ccall(getprocaddress_e("glProgramUniform2ui"), Cvoid, (GLuint, GLint, GLuint, GLuint), program, location, v0, v1) end function glProgramUniform2uiv(program, location, count, value) - ccall((:glProgramUniform2uiv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform2uiv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) end function glProgramUniform3i(program, location, v0, v1, v2) - ccall((:glProgramUniform3i, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLint), program, location, v0, v1, v2) + ccall(getprocaddress_e("glProgramUniform3i"), Cvoid, (GLuint, GLint, GLint, GLint, GLint), program, location, v0, v1, v2) end function glProgramUniform3iv(program, location, count, value) - ccall((:glProgramUniform3iv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform3iv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) end function glProgramUniform3f(program, location, v0, v1, v2) - ccall((:glProgramUniform3f, libgl), Cvoid, (GLuint, GLint, GLfloat, GLfloat, GLfloat), program, location, v0, v1, v2) + ccall(getprocaddress_e("glProgramUniform3f"), Cvoid, (GLuint, GLint, GLfloat, GLfloat, GLfloat), program, location, v0, v1, v2) end function glProgramUniform3fv(program, location, count, value) - ccall((:glProgramUniform3fv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform3fv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) end function glProgramUniform3d(program, location, v0, v1, v2) - ccall((:glProgramUniform3d, libgl), Cvoid, (GLuint, GLint, GLdouble, GLdouble, GLdouble), program, location, v0, v1, v2) + ccall(getprocaddress_e("glProgramUniform3d"), Cvoid, (GLuint, GLint, GLdouble, GLdouble, GLdouble), program, location, v0, v1, v2) end function glProgramUniform3dv(program, location, count, value) - ccall((:glProgramUniform3dv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform3dv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) end function glProgramUniform3ui(program, location, v0, v1, v2) - ccall((:glProgramUniform3ui, libgl), Cvoid, (GLuint, GLint, GLuint, GLuint, GLuint), program, location, v0, v1, v2) + ccall(getprocaddress_e("glProgramUniform3ui"), Cvoid, (GLuint, GLint, GLuint, GLuint, GLuint), program, location, v0, v1, v2) end function glProgramUniform3uiv(program, location, count, value) - ccall((:glProgramUniform3uiv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform3uiv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) end function glProgramUniform4i(program, location, v0, v1, v2, v3) - ccall((:glProgramUniform4i, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLint), program, location, v0, v1, v2, v3) + ccall(getprocaddress_e("glProgramUniform4i"), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLint), program, location, v0, v1, v2, v3) end function glProgramUniform4iv(program, location, count, value) - ccall((:glProgramUniform4iv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform4iv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) end function glProgramUniform4f(program, location, v0, v1, v2, v3) - ccall((:glProgramUniform4f, libgl), Cvoid, (GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat), program, location, v0, v1, v2, v3) + ccall(getprocaddress_e("glProgramUniform4f"), Cvoid, (GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat), program, location, v0, v1, v2, v3) end function glProgramUniform4fv(program, location, count, value) - ccall((:glProgramUniform4fv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform4fv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) end function glProgramUniform4d(program, location, v0, v1, v2, v3) - ccall((:glProgramUniform4d, libgl), Cvoid, (GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble), program, location, v0, v1, v2, v3) + ccall(getprocaddress_e("glProgramUniform4d"), Cvoid, (GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble), program, location, v0, v1, v2, v3) end function glProgramUniform4dv(program, location, count, value) - ccall((:glProgramUniform4dv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform4dv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) end function glProgramUniform4ui(program, location, v0, v1, v2, v3) - ccall((:glProgramUniform4ui, libgl), Cvoid, (GLuint, GLint, GLuint, GLuint, GLuint, GLuint), program, location, v0, v1, v2, v3) + ccall(getprocaddress_e("glProgramUniform4ui"), Cvoid, (GLuint, GLint, GLuint, GLuint, GLuint, GLuint), program, location, v0, v1, v2, v3) end function glProgramUniform4uiv(program, location, count, value) - ccall((:glProgramUniform4uiv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform4uiv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) end function glProgramUniformMatrix2fv(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix2fv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix2fv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end function glProgramUniformMatrix3fv(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix3fv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix3fv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end function glProgramUniformMatrix4fv(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix4fv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix4fv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end function glProgramUniformMatrix2dv(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix2dv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix2dv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end function glProgramUniformMatrix3dv(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix3dv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix3dv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end function glProgramUniformMatrix4dv(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix4dv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix4dv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end function glProgramUniformMatrix2x3fv(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix2x3fv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix2x3fv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end function glProgramUniformMatrix3x2fv(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix3x2fv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix3x2fv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end function glProgramUniformMatrix2x4fv(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix2x4fv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix2x4fv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end function glProgramUniformMatrix4x2fv(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix4x2fv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix4x2fv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end function glProgramUniformMatrix3x4fv(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix3x4fv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix3x4fv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end function glProgramUniformMatrix4x3fv(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix4x3fv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix4x3fv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end function glProgramUniformMatrix2x3dv(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix2x3dv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix2x3dv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end function glProgramUniformMatrix3x2dv(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix3x2dv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix3x2dv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end function glProgramUniformMatrix2x4dv(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix2x4dv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix2x4dv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end function glProgramUniformMatrix4x2dv(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix4x2dv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix4x2dv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end function glProgramUniformMatrix3x4dv(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix3x4dv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix3x4dv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end function glProgramUniformMatrix4x3dv(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix4x3dv, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix4x3dv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end function glValidateProgramPipeline(pipeline) - ccall((:glValidateProgramPipeline, libgl), Cvoid, (GLuint,), pipeline) + ccall(getprocaddress_e("glValidateProgramPipeline"), Cvoid, (GLuint,), pipeline) end function glGetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog) - ccall((:glGetProgramPipelineInfoLog, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), pipeline, bufSize, length, infoLog) + ccall(getprocaddress_e("glGetProgramPipelineInfoLog"), Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), pipeline, bufSize, length, infoLog) end function glVertexAttribL1d(index, x) - ccall((:glVertexAttribL1d, libgl), Cvoid, (GLuint, GLdouble), index, x) + ccall(getprocaddress_e("glVertexAttribL1d"), Cvoid, (GLuint, GLdouble), index, x) end function glVertexAttribL2d(index, x, y) - ccall((:glVertexAttribL2d, libgl), Cvoid, (GLuint, GLdouble, GLdouble), index, x, y) + ccall(getprocaddress_e("glVertexAttribL2d"), Cvoid, (GLuint, GLdouble, GLdouble), index, x, y) end function glVertexAttribL3d(index, x, y, z) - ccall((:glVertexAttribL3d, libgl), Cvoid, (GLuint, GLdouble, GLdouble, GLdouble), index, x, y, z) + ccall(getprocaddress_e("glVertexAttribL3d"), Cvoid, (GLuint, GLdouble, GLdouble, GLdouble), index, x, y, z) end function glVertexAttribL4d(index, x, y, z, w) - ccall((:glVertexAttribL4d, libgl), Cvoid, (GLuint, GLdouble, GLdouble, GLdouble, GLdouble), index, x, y, z, w) + ccall(getprocaddress_e("glVertexAttribL4d"), Cvoid, (GLuint, GLdouble, GLdouble, GLdouble, GLdouble), index, x, y, z, w) end function glVertexAttribL1dv(index, v) - ccall((:glVertexAttribL1dv, libgl), Cvoid, (GLuint, Ptr{GLdouble}), index, v) + ccall(getprocaddress_e("glVertexAttribL1dv"), Cvoid, (GLuint, Ptr{GLdouble}), index, v) end function glVertexAttribL2dv(index, v) - ccall((:glVertexAttribL2dv, libgl), Cvoid, (GLuint, Ptr{GLdouble}), index, v) + ccall(getprocaddress_e("glVertexAttribL2dv"), Cvoid, (GLuint, Ptr{GLdouble}), index, v) end function glVertexAttribL3dv(index, v) - ccall((:glVertexAttribL3dv, libgl), Cvoid, (GLuint, Ptr{GLdouble}), index, v) + ccall(getprocaddress_e("glVertexAttribL3dv"), Cvoid, (GLuint, Ptr{GLdouble}), index, v) end function glVertexAttribL4dv(index, v) - ccall((:glVertexAttribL4dv, libgl), Cvoid, (GLuint, Ptr{GLdouble}), index, v) + ccall(getprocaddress_e("glVertexAttribL4dv"), Cvoid, (GLuint, Ptr{GLdouble}), index, v) end function glVertexAttribLPointer(index, size, type, stride, pointer) - ccall((:glVertexAttribLPointer, libgl), Cvoid, (GLuint, GLint, GLenum, GLsizei, Ptr{Cvoid}), index, size, type, stride, pointer) + ccall(getprocaddress_e("glVertexAttribLPointer"), Cvoid, (GLuint, GLint, GLenum, GLsizei, Ptr{Cvoid}), index, size, type, stride, pointer) end function glGetVertexAttribLdv(index, pname, params) - ccall((:glGetVertexAttribLdv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLdouble}), index, pname, params) + ccall(getprocaddress_e("glGetVertexAttribLdv"), Cvoid, (GLuint, GLenum, Ptr{GLdouble}), index, pname, params) end function glViewportArrayv(first, count, v) - ccall((:glViewportArrayv, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLfloat}), first, count, v) + ccall(getprocaddress_e("glViewportArrayv"), Cvoid, (GLuint, GLsizei, Ptr{GLfloat}), first, count, v) end function glViewportIndexedf(index, x, y, w, h) - ccall((:glViewportIndexedf, libgl), Cvoid, (GLuint, GLfloat, GLfloat, GLfloat, GLfloat), index, x, y, w, h) + ccall(getprocaddress_e("glViewportIndexedf"), Cvoid, (GLuint, GLfloat, GLfloat, GLfloat, GLfloat), index, x, y, w, h) end function glViewportIndexedfv(index, v) - ccall((:glViewportIndexedfv, libgl), Cvoid, (GLuint, Ptr{GLfloat}), index, v) + ccall(getprocaddress_e("glViewportIndexedfv"), Cvoid, (GLuint, Ptr{GLfloat}), index, v) end function glScissorArrayv(first, count, v) - ccall((:glScissorArrayv, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLint}), first, count, v) + ccall(getprocaddress_e("glScissorArrayv"), Cvoid, (GLuint, GLsizei, Ptr{GLint}), first, count, v) end function glScissorIndexed(index, left, bottom, width, height) - ccall((:glScissorIndexed, libgl), Cvoid, (GLuint, GLint, GLint, GLsizei, GLsizei), index, left, bottom, width, height) + ccall(getprocaddress_e("glScissorIndexed"), Cvoid, (GLuint, GLint, GLint, GLsizei, GLsizei), index, left, bottom, width, height) end function glScissorIndexedv(index, v) - ccall((:glScissorIndexedv, libgl), Cvoid, (GLuint, Ptr{GLint}), index, v) + ccall(getprocaddress_e("glScissorIndexedv"), Cvoid, (GLuint, Ptr{GLint}), index, v) end function glDepthRangeArrayv(first, count, v) - ccall((:glDepthRangeArrayv, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLdouble}), first, count, v) + ccall(getprocaddress_e("glDepthRangeArrayv"), Cvoid, (GLuint, GLsizei, Ptr{GLdouble}), first, count, v) end function glDepthRangeIndexed(index, n, f) - ccall((:glDepthRangeIndexed, libgl), Cvoid, (GLuint, GLdouble, GLdouble), index, n, f) + ccall(getprocaddress_e("glDepthRangeIndexed"), Cvoid, (GLuint, GLdouble, GLdouble), index, n, f) end function glGetFloati_v(target, index, data) - ccall((:glGetFloati_v, libgl), Cvoid, (GLenum, GLuint, Ptr{GLfloat}), target, index, data) + ccall(getprocaddress_e("glGetFloati_v"), Cvoid, (GLenum, GLuint, Ptr{GLfloat}), target, index, data) end function glGetDoublei_v(target, index, data) - ccall((:glGetDoublei_v, libgl), Cvoid, (GLenum, GLuint, Ptr{GLdouble}), target, index, data) + ccall(getprocaddress_e("glGetDoublei_v"), Cvoid, (GLenum, GLuint, Ptr{GLdouble}), target, index, data) end # typedef void ( APIENTRYP PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC ) ( GLenum mode , GLint first , GLsizei count , GLsizei instancecount , GLuint baseinstance ) @@ -3472,51 +3472,51 @@ const PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC = Ptr{Cvoid} const PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC = Ptr{Cvoid} function glDrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance) - ccall((:glDrawArraysInstancedBaseInstance, libgl), Cvoid, (GLenum, GLint, GLsizei, GLsizei, GLuint), mode, first, count, instancecount, baseinstance) + ccall(getprocaddress_e("glDrawArraysInstancedBaseInstance"), Cvoid, (GLenum, GLint, GLsizei, GLsizei, GLuint), mode, first, count, instancecount, baseinstance) end function glDrawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance) - ccall((:glDrawElementsInstancedBaseInstance, libgl), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLsizei, GLuint), mode, count, type, indices, instancecount, baseinstance) + ccall(getprocaddress_e("glDrawElementsInstancedBaseInstance"), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLsizei, GLuint), mode, count, type, indices, instancecount, baseinstance) end function glDrawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance) - ccall((:glDrawElementsInstancedBaseVertexBaseInstance, libgl), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLsizei, GLint, GLuint), mode, count, type, indices, instancecount, basevertex, baseinstance) + ccall(getprocaddress_e("glDrawElementsInstancedBaseVertexBaseInstance"), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLsizei, GLint, GLuint), mode, count, type, indices, instancecount, basevertex, baseinstance) end function glGetInternalformativ(target, internalformat, pname, count, params) - ccall((:glGetInternalformativ, libgl), Cvoid, (GLenum, GLenum, GLenum, GLsizei, Ptr{GLint}), target, internalformat, pname, count, params) + ccall(getprocaddress_e("glGetInternalformativ"), Cvoid, (GLenum, GLenum, GLenum, GLsizei, Ptr{GLint}), target, internalformat, pname, count, params) end function glGetActiveAtomicCounterBufferiv(program, bufferIndex, pname, params) - ccall((:glGetActiveAtomicCounterBufferiv, libgl), Cvoid, (GLuint, GLuint, GLenum, Ptr{GLint}), program, bufferIndex, pname, params) + ccall(getprocaddress_e("glGetActiveAtomicCounterBufferiv"), Cvoid, (GLuint, GLuint, GLenum, Ptr{GLint}), program, bufferIndex, pname, params) end function glBindImageTexture(unit, texture, level, layered, layer, access, format) - ccall((:glBindImageTexture, libgl), Cvoid, (GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLenum), unit, texture, level, layered, layer, access, format) + ccall(getprocaddress_e("glBindImageTexture"), Cvoid, (GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLenum), unit, texture, level, layered, layer, access, format) end function glMemoryBarrier(barriers) - ccall((:glMemoryBarrier, libgl), Cvoid, (GLbitfield,), barriers) + ccall(getprocaddress_e("glMemoryBarrier"), Cvoid, (GLbitfield,), barriers) end function glTexStorage1D(target, levels, internalformat, width) - ccall((:glTexStorage1D, libgl), Cvoid, (GLenum, GLsizei, GLenum, GLsizei), target, levels, internalformat, width) + ccall(getprocaddress_e("glTexStorage1D"), Cvoid, (GLenum, GLsizei, GLenum, GLsizei), target, levels, internalformat, width) end function glTexStorage2D(target, levels, internalformat, width, height) - ccall((:glTexStorage2D, libgl), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei), target, levels, internalformat, width, height) + ccall(getprocaddress_e("glTexStorage2D"), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei), target, levels, internalformat, width, height) end function glTexStorage3D(target, levels, internalformat, width, height, depth) - ccall((:glTexStorage3D, libgl), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei), target, levels, internalformat, width, height, depth) + ccall(getprocaddress_e("glTexStorage3D"), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei), target, levels, internalformat, width, height, depth) end function glDrawTransformFeedbackInstanced(mode, id, instancecount) - ccall((:glDrawTransformFeedbackInstanced, libgl), Cvoid, (GLenum, GLuint, GLsizei), mode, id, instancecount) + ccall(getprocaddress_e("glDrawTransformFeedbackInstanced"), Cvoid, (GLenum, GLuint, GLsizei), mode, id, instancecount) end function glDrawTransformFeedbackStreamInstanced(mode, id, stream, instancecount) - ccall((:glDrawTransformFeedbackStreamInstanced, libgl), Cvoid, (GLenum, GLuint, GLuint, GLsizei), mode, id, stream, instancecount) + ccall(getprocaddress_e("glDrawTransformFeedbackStreamInstanced"), Cvoid, (GLenum, GLuint, GLuint, GLsizei), mode, id, stream, instancecount) end # typedef void ( APIENTRY * GLDEBUGPROC ) ( GLenum source , GLenum type , GLuint id , GLenum severity , GLsizei length , const GLchar * message , const void * userParam ) @@ -3652,175 +3652,175 @@ const PFNGLOBJECTPTRLABELPROC = Ptr{Cvoid} const PFNGLGETOBJECTPTRLABELPROC = Ptr{Cvoid} function glClearBufferData(target, internalformat, format, type, data) - ccall((:glClearBufferData, libgl), Cvoid, (GLenum, GLenum, GLenum, GLenum, Ptr{Cvoid}), target, internalformat, format, type, data) + ccall(getprocaddress_e("glClearBufferData"), Cvoid, (GLenum, GLenum, GLenum, GLenum, Ptr{Cvoid}), target, internalformat, format, type, data) end function glClearBufferSubData(target, internalformat, offset, size, format, type, data) - ccall((:glClearBufferSubData, libgl), Cvoid, (GLenum, GLenum, GLintptr, GLsizeiptr, GLenum, GLenum, Ptr{Cvoid}), target, internalformat, offset, size, format, type, data) + ccall(getprocaddress_e("glClearBufferSubData"), Cvoid, (GLenum, GLenum, GLintptr, GLsizeiptr, GLenum, GLenum, Ptr{Cvoid}), target, internalformat, offset, size, format, type, data) end function glDispatchCompute(num_groups_x, num_groups_y, num_groups_z) - ccall((:glDispatchCompute, libgl), Cvoid, (GLuint, GLuint, GLuint), num_groups_x, num_groups_y, num_groups_z) + ccall(getprocaddress_e("glDispatchCompute"), Cvoid, (GLuint, GLuint, GLuint), num_groups_x, num_groups_y, num_groups_z) end function glDispatchComputeIndirect(indirect) - ccall((:glDispatchComputeIndirect, libgl), Cvoid, (GLintptr,), indirect) + ccall(getprocaddress_e("glDispatchComputeIndirect"), Cvoid, (GLintptr,), indirect) end function glCopyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth) - ccall((:glCopyImageSubData, libgl), Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei), srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth) + ccall(getprocaddress_e("glCopyImageSubData"), Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei), srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth) end function glFramebufferParameteri(target, pname, param) - ccall((:glFramebufferParameteri, libgl), Cvoid, (GLenum, GLenum, GLint), target, pname, param) + ccall(getprocaddress_e("glFramebufferParameteri"), Cvoid, (GLenum, GLenum, GLint), target, pname, param) end function glGetFramebufferParameteriv(target, pname, params) - ccall((:glGetFramebufferParameteriv, libgl), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) + ccall(getprocaddress_e("glGetFramebufferParameteriv"), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) end function glGetInternalformati64v(target, internalformat, pname, count, params) - ccall((:glGetInternalformati64v, libgl), Cvoid, (GLenum, GLenum, GLenum, GLsizei, Ptr{GLint64}), target, internalformat, pname, count, params) + ccall(getprocaddress_e("glGetInternalformati64v"), Cvoid, (GLenum, GLenum, GLenum, GLsizei, Ptr{GLint64}), target, internalformat, pname, count, params) end function glInvalidateTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth) - ccall((:glInvalidateTexSubImage, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei), texture, level, xoffset, yoffset, zoffset, width, height, depth) + ccall(getprocaddress_e("glInvalidateTexSubImage"), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei), texture, level, xoffset, yoffset, zoffset, width, height, depth) end function glInvalidateTexImage(texture, level) - ccall((:glInvalidateTexImage, libgl), Cvoid, (GLuint, GLint), texture, level) + ccall(getprocaddress_e("glInvalidateTexImage"), Cvoid, (GLuint, GLint), texture, level) end function glInvalidateBufferSubData(buffer, offset, length) - ccall((:glInvalidateBufferSubData, libgl), Cvoid, (GLuint, GLintptr, GLsizeiptr), buffer, offset, length) + ccall(getprocaddress_e("glInvalidateBufferSubData"), Cvoid, (GLuint, GLintptr, GLsizeiptr), buffer, offset, length) end function glInvalidateBufferData(buffer) - ccall((:glInvalidateBufferData, libgl), Cvoid, (GLuint,), buffer) + ccall(getprocaddress_e("glInvalidateBufferData"), Cvoid, (GLuint,), buffer) end function glInvalidateFramebuffer(target, numAttachments, attachments) - ccall((:glInvalidateFramebuffer, libgl), Cvoid, (GLenum, GLsizei, Ptr{GLenum}), target, numAttachments, attachments) + ccall(getprocaddress_e("glInvalidateFramebuffer"), Cvoid, (GLenum, GLsizei, Ptr{GLenum}), target, numAttachments, attachments) end function glInvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height) - ccall((:glInvalidateSubFramebuffer, libgl), Cvoid, (GLenum, GLsizei, Ptr{GLenum}, GLint, GLint, GLsizei, GLsizei), target, numAttachments, attachments, x, y, width, height) + ccall(getprocaddress_e("glInvalidateSubFramebuffer"), Cvoid, (GLenum, GLsizei, Ptr{GLenum}, GLint, GLint, GLsizei, GLsizei), target, numAttachments, attachments, x, y, width, height) end function glMultiDrawArraysIndirect(mode, indirect, drawcount, stride) - ccall((:glMultiDrawArraysIndirect, libgl), Cvoid, (GLenum, Ptr{Cvoid}, GLsizei, GLsizei), mode, indirect, drawcount, stride) + ccall(getprocaddress_e("glMultiDrawArraysIndirect"), Cvoid, (GLenum, Ptr{Cvoid}, GLsizei, GLsizei), mode, indirect, drawcount, stride) end function glMultiDrawElementsIndirect(mode, type, indirect, drawcount, stride) - ccall((:glMultiDrawElementsIndirect, libgl), Cvoid, (GLenum, GLenum, Ptr{Cvoid}, GLsizei, GLsizei), mode, type, indirect, drawcount, stride) + ccall(getprocaddress_e("glMultiDrawElementsIndirect"), Cvoid, (GLenum, GLenum, Ptr{Cvoid}, GLsizei, GLsizei), mode, type, indirect, drawcount, stride) end function glGetProgramInterfaceiv(program, programInterface, pname, params) - ccall((:glGetProgramInterfaceiv, libgl), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), program, programInterface, pname, params) + ccall(getprocaddress_e("glGetProgramInterfaceiv"), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), program, programInterface, pname, params) end function glGetProgramResourceIndex(program, programInterface, name) - ccall((:glGetProgramResourceIndex, libgl), GLuint, (GLuint, GLenum, Ptr{GLchar}), program, programInterface, name) + ccall(getprocaddress_e("glGetProgramResourceIndex"), GLuint, (GLuint, GLenum, Ptr{GLchar}), program, programInterface, name) end function glGetProgramResourceName(program, programInterface, index, bufSize, length, name) - ccall((:glGetProgramResourceName, libgl), Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), program, programInterface, index, bufSize, length, name) + ccall(getprocaddress_e("glGetProgramResourceName"), Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), program, programInterface, index, bufSize, length, name) end function glGetProgramResourceiv(program, programInterface, index, propCount, props, count, length, params) - ccall((:glGetProgramResourceiv, libgl), Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLenum}, GLsizei, Ptr{GLsizei}, Ptr{GLint}), program, programInterface, index, propCount, props, count, length, params) + ccall(getprocaddress_e("glGetProgramResourceiv"), Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLenum}, GLsizei, Ptr{GLsizei}, Ptr{GLint}), program, programInterface, index, propCount, props, count, length, params) end function glGetProgramResourceLocation(program, programInterface, name) - ccall((:glGetProgramResourceLocation, libgl), GLint, (GLuint, GLenum, Ptr{GLchar}), program, programInterface, name) + ccall(getprocaddress_e("glGetProgramResourceLocation"), GLint, (GLuint, GLenum, Ptr{GLchar}), program, programInterface, name) end function glGetProgramResourceLocationIndex(program, programInterface, name) - ccall((:glGetProgramResourceLocationIndex, libgl), GLint, (GLuint, GLenum, Ptr{GLchar}), program, programInterface, name) + ccall(getprocaddress_e("glGetProgramResourceLocationIndex"), GLint, (GLuint, GLenum, Ptr{GLchar}), program, programInterface, name) end function glShaderStorageBlockBinding(program, storageBlockIndex, storageBlockBinding) - ccall((:glShaderStorageBlockBinding, libgl), Cvoid, (GLuint, GLuint, GLuint), program, storageBlockIndex, storageBlockBinding) + ccall(getprocaddress_e("glShaderStorageBlockBinding"), Cvoid, (GLuint, GLuint, GLuint), program, storageBlockIndex, storageBlockBinding) end function glTexBufferRange(target, internalformat, buffer, offset, size) - ccall((:glTexBufferRange, libgl), Cvoid, (GLenum, GLenum, GLuint, GLintptr, GLsizeiptr), target, internalformat, buffer, offset, size) + ccall(getprocaddress_e("glTexBufferRange"), Cvoid, (GLenum, GLenum, GLuint, GLintptr, GLsizeiptr), target, internalformat, buffer, offset, size) end function glTexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations) - ccall((:glTexStorage2DMultisample, libgl), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean), target, samples, internalformat, width, height, fixedsamplelocations) + ccall(getprocaddress_e("glTexStorage2DMultisample"), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean), target, samples, internalformat, width, height, fixedsamplelocations) end function glTexStorage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations) - ccall((:glTexStorage3DMultisample, libgl), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean), target, samples, internalformat, width, height, depth, fixedsamplelocations) + ccall(getprocaddress_e("glTexStorage3DMultisample"), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean), target, samples, internalformat, width, height, depth, fixedsamplelocations) end function glTextureView(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers) - ccall((:glTextureView, libgl), Cvoid, (GLuint, GLenum, GLuint, GLenum, GLuint, GLuint, GLuint, GLuint), texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers) + ccall(getprocaddress_e("glTextureView"), Cvoid, (GLuint, GLenum, GLuint, GLenum, GLuint, GLuint, GLuint, GLuint), texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers) end function glBindVertexBuffer(bindingindex, buffer, offset, stride) - ccall((:glBindVertexBuffer, libgl), Cvoid, (GLuint, GLuint, GLintptr, GLsizei), bindingindex, buffer, offset, stride) + ccall(getprocaddress_e("glBindVertexBuffer"), Cvoid, (GLuint, GLuint, GLintptr, GLsizei), bindingindex, buffer, offset, stride) end function glVertexAttribFormat(attribindex, size, type, normalized, relativeoffset) - ccall((:glVertexAttribFormat, libgl), Cvoid, (GLuint, GLint, GLenum, GLboolean, GLuint), attribindex, size, type, normalized, relativeoffset) + ccall(getprocaddress_e("glVertexAttribFormat"), Cvoid, (GLuint, GLint, GLenum, GLboolean, GLuint), attribindex, size, type, normalized, relativeoffset) end function glVertexAttribIFormat(attribindex, size, type, relativeoffset) - ccall((:glVertexAttribIFormat, libgl), Cvoid, (GLuint, GLint, GLenum, GLuint), attribindex, size, type, relativeoffset) + ccall(getprocaddress_e("glVertexAttribIFormat"), Cvoid, (GLuint, GLint, GLenum, GLuint), attribindex, size, type, relativeoffset) end function glVertexAttribLFormat(attribindex, size, type, relativeoffset) - ccall((:glVertexAttribLFormat, libgl), Cvoid, (GLuint, GLint, GLenum, GLuint), attribindex, size, type, relativeoffset) + ccall(getprocaddress_e("glVertexAttribLFormat"), Cvoid, (GLuint, GLint, GLenum, GLuint), attribindex, size, type, relativeoffset) end function glVertexAttribBinding(attribindex, bindingindex) - ccall((:glVertexAttribBinding, libgl), Cvoid, (GLuint, GLuint), attribindex, bindingindex) + ccall(getprocaddress_e("glVertexAttribBinding"), Cvoid, (GLuint, GLuint), attribindex, bindingindex) end function glVertexBindingDivisor(bindingindex, divisor) - ccall((:glVertexBindingDivisor, libgl), Cvoid, (GLuint, GLuint), bindingindex, divisor) + ccall(getprocaddress_e("glVertexBindingDivisor"), Cvoid, (GLuint, GLuint), bindingindex, divisor) end function glDebugMessageControl(source, type, severity, count, ids, enabled) - ccall((:glDebugMessageControl, libgl), Cvoid, (GLenum, GLenum, GLenum, GLsizei, Ptr{GLuint}, GLboolean), source, type, severity, count, ids, enabled) + ccall(getprocaddress_e("glDebugMessageControl"), Cvoid, (GLenum, GLenum, GLenum, GLsizei, Ptr{GLuint}, GLboolean), source, type, severity, count, ids, enabled) end function glDebugMessageInsert(source, type, id, severity, length, buf) - ccall((:glDebugMessageInsert, libgl), Cvoid, (GLenum, GLenum, GLuint, GLenum, GLsizei, Ptr{GLchar}), source, type, id, severity, length, buf) + ccall(getprocaddress_e("glDebugMessageInsert"), Cvoid, (GLenum, GLenum, GLuint, GLenum, GLsizei, Ptr{GLchar}), source, type, id, severity, length, buf) end function glDebugMessageCallback(callback, userParam) - ccall((:glDebugMessageCallback, libgl), Cvoid, (GLDEBUGPROC, Ptr{Cvoid}), callback, userParam) + ccall(getprocaddress_e("glDebugMessageCallback"), Cvoid, (GLDEBUGPROC, Ptr{Cvoid}), callback, userParam) end function glGetDebugMessageLog(count, bufSize, sources, types, ids, severities, lengths, messageLog) - ccall((:glGetDebugMessageLog, libgl), GLuint, (GLuint, GLsizei, Ptr{GLenum}, Ptr{GLenum}, Ptr{GLuint}, Ptr{GLenum}, Ptr{GLsizei}, Ptr{GLchar}), count, bufSize, sources, types, ids, severities, lengths, messageLog) + ccall(getprocaddress_e("glGetDebugMessageLog"), GLuint, (GLuint, GLsizei, Ptr{GLenum}, Ptr{GLenum}, Ptr{GLuint}, Ptr{GLenum}, Ptr{GLsizei}, Ptr{GLchar}), count, bufSize, sources, types, ids, severities, lengths, messageLog) end function glPushDebugGroup(source, id, length, message) - ccall((:glPushDebugGroup, libgl), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLchar}), source, id, length, message) + ccall(getprocaddress_e("glPushDebugGroup"), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLchar}), source, id, length, message) end function glPopDebugGroup() - ccall((:glPopDebugGroup, libgl), Cvoid, ()) + ccall(getprocaddress_e("glPopDebugGroup"), Cvoid, ()) end function glObjectLabel(identifier, name, length, label) - ccall((:glObjectLabel, libgl), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLchar}), identifier, name, length, label) + ccall(getprocaddress_e("glObjectLabel"), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLchar}), identifier, name, length, label) end function glGetObjectLabel(identifier, name, bufSize, length, label) - ccall((:glGetObjectLabel, libgl), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), identifier, name, bufSize, length, label) + ccall(getprocaddress_e("glGetObjectLabel"), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), identifier, name, bufSize, length, label) end function glObjectPtrLabel(ptr, length, label) - ccall((:glObjectPtrLabel, libgl), Cvoid, (Ptr{Cvoid}, GLsizei, Ptr{GLchar}), ptr, length, label) + ccall(getprocaddress_e("glObjectPtrLabel"), Cvoid, (Ptr{Cvoid}, GLsizei, Ptr{GLchar}), ptr, length, label) end function glGetObjectPtrLabel(ptr, bufSize, length, label) - ccall((:glGetObjectPtrLabel, libgl), Cvoid, (Ptr{Cvoid}, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), ptr, bufSize, length, label) + ccall(getprocaddress_e("glGetObjectPtrLabel"), Cvoid, (Ptr{Cvoid}, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), ptr, bufSize, length, label) end # typedef void ( APIENTRYP PFNGLBUFFERSTORAGEPROC ) ( GLenum target , GLsizeiptr size , const void * data , GLbitfield flags ) @@ -3851,39 +3851,39 @@ const PFNGLBINDIMAGETEXTURESPROC = Ptr{Cvoid} const PFNGLBINDVERTEXBUFFERSPROC = Ptr{Cvoid} function glBufferStorage(target, size, data, flags) - ccall((:glBufferStorage, libgl), Cvoid, (GLenum, GLsizeiptr, Ptr{Cvoid}, GLbitfield), target, size, data, flags) + ccall(getprocaddress_e("glBufferStorage"), Cvoid, (GLenum, GLsizeiptr, Ptr{Cvoid}, GLbitfield), target, size, data, flags) end function glClearTexImage(texture, level, format, type, data) - ccall((:glClearTexImage, libgl), Cvoid, (GLuint, GLint, GLenum, GLenum, Ptr{Cvoid}), texture, level, format, type, data) + ccall(getprocaddress_e("glClearTexImage"), Cvoid, (GLuint, GLint, GLenum, GLenum, Ptr{Cvoid}), texture, level, format, type, data) end function glClearTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data) - ccall((:glClearTexSubImage, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data) + ccall(getprocaddress_e("glClearTexSubImage"), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data) end function glBindBuffersBase(target, first, count, buffers) - ccall((:glBindBuffersBase, libgl), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLuint}), target, first, count, buffers) + ccall(getprocaddress_e("glBindBuffersBase"), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLuint}), target, first, count, buffers) end function glBindBuffersRange(target, first, count, buffers, offsets, sizes) - ccall((:glBindBuffersRange, libgl), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLuint}, Ptr{GLintptr}, Ptr{GLsizeiptr}), target, first, count, buffers, offsets, sizes) + ccall(getprocaddress_e("glBindBuffersRange"), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLuint}, Ptr{GLintptr}, Ptr{GLsizeiptr}), target, first, count, buffers, offsets, sizes) end function glBindTextures(first, count, textures) - ccall((:glBindTextures, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLuint}), first, count, textures) + ccall(getprocaddress_e("glBindTextures"), Cvoid, (GLuint, GLsizei, Ptr{GLuint}), first, count, textures) end function glBindSamplers(first, count, samplers) - ccall((:glBindSamplers, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLuint}), first, count, samplers) + ccall(getprocaddress_e("glBindSamplers"), Cvoid, (GLuint, GLsizei, Ptr{GLuint}), first, count, samplers) end function glBindImageTextures(first, count, textures) - ccall((:glBindImageTextures, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLuint}), first, count, textures) + ccall(getprocaddress_e("glBindImageTextures"), Cvoid, (GLuint, GLsizei, Ptr{GLuint}), first, count, textures) end function glBindVertexBuffers(first, count, buffers, offsets, strides) - ccall((:glBindVertexBuffers, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLuint}, Ptr{GLintptr}, Ptr{GLsizei}), first, count, buffers, offsets, strides) + ccall(getprocaddress_e("glBindVertexBuffers"), Cvoid, (GLuint, GLsizei, Ptr{GLuint}, Ptr{GLintptr}, Ptr{GLsizei}), first, count, buffers, offsets, strides) end # typedef void ( APIENTRYP PFNGLCLIPCONTROLPROC ) ( GLenum origin , GLenum depth ) @@ -4217,443 +4217,443 @@ const PFNGLREADNPIXELSPROC = Ptr{Cvoid} const PFNGLTEXTUREBARRIERPROC = Ptr{Cvoid} function glClipControl(origin, depth) - ccall((:glClipControl, libgl), Cvoid, (GLenum, GLenum), origin, depth) + ccall(getprocaddress_e("glClipControl"), Cvoid, (GLenum, GLenum), origin, depth) end function glCreateTransformFeedbacks(n, ids) - ccall((:glCreateTransformFeedbacks, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, ids) + ccall(getprocaddress_e("glCreateTransformFeedbacks"), Cvoid, (GLsizei, Ptr{GLuint}), n, ids) end function glTransformFeedbackBufferBase(xfb, index, buffer) - ccall((:glTransformFeedbackBufferBase, libgl), Cvoid, (GLuint, GLuint, GLuint), xfb, index, buffer) + ccall(getprocaddress_e("glTransformFeedbackBufferBase"), Cvoid, (GLuint, GLuint, GLuint), xfb, index, buffer) end function glTransformFeedbackBufferRange(xfb, index, buffer, offset, size) - ccall((:glTransformFeedbackBufferRange, libgl), Cvoid, (GLuint, GLuint, GLuint, GLintptr, GLsizeiptr), xfb, index, buffer, offset, size) + ccall(getprocaddress_e("glTransformFeedbackBufferRange"), Cvoid, (GLuint, GLuint, GLuint, GLintptr, GLsizeiptr), xfb, index, buffer, offset, size) end function glGetTransformFeedbackiv(xfb, pname, param) - ccall((:glGetTransformFeedbackiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), xfb, pname, param) + ccall(getprocaddress_e("glGetTransformFeedbackiv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), xfb, pname, param) end function glGetTransformFeedbacki_v(xfb, pname, index, param) - ccall((:glGetTransformFeedbacki_v, libgl), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLint}), xfb, pname, index, param) + ccall(getprocaddress_e("glGetTransformFeedbacki_v"), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLint}), xfb, pname, index, param) end function glGetTransformFeedbacki64_v(xfb, pname, index, param) - ccall((:glGetTransformFeedbacki64_v, libgl), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLint64}), xfb, pname, index, param) + ccall(getprocaddress_e("glGetTransformFeedbacki64_v"), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLint64}), xfb, pname, index, param) end function glCreateBuffers(n, buffers) - ccall((:glCreateBuffers, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, buffers) + ccall(getprocaddress_e("glCreateBuffers"), Cvoid, (GLsizei, Ptr{GLuint}), n, buffers) end function glNamedBufferStorage(buffer, size, data, flags) - ccall((:glNamedBufferStorage, libgl), Cvoid, (GLuint, GLsizeiptr, Ptr{Cvoid}, GLbitfield), buffer, size, data, flags) + ccall(getprocaddress_e("glNamedBufferStorage"), Cvoid, (GLuint, GLsizeiptr, Ptr{Cvoid}, GLbitfield), buffer, size, data, flags) end function glNamedBufferData(buffer, size, data, usage) - ccall((:glNamedBufferData, libgl), Cvoid, (GLuint, GLsizeiptr, Ptr{Cvoid}, GLenum), buffer, size, data, usage) + ccall(getprocaddress_e("glNamedBufferData"), Cvoid, (GLuint, GLsizeiptr, Ptr{Cvoid}, GLenum), buffer, size, data, usage) end function glNamedBufferSubData(buffer, offset, size, data) - ccall((:glNamedBufferSubData, libgl), Cvoid, (GLuint, GLintptr, GLsizeiptr, Ptr{Cvoid}), buffer, offset, size, data) + ccall(getprocaddress_e("glNamedBufferSubData"), Cvoid, (GLuint, GLintptr, GLsizeiptr, Ptr{Cvoid}), buffer, offset, size, data) end function glCopyNamedBufferSubData(readBuffer, writeBuffer, readOffset, writeOffset, size) - ccall((:glCopyNamedBufferSubData, libgl), Cvoid, (GLuint, GLuint, GLintptr, GLintptr, GLsizeiptr), readBuffer, writeBuffer, readOffset, writeOffset, size) + ccall(getprocaddress_e("glCopyNamedBufferSubData"), Cvoid, (GLuint, GLuint, GLintptr, GLintptr, GLsizeiptr), readBuffer, writeBuffer, readOffset, writeOffset, size) end function glClearNamedBufferData(buffer, internalformat, format, type, data) - ccall((:glClearNamedBufferData, libgl), Cvoid, (GLuint, GLenum, GLenum, GLenum, Ptr{Cvoid}), buffer, internalformat, format, type, data) + ccall(getprocaddress_e("glClearNamedBufferData"), Cvoid, (GLuint, GLenum, GLenum, GLenum, Ptr{Cvoid}), buffer, internalformat, format, type, data) end function glClearNamedBufferSubData(buffer, internalformat, offset, size, format, type, data) - ccall((:glClearNamedBufferSubData, libgl), Cvoid, (GLuint, GLenum, GLintptr, GLsizeiptr, GLenum, GLenum, Ptr{Cvoid}), buffer, internalformat, offset, size, format, type, data) + ccall(getprocaddress_e("glClearNamedBufferSubData"), Cvoid, (GLuint, GLenum, GLintptr, GLsizeiptr, GLenum, GLenum, Ptr{Cvoid}), buffer, internalformat, offset, size, format, type, data) end function glMapNamedBuffer(buffer, access) - ccall((:glMapNamedBuffer, libgl), Ptr{Cvoid}, (GLuint, GLenum), buffer, access) + ccall(getprocaddress_e("glMapNamedBuffer"), Ptr{Cvoid}, (GLuint, GLenum), buffer, access) end function glMapNamedBufferRange(buffer, offset, length, access) - ccall((:glMapNamedBufferRange, libgl), Ptr{Cvoid}, (GLuint, GLintptr, GLsizeiptr, GLbitfield), buffer, offset, length, access) + ccall(getprocaddress_e("glMapNamedBufferRange"), Ptr{Cvoid}, (GLuint, GLintptr, GLsizeiptr, GLbitfield), buffer, offset, length, access) end function glUnmapNamedBuffer(buffer) - ccall((:glUnmapNamedBuffer, libgl), GLboolean, (GLuint,), buffer) + ccall(getprocaddress_e("glUnmapNamedBuffer"), GLboolean, (GLuint,), buffer) end function glFlushMappedNamedBufferRange(buffer, offset, length) - ccall((:glFlushMappedNamedBufferRange, libgl), Cvoid, (GLuint, GLintptr, GLsizeiptr), buffer, offset, length) + ccall(getprocaddress_e("glFlushMappedNamedBufferRange"), Cvoid, (GLuint, GLintptr, GLsizeiptr), buffer, offset, length) end function glGetNamedBufferParameteriv(buffer, pname, params) - ccall((:glGetNamedBufferParameteriv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), buffer, pname, params) + ccall(getprocaddress_e("glGetNamedBufferParameteriv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), buffer, pname, params) end function glGetNamedBufferParameteri64v(buffer, pname, params) - ccall((:glGetNamedBufferParameteri64v, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint64}), buffer, pname, params) + ccall(getprocaddress_e("glGetNamedBufferParameteri64v"), Cvoid, (GLuint, GLenum, Ptr{GLint64}), buffer, pname, params) end function glGetNamedBufferPointerv(buffer, pname, params) - ccall((:glGetNamedBufferPointerv, libgl), Cvoid, (GLuint, GLenum, Ptr{Ptr{Cvoid}}), buffer, pname, params) + ccall(getprocaddress_e("glGetNamedBufferPointerv"), Cvoid, (GLuint, GLenum, Ptr{Ptr{Cvoid}}), buffer, pname, params) end function glGetNamedBufferSubData(buffer, offset, size, data) - ccall((:glGetNamedBufferSubData, libgl), Cvoid, (GLuint, GLintptr, GLsizeiptr, Ptr{Cvoid}), buffer, offset, size, data) + ccall(getprocaddress_e("glGetNamedBufferSubData"), Cvoid, (GLuint, GLintptr, GLsizeiptr, Ptr{Cvoid}), buffer, offset, size, data) end function glCreateFramebuffers(n, framebuffers) - ccall((:glCreateFramebuffers, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, framebuffers) + ccall(getprocaddress_e("glCreateFramebuffers"), Cvoid, (GLsizei, Ptr{GLuint}), n, framebuffers) end function glNamedFramebufferRenderbuffer(framebuffer, attachment, renderbuffertarget, renderbuffer) - ccall((:glNamedFramebufferRenderbuffer, libgl), Cvoid, (GLuint, GLenum, GLenum, GLuint), framebuffer, attachment, renderbuffertarget, renderbuffer) + ccall(getprocaddress_e("glNamedFramebufferRenderbuffer"), Cvoid, (GLuint, GLenum, GLenum, GLuint), framebuffer, attachment, renderbuffertarget, renderbuffer) end function glNamedFramebufferParameteri(framebuffer, pname, param) - ccall((:glNamedFramebufferParameteri, libgl), Cvoid, (GLuint, GLenum, GLint), framebuffer, pname, param) + ccall(getprocaddress_e("glNamedFramebufferParameteri"), Cvoid, (GLuint, GLenum, GLint), framebuffer, pname, param) end function glNamedFramebufferTexture(framebuffer, attachment, texture, level) - ccall((:glNamedFramebufferTexture, libgl), Cvoid, (GLuint, GLenum, GLuint, GLint), framebuffer, attachment, texture, level) + ccall(getprocaddress_e("glNamedFramebufferTexture"), Cvoid, (GLuint, GLenum, GLuint, GLint), framebuffer, attachment, texture, level) end function glNamedFramebufferTextureLayer(framebuffer, attachment, texture, level, layer) - ccall((:glNamedFramebufferTextureLayer, libgl), Cvoid, (GLuint, GLenum, GLuint, GLint, GLint), framebuffer, attachment, texture, level, layer) + ccall(getprocaddress_e("glNamedFramebufferTextureLayer"), Cvoid, (GLuint, GLenum, GLuint, GLint, GLint), framebuffer, attachment, texture, level, layer) end function glNamedFramebufferDrawBuffer(framebuffer, buf) - ccall((:glNamedFramebufferDrawBuffer, libgl), Cvoid, (GLuint, GLenum), framebuffer, buf) + ccall(getprocaddress_e("glNamedFramebufferDrawBuffer"), Cvoid, (GLuint, GLenum), framebuffer, buf) end function glNamedFramebufferDrawBuffers(framebuffer, n, bufs) - ccall((:glNamedFramebufferDrawBuffers, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLenum}), framebuffer, n, bufs) + ccall(getprocaddress_e("glNamedFramebufferDrawBuffers"), Cvoid, (GLuint, GLsizei, Ptr{GLenum}), framebuffer, n, bufs) end function glNamedFramebufferReadBuffer(framebuffer, src) - ccall((:glNamedFramebufferReadBuffer, libgl), Cvoid, (GLuint, GLenum), framebuffer, src) + ccall(getprocaddress_e("glNamedFramebufferReadBuffer"), Cvoid, (GLuint, GLenum), framebuffer, src) end function glInvalidateNamedFramebufferData(framebuffer, numAttachments, attachments) - ccall((:glInvalidateNamedFramebufferData, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLenum}), framebuffer, numAttachments, attachments) + ccall(getprocaddress_e("glInvalidateNamedFramebufferData"), Cvoid, (GLuint, GLsizei, Ptr{GLenum}), framebuffer, numAttachments, attachments) end function glInvalidateNamedFramebufferSubData(framebuffer, numAttachments, attachments, x, y, width, height) - ccall((:glInvalidateNamedFramebufferSubData, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLenum}, GLint, GLint, GLsizei, GLsizei), framebuffer, numAttachments, attachments, x, y, width, height) + ccall(getprocaddress_e("glInvalidateNamedFramebufferSubData"), Cvoid, (GLuint, GLsizei, Ptr{GLenum}, GLint, GLint, GLsizei, GLsizei), framebuffer, numAttachments, attachments, x, y, width, height) end function glClearNamedFramebufferiv(framebuffer, buffer, drawbuffer, value) - ccall((:glClearNamedFramebufferiv, libgl), Cvoid, (GLuint, GLenum, GLint, Ptr{GLint}), framebuffer, buffer, drawbuffer, value) + ccall(getprocaddress_e("glClearNamedFramebufferiv"), Cvoid, (GLuint, GLenum, GLint, Ptr{GLint}), framebuffer, buffer, drawbuffer, value) end function glClearNamedFramebufferuiv(framebuffer, buffer, drawbuffer, value) - ccall((:glClearNamedFramebufferuiv, libgl), Cvoid, (GLuint, GLenum, GLint, Ptr{GLuint}), framebuffer, buffer, drawbuffer, value) + ccall(getprocaddress_e("glClearNamedFramebufferuiv"), Cvoid, (GLuint, GLenum, GLint, Ptr{GLuint}), framebuffer, buffer, drawbuffer, value) end function glClearNamedFramebufferfv(framebuffer, buffer, drawbuffer, value) - ccall((:glClearNamedFramebufferfv, libgl), Cvoid, (GLuint, GLenum, GLint, Ptr{GLfloat}), framebuffer, buffer, drawbuffer, value) + ccall(getprocaddress_e("glClearNamedFramebufferfv"), Cvoid, (GLuint, GLenum, GLint, Ptr{GLfloat}), framebuffer, buffer, drawbuffer, value) end function glClearNamedFramebufferfi(framebuffer, buffer, drawbuffer, depth, stencil) - ccall((:glClearNamedFramebufferfi, libgl), Cvoid, (GLuint, GLenum, GLint, GLfloat, GLint), framebuffer, buffer, drawbuffer, depth, stencil) + ccall(getprocaddress_e("glClearNamedFramebufferfi"), Cvoid, (GLuint, GLenum, GLint, GLfloat, GLint), framebuffer, buffer, drawbuffer, depth, stencil) end function glBlitNamedFramebuffer(readFramebuffer, drawFramebuffer, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter) - ccall((:glBlitNamedFramebuffer, libgl), Cvoid, (GLuint, GLuint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum), readFramebuffer, drawFramebuffer, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter) + ccall(getprocaddress_e("glBlitNamedFramebuffer"), Cvoid, (GLuint, GLuint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum), readFramebuffer, drawFramebuffer, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter) end function glCheckNamedFramebufferStatus(framebuffer, target) - ccall((:glCheckNamedFramebufferStatus, libgl), GLenum, (GLuint, GLenum), framebuffer, target) + ccall(getprocaddress_e("glCheckNamedFramebufferStatus"), GLenum, (GLuint, GLenum), framebuffer, target) end function glGetNamedFramebufferParameteriv(framebuffer, pname, param) - ccall((:glGetNamedFramebufferParameteriv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), framebuffer, pname, param) + ccall(getprocaddress_e("glGetNamedFramebufferParameteriv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), framebuffer, pname, param) end function glGetNamedFramebufferAttachmentParameteriv(framebuffer, attachment, pname, params) - ccall((:glGetNamedFramebufferAttachmentParameteriv, libgl), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), framebuffer, attachment, pname, params) + ccall(getprocaddress_e("glGetNamedFramebufferAttachmentParameteriv"), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), framebuffer, attachment, pname, params) end function glCreateRenderbuffers(n, renderbuffers) - ccall((:glCreateRenderbuffers, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, renderbuffers) + ccall(getprocaddress_e("glCreateRenderbuffers"), Cvoid, (GLsizei, Ptr{GLuint}), n, renderbuffers) end function glNamedRenderbufferStorage(renderbuffer, internalformat, width, height) - ccall((:glNamedRenderbufferStorage, libgl), Cvoid, (GLuint, GLenum, GLsizei, GLsizei), renderbuffer, internalformat, width, height) + ccall(getprocaddress_e("glNamedRenderbufferStorage"), Cvoid, (GLuint, GLenum, GLsizei, GLsizei), renderbuffer, internalformat, width, height) end function glNamedRenderbufferStorageMultisample(renderbuffer, samples, internalformat, width, height) - ccall((:glNamedRenderbufferStorageMultisample, libgl), Cvoid, (GLuint, GLsizei, GLenum, GLsizei, GLsizei), renderbuffer, samples, internalformat, width, height) + ccall(getprocaddress_e("glNamedRenderbufferStorageMultisample"), Cvoid, (GLuint, GLsizei, GLenum, GLsizei, GLsizei), renderbuffer, samples, internalformat, width, height) end function glGetNamedRenderbufferParameteriv(renderbuffer, pname, params) - ccall((:glGetNamedRenderbufferParameteriv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), renderbuffer, pname, params) + ccall(getprocaddress_e("glGetNamedRenderbufferParameteriv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), renderbuffer, pname, params) end function glCreateTextures(target, n, textures) - ccall((:glCreateTextures, libgl), Cvoid, (GLenum, GLsizei, Ptr{GLuint}), target, n, textures) + ccall(getprocaddress_e("glCreateTextures"), Cvoid, (GLenum, GLsizei, Ptr{GLuint}), target, n, textures) end function glTextureBuffer(texture, internalformat, buffer) - ccall((:glTextureBuffer, libgl), Cvoid, (GLuint, GLenum, GLuint), texture, internalformat, buffer) + ccall(getprocaddress_e("glTextureBuffer"), Cvoid, (GLuint, GLenum, GLuint), texture, internalformat, buffer) end function glTextureBufferRange(texture, internalformat, buffer, offset, size) - ccall((:glTextureBufferRange, libgl), Cvoid, (GLuint, GLenum, GLuint, GLintptr, GLsizeiptr), texture, internalformat, buffer, offset, size) + ccall(getprocaddress_e("glTextureBufferRange"), Cvoid, (GLuint, GLenum, GLuint, GLintptr, GLsizeiptr), texture, internalformat, buffer, offset, size) end function glTextureStorage1D(texture, levels, internalformat, width) - ccall((:glTextureStorage1D, libgl), Cvoid, (GLuint, GLsizei, GLenum, GLsizei), texture, levels, internalformat, width) + ccall(getprocaddress_e("glTextureStorage1D"), Cvoid, (GLuint, GLsizei, GLenum, GLsizei), texture, levels, internalformat, width) end function glTextureStorage2D(texture, levels, internalformat, width, height) - ccall((:glTextureStorage2D, libgl), Cvoid, (GLuint, GLsizei, GLenum, GLsizei, GLsizei), texture, levels, internalformat, width, height) + ccall(getprocaddress_e("glTextureStorage2D"), Cvoid, (GLuint, GLsizei, GLenum, GLsizei, GLsizei), texture, levels, internalformat, width, height) end function glTextureStorage3D(texture, levels, internalformat, width, height, depth) - ccall((:glTextureStorage3D, libgl), Cvoid, (GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLsizei), texture, levels, internalformat, width, height, depth) + ccall(getprocaddress_e("glTextureStorage3D"), Cvoid, (GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLsizei), texture, levels, internalformat, width, height, depth) end function glTextureStorage2DMultisample(texture, samples, internalformat, width, height, fixedsamplelocations) - ccall((:glTextureStorage2DMultisample, libgl), Cvoid, (GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLboolean), texture, samples, internalformat, width, height, fixedsamplelocations) + ccall(getprocaddress_e("glTextureStorage2DMultisample"), Cvoid, (GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLboolean), texture, samples, internalformat, width, height, fixedsamplelocations) end function glTextureStorage3DMultisample(texture, samples, internalformat, width, height, depth, fixedsamplelocations) - ccall((:glTextureStorage3DMultisample, libgl), Cvoid, (GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean), texture, samples, internalformat, width, height, depth, fixedsamplelocations) + ccall(getprocaddress_e("glTextureStorage3DMultisample"), Cvoid, (GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean), texture, samples, internalformat, width, height, depth, fixedsamplelocations) end function glTextureSubImage1D(texture, level, xoffset, width, format, type, pixels) - ccall((:glTextureSubImage1D, libgl), Cvoid, (GLuint, GLint, GLint, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, level, xoffset, width, format, type, pixels) + ccall(getprocaddress_e("glTextureSubImage1D"), Cvoid, (GLuint, GLint, GLint, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, level, xoffset, width, format, type, pixels) end function glTextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, type, pixels) - ccall((:glTextureSubImage2D, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, level, xoffset, yoffset, width, height, format, type, pixels) + ccall(getprocaddress_e("glTextureSubImage2D"), Cvoid, (GLuint, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, level, xoffset, yoffset, width, height, format, type, pixels) end function glTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) - ccall((:glTextureSubImage3D, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) + ccall(getprocaddress_e("glTextureSubImage3D"), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) end function glCompressedTextureSubImage1D(texture, level, xoffset, width, format, imageSize, data) - ccall((:glCompressedTextureSubImage1D, libgl), Cvoid, (GLuint, GLint, GLint, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texture, level, xoffset, width, format, imageSize, data) + ccall(getprocaddress_e("glCompressedTextureSubImage1D"), Cvoid, (GLuint, GLint, GLint, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texture, level, xoffset, width, format, imageSize, data) end function glCompressedTextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, imageSize, data) - ccall((:glCompressedTextureSubImage2D, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texture, level, xoffset, yoffset, width, height, format, imageSize, data) + ccall(getprocaddress_e("glCompressedTextureSubImage2D"), Cvoid, (GLuint, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texture, level, xoffset, yoffset, width, height, format, imageSize, data) end function glCompressedTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data) - ccall((:glCompressedTextureSubImage3D, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texture, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data) + ccall(getprocaddress_e("glCompressedTextureSubImage3D"), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texture, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data) end function glCopyTextureSubImage1D(texture, level, xoffset, x, y, width) - ccall((:glCopyTextureSubImage1D, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei), texture, level, xoffset, x, y, width) + ccall(getprocaddress_e("glCopyTextureSubImage1D"), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei), texture, level, xoffset, x, y, width) end function glCopyTextureSubImage2D(texture, level, xoffset, yoffset, x, y, width, height) - ccall((:glCopyTextureSubImage2D, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), texture, level, xoffset, yoffset, x, y, width, height) + ccall(getprocaddress_e("glCopyTextureSubImage2D"), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), texture, level, xoffset, yoffset, x, y, width, height) end function glCopyTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, x, y, width, height) - ccall((:glCopyTextureSubImage3D, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), texture, level, xoffset, yoffset, zoffset, x, y, width, height) + ccall(getprocaddress_e("glCopyTextureSubImage3D"), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), texture, level, xoffset, yoffset, zoffset, x, y, width, height) end function glTextureParameterf(texture, pname, param) - ccall((:glTextureParameterf, libgl), Cvoid, (GLuint, GLenum, GLfloat), texture, pname, param) + ccall(getprocaddress_e("glTextureParameterf"), Cvoid, (GLuint, GLenum, GLfloat), texture, pname, param) end function glTextureParameterfv(texture, pname, param) - ccall((:glTextureParameterfv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLfloat}), texture, pname, param) + ccall(getprocaddress_e("glTextureParameterfv"), Cvoid, (GLuint, GLenum, Ptr{GLfloat}), texture, pname, param) end function glTextureParameteri(texture, pname, param) - ccall((:glTextureParameteri, libgl), Cvoid, (GLuint, GLenum, GLint), texture, pname, param) + ccall(getprocaddress_e("glTextureParameteri"), Cvoid, (GLuint, GLenum, GLint), texture, pname, param) end function glTextureParameterIiv(texture, pname, params) - ccall((:glTextureParameterIiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), texture, pname, params) + ccall(getprocaddress_e("glTextureParameterIiv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), texture, pname, params) end function glTextureParameterIuiv(texture, pname, params) - ccall((:glTextureParameterIuiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLuint}), texture, pname, params) + ccall(getprocaddress_e("glTextureParameterIuiv"), Cvoid, (GLuint, GLenum, Ptr{GLuint}), texture, pname, params) end function glTextureParameteriv(texture, pname, param) - ccall((:glTextureParameteriv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), texture, pname, param) + ccall(getprocaddress_e("glTextureParameteriv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), texture, pname, param) end function glGenerateTextureMipmap(texture) - ccall((:glGenerateTextureMipmap, libgl), Cvoid, (GLuint,), texture) + ccall(getprocaddress_e("glGenerateTextureMipmap"), Cvoid, (GLuint,), texture) end function glBindTextureUnit(unit, texture) - ccall((:glBindTextureUnit, libgl), Cvoid, (GLuint, GLuint), unit, texture) + ccall(getprocaddress_e("glBindTextureUnit"), Cvoid, (GLuint, GLuint), unit, texture) end function glGetTextureImage(texture, level, format, type, bufSize, pixels) - ccall((:glGetTextureImage, libgl), Cvoid, (GLuint, GLint, GLenum, GLenum, GLsizei, Ptr{Cvoid}), texture, level, format, type, bufSize, pixels) + ccall(getprocaddress_e("glGetTextureImage"), Cvoid, (GLuint, GLint, GLenum, GLenum, GLsizei, Ptr{Cvoid}), texture, level, format, type, bufSize, pixels) end function glGetCompressedTextureImage(texture, level, bufSize, pixels) - ccall((:glGetCompressedTextureImage, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{Cvoid}), texture, level, bufSize, pixels) + ccall(getprocaddress_e("glGetCompressedTextureImage"), Cvoid, (GLuint, GLint, GLsizei, Ptr{Cvoid}), texture, level, bufSize, pixels) end function glGetTextureLevelParameterfv(texture, level, pname, params) - ccall((:glGetTextureLevelParameterfv, libgl), Cvoid, (GLuint, GLint, GLenum, Ptr{GLfloat}), texture, level, pname, params) + ccall(getprocaddress_e("glGetTextureLevelParameterfv"), Cvoid, (GLuint, GLint, GLenum, Ptr{GLfloat}), texture, level, pname, params) end function glGetTextureLevelParameteriv(texture, level, pname, params) - ccall((:glGetTextureLevelParameteriv, libgl), Cvoid, (GLuint, GLint, GLenum, Ptr{GLint}), texture, level, pname, params) + ccall(getprocaddress_e("glGetTextureLevelParameteriv"), Cvoid, (GLuint, GLint, GLenum, Ptr{GLint}), texture, level, pname, params) end function glGetTextureParameterfv(texture, pname, params) - ccall((:glGetTextureParameterfv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLfloat}), texture, pname, params) + ccall(getprocaddress_e("glGetTextureParameterfv"), Cvoid, (GLuint, GLenum, Ptr{GLfloat}), texture, pname, params) end function glGetTextureParameterIiv(texture, pname, params) - ccall((:glGetTextureParameterIiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), texture, pname, params) + ccall(getprocaddress_e("glGetTextureParameterIiv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), texture, pname, params) end function glGetTextureParameterIuiv(texture, pname, params) - ccall((:glGetTextureParameterIuiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLuint}), texture, pname, params) + ccall(getprocaddress_e("glGetTextureParameterIuiv"), Cvoid, (GLuint, GLenum, Ptr{GLuint}), texture, pname, params) end function glGetTextureParameteriv(texture, pname, params) - ccall((:glGetTextureParameteriv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), texture, pname, params) + ccall(getprocaddress_e("glGetTextureParameteriv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), texture, pname, params) end function glCreateVertexArrays(n, arrays) - ccall((:glCreateVertexArrays, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, arrays) + ccall(getprocaddress_e("glCreateVertexArrays"), Cvoid, (GLsizei, Ptr{GLuint}), n, arrays) end function glDisableVertexArrayAttrib(vaobj, index) - ccall((:glDisableVertexArrayAttrib, libgl), Cvoid, (GLuint, GLuint), vaobj, index) + ccall(getprocaddress_e("glDisableVertexArrayAttrib"), Cvoid, (GLuint, GLuint), vaobj, index) end function glEnableVertexArrayAttrib(vaobj, index) - ccall((:glEnableVertexArrayAttrib, libgl), Cvoid, (GLuint, GLuint), vaobj, index) + ccall(getprocaddress_e("glEnableVertexArrayAttrib"), Cvoid, (GLuint, GLuint), vaobj, index) end function glVertexArrayElementBuffer(vaobj, buffer) - ccall((:glVertexArrayElementBuffer, libgl), Cvoid, (GLuint, GLuint), vaobj, buffer) + ccall(getprocaddress_e("glVertexArrayElementBuffer"), Cvoid, (GLuint, GLuint), vaobj, buffer) end function glVertexArrayVertexBuffer(vaobj, bindingindex, buffer, offset, stride) - ccall((:glVertexArrayVertexBuffer, libgl), Cvoid, (GLuint, GLuint, GLuint, GLintptr, GLsizei), vaobj, bindingindex, buffer, offset, stride) + ccall(getprocaddress_e("glVertexArrayVertexBuffer"), Cvoid, (GLuint, GLuint, GLuint, GLintptr, GLsizei), vaobj, bindingindex, buffer, offset, stride) end function glVertexArrayVertexBuffers(vaobj, first, count, buffers, offsets, strides) - ccall((:glVertexArrayVertexBuffers, libgl), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLuint}, Ptr{GLintptr}, Ptr{GLsizei}), vaobj, first, count, buffers, offsets, strides) + ccall(getprocaddress_e("glVertexArrayVertexBuffers"), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLuint}, Ptr{GLintptr}, Ptr{GLsizei}), vaobj, first, count, buffers, offsets, strides) end function glVertexArrayAttribBinding(vaobj, attribindex, bindingindex) - ccall((:glVertexArrayAttribBinding, libgl), Cvoid, (GLuint, GLuint, GLuint), vaobj, attribindex, bindingindex) + ccall(getprocaddress_e("glVertexArrayAttribBinding"), Cvoid, (GLuint, GLuint, GLuint), vaobj, attribindex, bindingindex) end function glVertexArrayAttribFormat(vaobj, attribindex, size, type, normalized, relativeoffset) - ccall((:glVertexArrayAttribFormat, libgl), Cvoid, (GLuint, GLuint, GLint, GLenum, GLboolean, GLuint), vaobj, attribindex, size, type, normalized, relativeoffset) + ccall(getprocaddress_e("glVertexArrayAttribFormat"), Cvoid, (GLuint, GLuint, GLint, GLenum, GLboolean, GLuint), vaobj, attribindex, size, type, normalized, relativeoffset) end function glVertexArrayAttribIFormat(vaobj, attribindex, size, type, relativeoffset) - ccall((:glVertexArrayAttribIFormat, libgl), Cvoid, (GLuint, GLuint, GLint, GLenum, GLuint), vaobj, attribindex, size, type, relativeoffset) + ccall(getprocaddress_e("glVertexArrayAttribIFormat"), Cvoid, (GLuint, GLuint, GLint, GLenum, GLuint), vaobj, attribindex, size, type, relativeoffset) end function glVertexArrayAttribLFormat(vaobj, attribindex, size, type, relativeoffset) - ccall((:glVertexArrayAttribLFormat, libgl), Cvoid, (GLuint, GLuint, GLint, GLenum, GLuint), vaobj, attribindex, size, type, relativeoffset) + ccall(getprocaddress_e("glVertexArrayAttribLFormat"), Cvoid, (GLuint, GLuint, GLint, GLenum, GLuint), vaobj, attribindex, size, type, relativeoffset) end function glVertexArrayBindingDivisor(vaobj, bindingindex, divisor) - ccall((:glVertexArrayBindingDivisor, libgl), Cvoid, (GLuint, GLuint, GLuint), vaobj, bindingindex, divisor) + ccall(getprocaddress_e("glVertexArrayBindingDivisor"), Cvoid, (GLuint, GLuint, GLuint), vaobj, bindingindex, divisor) end function glGetVertexArrayiv(vaobj, pname, param) - ccall((:glGetVertexArrayiv, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), vaobj, pname, param) + ccall(getprocaddress_e("glGetVertexArrayiv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), vaobj, pname, param) end function glGetVertexArrayIndexediv(vaobj, index, pname, param) - ccall((:glGetVertexArrayIndexediv, libgl), Cvoid, (GLuint, GLuint, GLenum, Ptr{GLint}), vaobj, index, pname, param) + ccall(getprocaddress_e("glGetVertexArrayIndexediv"), Cvoid, (GLuint, GLuint, GLenum, Ptr{GLint}), vaobj, index, pname, param) end function glGetVertexArrayIndexed64iv(vaobj, index, pname, param) - ccall((:glGetVertexArrayIndexed64iv, libgl), Cvoid, (GLuint, GLuint, GLenum, Ptr{GLint64}), vaobj, index, pname, param) + ccall(getprocaddress_e("glGetVertexArrayIndexed64iv"), Cvoid, (GLuint, GLuint, GLenum, Ptr{GLint64}), vaobj, index, pname, param) end function glCreateSamplers(n, samplers) - ccall((:glCreateSamplers, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, samplers) + ccall(getprocaddress_e("glCreateSamplers"), Cvoid, (GLsizei, Ptr{GLuint}), n, samplers) end function glCreateProgramPipelines(n, pipelines) - ccall((:glCreateProgramPipelines, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, pipelines) + ccall(getprocaddress_e("glCreateProgramPipelines"), Cvoid, (GLsizei, Ptr{GLuint}), n, pipelines) end function glCreateQueries(target, n, ids) - ccall((:glCreateQueries, libgl), Cvoid, (GLenum, GLsizei, Ptr{GLuint}), target, n, ids) + ccall(getprocaddress_e("glCreateQueries"), Cvoid, (GLenum, GLsizei, Ptr{GLuint}), target, n, ids) end function glGetQueryBufferObjecti64v(id, buffer, pname, offset) - ccall((:glGetQueryBufferObjecti64v, libgl), Cvoid, (GLuint, GLuint, GLenum, GLintptr), id, buffer, pname, offset) + ccall(getprocaddress_e("glGetQueryBufferObjecti64v"), Cvoid, (GLuint, GLuint, GLenum, GLintptr), id, buffer, pname, offset) end function glGetQueryBufferObjectiv(id, buffer, pname, offset) - ccall((:glGetQueryBufferObjectiv, libgl), Cvoid, (GLuint, GLuint, GLenum, GLintptr), id, buffer, pname, offset) + ccall(getprocaddress_e("glGetQueryBufferObjectiv"), Cvoid, (GLuint, GLuint, GLenum, GLintptr), id, buffer, pname, offset) end function glGetQueryBufferObjectui64v(id, buffer, pname, offset) - ccall((:glGetQueryBufferObjectui64v, libgl), Cvoid, (GLuint, GLuint, GLenum, GLintptr), id, buffer, pname, offset) + ccall(getprocaddress_e("glGetQueryBufferObjectui64v"), Cvoid, (GLuint, GLuint, GLenum, GLintptr), id, buffer, pname, offset) end function glGetQueryBufferObjectuiv(id, buffer, pname, offset) - ccall((:glGetQueryBufferObjectuiv, libgl), Cvoid, (GLuint, GLuint, GLenum, GLintptr), id, buffer, pname, offset) + ccall(getprocaddress_e("glGetQueryBufferObjectuiv"), Cvoid, (GLuint, GLuint, GLenum, GLintptr), id, buffer, pname, offset) end function glMemoryBarrierByRegion(barriers) - ccall((:glMemoryBarrierByRegion, libgl), Cvoid, (GLbitfield,), barriers) + ccall(getprocaddress_e("glMemoryBarrierByRegion"), Cvoid, (GLbitfield,), barriers) end function glGetTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bufSize, pixels) - ccall((:glGetTextureSubImage, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, GLsizei, Ptr{Cvoid}), texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bufSize, pixels) + ccall(getprocaddress_e("glGetTextureSubImage"), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, GLsizei, Ptr{Cvoid}), texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bufSize, pixels) end function glGetCompressedTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, bufSize, pixels) - ccall((:glGetCompressedTextureSubImage, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLsizei, Ptr{Cvoid}), texture, level, xoffset, yoffset, zoffset, width, height, depth, bufSize, pixels) + ccall(getprocaddress_e("glGetCompressedTextureSubImage"), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLsizei, Ptr{Cvoid}), texture, level, xoffset, yoffset, zoffset, width, height, depth, bufSize, pixels) end function glGetGraphicsResetStatus() - ccall((:glGetGraphicsResetStatus, libgl), GLenum, ()) + ccall(getprocaddress_e("glGetGraphicsResetStatus"), GLenum, ()) end function glGetnCompressedTexImage(target, lod, bufSize, pixels) - ccall((:glGetnCompressedTexImage, libgl), Cvoid, (GLenum, GLint, GLsizei, Ptr{Cvoid}), target, lod, bufSize, pixels) + ccall(getprocaddress_e("glGetnCompressedTexImage"), Cvoid, (GLenum, GLint, GLsizei, Ptr{Cvoid}), target, lod, bufSize, pixels) end function glGetnTexImage(target, level, format, type, bufSize, pixels) - ccall((:glGetnTexImage, libgl), Cvoid, (GLenum, GLint, GLenum, GLenum, GLsizei, Ptr{Cvoid}), target, level, format, type, bufSize, pixels) + ccall(getprocaddress_e("glGetnTexImage"), Cvoid, (GLenum, GLint, GLenum, GLenum, GLsizei, Ptr{Cvoid}), target, level, format, type, bufSize, pixels) end function glGetnUniformdv(program, location, bufSize, params) - ccall((:glGetnUniformdv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, bufSize, params) + ccall(getprocaddress_e("glGetnUniformdv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, bufSize, params) end function glGetnUniformfv(program, location, bufSize, params) - ccall((:glGetnUniformfv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, bufSize, params) + ccall(getprocaddress_e("glGetnUniformfv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, bufSize, params) end function glGetnUniformiv(program, location, bufSize, params) - ccall((:glGetnUniformiv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, bufSize, params) + ccall(getprocaddress_e("glGetnUniformiv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, bufSize, params) end function glGetnUniformuiv(program, location, bufSize, params) - ccall((:glGetnUniformuiv, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, bufSize, params) + ccall(getprocaddress_e("glGetnUniformuiv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, bufSize, params) end function glReadnPixels(x, y, width, height, format, type, bufSize, data) - ccall((:glReadnPixels, libgl), Cvoid, (GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, Ptr{Cvoid}), x, y, width, height, format, type, bufSize, data) + ccall(getprocaddress_e("glReadnPixels"), Cvoid, (GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, Ptr{Cvoid}), x, y, width, height, format, type, bufSize, data) end function glTextureBarrier() - ccall((:glTextureBarrier, libgl), Cvoid, ()) + ccall(getprocaddress_e("glTextureBarrier"), Cvoid, ()) end # typedef void ( APIENTRYP PFNGLSPECIALIZESHADERPROC ) ( GLuint shader , const GLchar * pEntryPoint , GLuint numSpecializationConstants , const GLuint * pConstantIndex , const GLuint * pConstantValue ) @@ -4669,26 +4669,26 @@ const PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC = Ptr{Cvoid} const PFNGLPOLYGONOFFSETCLAMPPROC = Ptr{Cvoid} function glSpecializeShader(shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue) - ccall((:glSpecializeShader, libgl), Cvoid, (GLuint, Ptr{GLchar}, GLuint, Ptr{GLuint}, Ptr{GLuint}), shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue) + ccall(getprocaddress_e("glSpecializeShader"), Cvoid, (GLuint, Ptr{GLchar}, GLuint, Ptr{GLuint}, Ptr{GLuint}), shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue) end function glMultiDrawArraysIndirectCount(mode, indirect, drawcount, maxdrawcount, stride) - ccall((:glMultiDrawArraysIndirectCount, libgl), Cvoid, (GLenum, Ptr{Cvoid}, GLintptr, GLsizei, GLsizei), mode, indirect, drawcount, maxdrawcount, stride) + ccall(getprocaddress_e("glMultiDrawArraysIndirectCount"), Cvoid, (GLenum, Ptr{Cvoid}, GLintptr, GLsizei, GLsizei), mode, indirect, drawcount, maxdrawcount, stride) end function glMultiDrawElementsIndirectCount(mode, type, indirect, drawcount, maxdrawcount, stride) - ccall((:glMultiDrawElementsIndirectCount, libgl), Cvoid, (GLenum, GLenum, Ptr{Cvoid}, GLintptr, GLsizei, GLsizei), mode, type, indirect, drawcount, maxdrawcount, stride) + ccall(getprocaddress_e("glMultiDrawElementsIndirectCount"), Cvoid, (GLenum, GLenum, Ptr{Cvoid}, GLintptr, GLsizei, GLsizei), mode, type, indirect, drawcount, maxdrawcount, stride) end function glPolygonOffsetClamp(factor, units, clamp) - ccall((:glPolygonOffsetClamp, libgl), Cvoid, (GLfloat, GLfloat, GLfloat), factor, units, clamp) + ccall(getprocaddress_e("glPolygonOffsetClamp"), Cvoid, (GLfloat, GLfloat, GLfloat), factor, units, clamp) end # typedef void ( APIENTRYP PFNGLPRIMITIVEBOUNDINGBOXARBPROC ) ( GLfloat minX , GLfloat minY , GLfloat minZ , GLfloat minW , GLfloat maxX , GLfloat maxY , GLfloat maxZ , GLfloat maxW ) const PFNGLPRIMITIVEBOUNDINGBOXARBPROC = Ptr{Cvoid} function glPrimitiveBoundingBoxARB(minX, minY, minZ, minW, maxX, maxY, maxZ, maxW) - ccall((:glPrimitiveBoundingBoxARB, libgl), Cvoid, (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat), minX, minY, minZ, minW, maxX, maxY, maxZ, maxW) + ccall(getprocaddress_e("glPrimitiveBoundingBoxARB"), Cvoid, (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat), minX, minY, minZ, minW, maxX, maxY, maxZ, maxW) end const GLuint64EXT = khronos_uint64_t @@ -4742,67 +4742,67 @@ const PFNGLVERTEXATTRIBL1UI64VARBPROC = Ptr{Cvoid} const PFNGLGETVERTEXATTRIBLUI64VARBPROC = Ptr{Cvoid} function glGetTextureHandleARB(texture) - ccall((:glGetTextureHandleARB, libgl), GLuint64, (GLuint,), texture) + ccall(getprocaddress_e("glGetTextureHandleARB"), GLuint64, (GLuint,), texture) end function glGetTextureSamplerHandleARB(texture, sampler) - ccall((:glGetTextureSamplerHandleARB, libgl), GLuint64, (GLuint, GLuint), texture, sampler) + ccall(getprocaddress_e("glGetTextureSamplerHandleARB"), GLuint64, (GLuint, GLuint), texture, sampler) end function glMakeTextureHandleResidentARB(handle) - ccall((:glMakeTextureHandleResidentARB, libgl), Cvoid, (GLuint64,), handle) + ccall(getprocaddress_e("glMakeTextureHandleResidentARB"), Cvoid, (GLuint64,), handle) end function glMakeTextureHandleNonResidentARB(handle) - ccall((:glMakeTextureHandleNonResidentARB, libgl), Cvoid, (GLuint64,), handle) + ccall(getprocaddress_e("glMakeTextureHandleNonResidentARB"), Cvoid, (GLuint64,), handle) end function glGetImageHandleARB(texture, level, layered, layer, format) - ccall((:glGetImageHandleARB, libgl), GLuint64, (GLuint, GLint, GLboolean, GLint, GLenum), texture, level, layered, layer, format) + ccall(getprocaddress_e("glGetImageHandleARB"), GLuint64, (GLuint, GLint, GLboolean, GLint, GLenum), texture, level, layered, layer, format) end function glMakeImageHandleResidentARB(handle, access) - ccall((:glMakeImageHandleResidentARB, libgl), Cvoid, (GLuint64, GLenum), handle, access) + ccall(getprocaddress_e("glMakeImageHandleResidentARB"), Cvoid, (GLuint64, GLenum), handle, access) end function glMakeImageHandleNonResidentARB(handle) - ccall((:glMakeImageHandleNonResidentARB, libgl), Cvoid, (GLuint64,), handle) + ccall(getprocaddress_e("glMakeImageHandleNonResidentARB"), Cvoid, (GLuint64,), handle) end function glUniformHandleui64ARB(location, value) - ccall((:glUniformHandleui64ARB, libgl), Cvoid, (GLint, GLuint64), location, value) + ccall(getprocaddress_e("glUniformHandleui64ARB"), Cvoid, (GLint, GLuint64), location, value) end function glUniformHandleui64vARB(location, count, value) - ccall((:glUniformHandleui64vARB, libgl), Cvoid, (GLint, GLsizei, Ptr{GLuint64}), location, count, value) + ccall(getprocaddress_e("glUniformHandleui64vARB"), Cvoid, (GLint, GLsizei, Ptr{GLuint64}), location, count, value) end function glProgramUniformHandleui64ARB(program, location, value) - ccall((:glProgramUniformHandleui64ARB, libgl), Cvoid, (GLuint, GLint, GLuint64), program, location, value) + ccall(getprocaddress_e("glProgramUniformHandleui64ARB"), Cvoid, (GLuint, GLint, GLuint64), program, location, value) end function glProgramUniformHandleui64vARB(program, location, count, values) - ccall((:glProgramUniformHandleui64vARB, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, count, values) + ccall(getprocaddress_e("glProgramUniformHandleui64vARB"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, count, values) end function glIsTextureHandleResidentARB(handle) - ccall((:glIsTextureHandleResidentARB, libgl), GLboolean, (GLuint64,), handle) + ccall(getprocaddress_e("glIsTextureHandleResidentARB"), GLboolean, (GLuint64,), handle) end function glIsImageHandleResidentARB(handle) - ccall((:glIsImageHandleResidentARB, libgl), GLboolean, (GLuint64,), handle) + ccall(getprocaddress_e("glIsImageHandleResidentARB"), GLboolean, (GLuint64,), handle) end function glVertexAttribL1ui64ARB(index, x) - ccall((:glVertexAttribL1ui64ARB, libgl), Cvoid, (GLuint, GLuint64EXT), index, x) + ccall(getprocaddress_e("glVertexAttribL1ui64ARB"), Cvoid, (GLuint, GLuint64EXT), index, x) end function glVertexAttribL1ui64vARB(index, v) - ccall((:glVertexAttribL1ui64vARB, libgl), Cvoid, (GLuint, Ptr{GLuint64EXT}), index, v) + ccall(getprocaddress_e("glVertexAttribL1ui64vARB"), Cvoid, (GLuint, Ptr{GLuint64EXT}), index, v) end function glGetVertexAttribLui64vARB(index, pname, params) - ccall((:glGetVertexAttribLui64vARB, libgl), Cvoid, (GLuint, GLenum, Ptr{GLuint64EXT}), index, pname, params) + ccall(getprocaddress_e("glGetVertexAttribLui64vARB"), Cvoid, (GLuint, GLenum, Ptr{GLuint64EXT}), index, pname, params) end mutable struct _cl_context end @@ -4813,14 +4813,14 @@ mutable struct _cl_event end const PFNGLCREATESYNCFROMCLEVENTARBPROC = Ptr{Cvoid} function glCreateSyncFromCLeventARB(context, event, flags) - ccall((:glCreateSyncFromCLeventARB, libgl), GLsync, (Ptr{_cl_context}, Ptr{_cl_event}, GLbitfield), context, event, flags) + ccall(getprocaddress_e("glCreateSyncFromCLeventARB"), GLsync, (Ptr{_cl_context}, Ptr{_cl_event}, GLbitfield), context, event, flags) end # typedef void ( APIENTRYP PFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC ) ( GLuint num_groups_x , GLuint num_groups_y , GLuint num_groups_z , GLuint group_size_x , GLuint group_size_y , GLuint group_size_z ) const PFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC = Ptr{Cvoid} function glDispatchComputeGroupSizeARB(num_groups_x, num_groups_y, num_groups_z, group_size_x, group_size_y, group_size_z) - ccall((:glDispatchComputeGroupSizeARB, libgl), Cvoid, (GLuint, GLuint, GLuint, GLuint, GLuint, GLuint), num_groups_x, num_groups_y, num_groups_z, group_size_x, group_size_y, group_size_z) + ccall(getprocaddress_e("glDispatchComputeGroupSizeARB"), Cvoid, (GLuint, GLuint, GLuint, GLuint, GLuint, GLuint), num_groups_x, num_groups_y, num_groups_z, group_size_x, group_size_y, group_size_z) end # typedef void ( APIENTRY * GLDEBUGPROCARB ) ( GLenum source , GLenum type , GLuint id , GLenum severity , GLsizei length , const GLchar * message , const void * userParam ) @@ -4839,19 +4839,19 @@ const PFNGLDEBUGMESSAGECALLBACKARBPROC = Ptr{Cvoid} const PFNGLGETDEBUGMESSAGELOGARBPROC = Ptr{Cvoid} function glDebugMessageControlARB(source, type, severity, count, ids, enabled) - ccall((:glDebugMessageControlARB, libgl), Cvoid, (GLenum, GLenum, GLenum, GLsizei, Ptr{GLuint}, GLboolean), source, type, severity, count, ids, enabled) + ccall(getprocaddress_e("glDebugMessageControlARB"), Cvoid, (GLenum, GLenum, GLenum, GLsizei, Ptr{GLuint}, GLboolean), source, type, severity, count, ids, enabled) end function glDebugMessageInsertARB(source, type, id, severity, length, buf) - ccall((:glDebugMessageInsertARB, libgl), Cvoid, (GLenum, GLenum, GLuint, GLenum, GLsizei, Ptr{GLchar}), source, type, id, severity, length, buf) + ccall(getprocaddress_e("glDebugMessageInsertARB"), Cvoid, (GLenum, GLenum, GLuint, GLenum, GLsizei, Ptr{GLchar}), source, type, id, severity, length, buf) end function glDebugMessageCallbackARB(callback, userParam) - ccall((:glDebugMessageCallbackARB, libgl), Cvoid, (GLDEBUGPROCARB, Ptr{Cvoid}), callback, userParam) + ccall(getprocaddress_e("glDebugMessageCallbackARB"), Cvoid, (GLDEBUGPROCARB, Ptr{Cvoid}), callback, userParam) end function glGetDebugMessageLogARB(count, bufSize, sources, types, ids, severities, lengths, messageLog) - ccall((:glGetDebugMessageLogARB, libgl), GLuint, (GLuint, GLsizei, Ptr{GLenum}, Ptr{GLenum}, Ptr{GLuint}, Ptr{GLenum}, Ptr{GLsizei}, Ptr{GLchar}), count, bufSize, sources, types, ids, severities, lengths, messageLog) + ccall(getprocaddress_e("glGetDebugMessageLogARB"), GLuint, (GLuint, GLsizei, Ptr{GLenum}, Ptr{GLenum}, Ptr{GLuint}, Ptr{GLenum}, Ptr{GLsizei}, Ptr{GLchar}), count, bufSize, sources, types, ids, severities, lengths, messageLog) end # typedef void ( APIENTRYP PFNGLBLENDEQUATIONIARBPROC ) ( GLuint buf , GLenum mode ) @@ -4867,19 +4867,19 @@ const PFNGLBLENDFUNCIARBPROC = Ptr{Cvoid} const PFNGLBLENDFUNCSEPARATEIARBPROC = Ptr{Cvoid} function glBlendEquationiARB(buf, mode) - ccall((:glBlendEquationiARB, libgl), Cvoid, (GLuint, GLenum), buf, mode) + ccall(getprocaddress_e("glBlendEquationiARB"), Cvoid, (GLuint, GLenum), buf, mode) end function glBlendEquationSeparateiARB(buf, modeRGB, modeAlpha) - ccall((:glBlendEquationSeparateiARB, libgl), Cvoid, (GLuint, GLenum, GLenum), buf, modeRGB, modeAlpha) + ccall(getprocaddress_e("glBlendEquationSeparateiARB"), Cvoid, (GLuint, GLenum, GLenum), buf, modeRGB, modeAlpha) end function glBlendFunciARB(buf, src, dst) - ccall((:glBlendFunciARB, libgl), Cvoid, (GLuint, GLenum, GLenum), buf, src, dst) + ccall(getprocaddress_e("glBlendFunciARB"), Cvoid, (GLuint, GLenum, GLenum), buf, src, dst) end function glBlendFuncSeparateiARB(buf, srcRGB, dstRGB, srcAlpha, dstAlpha) - ccall((:glBlendFuncSeparateiARB, libgl), Cvoid, (GLuint, GLenum, GLenum, GLenum, GLenum), buf, srcRGB, dstRGB, srcAlpha, dstAlpha) + ccall(getprocaddress_e("glBlendFuncSeparateiARB"), Cvoid, (GLuint, GLenum, GLenum, GLenum, GLenum), buf, srcRGB, dstRGB, srcAlpha, dstAlpha) end # typedef void ( APIENTRYP PFNGLDRAWARRAYSINSTANCEDARBPROC ) ( GLenum mode , GLint first , GLsizei count , GLsizei primcount ) @@ -4889,11 +4889,11 @@ const PFNGLDRAWARRAYSINSTANCEDARBPROC = Ptr{Cvoid} const PFNGLDRAWELEMENTSINSTANCEDARBPROC = Ptr{Cvoid} function glDrawArraysInstancedARB(mode, first, count, primcount) - ccall((:glDrawArraysInstancedARB, libgl), Cvoid, (GLenum, GLint, GLsizei, GLsizei), mode, first, count, primcount) + ccall(getprocaddress_e("glDrawArraysInstancedARB"), Cvoid, (GLenum, GLint, GLsizei, GLsizei), mode, first, count, primcount) end function glDrawElementsInstancedARB(mode, count, type, indices, primcount) - ccall((:glDrawElementsInstancedARB, libgl), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLsizei), mode, count, type, indices, primcount) + ccall(getprocaddress_e("glDrawElementsInstancedARB"), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLsizei), mode, count, type, indices, primcount) end # typedef void ( APIENTRYP PFNGLPROGRAMPARAMETERIARBPROC ) ( GLuint program , GLenum pname , GLint value ) @@ -4909,26 +4909,26 @@ const PFNGLFRAMEBUFFERTEXTURELAYERARBPROC = Ptr{Cvoid} const PFNGLFRAMEBUFFERTEXTUREFACEARBPROC = Ptr{Cvoid} function glProgramParameteriARB(program, pname, value) - ccall((:glProgramParameteriARB, libgl), Cvoid, (GLuint, GLenum, GLint), program, pname, value) + ccall(getprocaddress_e("glProgramParameteriARB"), Cvoid, (GLuint, GLenum, GLint), program, pname, value) end function glFramebufferTextureARB(target, attachment, texture, level) - ccall((:glFramebufferTextureARB, libgl), Cvoid, (GLenum, GLenum, GLuint, GLint), target, attachment, texture, level) + ccall(getprocaddress_e("glFramebufferTextureARB"), Cvoid, (GLenum, GLenum, GLuint, GLint), target, attachment, texture, level) end function glFramebufferTextureLayerARB(target, attachment, texture, level, layer) - ccall((:glFramebufferTextureLayerARB, libgl), Cvoid, (GLenum, GLenum, GLuint, GLint, GLint), target, attachment, texture, level, layer) + ccall(getprocaddress_e("glFramebufferTextureLayerARB"), Cvoid, (GLenum, GLenum, GLuint, GLint, GLint), target, attachment, texture, level, layer) end function glFramebufferTextureFaceARB(target, attachment, texture, level, face) - ccall((:glFramebufferTextureFaceARB, libgl), Cvoid, (GLenum, GLenum, GLuint, GLint, GLenum), target, attachment, texture, level, face) + ccall(getprocaddress_e("glFramebufferTextureFaceARB"), Cvoid, (GLenum, GLenum, GLuint, GLint, GLenum), target, attachment, texture, level, face) end # typedef void ( APIENTRYP PFNGLSPECIALIZESHADERARBPROC ) ( GLuint shader , const GLchar * pEntryPoint , GLuint numSpecializationConstants , const GLuint * pConstantIndex , const GLuint * pConstantValue ) const PFNGLSPECIALIZESHADERARBPROC = Ptr{Cvoid} function glSpecializeShaderARB(shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue) - ccall((:glSpecializeShaderARB, libgl), Cvoid, (GLuint, Ptr{GLchar}, GLuint, Ptr{GLuint}, Ptr{GLuint}), shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue) + ccall(getprocaddress_e("glSpecializeShaderARB"), Cvoid, (GLuint, Ptr{GLchar}, GLuint, Ptr{GLuint}, Ptr{GLuint}), shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue) end # typedef void ( APIENTRYP PFNGLUNIFORM1I64ARBPROC ) ( GLint location , GLint64 x ) @@ -5040,147 +5040,147 @@ const PFNGLPROGRAMUNIFORM3UI64VARBPROC = Ptr{Cvoid} const PFNGLPROGRAMUNIFORM4UI64VARBPROC = Ptr{Cvoid} function glUniform1i64ARB(location, x) - ccall((:glUniform1i64ARB, libgl), Cvoid, (GLint, GLint64), location, x) + ccall(getprocaddress_e("glUniform1i64ARB"), Cvoid, (GLint, GLint64), location, x) end function glUniform2i64ARB(location, x, y) - ccall((:glUniform2i64ARB, libgl), Cvoid, (GLint, GLint64, GLint64), location, x, y) + ccall(getprocaddress_e("glUniform2i64ARB"), Cvoid, (GLint, GLint64, GLint64), location, x, y) end function glUniform3i64ARB(location, x, y, z) - ccall((:glUniform3i64ARB, libgl), Cvoid, (GLint, GLint64, GLint64, GLint64), location, x, y, z) + ccall(getprocaddress_e("glUniform3i64ARB"), Cvoid, (GLint, GLint64, GLint64, GLint64), location, x, y, z) end function glUniform4i64ARB(location, x, y, z, w) - ccall((:glUniform4i64ARB, libgl), Cvoid, (GLint, GLint64, GLint64, GLint64, GLint64), location, x, y, z, w) + ccall(getprocaddress_e("glUniform4i64ARB"), Cvoid, (GLint, GLint64, GLint64, GLint64, GLint64), location, x, y, z, w) end function glUniform1i64vARB(location, count, value) - ccall((:glUniform1i64vARB, libgl), Cvoid, (GLint, GLsizei, Ptr{GLint64}), location, count, value) + ccall(getprocaddress_e("glUniform1i64vARB"), Cvoid, (GLint, GLsizei, Ptr{GLint64}), location, count, value) end function glUniform2i64vARB(location, count, value) - ccall((:glUniform2i64vARB, libgl), Cvoid, (GLint, GLsizei, Ptr{GLint64}), location, count, value) + ccall(getprocaddress_e("glUniform2i64vARB"), Cvoid, (GLint, GLsizei, Ptr{GLint64}), location, count, value) end function glUniform3i64vARB(location, count, value) - ccall((:glUniform3i64vARB, libgl), Cvoid, (GLint, GLsizei, Ptr{GLint64}), location, count, value) + ccall(getprocaddress_e("glUniform3i64vARB"), Cvoid, (GLint, GLsizei, Ptr{GLint64}), location, count, value) end function glUniform4i64vARB(location, count, value) - ccall((:glUniform4i64vARB, libgl), Cvoid, (GLint, GLsizei, Ptr{GLint64}), location, count, value) + ccall(getprocaddress_e("glUniform4i64vARB"), Cvoid, (GLint, GLsizei, Ptr{GLint64}), location, count, value) end function glUniform1ui64ARB(location, x) - ccall((:glUniform1ui64ARB, libgl), Cvoid, (GLint, GLuint64), location, x) + ccall(getprocaddress_e("glUniform1ui64ARB"), Cvoid, (GLint, GLuint64), location, x) end function glUniform2ui64ARB(location, x, y) - ccall((:glUniform2ui64ARB, libgl), Cvoid, (GLint, GLuint64, GLuint64), location, x, y) + ccall(getprocaddress_e("glUniform2ui64ARB"), Cvoid, (GLint, GLuint64, GLuint64), location, x, y) end function glUniform3ui64ARB(location, x, y, z) - ccall((:glUniform3ui64ARB, libgl), Cvoid, (GLint, GLuint64, GLuint64, GLuint64), location, x, y, z) + ccall(getprocaddress_e("glUniform3ui64ARB"), Cvoid, (GLint, GLuint64, GLuint64, GLuint64), location, x, y, z) end function glUniform4ui64ARB(location, x, y, z, w) - ccall((:glUniform4ui64ARB, libgl), Cvoid, (GLint, GLuint64, GLuint64, GLuint64, GLuint64), location, x, y, z, w) + ccall(getprocaddress_e("glUniform4ui64ARB"), Cvoid, (GLint, GLuint64, GLuint64, GLuint64, GLuint64), location, x, y, z, w) end function glUniform1ui64vARB(location, count, value) - ccall((:glUniform1ui64vARB, libgl), Cvoid, (GLint, GLsizei, Ptr{GLuint64}), location, count, value) + ccall(getprocaddress_e("glUniform1ui64vARB"), Cvoid, (GLint, GLsizei, Ptr{GLuint64}), location, count, value) end function glUniform2ui64vARB(location, count, value) - ccall((:glUniform2ui64vARB, libgl), Cvoid, (GLint, GLsizei, Ptr{GLuint64}), location, count, value) + ccall(getprocaddress_e("glUniform2ui64vARB"), Cvoid, (GLint, GLsizei, Ptr{GLuint64}), location, count, value) end function glUniform3ui64vARB(location, count, value) - ccall((:glUniform3ui64vARB, libgl), Cvoid, (GLint, GLsizei, Ptr{GLuint64}), location, count, value) + ccall(getprocaddress_e("glUniform3ui64vARB"), Cvoid, (GLint, GLsizei, Ptr{GLuint64}), location, count, value) end function glUniform4ui64vARB(location, count, value) - ccall((:glUniform4ui64vARB, libgl), Cvoid, (GLint, GLsizei, Ptr{GLuint64}), location, count, value) + ccall(getprocaddress_e("glUniform4ui64vARB"), Cvoid, (GLint, GLsizei, Ptr{GLuint64}), location, count, value) end function glGetUniformi64vARB(program, location, params) - ccall((:glGetUniformi64vARB, libgl), Cvoid, (GLuint, GLint, Ptr{GLint64}), program, location, params) + ccall(getprocaddress_e("glGetUniformi64vARB"), Cvoid, (GLuint, GLint, Ptr{GLint64}), program, location, params) end function glGetUniformui64vARB(program, location, params) - ccall((:glGetUniformui64vARB, libgl), Cvoid, (GLuint, GLint, Ptr{GLuint64}), program, location, params) + ccall(getprocaddress_e("glGetUniformui64vARB"), Cvoid, (GLuint, GLint, Ptr{GLuint64}), program, location, params) end function glGetnUniformi64vARB(program, location, bufSize, params) - ccall((:glGetnUniformi64vARB, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64}), program, location, bufSize, params) + ccall(getprocaddress_e("glGetnUniformi64vARB"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64}), program, location, bufSize, params) end function glGetnUniformui64vARB(program, location, bufSize, params) - ccall((:glGetnUniformui64vARB, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, bufSize, params) + ccall(getprocaddress_e("glGetnUniformui64vARB"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, bufSize, params) end function glProgramUniform1i64ARB(program, location, x) - ccall((:glProgramUniform1i64ARB, libgl), Cvoid, (GLuint, GLint, GLint64), program, location, x) + ccall(getprocaddress_e("glProgramUniform1i64ARB"), Cvoid, (GLuint, GLint, GLint64), program, location, x) end function glProgramUniform2i64ARB(program, location, x, y) - ccall((:glProgramUniform2i64ARB, libgl), Cvoid, (GLuint, GLint, GLint64, GLint64), program, location, x, y) + ccall(getprocaddress_e("glProgramUniform2i64ARB"), Cvoid, (GLuint, GLint, GLint64, GLint64), program, location, x, y) end function glProgramUniform3i64ARB(program, location, x, y, z) - ccall((:glProgramUniform3i64ARB, libgl), Cvoid, (GLuint, GLint, GLint64, GLint64, GLint64), program, location, x, y, z) + ccall(getprocaddress_e("glProgramUniform3i64ARB"), Cvoid, (GLuint, GLint, GLint64, GLint64, GLint64), program, location, x, y, z) end function glProgramUniform4i64ARB(program, location, x, y, z, w) - ccall((:glProgramUniform4i64ARB, libgl), Cvoid, (GLuint, GLint, GLint64, GLint64, GLint64, GLint64), program, location, x, y, z, w) + ccall(getprocaddress_e("glProgramUniform4i64ARB"), Cvoid, (GLuint, GLint, GLint64, GLint64, GLint64, GLint64), program, location, x, y, z, w) end function glProgramUniform1i64vARB(program, location, count, value) - ccall((:glProgramUniform1i64vARB, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform1i64vARB"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64}), program, location, count, value) end function glProgramUniform2i64vARB(program, location, count, value) - ccall((:glProgramUniform2i64vARB, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform2i64vARB"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64}), program, location, count, value) end function glProgramUniform3i64vARB(program, location, count, value) - ccall((:glProgramUniform3i64vARB, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform3i64vARB"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64}), program, location, count, value) end function glProgramUniform4i64vARB(program, location, count, value) - ccall((:glProgramUniform4i64vARB, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform4i64vARB"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64}), program, location, count, value) end function glProgramUniform1ui64ARB(program, location, x) - ccall((:glProgramUniform1ui64ARB, libgl), Cvoid, (GLuint, GLint, GLuint64), program, location, x) + ccall(getprocaddress_e("glProgramUniform1ui64ARB"), Cvoid, (GLuint, GLint, GLuint64), program, location, x) end function glProgramUniform2ui64ARB(program, location, x, y) - ccall((:glProgramUniform2ui64ARB, libgl), Cvoid, (GLuint, GLint, GLuint64, GLuint64), program, location, x, y) + ccall(getprocaddress_e("glProgramUniform2ui64ARB"), Cvoid, (GLuint, GLint, GLuint64, GLuint64), program, location, x, y) end function glProgramUniform3ui64ARB(program, location, x, y, z) - ccall((:glProgramUniform3ui64ARB, libgl), Cvoid, (GLuint, GLint, GLuint64, GLuint64, GLuint64), program, location, x, y, z) + ccall(getprocaddress_e("glProgramUniform3ui64ARB"), Cvoid, (GLuint, GLint, GLuint64, GLuint64, GLuint64), program, location, x, y, z) end function glProgramUniform4ui64ARB(program, location, x, y, z, w) - ccall((:glProgramUniform4ui64ARB, libgl), Cvoid, (GLuint, GLint, GLuint64, GLuint64, GLuint64, GLuint64), program, location, x, y, z, w) + ccall(getprocaddress_e("glProgramUniform4ui64ARB"), Cvoid, (GLuint, GLint, GLuint64, GLuint64, GLuint64, GLuint64), program, location, x, y, z, w) end function glProgramUniform1ui64vARB(program, location, count, value) - ccall((:glProgramUniform1ui64vARB, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform1ui64vARB"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, count, value) end function glProgramUniform2ui64vARB(program, location, count, value) - ccall((:glProgramUniform2ui64vARB, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform2ui64vARB"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, count, value) end function glProgramUniform3ui64vARB(program, location, count, value) - ccall((:glProgramUniform3ui64vARB, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform3ui64vARB"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, count, value) end function glProgramUniform4ui64vARB(program, location, count, value) - ccall((:glProgramUniform4ui64vARB, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform4ui64vARB"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, count, value) end # typedef void ( APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC ) ( GLenum mode , const void * indirect , GLintptr drawcount , GLsizei maxdrawcount , GLsizei stride ) @@ -5190,25 +5190,25 @@ const PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC = Ptr{Cvoid} const PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC = Ptr{Cvoid} function glMultiDrawArraysIndirectCountARB(mode, indirect, drawcount, maxdrawcount, stride) - ccall((:glMultiDrawArraysIndirectCountARB, libgl), Cvoid, (GLenum, Ptr{Cvoid}, GLintptr, GLsizei, GLsizei), mode, indirect, drawcount, maxdrawcount, stride) + ccall(getprocaddress_e("glMultiDrawArraysIndirectCountARB"), Cvoid, (GLenum, Ptr{Cvoid}, GLintptr, GLsizei, GLsizei), mode, indirect, drawcount, maxdrawcount, stride) end function glMultiDrawElementsIndirectCountARB(mode, type, indirect, drawcount, maxdrawcount, stride) - ccall((:glMultiDrawElementsIndirectCountARB, libgl), Cvoid, (GLenum, GLenum, Ptr{Cvoid}, GLintptr, GLsizei, GLsizei), mode, type, indirect, drawcount, maxdrawcount, stride) + ccall(getprocaddress_e("glMultiDrawElementsIndirectCountARB"), Cvoid, (GLenum, GLenum, Ptr{Cvoid}, GLintptr, GLsizei, GLsizei), mode, type, indirect, drawcount, maxdrawcount, stride) end # typedef void ( APIENTRYP PFNGLVERTEXATTRIBDIVISORARBPROC ) ( GLuint index , GLuint divisor ) const PFNGLVERTEXATTRIBDIVISORARBPROC = Ptr{Cvoid} function glVertexAttribDivisorARB(index, divisor) - ccall((:glVertexAttribDivisorARB, libgl), Cvoid, (GLuint, GLuint), index, divisor) + ccall(getprocaddress_e("glVertexAttribDivisorARB"), Cvoid, (GLuint, GLuint), index, divisor) end # typedef void ( APIENTRYP PFNGLMAXSHADERCOMPILERTHREADSARBPROC ) ( GLuint count ) const PFNGLMAXSHADERCOMPILERTHREADSARBPROC = Ptr{Cvoid} function glMaxShaderCompilerThreadsARB(count) - ccall((:glMaxShaderCompilerThreadsARB, libgl), Cvoid, (GLuint,), count) + ccall(getprocaddress_e("glMaxShaderCompilerThreadsARB"), Cvoid, (GLuint,), count) end # typedef GLenum ( APIENTRYP PFNGLGETGRAPHICSRESETSTATUSARBPROC ) ( void ) @@ -5236,35 +5236,35 @@ const PFNGLGETNUNIFORMUIVARBPROC = Ptr{Cvoid} const PFNGLGETNUNIFORMDVARBPROC = Ptr{Cvoid} function glGetGraphicsResetStatusARB() - ccall((:glGetGraphicsResetStatusARB, libgl), GLenum, ()) + ccall(getprocaddress_e("glGetGraphicsResetStatusARB"), GLenum, ()) end function glGetnTexImageARB(target, level, format, type, bufSize, img) - ccall((:glGetnTexImageARB, libgl), Cvoid, (GLenum, GLint, GLenum, GLenum, GLsizei, Ptr{Cvoid}), target, level, format, type, bufSize, img) + ccall(getprocaddress_e("glGetnTexImageARB"), Cvoid, (GLenum, GLint, GLenum, GLenum, GLsizei, Ptr{Cvoid}), target, level, format, type, bufSize, img) end function glReadnPixelsARB(x, y, width, height, format, type, bufSize, data) - ccall((:glReadnPixelsARB, libgl), Cvoid, (GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, Ptr{Cvoid}), x, y, width, height, format, type, bufSize, data) + ccall(getprocaddress_e("glReadnPixelsARB"), Cvoid, (GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, Ptr{Cvoid}), x, y, width, height, format, type, bufSize, data) end function glGetnCompressedTexImageARB(target, lod, bufSize, img) - ccall((:glGetnCompressedTexImageARB, libgl), Cvoid, (GLenum, GLint, GLsizei, Ptr{Cvoid}), target, lod, bufSize, img) + ccall(getprocaddress_e("glGetnCompressedTexImageARB"), Cvoid, (GLenum, GLint, GLsizei, Ptr{Cvoid}), target, lod, bufSize, img) end function glGetnUniformfvARB(program, location, bufSize, params) - ccall((:glGetnUniformfvARB, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, bufSize, params) + ccall(getprocaddress_e("glGetnUniformfvARB"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, bufSize, params) end function glGetnUniformivARB(program, location, bufSize, params) - ccall((:glGetnUniformivARB, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, bufSize, params) + ccall(getprocaddress_e("glGetnUniformivARB"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, bufSize, params) end function glGetnUniformuivARB(program, location, bufSize, params) - ccall((:glGetnUniformuivARB, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, bufSize, params) + ccall(getprocaddress_e("glGetnUniformuivARB"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, bufSize, params) end function glGetnUniformdvARB(program, location, bufSize, params) - ccall((:glGetnUniformdvARB, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, bufSize, params) + ccall(getprocaddress_e("glGetnUniformdvARB"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, bufSize, params) end # typedef void ( APIENTRYP PFNGLFRAMEBUFFERSAMPLELOCATIONSFVARBPROC ) ( GLenum target , GLuint start , GLsizei count , const GLfloat * v ) @@ -5277,22 +5277,22 @@ const PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVARBPROC = Ptr{Cvoid} const PFNGLEVALUATEDEPTHVALUESARBPROC = Ptr{Cvoid} function glFramebufferSampleLocationsfvARB(target, start, count, v) - ccall((:glFramebufferSampleLocationsfvARB, libgl), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLfloat}), target, start, count, v) + ccall(getprocaddress_e("glFramebufferSampleLocationsfvARB"), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLfloat}), target, start, count, v) end function glNamedFramebufferSampleLocationsfvARB(framebuffer, start, count, v) - ccall((:glNamedFramebufferSampleLocationsfvARB, libgl), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLfloat}), framebuffer, start, count, v) + ccall(getprocaddress_e("glNamedFramebufferSampleLocationsfvARB"), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLfloat}), framebuffer, start, count, v) end function glEvaluateDepthValuesARB() - ccall((:glEvaluateDepthValuesARB, libgl), Cvoid, ()) + ccall(getprocaddress_e("glEvaluateDepthValuesARB"), Cvoid, ()) end # typedef void ( APIENTRYP PFNGLMINSAMPLESHADINGARBPROC ) ( GLfloat value ) const PFNGLMINSAMPLESHADINGARBPROC = Ptr{Cvoid} function glMinSampleShadingARB(value) - ccall((:glMinSampleShadingARB, libgl), Cvoid, (GLfloat,), value) + ccall(getprocaddress_e("glMinSampleShadingARB"), Cvoid, (GLfloat,), value) end # typedef void ( APIENTRYP PFNGLNAMEDSTRINGARBPROC ) ( GLenum type , GLint namelen , const GLchar * name , GLint stringlen , const GLchar * string ) @@ -5314,27 +5314,27 @@ const PFNGLGETNAMEDSTRINGARBPROC = Ptr{Cvoid} const PFNGLGETNAMEDSTRINGIVARBPROC = Ptr{Cvoid} function glNamedStringARB(type, namelen, name, stringlen, string) - ccall((:glNamedStringARB, libgl), Cvoid, (GLenum, GLint, Ptr{GLchar}, GLint, Ptr{GLchar}), type, namelen, name, stringlen, string) + ccall(getprocaddress_e("glNamedStringARB"), Cvoid, (GLenum, GLint, Ptr{GLchar}, GLint, Ptr{GLchar}), type, namelen, name, stringlen, string) end function glDeleteNamedStringARB(namelen, name) - ccall((:glDeleteNamedStringARB, libgl), Cvoid, (GLint, Ptr{GLchar}), namelen, name) + ccall(getprocaddress_e("glDeleteNamedStringARB"), Cvoid, (GLint, Ptr{GLchar}), namelen, name) end function glCompileShaderIncludeARB(shader, count, path, length) - ccall((:glCompileShaderIncludeARB, libgl), Cvoid, (GLuint, GLsizei, Ptr{Ptr{GLchar}}, Ptr{GLint}), shader, count, path, length) + ccall(getprocaddress_e("glCompileShaderIncludeARB"), Cvoid, (GLuint, GLsizei, Ptr{Ptr{GLchar}}, Ptr{GLint}), shader, count, path, length) end function glIsNamedStringARB(namelen, name) - ccall((:glIsNamedStringARB, libgl), GLboolean, (GLint, Ptr{GLchar}), namelen, name) + ccall(getprocaddress_e("glIsNamedStringARB"), GLboolean, (GLint, Ptr{GLchar}), namelen, name) end function glGetNamedStringARB(namelen, name, bufSize, stringlen, string) - ccall((:glGetNamedStringARB, libgl), Cvoid, (GLint, Ptr{GLchar}, GLsizei, Ptr{GLint}, Ptr{GLchar}), namelen, name, bufSize, stringlen, string) + ccall(getprocaddress_e("glGetNamedStringARB"), Cvoid, (GLint, Ptr{GLchar}, GLsizei, Ptr{GLint}, Ptr{GLchar}), namelen, name, bufSize, stringlen, string) end function glGetNamedStringivARB(namelen, name, pname, params) - ccall((:glGetNamedStringivARB, libgl), Cvoid, (GLint, Ptr{GLchar}, GLenum, Ptr{GLint}), namelen, name, pname, params) + ccall(getprocaddress_e("glGetNamedStringivARB"), Cvoid, (GLint, Ptr{GLchar}, GLenum, Ptr{GLint}), namelen, name, pname, params) end # typedef void ( APIENTRYP PFNGLBUFFERPAGECOMMITMENTARBPROC ) ( GLenum target , GLintptr offset , GLsizeiptr size , GLboolean commit ) @@ -5347,29 +5347,29 @@ const PFNGLNAMEDBUFFERPAGECOMMITMENTEXTPROC = Ptr{Cvoid} const PFNGLNAMEDBUFFERPAGECOMMITMENTARBPROC = Ptr{Cvoid} function glBufferPageCommitmentARB(target, offset, size, commit) - ccall((:glBufferPageCommitmentARB, libgl), Cvoid, (GLenum, GLintptr, GLsizeiptr, GLboolean), target, offset, size, commit) + ccall(getprocaddress_e("glBufferPageCommitmentARB"), Cvoid, (GLenum, GLintptr, GLsizeiptr, GLboolean), target, offset, size, commit) end function glNamedBufferPageCommitmentEXT(buffer, offset, size, commit) - ccall((:glNamedBufferPageCommitmentEXT, libgl), Cvoid, (GLuint, GLintptr, GLsizeiptr, GLboolean), buffer, offset, size, commit) + ccall(getprocaddress_e("glNamedBufferPageCommitmentEXT"), Cvoid, (GLuint, GLintptr, GLsizeiptr, GLboolean), buffer, offset, size, commit) end function glNamedBufferPageCommitmentARB(buffer, offset, size, commit) - ccall((:glNamedBufferPageCommitmentARB, libgl), Cvoid, (GLuint, GLintptr, GLsizeiptr, GLboolean), buffer, offset, size, commit) + ccall(getprocaddress_e("glNamedBufferPageCommitmentARB"), Cvoid, (GLuint, GLintptr, GLsizeiptr, GLboolean), buffer, offset, size, commit) end # typedef void ( APIENTRYP PFNGLTEXPAGECOMMITMENTARBPROC ) ( GLenum target , GLint level , GLint xoffset , GLint yoffset , GLint zoffset , GLsizei width , GLsizei height , GLsizei depth , GLboolean commit ) const PFNGLTEXPAGECOMMITMENTARBPROC = Ptr{Cvoid} function glTexPageCommitmentARB(target, level, xoffset, yoffset, zoffset, width, height, depth, commit) - ccall((:glTexPageCommitmentARB, libgl), Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLboolean), target, level, xoffset, yoffset, zoffset, width, height, depth, commit) + ccall(getprocaddress_e("glTexPageCommitmentARB"), Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLboolean), target, level, xoffset, yoffset, zoffset, width, height, depth, commit) end # typedef void ( APIENTRYP PFNGLTEXBUFFERARBPROC ) ( GLenum target , GLenum internalformat , GLuint buffer ) const PFNGLTEXBUFFERARBPROC = Ptr{Cvoid} function glTexBufferARB(target, internalformat, buffer) - ccall((:glTexBufferARB, libgl), Cvoid, (GLenum, GLenum, GLuint), target, internalformat, buffer) + ccall(getprocaddress_e("glTexBufferARB"), Cvoid, (GLenum, GLenum, GLuint), target, internalformat, buffer) end # typedef void ( APIENTRYP PFNGLDEPTHRANGEARRAYDVNVPROC ) ( GLuint first , GLsizei count , const GLdouble * v ) @@ -5379,25 +5379,25 @@ const PFNGLDEPTHRANGEARRAYDVNVPROC = Ptr{Cvoid} const PFNGLDEPTHRANGEINDEXEDDNVPROC = Ptr{Cvoid} function glDepthRangeArraydvNV(first, count, v) - ccall((:glDepthRangeArraydvNV, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLdouble}), first, count, v) + ccall(getprocaddress_e("glDepthRangeArraydvNV"), Cvoid, (GLuint, GLsizei, Ptr{GLdouble}), first, count, v) end function glDepthRangeIndexeddNV(index, n, f) - ccall((:glDepthRangeIndexeddNV, libgl), Cvoid, (GLuint, GLdouble, GLdouble), index, n, f) + ccall(getprocaddress_e("glDepthRangeIndexeddNV"), Cvoid, (GLuint, GLdouble, GLdouble), index, n, f) end # typedef void ( APIENTRYP PFNGLBLENDBARRIERKHRPROC ) ( void ) const PFNGLBLENDBARRIERKHRPROC = Ptr{Cvoid} function glBlendBarrierKHR() - ccall((:glBlendBarrierKHR, libgl), Cvoid, ()) + ccall(getprocaddress_e("glBlendBarrierKHR"), Cvoid, ()) end # typedef void ( APIENTRYP PFNGLMAXSHADERCOMPILERTHREADSKHRPROC ) ( GLuint count ) const PFNGLMAXSHADERCOMPILERTHREADSKHRPROC = Ptr{Cvoid} function glMaxShaderCompilerThreadsKHR(count) - ccall((:glMaxShaderCompilerThreadsKHR, libgl), Cvoid, (GLuint,), count) + ccall(getprocaddress_e("glMaxShaderCompilerThreadsKHR"), Cvoid, (GLuint,), count) end # typedef void ( APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEADVANCEDAMDPROC ) ( GLenum target , GLsizei samples , GLsizei storageSamples , GLenum internalformat , GLsizei width , GLsizei height ) @@ -5407,11 +5407,11 @@ const PFNGLRENDERBUFFERSTORAGEMULTISAMPLEADVANCEDAMDPROC = Ptr{Cvoid} const PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEADVANCEDAMDPROC = Ptr{Cvoid} function glRenderbufferStorageMultisampleAdvancedAMD(target, samples, storageSamples, internalformat, width, height) - ccall((:glRenderbufferStorageMultisampleAdvancedAMD, libgl), Cvoid, (GLenum, GLsizei, GLsizei, GLenum, GLsizei, GLsizei), target, samples, storageSamples, internalformat, width, height) + ccall(getprocaddress_e("glRenderbufferStorageMultisampleAdvancedAMD"), Cvoid, (GLenum, GLsizei, GLsizei, GLenum, GLsizei, GLsizei), target, samples, storageSamples, internalformat, width, height) end function glNamedRenderbufferStorageMultisampleAdvancedAMD(renderbuffer, samples, storageSamples, internalformat, width, height) - ccall((:glNamedRenderbufferStorageMultisampleAdvancedAMD, libgl), Cvoid, (GLuint, GLsizei, GLsizei, GLenum, GLsizei, GLsizei), renderbuffer, samples, storageSamples, internalformat, width, height) + ccall(getprocaddress_e("glNamedRenderbufferStorageMultisampleAdvancedAMD"), Cvoid, (GLuint, GLsizei, GLsizei, GLenum, GLsizei, GLsizei), renderbuffer, samples, storageSamples, internalformat, width, height) end # typedef void ( APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC ) ( GLint * numGroups , GLsizei groupsSize , GLuint * groups ) @@ -5448,47 +5448,47 @@ const PFNGLENDPERFMONITORAMDPROC = Ptr{Cvoid} const PFNGLGETPERFMONITORCOUNTERDATAAMDPROC = Ptr{Cvoid} function glGetPerfMonitorGroupsAMD(numGroups, groupsSize, groups) - ccall((:glGetPerfMonitorGroupsAMD, libgl), Cvoid, (Ptr{GLint}, GLsizei, Ptr{GLuint}), numGroups, groupsSize, groups) + ccall(getprocaddress_e("glGetPerfMonitorGroupsAMD"), Cvoid, (Ptr{GLint}, GLsizei, Ptr{GLuint}), numGroups, groupsSize, groups) end function glGetPerfMonitorCountersAMD(group, numCounters, maxActiveCounters, counterSize, counters) - ccall((:glGetPerfMonitorCountersAMD, libgl), Cvoid, (GLuint, Ptr{GLint}, Ptr{GLint}, GLsizei, Ptr{GLuint}), group, numCounters, maxActiveCounters, counterSize, counters) + ccall(getprocaddress_e("glGetPerfMonitorCountersAMD"), Cvoid, (GLuint, Ptr{GLint}, Ptr{GLint}, GLsizei, Ptr{GLuint}), group, numCounters, maxActiveCounters, counterSize, counters) end function glGetPerfMonitorGroupStringAMD(group, bufSize, length, groupString) - ccall((:glGetPerfMonitorGroupStringAMD, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), group, bufSize, length, groupString) + ccall(getprocaddress_e("glGetPerfMonitorGroupStringAMD"), Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), group, bufSize, length, groupString) end function glGetPerfMonitorCounterStringAMD(group, counter, bufSize, length, counterString) - ccall((:glGetPerfMonitorCounterStringAMD, libgl), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), group, counter, bufSize, length, counterString) + ccall(getprocaddress_e("glGetPerfMonitorCounterStringAMD"), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), group, counter, bufSize, length, counterString) end function glGetPerfMonitorCounterInfoAMD(group, counter, pname, data) - ccall((:glGetPerfMonitorCounterInfoAMD, libgl), Cvoid, (GLuint, GLuint, GLenum, Ptr{Cvoid}), group, counter, pname, data) + ccall(getprocaddress_e("glGetPerfMonitorCounterInfoAMD"), Cvoid, (GLuint, GLuint, GLenum, Ptr{Cvoid}), group, counter, pname, data) end function glGenPerfMonitorsAMD(n, monitors) - ccall((:glGenPerfMonitorsAMD, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, monitors) + ccall(getprocaddress_e("glGenPerfMonitorsAMD"), Cvoid, (GLsizei, Ptr{GLuint}), n, monitors) end function glDeletePerfMonitorsAMD(n, monitors) - ccall((:glDeletePerfMonitorsAMD, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, monitors) + ccall(getprocaddress_e("glDeletePerfMonitorsAMD"), Cvoid, (GLsizei, Ptr{GLuint}), n, monitors) end function glSelectPerfMonitorCountersAMD(monitor, enable, group, numCounters, counterList) - ccall((:glSelectPerfMonitorCountersAMD, libgl), Cvoid, (GLuint, GLboolean, GLuint, GLint, Ptr{GLuint}), monitor, enable, group, numCounters, counterList) + ccall(getprocaddress_e("glSelectPerfMonitorCountersAMD"), Cvoid, (GLuint, GLboolean, GLuint, GLint, Ptr{GLuint}), monitor, enable, group, numCounters, counterList) end function glBeginPerfMonitorAMD(monitor) - ccall((:glBeginPerfMonitorAMD, libgl), Cvoid, (GLuint,), monitor) + ccall(getprocaddress_e("glBeginPerfMonitorAMD"), Cvoid, (GLuint,), monitor) end function glEndPerfMonitorAMD(monitor) - ccall((:glEndPerfMonitorAMD, libgl), Cvoid, (GLuint,), monitor) + ccall(getprocaddress_e("glEndPerfMonitorAMD"), Cvoid, (GLuint,), monitor) end function glGetPerfMonitorCounterDataAMD(monitor, pname, dataSize, data, bytesWritten) - ccall((:glGetPerfMonitorCounterDataAMD, libgl), Cvoid, (GLuint, GLenum, GLsizei, Ptr{GLuint}, Ptr{GLint}), monitor, pname, dataSize, data, bytesWritten) + ccall(getprocaddress_e("glGetPerfMonitorCounterDataAMD"), Cvoid, (GLuint, GLenum, GLsizei, Ptr{GLuint}, Ptr{GLint}), monitor, pname, dataSize, data, bytesWritten) end const GLeglImageOES = Ptr{Cvoid} @@ -5500,11 +5500,11 @@ const PFNGLEGLIMAGETARGETTEXSTORAGEEXTPROC = Ptr{Cvoid} const PFNGLEGLIMAGETARGETTEXTURESTORAGEEXTPROC = Ptr{Cvoid} function glEGLImageTargetTexStorageEXT(target, image, attrib_list) - ccall((:glEGLImageTargetTexStorageEXT, libgl), Cvoid, (GLenum, GLeglImageOES, Ptr{GLint}), target, image, attrib_list) + ccall(getprocaddress_e("glEGLImageTargetTexStorageEXT"), Cvoid, (GLenum, GLeglImageOES, Ptr{GLint}), target, image, attrib_list) end function glEGLImageTargetTextureStorageEXT(texture, image, attrib_list) - ccall((:glEGLImageTargetTextureStorageEXT, libgl), Cvoid, (GLuint, GLeglImageOES, Ptr{GLint}), texture, image, attrib_list) + ccall(getprocaddress_e("glEGLImageTargetTextureStorageEXT"), Cvoid, (GLuint, GLeglImageOES, Ptr{GLint}), texture, image, attrib_list) end # typedef void ( APIENTRYP PFNGLLABELOBJECTEXTPROC ) ( GLenum type , GLuint object , GLsizei length , const GLchar * label ) @@ -5514,11 +5514,11 @@ const PFNGLLABELOBJECTEXTPROC = Ptr{Cvoid} const PFNGLGETOBJECTLABELEXTPROC = Ptr{Cvoid} function glLabelObjectEXT(type, object, length, label) - ccall((:glLabelObjectEXT, libgl), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLchar}), type, object, length, label) + ccall(getprocaddress_e("glLabelObjectEXT"), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLchar}), type, object, length, label) end function glGetObjectLabelEXT(type, object, bufSize, length, label) - ccall((:glGetObjectLabelEXT, libgl), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), type, object, bufSize, length, label) + ccall(getprocaddress_e("glGetObjectLabelEXT"), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), type, object, bufSize, length, label) end # typedef void ( APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC ) ( GLsizei length , const GLchar * marker ) @@ -5531,15 +5531,15 @@ const PFNGLPUSHGROUPMARKEREXTPROC = Ptr{Cvoid} const PFNGLPOPGROUPMARKEREXTPROC = Ptr{Cvoid} function glInsertEventMarkerEXT(length, marker) - ccall((:glInsertEventMarkerEXT, libgl), Cvoid, (GLsizei, Ptr{GLchar}), length, marker) + ccall(getprocaddress_e("glInsertEventMarkerEXT"), Cvoid, (GLsizei, Ptr{GLchar}), length, marker) end function glPushGroupMarkerEXT(length, marker) - ccall((:glPushGroupMarkerEXT, libgl), Cvoid, (GLsizei, Ptr{GLchar}), length, marker) + ccall(getprocaddress_e("glPushGroupMarkerEXT"), Cvoid, (GLsizei, Ptr{GLchar}), length, marker) end function glPopGroupMarkerEXT() - ccall((:glPopGroupMarkerEXT, libgl), Cvoid, ()) + ccall(getprocaddress_e("glPopGroupMarkerEXT"), Cvoid, ()) end # typedef void ( APIENTRYP PFNGLMATRIXLOADFEXTPROC ) ( GLenum mode , const GLfloat * m ) @@ -6308,1023 +6308,1023 @@ const PFNGLTEXTUREPAGECOMMITMENTEXTPROC = Ptr{Cvoid} const PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC = Ptr{Cvoid} function glMatrixLoadfEXT(mode, m) - ccall((:glMatrixLoadfEXT, libgl), Cvoid, (GLenum, Ptr{GLfloat}), mode, m) + ccall(getprocaddress_e("glMatrixLoadfEXT"), Cvoid, (GLenum, Ptr{GLfloat}), mode, m) end function glMatrixLoaddEXT(mode, m) - ccall((:glMatrixLoaddEXT, libgl), Cvoid, (GLenum, Ptr{GLdouble}), mode, m) + ccall(getprocaddress_e("glMatrixLoaddEXT"), Cvoid, (GLenum, Ptr{GLdouble}), mode, m) end function glMatrixMultfEXT(mode, m) - ccall((:glMatrixMultfEXT, libgl), Cvoid, (GLenum, Ptr{GLfloat}), mode, m) + ccall(getprocaddress_e("glMatrixMultfEXT"), Cvoid, (GLenum, Ptr{GLfloat}), mode, m) end function glMatrixMultdEXT(mode, m) - ccall((:glMatrixMultdEXT, libgl), Cvoid, (GLenum, Ptr{GLdouble}), mode, m) + ccall(getprocaddress_e("glMatrixMultdEXT"), Cvoid, (GLenum, Ptr{GLdouble}), mode, m) end function glMatrixLoadIdentityEXT(mode) - ccall((:glMatrixLoadIdentityEXT, libgl), Cvoid, (GLenum,), mode) + ccall(getprocaddress_e("glMatrixLoadIdentityEXT"), Cvoid, (GLenum,), mode) end function glMatrixRotatefEXT(mode, angle, x, y, z) - ccall((:glMatrixRotatefEXT, libgl), Cvoid, (GLenum, GLfloat, GLfloat, GLfloat, GLfloat), mode, angle, x, y, z) + ccall(getprocaddress_e("glMatrixRotatefEXT"), Cvoid, (GLenum, GLfloat, GLfloat, GLfloat, GLfloat), mode, angle, x, y, z) end function glMatrixRotatedEXT(mode, angle, x, y, z) - ccall((:glMatrixRotatedEXT, libgl), Cvoid, (GLenum, GLdouble, GLdouble, GLdouble, GLdouble), mode, angle, x, y, z) + ccall(getprocaddress_e("glMatrixRotatedEXT"), Cvoid, (GLenum, GLdouble, GLdouble, GLdouble, GLdouble), mode, angle, x, y, z) end function glMatrixScalefEXT(mode, x, y, z) - ccall((:glMatrixScalefEXT, libgl), Cvoid, (GLenum, GLfloat, GLfloat, GLfloat), mode, x, y, z) + ccall(getprocaddress_e("glMatrixScalefEXT"), Cvoid, (GLenum, GLfloat, GLfloat, GLfloat), mode, x, y, z) end function glMatrixScaledEXT(mode, x, y, z) - ccall((:glMatrixScaledEXT, libgl), Cvoid, (GLenum, GLdouble, GLdouble, GLdouble), mode, x, y, z) + ccall(getprocaddress_e("glMatrixScaledEXT"), Cvoid, (GLenum, GLdouble, GLdouble, GLdouble), mode, x, y, z) end function glMatrixTranslatefEXT(mode, x, y, z) - ccall((:glMatrixTranslatefEXT, libgl), Cvoid, (GLenum, GLfloat, GLfloat, GLfloat), mode, x, y, z) + ccall(getprocaddress_e("glMatrixTranslatefEXT"), Cvoid, (GLenum, GLfloat, GLfloat, GLfloat), mode, x, y, z) end function glMatrixTranslatedEXT(mode, x, y, z) - ccall((:glMatrixTranslatedEXT, libgl), Cvoid, (GLenum, GLdouble, GLdouble, GLdouble), mode, x, y, z) + ccall(getprocaddress_e("glMatrixTranslatedEXT"), Cvoid, (GLenum, GLdouble, GLdouble, GLdouble), mode, x, y, z) end function glMatrixFrustumEXT(mode, left, right, bottom, top, zNear, zFar) - ccall((:glMatrixFrustumEXT, libgl), Cvoid, (GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble), mode, left, right, bottom, top, zNear, zFar) + ccall(getprocaddress_e("glMatrixFrustumEXT"), Cvoid, (GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble), mode, left, right, bottom, top, zNear, zFar) end function glMatrixOrthoEXT(mode, left, right, bottom, top, zNear, zFar) - ccall((:glMatrixOrthoEXT, libgl), Cvoid, (GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble), mode, left, right, bottom, top, zNear, zFar) + ccall(getprocaddress_e("glMatrixOrthoEXT"), Cvoid, (GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble), mode, left, right, bottom, top, zNear, zFar) end function glMatrixPopEXT(mode) - ccall((:glMatrixPopEXT, libgl), Cvoid, (GLenum,), mode) + ccall(getprocaddress_e("glMatrixPopEXT"), Cvoid, (GLenum,), mode) end function glMatrixPushEXT(mode) - ccall((:glMatrixPushEXT, libgl), Cvoid, (GLenum,), mode) + ccall(getprocaddress_e("glMatrixPushEXT"), Cvoid, (GLenum,), mode) end function glClientAttribDefaultEXT(mask) - ccall((:glClientAttribDefaultEXT, libgl), Cvoid, (GLbitfield,), mask) + ccall(getprocaddress_e("glClientAttribDefaultEXT"), Cvoid, (GLbitfield,), mask) end function glPushClientAttribDefaultEXT(mask) - ccall((:glPushClientAttribDefaultEXT, libgl), Cvoid, (GLbitfield,), mask) + ccall(getprocaddress_e("glPushClientAttribDefaultEXT"), Cvoid, (GLbitfield,), mask) end function glTextureParameterfEXT(texture, target, pname, param) - ccall((:glTextureParameterfEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, GLfloat), texture, target, pname, param) + ccall(getprocaddress_e("glTextureParameterfEXT"), Cvoid, (GLuint, GLenum, GLenum, GLfloat), texture, target, pname, param) end function glTextureParameterfvEXT(texture, target, pname, params) - ccall((:glTextureParameterfvEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLfloat}), texture, target, pname, params) + ccall(getprocaddress_e("glTextureParameterfvEXT"), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLfloat}), texture, target, pname, params) end function glTextureParameteriEXT(texture, target, pname, param) - ccall((:glTextureParameteriEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, GLint), texture, target, pname, param) + ccall(getprocaddress_e("glTextureParameteriEXT"), Cvoid, (GLuint, GLenum, GLenum, GLint), texture, target, pname, param) end function glTextureParameterivEXT(texture, target, pname, params) - ccall((:glTextureParameterivEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), texture, target, pname, params) + ccall(getprocaddress_e("glTextureParameterivEXT"), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), texture, target, pname, params) end function glTextureImage1DEXT(texture, target, level, internalformat, width, border, format, type, pixels) - ccall((:glTextureImage1DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, internalformat, width, border, format, type, pixels) + ccall(getprocaddress_e("glTextureImage1DEXT"), Cvoid, (GLuint, GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, internalformat, width, border, format, type, pixels) end function glTextureImage2DEXT(texture, target, level, internalformat, width, height, border, format, type, pixels) - ccall((:glTextureImage2DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, internalformat, width, height, border, format, type, pixels) + ccall(getprocaddress_e("glTextureImage2DEXT"), Cvoid, (GLuint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, internalformat, width, height, border, format, type, pixels) end function glTextureSubImage1DEXT(texture, target, level, xoffset, width, format, type, pixels) - ccall((:glTextureSubImage1DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, xoffset, width, format, type, pixels) + ccall(getprocaddress_e("glTextureSubImage1DEXT"), Cvoid, (GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, xoffset, width, format, type, pixels) end function glTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, width, height, format, type, pixels) - ccall((:glTextureSubImage2DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, xoffset, yoffset, width, height, format, type, pixels) + ccall(getprocaddress_e("glTextureSubImage2DEXT"), Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, xoffset, yoffset, width, height, format, type, pixels) end function glCopyTextureImage1DEXT(texture, target, level, internalformat, x, y, width, border) - ccall((:glCopyTextureImage1DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint), texture, target, level, internalformat, x, y, width, border) + ccall(getprocaddress_e("glCopyTextureImage1DEXT"), Cvoid, (GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint), texture, target, level, internalformat, x, y, width, border) end function glCopyTextureImage2DEXT(texture, target, level, internalformat, x, y, width, height, border) - ccall((:glCopyTextureImage2DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint), texture, target, level, internalformat, x, y, width, height, border) + ccall(getprocaddress_e("glCopyTextureImage2DEXT"), Cvoid, (GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint), texture, target, level, internalformat, x, y, width, height, border) end function glCopyTextureSubImage1DEXT(texture, target, level, xoffset, x, y, width) - ccall((:glCopyTextureSubImage1DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei), texture, target, level, xoffset, x, y, width) + ccall(getprocaddress_e("glCopyTextureSubImage1DEXT"), Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei), texture, target, level, xoffset, x, y, width) end function glCopyTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, x, y, width, height) - ccall((:glCopyTextureSubImage2DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), texture, target, level, xoffset, yoffset, x, y, width, height) + ccall(getprocaddress_e("glCopyTextureSubImage2DEXT"), Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), texture, target, level, xoffset, yoffset, x, y, width, height) end function glGetTextureImageEXT(texture, target, level, format, type, pixels) - ccall((:glGetTextureImageEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, format, type, pixels) + ccall(getprocaddress_e("glGetTextureImageEXT"), Cvoid, (GLuint, GLenum, GLint, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, format, type, pixels) end function glGetTextureParameterfvEXT(texture, target, pname, params) - ccall((:glGetTextureParameterfvEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLfloat}), texture, target, pname, params) + ccall(getprocaddress_e("glGetTextureParameterfvEXT"), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLfloat}), texture, target, pname, params) end function glGetTextureParameterivEXT(texture, target, pname, params) - ccall((:glGetTextureParameterivEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), texture, target, pname, params) + ccall(getprocaddress_e("glGetTextureParameterivEXT"), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), texture, target, pname, params) end function glGetTextureLevelParameterfvEXT(texture, target, level, pname, params) - ccall((:glGetTextureLevelParameterfvEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLenum, Ptr{GLfloat}), texture, target, level, pname, params) + ccall(getprocaddress_e("glGetTextureLevelParameterfvEXT"), Cvoid, (GLuint, GLenum, GLint, GLenum, Ptr{GLfloat}), texture, target, level, pname, params) end function glGetTextureLevelParameterivEXT(texture, target, level, pname, params) - ccall((:glGetTextureLevelParameterivEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLenum, Ptr{GLint}), texture, target, level, pname, params) + ccall(getprocaddress_e("glGetTextureLevelParameterivEXT"), Cvoid, (GLuint, GLenum, GLint, GLenum, Ptr{GLint}), texture, target, level, pname, params) end function glTextureImage3DEXT(texture, target, level, internalformat, width, height, depth, border, format, type, pixels) - ccall((:glTextureImage3DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, internalformat, width, height, depth, border, format, type, pixels) + ccall(getprocaddress_e("glTextureImage3DEXT"), Cvoid, (GLuint, GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, internalformat, width, height, depth, border, format, type, pixels) end function glTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) - ccall((:glTextureSubImage3DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) + ccall(getprocaddress_e("glTextureSubImage3DEXT"), Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) end function glCopyTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, x, y, width, height) - ccall((:glCopyTextureSubImage3DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), texture, target, level, xoffset, yoffset, zoffset, x, y, width, height) + ccall(getprocaddress_e("glCopyTextureSubImage3DEXT"), Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), texture, target, level, xoffset, yoffset, zoffset, x, y, width, height) end function glBindMultiTextureEXT(texunit, target, texture) - ccall((:glBindMultiTextureEXT, libgl), Cvoid, (GLenum, GLenum, GLuint), texunit, target, texture) + ccall(getprocaddress_e("glBindMultiTextureEXT"), Cvoid, (GLenum, GLenum, GLuint), texunit, target, texture) end function glMultiTexCoordPointerEXT(texunit, size, type, stride, pointer) - ccall((:glMultiTexCoordPointerEXT, libgl), Cvoid, (GLenum, GLint, GLenum, GLsizei, Ptr{Cvoid}), texunit, size, type, stride, pointer) + ccall(getprocaddress_e("glMultiTexCoordPointerEXT"), Cvoid, (GLenum, GLint, GLenum, GLsizei, Ptr{Cvoid}), texunit, size, type, stride, pointer) end function glMultiTexEnvfEXT(texunit, target, pname, param) - ccall((:glMultiTexEnvfEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, GLfloat), texunit, target, pname, param) + ccall(getprocaddress_e("glMultiTexEnvfEXT"), Cvoid, (GLenum, GLenum, GLenum, GLfloat), texunit, target, pname, param) end function glMultiTexEnvfvEXT(texunit, target, pname, params) - ccall((:glMultiTexEnvfvEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLfloat}), texunit, target, pname, params) + ccall(getprocaddress_e("glMultiTexEnvfvEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLfloat}), texunit, target, pname, params) end function glMultiTexEnviEXT(texunit, target, pname, param) - ccall((:glMultiTexEnviEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, GLint), texunit, target, pname, param) + ccall(getprocaddress_e("glMultiTexEnviEXT"), Cvoid, (GLenum, GLenum, GLenum, GLint), texunit, target, pname, param) end function glMultiTexEnvivEXT(texunit, target, pname, params) - ccall((:glMultiTexEnvivEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, target, pname, params) + ccall(getprocaddress_e("glMultiTexEnvivEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, target, pname, params) end function glMultiTexGendEXT(texunit, coord, pname, param) - ccall((:glMultiTexGendEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, GLdouble), texunit, coord, pname, param) + ccall(getprocaddress_e("glMultiTexGendEXT"), Cvoid, (GLenum, GLenum, GLenum, GLdouble), texunit, coord, pname, param) end function glMultiTexGendvEXT(texunit, coord, pname, params) - ccall((:glMultiTexGendvEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLdouble}), texunit, coord, pname, params) + ccall(getprocaddress_e("glMultiTexGendvEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLdouble}), texunit, coord, pname, params) end function glMultiTexGenfEXT(texunit, coord, pname, param) - ccall((:glMultiTexGenfEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, GLfloat), texunit, coord, pname, param) + ccall(getprocaddress_e("glMultiTexGenfEXT"), Cvoid, (GLenum, GLenum, GLenum, GLfloat), texunit, coord, pname, param) end function glMultiTexGenfvEXT(texunit, coord, pname, params) - ccall((:glMultiTexGenfvEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLfloat}), texunit, coord, pname, params) + ccall(getprocaddress_e("glMultiTexGenfvEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLfloat}), texunit, coord, pname, params) end function glMultiTexGeniEXT(texunit, coord, pname, param) - ccall((:glMultiTexGeniEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, GLint), texunit, coord, pname, param) + ccall(getprocaddress_e("glMultiTexGeniEXT"), Cvoid, (GLenum, GLenum, GLenum, GLint), texunit, coord, pname, param) end function glMultiTexGenivEXT(texunit, coord, pname, params) - ccall((:glMultiTexGenivEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, coord, pname, params) + ccall(getprocaddress_e("glMultiTexGenivEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, coord, pname, params) end function glGetMultiTexEnvfvEXT(texunit, target, pname, params) - ccall((:glGetMultiTexEnvfvEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLfloat}), texunit, target, pname, params) + ccall(getprocaddress_e("glGetMultiTexEnvfvEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLfloat}), texunit, target, pname, params) end function glGetMultiTexEnvivEXT(texunit, target, pname, params) - ccall((:glGetMultiTexEnvivEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, target, pname, params) + ccall(getprocaddress_e("glGetMultiTexEnvivEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, target, pname, params) end function glGetMultiTexGendvEXT(texunit, coord, pname, params) - ccall((:glGetMultiTexGendvEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLdouble}), texunit, coord, pname, params) + ccall(getprocaddress_e("glGetMultiTexGendvEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLdouble}), texunit, coord, pname, params) end function glGetMultiTexGenfvEXT(texunit, coord, pname, params) - ccall((:glGetMultiTexGenfvEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLfloat}), texunit, coord, pname, params) + ccall(getprocaddress_e("glGetMultiTexGenfvEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLfloat}), texunit, coord, pname, params) end function glGetMultiTexGenivEXT(texunit, coord, pname, params) - ccall((:glGetMultiTexGenivEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, coord, pname, params) + ccall(getprocaddress_e("glGetMultiTexGenivEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, coord, pname, params) end function glMultiTexParameteriEXT(texunit, target, pname, param) - ccall((:glMultiTexParameteriEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, GLint), texunit, target, pname, param) + ccall(getprocaddress_e("glMultiTexParameteriEXT"), Cvoid, (GLenum, GLenum, GLenum, GLint), texunit, target, pname, param) end function glMultiTexParameterivEXT(texunit, target, pname, params) - ccall((:glMultiTexParameterivEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, target, pname, params) + ccall(getprocaddress_e("glMultiTexParameterivEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, target, pname, params) end function glMultiTexParameterfEXT(texunit, target, pname, param) - ccall((:glMultiTexParameterfEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, GLfloat), texunit, target, pname, param) + ccall(getprocaddress_e("glMultiTexParameterfEXT"), Cvoid, (GLenum, GLenum, GLenum, GLfloat), texunit, target, pname, param) end function glMultiTexParameterfvEXT(texunit, target, pname, params) - ccall((:glMultiTexParameterfvEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLfloat}), texunit, target, pname, params) + ccall(getprocaddress_e("glMultiTexParameterfvEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLfloat}), texunit, target, pname, params) end function glMultiTexImage1DEXT(texunit, target, level, internalformat, width, border, format, type, pixels) - ccall((:glMultiTexImage1DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, internalformat, width, border, format, type, pixels) + ccall(getprocaddress_e("glMultiTexImage1DEXT"), Cvoid, (GLenum, GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, internalformat, width, border, format, type, pixels) end function glMultiTexImage2DEXT(texunit, target, level, internalformat, width, height, border, format, type, pixels) - ccall((:glMultiTexImage2DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, internalformat, width, height, border, format, type, pixels) + ccall(getprocaddress_e("glMultiTexImage2DEXT"), Cvoid, (GLenum, GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, internalformat, width, height, border, format, type, pixels) end function glMultiTexSubImage1DEXT(texunit, target, level, xoffset, width, format, type, pixels) - ccall((:glMultiTexSubImage1DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, xoffset, width, format, type, pixels) + ccall(getprocaddress_e("glMultiTexSubImage1DEXT"), Cvoid, (GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, xoffset, width, format, type, pixels) end function glMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, width, height, format, type, pixels) - ccall((:glMultiTexSubImage2DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, xoffset, yoffset, width, height, format, type, pixels) + ccall(getprocaddress_e("glMultiTexSubImage2DEXT"), Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, xoffset, yoffset, width, height, format, type, pixels) end function glCopyMultiTexImage1DEXT(texunit, target, level, internalformat, x, y, width, border) - ccall((:glCopyMultiTexImage1DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint), texunit, target, level, internalformat, x, y, width, border) + ccall(getprocaddress_e("glCopyMultiTexImage1DEXT"), Cvoid, (GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint), texunit, target, level, internalformat, x, y, width, border) end function glCopyMultiTexImage2DEXT(texunit, target, level, internalformat, x, y, width, height, border) - ccall((:glCopyMultiTexImage2DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint), texunit, target, level, internalformat, x, y, width, height, border) + ccall(getprocaddress_e("glCopyMultiTexImage2DEXT"), Cvoid, (GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint), texunit, target, level, internalformat, x, y, width, height, border) end function glCopyMultiTexSubImage1DEXT(texunit, target, level, xoffset, x, y, width) - ccall((:glCopyMultiTexSubImage1DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei), texunit, target, level, xoffset, x, y, width) + ccall(getprocaddress_e("glCopyMultiTexSubImage1DEXT"), Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei), texunit, target, level, xoffset, x, y, width) end function glCopyMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, x, y, width, height) - ccall((:glCopyMultiTexSubImage2DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), texunit, target, level, xoffset, yoffset, x, y, width, height) + ccall(getprocaddress_e("glCopyMultiTexSubImage2DEXT"), Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), texunit, target, level, xoffset, yoffset, x, y, width, height) end function glGetMultiTexImageEXT(texunit, target, level, format, type, pixels) - ccall((:glGetMultiTexImageEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, format, type, pixels) + ccall(getprocaddress_e("glGetMultiTexImageEXT"), Cvoid, (GLenum, GLenum, GLint, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, format, type, pixels) end function glGetMultiTexParameterfvEXT(texunit, target, pname, params) - ccall((:glGetMultiTexParameterfvEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLfloat}), texunit, target, pname, params) + ccall(getprocaddress_e("glGetMultiTexParameterfvEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLfloat}), texunit, target, pname, params) end function glGetMultiTexParameterivEXT(texunit, target, pname, params) - ccall((:glGetMultiTexParameterivEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, target, pname, params) + ccall(getprocaddress_e("glGetMultiTexParameterivEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, target, pname, params) end function glGetMultiTexLevelParameterfvEXT(texunit, target, level, pname, params) - ccall((:glGetMultiTexLevelParameterfvEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLenum, Ptr{GLfloat}), texunit, target, level, pname, params) + ccall(getprocaddress_e("glGetMultiTexLevelParameterfvEXT"), Cvoid, (GLenum, GLenum, GLint, GLenum, Ptr{GLfloat}), texunit, target, level, pname, params) end function glGetMultiTexLevelParameterivEXT(texunit, target, level, pname, params) - ccall((:glGetMultiTexLevelParameterivEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLenum, Ptr{GLint}), texunit, target, level, pname, params) + ccall(getprocaddress_e("glGetMultiTexLevelParameterivEXT"), Cvoid, (GLenum, GLenum, GLint, GLenum, Ptr{GLint}), texunit, target, level, pname, params) end function glMultiTexImage3DEXT(texunit, target, level, internalformat, width, height, depth, border, format, type, pixels) - ccall((:glMultiTexImage3DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, internalformat, width, height, depth, border, format, type, pixels) + ccall(getprocaddress_e("glMultiTexImage3DEXT"), Cvoid, (GLenum, GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, internalformat, width, height, depth, border, format, type, pixels) end function glMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) - ccall((:glMultiTexSubImage3DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) + ccall(getprocaddress_e("glMultiTexSubImage3DEXT"), Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) end function glCopyMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, x, y, width, height) - ccall((:glCopyMultiTexSubImage3DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), texunit, target, level, xoffset, yoffset, zoffset, x, y, width, height) + ccall(getprocaddress_e("glCopyMultiTexSubImage3DEXT"), Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), texunit, target, level, xoffset, yoffset, zoffset, x, y, width, height) end function glEnableClientStateIndexedEXT(array, index) - ccall((:glEnableClientStateIndexedEXT, libgl), Cvoid, (GLenum, GLuint), array, index) + ccall(getprocaddress_e("glEnableClientStateIndexedEXT"), Cvoid, (GLenum, GLuint), array, index) end function glDisableClientStateIndexedEXT(array, index) - ccall((:glDisableClientStateIndexedEXT, libgl), Cvoid, (GLenum, GLuint), array, index) + ccall(getprocaddress_e("glDisableClientStateIndexedEXT"), Cvoid, (GLenum, GLuint), array, index) end function glGetFloatIndexedvEXT(target, index, data) - ccall((:glGetFloatIndexedvEXT, libgl), Cvoid, (GLenum, GLuint, Ptr{GLfloat}), target, index, data) + ccall(getprocaddress_e("glGetFloatIndexedvEXT"), Cvoid, (GLenum, GLuint, Ptr{GLfloat}), target, index, data) end function glGetDoubleIndexedvEXT(target, index, data) - ccall((:glGetDoubleIndexedvEXT, libgl), Cvoid, (GLenum, GLuint, Ptr{GLdouble}), target, index, data) + ccall(getprocaddress_e("glGetDoubleIndexedvEXT"), Cvoid, (GLenum, GLuint, Ptr{GLdouble}), target, index, data) end function glGetPointerIndexedvEXT(target, index, data) - ccall((:glGetPointerIndexedvEXT, libgl), Cvoid, (GLenum, GLuint, Ptr{Ptr{Cvoid}}), target, index, data) + ccall(getprocaddress_e("glGetPointerIndexedvEXT"), Cvoid, (GLenum, GLuint, Ptr{Ptr{Cvoid}}), target, index, data) end function glEnableIndexedEXT(target, index) - ccall((:glEnableIndexedEXT, libgl), Cvoid, (GLenum, GLuint), target, index) + ccall(getprocaddress_e("glEnableIndexedEXT"), Cvoid, (GLenum, GLuint), target, index) end function glDisableIndexedEXT(target, index) - ccall((:glDisableIndexedEXT, libgl), Cvoid, (GLenum, GLuint), target, index) + ccall(getprocaddress_e("glDisableIndexedEXT"), Cvoid, (GLenum, GLuint), target, index) end function glIsEnabledIndexedEXT(target, index) - ccall((:glIsEnabledIndexedEXT, libgl), GLboolean, (GLenum, GLuint), target, index) + ccall(getprocaddress_e("glIsEnabledIndexedEXT"), GLboolean, (GLenum, GLuint), target, index) end function glGetIntegerIndexedvEXT(target, index, data) - ccall((:glGetIntegerIndexedvEXT, libgl), Cvoid, (GLenum, GLuint, Ptr{GLint}), target, index, data) + ccall(getprocaddress_e("glGetIntegerIndexedvEXT"), Cvoid, (GLenum, GLuint, Ptr{GLint}), target, index, data) end function glGetBooleanIndexedvEXT(target, index, data) - ccall((:glGetBooleanIndexedvEXT, libgl), Cvoid, (GLenum, GLuint, Ptr{GLboolean}), target, index, data) + ccall(getprocaddress_e("glGetBooleanIndexedvEXT"), Cvoid, (GLenum, GLuint, Ptr{GLboolean}), target, index, data) end function glCompressedTextureImage3DEXT(texture, target, level, internalformat, width, height, depth, border, imageSize, bits) - ccall((:glCompressedTextureImage3DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, Ptr{Cvoid}), texture, target, level, internalformat, width, height, depth, border, imageSize, bits) + ccall(getprocaddress_e("glCompressedTextureImage3DEXT"), Cvoid, (GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, Ptr{Cvoid}), texture, target, level, internalformat, width, height, depth, border, imageSize, bits) end function glCompressedTextureImage2DEXT(texture, target, level, internalformat, width, height, border, imageSize, bits) - ccall((:glCompressedTextureImage2DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, Ptr{Cvoid}), texture, target, level, internalformat, width, height, border, imageSize, bits) + ccall(getprocaddress_e("glCompressedTextureImage2DEXT"), Cvoid, (GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, Ptr{Cvoid}), texture, target, level, internalformat, width, height, border, imageSize, bits) end function glCompressedTextureImage1DEXT(texture, target, level, internalformat, width, border, imageSize, bits) - ccall((:glCompressedTextureImage1DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, Ptr{Cvoid}), texture, target, level, internalformat, width, border, imageSize, bits) + ccall(getprocaddress_e("glCompressedTextureImage1DEXT"), Cvoid, (GLuint, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, Ptr{Cvoid}), texture, target, level, internalformat, width, border, imageSize, bits) end function glCompressedTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits) - ccall((:glCompressedTextureSubImage3DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits) + ccall(getprocaddress_e("glCompressedTextureSubImage3DEXT"), Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits) end function glCompressedTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, width, height, format, imageSize, bits) - ccall((:glCompressedTextureSubImage2DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texture, target, level, xoffset, yoffset, width, height, format, imageSize, bits) + ccall(getprocaddress_e("glCompressedTextureSubImage2DEXT"), Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texture, target, level, xoffset, yoffset, width, height, format, imageSize, bits) end function glCompressedTextureSubImage1DEXT(texture, target, level, xoffset, width, format, imageSize, bits) - ccall((:glCompressedTextureSubImage1DEXT, libgl), Cvoid, (GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texture, target, level, xoffset, width, format, imageSize, bits) + ccall(getprocaddress_e("glCompressedTextureSubImage1DEXT"), Cvoid, (GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texture, target, level, xoffset, width, format, imageSize, bits) end function glGetCompressedTextureImageEXT(texture, target, lod, img) - ccall((:glGetCompressedTextureImageEXT, libgl), Cvoid, (GLuint, GLenum, GLint, Ptr{Cvoid}), texture, target, lod, img) + ccall(getprocaddress_e("glGetCompressedTextureImageEXT"), Cvoid, (GLuint, GLenum, GLint, Ptr{Cvoid}), texture, target, lod, img) end function glCompressedMultiTexImage3DEXT(texunit, target, level, internalformat, width, height, depth, border, imageSize, bits) - ccall((:glCompressedMultiTexImage3DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, Ptr{Cvoid}), texunit, target, level, internalformat, width, height, depth, border, imageSize, bits) + ccall(getprocaddress_e("glCompressedMultiTexImage3DEXT"), Cvoid, (GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, Ptr{Cvoid}), texunit, target, level, internalformat, width, height, depth, border, imageSize, bits) end function glCompressedMultiTexImage2DEXT(texunit, target, level, internalformat, width, height, border, imageSize, bits) - ccall((:glCompressedMultiTexImage2DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, Ptr{Cvoid}), texunit, target, level, internalformat, width, height, border, imageSize, bits) + ccall(getprocaddress_e("glCompressedMultiTexImage2DEXT"), Cvoid, (GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, Ptr{Cvoid}), texunit, target, level, internalformat, width, height, border, imageSize, bits) end function glCompressedMultiTexImage1DEXT(texunit, target, level, internalformat, width, border, imageSize, bits) - ccall((:glCompressedMultiTexImage1DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, Ptr{Cvoid}), texunit, target, level, internalformat, width, border, imageSize, bits) + ccall(getprocaddress_e("glCompressedMultiTexImage1DEXT"), Cvoid, (GLenum, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, Ptr{Cvoid}), texunit, target, level, internalformat, width, border, imageSize, bits) end function glCompressedMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits) - ccall((:glCompressedMultiTexSubImage3DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits) + ccall(getprocaddress_e("glCompressedMultiTexSubImage3DEXT"), Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits) end function glCompressedMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, width, height, format, imageSize, bits) - ccall((:glCompressedMultiTexSubImage2DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texunit, target, level, xoffset, yoffset, width, height, format, imageSize, bits) + ccall(getprocaddress_e("glCompressedMultiTexSubImage2DEXT"), Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texunit, target, level, xoffset, yoffset, width, height, format, imageSize, bits) end function glCompressedMultiTexSubImage1DEXT(texunit, target, level, xoffset, width, format, imageSize, bits) - ccall((:glCompressedMultiTexSubImage1DEXT, libgl), Cvoid, (GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texunit, target, level, xoffset, width, format, imageSize, bits) + ccall(getprocaddress_e("glCompressedMultiTexSubImage1DEXT"), Cvoid, (GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texunit, target, level, xoffset, width, format, imageSize, bits) end function glGetCompressedMultiTexImageEXT(texunit, target, lod, img) - ccall((:glGetCompressedMultiTexImageEXT, libgl), Cvoid, (GLenum, GLenum, GLint, Ptr{Cvoid}), texunit, target, lod, img) + ccall(getprocaddress_e("glGetCompressedMultiTexImageEXT"), Cvoid, (GLenum, GLenum, GLint, Ptr{Cvoid}), texunit, target, lod, img) end function glMatrixLoadTransposefEXT(mode, m) - ccall((:glMatrixLoadTransposefEXT, libgl), Cvoid, (GLenum, Ptr{GLfloat}), mode, m) + ccall(getprocaddress_e("glMatrixLoadTransposefEXT"), Cvoid, (GLenum, Ptr{GLfloat}), mode, m) end function glMatrixLoadTransposedEXT(mode, m) - ccall((:glMatrixLoadTransposedEXT, libgl), Cvoid, (GLenum, Ptr{GLdouble}), mode, m) + ccall(getprocaddress_e("glMatrixLoadTransposedEXT"), Cvoid, (GLenum, Ptr{GLdouble}), mode, m) end function glMatrixMultTransposefEXT(mode, m) - ccall((:glMatrixMultTransposefEXT, libgl), Cvoid, (GLenum, Ptr{GLfloat}), mode, m) + ccall(getprocaddress_e("glMatrixMultTransposefEXT"), Cvoid, (GLenum, Ptr{GLfloat}), mode, m) end function glMatrixMultTransposedEXT(mode, m) - ccall((:glMatrixMultTransposedEXT, libgl), Cvoid, (GLenum, Ptr{GLdouble}), mode, m) + ccall(getprocaddress_e("glMatrixMultTransposedEXT"), Cvoid, (GLenum, Ptr{GLdouble}), mode, m) end function glNamedBufferDataEXT(buffer, size, data, usage) - ccall((:glNamedBufferDataEXT, libgl), Cvoid, (GLuint, GLsizeiptr, Ptr{Cvoid}, GLenum), buffer, size, data, usage) + ccall(getprocaddress_e("glNamedBufferDataEXT"), Cvoid, (GLuint, GLsizeiptr, Ptr{Cvoid}, GLenum), buffer, size, data, usage) end function glNamedBufferSubDataEXT(buffer, offset, size, data) - ccall((:glNamedBufferSubDataEXT, libgl), Cvoid, (GLuint, GLintptr, GLsizeiptr, Ptr{Cvoid}), buffer, offset, size, data) + ccall(getprocaddress_e("glNamedBufferSubDataEXT"), Cvoid, (GLuint, GLintptr, GLsizeiptr, Ptr{Cvoid}), buffer, offset, size, data) end function glMapNamedBufferEXT(buffer, access) - ccall((:glMapNamedBufferEXT, libgl), Ptr{Cvoid}, (GLuint, GLenum), buffer, access) + ccall(getprocaddress_e("glMapNamedBufferEXT"), Ptr{Cvoid}, (GLuint, GLenum), buffer, access) end function glUnmapNamedBufferEXT(buffer) - ccall((:glUnmapNamedBufferEXT, libgl), GLboolean, (GLuint,), buffer) + ccall(getprocaddress_e("glUnmapNamedBufferEXT"), GLboolean, (GLuint,), buffer) end function glGetNamedBufferParameterivEXT(buffer, pname, params) - ccall((:glGetNamedBufferParameterivEXT, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), buffer, pname, params) + ccall(getprocaddress_e("glGetNamedBufferParameterivEXT"), Cvoid, (GLuint, GLenum, Ptr{GLint}), buffer, pname, params) end function glGetNamedBufferPointervEXT(buffer, pname, params) - ccall((:glGetNamedBufferPointervEXT, libgl), Cvoid, (GLuint, GLenum, Ptr{Ptr{Cvoid}}), buffer, pname, params) + ccall(getprocaddress_e("glGetNamedBufferPointervEXT"), Cvoid, (GLuint, GLenum, Ptr{Ptr{Cvoid}}), buffer, pname, params) end function glGetNamedBufferSubDataEXT(buffer, offset, size, data) - ccall((:glGetNamedBufferSubDataEXT, libgl), Cvoid, (GLuint, GLintptr, GLsizeiptr, Ptr{Cvoid}), buffer, offset, size, data) + ccall(getprocaddress_e("glGetNamedBufferSubDataEXT"), Cvoid, (GLuint, GLintptr, GLsizeiptr, Ptr{Cvoid}), buffer, offset, size, data) end function glProgramUniform1fEXT(program, location, v0) - ccall((:glProgramUniform1fEXT, libgl), Cvoid, (GLuint, GLint, GLfloat), program, location, v0) + ccall(getprocaddress_e("glProgramUniform1fEXT"), Cvoid, (GLuint, GLint, GLfloat), program, location, v0) end function glProgramUniform2fEXT(program, location, v0, v1) - ccall((:glProgramUniform2fEXT, libgl), Cvoid, (GLuint, GLint, GLfloat, GLfloat), program, location, v0, v1) + ccall(getprocaddress_e("glProgramUniform2fEXT"), Cvoid, (GLuint, GLint, GLfloat, GLfloat), program, location, v0, v1) end function glProgramUniform3fEXT(program, location, v0, v1, v2) - ccall((:glProgramUniform3fEXT, libgl), Cvoid, (GLuint, GLint, GLfloat, GLfloat, GLfloat), program, location, v0, v1, v2) + ccall(getprocaddress_e("glProgramUniform3fEXT"), Cvoid, (GLuint, GLint, GLfloat, GLfloat, GLfloat), program, location, v0, v1, v2) end function glProgramUniform4fEXT(program, location, v0, v1, v2, v3) - ccall((:glProgramUniform4fEXT, libgl), Cvoid, (GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat), program, location, v0, v1, v2, v3) + ccall(getprocaddress_e("glProgramUniform4fEXT"), Cvoid, (GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat), program, location, v0, v1, v2, v3) end function glProgramUniform1iEXT(program, location, v0) - ccall((:glProgramUniform1iEXT, libgl), Cvoid, (GLuint, GLint, GLint), program, location, v0) + ccall(getprocaddress_e("glProgramUniform1iEXT"), Cvoid, (GLuint, GLint, GLint), program, location, v0) end function glProgramUniform2iEXT(program, location, v0, v1) - ccall((:glProgramUniform2iEXT, libgl), Cvoid, (GLuint, GLint, GLint, GLint), program, location, v0, v1) + ccall(getprocaddress_e("glProgramUniform2iEXT"), Cvoid, (GLuint, GLint, GLint, GLint), program, location, v0, v1) end function glProgramUniform3iEXT(program, location, v0, v1, v2) - ccall((:glProgramUniform3iEXT, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLint), program, location, v0, v1, v2) + ccall(getprocaddress_e("glProgramUniform3iEXT"), Cvoid, (GLuint, GLint, GLint, GLint, GLint), program, location, v0, v1, v2) end function glProgramUniform4iEXT(program, location, v0, v1, v2, v3) - ccall((:glProgramUniform4iEXT, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLint), program, location, v0, v1, v2, v3) + ccall(getprocaddress_e("glProgramUniform4iEXT"), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLint), program, location, v0, v1, v2, v3) end function glProgramUniform1fvEXT(program, location, count, value) - ccall((:glProgramUniform1fvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform1fvEXT"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) end function glProgramUniform2fvEXT(program, location, count, value) - ccall((:glProgramUniform2fvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform2fvEXT"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) end function glProgramUniform3fvEXT(program, location, count, value) - ccall((:glProgramUniform3fvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform3fvEXT"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) end function glProgramUniform4fvEXT(program, location, count, value) - ccall((:glProgramUniform4fvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform4fvEXT"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) end function glProgramUniform1ivEXT(program, location, count, value) - ccall((:glProgramUniform1ivEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform1ivEXT"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) end function glProgramUniform2ivEXT(program, location, count, value) - ccall((:glProgramUniform2ivEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform2ivEXT"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) end function glProgramUniform3ivEXT(program, location, count, value) - ccall((:glProgramUniform3ivEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform3ivEXT"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) end function glProgramUniform4ivEXT(program, location, count, value) - ccall((:glProgramUniform4ivEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform4ivEXT"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) end function glProgramUniformMatrix2fvEXT(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix2fvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix2fvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end function glProgramUniformMatrix3fvEXT(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix3fvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix3fvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end function glProgramUniformMatrix4fvEXT(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix4fvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix4fvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end function glProgramUniformMatrix2x3fvEXT(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix2x3fvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix2x3fvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end function glProgramUniformMatrix3x2fvEXT(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix3x2fvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix3x2fvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end function glProgramUniformMatrix2x4fvEXT(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix2x4fvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix2x4fvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end function glProgramUniformMatrix4x2fvEXT(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix4x2fvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix4x2fvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end function glProgramUniformMatrix3x4fvEXT(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix3x4fvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix3x4fvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end function glProgramUniformMatrix4x3fvEXT(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix4x3fvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix4x3fvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end function glTextureBufferEXT(texture, target, internalformat, buffer) - ccall((:glTextureBufferEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, GLuint), texture, target, internalformat, buffer) + ccall(getprocaddress_e("glTextureBufferEXT"), Cvoid, (GLuint, GLenum, GLenum, GLuint), texture, target, internalformat, buffer) end function glMultiTexBufferEXT(texunit, target, internalformat, buffer) - ccall((:glMultiTexBufferEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, GLuint), texunit, target, internalformat, buffer) + ccall(getprocaddress_e("glMultiTexBufferEXT"), Cvoid, (GLenum, GLenum, GLenum, GLuint), texunit, target, internalformat, buffer) end function glTextureParameterIivEXT(texture, target, pname, params) - ccall((:glTextureParameterIivEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), texture, target, pname, params) + ccall(getprocaddress_e("glTextureParameterIivEXT"), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), texture, target, pname, params) end function glTextureParameterIuivEXT(texture, target, pname, params) - ccall((:glTextureParameterIuivEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLuint}), texture, target, pname, params) + ccall(getprocaddress_e("glTextureParameterIuivEXT"), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLuint}), texture, target, pname, params) end function glGetTextureParameterIivEXT(texture, target, pname, params) - ccall((:glGetTextureParameterIivEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), texture, target, pname, params) + ccall(getprocaddress_e("glGetTextureParameterIivEXT"), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), texture, target, pname, params) end function glGetTextureParameterIuivEXT(texture, target, pname, params) - ccall((:glGetTextureParameterIuivEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLuint}), texture, target, pname, params) + ccall(getprocaddress_e("glGetTextureParameterIuivEXT"), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLuint}), texture, target, pname, params) end function glMultiTexParameterIivEXT(texunit, target, pname, params) - ccall((:glMultiTexParameterIivEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, target, pname, params) + ccall(getprocaddress_e("glMultiTexParameterIivEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, target, pname, params) end function glMultiTexParameterIuivEXT(texunit, target, pname, params) - ccall((:glMultiTexParameterIuivEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLuint}), texunit, target, pname, params) + ccall(getprocaddress_e("glMultiTexParameterIuivEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLuint}), texunit, target, pname, params) end function glGetMultiTexParameterIivEXT(texunit, target, pname, params) - ccall((:glGetMultiTexParameterIivEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, target, pname, params) + ccall(getprocaddress_e("glGetMultiTexParameterIivEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, target, pname, params) end function glGetMultiTexParameterIuivEXT(texunit, target, pname, params) - ccall((:glGetMultiTexParameterIuivEXT, libgl), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLuint}), texunit, target, pname, params) + ccall(getprocaddress_e("glGetMultiTexParameterIuivEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLuint}), texunit, target, pname, params) end function glProgramUniform1uiEXT(program, location, v0) - ccall((:glProgramUniform1uiEXT, libgl), Cvoid, (GLuint, GLint, GLuint), program, location, v0) + ccall(getprocaddress_e("glProgramUniform1uiEXT"), Cvoid, (GLuint, GLint, GLuint), program, location, v0) end function glProgramUniform2uiEXT(program, location, v0, v1) - ccall((:glProgramUniform2uiEXT, libgl), Cvoid, (GLuint, GLint, GLuint, GLuint), program, location, v0, v1) + ccall(getprocaddress_e("glProgramUniform2uiEXT"), Cvoid, (GLuint, GLint, GLuint, GLuint), program, location, v0, v1) end function glProgramUniform3uiEXT(program, location, v0, v1, v2) - ccall((:glProgramUniform3uiEXT, libgl), Cvoid, (GLuint, GLint, GLuint, GLuint, GLuint), program, location, v0, v1, v2) + ccall(getprocaddress_e("glProgramUniform3uiEXT"), Cvoid, (GLuint, GLint, GLuint, GLuint, GLuint), program, location, v0, v1, v2) end function glProgramUniform4uiEXT(program, location, v0, v1, v2, v3) - ccall((:glProgramUniform4uiEXT, libgl), Cvoid, (GLuint, GLint, GLuint, GLuint, GLuint, GLuint), program, location, v0, v1, v2, v3) + ccall(getprocaddress_e("glProgramUniform4uiEXT"), Cvoid, (GLuint, GLint, GLuint, GLuint, GLuint, GLuint), program, location, v0, v1, v2, v3) end function glProgramUniform1uivEXT(program, location, count, value) - ccall((:glProgramUniform1uivEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform1uivEXT"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) end function glProgramUniform2uivEXT(program, location, count, value) - ccall((:glProgramUniform2uivEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform2uivEXT"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) end function glProgramUniform3uivEXT(program, location, count, value) - ccall((:glProgramUniform3uivEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform3uivEXT"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) end function glProgramUniform4uivEXT(program, location, count, value) - ccall((:glProgramUniform4uivEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform4uivEXT"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) end function glNamedProgramLocalParameters4fvEXT(program, target, index, count, params) - ccall((:glNamedProgramLocalParameters4fvEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLfloat}), program, target, index, count, params) + ccall(getprocaddress_e("glNamedProgramLocalParameters4fvEXT"), Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLfloat}), program, target, index, count, params) end function glNamedProgramLocalParameterI4iEXT(program, target, index, x, y, z, w) - ccall((:glNamedProgramLocalParameterI4iEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, GLint, GLint, GLint, GLint), program, target, index, x, y, z, w) + ccall(getprocaddress_e("glNamedProgramLocalParameterI4iEXT"), Cvoid, (GLuint, GLenum, GLuint, GLint, GLint, GLint, GLint), program, target, index, x, y, z, w) end function glNamedProgramLocalParameterI4ivEXT(program, target, index, params) - ccall((:glNamedProgramLocalParameterI4ivEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLint}), program, target, index, params) + ccall(getprocaddress_e("glNamedProgramLocalParameterI4ivEXT"), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLint}), program, target, index, params) end function glNamedProgramLocalParametersI4ivEXT(program, target, index, count, params) - ccall((:glNamedProgramLocalParametersI4ivEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLint}), program, target, index, count, params) + ccall(getprocaddress_e("glNamedProgramLocalParametersI4ivEXT"), Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLint}), program, target, index, count, params) end function glNamedProgramLocalParameterI4uiEXT(program, target, index, x, y, z, w) - ccall((:glNamedProgramLocalParameterI4uiEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, GLuint, GLuint, GLuint, GLuint), program, target, index, x, y, z, w) + ccall(getprocaddress_e("glNamedProgramLocalParameterI4uiEXT"), Cvoid, (GLuint, GLenum, GLuint, GLuint, GLuint, GLuint, GLuint), program, target, index, x, y, z, w) end function glNamedProgramLocalParameterI4uivEXT(program, target, index, params) - ccall((:glNamedProgramLocalParameterI4uivEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLuint}), program, target, index, params) + ccall(getprocaddress_e("glNamedProgramLocalParameterI4uivEXT"), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLuint}), program, target, index, params) end function glNamedProgramLocalParametersI4uivEXT(program, target, index, count, params) - ccall((:glNamedProgramLocalParametersI4uivEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLuint}), program, target, index, count, params) + ccall(getprocaddress_e("glNamedProgramLocalParametersI4uivEXT"), Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLuint}), program, target, index, count, params) end function glGetNamedProgramLocalParameterIivEXT(program, target, index, params) - ccall((:glGetNamedProgramLocalParameterIivEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLint}), program, target, index, params) + ccall(getprocaddress_e("glGetNamedProgramLocalParameterIivEXT"), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLint}), program, target, index, params) end function glGetNamedProgramLocalParameterIuivEXT(program, target, index, params) - ccall((:glGetNamedProgramLocalParameterIuivEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLuint}), program, target, index, params) + ccall(getprocaddress_e("glGetNamedProgramLocalParameterIuivEXT"), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLuint}), program, target, index, params) end function glEnableClientStateiEXT(array, index) - ccall((:glEnableClientStateiEXT, libgl), Cvoid, (GLenum, GLuint), array, index) + ccall(getprocaddress_e("glEnableClientStateiEXT"), Cvoid, (GLenum, GLuint), array, index) end function glDisableClientStateiEXT(array, index) - ccall((:glDisableClientStateiEXT, libgl), Cvoid, (GLenum, GLuint), array, index) + ccall(getprocaddress_e("glDisableClientStateiEXT"), Cvoid, (GLenum, GLuint), array, index) end function glGetFloati_vEXT(pname, index, params) - ccall((:glGetFloati_vEXT, libgl), Cvoid, (GLenum, GLuint, Ptr{GLfloat}), pname, index, params) + ccall(getprocaddress_e("glGetFloati_vEXT"), Cvoid, (GLenum, GLuint, Ptr{GLfloat}), pname, index, params) end function glGetDoublei_vEXT(pname, index, params) - ccall((:glGetDoublei_vEXT, libgl), Cvoid, (GLenum, GLuint, Ptr{GLdouble}), pname, index, params) + ccall(getprocaddress_e("glGetDoublei_vEXT"), Cvoid, (GLenum, GLuint, Ptr{GLdouble}), pname, index, params) end function glGetPointeri_vEXT(pname, index, params) - ccall((:glGetPointeri_vEXT, libgl), Cvoid, (GLenum, GLuint, Ptr{Ptr{Cvoid}}), pname, index, params) + ccall(getprocaddress_e("glGetPointeri_vEXT"), Cvoid, (GLenum, GLuint, Ptr{Ptr{Cvoid}}), pname, index, params) end function glNamedProgramStringEXT(program, target, format, len, string) - ccall((:glNamedProgramStringEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, GLsizei, Ptr{Cvoid}), program, target, format, len, string) + ccall(getprocaddress_e("glNamedProgramStringEXT"), Cvoid, (GLuint, GLenum, GLenum, GLsizei, Ptr{Cvoid}), program, target, format, len, string) end function glNamedProgramLocalParameter4dEXT(program, target, index, x, y, z, w) - ccall((:glNamedProgramLocalParameter4dEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble), program, target, index, x, y, z, w) + ccall(getprocaddress_e("glNamedProgramLocalParameter4dEXT"), Cvoid, (GLuint, GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble), program, target, index, x, y, z, w) end function glNamedProgramLocalParameter4dvEXT(program, target, index, params) - ccall((:glNamedProgramLocalParameter4dvEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLdouble}), program, target, index, params) + ccall(getprocaddress_e("glNamedProgramLocalParameter4dvEXT"), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLdouble}), program, target, index, params) end function glNamedProgramLocalParameter4fEXT(program, target, index, x, y, z, w) - ccall((:glNamedProgramLocalParameter4fEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat), program, target, index, x, y, z, w) + ccall(getprocaddress_e("glNamedProgramLocalParameter4fEXT"), Cvoid, (GLuint, GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat), program, target, index, x, y, z, w) end function glNamedProgramLocalParameter4fvEXT(program, target, index, params) - ccall((:glNamedProgramLocalParameter4fvEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLfloat}), program, target, index, params) + ccall(getprocaddress_e("glNamedProgramLocalParameter4fvEXT"), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLfloat}), program, target, index, params) end function glGetNamedProgramLocalParameterdvEXT(program, target, index, params) - ccall((:glGetNamedProgramLocalParameterdvEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLdouble}), program, target, index, params) + ccall(getprocaddress_e("glGetNamedProgramLocalParameterdvEXT"), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLdouble}), program, target, index, params) end function glGetNamedProgramLocalParameterfvEXT(program, target, index, params) - ccall((:glGetNamedProgramLocalParameterfvEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLfloat}), program, target, index, params) + ccall(getprocaddress_e("glGetNamedProgramLocalParameterfvEXT"), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLfloat}), program, target, index, params) end function glGetNamedProgramivEXT(program, target, pname, params) - ccall((:glGetNamedProgramivEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), program, target, pname, params) + ccall(getprocaddress_e("glGetNamedProgramivEXT"), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), program, target, pname, params) end function glGetNamedProgramStringEXT(program, target, pname, string) - ccall((:glGetNamedProgramStringEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, Ptr{Cvoid}), program, target, pname, string) + ccall(getprocaddress_e("glGetNamedProgramStringEXT"), Cvoid, (GLuint, GLenum, GLenum, Ptr{Cvoid}), program, target, pname, string) end function glNamedRenderbufferStorageEXT(renderbuffer, internalformat, width, height) - ccall((:glNamedRenderbufferStorageEXT, libgl), Cvoid, (GLuint, GLenum, GLsizei, GLsizei), renderbuffer, internalformat, width, height) + ccall(getprocaddress_e("glNamedRenderbufferStorageEXT"), Cvoid, (GLuint, GLenum, GLsizei, GLsizei), renderbuffer, internalformat, width, height) end function glGetNamedRenderbufferParameterivEXT(renderbuffer, pname, params) - ccall((:glGetNamedRenderbufferParameterivEXT, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), renderbuffer, pname, params) + ccall(getprocaddress_e("glGetNamedRenderbufferParameterivEXT"), Cvoid, (GLuint, GLenum, Ptr{GLint}), renderbuffer, pname, params) end function glNamedRenderbufferStorageMultisampleEXT(renderbuffer, samples, internalformat, width, height) - ccall((:glNamedRenderbufferStorageMultisampleEXT, libgl), Cvoid, (GLuint, GLsizei, GLenum, GLsizei, GLsizei), renderbuffer, samples, internalformat, width, height) + ccall(getprocaddress_e("glNamedRenderbufferStorageMultisampleEXT"), Cvoid, (GLuint, GLsizei, GLenum, GLsizei, GLsizei), renderbuffer, samples, internalformat, width, height) end function glNamedRenderbufferStorageMultisampleCoverageEXT(renderbuffer, coverageSamples, colorSamples, internalformat, width, height) - ccall((:glNamedRenderbufferStorageMultisampleCoverageEXT, libgl), Cvoid, (GLuint, GLsizei, GLsizei, GLenum, GLsizei, GLsizei), renderbuffer, coverageSamples, colorSamples, internalformat, width, height) + ccall(getprocaddress_e("glNamedRenderbufferStorageMultisampleCoverageEXT"), Cvoid, (GLuint, GLsizei, GLsizei, GLenum, GLsizei, GLsizei), renderbuffer, coverageSamples, colorSamples, internalformat, width, height) end function glCheckNamedFramebufferStatusEXT(framebuffer, target) - ccall((:glCheckNamedFramebufferStatusEXT, libgl), GLenum, (GLuint, GLenum), framebuffer, target) + ccall(getprocaddress_e("glCheckNamedFramebufferStatusEXT"), GLenum, (GLuint, GLenum), framebuffer, target) end function glNamedFramebufferTexture1DEXT(framebuffer, attachment, textarget, texture, level) - ccall((:glNamedFramebufferTexture1DEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, GLuint, GLint), framebuffer, attachment, textarget, texture, level) + ccall(getprocaddress_e("glNamedFramebufferTexture1DEXT"), Cvoid, (GLuint, GLenum, GLenum, GLuint, GLint), framebuffer, attachment, textarget, texture, level) end function glNamedFramebufferTexture2DEXT(framebuffer, attachment, textarget, texture, level) - ccall((:glNamedFramebufferTexture2DEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, GLuint, GLint), framebuffer, attachment, textarget, texture, level) + ccall(getprocaddress_e("glNamedFramebufferTexture2DEXT"), Cvoid, (GLuint, GLenum, GLenum, GLuint, GLint), framebuffer, attachment, textarget, texture, level) end function glNamedFramebufferTexture3DEXT(framebuffer, attachment, textarget, texture, level, zoffset) - ccall((:glNamedFramebufferTexture3DEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, GLuint, GLint, GLint), framebuffer, attachment, textarget, texture, level, zoffset) + ccall(getprocaddress_e("glNamedFramebufferTexture3DEXT"), Cvoid, (GLuint, GLenum, GLenum, GLuint, GLint, GLint), framebuffer, attachment, textarget, texture, level, zoffset) end function glNamedFramebufferRenderbufferEXT(framebuffer, attachment, renderbuffertarget, renderbuffer) - ccall((:glNamedFramebufferRenderbufferEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, GLuint), framebuffer, attachment, renderbuffertarget, renderbuffer) + ccall(getprocaddress_e("glNamedFramebufferRenderbufferEXT"), Cvoid, (GLuint, GLenum, GLenum, GLuint), framebuffer, attachment, renderbuffertarget, renderbuffer) end function glGetNamedFramebufferAttachmentParameterivEXT(framebuffer, attachment, pname, params) - ccall((:glGetNamedFramebufferAttachmentParameterivEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), framebuffer, attachment, pname, params) + ccall(getprocaddress_e("glGetNamedFramebufferAttachmentParameterivEXT"), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), framebuffer, attachment, pname, params) end function glGenerateTextureMipmapEXT(texture, target) - ccall((:glGenerateTextureMipmapEXT, libgl), Cvoid, (GLuint, GLenum), texture, target) + ccall(getprocaddress_e("glGenerateTextureMipmapEXT"), Cvoid, (GLuint, GLenum), texture, target) end function glGenerateMultiTexMipmapEXT(texunit, target) - ccall((:glGenerateMultiTexMipmapEXT, libgl), Cvoid, (GLenum, GLenum), texunit, target) + ccall(getprocaddress_e("glGenerateMultiTexMipmapEXT"), Cvoid, (GLenum, GLenum), texunit, target) end function glFramebufferDrawBufferEXT(framebuffer, mode) - ccall((:glFramebufferDrawBufferEXT, libgl), Cvoid, (GLuint, GLenum), framebuffer, mode) + ccall(getprocaddress_e("glFramebufferDrawBufferEXT"), Cvoid, (GLuint, GLenum), framebuffer, mode) end function glFramebufferDrawBuffersEXT(framebuffer, n, bufs) - ccall((:glFramebufferDrawBuffersEXT, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLenum}), framebuffer, n, bufs) + ccall(getprocaddress_e("glFramebufferDrawBuffersEXT"), Cvoid, (GLuint, GLsizei, Ptr{GLenum}), framebuffer, n, bufs) end function glFramebufferReadBufferEXT(framebuffer, mode) - ccall((:glFramebufferReadBufferEXT, libgl), Cvoid, (GLuint, GLenum), framebuffer, mode) + ccall(getprocaddress_e("glFramebufferReadBufferEXT"), Cvoid, (GLuint, GLenum), framebuffer, mode) end function glGetFramebufferParameterivEXT(framebuffer, pname, params) - ccall((:glGetFramebufferParameterivEXT, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), framebuffer, pname, params) + ccall(getprocaddress_e("glGetFramebufferParameterivEXT"), Cvoid, (GLuint, GLenum, Ptr{GLint}), framebuffer, pname, params) end function glNamedCopyBufferSubDataEXT(readBuffer, writeBuffer, readOffset, writeOffset, size) - ccall((:glNamedCopyBufferSubDataEXT, libgl), Cvoid, (GLuint, GLuint, GLintptr, GLintptr, GLsizeiptr), readBuffer, writeBuffer, readOffset, writeOffset, size) + ccall(getprocaddress_e("glNamedCopyBufferSubDataEXT"), Cvoid, (GLuint, GLuint, GLintptr, GLintptr, GLsizeiptr), readBuffer, writeBuffer, readOffset, writeOffset, size) end function glNamedFramebufferTextureEXT(framebuffer, attachment, texture, level) - ccall((:glNamedFramebufferTextureEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, GLint), framebuffer, attachment, texture, level) + ccall(getprocaddress_e("glNamedFramebufferTextureEXT"), Cvoid, (GLuint, GLenum, GLuint, GLint), framebuffer, attachment, texture, level) end function glNamedFramebufferTextureLayerEXT(framebuffer, attachment, texture, level, layer) - ccall((:glNamedFramebufferTextureLayerEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, GLint, GLint), framebuffer, attachment, texture, level, layer) + ccall(getprocaddress_e("glNamedFramebufferTextureLayerEXT"), Cvoid, (GLuint, GLenum, GLuint, GLint, GLint), framebuffer, attachment, texture, level, layer) end function glNamedFramebufferTextureFaceEXT(framebuffer, attachment, texture, level, face) - ccall((:glNamedFramebufferTextureFaceEXT, libgl), Cvoid, (GLuint, GLenum, GLuint, GLint, GLenum), framebuffer, attachment, texture, level, face) + ccall(getprocaddress_e("glNamedFramebufferTextureFaceEXT"), Cvoid, (GLuint, GLenum, GLuint, GLint, GLenum), framebuffer, attachment, texture, level, face) end function glTextureRenderbufferEXT(texture, target, renderbuffer) - ccall((:glTextureRenderbufferEXT, libgl), Cvoid, (GLuint, GLenum, GLuint), texture, target, renderbuffer) + ccall(getprocaddress_e("glTextureRenderbufferEXT"), Cvoid, (GLuint, GLenum, GLuint), texture, target, renderbuffer) end function glMultiTexRenderbufferEXT(texunit, target, renderbuffer) - ccall((:glMultiTexRenderbufferEXT, libgl), Cvoid, (GLenum, GLenum, GLuint), texunit, target, renderbuffer) + ccall(getprocaddress_e("glMultiTexRenderbufferEXT"), Cvoid, (GLenum, GLenum, GLuint), texunit, target, renderbuffer) end function glVertexArrayVertexOffsetEXT(vaobj, buffer, size, type, stride, offset) - ccall((:glVertexArrayVertexOffsetEXT, libgl), Cvoid, (GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, size, type, stride, offset) + ccall(getprocaddress_e("glVertexArrayVertexOffsetEXT"), Cvoid, (GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, size, type, stride, offset) end function glVertexArrayColorOffsetEXT(vaobj, buffer, size, type, stride, offset) - ccall((:glVertexArrayColorOffsetEXT, libgl), Cvoid, (GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, size, type, stride, offset) + ccall(getprocaddress_e("glVertexArrayColorOffsetEXT"), Cvoid, (GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, size, type, stride, offset) end function glVertexArrayEdgeFlagOffsetEXT(vaobj, buffer, stride, offset) - ccall((:glVertexArrayEdgeFlagOffsetEXT, libgl), Cvoid, (GLuint, GLuint, GLsizei, GLintptr), vaobj, buffer, stride, offset) + ccall(getprocaddress_e("glVertexArrayEdgeFlagOffsetEXT"), Cvoid, (GLuint, GLuint, GLsizei, GLintptr), vaobj, buffer, stride, offset) end function glVertexArrayIndexOffsetEXT(vaobj, buffer, type, stride, offset) - ccall((:glVertexArrayIndexOffsetEXT, libgl), Cvoid, (GLuint, GLuint, GLenum, GLsizei, GLintptr), vaobj, buffer, type, stride, offset) + ccall(getprocaddress_e("glVertexArrayIndexOffsetEXT"), Cvoid, (GLuint, GLuint, GLenum, GLsizei, GLintptr), vaobj, buffer, type, stride, offset) end function glVertexArrayNormalOffsetEXT(vaobj, buffer, type, stride, offset) - ccall((:glVertexArrayNormalOffsetEXT, libgl), Cvoid, (GLuint, GLuint, GLenum, GLsizei, GLintptr), vaobj, buffer, type, stride, offset) + ccall(getprocaddress_e("glVertexArrayNormalOffsetEXT"), Cvoid, (GLuint, GLuint, GLenum, GLsizei, GLintptr), vaobj, buffer, type, stride, offset) end function glVertexArrayTexCoordOffsetEXT(vaobj, buffer, size, type, stride, offset) - ccall((:glVertexArrayTexCoordOffsetEXT, libgl), Cvoid, (GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, size, type, stride, offset) + ccall(getprocaddress_e("glVertexArrayTexCoordOffsetEXT"), Cvoid, (GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, size, type, stride, offset) end function glVertexArrayMultiTexCoordOffsetEXT(vaobj, buffer, texunit, size, type, stride, offset) - ccall((:glVertexArrayMultiTexCoordOffsetEXT, libgl), Cvoid, (GLuint, GLuint, GLenum, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, texunit, size, type, stride, offset) + ccall(getprocaddress_e("glVertexArrayMultiTexCoordOffsetEXT"), Cvoid, (GLuint, GLuint, GLenum, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, texunit, size, type, stride, offset) end function glVertexArrayFogCoordOffsetEXT(vaobj, buffer, type, stride, offset) - ccall((:glVertexArrayFogCoordOffsetEXT, libgl), Cvoid, (GLuint, GLuint, GLenum, GLsizei, GLintptr), vaobj, buffer, type, stride, offset) + ccall(getprocaddress_e("glVertexArrayFogCoordOffsetEXT"), Cvoid, (GLuint, GLuint, GLenum, GLsizei, GLintptr), vaobj, buffer, type, stride, offset) end function glVertexArraySecondaryColorOffsetEXT(vaobj, buffer, size, type, stride, offset) - ccall((:glVertexArraySecondaryColorOffsetEXT, libgl), Cvoid, (GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, size, type, stride, offset) + ccall(getprocaddress_e("glVertexArraySecondaryColorOffsetEXT"), Cvoid, (GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, size, type, stride, offset) end function glVertexArrayVertexAttribOffsetEXT(vaobj, buffer, index, size, type, normalized, stride, offset) - ccall((:glVertexArrayVertexAttribOffsetEXT, libgl), Cvoid, (GLuint, GLuint, GLuint, GLint, GLenum, GLboolean, GLsizei, GLintptr), vaobj, buffer, index, size, type, normalized, stride, offset) + ccall(getprocaddress_e("glVertexArrayVertexAttribOffsetEXT"), Cvoid, (GLuint, GLuint, GLuint, GLint, GLenum, GLboolean, GLsizei, GLintptr), vaobj, buffer, index, size, type, normalized, stride, offset) end function glVertexArrayVertexAttribIOffsetEXT(vaobj, buffer, index, size, type, stride, offset) - ccall((:glVertexArrayVertexAttribIOffsetEXT, libgl), Cvoid, (GLuint, GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, index, size, type, stride, offset) + ccall(getprocaddress_e("glVertexArrayVertexAttribIOffsetEXT"), Cvoid, (GLuint, GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, index, size, type, stride, offset) end function glEnableVertexArrayEXT(vaobj, array) - ccall((:glEnableVertexArrayEXT, libgl), Cvoid, (GLuint, GLenum), vaobj, array) + ccall(getprocaddress_e("glEnableVertexArrayEXT"), Cvoid, (GLuint, GLenum), vaobj, array) end function glDisableVertexArrayEXT(vaobj, array) - ccall((:glDisableVertexArrayEXT, libgl), Cvoid, (GLuint, GLenum), vaobj, array) + ccall(getprocaddress_e("glDisableVertexArrayEXT"), Cvoid, (GLuint, GLenum), vaobj, array) end function glEnableVertexArrayAttribEXT(vaobj, index) - ccall((:glEnableVertexArrayAttribEXT, libgl), Cvoid, (GLuint, GLuint), vaobj, index) + ccall(getprocaddress_e("glEnableVertexArrayAttribEXT"), Cvoid, (GLuint, GLuint), vaobj, index) end function glDisableVertexArrayAttribEXT(vaobj, index) - ccall((:glDisableVertexArrayAttribEXT, libgl), Cvoid, (GLuint, GLuint), vaobj, index) + ccall(getprocaddress_e("glDisableVertexArrayAttribEXT"), Cvoid, (GLuint, GLuint), vaobj, index) end function glGetVertexArrayIntegervEXT(vaobj, pname, param) - ccall((:glGetVertexArrayIntegervEXT, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), vaobj, pname, param) + ccall(getprocaddress_e("glGetVertexArrayIntegervEXT"), Cvoid, (GLuint, GLenum, Ptr{GLint}), vaobj, pname, param) end function glGetVertexArrayPointervEXT(vaobj, pname, param) - ccall((:glGetVertexArrayPointervEXT, libgl), Cvoid, (GLuint, GLenum, Ptr{Ptr{Cvoid}}), vaobj, pname, param) + ccall(getprocaddress_e("glGetVertexArrayPointervEXT"), Cvoid, (GLuint, GLenum, Ptr{Ptr{Cvoid}}), vaobj, pname, param) end function glGetVertexArrayIntegeri_vEXT(vaobj, index, pname, param) - ccall((:glGetVertexArrayIntegeri_vEXT, libgl), Cvoid, (GLuint, GLuint, GLenum, Ptr{GLint}), vaobj, index, pname, param) + ccall(getprocaddress_e("glGetVertexArrayIntegeri_vEXT"), Cvoid, (GLuint, GLuint, GLenum, Ptr{GLint}), vaobj, index, pname, param) end function glGetVertexArrayPointeri_vEXT(vaobj, index, pname, param) - ccall((:glGetVertexArrayPointeri_vEXT, libgl), Cvoid, (GLuint, GLuint, GLenum, Ptr{Ptr{Cvoid}}), vaobj, index, pname, param) + ccall(getprocaddress_e("glGetVertexArrayPointeri_vEXT"), Cvoid, (GLuint, GLuint, GLenum, Ptr{Ptr{Cvoid}}), vaobj, index, pname, param) end function glMapNamedBufferRangeEXT(buffer, offset, length, access) - ccall((:glMapNamedBufferRangeEXT, libgl), Ptr{Cvoid}, (GLuint, GLintptr, GLsizeiptr, GLbitfield), buffer, offset, length, access) + ccall(getprocaddress_e("glMapNamedBufferRangeEXT"), Ptr{Cvoid}, (GLuint, GLintptr, GLsizeiptr, GLbitfield), buffer, offset, length, access) end function glFlushMappedNamedBufferRangeEXT(buffer, offset, length) - ccall((:glFlushMappedNamedBufferRangeEXT, libgl), Cvoid, (GLuint, GLintptr, GLsizeiptr), buffer, offset, length) + ccall(getprocaddress_e("glFlushMappedNamedBufferRangeEXT"), Cvoid, (GLuint, GLintptr, GLsizeiptr), buffer, offset, length) end function glNamedBufferStorageEXT(buffer, size, data, flags) - ccall((:glNamedBufferStorageEXT, libgl), Cvoid, (GLuint, GLsizeiptr, Ptr{Cvoid}, GLbitfield), buffer, size, data, flags) + ccall(getprocaddress_e("glNamedBufferStorageEXT"), Cvoid, (GLuint, GLsizeiptr, Ptr{Cvoid}, GLbitfield), buffer, size, data, flags) end function glClearNamedBufferDataEXT(buffer, internalformat, format, type, data) - ccall((:glClearNamedBufferDataEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, GLenum, Ptr{Cvoid}), buffer, internalformat, format, type, data) + ccall(getprocaddress_e("glClearNamedBufferDataEXT"), Cvoid, (GLuint, GLenum, GLenum, GLenum, Ptr{Cvoid}), buffer, internalformat, format, type, data) end function glClearNamedBufferSubDataEXT(buffer, internalformat, offset, size, format, type, data) - ccall((:glClearNamedBufferSubDataEXT, libgl), Cvoid, (GLuint, GLenum, GLsizeiptr, GLsizeiptr, GLenum, GLenum, Ptr{Cvoid}), buffer, internalformat, offset, size, format, type, data) + ccall(getprocaddress_e("glClearNamedBufferSubDataEXT"), Cvoid, (GLuint, GLenum, GLsizeiptr, GLsizeiptr, GLenum, GLenum, Ptr{Cvoid}), buffer, internalformat, offset, size, format, type, data) end function glNamedFramebufferParameteriEXT(framebuffer, pname, param) - ccall((:glNamedFramebufferParameteriEXT, libgl), Cvoid, (GLuint, GLenum, GLint), framebuffer, pname, param) + ccall(getprocaddress_e("glNamedFramebufferParameteriEXT"), Cvoid, (GLuint, GLenum, GLint), framebuffer, pname, param) end function glGetNamedFramebufferParameterivEXT(framebuffer, pname, params) - ccall((:glGetNamedFramebufferParameterivEXT, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), framebuffer, pname, params) + ccall(getprocaddress_e("glGetNamedFramebufferParameterivEXT"), Cvoid, (GLuint, GLenum, Ptr{GLint}), framebuffer, pname, params) end function glProgramUniform1dEXT(program, location, x) - ccall((:glProgramUniform1dEXT, libgl), Cvoid, (GLuint, GLint, GLdouble), program, location, x) + ccall(getprocaddress_e("glProgramUniform1dEXT"), Cvoid, (GLuint, GLint, GLdouble), program, location, x) end function glProgramUniform2dEXT(program, location, x, y) - ccall((:glProgramUniform2dEXT, libgl), Cvoid, (GLuint, GLint, GLdouble, GLdouble), program, location, x, y) + ccall(getprocaddress_e("glProgramUniform2dEXT"), Cvoid, (GLuint, GLint, GLdouble, GLdouble), program, location, x, y) end function glProgramUniform3dEXT(program, location, x, y, z) - ccall((:glProgramUniform3dEXT, libgl), Cvoid, (GLuint, GLint, GLdouble, GLdouble, GLdouble), program, location, x, y, z) + ccall(getprocaddress_e("glProgramUniform3dEXT"), Cvoid, (GLuint, GLint, GLdouble, GLdouble, GLdouble), program, location, x, y, z) end function glProgramUniform4dEXT(program, location, x, y, z, w) - ccall((:glProgramUniform4dEXT, libgl), Cvoid, (GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble), program, location, x, y, z, w) + ccall(getprocaddress_e("glProgramUniform4dEXT"), Cvoid, (GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble), program, location, x, y, z, w) end function glProgramUniform1dvEXT(program, location, count, value) - ccall((:glProgramUniform1dvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform1dvEXT"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) end function glProgramUniform2dvEXT(program, location, count, value) - ccall((:glProgramUniform2dvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform2dvEXT"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) end function glProgramUniform3dvEXT(program, location, count, value) - ccall((:glProgramUniform3dvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform3dvEXT"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) end function glProgramUniform4dvEXT(program, location, count, value) - ccall((:glProgramUniform4dvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform4dvEXT"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) end function glProgramUniformMatrix2dvEXT(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix2dvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix2dvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end function glProgramUniformMatrix3dvEXT(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix3dvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix3dvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end function glProgramUniformMatrix4dvEXT(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix4dvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix4dvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end function glProgramUniformMatrix2x3dvEXT(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix2x3dvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix2x3dvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end function glProgramUniformMatrix2x4dvEXT(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix2x4dvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix2x4dvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end function glProgramUniformMatrix3x2dvEXT(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix3x2dvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix3x2dvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end function glProgramUniformMatrix3x4dvEXT(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix3x4dvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix3x4dvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end function glProgramUniformMatrix4x2dvEXT(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix4x2dvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix4x2dvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end function glProgramUniformMatrix4x3dvEXT(program, location, count, transpose, value) - ccall((:glProgramUniformMatrix4x3dvEXT, libgl), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + ccall(getprocaddress_e("glProgramUniformMatrix4x3dvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end function glTextureBufferRangeEXT(texture, target, internalformat, buffer, offset, size) - ccall((:glTextureBufferRangeEXT, libgl), Cvoid, (GLuint, GLenum, GLenum, GLuint, GLintptr, GLsizeiptr), texture, target, internalformat, buffer, offset, size) + ccall(getprocaddress_e("glTextureBufferRangeEXT"), Cvoid, (GLuint, GLenum, GLenum, GLuint, GLintptr, GLsizeiptr), texture, target, internalformat, buffer, offset, size) end function glTextureStorage1DEXT(texture, target, levels, internalformat, width) - ccall((:glTextureStorage1DEXT, libgl), Cvoid, (GLuint, GLenum, GLsizei, GLenum, GLsizei), texture, target, levels, internalformat, width) + ccall(getprocaddress_e("glTextureStorage1DEXT"), Cvoid, (GLuint, GLenum, GLsizei, GLenum, GLsizei), texture, target, levels, internalformat, width) end function glTextureStorage2DEXT(texture, target, levels, internalformat, width, height) - ccall((:glTextureStorage2DEXT, libgl), Cvoid, (GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei), texture, target, levels, internalformat, width, height) + ccall(getprocaddress_e("glTextureStorage2DEXT"), Cvoid, (GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei), texture, target, levels, internalformat, width, height) end function glTextureStorage3DEXT(texture, target, levels, internalformat, width, height, depth) - ccall((:glTextureStorage3DEXT, libgl), Cvoid, (GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei), texture, target, levels, internalformat, width, height, depth) + ccall(getprocaddress_e("glTextureStorage3DEXT"), Cvoid, (GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei), texture, target, levels, internalformat, width, height, depth) end function glTextureStorage2DMultisampleEXT(texture, target, samples, internalformat, width, height, fixedsamplelocations) - ccall((:glTextureStorage2DMultisampleEXT, libgl), Cvoid, (GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean), texture, target, samples, internalformat, width, height, fixedsamplelocations) + ccall(getprocaddress_e("glTextureStorage2DMultisampleEXT"), Cvoid, (GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean), texture, target, samples, internalformat, width, height, fixedsamplelocations) end function glTextureStorage3DMultisampleEXT(texture, target, samples, internalformat, width, height, depth, fixedsamplelocations) - ccall((:glTextureStorage3DMultisampleEXT, libgl), Cvoid, (GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean), texture, target, samples, internalformat, width, height, depth, fixedsamplelocations) + ccall(getprocaddress_e("glTextureStorage3DMultisampleEXT"), Cvoid, (GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean), texture, target, samples, internalformat, width, height, depth, fixedsamplelocations) end function glVertexArrayBindVertexBufferEXT(vaobj, bindingindex, buffer, offset, stride) - ccall((:glVertexArrayBindVertexBufferEXT, libgl), Cvoid, (GLuint, GLuint, GLuint, GLintptr, GLsizei), vaobj, bindingindex, buffer, offset, stride) + ccall(getprocaddress_e("glVertexArrayBindVertexBufferEXT"), Cvoid, (GLuint, GLuint, GLuint, GLintptr, GLsizei), vaobj, bindingindex, buffer, offset, stride) end function glVertexArrayVertexAttribFormatEXT(vaobj, attribindex, size, type, normalized, relativeoffset) - ccall((:glVertexArrayVertexAttribFormatEXT, libgl), Cvoid, (GLuint, GLuint, GLint, GLenum, GLboolean, GLuint), vaobj, attribindex, size, type, normalized, relativeoffset) + ccall(getprocaddress_e("glVertexArrayVertexAttribFormatEXT"), Cvoid, (GLuint, GLuint, GLint, GLenum, GLboolean, GLuint), vaobj, attribindex, size, type, normalized, relativeoffset) end function glVertexArrayVertexAttribIFormatEXT(vaobj, attribindex, size, type, relativeoffset) - ccall((:glVertexArrayVertexAttribIFormatEXT, libgl), Cvoid, (GLuint, GLuint, GLint, GLenum, GLuint), vaobj, attribindex, size, type, relativeoffset) + ccall(getprocaddress_e("glVertexArrayVertexAttribIFormatEXT"), Cvoid, (GLuint, GLuint, GLint, GLenum, GLuint), vaobj, attribindex, size, type, relativeoffset) end function glVertexArrayVertexAttribLFormatEXT(vaobj, attribindex, size, type, relativeoffset) - ccall((:glVertexArrayVertexAttribLFormatEXT, libgl), Cvoid, (GLuint, GLuint, GLint, GLenum, GLuint), vaobj, attribindex, size, type, relativeoffset) + ccall(getprocaddress_e("glVertexArrayVertexAttribLFormatEXT"), Cvoid, (GLuint, GLuint, GLint, GLenum, GLuint), vaobj, attribindex, size, type, relativeoffset) end function glVertexArrayVertexAttribBindingEXT(vaobj, attribindex, bindingindex) - ccall((:glVertexArrayVertexAttribBindingEXT, libgl), Cvoid, (GLuint, GLuint, GLuint), vaobj, attribindex, bindingindex) + ccall(getprocaddress_e("glVertexArrayVertexAttribBindingEXT"), Cvoid, (GLuint, GLuint, GLuint), vaobj, attribindex, bindingindex) end function glVertexArrayVertexBindingDivisorEXT(vaobj, bindingindex, divisor) - ccall((:glVertexArrayVertexBindingDivisorEXT, libgl), Cvoid, (GLuint, GLuint, GLuint), vaobj, bindingindex, divisor) + ccall(getprocaddress_e("glVertexArrayVertexBindingDivisorEXT"), Cvoid, (GLuint, GLuint, GLuint), vaobj, bindingindex, divisor) end function glVertexArrayVertexAttribLOffsetEXT(vaobj, buffer, index, size, type, stride, offset) - ccall((:glVertexArrayVertexAttribLOffsetEXT, libgl), Cvoid, (GLuint, GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, index, size, type, stride, offset) + ccall(getprocaddress_e("glVertexArrayVertexAttribLOffsetEXT"), Cvoid, (GLuint, GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, index, size, type, stride, offset) end function glTexturePageCommitmentEXT(texture, level, xoffset, yoffset, zoffset, width, height, depth, commit) - ccall((:glTexturePageCommitmentEXT, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLboolean), texture, level, xoffset, yoffset, zoffset, width, height, depth, commit) + ccall(getprocaddress_e("glTexturePageCommitmentEXT"), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLboolean), texture, level, xoffset, yoffset, zoffset, width, height, depth, commit) end function glVertexArrayVertexAttribDivisorEXT(vaobj, index, divisor) - ccall((:glVertexArrayVertexAttribDivisorEXT, libgl), Cvoid, (GLuint, GLuint, GLuint), vaobj, index, divisor) + ccall(getprocaddress_e("glVertexArrayVertexAttribDivisorEXT"), Cvoid, (GLuint, GLuint, GLuint), vaobj, index, divisor) end # typedef void ( APIENTRYP PFNGLDRAWARRAYSINSTANCEDEXTPROC ) ( GLenum mode , GLint start , GLsizei count , GLsizei primcount ) @@ -7334,25 +7334,25 @@ const PFNGLDRAWARRAYSINSTANCEDEXTPROC = Ptr{Cvoid} const PFNGLDRAWELEMENTSINSTANCEDEXTPROC = Ptr{Cvoid} function glDrawArraysInstancedEXT(mode, start, count, primcount) - ccall((:glDrawArraysInstancedEXT, libgl), Cvoid, (GLenum, GLint, GLsizei, GLsizei), mode, start, count, primcount) + ccall(getprocaddress_e("glDrawArraysInstancedEXT"), Cvoid, (GLenum, GLint, GLsizei, GLsizei), mode, start, count, primcount) end function glDrawElementsInstancedEXT(mode, count, type, indices, primcount) - ccall((:glDrawElementsInstancedEXT, libgl), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLsizei), mode, count, type, indices, primcount) + ccall(getprocaddress_e("glDrawElementsInstancedEXT"), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLsizei), mode, count, type, indices, primcount) end # typedef void ( APIENTRYP PFNGLPOLYGONOFFSETCLAMPEXTPROC ) ( GLfloat factor , GLfloat units , GLfloat clamp ) const PFNGLPOLYGONOFFSETCLAMPEXTPROC = Ptr{Cvoid} function glPolygonOffsetClampEXT(factor, units, clamp) - ccall((:glPolygonOffsetClampEXT, libgl), Cvoid, (GLfloat, GLfloat, GLfloat), factor, units, clamp) + ccall(getprocaddress_e("glPolygonOffsetClampEXT"), Cvoid, (GLfloat, GLfloat, GLfloat), factor, units, clamp) end # typedef void ( APIENTRYP PFNGLRASTERSAMPLESEXTPROC ) ( GLuint samples , GLboolean fixedsamplelocations ) const PFNGLRASTERSAMPLESEXTPROC = Ptr{Cvoid} function glRasterSamplesEXT(samples, fixedsamplelocations) - ccall((:glRasterSamplesEXT, libgl), Cvoid, (GLuint, GLboolean), samples, fixedsamplelocations) + ccall(getprocaddress_e("glRasterSamplesEXT"), Cvoid, (GLuint, GLboolean), samples, fixedsamplelocations) end # typedef void ( APIENTRYP PFNGLUSESHADERPROGRAMEXTPROC ) ( GLenum type , GLuint program ) @@ -7365,22 +7365,22 @@ const PFNGLACTIVEPROGRAMEXTPROC = Ptr{Cvoid} const PFNGLCREATESHADERPROGRAMEXTPROC = Ptr{Cvoid} function glUseShaderProgramEXT(type, program) - ccall((:glUseShaderProgramEXT, libgl), Cvoid, (GLenum, GLuint), type, program) + ccall(getprocaddress_e("glUseShaderProgramEXT"), Cvoid, (GLenum, GLuint), type, program) end function glActiveProgramEXT(program) - ccall((:glActiveProgramEXT, libgl), Cvoid, (GLuint,), program) + ccall(getprocaddress_e("glActiveProgramEXT"), Cvoid, (GLuint,), program) end function glCreateShaderProgramEXT(type, string) - ccall((:glCreateShaderProgramEXT, libgl), GLuint, (GLenum, Ptr{GLchar}), type, string) + ccall(getprocaddress_e("glCreateShaderProgramEXT"), GLuint, (GLenum, Ptr{GLchar}), type, string) end # typedef void ( APIENTRYP PFNGLFRAMEBUFFERFETCHBARRIEREXTPROC ) ( void ) const PFNGLFRAMEBUFFERFETCHBARRIEREXTPROC = Ptr{Cvoid} function glFramebufferFetchBarrierEXT() - ccall((:glFramebufferFetchBarrierEXT, libgl), Cvoid, ()) + ccall(getprocaddress_e("glFramebufferFetchBarrierEXT"), Cvoid, ()) end # typedef void ( APIENTRYP PFNGLTEXSTORAGE1DEXTPROC ) ( GLenum target , GLsizei levels , GLenum internalformat , GLsizei width ) @@ -7393,29 +7393,29 @@ const PFNGLTEXSTORAGE2DEXTPROC = Ptr{Cvoid} const PFNGLTEXSTORAGE3DEXTPROC = Ptr{Cvoid} function glTexStorage1DEXT(target, levels, internalformat, width) - ccall((:glTexStorage1DEXT, libgl), Cvoid, (GLenum, GLsizei, GLenum, GLsizei), target, levels, internalformat, width) + ccall(getprocaddress_e("glTexStorage1DEXT"), Cvoid, (GLenum, GLsizei, GLenum, GLsizei), target, levels, internalformat, width) end function glTexStorage2DEXT(target, levels, internalformat, width, height) - ccall((:glTexStorage2DEXT, libgl), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei), target, levels, internalformat, width, height) + ccall(getprocaddress_e("glTexStorage2DEXT"), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei), target, levels, internalformat, width, height) end function glTexStorage3DEXT(target, levels, internalformat, width, height, depth) - ccall((:glTexStorage3DEXT, libgl), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei), target, levels, internalformat, width, height, depth) + ccall(getprocaddress_e("glTexStorage3DEXT"), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei), target, levels, internalformat, width, height, depth) end # typedef void ( APIENTRYP PFNGLWINDOWRECTANGLESEXTPROC ) ( GLenum mode , GLsizei count , const GLint * box ) const PFNGLWINDOWRECTANGLESEXTPROC = Ptr{Cvoid} function glWindowRectanglesEXT(mode, count, box) - ccall((:glWindowRectanglesEXT, libgl), Cvoid, (GLenum, GLsizei, Ptr{GLint}), mode, count, box) + ccall(getprocaddress_e("glWindowRectanglesEXT"), Cvoid, (GLenum, GLsizei, Ptr{GLint}), mode, count, box) end # typedef void ( APIENTRYP PFNGLAPPLYFRAMEBUFFERATTACHMENTCMAAINTELPROC ) ( void ) const PFNGLAPPLYFRAMEBUFFERATTACHMENTCMAAINTELPROC = Ptr{Cvoid} function glApplyFramebufferAttachmentCMAAINTEL() - ccall((:glApplyFramebufferAttachmentCMAAINTEL, libgl), Cvoid, ()) + ccall(getprocaddress_e("glApplyFramebufferAttachmentCMAAINTEL"), Cvoid, ()) end # typedef void ( APIENTRYP PFNGLBEGINPERFQUERYINTELPROC ) ( GLuint queryHandle ) @@ -7449,43 +7449,43 @@ const PFNGLGETPERFQUERYIDBYNAMEINTELPROC = Ptr{Cvoid} const PFNGLGETPERFQUERYINFOINTELPROC = Ptr{Cvoid} function glBeginPerfQueryINTEL(queryHandle) - ccall((:glBeginPerfQueryINTEL, libgl), Cvoid, (GLuint,), queryHandle) + ccall(getprocaddress_e("glBeginPerfQueryINTEL"), Cvoid, (GLuint,), queryHandle) end function glCreatePerfQueryINTEL(queryId, queryHandle) - ccall((:glCreatePerfQueryINTEL, libgl), Cvoid, (GLuint, Ptr{GLuint}), queryId, queryHandle) + ccall(getprocaddress_e("glCreatePerfQueryINTEL"), Cvoid, (GLuint, Ptr{GLuint}), queryId, queryHandle) end function glDeletePerfQueryINTEL(queryHandle) - ccall((:glDeletePerfQueryINTEL, libgl), Cvoid, (GLuint,), queryHandle) + ccall(getprocaddress_e("glDeletePerfQueryINTEL"), Cvoid, (GLuint,), queryHandle) end function glEndPerfQueryINTEL(queryHandle) - ccall((:glEndPerfQueryINTEL, libgl), Cvoid, (GLuint,), queryHandle) + ccall(getprocaddress_e("glEndPerfQueryINTEL"), Cvoid, (GLuint,), queryHandle) end function glGetFirstPerfQueryIdINTEL(queryId) - ccall((:glGetFirstPerfQueryIdINTEL, libgl), Cvoid, (Ptr{GLuint},), queryId) + ccall(getprocaddress_e("glGetFirstPerfQueryIdINTEL"), Cvoid, (Ptr{GLuint},), queryId) end function glGetNextPerfQueryIdINTEL(queryId, nextQueryId) - ccall((:glGetNextPerfQueryIdINTEL, libgl), Cvoid, (GLuint, Ptr{GLuint}), queryId, nextQueryId) + ccall(getprocaddress_e("glGetNextPerfQueryIdINTEL"), Cvoid, (GLuint, Ptr{GLuint}), queryId, nextQueryId) end function glGetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue) - ccall((:glGetPerfCounterInfoINTEL, libgl), Cvoid, (GLuint, GLuint, GLuint, Ptr{GLchar}, GLuint, Ptr{GLchar}, Ptr{GLuint}, Ptr{GLuint}, Ptr{GLuint}, Ptr{GLuint}, Ptr{GLuint64}), queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue) + ccall(getprocaddress_e("glGetPerfCounterInfoINTEL"), Cvoid, (GLuint, GLuint, GLuint, Ptr{GLchar}, GLuint, Ptr{GLchar}, Ptr{GLuint}, Ptr{GLuint}, Ptr{GLuint}, Ptr{GLuint}, Ptr{GLuint64}), queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue) end function glGetPerfQueryDataINTEL(queryHandle, flags, dataSize, data, bytesWritten) - ccall((:glGetPerfQueryDataINTEL, libgl), Cvoid, (GLuint, GLuint, GLsizei, Ptr{Cvoid}, Ptr{GLuint}), queryHandle, flags, dataSize, data, bytesWritten) + ccall(getprocaddress_e("glGetPerfQueryDataINTEL"), Cvoid, (GLuint, GLuint, GLsizei, Ptr{Cvoid}, Ptr{GLuint}), queryHandle, flags, dataSize, data, bytesWritten) end function glGetPerfQueryIdByNameINTEL(queryName, queryId) - ccall((:glGetPerfQueryIdByNameINTEL, libgl), Cvoid, (Ptr{GLchar}, Ptr{GLuint}), queryName, queryId) + ccall(getprocaddress_e("glGetPerfQueryIdByNameINTEL"), Cvoid, (Ptr{GLchar}, Ptr{GLuint}), queryName, queryId) end function glGetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, noCounters, noInstances, capsMask) - ccall((:glGetPerfQueryInfoINTEL, libgl), Cvoid, (GLuint, GLuint, Ptr{GLchar}, Ptr{GLuint}, Ptr{GLuint}, Ptr{GLuint}, Ptr{GLuint}), queryId, queryNameLength, queryName, dataSize, noCounters, noInstances, capsMask) + ccall(getprocaddress_e("glGetPerfQueryInfoINTEL"), Cvoid, (GLuint, GLuint, Ptr{GLchar}, Ptr{GLuint}, Ptr{GLuint}, Ptr{GLuint}, Ptr{GLuint}), queryId, queryNameLength, queryName, dataSize, noCounters, noInstances, capsMask) end # typedef void ( APIENTRYP PFNGLFRAMEBUFFERPARAMETERIMESAPROC ) ( GLenum target , GLenum pname , GLint param ) @@ -7495,11 +7495,11 @@ const PFNGLFRAMEBUFFERPARAMETERIMESAPROC = Ptr{Cvoid} const PFNGLGETFRAMEBUFFERPARAMETERIVMESAPROC = Ptr{Cvoid} function glFramebufferParameteriMESA(target, pname, param) - ccall((:glFramebufferParameteriMESA, libgl), Cvoid, (GLenum, GLenum, GLint), target, pname, param) + ccall(getprocaddress_e("glFramebufferParameteriMESA"), Cvoid, (GLenum, GLenum, GLint), target, pname, param) end function glGetFramebufferParameterivMESA(target, pname, params) - ccall((:glGetFramebufferParameterivMESA, libgl), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) + ccall(getprocaddress_e("glGetFramebufferParameterivMESA"), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) end # typedef void ( APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC ) ( GLenum mode , const void * indirect , GLsizei drawCount , GLsizei stride , GLint vertexBufferCount ) @@ -7509,11 +7509,11 @@ const PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC = Ptr{Cvoid} const PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC = Ptr{Cvoid} function glMultiDrawArraysIndirectBindlessNV(mode, indirect, drawCount, stride, vertexBufferCount) - ccall((:glMultiDrawArraysIndirectBindlessNV, libgl), Cvoid, (GLenum, Ptr{Cvoid}, GLsizei, GLsizei, GLint), mode, indirect, drawCount, stride, vertexBufferCount) + ccall(getprocaddress_e("glMultiDrawArraysIndirectBindlessNV"), Cvoid, (GLenum, Ptr{Cvoid}, GLsizei, GLsizei, GLint), mode, indirect, drawCount, stride, vertexBufferCount) end function glMultiDrawElementsIndirectBindlessNV(mode, type, indirect, drawCount, stride, vertexBufferCount) - ccall((:glMultiDrawElementsIndirectBindlessNV, libgl), Cvoid, (GLenum, GLenum, Ptr{Cvoid}, GLsizei, GLsizei, GLint), mode, type, indirect, drawCount, stride, vertexBufferCount) + ccall(getprocaddress_e("glMultiDrawElementsIndirectBindlessNV"), Cvoid, (GLenum, GLenum, Ptr{Cvoid}, GLsizei, GLsizei, GLint), mode, type, indirect, drawCount, stride, vertexBufferCount) end # typedef void ( APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSCOUNTNVPROC ) ( GLenum mode , const void * indirect , GLsizei drawCount , GLsizei maxDrawCount , GLsizei stride , GLint vertexBufferCount ) @@ -7523,11 +7523,11 @@ const PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSCOUNTNVPROC = Ptr{Cvoid} const PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSCOUNTNVPROC = Ptr{Cvoid} function glMultiDrawArraysIndirectBindlessCountNV(mode, indirect, drawCount, maxDrawCount, stride, vertexBufferCount) - ccall((:glMultiDrawArraysIndirectBindlessCountNV, libgl), Cvoid, (GLenum, Ptr{Cvoid}, GLsizei, GLsizei, GLsizei, GLint), mode, indirect, drawCount, maxDrawCount, stride, vertexBufferCount) + ccall(getprocaddress_e("glMultiDrawArraysIndirectBindlessCountNV"), Cvoid, (GLenum, Ptr{Cvoid}, GLsizei, GLsizei, GLsizei, GLint), mode, indirect, drawCount, maxDrawCount, stride, vertexBufferCount) end function glMultiDrawElementsIndirectBindlessCountNV(mode, type, indirect, drawCount, maxDrawCount, stride, vertexBufferCount) - ccall((:glMultiDrawElementsIndirectBindlessCountNV, libgl), Cvoid, (GLenum, GLenum, Ptr{Cvoid}, GLsizei, GLsizei, GLsizei, GLint), mode, type, indirect, drawCount, maxDrawCount, stride, vertexBufferCount) + ccall(getprocaddress_e("glMultiDrawElementsIndirectBindlessCountNV"), Cvoid, (GLenum, GLenum, Ptr{Cvoid}, GLsizei, GLsizei, GLsizei, GLint), mode, type, indirect, drawCount, maxDrawCount, stride, vertexBufferCount) end # typedef GLuint64 ( APIENTRYP PFNGLGETTEXTUREHANDLENVPROC ) ( GLuint texture ) @@ -7570,55 +7570,55 @@ const PFNGLISTEXTUREHANDLERESIDENTNVPROC = Ptr{Cvoid} const PFNGLISIMAGEHANDLERESIDENTNVPROC = Ptr{Cvoid} function glGetTextureHandleNV(texture) - ccall((:glGetTextureHandleNV, libgl), GLuint64, (GLuint,), texture) + ccall(getprocaddress_e("glGetTextureHandleNV"), GLuint64, (GLuint,), texture) end function glGetTextureSamplerHandleNV(texture, sampler) - ccall((:glGetTextureSamplerHandleNV, libgl), GLuint64, (GLuint, GLuint), texture, sampler) + ccall(getprocaddress_e("glGetTextureSamplerHandleNV"), GLuint64, (GLuint, GLuint), texture, sampler) end function glMakeTextureHandleResidentNV(handle) - ccall((:glMakeTextureHandleResidentNV, libgl), Cvoid, (GLuint64,), handle) + ccall(getprocaddress_e("glMakeTextureHandleResidentNV"), Cvoid, (GLuint64,), handle) end function glMakeTextureHandleNonResidentNV(handle) - ccall((:glMakeTextureHandleNonResidentNV, libgl), Cvoid, (GLuint64,), handle) + ccall(getprocaddress_e("glMakeTextureHandleNonResidentNV"), Cvoid, (GLuint64,), handle) end function glGetImageHandleNV(texture, level, layered, layer, format) - ccall((:glGetImageHandleNV, libgl), GLuint64, (GLuint, GLint, GLboolean, GLint, GLenum), texture, level, layered, layer, format) + ccall(getprocaddress_e("glGetImageHandleNV"), GLuint64, (GLuint, GLint, GLboolean, GLint, GLenum), texture, level, layered, layer, format) end function glMakeImageHandleResidentNV(handle, access) - ccall((:glMakeImageHandleResidentNV, libgl), Cvoid, (GLuint64, GLenum), handle, access) + ccall(getprocaddress_e("glMakeImageHandleResidentNV"), Cvoid, (GLuint64, GLenum), handle, access) end function glMakeImageHandleNonResidentNV(handle) - ccall((:glMakeImageHandleNonResidentNV, libgl), Cvoid, (GLuint64,), handle) + ccall(getprocaddress_e("glMakeImageHandleNonResidentNV"), Cvoid, (GLuint64,), handle) end function glUniformHandleui64NV(location, value) - ccall((:glUniformHandleui64NV, libgl), Cvoid, (GLint, GLuint64), location, value) + ccall(getprocaddress_e("glUniformHandleui64NV"), Cvoid, (GLint, GLuint64), location, value) end function glUniformHandleui64vNV(location, count, value) - ccall((:glUniformHandleui64vNV, libgl), Cvoid, (GLint, GLsizei, Ptr{GLuint64}), location, count, value) + ccall(getprocaddress_e("glUniformHandleui64vNV"), Cvoid, (GLint, GLsizei, Ptr{GLuint64}), location, count, value) end function glProgramUniformHandleui64NV(program, location, value) - ccall((:glProgramUniformHandleui64NV, libgl), Cvoid, (GLuint, GLint, GLuint64), program, location, value) + ccall(getprocaddress_e("glProgramUniformHandleui64NV"), Cvoid, (GLuint, GLint, GLuint64), program, location, value) end function glProgramUniformHandleui64vNV(program, location, count, values) - ccall((:glProgramUniformHandleui64vNV, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, count, values) + ccall(getprocaddress_e("glProgramUniformHandleui64vNV"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, count, values) end function glIsTextureHandleResidentNV(handle) - ccall((:glIsTextureHandleResidentNV, libgl), GLboolean, (GLuint64,), handle) + ccall(getprocaddress_e("glIsTextureHandleResidentNV"), GLboolean, (GLuint64,), handle) end function glIsImageHandleResidentNV(handle) - ccall((:glIsImageHandleResidentNV, libgl), GLboolean, (GLuint64,), handle) + ccall(getprocaddress_e("glIsImageHandleResidentNV"), GLboolean, (GLuint64,), handle) end # typedef void ( APIENTRYP PFNGLBLENDPARAMETERINVPROC ) ( GLenum pname , GLint value ) @@ -7628,18 +7628,18 @@ const PFNGLBLENDPARAMETERINVPROC = Ptr{Cvoid} const PFNGLBLENDBARRIERNVPROC = Ptr{Cvoid} function glBlendParameteriNV(pname, value) - ccall((:glBlendParameteriNV, libgl), Cvoid, (GLenum, GLint), pname, value) + ccall(getprocaddress_e("glBlendParameteriNV"), Cvoid, (GLenum, GLint), pname, value) end function glBlendBarrierNV() - ccall((:glBlendBarrierNV, libgl), Cvoid, ()) + ccall(getprocaddress_e("glBlendBarrierNV"), Cvoid, ()) end # typedef void ( APIENTRYP PFNGLVIEWPORTPOSITIONWSCALENVPROC ) ( GLuint index , GLfloat xcoeff , GLfloat ycoeff ) const PFNGLVIEWPORTPOSITIONWSCALENVPROC = Ptr{Cvoid} function glViewportPositionWScaleNV(index, xcoeff, ycoeff) - ccall((:glViewportPositionWScaleNV, libgl), Cvoid, (GLuint, GLfloat, GLfloat), index, xcoeff, ycoeff) + ccall(getprocaddress_e("glViewportPositionWScaleNV"), Cvoid, (GLuint, GLfloat, GLfloat), index, xcoeff, ycoeff) end # typedef void ( APIENTRYP PFNGLCREATESTATESNVPROC ) ( GLsizei n , GLuint * states ) @@ -7694,71 +7694,71 @@ const PFNGLCOMPILECOMMANDLISTNVPROC = Ptr{Cvoid} const PFNGLCALLCOMMANDLISTNVPROC = Ptr{Cvoid} function glCreateStatesNV(n, states) - ccall((:glCreateStatesNV, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, states) + ccall(getprocaddress_e("glCreateStatesNV"), Cvoid, (GLsizei, Ptr{GLuint}), n, states) end function glDeleteStatesNV(n, states) - ccall((:glDeleteStatesNV, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, states) + ccall(getprocaddress_e("glDeleteStatesNV"), Cvoid, (GLsizei, Ptr{GLuint}), n, states) end function glIsStateNV(state) - ccall((:glIsStateNV, libgl), GLboolean, (GLuint,), state) + ccall(getprocaddress_e("glIsStateNV"), GLboolean, (GLuint,), state) end function glStateCaptureNV(state, mode) - ccall((:glStateCaptureNV, libgl), Cvoid, (GLuint, GLenum), state, mode) + ccall(getprocaddress_e("glStateCaptureNV"), Cvoid, (GLuint, GLenum), state, mode) end function glGetCommandHeaderNV(tokenID, size) - ccall((:glGetCommandHeaderNV, libgl), GLuint, (GLenum, GLuint), tokenID, size) + ccall(getprocaddress_e("glGetCommandHeaderNV"), GLuint, (GLenum, GLuint), tokenID, size) end function glGetStageIndexNV(shadertype) - ccall((:glGetStageIndexNV, libgl), GLushort, (GLenum,), shadertype) + ccall(getprocaddress_e("glGetStageIndexNV"), GLushort, (GLenum,), shadertype) end function glDrawCommandsNV(primitiveMode, buffer, indirects, sizes, count) - ccall((:glDrawCommandsNV, libgl), Cvoid, (GLenum, GLuint, Ptr{GLintptr}, Ptr{GLsizei}, GLuint), primitiveMode, buffer, indirects, sizes, count) + ccall(getprocaddress_e("glDrawCommandsNV"), Cvoid, (GLenum, GLuint, Ptr{GLintptr}, Ptr{GLsizei}, GLuint), primitiveMode, buffer, indirects, sizes, count) end function glDrawCommandsAddressNV(primitiveMode, indirects, sizes, count) - ccall((:glDrawCommandsAddressNV, libgl), Cvoid, (GLenum, Ptr{GLuint64}, Ptr{GLsizei}, GLuint), primitiveMode, indirects, sizes, count) + ccall(getprocaddress_e("glDrawCommandsAddressNV"), Cvoid, (GLenum, Ptr{GLuint64}, Ptr{GLsizei}, GLuint), primitiveMode, indirects, sizes, count) end function glDrawCommandsStatesNV(buffer, indirects, sizes, states, fbos, count) - ccall((:glDrawCommandsStatesNV, libgl), Cvoid, (GLuint, Ptr{GLintptr}, Ptr{GLsizei}, Ptr{GLuint}, Ptr{GLuint}, GLuint), buffer, indirects, sizes, states, fbos, count) + ccall(getprocaddress_e("glDrawCommandsStatesNV"), Cvoid, (GLuint, Ptr{GLintptr}, Ptr{GLsizei}, Ptr{GLuint}, Ptr{GLuint}, GLuint), buffer, indirects, sizes, states, fbos, count) end function glDrawCommandsStatesAddressNV(indirects, sizes, states, fbos, count) - ccall((:glDrawCommandsStatesAddressNV, libgl), Cvoid, (Ptr{GLuint64}, Ptr{GLsizei}, Ptr{GLuint}, Ptr{GLuint}, GLuint), indirects, sizes, states, fbos, count) + ccall(getprocaddress_e("glDrawCommandsStatesAddressNV"), Cvoid, (Ptr{GLuint64}, Ptr{GLsizei}, Ptr{GLuint}, Ptr{GLuint}, GLuint), indirects, sizes, states, fbos, count) end function glCreateCommandListsNV(n, lists) - ccall((:glCreateCommandListsNV, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, lists) + ccall(getprocaddress_e("glCreateCommandListsNV"), Cvoid, (GLsizei, Ptr{GLuint}), n, lists) end function glDeleteCommandListsNV(n, lists) - ccall((:glDeleteCommandListsNV, libgl), Cvoid, (GLsizei, Ptr{GLuint}), n, lists) + ccall(getprocaddress_e("glDeleteCommandListsNV"), Cvoid, (GLsizei, Ptr{GLuint}), n, lists) end function glIsCommandListNV(list) - ccall((:glIsCommandListNV, libgl), GLboolean, (GLuint,), list) + ccall(getprocaddress_e("glIsCommandListNV"), GLboolean, (GLuint,), list) end function glListDrawCommandsStatesClientNV(list, segment, indirects, sizes, states, fbos, count) - ccall((:glListDrawCommandsStatesClientNV, libgl), Cvoid, (GLuint, GLuint, Ptr{Ptr{Cvoid}}, Ptr{GLsizei}, Ptr{GLuint}, Ptr{GLuint}, GLuint), list, segment, indirects, sizes, states, fbos, count) + ccall(getprocaddress_e("glListDrawCommandsStatesClientNV"), Cvoid, (GLuint, GLuint, Ptr{Ptr{Cvoid}}, Ptr{GLsizei}, Ptr{GLuint}, Ptr{GLuint}, GLuint), list, segment, indirects, sizes, states, fbos, count) end function glCommandListSegmentsNV(list, segments) - ccall((:glCommandListSegmentsNV, libgl), Cvoid, (GLuint, GLuint), list, segments) + ccall(getprocaddress_e("glCommandListSegmentsNV"), Cvoid, (GLuint, GLuint), list, segments) end function glCompileCommandListNV(list) - ccall((:glCompileCommandListNV, libgl), Cvoid, (GLuint,), list) + ccall(getprocaddress_e("glCompileCommandListNV"), Cvoid, (GLuint,), list) end function glCallCommandListNV(list) - ccall((:glCallCommandListNV, libgl), Cvoid, (GLuint,), list) + ccall(getprocaddress_e("glCallCommandListNV"), Cvoid, (GLuint,), list) end # typedef void ( APIENTRYP PFNGLBEGINCONDITIONALRENDERNVPROC ) ( GLuint id , GLenum mode ) @@ -7768,32 +7768,32 @@ const PFNGLBEGINCONDITIONALRENDERNVPROC = Ptr{Cvoid} const PFNGLENDCONDITIONALRENDERNVPROC = Ptr{Cvoid} function glBeginConditionalRenderNV(id, mode) - ccall((:glBeginConditionalRenderNV, libgl), Cvoid, (GLuint, GLenum), id, mode) + ccall(getprocaddress_e("glBeginConditionalRenderNV"), Cvoid, (GLuint, GLenum), id, mode) end function glEndConditionalRenderNV() - ccall((:glEndConditionalRenderNV, libgl), Cvoid, ()) + ccall(getprocaddress_e("glEndConditionalRenderNV"), Cvoid, ()) end # typedef void ( APIENTRYP PFNGLSUBPIXELPRECISIONBIASNVPROC ) ( GLuint xbits , GLuint ybits ) const PFNGLSUBPIXELPRECISIONBIASNVPROC = Ptr{Cvoid} function glSubpixelPrecisionBiasNV(xbits, ybits) - ccall((:glSubpixelPrecisionBiasNV, libgl), Cvoid, (GLuint, GLuint), xbits, ybits) + ccall(getprocaddress_e("glSubpixelPrecisionBiasNV"), Cvoid, (GLuint, GLuint), xbits, ybits) end # typedef void ( APIENTRYP PFNGLCONSERVATIVERASTERPARAMETERFNVPROC ) ( GLenum pname , GLfloat value ) const PFNGLCONSERVATIVERASTERPARAMETERFNVPROC = Ptr{Cvoid} function glConservativeRasterParameterfNV(pname, value) - ccall((:glConservativeRasterParameterfNV, libgl), Cvoid, (GLenum, GLfloat), pname, value) + ccall(getprocaddress_e("glConservativeRasterParameterfNV"), Cvoid, (GLenum, GLfloat), pname, value) end # typedef void ( APIENTRYP PFNGLCONSERVATIVERASTERPARAMETERINVPROC ) ( GLenum pname , GLint param ) const PFNGLCONSERVATIVERASTERPARAMETERINVPROC = Ptr{Cvoid} function glConservativeRasterParameteriNV(pname, param) - ccall((:glConservativeRasterParameteriNV, libgl), Cvoid, (GLenum, GLint), pname, param) + ccall(getprocaddress_e("glConservativeRasterParameteriNV"), Cvoid, (GLenum, GLint), pname, param) end # typedef void ( APIENTRYP PFNGLDEPTHRANGEDNVPROC ) ( GLdouble zNear , GLdouble zFar ) @@ -7806,15 +7806,15 @@ const PFNGLCLEARDEPTHDNVPROC = Ptr{Cvoid} const PFNGLDEPTHBOUNDSDNVPROC = Ptr{Cvoid} function glDepthRangedNV(zNear, zFar) - ccall((:glDepthRangedNV, libgl), Cvoid, (GLdouble, GLdouble), zNear, zFar) + ccall(getprocaddress_e("glDepthRangedNV"), Cvoid, (GLdouble, GLdouble), zNear, zFar) end function glClearDepthdNV(depth) - ccall((:glClearDepthdNV, libgl), Cvoid, (GLdouble,), depth) + ccall(getprocaddress_e("glClearDepthdNV"), Cvoid, (GLdouble,), depth) end function glDepthBoundsdNV(zmin, zmax) - ccall((:glDepthBoundsdNV, libgl), Cvoid, (GLdouble, GLdouble), zmin, zmax) + ccall(getprocaddress_e("glDepthBoundsdNV"), Cvoid, (GLdouble, GLdouble), zmin, zmax) end # typedef void ( APIENTRY * GLVULKANPROCNV ) ( void ) @@ -7836,30 +7836,30 @@ const PFNGLSIGNALVKSEMAPHORENVPROC = Ptr{Cvoid} const PFNGLSIGNALVKFENCENVPROC = Ptr{Cvoid} function glDrawVkImageNV(vkImage, sampler, x0, y0, x1, y1, z, s0, t0, s1, t1) - ccall((:glDrawVkImageNV, libgl), Cvoid, (GLuint64, GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat), vkImage, sampler, x0, y0, x1, y1, z, s0, t0, s1, t1) + ccall(getprocaddress_e("glDrawVkImageNV"), Cvoid, (GLuint64, GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat), vkImage, sampler, x0, y0, x1, y1, z, s0, t0, s1, t1) end function glGetVkProcAddrNV(name) - ccall((:glGetVkProcAddrNV, libgl), GLVULKANPROCNV, (Ptr{GLchar},), name) + ccall(getprocaddress_e("glGetVkProcAddrNV"), GLVULKANPROCNV, (Ptr{GLchar},), name) end function glWaitVkSemaphoreNV(vkSemaphore) - ccall((:glWaitVkSemaphoreNV, libgl), Cvoid, (GLuint64,), vkSemaphore) + ccall(getprocaddress_e("glWaitVkSemaphoreNV"), Cvoid, (GLuint64,), vkSemaphore) end function glSignalVkSemaphoreNV(vkSemaphore) - ccall((:glSignalVkSemaphoreNV, libgl), Cvoid, (GLuint64,), vkSemaphore) + ccall(getprocaddress_e("glSignalVkSemaphoreNV"), Cvoid, (GLuint64,), vkSemaphore) end function glSignalVkFenceNV(vkFence) - ccall((:glSignalVkFenceNV, libgl), Cvoid, (GLuint64,), vkFence) + ccall(getprocaddress_e("glSignalVkFenceNV"), Cvoid, (GLuint64,), vkFence) end # typedef void ( APIENTRYP PFNGLFRAGMENTCOVERAGECOLORNVPROC ) ( GLuint color ) const PFNGLFRAGMENTCOVERAGECOLORNVPROC = Ptr{Cvoid} function glFragmentCoverageColorNV(color) - ccall((:glFragmentCoverageColorNV, libgl), Cvoid, (GLuint,), color) + ccall(getprocaddress_e("glFragmentCoverageColorNV"), Cvoid, (GLuint,), color) end # typedef void ( APIENTRYP PFNGLCOVERAGEMODULATIONTABLENVPROC ) ( GLsizei n , const GLfloat * v ) @@ -7872,22 +7872,22 @@ const PFNGLGETCOVERAGEMODULATIONTABLENVPROC = Ptr{Cvoid} const PFNGLCOVERAGEMODULATIONNVPROC = Ptr{Cvoid} function glCoverageModulationTableNV(n, v) - ccall((:glCoverageModulationTableNV, libgl), Cvoid, (GLsizei, Ptr{GLfloat}), n, v) + ccall(getprocaddress_e("glCoverageModulationTableNV"), Cvoid, (GLsizei, Ptr{GLfloat}), n, v) end function glGetCoverageModulationTableNV(bufSize, v) - ccall((:glGetCoverageModulationTableNV, libgl), Cvoid, (GLsizei, Ptr{GLfloat}), bufSize, v) + ccall(getprocaddress_e("glGetCoverageModulationTableNV"), Cvoid, (GLsizei, Ptr{GLfloat}), bufSize, v) end function glCoverageModulationNV(components) - ccall((:glCoverageModulationNV, libgl), Cvoid, (GLenum,), components) + ccall(getprocaddress_e("glCoverageModulationNV"), Cvoid, (GLenum,), components) end # typedef void ( APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC ) ( GLenum target , GLsizei coverageSamples , GLsizei colorSamples , GLenum internalformat , GLsizei width , GLsizei height ) const PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC = Ptr{Cvoid} function glRenderbufferStorageMultisampleCoverageNV(target, coverageSamples, colorSamples, internalformat, width, height) - ccall((:glRenderbufferStorageMultisampleCoverageNV, libgl), Cvoid, (GLenum, GLsizei, GLsizei, GLenum, GLsizei, GLsizei), target, coverageSamples, colorSamples, internalformat, width, height) + ccall(getprocaddress_e("glRenderbufferStorageMultisampleCoverageNV"), Cvoid, (GLenum, GLsizei, GLsizei, GLenum, GLsizei, GLsizei), target, coverageSamples, colorSamples, internalformat, width, height) end const GLint64EXT = khronos_int64_t @@ -7992,142 +7992,142 @@ const PFNGLPROGRAMUNIFORM3UI64VNVPROC = Ptr{Cvoid} const PFNGLPROGRAMUNIFORM4UI64VNVPROC = Ptr{Cvoid} function glUniform1i64NV(location, x) - ccall((:glUniform1i64NV, libgl), Cvoid, (GLint, GLint64EXT), location, x) + ccall(getprocaddress_e("glUniform1i64NV"), Cvoid, (GLint, GLint64EXT), location, x) end function glUniform2i64NV(location, x, y) - ccall((:glUniform2i64NV, libgl), Cvoid, (GLint, GLint64EXT, GLint64EXT), location, x, y) + ccall(getprocaddress_e("glUniform2i64NV"), Cvoid, (GLint, GLint64EXT, GLint64EXT), location, x, y) end function glUniform3i64NV(location, x, y, z) - ccall((:glUniform3i64NV, libgl), Cvoid, (GLint, GLint64EXT, GLint64EXT, GLint64EXT), location, x, y, z) + ccall(getprocaddress_e("glUniform3i64NV"), Cvoid, (GLint, GLint64EXT, GLint64EXT, GLint64EXT), location, x, y, z) end function glUniform4i64NV(location, x, y, z, w) - ccall((:glUniform4i64NV, libgl), Cvoid, (GLint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT), location, x, y, z, w) + ccall(getprocaddress_e("glUniform4i64NV"), Cvoid, (GLint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT), location, x, y, z, w) end function glUniform1i64vNV(location, count, value) - ccall((:glUniform1i64vNV, libgl), Cvoid, (GLint, GLsizei, Ptr{GLint64EXT}), location, count, value) + ccall(getprocaddress_e("glUniform1i64vNV"), Cvoid, (GLint, GLsizei, Ptr{GLint64EXT}), location, count, value) end function glUniform2i64vNV(location, count, value) - ccall((:glUniform2i64vNV, libgl), Cvoid, (GLint, GLsizei, Ptr{GLint64EXT}), location, count, value) + ccall(getprocaddress_e("glUniform2i64vNV"), Cvoid, (GLint, GLsizei, Ptr{GLint64EXT}), location, count, value) end function glUniform3i64vNV(location, count, value) - ccall((:glUniform3i64vNV, libgl), Cvoid, (GLint, GLsizei, Ptr{GLint64EXT}), location, count, value) + ccall(getprocaddress_e("glUniform3i64vNV"), Cvoid, (GLint, GLsizei, Ptr{GLint64EXT}), location, count, value) end function glUniform4i64vNV(location, count, value) - ccall((:glUniform4i64vNV, libgl), Cvoid, (GLint, GLsizei, Ptr{GLint64EXT}), location, count, value) + ccall(getprocaddress_e("glUniform4i64vNV"), Cvoid, (GLint, GLsizei, Ptr{GLint64EXT}), location, count, value) end function glUniform1ui64NV(location, x) - ccall((:glUniform1ui64NV, libgl), Cvoid, (GLint, GLuint64EXT), location, x) + ccall(getprocaddress_e("glUniform1ui64NV"), Cvoid, (GLint, GLuint64EXT), location, x) end function glUniform2ui64NV(location, x, y) - ccall((:glUniform2ui64NV, libgl), Cvoid, (GLint, GLuint64EXT, GLuint64EXT), location, x, y) + ccall(getprocaddress_e("glUniform2ui64NV"), Cvoid, (GLint, GLuint64EXT, GLuint64EXT), location, x, y) end function glUniform3ui64NV(location, x, y, z) - ccall((:glUniform3ui64NV, libgl), Cvoid, (GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT), location, x, y, z) + ccall(getprocaddress_e("glUniform3ui64NV"), Cvoid, (GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT), location, x, y, z) end function glUniform4ui64NV(location, x, y, z, w) - ccall((:glUniform4ui64NV, libgl), Cvoid, (GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT), location, x, y, z, w) + ccall(getprocaddress_e("glUniform4ui64NV"), Cvoid, (GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT), location, x, y, z, w) end function glUniform1ui64vNV(location, count, value) - ccall((:glUniform1ui64vNV, libgl), Cvoid, (GLint, GLsizei, Ptr{GLuint64EXT}), location, count, value) + ccall(getprocaddress_e("glUniform1ui64vNV"), Cvoid, (GLint, GLsizei, Ptr{GLuint64EXT}), location, count, value) end function glUniform2ui64vNV(location, count, value) - ccall((:glUniform2ui64vNV, libgl), Cvoid, (GLint, GLsizei, Ptr{GLuint64EXT}), location, count, value) + ccall(getprocaddress_e("glUniform2ui64vNV"), Cvoid, (GLint, GLsizei, Ptr{GLuint64EXT}), location, count, value) end function glUniform3ui64vNV(location, count, value) - ccall((:glUniform3ui64vNV, libgl), Cvoid, (GLint, GLsizei, Ptr{GLuint64EXT}), location, count, value) + ccall(getprocaddress_e("glUniform3ui64vNV"), Cvoid, (GLint, GLsizei, Ptr{GLuint64EXT}), location, count, value) end function glUniform4ui64vNV(location, count, value) - ccall((:glUniform4ui64vNV, libgl), Cvoid, (GLint, GLsizei, Ptr{GLuint64EXT}), location, count, value) + ccall(getprocaddress_e("glUniform4ui64vNV"), Cvoid, (GLint, GLsizei, Ptr{GLuint64EXT}), location, count, value) end function glGetUniformi64vNV(program, location, params) - ccall((:glGetUniformi64vNV, libgl), Cvoid, (GLuint, GLint, Ptr{GLint64EXT}), program, location, params) + ccall(getprocaddress_e("glGetUniformi64vNV"), Cvoid, (GLuint, GLint, Ptr{GLint64EXT}), program, location, params) end function glProgramUniform1i64NV(program, location, x) - ccall((:glProgramUniform1i64NV, libgl), Cvoid, (GLuint, GLint, GLint64EXT), program, location, x) + ccall(getprocaddress_e("glProgramUniform1i64NV"), Cvoid, (GLuint, GLint, GLint64EXT), program, location, x) end function glProgramUniform2i64NV(program, location, x, y) - ccall((:glProgramUniform2i64NV, libgl), Cvoid, (GLuint, GLint, GLint64EXT, GLint64EXT), program, location, x, y) + ccall(getprocaddress_e("glProgramUniform2i64NV"), Cvoid, (GLuint, GLint, GLint64EXT, GLint64EXT), program, location, x, y) end function glProgramUniform3i64NV(program, location, x, y, z) - ccall((:glProgramUniform3i64NV, libgl), Cvoid, (GLuint, GLint, GLint64EXT, GLint64EXT, GLint64EXT), program, location, x, y, z) + ccall(getprocaddress_e("glProgramUniform3i64NV"), Cvoid, (GLuint, GLint, GLint64EXT, GLint64EXT, GLint64EXT), program, location, x, y, z) end function glProgramUniform4i64NV(program, location, x, y, z, w) - ccall((:glProgramUniform4i64NV, libgl), Cvoid, (GLuint, GLint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT), program, location, x, y, z, w) + ccall(getprocaddress_e("glProgramUniform4i64NV"), Cvoid, (GLuint, GLint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT), program, location, x, y, z, w) end function glProgramUniform1i64vNV(program, location, count, value) - ccall((:glProgramUniform1i64vNV, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64EXT}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform1i64vNV"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64EXT}), program, location, count, value) end function glProgramUniform2i64vNV(program, location, count, value) - ccall((:glProgramUniform2i64vNV, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64EXT}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform2i64vNV"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64EXT}), program, location, count, value) end function glProgramUniform3i64vNV(program, location, count, value) - ccall((:glProgramUniform3i64vNV, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64EXT}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform3i64vNV"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64EXT}), program, location, count, value) end function glProgramUniform4i64vNV(program, location, count, value) - ccall((:glProgramUniform4i64vNV, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64EXT}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform4i64vNV"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64EXT}), program, location, count, value) end function glProgramUniform1ui64NV(program, location, x) - ccall((:glProgramUniform1ui64NV, libgl), Cvoid, (GLuint, GLint, GLuint64EXT), program, location, x) + ccall(getprocaddress_e("glProgramUniform1ui64NV"), Cvoid, (GLuint, GLint, GLuint64EXT), program, location, x) end function glProgramUniform2ui64NV(program, location, x, y) - ccall((:glProgramUniform2ui64NV, libgl), Cvoid, (GLuint, GLint, GLuint64EXT, GLuint64EXT), program, location, x, y) + ccall(getprocaddress_e("glProgramUniform2ui64NV"), Cvoid, (GLuint, GLint, GLuint64EXT, GLuint64EXT), program, location, x, y) end function glProgramUniform3ui64NV(program, location, x, y, z) - ccall((:glProgramUniform3ui64NV, libgl), Cvoid, (GLuint, GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT), program, location, x, y, z) + ccall(getprocaddress_e("glProgramUniform3ui64NV"), Cvoid, (GLuint, GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT), program, location, x, y, z) end function glProgramUniform4ui64NV(program, location, x, y, z, w) - ccall((:glProgramUniform4ui64NV, libgl), Cvoid, (GLuint, GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT), program, location, x, y, z, w) + ccall(getprocaddress_e("glProgramUniform4ui64NV"), Cvoid, (GLuint, GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT), program, location, x, y, z, w) end function glProgramUniform1ui64vNV(program, location, count, value) - ccall((:glProgramUniform1ui64vNV, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64EXT}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform1ui64vNV"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64EXT}), program, location, count, value) end function glProgramUniform2ui64vNV(program, location, count, value) - ccall((:glProgramUniform2ui64vNV, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64EXT}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform2ui64vNV"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64EXT}), program, location, count, value) end function glProgramUniform3ui64vNV(program, location, count, value) - ccall((:glProgramUniform3ui64vNV, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64EXT}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform3ui64vNV"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64EXT}), program, location, count, value) end function glProgramUniform4ui64vNV(program, location, count, value) - ccall((:glProgramUniform4ui64vNV, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64EXT}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniform4ui64vNV"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64EXT}), program, location, count, value) end # typedef void ( APIENTRYP PFNGLGETINTERNALFORMATSAMPLEIVNVPROC ) ( GLenum target , GLenum internalformat , GLsizei samples , GLenum pname , GLsizei count , GLint * params ) const PFNGLGETINTERNALFORMATSAMPLEIVNVPROC = Ptr{Cvoid} function glGetInternalformatSampleivNV(target, internalformat, samples, pname, count, params) - ccall((:glGetInternalformatSampleivNV, libgl), Cvoid, (GLenum, GLenum, GLsizei, GLenum, GLsizei, Ptr{GLint}), target, internalformat, samples, pname, count, params) + ccall(getprocaddress_e("glGetInternalformatSampleivNV"), Cvoid, (GLenum, GLenum, GLsizei, GLenum, GLsizei, Ptr{GLint}), target, internalformat, samples, pname, count, params) end # typedef void ( APIENTRYP PFNGLGETMEMORYOBJECTDETACHEDRESOURCESUIVNVPROC ) ( GLuint memory , GLenum pname , GLint first , GLsizei count , GLuint * params ) @@ -8149,27 +8149,27 @@ const PFNGLTEXTUREATTACHMEMORYNVPROC = Ptr{Cvoid} const PFNGLNAMEDBUFFERATTACHMEMORYNVPROC = Ptr{Cvoid} function glGetMemoryObjectDetachedResourcesuivNV(memory, pname, first, count, params) - ccall((:glGetMemoryObjectDetachedResourcesuivNV, libgl), Cvoid, (GLuint, GLenum, GLint, GLsizei, Ptr{GLuint}), memory, pname, first, count, params) + ccall(getprocaddress_e("glGetMemoryObjectDetachedResourcesuivNV"), Cvoid, (GLuint, GLenum, GLint, GLsizei, Ptr{GLuint}), memory, pname, first, count, params) end function glResetMemoryObjectParameterNV(memory, pname) - ccall((:glResetMemoryObjectParameterNV, libgl), Cvoid, (GLuint, GLenum), memory, pname) + ccall(getprocaddress_e("glResetMemoryObjectParameterNV"), Cvoid, (GLuint, GLenum), memory, pname) end function glTexAttachMemoryNV(target, memory, offset) - ccall((:glTexAttachMemoryNV, libgl), Cvoid, (GLenum, GLuint, GLuint64), target, memory, offset) + ccall(getprocaddress_e("glTexAttachMemoryNV"), Cvoid, (GLenum, GLuint, GLuint64), target, memory, offset) end function glBufferAttachMemoryNV(target, memory, offset) - ccall((:glBufferAttachMemoryNV, libgl), Cvoid, (GLenum, GLuint, GLuint64), target, memory, offset) + ccall(getprocaddress_e("glBufferAttachMemoryNV"), Cvoid, (GLenum, GLuint, GLuint64), target, memory, offset) end function glTextureAttachMemoryNV(texture, memory, offset) - ccall((:glTextureAttachMemoryNV, libgl), Cvoid, (GLuint, GLuint, GLuint64), texture, memory, offset) + ccall(getprocaddress_e("glTextureAttachMemoryNV"), Cvoid, (GLuint, GLuint, GLuint64), texture, memory, offset) end function glNamedBufferAttachMemoryNV(buffer, memory, offset) - ccall((:glNamedBufferAttachMemoryNV, libgl), Cvoid, (GLuint, GLuint, GLuint64), buffer, memory, offset) + ccall(getprocaddress_e("glNamedBufferAttachMemoryNV"), Cvoid, (GLuint, GLuint, GLuint64), buffer, memory, offset) end # typedef void ( APIENTRYP PFNGLBUFFERPAGECOMMITMENTMEMNVPROC ) ( GLenum target , GLintptr offset , GLsizeiptr size , GLuint memory , GLuint64 memOffset , GLboolean commit ) @@ -8185,19 +8185,19 @@ const PFNGLNAMEDBUFFERPAGECOMMITMENTMEMNVPROC = Ptr{Cvoid} const PFNGLTEXTUREPAGECOMMITMENTMEMNVPROC = Ptr{Cvoid} function glBufferPageCommitmentMemNV(target, offset, size, memory, memOffset, commit) - ccall((:glBufferPageCommitmentMemNV, libgl), Cvoid, (GLenum, GLintptr, GLsizeiptr, GLuint, GLuint64, GLboolean), target, offset, size, memory, memOffset, commit) + ccall(getprocaddress_e("glBufferPageCommitmentMemNV"), Cvoid, (GLenum, GLintptr, GLsizeiptr, GLuint, GLuint64, GLboolean), target, offset, size, memory, memOffset, commit) end function glTexPageCommitmentMemNV(target, layer, level, xoffset, yoffset, zoffset, width, height, depth, memory, offset, commit) - ccall((:glTexPageCommitmentMemNV, libgl), Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLuint, GLuint64, GLboolean), target, layer, level, xoffset, yoffset, zoffset, width, height, depth, memory, offset, commit) + ccall(getprocaddress_e("glTexPageCommitmentMemNV"), Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLuint, GLuint64, GLboolean), target, layer, level, xoffset, yoffset, zoffset, width, height, depth, memory, offset, commit) end function glNamedBufferPageCommitmentMemNV(buffer, offset, size, memory, memOffset, commit) - ccall((:glNamedBufferPageCommitmentMemNV, libgl), Cvoid, (GLuint, GLintptr, GLsizeiptr, GLuint, GLuint64, GLboolean), buffer, offset, size, memory, memOffset, commit) + ccall(getprocaddress_e("glNamedBufferPageCommitmentMemNV"), Cvoid, (GLuint, GLintptr, GLsizeiptr, GLuint, GLuint64, GLboolean), buffer, offset, size, memory, memOffset, commit) end function glTexturePageCommitmentMemNV(texture, layer, level, xoffset, yoffset, zoffset, width, height, depth, memory, offset, commit) - ccall((:glTexturePageCommitmentMemNV, libgl), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLuint, GLuint64, GLboolean), texture, layer, level, xoffset, yoffset, zoffset, width, height, depth, memory, offset, commit) + ccall(getprocaddress_e("glTexturePageCommitmentMemNV"), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLuint, GLuint64, GLboolean), texture, layer, level, xoffset, yoffset, zoffset, width, height, depth, memory, offset, commit) end # typedef void ( APIENTRYP PFNGLDRAWMESHTASKSNVPROC ) ( GLuint first , GLuint count ) @@ -8213,19 +8213,19 @@ const PFNGLMULTIDRAWMESHTASKSINDIRECTNVPROC = Ptr{Cvoid} const PFNGLMULTIDRAWMESHTASKSINDIRECTCOUNTNVPROC = Ptr{Cvoid} function glDrawMeshTasksNV(first, count) - ccall((:glDrawMeshTasksNV, libgl), Cvoid, (GLuint, GLuint), first, count) + ccall(getprocaddress_e("glDrawMeshTasksNV"), Cvoid, (GLuint, GLuint), first, count) end function glDrawMeshTasksIndirectNV(indirect) - ccall((:glDrawMeshTasksIndirectNV, libgl), Cvoid, (GLintptr,), indirect) + ccall(getprocaddress_e("glDrawMeshTasksIndirectNV"), Cvoid, (GLintptr,), indirect) end function glMultiDrawMeshTasksIndirectNV(indirect, drawcount, stride) - ccall((:glMultiDrawMeshTasksIndirectNV, libgl), Cvoid, (GLintptr, GLsizei, GLsizei), indirect, drawcount, stride) + ccall(getprocaddress_e("glMultiDrawMeshTasksIndirectNV"), Cvoid, (GLintptr, GLsizei, GLsizei), indirect, drawcount, stride) end function glMultiDrawMeshTasksIndirectCountNV(indirect, drawcount, maxdrawcount, stride) - ccall((:glMultiDrawMeshTasksIndirectCountNV, libgl), Cvoid, (GLintptr, GLintptr, GLsizei, GLsizei), indirect, drawcount, maxdrawcount, stride) + ccall(getprocaddress_e("glMultiDrawMeshTasksIndirectCountNV"), Cvoid, (GLintptr, GLintptr, GLsizei, GLsizei), indirect, drawcount, maxdrawcount, stride) end # typedef GLuint ( APIENTRYP PFNGLGENPATHSNVPROC ) ( GLsizei range ) @@ -8400,231 +8400,231 @@ const PFNGLPROGRAMPATHFRAGMENTINPUTGENNVPROC = Ptr{Cvoid} const PFNGLGETPROGRAMRESOURCEFVNVPROC = Ptr{Cvoid} function glGenPathsNV(range) - ccall((:glGenPathsNV, libgl), GLuint, (GLsizei,), range) + ccall(getprocaddress_e("glGenPathsNV"), GLuint, (GLsizei,), range) end function glDeletePathsNV(path, range) - ccall((:glDeletePathsNV, libgl), Cvoid, (GLuint, GLsizei), path, range) + ccall(getprocaddress_e("glDeletePathsNV"), Cvoid, (GLuint, GLsizei), path, range) end function glIsPathNV(path) - ccall((:glIsPathNV, libgl), GLboolean, (GLuint,), path) + ccall(getprocaddress_e("glIsPathNV"), GLboolean, (GLuint,), path) end function glPathCommandsNV(path, numCommands, commands, numCoords, coordType, coords) - ccall((:glPathCommandsNV, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLubyte}, GLsizei, GLenum, Ptr{Cvoid}), path, numCommands, commands, numCoords, coordType, coords) + ccall(getprocaddress_e("glPathCommandsNV"), Cvoid, (GLuint, GLsizei, Ptr{GLubyte}, GLsizei, GLenum, Ptr{Cvoid}), path, numCommands, commands, numCoords, coordType, coords) end function glPathCoordsNV(path, numCoords, coordType, coords) - ccall((:glPathCoordsNV, libgl), Cvoid, (GLuint, GLsizei, GLenum, Ptr{Cvoid}), path, numCoords, coordType, coords) + ccall(getprocaddress_e("glPathCoordsNV"), Cvoid, (GLuint, GLsizei, GLenum, Ptr{Cvoid}), path, numCoords, coordType, coords) end function glPathSubCommandsNV(path, commandStart, commandsToDelete, numCommands, commands, numCoords, coordType, coords) - ccall((:glPathSubCommandsNV, libgl), Cvoid, (GLuint, GLsizei, GLsizei, GLsizei, Ptr{GLubyte}, GLsizei, GLenum, Ptr{Cvoid}), path, commandStart, commandsToDelete, numCommands, commands, numCoords, coordType, coords) + ccall(getprocaddress_e("glPathSubCommandsNV"), Cvoid, (GLuint, GLsizei, GLsizei, GLsizei, Ptr{GLubyte}, GLsizei, GLenum, Ptr{Cvoid}), path, commandStart, commandsToDelete, numCommands, commands, numCoords, coordType, coords) end function glPathSubCoordsNV(path, coordStart, numCoords, coordType, coords) - ccall((:glPathSubCoordsNV, libgl), Cvoid, (GLuint, GLsizei, GLsizei, GLenum, Ptr{Cvoid}), path, coordStart, numCoords, coordType, coords) + ccall(getprocaddress_e("glPathSubCoordsNV"), Cvoid, (GLuint, GLsizei, GLsizei, GLenum, Ptr{Cvoid}), path, coordStart, numCoords, coordType, coords) end function glPathStringNV(path, format, length, pathString) - ccall((:glPathStringNV, libgl), Cvoid, (GLuint, GLenum, GLsizei, Ptr{Cvoid}), path, format, length, pathString) + ccall(getprocaddress_e("glPathStringNV"), Cvoid, (GLuint, GLenum, GLsizei, Ptr{Cvoid}), path, format, length, pathString) end function glPathGlyphsNV(firstPathName, fontTarget, fontName, fontStyle, numGlyphs, type, charcodes, handleMissingGlyphs, pathParameterTemplate, emScale) - ccall((:glPathGlyphsNV, libgl), Cvoid, (GLuint, GLenum, Ptr{Cvoid}, GLbitfield, GLsizei, GLenum, Ptr{Cvoid}, GLenum, GLuint, GLfloat), firstPathName, fontTarget, fontName, fontStyle, numGlyphs, type, charcodes, handleMissingGlyphs, pathParameterTemplate, emScale) + ccall(getprocaddress_e("glPathGlyphsNV"), Cvoid, (GLuint, GLenum, Ptr{Cvoid}, GLbitfield, GLsizei, GLenum, Ptr{Cvoid}, GLenum, GLuint, GLfloat), firstPathName, fontTarget, fontName, fontStyle, numGlyphs, type, charcodes, handleMissingGlyphs, pathParameterTemplate, emScale) end function glPathGlyphRangeNV(firstPathName, fontTarget, fontName, fontStyle, firstGlyph, numGlyphs, handleMissingGlyphs, pathParameterTemplate, emScale) - ccall((:glPathGlyphRangeNV, libgl), Cvoid, (GLuint, GLenum, Ptr{Cvoid}, GLbitfield, GLuint, GLsizei, GLenum, GLuint, GLfloat), firstPathName, fontTarget, fontName, fontStyle, firstGlyph, numGlyphs, handleMissingGlyphs, pathParameterTemplate, emScale) + ccall(getprocaddress_e("glPathGlyphRangeNV"), Cvoid, (GLuint, GLenum, Ptr{Cvoid}, GLbitfield, GLuint, GLsizei, GLenum, GLuint, GLfloat), firstPathName, fontTarget, fontName, fontStyle, firstGlyph, numGlyphs, handleMissingGlyphs, pathParameterTemplate, emScale) end function glWeightPathsNV(resultPath, numPaths, paths, weights) - ccall((:glWeightPathsNV, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLuint}, Ptr{GLfloat}), resultPath, numPaths, paths, weights) + ccall(getprocaddress_e("glWeightPathsNV"), Cvoid, (GLuint, GLsizei, Ptr{GLuint}, Ptr{GLfloat}), resultPath, numPaths, paths, weights) end function glCopyPathNV(resultPath, srcPath) - ccall((:glCopyPathNV, libgl), Cvoid, (GLuint, GLuint), resultPath, srcPath) + ccall(getprocaddress_e("glCopyPathNV"), Cvoid, (GLuint, GLuint), resultPath, srcPath) end function glInterpolatePathsNV(resultPath, pathA, pathB, weight) - ccall((:glInterpolatePathsNV, libgl), Cvoid, (GLuint, GLuint, GLuint, GLfloat), resultPath, pathA, pathB, weight) + ccall(getprocaddress_e("glInterpolatePathsNV"), Cvoid, (GLuint, GLuint, GLuint, GLfloat), resultPath, pathA, pathB, weight) end function glTransformPathNV(resultPath, srcPath, transformType, transformValues) - ccall((:glTransformPathNV, libgl), Cvoid, (GLuint, GLuint, GLenum, Ptr{GLfloat}), resultPath, srcPath, transformType, transformValues) + ccall(getprocaddress_e("glTransformPathNV"), Cvoid, (GLuint, GLuint, GLenum, Ptr{GLfloat}), resultPath, srcPath, transformType, transformValues) end function glPathParameterivNV(path, pname, value) - ccall((:glPathParameterivNV, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), path, pname, value) + ccall(getprocaddress_e("glPathParameterivNV"), Cvoid, (GLuint, GLenum, Ptr{GLint}), path, pname, value) end function glPathParameteriNV(path, pname, value) - ccall((:glPathParameteriNV, libgl), Cvoid, (GLuint, GLenum, GLint), path, pname, value) + ccall(getprocaddress_e("glPathParameteriNV"), Cvoid, (GLuint, GLenum, GLint), path, pname, value) end function glPathParameterfvNV(path, pname, value) - ccall((:glPathParameterfvNV, libgl), Cvoid, (GLuint, GLenum, Ptr{GLfloat}), path, pname, value) + ccall(getprocaddress_e("glPathParameterfvNV"), Cvoid, (GLuint, GLenum, Ptr{GLfloat}), path, pname, value) end function glPathParameterfNV(path, pname, value) - ccall((:glPathParameterfNV, libgl), Cvoid, (GLuint, GLenum, GLfloat), path, pname, value) + ccall(getprocaddress_e("glPathParameterfNV"), Cvoid, (GLuint, GLenum, GLfloat), path, pname, value) end function glPathDashArrayNV(path, dashCount, dashArray) - ccall((:glPathDashArrayNV, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLfloat}), path, dashCount, dashArray) + ccall(getprocaddress_e("glPathDashArrayNV"), Cvoid, (GLuint, GLsizei, Ptr{GLfloat}), path, dashCount, dashArray) end function glPathStencilFuncNV(func, ref, mask) - ccall((:glPathStencilFuncNV, libgl), Cvoid, (GLenum, GLint, GLuint), func, ref, mask) + ccall(getprocaddress_e("glPathStencilFuncNV"), Cvoid, (GLenum, GLint, GLuint), func, ref, mask) end function glPathStencilDepthOffsetNV(factor, units) - ccall((:glPathStencilDepthOffsetNV, libgl), Cvoid, (GLfloat, GLfloat), factor, units) + ccall(getprocaddress_e("glPathStencilDepthOffsetNV"), Cvoid, (GLfloat, GLfloat), factor, units) end function glStencilFillPathNV(path, fillMode, mask) - ccall((:glStencilFillPathNV, libgl), Cvoid, (GLuint, GLenum, GLuint), path, fillMode, mask) + ccall(getprocaddress_e("glStencilFillPathNV"), Cvoid, (GLuint, GLenum, GLuint), path, fillMode, mask) end function glStencilStrokePathNV(path, reference, mask) - ccall((:glStencilStrokePathNV, libgl), Cvoid, (GLuint, GLint, GLuint), path, reference, mask) + ccall(getprocaddress_e("glStencilStrokePathNV"), Cvoid, (GLuint, GLint, GLuint), path, reference, mask) end function glStencilFillPathInstancedNV(numPaths, pathNameType, paths, pathBase, fillMode, mask, transformType, transformValues) - ccall((:glStencilFillPathInstancedNV, libgl), Cvoid, (GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLenum, GLuint, GLenum, Ptr{GLfloat}), numPaths, pathNameType, paths, pathBase, fillMode, mask, transformType, transformValues) + ccall(getprocaddress_e("glStencilFillPathInstancedNV"), Cvoid, (GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLenum, GLuint, GLenum, Ptr{GLfloat}), numPaths, pathNameType, paths, pathBase, fillMode, mask, transformType, transformValues) end function glStencilStrokePathInstancedNV(numPaths, pathNameType, paths, pathBase, reference, mask, transformType, transformValues) - ccall((:glStencilStrokePathInstancedNV, libgl), Cvoid, (GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLint, GLuint, GLenum, Ptr{GLfloat}), numPaths, pathNameType, paths, pathBase, reference, mask, transformType, transformValues) + ccall(getprocaddress_e("glStencilStrokePathInstancedNV"), Cvoid, (GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLint, GLuint, GLenum, Ptr{GLfloat}), numPaths, pathNameType, paths, pathBase, reference, mask, transformType, transformValues) end function glPathCoverDepthFuncNV(func) - ccall((:glPathCoverDepthFuncNV, libgl), Cvoid, (GLenum,), func) + ccall(getprocaddress_e("glPathCoverDepthFuncNV"), Cvoid, (GLenum,), func) end function glCoverFillPathNV(path, coverMode) - ccall((:glCoverFillPathNV, libgl), Cvoid, (GLuint, GLenum), path, coverMode) + ccall(getprocaddress_e("glCoverFillPathNV"), Cvoid, (GLuint, GLenum), path, coverMode) end function glCoverStrokePathNV(path, coverMode) - ccall((:glCoverStrokePathNV, libgl), Cvoid, (GLuint, GLenum), path, coverMode) + ccall(getprocaddress_e("glCoverStrokePathNV"), Cvoid, (GLuint, GLenum), path, coverMode) end function glCoverFillPathInstancedNV(numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues) - ccall((:glCoverFillPathInstancedNV, libgl), Cvoid, (GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLenum, GLenum, Ptr{GLfloat}), numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues) + ccall(getprocaddress_e("glCoverFillPathInstancedNV"), Cvoid, (GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLenum, GLenum, Ptr{GLfloat}), numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues) end function glCoverStrokePathInstancedNV(numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues) - ccall((:glCoverStrokePathInstancedNV, libgl), Cvoid, (GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLenum, GLenum, Ptr{GLfloat}), numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues) + ccall(getprocaddress_e("glCoverStrokePathInstancedNV"), Cvoid, (GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLenum, GLenum, Ptr{GLfloat}), numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues) end function glGetPathParameterivNV(path, pname, value) - ccall((:glGetPathParameterivNV, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint}), path, pname, value) + ccall(getprocaddress_e("glGetPathParameterivNV"), Cvoid, (GLuint, GLenum, Ptr{GLint}), path, pname, value) end function glGetPathParameterfvNV(path, pname, value) - ccall((:glGetPathParameterfvNV, libgl), Cvoid, (GLuint, GLenum, Ptr{GLfloat}), path, pname, value) + ccall(getprocaddress_e("glGetPathParameterfvNV"), Cvoid, (GLuint, GLenum, Ptr{GLfloat}), path, pname, value) end function glGetPathCommandsNV(path, commands) - ccall((:glGetPathCommandsNV, libgl), Cvoid, (GLuint, Ptr{GLubyte}), path, commands) + ccall(getprocaddress_e("glGetPathCommandsNV"), Cvoid, (GLuint, Ptr{GLubyte}), path, commands) end function glGetPathCoordsNV(path, coords) - ccall((:glGetPathCoordsNV, libgl), Cvoid, (GLuint, Ptr{GLfloat}), path, coords) + ccall(getprocaddress_e("glGetPathCoordsNV"), Cvoid, (GLuint, Ptr{GLfloat}), path, coords) end function glGetPathDashArrayNV(path, dashArray) - ccall((:glGetPathDashArrayNV, libgl), Cvoid, (GLuint, Ptr{GLfloat}), path, dashArray) + ccall(getprocaddress_e("glGetPathDashArrayNV"), Cvoid, (GLuint, Ptr{GLfloat}), path, dashArray) end function glGetPathMetricsNV(metricQueryMask, numPaths, pathNameType, paths, pathBase, stride, metrics) - ccall((:glGetPathMetricsNV, libgl), Cvoid, (GLbitfield, GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLsizei, Ptr{GLfloat}), metricQueryMask, numPaths, pathNameType, paths, pathBase, stride, metrics) + ccall(getprocaddress_e("glGetPathMetricsNV"), Cvoid, (GLbitfield, GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLsizei, Ptr{GLfloat}), metricQueryMask, numPaths, pathNameType, paths, pathBase, stride, metrics) end function glGetPathMetricRangeNV(metricQueryMask, firstPathName, numPaths, stride, metrics) - ccall((:glGetPathMetricRangeNV, libgl), Cvoid, (GLbitfield, GLuint, GLsizei, GLsizei, Ptr{GLfloat}), metricQueryMask, firstPathName, numPaths, stride, metrics) + ccall(getprocaddress_e("glGetPathMetricRangeNV"), Cvoid, (GLbitfield, GLuint, GLsizei, GLsizei, Ptr{GLfloat}), metricQueryMask, firstPathName, numPaths, stride, metrics) end function glGetPathSpacingNV(pathListMode, numPaths, pathNameType, paths, pathBase, advanceScale, kerningScale, transformType, returnedSpacing) - ccall((:glGetPathSpacingNV, libgl), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLfloat, GLfloat, GLenum, Ptr{GLfloat}), pathListMode, numPaths, pathNameType, paths, pathBase, advanceScale, kerningScale, transformType, returnedSpacing) + ccall(getprocaddress_e("glGetPathSpacingNV"), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLfloat, GLfloat, GLenum, Ptr{GLfloat}), pathListMode, numPaths, pathNameType, paths, pathBase, advanceScale, kerningScale, transformType, returnedSpacing) end function glIsPointInFillPathNV(path, mask, x, y) - ccall((:glIsPointInFillPathNV, libgl), GLboolean, (GLuint, GLuint, GLfloat, GLfloat), path, mask, x, y) + ccall(getprocaddress_e("glIsPointInFillPathNV"), GLboolean, (GLuint, GLuint, GLfloat, GLfloat), path, mask, x, y) end function glIsPointInStrokePathNV(path, x, y) - ccall((:glIsPointInStrokePathNV, libgl), GLboolean, (GLuint, GLfloat, GLfloat), path, x, y) + ccall(getprocaddress_e("glIsPointInStrokePathNV"), GLboolean, (GLuint, GLfloat, GLfloat), path, x, y) end function glGetPathLengthNV(path, startSegment, numSegments) - ccall((:glGetPathLengthNV, libgl), GLfloat, (GLuint, GLsizei, GLsizei), path, startSegment, numSegments) + ccall(getprocaddress_e("glGetPathLengthNV"), GLfloat, (GLuint, GLsizei, GLsizei), path, startSegment, numSegments) end function glPointAlongPathNV(path, startSegment, numSegments, distance, x, y, tangentX, tangentY) - ccall((:glPointAlongPathNV, libgl), GLboolean, (GLuint, GLsizei, GLsizei, GLfloat, Ptr{GLfloat}, Ptr{GLfloat}, Ptr{GLfloat}, Ptr{GLfloat}), path, startSegment, numSegments, distance, x, y, tangentX, tangentY) + ccall(getprocaddress_e("glPointAlongPathNV"), GLboolean, (GLuint, GLsizei, GLsizei, GLfloat, Ptr{GLfloat}, Ptr{GLfloat}, Ptr{GLfloat}, Ptr{GLfloat}), path, startSegment, numSegments, distance, x, y, tangentX, tangentY) end function glMatrixLoad3x2fNV(matrixMode, m) - ccall((:glMatrixLoad3x2fNV, libgl), Cvoid, (GLenum, Ptr{GLfloat}), matrixMode, m) + ccall(getprocaddress_e("glMatrixLoad3x2fNV"), Cvoid, (GLenum, Ptr{GLfloat}), matrixMode, m) end function glMatrixLoad3x3fNV(matrixMode, m) - ccall((:glMatrixLoad3x3fNV, libgl), Cvoid, (GLenum, Ptr{GLfloat}), matrixMode, m) + ccall(getprocaddress_e("glMatrixLoad3x3fNV"), Cvoid, (GLenum, Ptr{GLfloat}), matrixMode, m) end function glMatrixLoadTranspose3x3fNV(matrixMode, m) - ccall((:glMatrixLoadTranspose3x3fNV, libgl), Cvoid, (GLenum, Ptr{GLfloat}), matrixMode, m) + ccall(getprocaddress_e("glMatrixLoadTranspose3x3fNV"), Cvoid, (GLenum, Ptr{GLfloat}), matrixMode, m) end function glMatrixMult3x2fNV(matrixMode, m) - ccall((:glMatrixMult3x2fNV, libgl), Cvoid, (GLenum, Ptr{GLfloat}), matrixMode, m) + ccall(getprocaddress_e("glMatrixMult3x2fNV"), Cvoid, (GLenum, Ptr{GLfloat}), matrixMode, m) end function glMatrixMult3x3fNV(matrixMode, m) - ccall((:glMatrixMult3x3fNV, libgl), Cvoid, (GLenum, Ptr{GLfloat}), matrixMode, m) + ccall(getprocaddress_e("glMatrixMult3x3fNV"), Cvoid, (GLenum, Ptr{GLfloat}), matrixMode, m) end function glMatrixMultTranspose3x3fNV(matrixMode, m) - ccall((:glMatrixMultTranspose3x3fNV, libgl), Cvoid, (GLenum, Ptr{GLfloat}), matrixMode, m) + ccall(getprocaddress_e("glMatrixMultTranspose3x3fNV"), Cvoid, (GLenum, Ptr{GLfloat}), matrixMode, m) end function glStencilThenCoverFillPathNV(path, fillMode, mask, coverMode) - ccall((:glStencilThenCoverFillPathNV, libgl), Cvoid, (GLuint, GLenum, GLuint, GLenum), path, fillMode, mask, coverMode) + ccall(getprocaddress_e("glStencilThenCoverFillPathNV"), Cvoid, (GLuint, GLenum, GLuint, GLenum), path, fillMode, mask, coverMode) end function glStencilThenCoverStrokePathNV(path, reference, mask, coverMode) - ccall((:glStencilThenCoverStrokePathNV, libgl), Cvoid, (GLuint, GLint, GLuint, GLenum), path, reference, mask, coverMode) + ccall(getprocaddress_e("glStencilThenCoverStrokePathNV"), Cvoid, (GLuint, GLint, GLuint, GLenum), path, reference, mask, coverMode) end function glStencilThenCoverFillPathInstancedNV(numPaths, pathNameType, paths, pathBase, fillMode, mask, coverMode, transformType, transformValues) - ccall((:glStencilThenCoverFillPathInstancedNV, libgl), Cvoid, (GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLenum, GLuint, GLenum, GLenum, Ptr{GLfloat}), numPaths, pathNameType, paths, pathBase, fillMode, mask, coverMode, transformType, transformValues) + ccall(getprocaddress_e("glStencilThenCoverFillPathInstancedNV"), Cvoid, (GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLenum, GLuint, GLenum, GLenum, Ptr{GLfloat}), numPaths, pathNameType, paths, pathBase, fillMode, mask, coverMode, transformType, transformValues) end function glStencilThenCoverStrokePathInstancedNV(numPaths, pathNameType, paths, pathBase, reference, mask, coverMode, transformType, transformValues) - ccall((:glStencilThenCoverStrokePathInstancedNV, libgl), Cvoid, (GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLint, GLuint, GLenum, GLenum, Ptr{GLfloat}), numPaths, pathNameType, paths, pathBase, reference, mask, coverMode, transformType, transformValues) + ccall(getprocaddress_e("glStencilThenCoverStrokePathInstancedNV"), Cvoid, (GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLint, GLuint, GLenum, GLenum, Ptr{GLfloat}), numPaths, pathNameType, paths, pathBase, reference, mask, coverMode, transformType, transformValues) end function glPathGlyphIndexRangeNV(fontTarget, fontName, fontStyle, pathParameterTemplate, emScale, baseAndCount) - ccall((:glPathGlyphIndexRangeNV, libgl), GLenum, (GLenum, Ptr{Cvoid}, GLbitfield, GLuint, GLfloat, Ptr{GLuint}), fontTarget, fontName, fontStyle, pathParameterTemplate, emScale, baseAndCount) + ccall(getprocaddress_e("glPathGlyphIndexRangeNV"), GLenum, (GLenum, Ptr{Cvoid}, GLbitfield, GLuint, GLfloat, Ptr{GLuint}), fontTarget, fontName, fontStyle, pathParameterTemplate, emScale, baseAndCount) end function glPathGlyphIndexArrayNV(firstPathName, fontTarget, fontName, fontStyle, firstGlyphIndex, numGlyphs, pathParameterTemplate, emScale) - ccall((:glPathGlyphIndexArrayNV, libgl), GLenum, (GLuint, GLenum, Ptr{Cvoid}, GLbitfield, GLuint, GLsizei, GLuint, GLfloat), firstPathName, fontTarget, fontName, fontStyle, firstGlyphIndex, numGlyphs, pathParameterTemplate, emScale) + ccall(getprocaddress_e("glPathGlyphIndexArrayNV"), GLenum, (GLuint, GLenum, Ptr{Cvoid}, GLbitfield, GLuint, GLsizei, GLuint, GLfloat), firstPathName, fontTarget, fontName, fontStyle, firstGlyphIndex, numGlyphs, pathParameterTemplate, emScale) end function glPathMemoryGlyphIndexArrayNV(firstPathName, fontTarget, fontSize, fontData, faceIndex, firstGlyphIndex, numGlyphs, pathParameterTemplate, emScale) - ccall((:glPathMemoryGlyphIndexArrayNV, libgl), GLenum, (GLuint, GLenum, GLsizeiptr, Ptr{Cvoid}, GLsizei, GLuint, GLsizei, GLuint, GLfloat), firstPathName, fontTarget, fontSize, fontData, faceIndex, firstGlyphIndex, numGlyphs, pathParameterTemplate, emScale) + ccall(getprocaddress_e("glPathMemoryGlyphIndexArrayNV"), GLenum, (GLuint, GLenum, GLsizeiptr, Ptr{Cvoid}, GLsizei, GLuint, GLsizei, GLuint, GLfloat), firstPathName, fontTarget, fontSize, fontData, faceIndex, firstGlyphIndex, numGlyphs, pathParameterTemplate, emScale) end function glProgramPathFragmentInputGenNV(program, location, genMode, components, coeffs) - ccall((:glProgramPathFragmentInputGenNV, libgl), Cvoid, (GLuint, GLint, GLenum, GLint, Ptr{GLfloat}), program, location, genMode, components, coeffs) + ccall(getprocaddress_e("glProgramPathFragmentInputGenNV"), Cvoid, (GLuint, GLint, GLenum, GLint, Ptr{GLfloat}), program, location, genMode, components, coeffs) end function glGetProgramResourcefvNV(program, programInterface, index, propCount, props, count, length, params) - ccall((:glGetProgramResourcefvNV, libgl), Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLenum}, GLsizei, Ptr{GLsizei}, Ptr{GLfloat}), program, programInterface, index, propCount, props, count, length, params) + ccall(getprocaddress_e("glGetProgramResourcefvNV"), Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLenum}, GLsizei, Ptr{GLsizei}, Ptr{GLfloat}), program, programInterface, index, propCount, props, count, length, params) end # typedef void ( APIENTRYP PFNGLFRAMEBUFFERSAMPLELOCATIONSFVNVPROC ) ( GLenum target , GLuint start , GLsizei count , const GLfloat * v ) @@ -8637,15 +8637,15 @@ const PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVNVPROC = Ptr{Cvoid} const PFNGLRESOLVEDEPTHVALUESNVPROC = Ptr{Cvoid} function glFramebufferSampleLocationsfvNV(target, start, count, v) - ccall((:glFramebufferSampleLocationsfvNV, libgl), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLfloat}), target, start, count, v) + ccall(getprocaddress_e("glFramebufferSampleLocationsfvNV"), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLfloat}), target, start, count, v) end function glNamedFramebufferSampleLocationsfvNV(framebuffer, start, count, v) - ccall((:glNamedFramebufferSampleLocationsfvNV, libgl), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLfloat}), framebuffer, start, count, v) + ccall(getprocaddress_e("glNamedFramebufferSampleLocationsfvNV"), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLfloat}), framebuffer, start, count, v) end function glResolveDepthValuesNV() - ccall((:glResolveDepthValuesNV, libgl), Cvoid, ()) + ccall(getprocaddress_e("glResolveDepthValuesNV"), Cvoid, ()) end # typedef void ( APIENTRYP PFNGLSCISSOREXCLUSIVENVPROC ) ( GLint x , GLint y , GLsizei width , GLsizei height ) @@ -8655,11 +8655,11 @@ const PFNGLSCISSOREXCLUSIVENVPROC = Ptr{Cvoid} const PFNGLSCISSOREXCLUSIVEARRAYVNVPROC = Ptr{Cvoid} function glScissorExclusiveNV(x, y, width, height) - ccall((:glScissorExclusiveNV, libgl), Cvoid, (GLint, GLint, GLsizei, GLsizei), x, y, width, height) + ccall(getprocaddress_e("glScissorExclusiveNV"), Cvoid, (GLint, GLint, GLsizei, GLsizei), x, y, width, height) end function glScissorExclusiveArrayvNV(first, count, v) - ccall((:glScissorExclusiveArrayvNV, libgl), Cvoid, (GLuint, GLsizei, Ptr{GLint}), first, count, v) + ccall(getprocaddress_e("glScissorExclusiveArrayvNV"), Cvoid, (GLuint, GLsizei, Ptr{GLint}), first, count, v) end # typedef void ( APIENTRYP PFNGLMAKEBUFFERRESIDENTNVPROC ) ( GLenum target , GLenum access ) @@ -8705,59 +8705,59 @@ const PFNGLPROGRAMUNIFORMUI64NVPROC = Ptr{Cvoid} const PFNGLPROGRAMUNIFORMUI64VNVPROC = Ptr{Cvoid} function glMakeBufferResidentNV(target, access) - ccall((:glMakeBufferResidentNV, libgl), Cvoid, (GLenum, GLenum), target, access) + ccall(getprocaddress_e("glMakeBufferResidentNV"), Cvoid, (GLenum, GLenum), target, access) end function glMakeBufferNonResidentNV(target) - ccall((:glMakeBufferNonResidentNV, libgl), Cvoid, (GLenum,), target) + ccall(getprocaddress_e("glMakeBufferNonResidentNV"), Cvoid, (GLenum,), target) end function glIsBufferResidentNV(target) - ccall((:glIsBufferResidentNV, libgl), GLboolean, (GLenum,), target) + ccall(getprocaddress_e("glIsBufferResidentNV"), GLboolean, (GLenum,), target) end function glMakeNamedBufferResidentNV(buffer, access) - ccall((:glMakeNamedBufferResidentNV, libgl), Cvoid, (GLuint, GLenum), buffer, access) + ccall(getprocaddress_e("glMakeNamedBufferResidentNV"), Cvoid, (GLuint, GLenum), buffer, access) end function glMakeNamedBufferNonResidentNV(buffer) - ccall((:glMakeNamedBufferNonResidentNV, libgl), Cvoid, (GLuint,), buffer) + ccall(getprocaddress_e("glMakeNamedBufferNonResidentNV"), Cvoid, (GLuint,), buffer) end function glIsNamedBufferResidentNV(buffer) - ccall((:glIsNamedBufferResidentNV, libgl), GLboolean, (GLuint,), buffer) + ccall(getprocaddress_e("glIsNamedBufferResidentNV"), GLboolean, (GLuint,), buffer) end function glGetBufferParameterui64vNV(target, pname, params) - ccall((:glGetBufferParameterui64vNV, libgl), Cvoid, (GLenum, GLenum, Ptr{GLuint64EXT}), target, pname, params) + ccall(getprocaddress_e("glGetBufferParameterui64vNV"), Cvoid, (GLenum, GLenum, Ptr{GLuint64EXT}), target, pname, params) end function glGetNamedBufferParameterui64vNV(buffer, pname, params) - ccall((:glGetNamedBufferParameterui64vNV, libgl), Cvoid, (GLuint, GLenum, Ptr{GLuint64EXT}), buffer, pname, params) + ccall(getprocaddress_e("glGetNamedBufferParameterui64vNV"), Cvoid, (GLuint, GLenum, Ptr{GLuint64EXT}), buffer, pname, params) end function glGetIntegerui64vNV(value, result) - ccall((:glGetIntegerui64vNV, libgl), Cvoid, (GLenum, Ptr{GLuint64EXT}), value, result) + ccall(getprocaddress_e("glGetIntegerui64vNV"), Cvoid, (GLenum, Ptr{GLuint64EXT}), value, result) end function glUniformui64NV(location, value) - ccall((:glUniformui64NV, libgl), Cvoid, (GLint, GLuint64EXT), location, value) + ccall(getprocaddress_e("glUniformui64NV"), Cvoid, (GLint, GLuint64EXT), location, value) end function glUniformui64vNV(location, count, value) - ccall((:glUniformui64vNV, libgl), Cvoid, (GLint, GLsizei, Ptr{GLuint64EXT}), location, count, value) + ccall(getprocaddress_e("glUniformui64vNV"), Cvoid, (GLint, GLsizei, Ptr{GLuint64EXT}), location, count, value) end function glGetUniformui64vNV(program, location, params) - ccall((:glGetUniformui64vNV, libgl), Cvoid, (GLuint, GLint, Ptr{GLuint64EXT}), program, location, params) + ccall(getprocaddress_e("glGetUniformui64vNV"), Cvoid, (GLuint, GLint, Ptr{GLuint64EXT}), program, location, params) end function glProgramUniformui64NV(program, location, value) - ccall((:glProgramUniformui64NV, libgl), Cvoid, (GLuint, GLint, GLuint64EXT), program, location, value) + ccall(getprocaddress_e("glProgramUniformui64NV"), Cvoid, (GLuint, GLint, GLuint64EXT), program, location, value) end function glProgramUniformui64vNV(program, location, count, value) - ccall((:glProgramUniformui64vNV, libgl), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64EXT}), program, location, count, value) + ccall(getprocaddress_e("glProgramUniformui64vNV"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64EXT}), program, location, count, value) end # typedef void ( APIENTRYP PFNGLBINDSHADINGRATEIMAGENVPROC ) ( GLuint texture ) @@ -8782,38 +8782,38 @@ const PFNGLSHADINGRATESAMPLEORDERNVPROC = Ptr{Cvoid} const PFNGLSHADINGRATESAMPLEORDERCUSTOMNVPROC = Ptr{Cvoid} function glBindShadingRateImageNV(texture) - ccall((:glBindShadingRateImageNV, libgl), Cvoid, (GLuint,), texture) + ccall(getprocaddress_e("glBindShadingRateImageNV"), Cvoid, (GLuint,), texture) end function glGetShadingRateImagePaletteNV(viewport, entry, rate) - ccall((:glGetShadingRateImagePaletteNV, libgl), Cvoid, (GLuint, GLuint, Ptr{GLenum}), viewport, entry, rate) + ccall(getprocaddress_e("glGetShadingRateImagePaletteNV"), Cvoid, (GLuint, GLuint, Ptr{GLenum}), viewport, entry, rate) end function glGetShadingRateSampleLocationivNV(rate, samples, index, location) - ccall((:glGetShadingRateSampleLocationivNV, libgl), Cvoid, (GLenum, GLuint, GLuint, Ptr{GLint}), rate, samples, index, location) + ccall(getprocaddress_e("glGetShadingRateSampleLocationivNV"), Cvoid, (GLenum, GLuint, GLuint, Ptr{GLint}), rate, samples, index, location) end function glShadingRateImageBarrierNV(synchronize) - ccall((:glShadingRateImageBarrierNV, libgl), Cvoid, (GLboolean,), synchronize) + ccall(getprocaddress_e("glShadingRateImageBarrierNV"), Cvoid, (GLboolean,), synchronize) end function glShadingRateImagePaletteNV(viewport, first, count, rates) - ccall((:glShadingRateImagePaletteNV, libgl), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLenum}), viewport, first, count, rates) + ccall(getprocaddress_e("glShadingRateImagePaletteNV"), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLenum}), viewport, first, count, rates) end function glShadingRateSampleOrderNV(order) - ccall((:glShadingRateSampleOrderNV, libgl), Cvoid, (GLenum,), order) + ccall(getprocaddress_e("glShadingRateSampleOrderNV"), Cvoid, (GLenum,), order) end function glShadingRateSampleOrderCustomNV(rate, samples, locations) - ccall((:glShadingRateSampleOrderCustomNV, libgl), Cvoid, (GLenum, GLuint, Ptr{GLint}), rate, samples, locations) + ccall(getprocaddress_e("glShadingRateSampleOrderCustomNV"), Cvoid, (GLenum, GLuint, Ptr{GLint}), rate, samples, locations) end # typedef void ( APIENTRYP PFNGLTEXTUREBARRIERNVPROC ) ( void ) const PFNGLTEXTUREBARRIERNVPROC = Ptr{Cvoid} function glTextureBarrierNV() - ccall((:glTextureBarrierNV, libgl), Cvoid, ()) + ccall(getprocaddress_e("glTextureBarrierNV"), Cvoid, ()) end # typedef void ( APIENTRYP PFNGLVERTEXATTRIBL1I64NVPROC ) ( GLuint index , GLint64EXT x ) @@ -8874,79 +8874,79 @@ const PFNGLGETVERTEXATTRIBLUI64VNVPROC = Ptr{Cvoid} const PFNGLVERTEXATTRIBLFORMATNVPROC = Ptr{Cvoid} function glVertexAttribL1i64NV(index, x) - ccall((:glVertexAttribL1i64NV, libgl), Cvoid, (GLuint, GLint64EXT), index, x) + ccall(getprocaddress_e("glVertexAttribL1i64NV"), Cvoid, (GLuint, GLint64EXT), index, x) end function glVertexAttribL2i64NV(index, x, y) - ccall((:glVertexAttribL2i64NV, libgl), Cvoid, (GLuint, GLint64EXT, GLint64EXT), index, x, y) + ccall(getprocaddress_e("glVertexAttribL2i64NV"), Cvoid, (GLuint, GLint64EXT, GLint64EXT), index, x, y) end function glVertexAttribL3i64NV(index, x, y, z) - ccall((:glVertexAttribL3i64NV, libgl), Cvoid, (GLuint, GLint64EXT, GLint64EXT, GLint64EXT), index, x, y, z) + ccall(getprocaddress_e("glVertexAttribL3i64NV"), Cvoid, (GLuint, GLint64EXT, GLint64EXT, GLint64EXT), index, x, y, z) end function glVertexAttribL4i64NV(index, x, y, z, w) - ccall((:glVertexAttribL4i64NV, libgl), Cvoid, (GLuint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT), index, x, y, z, w) + ccall(getprocaddress_e("glVertexAttribL4i64NV"), Cvoid, (GLuint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT), index, x, y, z, w) end function glVertexAttribL1i64vNV(index, v) - ccall((:glVertexAttribL1i64vNV, libgl), Cvoid, (GLuint, Ptr{GLint64EXT}), index, v) + ccall(getprocaddress_e("glVertexAttribL1i64vNV"), Cvoid, (GLuint, Ptr{GLint64EXT}), index, v) end function glVertexAttribL2i64vNV(index, v) - ccall((:glVertexAttribL2i64vNV, libgl), Cvoid, (GLuint, Ptr{GLint64EXT}), index, v) + ccall(getprocaddress_e("glVertexAttribL2i64vNV"), Cvoid, (GLuint, Ptr{GLint64EXT}), index, v) end function glVertexAttribL3i64vNV(index, v) - ccall((:glVertexAttribL3i64vNV, libgl), Cvoid, (GLuint, Ptr{GLint64EXT}), index, v) + ccall(getprocaddress_e("glVertexAttribL3i64vNV"), Cvoid, (GLuint, Ptr{GLint64EXT}), index, v) end function glVertexAttribL4i64vNV(index, v) - ccall((:glVertexAttribL4i64vNV, libgl), Cvoid, (GLuint, Ptr{GLint64EXT}), index, v) + ccall(getprocaddress_e("glVertexAttribL4i64vNV"), Cvoid, (GLuint, Ptr{GLint64EXT}), index, v) end function glVertexAttribL1ui64NV(index, x) - ccall((:glVertexAttribL1ui64NV, libgl), Cvoid, (GLuint, GLuint64EXT), index, x) + ccall(getprocaddress_e("glVertexAttribL1ui64NV"), Cvoid, (GLuint, GLuint64EXT), index, x) end function glVertexAttribL2ui64NV(index, x, y) - ccall((:glVertexAttribL2ui64NV, libgl), Cvoid, (GLuint, GLuint64EXT, GLuint64EXT), index, x, y) + ccall(getprocaddress_e("glVertexAttribL2ui64NV"), Cvoid, (GLuint, GLuint64EXT, GLuint64EXT), index, x, y) end function glVertexAttribL3ui64NV(index, x, y, z) - ccall((:glVertexAttribL3ui64NV, libgl), Cvoid, (GLuint, GLuint64EXT, GLuint64EXT, GLuint64EXT), index, x, y, z) + ccall(getprocaddress_e("glVertexAttribL3ui64NV"), Cvoid, (GLuint, GLuint64EXT, GLuint64EXT, GLuint64EXT), index, x, y, z) end function glVertexAttribL4ui64NV(index, x, y, z, w) - ccall((:glVertexAttribL4ui64NV, libgl), Cvoid, (GLuint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT), index, x, y, z, w) + ccall(getprocaddress_e("glVertexAttribL4ui64NV"), Cvoid, (GLuint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT), index, x, y, z, w) end function glVertexAttribL1ui64vNV(index, v) - ccall((:glVertexAttribL1ui64vNV, libgl), Cvoid, (GLuint, Ptr{GLuint64EXT}), index, v) + ccall(getprocaddress_e("glVertexAttribL1ui64vNV"), Cvoid, (GLuint, Ptr{GLuint64EXT}), index, v) end function glVertexAttribL2ui64vNV(index, v) - ccall((:glVertexAttribL2ui64vNV, libgl), Cvoid, (GLuint, Ptr{GLuint64EXT}), index, v) + ccall(getprocaddress_e("glVertexAttribL2ui64vNV"), Cvoid, (GLuint, Ptr{GLuint64EXT}), index, v) end function glVertexAttribL3ui64vNV(index, v) - ccall((:glVertexAttribL3ui64vNV, libgl), Cvoid, (GLuint, Ptr{GLuint64EXT}), index, v) + ccall(getprocaddress_e("glVertexAttribL3ui64vNV"), Cvoid, (GLuint, Ptr{GLuint64EXT}), index, v) end function glVertexAttribL4ui64vNV(index, v) - ccall((:glVertexAttribL4ui64vNV, libgl), Cvoid, (GLuint, Ptr{GLuint64EXT}), index, v) + ccall(getprocaddress_e("glVertexAttribL4ui64vNV"), Cvoid, (GLuint, Ptr{GLuint64EXT}), index, v) end function glGetVertexAttribLi64vNV(index, pname, params) - ccall((:glGetVertexAttribLi64vNV, libgl), Cvoid, (GLuint, GLenum, Ptr{GLint64EXT}), index, pname, params) + ccall(getprocaddress_e("glGetVertexAttribLi64vNV"), Cvoid, (GLuint, GLenum, Ptr{GLint64EXT}), index, pname, params) end function glGetVertexAttribLui64vNV(index, pname, params) - ccall((:glGetVertexAttribLui64vNV, libgl), Cvoid, (GLuint, GLenum, Ptr{GLuint64EXT}), index, pname, params) + ccall(getprocaddress_e("glGetVertexAttribLui64vNV"), Cvoid, (GLuint, GLenum, Ptr{GLuint64EXT}), index, pname, params) end function glVertexAttribLFormatNV(index, size, type, stride) - ccall((:glVertexAttribLFormatNV, libgl), Cvoid, (GLuint, GLint, GLenum, GLsizei), index, size, type, stride) + ccall(getprocaddress_e("glVertexAttribLFormatNV"), Cvoid, (GLuint, GLint, GLenum, GLsizei), index, size, type, stride) end # typedef void ( APIENTRYP PFNGLBUFFERADDRESSRANGENVPROC ) ( GLenum pname , GLuint index , GLuint64EXT address , GLsizeiptr length ) @@ -8986,65 +8986,65 @@ const PFNGLVERTEXATTRIBIFORMATNVPROC = Ptr{Cvoid} const PFNGLGETINTEGERUI64I_VNVPROC = Ptr{Cvoid} function glBufferAddressRangeNV(pname, index, address, length) - ccall((:glBufferAddressRangeNV, libgl), Cvoid, (GLenum, GLuint, GLuint64EXT, GLsizeiptr), pname, index, address, length) + ccall(getprocaddress_e("glBufferAddressRangeNV"), Cvoid, (GLenum, GLuint, GLuint64EXT, GLsizeiptr), pname, index, address, length) end function glVertexFormatNV(size, type, stride) - ccall((:glVertexFormatNV, libgl), Cvoid, (GLint, GLenum, GLsizei), size, type, stride) + ccall(getprocaddress_e("glVertexFormatNV"), Cvoid, (GLint, GLenum, GLsizei), size, type, stride) end function glNormalFormatNV(type, stride) - ccall((:glNormalFormatNV, libgl), Cvoid, (GLenum, GLsizei), type, stride) + ccall(getprocaddress_e("glNormalFormatNV"), Cvoid, (GLenum, GLsizei), type, stride) end function glColorFormatNV(size, type, stride) - ccall((:glColorFormatNV, libgl), Cvoid, (GLint, GLenum, GLsizei), size, type, stride) + ccall(getprocaddress_e("glColorFormatNV"), Cvoid, (GLint, GLenum, GLsizei), size, type, stride) end function glIndexFormatNV(type, stride) - ccall((:glIndexFormatNV, libgl), Cvoid, (GLenum, GLsizei), type, stride) + ccall(getprocaddress_e("glIndexFormatNV"), Cvoid, (GLenum, GLsizei), type, stride) end function glTexCoordFormatNV(size, type, stride) - ccall((:glTexCoordFormatNV, libgl), Cvoid, (GLint, GLenum, GLsizei), size, type, stride) + ccall(getprocaddress_e("glTexCoordFormatNV"), Cvoid, (GLint, GLenum, GLsizei), size, type, stride) end function glEdgeFlagFormatNV(stride) - ccall((:glEdgeFlagFormatNV, libgl), Cvoid, (GLsizei,), stride) + ccall(getprocaddress_e("glEdgeFlagFormatNV"), Cvoid, (GLsizei,), stride) end function glSecondaryColorFormatNV(size, type, stride) - ccall((:glSecondaryColorFormatNV, libgl), Cvoid, (GLint, GLenum, GLsizei), size, type, stride) + ccall(getprocaddress_e("glSecondaryColorFormatNV"), Cvoid, (GLint, GLenum, GLsizei), size, type, stride) end function glFogCoordFormatNV(type, stride) - ccall((:glFogCoordFormatNV, libgl), Cvoid, (GLenum, GLsizei), type, stride) + ccall(getprocaddress_e("glFogCoordFormatNV"), Cvoid, (GLenum, GLsizei), type, stride) end function glVertexAttribFormatNV(index, size, type, normalized, stride) - ccall((:glVertexAttribFormatNV, libgl), Cvoid, (GLuint, GLint, GLenum, GLboolean, GLsizei), index, size, type, normalized, stride) + ccall(getprocaddress_e("glVertexAttribFormatNV"), Cvoid, (GLuint, GLint, GLenum, GLboolean, GLsizei), index, size, type, normalized, stride) end function glVertexAttribIFormatNV(index, size, type, stride) - ccall((:glVertexAttribIFormatNV, libgl), Cvoid, (GLuint, GLint, GLenum, GLsizei), index, size, type, stride) + ccall(getprocaddress_e("glVertexAttribIFormatNV"), Cvoid, (GLuint, GLint, GLenum, GLsizei), index, size, type, stride) end function glGetIntegerui64i_vNV(value, index, result) - ccall((:glGetIntegerui64i_vNV, libgl), Cvoid, (GLenum, GLuint, Ptr{GLuint64EXT}), value, index, result) + ccall(getprocaddress_e("glGetIntegerui64i_vNV"), Cvoid, (GLenum, GLuint, Ptr{GLuint64EXT}), value, index, result) end # typedef void ( APIENTRYP PFNGLVIEWPORTSWIZZLENVPROC ) ( GLuint index , GLenum swizzlex , GLenum swizzley , GLenum swizzlez , GLenum swizzlew ) const PFNGLVIEWPORTSWIZZLENVPROC = Ptr{Cvoid} function glViewportSwizzleNV(index, swizzlex, swizzley, swizzlez, swizzlew) - ccall((:glViewportSwizzleNV, libgl), Cvoid, (GLuint, GLenum, GLenum, GLenum, GLenum), index, swizzlex, swizzley, swizzlez, swizzlew) + ccall(getprocaddress_e("glViewportSwizzleNV"), Cvoid, (GLuint, GLenum, GLenum, GLenum, GLenum), index, swizzlex, swizzley, swizzlez, swizzlew) end # typedef void ( APIENTRYP PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC ) ( GLenum target , GLenum attachment , GLuint texture , GLint level , GLint baseViewIndex , GLsizei numViews ) const PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC = Ptr{Cvoid} function glFramebufferTextureMultiviewOVR(target, attachment, texture, level, baseViewIndex, numViews) - ccall((:glFramebufferTextureMultiviewOVR, libgl), Cvoid, (GLenum, GLenum, GLuint, GLint, GLint, GLsizei), target, attachment, texture, level, baseViewIndex, numViews) + ccall(getprocaddress_e("glFramebufferTextureMultiviewOVR"), Cvoid, (GLenum, GLenum, GLuint, GLint, GLint, GLsizei), target, attachment, texture, level, baseViewIndex, numViews) end const __gl_glcorearb_h_ = 1 @@ -13820,3 +13820,12 @@ const GL_MAX_VIEWS_OVR = 0x9631 const GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR = 0x9633 const GL_OVR_multiview2 = 1 + +# exports +const PREFIXES = ["GL", "gl"] +for name in names(@__MODULE__; all=true), prefix in PREFIXES + if startswith(string(name), prefix) + @eval export $name + end +end + From 14b125ab41cd5e39162579fc0180fb966d1b95e4 Mon Sep 17 00:00:00 2001 From: Gnimuc Date: Tue, 25 Jan 2022 20:51:49 +0900 Subject: [PATCH 5/6] Remove old code --- src/ModernGL.jl | 34 - src/functionloading.jl | 81 - src/glConstants.jl | 3499 ---------------------------------------- src/glFunctions.jl | 663 -------- src/glTypes.jl | 52 - 5 files changed, 4329 deletions(-) delete mode 100644 src/functionloading.jl delete mode 100644 src/glConstants.jl delete mode 100644 src/glFunctions.jl delete mode 100644 src/glTypes.jl diff --git a/src/ModernGL.jl b/src/ModernGL.jl index 47a1e54..6c82767 100644 --- a/src/ModernGL.jl +++ b/src/ModernGL.jl @@ -60,40 +60,6 @@ isavailable(ptr::Ptr{Cvoid}) = !( ptr == convert(Ptr{Cvoid}, 3) ) -abstract type Enum end - -macro GenEnums(list) - tmp = list.args - enumName = tmp[2] - splice!(tmp, 1:2) - enumType = typeof(eval(tmp[4].args[1].args[2])) - enumdict1 = Dict{enumType, Symbol}() - for elem in tmp - if Meta.isexpr(elem, :const) - enumdict1[eval(elem.args[1].args[2])] = elem.args[1].args[1] - end - end - dictname = gensym() - enumtype = quote - struct $(enumName){Sym, T} <: Enum - number::T - name::Symbol - end - $(dictname) = $enumdict1 - function $(enumName)(number::T) where T - if !haskey($(dictname), number) - error("$number is not a GLenum") - end - $(enumName){$(dictname)[number], T}(number, $(dictname)[number]) - end - - end - esc(Expr(:block, enumtype, tmp..., Expr(:export, :($(enumName))))) -end - -include("glTypes.jl") -include("functionloading.jl") -include("glConstants.jl") include("gl.jl") end # module diff --git a/src/functionloading.jl b/src/functionloading.jl deleted file mode 100644 index 6e126ae..0000000 --- a/src/functionloading.jl +++ /dev/null @@ -1,81 +0,0 @@ -const depsfile = joinpath("..", "deps", "deps.jl") - -if isfile(depsfile) - include(depsfile) -else - const enable_opengl_debugging = get(ENV, "MODERNGL_DEBUGGING", "false") == "true" -end - -gl_represent(x::GLenum) = GLENUM(x).name -gl_represent(x) = repr(x) - -function debug_opengl_expr(func_name, args) - if enable_opengl_debugging && func_name != :glGetError - quote - err = glGetError() - if err != GL_NO_ERROR - arguments = gl_represent.(tuple($(args...))) - error("OpenGL call to $($func_name), with arguments: $(arguments) - Failed with error: $(GLENUM(err).name).") - end - end - else - :() - end -end - -# based on getCFun macro -macro glfunc(opengl_func) - arguments = map(opengl_func.args[1].args[2:end]) do arg - isa(arg, Symbol) && return Expr(:(::), arg) - arg - end - # Get info out of arguments of `opengl_func` - arg_names = map(arg->arg.args[1], arguments) - return_type = opengl_func.args[2] - input_types = map(arg->arg.args[2], arguments) - func_name = opengl_func.args[1].args[1] - func_name_sym = Expr(:quote, func_name) - func_name_str = string(func_name) - ptr_expr = :(getprocaddress_e($func_name_str)) - - if Sys.iswindows() # windows has some function pointers statically available and some not, this is how we deal with it: - ptr = Libdl.dlsym_e(gl_lib, func_name) - if (ptr != C_NULL) - ptr_expr = :(($func_name_sym, "opengl32")) - ret = quote - function $func_name($(arg_names...)) - result = ccall($ptr_expr, $return_type, ($(input_types...),), $(arg_names...)) - $(debug_opengl_expr(func_name, arg_names)) - result - end - $(Expr(:export, func_name)) - end - return esc(ret) - end - end - ptr_sym = gensym("$(func_name)_func_pointer") - ret = quote - const $ptr_sym = Ref{Ptr{Cvoid}}() - function $func_name($(arg_names...)) - if $ptr_sym[]::Ptr{Cvoid} == C_NULL - $ptr_sym[]::Ptr{Cvoid} = $ptr_expr - end - result = ccall($ptr_sym[]::Ptr{Cvoid}, $return_type, ($(input_types...),), $(arg_names...)) - $(debug_opengl_expr(func_name, arg_names)) - result - end - $(Expr(:export, func_name)) - end - return esc(ret) -end - -if Sys.iswindows() - const gl_lib = Libdl.dlopen("opengl32") -end - -include("glFunctions.jl") - -if Sys.iswindows() - Libdl.dlclose(gl_lib) -end diff --git a/src/glConstants.jl b/src/glConstants.jl deleted file mode 100644 index 3425321..0000000 --- a/src/glConstants.jl +++ /dev/null @@ -1,3499 +0,0 @@ -@GenEnums begin -GLENUM -const GL_MAP1_GRID_SEGMENTS = convert(GLenum, 0x0DD1) -const GL_COMPILE = convert(GLenum, 0x1300) -const GL_SAMPLER_3D = convert(GLenum, 0x8B5F) -const GL_QUERY = convert(GLenum, 0x82E3) -const GL_INTENSITY = convert(GLenum, 0x8049) -const GL_FOG_HINT = convert(GLenum, 0x0C54) -const GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING = convert(GLenum, 0x889D) -const GL_DOUBLE_MAT2x3 = convert(GLenum, 0x8F49) -const GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER = convert(GLenum, 0x8CDC) -const GL_BUFFER_ACCESS = convert(GLenum, 0x88BB) -const GL_LUMINANCE12_ALPHA12 = convert(GLenum, 0x8047) -const GL_IMAGE_CUBE_MAP_ARRAY = convert(GLenum, 0x9054) -const GL_COMPRESSED_RG11_EAC = convert(GLenum, 0x9272) -const GL_RGBA32I = convert(GLenum, 0x8D82) -const GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS = convert(GLenum, 0x8E83) -const GL_FRAMEBUFFER_UNSUPPORTED = convert(GLenum, 0x8CDD) -const GL_SAMPLER_2D_ARRAY = convert(GLenum, 0x8DC1) -const GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = convert(GLenum, 0x92D1) -const GL_IMAGE_CLASS_4_X_8 = convert(GLenum, 0x82BF) -const GL_UNSIGNED_INT_ATOMIC_COUNTER = convert(GLenum, 0x92DB) -const GL_UNPACK_LSB_FIRST = convert(GLenum, 0x0CF1) -const GL_ACCUM_RED_BITS = convert(GLenum, 0x0D58) -const GL_ELEMENT_ARRAY_BARRIER_BIT = convert(GLbitfield, 0x00000002) -const GL_LIGHT4 = convert(GLenum, 0x4004) -const GL_POINT_SPRITE = convert(GLenum, 0x8861) -const GL_PIXEL_BUFFER_BARRIER_BIT = convert(GLbitfield, 0x00000080) -const GL_MAX_GEOMETRY_OUTPUT_VERTICES = convert(GLenum, 0x8DE0) -const GL_READ_FRAMEBUFFER_BINDING = convert(GLenum, 0x8CAA) -const GL_LIGHT_MODEL_LOCAL_VIEWER = convert(GLenum, 0x0B51) -const GL_OBJECT_LINEAR = convert(GLenum, 0x2401) -const GL_COLOR_ARRAY_SIZE = convert(GLenum, 0x8081) -const GL_TEXTURE12 = convert(GLenum, 0x84CC) -const GL_MAX_COMPUTE_WORK_GROUP_SIZE = convert(GLenum, 0x91BF) -const GL_OPERAND1_RGB = convert(GLenum, 0x8591) -const GL_X3D = convert(GLenum, 0x0601) -const GL_TEXTURE_BINDING_3D = convert(GLenum, 0x806A) -const GL_SECONDARY_COLOR_ARRAY = convert(GLenum, 0x845E) -const GL_UNSIGNED_SHORT_5_6_5_REV = convert(GLenum, 0x8364) -const GL_BGRA_INTEGER = convert(GLenum, 0x8D9B) -const GL_PACK_ROW_LENGTH = convert(GLenum, 0x0D02) -const GL_INT_IMAGE_2D_RECT = convert(GLenum, 0x905A) -const GL_SET = convert(GLenum, 0x150F) -const GL_LAYER_PROVOKING_VERTEX = convert(GLenum, 0x825E) -const GL_FRACTIONAL_EVEN = convert(GLenum, 0x8E7C) -const GL_QUADS = convert(GLenum, 0x0007) -const GL_INFO_LOG_LENGTH = convert(GLenum, 0x8B84) -const GL_EYE_LINEAR = convert(GLenum, 0x2400) -const GL_POLYGON_OFFSET_POINT = convert(GLenum, 0x2A01) -const GL_TEXTURE = convert(GLenum, 0x1702) -const GL_BLEND_EQUATION_ALPHA = convert(GLenum, 0x883D) -const GL_CLIP_DISTANCE0 = convert(GLenum, 0x3000) -const GL_LINES = convert(GLenum, 0x0001) -const GL_MATRIX_STRIDE = convert(GLenum, 0x92FF) -const GL_COMPILE_STATUS = convert(GLenum, 0x8B81) -const GL_QUERY_RESULT = convert(GLenum, 0x8866) -const GL_MAX_FRAMEBUFFER_WIDTH = convert(GLenum, 0x9315) -const GL_RGB5 = convert(GLenum, 0x8050) -const GL_VERTEX_SHADER = convert(GLenum, 0x8B31) -const GL_LIST_BIT = convert(GLbitfield, 0x00020000) -const GL_PROXY_TEXTURE_2D_MULTISAMPLE = convert(GLenum, 0x9101) -const GL_INT_SAMPLER_CUBE_MAP_ARRAY = convert(GLenum, 0x900E) -const GL_TEXTURE_PRIORITY = convert(GLenum, 0x8066) -const GL_EVAL_BIT = convert(GLbitfield, 0x00010000) -const GL_POINT_SPRITE_COORD_ORIGIN = convert(GLenum, 0x8CA0) -const GL_CCW = convert(GLenum, 0x0901) -const GL_TEXTURE26 = convert(GLenum, 0x84DA) -const GL_SMOOTH_LINE_WIDTH_GRANULARITY = convert(GLenum, 0x0B23) -const GL_MEDIUM_INT = convert(GLenum, 0x8DF4) -const GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = convert(GLenum, 0x8CD1) -const GL_SHADER_COMPILER = convert(GLenum, 0x8DFA) -const GL_BUFFER_MAP_LENGTH = convert(GLenum, 0x9120) -const GL_ATTACHED_SHADERS = convert(GLenum, 0x8B85) -const GL_CLIP_DISTANCE5 = convert(GLenum, 0x3005) -const GL_MAP_UNSYNCHRONIZED_BIT = convert(GLbitfield, 0x0020) -const GL_BLEND_SRC_ALPHA = convert(GLenum, 0x80CB) -const GL_MAX_UNIFORM_LOCATIONS = convert(GLenum, 0x826E) -const GL_COMPRESSED_RGB8_ETC2 = convert(GLenum, 0x9274) -const GL_R32F = convert(GLenum, 0x822E) -const GL_INT_SAMPLER_2D = convert(GLenum, 0x8DCA) -const GL_DOUBLE_MAT4x3 = convert(GLenum, 0x8F4E) -const GL_C3F_V3F = convert(GLenum, 0x2A24) -const GL_TEXTURE_CUBE_MAP_NEGATIVE_X = convert(GLenum, 0x8516) -const GL_MAP2_INDEX = convert(GLenum, 0x0DB1) -const GL_TEXTURE_FETCH_BARRIER_BIT = convert(GLbitfield, 0x00000008) -const GL_DEPTH_BUFFER_BIT = convert(GLbitfield, 0x00000100) -const GL_STENCIL_BITS = convert(GLenum, 0x0D57) -const GL_INTENSITY12 = convert(GLenum, 0x804C) -const GL_DEPTH_COMPONENT32 = convert(GLenum, 0x81A7) -const GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = convert(GLenum, 0x8E86) -const GL_SYNC_FLUSH_COMMANDS_BIT = convert(GLbitfield, 0x00000001) -const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER = convert(GLenum, 0x92CB) -const GL_UNSIGNED_INT_IMAGE_CUBE = convert(GLenum, 0x9066) -const GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS = convert(GLenum, 0x8A42) -const GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = convert(GLenum, 0x8C88) -const GL_LIST_BASE = convert(GLenum, 0x0B32) -const GL_DRAW_BUFFER7 = convert(GLenum, 0x882C) -const GL_INTERNALFORMAT_BLUE_SIZE = convert(GLenum, 0x8273) -const GL_POINT_SMOOTH = convert(GLenum, 0x0B10) -const GL_INT_SAMPLER_3D = convert(GLenum, 0x8DCB) -const GL_BUFFER_MAP_OFFSET = convert(GLenum, 0x9121) -const GL_MAX_GEOMETRY_SHADER_INVOCATIONS = convert(GLenum, 0x8E5A) -const GL_DEPTH_COMPONENTS = convert(GLenum, 0x8284) -const GL_REFERENCED_BY_TESS_CONTROL_SHADER = convert(GLenum, 0x9307) -const GL_HIGH_FLOAT = convert(GLenum, 0x8DF2) -const GL_PIXEL_MAP_S_TO_S = convert(GLenum, 0x0C71) -const GL_INT_SAMPLER_1D_ARRAY = convert(GLenum, 0x8DCE) -const GL_DOUBLE = convert(GLenum, 0x140A) -const GL_ACTIVE_SUBROUTINE_MAX_LENGTH = convert(GLenum, 0x8E48) -const GL_FOG_COORDINATE_ARRAY_STRIDE = convert(GLenum, 0x8455) -const GL_RG32F = convert(GLenum, 0x8230) -const GL_COMMAND_BARRIER_BIT = convert(GLbitfield, 0x00000040) -const GL_GENERATE_MIPMAP = convert(GLenum, 0x8191) -const GL_RGB10_A2UI = convert(GLenum, 0x906F) -const GL_T2F_C4UB_V3F = convert(GLenum, 0x2A29) -const GL_RGB16 = convert(GLenum, 0x8054) -const GL_TEXTURE_MATRIX = convert(GLenum, 0x0BA8) -const GL_IMAGE_2D_MULTISAMPLE_ARRAY = convert(GLenum, 0x9056) -const GL_SRGB8_ALPHA8 = convert(GLenum, 0x8C43) -const GL_LAST_VERTEX_CONVENTION = convert(GLenum, 0x8E4E) -const GL_COLOR_ARRAY_STRIDE = convert(GLenum, 0x8083) -const GL_MAX_DEBUG_LOGGED_MESSAGES = convert(GLenum, 0x9144) -const GL_VERTEX_SUBROUTINE = convert(GLenum, 0x92E8) -const GL_STENCIL_INDEX16 = convert(GLenum, 0x8D49) -const GL_TEXTURE_CUBE_MAP_POSITIVE_X = convert(GLenum, 0x8515) -const GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS = convert(GLenum, 0x92C5) -const GL_BITMAP = convert(GLenum, 0x1A00) -const GL_CURRENT_INDEX = convert(GLenum, 0x0B01) -const GL_IMAGE_PIXEL_FORMAT = convert(GLenum, 0x82A9) -const GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = convert(GLenum, 0x90D7) -const GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = convert(GLenum, 0x8216) -const GL_MAP1_GRID_DOMAIN = convert(GLenum, 0x0DD0) -const GL_VERTEX_PROGRAM_POINT_SIZE = convert(GLenum, 0x8642) -const GL_STENCIL_PASS_DEPTH_FAIL = convert(GLenum, 0x0B95) -const GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = convert(GLenum, 0x8518) -const GL_BLUE_INTEGER = convert(GLenum, 0x8D96) -const GL_STENCIL_BACK_FAIL = convert(GLenum, 0x8801) -const GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE = convert(GLenum, 0x92D8) -const GL_XOR = convert(GLenum, 0x1506) -const GL_GET_TEXTURE_IMAGE_TYPE = convert(GLenum, 0x8292) -const GL_VERTEX_PROGRAM_TWO_SIDE = convert(GLenum, 0x8643) -const GL_LIGHT_MODEL_AMBIENT = convert(GLenum, 0x0B53) -const GL_OPERAND0_ALPHA = convert(GLenum, 0x8598) -const GL_FOG_COORD_ARRAY_BUFFER_BINDING = convert(GLenum, 0x889D) -const GL_RGBA16UI = convert(GLenum, 0x8D76) -const GL_AMBIENT = convert(GLenum, 0x1200) -const GL_DEPTH_CLAMP = convert(GLenum, 0x864F) -const GL_DEBUG_SOURCE_SHADER_COMPILER = convert(GLenum, 0x8248) -const GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET = convert(GLenum, 0x8E5F) -const GL_DYNAMIC_COPY = convert(GLenum, 0x88EA) -const GL_TEXTURE_1D_ARRAY = convert(GLenum, 0x8C18) -const GL_TEXTURE_GATHER = convert(GLenum, 0x82A2) -const GL_EQUIV = convert(GLenum, 0x1509) -const GL_CURRENT_RASTER_INDEX = convert(GLenum, 0x0B05) -const GL_POLYGON_OFFSET_FILL = convert(GLenum, 0x8037) -const GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = convert(GLenum, 0x8266) -const GL_COLOR_WRITEMASK = convert(GLenum, 0x0C23) -const GL_POINT_TOKEN = convert(GLenum, 0x0701) -const GL_TEXTURE8 = convert(GLenum, 0x84C8) -const GL_EQUAL = convert(GLenum, 0x0202) -const GL_R32I = convert(GLenum, 0x8235) -const GL_MAX_ARRAY_TEXTURE_LAYERS = convert(GLenum, 0x88FF) -const GL_TEXTURE1 = convert(GLenum, 0x84C1) -const GL_MAX_NUM_ACTIVE_VARIABLES = convert(GLenum, 0x92F7) -const GL_SECONDARY_COLOR_ARRAY_STRIDE = convert(GLenum, 0x845C) -const GL_UNSIGNED_INT_10F_11F_11F_REV = convert(GLenum, 0x8C3B) -const GL_SRC1_RGB = convert(GLenum, 0x8581) -const GL_PROGRAM = convert(GLenum, 0x82E2) -const GL_RETURN = convert(GLenum, 0x0102) -const GL_RGBA16 = convert(GLenum, 0x805B) -const GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = convert(GLenum, 0x8D56) -const GL_TEXTURE_2D = convert(GLenum, 0x0DE1) -const GL_TEXTURE_BINDING_1D = convert(GLenum, 0x8068) -const GL_MAX_GEOMETRY_ATOMIC_COUNTERS = convert(GLenum, 0x92D5) -const GL_MAX_GEOMETRY_OUTPUT_COMPONENTS = convert(GLenum, 0x9124) -const GL_SHADER_STORAGE_BUFFER_START = convert(GLenum, 0x90D4) -const GL_LINE_WIDTH_RANGE = convert(GLenum, 0x0B22) -const GL_PIXEL_MAP_I_TO_B = convert(GLenum, 0x0C74) -const GL_TESS_CONTROL_SHADER_BIT = convert(GLbitfield, 0x00000008) -const GL_VIEW_CLASS_BPTC_UNORM = convert(GLenum, 0x82D2) -const GL_ACCUM_BUFFER_BIT = convert(GLbitfield, 0x00000200) -const GL_SAMPLES_PASSED = convert(GLenum, 0x8914) -const GL_MAP2_GRID_SEGMENTS = convert(GLenum, 0x0DD3) -const GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = convert(GLenum, 0x90C9) -const GL_READ_FRAMEBUFFER = convert(GLenum, 0x8CA8) -const GL_INDEX_CLEAR_VALUE = convert(GLenum, 0x0C20) -const GL_ENABLE_BIT = convert(GLbitfield, 0x00002000) -const GL_OBJECT_TYPE = convert(GLenum, 0x9112) -const GL_MAP2_VERTEX_3 = convert(GLenum, 0x0DB7) -const GL_MAX_DEPTH = convert(GLenum, 0x8280) -const GL_OUT_OF_MEMORY = convert(GLenum, 0x0505) -const GL_MAX_COMPUTE_UNIFORM_BLOCKS = convert(GLenum, 0x91BB) -const GL_MAX_COMPUTE_ATOMIC_COUNTERS = convert(GLenum, 0x8265) -const GL_COLOR_ATTACHMENT12 = convert(GLenum, 0x8CEC) -const GL_UNSIGNED_SHORT_4_4_4_4 = convert(GLenum, 0x8033) -const GL_GEOMETRY_SHADER_INVOCATIONS = convert(GLenum, 0x887F) -const GL_STENCIL_INDEX8 = convert(GLenum, 0x8D48) -const GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS = convert(GLenum, 0x90DC) -const GL_RGB8I = convert(GLenum, 0x8D8F) -const GL_AUTO_GENERATE_MIPMAP = convert(GLenum, 0x8295) -const GL_MAP1_VERTEX_3 = convert(GLenum, 0x0D97) -const GL_CLIP_DISTANCE2 = convert(GLenum, 0x3002) -const GL_TEXTURE18 = convert(GLenum, 0x84D2) -const GL_INT_2_10_10_10_REV = convert(GLenum, 0x8D9F) -const GL_UNSIGNED_INT_SAMPLER_3D = convert(GLenum, 0x8DD3) -const GL_DEPTH_ATTACHMENT = convert(GLenum, 0x8D00) -const GL_IMAGE_CLASS_11_11_10 = convert(GLenum, 0x82C2) -const GL_COMPRESSED_RGBA8_ETC2_EAC = convert(GLenum, 0x9278) -const GL_UNPACK_ALIGNMENT = convert(GLenum, 0x0CF5) -const GL_PROVOKING_VERTEX = convert(GLenum, 0x8E4F) -const GL_ONE_MINUS_SRC_ALPHA = convert(GLenum, 0x0303) -const GL_PIXEL_MAP_I_TO_I = convert(GLenum, 0x0C70) -const GL_CURRENT_TEXTURE_COORDS = convert(GLenum, 0x0B03) -const GL_COORD_REPLACE = convert(GLenum, 0x8862) -const GL_DIFFUSE = convert(GLenum, 0x1201) -const GL_TEXTURE_INTENSITY_SIZE = convert(GLenum, 0x8061) -const GL_DRAW_BUFFER6 = convert(GLenum, 0x882B) -const GL_TEXTURE_2D_MULTISAMPLE_ARRAY = convert(GLenum, 0x9102) -const GL_DEBUG_TYPE_PERFORMANCE = convert(GLenum, 0x8250) -const GL_LOCATION_INDEX = convert(GLenum, 0x930F) -const GL_CLEAR_TEXTURE = convert(GLenum, 0x9365) -const GL_TEXTURE_GEN_R = convert(GLenum, 0x0C62) -const GL_FLOAT_MAT2 = convert(GLenum, 0x8B5A) -const GL_UNSIGNED_NORMALIZED = convert(GLenum, 0x8C17) -const GL_VIEW_CLASS_16_BITS = convert(GLenum, 0x82CA) -const GL_QUAD_STRIP = convert(GLenum, 0x0008) -const GL_DYNAMIC_DRAW = convert(GLenum, 0x88E8) -const GL_SYNC_FENCE = convert(GLenum, 0x9116) -const GL_ONE_MINUS_SRC1_ALPHA = convert(GLenum, 0x88FB) -const GL_MANUAL_GENERATE_MIPMAP = convert(GLenum, 0x8294) -const GL_DEPTH_FUNC = convert(GLenum, 0x0B74) -const GL_VERTEX_SUBROUTINE_UNIFORM = convert(GLenum, 0x92EE) -const GL_COMPUTE_TEXTURE = convert(GLenum, 0x82A0) -const GL_MAP2_VERTEX_4 = convert(GLenum, 0x0DB8) -const GL_ARRAY_SIZE = convert(GLenum, 0x92FB) -const GL_FLOAT_MAT3x2 = convert(GLenum, 0x8B67) -const GL_RGBA8I = convert(GLenum, 0x8D8E) -const GL_RENDERBUFFER_SAMPLES = convert(GLenum, 0x8CAB) -const GL_TEXTURE_VIEW = convert(GLenum, 0x82B5) -const GL_VIEW_CLASS_RGTC1_RED = convert(GLenum, 0x82D0) -const GL_PIXEL_MAP_G_TO_G = convert(GLenum, 0x0C77) -const GL_INTENSITY8 = convert(GLenum, 0x804B) -const GL_PIXEL_MAP_A_TO_A_SIZE = convert(GLenum, 0x0CB9) -const GL_MAP2_GRID_DOMAIN = convert(GLenum, 0x0DD2) -const GL_N3F_V3F = convert(GLenum, 0x2A25) -const GL_MAX_VIEWPORTS = convert(GLenum, 0x825B) -const GL_COMPRESSED_R11_EAC = convert(GLenum, 0x9270) -const GL_SRC0_ALPHA = convert(GLenum, 0x8588) -const GL_INTERNALFORMAT_RED_TYPE = convert(GLenum, 0x8278) -const GL_DOMAIN = convert(GLenum, 0x0A02) -const GL_IMAGE_CUBE = convert(GLenum, 0x9050) -const GL_TEXTURE_1D = convert(GLenum, 0x0DE0) -const GL_RENDERBUFFER_WIDTH = convert(GLenum, 0x8D42) -const GL_POINT_SIZE = convert(GLenum, 0x0B11) -const GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST = convert(GLenum, 0x82AC) -const GL_VIEWPORT = convert(GLenum, 0x0BA2) -const GL_R16_SNORM = convert(GLenum, 0x8F98) -const GL_RGBA = convert(GLenum, 0x1908) -const GL_DRAW_PIXEL_TOKEN = convert(GLenum, 0x0705) -const GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE = convert(GLenum, 0x906B) -const GL_TEXTURE_SWIZZLE_G = convert(GLenum, 0x8E43) -const GL_TEXTURE_IMMUTABLE_FORMAT = convert(GLenum, 0x912F) -const GL_CLAMP = convert(GLenum, 0x2900) -const GL_TEXTURE31 = convert(GLenum, 0x84DF) -const GL_TEXTURE_GEN_MODE = convert(GLenum, 0x2500) -const GL_FOG_COORD_ARRAY_STRIDE = convert(GLenum, 0x8455) -const GL_MAX_SUBROUTINES = convert(GLenum, 0x8DE7) -const GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = convert(GLenum, 0x92CC) -const GL_TEXTURE3 = convert(GLenum, 0x84C3) -const GL_PIXEL_MAP_I_TO_R = convert(GLenum, 0x0C72) -const GL_COMBINE_ALPHA = convert(GLenum, 0x8572) -const GL_SUBTRACT = convert(GLenum, 0x84E7) -const GL_DRAW_BUFFER2 = convert(GLenum, 0x8827) -const GL_RGB4 = convert(GLenum, 0x804F) -const GL_UNSIGNED_INT_SAMPLER_2D = convert(GLenum, 0x8DD2) -const GL_COLOR_ARRAY_TYPE = convert(GLenum, 0x8082) -const GL_COMBINE_RGB = convert(GLenum, 0x8571) -const GL_MAP1_TEXTURE_COORD_3 = convert(GLenum, 0x0D95) -const GL_ELEMENT_ARRAY_BUFFER = convert(GLenum, 0x8893) -const GL_COMPRESSED_SLUMINANCE = convert(GLenum, 0x8C4A) -const GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR = convert(GLenum, 0x824D) -const GL_FULL_SUPPORT = convert(GLenum, 0x82B7) -const GL_SUBPIXEL_BITS = convert(GLenum, 0x0D50) -const GL_UNPACK_SKIP_ROWS = convert(GLenum, 0x0CF3) -const GL_VIEW_CLASS_64_BITS = convert(GLenum, 0x82C6) -const GL_SOURCE0_RGB = convert(GLenum, 0x8580) -const GL_TEXTURE_SWIZZLE_RGBA = convert(GLenum, 0x8E46) -const GL_IMAGE_FORMAT_COMPATIBILITY_TYPE = convert(GLenum, 0x90C7) -const GL_UNIFORM_BLOCK_INDEX = convert(GLenum, 0x8A3A) -const GL_MAX_DUAL_SOURCE_DRAW_BUFFERS = convert(GLenum, 0x88FC) -const GL_RGBA_INTEGER = convert(GLenum, 0x8D99) -const GL_MAX_COMBINED_IMAGE_UNIFORMS = convert(GLenum, 0x90CF) -const GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = convert(GLenum, 0x90D9) -const GL_RGB16F = convert(GLenum, 0x881B) -const GL_MAX_COMBINED_UNIFORM_BLOCKS = convert(GLenum, 0x8A2E) -const GL_TESS_GEN_POINT_MODE = convert(GLenum, 0x8E79) -const GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY = convert(GLenum, 0x9061) -const GL_FRAMEBUFFER_BARRIER_BIT = convert(GLbitfield, 0x00000400) -const GL_POINTS = convert(GLenum, 0x0000) -const GL_INCR_WRAP = convert(GLenum, 0x8507) -const GL_ACTIVE_ATTRIBUTES = convert(GLenum, 0x8B89) -const GL_FIXED_ONLY = convert(GLenum, 0x891D) -const GL_MAX_UNIFORM_BLOCK_SIZE = convert(GLenum, 0x8A30) -const GL_TEXTURE5 = convert(GLenum, 0x84C5) -const GL_ALPHA12 = convert(GLenum, 0x803D) -const GL_GREEN_SCALE = convert(GLenum, 0x0D18) -const GL_INT_IMAGE_2D = convert(GLenum, 0x9058) -const GL_INTERNALFORMAT_GREEN_SIZE = convert(GLenum, 0x8272) -const GL_CURRENT_FOG_COORD = convert(GLenum, 0x8453) -const GL_SRC1_ALPHA = convert(GLenum, 0x8589) -const GL_PROXY_TEXTURE_1D = convert(GLenum, 0x8063) -const GL_PROXY_TEXTURE_CUBE_MAP_ARRAY = convert(GLenum, 0x900B) -const GL_TEXTURE_WRAP_S = convert(GLenum, 0x2802) -const GL_COMPRESSED_SIGNED_RG11_EAC = convert(GLenum, 0x9273) -const GL_X2D = convert(GLenum, 0x0600) -const GL_SAMPLER_BUFFER = convert(GLenum, 0x8DC2) -const GL_SRGB = convert(GLenum, 0x8C40) -const GL_STATIC_DRAW = convert(GLenum, 0x88E4) -const GL_TEXTURE_COORD_ARRAY_POINTER = convert(GLenum, 0x8092) -const GL_TEXTURE_2D_MULTISAMPLE = convert(GLenum, 0x9100) -const GL_INDEX_ARRAY = convert(GLenum, 0x8077) -const GL_T = convert(GLenum, 0x2001) -const GL_R11F_G11F_B10F = convert(GLenum, 0x8C3A) -const GL_RENDERBUFFER_ALPHA_SIZE = convert(GLenum, 0x8D53) -const GL_LESS = convert(GLenum, 0x0201) -const GL_TEXTURE_SHARED_SIZE = convert(GLenum, 0x8C3F) -const GL_INCR = convert(GLenum, 0x1E02) -const GL_DISPLAY_LIST = convert(GLenum, 0x82E7) -const GL_MAX_TEXTURE_SIZE = convert(GLenum, 0x0D33) -const GL_MAX_DRAW_BUFFERS = convert(GLenum, 0x8824) -const GL_TEXTURE_COMPRESSED_BLOCK_WIDTH = convert(GLenum, 0x82B1) -const GL_TEXTURE_ENV_MODE = convert(GLenum, 0x2200) -const GL_LIGHT3 = convert(GLenum, 0x4003) -const GL_TEXTURE_BLUE_SIZE = convert(GLenum, 0x805E) -const GL_UNSIGNED_INT_SAMPLER_2D_RECT = convert(GLenum, 0x8DD5) -const GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = convert(GLenum, 0x8E82) -const GL_EDGE_FLAG_ARRAY = convert(GLenum, 0x8079) -const GL_IMAGE_BUFFER = convert(GLenum, 0x9051) -const GL_TEXTURE_WRAP_R = convert(GLenum, 0x8072) -const GL_QUERY_COUNTER_BITS = convert(GLenum, 0x8864) -const GL_DECAL = convert(GLenum, 0x2101) -const GL_RG32I = convert(GLenum, 0x823B) -const GL_NUM_COMPATIBLE_SUBROUTINES = convert(GLenum, 0x8E4A) -const GL_ATOMIC_COUNTER_BARRIER_BIT = convert(GLbitfield, 0x00001000) -const GL_INTERNALFORMAT_PREFERRED = convert(GLenum, 0x8270) -const GL_ONE_MINUS_DST_ALPHA = convert(GLenum, 0x0305) -const GL_COLOR_ATTACHMENT8 = convert(GLenum, 0x8CE8) -const GL_VIEW_CLASS_24_BITS = convert(GLenum, 0x82C9) -const GL_RGB565 = convert(GLenum, 0x8D62) -const GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS = convert(GLenum, 0x90CB) -const GL_DEBUG_OUTPUT = convert(GLenum, 0x92E0) -const GL_COMPRESSED_SIGNED_RED_RGTC1 = convert(GLenum, 0x8DBC) -const GL_PACK_SKIP_PIXELS = convert(GLenum, 0x0D04) -const GL_SECONDARY_COLOR_ARRAY_TYPE = convert(GLenum, 0x845B) -const GL_TEXTURE_GREEN_SIZE = convert(GLenum, 0x805D) -const GL_EXP2 = convert(GLenum, 0x0801) -const GL_LIGHT1 = convert(GLenum, 0x4001) -const GL_INT_IMAGE_3D = convert(GLenum, 0x9059) -const GL_MAX_COMBINED_DIMENSIONS = convert(GLenum, 0x8282) -const GL_DRAW_BUFFER13 = convert(GLenum, 0x8832) -const GL_DEPTH = convert(GLenum, 0x1801) -const GL_MAX_PATCH_VERTICES = convert(GLenum, 0x8E7D) -const GL_CULL_FACE_MODE = convert(GLenum, 0x0B45) -const GL_CLIP_PLANE5 = convert(GLenum, 0x3005) -const GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = convert(GLenum, 0x8CD6) -const GL_COMPRESSED_RGB = convert(GLenum, 0x84ED) -const GL_ALPHA_BIAS = convert(GLenum, 0x0D1D) -const GL_TEXTURE_GEN_S = convert(GLenum, 0x0C60) -const GL_FRAGMENT_SHADER_BIT = convert(GLbitfield, 0x00000002) -const GL_SIGNALED = convert(GLenum, 0x9119) -const GL_INT_IMAGE_2D_ARRAY = convert(GLenum, 0x905E) -const GL_MAP2_TEXTURE_COORD_1 = convert(GLenum, 0x0DB3) -const GL_FLOAT_MAT4x3 = convert(GLenum, 0x8B6A) -const GL_ACTIVE_RESOURCES = convert(GLenum, 0x92F5) -const GL_SAMPLER_2D = convert(GLenum, 0x8B5E) -const GL_VERTEX_BINDING_DIVISOR = convert(GLenum, 0x82D6) -const GL_TEXTURE_DEPTH_SIZE = convert(GLenum, 0x884A) -const GL_SRC0_RGB = convert(GLenum, 0x8580) -const GL_AND_REVERSE = convert(GLenum, 0x1502) -const GL_UNPACK_COMPRESSED_BLOCK_WIDTH = convert(GLenum, 0x9127) -const GL_CLEAR = convert(GLenum, 0x1500) -const GL_DEPTH_TEXTURE_MODE = convert(GLenum, 0x884B) -const GL_TEXTURE_MAX_LOD = convert(GLenum, 0x813B) -const GL_MAX_CLIENT_ATTRIB_STACK_DEPTH = convert(GLenum, 0x0D3B) -const GL_SAMPLE_ALPHA_TO_ONE = convert(GLenum, 0x809F) -const GL_FLOAT_VEC4 = convert(GLenum, 0x8B52) -const GL_FOG_DENSITY = convert(GLenum, 0x0B62) -const GL_LINE_TOKEN = convert(GLenum, 0x0702) -const GL_TIMEOUT_IGNORED = convert(GLenum, 0xffffffff) -const GL_SLUMINANCE = convert(GLenum, 0x8C46) -const GL_TEXTURE_FIXED_SAMPLE_LOCATIONS = convert(GLenum, 0x9107) -const GL_C4UB_V3F = convert(GLenum, 0x2A23) -const GL_SAMPLE_BUFFERS = convert(GLenum, 0x80A8) -const GL_NEAREST = convert(GLenum, 0x2600) -const GL_TEXTURE_VIEW_NUM_LAYERS = convert(GLenum, 0x82DE) -const GL_RG8 = convert(GLenum, 0x822B) -const GL_LINE_LOOP = convert(GLenum, 0x0002) -const GL_RGB8UI = convert(GLenum, 0x8D7D) -const GL_PIXEL_PACK_BUFFER = convert(GLenum, 0x88EB) -const GL_GEOMETRY_VERTICES_OUT = convert(GLenum, 0x8916) -const GL_DEBUG_CALLBACK_FUNCTION = convert(GLenum, 0x8244) -const GL_COMPRESSED_ALPHA = convert(GLenum, 0x84E9) -const GL_FLOAT_MAT2x3 = convert(GLenum, 0x8B65) -const GL_ALPHA_TEST = convert(GLenum, 0x0BC0) -const GL_R16UI = convert(GLenum, 0x8234) -const GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = convert(GLenum, 0x8E1E) -const GL_SYNC_CONDITION = convert(GLenum, 0x9113) -const GL_COLOR_ATTACHMENT11 = convert(GLenum, 0x8CEB) -const GL_BOOL_VEC2 = convert(GLenum, 0x8B57) -const GL_READ_ONLY = convert(GLenum, 0x88B8) -const GL_PROGRAM_BINARY_RETRIEVABLE_HINT = convert(GLenum, 0x8257) -const GL_COMPUTE_SHADER = convert(GLenum, 0x91B9) -const GL_VIEW_CLASS_BPTC_FLOAT = convert(GLenum, 0x82D3) -const GL_R16F = convert(GLenum, 0x822D) -const GL_LIGHT6 = convert(GLenum, 0x4006) -const GL_SECONDARY_COLOR_ARRAY_SIZE = convert(GLenum, 0x845A) -const GL_SAMPLER_CUBE_SHADOW = convert(GLenum, 0x8DC5) -const GL_VIEWPORT_SUBPIXEL_BITS = convert(GLenum, 0x825C) -const GL_RED_BITS = convert(GLenum, 0x0D52) -const GL_COMPARE_REF_TO_TEXTURE = convert(GLenum, 0x884E) -const GL_STENCIL_BACK_REF = convert(GLenum, 0x8CA3) -const GL_PREVIOUS = convert(GLenum, 0x8578) -const GL_STENCIL_BACK_FUNC = convert(GLenum, 0x8800) -const GL_COMPRESSED_LUMINANCE = convert(GLenum, 0x84EA) -const GL_BITMAP_TOKEN = convert(GLenum, 0x0704) -const GL_CLIP_DISTANCE7 = convert(GLenum, 0x3007) -const GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT = convert(GLenum, 0x82B2) -const GL_UNSIGNED_SHORT_4_4_4_4_REV = convert(GLenum, 0x8365) -const GL_VIEW_CLASS_96_BITS = convert(GLenum, 0x82C5) -const GL_TEXTURE4 = convert(GLenum, 0x84C4) -const GL_ACCUM_GREEN_BITS = convert(GLenum, 0x0D59) -const GL_POINT_SIZE_RANGE = convert(GLenum, 0x0B12) -const GL_UNSIGNED_BYTE_3_3_2 = convert(GLenum, 0x8032) -const GL_TEXTURE_SWIZZLE_A = convert(GLenum, 0x8E45) -const GL_FRACTIONAL_ODD = convert(GLenum, 0x8E7B) -const GL_MAX_VERTEX_OUTPUT_COMPONENTS = convert(GLenum, 0x9122) -const GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = convert(GLenum, 0x90D8) -const GL_WRITE_ONLY = convert(GLenum, 0x88B9) -const GL_IMPLEMENTATION_COLOR_READ_TYPE = convert(GLenum, 0x8B9A) -const GL_SHADER_BINARY_FORMATS = convert(GLenum, 0x8DF8) -const GL_COMPRESSED_RED = convert(GLenum, 0x8225) -const GL_PIXEL_MAP_A_TO_A = convert(GLenum, 0x0C79) -const GL_TEXTURE_COMPONENTS = convert(GLenum, 0x1003) -const GL_INVALID_VALUE = convert(GLenum, 0x0501) -const GL_GEOMETRY_SUBROUTINE_UNIFORM = convert(GLenum, 0x92F1) -const GL_CLAMP_READ_COLOR = convert(GLenum, 0x891C) -const GL_ACCUM = convert(GLenum, 0x0100) -const GL_RGB_SCALE = convert(GLenum, 0x8573) -const GL_PIXEL_MAP_S_TO_S_SIZE = convert(GLenum, 0x0CB1) -const GL_CURRENT_RASTER_SECONDARY_COLOR = convert(GLenum, 0x845F) -const GL_NUM_SAMPLE_COUNTS = convert(GLenum, 0x9380) -const GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST = convert(GLenum, 0x82AD) -const GL_RASTERIZER_DISCARD = convert(GLenum, 0x8C89) -const GL_VERTEX_ARRAY_TYPE = convert(GLenum, 0x807B) -const GL_SRGB8 = convert(GLenum, 0x8C41) -const GL_SINGLE_COLOR = convert(GLenum, 0x81F9) -const GL_RG_SNORM = convert(GLenum, 0x8F91) -const GL_UNSIGNED_INT_IMAGE_2D_RECT = convert(GLenum, 0x9065) -const GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = convert(GLenum, 0x8A33) -const GL_LUMINANCE = convert(GLenum, 0x1909) -const GL_RGB32F = convert(GLenum, 0x8815) -const GL_REPLACE = convert(GLenum, 0x1E01) -const GL_MATRIX_MODE = convert(GLenum, 0x0BA0) -const GL_DEPTH_COMPONENT = convert(GLenum, 0x1902) -const GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = convert(GLenum, 0x8A31) -const GL_OBJECT_PLANE = convert(GLenum, 0x2501) -const GL_WEIGHT_ARRAY_BUFFER_BINDING = convert(GLenum, 0x889E) -const GL_RGBA8 = convert(GLenum, 0x8058) -const GL_SAMPLE_SHADING = convert(GLenum, 0x8C36) -const GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = convert(GLenum, 0x9314) -const GL_TEXTURE_GEN_Q = convert(GLenum, 0x0C63) -const GL_TEXTURE_DEPTH_TYPE = convert(GLenum, 0x8C16) -const GL_MAX_TESS_PATCH_COMPONENTS = convert(GLenum, 0x8E84) -const GL_SAMPLER_CUBE_MAP_ARRAY = convert(GLenum, 0x900C) -const GL_TEXTURE_STACK_DEPTH = convert(GLenum, 0x0BA5) -const GL_SCISSOR_TEST = convert(GLenum, 0x0C11) -const GL_LIGHT2 = convert(GLenum, 0x4002) -const GL_STEREO = convert(GLenum, 0x0C33) -const GL_TEXTURE_COMPRESSED_IMAGE_SIZE = convert(GLenum, 0x86A0) -const GL_AUTO_NORMAL = convert(GLenum, 0x0D80) -const GL_TEXTURE_LUMINANCE_TYPE = convert(GLenum, 0x8C14) -const GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = convert(GLenum, 0x8DE1) -const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER = convert(GLenum, 0x92CA) -const GL_TEXTURE22 = convert(GLenum, 0x84D6) -const GL_IMAGE_CLASS_1_X_8 = convert(GLenum, 0x82C1) -const GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES = convert(GLenum, 0x92C6) -const GL_CLAMP_TO_EDGE = convert(GLenum, 0x812F) -const GL_CLIP_DISTANCE6 = convert(GLenum, 0x3006) -const GL_ZOOM_X = convert(GLenum, 0x0D16) -const GL_DRAW_BUFFER0 = convert(GLenum, 0x8825) -const GL_FRAGMENT_INTERPOLATION_OFFSET_BITS = convert(GLenum, 0x8E5D) -const GL_ACTIVE_TEXTURE = convert(GLenum, 0x84E0) -const GL_UNSIGNED_INT_VEC2 = convert(GLenum, 0x8DC6) -const GL_MAX_EVAL_ORDER = convert(GLenum, 0x0D30) -const GL_TEXTURE_DEPTH = convert(GLenum, 0x8071) -const GL_FRONT_RIGHT = convert(GLenum, 0x0401) -const GL_MAX_COMBINED_ATOMIC_COUNTERS = convert(GLenum, 0x92D7) -const GL_DEBUG_LOGGED_MESSAGES = convert(GLenum, 0x9145) -const GL_DEPTH_RANGE = convert(GLenum, 0x0B70) -const GL_ACTIVE_PROGRAM = convert(GLenum, 0x8259) -const GL_DEBUG_SOURCE_API = convert(GLenum, 0x8246) -const GL_X4_BYTES = convert(GLenum, 0x1409) -const GL_NORMAL_ARRAY = convert(GLenum, 0x8075) -const GL_BLEND_SRC_RGB = convert(GLenum, 0x80C9) -const GL_LINE_RESET_TOKEN = convert(GLenum, 0x0707) -const GL_MAP_INVALIDATE_BUFFER_BIT = convert(GLbitfield, 0x0008) -const GL_ONE = convert(GLenum, 1) -const GL_DEBUG_TYPE_MARKER = convert(GLenum, 0x8268) -const GL_STENCIL_PASS_DEPTH_PASS = convert(GLenum, 0x0B96) -const GL_NO_ERROR = convert(GLenum, 0) -const GL_SMOOTH_POINT_SIZE_RANGE = convert(GLenum, 0x0B12) -const GL_PROXY_TEXTURE_2D_ARRAY = convert(GLenum, 0x8C1B) -const GL_AUX_BUFFERS = convert(GLenum, 0x0C00) -const GL_MAX_TEXTURE_STACK_DEPTH = convert(GLenum, 0x0D39) -const GL_CLIP_DISTANCE4 = convert(GLenum, 0x3004) -const GL_DOUBLE_VEC3 = convert(GLenum, 0x8FFD) -const GL_LEQUAL = convert(GLenum, 0x0203) -const GL_TIMESTAMP = convert(GLenum, 0x8E28) -const GL_POINT_SIZE_MAX = convert(GLenum, 0x8127) -const GL_TESS_EVALUATION_SHADER_BIT = convert(GLbitfield, 0x00000010) -const GL_MAX_TEXTURE_COORDS = convert(GLenum, 0x8871) -const GL_IMAGE_BINDING_LAYER = convert(GLenum, 0x8F3D) -const GL_NONE = convert(GLenum, 0) -const GL_BUFFER_SIZE = convert(GLenum, 0x8764) -const GL_PIXEL_MAP_B_TO_B = convert(GLenum, 0x0C78) -const GL_INT_VEC4 = convert(GLenum, 0x8B55) -const GL_MAX_FRAGMENT_INTERPOLATION_OFFSET = convert(GLenum, 0x8E5C) -const GL_RGB16_SNORM = convert(GLenum, 0x8F9A) -const GL_OR_INVERTED = convert(GLenum, 0x150D) -const GL_SAMPLE_MASK = convert(GLenum, 0x8E51) -const GL_INTERNALFORMAT_GREEN_TYPE = convert(GLenum, 0x8279) -const GL_TESS_GEN_VERTEX_ORDER = convert(GLenum, 0x8E78) -const GL_PACK_SKIP_ROWS = convert(GLenum, 0x0D03) -const GL_NUM_COMPRESSED_TEXTURE_FORMATS = convert(GLenum, 0x86A2) -const GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = convert(GLenum, 0x8F39) -const GL_RESCALE_NORMAL = convert(GLenum, 0x803A) -const GL_DEPTH_COMPONENT24 = convert(GLenum, 0x81A6) -const GL_BACK_LEFT = convert(GLenum, 0x0402) -const GL_MAP2_TEXTURE_COORD_4 = convert(GLenum, 0x0DB6) -const GL_COLOR = convert(GLenum, 0x1800) -const GL_INVALID_INDEX = convert(GLenum, 0xFFFFFFFF) -const GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER = convert(GLenum, 0x84F0) -const GL_CONSTANT = convert(GLenum, 0x8576) -const GL_INT_VEC2 = convert(GLenum, 0x8B53) -const GL_PROGRAM_OUTPUT = convert(GLenum, 0x92E4) -const GL_UNSIGNED_SHORT = convert(GLenum, 0x1403) -const GL_VERTEX_ARRAY_BINDING = convert(GLenum, 0x85B5) -const GL_RED_SNORM = convert(GLenum, 0x8F90) -const GL_MODULATE = convert(GLenum, 0x2100) -const GL_UNSIGNED_INT = convert(GLenum, 0x1405) -const GL_LUMINANCE4_ALPHA4 = convert(GLenum, 0x8043) -const GL_X3D_COLOR = convert(GLenum, 0x0602) -const GL_COMPUTE_LOCAL_WORK_SIZE = convert(GLenum, 0x8267) -const GL_SHADER_STORAGE_BUFFER_SIZE = convert(GLenum, 0x90D5) -const GL_TEXTURE_BUFFER = convert(GLenum, 0x8C2A) -const GL_POSITION = convert(GLenum, 0x1203) -const GL_COMPRESSED_INTENSITY = convert(GLenum, 0x84EC) -const GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = convert(GLenum, 0x8B4C) -const GL_COLOR_CLEAR_VALUE = convert(GLenum, 0x0C22) -const GL_R3_G3_B2 = convert(GLenum, 0x2A10) -const GL_MAX_VARYING_VECTORS = convert(GLenum, 0x8DFC) -const GL_IMAGE_CLASS_4_X_32 = convert(GLenum, 0x82B9) -const GL_NUM_SHADING_LANGUAGE_VERSIONS = convert(GLenum, 0x82E9) -const GL_MIN_MAP_BUFFER_ALIGNMENT = convert(GLenum, 0x90BC) -const GL_DELETE_STATUS = convert(GLenum, 0x8B80) -const GL_UNSIGNED_INT_VEC3 = convert(GLenum, 0x8DC7) -const GL_TESS_EVALUATION_SUBROUTINE = convert(GLenum, 0x92EA) -const GL_PIXEL_MAP_G_TO_G_SIZE = convert(GLenum, 0x0CB7) -const GL_FLOAT_MAT4 = convert(GLenum, 0x8B5C) -const GL_BACK_RIGHT = convert(GLenum, 0x0403) -const GL_LUMINANCE12_ALPHA4 = convert(GLenum, 0x8046) -const GL_GEOMETRY_SHADER_BIT = convert(GLbitfield, 0x00000004) -const GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS = convert(GLenum, 0x90CC) -const GL_VERTEX_TEXTURE = convert(GLenum, 0x829B) -const GL_FRONT_AND_BACK = convert(GLenum, 0x0408) -const GL_ACTIVE_UNIFORM_BLOCKS = convert(GLenum, 0x8A36) -const GL_RENDERER = convert(GLenum, 0x1F01) -const GL_COLOR_ATTACHMENT10 = convert(GLenum, 0x8CEA) -const GL_FOG_COORDINATE_SOURCE = convert(GLenum, 0x8450) -const GL_IMAGE_BINDING_LEVEL = convert(GLenum, 0x8F3B) -const GL_MAX_DEBUG_GROUP_STACK_DEPTH = convert(GLenum, 0x826C) -const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = convert(GLenum, 0x8CD3) -const GL_ATTRIB_STACK_DEPTH = convert(GLenum, 0x0BB0) -const GL_LINE_STIPPLE_REPEAT = convert(GLenum, 0x0B26) -const GL_POLYGON_SMOOTH_HINT = convert(GLenum, 0x0C53) -const GL_LUMINANCE4 = convert(GLenum, 0x803F) -const GL_SMOOTH_POINT_SIZE_GRANULARITY = convert(GLenum, 0x0B13) -const GL_OR_REVERSE = convert(GLenum, 0x150B) -const GL_MAP2_TEXTURE_COORD_2 = convert(GLenum, 0x0DB4) -const GL_FOG_MODE = convert(GLenum, 0x0B65) -const GL_TOP_LEVEL_ARRAY_SIZE = convert(GLenum, 0x930C) -const GL_LUMINANCE16 = convert(GLenum, 0x8042) -const GL_OPERAND0_RGB = convert(GLenum, 0x8590) -const GL_STENCIL_BUFFER_BIT = convert(GLbitfield, 0x00000400) -const GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS = convert(GLenum, 0x8F39) -const GL_MAX_PROJECTION_STACK_DEPTH = convert(GLenum, 0x0D38) -const GL_ARRAY_BUFFER = convert(GLenum, 0x8892) -const GL_POLYGON_SMOOTH = convert(GLenum, 0x0B41) -const GL_FRAMEBUFFER_ATTACHMENT_LAYERED = convert(GLenum, 0x8DA7) -const GL_EDGE_FLAG_ARRAY_POINTER = convert(GLenum, 0x8093) -const GL_FOG_COORD = convert(GLenum, 0x8451) -const GL_TEXTURE23 = convert(GLenum, 0x84D7) -const GL_INDEX_LOGIC_OP = convert(GLenum, 0x0BF1) -const GL_REFERENCED_BY_TESS_EVALUATION_SHADER = convert(GLenum, 0x9308) -const GL_SHADER_IMAGE_LOAD = convert(GLenum, 0x82A4) -const GL_DOT3_RGBA = convert(GLenum, 0x86AF) -const GL_VERTEX_ATTRIB_ARRAY_LONG = convert(GLenum, 0x874E) -const GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = convert(GLenum, 0x91BC) -const GL_IMAGE_2D_ARRAY = convert(GLenum, 0x9053) -const GL_NORMAL_ARRAY_POINTER = convert(GLenum, 0x808F) -const GL_STENCIL_INDEX1 = convert(GLenum, 0x8D46) -const GL_TEXTURE11 = convert(GLenum, 0x84CB) -const GL_DRAW_INDIRECT_BUFFER = convert(GLenum, 0x8F3F) -const GL_COLOR_ATTACHMENT3 = convert(GLenum, 0x8CE3) -const GL_INT_IMAGE_CUBE_MAP_ARRAY = convert(GLenum, 0x905F) -const GL_BLUE_SCALE = convert(GLenum, 0x0D1A) -const GL_DEPTH_BITS = convert(GLenum, 0x0D56) -const GL_STENCIL_BACK_PASS_DEPTH_PASS = convert(GLenum, 0x8803) -const GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = convert(GLenum, 0x8DA8) -const GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE = convert(GLenum, 0x8212) -const GL_UNIFORM_SIZE = convert(GLenum, 0x8A38) -const GL_TESS_CONTROL_SUBROUTINE = convert(GLenum, 0x92E9) -const GL_PROGRAM_INPUT = convert(GLenum, 0x92E3) -const GL_TIMEOUT_EXPIRED = convert(GLenum, 0x911B) -const GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = convert(GLenum, 0x90C8) -const GL_LIGHT_MODEL_TWO_SIDE = convert(GLenum, 0x0B52) -const GL_INT_SAMPLER_2D_ARRAY = convert(GLenum, 0x8DCF) -const GL_IMAGE_CLASS_2_X_16 = convert(GLenum, 0x82BD) -const GL_READ_BUFFER = convert(GLenum, 0x0C02) -const GL_SLUMINANCE_ALPHA = convert(GLenum, 0x8C44) -const GL_RGB16UI = convert(GLenum, 0x8D77) -const GL_MAX_DEBUG_MESSAGE_LENGTH = convert(GLenum, 0x9143) -const GL_NORMALIZE = convert(GLenum, 0x0BA1) -const GL_CURRENT_COLOR = convert(GLenum, 0x0B00) -const GL_FRAMEBUFFER_COMPLETE = convert(GLenum, 0x8CD5) -const GL_FASTEST = convert(GLenum, 0x1101) -const GL_INDEX_ARRAY_POINTER = convert(GLenum, 0x8091) -const GL_UNIFORM_BUFFER = convert(GLenum, 0x8A11) -const GL_MULTISAMPLE_BIT = convert(GLbitfield, 0x20000000) -const GL_CURRENT_SECONDARY_COLOR = convert(GLenum, 0x8459) -const GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = convert(GLenum, 0x8A44) -const GL_DEBUG_SOURCE_OTHER = convert(GLenum, 0x824B) -const GL_MAP1_TEXTURE_COORD_1 = convert(GLenum, 0x0D93) -const GL_SHADER_STORAGE_BLOCK = convert(GLenum, 0x92E6) -const GL_QUERY_NO_WAIT = convert(GLenum, 0x8E14) -const GL_C4UB_V2F = convert(GLenum, 0x2A22) -const GL_AUX2 = convert(GLenum, 0x040B) -const GL_CURRENT_RASTER_POSITION_VALID = convert(GLenum, 0x0B08) -const GL_MAX_COLOR_ATTACHMENTS = convert(GLenum, 0x8CDF) -const GL_COLOR_MATERIAL = convert(GLenum, 0x0B57) -const GL_OFFSET = convert(GLenum, 0x92FC) -const GL_R16I = convert(GLenum, 0x8233) -const GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER = convert(GLenum, 0x90EC) -const GL_NAME_STACK_DEPTH = convert(GLenum, 0x0D70) -const GL_PACK_COMPRESSED_BLOCK_HEIGHT = convert(GLenum, 0x912C) -const GL_AND_INVERTED = convert(GLenum, 0x1504) -const GL_LIGHT7 = convert(GLenum, 0x4007) -const GL_DRAW_BUFFER3 = convert(GLenum, 0x8828) -const GL_NICEST = convert(GLenum, 0x1102) -const GL_MAX_GEOMETRY_IMAGE_UNIFORMS = convert(GLenum, 0x90CD) -const GL_TRANSFORM_FEEDBACK_BUFFER_BINDING = convert(GLenum, 0x8C8F) -const GL_MAP_READ_BIT = convert(GLbitfield, 0x0001) -const GL_PIXEL_MAP_I_TO_G = convert(GLenum, 0x0C73) -const GL_MAX_VERTEX_UNIFORM_BLOCKS = convert(GLenum, 0x8A2B) -const GL_IMAGE_PIXEL_TYPE = convert(GLenum, 0x82AA) -const GL_KEEP = convert(GLenum, 0x1E00) -const GL_GEOMETRY_SUBROUTINE = convert(GLenum, 0x92EB) -const GL_SOURCE0_ALPHA = convert(GLenum, 0x8588) -const GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = convert(GLenum, 0x8C80) -const GL_MAX_CLIP_DISTANCES = convert(GLenum, 0x0D32) -const GL_INVALID_FRAMEBUFFER_OPERATION = convert(GLenum, 0x0506) -const GL_BUFFER_VARIABLE = convert(GLenum, 0x92E5) -const GL_ZERO = convert(GLenum, 0) -const GL_ACCUM_CLEAR_VALUE = convert(GLenum, 0x0B80) -const GL_FRAGMENT_SUBROUTINE = convert(GLenum, 0x92EC) -const GL_MAX_SAMPLES = convert(GLenum, 0x8D57) -const GL_INDEX_ARRAY_STRIDE = convert(GLenum, 0x8086) -const GL_MAX_HEIGHT = convert(GLenum, 0x827F) -const GL_PRIMITIVE_RESTART_FIXED_INDEX = convert(GLenum, 0x8D69) -const GL_COLOR_ATTACHMENT4 = convert(GLenum, 0x8CE4) -const GL_AMBIENT_AND_DIFFUSE = convert(GLenum, 0x1602) -const GL_COLOR_ATTACHMENT9 = convert(GLenum, 0x8CE9) -const GL_DRAW_BUFFER = convert(GLenum, 0x0C01) -const GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER = convert(GLenum, 0x84F1) -const GL_BYTE = convert(GLenum, 0x1400) -const GL_COMPARE_R_TO_TEXTURE = convert(GLenum, 0x884E) -const GL_GREATER = convert(GLenum, 0x0204) -const GL_TEXTURE_GATHER_SHADOW = convert(GLenum, 0x82A3) -const GL_COPY = convert(GLenum, 0x1503) -const GL_NORMAL_ARRAY_BUFFER_BINDING = convert(GLenum, 0x8897) -const GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = convert(GLenum, 0x90DA) -const GL_FRAMEBUFFER_SRGB = convert(GLenum, 0x8DB9) -const GL_ADD_SIGNED = convert(GLenum, 0x8574) -const GL_READ_PIXELS_TYPE = convert(GLenum, 0x828E) -const GL_DONT_CARE = convert(GLenum, 0x1100) -const GL_IMAGE_BINDING_NAME = convert(GLenum, 0x8F3A) -const GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = convert(GLenum, 0x8211) -const GL_MAX_ELEMENTS_VERTICES = convert(GLenum, 0x80E8) -const GL_UNSIGNED_INT_SAMPLER_2D_ARRAY = convert(GLenum, 0x8DD7) -const GL_DEBUG_SEVERITY_HIGH = convert(GLenum, 0x9146) -const GL_DST_ALPHA = convert(GLenum, 0x0304) -const GL_INTERNALFORMAT_ALPHA_TYPE = convert(GLenum, 0x827B) -const GL_DEPTH_STENCIL_TEXTURE_MODE = convert(GLenum, 0x90EA) -const GL_IS_ROW_MAJOR = convert(GLenum, 0x9300) -const GL_RGBA32F = convert(GLenum, 0x8814) -const GL_ANY_SAMPLES_PASSED = convert(GLenum, 0x8C2F) -const GL_MAX_LIST_NESTING = convert(GLenum, 0x0B31) -const GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = convert(GLenum, 0x8A43) -const GL_POINT_DISTANCE_ATTENUATION = convert(GLenum, 0x8129) -const GL_COLOR_MATERIAL_PARAMETER = convert(GLenum, 0x0B56) -const GL_LIGHTING = convert(GLenum, 0x0B50) -const GL_UNIFORM_BLOCK = convert(GLenum, 0x92E2) -const GL_INTERNALFORMAT_SUPPORTED = convert(GLenum, 0x826F) -const GL_MAX_VERTEX_ATTRIB_BINDINGS = convert(GLenum, 0x82DA) -const GL_ELEMENT_ARRAY_BUFFER_BINDING = convert(GLenum, 0x8895) -const GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = convert(GLenum, 0x910C) -const GL_TOP_LEVEL_ARRAY_STRIDE = convert(GLenum, 0x930D) -const GL_AND = convert(GLenum, 0x1501) -const GL_SPOT_DIRECTION = convert(GLenum, 0x1204) -const GL_MAX_FRAMEBUFFER_LAYERS = convert(GLenum, 0x9317) -const GL_PIXEL_MAP_I_TO_B_SIZE = convert(GLenum, 0x0CB4) -const GL_ATOMIC_COUNTER_BUFFER_START = convert(GLenum, 0x92C2) -const GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = convert(GLenum, 0x92DC) -const GL_UNSIGNED_INT_SAMPLER_BUFFER = convert(GLenum, 0x8DD8) -const GL_COPY_PIXEL_TOKEN = convert(GLenum, 0x0706) -const GL_TRIANGLE_FAN = convert(GLenum, 0x0006) -const GL_RENDERBUFFER_DEPTH_SIZE = convert(GLenum, 0x8D54) -const GL_DISPATCH_INDIRECT_BUFFER = convert(GLenum, 0x90EE) -const GL_MAX_SERVER_WAIT_TIMEOUT = convert(GLenum, 0x9111) -const GL_DEBUG_SOURCE_THIRD_PARTY = convert(GLenum, 0x8249) -const GL_FRAMEBUFFER_DEFAULT_HEIGHT = convert(GLenum, 0x9311) -const GL_TEXTURE_VIEW_MIN_LAYER = convert(GLenum, 0x82DD) -const GL_PATCH_VERTICES = convert(GLenum, 0x8E72) -const GL_DOUBLE_MAT3x4 = convert(GLenum, 0x8F4C) -const GL_UNSIGNED_BYTE_2_3_3_REV = convert(GLenum, 0x8362) -const GL_VIEW_CLASS_S3TC_DXT5_RGBA = convert(GLenum, 0x82CF) -const GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = convert(GLenum, 0x92CE) -const GL_RG8UI = convert(GLenum, 0x8238) -const GL_SHADER_STORAGE_BUFFER = convert(GLenum, 0x90D2) -const GL_GREEN_BIAS = convert(GLenum, 0x0D19) -const GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT = convert(GLbitfield, 0x00000001) -const GL_RGB12 = convert(GLenum, 0x8053) -const GL_POINT_SIZE_GRANULARITY = convert(GLenum, 0x0B13) -const GL_FEEDBACK_BUFFER_SIZE = convert(GLenum, 0x0DF1) -const GL_TRUE = convert(GLenum, 1) -const GL_PACK_SKIP_IMAGES = convert(GLenum, 0x806B) -const GL_DOUBLE_MAT4 = convert(GLenum, 0x8F48) -const GL_INTERPOLATE = convert(GLenum, 0x8575) -const GL_RGB32I = convert(GLenum, 0x8D83) -const GL_NUM_PROGRAM_BINARY_FORMATS = convert(GLenum, 0x87FE) -const GL_RGB8 = convert(GLenum, 0x8051) -const GL_COMPRESSED_LUMINANCE_ALPHA = convert(GLenum, 0x84EB) -const GL_FRAMEBUFFER_DEFAULT_LAYERS = convert(GLenum, 0x9312) -const GL_T2F_C3F_V3F = convert(GLenum, 0x2A2A) -const GL_TEXTURE_CUBE_MAP_POSITIVE_Z = convert(GLenum, 0x8519) -const GL_FOG_COORD_ARRAY_POINTER = convert(GLenum, 0x8456) -const GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS = convert(GLenum, 0x8F9F) -const GL_RENDER_MODE = convert(GLenum, 0x0C40) -const GL_QUADRATIC_ATTENUATION = convert(GLenum, 0x1209) -const GL_T2F_N3F_V3F = convert(GLenum, 0x2A2B) -const GL_UNPACK_ROW_LENGTH = convert(GLenum, 0x0CF2) -const GL_LINE = convert(GLenum, 0x1B01) -const GL_LINE_SMOOTH_HINT = convert(GLenum, 0x0C52) -const GL_STREAM_DRAW = convert(GLenum, 0x88E0) -const GL_MAP1_COLOR_4 = convert(GLenum, 0x0D90) -const GL_ALPHA_SCALE = convert(GLenum, 0x0D1C) -const GL_COMPRESSED_TEXTURE_FORMATS = convert(GLenum, 0x86A3) -const GL_FRAGMENT_TEXTURE = convert(GLenum, 0x829F) -const GL_FRAMEBUFFER_BLEND = convert(GLenum, 0x828B) -const GL_MAX_TESS_GEN_LEVEL = convert(GLenum, 0x8E7E) -const GL_MAX_VERTEX_ATTRIBS = convert(GLenum, 0x8869) -const GL_LINE_STRIP = convert(GLenum, 0x0003) -const GL_VERSION = convert(GLenum, 0x1F02) -const GL_CLIENT_VERTEX_ARRAY_BIT = convert(GLbitfield, 0x00000002) -const GL_PROJECTION_STACK_DEPTH = convert(GLenum, 0x0BA4) -const GL_VERTEX_ATTRIB_BINDING = convert(GLenum, 0x82D4) -const GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE = convert(GLenum, 0x82AE) -const GL_TEXTURE25 = convert(GLenum, 0x84D9) -const GL_SAMPLE_COVERAGE_VALUE = convert(GLenum, 0x80AA) -const GL_VERTEX_ATTRIB_ARRAY_POINTER = convert(GLenum, 0x8645) -const GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS = convert(GLenum, 0x92D4) -const GL_BUFFER_DATA_SIZE = convert(GLenum, 0x9303) -const GL_TEXTURE_RED_TYPE = convert(GLenum, 0x8C10) -const GL_TEXTURE_2D_ARRAY = convert(GLenum, 0x8C1A) -const GL_CURRENT_FOG_COORDINATE = convert(GLenum, 0x8453) -const GL_CURRENT_BIT = convert(GLbitfield, 0x00000001) -const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER = convert(GLenum, 0x92C8) -const GL_MAX_SHADER_STORAGE_BLOCK_SIZE = convert(GLenum, 0x90DE) -const GL_FLOAT_MAT3x4 = convert(GLenum, 0x8B68) -const GL_SHORT = convert(GLenum, 0x1402) -const GL_POINT_BIT = convert(GLbitfield, 0x00000002) -const GL_POLYGON_BIT = convert(GLbitfield, 0x00000008) -const GL_QUERY_WAIT = convert(GLenum, 0x8E13) -const GL_BOOL = convert(GLenum, 0x8B56) -const GL_FRAMEBUFFER_RENDERABLE = convert(GLenum, 0x8289) -const GL_TRANSFORM_FEEDBACK_BUFFER_START = convert(GLenum, 0x8C84) -const GL_BLUE_BIAS = convert(GLenum, 0x0D1B) -const GL_DYNAMIC_READ = convert(GLenum, 0x88E9) -const GL_IMAGE_COMPATIBILITY_CLASS = convert(GLenum, 0x82A8) -const GL_TEXTURE20 = convert(GLenum, 0x84D4) -const GL_ACTIVE_SUBROUTINE_UNIFORMS = convert(GLenum, 0x8DE6) -const GL_SPECULAR = convert(GLenum, 0x1202) -const GL_RENDER = convert(GLenum, 0x1C00) -const GL_MAX_CUBE_MAP_TEXTURE_SIZE = convert(GLenum, 0x851C) -const GL_INT_IMAGE_BUFFER = convert(GLenum, 0x905C) -const GL_FIXED = convert(GLenum, 0x140C) -const GL_FRAGMENT_SUBROUTINE_UNIFORM = convert(GLenum, 0x92F2) -const GL_VERTEX_ATTRIB_ARRAY_DIVISOR = convert(GLenum, 0x88FE) -const GL_X3D_COLOR_TEXTURE = convert(GLenum, 0x0603) -const GL_IMAGE_CLASS_1_X_32 = convert(GLenum, 0x82BB) -const GL_VIEWPORT_BOUNDS_RANGE = convert(GLenum, 0x825D) -const GL_POINT_SMOOTH_HINT = convert(GLenum, 0x0C51) -const GL_DOT3_RGB = convert(GLenum, 0x86AE) -const GL_MAX_PIXEL_MAP_TABLE = convert(GLenum, 0x0D34) -const GL_STENCIL_BACK_PASS_DEPTH_FAIL = convert(GLenum, 0x8802) -const GL_TEXTURE_BINDING_RECTANGLE = convert(GLenum, 0x84F6) -const GL_WAIT_FAILED = convert(GLenum, 0x911D) -const GL_SHADER_STORAGE_BUFFER_BINDING = convert(GLenum, 0x90D3) -const GL_IMAGE_TEXEL_SIZE = convert(GLenum, 0x82A7) -const GL_RG8I = convert(GLenum, 0x8237) -const GL_CLIP_PLANE0 = convert(GLenum, 0x3000) -const GL_INDEX_ARRAY_BUFFER_BINDING = convert(GLenum, 0x8899) -const GL_CLIP_DISTANCE1 = convert(GLenum, 0x3001) -const GL_CURRENT_RASTER_TEXTURE_COORDS = convert(GLenum, 0x0B06) -const GL_COMPILE_AND_EXECUTE = convert(GLenum, 0x1301) -const GL_UNIFORM_BLOCK_DATA_SIZE = convert(GLenum, 0x8A40) -const GL_BLEND_SRC = convert(GLenum, 0x0BE1) -const GL_NEAREST_MIPMAP_LINEAR = convert(GLenum, 0x2702) -const GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = convert(GLenum, 0x900F) -const GL_LUMINANCE16_ALPHA16 = convert(GLenum, 0x8048) -const GL_TEXTURE_ALPHA_TYPE = convert(GLenum, 0x8C13) -const GL_SPOT_EXPONENT = convert(GLenum, 0x1205) -const GL_BLEND_DST = convert(GLenum, 0x0BE0) -const GL_SHADE_MODEL = convert(GLenum, 0x0B54) -const GL_TEXTURE_COMPRESSION_HINT = convert(GLenum, 0x84EF) -const GL_UNIFORM_BLOCK_NAME_LENGTH = convert(GLenum, 0x8A41) -const GL_RGBA8UI = convert(GLenum, 0x8D7C) -const GL_TESS_EVALUATION_SUBROUTINE_UNIFORM = convert(GLenum, 0x92F0) -const GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = convert(GLenum, 0x8B8A) -const GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = convert(GLenum, 0x8CD0) -const GL_TRANSPOSE_TEXTURE_MATRIX = convert(GLenum, 0x84E5) -const GL_SAMPLER_2D_RECT = convert(GLenum, 0x8B63) -const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = convert(GLenum, 0x8CD2) -const GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = convert(GLenum, 0x9276) -const GL_CLIP_PLANE1 = convert(GLenum, 0x3001) -const GL_VERTEX_ATTRIB_ARRAY_ENABLED = convert(GLenum, 0x8622) -const GL_FEEDBACK_BUFFER_POINTER = convert(GLenum, 0x0DF0) -const GL_UNIFORM_BLOCK_BINDING = convert(GLenum, 0x8A3F) -const GL_UNIFORM_NAME_LENGTH = convert(GLenum, 0x8A39) -const GL_TIME_ELAPSED = convert(GLenum, 0x88BF) -const GL_VERTEX_ARRAY_STRIDE = convert(GLenum, 0x807C) -const GL_NUM_EXTENSIONS = convert(GLenum, 0x821D) -const GL_MAX_CLIP_PLANES = convert(GLenum, 0x0D32) -const GL_READ_PIXELS = convert(GLenum, 0x828C) -const GL_DEPTH_WRITEMASK = convert(GLenum, 0x0B72) -const GL_LINEAR = convert(GLenum, 0x2601) -const GL_RGB10_A2 = convert(GLenum, 0x8059) -const GL_INDEX_WRITEMASK = convert(GLenum, 0x0C21) -const GL_MIN_SAMPLE_SHADING_VALUE = convert(GLenum, 0x8C37) -const GL_FOG_COORD_ARRAY = convert(GLenum, 0x8457) -const GL_UNIFORM_OFFSET = convert(GLenum, 0x8A3B) -const GL_SOURCE2_RGB = convert(GLenum, 0x8582) -const GL_TEXTURE_SWIZZLE_B = convert(GLenum, 0x8E44) -const GL_COMBINE = convert(GLenum, 0x8570) -const GL_FLOAT_VEC3 = convert(GLenum, 0x8B51) -const GL_DRAW_BUFFER5 = convert(GLenum, 0x882A) -const GL_TEXTURE_ENV_COLOR = convert(GLenum, 0x2201) -const GL_MEDIUM_FLOAT = convert(GLenum, 0x8DF1) -const GL_EXP = convert(GLenum, 0x0800) -const GL_DST_COLOR = convert(GLenum, 0x0306) -const GL_TEXTURE_WIDTH = convert(GLenum, 0x1000) -const GL_UNSIGNED_INT_2_10_10_10_REV = convert(GLenum, 0x8368) -const GL_MAX_FRAGMENT_UNIFORM_COMPONENTS = convert(GLenum, 0x8B49) -const GL_UNIFORM_BUFFER_BINDING = convert(GLenum, 0x8A28) -const GL_TEXTURE_BUFFER_SIZE = convert(GLenum, 0x919E) -const GL_TRANSFORM_FEEDBACK_VARYING = convert(GLenum, 0x92F4) -const GL_SRGB_ALPHA = convert(GLenum, 0x8C42) -const GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH = convert(GLenum, 0x8E49) -const GL_V2F = convert(GLenum, 0x2A20) -const GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING = convert(GLenum, 0x889C) -const GL_NEVER = convert(GLenum, 0x0200) -const GL_SLUMINANCE8 = convert(GLenum, 0x8C47) -const GL_RED_INTEGER = convert(GLenum, 0x8D94) -const GL_SAMPLER_2D_MULTISAMPLE = convert(GLenum, 0x9108) -const GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS = convert(GLenum, 0x8E8A) -const GL_RENDERBUFFER_INTERNAL_FORMAT = convert(GLenum, 0x8D44) -const GL_COLOR_ATTACHMENT13 = convert(GLenum, 0x8CED) -const GL_UNPACK_IMAGE_HEIGHT = convert(GLenum, 0x806E) -const GL_SYNC_GPU_COMMANDS_COMPLETE = convert(GLenum, 0x9117) -const GL_PROXY_TEXTURE_2D = convert(GLenum, 0x8064) -const GL_MAP_WRITE_BIT = convert(GLbitfield, 0x0002) -const GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = convert(GLenum, 0x9277) -const GL_DEBUG_TYPE_OTHER = convert(GLenum, 0x8251) -const GL_VIEW_CLASS_RGTC2_RG = convert(GLenum, 0x82D1) -const GL_TEXTURE_COMPARE_MODE = convert(GLenum, 0x884C) -const GL_TEXTURE0 = convert(GLenum, 0x84C0) -const GL_ACTIVE_UNIFORMS = convert(GLenum, 0x8B86) -const GL_ALPHA4 = convert(GLenum, 0x803B) -const GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET = convert(GLenum, 0x8E5E) -const GL_MAP2_COLOR_4 = convert(GLenum, 0x0DB0) -const GL_CURRENT_QUERY = convert(GLenum, 0x8865) -const GL_SAMPLER_1D = convert(GLenum, 0x8B5D) -const GL_T2F_V3F = convert(GLenum, 0x2A27) -const GL_FEEDBACK = convert(GLenum, 0x1C01) -const GL_LINES_ADJACENCY = convert(GLenum, 0x000A) -const GL_INT_SAMPLER_CUBE = convert(GLenum, 0x8DCC) -const GL_STENCIL_RENDERABLE = convert(GLenum, 0x8288) -const GL_MAP2_NORMAL = convert(GLenum, 0x0DB2) -const GL_BACK = convert(GLenum, 0x0405) -const GL_SMOOTH = convert(GLenum, 0x1D01) -const GL_BGR = convert(GLenum, 0x80E0) -const GL_STENCIL = convert(GLenum, 0x1802) -const GL_REFERENCED_BY_VERTEX_SHADER = convert(GLenum, 0x9306) -const GL_TEXTURE_3D = convert(GLenum, 0x806F) -const GL_UNPACK_SWAP_BYTES = convert(GLenum, 0x0CF0) -const GL_PROGRAM_SEPARABLE = convert(GLenum, 0x8258) -const GL_ALWAYS = convert(GLenum, 0x0207) -const GL_UNSIGNED_INT_IMAGE_BUFFER = convert(GLenum, 0x9067) -const GL_RENDERBUFFER_HEIGHT = convert(GLenum, 0x8D43) -const GL_COLOR_SUM = convert(GLenum, 0x8458) -const GL_TESS_EVALUATION_TEXTURE = convert(GLenum, 0x829D) -const GL_LINEAR_ATTENUATION = convert(GLenum, 0x1208) -const GL_PIXEL_MAP_R_TO_R = convert(GLenum, 0x0C76) -const GL_DOUBLE_MAT4x2 = convert(GLenum, 0x8F4D) -const GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = convert(GLenum, 0x8B4D) -const GL_AUX0 = convert(GLenum, 0x0409) -const GL_ZOOM_Y = convert(GLenum, 0x0D17) -const GL_UNIFORM_BUFFER_START = convert(GLenum, 0x8A29) -const GL_CONTEXT_PROFILE_MASK = convert(GLenum, 0x9126) -const GL_TEXTURE_VIEW_MIN_LEVEL = convert(GLenum, 0x82DB) -const GL_SRC2_ALPHA = convert(GLenum, 0x858A) -const GL_CURRENT_NORMAL = convert(GLenum, 0x0B02) -const GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = convert(GLenum, 0x8243) -const GL_SELECT = convert(GLenum, 0x1C02) -const GL_MAX_TEXTURE_UNITS = convert(GLenum, 0x84E2) -const GL_COLOR_ARRAY_BUFFER_BINDING = convert(GLenum, 0x8898) -const GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS = convert(GLenum, 0x90D6) -const GL_TRANSFORM_FEEDBACK_BARRIER_BIT = convert(GLbitfield, 0x00000800) -const GL_SAMPLE_POSITION = convert(GLenum, 0x8E50) -const GL_UNSIGNED_INT_IMAGE_3D = convert(GLenum, 0x9064) -const GL_R8 = convert(GLenum, 0x8229) -const GL_LIST_INDEX = convert(GLenum, 0x0B33) -const GL_SHININESS = convert(GLenum, 0x1601) -const GL_CLAMP_FRAGMENT_COLOR = convert(GLenum, 0x891B) -const GL_TEXTURE_COMPARE_FUNC = convert(GLenum, 0x884D) -const GL_DECR = convert(GLenum, 0x1E03) -const GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = convert(GLenum, 0x8CDB) -const GL_MAX_TESS_CONTROL_INPUT_COMPONENTS = convert(GLenum, 0x886C) -const GL_INTERNALFORMAT_RED_SIZE = convert(GLenum, 0x8271) -const GL_MAX_SAMPLE_MASK_WORDS = convert(GLenum, 0x8E59) -const GL_DISPATCH_INDIRECT_BUFFER_BINDING = convert(GLenum, 0x90EF) -const GL_AUX3 = convert(GLenum, 0x040C) -const GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = convert(GLenum, 0x8210) -const GL_ALPHA_TEST_FUNC = convert(GLenum, 0x0BC1) -const GL_SAMPLER_1D_ARRAY = convert(GLenum, 0x8DC0) -const GL_PIXEL_MAP_I_TO_G_SIZE = convert(GLenum, 0x0CB3) -const GL_TEXTURE_BINDING_2D_ARRAY = convert(GLenum, 0x8C1D) -const GL_CLEAR_BUFFER = convert(GLenum, 0x82B4) -const GL_STENCIL_VALUE_MASK = convert(GLenum, 0x0B93) -const GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS = convert(GLenum, 0x886D) -const GL_RGB32UI = convert(GLenum, 0x8D71) -const GL_MAX_TEXTURE_IMAGE_UNITS = convert(GLenum, 0x8872) -const GL_COLOR_ATTACHMENT15 = convert(GLenum, 0x8CEF) -const GL_PIXEL_UNPACK_BUFFER = convert(GLenum, 0x88EC) -const GL_UNIFORM_BARRIER_BIT = convert(GLbitfield, 0x00000004) -const GL_MAP2_TEXTURE_COORD_3 = convert(GLenum, 0x0DB5) -const GL_BLEND = convert(GLenum, 0x0BE2) -const GL_CONSTANT_COLOR = convert(GLenum, 0x8001) -const GL_ONE_MINUS_CONSTANT_COLOR = convert(GLenum, 0x8002) -const GL_CONSTANT_ALPHA = convert(GLenum, 0x8003) -const GL_ONE_MINUS_CONSTANT_ALPHA = convert(GLenum, 0x8004) -const GL_BLEND_COLOR = convert(GLenum, 0x8005) -const GL_FUNC_ADD = convert(GLenum, 0x8006) -const GL_MIN = convert(GLenum, 0x8007) -const GL_MAX = convert(GLenum, 0x8008) -const GL_FUNC_SUBTRACT = convert(GLenum, 0x800A) -const GL_FUNC_REVERSE_SUBTRACT = convert(GLenum, 0x800B) -const GL_IMAGE_BINDING_ACCESS = convert(GLenum, 0x8F3E) -const GL_GREEN = convert(GLenum, 0x1904) -const GL_IMAGE_BINDING_LAYERED = convert(GLenum, 0x8F3C) -const GL_PIXEL_PACK_BUFFER_BINDING = convert(GLenum, 0x88ED) -const GL_RGB = convert(GLenum, 0x1907) -const GL_MAX_COMPUTE_WORK_GROUP_COUNT = convert(GLenum, 0x91BE) -const GL_ALPHA_INTEGER = convert(GLenum, 0x8D97) -const GL_DEBUG_SOURCE_WINDOW_SYSTEM = convert(GLenum, 0x8247) -const GL_MAX_GEOMETRY_INPUT_COMPONENTS = convert(GLenum, 0x9123) -const GL_NORMAL_MAP = convert(GLenum, 0x8511) -const GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = convert(GLenum, 0x8A35) -const GL_TEXTURE_MIN_FILTER = convert(GLenum, 0x2801) -const GL_UNSIGNED_INT_10_10_10_2 = convert(GLenum, 0x8036) -const GL_FRAGMENT_SHADER_DERIVATIVE_HINT = convert(GLenum, 0x8B8B) -const GL_RENDERBUFFER_GREEN_SIZE = convert(GLenum, 0x8D51) -const GL_SRC1_COLOR = convert(GLenum, 0x88F9) -const GL_CULL_FACE = convert(GLenum, 0x0B44) -const GL_STENCIL_FAIL = convert(GLenum, 0x0B94) -const GL_REFERENCED_BY_FRAGMENT_SHADER = convert(GLenum, 0x930A) -const GL_COMPRESSED_SRGB = convert(GLenum, 0x8C48) -const GL_DRAW_BUFFER1 = convert(GLenum, 0x8826) -const GL_ISOLINES = convert(GLenum, 0x8E7A) -const GL_TEXTURE_LUMINANCE_SIZE = convert(GLenum, 0x8060) -const GL_COLOR_ARRAY_POINTER = convert(GLenum, 0x8090) -const GL_ACTIVE_SUBROUTINES = convert(GLenum, 0x8DE5) -const GL_TEXTURE_BINDING_2D = convert(GLenum, 0x8069) -const GL_ALPHA = convert(GLenum, 0x1906) -const GL_ATOMIC_COUNTER_BUFFER_BINDING = convert(GLenum, 0x92C1) -const GL_UNSIGNED_INT_IMAGE_2D_ARRAY = convert(GLenum, 0x9069) -const GL_MAX_COMPUTE_LOCAL_INVOCATIONS = convert(GLenum, 0x90EB) -const GL_STREAM_READ = convert(GLenum, 0x88E1) -const GL_TEXTURE_WRAP_T = convert(GLenum, 0x2803) -const GL_ALL_ATTRIB_BITS = convert(GLenum, 0xFFFFFFFF) -const GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE = convert(GLenum, 0x92C4) -const GL_UNSIGNED_INT_8_8_8_8 = convert(GLenum, 0x8035) -const GL_TEXTURE29 = convert(GLenum, 0x84DD) -const GL_TEXTURE_UPDATE_BARRIER_BIT = convert(GLbitfield, 0x00000100) -const GL_INT_SAMPLER_BUFFER = convert(GLenum, 0x8DD0) -const GL_Q = convert(GLenum, 0x2003) -const GL_INDEX_BITS = convert(GLenum, 0x0D51) -const GL_SPOT_CUTOFF = convert(GLenum, 0x1206) -const GL_PACK_LSB_FIRST = convert(GLenum, 0x0D01) -const GL_BOOL_VEC4 = convert(GLenum, 0x8B59) -const GL_STENCIL_INDEX = convert(GLenum, 0x1901) -const GL_TRANSFORM_FEEDBACK_BUFFER_SIZE = convert(GLenum, 0x8C85) -const GL_SRC2_RGB = convert(GLenum, 0x8582) -const GL_MODELVIEW = convert(GLenum, 0x1700) -const GL_POLYGON_OFFSET_UNITS = convert(GLenum, 0x2A00) -const GL_PROXY_TEXTURE_1D_ARRAY = convert(GLenum, 0x8C19) -const GL_UNDEFINED_VERTEX = convert(GLenum, 0x8260) -const GL_UNPACK_COMPRESSED_BLOCK_HEIGHT = convert(GLenum, 0x9128) -const GL_TEXTURE9 = convert(GLenum, 0x84C9) -const GL_V3F = convert(GLenum, 0x2A21) -const GL_FRAGMENT_DEPTH = convert(GLenum, 0x8452) -const GL_DEPTH_RENDERABLE = convert(GLenum, 0x8287) -const GL_FOG_COLOR = convert(GLenum, 0x0B66) -const GL_PROGRAM_POINT_SIZE = convert(GLenum, 0x8642) -const GL_MAP_COLOR = convert(GLenum, 0x0D10) -const GL_DEBUG_SEVERITY_MEDIUM = convert(GLenum, 0x9147) -const GL_NORMAL_ARRAY_STRIDE = convert(GLenum, 0x807F) -const GL_TEXTURE_COORD_ARRAY_SIZE = convert(GLenum, 0x8088) -const GL_BLOCK_INDEX = convert(GLenum, 0x92FD) -const GL_IMAGE_BINDING_FORMAT = convert(GLenum, 0x906E) -const GL_STENCIL_REF = convert(GLenum, 0x0B97) -const GL_CLIENT_ALL_ATTRIB_BITS = convert(GLenum, 0xFFFFFFFF) -const GL_DOUBLE_VEC4 = convert(GLenum, 0x8FFE) -const GL_DEPTH_SCALE = convert(GLenum, 0x0D1E) -const GL_VIEWPORT_BIT = convert(GLbitfield, 0x00000800) -const GL_COMPRESSED_SIGNED_R11_EAC = convert(GLenum, 0x9271) -const GL_CLAMP_VERTEX_COLOR = convert(GLenum, 0x891A) -const GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = convert(GLenum, 0x8E4C) -const GL_VERTEX_ATTRIB_RELATIVE_OFFSET = convert(GLenum, 0x82D5) -const GL_UNSIGNED_INT_SAMPLER_1D_ARRAY = convert(GLenum, 0x8DD6) -const GL_UNSIGNED_SHORT_1_5_5_5_REV = convert(GLenum, 0x8366) -const GL_EMISSION = convert(GLenum, 0x1600) -const GL_CURRENT_RASTER_COLOR = convert(GLenum, 0x0B04) -const GL_TEXTURE_RESIDENT = convert(GLenum, 0x8067) -const GL_COMPRESSED_SRGB8_ETC2 = convert(GLenum, 0x9275) -const GL_MAX_NUM_COMPATIBLE_SUBROUTINES = convert(GLenum, 0x92F8) -const GL_TEXTURE17 = convert(GLenum, 0x84D1) -const GL_CONTEXT_FLAG_DEBUG_BIT = convert(GLbitfield, 0x00000002) -const GL_TEXTURE16 = convert(GLenum, 0x84D0) -const GL_DITHER = convert(GLenum, 0x0BD0) -const GL_MAP1_TEXTURE_COORD_2 = convert(GLenum, 0x0D94) -const GL_BLEND_DST_RGB = convert(GLenum, 0x80C8) -const GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = convert(GLenum, 0x8215) -const GL_S = convert(GLenum, 0x2000) -const GL_COMPRESSED_RG = convert(GLenum, 0x8226) -const GL_NOTEQUAL = convert(GLenum, 0x0205) -const GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = convert(GLenum, 0x851A) -const GL_NOR = convert(GLenum, 0x1508) -const GL_ONE_MINUS_SRC1_COLOR = convert(GLenum, 0x88FA) -const GL_LINEAR_MIPMAP_NEAREST = convert(GLenum, 0x2701) -const GL_SEPARATE_ATTRIBS = convert(GLenum, 0x8C8D) -const GL_MAX_INTEGER_SAMPLES = convert(GLenum, 0x9110) -const GL_STENCIL_COMPONENTS = convert(GLenum, 0x8285) -const GL_FRAMEBUFFER_BINDING = convert(GLenum, 0x8CA6) -const GL_INTERLEAVED_ATTRIBS = convert(GLenum, 0x8C8C) -const GL_UNIFORM_MATRIX_STRIDE = convert(GLenum, 0x8A3D) -const GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE = convert(GLenum, 0x82AF) -const GL_T4F_C4F_N3F_V4F = convert(GLenum, 0x2A2D) -const GL_RED_BIAS = convert(GLenum, 0x0D15) -const GL_OPERAND2_ALPHA = convert(GLenum, 0x859A) -const GL_SRC_COLOR = convert(GLenum, 0x0300) -const GL_POLYGON_OFFSET_LINE = convert(GLenum, 0x2A02) -const GL_REFERENCED_BY_COMPUTE_SHADER = convert(GLenum, 0x930B) -const GL_TYPE = convert(GLenum, 0x92FA) -const GL_ACTIVE_UNIFORM_MAX_LENGTH = convert(GLenum, 0x8B87) -const GL_TEXTURE_BINDING_1D_ARRAY = convert(GLenum, 0x8C1C) -const GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = convert(GLenum, 0x8E81) -const GL_POLYGON_STIPPLE_BIT = convert(GLbitfield, 0x00000010) -const GL_MAX_FRAMEBUFFER_SAMPLES = convert(GLenum, 0x9318) -const GL_PROJECTION_MATRIX = convert(GLenum, 0x0BA7) -const GL_TRIANGLE_STRIP_ADJACENCY = convert(GLenum, 0x000D) -const GL_MULTISAMPLE = convert(GLenum, 0x809D) -const GL_MAX_NAME_LENGTH = convert(GLenum, 0x92F6) -const GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = convert(GLenum, 0x8C29) -const GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = convert(GLenum, 0x9103) -const GL_STENCIL_BACK_VALUE_MASK = convert(GLenum, 0x8CA4) -const GL_RGBA16I = convert(GLenum, 0x8D88) -const GL_COLOR_INDEXES = convert(GLenum, 0x1603) -const GL_INVALID_ENUM = convert(GLenum, 0x0500) -const GL_UNSIGNED_INT_IMAGE_2D = convert(GLenum, 0x9063) -const GL_NOOP = convert(GLenum, 0x1505) -const GL_INDEX_SHIFT = convert(GLenum, 0x0D12) -const GL_INDEX_ARRAY_TYPE = convert(GLenum, 0x8085) -const GL_MAX_WIDTH = convert(GLenum, 0x827E) -const GL_ANY_SAMPLES_PASSED_CONSERVATIVE = convert(GLenum, 0x8D6A) -const GL_SAMPLES = convert(GLenum, 0x80A9) -const GL_TEXTURE14 = convert(GLenum, 0x84CE) -const GL_BUFFER_MAPPED = convert(GLenum, 0x88BC) -const GL_TRANSPOSE_COLOR_MATRIX = convert(GLenum, 0x84E6) -const GL_LOWER_LEFT = convert(GLenum, 0x8CA1) -const GL_COLOR_ATTACHMENT6 = convert(GLenum, 0x8CE6) -const GL_FRAMEBUFFER = convert(GLenum, 0x8D40) -const GL_MAX_COMPUTE_SHARED_MEMORY_SIZE = convert(GLenum, 0x8262) -const GL_TEXTURE_COMPRESSED = convert(GLenum, 0x86A1) -const GL_RG = convert(GLenum, 0x8227) -const GL_POINT = convert(GLenum, 0x1B00) -const GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = convert(GLenum, 0x8CD7) -const GL_PROGRAM_PIPELINE_BINDING = convert(GLenum, 0x825A) -const GL_SHADER = convert(GLenum, 0x82E1) -const GL_INT_IMAGE_1D_ARRAY = convert(GLenum, 0x905D) -const GL_PROXY_TEXTURE_RECTANGLE = convert(GLenum, 0x84F7) -const GL_ATOMIC_COUNTER_BUFFER_SIZE = convert(GLenum, 0x92C3) -const GL_SAMPLE_ALPHA_TO_COVERAGE = convert(GLenum, 0x809E) -const GL_FLOAT_MAT4x2 = convert(GLenum, 0x8B69) -const GL_MAX_LABEL_LENGTH = convert(GLenum, 0x82E8) -const GL_VIEW_CLASS_S3TC_DXT3_RGBA = convert(GLenum, 0x82CE) -const GL_UNSIGNED_INT_IMAGE_1D = convert(GLenum, 0x9062) -const GL_TEXTURE_COORD_ARRAY = convert(GLenum, 0x8078) -const GL_FOG = convert(GLenum, 0x0B60) -const GL_FRAGMENT_SHADER = convert(GLenum, 0x8B30) -const GL_RGB_INTEGER = convert(GLenum, 0x8D98) -const GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW = convert(GLenum, 0x900D) -const GL_CLIENT_PIXEL_STORE_BIT = convert(GLbitfield, 0x00000001) -const GL_ATOMIC_COUNTER_BUFFER_INDEX = convert(GLenum, 0x9301) -const GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS = convert(GLenum, 0x8DE8) -const GL_CAVEAT_SUPPORT = convert(GLenum, 0x82B8) -const GL_RGBA16_SNORM = convert(GLenum, 0x8F9B) -const GL_CLIP_DISTANCE3 = convert(GLenum, 0x3003) -const GL_SAMPLE_COVERAGE = convert(GLenum, 0x80A0) -const GL_INTERNALFORMAT_BLUE_TYPE = convert(GLenum, 0x827A) -const GL_SHADER_TYPE = convert(GLenum, 0x8B4F) -const GL_ONE_MINUS_DST_COLOR = convert(GLenum, 0x0307) -const GL_RG_INTEGER = convert(GLenum, 0x8228) -const GL_HALF_FLOAT = convert(GLenum, 0x140B) -const GL_SELECTION_BUFFER_POINTER = convert(GLenum, 0x0DF3) -const GL_CONTEXT_FLAGS = convert(GLenum, 0x821E) -const GL_UNPACK_SKIP_IMAGES = convert(GLenum, 0x806D) -const GL_MAX_MODELVIEW_STACK_DEPTH = convert(GLenum, 0x0D36) -const GL_STACK_UNDERFLOW = convert(GLenum, 0x0504) -const GL_READ_WRITE = convert(GLenum, 0x88BA) -const GL_LUMINANCE8 = convert(GLenum, 0x8040) -const GL_QUERY_BY_REGION_NO_WAIT = convert(GLenum, 0x8E16) -const GL_VIEWPORT_INDEX_PROVOKING_VERTEX = convert(GLenum, 0x825F) -const GL_INVERT = convert(GLenum, 0x150A) -const GL_LIGHT5 = convert(GLenum, 0x4005) -const GL_FLOAT_VEC2 = convert(GLenum, 0x8B50) -const GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS = convert(GLenum, 0x8E7F) -const GL_INTERNALFORMAT_DEPTH_SIZE = convert(GLenum, 0x8275) -const GL_SCISSOR_BIT = convert(GLbitfield, 0x00080000) -const GL_CLIENT_ATTRIB_STACK_DEPTH = convert(GLenum, 0x0BB1) -const GL_BUFFER_USAGE = convert(GLenum, 0x8765) -const GL_INT_IMAGE_1D = convert(GLenum, 0x9057) -const GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = convert(GLenum, 0x90DB) -const GL_MAX_FRAGMENT_UNIFORM_BLOCKS = convert(GLenum, 0x8A2D) -const GL_MIPMAP = convert(GLenum, 0x8293) -const GL_CURRENT_RASTER_POSITION = convert(GLenum, 0x0B07) -const GL_TEXTURE_SAMPLES = convert(GLenum, 0x9106) -const GL_MAX_RECTANGLE_TEXTURE_SIZE = convert(GLenum, 0x84F8) -const GL_VERTEX_BINDING_STRIDE = convert(GLenum, 0x82D8) -const GL_MAX_VARYING_COMPONENTS = convert(GLenum, 0x8B4B) -const GL_VIEW_COMPATIBILITY_CLASS = convert(GLenum, 0x82B6) -const GL_STENCIL_CLEAR_VALUE = convert(GLenum, 0x0B91) -const GL_SAMPLER_2D_MULTISAMPLE_ARRAY = convert(GLenum, 0x910B) -const GL_RG16 = convert(GLenum, 0x822C) -const GL_REPEAT = convert(GLenum, 0x2901) -const GL_UNSIGNED_SHORT_5_6_5 = convert(GLenum, 0x8363) -const GL_RENDERBUFFER_RED_SIZE = convert(GLenum, 0x8D50) -const GL_DEPTH_STENCIL_ATTACHMENT = convert(GLenum, 0x821A) -const GL_UNPACK_COMPRESSED_BLOCK_DEPTH = convert(GLenum, 0x9129) -const GL_FILL = convert(GLenum, 0x1B02) -const GL_ONE_MINUS_SRC_COLOR = convert(GLenum, 0x0301) -const GL_PACK_ALIGNMENT = convert(GLenum, 0x0D05) -const GL_DEBUG_TYPE_PORTABILITY = convert(GLenum, 0x824F) -const GL_UNSIGNED_INT_5_9_9_9_REV = convert(GLenum, 0x8C3E) -const GL_TEXTURE2 = convert(GLenum, 0x84C2) -const GL_PACK_COMPRESSED_BLOCK_WIDTH = convert(GLenum, 0x912B) -const GL_TEXTURE_ENV = convert(GLenum, 0x2300) -const GL_PIXEL_MODE_BIT = convert(GLbitfield, 0x00000020) -const GL_DOUBLE_MAT2x4 = convert(GLenum, 0x8F4A) -const GL_BUFFER_MAP_POINTER = convert(GLenum, 0x88BD) -const GL_GEQUAL = convert(GLenum, 0x0206) -const GL_UNSIGNALED = convert(GLenum, 0x9118) -const GL_UNPACK_COMPRESSED_BLOCK_SIZE = convert(GLenum, 0x912A) -const GL_RED = convert(GLenum, 0x1903) -const GL_BUFFER_BINDING = convert(GLenum, 0x9302) -const GL_MAX_FRAGMENT_UNIFORM_VECTORS = convert(GLenum, 0x8DFD) -const GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = convert(GLenum, 0x8213) -const GL_LUMINANCE8_ALPHA8 = convert(GLenum, 0x8045) -const GL_COLOR_ATTACHMENT14 = convert(GLenum, 0x8CEE) -const GL_RGBA32UI = convert(GLenum, 0x8D70) -const GL_PRIMARY_COLOR = convert(GLenum, 0x8577) -const GL_MIRRORED_REPEAT = convert(GLenum, 0x8370) -const GL_CLAMP_TO_BORDER = convert(GLenum, 0x812D) -const GL_VALIDATE_STATUS = convert(GLenum, 0x8B83) -const GL_COMPUTE_SUBROUTINE = convert(GLenum, 0x92ED) -const GL_RG8_SNORM = convert(GLenum, 0x8F95) -const GL_DRAW_FRAMEBUFFER_BINDING = convert(GLenum, 0x8CA6) -const GL_ALL_BARRIER_BITS = convert(GLenum, 0xFFFFFFFF) -const GL_COEFF = convert(GLenum, 0x0A00) -const GL_TEXTURE7 = convert(GLenum, 0x84C7) -const GL_TEXTURE6 = convert(GLenum, 0x84C6) -const GL_SRGB_WRITE = convert(GLenum, 0x8298) -const GL_COMPRESSED_SRGB_ALPHA = convert(GLenum, 0x8C49) -const GL_MAX_FRAGMENT_IMAGE_UNIFORMS = convert(GLenum, 0x90CE) -const GL_GEOMETRY_OUTPUT_TYPE = convert(GLenum, 0x8918) -const GL_CW = convert(GLenum, 0x0900) -const GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = convert(GLenum, 0x8E80) -const GL_UNSIGNED_INT_VEC4 = convert(GLenum, 0x8DC8) -const GL_UNIFORM_IS_ROW_MAJOR = convert(GLenum, 0x8A3E) -const GL_TEXTURE_CUBE_MAP = convert(GLenum, 0x8513) -const GL_ALPHA_TEST_REF = convert(GLenum, 0x0BC2) -const GL_FOG_BIT = convert(GLbitfield, 0x00000080) -const GL_X3_BYTES = convert(GLenum, 0x1408) -const GL_TEXTURE_MAX_LEVEL = convert(GLenum, 0x813D) -const GL_REFERENCED_BY_GEOMETRY_SHADER = convert(GLenum, 0x9309) -const GL_TEXTURE_ALPHA_SIZE = convert(GLenum, 0x805F) -const GL_FOG_COORDINATE_ARRAY_TYPE = convert(GLenum, 0x8454) -const GL_TEXTURE_STENCIL_SIZE = convert(GLenum, 0x88F1) -const GL_MAX_FRAGMENT_INPUT_COMPONENTS = convert(GLenum, 0x9125) -const GL_ALPHA_BITS = convert(GLenum, 0x0D55) -const GL_OR = convert(GLenum, 0x1507) -const GL_T2F_C4F_N3F_V3F = convert(GLenum, 0x2A2C) -const GL_TEXTURE19 = convert(GLenum, 0x84D3) -const GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = convert(GLenum, 0x910A) -const GL_TESS_GEN_MODE = convert(GLenum, 0x8E76) -const GL_MAX_LIGHTS = convert(GLenum, 0x0D31) -const GL_MAX_VERTEX_UNIFORM_COMPONENTS = convert(GLenum, 0x8B4A) -const GL_MAX_VIEWPORT_DIMS = convert(GLenum, 0x0D3A) -const GL_POINT_SIZE_MIN = convert(GLenum, 0x8126) -const GL_MAX_VERTEX_IMAGE_UNIFORMS = convert(GLenum, 0x90CA) -const GL_CLIP_PLANE2 = convert(GLenum, 0x3002) -const GL_T4F_V4F = convert(GLenum, 0x2A28) -const GL_UNIFORM_TYPE = convert(GLenum, 0x8A37) -const GL_COMPUTE_SUBROUTINE_UNIFORM = convert(GLenum, 0x92F3) -const GL_LOCATION = convert(GLenum, 0x930E) -const GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = convert(GLenum, 0x82D9) -const GL_CONTEXT_COMPATIBILITY_PROFILE_BIT = convert(GLbitfield, 0x00000002) -const GL_MAP1_INDEX = convert(GLenum, 0x0D91) -const GL_FOG_COORDINATE_ARRAY = convert(GLenum, 0x8457) -const GL_TEXTURE_COORD_ARRAY_STRIDE = convert(GLenum, 0x808A) -const GL_MAX_UNIFORM_BUFFER_BINDINGS = convert(GLenum, 0x8A2F) -const GL_PATCHES = convert(GLenum, 0x000E) -const GL_TESS_CONTROL_OUTPUT_VERTICES = convert(GLenum, 0x8E75) -const GL_LOW_FLOAT = convert(GLenum, 0x8DF0) -const GL_LINEAR_MIPMAP_LINEAR = convert(GLenum, 0x2703) -const GL_IMAGE_2D_MULTISAMPLE = convert(GLenum, 0x9055) -const GL_COLOR_COMPONENTS = convert(GLenum, 0x8283) -const GL_PRIMITIVE_RESTART = convert(GLenum, 0x8F9D) -const GL_SYNC_STATUS = convert(GLenum, 0x9114) -const GL_COMPRESSED_RGBA = convert(GLenum, 0x84EE) -const GL_MAX_ELEMENTS_INDICES = convert(GLenum, 0x80E9) -const GL_MAX_FRAGMENT_ATOMIC_COUNTERS = convert(GLenum, 0x92D6) -const GL_VIEW_CLASS_S3TC_DXT1_RGBA = convert(GLenum, 0x82CD) -const GL_COLOR_ATTACHMENT1 = convert(GLenum, 0x8CE1) -const GL_VERTEX_ATTRIB_ARRAY_INTEGER = convert(GLenum, 0x88FD) -const GL_DRAW_BUFFER10 = convert(GLenum, 0x882F) -const GL_TEXTURE21 = convert(GLenum, 0x84D5) -const GL_VIEW_CLASS_128_BITS = convert(GLenum, 0x82C4) -const GL_PACK_IMAGE_HEIGHT = convert(GLenum, 0x806C) -const GL_DEPTH32F_STENCIL8 = convert(GLenum, 0x8CAD) -const GL_MAP1_VERTEX_4 = convert(GLenum, 0x0D98) -const GL_SRC_ALPHA_SATURATE = convert(GLenum, 0x0308) -const GL_PROJECTION = convert(GLenum, 0x1701) -const GL_GENERATE_MIPMAP_HINT = convert(GLenum, 0x8192) -const GL_PROXY_TEXTURE_3D = convert(GLenum, 0x8070) -const GL_SHADER_SOURCE_LENGTH = convert(GLenum, 0x8B88) -const GL_RGBA8_SNORM = convert(GLenum, 0x8F97) -const GL_MAX_COMPUTE_IMAGE_UNIFORMS = convert(GLenum, 0x91BD) -const GL_C4F_N3F_V3F = convert(GLenum, 0x2A26) -const GL_BLEND_EQUATION_RGB = convert(GLenum, 0x8009) -const GL_INDEX_MODE = convert(GLenum, 0x0C30) -const GL_MAP_STENCIL = convert(GLenum, 0x0D11) -const GL_VERTEX_ARRAY_SIZE = convert(GLenum, 0x807A) -const GL_STATIC_COPY = convert(GLenum, 0x88E6) -const GL_UNSIGNED_INT_IMAGE_1D_ARRAY = convert(GLenum, 0x9068) -const GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT = convert(GLenum, 0x919F) -const GL_INTERNALFORMAT_SHARED_SIZE = convert(GLenum, 0x8277) -const GL_OPERAND1_ALPHA = convert(GLenum, 0x8599) -const GL_IMAGE_3D = convert(GLenum, 0x904E) -const GL_RG16UI = convert(GLenum, 0x823A) -const GL_TESS_EVALUATION_SHADER = convert(GLenum, 0x8E87) -const GL_PROGRAM_BINARY_FORMATS = convert(GLenum, 0x87FF) -const GL_PIXEL_MAP_B_TO_B_SIZE = convert(GLenum, 0x0CB8) -const GL_R32UI = convert(GLenum, 0x8236) -const GL_TEXTURE27 = convert(GLenum, 0x84DB) -const GL_RG16I = convert(GLenum, 0x8239) -const GL_MAX_TEXTURE_BUFFER_SIZE = convert(GLenum, 0x8C2B) -const GL_SIGNED_NORMALIZED = convert(GLenum, 0x8F9C) -const GL_VENDOR = convert(GLenum, 0x1F00) -const GL_DEPTH_TEST = convert(GLenum, 0x0B71) -const GL_TEXTURE_RED_SIZE = convert(GLenum, 0x805C) -const GL_TEXTURE_FILTER_CONTROL = convert(GLenum, 0x8500) -const GL_TEXTURE_BORDER = convert(GLenum, 0x1005) -const GL_TEXTURE_COORD_ARRAY_TYPE = convert(GLenum, 0x8089) -const GL_DEBUG_TYPE_PUSH_GROUP = convert(GLenum, 0x8269) -const GL_UNSIGNED_BYTE = convert(GLenum, 0x1401) -const GL_TRANSPOSE_MODELVIEW_MATRIX = convert(GLenum, 0x84E3) -const GL_UPPER_LEFT = convert(GLenum, 0x8CA2) -const GL_TEXTURE_COMPRESSED_BLOCK_SIZE = convert(GLenum, 0x82B3) -const GL_MAX_PROGRAM_TEXEL_OFFSET = convert(GLenum, 0x8905) -const GL_TEXTURE_BIT = convert(GLbitfield, 0x00040000) -const GL_STREAM_COPY = convert(GLenum, 0x88E2) -const GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX = convert(GLenum, 0x92DA) -const GL_MAP_FLUSH_EXPLICIT_BIT = convert(GLbitfield, 0x0010) -const GL_RGB9_E5 = convert(GLenum, 0x8C3D) -const GL_RGB5_A1 = convert(GLenum, 0x8057) -const GL_TEXTURE_VIEW_NUM_LEVELS = convert(GLenum, 0x82DC) -const GL_IMAGE_1D_ARRAY = convert(GLenum, 0x9052) -const GL_AUX1 = convert(GLenum, 0x040A) -const GL_DEPTH_COMPONENT32F = convert(GLenum, 0x8CAC) -const GL_FLOAT_32_UNSIGNED_INT_24_8_REV = convert(GLenum, 0x8DAD) -const GL_TRANSFORM_FEEDBACK_BUFFER_MODE = convert(GLenum, 0x8C7F) -const GL_FRAMEBUFFER_DEFAULT_SAMPLES = convert(GLenum, 0x9313) -const GL_BLUE_BITS = convert(GLenum, 0x0D54) -const GL_LOAD = convert(GLenum, 0x0101) -const GL_BUFFER_ACCESS_FLAGS = convert(GLenum, 0x911F) -const GL_COLOR_LOGIC_OP = convert(GLenum, 0x0BF2) -const GL_MAX_LAYERS = convert(GLenum, 0x8281) -const GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS = convert(GLenum, 0x90DD) -const GL_MINOR_VERSION = convert(GLenum, 0x821C) -const GL_UNIFORM = convert(GLenum, 0x92E1) -const GL_COLOR_ATTACHMENT2 = convert(GLenum, 0x8CE2) -const GL_HINT_BIT = convert(GLbitfield, 0x00008000) -const GL_TRANSPOSE_PROJECTION_MATRIX = convert(GLenum, 0x84E4) -const GL_DRAW_BUFFER14 = convert(GLenum, 0x8833) -const GL_FLOAT = convert(GLenum, 0x1406) -const GL_SPHERE_MAP = convert(GLenum, 0x2402) -const GL_COLOR_INDEX = convert(GLenum, 0x1900) -const GL_MAJOR_VERSION = convert(GLenum, 0x821B) -const GL_DOUBLE_VEC2 = convert(GLenum, 0x8FFC) -const GL_INTENSITY16 = convert(GLenum, 0x804D) -const GL_INT_SAMPLER_1D = convert(GLenum, 0x8DC9) -const GL_SOURCE1_RGB = convert(GLenum, 0x8581) -const GL_SCISSOR_BOX = convert(GLenum, 0x0C10) -const GL_MAX_3D_TEXTURE_SIZE = convert(GLenum, 0x8073) -const GL_CONDITION_SATISFIED = convert(GLenum, 0x911C) -const GL_TEXTURE_BUFFER_DATA_STORE_BINDING = convert(GLenum, 0x8C2D) -const GL_COPY_WRITE_BUFFER = convert(GLenum, 0x8F37) -const GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = convert(GLenum, 0x90DF) -const GL_EDGE_FLAG_ARRAY_STRIDE = convert(GLenum, 0x808C) -const GL_UNSIGNED_INT_SAMPLER_1D = convert(GLenum, 0x8DD1) -const GL_PIXEL_MAP_I_TO_R_SIZE = convert(GLenum, 0x0CB2) -const GL_ATOMIC_COUNTER_BUFFER = convert(GLenum, 0x92C0) -const GL_SRGB_READ = convert(GLenum, 0x8297) -const GL_R8_SNORM = convert(GLenum, 0x8F94) -const GL_LEFT = convert(GLenum, 0x0406) -const GL_DEBUG_OUTPUT_SYNCHRONOUS = convert(GLenum, 0x8242) -const GL_COLOR_ENCODING = convert(GLenum, 0x8296) -const GL_INT_SAMPLER_2D_MULTISAMPLE = convert(GLenum, 0x9109) -const GL_PIXEL_MAP_I_TO_A_SIZE = convert(GLenum, 0x0CB5) -const GL_CLIP_PLANE4 = convert(GLenum, 0x3004) -const GL_TEXTURE_MAG_FILTER = convert(GLenum, 0x2800) -const GL_UNPACK_SKIP_PIXELS = convert(GLenum, 0x0CF4) -const GL_DOUBLE_MAT3x2 = convert(GLenum, 0x8F4B) -const GL_TEXTURE_LOD_BIAS = convert(GLenum, 0x8501) -const GL_COLOR_BUFFER_BIT = convert(GLbitfield, 0x00004000) -const GL_RGBA2 = convert(GLenum, 0x8055) -const GL_SAMPLE_MASK_VALUE = convert(GLenum, 0x8E52) -const GL_DEBUG_SOURCE_APPLICATION = convert(GLenum, 0x824A) -const GL_MAX_ATTRIB_STACK_DEPTH = convert(GLenum, 0x0D35) -const GL_SMOOTH_LINE_WIDTH_RANGE = convert(GLenum, 0x0B22) -const GL_SAMPLER_BINDING = convert(GLenum, 0x8919) -const GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = convert(GLenum, 0x92CF) -const GL_DEBUG_SEVERITY_LOW = convert(GLenum, 0x9148) -const GL_TEXTURE_BINDING_CUBE_MAP_ARRAY = convert(GLenum, 0x900A) -const GL_SOURCE2_ALPHA = convert(GLenum, 0x858A) -const GL_SRC_ALPHA = convert(GLenum, 0x0302) -const GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS = convert(GLenum, 0x8E47) -const GL_REFLECTION_MAP = convert(GLenum, 0x8512) -const GL_CURRENT_VERTEX_ATTRIB = convert(GLenum, 0x8626) -const GL_FOG_COORDINATE = convert(GLenum, 0x8451) -const GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = convert(GLenum, 0x8A46) -const GL_FOG_START = convert(GLenum, 0x0B63) -const GL_LUMINANCE12 = convert(GLenum, 0x8041) -const GL_DRAW_BUFFER12 = convert(GLenum, 0x8831) -const GL_UNSIGNED_SHORT_5_5_5_1 = convert(GLenum, 0x8034) -const GL_FOG_COORD_ARRAY_TYPE = convert(GLenum, 0x8454) -const GL_MULT = convert(GLenum, 0x0103) -const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER = convert(GLenum, 0x92C9) -const GL_UNSIGNED_INT_24_8 = convert(GLenum, 0x84FA) -const GL_MAX_GEOMETRY_UNIFORM_COMPONENTS = convert(GLenum, 0x8DDF) -const GL_MAX_COMPUTE_UNIFORM_COMPONENTS = convert(GLenum, 0x8263) -const GL_MAX_VERTEX_ATOMIC_COUNTERS = convert(GLenum, 0x92D2) -const GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT = convert(GLenum, 0x8A34) -const GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = convert(GLenum, 0x9105) -const GL_PROGRAM_PIPELINE = convert(GLenum, 0x82E4) -const GL_GREEN_BITS = convert(GLenum, 0x0D53) -const GL_IMAGE_2D = convert(GLenum, 0x904D) -const GL_LIGHT_MODEL_COLOR_CONTROL = convert(GLenum, 0x81F8) -const GL_CURRENT_RASTER_DISTANCE = convert(GLenum, 0x0B09) -const GL_MIN_PROGRAM_TEXEL_OFFSET = convert(GLenum, 0x8904) -const GL_BGRA = convert(GLenum, 0x80E1) -const GL_STENCIL_WRITEMASK = convert(GLenum, 0x0B98) -const GL_VERTEX_BINDING_OFFSET = convert(GLenum, 0x82D7) -const GL_EYE_PLANE = convert(GLenum, 0x2502) -const GL_SAMPLER = convert(GLenum, 0x82E6) -const GL_IMAGE_CLASS_2_X_32 = convert(GLenum, 0x82BA) -const GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = convert(GLenum, 0x906A) -const GL_LINE_WIDTH_GRANULARITY = convert(GLenum, 0x0B23) -const GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = convert(GLenum, 0x8E1F) -const GL_MAX_IMAGE_UNITS = convert(GLenum, 0x8F38) -const GL_STENCIL_FUNC = convert(GLenum, 0x0B92) -const GL_TEXTURE_INTENSITY_TYPE = convert(GLenum, 0x8C15) -const GL_MAX_RENDERBUFFER_SIZE = convert(GLenum, 0x84E8) -const GL_TESS_CONTROL_SUBROUTINE_UNIFORM = convert(GLenum, 0x92EF) -const GL_ACTIVE_ATOMIC_COUNTER_BUFFERS = convert(GLenum, 0x92D9) -const GL_DEPTH_CLEAR_VALUE = convert(GLenum, 0x0B73) -const GL_BLUE = convert(GLenum, 0x1905) -const GL_VERTEX_ARRAY = convert(GLenum, 0x8074) -const GL_POLYGON_OFFSET_FACTOR = convert(GLenum, 0x8038) -const GL_TEXTURE10 = convert(GLenum, 0x84CA) -const GL_VIEW_CLASS_32_BITS = convert(GLenum, 0x82C8) -const GL_RIGHT = convert(GLenum, 0x0407) -const GL_FRAMEBUFFER_UNDEFINED = convert(GLenum, 0x8219) -const GL_FOG_COORDINATE_ARRAY_POINTER = convert(GLenum, 0x8456) -const GL_R8UI = convert(GLenum, 0x8232) -const GL_MAP1_NORMAL = convert(GLenum, 0x0D92) -const GL_TEXTURE28 = convert(GLenum, 0x84DC) -const GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = convert(GLenum, 0x8214) -const GL_TEXTURE_CUBE_MAP_SEAMLESS = convert(GLenum, 0x884F) -const GL_BUFFER_UPDATE_BARRIER_BIT = convert(GLbitfield, 0x00000200) -const GL_FRONT_FACE = convert(GLenum, 0x0B46) -const GL_IMAGE_2D_RECT = convert(GLenum, 0x904F) -const GL_PRIMITIVES_GENERATED = convert(GLenum, 0x8C87) -const GL_RGBA12 = convert(GLenum, 0x805A) -const GL_IMPLEMENTATION_COLOR_READ_FORMAT = convert(GLenum, 0x8B9B) -const GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = convert(GLenum, 0x8E85) -const GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR = convert(GLenum, 0x824E) -const GL_PATCH_DEFAULT_INNER_LEVEL = convert(GLenum, 0x8E73) -const GL_FILTER = convert(GLenum, 0x829A) -const GL_R16 = convert(GLenum, 0x822A) -const GL_SAMPLER_2D_SHADOW = convert(GLenum, 0x8B62) -const GL_MAX_DEPTH_TEXTURE_SAMPLES = convert(GLenum, 0x910F) -const GL_PRIMITIVE_RESTART_INDEX = convert(GLenum, 0x8F9E) -const GL_INVALID_OPERATION = convert(GLenum, 0x0502) -const GL_MAX_TEXTURE_LOD_BIAS = convert(GLenum, 0x84FD) -const GL_TEXTURE_GEN_T = convert(GLenum, 0x0C61) -const GL_BUFFER = convert(GLenum, 0x82E0) -const GL_MAX_VERTEX_UNIFORM_VECTORS = convert(GLenum, 0x8DFB) -const GL_VIEW_CLASS_S3TC_DXT1_RGB = convert(GLenum, 0x82CC) -const GL_RENDERBUFFER_STENCIL_SIZE = convert(GLenum, 0x8D55) -const GL_POLYGON_MODE = convert(GLenum, 0x0B40) -const GL_SHADER_IMAGE_ATOMIC = convert(GLenum, 0x82A6) -const GL_MAP1_TEXTURE_COORD_4 = convert(GLenum, 0x0D96) -const GL_LOGIC_OP_MODE = convert(GLenum, 0x0BF0) -const GL_DRAW_BUFFER9 = convert(GLenum, 0x882E) -const GL_SAMPLER_2D_RECT_SHADOW = convert(GLenum, 0x8B64) -const GL_LINE_WIDTH = convert(GLenum, 0x0B21) -const GL_INTENSITY4 = convert(GLenum, 0x804A) -const GL_TRANSFORM_FEEDBACK_VARYINGS = convert(GLenum, 0x8C83) -const GL_COLOR_ATTACHMENT7 = convert(GLenum, 0x8CE7) -const GL_VERTEX_SHADER_BIT = convert(GLbitfield, 0x00000001) -const GL_RENDERBUFFER_BINDING = convert(GLenum, 0x8CA7) -const GL_SOURCE1_ALPHA = convert(GLenum, 0x8589) -const GL_EDGE_FLAG_ARRAY_BUFFER_BINDING = convert(GLenum, 0x889B) -const GL_STATIC_READ = convert(GLenum, 0x88E5) -const GL_SHADER_STORAGE_BARRIER_BIT = convert(GLbitfield, 0x2000) -const GL_NAME_LENGTH = convert(GLenum, 0x92F9) -const GL_POLYGON = convert(GLenum, 0x0009) -const GL_PASS_THROUGH_TOKEN = convert(GLenum, 0x0700) -const GL_LIGHTING_BIT = convert(GLbitfield, 0x00000040) -const GL_LINE_BIT = convert(GLbitfield, 0x00000004) -const GL_POLYGON_STIPPLE = convert(GLenum, 0x0B42) -const GL_ALPHA8 = convert(GLenum, 0x803C) -const GL_FRONT = convert(GLenum, 0x0404) -const GL_ACTIVE_VARIABLES = convert(GLenum, 0x9305) -const GL_COMPRESSED_RG_RGTC2 = convert(GLenum, 0x8DBD) -const GL_TEXTURE24 = convert(GLenum, 0x84D8) -const GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING = convert(GLenum, 0x889A) -const GL_FLOAT_MAT3 = convert(GLenum, 0x8B5B) -const GL_DEBUG_TYPE_ERROR = convert(GLenum, 0x824C) -const GL_VIEW_CLASS_48_BITS = convert(GLenum, 0x82C7) -const GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = convert(GLenum, 0x8C8A) -const GL_PROGRAM_BINARY_LENGTH = convert(GLenum, 0x8741) -const GL_TEXTURE_IMMUTABLE_LEVELS = convert(GLenum, 0x82DF) -const GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY = convert(GLenum, 0x906C) -const GL_POINT_FADE_THRESHOLD_SIZE = convert(GLenum, 0x8128) -const GL_LOW_INT = convert(GLenum, 0x8DF3) -const GL_DEBUG_GROUP_STACK_DEPTH = convert(GLenum, 0x826D) -const GL_FRAMEBUFFER_DEFAULT = convert(GLenum, 0x8218) -const GL_MAX_NAME_STACK_DEPTH = convert(GLenum, 0x0D37) -const GL_COLOR_ARRAY = convert(GLenum, 0x8076) -const GL_CURRENT_PROGRAM = convert(GLenum, 0x8B8D) -const GL_COMPRESSED_SIGNED_RG_RGTC2 = convert(GLenum, 0x8DBE) -const GL_INT_IMAGE_CUBE = convert(GLenum, 0x905B) -const GL_DRAW_BUFFER4 = convert(GLenum, 0x8829) -const GL_FRONT_LEFT = convert(GLenum, 0x0400) -const GL_TEXTURE_CUBE_MAP_POSITIVE_Y = convert(GLenum, 0x8517) -const GL_VERTEX_ATTRIB_ARRAY_TYPE = convert(GLenum, 0x8625) -const GL_GET_TEXTURE_IMAGE_FORMAT = convert(GLenum, 0x8291) -const GL_CLIENT_ACTIVE_TEXTURE = convert(GLenum, 0x84E1) -const GL_SAMPLER_2D_ARRAY_SHADOW = convert(GLenum, 0x8DC4) -const GL_RG32UI = convert(GLenum, 0x823C) -const GL_INTERNALFORMAT_STENCIL_SIZE = convert(GLenum, 0x8276) -const GL_X2_BYTES = convert(GLenum, 0x1407) -const GL_FEEDBACK_BUFFER_TYPE = convert(GLenum, 0x0DF2) -const GL_RGBA16F = convert(GLenum, 0x881A) -const GL_COPY_READ_BUFFER = convert(GLenum, 0x8F36) -const GL_CONSTANT_ATTENUATION = convert(GLenum, 0x1207) -const GL_DRAW_BUFFER15 = convert(GLenum, 0x8834) -const GL_RG16_SNORM = convert(GLenum, 0x8F99) -const GL_RGB8_SNORM = convert(GLenum, 0x8F96) -const GL_GEOMETRY_SHADER = convert(GLenum, 0x8DD9) -const GL_LUMINANCE_ALPHA = convert(GLenum, 0x190A) -const GL_COLOR_RENDERABLE = convert(GLenum, 0x8286) -const GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = convert(GLenum, 0x889F) -const GL_TRIANGLES_ADJACENCY = convert(GLenum, 0x000C) -const GL_SAMPLER_CUBE = convert(GLenum, 0x8B60) -const GL_COLOR_ATTACHMENT0 = convert(GLenum, 0x8CE0) -const GL_FLAT = convert(GLenum, 0x1D00) -const GL_VIEW_CLASS_8_BITS = convert(GLenum, 0x82CB) -const GL_FIRST_VERTEX_CONVENTION = convert(GLenum, 0x8E4D) -const GL_SLUMINANCE8_ALPHA8 = convert(GLenum, 0x8C45) -const GL_SYNC_FLAGS = convert(GLenum, 0x9115) -const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER = convert(GLenum, 0x90ED) -const GL_SAMPLER_1D_SHADOW = convert(GLenum, 0x8B61) -const GL_BGR_INTEGER = convert(GLenum, 0x8D9A) -const GL_FLOAT_MAT2x4 = convert(GLenum, 0x8B66) -const GL_PATCH_DEFAULT_OUTER_LEVEL = convert(GLenum, 0x8E74) -const GL_READ_PIXELS_FORMAT = convert(GLenum, 0x828D) -const GL_INTERNALFORMAT_DEPTH_TYPE = convert(GLenum, 0x827C) -const GL_DRAW_INDIRECT_BUFFER_BINDING = convert(GLenum, 0x8F43) -const GL_GEOMETRY_INPUT_TYPE = convert(GLenum, 0x8917) -const GL_R8I = convert(GLenum, 0x8231) -const GL_TRANSFORM_FEEDBACK_BUFFER = convert(GLenum, 0x8C8E) -const GL_COPY_INVERTED = convert(GLenum, 0x150C) -const GL_LIST_MODE = convert(GLenum, 0x0B30) -const GL_FOG_END = convert(GLenum, 0x0B64) -const GL_MODELVIEW_STACK_DEPTH = convert(GLenum, 0x0BA3) -const GL_NORMAL_ARRAY_TYPE = convert(GLenum, 0x807E) -const GL_UNIFORM_BUFFER_SIZE = convert(GLenum, 0x8A2A) -const GL_LINK_STATUS = convert(GLenum, 0x8B82) -const GL_ARRAY_STRIDE = convert(GLenum, 0x92FE) -const GL_STENCIL_INDEX4 = convert(GLenum, 0x8D47) -const GL_MAX_IMAGE_SAMPLES = convert(GLenum, 0x906D) -const GL_IMAGE_CLASS_4_X_16 = convert(GLenum, 0x82BC) -const GL_COMPRESSED_SLUMINANCE_ALPHA = convert(GLenum, 0x8C4B) -const GL_RGB_SNORM = convert(GLenum, 0x8F92) -const GL_INT_VEC3 = convert(GLenum, 0x8B54) -const GL_MAX_ELEMENT_INDEX = convert(GLenum, 0x8D6B) -const GL_IMAGE_CLASS_1_X_16 = convert(GLenum, 0x82BE) -const GL_TEXTURE_RECTANGLE = convert(GLenum, 0x84F5) -const GL_TEXTURE_BINDING_2D_MULTISAMPLE = convert(GLenum, 0x9104) -const GL_TEXTURE_CUBE_MAP_ARRAY = convert(GLenum, 0x9009) -const GL_NEAREST_MIPMAP_NEAREST = convert(GLenum, 0x2700) -const GL_DRAW_FRAMEBUFFER = convert(GLenum, 0x8CA9) -const GL_TEXTURE_BLUE_TYPE = convert(GLenum, 0x8C12) -const GL_NUM_ACTIVE_VARIABLES = convert(GLenum, 0x9304) -const GL_DOUBLEBUFFER = convert(GLenum, 0x0C32) -const GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = convert(GLenum, 0x8217) -const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER = convert(GLenum, 0x92C7) -const GL_DEBUG_TYPE_POP_GROUP = convert(GLenum, 0x826A) -const GL_LINE_STRIP_ADJACENCY = convert(GLenum, 0x000B) -const GL_TRIANGLE_STRIP = convert(GLenum, 0x0005) -const GL_MODELVIEW_MATRIX = convert(GLenum, 0x0BA6) -const GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = convert(GLbitfield, 0x0001) -const GL_TEXTURE_IMAGE_FORMAT = convert(GLenum, 0x828F) -const GL_RGBA_SNORM = convert(GLenum, 0x8F93) -const GL_ALIASED_POINT_SIZE_RANGE = convert(GLenum, 0x846D) -const GL_DOUBLE_MAT3 = convert(GLenum, 0x8F47) -const GL_TEXTURE13 = convert(GLenum, 0x84CD) -const GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = convert(GLenum, 0x910D) -const GL_TEXTURE_BASE_LEVEL = convert(GLenum, 0x813C) -const GL_RGB16I = convert(GLenum, 0x8D89) -const GL_HIGH_INT = convert(GLenum, 0x8DF5) -const GL_TEXTURE_MIN_LOD = convert(GLenum, 0x813A) -const GL_DEBUG_CALLBACK_USER_PARAM = convert(GLenum, 0x8245) -const GL_INDEX_OFFSET = convert(GLenum, 0x0D13) -const GL_SAMPLE_COVERAGE_INVERT = convert(GLenum, 0x80AB) -const GL_PACK_COMPRESSED_BLOCK_DEPTH = convert(GLenum, 0x912D) -const GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS = convert(GLenum, 0x92D3) -const GL_FRAMEBUFFER_RENDERABLE_LAYERED = convert(GLenum, 0x828A) -const GL_FOG_INDEX = convert(GLenum, 0x0B61) -const GL_BOOL_VEC3 = convert(GLenum, 0x8B58) -const GL_GEOMETRY_TEXTURE = convert(GLenum, 0x829E) -const GL_TEXTURE_BINDING_CUBE_MAP = convert(GLenum, 0x8514) -const GL_TESS_CONTROL_TEXTURE = convert(GLenum, 0x829C) -const GL_VERTEX_ARRAY_POINTER = convert(GLenum, 0x808E) -const GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS = convert(GLenum, 0x8E89) -const GL_UNSIGNED_INT_SAMPLER_CUBE = convert(GLenum, 0x8DD4) -const GL_COMPRESSED_RED_RGTC1 = convert(GLenum, 0x8DBB) -const GL_INDEX = convert(GLenum, 0x8222) -const GL_DRAW_BUFFER11 = convert(GLenum, 0x8830) -const GL_GREEN_INTEGER = convert(GLenum, 0x8D95) -const GL_MAX_FRAMEBUFFER_HEIGHT = convert(GLenum, 0x9316) -const GL_INT = convert(GLenum, 0x1404) -const GL_TRIANGLES = convert(GLenum, 0x0004) -const GL_ALIASED_LINE_WIDTH_RANGE = convert(GLenum, 0x846E) -const GL_DEBUG_SEVERITY_NOTIFICATION = convert(GLenum, 0x826B) -const GL_DEPTH_STENCIL = convert(GLenum, 0x84F9) -const GL_TEXTURE_SHADOW = convert(GLenum, 0x82A1) -const GL_MAP_INVALIDATE_RANGE_BIT = convert(GLbitfield, 0x0004) -const GL_DECR_WRAP = convert(GLenum, 0x8508) -const GL_NAND = convert(GLenum, 0x150E) -const GL_SEPARATE_SPECULAR_COLOR = convert(GLenum, 0x81FA) -const GL_SAMPLER_1D_ARRAY_SHADOW = convert(GLenum, 0x8DC3) -const GL_BLEND_DST_ALPHA = convert(GLenum, 0x80CA) -const GL_SELECTION_BUFFER_SIZE = convert(GLenum, 0x0DF4) -const GL_TEXTURE_IMAGE_TYPE = convert(GLenum, 0x8290) -const GL_RENDERBUFFER = convert(GLenum, 0x8D41) -const GL_RGB10 = convert(GLenum, 0x8052) -const GL_INT_IMAGE_2D_MULTISAMPLE = convert(GLenum, 0x9060) -const GL_DOUBLE_MAT2 = convert(GLenum, 0x8F46) -const GL_ACCUM_BLUE_BITS = convert(GLenum, 0x0D5A) -const GL_TEXTURE30 = convert(GLenum, 0x84DE) -const GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = convert(GLenum, 0x886A) -const GL_INTERNALFORMAT_ALPHA_SIZE = convert(GLenum, 0x8274) -const GL_RENDERBUFFER_BLUE_SIZE = convert(GLenum, 0x8D52) -const GL_TEXTURE_BORDER_COLOR = convert(GLenum, 0x1004) -const GL_ALPHA16 = convert(GLenum, 0x803E) -const GL_ARRAY_BUFFER_BINDING = convert(GLenum, 0x8894) -const GL_VERTEX_ATTRIB_ARRAY_SIZE = convert(GLenum, 0x8623) -const GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = convert(GLenum, 0x8C76) -const GL_SHADER_IMAGE_STORE = convert(GLenum, 0x82A5) -const GL_SHADER_IMAGE_ACCESS_BARRIER_BIT = convert(GLbitfield, 0x00000020) -const GL_LINE_STIPPLE_PATTERN = convert(GLenum, 0x0B25) -const GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = convert(GLenum, 0x92CD) -const GL_STENCIL_ATTACHMENT = convert(GLenum, 0x8D20) -const GL_ACCUM_ALPHA_BITS = convert(GLenum, 0x0D5B) -const GL_CLIP_PLANE3 = convert(GLenum, 0x3003) -const GL_DEPTH24_STENCIL8 = convert(GLenum, 0x88F0) -const GL_PIXEL_UNPACK_BUFFER_BINDING = convert(GLenum, 0x88EF) -const GL_RG16F = convert(GLenum, 0x822F) -const GL_TEXTURE_INTERNAL_FORMAT = convert(GLenum, 0x1003) -const GL_QUERY_BY_REGION_WAIT = convert(GLenum, 0x8E15) -const GL_EDGE_FLAG = convert(GLenum, 0x0B43) -const GL_INT_SAMPLER_2D_RECT = convert(GLenum, 0x8DCD) -const GL_FOG_COORD_SRC = convert(GLenum, 0x8450) -const GL_VERTEX_ARRAY_BUFFER_BINDING = convert(GLenum, 0x8896) -const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = convert(GLenum, 0x8CD4) -const GL_ALL_SHADER_BITS = convert(GLenum, 0xFFFFFFFF) -const GL_POLYGON_TOKEN = convert(GLenum, 0x0703) -const GL_PACK_COMPRESSED_BLOCK_SIZE = convert(GLenum, 0x912E) -const GL_X4D_COLOR_TEXTURE = convert(GLenum, 0x0604) -const GL_COLOR_ATTACHMENT5 = convert(GLenum, 0x8CE5) -const GL_DEPTH_BIAS = convert(GLenum, 0x0D1F) -const GL_UNIFORM_ARRAY_STRIDE = convert(GLenum, 0x8A3C) -const GL_IMAGE_CLASS_10_10_10_2 = convert(GLenum, 0x82C3) -const GL_FALSE = convert(GLenum, 0) -const GL_TEXTURE_BUFFER_OFFSET = convert(GLenum, 0x919D) -const GL_MAX_COLOR_TEXTURE_SAMPLES = convert(GLenum, 0x910E) -const GL_IS_PER_PATCH = convert(GLenum, 0x92E7) -const GL_INTERNALFORMAT_STENCIL_TYPE = convert(GLenum, 0x827D) -const GL_PROXY_TEXTURE_CUBE_MAP = convert(GLenum, 0x851B) -const GL_NUM_SHADER_BINARY_FORMATS = convert(GLenum, 0x8DF9) -const GL_TESS_CONTROL_SHADER = convert(GLenum, 0x8E88) -const GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = convert(GLenum, 0x92D0) -const GL_CONTEXT_CORE_PROFILE_BIT = convert(GLbitfield, 0x00000001) -const GL_UNSIGNED_INT_8_8_8_8_REV = convert(GLenum, 0x8367) -const GL_STENCIL_TEST = convert(GLenum, 0x0B90) -const GL_LINE_STIPPLE = convert(GLenum, 0x0B24) -const GL_SECONDARY_COLOR_ARRAY_POINTER = convert(GLenum, 0x845D) -const GL_OPERAND2_RGB = convert(GLenum, 0x8592) -const GL_PERSPECTIVE_CORRECTION_HINT = convert(GLenum, 0x0C50) -const GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = convert(GLenum, 0x8264) -const GL_QUERY_RESULT_AVAILABLE = convert(GLenum, 0x8867) -const GL_LIGHT0 = convert(GLenum, 0x4000) -const GL_STENCIL_BACK_WRITEMASK = convert(GLenum, 0x8CA5) -const GL_TESS_GEN_SPACING = convert(GLenum, 0x8E77) -const GL_MIN_FRAGMENT_INTERPOLATION_OFFSET = convert(GLenum, 0x8E5B) -const GL_IMAGE_CLASS_2_X_8 = convert(GLenum, 0x82C0) -const GL_R = convert(GLenum, 0x2002) -const GL_MAX_VARYING_FLOATS = convert(GLenum, 0x8B4B) -const GL_RGBA4 = convert(GLenum, 0x8056) -const GL_TEXTURE_BINDING_BUFFER = convert(GLenum, 0x8C2C) -const GL_RGBA_MODE = convert(GLenum, 0x0C31) -const GL_TEXTURE_GREEN_TYPE = convert(GLenum, 0x8C11) -const GL_TRANSFORM_BIT = convert(GLbitfield, 0x00001000) -const GL_LOGIC_OP = convert(GLenum, 0x0BF1) -const GL_ADD = convert(GLenum, 0x0104) -const GL_PACK_SWAP_BYTES = convert(GLenum, 0x0D00) -const GL_LINE_SMOOTH = convert(GLenum, 0x0B20) -const GL_FRAMEBUFFER_DEFAULT_WIDTH = convert(GLenum, 0x9310) -const GL_ALREADY_SIGNALED = convert(GLenum, 0x911A) -const GL_RED_SCALE = convert(GLenum, 0x0D14) -const GL_STACK_OVERFLOW = convert(GLenum, 0x0503) -const GL_DEPTH_COMPONENT16 = convert(GLenum, 0x81A5) -const GL_SHADING_LANGUAGE_VERSION = convert(GLenum, 0x8B8C) -const GL_IMAGE_1D = convert(GLenum, 0x904C) -const GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = convert(GLenum, 0x8C8B) -const GL_COLOR_MATERIAL_FACE = convert(GLenum, 0x0B55) -const GL_TEXTURE_HEIGHT = convert(GLenum, 0x1001) -const GL_COMPATIBLE_SUBROUTINES = convert(GLenum, 0x8E4B) -const GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = convert(GLenum, 0x9279) -const GL_PIXEL_MAP_R_TO_R_SIZE = convert(GLenum, 0x0CB6) -const GL_EXTENSIONS = convert(GLenum, 0x1F03) -const GL_LUMINANCE6_ALPHA2 = convert(GLenum, 0x8044) -const GL_VERTEX_ATTRIB_ARRAY_STRIDE = convert(GLenum, 0x8624) -const GL_TEXTURE_SWIZZLE_R = convert(GLenum, 0x8E42) -const GL_TEXTURE15 = convert(GLenum, 0x84CF) -const GL_ORDER = convert(GLenum, 0x0A01) -const GL_PIXEL_MAP_I_TO_I_SIZE = convert(GLenum, 0x0CB0) -const GL_DRAW_BUFFER8 = convert(GLenum, 0x882D) -const GL_PIXEL_MAP_I_TO_A = convert(GLenum, 0x0C75) -const GL_NEGATIVE_ONE_TO_ONE = convert(GLenum, 0x935E) -const GL_ZERO_TO_ONE = convert(GLenum, 0x935F) -const GL_CLIP_ORIGIN = convert(GLenum, 0x935C) -const GL_CLIP_DEPTH_MODE = convert(GLenum, 0x935D) -const GL_MAX_CULL_DISTANCES = convert(GLenum, 0x82F9) -const GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES = convert(GLenum, 0x82FA) -const GL_QUERY_WAIT_INVERTED = convert(GLenum, 0x8E17) -const GL_QUERY_NO_WAIT_INVERTED = convert(GLenum, 0x8E18) -const GL_QUERY_BY_REGION_WAIT_INVERTED = convert(GLenum, 0x8E19) -const GL_QUERY_BY_REGION_NO_WAIT_INVERTED = convert(GLenum, 0x8E1A) -const GL_TEXTURE_TARGET = convert(GLenum, 0x1006) -const GL_QUERY_TARGET = convert(GLenum, 0x82EA) -const GL_GUILTY_CONTEXT_RESET = convert(GLenum, 0x8253) -const GL_INNOCENT_CONTEXT_RESET = convert(GLenum, 0x8254) -const GL_UNKNOWN_CONTEXT_RESET = convert(GLenum, 0x8255) -const GL_CONTEXT_ROBUST_ACCESS = convert(GLenum, 0x90F3) -const GL_RESET_NOTIFICATION_STRATEGY = convert(GLenum, 0x8256) -const GL_LOSE_CONTEXT_ON_RESET = convert(GLenum, 0x8252) -const GL_NO_RESET_NOTIFICATION = convert(GLenum, 0x8261) -const GL_CONTEXT_LOST = convert(GLenum, 0x0507) -const GL_MAP_PERSISTENT_BIT = convert(GLbitfield, 0x0040) -const GL_MAP_COHERENT_BIT = convert(GLbitfield, 0x0080) -const GL_DYNAMIC_STORAGE_BIT = convert(GLbitfield, 0x0100) -const GL_CLIENT_STORAGE_BIT = convert(GLbitfield, 0x0200) -const GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT = convert(GLbitfield, 0x000004000) -const GL_BUFFER_IMMUTABLE_STORAGE = convert(GLenum, 0x821F) -const GL_BUFFER_STORAGE_FLAGS = convert(GLenum, 0x8220) -const GL_QUERY_BUFFER = convert(GLenum, 0x9192) -const GL_LOCATION_COMPONENT = convert(GLenum, 0x934A) -const GL_TRANSFORM_FEEDBACK_BUFFER_INDEX = convert(GLenum, 0x934B) -const GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE = convert(GLenum, 0x934C) -const GL_QUERY_RESULT_NO_WAIT = convert(GLenum, 0x9194) -const GL_QUERY_BUFFER_BINDING = convert(GLenum, 0x9193) -const GL_QUERY_BUFFER_BARRIER_BIT = convert(GLbitfield, 0x00080000) -const GL_MIRROR_CLAMP_TO_EDGE = convert(GLenum, 0x8743) -const GL_SPIR_V_BINARY = convert(GLenum, 0x9552) -const GL_SPIR_V_EXTENSIONS = convert(GLenum, 0x9553) -const GL_NUM_SPIR_V_EXTENSIONS = convert(GLenum, 0x9554) -const GL_PARAMETER_BUFFER = convert(GLenum, 0x80EE) -const GL_PARAMETER_BUFFER_BINDING = convert(GLenum, 0x80EF) -const GL_VERTICES_SUBMITTED = convert(GLenum, 0x82EE) -const GL_PRIMITIVES_SUBMITTED = convert(GLenum, 0x82EF) -const GL_VERTEX_SHADER_INVOCATIONS = convert(GLenum, 0x82F0) -const GL_TESS_CONTROL_SHADER_PATCHES = convert(GLenum, 0x82F1) -const GL_TESS_EVALUATION_SHADER_INVOCATIONS = convert(GLenum, 0x82F2) -const GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED = convert(GLenum, 0x82F3) -const GL_FRAGMENT_SHADER_INVOCATIONS = convert(GLenum, 0x82F4) -const GL_COMPUTE_SHADER_INVOCATIONS = convert(GLenum, 0x82F5) -const GL_CLIPPING_INPUT_PRIMITIVES = convert(GLenum, 0x82F6) -const GL_CLIPPING_OUTPUT_PRIMITIVES = convert(GLenum, 0x82F7) -const GL_TRANSFORM_FEEDBACK_OVERFLOW = convert(GLenum, 0x82EC) -const GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW = convert(GLenum, 0x82ED) -const GL_TEXTURE_MAX_ANISOTROPY = convert(GLenum, 0x84FE) -const GL_MAX_TEXTURE_MAX_ANISOTROPY = convert(GLenum, 0x84FF) -const GL_POLYGON_OFFSET_CLAMP = convert(GLenum, 0x8E1B) -const GL_CONTEXT_FLAG_NO_ERROR_BIT = convert(GLbitfield, 0x00000008) -const GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT = convert(GLenum, 0x8E8E) -const GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT = convert(GLenum, 0x8E8F) -const GL_COMPRESSED_RGBA_BPTC_UNORM = convert(GLenum, 0x8E8C) -const GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM = convert(GLenum, 0x8E8D) -end #Enum macro end - -export GL_MAP1_GRID_SEGMENTS -export GL_COMPILE -export GL_SAMPLER_3D -export GL_QUERY -export GL_INTENSITY -export GL_FOG_HINT -export GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING -export GL_DOUBLE_MAT2x3 -export GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER -export GL_BUFFER_ACCESS -export GL_LUMINANCE12_ALPHA12 -export GL_IMAGE_CUBE_MAP_ARRAY -export GL_COMPRESSED_RG11_EAC -export GL_RGBA32I -export GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS -export GL_FRAMEBUFFER_UNSUPPORTED -export GL_SAMPLER_2D_ARRAY -export GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS -export GL_IMAGE_CLASS_4_X_8 -export GL_UNSIGNED_INT_ATOMIC_COUNTER -export GL_UNPACK_LSB_FIRST -export GL_ACCUM_RED_BITS -export GL_ELEMENT_ARRAY_BARRIER_BIT -export GL_LIGHT4 -export GL_POINT_SPRITE -export GL_PIXEL_BUFFER_BARRIER_BIT -export GL_MAX_GEOMETRY_OUTPUT_VERTICES -export GL_READ_FRAMEBUFFER_BINDING -export GL_LIGHT_MODEL_LOCAL_VIEWER -export GL_OBJECT_LINEAR -export GL_COLOR_ARRAY_SIZE -export GL_TEXTURE12 -export GL_MAX_COMPUTE_WORK_GROUP_SIZE -export GL_OPERAND1_RGB -export GL_X3D -export GL_TEXTURE_BINDING_3D -export GL_SECONDARY_COLOR_ARRAY -export GL_UNSIGNED_SHORT_5_6_5_REV -export GL_BGRA_INTEGER -export GL_PACK_ROW_LENGTH -export GL_INT_IMAGE_2D_RECT -export GL_SET -export GL_LAYER_PROVOKING_VERTEX -export GL_FRACTIONAL_EVEN -export GL_QUADS -export GL_INFO_LOG_LENGTH -export GL_EYE_LINEAR -export GL_POLYGON_OFFSET_POINT -export GL_TEXTURE -export GL_BLEND_EQUATION_ALPHA -export GL_CLIP_DISTANCE0 -export GL_LINES -export GL_MATRIX_STRIDE -export GL_COMPILE_STATUS -export GL_QUERY_RESULT -export GL_MAX_FRAMEBUFFER_WIDTH -export GL_RGB5 -export GL_VERTEX_SHADER -export GL_LIST_BIT -export GL_PROXY_TEXTURE_2D_MULTISAMPLE -export GL_INT_SAMPLER_CUBE_MAP_ARRAY -export GL_TEXTURE_PRIORITY -export GL_EVAL_BIT -export GL_POINT_SPRITE_COORD_ORIGIN -export GL_CCW -export GL_TEXTURE26 -export GL_SMOOTH_LINE_WIDTH_GRANULARITY -export GL_MEDIUM_INT -export GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME -export GL_SHADER_COMPILER -export GL_BUFFER_MAP_LENGTH -export GL_ATTACHED_SHADERS -export GL_CLIP_DISTANCE5 -export GL_MAP_UNSYNCHRONIZED_BIT -export GL_BLEND_SRC_ALPHA -export GL_MAX_UNIFORM_LOCATIONS -export GL_COMPRESSED_RGB8_ETC2 -export GL_R32F -export GL_INT_SAMPLER_2D -export GL_DOUBLE_MAT4x3 -export GL_C3F_V3F -export GL_TEXTURE_CUBE_MAP_NEGATIVE_X -export GL_MAP2_INDEX -export GL_TEXTURE_FETCH_BARRIER_BIT -export GL_DEPTH_BUFFER_BIT -export GL_STENCIL_BITS -export GL_INTENSITY12 -export GL_DEPTH_COMPONENT32 -export GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS -export GL_SYNC_FLUSH_COMMANDS_BIT -export GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER -export GL_UNSIGNED_INT_IMAGE_CUBE -export GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS -export GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN -export GL_LIST_BASE -export GL_DRAW_BUFFER7 -export GL_INTERNALFORMAT_BLUE_SIZE -export GL_POINT_SMOOTH -export GL_INT_SAMPLER_3D -export GL_BUFFER_MAP_OFFSET -export GL_MAX_GEOMETRY_SHADER_INVOCATIONS -export GL_DEPTH_COMPONENTS -export GL_REFERENCED_BY_TESS_CONTROL_SHADER -export GL_HIGH_FLOAT -export GL_PIXEL_MAP_S_TO_S -export GL_INT_SAMPLER_1D_ARRAY -export GL_DOUBLE -export GL_ACTIVE_SUBROUTINE_MAX_LENGTH -export GL_FOG_COORDINATE_ARRAY_STRIDE -export GL_RG32F -export GL_COMMAND_BARRIER_BIT -export GL_GENERATE_MIPMAP -export GL_RGB10_A2UI -export GL_T2F_C4UB_V3F -export GL_RGB16 -export GL_TEXTURE_MATRIX -export GL_IMAGE_2D_MULTISAMPLE_ARRAY -export GL_SRGB8_ALPHA8 -export GL_LAST_VERTEX_CONVENTION -export GL_COLOR_ARRAY_STRIDE -export GL_MAX_DEBUG_LOGGED_MESSAGES -export GL_VERTEX_SUBROUTINE -export GL_STENCIL_INDEX16 -export GL_TEXTURE_CUBE_MAP_POSITIVE_X -export GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS -export GL_BITMAP -export GL_CURRENT_INDEX -export GL_IMAGE_PIXEL_FORMAT -export GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS -export GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE -export GL_MAP1_GRID_DOMAIN -export GL_VERTEX_PROGRAM_POINT_SIZE -export GL_STENCIL_PASS_DEPTH_FAIL -export GL_TEXTURE_CUBE_MAP_NEGATIVE_Y -export GL_BLUE_INTEGER -export GL_STENCIL_BACK_FAIL -export GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE -export GL_XOR -export GL_GET_TEXTURE_IMAGE_TYPE -export GL_VERTEX_PROGRAM_TWO_SIDE -export GL_LIGHT_MODEL_AMBIENT -export GL_OPERAND0_ALPHA -export GL_FOG_COORD_ARRAY_BUFFER_BINDING -export GL_RGBA16UI -export GL_AMBIENT -export GL_DEPTH_CLAMP -export GL_DEBUG_SOURCE_SHADER_COMPILER -export GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET -export GL_DYNAMIC_COPY -export GL_TEXTURE_1D_ARRAY -export GL_TEXTURE_GATHER -export GL_EQUIV -export GL_CURRENT_RASTER_INDEX -export GL_POLYGON_OFFSET_FILL -export GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS -export GL_COLOR_WRITEMASK -export GL_POINT_TOKEN -export GL_TEXTURE8 -export GL_EQUAL -export GL_R32I -export GL_MAX_ARRAY_TEXTURE_LAYERS -export GL_TEXTURE1 -export GL_MAX_NUM_ACTIVE_VARIABLES -export GL_SECONDARY_COLOR_ARRAY_STRIDE -export GL_UNSIGNED_INT_10F_11F_11F_REV -export GL_SRC1_RGB -export GL_PROGRAM -export GL_RETURN -export GL_RGBA16 -export GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE -export GL_TEXTURE_2D -export GL_TEXTURE_BINDING_1D -export GL_MAX_GEOMETRY_ATOMIC_COUNTERS -export GL_MAX_GEOMETRY_OUTPUT_COMPONENTS -export GL_SHADER_STORAGE_BUFFER_START -export GL_LINE_WIDTH_RANGE -export GL_PIXEL_MAP_I_TO_B -export GL_TESS_CONTROL_SHADER_BIT -export GL_VIEW_CLASS_BPTC_UNORM -export GL_ACCUM_BUFFER_BIT -export GL_SAMPLES_PASSED -export GL_MAP2_GRID_SEGMENTS -export GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS -export GL_READ_FRAMEBUFFER -export GL_INDEX_CLEAR_VALUE -export GL_ENABLE_BIT -export GL_OBJECT_TYPE -export GL_MAP2_VERTEX_3 -export GL_MAX_DEPTH -export GL_OUT_OF_MEMORY -export GL_MAX_COMPUTE_UNIFORM_BLOCKS -export GL_MAX_COMPUTE_ATOMIC_COUNTERS -export GL_COLOR_ATTACHMENT12 -export GL_UNSIGNED_SHORT_4_4_4_4 -export GL_GEOMETRY_SHADER_INVOCATIONS -export GL_STENCIL_INDEX8 -export GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS -export GL_RGB8I -export GL_AUTO_GENERATE_MIPMAP -export GL_MAP1_VERTEX_3 -export GL_CLIP_DISTANCE2 -export GL_TEXTURE18 -export GL_INT_2_10_10_10_REV -export GL_UNSIGNED_INT_SAMPLER_3D -export GL_DEPTH_ATTACHMENT -export GL_IMAGE_CLASS_11_11_10 -export GL_COMPRESSED_RGBA8_ETC2_EAC -export GL_UNPACK_ALIGNMENT -export GL_PROVOKING_VERTEX -export GL_ONE_MINUS_SRC_ALPHA -export GL_PIXEL_MAP_I_TO_I -export GL_CURRENT_TEXTURE_COORDS -export GL_COORD_REPLACE -export GL_DIFFUSE -export GL_TEXTURE_INTENSITY_SIZE -export GL_DRAW_BUFFER6 -export GL_TEXTURE_2D_MULTISAMPLE_ARRAY -export GL_DEBUG_TYPE_PERFORMANCE -export GL_LOCATION_INDEX -export GL_TEXTURE_GEN_R -export GL_FLOAT_MAT2 -export GL_UNSIGNED_NORMALIZED -export GL_VIEW_CLASS_16_BITS -export GL_QUAD_STRIP -export GL_DYNAMIC_DRAW -export GL_SYNC_FENCE -export GL_ONE_MINUS_SRC1_ALPHA -export GL_MANUAL_GENERATE_MIPMAP -export GL_DEPTH_FUNC -export GL_VERTEX_SUBROUTINE_UNIFORM -export GL_COMPUTE_TEXTURE -export GL_MAP2_VERTEX_4 -export GL_ARRAY_SIZE -export GL_FLOAT_MAT3x2 -export GL_RGBA8I -export GL_RENDERBUFFER_SAMPLES -export GL_TEXTURE_VIEW -export GL_VIEW_CLASS_RGTC1_RED -export GL_PIXEL_MAP_G_TO_G -export GL_INTENSITY8 -export GL_PIXEL_MAP_A_TO_A_SIZE -export GL_MAP2_GRID_DOMAIN -export GL_N3F_V3F -export GL_MAX_VIEWPORTS -export GL_COMPRESSED_R11_EAC -export GL_SRC0_ALPHA -export GL_INTERNALFORMAT_RED_TYPE -export GL_DOMAIN -export GL_IMAGE_CUBE -export GL_TEXTURE_1D -export GL_RENDERBUFFER_WIDTH -export GL_POINT_SIZE -export GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST -export GL_VIEWPORT -export GL_R16_SNORM -export GL_RGBA -export GL_DRAW_PIXEL_TOKEN -export GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE -export GL_TEXTURE_SWIZZLE_G -export GL_TEXTURE_IMMUTABLE_FORMAT -export GL_CLAMP -export GL_TEXTURE31 -export GL_TEXTURE_GEN_MODE -export GL_FOG_COORD_ARRAY_STRIDE -export GL_MAX_SUBROUTINES -export GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS -export GL_TEXTURE3 -export GL_PIXEL_MAP_I_TO_R -export GL_COMBINE_ALPHA -export GL_SUBTRACT -export GL_DRAW_BUFFER2 -export GL_RGB4 -export GL_UNSIGNED_INT_SAMPLER_2D -export GL_COLOR_ARRAY_TYPE -export GL_COMBINE_RGB -export GL_MAP1_TEXTURE_COORD_3 -export GL_ELEMENT_ARRAY_BUFFER -export GL_COMPRESSED_SLUMINANCE -export GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR -export GL_FULL_SUPPORT -export GL_SUBPIXEL_BITS -export GL_UNPACK_SKIP_ROWS -export GL_VIEW_CLASS_64_BITS -export GL_SOURCE0_RGB -export GL_TEXTURE_SWIZZLE_RGBA -export GL_IMAGE_FORMAT_COMPATIBILITY_TYPE -export GL_UNIFORM_BLOCK_INDEX -export GL_MAX_DUAL_SOURCE_DRAW_BUFFERS -export GL_RGBA_INTEGER -export GL_MAX_COMBINED_IMAGE_UNIFORMS -export GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS -export GL_RGB16F -export GL_MAX_COMBINED_UNIFORM_BLOCKS -export GL_TESS_GEN_POINT_MODE -export GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY -export GL_FRAMEBUFFER_BARRIER_BIT -export GL_POINTS -export GL_INCR_WRAP -export GL_ACTIVE_ATTRIBUTES -export GL_FIXED_ONLY -export GL_MAX_UNIFORM_BLOCK_SIZE -export GL_TEXTURE5 -export GL_ALPHA12 -export GL_GREEN_SCALE -export GL_INT_IMAGE_2D -export GL_INTERNALFORMAT_GREEN_SIZE -export GL_CURRENT_FOG_COORD -export GL_SRC1_ALPHA -export GL_PROXY_TEXTURE_1D -export GL_PROXY_TEXTURE_CUBE_MAP_ARRAY -export GL_TEXTURE_WRAP_S -export GL_COMPRESSED_SIGNED_RG11_EAC -export GL_X2D -export GL_SAMPLER_BUFFER -export GL_SRGB -export GL_STATIC_DRAW -export GL_TEXTURE_COORD_ARRAY_POINTER -export GL_TEXTURE_2D_MULTISAMPLE -export GL_INDEX_ARRAY -export GL_T -export GL_R11F_G11F_B10F -export GL_RENDERBUFFER_ALPHA_SIZE -export GL_LESS -export GL_TEXTURE_SHARED_SIZE -export GL_INCR -export GL_DISPLAY_LIST -export GL_MAX_TEXTURE_SIZE -export GL_MAX_DRAW_BUFFERS -export GL_TEXTURE_COMPRESSED_BLOCK_WIDTH -export GL_TEXTURE_ENV_MODE -export GL_LIGHT3 -export GL_TEXTURE_BLUE_SIZE -export GL_UNSIGNED_INT_SAMPLER_2D_RECT -export GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS -export GL_EDGE_FLAG_ARRAY -export GL_IMAGE_BUFFER -export GL_TEXTURE_WRAP_R -export GL_QUERY_COUNTER_BITS -export GL_DECAL -export GL_RG32I -export GL_NUM_COMPATIBLE_SUBROUTINES -export GL_ATOMIC_COUNTER_BARRIER_BIT -export GL_INTERNALFORMAT_PREFERRED -export GL_ONE_MINUS_DST_ALPHA -export GL_COLOR_ATTACHMENT8 -export GL_VIEW_CLASS_24_BITS -export GL_RGB565 -export GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS -export GL_DEBUG_OUTPUT -export GL_COMPRESSED_SIGNED_RED_RGTC1 -export GL_PACK_SKIP_PIXELS -export GL_SECONDARY_COLOR_ARRAY_TYPE -export GL_TEXTURE_GREEN_SIZE -export GL_EXP2 -export GL_LIGHT1 -export GL_INT_IMAGE_3D -export GL_MAX_COMBINED_DIMENSIONS -export GL_DRAW_BUFFER13 -export GL_DEPTH -export GL_MAX_PATCH_VERTICES -export GL_CULL_FACE_MODE -export GL_CLIP_PLANE5 -export GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT -export GL_COMPRESSED_RGB -export GL_ALPHA_BIAS -export GL_TEXTURE_GEN_S -export GL_FRAGMENT_SHADER_BIT -export GL_SIGNALED -export GL_INT_IMAGE_2D_ARRAY -export GL_MAP2_TEXTURE_COORD_1 -export GL_FLOAT_MAT4x3 -export GL_ACTIVE_RESOURCES -export GL_SAMPLER_2D -export GL_VERTEX_BINDING_DIVISOR -export GL_TEXTURE_DEPTH_SIZE -export GL_SRC0_RGB -export GL_AND_REVERSE -export GL_UNPACK_COMPRESSED_BLOCK_WIDTH -export GL_CLEAR -export GL_DEPTH_TEXTURE_MODE -export GL_TEXTURE_MAX_LOD -export GL_MAX_CLIENT_ATTRIB_STACK_DEPTH -export GL_SAMPLE_ALPHA_TO_ONE -export GL_FLOAT_VEC4 -export GL_FOG_DENSITY -export GL_LINE_TOKEN -export GL_TIMEOUT_IGNORED -export GL_SLUMINANCE -export GL_TEXTURE_FIXED_SAMPLE_LOCATIONS -export GL_C4UB_V3F -export GL_SAMPLE_BUFFERS -export GL_NEAREST -export GL_TEXTURE_VIEW_NUM_LAYERS -export GL_RG8 -export GL_LINE_LOOP -export GL_RGB8UI -export GL_PIXEL_PACK_BUFFER -export GL_GEOMETRY_VERTICES_OUT -export GL_DEBUG_CALLBACK_FUNCTION -export GL_COMPRESSED_ALPHA -export GL_FLOAT_MAT2x3 -export GL_ALPHA_TEST -export GL_R16UI -export GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS -export GL_SYNC_CONDITION -export GL_COLOR_ATTACHMENT11 -export GL_BOOL_VEC2 -export GL_READ_ONLY -export GL_PROGRAM_BINARY_RETRIEVABLE_HINT -export GL_COMPUTE_SHADER -export GL_VIEW_CLASS_BPTC_FLOAT -export GL_R16F -export GL_LIGHT6 -export GL_SECONDARY_COLOR_ARRAY_SIZE -export GL_SAMPLER_CUBE_SHADOW -export GL_VIEWPORT_SUBPIXEL_BITS -export GL_RED_BITS -export GL_COMPARE_REF_TO_TEXTURE -export GL_STENCIL_BACK_REF -export GL_PREVIOUS -export GL_STENCIL_BACK_FUNC -export GL_COMPRESSED_LUMINANCE -export GL_BITMAP_TOKEN -export GL_CLIP_DISTANCE7 -export GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT -export GL_UNSIGNED_SHORT_4_4_4_4_REV -export GL_VIEW_CLASS_96_BITS -export GL_TEXTURE4 -export GL_ACCUM_GREEN_BITS -export GL_POINT_SIZE_RANGE -export GL_UNSIGNED_BYTE_3_3_2 -export GL_TEXTURE_SWIZZLE_A -export GL_FRACTIONAL_ODD -export GL_MAX_VERTEX_OUTPUT_COMPONENTS -export GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS -export GL_WRITE_ONLY -export GL_IMPLEMENTATION_COLOR_READ_TYPE -export GL_SHADER_BINARY_FORMATS -export GL_COMPRESSED_RED -export GL_PIXEL_MAP_A_TO_A -export GL_TEXTURE_COMPONENTS -export GL_INVALID_VALUE -export GL_GEOMETRY_SUBROUTINE_UNIFORM -export GL_CLAMP_READ_COLOR -export GL_ACCUM -export GL_RGB_SCALE -export GL_PIXEL_MAP_S_TO_S_SIZE -export GL_CURRENT_RASTER_SECONDARY_COLOR -export GL_NUM_SAMPLE_COUNTS -export GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST -export GL_RASTERIZER_DISCARD -export GL_VERTEX_ARRAY_TYPE -export GL_SRGB8 -export GL_SINGLE_COLOR -export GL_RG_SNORM -export GL_UNSIGNED_INT_IMAGE_2D_RECT -export GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS -export GL_LUMINANCE -export GL_RGB32F -export GL_REPLACE -export GL_MATRIX_MODE -export GL_DEPTH_COMPONENT -export GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS -export GL_OBJECT_PLANE -export GL_WEIGHT_ARRAY_BUFFER_BINDING -export GL_RGBA8 -export GL_SAMPLE_SHADING -export GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS -export GL_TEXTURE_GEN_Q -export GL_TEXTURE_DEPTH_TYPE -export GL_MAX_TESS_PATCH_COMPONENTS -export GL_SAMPLER_CUBE_MAP_ARRAY -export GL_TEXTURE_STACK_DEPTH -export GL_SCISSOR_TEST -export GL_LIGHT2 -export GL_STEREO -export GL_TEXTURE_COMPRESSED_IMAGE_SIZE -export GL_AUTO_NORMAL -export GL_TEXTURE_LUMINANCE_TYPE -export GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS -export GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER -export GL_TEXTURE22 -export GL_IMAGE_CLASS_1_X_8 -export GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES -export GL_CLAMP_TO_EDGE -export GL_CLIP_DISTANCE6 -export GL_ZOOM_X -export GL_DRAW_BUFFER0 -export GL_FRAGMENT_INTERPOLATION_OFFSET_BITS -export GL_ACTIVE_TEXTURE -export GL_UNSIGNED_INT_VEC2 -export GL_MAX_EVAL_ORDER -export GL_TEXTURE_DEPTH -export GL_FRONT_RIGHT -export GL_MAX_COMBINED_ATOMIC_COUNTERS -export GL_DEBUG_LOGGED_MESSAGES -export GL_DEPTH_RANGE -export GL_ACTIVE_PROGRAM -export GL_DEBUG_SOURCE_API -export GL_X4_BYTES -export GL_NORMAL_ARRAY -export GL_BLEND_SRC_RGB -export GL_LINE_RESET_TOKEN -export GL_MAP_INVALIDATE_BUFFER_BIT -export GL_ONE -export GL_DEBUG_TYPE_MARKER -export GL_STENCIL_PASS_DEPTH_PASS -export GL_NO_ERROR -export GL_SMOOTH_POINT_SIZE_RANGE -export GL_PROXY_TEXTURE_2D_ARRAY -export GL_AUX_BUFFERS -export GL_MAX_TEXTURE_STACK_DEPTH -export GL_CLIP_DISTANCE4 -export GL_DOUBLE_VEC3 -export GL_LEQUAL -export GL_TIMESTAMP -export GL_POINT_SIZE_MAX -export GL_TESS_EVALUATION_SHADER_BIT -export GL_MAX_TEXTURE_COORDS -export GL_IMAGE_BINDING_LAYER -export GL_NONE -export GL_BUFFER_SIZE -export GL_PIXEL_MAP_B_TO_B -export GL_INT_VEC4 -export GL_MAX_FRAGMENT_INTERPOLATION_OFFSET -export GL_RGB16_SNORM -export GL_OR_INVERTED -export GL_SAMPLE_MASK -export GL_INTERNALFORMAT_GREEN_TYPE -export GL_TESS_GEN_VERTEX_ORDER -export GL_PACK_SKIP_ROWS -export GL_NUM_COMPRESSED_TEXTURE_FORMATS -export GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES -export GL_RESCALE_NORMAL -export GL_DEPTH_COMPONENT24 -export GL_BACK_LEFT -export GL_MAP2_TEXTURE_COORD_4 -export GL_COLOR -export GL_INVALID_INDEX -export GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER -export GL_CONSTANT -export GL_INT_VEC2 -export GL_PROGRAM_OUTPUT -export GL_UNSIGNED_SHORT -export GL_VERTEX_ARRAY_BINDING -export GL_RED_SNORM -export GL_MODULATE -export GL_UNSIGNED_INT -export GL_LUMINANCE4_ALPHA4 -export GL_X3D_COLOR -export GL_COMPUTE_LOCAL_WORK_SIZE -export GL_SHADER_STORAGE_BUFFER_SIZE -export GL_TEXTURE_BUFFER -export GL_POSITION -export GL_COMPRESSED_INTENSITY -export GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS -export GL_COLOR_CLEAR_VALUE -export GL_R3_G3_B2 -export GL_MAX_VARYING_VECTORS -export GL_IMAGE_CLASS_4_X_32 -export GL_NUM_SHADING_LANGUAGE_VERSIONS -export GL_MIN_MAP_BUFFER_ALIGNMENT -export GL_DELETE_STATUS -export GL_UNSIGNED_INT_VEC3 -export GL_TESS_EVALUATION_SUBROUTINE -export GL_PIXEL_MAP_G_TO_G_SIZE -export GL_FLOAT_MAT4 -export GL_BACK_RIGHT -export GL_LUMINANCE12_ALPHA4 -export GL_GEOMETRY_SHADER_BIT -export GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS -export GL_VERTEX_TEXTURE -export GL_FRONT_AND_BACK -export GL_ACTIVE_UNIFORM_BLOCKS -export GL_RENDERER -export GL_COLOR_ATTACHMENT10 -export GL_FOG_COORDINATE_SOURCE -export GL_IMAGE_BINDING_LEVEL -export GL_MAX_DEBUG_GROUP_STACK_DEPTH -export GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE -export GL_ATTRIB_STACK_DEPTH -export GL_LINE_STIPPLE_REPEAT -export GL_POLYGON_SMOOTH_HINT -export GL_LUMINANCE4 -export GL_SMOOTH_POINT_SIZE_GRANULARITY -export GL_OR_REVERSE -export GL_MAP2_TEXTURE_COORD_2 -export GL_FOG_MODE -export GL_TOP_LEVEL_ARRAY_SIZE -export GL_LUMINANCE16 -export GL_OPERAND0_RGB -export GL_STENCIL_BUFFER_BIT -export GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS -export GL_MAX_PROJECTION_STACK_DEPTH -export GL_ARRAY_BUFFER -export GL_POLYGON_SMOOTH -export GL_FRAMEBUFFER_ATTACHMENT_LAYERED -export GL_EDGE_FLAG_ARRAY_POINTER -export GL_FOG_COORD -export GL_TEXTURE23 -export GL_INDEX_LOGIC_OP -export GL_REFERENCED_BY_TESS_EVALUATION_SHADER -export GL_SHADER_IMAGE_LOAD -export GL_DOT3_RGBA -export GL_VERTEX_ATTRIB_ARRAY_LONG -export GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS -export GL_IMAGE_2D_ARRAY -export GL_NORMAL_ARRAY_POINTER -export GL_STENCIL_INDEX1 -export GL_TEXTURE11 -export GL_DRAW_INDIRECT_BUFFER -export GL_COLOR_ATTACHMENT3 -export GL_INT_IMAGE_CUBE_MAP_ARRAY -export GL_BLUE_SCALE -export GL_DEPTH_BITS -export GL_STENCIL_BACK_PASS_DEPTH_PASS -export GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS -export GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE -export GL_UNIFORM_SIZE -export GL_TESS_CONTROL_SUBROUTINE -export GL_PROGRAM_INPUT -export GL_TIMEOUT_EXPIRED -export GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE -export GL_LIGHT_MODEL_TWO_SIDE -export GL_INT_SAMPLER_2D_ARRAY -export GL_IMAGE_CLASS_2_X_16 -export GL_READ_BUFFER -export GL_SLUMINANCE_ALPHA -export GL_RGB16UI -export GL_MAX_DEBUG_MESSAGE_LENGTH -export GL_NORMALIZE -export GL_CURRENT_COLOR -export GL_FRAMEBUFFER_COMPLETE -export GL_FASTEST -export GL_INDEX_ARRAY_POINTER -export GL_UNIFORM_BUFFER -export GL_MULTISAMPLE_BIT -export GL_CURRENT_SECONDARY_COLOR -export GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER -export GL_DEBUG_SOURCE_OTHER -export GL_MAP1_TEXTURE_COORD_1 -export GL_SHADER_STORAGE_BLOCK -export GL_QUERY_NO_WAIT -export GL_C4UB_V2F -export GL_AUX2 -export GL_CURRENT_RASTER_POSITION_VALID -export GL_MAX_COLOR_ATTACHMENTS -export GL_COLOR_MATERIAL -export GL_OFFSET -export GL_R16I -export GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER -export GL_NAME_STACK_DEPTH -export GL_PACK_COMPRESSED_BLOCK_HEIGHT -export GL_AND_INVERTED -export GL_LIGHT7 -export GL_DRAW_BUFFER3 -export GL_NICEST -export GL_MAX_GEOMETRY_IMAGE_UNIFORMS -export GL_TRANSFORM_FEEDBACK_BUFFER_BINDING -export GL_MAP_READ_BIT -export GL_PIXEL_MAP_I_TO_G -export GL_MAX_VERTEX_UNIFORM_BLOCKS -export GL_IMAGE_PIXEL_TYPE -export GL_KEEP -export GL_GEOMETRY_SUBROUTINE -export GL_SOURCE0_ALPHA -export GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS -export GL_MAX_CLIP_DISTANCES -export GL_INVALID_FRAMEBUFFER_OPERATION -export GL_BUFFER_VARIABLE -export GL_ZERO -export GL_ACCUM_CLEAR_VALUE -export GL_FRAGMENT_SUBROUTINE -export GL_MAX_SAMPLES -export GL_INDEX_ARRAY_STRIDE -export GL_MAX_HEIGHT -export GL_PRIMITIVE_RESTART_FIXED_INDEX -export GL_COLOR_ATTACHMENT4 -export GL_AMBIENT_AND_DIFFUSE -export GL_COLOR_ATTACHMENT9 -export GL_DRAW_BUFFER -export GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER -export GL_BYTE -export GL_COMPARE_R_TO_TEXTURE -export GL_GREATER -export GL_TEXTURE_GATHER_SHADOW -export GL_COPY -export GL_NORMAL_ARRAY_BUFFER_BINDING -export GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS -export GL_FRAMEBUFFER_SRGB -export GL_ADD_SIGNED -export GL_READ_PIXELS_TYPE -export GL_DONT_CARE -export GL_IMAGE_BINDING_NAME -export GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE -export GL_MAX_ELEMENTS_VERTICES -export GL_UNSIGNED_INT_SAMPLER_2D_ARRAY -export GL_DEBUG_SEVERITY_HIGH -export GL_DST_ALPHA -export GL_INTERNALFORMAT_ALPHA_TYPE -export GL_DEPTH_STENCIL_TEXTURE_MODE -export GL_IS_ROW_MAJOR -export GL_RGBA32F -export GL_ANY_SAMPLES_PASSED -export GL_MAX_LIST_NESTING -export GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES -export GL_POINT_DISTANCE_ATTENUATION -export GL_COLOR_MATERIAL_PARAMETER -export GL_LIGHTING -export GL_UNIFORM_BLOCK -export GL_INTERNALFORMAT_SUPPORTED -export GL_MAX_VERTEX_ATTRIB_BINDINGS -export GL_ELEMENT_ARRAY_BUFFER_BINDING -export GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY -export GL_TOP_LEVEL_ARRAY_STRIDE -export GL_AND -export GL_SPOT_DIRECTION -export GL_MAX_FRAMEBUFFER_LAYERS -export GL_PIXEL_MAP_I_TO_B_SIZE -export GL_ATOMIC_COUNTER_BUFFER_START -export GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS -export GL_UNSIGNED_INT_SAMPLER_BUFFER -export GL_COPY_PIXEL_TOKEN -export GL_TRIANGLE_FAN -export GL_RENDERBUFFER_DEPTH_SIZE -export GL_DISPATCH_INDIRECT_BUFFER -export GL_MAX_SERVER_WAIT_TIMEOUT -export GL_DEBUG_SOURCE_THIRD_PARTY -export GL_FRAMEBUFFER_DEFAULT_HEIGHT -export GL_TEXTURE_VIEW_MIN_LAYER -export GL_PATCH_VERTICES -export GL_DOUBLE_MAT3x4 -export GL_UNSIGNED_BYTE_2_3_3_REV -export GL_VIEW_CLASS_S3TC_DXT5_RGBA -export GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS -export GL_RG8UI -export GL_SHADER_STORAGE_BUFFER -export GL_GREEN_BIAS -export GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT -export GL_RGB12 -export GL_POINT_SIZE_GRANULARITY -export GL_FEEDBACK_BUFFER_SIZE -export GL_TRUE -export GL_PACK_SKIP_IMAGES -export GL_DOUBLE_MAT4 -export GL_INTERPOLATE -export GL_RGB32I -export GL_NUM_PROGRAM_BINARY_FORMATS -export GL_RGB8 -export GL_COMPRESSED_LUMINANCE_ALPHA -export GL_FRAMEBUFFER_DEFAULT_LAYERS -export GL_T2F_C3F_V3F -export GL_TEXTURE_CUBE_MAP_POSITIVE_Z -export GL_FOG_COORD_ARRAY_POINTER -export GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS -export GL_RENDER_MODE -export GL_QUADRATIC_ATTENUATION -export GL_T2F_N3F_V3F -export GL_UNPACK_ROW_LENGTH -export GL_LINE -export GL_LINE_SMOOTH_HINT -export GL_STREAM_DRAW -export GL_MAP1_COLOR_4 -export GL_ALPHA_SCALE -export GL_COMPRESSED_TEXTURE_FORMATS -export GL_FRAGMENT_TEXTURE -export GL_FRAMEBUFFER_BLEND -export GL_MAX_TESS_GEN_LEVEL -export GL_MAX_VERTEX_ATTRIBS -export GL_LINE_STRIP -export GL_VERSION -export GL_CLIENT_VERTEX_ARRAY_BIT -export GL_PROJECTION_STACK_DEPTH -export GL_VERTEX_ATTRIB_BINDING -export GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE -export GL_TEXTURE25 -export GL_SAMPLE_COVERAGE_VALUE -export GL_VERTEX_ATTRIB_ARRAY_POINTER -export GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS -export GL_BUFFER_DATA_SIZE -export GL_TEXTURE_RED_TYPE -export GL_TEXTURE_2D_ARRAY -export GL_CURRENT_FOG_COORDINATE -export GL_CURRENT_BIT -export GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER -export GL_MAX_SHADER_STORAGE_BLOCK_SIZE -export GL_FLOAT_MAT3x4 -export GL_SHORT -export GL_POINT_BIT -export GL_POLYGON_BIT -export GL_QUERY_WAIT -export GL_BOOL -export GL_FRAMEBUFFER_RENDERABLE -export GL_TRANSFORM_FEEDBACK_BUFFER_START -export GL_BLUE_BIAS -export GL_DYNAMIC_READ -export GL_IMAGE_COMPATIBILITY_CLASS -export GL_TEXTURE20 -export GL_ACTIVE_SUBROUTINE_UNIFORMS -export GL_SPECULAR -export GL_RENDER -export GL_MAX_CUBE_MAP_TEXTURE_SIZE -export GL_INT_IMAGE_BUFFER -export GL_FIXED -export GL_FRAGMENT_SUBROUTINE_UNIFORM -export GL_VERTEX_ATTRIB_ARRAY_DIVISOR -export GL_X3D_COLOR_TEXTURE -export GL_IMAGE_CLASS_1_X_32 -export GL_VIEWPORT_BOUNDS_RANGE -export GL_POINT_SMOOTH_HINT -export GL_DOT3_RGB -export GL_MAX_PIXEL_MAP_TABLE -export GL_STENCIL_BACK_PASS_DEPTH_FAIL -export GL_TEXTURE_BINDING_RECTANGLE -export GL_WAIT_FAILED -export GL_SHADER_STORAGE_BUFFER_BINDING -export GL_IMAGE_TEXEL_SIZE -export GL_RG8I -export GL_CLIP_PLANE0 -export GL_INDEX_ARRAY_BUFFER_BINDING -export GL_CLIP_DISTANCE1 -export GL_CURRENT_RASTER_TEXTURE_COORDS -export GL_COMPILE_AND_EXECUTE -export GL_UNIFORM_BLOCK_DATA_SIZE -export GL_BLEND_SRC -export GL_NEAREST_MIPMAP_LINEAR -export GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY -export GL_LUMINANCE16_ALPHA16 -export GL_TEXTURE_ALPHA_TYPE -export GL_SPOT_EXPONENT -export GL_BLEND_DST -export GL_SHADE_MODEL -export GL_TEXTURE_COMPRESSION_HINT -export GL_UNIFORM_BLOCK_NAME_LENGTH -export GL_RGBA8UI -export GL_TESS_EVALUATION_SUBROUTINE_UNIFORM -export GL_ACTIVE_ATTRIBUTE_MAX_LENGTH -export GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE -export GL_TRANSPOSE_TEXTURE_MATRIX -export GL_SAMPLER_2D_RECT -export GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL -export GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 -export GL_CLIP_PLANE1 -export GL_VERTEX_ATTRIB_ARRAY_ENABLED -export GL_FEEDBACK_BUFFER_POINTER -export GL_UNIFORM_BLOCK_BINDING -export GL_UNIFORM_NAME_LENGTH -export GL_TIME_ELAPSED -export GL_VERTEX_ARRAY_STRIDE -export GL_NUM_EXTENSIONS -export GL_MAX_CLIP_PLANES -export GL_READ_PIXELS -export GL_DEPTH_WRITEMASK -export GL_LINEAR -export GL_RGB10_A2 -export GL_INDEX_WRITEMASK -export GL_MIN_SAMPLE_SHADING_VALUE -export GL_FOG_COORD_ARRAY -export GL_UNIFORM_OFFSET -export GL_SOURCE2_RGB -export GL_TEXTURE_SWIZZLE_B -export GL_COMBINE -export GL_FLOAT_VEC3 -export GL_DRAW_BUFFER5 -export GL_TEXTURE_ENV_COLOR -export GL_MEDIUM_FLOAT -export GL_EXP -export GL_DST_COLOR -export GL_TEXTURE_WIDTH -export GL_UNSIGNED_INT_2_10_10_10_REV -export GL_MAX_FRAGMENT_UNIFORM_COMPONENTS -export GL_UNIFORM_BUFFER_BINDING -export GL_TEXTURE_BUFFER_SIZE -export GL_TRANSFORM_FEEDBACK_VARYING -export GL_SRGB_ALPHA -export GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH -export GL_V2F -export GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING -export GL_NEVER -export GL_SLUMINANCE8 -export GL_RED_INTEGER -export GL_SAMPLER_2D_MULTISAMPLE -export GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS -export GL_RENDERBUFFER_INTERNAL_FORMAT -export GL_COLOR_ATTACHMENT13 -export GL_UNPACK_IMAGE_HEIGHT -export GL_SYNC_GPU_COMMANDS_COMPLETE -export GL_PROXY_TEXTURE_2D -export GL_MAP_WRITE_BIT -export GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 -export GL_DEBUG_TYPE_OTHER -export GL_VIEW_CLASS_RGTC2_RG -export GL_TEXTURE_COMPARE_MODE -export GL_TEXTURE0 -export GL_ACTIVE_UNIFORMS -export GL_ALPHA4 -export GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET -export GL_MAP2_COLOR_4 -export GL_CURRENT_QUERY -export GL_SAMPLER_1D -export GL_T2F_V3F -export GL_FEEDBACK -export GL_LINES_ADJACENCY -export GL_INT_SAMPLER_CUBE -export GL_STENCIL_RENDERABLE -export GL_MAP2_NORMAL -export GL_BACK -export GL_SMOOTH -export GL_BGR -export GL_STENCIL -export GL_REFERENCED_BY_VERTEX_SHADER -export GL_TEXTURE_3D -export GL_UNPACK_SWAP_BYTES -export GL_PROGRAM_SEPARABLE -export GL_ALWAYS -export GL_UNSIGNED_INT_IMAGE_BUFFER -export GL_RENDERBUFFER_HEIGHT -export GL_COLOR_SUM -export GL_TESS_EVALUATION_TEXTURE -export GL_LINEAR_ATTENUATION -export GL_PIXEL_MAP_R_TO_R -export GL_DOUBLE_MAT4x2 -export GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS -export GL_AUX0 -export GL_ZOOM_Y -export GL_UNIFORM_BUFFER_START -export GL_CONTEXT_PROFILE_MASK -export GL_TEXTURE_VIEW_MIN_LEVEL -export GL_SRC2_ALPHA -export GL_CURRENT_NORMAL -export GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH -export GL_SELECT -export GL_MAX_TEXTURE_UNITS -export GL_COLOR_ARRAY_BUFFER_BINDING -export GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS -export GL_TRANSFORM_FEEDBACK_BARRIER_BIT -export GL_SAMPLE_POSITION -export GL_UNSIGNED_INT_IMAGE_3D -export GL_R8 -export GL_LIST_INDEX -export GL_SHININESS -export GL_CLAMP_FRAGMENT_COLOR -export GL_TEXTURE_COMPARE_FUNC -export GL_DECR -export GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER -export GL_MAX_TESS_CONTROL_INPUT_COMPONENTS -export GL_INTERNALFORMAT_RED_SIZE -export GL_MAX_SAMPLE_MASK_WORDS -export GL_DISPATCH_INDIRECT_BUFFER_BINDING -export GL_AUX3 -export GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING -export GL_ALPHA_TEST_FUNC -export GL_SAMPLER_1D_ARRAY -export GL_PIXEL_MAP_I_TO_G_SIZE -export GL_TEXTURE_BINDING_2D_ARRAY -export GL_CLEAR_BUFFER -export GL_STENCIL_VALUE_MASK -export GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS -export GL_RGB32UI -export GL_MAX_TEXTURE_IMAGE_UNITS -export GL_COLOR_ATTACHMENT15 -export GL_PIXEL_UNPACK_BUFFER -export GL_UNIFORM_BARRIER_BIT -export GL_MAP2_TEXTURE_COORD_3 -export GL_BLEND -export GL_IMAGE_BINDING_ACCESS -export GL_GREEN -export GL_IMAGE_BINDING_LAYERED -export GL_PIXEL_PACK_BUFFER_BINDING -export GL_RGB -export GL_MAX_COMPUTE_WORK_GROUP_COUNT -export GL_ALPHA_INTEGER -export GL_DEBUG_SOURCE_WINDOW_SYSTEM -export GL_MAX_GEOMETRY_INPUT_COMPONENTS -export GL_NORMAL_MAP -export GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH -export GL_TEXTURE_MIN_FILTER -export GL_UNSIGNED_INT_10_10_10_2 -export GL_FRAGMENT_SHADER_DERIVATIVE_HINT -export GL_RENDERBUFFER_GREEN_SIZE -export GL_SRC1_COLOR -export GL_CULL_FACE -export GL_STENCIL_FAIL -export GL_REFERENCED_BY_FRAGMENT_SHADER -export GL_COMPRESSED_SRGB -export GL_DRAW_BUFFER1 -export GL_ISOLINES -export GL_TEXTURE_LUMINANCE_SIZE -export GL_COLOR_ARRAY_POINTER -export GL_ACTIVE_SUBROUTINES -export GL_TEXTURE_BINDING_2D -export GL_ALPHA -export GL_ATOMIC_COUNTER_BUFFER_BINDING -export GL_UNSIGNED_INT_IMAGE_2D_ARRAY -export GL_MAX_COMPUTE_LOCAL_INVOCATIONS -export GL_STREAM_READ -export GL_TEXTURE_WRAP_T -export GL_ALL_ATTRIB_BITS -export GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE -export GL_UNSIGNED_INT_8_8_8_8 -export GL_TEXTURE29 -export GL_TEXTURE_UPDATE_BARRIER_BIT -export GL_INT_SAMPLER_BUFFER -export GL_Q -export GL_INDEX_BITS -export GL_SPOT_CUTOFF -export GL_PACK_LSB_FIRST -export GL_BOOL_VEC4 -export GL_STENCIL_INDEX -export GL_TRANSFORM_FEEDBACK_BUFFER_SIZE -export GL_SRC2_RGB -export GL_MODELVIEW -export GL_POLYGON_OFFSET_UNITS -export GL_PROXY_TEXTURE_1D_ARRAY -export GL_UNDEFINED_VERTEX -export GL_UNPACK_COMPRESSED_BLOCK_HEIGHT -export GL_TEXTURE9 -export GL_V3F -export GL_FRAGMENT_DEPTH -export GL_DEPTH_RENDERABLE -export GL_FOG_COLOR -export GL_PROGRAM_POINT_SIZE -export GL_MAP_COLOR -export GL_DEBUG_SEVERITY_MEDIUM -export GL_NORMAL_ARRAY_STRIDE -export GL_TEXTURE_COORD_ARRAY_SIZE -export GL_BLOCK_INDEX -export GL_IMAGE_BINDING_FORMAT -export GL_STENCIL_REF -export GL_CLIENT_ALL_ATTRIB_BITS -export GL_DOUBLE_VEC4 -export GL_DEPTH_SCALE -export GL_VIEWPORT_BIT -export GL_COMPRESSED_SIGNED_R11_EAC -export GL_CLAMP_VERTEX_COLOR -export GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION -export GL_VERTEX_ATTRIB_RELATIVE_OFFSET -export GL_UNSIGNED_INT_SAMPLER_1D_ARRAY -export GL_UNSIGNED_SHORT_1_5_5_5_REV -export GL_EMISSION -export GL_CURRENT_RASTER_COLOR -export GL_TEXTURE_RESIDENT -export GL_COMPRESSED_SRGB8_ETC2 -export GL_MAX_NUM_COMPATIBLE_SUBROUTINES -export GL_TEXTURE17 -export GL_CONTEXT_FLAG_DEBUG_BIT -export GL_TEXTURE16 -export GL_DITHER -export GL_MAP1_TEXTURE_COORD_2 -export GL_BLEND_DST_RGB -export GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE -export GL_S -export GL_COMPRESSED_RG -export GL_NOTEQUAL -export GL_TEXTURE_CUBE_MAP_NEGATIVE_Z -export GL_NOR -export GL_ONE_MINUS_SRC1_COLOR -export GL_LINEAR_MIPMAP_NEAREST -export GL_SEPARATE_ATTRIBS -export GL_MAX_INTEGER_SAMPLES -export GL_STENCIL_COMPONENTS -export GL_FRAMEBUFFER_BINDING -export GL_INTERLEAVED_ATTRIBS -export GL_UNIFORM_MATRIX_STRIDE -export GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE -export GL_T4F_C4F_N3F_V4F -export GL_RED_BIAS -export GL_OPERAND2_ALPHA -export GL_SRC_COLOR -export GL_POLYGON_OFFSET_LINE -export GL_REFERENCED_BY_COMPUTE_SHADER -export GL_TYPE -export GL_ACTIVE_UNIFORM_MAX_LENGTH -export GL_TEXTURE_BINDING_1D_ARRAY -export GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS -export GL_POLYGON_STIPPLE_BIT -export GL_MAX_FRAMEBUFFER_SAMPLES -export GL_PROJECTION_MATRIX -export GL_TRIANGLE_STRIP_ADJACENCY -export GL_MULTISAMPLE -export GL_MAX_NAME_LENGTH -export GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS -export GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY -export GL_STENCIL_BACK_VALUE_MASK -export GL_RGBA16I -export GL_COLOR_INDEXES -export GL_INVALID_ENUM -export GL_UNSIGNED_INT_IMAGE_2D -export GL_NOOP -export GL_INDEX_SHIFT -export GL_INDEX_ARRAY_TYPE -export GL_MAX_WIDTH -export GL_ANY_SAMPLES_PASSED_CONSERVATIVE -export GL_SAMPLES -export GL_TEXTURE14 -export GL_BUFFER_MAPPED -export GL_TRANSPOSE_COLOR_MATRIX -export GL_LOWER_LEFT -export GL_COLOR_ATTACHMENT6 -export GL_FRAMEBUFFER -export GL_MAX_COMPUTE_SHARED_MEMORY_SIZE -export GL_TEXTURE_COMPRESSED -export GL_RG -export GL_POINT -export GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT -export GL_PROGRAM_PIPELINE_BINDING -export GL_SHADER -export GL_INT_IMAGE_1D_ARRAY -export GL_PROXY_TEXTURE_RECTANGLE -export GL_ATOMIC_COUNTER_BUFFER_SIZE -export GL_SAMPLE_ALPHA_TO_COVERAGE -export GL_FLOAT_MAT4x2 -export GL_MAX_LABEL_LENGTH -export GL_VIEW_CLASS_S3TC_DXT3_RGBA -export GL_UNSIGNED_INT_IMAGE_1D -export GL_TEXTURE_COORD_ARRAY -export GL_FOG -export GL_FRAGMENT_SHADER -export GL_RGB_INTEGER -export GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW -export GL_CLIENT_PIXEL_STORE_BIT -export GL_ATOMIC_COUNTER_BUFFER_INDEX -export GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS -export GL_CAVEAT_SUPPORT -export GL_RGBA16_SNORM -export GL_CLIP_DISTANCE3 -export GL_SAMPLE_COVERAGE -export GL_INTERNALFORMAT_BLUE_TYPE -export GL_SHADER_TYPE -export GL_ONE_MINUS_DST_COLOR -export GL_RG_INTEGER -export GL_HALF_FLOAT -export GL_SELECTION_BUFFER_POINTER -export GL_CONTEXT_FLAGS -export GL_UNPACK_SKIP_IMAGES -export GL_MAX_MODELVIEW_STACK_DEPTH -export GL_STACK_UNDERFLOW -export GL_READ_WRITE -export GL_LUMINANCE8 -export GL_QUERY_BY_REGION_NO_WAIT -export GL_VIEWPORT_INDEX_PROVOKING_VERTEX -export GL_INVERT -export GL_LIGHT5 -export GL_FLOAT_VEC2 -export GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS -export GL_INTERNALFORMAT_DEPTH_SIZE -export GL_SCISSOR_BIT -export GL_CLIENT_ATTRIB_STACK_DEPTH -export GL_BUFFER_USAGE -export GL_INT_IMAGE_1D -export GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS -export GL_MAX_FRAGMENT_UNIFORM_BLOCKS -export GL_MIPMAP -export GL_CURRENT_RASTER_POSITION -export GL_TEXTURE_SAMPLES -export GL_MAX_RECTANGLE_TEXTURE_SIZE -export GL_VERTEX_BINDING_STRIDE -export GL_MAX_VARYING_COMPONENTS -export GL_VIEW_COMPATIBILITY_CLASS -export GL_STENCIL_CLEAR_VALUE -export GL_SAMPLER_2D_MULTISAMPLE_ARRAY -export GL_RG16 -export GL_REPEAT -export GL_UNSIGNED_SHORT_5_6_5 -export GL_RENDERBUFFER_RED_SIZE -export GL_DEPTH_STENCIL_ATTACHMENT -export GL_UNPACK_COMPRESSED_BLOCK_DEPTH -export GL_FILL -export GL_ONE_MINUS_SRC_COLOR -export GL_PACK_ALIGNMENT -export GL_DEBUG_TYPE_PORTABILITY -export GL_UNSIGNED_INT_5_9_9_9_REV -export GL_TEXTURE2 -export GL_PACK_COMPRESSED_BLOCK_WIDTH -export GL_TEXTURE_ENV -export GL_PIXEL_MODE_BIT -export GL_DOUBLE_MAT2x4 -export GL_BUFFER_MAP_POINTER -export GL_GEQUAL -export GL_UNSIGNALED -export GL_UNPACK_COMPRESSED_BLOCK_SIZE -export GL_RED -export GL_BUFFER_BINDING -export GL_MAX_FRAGMENT_UNIFORM_VECTORS -export GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE -export GL_LUMINANCE8_ALPHA8 -export GL_COLOR_ATTACHMENT14 -export GL_RGBA32UI -export GL_PRIMARY_COLOR -export GL_MIRRORED_REPEAT -export GL_CLAMP_TO_BORDER -export GL_VALIDATE_STATUS -export GL_COMPUTE_SUBROUTINE -export GL_RG8_SNORM -export GL_DRAW_FRAMEBUFFER_BINDING -export GL_ALL_BARRIER_BITS -export GL_COEFF -export GL_TEXTURE7 -export GL_TEXTURE6 -export GL_SRGB_WRITE -export GL_COMPRESSED_SRGB_ALPHA -export GL_MAX_FRAGMENT_IMAGE_UNIFORMS -export GL_GEOMETRY_OUTPUT_TYPE -export GL_CW -export GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS -export GL_UNSIGNED_INT_VEC4 -export GL_UNIFORM_IS_ROW_MAJOR -export GL_TEXTURE_CUBE_MAP -export GL_ALPHA_TEST_REF -export GL_FOG_BIT -export GL_X3_BYTES -export GL_TEXTURE_MAX_LEVEL -export GL_REFERENCED_BY_GEOMETRY_SHADER -export GL_TEXTURE_ALPHA_SIZE -export GL_FOG_COORDINATE_ARRAY_TYPE -export GL_TEXTURE_STENCIL_SIZE -export GL_MAX_FRAGMENT_INPUT_COMPONENTS -export GL_ALPHA_BITS -export GL_OR -export GL_T2F_C4F_N3F_V3F -export GL_TEXTURE19 -export GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE -export GL_TESS_GEN_MODE -export GL_MAX_LIGHTS -export GL_MAX_VERTEX_UNIFORM_COMPONENTS -export GL_MAX_VIEWPORT_DIMS -export GL_POINT_SIZE_MIN -export GL_MAX_VERTEX_IMAGE_UNIFORMS -export GL_CLIP_PLANE2 -export GL_T4F_V4F -export GL_UNIFORM_TYPE -export GL_COMPUTE_SUBROUTINE_UNIFORM -export GL_LOCATION -export GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET -export GL_CONTEXT_COMPATIBILITY_PROFILE_BIT -export GL_MAP1_INDEX -export GL_FOG_COORDINATE_ARRAY -export GL_TEXTURE_COORD_ARRAY_STRIDE -export GL_MAX_UNIFORM_BUFFER_BINDINGS -export GL_PATCHES -export GL_TESS_CONTROL_OUTPUT_VERTICES -export GL_LOW_FLOAT -export GL_LINEAR_MIPMAP_LINEAR -export GL_IMAGE_2D_MULTISAMPLE -export GL_COLOR_COMPONENTS -export GL_PRIMITIVE_RESTART -export GL_SYNC_STATUS -export GL_COMPRESSED_RGBA -export GL_MAX_ELEMENTS_INDICES -export GL_MAX_FRAGMENT_ATOMIC_COUNTERS -export GL_VIEW_CLASS_S3TC_DXT1_RGBA -export GL_COLOR_ATTACHMENT1 -export GL_VERTEX_ATTRIB_ARRAY_INTEGER -export GL_DRAW_BUFFER10 -export GL_TEXTURE21 -export GL_VIEW_CLASS_128_BITS -export GL_PACK_IMAGE_HEIGHT -export GL_DEPTH32F_STENCIL8 -export GL_MAP1_VERTEX_4 -export GL_SRC_ALPHA_SATURATE -export GL_PROJECTION -export GL_GENERATE_MIPMAP_HINT -export GL_PROXY_TEXTURE_3D -export GL_SHADER_SOURCE_LENGTH -export GL_RGBA8_SNORM -export GL_MAX_COMPUTE_IMAGE_UNIFORMS -export GL_C4F_N3F_V3F -export GL_BLEND_EQUATION_RGB -export GL_INDEX_MODE -export GL_MAP_STENCIL -export GL_VERTEX_ARRAY_SIZE -export GL_STATIC_COPY -export GL_UNSIGNED_INT_IMAGE_1D_ARRAY -export GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT -export GL_INTERNALFORMAT_SHARED_SIZE -export GL_OPERAND1_ALPHA -export GL_IMAGE_3D -export GL_RG16UI -export GL_TESS_EVALUATION_SHADER -export GL_PROGRAM_BINARY_FORMATS -export GL_PIXEL_MAP_B_TO_B_SIZE -export GL_R32UI -export GL_TEXTURE27 -export GL_RG16I -export GL_MAX_TEXTURE_BUFFER_SIZE -export GL_SIGNED_NORMALIZED -export GL_VENDOR -export GL_DEPTH_TEST -export GL_TEXTURE_RED_SIZE -export GL_TEXTURE_FILTER_CONTROL -export GL_TEXTURE_BORDER -export GL_TEXTURE_COORD_ARRAY_TYPE -export GL_DEBUG_TYPE_PUSH_GROUP -export GL_UNSIGNED_BYTE -export GL_TRANSPOSE_MODELVIEW_MATRIX -export GL_UPPER_LEFT -export GL_TEXTURE_COMPRESSED_BLOCK_SIZE -export GL_MAX_PROGRAM_TEXEL_OFFSET -export GL_TEXTURE_BIT -export GL_STREAM_COPY -export GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX -export GL_MAP_FLUSH_EXPLICIT_BIT -export GL_RGB9_E5 -export GL_RGB5_A1 -export GL_TEXTURE_VIEW_NUM_LEVELS -export GL_IMAGE_1D_ARRAY -export GL_AUX1 -export GL_DEPTH_COMPONENT32F -export GL_FLOAT_32_UNSIGNED_INT_24_8_REV -export GL_TRANSFORM_FEEDBACK_BUFFER_MODE -export GL_FRAMEBUFFER_DEFAULT_SAMPLES -export GL_BLUE_BITS -export GL_LOAD -export GL_BUFFER_ACCESS_FLAGS -export GL_COLOR_LOGIC_OP -export GL_MAX_LAYERS -export GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS -export GL_MINOR_VERSION -export GL_UNIFORM -export GL_COLOR_ATTACHMENT2 -export GL_HINT_BIT -export GL_TRANSPOSE_PROJECTION_MATRIX -export GL_DRAW_BUFFER14 -export GL_FLOAT -export GL_SPHERE_MAP -export GL_COLOR_INDEX -export GL_MAJOR_VERSION -export GL_DOUBLE_VEC2 -export GL_INTENSITY16 -export GL_INT_SAMPLER_1D -export GL_SOURCE1_RGB -export GL_SCISSOR_BOX -export GL_MAX_3D_TEXTURE_SIZE -export GL_CONDITION_SATISFIED -export GL_TEXTURE_BUFFER_DATA_STORE_BINDING -export GL_COPY_WRITE_BUFFER -export GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT -export GL_EDGE_FLAG_ARRAY_STRIDE -export GL_UNSIGNED_INT_SAMPLER_1D -export GL_PIXEL_MAP_I_TO_R_SIZE -export GL_ATOMIC_COUNTER_BUFFER -export GL_SRGB_READ -export GL_R8_SNORM -export GL_LEFT -export GL_DEBUG_OUTPUT_SYNCHRONOUS -export GL_COLOR_ENCODING -export GL_INT_SAMPLER_2D_MULTISAMPLE -export GL_PIXEL_MAP_I_TO_A_SIZE -export GL_CLIP_PLANE4 -export GL_TEXTURE_MAG_FILTER -export GL_UNPACK_SKIP_PIXELS -export GL_DOUBLE_MAT3x2 -export GL_TEXTURE_LOD_BIAS -export GL_COLOR_BUFFER_BIT -export GL_RGBA2 -export GL_SAMPLE_MASK_VALUE -export GL_DEBUG_SOURCE_APPLICATION -export GL_MAX_ATTRIB_STACK_DEPTH -export GL_SMOOTH_LINE_WIDTH_RANGE -export GL_SAMPLER_BINDING -export GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS -export GL_DEBUG_SEVERITY_LOW -export GL_TEXTURE_BINDING_CUBE_MAP_ARRAY -export GL_SOURCE2_ALPHA -export GL_SRC_ALPHA -export GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS -export GL_REFLECTION_MAP -export GL_CURRENT_VERTEX_ATTRIB -export GL_FOG_COORDINATE -export GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER -export GL_FOG_START -export GL_LUMINANCE12 -export GL_DRAW_BUFFER12 -export GL_UNSIGNED_SHORT_5_5_5_1 -export GL_FOG_COORD_ARRAY_TYPE -export GL_MULT -export GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER -export GL_UNSIGNED_INT_24_8 -export GL_MAX_GEOMETRY_UNIFORM_COMPONENTS -export GL_MAX_COMPUTE_UNIFORM_COMPONENTS -export GL_MAX_VERTEX_ATOMIC_COUNTERS -export GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT -export GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY -export GL_PROGRAM_PIPELINE -export GL_GREEN_BITS -export GL_IMAGE_2D -export GL_LIGHT_MODEL_COLOR_CONTROL -export GL_CURRENT_RASTER_DISTANCE -export GL_MIN_PROGRAM_TEXEL_OFFSET -export GL_BGRA -export GL_STENCIL_WRITEMASK -export GL_VERTEX_BINDING_OFFSET -export GL_EYE_PLANE -export GL_SAMPLER -export GL_IMAGE_CLASS_2_X_32 -export GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY -export GL_LINE_WIDTH_GRANULARITY -export GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS -export GL_MAX_IMAGE_UNITS -export GL_STENCIL_FUNC -export GL_TEXTURE_INTENSITY_TYPE -export GL_MAX_RENDERBUFFER_SIZE -export GL_TESS_CONTROL_SUBROUTINE_UNIFORM -export GL_ACTIVE_ATOMIC_COUNTER_BUFFERS -export GL_DEPTH_CLEAR_VALUE -export GL_BLUE -export GL_VERTEX_ARRAY -export GL_POLYGON_OFFSET_FACTOR -export GL_TEXTURE10 -export GL_VIEW_CLASS_32_BITS -export GL_RIGHT -export GL_FRAMEBUFFER_UNDEFINED -export GL_FOG_COORDINATE_ARRAY_POINTER -export GL_R8UI -export GL_MAP1_NORMAL -export GL_TEXTURE28 -export GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE -export GL_TEXTURE_CUBE_MAP_SEAMLESS -export GL_BUFFER_UPDATE_BARRIER_BIT -export GL_FRONT_FACE -export GL_IMAGE_2D_RECT -export GL_PRIMITIVES_GENERATED -export GL_RGBA12 -export GL_IMPLEMENTATION_COLOR_READ_FORMAT -export GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS -export GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR -export GL_PATCH_DEFAULT_INNER_LEVEL -export GL_FILTER -export GL_R16 -export GL_SAMPLER_2D_SHADOW -export GL_MAX_DEPTH_TEXTURE_SAMPLES -export GL_PRIMITIVE_RESTART_INDEX -export GL_INVALID_OPERATION -export GL_MAX_TEXTURE_LOD_BIAS -export GL_TEXTURE_GEN_T -export GL_BUFFER -export GL_MAX_VERTEX_UNIFORM_VECTORS -export GL_VIEW_CLASS_S3TC_DXT1_RGB -export GL_RENDERBUFFER_STENCIL_SIZE -export GL_POLYGON_MODE -export GL_SHADER_IMAGE_ATOMIC -export GL_MAP1_TEXTURE_COORD_4 -export GL_LOGIC_OP_MODE -export GL_DRAW_BUFFER9 -export GL_SAMPLER_2D_RECT_SHADOW -export GL_LINE_WIDTH -export GL_INTENSITY4 -export GL_TRANSFORM_FEEDBACK_VARYINGS -export GL_COLOR_ATTACHMENT7 -export GL_VERTEX_SHADER_BIT -export GL_RENDERBUFFER_BINDING -export GL_SOURCE1_ALPHA -export GL_EDGE_FLAG_ARRAY_BUFFER_BINDING -export GL_STATIC_READ -export GL_SHADER_STORAGE_BARRIER_BIT -export GL_NAME_LENGTH -export GL_POLYGON -export GL_PASS_THROUGH_TOKEN -export GL_LIGHTING_BIT -export GL_LINE_BIT -export GL_POLYGON_STIPPLE -export GL_ALPHA8 -export GL_FRONT -export GL_ACTIVE_VARIABLES -export GL_COMPRESSED_RG_RGTC2 -export GL_TEXTURE24 -export GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING -export GL_FLOAT_MAT3 -export GL_DEBUG_TYPE_ERROR -export GL_VIEW_CLASS_48_BITS -export GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS -export GL_PROGRAM_BINARY_LENGTH -export GL_TEXTURE_IMMUTABLE_LEVELS -export GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY -export GL_POINT_FADE_THRESHOLD_SIZE -export GL_LOW_INT -export GL_DEBUG_GROUP_STACK_DEPTH -export GL_FRAMEBUFFER_DEFAULT -export GL_MAX_NAME_STACK_DEPTH -export GL_COLOR_ARRAY -export GL_CURRENT_PROGRAM -export GL_COMPRESSED_SIGNED_RG_RGTC2 -export GL_INT_IMAGE_CUBE -export GL_DRAW_BUFFER4 -export GL_FRONT_LEFT -export GL_TEXTURE_CUBE_MAP_POSITIVE_Y -export GL_VERTEX_ATTRIB_ARRAY_TYPE -export GL_GET_TEXTURE_IMAGE_FORMAT -export GL_CLIENT_ACTIVE_TEXTURE -export GL_SAMPLER_2D_ARRAY_SHADOW -export GL_RG32UI -export GL_INTERNALFORMAT_STENCIL_SIZE -export GL_X2_BYTES -export GL_FEEDBACK_BUFFER_TYPE -export GL_RGBA16F -export GL_COPY_READ_BUFFER -export GL_CONSTANT_ATTENUATION -export GL_DRAW_BUFFER15 -export GL_RG16_SNORM -export GL_RGB8_SNORM -export GL_GEOMETRY_SHADER -export GL_LUMINANCE_ALPHA -export GL_COLOR_RENDERABLE -export GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING -export GL_TRIANGLES_ADJACENCY -export GL_SAMPLER_CUBE -export GL_COLOR_ATTACHMENT0 -export GL_FLAT -export GL_VIEW_CLASS_8_BITS -export GL_FIRST_VERTEX_CONVENTION -export GL_SLUMINANCE8_ALPHA8 -export GL_SYNC_FLAGS -export GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER -export GL_SAMPLER_1D_SHADOW -export GL_BGR_INTEGER -export GL_FLOAT_MAT2x4 -export GL_PATCH_DEFAULT_OUTER_LEVEL -export GL_READ_PIXELS_FORMAT -export GL_INTERNALFORMAT_DEPTH_TYPE -export GL_DRAW_INDIRECT_BUFFER_BINDING -export GL_GEOMETRY_INPUT_TYPE -export GL_R8I -export GL_TRANSFORM_FEEDBACK_BUFFER -export GL_COPY_INVERTED -export GL_LIST_MODE -export GL_FOG_END -export GL_MODELVIEW_STACK_DEPTH -export GL_NORMAL_ARRAY_TYPE -export GL_UNIFORM_BUFFER_SIZE -export GL_LINK_STATUS -export GL_ARRAY_STRIDE -export GL_STENCIL_INDEX4 -export GL_MAX_IMAGE_SAMPLES -export GL_IMAGE_CLASS_4_X_16 -export GL_COMPRESSED_SLUMINANCE_ALPHA -export GL_RGB_SNORM -export GL_INT_VEC3 -export GL_MAX_ELEMENT_INDEX -export GL_IMAGE_CLASS_1_X_16 -export GL_TEXTURE_RECTANGLE -export GL_TEXTURE_BINDING_2D_MULTISAMPLE -export GL_TEXTURE_CUBE_MAP_ARRAY -export GL_NEAREST_MIPMAP_NEAREST -export GL_DRAW_FRAMEBUFFER -export GL_TEXTURE_BLUE_TYPE -export GL_NUM_ACTIVE_VARIABLES -export GL_DOUBLEBUFFER -export GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE -export GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER -export GL_DEBUG_TYPE_POP_GROUP -export GL_LINE_STRIP_ADJACENCY -export GL_TRIANGLE_STRIP -export GL_MODELVIEW_MATRIX -export GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT -export GL_TEXTURE_IMAGE_FORMAT -export GL_RGBA_SNORM -export GL_ALIASED_POINT_SIZE_RANGE -export GL_DOUBLE_MAT3 -export GL_TEXTURE13 -export GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY -export GL_TEXTURE_BASE_LEVEL -export GL_RGB16I -export GL_HIGH_INT -export GL_TEXTURE_MIN_LOD -export GL_DEBUG_CALLBACK_USER_PARAM -export GL_INDEX_OFFSET -export GL_SAMPLE_COVERAGE_INVERT -export GL_PACK_COMPRESSED_BLOCK_DEPTH -export GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS -export GL_FRAMEBUFFER_RENDERABLE_LAYERED -export GL_FOG_INDEX -export GL_BOOL_VEC3 -export GL_GEOMETRY_TEXTURE -export GL_TEXTURE_BINDING_CUBE_MAP -export GL_TESS_CONTROL_TEXTURE -export GL_VERTEX_ARRAY_POINTER -export GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS -export GL_UNSIGNED_INT_SAMPLER_CUBE -export GL_COMPRESSED_RED_RGTC1 -export GL_INDEX -export GL_DRAW_BUFFER11 -export GL_GREEN_INTEGER -export GL_MAX_FRAMEBUFFER_HEIGHT -export GL_INT -export GL_TRIANGLES -export GL_ALIASED_LINE_WIDTH_RANGE -export GL_DEBUG_SEVERITY_NOTIFICATION -export GL_DEPTH_STENCIL -export GL_TEXTURE_SHADOW -export GL_MAP_INVALIDATE_RANGE_BIT -export GL_DECR_WRAP -export GL_NAND -export GL_SEPARATE_SPECULAR_COLOR -export GL_SAMPLER_1D_ARRAY_SHADOW -export GL_BLEND_DST_ALPHA -export GL_SELECTION_BUFFER_SIZE -export GL_TEXTURE_IMAGE_TYPE -export GL_RENDERBUFFER -export GL_RGB10 -export GL_INT_IMAGE_2D_MULTISAMPLE -export GL_DOUBLE_MAT2 -export GL_ACCUM_BLUE_BITS -export GL_TEXTURE30 -export GL_VERTEX_ATTRIB_ARRAY_NORMALIZED -export GL_INTERNALFORMAT_ALPHA_SIZE -export GL_RENDERBUFFER_BLUE_SIZE -export GL_TEXTURE_BORDER_COLOR -export GL_ALPHA16 -export GL_ARRAY_BUFFER_BINDING -export GL_VERTEX_ATTRIB_ARRAY_SIZE -export GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH -export GL_SHADER_IMAGE_STORE -export GL_SHADER_IMAGE_ACCESS_BARRIER_BIT -export GL_LINE_STIPPLE_PATTERN -export GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS -export GL_STENCIL_ATTACHMENT -export GL_ACCUM_ALPHA_BITS -export GL_CLIP_PLANE3 -export GL_DEPTH24_STENCIL8 -export GL_PIXEL_UNPACK_BUFFER_BINDING -export GL_RG16F -export GL_TEXTURE_INTERNAL_FORMAT -export GL_QUERY_BY_REGION_WAIT -export GL_EDGE_FLAG -export GL_INT_SAMPLER_2D_RECT -export GL_FOG_COORD_SRC -export GL_VERTEX_ARRAY_BUFFER_BINDING -export GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER -export GL_ALL_SHADER_BITS -export GL_POLYGON_TOKEN -export GL_PACK_COMPRESSED_BLOCK_SIZE -export GL_X4D_COLOR_TEXTURE -export GL_COLOR_ATTACHMENT5 -export GL_DEPTH_BIAS -export GL_UNIFORM_ARRAY_STRIDE -export GL_IMAGE_CLASS_10_10_10_2 -export GL_FALSE -export GL_TEXTURE_BUFFER_OFFSET -export GL_MAX_COLOR_TEXTURE_SAMPLES -export GL_IS_PER_PATCH -export GL_INTERNALFORMAT_STENCIL_TYPE -export GL_PROXY_TEXTURE_CUBE_MAP -export GL_NUM_SHADER_BINARY_FORMATS -export GL_TESS_CONTROL_SHADER -export GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS -export GL_CONTEXT_CORE_PROFILE_BIT -export GL_UNSIGNED_INT_8_8_8_8_REV -export GL_STENCIL_TEST -export GL_LINE_STIPPLE -export GL_SECONDARY_COLOR_ARRAY_POINTER -export GL_OPERAND2_RGB -export GL_PERSPECTIVE_CORRECTION_HINT -export GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS -export GL_QUERY_RESULT_AVAILABLE -export GL_LIGHT0 -export GL_STENCIL_BACK_WRITEMASK -export GL_TESS_GEN_SPACING -export GL_MIN_FRAGMENT_INTERPOLATION_OFFSET -export GL_IMAGE_CLASS_2_X_8 -export GL_R -export GL_MAX_VARYING_FLOATS -export GL_RGBA4 -export GL_TEXTURE_BINDING_BUFFER -export GL_RGBA_MODE -export GL_TEXTURE_GREEN_TYPE -export GL_TRANSFORM_BIT -export GL_LOGIC_OP -export GL_ADD -export GL_PACK_SWAP_BYTES -export GL_LINE_SMOOTH -export GL_FRAMEBUFFER_DEFAULT_WIDTH -export GL_ALREADY_SIGNALED -export GL_RED_SCALE -export GL_STACK_OVERFLOW -export GL_DEPTH_COMPONENT16 -export GL_SHADING_LANGUAGE_VERSION -export GL_IMAGE_1D -export GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS -export GL_COLOR_MATERIAL_FACE -export GL_TEXTURE_HEIGHT -export GL_COMPATIBLE_SUBROUTINES -export GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC -export GL_PIXEL_MAP_R_TO_R_SIZE -export GL_EXTENSIONS -export GL_LUMINANCE6_ALPHA2 -export GL_VERTEX_ATTRIB_ARRAY_STRIDE -export GL_TEXTURE_SWIZZLE_R -export GL_TEXTURE15 -export GL_ORDER -export GL_PIXEL_MAP_I_TO_I_SIZE -export GL_DRAW_BUFFER8 -export GL_PIXEL_MAP_I_TO_A -export GL_CONSTANT_COLOR -export GL_ONE_MINUS_CONSTANT_COLOR -export GL_CONSTANT_ALPHA -export GL_ONE_MINUS_CONSTANT_ALPHA -export GL_BLEND_COLOR -export GL_FUNC_ADD -export GL_MIN -export GL_MAX -export GL_FUNC_SUBTRACT -export GL_FUNC_REVERSE_SUBTRACT -export GL_QUERY_BUFFER -export GL_CLEAR_TEXTURE -export GL_LOCATION_COMPONENT, - GL_TRANSFORM_FEEDBACK_BUFFER_INDEX, GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE -export GL_QUERY_RESULT_NO_WAIT, GL_QUERY_BUFFER_BINDING, GL_QUERY_BARRIER_BIT -export GL_MIRROR_CLAMP_TO_EDGE -export GL_NEGATIVE_ONE_TO_ONE, GL_ZERO_TO_ONE, - GL_CLIP_ORIGIN, GL_CLIP_DEPTH_MODE -export GL_MAX_CULL_DISTANCES, GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES -export GL_QUERY_WAIT_INVERTED, GL_QUERY_NO_WAIT_INVERTED, - GL_QUERY_BY_REGION_WAIT_INVERTED, GL_QUERY_BY_REGION_NO_WAIT_INVERTED -export GL_TEXTURE_TARGET, GL_QUERY_TARGET -export GL_GUILTY_CONTEXT_RESET, GL_INNOCENT_CONTEXT_RESET, GL_UNKNOWN_CONTEXT_RESET, - GL_CONTEXT_ROBUST_ACCESS, GL_RESET_NOTIFICATION_STRATEGY, - GL_LOSE_CONTEXT_ON_RESET, GL_NO_RESET_NOTIFICATION, - GL_CONTEXT_LOST -export GL_MAP_PERSISTENT_BIT, GL_MAP_COHERENT_BIT, GL_DYNAMIC_STORAGE_BIT, - GL_CLIENT_STORAGE_BIT, GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT, - GL_BUFFER_IMMUTABLE_STORAGE, GL_BUFFER_STORAGE_FLAGS -export GL_SPIR_V_BINARY, GL_SPIR_V_EXTENSIONS, GL_NUM_SPIR_V_EXTENSIONS -export GL_VERTICES_SUBMITTED, GL_PRIMITIVES_SUBMITTED, GL_VERTEX_SHADER_INVOCATIONS, - GL_TESS_CONTROL_SHADER_PATCHES, GL_TESS_EVALUATION_SHADER_INVOCATIONS, - GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED, GL_FRAGMENT_SHADER_INVOCATIONS, - GL_COMPUTE_SHADER_INVOCATIONS, GL_CLIPPING_INPUT_PRIMITIVES, GL_CLIPPING_OUTPUT_PRIMITIVES -export GL_TRANSFORM_FEEDBACK_OVERFLOW, GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW -export GL_TEXTURE_MAX_ANISOTROPY, GL_MAX_TEXTURE_MAX_ANISOTROPY -export GL_POLYGON_OFFSET_CLAMP -export GL_CONTEXT_FLAG_NO_ERROR_BIT -export GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT, GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT, - GL_COMPRESSED_RGBA_BPTC_UNORM, GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM diff --git a/src/glFunctions.jl b/src/glFunctions.jl deleted file mode 100644 index f22eb30..0000000 --- a/src/glFunctions.jl +++ /dev/null @@ -1,663 +0,0 @@ -@glfunc glGetNamedFramebufferParameterivEXT(framebuffer::GLuint, pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glDrawElementsInstancedBaseVertexBaseInstance(mode::GLenum, count::GLsizei, type_::GLenum, indices::Ptr{Cvoid}, instancecount::GLsizei, basevertex::GLint, baseinstance::GLuint)::Cvoid -@glfunc glReadBuffer(mode::GLenum)::Cvoid -@glfunc glBindBufferBase(target::GLenum, index::GLuint, buffer::GLuint)::Cvoid -@glfunc glClientWaitSync(sync::GLsync, flags::GLbitfield, timeout::GLuint64)::GLenum -@glfunc glGetIntegeri_v(target::GLenum, index::GLuint, data::Ptr{GLint})::Cvoid -@glfunc glTexCoordP2ui(type_::GLenum, coords::GLuint)::Cvoid -@glfunc glTexParameterIiv(target::GLenum, pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glVertexAttribI2iv(index::GLuint, v::Ptr{GLint})::Cvoid -@glfunc glProgramUniformMatrix4fv(program::GLuint, location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLfloat})::Cvoid -@glfunc glSamplerParameteri(sampler::GLuint, pname::GLenum, param::GLint)::Cvoid -@glfunc glStencilFuncSeparate(face::GLenum, func_::GLenum, ref::GLint, mask::GLuint)::Cvoid -@glfunc glResumeTransformFeedback()::Cvoid -@glfunc glProgramUniform1fv(program::GLuint, location::GLint, count::GLsizei, value::Ptr{GLfloat})::Cvoid -@glfunc glProgramUniform3uiv(program::GLuint, location::GLint, count::GLsizei, value::Ptr{GLuint})::Cvoid -@glfunc glUniform1d(location::GLint, x::GLdouble)::Cvoid -@glfunc glUniformMatrix2x4dv(location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLdouble})::Cvoid -@glfunc glFinish()::Cvoid -@glfunc glProgramUniformMatrix2x3fv(program::GLuint, location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLfloat})::Cvoid -@glfunc glClear(mask::GLbitfield)::Cvoid -@glfunc glBindTransformFeedback(target::GLenum, id::GLuint)::Cvoid -@glfunc glShaderSource(shader::GLuint, count::GLsizei, string_::Ptr{Ptr{GLchar}}, length::Ptr{GLint})::Cvoid -@glfunc glUniform2iv(location::GLint, count::GLsizei, value::Ptr{GLint})::Cvoid -@glfunc glBindTexture(target::GLenum, texture::GLuint)::Cvoid -@glfunc glDrawElementsIndirect(mode::GLenum, type_::GLenum, indirect::Ptr{Cvoid})::Cvoid -@glfunc glUniformMatrix3dv(location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLdouble})::Cvoid -@glfunc glGetSamplerParameterIiv(sampler::GLuint, pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glGetPointerv(pname::GLenum, params::Ptr{Ptr{Cvoid}})::Cvoid -@glfunc glReleaseShaderCompiler()::Cvoid -@glfunc glGetQueryObjectui64v(id::GLuint, pname::GLenum, params::Ptr{GLuint64})::Cvoid -@glfunc glVertexAttribDivisor(index::GLuint, divisor::GLuint)::Cvoid -@glfunc glVertexAttribP4ui(index::GLuint, type_::GLenum, normalized::GLboolean, value::GLuint)::Cvoid -@glfunc glDeleteProgram(program::GLuint)::Cvoid -@glfunc glSamplerParameterIuiv(sampler::GLuint, pname::GLenum, param::Ptr{GLuint})::Cvoid -@glfunc glGetProgramiv(program::GLuint, pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glUniform3dv(location::GLint, count::GLsizei, value::Ptr{GLdouble})::Cvoid -@glfunc glProgramUniform4fv(program::GLuint, location::GLint, count::GLsizei, value::Ptr{GLfloat})::Cvoid -@glfunc glDrawTransformFeedbackInstanced(mode::GLenum, id::GLuint, instancecount::GLsizei)::Cvoid -@glfunc glScissorArrayv(first::GLuint, count::GLsizei, v::Ptr{GLint})::Cvoid -@glfunc glGenerateMipmap(target::GLenum)::Cvoid -@glfunc glProgramUniform2dv(program::GLuint, location::GLint, count::GLsizei, value::Ptr{GLdouble})::Cvoid -@glfunc glUniform4d(location::GLint, x::GLdouble, y::GLdouble, z::GLdouble, w::GLdouble)::Cvoid -@glfunc glDeleteRenderbuffers(n::GLsizei, renderbuffers::Ptr{GLuint})::Cvoid -@glfunc glPopDebugGroup()::Cvoid -@glfunc glGetShaderSource(shader::GLuint, bufSize::GLsizei, length::Ptr{GLsizei}, source::Ptr{GLchar})::Cvoid -@glfunc glIsBuffer(buffer::GLuint)::Bool -@glfunc glGetAttachedShaders(program::GLuint, maxCount::GLsizei, count::Ptr{GLsizei}, obj::Ptr{GLuint})::Cvoid -@glfunc glVertexAttribI1uiv(index::GLuint, v::Ptr{GLuint})::Cvoid -@glfunc glMultiTexCoordP1ui(texture::GLenum, type_::GLenum, coords::GLuint)::Cvoid -@glfunc glTextureView(texture::GLuint, target::GLenum, origtexture::GLuint, internalformat::GLenum, minlevel::GLuint, numlevels::GLuint, minlayer::GLuint, numlayers::GLuint)::Cvoid -@glfunc glProgramUniform4uiv(program::GLuint, location::GLint, count::GLsizei, value::Ptr{GLuint})::Cvoid -@glfunc glSecondaryColorP3uiv(type_::GLenum, color::Ptr{GLuint})::Cvoid -@glfunc glQueryCounter(id::GLuint, target::GLenum)::Cvoid -@glfunc glTexStorage3DMultisample(target::GLenum, samples::GLsizei, internalformat::GLenum, width::GLsizei, height::GLsizei, depth::GLsizei, fixedsamplelocations::GLboolean)::Cvoid -@glfunc glDrawArraysIndirect(mode::GLenum, indirect::Ptr{Cvoid})::Cvoid -@glfunc glUniform4ui(location::GLint, v0::GLuint, v1::GLuint, v2::GLuint, v3::GLuint)::Cvoid -@glfunc glProgramUniform4f(program::GLuint, location::GLint, v0::GLfloat, v1::GLfloat, v2::GLfloat, v3::GLfloat)::Cvoid -@glfunc glCompressedTexSubImage1D(target::GLenum, level::GLint, xoffset::GLint, width::GLsizei, format::GLenum, imageSize::GLsizei, data::Ptr{Cvoid})::Cvoid -@glfunc glProgramUniformMatrix2dv(program::GLuint, location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLdouble})::Cvoid -@glfunc glTexParameterf(target::GLenum, pname::GLenum, param::GLfloat)::Cvoid -@glfunc glShaderBinary(count::GLsizei, shaders::Ptr{GLuint}, binaryformat::GLenum, binary::Ptr{Cvoid}, length::GLsizei)::Cvoid -@glfunc glPauseTransformFeedback()::Cvoid -@glfunc glMultiDrawElements(mode::GLenum, count::Ptr{GLsizei}, type_::GLenum, indices::Ptr{Ptr{Cvoid}}, drawcount::GLsizei)::Cvoid -@glfunc glGetBufferPointerv(target::GLenum, pname::GLenum, params::Ptr{Ptr{Cvoid}})::Cvoid -@glfunc glVertexAttribP4uiv(index::GLuint, type_::GLenum, normalized::GLboolean, value::Ptr{GLuint})::Cvoid -@glfunc glVertexArrayVertexAttribIFormatEXT(vaobj::GLuint, attribindex::GLuint, size::GLint, type_::GLenum, relativeoffset::GLuint)::Cvoid -@glfunc glEndConditionalRender()::Cvoid -@glfunc glFlush()::Cvoid -@glfunc glBlendFuncSeparatei(buf::GLuint, srcRGB::GLenum, dstRGB::GLenum, srcAlpha::GLenum, dstAlpha::GLenum)::Cvoid -@glfunc glProgramUniform1dv(program::GLuint, location::GLint, count::GLsizei, value::Ptr{GLdouble})::Cvoid -@glfunc glProgramUniform2ui(program::GLuint, location::GLint, v0::GLuint, v1::GLuint)::Cvoid -@glfunc glActiveTexture(texture::GLenum)::Cvoid -@glfunc glSecondaryColorP3ui(type_::GLenum, color::GLuint)::Cvoid -@glfunc glProgramUniformMatrix3dv(program::GLuint, location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLdouble})::Cvoid -@glfunc glBlendEquationi(buf::GLuint, mode::GLenum)::Cvoid -@glfunc glPolygonOffset(factor::GLfloat, units::GLfloat)::Cvoid -@glfunc glDetachShader(program::GLuint, shader::GLuint)::Cvoid -@glfunc glUniform4uiv(location::GLint, count::GLsizei, value::Ptr{GLuint})::Cvoid -@glfunc glTexParameteriv(target::GLenum, pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glGetIntegerv(pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glEnable(cap::GLenum)::Cvoid -@glfunc glClearBufferData(target::GLenum, internalformat::GLenum, format::GLenum, type_::GLenum, data::Ptr{Cvoid})::Cvoid -@glfunc glMapBufferRange(target::GLenum, offset::GLintptr, length::GLsizeiptr, access::GLbitfield)::Ptr{Cvoid} -@glfunc glTexCoordP4uiv(type_::GLenum, coords::Ptr{GLuint})::Cvoid -@glfunc glDepthRangeArrayv(first::GLuint, count::GLsizei, v::Ptr{GLdouble})::Cvoid -@glfunc glGetCompressedTexImage(target::GLenum, level::GLint, img::Ptr{Cvoid})::Cvoid -@glfunc glProgramUniformMatrix4x2fv(program::GLuint, location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLfloat})::Cvoid -@glfunc glIsTransformFeedback(id::GLuint)::Bool -@glfunc glMultiTexCoordP1uiv(texture::GLenum, type_::GLenum, coords::Ptr{GLuint})::Cvoid -@glfunc glSamplerParameterIiv(sampler::GLuint, pname::GLenum, param::Ptr{GLint})::Cvoid -@glfunc glProgramUniform2i(program::GLuint, location::GLint, v0::GLint, v1::GLint)::Cvoid -@glfunc glUniform4dv(location::GLint, count::GLsizei, value::Ptr{GLdouble})::Cvoid -@glfunc glGetDoublev(pname::GLenum, params::Ptr{GLdouble})::Cvoid -@glfunc glTexCoordP1uiv(type_::GLenum, coords::Ptr{GLuint})::Cvoid -@glfunc glProgramUniform1f(program::GLuint, location::GLint, v0::GLfloat)::Cvoid -@glfunc glTexParameterIuiv(target::GLenum, pname::GLenum, params::Ptr{GLuint})::Cvoid -@glfunc glUniformMatrix2x3dv(location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLdouble})::Cvoid -@glfunc glPixelStorei(pname::GLenum, param::GLint)::Cvoid -@glfunc glUniform3ui(location::GLint, v0::GLuint, v1::GLuint, v2::GLuint)::Cvoid -@glfunc glGetTexParameterIuiv(target::GLenum, pname::GLenum, params::Ptr{GLuint})::Cvoid -@glfunc glGetShaderiv(shader::GLuint, pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glTexCoordP4ui(type_::GLenum, coords::GLuint)::Cvoid -@glfunc glPointParameteri(pname::GLenum, param::GLint)::Cvoid -@glfunc glTextureStorage1DEXT(texture::GLuint, target::GLenum, levels::GLsizei, internalformat::GLenum, width::GLsizei)::Cvoid -@glfunc glEnablei(target::GLenum, index::GLuint)::Cvoid -@glfunc glTexCoordP3uiv(type_::GLenum, coords::Ptr{GLuint})::Cvoid -@glfunc glGetRenderbufferParameteriv(target::GLenum, pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glVertexAttribI4sv(index::GLuint, v::Ptr{GLshort})::Cvoid -@glfunc glGetActiveSubroutineName(program::GLuint, shadertype::GLenum, index::GLuint, bufsize::GLsizei, length::Ptr{GLsizei}, name::Ptr{GLchar})::Cvoid -@glfunc glCompileShader(shader::GLuint)::Cvoid -@glfunc glLinkProgram(program::GLuint)::Cvoid -@glfunc glReadPixels(x::GLint, y::GLint, width::GLsizei, height::GLsizei, format::GLenum, type_::GLenum, pixels::Ptr{Cvoid})::Cvoid -@glfunc glCreateShaderProgramv(type_::GLenum, count::GLsizei, strings::Ptr{GLchar})::GLuint -@glfunc glBufferData(target::GLenum, size::GLsizeiptr, data::Ptr{Cvoid}, usage::GLenum)::Cvoid -@glfunc glBufferStorage(target::GLenum, size::GLsizeiptr, data::Ptr{Cvoid}, flags::GLbitfield)::Cvoid -@glfunc glPointParameteriv(pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glUniform2fv(location::GLint, count::GLsizei, value::Ptr{GLfloat})::Cvoid -@glfunc glDrawTransformFeedbackStream(mode::GLenum, id::GLuint, stream::GLuint)::Cvoid -@glfunc glUniform2dv(location::GLint, count::GLsizei, value::Ptr{GLdouble})::Cvoid -@glfunc glTexSubImage1D(target::GLenum, level::GLint, xoffset::GLint, width::GLsizei, format::GLenum, type_::GLenum, pixels::Ptr{Cvoid})::Cvoid -@glfunc glDispatchCompute(num_groups_x::GLuint, num_groups_y::GLuint, num_groups_z::GLuint)::Cvoid -@glfunc glGetBufferSubData(target::GLenum, offset::GLintptr, size::GLsizeiptr, data::Ptr{Cvoid})::Cvoid -@glfunc glVertexP2uiv(type_::GLenum, value::Ptr{GLuint})::Cvoid -@glfunc glUniform4fv(location::GLint, count::GLsizei, value::Ptr{GLfloat})::Cvoid -@glfunc glGetProgramResourceLocation(program::GLuint, programCinterface::GLenum, name::Ptr{GLchar})::GLint -@glfunc glVertexArrayVertexAttribLFormatEXT(vaobj::GLuint, attribindex::GLuint, size::GLint, type_::GLenum, relativeoffset::GLuint)::Cvoid -@glfunc glGetUniformuiv(program::GLuint, location::GLint, params::Ptr{GLuint})::Cvoid -@glfunc glBindImageTexture(unit::GLuint, texture::GLuint, level::GLint, layered::GLboolean, layer::GLint, access::GLenum, format::GLenum)::Cvoid -@glfunc glVertexAttribL4dv(index::GLuint, v::Ptr{GLdouble})::Cvoid -@glfunc glColorP4ui(type_::GLenum, color::GLuint)::Cvoid -@glfunc glUniform2f(location::GLint, v0::GLfloat, v1::GLfloat)::Cvoid -@glfunc glColorP4uiv(type_::GLenum, color::Ptr{GLuint})::Cvoid -@glfunc glVertexAttribIPointer(index::GLuint, size::GLint, type_::GLenum, stride::GLsizei, pointer::Ptr{Cvoid})::Cvoid -@glfunc glGetProgramPipelineiv(pipeline::GLuint, pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glMultiTexCoordP3uiv(texture::GLenum, type_::GLenum, coords::Ptr{GLuint})::Cvoid -@glfunc glGetProgramResourceName(program::GLuint, programInterface::GLenum, index::GLuint, bufSize::GLsizei, length::Ptr{GLsizei}, name::Ptr{GLchar})::Cvoid -@glfunc glVertexP4ui(type_::GLenum, value::GLuint)::Cvoid -@glfunc glFrontFace(mode::GLenum)::Cvoid -@glfunc glProgramUniform4i(program::GLuint, location::GLint, v0::GLint, v1::GLint, v2::GLint, v3::GLint)::Cvoid -@glfunc glPointParameterfv(pname::GLenum, params::Ptr{GLfloat})::Cvoid -@glfunc glShaderStorageBlockBinding(program::GLuint, storageBlockIndex::GLuint, storageBlockBinding::GLuint)::Cvoid -@glfunc glClearStencil(s::GLint)::Cvoid -@glfunc glBlendEquation(mode::GLenum)::Cvoid -@glfunc glIsProgramPipeline(pipeline::GLuint)::Bool -@glfunc glUniform3f(location::GLint, v0::GLfloat, v1::GLfloat, v2::GLfloat)::Cvoid -@glfunc glVertexAttribI4usv(index::GLuint, v::Ptr{GLushort})::Cvoid -@glfunc glFramebufferParameteri(target::GLenum, pname::GLenum, param::GLint)::Cvoid -@glfunc glGenSamplers(count::GLsizei, samplers::Ptr{GLuint})::Cvoid -@glfunc glUniformMatrix4fv(location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLfloat})::Cvoid -@glfunc glBlendColor(red::GLfloat, green::GLfloat, blue::GLfloat, alpha::GLfloat)::Cvoid -@glfunc glInvalidateTexImage(texture::GLuint, level::GLint)::Cvoid -@glfunc glGetSubroutineIndex(program::GLuint, shadertype::GLenum, name::Ptr{GLchar})::GLuint -@glfunc glVertexAttribL3dv(index::GLuint, v::Ptr{GLdouble})::Cvoid -@glfunc glProgramUniformMatrix2fv(program::GLuint, location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLfloat})::Cvoid -@glfunc glDrawElementsInstancedBaseInstance(mode::GLenum, count::GLsizei, type_::GLenum, indices::Ptr{Cvoid}, instancecount::GLsizei, baseinstance::GLuint)::Cvoid -@glfunc glIndexub(c::GLubyte)::Cvoid -@glfunc glGenRenderbuffers(n::GLsizei, renderbuffers::Ptr{GLuint})::Cvoid -@glfunc glProgramUniform4dv(program::GLuint, location::GLint, count::GLsizei, value::Ptr{GLdouble})::Cvoid -@glfunc glProgramUniformMatrix2x3dv(program::GLuint, location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLdouble})::Cvoid -@glfunc glTexImage3D(target::GLenum, level::GLint, internalformat::GLint, width::GLsizei, height::GLsizei, depth::GLsizei, border::GLint, format::GLenum, type_::GLenum, pixels::Ptr{Cvoid})::Cvoid -@glfunc glGetVertexAttribfv(index::GLuint, pname::GLenum, params::Ptr{GLfloat})::Cvoid -@glfunc glVertexAttribL4d(index::GLuint, x::GLdouble, y::GLdouble, z::GLdouble, w::GLdouble)::Cvoid -@glfunc glBindFramebuffer(target::GLenum, framebuffer::GLuint)::Cvoid -@glfunc glFramebufferTexture3D(target::GLenum, attachment::GLenum, textarget::GLenum, texture::GLuint, level::GLint, zoffset::GLint)::Cvoid -@glfunc glVertexArrayVertexAttribFormatEXT(vaobj::GLuint, attribindex::GLuint, size::GLint, type_::GLenum, normalized::GLboolean, relativeoffset::GLuint)::Cvoid -@glfunc glGetVertexAttribLdv(index::GLuint, pname::GLenum, params::Ptr{GLdouble})::Cvoid -@glfunc glVertexAttribBinding(attribindex::GLuint, bindingindex::GLuint)::Cvoid -@glfunc glUniformMatrix3fv(location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLfloat})::Cvoid -@glfunc glUniformMatrix4dv(location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLdouble})::Cvoid -@glfunc glProgramUniformMatrix4x3dv(program::GLuint, location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLdouble})::Cvoid -@glfunc glProgramUniformMatrix3x4fv(program::GLuint, location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLfloat})::Cvoid -@glfunc glGetDebugMessageLog(count::GLuint, bufsize::GLsizei, sources::Ptr{GLenum}, types::Ptr{GLenum}, ids::Ptr{GLuint}, severities::Ptr{GLenum}, lengths::Ptr{GLsizei}, messageLog::Ptr{GLchar})::GLuint -@glfunc glGetVertexAttribiv(index::GLuint, pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glDebugMessageInsert(source::GLenum, type_::GLenum, id::GLuint, severity::GLenum, length::GLsizei, buf::Ptr{GLchar})::Cvoid -@glfunc glNormalP3ui(type_::GLenum, coords::GLuint)::Cvoid -@glfunc glDrawArraysInstanced(mode::GLenum, first::GLint, count::GLsizei, instancecount::GLsizei)::Cvoid -@glfunc glCompressedTexImage2D(target::GLenum, level::GLint, internalformat::GLenum, width::GLsizei, height::GLsizei, border::GLint, imageSize::GLsizei, data::Ptr{Cvoid})::Cvoid -@glfunc glPushDebugGroup(source::GLenum, id::GLuint, length::GLsizei, message::Ptr{GLchar})::Cvoid -@glfunc glGetUniformBlockIndex(program::GLuint, uniformBlockName::Ptr{GLchar})::GLuint -@glfunc glInvalidateFramebuffer(target::GLenum, numAttachments::GLsizei, attachments::Ptr{GLenum})::Cvoid -@glfunc glVertexAttribP2uiv(index::GLuint, type_::GLenum, normalized::GLboolean, value::Ptr{GLuint})::Cvoid -@glfunc glIsEnabledi(target::GLenum, index::GLuint)::Bool -@glfunc glVertexAttribP2ui(index::GLuint, type_::GLenum, normalized::GLboolean, value::GLuint)::Cvoid -@glfunc glDrawArrays(mode::GLenum, first::GLint, count::GLsizei)::Cvoid -@glfunc glGetActiveAttrib(program::GLuint, index::GLuint, bufSize::GLsizei, length::Ptr{GLsizei}, size::Ptr{GLint}, type_::Ptr{GLenum}, name::Ptr{GLchar})::Cvoid -@glfunc glCopyTexImage1D(target::GLenum, level::GLint, internalformat::GLenum, x::GLint, y::GLint, width::GLsizei, border::GLint)::Cvoid -@glfunc glProgramUniform2f(program::GLuint, location::GLint, v0::GLfloat, v1::GLfloat)::Cvoid -@glfunc glCopyImageSubData(srcName::GLuint, srcTarget::GLenum, srcLevel::GLint, srcX::GLint, srcY::GLint, srcZ::GLint, dstName::GLuint, dstTarget::GLenum, dstLevel::GLint, dstX::GLint, dstY::GLint, dstZ::GLint, srcWidth::GLsizei, srcHeight::GLsizei, srcDepth::GLsizei)::Cvoid -@glfunc glGetError()::GLenum -@glfunc glNormalP3uiv(type_::GLenum, coords::Ptr{GLuint})::Cvoid -@glfunc glTexStorage2D(target::GLenum, levels::GLsizei, internalformat::GLenum, width::GLsizei, height::GLsizei)::Cvoid -@glfunc glProgramUniformMatrix4x3fv(program::GLuint, location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLfloat})::Cvoid -@glfunc glDrawRangeElementsBaseVertex(mode::GLenum, start::GLuint, END::GLuint, count::GLsizei, type_::GLenum, indices::Ptr{Cvoid}, basevertex::GLint)::Cvoid -@glfunc glGenProgramPipelines(n::GLsizei, pipelines::Ptr{GLuint})::Cvoid -@glfunc glVertexAttribI4uiv(index::GLuint, v::Ptr{GLuint})::Cvoid -@glfunc glActiveShaderProgram(pipeline::GLuint, program::GLuint)::Cvoid -@glfunc glGetInteger64v(pname::GLenum, params::Ptr{GLint64})::Cvoid -@glfunc glPrimitiveRestartIndex(index::GLuint)::Cvoid -@glfunc glDeleteShader(shader::GLuint)::Cvoid -@glfunc glGenBuffers(n::GLsizei, buffers::Ptr{GLuint})::Cvoid -@glfunc glTexParameterfv(target::GLenum, pname::GLenum, params::Ptr{GLfloat})::Cvoid -@glfunc glGetSamplerParameteriv(sampler::GLuint, pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glProgramUniform3d(program::GLuint, location::GLint, v0::GLdouble, v1::GLdouble, v2::GLdouble)::Cvoid -@glfunc glVertexAttribI1iv(index::GLuint, v::Ptr{GLint})::Cvoid -@glfunc glUniform2uiv(location::GLint, count::GLsizei, value::Ptr{GLuint})::Cvoid -@glfunc glUniform1i(location::GLint, v0::GLint)::Cvoid -@glfunc glUniform3uiv(location::GLint, count::GLsizei, value::Ptr{GLuint})::Cvoid -@glfunc glProgramUniform1uiv(program::GLuint, location::GLint, count::GLsizei, value::Ptr{GLuint})::Cvoid -@glfunc glUniform1iv(location::GLint, count::GLsizei, value::Ptr{GLint})::Cvoid -@glfunc glUniform1fv(location::GLint, count::GLsizei, value::Ptr{GLfloat})::Cvoid -@glfunc glScissorIndexedv(index::GLuint, v::Ptr{GLint})::Cvoid -@glfunc glIsTexture(texture::GLuint)::Bool -@glfunc glDrawArraysInstancedBaseInstance(mode::GLenum, first::GLint, count::GLsizei, instancecount::GLsizei, baseinstance::GLuint)::Cvoid -@glfunc glVertexAttribI1i(index::GLuint, x::GLint)::Cvoid -@glfunc glVertexAttribI3ui(index::GLuint, x::GLuint, y::GLuint, z::GLuint)::Cvoid -@glfunc glGetActiveUniformBlockiv(program::GLuint, uniformBlockIndex::GLuint, pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glVertexAttribI3i(index::GLuint, x::GLint, y::GLint, z::GLint)::Cvoid -@glfunc glBlendFunci(buf::GLuint, src::GLenum, dst::GLenum)::Cvoid -@glfunc glGetVertexAttribdv(index::GLuint, pname::GLenum, params::Ptr{GLdouble})::Cvoid -@glfunc glBlendEquationSeparate(modeRGB::GLenum, modeAlpha::GLenum)::Cvoid -@glfunc glFenceSync(condition::GLenum, flags::GLbitfield)::GLsync -@glfunc glSamplerParameterfv(sampler::GLuint, pname::GLenum, param::Ptr{GLfloat})::Cvoid -@glfunc glIsShader(shader::GLuint)::Bool -@glfunc glProgramUniform3f(program::GLuint, location::GLint, v0::GLfloat, v1::GLfloat, v2::GLfloat)::Cvoid -@glfunc glUniformMatrix4x3fv(location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLfloat})::Cvoid -@glfunc glGetQueryObjectuiv(id::GLuint, pname::GLenum, params::Ptr{GLuint})::Cvoid -@glfunc glPointParameterf(pname::GLenum, param::GLfloat)::Cvoid -@glfunc glIndexubv(c::Ptr{GLubyte})::Cvoid -@glfunc glClearBufferiv(buffer::GLenum, drawbuffer::GLint, value::Ptr{GLint})::Cvoid -@glfunc glBindVertexArray(array::GLuint)::Cvoid -@glfunc glGetInternalformati64v(target::GLenum, internalformat::GLenum, pname::GLenum, bufSize::GLsizei, params::Ptr{GLint64})::Cvoid -@glfunc glVertexP4uiv(type_::GLenum, value::Ptr{GLuint})::Cvoid -@glfunc glVertexAttribI2uiv(index::GLuint, v::Ptr{GLuint})::Cvoid -@glfunc glGetProgramResourceiv(program::GLuint, programInterface::GLenum, index::GLuint, propCount::GLsizei, props::Ptr{GLenum}, bufSize::GLsizei, length::Ptr{GLsizei}, params::Ptr{GLint})::Cvoid -@glfunc glViewport(x::GLint, y::GLint, width::GLsizei, height::GLsizei)::Cvoid -@glfunc glTexImage1D(target::GLenum, level::GLint, internalformat::GLint, width::GLsizei, border::GLint, format::GLenum, type_::GLenum, pixels::Ptr{Cvoid})::Cvoid -@glfunc glUniform1uiv(location::GLint, count::GLsizei, value::Ptr{GLuint})::Cvoid -@glfunc glProgramUniform4ui(program::GLuint, location::GLint, v0::GLuint, v1::GLuint, v2::GLuint, v3::GLuint)::Cvoid -@glfunc glUniform1f(location::GLint, v0::GLfloat)::Cvoid -@glfunc glVertexAttribP3uiv(index::GLuint, type_::GLenum, normalized::GLboolean, value::Ptr{GLuint})::Cvoid -@glfunc glBeginQuery(target::GLenum, id::GLuint)::Cvoid -@glfunc glMultiDrawArrays(mode::GLenum, first::Ptr{GLint}, count::Ptr{GLsizei}, drawcount::GLsizei)::Cvoid -@glfunc glDrawBuffer(mode::GLenum)::Cvoid -@glfunc glLogicOp(opcode::GLenum)::Cvoid -@glfunc glObjectLabel(identifier::GLenum, name::GLuint, length::GLsizei, label::Ptr{GLchar})::Cvoid -@glfunc glUniformMatrix3x2dv(location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLdouble})::Cvoid -@glfunc glUniform3d(location::GLint, x::GLdouble, y::GLdouble, z::GLdouble)::Cvoid -@glfunc glDepthRangeIndexed(index::GLuint, n::GLdouble, f::GLdouble)::Cvoid -@glfunc glGetProgramBinary(program::GLuint, bufSize::GLsizei, length::Ptr{GLsizei}, binaryFormat::Ptr{GLenum}, binary::Ptr{Cvoid})::Cvoid -@glfunc glPointSize(size::GLfloat)::Cvoid -@glfunc glGetUniformfv(program::GLuint, location::GLint, params::Ptr{GLfloat})::Cvoid -@glfunc glClearBufferfv(buffer::GLenum, drawbuffer::GLint, value::Ptr{GLfloat})::Cvoid -@glfunc glCopyTexSubImage1D(target::GLenum, level::GLint, xoffset::GLint, x::GLint, y::GLint, width::GLsizei)::Cvoid -@glfunc glIsEnabled(cap::GLenum)::Bool -@glfunc glCreateShader(type_::GLenum)::GLuint -@glfunc glTextureStorage2DEXT(texture::GLuint, target::GLenum, levels::GLsizei, internalformat::GLenum, width::GLsizei, height::GLsizei)::Cvoid -@glfunc glPixelStoref(pname::GLenum, param::GLfloat)::Cvoid -@glfunc glGetMultisamplefv(pname::GLenum, index::GLuint, val::Ptr{GLfloat})::Cvoid -@glfunc glGetFragDataIndex(program::GLuint, name::Ptr{GLchar})::GLint -@glfunc glGetUniformIndices(program::GLuint, uniformCount::GLsizei, uniformNames::Ptr{Ptr{GLchar}}, uniformIndices::Ptr{GLuint})::Cvoid -@glfunc glUniform1dv(location::GLint, count::GLsizei, value::Ptr{GLdouble})::Cvoid -@glfunc glGetFragDataLocation(program::GLuint, name::Ptr{GLchar})::GLint -@glfunc glMultiTexCoordP2ui(texture::GLenum, type_::GLenum, coords::GLuint)::Cvoid -@glfunc glDepthFunc(func_::GLenum)::Cvoid -@glfunc glVertexAttribI4iv(index::GLuint, v::Ptr{GLint})::Cvoid -@glfunc glUniformMatrix2x4fv(location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLfloat})::Cvoid -@glfunc glBufferSubData(target::GLenum, offset::GLintptr, size::GLsizeiptr, data::Ptr{Cvoid})::Cvoid -@glfunc glUniformMatrix3x4fv(location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLfloat})::Cvoid -@glfunc glBindBufferRange(target::GLenum, index::GLuint, buffer::GLuint, offset::GLintptr, size::GLsizeiptr)::Cvoid -@glfunc glGenQueries(n::GLsizei, ids::Ptr{GLuint})::Cvoid -@glfunc glDebugMessageCallback(callback::Ptr{Cvoid}, userParam::Ptr{Cvoid})::Cvoid -@glfunc glDebugMessageCallbackARB(callback::Ptr{Cvoid}, userParam::Ptr{Cvoid})::Cvoid -@glfunc glInvalidateTexSubImage(texture::GLuint, level::GLint, xoffset::GLint, yoffset::GLint, zoffset::GLint, width::GLsizei, height::GLsizei, depth::GLsizei)::Cvoid -@glfunc glColorP3uiv(type_::GLenum, color::Ptr{GLuint})::Cvoid -@glfunc glTexStorage1D(target::GLenum, levels::GLsizei, internalformat::GLenum, width::GLsizei)::Cvoid -@glfunc glBlendFunc(sfactor::GLenum, dfactor::GLenum)::Cvoid -@glfunc glGetBooleanv(pname::GLenum, params::Ptr{GLboolean})::Cvoid -@glfunc glUniformMatrix3x4dv(location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLdouble})::Cvoid -@glfunc glGetObjectLabel(identifier::GLenum, name::GLuint, bufSize::GLsizei, length::Ptr{GLsizei}, label::Ptr{GLchar})::Cvoid -@glfunc glSampleCoverage(value::GLfloat, invert::GLboolean)::Cvoid -@glfunc glProgramUniformMatrix3x2fv(program::GLuint, location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLfloat})::Cvoid -@glfunc glVertexAttribL2dv(index::GLuint, v::Ptr{GLdouble})::Cvoid -@glfunc glGetFloatv(pname::GLenum, params::Ptr{GLfloat})::Cvoid -@glfunc glProvokingVertex(mode::GLenum)::Cvoid -@glfunc glVertexAttribL3d(index::GLuint, x::GLdouble, y::GLdouble, z::GLdouble)::Cvoid -@glfunc glClearDepth(depth::GLdouble)::Cvoid -@glfunc glInvalidateBufferData(buffer::GLuint)::Cvoid -@glfunc glProgramParameteri(program::GLuint, pname::GLenum, value::GLint)::Cvoid -@glfunc glUniformMatrix3x2fv(location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLfloat})::Cvoid -@glfunc glDisable(cap::GLenum)::Cvoid -@glfunc glMultiDrawElementsIndirect(mode::GLenum, type_::GLenum, indirect::Ptr{Cvoid}, drawcount::GLsizei, stride::GLsizei)::Cvoid -@glfunc glMultiDrawElementsBaseVertex(mode::GLenum, count::Ptr{GLsizei}, type_::GLenum, indices::Ptr{Ptr{Cvoid}}, drawcount::GLsizei, basevertex::Ptr{GLint})::Cvoid -@glfunc glFlushMappedBufferRange(target::GLenum, offset::GLintptr, length::GLsizeiptr)::Cvoid -@glfunc glGetUniformdv(program::GLuint, location::GLint, params::Ptr{GLdouble})::Cvoid -@glfunc glGetProgramInterfaceiv(program::GLuint, programInterface::GLenum, pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glTransformFeedbackVaryings(program::GLuint, count::GLsizei, varyings::Ptr{Ptr{GLchar}}, bufferMode::GLenum)::Cvoid -@glfunc glGetVertexAttribIuiv(index::GLuint, pname::GLenum, params::Ptr{GLuint})::Cvoid -@glfunc glGetShaderInfoLog(shader::GLuint, bufSize::GLsizei, length::Ptr{GLsizei}, infoLog::Ptr{GLchar})::Cvoid -@glfunc glRenderbufferStorageMultisample(target::GLenum, samples::GLsizei, internalformat::GLenum, width::GLsizei, height::GLsizei)::Cvoid -@glfunc glUniformMatrix2x3fv(location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLfloat})::Cvoid -@glfunc glUseProgramStages(pipeline::GLuint, stages::GLbitfield, program::GLuint)::Cvoid -@glfunc glVertexAttribLFormat(attribindex::GLuint, size::GLint, type_::GLenum, relativeoffset::GLuint)::Cvoid -@glfunc glProgramUniform1i(program::GLuint, location::GLint, v0::GLint)::Cvoid -@glfunc glGetFramebufferParameteriv(target::GLenum, pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glDeleteProgramPipelines(n::GLsizei, pipelines::Ptr{GLuint})::Cvoid -@glfunc glProgramUniform2fv(program::GLuint, location::GLint, count::GLsizei, value::Ptr{GLfloat})::Cvoid -@glfunc glProgramUniform1iv(program::GLuint, location::GLint, count::GLsizei, value::Ptr{GLint})::Cvoid -@glfunc glBindBuffer(target::GLenum, buffer::GLuint)::Cvoid -@glfunc glGetAttribLocation(program::GLuint, name::Ptr{GLchar})::GLint -@glfunc glProgramUniform3ui(program::GLuint, location::GLint, v0::GLuint, v1::GLuint, v2::GLuint)::Cvoid -@glfunc glTexParameteri(target::GLenum, pname::GLenum, param::GLint)::Cvoid -@glfunc glWaitSync(sync::GLsync, flags::GLbitfield, timeout::GLuint64)::Cvoid -@glfunc glTextureStorage3DMultisampleEXT(texture::GLuint, target::GLenum, samples::GLsizei, internalformat::GLenum, width::GLsizei, height::GLsizei, depth::GLsizei, fixedsamplelocations::GLboolean)::Cvoid -@glfunc glIsVertexArray(array::GLuint)::Bool -@glfunc glEnableVertexAttribArray(index::GLuint)::Cvoid -@glfunc glObjectPtrLabel(ptr::Ptr{Cvoid}, length::GLsizei, label::Ptr{GLchar})::Cvoid -@glfunc glProgramBinary(program::GLuint, binaryFormat::GLenum, binary::Ptr{Cvoid}, length::GLsizei)::Cvoid -@glfunc glCompressedTexImage1D(target::GLenum, level::GLint, internalformat::GLenum, width::GLsizei, border::GLint, imageSize::GLsizei, data::Ptr{Cvoid})::Cvoid -@glfunc glTexCoordP2uiv(type_::GLenum, coords::Ptr{GLuint})::Cvoid -@glfunc glUseProgram(program::GLuint)::Cvoid -@glfunc glProgramUniform3i(program::GLuint, location::GLint, v0::GLint, v1::GLint, v2::GLint)::Cvoid -@glfunc glVertexAttribI2ui(index::GLuint, x::GLuint, y::GLuint)::Cvoid -@glfunc glGetActiveSubroutineUniformiv(program::GLuint, shadertype::GLenum, index::GLuint, pname::GLenum, values::Ptr{GLint})::Cvoid -@glfunc glDepthMask(flag::GLboolean)::Cvoid -@glfunc glPolygonMode(face::GLenum, mode::GLenum)::Cvoid -@glfunc glVertexAttribI3uiv(index::GLuint, v::Ptr{GLuint})::Cvoid -@glfunc glFramebufferTexture1D(target::GLenum, attachment::GLenum, textarget::GLenum, texture::GLuint, level::GLint)::Cvoid -@glfunc glGetActiveSubroutineUniformName(program::GLuint, shadertype::GLenum, index::GLuint, bufsize::GLsizei, length::Ptr{GLsizei}, name::Ptr{GLchar})::Cvoid -@glfunc glGenFramebuffers(n::GLsizei, framebuffers::Ptr{GLuint})::Cvoid -@glfunc glFramebufferTextureLayer(target::GLenum, attachment::GLenum, texture::GLuint, level::GLint, layer::GLint)::Cvoid -@glfunc glViewportArrayv(first::GLuint, count::GLsizei, v::Ptr{GLfloat})::Cvoid -@glfunc glDrawRangeElements(mode::GLenum, start::GLuint, END::GLuint, count::GLsizei, type_::GLenum, indices::Ptr{Cvoid})::Cvoid -@glfunc glCopyTexSubImage3D(target::GLenum, level::GLint, xoffset::GLint, yoffset::GLint, zoffset::GLint, x::GLint, y::GLint, width::GLsizei, height::GLsizei)::Cvoid -@glfunc glStencilMaskSeparate(face::GLenum, mask::GLuint)::Cvoid -@glfunc glGetProgramInfoLog(program::GLuint, bufSize::GLsizei, length::Ptr{GLsizei}, infoLog::Ptr{GLchar})::Cvoid -@glfunc glGetProgramResourceIndex(program::GLuint, programCinterface::GLenum, name::Ptr{GLchar})::GLuint -@glfunc glBlitFramebuffer(srcX0::GLint, srcY0::GLint, srcX1::GLint, srcY1::GLint, dstX0::GLint, dstY0::GLint, dstX1::GLint, dstY1::GLint, mask::GLbitfield, filter::GLenum)::Cvoid -@glfunc glBeginTransformFeedback(primitiveMode::GLenum)::Cvoid -@glfunc glVertexAttribI4bv(index::GLuint, v::Ptr{GLbyte})::Cvoid -@glfunc glIsSampler(sampler::GLuint)::Bool -@glfunc glVertexAttribI4ui(index::GLuint, x::GLuint, y::GLuint, z::GLuint, w::GLuint)::Cvoid -@glfunc glProgramUniformMatrix3x4dv(program::GLuint, location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLdouble})::Cvoid -@glfunc glCheckFramebufferStatus(target::GLenum)::GLenum -@glfunc glProgramUniformMatrix3fv(program::GLuint, location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLfloat})::Cvoid -@glfunc glTextureBufferRangeEXT(texture::GLuint, target::GLenum, internalformat::GLenum, buffer::GLuint, offset::GLintptr, size::GLsizeiptr)::Cvoid -@glfunc glInvalidateSubFramebuffer(target::GLenum, numAttachments::GLsizei, attachments::Ptr{GLenum}, x::GLint, y::GLint, width::GLsizei, height::GLsizei)::Cvoid -@glfunc glDeleteTransformFeedbacks(n::GLsizei, ids::Ptr{GLuint})::Cvoid -@glfunc glGetActiveUniformName(program::GLuint, uniformIndex::GLuint, bufSize::GLsizei, length::Ptr{GLsizei}, uniformName::Ptr{GLchar})::Cvoid -@glfunc glPatchParameterfv(pname::GLenum, values::Ptr{GLfloat})::Cvoid -@glfunc glProgramUniform4d(program::GLuint, location::GLint, v0::GLdouble, v1::GLdouble, v2::GLdouble, v3::GLdouble)::Cvoid -@glfunc glSamplerParameteriv(sampler::GLuint, pname::GLenum, param::Ptr{GLint})::Cvoid -@glfunc glTextureStorage2DMultisampleEXT(texture::GLuint, target::GLenum, samples::GLsizei, internalformat::GLenum, width::GLsizei, height::GLsizei, fixedsamplelocations::GLboolean)::Cvoid -@glfunc glStencilOpSeparate(face::GLenum, sfail::GLenum, dpfail::GLenum, dppass::GLenum)::Cvoid -@glfunc glScissorIndexed(index::GLuint, left::GLint, bottom::GLint, width::GLsizei, height::GLsizei)::Cvoid -@glfunc glVertexAttribI3iv(index::GLuint, v::Ptr{GLint})::Cvoid -@glfunc glBeginQueryIndexed(target::GLenum, index::GLuint, id::GLuint)::Cvoid -@glfunc glValidateProgramPipeline(pipeline::GLuint)::Cvoid -@glfunc glUnmapBuffer(target::GLenum)::Bool -@glfunc glEndQuery(target::GLenum)::Cvoid -@glfunc glStencilOp(fail::GLenum, zfail::GLenum, zpass::GLenum)::Cvoid -@glfunc glCompressedTexImage3D(target::GLenum, level::GLint, internalformat::GLenum, width::GLsizei, height::GLsizei, depth::GLsizei, border::GLint, imageSize::GLsizei, data::Ptr{Cvoid})::Cvoid -@glfunc glSampleMaski(index::GLuint, mask::GLbitfield)::Cvoid -@glfunc glDisableVertexAttribArray(index::GLuint)::Cvoid -@glfunc glVertexAttribI2i(index::GLuint, x::GLint, y::GLint)::Cvoid -@glfunc glCompressedTexSubImage2D(target::GLenum, level::GLint, xoffset::GLint, yoffset::GLint, width::GLsizei, height::GLsizei, format::GLenum, imageSize::GLsizei, data::Ptr{Cvoid})::Cvoid -@glfunc glGetVertexAttribPointerv(index::GLuint, pname::GLenum, pointer::Ptr{Ptr{Cvoid}})::Cvoid -@glfunc glDeleteFramebuffers(n::GLsizei, framebuffers::Ptr{GLuint})::Cvoid -@glfunc glUniformMatrix4x2dv(location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLdouble})::Cvoid -@glfunc glInvalidateBufferSubData(buffer::GLuint, offset::GLintptr, length::GLsizeiptr)::Cvoid -@glfunc glFramebufferTexture(target::GLenum, attachment::GLenum, texture::GLuint, level::GLint)::Cvoid -@glfunc glTexImage3DMultisample(target::GLenum, samples::GLsizei, internalformat::GLint, width::GLsizei, height::GLsizei, depth::GLsizei, fixedsamplelocations::GLboolean)::Cvoid -@glfunc glVertexAttribL1d(index::GLuint, x::GLdouble)::Cvoid -@glfunc glTextureStorage3DEXT(texture::GLuint, target::GLenum, levels::GLsizei, internalformat::GLenum, width::GLsizei, height::GLsizei, depth::GLsizei)::Cvoid -@glfunc glGetBufferParameteriv(target::GLenum, pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glCopyBufferSubData(readTarget::GLenum, writeTarget::GLenum, readOffset::GLintptr, writeOffset::GLintptr, size::GLsizeiptr)::Cvoid -@glfunc glSamplerParameterf(sampler::GLuint, pname::GLenum, param::GLfloat)::Cvoid -@glfunc glColorMask(red::GLboolean, green::GLboolean, blue::GLboolean, alpha::GLboolean)::Cvoid -@glfunc glBlendFuncSeparate(sfactorRGB::GLenum, dfactorRGB::GLenum, sfactorAlpha::GLenum, dfactorAlpha::GLenum)::Cvoid -@glfunc glUniform3fv(location::GLint, count::GLsizei, value::Ptr{GLfloat})::Cvoid -@glfunc glVertexAttribL1dv(index::GLuint, v::Ptr{GLdouble})::Cvoid -@glfunc glUniform4i(location::GLint, v0::GLint, v1::GLint, v2::GLint, v3::GLint)::Cvoid -@glfunc glMultiTexCoordP3ui(texture::GLenum, type_::GLenum, coords::GLuint)::Cvoid -@glfunc glDrawBuffers(n::GLsizei, bufs::Ptr{GLenum})::Cvoid -@glfunc glColorP3ui(type_::GLenum, color::GLuint)::Cvoid -@glfunc glProgramUniformMatrix2x4dv(program::GLuint, location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLdouble})::Cvoid -@glfunc glVertexP2ui(type_::GLenum, value::GLuint)::Cvoid -@glfunc glDrawElementsInstanced(mode::GLenum, count::GLsizei, type_::GLenum, indices::Ptr{Cvoid}, instancecount::GLsizei)::Cvoid -@glfunc glDrawElementsInstancedEXT(mode::GLenum, count::GLsizei, type_::GLenum, indices::Ptr{Cvoid}, instancecount::GLsizei)::Cvoid -@glfunc glGetUniformiv(program::GLuint, location::GLint, params::Ptr{GLint})::Cvoid -@glfunc glTexImage2D(target::GLenum, level::GLint, internalformat::GLint, width::GLsizei, height::GLsizei, border::GLint, format::GLenum, type_::GLenum, pixels::Ptr{Cvoid})::Cvoid -@glfunc glGetQueryObjecti64v(id::GLuint, pname::GLenum, params::Ptr{GLint64})::Cvoid -@glfunc glGetTexImage(target::GLenum, level::GLint, format::GLenum, type_::GLenum, pixels::Ptr{Cvoid})::Cvoid -@glfunc glGetTexLevelParameteriv(target::GLenum, level::GLint, pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glTexSubImage2D(target::GLenum, level::GLint, xoffset::GLint, yoffset::GLint, width::GLsizei, height::GLsizei, format::GLenum, type_::GLenum, pixels::Ptr{Cvoid})::Cvoid -@glfunc glDeleteVertexArrays(n::GLsizei, arrays::Ptr{GLuint})::Cvoid -@glfunc glIsRenderbuffer(renderbuffer::GLuint)::Bool -@glfunc glGetProgramResourceLocationIndex(program::GLuint, programCinterface::GLenum, name::Ptr{GLchar})::GLint -@glfunc glGetInteger64i_v(target::GLenum, index::GLuint, data::Ptr{GLint64})::Cvoid -@glfunc glProgramUniform1ui(program::GLuint, location::GLint, v0::GLuint)::Cvoid -@glfunc glUniform4iv(location::GLint, count::GLsizei, value::Ptr{GLint})::Cvoid -@glfunc glProgramUniform3fv(program::GLuint, location::GLint, count::GLsizei, value::Ptr{GLfloat})::Cvoid -@glfunc glVertexAttribL2d(index::GLuint, x::GLdouble, y::GLdouble)::Cvoid -@glfunc glUniform2d(location::GLint, x::GLdouble, y::GLdouble)::Cvoid -@glfunc glGetBufferParameteri64v(target::GLenum, pname::GLenum, params::Ptr{GLint64})::Cvoid -@glfunc glTexCoordP1ui(type_::GLenum, coords::GLuint)::Cvoid -@glfunc glDeleteBuffers(n::GLsizei, buffers::Ptr{GLuint})::Cvoid -@glfunc glProgramUniformMatrix2x4fv(program::GLuint, location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLfloat})::Cvoid -@glfunc glMultiTexCoordP4uiv(texture::GLenum, type_::GLenum, coords::Ptr{GLuint})::Cvoid -@glfunc glVertexAttribPointer(index::GLuint, size::GLint, type_::GLenum, normalized::GLboolean, stride::GLsizei, pointer::Ptr{Cvoid})::Cvoid -@glfunc glVertexP3uiv(type_::GLenum, value::Ptr{GLuint})::Cvoid -@glfunc glDispatchComputeIndirect(indirect::GLintptr)::Cvoid -@glfunc glProgramUniform1d(program::GLuint, location::GLint, v0::GLdouble)::Cvoid -@glfunc glGetFloati_v(target::GLenum, index::GLuint, data::Ptr{GLfloat})::Cvoid -@glfunc glDebugMessageControl(source::GLenum, type_::GLenum, severity::GLenum, count::GLsizei, ids::Ptr{GLuint}, enabled::GLboolean)::Cvoid -@glfunc glVertexAttribFormat(attribindex::GLuint, size::GLint, type_::GLenum, normalized::GLboolean, relativeoffset::GLuint)::Cvoid -@glfunc glClearColor(red::GLfloat, green::GLfloat, blue::GLfloat, alpha::GLfloat)::Cvoid -@glfunc glClearTexImage(texture::GLuint, level::GLint, format::GLenum, type::GLenum, data::Ptr{Cvoid})::Cvoid -@glfunc glClearTexSubImage(texture::GLuint, level::GLint, xoffset::GLint, yoffset::GLint, zoffset::GLint, width::GLsizei, height::GLsizei, depth::GLsizei, format::GLenum, type::GLenum, data::Ptr{Cvoid})::Cvoid -@glfunc glIsFramebuffer(framebuffer::GLuint)::Bool -@glfunc glVertexAttribP1uiv(index::GLuint, type_::GLenum, normalized::GLboolean, value::Ptr{GLuint})::Cvoid -@glfunc glUniform3i(location::GLint, v0::GLint, v1::GLint, v2::GLint)::Cvoid -@glfunc glGetString(name::GLenum)::Ptr{GLchar} -@glfunc glGenTextures(n::GLsizei, textures::Ptr{GLuint})::Cvoid -@glfunc glFramebufferRenderbuffer(target::GLenum, attachment::GLenum, renderbuffertarget::GLenum, renderbuffer::GLuint)::Cvoid -@glfunc glGetQueryObjectiv(id::GLuint, pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glBindProgramPipeline(pipeline::GLuint)::Cvoid -@glfunc glGetActiveUniformBlockName(program::GLuint, uniformBlockIndex::GLuint, bufSize::GLsizei, length::Ptr{GLsizei}, uniformBlockName::Ptr{GLchar})::Cvoid -@glfunc glUniformMatrix2fv(location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLfloat})::Cvoid -@glfunc glTexStorage3D(target::GLenum, levels::GLsizei, internalformat::GLenum, width::GLsizei, height::GLsizei, depth::GLsizei)::Cvoid -@glfunc glTexCoordP3ui(type_::GLenum, coords::GLuint)::Cvoid -@glfunc glDeleteSync(sync::GLsync)::Cvoid -@glfunc glBindFragDataLocation(program::GLuint, color::GLuint, name::Ptr{GLchar})::Cvoid -@glfunc glGetShaderPrecisionFormat(shadertype::GLenum, precisiontype::GLenum, range_::Ptr{GLint}, precision::Ptr{GLint})::Cvoid -@glfunc glGenTransformFeedbacks(n::GLsizei, ids::Ptr{GLuint})::Cvoid -@glfunc glProgramUniform4iv(program::GLuint, location::GLint, count::GLsizei, value::Ptr{GLint})::Cvoid -@glfunc glHint(target::GLenum, mode::GLenum)::Cvoid -@glfunc glVertexArrayVertexAttribBindingEXT(vaobj::GLuint, attribindex::GLuint, bindingindex::GLuint)::Cvoid -@glfunc glDrawTransformFeedback(mode::GLenum, id::GLuint)::Cvoid -@glfunc glUniform1ui(location::GLint, v0::GLuint)::Cvoid -@glfunc glTexSubImage3D(target::GLenum, level::GLint, xoffset::GLint, yoffset::GLint, zoffset::GLint, width::GLsizei, height::GLsizei, depth::GLsizei, format::GLenum, type_::GLenum, pixels::Ptr{Cvoid})::Cvoid -@glfunc glBeginConditionalRender(id::GLuint, mode::GLenum)::Cvoid -@glfunc glGetActiveUniformsiv(program::GLuint, uniformCount::GLsizei, uniformIndices::Ptr{GLuint}, pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glGetStringi(name::GLenum, index::GLuint)::Ptr{GLchar} -@glfunc glMultiDrawArraysIndirect(mode::GLenum, indirect::Ptr{Cvoid}, drawcount::GLsizei, stride::GLsizei)::Cvoid -@glfunc glDepthRange(near_::GLdouble, far_::GLdouble)::Cvoid -@glfunc glUniform2ui(location::GLint, v0::GLuint, v1::GLuint)::Cvoid -@glfunc glBindFragDataLocationIndexed(program::GLuint, colorNumber::GLuint, index::GLuint, name::Ptr{GLchar})::Cvoid -@glfunc glDrawElementsBaseVertex(mode::GLenum, count::GLsizei, type_::GLenum, indices::Ptr{Cvoid}, basevertex::GLint)::Cvoid -@glfunc glMultiTexCoordP4ui(texture::GLenum, type_::GLenum, coords::GLuint)::Cvoid -@glfunc glGetTexParameterfv(target::GLenum, pname::GLenum, params::Ptr{GLfloat})::Cvoid -@glfunc glVertexArrayBindVertexBufferEXT(vaobj::GLuint, bindingindex::GLuint, buffer::GLuint, offset::GLintptr, stride::GLsizei)::Cvoid -@glfunc glScissor(x::GLint, y::GLint, width::GLsizei, height::GLsizei)::Cvoid -@glfunc glClearDepthf(d::GLfloat)::Cvoid -@glfunc glProgramUniformMatrix4x2dv(program::GLuint, location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLdouble})::Cvoid -@glfunc glDrawElementsInstancedBaseVertex(mode::GLenum, count::GLsizei, type_::GLenum, indices::Ptr{Cvoid}, instancecount::GLsizei, basevertex::GLint)::Cvoid -@glfunc glClearNamedBufferDataEXT(buffer::GLuint, internalformat::GLenum, format::GLenum, type_::GLenum, data::Ptr{Cvoid})::Cvoid -@glfunc glProgramUniform2iv(program::GLuint, location::GLint, count::GLsizei, value::Ptr{GLint})::Cvoid -@glfunc glStencilMask(mask::GLuint)::Cvoid -@glfunc glCopyTexSubImage2D(target::GLenum, level::GLint, xoffset::GLint, yoffset::GLint, x::GLint, y::GLint, width::GLsizei, height::GLsizei)::Cvoid -@glfunc glGetTexLevelParameterfv(target::GLenum, level::GLint, pname::GLenum, params::Ptr{GLfloat})::Cvoid -@glfunc glColorMaski(index::GLuint, r::GLboolean, g::GLboolean, b::GLboolean, a::GLboolean)::Cvoid -@glfunc glVertexP3ui(type_::GLenum, value::GLuint)::Cvoid -@glfunc glUniformMatrix2dv(location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLdouble})::Cvoid -@glfunc glGetProgramPipelineInfoLog(pipeline::GLuint, bufSize::GLsizei, length::Ptr{GLsizei}, infoLog::Ptr{GLchar})::Cvoid -@glfunc glVertexAttribP1ui(index::GLuint, type_::GLenum, normalized::GLboolean, value::GLuint)::Cvoid -@glfunc glUniform3iv(location::GLint, count::GLsizei, value::Ptr{GLint})::Cvoid -@glfunc glUniformSubroutinesuiv(shadertype::GLenum, count::GLsizei, indices::Ptr{GLuint})::Cvoid -@glfunc glPatchParameteri(pname::GLenum, value::GLint)::Cvoid -@glfunc glGenVertexArrays(n::GLsizei, arrays::Ptr{GLuint})::Cvoid -@glfunc glStencilFunc(func_::GLenum, ref::GLint, mask::GLuint)::Cvoid -@glfunc glGetInternalformativ(target::GLenum, internalformat::GLenum, pname::GLenum, bufSize::GLsizei, params::Ptr{GLint})::Cvoid -@glfunc glMinSampleShading(value::GLfloat)::Cvoid -@glfunc glProgramUniform2uiv(program::GLuint, location::GLint, count::GLsizei, value::Ptr{GLuint})::Cvoid -@glfunc glGetActiveUniform(program::GLuint, index::GLuint, bufSize::GLsizei, length::Ptr{GLsizei}, size::Ptr{GLint}, type_::Ptr{GLenum}, name::Ptr{GLchar})::Cvoid -@glfunc glVertexAttribI4i(index::GLuint, x::GLint, y::GLint, z::GLint, w::GLint)::Cvoid -@glfunc glClearNamedBufferSubDataEXT(buffer::GLuint, internalformat::GLenum, offset::GLsizeiptr, size::GLsizeiptr, format::GLenum, type_::GLenum, data::Ptr{Cvoid})::Cvoid -@glfunc glUniformMatrix4x2fv(location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLfloat})::Cvoid -@glfunc glDeleteTextures(n::GLsizei, textures::Ptr{GLuint})::Cvoid -@glfunc glProgramUniformMatrix4dv(program::GLuint, location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLdouble})::Cvoid -@glfunc glCullFace(mode::GLenum)::Cvoid -@glfunc glProgramUniformMatrix3x2dv(program::GLuint, location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLdouble})::Cvoid -@glfunc glTexBufferRange(target::GLenum, internalformat::GLenum, buffer::GLuint, offset::GLintptr, size::GLsizeiptr)::Cvoid -@glfunc glClearBufferSubData(target::GLenum, internalformat::GLenum, offset::GLintptr, size::GLsizeiptr, format::GLenum, type_::GLenum, data::Ptr{Cvoid})::Cvoid -@glfunc glLineWidth(width::GLfloat)::Cvoid -@glfunc glCompressedTexSubImage3D(target::GLenum, level::GLint, xoffset::GLint, yoffset::GLint, zoffset::GLint, width::GLsizei, height::GLsizei, depth::GLsizei, format::GLenum, imageSize::GLsizei, data::Ptr{Cvoid})::Cvoid -@glfunc glVertexArrayVertexBindingDivisorEXT(vaobj::GLuint, bindingindex::GLuint, divisor::GLuint)::Cvoid -@glfunc glClearBufferfi(buffer::GLenum, drawbuffer::GLint, depth::GLfloat, stencil::GLint)::Cvoid -@glfunc glIsProgram(program::GLuint)::Bool -@glfunc glGetVertexAttribIiv(index::GLuint, pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glGetTransformFeedbackVarying(program::GLuint, index::GLuint, bufSize::GLsizei, length::Ptr{GLsizei}, size::Ptr{GLsizei}, type_::Ptr{GLenum}, name::Ptr{GLchar})::Cvoid -@glfunc glVertexAttribLPointer(index::GLuint, size::GLint, type_::GLenum, stride::GLsizei, pointer::Ptr{Cvoid})::Cvoid -@glfunc glGetFramebufferAttachmentParameteriv(target::GLenum, attachment::GLenum, pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glGetActiveAtomicCounterBufferiv(program::GLuint, bufferIndex::GLuint, pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glProgramUniform3dv(program::GLuint, location::GLint, count::GLsizei, value::Ptr{GLdouble})::Cvoid -@glfunc glUniformMatrix4x3dv(location::GLint, count::GLsizei, transpose::GLboolean, value::Ptr{GLdouble})::Cvoid -@glfunc glVertexAttribI4ubv(index::GLuint, v::Ptr{GLubyte})::Cvoid -@glfunc glCreateProgram()::GLuint -@glfunc glUniformBlockBinding(program::GLuint, uniformBlockIndex::GLuint, uniformBlockBinding::GLuint)::Cvoid -@glfunc glEndQueryIndexed(target::GLenum, index::GLuint)::Cvoid -@glfunc glTexStorage2DMultisample(target::GLenum, samples::GLsizei, internalformat::GLenum, width::GLsizei, height::GLsizei, fixedsamplelocations::GLboolean)::Cvoid -@glfunc glGetSynciv(sync::GLsync, pname::GLenum, bufSize::GLsizei, length::Ptr{GLsizei}, values::Ptr{GLint})::Cvoid -@glfunc glClampColor(target::GLenum, clamp::GLenum)::Cvoid -@glfunc glVertexAttribP3ui(index::GLuint, type_::GLenum, normalized::GLboolean, value::GLuint)::Cvoid -@glfunc glBindAttribLocation(program::GLuint, index::GLuint, name::Ptr{GLchar})::Cvoid -@glfunc glBindVertexBuffer(bindingindex::GLuint, buffer::GLuint, offset::GLintptr, stride::GLsizei)::Cvoid -@glfunc glValidateProgram(program::GLuint)::Cvoid -@glfunc glGetSamplerParameterfv(sampler::GLuint, pname::GLenum, params::Ptr{GLfloat})::Cvoid -@glfunc glGetBooleani_v(target::GLenum, index::GLuint, data::Ptr{GLboolean})::Cvoid -@glfunc glMultiTexCoordP2uiv(texture::GLenum, type_::GLenum, coords::Ptr{GLuint})::Cvoid -@glfunc glFramebufferTexture2D(target::GLenum, attachment::GLenum, textarget::GLenum, texture::GLuint, level::GLint)::Cvoid -@glfunc glEndTransformFeedback()::Cvoid -@glfunc glGetSubroutineUniformLocation(program::GLuint, shadertype::GLenum, name::Ptr{GLchar})::GLint -@glfunc glGetQueryiv(target::GLenum, pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glProgramUniform2d(program::GLuint, location::GLint, v0::GLdouble, v1::GLdouble)::Cvoid -@glfunc glProgramUniform3iv(program::GLuint, location::GLint, count::GLsizei, value::Ptr{GLint})::Cvoid -@glfunc glIsSync(sync::GLsync)::Bool -@glfunc glGetTexParameterIiv(target::GLenum, pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glGetObjectPtrLabel(ptr::Ptr{Cvoid}, bufSize::GLsizei, length::Ptr{GLsizei}, label::Ptr{GLchar})::Cvoid -@glfunc glGetUniformSubroutineuiv(shadertype::GLenum, location::GLint, params::Ptr{GLuint})::Cvoid -@glfunc glTexBuffer(target::GLenum, internalformat::GLenum, buffer::GLuint)::Cvoid -@glfunc glDeleteQueries(n::GLsizei, ids::Ptr{GLuint})::Cvoid -@glfunc glDisablei(target::GLenum, index::GLuint)::Cvoid -@glfunc glNamedFramebufferParameteriEXT(framebuffer::GLuint, pname::GLenum, param::GLint)::Cvoid -@glfunc glGetUniformLocation(program::GLuint, name::Ptr{GLchar})::GLint -@glfunc glMemoryBarrier(barriers::GLbitfield)::Cvoid -@glfunc glGetDoublei_v(target::GLenum, index::GLuint, data::Ptr{GLdouble})::Cvoid -@glfunc glClearBufferuiv(buffer::GLenum, drawbuffer::GLint, value::Ptr{GLuint})::Cvoid -@glfunc glRenderbufferStorage(target::GLenum, internalformat::GLenum, width::GLsizei, height::GLsizei)::Cvoid -@glfunc glViewportIndexedf(index::GLuint, x::GLfloat, y::GLfloat, w::GLfloat, h::GLfloat)::Cvoid -@glfunc glDrawElements(mode::GLenum, count::GLsizei, type_::GLenum, indices::Ptr{Cvoid})::Cvoid -@glfunc glVertexAttribI1ui(index::GLuint, x::GLuint)::Cvoid -@glfunc glUniform2i(location::GLint, v0::GLint, v1::GLint)::Cvoid -@glfunc glGetQueryIndexediv(target::GLenum, index::GLuint, pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glAttachShader(program::GLuint, shader::GLuint)::Cvoid -@glfunc glDrawTransformFeedbackStreamInstanced(mode::GLenum, id::GLuint, stream::GLuint, instancecount::GLsizei)::Cvoid -@glfunc glIsQuery(id::GLuint)::Bool -@glfunc glViewportIndexedfv(index::GLuint, v::Ptr{GLfloat})::Cvoid -@glfunc glVertexBindingDivisor(bindingindex::GLuint, divisor::GLuint)::Cvoid -@glfunc glCopyTexImage2D(target::GLenum, level::GLint, internalformat::GLenum, x::GLint, y::GLint, width::GLsizei, height::GLsizei, border::GLint)::Cvoid -@glfunc glDeleteSamplers(count::GLsizei, samplers::Ptr{GLuint})::Cvoid -@glfunc glGetProgramStageiv(program::GLuint, shadertype::GLenum, pname::GLenum, values::Ptr{GLint})::Cvoid -@glfunc glBindSampler(unit::GLuint, sampler::GLuint)::Cvoid -@glfunc glBindRenderbuffer(target::GLenum, renderbuffer::GLuint)::Cvoid -@glfunc glGetSamplerParameterIuiv(sampler::GLuint, pname::GLenum, params::Ptr{GLuint})::Cvoid -@glfunc glGetTexParameteriv(target::GLenum, pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glVertexAttribIFormat(attribindex::GLuint, size::GLint, type_::GLenum, relativeoffset::GLuint)::Cvoid -@glfunc glBlendEquationSeparatei(buf::GLuint, modeRGB::GLenum, modeAlpha::GLenum)::Cvoid -@glfunc glTexImage2DMultisample(target::GLenum, samples::GLsizei, internalformat::GLint, width::GLsizei, height::GLsizei, fixedsamplelocations::GLboolean)::Cvoid -@glfunc glDepthRangef(n::GLfloat, f::GLfloat)::Cvoid -@glfunc glUniform4f(location::GLint, v0::GLfloat, v1::GLfloat, v2::GLfloat, v3::GLfloat)::Cvoid -@glfunc glMapBuffer(target::GLenum, access::GLenum)::Ptr{Cvoid} -@glfunc glClipControl(origin::GLenum, depth::GLenum)::Cvoid -@glfunc glMemoryBarrierByRegion(barriers::GLbitfield)::Cvoid -@glfunc glCreateTransformFeedbacks(n::GLsizei, ids::Ptr{GLuint})::Cvoid -@glfunc glTransformFeedbackBufferBase(xfb::GLuint, index::GLuint, buffer::GLuint)::Cvoid -@glfunc glTransformFeedbackBufferRange(xfb::GLuint, index::GLuint, buffer::GLuint, offset::GLintptr, size::GLsizeiptr)::Cvoid -@glfunc glGetTransformFeedbackiv(xfb::GLuint, pname::GLenum, param::Ptr{GLint})::Cvoid -@glfunc glGetTransformFeedbacki_v(xfb::GLuint, pname::GLenum, index::GLuint, param::Ptr{GLint})::Cvoid -@glfunc glGetTransformFeedbacki64_v(xfb::GLuint, pname::GLenum, index::GLuint, param::Ptr{GLint64})::Cvoid -@glfunc glCreateBuffers(n::GLsizei, buffers::Ptr{GLuint})::Cvoid -@glfunc glNamedBufferStorage(buffer::GLuint, size::GLsizeiptr, data::Ptr{Cvoid}, flags::GLbitfield)::Cvoid -@glfunc glNamedBufferData(buffer::GLuint, size::GLsizeiptr, data::Ptr{Cvoid}, usage::GLenum)::Cvoid -@glfunc glNamedBufferSubData(buffer::GLuint, offset::GLintptr, size::GLsizeiptr, data::Ptr{Cvoid})::Cvoid -@glfunc glCopyNamedBufferSubData(readBuffer::GLuint, writeBuffer::GLuint, readOffset::GLintptr, writeOffset::GLintptr, size::GLsizeiptr)::Cvoid -@glfunc glClearNamedBufferData(buffer::GLuint, internalformat::GLenum, format::GLenum, type::GLenum, data::Ptr{Cvoid})::Cvoid -@glfunc glClearNamedBufferSubData(buffer::GLuint, internalformat::GLenum, offset::GLintptr, size::GLsizeiptr, format::GLenum, type::GLenum, data::Ptr{Cvoid})::Cvoid -@glfunc glMapNamedBuffer(buffer::GLuint, access::GLenum)::Ptr{Cvoid} -@glfunc glMapNamedBufferRange(buffer::GLuint, offset::GLintptr, length::GLsizeiptr, access::GLbitfield)::Ptr{Cvoid} -@glfunc glUnmapNamedBuffer(buffer::GLuint)::GLboolean -@glfunc glFlushMappedNamedBufferRange(buffer::GLuint, offset::GLintptr, length::GLsizeiptr)::Cvoid -@glfunc glGetNamedBufferParameteriv(buffer::GLuint, pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glGetNamedBufferParameteri64v(buffer::GLuint, pname::GLenum, params::Ptr{GLint64})::Cvoid -@glfunc glGetNamedBufferPointerv(buffer::GLuint, pname::GLenum, params::Ptr{Ptr{Cvoid}})::Cvoid -@glfunc glGetNamedBufferSubData(buffer::GLuint, offset::GLintptr, size::GLsizeiptr, data::Ptr{Cvoid})::Cvoid -@glfunc glCreateFramebuffers(n::GLsizei, framebuffers::Ptr{GLuint})::Cvoid -@glfunc glNamedFramebufferRenderbuffer(framebuffer::GLuint, attachment::GLenum, renderbuffertarget::GLenum, renderbuffer::GLuint)::Cvoid -@glfunc glNamedFramebufferParameteri(framebuffer::GLuint, pname::GLenum, param::GLint)::Cvoid -@glfunc glNamedFramebufferTexture(framebuffer::GLuint, attachment::GLenum, texture::GLuint, level::GLint)::Cvoid -@glfunc glNamedFramebufferTextureLayer(framebuffer::GLuint, attachment::GLenum, texture::GLuint, level::GLint, layer::GLint)::Cvoid -@glfunc glNamedFramebufferDrawBuffer(framebuffer::GLuint, mode::GLenum)::Cvoid -@glfunc glNamedFramebufferDrawBuffers(framebuffer::GLuint, n::GLsizei, bufs::Ptr{GLenum})::Cvoid -@glfunc glNamedFramebufferReadBuffer(framebuffer::GLuint, mode::GLenum)::Cvoid -@glfunc glInvalidateNamedFramebufferData(framebuffer::GLuint, numAttachments::GLsizei, attachments::Ptr{GLenum})::Cvoid -@glfunc glInvalidateNamedFramebufferSubData(framebuffer::GLuint, numAttachments::GLsizei, attachments::Ptr{GLenum}, x::GLint, y::GLint, width::GLsizei, height::GLsizei)::Cvoid -@glfunc glClearNamedFramebufferiv(framebuffer::GLuint, buffer::GLenum, drawbuffer::GLint, value::Ptr{GLint})::Cvoid -@glfunc glClearNamedFramebufferuiv(framebuffer::GLuint, buffer::GLenum, drawbuffer::GLint, value::Ptr{GLuint})::Cvoid -@glfunc glClearNamedFramebufferfv(framebuffer::GLuint, buffer::GLenum, drawbuffer::GLint, value::Ptr{GLfloat})::Cvoid -@glfunc glClearNamedFramebufferfi(framebuffer::GLuint, buffer::GLenum, drawbuffer::GLint, depth::GLfloat, stencil::GLint)::Cvoid -@glfunc glBlitNamedFramebuffer(readFramebuffer::GLuint, drawFramebuffer::GLuint, srcX0::GLint, srcY0::GLint, srcX1::GLint, srcY1::GLint, dstX0::GLint, dstY0::GLint, dstX1::GLint, dstY1::GLint, mask::GLbitfield, filter::GLenum)::Cvoid -@glfunc glCheckNamedFramebufferStatus(framebuffer::GLuint, target::GLenum)::GLenum -@glfunc glGetNamedFramebufferParameteriv(framebuffer::GLuint, pname::GLenum, param::Ptr{GLint})::Cvoid -@glfunc glGetNamedFramebufferAttachmentParameteriv(framebuffer::GLuint, attachment::GLenum, pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glCreateRenderbuffers(n::GLsizei, renderbuffers::Ptr{GLuint})::Cvoid -@glfunc glNamedRenderbufferStorage(renderbuffer::GLuint, internalformat::GLenum, width::GLsizei, height::GLsizei)::Cvoid -@glfunc glNamedRenderbufferStorageMultisample(renderbuffer::GLuint, samples::GLsizei, internalformat::GLenum, width::GLsizei, height::GLsizei)::Cvoid -@glfunc glGetNamedRenderbufferParameteriv(renderbuffer::GLuint, pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glCreateTextures(target::GLenum, n::GLsizei, textures::Ptr{GLuint})::Cvoid -@glfunc glTextureBuffer(texture::GLuint, internalformat::GLenum, buffer::GLuint)::Cvoid -@glfunc glTextureBufferRange(texture::GLuint, internalformat::GLenum, buffer::GLuint, offset::GLintptr, size::GLsizeiptr)::Cvoid -@glfunc glTextureStorage1D(texture::GLuint, levels::GLsizei, internalformat::GLenum, width::GLsizei)::Cvoid -@glfunc glTextureStorage2D(texture::GLuint, levels::GLsizei, internalformat::GLenum, width::GLsizei, height::GLsizei)::Cvoid -@glfunc glTextureStorage3D(texture::GLuint, levels::GLsizei, internalformat::GLenum, width::GLsizei, height::GLsizei, depth::GLsizei)::Cvoid -@glfunc glTextureStorage2DMultisample(texture::GLuint, samples::GLsizei, internalformat::GLenum, width::GLsizei, height::GLsizei, fixedsamplelocations::GLboolean)::Cvoid -@glfunc glTextureStorage3DMultisample(texture::GLuint, samples::GLsizei, internalformat::GLenum, width::GLsizei, height::GLsizei, depth::GLsizei, -fixedsamplelocations::GLboolean)::Cvoid -@glfunc glTextureSubImage1D(texture::GLuint, level::GLint, xoffset::GLint, width::GLsizei, format::GLenum, type::GLenum, pixels::Ptr{Cvoid})::Cvoid -@glfunc glTextureSubImage2D(texture::GLuint, level::GLint, xoffset::GLint, yoffset::GLint, width::GLsizei, height::GLsizei, format::GLenum, type::GLenum, pixels::Ptr{Cvoid})::Cvoid -@glfunc glTextureSubImage3D(texture::GLuint, level::GLint, xoffset::GLint, yoffset::GLint, zoffset::GLint, width::GLsizei, height::GLsizei, depth::GLsizei, format::GLenum, type::GLenum, pixels::Ptr{Cvoid})::Cvoid -@glfunc glCompressedTextureSubImage1D(texture::GLuint, level::GLint, xoffset::GLint, width::GLsizei, format::GLenum, imageSize::GLsizei, data::Ptr{Cvoid})::Cvoid -@glfunc glCompressedTextureSubImage2D(texture::GLuint, level::GLint, xoffset::GLint, yoffset::GLint, width::GLsizei, height::GLsizei, format::GLenum, imageSize::GLsizei, data::Ptr{Cvoid})::Cvoid -@glfunc glCompressedTextureSubImage3D(texture::GLuint, level::GLint, xoffset::GLint, yoffset::GLint, zoffset::GLint, width::GLsizei, height::GLsizei, depth::GLsizei, format::GLenum, imageSize::GLsizei, data::Ptr{Cvoid})::Cvoid -@glfunc glCopyTextureSubImage1D(texture::GLuint, level::GLint, xoffset::GLint, x::GLint, y::GLint, width::GLsizei)::Cvoid -@glfunc glCopyTextureSubImage2D(texture::GLuint, level::GLint, xoffset::GLint, yoffset::GLint, x::GLint, y::GLint, width::GLsizei, height::GLsizei)::Cvoid -@glfunc glCopyTextureSubImage3D(texture::GLuint, level::GLint, xoffset::GLint, yoffset::GLint, zoffset::GLint, x::GLint, y::GLint, width::GLsizei, height::GLsizei)::Cvoid -@glfunc glTextureParameterf(texture::GLuint, pname::GLenum, param::GLfloat)::Cvoid -@glfunc glTextureParameterfv(texture::GLuint, pname::GLenum, params::Ptr{GLfloat})::Cvoid -@glfunc glTextureParameteri(texture::GLuint, pname::GLenum, param::GLint)::Cvoid -@glfunc glTextureParameterIiv(texture::GLuint, pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glTextureParameterIuiv(texture::GLuint, pname::GLenum, params::Ptr{GLuint})::Cvoid -@glfunc glTextureParameteriv(texture::GLuint, pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glGenerateTextureMipmap(texture::GLuint)::Cvoid -@glfunc glBindTextureUnit(unit::GLuint, texture::GLuint)::Cvoid -@glfunc glGetTextureImage(texture::GLuint, level::GLint, format::GLenum, type::GLenum, bufSize::GLsizei, pixels::Ptr{Cvoid})::Cvoid -@glfunc glGetCompressedTextureImage(texture::GLuint, level::GLint, bufSize::GLsizei, pixels::Ptr{Cvoid})::Cvoid -@glfunc glGetTextureLevelParameterfv(texture::GLuint, level::GLint, pname::GLenum, params::Ptr{GLfloat})::Cvoid -@glfunc glGetTextureLevelParameteriv(texture::GLuint, level::GLint, pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glGetTextureParameterfv(texture::GLuint, pname::GLenum, params::Ptr{GLfloat})::Cvoid -@glfunc glGetTextureParameterIiv(texture::GLuint, pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glGetTextureParameterIuiv(texture::GLuint, pname::GLenum, params::Ptr{GLuint})::Cvoid -@glfunc glGetTextureParameteriv(texture::GLuint, pname::GLenum, params::Ptr{GLint})::Cvoid -@glfunc glCreateVertexArrays(n::GLsizei, arrays::Ptr{GLuint})::Cvoid -@glfunc glDisableVertexArrayAttrib(vaobj::GLuint, index::GLuint)::Cvoid -@glfunc glEnableVertexArrayAttrib(vaobj::GLuint, index::GLuint)::Cvoid -@glfunc glVertexArrayElementBuffer(vaobj::GLuint, buffer::GLuint)::Cvoid -@glfunc glVertexArrayVertexBuffer(vaobj::GLuint, bindingindex::GLuint, buffer::GLuint, offset::GLintptr, stride::GLsizei)::Cvoid -@glfunc glVertexArrayVertexBuffers(vaobj::GLuint, first::GLuint, count::GLsizei, buffers::Ptr{GLuint}, offsets::Ptr{GLintptr}, strides::Ptr{GLsizei})::Cvoid -@glfunc glVertexArrayAttribFormat(vaobj::GLuint, attribindex::GLuint, size::GLint, type::GLenum, normalized::GLboolean, relativeoffset::GLuint)::Cvoid -@glfunc glVertexArrayAttribIFormat(vaobj::GLuint, attribindex::GLuint, size::GLint, type::GLenum, relativeoffset::GLuint)::Cvoid -@glfunc glVertexArrayAttribLFormat(vaobj::GLuint, attribindex::GLuint, size::GLint, type::GLenum, relativeoffset::GLuint)::Cvoid -@glfunc glVertexArrayAttribBinding(vaobj::GLuint, attribindex::GLuint, bindingindex::GLuint)::Cvoid -@glfunc glVertexArrayBindingDivisor(vaobj::GLuint, bindingindex::GLuint, divisor::GLuint)::Cvoid -@glfunc glGetVertexArrayiv(vaobj::GLuint, pname::GLenum, param::Ptr{GLint})::Cvoid -@glfunc glGetVertexArrayIndexediv(vaobj::GLuint, index::GLuint, pname::GLenum, param::Ptr{GLint})::Cvoid -@glfunc glGetVertexArrayIndexed64iv(vaobj::GLuint, index::GLuint, pname::GLenum, param::Ptr{GLint64})::Cvoid -@glfunc glCreateSamplers(n::GLsizei, samplers::Ptr{GLuint})::Cvoid -@glfunc glCreateProgramPipelines(n::GLsizei, pipelines::Ptr{GLuint})::Cvoid -@glfunc glCreateQueries(target::GLenum, n::GLsizei, ids::Ptr{GLuint})::Cvoid -@glfunc glGetQueryBufferObjectiv(id::GLuint, buffer::GLuint, pname::GLenum, offset::GLintptr)::Cvoid -@glfunc glGetQueryBufferObjectuiv(id::GLuint, buffer::GLuint, pname::GLenum, offset::GLintptr)::Cvoid -@glfunc glGetQueryBufferObjecti64v(id::GLuint, buffer::GLuint, pname::GLenum, offset::GLintptr)::Cvoid -@glfunc glGetQueryBufferObjectui64v(id::GLuint, buffer::GLuint, pname::GLenum, offset::GLintptr)::Cvoid -@glfunc glGetTextureSubImage(texture::GLuint, level::GLint, xoffset::GLint, yoffset::GLint, zoffset::GLint, width::GLsizei, height::GLsizei, depth::GLsizei, format::GLenum, type::GLenum, bufSize::GLsizei, pixels::Ptr{Cvoid})::Cvoid -@glfunc glGetCompressedTextureSubImage(texture::GLuint, level::GLint, xoffset::GLint, yoffset::GLint, zoffset::GLint, width::GLsizei, height::GLsizei, depth::GLsizei, bufSize::GLsizei, pixels::Ptr{Cvoid})::Cvoid -@glfunc glGetGraphicsResetStatus()::GLenum -@glfunc glReadnPixels(x::GLint, y::GLint, width::GLsizei, height::GLsizei, format::GLenum, type::GLenum, bufSize::GLsizei, data::Ptr{Cvoid})::Cvoid -@glfunc glGetnUniformfv(program::GLuint, location::GLint, bufSize::GLsizei, params::Ptr{GLfloat})::Cvoid -@glfunc glGetnUniformiv(program::GLuint, location::GLint, bufSize::GLsizei, params::Ptr{GLint})::Cvoid -@glfunc glGetnUniformuiv(program::GLuint, location::GLint, bufSize::GLsizei, params::Ptr{GLuint})::Cvoid -@glfunc glTextureBarrier()::Cvoid -@glfunc glSpecializeShader(shader::GLuint, pEntryPoint::Ptr{GLchar}, numSpecializationConstants::GLuint, pConstantIndex::Ptr{GLuint}, pConstantValue::Ptr{GLuint})::Cvoid -@glfunc glMultiDrawArraysIndirectCount(mode::GLenum, indirect::Ptr{Cvoid}, drawcount::GLsizei, maxdrawcount::GLsizei, stride::GLsizei)::Cvoid -@glfunc glMultiDrawElementsIndirectCount(mode::GLenum, type::GLenum, indirect::Ptr{Cvoid}, drawcount::GLsizei, maxdrawcount::GLsizei, stride::GLsizei)::Cvoid -@glfunc glPolygonOffsetClamp(factor::GLfloat, units::GLfloat, clamp::GLfloat)::Cvoid diff --git a/src/glTypes.jl b/src/glTypes.jl deleted file mode 100644 index efb60f5..0000000 --- a/src/glTypes.jl +++ /dev/null @@ -1,52 +0,0 @@ -#all OpenGL Types -const GLCvoid = Cvoid -const GLint = Cint -const GLsizeiptr = Cssize_t -const Pointer = Ptr{Cvoid} -const GLhalfNV = Cushort -const GLshort = Cshort -const GLdouble = Cdouble -const GLushort = Cushort -const GLuint = Cuint -const GLint64 = Clonglong -const GLbyte = Cchar -const GLchar = Cuchar -const GLubyte = Cuchar -const GLintptr = Cptrdiff_t -const GLfloat = Cfloat -const GLhalfARB = Cushort -const GLhalf = Cushort -const GLenum = Cuint -const GLboolean = Cuchar -const GLclampf = Cfloat -const GLsizei = Cint -const GLsync = Ptr{Cvoid} -const GLuint64 = Culonglong -const GLclampd = Cdouble -const GLbitfield = Cuint - -export GLCvoid -export GLint -export GLsizeiptr -export Pointer -export GLhalfNV -export GLshort -export GLdouble -export GLushort -export GLuint -export GLint64 -export GLbyte -export GLchar -export GLubyte -export GLintptr -export GLfloat -export GLhalfARB -export GLhalf -export GLenum -export GLboolean -export GLclampf -export GLsizei -export GLsync -export GLuint64 -export GLclampd -export GLbitfield From 4740d6ed3852238ba0f02b03864a8a582eea129f Mon Sep 17 00:00:00 2001 From: Gnimuc Date: Tue, 25 Jan 2022 21:22:04 +0900 Subject: [PATCH 6/6] Generate handles --- gen/generator.jl | 6 +- src/gl.jl | 6390 ++++++++++++++++++++++++++++++++++++---------- 2 files changed, 5117 insertions(+), 1279 deletions(-) diff --git a/gen/generator.jl b/gen/generator.jl index c1f965a..cac432f 100644 --- a/gen/generator.jl +++ b/gen/generator.jl @@ -21,16 +21,20 @@ build!(ctx, BUILDSTAGE_NO_PRINTING) function rewrite!(dag::ExprDAG) for node in get_nodes(dag) node.type isa Generators.AbstractFunctionNodeType || continue + func_name = string(node.id) + handle = Symbol(func_name*"_handle") for expr in node.exprs Meta.isexpr(expr, :function) || continue for block_expr in expr.args Meta.isexpr(block_expr, :block) || continue for ccall_expr in block_expr.args Meta.isexpr(ccall_expr, :call) || continue - ccall_expr.args[2] = :(getprocaddress_e($(string(node.id)))) + ccall_expr.args[2] = :($handle[]) end + pushfirst!(block_expr.args, :($handle[] == C_NULL && ($handle[] = getprocaddress_e($func_name)))) end end + pushfirst!(node.exprs, :(const $handle = Ref{Ptr{Cvoid}}())) end end diff --git a/src/gl.jl b/src/gl.jl index 1dcaa37..d23565c 100644 --- a/src/gl.jl +++ b/src/gl.jl @@ -200,196 +200,340 @@ const PFNGLDEPTHRANGEPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLVIEWPORTPROC ) ( GLint x , GLint y , GLsizei width , GLsizei height ) const PFNGLVIEWPORTPROC = Ptr{Cvoid} +const glCullFace_handle = Ref{Ptr{Cvoid}}() + function glCullFace(mode) - ccall(getprocaddress_e("glCullFace"), Cvoid, (GLenum,), mode) + glCullFace_handle[] == C_NULL && (glCullFace_handle[] = getprocaddress_e("glCullFace")) + ccall(glCullFace_handle[], Cvoid, (GLenum,), mode) end +const glFrontFace_handle = Ref{Ptr{Cvoid}}() + function glFrontFace(mode) - ccall(getprocaddress_e("glFrontFace"), Cvoid, (GLenum,), mode) + glFrontFace_handle[] == C_NULL && (glFrontFace_handle[] = getprocaddress_e("glFrontFace")) + ccall(glFrontFace_handle[], Cvoid, (GLenum,), mode) end +const glHint_handle = Ref{Ptr{Cvoid}}() + function glHint(target, mode) - ccall(getprocaddress_e("glHint"), Cvoid, (GLenum, GLenum), target, mode) + glHint_handle[] == C_NULL && (glHint_handle[] = getprocaddress_e("glHint")) + ccall(glHint_handle[], Cvoid, (GLenum, GLenum), target, mode) end +const glLineWidth_handle = Ref{Ptr{Cvoid}}() + function glLineWidth(width) - ccall(getprocaddress_e("glLineWidth"), Cvoid, (GLfloat,), width) + glLineWidth_handle[] == C_NULL && (glLineWidth_handle[] = getprocaddress_e("glLineWidth")) + ccall(glLineWidth_handle[], Cvoid, (GLfloat,), width) end +const glPointSize_handle = Ref{Ptr{Cvoid}}() + function glPointSize(size) - ccall(getprocaddress_e("glPointSize"), Cvoid, (GLfloat,), size) + glPointSize_handle[] == C_NULL && (glPointSize_handle[] = getprocaddress_e("glPointSize")) + ccall(glPointSize_handle[], Cvoid, (GLfloat,), size) end +const glPolygonMode_handle = Ref{Ptr{Cvoid}}() + function glPolygonMode(face, mode) - ccall(getprocaddress_e("glPolygonMode"), Cvoid, (GLenum, GLenum), face, mode) + glPolygonMode_handle[] == C_NULL && (glPolygonMode_handle[] = getprocaddress_e("glPolygonMode")) + ccall(glPolygonMode_handle[], Cvoid, (GLenum, GLenum), face, mode) end +const glScissor_handle = Ref{Ptr{Cvoid}}() + function glScissor(x, y, width, height) - ccall(getprocaddress_e("glScissor"), Cvoid, (GLint, GLint, GLsizei, GLsizei), x, y, width, height) + glScissor_handle[] == C_NULL && (glScissor_handle[] = getprocaddress_e("glScissor")) + ccall(glScissor_handle[], Cvoid, (GLint, GLint, GLsizei, GLsizei), x, y, width, height) end +const glTexParameterf_handle = Ref{Ptr{Cvoid}}() + function glTexParameterf(target, pname, param) - ccall(getprocaddress_e("glTexParameterf"), Cvoid, (GLenum, GLenum, GLfloat), target, pname, param) + glTexParameterf_handle[] == C_NULL && (glTexParameterf_handle[] = getprocaddress_e("glTexParameterf")) + ccall(glTexParameterf_handle[], Cvoid, (GLenum, GLenum, GLfloat), target, pname, param) end +const glTexParameterfv_handle = Ref{Ptr{Cvoid}}() + function glTexParameterfv(target, pname, params) - ccall(getprocaddress_e("glTexParameterfv"), Cvoid, (GLenum, GLenum, Ptr{GLfloat}), target, pname, params) + glTexParameterfv_handle[] == C_NULL && (glTexParameterfv_handle[] = getprocaddress_e("glTexParameterfv")) + ccall(glTexParameterfv_handle[], Cvoid, (GLenum, GLenum, Ptr{GLfloat}), target, pname, params) end +const glTexParameteri_handle = Ref{Ptr{Cvoid}}() + function glTexParameteri(target, pname, param) - ccall(getprocaddress_e("glTexParameteri"), Cvoid, (GLenum, GLenum, GLint), target, pname, param) + glTexParameteri_handle[] == C_NULL && (glTexParameteri_handle[] = getprocaddress_e("glTexParameteri")) + ccall(glTexParameteri_handle[], Cvoid, (GLenum, GLenum, GLint), target, pname, param) end +const glTexParameteriv_handle = Ref{Ptr{Cvoid}}() + function glTexParameteriv(target, pname, params) - ccall(getprocaddress_e("glTexParameteriv"), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) + glTexParameteriv_handle[] == C_NULL && (glTexParameteriv_handle[] = getprocaddress_e("glTexParameteriv")) + ccall(glTexParameteriv_handle[], Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) end +const glTexImage1D_handle = Ref{Ptr{Cvoid}}() + function glTexImage1D(target, level, internalformat, width, border, format, type, pixels) - ccall(getprocaddress_e("glTexImage1D"), Cvoid, (GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), target, level, internalformat, width, border, format, type, pixels) + glTexImage1D_handle[] == C_NULL && (glTexImage1D_handle[] = getprocaddress_e("glTexImage1D")) + ccall(glTexImage1D_handle[], Cvoid, (GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), target, level, internalformat, width, border, format, type, pixels) end +const glTexImage2D_handle = Ref{Ptr{Cvoid}}() + function glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels) - ccall(getprocaddress_e("glTexImage2D"), Cvoid, (GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), target, level, internalformat, width, height, border, format, type, pixels) + glTexImage2D_handle[] == C_NULL && (glTexImage2D_handle[] = getprocaddress_e("glTexImage2D")) + ccall(glTexImage2D_handle[], Cvoid, (GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), target, level, internalformat, width, height, border, format, type, pixels) end +const glDrawBuffer_handle = Ref{Ptr{Cvoid}}() + function glDrawBuffer(buf) - ccall(getprocaddress_e("glDrawBuffer"), Cvoid, (GLenum,), buf) + glDrawBuffer_handle[] == C_NULL && (glDrawBuffer_handle[] = getprocaddress_e("glDrawBuffer")) + ccall(glDrawBuffer_handle[], Cvoid, (GLenum,), buf) end +const glClear_handle = Ref{Ptr{Cvoid}}() + function glClear(mask) - ccall(getprocaddress_e("glClear"), Cvoid, (GLbitfield,), mask) + glClear_handle[] == C_NULL && (glClear_handle[] = getprocaddress_e("glClear")) + ccall(glClear_handle[], Cvoid, (GLbitfield,), mask) end +const glClearColor_handle = Ref{Ptr{Cvoid}}() + function glClearColor(red, green, blue, alpha) - ccall(getprocaddress_e("glClearColor"), Cvoid, (GLfloat, GLfloat, GLfloat, GLfloat), red, green, blue, alpha) + glClearColor_handle[] == C_NULL && (glClearColor_handle[] = getprocaddress_e("glClearColor")) + ccall(glClearColor_handle[], Cvoid, (GLfloat, GLfloat, GLfloat, GLfloat), red, green, blue, alpha) end +const glClearStencil_handle = Ref{Ptr{Cvoid}}() + function glClearStencil(s) - ccall(getprocaddress_e("glClearStencil"), Cvoid, (GLint,), s) + glClearStencil_handle[] == C_NULL && (glClearStencil_handle[] = getprocaddress_e("glClearStencil")) + ccall(glClearStencil_handle[], Cvoid, (GLint,), s) end +const glClearDepth_handle = Ref{Ptr{Cvoid}}() + function glClearDepth(depth) - ccall(getprocaddress_e("glClearDepth"), Cvoid, (GLdouble,), depth) + glClearDepth_handle[] == C_NULL && (glClearDepth_handle[] = getprocaddress_e("glClearDepth")) + ccall(glClearDepth_handle[], Cvoid, (GLdouble,), depth) end +const glStencilMask_handle = Ref{Ptr{Cvoid}}() + function glStencilMask(mask) - ccall(getprocaddress_e("glStencilMask"), Cvoid, (GLuint,), mask) + glStencilMask_handle[] == C_NULL && (glStencilMask_handle[] = getprocaddress_e("glStencilMask")) + ccall(glStencilMask_handle[], Cvoid, (GLuint,), mask) end +const glColorMask_handle = Ref{Ptr{Cvoid}}() + function glColorMask(red, green, blue, alpha) - ccall(getprocaddress_e("glColorMask"), Cvoid, (GLboolean, GLboolean, GLboolean, GLboolean), red, green, blue, alpha) + glColorMask_handle[] == C_NULL && (glColorMask_handle[] = getprocaddress_e("glColorMask")) + ccall(glColorMask_handle[], Cvoid, (GLboolean, GLboolean, GLboolean, GLboolean), red, green, blue, alpha) end +const glDepthMask_handle = Ref{Ptr{Cvoid}}() + function glDepthMask(flag) - ccall(getprocaddress_e("glDepthMask"), Cvoid, (GLboolean,), flag) + glDepthMask_handle[] == C_NULL && (glDepthMask_handle[] = getprocaddress_e("glDepthMask")) + ccall(glDepthMask_handle[], Cvoid, (GLboolean,), flag) end +const glDisable_handle = Ref{Ptr{Cvoid}}() + function glDisable(cap) - ccall(getprocaddress_e("glDisable"), Cvoid, (GLenum,), cap) + glDisable_handle[] == C_NULL && (glDisable_handle[] = getprocaddress_e("glDisable")) + ccall(glDisable_handle[], Cvoid, (GLenum,), cap) end +const glEnable_handle = Ref{Ptr{Cvoid}}() + function glEnable(cap) - ccall(getprocaddress_e("glEnable"), Cvoid, (GLenum,), cap) + glEnable_handle[] == C_NULL && (glEnable_handle[] = getprocaddress_e("glEnable")) + ccall(glEnable_handle[], Cvoid, (GLenum,), cap) end +const glFinish_handle = Ref{Ptr{Cvoid}}() + function glFinish() - ccall(getprocaddress_e("glFinish"), Cvoid, ()) + glFinish_handle[] == C_NULL && (glFinish_handle[] = getprocaddress_e("glFinish")) + ccall(glFinish_handle[], Cvoid, ()) end +const glFlush_handle = Ref{Ptr{Cvoid}}() + function glFlush() - ccall(getprocaddress_e("glFlush"), Cvoid, ()) + glFlush_handle[] == C_NULL && (glFlush_handle[] = getprocaddress_e("glFlush")) + ccall(glFlush_handle[], Cvoid, ()) end +const glBlendFunc_handle = Ref{Ptr{Cvoid}}() + function glBlendFunc(sfactor, dfactor) - ccall(getprocaddress_e("glBlendFunc"), Cvoid, (GLenum, GLenum), sfactor, dfactor) + glBlendFunc_handle[] == C_NULL && (glBlendFunc_handle[] = getprocaddress_e("glBlendFunc")) + ccall(glBlendFunc_handle[], Cvoid, (GLenum, GLenum), sfactor, dfactor) end +const glLogicOp_handle = Ref{Ptr{Cvoid}}() + function glLogicOp(opcode) - ccall(getprocaddress_e("glLogicOp"), Cvoid, (GLenum,), opcode) + glLogicOp_handle[] == C_NULL && (glLogicOp_handle[] = getprocaddress_e("glLogicOp")) + ccall(glLogicOp_handle[], Cvoid, (GLenum,), opcode) end +const glStencilFunc_handle = Ref{Ptr{Cvoid}}() + function glStencilFunc(func, ref, mask) - ccall(getprocaddress_e("glStencilFunc"), Cvoid, (GLenum, GLint, GLuint), func, ref, mask) + glStencilFunc_handle[] == C_NULL && (glStencilFunc_handle[] = getprocaddress_e("glStencilFunc")) + ccall(glStencilFunc_handle[], Cvoid, (GLenum, GLint, GLuint), func, ref, mask) end +const glStencilOp_handle = Ref{Ptr{Cvoid}}() + function glStencilOp(fail, zfail, zpass) - ccall(getprocaddress_e("glStencilOp"), Cvoid, (GLenum, GLenum, GLenum), fail, zfail, zpass) + glStencilOp_handle[] == C_NULL && (glStencilOp_handle[] = getprocaddress_e("glStencilOp")) + ccall(glStencilOp_handle[], Cvoid, (GLenum, GLenum, GLenum), fail, zfail, zpass) end +const glDepthFunc_handle = Ref{Ptr{Cvoid}}() + function glDepthFunc(func) - ccall(getprocaddress_e("glDepthFunc"), Cvoid, (GLenum,), func) + glDepthFunc_handle[] == C_NULL && (glDepthFunc_handle[] = getprocaddress_e("glDepthFunc")) + ccall(glDepthFunc_handle[], Cvoid, (GLenum,), func) end +const glPixelStoref_handle = Ref{Ptr{Cvoid}}() + function glPixelStoref(pname, param) - ccall(getprocaddress_e("glPixelStoref"), Cvoid, (GLenum, GLfloat), pname, param) + glPixelStoref_handle[] == C_NULL && (glPixelStoref_handle[] = getprocaddress_e("glPixelStoref")) + ccall(glPixelStoref_handle[], Cvoid, (GLenum, GLfloat), pname, param) end +const glPixelStorei_handle = Ref{Ptr{Cvoid}}() + function glPixelStorei(pname, param) - ccall(getprocaddress_e("glPixelStorei"), Cvoid, (GLenum, GLint), pname, param) + glPixelStorei_handle[] == C_NULL && (glPixelStorei_handle[] = getprocaddress_e("glPixelStorei")) + ccall(glPixelStorei_handle[], Cvoid, (GLenum, GLint), pname, param) end +const glReadBuffer_handle = Ref{Ptr{Cvoid}}() + function glReadBuffer(src) - ccall(getprocaddress_e("glReadBuffer"), Cvoid, (GLenum,), src) + glReadBuffer_handle[] == C_NULL && (glReadBuffer_handle[] = getprocaddress_e("glReadBuffer")) + ccall(glReadBuffer_handle[], Cvoid, (GLenum,), src) end +const glReadPixels_handle = Ref{Ptr{Cvoid}}() + function glReadPixels(x, y, width, height, format, type, pixels) - ccall(getprocaddress_e("glReadPixels"), Cvoid, (GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), x, y, width, height, format, type, pixels) + glReadPixels_handle[] == C_NULL && (glReadPixels_handle[] = getprocaddress_e("glReadPixels")) + ccall(glReadPixels_handle[], Cvoid, (GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), x, y, width, height, format, type, pixels) end +const glGetBooleanv_handle = Ref{Ptr{Cvoid}}() + function glGetBooleanv(pname, data) - ccall(getprocaddress_e("glGetBooleanv"), Cvoid, (GLenum, Ptr{GLboolean}), pname, data) + glGetBooleanv_handle[] == C_NULL && (glGetBooleanv_handle[] = getprocaddress_e("glGetBooleanv")) + ccall(glGetBooleanv_handle[], Cvoid, (GLenum, Ptr{GLboolean}), pname, data) end +const glGetDoublev_handle = Ref{Ptr{Cvoid}}() + function glGetDoublev(pname, data) - ccall(getprocaddress_e("glGetDoublev"), Cvoid, (GLenum, Ptr{GLdouble}), pname, data) + glGetDoublev_handle[] == C_NULL && (glGetDoublev_handle[] = getprocaddress_e("glGetDoublev")) + ccall(glGetDoublev_handle[], Cvoid, (GLenum, Ptr{GLdouble}), pname, data) end +const glGetError_handle = Ref{Ptr{Cvoid}}() + function glGetError() - ccall(getprocaddress_e("glGetError"), GLenum, ()) + glGetError_handle[] == C_NULL && (glGetError_handle[] = getprocaddress_e("glGetError")) + ccall(glGetError_handle[], GLenum, ()) end +const glGetFloatv_handle = Ref{Ptr{Cvoid}}() + function glGetFloatv(pname, data) - ccall(getprocaddress_e("glGetFloatv"), Cvoid, (GLenum, Ptr{GLfloat}), pname, data) + glGetFloatv_handle[] == C_NULL && (glGetFloatv_handle[] = getprocaddress_e("glGetFloatv")) + ccall(glGetFloatv_handle[], Cvoid, (GLenum, Ptr{GLfloat}), pname, data) end +const glGetIntegerv_handle = Ref{Ptr{Cvoid}}() + function glGetIntegerv(pname, data) - ccall(getprocaddress_e("glGetIntegerv"), Cvoid, (GLenum, Ptr{GLint}), pname, data) + glGetIntegerv_handle[] == C_NULL && (glGetIntegerv_handle[] = getprocaddress_e("glGetIntegerv")) + ccall(glGetIntegerv_handle[], Cvoid, (GLenum, Ptr{GLint}), pname, data) end +const glGetString_handle = Ref{Ptr{Cvoid}}() + function glGetString(name) - ccall(getprocaddress_e("glGetString"), Ptr{GLubyte}, (GLenum,), name) + glGetString_handle[] == C_NULL && (glGetString_handle[] = getprocaddress_e("glGetString")) + ccall(glGetString_handle[], Ptr{GLubyte}, (GLenum,), name) end +const glGetTexImage_handle = Ref{Ptr{Cvoid}}() + function glGetTexImage(target, level, format, type, pixels) - ccall(getprocaddress_e("glGetTexImage"), Cvoid, (GLenum, GLint, GLenum, GLenum, Ptr{Cvoid}), target, level, format, type, pixels) + glGetTexImage_handle[] == C_NULL && (glGetTexImage_handle[] = getprocaddress_e("glGetTexImage")) + ccall(glGetTexImage_handle[], Cvoid, (GLenum, GLint, GLenum, GLenum, Ptr{Cvoid}), target, level, format, type, pixels) end +const glGetTexParameterfv_handle = Ref{Ptr{Cvoid}}() + function glGetTexParameterfv(target, pname, params) - ccall(getprocaddress_e("glGetTexParameterfv"), Cvoid, (GLenum, GLenum, Ptr{GLfloat}), target, pname, params) + glGetTexParameterfv_handle[] == C_NULL && (glGetTexParameterfv_handle[] = getprocaddress_e("glGetTexParameterfv")) + ccall(glGetTexParameterfv_handle[], Cvoid, (GLenum, GLenum, Ptr{GLfloat}), target, pname, params) end +const glGetTexParameteriv_handle = Ref{Ptr{Cvoid}}() + function glGetTexParameteriv(target, pname, params) - ccall(getprocaddress_e("glGetTexParameteriv"), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) + glGetTexParameteriv_handle[] == C_NULL && (glGetTexParameteriv_handle[] = getprocaddress_e("glGetTexParameteriv")) + ccall(glGetTexParameteriv_handle[], Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) end +const glGetTexLevelParameterfv_handle = Ref{Ptr{Cvoid}}() + function glGetTexLevelParameterfv(target, level, pname, params) - ccall(getprocaddress_e("glGetTexLevelParameterfv"), Cvoid, (GLenum, GLint, GLenum, Ptr{GLfloat}), target, level, pname, params) + glGetTexLevelParameterfv_handle[] == C_NULL && (glGetTexLevelParameterfv_handle[] = getprocaddress_e("glGetTexLevelParameterfv")) + ccall(glGetTexLevelParameterfv_handle[], Cvoid, (GLenum, GLint, GLenum, Ptr{GLfloat}), target, level, pname, params) end +const glGetTexLevelParameteriv_handle = Ref{Ptr{Cvoid}}() + function glGetTexLevelParameteriv(target, level, pname, params) - ccall(getprocaddress_e("glGetTexLevelParameteriv"), Cvoid, (GLenum, GLint, GLenum, Ptr{GLint}), target, level, pname, params) + glGetTexLevelParameteriv_handle[] == C_NULL && (glGetTexLevelParameteriv_handle[] = getprocaddress_e("glGetTexLevelParameteriv")) + ccall(glGetTexLevelParameteriv_handle[], Cvoid, (GLenum, GLint, GLenum, Ptr{GLint}), target, level, pname, params) end +const glIsEnabled_handle = Ref{Ptr{Cvoid}}() + function glIsEnabled(cap) - ccall(getprocaddress_e("glIsEnabled"), GLboolean, (GLenum,), cap) + glIsEnabled_handle[] == C_NULL && (glIsEnabled_handle[] = getprocaddress_e("glIsEnabled")) + ccall(glIsEnabled_handle[], GLboolean, (GLenum,), cap) end +const glDepthRange_handle = Ref{Ptr{Cvoid}}() + function glDepthRange(n, f) - ccall(getprocaddress_e("glDepthRange"), Cvoid, (GLdouble, GLdouble), n, f) + glDepthRange_handle[] == C_NULL && (glDepthRange_handle[] = getprocaddress_e("glDepthRange")) + ccall(glDepthRange_handle[], Cvoid, (GLdouble, GLdouble), n, f) end +const glViewport_handle = Ref{Ptr{Cvoid}}() + function glViewport(x, y, width, height) - ccall(getprocaddress_e("glViewport"), Cvoid, (GLint, GLint, GLsizei, GLsizei), x, y, width, height) + glViewport_handle[] == C_NULL && (glViewport_handle[] = getprocaddress_e("glViewport")) + ccall(glViewport_handle[], Cvoid, (GLint, GLint, GLsizei, GLsizei), x, y, width, height) end const GLclampf = khronos_float_t @@ -438,60 +582,102 @@ const PFNGLGENTEXTURESPROC = Ptr{Cvoid} # typedef GLboolean ( APIENTRYP PFNGLISTEXTUREPROC ) ( GLuint texture ) const PFNGLISTEXTUREPROC = Ptr{Cvoid} +const glDrawArrays_handle = Ref{Ptr{Cvoid}}() + function glDrawArrays(mode, first, count) - ccall(getprocaddress_e("glDrawArrays"), Cvoid, (GLenum, GLint, GLsizei), mode, first, count) + glDrawArrays_handle[] == C_NULL && (glDrawArrays_handle[] = getprocaddress_e("glDrawArrays")) + ccall(glDrawArrays_handle[], Cvoid, (GLenum, GLint, GLsizei), mode, first, count) end +const glDrawElements_handle = Ref{Ptr{Cvoid}}() + function glDrawElements(mode, count, type, indices) - ccall(getprocaddress_e("glDrawElements"), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}), mode, count, type, indices) + glDrawElements_handle[] == C_NULL && (glDrawElements_handle[] = getprocaddress_e("glDrawElements")) + ccall(glDrawElements_handle[], Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}), mode, count, type, indices) end +const glGetPointerv_handle = Ref{Ptr{Cvoid}}() + function glGetPointerv(pname, params) - ccall(getprocaddress_e("glGetPointerv"), Cvoid, (GLenum, Ptr{Ptr{Cvoid}}), pname, params) + glGetPointerv_handle[] == C_NULL && (glGetPointerv_handle[] = getprocaddress_e("glGetPointerv")) + ccall(glGetPointerv_handle[], Cvoid, (GLenum, Ptr{Ptr{Cvoid}}), pname, params) end +const glPolygonOffset_handle = Ref{Ptr{Cvoid}}() + function glPolygonOffset(factor, units) - ccall(getprocaddress_e("glPolygonOffset"), Cvoid, (GLfloat, GLfloat), factor, units) + glPolygonOffset_handle[] == C_NULL && (glPolygonOffset_handle[] = getprocaddress_e("glPolygonOffset")) + ccall(glPolygonOffset_handle[], Cvoid, (GLfloat, GLfloat), factor, units) end +const glCopyTexImage1D_handle = Ref{Ptr{Cvoid}}() + function glCopyTexImage1D(target, level, internalformat, x, y, width, border) - ccall(getprocaddress_e("glCopyTexImage1D"), Cvoid, (GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint), target, level, internalformat, x, y, width, border) + glCopyTexImage1D_handle[] == C_NULL && (glCopyTexImage1D_handle[] = getprocaddress_e("glCopyTexImage1D")) + ccall(glCopyTexImage1D_handle[], Cvoid, (GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint), target, level, internalformat, x, y, width, border) end +const glCopyTexImage2D_handle = Ref{Ptr{Cvoid}}() + function glCopyTexImage2D(target, level, internalformat, x, y, width, height, border) - ccall(getprocaddress_e("glCopyTexImage2D"), Cvoid, (GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint), target, level, internalformat, x, y, width, height, border) + glCopyTexImage2D_handle[] == C_NULL && (glCopyTexImage2D_handle[] = getprocaddress_e("glCopyTexImage2D")) + ccall(glCopyTexImage2D_handle[], Cvoid, (GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint), target, level, internalformat, x, y, width, height, border) end +const glCopyTexSubImage1D_handle = Ref{Ptr{Cvoid}}() + function glCopyTexSubImage1D(target, level, xoffset, x, y, width) - ccall(getprocaddress_e("glCopyTexSubImage1D"), Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLsizei), target, level, xoffset, x, y, width) + glCopyTexSubImage1D_handle[] == C_NULL && (glCopyTexSubImage1D_handle[] = getprocaddress_e("glCopyTexSubImage1D")) + ccall(glCopyTexSubImage1D_handle[], Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLsizei), target, level, xoffset, x, y, width) end +const glCopyTexSubImage2D_handle = Ref{Ptr{Cvoid}}() + function glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height) - ccall(getprocaddress_e("glCopyTexSubImage2D"), Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), target, level, xoffset, yoffset, x, y, width, height) + glCopyTexSubImage2D_handle[] == C_NULL && (glCopyTexSubImage2D_handle[] = getprocaddress_e("glCopyTexSubImage2D")) + ccall(glCopyTexSubImage2D_handle[], Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), target, level, xoffset, yoffset, x, y, width, height) end +const glTexSubImage1D_handle = Ref{Ptr{Cvoid}}() + function glTexSubImage1D(target, level, xoffset, width, format, type, pixels) - ccall(getprocaddress_e("glTexSubImage1D"), Cvoid, (GLenum, GLint, GLint, GLsizei, GLenum, GLenum, Ptr{Cvoid}), target, level, xoffset, width, format, type, pixels) + glTexSubImage1D_handle[] == C_NULL && (glTexSubImage1D_handle[] = getprocaddress_e("glTexSubImage1D")) + ccall(glTexSubImage1D_handle[], Cvoid, (GLenum, GLint, GLint, GLsizei, GLenum, GLenum, Ptr{Cvoid}), target, level, xoffset, width, format, type, pixels) end +const glTexSubImage2D_handle = Ref{Ptr{Cvoid}}() + function glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) - ccall(getprocaddress_e("glTexSubImage2D"), Cvoid, (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), target, level, xoffset, yoffset, width, height, format, type, pixels) + glTexSubImage2D_handle[] == C_NULL && (glTexSubImage2D_handle[] = getprocaddress_e("glTexSubImage2D")) + ccall(glTexSubImage2D_handle[], Cvoid, (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), target, level, xoffset, yoffset, width, height, format, type, pixels) end +const glBindTexture_handle = Ref{Ptr{Cvoid}}() + function glBindTexture(target, texture) - ccall(getprocaddress_e("glBindTexture"), Cvoid, (GLenum, GLuint), target, texture) + glBindTexture_handle[] == C_NULL && (glBindTexture_handle[] = getprocaddress_e("glBindTexture")) + ccall(glBindTexture_handle[], Cvoid, (GLenum, GLuint), target, texture) end +const glDeleteTextures_handle = Ref{Ptr{Cvoid}}() + function glDeleteTextures(n, textures) - ccall(getprocaddress_e("glDeleteTextures"), Cvoid, (GLsizei, Ptr{GLuint}), n, textures) + glDeleteTextures_handle[] == C_NULL && (glDeleteTextures_handle[] = getprocaddress_e("glDeleteTextures")) + ccall(glDeleteTextures_handle[], Cvoid, (GLsizei, Ptr{GLuint}), n, textures) end +const glGenTextures_handle = Ref{Ptr{Cvoid}}() + function glGenTextures(n, textures) - ccall(getprocaddress_e("glGenTextures"), Cvoid, (GLsizei, Ptr{GLuint}), n, textures) + glGenTextures_handle[] == C_NULL && (glGenTextures_handle[] = getprocaddress_e("glGenTextures")) + ccall(glGenTextures_handle[], Cvoid, (GLsizei, Ptr{GLuint}), n, textures) end +const glIsTexture_handle = Ref{Ptr{Cvoid}}() + function glIsTexture(texture) - ccall(getprocaddress_e("glIsTexture"), GLboolean, (GLuint,), texture) + glIsTexture_handle[] == C_NULL && (glIsTexture_handle[] = getprocaddress_e("glIsTexture")) + ccall(glIsTexture_handle[], GLboolean, (GLuint,), texture) end # typedef void ( APIENTRYP PFNGLDRAWRANGEELEMENTSPROC ) ( GLenum mode , GLuint start , GLuint end , GLsizei count , GLenum type , const void * indices ) @@ -506,20 +692,32 @@ const PFNGLTEXSUBIMAGE3DPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC ) ( GLenum target , GLint level , GLint xoffset , GLint yoffset , GLint zoffset , GLint x , GLint y , GLsizei width , GLsizei height ) const PFNGLCOPYTEXSUBIMAGE3DPROC = Ptr{Cvoid} +const glDrawRangeElements_handle = Ref{Ptr{Cvoid}}() + function glDrawRangeElements(mode, start, _end, count, type, indices) - ccall(getprocaddress_e("glDrawRangeElements"), Cvoid, (GLenum, GLuint, GLuint, GLsizei, GLenum, Ptr{Cvoid}), mode, start, _end, count, type, indices) + glDrawRangeElements_handle[] == C_NULL && (glDrawRangeElements_handle[] = getprocaddress_e("glDrawRangeElements")) + ccall(glDrawRangeElements_handle[], Cvoid, (GLenum, GLuint, GLuint, GLsizei, GLenum, Ptr{Cvoid}), mode, start, _end, count, type, indices) end +const glTexImage3D_handle = Ref{Ptr{Cvoid}}() + function glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels) - ccall(getprocaddress_e("glTexImage3D"), Cvoid, (GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), target, level, internalformat, width, height, depth, border, format, type, pixels) + glTexImage3D_handle[] == C_NULL && (glTexImage3D_handle[] = getprocaddress_e("glTexImage3D")) + ccall(glTexImage3D_handle[], Cvoid, (GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), target, level, internalformat, width, height, depth, border, format, type, pixels) end +const glTexSubImage3D_handle = Ref{Ptr{Cvoid}}() + function glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) - ccall(getprocaddress_e("glTexSubImage3D"), Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) + glTexSubImage3D_handle[] == C_NULL && (glTexSubImage3D_handle[] = getprocaddress_e("glTexSubImage3D")) + ccall(glTexSubImage3D_handle[], Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) end +const glCopyTexSubImage3D_handle = Ref{Ptr{Cvoid}}() + function glCopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height) - ccall(getprocaddress_e("glCopyTexSubImage3D"), Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), target, level, xoffset, yoffset, zoffset, x, y, width, height) + glCopyTexSubImage3D_handle[] == C_NULL && (glCopyTexSubImage3D_handle[] = getprocaddress_e("glCopyTexSubImage3D")) + ccall(glCopyTexSubImage3D_handle[], Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), target, level, xoffset, yoffset, zoffset, x, y, width, height) end # typedef void ( APIENTRYP PFNGLACTIVETEXTUREPROC ) ( GLenum texture ) @@ -549,40 +747,67 @@ const PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC ) ( GLenum target , GLint level , void * img ) const PFNGLGETCOMPRESSEDTEXIMAGEPROC = Ptr{Cvoid} +const glActiveTexture_handle = Ref{Ptr{Cvoid}}() + function glActiveTexture(texture) - ccall(getprocaddress_e("glActiveTexture"), Cvoid, (GLenum,), texture) + glActiveTexture_handle[] == C_NULL && (glActiveTexture_handle[] = getprocaddress_e("glActiveTexture")) + ccall(glActiveTexture_handle[], Cvoid, (GLenum,), texture) end +const glSampleCoverage_handle = Ref{Ptr{Cvoid}}() + function glSampleCoverage(value, invert) - ccall(getprocaddress_e("glSampleCoverage"), Cvoid, (GLfloat, GLboolean), value, invert) + glSampleCoverage_handle[] == C_NULL && (glSampleCoverage_handle[] = getprocaddress_e("glSampleCoverage")) + ccall(glSampleCoverage_handle[], Cvoid, (GLfloat, GLboolean), value, invert) end +const glCompressedTexImage3D_handle = Ref{Ptr{Cvoid}}() + function glCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data) - ccall(getprocaddress_e("glCompressedTexImage3D"), Cvoid, (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, Ptr{Cvoid}), target, level, internalformat, width, height, depth, border, imageSize, data) + glCompressedTexImage3D_handle[] == C_NULL && (glCompressedTexImage3D_handle[] = getprocaddress_e("glCompressedTexImage3D")) + ccall(glCompressedTexImage3D_handle[], Cvoid, (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, Ptr{Cvoid}), target, level, internalformat, width, height, depth, border, imageSize, data) end +const glCompressedTexImage2D_handle = Ref{Ptr{Cvoid}}() + function glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data) - ccall(getprocaddress_e("glCompressedTexImage2D"), Cvoid, (GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, Ptr{Cvoid}), target, level, internalformat, width, height, border, imageSize, data) + glCompressedTexImage2D_handle[] == C_NULL && (glCompressedTexImage2D_handle[] = getprocaddress_e("glCompressedTexImage2D")) + ccall(glCompressedTexImage2D_handle[], Cvoid, (GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, Ptr{Cvoid}), target, level, internalformat, width, height, border, imageSize, data) end +const glCompressedTexImage1D_handle = Ref{Ptr{Cvoid}}() + function glCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data) - ccall(getprocaddress_e("glCompressedTexImage1D"), Cvoid, (GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, Ptr{Cvoid}), target, level, internalformat, width, border, imageSize, data) + glCompressedTexImage1D_handle[] == C_NULL && (glCompressedTexImage1D_handle[] = getprocaddress_e("glCompressedTexImage1D")) + ccall(glCompressedTexImage1D_handle[], Cvoid, (GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, Ptr{Cvoid}), target, level, internalformat, width, border, imageSize, data) end +const glCompressedTexSubImage3D_handle = Ref{Ptr{Cvoid}}() + function glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data) - ccall(getprocaddress_e("glCompressedTexSubImage3D"), Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data) + glCompressedTexSubImage3D_handle[] == C_NULL && (glCompressedTexSubImage3D_handle[] = getprocaddress_e("glCompressedTexSubImage3D")) + ccall(glCompressedTexSubImage3D_handle[], Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data) end +const glCompressedTexSubImage2D_handle = Ref{Ptr{Cvoid}}() + function glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) - ccall(getprocaddress_e("glCompressedTexSubImage2D"), Cvoid, (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), target, level, xoffset, yoffset, width, height, format, imageSize, data) + glCompressedTexSubImage2D_handle[] == C_NULL && (glCompressedTexSubImage2D_handle[] = getprocaddress_e("glCompressedTexSubImage2D")) + ccall(glCompressedTexSubImage2D_handle[], Cvoid, (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), target, level, xoffset, yoffset, width, height, format, imageSize, data) end +const glCompressedTexSubImage1D_handle = Ref{Ptr{Cvoid}}() + function glCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data) - ccall(getprocaddress_e("glCompressedTexSubImage1D"), Cvoid, (GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), target, level, xoffset, width, format, imageSize, data) + glCompressedTexSubImage1D_handle[] == C_NULL && (glCompressedTexSubImage1D_handle[] = getprocaddress_e("glCompressedTexSubImage1D")) + ccall(glCompressedTexSubImage1D_handle[], Cvoid, (GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), target, level, xoffset, width, format, imageSize, data) end +const glGetCompressedTexImage_handle = Ref{Ptr{Cvoid}}() + function glGetCompressedTexImage(target, level, img) - ccall(getprocaddress_e("glGetCompressedTexImage"), Cvoid, (GLenum, GLint, Ptr{Cvoid}), target, level, img) + glGetCompressedTexImage_handle[] == C_NULL && (glGetCompressedTexImage_handle[] = getprocaddress_e("glGetCompressedTexImage")) + ccall(glGetCompressedTexImage_handle[], Cvoid, (GLenum, GLint, Ptr{Cvoid}), target, level, img) end # typedef void ( APIENTRYP PFNGLBLENDFUNCSEPARATEPROC ) ( GLenum sfactorRGB , GLenum dfactorRGB , GLenum sfactorAlpha , GLenum dfactorAlpha ) @@ -612,40 +837,67 @@ const PFNGLBLENDCOLORPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLBLENDEQUATIONPROC ) ( GLenum mode ) const PFNGLBLENDEQUATIONPROC = Ptr{Cvoid} +const glBlendFuncSeparate_handle = Ref{Ptr{Cvoid}}() + function glBlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha) - ccall(getprocaddress_e("glBlendFuncSeparate"), Cvoid, (GLenum, GLenum, GLenum, GLenum), sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha) + glBlendFuncSeparate_handle[] == C_NULL && (glBlendFuncSeparate_handle[] = getprocaddress_e("glBlendFuncSeparate")) + ccall(glBlendFuncSeparate_handle[], Cvoid, (GLenum, GLenum, GLenum, GLenum), sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha) end +const glMultiDrawArrays_handle = Ref{Ptr{Cvoid}}() + function glMultiDrawArrays(mode, first, count, drawcount) - ccall(getprocaddress_e("glMultiDrawArrays"), Cvoid, (GLenum, Ptr{GLint}, Ptr{GLsizei}, GLsizei), mode, first, count, drawcount) + glMultiDrawArrays_handle[] == C_NULL && (glMultiDrawArrays_handle[] = getprocaddress_e("glMultiDrawArrays")) + ccall(glMultiDrawArrays_handle[], Cvoid, (GLenum, Ptr{GLint}, Ptr{GLsizei}, GLsizei), mode, first, count, drawcount) end +const glMultiDrawElements_handle = Ref{Ptr{Cvoid}}() + function glMultiDrawElements(mode, count, type, indices, drawcount) - ccall(getprocaddress_e("glMultiDrawElements"), Cvoid, (GLenum, Ptr{GLsizei}, GLenum, Ptr{Ptr{Cvoid}}, GLsizei), mode, count, type, indices, drawcount) + glMultiDrawElements_handle[] == C_NULL && (glMultiDrawElements_handle[] = getprocaddress_e("glMultiDrawElements")) + ccall(glMultiDrawElements_handle[], Cvoid, (GLenum, Ptr{GLsizei}, GLenum, Ptr{Ptr{Cvoid}}, GLsizei), mode, count, type, indices, drawcount) end +const glPointParameterf_handle = Ref{Ptr{Cvoid}}() + function glPointParameterf(pname, param) - ccall(getprocaddress_e("glPointParameterf"), Cvoid, (GLenum, GLfloat), pname, param) + glPointParameterf_handle[] == C_NULL && (glPointParameterf_handle[] = getprocaddress_e("glPointParameterf")) + ccall(glPointParameterf_handle[], Cvoid, (GLenum, GLfloat), pname, param) end +const glPointParameterfv_handle = Ref{Ptr{Cvoid}}() + function glPointParameterfv(pname, params) - ccall(getprocaddress_e("glPointParameterfv"), Cvoid, (GLenum, Ptr{GLfloat}), pname, params) + glPointParameterfv_handle[] == C_NULL && (glPointParameterfv_handle[] = getprocaddress_e("glPointParameterfv")) + ccall(glPointParameterfv_handle[], Cvoid, (GLenum, Ptr{GLfloat}), pname, params) end +const glPointParameteri_handle = Ref{Ptr{Cvoid}}() + function glPointParameteri(pname, param) - ccall(getprocaddress_e("glPointParameteri"), Cvoid, (GLenum, GLint), pname, param) + glPointParameteri_handle[] == C_NULL && (glPointParameteri_handle[] = getprocaddress_e("glPointParameteri")) + ccall(glPointParameteri_handle[], Cvoid, (GLenum, GLint), pname, param) end +const glPointParameteriv_handle = Ref{Ptr{Cvoid}}() + function glPointParameteriv(pname, params) - ccall(getprocaddress_e("glPointParameteriv"), Cvoid, (GLenum, Ptr{GLint}), pname, params) + glPointParameteriv_handle[] == C_NULL && (glPointParameteriv_handle[] = getprocaddress_e("glPointParameteriv")) + ccall(glPointParameteriv_handle[], Cvoid, (GLenum, Ptr{GLint}), pname, params) end +const glBlendColor_handle = Ref{Ptr{Cvoid}}() + function glBlendColor(red, green, blue, alpha) - ccall(getprocaddress_e("glBlendColor"), Cvoid, (GLfloat, GLfloat, GLfloat, GLfloat), red, green, blue, alpha) + glBlendColor_handle[] == C_NULL && (glBlendColor_handle[] = getprocaddress_e("glBlendColor")) + ccall(glBlendColor_handle[], Cvoid, (GLfloat, GLfloat, GLfloat, GLfloat), red, green, blue, alpha) end +const glBlendEquation_handle = Ref{Ptr{Cvoid}}() + function glBlendEquation(mode) - ccall(getprocaddress_e("glBlendEquation"), Cvoid, (GLenum,), mode) + glBlendEquation_handle[] == C_NULL && (glBlendEquation_handle[] = getprocaddress_e("glBlendEquation")) + ccall(glBlendEquation_handle[], Cvoid, (GLenum,), mode) end const GLsizeiptr = khronos_ssize_t @@ -709,80 +961,137 @@ const PFNGLGETBUFFERPARAMETERIVPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLGETBUFFERPOINTERVPROC ) ( GLenum target , GLenum pname , void * * params ) const PFNGLGETBUFFERPOINTERVPROC = Ptr{Cvoid} +const glGenQueries_handle = Ref{Ptr{Cvoid}}() + function glGenQueries(n, ids) - ccall(getprocaddress_e("glGenQueries"), Cvoid, (GLsizei, Ptr{GLuint}), n, ids) + glGenQueries_handle[] == C_NULL && (glGenQueries_handle[] = getprocaddress_e("glGenQueries")) + ccall(glGenQueries_handle[], Cvoid, (GLsizei, Ptr{GLuint}), n, ids) end +const glDeleteQueries_handle = Ref{Ptr{Cvoid}}() + function glDeleteQueries(n, ids) - ccall(getprocaddress_e("glDeleteQueries"), Cvoid, (GLsizei, Ptr{GLuint}), n, ids) + glDeleteQueries_handle[] == C_NULL && (glDeleteQueries_handle[] = getprocaddress_e("glDeleteQueries")) + ccall(glDeleteQueries_handle[], Cvoid, (GLsizei, Ptr{GLuint}), n, ids) end +const glIsQuery_handle = Ref{Ptr{Cvoid}}() + function glIsQuery(id) - ccall(getprocaddress_e("glIsQuery"), GLboolean, (GLuint,), id) + glIsQuery_handle[] == C_NULL && (glIsQuery_handle[] = getprocaddress_e("glIsQuery")) + ccall(glIsQuery_handle[], GLboolean, (GLuint,), id) end +const glBeginQuery_handle = Ref{Ptr{Cvoid}}() + function glBeginQuery(target, id) - ccall(getprocaddress_e("glBeginQuery"), Cvoid, (GLenum, GLuint), target, id) + glBeginQuery_handle[] == C_NULL && (glBeginQuery_handle[] = getprocaddress_e("glBeginQuery")) + ccall(glBeginQuery_handle[], Cvoid, (GLenum, GLuint), target, id) end +const glEndQuery_handle = Ref{Ptr{Cvoid}}() + function glEndQuery(target) - ccall(getprocaddress_e("glEndQuery"), Cvoid, (GLenum,), target) + glEndQuery_handle[] == C_NULL && (glEndQuery_handle[] = getprocaddress_e("glEndQuery")) + ccall(glEndQuery_handle[], Cvoid, (GLenum,), target) end +const glGetQueryiv_handle = Ref{Ptr{Cvoid}}() + function glGetQueryiv(target, pname, params) - ccall(getprocaddress_e("glGetQueryiv"), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) + glGetQueryiv_handle[] == C_NULL && (glGetQueryiv_handle[] = getprocaddress_e("glGetQueryiv")) + ccall(glGetQueryiv_handle[], Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) end +const glGetQueryObjectiv_handle = Ref{Ptr{Cvoid}}() + function glGetQueryObjectiv(id, pname, params) - ccall(getprocaddress_e("glGetQueryObjectiv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), id, pname, params) + glGetQueryObjectiv_handle[] == C_NULL && (glGetQueryObjectiv_handle[] = getprocaddress_e("glGetQueryObjectiv")) + ccall(glGetQueryObjectiv_handle[], Cvoid, (GLuint, GLenum, Ptr{GLint}), id, pname, params) end +const glGetQueryObjectuiv_handle = Ref{Ptr{Cvoid}}() + function glGetQueryObjectuiv(id, pname, params) - ccall(getprocaddress_e("glGetQueryObjectuiv"), Cvoid, (GLuint, GLenum, Ptr{GLuint}), id, pname, params) + glGetQueryObjectuiv_handle[] == C_NULL && (glGetQueryObjectuiv_handle[] = getprocaddress_e("glGetQueryObjectuiv")) + ccall(glGetQueryObjectuiv_handle[], Cvoid, (GLuint, GLenum, Ptr{GLuint}), id, pname, params) end +const glBindBuffer_handle = Ref{Ptr{Cvoid}}() + function glBindBuffer(target, buffer) - ccall(getprocaddress_e("glBindBuffer"), Cvoid, (GLenum, GLuint), target, buffer) + glBindBuffer_handle[] == C_NULL && (glBindBuffer_handle[] = getprocaddress_e("glBindBuffer")) + ccall(glBindBuffer_handle[], Cvoid, (GLenum, GLuint), target, buffer) end +const glDeleteBuffers_handle = Ref{Ptr{Cvoid}}() + function glDeleteBuffers(n, buffers) - ccall(getprocaddress_e("glDeleteBuffers"), Cvoid, (GLsizei, Ptr{GLuint}), n, buffers) + glDeleteBuffers_handle[] == C_NULL && (glDeleteBuffers_handle[] = getprocaddress_e("glDeleteBuffers")) + ccall(glDeleteBuffers_handle[], Cvoid, (GLsizei, Ptr{GLuint}), n, buffers) end +const glGenBuffers_handle = Ref{Ptr{Cvoid}}() + function glGenBuffers(n, buffers) - ccall(getprocaddress_e("glGenBuffers"), Cvoid, (GLsizei, Ptr{GLuint}), n, buffers) + glGenBuffers_handle[] == C_NULL && (glGenBuffers_handle[] = getprocaddress_e("glGenBuffers")) + ccall(glGenBuffers_handle[], Cvoid, (GLsizei, Ptr{GLuint}), n, buffers) end +const glIsBuffer_handle = Ref{Ptr{Cvoid}}() + function glIsBuffer(buffer) - ccall(getprocaddress_e("glIsBuffer"), GLboolean, (GLuint,), buffer) + glIsBuffer_handle[] == C_NULL && (glIsBuffer_handle[] = getprocaddress_e("glIsBuffer")) + ccall(glIsBuffer_handle[], GLboolean, (GLuint,), buffer) end +const glBufferData_handle = Ref{Ptr{Cvoid}}() + function glBufferData(target, size, data, usage) - ccall(getprocaddress_e("glBufferData"), Cvoid, (GLenum, GLsizeiptr, Ptr{Cvoid}, GLenum), target, size, data, usage) + glBufferData_handle[] == C_NULL && (glBufferData_handle[] = getprocaddress_e("glBufferData")) + ccall(glBufferData_handle[], Cvoid, (GLenum, GLsizeiptr, Ptr{Cvoid}, GLenum), target, size, data, usage) end +const glBufferSubData_handle = Ref{Ptr{Cvoid}}() + function glBufferSubData(target, offset, size, data) - ccall(getprocaddress_e("glBufferSubData"), Cvoid, (GLenum, GLintptr, GLsizeiptr, Ptr{Cvoid}), target, offset, size, data) + glBufferSubData_handle[] == C_NULL && (glBufferSubData_handle[] = getprocaddress_e("glBufferSubData")) + ccall(glBufferSubData_handle[], Cvoid, (GLenum, GLintptr, GLsizeiptr, Ptr{Cvoid}), target, offset, size, data) end +const glGetBufferSubData_handle = Ref{Ptr{Cvoid}}() + function glGetBufferSubData(target, offset, size, data) - ccall(getprocaddress_e("glGetBufferSubData"), Cvoid, (GLenum, GLintptr, GLsizeiptr, Ptr{Cvoid}), target, offset, size, data) + glGetBufferSubData_handle[] == C_NULL && (glGetBufferSubData_handle[] = getprocaddress_e("glGetBufferSubData")) + ccall(glGetBufferSubData_handle[], Cvoid, (GLenum, GLintptr, GLsizeiptr, Ptr{Cvoid}), target, offset, size, data) end +const glMapBuffer_handle = Ref{Ptr{Cvoid}}() + function glMapBuffer(target, access) - ccall(getprocaddress_e("glMapBuffer"), Ptr{Cvoid}, (GLenum, GLenum), target, access) + glMapBuffer_handle[] == C_NULL && (glMapBuffer_handle[] = getprocaddress_e("glMapBuffer")) + ccall(glMapBuffer_handle[], Ptr{Cvoid}, (GLenum, GLenum), target, access) end +const glUnmapBuffer_handle = Ref{Ptr{Cvoid}}() + function glUnmapBuffer(target) - ccall(getprocaddress_e("glUnmapBuffer"), GLboolean, (GLenum,), target) + glUnmapBuffer_handle[] == C_NULL && (glUnmapBuffer_handle[] = getprocaddress_e("glUnmapBuffer")) + ccall(glUnmapBuffer_handle[], GLboolean, (GLenum,), target) end +const glGetBufferParameteriv_handle = Ref{Ptr{Cvoid}}() + function glGetBufferParameteriv(target, pname, params) - ccall(getprocaddress_e("glGetBufferParameteriv"), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) + glGetBufferParameteriv_handle[] == C_NULL && (glGetBufferParameteriv_handle[] = getprocaddress_e("glGetBufferParameteriv")) + ccall(glGetBufferParameteriv_handle[], Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) end +const glGetBufferPointerv_handle = Ref{Ptr{Cvoid}}() + function glGetBufferPointerv(target, pname, params) - ccall(getprocaddress_e("glGetBufferPointerv"), Cvoid, (GLenum, GLenum, Ptr{Ptr{Cvoid}}), target, pname, params) + glGetBufferPointerv_handle[] == C_NULL && (glGetBufferPointerv_handle[] = getprocaddress_e("glGetBufferPointerv")) + ccall(glGetBufferPointerv_handle[], Cvoid, (GLenum, GLenum, Ptr{Ptr{Cvoid}}), target, pname, params) end const GLchar = Cchar @@ -1072,376 +1381,655 @@ const PFNGLVERTEXATTRIB4USVPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC ) ( GLuint index , GLint size , GLenum type , GLboolean normalized , GLsizei stride , const void * pointer ) const PFNGLVERTEXATTRIBPOINTERPROC = Ptr{Cvoid} +const glBlendEquationSeparate_handle = Ref{Ptr{Cvoid}}() + function glBlendEquationSeparate(modeRGB, modeAlpha) - ccall(getprocaddress_e("glBlendEquationSeparate"), Cvoid, (GLenum, GLenum), modeRGB, modeAlpha) + glBlendEquationSeparate_handle[] == C_NULL && (glBlendEquationSeparate_handle[] = getprocaddress_e("glBlendEquationSeparate")) + ccall(glBlendEquationSeparate_handle[], Cvoid, (GLenum, GLenum), modeRGB, modeAlpha) end +const glDrawBuffers_handle = Ref{Ptr{Cvoid}}() + function glDrawBuffers(n, bufs) - ccall(getprocaddress_e("glDrawBuffers"), Cvoid, (GLsizei, Ptr{GLenum}), n, bufs) + glDrawBuffers_handle[] == C_NULL && (glDrawBuffers_handle[] = getprocaddress_e("glDrawBuffers")) + ccall(glDrawBuffers_handle[], Cvoid, (GLsizei, Ptr{GLenum}), n, bufs) end +const glStencilOpSeparate_handle = Ref{Ptr{Cvoid}}() + function glStencilOpSeparate(face, sfail, dpfail, dppass) - ccall(getprocaddress_e("glStencilOpSeparate"), Cvoid, (GLenum, GLenum, GLenum, GLenum), face, sfail, dpfail, dppass) + glStencilOpSeparate_handle[] == C_NULL && (glStencilOpSeparate_handle[] = getprocaddress_e("glStencilOpSeparate")) + ccall(glStencilOpSeparate_handle[], Cvoid, (GLenum, GLenum, GLenum, GLenum), face, sfail, dpfail, dppass) end +const glStencilFuncSeparate_handle = Ref{Ptr{Cvoid}}() + function glStencilFuncSeparate(face, func, ref, mask) - ccall(getprocaddress_e("glStencilFuncSeparate"), Cvoid, (GLenum, GLenum, GLint, GLuint), face, func, ref, mask) + glStencilFuncSeparate_handle[] == C_NULL && (glStencilFuncSeparate_handle[] = getprocaddress_e("glStencilFuncSeparate")) + ccall(glStencilFuncSeparate_handle[], Cvoid, (GLenum, GLenum, GLint, GLuint), face, func, ref, mask) end +const glStencilMaskSeparate_handle = Ref{Ptr{Cvoid}}() + function glStencilMaskSeparate(face, mask) - ccall(getprocaddress_e("glStencilMaskSeparate"), Cvoid, (GLenum, GLuint), face, mask) + glStencilMaskSeparate_handle[] == C_NULL && (glStencilMaskSeparate_handle[] = getprocaddress_e("glStencilMaskSeparate")) + ccall(glStencilMaskSeparate_handle[], Cvoid, (GLenum, GLuint), face, mask) end +const glAttachShader_handle = Ref{Ptr{Cvoid}}() + function glAttachShader(program, shader) - ccall(getprocaddress_e("glAttachShader"), Cvoid, (GLuint, GLuint), program, shader) + glAttachShader_handle[] == C_NULL && (glAttachShader_handle[] = getprocaddress_e("glAttachShader")) + ccall(glAttachShader_handle[], Cvoid, (GLuint, GLuint), program, shader) end +const glBindAttribLocation_handle = Ref{Ptr{Cvoid}}() + function glBindAttribLocation(program, index, name) - ccall(getprocaddress_e("glBindAttribLocation"), Cvoid, (GLuint, GLuint, Ptr{GLchar}), program, index, name) + glBindAttribLocation_handle[] == C_NULL && (glBindAttribLocation_handle[] = getprocaddress_e("glBindAttribLocation")) + ccall(glBindAttribLocation_handle[], Cvoid, (GLuint, GLuint, Ptr{GLchar}), program, index, name) end +const glCompileShader_handle = Ref{Ptr{Cvoid}}() + function glCompileShader(shader) - ccall(getprocaddress_e("glCompileShader"), Cvoid, (GLuint,), shader) + glCompileShader_handle[] == C_NULL && (glCompileShader_handle[] = getprocaddress_e("glCompileShader")) + ccall(glCompileShader_handle[], Cvoid, (GLuint,), shader) end +const glCreateProgram_handle = Ref{Ptr{Cvoid}}() + function glCreateProgram() - ccall(getprocaddress_e("glCreateProgram"), GLuint, ()) + glCreateProgram_handle[] == C_NULL && (glCreateProgram_handle[] = getprocaddress_e("glCreateProgram")) + ccall(glCreateProgram_handle[], GLuint, ()) end +const glCreateShader_handle = Ref{Ptr{Cvoid}}() + function glCreateShader(type) - ccall(getprocaddress_e("glCreateShader"), GLuint, (GLenum,), type) + glCreateShader_handle[] == C_NULL && (glCreateShader_handle[] = getprocaddress_e("glCreateShader")) + ccall(glCreateShader_handle[], GLuint, (GLenum,), type) end +const glDeleteProgram_handle = Ref{Ptr{Cvoid}}() + function glDeleteProgram(program) - ccall(getprocaddress_e("glDeleteProgram"), Cvoid, (GLuint,), program) + glDeleteProgram_handle[] == C_NULL && (glDeleteProgram_handle[] = getprocaddress_e("glDeleteProgram")) + ccall(glDeleteProgram_handle[], Cvoid, (GLuint,), program) end +const glDeleteShader_handle = Ref{Ptr{Cvoid}}() + function glDeleteShader(shader) - ccall(getprocaddress_e("glDeleteShader"), Cvoid, (GLuint,), shader) + glDeleteShader_handle[] == C_NULL && (glDeleteShader_handle[] = getprocaddress_e("glDeleteShader")) + ccall(glDeleteShader_handle[], Cvoid, (GLuint,), shader) end +const glDetachShader_handle = Ref{Ptr{Cvoid}}() + function glDetachShader(program, shader) - ccall(getprocaddress_e("glDetachShader"), Cvoid, (GLuint, GLuint), program, shader) + glDetachShader_handle[] == C_NULL && (glDetachShader_handle[] = getprocaddress_e("glDetachShader")) + ccall(glDetachShader_handle[], Cvoid, (GLuint, GLuint), program, shader) end +const glDisableVertexAttribArray_handle = Ref{Ptr{Cvoid}}() + function glDisableVertexAttribArray(index) - ccall(getprocaddress_e("glDisableVertexAttribArray"), Cvoid, (GLuint,), index) + glDisableVertexAttribArray_handle[] == C_NULL && (glDisableVertexAttribArray_handle[] = getprocaddress_e("glDisableVertexAttribArray")) + ccall(glDisableVertexAttribArray_handle[], Cvoid, (GLuint,), index) end +const glEnableVertexAttribArray_handle = Ref{Ptr{Cvoid}}() + function glEnableVertexAttribArray(index) - ccall(getprocaddress_e("glEnableVertexAttribArray"), Cvoid, (GLuint,), index) + glEnableVertexAttribArray_handle[] == C_NULL && (glEnableVertexAttribArray_handle[] = getprocaddress_e("glEnableVertexAttribArray")) + ccall(glEnableVertexAttribArray_handle[], Cvoid, (GLuint,), index) end +const glGetActiveAttrib_handle = Ref{Ptr{Cvoid}}() + function glGetActiveAttrib(program, index, bufSize, length, size, type, name) - ccall(getprocaddress_e("glGetActiveAttrib"), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLint}, Ptr{GLenum}, Ptr{GLchar}), program, index, bufSize, length, size, type, name) + glGetActiveAttrib_handle[] == C_NULL && (glGetActiveAttrib_handle[] = getprocaddress_e("glGetActiveAttrib")) + ccall(glGetActiveAttrib_handle[], Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLint}, Ptr{GLenum}, Ptr{GLchar}), program, index, bufSize, length, size, type, name) end +const glGetActiveUniform_handle = Ref{Ptr{Cvoid}}() + function glGetActiveUniform(program, index, bufSize, length, size, type, name) - ccall(getprocaddress_e("glGetActiveUniform"), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLint}, Ptr{GLenum}, Ptr{GLchar}), program, index, bufSize, length, size, type, name) + glGetActiveUniform_handle[] == C_NULL && (glGetActiveUniform_handle[] = getprocaddress_e("glGetActiveUniform")) + ccall(glGetActiveUniform_handle[], Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLint}, Ptr{GLenum}, Ptr{GLchar}), program, index, bufSize, length, size, type, name) end +const glGetAttachedShaders_handle = Ref{Ptr{Cvoid}}() + function glGetAttachedShaders(program, maxCount, count, shaders) - ccall(getprocaddress_e("glGetAttachedShaders"), Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLuint}), program, maxCount, count, shaders) + glGetAttachedShaders_handle[] == C_NULL && (glGetAttachedShaders_handle[] = getprocaddress_e("glGetAttachedShaders")) + ccall(glGetAttachedShaders_handle[], Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLuint}), program, maxCount, count, shaders) end +const glGetAttribLocation_handle = Ref{Ptr{Cvoid}}() + function glGetAttribLocation(program, name) - ccall(getprocaddress_e("glGetAttribLocation"), GLint, (GLuint, Ptr{GLchar}), program, name) + glGetAttribLocation_handle[] == C_NULL && (glGetAttribLocation_handle[] = getprocaddress_e("glGetAttribLocation")) + ccall(glGetAttribLocation_handle[], GLint, (GLuint, Ptr{GLchar}), program, name) end +const glGetProgramiv_handle = Ref{Ptr{Cvoid}}() + function glGetProgramiv(program, pname, params) - ccall(getprocaddress_e("glGetProgramiv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), program, pname, params) + glGetProgramiv_handle[] == C_NULL && (glGetProgramiv_handle[] = getprocaddress_e("glGetProgramiv")) + ccall(glGetProgramiv_handle[], Cvoid, (GLuint, GLenum, Ptr{GLint}), program, pname, params) end +const glGetProgramInfoLog_handle = Ref{Ptr{Cvoid}}() + function glGetProgramInfoLog(program, bufSize, length, infoLog) - ccall(getprocaddress_e("glGetProgramInfoLog"), Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), program, bufSize, length, infoLog) + glGetProgramInfoLog_handle[] == C_NULL && (glGetProgramInfoLog_handle[] = getprocaddress_e("glGetProgramInfoLog")) + ccall(glGetProgramInfoLog_handle[], Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), program, bufSize, length, infoLog) end +const glGetShaderiv_handle = Ref{Ptr{Cvoid}}() + function glGetShaderiv(shader, pname, params) - ccall(getprocaddress_e("glGetShaderiv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), shader, pname, params) + glGetShaderiv_handle[] == C_NULL && (glGetShaderiv_handle[] = getprocaddress_e("glGetShaderiv")) + ccall(glGetShaderiv_handle[], Cvoid, (GLuint, GLenum, Ptr{GLint}), shader, pname, params) end +const glGetShaderInfoLog_handle = Ref{Ptr{Cvoid}}() + function glGetShaderInfoLog(shader, bufSize, length, infoLog) - ccall(getprocaddress_e("glGetShaderInfoLog"), Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), shader, bufSize, length, infoLog) + glGetShaderInfoLog_handle[] == C_NULL && (glGetShaderInfoLog_handle[] = getprocaddress_e("glGetShaderInfoLog")) + ccall(glGetShaderInfoLog_handle[], Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), shader, bufSize, length, infoLog) end +const glGetShaderSource_handle = Ref{Ptr{Cvoid}}() + function glGetShaderSource(shader, bufSize, length, source) - ccall(getprocaddress_e("glGetShaderSource"), Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), shader, bufSize, length, source) + glGetShaderSource_handle[] == C_NULL && (glGetShaderSource_handle[] = getprocaddress_e("glGetShaderSource")) + ccall(glGetShaderSource_handle[], Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), shader, bufSize, length, source) end +const glGetUniformLocation_handle = Ref{Ptr{Cvoid}}() + function glGetUniformLocation(program, name) - ccall(getprocaddress_e("glGetUniformLocation"), GLint, (GLuint, Ptr{GLchar}), program, name) + glGetUniformLocation_handle[] == C_NULL && (glGetUniformLocation_handle[] = getprocaddress_e("glGetUniformLocation")) + ccall(glGetUniformLocation_handle[], GLint, (GLuint, Ptr{GLchar}), program, name) end +const glGetUniformfv_handle = Ref{Ptr{Cvoid}}() + function glGetUniformfv(program, location, params) - ccall(getprocaddress_e("glGetUniformfv"), Cvoid, (GLuint, GLint, Ptr{GLfloat}), program, location, params) + glGetUniformfv_handle[] == C_NULL && (glGetUniformfv_handle[] = getprocaddress_e("glGetUniformfv")) + ccall(glGetUniformfv_handle[], Cvoid, (GLuint, GLint, Ptr{GLfloat}), program, location, params) end +const glGetUniformiv_handle = Ref{Ptr{Cvoid}}() + function glGetUniformiv(program, location, params) - ccall(getprocaddress_e("glGetUniformiv"), Cvoid, (GLuint, GLint, Ptr{GLint}), program, location, params) + glGetUniformiv_handle[] == C_NULL && (glGetUniformiv_handle[] = getprocaddress_e("glGetUniformiv")) + ccall(glGetUniformiv_handle[], Cvoid, (GLuint, GLint, Ptr{GLint}), program, location, params) end +const glGetVertexAttribdv_handle = Ref{Ptr{Cvoid}}() + function glGetVertexAttribdv(index, pname, params) - ccall(getprocaddress_e("glGetVertexAttribdv"), Cvoid, (GLuint, GLenum, Ptr{GLdouble}), index, pname, params) + glGetVertexAttribdv_handle[] == C_NULL && (glGetVertexAttribdv_handle[] = getprocaddress_e("glGetVertexAttribdv")) + ccall(glGetVertexAttribdv_handle[], Cvoid, (GLuint, GLenum, Ptr{GLdouble}), index, pname, params) end +const glGetVertexAttribfv_handle = Ref{Ptr{Cvoid}}() + function glGetVertexAttribfv(index, pname, params) - ccall(getprocaddress_e("glGetVertexAttribfv"), Cvoid, (GLuint, GLenum, Ptr{GLfloat}), index, pname, params) + glGetVertexAttribfv_handle[] == C_NULL && (glGetVertexAttribfv_handle[] = getprocaddress_e("glGetVertexAttribfv")) + ccall(glGetVertexAttribfv_handle[], Cvoid, (GLuint, GLenum, Ptr{GLfloat}), index, pname, params) end +const glGetVertexAttribiv_handle = Ref{Ptr{Cvoid}}() + function glGetVertexAttribiv(index, pname, params) - ccall(getprocaddress_e("glGetVertexAttribiv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), index, pname, params) + glGetVertexAttribiv_handle[] == C_NULL && (glGetVertexAttribiv_handle[] = getprocaddress_e("glGetVertexAttribiv")) + ccall(glGetVertexAttribiv_handle[], Cvoid, (GLuint, GLenum, Ptr{GLint}), index, pname, params) end +const glGetVertexAttribPointerv_handle = Ref{Ptr{Cvoid}}() + function glGetVertexAttribPointerv(index, pname, pointer) - ccall(getprocaddress_e("glGetVertexAttribPointerv"), Cvoid, (GLuint, GLenum, Ptr{Ptr{Cvoid}}), index, pname, pointer) + glGetVertexAttribPointerv_handle[] == C_NULL && (glGetVertexAttribPointerv_handle[] = getprocaddress_e("glGetVertexAttribPointerv")) + ccall(glGetVertexAttribPointerv_handle[], Cvoid, (GLuint, GLenum, Ptr{Ptr{Cvoid}}), index, pname, pointer) end +const glIsProgram_handle = Ref{Ptr{Cvoid}}() + function glIsProgram(program) - ccall(getprocaddress_e("glIsProgram"), GLboolean, (GLuint,), program) + glIsProgram_handle[] == C_NULL && (glIsProgram_handle[] = getprocaddress_e("glIsProgram")) + ccall(glIsProgram_handle[], GLboolean, (GLuint,), program) end +const glIsShader_handle = Ref{Ptr{Cvoid}}() + function glIsShader(shader) - ccall(getprocaddress_e("glIsShader"), GLboolean, (GLuint,), shader) + glIsShader_handle[] == C_NULL && (glIsShader_handle[] = getprocaddress_e("glIsShader")) + ccall(glIsShader_handle[], GLboolean, (GLuint,), shader) end +const glLinkProgram_handle = Ref{Ptr{Cvoid}}() + function glLinkProgram(program) - ccall(getprocaddress_e("glLinkProgram"), Cvoid, (GLuint,), program) + glLinkProgram_handle[] == C_NULL && (glLinkProgram_handle[] = getprocaddress_e("glLinkProgram")) + ccall(glLinkProgram_handle[], Cvoid, (GLuint,), program) end +const glShaderSource_handle = Ref{Ptr{Cvoid}}() + function glShaderSource(shader, count, string, length) - ccall(getprocaddress_e("glShaderSource"), Cvoid, (GLuint, GLsizei, Ptr{Ptr{GLchar}}, Ptr{GLint}), shader, count, string, length) + glShaderSource_handle[] == C_NULL && (glShaderSource_handle[] = getprocaddress_e("glShaderSource")) + ccall(glShaderSource_handle[], Cvoid, (GLuint, GLsizei, Ptr{Ptr{GLchar}}, Ptr{GLint}), shader, count, string, length) end +const glUseProgram_handle = Ref{Ptr{Cvoid}}() + function glUseProgram(program) - ccall(getprocaddress_e("glUseProgram"), Cvoid, (GLuint,), program) + glUseProgram_handle[] == C_NULL && (glUseProgram_handle[] = getprocaddress_e("glUseProgram")) + ccall(glUseProgram_handle[], Cvoid, (GLuint,), program) end +const glUniform1f_handle = Ref{Ptr{Cvoid}}() + function glUniform1f(location, v0) - ccall(getprocaddress_e("glUniform1f"), Cvoid, (GLint, GLfloat), location, v0) + glUniform1f_handle[] == C_NULL && (glUniform1f_handle[] = getprocaddress_e("glUniform1f")) + ccall(glUniform1f_handle[], Cvoid, (GLint, GLfloat), location, v0) end +const glUniform2f_handle = Ref{Ptr{Cvoid}}() + function glUniform2f(location, v0, v1) - ccall(getprocaddress_e("glUniform2f"), Cvoid, (GLint, GLfloat, GLfloat), location, v0, v1) + glUniform2f_handle[] == C_NULL && (glUniform2f_handle[] = getprocaddress_e("glUniform2f")) + ccall(glUniform2f_handle[], Cvoid, (GLint, GLfloat, GLfloat), location, v0, v1) end +const glUniform3f_handle = Ref{Ptr{Cvoid}}() + function glUniform3f(location, v0, v1, v2) - ccall(getprocaddress_e("glUniform3f"), Cvoid, (GLint, GLfloat, GLfloat, GLfloat), location, v0, v1, v2) + glUniform3f_handle[] == C_NULL && (glUniform3f_handle[] = getprocaddress_e("glUniform3f")) + ccall(glUniform3f_handle[], Cvoid, (GLint, GLfloat, GLfloat, GLfloat), location, v0, v1, v2) end +const glUniform4f_handle = Ref{Ptr{Cvoid}}() + function glUniform4f(location, v0, v1, v2, v3) - ccall(getprocaddress_e("glUniform4f"), Cvoid, (GLint, GLfloat, GLfloat, GLfloat, GLfloat), location, v0, v1, v2, v3) + glUniform4f_handle[] == C_NULL && (glUniform4f_handle[] = getprocaddress_e("glUniform4f")) + ccall(glUniform4f_handle[], Cvoid, (GLint, GLfloat, GLfloat, GLfloat, GLfloat), location, v0, v1, v2, v3) end +const glUniform1i_handle = Ref{Ptr{Cvoid}}() + function glUniform1i(location, v0) - ccall(getprocaddress_e("glUniform1i"), Cvoid, (GLint, GLint), location, v0) + glUniform1i_handle[] == C_NULL && (glUniform1i_handle[] = getprocaddress_e("glUniform1i")) + ccall(glUniform1i_handle[], Cvoid, (GLint, GLint), location, v0) end +const glUniform2i_handle = Ref{Ptr{Cvoid}}() + function glUniform2i(location, v0, v1) - ccall(getprocaddress_e("glUniform2i"), Cvoid, (GLint, GLint, GLint), location, v0, v1) + glUniform2i_handle[] == C_NULL && (glUniform2i_handle[] = getprocaddress_e("glUniform2i")) + ccall(glUniform2i_handle[], Cvoid, (GLint, GLint, GLint), location, v0, v1) end +const glUniform3i_handle = Ref{Ptr{Cvoid}}() + function glUniform3i(location, v0, v1, v2) - ccall(getprocaddress_e("glUniform3i"), Cvoid, (GLint, GLint, GLint, GLint), location, v0, v1, v2) + glUniform3i_handle[] == C_NULL && (glUniform3i_handle[] = getprocaddress_e("glUniform3i")) + ccall(glUniform3i_handle[], Cvoid, (GLint, GLint, GLint, GLint), location, v0, v1, v2) end +const glUniform4i_handle = Ref{Ptr{Cvoid}}() + function glUniform4i(location, v0, v1, v2, v3) - ccall(getprocaddress_e("glUniform4i"), Cvoid, (GLint, GLint, GLint, GLint, GLint), location, v0, v1, v2, v3) + glUniform4i_handle[] == C_NULL && (glUniform4i_handle[] = getprocaddress_e("glUniform4i")) + ccall(glUniform4i_handle[], Cvoid, (GLint, GLint, GLint, GLint, GLint), location, v0, v1, v2, v3) end +const glUniform1fv_handle = Ref{Ptr{Cvoid}}() + function glUniform1fv(location, count, value) - ccall(getprocaddress_e("glUniform1fv"), Cvoid, (GLint, GLsizei, Ptr{GLfloat}), location, count, value) + glUniform1fv_handle[] == C_NULL && (glUniform1fv_handle[] = getprocaddress_e("glUniform1fv")) + ccall(glUniform1fv_handle[], Cvoid, (GLint, GLsizei, Ptr{GLfloat}), location, count, value) end +const glUniform2fv_handle = Ref{Ptr{Cvoid}}() + function glUniform2fv(location, count, value) - ccall(getprocaddress_e("glUniform2fv"), Cvoid, (GLint, GLsizei, Ptr{GLfloat}), location, count, value) + glUniform2fv_handle[] == C_NULL && (glUniform2fv_handle[] = getprocaddress_e("glUniform2fv")) + ccall(glUniform2fv_handle[], Cvoid, (GLint, GLsizei, Ptr{GLfloat}), location, count, value) end +const glUniform3fv_handle = Ref{Ptr{Cvoid}}() + function glUniform3fv(location, count, value) - ccall(getprocaddress_e("glUniform3fv"), Cvoid, (GLint, GLsizei, Ptr{GLfloat}), location, count, value) + glUniform3fv_handle[] == C_NULL && (glUniform3fv_handle[] = getprocaddress_e("glUniform3fv")) + ccall(glUniform3fv_handle[], Cvoid, (GLint, GLsizei, Ptr{GLfloat}), location, count, value) end +const glUniform4fv_handle = Ref{Ptr{Cvoid}}() + function glUniform4fv(location, count, value) - ccall(getprocaddress_e("glUniform4fv"), Cvoid, (GLint, GLsizei, Ptr{GLfloat}), location, count, value) + glUniform4fv_handle[] == C_NULL && (glUniform4fv_handle[] = getprocaddress_e("glUniform4fv")) + ccall(glUniform4fv_handle[], Cvoid, (GLint, GLsizei, Ptr{GLfloat}), location, count, value) end +const glUniform1iv_handle = Ref{Ptr{Cvoid}}() + function glUniform1iv(location, count, value) - ccall(getprocaddress_e("glUniform1iv"), Cvoid, (GLint, GLsizei, Ptr{GLint}), location, count, value) + glUniform1iv_handle[] == C_NULL && (glUniform1iv_handle[] = getprocaddress_e("glUniform1iv")) + ccall(glUniform1iv_handle[], Cvoid, (GLint, GLsizei, Ptr{GLint}), location, count, value) end +const glUniform2iv_handle = Ref{Ptr{Cvoid}}() + function glUniform2iv(location, count, value) - ccall(getprocaddress_e("glUniform2iv"), Cvoid, (GLint, GLsizei, Ptr{GLint}), location, count, value) + glUniform2iv_handle[] == C_NULL && (glUniform2iv_handle[] = getprocaddress_e("glUniform2iv")) + ccall(glUniform2iv_handle[], Cvoid, (GLint, GLsizei, Ptr{GLint}), location, count, value) end +const glUniform3iv_handle = Ref{Ptr{Cvoid}}() + function glUniform3iv(location, count, value) - ccall(getprocaddress_e("glUniform3iv"), Cvoid, (GLint, GLsizei, Ptr{GLint}), location, count, value) + glUniform3iv_handle[] == C_NULL && (glUniform3iv_handle[] = getprocaddress_e("glUniform3iv")) + ccall(glUniform3iv_handle[], Cvoid, (GLint, GLsizei, Ptr{GLint}), location, count, value) end +const glUniform4iv_handle = Ref{Ptr{Cvoid}}() + function glUniform4iv(location, count, value) - ccall(getprocaddress_e("glUniform4iv"), Cvoid, (GLint, GLsizei, Ptr{GLint}), location, count, value) + glUniform4iv_handle[] == C_NULL && (glUniform4iv_handle[] = getprocaddress_e("glUniform4iv")) + ccall(glUniform4iv_handle[], Cvoid, (GLint, GLsizei, Ptr{GLint}), location, count, value) end +const glUniformMatrix2fv_handle = Ref{Ptr{Cvoid}}() + function glUniformMatrix2fv(location, count, transpose, value) - ccall(getprocaddress_e("glUniformMatrix2fv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) + glUniformMatrix2fv_handle[] == C_NULL && (glUniformMatrix2fv_handle[] = getprocaddress_e("glUniformMatrix2fv")) + ccall(glUniformMatrix2fv_handle[], Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) end +const glUniformMatrix3fv_handle = Ref{Ptr{Cvoid}}() + function glUniformMatrix3fv(location, count, transpose, value) - ccall(getprocaddress_e("glUniformMatrix3fv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) + glUniformMatrix3fv_handle[] == C_NULL && (glUniformMatrix3fv_handle[] = getprocaddress_e("glUniformMatrix3fv")) + ccall(glUniformMatrix3fv_handle[], Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) end +const glUniformMatrix4fv_handle = Ref{Ptr{Cvoid}}() + function glUniformMatrix4fv(location, count, transpose, value) - ccall(getprocaddress_e("glUniformMatrix4fv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) + glUniformMatrix4fv_handle[] == C_NULL && (glUniformMatrix4fv_handle[] = getprocaddress_e("glUniformMatrix4fv")) + ccall(glUniformMatrix4fv_handle[], Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) end +const glValidateProgram_handle = Ref{Ptr{Cvoid}}() + function glValidateProgram(program) - ccall(getprocaddress_e("glValidateProgram"), Cvoid, (GLuint,), program) + glValidateProgram_handle[] == C_NULL && (glValidateProgram_handle[] = getprocaddress_e("glValidateProgram")) + ccall(glValidateProgram_handle[], Cvoid, (GLuint,), program) end +const glVertexAttrib1d_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib1d(index, x) - ccall(getprocaddress_e("glVertexAttrib1d"), Cvoid, (GLuint, GLdouble), index, x) + glVertexAttrib1d_handle[] == C_NULL && (glVertexAttrib1d_handle[] = getprocaddress_e("glVertexAttrib1d")) + ccall(glVertexAttrib1d_handle[], Cvoid, (GLuint, GLdouble), index, x) end +const glVertexAttrib1dv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib1dv(index, v) - ccall(getprocaddress_e("glVertexAttrib1dv"), Cvoid, (GLuint, Ptr{GLdouble}), index, v) + glVertexAttrib1dv_handle[] == C_NULL && (glVertexAttrib1dv_handle[] = getprocaddress_e("glVertexAttrib1dv")) + ccall(glVertexAttrib1dv_handle[], Cvoid, (GLuint, Ptr{GLdouble}), index, v) end +const glVertexAttrib1f_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib1f(index, x) - ccall(getprocaddress_e("glVertexAttrib1f"), Cvoid, (GLuint, GLfloat), index, x) + glVertexAttrib1f_handle[] == C_NULL && (glVertexAttrib1f_handle[] = getprocaddress_e("glVertexAttrib1f")) + ccall(glVertexAttrib1f_handle[], Cvoid, (GLuint, GLfloat), index, x) end +const glVertexAttrib1fv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib1fv(index, v) - ccall(getprocaddress_e("glVertexAttrib1fv"), Cvoid, (GLuint, Ptr{GLfloat}), index, v) + glVertexAttrib1fv_handle[] == C_NULL && (glVertexAttrib1fv_handle[] = getprocaddress_e("glVertexAttrib1fv")) + ccall(glVertexAttrib1fv_handle[], Cvoid, (GLuint, Ptr{GLfloat}), index, v) end +const glVertexAttrib1s_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib1s(index, x) - ccall(getprocaddress_e("glVertexAttrib1s"), Cvoid, (GLuint, GLshort), index, x) + glVertexAttrib1s_handle[] == C_NULL && (glVertexAttrib1s_handle[] = getprocaddress_e("glVertexAttrib1s")) + ccall(glVertexAttrib1s_handle[], Cvoid, (GLuint, GLshort), index, x) end +const glVertexAttrib1sv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib1sv(index, v) - ccall(getprocaddress_e("glVertexAttrib1sv"), Cvoid, (GLuint, Ptr{GLshort}), index, v) + glVertexAttrib1sv_handle[] == C_NULL && (glVertexAttrib1sv_handle[] = getprocaddress_e("glVertexAttrib1sv")) + ccall(glVertexAttrib1sv_handle[], Cvoid, (GLuint, Ptr{GLshort}), index, v) end +const glVertexAttrib2d_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib2d(index, x, y) - ccall(getprocaddress_e("glVertexAttrib2d"), Cvoid, (GLuint, GLdouble, GLdouble), index, x, y) + glVertexAttrib2d_handle[] == C_NULL && (glVertexAttrib2d_handle[] = getprocaddress_e("glVertexAttrib2d")) + ccall(glVertexAttrib2d_handle[], Cvoid, (GLuint, GLdouble, GLdouble), index, x, y) end +const glVertexAttrib2dv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib2dv(index, v) - ccall(getprocaddress_e("glVertexAttrib2dv"), Cvoid, (GLuint, Ptr{GLdouble}), index, v) + glVertexAttrib2dv_handle[] == C_NULL && (glVertexAttrib2dv_handle[] = getprocaddress_e("glVertexAttrib2dv")) + ccall(glVertexAttrib2dv_handle[], Cvoid, (GLuint, Ptr{GLdouble}), index, v) end +const glVertexAttrib2f_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib2f(index, x, y) - ccall(getprocaddress_e("glVertexAttrib2f"), Cvoid, (GLuint, GLfloat, GLfloat), index, x, y) + glVertexAttrib2f_handle[] == C_NULL && (glVertexAttrib2f_handle[] = getprocaddress_e("glVertexAttrib2f")) + ccall(glVertexAttrib2f_handle[], Cvoid, (GLuint, GLfloat, GLfloat), index, x, y) end +const glVertexAttrib2fv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib2fv(index, v) - ccall(getprocaddress_e("glVertexAttrib2fv"), Cvoid, (GLuint, Ptr{GLfloat}), index, v) + glVertexAttrib2fv_handle[] == C_NULL && (glVertexAttrib2fv_handle[] = getprocaddress_e("glVertexAttrib2fv")) + ccall(glVertexAttrib2fv_handle[], Cvoid, (GLuint, Ptr{GLfloat}), index, v) end +const glVertexAttrib2s_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib2s(index, x, y) - ccall(getprocaddress_e("glVertexAttrib2s"), Cvoid, (GLuint, GLshort, GLshort), index, x, y) + glVertexAttrib2s_handle[] == C_NULL && (glVertexAttrib2s_handle[] = getprocaddress_e("glVertexAttrib2s")) + ccall(glVertexAttrib2s_handle[], Cvoid, (GLuint, GLshort, GLshort), index, x, y) end +const glVertexAttrib2sv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib2sv(index, v) - ccall(getprocaddress_e("glVertexAttrib2sv"), Cvoid, (GLuint, Ptr{GLshort}), index, v) + glVertexAttrib2sv_handle[] == C_NULL && (glVertexAttrib2sv_handle[] = getprocaddress_e("glVertexAttrib2sv")) + ccall(glVertexAttrib2sv_handle[], Cvoid, (GLuint, Ptr{GLshort}), index, v) end +const glVertexAttrib3d_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib3d(index, x, y, z) - ccall(getprocaddress_e("glVertexAttrib3d"), Cvoid, (GLuint, GLdouble, GLdouble, GLdouble), index, x, y, z) + glVertexAttrib3d_handle[] == C_NULL && (glVertexAttrib3d_handle[] = getprocaddress_e("glVertexAttrib3d")) + ccall(glVertexAttrib3d_handle[], Cvoid, (GLuint, GLdouble, GLdouble, GLdouble), index, x, y, z) end +const glVertexAttrib3dv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib3dv(index, v) - ccall(getprocaddress_e("glVertexAttrib3dv"), Cvoid, (GLuint, Ptr{GLdouble}), index, v) + glVertexAttrib3dv_handle[] == C_NULL && (glVertexAttrib3dv_handle[] = getprocaddress_e("glVertexAttrib3dv")) + ccall(glVertexAttrib3dv_handle[], Cvoid, (GLuint, Ptr{GLdouble}), index, v) end +const glVertexAttrib3f_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib3f(index, x, y, z) - ccall(getprocaddress_e("glVertexAttrib3f"), Cvoid, (GLuint, GLfloat, GLfloat, GLfloat), index, x, y, z) + glVertexAttrib3f_handle[] == C_NULL && (glVertexAttrib3f_handle[] = getprocaddress_e("glVertexAttrib3f")) + ccall(glVertexAttrib3f_handle[], Cvoid, (GLuint, GLfloat, GLfloat, GLfloat), index, x, y, z) end +const glVertexAttrib3fv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib3fv(index, v) - ccall(getprocaddress_e("glVertexAttrib3fv"), Cvoid, (GLuint, Ptr{GLfloat}), index, v) + glVertexAttrib3fv_handle[] == C_NULL && (glVertexAttrib3fv_handle[] = getprocaddress_e("glVertexAttrib3fv")) + ccall(glVertexAttrib3fv_handle[], Cvoid, (GLuint, Ptr{GLfloat}), index, v) end +const glVertexAttrib3s_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib3s(index, x, y, z) - ccall(getprocaddress_e("glVertexAttrib3s"), Cvoid, (GLuint, GLshort, GLshort, GLshort), index, x, y, z) + glVertexAttrib3s_handle[] == C_NULL && (glVertexAttrib3s_handle[] = getprocaddress_e("glVertexAttrib3s")) + ccall(glVertexAttrib3s_handle[], Cvoid, (GLuint, GLshort, GLshort, GLshort), index, x, y, z) end +const glVertexAttrib3sv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib3sv(index, v) - ccall(getprocaddress_e("glVertexAttrib3sv"), Cvoid, (GLuint, Ptr{GLshort}), index, v) + glVertexAttrib3sv_handle[] == C_NULL && (glVertexAttrib3sv_handle[] = getprocaddress_e("glVertexAttrib3sv")) + ccall(glVertexAttrib3sv_handle[], Cvoid, (GLuint, Ptr{GLshort}), index, v) end +const glVertexAttrib4Nbv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib4Nbv(index, v) - ccall(getprocaddress_e("glVertexAttrib4Nbv"), Cvoid, (GLuint, Ptr{GLbyte}), index, v) + glVertexAttrib4Nbv_handle[] == C_NULL && (glVertexAttrib4Nbv_handle[] = getprocaddress_e("glVertexAttrib4Nbv")) + ccall(glVertexAttrib4Nbv_handle[], Cvoid, (GLuint, Ptr{GLbyte}), index, v) end +const glVertexAttrib4Niv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib4Niv(index, v) - ccall(getprocaddress_e("glVertexAttrib4Niv"), Cvoid, (GLuint, Ptr{GLint}), index, v) + glVertexAttrib4Niv_handle[] == C_NULL && (glVertexAttrib4Niv_handle[] = getprocaddress_e("glVertexAttrib4Niv")) + ccall(glVertexAttrib4Niv_handle[], Cvoid, (GLuint, Ptr{GLint}), index, v) end +const glVertexAttrib4Nsv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib4Nsv(index, v) - ccall(getprocaddress_e("glVertexAttrib4Nsv"), Cvoid, (GLuint, Ptr{GLshort}), index, v) + glVertexAttrib4Nsv_handle[] == C_NULL && (glVertexAttrib4Nsv_handle[] = getprocaddress_e("glVertexAttrib4Nsv")) + ccall(glVertexAttrib4Nsv_handle[], Cvoid, (GLuint, Ptr{GLshort}), index, v) end +const glVertexAttrib4Nub_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib4Nub(index, x, y, z, w) - ccall(getprocaddress_e("glVertexAttrib4Nub"), Cvoid, (GLuint, GLubyte, GLubyte, GLubyte, GLubyte), index, x, y, z, w) + glVertexAttrib4Nub_handle[] == C_NULL && (glVertexAttrib4Nub_handle[] = getprocaddress_e("glVertexAttrib4Nub")) + ccall(glVertexAttrib4Nub_handle[], Cvoid, (GLuint, GLubyte, GLubyte, GLubyte, GLubyte), index, x, y, z, w) end +const glVertexAttrib4Nubv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib4Nubv(index, v) - ccall(getprocaddress_e("glVertexAttrib4Nubv"), Cvoid, (GLuint, Ptr{GLubyte}), index, v) + glVertexAttrib4Nubv_handle[] == C_NULL && (glVertexAttrib4Nubv_handle[] = getprocaddress_e("glVertexAttrib4Nubv")) + ccall(glVertexAttrib4Nubv_handle[], Cvoid, (GLuint, Ptr{GLubyte}), index, v) end +const glVertexAttrib4Nuiv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib4Nuiv(index, v) - ccall(getprocaddress_e("glVertexAttrib4Nuiv"), Cvoid, (GLuint, Ptr{GLuint}), index, v) + glVertexAttrib4Nuiv_handle[] == C_NULL && (glVertexAttrib4Nuiv_handle[] = getprocaddress_e("glVertexAttrib4Nuiv")) + ccall(glVertexAttrib4Nuiv_handle[], Cvoid, (GLuint, Ptr{GLuint}), index, v) end +const glVertexAttrib4Nusv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib4Nusv(index, v) - ccall(getprocaddress_e("glVertexAttrib4Nusv"), Cvoid, (GLuint, Ptr{GLushort}), index, v) + glVertexAttrib4Nusv_handle[] == C_NULL && (glVertexAttrib4Nusv_handle[] = getprocaddress_e("glVertexAttrib4Nusv")) + ccall(glVertexAttrib4Nusv_handle[], Cvoid, (GLuint, Ptr{GLushort}), index, v) end +const glVertexAttrib4bv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib4bv(index, v) - ccall(getprocaddress_e("glVertexAttrib4bv"), Cvoid, (GLuint, Ptr{GLbyte}), index, v) + glVertexAttrib4bv_handle[] == C_NULL && (glVertexAttrib4bv_handle[] = getprocaddress_e("glVertexAttrib4bv")) + ccall(glVertexAttrib4bv_handle[], Cvoid, (GLuint, Ptr{GLbyte}), index, v) end +const glVertexAttrib4d_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib4d(index, x, y, z, w) - ccall(getprocaddress_e("glVertexAttrib4d"), Cvoid, (GLuint, GLdouble, GLdouble, GLdouble, GLdouble), index, x, y, z, w) + glVertexAttrib4d_handle[] == C_NULL && (glVertexAttrib4d_handle[] = getprocaddress_e("glVertexAttrib4d")) + ccall(glVertexAttrib4d_handle[], Cvoid, (GLuint, GLdouble, GLdouble, GLdouble, GLdouble), index, x, y, z, w) end +const glVertexAttrib4dv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib4dv(index, v) - ccall(getprocaddress_e("glVertexAttrib4dv"), Cvoid, (GLuint, Ptr{GLdouble}), index, v) + glVertexAttrib4dv_handle[] == C_NULL && (glVertexAttrib4dv_handle[] = getprocaddress_e("glVertexAttrib4dv")) + ccall(glVertexAttrib4dv_handle[], Cvoid, (GLuint, Ptr{GLdouble}), index, v) end +const glVertexAttrib4f_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib4f(index, x, y, z, w) - ccall(getprocaddress_e("glVertexAttrib4f"), Cvoid, (GLuint, GLfloat, GLfloat, GLfloat, GLfloat), index, x, y, z, w) + glVertexAttrib4f_handle[] == C_NULL && (glVertexAttrib4f_handle[] = getprocaddress_e("glVertexAttrib4f")) + ccall(glVertexAttrib4f_handle[], Cvoid, (GLuint, GLfloat, GLfloat, GLfloat, GLfloat), index, x, y, z, w) end +const glVertexAttrib4fv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib4fv(index, v) - ccall(getprocaddress_e("glVertexAttrib4fv"), Cvoid, (GLuint, Ptr{GLfloat}), index, v) + glVertexAttrib4fv_handle[] == C_NULL && (glVertexAttrib4fv_handle[] = getprocaddress_e("glVertexAttrib4fv")) + ccall(glVertexAttrib4fv_handle[], Cvoid, (GLuint, Ptr{GLfloat}), index, v) end +const glVertexAttrib4iv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib4iv(index, v) - ccall(getprocaddress_e("glVertexAttrib4iv"), Cvoid, (GLuint, Ptr{GLint}), index, v) + glVertexAttrib4iv_handle[] == C_NULL && (glVertexAttrib4iv_handle[] = getprocaddress_e("glVertexAttrib4iv")) + ccall(glVertexAttrib4iv_handle[], Cvoid, (GLuint, Ptr{GLint}), index, v) end +const glVertexAttrib4s_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib4s(index, x, y, z, w) - ccall(getprocaddress_e("glVertexAttrib4s"), Cvoid, (GLuint, GLshort, GLshort, GLshort, GLshort), index, x, y, z, w) + glVertexAttrib4s_handle[] == C_NULL && (glVertexAttrib4s_handle[] = getprocaddress_e("glVertexAttrib4s")) + ccall(glVertexAttrib4s_handle[], Cvoid, (GLuint, GLshort, GLshort, GLshort, GLshort), index, x, y, z, w) end +const glVertexAttrib4sv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib4sv(index, v) - ccall(getprocaddress_e("glVertexAttrib4sv"), Cvoid, (GLuint, Ptr{GLshort}), index, v) + glVertexAttrib4sv_handle[] == C_NULL && (glVertexAttrib4sv_handle[] = getprocaddress_e("glVertexAttrib4sv")) + ccall(glVertexAttrib4sv_handle[], Cvoid, (GLuint, Ptr{GLshort}), index, v) end +const glVertexAttrib4ubv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib4ubv(index, v) - ccall(getprocaddress_e("glVertexAttrib4ubv"), Cvoid, (GLuint, Ptr{GLubyte}), index, v) + glVertexAttrib4ubv_handle[] == C_NULL && (glVertexAttrib4ubv_handle[] = getprocaddress_e("glVertexAttrib4ubv")) + ccall(glVertexAttrib4ubv_handle[], Cvoid, (GLuint, Ptr{GLubyte}), index, v) end +const glVertexAttrib4uiv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib4uiv(index, v) - ccall(getprocaddress_e("glVertexAttrib4uiv"), Cvoid, (GLuint, Ptr{GLuint}), index, v) + glVertexAttrib4uiv_handle[] == C_NULL && (glVertexAttrib4uiv_handle[] = getprocaddress_e("glVertexAttrib4uiv")) + ccall(glVertexAttrib4uiv_handle[], Cvoid, (GLuint, Ptr{GLuint}), index, v) end +const glVertexAttrib4usv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttrib4usv(index, v) - ccall(getprocaddress_e("glVertexAttrib4usv"), Cvoid, (GLuint, Ptr{GLushort}), index, v) + glVertexAttrib4usv_handle[] == C_NULL && (glVertexAttrib4usv_handle[] = getprocaddress_e("glVertexAttrib4usv")) + ccall(glVertexAttrib4usv_handle[], Cvoid, (GLuint, Ptr{GLushort}), index, v) end +const glVertexAttribPointer_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribPointer(index, size, type, normalized, stride, pointer) - ccall(getprocaddress_e("glVertexAttribPointer"), Cvoid, (GLuint, GLint, GLenum, GLboolean, GLsizei, Ptr{Cvoid}), index, size, type, normalized, stride, pointer) + glVertexAttribPointer_handle[] == C_NULL && (glVertexAttribPointer_handle[] = getprocaddress_e("glVertexAttribPointer")) + ccall(glVertexAttribPointer_handle[], Cvoid, (GLuint, GLint, GLenum, GLboolean, GLsizei, Ptr{Cvoid}), index, size, type, normalized, stride, pointer) end # typedef void ( APIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC ) ( GLint location , GLsizei count , GLboolean transpose , const GLfloat * value ) @@ -1462,28 +2050,46 @@ const PFNGLUNIFORMMATRIX3X4FVPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC ) ( GLint location , GLsizei count , GLboolean transpose , const GLfloat * value ) const PFNGLUNIFORMMATRIX4X3FVPROC = Ptr{Cvoid} +const glUniformMatrix2x3fv_handle = Ref{Ptr{Cvoid}}() + function glUniformMatrix2x3fv(location, count, transpose, value) - ccall(getprocaddress_e("glUniformMatrix2x3fv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) + glUniformMatrix2x3fv_handle[] == C_NULL && (glUniformMatrix2x3fv_handle[] = getprocaddress_e("glUniformMatrix2x3fv")) + ccall(glUniformMatrix2x3fv_handle[], Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) end +const glUniformMatrix3x2fv_handle = Ref{Ptr{Cvoid}}() + function glUniformMatrix3x2fv(location, count, transpose, value) - ccall(getprocaddress_e("glUniformMatrix3x2fv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) + glUniformMatrix3x2fv_handle[] == C_NULL && (glUniformMatrix3x2fv_handle[] = getprocaddress_e("glUniformMatrix3x2fv")) + ccall(glUniformMatrix3x2fv_handle[], Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) end +const glUniformMatrix2x4fv_handle = Ref{Ptr{Cvoid}}() + function glUniformMatrix2x4fv(location, count, transpose, value) - ccall(getprocaddress_e("glUniformMatrix2x4fv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) + glUniformMatrix2x4fv_handle[] == C_NULL && (glUniformMatrix2x4fv_handle[] = getprocaddress_e("glUniformMatrix2x4fv")) + ccall(glUniformMatrix2x4fv_handle[], Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) end +const glUniformMatrix4x2fv_handle = Ref{Ptr{Cvoid}}() + function glUniformMatrix4x2fv(location, count, transpose, value) - ccall(getprocaddress_e("glUniformMatrix4x2fv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) + glUniformMatrix4x2fv_handle[] == C_NULL && (glUniformMatrix4x2fv_handle[] = getprocaddress_e("glUniformMatrix4x2fv")) + ccall(glUniformMatrix4x2fv_handle[], Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) end +const glUniformMatrix3x4fv_handle = Ref{Ptr{Cvoid}}() + function glUniformMatrix3x4fv(location, count, transpose, value) - ccall(getprocaddress_e("glUniformMatrix3x4fv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) + glUniformMatrix3x4fv_handle[] == C_NULL && (glUniformMatrix3x4fv_handle[] = getprocaddress_e("glUniformMatrix3x4fv")) + ccall(glUniformMatrix3x4fv_handle[], Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) end +const glUniformMatrix4x3fv_handle = Ref{Ptr{Cvoid}}() + function glUniformMatrix4x3fv(location, count, transpose, value) - ccall(getprocaddress_e("glUniformMatrix4x3fv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) + glUniformMatrix4x3fv_handle[] == C_NULL && (glUniformMatrix4x3fv_handle[] = getprocaddress_e("glUniformMatrix4x3fv")) + ccall(glUniformMatrix4x3fv_handle[], Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLfloat}), location, count, transpose, value) end const GLhalf = khronos_uint16_t @@ -1740,340 +2346,592 @@ const PFNGLGENVERTEXARRAYSPROC = Ptr{Cvoid} # typedef GLboolean ( APIENTRYP PFNGLISVERTEXARRAYPROC ) ( GLuint array ) const PFNGLISVERTEXARRAYPROC = Ptr{Cvoid} +const glColorMaski_handle = Ref{Ptr{Cvoid}}() + function glColorMaski(index, r, g, b, a) - ccall(getprocaddress_e("glColorMaski"), Cvoid, (GLuint, GLboolean, GLboolean, GLboolean, GLboolean), index, r, g, b, a) + glColorMaski_handle[] == C_NULL && (glColorMaski_handle[] = getprocaddress_e("glColorMaski")) + ccall(glColorMaski_handle[], Cvoid, (GLuint, GLboolean, GLboolean, GLboolean, GLboolean), index, r, g, b, a) end +const glGetBooleani_v_handle = Ref{Ptr{Cvoid}}() + function glGetBooleani_v(target, index, data) - ccall(getprocaddress_e("glGetBooleani_v"), Cvoid, (GLenum, GLuint, Ptr{GLboolean}), target, index, data) + glGetBooleani_v_handle[] == C_NULL && (glGetBooleani_v_handle[] = getprocaddress_e("glGetBooleani_v")) + ccall(glGetBooleani_v_handle[], Cvoid, (GLenum, GLuint, Ptr{GLboolean}), target, index, data) end +const glGetIntegeri_v_handle = Ref{Ptr{Cvoid}}() + function glGetIntegeri_v(target, index, data) - ccall(getprocaddress_e("glGetIntegeri_v"), Cvoid, (GLenum, GLuint, Ptr{GLint}), target, index, data) + glGetIntegeri_v_handle[] == C_NULL && (glGetIntegeri_v_handle[] = getprocaddress_e("glGetIntegeri_v")) + ccall(glGetIntegeri_v_handle[], Cvoid, (GLenum, GLuint, Ptr{GLint}), target, index, data) end +const glEnablei_handle = Ref{Ptr{Cvoid}}() + function glEnablei(target, index) - ccall(getprocaddress_e("glEnablei"), Cvoid, (GLenum, GLuint), target, index) + glEnablei_handle[] == C_NULL && (glEnablei_handle[] = getprocaddress_e("glEnablei")) + ccall(glEnablei_handle[], Cvoid, (GLenum, GLuint), target, index) end +const glDisablei_handle = Ref{Ptr{Cvoid}}() + function glDisablei(target, index) - ccall(getprocaddress_e("glDisablei"), Cvoid, (GLenum, GLuint), target, index) + glDisablei_handle[] == C_NULL && (glDisablei_handle[] = getprocaddress_e("glDisablei")) + ccall(glDisablei_handle[], Cvoid, (GLenum, GLuint), target, index) end +const glIsEnabledi_handle = Ref{Ptr{Cvoid}}() + function glIsEnabledi(target, index) - ccall(getprocaddress_e("glIsEnabledi"), GLboolean, (GLenum, GLuint), target, index) + glIsEnabledi_handle[] == C_NULL && (glIsEnabledi_handle[] = getprocaddress_e("glIsEnabledi")) + ccall(glIsEnabledi_handle[], GLboolean, (GLenum, GLuint), target, index) end +const glBeginTransformFeedback_handle = Ref{Ptr{Cvoid}}() + function glBeginTransformFeedback(primitiveMode) - ccall(getprocaddress_e("glBeginTransformFeedback"), Cvoid, (GLenum,), primitiveMode) + glBeginTransformFeedback_handle[] == C_NULL && (glBeginTransformFeedback_handle[] = getprocaddress_e("glBeginTransformFeedback")) + ccall(glBeginTransformFeedback_handle[], Cvoid, (GLenum,), primitiveMode) end +const glEndTransformFeedback_handle = Ref{Ptr{Cvoid}}() + function glEndTransformFeedback() - ccall(getprocaddress_e("glEndTransformFeedback"), Cvoid, ()) + glEndTransformFeedback_handle[] == C_NULL && (glEndTransformFeedback_handle[] = getprocaddress_e("glEndTransformFeedback")) + ccall(glEndTransformFeedback_handle[], Cvoid, ()) end +const glBindBufferRange_handle = Ref{Ptr{Cvoid}}() + function glBindBufferRange(target, index, buffer, offset, size) - ccall(getprocaddress_e("glBindBufferRange"), Cvoid, (GLenum, GLuint, GLuint, GLintptr, GLsizeiptr), target, index, buffer, offset, size) + glBindBufferRange_handle[] == C_NULL && (glBindBufferRange_handle[] = getprocaddress_e("glBindBufferRange")) + ccall(glBindBufferRange_handle[], Cvoid, (GLenum, GLuint, GLuint, GLintptr, GLsizeiptr), target, index, buffer, offset, size) end +const glBindBufferBase_handle = Ref{Ptr{Cvoid}}() + function glBindBufferBase(target, index, buffer) - ccall(getprocaddress_e("glBindBufferBase"), Cvoid, (GLenum, GLuint, GLuint), target, index, buffer) + glBindBufferBase_handle[] == C_NULL && (glBindBufferBase_handle[] = getprocaddress_e("glBindBufferBase")) + ccall(glBindBufferBase_handle[], Cvoid, (GLenum, GLuint, GLuint), target, index, buffer) end +const glTransformFeedbackVaryings_handle = Ref{Ptr{Cvoid}}() + function glTransformFeedbackVaryings(program, count, varyings, bufferMode) - ccall(getprocaddress_e("glTransformFeedbackVaryings"), Cvoid, (GLuint, GLsizei, Ptr{Ptr{GLchar}}, GLenum), program, count, varyings, bufferMode) + glTransformFeedbackVaryings_handle[] == C_NULL && (glTransformFeedbackVaryings_handle[] = getprocaddress_e("glTransformFeedbackVaryings")) + ccall(glTransformFeedbackVaryings_handle[], Cvoid, (GLuint, GLsizei, Ptr{Ptr{GLchar}}, GLenum), program, count, varyings, bufferMode) end +const glGetTransformFeedbackVarying_handle = Ref{Ptr{Cvoid}}() + function glGetTransformFeedbackVarying(program, index, bufSize, length, size, type, name) - ccall(getprocaddress_e("glGetTransformFeedbackVarying"), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLsizei}, Ptr{GLenum}, Ptr{GLchar}), program, index, bufSize, length, size, type, name) + glGetTransformFeedbackVarying_handle[] == C_NULL && (glGetTransformFeedbackVarying_handle[] = getprocaddress_e("glGetTransformFeedbackVarying")) + ccall(glGetTransformFeedbackVarying_handle[], Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLsizei}, Ptr{GLenum}, Ptr{GLchar}), program, index, bufSize, length, size, type, name) end +const glClampColor_handle = Ref{Ptr{Cvoid}}() + function glClampColor(target, clamp) - ccall(getprocaddress_e("glClampColor"), Cvoid, (GLenum, GLenum), target, clamp) + glClampColor_handle[] == C_NULL && (glClampColor_handle[] = getprocaddress_e("glClampColor")) + ccall(glClampColor_handle[], Cvoid, (GLenum, GLenum), target, clamp) end +const glBeginConditionalRender_handle = Ref{Ptr{Cvoid}}() + function glBeginConditionalRender(id, mode) - ccall(getprocaddress_e("glBeginConditionalRender"), Cvoid, (GLuint, GLenum), id, mode) + glBeginConditionalRender_handle[] == C_NULL && (glBeginConditionalRender_handle[] = getprocaddress_e("glBeginConditionalRender")) + ccall(glBeginConditionalRender_handle[], Cvoid, (GLuint, GLenum), id, mode) end +const glEndConditionalRender_handle = Ref{Ptr{Cvoid}}() + function glEndConditionalRender() - ccall(getprocaddress_e("glEndConditionalRender"), Cvoid, ()) + glEndConditionalRender_handle[] == C_NULL && (glEndConditionalRender_handle[] = getprocaddress_e("glEndConditionalRender")) + ccall(glEndConditionalRender_handle[], Cvoid, ()) end +const glVertexAttribIPointer_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribIPointer(index, size, type, stride, pointer) - ccall(getprocaddress_e("glVertexAttribIPointer"), Cvoid, (GLuint, GLint, GLenum, GLsizei, Ptr{Cvoid}), index, size, type, stride, pointer) + glVertexAttribIPointer_handle[] == C_NULL && (glVertexAttribIPointer_handle[] = getprocaddress_e("glVertexAttribIPointer")) + ccall(glVertexAttribIPointer_handle[], Cvoid, (GLuint, GLint, GLenum, GLsizei, Ptr{Cvoid}), index, size, type, stride, pointer) end +const glGetVertexAttribIiv_handle = Ref{Ptr{Cvoid}}() + function glGetVertexAttribIiv(index, pname, params) - ccall(getprocaddress_e("glGetVertexAttribIiv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), index, pname, params) + glGetVertexAttribIiv_handle[] == C_NULL && (glGetVertexAttribIiv_handle[] = getprocaddress_e("glGetVertexAttribIiv")) + ccall(glGetVertexAttribIiv_handle[], Cvoid, (GLuint, GLenum, Ptr{GLint}), index, pname, params) end +const glGetVertexAttribIuiv_handle = Ref{Ptr{Cvoid}}() + function glGetVertexAttribIuiv(index, pname, params) - ccall(getprocaddress_e("glGetVertexAttribIuiv"), Cvoid, (GLuint, GLenum, Ptr{GLuint}), index, pname, params) + glGetVertexAttribIuiv_handle[] == C_NULL && (glGetVertexAttribIuiv_handle[] = getprocaddress_e("glGetVertexAttribIuiv")) + ccall(glGetVertexAttribIuiv_handle[], Cvoid, (GLuint, GLenum, Ptr{GLuint}), index, pname, params) end +const glVertexAttribI1i_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribI1i(index, x) - ccall(getprocaddress_e("glVertexAttribI1i"), Cvoid, (GLuint, GLint), index, x) + glVertexAttribI1i_handle[] == C_NULL && (glVertexAttribI1i_handle[] = getprocaddress_e("glVertexAttribI1i")) + ccall(glVertexAttribI1i_handle[], Cvoid, (GLuint, GLint), index, x) end +const glVertexAttribI2i_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribI2i(index, x, y) - ccall(getprocaddress_e("glVertexAttribI2i"), Cvoid, (GLuint, GLint, GLint), index, x, y) + glVertexAttribI2i_handle[] == C_NULL && (glVertexAttribI2i_handle[] = getprocaddress_e("glVertexAttribI2i")) + ccall(glVertexAttribI2i_handle[], Cvoid, (GLuint, GLint, GLint), index, x, y) end +const glVertexAttribI3i_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribI3i(index, x, y, z) - ccall(getprocaddress_e("glVertexAttribI3i"), Cvoid, (GLuint, GLint, GLint, GLint), index, x, y, z) + glVertexAttribI3i_handle[] == C_NULL && (glVertexAttribI3i_handle[] = getprocaddress_e("glVertexAttribI3i")) + ccall(glVertexAttribI3i_handle[], Cvoid, (GLuint, GLint, GLint, GLint), index, x, y, z) end +const glVertexAttribI4i_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribI4i(index, x, y, z, w) - ccall(getprocaddress_e("glVertexAttribI4i"), Cvoid, (GLuint, GLint, GLint, GLint, GLint), index, x, y, z, w) + glVertexAttribI4i_handle[] == C_NULL && (glVertexAttribI4i_handle[] = getprocaddress_e("glVertexAttribI4i")) + ccall(glVertexAttribI4i_handle[], Cvoid, (GLuint, GLint, GLint, GLint, GLint), index, x, y, z, w) end +const glVertexAttribI1ui_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribI1ui(index, x) - ccall(getprocaddress_e("glVertexAttribI1ui"), Cvoid, (GLuint, GLuint), index, x) + glVertexAttribI1ui_handle[] == C_NULL && (glVertexAttribI1ui_handle[] = getprocaddress_e("glVertexAttribI1ui")) + ccall(glVertexAttribI1ui_handle[], Cvoid, (GLuint, GLuint), index, x) end +const glVertexAttribI2ui_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribI2ui(index, x, y) - ccall(getprocaddress_e("glVertexAttribI2ui"), Cvoid, (GLuint, GLuint, GLuint), index, x, y) + glVertexAttribI2ui_handle[] == C_NULL && (glVertexAttribI2ui_handle[] = getprocaddress_e("glVertexAttribI2ui")) + ccall(glVertexAttribI2ui_handle[], Cvoid, (GLuint, GLuint, GLuint), index, x, y) end +const glVertexAttribI3ui_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribI3ui(index, x, y, z) - ccall(getprocaddress_e("glVertexAttribI3ui"), Cvoid, (GLuint, GLuint, GLuint, GLuint), index, x, y, z) + glVertexAttribI3ui_handle[] == C_NULL && (glVertexAttribI3ui_handle[] = getprocaddress_e("glVertexAttribI3ui")) + ccall(glVertexAttribI3ui_handle[], Cvoid, (GLuint, GLuint, GLuint, GLuint), index, x, y, z) end +const glVertexAttribI4ui_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribI4ui(index, x, y, z, w) - ccall(getprocaddress_e("glVertexAttribI4ui"), Cvoid, (GLuint, GLuint, GLuint, GLuint, GLuint), index, x, y, z, w) + glVertexAttribI4ui_handle[] == C_NULL && (glVertexAttribI4ui_handle[] = getprocaddress_e("glVertexAttribI4ui")) + ccall(glVertexAttribI4ui_handle[], Cvoid, (GLuint, GLuint, GLuint, GLuint, GLuint), index, x, y, z, w) end +const glVertexAttribI1iv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribI1iv(index, v) - ccall(getprocaddress_e("glVertexAttribI1iv"), Cvoid, (GLuint, Ptr{GLint}), index, v) + glVertexAttribI1iv_handle[] == C_NULL && (glVertexAttribI1iv_handle[] = getprocaddress_e("glVertexAttribI1iv")) + ccall(glVertexAttribI1iv_handle[], Cvoid, (GLuint, Ptr{GLint}), index, v) end +const glVertexAttribI2iv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribI2iv(index, v) - ccall(getprocaddress_e("glVertexAttribI2iv"), Cvoid, (GLuint, Ptr{GLint}), index, v) + glVertexAttribI2iv_handle[] == C_NULL && (glVertexAttribI2iv_handle[] = getprocaddress_e("glVertexAttribI2iv")) + ccall(glVertexAttribI2iv_handle[], Cvoid, (GLuint, Ptr{GLint}), index, v) end +const glVertexAttribI3iv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribI3iv(index, v) - ccall(getprocaddress_e("glVertexAttribI3iv"), Cvoid, (GLuint, Ptr{GLint}), index, v) + glVertexAttribI3iv_handle[] == C_NULL && (glVertexAttribI3iv_handle[] = getprocaddress_e("glVertexAttribI3iv")) + ccall(glVertexAttribI3iv_handle[], Cvoid, (GLuint, Ptr{GLint}), index, v) end +const glVertexAttribI4iv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribI4iv(index, v) - ccall(getprocaddress_e("glVertexAttribI4iv"), Cvoid, (GLuint, Ptr{GLint}), index, v) + glVertexAttribI4iv_handle[] == C_NULL && (glVertexAttribI4iv_handle[] = getprocaddress_e("glVertexAttribI4iv")) + ccall(glVertexAttribI4iv_handle[], Cvoid, (GLuint, Ptr{GLint}), index, v) end +const glVertexAttribI1uiv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribI1uiv(index, v) - ccall(getprocaddress_e("glVertexAttribI1uiv"), Cvoid, (GLuint, Ptr{GLuint}), index, v) + glVertexAttribI1uiv_handle[] == C_NULL && (glVertexAttribI1uiv_handle[] = getprocaddress_e("glVertexAttribI1uiv")) + ccall(glVertexAttribI1uiv_handle[], Cvoid, (GLuint, Ptr{GLuint}), index, v) end +const glVertexAttribI2uiv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribI2uiv(index, v) - ccall(getprocaddress_e("glVertexAttribI2uiv"), Cvoid, (GLuint, Ptr{GLuint}), index, v) + glVertexAttribI2uiv_handle[] == C_NULL && (glVertexAttribI2uiv_handle[] = getprocaddress_e("glVertexAttribI2uiv")) + ccall(glVertexAttribI2uiv_handle[], Cvoid, (GLuint, Ptr{GLuint}), index, v) end +const glVertexAttribI3uiv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribI3uiv(index, v) - ccall(getprocaddress_e("glVertexAttribI3uiv"), Cvoid, (GLuint, Ptr{GLuint}), index, v) + glVertexAttribI3uiv_handle[] == C_NULL && (glVertexAttribI3uiv_handle[] = getprocaddress_e("glVertexAttribI3uiv")) + ccall(glVertexAttribI3uiv_handle[], Cvoid, (GLuint, Ptr{GLuint}), index, v) end +const glVertexAttribI4uiv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribI4uiv(index, v) - ccall(getprocaddress_e("glVertexAttribI4uiv"), Cvoid, (GLuint, Ptr{GLuint}), index, v) + glVertexAttribI4uiv_handle[] == C_NULL && (glVertexAttribI4uiv_handle[] = getprocaddress_e("glVertexAttribI4uiv")) + ccall(glVertexAttribI4uiv_handle[], Cvoid, (GLuint, Ptr{GLuint}), index, v) end +const glVertexAttribI4bv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribI4bv(index, v) - ccall(getprocaddress_e("glVertexAttribI4bv"), Cvoid, (GLuint, Ptr{GLbyte}), index, v) + glVertexAttribI4bv_handle[] == C_NULL && (glVertexAttribI4bv_handle[] = getprocaddress_e("glVertexAttribI4bv")) + ccall(glVertexAttribI4bv_handle[], Cvoid, (GLuint, Ptr{GLbyte}), index, v) end +const glVertexAttribI4sv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribI4sv(index, v) - ccall(getprocaddress_e("glVertexAttribI4sv"), Cvoid, (GLuint, Ptr{GLshort}), index, v) + glVertexAttribI4sv_handle[] == C_NULL && (glVertexAttribI4sv_handle[] = getprocaddress_e("glVertexAttribI4sv")) + ccall(glVertexAttribI4sv_handle[], Cvoid, (GLuint, Ptr{GLshort}), index, v) end +const glVertexAttribI4ubv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribI4ubv(index, v) - ccall(getprocaddress_e("glVertexAttribI4ubv"), Cvoid, (GLuint, Ptr{GLubyte}), index, v) + glVertexAttribI4ubv_handle[] == C_NULL && (glVertexAttribI4ubv_handle[] = getprocaddress_e("glVertexAttribI4ubv")) + ccall(glVertexAttribI4ubv_handle[], Cvoid, (GLuint, Ptr{GLubyte}), index, v) end +const glVertexAttribI4usv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribI4usv(index, v) - ccall(getprocaddress_e("glVertexAttribI4usv"), Cvoid, (GLuint, Ptr{GLushort}), index, v) + glVertexAttribI4usv_handle[] == C_NULL && (glVertexAttribI4usv_handle[] = getprocaddress_e("glVertexAttribI4usv")) + ccall(glVertexAttribI4usv_handle[], Cvoid, (GLuint, Ptr{GLushort}), index, v) end +const glGetUniformuiv_handle = Ref{Ptr{Cvoid}}() + function glGetUniformuiv(program, location, params) - ccall(getprocaddress_e("glGetUniformuiv"), Cvoid, (GLuint, GLint, Ptr{GLuint}), program, location, params) + glGetUniformuiv_handle[] == C_NULL && (glGetUniformuiv_handle[] = getprocaddress_e("glGetUniformuiv")) + ccall(glGetUniformuiv_handle[], Cvoid, (GLuint, GLint, Ptr{GLuint}), program, location, params) end +const glBindFragDataLocation_handle = Ref{Ptr{Cvoid}}() + function glBindFragDataLocation(program, color, name) - ccall(getprocaddress_e("glBindFragDataLocation"), Cvoid, (GLuint, GLuint, Ptr{GLchar}), program, color, name) + glBindFragDataLocation_handle[] == C_NULL && (glBindFragDataLocation_handle[] = getprocaddress_e("glBindFragDataLocation")) + ccall(glBindFragDataLocation_handle[], Cvoid, (GLuint, GLuint, Ptr{GLchar}), program, color, name) end +const glGetFragDataLocation_handle = Ref{Ptr{Cvoid}}() + function glGetFragDataLocation(program, name) - ccall(getprocaddress_e("glGetFragDataLocation"), GLint, (GLuint, Ptr{GLchar}), program, name) + glGetFragDataLocation_handle[] == C_NULL && (glGetFragDataLocation_handle[] = getprocaddress_e("glGetFragDataLocation")) + ccall(glGetFragDataLocation_handle[], GLint, (GLuint, Ptr{GLchar}), program, name) end +const glUniform1ui_handle = Ref{Ptr{Cvoid}}() + function glUniform1ui(location, v0) - ccall(getprocaddress_e("glUniform1ui"), Cvoid, (GLint, GLuint), location, v0) + glUniform1ui_handle[] == C_NULL && (glUniform1ui_handle[] = getprocaddress_e("glUniform1ui")) + ccall(glUniform1ui_handle[], Cvoid, (GLint, GLuint), location, v0) end +const glUniform2ui_handle = Ref{Ptr{Cvoid}}() + function glUniform2ui(location, v0, v1) - ccall(getprocaddress_e("glUniform2ui"), Cvoid, (GLint, GLuint, GLuint), location, v0, v1) + glUniform2ui_handle[] == C_NULL && (glUniform2ui_handle[] = getprocaddress_e("glUniform2ui")) + ccall(glUniform2ui_handle[], Cvoid, (GLint, GLuint, GLuint), location, v0, v1) end +const glUniform3ui_handle = Ref{Ptr{Cvoid}}() + function glUniform3ui(location, v0, v1, v2) - ccall(getprocaddress_e("glUniform3ui"), Cvoid, (GLint, GLuint, GLuint, GLuint), location, v0, v1, v2) + glUniform3ui_handle[] == C_NULL && (glUniform3ui_handle[] = getprocaddress_e("glUniform3ui")) + ccall(glUniform3ui_handle[], Cvoid, (GLint, GLuint, GLuint, GLuint), location, v0, v1, v2) end +const glUniform4ui_handle = Ref{Ptr{Cvoid}}() + function glUniform4ui(location, v0, v1, v2, v3) - ccall(getprocaddress_e("glUniform4ui"), Cvoid, (GLint, GLuint, GLuint, GLuint, GLuint), location, v0, v1, v2, v3) + glUniform4ui_handle[] == C_NULL && (glUniform4ui_handle[] = getprocaddress_e("glUniform4ui")) + ccall(glUniform4ui_handle[], Cvoid, (GLint, GLuint, GLuint, GLuint, GLuint), location, v0, v1, v2, v3) end +const glUniform1uiv_handle = Ref{Ptr{Cvoid}}() + function glUniform1uiv(location, count, value) - ccall(getprocaddress_e("glUniform1uiv"), Cvoid, (GLint, GLsizei, Ptr{GLuint}), location, count, value) + glUniform1uiv_handle[] == C_NULL && (glUniform1uiv_handle[] = getprocaddress_e("glUniform1uiv")) + ccall(glUniform1uiv_handle[], Cvoid, (GLint, GLsizei, Ptr{GLuint}), location, count, value) end +const glUniform2uiv_handle = Ref{Ptr{Cvoid}}() + function glUniform2uiv(location, count, value) - ccall(getprocaddress_e("glUniform2uiv"), Cvoid, (GLint, GLsizei, Ptr{GLuint}), location, count, value) + glUniform2uiv_handle[] == C_NULL && (glUniform2uiv_handle[] = getprocaddress_e("glUniform2uiv")) + ccall(glUniform2uiv_handle[], Cvoid, (GLint, GLsizei, Ptr{GLuint}), location, count, value) end +const glUniform3uiv_handle = Ref{Ptr{Cvoid}}() + function glUniform3uiv(location, count, value) - ccall(getprocaddress_e("glUniform3uiv"), Cvoid, (GLint, GLsizei, Ptr{GLuint}), location, count, value) + glUniform3uiv_handle[] == C_NULL && (glUniform3uiv_handle[] = getprocaddress_e("glUniform3uiv")) + ccall(glUniform3uiv_handle[], Cvoid, (GLint, GLsizei, Ptr{GLuint}), location, count, value) end +const glUniform4uiv_handle = Ref{Ptr{Cvoid}}() + function glUniform4uiv(location, count, value) - ccall(getprocaddress_e("glUniform4uiv"), Cvoid, (GLint, GLsizei, Ptr{GLuint}), location, count, value) + glUniform4uiv_handle[] == C_NULL && (glUniform4uiv_handle[] = getprocaddress_e("glUniform4uiv")) + ccall(glUniform4uiv_handle[], Cvoid, (GLint, GLsizei, Ptr{GLuint}), location, count, value) end +const glTexParameterIiv_handle = Ref{Ptr{Cvoid}}() + function glTexParameterIiv(target, pname, params) - ccall(getprocaddress_e("glTexParameterIiv"), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) + glTexParameterIiv_handle[] == C_NULL && (glTexParameterIiv_handle[] = getprocaddress_e("glTexParameterIiv")) + ccall(glTexParameterIiv_handle[], Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) end +const glTexParameterIuiv_handle = Ref{Ptr{Cvoid}}() + function glTexParameterIuiv(target, pname, params) - ccall(getprocaddress_e("glTexParameterIuiv"), Cvoid, (GLenum, GLenum, Ptr{GLuint}), target, pname, params) + glTexParameterIuiv_handle[] == C_NULL && (glTexParameterIuiv_handle[] = getprocaddress_e("glTexParameterIuiv")) + ccall(glTexParameterIuiv_handle[], Cvoid, (GLenum, GLenum, Ptr{GLuint}), target, pname, params) end +const glGetTexParameterIiv_handle = Ref{Ptr{Cvoid}}() + function glGetTexParameterIiv(target, pname, params) - ccall(getprocaddress_e("glGetTexParameterIiv"), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) + glGetTexParameterIiv_handle[] == C_NULL && (glGetTexParameterIiv_handle[] = getprocaddress_e("glGetTexParameterIiv")) + ccall(glGetTexParameterIiv_handle[], Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) end +const glGetTexParameterIuiv_handle = Ref{Ptr{Cvoid}}() + function glGetTexParameterIuiv(target, pname, params) - ccall(getprocaddress_e("glGetTexParameterIuiv"), Cvoid, (GLenum, GLenum, Ptr{GLuint}), target, pname, params) + glGetTexParameterIuiv_handle[] == C_NULL && (glGetTexParameterIuiv_handle[] = getprocaddress_e("glGetTexParameterIuiv")) + ccall(glGetTexParameterIuiv_handle[], Cvoid, (GLenum, GLenum, Ptr{GLuint}), target, pname, params) end +const glClearBufferiv_handle = Ref{Ptr{Cvoid}}() + function glClearBufferiv(buffer, drawbuffer, value) - ccall(getprocaddress_e("glClearBufferiv"), Cvoid, (GLenum, GLint, Ptr{GLint}), buffer, drawbuffer, value) + glClearBufferiv_handle[] == C_NULL && (glClearBufferiv_handle[] = getprocaddress_e("glClearBufferiv")) + ccall(glClearBufferiv_handle[], Cvoid, (GLenum, GLint, Ptr{GLint}), buffer, drawbuffer, value) end +const glClearBufferuiv_handle = Ref{Ptr{Cvoid}}() + function glClearBufferuiv(buffer, drawbuffer, value) - ccall(getprocaddress_e("glClearBufferuiv"), Cvoid, (GLenum, GLint, Ptr{GLuint}), buffer, drawbuffer, value) + glClearBufferuiv_handle[] == C_NULL && (glClearBufferuiv_handle[] = getprocaddress_e("glClearBufferuiv")) + ccall(glClearBufferuiv_handle[], Cvoid, (GLenum, GLint, Ptr{GLuint}), buffer, drawbuffer, value) end +const glClearBufferfv_handle = Ref{Ptr{Cvoid}}() + function glClearBufferfv(buffer, drawbuffer, value) - ccall(getprocaddress_e("glClearBufferfv"), Cvoid, (GLenum, GLint, Ptr{GLfloat}), buffer, drawbuffer, value) + glClearBufferfv_handle[] == C_NULL && (glClearBufferfv_handle[] = getprocaddress_e("glClearBufferfv")) + ccall(glClearBufferfv_handle[], Cvoid, (GLenum, GLint, Ptr{GLfloat}), buffer, drawbuffer, value) end +const glClearBufferfi_handle = Ref{Ptr{Cvoid}}() + function glClearBufferfi(buffer, drawbuffer, depth, stencil) - ccall(getprocaddress_e("glClearBufferfi"), Cvoid, (GLenum, GLint, GLfloat, GLint), buffer, drawbuffer, depth, stencil) + glClearBufferfi_handle[] == C_NULL && (glClearBufferfi_handle[] = getprocaddress_e("glClearBufferfi")) + ccall(glClearBufferfi_handle[], Cvoid, (GLenum, GLint, GLfloat, GLint), buffer, drawbuffer, depth, stencil) end +const glGetStringi_handle = Ref{Ptr{Cvoid}}() + function glGetStringi(name, index) - ccall(getprocaddress_e("glGetStringi"), Ptr{GLubyte}, (GLenum, GLuint), name, index) + glGetStringi_handle[] == C_NULL && (glGetStringi_handle[] = getprocaddress_e("glGetStringi")) + ccall(glGetStringi_handle[], Ptr{GLubyte}, (GLenum, GLuint), name, index) end +const glIsRenderbuffer_handle = Ref{Ptr{Cvoid}}() + function glIsRenderbuffer(renderbuffer) - ccall(getprocaddress_e("glIsRenderbuffer"), GLboolean, (GLuint,), renderbuffer) + glIsRenderbuffer_handle[] == C_NULL && (glIsRenderbuffer_handle[] = getprocaddress_e("glIsRenderbuffer")) + ccall(glIsRenderbuffer_handle[], GLboolean, (GLuint,), renderbuffer) end +const glBindRenderbuffer_handle = Ref{Ptr{Cvoid}}() + function glBindRenderbuffer(target, renderbuffer) - ccall(getprocaddress_e("glBindRenderbuffer"), Cvoid, (GLenum, GLuint), target, renderbuffer) + glBindRenderbuffer_handle[] == C_NULL && (glBindRenderbuffer_handle[] = getprocaddress_e("glBindRenderbuffer")) + ccall(glBindRenderbuffer_handle[], Cvoid, (GLenum, GLuint), target, renderbuffer) end +const glDeleteRenderbuffers_handle = Ref{Ptr{Cvoid}}() + function glDeleteRenderbuffers(n, renderbuffers) - ccall(getprocaddress_e("glDeleteRenderbuffers"), Cvoid, (GLsizei, Ptr{GLuint}), n, renderbuffers) + glDeleteRenderbuffers_handle[] == C_NULL && (glDeleteRenderbuffers_handle[] = getprocaddress_e("glDeleteRenderbuffers")) + ccall(glDeleteRenderbuffers_handle[], Cvoid, (GLsizei, Ptr{GLuint}), n, renderbuffers) end +const glGenRenderbuffers_handle = Ref{Ptr{Cvoid}}() + function glGenRenderbuffers(n, renderbuffers) - ccall(getprocaddress_e("glGenRenderbuffers"), Cvoid, (GLsizei, Ptr{GLuint}), n, renderbuffers) + glGenRenderbuffers_handle[] == C_NULL && (glGenRenderbuffers_handle[] = getprocaddress_e("glGenRenderbuffers")) + ccall(glGenRenderbuffers_handle[], Cvoid, (GLsizei, Ptr{GLuint}), n, renderbuffers) end +const glRenderbufferStorage_handle = Ref{Ptr{Cvoid}}() + function glRenderbufferStorage(target, internalformat, width, height) - ccall(getprocaddress_e("glRenderbufferStorage"), Cvoid, (GLenum, GLenum, GLsizei, GLsizei), target, internalformat, width, height) + glRenderbufferStorage_handle[] == C_NULL && (glRenderbufferStorage_handle[] = getprocaddress_e("glRenderbufferStorage")) + ccall(glRenderbufferStorage_handle[], Cvoid, (GLenum, GLenum, GLsizei, GLsizei), target, internalformat, width, height) end +const glGetRenderbufferParameteriv_handle = Ref{Ptr{Cvoid}}() + function glGetRenderbufferParameteriv(target, pname, params) - ccall(getprocaddress_e("glGetRenderbufferParameteriv"), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) + glGetRenderbufferParameteriv_handle[] == C_NULL && (glGetRenderbufferParameteriv_handle[] = getprocaddress_e("glGetRenderbufferParameteriv")) + ccall(glGetRenderbufferParameteriv_handle[], Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) end +const glIsFramebuffer_handle = Ref{Ptr{Cvoid}}() + function glIsFramebuffer(framebuffer) - ccall(getprocaddress_e("glIsFramebuffer"), GLboolean, (GLuint,), framebuffer) + glIsFramebuffer_handle[] == C_NULL && (glIsFramebuffer_handle[] = getprocaddress_e("glIsFramebuffer")) + ccall(glIsFramebuffer_handle[], GLboolean, (GLuint,), framebuffer) end +const glBindFramebuffer_handle = Ref{Ptr{Cvoid}}() + function glBindFramebuffer(target, framebuffer) - ccall(getprocaddress_e("glBindFramebuffer"), Cvoid, (GLenum, GLuint), target, framebuffer) + glBindFramebuffer_handle[] == C_NULL && (glBindFramebuffer_handle[] = getprocaddress_e("glBindFramebuffer")) + ccall(glBindFramebuffer_handle[], Cvoid, (GLenum, GLuint), target, framebuffer) end +const glDeleteFramebuffers_handle = Ref{Ptr{Cvoid}}() + function glDeleteFramebuffers(n, framebuffers) - ccall(getprocaddress_e("glDeleteFramebuffers"), Cvoid, (GLsizei, Ptr{GLuint}), n, framebuffers) + glDeleteFramebuffers_handle[] == C_NULL && (glDeleteFramebuffers_handle[] = getprocaddress_e("glDeleteFramebuffers")) + ccall(glDeleteFramebuffers_handle[], Cvoid, (GLsizei, Ptr{GLuint}), n, framebuffers) end +const glGenFramebuffers_handle = Ref{Ptr{Cvoid}}() + function glGenFramebuffers(n, framebuffers) - ccall(getprocaddress_e("glGenFramebuffers"), Cvoid, (GLsizei, Ptr{GLuint}), n, framebuffers) + glGenFramebuffers_handle[] == C_NULL && (glGenFramebuffers_handle[] = getprocaddress_e("glGenFramebuffers")) + ccall(glGenFramebuffers_handle[], Cvoid, (GLsizei, Ptr{GLuint}), n, framebuffers) end +const glCheckFramebufferStatus_handle = Ref{Ptr{Cvoid}}() + function glCheckFramebufferStatus(target) - ccall(getprocaddress_e("glCheckFramebufferStatus"), GLenum, (GLenum,), target) + glCheckFramebufferStatus_handle[] == C_NULL && (glCheckFramebufferStatus_handle[] = getprocaddress_e("glCheckFramebufferStatus")) + ccall(glCheckFramebufferStatus_handle[], GLenum, (GLenum,), target) end +const glFramebufferTexture1D_handle = Ref{Ptr{Cvoid}}() + function glFramebufferTexture1D(target, attachment, textarget, texture, level) - ccall(getprocaddress_e("glFramebufferTexture1D"), Cvoid, (GLenum, GLenum, GLenum, GLuint, GLint), target, attachment, textarget, texture, level) + glFramebufferTexture1D_handle[] == C_NULL && (glFramebufferTexture1D_handle[] = getprocaddress_e("glFramebufferTexture1D")) + ccall(glFramebufferTexture1D_handle[], Cvoid, (GLenum, GLenum, GLenum, GLuint, GLint), target, attachment, textarget, texture, level) end +const glFramebufferTexture2D_handle = Ref{Ptr{Cvoid}}() + function glFramebufferTexture2D(target, attachment, textarget, texture, level) - ccall(getprocaddress_e("glFramebufferTexture2D"), Cvoid, (GLenum, GLenum, GLenum, GLuint, GLint), target, attachment, textarget, texture, level) + glFramebufferTexture2D_handle[] == C_NULL && (glFramebufferTexture2D_handle[] = getprocaddress_e("glFramebufferTexture2D")) + ccall(glFramebufferTexture2D_handle[], Cvoid, (GLenum, GLenum, GLenum, GLuint, GLint), target, attachment, textarget, texture, level) end +const glFramebufferTexture3D_handle = Ref{Ptr{Cvoid}}() + function glFramebufferTexture3D(target, attachment, textarget, texture, level, zoffset) - ccall(getprocaddress_e("glFramebufferTexture3D"), Cvoid, (GLenum, GLenum, GLenum, GLuint, GLint, GLint), target, attachment, textarget, texture, level, zoffset) + glFramebufferTexture3D_handle[] == C_NULL && (glFramebufferTexture3D_handle[] = getprocaddress_e("glFramebufferTexture3D")) + ccall(glFramebufferTexture3D_handle[], Cvoid, (GLenum, GLenum, GLenum, GLuint, GLint, GLint), target, attachment, textarget, texture, level, zoffset) end +const glFramebufferRenderbuffer_handle = Ref{Ptr{Cvoid}}() + function glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) - ccall(getprocaddress_e("glFramebufferRenderbuffer"), Cvoid, (GLenum, GLenum, GLenum, GLuint), target, attachment, renderbuffertarget, renderbuffer) + glFramebufferRenderbuffer_handle[] == C_NULL && (glFramebufferRenderbuffer_handle[] = getprocaddress_e("glFramebufferRenderbuffer")) + ccall(glFramebufferRenderbuffer_handle[], Cvoid, (GLenum, GLenum, GLenum, GLuint), target, attachment, renderbuffertarget, renderbuffer) end +const glGetFramebufferAttachmentParameteriv_handle = Ref{Ptr{Cvoid}}() + function glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) - ccall(getprocaddress_e("glGetFramebufferAttachmentParameteriv"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), target, attachment, pname, params) + glGetFramebufferAttachmentParameteriv_handle[] == C_NULL && (glGetFramebufferAttachmentParameteriv_handle[] = getprocaddress_e("glGetFramebufferAttachmentParameteriv")) + ccall(glGetFramebufferAttachmentParameteriv_handle[], Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), target, attachment, pname, params) end +const glGenerateMipmap_handle = Ref{Ptr{Cvoid}}() + function glGenerateMipmap(target) - ccall(getprocaddress_e("glGenerateMipmap"), Cvoid, (GLenum,), target) + glGenerateMipmap_handle[] == C_NULL && (glGenerateMipmap_handle[] = getprocaddress_e("glGenerateMipmap")) + ccall(glGenerateMipmap_handle[], Cvoid, (GLenum,), target) end +const glBlitFramebuffer_handle = Ref{Ptr{Cvoid}}() + function glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter) - ccall(getprocaddress_e("glBlitFramebuffer"), Cvoid, (GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum), srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter) + glBlitFramebuffer_handle[] == C_NULL && (glBlitFramebuffer_handle[] = getprocaddress_e("glBlitFramebuffer")) + ccall(glBlitFramebuffer_handle[], Cvoid, (GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum), srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter) end +const glRenderbufferStorageMultisample_handle = Ref{Ptr{Cvoid}}() + function glRenderbufferStorageMultisample(target, samples, internalformat, width, height) - ccall(getprocaddress_e("glRenderbufferStorageMultisample"), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei), target, samples, internalformat, width, height) + glRenderbufferStorageMultisample_handle[] == C_NULL && (glRenderbufferStorageMultisample_handle[] = getprocaddress_e("glRenderbufferStorageMultisample")) + ccall(glRenderbufferStorageMultisample_handle[], Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei), target, samples, internalformat, width, height) end +const glFramebufferTextureLayer_handle = Ref{Ptr{Cvoid}}() + function glFramebufferTextureLayer(target, attachment, texture, level, layer) - ccall(getprocaddress_e("glFramebufferTextureLayer"), Cvoid, (GLenum, GLenum, GLuint, GLint, GLint), target, attachment, texture, level, layer) + glFramebufferTextureLayer_handle[] == C_NULL && (glFramebufferTextureLayer_handle[] = getprocaddress_e("glFramebufferTextureLayer")) + ccall(glFramebufferTextureLayer_handle[], Cvoid, (GLenum, GLenum, GLuint, GLint, GLint), target, attachment, texture, level, layer) end +const glMapBufferRange_handle = Ref{Ptr{Cvoid}}() + function glMapBufferRange(target, offset, length, access) - ccall(getprocaddress_e("glMapBufferRange"), Ptr{Cvoid}, (GLenum, GLintptr, GLsizeiptr, GLbitfield), target, offset, length, access) + glMapBufferRange_handle[] == C_NULL && (glMapBufferRange_handle[] = getprocaddress_e("glMapBufferRange")) + ccall(glMapBufferRange_handle[], Ptr{Cvoid}, (GLenum, GLintptr, GLsizeiptr, GLbitfield), target, offset, length, access) end +const glFlushMappedBufferRange_handle = Ref{Ptr{Cvoid}}() + function glFlushMappedBufferRange(target, offset, length) - ccall(getprocaddress_e("glFlushMappedBufferRange"), Cvoid, (GLenum, GLintptr, GLsizeiptr), target, offset, length) + glFlushMappedBufferRange_handle[] == C_NULL && (glFlushMappedBufferRange_handle[] = getprocaddress_e("glFlushMappedBufferRange")) + ccall(glFlushMappedBufferRange_handle[], Cvoid, (GLenum, GLintptr, GLsizeiptr), target, offset, length) end +const glBindVertexArray_handle = Ref{Ptr{Cvoid}}() + function glBindVertexArray(array) - ccall(getprocaddress_e("glBindVertexArray"), Cvoid, (GLuint,), array) + glBindVertexArray_handle[] == C_NULL && (glBindVertexArray_handle[] = getprocaddress_e("glBindVertexArray")) + ccall(glBindVertexArray_handle[], Cvoid, (GLuint,), array) end +const glDeleteVertexArrays_handle = Ref{Ptr{Cvoid}}() + function glDeleteVertexArrays(n, arrays) - ccall(getprocaddress_e("glDeleteVertexArrays"), Cvoid, (GLsizei, Ptr{GLuint}), n, arrays) + glDeleteVertexArrays_handle[] == C_NULL && (glDeleteVertexArrays_handle[] = getprocaddress_e("glDeleteVertexArrays")) + ccall(glDeleteVertexArrays_handle[], Cvoid, (GLsizei, Ptr{GLuint}), n, arrays) end +const glGenVertexArrays_handle = Ref{Ptr{Cvoid}}() + function glGenVertexArrays(n, arrays) - ccall(getprocaddress_e("glGenVertexArrays"), Cvoid, (GLsizei, Ptr{GLuint}), n, arrays) + glGenVertexArrays_handle[] == C_NULL && (glGenVertexArrays_handle[] = getprocaddress_e("glGenVertexArrays")) + ccall(glGenVertexArrays_handle[], Cvoid, (GLsizei, Ptr{GLuint}), n, arrays) end +const glIsVertexArray_handle = Ref{Ptr{Cvoid}}() + function glIsVertexArray(array) - ccall(getprocaddress_e("glIsVertexArray"), GLboolean, (GLuint,), array) + glIsVertexArray_handle[] == C_NULL && (glIsVertexArray_handle[] = getprocaddress_e("glIsVertexArray")) + ccall(glIsVertexArray_handle[], GLboolean, (GLuint,), array) end # typedef void ( APIENTRYP PFNGLDRAWARRAYSINSTANCEDPROC ) ( GLenum mode , GLint first , GLsizei count , GLsizei instancecount ) @@ -2112,52 +2970,88 @@ const PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLUNIFORMBLOCKBINDINGPROC ) ( GLuint program , GLuint uniformBlockIndex , GLuint uniformBlockBinding ) const PFNGLUNIFORMBLOCKBINDINGPROC = Ptr{Cvoid} +const glDrawArraysInstanced_handle = Ref{Ptr{Cvoid}}() + function glDrawArraysInstanced(mode, first, count, instancecount) - ccall(getprocaddress_e("glDrawArraysInstanced"), Cvoid, (GLenum, GLint, GLsizei, GLsizei), mode, first, count, instancecount) + glDrawArraysInstanced_handle[] == C_NULL && (glDrawArraysInstanced_handle[] = getprocaddress_e("glDrawArraysInstanced")) + ccall(glDrawArraysInstanced_handle[], Cvoid, (GLenum, GLint, GLsizei, GLsizei), mode, first, count, instancecount) end +const glDrawElementsInstanced_handle = Ref{Ptr{Cvoid}}() + function glDrawElementsInstanced(mode, count, type, indices, instancecount) - ccall(getprocaddress_e("glDrawElementsInstanced"), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLsizei), mode, count, type, indices, instancecount) + glDrawElementsInstanced_handle[] == C_NULL && (glDrawElementsInstanced_handle[] = getprocaddress_e("glDrawElementsInstanced")) + ccall(glDrawElementsInstanced_handle[], Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLsizei), mode, count, type, indices, instancecount) end +const glTexBuffer_handle = Ref{Ptr{Cvoid}}() + function glTexBuffer(target, internalformat, buffer) - ccall(getprocaddress_e("glTexBuffer"), Cvoid, (GLenum, GLenum, GLuint), target, internalformat, buffer) + glTexBuffer_handle[] == C_NULL && (glTexBuffer_handle[] = getprocaddress_e("glTexBuffer")) + ccall(glTexBuffer_handle[], Cvoid, (GLenum, GLenum, GLuint), target, internalformat, buffer) end +const glPrimitiveRestartIndex_handle = Ref{Ptr{Cvoid}}() + function glPrimitiveRestartIndex(index) - ccall(getprocaddress_e("glPrimitiveRestartIndex"), Cvoid, (GLuint,), index) + glPrimitiveRestartIndex_handle[] == C_NULL && (glPrimitiveRestartIndex_handle[] = getprocaddress_e("glPrimitiveRestartIndex")) + ccall(glPrimitiveRestartIndex_handle[], Cvoid, (GLuint,), index) end +const glCopyBufferSubData_handle = Ref{Ptr{Cvoid}}() + function glCopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size) - ccall(getprocaddress_e("glCopyBufferSubData"), Cvoid, (GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr), readTarget, writeTarget, readOffset, writeOffset, size) + glCopyBufferSubData_handle[] == C_NULL && (glCopyBufferSubData_handle[] = getprocaddress_e("glCopyBufferSubData")) + ccall(glCopyBufferSubData_handle[], Cvoid, (GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr), readTarget, writeTarget, readOffset, writeOffset, size) end +const glGetUniformIndices_handle = Ref{Ptr{Cvoid}}() + function glGetUniformIndices(program, uniformCount, uniformNames, uniformIndices) - ccall(getprocaddress_e("glGetUniformIndices"), Cvoid, (GLuint, GLsizei, Ptr{Ptr{GLchar}}, Ptr{GLuint}), program, uniformCount, uniformNames, uniformIndices) + glGetUniformIndices_handle[] == C_NULL && (glGetUniformIndices_handle[] = getprocaddress_e("glGetUniformIndices")) + ccall(glGetUniformIndices_handle[], Cvoid, (GLuint, GLsizei, Ptr{Ptr{GLchar}}, Ptr{GLuint}), program, uniformCount, uniformNames, uniformIndices) end +const glGetActiveUniformsiv_handle = Ref{Ptr{Cvoid}}() + function glGetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params) - ccall(getprocaddress_e("glGetActiveUniformsiv"), Cvoid, (GLuint, GLsizei, Ptr{GLuint}, GLenum, Ptr{GLint}), program, uniformCount, uniformIndices, pname, params) + glGetActiveUniformsiv_handle[] == C_NULL && (glGetActiveUniformsiv_handle[] = getprocaddress_e("glGetActiveUniformsiv")) + ccall(glGetActiveUniformsiv_handle[], Cvoid, (GLuint, GLsizei, Ptr{GLuint}, GLenum, Ptr{GLint}), program, uniformCount, uniformIndices, pname, params) end +const glGetActiveUniformName_handle = Ref{Ptr{Cvoid}}() + function glGetActiveUniformName(program, uniformIndex, bufSize, length, uniformName) - ccall(getprocaddress_e("glGetActiveUniformName"), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), program, uniformIndex, bufSize, length, uniformName) + glGetActiveUniformName_handle[] == C_NULL && (glGetActiveUniformName_handle[] = getprocaddress_e("glGetActiveUniformName")) + ccall(glGetActiveUniformName_handle[], Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), program, uniformIndex, bufSize, length, uniformName) end +const glGetUniformBlockIndex_handle = Ref{Ptr{Cvoid}}() + function glGetUniformBlockIndex(program, uniformBlockName) - ccall(getprocaddress_e("glGetUniformBlockIndex"), GLuint, (GLuint, Ptr{GLchar}), program, uniformBlockName) + glGetUniformBlockIndex_handle[] == C_NULL && (glGetUniformBlockIndex_handle[] = getprocaddress_e("glGetUniformBlockIndex")) + ccall(glGetUniformBlockIndex_handle[], GLuint, (GLuint, Ptr{GLchar}), program, uniformBlockName) end +const glGetActiveUniformBlockiv_handle = Ref{Ptr{Cvoid}}() + function glGetActiveUniformBlockiv(program, uniformBlockIndex, pname, params) - ccall(getprocaddress_e("glGetActiveUniformBlockiv"), Cvoid, (GLuint, GLuint, GLenum, Ptr{GLint}), program, uniformBlockIndex, pname, params) + glGetActiveUniformBlockiv_handle[] == C_NULL && (glGetActiveUniformBlockiv_handle[] = getprocaddress_e("glGetActiveUniformBlockiv")) + ccall(glGetActiveUniformBlockiv_handle[], Cvoid, (GLuint, GLuint, GLenum, Ptr{GLint}), program, uniformBlockIndex, pname, params) end +const glGetActiveUniformBlockName_handle = Ref{Ptr{Cvoid}}() + function glGetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName) - ccall(getprocaddress_e("glGetActiveUniformBlockName"), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), program, uniformBlockIndex, bufSize, length, uniformBlockName) + glGetActiveUniformBlockName_handle[] == C_NULL && (glGetActiveUniformBlockName_handle[] = getprocaddress_e("glGetActiveUniformBlockName")) + ccall(glGetActiveUniformBlockName_handle[], Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), program, uniformBlockIndex, bufSize, length, uniformBlockName) end +const glUniformBlockBinding_handle = Ref{Ptr{Cvoid}}() + function glUniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding) - ccall(getprocaddress_e("glUniformBlockBinding"), Cvoid, (GLuint, GLuint, GLuint), program, uniformBlockIndex, uniformBlockBinding) + glUniformBlockBinding_handle[] == C_NULL && (glUniformBlockBinding_handle[] = getprocaddress_e("glUniformBlockBinding")) + ccall(glUniformBlockBinding_handle[], Cvoid, (GLuint, GLuint, GLuint), program, uniformBlockIndex, uniformBlockBinding) end mutable struct __GLsync end @@ -2225,80 +3119,137 @@ const PFNGLGETMULTISAMPLEFVPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLSAMPLEMASKIPROC ) ( GLuint maskNumber , GLbitfield mask ) const PFNGLSAMPLEMASKIPROC = Ptr{Cvoid} +const glDrawElementsBaseVertex_handle = Ref{Ptr{Cvoid}}() + function glDrawElementsBaseVertex(mode, count, type, indices, basevertex) - ccall(getprocaddress_e("glDrawElementsBaseVertex"), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLint), mode, count, type, indices, basevertex) + glDrawElementsBaseVertex_handle[] == C_NULL && (glDrawElementsBaseVertex_handle[] = getprocaddress_e("glDrawElementsBaseVertex")) + ccall(glDrawElementsBaseVertex_handle[], Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLint), mode, count, type, indices, basevertex) end +const glDrawRangeElementsBaseVertex_handle = Ref{Ptr{Cvoid}}() + function glDrawRangeElementsBaseVertex(mode, start, _end, count, type, indices, basevertex) - ccall(getprocaddress_e("glDrawRangeElementsBaseVertex"), Cvoid, (GLenum, GLuint, GLuint, GLsizei, GLenum, Ptr{Cvoid}, GLint), mode, start, _end, count, type, indices, basevertex) + glDrawRangeElementsBaseVertex_handle[] == C_NULL && (glDrawRangeElementsBaseVertex_handle[] = getprocaddress_e("glDrawRangeElementsBaseVertex")) + ccall(glDrawRangeElementsBaseVertex_handle[], Cvoid, (GLenum, GLuint, GLuint, GLsizei, GLenum, Ptr{Cvoid}, GLint), mode, start, _end, count, type, indices, basevertex) end +const glDrawElementsInstancedBaseVertex_handle = Ref{Ptr{Cvoid}}() + function glDrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex) - ccall(getprocaddress_e("glDrawElementsInstancedBaseVertex"), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLsizei, GLint), mode, count, type, indices, instancecount, basevertex) + glDrawElementsInstancedBaseVertex_handle[] == C_NULL && (glDrawElementsInstancedBaseVertex_handle[] = getprocaddress_e("glDrawElementsInstancedBaseVertex")) + ccall(glDrawElementsInstancedBaseVertex_handle[], Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLsizei, GLint), mode, count, type, indices, instancecount, basevertex) end +const glMultiDrawElementsBaseVertex_handle = Ref{Ptr{Cvoid}}() + function glMultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex) - ccall(getprocaddress_e("glMultiDrawElementsBaseVertex"), Cvoid, (GLenum, Ptr{GLsizei}, GLenum, Ptr{Ptr{Cvoid}}, GLsizei, Ptr{GLint}), mode, count, type, indices, drawcount, basevertex) + glMultiDrawElementsBaseVertex_handle[] == C_NULL && (glMultiDrawElementsBaseVertex_handle[] = getprocaddress_e("glMultiDrawElementsBaseVertex")) + ccall(glMultiDrawElementsBaseVertex_handle[], Cvoid, (GLenum, Ptr{GLsizei}, GLenum, Ptr{Ptr{Cvoid}}, GLsizei, Ptr{GLint}), mode, count, type, indices, drawcount, basevertex) end +const glProvokingVertex_handle = Ref{Ptr{Cvoid}}() + function glProvokingVertex(mode) - ccall(getprocaddress_e("glProvokingVertex"), Cvoid, (GLenum,), mode) + glProvokingVertex_handle[] == C_NULL && (glProvokingVertex_handle[] = getprocaddress_e("glProvokingVertex")) + ccall(glProvokingVertex_handle[], Cvoid, (GLenum,), mode) end +const glFenceSync_handle = Ref{Ptr{Cvoid}}() + function glFenceSync(condition, flags) - ccall(getprocaddress_e("glFenceSync"), GLsync, (GLenum, GLbitfield), condition, flags) + glFenceSync_handle[] == C_NULL && (glFenceSync_handle[] = getprocaddress_e("glFenceSync")) + ccall(glFenceSync_handle[], GLsync, (GLenum, GLbitfield), condition, flags) end +const glIsSync_handle = Ref{Ptr{Cvoid}}() + function glIsSync(sync) - ccall(getprocaddress_e("glIsSync"), GLboolean, (GLsync,), sync) + glIsSync_handle[] == C_NULL && (glIsSync_handle[] = getprocaddress_e("glIsSync")) + ccall(glIsSync_handle[], GLboolean, (GLsync,), sync) end +const glDeleteSync_handle = Ref{Ptr{Cvoid}}() + function glDeleteSync(sync) - ccall(getprocaddress_e("glDeleteSync"), Cvoid, (GLsync,), sync) + glDeleteSync_handle[] == C_NULL && (glDeleteSync_handle[] = getprocaddress_e("glDeleteSync")) + ccall(glDeleteSync_handle[], Cvoid, (GLsync,), sync) end +const glClientWaitSync_handle = Ref{Ptr{Cvoid}}() + function glClientWaitSync(sync, flags, timeout) - ccall(getprocaddress_e("glClientWaitSync"), GLenum, (GLsync, GLbitfield, GLuint64), sync, flags, timeout) + glClientWaitSync_handle[] == C_NULL && (glClientWaitSync_handle[] = getprocaddress_e("glClientWaitSync")) + ccall(glClientWaitSync_handle[], GLenum, (GLsync, GLbitfield, GLuint64), sync, flags, timeout) end +const glWaitSync_handle = Ref{Ptr{Cvoid}}() + function glWaitSync(sync, flags, timeout) - ccall(getprocaddress_e("glWaitSync"), Cvoid, (GLsync, GLbitfield, GLuint64), sync, flags, timeout) + glWaitSync_handle[] == C_NULL && (glWaitSync_handle[] = getprocaddress_e("glWaitSync")) + ccall(glWaitSync_handle[], Cvoid, (GLsync, GLbitfield, GLuint64), sync, flags, timeout) end +const glGetInteger64v_handle = Ref{Ptr{Cvoid}}() + function glGetInteger64v(pname, data) - ccall(getprocaddress_e("glGetInteger64v"), Cvoid, (GLenum, Ptr{GLint64}), pname, data) + glGetInteger64v_handle[] == C_NULL && (glGetInteger64v_handle[] = getprocaddress_e("glGetInteger64v")) + ccall(glGetInteger64v_handle[], Cvoid, (GLenum, Ptr{GLint64}), pname, data) end +const glGetSynciv_handle = Ref{Ptr{Cvoid}}() + function glGetSynciv(sync, pname, count, length, values) - ccall(getprocaddress_e("glGetSynciv"), Cvoid, (GLsync, GLenum, GLsizei, Ptr{GLsizei}, Ptr{GLint}), sync, pname, count, length, values) + glGetSynciv_handle[] == C_NULL && (glGetSynciv_handle[] = getprocaddress_e("glGetSynciv")) + ccall(glGetSynciv_handle[], Cvoid, (GLsync, GLenum, GLsizei, Ptr{GLsizei}, Ptr{GLint}), sync, pname, count, length, values) end +const glGetInteger64i_v_handle = Ref{Ptr{Cvoid}}() + function glGetInteger64i_v(target, index, data) - ccall(getprocaddress_e("glGetInteger64i_v"), Cvoid, (GLenum, GLuint, Ptr{GLint64}), target, index, data) + glGetInteger64i_v_handle[] == C_NULL && (glGetInteger64i_v_handle[] = getprocaddress_e("glGetInteger64i_v")) + ccall(glGetInteger64i_v_handle[], Cvoid, (GLenum, GLuint, Ptr{GLint64}), target, index, data) end +const glGetBufferParameteri64v_handle = Ref{Ptr{Cvoid}}() + function glGetBufferParameteri64v(target, pname, params) - ccall(getprocaddress_e("glGetBufferParameteri64v"), Cvoid, (GLenum, GLenum, Ptr{GLint64}), target, pname, params) + glGetBufferParameteri64v_handle[] == C_NULL && (glGetBufferParameteri64v_handle[] = getprocaddress_e("glGetBufferParameteri64v")) + ccall(glGetBufferParameteri64v_handle[], Cvoid, (GLenum, GLenum, Ptr{GLint64}), target, pname, params) end +const glFramebufferTexture_handle = Ref{Ptr{Cvoid}}() + function glFramebufferTexture(target, attachment, texture, level) - ccall(getprocaddress_e("glFramebufferTexture"), Cvoid, (GLenum, GLenum, GLuint, GLint), target, attachment, texture, level) + glFramebufferTexture_handle[] == C_NULL && (glFramebufferTexture_handle[] = getprocaddress_e("glFramebufferTexture")) + ccall(glFramebufferTexture_handle[], Cvoid, (GLenum, GLenum, GLuint, GLint), target, attachment, texture, level) end +const glTexImage2DMultisample_handle = Ref{Ptr{Cvoid}}() + function glTexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations) - ccall(getprocaddress_e("glTexImage2DMultisample"), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean), target, samples, internalformat, width, height, fixedsamplelocations) + glTexImage2DMultisample_handle[] == C_NULL && (glTexImage2DMultisample_handle[] = getprocaddress_e("glTexImage2DMultisample")) + ccall(glTexImage2DMultisample_handle[], Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean), target, samples, internalformat, width, height, fixedsamplelocations) end +const glTexImage3DMultisample_handle = Ref{Ptr{Cvoid}}() + function glTexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations) - ccall(getprocaddress_e("glTexImage3DMultisample"), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean), target, samples, internalformat, width, height, depth, fixedsamplelocations) + glTexImage3DMultisample_handle[] == C_NULL && (glTexImage3DMultisample_handle[] = getprocaddress_e("glTexImage3DMultisample")) + ccall(glTexImage3DMultisample_handle[], Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean), target, samples, internalformat, width, height, depth, fixedsamplelocations) end +const glGetMultisamplefv_handle = Ref{Ptr{Cvoid}}() + function glGetMultisamplefv(pname, index, val) - ccall(getprocaddress_e("glGetMultisamplefv"), Cvoid, (GLenum, GLuint, Ptr{GLfloat}), pname, index, val) + glGetMultisamplefv_handle[] == C_NULL && (glGetMultisamplefv_handle[] = getprocaddress_e("glGetMultisamplefv")) + ccall(glGetMultisamplefv_handle[], Cvoid, (GLenum, GLuint, Ptr{GLfloat}), pname, index, val) end +const glSampleMaski_handle = Ref{Ptr{Cvoid}}() + function glSampleMaski(maskNumber, mask) - ccall(getprocaddress_e("glSampleMaski"), Cvoid, (GLuint, GLbitfield), maskNumber, mask) + glSampleMaski_handle[] == C_NULL && (glSampleMaski_handle[] = getprocaddress_e("glSampleMaski")) + ccall(glSampleMaski_handle[], Cvoid, (GLuint, GLbitfield), maskNumber, mask) end # typedef void ( APIENTRYP PFNGLBINDFRAGDATALOCATIONINDEXEDPROC ) ( GLuint program , GLuint colorNumber , GLuint index , const GLchar * name ) @@ -2385,116 +3336,200 @@ const PFNGLVERTEXATTRIBP4UIPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLVERTEXATTRIBP4UIVPROC ) ( GLuint index , GLenum type , GLboolean normalized , const GLuint * value ) const PFNGLVERTEXATTRIBP4UIVPROC = Ptr{Cvoid} +const glBindFragDataLocationIndexed_handle = Ref{Ptr{Cvoid}}() + function glBindFragDataLocationIndexed(program, colorNumber, index, name) - ccall(getprocaddress_e("glBindFragDataLocationIndexed"), Cvoid, (GLuint, GLuint, GLuint, Ptr{GLchar}), program, colorNumber, index, name) + glBindFragDataLocationIndexed_handle[] == C_NULL && (glBindFragDataLocationIndexed_handle[] = getprocaddress_e("glBindFragDataLocationIndexed")) + ccall(glBindFragDataLocationIndexed_handle[], Cvoid, (GLuint, GLuint, GLuint, Ptr{GLchar}), program, colorNumber, index, name) end +const glGetFragDataIndex_handle = Ref{Ptr{Cvoid}}() + function glGetFragDataIndex(program, name) - ccall(getprocaddress_e("glGetFragDataIndex"), GLint, (GLuint, Ptr{GLchar}), program, name) + glGetFragDataIndex_handle[] == C_NULL && (glGetFragDataIndex_handle[] = getprocaddress_e("glGetFragDataIndex")) + ccall(glGetFragDataIndex_handle[], GLint, (GLuint, Ptr{GLchar}), program, name) end +const glGenSamplers_handle = Ref{Ptr{Cvoid}}() + function glGenSamplers(count, samplers) - ccall(getprocaddress_e("glGenSamplers"), Cvoid, (GLsizei, Ptr{GLuint}), count, samplers) + glGenSamplers_handle[] == C_NULL && (glGenSamplers_handle[] = getprocaddress_e("glGenSamplers")) + ccall(glGenSamplers_handle[], Cvoid, (GLsizei, Ptr{GLuint}), count, samplers) end +const glDeleteSamplers_handle = Ref{Ptr{Cvoid}}() + function glDeleteSamplers(count, samplers) - ccall(getprocaddress_e("glDeleteSamplers"), Cvoid, (GLsizei, Ptr{GLuint}), count, samplers) + glDeleteSamplers_handle[] == C_NULL && (glDeleteSamplers_handle[] = getprocaddress_e("glDeleteSamplers")) + ccall(glDeleteSamplers_handle[], Cvoid, (GLsizei, Ptr{GLuint}), count, samplers) end +const glIsSampler_handle = Ref{Ptr{Cvoid}}() + function glIsSampler(sampler) - ccall(getprocaddress_e("glIsSampler"), GLboolean, (GLuint,), sampler) + glIsSampler_handle[] == C_NULL && (glIsSampler_handle[] = getprocaddress_e("glIsSampler")) + ccall(glIsSampler_handle[], GLboolean, (GLuint,), sampler) end +const glBindSampler_handle = Ref{Ptr{Cvoid}}() + function glBindSampler(unit, sampler) - ccall(getprocaddress_e("glBindSampler"), Cvoid, (GLuint, GLuint), unit, sampler) + glBindSampler_handle[] == C_NULL && (glBindSampler_handle[] = getprocaddress_e("glBindSampler")) + ccall(glBindSampler_handle[], Cvoid, (GLuint, GLuint), unit, sampler) end +const glSamplerParameteri_handle = Ref{Ptr{Cvoid}}() + function glSamplerParameteri(sampler, pname, param) - ccall(getprocaddress_e("glSamplerParameteri"), Cvoid, (GLuint, GLenum, GLint), sampler, pname, param) + glSamplerParameteri_handle[] == C_NULL && (glSamplerParameteri_handle[] = getprocaddress_e("glSamplerParameteri")) + ccall(glSamplerParameteri_handle[], Cvoid, (GLuint, GLenum, GLint), sampler, pname, param) end +const glSamplerParameteriv_handle = Ref{Ptr{Cvoid}}() + function glSamplerParameteriv(sampler, pname, param) - ccall(getprocaddress_e("glSamplerParameteriv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), sampler, pname, param) + glSamplerParameteriv_handle[] == C_NULL && (glSamplerParameteriv_handle[] = getprocaddress_e("glSamplerParameteriv")) + ccall(glSamplerParameteriv_handle[], Cvoid, (GLuint, GLenum, Ptr{GLint}), sampler, pname, param) end +const glSamplerParameterf_handle = Ref{Ptr{Cvoid}}() + function glSamplerParameterf(sampler, pname, param) - ccall(getprocaddress_e("glSamplerParameterf"), Cvoid, (GLuint, GLenum, GLfloat), sampler, pname, param) + glSamplerParameterf_handle[] == C_NULL && (glSamplerParameterf_handle[] = getprocaddress_e("glSamplerParameterf")) + ccall(glSamplerParameterf_handle[], Cvoid, (GLuint, GLenum, GLfloat), sampler, pname, param) end +const glSamplerParameterfv_handle = Ref{Ptr{Cvoid}}() + function glSamplerParameterfv(sampler, pname, param) - ccall(getprocaddress_e("glSamplerParameterfv"), Cvoid, (GLuint, GLenum, Ptr{GLfloat}), sampler, pname, param) + glSamplerParameterfv_handle[] == C_NULL && (glSamplerParameterfv_handle[] = getprocaddress_e("glSamplerParameterfv")) + ccall(glSamplerParameterfv_handle[], Cvoid, (GLuint, GLenum, Ptr{GLfloat}), sampler, pname, param) end +const glSamplerParameterIiv_handle = Ref{Ptr{Cvoid}}() + function glSamplerParameterIiv(sampler, pname, param) - ccall(getprocaddress_e("glSamplerParameterIiv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), sampler, pname, param) + glSamplerParameterIiv_handle[] == C_NULL && (glSamplerParameterIiv_handle[] = getprocaddress_e("glSamplerParameterIiv")) + ccall(glSamplerParameterIiv_handle[], Cvoid, (GLuint, GLenum, Ptr{GLint}), sampler, pname, param) end +const glSamplerParameterIuiv_handle = Ref{Ptr{Cvoid}}() + function glSamplerParameterIuiv(sampler, pname, param) - ccall(getprocaddress_e("glSamplerParameterIuiv"), Cvoid, (GLuint, GLenum, Ptr{GLuint}), sampler, pname, param) + glSamplerParameterIuiv_handle[] == C_NULL && (glSamplerParameterIuiv_handle[] = getprocaddress_e("glSamplerParameterIuiv")) + ccall(glSamplerParameterIuiv_handle[], Cvoid, (GLuint, GLenum, Ptr{GLuint}), sampler, pname, param) end +const glGetSamplerParameteriv_handle = Ref{Ptr{Cvoid}}() + function glGetSamplerParameteriv(sampler, pname, params) - ccall(getprocaddress_e("glGetSamplerParameteriv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), sampler, pname, params) + glGetSamplerParameteriv_handle[] == C_NULL && (glGetSamplerParameteriv_handle[] = getprocaddress_e("glGetSamplerParameteriv")) + ccall(glGetSamplerParameteriv_handle[], Cvoid, (GLuint, GLenum, Ptr{GLint}), sampler, pname, params) end +const glGetSamplerParameterIiv_handle = Ref{Ptr{Cvoid}}() + function glGetSamplerParameterIiv(sampler, pname, params) - ccall(getprocaddress_e("glGetSamplerParameterIiv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), sampler, pname, params) + glGetSamplerParameterIiv_handle[] == C_NULL && (glGetSamplerParameterIiv_handle[] = getprocaddress_e("glGetSamplerParameterIiv")) + ccall(glGetSamplerParameterIiv_handle[], Cvoid, (GLuint, GLenum, Ptr{GLint}), sampler, pname, params) end +const glGetSamplerParameterfv_handle = Ref{Ptr{Cvoid}}() + function glGetSamplerParameterfv(sampler, pname, params) - ccall(getprocaddress_e("glGetSamplerParameterfv"), Cvoid, (GLuint, GLenum, Ptr{GLfloat}), sampler, pname, params) + glGetSamplerParameterfv_handle[] == C_NULL && (glGetSamplerParameterfv_handle[] = getprocaddress_e("glGetSamplerParameterfv")) + ccall(glGetSamplerParameterfv_handle[], Cvoid, (GLuint, GLenum, Ptr{GLfloat}), sampler, pname, params) end +const glGetSamplerParameterIuiv_handle = Ref{Ptr{Cvoid}}() + function glGetSamplerParameterIuiv(sampler, pname, params) - ccall(getprocaddress_e("glGetSamplerParameterIuiv"), Cvoid, (GLuint, GLenum, Ptr{GLuint}), sampler, pname, params) + glGetSamplerParameterIuiv_handle[] == C_NULL && (glGetSamplerParameterIuiv_handle[] = getprocaddress_e("glGetSamplerParameterIuiv")) + ccall(glGetSamplerParameterIuiv_handle[], Cvoid, (GLuint, GLenum, Ptr{GLuint}), sampler, pname, params) end +const glQueryCounter_handle = Ref{Ptr{Cvoid}}() + function glQueryCounter(id, target) - ccall(getprocaddress_e("glQueryCounter"), Cvoid, (GLuint, GLenum), id, target) + glQueryCounter_handle[] == C_NULL && (glQueryCounter_handle[] = getprocaddress_e("glQueryCounter")) + ccall(glQueryCounter_handle[], Cvoid, (GLuint, GLenum), id, target) end +const glGetQueryObjecti64v_handle = Ref{Ptr{Cvoid}}() + function glGetQueryObjecti64v(id, pname, params) - ccall(getprocaddress_e("glGetQueryObjecti64v"), Cvoid, (GLuint, GLenum, Ptr{GLint64}), id, pname, params) + glGetQueryObjecti64v_handle[] == C_NULL && (glGetQueryObjecti64v_handle[] = getprocaddress_e("glGetQueryObjecti64v")) + ccall(glGetQueryObjecti64v_handle[], Cvoid, (GLuint, GLenum, Ptr{GLint64}), id, pname, params) end +const glGetQueryObjectui64v_handle = Ref{Ptr{Cvoid}}() + function glGetQueryObjectui64v(id, pname, params) - ccall(getprocaddress_e("glGetQueryObjectui64v"), Cvoid, (GLuint, GLenum, Ptr{GLuint64}), id, pname, params) + glGetQueryObjectui64v_handle[] == C_NULL && (glGetQueryObjectui64v_handle[] = getprocaddress_e("glGetQueryObjectui64v")) + ccall(glGetQueryObjectui64v_handle[], Cvoid, (GLuint, GLenum, Ptr{GLuint64}), id, pname, params) end +const glVertexAttribDivisor_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribDivisor(index, divisor) - ccall(getprocaddress_e("glVertexAttribDivisor"), Cvoid, (GLuint, GLuint), index, divisor) + glVertexAttribDivisor_handle[] == C_NULL && (glVertexAttribDivisor_handle[] = getprocaddress_e("glVertexAttribDivisor")) + ccall(glVertexAttribDivisor_handle[], Cvoid, (GLuint, GLuint), index, divisor) end +const glVertexAttribP1ui_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribP1ui(index, type, normalized, value) - ccall(getprocaddress_e("glVertexAttribP1ui"), Cvoid, (GLuint, GLenum, GLboolean, GLuint), index, type, normalized, value) + glVertexAttribP1ui_handle[] == C_NULL && (glVertexAttribP1ui_handle[] = getprocaddress_e("glVertexAttribP1ui")) + ccall(glVertexAttribP1ui_handle[], Cvoid, (GLuint, GLenum, GLboolean, GLuint), index, type, normalized, value) end +const glVertexAttribP1uiv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribP1uiv(index, type, normalized, value) - ccall(getprocaddress_e("glVertexAttribP1uiv"), Cvoid, (GLuint, GLenum, GLboolean, Ptr{GLuint}), index, type, normalized, value) + glVertexAttribP1uiv_handle[] == C_NULL && (glVertexAttribP1uiv_handle[] = getprocaddress_e("glVertexAttribP1uiv")) + ccall(glVertexAttribP1uiv_handle[], Cvoid, (GLuint, GLenum, GLboolean, Ptr{GLuint}), index, type, normalized, value) end +const glVertexAttribP2ui_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribP2ui(index, type, normalized, value) - ccall(getprocaddress_e("glVertexAttribP2ui"), Cvoid, (GLuint, GLenum, GLboolean, GLuint), index, type, normalized, value) + glVertexAttribP2ui_handle[] == C_NULL && (glVertexAttribP2ui_handle[] = getprocaddress_e("glVertexAttribP2ui")) + ccall(glVertexAttribP2ui_handle[], Cvoid, (GLuint, GLenum, GLboolean, GLuint), index, type, normalized, value) end +const glVertexAttribP2uiv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribP2uiv(index, type, normalized, value) - ccall(getprocaddress_e("glVertexAttribP2uiv"), Cvoid, (GLuint, GLenum, GLboolean, Ptr{GLuint}), index, type, normalized, value) + glVertexAttribP2uiv_handle[] == C_NULL && (glVertexAttribP2uiv_handle[] = getprocaddress_e("glVertexAttribP2uiv")) + ccall(glVertexAttribP2uiv_handle[], Cvoid, (GLuint, GLenum, GLboolean, Ptr{GLuint}), index, type, normalized, value) end +const glVertexAttribP3ui_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribP3ui(index, type, normalized, value) - ccall(getprocaddress_e("glVertexAttribP3ui"), Cvoid, (GLuint, GLenum, GLboolean, GLuint), index, type, normalized, value) + glVertexAttribP3ui_handle[] == C_NULL && (glVertexAttribP3ui_handle[] = getprocaddress_e("glVertexAttribP3ui")) + ccall(glVertexAttribP3ui_handle[], Cvoid, (GLuint, GLenum, GLboolean, GLuint), index, type, normalized, value) end +const glVertexAttribP3uiv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribP3uiv(index, type, normalized, value) - ccall(getprocaddress_e("glVertexAttribP3uiv"), Cvoid, (GLuint, GLenum, GLboolean, Ptr{GLuint}), index, type, normalized, value) + glVertexAttribP3uiv_handle[] == C_NULL && (glVertexAttribP3uiv_handle[] = getprocaddress_e("glVertexAttribP3uiv")) + ccall(glVertexAttribP3uiv_handle[], Cvoid, (GLuint, GLenum, GLboolean, Ptr{GLuint}), index, type, normalized, value) end +const glVertexAttribP4ui_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribP4ui(index, type, normalized, value) - ccall(getprocaddress_e("glVertexAttribP4ui"), Cvoid, (GLuint, GLenum, GLboolean, GLuint), index, type, normalized, value) + glVertexAttribP4ui_handle[] == C_NULL && (glVertexAttribP4ui_handle[] = getprocaddress_e("glVertexAttribP4ui")) + ccall(glVertexAttribP4ui_handle[], Cvoid, (GLuint, GLenum, GLboolean, GLuint), index, type, normalized, value) end +const glVertexAttribP4uiv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribP4uiv(index, type, normalized, value) - ccall(getprocaddress_e("glVertexAttribP4uiv"), Cvoid, (GLuint, GLenum, GLboolean, Ptr{GLuint}), index, type, normalized, value) + glVertexAttribP4uiv_handle[] == C_NULL && (glVertexAttribP4uiv_handle[] = getprocaddress_e("glVertexAttribP4uiv")) + ccall(glVertexAttribP4uiv_handle[], Cvoid, (GLuint, GLenum, GLboolean, Ptr{GLuint}), index, type, normalized, value) end # typedef void ( APIENTRYP PFNGLMINSAMPLESHADINGPROC ) ( GLfloat value ) @@ -2635,188 +3670,326 @@ const PFNGLENDQUERYINDEXEDPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLGETQUERYINDEXEDIVPROC ) ( GLenum target , GLuint index , GLenum pname , GLint * params ) const PFNGLGETQUERYINDEXEDIVPROC = Ptr{Cvoid} +const glMinSampleShading_handle = Ref{Ptr{Cvoid}}() + function glMinSampleShading(value) - ccall(getprocaddress_e("glMinSampleShading"), Cvoid, (GLfloat,), value) + glMinSampleShading_handle[] == C_NULL && (glMinSampleShading_handle[] = getprocaddress_e("glMinSampleShading")) + ccall(glMinSampleShading_handle[], Cvoid, (GLfloat,), value) end +const glBlendEquationi_handle = Ref{Ptr{Cvoid}}() + function glBlendEquationi(buf, mode) - ccall(getprocaddress_e("glBlendEquationi"), Cvoid, (GLuint, GLenum), buf, mode) + glBlendEquationi_handle[] == C_NULL && (glBlendEquationi_handle[] = getprocaddress_e("glBlendEquationi")) + ccall(glBlendEquationi_handle[], Cvoid, (GLuint, GLenum), buf, mode) end +const glBlendEquationSeparatei_handle = Ref{Ptr{Cvoid}}() + function glBlendEquationSeparatei(buf, modeRGB, modeAlpha) - ccall(getprocaddress_e("glBlendEquationSeparatei"), Cvoid, (GLuint, GLenum, GLenum), buf, modeRGB, modeAlpha) + glBlendEquationSeparatei_handle[] == C_NULL && (glBlendEquationSeparatei_handle[] = getprocaddress_e("glBlendEquationSeparatei")) + ccall(glBlendEquationSeparatei_handle[], Cvoid, (GLuint, GLenum, GLenum), buf, modeRGB, modeAlpha) end +const glBlendFunci_handle = Ref{Ptr{Cvoid}}() + function glBlendFunci(buf, src, dst) - ccall(getprocaddress_e("glBlendFunci"), Cvoid, (GLuint, GLenum, GLenum), buf, src, dst) + glBlendFunci_handle[] == C_NULL && (glBlendFunci_handle[] = getprocaddress_e("glBlendFunci")) + ccall(glBlendFunci_handle[], Cvoid, (GLuint, GLenum, GLenum), buf, src, dst) end +const glBlendFuncSeparatei_handle = Ref{Ptr{Cvoid}}() + function glBlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha) - ccall(getprocaddress_e("glBlendFuncSeparatei"), Cvoid, (GLuint, GLenum, GLenum, GLenum, GLenum), buf, srcRGB, dstRGB, srcAlpha, dstAlpha) + glBlendFuncSeparatei_handle[] == C_NULL && (glBlendFuncSeparatei_handle[] = getprocaddress_e("glBlendFuncSeparatei")) + ccall(glBlendFuncSeparatei_handle[], Cvoid, (GLuint, GLenum, GLenum, GLenum, GLenum), buf, srcRGB, dstRGB, srcAlpha, dstAlpha) end +const glDrawArraysIndirect_handle = Ref{Ptr{Cvoid}}() + function glDrawArraysIndirect(mode, indirect) - ccall(getprocaddress_e("glDrawArraysIndirect"), Cvoid, (GLenum, Ptr{Cvoid}), mode, indirect) + glDrawArraysIndirect_handle[] == C_NULL && (glDrawArraysIndirect_handle[] = getprocaddress_e("glDrawArraysIndirect")) + ccall(glDrawArraysIndirect_handle[], Cvoid, (GLenum, Ptr{Cvoid}), mode, indirect) end +const glDrawElementsIndirect_handle = Ref{Ptr{Cvoid}}() + function glDrawElementsIndirect(mode, type, indirect) - ccall(getprocaddress_e("glDrawElementsIndirect"), Cvoid, (GLenum, GLenum, Ptr{Cvoid}), mode, type, indirect) + glDrawElementsIndirect_handle[] == C_NULL && (glDrawElementsIndirect_handle[] = getprocaddress_e("glDrawElementsIndirect")) + ccall(glDrawElementsIndirect_handle[], Cvoid, (GLenum, GLenum, Ptr{Cvoid}), mode, type, indirect) end +const glUniform1d_handle = Ref{Ptr{Cvoid}}() + function glUniform1d(location, x) - ccall(getprocaddress_e("glUniform1d"), Cvoid, (GLint, GLdouble), location, x) + glUniform1d_handle[] == C_NULL && (glUniform1d_handle[] = getprocaddress_e("glUniform1d")) + ccall(glUniform1d_handle[], Cvoid, (GLint, GLdouble), location, x) end +const glUniform2d_handle = Ref{Ptr{Cvoid}}() + function glUniform2d(location, x, y) - ccall(getprocaddress_e("glUniform2d"), Cvoid, (GLint, GLdouble, GLdouble), location, x, y) + glUniform2d_handle[] == C_NULL && (glUniform2d_handle[] = getprocaddress_e("glUniform2d")) + ccall(glUniform2d_handle[], Cvoid, (GLint, GLdouble, GLdouble), location, x, y) end +const glUniform3d_handle = Ref{Ptr{Cvoid}}() + function glUniform3d(location, x, y, z) - ccall(getprocaddress_e("glUniform3d"), Cvoid, (GLint, GLdouble, GLdouble, GLdouble), location, x, y, z) + glUniform3d_handle[] == C_NULL && (glUniform3d_handle[] = getprocaddress_e("glUniform3d")) + ccall(glUniform3d_handle[], Cvoid, (GLint, GLdouble, GLdouble, GLdouble), location, x, y, z) end +const glUniform4d_handle = Ref{Ptr{Cvoid}}() + function glUniform4d(location, x, y, z, w) - ccall(getprocaddress_e("glUniform4d"), Cvoid, (GLint, GLdouble, GLdouble, GLdouble, GLdouble), location, x, y, z, w) + glUniform4d_handle[] == C_NULL && (glUniform4d_handle[] = getprocaddress_e("glUniform4d")) + ccall(glUniform4d_handle[], Cvoid, (GLint, GLdouble, GLdouble, GLdouble, GLdouble), location, x, y, z, w) end +const glUniform1dv_handle = Ref{Ptr{Cvoid}}() + function glUniform1dv(location, count, value) - ccall(getprocaddress_e("glUniform1dv"), Cvoid, (GLint, GLsizei, Ptr{GLdouble}), location, count, value) + glUniform1dv_handle[] == C_NULL && (glUniform1dv_handle[] = getprocaddress_e("glUniform1dv")) + ccall(glUniform1dv_handle[], Cvoid, (GLint, GLsizei, Ptr{GLdouble}), location, count, value) end +const glUniform2dv_handle = Ref{Ptr{Cvoid}}() + function glUniform2dv(location, count, value) - ccall(getprocaddress_e("glUniform2dv"), Cvoid, (GLint, GLsizei, Ptr{GLdouble}), location, count, value) + glUniform2dv_handle[] == C_NULL && (glUniform2dv_handle[] = getprocaddress_e("glUniform2dv")) + ccall(glUniform2dv_handle[], Cvoid, (GLint, GLsizei, Ptr{GLdouble}), location, count, value) end +const glUniform3dv_handle = Ref{Ptr{Cvoid}}() + function glUniform3dv(location, count, value) - ccall(getprocaddress_e("glUniform3dv"), Cvoid, (GLint, GLsizei, Ptr{GLdouble}), location, count, value) + glUniform3dv_handle[] == C_NULL && (glUniform3dv_handle[] = getprocaddress_e("glUniform3dv")) + ccall(glUniform3dv_handle[], Cvoid, (GLint, GLsizei, Ptr{GLdouble}), location, count, value) end +const glUniform4dv_handle = Ref{Ptr{Cvoid}}() + function glUniform4dv(location, count, value) - ccall(getprocaddress_e("glUniform4dv"), Cvoid, (GLint, GLsizei, Ptr{GLdouble}), location, count, value) + glUniform4dv_handle[] == C_NULL && (glUniform4dv_handle[] = getprocaddress_e("glUniform4dv")) + ccall(glUniform4dv_handle[], Cvoid, (GLint, GLsizei, Ptr{GLdouble}), location, count, value) end +const glUniformMatrix2dv_handle = Ref{Ptr{Cvoid}}() + function glUniformMatrix2dv(location, count, transpose, value) - ccall(getprocaddress_e("glUniformMatrix2dv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) + glUniformMatrix2dv_handle[] == C_NULL && (glUniformMatrix2dv_handle[] = getprocaddress_e("glUniformMatrix2dv")) + ccall(glUniformMatrix2dv_handle[], Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) end +const glUniformMatrix3dv_handle = Ref{Ptr{Cvoid}}() + function glUniformMatrix3dv(location, count, transpose, value) - ccall(getprocaddress_e("glUniformMatrix3dv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) + glUniformMatrix3dv_handle[] == C_NULL && (glUniformMatrix3dv_handle[] = getprocaddress_e("glUniformMatrix3dv")) + ccall(glUniformMatrix3dv_handle[], Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) end +const glUniformMatrix4dv_handle = Ref{Ptr{Cvoid}}() + function glUniformMatrix4dv(location, count, transpose, value) - ccall(getprocaddress_e("glUniformMatrix4dv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) + glUniformMatrix4dv_handle[] == C_NULL && (glUniformMatrix4dv_handle[] = getprocaddress_e("glUniformMatrix4dv")) + ccall(glUniformMatrix4dv_handle[], Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) end +const glUniformMatrix2x3dv_handle = Ref{Ptr{Cvoid}}() + function glUniformMatrix2x3dv(location, count, transpose, value) - ccall(getprocaddress_e("glUniformMatrix2x3dv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) + glUniformMatrix2x3dv_handle[] == C_NULL && (glUniformMatrix2x3dv_handle[] = getprocaddress_e("glUniformMatrix2x3dv")) + ccall(glUniformMatrix2x3dv_handle[], Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) end +const glUniformMatrix2x4dv_handle = Ref{Ptr{Cvoid}}() + function glUniformMatrix2x4dv(location, count, transpose, value) - ccall(getprocaddress_e("glUniformMatrix2x4dv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) + glUniformMatrix2x4dv_handle[] == C_NULL && (glUniformMatrix2x4dv_handle[] = getprocaddress_e("glUniformMatrix2x4dv")) + ccall(glUniformMatrix2x4dv_handle[], Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) end +const glUniformMatrix3x2dv_handle = Ref{Ptr{Cvoid}}() + function glUniformMatrix3x2dv(location, count, transpose, value) - ccall(getprocaddress_e("glUniformMatrix3x2dv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) + glUniformMatrix3x2dv_handle[] == C_NULL && (glUniformMatrix3x2dv_handle[] = getprocaddress_e("glUniformMatrix3x2dv")) + ccall(glUniformMatrix3x2dv_handle[], Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) end +const glUniformMatrix3x4dv_handle = Ref{Ptr{Cvoid}}() + function glUniformMatrix3x4dv(location, count, transpose, value) - ccall(getprocaddress_e("glUniformMatrix3x4dv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) + glUniformMatrix3x4dv_handle[] == C_NULL && (glUniformMatrix3x4dv_handle[] = getprocaddress_e("glUniformMatrix3x4dv")) + ccall(glUniformMatrix3x4dv_handle[], Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) end +const glUniformMatrix4x2dv_handle = Ref{Ptr{Cvoid}}() + function glUniformMatrix4x2dv(location, count, transpose, value) - ccall(getprocaddress_e("glUniformMatrix4x2dv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) + glUniformMatrix4x2dv_handle[] == C_NULL && (glUniformMatrix4x2dv_handle[] = getprocaddress_e("glUniformMatrix4x2dv")) + ccall(glUniformMatrix4x2dv_handle[], Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) end +const glUniformMatrix4x3dv_handle = Ref{Ptr{Cvoid}}() + function glUniformMatrix4x3dv(location, count, transpose, value) - ccall(getprocaddress_e("glUniformMatrix4x3dv"), Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) + glUniformMatrix4x3dv_handle[] == C_NULL && (glUniformMatrix4x3dv_handle[] = getprocaddress_e("glUniformMatrix4x3dv")) + ccall(glUniformMatrix4x3dv_handle[], Cvoid, (GLint, GLsizei, GLboolean, Ptr{GLdouble}), location, count, transpose, value) end +const glGetUniformdv_handle = Ref{Ptr{Cvoid}}() + function glGetUniformdv(program, location, params) - ccall(getprocaddress_e("glGetUniformdv"), Cvoid, (GLuint, GLint, Ptr{GLdouble}), program, location, params) + glGetUniformdv_handle[] == C_NULL && (glGetUniformdv_handle[] = getprocaddress_e("glGetUniformdv")) + ccall(glGetUniformdv_handle[], Cvoid, (GLuint, GLint, Ptr{GLdouble}), program, location, params) end +const glGetSubroutineUniformLocation_handle = Ref{Ptr{Cvoid}}() + function glGetSubroutineUniformLocation(program, shadertype, name) - ccall(getprocaddress_e("glGetSubroutineUniformLocation"), GLint, (GLuint, GLenum, Ptr{GLchar}), program, shadertype, name) + glGetSubroutineUniformLocation_handle[] == C_NULL && (glGetSubroutineUniformLocation_handle[] = getprocaddress_e("glGetSubroutineUniformLocation")) + ccall(glGetSubroutineUniformLocation_handle[], GLint, (GLuint, GLenum, Ptr{GLchar}), program, shadertype, name) end +const glGetSubroutineIndex_handle = Ref{Ptr{Cvoid}}() + function glGetSubroutineIndex(program, shadertype, name) - ccall(getprocaddress_e("glGetSubroutineIndex"), GLuint, (GLuint, GLenum, Ptr{GLchar}), program, shadertype, name) + glGetSubroutineIndex_handle[] == C_NULL && (glGetSubroutineIndex_handle[] = getprocaddress_e("glGetSubroutineIndex")) + ccall(glGetSubroutineIndex_handle[], GLuint, (GLuint, GLenum, Ptr{GLchar}), program, shadertype, name) end +const glGetActiveSubroutineUniformiv_handle = Ref{Ptr{Cvoid}}() + function glGetActiveSubroutineUniformiv(program, shadertype, index, pname, values) - ccall(getprocaddress_e("glGetActiveSubroutineUniformiv"), Cvoid, (GLuint, GLenum, GLuint, GLenum, Ptr{GLint}), program, shadertype, index, pname, values) + glGetActiveSubroutineUniformiv_handle[] == C_NULL && (glGetActiveSubroutineUniformiv_handle[] = getprocaddress_e("glGetActiveSubroutineUniformiv")) + ccall(glGetActiveSubroutineUniformiv_handle[], Cvoid, (GLuint, GLenum, GLuint, GLenum, Ptr{GLint}), program, shadertype, index, pname, values) end +const glGetActiveSubroutineUniformName_handle = Ref{Ptr{Cvoid}}() + function glGetActiveSubroutineUniformName(program, shadertype, index, bufSize, length, name) - ccall(getprocaddress_e("glGetActiveSubroutineUniformName"), Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), program, shadertype, index, bufSize, length, name) + glGetActiveSubroutineUniformName_handle[] == C_NULL && (glGetActiveSubroutineUniformName_handle[] = getprocaddress_e("glGetActiveSubroutineUniformName")) + ccall(glGetActiveSubroutineUniformName_handle[], Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), program, shadertype, index, bufSize, length, name) end +const glGetActiveSubroutineName_handle = Ref{Ptr{Cvoid}}() + function glGetActiveSubroutineName(program, shadertype, index, bufSize, length, name) - ccall(getprocaddress_e("glGetActiveSubroutineName"), Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), program, shadertype, index, bufSize, length, name) + glGetActiveSubroutineName_handle[] == C_NULL && (glGetActiveSubroutineName_handle[] = getprocaddress_e("glGetActiveSubroutineName")) + ccall(glGetActiveSubroutineName_handle[], Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), program, shadertype, index, bufSize, length, name) end +const glUniformSubroutinesuiv_handle = Ref{Ptr{Cvoid}}() + function glUniformSubroutinesuiv(shadertype, count, indices) - ccall(getprocaddress_e("glUniformSubroutinesuiv"), Cvoid, (GLenum, GLsizei, Ptr{GLuint}), shadertype, count, indices) + glUniformSubroutinesuiv_handle[] == C_NULL && (glUniformSubroutinesuiv_handle[] = getprocaddress_e("glUniformSubroutinesuiv")) + ccall(glUniformSubroutinesuiv_handle[], Cvoid, (GLenum, GLsizei, Ptr{GLuint}), shadertype, count, indices) end +const glGetUniformSubroutineuiv_handle = Ref{Ptr{Cvoid}}() + function glGetUniformSubroutineuiv(shadertype, location, params) - ccall(getprocaddress_e("glGetUniformSubroutineuiv"), Cvoid, (GLenum, GLint, Ptr{GLuint}), shadertype, location, params) + glGetUniformSubroutineuiv_handle[] == C_NULL && (glGetUniformSubroutineuiv_handle[] = getprocaddress_e("glGetUniformSubroutineuiv")) + ccall(glGetUniformSubroutineuiv_handle[], Cvoid, (GLenum, GLint, Ptr{GLuint}), shadertype, location, params) end +const glGetProgramStageiv_handle = Ref{Ptr{Cvoid}}() + function glGetProgramStageiv(program, shadertype, pname, values) - ccall(getprocaddress_e("glGetProgramStageiv"), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), program, shadertype, pname, values) + glGetProgramStageiv_handle[] == C_NULL && (glGetProgramStageiv_handle[] = getprocaddress_e("glGetProgramStageiv")) + ccall(glGetProgramStageiv_handle[], Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), program, shadertype, pname, values) end +const glPatchParameteri_handle = Ref{Ptr{Cvoid}}() + function glPatchParameteri(pname, value) - ccall(getprocaddress_e("glPatchParameteri"), Cvoid, (GLenum, GLint), pname, value) + glPatchParameteri_handle[] == C_NULL && (glPatchParameteri_handle[] = getprocaddress_e("glPatchParameteri")) + ccall(glPatchParameteri_handle[], Cvoid, (GLenum, GLint), pname, value) end +const glPatchParameterfv_handle = Ref{Ptr{Cvoid}}() + function glPatchParameterfv(pname, values) - ccall(getprocaddress_e("glPatchParameterfv"), Cvoid, (GLenum, Ptr{GLfloat}), pname, values) + glPatchParameterfv_handle[] == C_NULL && (glPatchParameterfv_handle[] = getprocaddress_e("glPatchParameterfv")) + ccall(glPatchParameterfv_handle[], Cvoid, (GLenum, Ptr{GLfloat}), pname, values) end +const glBindTransformFeedback_handle = Ref{Ptr{Cvoid}}() + function glBindTransformFeedback(target, id) - ccall(getprocaddress_e("glBindTransformFeedback"), Cvoid, (GLenum, GLuint), target, id) + glBindTransformFeedback_handle[] == C_NULL && (glBindTransformFeedback_handle[] = getprocaddress_e("glBindTransformFeedback")) + ccall(glBindTransformFeedback_handle[], Cvoid, (GLenum, GLuint), target, id) end +const glDeleteTransformFeedbacks_handle = Ref{Ptr{Cvoid}}() + function glDeleteTransformFeedbacks(n, ids) - ccall(getprocaddress_e("glDeleteTransformFeedbacks"), Cvoid, (GLsizei, Ptr{GLuint}), n, ids) + glDeleteTransformFeedbacks_handle[] == C_NULL && (glDeleteTransformFeedbacks_handle[] = getprocaddress_e("glDeleteTransformFeedbacks")) + ccall(glDeleteTransformFeedbacks_handle[], Cvoid, (GLsizei, Ptr{GLuint}), n, ids) end +const glGenTransformFeedbacks_handle = Ref{Ptr{Cvoid}}() + function glGenTransformFeedbacks(n, ids) - ccall(getprocaddress_e("glGenTransformFeedbacks"), Cvoid, (GLsizei, Ptr{GLuint}), n, ids) + glGenTransformFeedbacks_handle[] == C_NULL && (glGenTransformFeedbacks_handle[] = getprocaddress_e("glGenTransformFeedbacks")) + ccall(glGenTransformFeedbacks_handle[], Cvoid, (GLsizei, Ptr{GLuint}), n, ids) end +const glIsTransformFeedback_handle = Ref{Ptr{Cvoid}}() + function glIsTransformFeedback(id) - ccall(getprocaddress_e("glIsTransformFeedback"), GLboolean, (GLuint,), id) + glIsTransformFeedback_handle[] == C_NULL && (glIsTransformFeedback_handle[] = getprocaddress_e("glIsTransformFeedback")) + ccall(glIsTransformFeedback_handle[], GLboolean, (GLuint,), id) end +const glPauseTransformFeedback_handle = Ref{Ptr{Cvoid}}() + function glPauseTransformFeedback() - ccall(getprocaddress_e("glPauseTransformFeedback"), Cvoid, ()) + glPauseTransformFeedback_handle[] == C_NULL && (glPauseTransformFeedback_handle[] = getprocaddress_e("glPauseTransformFeedback")) + ccall(glPauseTransformFeedback_handle[], Cvoid, ()) end +const glResumeTransformFeedback_handle = Ref{Ptr{Cvoid}}() + function glResumeTransformFeedback() - ccall(getprocaddress_e("glResumeTransformFeedback"), Cvoid, ()) + glResumeTransformFeedback_handle[] == C_NULL && (glResumeTransformFeedback_handle[] = getprocaddress_e("glResumeTransformFeedback")) + ccall(glResumeTransformFeedback_handle[], Cvoid, ()) end +const glDrawTransformFeedback_handle = Ref{Ptr{Cvoid}}() + function glDrawTransformFeedback(mode, id) - ccall(getprocaddress_e("glDrawTransformFeedback"), Cvoid, (GLenum, GLuint), mode, id) + glDrawTransformFeedback_handle[] == C_NULL && (glDrawTransformFeedback_handle[] = getprocaddress_e("glDrawTransformFeedback")) + ccall(glDrawTransformFeedback_handle[], Cvoid, (GLenum, GLuint), mode, id) end +const glDrawTransformFeedbackStream_handle = Ref{Ptr{Cvoid}}() + function glDrawTransformFeedbackStream(mode, id, stream) - ccall(getprocaddress_e("glDrawTransformFeedbackStream"), Cvoid, (GLenum, GLuint, GLuint), mode, id, stream) + glDrawTransformFeedbackStream_handle[] == C_NULL && (glDrawTransformFeedbackStream_handle[] = getprocaddress_e("glDrawTransformFeedbackStream")) + ccall(glDrawTransformFeedbackStream_handle[], Cvoid, (GLenum, GLuint, GLuint), mode, id, stream) end +const glBeginQueryIndexed_handle = Ref{Ptr{Cvoid}}() + function glBeginQueryIndexed(target, index, id) - ccall(getprocaddress_e("glBeginQueryIndexed"), Cvoid, (GLenum, GLuint, GLuint), target, index, id) + glBeginQueryIndexed_handle[] == C_NULL && (glBeginQueryIndexed_handle[] = getprocaddress_e("glBeginQueryIndexed")) + ccall(glBeginQueryIndexed_handle[], Cvoid, (GLenum, GLuint, GLuint), target, index, id) end +const glEndQueryIndexed_handle = Ref{Ptr{Cvoid}}() + function glEndQueryIndexed(target, index) - ccall(getprocaddress_e("glEndQueryIndexed"), Cvoid, (GLenum, GLuint), target, index) + glEndQueryIndexed_handle[] == C_NULL && (glEndQueryIndexed_handle[] = getprocaddress_e("glEndQueryIndexed")) + ccall(glEndQueryIndexed_handle[], Cvoid, (GLenum, GLuint), target, index) end +const glGetQueryIndexediv_handle = Ref{Ptr{Cvoid}}() + function glGetQueryIndexediv(target, index, pname, params) - ccall(getprocaddress_e("glGetQueryIndexediv"), Cvoid, (GLenum, GLuint, GLenum, Ptr{GLint}), target, index, pname, params) + glGetQueryIndexediv_handle[] == C_NULL && (glGetQueryIndexediv_handle[] = getprocaddress_e("glGetQueryIndexediv")) + ccall(glGetQueryIndexediv_handle[], Cvoid, (GLenum, GLuint, GLenum, Ptr{GLint}), target, index, pname, params) end # typedef void ( APIENTRYP PFNGLRELEASESHADERCOMPILERPROC ) ( void ) @@ -3083,356 +4256,620 @@ const PFNGLGETFLOATI_VPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLGETDOUBLEI_VPROC ) ( GLenum target , GLuint index , GLdouble * data ) const PFNGLGETDOUBLEI_VPROC = Ptr{Cvoid} +const glReleaseShaderCompiler_handle = Ref{Ptr{Cvoid}}() + function glReleaseShaderCompiler() - ccall(getprocaddress_e("glReleaseShaderCompiler"), Cvoid, ()) + glReleaseShaderCompiler_handle[] == C_NULL && (glReleaseShaderCompiler_handle[] = getprocaddress_e("glReleaseShaderCompiler")) + ccall(glReleaseShaderCompiler_handle[], Cvoid, ()) end +const glShaderBinary_handle = Ref{Ptr{Cvoid}}() + function glShaderBinary(count, shaders, binaryFormat, binary, length) - ccall(getprocaddress_e("glShaderBinary"), Cvoid, (GLsizei, Ptr{GLuint}, GLenum, Ptr{Cvoid}, GLsizei), count, shaders, binaryFormat, binary, length) + glShaderBinary_handle[] == C_NULL && (glShaderBinary_handle[] = getprocaddress_e("glShaderBinary")) + ccall(glShaderBinary_handle[], Cvoid, (GLsizei, Ptr{GLuint}, GLenum, Ptr{Cvoid}, GLsizei), count, shaders, binaryFormat, binary, length) end +const glGetShaderPrecisionFormat_handle = Ref{Ptr{Cvoid}}() + function glGetShaderPrecisionFormat(shadertype, precisiontype, range, precision) - ccall(getprocaddress_e("glGetShaderPrecisionFormat"), Cvoid, (GLenum, GLenum, Ptr{GLint}, Ptr{GLint}), shadertype, precisiontype, range, precision) + glGetShaderPrecisionFormat_handle[] == C_NULL && (glGetShaderPrecisionFormat_handle[] = getprocaddress_e("glGetShaderPrecisionFormat")) + ccall(glGetShaderPrecisionFormat_handle[], Cvoid, (GLenum, GLenum, Ptr{GLint}, Ptr{GLint}), shadertype, precisiontype, range, precision) end +const glDepthRangef_handle = Ref{Ptr{Cvoid}}() + function glDepthRangef(n, f) - ccall(getprocaddress_e("glDepthRangef"), Cvoid, (GLfloat, GLfloat), n, f) + glDepthRangef_handle[] == C_NULL && (glDepthRangef_handle[] = getprocaddress_e("glDepthRangef")) + ccall(glDepthRangef_handle[], Cvoid, (GLfloat, GLfloat), n, f) end +const glClearDepthf_handle = Ref{Ptr{Cvoid}}() + function glClearDepthf(d) - ccall(getprocaddress_e("glClearDepthf"), Cvoid, (GLfloat,), d) + glClearDepthf_handle[] == C_NULL && (glClearDepthf_handle[] = getprocaddress_e("glClearDepthf")) + ccall(glClearDepthf_handle[], Cvoid, (GLfloat,), d) end +const glGetProgramBinary_handle = Ref{Ptr{Cvoid}}() + function glGetProgramBinary(program, bufSize, length, binaryFormat, binary) - ccall(getprocaddress_e("glGetProgramBinary"), Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLenum}, Ptr{Cvoid}), program, bufSize, length, binaryFormat, binary) + glGetProgramBinary_handle[] == C_NULL && (glGetProgramBinary_handle[] = getprocaddress_e("glGetProgramBinary")) + ccall(glGetProgramBinary_handle[], Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLenum}, Ptr{Cvoid}), program, bufSize, length, binaryFormat, binary) end +const glProgramBinary_handle = Ref{Ptr{Cvoid}}() + function glProgramBinary(program, binaryFormat, binary, length) - ccall(getprocaddress_e("glProgramBinary"), Cvoid, (GLuint, GLenum, Ptr{Cvoid}, GLsizei), program, binaryFormat, binary, length) + glProgramBinary_handle[] == C_NULL && (glProgramBinary_handle[] = getprocaddress_e("glProgramBinary")) + ccall(glProgramBinary_handle[], Cvoid, (GLuint, GLenum, Ptr{Cvoid}, GLsizei), program, binaryFormat, binary, length) end +const glProgramParameteri_handle = Ref{Ptr{Cvoid}}() + function glProgramParameteri(program, pname, value) - ccall(getprocaddress_e("glProgramParameteri"), Cvoid, (GLuint, GLenum, GLint), program, pname, value) + glProgramParameteri_handle[] == C_NULL && (glProgramParameteri_handle[] = getprocaddress_e("glProgramParameteri")) + ccall(glProgramParameteri_handle[], Cvoid, (GLuint, GLenum, GLint), program, pname, value) end +const glUseProgramStages_handle = Ref{Ptr{Cvoid}}() + function glUseProgramStages(pipeline, stages, program) - ccall(getprocaddress_e("glUseProgramStages"), Cvoid, (GLuint, GLbitfield, GLuint), pipeline, stages, program) + glUseProgramStages_handle[] == C_NULL && (glUseProgramStages_handle[] = getprocaddress_e("glUseProgramStages")) + ccall(glUseProgramStages_handle[], Cvoid, (GLuint, GLbitfield, GLuint), pipeline, stages, program) end +const glActiveShaderProgram_handle = Ref{Ptr{Cvoid}}() + function glActiveShaderProgram(pipeline, program) - ccall(getprocaddress_e("glActiveShaderProgram"), Cvoid, (GLuint, GLuint), pipeline, program) + glActiveShaderProgram_handle[] == C_NULL && (glActiveShaderProgram_handle[] = getprocaddress_e("glActiveShaderProgram")) + ccall(glActiveShaderProgram_handle[], Cvoid, (GLuint, GLuint), pipeline, program) end +const glCreateShaderProgramv_handle = Ref{Ptr{Cvoid}}() + function glCreateShaderProgramv(type, count, strings) - ccall(getprocaddress_e("glCreateShaderProgramv"), GLuint, (GLenum, GLsizei, Ptr{Ptr{GLchar}}), type, count, strings) + glCreateShaderProgramv_handle[] == C_NULL && (glCreateShaderProgramv_handle[] = getprocaddress_e("glCreateShaderProgramv")) + ccall(glCreateShaderProgramv_handle[], GLuint, (GLenum, GLsizei, Ptr{Ptr{GLchar}}), type, count, strings) end +const glBindProgramPipeline_handle = Ref{Ptr{Cvoid}}() + function glBindProgramPipeline(pipeline) - ccall(getprocaddress_e("glBindProgramPipeline"), Cvoid, (GLuint,), pipeline) + glBindProgramPipeline_handle[] == C_NULL && (glBindProgramPipeline_handle[] = getprocaddress_e("glBindProgramPipeline")) + ccall(glBindProgramPipeline_handle[], Cvoid, (GLuint,), pipeline) end +const glDeleteProgramPipelines_handle = Ref{Ptr{Cvoid}}() + function glDeleteProgramPipelines(n, pipelines) - ccall(getprocaddress_e("glDeleteProgramPipelines"), Cvoid, (GLsizei, Ptr{GLuint}), n, pipelines) + glDeleteProgramPipelines_handle[] == C_NULL && (glDeleteProgramPipelines_handle[] = getprocaddress_e("glDeleteProgramPipelines")) + ccall(glDeleteProgramPipelines_handle[], Cvoid, (GLsizei, Ptr{GLuint}), n, pipelines) end +const glGenProgramPipelines_handle = Ref{Ptr{Cvoid}}() + function glGenProgramPipelines(n, pipelines) - ccall(getprocaddress_e("glGenProgramPipelines"), Cvoid, (GLsizei, Ptr{GLuint}), n, pipelines) + glGenProgramPipelines_handle[] == C_NULL && (glGenProgramPipelines_handle[] = getprocaddress_e("glGenProgramPipelines")) + ccall(glGenProgramPipelines_handle[], Cvoid, (GLsizei, Ptr{GLuint}), n, pipelines) end +const glIsProgramPipeline_handle = Ref{Ptr{Cvoid}}() + function glIsProgramPipeline(pipeline) - ccall(getprocaddress_e("glIsProgramPipeline"), GLboolean, (GLuint,), pipeline) + glIsProgramPipeline_handle[] == C_NULL && (glIsProgramPipeline_handle[] = getprocaddress_e("glIsProgramPipeline")) + ccall(glIsProgramPipeline_handle[], GLboolean, (GLuint,), pipeline) end +const glGetProgramPipelineiv_handle = Ref{Ptr{Cvoid}}() + function glGetProgramPipelineiv(pipeline, pname, params) - ccall(getprocaddress_e("glGetProgramPipelineiv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), pipeline, pname, params) + glGetProgramPipelineiv_handle[] == C_NULL && (glGetProgramPipelineiv_handle[] = getprocaddress_e("glGetProgramPipelineiv")) + ccall(glGetProgramPipelineiv_handle[], Cvoid, (GLuint, GLenum, Ptr{GLint}), pipeline, pname, params) end +const glProgramUniform1i_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform1i(program, location, v0) - ccall(getprocaddress_e("glProgramUniform1i"), Cvoid, (GLuint, GLint, GLint), program, location, v0) + glProgramUniform1i_handle[] == C_NULL && (glProgramUniform1i_handle[] = getprocaddress_e("glProgramUniform1i")) + ccall(glProgramUniform1i_handle[], Cvoid, (GLuint, GLint, GLint), program, location, v0) end +const glProgramUniform1iv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform1iv(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform1iv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) + glProgramUniform1iv_handle[] == C_NULL && (glProgramUniform1iv_handle[] = getprocaddress_e("glProgramUniform1iv")) + ccall(glProgramUniform1iv_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) end +const glProgramUniform1f_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform1f(program, location, v0) - ccall(getprocaddress_e("glProgramUniform1f"), Cvoid, (GLuint, GLint, GLfloat), program, location, v0) + glProgramUniform1f_handle[] == C_NULL && (glProgramUniform1f_handle[] = getprocaddress_e("glProgramUniform1f")) + ccall(glProgramUniform1f_handle[], Cvoid, (GLuint, GLint, GLfloat), program, location, v0) end +const glProgramUniform1fv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform1fv(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform1fv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) + glProgramUniform1fv_handle[] == C_NULL && (glProgramUniform1fv_handle[] = getprocaddress_e("glProgramUniform1fv")) + ccall(glProgramUniform1fv_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) end +const glProgramUniform1d_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform1d(program, location, v0) - ccall(getprocaddress_e("glProgramUniform1d"), Cvoid, (GLuint, GLint, GLdouble), program, location, v0) + glProgramUniform1d_handle[] == C_NULL && (glProgramUniform1d_handle[] = getprocaddress_e("glProgramUniform1d")) + ccall(glProgramUniform1d_handle[], Cvoid, (GLuint, GLint, GLdouble), program, location, v0) end +const glProgramUniform1dv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform1dv(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform1dv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) + glProgramUniform1dv_handle[] == C_NULL && (glProgramUniform1dv_handle[] = getprocaddress_e("glProgramUniform1dv")) + ccall(glProgramUniform1dv_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) end +const glProgramUniform1ui_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform1ui(program, location, v0) - ccall(getprocaddress_e("glProgramUniform1ui"), Cvoid, (GLuint, GLint, GLuint), program, location, v0) + glProgramUniform1ui_handle[] == C_NULL && (glProgramUniform1ui_handle[] = getprocaddress_e("glProgramUniform1ui")) + ccall(glProgramUniform1ui_handle[], Cvoid, (GLuint, GLint, GLuint), program, location, v0) end +const glProgramUniform1uiv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform1uiv(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform1uiv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) + glProgramUniform1uiv_handle[] == C_NULL && (glProgramUniform1uiv_handle[] = getprocaddress_e("glProgramUniform1uiv")) + ccall(glProgramUniform1uiv_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) end +const glProgramUniform2i_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform2i(program, location, v0, v1) - ccall(getprocaddress_e("glProgramUniform2i"), Cvoid, (GLuint, GLint, GLint, GLint), program, location, v0, v1) + glProgramUniform2i_handle[] == C_NULL && (glProgramUniform2i_handle[] = getprocaddress_e("glProgramUniform2i")) + ccall(glProgramUniform2i_handle[], Cvoid, (GLuint, GLint, GLint, GLint), program, location, v0, v1) end +const glProgramUniform2iv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform2iv(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform2iv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) + glProgramUniform2iv_handle[] == C_NULL && (glProgramUniform2iv_handle[] = getprocaddress_e("glProgramUniform2iv")) + ccall(glProgramUniform2iv_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) end +const glProgramUniform2f_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform2f(program, location, v0, v1) - ccall(getprocaddress_e("glProgramUniform2f"), Cvoid, (GLuint, GLint, GLfloat, GLfloat), program, location, v0, v1) + glProgramUniform2f_handle[] == C_NULL && (glProgramUniform2f_handle[] = getprocaddress_e("glProgramUniform2f")) + ccall(glProgramUniform2f_handle[], Cvoid, (GLuint, GLint, GLfloat, GLfloat), program, location, v0, v1) end +const glProgramUniform2fv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform2fv(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform2fv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) + glProgramUniform2fv_handle[] == C_NULL && (glProgramUniform2fv_handle[] = getprocaddress_e("glProgramUniform2fv")) + ccall(glProgramUniform2fv_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) end +const glProgramUniform2d_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform2d(program, location, v0, v1) - ccall(getprocaddress_e("glProgramUniform2d"), Cvoid, (GLuint, GLint, GLdouble, GLdouble), program, location, v0, v1) + glProgramUniform2d_handle[] == C_NULL && (glProgramUniform2d_handle[] = getprocaddress_e("glProgramUniform2d")) + ccall(glProgramUniform2d_handle[], Cvoid, (GLuint, GLint, GLdouble, GLdouble), program, location, v0, v1) end +const glProgramUniform2dv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform2dv(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform2dv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) + glProgramUniform2dv_handle[] == C_NULL && (glProgramUniform2dv_handle[] = getprocaddress_e("glProgramUniform2dv")) + ccall(glProgramUniform2dv_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) end +const glProgramUniform2ui_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform2ui(program, location, v0, v1) - ccall(getprocaddress_e("glProgramUniform2ui"), Cvoid, (GLuint, GLint, GLuint, GLuint), program, location, v0, v1) + glProgramUniform2ui_handle[] == C_NULL && (glProgramUniform2ui_handle[] = getprocaddress_e("glProgramUniform2ui")) + ccall(glProgramUniform2ui_handle[], Cvoid, (GLuint, GLint, GLuint, GLuint), program, location, v0, v1) end +const glProgramUniform2uiv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform2uiv(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform2uiv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) + glProgramUniform2uiv_handle[] == C_NULL && (glProgramUniform2uiv_handle[] = getprocaddress_e("glProgramUniform2uiv")) + ccall(glProgramUniform2uiv_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) end +const glProgramUniform3i_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform3i(program, location, v0, v1, v2) - ccall(getprocaddress_e("glProgramUniform3i"), Cvoid, (GLuint, GLint, GLint, GLint, GLint), program, location, v0, v1, v2) + glProgramUniform3i_handle[] == C_NULL && (glProgramUniform3i_handle[] = getprocaddress_e("glProgramUniform3i")) + ccall(glProgramUniform3i_handle[], Cvoid, (GLuint, GLint, GLint, GLint, GLint), program, location, v0, v1, v2) end +const glProgramUniform3iv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform3iv(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform3iv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) + glProgramUniform3iv_handle[] == C_NULL && (glProgramUniform3iv_handle[] = getprocaddress_e("glProgramUniform3iv")) + ccall(glProgramUniform3iv_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) end +const glProgramUniform3f_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform3f(program, location, v0, v1, v2) - ccall(getprocaddress_e("glProgramUniform3f"), Cvoid, (GLuint, GLint, GLfloat, GLfloat, GLfloat), program, location, v0, v1, v2) + glProgramUniform3f_handle[] == C_NULL && (glProgramUniform3f_handle[] = getprocaddress_e("glProgramUniform3f")) + ccall(glProgramUniform3f_handle[], Cvoid, (GLuint, GLint, GLfloat, GLfloat, GLfloat), program, location, v0, v1, v2) end +const glProgramUniform3fv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform3fv(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform3fv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) + glProgramUniform3fv_handle[] == C_NULL && (glProgramUniform3fv_handle[] = getprocaddress_e("glProgramUniform3fv")) + ccall(glProgramUniform3fv_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) end +const glProgramUniform3d_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform3d(program, location, v0, v1, v2) - ccall(getprocaddress_e("glProgramUniform3d"), Cvoid, (GLuint, GLint, GLdouble, GLdouble, GLdouble), program, location, v0, v1, v2) + glProgramUniform3d_handle[] == C_NULL && (glProgramUniform3d_handle[] = getprocaddress_e("glProgramUniform3d")) + ccall(glProgramUniform3d_handle[], Cvoid, (GLuint, GLint, GLdouble, GLdouble, GLdouble), program, location, v0, v1, v2) end +const glProgramUniform3dv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform3dv(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform3dv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) + glProgramUniform3dv_handle[] == C_NULL && (glProgramUniform3dv_handle[] = getprocaddress_e("glProgramUniform3dv")) + ccall(glProgramUniform3dv_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) end +const glProgramUniform3ui_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform3ui(program, location, v0, v1, v2) - ccall(getprocaddress_e("glProgramUniform3ui"), Cvoid, (GLuint, GLint, GLuint, GLuint, GLuint), program, location, v0, v1, v2) + glProgramUniform3ui_handle[] == C_NULL && (glProgramUniform3ui_handle[] = getprocaddress_e("glProgramUniform3ui")) + ccall(glProgramUniform3ui_handle[], Cvoid, (GLuint, GLint, GLuint, GLuint, GLuint), program, location, v0, v1, v2) end +const glProgramUniform3uiv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform3uiv(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform3uiv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) + glProgramUniform3uiv_handle[] == C_NULL && (glProgramUniform3uiv_handle[] = getprocaddress_e("glProgramUniform3uiv")) + ccall(glProgramUniform3uiv_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) end +const glProgramUniform4i_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform4i(program, location, v0, v1, v2, v3) - ccall(getprocaddress_e("glProgramUniform4i"), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLint), program, location, v0, v1, v2, v3) + glProgramUniform4i_handle[] == C_NULL && (glProgramUniform4i_handle[] = getprocaddress_e("glProgramUniform4i")) + ccall(glProgramUniform4i_handle[], Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLint), program, location, v0, v1, v2, v3) end +const glProgramUniform4iv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform4iv(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform4iv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) + glProgramUniform4iv_handle[] == C_NULL && (glProgramUniform4iv_handle[] = getprocaddress_e("glProgramUniform4iv")) + ccall(glProgramUniform4iv_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) end +const glProgramUniform4f_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform4f(program, location, v0, v1, v2, v3) - ccall(getprocaddress_e("glProgramUniform4f"), Cvoid, (GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat), program, location, v0, v1, v2, v3) + glProgramUniform4f_handle[] == C_NULL && (glProgramUniform4f_handle[] = getprocaddress_e("glProgramUniform4f")) + ccall(glProgramUniform4f_handle[], Cvoid, (GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat), program, location, v0, v1, v2, v3) end +const glProgramUniform4fv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform4fv(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform4fv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) + glProgramUniform4fv_handle[] == C_NULL && (glProgramUniform4fv_handle[] = getprocaddress_e("glProgramUniform4fv")) + ccall(glProgramUniform4fv_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) end +const glProgramUniform4d_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform4d(program, location, v0, v1, v2, v3) - ccall(getprocaddress_e("glProgramUniform4d"), Cvoid, (GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble), program, location, v0, v1, v2, v3) + glProgramUniform4d_handle[] == C_NULL && (glProgramUniform4d_handle[] = getprocaddress_e("glProgramUniform4d")) + ccall(glProgramUniform4d_handle[], Cvoid, (GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble), program, location, v0, v1, v2, v3) end +const glProgramUniform4dv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform4dv(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform4dv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) + glProgramUniform4dv_handle[] == C_NULL && (glProgramUniform4dv_handle[] = getprocaddress_e("glProgramUniform4dv")) + ccall(glProgramUniform4dv_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) end +const glProgramUniform4ui_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform4ui(program, location, v0, v1, v2, v3) - ccall(getprocaddress_e("glProgramUniform4ui"), Cvoid, (GLuint, GLint, GLuint, GLuint, GLuint, GLuint), program, location, v0, v1, v2, v3) + glProgramUniform4ui_handle[] == C_NULL && (glProgramUniform4ui_handle[] = getprocaddress_e("glProgramUniform4ui")) + ccall(glProgramUniform4ui_handle[], Cvoid, (GLuint, GLint, GLuint, GLuint, GLuint, GLuint), program, location, v0, v1, v2, v3) end +const glProgramUniform4uiv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform4uiv(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform4uiv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) + glProgramUniform4uiv_handle[] == C_NULL && (glProgramUniform4uiv_handle[] = getprocaddress_e("glProgramUniform4uiv")) + ccall(glProgramUniform4uiv_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) end +const glProgramUniformMatrix2fv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix2fv(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix2fv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + glProgramUniformMatrix2fv_handle[] == C_NULL && (glProgramUniformMatrix2fv_handle[] = getprocaddress_e("glProgramUniformMatrix2fv")) + ccall(glProgramUniformMatrix2fv_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end +const glProgramUniformMatrix3fv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix3fv(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix3fv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + glProgramUniformMatrix3fv_handle[] == C_NULL && (glProgramUniformMatrix3fv_handle[] = getprocaddress_e("glProgramUniformMatrix3fv")) + ccall(glProgramUniformMatrix3fv_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end +const glProgramUniformMatrix4fv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix4fv(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix4fv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + glProgramUniformMatrix4fv_handle[] == C_NULL && (glProgramUniformMatrix4fv_handle[] = getprocaddress_e("glProgramUniformMatrix4fv")) + ccall(glProgramUniformMatrix4fv_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end +const glProgramUniformMatrix2dv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix2dv(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix2dv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + glProgramUniformMatrix2dv_handle[] == C_NULL && (glProgramUniformMatrix2dv_handle[] = getprocaddress_e("glProgramUniformMatrix2dv")) + ccall(glProgramUniformMatrix2dv_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end +const glProgramUniformMatrix3dv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix3dv(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix3dv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + glProgramUniformMatrix3dv_handle[] == C_NULL && (glProgramUniformMatrix3dv_handle[] = getprocaddress_e("glProgramUniformMatrix3dv")) + ccall(glProgramUniformMatrix3dv_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end +const glProgramUniformMatrix4dv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix4dv(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix4dv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + glProgramUniformMatrix4dv_handle[] == C_NULL && (glProgramUniformMatrix4dv_handle[] = getprocaddress_e("glProgramUniformMatrix4dv")) + ccall(glProgramUniformMatrix4dv_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end +const glProgramUniformMatrix2x3fv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix2x3fv(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix2x3fv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + glProgramUniformMatrix2x3fv_handle[] == C_NULL && (glProgramUniformMatrix2x3fv_handle[] = getprocaddress_e("glProgramUniformMatrix2x3fv")) + ccall(glProgramUniformMatrix2x3fv_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end +const glProgramUniformMatrix3x2fv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix3x2fv(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix3x2fv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + glProgramUniformMatrix3x2fv_handle[] == C_NULL && (glProgramUniformMatrix3x2fv_handle[] = getprocaddress_e("glProgramUniformMatrix3x2fv")) + ccall(glProgramUniformMatrix3x2fv_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end +const glProgramUniformMatrix2x4fv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix2x4fv(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix2x4fv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + glProgramUniformMatrix2x4fv_handle[] == C_NULL && (glProgramUniformMatrix2x4fv_handle[] = getprocaddress_e("glProgramUniformMatrix2x4fv")) + ccall(glProgramUniformMatrix2x4fv_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end +const glProgramUniformMatrix4x2fv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix4x2fv(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix4x2fv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + glProgramUniformMatrix4x2fv_handle[] == C_NULL && (glProgramUniformMatrix4x2fv_handle[] = getprocaddress_e("glProgramUniformMatrix4x2fv")) + ccall(glProgramUniformMatrix4x2fv_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end +const glProgramUniformMatrix3x4fv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix3x4fv(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix3x4fv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + glProgramUniformMatrix3x4fv_handle[] == C_NULL && (glProgramUniformMatrix3x4fv_handle[] = getprocaddress_e("glProgramUniformMatrix3x4fv")) + ccall(glProgramUniformMatrix3x4fv_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end +const glProgramUniformMatrix4x3fv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix4x3fv(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix4x3fv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + glProgramUniformMatrix4x3fv_handle[] == C_NULL && (glProgramUniformMatrix4x3fv_handle[] = getprocaddress_e("glProgramUniformMatrix4x3fv")) + ccall(glProgramUniformMatrix4x3fv_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end +const glProgramUniformMatrix2x3dv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix2x3dv(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix2x3dv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + glProgramUniformMatrix2x3dv_handle[] == C_NULL && (glProgramUniformMatrix2x3dv_handle[] = getprocaddress_e("glProgramUniformMatrix2x3dv")) + ccall(glProgramUniformMatrix2x3dv_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end +const glProgramUniformMatrix3x2dv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix3x2dv(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix3x2dv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + glProgramUniformMatrix3x2dv_handle[] == C_NULL && (glProgramUniformMatrix3x2dv_handle[] = getprocaddress_e("glProgramUniformMatrix3x2dv")) + ccall(glProgramUniformMatrix3x2dv_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end +const glProgramUniformMatrix2x4dv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix2x4dv(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix2x4dv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + glProgramUniformMatrix2x4dv_handle[] == C_NULL && (glProgramUniformMatrix2x4dv_handle[] = getprocaddress_e("glProgramUniformMatrix2x4dv")) + ccall(glProgramUniformMatrix2x4dv_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end +const glProgramUniformMatrix4x2dv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix4x2dv(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix4x2dv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + glProgramUniformMatrix4x2dv_handle[] == C_NULL && (glProgramUniformMatrix4x2dv_handle[] = getprocaddress_e("glProgramUniformMatrix4x2dv")) + ccall(glProgramUniformMatrix4x2dv_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end +const glProgramUniformMatrix3x4dv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix3x4dv(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix3x4dv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + glProgramUniformMatrix3x4dv_handle[] == C_NULL && (glProgramUniformMatrix3x4dv_handle[] = getprocaddress_e("glProgramUniformMatrix3x4dv")) + ccall(glProgramUniformMatrix3x4dv_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end +const glProgramUniformMatrix4x3dv_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix4x3dv(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix4x3dv"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + glProgramUniformMatrix4x3dv_handle[] == C_NULL && (glProgramUniformMatrix4x3dv_handle[] = getprocaddress_e("glProgramUniformMatrix4x3dv")) + ccall(glProgramUniformMatrix4x3dv_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end +const glValidateProgramPipeline_handle = Ref{Ptr{Cvoid}}() + function glValidateProgramPipeline(pipeline) - ccall(getprocaddress_e("glValidateProgramPipeline"), Cvoid, (GLuint,), pipeline) + glValidateProgramPipeline_handle[] == C_NULL && (glValidateProgramPipeline_handle[] = getprocaddress_e("glValidateProgramPipeline")) + ccall(glValidateProgramPipeline_handle[], Cvoid, (GLuint,), pipeline) end +const glGetProgramPipelineInfoLog_handle = Ref{Ptr{Cvoid}}() + function glGetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog) - ccall(getprocaddress_e("glGetProgramPipelineInfoLog"), Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), pipeline, bufSize, length, infoLog) + glGetProgramPipelineInfoLog_handle[] == C_NULL && (glGetProgramPipelineInfoLog_handle[] = getprocaddress_e("glGetProgramPipelineInfoLog")) + ccall(glGetProgramPipelineInfoLog_handle[], Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), pipeline, bufSize, length, infoLog) end +const glVertexAttribL1d_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribL1d(index, x) - ccall(getprocaddress_e("glVertexAttribL1d"), Cvoid, (GLuint, GLdouble), index, x) + glVertexAttribL1d_handle[] == C_NULL && (glVertexAttribL1d_handle[] = getprocaddress_e("glVertexAttribL1d")) + ccall(glVertexAttribL1d_handle[], Cvoid, (GLuint, GLdouble), index, x) end +const glVertexAttribL2d_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribL2d(index, x, y) - ccall(getprocaddress_e("glVertexAttribL2d"), Cvoid, (GLuint, GLdouble, GLdouble), index, x, y) + glVertexAttribL2d_handle[] == C_NULL && (glVertexAttribL2d_handle[] = getprocaddress_e("glVertexAttribL2d")) + ccall(glVertexAttribL2d_handle[], Cvoid, (GLuint, GLdouble, GLdouble), index, x, y) end +const glVertexAttribL3d_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribL3d(index, x, y, z) - ccall(getprocaddress_e("glVertexAttribL3d"), Cvoid, (GLuint, GLdouble, GLdouble, GLdouble), index, x, y, z) + glVertexAttribL3d_handle[] == C_NULL && (glVertexAttribL3d_handle[] = getprocaddress_e("glVertexAttribL3d")) + ccall(glVertexAttribL3d_handle[], Cvoid, (GLuint, GLdouble, GLdouble, GLdouble), index, x, y, z) end +const glVertexAttribL4d_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribL4d(index, x, y, z, w) - ccall(getprocaddress_e("glVertexAttribL4d"), Cvoid, (GLuint, GLdouble, GLdouble, GLdouble, GLdouble), index, x, y, z, w) + glVertexAttribL4d_handle[] == C_NULL && (glVertexAttribL4d_handle[] = getprocaddress_e("glVertexAttribL4d")) + ccall(glVertexAttribL4d_handle[], Cvoid, (GLuint, GLdouble, GLdouble, GLdouble, GLdouble), index, x, y, z, w) end +const glVertexAttribL1dv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribL1dv(index, v) - ccall(getprocaddress_e("glVertexAttribL1dv"), Cvoid, (GLuint, Ptr{GLdouble}), index, v) + glVertexAttribL1dv_handle[] == C_NULL && (glVertexAttribL1dv_handle[] = getprocaddress_e("glVertexAttribL1dv")) + ccall(glVertexAttribL1dv_handle[], Cvoid, (GLuint, Ptr{GLdouble}), index, v) end +const glVertexAttribL2dv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribL2dv(index, v) - ccall(getprocaddress_e("glVertexAttribL2dv"), Cvoid, (GLuint, Ptr{GLdouble}), index, v) + glVertexAttribL2dv_handle[] == C_NULL && (glVertexAttribL2dv_handle[] = getprocaddress_e("glVertexAttribL2dv")) + ccall(glVertexAttribL2dv_handle[], Cvoid, (GLuint, Ptr{GLdouble}), index, v) end +const glVertexAttribL3dv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribL3dv(index, v) - ccall(getprocaddress_e("glVertexAttribL3dv"), Cvoid, (GLuint, Ptr{GLdouble}), index, v) + glVertexAttribL3dv_handle[] == C_NULL && (glVertexAttribL3dv_handle[] = getprocaddress_e("glVertexAttribL3dv")) + ccall(glVertexAttribL3dv_handle[], Cvoid, (GLuint, Ptr{GLdouble}), index, v) end +const glVertexAttribL4dv_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribL4dv(index, v) - ccall(getprocaddress_e("glVertexAttribL4dv"), Cvoid, (GLuint, Ptr{GLdouble}), index, v) + glVertexAttribL4dv_handle[] == C_NULL && (glVertexAttribL4dv_handle[] = getprocaddress_e("glVertexAttribL4dv")) + ccall(glVertexAttribL4dv_handle[], Cvoid, (GLuint, Ptr{GLdouble}), index, v) end +const glVertexAttribLPointer_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribLPointer(index, size, type, stride, pointer) - ccall(getprocaddress_e("glVertexAttribLPointer"), Cvoid, (GLuint, GLint, GLenum, GLsizei, Ptr{Cvoid}), index, size, type, stride, pointer) + glVertexAttribLPointer_handle[] == C_NULL && (glVertexAttribLPointer_handle[] = getprocaddress_e("glVertexAttribLPointer")) + ccall(glVertexAttribLPointer_handle[], Cvoid, (GLuint, GLint, GLenum, GLsizei, Ptr{Cvoid}), index, size, type, stride, pointer) end +const glGetVertexAttribLdv_handle = Ref{Ptr{Cvoid}}() + function glGetVertexAttribLdv(index, pname, params) - ccall(getprocaddress_e("glGetVertexAttribLdv"), Cvoid, (GLuint, GLenum, Ptr{GLdouble}), index, pname, params) + glGetVertexAttribLdv_handle[] == C_NULL && (glGetVertexAttribLdv_handle[] = getprocaddress_e("glGetVertexAttribLdv")) + ccall(glGetVertexAttribLdv_handle[], Cvoid, (GLuint, GLenum, Ptr{GLdouble}), index, pname, params) end +const glViewportArrayv_handle = Ref{Ptr{Cvoid}}() + function glViewportArrayv(first, count, v) - ccall(getprocaddress_e("glViewportArrayv"), Cvoid, (GLuint, GLsizei, Ptr{GLfloat}), first, count, v) + glViewportArrayv_handle[] == C_NULL && (glViewportArrayv_handle[] = getprocaddress_e("glViewportArrayv")) + ccall(glViewportArrayv_handle[], Cvoid, (GLuint, GLsizei, Ptr{GLfloat}), first, count, v) end +const glViewportIndexedf_handle = Ref{Ptr{Cvoid}}() + function glViewportIndexedf(index, x, y, w, h) - ccall(getprocaddress_e("glViewportIndexedf"), Cvoid, (GLuint, GLfloat, GLfloat, GLfloat, GLfloat), index, x, y, w, h) + glViewportIndexedf_handle[] == C_NULL && (glViewportIndexedf_handle[] = getprocaddress_e("glViewportIndexedf")) + ccall(glViewportIndexedf_handle[], Cvoid, (GLuint, GLfloat, GLfloat, GLfloat, GLfloat), index, x, y, w, h) end +const glViewportIndexedfv_handle = Ref{Ptr{Cvoid}}() + function glViewportIndexedfv(index, v) - ccall(getprocaddress_e("glViewportIndexedfv"), Cvoid, (GLuint, Ptr{GLfloat}), index, v) + glViewportIndexedfv_handle[] == C_NULL && (glViewportIndexedfv_handle[] = getprocaddress_e("glViewportIndexedfv")) + ccall(glViewportIndexedfv_handle[], Cvoid, (GLuint, Ptr{GLfloat}), index, v) end +const glScissorArrayv_handle = Ref{Ptr{Cvoid}}() + function glScissorArrayv(first, count, v) - ccall(getprocaddress_e("glScissorArrayv"), Cvoid, (GLuint, GLsizei, Ptr{GLint}), first, count, v) + glScissorArrayv_handle[] == C_NULL && (glScissorArrayv_handle[] = getprocaddress_e("glScissorArrayv")) + ccall(glScissorArrayv_handle[], Cvoid, (GLuint, GLsizei, Ptr{GLint}), first, count, v) end +const glScissorIndexed_handle = Ref{Ptr{Cvoid}}() + function glScissorIndexed(index, left, bottom, width, height) - ccall(getprocaddress_e("glScissorIndexed"), Cvoid, (GLuint, GLint, GLint, GLsizei, GLsizei), index, left, bottom, width, height) + glScissorIndexed_handle[] == C_NULL && (glScissorIndexed_handle[] = getprocaddress_e("glScissorIndexed")) + ccall(glScissorIndexed_handle[], Cvoid, (GLuint, GLint, GLint, GLsizei, GLsizei), index, left, bottom, width, height) end +const glScissorIndexedv_handle = Ref{Ptr{Cvoid}}() + function glScissorIndexedv(index, v) - ccall(getprocaddress_e("glScissorIndexedv"), Cvoid, (GLuint, Ptr{GLint}), index, v) + glScissorIndexedv_handle[] == C_NULL && (glScissorIndexedv_handle[] = getprocaddress_e("glScissorIndexedv")) + ccall(glScissorIndexedv_handle[], Cvoid, (GLuint, Ptr{GLint}), index, v) end +const glDepthRangeArrayv_handle = Ref{Ptr{Cvoid}}() + function glDepthRangeArrayv(first, count, v) - ccall(getprocaddress_e("glDepthRangeArrayv"), Cvoid, (GLuint, GLsizei, Ptr{GLdouble}), first, count, v) + glDepthRangeArrayv_handle[] == C_NULL && (glDepthRangeArrayv_handle[] = getprocaddress_e("glDepthRangeArrayv")) + ccall(glDepthRangeArrayv_handle[], Cvoid, (GLuint, GLsizei, Ptr{GLdouble}), first, count, v) end +const glDepthRangeIndexed_handle = Ref{Ptr{Cvoid}}() + function glDepthRangeIndexed(index, n, f) - ccall(getprocaddress_e("glDepthRangeIndexed"), Cvoid, (GLuint, GLdouble, GLdouble), index, n, f) + glDepthRangeIndexed_handle[] == C_NULL && (glDepthRangeIndexed_handle[] = getprocaddress_e("glDepthRangeIndexed")) + ccall(glDepthRangeIndexed_handle[], Cvoid, (GLuint, GLdouble, GLdouble), index, n, f) end +const glGetFloati_v_handle = Ref{Ptr{Cvoid}}() + function glGetFloati_v(target, index, data) - ccall(getprocaddress_e("glGetFloati_v"), Cvoid, (GLenum, GLuint, Ptr{GLfloat}), target, index, data) + glGetFloati_v_handle[] == C_NULL && (glGetFloati_v_handle[] = getprocaddress_e("glGetFloati_v")) + ccall(glGetFloati_v_handle[], Cvoid, (GLenum, GLuint, Ptr{GLfloat}), target, index, data) end +const glGetDoublei_v_handle = Ref{Ptr{Cvoid}}() + function glGetDoublei_v(target, index, data) - ccall(getprocaddress_e("glGetDoublei_v"), Cvoid, (GLenum, GLuint, Ptr{GLdouble}), target, index, data) + glGetDoublei_v_handle[] == C_NULL && (glGetDoublei_v_handle[] = getprocaddress_e("glGetDoublei_v")) + ccall(glGetDoublei_v_handle[], Cvoid, (GLenum, GLuint, Ptr{GLdouble}), target, index, data) end # typedef void ( APIENTRYP PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC ) ( GLenum mode , GLint first , GLsizei count , GLsizei instancecount , GLuint baseinstance ) @@ -3471,52 +4908,88 @@ const PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC ) ( GLenum mode , GLuint id , GLuint stream , GLsizei instancecount ) const PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC = Ptr{Cvoid} +const glDrawArraysInstancedBaseInstance_handle = Ref{Ptr{Cvoid}}() + function glDrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance) - ccall(getprocaddress_e("glDrawArraysInstancedBaseInstance"), Cvoid, (GLenum, GLint, GLsizei, GLsizei, GLuint), mode, first, count, instancecount, baseinstance) + glDrawArraysInstancedBaseInstance_handle[] == C_NULL && (glDrawArraysInstancedBaseInstance_handle[] = getprocaddress_e("glDrawArraysInstancedBaseInstance")) + ccall(glDrawArraysInstancedBaseInstance_handle[], Cvoid, (GLenum, GLint, GLsizei, GLsizei, GLuint), mode, first, count, instancecount, baseinstance) end +const glDrawElementsInstancedBaseInstance_handle = Ref{Ptr{Cvoid}}() + function glDrawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance) - ccall(getprocaddress_e("glDrawElementsInstancedBaseInstance"), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLsizei, GLuint), mode, count, type, indices, instancecount, baseinstance) + glDrawElementsInstancedBaseInstance_handle[] == C_NULL && (glDrawElementsInstancedBaseInstance_handle[] = getprocaddress_e("glDrawElementsInstancedBaseInstance")) + ccall(glDrawElementsInstancedBaseInstance_handle[], Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLsizei, GLuint), mode, count, type, indices, instancecount, baseinstance) end +const glDrawElementsInstancedBaseVertexBaseInstance_handle = Ref{Ptr{Cvoid}}() + function glDrawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance) - ccall(getprocaddress_e("glDrawElementsInstancedBaseVertexBaseInstance"), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLsizei, GLint, GLuint), mode, count, type, indices, instancecount, basevertex, baseinstance) + glDrawElementsInstancedBaseVertexBaseInstance_handle[] == C_NULL && (glDrawElementsInstancedBaseVertexBaseInstance_handle[] = getprocaddress_e("glDrawElementsInstancedBaseVertexBaseInstance")) + ccall(glDrawElementsInstancedBaseVertexBaseInstance_handle[], Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLsizei, GLint, GLuint), mode, count, type, indices, instancecount, basevertex, baseinstance) end +const glGetInternalformativ_handle = Ref{Ptr{Cvoid}}() + function glGetInternalformativ(target, internalformat, pname, count, params) - ccall(getprocaddress_e("glGetInternalformativ"), Cvoid, (GLenum, GLenum, GLenum, GLsizei, Ptr{GLint}), target, internalformat, pname, count, params) + glGetInternalformativ_handle[] == C_NULL && (glGetInternalformativ_handle[] = getprocaddress_e("glGetInternalformativ")) + ccall(glGetInternalformativ_handle[], Cvoid, (GLenum, GLenum, GLenum, GLsizei, Ptr{GLint}), target, internalformat, pname, count, params) end +const glGetActiveAtomicCounterBufferiv_handle = Ref{Ptr{Cvoid}}() + function glGetActiveAtomicCounterBufferiv(program, bufferIndex, pname, params) - ccall(getprocaddress_e("glGetActiveAtomicCounterBufferiv"), Cvoid, (GLuint, GLuint, GLenum, Ptr{GLint}), program, bufferIndex, pname, params) + glGetActiveAtomicCounterBufferiv_handle[] == C_NULL && (glGetActiveAtomicCounterBufferiv_handle[] = getprocaddress_e("glGetActiveAtomicCounterBufferiv")) + ccall(glGetActiveAtomicCounterBufferiv_handle[], Cvoid, (GLuint, GLuint, GLenum, Ptr{GLint}), program, bufferIndex, pname, params) end +const glBindImageTexture_handle = Ref{Ptr{Cvoid}}() + function glBindImageTexture(unit, texture, level, layered, layer, access, format) - ccall(getprocaddress_e("glBindImageTexture"), Cvoid, (GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLenum), unit, texture, level, layered, layer, access, format) + glBindImageTexture_handle[] == C_NULL && (glBindImageTexture_handle[] = getprocaddress_e("glBindImageTexture")) + ccall(glBindImageTexture_handle[], Cvoid, (GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLenum), unit, texture, level, layered, layer, access, format) end +const glMemoryBarrier_handle = Ref{Ptr{Cvoid}}() + function glMemoryBarrier(barriers) - ccall(getprocaddress_e("glMemoryBarrier"), Cvoid, (GLbitfield,), barriers) + glMemoryBarrier_handle[] == C_NULL && (glMemoryBarrier_handle[] = getprocaddress_e("glMemoryBarrier")) + ccall(glMemoryBarrier_handle[], Cvoid, (GLbitfield,), barriers) end +const glTexStorage1D_handle = Ref{Ptr{Cvoid}}() + function glTexStorage1D(target, levels, internalformat, width) - ccall(getprocaddress_e("glTexStorage1D"), Cvoid, (GLenum, GLsizei, GLenum, GLsizei), target, levels, internalformat, width) + glTexStorage1D_handle[] == C_NULL && (glTexStorage1D_handle[] = getprocaddress_e("glTexStorage1D")) + ccall(glTexStorage1D_handle[], Cvoid, (GLenum, GLsizei, GLenum, GLsizei), target, levels, internalformat, width) end +const glTexStorage2D_handle = Ref{Ptr{Cvoid}}() + function glTexStorage2D(target, levels, internalformat, width, height) - ccall(getprocaddress_e("glTexStorage2D"), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei), target, levels, internalformat, width, height) + glTexStorage2D_handle[] == C_NULL && (glTexStorage2D_handle[] = getprocaddress_e("glTexStorage2D")) + ccall(glTexStorage2D_handle[], Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei), target, levels, internalformat, width, height) end +const glTexStorage3D_handle = Ref{Ptr{Cvoid}}() + function glTexStorage3D(target, levels, internalformat, width, height, depth) - ccall(getprocaddress_e("glTexStorage3D"), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei), target, levels, internalformat, width, height, depth) + glTexStorage3D_handle[] == C_NULL && (glTexStorage3D_handle[] = getprocaddress_e("glTexStorage3D")) + ccall(glTexStorage3D_handle[], Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei), target, levels, internalformat, width, height, depth) end +const glDrawTransformFeedbackInstanced_handle = Ref{Ptr{Cvoid}}() + function glDrawTransformFeedbackInstanced(mode, id, instancecount) - ccall(getprocaddress_e("glDrawTransformFeedbackInstanced"), Cvoid, (GLenum, GLuint, GLsizei), mode, id, instancecount) + glDrawTransformFeedbackInstanced_handle[] == C_NULL && (glDrawTransformFeedbackInstanced_handle[] = getprocaddress_e("glDrawTransformFeedbackInstanced")) + ccall(glDrawTransformFeedbackInstanced_handle[], Cvoid, (GLenum, GLuint, GLsizei), mode, id, instancecount) end +const glDrawTransformFeedbackStreamInstanced_handle = Ref{Ptr{Cvoid}}() + function glDrawTransformFeedbackStreamInstanced(mode, id, stream, instancecount) - ccall(getprocaddress_e("glDrawTransformFeedbackStreamInstanced"), Cvoid, (GLenum, GLuint, GLuint, GLsizei), mode, id, stream, instancecount) + glDrawTransformFeedbackStreamInstanced_handle[] == C_NULL && (glDrawTransformFeedbackStreamInstanced_handle[] = getprocaddress_e("glDrawTransformFeedbackStreamInstanced")) + ccall(glDrawTransformFeedbackStreamInstanced_handle[], Cvoid, (GLenum, GLuint, GLuint, GLsizei), mode, id, stream, instancecount) end # typedef void ( APIENTRY * GLDEBUGPROC ) ( GLenum source , GLenum type , GLuint id , GLenum severity , GLsizei length , const GLchar * message , const void * userParam ) @@ -3651,176 +5124,305 @@ const PFNGLOBJECTPTRLABELPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLGETOBJECTPTRLABELPROC ) ( const void * ptr , GLsizei bufSize , GLsizei * length , GLchar * label ) const PFNGLGETOBJECTPTRLABELPROC = Ptr{Cvoid} +const glClearBufferData_handle = Ref{Ptr{Cvoid}}() + function glClearBufferData(target, internalformat, format, type, data) - ccall(getprocaddress_e("glClearBufferData"), Cvoid, (GLenum, GLenum, GLenum, GLenum, Ptr{Cvoid}), target, internalformat, format, type, data) + glClearBufferData_handle[] == C_NULL && (glClearBufferData_handle[] = getprocaddress_e("glClearBufferData")) + ccall(glClearBufferData_handle[], Cvoid, (GLenum, GLenum, GLenum, GLenum, Ptr{Cvoid}), target, internalformat, format, type, data) end +const glClearBufferSubData_handle = Ref{Ptr{Cvoid}}() + function glClearBufferSubData(target, internalformat, offset, size, format, type, data) - ccall(getprocaddress_e("glClearBufferSubData"), Cvoid, (GLenum, GLenum, GLintptr, GLsizeiptr, GLenum, GLenum, Ptr{Cvoid}), target, internalformat, offset, size, format, type, data) + glClearBufferSubData_handle[] == C_NULL && (glClearBufferSubData_handle[] = getprocaddress_e("glClearBufferSubData")) + ccall(glClearBufferSubData_handle[], Cvoid, (GLenum, GLenum, GLintptr, GLsizeiptr, GLenum, GLenum, Ptr{Cvoid}), target, internalformat, offset, size, format, type, data) end +const glDispatchCompute_handle = Ref{Ptr{Cvoid}}() + function glDispatchCompute(num_groups_x, num_groups_y, num_groups_z) - ccall(getprocaddress_e("glDispatchCompute"), Cvoid, (GLuint, GLuint, GLuint), num_groups_x, num_groups_y, num_groups_z) + glDispatchCompute_handle[] == C_NULL && (glDispatchCompute_handle[] = getprocaddress_e("glDispatchCompute")) + ccall(glDispatchCompute_handle[], Cvoid, (GLuint, GLuint, GLuint), num_groups_x, num_groups_y, num_groups_z) end +const glDispatchComputeIndirect_handle = Ref{Ptr{Cvoid}}() + function glDispatchComputeIndirect(indirect) - ccall(getprocaddress_e("glDispatchComputeIndirect"), Cvoid, (GLintptr,), indirect) + glDispatchComputeIndirect_handle[] == C_NULL && (glDispatchComputeIndirect_handle[] = getprocaddress_e("glDispatchComputeIndirect")) + ccall(glDispatchComputeIndirect_handle[], Cvoid, (GLintptr,), indirect) end +const glCopyImageSubData_handle = Ref{Ptr{Cvoid}}() + function glCopyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth) - ccall(getprocaddress_e("glCopyImageSubData"), Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei), srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth) + glCopyImageSubData_handle[] == C_NULL && (glCopyImageSubData_handle[] = getprocaddress_e("glCopyImageSubData")) + ccall(glCopyImageSubData_handle[], Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei), srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth) end +const glFramebufferParameteri_handle = Ref{Ptr{Cvoid}}() + function glFramebufferParameteri(target, pname, param) - ccall(getprocaddress_e("glFramebufferParameteri"), Cvoid, (GLenum, GLenum, GLint), target, pname, param) + glFramebufferParameteri_handle[] == C_NULL && (glFramebufferParameteri_handle[] = getprocaddress_e("glFramebufferParameteri")) + ccall(glFramebufferParameteri_handle[], Cvoid, (GLenum, GLenum, GLint), target, pname, param) end +const glGetFramebufferParameteriv_handle = Ref{Ptr{Cvoid}}() + function glGetFramebufferParameteriv(target, pname, params) - ccall(getprocaddress_e("glGetFramebufferParameteriv"), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) + glGetFramebufferParameteriv_handle[] == C_NULL && (glGetFramebufferParameteriv_handle[] = getprocaddress_e("glGetFramebufferParameteriv")) + ccall(glGetFramebufferParameteriv_handle[], Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) end +const glGetInternalformati64v_handle = Ref{Ptr{Cvoid}}() + function glGetInternalformati64v(target, internalformat, pname, count, params) - ccall(getprocaddress_e("glGetInternalformati64v"), Cvoid, (GLenum, GLenum, GLenum, GLsizei, Ptr{GLint64}), target, internalformat, pname, count, params) + glGetInternalformati64v_handle[] == C_NULL && (glGetInternalformati64v_handle[] = getprocaddress_e("glGetInternalformati64v")) + ccall(glGetInternalformati64v_handle[], Cvoid, (GLenum, GLenum, GLenum, GLsizei, Ptr{GLint64}), target, internalformat, pname, count, params) end +const glInvalidateTexSubImage_handle = Ref{Ptr{Cvoid}}() + function glInvalidateTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth) - ccall(getprocaddress_e("glInvalidateTexSubImage"), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei), texture, level, xoffset, yoffset, zoffset, width, height, depth) + glInvalidateTexSubImage_handle[] == C_NULL && (glInvalidateTexSubImage_handle[] = getprocaddress_e("glInvalidateTexSubImage")) + ccall(glInvalidateTexSubImage_handle[], Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei), texture, level, xoffset, yoffset, zoffset, width, height, depth) end +const glInvalidateTexImage_handle = Ref{Ptr{Cvoid}}() + function glInvalidateTexImage(texture, level) - ccall(getprocaddress_e("glInvalidateTexImage"), Cvoid, (GLuint, GLint), texture, level) + glInvalidateTexImage_handle[] == C_NULL && (glInvalidateTexImage_handle[] = getprocaddress_e("glInvalidateTexImage")) + ccall(glInvalidateTexImage_handle[], Cvoid, (GLuint, GLint), texture, level) end +const glInvalidateBufferSubData_handle = Ref{Ptr{Cvoid}}() + function glInvalidateBufferSubData(buffer, offset, length) - ccall(getprocaddress_e("glInvalidateBufferSubData"), Cvoid, (GLuint, GLintptr, GLsizeiptr), buffer, offset, length) + glInvalidateBufferSubData_handle[] == C_NULL && (glInvalidateBufferSubData_handle[] = getprocaddress_e("glInvalidateBufferSubData")) + ccall(glInvalidateBufferSubData_handle[], Cvoid, (GLuint, GLintptr, GLsizeiptr), buffer, offset, length) end +const glInvalidateBufferData_handle = Ref{Ptr{Cvoid}}() + function glInvalidateBufferData(buffer) - ccall(getprocaddress_e("glInvalidateBufferData"), Cvoid, (GLuint,), buffer) + glInvalidateBufferData_handle[] == C_NULL && (glInvalidateBufferData_handle[] = getprocaddress_e("glInvalidateBufferData")) + ccall(glInvalidateBufferData_handle[], Cvoid, (GLuint,), buffer) end +const glInvalidateFramebuffer_handle = Ref{Ptr{Cvoid}}() + function glInvalidateFramebuffer(target, numAttachments, attachments) - ccall(getprocaddress_e("glInvalidateFramebuffer"), Cvoid, (GLenum, GLsizei, Ptr{GLenum}), target, numAttachments, attachments) + glInvalidateFramebuffer_handle[] == C_NULL && (glInvalidateFramebuffer_handle[] = getprocaddress_e("glInvalidateFramebuffer")) + ccall(glInvalidateFramebuffer_handle[], Cvoid, (GLenum, GLsizei, Ptr{GLenum}), target, numAttachments, attachments) end +const glInvalidateSubFramebuffer_handle = Ref{Ptr{Cvoid}}() + function glInvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height) - ccall(getprocaddress_e("glInvalidateSubFramebuffer"), Cvoid, (GLenum, GLsizei, Ptr{GLenum}, GLint, GLint, GLsizei, GLsizei), target, numAttachments, attachments, x, y, width, height) + glInvalidateSubFramebuffer_handle[] == C_NULL && (glInvalidateSubFramebuffer_handle[] = getprocaddress_e("glInvalidateSubFramebuffer")) + ccall(glInvalidateSubFramebuffer_handle[], Cvoid, (GLenum, GLsizei, Ptr{GLenum}, GLint, GLint, GLsizei, GLsizei), target, numAttachments, attachments, x, y, width, height) end +const glMultiDrawArraysIndirect_handle = Ref{Ptr{Cvoid}}() + function glMultiDrawArraysIndirect(mode, indirect, drawcount, stride) - ccall(getprocaddress_e("glMultiDrawArraysIndirect"), Cvoid, (GLenum, Ptr{Cvoid}, GLsizei, GLsizei), mode, indirect, drawcount, stride) + glMultiDrawArraysIndirect_handle[] == C_NULL && (glMultiDrawArraysIndirect_handle[] = getprocaddress_e("glMultiDrawArraysIndirect")) + ccall(glMultiDrawArraysIndirect_handle[], Cvoid, (GLenum, Ptr{Cvoid}, GLsizei, GLsizei), mode, indirect, drawcount, stride) end +const glMultiDrawElementsIndirect_handle = Ref{Ptr{Cvoid}}() + function glMultiDrawElementsIndirect(mode, type, indirect, drawcount, stride) - ccall(getprocaddress_e("glMultiDrawElementsIndirect"), Cvoid, (GLenum, GLenum, Ptr{Cvoid}, GLsizei, GLsizei), mode, type, indirect, drawcount, stride) + glMultiDrawElementsIndirect_handle[] == C_NULL && (glMultiDrawElementsIndirect_handle[] = getprocaddress_e("glMultiDrawElementsIndirect")) + ccall(glMultiDrawElementsIndirect_handle[], Cvoid, (GLenum, GLenum, Ptr{Cvoid}, GLsizei, GLsizei), mode, type, indirect, drawcount, stride) end +const glGetProgramInterfaceiv_handle = Ref{Ptr{Cvoid}}() + function glGetProgramInterfaceiv(program, programInterface, pname, params) - ccall(getprocaddress_e("glGetProgramInterfaceiv"), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), program, programInterface, pname, params) + glGetProgramInterfaceiv_handle[] == C_NULL && (glGetProgramInterfaceiv_handle[] = getprocaddress_e("glGetProgramInterfaceiv")) + ccall(glGetProgramInterfaceiv_handle[], Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), program, programInterface, pname, params) end +const glGetProgramResourceIndex_handle = Ref{Ptr{Cvoid}}() + function glGetProgramResourceIndex(program, programInterface, name) - ccall(getprocaddress_e("glGetProgramResourceIndex"), GLuint, (GLuint, GLenum, Ptr{GLchar}), program, programInterface, name) + glGetProgramResourceIndex_handle[] == C_NULL && (glGetProgramResourceIndex_handle[] = getprocaddress_e("glGetProgramResourceIndex")) + ccall(glGetProgramResourceIndex_handle[], GLuint, (GLuint, GLenum, Ptr{GLchar}), program, programInterface, name) end +const glGetProgramResourceName_handle = Ref{Ptr{Cvoid}}() + function glGetProgramResourceName(program, programInterface, index, bufSize, length, name) - ccall(getprocaddress_e("glGetProgramResourceName"), Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), program, programInterface, index, bufSize, length, name) + glGetProgramResourceName_handle[] == C_NULL && (glGetProgramResourceName_handle[] = getprocaddress_e("glGetProgramResourceName")) + ccall(glGetProgramResourceName_handle[], Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), program, programInterface, index, bufSize, length, name) end +const glGetProgramResourceiv_handle = Ref{Ptr{Cvoid}}() + function glGetProgramResourceiv(program, programInterface, index, propCount, props, count, length, params) - ccall(getprocaddress_e("glGetProgramResourceiv"), Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLenum}, GLsizei, Ptr{GLsizei}, Ptr{GLint}), program, programInterface, index, propCount, props, count, length, params) + glGetProgramResourceiv_handle[] == C_NULL && (glGetProgramResourceiv_handle[] = getprocaddress_e("glGetProgramResourceiv")) + ccall(glGetProgramResourceiv_handle[], Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLenum}, GLsizei, Ptr{GLsizei}, Ptr{GLint}), program, programInterface, index, propCount, props, count, length, params) end +const glGetProgramResourceLocation_handle = Ref{Ptr{Cvoid}}() + function glGetProgramResourceLocation(program, programInterface, name) - ccall(getprocaddress_e("glGetProgramResourceLocation"), GLint, (GLuint, GLenum, Ptr{GLchar}), program, programInterface, name) + glGetProgramResourceLocation_handle[] == C_NULL && (glGetProgramResourceLocation_handle[] = getprocaddress_e("glGetProgramResourceLocation")) + ccall(glGetProgramResourceLocation_handle[], GLint, (GLuint, GLenum, Ptr{GLchar}), program, programInterface, name) end +const glGetProgramResourceLocationIndex_handle = Ref{Ptr{Cvoid}}() + function glGetProgramResourceLocationIndex(program, programInterface, name) - ccall(getprocaddress_e("glGetProgramResourceLocationIndex"), GLint, (GLuint, GLenum, Ptr{GLchar}), program, programInterface, name) + glGetProgramResourceLocationIndex_handle[] == C_NULL && (glGetProgramResourceLocationIndex_handle[] = getprocaddress_e("glGetProgramResourceLocationIndex")) + ccall(glGetProgramResourceLocationIndex_handle[], GLint, (GLuint, GLenum, Ptr{GLchar}), program, programInterface, name) end +const glShaderStorageBlockBinding_handle = Ref{Ptr{Cvoid}}() + function glShaderStorageBlockBinding(program, storageBlockIndex, storageBlockBinding) - ccall(getprocaddress_e("glShaderStorageBlockBinding"), Cvoid, (GLuint, GLuint, GLuint), program, storageBlockIndex, storageBlockBinding) + glShaderStorageBlockBinding_handle[] == C_NULL && (glShaderStorageBlockBinding_handle[] = getprocaddress_e("glShaderStorageBlockBinding")) + ccall(glShaderStorageBlockBinding_handle[], Cvoid, (GLuint, GLuint, GLuint), program, storageBlockIndex, storageBlockBinding) end +const glTexBufferRange_handle = Ref{Ptr{Cvoid}}() + function glTexBufferRange(target, internalformat, buffer, offset, size) - ccall(getprocaddress_e("glTexBufferRange"), Cvoid, (GLenum, GLenum, GLuint, GLintptr, GLsizeiptr), target, internalformat, buffer, offset, size) + glTexBufferRange_handle[] == C_NULL && (glTexBufferRange_handle[] = getprocaddress_e("glTexBufferRange")) + ccall(glTexBufferRange_handle[], Cvoid, (GLenum, GLenum, GLuint, GLintptr, GLsizeiptr), target, internalformat, buffer, offset, size) end +const glTexStorage2DMultisample_handle = Ref{Ptr{Cvoid}}() + function glTexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations) - ccall(getprocaddress_e("glTexStorage2DMultisample"), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean), target, samples, internalformat, width, height, fixedsamplelocations) + glTexStorage2DMultisample_handle[] == C_NULL && (glTexStorage2DMultisample_handle[] = getprocaddress_e("glTexStorage2DMultisample")) + ccall(glTexStorage2DMultisample_handle[], Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean), target, samples, internalformat, width, height, fixedsamplelocations) end +const glTexStorage3DMultisample_handle = Ref{Ptr{Cvoid}}() + function glTexStorage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations) - ccall(getprocaddress_e("glTexStorage3DMultisample"), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean), target, samples, internalformat, width, height, depth, fixedsamplelocations) + glTexStorage3DMultisample_handle[] == C_NULL && (glTexStorage3DMultisample_handle[] = getprocaddress_e("glTexStorage3DMultisample")) + ccall(glTexStorage3DMultisample_handle[], Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean), target, samples, internalformat, width, height, depth, fixedsamplelocations) end +const glTextureView_handle = Ref{Ptr{Cvoid}}() + function glTextureView(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers) - ccall(getprocaddress_e("glTextureView"), Cvoid, (GLuint, GLenum, GLuint, GLenum, GLuint, GLuint, GLuint, GLuint), texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers) + glTextureView_handle[] == C_NULL && (glTextureView_handle[] = getprocaddress_e("glTextureView")) + ccall(glTextureView_handle[], Cvoid, (GLuint, GLenum, GLuint, GLenum, GLuint, GLuint, GLuint, GLuint), texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers) end +const glBindVertexBuffer_handle = Ref{Ptr{Cvoid}}() + function glBindVertexBuffer(bindingindex, buffer, offset, stride) - ccall(getprocaddress_e("glBindVertexBuffer"), Cvoid, (GLuint, GLuint, GLintptr, GLsizei), bindingindex, buffer, offset, stride) + glBindVertexBuffer_handle[] == C_NULL && (glBindVertexBuffer_handle[] = getprocaddress_e("glBindVertexBuffer")) + ccall(glBindVertexBuffer_handle[], Cvoid, (GLuint, GLuint, GLintptr, GLsizei), bindingindex, buffer, offset, stride) end +const glVertexAttribFormat_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribFormat(attribindex, size, type, normalized, relativeoffset) - ccall(getprocaddress_e("glVertexAttribFormat"), Cvoid, (GLuint, GLint, GLenum, GLboolean, GLuint), attribindex, size, type, normalized, relativeoffset) + glVertexAttribFormat_handle[] == C_NULL && (glVertexAttribFormat_handle[] = getprocaddress_e("glVertexAttribFormat")) + ccall(glVertexAttribFormat_handle[], Cvoid, (GLuint, GLint, GLenum, GLboolean, GLuint), attribindex, size, type, normalized, relativeoffset) end +const glVertexAttribIFormat_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribIFormat(attribindex, size, type, relativeoffset) - ccall(getprocaddress_e("glVertexAttribIFormat"), Cvoid, (GLuint, GLint, GLenum, GLuint), attribindex, size, type, relativeoffset) + glVertexAttribIFormat_handle[] == C_NULL && (glVertexAttribIFormat_handle[] = getprocaddress_e("glVertexAttribIFormat")) + ccall(glVertexAttribIFormat_handle[], Cvoid, (GLuint, GLint, GLenum, GLuint), attribindex, size, type, relativeoffset) end +const glVertexAttribLFormat_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribLFormat(attribindex, size, type, relativeoffset) - ccall(getprocaddress_e("glVertexAttribLFormat"), Cvoid, (GLuint, GLint, GLenum, GLuint), attribindex, size, type, relativeoffset) + glVertexAttribLFormat_handle[] == C_NULL && (glVertexAttribLFormat_handle[] = getprocaddress_e("glVertexAttribLFormat")) + ccall(glVertexAttribLFormat_handle[], Cvoid, (GLuint, GLint, GLenum, GLuint), attribindex, size, type, relativeoffset) end +const glVertexAttribBinding_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribBinding(attribindex, bindingindex) - ccall(getprocaddress_e("glVertexAttribBinding"), Cvoid, (GLuint, GLuint), attribindex, bindingindex) + glVertexAttribBinding_handle[] == C_NULL && (glVertexAttribBinding_handle[] = getprocaddress_e("glVertexAttribBinding")) + ccall(glVertexAttribBinding_handle[], Cvoid, (GLuint, GLuint), attribindex, bindingindex) end +const glVertexBindingDivisor_handle = Ref{Ptr{Cvoid}}() + function glVertexBindingDivisor(bindingindex, divisor) - ccall(getprocaddress_e("glVertexBindingDivisor"), Cvoid, (GLuint, GLuint), bindingindex, divisor) + glVertexBindingDivisor_handle[] == C_NULL && (glVertexBindingDivisor_handle[] = getprocaddress_e("glVertexBindingDivisor")) + ccall(glVertexBindingDivisor_handle[], Cvoid, (GLuint, GLuint), bindingindex, divisor) end +const glDebugMessageControl_handle = Ref{Ptr{Cvoid}}() + function glDebugMessageControl(source, type, severity, count, ids, enabled) - ccall(getprocaddress_e("glDebugMessageControl"), Cvoid, (GLenum, GLenum, GLenum, GLsizei, Ptr{GLuint}, GLboolean), source, type, severity, count, ids, enabled) + glDebugMessageControl_handle[] == C_NULL && (glDebugMessageControl_handle[] = getprocaddress_e("glDebugMessageControl")) + ccall(glDebugMessageControl_handle[], Cvoid, (GLenum, GLenum, GLenum, GLsizei, Ptr{GLuint}, GLboolean), source, type, severity, count, ids, enabled) end +const glDebugMessageInsert_handle = Ref{Ptr{Cvoid}}() + function glDebugMessageInsert(source, type, id, severity, length, buf) - ccall(getprocaddress_e("glDebugMessageInsert"), Cvoid, (GLenum, GLenum, GLuint, GLenum, GLsizei, Ptr{GLchar}), source, type, id, severity, length, buf) + glDebugMessageInsert_handle[] == C_NULL && (glDebugMessageInsert_handle[] = getprocaddress_e("glDebugMessageInsert")) + ccall(glDebugMessageInsert_handle[], Cvoid, (GLenum, GLenum, GLuint, GLenum, GLsizei, Ptr{GLchar}), source, type, id, severity, length, buf) end +const glDebugMessageCallback_handle = Ref{Ptr{Cvoid}}() + function glDebugMessageCallback(callback, userParam) - ccall(getprocaddress_e("glDebugMessageCallback"), Cvoid, (GLDEBUGPROC, Ptr{Cvoid}), callback, userParam) + glDebugMessageCallback_handle[] == C_NULL && (glDebugMessageCallback_handle[] = getprocaddress_e("glDebugMessageCallback")) + ccall(glDebugMessageCallback_handle[], Cvoid, (GLDEBUGPROC, Ptr{Cvoid}), callback, userParam) end +const glGetDebugMessageLog_handle = Ref{Ptr{Cvoid}}() + function glGetDebugMessageLog(count, bufSize, sources, types, ids, severities, lengths, messageLog) - ccall(getprocaddress_e("glGetDebugMessageLog"), GLuint, (GLuint, GLsizei, Ptr{GLenum}, Ptr{GLenum}, Ptr{GLuint}, Ptr{GLenum}, Ptr{GLsizei}, Ptr{GLchar}), count, bufSize, sources, types, ids, severities, lengths, messageLog) + glGetDebugMessageLog_handle[] == C_NULL && (glGetDebugMessageLog_handle[] = getprocaddress_e("glGetDebugMessageLog")) + ccall(glGetDebugMessageLog_handle[], GLuint, (GLuint, GLsizei, Ptr{GLenum}, Ptr{GLenum}, Ptr{GLuint}, Ptr{GLenum}, Ptr{GLsizei}, Ptr{GLchar}), count, bufSize, sources, types, ids, severities, lengths, messageLog) end +const glPushDebugGroup_handle = Ref{Ptr{Cvoid}}() + function glPushDebugGroup(source, id, length, message) - ccall(getprocaddress_e("glPushDebugGroup"), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLchar}), source, id, length, message) + glPushDebugGroup_handle[] == C_NULL && (glPushDebugGroup_handle[] = getprocaddress_e("glPushDebugGroup")) + ccall(glPushDebugGroup_handle[], Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLchar}), source, id, length, message) end +const glPopDebugGroup_handle = Ref{Ptr{Cvoid}}() + function glPopDebugGroup() - ccall(getprocaddress_e("glPopDebugGroup"), Cvoid, ()) + glPopDebugGroup_handle[] == C_NULL && (glPopDebugGroup_handle[] = getprocaddress_e("glPopDebugGroup")) + ccall(glPopDebugGroup_handle[], Cvoid, ()) end +const glObjectLabel_handle = Ref{Ptr{Cvoid}}() + function glObjectLabel(identifier, name, length, label) - ccall(getprocaddress_e("glObjectLabel"), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLchar}), identifier, name, length, label) + glObjectLabel_handle[] == C_NULL && (glObjectLabel_handle[] = getprocaddress_e("glObjectLabel")) + ccall(glObjectLabel_handle[], Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLchar}), identifier, name, length, label) end +const glGetObjectLabel_handle = Ref{Ptr{Cvoid}}() + function glGetObjectLabel(identifier, name, bufSize, length, label) - ccall(getprocaddress_e("glGetObjectLabel"), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), identifier, name, bufSize, length, label) + glGetObjectLabel_handle[] == C_NULL && (glGetObjectLabel_handle[] = getprocaddress_e("glGetObjectLabel")) + ccall(glGetObjectLabel_handle[], Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), identifier, name, bufSize, length, label) end +const glObjectPtrLabel_handle = Ref{Ptr{Cvoid}}() + function glObjectPtrLabel(ptr, length, label) - ccall(getprocaddress_e("glObjectPtrLabel"), Cvoid, (Ptr{Cvoid}, GLsizei, Ptr{GLchar}), ptr, length, label) + glObjectPtrLabel_handle[] == C_NULL && (glObjectPtrLabel_handle[] = getprocaddress_e("glObjectPtrLabel")) + ccall(glObjectPtrLabel_handle[], Cvoid, (Ptr{Cvoid}, GLsizei, Ptr{GLchar}), ptr, length, label) end +const glGetObjectPtrLabel_handle = Ref{Ptr{Cvoid}}() + function glGetObjectPtrLabel(ptr, bufSize, length, label) - ccall(getprocaddress_e("glGetObjectPtrLabel"), Cvoid, (Ptr{Cvoid}, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), ptr, bufSize, length, label) + glGetObjectPtrLabel_handle[] == C_NULL && (glGetObjectPtrLabel_handle[] = getprocaddress_e("glGetObjectPtrLabel")) + ccall(glGetObjectPtrLabel_handle[], Cvoid, (Ptr{Cvoid}, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), ptr, bufSize, length, label) end # typedef void ( APIENTRYP PFNGLBUFFERSTORAGEPROC ) ( GLenum target , GLsizeiptr size , const void * data , GLbitfield flags ) @@ -3850,40 +5452,67 @@ const PFNGLBINDIMAGETEXTURESPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLBINDVERTEXBUFFERSPROC ) ( GLuint first , GLsizei count , const GLuint * buffers , const GLintptr * offsets , const GLsizei * strides ) const PFNGLBINDVERTEXBUFFERSPROC = Ptr{Cvoid} +const glBufferStorage_handle = Ref{Ptr{Cvoid}}() + function glBufferStorage(target, size, data, flags) - ccall(getprocaddress_e("glBufferStorage"), Cvoid, (GLenum, GLsizeiptr, Ptr{Cvoid}, GLbitfield), target, size, data, flags) + glBufferStorage_handle[] == C_NULL && (glBufferStorage_handle[] = getprocaddress_e("glBufferStorage")) + ccall(glBufferStorage_handle[], Cvoid, (GLenum, GLsizeiptr, Ptr{Cvoid}, GLbitfield), target, size, data, flags) end +const glClearTexImage_handle = Ref{Ptr{Cvoid}}() + function glClearTexImage(texture, level, format, type, data) - ccall(getprocaddress_e("glClearTexImage"), Cvoid, (GLuint, GLint, GLenum, GLenum, Ptr{Cvoid}), texture, level, format, type, data) + glClearTexImage_handle[] == C_NULL && (glClearTexImage_handle[] = getprocaddress_e("glClearTexImage")) + ccall(glClearTexImage_handle[], Cvoid, (GLuint, GLint, GLenum, GLenum, Ptr{Cvoid}), texture, level, format, type, data) end +const glClearTexSubImage_handle = Ref{Ptr{Cvoid}}() + function glClearTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data) - ccall(getprocaddress_e("glClearTexSubImage"), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data) + glClearTexSubImage_handle[] == C_NULL && (glClearTexSubImage_handle[] = getprocaddress_e("glClearTexSubImage")) + ccall(glClearTexSubImage_handle[], Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data) end +const glBindBuffersBase_handle = Ref{Ptr{Cvoid}}() + function glBindBuffersBase(target, first, count, buffers) - ccall(getprocaddress_e("glBindBuffersBase"), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLuint}), target, first, count, buffers) + glBindBuffersBase_handle[] == C_NULL && (glBindBuffersBase_handle[] = getprocaddress_e("glBindBuffersBase")) + ccall(glBindBuffersBase_handle[], Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLuint}), target, first, count, buffers) end +const glBindBuffersRange_handle = Ref{Ptr{Cvoid}}() + function glBindBuffersRange(target, first, count, buffers, offsets, sizes) - ccall(getprocaddress_e("glBindBuffersRange"), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLuint}, Ptr{GLintptr}, Ptr{GLsizeiptr}), target, first, count, buffers, offsets, sizes) + glBindBuffersRange_handle[] == C_NULL && (glBindBuffersRange_handle[] = getprocaddress_e("glBindBuffersRange")) + ccall(glBindBuffersRange_handle[], Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLuint}, Ptr{GLintptr}, Ptr{GLsizeiptr}), target, first, count, buffers, offsets, sizes) end +const glBindTextures_handle = Ref{Ptr{Cvoid}}() + function glBindTextures(first, count, textures) - ccall(getprocaddress_e("glBindTextures"), Cvoid, (GLuint, GLsizei, Ptr{GLuint}), first, count, textures) + glBindTextures_handle[] == C_NULL && (glBindTextures_handle[] = getprocaddress_e("glBindTextures")) + ccall(glBindTextures_handle[], Cvoid, (GLuint, GLsizei, Ptr{GLuint}), first, count, textures) end +const glBindSamplers_handle = Ref{Ptr{Cvoid}}() + function glBindSamplers(first, count, samplers) - ccall(getprocaddress_e("glBindSamplers"), Cvoid, (GLuint, GLsizei, Ptr{GLuint}), first, count, samplers) + glBindSamplers_handle[] == C_NULL && (glBindSamplers_handle[] = getprocaddress_e("glBindSamplers")) + ccall(glBindSamplers_handle[], Cvoid, (GLuint, GLsizei, Ptr{GLuint}), first, count, samplers) end +const glBindImageTextures_handle = Ref{Ptr{Cvoid}}() + function glBindImageTextures(first, count, textures) - ccall(getprocaddress_e("glBindImageTextures"), Cvoid, (GLuint, GLsizei, Ptr{GLuint}), first, count, textures) + glBindImageTextures_handle[] == C_NULL && (glBindImageTextures_handle[] = getprocaddress_e("glBindImageTextures")) + ccall(glBindImageTextures_handle[], Cvoid, (GLuint, GLsizei, Ptr{GLuint}), first, count, textures) end +const glBindVertexBuffers_handle = Ref{Ptr{Cvoid}}() + function glBindVertexBuffers(first, count, buffers, offsets, strides) - ccall(getprocaddress_e("glBindVertexBuffers"), Cvoid, (GLuint, GLsizei, Ptr{GLuint}, Ptr{GLintptr}, Ptr{GLsizei}), first, count, buffers, offsets, strides) + glBindVertexBuffers_handle[] == C_NULL && (glBindVertexBuffers_handle[] = getprocaddress_e("glBindVertexBuffers")) + ccall(glBindVertexBuffers_handle[], Cvoid, (GLuint, GLsizei, Ptr{GLuint}, Ptr{GLintptr}, Ptr{GLsizei}), first, count, buffers, offsets, strides) end # typedef void ( APIENTRYP PFNGLCLIPCONTROLPROC ) ( GLenum origin , GLenum depth ) @@ -4216,444 +5845,774 @@ const PFNGLREADNPIXELSPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLTEXTUREBARRIERPROC ) ( void ) const PFNGLTEXTUREBARRIERPROC = Ptr{Cvoid} +const glClipControl_handle = Ref{Ptr{Cvoid}}() + function glClipControl(origin, depth) - ccall(getprocaddress_e("glClipControl"), Cvoid, (GLenum, GLenum), origin, depth) + glClipControl_handle[] == C_NULL && (glClipControl_handle[] = getprocaddress_e("glClipControl")) + ccall(glClipControl_handle[], Cvoid, (GLenum, GLenum), origin, depth) end +const glCreateTransformFeedbacks_handle = Ref{Ptr{Cvoid}}() + function glCreateTransformFeedbacks(n, ids) - ccall(getprocaddress_e("glCreateTransformFeedbacks"), Cvoid, (GLsizei, Ptr{GLuint}), n, ids) + glCreateTransformFeedbacks_handle[] == C_NULL && (glCreateTransformFeedbacks_handle[] = getprocaddress_e("glCreateTransformFeedbacks")) + ccall(glCreateTransformFeedbacks_handle[], Cvoid, (GLsizei, Ptr{GLuint}), n, ids) end +const glTransformFeedbackBufferBase_handle = Ref{Ptr{Cvoid}}() + function glTransformFeedbackBufferBase(xfb, index, buffer) - ccall(getprocaddress_e("glTransformFeedbackBufferBase"), Cvoid, (GLuint, GLuint, GLuint), xfb, index, buffer) + glTransformFeedbackBufferBase_handle[] == C_NULL && (glTransformFeedbackBufferBase_handle[] = getprocaddress_e("glTransformFeedbackBufferBase")) + ccall(glTransformFeedbackBufferBase_handle[], Cvoid, (GLuint, GLuint, GLuint), xfb, index, buffer) end +const glTransformFeedbackBufferRange_handle = Ref{Ptr{Cvoid}}() + function glTransformFeedbackBufferRange(xfb, index, buffer, offset, size) - ccall(getprocaddress_e("glTransformFeedbackBufferRange"), Cvoid, (GLuint, GLuint, GLuint, GLintptr, GLsizeiptr), xfb, index, buffer, offset, size) + glTransformFeedbackBufferRange_handle[] == C_NULL && (glTransformFeedbackBufferRange_handle[] = getprocaddress_e("glTransformFeedbackBufferRange")) + ccall(glTransformFeedbackBufferRange_handle[], Cvoid, (GLuint, GLuint, GLuint, GLintptr, GLsizeiptr), xfb, index, buffer, offset, size) end +const glGetTransformFeedbackiv_handle = Ref{Ptr{Cvoid}}() + function glGetTransformFeedbackiv(xfb, pname, param) - ccall(getprocaddress_e("glGetTransformFeedbackiv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), xfb, pname, param) + glGetTransformFeedbackiv_handle[] == C_NULL && (glGetTransformFeedbackiv_handle[] = getprocaddress_e("glGetTransformFeedbackiv")) + ccall(glGetTransformFeedbackiv_handle[], Cvoid, (GLuint, GLenum, Ptr{GLint}), xfb, pname, param) end +const glGetTransformFeedbacki_v_handle = Ref{Ptr{Cvoid}}() + function glGetTransformFeedbacki_v(xfb, pname, index, param) - ccall(getprocaddress_e("glGetTransformFeedbacki_v"), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLint}), xfb, pname, index, param) + glGetTransformFeedbacki_v_handle[] == C_NULL && (glGetTransformFeedbacki_v_handle[] = getprocaddress_e("glGetTransformFeedbacki_v")) + ccall(glGetTransformFeedbacki_v_handle[], Cvoid, (GLuint, GLenum, GLuint, Ptr{GLint}), xfb, pname, index, param) end +const glGetTransformFeedbacki64_v_handle = Ref{Ptr{Cvoid}}() + function glGetTransformFeedbacki64_v(xfb, pname, index, param) - ccall(getprocaddress_e("glGetTransformFeedbacki64_v"), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLint64}), xfb, pname, index, param) + glGetTransformFeedbacki64_v_handle[] == C_NULL && (glGetTransformFeedbacki64_v_handle[] = getprocaddress_e("glGetTransformFeedbacki64_v")) + ccall(glGetTransformFeedbacki64_v_handle[], Cvoid, (GLuint, GLenum, GLuint, Ptr{GLint64}), xfb, pname, index, param) end +const glCreateBuffers_handle = Ref{Ptr{Cvoid}}() + function glCreateBuffers(n, buffers) - ccall(getprocaddress_e("glCreateBuffers"), Cvoid, (GLsizei, Ptr{GLuint}), n, buffers) + glCreateBuffers_handle[] == C_NULL && (glCreateBuffers_handle[] = getprocaddress_e("glCreateBuffers")) + ccall(glCreateBuffers_handle[], Cvoid, (GLsizei, Ptr{GLuint}), n, buffers) end +const glNamedBufferStorage_handle = Ref{Ptr{Cvoid}}() + function glNamedBufferStorage(buffer, size, data, flags) - ccall(getprocaddress_e("glNamedBufferStorage"), Cvoid, (GLuint, GLsizeiptr, Ptr{Cvoid}, GLbitfield), buffer, size, data, flags) + glNamedBufferStorage_handle[] == C_NULL && (glNamedBufferStorage_handle[] = getprocaddress_e("glNamedBufferStorage")) + ccall(glNamedBufferStorage_handle[], Cvoid, (GLuint, GLsizeiptr, Ptr{Cvoid}, GLbitfield), buffer, size, data, flags) end +const glNamedBufferData_handle = Ref{Ptr{Cvoid}}() + function glNamedBufferData(buffer, size, data, usage) - ccall(getprocaddress_e("glNamedBufferData"), Cvoid, (GLuint, GLsizeiptr, Ptr{Cvoid}, GLenum), buffer, size, data, usage) + glNamedBufferData_handle[] == C_NULL && (glNamedBufferData_handle[] = getprocaddress_e("glNamedBufferData")) + ccall(glNamedBufferData_handle[], Cvoid, (GLuint, GLsizeiptr, Ptr{Cvoid}, GLenum), buffer, size, data, usage) end +const glNamedBufferSubData_handle = Ref{Ptr{Cvoid}}() + function glNamedBufferSubData(buffer, offset, size, data) - ccall(getprocaddress_e("glNamedBufferSubData"), Cvoid, (GLuint, GLintptr, GLsizeiptr, Ptr{Cvoid}), buffer, offset, size, data) + glNamedBufferSubData_handle[] == C_NULL && (glNamedBufferSubData_handle[] = getprocaddress_e("glNamedBufferSubData")) + ccall(glNamedBufferSubData_handle[], Cvoid, (GLuint, GLintptr, GLsizeiptr, Ptr{Cvoid}), buffer, offset, size, data) end +const glCopyNamedBufferSubData_handle = Ref{Ptr{Cvoid}}() + function glCopyNamedBufferSubData(readBuffer, writeBuffer, readOffset, writeOffset, size) - ccall(getprocaddress_e("glCopyNamedBufferSubData"), Cvoid, (GLuint, GLuint, GLintptr, GLintptr, GLsizeiptr), readBuffer, writeBuffer, readOffset, writeOffset, size) + glCopyNamedBufferSubData_handle[] == C_NULL && (glCopyNamedBufferSubData_handle[] = getprocaddress_e("glCopyNamedBufferSubData")) + ccall(glCopyNamedBufferSubData_handle[], Cvoid, (GLuint, GLuint, GLintptr, GLintptr, GLsizeiptr), readBuffer, writeBuffer, readOffset, writeOffset, size) end +const glClearNamedBufferData_handle = Ref{Ptr{Cvoid}}() + function glClearNamedBufferData(buffer, internalformat, format, type, data) - ccall(getprocaddress_e("glClearNamedBufferData"), Cvoid, (GLuint, GLenum, GLenum, GLenum, Ptr{Cvoid}), buffer, internalformat, format, type, data) + glClearNamedBufferData_handle[] == C_NULL && (glClearNamedBufferData_handle[] = getprocaddress_e("glClearNamedBufferData")) + ccall(glClearNamedBufferData_handle[], Cvoid, (GLuint, GLenum, GLenum, GLenum, Ptr{Cvoid}), buffer, internalformat, format, type, data) end +const glClearNamedBufferSubData_handle = Ref{Ptr{Cvoid}}() + function glClearNamedBufferSubData(buffer, internalformat, offset, size, format, type, data) - ccall(getprocaddress_e("glClearNamedBufferSubData"), Cvoid, (GLuint, GLenum, GLintptr, GLsizeiptr, GLenum, GLenum, Ptr{Cvoid}), buffer, internalformat, offset, size, format, type, data) + glClearNamedBufferSubData_handle[] == C_NULL && (glClearNamedBufferSubData_handle[] = getprocaddress_e("glClearNamedBufferSubData")) + ccall(glClearNamedBufferSubData_handle[], Cvoid, (GLuint, GLenum, GLintptr, GLsizeiptr, GLenum, GLenum, Ptr{Cvoid}), buffer, internalformat, offset, size, format, type, data) end +const glMapNamedBuffer_handle = Ref{Ptr{Cvoid}}() + function glMapNamedBuffer(buffer, access) - ccall(getprocaddress_e("glMapNamedBuffer"), Ptr{Cvoid}, (GLuint, GLenum), buffer, access) + glMapNamedBuffer_handle[] == C_NULL && (glMapNamedBuffer_handle[] = getprocaddress_e("glMapNamedBuffer")) + ccall(glMapNamedBuffer_handle[], Ptr{Cvoid}, (GLuint, GLenum), buffer, access) end +const glMapNamedBufferRange_handle = Ref{Ptr{Cvoid}}() + function glMapNamedBufferRange(buffer, offset, length, access) - ccall(getprocaddress_e("glMapNamedBufferRange"), Ptr{Cvoid}, (GLuint, GLintptr, GLsizeiptr, GLbitfield), buffer, offset, length, access) + glMapNamedBufferRange_handle[] == C_NULL && (glMapNamedBufferRange_handle[] = getprocaddress_e("glMapNamedBufferRange")) + ccall(glMapNamedBufferRange_handle[], Ptr{Cvoid}, (GLuint, GLintptr, GLsizeiptr, GLbitfield), buffer, offset, length, access) end +const glUnmapNamedBuffer_handle = Ref{Ptr{Cvoid}}() + function glUnmapNamedBuffer(buffer) - ccall(getprocaddress_e("glUnmapNamedBuffer"), GLboolean, (GLuint,), buffer) + glUnmapNamedBuffer_handle[] == C_NULL && (glUnmapNamedBuffer_handle[] = getprocaddress_e("glUnmapNamedBuffer")) + ccall(glUnmapNamedBuffer_handle[], GLboolean, (GLuint,), buffer) end +const glFlushMappedNamedBufferRange_handle = Ref{Ptr{Cvoid}}() + function glFlushMappedNamedBufferRange(buffer, offset, length) - ccall(getprocaddress_e("glFlushMappedNamedBufferRange"), Cvoid, (GLuint, GLintptr, GLsizeiptr), buffer, offset, length) + glFlushMappedNamedBufferRange_handle[] == C_NULL && (glFlushMappedNamedBufferRange_handle[] = getprocaddress_e("glFlushMappedNamedBufferRange")) + ccall(glFlushMappedNamedBufferRange_handle[], Cvoid, (GLuint, GLintptr, GLsizeiptr), buffer, offset, length) end +const glGetNamedBufferParameteriv_handle = Ref{Ptr{Cvoid}}() + function glGetNamedBufferParameteriv(buffer, pname, params) - ccall(getprocaddress_e("glGetNamedBufferParameteriv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), buffer, pname, params) + glGetNamedBufferParameteriv_handle[] == C_NULL && (glGetNamedBufferParameteriv_handle[] = getprocaddress_e("glGetNamedBufferParameteriv")) + ccall(glGetNamedBufferParameteriv_handle[], Cvoid, (GLuint, GLenum, Ptr{GLint}), buffer, pname, params) end +const glGetNamedBufferParameteri64v_handle = Ref{Ptr{Cvoid}}() + function glGetNamedBufferParameteri64v(buffer, pname, params) - ccall(getprocaddress_e("glGetNamedBufferParameteri64v"), Cvoid, (GLuint, GLenum, Ptr{GLint64}), buffer, pname, params) + glGetNamedBufferParameteri64v_handle[] == C_NULL && (glGetNamedBufferParameteri64v_handle[] = getprocaddress_e("glGetNamedBufferParameteri64v")) + ccall(glGetNamedBufferParameteri64v_handle[], Cvoid, (GLuint, GLenum, Ptr{GLint64}), buffer, pname, params) end +const glGetNamedBufferPointerv_handle = Ref{Ptr{Cvoid}}() + function glGetNamedBufferPointerv(buffer, pname, params) - ccall(getprocaddress_e("glGetNamedBufferPointerv"), Cvoid, (GLuint, GLenum, Ptr{Ptr{Cvoid}}), buffer, pname, params) + glGetNamedBufferPointerv_handle[] == C_NULL && (glGetNamedBufferPointerv_handle[] = getprocaddress_e("glGetNamedBufferPointerv")) + ccall(glGetNamedBufferPointerv_handle[], Cvoid, (GLuint, GLenum, Ptr{Ptr{Cvoid}}), buffer, pname, params) end +const glGetNamedBufferSubData_handle = Ref{Ptr{Cvoid}}() + function glGetNamedBufferSubData(buffer, offset, size, data) - ccall(getprocaddress_e("glGetNamedBufferSubData"), Cvoid, (GLuint, GLintptr, GLsizeiptr, Ptr{Cvoid}), buffer, offset, size, data) + glGetNamedBufferSubData_handle[] == C_NULL && (glGetNamedBufferSubData_handle[] = getprocaddress_e("glGetNamedBufferSubData")) + ccall(glGetNamedBufferSubData_handle[], Cvoid, (GLuint, GLintptr, GLsizeiptr, Ptr{Cvoid}), buffer, offset, size, data) end +const glCreateFramebuffers_handle = Ref{Ptr{Cvoid}}() + function glCreateFramebuffers(n, framebuffers) - ccall(getprocaddress_e("glCreateFramebuffers"), Cvoid, (GLsizei, Ptr{GLuint}), n, framebuffers) + glCreateFramebuffers_handle[] == C_NULL && (glCreateFramebuffers_handle[] = getprocaddress_e("glCreateFramebuffers")) + ccall(glCreateFramebuffers_handle[], Cvoid, (GLsizei, Ptr{GLuint}), n, framebuffers) end +const glNamedFramebufferRenderbuffer_handle = Ref{Ptr{Cvoid}}() + function glNamedFramebufferRenderbuffer(framebuffer, attachment, renderbuffertarget, renderbuffer) - ccall(getprocaddress_e("glNamedFramebufferRenderbuffer"), Cvoid, (GLuint, GLenum, GLenum, GLuint), framebuffer, attachment, renderbuffertarget, renderbuffer) + glNamedFramebufferRenderbuffer_handle[] == C_NULL && (glNamedFramebufferRenderbuffer_handle[] = getprocaddress_e("glNamedFramebufferRenderbuffer")) + ccall(glNamedFramebufferRenderbuffer_handle[], Cvoid, (GLuint, GLenum, GLenum, GLuint), framebuffer, attachment, renderbuffertarget, renderbuffer) end +const glNamedFramebufferParameteri_handle = Ref{Ptr{Cvoid}}() + function glNamedFramebufferParameteri(framebuffer, pname, param) - ccall(getprocaddress_e("glNamedFramebufferParameteri"), Cvoid, (GLuint, GLenum, GLint), framebuffer, pname, param) + glNamedFramebufferParameteri_handle[] == C_NULL && (glNamedFramebufferParameteri_handle[] = getprocaddress_e("glNamedFramebufferParameteri")) + ccall(glNamedFramebufferParameteri_handle[], Cvoid, (GLuint, GLenum, GLint), framebuffer, pname, param) end +const glNamedFramebufferTexture_handle = Ref{Ptr{Cvoid}}() + function glNamedFramebufferTexture(framebuffer, attachment, texture, level) - ccall(getprocaddress_e("glNamedFramebufferTexture"), Cvoid, (GLuint, GLenum, GLuint, GLint), framebuffer, attachment, texture, level) + glNamedFramebufferTexture_handle[] == C_NULL && (glNamedFramebufferTexture_handle[] = getprocaddress_e("glNamedFramebufferTexture")) + ccall(glNamedFramebufferTexture_handle[], Cvoid, (GLuint, GLenum, GLuint, GLint), framebuffer, attachment, texture, level) end +const glNamedFramebufferTextureLayer_handle = Ref{Ptr{Cvoid}}() + function glNamedFramebufferTextureLayer(framebuffer, attachment, texture, level, layer) - ccall(getprocaddress_e("glNamedFramebufferTextureLayer"), Cvoid, (GLuint, GLenum, GLuint, GLint, GLint), framebuffer, attachment, texture, level, layer) + glNamedFramebufferTextureLayer_handle[] == C_NULL && (glNamedFramebufferTextureLayer_handle[] = getprocaddress_e("glNamedFramebufferTextureLayer")) + ccall(glNamedFramebufferTextureLayer_handle[], Cvoid, (GLuint, GLenum, GLuint, GLint, GLint), framebuffer, attachment, texture, level, layer) end +const glNamedFramebufferDrawBuffer_handle = Ref{Ptr{Cvoid}}() + function glNamedFramebufferDrawBuffer(framebuffer, buf) - ccall(getprocaddress_e("glNamedFramebufferDrawBuffer"), Cvoid, (GLuint, GLenum), framebuffer, buf) + glNamedFramebufferDrawBuffer_handle[] == C_NULL && (glNamedFramebufferDrawBuffer_handle[] = getprocaddress_e("glNamedFramebufferDrawBuffer")) + ccall(glNamedFramebufferDrawBuffer_handle[], Cvoid, (GLuint, GLenum), framebuffer, buf) end +const glNamedFramebufferDrawBuffers_handle = Ref{Ptr{Cvoid}}() + function glNamedFramebufferDrawBuffers(framebuffer, n, bufs) - ccall(getprocaddress_e("glNamedFramebufferDrawBuffers"), Cvoid, (GLuint, GLsizei, Ptr{GLenum}), framebuffer, n, bufs) + glNamedFramebufferDrawBuffers_handle[] == C_NULL && (glNamedFramebufferDrawBuffers_handle[] = getprocaddress_e("glNamedFramebufferDrawBuffers")) + ccall(glNamedFramebufferDrawBuffers_handle[], Cvoid, (GLuint, GLsizei, Ptr{GLenum}), framebuffer, n, bufs) end +const glNamedFramebufferReadBuffer_handle = Ref{Ptr{Cvoid}}() + function glNamedFramebufferReadBuffer(framebuffer, src) - ccall(getprocaddress_e("glNamedFramebufferReadBuffer"), Cvoid, (GLuint, GLenum), framebuffer, src) + glNamedFramebufferReadBuffer_handle[] == C_NULL && (glNamedFramebufferReadBuffer_handle[] = getprocaddress_e("glNamedFramebufferReadBuffer")) + ccall(glNamedFramebufferReadBuffer_handle[], Cvoid, (GLuint, GLenum), framebuffer, src) end +const glInvalidateNamedFramebufferData_handle = Ref{Ptr{Cvoid}}() + function glInvalidateNamedFramebufferData(framebuffer, numAttachments, attachments) - ccall(getprocaddress_e("glInvalidateNamedFramebufferData"), Cvoid, (GLuint, GLsizei, Ptr{GLenum}), framebuffer, numAttachments, attachments) + glInvalidateNamedFramebufferData_handle[] == C_NULL && (glInvalidateNamedFramebufferData_handle[] = getprocaddress_e("glInvalidateNamedFramebufferData")) + ccall(glInvalidateNamedFramebufferData_handle[], Cvoid, (GLuint, GLsizei, Ptr{GLenum}), framebuffer, numAttachments, attachments) end +const glInvalidateNamedFramebufferSubData_handle = Ref{Ptr{Cvoid}}() + function glInvalidateNamedFramebufferSubData(framebuffer, numAttachments, attachments, x, y, width, height) - ccall(getprocaddress_e("glInvalidateNamedFramebufferSubData"), Cvoid, (GLuint, GLsizei, Ptr{GLenum}, GLint, GLint, GLsizei, GLsizei), framebuffer, numAttachments, attachments, x, y, width, height) + glInvalidateNamedFramebufferSubData_handle[] == C_NULL && (glInvalidateNamedFramebufferSubData_handle[] = getprocaddress_e("glInvalidateNamedFramebufferSubData")) + ccall(glInvalidateNamedFramebufferSubData_handle[], Cvoid, (GLuint, GLsizei, Ptr{GLenum}, GLint, GLint, GLsizei, GLsizei), framebuffer, numAttachments, attachments, x, y, width, height) end +const glClearNamedFramebufferiv_handle = Ref{Ptr{Cvoid}}() + function glClearNamedFramebufferiv(framebuffer, buffer, drawbuffer, value) - ccall(getprocaddress_e("glClearNamedFramebufferiv"), Cvoid, (GLuint, GLenum, GLint, Ptr{GLint}), framebuffer, buffer, drawbuffer, value) + glClearNamedFramebufferiv_handle[] == C_NULL && (glClearNamedFramebufferiv_handle[] = getprocaddress_e("glClearNamedFramebufferiv")) + ccall(glClearNamedFramebufferiv_handle[], Cvoid, (GLuint, GLenum, GLint, Ptr{GLint}), framebuffer, buffer, drawbuffer, value) end +const glClearNamedFramebufferuiv_handle = Ref{Ptr{Cvoid}}() + function glClearNamedFramebufferuiv(framebuffer, buffer, drawbuffer, value) - ccall(getprocaddress_e("glClearNamedFramebufferuiv"), Cvoid, (GLuint, GLenum, GLint, Ptr{GLuint}), framebuffer, buffer, drawbuffer, value) + glClearNamedFramebufferuiv_handle[] == C_NULL && (glClearNamedFramebufferuiv_handle[] = getprocaddress_e("glClearNamedFramebufferuiv")) + ccall(glClearNamedFramebufferuiv_handle[], Cvoid, (GLuint, GLenum, GLint, Ptr{GLuint}), framebuffer, buffer, drawbuffer, value) end +const glClearNamedFramebufferfv_handle = Ref{Ptr{Cvoid}}() + function glClearNamedFramebufferfv(framebuffer, buffer, drawbuffer, value) - ccall(getprocaddress_e("glClearNamedFramebufferfv"), Cvoid, (GLuint, GLenum, GLint, Ptr{GLfloat}), framebuffer, buffer, drawbuffer, value) + glClearNamedFramebufferfv_handle[] == C_NULL && (glClearNamedFramebufferfv_handle[] = getprocaddress_e("glClearNamedFramebufferfv")) + ccall(glClearNamedFramebufferfv_handle[], Cvoid, (GLuint, GLenum, GLint, Ptr{GLfloat}), framebuffer, buffer, drawbuffer, value) end +const glClearNamedFramebufferfi_handle = Ref{Ptr{Cvoid}}() + function glClearNamedFramebufferfi(framebuffer, buffer, drawbuffer, depth, stencil) - ccall(getprocaddress_e("glClearNamedFramebufferfi"), Cvoid, (GLuint, GLenum, GLint, GLfloat, GLint), framebuffer, buffer, drawbuffer, depth, stencil) + glClearNamedFramebufferfi_handle[] == C_NULL && (glClearNamedFramebufferfi_handle[] = getprocaddress_e("glClearNamedFramebufferfi")) + ccall(glClearNamedFramebufferfi_handle[], Cvoid, (GLuint, GLenum, GLint, GLfloat, GLint), framebuffer, buffer, drawbuffer, depth, stencil) end +const glBlitNamedFramebuffer_handle = Ref{Ptr{Cvoid}}() + function glBlitNamedFramebuffer(readFramebuffer, drawFramebuffer, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter) - ccall(getprocaddress_e("glBlitNamedFramebuffer"), Cvoid, (GLuint, GLuint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum), readFramebuffer, drawFramebuffer, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter) + glBlitNamedFramebuffer_handle[] == C_NULL && (glBlitNamedFramebuffer_handle[] = getprocaddress_e("glBlitNamedFramebuffer")) + ccall(glBlitNamedFramebuffer_handle[], Cvoid, (GLuint, GLuint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum), readFramebuffer, drawFramebuffer, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter) end +const glCheckNamedFramebufferStatus_handle = Ref{Ptr{Cvoid}}() + function glCheckNamedFramebufferStatus(framebuffer, target) - ccall(getprocaddress_e("glCheckNamedFramebufferStatus"), GLenum, (GLuint, GLenum), framebuffer, target) + glCheckNamedFramebufferStatus_handle[] == C_NULL && (glCheckNamedFramebufferStatus_handle[] = getprocaddress_e("glCheckNamedFramebufferStatus")) + ccall(glCheckNamedFramebufferStatus_handle[], GLenum, (GLuint, GLenum), framebuffer, target) end +const glGetNamedFramebufferParameteriv_handle = Ref{Ptr{Cvoid}}() + function glGetNamedFramebufferParameteriv(framebuffer, pname, param) - ccall(getprocaddress_e("glGetNamedFramebufferParameteriv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), framebuffer, pname, param) + glGetNamedFramebufferParameteriv_handle[] == C_NULL && (glGetNamedFramebufferParameteriv_handle[] = getprocaddress_e("glGetNamedFramebufferParameteriv")) + ccall(glGetNamedFramebufferParameteriv_handle[], Cvoid, (GLuint, GLenum, Ptr{GLint}), framebuffer, pname, param) end +const glGetNamedFramebufferAttachmentParameteriv_handle = Ref{Ptr{Cvoid}}() + function glGetNamedFramebufferAttachmentParameteriv(framebuffer, attachment, pname, params) - ccall(getprocaddress_e("glGetNamedFramebufferAttachmentParameteriv"), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), framebuffer, attachment, pname, params) + glGetNamedFramebufferAttachmentParameteriv_handle[] == C_NULL && (glGetNamedFramebufferAttachmentParameteriv_handle[] = getprocaddress_e("glGetNamedFramebufferAttachmentParameteriv")) + ccall(glGetNamedFramebufferAttachmentParameteriv_handle[], Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), framebuffer, attachment, pname, params) end +const glCreateRenderbuffers_handle = Ref{Ptr{Cvoid}}() + function glCreateRenderbuffers(n, renderbuffers) - ccall(getprocaddress_e("glCreateRenderbuffers"), Cvoid, (GLsizei, Ptr{GLuint}), n, renderbuffers) + glCreateRenderbuffers_handle[] == C_NULL && (glCreateRenderbuffers_handle[] = getprocaddress_e("glCreateRenderbuffers")) + ccall(glCreateRenderbuffers_handle[], Cvoid, (GLsizei, Ptr{GLuint}), n, renderbuffers) end +const glNamedRenderbufferStorage_handle = Ref{Ptr{Cvoid}}() + function glNamedRenderbufferStorage(renderbuffer, internalformat, width, height) - ccall(getprocaddress_e("glNamedRenderbufferStorage"), Cvoid, (GLuint, GLenum, GLsizei, GLsizei), renderbuffer, internalformat, width, height) + glNamedRenderbufferStorage_handle[] == C_NULL && (glNamedRenderbufferStorage_handle[] = getprocaddress_e("glNamedRenderbufferStorage")) + ccall(glNamedRenderbufferStorage_handle[], Cvoid, (GLuint, GLenum, GLsizei, GLsizei), renderbuffer, internalformat, width, height) end +const glNamedRenderbufferStorageMultisample_handle = Ref{Ptr{Cvoid}}() + function glNamedRenderbufferStorageMultisample(renderbuffer, samples, internalformat, width, height) - ccall(getprocaddress_e("glNamedRenderbufferStorageMultisample"), Cvoid, (GLuint, GLsizei, GLenum, GLsizei, GLsizei), renderbuffer, samples, internalformat, width, height) + glNamedRenderbufferStorageMultisample_handle[] == C_NULL && (glNamedRenderbufferStorageMultisample_handle[] = getprocaddress_e("glNamedRenderbufferStorageMultisample")) + ccall(glNamedRenderbufferStorageMultisample_handle[], Cvoid, (GLuint, GLsizei, GLenum, GLsizei, GLsizei), renderbuffer, samples, internalformat, width, height) end +const glGetNamedRenderbufferParameteriv_handle = Ref{Ptr{Cvoid}}() + function glGetNamedRenderbufferParameteriv(renderbuffer, pname, params) - ccall(getprocaddress_e("glGetNamedRenderbufferParameteriv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), renderbuffer, pname, params) + glGetNamedRenderbufferParameteriv_handle[] == C_NULL && (glGetNamedRenderbufferParameteriv_handle[] = getprocaddress_e("glGetNamedRenderbufferParameteriv")) + ccall(glGetNamedRenderbufferParameteriv_handle[], Cvoid, (GLuint, GLenum, Ptr{GLint}), renderbuffer, pname, params) end +const glCreateTextures_handle = Ref{Ptr{Cvoid}}() + function glCreateTextures(target, n, textures) - ccall(getprocaddress_e("glCreateTextures"), Cvoid, (GLenum, GLsizei, Ptr{GLuint}), target, n, textures) + glCreateTextures_handle[] == C_NULL && (glCreateTextures_handle[] = getprocaddress_e("glCreateTextures")) + ccall(glCreateTextures_handle[], Cvoid, (GLenum, GLsizei, Ptr{GLuint}), target, n, textures) end +const glTextureBuffer_handle = Ref{Ptr{Cvoid}}() + function glTextureBuffer(texture, internalformat, buffer) - ccall(getprocaddress_e("glTextureBuffer"), Cvoid, (GLuint, GLenum, GLuint), texture, internalformat, buffer) + glTextureBuffer_handle[] == C_NULL && (glTextureBuffer_handle[] = getprocaddress_e("glTextureBuffer")) + ccall(glTextureBuffer_handle[], Cvoid, (GLuint, GLenum, GLuint), texture, internalformat, buffer) end +const glTextureBufferRange_handle = Ref{Ptr{Cvoid}}() + function glTextureBufferRange(texture, internalformat, buffer, offset, size) - ccall(getprocaddress_e("glTextureBufferRange"), Cvoid, (GLuint, GLenum, GLuint, GLintptr, GLsizeiptr), texture, internalformat, buffer, offset, size) + glTextureBufferRange_handle[] == C_NULL && (glTextureBufferRange_handle[] = getprocaddress_e("glTextureBufferRange")) + ccall(glTextureBufferRange_handle[], Cvoid, (GLuint, GLenum, GLuint, GLintptr, GLsizeiptr), texture, internalformat, buffer, offset, size) end +const glTextureStorage1D_handle = Ref{Ptr{Cvoid}}() + function glTextureStorage1D(texture, levels, internalformat, width) - ccall(getprocaddress_e("glTextureStorage1D"), Cvoid, (GLuint, GLsizei, GLenum, GLsizei), texture, levels, internalformat, width) + glTextureStorage1D_handle[] == C_NULL && (glTextureStorage1D_handle[] = getprocaddress_e("glTextureStorage1D")) + ccall(glTextureStorage1D_handle[], Cvoid, (GLuint, GLsizei, GLenum, GLsizei), texture, levels, internalformat, width) end +const glTextureStorage2D_handle = Ref{Ptr{Cvoid}}() + function glTextureStorage2D(texture, levels, internalformat, width, height) - ccall(getprocaddress_e("glTextureStorage2D"), Cvoid, (GLuint, GLsizei, GLenum, GLsizei, GLsizei), texture, levels, internalformat, width, height) + glTextureStorage2D_handle[] == C_NULL && (glTextureStorage2D_handle[] = getprocaddress_e("glTextureStorage2D")) + ccall(glTextureStorage2D_handle[], Cvoid, (GLuint, GLsizei, GLenum, GLsizei, GLsizei), texture, levels, internalformat, width, height) end +const glTextureStorage3D_handle = Ref{Ptr{Cvoid}}() + function glTextureStorage3D(texture, levels, internalformat, width, height, depth) - ccall(getprocaddress_e("glTextureStorage3D"), Cvoid, (GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLsizei), texture, levels, internalformat, width, height, depth) + glTextureStorage3D_handle[] == C_NULL && (glTextureStorage3D_handle[] = getprocaddress_e("glTextureStorage3D")) + ccall(glTextureStorage3D_handle[], Cvoid, (GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLsizei), texture, levels, internalformat, width, height, depth) end +const glTextureStorage2DMultisample_handle = Ref{Ptr{Cvoid}}() + function glTextureStorage2DMultisample(texture, samples, internalformat, width, height, fixedsamplelocations) - ccall(getprocaddress_e("glTextureStorage2DMultisample"), Cvoid, (GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLboolean), texture, samples, internalformat, width, height, fixedsamplelocations) + glTextureStorage2DMultisample_handle[] == C_NULL && (glTextureStorage2DMultisample_handle[] = getprocaddress_e("glTextureStorage2DMultisample")) + ccall(glTextureStorage2DMultisample_handle[], Cvoid, (GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLboolean), texture, samples, internalformat, width, height, fixedsamplelocations) end +const glTextureStorage3DMultisample_handle = Ref{Ptr{Cvoid}}() + function glTextureStorage3DMultisample(texture, samples, internalformat, width, height, depth, fixedsamplelocations) - ccall(getprocaddress_e("glTextureStorage3DMultisample"), Cvoid, (GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean), texture, samples, internalformat, width, height, depth, fixedsamplelocations) + glTextureStorage3DMultisample_handle[] == C_NULL && (glTextureStorage3DMultisample_handle[] = getprocaddress_e("glTextureStorage3DMultisample")) + ccall(glTextureStorage3DMultisample_handle[], Cvoid, (GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean), texture, samples, internalformat, width, height, depth, fixedsamplelocations) end +const glTextureSubImage1D_handle = Ref{Ptr{Cvoid}}() + function glTextureSubImage1D(texture, level, xoffset, width, format, type, pixels) - ccall(getprocaddress_e("glTextureSubImage1D"), Cvoid, (GLuint, GLint, GLint, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, level, xoffset, width, format, type, pixels) + glTextureSubImage1D_handle[] == C_NULL && (glTextureSubImage1D_handle[] = getprocaddress_e("glTextureSubImage1D")) + ccall(glTextureSubImage1D_handle[], Cvoid, (GLuint, GLint, GLint, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, level, xoffset, width, format, type, pixels) end +const glTextureSubImage2D_handle = Ref{Ptr{Cvoid}}() + function glTextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, type, pixels) - ccall(getprocaddress_e("glTextureSubImage2D"), Cvoid, (GLuint, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, level, xoffset, yoffset, width, height, format, type, pixels) + glTextureSubImage2D_handle[] == C_NULL && (glTextureSubImage2D_handle[] = getprocaddress_e("glTextureSubImage2D")) + ccall(glTextureSubImage2D_handle[], Cvoid, (GLuint, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, level, xoffset, yoffset, width, height, format, type, pixels) end +const glTextureSubImage3D_handle = Ref{Ptr{Cvoid}}() + function glTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) - ccall(getprocaddress_e("glTextureSubImage3D"), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) + glTextureSubImage3D_handle[] == C_NULL && (glTextureSubImage3D_handle[] = getprocaddress_e("glTextureSubImage3D")) + ccall(glTextureSubImage3D_handle[], Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) end +const glCompressedTextureSubImage1D_handle = Ref{Ptr{Cvoid}}() + function glCompressedTextureSubImage1D(texture, level, xoffset, width, format, imageSize, data) - ccall(getprocaddress_e("glCompressedTextureSubImage1D"), Cvoid, (GLuint, GLint, GLint, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texture, level, xoffset, width, format, imageSize, data) + glCompressedTextureSubImage1D_handle[] == C_NULL && (glCompressedTextureSubImage1D_handle[] = getprocaddress_e("glCompressedTextureSubImage1D")) + ccall(glCompressedTextureSubImage1D_handle[], Cvoid, (GLuint, GLint, GLint, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texture, level, xoffset, width, format, imageSize, data) end +const glCompressedTextureSubImage2D_handle = Ref{Ptr{Cvoid}}() + function glCompressedTextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, imageSize, data) - ccall(getprocaddress_e("glCompressedTextureSubImage2D"), Cvoid, (GLuint, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texture, level, xoffset, yoffset, width, height, format, imageSize, data) + glCompressedTextureSubImage2D_handle[] == C_NULL && (glCompressedTextureSubImage2D_handle[] = getprocaddress_e("glCompressedTextureSubImage2D")) + ccall(glCompressedTextureSubImage2D_handle[], Cvoid, (GLuint, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texture, level, xoffset, yoffset, width, height, format, imageSize, data) end +const glCompressedTextureSubImage3D_handle = Ref{Ptr{Cvoid}}() + function glCompressedTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data) - ccall(getprocaddress_e("glCompressedTextureSubImage3D"), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texture, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data) + glCompressedTextureSubImage3D_handle[] == C_NULL && (glCompressedTextureSubImage3D_handle[] = getprocaddress_e("glCompressedTextureSubImage3D")) + ccall(glCompressedTextureSubImage3D_handle[], Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texture, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data) end +const glCopyTextureSubImage1D_handle = Ref{Ptr{Cvoid}}() + function glCopyTextureSubImage1D(texture, level, xoffset, x, y, width) - ccall(getprocaddress_e("glCopyTextureSubImage1D"), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei), texture, level, xoffset, x, y, width) + glCopyTextureSubImage1D_handle[] == C_NULL && (glCopyTextureSubImage1D_handle[] = getprocaddress_e("glCopyTextureSubImage1D")) + ccall(glCopyTextureSubImage1D_handle[], Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei), texture, level, xoffset, x, y, width) end +const glCopyTextureSubImage2D_handle = Ref{Ptr{Cvoid}}() + function glCopyTextureSubImage2D(texture, level, xoffset, yoffset, x, y, width, height) - ccall(getprocaddress_e("glCopyTextureSubImage2D"), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), texture, level, xoffset, yoffset, x, y, width, height) + glCopyTextureSubImage2D_handle[] == C_NULL && (glCopyTextureSubImage2D_handle[] = getprocaddress_e("glCopyTextureSubImage2D")) + ccall(glCopyTextureSubImage2D_handle[], Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), texture, level, xoffset, yoffset, x, y, width, height) end +const glCopyTextureSubImage3D_handle = Ref{Ptr{Cvoid}}() + function glCopyTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, x, y, width, height) - ccall(getprocaddress_e("glCopyTextureSubImage3D"), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), texture, level, xoffset, yoffset, zoffset, x, y, width, height) + glCopyTextureSubImage3D_handle[] == C_NULL && (glCopyTextureSubImage3D_handle[] = getprocaddress_e("glCopyTextureSubImage3D")) + ccall(glCopyTextureSubImage3D_handle[], Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), texture, level, xoffset, yoffset, zoffset, x, y, width, height) end +const glTextureParameterf_handle = Ref{Ptr{Cvoid}}() + function glTextureParameterf(texture, pname, param) - ccall(getprocaddress_e("glTextureParameterf"), Cvoid, (GLuint, GLenum, GLfloat), texture, pname, param) + glTextureParameterf_handle[] == C_NULL && (glTextureParameterf_handle[] = getprocaddress_e("glTextureParameterf")) + ccall(glTextureParameterf_handle[], Cvoid, (GLuint, GLenum, GLfloat), texture, pname, param) end +const glTextureParameterfv_handle = Ref{Ptr{Cvoid}}() + function glTextureParameterfv(texture, pname, param) - ccall(getprocaddress_e("glTextureParameterfv"), Cvoid, (GLuint, GLenum, Ptr{GLfloat}), texture, pname, param) + glTextureParameterfv_handle[] == C_NULL && (glTextureParameterfv_handle[] = getprocaddress_e("glTextureParameterfv")) + ccall(glTextureParameterfv_handle[], Cvoid, (GLuint, GLenum, Ptr{GLfloat}), texture, pname, param) end +const glTextureParameteri_handle = Ref{Ptr{Cvoid}}() + function glTextureParameteri(texture, pname, param) - ccall(getprocaddress_e("glTextureParameteri"), Cvoid, (GLuint, GLenum, GLint), texture, pname, param) + glTextureParameteri_handle[] == C_NULL && (glTextureParameteri_handle[] = getprocaddress_e("glTextureParameteri")) + ccall(glTextureParameteri_handle[], Cvoid, (GLuint, GLenum, GLint), texture, pname, param) end +const glTextureParameterIiv_handle = Ref{Ptr{Cvoid}}() + function glTextureParameterIiv(texture, pname, params) - ccall(getprocaddress_e("glTextureParameterIiv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), texture, pname, params) + glTextureParameterIiv_handle[] == C_NULL && (glTextureParameterIiv_handle[] = getprocaddress_e("glTextureParameterIiv")) + ccall(glTextureParameterIiv_handle[], Cvoid, (GLuint, GLenum, Ptr{GLint}), texture, pname, params) end +const glTextureParameterIuiv_handle = Ref{Ptr{Cvoid}}() + function glTextureParameterIuiv(texture, pname, params) - ccall(getprocaddress_e("glTextureParameterIuiv"), Cvoid, (GLuint, GLenum, Ptr{GLuint}), texture, pname, params) + glTextureParameterIuiv_handle[] == C_NULL && (glTextureParameterIuiv_handle[] = getprocaddress_e("glTextureParameterIuiv")) + ccall(glTextureParameterIuiv_handle[], Cvoid, (GLuint, GLenum, Ptr{GLuint}), texture, pname, params) end +const glTextureParameteriv_handle = Ref{Ptr{Cvoid}}() + function glTextureParameteriv(texture, pname, param) - ccall(getprocaddress_e("glTextureParameteriv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), texture, pname, param) + glTextureParameteriv_handle[] == C_NULL && (glTextureParameteriv_handle[] = getprocaddress_e("glTextureParameteriv")) + ccall(glTextureParameteriv_handle[], Cvoid, (GLuint, GLenum, Ptr{GLint}), texture, pname, param) end +const glGenerateTextureMipmap_handle = Ref{Ptr{Cvoid}}() + function glGenerateTextureMipmap(texture) - ccall(getprocaddress_e("glGenerateTextureMipmap"), Cvoid, (GLuint,), texture) + glGenerateTextureMipmap_handle[] == C_NULL && (glGenerateTextureMipmap_handle[] = getprocaddress_e("glGenerateTextureMipmap")) + ccall(glGenerateTextureMipmap_handle[], Cvoid, (GLuint,), texture) end +const glBindTextureUnit_handle = Ref{Ptr{Cvoid}}() + function glBindTextureUnit(unit, texture) - ccall(getprocaddress_e("glBindTextureUnit"), Cvoid, (GLuint, GLuint), unit, texture) + glBindTextureUnit_handle[] == C_NULL && (glBindTextureUnit_handle[] = getprocaddress_e("glBindTextureUnit")) + ccall(glBindTextureUnit_handle[], Cvoid, (GLuint, GLuint), unit, texture) end +const glGetTextureImage_handle = Ref{Ptr{Cvoid}}() + function glGetTextureImage(texture, level, format, type, bufSize, pixels) - ccall(getprocaddress_e("glGetTextureImage"), Cvoid, (GLuint, GLint, GLenum, GLenum, GLsizei, Ptr{Cvoid}), texture, level, format, type, bufSize, pixels) + glGetTextureImage_handle[] == C_NULL && (glGetTextureImage_handle[] = getprocaddress_e("glGetTextureImage")) + ccall(glGetTextureImage_handle[], Cvoid, (GLuint, GLint, GLenum, GLenum, GLsizei, Ptr{Cvoid}), texture, level, format, type, bufSize, pixels) end +const glGetCompressedTextureImage_handle = Ref{Ptr{Cvoid}}() + function glGetCompressedTextureImage(texture, level, bufSize, pixels) - ccall(getprocaddress_e("glGetCompressedTextureImage"), Cvoid, (GLuint, GLint, GLsizei, Ptr{Cvoid}), texture, level, bufSize, pixels) + glGetCompressedTextureImage_handle[] == C_NULL && (glGetCompressedTextureImage_handle[] = getprocaddress_e("glGetCompressedTextureImage")) + ccall(glGetCompressedTextureImage_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{Cvoid}), texture, level, bufSize, pixels) end +const glGetTextureLevelParameterfv_handle = Ref{Ptr{Cvoid}}() + function glGetTextureLevelParameterfv(texture, level, pname, params) - ccall(getprocaddress_e("glGetTextureLevelParameterfv"), Cvoid, (GLuint, GLint, GLenum, Ptr{GLfloat}), texture, level, pname, params) + glGetTextureLevelParameterfv_handle[] == C_NULL && (glGetTextureLevelParameterfv_handle[] = getprocaddress_e("glGetTextureLevelParameterfv")) + ccall(glGetTextureLevelParameterfv_handle[], Cvoid, (GLuint, GLint, GLenum, Ptr{GLfloat}), texture, level, pname, params) end +const glGetTextureLevelParameteriv_handle = Ref{Ptr{Cvoid}}() + function glGetTextureLevelParameteriv(texture, level, pname, params) - ccall(getprocaddress_e("glGetTextureLevelParameteriv"), Cvoid, (GLuint, GLint, GLenum, Ptr{GLint}), texture, level, pname, params) + glGetTextureLevelParameteriv_handle[] == C_NULL && (glGetTextureLevelParameteriv_handle[] = getprocaddress_e("glGetTextureLevelParameteriv")) + ccall(glGetTextureLevelParameteriv_handle[], Cvoid, (GLuint, GLint, GLenum, Ptr{GLint}), texture, level, pname, params) end +const glGetTextureParameterfv_handle = Ref{Ptr{Cvoid}}() + function glGetTextureParameterfv(texture, pname, params) - ccall(getprocaddress_e("glGetTextureParameterfv"), Cvoid, (GLuint, GLenum, Ptr{GLfloat}), texture, pname, params) + glGetTextureParameterfv_handle[] == C_NULL && (glGetTextureParameterfv_handle[] = getprocaddress_e("glGetTextureParameterfv")) + ccall(glGetTextureParameterfv_handle[], Cvoid, (GLuint, GLenum, Ptr{GLfloat}), texture, pname, params) end +const glGetTextureParameterIiv_handle = Ref{Ptr{Cvoid}}() + function glGetTextureParameterIiv(texture, pname, params) - ccall(getprocaddress_e("glGetTextureParameterIiv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), texture, pname, params) + glGetTextureParameterIiv_handle[] == C_NULL && (glGetTextureParameterIiv_handle[] = getprocaddress_e("glGetTextureParameterIiv")) + ccall(glGetTextureParameterIiv_handle[], Cvoid, (GLuint, GLenum, Ptr{GLint}), texture, pname, params) end +const glGetTextureParameterIuiv_handle = Ref{Ptr{Cvoid}}() + function glGetTextureParameterIuiv(texture, pname, params) - ccall(getprocaddress_e("glGetTextureParameterIuiv"), Cvoid, (GLuint, GLenum, Ptr{GLuint}), texture, pname, params) + glGetTextureParameterIuiv_handle[] == C_NULL && (glGetTextureParameterIuiv_handle[] = getprocaddress_e("glGetTextureParameterIuiv")) + ccall(glGetTextureParameterIuiv_handle[], Cvoid, (GLuint, GLenum, Ptr{GLuint}), texture, pname, params) end +const glGetTextureParameteriv_handle = Ref{Ptr{Cvoid}}() + function glGetTextureParameteriv(texture, pname, params) - ccall(getprocaddress_e("glGetTextureParameteriv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), texture, pname, params) + glGetTextureParameteriv_handle[] == C_NULL && (glGetTextureParameteriv_handle[] = getprocaddress_e("glGetTextureParameteriv")) + ccall(glGetTextureParameteriv_handle[], Cvoid, (GLuint, GLenum, Ptr{GLint}), texture, pname, params) end +const glCreateVertexArrays_handle = Ref{Ptr{Cvoid}}() + function glCreateVertexArrays(n, arrays) - ccall(getprocaddress_e("glCreateVertexArrays"), Cvoid, (GLsizei, Ptr{GLuint}), n, arrays) + glCreateVertexArrays_handle[] == C_NULL && (glCreateVertexArrays_handle[] = getprocaddress_e("glCreateVertexArrays")) + ccall(glCreateVertexArrays_handle[], Cvoid, (GLsizei, Ptr{GLuint}), n, arrays) end +const glDisableVertexArrayAttrib_handle = Ref{Ptr{Cvoid}}() + function glDisableVertexArrayAttrib(vaobj, index) - ccall(getprocaddress_e("glDisableVertexArrayAttrib"), Cvoid, (GLuint, GLuint), vaobj, index) + glDisableVertexArrayAttrib_handle[] == C_NULL && (glDisableVertexArrayAttrib_handle[] = getprocaddress_e("glDisableVertexArrayAttrib")) + ccall(glDisableVertexArrayAttrib_handle[], Cvoid, (GLuint, GLuint), vaobj, index) end +const glEnableVertexArrayAttrib_handle = Ref{Ptr{Cvoid}}() + function glEnableVertexArrayAttrib(vaobj, index) - ccall(getprocaddress_e("glEnableVertexArrayAttrib"), Cvoid, (GLuint, GLuint), vaobj, index) + glEnableVertexArrayAttrib_handle[] == C_NULL && (glEnableVertexArrayAttrib_handle[] = getprocaddress_e("glEnableVertexArrayAttrib")) + ccall(glEnableVertexArrayAttrib_handle[], Cvoid, (GLuint, GLuint), vaobj, index) end +const glVertexArrayElementBuffer_handle = Ref{Ptr{Cvoid}}() + function glVertexArrayElementBuffer(vaobj, buffer) - ccall(getprocaddress_e("glVertexArrayElementBuffer"), Cvoid, (GLuint, GLuint), vaobj, buffer) + glVertexArrayElementBuffer_handle[] == C_NULL && (glVertexArrayElementBuffer_handle[] = getprocaddress_e("glVertexArrayElementBuffer")) + ccall(glVertexArrayElementBuffer_handle[], Cvoid, (GLuint, GLuint), vaobj, buffer) end +const glVertexArrayVertexBuffer_handle = Ref{Ptr{Cvoid}}() + function glVertexArrayVertexBuffer(vaobj, bindingindex, buffer, offset, stride) - ccall(getprocaddress_e("glVertexArrayVertexBuffer"), Cvoid, (GLuint, GLuint, GLuint, GLintptr, GLsizei), vaobj, bindingindex, buffer, offset, stride) + glVertexArrayVertexBuffer_handle[] == C_NULL && (glVertexArrayVertexBuffer_handle[] = getprocaddress_e("glVertexArrayVertexBuffer")) + ccall(glVertexArrayVertexBuffer_handle[], Cvoid, (GLuint, GLuint, GLuint, GLintptr, GLsizei), vaobj, bindingindex, buffer, offset, stride) end +const glVertexArrayVertexBuffers_handle = Ref{Ptr{Cvoid}}() + function glVertexArrayVertexBuffers(vaobj, first, count, buffers, offsets, strides) - ccall(getprocaddress_e("glVertexArrayVertexBuffers"), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLuint}, Ptr{GLintptr}, Ptr{GLsizei}), vaobj, first, count, buffers, offsets, strides) + glVertexArrayVertexBuffers_handle[] == C_NULL && (glVertexArrayVertexBuffers_handle[] = getprocaddress_e("glVertexArrayVertexBuffers")) + ccall(glVertexArrayVertexBuffers_handle[], Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLuint}, Ptr{GLintptr}, Ptr{GLsizei}), vaobj, first, count, buffers, offsets, strides) end +const glVertexArrayAttribBinding_handle = Ref{Ptr{Cvoid}}() + function glVertexArrayAttribBinding(vaobj, attribindex, bindingindex) - ccall(getprocaddress_e("glVertexArrayAttribBinding"), Cvoid, (GLuint, GLuint, GLuint), vaobj, attribindex, bindingindex) + glVertexArrayAttribBinding_handle[] == C_NULL && (glVertexArrayAttribBinding_handle[] = getprocaddress_e("glVertexArrayAttribBinding")) + ccall(glVertexArrayAttribBinding_handle[], Cvoid, (GLuint, GLuint, GLuint), vaobj, attribindex, bindingindex) end +const glVertexArrayAttribFormat_handle = Ref{Ptr{Cvoid}}() + function glVertexArrayAttribFormat(vaobj, attribindex, size, type, normalized, relativeoffset) - ccall(getprocaddress_e("glVertexArrayAttribFormat"), Cvoid, (GLuint, GLuint, GLint, GLenum, GLboolean, GLuint), vaobj, attribindex, size, type, normalized, relativeoffset) + glVertexArrayAttribFormat_handle[] == C_NULL && (glVertexArrayAttribFormat_handle[] = getprocaddress_e("glVertexArrayAttribFormat")) + ccall(glVertexArrayAttribFormat_handle[], Cvoid, (GLuint, GLuint, GLint, GLenum, GLboolean, GLuint), vaobj, attribindex, size, type, normalized, relativeoffset) end +const glVertexArrayAttribIFormat_handle = Ref{Ptr{Cvoid}}() + function glVertexArrayAttribIFormat(vaobj, attribindex, size, type, relativeoffset) - ccall(getprocaddress_e("glVertexArrayAttribIFormat"), Cvoid, (GLuint, GLuint, GLint, GLenum, GLuint), vaobj, attribindex, size, type, relativeoffset) + glVertexArrayAttribIFormat_handle[] == C_NULL && (glVertexArrayAttribIFormat_handle[] = getprocaddress_e("glVertexArrayAttribIFormat")) + ccall(glVertexArrayAttribIFormat_handle[], Cvoid, (GLuint, GLuint, GLint, GLenum, GLuint), vaobj, attribindex, size, type, relativeoffset) end +const glVertexArrayAttribLFormat_handle = Ref{Ptr{Cvoid}}() + function glVertexArrayAttribLFormat(vaobj, attribindex, size, type, relativeoffset) - ccall(getprocaddress_e("glVertexArrayAttribLFormat"), Cvoid, (GLuint, GLuint, GLint, GLenum, GLuint), vaobj, attribindex, size, type, relativeoffset) + glVertexArrayAttribLFormat_handle[] == C_NULL && (glVertexArrayAttribLFormat_handle[] = getprocaddress_e("glVertexArrayAttribLFormat")) + ccall(glVertexArrayAttribLFormat_handle[], Cvoid, (GLuint, GLuint, GLint, GLenum, GLuint), vaobj, attribindex, size, type, relativeoffset) end +const glVertexArrayBindingDivisor_handle = Ref{Ptr{Cvoid}}() + function glVertexArrayBindingDivisor(vaobj, bindingindex, divisor) - ccall(getprocaddress_e("glVertexArrayBindingDivisor"), Cvoid, (GLuint, GLuint, GLuint), vaobj, bindingindex, divisor) + glVertexArrayBindingDivisor_handle[] == C_NULL && (glVertexArrayBindingDivisor_handle[] = getprocaddress_e("glVertexArrayBindingDivisor")) + ccall(glVertexArrayBindingDivisor_handle[], Cvoid, (GLuint, GLuint, GLuint), vaobj, bindingindex, divisor) end +const glGetVertexArrayiv_handle = Ref{Ptr{Cvoid}}() + function glGetVertexArrayiv(vaobj, pname, param) - ccall(getprocaddress_e("glGetVertexArrayiv"), Cvoid, (GLuint, GLenum, Ptr{GLint}), vaobj, pname, param) + glGetVertexArrayiv_handle[] == C_NULL && (glGetVertexArrayiv_handle[] = getprocaddress_e("glGetVertexArrayiv")) + ccall(glGetVertexArrayiv_handle[], Cvoid, (GLuint, GLenum, Ptr{GLint}), vaobj, pname, param) end +const glGetVertexArrayIndexediv_handle = Ref{Ptr{Cvoid}}() + function glGetVertexArrayIndexediv(vaobj, index, pname, param) - ccall(getprocaddress_e("glGetVertexArrayIndexediv"), Cvoid, (GLuint, GLuint, GLenum, Ptr{GLint}), vaobj, index, pname, param) + glGetVertexArrayIndexediv_handle[] == C_NULL && (glGetVertexArrayIndexediv_handle[] = getprocaddress_e("glGetVertexArrayIndexediv")) + ccall(glGetVertexArrayIndexediv_handle[], Cvoid, (GLuint, GLuint, GLenum, Ptr{GLint}), vaobj, index, pname, param) end +const glGetVertexArrayIndexed64iv_handle = Ref{Ptr{Cvoid}}() + function glGetVertexArrayIndexed64iv(vaobj, index, pname, param) - ccall(getprocaddress_e("glGetVertexArrayIndexed64iv"), Cvoid, (GLuint, GLuint, GLenum, Ptr{GLint64}), vaobj, index, pname, param) + glGetVertexArrayIndexed64iv_handle[] == C_NULL && (glGetVertexArrayIndexed64iv_handle[] = getprocaddress_e("glGetVertexArrayIndexed64iv")) + ccall(glGetVertexArrayIndexed64iv_handle[], Cvoid, (GLuint, GLuint, GLenum, Ptr{GLint64}), vaobj, index, pname, param) end +const glCreateSamplers_handle = Ref{Ptr{Cvoid}}() + function glCreateSamplers(n, samplers) - ccall(getprocaddress_e("glCreateSamplers"), Cvoid, (GLsizei, Ptr{GLuint}), n, samplers) + glCreateSamplers_handle[] == C_NULL && (glCreateSamplers_handle[] = getprocaddress_e("glCreateSamplers")) + ccall(glCreateSamplers_handle[], Cvoid, (GLsizei, Ptr{GLuint}), n, samplers) end +const glCreateProgramPipelines_handle = Ref{Ptr{Cvoid}}() + function glCreateProgramPipelines(n, pipelines) - ccall(getprocaddress_e("glCreateProgramPipelines"), Cvoid, (GLsizei, Ptr{GLuint}), n, pipelines) + glCreateProgramPipelines_handle[] == C_NULL && (glCreateProgramPipelines_handle[] = getprocaddress_e("glCreateProgramPipelines")) + ccall(glCreateProgramPipelines_handle[], Cvoid, (GLsizei, Ptr{GLuint}), n, pipelines) end +const glCreateQueries_handle = Ref{Ptr{Cvoid}}() + function glCreateQueries(target, n, ids) - ccall(getprocaddress_e("glCreateQueries"), Cvoid, (GLenum, GLsizei, Ptr{GLuint}), target, n, ids) + glCreateQueries_handle[] == C_NULL && (glCreateQueries_handle[] = getprocaddress_e("glCreateQueries")) + ccall(glCreateQueries_handle[], Cvoid, (GLenum, GLsizei, Ptr{GLuint}), target, n, ids) end +const glGetQueryBufferObjecti64v_handle = Ref{Ptr{Cvoid}}() + function glGetQueryBufferObjecti64v(id, buffer, pname, offset) - ccall(getprocaddress_e("glGetQueryBufferObjecti64v"), Cvoid, (GLuint, GLuint, GLenum, GLintptr), id, buffer, pname, offset) + glGetQueryBufferObjecti64v_handle[] == C_NULL && (glGetQueryBufferObjecti64v_handle[] = getprocaddress_e("glGetQueryBufferObjecti64v")) + ccall(glGetQueryBufferObjecti64v_handle[], Cvoid, (GLuint, GLuint, GLenum, GLintptr), id, buffer, pname, offset) end +const glGetQueryBufferObjectiv_handle = Ref{Ptr{Cvoid}}() + function glGetQueryBufferObjectiv(id, buffer, pname, offset) - ccall(getprocaddress_e("glGetQueryBufferObjectiv"), Cvoid, (GLuint, GLuint, GLenum, GLintptr), id, buffer, pname, offset) + glGetQueryBufferObjectiv_handle[] == C_NULL && (glGetQueryBufferObjectiv_handle[] = getprocaddress_e("glGetQueryBufferObjectiv")) + ccall(glGetQueryBufferObjectiv_handle[], Cvoid, (GLuint, GLuint, GLenum, GLintptr), id, buffer, pname, offset) end +const glGetQueryBufferObjectui64v_handle = Ref{Ptr{Cvoid}}() + function glGetQueryBufferObjectui64v(id, buffer, pname, offset) - ccall(getprocaddress_e("glGetQueryBufferObjectui64v"), Cvoid, (GLuint, GLuint, GLenum, GLintptr), id, buffer, pname, offset) + glGetQueryBufferObjectui64v_handle[] == C_NULL && (glGetQueryBufferObjectui64v_handle[] = getprocaddress_e("glGetQueryBufferObjectui64v")) + ccall(glGetQueryBufferObjectui64v_handle[], Cvoid, (GLuint, GLuint, GLenum, GLintptr), id, buffer, pname, offset) end +const glGetQueryBufferObjectuiv_handle = Ref{Ptr{Cvoid}}() + function glGetQueryBufferObjectuiv(id, buffer, pname, offset) - ccall(getprocaddress_e("glGetQueryBufferObjectuiv"), Cvoid, (GLuint, GLuint, GLenum, GLintptr), id, buffer, pname, offset) + glGetQueryBufferObjectuiv_handle[] == C_NULL && (glGetQueryBufferObjectuiv_handle[] = getprocaddress_e("glGetQueryBufferObjectuiv")) + ccall(glGetQueryBufferObjectuiv_handle[], Cvoid, (GLuint, GLuint, GLenum, GLintptr), id, buffer, pname, offset) end +const glMemoryBarrierByRegion_handle = Ref{Ptr{Cvoid}}() + function glMemoryBarrierByRegion(barriers) - ccall(getprocaddress_e("glMemoryBarrierByRegion"), Cvoid, (GLbitfield,), barriers) + glMemoryBarrierByRegion_handle[] == C_NULL && (glMemoryBarrierByRegion_handle[] = getprocaddress_e("glMemoryBarrierByRegion")) + ccall(glMemoryBarrierByRegion_handle[], Cvoid, (GLbitfield,), barriers) end +const glGetTextureSubImage_handle = Ref{Ptr{Cvoid}}() + function glGetTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bufSize, pixels) - ccall(getprocaddress_e("glGetTextureSubImage"), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, GLsizei, Ptr{Cvoid}), texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bufSize, pixels) + glGetTextureSubImage_handle[] == C_NULL && (glGetTextureSubImage_handle[] = getprocaddress_e("glGetTextureSubImage")) + ccall(glGetTextureSubImage_handle[], Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, GLsizei, Ptr{Cvoid}), texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bufSize, pixels) end +const glGetCompressedTextureSubImage_handle = Ref{Ptr{Cvoid}}() + function glGetCompressedTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, bufSize, pixels) - ccall(getprocaddress_e("glGetCompressedTextureSubImage"), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLsizei, Ptr{Cvoid}), texture, level, xoffset, yoffset, zoffset, width, height, depth, bufSize, pixels) + glGetCompressedTextureSubImage_handle[] == C_NULL && (glGetCompressedTextureSubImage_handle[] = getprocaddress_e("glGetCompressedTextureSubImage")) + ccall(glGetCompressedTextureSubImage_handle[], Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLsizei, Ptr{Cvoid}), texture, level, xoffset, yoffset, zoffset, width, height, depth, bufSize, pixels) end +const glGetGraphicsResetStatus_handle = Ref{Ptr{Cvoid}}() + function glGetGraphicsResetStatus() - ccall(getprocaddress_e("glGetGraphicsResetStatus"), GLenum, ()) + glGetGraphicsResetStatus_handle[] == C_NULL && (glGetGraphicsResetStatus_handle[] = getprocaddress_e("glGetGraphicsResetStatus")) + ccall(glGetGraphicsResetStatus_handle[], GLenum, ()) end +const glGetnCompressedTexImage_handle = Ref{Ptr{Cvoid}}() + function glGetnCompressedTexImage(target, lod, bufSize, pixels) - ccall(getprocaddress_e("glGetnCompressedTexImage"), Cvoid, (GLenum, GLint, GLsizei, Ptr{Cvoid}), target, lod, bufSize, pixels) + glGetnCompressedTexImage_handle[] == C_NULL && (glGetnCompressedTexImage_handle[] = getprocaddress_e("glGetnCompressedTexImage")) + ccall(glGetnCompressedTexImage_handle[], Cvoid, (GLenum, GLint, GLsizei, Ptr{Cvoid}), target, lod, bufSize, pixels) end +const glGetnTexImage_handle = Ref{Ptr{Cvoid}}() + function glGetnTexImage(target, level, format, type, bufSize, pixels) - ccall(getprocaddress_e("glGetnTexImage"), Cvoid, (GLenum, GLint, GLenum, GLenum, GLsizei, Ptr{Cvoid}), target, level, format, type, bufSize, pixels) + glGetnTexImage_handle[] == C_NULL && (glGetnTexImage_handle[] = getprocaddress_e("glGetnTexImage")) + ccall(glGetnTexImage_handle[], Cvoid, (GLenum, GLint, GLenum, GLenum, GLsizei, Ptr{Cvoid}), target, level, format, type, bufSize, pixels) end +const glGetnUniformdv_handle = Ref{Ptr{Cvoid}}() + function glGetnUniformdv(program, location, bufSize, params) - ccall(getprocaddress_e("glGetnUniformdv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, bufSize, params) + glGetnUniformdv_handle[] == C_NULL && (glGetnUniformdv_handle[] = getprocaddress_e("glGetnUniformdv")) + ccall(glGetnUniformdv_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, bufSize, params) end +const glGetnUniformfv_handle = Ref{Ptr{Cvoid}}() + function glGetnUniformfv(program, location, bufSize, params) - ccall(getprocaddress_e("glGetnUniformfv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, bufSize, params) + glGetnUniformfv_handle[] == C_NULL && (glGetnUniformfv_handle[] = getprocaddress_e("glGetnUniformfv")) + ccall(glGetnUniformfv_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, bufSize, params) end +const glGetnUniformiv_handle = Ref{Ptr{Cvoid}}() + function glGetnUniformiv(program, location, bufSize, params) - ccall(getprocaddress_e("glGetnUniformiv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, bufSize, params) + glGetnUniformiv_handle[] == C_NULL && (glGetnUniformiv_handle[] = getprocaddress_e("glGetnUniformiv")) + ccall(glGetnUniformiv_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, bufSize, params) end +const glGetnUniformuiv_handle = Ref{Ptr{Cvoid}}() + function glGetnUniformuiv(program, location, bufSize, params) - ccall(getprocaddress_e("glGetnUniformuiv"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, bufSize, params) + glGetnUniformuiv_handle[] == C_NULL && (glGetnUniformuiv_handle[] = getprocaddress_e("glGetnUniformuiv")) + ccall(glGetnUniformuiv_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, bufSize, params) end +const glReadnPixels_handle = Ref{Ptr{Cvoid}}() + function glReadnPixels(x, y, width, height, format, type, bufSize, data) - ccall(getprocaddress_e("glReadnPixels"), Cvoid, (GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, Ptr{Cvoid}), x, y, width, height, format, type, bufSize, data) + glReadnPixels_handle[] == C_NULL && (glReadnPixels_handle[] = getprocaddress_e("glReadnPixels")) + ccall(glReadnPixels_handle[], Cvoid, (GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, Ptr{Cvoid}), x, y, width, height, format, type, bufSize, data) end +const glTextureBarrier_handle = Ref{Ptr{Cvoid}}() + function glTextureBarrier() - ccall(getprocaddress_e("glTextureBarrier"), Cvoid, ()) + glTextureBarrier_handle[] == C_NULL && (glTextureBarrier_handle[] = getprocaddress_e("glTextureBarrier")) + ccall(glTextureBarrier_handle[], Cvoid, ()) end # typedef void ( APIENTRYP PFNGLSPECIALIZESHADERPROC ) ( GLuint shader , const GLchar * pEntryPoint , GLuint numSpecializationConstants , const GLuint * pConstantIndex , const GLuint * pConstantValue ) @@ -4668,27 +6627,42 @@ const PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLPOLYGONOFFSETCLAMPPROC ) ( GLfloat factor , GLfloat units , GLfloat clamp ) const PFNGLPOLYGONOFFSETCLAMPPROC = Ptr{Cvoid} +const glSpecializeShader_handle = Ref{Ptr{Cvoid}}() + function glSpecializeShader(shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue) - ccall(getprocaddress_e("glSpecializeShader"), Cvoid, (GLuint, Ptr{GLchar}, GLuint, Ptr{GLuint}, Ptr{GLuint}), shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue) + glSpecializeShader_handle[] == C_NULL && (glSpecializeShader_handle[] = getprocaddress_e("glSpecializeShader")) + ccall(glSpecializeShader_handle[], Cvoid, (GLuint, Ptr{GLchar}, GLuint, Ptr{GLuint}, Ptr{GLuint}), shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue) end +const glMultiDrawArraysIndirectCount_handle = Ref{Ptr{Cvoid}}() + function glMultiDrawArraysIndirectCount(mode, indirect, drawcount, maxdrawcount, stride) - ccall(getprocaddress_e("glMultiDrawArraysIndirectCount"), Cvoid, (GLenum, Ptr{Cvoid}, GLintptr, GLsizei, GLsizei), mode, indirect, drawcount, maxdrawcount, stride) + glMultiDrawArraysIndirectCount_handle[] == C_NULL && (glMultiDrawArraysIndirectCount_handle[] = getprocaddress_e("glMultiDrawArraysIndirectCount")) + ccall(glMultiDrawArraysIndirectCount_handle[], Cvoid, (GLenum, Ptr{Cvoid}, GLintptr, GLsizei, GLsizei), mode, indirect, drawcount, maxdrawcount, stride) end +const glMultiDrawElementsIndirectCount_handle = Ref{Ptr{Cvoid}}() + function glMultiDrawElementsIndirectCount(mode, type, indirect, drawcount, maxdrawcount, stride) - ccall(getprocaddress_e("glMultiDrawElementsIndirectCount"), Cvoid, (GLenum, GLenum, Ptr{Cvoid}, GLintptr, GLsizei, GLsizei), mode, type, indirect, drawcount, maxdrawcount, stride) + glMultiDrawElementsIndirectCount_handle[] == C_NULL && (glMultiDrawElementsIndirectCount_handle[] = getprocaddress_e("glMultiDrawElementsIndirectCount")) + ccall(glMultiDrawElementsIndirectCount_handle[], Cvoid, (GLenum, GLenum, Ptr{Cvoid}, GLintptr, GLsizei, GLsizei), mode, type, indirect, drawcount, maxdrawcount, stride) end +const glPolygonOffsetClamp_handle = Ref{Ptr{Cvoid}}() + function glPolygonOffsetClamp(factor, units, clamp) - ccall(getprocaddress_e("glPolygonOffsetClamp"), Cvoid, (GLfloat, GLfloat, GLfloat), factor, units, clamp) + glPolygonOffsetClamp_handle[] == C_NULL && (glPolygonOffsetClamp_handle[] = getprocaddress_e("glPolygonOffsetClamp")) + ccall(glPolygonOffsetClamp_handle[], Cvoid, (GLfloat, GLfloat, GLfloat), factor, units, clamp) end # typedef void ( APIENTRYP PFNGLPRIMITIVEBOUNDINGBOXARBPROC ) ( GLfloat minX , GLfloat minY , GLfloat minZ , GLfloat minW , GLfloat maxX , GLfloat maxY , GLfloat maxZ , GLfloat maxW ) const PFNGLPRIMITIVEBOUNDINGBOXARBPROC = Ptr{Cvoid} +const glPrimitiveBoundingBoxARB_handle = Ref{Ptr{Cvoid}}() + function glPrimitiveBoundingBoxARB(minX, minY, minZ, minW, maxX, maxY, maxZ, maxW) - ccall(getprocaddress_e("glPrimitiveBoundingBoxARB"), Cvoid, (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat), minX, minY, minZ, minW, maxX, maxY, maxZ, maxW) + glPrimitiveBoundingBoxARB_handle[] == C_NULL && (glPrimitiveBoundingBoxARB_handle[] = getprocaddress_e("glPrimitiveBoundingBoxARB")) + ccall(glPrimitiveBoundingBoxARB_handle[], Cvoid, (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat), minX, minY, minZ, minW, maxX, maxY, maxZ, maxW) end const GLuint64EXT = khronos_uint64_t @@ -4741,68 +6715,116 @@ const PFNGLVERTEXATTRIBL1UI64VARBPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLGETVERTEXATTRIBLUI64VARBPROC ) ( GLuint index , GLenum pname , GLuint64EXT * params ) const PFNGLGETVERTEXATTRIBLUI64VARBPROC = Ptr{Cvoid} +const glGetTextureHandleARB_handle = Ref{Ptr{Cvoid}}() + function glGetTextureHandleARB(texture) - ccall(getprocaddress_e("glGetTextureHandleARB"), GLuint64, (GLuint,), texture) + glGetTextureHandleARB_handle[] == C_NULL && (glGetTextureHandleARB_handle[] = getprocaddress_e("glGetTextureHandleARB")) + ccall(glGetTextureHandleARB_handle[], GLuint64, (GLuint,), texture) end +const glGetTextureSamplerHandleARB_handle = Ref{Ptr{Cvoid}}() + function glGetTextureSamplerHandleARB(texture, sampler) - ccall(getprocaddress_e("glGetTextureSamplerHandleARB"), GLuint64, (GLuint, GLuint), texture, sampler) + glGetTextureSamplerHandleARB_handle[] == C_NULL && (glGetTextureSamplerHandleARB_handle[] = getprocaddress_e("glGetTextureSamplerHandleARB")) + ccall(glGetTextureSamplerHandleARB_handle[], GLuint64, (GLuint, GLuint), texture, sampler) end +const glMakeTextureHandleResidentARB_handle = Ref{Ptr{Cvoid}}() + function glMakeTextureHandleResidentARB(handle) - ccall(getprocaddress_e("glMakeTextureHandleResidentARB"), Cvoid, (GLuint64,), handle) + glMakeTextureHandleResidentARB_handle[] == C_NULL && (glMakeTextureHandleResidentARB_handle[] = getprocaddress_e("glMakeTextureHandleResidentARB")) + ccall(glMakeTextureHandleResidentARB_handle[], Cvoid, (GLuint64,), handle) end +const glMakeTextureHandleNonResidentARB_handle = Ref{Ptr{Cvoid}}() + function glMakeTextureHandleNonResidentARB(handle) - ccall(getprocaddress_e("glMakeTextureHandleNonResidentARB"), Cvoid, (GLuint64,), handle) + glMakeTextureHandleNonResidentARB_handle[] == C_NULL && (glMakeTextureHandleNonResidentARB_handle[] = getprocaddress_e("glMakeTextureHandleNonResidentARB")) + ccall(glMakeTextureHandleNonResidentARB_handle[], Cvoid, (GLuint64,), handle) end +const glGetImageHandleARB_handle = Ref{Ptr{Cvoid}}() + function glGetImageHandleARB(texture, level, layered, layer, format) - ccall(getprocaddress_e("glGetImageHandleARB"), GLuint64, (GLuint, GLint, GLboolean, GLint, GLenum), texture, level, layered, layer, format) + glGetImageHandleARB_handle[] == C_NULL && (glGetImageHandleARB_handle[] = getprocaddress_e("glGetImageHandleARB")) + ccall(glGetImageHandleARB_handle[], GLuint64, (GLuint, GLint, GLboolean, GLint, GLenum), texture, level, layered, layer, format) end +const glMakeImageHandleResidentARB_handle = Ref{Ptr{Cvoid}}() + function glMakeImageHandleResidentARB(handle, access) - ccall(getprocaddress_e("glMakeImageHandleResidentARB"), Cvoid, (GLuint64, GLenum), handle, access) + glMakeImageHandleResidentARB_handle[] == C_NULL && (glMakeImageHandleResidentARB_handle[] = getprocaddress_e("glMakeImageHandleResidentARB")) + ccall(glMakeImageHandleResidentARB_handle[], Cvoid, (GLuint64, GLenum), handle, access) end +const glMakeImageHandleNonResidentARB_handle = Ref{Ptr{Cvoid}}() + function glMakeImageHandleNonResidentARB(handle) - ccall(getprocaddress_e("glMakeImageHandleNonResidentARB"), Cvoid, (GLuint64,), handle) + glMakeImageHandleNonResidentARB_handle[] == C_NULL && (glMakeImageHandleNonResidentARB_handle[] = getprocaddress_e("glMakeImageHandleNonResidentARB")) + ccall(glMakeImageHandleNonResidentARB_handle[], Cvoid, (GLuint64,), handle) end +const glUniformHandleui64ARB_handle = Ref{Ptr{Cvoid}}() + function glUniformHandleui64ARB(location, value) - ccall(getprocaddress_e("glUniformHandleui64ARB"), Cvoid, (GLint, GLuint64), location, value) + glUniformHandleui64ARB_handle[] == C_NULL && (glUniformHandleui64ARB_handle[] = getprocaddress_e("glUniformHandleui64ARB")) + ccall(glUniformHandleui64ARB_handle[], Cvoid, (GLint, GLuint64), location, value) end +const glUniformHandleui64vARB_handle = Ref{Ptr{Cvoid}}() + function glUniformHandleui64vARB(location, count, value) - ccall(getprocaddress_e("glUniformHandleui64vARB"), Cvoid, (GLint, GLsizei, Ptr{GLuint64}), location, count, value) + glUniformHandleui64vARB_handle[] == C_NULL && (glUniformHandleui64vARB_handle[] = getprocaddress_e("glUniformHandleui64vARB")) + ccall(glUniformHandleui64vARB_handle[], Cvoid, (GLint, GLsizei, Ptr{GLuint64}), location, count, value) end +const glProgramUniformHandleui64ARB_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformHandleui64ARB(program, location, value) - ccall(getprocaddress_e("glProgramUniformHandleui64ARB"), Cvoid, (GLuint, GLint, GLuint64), program, location, value) + glProgramUniformHandleui64ARB_handle[] == C_NULL && (glProgramUniformHandleui64ARB_handle[] = getprocaddress_e("glProgramUniformHandleui64ARB")) + ccall(glProgramUniformHandleui64ARB_handle[], Cvoid, (GLuint, GLint, GLuint64), program, location, value) end +const glProgramUniformHandleui64vARB_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformHandleui64vARB(program, location, count, values) - ccall(getprocaddress_e("glProgramUniformHandleui64vARB"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, count, values) + glProgramUniformHandleui64vARB_handle[] == C_NULL && (glProgramUniformHandleui64vARB_handle[] = getprocaddress_e("glProgramUniformHandleui64vARB")) + ccall(glProgramUniformHandleui64vARB_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, count, values) end +const glIsTextureHandleResidentARB_handle = Ref{Ptr{Cvoid}}() + function glIsTextureHandleResidentARB(handle) - ccall(getprocaddress_e("glIsTextureHandleResidentARB"), GLboolean, (GLuint64,), handle) + glIsTextureHandleResidentARB_handle[] == C_NULL && (glIsTextureHandleResidentARB_handle[] = getprocaddress_e("glIsTextureHandleResidentARB")) + ccall(glIsTextureHandleResidentARB_handle[], GLboolean, (GLuint64,), handle) end +const glIsImageHandleResidentARB_handle = Ref{Ptr{Cvoid}}() + function glIsImageHandleResidentARB(handle) - ccall(getprocaddress_e("glIsImageHandleResidentARB"), GLboolean, (GLuint64,), handle) + glIsImageHandleResidentARB_handle[] == C_NULL && (glIsImageHandleResidentARB_handle[] = getprocaddress_e("glIsImageHandleResidentARB")) + ccall(glIsImageHandleResidentARB_handle[], GLboolean, (GLuint64,), handle) end +const glVertexAttribL1ui64ARB_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribL1ui64ARB(index, x) - ccall(getprocaddress_e("glVertexAttribL1ui64ARB"), Cvoid, (GLuint, GLuint64EXT), index, x) + glVertexAttribL1ui64ARB_handle[] == C_NULL && (glVertexAttribL1ui64ARB_handle[] = getprocaddress_e("glVertexAttribL1ui64ARB")) + ccall(glVertexAttribL1ui64ARB_handle[], Cvoid, (GLuint, GLuint64EXT), index, x) end +const glVertexAttribL1ui64vARB_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribL1ui64vARB(index, v) - ccall(getprocaddress_e("glVertexAttribL1ui64vARB"), Cvoid, (GLuint, Ptr{GLuint64EXT}), index, v) + glVertexAttribL1ui64vARB_handle[] == C_NULL && (glVertexAttribL1ui64vARB_handle[] = getprocaddress_e("glVertexAttribL1ui64vARB")) + ccall(glVertexAttribL1ui64vARB_handle[], Cvoid, (GLuint, Ptr{GLuint64EXT}), index, v) end +const glGetVertexAttribLui64vARB_handle = Ref{Ptr{Cvoid}}() + function glGetVertexAttribLui64vARB(index, pname, params) - ccall(getprocaddress_e("glGetVertexAttribLui64vARB"), Cvoid, (GLuint, GLenum, Ptr{GLuint64EXT}), index, pname, params) + glGetVertexAttribLui64vARB_handle[] == C_NULL && (glGetVertexAttribLui64vARB_handle[] = getprocaddress_e("glGetVertexAttribLui64vARB")) + ccall(glGetVertexAttribLui64vARB_handle[], Cvoid, (GLuint, GLenum, Ptr{GLuint64EXT}), index, pname, params) end mutable struct _cl_context end @@ -4812,15 +6834,21 @@ mutable struct _cl_event end # typedef GLsync ( APIENTRYP PFNGLCREATESYNCFROMCLEVENTARBPROC ) ( struct _cl_context * context , struct _cl_event * event , GLbitfield flags ) const PFNGLCREATESYNCFROMCLEVENTARBPROC = Ptr{Cvoid} +const glCreateSyncFromCLeventARB_handle = Ref{Ptr{Cvoid}}() + function glCreateSyncFromCLeventARB(context, event, flags) - ccall(getprocaddress_e("glCreateSyncFromCLeventARB"), GLsync, (Ptr{_cl_context}, Ptr{_cl_event}, GLbitfield), context, event, flags) + glCreateSyncFromCLeventARB_handle[] == C_NULL && (glCreateSyncFromCLeventARB_handle[] = getprocaddress_e("glCreateSyncFromCLeventARB")) + ccall(glCreateSyncFromCLeventARB_handle[], GLsync, (Ptr{_cl_context}, Ptr{_cl_event}, GLbitfield), context, event, flags) end # typedef void ( APIENTRYP PFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC ) ( GLuint num_groups_x , GLuint num_groups_y , GLuint num_groups_z , GLuint group_size_x , GLuint group_size_y , GLuint group_size_z ) const PFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC = Ptr{Cvoid} +const glDispatchComputeGroupSizeARB_handle = Ref{Ptr{Cvoid}}() + function glDispatchComputeGroupSizeARB(num_groups_x, num_groups_y, num_groups_z, group_size_x, group_size_y, group_size_z) - ccall(getprocaddress_e("glDispatchComputeGroupSizeARB"), Cvoid, (GLuint, GLuint, GLuint, GLuint, GLuint, GLuint), num_groups_x, num_groups_y, num_groups_z, group_size_x, group_size_y, group_size_z) + glDispatchComputeGroupSizeARB_handle[] == C_NULL && (glDispatchComputeGroupSizeARB_handle[] = getprocaddress_e("glDispatchComputeGroupSizeARB")) + ccall(glDispatchComputeGroupSizeARB_handle[], Cvoid, (GLuint, GLuint, GLuint, GLuint, GLuint, GLuint), num_groups_x, num_groups_y, num_groups_z, group_size_x, group_size_y, group_size_z) end # typedef void ( APIENTRY * GLDEBUGPROCARB ) ( GLenum source , GLenum type , GLuint id , GLenum severity , GLsizei length , const GLchar * message , const void * userParam ) @@ -4838,20 +6866,32 @@ const PFNGLDEBUGMESSAGECALLBACKARBPROC = Ptr{Cvoid} # typedef GLuint ( APIENTRYP PFNGLGETDEBUGMESSAGELOGARBPROC ) ( GLuint count , GLsizei bufSize , GLenum * sources , GLenum * types , GLuint * ids , GLenum * severities , GLsizei * lengths , GLchar * messageLog ) const PFNGLGETDEBUGMESSAGELOGARBPROC = Ptr{Cvoid} +const glDebugMessageControlARB_handle = Ref{Ptr{Cvoid}}() + function glDebugMessageControlARB(source, type, severity, count, ids, enabled) - ccall(getprocaddress_e("glDebugMessageControlARB"), Cvoid, (GLenum, GLenum, GLenum, GLsizei, Ptr{GLuint}, GLboolean), source, type, severity, count, ids, enabled) + glDebugMessageControlARB_handle[] == C_NULL && (glDebugMessageControlARB_handle[] = getprocaddress_e("glDebugMessageControlARB")) + ccall(glDebugMessageControlARB_handle[], Cvoid, (GLenum, GLenum, GLenum, GLsizei, Ptr{GLuint}, GLboolean), source, type, severity, count, ids, enabled) end +const glDebugMessageInsertARB_handle = Ref{Ptr{Cvoid}}() + function glDebugMessageInsertARB(source, type, id, severity, length, buf) - ccall(getprocaddress_e("glDebugMessageInsertARB"), Cvoid, (GLenum, GLenum, GLuint, GLenum, GLsizei, Ptr{GLchar}), source, type, id, severity, length, buf) + glDebugMessageInsertARB_handle[] == C_NULL && (glDebugMessageInsertARB_handle[] = getprocaddress_e("glDebugMessageInsertARB")) + ccall(glDebugMessageInsertARB_handle[], Cvoid, (GLenum, GLenum, GLuint, GLenum, GLsizei, Ptr{GLchar}), source, type, id, severity, length, buf) end +const glDebugMessageCallbackARB_handle = Ref{Ptr{Cvoid}}() + function glDebugMessageCallbackARB(callback, userParam) - ccall(getprocaddress_e("glDebugMessageCallbackARB"), Cvoid, (GLDEBUGPROCARB, Ptr{Cvoid}), callback, userParam) + glDebugMessageCallbackARB_handle[] == C_NULL && (glDebugMessageCallbackARB_handle[] = getprocaddress_e("glDebugMessageCallbackARB")) + ccall(glDebugMessageCallbackARB_handle[], Cvoid, (GLDEBUGPROCARB, Ptr{Cvoid}), callback, userParam) end +const glGetDebugMessageLogARB_handle = Ref{Ptr{Cvoid}}() + function glGetDebugMessageLogARB(count, bufSize, sources, types, ids, severities, lengths, messageLog) - ccall(getprocaddress_e("glGetDebugMessageLogARB"), GLuint, (GLuint, GLsizei, Ptr{GLenum}, Ptr{GLenum}, Ptr{GLuint}, Ptr{GLenum}, Ptr{GLsizei}, Ptr{GLchar}), count, bufSize, sources, types, ids, severities, lengths, messageLog) + glGetDebugMessageLogARB_handle[] == C_NULL && (glGetDebugMessageLogARB_handle[] = getprocaddress_e("glGetDebugMessageLogARB")) + ccall(glGetDebugMessageLogARB_handle[], GLuint, (GLuint, GLsizei, Ptr{GLenum}, Ptr{GLenum}, Ptr{GLuint}, Ptr{GLenum}, Ptr{GLsizei}, Ptr{GLchar}), count, bufSize, sources, types, ids, severities, lengths, messageLog) end # typedef void ( APIENTRYP PFNGLBLENDEQUATIONIARBPROC ) ( GLuint buf , GLenum mode ) @@ -4866,20 +6906,32 @@ const PFNGLBLENDFUNCIARBPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLBLENDFUNCSEPARATEIARBPROC ) ( GLuint buf , GLenum srcRGB , GLenum dstRGB , GLenum srcAlpha , GLenum dstAlpha ) const PFNGLBLENDFUNCSEPARATEIARBPROC = Ptr{Cvoid} +const glBlendEquationiARB_handle = Ref{Ptr{Cvoid}}() + function glBlendEquationiARB(buf, mode) - ccall(getprocaddress_e("glBlendEquationiARB"), Cvoid, (GLuint, GLenum), buf, mode) + glBlendEquationiARB_handle[] == C_NULL && (glBlendEquationiARB_handle[] = getprocaddress_e("glBlendEquationiARB")) + ccall(glBlendEquationiARB_handle[], Cvoid, (GLuint, GLenum), buf, mode) end +const glBlendEquationSeparateiARB_handle = Ref{Ptr{Cvoid}}() + function glBlendEquationSeparateiARB(buf, modeRGB, modeAlpha) - ccall(getprocaddress_e("glBlendEquationSeparateiARB"), Cvoid, (GLuint, GLenum, GLenum), buf, modeRGB, modeAlpha) + glBlendEquationSeparateiARB_handle[] == C_NULL && (glBlendEquationSeparateiARB_handle[] = getprocaddress_e("glBlendEquationSeparateiARB")) + ccall(glBlendEquationSeparateiARB_handle[], Cvoid, (GLuint, GLenum, GLenum), buf, modeRGB, modeAlpha) end +const glBlendFunciARB_handle = Ref{Ptr{Cvoid}}() + function glBlendFunciARB(buf, src, dst) - ccall(getprocaddress_e("glBlendFunciARB"), Cvoid, (GLuint, GLenum, GLenum), buf, src, dst) + glBlendFunciARB_handle[] == C_NULL && (glBlendFunciARB_handle[] = getprocaddress_e("glBlendFunciARB")) + ccall(glBlendFunciARB_handle[], Cvoid, (GLuint, GLenum, GLenum), buf, src, dst) end +const glBlendFuncSeparateiARB_handle = Ref{Ptr{Cvoid}}() + function glBlendFuncSeparateiARB(buf, srcRGB, dstRGB, srcAlpha, dstAlpha) - ccall(getprocaddress_e("glBlendFuncSeparateiARB"), Cvoid, (GLuint, GLenum, GLenum, GLenum, GLenum), buf, srcRGB, dstRGB, srcAlpha, dstAlpha) + glBlendFuncSeparateiARB_handle[] == C_NULL && (glBlendFuncSeparateiARB_handle[] = getprocaddress_e("glBlendFuncSeparateiARB")) + ccall(glBlendFuncSeparateiARB_handle[], Cvoid, (GLuint, GLenum, GLenum, GLenum, GLenum), buf, srcRGB, dstRGB, srcAlpha, dstAlpha) end # typedef void ( APIENTRYP PFNGLDRAWARRAYSINSTANCEDARBPROC ) ( GLenum mode , GLint first , GLsizei count , GLsizei primcount ) @@ -4888,12 +6940,18 @@ const PFNGLDRAWARRAYSINSTANCEDARBPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLDRAWELEMENTSINSTANCEDARBPROC ) ( GLenum mode , GLsizei count , GLenum type , const void * indices , GLsizei primcount ) const PFNGLDRAWELEMENTSINSTANCEDARBPROC = Ptr{Cvoid} +const glDrawArraysInstancedARB_handle = Ref{Ptr{Cvoid}}() + function glDrawArraysInstancedARB(mode, first, count, primcount) - ccall(getprocaddress_e("glDrawArraysInstancedARB"), Cvoid, (GLenum, GLint, GLsizei, GLsizei), mode, first, count, primcount) + glDrawArraysInstancedARB_handle[] == C_NULL && (glDrawArraysInstancedARB_handle[] = getprocaddress_e("glDrawArraysInstancedARB")) + ccall(glDrawArraysInstancedARB_handle[], Cvoid, (GLenum, GLint, GLsizei, GLsizei), mode, first, count, primcount) end +const glDrawElementsInstancedARB_handle = Ref{Ptr{Cvoid}}() + function glDrawElementsInstancedARB(mode, count, type, indices, primcount) - ccall(getprocaddress_e("glDrawElementsInstancedARB"), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLsizei), mode, count, type, indices, primcount) + glDrawElementsInstancedARB_handle[] == C_NULL && (glDrawElementsInstancedARB_handle[] = getprocaddress_e("glDrawElementsInstancedARB")) + ccall(glDrawElementsInstancedARB_handle[], Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLsizei), mode, count, type, indices, primcount) end # typedef void ( APIENTRYP PFNGLPROGRAMPARAMETERIARBPROC ) ( GLuint program , GLenum pname , GLint value ) @@ -4908,27 +6966,42 @@ const PFNGLFRAMEBUFFERTEXTURELAYERARBPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLFRAMEBUFFERTEXTUREFACEARBPROC ) ( GLenum target , GLenum attachment , GLuint texture , GLint level , GLenum face ) const PFNGLFRAMEBUFFERTEXTUREFACEARBPROC = Ptr{Cvoid} +const glProgramParameteriARB_handle = Ref{Ptr{Cvoid}}() + function glProgramParameteriARB(program, pname, value) - ccall(getprocaddress_e("glProgramParameteriARB"), Cvoid, (GLuint, GLenum, GLint), program, pname, value) + glProgramParameteriARB_handle[] == C_NULL && (glProgramParameteriARB_handle[] = getprocaddress_e("glProgramParameteriARB")) + ccall(glProgramParameteriARB_handle[], Cvoid, (GLuint, GLenum, GLint), program, pname, value) end +const glFramebufferTextureARB_handle = Ref{Ptr{Cvoid}}() + function glFramebufferTextureARB(target, attachment, texture, level) - ccall(getprocaddress_e("glFramebufferTextureARB"), Cvoid, (GLenum, GLenum, GLuint, GLint), target, attachment, texture, level) + glFramebufferTextureARB_handle[] == C_NULL && (glFramebufferTextureARB_handle[] = getprocaddress_e("glFramebufferTextureARB")) + ccall(glFramebufferTextureARB_handle[], Cvoid, (GLenum, GLenum, GLuint, GLint), target, attachment, texture, level) end +const glFramebufferTextureLayerARB_handle = Ref{Ptr{Cvoid}}() + function glFramebufferTextureLayerARB(target, attachment, texture, level, layer) - ccall(getprocaddress_e("glFramebufferTextureLayerARB"), Cvoid, (GLenum, GLenum, GLuint, GLint, GLint), target, attachment, texture, level, layer) + glFramebufferTextureLayerARB_handle[] == C_NULL && (glFramebufferTextureLayerARB_handle[] = getprocaddress_e("glFramebufferTextureLayerARB")) + ccall(glFramebufferTextureLayerARB_handle[], Cvoid, (GLenum, GLenum, GLuint, GLint, GLint), target, attachment, texture, level, layer) end +const glFramebufferTextureFaceARB_handle = Ref{Ptr{Cvoid}}() + function glFramebufferTextureFaceARB(target, attachment, texture, level, face) - ccall(getprocaddress_e("glFramebufferTextureFaceARB"), Cvoid, (GLenum, GLenum, GLuint, GLint, GLenum), target, attachment, texture, level, face) + glFramebufferTextureFaceARB_handle[] == C_NULL && (glFramebufferTextureFaceARB_handle[] = getprocaddress_e("glFramebufferTextureFaceARB")) + ccall(glFramebufferTextureFaceARB_handle[], Cvoid, (GLenum, GLenum, GLuint, GLint, GLenum), target, attachment, texture, level, face) end # typedef void ( APIENTRYP PFNGLSPECIALIZESHADERARBPROC ) ( GLuint shader , const GLchar * pEntryPoint , GLuint numSpecializationConstants , const GLuint * pConstantIndex , const GLuint * pConstantValue ) const PFNGLSPECIALIZESHADERARBPROC = Ptr{Cvoid} +const glSpecializeShaderARB_handle = Ref{Ptr{Cvoid}}() + function glSpecializeShaderARB(shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue) - ccall(getprocaddress_e("glSpecializeShaderARB"), Cvoid, (GLuint, Ptr{GLchar}, GLuint, Ptr{GLuint}, Ptr{GLuint}), shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue) + glSpecializeShaderARB_handle[] == C_NULL && (glSpecializeShaderARB_handle[] = getprocaddress_e("glSpecializeShaderARB")) + ccall(glSpecializeShaderARB_handle[], Cvoid, (GLuint, Ptr{GLchar}, GLuint, Ptr{GLuint}, Ptr{GLuint}), shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue) end # typedef void ( APIENTRYP PFNGLUNIFORM1I64ARBPROC ) ( GLint location , GLint64 x ) @@ -5039,148 +7112,256 @@ const PFNGLPROGRAMUNIFORM3UI64VARBPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM4UI64VARBPROC ) ( GLuint program , GLint location , GLsizei count , const GLuint64 * value ) const PFNGLPROGRAMUNIFORM4UI64VARBPROC = Ptr{Cvoid} +const glUniform1i64ARB_handle = Ref{Ptr{Cvoid}}() + function glUniform1i64ARB(location, x) - ccall(getprocaddress_e("glUniform1i64ARB"), Cvoid, (GLint, GLint64), location, x) + glUniform1i64ARB_handle[] == C_NULL && (glUniform1i64ARB_handle[] = getprocaddress_e("glUniform1i64ARB")) + ccall(glUniform1i64ARB_handle[], Cvoid, (GLint, GLint64), location, x) end +const glUniform2i64ARB_handle = Ref{Ptr{Cvoid}}() + function glUniform2i64ARB(location, x, y) - ccall(getprocaddress_e("glUniform2i64ARB"), Cvoid, (GLint, GLint64, GLint64), location, x, y) + glUniform2i64ARB_handle[] == C_NULL && (glUniform2i64ARB_handle[] = getprocaddress_e("glUniform2i64ARB")) + ccall(glUniform2i64ARB_handle[], Cvoid, (GLint, GLint64, GLint64), location, x, y) end +const glUniform3i64ARB_handle = Ref{Ptr{Cvoid}}() + function glUniform3i64ARB(location, x, y, z) - ccall(getprocaddress_e("glUniform3i64ARB"), Cvoid, (GLint, GLint64, GLint64, GLint64), location, x, y, z) + glUniform3i64ARB_handle[] == C_NULL && (glUniform3i64ARB_handle[] = getprocaddress_e("glUniform3i64ARB")) + ccall(glUniform3i64ARB_handle[], Cvoid, (GLint, GLint64, GLint64, GLint64), location, x, y, z) end +const glUniform4i64ARB_handle = Ref{Ptr{Cvoid}}() + function glUniform4i64ARB(location, x, y, z, w) - ccall(getprocaddress_e("glUniform4i64ARB"), Cvoid, (GLint, GLint64, GLint64, GLint64, GLint64), location, x, y, z, w) + glUniform4i64ARB_handle[] == C_NULL && (glUniform4i64ARB_handle[] = getprocaddress_e("glUniform4i64ARB")) + ccall(glUniform4i64ARB_handle[], Cvoid, (GLint, GLint64, GLint64, GLint64, GLint64), location, x, y, z, w) end +const glUniform1i64vARB_handle = Ref{Ptr{Cvoid}}() + function glUniform1i64vARB(location, count, value) - ccall(getprocaddress_e("glUniform1i64vARB"), Cvoid, (GLint, GLsizei, Ptr{GLint64}), location, count, value) + glUniform1i64vARB_handle[] == C_NULL && (glUniform1i64vARB_handle[] = getprocaddress_e("glUniform1i64vARB")) + ccall(glUniform1i64vARB_handle[], Cvoid, (GLint, GLsizei, Ptr{GLint64}), location, count, value) end +const glUniform2i64vARB_handle = Ref{Ptr{Cvoid}}() + function glUniform2i64vARB(location, count, value) - ccall(getprocaddress_e("glUniform2i64vARB"), Cvoid, (GLint, GLsizei, Ptr{GLint64}), location, count, value) + glUniform2i64vARB_handle[] == C_NULL && (glUniform2i64vARB_handle[] = getprocaddress_e("glUniform2i64vARB")) + ccall(glUniform2i64vARB_handle[], Cvoid, (GLint, GLsizei, Ptr{GLint64}), location, count, value) end +const glUniform3i64vARB_handle = Ref{Ptr{Cvoid}}() + function glUniform3i64vARB(location, count, value) - ccall(getprocaddress_e("glUniform3i64vARB"), Cvoid, (GLint, GLsizei, Ptr{GLint64}), location, count, value) + glUniform3i64vARB_handle[] == C_NULL && (glUniform3i64vARB_handle[] = getprocaddress_e("glUniform3i64vARB")) + ccall(glUniform3i64vARB_handle[], Cvoid, (GLint, GLsizei, Ptr{GLint64}), location, count, value) end +const glUniform4i64vARB_handle = Ref{Ptr{Cvoid}}() + function glUniform4i64vARB(location, count, value) - ccall(getprocaddress_e("glUniform4i64vARB"), Cvoid, (GLint, GLsizei, Ptr{GLint64}), location, count, value) + glUniform4i64vARB_handle[] == C_NULL && (glUniform4i64vARB_handle[] = getprocaddress_e("glUniform4i64vARB")) + ccall(glUniform4i64vARB_handle[], Cvoid, (GLint, GLsizei, Ptr{GLint64}), location, count, value) end +const glUniform1ui64ARB_handle = Ref{Ptr{Cvoid}}() + function glUniform1ui64ARB(location, x) - ccall(getprocaddress_e("glUniform1ui64ARB"), Cvoid, (GLint, GLuint64), location, x) + glUniform1ui64ARB_handle[] == C_NULL && (glUniform1ui64ARB_handle[] = getprocaddress_e("glUniform1ui64ARB")) + ccall(glUniform1ui64ARB_handle[], Cvoid, (GLint, GLuint64), location, x) end +const glUniform2ui64ARB_handle = Ref{Ptr{Cvoid}}() + function glUniform2ui64ARB(location, x, y) - ccall(getprocaddress_e("glUniform2ui64ARB"), Cvoid, (GLint, GLuint64, GLuint64), location, x, y) + glUniform2ui64ARB_handle[] == C_NULL && (glUniform2ui64ARB_handle[] = getprocaddress_e("glUniform2ui64ARB")) + ccall(glUniform2ui64ARB_handle[], Cvoid, (GLint, GLuint64, GLuint64), location, x, y) end +const glUniform3ui64ARB_handle = Ref{Ptr{Cvoid}}() + function glUniform3ui64ARB(location, x, y, z) - ccall(getprocaddress_e("glUniform3ui64ARB"), Cvoid, (GLint, GLuint64, GLuint64, GLuint64), location, x, y, z) + glUniform3ui64ARB_handle[] == C_NULL && (glUniform3ui64ARB_handle[] = getprocaddress_e("glUniform3ui64ARB")) + ccall(glUniform3ui64ARB_handle[], Cvoid, (GLint, GLuint64, GLuint64, GLuint64), location, x, y, z) end +const glUniform4ui64ARB_handle = Ref{Ptr{Cvoid}}() + function glUniform4ui64ARB(location, x, y, z, w) - ccall(getprocaddress_e("glUniform4ui64ARB"), Cvoid, (GLint, GLuint64, GLuint64, GLuint64, GLuint64), location, x, y, z, w) + glUniform4ui64ARB_handle[] == C_NULL && (glUniform4ui64ARB_handle[] = getprocaddress_e("glUniform4ui64ARB")) + ccall(glUniform4ui64ARB_handle[], Cvoid, (GLint, GLuint64, GLuint64, GLuint64, GLuint64), location, x, y, z, w) end +const glUniform1ui64vARB_handle = Ref{Ptr{Cvoid}}() + function glUniform1ui64vARB(location, count, value) - ccall(getprocaddress_e("glUniform1ui64vARB"), Cvoid, (GLint, GLsizei, Ptr{GLuint64}), location, count, value) + glUniform1ui64vARB_handle[] == C_NULL && (glUniform1ui64vARB_handle[] = getprocaddress_e("glUniform1ui64vARB")) + ccall(glUniform1ui64vARB_handle[], Cvoid, (GLint, GLsizei, Ptr{GLuint64}), location, count, value) end +const glUniform2ui64vARB_handle = Ref{Ptr{Cvoid}}() + function glUniform2ui64vARB(location, count, value) - ccall(getprocaddress_e("glUniform2ui64vARB"), Cvoid, (GLint, GLsizei, Ptr{GLuint64}), location, count, value) + glUniform2ui64vARB_handle[] == C_NULL && (glUniform2ui64vARB_handle[] = getprocaddress_e("glUniform2ui64vARB")) + ccall(glUniform2ui64vARB_handle[], Cvoid, (GLint, GLsizei, Ptr{GLuint64}), location, count, value) end +const glUniform3ui64vARB_handle = Ref{Ptr{Cvoid}}() + function glUniform3ui64vARB(location, count, value) - ccall(getprocaddress_e("glUniform3ui64vARB"), Cvoid, (GLint, GLsizei, Ptr{GLuint64}), location, count, value) + glUniform3ui64vARB_handle[] == C_NULL && (glUniform3ui64vARB_handle[] = getprocaddress_e("glUniform3ui64vARB")) + ccall(glUniform3ui64vARB_handle[], Cvoid, (GLint, GLsizei, Ptr{GLuint64}), location, count, value) end +const glUniform4ui64vARB_handle = Ref{Ptr{Cvoid}}() + function glUniform4ui64vARB(location, count, value) - ccall(getprocaddress_e("glUniform4ui64vARB"), Cvoid, (GLint, GLsizei, Ptr{GLuint64}), location, count, value) + glUniform4ui64vARB_handle[] == C_NULL && (glUniform4ui64vARB_handle[] = getprocaddress_e("glUniform4ui64vARB")) + ccall(glUniform4ui64vARB_handle[], Cvoid, (GLint, GLsizei, Ptr{GLuint64}), location, count, value) end +const glGetUniformi64vARB_handle = Ref{Ptr{Cvoid}}() + function glGetUniformi64vARB(program, location, params) - ccall(getprocaddress_e("glGetUniformi64vARB"), Cvoid, (GLuint, GLint, Ptr{GLint64}), program, location, params) + glGetUniformi64vARB_handle[] == C_NULL && (glGetUniformi64vARB_handle[] = getprocaddress_e("glGetUniformi64vARB")) + ccall(glGetUniformi64vARB_handle[], Cvoid, (GLuint, GLint, Ptr{GLint64}), program, location, params) end +const glGetUniformui64vARB_handle = Ref{Ptr{Cvoid}}() + function glGetUniformui64vARB(program, location, params) - ccall(getprocaddress_e("glGetUniformui64vARB"), Cvoid, (GLuint, GLint, Ptr{GLuint64}), program, location, params) + glGetUniformui64vARB_handle[] == C_NULL && (glGetUniformui64vARB_handle[] = getprocaddress_e("glGetUniformui64vARB")) + ccall(glGetUniformui64vARB_handle[], Cvoid, (GLuint, GLint, Ptr{GLuint64}), program, location, params) end +const glGetnUniformi64vARB_handle = Ref{Ptr{Cvoid}}() + function glGetnUniformi64vARB(program, location, bufSize, params) - ccall(getprocaddress_e("glGetnUniformi64vARB"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64}), program, location, bufSize, params) + glGetnUniformi64vARB_handle[] == C_NULL && (glGetnUniformi64vARB_handle[] = getprocaddress_e("glGetnUniformi64vARB")) + ccall(glGetnUniformi64vARB_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64}), program, location, bufSize, params) end +const glGetnUniformui64vARB_handle = Ref{Ptr{Cvoid}}() + function glGetnUniformui64vARB(program, location, bufSize, params) - ccall(getprocaddress_e("glGetnUniformui64vARB"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, bufSize, params) + glGetnUniformui64vARB_handle[] == C_NULL && (glGetnUniformui64vARB_handle[] = getprocaddress_e("glGetnUniformui64vARB")) + ccall(glGetnUniformui64vARB_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, bufSize, params) end +const glProgramUniform1i64ARB_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform1i64ARB(program, location, x) - ccall(getprocaddress_e("glProgramUniform1i64ARB"), Cvoid, (GLuint, GLint, GLint64), program, location, x) + glProgramUniform1i64ARB_handle[] == C_NULL && (glProgramUniform1i64ARB_handle[] = getprocaddress_e("glProgramUniform1i64ARB")) + ccall(glProgramUniform1i64ARB_handle[], Cvoid, (GLuint, GLint, GLint64), program, location, x) end +const glProgramUniform2i64ARB_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform2i64ARB(program, location, x, y) - ccall(getprocaddress_e("glProgramUniform2i64ARB"), Cvoid, (GLuint, GLint, GLint64, GLint64), program, location, x, y) + glProgramUniform2i64ARB_handle[] == C_NULL && (glProgramUniform2i64ARB_handle[] = getprocaddress_e("glProgramUniform2i64ARB")) + ccall(glProgramUniform2i64ARB_handle[], Cvoid, (GLuint, GLint, GLint64, GLint64), program, location, x, y) end +const glProgramUniform3i64ARB_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform3i64ARB(program, location, x, y, z) - ccall(getprocaddress_e("glProgramUniform3i64ARB"), Cvoid, (GLuint, GLint, GLint64, GLint64, GLint64), program, location, x, y, z) + glProgramUniform3i64ARB_handle[] == C_NULL && (glProgramUniform3i64ARB_handle[] = getprocaddress_e("glProgramUniform3i64ARB")) + ccall(glProgramUniform3i64ARB_handle[], Cvoid, (GLuint, GLint, GLint64, GLint64, GLint64), program, location, x, y, z) end +const glProgramUniform4i64ARB_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform4i64ARB(program, location, x, y, z, w) - ccall(getprocaddress_e("glProgramUniform4i64ARB"), Cvoid, (GLuint, GLint, GLint64, GLint64, GLint64, GLint64), program, location, x, y, z, w) + glProgramUniform4i64ARB_handle[] == C_NULL && (glProgramUniform4i64ARB_handle[] = getprocaddress_e("glProgramUniform4i64ARB")) + ccall(glProgramUniform4i64ARB_handle[], Cvoid, (GLuint, GLint, GLint64, GLint64, GLint64, GLint64), program, location, x, y, z, w) end +const glProgramUniform1i64vARB_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform1i64vARB(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform1i64vARB"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64}), program, location, count, value) + glProgramUniform1i64vARB_handle[] == C_NULL && (glProgramUniform1i64vARB_handle[] = getprocaddress_e("glProgramUniform1i64vARB")) + ccall(glProgramUniform1i64vARB_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64}), program, location, count, value) end +const glProgramUniform2i64vARB_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform2i64vARB(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform2i64vARB"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64}), program, location, count, value) + glProgramUniform2i64vARB_handle[] == C_NULL && (glProgramUniform2i64vARB_handle[] = getprocaddress_e("glProgramUniform2i64vARB")) + ccall(glProgramUniform2i64vARB_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64}), program, location, count, value) end +const glProgramUniform3i64vARB_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform3i64vARB(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform3i64vARB"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64}), program, location, count, value) + glProgramUniform3i64vARB_handle[] == C_NULL && (glProgramUniform3i64vARB_handle[] = getprocaddress_e("glProgramUniform3i64vARB")) + ccall(glProgramUniform3i64vARB_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64}), program, location, count, value) end +const glProgramUniform4i64vARB_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform4i64vARB(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform4i64vARB"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64}), program, location, count, value) + glProgramUniform4i64vARB_handle[] == C_NULL && (glProgramUniform4i64vARB_handle[] = getprocaddress_e("glProgramUniform4i64vARB")) + ccall(glProgramUniform4i64vARB_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64}), program, location, count, value) end +const glProgramUniform1ui64ARB_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform1ui64ARB(program, location, x) - ccall(getprocaddress_e("glProgramUniform1ui64ARB"), Cvoid, (GLuint, GLint, GLuint64), program, location, x) + glProgramUniform1ui64ARB_handle[] == C_NULL && (glProgramUniform1ui64ARB_handle[] = getprocaddress_e("glProgramUniform1ui64ARB")) + ccall(glProgramUniform1ui64ARB_handle[], Cvoid, (GLuint, GLint, GLuint64), program, location, x) end +const glProgramUniform2ui64ARB_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform2ui64ARB(program, location, x, y) - ccall(getprocaddress_e("glProgramUniform2ui64ARB"), Cvoid, (GLuint, GLint, GLuint64, GLuint64), program, location, x, y) + glProgramUniform2ui64ARB_handle[] == C_NULL && (glProgramUniform2ui64ARB_handle[] = getprocaddress_e("glProgramUniform2ui64ARB")) + ccall(glProgramUniform2ui64ARB_handle[], Cvoid, (GLuint, GLint, GLuint64, GLuint64), program, location, x, y) end +const glProgramUniform3ui64ARB_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform3ui64ARB(program, location, x, y, z) - ccall(getprocaddress_e("glProgramUniform3ui64ARB"), Cvoid, (GLuint, GLint, GLuint64, GLuint64, GLuint64), program, location, x, y, z) + glProgramUniform3ui64ARB_handle[] == C_NULL && (glProgramUniform3ui64ARB_handle[] = getprocaddress_e("glProgramUniform3ui64ARB")) + ccall(glProgramUniform3ui64ARB_handle[], Cvoid, (GLuint, GLint, GLuint64, GLuint64, GLuint64), program, location, x, y, z) end +const glProgramUniform4ui64ARB_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform4ui64ARB(program, location, x, y, z, w) - ccall(getprocaddress_e("glProgramUniform4ui64ARB"), Cvoid, (GLuint, GLint, GLuint64, GLuint64, GLuint64, GLuint64), program, location, x, y, z, w) + glProgramUniform4ui64ARB_handle[] == C_NULL && (glProgramUniform4ui64ARB_handle[] = getprocaddress_e("glProgramUniform4ui64ARB")) + ccall(glProgramUniform4ui64ARB_handle[], Cvoid, (GLuint, GLint, GLuint64, GLuint64, GLuint64, GLuint64), program, location, x, y, z, w) end +const glProgramUniform1ui64vARB_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform1ui64vARB(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform1ui64vARB"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, count, value) + glProgramUniform1ui64vARB_handle[] == C_NULL && (glProgramUniform1ui64vARB_handle[] = getprocaddress_e("glProgramUniform1ui64vARB")) + ccall(glProgramUniform1ui64vARB_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, count, value) end +const glProgramUniform2ui64vARB_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform2ui64vARB(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform2ui64vARB"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, count, value) + glProgramUniform2ui64vARB_handle[] == C_NULL && (glProgramUniform2ui64vARB_handle[] = getprocaddress_e("glProgramUniform2ui64vARB")) + ccall(glProgramUniform2ui64vARB_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, count, value) end +const glProgramUniform3ui64vARB_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform3ui64vARB(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform3ui64vARB"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, count, value) + glProgramUniform3ui64vARB_handle[] == C_NULL && (glProgramUniform3ui64vARB_handle[] = getprocaddress_e("glProgramUniform3ui64vARB")) + ccall(glProgramUniform3ui64vARB_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, count, value) end +const glProgramUniform4ui64vARB_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform4ui64vARB(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform4ui64vARB"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, count, value) + glProgramUniform4ui64vARB_handle[] == C_NULL && (glProgramUniform4ui64vARB_handle[] = getprocaddress_e("glProgramUniform4ui64vARB")) + ccall(glProgramUniform4ui64vARB_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, count, value) end # typedef void ( APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC ) ( GLenum mode , const void * indirect , GLintptr drawcount , GLsizei maxdrawcount , GLsizei stride ) @@ -5189,26 +7370,38 @@ const PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC ) ( GLenum mode , GLenum type , const void * indirect , GLintptr drawcount , GLsizei maxdrawcount , GLsizei stride ) const PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC = Ptr{Cvoid} +const glMultiDrawArraysIndirectCountARB_handle = Ref{Ptr{Cvoid}}() + function glMultiDrawArraysIndirectCountARB(mode, indirect, drawcount, maxdrawcount, stride) - ccall(getprocaddress_e("glMultiDrawArraysIndirectCountARB"), Cvoid, (GLenum, Ptr{Cvoid}, GLintptr, GLsizei, GLsizei), mode, indirect, drawcount, maxdrawcount, stride) + glMultiDrawArraysIndirectCountARB_handle[] == C_NULL && (glMultiDrawArraysIndirectCountARB_handle[] = getprocaddress_e("glMultiDrawArraysIndirectCountARB")) + ccall(glMultiDrawArraysIndirectCountARB_handle[], Cvoid, (GLenum, Ptr{Cvoid}, GLintptr, GLsizei, GLsizei), mode, indirect, drawcount, maxdrawcount, stride) end +const glMultiDrawElementsIndirectCountARB_handle = Ref{Ptr{Cvoid}}() + function glMultiDrawElementsIndirectCountARB(mode, type, indirect, drawcount, maxdrawcount, stride) - ccall(getprocaddress_e("glMultiDrawElementsIndirectCountARB"), Cvoid, (GLenum, GLenum, Ptr{Cvoid}, GLintptr, GLsizei, GLsizei), mode, type, indirect, drawcount, maxdrawcount, stride) + glMultiDrawElementsIndirectCountARB_handle[] == C_NULL && (glMultiDrawElementsIndirectCountARB_handle[] = getprocaddress_e("glMultiDrawElementsIndirectCountARB")) + ccall(glMultiDrawElementsIndirectCountARB_handle[], Cvoid, (GLenum, GLenum, Ptr{Cvoid}, GLintptr, GLsizei, GLsizei), mode, type, indirect, drawcount, maxdrawcount, stride) end # typedef void ( APIENTRYP PFNGLVERTEXATTRIBDIVISORARBPROC ) ( GLuint index , GLuint divisor ) const PFNGLVERTEXATTRIBDIVISORARBPROC = Ptr{Cvoid} +const glVertexAttribDivisorARB_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribDivisorARB(index, divisor) - ccall(getprocaddress_e("glVertexAttribDivisorARB"), Cvoid, (GLuint, GLuint), index, divisor) + glVertexAttribDivisorARB_handle[] == C_NULL && (glVertexAttribDivisorARB_handle[] = getprocaddress_e("glVertexAttribDivisorARB")) + ccall(glVertexAttribDivisorARB_handle[], Cvoid, (GLuint, GLuint), index, divisor) end # typedef void ( APIENTRYP PFNGLMAXSHADERCOMPILERTHREADSARBPROC ) ( GLuint count ) const PFNGLMAXSHADERCOMPILERTHREADSARBPROC = Ptr{Cvoid} +const glMaxShaderCompilerThreadsARB_handle = Ref{Ptr{Cvoid}}() + function glMaxShaderCompilerThreadsARB(count) - ccall(getprocaddress_e("glMaxShaderCompilerThreadsARB"), Cvoid, (GLuint,), count) + glMaxShaderCompilerThreadsARB_handle[] == C_NULL && (glMaxShaderCompilerThreadsARB_handle[] = getprocaddress_e("glMaxShaderCompilerThreadsARB")) + ccall(glMaxShaderCompilerThreadsARB_handle[], Cvoid, (GLuint,), count) end # typedef GLenum ( APIENTRYP PFNGLGETGRAPHICSRESETSTATUSARBPROC ) ( void ) @@ -5235,36 +7428,60 @@ const PFNGLGETNUNIFORMUIVARBPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLGETNUNIFORMDVARBPROC ) ( GLuint program , GLint location , GLsizei bufSize , GLdouble * params ) const PFNGLGETNUNIFORMDVARBPROC = Ptr{Cvoid} +const glGetGraphicsResetStatusARB_handle = Ref{Ptr{Cvoid}}() + function glGetGraphicsResetStatusARB() - ccall(getprocaddress_e("glGetGraphicsResetStatusARB"), GLenum, ()) + glGetGraphicsResetStatusARB_handle[] == C_NULL && (glGetGraphicsResetStatusARB_handle[] = getprocaddress_e("glGetGraphicsResetStatusARB")) + ccall(glGetGraphicsResetStatusARB_handle[], GLenum, ()) end +const glGetnTexImageARB_handle = Ref{Ptr{Cvoid}}() + function glGetnTexImageARB(target, level, format, type, bufSize, img) - ccall(getprocaddress_e("glGetnTexImageARB"), Cvoid, (GLenum, GLint, GLenum, GLenum, GLsizei, Ptr{Cvoid}), target, level, format, type, bufSize, img) + glGetnTexImageARB_handle[] == C_NULL && (glGetnTexImageARB_handle[] = getprocaddress_e("glGetnTexImageARB")) + ccall(glGetnTexImageARB_handle[], Cvoid, (GLenum, GLint, GLenum, GLenum, GLsizei, Ptr{Cvoid}), target, level, format, type, bufSize, img) end +const glReadnPixelsARB_handle = Ref{Ptr{Cvoid}}() + function glReadnPixelsARB(x, y, width, height, format, type, bufSize, data) - ccall(getprocaddress_e("glReadnPixelsARB"), Cvoid, (GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, Ptr{Cvoid}), x, y, width, height, format, type, bufSize, data) + glReadnPixelsARB_handle[] == C_NULL && (glReadnPixelsARB_handle[] = getprocaddress_e("glReadnPixelsARB")) + ccall(glReadnPixelsARB_handle[], Cvoid, (GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, Ptr{Cvoid}), x, y, width, height, format, type, bufSize, data) end +const glGetnCompressedTexImageARB_handle = Ref{Ptr{Cvoid}}() + function glGetnCompressedTexImageARB(target, lod, bufSize, img) - ccall(getprocaddress_e("glGetnCompressedTexImageARB"), Cvoid, (GLenum, GLint, GLsizei, Ptr{Cvoid}), target, lod, bufSize, img) + glGetnCompressedTexImageARB_handle[] == C_NULL && (glGetnCompressedTexImageARB_handle[] = getprocaddress_e("glGetnCompressedTexImageARB")) + ccall(glGetnCompressedTexImageARB_handle[], Cvoid, (GLenum, GLint, GLsizei, Ptr{Cvoid}), target, lod, bufSize, img) end +const glGetnUniformfvARB_handle = Ref{Ptr{Cvoid}}() + function glGetnUniformfvARB(program, location, bufSize, params) - ccall(getprocaddress_e("glGetnUniformfvARB"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, bufSize, params) + glGetnUniformfvARB_handle[] == C_NULL && (glGetnUniformfvARB_handle[] = getprocaddress_e("glGetnUniformfvARB")) + ccall(glGetnUniformfvARB_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, bufSize, params) end +const glGetnUniformivARB_handle = Ref{Ptr{Cvoid}}() + function glGetnUniformivARB(program, location, bufSize, params) - ccall(getprocaddress_e("glGetnUniformivARB"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, bufSize, params) + glGetnUniformivARB_handle[] == C_NULL && (glGetnUniformivARB_handle[] = getprocaddress_e("glGetnUniformivARB")) + ccall(glGetnUniformivARB_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, bufSize, params) end +const glGetnUniformuivARB_handle = Ref{Ptr{Cvoid}}() + function glGetnUniformuivARB(program, location, bufSize, params) - ccall(getprocaddress_e("glGetnUniformuivARB"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, bufSize, params) + glGetnUniformuivARB_handle[] == C_NULL && (glGetnUniformuivARB_handle[] = getprocaddress_e("glGetnUniformuivARB")) + ccall(glGetnUniformuivARB_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, bufSize, params) end +const glGetnUniformdvARB_handle = Ref{Ptr{Cvoid}}() + function glGetnUniformdvARB(program, location, bufSize, params) - ccall(getprocaddress_e("glGetnUniformdvARB"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, bufSize, params) + glGetnUniformdvARB_handle[] == C_NULL && (glGetnUniformdvARB_handle[] = getprocaddress_e("glGetnUniformdvARB")) + ccall(glGetnUniformdvARB_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, bufSize, params) end # typedef void ( APIENTRYP PFNGLFRAMEBUFFERSAMPLELOCATIONSFVARBPROC ) ( GLenum target , GLuint start , GLsizei count , const GLfloat * v ) @@ -5276,23 +7493,35 @@ const PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVARBPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLEVALUATEDEPTHVALUESARBPROC ) ( void ) const PFNGLEVALUATEDEPTHVALUESARBPROC = Ptr{Cvoid} +const glFramebufferSampleLocationsfvARB_handle = Ref{Ptr{Cvoid}}() + function glFramebufferSampleLocationsfvARB(target, start, count, v) - ccall(getprocaddress_e("glFramebufferSampleLocationsfvARB"), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLfloat}), target, start, count, v) + glFramebufferSampleLocationsfvARB_handle[] == C_NULL && (glFramebufferSampleLocationsfvARB_handle[] = getprocaddress_e("glFramebufferSampleLocationsfvARB")) + ccall(glFramebufferSampleLocationsfvARB_handle[], Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLfloat}), target, start, count, v) end +const glNamedFramebufferSampleLocationsfvARB_handle = Ref{Ptr{Cvoid}}() + function glNamedFramebufferSampleLocationsfvARB(framebuffer, start, count, v) - ccall(getprocaddress_e("glNamedFramebufferSampleLocationsfvARB"), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLfloat}), framebuffer, start, count, v) + glNamedFramebufferSampleLocationsfvARB_handle[] == C_NULL && (glNamedFramebufferSampleLocationsfvARB_handle[] = getprocaddress_e("glNamedFramebufferSampleLocationsfvARB")) + ccall(glNamedFramebufferSampleLocationsfvARB_handle[], Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLfloat}), framebuffer, start, count, v) end +const glEvaluateDepthValuesARB_handle = Ref{Ptr{Cvoid}}() + function glEvaluateDepthValuesARB() - ccall(getprocaddress_e("glEvaluateDepthValuesARB"), Cvoid, ()) + glEvaluateDepthValuesARB_handle[] == C_NULL && (glEvaluateDepthValuesARB_handle[] = getprocaddress_e("glEvaluateDepthValuesARB")) + ccall(glEvaluateDepthValuesARB_handle[], Cvoid, ()) end # typedef void ( APIENTRYP PFNGLMINSAMPLESHADINGARBPROC ) ( GLfloat value ) const PFNGLMINSAMPLESHADINGARBPROC = Ptr{Cvoid} +const glMinSampleShadingARB_handle = Ref{Ptr{Cvoid}}() + function glMinSampleShadingARB(value) - ccall(getprocaddress_e("glMinSampleShadingARB"), Cvoid, (GLfloat,), value) + glMinSampleShadingARB_handle[] == C_NULL && (glMinSampleShadingARB_handle[] = getprocaddress_e("glMinSampleShadingARB")) + ccall(glMinSampleShadingARB_handle[], Cvoid, (GLfloat,), value) end # typedef void ( APIENTRYP PFNGLNAMEDSTRINGARBPROC ) ( GLenum type , GLint namelen , const GLchar * name , GLint stringlen , const GLchar * string ) @@ -5313,28 +7542,46 @@ const PFNGLGETNAMEDSTRINGARBPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLGETNAMEDSTRINGIVARBPROC ) ( GLint namelen , const GLchar * name , GLenum pname , GLint * params ) const PFNGLGETNAMEDSTRINGIVARBPROC = Ptr{Cvoid} +const glNamedStringARB_handle = Ref{Ptr{Cvoid}}() + function glNamedStringARB(type, namelen, name, stringlen, string) - ccall(getprocaddress_e("glNamedStringARB"), Cvoid, (GLenum, GLint, Ptr{GLchar}, GLint, Ptr{GLchar}), type, namelen, name, stringlen, string) + glNamedStringARB_handle[] == C_NULL && (glNamedStringARB_handle[] = getprocaddress_e("glNamedStringARB")) + ccall(glNamedStringARB_handle[], Cvoid, (GLenum, GLint, Ptr{GLchar}, GLint, Ptr{GLchar}), type, namelen, name, stringlen, string) end +const glDeleteNamedStringARB_handle = Ref{Ptr{Cvoid}}() + function glDeleteNamedStringARB(namelen, name) - ccall(getprocaddress_e("glDeleteNamedStringARB"), Cvoid, (GLint, Ptr{GLchar}), namelen, name) + glDeleteNamedStringARB_handle[] == C_NULL && (glDeleteNamedStringARB_handle[] = getprocaddress_e("glDeleteNamedStringARB")) + ccall(glDeleteNamedStringARB_handle[], Cvoid, (GLint, Ptr{GLchar}), namelen, name) end +const glCompileShaderIncludeARB_handle = Ref{Ptr{Cvoid}}() + function glCompileShaderIncludeARB(shader, count, path, length) - ccall(getprocaddress_e("glCompileShaderIncludeARB"), Cvoid, (GLuint, GLsizei, Ptr{Ptr{GLchar}}, Ptr{GLint}), shader, count, path, length) + glCompileShaderIncludeARB_handle[] == C_NULL && (glCompileShaderIncludeARB_handle[] = getprocaddress_e("glCompileShaderIncludeARB")) + ccall(glCompileShaderIncludeARB_handle[], Cvoid, (GLuint, GLsizei, Ptr{Ptr{GLchar}}, Ptr{GLint}), shader, count, path, length) end +const glIsNamedStringARB_handle = Ref{Ptr{Cvoid}}() + function glIsNamedStringARB(namelen, name) - ccall(getprocaddress_e("glIsNamedStringARB"), GLboolean, (GLint, Ptr{GLchar}), namelen, name) + glIsNamedStringARB_handle[] == C_NULL && (glIsNamedStringARB_handle[] = getprocaddress_e("glIsNamedStringARB")) + ccall(glIsNamedStringARB_handle[], GLboolean, (GLint, Ptr{GLchar}), namelen, name) end +const glGetNamedStringARB_handle = Ref{Ptr{Cvoid}}() + function glGetNamedStringARB(namelen, name, bufSize, stringlen, string) - ccall(getprocaddress_e("glGetNamedStringARB"), Cvoid, (GLint, Ptr{GLchar}, GLsizei, Ptr{GLint}, Ptr{GLchar}), namelen, name, bufSize, stringlen, string) + glGetNamedStringARB_handle[] == C_NULL && (glGetNamedStringARB_handle[] = getprocaddress_e("glGetNamedStringARB")) + ccall(glGetNamedStringARB_handle[], Cvoid, (GLint, Ptr{GLchar}, GLsizei, Ptr{GLint}, Ptr{GLchar}), namelen, name, bufSize, stringlen, string) end +const glGetNamedStringivARB_handle = Ref{Ptr{Cvoid}}() + function glGetNamedStringivARB(namelen, name, pname, params) - ccall(getprocaddress_e("glGetNamedStringivARB"), Cvoid, (GLint, Ptr{GLchar}, GLenum, Ptr{GLint}), namelen, name, pname, params) + glGetNamedStringivARB_handle[] == C_NULL && (glGetNamedStringivARB_handle[] = getprocaddress_e("glGetNamedStringivARB")) + ccall(glGetNamedStringivARB_handle[], Cvoid, (GLint, Ptr{GLchar}, GLenum, Ptr{GLint}), namelen, name, pname, params) end # typedef void ( APIENTRYP PFNGLBUFFERPAGECOMMITMENTARBPROC ) ( GLenum target , GLintptr offset , GLsizeiptr size , GLboolean commit ) @@ -5346,30 +7593,45 @@ const PFNGLNAMEDBUFFERPAGECOMMITMENTEXTPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLNAMEDBUFFERPAGECOMMITMENTARBPROC ) ( GLuint buffer , GLintptr offset , GLsizeiptr size , GLboolean commit ) const PFNGLNAMEDBUFFERPAGECOMMITMENTARBPROC = Ptr{Cvoid} +const glBufferPageCommitmentARB_handle = Ref{Ptr{Cvoid}}() + function glBufferPageCommitmentARB(target, offset, size, commit) - ccall(getprocaddress_e("glBufferPageCommitmentARB"), Cvoid, (GLenum, GLintptr, GLsizeiptr, GLboolean), target, offset, size, commit) + glBufferPageCommitmentARB_handle[] == C_NULL && (glBufferPageCommitmentARB_handle[] = getprocaddress_e("glBufferPageCommitmentARB")) + ccall(glBufferPageCommitmentARB_handle[], Cvoid, (GLenum, GLintptr, GLsizeiptr, GLboolean), target, offset, size, commit) end +const glNamedBufferPageCommitmentEXT_handle = Ref{Ptr{Cvoid}}() + function glNamedBufferPageCommitmentEXT(buffer, offset, size, commit) - ccall(getprocaddress_e("glNamedBufferPageCommitmentEXT"), Cvoid, (GLuint, GLintptr, GLsizeiptr, GLboolean), buffer, offset, size, commit) + glNamedBufferPageCommitmentEXT_handle[] == C_NULL && (glNamedBufferPageCommitmentEXT_handle[] = getprocaddress_e("glNamedBufferPageCommitmentEXT")) + ccall(glNamedBufferPageCommitmentEXT_handle[], Cvoid, (GLuint, GLintptr, GLsizeiptr, GLboolean), buffer, offset, size, commit) end +const glNamedBufferPageCommitmentARB_handle = Ref{Ptr{Cvoid}}() + function glNamedBufferPageCommitmentARB(buffer, offset, size, commit) - ccall(getprocaddress_e("glNamedBufferPageCommitmentARB"), Cvoid, (GLuint, GLintptr, GLsizeiptr, GLboolean), buffer, offset, size, commit) + glNamedBufferPageCommitmentARB_handle[] == C_NULL && (glNamedBufferPageCommitmentARB_handle[] = getprocaddress_e("glNamedBufferPageCommitmentARB")) + ccall(glNamedBufferPageCommitmentARB_handle[], Cvoid, (GLuint, GLintptr, GLsizeiptr, GLboolean), buffer, offset, size, commit) end # typedef void ( APIENTRYP PFNGLTEXPAGECOMMITMENTARBPROC ) ( GLenum target , GLint level , GLint xoffset , GLint yoffset , GLint zoffset , GLsizei width , GLsizei height , GLsizei depth , GLboolean commit ) const PFNGLTEXPAGECOMMITMENTARBPROC = Ptr{Cvoid} +const glTexPageCommitmentARB_handle = Ref{Ptr{Cvoid}}() + function glTexPageCommitmentARB(target, level, xoffset, yoffset, zoffset, width, height, depth, commit) - ccall(getprocaddress_e("glTexPageCommitmentARB"), Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLboolean), target, level, xoffset, yoffset, zoffset, width, height, depth, commit) + glTexPageCommitmentARB_handle[] == C_NULL && (glTexPageCommitmentARB_handle[] = getprocaddress_e("glTexPageCommitmentARB")) + ccall(glTexPageCommitmentARB_handle[], Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLboolean), target, level, xoffset, yoffset, zoffset, width, height, depth, commit) end # typedef void ( APIENTRYP PFNGLTEXBUFFERARBPROC ) ( GLenum target , GLenum internalformat , GLuint buffer ) const PFNGLTEXBUFFERARBPROC = Ptr{Cvoid} +const glTexBufferARB_handle = Ref{Ptr{Cvoid}}() + function glTexBufferARB(target, internalformat, buffer) - ccall(getprocaddress_e("glTexBufferARB"), Cvoid, (GLenum, GLenum, GLuint), target, internalformat, buffer) + glTexBufferARB_handle[] == C_NULL && (glTexBufferARB_handle[] = getprocaddress_e("glTexBufferARB")) + ccall(glTexBufferARB_handle[], Cvoid, (GLenum, GLenum, GLuint), target, internalformat, buffer) end # typedef void ( APIENTRYP PFNGLDEPTHRANGEARRAYDVNVPROC ) ( GLuint first , GLsizei count , const GLdouble * v ) @@ -5378,26 +7640,38 @@ const PFNGLDEPTHRANGEARRAYDVNVPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLDEPTHRANGEINDEXEDDNVPROC ) ( GLuint index , GLdouble n , GLdouble f ) const PFNGLDEPTHRANGEINDEXEDDNVPROC = Ptr{Cvoid} +const glDepthRangeArraydvNV_handle = Ref{Ptr{Cvoid}}() + function glDepthRangeArraydvNV(first, count, v) - ccall(getprocaddress_e("glDepthRangeArraydvNV"), Cvoid, (GLuint, GLsizei, Ptr{GLdouble}), first, count, v) + glDepthRangeArraydvNV_handle[] == C_NULL && (glDepthRangeArraydvNV_handle[] = getprocaddress_e("glDepthRangeArraydvNV")) + ccall(glDepthRangeArraydvNV_handle[], Cvoid, (GLuint, GLsizei, Ptr{GLdouble}), first, count, v) end +const glDepthRangeIndexeddNV_handle = Ref{Ptr{Cvoid}}() + function glDepthRangeIndexeddNV(index, n, f) - ccall(getprocaddress_e("glDepthRangeIndexeddNV"), Cvoid, (GLuint, GLdouble, GLdouble), index, n, f) + glDepthRangeIndexeddNV_handle[] == C_NULL && (glDepthRangeIndexeddNV_handle[] = getprocaddress_e("glDepthRangeIndexeddNV")) + ccall(glDepthRangeIndexeddNV_handle[], Cvoid, (GLuint, GLdouble, GLdouble), index, n, f) end # typedef void ( APIENTRYP PFNGLBLENDBARRIERKHRPROC ) ( void ) const PFNGLBLENDBARRIERKHRPROC = Ptr{Cvoid} +const glBlendBarrierKHR_handle = Ref{Ptr{Cvoid}}() + function glBlendBarrierKHR() - ccall(getprocaddress_e("glBlendBarrierKHR"), Cvoid, ()) + glBlendBarrierKHR_handle[] == C_NULL && (glBlendBarrierKHR_handle[] = getprocaddress_e("glBlendBarrierKHR")) + ccall(glBlendBarrierKHR_handle[], Cvoid, ()) end # typedef void ( APIENTRYP PFNGLMAXSHADERCOMPILERTHREADSKHRPROC ) ( GLuint count ) const PFNGLMAXSHADERCOMPILERTHREADSKHRPROC = Ptr{Cvoid} +const glMaxShaderCompilerThreadsKHR_handle = Ref{Ptr{Cvoid}}() + function glMaxShaderCompilerThreadsKHR(count) - ccall(getprocaddress_e("glMaxShaderCompilerThreadsKHR"), Cvoid, (GLuint,), count) + glMaxShaderCompilerThreadsKHR_handle[] == C_NULL && (glMaxShaderCompilerThreadsKHR_handle[] = getprocaddress_e("glMaxShaderCompilerThreadsKHR")) + ccall(glMaxShaderCompilerThreadsKHR_handle[], Cvoid, (GLuint,), count) end # typedef void ( APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEADVANCEDAMDPROC ) ( GLenum target , GLsizei samples , GLsizei storageSamples , GLenum internalformat , GLsizei width , GLsizei height ) @@ -5406,12 +7680,18 @@ const PFNGLRENDERBUFFERSTORAGEMULTISAMPLEADVANCEDAMDPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEADVANCEDAMDPROC ) ( GLuint renderbuffer , GLsizei samples , GLsizei storageSamples , GLenum internalformat , GLsizei width , GLsizei height ) const PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEADVANCEDAMDPROC = Ptr{Cvoid} +const glRenderbufferStorageMultisampleAdvancedAMD_handle = Ref{Ptr{Cvoid}}() + function glRenderbufferStorageMultisampleAdvancedAMD(target, samples, storageSamples, internalformat, width, height) - ccall(getprocaddress_e("glRenderbufferStorageMultisampleAdvancedAMD"), Cvoid, (GLenum, GLsizei, GLsizei, GLenum, GLsizei, GLsizei), target, samples, storageSamples, internalformat, width, height) + glRenderbufferStorageMultisampleAdvancedAMD_handle[] == C_NULL && (glRenderbufferStorageMultisampleAdvancedAMD_handle[] = getprocaddress_e("glRenderbufferStorageMultisampleAdvancedAMD")) + ccall(glRenderbufferStorageMultisampleAdvancedAMD_handle[], Cvoid, (GLenum, GLsizei, GLsizei, GLenum, GLsizei, GLsizei), target, samples, storageSamples, internalformat, width, height) end +const glNamedRenderbufferStorageMultisampleAdvancedAMD_handle = Ref{Ptr{Cvoid}}() + function glNamedRenderbufferStorageMultisampleAdvancedAMD(renderbuffer, samples, storageSamples, internalformat, width, height) - ccall(getprocaddress_e("glNamedRenderbufferStorageMultisampleAdvancedAMD"), Cvoid, (GLuint, GLsizei, GLsizei, GLenum, GLsizei, GLsizei), renderbuffer, samples, storageSamples, internalformat, width, height) + glNamedRenderbufferStorageMultisampleAdvancedAMD_handle[] == C_NULL && (glNamedRenderbufferStorageMultisampleAdvancedAMD_handle[] = getprocaddress_e("glNamedRenderbufferStorageMultisampleAdvancedAMD")) + ccall(glNamedRenderbufferStorageMultisampleAdvancedAMD_handle[], Cvoid, (GLuint, GLsizei, GLsizei, GLenum, GLsizei, GLsizei), renderbuffer, samples, storageSamples, internalformat, width, height) end # typedef void ( APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC ) ( GLint * numGroups , GLsizei groupsSize , GLuint * groups ) @@ -5447,48 +7727,81 @@ const PFNGLENDPERFMONITORAMDPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC ) ( GLuint monitor , GLenum pname , GLsizei dataSize , GLuint * data , GLint * bytesWritten ) const PFNGLGETPERFMONITORCOUNTERDATAAMDPROC = Ptr{Cvoid} +const glGetPerfMonitorGroupsAMD_handle = Ref{Ptr{Cvoid}}() + function glGetPerfMonitorGroupsAMD(numGroups, groupsSize, groups) - ccall(getprocaddress_e("glGetPerfMonitorGroupsAMD"), Cvoid, (Ptr{GLint}, GLsizei, Ptr{GLuint}), numGroups, groupsSize, groups) + glGetPerfMonitorGroupsAMD_handle[] == C_NULL && (glGetPerfMonitorGroupsAMD_handle[] = getprocaddress_e("glGetPerfMonitorGroupsAMD")) + ccall(glGetPerfMonitorGroupsAMD_handle[], Cvoid, (Ptr{GLint}, GLsizei, Ptr{GLuint}), numGroups, groupsSize, groups) end +const glGetPerfMonitorCountersAMD_handle = Ref{Ptr{Cvoid}}() + function glGetPerfMonitorCountersAMD(group, numCounters, maxActiveCounters, counterSize, counters) - ccall(getprocaddress_e("glGetPerfMonitorCountersAMD"), Cvoid, (GLuint, Ptr{GLint}, Ptr{GLint}, GLsizei, Ptr{GLuint}), group, numCounters, maxActiveCounters, counterSize, counters) + glGetPerfMonitorCountersAMD_handle[] == C_NULL && (glGetPerfMonitorCountersAMD_handle[] = getprocaddress_e("glGetPerfMonitorCountersAMD")) + ccall(glGetPerfMonitorCountersAMD_handle[], Cvoid, (GLuint, Ptr{GLint}, Ptr{GLint}, GLsizei, Ptr{GLuint}), group, numCounters, maxActiveCounters, counterSize, counters) end +const glGetPerfMonitorGroupStringAMD_handle = Ref{Ptr{Cvoid}}() + function glGetPerfMonitorGroupStringAMD(group, bufSize, length, groupString) - ccall(getprocaddress_e("glGetPerfMonitorGroupStringAMD"), Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), group, bufSize, length, groupString) + glGetPerfMonitorGroupStringAMD_handle[] == C_NULL && (glGetPerfMonitorGroupStringAMD_handle[] = getprocaddress_e("glGetPerfMonitorGroupStringAMD")) + ccall(glGetPerfMonitorGroupStringAMD_handle[], Cvoid, (GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), group, bufSize, length, groupString) end +const glGetPerfMonitorCounterStringAMD_handle = Ref{Ptr{Cvoid}}() + function glGetPerfMonitorCounterStringAMD(group, counter, bufSize, length, counterString) - ccall(getprocaddress_e("glGetPerfMonitorCounterStringAMD"), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), group, counter, bufSize, length, counterString) + glGetPerfMonitorCounterStringAMD_handle[] == C_NULL && (glGetPerfMonitorCounterStringAMD_handle[] = getprocaddress_e("glGetPerfMonitorCounterStringAMD")) + ccall(glGetPerfMonitorCounterStringAMD_handle[], Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), group, counter, bufSize, length, counterString) end +const glGetPerfMonitorCounterInfoAMD_handle = Ref{Ptr{Cvoid}}() + function glGetPerfMonitorCounterInfoAMD(group, counter, pname, data) - ccall(getprocaddress_e("glGetPerfMonitorCounterInfoAMD"), Cvoid, (GLuint, GLuint, GLenum, Ptr{Cvoid}), group, counter, pname, data) + glGetPerfMonitorCounterInfoAMD_handle[] == C_NULL && (glGetPerfMonitorCounterInfoAMD_handle[] = getprocaddress_e("glGetPerfMonitorCounterInfoAMD")) + ccall(glGetPerfMonitorCounterInfoAMD_handle[], Cvoid, (GLuint, GLuint, GLenum, Ptr{Cvoid}), group, counter, pname, data) end +const glGenPerfMonitorsAMD_handle = Ref{Ptr{Cvoid}}() + function glGenPerfMonitorsAMD(n, monitors) - ccall(getprocaddress_e("glGenPerfMonitorsAMD"), Cvoid, (GLsizei, Ptr{GLuint}), n, monitors) + glGenPerfMonitorsAMD_handle[] == C_NULL && (glGenPerfMonitorsAMD_handle[] = getprocaddress_e("glGenPerfMonitorsAMD")) + ccall(glGenPerfMonitorsAMD_handle[], Cvoid, (GLsizei, Ptr{GLuint}), n, monitors) end +const glDeletePerfMonitorsAMD_handle = Ref{Ptr{Cvoid}}() + function glDeletePerfMonitorsAMD(n, monitors) - ccall(getprocaddress_e("glDeletePerfMonitorsAMD"), Cvoid, (GLsizei, Ptr{GLuint}), n, monitors) + glDeletePerfMonitorsAMD_handle[] == C_NULL && (glDeletePerfMonitorsAMD_handle[] = getprocaddress_e("glDeletePerfMonitorsAMD")) + ccall(glDeletePerfMonitorsAMD_handle[], Cvoid, (GLsizei, Ptr{GLuint}), n, monitors) end +const glSelectPerfMonitorCountersAMD_handle = Ref{Ptr{Cvoid}}() + function glSelectPerfMonitorCountersAMD(monitor, enable, group, numCounters, counterList) - ccall(getprocaddress_e("glSelectPerfMonitorCountersAMD"), Cvoid, (GLuint, GLboolean, GLuint, GLint, Ptr{GLuint}), monitor, enable, group, numCounters, counterList) + glSelectPerfMonitorCountersAMD_handle[] == C_NULL && (glSelectPerfMonitorCountersAMD_handle[] = getprocaddress_e("glSelectPerfMonitorCountersAMD")) + ccall(glSelectPerfMonitorCountersAMD_handle[], Cvoid, (GLuint, GLboolean, GLuint, GLint, Ptr{GLuint}), monitor, enable, group, numCounters, counterList) end +const glBeginPerfMonitorAMD_handle = Ref{Ptr{Cvoid}}() + function glBeginPerfMonitorAMD(monitor) - ccall(getprocaddress_e("glBeginPerfMonitorAMD"), Cvoid, (GLuint,), monitor) + glBeginPerfMonitorAMD_handle[] == C_NULL && (glBeginPerfMonitorAMD_handle[] = getprocaddress_e("glBeginPerfMonitorAMD")) + ccall(glBeginPerfMonitorAMD_handle[], Cvoid, (GLuint,), monitor) end +const glEndPerfMonitorAMD_handle = Ref{Ptr{Cvoid}}() + function glEndPerfMonitorAMD(monitor) - ccall(getprocaddress_e("glEndPerfMonitorAMD"), Cvoid, (GLuint,), monitor) + glEndPerfMonitorAMD_handle[] == C_NULL && (glEndPerfMonitorAMD_handle[] = getprocaddress_e("glEndPerfMonitorAMD")) + ccall(glEndPerfMonitorAMD_handle[], Cvoid, (GLuint,), monitor) end +const glGetPerfMonitorCounterDataAMD_handle = Ref{Ptr{Cvoid}}() + function glGetPerfMonitorCounterDataAMD(monitor, pname, dataSize, data, bytesWritten) - ccall(getprocaddress_e("glGetPerfMonitorCounterDataAMD"), Cvoid, (GLuint, GLenum, GLsizei, Ptr{GLuint}, Ptr{GLint}), monitor, pname, dataSize, data, bytesWritten) + glGetPerfMonitorCounterDataAMD_handle[] == C_NULL && (glGetPerfMonitorCounterDataAMD_handle[] = getprocaddress_e("glGetPerfMonitorCounterDataAMD")) + ccall(glGetPerfMonitorCounterDataAMD_handle[], Cvoid, (GLuint, GLenum, GLsizei, Ptr{GLuint}, Ptr{GLint}), monitor, pname, dataSize, data, bytesWritten) end const GLeglImageOES = Ptr{Cvoid} @@ -5499,12 +7812,18 @@ const PFNGLEGLIMAGETARGETTEXSTORAGEEXTPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLEGLIMAGETARGETTEXTURESTORAGEEXTPROC ) ( GLuint texture , GLeglImageOES image , const GLint * attrib_list ) const PFNGLEGLIMAGETARGETTEXTURESTORAGEEXTPROC = Ptr{Cvoid} +const glEGLImageTargetTexStorageEXT_handle = Ref{Ptr{Cvoid}}() + function glEGLImageTargetTexStorageEXT(target, image, attrib_list) - ccall(getprocaddress_e("glEGLImageTargetTexStorageEXT"), Cvoid, (GLenum, GLeglImageOES, Ptr{GLint}), target, image, attrib_list) + glEGLImageTargetTexStorageEXT_handle[] == C_NULL && (glEGLImageTargetTexStorageEXT_handle[] = getprocaddress_e("glEGLImageTargetTexStorageEXT")) + ccall(glEGLImageTargetTexStorageEXT_handle[], Cvoid, (GLenum, GLeglImageOES, Ptr{GLint}), target, image, attrib_list) end +const glEGLImageTargetTextureStorageEXT_handle = Ref{Ptr{Cvoid}}() + function glEGLImageTargetTextureStorageEXT(texture, image, attrib_list) - ccall(getprocaddress_e("glEGLImageTargetTextureStorageEXT"), Cvoid, (GLuint, GLeglImageOES, Ptr{GLint}), texture, image, attrib_list) + glEGLImageTargetTextureStorageEXT_handle[] == C_NULL && (glEGLImageTargetTextureStorageEXT_handle[] = getprocaddress_e("glEGLImageTargetTextureStorageEXT")) + ccall(glEGLImageTargetTextureStorageEXT_handle[], Cvoid, (GLuint, GLeglImageOES, Ptr{GLint}), texture, image, attrib_list) end # typedef void ( APIENTRYP PFNGLLABELOBJECTEXTPROC ) ( GLenum type , GLuint object , GLsizei length , const GLchar * label ) @@ -5513,12 +7832,18 @@ const PFNGLLABELOBJECTEXTPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLGETOBJECTLABELEXTPROC ) ( GLenum type , GLuint object , GLsizei bufSize , GLsizei * length , GLchar * label ) const PFNGLGETOBJECTLABELEXTPROC = Ptr{Cvoid} +const glLabelObjectEXT_handle = Ref{Ptr{Cvoid}}() + function glLabelObjectEXT(type, object, length, label) - ccall(getprocaddress_e("glLabelObjectEXT"), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLchar}), type, object, length, label) + glLabelObjectEXT_handle[] == C_NULL && (glLabelObjectEXT_handle[] = getprocaddress_e("glLabelObjectEXT")) + ccall(glLabelObjectEXT_handle[], Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLchar}), type, object, length, label) end +const glGetObjectLabelEXT_handle = Ref{Ptr{Cvoid}}() + function glGetObjectLabelEXT(type, object, bufSize, length, label) - ccall(getprocaddress_e("glGetObjectLabelEXT"), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), type, object, bufSize, length, label) + glGetObjectLabelEXT_handle[] == C_NULL && (glGetObjectLabelEXT_handle[] = getprocaddress_e("glGetObjectLabelEXT")) + ccall(glGetObjectLabelEXT_handle[], Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLsizei}, Ptr{GLchar}), type, object, bufSize, length, label) end # typedef void ( APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC ) ( GLsizei length , const GLchar * marker ) @@ -5530,16 +7855,25 @@ const PFNGLPUSHGROUPMARKEREXTPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLPOPGROUPMARKEREXTPROC ) ( void ) const PFNGLPOPGROUPMARKEREXTPROC = Ptr{Cvoid} +const glInsertEventMarkerEXT_handle = Ref{Ptr{Cvoid}}() + function glInsertEventMarkerEXT(length, marker) - ccall(getprocaddress_e("glInsertEventMarkerEXT"), Cvoid, (GLsizei, Ptr{GLchar}), length, marker) + glInsertEventMarkerEXT_handle[] == C_NULL && (glInsertEventMarkerEXT_handle[] = getprocaddress_e("glInsertEventMarkerEXT")) + ccall(glInsertEventMarkerEXT_handle[], Cvoid, (GLsizei, Ptr{GLchar}), length, marker) end +const glPushGroupMarkerEXT_handle = Ref{Ptr{Cvoid}}() + function glPushGroupMarkerEXT(length, marker) - ccall(getprocaddress_e("glPushGroupMarkerEXT"), Cvoid, (GLsizei, Ptr{GLchar}), length, marker) + glPushGroupMarkerEXT_handle[] == C_NULL && (glPushGroupMarkerEXT_handle[] = getprocaddress_e("glPushGroupMarkerEXT")) + ccall(glPushGroupMarkerEXT_handle[], Cvoid, (GLsizei, Ptr{GLchar}), length, marker) end +const glPopGroupMarkerEXT_handle = Ref{Ptr{Cvoid}}() + function glPopGroupMarkerEXT() - ccall(getprocaddress_e("glPopGroupMarkerEXT"), Cvoid, ()) + glPopGroupMarkerEXT_handle[] == C_NULL && (glPopGroupMarkerEXT_handle[] = getprocaddress_e("glPopGroupMarkerEXT")) + ccall(glPopGroupMarkerEXT_handle[], Cvoid, ()) end # typedef void ( APIENTRYP PFNGLMATRIXLOADFEXTPROC ) ( GLenum mode , const GLfloat * m ) @@ -6307,1024 +8641,1789 @@ const PFNGLTEXTUREPAGECOMMITMENTEXTPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC ) ( GLuint vaobj , GLuint index , GLuint divisor ) const PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC = Ptr{Cvoid} +const glMatrixLoadfEXT_handle = Ref{Ptr{Cvoid}}() + function glMatrixLoadfEXT(mode, m) - ccall(getprocaddress_e("glMatrixLoadfEXT"), Cvoid, (GLenum, Ptr{GLfloat}), mode, m) + glMatrixLoadfEXT_handle[] == C_NULL && (glMatrixLoadfEXT_handle[] = getprocaddress_e("glMatrixLoadfEXT")) + ccall(glMatrixLoadfEXT_handle[], Cvoid, (GLenum, Ptr{GLfloat}), mode, m) end +const glMatrixLoaddEXT_handle = Ref{Ptr{Cvoid}}() + function glMatrixLoaddEXT(mode, m) - ccall(getprocaddress_e("glMatrixLoaddEXT"), Cvoid, (GLenum, Ptr{GLdouble}), mode, m) + glMatrixLoaddEXT_handle[] == C_NULL && (glMatrixLoaddEXT_handle[] = getprocaddress_e("glMatrixLoaddEXT")) + ccall(glMatrixLoaddEXT_handle[], Cvoid, (GLenum, Ptr{GLdouble}), mode, m) end +const glMatrixMultfEXT_handle = Ref{Ptr{Cvoid}}() + function glMatrixMultfEXT(mode, m) - ccall(getprocaddress_e("glMatrixMultfEXT"), Cvoid, (GLenum, Ptr{GLfloat}), mode, m) + glMatrixMultfEXT_handle[] == C_NULL && (glMatrixMultfEXT_handle[] = getprocaddress_e("glMatrixMultfEXT")) + ccall(glMatrixMultfEXT_handle[], Cvoid, (GLenum, Ptr{GLfloat}), mode, m) end +const glMatrixMultdEXT_handle = Ref{Ptr{Cvoid}}() + function glMatrixMultdEXT(mode, m) - ccall(getprocaddress_e("glMatrixMultdEXT"), Cvoid, (GLenum, Ptr{GLdouble}), mode, m) + glMatrixMultdEXT_handle[] == C_NULL && (glMatrixMultdEXT_handle[] = getprocaddress_e("glMatrixMultdEXT")) + ccall(glMatrixMultdEXT_handle[], Cvoid, (GLenum, Ptr{GLdouble}), mode, m) end +const glMatrixLoadIdentityEXT_handle = Ref{Ptr{Cvoid}}() + function glMatrixLoadIdentityEXT(mode) - ccall(getprocaddress_e("glMatrixLoadIdentityEXT"), Cvoid, (GLenum,), mode) + glMatrixLoadIdentityEXT_handle[] == C_NULL && (glMatrixLoadIdentityEXT_handle[] = getprocaddress_e("glMatrixLoadIdentityEXT")) + ccall(glMatrixLoadIdentityEXT_handle[], Cvoid, (GLenum,), mode) end +const glMatrixRotatefEXT_handle = Ref{Ptr{Cvoid}}() + function glMatrixRotatefEXT(mode, angle, x, y, z) - ccall(getprocaddress_e("glMatrixRotatefEXT"), Cvoid, (GLenum, GLfloat, GLfloat, GLfloat, GLfloat), mode, angle, x, y, z) + glMatrixRotatefEXT_handle[] == C_NULL && (glMatrixRotatefEXT_handle[] = getprocaddress_e("glMatrixRotatefEXT")) + ccall(glMatrixRotatefEXT_handle[], Cvoid, (GLenum, GLfloat, GLfloat, GLfloat, GLfloat), mode, angle, x, y, z) end +const glMatrixRotatedEXT_handle = Ref{Ptr{Cvoid}}() + function glMatrixRotatedEXT(mode, angle, x, y, z) - ccall(getprocaddress_e("glMatrixRotatedEXT"), Cvoid, (GLenum, GLdouble, GLdouble, GLdouble, GLdouble), mode, angle, x, y, z) + glMatrixRotatedEXT_handle[] == C_NULL && (glMatrixRotatedEXT_handle[] = getprocaddress_e("glMatrixRotatedEXT")) + ccall(glMatrixRotatedEXT_handle[], Cvoid, (GLenum, GLdouble, GLdouble, GLdouble, GLdouble), mode, angle, x, y, z) end +const glMatrixScalefEXT_handle = Ref{Ptr{Cvoid}}() + function glMatrixScalefEXT(mode, x, y, z) - ccall(getprocaddress_e("glMatrixScalefEXT"), Cvoid, (GLenum, GLfloat, GLfloat, GLfloat), mode, x, y, z) + glMatrixScalefEXT_handle[] == C_NULL && (glMatrixScalefEXT_handle[] = getprocaddress_e("glMatrixScalefEXT")) + ccall(glMatrixScalefEXT_handle[], Cvoid, (GLenum, GLfloat, GLfloat, GLfloat), mode, x, y, z) end +const glMatrixScaledEXT_handle = Ref{Ptr{Cvoid}}() + function glMatrixScaledEXT(mode, x, y, z) - ccall(getprocaddress_e("glMatrixScaledEXT"), Cvoid, (GLenum, GLdouble, GLdouble, GLdouble), mode, x, y, z) + glMatrixScaledEXT_handle[] == C_NULL && (glMatrixScaledEXT_handle[] = getprocaddress_e("glMatrixScaledEXT")) + ccall(glMatrixScaledEXT_handle[], Cvoid, (GLenum, GLdouble, GLdouble, GLdouble), mode, x, y, z) end +const glMatrixTranslatefEXT_handle = Ref{Ptr{Cvoid}}() + function glMatrixTranslatefEXT(mode, x, y, z) - ccall(getprocaddress_e("glMatrixTranslatefEXT"), Cvoid, (GLenum, GLfloat, GLfloat, GLfloat), mode, x, y, z) + glMatrixTranslatefEXT_handle[] == C_NULL && (glMatrixTranslatefEXT_handle[] = getprocaddress_e("glMatrixTranslatefEXT")) + ccall(glMatrixTranslatefEXT_handle[], Cvoid, (GLenum, GLfloat, GLfloat, GLfloat), mode, x, y, z) end +const glMatrixTranslatedEXT_handle = Ref{Ptr{Cvoid}}() + function glMatrixTranslatedEXT(mode, x, y, z) - ccall(getprocaddress_e("glMatrixTranslatedEXT"), Cvoid, (GLenum, GLdouble, GLdouble, GLdouble), mode, x, y, z) + glMatrixTranslatedEXT_handle[] == C_NULL && (glMatrixTranslatedEXT_handle[] = getprocaddress_e("glMatrixTranslatedEXT")) + ccall(glMatrixTranslatedEXT_handle[], Cvoid, (GLenum, GLdouble, GLdouble, GLdouble), mode, x, y, z) end +const glMatrixFrustumEXT_handle = Ref{Ptr{Cvoid}}() + function glMatrixFrustumEXT(mode, left, right, bottom, top, zNear, zFar) - ccall(getprocaddress_e("glMatrixFrustumEXT"), Cvoid, (GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble), mode, left, right, bottom, top, zNear, zFar) + glMatrixFrustumEXT_handle[] == C_NULL && (glMatrixFrustumEXT_handle[] = getprocaddress_e("glMatrixFrustumEXT")) + ccall(glMatrixFrustumEXT_handle[], Cvoid, (GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble), mode, left, right, bottom, top, zNear, zFar) end +const glMatrixOrthoEXT_handle = Ref{Ptr{Cvoid}}() + function glMatrixOrthoEXT(mode, left, right, bottom, top, zNear, zFar) - ccall(getprocaddress_e("glMatrixOrthoEXT"), Cvoid, (GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble), mode, left, right, bottom, top, zNear, zFar) + glMatrixOrthoEXT_handle[] == C_NULL && (glMatrixOrthoEXT_handle[] = getprocaddress_e("glMatrixOrthoEXT")) + ccall(glMatrixOrthoEXT_handle[], Cvoid, (GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble), mode, left, right, bottom, top, zNear, zFar) end +const glMatrixPopEXT_handle = Ref{Ptr{Cvoid}}() + function glMatrixPopEXT(mode) - ccall(getprocaddress_e("glMatrixPopEXT"), Cvoid, (GLenum,), mode) + glMatrixPopEXT_handle[] == C_NULL && (glMatrixPopEXT_handle[] = getprocaddress_e("glMatrixPopEXT")) + ccall(glMatrixPopEXT_handle[], Cvoid, (GLenum,), mode) end +const glMatrixPushEXT_handle = Ref{Ptr{Cvoid}}() + function glMatrixPushEXT(mode) - ccall(getprocaddress_e("glMatrixPushEXT"), Cvoid, (GLenum,), mode) + glMatrixPushEXT_handle[] == C_NULL && (glMatrixPushEXT_handle[] = getprocaddress_e("glMatrixPushEXT")) + ccall(glMatrixPushEXT_handle[], Cvoid, (GLenum,), mode) end +const glClientAttribDefaultEXT_handle = Ref{Ptr{Cvoid}}() + function glClientAttribDefaultEXT(mask) - ccall(getprocaddress_e("glClientAttribDefaultEXT"), Cvoid, (GLbitfield,), mask) + glClientAttribDefaultEXT_handle[] == C_NULL && (glClientAttribDefaultEXT_handle[] = getprocaddress_e("glClientAttribDefaultEXT")) + ccall(glClientAttribDefaultEXT_handle[], Cvoid, (GLbitfield,), mask) end +const glPushClientAttribDefaultEXT_handle = Ref{Ptr{Cvoid}}() + function glPushClientAttribDefaultEXT(mask) - ccall(getprocaddress_e("glPushClientAttribDefaultEXT"), Cvoid, (GLbitfield,), mask) + glPushClientAttribDefaultEXT_handle[] == C_NULL && (glPushClientAttribDefaultEXT_handle[] = getprocaddress_e("glPushClientAttribDefaultEXT")) + ccall(glPushClientAttribDefaultEXT_handle[], Cvoid, (GLbitfield,), mask) end +const glTextureParameterfEXT_handle = Ref{Ptr{Cvoid}}() + function glTextureParameterfEXT(texture, target, pname, param) - ccall(getprocaddress_e("glTextureParameterfEXT"), Cvoid, (GLuint, GLenum, GLenum, GLfloat), texture, target, pname, param) + glTextureParameterfEXT_handle[] == C_NULL && (glTextureParameterfEXT_handle[] = getprocaddress_e("glTextureParameterfEXT")) + ccall(glTextureParameterfEXT_handle[], Cvoid, (GLuint, GLenum, GLenum, GLfloat), texture, target, pname, param) end +const glTextureParameterfvEXT_handle = Ref{Ptr{Cvoid}}() + function glTextureParameterfvEXT(texture, target, pname, params) - ccall(getprocaddress_e("glTextureParameterfvEXT"), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLfloat}), texture, target, pname, params) + glTextureParameterfvEXT_handle[] == C_NULL && (glTextureParameterfvEXT_handle[] = getprocaddress_e("glTextureParameterfvEXT")) + ccall(glTextureParameterfvEXT_handle[], Cvoid, (GLuint, GLenum, GLenum, Ptr{GLfloat}), texture, target, pname, params) end +const glTextureParameteriEXT_handle = Ref{Ptr{Cvoid}}() + function glTextureParameteriEXT(texture, target, pname, param) - ccall(getprocaddress_e("glTextureParameteriEXT"), Cvoid, (GLuint, GLenum, GLenum, GLint), texture, target, pname, param) + glTextureParameteriEXT_handle[] == C_NULL && (glTextureParameteriEXT_handle[] = getprocaddress_e("glTextureParameteriEXT")) + ccall(glTextureParameteriEXT_handle[], Cvoid, (GLuint, GLenum, GLenum, GLint), texture, target, pname, param) end +const glTextureParameterivEXT_handle = Ref{Ptr{Cvoid}}() + function glTextureParameterivEXT(texture, target, pname, params) - ccall(getprocaddress_e("glTextureParameterivEXT"), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), texture, target, pname, params) + glTextureParameterivEXT_handle[] == C_NULL && (glTextureParameterivEXT_handle[] = getprocaddress_e("glTextureParameterivEXT")) + ccall(glTextureParameterivEXT_handle[], Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), texture, target, pname, params) end +const glTextureImage1DEXT_handle = Ref{Ptr{Cvoid}}() + function glTextureImage1DEXT(texture, target, level, internalformat, width, border, format, type, pixels) - ccall(getprocaddress_e("glTextureImage1DEXT"), Cvoid, (GLuint, GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, internalformat, width, border, format, type, pixels) + glTextureImage1DEXT_handle[] == C_NULL && (glTextureImage1DEXT_handle[] = getprocaddress_e("glTextureImage1DEXT")) + ccall(glTextureImage1DEXT_handle[], Cvoid, (GLuint, GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, internalformat, width, border, format, type, pixels) end +const glTextureImage2DEXT_handle = Ref{Ptr{Cvoid}}() + function glTextureImage2DEXT(texture, target, level, internalformat, width, height, border, format, type, pixels) - ccall(getprocaddress_e("glTextureImage2DEXT"), Cvoid, (GLuint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, internalformat, width, height, border, format, type, pixels) + glTextureImage2DEXT_handle[] == C_NULL && (glTextureImage2DEXT_handle[] = getprocaddress_e("glTextureImage2DEXT")) + ccall(glTextureImage2DEXT_handle[], Cvoid, (GLuint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, internalformat, width, height, border, format, type, pixels) end +const glTextureSubImage1DEXT_handle = Ref{Ptr{Cvoid}}() + function glTextureSubImage1DEXT(texture, target, level, xoffset, width, format, type, pixels) - ccall(getprocaddress_e("glTextureSubImage1DEXT"), Cvoid, (GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, xoffset, width, format, type, pixels) + glTextureSubImage1DEXT_handle[] == C_NULL && (glTextureSubImage1DEXT_handle[] = getprocaddress_e("glTextureSubImage1DEXT")) + ccall(glTextureSubImage1DEXT_handle[], Cvoid, (GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, xoffset, width, format, type, pixels) end +const glTextureSubImage2DEXT_handle = Ref{Ptr{Cvoid}}() + function glTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, width, height, format, type, pixels) - ccall(getprocaddress_e("glTextureSubImage2DEXT"), Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, xoffset, yoffset, width, height, format, type, pixels) + glTextureSubImage2DEXT_handle[] == C_NULL && (glTextureSubImage2DEXT_handle[] = getprocaddress_e("glTextureSubImage2DEXT")) + ccall(glTextureSubImage2DEXT_handle[], Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, xoffset, yoffset, width, height, format, type, pixels) end +const glCopyTextureImage1DEXT_handle = Ref{Ptr{Cvoid}}() + function glCopyTextureImage1DEXT(texture, target, level, internalformat, x, y, width, border) - ccall(getprocaddress_e("glCopyTextureImage1DEXT"), Cvoid, (GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint), texture, target, level, internalformat, x, y, width, border) + glCopyTextureImage1DEXT_handle[] == C_NULL && (glCopyTextureImage1DEXT_handle[] = getprocaddress_e("glCopyTextureImage1DEXT")) + ccall(glCopyTextureImage1DEXT_handle[], Cvoid, (GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint), texture, target, level, internalformat, x, y, width, border) end +const glCopyTextureImage2DEXT_handle = Ref{Ptr{Cvoid}}() + function glCopyTextureImage2DEXT(texture, target, level, internalformat, x, y, width, height, border) - ccall(getprocaddress_e("glCopyTextureImage2DEXT"), Cvoid, (GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint), texture, target, level, internalformat, x, y, width, height, border) + glCopyTextureImage2DEXT_handle[] == C_NULL && (glCopyTextureImage2DEXT_handle[] = getprocaddress_e("glCopyTextureImage2DEXT")) + ccall(glCopyTextureImage2DEXT_handle[], Cvoid, (GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint), texture, target, level, internalformat, x, y, width, height, border) end +const glCopyTextureSubImage1DEXT_handle = Ref{Ptr{Cvoid}}() + function glCopyTextureSubImage1DEXT(texture, target, level, xoffset, x, y, width) - ccall(getprocaddress_e("glCopyTextureSubImage1DEXT"), Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei), texture, target, level, xoffset, x, y, width) + glCopyTextureSubImage1DEXT_handle[] == C_NULL && (glCopyTextureSubImage1DEXT_handle[] = getprocaddress_e("glCopyTextureSubImage1DEXT")) + ccall(glCopyTextureSubImage1DEXT_handle[], Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei), texture, target, level, xoffset, x, y, width) end +const glCopyTextureSubImage2DEXT_handle = Ref{Ptr{Cvoid}}() + function glCopyTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, x, y, width, height) - ccall(getprocaddress_e("glCopyTextureSubImage2DEXT"), Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), texture, target, level, xoffset, yoffset, x, y, width, height) + glCopyTextureSubImage2DEXT_handle[] == C_NULL && (glCopyTextureSubImage2DEXT_handle[] = getprocaddress_e("glCopyTextureSubImage2DEXT")) + ccall(glCopyTextureSubImage2DEXT_handle[], Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), texture, target, level, xoffset, yoffset, x, y, width, height) end +const glGetTextureImageEXT_handle = Ref{Ptr{Cvoid}}() + function glGetTextureImageEXT(texture, target, level, format, type, pixels) - ccall(getprocaddress_e("glGetTextureImageEXT"), Cvoid, (GLuint, GLenum, GLint, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, format, type, pixels) + glGetTextureImageEXT_handle[] == C_NULL && (glGetTextureImageEXT_handle[] = getprocaddress_e("glGetTextureImageEXT")) + ccall(glGetTextureImageEXT_handle[], Cvoid, (GLuint, GLenum, GLint, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, format, type, pixels) end +const glGetTextureParameterfvEXT_handle = Ref{Ptr{Cvoid}}() + function glGetTextureParameterfvEXT(texture, target, pname, params) - ccall(getprocaddress_e("glGetTextureParameterfvEXT"), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLfloat}), texture, target, pname, params) + glGetTextureParameterfvEXT_handle[] == C_NULL && (glGetTextureParameterfvEXT_handle[] = getprocaddress_e("glGetTextureParameterfvEXT")) + ccall(glGetTextureParameterfvEXT_handle[], Cvoid, (GLuint, GLenum, GLenum, Ptr{GLfloat}), texture, target, pname, params) end +const glGetTextureParameterivEXT_handle = Ref{Ptr{Cvoid}}() + function glGetTextureParameterivEXT(texture, target, pname, params) - ccall(getprocaddress_e("glGetTextureParameterivEXT"), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), texture, target, pname, params) + glGetTextureParameterivEXT_handle[] == C_NULL && (glGetTextureParameterivEXT_handle[] = getprocaddress_e("glGetTextureParameterivEXT")) + ccall(glGetTextureParameterivEXT_handle[], Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), texture, target, pname, params) end +const glGetTextureLevelParameterfvEXT_handle = Ref{Ptr{Cvoid}}() + function glGetTextureLevelParameterfvEXT(texture, target, level, pname, params) - ccall(getprocaddress_e("glGetTextureLevelParameterfvEXT"), Cvoid, (GLuint, GLenum, GLint, GLenum, Ptr{GLfloat}), texture, target, level, pname, params) + glGetTextureLevelParameterfvEXT_handle[] == C_NULL && (glGetTextureLevelParameterfvEXT_handle[] = getprocaddress_e("glGetTextureLevelParameterfvEXT")) + ccall(glGetTextureLevelParameterfvEXT_handle[], Cvoid, (GLuint, GLenum, GLint, GLenum, Ptr{GLfloat}), texture, target, level, pname, params) end +const glGetTextureLevelParameterivEXT_handle = Ref{Ptr{Cvoid}}() + function glGetTextureLevelParameterivEXT(texture, target, level, pname, params) - ccall(getprocaddress_e("glGetTextureLevelParameterivEXT"), Cvoid, (GLuint, GLenum, GLint, GLenum, Ptr{GLint}), texture, target, level, pname, params) + glGetTextureLevelParameterivEXT_handle[] == C_NULL && (glGetTextureLevelParameterivEXT_handle[] = getprocaddress_e("glGetTextureLevelParameterivEXT")) + ccall(glGetTextureLevelParameterivEXT_handle[], Cvoid, (GLuint, GLenum, GLint, GLenum, Ptr{GLint}), texture, target, level, pname, params) end +const glTextureImage3DEXT_handle = Ref{Ptr{Cvoid}}() + function glTextureImage3DEXT(texture, target, level, internalformat, width, height, depth, border, format, type, pixels) - ccall(getprocaddress_e("glTextureImage3DEXT"), Cvoid, (GLuint, GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, internalformat, width, height, depth, border, format, type, pixels) + glTextureImage3DEXT_handle[] == C_NULL && (glTextureImage3DEXT_handle[] = getprocaddress_e("glTextureImage3DEXT")) + ccall(glTextureImage3DEXT_handle[], Cvoid, (GLuint, GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, internalformat, width, height, depth, border, format, type, pixels) end +const glTextureSubImage3DEXT_handle = Ref{Ptr{Cvoid}}() + function glTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) - ccall(getprocaddress_e("glTextureSubImage3DEXT"), Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) + glTextureSubImage3DEXT_handle[] == C_NULL && (glTextureSubImage3DEXT_handle[] = getprocaddress_e("glTextureSubImage3DEXT")) + ccall(glTextureSubImage3DEXT_handle[], Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) end +const glCopyTextureSubImage3DEXT_handle = Ref{Ptr{Cvoid}}() + function glCopyTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, x, y, width, height) - ccall(getprocaddress_e("glCopyTextureSubImage3DEXT"), Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), texture, target, level, xoffset, yoffset, zoffset, x, y, width, height) + glCopyTextureSubImage3DEXT_handle[] == C_NULL && (glCopyTextureSubImage3DEXT_handle[] = getprocaddress_e("glCopyTextureSubImage3DEXT")) + ccall(glCopyTextureSubImage3DEXT_handle[], Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), texture, target, level, xoffset, yoffset, zoffset, x, y, width, height) end +const glBindMultiTextureEXT_handle = Ref{Ptr{Cvoid}}() + function glBindMultiTextureEXT(texunit, target, texture) - ccall(getprocaddress_e("glBindMultiTextureEXT"), Cvoid, (GLenum, GLenum, GLuint), texunit, target, texture) + glBindMultiTextureEXT_handle[] == C_NULL && (glBindMultiTextureEXT_handle[] = getprocaddress_e("glBindMultiTextureEXT")) + ccall(glBindMultiTextureEXT_handle[], Cvoid, (GLenum, GLenum, GLuint), texunit, target, texture) end +const glMultiTexCoordPointerEXT_handle = Ref{Ptr{Cvoid}}() + function glMultiTexCoordPointerEXT(texunit, size, type, stride, pointer) - ccall(getprocaddress_e("glMultiTexCoordPointerEXT"), Cvoid, (GLenum, GLint, GLenum, GLsizei, Ptr{Cvoid}), texunit, size, type, stride, pointer) + glMultiTexCoordPointerEXT_handle[] == C_NULL && (glMultiTexCoordPointerEXT_handle[] = getprocaddress_e("glMultiTexCoordPointerEXT")) + ccall(glMultiTexCoordPointerEXT_handle[], Cvoid, (GLenum, GLint, GLenum, GLsizei, Ptr{Cvoid}), texunit, size, type, stride, pointer) end +const glMultiTexEnvfEXT_handle = Ref{Ptr{Cvoid}}() + function glMultiTexEnvfEXT(texunit, target, pname, param) - ccall(getprocaddress_e("glMultiTexEnvfEXT"), Cvoid, (GLenum, GLenum, GLenum, GLfloat), texunit, target, pname, param) + glMultiTexEnvfEXT_handle[] == C_NULL && (glMultiTexEnvfEXT_handle[] = getprocaddress_e("glMultiTexEnvfEXT")) + ccall(glMultiTexEnvfEXT_handle[], Cvoid, (GLenum, GLenum, GLenum, GLfloat), texunit, target, pname, param) end +const glMultiTexEnvfvEXT_handle = Ref{Ptr{Cvoid}}() + function glMultiTexEnvfvEXT(texunit, target, pname, params) - ccall(getprocaddress_e("glMultiTexEnvfvEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLfloat}), texunit, target, pname, params) + glMultiTexEnvfvEXT_handle[] == C_NULL && (glMultiTexEnvfvEXT_handle[] = getprocaddress_e("glMultiTexEnvfvEXT")) + ccall(glMultiTexEnvfvEXT_handle[], Cvoid, (GLenum, GLenum, GLenum, Ptr{GLfloat}), texunit, target, pname, params) end +const glMultiTexEnviEXT_handle = Ref{Ptr{Cvoid}}() + function glMultiTexEnviEXT(texunit, target, pname, param) - ccall(getprocaddress_e("glMultiTexEnviEXT"), Cvoid, (GLenum, GLenum, GLenum, GLint), texunit, target, pname, param) + glMultiTexEnviEXT_handle[] == C_NULL && (glMultiTexEnviEXT_handle[] = getprocaddress_e("glMultiTexEnviEXT")) + ccall(glMultiTexEnviEXT_handle[], Cvoid, (GLenum, GLenum, GLenum, GLint), texunit, target, pname, param) end +const glMultiTexEnvivEXT_handle = Ref{Ptr{Cvoid}}() + function glMultiTexEnvivEXT(texunit, target, pname, params) - ccall(getprocaddress_e("glMultiTexEnvivEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, target, pname, params) + glMultiTexEnvivEXT_handle[] == C_NULL && (glMultiTexEnvivEXT_handle[] = getprocaddress_e("glMultiTexEnvivEXT")) + ccall(glMultiTexEnvivEXT_handle[], Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, target, pname, params) end +const glMultiTexGendEXT_handle = Ref{Ptr{Cvoid}}() + function glMultiTexGendEXT(texunit, coord, pname, param) - ccall(getprocaddress_e("glMultiTexGendEXT"), Cvoid, (GLenum, GLenum, GLenum, GLdouble), texunit, coord, pname, param) + glMultiTexGendEXT_handle[] == C_NULL && (glMultiTexGendEXT_handle[] = getprocaddress_e("glMultiTexGendEXT")) + ccall(glMultiTexGendEXT_handle[], Cvoid, (GLenum, GLenum, GLenum, GLdouble), texunit, coord, pname, param) end +const glMultiTexGendvEXT_handle = Ref{Ptr{Cvoid}}() + function glMultiTexGendvEXT(texunit, coord, pname, params) - ccall(getprocaddress_e("glMultiTexGendvEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLdouble}), texunit, coord, pname, params) + glMultiTexGendvEXT_handle[] == C_NULL && (glMultiTexGendvEXT_handle[] = getprocaddress_e("glMultiTexGendvEXT")) + ccall(glMultiTexGendvEXT_handle[], Cvoid, (GLenum, GLenum, GLenum, Ptr{GLdouble}), texunit, coord, pname, params) end +const glMultiTexGenfEXT_handle = Ref{Ptr{Cvoid}}() + function glMultiTexGenfEXT(texunit, coord, pname, param) - ccall(getprocaddress_e("glMultiTexGenfEXT"), Cvoid, (GLenum, GLenum, GLenum, GLfloat), texunit, coord, pname, param) + glMultiTexGenfEXT_handle[] == C_NULL && (glMultiTexGenfEXT_handle[] = getprocaddress_e("glMultiTexGenfEXT")) + ccall(glMultiTexGenfEXT_handle[], Cvoid, (GLenum, GLenum, GLenum, GLfloat), texunit, coord, pname, param) end +const glMultiTexGenfvEXT_handle = Ref{Ptr{Cvoid}}() + function glMultiTexGenfvEXT(texunit, coord, pname, params) - ccall(getprocaddress_e("glMultiTexGenfvEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLfloat}), texunit, coord, pname, params) + glMultiTexGenfvEXT_handle[] == C_NULL && (glMultiTexGenfvEXT_handle[] = getprocaddress_e("glMultiTexGenfvEXT")) + ccall(glMultiTexGenfvEXT_handle[], Cvoid, (GLenum, GLenum, GLenum, Ptr{GLfloat}), texunit, coord, pname, params) end +const glMultiTexGeniEXT_handle = Ref{Ptr{Cvoid}}() + function glMultiTexGeniEXT(texunit, coord, pname, param) - ccall(getprocaddress_e("glMultiTexGeniEXT"), Cvoid, (GLenum, GLenum, GLenum, GLint), texunit, coord, pname, param) + glMultiTexGeniEXT_handle[] == C_NULL && (glMultiTexGeniEXT_handle[] = getprocaddress_e("glMultiTexGeniEXT")) + ccall(glMultiTexGeniEXT_handle[], Cvoid, (GLenum, GLenum, GLenum, GLint), texunit, coord, pname, param) end +const glMultiTexGenivEXT_handle = Ref{Ptr{Cvoid}}() + function glMultiTexGenivEXT(texunit, coord, pname, params) - ccall(getprocaddress_e("glMultiTexGenivEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, coord, pname, params) + glMultiTexGenivEXT_handle[] == C_NULL && (glMultiTexGenivEXT_handle[] = getprocaddress_e("glMultiTexGenivEXT")) + ccall(glMultiTexGenivEXT_handle[], Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, coord, pname, params) end +const glGetMultiTexEnvfvEXT_handle = Ref{Ptr{Cvoid}}() + function glGetMultiTexEnvfvEXT(texunit, target, pname, params) - ccall(getprocaddress_e("glGetMultiTexEnvfvEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLfloat}), texunit, target, pname, params) + glGetMultiTexEnvfvEXT_handle[] == C_NULL && (glGetMultiTexEnvfvEXT_handle[] = getprocaddress_e("glGetMultiTexEnvfvEXT")) + ccall(glGetMultiTexEnvfvEXT_handle[], Cvoid, (GLenum, GLenum, GLenum, Ptr{GLfloat}), texunit, target, pname, params) end +const glGetMultiTexEnvivEXT_handle = Ref{Ptr{Cvoid}}() + function glGetMultiTexEnvivEXT(texunit, target, pname, params) - ccall(getprocaddress_e("glGetMultiTexEnvivEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, target, pname, params) + glGetMultiTexEnvivEXT_handle[] == C_NULL && (glGetMultiTexEnvivEXT_handle[] = getprocaddress_e("glGetMultiTexEnvivEXT")) + ccall(glGetMultiTexEnvivEXT_handle[], Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, target, pname, params) end +const glGetMultiTexGendvEXT_handle = Ref{Ptr{Cvoid}}() + function glGetMultiTexGendvEXT(texunit, coord, pname, params) - ccall(getprocaddress_e("glGetMultiTexGendvEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLdouble}), texunit, coord, pname, params) + glGetMultiTexGendvEXT_handle[] == C_NULL && (glGetMultiTexGendvEXT_handle[] = getprocaddress_e("glGetMultiTexGendvEXT")) + ccall(glGetMultiTexGendvEXT_handle[], Cvoid, (GLenum, GLenum, GLenum, Ptr{GLdouble}), texunit, coord, pname, params) end +const glGetMultiTexGenfvEXT_handle = Ref{Ptr{Cvoid}}() + function glGetMultiTexGenfvEXT(texunit, coord, pname, params) - ccall(getprocaddress_e("glGetMultiTexGenfvEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLfloat}), texunit, coord, pname, params) + glGetMultiTexGenfvEXT_handle[] == C_NULL && (glGetMultiTexGenfvEXT_handle[] = getprocaddress_e("glGetMultiTexGenfvEXT")) + ccall(glGetMultiTexGenfvEXT_handle[], Cvoid, (GLenum, GLenum, GLenum, Ptr{GLfloat}), texunit, coord, pname, params) end +const glGetMultiTexGenivEXT_handle = Ref{Ptr{Cvoid}}() + function glGetMultiTexGenivEXT(texunit, coord, pname, params) - ccall(getprocaddress_e("glGetMultiTexGenivEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, coord, pname, params) + glGetMultiTexGenivEXT_handle[] == C_NULL && (glGetMultiTexGenivEXT_handle[] = getprocaddress_e("glGetMultiTexGenivEXT")) + ccall(glGetMultiTexGenivEXT_handle[], Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, coord, pname, params) end +const glMultiTexParameteriEXT_handle = Ref{Ptr{Cvoid}}() + function glMultiTexParameteriEXT(texunit, target, pname, param) - ccall(getprocaddress_e("glMultiTexParameteriEXT"), Cvoid, (GLenum, GLenum, GLenum, GLint), texunit, target, pname, param) + glMultiTexParameteriEXT_handle[] == C_NULL && (glMultiTexParameteriEXT_handle[] = getprocaddress_e("glMultiTexParameteriEXT")) + ccall(glMultiTexParameteriEXT_handle[], Cvoid, (GLenum, GLenum, GLenum, GLint), texunit, target, pname, param) end +const glMultiTexParameterivEXT_handle = Ref{Ptr{Cvoid}}() + function glMultiTexParameterivEXT(texunit, target, pname, params) - ccall(getprocaddress_e("glMultiTexParameterivEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, target, pname, params) + glMultiTexParameterivEXT_handle[] == C_NULL && (glMultiTexParameterivEXT_handle[] = getprocaddress_e("glMultiTexParameterivEXT")) + ccall(glMultiTexParameterivEXT_handle[], Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, target, pname, params) end +const glMultiTexParameterfEXT_handle = Ref{Ptr{Cvoid}}() + function glMultiTexParameterfEXT(texunit, target, pname, param) - ccall(getprocaddress_e("glMultiTexParameterfEXT"), Cvoid, (GLenum, GLenum, GLenum, GLfloat), texunit, target, pname, param) + glMultiTexParameterfEXT_handle[] == C_NULL && (glMultiTexParameterfEXT_handle[] = getprocaddress_e("glMultiTexParameterfEXT")) + ccall(glMultiTexParameterfEXT_handle[], Cvoid, (GLenum, GLenum, GLenum, GLfloat), texunit, target, pname, param) end +const glMultiTexParameterfvEXT_handle = Ref{Ptr{Cvoid}}() + function glMultiTexParameterfvEXT(texunit, target, pname, params) - ccall(getprocaddress_e("glMultiTexParameterfvEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLfloat}), texunit, target, pname, params) + glMultiTexParameterfvEXT_handle[] == C_NULL && (glMultiTexParameterfvEXT_handle[] = getprocaddress_e("glMultiTexParameterfvEXT")) + ccall(glMultiTexParameterfvEXT_handle[], Cvoid, (GLenum, GLenum, GLenum, Ptr{GLfloat}), texunit, target, pname, params) end +const glMultiTexImage1DEXT_handle = Ref{Ptr{Cvoid}}() + function glMultiTexImage1DEXT(texunit, target, level, internalformat, width, border, format, type, pixels) - ccall(getprocaddress_e("glMultiTexImage1DEXT"), Cvoid, (GLenum, GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, internalformat, width, border, format, type, pixels) + glMultiTexImage1DEXT_handle[] == C_NULL && (glMultiTexImage1DEXT_handle[] = getprocaddress_e("glMultiTexImage1DEXT")) + ccall(glMultiTexImage1DEXT_handle[], Cvoid, (GLenum, GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, internalformat, width, border, format, type, pixels) end +const glMultiTexImage2DEXT_handle = Ref{Ptr{Cvoid}}() + function glMultiTexImage2DEXT(texunit, target, level, internalformat, width, height, border, format, type, pixels) - ccall(getprocaddress_e("glMultiTexImage2DEXT"), Cvoid, (GLenum, GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, internalformat, width, height, border, format, type, pixels) + glMultiTexImage2DEXT_handle[] == C_NULL && (glMultiTexImage2DEXT_handle[] = getprocaddress_e("glMultiTexImage2DEXT")) + ccall(glMultiTexImage2DEXT_handle[], Cvoid, (GLenum, GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, internalformat, width, height, border, format, type, pixels) end +const glMultiTexSubImage1DEXT_handle = Ref{Ptr{Cvoid}}() + function glMultiTexSubImage1DEXT(texunit, target, level, xoffset, width, format, type, pixels) - ccall(getprocaddress_e("glMultiTexSubImage1DEXT"), Cvoid, (GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, xoffset, width, format, type, pixels) + glMultiTexSubImage1DEXT_handle[] == C_NULL && (glMultiTexSubImage1DEXT_handle[] = getprocaddress_e("glMultiTexSubImage1DEXT")) + ccall(glMultiTexSubImage1DEXT_handle[], Cvoid, (GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, xoffset, width, format, type, pixels) end +const glMultiTexSubImage2DEXT_handle = Ref{Ptr{Cvoid}}() + function glMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, width, height, format, type, pixels) - ccall(getprocaddress_e("glMultiTexSubImage2DEXT"), Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, xoffset, yoffset, width, height, format, type, pixels) + glMultiTexSubImage2DEXT_handle[] == C_NULL && (glMultiTexSubImage2DEXT_handle[] = getprocaddress_e("glMultiTexSubImage2DEXT")) + ccall(glMultiTexSubImage2DEXT_handle[], Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, xoffset, yoffset, width, height, format, type, pixels) end +const glCopyMultiTexImage1DEXT_handle = Ref{Ptr{Cvoid}}() + function glCopyMultiTexImage1DEXT(texunit, target, level, internalformat, x, y, width, border) - ccall(getprocaddress_e("glCopyMultiTexImage1DEXT"), Cvoid, (GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint), texunit, target, level, internalformat, x, y, width, border) + glCopyMultiTexImage1DEXT_handle[] == C_NULL && (glCopyMultiTexImage1DEXT_handle[] = getprocaddress_e("glCopyMultiTexImage1DEXT")) + ccall(glCopyMultiTexImage1DEXT_handle[], Cvoid, (GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint), texunit, target, level, internalformat, x, y, width, border) end +const glCopyMultiTexImage2DEXT_handle = Ref{Ptr{Cvoid}}() + function glCopyMultiTexImage2DEXT(texunit, target, level, internalformat, x, y, width, height, border) - ccall(getprocaddress_e("glCopyMultiTexImage2DEXT"), Cvoid, (GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint), texunit, target, level, internalformat, x, y, width, height, border) + glCopyMultiTexImage2DEXT_handle[] == C_NULL && (glCopyMultiTexImage2DEXT_handle[] = getprocaddress_e("glCopyMultiTexImage2DEXT")) + ccall(glCopyMultiTexImage2DEXT_handle[], Cvoid, (GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint), texunit, target, level, internalformat, x, y, width, height, border) end +const glCopyMultiTexSubImage1DEXT_handle = Ref{Ptr{Cvoid}}() + function glCopyMultiTexSubImage1DEXT(texunit, target, level, xoffset, x, y, width) - ccall(getprocaddress_e("glCopyMultiTexSubImage1DEXT"), Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei), texunit, target, level, xoffset, x, y, width) + glCopyMultiTexSubImage1DEXT_handle[] == C_NULL && (glCopyMultiTexSubImage1DEXT_handle[] = getprocaddress_e("glCopyMultiTexSubImage1DEXT")) + ccall(glCopyMultiTexSubImage1DEXT_handle[], Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei), texunit, target, level, xoffset, x, y, width) end +const glCopyMultiTexSubImage2DEXT_handle = Ref{Ptr{Cvoid}}() + function glCopyMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, x, y, width, height) - ccall(getprocaddress_e("glCopyMultiTexSubImage2DEXT"), Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), texunit, target, level, xoffset, yoffset, x, y, width, height) + glCopyMultiTexSubImage2DEXT_handle[] == C_NULL && (glCopyMultiTexSubImage2DEXT_handle[] = getprocaddress_e("glCopyMultiTexSubImage2DEXT")) + ccall(glCopyMultiTexSubImage2DEXT_handle[], Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), texunit, target, level, xoffset, yoffset, x, y, width, height) end +const glGetMultiTexImageEXT_handle = Ref{Ptr{Cvoid}}() + function glGetMultiTexImageEXT(texunit, target, level, format, type, pixels) - ccall(getprocaddress_e("glGetMultiTexImageEXT"), Cvoid, (GLenum, GLenum, GLint, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, format, type, pixels) + glGetMultiTexImageEXT_handle[] == C_NULL && (glGetMultiTexImageEXT_handle[] = getprocaddress_e("glGetMultiTexImageEXT")) + ccall(glGetMultiTexImageEXT_handle[], Cvoid, (GLenum, GLenum, GLint, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, format, type, pixels) end +const glGetMultiTexParameterfvEXT_handle = Ref{Ptr{Cvoid}}() + function glGetMultiTexParameterfvEXT(texunit, target, pname, params) - ccall(getprocaddress_e("glGetMultiTexParameterfvEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLfloat}), texunit, target, pname, params) + glGetMultiTexParameterfvEXT_handle[] == C_NULL && (glGetMultiTexParameterfvEXT_handle[] = getprocaddress_e("glGetMultiTexParameterfvEXT")) + ccall(glGetMultiTexParameterfvEXT_handle[], Cvoid, (GLenum, GLenum, GLenum, Ptr{GLfloat}), texunit, target, pname, params) end +const glGetMultiTexParameterivEXT_handle = Ref{Ptr{Cvoid}}() + function glGetMultiTexParameterivEXT(texunit, target, pname, params) - ccall(getprocaddress_e("glGetMultiTexParameterivEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, target, pname, params) + glGetMultiTexParameterivEXT_handle[] == C_NULL && (glGetMultiTexParameterivEXT_handle[] = getprocaddress_e("glGetMultiTexParameterivEXT")) + ccall(glGetMultiTexParameterivEXT_handle[], Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, target, pname, params) end +const glGetMultiTexLevelParameterfvEXT_handle = Ref{Ptr{Cvoid}}() + function glGetMultiTexLevelParameterfvEXT(texunit, target, level, pname, params) - ccall(getprocaddress_e("glGetMultiTexLevelParameterfvEXT"), Cvoid, (GLenum, GLenum, GLint, GLenum, Ptr{GLfloat}), texunit, target, level, pname, params) + glGetMultiTexLevelParameterfvEXT_handle[] == C_NULL && (glGetMultiTexLevelParameterfvEXT_handle[] = getprocaddress_e("glGetMultiTexLevelParameterfvEXT")) + ccall(glGetMultiTexLevelParameterfvEXT_handle[], Cvoid, (GLenum, GLenum, GLint, GLenum, Ptr{GLfloat}), texunit, target, level, pname, params) end +const glGetMultiTexLevelParameterivEXT_handle = Ref{Ptr{Cvoid}}() + function glGetMultiTexLevelParameterivEXT(texunit, target, level, pname, params) - ccall(getprocaddress_e("glGetMultiTexLevelParameterivEXT"), Cvoid, (GLenum, GLenum, GLint, GLenum, Ptr{GLint}), texunit, target, level, pname, params) + glGetMultiTexLevelParameterivEXT_handle[] == C_NULL && (glGetMultiTexLevelParameterivEXT_handle[] = getprocaddress_e("glGetMultiTexLevelParameterivEXT")) + ccall(glGetMultiTexLevelParameterivEXT_handle[], Cvoid, (GLenum, GLenum, GLint, GLenum, Ptr{GLint}), texunit, target, level, pname, params) end +const glMultiTexImage3DEXT_handle = Ref{Ptr{Cvoid}}() + function glMultiTexImage3DEXT(texunit, target, level, internalformat, width, height, depth, border, format, type, pixels) - ccall(getprocaddress_e("glMultiTexImage3DEXT"), Cvoid, (GLenum, GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, internalformat, width, height, depth, border, format, type, pixels) + glMultiTexImage3DEXT_handle[] == C_NULL && (glMultiTexImage3DEXT_handle[] = getprocaddress_e("glMultiTexImage3DEXT")) + ccall(glMultiTexImage3DEXT_handle[], Cvoid, (GLenum, GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, internalformat, width, height, depth, border, format, type, pixels) end +const glMultiTexSubImage3DEXT_handle = Ref{Ptr{Cvoid}}() + function glMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) - ccall(getprocaddress_e("glMultiTexSubImage3DEXT"), Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) + glMultiTexSubImage3DEXT_handle[] == C_NULL && (glMultiTexSubImage3DEXT_handle[] = getprocaddress_e("glMultiTexSubImage3DEXT")) + ccall(glMultiTexSubImage3DEXT_handle[], Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, Ptr{Cvoid}), texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) end +const glCopyMultiTexSubImage3DEXT_handle = Ref{Ptr{Cvoid}}() + function glCopyMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, x, y, width, height) - ccall(getprocaddress_e("glCopyMultiTexSubImage3DEXT"), Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), texunit, target, level, xoffset, yoffset, zoffset, x, y, width, height) + glCopyMultiTexSubImage3DEXT_handle[] == C_NULL && (glCopyMultiTexSubImage3DEXT_handle[] = getprocaddress_e("glCopyMultiTexSubImage3DEXT")) + ccall(glCopyMultiTexSubImage3DEXT_handle[], Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei), texunit, target, level, xoffset, yoffset, zoffset, x, y, width, height) end +const glEnableClientStateIndexedEXT_handle = Ref{Ptr{Cvoid}}() + function glEnableClientStateIndexedEXT(array, index) - ccall(getprocaddress_e("glEnableClientStateIndexedEXT"), Cvoid, (GLenum, GLuint), array, index) + glEnableClientStateIndexedEXT_handle[] == C_NULL && (glEnableClientStateIndexedEXT_handle[] = getprocaddress_e("glEnableClientStateIndexedEXT")) + ccall(glEnableClientStateIndexedEXT_handle[], Cvoid, (GLenum, GLuint), array, index) end +const glDisableClientStateIndexedEXT_handle = Ref{Ptr{Cvoid}}() + function glDisableClientStateIndexedEXT(array, index) - ccall(getprocaddress_e("glDisableClientStateIndexedEXT"), Cvoid, (GLenum, GLuint), array, index) + glDisableClientStateIndexedEXT_handle[] == C_NULL && (glDisableClientStateIndexedEXT_handle[] = getprocaddress_e("glDisableClientStateIndexedEXT")) + ccall(glDisableClientStateIndexedEXT_handle[], Cvoid, (GLenum, GLuint), array, index) end +const glGetFloatIndexedvEXT_handle = Ref{Ptr{Cvoid}}() + function glGetFloatIndexedvEXT(target, index, data) - ccall(getprocaddress_e("glGetFloatIndexedvEXT"), Cvoid, (GLenum, GLuint, Ptr{GLfloat}), target, index, data) + glGetFloatIndexedvEXT_handle[] == C_NULL && (glGetFloatIndexedvEXT_handle[] = getprocaddress_e("glGetFloatIndexedvEXT")) + ccall(glGetFloatIndexedvEXT_handle[], Cvoid, (GLenum, GLuint, Ptr{GLfloat}), target, index, data) end +const glGetDoubleIndexedvEXT_handle = Ref{Ptr{Cvoid}}() + function glGetDoubleIndexedvEXT(target, index, data) - ccall(getprocaddress_e("glGetDoubleIndexedvEXT"), Cvoid, (GLenum, GLuint, Ptr{GLdouble}), target, index, data) + glGetDoubleIndexedvEXT_handle[] == C_NULL && (glGetDoubleIndexedvEXT_handle[] = getprocaddress_e("glGetDoubleIndexedvEXT")) + ccall(glGetDoubleIndexedvEXT_handle[], Cvoid, (GLenum, GLuint, Ptr{GLdouble}), target, index, data) end +const glGetPointerIndexedvEXT_handle = Ref{Ptr{Cvoid}}() + function glGetPointerIndexedvEXT(target, index, data) - ccall(getprocaddress_e("glGetPointerIndexedvEXT"), Cvoid, (GLenum, GLuint, Ptr{Ptr{Cvoid}}), target, index, data) + glGetPointerIndexedvEXT_handle[] == C_NULL && (glGetPointerIndexedvEXT_handle[] = getprocaddress_e("glGetPointerIndexedvEXT")) + ccall(glGetPointerIndexedvEXT_handle[], Cvoid, (GLenum, GLuint, Ptr{Ptr{Cvoid}}), target, index, data) end +const glEnableIndexedEXT_handle = Ref{Ptr{Cvoid}}() + function glEnableIndexedEXT(target, index) - ccall(getprocaddress_e("glEnableIndexedEXT"), Cvoid, (GLenum, GLuint), target, index) + glEnableIndexedEXT_handle[] == C_NULL && (glEnableIndexedEXT_handle[] = getprocaddress_e("glEnableIndexedEXT")) + ccall(glEnableIndexedEXT_handle[], Cvoid, (GLenum, GLuint), target, index) end +const glDisableIndexedEXT_handle = Ref{Ptr{Cvoid}}() + function glDisableIndexedEXT(target, index) - ccall(getprocaddress_e("glDisableIndexedEXT"), Cvoid, (GLenum, GLuint), target, index) + glDisableIndexedEXT_handle[] == C_NULL && (glDisableIndexedEXT_handle[] = getprocaddress_e("glDisableIndexedEXT")) + ccall(glDisableIndexedEXT_handle[], Cvoid, (GLenum, GLuint), target, index) end +const glIsEnabledIndexedEXT_handle = Ref{Ptr{Cvoid}}() + function glIsEnabledIndexedEXT(target, index) - ccall(getprocaddress_e("glIsEnabledIndexedEXT"), GLboolean, (GLenum, GLuint), target, index) + glIsEnabledIndexedEXT_handle[] == C_NULL && (glIsEnabledIndexedEXT_handle[] = getprocaddress_e("glIsEnabledIndexedEXT")) + ccall(glIsEnabledIndexedEXT_handle[], GLboolean, (GLenum, GLuint), target, index) end +const glGetIntegerIndexedvEXT_handle = Ref{Ptr{Cvoid}}() + function glGetIntegerIndexedvEXT(target, index, data) - ccall(getprocaddress_e("glGetIntegerIndexedvEXT"), Cvoid, (GLenum, GLuint, Ptr{GLint}), target, index, data) + glGetIntegerIndexedvEXT_handle[] == C_NULL && (glGetIntegerIndexedvEXT_handle[] = getprocaddress_e("glGetIntegerIndexedvEXT")) + ccall(glGetIntegerIndexedvEXT_handle[], Cvoid, (GLenum, GLuint, Ptr{GLint}), target, index, data) end +const glGetBooleanIndexedvEXT_handle = Ref{Ptr{Cvoid}}() + function glGetBooleanIndexedvEXT(target, index, data) - ccall(getprocaddress_e("glGetBooleanIndexedvEXT"), Cvoid, (GLenum, GLuint, Ptr{GLboolean}), target, index, data) + glGetBooleanIndexedvEXT_handle[] == C_NULL && (glGetBooleanIndexedvEXT_handle[] = getprocaddress_e("glGetBooleanIndexedvEXT")) + ccall(glGetBooleanIndexedvEXT_handle[], Cvoid, (GLenum, GLuint, Ptr{GLboolean}), target, index, data) end +const glCompressedTextureImage3DEXT_handle = Ref{Ptr{Cvoid}}() + function glCompressedTextureImage3DEXT(texture, target, level, internalformat, width, height, depth, border, imageSize, bits) - ccall(getprocaddress_e("glCompressedTextureImage3DEXT"), Cvoid, (GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, Ptr{Cvoid}), texture, target, level, internalformat, width, height, depth, border, imageSize, bits) + glCompressedTextureImage3DEXT_handle[] == C_NULL && (glCompressedTextureImage3DEXT_handle[] = getprocaddress_e("glCompressedTextureImage3DEXT")) + ccall(glCompressedTextureImage3DEXT_handle[], Cvoid, (GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, Ptr{Cvoid}), texture, target, level, internalformat, width, height, depth, border, imageSize, bits) end +const glCompressedTextureImage2DEXT_handle = Ref{Ptr{Cvoid}}() + function glCompressedTextureImage2DEXT(texture, target, level, internalformat, width, height, border, imageSize, bits) - ccall(getprocaddress_e("glCompressedTextureImage2DEXT"), Cvoid, (GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, Ptr{Cvoid}), texture, target, level, internalformat, width, height, border, imageSize, bits) + glCompressedTextureImage2DEXT_handle[] == C_NULL && (glCompressedTextureImage2DEXT_handle[] = getprocaddress_e("glCompressedTextureImage2DEXT")) + ccall(glCompressedTextureImage2DEXT_handle[], Cvoid, (GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, Ptr{Cvoid}), texture, target, level, internalformat, width, height, border, imageSize, bits) end +const glCompressedTextureImage1DEXT_handle = Ref{Ptr{Cvoid}}() + function glCompressedTextureImage1DEXT(texture, target, level, internalformat, width, border, imageSize, bits) - ccall(getprocaddress_e("glCompressedTextureImage1DEXT"), Cvoid, (GLuint, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, Ptr{Cvoid}), texture, target, level, internalformat, width, border, imageSize, bits) + glCompressedTextureImage1DEXT_handle[] == C_NULL && (glCompressedTextureImage1DEXT_handle[] = getprocaddress_e("glCompressedTextureImage1DEXT")) + ccall(glCompressedTextureImage1DEXT_handle[], Cvoid, (GLuint, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, Ptr{Cvoid}), texture, target, level, internalformat, width, border, imageSize, bits) end +const glCompressedTextureSubImage3DEXT_handle = Ref{Ptr{Cvoid}}() + function glCompressedTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits) - ccall(getprocaddress_e("glCompressedTextureSubImage3DEXT"), Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits) + glCompressedTextureSubImage3DEXT_handle[] == C_NULL && (glCompressedTextureSubImage3DEXT_handle[] = getprocaddress_e("glCompressedTextureSubImage3DEXT")) + ccall(glCompressedTextureSubImage3DEXT_handle[], Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits) end +const glCompressedTextureSubImage2DEXT_handle = Ref{Ptr{Cvoid}}() + function glCompressedTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, width, height, format, imageSize, bits) - ccall(getprocaddress_e("glCompressedTextureSubImage2DEXT"), Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texture, target, level, xoffset, yoffset, width, height, format, imageSize, bits) + glCompressedTextureSubImage2DEXT_handle[] == C_NULL && (glCompressedTextureSubImage2DEXT_handle[] = getprocaddress_e("glCompressedTextureSubImage2DEXT")) + ccall(glCompressedTextureSubImage2DEXT_handle[], Cvoid, (GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texture, target, level, xoffset, yoffset, width, height, format, imageSize, bits) end +const glCompressedTextureSubImage1DEXT_handle = Ref{Ptr{Cvoid}}() + function glCompressedTextureSubImage1DEXT(texture, target, level, xoffset, width, format, imageSize, bits) - ccall(getprocaddress_e("glCompressedTextureSubImage1DEXT"), Cvoid, (GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texture, target, level, xoffset, width, format, imageSize, bits) + glCompressedTextureSubImage1DEXT_handle[] == C_NULL && (glCompressedTextureSubImage1DEXT_handle[] = getprocaddress_e("glCompressedTextureSubImage1DEXT")) + ccall(glCompressedTextureSubImage1DEXT_handle[], Cvoid, (GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texture, target, level, xoffset, width, format, imageSize, bits) end +const glGetCompressedTextureImageEXT_handle = Ref{Ptr{Cvoid}}() + function glGetCompressedTextureImageEXT(texture, target, lod, img) - ccall(getprocaddress_e("glGetCompressedTextureImageEXT"), Cvoid, (GLuint, GLenum, GLint, Ptr{Cvoid}), texture, target, lod, img) + glGetCompressedTextureImageEXT_handle[] == C_NULL && (glGetCompressedTextureImageEXT_handle[] = getprocaddress_e("glGetCompressedTextureImageEXT")) + ccall(glGetCompressedTextureImageEXT_handle[], Cvoid, (GLuint, GLenum, GLint, Ptr{Cvoid}), texture, target, lod, img) end +const glCompressedMultiTexImage3DEXT_handle = Ref{Ptr{Cvoid}}() + function glCompressedMultiTexImage3DEXT(texunit, target, level, internalformat, width, height, depth, border, imageSize, bits) - ccall(getprocaddress_e("glCompressedMultiTexImage3DEXT"), Cvoid, (GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, Ptr{Cvoid}), texunit, target, level, internalformat, width, height, depth, border, imageSize, bits) + glCompressedMultiTexImage3DEXT_handle[] == C_NULL && (glCompressedMultiTexImage3DEXT_handle[] = getprocaddress_e("glCompressedMultiTexImage3DEXT")) + ccall(glCompressedMultiTexImage3DEXT_handle[], Cvoid, (GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, Ptr{Cvoid}), texunit, target, level, internalformat, width, height, depth, border, imageSize, bits) end +const glCompressedMultiTexImage2DEXT_handle = Ref{Ptr{Cvoid}}() + function glCompressedMultiTexImage2DEXT(texunit, target, level, internalformat, width, height, border, imageSize, bits) - ccall(getprocaddress_e("glCompressedMultiTexImage2DEXT"), Cvoid, (GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, Ptr{Cvoid}), texunit, target, level, internalformat, width, height, border, imageSize, bits) + glCompressedMultiTexImage2DEXT_handle[] == C_NULL && (glCompressedMultiTexImage2DEXT_handle[] = getprocaddress_e("glCompressedMultiTexImage2DEXT")) + ccall(glCompressedMultiTexImage2DEXT_handle[], Cvoid, (GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, Ptr{Cvoid}), texunit, target, level, internalformat, width, height, border, imageSize, bits) end +const glCompressedMultiTexImage1DEXT_handle = Ref{Ptr{Cvoid}}() + function glCompressedMultiTexImage1DEXT(texunit, target, level, internalformat, width, border, imageSize, bits) - ccall(getprocaddress_e("glCompressedMultiTexImage1DEXT"), Cvoid, (GLenum, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, Ptr{Cvoid}), texunit, target, level, internalformat, width, border, imageSize, bits) + glCompressedMultiTexImage1DEXT_handle[] == C_NULL && (glCompressedMultiTexImage1DEXT_handle[] = getprocaddress_e("glCompressedMultiTexImage1DEXT")) + ccall(glCompressedMultiTexImage1DEXT_handle[], Cvoid, (GLenum, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, Ptr{Cvoid}), texunit, target, level, internalformat, width, border, imageSize, bits) end +const glCompressedMultiTexSubImage3DEXT_handle = Ref{Ptr{Cvoid}}() + function glCompressedMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits) - ccall(getprocaddress_e("glCompressedMultiTexSubImage3DEXT"), Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits) + glCompressedMultiTexSubImage3DEXT_handle[] == C_NULL && (glCompressedMultiTexSubImage3DEXT_handle[] = getprocaddress_e("glCompressedMultiTexSubImage3DEXT")) + ccall(glCompressedMultiTexSubImage3DEXT_handle[], Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits) end +const glCompressedMultiTexSubImage2DEXT_handle = Ref{Ptr{Cvoid}}() + function glCompressedMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, width, height, format, imageSize, bits) - ccall(getprocaddress_e("glCompressedMultiTexSubImage2DEXT"), Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texunit, target, level, xoffset, yoffset, width, height, format, imageSize, bits) + glCompressedMultiTexSubImage2DEXT_handle[] == C_NULL && (glCompressedMultiTexSubImage2DEXT_handle[] = getprocaddress_e("glCompressedMultiTexSubImage2DEXT")) + ccall(glCompressedMultiTexSubImage2DEXT_handle[], Cvoid, (GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texunit, target, level, xoffset, yoffset, width, height, format, imageSize, bits) end +const glCompressedMultiTexSubImage1DEXT_handle = Ref{Ptr{Cvoid}}() + function glCompressedMultiTexSubImage1DEXT(texunit, target, level, xoffset, width, format, imageSize, bits) - ccall(getprocaddress_e("glCompressedMultiTexSubImage1DEXT"), Cvoid, (GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texunit, target, level, xoffset, width, format, imageSize, bits) + glCompressedMultiTexSubImage1DEXT_handle[] == C_NULL && (glCompressedMultiTexSubImage1DEXT_handle[] = getprocaddress_e("glCompressedMultiTexSubImage1DEXT")) + ccall(glCompressedMultiTexSubImage1DEXT_handle[], Cvoid, (GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, Ptr{Cvoid}), texunit, target, level, xoffset, width, format, imageSize, bits) end +const glGetCompressedMultiTexImageEXT_handle = Ref{Ptr{Cvoid}}() + function glGetCompressedMultiTexImageEXT(texunit, target, lod, img) - ccall(getprocaddress_e("glGetCompressedMultiTexImageEXT"), Cvoid, (GLenum, GLenum, GLint, Ptr{Cvoid}), texunit, target, lod, img) + glGetCompressedMultiTexImageEXT_handle[] == C_NULL && (glGetCompressedMultiTexImageEXT_handle[] = getprocaddress_e("glGetCompressedMultiTexImageEXT")) + ccall(glGetCompressedMultiTexImageEXT_handle[], Cvoid, (GLenum, GLenum, GLint, Ptr{Cvoid}), texunit, target, lod, img) end +const glMatrixLoadTransposefEXT_handle = Ref{Ptr{Cvoid}}() + function glMatrixLoadTransposefEXT(mode, m) - ccall(getprocaddress_e("glMatrixLoadTransposefEXT"), Cvoid, (GLenum, Ptr{GLfloat}), mode, m) + glMatrixLoadTransposefEXT_handle[] == C_NULL && (glMatrixLoadTransposefEXT_handle[] = getprocaddress_e("glMatrixLoadTransposefEXT")) + ccall(glMatrixLoadTransposefEXT_handle[], Cvoid, (GLenum, Ptr{GLfloat}), mode, m) end +const glMatrixLoadTransposedEXT_handle = Ref{Ptr{Cvoid}}() + function glMatrixLoadTransposedEXT(mode, m) - ccall(getprocaddress_e("glMatrixLoadTransposedEXT"), Cvoid, (GLenum, Ptr{GLdouble}), mode, m) + glMatrixLoadTransposedEXT_handle[] == C_NULL && (glMatrixLoadTransposedEXT_handle[] = getprocaddress_e("glMatrixLoadTransposedEXT")) + ccall(glMatrixLoadTransposedEXT_handle[], Cvoid, (GLenum, Ptr{GLdouble}), mode, m) end +const glMatrixMultTransposefEXT_handle = Ref{Ptr{Cvoid}}() + function glMatrixMultTransposefEXT(mode, m) - ccall(getprocaddress_e("glMatrixMultTransposefEXT"), Cvoid, (GLenum, Ptr{GLfloat}), mode, m) + glMatrixMultTransposefEXT_handle[] == C_NULL && (glMatrixMultTransposefEXT_handle[] = getprocaddress_e("glMatrixMultTransposefEXT")) + ccall(glMatrixMultTransposefEXT_handle[], Cvoid, (GLenum, Ptr{GLfloat}), mode, m) end +const glMatrixMultTransposedEXT_handle = Ref{Ptr{Cvoid}}() + function glMatrixMultTransposedEXT(mode, m) - ccall(getprocaddress_e("glMatrixMultTransposedEXT"), Cvoid, (GLenum, Ptr{GLdouble}), mode, m) + glMatrixMultTransposedEXT_handle[] == C_NULL && (glMatrixMultTransposedEXT_handle[] = getprocaddress_e("glMatrixMultTransposedEXT")) + ccall(glMatrixMultTransposedEXT_handle[], Cvoid, (GLenum, Ptr{GLdouble}), mode, m) end +const glNamedBufferDataEXT_handle = Ref{Ptr{Cvoid}}() + function glNamedBufferDataEXT(buffer, size, data, usage) - ccall(getprocaddress_e("glNamedBufferDataEXT"), Cvoid, (GLuint, GLsizeiptr, Ptr{Cvoid}, GLenum), buffer, size, data, usage) + glNamedBufferDataEXT_handle[] == C_NULL && (glNamedBufferDataEXT_handle[] = getprocaddress_e("glNamedBufferDataEXT")) + ccall(glNamedBufferDataEXT_handle[], Cvoid, (GLuint, GLsizeiptr, Ptr{Cvoid}, GLenum), buffer, size, data, usage) end +const glNamedBufferSubDataEXT_handle = Ref{Ptr{Cvoid}}() + function glNamedBufferSubDataEXT(buffer, offset, size, data) - ccall(getprocaddress_e("glNamedBufferSubDataEXT"), Cvoid, (GLuint, GLintptr, GLsizeiptr, Ptr{Cvoid}), buffer, offset, size, data) + glNamedBufferSubDataEXT_handle[] == C_NULL && (glNamedBufferSubDataEXT_handle[] = getprocaddress_e("glNamedBufferSubDataEXT")) + ccall(glNamedBufferSubDataEXT_handle[], Cvoid, (GLuint, GLintptr, GLsizeiptr, Ptr{Cvoid}), buffer, offset, size, data) end +const glMapNamedBufferEXT_handle = Ref{Ptr{Cvoid}}() + function glMapNamedBufferEXT(buffer, access) - ccall(getprocaddress_e("glMapNamedBufferEXT"), Ptr{Cvoid}, (GLuint, GLenum), buffer, access) + glMapNamedBufferEXT_handle[] == C_NULL && (glMapNamedBufferEXT_handle[] = getprocaddress_e("glMapNamedBufferEXT")) + ccall(glMapNamedBufferEXT_handle[], Ptr{Cvoid}, (GLuint, GLenum), buffer, access) end +const glUnmapNamedBufferEXT_handle = Ref{Ptr{Cvoid}}() + function glUnmapNamedBufferEXT(buffer) - ccall(getprocaddress_e("glUnmapNamedBufferEXT"), GLboolean, (GLuint,), buffer) + glUnmapNamedBufferEXT_handle[] == C_NULL && (glUnmapNamedBufferEXT_handle[] = getprocaddress_e("glUnmapNamedBufferEXT")) + ccall(glUnmapNamedBufferEXT_handle[], GLboolean, (GLuint,), buffer) end +const glGetNamedBufferParameterivEXT_handle = Ref{Ptr{Cvoid}}() + function glGetNamedBufferParameterivEXT(buffer, pname, params) - ccall(getprocaddress_e("glGetNamedBufferParameterivEXT"), Cvoid, (GLuint, GLenum, Ptr{GLint}), buffer, pname, params) + glGetNamedBufferParameterivEXT_handle[] == C_NULL && (glGetNamedBufferParameterivEXT_handle[] = getprocaddress_e("glGetNamedBufferParameterivEXT")) + ccall(glGetNamedBufferParameterivEXT_handle[], Cvoid, (GLuint, GLenum, Ptr{GLint}), buffer, pname, params) end +const glGetNamedBufferPointervEXT_handle = Ref{Ptr{Cvoid}}() + function glGetNamedBufferPointervEXT(buffer, pname, params) - ccall(getprocaddress_e("glGetNamedBufferPointervEXT"), Cvoid, (GLuint, GLenum, Ptr{Ptr{Cvoid}}), buffer, pname, params) + glGetNamedBufferPointervEXT_handle[] == C_NULL && (glGetNamedBufferPointervEXT_handle[] = getprocaddress_e("glGetNamedBufferPointervEXT")) + ccall(glGetNamedBufferPointervEXT_handle[], Cvoid, (GLuint, GLenum, Ptr{Ptr{Cvoid}}), buffer, pname, params) end +const glGetNamedBufferSubDataEXT_handle = Ref{Ptr{Cvoid}}() + function glGetNamedBufferSubDataEXT(buffer, offset, size, data) - ccall(getprocaddress_e("glGetNamedBufferSubDataEXT"), Cvoid, (GLuint, GLintptr, GLsizeiptr, Ptr{Cvoid}), buffer, offset, size, data) + glGetNamedBufferSubDataEXT_handle[] == C_NULL && (glGetNamedBufferSubDataEXT_handle[] = getprocaddress_e("glGetNamedBufferSubDataEXT")) + ccall(glGetNamedBufferSubDataEXT_handle[], Cvoid, (GLuint, GLintptr, GLsizeiptr, Ptr{Cvoid}), buffer, offset, size, data) end +const glProgramUniform1fEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform1fEXT(program, location, v0) - ccall(getprocaddress_e("glProgramUniform1fEXT"), Cvoid, (GLuint, GLint, GLfloat), program, location, v0) + glProgramUniform1fEXT_handle[] == C_NULL && (glProgramUniform1fEXT_handle[] = getprocaddress_e("glProgramUniform1fEXT")) + ccall(glProgramUniform1fEXT_handle[], Cvoid, (GLuint, GLint, GLfloat), program, location, v0) end +const glProgramUniform2fEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform2fEXT(program, location, v0, v1) - ccall(getprocaddress_e("glProgramUniform2fEXT"), Cvoid, (GLuint, GLint, GLfloat, GLfloat), program, location, v0, v1) + glProgramUniform2fEXT_handle[] == C_NULL && (glProgramUniform2fEXT_handle[] = getprocaddress_e("glProgramUniform2fEXT")) + ccall(glProgramUniform2fEXT_handle[], Cvoid, (GLuint, GLint, GLfloat, GLfloat), program, location, v0, v1) end +const glProgramUniform3fEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform3fEXT(program, location, v0, v1, v2) - ccall(getprocaddress_e("glProgramUniform3fEXT"), Cvoid, (GLuint, GLint, GLfloat, GLfloat, GLfloat), program, location, v0, v1, v2) + glProgramUniform3fEXT_handle[] == C_NULL && (glProgramUniform3fEXT_handle[] = getprocaddress_e("glProgramUniform3fEXT")) + ccall(glProgramUniform3fEXT_handle[], Cvoid, (GLuint, GLint, GLfloat, GLfloat, GLfloat), program, location, v0, v1, v2) end +const glProgramUniform4fEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform4fEXT(program, location, v0, v1, v2, v3) - ccall(getprocaddress_e("glProgramUniform4fEXT"), Cvoid, (GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat), program, location, v0, v1, v2, v3) + glProgramUniform4fEXT_handle[] == C_NULL && (glProgramUniform4fEXT_handle[] = getprocaddress_e("glProgramUniform4fEXT")) + ccall(glProgramUniform4fEXT_handle[], Cvoid, (GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat), program, location, v0, v1, v2, v3) end +const glProgramUniform1iEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform1iEXT(program, location, v0) - ccall(getprocaddress_e("glProgramUniform1iEXT"), Cvoid, (GLuint, GLint, GLint), program, location, v0) + glProgramUniform1iEXT_handle[] == C_NULL && (glProgramUniform1iEXT_handle[] = getprocaddress_e("glProgramUniform1iEXT")) + ccall(glProgramUniform1iEXT_handle[], Cvoid, (GLuint, GLint, GLint), program, location, v0) end +const glProgramUniform2iEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform2iEXT(program, location, v0, v1) - ccall(getprocaddress_e("glProgramUniform2iEXT"), Cvoid, (GLuint, GLint, GLint, GLint), program, location, v0, v1) + glProgramUniform2iEXT_handle[] == C_NULL && (glProgramUniform2iEXT_handle[] = getprocaddress_e("glProgramUniform2iEXT")) + ccall(glProgramUniform2iEXT_handle[], Cvoid, (GLuint, GLint, GLint, GLint), program, location, v0, v1) end +const glProgramUniform3iEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform3iEXT(program, location, v0, v1, v2) - ccall(getprocaddress_e("glProgramUniform3iEXT"), Cvoid, (GLuint, GLint, GLint, GLint, GLint), program, location, v0, v1, v2) + glProgramUniform3iEXT_handle[] == C_NULL && (glProgramUniform3iEXT_handle[] = getprocaddress_e("glProgramUniform3iEXT")) + ccall(glProgramUniform3iEXT_handle[], Cvoid, (GLuint, GLint, GLint, GLint, GLint), program, location, v0, v1, v2) end +const glProgramUniform4iEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform4iEXT(program, location, v0, v1, v2, v3) - ccall(getprocaddress_e("glProgramUniform4iEXT"), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLint), program, location, v0, v1, v2, v3) + glProgramUniform4iEXT_handle[] == C_NULL && (glProgramUniform4iEXT_handle[] = getprocaddress_e("glProgramUniform4iEXT")) + ccall(glProgramUniform4iEXT_handle[], Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLint), program, location, v0, v1, v2, v3) end +const glProgramUniform1fvEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform1fvEXT(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform1fvEXT"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) + glProgramUniform1fvEXT_handle[] == C_NULL && (glProgramUniform1fvEXT_handle[] = getprocaddress_e("glProgramUniform1fvEXT")) + ccall(glProgramUniform1fvEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) end +const glProgramUniform2fvEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform2fvEXT(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform2fvEXT"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) + glProgramUniform2fvEXT_handle[] == C_NULL && (glProgramUniform2fvEXT_handle[] = getprocaddress_e("glProgramUniform2fvEXT")) + ccall(glProgramUniform2fvEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) end +const glProgramUniform3fvEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform3fvEXT(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform3fvEXT"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) + glProgramUniform3fvEXT_handle[] == C_NULL && (glProgramUniform3fvEXT_handle[] = getprocaddress_e("glProgramUniform3fvEXT")) + ccall(glProgramUniform3fvEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) end +const glProgramUniform4fvEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform4fvEXT(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform4fvEXT"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) + glProgramUniform4fvEXT_handle[] == C_NULL && (glProgramUniform4fvEXT_handle[] = getprocaddress_e("glProgramUniform4fvEXT")) + ccall(glProgramUniform4fvEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLfloat}), program, location, count, value) end +const glProgramUniform1ivEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform1ivEXT(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform1ivEXT"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) + glProgramUniform1ivEXT_handle[] == C_NULL && (glProgramUniform1ivEXT_handle[] = getprocaddress_e("glProgramUniform1ivEXT")) + ccall(glProgramUniform1ivEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) end +const glProgramUniform2ivEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform2ivEXT(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform2ivEXT"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) + glProgramUniform2ivEXT_handle[] == C_NULL && (glProgramUniform2ivEXT_handle[] = getprocaddress_e("glProgramUniform2ivEXT")) + ccall(glProgramUniform2ivEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) end +const glProgramUniform3ivEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform3ivEXT(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform3ivEXT"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) + glProgramUniform3ivEXT_handle[] == C_NULL && (glProgramUniform3ivEXT_handle[] = getprocaddress_e("glProgramUniform3ivEXT")) + ccall(glProgramUniform3ivEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) end +const glProgramUniform4ivEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform4ivEXT(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform4ivEXT"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) + glProgramUniform4ivEXT_handle[] == C_NULL && (glProgramUniform4ivEXT_handle[] = getprocaddress_e("glProgramUniform4ivEXT")) + ccall(glProgramUniform4ivEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint}), program, location, count, value) end +const glProgramUniformMatrix2fvEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix2fvEXT(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix2fvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + glProgramUniformMatrix2fvEXT_handle[] == C_NULL && (glProgramUniformMatrix2fvEXT_handle[] = getprocaddress_e("glProgramUniformMatrix2fvEXT")) + ccall(glProgramUniformMatrix2fvEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end +const glProgramUniformMatrix3fvEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix3fvEXT(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix3fvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + glProgramUniformMatrix3fvEXT_handle[] == C_NULL && (glProgramUniformMatrix3fvEXT_handle[] = getprocaddress_e("glProgramUniformMatrix3fvEXT")) + ccall(glProgramUniformMatrix3fvEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end +const glProgramUniformMatrix4fvEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix4fvEXT(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix4fvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + glProgramUniformMatrix4fvEXT_handle[] == C_NULL && (glProgramUniformMatrix4fvEXT_handle[] = getprocaddress_e("glProgramUniformMatrix4fvEXT")) + ccall(glProgramUniformMatrix4fvEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end +const glProgramUniformMatrix2x3fvEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix2x3fvEXT(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix2x3fvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + glProgramUniformMatrix2x3fvEXT_handle[] == C_NULL && (glProgramUniformMatrix2x3fvEXT_handle[] = getprocaddress_e("glProgramUniformMatrix2x3fvEXT")) + ccall(glProgramUniformMatrix2x3fvEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end +const glProgramUniformMatrix3x2fvEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix3x2fvEXT(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix3x2fvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + glProgramUniformMatrix3x2fvEXT_handle[] == C_NULL && (glProgramUniformMatrix3x2fvEXT_handle[] = getprocaddress_e("glProgramUniformMatrix3x2fvEXT")) + ccall(glProgramUniformMatrix3x2fvEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end +const glProgramUniformMatrix2x4fvEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix2x4fvEXT(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix2x4fvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + glProgramUniformMatrix2x4fvEXT_handle[] == C_NULL && (glProgramUniformMatrix2x4fvEXT_handle[] = getprocaddress_e("glProgramUniformMatrix2x4fvEXT")) + ccall(glProgramUniformMatrix2x4fvEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end +const glProgramUniformMatrix4x2fvEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix4x2fvEXT(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix4x2fvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + glProgramUniformMatrix4x2fvEXT_handle[] == C_NULL && (glProgramUniformMatrix4x2fvEXT_handle[] = getprocaddress_e("glProgramUniformMatrix4x2fvEXT")) + ccall(glProgramUniformMatrix4x2fvEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end +const glProgramUniformMatrix3x4fvEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix3x4fvEXT(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix3x4fvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + glProgramUniformMatrix3x4fvEXT_handle[] == C_NULL && (glProgramUniformMatrix3x4fvEXT_handle[] = getprocaddress_e("glProgramUniformMatrix3x4fvEXT")) + ccall(glProgramUniformMatrix3x4fvEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end +const glProgramUniformMatrix4x3fvEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix4x3fvEXT(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix4x3fvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) + glProgramUniformMatrix4x3fvEXT_handle[] == C_NULL && (glProgramUniformMatrix4x3fvEXT_handle[] = getprocaddress_e("glProgramUniformMatrix4x3fvEXT")) + ccall(glProgramUniformMatrix4x3fvEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLfloat}), program, location, count, transpose, value) end +const glTextureBufferEXT_handle = Ref{Ptr{Cvoid}}() + function glTextureBufferEXT(texture, target, internalformat, buffer) - ccall(getprocaddress_e("glTextureBufferEXT"), Cvoid, (GLuint, GLenum, GLenum, GLuint), texture, target, internalformat, buffer) + glTextureBufferEXT_handle[] == C_NULL && (glTextureBufferEXT_handle[] = getprocaddress_e("glTextureBufferEXT")) + ccall(glTextureBufferEXT_handle[], Cvoid, (GLuint, GLenum, GLenum, GLuint), texture, target, internalformat, buffer) end +const glMultiTexBufferEXT_handle = Ref{Ptr{Cvoid}}() + function glMultiTexBufferEXT(texunit, target, internalformat, buffer) - ccall(getprocaddress_e("glMultiTexBufferEXT"), Cvoid, (GLenum, GLenum, GLenum, GLuint), texunit, target, internalformat, buffer) + glMultiTexBufferEXT_handle[] == C_NULL && (glMultiTexBufferEXT_handle[] = getprocaddress_e("glMultiTexBufferEXT")) + ccall(glMultiTexBufferEXT_handle[], Cvoid, (GLenum, GLenum, GLenum, GLuint), texunit, target, internalformat, buffer) end +const glTextureParameterIivEXT_handle = Ref{Ptr{Cvoid}}() + function glTextureParameterIivEXT(texture, target, pname, params) - ccall(getprocaddress_e("glTextureParameterIivEXT"), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), texture, target, pname, params) + glTextureParameterIivEXT_handle[] == C_NULL && (glTextureParameterIivEXT_handle[] = getprocaddress_e("glTextureParameterIivEXT")) + ccall(glTextureParameterIivEXT_handle[], Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), texture, target, pname, params) end +const glTextureParameterIuivEXT_handle = Ref{Ptr{Cvoid}}() + function glTextureParameterIuivEXT(texture, target, pname, params) - ccall(getprocaddress_e("glTextureParameterIuivEXT"), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLuint}), texture, target, pname, params) + glTextureParameterIuivEXT_handle[] == C_NULL && (glTextureParameterIuivEXT_handle[] = getprocaddress_e("glTextureParameterIuivEXT")) + ccall(glTextureParameterIuivEXT_handle[], Cvoid, (GLuint, GLenum, GLenum, Ptr{GLuint}), texture, target, pname, params) end +const glGetTextureParameterIivEXT_handle = Ref{Ptr{Cvoid}}() + function glGetTextureParameterIivEXT(texture, target, pname, params) - ccall(getprocaddress_e("glGetTextureParameterIivEXT"), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), texture, target, pname, params) + glGetTextureParameterIivEXT_handle[] == C_NULL && (glGetTextureParameterIivEXT_handle[] = getprocaddress_e("glGetTextureParameterIivEXT")) + ccall(glGetTextureParameterIivEXT_handle[], Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), texture, target, pname, params) end +const glGetTextureParameterIuivEXT_handle = Ref{Ptr{Cvoid}}() + function glGetTextureParameterIuivEXT(texture, target, pname, params) - ccall(getprocaddress_e("glGetTextureParameterIuivEXT"), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLuint}), texture, target, pname, params) + glGetTextureParameterIuivEXT_handle[] == C_NULL && (glGetTextureParameterIuivEXT_handle[] = getprocaddress_e("glGetTextureParameterIuivEXT")) + ccall(glGetTextureParameterIuivEXT_handle[], Cvoid, (GLuint, GLenum, GLenum, Ptr{GLuint}), texture, target, pname, params) end +const glMultiTexParameterIivEXT_handle = Ref{Ptr{Cvoid}}() + function glMultiTexParameterIivEXT(texunit, target, pname, params) - ccall(getprocaddress_e("glMultiTexParameterIivEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, target, pname, params) + glMultiTexParameterIivEXT_handle[] == C_NULL && (glMultiTexParameterIivEXT_handle[] = getprocaddress_e("glMultiTexParameterIivEXT")) + ccall(glMultiTexParameterIivEXT_handle[], Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, target, pname, params) end +const glMultiTexParameterIuivEXT_handle = Ref{Ptr{Cvoid}}() + function glMultiTexParameterIuivEXT(texunit, target, pname, params) - ccall(getprocaddress_e("glMultiTexParameterIuivEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLuint}), texunit, target, pname, params) + glMultiTexParameterIuivEXT_handle[] == C_NULL && (glMultiTexParameterIuivEXT_handle[] = getprocaddress_e("glMultiTexParameterIuivEXT")) + ccall(glMultiTexParameterIuivEXT_handle[], Cvoid, (GLenum, GLenum, GLenum, Ptr{GLuint}), texunit, target, pname, params) end +const glGetMultiTexParameterIivEXT_handle = Ref{Ptr{Cvoid}}() + function glGetMultiTexParameterIivEXT(texunit, target, pname, params) - ccall(getprocaddress_e("glGetMultiTexParameterIivEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, target, pname, params) + glGetMultiTexParameterIivEXT_handle[] == C_NULL && (glGetMultiTexParameterIivEXT_handle[] = getprocaddress_e("glGetMultiTexParameterIivEXT")) + ccall(glGetMultiTexParameterIivEXT_handle[], Cvoid, (GLenum, GLenum, GLenum, Ptr{GLint}), texunit, target, pname, params) end +const glGetMultiTexParameterIuivEXT_handle = Ref{Ptr{Cvoid}}() + function glGetMultiTexParameterIuivEXT(texunit, target, pname, params) - ccall(getprocaddress_e("glGetMultiTexParameterIuivEXT"), Cvoid, (GLenum, GLenum, GLenum, Ptr{GLuint}), texunit, target, pname, params) + glGetMultiTexParameterIuivEXT_handle[] == C_NULL && (glGetMultiTexParameterIuivEXT_handle[] = getprocaddress_e("glGetMultiTexParameterIuivEXT")) + ccall(glGetMultiTexParameterIuivEXT_handle[], Cvoid, (GLenum, GLenum, GLenum, Ptr{GLuint}), texunit, target, pname, params) end +const glProgramUniform1uiEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform1uiEXT(program, location, v0) - ccall(getprocaddress_e("glProgramUniform1uiEXT"), Cvoid, (GLuint, GLint, GLuint), program, location, v0) + glProgramUniform1uiEXT_handle[] == C_NULL && (glProgramUniform1uiEXT_handle[] = getprocaddress_e("glProgramUniform1uiEXT")) + ccall(glProgramUniform1uiEXT_handle[], Cvoid, (GLuint, GLint, GLuint), program, location, v0) end +const glProgramUniform2uiEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform2uiEXT(program, location, v0, v1) - ccall(getprocaddress_e("glProgramUniform2uiEXT"), Cvoid, (GLuint, GLint, GLuint, GLuint), program, location, v0, v1) + glProgramUniform2uiEXT_handle[] == C_NULL && (glProgramUniform2uiEXT_handle[] = getprocaddress_e("glProgramUniform2uiEXT")) + ccall(glProgramUniform2uiEXT_handle[], Cvoid, (GLuint, GLint, GLuint, GLuint), program, location, v0, v1) end +const glProgramUniform3uiEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform3uiEXT(program, location, v0, v1, v2) - ccall(getprocaddress_e("glProgramUniform3uiEXT"), Cvoid, (GLuint, GLint, GLuint, GLuint, GLuint), program, location, v0, v1, v2) + glProgramUniform3uiEXT_handle[] == C_NULL && (glProgramUniform3uiEXT_handle[] = getprocaddress_e("glProgramUniform3uiEXT")) + ccall(glProgramUniform3uiEXT_handle[], Cvoid, (GLuint, GLint, GLuint, GLuint, GLuint), program, location, v0, v1, v2) end +const glProgramUniform4uiEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform4uiEXT(program, location, v0, v1, v2, v3) - ccall(getprocaddress_e("glProgramUniform4uiEXT"), Cvoid, (GLuint, GLint, GLuint, GLuint, GLuint, GLuint), program, location, v0, v1, v2, v3) + glProgramUniform4uiEXT_handle[] == C_NULL && (glProgramUniform4uiEXT_handle[] = getprocaddress_e("glProgramUniform4uiEXT")) + ccall(glProgramUniform4uiEXT_handle[], Cvoid, (GLuint, GLint, GLuint, GLuint, GLuint, GLuint), program, location, v0, v1, v2, v3) end +const glProgramUniform1uivEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform1uivEXT(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform1uivEXT"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) + glProgramUniform1uivEXT_handle[] == C_NULL && (glProgramUniform1uivEXT_handle[] = getprocaddress_e("glProgramUniform1uivEXT")) + ccall(glProgramUniform1uivEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) end +const glProgramUniform2uivEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform2uivEXT(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform2uivEXT"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) + glProgramUniform2uivEXT_handle[] == C_NULL && (glProgramUniform2uivEXT_handle[] = getprocaddress_e("glProgramUniform2uivEXT")) + ccall(glProgramUniform2uivEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) end +const glProgramUniform3uivEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform3uivEXT(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform3uivEXT"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) + glProgramUniform3uivEXT_handle[] == C_NULL && (glProgramUniform3uivEXT_handle[] = getprocaddress_e("glProgramUniform3uivEXT")) + ccall(glProgramUniform3uivEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) end +const glProgramUniform4uivEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform4uivEXT(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform4uivEXT"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) + glProgramUniform4uivEXT_handle[] == C_NULL && (glProgramUniform4uivEXT_handle[] = getprocaddress_e("glProgramUniform4uivEXT")) + ccall(glProgramUniform4uivEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint}), program, location, count, value) end +const glNamedProgramLocalParameters4fvEXT_handle = Ref{Ptr{Cvoid}}() + function glNamedProgramLocalParameters4fvEXT(program, target, index, count, params) - ccall(getprocaddress_e("glNamedProgramLocalParameters4fvEXT"), Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLfloat}), program, target, index, count, params) + glNamedProgramLocalParameters4fvEXT_handle[] == C_NULL && (glNamedProgramLocalParameters4fvEXT_handle[] = getprocaddress_e("glNamedProgramLocalParameters4fvEXT")) + ccall(glNamedProgramLocalParameters4fvEXT_handle[], Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLfloat}), program, target, index, count, params) end +const glNamedProgramLocalParameterI4iEXT_handle = Ref{Ptr{Cvoid}}() + function glNamedProgramLocalParameterI4iEXT(program, target, index, x, y, z, w) - ccall(getprocaddress_e("glNamedProgramLocalParameterI4iEXT"), Cvoid, (GLuint, GLenum, GLuint, GLint, GLint, GLint, GLint), program, target, index, x, y, z, w) + glNamedProgramLocalParameterI4iEXT_handle[] == C_NULL && (glNamedProgramLocalParameterI4iEXT_handle[] = getprocaddress_e("glNamedProgramLocalParameterI4iEXT")) + ccall(glNamedProgramLocalParameterI4iEXT_handle[], Cvoid, (GLuint, GLenum, GLuint, GLint, GLint, GLint, GLint), program, target, index, x, y, z, w) end +const glNamedProgramLocalParameterI4ivEXT_handle = Ref{Ptr{Cvoid}}() + function glNamedProgramLocalParameterI4ivEXT(program, target, index, params) - ccall(getprocaddress_e("glNamedProgramLocalParameterI4ivEXT"), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLint}), program, target, index, params) + glNamedProgramLocalParameterI4ivEXT_handle[] == C_NULL && (glNamedProgramLocalParameterI4ivEXT_handle[] = getprocaddress_e("glNamedProgramLocalParameterI4ivEXT")) + ccall(glNamedProgramLocalParameterI4ivEXT_handle[], Cvoid, (GLuint, GLenum, GLuint, Ptr{GLint}), program, target, index, params) end +const glNamedProgramLocalParametersI4ivEXT_handle = Ref{Ptr{Cvoid}}() + function glNamedProgramLocalParametersI4ivEXT(program, target, index, count, params) - ccall(getprocaddress_e("glNamedProgramLocalParametersI4ivEXT"), Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLint}), program, target, index, count, params) + glNamedProgramLocalParametersI4ivEXT_handle[] == C_NULL && (glNamedProgramLocalParametersI4ivEXT_handle[] = getprocaddress_e("glNamedProgramLocalParametersI4ivEXT")) + ccall(glNamedProgramLocalParametersI4ivEXT_handle[], Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLint}), program, target, index, count, params) end +const glNamedProgramLocalParameterI4uiEXT_handle = Ref{Ptr{Cvoid}}() + function glNamedProgramLocalParameterI4uiEXT(program, target, index, x, y, z, w) - ccall(getprocaddress_e("glNamedProgramLocalParameterI4uiEXT"), Cvoid, (GLuint, GLenum, GLuint, GLuint, GLuint, GLuint, GLuint), program, target, index, x, y, z, w) + glNamedProgramLocalParameterI4uiEXT_handle[] == C_NULL && (glNamedProgramLocalParameterI4uiEXT_handle[] = getprocaddress_e("glNamedProgramLocalParameterI4uiEXT")) + ccall(glNamedProgramLocalParameterI4uiEXT_handle[], Cvoid, (GLuint, GLenum, GLuint, GLuint, GLuint, GLuint, GLuint), program, target, index, x, y, z, w) end +const glNamedProgramLocalParameterI4uivEXT_handle = Ref{Ptr{Cvoid}}() + function glNamedProgramLocalParameterI4uivEXT(program, target, index, params) - ccall(getprocaddress_e("glNamedProgramLocalParameterI4uivEXT"), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLuint}), program, target, index, params) + glNamedProgramLocalParameterI4uivEXT_handle[] == C_NULL && (glNamedProgramLocalParameterI4uivEXT_handle[] = getprocaddress_e("glNamedProgramLocalParameterI4uivEXT")) + ccall(glNamedProgramLocalParameterI4uivEXT_handle[], Cvoid, (GLuint, GLenum, GLuint, Ptr{GLuint}), program, target, index, params) end +const glNamedProgramLocalParametersI4uivEXT_handle = Ref{Ptr{Cvoid}}() + function glNamedProgramLocalParametersI4uivEXT(program, target, index, count, params) - ccall(getprocaddress_e("glNamedProgramLocalParametersI4uivEXT"), Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLuint}), program, target, index, count, params) + glNamedProgramLocalParametersI4uivEXT_handle[] == C_NULL && (glNamedProgramLocalParametersI4uivEXT_handle[] = getprocaddress_e("glNamedProgramLocalParametersI4uivEXT")) + ccall(glNamedProgramLocalParametersI4uivEXT_handle[], Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLuint}), program, target, index, count, params) end +const glGetNamedProgramLocalParameterIivEXT_handle = Ref{Ptr{Cvoid}}() + function glGetNamedProgramLocalParameterIivEXT(program, target, index, params) - ccall(getprocaddress_e("glGetNamedProgramLocalParameterIivEXT"), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLint}), program, target, index, params) + glGetNamedProgramLocalParameterIivEXT_handle[] == C_NULL && (glGetNamedProgramLocalParameterIivEXT_handle[] = getprocaddress_e("glGetNamedProgramLocalParameterIivEXT")) + ccall(glGetNamedProgramLocalParameterIivEXT_handle[], Cvoid, (GLuint, GLenum, GLuint, Ptr{GLint}), program, target, index, params) end +const glGetNamedProgramLocalParameterIuivEXT_handle = Ref{Ptr{Cvoid}}() + function glGetNamedProgramLocalParameterIuivEXT(program, target, index, params) - ccall(getprocaddress_e("glGetNamedProgramLocalParameterIuivEXT"), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLuint}), program, target, index, params) + glGetNamedProgramLocalParameterIuivEXT_handle[] == C_NULL && (glGetNamedProgramLocalParameterIuivEXT_handle[] = getprocaddress_e("glGetNamedProgramLocalParameterIuivEXT")) + ccall(glGetNamedProgramLocalParameterIuivEXT_handle[], Cvoid, (GLuint, GLenum, GLuint, Ptr{GLuint}), program, target, index, params) end +const glEnableClientStateiEXT_handle = Ref{Ptr{Cvoid}}() + function glEnableClientStateiEXT(array, index) - ccall(getprocaddress_e("glEnableClientStateiEXT"), Cvoid, (GLenum, GLuint), array, index) + glEnableClientStateiEXT_handle[] == C_NULL && (glEnableClientStateiEXT_handle[] = getprocaddress_e("glEnableClientStateiEXT")) + ccall(glEnableClientStateiEXT_handle[], Cvoid, (GLenum, GLuint), array, index) end +const glDisableClientStateiEXT_handle = Ref{Ptr{Cvoid}}() + function glDisableClientStateiEXT(array, index) - ccall(getprocaddress_e("glDisableClientStateiEXT"), Cvoid, (GLenum, GLuint), array, index) + glDisableClientStateiEXT_handle[] == C_NULL && (glDisableClientStateiEXT_handle[] = getprocaddress_e("glDisableClientStateiEXT")) + ccall(glDisableClientStateiEXT_handle[], Cvoid, (GLenum, GLuint), array, index) end +const glGetFloati_vEXT_handle = Ref{Ptr{Cvoid}}() + function glGetFloati_vEXT(pname, index, params) - ccall(getprocaddress_e("glGetFloati_vEXT"), Cvoid, (GLenum, GLuint, Ptr{GLfloat}), pname, index, params) + glGetFloati_vEXT_handle[] == C_NULL && (glGetFloati_vEXT_handle[] = getprocaddress_e("glGetFloati_vEXT")) + ccall(glGetFloati_vEXT_handle[], Cvoid, (GLenum, GLuint, Ptr{GLfloat}), pname, index, params) end +const glGetDoublei_vEXT_handle = Ref{Ptr{Cvoid}}() + function glGetDoublei_vEXT(pname, index, params) - ccall(getprocaddress_e("glGetDoublei_vEXT"), Cvoid, (GLenum, GLuint, Ptr{GLdouble}), pname, index, params) + glGetDoublei_vEXT_handle[] == C_NULL && (glGetDoublei_vEXT_handle[] = getprocaddress_e("glGetDoublei_vEXT")) + ccall(glGetDoublei_vEXT_handle[], Cvoid, (GLenum, GLuint, Ptr{GLdouble}), pname, index, params) end +const glGetPointeri_vEXT_handle = Ref{Ptr{Cvoid}}() + function glGetPointeri_vEXT(pname, index, params) - ccall(getprocaddress_e("glGetPointeri_vEXT"), Cvoid, (GLenum, GLuint, Ptr{Ptr{Cvoid}}), pname, index, params) + glGetPointeri_vEXT_handle[] == C_NULL && (glGetPointeri_vEXT_handle[] = getprocaddress_e("glGetPointeri_vEXT")) + ccall(glGetPointeri_vEXT_handle[], Cvoid, (GLenum, GLuint, Ptr{Ptr{Cvoid}}), pname, index, params) end +const glNamedProgramStringEXT_handle = Ref{Ptr{Cvoid}}() + function glNamedProgramStringEXT(program, target, format, len, string) - ccall(getprocaddress_e("glNamedProgramStringEXT"), Cvoid, (GLuint, GLenum, GLenum, GLsizei, Ptr{Cvoid}), program, target, format, len, string) + glNamedProgramStringEXT_handle[] == C_NULL && (glNamedProgramStringEXT_handle[] = getprocaddress_e("glNamedProgramStringEXT")) + ccall(glNamedProgramStringEXT_handle[], Cvoid, (GLuint, GLenum, GLenum, GLsizei, Ptr{Cvoid}), program, target, format, len, string) end +const glNamedProgramLocalParameter4dEXT_handle = Ref{Ptr{Cvoid}}() + function glNamedProgramLocalParameter4dEXT(program, target, index, x, y, z, w) - ccall(getprocaddress_e("glNamedProgramLocalParameter4dEXT"), Cvoid, (GLuint, GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble), program, target, index, x, y, z, w) + glNamedProgramLocalParameter4dEXT_handle[] == C_NULL && (glNamedProgramLocalParameter4dEXT_handle[] = getprocaddress_e("glNamedProgramLocalParameter4dEXT")) + ccall(glNamedProgramLocalParameter4dEXT_handle[], Cvoid, (GLuint, GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble), program, target, index, x, y, z, w) end +const glNamedProgramLocalParameter4dvEXT_handle = Ref{Ptr{Cvoid}}() + function glNamedProgramLocalParameter4dvEXT(program, target, index, params) - ccall(getprocaddress_e("glNamedProgramLocalParameter4dvEXT"), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLdouble}), program, target, index, params) + glNamedProgramLocalParameter4dvEXT_handle[] == C_NULL && (glNamedProgramLocalParameter4dvEXT_handle[] = getprocaddress_e("glNamedProgramLocalParameter4dvEXT")) + ccall(glNamedProgramLocalParameter4dvEXT_handle[], Cvoid, (GLuint, GLenum, GLuint, Ptr{GLdouble}), program, target, index, params) end +const glNamedProgramLocalParameter4fEXT_handle = Ref{Ptr{Cvoid}}() + function glNamedProgramLocalParameter4fEXT(program, target, index, x, y, z, w) - ccall(getprocaddress_e("glNamedProgramLocalParameter4fEXT"), Cvoid, (GLuint, GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat), program, target, index, x, y, z, w) + glNamedProgramLocalParameter4fEXT_handle[] == C_NULL && (glNamedProgramLocalParameter4fEXT_handle[] = getprocaddress_e("glNamedProgramLocalParameter4fEXT")) + ccall(glNamedProgramLocalParameter4fEXT_handle[], Cvoid, (GLuint, GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat), program, target, index, x, y, z, w) end +const glNamedProgramLocalParameter4fvEXT_handle = Ref{Ptr{Cvoid}}() + function glNamedProgramLocalParameter4fvEXT(program, target, index, params) - ccall(getprocaddress_e("glNamedProgramLocalParameter4fvEXT"), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLfloat}), program, target, index, params) + glNamedProgramLocalParameter4fvEXT_handle[] == C_NULL && (glNamedProgramLocalParameter4fvEXT_handle[] = getprocaddress_e("glNamedProgramLocalParameter4fvEXT")) + ccall(glNamedProgramLocalParameter4fvEXT_handle[], Cvoid, (GLuint, GLenum, GLuint, Ptr{GLfloat}), program, target, index, params) end +const glGetNamedProgramLocalParameterdvEXT_handle = Ref{Ptr{Cvoid}}() + function glGetNamedProgramLocalParameterdvEXT(program, target, index, params) - ccall(getprocaddress_e("glGetNamedProgramLocalParameterdvEXT"), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLdouble}), program, target, index, params) + glGetNamedProgramLocalParameterdvEXT_handle[] == C_NULL && (glGetNamedProgramLocalParameterdvEXT_handle[] = getprocaddress_e("glGetNamedProgramLocalParameterdvEXT")) + ccall(glGetNamedProgramLocalParameterdvEXT_handle[], Cvoid, (GLuint, GLenum, GLuint, Ptr{GLdouble}), program, target, index, params) end +const glGetNamedProgramLocalParameterfvEXT_handle = Ref{Ptr{Cvoid}}() + function glGetNamedProgramLocalParameterfvEXT(program, target, index, params) - ccall(getprocaddress_e("glGetNamedProgramLocalParameterfvEXT"), Cvoid, (GLuint, GLenum, GLuint, Ptr{GLfloat}), program, target, index, params) + glGetNamedProgramLocalParameterfvEXT_handle[] == C_NULL && (glGetNamedProgramLocalParameterfvEXT_handle[] = getprocaddress_e("glGetNamedProgramLocalParameterfvEXT")) + ccall(glGetNamedProgramLocalParameterfvEXT_handle[], Cvoid, (GLuint, GLenum, GLuint, Ptr{GLfloat}), program, target, index, params) end +const glGetNamedProgramivEXT_handle = Ref{Ptr{Cvoid}}() + function glGetNamedProgramivEXT(program, target, pname, params) - ccall(getprocaddress_e("glGetNamedProgramivEXT"), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), program, target, pname, params) + glGetNamedProgramivEXT_handle[] == C_NULL && (glGetNamedProgramivEXT_handle[] = getprocaddress_e("glGetNamedProgramivEXT")) + ccall(glGetNamedProgramivEXT_handle[], Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), program, target, pname, params) end +const glGetNamedProgramStringEXT_handle = Ref{Ptr{Cvoid}}() + function glGetNamedProgramStringEXT(program, target, pname, string) - ccall(getprocaddress_e("glGetNamedProgramStringEXT"), Cvoid, (GLuint, GLenum, GLenum, Ptr{Cvoid}), program, target, pname, string) + glGetNamedProgramStringEXT_handle[] == C_NULL && (glGetNamedProgramStringEXT_handle[] = getprocaddress_e("glGetNamedProgramStringEXT")) + ccall(glGetNamedProgramStringEXT_handle[], Cvoid, (GLuint, GLenum, GLenum, Ptr{Cvoid}), program, target, pname, string) end +const glNamedRenderbufferStorageEXT_handle = Ref{Ptr{Cvoid}}() + function glNamedRenderbufferStorageEXT(renderbuffer, internalformat, width, height) - ccall(getprocaddress_e("glNamedRenderbufferStorageEXT"), Cvoid, (GLuint, GLenum, GLsizei, GLsizei), renderbuffer, internalformat, width, height) + glNamedRenderbufferStorageEXT_handle[] == C_NULL && (glNamedRenderbufferStorageEXT_handle[] = getprocaddress_e("glNamedRenderbufferStorageEXT")) + ccall(glNamedRenderbufferStorageEXT_handle[], Cvoid, (GLuint, GLenum, GLsizei, GLsizei), renderbuffer, internalformat, width, height) end +const glGetNamedRenderbufferParameterivEXT_handle = Ref{Ptr{Cvoid}}() + function glGetNamedRenderbufferParameterivEXT(renderbuffer, pname, params) - ccall(getprocaddress_e("glGetNamedRenderbufferParameterivEXT"), Cvoid, (GLuint, GLenum, Ptr{GLint}), renderbuffer, pname, params) + glGetNamedRenderbufferParameterivEXT_handle[] == C_NULL && (glGetNamedRenderbufferParameterivEXT_handle[] = getprocaddress_e("glGetNamedRenderbufferParameterivEXT")) + ccall(glGetNamedRenderbufferParameterivEXT_handle[], Cvoid, (GLuint, GLenum, Ptr{GLint}), renderbuffer, pname, params) end +const glNamedRenderbufferStorageMultisampleEXT_handle = Ref{Ptr{Cvoid}}() + function glNamedRenderbufferStorageMultisampleEXT(renderbuffer, samples, internalformat, width, height) - ccall(getprocaddress_e("glNamedRenderbufferStorageMultisampleEXT"), Cvoid, (GLuint, GLsizei, GLenum, GLsizei, GLsizei), renderbuffer, samples, internalformat, width, height) + glNamedRenderbufferStorageMultisampleEXT_handle[] == C_NULL && (glNamedRenderbufferStorageMultisampleEXT_handle[] = getprocaddress_e("glNamedRenderbufferStorageMultisampleEXT")) + ccall(glNamedRenderbufferStorageMultisampleEXT_handle[], Cvoid, (GLuint, GLsizei, GLenum, GLsizei, GLsizei), renderbuffer, samples, internalformat, width, height) end +const glNamedRenderbufferStorageMultisampleCoverageEXT_handle = Ref{Ptr{Cvoid}}() + function glNamedRenderbufferStorageMultisampleCoverageEXT(renderbuffer, coverageSamples, colorSamples, internalformat, width, height) - ccall(getprocaddress_e("glNamedRenderbufferStorageMultisampleCoverageEXT"), Cvoid, (GLuint, GLsizei, GLsizei, GLenum, GLsizei, GLsizei), renderbuffer, coverageSamples, colorSamples, internalformat, width, height) + glNamedRenderbufferStorageMultisampleCoverageEXT_handle[] == C_NULL && (glNamedRenderbufferStorageMultisampleCoverageEXT_handle[] = getprocaddress_e("glNamedRenderbufferStorageMultisampleCoverageEXT")) + ccall(glNamedRenderbufferStorageMultisampleCoverageEXT_handle[], Cvoid, (GLuint, GLsizei, GLsizei, GLenum, GLsizei, GLsizei), renderbuffer, coverageSamples, colorSamples, internalformat, width, height) end +const glCheckNamedFramebufferStatusEXT_handle = Ref{Ptr{Cvoid}}() + function glCheckNamedFramebufferStatusEXT(framebuffer, target) - ccall(getprocaddress_e("glCheckNamedFramebufferStatusEXT"), GLenum, (GLuint, GLenum), framebuffer, target) + glCheckNamedFramebufferStatusEXT_handle[] == C_NULL && (glCheckNamedFramebufferStatusEXT_handle[] = getprocaddress_e("glCheckNamedFramebufferStatusEXT")) + ccall(glCheckNamedFramebufferStatusEXT_handle[], GLenum, (GLuint, GLenum), framebuffer, target) end +const glNamedFramebufferTexture1DEXT_handle = Ref{Ptr{Cvoid}}() + function glNamedFramebufferTexture1DEXT(framebuffer, attachment, textarget, texture, level) - ccall(getprocaddress_e("glNamedFramebufferTexture1DEXT"), Cvoid, (GLuint, GLenum, GLenum, GLuint, GLint), framebuffer, attachment, textarget, texture, level) + glNamedFramebufferTexture1DEXT_handle[] == C_NULL && (glNamedFramebufferTexture1DEXT_handle[] = getprocaddress_e("glNamedFramebufferTexture1DEXT")) + ccall(glNamedFramebufferTexture1DEXT_handle[], Cvoid, (GLuint, GLenum, GLenum, GLuint, GLint), framebuffer, attachment, textarget, texture, level) end +const glNamedFramebufferTexture2DEXT_handle = Ref{Ptr{Cvoid}}() + function glNamedFramebufferTexture2DEXT(framebuffer, attachment, textarget, texture, level) - ccall(getprocaddress_e("glNamedFramebufferTexture2DEXT"), Cvoid, (GLuint, GLenum, GLenum, GLuint, GLint), framebuffer, attachment, textarget, texture, level) + glNamedFramebufferTexture2DEXT_handle[] == C_NULL && (glNamedFramebufferTexture2DEXT_handle[] = getprocaddress_e("glNamedFramebufferTexture2DEXT")) + ccall(glNamedFramebufferTexture2DEXT_handle[], Cvoid, (GLuint, GLenum, GLenum, GLuint, GLint), framebuffer, attachment, textarget, texture, level) end +const glNamedFramebufferTexture3DEXT_handle = Ref{Ptr{Cvoid}}() + function glNamedFramebufferTexture3DEXT(framebuffer, attachment, textarget, texture, level, zoffset) - ccall(getprocaddress_e("glNamedFramebufferTexture3DEXT"), Cvoid, (GLuint, GLenum, GLenum, GLuint, GLint, GLint), framebuffer, attachment, textarget, texture, level, zoffset) + glNamedFramebufferTexture3DEXT_handle[] == C_NULL && (glNamedFramebufferTexture3DEXT_handle[] = getprocaddress_e("glNamedFramebufferTexture3DEXT")) + ccall(glNamedFramebufferTexture3DEXT_handle[], Cvoid, (GLuint, GLenum, GLenum, GLuint, GLint, GLint), framebuffer, attachment, textarget, texture, level, zoffset) end +const glNamedFramebufferRenderbufferEXT_handle = Ref{Ptr{Cvoid}}() + function glNamedFramebufferRenderbufferEXT(framebuffer, attachment, renderbuffertarget, renderbuffer) - ccall(getprocaddress_e("glNamedFramebufferRenderbufferEXT"), Cvoid, (GLuint, GLenum, GLenum, GLuint), framebuffer, attachment, renderbuffertarget, renderbuffer) + glNamedFramebufferRenderbufferEXT_handle[] == C_NULL && (glNamedFramebufferRenderbufferEXT_handle[] = getprocaddress_e("glNamedFramebufferRenderbufferEXT")) + ccall(glNamedFramebufferRenderbufferEXT_handle[], Cvoid, (GLuint, GLenum, GLenum, GLuint), framebuffer, attachment, renderbuffertarget, renderbuffer) end +const glGetNamedFramebufferAttachmentParameterivEXT_handle = Ref{Ptr{Cvoid}}() + function glGetNamedFramebufferAttachmentParameterivEXT(framebuffer, attachment, pname, params) - ccall(getprocaddress_e("glGetNamedFramebufferAttachmentParameterivEXT"), Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), framebuffer, attachment, pname, params) + glGetNamedFramebufferAttachmentParameterivEXT_handle[] == C_NULL && (glGetNamedFramebufferAttachmentParameterivEXT_handle[] = getprocaddress_e("glGetNamedFramebufferAttachmentParameterivEXT")) + ccall(glGetNamedFramebufferAttachmentParameterivEXT_handle[], Cvoid, (GLuint, GLenum, GLenum, Ptr{GLint}), framebuffer, attachment, pname, params) end +const glGenerateTextureMipmapEXT_handle = Ref{Ptr{Cvoid}}() + function glGenerateTextureMipmapEXT(texture, target) - ccall(getprocaddress_e("glGenerateTextureMipmapEXT"), Cvoid, (GLuint, GLenum), texture, target) + glGenerateTextureMipmapEXT_handle[] == C_NULL && (glGenerateTextureMipmapEXT_handle[] = getprocaddress_e("glGenerateTextureMipmapEXT")) + ccall(glGenerateTextureMipmapEXT_handle[], Cvoid, (GLuint, GLenum), texture, target) end +const glGenerateMultiTexMipmapEXT_handle = Ref{Ptr{Cvoid}}() + function glGenerateMultiTexMipmapEXT(texunit, target) - ccall(getprocaddress_e("glGenerateMultiTexMipmapEXT"), Cvoid, (GLenum, GLenum), texunit, target) + glGenerateMultiTexMipmapEXT_handle[] == C_NULL && (glGenerateMultiTexMipmapEXT_handle[] = getprocaddress_e("glGenerateMultiTexMipmapEXT")) + ccall(glGenerateMultiTexMipmapEXT_handle[], Cvoid, (GLenum, GLenum), texunit, target) end +const glFramebufferDrawBufferEXT_handle = Ref{Ptr{Cvoid}}() + function glFramebufferDrawBufferEXT(framebuffer, mode) - ccall(getprocaddress_e("glFramebufferDrawBufferEXT"), Cvoid, (GLuint, GLenum), framebuffer, mode) + glFramebufferDrawBufferEXT_handle[] == C_NULL && (glFramebufferDrawBufferEXT_handle[] = getprocaddress_e("glFramebufferDrawBufferEXT")) + ccall(glFramebufferDrawBufferEXT_handle[], Cvoid, (GLuint, GLenum), framebuffer, mode) end +const glFramebufferDrawBuffersEXT_handle = Ref{Ptr{Cvoid}}() + function glFramebufferDrawBuffersEXT(framebuffer, n, bufs) - ccall(getprocaddress_e("glFramebufferDrawBuffersEXT"), Cvoid, (GLuint, GLsizei, Ptr{GLenum}), framebuffer, n, bufs) + glFramebufferDrawBuffersEXT_handle[] == C_NULL && (glFramebufferDrawBuffersEXT_handle[] = getprocaddress_e("glFramebufferDrawBuffersEXT")) + ccall(glFramebufferDrawBuffersEXT_handle[], Cvoid, (GLuint, GLsizei, Ptr{GLenum}), framebuffer, n, bufs) end +const glFramebufferReadBufferEXT_handle = Ref{Ptr{Cvoid}}() + function glFramebufferReadBufferEXT(framebuffer, mode) - ccall(getprocaddress_e("glFramebufferReadBufferEXT"), Cvoid, (GLuint, GLenum), framebuffer, mode) + glFramebufferReadBufferEXT_handle[] == C_NULL && (glFramebufferReadBufferEXT_handle[] = getprocaddress_e("glFramebufferReadBufferEXT")) + ccall(glFramebufferReadBufferEXT_handle[], Cvoid, (GLuint, GLenum), framebuffer, mode) end +const glGetFramebufferParameterivEXT_handle = Ref{Ptr{Cvoid}}() + function glGetFramebufferParameterivEXT(framebuffer, pname, params) - ccall(getprocaddress_e("glGetFramebufferParameterivEXT"), Cvoid, (GLuint, GLenum, Ptr{GLint}), framebuffer, pname, params) + glGetFramebufferParameterivEXT_handle[] == C_NULL && (glGetFramebufferParameterivEXT_handle[] = getprocaddress_e("glGetFramebufferParameterivEXT")) + ccall(glGetFramebufferParameterivEXT_handle[], Cvoid, (GLuint, GLenum, Ptr{GLint}), framebuffer, pname, params) end +const glNamedCopyBufferSubDataEXT_handle = Ref{Ptr{Cvoid}}() + function glNamedCopyBufferSubDataEXT(readBuffer, writeBuffer, readOffset, writeOffset, size) - ccall(getprocaddress_e("glNamedCopyBufferSubDataEXT"), Cvoid, (GLuint, GLuint, GLintptr, GLintptr, GLsizeiptr), readBuffer, writeBuffer, readOffset, writeOffset, size) + glNamedCopyBufferSubDataEXT_handle[] == C_NULL && (glNamedCopyBufferSubDataEXT_handle[] = getprocaddress_e("glNamedCopyBufferSubDataEXT")) + ccall(glNamedCopyBufferSubDataEXT_handle[], Cvoid, (GLuint, GLuint, GLintptr, GLintptr, GLsizeiptr), readBuffer, writeBuffer, readOffset, writeOffset, size) end +const glNamedFramebufferTextureEXT_handle = Ref{Ptr{Cvoid}}() + function glNamedFramebufferTextureEXT(framebuffer, attachment, texture, level) - ccall(getprocaddress_e("glNamedFramebufferTextureEXT"), Cvoid, (GLuint, GLenum, GLuint, GLint), framebuffer, attachment, texture, level) + glNamedFramebufferTextureEXT_handle[] == C_NULL && (glNamedFramebufferTextureEXT_handle[] = getprocaddress_e("glNamedFramebufferTextureEXT")) + ccall(glNamedFramebufferTextureEXT_handle[], Cvoid, (GLuint, GLenum, GLuint, GLint), framebuffer, attachment, texture, level) end +const glNamedFramebufferTextureLayerEXT_handle = Ref{Ptr{Cvoid}}() + function glNamedFramebufferTextureLayerEXT(framebuffer, attachment, texture, level, layer) - ccall(getprocaddress_e("glNamedFramebufferTextureLayerEXT"), Cvoid, (GLuint, GLenum, GLuint, GLint, GLint), framebuffer, attachment, texture, level, layer) + glNamedFramebufferTextureLayerEXT_handle[] == C_NULL && (glNamedFramebufferTextureLayerEXT_handle[] = getprocaddress_e("glNamedFramebufferTextureLayerEXT")) + ccall(glNamedFramebufferTextureLayerEXT_handle[], Cvoid, (GLuint, GLenum, GLuint, GLint, GLint), framebuffer, attachment, texture, level, layer) end +const glNamedFramebufferTextureFaceEXT_handle = Ref{Ptr{Cvoid}}() + function glNamedFramebufferTextureFaceEXT(framebuffer, attachment, texture, level, face) - ccall(getprocaddress_e("glNamedFramebufferTextureFaceEXT"), Cvoid, (GLuint, GLenum, GLuint, GLint, GLenum), framebuffer, attachment, texture, level, face) + glNamedFramebufferTextureFaceEXT_handle[] == C_NULL && (glNamedFramebufferTextureFaceEXT_handle[] = getprocaddress_e("glNamedFramebufferTextureFaceEXT")) + ccall(glNamedFramebufferTextureFaceEXT_handle[], Cvoid, (GLuint, GLenum, GLuint, GLint, GLenum), framebuffer, attachment, texture, level, face) end +const glTextureRenderbufferEXT_handle = Ref{Ptr{Cvoid}}() + function glTextureRenderbufferEXT(texture, target, renderbuffer) - ccall(getprocaddress_e("glTextureRenderbufferEXT"), Cvoid, (GLuint, GLenum, GLuint), texture, target, renderbuffer) + glTextureRenderbufferEXT_handle[] == C_NULL && (glTextureRenderbufferEXT_handle[] = getprocaddress_e("glTextureRenderbufferEXT")) + ccall(glTextureRenderbufferEXT_handle[], Cvoid, (GLuint, GLenum, GLuint), texture, target, renderbuffer) end +const glMultiTexRenderbufferEXT_handle = Ref{Ptr{Cvoid}}() + function glMultiTexRenderbufferEXT(texunit, target, renderbuffer) - ccall(getprocaddress_e("glMultiTexRenderbufferEXT"), Cvoid, (GLenum, GLenum, GLuint), texunit, target, renderbuffer) + glMultiTexRenderbufferEXT_handle[] == C_NULL && (glMultiTexRenderbufferEXT_handle[] = getprocaddress_e("glMultiTexRenderbufferEXT")) + ccall(glMultiTexRenderbufferEXT_handle[], Cvoid, (GLenum, GLenum, GLuint), texunit, target, renderbuffer) end +const glVertexArrayVertexOffsetEXT_handle = Ref{Ptr{Cvoid}}() + function glVertexArrayVertexOffsetEXT(vaobj, buffer, size, type, stride, offset) - ccall(getprocaddress_e("glVertexArrayVertexOffsetEXT"), Cvoid, (GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, size, type, stride, offset) + glVertexArrayVertexOffsetEXT_handle[] == C_NULL && (glVertexArrayVertexOffsetEXT_handle[] = getprocaddress_e("glVertexArrayVertexOffsetEXT")) + ccall(glVertexArrayVertexOffsetEXT_handle[], Cvoid, (GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, size, type, stride, offset) end +const glVertexArrayColorOffsetEXT_handle = Ref{Ptr{Cvoid}}() + function glVertexArrayColorOffsetEXT(vaobj, buffer, size, type, stride, offset) - ccall(getprocaddress_e("glVertexArrayColorOffsetEXT"), Cvoid, (GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, size, type, stride, offset) + glVertexArrayColorOffsetEXT_handle[] == C_NULL && (glVertexArrayColorOffsetEXT_handle[] = getprocaddress_e("glVertexArrayColorOffsetEXT")) + ccall(glVertexArrayColorOffsetEXT_handle[], Cvoid, (GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, size, type, stride, offset) end +const glVertexArrayEdgeFlagOffsetEXT_handle = Ref{Ptr{Cvoid}}() + function glVertexArrayEdgeFlagOffsetEXT(vaobj, buffer, stride, offset) - ccall(getprocaddress_e("glVertexArrayEdgeFlagOffsetEXT"), Cvoid, (GLuint, GLuint, GLsizei, GLintptr), vaobj, buffer, stride, offset) + glVertexArrayEdgeFlagOffsetEXT_handle[] == C_NULL && (glVertexArrayEdgeFlagOffsetEXT_handle[] = getprocaddress_e("glVertexArrayEdgeFlagOffsetEXT")) + ccall(glVertexArrayEdgeFlagOffsetEXT_handle[], Cvoid, (GLuint, GLuint, GLsizei, GLintptr), vaobj, buffer, stride, offset) end +const glVertexArrayIndexOffsetEXT_handle = Ref{Ptr{Cvoid}}() + function glVertexArrayIndexOffsetEXT(vaobj, buffer, type, stride, offset) - ccall(getprocaddress_e("glVertexArrayIndexOffsetEXT"), Cvoid, (GLuint, GLuint, GLenum, GLsizei, GLintptr), vaobj, buffer, type, stride, offset) + glVertexArrayIndexOffsetEXT_handle[] == C_NULL && (glVertexArrayIndexOffsetEXT_handle[] = getprocaddress_e("glVertexArrayIndexOffsetEXT")) + ccall(glVertexArrayIndexOffsetEXT_handle[], Cvoid, (GLuint, GLuint, GLenum, GLsizei, GLintptr), vaobj, buffer, type, stride, offset) end +const glVertexArrayNormalOffsetEXT_handle = Ref{Ptr{Cvoid}}() + function glVertexArrayNormalOffsetEXT(vaobj, buffer, type, stride, offset) - ccall(getprocaddress_e("glVertexArrayNormalOffsetEXT"), Cvoid, (GLuint, GLuint, GLenum, GLsizei, GLintptr), vaobj, buffer, type, stride, offset) + glVertexArrayNormalOffsetEXT_handle[] == C_NULL && (glVertexArrayNormalOffsetEXT_handle[] = getprocaddress_e("glVertexArrayNormalOffsetEXT")) + ccall(glVertexArrayNormalOffsetEXT_handle[], Cvoid, (GLuint, GLuint, GLenum, GLsizei, GLintptr), vaobj, buffer, type, stride, offset) end +const glVertexArrayTexCoordOffsetEXT_handle = Ref{Ptr{Cvoid}}() + function glVertexArrayTexCoordOffsetEXT(vaobj, buffer, size, type, stride, offset) - ccall(getprocaddress_e("glVertexArrayTexCoordOffsetEXT"), Cvoid, (GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, size, type, stride, offset) + glVertexArrayTexCoordOffsetEXT_handle[] == C_NULL && (glVertexArrayTexCoordOffsetEXT_handle[] = getprocaddress_e("glVertexArrayTexCoordOffsetEXT")) + ccall(glVertexArrayTexCoordOffsetEXT_handle[], Cvoid, (GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, size, type, stride, offset) end +const glVertexArrayMultiTexCoordOffsetEXT_handle = Ref{Ptr{Cvoid}}() + function glVertexArrayMultiTexCoordOffsetEXT(vaobj, buffer, texunit, size, type, stride, offset) - ccall(getprocaddress_e("glVertexArrayMultiTexCoordOffsetEXT"), Cvoid, (GLuint, GLuint, GLenum, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, texunit, size, type, stride, offset) + glVertexArrayMultiTexCoordOffsetEXT_handle[] == C_NULL && (glVertexArrayMultiTexCoordOffsetEXT_handle[] = getprocaddress_e("glVertexArrayMultiTexCoordOffsetEXT")) + ccall(glVertexArrayMultiTexCoordOffsetEXT_handle[], Cvoid, (GLuint, GLuint, GLenum, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, texunit, size, type, stride, offset) end +const glVertexArrayFogCoordOffsetEXT_handle = Ref{Ptr{Cvoid}}() + function glVertexArrayFogCoordOffsetEXT(vaobj, buffer, type, stride, offset) - ccall(getprocaddress_e("glVertexArrayFogCoordOffsetEXT"), Cvoid, (GLuint, GLuint, GLenum, GLsizei, GLintptr), vaobj, buffer, type, stride, offset) + glVertexArrayFogCoordOffsetEXT_handle[] == C_NULL && (glVertexArrayFogCoordOffsetEXT_handle[] = getprocaddress_e("glVertexArrayFogCoordOffsetEXT")) + ccall(glVertexArrayFogCoordOffsetEXT_handle[], Cvoid, (GLuint, GLuint, GLenum, GLsizei, GLintptr), vaobj, buffer, type, stride, offset) end +const glVertexArraySecondaryColorOffsetEXT_handle = Ref{Ptr{Cvoid}}() + function glVertexArraySecondaryColorOffsetEXT(vaobj, buffer, size, type, stride, offset) - ccall(getprocaddress_e("glVertexArraySecondaryColorOffsetEXT"), Cvoid, (GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, size, type, stride, offset) + glVertexArraySecondaryColorOffsetEXT_handle[] == C_NULL && (glVertexArraySecondaryColorOffsetEXT_handle[] = getprocaddress_e("glVertexArraySecondaryColorOffsetEXT")) + ccall(glVertexArraySecondaryColorOffsetEXT_handle[], Cvoid, (GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, size, type, stride, offset) end +const glVertexArrayVertexAttribOffsetEXT_handle = Ref{Ptr{Cvoid}}() + function glVertexArrayVertexAttribOffsetEXT(vaobj, buffer, index, size, type, normalized, stride, offset) - ccall(getprocaddress_e("glVertexArrayVertexAttribOffsetEXT"), Cvoid, (GLuint, GLuint, GLuint, GLint, GLenum, GLboolean, GLsizei, GLintptr), vaobj, buffer, index, size, type, normalized, stride, offset) + glVertexArrayVertexAttribOffsetEXT_handle[] == C_NULL && (glVertexArrayVertexAttribOffsetEXT_handle[] = getprocaddress_e("glVertexArrayVertexAttribOffsetEXT")) + ccall(glVertexArrayVertexAttribOffsetEXT_handle[], Cvoid, (GLuint, GLuint, GLuint, GLint, GLenum, GLboolean, GLsizei, GLintptr), vaobj, buffer, index, size, type, normalized, stride, offset) end +const glVertexArrayVertexAttribIOffsetEXT_handle = Ref{Ptr{Cvoid}}() + function glVertexArrayVertexAttribIOffsetEXT(vaobj, buffer, index, size, type, stride, offset) - ccall(getprocaddress_e("glVertexArrayVertexAttribIOffsetEXT"), Cvoid, (GLuint, GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, index, size, type, stride, offset) + glVertexArrayVertexAttribIOffsetEXT_handle[] == C_NULL && (glVertexArrayVertexAttribIOffsetEXT_handle[] = getprocaddress_e("glVertexArrayVertexAttribIOffsetEXT")) + ccall(glVertexArrayVertexAttribIOffsetEXT_handle[], Cvoid, (GLuint, GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, index, size, type, stride, offset) end +const glEnableVertexArrayEXT_handle = Ref{Ptr{Cvoid}}() + function glEnableVertexArrayEXT(vaobj, array) - ccall(getprocaddress_e("glEnableVertexArrayEXT"), Cvoid, (GLuint, GLenum), vaobj, array) + glEnableVertexArrayEXT_handle[] == C_NULL && (glEnableVertexArrayEXT_handle[] = getprocaddress_e("glEnableVertexArrayEXT")) + ccall(glEnableVertexArrayEXT_handle[], Cvoid, (GLuint, GLenum), vaobj, array) end +const glDisableVertexArrayEXT_handle = Ref{Ptr{Cvoid}}() + function glDisableVertexArrayEXT(vaobj, array) - ccall(getprocaddress_e("glDisableVertexArrayEXT"), Cvoid, (GLuint, GLenum), vaobj, array) + glDisableVertexArrayEXT_handle[] == C_NULL && (glDisableVertexArrayEXT_handle[] = getprocaddress_e("glDisableVertexArrayEXT")) + ccall(glDisableVertexArrayEXT_handle[], Cvoid, (GLuint, GLenum), vaobj, array) end +const glEnableVertexArrayAttribEXT_handle = Ref{Ptr{Cvoid}}() + function glEnableVertexArrayAttribEXT(vaobj, index) - ccall(getprocaddress_e("glEnableVertexArrayAttribEXT"), Cvoid, (GLuint, GLuint), vaobj, index) + glEnableVertexArrayAttribEXT_handle[] == C_NULL && (glEnableVertexArrayAttribEXT_handle[] = getprocaddress_e("glEnableVertexArrayAttribEXT")) + ccall(glEnableVertexArrayAttribEXT_handle[], Cvoid, (GLuint, GLuint), vaobj, index) end +const glDisableVertexArrayAttribEXT_handle = Ref{Ptr{Cvoid}}() + function glDisableVertexArrayAttribEXT(vaobj, index) - ccall(getprocaddress_e("glDisableVertexArrayAttribEXT"), Cvoid, (GLuint, GLuint), vaobj, index) + glDisableVertexArrayAttribEXT_handle[] == C_NULL && (glDisableVertexArrayAttribEXT_handle[] = getprocaddress_e("glDisableVertexArrayAttribEXT")) + ccall(glDisableVertexArrayAttribEXT_handle[], Cvoid, (GLuint, GLuint), vaobj, index) end +const glGetVertexArrayIntegervEXT_handle = Ref{Ptr{Cvoid}}() + function glGetVertexArrayIntegervEXT(vaobj, pname, param) - ccall(getprocaddress_e("glGetVertexArrayIntegervEXT"), Cvoid, (GLuint, GLenum, Ptr{GLint}), vaobj, pname, param) + glGetVertexArrayIntegervEXT_handle[] == C_NULL && (glGetVertexArrayIntegervEXT_handle[] = getprocaddress_e("glGetVertexArrayIntegervEXT")) + ccall(glGetVertexArrayIntegervEXT_handle[], Cvoid, (GLuint, GLenum, Ptr{GLint}), vaobj, pname, param) end +const glGetVertexArrayPointervEXT_handle = Ref{Ptr{Cvoid}}() + function glGetVertexArrayPointervEXT(vaobj, pname, param) - ccall(getprocaddress_e("glGetVertexArrayPointervEXT"), Cvoid, (GLuint, GLenum, Ptr{Ptr{Cvoid}}), vaobj, pname, param) + glGetVertexArrayPointervEXT_handle[] == C_NULL && (glGetVertexArrayPointervEXT_handle[] = getprocaddress_e("glGetVertexArrayPointervEXT")) + ccall(glGetVertexArrayPointervEXT_handle[], Cvoid, (GLuint, GLenum, Ptr{Ptr{Cvoid}}), vaobj, pname, param) end +const glGetVertexArrayIntegeri_vEXT_handle = Ref{Ptr{Cvoid}}() + function glGetVertexArrayIntegeri_vEXT(vaobj, index, pname, param) - ccall(getprocaddress_e("glGetVertexArrayIntegeri_vEXT"), Cvoid, (GLuint, GLuint, GLenum, Ptr{GLint}), vaobj, index, pname, param) + glGetVertexArrayIntegeri_vEXT_handle[] == C_NULL && (glGetVertexArrayIntegeri_vEXT_handle[] = getprocaddress_e("glGetVertexArrayIntegeri_vEXT")) + ccall(glGetVertexArrayIntegeri_vEXT_handle[], Cvoid, (GLuint, GLuint, GLenum, Ptr{GLint}), vaobj, index, pname, param) end +const glGetVertexArrayPointeri_vEXT_handle = Ref{Ptr{Cvoid}}() + function glGetVertexArrayPointeri_vEXT(vaobj, index, pname, param) - ccall(getprocaddress_e("glGetVertexArrayPointeri_vEXT"), Cvoid, (GLuint, GLuint, GLenum, Ptr{Ptr{Cvoid}}), vaobj, index, pname, param) + glGetVertexArrayPointeri_vEXT_handle[] == C_NULL && (glGetVertexArrayPointeri_vEXT_handle[] = getprocaddress_e("glGetVertexArrayPointeri_vEXT")) + ccall(glGetVertexArrayPointeri_vEXT_handle[], Cvoid, (GLuint, GLuint, GLenum, Ptr{Ptr{Cvoid}}), vaobj, index, pname, param) end +const glMapNamedBufferRangeEXT_handle = Ref{Ptr{Cvoid}}() + function glMapNamedBufferRangeEXT(buffer, offset, length, access) - ccall(getprocaddress_e("glMapNamedBufferRangeEXT"), Ptr{Cvoid}, (GLuint, GLintptr, GLsizeiptr, GLbitfield), buffer, offset, length, access) + glMapNamedBufferRangeEXT_handle[] == C_NULL && (glMapNamedBufferRangeEXT_handle[] = getprocaddress_e("glMapNamedBufferRangeEXT")) + ccall(glMapNamedBufferRangeEXT_handle[], Ptr{Cvoid}, (GLuint, GLintptr, GLsizeiptr, GLbitfield), buffer, offset, length, access) end +const glFlushMappedNamedBufferRangeEXT_handle = Ref{Ptr{Cvoid}}() + function glFlushMappedNamedBufferRangeEXT(buffer, offset, length) - ccall(getprocaddress_e("glFlushMappedNamedBufferRangeEXT"), Cvoid, (GLuint, GLintptr, GLsizeiptr), buffer, offset, length) + glFlushMappedNamedBufferRangeEXT_handle[] == C_NULL && (glFlushMappedNamedBufferRangeEXT_handle[] = getprocaddress_e("glFlushMappedNamedBufferRangeEXT")) + ccall(glFlushMappedNamedBufferRangeEXT_handle[], Cvoid, (GLuint, GLintptr, GLsizeiptr), buffer, offset, length) end +const glNamedBufferStorageEXT_handle = Ref{Ptr{Cvoid}}() + function glNamedBufferStorageEXT(buffer, size, data, flags) - ccall(getprocaddress_e("glNamedBufferStorageEXT"), Cvoid, (GLuint, GLsizeiptr, Ptr{Cvoid}, GLbitfield), buffer, size, data, flags) + glNamedBufferStorageEXT_handle[] == C_NULL && (glNamedBufferStorageEXT_handle[] = getprocaddress_e("glNamedBufferStorageEXT")) + ccall(glNamedBufferStorageEXT_handle[], Cvoid, (GLuint, GLsizeiptr, Ptr{Cvoid}, GLbitfield), buffer, size, data, flags) end +const glClearNamedBufferDataEXT_handle = Ref{Ptr{Cvoid}}() + function glClearNamedBufferDataEXT(buffer, internalformat, format, type, data) - ccall(getprocaddress_e("glClearNamedBufferDataEXT"), Cvoid, (GLuint, GLenum, GLenum, GLenum, Ptr{Cvoid}), buffer, internalformat, format, type, data) + glClearNamedBufferDataEXT_handle[] == C_NULL && (glClearNamedBufferDataEXT_handle[] = getprocaddress_e("glClearNamedBufferDataEXT")) + ccall(glClearNamedBufferDataEXT_handle[], Cvoid, (GLuint, GLenum, GLenum, GLenum, Ptr{Cvoid}), buffer, internalformat, format, type, data) end +const glClearNamedBufferSubDataEXT_handle = Ref{Ptr{Cvoid}}() + function glClearNamedBufferSubDataEXT(buffer, internalformat, offset, size, format, type, data) - ccall(getprocaddress_e("glClearNamedBufferSubDataEXT"), Cvoid, (GLuint, GLenum, GLsizeiptr, GLsizeiptr, GLenum, GLenum, Ptr{Cvoid}), buffer, internalformat, offset, size, format, type, data) + glClearNamedBufferSubDataEXT_handle[] == C_NULL && (glClearNamedBufferSubDataEXT_handle[] = getprocaddress_e("glClearNamedBufferSubDataEXT")) + ccall(glClearNamedBufferSubDataEXT_handle[], Cvoid, (GLuint, GLenum, GLsizeiptr, GLsizeiptr, GLenum, GLenum, Ptr{Cvoid}), buffer, internalformat, offset, size, format, type, data) end +const glNamedFramebufferParameteriEXT_handle = Ref{Ptr{Cvoid}}() + function glNamedFramebufferParameteriEXT(framebuffer, pname, param) - ccall(getprocaddress_e("glNamedFramebufferParameteriEXT"), Cvoid, (GLuint, GLenum, GLint), framebuffer, pname, param) + glNamedFramebufferParameteriEXT_handle[] == C_NULL && (glNamedFramebufferParameteriEXT_handle[] = getprocaddress_e("glNamedFramebufferParameteriEXT")) + ccall(glNamedFramebufferParameteriEXT_handle[], Cvoid, (GLuint, GLenum, GLint), framebuffer, pname, param) end +const glGetNamedFramebufferParameterivEXT_handle = Ref{Ptr{Cvoid}}() + function glGetNamedFramebufferParameterivEXT(framebuffer, pname, params) - ccall(getprocaddress_e("glGetNamedFramebufferParameterivEXT"), Cvoid, (GLuint, GLenum, Ptr{GLint}), framebuffer, pname, params) + glGetNamedFramebufferParameterivEXT_handle[] == C_NULL && (glGetNamedFramebufferParameterivEXT_handle[] = getprocaddress_e("glGetNamedFramebufferParameterivEXT")) + ccall(glGetNamedFramebufferParameterivEXT_handle[], Cvoid, (GLuint, GLenum, Ptr{GLint}), framebuffer, pname, params) end +const glProgramUniform1dEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform1dEXT(program, location, x) - ccall(getprocaddress_e("glProgramUniform1dEXT"), Cvoid, (GLuint, GLint, GLdouble), program, location, x) + glProgramUniform1dEXT_handle[] == C_NULL && (glProgramUniform1dEXT_handle[] = getprocaddress_e("glProgramUniform1dEXT")) + ccall(glProgramUniform1dEXT_handle[], Cvoid, (GLuint, GLint, GLdouble), program, location, x) end +const glProgramUniform2dEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform2dEXT(program, location, x, y) - ccall(getprocaddress_e("glProgramUniform2dEXT"), Cvoid, (GLuint, GLint, GLdouble, GLdouble), program, location, x, y) + glProgramUniform2dEXT_handle[] == C_NULL && (glProgramUniform2dEXT_handle[] = getprocaddress_e("glProgramUniform2dEXT")) + ccall(glProgramUniform2dEXT_handle[], Cvoid, (GLuint, GLint, GLdouble, GLdouble), program, location, x, y) end +const glProgramUniform3dEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform3dEXT(program, location, x, y, z) - ccall(getprocaddress_e("glProgramUniform3dEXT"), Cvoid, (GLuint, GLint, GLdouble, GLdouble, GLdouble), program, location, x, y, z) + glProgramUniform3dEXT_handle[] == C_NULL && (glProgramUniform3dEXT_handle[] = getprocaddress_e("glProgramUniform3dEXT")) + ccall(glProgramUniform3dEXT_handle[], Cvoid, (GLuint, GLint, GLdouble, GLdouble, GLdouble), program, location, x, y, z) end +const glProgramUniform4dEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform4dEXT(program, location, x, y, z, w) - ccall(getprocaddress_e("glProgramUniform4dEXT"), Cvoid, (GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble), program, location, x, y, z, w) + glProgramUniform4dEXT_handle[] == C_NULL && (glProgramUniform4dEXT_handle[] = getprocaddress_e("glProgramUniform4dEXT")) + ccall(glProgramUniform4dEXT_handle[], Cvoid, (GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble), program, location, x, y, z, w) end +const glProgramUniform1dvEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform1dvEXT(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform1dvEXT"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) + glProgramUniform1dvEXT_handle[] == C_NULL && (glProgramUniform1dvEXT_handle[] = getprocaddress_e("glProgramUniform1dvEXT")) + ccall(glProgramUniform1dvEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) end +const glProgramUniform2dvEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform2dvEXT(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform2dvEXT"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) + glProgramUniform2dvEXT_handle[] == C_NULL && (glProgramUniform2dvEXT_handle[] = getprocaddress_e("glProgramUniform2dvEXT")) + ccall(glProgramUniform2dvEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) end +const glProgramUniform3dvEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform3dvEXT(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform3dvEXT"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) + glProgramUniform3dvEXT_handle[] == C_NULL && (glProgramUniform3dvEXT_handle[] = getprocaddress_e("glProgramUniform3dvEXT")) + ccall(glProgramUniform3dvEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) end +const glProgramUniform4dvEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform4dvEXT(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform4dvEXT"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) + glProgramUniform4dvEXT_handle[] == C_NULL && (glProgramUniform4dvEXT_handle[] = getprocaddress_e("glProgramUniform4dvEXT")) + ccall(glProgramUniform4dvEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLdouble}), program, location, count, value) end +const glProgramUniformMatrix2dvEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix2dvEXT(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix2dvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + glProgramUniformMatrix2dvEXT_handle[] == C_NULL && (glProgramUniformMatrix2dvEXT_handle[] = getprocaddress_e("glProgramUniformMatrix2dvEXT")) + ccall(glProgramUniformMatrix2dvEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end +const glProgramUniformMatrix3dvEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix3dvEXT(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix3dvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + glProgramUniformMatrix3dvEXT_handle[] == C_NULL && (glProgramUniformMatrix3dvEXT_handle[] = getprocaddress_e("glProgramUniformMatrix3dvEXT")) + ccall(glProgramUniformMatrix3dvEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end +const glProgramUniformMatrix4dvEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix4dvEXT(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix4dvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + glProgramUniformMatrix4dvEXT_handle[] == C_NULL && (glProgramUniformMatrix4dvEXT_handle[] = getprocaddress_e("glProgramUniformMatrix4dvEXT")) + ccall(glProgramUniformMatrix4dvEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end +const glProgramUniformMatrix2x3dvEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix2x3dvEXT(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix2x3dvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + glProgramUniformMatrix2x3dvEXT_handle[] == C_NULL && (glProgramUniformMatrix2x3dvEXT_handle[] = getprocaddress_e("glProgramUniformMatrix2x3dvEXT")) + ccall(glProgramUniformMatrix2x3dvEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end +const glProgramUniformMatrix2x4dvEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix2x4dvEXT(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix2x4dvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + glProgramUniformMatrix2x4dvEXT_handle[] == C_NULL && (glProgramUniformMatrix2x4dvEXT_handle[] = getprocaddress_e("glProgramUniformMatrix2x4dvEXT")) + ccall(glProgramUniformMatrix2x4dvEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end +const glProgramUniformMatrix3x2dvEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix3x2dvEXT(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix3x2dvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + glProgramUniformMatrix3x2dvEXT_handle[] == C_NULL && (glProgramUniformMatrix3x2dvEXT_handle[] = getprocaddress_e("glProgramUniformMatrix3x2dvEXT")) + ccall(glProgramUniformMatrix3x2dvEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end +const glProgramUniformMatrix3x4dvEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix3x4dvEXT(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix3x4dvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + glProgramUniformMatrix3x4dvEXT_handle[] == C_NULL && (glProgramUniformMatrix3x4dvEXT_handle[] = getprocaddress_e("glProgramUniformMatrix3x4dvEXT")) + ccall(glProgramUniformMatrix3x4dvEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end +const glProgramUniformMatrix4x2dvEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix4x2dvEXT(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix4x2dvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + glProgramUniformMatrix4x2dvEXT_handle[] == C_NULL && (glProgramUniformMatrix4x2dvEXT_handle[] = getprocaddress_e("glProgramUniformMatrix4x2dvEXT")) + ccall(glProgramUniformMatrix4x2dvEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end +const glProgramUniformMatrix4x3dvEXT_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformMatrix4x3dvEXT(program, location, count, transpose, value) - ccall(getprocaddress_e("glProgramUniformMatrix4x3dvEXT"), Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) + glProgramUniformMatrix4x3dvEXT_handle[] == C_NULL && (glProgramUniformMatrix4x3dvEXT_handle[] = getprocaddress_e("glProgramUniformMatrix4x3dvEXT")) + ccall(glProgramUniformMatrix4x3dvEXT_handle[], Cvoid, (GLuint, GLint, GLsizei, GLboolean, Ptr{GLdouble}), program, location, count, transpose, value) end +const glTextureBufferRangeEXT_handle = Ref{Ptr{Cvoid}}() + function glTextureBufferRangeEXT(texture, target, internalformat, buffer, offset, size) - ccall(getprocaddress_e("glTextureBufferRangeEXT"), Cvoid, (GLuint, GLenum, GLenum, GLuint, GLintptr, GLsizeiptr), texture, target, internalformat, buffer, offset, size) + glTextureBufferRangeEXT_handle[] == C_NULL && (glTextureBufferRangeEXT_handle[] = getprocaddress_e("glTextureBufferRangeEXT")) + ccall(glTextureBufferRangeEXT_handle[], Cvoid, (GLuint, GLenum, GLenum, GLuint, GLintptr, GLsizeiptr), texture, target, internalformat, buffer, offset, size) end +const glTextureStorage1DEXT_handle = Ref{Ptr{Cvoid}}() + function glTextureStorage1DEXT(texture, target, levels, internalformat, width) - ccall(getprocaddress_e("glTextureStorage1DEXT"), Cvoid, (GLuint, GLenum, GLsizei, GLenum, GLsizei), texture, target, levels, internalformat, width) + glTextureStorage1DEXT_handle[] == C_NULL && (glTextureStorage1DEXT_handle[] = getprocaddress_e("glTextureStorage1DEXT")) + ccall(glTextureStorage1DEXT_handle[], Cvoid, (GLuint, GLenum, GLsizei, GLenum, GLsizei), texture, target, levels, internalformat, width) end +const glTextureStorage2DEXT_handle = Ref{Ptr{Cvoid}}() + function glTextureStorage2DEXT(texture, target, levels, internalformat, width, height) - ccall(getprocaddress_e("glTextureStorage2DEXT"), Cvoid, (GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei), texture, target, levels, internalformat, width, height) + glTextureStorage2DEXT_handle[] == C_NULL && (glTextureStorage2DEXT_handle[] = getprocaddress_e("glTextureStorage2DEXT")) + ccall(glTextureStorage2DEXT_handle[], Cvoid, (GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei), texture, target, levels, internalformat, width, height) end +const glTextureStorage3DEXT_handle = Ref{Ptr{Cvoid}}() + function glTextureStorage3DEXT(texture, target, levels, internalformat, width, height, depth) - ccall(getprocaddress_e("glTextureStorage3DEXT"), Cvoid, (GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei), texture, target, levels, internalformat, width, height, depth) + glTextureStorage3DEXT_handle[] == C_NULL && (glTextureStorage3DEXT_handle[] = getprocaddress_e("glTextureStorage3DEXT")) + ccall(glTextureStorage3DEXT_handle[], Cvoid, (GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei), texture, target, levels, internalformat, width, height, depth) end +const glTextureStorage2DMultisampleEXT_handle = Ref{Ptr{Cvoid}}() + function glTextureStorage2DMultisampleEXT(texture, target, samples, internalformat, width, height, fixedsamplelocations) - ccall(getprocaddress_e("glTextureStorage2DMultisampleEXT"), Cvoid, (GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean), texture, target, samples, internalformat, width, height, fixedsamplelocations) + glTextureStorage2DMultisampleEXT_handle[] == C_NULL && (glTextureStorage2DMultisampleEXT_handle[] = getprocaddress_e("glTextureStorage2DMultisampleEXT")) + ccall(glTextureStorage2DMultisampleEXT_handle[], Cvoid, (GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean), texture, target, samples, internalformat, width, height, fixedsamplelocations) end +const glTextureStorage3DMultisampleEXT_handle = Ref{Ptr{Cvoid}}() + function glTextureStorage3DMultisampleEXT(texture, target, samples, internalformat, width, height, depth, fixedsamplelocations) - ccall(getprocaddress_e("glTextureStorage3DMultisampleEXT"), Cvoid, (GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean), texture, target, samples, internalformat, width, height, depth, fixedsamplelocations) + glTextureStorage3DMultisampleEXT_handle[] == C_NULL && (glTextureStorage3DMultisampleEXT_handle[] = getprocaddress_e("glTextureStorage3DMultisampleEXT")) + ccall(glTextureStorage3DMultisampleEXT_handle[], Cvoid, (GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean), texture, target, samples, internalformat, width, height, depth, fixedsamplelocations) end +const glVertexArrayBindVertexBufferEXT_handle = Ref{Ptr{Cvoid}}() + function glVertexArrayBindVertexBufferEXT(vaobj, bindingindex, buffer, offset, stride) - ccall(getprocaddress_e("glVertexArrayBindVertexBufferEXT"), Cvoid, (GLuint, GLuint, GLuint, GLintptr, GLsizei), vaobj, bindingindex, buffer, offset, stride) + glVertexArrayBindVertexBufferEXT_handle[] == C_NULL && (glVertexArrayBindVertexBufferEXT_handle[] = getprocaddress_e("glVertexArrayBindVertexBufferEXT")) + ccall(glVertexArrayBindVertexBufferEXT_handle[], Cvoid, (GLuint, GLuint, GLuint, GLintptr, GLsizei), vaobj, bindingindex, buffer, offset, stride) end +const glVertexArrayVertexAttribFormatEXT_handle = Ref{Ptr{Cvoid}}() + function glVertexArrayVertexAttribFormatEXT(vaobj, attribindex, size, type, normalized, relativeoffset) - ccall(getprocaddress_e("glVertexArrayVertexAttribFormatEXT"), Cvoid, (GLuint, GLuint, GLint, GLenum, GLboolean, GLuint), vaobj, attribindex, size, type, normalized, relativeoffset) + glVertexArrayVertexAttribFormatEXT_handle[] == C_NULL && (glVertexArrayVertexAttribFormatEXT_handle[] = getprocaddress_e("glVertexArrayVertexAttribFormatEXT")) + ccall(glVertexArrayVertexAttribFormatEXT_handle[], Cvoid, (GLuint, GLuint, GLint, GLenum, GLboolean, GLuint), vaobj, attribindex, size, type, normalized, relativeoffset) end +const glVertexArrayVertexAttribIFormatEXT_handle = Ref{Ptr{Cvoid}}() + function glVertexArrayVertexAttribIFormatEXT(vaobj, attribindex, size, type, relativeoffset) - ccall(getprocaddress_e("glVertexArrayVertexAttribIFormatEXT"), Cvoid, (GLuint, GLuint, GLint, GLenum, GLuint), vaobj, attribindex, size, type, relativeoffset) + glVertexArrayVertexAttribIFormatEXT_handle[] == C_NULL && (glVertexArrayVertexAttribIFormatEXT_handle[] = getprocaddress_e("glVertexArrayVertexAttribIFormatEXT")) + ccall(glVertexArrayVertexAttribIFormatEXT_handle[], Cvoid, (GLuint, GLuint, GLint, GLenum, GLuint), vaobj, attribindex, size, type, relativeoffset) end +const glVertexArrayVertexAttribLFormatEXT_handle = Ref{Ptr{Cvoid}}() + function glVertexArrayVertexAttribLFormatEXT(vaobj, attribindex, size, type, relativeoffset) - ccall(getprocaddress_e("glVertexArrayVertexAttribLFormatEXT"), Cvoid, (GLuint, GLuint, GLint, GLenum, GLuint), vaobj, attribindex, size, type, relativeoffset) + glVertexArrayVertexAttribLFormatEXT_handle[] == C_NULL && (glVertexArrayVertexAttribLFormatEXT_handle[] = getprocaddress_e("glVertexArrayVertexAttribLFormatEXT")) + ccall(glVertexArrayVertexAttribLFormatEXT_handle[], Cvoid, (GLuint, GLuint, GLint, GLenum, GLuint), vaobj, attribindex, size, type, relativeoffset) end +const glVertexArrayVertexAttribBindingEXT_handle = Ref{Ptr{Cvoid}}() + function glVertexArrayVertexAttribBindingEXT(vaobj, attribindex, bindingindex) - ccall(getprocaddress_e("glVertexArrayVertexAttribBindingEXT"), Cvoid, (GLuint, GLuint, GLuint), vaobj, attribindex, bindingindex) + glVertexArrayVertexAttribBindingEXT_handle[] == C_NULL && (glVertexArrayVertexAttribBindingEXT_handle[] = getprocaddress_e("glVertexArrayVertexAttribBindingEXT")) + ccall(glVertexArrayVertexAttribBindingEXT_handle[], Cvoid, (GLuint, GLuint, GLuint), vaobj, attribindex, bindingindex) end +const glVertexArrayVertexBindingDivisorEXT_handle = Ref{Ptr{Cvoid}}() + function glVertexArrayVertexBindingDivisorEXT(vaobj, bindingindex, divisor) - ccall(getprocaddress_e("glVertexArrayVertexBindingDivisorEXT"), Cvoid, (GLuint, GLuint, GLuint), vaobj, bindingindex, divisor) + glVertexArrayVertexBindingDivisorEXT_handle[] == C_NULL && (glVertexArrayVertexBindingDivisorEXT_handle[] = getprocaddress_e("glVertexArrayVertexBindingDivisorEXT")) + ccall(glVertexArrayVertexBindingDivisorEXT_handle[], Cvoid, (GLuint, GLuint, GLuint), vaobj, bindingindex, divisor) end +const glVertexArrayVertexAttribLOffsetEXT_handle = Ref{Ptr{Cvoid}}() + function glVertexArrayVertexAttribLOffsetEXT(vaobj, buffer, index, size, type, stride, offset) - ccall(getprocaddress_e("glVertexArrayVertexAttribLOffsetEXT"), Cvoid, (GLuint, GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, index, size, type, stride, offset) + glVertexArrayVertexAttribLOffsetEXT_handle[] == C_NULL && (glVertexArrayVertexAttribLOffsetEXT_handle[] = getprocaddress_e("glVertexArrayVertexAttribLOffsetEXT")) + ccall(glVertexArrayVertexAttribLOffsetEXT_handle[], Cvoid, (GLuint, GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr), vaobj, buffer, index, size, type, stride, offset) end +const glTexturePageCommitmentEXT_handle = Ref{Ptr{Cvoid}}() + function glTexturePageCommitmentEXT(texture, level, xoffset, yoffset, zoffset, width, height, depth, commit) - ccall(getprocaddress_e("glTexturePageCommitmentEXT"), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLboolean), texture, level, xoffset, yoffset, zoffset, width, height, depth, commit) + glTexturePageCommitmentEXT_handle[] == C_NULL && (glTexturePageCommitmentEXT_handle[] = getprocaddress_e("glTexturePageCommitmentEXT")) + ccall(glTexturePageCommitmentEXT_handle[], Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLboolean), texture, level, xoffset, yoffset, zoffset, width, height, depth, commit) end +const glVertexArrayVertexAttribDivisorEXT_handle = Ref{Ptr{Cvoid}}() + function glVertexArrayVertexAttribDivisorEXT(vaobj, index, divisor) - ccall(getprocaddress_e("glVertexArrayVertexAttribDivisorEXT"), Cvoid, (GLuint, GLuint, GLuint), vaobj, index, divisor) + glVertexArrayVertexAttribDivisorEXT_handle[] == C_NULL && (glVertexArrayVertexAttribDivisorEXT_handle[] = getprocaddress_e("glVertexArrayVertexAttribDivisorEXT")) + ccall(glVertexArrayVertexAttribDivisorEXT_handle[], Cvoid, (GLuint, GLuint, GLuint), vaobj, index, divisor) end # typedef void ( APIENTRYP PFNGLDRAWARRAYSINSTANCEDEXTPROC ) ( GLenum mode , GLint start , GLsizei count , GLsizei primcount ) @@ -7333,26 +10432,38 @@ const PFNGLDRAWARRAYSINSTANCEDEXTPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLDRAWELEMENTSINSTANCEDEXTPROC ) ( GLenum mode , GLsizei count , GLenum type , const void * indices , GLsizei primcount ) const PFNGLDRAWELEMENTSINSTANCEDEXTPROC = Ptr{Cvoid} +const glDrawArraysInstancedEXT_handle = Ref{Ptr{Cvoid}}() + function glDrawArraysInstancedEXT(mode, start, count, primcount) - ccall(getprocaddress_e("glDrawArraysInstancedEXT"), Cvoid, (GLenum, GLint, GLsizei, GLsizei), mode, start, count, primcount) + glDrawArraysInstancedEXT_handle[] == C_NULL && (glDrawArraysInstancedEXT_handle[] = getprocaddress_e("glDrawArraysInstancedEXT")) + ccall(glDrawArraysInstancedEXT_handle[], Cvoid, (GLenum, GLint, GLsizei, GLsizei), mode, start, count, primcount) end +const glDrawElementsInstancedEXT_handle = Ref{Ptr{Cvoid}}() + function glDrawElementsInstancedEXT(mode, count, type, indices, primcount) - ccall(getprocaddress_e("glDrawElementsInstancedEXT"), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLsizei), mode, count, type, indices, primcount) + glDrawElementsInstancedEXT_handle[] == C_NULL && (glDrawElementsInstancedEXT_handle[] = getprocaddress_e("glDrawElementsInstancedEXT")) + ccall(glDrawElementsInstancedEXT_handle[], Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLsizei), mode, count, type, indices, primcount) end # typedef void ( APIENTRYP PFNGLPOLYGONOFFSETCLAMPEXTPROC ) ( GLfloat factor , GLfloat units , GLfloat clamp ) const PFNGLPOLYGONOFFSETCLAMPEXTPROC = Ptr{Cvoid} +const glPolygonOffsetClampEXT_handle = Ref{Ptr{Cvoid}}() + function glPolygonOffsetClampEXT(factor, units, clamp) - ccall(getprocaddress_e("glPolygonOffsetClampEXT"), Cvoid, (GLfloat, GLfloat, GLfloat), factor, units, clamp) + glPolygonOffsetClampEXT_handle[] == C_NULL && (glPolygonOffsetClampEXT_handle[] = getprocaddress_e("glPolygonOffsetClampEXT")) + ccall(glPolygonOffsetClampEXT_handle[], Cvoid, (GLfloat, GLfloat, GLfloat), factor, units, clamp) end # typedef void ( APIENTRYP PFNGLRASTERSAMPLESEXTPROC ) ( GLuint samples , GLboolean fixedsamplelocations ) const PFNGLRASTERSAMPLESEXTPROC = Ptr{Cvoid} +const glRasterSamplesEXT_handle = Ref{Ptr{Cvoid}}() + function glRasterSamplesEXT(samples, fixedsamplelocations) - ccall(getprocaddress_e("glRasterSamplesEXT"), Cvoid, (GLuint, GLboolean), samples, fixedsamplelocations) + glRasterSamplesEXT_handle[] == C_NULL && (glRasterSamplesEXT_handle[] = getprocaddress_e("glRasterSamplesEXT")) + ccall(glRasterSamplesEXT_handle[], Cvoid, (GLuint, GLboolean), samples, fixedsamplelocations) end # typedef void ( APIENTRYP PFNGLUSESHADERPROGRAMEXTPROC ) ( GLenum type , GLuint program ) @@ -7364,23 +10475,35 @@ const PFNGLACTIVEPROGRAMEXTPROC = Ptr{Cvoid} # typedef GLuint ( APIENTRYP PFNGLCREATESHADERPROGRAMEXTPROC ) ( GLenum type , const GLchar * string ) const PFNGLCREATESHADERPROGRAMEXTPROC = Ptr{Cvoid} +const glUseShaderProgramEXT_handle = Ref{Ptr{Cvoid}}() + function glUseShaderProgramEXT(type, program) - ccall(getprocaddress_e("glUseShaderProgramEXT"), Cvoid, (GLenum, GLuint), type, program) + glUseShaderProgramEXT_handle[] == C_NULL && (glUseShaderProgramEXT_handle[] = getprocaddress_e("glUseShaderProgramEXT")) + ccall(glUseShaderProgramEXT_handle[], Cvoid, (GLenum, GLuint), type, program) end +const glActiveProgramEXT_handle = Ref{Ptr{Cvoid}}() + function glActiveProgramEXT(program) - ccall(getprocaddress_e("glActiveProgramEXT"), Cvoid, (GLuint,), program) + glActiveProgramEXT_handle[] == C_NULL && (glActiveProgramEXT_handle[] = getprocaddress_e("glActiveProgramEXT")) + ccall(glActiveProgramEXT_handle[], Cvoid, (GLuint,), program) end +const glCreateShaderProgramEXT_handle = Ref{Ptr{Cvoid}}() + function glCreateShaderProgramEXT(type, string) - ccall(getprocaddress_e("glCreateShaderProgramEXT"), GLuint, (GLenum, Ptr{GLchar}), type, string) + glCreateShaderProgramEXT_handle[] == C_NULL && (glCreateShaderProgramEXT_handle[] = getprocaddress_e("glCreateShaderProgramEXT")) + ccall(glCreateShaderProgramEXT_handle[], GLuint, (GLenum, Ptr{GLchar}), type, string) end # typedef void ( APIENTRYP PFNGLFRAMEBUFFERFETCHBARRIEREXTPROC ) ( void ) const PFNGLFRAMEBUFFERFETCHBARRIEREXTPROC = Ptr{Cvoid} +const glFramebufferFetchBarrierEXT_handle = Ref{Ptr{Cvoid}}() + function glFramebufferFetchBarrierEXT() - ccall(getprocaddress_e("glFramebufferFetchBarrierEXT"), Cvoid, ()) + glFramebufferFetchBarrierEXT_handle[] == C_NULL && (glFramebufferFetchBarrierEXT_handle[] = getprocaddress_e("glFramebufferFetchBarrierEXT")) + ccall(glFramebufferFetchBarrierEXT_handle[], Cvoid, ()) end # typedef void ( APIENTRYP PFNGLTEXSTORAGE1DEXTPROC ) ( GLenum target , GLsizei levels , GLenum internalformat , GLsizei width ) @@ -7392,30 +10515,45 @@ const PFNGLTEXSTORAGE2DEXTPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLTEXSTORAGE3DEXTPROC ) ( GLenum target , GLsizei levels , GLenum internalformat , GLsizei width , GLsizei height , GLsizei depth ) const PFNGLTEXSTORAGE3DEXTPROC = Ptr{Cvoid} +const glTexStorage1DEXT_handle = Ref{Ptr{Cvoid}}() + function glTexStorage1DEXT(target, levels, internalformat, width) - ccall(getprocaddress_e("glTexStorage1DEXT"), Cvoid, (GLenum, GLsizei, GLenum, GLsizei), target, levels, internalformat, width) + glTexStorage1DEXT_handle[] == C_NULL && (glTexStorage1DEXT_handle[] = getprocaddress_e("glTexStorage1DEXT")) + ccall(glTexStorage1DEXT_handle[], Cvoid, (GLenum, GLsizei, GLenum, GLsizei), target, levels, internalformat, width) end +const glTexStorage2DEXT_handle = Ref{Ptr{Cvoid}}() + function glTexStorage2DEXT(target, levels, internalformat, width, height) - ccall(getprocaddress_e("glTexStorage2DEXT"), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei), target, levels, internalformat, width, height) + glTexStorage2DEXT_handle[] == C_NULL && (glTexStorage2DEXT_handle[] = getprocaddress_e("glTexStorage2DEXT")) + ccall(glTexStorage2DEXT_handle[], Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei), target, levels, internalformat, width, height) end +const glTexStorage3DEXT_handle = Ref{Ptr{Cvoid}}() + function glTexStorage3DEXT(target, levels, internalformat, width, height, depth) - ccall(getprocaddress_e("glTexStorage3DEXT"), Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei), target, levels, internalformat, width, height, depth) + glTexStorage3DEXT_handle[] == C_NULL && (glTexStorage3DEXT_handle[] = getprocaddress_e("glTexStorage3DEXT")) + ccall(glTexStorage3DEXT_handle[], Cvoid, (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei), target, levels, internalformat, width, height, depth) end # typedef void ( APIENTRYP PFNGLWINDOWRECTANGLESEXTPROC ) ( GLenum mode , GLsizei count , const GLint * box ) const PFNGLWINDOWRECTANGLESEXTPROC = Ptr{Cvoid} +const glWindowRectanglesEXT_handle = Ref{Ptr{Cvoid}}() + function glWindowRectanglesEXT(mode, count, box) - ccall(getprocaddress_e("glWindowRectanglesEXT"), Cvoid, (GLenum, GLsizei, Ptr{GLint}), mode, count, box) + glWindowRectanglesEXT_handle[] == C_NULL && (glWindowRectanglesEXT_handle[] = getprocaddress_e("glWindowRectanglesEXT")) + ccall(glWindowRectanglesEXT_handle[], Cvoid, (GLenum, GLsizei, Ptr{GLint}), mode, count, box) end # typedef void ( APIENTRYP PFNGLAPPLYFRAMEBUFFERATTACHMENTCMAAINTELPROC ) ( void ) const PFNGLAPPLYFRAMEBUFFERATTACHMENTCMAAINTELPROC = Ptr{Cvoid} +const glApplyFramebufferAttachmentCMAAINTEL_handle = Ref{Ptr{Cvoid}}() + function glApplyFramebufferAttachmentCMAAINTEL() - ccall(getprocaddress_e("glApplyFramebufferAttachmentCMAAINTEL"), Cvoid, ()) + glApplyFramebufferAttachmentCMAAINTEL_handle[] == C_NULL && (glApplyFramebufferAttachmentCMAAINTEL_handle[] = getprocaddress_e("glApplyFramebufferAttachmentCMAAINTEL")) + ccall(glApplyFramebufferAttachmentCMAAINTEL_handle[], Cvoid, ()) end # typedef void ( APIENTRYP PFNGLBEGINPERFQUERYINTELPROC ) ( GLuint queryHandle ) @@ -7448,44 +10586,74 @@ const PFNGLGETPERFQUERYIDBYNAMEINTELPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLGETPERFQUERYINFOINTELPROC ) ( GLuint queryId , GLuint queryNameLength , GLchar * queryName , GLuint * dataSize , GLuint * noCounters , GLuint * noInstances , GLuint * capsMask ) const PFNGLGETPERFQUERYINFOINTELPROC = Ptr{Cvoid} +const glBeginPerfQueryINTEL_handle = Ref{Ptr{Cvoid}}() + function glBeginPerfQueryINTEL(queryHandle) - ccall(getprocaddress_e("glBeginPerfQueryINTEL"), Cvoid, (GLuint,), queryHandle) + glBeginPerfQueryINTEL_handle[] == C_NULL && (glBeginPerfQueryINTEL_handle[] = getprocaddress_e("glBeginPerfQueryINTEL")) + ccall(glBeginPerfQueryINTEL_handle[], Cvoid, (GLuint,), queryHandle) end +const glCreatePerfQueryINTEL_handle = Ref{Ptr{Cvoid}}() + function glCreatePerfQueryINTEL(queryId, queryHandle) - ccall(getprocaddress_e("glCreatePerfQueryINTEL"), Cvoid, (GLuint, Ptr{GLuint}), queryId, queryHandle) + glCreatePerfQueryINTEL_handle[] == C_NULL && (glCreatePerfQueryINTEL_handle[] = getprocaddress_e("glCreatePerfQueryINTEL")) + ccall(glCreatePerfQueryINTEL_handle[], Cvoid, (GLuint, Ptr{GLuint}), queryId, queryHandle) end +const glDeletePerfQueryINTEL_handle = Ref{Ptr{Cvoid}}() + function glDeletePerfQueryINTEL(queryHandle) - ccall(getprocaddress_e("glDeletePerfQueryINTEL"), Cvoid, (GLuint,), queryHandle) + glDeletePerfQueryINTEL_handle[] == C_NULL && (glDeletePerfQueryINTEL_handle[] = getprocaddress_e("glDeletePerfQueryINTEL")) + ccall(glDeletePerfQueryINTEL_handle[], Cvoid, (GLuint,), queryHandle) end +const glEndPerfQueryINTEL_handle = Ref{Ptr{Cvoid}}() + function glEndPerfQueryINTEL(queryHandle) - ccall(getprocaddress_e("glEndPerfQueryINTEL"), Cvoid, (GLuint,), queryHandle) + glEndPerfQueryINTEL_handle[] == C_NULL && (glEndPerfQueryINTEL_handle[] = getprocaddress_e("glEndPerfQueryINTEL")) + ccall(glEndPerfQueryINTEL_handle[], Cvoid, (GLuint,), queryHandle) end +const glGetFirstPerfQueryIdINTEL_handle = Ref{Ptr{Cvoid}}() + function glGetFirstPerfQueryIdINTEL(queryId) - ccall(getprocaddress_e("glGetFirstPerfQueryIdINTEL"), Cvoid, (Ptr{GLuint},), queryId) + glGetFirstPerfQueryIdINTEL_handle[] == C_NULL && (glGetFirstPerfQueryIdINTEL_handle[] = getprocaddress_e("glGetFirstPerfQueryIdINTEL")) + ccall(glGetFirstPerfQueryIdINTEL_handle[], Cvoid, (Ptr{GLuint},), queryId) end +const glGetNextPerfQueryIdINTEL_handle = Ref{Ptr{Cvoid}}() + function glGetNextPerfQueryIdINTEL(queryId, nextQueryId) - ccall(getprocaddress_e("glGetNextPerfQueryIdINTEL"), Cvoid, (GLuint, Ptr{GLuint}), queryId, nextQueryId) + glGetNextPerfQueryIdINTEL_handle[] == C_NULL && (glGetNextPerfQueryIdINTEL_handle[] = getprocaddress_e("glGetNextPerfQueryIdINTEL")) + ccall(glGetNextPerfQueryIdINTEL_handle[], Cvoid, (GLuint, Ptr{GLuint}), queryId, nextQueryId) end +const glGetPerfCounterInfoINTEL_handle = Ref{Ptr{Cvoid}}() + function glGetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue) - ccall(getprocaddress_e("glGetPerfCounterInfoINTEL"), Cvoid, (GLuint, GLuint, GLuint, Ptr{GLchar}, GLuint, Ptr{GLchar}, Ptr{GLuint}, Ptr{GLuint}, Ptr{GLuint}, Ptr{GLuint}, Ptr{GLuint64}), queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue) + glGetPerfCounterInfoINTEL_handle[] == C_NULL && (glGetPerfCounterInfoINTEL_handle[] = getprocaddress_e("glGetPerfCounterInfoINTEL")) + ccall(glGetPerfCounterInfoINTEL_handle[], Cvoid, (GLuint, GLuint, GLuint, Ptr{GLchar}, GLuint, Ptr{GLchar}, Ptr{GLuint}, Ptr{GLuint}, Ptr{GLuint}, Ptr{GLuint}, Ptr{GLuint64}), queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue) end +const glGetPerfQueryDataINTEL_handle = Ref{Ptr{Cvoid}}() + function glGetPerfQueryDataINTEL(queryHandle, flags, dataSize, data, bytesWritten) - ccall(getprocaddress_e("glGetPerfQueryDataINTEL"), Cvoid, (GLuint, GLuint, GLsizei, Ptr{Cvoid}, Ptr{GLuint}), queryHandle, flags, dataSize, data, bytesWritten) + glGetPerfQueryDataINTEL_handle[] == C_NULL && (glGetPerfQueryDataINTEL_handle[] = getprocaddress_e("glGetPerfQueryDataINTEL")) + ccall(glGetPerfQueryDataINTEL_handle[], Cvoid, (GLuint, GLuint, GLsizei, Ptr{Cvoid}, Ptr{GLuint}), queryHandle, flags, dataSize, data, bytesWritten) end +const glGetPerfQueryIdByNameINTEL_handle = Ref{Ptr{Cvoid}}() + function glGetPerfQueryIdByNameINTEL(queryName, queryId) - ccall(getprocaddress_e("glGetPerfQueryIdByNameINTEL"), Cvoid, (Ptr{GLchar}, Ptr{GLuint}), queryName, queryId) + glGetPerfQueryIdByNameINTEL_handle[] == C_NULL && (glGetPerfQueryIdByNameINTEL_handle[] = getprocaddress_e("glGetPerfQueryIdByNameINTEL")) + ccall(glGetPerfQueryIdByNameINTEL_handle[], Cvoid, (Ptr{GLchar}, Ptr{GLuint}), queryName, queryId) end +const glGetPerfQueryInfoINTEL_handle = Ref{Ptr{Cvoid}}() + function glGetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, noCounters, noInstances, capsMask) - ccall(getprocaddress_e("glGetPerfQueryInfoINTEL"), Cvoid, (GLuint, GLuint, Ptr{GLchar}, Ptr{GLuint}, Ptr{GLuint}, Ptr{GLuint}, Ptr{GLuint}), queryId, queryNameLength, queryName, dataSize, noCounters, noInstances, capsMask) + glGetPerfQueryInfoINTEL_handle[] == C_NULL && (glGetPerfQueryInfoINTEL_handle[] = getprocaddress_e("glGetPerfQueryInfoINTEL")) + ccall(glGetPerfQueryInfoINTEL_handle[], Cvoid, (GLuint, GLuint, Ptr{GLchar}, Ptr{GLuint}, Ptr{GLuint}, Ptr{GLuint}, Ptr{GLuint}), queryId, queryNameLength, queryName, dataSize, noCounters, noInstances, capsMask) end # typedef void ( APIENTRYP PFNGLFRAMEBUFFERPARAMETERIMESAPROC ) ( GLenum target , GLenum pname , GLint param ) @@ -7494,12 +10662,18 @@ const PFNGLFRAMEBUFFERPARAMETERIMESAPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVMESAPROC ) ( GLenum target , GLenum pname , GLint * params ) const PFNGLGETFRAMEBUFFERPARAMETERIVMESAPROC = Ptr{Cvoid} +const glFramebufferParameteriMESA_handle = Ref{Ptr{Cvoid}}() + function glFramebufferParameteriMESA(target, pname, param) - ccall(getprocaddress_e("glFramebufferParameteriMESA"), Cvoid, (GLenum, GLenum, GLint), target, pname, param) + glFramebufferParameteriMESA_handle[] == C_NULL && (glFramebufferParameteriMESA_handle[] = getprocaddress_e("glFramebufferParameteriMESA")) + ccall(glFramebufferParameteriMESA_handle[], Cvoid, (GLenum, GLenum, GLint), target, pname, param) end +const glGetFramebufferParameterivMESA_handle = Ref{Ptr{Cvoid}}() + function glGetFramebufferParameterivMESA(target, pname, params) - ccall(getprocaddress_e("glGetFramebufferParameterivMESA"), Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) + glGetFramebufferParameterivMESA_handle[] == C_NULL && (glGetFramebufferParameterivMESA_handle[] = getprocaddress_e("glGetFramebufferParameterivMESA")) + ccall(glGetFramebufferParameterivMESA_handle[], Cvoid, (GLenum, GLenum, Ptr{GLint}), target, pname, params) end # typedef void ( APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC ) ( GLenum mode , const void * indirect , GLsizei drawCount , GLsizei stride , GLint vertexBufferCount ) @@ -7508,12 +10682,18 @@ const PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC ) ( GLenum mode , GLenum type , const void * indirect , GLsizei drawCount , GLsizei stride , GLint vertexBufferCount ) const PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC = Ptr{Cvoid} +const glMultiDrawArraysIndirectBindlessNV_handle = Ref{Ptr{Cvoid}}() + function glMultiDrawArraysIndirectBindlessNV(mode, indirect, drawCount, stride, vertexBufferCount) - ccall(getprocaddress_e("glMultiDrawArraysIndirectBindlessNV"), Cvoid, (GLenum, Ptr{Cvoid}, GLsizei, GLsizei, GLint), mode, indirect, drawCount, stride, vertexBufferCount) + glMultiDrawArraysIndirectBindlessNV_handle[] == C_NULL && (glMultiDrawArraysIndirectBindlessNV_handle[] = getprocaddress_e("glMultiDrawArraysIndirectBindlessNV")) + ccall(glMultiDrawArraysIndirectBindlessNV_handle[], Cvoid, (GLenum, Ptr{Cvoid}, GLsizei, GLsizei, GLint), mode, indirect, drawCount, stride, vertexBufferCount) end +const glMultiDrawElementsIndirectBindlessNV_handle = Ref{Ptr{Cvoid}}() + function glMultiDrawElementsIndirectBindlessNV(mode, type, indirect, drawCount, stride, vertexBufferCount) - ccall(getprocaddress_e("glMultiDrawElementsIndirectBindlessNV"), Cvoid, (GLenum, GLenum, Ptr{Cvoid}, GLsizei, GLsizei, GLint), mode, type, indirect, drawCount, stride, vertexBufferCount) + glMultiDrawElementsIndirectBindlessNV_handle[] == C_NULL && (glMultiDrawElementsIndirectBindlessNV_handle[] = getprocaddress_e("glMultiDrawElementsIndirectBindlessNV")) + ccall(glMultiDrawElementsIndirectBindlessNV_handle[], Cvoid, (GLenum, GLenum, Ptr{Cvoid}, GLsizei, GLsizei, GLint), mode, type, indirect, drawCount, stride, vertexBufferCount) end # typedef void ( APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSCOUNTNVPROC ) ( GLenum mode , const void * indirect , GLsizei drawCount , GLsizei maxDrawCount , GLsizei stride , GLint vertexBufferCount ) @@ -7522,12 +10702,18 @@ const PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSCOUNTNVPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSCOUNTNVPROC ) ( GLenum mode , GLenum type , const void * indirect , GLsizei drawCount , GLsizei maxDrawCount , GLsizei stride , GLint vertexBufferCount ) const PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSCOUNTNVPROC = Ptr{Cvoid} +const glMultiDrawArraysIndirectBindlessCountNV_handle = Ref{Ptr{Cvoid}}() + function glMultiDrawArraysIndirectBindlessCountNV(mode, indirect, drawCount, maxDrawCount, stride, vertexBufferCount) - ccall(getprocaddress_e("glMultiDrawArraysIndirectBindlessCountNV"), Cvoid, (GLenum, Ptr{Cvoid}, GLsizei, GLsizei, GLsizei, GLint), mode, indirect, drawCount, maxDrawCount, stride, vertexBufferCount) + glMultiDrawArraysIndirectBindlessCountNV_handle[] == C_NULL && (glMultiDrawArraysIndirectBindlessCountNV_handle[] = getprocaddress_e("glMultiDrawArraysIndirectBindlessCountNV")) + ccall(glMultiDrawArraysIndirectBindlessCountNV_handle[], Cvoid, (GLenum, Ptr{Cvoid}, GLsizei, GLsizei, GLsizei, GLint), mode, indirect, drawCount, maxDrawCount, stride, vertexBufferCount) end +const glMultiDrawElementsIndirectBindlessCountNV_handle = Ref{Ptr{Cvoid}}() + function glMultiDrawElementsIndirectBindlessCountNV(mode, type, indirect, drawCount, maxDrawCount, stride, vertexBufferCount) - ccall(getprocaddress_e("glMultiDrawElementsIndirectBindlessCountNV"), Cvoid, (GLenum, GLenum, Ptr{Cvoid}, GLsizei, GLsizei, GLsizei, GLint), mode, type, indirect, drawCount, maxDrawCount, stride, vertexBufferCount) + glMultiDrawElementsIndirectBindlessCountNV_handle[] == C_NULL && (glMultiDrawElementsIndirectBindlessCountNV_handle[] = getprocaddress_e("glMultiDrawElementsIndirectBindlessCountNV")) + ccall(glMultiDrawElementsIndirectBindlessCountNV_handle[], Cvoid, (GLenum, GLenum, Ptr{Cvoid}, GLsizei, GLsizei, GLsizei, GLint), mode, type, indirect, drawCount, maxDrawCount, stride, vertexBufferCount) end # typedef GLuint64 ( APIENTRYP PFNGLGETTEXTUREHANDLENVPROC ) ( GLuint texture ) @@ -7569,56 +10755,95 @@ const PFNGLISTEXTUREHANDLERESIDENTNVPROC = Ptr{Cvoid} # typedef GLboolean ( APIENTRYP PFNGLISIMAGEHANDLERESIDENTNVPROC ) ( GLuint64 handle ) const PFNGLISIMAGEHANDLERESIDENTNVPROC = Ptr{Cvoid} +const glGetTextureHandleNV_handle = Ref{Ptr{Cvoid}}() + function glGetTextureHandleNV(texture) - ccall(getprocaddress_e("glGetTextureHandleNV"), GLuint64, (GLuint,), texture) + glGetTextureHandleNV_handle[] == C_NULL && (glGetTextureHandleNV_handle[] = getprocaddress_e("glGetTextureHandleNV")) + ccall(glGetTextureHandleNV_handle[], GLuint64, (GLuint,), texture) end +const glGetTextureSamplerHandleNV_handle = Ref{Ptr{Cvoid}}() + function glGetTextureSamplerHandleNV(texture, sampler) - ccall(getprocaddress_e("glGetTextureSamplerHandleNV"), GLuint64, (GLuint, GLuint), texture, sampler) + glGetTextureSamplerHandleNV_handle[] == C_NULL && (glGetTextureSamplerHandleNV_handle[] = getprocaddress_e("glGetTextureSamplerHandleNV")) + ccall(glGetTextureSamplerHandleNV_handle[], GLuint64, (GLuint, GLuint), texture, sampler) end +const glMakeTextureHandleResidentNV_handle = Ref{Ptr{Cvoid}}() + function glMakeTextureHandleResidentNV(handle) - ccall(getprocaddress_e("glMakeTextureHandleResidentNV"), Cvoid, (GLuint64,), handle) + glMakeTextureHandleResidentNV_handle[] == C_NULL && (glMakeTextureHandleResidentNV_handle[] = getprocaddress_e("glMakeTextureHandleResidentNV")) + ccall(glMakeTextureHandleResidentNV_handle[], Cvoid, (GLuint64,), handle) end +const glMakeTextureHandleNonResidentNV_handle = Ref{Ptr{Cvoid}}() + function glMakeTextureHandleNonResidentNV(handle) - ccall(getprocaddress_e("glMakeTextureHandleNonResidentNV"), Cvoid, (GLuint64,), handle) + glMakeTextureHandleNonResidentNV_handle[] == C_NULL && (glMakeTextureHandleNonResidentNV_handle[] = getprocaddress_e("glMakeTextureHandleNonResidentNV")) + ccall(glMakeTextureHandleNonResidentNV_handle[], Cvoid, (GLuint64,), handle) end +const glGetImageHandleNV_handle = Ref{Ptr{Cvoid}}() + function glGetImageHandleNV(texture, level, layered, layer, format) - ccall(getprocaddress_e("glGetImageHandleNV"), GLuint64, (GLuint, GLint, GLboolean, GLint, GLenum), texture, level, layered, layer, format) + glGetImageHandleNV_handle[] == C_NULL && (glGetImageHandleNV_handle[] = getprocaddress_e("glGetImageHandleNV")) + ccall(glGetImageHandleNV_handle[], GLuint64, (GLuint, GLint, GLboolean, GLint, GLenum), texture, level, layered, layer, format) end +const glMakeImageHandleResidentNV_handle = Ref{Ptr{Cvoid}}() + function glMakeImageHandleResidentNV(handle, access) - ccall(getprocaddress_e("glMakeImageHandleResidentNV"), Cvoid, (GLuint64, GLenum), handle, access) + glMakeImageHandleResidentNV_handle[] == C_NULL && (glMakeImageHandleResidentNV_handle[] = getprocaddress_e("glMakeImageHandleResidentNV")) + ccall(glMakeImageHandleResidentNV_handle[], Cvoid, (GLuint64, GLenum), handle, access) end +const glMakeImageHandleNonResidentNV_handle = Ref{Ptr{Cvoid}}() + function glMakeImageHandleNonResidentNV(handle) - ccall(getprocaddress_e("glMakeImageHandleNonResidentNV"), Cvoid, (GLuint64,), handle) + glMakeImageHandleNonResidentNV_handle[] == C_NULL && (glMakeImageHandleNonResidentNV_handle[] = getprocaddress_e("glMakeImageHandleNonResidentNV")) + ccall(glMakeImageHandleNonResidentNV_handle[], Cvoid, (GLuint64,), handle) end +const glUniformHandleui64NV_handle = Ref{Ptr{Cvoid}}() + function glUniformHandleui64NV(location, value) - ccall(getprocaddress_e("glUniformHandleui64NV"), Cvoid, (GLint, GLuint64), location, value) + glUniformHandleui64NV_handle[] == C_NULL && (glUniformHandleui64NV_handle[] = getprocaddress_e("glUniformHandleui64NV")) + ccall(glUniformHandleui64NV_handle[], Cvoid, (GLint, GLuint64), location, value) end +const glUniformHandleui64vNV_handle = Ref{Ptr{Cvoid}}() + function glUniformHandleui64vNV(location, count, value) - ccall(getprocaddress_e("glUniformHandleui64vNV"), Cvoid, (GLint, GLsizei, Ptr{GLuint64}), location, count, value) + glUniformHandleui64vNV_handle[] == C_NULL && (glUniformHandleui64vNV_handle[] = getprocaddress_e("glUniformHandleui64vNV")) + ccall(glUniformHandleui64vNV_handle[], Cvoid, (GLint, GLsizei, Ptr{GLuint64}), location, count, value) end +const glProgramUniformHandleui64NV_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformHandleui64NV(program, location, value) - ccall(getprocaddress_e("glProgramUniformHandleui64NV"), Cvoid, (GLuint, GLint, GLuint64), program, location, value) + glProgramUniformHandleui64NV_handle[] == C_NULL && (glProgramUniformHandleui64NV_handle[] = getprocaddress_e("glProgramUniformHandleui64NV")) + ccall(glProgramUniformHandleui64NV_handle[], Cvoid, (GLuint, GLint, GLuint64), program, location, value) end +const glProgramUniformHandleui64vNV_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformHandleui64vNV(program, location, count, values) - ccall(getprocaddress_e("glProgramUniformHandleui64vNV"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, count, values) + glProgramUniformHandleui64vNV_handle[] == C_NULL && (glProgramUniformHandleui64vNV_handle[] = getprocaddress_e("glProgramUniformHandleui64vNV")) + ccall(glProgramUniformHandleui64vNV_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64}), program, location, count, values) end +const glIsTextureHandleResidentNV_handle = Ref{Ptr{Cvoid}}() + function glIsTextureHandleResidentNV(handle) - ccall(getprocaddress_e("glIsTextureHandleResidentNV"), GLboolean, (GLuint64,), handle) + glIsTextureHandleResidentNV_handle[] == C_NULL && (glIsTextureHandleResidentNV_handle[] = getprocaddress_e("glIsTextureHandleResidentNV")) + ccall(glIsTextureHandleResidentNV_handle[], GLboolean, (GLuint64,), handle) end +const glIsImageHandleResidentNV_handle = Ref{Ptr{Cvoid}}() + function glIsImageHandleResidentNV(handle) - ccall(getprocaddress_e("glIsImageHandleResidentNV"), GLboolean, (GLuint64,), handle) + glIsImageHandleResidentNV_handle[] == C_NULL && (glIsImageHandleResidentNV_handle[] = getprocaddress_e("glIsImageHandleResidentNV")) + ccall(glIsImageHandleResidentNV_handle[], GLboolean, (GLuint64,), handle) end # typedef void ( APIENTRYP PFNGLBLENDPARAMETERINVPROC ) ( GLenum pname , GLint value ) @@ -7627,19 +10852,28 @@ const PFNGLBLENDPARAMETERINVPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLBLENDBARRIERNVPROC ) ( void ) const PFNGLBLENDBARRIERNVPROC = Ptr{Cvoid} +const glBlendParameteriNV_handle = Ref{Ptr{Cvoid}}() + function glBlendParameteriNV(pname, value) - ccall(getprocaddress_e("glBlendParameteriNV"), Cvoid, (GLenum, GLint), pname, value) + glBlendParameteriNV_handle[] == C_NULL && (glBlendParameteriNV_handle[] = getprocaddress_e("glBlendParameteriNV")) + ccall(glBlendParameteriNV_handle[], Cvoid, (GLenum, GLint), pname, value) end +const glBlendBarrierNV_handle = Ref{Ptr{Cvoid}}() + function glBlendBarrierNV() - ccall(getprocaddress_e("glBlendBarrierNV"), Cvoid, ()) + glBlendBarrierNV_handle[] == C_NULL && (glBlendBarrierNV_handle[] = getprocaddress_e("glBlendBarrierNV")) + ccall(glBlendBarrierNV_handle[], Cvoid, ()) end # typedef void ( APIENTRYP PFNGLVIEWPORTPOSITIONWSCALENVPROC ) ( GLuint index , GLfloat xcoeff , GLfloat ycoeff ) const PFNGLVIEWPORTPOSITIONWSCALENVPROC = Ptr{Cvoid} +const glViewportPositionWScaleNV_handle = Ref{Ptr{Cvoid}}() + function glViewportPositionWScaleNV(index, xcoeff, ycoeff) - ccall(getprocaddress_e("glViewportPositionWScaleNV"), Cvoid, (GLuint, GLfloat, GLfloat), index, xcoeff, ycoeff) + glViewportPositionWScaleNV_handle[] == C_NULL && (glViewportPositionWScaleNV_handle[] = getprocaddress_e("glViewportPositionWScaleNV")) + ccall(glViewportPositionWScaleNV_handle[], Cvoid, (GLuint, GLfloat, GLfloat), index, xcoeff, ycoeff) end # typedef void ( APIENTRYP PFNGLCREATESTATESNVPROC ) ( GLsizei n , GLuint * states ) @@ -7693,72 +10927,123 @@ const PFNGLCOMPILECOMMANDLISTNVPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLCALLCOMMANDLISTNVPROC ) ( GLuint list ) const PFNGLCALLCOMMANDLISTNVPROC = Ptr{Cvoid} +const glCreateStatesNV_handle = Ref{Ptr{Cvoid}}() + function glCreateStatesNV(n, states) - ccall(getprocaddress_e("glCreateStatesNV"), Cvoid, (GLsizei, Ptr{GLuint}), n, states) + glCreateStatesNV_handle[] == C_NULL && (glCreateStatesNV_handle[] = getprocaddress_e("glCreateStatesNV")) + ccall(glCreateStatesNV_handle[], Cvoid, (GLsizei, Ptr{GLuint}), n, states) end +const glDeleteStatesNV_handle = Ref{Ptr{Cvoid}}() + function glDeleteStatesNV(n, states) - ccall(getprocaddress_e("glDeleteStatesNV"), Cvoid, (GLsizei, Ptr{GLuint}), n, states) + glDeleteStatesNV_handle[] == C_NULL && (glDeleteStatesNV_handle[] = getprocaddress_e("glDeleteStatesNV")) + ccall(glDeleteStatesNV_handle[], Cvoid, (GLsizei, Ptr{GLuint}), n, states) end +const glIsStateNV_handle = Ref{Ptr{Cvoid}}() + function glIsStateNV(state) - ccall(getprocaddress_e("glIsStateNV"), GLboolean, (GLuint,), state) + glIsStateNV_handle[] == C_NULL && (glIsStateNV_handle[] = getprocaddress_e("glIsStateNV")) + ccall(glIsStateNV_handle[], GLboolean, (GLuint,), state) end +const glStateCaptureNV_handle = Ref{Ptr{Cvoid}}() + function glStateCaptureNV(state, mode) - ccall(getprocaddress_e("glStateCaptureNV"), Cvoid, (GLuint, GLenum), state, mode) + glStateCaptureNV_handle[] == C_NULL && (glStateCaptureNV_handle[] = getprocaddress_e("glStateCaptureNV")) + ccall(glStateCaptureNV_handle[], Cvoid, (GLuint, GLenum), state, mode) end +const glGetCommandHeaderNV_handle = Ref{Ptr{Cvoid}}() + function glGetCommandHeaderNV(tokenID, size) - ccall(getprocaddress_e("glGetCommandHeaderNV"), GLuint, (GLenum, GLuint), tokenID, size) + glGetCommandHeaderNV_handle[] == C_NULL && (glGetCommandHeaderNV_handle[] = getprocaddress_e("glGetCommandHeaderNV")) + ccall(glGetCommandHeaderNV_handle[], GLuint, (GLenum, GLuint), tokenID, size) end +const glGetStageIndexNV_handle = Ref{Ptr{Cvoid}}() + function glGetStageIndexNV(shadertype) - ccall(getprocaddress_e("glGetStageIndexNV"), GLushort, (GLenum,), shadertype) + glGetStageIndexNV_handle[] == C_NULL && (glGetStageIndexNV_handle[] = getprocaddress_e("glGetStageIndexNV")) + ccall(glGetStageIndexNV_handle[], GLushort, (GLenum,), shadertype) end +const glDrawCommandsNV_handle = Ref{Ptr{Cvoid}}() + function glDrawCommandsNV(primitiveMode, buffer, indirects, sizes, count) - ccall(getprocaddress_e("glDrawCommandsNV"), Cvoid, (GLenum, GLuint, Ptr{GLintptr}, Ptr{GLsizei}, GLuint), primitiveMode, buffer, indirects, sizes, count) + glDrawCommandsNV_handle[] == C_NULL && (glDrawCommandsNV_handle[] = getprocaddress_e("glDrawCommandsNV")) + ccall(glDrawCommandsNV_handle[], Cvoid, (GLenum, GLuint, Ptr{GLintptr}, Ptr{GLsizei}, GLuint), primitiveMode, buffer, indirects, sizes, count) end +const glDrawCommandsAddressNV_handle = Ref{Ptr{Cvoid}}() + function glDrawCommandsAddressNV(primitiveMode, indirects, sizes, count) - ccall(getprocaddress_e("glDrawCommandsAddressNV"), Cvoid, (GLenum, Ptr{GLuint64}, Ptr{GLsizei}, GLuint), primitiveMode, indirects, sizes, count) + glDrawCommandsAddressNV_handle[] == C_NULL && (glDrawCommandsAddressNV_handle[] = getprocaddress_e("glDrawCommandsAddressNV")) + ccall(glDrawCommandsAddressNV_handle[], Cvoid, (GLenum, Ptr{GLuint64}, Ptr{GLsizei}, GLuint), primitiveMode, indirects, sizes, count) end +const glDrawCommandsStatesNV_handle = Ref{Ptr{Cvoid}}() + function glDrawCommandsStatesNV(buffer, indirects, sizes, states, fbos, count) - ccall(getprocaddress_e("glDrawCommandsStatesNV"), Cvoid, (GLuint, Ptr{GLintptr}, Ptr{GLsizei}, Ptr{GLuint}, Ptr{GLuint}, GLuint), buffer, indirects, sizes, states, fbos, count) + glDrawCommandsStatesNV_handle[] == C_NULL && (glDrawCommandsStatesNV_handle[] = getprocaddress_e("glDrawCommandsStatesNV")) + ccall(glDrawCommandsStatesNV_handle[], Cvoid, (GLuint, Ptr{GLintptr}, Ptr{GLsizei}, Ptr{GLuint}, Ptr{GLuint}, GLuint), buffer, indirects, sizes, states, fbos, count) end +const glDrawCommandsStatesAddressNV_handle = Ref{Ptr{Cvoid}}() + function glDrawCommandsStatesAddressNV(indirects, sizes, states, fbos, count) - ccall(getprocaddress_e("glDrawCommandsStatesAddressNV"), Cvoid, (Ptr{GLuint64}, Ptr{GLsizei}, Ptr{GLuint}, Ptr{GLuint}, GLuint), indirects, sizes, states, fbos, count) + glDrawCommandsStatesAddressNV_handle[] == C_NULL && (glDrawCommandsStatesAddressNV_handle[] = getprocaddress_e("glDrawCommandsStatesAddressNV")) + ccall(glDrawCommandsStatesAddressNV_handle[], Cvoid, (Ptr{GLuint64}, Ptr{GLsizei}, Ptr{GLuint}, Ptr{GLuint}, GLuint), indirects, sizes, states, fbos, count) end +const glCreateCommandListsNV_handle = Ref{Ptr{Cvoid}}() + function glCreateCommandListsNV(n, lists) - ccall(getprocaddress_e("glCreateCommandListsNV"), Cvoid, (GLsizei, Ptr{GLuint}), n, lists) + glCreateCommandListsNV_handle[] == C_NULL && (glCreateCommandListsNV_handle[] = getprocaddress_e("glCreateCommandListsNV")) + ccall(glCreateCommandListsNV_handle[], Cvoid, (GLsizei, Ptr{GLuint}), n, lists) end +const glDeleteCommandListsNV_handle = Ref{Ptr{Cvoid}}() + function glDeleteCommandListsNV(n, lists) - ccall(getprocaddress_e("glDeleteCommandListsNV"), Cvoid, (GLsizei, Ptr{GLuint}), n, lists) + glDeleteCommandListsNV_handle[] == C_NULL && (glDeleteCommandListsNV_handle[] = getprocaddress_e("glDeleteCommandListsNV")) + ccall(glDeleteCommandListsNV_handle[], Cvoid, (GLsizei, Ptr{GLuint}), n, lists) end +const glIsCommandListNV_handle = Ref{Ptr{Cvoid}}() + function glIsCommandListNV(list) - ccall(getprocaddress_e("glIsCommandListNV"), GLboolean, (GLuint,), list) + glIsCommandListNV_handle[] == C_NULL && (glIsCommandListNV_handle[] = getprocaddress_e("glIsCommandListNV")) + ccall(glIsCommandListNV_handle[], GLboolean, (GLuint,), list) end +const glListDrawCommandsStatesClientNV_handle = Ref{Ptr{Cvoid}}() + function glListDrawCommandsStatesClientNV(list, segment, indirects, sizes, states, fbos, count) - ccall(getprocaddress_e("glListDrawCommandsStatesClientNV"), Cvoid, (GLuint, GLuint, Ptr{Ptr{Cvoid}}, Ptr{GLsizei}, Ptr{GLuint}, Ptr{GLuint}, GLuint), list, segment, indirects, sizes, states, fbos, count) + glListDrawCommandsStatesClientNV_handle[] == C_NULL && (glListDrawCommandsStatesClientNV_handle[] = getprocaddress_e("glListDrawCommandsStatesClientNV")) + ccall(glListDrawCommandsStatesClientNV_handle[], Cvoid, (GLuint, GLuint, Ptr{Ptr{Cvoid}}, Ptr{GLsizei}, Ptr{GLuint}, Ptr{GLuint}, GLuint), list, segment, indirects, sizes, states, fbos, count) end +const glCommandListSegmentsNV_handle = Ref{Ptr{Cvoid}}() + function glCommandListSegmentsNV(list, segments) - ccall(getprocaddress_e("glCommandListSegmentsNV"), Cvoid, (GLuint, GLuint), list, segments) + glCommandListSegmentsNV_handle[] == C_NULL && (glCommandListSegmentsNV_handle[] = getprocaddress_e("glCommandListSegmentsNV")) + ccall(glCommandListSegmentsNV_handle[], Cvoid, (GLuint, GLuint), list, segments) end +const glCompileCommandListNV_handle = Ref{Ptr{Cvoid}}() + function glCompileCommandListNV(list) - ccall(getprocaddress_e("glCompileCommandListNV"), Cvoid, (GLuint,), list) + glCompileCommandListNV_handle[] == C_NULL && (glCompileCommandListNV_handle[] = getprocaddress_e("glCompileCommandListNV")) + ccall(glCompileCommandListNV_handle[], Cvoid, (GLuint,), list) end +const glCallCommandListNV_handle = Ref{Ptr{Cvoid}}() + function glCallCommandListNV(list) - ccall(getprocaddress_e("glCallCommandListNV"), Cvoid, (GLuint,), list) + glCallCommandListNV_handle[] == C_NULL && (glCallCommandListNV_handle[] = getprocaddress_e("glCallCommandListNV")) + ccall(glCallCommandListNV_handle[], Cvoid, (GLuint,), list) end # typedef void ( APIENTRYP PFNGLBEGINCONDITIONALRENDERNVPROC ) ( GLuint id , GLenum mode ) @@ -7767,33 +11052,48 @@ const PFNGLBEGINCONDITIONALRENDERNVPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLENDCONDITIONALRENDERNVPROC ) ( void ) const PFNGLENDCONDITIONALRENDERNVPROC = Ptr{Cvoid} +const glBeginConditionalRenderNV_handle = Ref{Ptr{Cvoid}}() + function glBeginConditionalRenderNV(id, mode) - ccall(getprocaddress_e("glBeginConditionalRenderNV"), Cvoid, (GLuint, GLenum), id, mode) + glBeginConditionalRenderNV_handle[] == C_NULL && (glBeginConditionalRenderNV_handle[] = getprocaddress_e("glBeginConditionalRenderNV")) + ccall(glBeginConditionalRenderNV_handle[], Cvoid, (GLuint, GLenum), id, mode) end +const glEndConditionalRenderNV_handle = Ref{Ptr{Cvoid}}() + function glEndConditionalRenderNV() - ccall(getprocaddress_e("glEndConditionalRenderNV"), Cvoid, ()) + glEndConditionalRenderNV_handle[] == C_NULL && (glEndConditionalRenderNV_handle[] = getprocaddress_e("glEndConditionalRenderNV")) + ccall(glEndConditionalRenderNV_handle[], Cvoid, ()) end # typedef void ( APIENTRYP PFNGLSUBPIXELPRECISIONBIASNVPROC ) ( GLuint xbits , GLuint ybits ) const PFNGLSUBPIXELPRECISIONBIASNVPROC = Ptr{Cvoid} +const glSubpixelPrecisionBiasNV_handle = Ref{Ptr{Cvoid}}() + function glSubpixelPrecisionBiasNV(xbits, ybits) - ccall(getprocaddress_e("glSubpixelPrecisionBiasNV"), Cvoid, (GLuint, GLuint), xbits, ybits) + glSubpixelPrecisionBiasNV_handle[] == C_NULL && (glSubpixelPrecisionBiasNV_handle[] = getprocaddress_e("glSubpixelPrecisionBiasNV")) + ccall(glSubpixelPrecisionBiasNV_handle[], Cvoid, (GLuint, GLuint), xbits, ybits) end # typedef void ( APIENTRYP PFNGLCONSERVATIVERASTERPARAMETERFNVPROC ) ( GLenum pname , GLfloat value ) const PFNGLCONSERVATIVERASTERPARAMETERFNVPROC = Ptr{Cvoid} +const glConservativeRasterParameterfNV_handle = Ref{Ptr{Cvoid}}() + function glConservativeRasterParameterfNV(pname, value) - ccall(getprocaddress_e("glConservativeRasterParameterfNV"), Cvoid, (GLenum, GLfloat), pname, value) + glConservativeRasterParameterfNV_handle[] == C_NULL && (glConservativeRasterParameterfNV_handle[] = getprocaddress_e("glConservativeRasterParameterfNV")) + ccall(glConservativeRasterParameterfNV_handle[], Cvoid, (GLenum, GLfloat), pname, value) end # typedef void ( APIENTRYP PFNGLCONSERVATIVERASTERPARAMETERINVPROC ) ( GLenum pname , GLint param ) const PFNGLCONSERVATIVERASTERPARAMETERINVPROC = Ptr{Cvoid} +const glConservativeRasterParameteriNV_handle = Ref{Ptr{Cvoid}}() + function glConservativeRasterParameteriNV(pname, param) - ccall(getprocaddress_e("glConservativeRasterParameteriNV"), Cvoid, (GLenum, GLint), pname, param) + glConservativeRasterParameteriNV_handle[] == C_NULL && (glConservativeRasterParameteriNV_handle[] = getprocaddress_e("glConservativeRasterParameteriNV")) + ccall(glConservativeRasterParameteriNV_handle[], Cvoid, (GLenum, GLint), pname, param) end # typedef void ( APIENTRYP PFNGLDEPTHRANGEDNVPROC ) ( GLdouble zNear , GLdouble zFar ) @@ -7805,16 +11105,25 @@ const PFNGLCLEARDEPTHDNVPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLDEPTHBOUNDSDNVPROC ) ( GLdouble zmin , GLdouble zmax ) const PFNGLDEPTHBOUNDSDNVPROC = Ptr{Cvoid} +const glDepthRangedNV_handle = Ref{Ptr{Cvoid}}() + function glDepthRangedNV(zNear, zFar) - ccall(getprocaddress_e("glDepthRangedNV"), Cvoid, (GLdouble, GLdouble), zNear, zFar) + glDepthRangedNV_handle[] == C_NULL && (glDepthRangedNV_handle[] = getprocaddress_e("glDepthRangedNV")) + ccall(glDepthRangedNV_handle[], Cvoid, (GLdouble, GLdouble), zNear, zFar) end +const glClearDepthdNV_handle = Ref{Ptr{Cvoid}}() + function glClearDepthdNV(depth) - ccall(getprocaddress_e("glClearDepthdNV"), Cvoid, (GLdouble,), depth) + glClearDepthdNV_handle[] == C_NULL && (glClearDepthdNV_handle[] = getprocaddress_e("glClearDepthdNV")) + ccall(glClearDepthdNV_handle[], Cvoid, (GLdouble,), depth) end +const glDepthBoundsdNV_handle = Ref{Ptr{Cvoid}}() + function glDepthBoundsdNV(zmin, zmax) - ccall(getprocaddress_e("glDepthBoundsdNV"), Cvoid, (GLdouble, GLdouble), zmin, zmax) + glDepthBoundsdNV_handle[] == C_NULL && (glDepthBoundsdNV_handle[] = getprocaddress_e("glDepthBoundsdNV")) + ccall(glDepthBoundsdNV_handle[], Cvoid, (GLdouble, GLdouble), zmin, zmax) end # typedef void ( APIENTRY * GLVULKANPROCNV ) ( void ) @@ -7835,31 +11144,49 @@ const PFNGLSIGNALVKSEMAPHORENVPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLSIGNALVKFENCENVPROC ) ( GLuint64 vkFence ) const PFNGLSIGNALVKFENCENVPROC = Ptr{Cvoid} +const glDrawVkImageNV_handle = Ref{Ptr{Cvoid}}() + function glDrawVkImageNV(vkImage, sampler, x0, y0, x1, y1, z, s0, t0, s1, t1) - ccall(getprocaddress_e("glDrawVkImageNV"), Cvoid, (GLuint64, GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat), vkImage, sampler, x0, y0, x1, y1, z, s0, t0, s1, t1) + glDrawVkImageNV_handle[] == C_NULL && (glDrawVkImageNV_handle[] = getprocaddress_e("glDrawVkImageNV")) + ccall(glDrawVkImageNV_handle[], Cvoid, (GLuint64, GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat), vkImage, sampler, x0, y0, x1, y1, z, s0, t0, s1, t1) end +const glGetVkProcAddrNV_handle = Ref{Ptr{Cvoid}}() + function glGetVkProcAddrNV(name) - ccall(getprocaddress_e("glGetVkProcAddrNV"), GLVULKANPROCNV, (Ptr{GLchar},), name) + glGetVkProcAddrNV_handle[] == C_NULL && (glGetVkProcAddrNV_handle[] = getprocaddress_e("glGetVkProcAddrNV")) + ccall(glGetVkProcAddrNV_handle[], GLVULKANPROCNV, (Ptr{GLchar},), name) end +const glWaitVkSemaphoreNV_handle = Ref{Ptr{Cvoid}}() + function glWaitVkSemaphoreNV(vkSemaphore) - ccall(getprocaddress_e("glWaitVkSemaphoreNV"), Cvoid, (GLuint64,), vkSemaphore) + glWaitVkSemaphoreNV_handle[] == C_NULL && (glWaitVkSemaphoreNV_handle[] = getprocaddress_e("glWaitVkSemaphoreNV")) + ccall(glWaitVkSemaphoreNV_handle[], Cvoid, (GLuint64,), vkSemaphore) end +const glSignalVkSemaphoreNV_handle = Ref{Ptr{Cvoid}}() + function glSignalVkSemaphoreNV(vkSemaphore) - ccall(getprocaddress_e("glSignalVkSemaphoreNV"), Cvoid, (GLuint64,), vkSemaphore) + glSignalVkSemaphoreNV_handle[] == C_NULL && (glSignalVkSemaphoreNV_handle[] = getprocaddress_e("glSignalVkSemaphoreNV")) + ccall(glSignalVkSemaphoreNV_handle[], Cvoid, (GLuint64,), vkSemaphore) end +const glSignalVkFenceNV_handle = Ref{Ptr{Cvoid}}() + function glSignalVkFenceNV(vkFence) - ccall(getprocaddress_e("glSignalVkFenceNV"), Cvoid, (GLuint64,), vkFence) + glSignalVkFenceNV_handle[] == C_NULL && (glSignalVkFenceNV_handle[] = getprocaddress_e("glSignalVkFenceNV")) + ccall(glSignalVkFenceNV_handle[], Cvoid, (GLuint64,), vkFence) end # typedef void ( APIENTRYP PFNGLFRAGMENTCOVERAGECOLORNVPROC ) ( GLuint color ) const PFNGLFRAGMENTCOVERAGECOLORNVPROC = Ptr{Cvoid} +const glFragmentCoverageColorNV_handle = Ref{Ptr{Cvoid}}() + function glFragmentCoverageColorNV(color) - ccall(getprocaddress_e("glFragmentCoverageColorNV"), Cvoid, (GLuint,), color) + glFragmentCoverageColorNV_handle[] == C_NULL && (glFragmentCoverageColorNV_handle[] = getprocaddress_e("glFragmentCoverageColorNV")) + ccall(glFragmentCoverageColorNV_handle[], Cvoid, (GLuint,), color) end # typedef void ( APIENTRYP PFNGLCOVERAGEMODULATIONTABLENVPROC ) ( GLsizei n , const GLfloat * v ) @@ -7871,23 +11198,35 @@ const PFNGLGETCOVERAGEMODULATIONTABLENVPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLCOVERAGEMODULATIONNVPROC ) ( GLenum components ) const PFNGLCOVERAGEMODULATIONNVPROC = Ptr{Cvoid} +const glCoverageModulationTableNV_handle = Ref{Ptr{Cvoid}}() + function glCoverageModulationTableNV(n, v) - ccall(getprocaddress_e("glCoverageModulationTableNV"), Cvoid, (GLsizei, Ptr{GLfloat}), n, v) + glCoverageModulationTableNV_handle[] == C_NULL && (glCoverageModulationTableNV_handle[] = getprocaddress_e("glCoverageModulationTableNV")) + ccall(glCoverageModulationTableNV_handle[], Cvoid, (GLsizei, Ptr{GLfloat}), n, v) end +const glGetCoverageModulationTableNV_handle = Ref{Ptr{Cvoid}}() + function glGetCoverageModulationTableNV(bufSize, v) - ccall(getprocaddress_e("glGetCoverageModulationTableNV"), Cvoid, (GLsizei, Ptr{GLfloat}), bufSize, v) + glGetCoverageModulationTableNV_handle[] == C_NULL && (glGetCoverageModulationTableNV_handle[] = getprocaddress_e("glGetCoverageModulationTableNV")) + ccall(glGetCoverageModulationTableNV_handle[], Cvoid, (GLsizei, Ptr{GLfloat}), bufSize, v) end +const glCoverageModulationNV_handle = Ref{Ptr{Cvoid}}() + function glCoverageModulationNV(components) - ccall(getprocaddress_e("glCoverageModulationNV"), Cvoid, (GLenum,), components) + glCoverageModulationNV_handle[] == C_NULL && (glCoverageModulationNV_handle[] = getprocaddress_e("glCoverageModulationNV")) + ccall(glCoverageModulationNV_handle[], Cvoid, (GLenum,), components) end # typedef void ( APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC ) ( GLenum target , GLsizei coverageSamples , GLsizei colorSamples , GLenum internalformat , GLsizei width , GLsizei height ) const PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC = Ptr{Cvoid} +const glRenderbufferStorageMultisampleCoverageNV_handle = Ref{Ptr{Cvoid}}() + function glRenderbufferStorageMultisampleCoverageNV(target, coverageSamples, colorSamples, internalformat, width, height) - ccall(getprocaddress_e("glRenderbufferStorageMultisampleCoverageNV"), Cvoid, (GLenum, GLsizei, GLsizei, GLenum, GLsizei, GLsizei), target, coverageSamples, colorSamples, internalformat, width, height) + glRenderbufferStorageMultisampleCoverageNV_handle[] == C_NULL && (glRenderbufferStorageMultisampleCoverageNV_handle[] = getprocaddress_e("glRenderbufferStorageMultisampleCoverageNV")) + ccall(glRenderbufferStorageMultisampleCoverageNV_handle[], Cvoid, (GLenum, GLsizei, GLsizei, GLenum, GLsizei, GLsizei), target, coverageSamples, colorSamples, internalformat, width, height) end const GLint64EXT = khronos_int64_t @@ -7991,143 +11330,245 @@ const PFNGLPROGRAMUNIFORM3UI64VNVPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLPROGRAMUNIFORM4UI64VNVPROC ) ( GLuint program , GLint location , GLsizei count , const GLuint64EXT * value ) const PFNGLPROGRAMUNIFORM4UI64VNVPROC = Ptr{Cvoid} +const glUniform1i64NV_handle = Ref{Ptr{Cvoid}}() + function glUniform1i64NV(location, x) - ccall(getprocaddress_e("glUniform1i64NV"), Cvoid, (GLint, GLint64EXT), location, x) + glUniform1i64NV_handle[] == C_NULL && (glUniform1i64NV_handle[] = getprocaddress_e("glUniform1i64NV")) + ccall(glUniform1i64NV_handle[], Cvoid, (GLint, GLint64EXT), location, x) end +const glUniform2i64NV_handle = Ref{Ptr{Cvoid}}() + function glUniform2i64NV(location, x, y) - ccall(getprocaddress_e("glUniform2i64NV"), Cvoid, (GLint, GLint64EXT, GLint64EXT), location, x, y) + glUniform2i64NV_handle[] == C_NULL && (glUniform2i64NV_handle[] = getprocaddress_e("glUniform2i64NV")) + ccall(glUniform2i64NV_handle[], Cvoid, (GLint, GLint64EXT, GLint64EXT), location, x, y) end +const glUniform3i64NV_handle = Ref{Ptr{Cvoid}}() + function glUniform3i64NV(location, x, y, z) - ccall(getprocaddress_e("glUniform3i64NV"), Cvoid, (GLint, GLint64EXT, GLint64EXT, GLint64EXT), location, x, y, z) + glUniform3i64NV_handle[] == C_NULL && (glUniform3i64NV_handle[] = getprocaddress_e("glUniform3i64NV")) + ccall(glUniform3i64NV_handle[], Cvoid, (GLint, GLint64EXT, GLint64EXT, GLint64EXT), location, x, y, z) end +const glUniform4i64NV_handle = Ref{Ptr{Cvoid}}() + function glUniform4i64NV(location, x, y, z, w) - ccall(getprocaddress_e("glUniform4i64NV"), Cvoid, (GLint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT), location, x, y, z, w) + glUniform4i64NV_handle[] == C_NULL && (glUniform4i64NV_handle[] = getprocaddress_e("glUniform4i64NV")) + ccall(glUniform4i64NV_handle[], Cvoid, (GLint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT), location, x, y, z, w) end +const glUniform1i64vNV_handle = Ref{Ptr{Cvoid}}() + function glUniform1i64vNV(location, count, value) - ccall(getprocaddress_e("glUniform1i64vNV"), Cvoid, (GLint, GLsizei, Ptr{GLint64EXT}), location, count, value) + glUniform1i64vNV_handle[] == C_NULL && (glUniform1i64vNV_handle[] = getprocaddress_e("glUniform1i64vNV")) + ccall(glUniform1i64vNV_handle[], Cvoid, (GLint, GLsizei, Ptr{GLint64EXT}), location, count, value) end +const glUniform2i64vNV_handle = Ref{Ptr{Cvoid}}() + function glUniform2i64vNV(location, count, value) - ccall(getprocaddress_e("glUniform2i64vNV"), Cvoid, (GLint, GLsizei, Ptr{GLint64EXT}), location, count, value) + glUniform2i64vNV_handle[] == C_NULL && (glUniform2i64vNV_handle[] = getprocaddress_e("glUniform2i64vNV")) + ccall(glUniform2i64vNV_handle[], Cvoid, (GLint, GLsizei, Ptr{GLint64EXT}), location, count, value) end +const glUniform3i64vNV_handle = Ref{Ptr{Cvoid}}() + function glUniform3i64vNV(location, count, value) - ccall(getprocaddress_e("glUniform3i64vNV"), Cvoid, (GLint, GLsizei, Ptr{GLint64EXT}), location, count, value) + glUniform3i64vNV_handle[] == C_NULL && (glUniform3i64vNV_handle[] = getprocaddress_e("glUniform3i64vNV")) + ccall(glUniform3i64vNV_handle[], Cvoid, (GLint, GLsizei, Ptr{GLint64EXT}), location, count, value) end +const glUniform4i64vNV_handle = Ref{Ptr{Cvoid}}() + function glUniform4i64vNV(location, count, value) - ccall(getprocaddress_e("glUniform4i64vNV"), Cvoid, (GLint, GLsizei, Ptr{GLint64EXT}), location, count, value) + glUniform4i64vNV_handle[] == C_NULL && (glUniform4i64vNV_handle[] = getprocaddress_e("glUniform4i64vNV")) + ccall(glUniform4i64vNV_handle[], Cvoid, (GLint, GLsizei, Ptr{GLint64EXT}), location, count, value) end +const glUniform1ui64NV_handle = Ref{Ptr{Cvoid}}() + function glUniform1ui64NV(location, x) - ccall(getprocaddress_e("glUniform1ui64NV"), Cvoid, (GLint, GLuint64EXT), location, x) + glUniform1ui64NV_handle[] == C_NULL && (glUniform1ui64NV_handle[] = getprocaddress_e("glUniform1ui64NV")) + ccall(glUniform1ui64NV_handle[], Cvoid, (GLint, GLuint64EXT), location, x) end +const glUniform2ui64NV_handle = Ref{Ptr{Cvoid}}() + function glUniform2ui64NV(location, x, y) - ccall(getprocaddress_e("glUniform2ui64NV"), Cvoid, (GLint, GLuint64EXT, GLuint64EXT), location, x, y) + glUniform2ui64NV_handle[] == C_NULL && (glUniform2ui64NV_handle[] = getprocaddress_e("glUniform2ui64NV")) + ccall(glUniform2ui64NV_handle[], Cvoid, (GLint, GLuint64EXT, GLuint64EXT), location, x, y) end +const glUniform3ui64NV_handle = Ref{Ptr{Cvoid}}() + function glUniform3ui64NV(location, x, y, z) - ccall(getprocaddress_e("glUniform3ui64NV"), Cvoid, (GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT), location, x, y, z) + glUniform3ui64NV_handle[] == C_NULL && (glUniform3ui64NV_handle[] = getprocaddress_e("glUniform3ui64NV")) + ccall(glUniform3ui64NV_handle[], Cvoid, (GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT), location, x, y, z) end +const glUniform4ui64NV_handle = Ref{Ptr{Cvoid}}() + function glUniform4ui64NV(location, x, y, z, w) - ccall(getprocaddress_e("glUniform4ui64NV"), Cvoid, (GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT), location, x, y, z, w) + glUniform4ui64NV_handle[] == C_NULL && (glUniform4ui64NV_handle[] = getprocaddress_e("glUniform4ui64NV")) + ccall(glUniform4ui64NV_handle[], Cvoid, (GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT), location, x, y, z, w) end +const glUniform1ui64vNV_handle = Ref{Ptr{Cvoid}}() + function glUniform1ui64vNV(location, count, value) - ccall(getprocaddress_e("glUniform1ui64vNV"), Cvoid, (GLint, GLsizei, Ptr{GLuint64EXT}), location, count, value) + glUniform1ui64vNV_handle[] == C_NULL && (glUniform1ui64vNV_handle[] = getprocaddress_e("glUniform1ui64vNV")) + ccall(glUniform1ui64vNV_handle[], Cvoid, (GLint, GLsizei, Ptr{GLuint64EXT}), location, count, value) end +const glUniform2ui64vNV_handle = Ref{Ptr{Cvoid}}() + function glUniform2ui64vNV(location, count, value) - ccall(getprocaddress_e("glUniform2ui64vNV"), Cvoid, (GLint, GLsizei, Ptr{GLuint64EXT}), location, count, value) + glUniform2ui64vNV_handle[] == C_NULL && (glUniform2ui64vNV_handle[] = getprocaddress_e("glUniform2ui64vNV")) + ccall(glUniform2ui64vNV_handle[], Cvoid, (GLint, GLsizei, Ptr{GLuint64EXT}), location, count, value) end +const glUniform3ui64vNV_handle = Ref{Ptr{Cvoid}}() + function glUniform3ui64vNV(location, count, value) - ccall(getprocaddress_e("glUniform3ui64vNV"), Cvoid, (GLint, GLsizei, Ptr{GLuint64EXT}), location, count, value) + glUniform3ui64vNV_handle[] == C_NULL && (glUniform3ui64vNV_handle[] = getprocaddress_e("glUniform3ui64vNV")) + ccall(glUniform3ui64vNV_handle[], Cvoid, (GLint, GLsizei, Ptr{GLuint64EXT}), location, count, value) end +const glUniform4ui64vNV_handle = Ref{Ptr{Cvoid}}() + function glUniform4ui64vNV(location, count, value) - ccall(getprocaddress_e("glUniform4ui64vNV"), Cvoid, (GLint, GLsizei, Ptr{GLuint64EXT}), location, count, value) + glUniform4ui64vNV_handle[] == C_NULL && (glUniform4ui64vNV_handle[] = getprocaddress_e("glUniform4ui64vNV")) + ccall(glUniform4ui64vNV_handle[], Cvoid, (GLint, GLsizei, Ptr{GLuint64EXT}), location, count, value) end +const glGetUniformi64vNV_handle = Ref{Ptr{Cvoid}}() + function glGetUniformi64vNV(program, location, params) - ccall(getprocaddress_e("glGetUniformi64vNV"), Cvoid, (GLuint, GLint, Ptr{GLint64EXT}), program, location, params) + glGetUniformi64vNV_handle[] == C_NULL && (glGetUniformi64vNV_handle[] = getprocaddress_e("glGetUniformi64vNV")) + ccall(glGetUniformi64vNV_handle[], Cvoid, (GLuint, GLint, Ptr{GLint64EXT}), program, location, params) end +const glProgramUniform1i64NV_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform1i64NV(program, location, x) - ccall(getprocaddress_e("glProgramUniform1i64NV"), Cvoid, (GLuint, GLint, GLint64EXT), program, location, x) + glProgramUniform1i64NV_handle[] == C_NULL && (glProgramUniform1i64NV_handle[] = getprocaddress_e("glProgramUniform1i64NV")) + ccall(glProgramUniform1i64NV_handle[], Cvoid, (GLuint, GLint, GLint64EXT), program, location, x) end +const glProgramUniform2i64NV_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform2i64NV(program, location, x, y) - ccall(getprocaddress_e("glProgramUniform2i64NV"), Cvoid, (GLuint, GLint, GLint64EXT, GLint64EXT), program, location, x, y) + glProgramUniform2i64NV_handle[] == C_NULL && (glProgramUniform2i64NV_handle[] = getprocaddress_e("glProgramUniform2i64NV")) + ccall(glProgramUniform2i64NV_handle[], Cvoid, (GLuint, GLint, GLint64EXT, GLint64EXT), program, location, x, y) end +const glProgramUniform3i64NV_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform3i64NV(program, location, x, y, z) - ccall(getprocaddress_e("glProgramUniform3i64NV"), Cvoid, (GLuint, GLint, GLint64EXT, GLint64EXT, GLint64EXT), program, location, x, y, z) + glProgramUniform3i64NV_handle[] == C_NULL && (glProgramUniform3i64NV_handle[] = getprocaddress_e("glProgramUniform3i64NV")) + ccall(glProgramUniform3i64NV_handle[], Cvoid, (GLuint, GLint, GLint64EXT, GLint64EXT, GLint64EXT), program, location, x, y, z) end +const glProgramUniform4i64NV_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform4i64NV(program, location, x, y, z, w) - ccall(getprocaddress_e("glProgramUniform4i64NV"), Cvoid, (GLuint, GLint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT), program, location, x, y, z, w) + glProgramUniform4i64NV_handle[] == C_NULL && (glProgramUniform4i64NV_handle[] = getprocaddress_e("glProgramUniform4i64NV")) + ccall(glProgramUniform4i64NV_handle[], Cvoid, (GLuint, GLint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT), program, location, x, y, z, w) end +const glProgramUniform1i64vNV_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform1i64vNV(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform1i64vNV"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64EXT}), program, location, count, value) + glProgramUniform1i64vNV_handle[] == C_NULL && (glProgramUniform1i64vNV_handle[] = getprocaddress_e("glProgramUniform1i64vNV")) + ccall(glProgramUniform1i64vNV_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64EXT}), program, location, count, value) end +const glProgramUniform2i64vNV_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform2i64vNV(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform2i64vNV"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64EXT}), program, location, count, value) + glProgramUniform2i64vNV_handle[] == C_NULL && (glProgramUniform2i64vNV_handle[] = getprocaddress_e("glProgramUniform2i64vNV")) + ccall(glProgramUniform2i64vNV_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64EXT}), program, location, count, value) end +const glProgramUniform3i64vNV_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform3i64vNV(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform3i64vNV"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64EXT}), program, location, count, value) + glProgramUniform3i64vNV_handle[] == C_NULL && (glProgramUniform3i64vNV_handle[] = getprocaddress_e("glProgramUniform3i64vNV")) + ccall(glProgramUniform3i64vNV_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64EXT}), program, location, count, value) end +const glProgramUniform4i64vNV_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform4i64vNV(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform4i64vNV"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64EXT}), program, location, count, value) + glProgramUniform4i64vNV_handle[] == C_NULL && (glProgramUniform4i64vNV_handle[] = getprocaddress_e("glProgramUniform4i64vNV")) + ccall(glProgramUniform4i64vNV_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLint64EXT}), program, location, count, value) end +const glProgramUniform1ui64NV_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform1ui64NV(program, location, x) - ccall(getprocaddress_e("glProgramUniform1ui64NV"), Cvoid, (GLuint, GLint, GLuint64EXT), program, location, x) + glProgramUniform1ui64NV_handle[] == C_NULL && (glProgramUniform1ui64NV_handle[] = getprocaddress_e("glProgramUniform1ui64NV")) + ccall(glProgramUniform1ui64NV_handle[], Cvoid, (GLuint, GLint, GLuint64EXT), program, location, x) end +const glProgramUniform2ui64NV_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform2ui64NV(program, location, x, y) - ccall(getprocaddress_e("glProgramUniform2ui64NV"), Cvoid, (GLuint, GLint, GLuint64EXT, GLuint64EXT), program, location, x, y) + glProgramUniform2ui64NV_handle[] == C_NULL && (glProgramUniform2ui64NV_handle[] = getprocaddress_e("glProgramUniform2ui64NV")) + ccall(glProgramUniform2ui64NV_handle[], Cvoid, (GLuint, GLint, GLuint64EXT, GLuint64EXT), program, location, x, y) end +const glProgramUniform3ui64NV_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform3ui64NV(program, location, x, y, z) - ccall(getprocaddress_e("glProgramUniform3ui64NV"), Cvoid, (GLuint, GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT), program, location, x, y, z) + glProgramUniform3ui64NV_handle[] == C_NULL && (glProgramUniform3ui64NV_handle[] = getprocaddress_e("glProgramUniform3ui64NV")) + ccall(glProgramUniform3ui64NV_handle[], Cvoid, (GLuint, GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT), program, location, x, y, z) end +const glProgramUniform4ui64NV_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform4ui64NV(program, location, x, y, z, w) - ccall(getprocaddress_e("glProgramUniform4ui64NV"), Cvoid, (GLuint, GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT), program, location, x, y, z, w) + glProgramUniform4ui64NV_handle[] == C_NULL && (glProgramUniform4ui64NV_handle[] = getprocaddress_e("glProgramUniform4ui64NV")) + ccall(glProgramUniform4ui64NV_handle[], Cvoid, (GLuint, GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT), program, location, x, y, z, w) end +const glProgramUniform1ui64vNV_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform1ui64vNV(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform1ui64vNV"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64EXT}), program, location, count, value) + glProgramUniform1ui64vNV_handle[] == C_NULL && (glProgramUniform1ui64vNV_handle[] = getprocaddress_e("glProgramUniform1ui64vNV")) + ccall(glProgramUniform1ui64vNV_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64EXT}), program, location, count, value) end +const glProgramUniform2ui64vNV_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform2ui64vNV(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform2ui64vNV"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64EXT}), program, location, count, value) + glProgramUniform2ui64vNV_handle[] == C_NULL && (glProgramUniform2ui64vNV_handle[] = getprocaddress_e("glProgramUniform2ui64vNV")) + ccall(glProgramUniform2ui64vNV_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64EXT}), program, location, count, value) end +const glProgramUniform3ui64vNV_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform3ui64vNV(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform3ui64vNV"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64EXT}), program, location, count, value) + glProgramUniform3ui64vNV_handle[] == C_NULL && (glProgramUniform3ui64vNV_handle[] = getprocaddress_e("glProgramUniform3ui64vNV")) + ccall(glProgramUniform3ui64vNV_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64EXT}), program, location, count, value) end +const glProgramUniform4ui64vNV_handle = Ref{Ptr{Cvoid}}() + function glProgramUniform4ui64vNV(program, location, count, value) - ccall(getprocaddress_e("glProgramUniform4ui64vNV"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64EXT}), program, location, count, value) + glProgramUniform4ui64vNV_handle[] == C_NULL && (glProgramUniform4ui64vNV_handle[] = getprocaddress_e("glProgramUniform4ui64vNV")) + ccall(glProgramUniform4ui64vNV_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64EXT}), program, location, count, value) end # typedef void ( APIENTRYP PFNGLGETINTERNALFORMATSAMPLEIVNVPROC ) ( GLenum target , GLenum internalformat , GLsizei samples , GLenum pname , GLsizei count , GLint * params ) const PFNGLGETINTERNALFORMATSAMPLEIVNVPROC = Ptr{Cvoid} +const glGetInternalformatSampleivNV_handle = Ref{Ptr{Cvoid}}() + function glGetInternalformatSampleivNV(target, internalformat, samples, pname, count, params) - ccall(getprocaddress_e("glGetInternalformatSampleivNV"), Cvoid, (GLenum, GLenum, GLsizei, GLenum, GLsizei, Ptr{GLint}), target, internalformat, samples, pname, count, params) + glGetInternalformatSampleivNV_handle[] == C_NULL && (glGetInternalformatSampleivNV_handle[] = getprocaddress_e("glGetInternalformatSampleivNV")) + ccall(glGetInternalformatSampleivNV_handle[], Cvoid, (GLenum, GLenum, GLsizei, GLenum, GLsizei, Ptr{GLint}), target, internalformat, samples, pname, count, params) end # typedef void ( APIENTRYP PFNGLGETMEMORYOBJECTDETACHEDRESOURCESUIVNVPROC ) ( GLuint memory , GLenum pname , GLint first , GLsizei count , GLuint * params ) @@ -8148,28 +11589,46 @@ const PFNGLTEXTUREATTACHMEMORYNVPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLNAMEDBUFFERATTACHMEMORYNVPROC ) ( GLuint buffer , GLuint memory , GLuint64 offset ) const PFNGLNAMEDBUFFERATTACHMEMORYNVPROC = Ptr{Cvoid} +const glGetMemoryObjectDetachedResourcesuivNV_handle = Ref{Ptr{Cvoid}}() + function glGetMemoryObjectDetachedResourcesuivNV(memory, pname, first, count, params) - ccall(getprocaddress_e("glGetMemoryObjectDetachedResourcesuivNV"), Cvoid, (GLuint, GLenum, GLint, GLsizei, Ptr{GLuint}), memory, pname, first, count, params) + glGetMemoryObjectDetachedResourcesuivNV_handle[] == C_NULL && (glGetMemoryObjectDetachedResourcesuivNV_handle[] = getprocaddress_e("glGetMemoryObjectDetachedResourcesuivNV")) + ccall(glGetMemoryObjectDetachedResourcesuivNV_handle[], Cvoid, (GLuint, GLenum, GLint, GLsizei, Ptr{GLuint}), memory, pname, first, count, params) end +const glResetMemoryObjectParameterNV_handle = Ref{Ptr{Cvoid}}() + function glResetMemoryObjectParameterNV(memory, pname) - ccall(getprocaddress_e("glResetMemoryObjectParameterNV"), Cvoid, (GLuint, GLenum), memory, pname) + glResetMemoryObjectParameterNV_handle[] == C_NULL && (glResetMemoryObjectParameterNV_handle[] = getprocaddress_e("glResetMemoryObjectParameterNV")) + ccall(glResetMemoryObjectParameterNV_handle[], Cvoid, (GLuint, GLenum), memory, pname) end +const glTexAttachMemoryNV_handle = Ref{Ptr{Cvoid}}() + function glTexAttachMemoryNV(target, memory, offset) - ccall(getprocaddress_e("glTexAttachMemoryNV"), Cvoid, (GLenum, GLuint, GLuint64), target, memory, offset) + glTexAttachMemoryNV_handle[] == C_NULL && (glTexAttachMemoryNV_handle[] = getprocaddress_e("glTexAttachMemoryNV")) + ccall(glTexAttachMemoryNV_handle[], Cvoid, (GLenum, GLuint, GLuint64), target, memory, offset) end +const glBufferAttachMemoryNV_handle = Ref{Ptr{Cvoid}}() + function glBufferAttachMemoryNV(target, memory, offset) - ccall(getprocaddress_e("glBufferAttachMemoryNV"), Cvoid, (GLenum, GLuint, GLuint64), target, memory, offset) + glBufferAttachMemoryNV_handle[] == C_NULL && (glBufferAttachMemoryNV_handle[] = getprocaddress_e("glBufferAttachMemoryNV")) + ccall(glBufferAttachMemoryNV_handle[], Cvoid, (GLenum, GLuint, GLuint64), target, memory, offset) end +const glTextureAttachMemoryNV_handle = Ref{Ptr{Cvoid}}() + function glTextureAttachMemoryNV(texture, memory, offset) - ccall(getprocaddress_e("glTextureAttachMemoryNV"), Cvoid, (GLuint, GLuint, GLuint64), texture, memory, offset) + glTextureAttachMemoryNV_handle[] == C_NULL && (glTextureAttachMemoryNV_handle[] = getprocaddress_e("glTextureAttachMemoryNV")) + ccall(glTextureAttachMemoryNV_handle[], Cvoid, (GLuint, GLuint, GLuint64), texture, memory, offset) end +const glNamedBufferAttachMemoryNV_handle = Ref{Ptr{Cvoid}}() + function glNamedBufferAttachMemoryNV(buffer, memory, offset) - ccall(getprocaddress_e("glNamedBufferAttachMemoryNV"), Cvoid, (GLuint, GLuint, GLuint64), buffer, memory, offset) + glNamedBufferAttachMemoryNV_handle[] == C_NULL && (glNamedBufferAttachMemoryNV_handle[] = getprocaddress_e("glNamedBufferAttachMemoryNV")) + ccall(glNamedBufferAttachMemoryNV_handle[], Cvoid, (GLuint, GLuint, GLuint64), buffer, memory, offset) end # typedef void ( APIENTRYP PFNGLBUFFERPAGECOMMITMENTMEMNVPROC ) ( GLenum target , GLintptr offset , GLsizeiptr size , GLuint memory , GLuint64 memOffset , GLboolean commit ) @@ -8184,20 +11643,32 @@ const PFNGLNAMEDBUFFERPAGECOMMITMENTMEMNVPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLTEXTUREPAGECOMMITMENTMEMNVPROC ) ( GLuint texture , GLint layer , GLint level , GLint xoffset , GLint yoffset , GLint zoffset , GLsizei width , GLsizei height , GLsizei depth , GLuint memory , GLuint64 offset , GLboolean commit ) const PFNGLTEXTUREPAGECOMMITMENTMEMNVPROC = Ptr{Cvoid} +const glBufferPageCommitmentMemNV_handle = Ref{Ptr{Cvoid}}() + function glBufferPageCommitmentMemNV(target, offset, size, memory, memOffset, commit) - ccall(getprocaddress_e("glBufferPageCommitmentMemNV"), Cvoid, (GLenum, GLintptr, GLsizeiptr, GLuint, GLuint64, GLboolean), target, offset, size, memory, memOffset, commit) + glBufferPageCommitmentMemNV_handle[] == C_NULL && (glBufferPageCommitmentMemNV_handle[] = getprocaddress_e("glBufferPageCommitmentMemNV")) + ccall(glBufferPageCommitmentMemNV_handle[], Cvoid, (GLenum, GLintptr, GLsizeiptr, GLuint, GLuint64, GLboolean), target, offset, size, memory, memOffset, commit) end +const glTexPageCommitmentMemNV_handle = Ref{Ptr{Cvoid}}() + function glTexPageCommitmentMemNV(target, layer, level, xoffset, yoffset, zoffset, width, height, depth, memory, offset, commit) - ccall(getprocaddress_e("glTexPageCommitmentMemNV"), Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLuint, GLuint64, GLboolean), target, layer, level, xoffset, yoffset, zoffset, width, height, depth, memory, offset, commit) + glTexPageCommitmentMemNV_handle[] == C_NULL && (glTexPageCommitmentMemNV_handle[] = getprocaddress_e("glTexPageCommitmentMemNV")) + ccall(glTexPageCommitmentMemNV_handle[], Cvoid, (GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLuint, GLuint64, GLboolean), target, layer, level, xoffset, yoffset, zoffset, width, height, depth, memory, offset, commit) end +const glNamedBufferPageCommitmentMemNV_handle = Ref{Ptr{Cvoid}}() + function glNamedBufferPageCommitmentMemNV(buffer, offset, size, memory, memOffset, commit) - ccall(getprocaddress_e("glNamedBufferPageCommitmentMemNV"), Cvoid, (GLuint, GLintptr, GLsizeiptr, GLuint, GLuint64, GLboolean), buffer, offset, size, memory, memOffset, commit) + glNamedBufferPageCommitmentMemNV_handle[] == C_NULL && (glNamedBufferPageCommitmentMemNV_handle[] = getprocaddress_e("glNamedBufferPageCommitmentMemNV")) + ccall(glNamedBufferPageCommitmentMemNV_handle[], Cvoid, (GLuint, GLintptr, GLsizeiptr, GLuint, GLuint64, GLboolean), buffer, offset, size, memory, memOffset, commit) end +const glTexturePageCommitmentMemNV_handle = Ref{Ptr{Cvoid}}() + function glTexturePageCommitmentMemNV(texture, layer, level, xoffset, yoffset, zoffset, width, height, depth, memory, offset, commit) - ccall(getprocaddress_e("glTexturePageCommitmentMemNV"), Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLuint, GLuint64, GLboolean), texture, layer, level, xoffset, yoffset, zoffset, width, height, depth, memory, offset, commit) + glTexturePageCommitmentMemNV_handle[] == C_NULL && (glTexturePageCommitmentMemNV_handle[] = getprocaddress_e("glTexturePageCommitmentMemNV")) + ccall(glTexturePageCommitmentMemNV_handle[], Cvoid, (GLuint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLuint, GLuint64, GLboolean), texture, layer, level, xoffset, yoffset, zoffset, width, height, depth, memory, offset, commit) end # typedef void ( APIENTRYP PFNGLDRAWMESHTASKSNVPROC ) ( GLuint first , GLuint count ) @@ -8212,20 +11683,32 @@ const PFNGLMULTIDRAWMESHTASKSINDIRECTNVPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLMULTIDRAWMESHTASKSINDIRECTCOUNTNVPROC ) ( GLintptr indirect , GLintptr drawcount , GLsizei maxdrawcount , GLsizei stride ) const PFNGLMULTIDRAWMESHTASKSINDIRECTCOUNTNVPROC = Ptr{Cvoid} +const glDrawMeshTasksNV_handle = Ref{Ptr{Cvoid}}() + function glDrawMeshTasksNV(first, count) - ccall(getprocaddress_e("glDrawMeshTasksNV"), Cvoid, (GLuint, GLuint), first, count) + glDrawMeshTasksNV_handle[] == C_NULL && (glDrawMeshTasksNV_handle[] = getprocaddress_e("glDrawMeshTasksNV")) + ccall(glDrawMeshTasksNV_handle[], Cvoid, (GLuint, GLuint), first, count) end +const glDrawMeshTasksIndirectNV_handle = Ref{Ptr{Cvoid}}() + function glDrawMeshTasksIndirectNV(indirect) - ccall(getprocaddress_e("glDrawMeshTasksIndirectNV"), Cvoid, (GLintptr,), indirect) + glDrawMeshTasksIndirectNV_handle[] == C_NULL && (glDrawMeshTasksIndirectNV_handle[] = getprocaddress_e("glDrawMeshTasksIndirectNV")) + ccall(glDrawMeshTasksIndirectNV_handle[], Cvoid, (GLintptr,), indirect) end +const glMultiDrawMeshTasksIndirectNV_handle = Ref{Ptr{Cvoid}}() + function glMultiDrawMeshTasksIndirectNV(indirect, drawcount, stride) - ccall(getprocaddress_e("glMultiDrawMeshTasksIndirectNV"), Cvoid, (GLintptr, GLsizei, GLsizei), indirect, drawcount, stride) + glMultiDrawMeshTasksIndirectNV_handle[] == C_NULL && (glMultiDrawMeshTasksIndirectNV_handle[] = getprocaddress_e("glMultiDrawMeshTasksIndirectNV")) + ccall(glMultiDrawMeshTasksIndirectNV_handle[], Cvoid, (GLintptr, GLsizei, GLsizei), indirect, drawcount, stride) end +const glMultiDrawMeshTasksIndirectCountNV_handle = Ref{Ptr{Cvoid}}() + function glMultiDrawMeshTasksIndirectCountNV(indirect, drawcount, maxdrawcount, stride) - ccall(getprocaddress_e("glMultiDrawMeshTasksIndirectCountNV"), Cvoid, (GLintptr, GLintptr, GLsizei, GLsizei), indirect, drawcount, maxdrawcount, stride) + glMultiDrawMeshTasksIndirectCountNV_handle[] == C_NULL && (glMultiDrawMeshTasksIndirectCountNV_handle[] = getprocaddress_e("glMultiDrawMeshTasksIndirectCountNV")) + ccall(glMultiDrawMeshTasksIndirectCountNV_handle[], Cvoid, (GLintptr, GLintptr, GLsizei, GLsizei), indirect, drawcount, maxdrawcount, stride) end # typedef GLuint ( APIENTRYP PFNGLGENPATHSNVPROC ) ( GLsizei range ) @@ -8399,232 +11882,403 @@ const PFNGLPROGRAMPATHFRAGMENTINPUTGENNVPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLGETPROGRAMRESOURCEFVNVPROC ) ( GLuint program , GLenum programInterface , GLuint index , GLsizei propCount , const GLenum * props , GLsizei count , GLsizei * length , GLfloat * params ) const PFNGLGETPROGRAMRESOURCEFVNVPROC = Ptr{Cvoid} +const glGenPathsNV_handle = Ref{Ptr{Cvoid}}() + function glGenPathsNV(range) - ccall(getprocaddress_e("glGenPathsNV"), GLuint, (GLsizei,), range) + glGenPathsNV_handle[] == C_NULL && (glGenPathsNV_handle[] = getprocaddress_e("glGenPathsNV")) + ccall(glGenPathsNV_handle[], GLuint, (GLsizei,), range) end +const glDeletePathsNV_handle = Ref{Ptr{Cvoid}}() + function glDeletePathsNV(path, range) - ccall(getprocaddress_e("glDeletePathsNV"), Cvoid, (GLuint, GLsizei), path, range) + glDeletePathsNV_handle[] == C_NULL && (glDeletePathsNV_handle[] = getprocaddress_e("glDeletePathsNV")) + ccall(glDeletePathsNV_handle[], Cvoid, (GLuint, GLsizei), path, range) end +const glIsPathNV_handle = Ref{Ptr{Cvoid}}() + function glIsPathNV(path) - ccall(getprocaddress_e("glIsPathNV"), GLboolean, (GLuint,), path) + glIsPathNV_handle[] == C_NULL && (glIsPathNV_handle[] = getprocaddress_e("glIsPathNV")) + ccall(glIsPathNV_handle[], GLboolean, (GLuint,), path) end +const glPathCommandsNV_handle = Ref{Ptr{Cvoid}}() + function glPathCommandsNV(path, numCommands, commands, numCoords, coordType, coords) - ccall(getprocaddress_e("glPathCommandsNV"), Cvoid, (GLuint, GLsizei, Ptr{GLubyte}, GLsizei, GLenum, Ptr{Cvoid}), path, numCommands, commands, numCoords, coordType, coords) + glPathCommandsNV_handle[] == C_NULL && (glPathCommandsNV_handle[] = getprocaddress_e("glPathCommandsNV")) + ccall(glPathCommandsNV_handle[], Cvoid, (GLuint, GLsizei, Ptr{GLubyte}, GLsizei, GLenum, Ptr{Cvoid}), path, numCommands, commands, numCoords, coordType, coords) end +const glPathCoordsNV_handle = Ref{Ptr{Cvoid}}() + function glPathCoordsNV(path, numCoords, coordType, coords) - ccall(getprocaddress_e("glPathCoordsNV"), Cvoid, (GLuint, GLsizei, GLenum, Ptr{Cvoid}), path, numCoords, coordType, coords) + glPathCoordsNV_handle[] == C_NULL && (glPathCoordsNV_handle[] = getprocaddress_e("glPathCoordsNV")) + ccall(glPathCoordsNV_handle[], Cvoid, (GLuint, GLsizei, GLenum, Ptr{Cvoid}), path, numCoords, coordType, coords) end +const glPathSubCommandsNV_handle = Ref{Ptr{Cvoid}}() + function glPathSubCommandsNV(path, commandStart, commandsToDelete, numCommands, commands, numCoords, coordType, coords) - ccall(getprocaddress_e("glPathSubCommandsNV"), Cvoid, (GLuint, GLsizei, GLsizei, GLsizei, Ptr{GLubyte}, GLsizei, GLenum, Ptr{Cvoid}), path, commandStart, commandsToDelete, numCommands, commands, numCoords, coordType, coords) + glPathSubCommandsNV_handle[] == C_NULL && (glPathSubCommandsNV_handle[] = getprocaddress_e("glPathSubCommandsNV")) + ccall(glPathSubCommandsNV_handle[], Cvoid, (GLuint, GLsizei, GLsizei, GLsizei, Ptr{GLubyte}, GLsizei, GLenum, Ptr{Cvoid}), path, commandStart, commandsToDelete, numCommands, commands, numCoords, coordType, coords) end +const glPathSubCoordsNV_handle = Ref{Ptr{Cvoid}}() + function glPathSubCoordsNV(path, coordStart, numCoords, coordType, coords) - ccall(getprocaddress_e("glPathSubCoordsNV"), Cvoid, (GLuint, GLsizei, GLsizei, GLenum, Ptr{Cvoid}), path, coordStart, numCoords, coordType, coords) + glPathSubCoordsNV_handle[] == C_NULL && (glPathSubCoordsNV_handle[] = getprocaddress_e("glPathSubCoordsNV")) + ccall(glPathSubCoordsNV_handle[], Cvoid, (GLuint, GLsizei, GLsizei, GLenum, Ptr{Cvoid}), path, coordStart, numCoords, coordType, coords) end +const glPathStringNV_handle = Ref{Ptr{Cvoid}}() + function glPathStringNV(path, format, length, pathString) - ccall(getprocaddress_e("glPathStringNV"), Cvoid, (GLuint, GLenum, GLsizei, Ptr{Cvoid}), path, format, length, pathString) + glPathStringNV_handle[] == C_NULL && (glPathStringNV_handle[] = getprocaddress_e("glPathStringNV")) + ccall(glPathStringNV_handle[], Cvoid, (GLuint, GLenum, GLsizei, Ptr{Cvoid}), path, format, length, pathString) end +const glPathGlyphsNV_handle = Ref{Ptr{Cvoid}}() + function glPathGlyphsNV(firstPathName, fontTarget, fontName, fontStyle, numGlyphs, type, charcodes, handleMissingGlyphs, pathParameterTemplate, emScale) - ccall(getprocaddress_e("glPathGlyphsNV"), Cvoid, (GLuint, GLenum, Ptr{Cvoid}, GLbitfield, GLsizei, GLenum, Ptr{Cvoid}, GLenum, GLuint, GLfloat), firstPathName, fontTarget, fontName, fontStyle, numGlyphs, type, charcodes, handleMissingGlyphs, pathParameterTemplate, emScale) + glPathGlyphsNV_handle[] == C_NULL && (glPathGlyphsNV_handle[] = getprocaddress_e("glPathGlyphsNV")) + ccall(glPathGlyphsNV_handle[], Cvoid, (GLuint, GLenum, Ptr{Cvoid}, GLbitfield, GLsizei, GLenum, Ptr{Cvoid}, GLenum, GLuint, GLfloat), firstPathName, fontTarget, fontName, fontStyle, numGlyphs, type, charcodes, handleMissingGlyphs, pathParameterTemplate, emScale) end +const glPathGlyphRangeNV_handle = Ref{Ptr{Cvoid}}() + function glPathGlyphRangeNV(firstPathName, fontTarget, fontName, fontStyle, firstGlyph, numGlyphs, handleMissingGlyphs, pathParameterTemplate, emScale) - ccall(getprocaddress_e("glPathGlyphRangeNV"), Cvoid, (GLuint, GLenum, Ptr{Cvoid}, GLbitfield, GLuint, GLsizei, GLenum, GLuint, GLfloat), firstPathName, fontTarget, fontName, fontStyle, firstGlyph, numGlyphs, handleMissingGlyphs, pathParameterTemplate, emScale) + glPathGlyphRangeNV_handle[] == C_NULL && (glPathGlyphRangeNV_handle[] = getprocaddress_e("glPathGlyphRangeNV")) + ccall(glPathGlyphRangeNV_handle[], Cvoid, (GLuint, GLenum, Ptr{Cvoid}, GLbitfield, GLuint, GLsizei, GLenum, GLuint, GLfloat), firstPathName, fontTarget, fontName, fontStyle, firstGlyph, numGlyphs, handleMissingGlyphs, pathParameterTemplate, emScale) end +const glWeightPathsNV_handle = Ref{Ptr{Cvoid}}() + function glWeightPathsNV(resultPath, numPaths, paths, weights) - ccall(getprocaddress_e("glWeightPathsNV"), Cvoid, (GLuint, GLsizei, Ptr{GLuint}, Ptr{GLfloat}), resultPath, numPaths, paths, weights) + glWeightPathsNV_handle[] == C_NULL && (glWeightPathsNV_handle[] = getprocaddress_e("glWeightPathsNV")) + ccall(glWeightPathsNV_handle[], Cvoid, (GLuint, GLsizei, Ptr{GLuint}, Ptr{GLfloat}), resultPath, numPaths, paths, weights) end +const glCopyPathNV_handle = Ref{Ptr{Cvoid}}() + function glCopyPathNV(resultPath, srcPath) - ccall(getprocaddress_e("glCopyPathNV"), Cvoid, (GLuint, GLuint), resultPath, srcPath) + glCopyPathNV_handle[] == C_NULL && (glCopyPathNV_handle[] = getprocaddress_e("glCopyPathNV")) + ccall(glCopyPathNV_handle[], Cvoid, (GLuint, GLuint), resultPath, srcPath) end +const glInterpolatePathsNV_handle = Ref{Ptr{Cvoid}}() + function glInterpolatePathsNV(resultPath, pathA, pathB, weight) - ccall(getprocaddress_e("glInterpolatePathsNV"), Cvoid, (GLuint, GLuint, GLuint, GLfloat), resultPath, pathA, pathB, weight) + glInterpolatePathsNV_handle[] == C_NULL && (glInterpolatePathsNV_handle[] = getprocaddress_e("glInterpolatePathsNV")) + ccall(glInterpolatePathsNV_handle[], Cvoid, (GLuint, GLuint, GLuint, GLfloat), resultPath, pathA, pathB, weight) end +const glTransformPathNV_handle = Ref{Ptr{Cvoid}}() + function glTransformPathNV(resultPath, srcPath, transformType, transformValues) - ccall(getprocaddress_e("glTransformPathNV"), Cvoid, (GLuint, GLuint, GLenum, Ptr{GLfloat}), resultPath, srcPath, transformType, transformValues) + glTransformPathNV_handle[] == C_NULL && (glTransformPathNV_handle[] = getprocaddress_e("glTransformPathNV")) + ccall(glTransformPathNV_handle[], Cvoid, (GLuint, GLuint, GLenum, Ptr{GLfloat}), resultPath, srcPath, transformType, transformValues) end +const glPathParameterivNV_handle = Ref{Ptr{Cvoid}}() + function glPathParameterivNV(path, pname, value) - ccall(getprocaddress_e("glPathParameterivNV"), Cvoid, (GLuint, GLenum, Ptr{GLint}), path, pname, value) + glPathParameterivNV_handle[] == C_NULL && (glPathParameterivNV_handle[] = getprocaddress_e("glPathParameterivNV")) + ccall(glPathParameterivNV_handle[], Cvoid, (GLuint, GLenum, Ptr{GLint}), path, pname, value) end +const glPathParameteriNV_handle = Ref{Ptr{Cvoid}}() + function glPathParameteriNV(path, pname, value) - ccall(getprocaddress_e("glPathParameteriNV"), Cvoid, (GLuint, GLenum, GLint), path, pname, value) + glPathParameteriNV_handle[] == C_NULL && (glPathParameteriNV_handle[] = getprocaddress_e("glPathParameteriNV")) + ccall(glPathParameteriNV_handle[], Cvoid, (GLuint, GLenum, GLint), path, pname, value) end +const glPathParameterfvNV_handle = Ref{Ptr{Cvoid}}() + function glPathParameterfvNV(path, pname, value) - ccall(getprocaddress_e("glPathParameterfvNV"), Cvoid, (GLuint, GLenum, Ptr{GLfloat}), path, pname, value) + glPathParameterfvNV_handle[] == C_NULL && (glPathParameterfvNV_handle[] = getprocaddress_e("glPathParameterfvNV")) + ccall(glPathParameterfvNV_handle[], Cvoid, (GLuint, GLenum, Ptr{GLfloat}), path, pname, value) end +const glPathParameterfNV_handle = Ref{Ptr{Cvoid}}() + function glPathParameterfNV(path, pname, value) - ccall(getprocaddress_e("glPathParameterfNV"), Cvoid, (GLuint, GLenum, GLfloat), path, pname, value) + glPathParameterfNV_handle[] == C_NULL && (glPathParameterfNV_handle[] = getprocaddress_e("glPathParameterfNV")) + ccall(glPathParameterfNV_handle[], Cvoid, (GLuint, GLenum, GLfloat), path, pname, value) end +const glPathDashArrayNV_handle = Ref{Ptr{Cvoid}}() + function glPathDashArrayNV(path, dashCount, dashArray) - ccall(getprocaddress_e("glPathDashArrayNV"), Cvoid, (GLuint, GLsizei, Ptr{GLfloat}), path, dashCount, dashArray) + glPathDashArrayNV_handle[] == C_NULL && (glPathDashArrayNV_handle[] = getprocaddress_e("glPathDashArrayNV")) + ccall(glPathDashArrayNV_handle[], Cvoid, (GLuint, GLsizei, Ptr{GLfloat}), path, dashCount, dashArray) end +const glPathStencilFuncNV_handle = Ref{Ptr{Cvoid}}() + function glPathStencilFuncNV(func, ref, mask) - ccall(getprocaddress_e("glPathStencilFuncNV"), Cvoid, (GLenum, GLint, GLuint), func, ref, mask) + glPathStencilFuncNV_handle[] == C_NULL && (glPathStencilFuncNV_handle[] = getprocaddress_e("glPathStencilFuncNV")) + ccall(glPathStencilFuncNV_handle[], Cvoid, (GLenum, GLint, GLuint), func, ref, mask) end +const glPathStencilDepthOffsetNV_handle = Ref{Ptr{Cvoid}}() + function glPathStencilDepthOffsetNV(factor, units) - ccall(getprocaddress_e("glPathStencilDepthOffsetNV"), Cvoid, (GLfloat, GLfloat), factor, units) + glPathStencilDepthOffsetNV_handle[] == C_NULL && (glPathStencilDepthOffsetNV_handle[] = getprocaddress_e("glPathStencilDepthOffsetNV")) + ccall(glPathStencilDepthOffsetNV_handle[], Cvoid, (GLfloat, GLfloat), factor, units) end +const glStencilFillPathNV_handle = Ref{Ptr{Cvoid}}() + function glStencilFillPathNV(path, fillMode, mask) - ccall(getprocaddress_e("glStencilFillPathNV"), Cvoid, (GLuint, GLenum, GLuint), path, fillMode, mask) + glStencilFillPathNV_handle[] == C_NULL && (glStencilFillPathNV_handle[] = getprocaddress_e("glStencilFillPathNV")) + ccall(glStencilFillPathNV_handle[], Cvoid, (GLuint, GLenum, GLuint), path, fillMode, mask) end +const glStencilStrokePathNV_handle = Ref{Ptr{Cvoid}}() + function glStencilStrokePathNV(path, reference, mask) - ccall(getprocaddress_e("glStencilStrokePathNV"), Cvoid, (GLuint, GLint, GLuint), path, reference, mask) + glStencilStrokePathNV_handle[] == C_NULL && (glStencilStrokePathNV_handle[] = getprocaddress_e("glStencilStrokePathNV")) + ccall(glStencilStrokePathNV_handle[], Cvoid, (GLuint, GLint, GLuint), path, reference, mask) end +const glStencilFillPathInstancedNV_handle = Ref{Ptr{Cvoid}}() + function glStencilFillPathInstancedNV(numPaths, pathNameType, paths, pathBase, fillMode, mask, transformType, transformValues) - ccall(getprocaddress_e("glStencilFillPathInstancedNV"), Cvoid, (GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLenum, GLuint, GLenum, Ptr{GLfloat}), numPaths, pathNameType, paths, pathBase, fillMode, mask, transformType, transformValues) + glStencilFillPathInstancedNV_handle[] == C_NULL && (glStencilFillPathInstancedNV_handle[] = getprocaddress_e("glStencilFillPathInstancedNV")) + ccall(glStencilFillPathInstancedNV_handle[], Cvoid, (GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLenum, GLuint, GLenum, Ptr{GLfloat}), numPaths, pathNameType, paths, pathBase, fillMode, mask, transformType, transformValues) end +const glStencilStrokePathInstancedNV_handle = Ref{Ptr{Cvoid}}() + function glStencilStrokePathInstancedNV(numPaths, pathNameType, paths, pathBase, reference, mask, transformType, transformValues) - ccall(getprocaddress_e("glStencilStrokePathInstancedNV"), Cvoid, (GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLint, GLuint, GLenum, Ptr{GLfloat}), numPaths, pathNameType, paths, pathBase, reference, mask, transformType, transformValues) + glStencilStrokePathInstancedNV_handle[] == C_NULL && (glStencilStrokePathInstancedNV_handle[] = getprocaddress_e("glStencilStrokePathInstancedNV")) + ccall(glStencilStrokePathInstancedNV_handle[], Cvoid, (GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLint, GLuint, GLenum, Ptr{GLfloat}), numPaths, pathNameType, paths, pathBase, reference, mask, transformType, transformValues) end +const glPathCoverDepthFuncNV_handle = Ref{Ptr{Cvoid}}() + function glPathCoverDepthFuncNV(func) - ccall(getprocaddress_e("glPathCoverDepthFuncNV"), Cvoid, (GLenum,), func) + glPathCoverDepthFuncNV_handle[] == C_NULL && (glPathCoverDepthFuncNV_handle[] = getprocaddress_e("glPathCoverDepthFuncNV")) + ccall(glPathCoverDepthFuncNV_handle[], Cvoid, (GLenum,), func) end +const glCoverFillPathNV_handle = Ref{Ptr{Cvoid}}() + function glCoverFillPathNV(path, coverMode) - ccall(getprocaddress_e("glCoverFillPathNV"), Cvoid, (GLuint, GLenum), path, coverMode) + glCoverFillPathNV_handle[] == C_NULL && (glCoverFillPathNV_handle[] = getprocaddress_e("glCoverFillPathNV")) + ccall(glCoverFillPathNV_handle[], Cvoid, (GLuint, GLenum), path, coverMode) end +const glCoverStrokePathNV_handle = Ref{Ptr{Cvoid}}() + function glCoverStrokePathNV(path, coverMode) - ccall(getprocaddress_e("glCoverStrokePathNV"), Cvoid, (GLuint, GLenum), path, coverMode) + glCoverStrokePathNV_handle[] == C_NULL && (glCoverStrokePathNV_handle[] = getprocaddress_e("glCoverStrokePathNV")) + ccall(glCoverStrokePathNV_handle[], Cvoid, (GLuint, GLenum), path, coverMode) end +const glCoverFillPathInstancedNV_handle = Ref{Ptr{Cvoid}}() + function glCoverFillPathInstancedNV(numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues) - ccall(getprocaddress_e("glCoverFillPathInstancedNV"), Cvoid, (GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLenum, GLenum, Ptr{GLfloat}), numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues) + glCoverFillPathInstancedNV_handle[] == C_NULL && (glCoverFillPathInstancedNV_handle[] = getprocaddress_e("glCoverFillPathInstancedNV")) + ccall(glCoverFillPathInstancedNV_handle[], Cvoid, (GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLenum, GLenum, Ptr{GLfloat}), numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues) end +const glCoverStrokePathInstancedNV_handle = Ref{Ptr{Cvoid}}() + function glCoverStrokePathInstancedNV(numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues) - ccall(getprocaddress_e("glCoverStrokePathInstancedNV"), Cvoid, (GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLenum, GLenum, Ptr{GLfloat}), numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues) + glCoverStrokePathInstancedNV_handle[] == C_NULL && (glCoverStrokePathInstancedNV_handle[] = getprocaddress_e("glCoverStrokePathInstancedNV")) + ccall(glCoverStrokePathInstancedNV_handle[], Cvoid, (GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLenum, GLenum, Ptr{GLfloat}), numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues) end +const glGetPathParameterivNV_handle = Ref{Ptr{Cvoid}}() + function glGetPathParameterivNV(path, pname, value) - ccall(getprocaddress_e("glGetPathParameterivNV"), Cvoid, (GLuint, GLenum, Ptr{GLint}), path, pname, value) + glGetPathParameterivNV_handle[] == C_NULL && (glGetPathParameterivNV_handle[] = getprocaddress_e("glGetPathParameterivNV")) + ccall(glGetPathParameterivNV_handle[], Cvoid, (GLuint, GLenum, Ptr{GLint}), path, pname, value) end +const glGetPathParameterfvNV_handle = Ref{Ptr{Cvoid}}() + function glGetPathParameterfvNV(path, pname, value) - ccall(getprocaddress_e("glGetPathParameterfvNV"), Cvoid, (GLuint, GLenum, Ptr{GLfloat}), path, pname, value) + glGetPathParameterfvNV_handle[] == C_NULL && (glGetPathParameterfvNV_handle[] = getprocaddress_e("glGetPathParameterfvNV")) + ccall(glGetPathParameterfvNV_handle[], Cvoid, (GLuint, GLenum, Ptr{GLfloat}), path, pname, value) end +const glGetPathCommandsNV_handle = Ref{Ptr{Cvoid}}() + function glGetPathCommandsNV(path, commands) - ccall(getprocaddress_e("glGetPathCommandsNV"), Cvoid, (GLuint, Ptr{GLubyte}), path, commands) + glGetPathCommandsNV_handle[] == C_NULL && (glGetPathCommandsNV_handle[] = getprocaddress_e("glGetPathCommandsNV")) + ccall(glGetPathCommandsNV_handle[], Cvoid, (GLuint, Ptr{GLubyte}), path, commands) end +const glGetPathCoordsNV_handle = Ref{Ptr{Cvoid}}() + function glGetPathCoordsNV(path, coords) - ccall(getprocaddress_e("glGetPathCoordsNV"), Cvoid, (GLuint, Ptr{GLfloat}), path, coords) + glGetPathCoordsNV_handle[] == C_NULL && (glGetPathCoordsNV_handle[] = getprocaddress_e("glGetPathCoordsNV")) + ccall(glGetPathCoordsNV_handle[], Cvoid, (GLuint, Ptr{GLfloat}), path, coords) end +const glGetPathDashArrayNV_handle = Ref{Ptr{Cvoid}}() + function glGetPathDashArrayNV(path, dashArray) - ccall(getprocaddress_e("glGetPathDashArrayNV"), Cvoid, (GLuint, Ptr{GLfloat}), path, dashArray) + glGetPathDashArrayNV_handle[] == C_NULL && (glGetPathDashArrayNV_handle[] = getprocaddress_e("glGetPathDashArrayNV")) + ccall(glGetPathDashArrayNV_handle[], Cvoid, (GLuint, Ptr{GLfloat}), path, dashArray) end +const glGetPathMetricsNV_handle = Ref{Ptr{Cvoid}}() + function glGetPathMetricsNV(metricQueryMask, numPaths, pathNameType, paths, pathBase, stride, metrics) - ccall(getprocaddress_e("glGetPathMetricsNV"), Cvoid, (GLbitfield, GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLsizei, Ptr{GLfloat}), metricQueryMask, numPaths, pathNameType, paths, pathBase, stride, metrics) + glGetPathMetricsNV_handle[] == C_NULL && (glGetPathMetricsNV_handle[] = getprocaddress_e("glGetPathMetricsNV")) + ccall(glGetPathMetricsNV_handle[], Cvoid, (GLbitfield, GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLsizei, Ptr{GLfloat}), metricQueryMask, numPaths, pathNameType, paths, pathBase, stride, metrics) end +const glGetPathMetricRangeNV_handle = Ref{Ptr{Cvoid}}() + function glGetPathMetricRangeNV(metricQueryMask, firstPathName, numPaths, stride, metrics) - ccall(getprocaddress_e("glGetPathMetricRangeNV"), Cvoid, (GLbitfield, GLuint, GLsizei, GLsizei, Ptr{GLfloat}), metricQueryMask, firstPathName, numPaths, stride, metrics) + glGetPathMetricRangeNV_handle[] == C_NULL && (glGetPathMetricRangeNV_handle[] = getprocaddress_e("glGetPathMetricRangeNV")) + ccall(glGetPathMetricRangeNV_handle[], Cvoid, (GLbitfield, GLuint, GLsizei, GLsizei, Ptr{GLfloat}), metricQueryMask, firstPathName, numPaths, stride, metrics) end +const glGetPathSpacingNV_handle = Ref{Ptr{Cvoid}}() + function glGetPathSpacingNV(pathListMode, numPaths, pathNameType, paths, pathBase, advanceScale, kerningScale, transformType, returnedSpacing) - ccall(getprocaddress_e("glGetPathSpacingNV"), Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLfloat, GLfloat, GLenum, Ptr{GLfloat}), pathListMode, numPaths, pathNameType, paths, pathBase, advanceScale, kerningScale, transformType, returnedSpacing) + glGetPathSpacingNV_handle[] == C_NULL && (glGetPathSpacingNV_handle[] = getprocaddress_e("glGetPathSpacingNV")) + ccall(glGetPathSpacingNV_handle[], Cvoid, (GLenum, GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLfloat, GLfloat, GLenum, Ptr{GLfloat}), pathListMode, numPaths, pathNameType, paths, pathBase, advanceScale, kerningScale, transformType, returnedSpacing) end +const glIsPointInFillPathNV_handle = Ref{Ptr{Cvoid}}() + function glIsPointInFillPathNV(path, mask, x, y) - ccall(getprocaddress_e("glIsPointInFillPathNV"), GLboolean, (GLuint, GLuint, GLfloat, GLfloat), path, mask, x, y) + glIsPointInFillPathNV_handle[] == C_NULL && (glIsPointInFillPathNV_handle[] = getprocaddress_e("glIsPointInFillPathNV")) + ccall(glIsPointInFillPathNV_handle[], GLboolean, (GLuint, GLuint, GLfloat, GLfloat), path, mask, x, y) end +const glIsPointInStrokePathNV_handle = Ref{Ptr{Cvoid}}() + function glIsPointInStrokePathNV(path, x, y) - ccall(getprocaddress_e("glIsPointInStrokePathNV"), GLboolean, (GLuint, GLfloat, GLfloat), path, x, y) + glIsPointInStrokePathNV_handle[] == C_NULL && (glIsPointInStrokePathNV_handle[] = getprocaddress_e("glIsPointInStrokePathNV")) + ccall(glIsPointInStrokePathNV_handle[], GLboolean, (GLuint, GLfloat, GLfloat), path, x, y) end +const glGetPathLengthNV_handle = Ref{Ptr{Cvoid}}() + function glGetPathLengthNV(path, startSegment, numSegments) - ccall(getprocaddress_e("glGetPathLengthNV"), GLfloat, (GLuint, GLsizei, GLsizei), path, startSegment, numSegments) + glGetPathLengthNV_handle[] == C_NULL && (glGetPathLengthNV_handle[] = getprocaddress_e("glGetPathLengthNV")) + ccall(glGetPathLengthNV_handle[], GLfloat, (GLuint, GLsizei, GLsizei), path, startSegment, numSegments) end +const glPointAlongPathNV_handle = Ref{Ptr{Cvoid}}() + function glPointAlongPathNV(path, startSegment, numSegments, distance, x, y, tangentX, tangentY) - ccall(getprocaddress_e("glPointAlongPathNV"), GLboolean, (GLuint, GLsizei, GLsizei, GLfloat, Ptr{GLfloat}, Ptr{GLfloat}, Ptr{GLfloat}, Ptr{GLfloat}), path, startSegment, numSegments, distance, x, y, tangentX, tangentY) + glPointAlongPathNV_handle[] == C_NULL && (glPointAlongPathNV_handle[] = getprocaddress_e("glPointAlongPathNV")) + ccall(glPointAlongPathNV_handle[], GLboolean, (GLuint, GLsizei, GLsizei, GLfloat, Ptr{GLfloat}, Ptr{GLfloat}, Ptr{GLfloat}, Ptr{GLfloat}), path, startSegment, numSegments, distance, x, y, tangentX, tangentY) end +const glMatrixLoad3x2fNV_handle = Ref{Ptr{Cvoid}}() + function glMatrixLoad3x2fNV(matrixMode, m) - ccall(getprocaddress_e("glMatrixLoad3x2fNV"), Cvoid, (GLenum, Ptr{GLfloat}), matrixMode, m) + glMatrixLoad3x2fNV_handle[] == C_NULL && (glMatrixLoad3x2fNV_handle[] = getprocaddress_e("glMatrixLoad3x2fNV")) + ccall(glMatrixLoad3x2fNV_handle[], Cvoid, (GLenum, Ptr{GLfloat}), matrixMode, m) end +const glMatrixLoad3x3fNV_handle = Ref{Ptr{Cvoid}}() + function glMatrixLoad3x3fNV(matrixMode, m) - ccall(getprocaddress_e("glMatrixLoad3x3fNV"), Cvoid, (GLenum, Ptr{GLfloat}), matrixMode, m) + glMatrixLoad3x3fNV_handle[] == C_NULL && (glMatrixLoad3x3fNV_handle[] = getprocaddress_e("glMatrixLoad3x3fNV")) + ccall(glMatrixLoad3x3fNV_handle[], Cvoid, (GLenum, Ptr{GLfloat}), matrixMode, m) end +const glMatrixLoadTranspose3x3fNV_handle = Ref{Ptr{Cvoid}}() + function glMatrixLoadTranspose3x3fNV(matrixMode, m) - ccall(getprocaddress_e("glMatrixLoadTranspose3x3fNV"), Cvoid, (GLenum, Ptr{GLfloat}), matrixMode, m) + glMatrixLoadTranspose3x3fNV_handle[] == C_NULL && (glMatrixLoadTranspose3x3fNV_handle[] = getprocaddress_e("glMatrixLoadTranspose3x3fNV")) + ccall(glMatrixLoadTranspose3x3fNV_handle[], Cvoid, (GLenum, Ptr{GLfloat}), matrixMode, m) end +const glMatrixMult3x2fNV_handle = Ref{Ptr{Cvoid}}() + function glMatrixMult3x2fNV(matrixMode, m) - ccall(getprocaddress_e("glMatrixMult3x2fNV"), Cvoid, (GLenum, Ptr{GLfloat}), matrixMode, m) + glMatrixMult3x2fNV_handle[] == C_NULL && (glMatrixMult3x2fNV_handle[] = getprocaddress_e("glMatrixMult3x2fNV")) + ccall(glMatrixMult3x2fNV_handle[], Cvoid, (GLenum, Ptr{GLfloat}), matrixMode, m) end +const glMatrixMult3x3fNV_handle = Ref{Ptr{Cvoid}}() + function glMatrixMult3x3fNV(matrixMode, m) - ccall(getprocaddress_e("glMatrixMult3x3fNV"), Cvoid, (GLenum, Ptr{GLfloat}), matrixMode, m) + glMatrixMult3x3fNV_handle[] == C_NULL && (glMatrixMult3x3fNV_handle[] = getprocaddress_e("glMatrixMult3x3fNV")) + ccall(glMatrixMult3x3fNV_handle[], Cvoid, (GLenum, Ptr{GLfloat}), matrixMode, m) end +const glMatrixMultTranspose3x3fNV_handle = Ref{Ptr{Cvoid}}() + function glMatrixMultTranspose3x3fNV(matrixMode, m) - ccall(getprocaddress_e("glMatrixMultTranspose3x3fNV"), Cvoid, (GLenum, Ptr{GLfloat}), matrixMode, m) + glMatrixMultTranspose3x3fNV_handle[] == C_NULL && (glMatrixMultTranspose3x3fNV_handle[] = getprocaddress_e("glMatrixMultTranspose3x3fNV")) + ccall(glMatrixMultTranspose3x3fNV_handle[], Cvoid, (GLenum, Ptr{GLfloat}), matrixMode, m) end +const glStencilThenCoverFillPathNV_handle = Ref{Ptr{Cvoid}}() + function glStencilThenCoverFillPathNV(path, fillMode, mask, coverMode) - ccall(getprocaddress_e("glStencilThenCoverFillPathNV"), Cvoid, (GLuint, GLenum, GLuint, GLenum), path, fillMode, mask, coverMode) + glStencilThenCoverFillPathNV_handle[] == C_NULL && (glStencilThenCoverFillPathNV_handle[] = getprocaddress_e("glStencilThenCoverFillPathNV")) + ccall(glStencilThenCoverFillPathNV_handle[], Cvoid, (GLuint, GLenum, GLuint, GLenum), path, fillMode, mask, coverMode) end +const glStencilThenCoverStrokePathNV_handle = Ref{Ptr{Cvoid}}() + function glStencilThenCoverStrokePathNV(path, reference, mask, coverMode) - ccall(getprocaddress_e("glStencilThenCoverStrokePathNV"), Cvoid, (GLuint, GLint, GLuint, GLenum), path, reference, mask, coverMode) + glStencilThenCoverStrokePathNV_handle[] == C_NULL && (glStencilThenCoverStrokePathNV_handle[] = getprocaddress_e("glStencilThenCoverStrokePathNV")) + ccall(glStencilThenCoverStrokePathNV_handle[], Cvoid, (GLuint, GLint, GLuint, GLenum), path, reference, mask, coverMode) end +const glStencilThenCoverFillPathInstancedNV_handle = Ref{Ptr{Cvoid}}() + function glStencilThenCoverFillPathInstancedNV(numPaths, pathNameType, paths, pathBase, fillMode, mask, coverMode, transformType, transformValues) - ccall(getprocaddress_e("glStencilThenCoverFillPathInstancedNV"), Cvoid, (GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLenum, GLuint, GLenum, GLenum, Ptr{GLfloat}), numPaths, pathNameType, paths, pathBase, fillMode, mask, coverMode, transformType, transformValues) + glStencilThenCoverFillPathInstancedNV_handle[] == C_NULL && (glStencilThenCoverFillPathInstancedNV_handle[] = getprocaddress_e("glStencilThenCoverFillPathInstancedNV")) + ccall(glStencilThenCoverFillPathInstancedNV_handle[], Cvoid, (GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLenum, GLuint, GLenum, GLenum, Ptr{GLfloat}), numPaths, pathNameType, paths, pathBase, fillMode, mask, coverMode, transformType, transformValues) end +const glStencilThenCoverStrokePathInstancedNV_handle = Ref{Ptr{Cvoid}}() + function glStencilThenCoverStrokePathInstancedNV(numPaths, pathNameType, paths, pathBase, reference, mask, coverMode, transformType, transformValues) - ccall(getprocaddress_e("glStencilThenCoverStrokePathInstancedNV"), Cvoid, (GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLint, GLuint, GLenum, GLenum, Ptr{GLfloat}), numPaths, pathNameType, paths, pathBase, reference, mask, coverMode, transformType, transformValues) + glStencilThenCoverStrokePathInstancedNV_handle[] == C_NULL && (glStencilThenCoverStrokePathInstancedNV_handle[] = getprocaddress_e("glStencilThenCoverStrokePathInstancedNV")) + ccall(glStencilThenCoverStrokePathInstancedNV_handle[], Cvoid, (GLsizei, GLenum, Ptr{Cvoid}, GLuint, GLint, GLuint, GLenum, GLenum, Ptr{GLfloat}), numPaths, pathNameType, paths, pathBase, reference, mask, coverMode, transformType, transformValues) end +const glPathGlyphIndexRangeNV_handle = Ref{Ptr{Cvoid}}() + function glPathGlyphIndexRangeNV(fontTarget, fontName, fontStyle, pathParameterTemplate, emScale, baseAndCount) - ccall(getprocaddress_e("glPathGlyphIndexRangeNV"), GLenum, (GLenum, Ptr{Cvoid}, GLbitfield, GLuint, GLfloat, Ptr{GLuint}), fontTarget, fontName, fontStyle, pathParameterTemplate, emScale, baseAndCount) + glPathGlyphIndexRangeNV_handle[] == C_NULL && (glPathGlyphIndexRangeNV_handle[] = getprocaddress_e("glPathGlyphIndexRangeNV")) + ccall(glPathGlyphIndexRangeNV_handle[], GLenum, (GLenum, Ptr{Cvoid}, GLbitfield, GLuint, GLfloat, Ptr{GLuint}), fontTarget, fontName, fontStyle, pathParameterTemplate, emScale, baseAndCount) end +const glPathGlyphIndexArrayNV_handle = Ref{Ptr{Cvoid}}() + function glPathGlyphIndexArrayNV(firstPathName, fontTarget, fontName, fontStyle, firstGlyphIndex, numGlyphs, pathParameterTemplate, emScale) - ccall(getprocaddress_e("glPathGlyphIndexArrayNV"), GLenum, (GLuint, GLenum, Ptr{Cvoid}, GLbitfield, GLuint, GLsizei, GLuint, GLfloat), firstPathName, fontTarget, fontName, fontStyle, firstGlyphIndex, numGlyphs, pathParameterTemplate, emScale) + glPathGlyphIndexArrayNV_handle[] == C_NULL && (glPathGlyphIndexArrayNV_handle[] = getprocaddress_e("glPathGlyphIndexArrayNV")) + ccall(glPathGlyphIndexArrayNV_handle[], GLenum, (GLuint, GLenum, Ptr{Cvoid}, GLbitfield, GLuint, GLsizei, GLuint, GLfloat), firstPathName, fontTarget, fontName, fontStyle, firstGlyphIndex, numGlyphs, pathParameterTemplate, emScale) end +const glPathMemoryGlyphIndexArrayNV_handle = Ref{Ptr{Cvoid}}() + function glPathMemoryGlyphIndexArrayNV(firstPathName, fontTarget, fontSize, fontData, faceIndex, firstGlyphIndex, numGlyphs, pathParameterTemplate, emScale) - ccall(getprocaddress_e("glPathMemoryGlyphIndexArrayNV"), GLenum, (GLuint, GLenum, GLsizeiptr, Ptr{Cvoid}, GLsizei, GLuint, GLsizei, GLuint, GLfloat), firstPathName, fontTarget, fontSize, fontData, faceIndex, firstGlyphIndex, numGlyphs, pathParameterTemplate, emScale) + glPathMemoryGlyphIndexArrayNV_handle[] == C_NULL && (glPathMemoryGlyphIndexArrayNV_handle[] = getprocaddress_e("glPathMemoryGlyphIndexArrayNV")) + ccall(glPathMemoryGlyphIndexArrayNV_handle[], GLenum, (GLuint, GLenum, GLsizeiptr, Ptr{Cvoid}, GLsizei, GLuint, GLsizei, GLuint, GLfloat), firstPathName, fontTarget, fontSize, fontData, faceIndex, firstGlyphIndex, numGlyphs, pathParameterTemplate, emScale) end +const glProgramPathFragmentInputGenNV_handle = Ref{Ptr{Cvoid}}() + function glProgramPathFragmentInputGenNV(program, location, genMode, components, coeffs) - ccall(getprocaddress_e("glProgramPathFragmentInputGenNV"), Cvoid, (GLuint, GLint, GLenum, GLint, Ptr{GLfloat}), program, location, genMode, components, coeffs) + glProgramPathFragmentInputGenNV_handle[] == C_NULL && (glProgramPathFragmentInputGenNV_handle[] = getprocaddress_e("glProgramPathFragmentInputGenNV")) + ccall(glProgramPathFragmentInputGenNV_handle[], Cvoid, (GLuint, GLint, GLenum, GLint, Ptr{GLfloat}), program, location, genMode, components, coeffs) end +const glGetProgramResourcefvNV_handle = Ref{Ptr{Cvoid}}() + function glGetProgramResourcefvNV(program, programInterface, index, propCount, props, count, length, params) - ccall(getprocaddress_e("glGetProgramResourcefvNV"), Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLenum}, GLsizei, Ptr{GLsizei}, Ptr{GLfloat}), program, programInterface, index, propCount, props, count, length, params) + glGetProgramResourcefvNV_handle[] == C_NULL && (glGetProgramResourcefvNV_handle[] = getprocaddress_e("glGetProgramResourcefvNV")) + ccall(glGetProgramResourcefvNV_handle[], Cvoid, (GLuint, GLenum, GLuint, GLsizei, Ptr{GLenum}, GLsizei, Ptr{GLsizei}, Ptr{GLfloat}), program, programInterface, index, propCount, props, count, length, params) end # typedef void ( APIENTRYP PFNGLFRAMEBUFFERSAMPLELOCATIONSFVNVPROC ) ( GLenum target , GLuint start , GLsizei count , const GLfloat * v ) @@ -8636,16 +12290,25 @@ const PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVNVPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLRESOLVEDEPTHVALUESNVPROC ) ( void ) const PFNGLRESOLVEDEPTHVALUESNVPROC = Ptr{Cvoid} +const glFramebufferSampleLocationsfvNV_handle = Ref{Ptr{Cvoid}}() + function glFramebufferSampleLocationsfvNV(target, start, count, v) - ccall(getprocaddress_e("glFramebufferSampleLocationsfvNV"), Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLfloat}), target, start, count, v) + glFramebufferSampleLocationsfvNV_handle[] == C_NULL && (glFramebufferSampleLocationsfvNV_handle[] = getprocaddress_e("glFramebufferSampleLocationsfvNV")) + ccall(glFramebufferSampleLocationsfvNV_handle[], Cvoid, (GLenum, GLuint, GLsizei, Ptr{GLfloat}), target, start, count, v) end +const glNamedFramebufferSampleLocationsfvNV_handle = Ref{Ptr{Cvoid}}() + function glNamedFramebufferSampleLocationsfvNV(framebuffer, start, count, v) - ccall(getprocaddress_e("glNamedFramebufferSampleLocationsfvNV"), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLfloat}), framebuffer, start, count, v) + glNamedFramebufferSampleLocationsfvNV_handle[] == C_NULL && (glNamedFramebufferSampleLocationsfvNV_handle[] = getprocaddress_e("glNamedFramebufferSampleLocationsfvNV")) + ccall(glNamedFramebufferSampleLocationsfvNV_handle[], Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLfloat}), framebuffer, start, count, v) end +const glResolveDepthValuesNV_handle = Ref{Ptr{Cvoid}}() + function glResolveDepthValuesNV() - ccall(getprocaddress_e("glResolveDepthValuesNV"), Cvoid, ()) + glResolveDepthValuesNV_handle[] == C_NULL && (glResolveDepthValuesNV_handle[] = getprocaddress_e("glResolveDepthValuesNV")) + ccall(glResolveDepthValuesNV_handle[], Cvoid, ()) end # typedef void ( APIENTRYP PFNGLSCISSOREXCLUSIVENVPROC ) ( GLint x , GLint y , GLsizei width , GLsizei height ) @@ -8654,12 +12317,18 @@ const PFNGLSCISSOREXCLUSIVENVPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLSCISSOREXCLUSIVEARRAYVNVPROC ) ( GLuint first , GLsizei count , const GLint * v ) const PFNGLSCISSOREXCLUSIVEARRAYVNVPROC = Ptr{Cvoid} +const glScissorExclusiveNV_handle = Ref{Ptr{Cvoid}}() + function glScissorExclusiveNV(x, y, width, height) - ccall(getprocaddress_e("glScissorExclusiveNV"), Cvoid, (GLint, GLint, GLsizei, GLsizei), x, y, width, height) + glScissorExclusiveNV_handle[] == C_NULL && (glScissorExclusiveNV_handle[] = getprocaddress_e("glScissorExclusiveNV")) + ccall(glScissorExclusiveNV_handle[], Cvoid, (GLint, GLint, GLsizei, GLsizei), x, y, width, height) end +const glScissorExclusiveArrayvNV_handle = Ref{Ptr{Cvoid}}() + function glScissorExclusiveArrayvNV(first, count, v) - ccall(getprocaddress_e("glScissorExclusiveArrayvNV"), Cvoid, (GLuint, GLsizei, Ptr{GLint}), first, count, v) + glScissorExclusiveArrayvNV_handle[] == C_NULL && (glScissorExclusiveArrayvNV_handle[] = getprocaddress_e("glScissorExclusiveArrayvNV")) + ccall(glScissorExclusiveArrayvNV_handle[], Cvoid, (GLuint, GLsizei, Ptr{GLint}), first, count, v) end # typedef void ( APIENTRYP PFNGLMAKEBUFFERRESIDENTNVPROC ) ( GLenum target , GLenum access ) @@ -8704,60 +12373,102 @@ const PFNGLPROGRAMUNIFORMUI64NVPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLPROGRAMUNIFORMUI64VNVPROC ) ( GLuint program , GLint location , GLsizei count , const GLuint64EXT * value ) const PFNGLPROGRAMUNIFORMUI64VNVPROC = Ptr{Cvoid} +const glMakeBufferResidentNV_handle = Ref{Ptr{Cvoid}}() + function glMakeBufferResidentNV(target, access) - ccall(getprocaddress_e("glMakeBufferResidentNV"), Cvoid, (GLenum, GLenum), target, access) + glMakeBufferResidentNV_handle[] == C_NULL && (glMakeBufferResidentNV_handle[] = getprocaddress_e("glMakeBufferResidentNV")) + ccall(glMakeBufferResidentNV_handle[], Cvoid, (GLenum, GLenum), target, access) end +const glMakeBufferNonResidentNV_handle = Ref{Ptr{Cvoid}}() + function glMakeBufferNonResidentNV(target) - ccall(getprocaddress_e("glMakeBufferNonResidentNV"), Cvoid, (GLenum,), target) + glMakeBufferNonResidentNV_handle[] == C_NULL && (glMakeBufferNonResidentNV_handle[] = getprocaddress_e("glMakeBufferNonResidentNV")) + ccall(glMakeBufferNonResidentNV_handle[], Cvoid, (GLenum,), target) end +const glIsBufferResidentNV_handle = Ref{Ptr{Cvoid}}() + function glIsBufferResidentNV(target) - ccall(getprocaddress_e("glIsBufferResidentNV"), GLboolean, (GLenum,), target) + glIsBufferResidentNV_handle[] == C_NULL && (glIsBufferResidentNV_handle[] = getprocaddress_e("glIsBufferResidentNV")) + ccall(glIsBufferResidentNV_handle[], GLboolean, (GLenum,), target) end +const glMakeNamedBufferResidentNV_handle = Ref{Ptr{Cvoid}}() + function glMakeNamedBufferResidentNV(buffer, access) - ccall(getprocaddress_e("glMakeNamedBufferResidentNV"), Cvoid, (GLuint, GLenum), buffer, access) + glMakeNamedBufferResidentNV_handle[] == C_NULL && (glMakeNamedBufferResidentNV_handle[] = getprocaddress_e("glMakeNamedBufferResidentNV")) + ccall(glMakeNamedBufferResidentNV_handle[], Cvoid, (GLuint, GLenum), buffer, access) end +const glMakeNamedBufferNonResidentNV_handle = Ref{Ptr{Cvoid}}() + function glMakeNamedBufferNonResidentNV(buffer) - ccall(getprocaddress_e("glMakeNamedBufferNonResidentNV"), Cvoid, (GLuint,), buffer) + glMakeNamedBufferNonResidentNV_handle[] == C_NULL && (glMakeNamedBufferNonResidentNV_handle[] = getprocaddress_e("glMakeNamedBufferNonResidentNV")) + ccall(glMakeNamedBufferNonResidentNV_handle[], Cvoid, (GLuint,), buffer) end +const glIsNamedBufferResidentNV_handle = Ref{Ptr{Cvoid}}() + function glIsNamedBufferResidentNV(buffer) - ccall(getprocaddress_e("glIsNamedBufferResidentNV"), GLboolean, (GLuint,), buffer) + glIsNamedBufferResidentNV_handle[] == C_NULL && (glIsNamedBufferResidentNV_handle[] = getprocaddress_e("glIsNamedBufferResidentNV")) + ccall(glIsNamedBufferResidentNV_handle[], GLboolean, (GLuint,), buffer) end +const glGetBufferParameterui64vNV_handle = Ref{Ptr{Cvoid}}() + function glGetBufferParameterui64vNV(target, pname, params) - ccall(getprocaddress_e("glGetBufferParameterui64vNV"), Cvoid, (GLenum, GLenum, Ptr{GLuint64EXT}), target, pname, params) + glGetBufferParameterui64vNV_handle[] == C_NULL && (glGetBufferParameterui64vNV_handle[] = getprocaddress_e("glGetBufferParameterui64vNV")) + ccall(glGetBufferParameterui64vNV_handle[], Cvoid, (GLenum, GLenum, Ptr{GLuint64EXT}), target, pname, params) end +const glGetNamedBufferParameterui64vNV_handle = Ref{Ptr{Cvoid}}() + function glGetNamedBufferParameterui64vNV(buffer, pname, params) - ccall(getprocaddress_e("glGetNamedBufferParameterui64vNV"), Cvoid, (GLuint, GLenum, Ptr{GLuint64EXT}), buffer, pname, params) + glGetNamedBufferParameterui64vNV_handle[] == C_NULL && (glGetNamedBufferParameterui64vNV_handle[] = getprocaddress_e("glGetNamedBufferParameterui64vNV")) + ccall(glGetNamedBufferParameterui64vNV_handle[], Cvoid, (GLuint, GLenum, Ptr{GLuint64EXT}), buffer, pname, params) end +const glGetIntegerui64vNV_handle = Ref{Ptr{Cvoid}}() + function glGetIntegerui64vNV(value, result) - ccall(getprocaddress_e("glGetIntegerui64vNV"), Cvoid, (GLenum, Ptr{GLuint64EXT}), value, result) + glGetIntegerui64vNV_handle[] == C_NULL && (glGetIntegerui64vNV_handle[] = getprocaddress_e("glGetIntegerui64vNV")) + ccall(glGetIntegerui64vNV_handle[], Cvoid, (GLenum, Ptr{GLuint64EXT}), value, result) end +const glUniformui64NV_handle = Ref{Ptr{Cvoid}}() + function glUniformui64NV(location, value) - ccall(getprocaddress_e("glUniformui64NV"), Cvoid, (GLint, GLuint64EXT), location, value) + glUniformui64NV_handle[] == C_NULL && (glUniformui64NV_handle[] = getprocaddress_e("glUniformui64NV")) + ccall(glUniformui64NV_handle[], Cvoid, (GLint, GLuint64EXT), location, value) end +const glUniformui64vNV_handle = Ref{Ptr{Cvoid}}() + function glUniformui64vNV(location, count, value) - ccall(getprocaddress_e("glUniformui64vNV"), Cvoid, (GLint, GLsizei, Ptr{GLuint64EXT}), location, count, value) + glUniformui64vNV_handle[] == C_NULL && (glUniformui64vNV_handle[] = getprocaddress_e("glUniformui64vNV")) + ccall(glUniformui64vNV_handle[], Cvoid, (GLint, GLsizei, Ptr{GLuint64EXT}), location, count, value) end +const glGetUniformui64vNV_handle = Ref{Ptr{Cvoid}}() + function glGetUniformui64vNV(program, location, params) - ccall(getprocaddress_e("glGetUniformui64vNV"), Cvoid, (GLuint, GLint, Ptr{GLuint64EXT}), program, location, params) + glGetUniformui64vNV_handle[] == C_NULL && (glGetUniformui64vNV_handle[] = getprocaddress_e("glGetUniformui64vNV")) + ccall(glGetUniformui64vNV_handle[], Cvoid, (GLuint, GLint, Ptr{GLuint64EXT}), program, location, params) end +const glProgramUniformui64NV_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformui64NV(program, location, value) - ccall(getprocaddress_e("glProgramUniformui64NV"), Cvoid, (GLuint, GLint, GLuint64EXT), program, location, value) + glProgramUniformui64NV_handle[] == C_NULL && (glProgramUniformui64NV_handle[] = getprocaddress_e("glProgramUniformui64NV")) + ccall(glProgramUniformui64NV_handle[], Cvoid, (GLuint, GLint, GLuint64EXT), program, location, value) end +const glProgramUniformui64vNV_handle = Ref{Ptr{Cvoid}}() + function glProgramUniformui64vNV(program, location, count, value) - ccall(getprocaddress_e("glProgramUniformui64vNV"), Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64EXT}), program, location, count, value) + glProgramUniformui64vNV_handle[] == C_NULL && (glProgramUniformui64vNV_handle[] = getprocaddress_e("glProgramUniformui64vNV")) + ccall(glProgramUniformui64vNV_handle[], Cvoid, (GLuint, GLint, GLsizei, Ptr{GLuint64EXT}), program, location, count, value) end # typedef void ( APIENTRYP PFNGLBINDSHADINGRATEIMAGENVPROC ) ( GLuint texture ) @@ -8781,39 +12492,63 @@ const PFNGLSHADINGRATESAMPLEORDERNVPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLSHADINGRATESAMPLEORDERCUSTOMNVPROC ) ( GLenum rate , GLuint samples , const GLint * locations ) const PFNGLSHADINGRATESAMPLEORDERCUSTOMNVPROC = Ptr{Cvoid} +const glBindShadingRateImageNV_handle = Ref{Ptr{Cvoid}}() + function glBindShadingRateImageNV(texture) - ccall(getprocaddress_e("glBindShadingRateImageNV"), Cvoid, (GLuint,), texture) + glBindShadingRateImageNV_handle[] == C_NULL && (glBindShadingRateImageNV_handle[] = getprocaddress_e("glBindShadingRateImageNV")) + ccall(glBindShadingRateImageNV_handle[], Cvoid, (GLuint,), texture) end +const glGetShadingRateImagePaletteNV_handle = Ref{Ptr{Cvoid}}() + function glGetShadingRateImagePaletteNV(viewport, entry, rate) - ccall(getprocaddress_e("glGetShadingRateImagePaletteNV"), Cvoid, (GLuint, GLuint, Ptr{GLenum}), viewport, entry, rate) + glGetShadingRateImagePaletteNV_handle[] == C_NULL && (glGetShadingRateImagePaletteNV_handle[] = getprocaddress_e("glGetShadingRateImagePaletteNV")) + ccall(glGetShadingRateImagePaletteNV_handle[], Cvoid, (GLuint, GLuint, Ptr{GLenum}), viewport, entry, rate) end +const glGetShadingRateSampleLocationivNV_handle = Ref{Ptr{Cvoid}}() + function glGetShadingRateSampleLocationivNV(rate, samples, index, location) - ccall(getprocaddress_e("glGetShadingRateSampleLocationivNV"), Cvoid, (GLenum, GLuint, GLuint, Ptr{GLint}), rate, samples, index, location) + glGetShadingRateSampleLocationivNV_handle[] == C_NULL && (glGetShadingRateSampleLocationivNV_handle[] = getprocaddress_e("glGetShadingRateSampleLocationivNV")) + ccall(glGetShadingRateSampleLocationivNV_handle[], Cvoid, (GLenum, GLuint, GLuint, Ptr{GLint}), rate, samples, index, location) end +const glShadingRateImageBarrierNV_handle = Ref{Ptr{Cvoid}}() + function glShadingRateImageBarrierNV(synchronize) - ccall(getprocaddress_e("glShadingRateImageBarrierNV"), Cvoid, (GLboolean,), synchronize) + glShadingRateImageBarrierNV_handle[] == C_NULL && (glShadingRateImageBarrierNV_handle[] = getprocaddress_e("glShadingRateImageBarrierNV")) + ccall(glShadingRateImageBarrierNV_handle[], Cvoid, (GLboolean,), synchronize) end +const glShadingRateImagePaletteNV_handle = Ref{Ptr{Cvoid}}() + function glShadingRateImagePaletteNV(viewport, first, count, rates) - ccall(getprocaddress_e("glShadingRateImagePaletteNV"), Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLenum}), viewport, first, count, rates) + glShadingRateImagePaletteNV_handle[] == C_NULL && (glShadingRateImagePaletteNV_handle[] = getprocaddress_e("glShadingRateImagePaletteNV")) + ccall(glShadingRateImagePaletteNV_handle[], Cvoid, (GLuint, GLuint, GLsizei, Ptr{GLenum}), viewport, first, count, rates) end +const glShadingRateSampleOrderNV_handle = Ref{Ptr{Cvoid}}() + function glShadingRateSampleOrderNV(order) - ccall(getprocaddress_e("glShadingRateSampleOrderNV"), Cvoid, (GLenum,), order) + glShadingRateSampleOrderNV_handle[] == C_NULL && (glShadingRateSampleOrderNV_handle[] = getprocaddress_e("glShadingRateSampleOrderNV")) + ccall(glShadingRateSampleOrderNV_handle[], Cvoid, (GLenum,), order) end +const glShadingRateSampleOrderCustomNV_handle = Ref{Ptr{Cvoid}}() + function glShadingRateSampleOrderCustomNV(rate, samples, locations) - ccall(getprocaddress_e("glShadingRateSampleOrderCustomNV"), Cvoid, (GLenum, GLuint, Ptr{GLint}), rate, samples, locations) + glShadingRateSampleOrderCustomNV_handle[] == C_NULL && (glShadingRateSampleOrderCustomNV_handle[] = getprocaddress_e("glShadingRateSampleOrderCustomNV")) + ccall(glShadingRateSampleOrderCustomNV_handle[], Cvoid, (GLenum, GLuint, Ptr{GLint}), rate, samples, locations) end # typedef void ( APIENTRYP PFNGLTEXTUREBARRIERNVPROC ) ( void ) const PFNGLTEXTUREBARRIERNVPROC = Ptr{Cvoid} +const glTextureBarrierNV_handle = Ref{Ptr{Cvoid}}() + function glTextureBarrierNV() - ccall(getprocaddress_e("glTextureBarrierNV"), Cvoid, ()) + glTextureBarrierNV_handle[] == C_NULL && (glTextureBarrierNV_handle[] = getprocaddress_e("glTextureBarrierNV")) + ccall(glTextureBarrierNV_handle[], Cvoid, ()) end # typedef void ( APIENTRYP PFNGLVERTEXATTRIBL1I64NVPROC ) ( GLuint index , GLint64EXT x ) @@ -8873,80 +12608,137 @@ const PFNGLGETVERTEXATTRIBLUI64VNVPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLVERTEXATTRIBLFORMATNVPROC ) ( GLuint index , GLint size , GLenum type , GLsizei stride ) const PFNGLVERTEXATTRIBLFORMATNVPROC = Ptr{Cvoid} +const glVertexAttribL1i64NV_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribL1i64NV(index, x) - ccall(getprocaddress_e("glVertexAttribL1i64NV"), Cvoid, (GLuint, GLint64EXT), index, x) + glVertexAttribL1i64NV_handle[] == C_NULL && (glVertexAttribL1i64NV_handle[] = getprocaddress_e("glVertexAttribL1i64NV")) + ccall(glVertexAttribL1i64NV_handle[], Cvoid, (GLuint, GLint64EXT), index, x) end +const glVertexAttribL2i64NV_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribL2i64NV(index, x, y) - ccall(getprocaddress_e("glVertexAttribL2i64NV"), Cvoid, (GLuint, GLint64EXT, GLint64EXT), index, x, y) + glVertexAttribL2i64NV_handle[] == C_NULL && (glVertexAttribL2i64NV_handle[] = getprocaddress_e("glVertexAttribL2i64NV")) + ccall(glVertexAttribL2i64NV_handle[], Cvoid, (GLuint, GLint64EXT, GLint64EXT), index, x, y) end +const glVertexAttribL3i64NV_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribL3i64NV(index, x, y, z) - ccall(getprocaddress_e("glVertexAttribL3i64NV"), Cvoid, (GLuint, GLint64EXT, GLint64EXT, GLint64EXT), index, x, y, z) + glVertexAttribL3i64NV_handle[] == C_NULL && (glVertexAttribL3i64NV_handle[] = getprocaddress_e("glVertexAttribL3i64NV")) + ccall(glVertexAttribL3i64NV_handle[], Cvoid, (GLuint, GLint64EXT, GLint64EXT, GLint64EXT), index, x, y, z) end +const glVertexAttribL4i64NV_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribL4i64NV(index, x, y, z, w) - ccall(getprocaddress_e("glVertexAttribL4i64NV"), Cvoid, (GLuint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT), index, x, y, z, w) + glVertexAttribL4i64NV_handle[] == C_NULL && (glVertexAttribL4i64NV_handle[] = getprocaddress_e("glVertexAttribL4i64NV")) + ccall(glVertexAttribL4i64NV_handle[], Cvoid, (GLuint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT), index, x, y, z, w) end +const glVertexAttribL1i64vNV_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribL1i64vNV(index, v) - ccall(getprocaddress_e("glVertexAttribL1i64vNV"), Cvoid, (GLuint, Ptr{GLint64EXT}), index, v) + glVertexAttribL1i64vNV_handle[] == C_NULL && (glVertexAttribL1i64vNV_handle[] = getprocaddress_e("glVertexAttribL1i64vNV")) + ccall(glVertexAttribL1i64vNV_handle[], Cvoid, (GLuint, Ptr{GLint64EXT}), index, v) end +const glVertexAttribL2i64vNV_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribL2i64vNV(index, v) - ccall(getprocaddress_e("glVertexAttribL2i64vNV"), Cvoid, (GLuint, Ptr{GLint64EXT}), index, v) + glVertexAttribL2i64vNV_handle[] == C_NULL && (glVertexAttribL2i64vNV_handle[] = getprocaddress_e("glVertexAttribL2i64vNV")) + ccall(glVertexAttribL2i64vNV_handle[], Cvoid, (GLuint, Ptr{GLint64EXT}), index, v) end +const glVertexAttribL3i64vNV_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribL3i64vNV(index, v) - ccall(getprocaddress_e("glVertexAttribL3i64vNV"), Cvoid, (GLuint, Ptr{GLint64EXT}), index, v) + glVertexAttribL3i64vNV_handle[] == C_NULL && (glVertexAttribL3i64vNV_handle[] = getprocaddress_e("glVertexAttribL3i64vNV")) + ccall(glVertexAttribL3i64vNV_handle[], Cvoid, (GLuint, Ptr{GLint64EXT}), index, v) end +const glVertexAttribL4i64vNV_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribL4i64vNV(index, v) - ccall(getprocaddress_e("glVertexAttribL4i64vNV"), Cvoid, (GLuint, Ptr{GLint64EXT}), index, v) + glVertexAttribL4i64vNV_handle[] == C_NULL && (glVertexAttribL4i64vNV_handle[] = getprocaddress_e("glVertexAttribL4i64vNV")) + ccall(glVertexAttribL4i64vNV_handle[], Cvoid, (GLuint, Ptr{GLint64EXT}), index, v) end +const glVertexAttribL1ui64NV_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribL1ui64NV(index, x) - ccall(getprocaddress_e("glVertexAttribL1ui64NV"), Cvoid, (GLuint, GLuint64EXT), index, x) + glVertexAttribL1ui64NV_handle[] == C_NULL && (glVertexAttribL1ui64NV_handle[] = getprocaddress_e("glVertexAttribL1ui64NV")) + ccall(glVertexAttribL1ui64NV_handle[], Cvoid, (GLuint, GLuint64EXT), index, x) end +const glVertexAttribL2ui64NV_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribL2ui64NV(index, x, y) - ccall(getprocaddress_e("glVertexAttribL2ui64NV"), Cvoid, (GLuint, GLuint64EXT, GLuint64EXT), index, x, y) + glVertexAttribL2ui64NV_handle[] == C_NULL && (glVertexAttribL2ui64NV_handle[] = getprocaddress_e("glVertexAttribL2ui64NV")) + ccall(glVertexAttribL2ui64NV_handle[], Cvoid, (GLuint, GLuint64EXT, GLuint64EXT), index, x, y) end +const glVertexAttribL3ui64NV_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribL3ui64NV(index, x, y, z) - ccall(getprocaddress_e("glVertexAttribL3ui64NV"), Cvoid, (GLuint, GLuint64EXT, GLuint64EXT, GLuint64EXT), index, x, y, z) + glVertexAttribL3ui64NV_handle[] == C_NULL && (glVertexAttribL3ui64NV_handle[] = getprocaddress_e("glVertexAttribL3ui64NV")) + ccall(glVertexAttribL3ui64NV_handle[], Cvoid, (GLuint, GLuint64EXT, GLuint64EXT, GLuint64EXT), index, x, y, z) end +const glVertexAttribL4ui64NV_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribL4ui64NV(index, x, y, z, w) - ccall(getprocaddress_e("glVertexAttribL4ui64NV"), Cvoid, (GLuint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT), index, x, y, z, w) + glVertexAttribL4ui64NV_handle[] == C_NULL && (glVertexAttribL4ui64NV_handle[] = getprocaddress_e("glVertexAttribL4ui64NV")) + ccall(glVertexAttribL4ui64NV_handle[], Cvoid, (GLuint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT), index, x, y, z, w) end +const glVertexAttribL1ui64vNV_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribL1ui64vNV(index, v) - ccall(getprocaddress_e("glVertexAttribL1ui64vNV"), Cvoid, (GLuint, Ptr{GLuint64EXT}), index, v) + glVertexAttribL1ui64vNV_handle[] == C_NULL && (glVertexAttribL1ui64vNV_handle[] = getprocaddress_e("glVertexAttribL1ui64vNV")) + ccall(glVertexAttribL1ui64vNV_handle[], Cvoid, (GLuint, Ptr{GLuint64EXT}), index, v) end +const glVertexAttribL2ui64vNV_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribL2ui64vNV(index, v) - ccall(getprocaddress_e("glVertexAttribL2ui64vNV"), Cvoid, (GLuint, Ptr{GLuint64EXT}), index, v) + glVertexAttribL2ui64vNV_handle[] == C_NULL && (glVertexAttribL2ui64vNV_handle[] = getprocaddress_e("glVertexAttribL2ui64vNV")) + ccall(glVertexAttribL2ui64vNV_handle[], Cvoid, (GLuint, Ptr{GLuint64EXT}), index, v) end +const glVertexAttribL3ui64vNV_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribL3ui64vNV(index, v) - ccall(getprocaddress_e("glVertexAttribL3ui64vNV"), Cvoid, (GLuint, Ptr{GLuint64EXT}), index, v) + glVertexAttribL3ui64vNV_handle[] == C_NULL && (glVertexAttribL3ui64vNV_handle[] = getprocaddress_e("glVertexAttribL3ui64vNV")) + ccall(glVertexAttribL3ui64vNV_handle[], Cvoid, (GLuint, Ptr{GLuint64EXT}), index, v) end +const glVertexAttribL4ui64vNV_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribL4ui64vNV(index, v) - ccall(getprocaddress_e("glVertexAttribL4ui64vNV"), Cvoid, (GLuint, Ptr{GLuint64EXT}), index, v) + glVertexAttribL4ui64vNV_handle[] == C_NULL && (glVertexAttribL4ui64vNV_handle[] = getprocaddress_e("glVertexAttribL4ui64vNV")) + ccall(glVertexAttribL4ui64vNV_handle[], Cvoid, (GLuint, Ptr{GLuint64EXT}), index, v) end +const glGetVertexAttribLi64vNV_handle = Ref{Ptr{Cvoid}}() + function glGetVertexAttribLi64vNV(index, pname, params) - ccall(getprocaddress_e("glGetVertexAttribLi64vNV"), Cvoid, (GLuint, GLenum, Ptr{GLint64EXT}), index, pname, params) + glGetVertexAttribLi64vNV_handle[] == C_NULL && (glGetVertexAttribLi64vNV_handle[] = getprocaddress_e("glGetVertexAttribLi64vNV")) + ccall(glGetVertexAttribLi64vNV_handle[], Cvoid, (GLuint, GLenum, Ptr{GLint64EXT}), index, pname, params) end +const glGetVertexAttribLui64vNV_handle = Ref{Ptr{Cvoid}}() + function glGetVertexAttribLui64vNV(index, pname, params) - ccall(getprocaddress_e("glGetVertexAttribLui64vNV"), Cvoid, (GLuint, GLenum, Ptr{GLuint64EXT}), index, pname, params) + glGetVertexAttribLui64vNV_handle[] == C_NULL && (glGetVertexAttribLui64vNV_handle[] = getprocaddress_e("glGetVertexAttribLui64vNV")) + ccall(glGetVertexAttribLui64vNV_handle[], Cvoid, (GLuint, GLenum, Ptr{GLuint64EXT}), index, pname, params) end +const glVertexAttribLFormatNV_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribLFormatNV(index, size, type, stride) - ccall(getprocaddress_e("glVertexAttribLFormatNV"), Cvoid, (GLuint, GLint, GLenum, GLsizei), index, size, type, stride) + glVertexAttribLFormatNV_handle[] == C_NULL && (glVertexAttribLFormatNV_handle[] = getprocaddress_e("glVertexAttribLFormatNV")) + ccall(glVertexAttribLFormatNV_handle[], Cvoid, (GLuint, GLint, GLenum, GLsizei), index, size, type, stride) end # typedef void ( APIENTRYP PFNGLBUFFERADDRESSRANGENVPROC ) ( GLenum pname , GLuint index , GLuint64EXT address , GLsizeiptr length ) @@ -8985,66 +12777,108 @@ const PFNGLVERTEXATTRIBIFORMATNVPROC = Ptr{Cvoid} # typedef void ( APIENTRYP PFNGLGETINTEGERUI64I_VNVPROC ) ( GLenum value , GLuint index , GLuint64EXT * result ) const PFNGLGETINTEGERUI64I_VNVPROC = Ptr{Cvoid} +const glBufferAddressRangeNV_handle = Ref{Ptr{Cvoid}}() + function glBufferAddressRangeNV(pname, index, address, length) - ccall(getprocaddress_e("glBufferAddressRangeNV"), Cvoid, (GLenum, GLuint, GLuint64EXT, GLsizeiptr), pname, index, address, length) + glBufferAddressRangeNV_handle[] == C_NULL && (glBufferAddressRangeNV_handle[] = getprocaddress_e("glBufferAddressRangeNV")) + ccall(glBufferAddressRangeNV_handle[], Cvoid, (GLenum, GLuint, GLuint64EXT, GLsizeiptr), pname, index, address, length) end +const glVertexFormatNV_handle = Ref{Ptr{Cvoid}}() + function glVertexFormatNV(size, type, stride) - ccall(getprocaddress_e("glVertexFormatNV"), Cvoid, (GLint, GLenum, GLsizei), size, type, stride) + glVertexFormatNV_handle[] == C_NULL && (glVertexFormatNV_handle[] = getprocaddress_e("glVertexFormatNV")) + ccall(glVertexFormatNV_handle[], Cvoid, (GLint, GLenum, GLsizei), size, type, stride) end +const glNormalFormatNV_handle = Ref{Ptr{Cvoid}}() + function glNormalFormatNV(type, stride) - ccall(getprocaddress_e("glNormalFormatNV"), Cvoid, (GLenum, GLsizei), type, stride) + glNormalFormatNV_handle[] == C_NULL && (glNormalFormatNV_handle[] = getprocaddress_e("glNormalFormatNV")) + ccall(glNormalFormatNV_handle[], Cvoid, (GLenum, GLsizei), type, stride) end +const glColorFormatNV_handle = Ref{Ptr{Cvoid}}() + function glColorFormatNV(size, type, stride) - ccall(getprocaddress_e("glColorFormatNV"), Cvoid, (GLint, GLenum, GLsizei), size, type, stride) + glColorFormatNV_handle[] == C_NULL && (glColorFormatNV_handle[] = getprocaddress_e("glColorFormatNV")) + ccall(glColorFormatNV_handle[], Cvoid, (GLint, GLenum, GLsizei), size, type, stride) end +const glIndexFormatNV_handle = Ref{Ptr{Cvoid}}() + function glIndexFormatNV(type, stride) - ccall(getprocaddress_e("glIndexFormatNV"), Cvoid, (GLenum, GLsizei), type, stride) + glIndexFormatNV_handle[] == C_NULL && (glIndexFormatNV_handle[] = getprocaddress_e("glIndexFormatNV")) + ccall(glIndexFormatNV_handle[], Cvoid, (GLenum, GLsizei), type, stride) end +const glTexCoordFormatNV_handle = Ref{Ptr{Cvoid}}() + function glTexCoordFormatNV(size, type, stride) - ccall(getprocaddress_e("glTexCoordFormatNV"), Cvoid, (GLint, GLenum, GLsizei), size, type, stride) + glTexCoordFormatNV_handle[] == C_NULL && (glTexCoordFormatNV_handle[] = getprocaddress_e("glTexCoordFormatNV")) + ccall(glTexCoordFormatNV_handle[], Cvoid, (GLint, GLenum, GLsizei), size, type, stride) end +const glEdgeFlagFormatNV_handle = Ref{Ptr{Cvoid}}() + function glEdgeFlagFormatNV(stride) - ccall(getprocaddress_e("glEdgeFlagFormatNV"), Cvoid, (GLsizei,), stride) + glEdgeFlagFormatNV_handle[] == C_NULL && (glEdgeFlagFormatNV_handle[] = getprocaddress_e("glEdgeFlagFormatNV")) + ccall(glEdgeFlagFormatNV_handle[], Cvoid, (GLsizei,), stride) end +const glSecondaryColorFormatNV_handle = Ref{Ptr{Cvoid}}() + function glSecondaryColorFormatNV(size, type, stride) - ccall(getprocaddress_e("glSecondaryColorFormatNV"), Cvoid, (GLint, GLenum, GLsizei), size, type, stride) + glSecondaryColorFormatNV_handle[] == C_NULL && (glSecondaryColorFormatNV_handle[] = getprocaddress_e("glSecondaryColorFormatNV")) + ccall(glSecondaryColorFormatNV_handle[], Cvoid, (GLint, GLenum, GLsizei), size, type, stride) end +const glFogCoordFormatNV_handle = Ref{Ptr{Cvoid}}() + function glFogCoordFormatNV(type, stride) - ccall(getprocaddress_e("glFogCoordFormatNV"), Cvoid, (GLenum, GLsizei), type, stride) + glFogCoordFormatNV_handle[] == C_NULL && (glFogCoordFormatNV_handle[] = getprocaddress_e("glFogCoordFormatNV")) + ccall(glFogCoordFormatNV_handle[], Cvoid, (GLenum, GLsizei), type, stride) end +const glVertexAttribFormatNV_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribFormatNV(index, size, type, normalized, stride) - ccall(getprocaddress_e("glVertexAttribFormatNV"), Cvoid, (GLuint, GLint, GLenum, GLboolean, GLsizei), index, size, type, normalized, stride) + glVertexAttribFormatNV_handle[] == C_NULL && (glVertexAttribFormatNV_handle[] = getprocaddress_e("glVertexAttribFormatNV")) + ccall(glVertexAttribFormatNV_handle[], Cvoid, (GLuint, GLint, GLenum, GLboolean, GLsizei), index, size, type, normalized, stride) end +const glVertexAttribIFormatNV_handle = Ref{Ptr{Cvoid}}() + function glVertexAttribIFormatNV(index, size, type, stride) - ccall(getprocaddress_e("glVertexAttribIFormatNV"), Cvoid, (GLuint, GLint, GLenum, GLsizei), index, size, type, stride) + glVertexAttribIFormatNV_handle[] == C_NULL && (glVertexAttribIFormatNV_handle[] = getprocaddress_e("glVertexAttribIFormatNV")) + ccall(glVertexAttribIFormatNV_handle[], Cvoid, (GLuint, GLint, GLenum, GLsizei), index, size, type, stride) end +const glGetIntegerui64i_vNV_handle = Ref{Ptr{Cvoid}}() + function glGetIntegerui64i_vNV(value, index, result) - ccall(getprocaddress_e("glGetIntegerui64i_vNV"), Cvoid, (GLenum, GLuint, Ptr{GLuint64EXT}), value, index, result) + glGetIntegerui64i_vNV_handle[] == C_NULL && (glGetIntegerui64i_vNV_handle[] = getprocaddress_e("glGetIntegerui64i_vNV")) + ccall(glGetIntegerui64i_vNV_handle[], Cvoid, (GLenum, GLuint, Ptr{GLuint64EXT}), value, index, result) end # typedef void ( APIENTRYP PFNGLVIEWPORTSWIZZLENVPROC ) ( GLuint index , GLenum swizzlex , GLenum swizzley , GLenum swizzlez , GLenum swizzlew ) const PFNGLVIEWPORTSWIZZLENVPROC = Ptr{Cvoid} +const glViewportSwizzleNV_handle = Ref{Ptr{Cvoid}}() + function glViewportSwizzleNV(index, swizzlex, swizzley, swizzlez, swizzlew) - ccall(getprocaddress_e("glViewportSwizzleNV"), Cvoid, (GLuint, GLenum, GLenum, GLenum, GLenum), index, swizzlex, swizzley, swizzlez, swizzlew) + glViewportSwizzleNV_handle[] == C_NULL && (glViewportSwizzleNV_handle[] = getprocaddress_e("glViewportSwizzleNV")) + ccall(glViewportSwizzleNV_handle[], Cvoid, (GLuint, GLenum, GLenum, GLenum, GLenum), index, swizzlex, swizzley, swizzlez, swizzlew) end # typedef void ( APIENTRYP PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC ) ( GLenum target , GLenum attachment , GLuint texture , GLint level , GLint baseViewIndex , GLsizei numViews ) const PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC = Ptr{Cvoid} +const glFramebufferTextureMultiviewOVR_handle = Ref{Ptr{Cvoid}}() + function glFramebufferTextureMultiviewOVR(target, attachment, texture, level, baseViewIndex, numViews) - ccall(getprocaddress_e("glFramebufferTextureMultiviewOVR"), Cvoid, (GLenum, GLenum, GLuint, GLint, GLint, GLsizei), target, attachment, texture, level, baseViewIndex, numViews) + glFramebufferTextureMultiviewOVR_handle[] == C_NULL && (glFramebufferTextureMultiviewOVR_handle[] = getprocaddress_e("glFramebufferTextureMultiviewOVR")) + ccall(glFramebufferTextureMultiviewOVR_handle[], Cvoid, (GLenum, GLenum, GLuint, GLint, GLint, GLsizei), target, attachment, texture, level, baseViewIndex, numViews) end const __gl_glcorearb_h_ = 1