commit d15cb424758776083a09cad96ab7e662a1571408 Author: Josh Holtrop Date: Sun Jan 14 00:42:45 2024 -0500 BindBC SDL working diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8184eb9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/.rscons* +/build/ diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..c5462a4 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,6 @@ +[submodule "libs/bindbc-sdl"] + path = libs/bindbc-sdl + url = https://github.com/BindBC/bindbc-sdl +[submodule "libs/bindbc-common"] + path = libs/bindbc-common + url = https://github.com/BindBC/bindbc-common diff --git a/Rsconscript b/Rsconscript new file mode 100644 index 0000000..03ba4be --- /dev/null +++ b/Rsconscript @@ -0,0 +1,19 @@ +configure do + check_d_compiler "ldc2" +end + +env "app" do |env| + dirs = [ + "src", + "libs/bindbc-common/source", + "libs/bindbc-sdl/source", + "libs/glad", + ] + sources = dirs.reduce([]) do |result, dir| + result + glob("#{dir}/**/*.{d,c}") + end + env["D_IMPORT_PATH"] += dirs + env["DFLAGS"] += %w[--d-version=BindBC_Static] + env["LDFLAGS"] += %w[-L-lfreetype -L-lSDL2] + env.Program("^/app", sources) +end diff --git a/libs/bindbc-common b/libs/bindbc-common new file mode 160000 index 0000000..b39787d --- /dev/null +++ b/libs/bindbc-common @@ -0,0 +1 @@ +Subproject commit b39787d872a6cc16cd8b3bc32f5148296f67698e diff --git a/libs/bindbc-sdl b/libs/bindbc-sdl new file mode 160000 index 0000000..47f74a2 --- /dev/null +++ b/libs/bindbc-sdl @@ -0,0 +1 @@ +Subproject commit 47f74a2fe83c2cf02847d4e5c0ef7f71ea718d3a diff --git a/libs/glad/glad/gl/all.d b/libs/glad/glad/gl/all.d new file mode 100644 index 0000000..bce3259 --- /dev/null +++ b/libs/glad/glad/gl/all.d @@ -0,0 +1,28 @@ +/* + + OpenGL loader generated by glad 0.1.36 on Sun Jan 14 04:10:49 2024. + + Language/Generator: D + Specification: gl + APIs: gl=4.6 + Profile: core + Extensions: + + Loader: True + Local files: False + Omit khrplatform: False + Reproducible: False + + Commandline: + --profile="core" --api="gl=4.6" --generator="d" --spec="gl" --extensions="" + Online: + https://glad.dav1d.de/#profile=core&language=d&specification=gl&loader=on&api=gl%3D4.6 +*/ + +module glad.gl.all; + + +public import glad.gl.funcs; +public import glad.gl.ext; +public import glad.gl.enums; +public import glad.gl.types; diff --git a/libs/glad/glad/gl/enums.d b/libs/glad/glad/gl/enums.d new file mode 100644 index 0000000..e979484 --- /dev/null +++ b/libs/glad/glad/gl/enums.d @@ -0,0 +1,1389 @@ +module glad.gl.enums; + + +private import glad.gl.types; +enum ubyte GL_FALSE = 0; +enum ubyte GL_TRUE = 1; +enum uint GL_NO_ERROR = 0; +enum uint GL_NONE = 0; +enum uint GL_ZERO = 0; +enum uint GL_ONE = 1; +enum uint GL_NONE_OES = 0; +enum uint GL_INVALID_INDEX = 0xFFFFFFFF; +enum ulong GL_TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFF; +enum ulong GL_TIMEOUT_IGNORED_APPLE = 0xFFFFFFFFFFFFFFFF; +enum uint GL_VERSION_ES_CL_1_0 = 1; +enum uint GL_VERSION_ES_CM_1_1 = 1; +enum uint GL_VERSION_ES_CL_1_1 = 1; +enum uint GL_DEPTH_BUFFER_BIT = 0x00000100; +enum uint GL_STENCIL_BUFFER_BIT = 0x00000400; +enum uint GL_COLOR_BUFFER_BIT = 0x00004000; +enum uint GL_POINTS = 0x0000; +enum uint GL_LINES = 0x0001; +enum uint GL_LINE_LOOP = 0x0002; +enum uint GL_LINE_STRIP = 0x0003; +enum uint GL_TRIANGLES = 0x0004; +enum uint GL_TRIANGLE_STRIP = 0x0005; +enum uint GL_TRIANGLE_FAN = 0x0006; +enum uint GL_NEVER = 0x0200; +enum uint GL_LESS = 0x0201; +enum uint GL_EQUAL = 0x0202; +enum uint GL_LEQUAL = 0x0203; +enum uint GL_GREATER = 0x0204; +enum uint GL_NOTEQUAL = 0x0205; +enum uint GL_GEQUAL = 0x0206; +enum uint GL_ALWAYS = 0x0207; +enum uint GL_SRC_COLOR = 0x0300; +enum uint GL_ONE_MINUS_SRC_COLOR = 0x0301; +enum uint GL_SRC_ALPHA = 0x0302; +enum uint GL_ONE_MINUS_SRC_ALPHA = 0x0303; +enum uint GL_DST_ALPHA = 0x0304; +enum uint GL_ONE_MINUS_DST_ALPHA = 0x0305; +enum uint GL_DST_COLOR = 0x0306; +enum uint GL_ONE_MINUS_DST_COLOR = 0x0307; +enum uint GL_SRC_ALPHA_SATURATE = 0x0308; +enum uint GL_FRONT_LEFT = 0x0400; +enum uint GL_FRONT_RIGHT = 0x0401; +enum uint GL_BACK_LEFT = 0x0402; +enum uint GL_BACK_RIGHT = 0x0403; +enum uint GL_FRONT = 0x0404; +enum uint GL_BACK = 0x0405; +enum uint GL_LEFT = 0x0406; +enum uint GL_RIGHT = 0x0407; +enum uint GL_FRONT_AND_BACK = 0x0408; +enum uint GL_INVALID_ENUM = 0x0500; +enum uint GL_INVALID_VALUE = 0x0501; +enum uint GL_INVALID_OPERATION = 0x0502; +enum uint GL_OUT_OF_MEMORY = 0x0505; +enum uint GL_CW = 0x0900; +enum uint GL_CCW = 0x0901; +enum uint GL_POINT_SIZE = 0x0B11; +enum uint GL_POINT_SIZE_RANGE = 0x0B12; +enum uint GL_POINT_SIZE_GRANULARITY = 0x0B13; +enum uint GL_LINE_SMOOTH = 0x0B20; +enum uint GL_LINE_WIDTH = 0x0B21; +enum uint GL_LINE_WIDTH_RANGE = 0x0B22; +enum uint GL_LINE_WIDTH_GRANULARITY = 0x0B23; +enum uint GL_POLYGON_MODE = 0x0B40; +enum uint GL_POLYGON_SMOOTH = 0x0B41; +enum uint GL_CULL_FACE = 0x0B44; +enum uint GL_CULL_FACE_MODE = 0x0B45; +enum uint GL_FRONT_FACE = 0x0B46; +enum uint GL_DEPTH_RANGE = 0x0B70; +enum uint GL_DEPTH_TEST = 0x0B71; +enum uint GL_DEPTH_WRITEMASK = 0x0B72; +enum uint GL_DEPTH_CLEAR_VALUE = 0x0B73; +enum uint GL_DEPTH_FUNC = 0x0B74; +enum uint GL_STENCIL_TEST = 0x0B90; +enum uint GL_STENCIL_CLEAR_VALUE = 0x0B91; +enum uint GL_STENCIL_FUNC = 0x0B92; +enum uint GL_STENCIL_VALUE_MASK = 0x0B93; +enum uint GL_STENCIL_FAIL = 0x0B94; +enum uint GL_STENCIL_PASS_DEPTH_FAIL = 0x0B95; +enum uint GL_STENCIL_PASS_DEPTH_PASS = 0x0B96; +enum uint GL_STENCIL_REF = 0x0B97; +enum uint GL_STENCIL_WRITEMASK = 0x0B98; +enum uint GL_VIEWPORT = 0x0BA2; +enum uint GL_DITHER = 0x0BD0; +enum uint GL_BLEND_DST = 0x0BE0; +enum uint GL_BLEND_SRC = 0x0BE1; +enum uint GL_BLEND = 0x0BE2; +enum uint GL_LOGIC_OP_MODE = 0x0BF0; +enum uint GL_DRAW_BUFFER = 0x0C01; +enum uint GL_READ_BUFFER = 0x0C02; +enum uint GL_SCISSOR_BOX = 0x0C10; +enum uint GL_SCISSOR_TEST = 0x0C11; +enum uint GL_COLOR_CLEAR_VALUE = 0x0C22; +enum uint GL_COLOR_WRITEMASK = 0x0C23; +enum uint GL_DOUBLEBUFFER = 0x0C32; +enum uint GL_STEREO = 0x0C33; +enum uint GL_LINE_SMOOTH_HINT = 0x0C52; +enum uint GL_POLYGON_SMOOTH_HINT = 0x0C53; +enum uint GL_UNPACK_SWAP_BYTES = 0x0CF0; +enum uint GL_UNPACK_LSB_FIRST = 0x0CF1; +enum uint GL_UNPACK_ROW_LENGTH = 0x0CF2; +enum uint GL_UNPACK_SKIP_ROWS = 0x0CF3; +enum uint GL_UNPACK_SKIP_PIXELS = 0x0CF4; +enum uint GL_UNPACK_ALIGNMENT = 0x0CF5; +enum uint GL_PACK_SWAP_BYTES = 0x0D00; +enum uint GL_PACK_LSB_FIRST = 0x0D01; +enum uint GL_PACK_ROW_LENGTH = 0x0D02; +enum uint GL_PACK_SKIP_ROWS = 0x0D03; +enum uint GL_PACK_SKIP_PIXELS = 0x0D04; +enum uint GL_PACK_ALIGNMENT = 0x0D05; +enum uint GL_MAX_TEXTURE_SIZE = 0x0D33; +enum uint GL_MAX_VIEWPORT_DIMS = 0x0D3A; +enum uint GL_SUBPIXEL_BITS = 0x0D50; +enum uint GL_TEXTURE_1D = 0x0DE0; +enum uint GL_TEXTURE_2D = 0x0DE1; +enum uint GL_TEXTURE_WIDTH = 0x1000; +enum uint GL_TEXTURE_HEIGHT = 0x1001; +enum uint GL_TEXTURE_BORDER_COLOR = 0x1004; +enum uint GL_DONT_CARE = 0x1100; +enum uint GL_FASTEST = 0x1101; +enum uint GL_NICEST = 0x1102; +enum uint GL_BYTE = 0x1400; +enum uint GL_UNSIGNED_BYTE = 0x1401; +enum uint GL_SHORT = 0x1402; +enum uint GL_UNSIGNED_SHORT = 0x1403; +enum uint GL_INT = 0x1404; +enum uint GL_UNSIGNED_INT = 0x1405; +enum uint GL_FLOAT = 0x1406; +enum uint GL_CLEAR = 0x1500; +enum uint GL_AND = 0x1501; +enum uint GL_AND_REVERSE = 0x1502; +enum uint GL_COPY = 0x1503; +enum uint GL_AND_INVERTED = 0x1504; +enum uint GL_NOOP = 0x1505; +enum uint GL_XOR = 0x1506; +enum uint GL_OR = 0x1507; +enum uint GL_NOR = 0x1508; +enum uint GL_EQUIV = 0x1509; +enum uint GL_INVERT = 0x150A; +enum uint GL_OR_REVERSE = 0x150B; +enum uint GL_COPY_INVERTED = 0x150C; +enum uint GL_OR_INVERTED = 0x150D; +enum uint GL_NAND = 0x150E; +enum uint GL_SET = 0x150F; +enum uint GL_TEXTURE = 0x1702; +enum uint GL_COLOR = 0x1800; +enum uint GL_DEPTH = 0x1801; +enum uint GL_STENCIL = 0x1802; +enum uint GL_STENCIL_INDEX = 0x1901; +enum uint GL_DEPTH_COMPONENT = 0x1902; +enum uint GL_RED = 0x1903; +enum uint GL_GREEN = 0x1904; +enum uint GL_BLUE = 0x1905; +enum uint GL_ALPHA = 0x1906; +enum uint GL_RGB = 0x1907; +enum uint GL_RGBA = 0x1908; +enum uint GL_POINT = 0x1B00; +enum uint GL_LINE = 0x1B01; +enum uint GL_FILL = 0x1B02; +enum uint GL_KEEP = 0x1E00; +enum uint GL_REPLACE = 0x1E01; +enum uint GL_INCR = 0x1E02; +enum uint GL_DECR = 0x1E03; +enum uint GL_VENDOR = 0x1F00; +enum uint GL_RENDERER = 0x1F01; +enum uint GL_VERSION = 0x1F02; +enum uint GL_EXTENSIONS = 0x1F03; +enum uint GL_NEAREST = 0x2600; +enum uint GL_LINEAR = 0x2601; +enum uint GL_NEAREST_MIPMAP_NEAREST = 0x2700; +enum uint GL_LINEAR_MIPMAP_NEAREST = 0x2701; +enum uint GL_NEAREST_MIPMAP_LINEAR = 0x2702; +enum uint GL_LINEAR_MIPMAP_LINEAR = 0x2703; +enum uint GL_TEXTURE_MAG_FILTER = 0x2800; +enum uint GL_TEXTURE_MIN_FILTER = 0x2801; +enum uint GL_TEXTURE_WRAP_S = 0x2802; +enum uint GL_TEXTURE_WRAP_T = 0x2803; +enum uint GL_REPEAT = 0x2901; +enum uint GL_COLOR_LOGIC_OP = 0x0BF2; +enum uint GL_POLYGON_OFFSET_UNITS = 0x2A00; +enum uint GL_POLYGON_OFFSET_POINT = 0x2A01; +enum uint GL_POLYGON_OFFSET_LINE = 0x2A02; +enum uint GL_POLYGON_OFFSET_FILL = 0x8037; +enum uint GL_POLYGON_OFFSET_FACTOR = 0x8038; +enum uint GL_TEXTURE_BINDING_1D = 0x8068; +enum uint GL_TEXTURE_BINDING_2D = 0x8069; +enum uint GL_TEXTURE_INTERNAL_FORMAT = 0x1003; +enum uint GL_TEXTURE_RED_SIZE = 0x805C; +enum uint GL_TEXTURE_GREEN_SIZE = 0x805D; +enum uint GL_TEXTURE_BLUE_SIZE = 0x805E; +enum uint GL_TEXTURE_ALPHA_SIZE = 0x805F; +enum uint GL_DOUBLE = 0x140A; +enum uint GL_PROXY_TEXTURE_1D = 0x8063; +enum uint GL_PROXY_TEXTURE_2D = 0x8064; +enum uint GL_R3_G3_B2 = 0x2A10; +enum uint GL_RGB4 = 0x804F; +enum uint GL_RGB5 = 0x8050; +enum uint GL_RGB8 = 0x8051; +enum uint GL_RGB10 = 0x8052; +enum uint GL_RGB12 = 0x8053; +enum uint GL_RGB16 = 0x8054; +enum uint GL_RGBA2 = 0x8055; +enum uint GL_RGBA4 = 0x8056; +enum uint GL_RGB5_A1 = 0x8057; +enum uint GL_RGBA8 = 0x8058; +enum uint GL_RGB10_A2 = 0x8059; +enum uint GL_RGBA12 = 0x805A; +enum uint GL_RGBA16 = 0x805B; +enum uint GL_UNSIGNED_BYTE_3_3_2 = 0x8032; +enum uint GL_UNSIGNED_SHORT_4_4_4_4 = 0x8033; +enum uint GL_UNSIGNED_SHORT_5_5_5_1 = 0x8034; +enum uint GL_UNSIGNED_INT_8_8_8_8 = 0x8035; +enum uint GL_UNSIGNED_INT_10_10_10_2 = 0x8036; +enum uint GL_TEXTURE_BINDING_3D = 0x806A; +enum uint GL_PACK_SKIP_IMAGES = 0x806B; +enum uint GL_PACK_IMAGE_HEIGHT = 0x806C; +enum uint GL_UNPACK_SKIP_IMAGES = 0x806D; +enum uint GL_UNPACK_IMAGE_HEIGHT = 0x806E; +enum uint GL_TEXTURE_3D = 0x806F; +enum uint GL_PROXY_TEXTURE_3D = 0x8070; +enum uint GL_TEXTURE_DEPTH = 0x8071; +enum uint GL_TEXTURE_WRAP_R = 0x8072; +enum uint GL_MAX_3D_TEXTURE_SIZE = 0x8073; +enum uint GL_UNSIGNED_BYTE_2_3_3_REV = 0x8362; +enum uint GL_UNSIGNED_SHORT_5_6_5 = 0x8363; +enum uint GL_UNSIGNED_SHORT_5_6_5_REV = 0x8364; +enum uint GL_UNSIGNED_SHORT_4_4_4_4_REV = 0x8365; +enum uint GL_UNSIGNED_SHORT_1_5_5_5_REV = 0x8366; +enum uint GL_UNSIGNED_INT_8_8_8_8_REV = 0x8367; +enum uint GL_UNSIGNED_INT_2_10_10_10_REV = 0x8368; +enum uint GL_BGR = 0x80E0; +enum uint GL_BGRA = 0x80E1; +enum uint GL_MAX_ELEMENTS_VERTICES = 0x80E8; +enum uint GL_MAX_ELEMENTS_INDICES = 0x80E9; +enum uint GL_CLAMP_TO_EDGE = 0x812F; +enum uint GL_TEXTURE_MIN_LOD = 0x813A; +enum uint GL_TEXTURE_MAX_LOD = 0x813B; +enum uint GL_TEXTURE_BASE_LEVEL = 0x813C; +enum uint GL_TEXTURE_MAX_LEVEL = 0x813D; +enum uint GL_SMOOTH_POINT_SIZE_RANGE = 0x0B12; +enum uint GL_SMOOTH_POINT_SIZE_GRANULARITY = 0x0B13; +enum uint GL_SMOOTH_LINE_WIDTH_RANGE = 0x0B22; +enum uint GL_SMOOTH_LINE_WIDTH_GRANULARITY = 0x0B23; +enum uint GL_ALIASED_LINE_WIDTH_RANGE = 0x846E; +enum uint GL_TEXTURE0 = 0x84C0; +enum uint GL_TEXTURE1 = 0x84C1; +enum uint GL_TEXTURE2 = 0x84C2; +enum uint GL_TEXTURE3 = 0x84C3; +enum uint GL_TEXTURE4 = 0x84C4; +enum uint GL_TEXTURE5 = 0x84C5; +enum uint GL_TEXTURE6 = 0x84C6; +enum uint GL_TEXTURE7 = 0x84C7; +enum uint GL_TEXTURE8 = 0x84C8; +enum uint GL_TEXTURE9 = 0x84C9; +enum uint GL_TEXTURE10 = 0x84CA; +enum uint GL_TEXTURE11 = 0x84CB; +enum uint GL_TEXTURE12 = 0x84CC; +enum uint GL_TEXTURE13 = 0x84CD; +enum uint GL_TEXTURE14 = 0x84CE; +enum uint GL_TEXTURE15 = 0x84CF; +enum uint GL_TEXTURE16 = 0x84D0; +enum uint GL_TEXTURE17 = 0x84D1; +enum uint GL_TEXTURE18 = 0x84D2; +enum uint GL_TEXTURE19 = 0x84D3; +enum uint GL_TEXTURE20 = 0x84D4; +enum uint GL_TEXTURE21 = 0x84D5; +enum uint GL_TEXTURE22 = 0x84D6; +enum uint GL_TEXTURE23 = 0x84D7; +enum uint GL_TEXTURE24 = 0x84D8; +enum uint GL_TEXTURE25 = 0x84D9; +enum uint GL_TEXTURE26 = 0x84DA; +enum uint GL_TEXTURE27 = 0x84DB; +enum uint GL_TEXTURE28 = 0x84DC; +enum uint GL_TEXTURE29 = 0x84DD; +enum uint GL_TEXTURE30 = 0x84DE; +enum uint GL_TEXTURE31 = 0x84DF; +enum uint GL_ACTIVE_TEXTURE = 0x84E0; +enum uint GL_MULTISAMPLE = 0x809D; +enum uint GL_SAMPLE_ALPHA_TO_COVERAGE = 0x809E; +enum uint GL_SAMPLE_ALPHA_TO_ONE = 0x809F; +enum uint GL_SAMPLE_COVERAGE = 0x80A0; +enum uint GL_SAMPLE_BUFFERS = 0x80A8; +enum uint GL_SAMPLES = 0x80A9; +enum uint GL_SAMPLE_COVERAGE_VALUE = 0x80AA; +enum uint GL_SAMPLE_COVERAGE_INVERT = 0x80AB; +enum uint GL_TEXTURE_CUBE_MAP = 0x8513; +enum uint GL_TEXTURE_BINDING_CUBE_MAP = 0x8514; +enum uint GL_TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515; +enum uint GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516; +enum uint GL_TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517; +enum uint GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518; +enum uint GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519; +enum uint GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A; +enum uint GL_PROXY_TEXTURE_CUBE_MAP = 0x851B; +enum uint GL_MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C; +enum uint GL_COMPRESSED_RGB = 0x84ED; +enum uint GL_COMPRESSED_RGBA = 0x84EE; +enum uint GL_TEXTURE_COMPRESSION_HINT = 0x84EF; +enum uint GL_TEXTURE_COMPRESSED_IMAGE_SIZE = 0x86A0; +enum uint GL_TEXTURE_COMPRESSED = 0x86A1; +enum uint GL_NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2; +enum uint GL_COMPRESSED_TEXTURE_FORMATS = 0x86A3; +enum uint GL_CLAMP_TO_BORDER = 0x812D; +enum uint GL_BLEND_DST_RGB = 0x80C8; +enum uint GL_BLEND_SRC_RGB = 0x80C9; +enum uint GL_BLEND_DST_ALPHA = 0x80CA; +enum uint GL_BLEND_SRC_ALPHA = 0x80CB; +enum uint GL_POINT_FADE_THRESHOLD_SIZE = 0x8128; +enum uint GL_DEPTH_COMPONENT16 = 0x81A5; +enum uint GL_DEPTH_COMPONENT24 = 0x81A6; +enum uint GL_DEPTH_COMPONENT32 = 0x81A7; +enum uint GL_MIRRORED_REPEAT = 0x8370; +enum uint GL_MAX_TEXTURE_LOD_BIAS = 0x84FD; +enum uint GL_TEXTURE_LOD_BIAS = 0x8501; +enum uint GL_INCR_WRAP = 0x8507; +enum uint GL_DECR_WRAP = 0x8508; +enum uint GL_TEXTURE_DEPTH_SIZE = 0x884A; +enum uint GL_TEXTURE_COMPARE_MODE = 0x884C; +enum uint GL_TEXTURE_COMPARE_FUNC = 0x884D; +enum uint GL_BLEND_COLOR = 0x8005; +enum uint GL_BLEND_EQUATION = 0x8009; +enum uint GL_CONSTANT_COLOR = 0x8001; +enum uint GL_ONE_MINUS_CONSTANT_COLOR = 0x8002; +enum uint GL_CONSTANT_ALPHA = 0x8003; +enum uint GL_ONE_MINUS_CONSTANT_ALPHA = 0x8004; +enum uint GL_FUNC_ADD = 0x8006; +enum uint GL_FUNC_REVERSE_SUBTRACT = 0x800B; +enum uint GL_FUNC_SUBTRACT = 0x800A; +enum uint GL_MIN = 0x8007; +enum uint GL_MAX = 0x8008; +enum uint GL_BUFFER_SIZE = 0x8764; +enum uint GL_BUFFER_USAGE = 0x8765; +enum uint GL_QUERY_COUNTER_BITS = 0x8864; +enum uint GL_CURRENT_QUERY = 0x8865; +enum uint GL_QUERY_RESULT = 0x8866; +enum uint GL_QUERY_RESULT_AVAILABLE = 0x8867; +enum uint GL_ARRAY_BUFFER = 0x8892; +enum uint GL_ELEMENT_ARRAY_BUFFER = 0x8893; +enum uint GL_ARRAY_BUFFER_BINDING = 0x8894; +enum uint GL_ELEMENT_ARRAY_BUFFER_BINDING = 0x8895; +enum uint GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F; +enum uint GL_READ_ONLY = 0x88B8; +enum uint GL_WRITE_ONLY = 0x88B9; +enum uint GL_READ_WRITE = 0x88BA; +enum uint GL_BUFFER_ACCESS = 0x88BB; +enum uint GL_BUFFER_MAPPED = 0x88BC; +enum uint GL_BUFFER_MAP_POINTER = 0x88BD; +enum uint GL_STREAM_DRAW = 0x88E0; +enum uint GL_STREAM_READ = 0x88E1; +enum uint GL_STREAM_COPY = 0x88E2; +enum uint GL_STATIC_DRAW = 0x88E4; +enum uint GL_STATIC_READ = 0x88E5; +enum uint GL_STATIC_COPY = 0x88E6; +enum uint GL_DYNAMIC_DRAW = 0x88E8; +enum uint GL_DYNAMIC_READ = 0x88E9; +enum uint GL_DYNAMIC_COPY = 0x88EA; +enum uint GL_SAMPLES_PASSED = 0x8914; +enum uint GL_SRC1_ALPHA = 0x8589; +enum uint GL_BLEND_EQUATION_RGB = 0x8009; +enum uint GL_VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622; +enum uint GL_VERTEX_ATTRIB_ARRAY_SIZE = 0x8623; +enum uint GL_VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624; +enum uint GL_VERTEX_ATTRIB_ARRAY_TYPE = 0x8625; +enum uint GL_CURRENT_VERTEX_ATTRIB = 0x8626; +enum uint GL_VERTEX_PROGRAM_POINT_SIZE = 0x8642; +enum uint GL_VERTEX_ATTRIB_ARRAY_POINTER = 0x8645; +enum uint GL_STENCIL_BACK_FUNC = 0x8800; +enum uint GL_STENCIL_BACK_FAIL = 0x8801; +enum uint GL_STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802; +enum uint GL_STENCIL_BACK_PASS_DEPTH_PASS = 0x8803; +enum uint GL_MAX_DRAW_BUFFERS = 0x8824; +enum uint GL_DRAW_BUFFER0 = 0x8825; +enum uint GL_DRAW_BUFFER1 = 0x8826; +enum uint GL_DRAW_BUFFER2 = 0x8827; +enum uint GL_DRAW_BUFFER3 = 0x8828; +enum uint GL_DRAW_BUFFER4 = 0x8829; +enum uint GL_DRAW_BUFFER5 = 0x882A; +enum uint GL_DRAW_BUFFER6 = 0x882B; +enum uint GL_DRAW_BUFFER7 = 0x882C; +enum uint GL_DRAW_BUFFER8 = 0x882D; +enum uint GL_DRAW_BUFFER9 = 0x882E; +enum uint GL_DRAW_BUFFER10 = 0x882F; +enum uint GL_DRAW_BUFFER11 = 0x8830; +enum uint GL_DRAW_BUFFER12 = 0x8831; +enum uint GL_DRAW_BUFFER13 = 0x8832; +enum uint GL_DRAW_BUFFER14 = 0x8833; +enum uint GL_DRAW_BUFFER15 = 0x8834; +enum uint GL_BLEND_EQUATION_ALPHA = 0x883D; +enum uint GL_MAX_VERTEX_ATTRIBS = 0x8869; +enum uint GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A; +enum uint GL_MAX_TEXTURE_IMAGE_UNITS = 0x8872; +enum uint GL_FRAGMENT_SHADER = 0x8B30; +enum uint GL_VERTEX_SHADER = 0x8B31; +enum uint GL_MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8B49; +enum uint GL_MAX_VERTEX_UNIFORM_COMPONENTS = 0x8B4A; +enum uint GL_MAX_VARYING_FLOATS = 0x8B4B; +enum uint GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C; +enum uint GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D; +enum uint GL_SHADER_TYPE = 0x8B4F; +enum uint GL_FLOAT_VEC2 = 0x8B50; +enum uint GL_FLOAT_VEC3 = 0x8B51; +enum uint GL_FLOAT_VEC4 = 0x8B52; +enum uint GL_INT_VEC2 = 0x8B53; +enum uint GL_INT_VEC3 = 0x8B54; +enum uint GL_INT_VEC4 = 0x8B55; +enum uint GL_BOOL = 0x8B56; +enum uint GL_BOOL_VEC2 = 0x8B57; +enum uint GL_BOOL_VEC3 = 0x8B58; +enum uint GL_BOOL_VEC4 = 0x8B59; +enum uint GL_FLOAT_MAT2 = 0x8B5A; +enum uint GL_FLOAT_MAT3 = 0x8B5B; +enum uint GL_FLOAT_MAT4 = 0x8B5C; +enum uint GL_SAMPLER_1D = 0x8B5D; +enum uint GL_SAMPLER_2D = 0x8B5E; +enum uint GL_SAMPLER_3D = 0x8B5F; +enum uint GL_SAMPLER_CUBE = 0x8B60; +enum uint GL_SAMPLER_1D_SHADOW = 0x8B61; +enum uint GL_SAMPLER_2D_SHADOW = 0x8B62; +enum uint GL_DELETE_STATUS = 0x8B80; +enum uint GL_COMPILE_STATUS = 0x8B81; +enum uint GL_LINK_STATUS = 0x8B82; +enum uint GL_VALIDATE_STATUS = 0x8B83; +enum uint GL_INFO_LOG_LENGTH = 0x8B84; +enum uint GL_ATTACHED_SHADERS = 0x8B85; +enum uint GL_ACTIVE_UNIFORMS = 0x8B86; +enum uint GL_ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87; +enum uint GL_SHADER_SOURCE_LENGTH = 0x8B88; +enum uint GL_ACTIVE_ATTRIBUTES = 0x8B89; +enum uint GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A; +enum uint GL_FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B; +enum uint GL_SHADING_LANGUAGE_VERSION = 0x8B8C; +enum uint GL_CURRENT_PROGRAM = 0x8B8D; +enum uint GL_POINT_SPRITE_COORD_ORIGIN = 0x8CA0; +enum uint GL_LOWER_LEFT = 0x8CA1; +enum uint GL_UPPER_LEFT = 0x8CA2; +enum uint GL_STENCIL_BACK_REF = 0x8CA3; +enum uint GL_STENCIL_BACK_VALUE_MASK = 0x8CA4; +enum uint GL_STENCIL_BACK_WRITEMASK = 0x8CA5; +enum uint GL_PIXEL_PACK_BUFFER = 0x88EB; +enum uint GL_PIXEL_UNPACK_BUFFER = 0x88EC; +enum uint GL_PIXEL_PACK_BUFFER_BINDING = 0x88ED; +enum uint GL_PIXEL_UNPACK_BUFFER_BINDING = 0x88EF; +enum uint GL_FLOAT_MAT2x3 = 0x8B65; +enum uint GL_FLOAT_MAT2x4 = 0x8B66; +enum uint GL_FLOAT_MAT3x2 = 0x8B67; +enum uint GL_FLOAT_MAT3x4 = 0x8B68; +enum uint GL_FLOAT_MAT4x2 = 0x8B69; +enum uint GL_FLOAT_MAT4x3 = 0x8B6A; +enum uint GL_SRGB = 0x8C40; +enum uint GL_SRGB8 = 0x8C41; +enum uint GL_SRGB_ALPHA = 0x8C42; +enum uint GL_SRGB8_ALPHA8 = 0x8C43; +enum uint GL_COMPRESSED_SRGB = 0x8C48; +enum uint GL_COMPRESSED_SRGB_ALPHA = 0x8C49; +enum uint GL_COMPARE_REF_TO_TEXTURE = 0x884E; +enum uint GL_CLIP_DISTANCE0 = 0x3000; +enum uint GL_CLIP_DISTANCE1 = 0x3001; +enum uint GL_CLIP_DISTANCE2 = 0x3002; +enum uint GL_CLIP_DISTANCE3 = 0x3003; +enum uint GL_CLIP_DISTANCE4 = 0x3004; +enum uint GL_CLIP_DISTANCE5 = 0x3005; +enum uint GL_CLIP_DISTANCE6 = 0x3006; +enum uint GL_CLIP_DISTANCE7 = 0x3007; +enum uint GL_MAX_CLIP_DISTANCES = 0x0D32; +enum uint GL_MAJOR_VERSION = 0x821B; +enum uint GL_MINOR_VERSION = 0x821C; +enum uint GL_NUM_EXTENSIONS = 0x821D; +enum uint GL_CONTEXT_FLAGS = 0x821E; +enum uint GL_COMPRESSED_RED = 0x8225; +enum uint GL_COMPRESSED_RG = 0x8226; +enum uint GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = 0x00000001; +enum uint GL_RGBA32F = 0x8814; +enum uint GL_RGB32F = 0x8815; +enum uint GL_RGBA16F = 0x881A; +enum uint GL_RGB16F = 0x881B; +enum uint GL_VERTEX_ATTRIB_ARRAY_INTEGER = 0x88FD; +enum uint GL_MAX_ARRAY_TEXTURE_LAYERS = 0x88FF; +enum uint GL_MIN_PROGRAM_TEXEL_OFFSET = 0x8904; +enum uint GL_MAX_PROGRAM_TEXEL_OFFSET = 0x8905; +enum uint GL_CLAMP_READ_COLOR = 0x891C; +enum uint GL_FIXED_ONLY = 0x891D; +enum uint GL_MAX_VARYING_COMPONENTS = 0x8B4B; +enum uint GL_TEXTURE_1D_ARRAY = 0x8C18; +enum uint GL_PROXY_TEXTURE_1D_ARRAY = 0x8C19; +enum uint GL_TEXTURE_2D_ARRAY = 0x8C1A; +enum uint GL_PROXY_TEXTURE_2D_ARRAY = 0x8C1B; +enum uint GL_TEXTURE_BINDING_1D_ARRAY = 0x8C1C; +enum uint GL_TEXTURE_BINDING_2D_ARRAY = 0x8C1D; +enum uint GL_R11F_G11F_B10F = 0x8C3A; +enum uint GL_UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B; +enum uint GL_RGB9_E5 = 0x8C3D; +enum uint GL_UNSIGNED_INT_5_9_9_9_REV = 0x8C3E; +enum uint GL_TEXTURE_SHARED_SIZE = 0x8C3F; +enum uint GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 0x8C76; +enum uint GL_TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8C7F; +enum uint GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80; +enum uint GL_TRANSFORM_FEEDBACK_VARYINGS = 0x8C83; +enum uint GL_TRANSFORM_FEEDBACK_BUFFER_START = 0x8C84; +enum uint GL_TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8C85; +enum uint GL_PRIMITIVES_GENERATED = 0x8C87; +enum uint GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88; +enum uint GL_RASTERIZER_DISCARD = 0x8C89; +enum uint GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A; +enum uint GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B; +enum uint GL_INTERLEAVED_ATTRIBS = 0x8C8C; +enum uint GL_SEPARATE_ATTRIBS = 0x8C8D; +enum uint GL_TRANSFORM_FEEDBACK_BUFFER = 0x8C8E; +enum uint GL_TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F; +enum uint GL_RGBA32UI = 0x8D70; +enum uint GL_RGB32UI = 0x8D71; +enum uint GL_RGBA16UI = 0x8D76; +enum uint GL_RGB16UI = 0x8D77; +enum uint GL_RGBA8UI = 0x8D7C; +enum uint GL_RGB8UI = 0x8D7D; +enum uint GL_RGBA32I = 0x8D82; +enum uint GL_RGB32I = 0x8D83; +enum uint GL_RGBA16I = 0x8D88; +enum uint GL_RGB16I = 0x8D89; +enum uint GL_RGBA8I = 0x8D8E; +enum uint GL_RGB8I = 0x8D8F; +enum uint GL_RED_INTEGER = 0x8D94; +enum uint GL_GREEN_INTEGER = 0x8D95; +enum uint GL_BLUE_INTEGER = 0x8D96; +enum uint GL_RGB_INTEGER = 0x8D98; +enum uint GL_RGBA_INTEGER = 0x8D99; +enum uint GL_BGR_INTEGER = 0x8D9A; +enum uint GL_BGRA_INTEGER = 0x8D9B; +enum uint GL_SAMPLER_1D_ARRAY = 0x8DC0; +enum uint GL_SAMPLER_2D_ARRAY = 0x8DC1; +enum uint GL_SAMPLER_1D_ARRAY_SHADOW = 0x8DC3; +enum uint GL_SAMPLER_2D_ARRAY_SHADOW = 0x8DC4; +enum uint GL_SAMPLER_CUBE_SHADOW = 0x8DC5; +enum uint GL_UNSIGNED_INT_VEC2 = 0x8DC6; +enum uint GL_UNSIGNED_INT_VEC3 = 0x8DC7; +enum uint GL_UNSIGNED_INT_VEC4 = 0x8DC8; +enum uint GL_INT_SAMPLER_1D = 0x8DC9; +enum uint GL_INT_SAMPLER_2D = 0x8DCA; +enum uint GL_INT_SAMPLER_3D = 0x8DCB; +enum uint GL_INT_SAMPLER_CUBE = 0x8DCC; +enum uint GL_INT_SAMPLER_1D_ARRAY = 0x8DCE; +enum uint GL_INT_SAMPLER_2D_ARRAY = 0x8DCF; +enum uint GL_UNSIGNED_INT_SAMPLER_1D = 0x8DD1; +enum uint GL_UNSIGNED_INT_SAMPLER_2D = 0x8DD2; +enum uint GL_UNSIGNED_INT_SAMPLER_3D = 0x8DD3; +enum uint GL_UNSIGNED_INT_SAMPLER_CUBE = 0x8DD4; +enum uint GL_UNSIGNED_INT_SAMPLER_1D_ARRAY = 0x8DD6; +enum uint GL_UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8DD7; +enum uint GL_QUERY_WAIT = 0x8E13; +enum uint GL_QUERY_NO_WAIT = 0x8E14; +enum uint GL_QUERY_BY_REGION_WAIT = 0x8E15; +enum uint GL_QUERY_BY_REGION_NO_WAIT = 0x8E16; +enum uint GL_BUFFER_ACCESS_FLAGS = 0x911F; +enum uint GL_BUFFER_MAP_LENGTH = 0x9120; +enum uint GL_BUFFER_MAP_OFFSET = 0x9121; +enum uint GL_DEPTH_COMPONENT32F = 0x8CAC; +enum uint GL_DEPTH32F_STENCIL8 = 0x8CAD; +enum uint GL_FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD; +enum uint GL_INVALID_FRAMEBUFFER_OPERATION = 0x0506; +enum uint GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210; +enum uint GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211; +enum uint GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212; +enum uint GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213; +enum uint GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214; +enum uint GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215; +enum uint GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216; +enum uint GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217; +enum uint GL_FRAMEBUFFER_DEFAULT = 0x8218; +enum uint GL_FRAMEBUFFER_UNDEFINED = 0x8219; +enum uint GL_DEPTH_STENCIL_ATTACHMENT = 0x821A; +enum uint GL_MAX_RENDERBUFFER_SIZE = 0x84E8; +enum uint GL_DEPTH_STENCIL = 0x84F9; +enum uint GL_UNSIGNED_INT_24_8 = 0x84FA; +enum uint GL_DEPTH24_STENCIL8 = 0x88F0; +enum uint GL_TEXTURE_STENCIL_SIZE = 0x88F1; +enum uint GL_TEXTURE_RED_TYPE = 0x8C10; +enum uint GL_TEXTURE_GREEN_TYPE = 0x8C11; +enum uint GL_TEXTURE_BLUE_TYPE = 0x8C12; +enum uint GL_TEXTURE_ALPHA_TYPE = 0x8C13; +enum uint GL_TEXTURE_DEPTH_TYPE = 0x8C16; +enum uint GL_UNSIGNED_NORMALIZED = 0x8C17; +enum uint GL_FRAMEBUFFER_BINDING = 0x8CA6; +enum uint GL_DRAW_FRAMEBUFFER_BINDING = 0x8CA6; +enum uint GL_RENDERBUFFER_BINDING = 0x8CA7; +enum uint GL_READ_FRAMEBUFFER = 0x8CA8; +enum uint GL_DRAW_FRAMEBUFFER = 0x8CA9; +enum uint GL_READ_FRAMEBUFFER_BINDING = 0x8CAA; +enum uint GL_RENDERBUFFER_SAMPLES = 0x8CAB; +enum uint GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0; +enum uint GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1; +enum uint GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2; +enum uint GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3; +enum uint GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4; +enum uint GL_FRAMEBUFFER_COMPLETE = 0x8CD5; +enum uint GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6; +enum uint GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7; +enum uint GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = 0x8CDB; +enum uint GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER = 0x8CDC; +enum uint GL_FRAMEBUFFER_UNSUPPORTED = 0x8CDD; +enum uint GL_MAX_COLOR_ATTACHMENTS = 0x8CDF; +enum uint GL_COLOR_ATTACHMENT0 = 0x8CE0; +enum uint GL_COLOR_ATTACHMENT1 = 0x8CE1; +enum uint GL_COLOR_ATTACHMENT2 = 0x8CE2; +enum uint GL_COLOR_ATTACHMENT3 = 0x8CE3; +enum uint GL_COLOR_ATTACHMENT4 = 0x8CE4; +enum uint GL_COLOR_ATTACHMENT5 = 0x8CE5; +enum uint GL_COLOR_ATTACHMENT6 = 0x8CE6; +enum uint GL_COLOR_ATTACHMENT7 = 0x8CE7; +enum uint GL_COLOR_ATTACHMENT8 = 0x8CE8; +enum uint GL_COLOR_ATTACHMENT9 = 0x8CE9; +enum uint GL_COLOR_ATTACHMENT10 = 0x8CEA; +enum uint GL_COLOR_ATTACHMENT11 = 0x8CEB; +enum uint GL_COLOR_ATTACHMENT12 = 0x8CEC; +enum uint GL_COLOR_ATTACHMENT13 = 0x8CED; +enum uint GL_COLOR_ATTACHMENT14 = 0x8CEE; +enum uint GL_COLOR_ATTACHMENT15 = 0x8CEF; +enum uint GL_COLOR_ATTACHMENT16 = 0x8CF0; +enum uint GL_COLOR_ATTACHMENT17 = 0x8CF1; +enum uint GL_COLOR_ATTACHMENT18 = 0x8CF2; +enum uint GL_COLOR_ATTACHMENT19 = 0x8CF3; +enum uint GL_COLOR_ATTACHMENT20 = 0x8CF4; +enum uint GL_COLOR_ATTACHMENT21 = 0x8CF5; +enum uint GL_COLOR_ATTACHMENT22 = 0x8CF6; +enum uint GL_COLOR_ATTACHMENT23 = 0x8CF7; +enum uint GL_COLOR_ATTACHMENT24 = 0x8CF8; +enum uint GL_COLOR_ATTACHMENT25 = 0x8CF9; +enum uint GL_COLOR_ATTACHMENT26 = 0x8CFA; +enum uint GL_COLOR_ATTACHMENT27 = 0x8CFB; +enum uint GL_COLOR_ATTACHMENT28 = 0x8CFC; +enum uint GL_COLOR_ATTACHMENT29 = 0x8CFD; +enum uint GL_COLOR_ATTACHMENT30 = 0x8CFE; +enum uint GL_COLOR_ATTACHMENT31 = 0x8CFF; +enum uint GL_DEPTH_ATTACHMENT = 0x8D00; +enum uint GL_STENCIL_ATTACHMENT = 0x8D20; +enum uint GL_FRAMEBUFFER = 0x8D40; +enum uint GL_RENDERBUFFER = 0x8D41; +enum uint GL_RENDERBUFFER_WIDTH = 0x8D42; +enum uint GL_RENDERBUFFER_HEIGHT = 0x8D43; +enum uint GL_RENDERBUFFER_INTERNAL_FORMAT = 0x8D44; +enum uint GL_STENCIL_INDEX1 = 0x8D46; +enum uint GL_STENCIL_INDEX4 = 0x8D47; +enum uint GL_STENCIL_INDEX8 = 0x8D48; +enum uint GL_STENCIL_INDEX16 = 0x8D49; +enum uint GL_RENDERBUFFER_RED_SIZE = 0x8D50; +enum uint GL_RENDERBUFFER_GREEN_SIZE = 0x8D51; +enum uint GL_RENDERBUFFER_BLUE_SIZE = 0x8D52; +enum uint GL_RENDERBUFFER_ALPHA_SIZE = 0x8D53; +enum uint GL_RENDERBUFFER_DEPTH_SIZE = 0x8D54; +enum uint GL_RENDERBUFFER_STENCIL_SIZE = 0x8D55; +enum uint GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56; +enum uint GL_MAX_SAMPLES = 0x8D57; +enum uint GL_FRAMEBUFFER_SRGB = 0x8DB9; +enum uint GL_HALF_FLOAT = 0x140B; +enum uint GL_MAP_READ_BIT = 0x0001; +enum uint GL_MAP_WRITE_BIT = 0x0002; +enum uint GL_MAP_INVALIDATE_RANGE_BIT = 0x0004; +enum uint GL_MAP_INVALIDATE_BUFFER_BIT = 0x0008; +enum uint GL_MAP_FLUSH_EXPLICIT_BIT = 0x0010; +enum uint GL_MAP_UNSYNCHRONIZED_BIT = 0x0020; +enum uint GL_COMPRESSED_RED_RGTC1 = 0x8DBB; +enum uint GL_COMPRESSED_SIGNED_RED_RGTC1 = 0x8DBC; +enum uint GL_COMPRESSED_RG_RGTC2 = 0x8DBD; +enum uint GL_COMPRESSED_SIGNED_RG_RGTC2 = 0x8DBE; +enum uint GL_RG = 0x8227; +enum uint GL_RG_INTEGER = 0x8228; +enum uint GL_R8 = 0x8229; +enum uint GL_R16 = 0x822A; +enum uint GL_RG8 = 0x822B; +enum uint GL_RG16 = 0x822C; +enum uint GL_R16F = 0x822D; +enum uint GL_R32F = 0x822E; +enum uint GL_RG16F = 0x822F; +enum uint GL_RG32F = 0x8230; +enum uint GL_R8I = 0x8231; +enum uint GL_R8UI = 0x8232; +enum uint GL_R16I = 0x8233; +enum uint GL_R16UI = 0x8234; +enum uint GL_R32I = 0x8235; +enum uint GL_R32UI = 0x8236; +enum uint GL_RG8I = 0x8237; +enum uint GL_RG8UI = 0x8238; +enum uint GL_RG16I = 0x8239; +enum uint GL_RG16UI = 0x823A; +enum uint GL_RG32I = 0x823B; +enum uint GL_RG32UI = 0x823C; +enum uint GL_VERTEX_ARRAY_BINDING = 0x85B5; +enum uint GL_SAMPLER_2D_RECT = 0x8B63; +enum uint GL_SAMPLER_2D_RECT_SHADOW = 0x8B64; +enum uint GL_SAMPLER_BUFFER = 0x8DC2; +enum uint GL_INT_SAMPLER_2D_RECT = 0x8DCD; +enum uint GL_INT_SAMPLER_BUFFER = 0x8DD0; +enum uint GL_UNSIGNED_INT_SAMPLER_2D_RECT = 0x8DD5; +enum uint GL_UNSIGNED_INT_SAMPLER_BUFFER = 0x8DD8; +enum uint GL_TEXTURE_BUFFER = 0x8C2A; +enum uint GL_MAX_TEXTURE_BUFFER_SIZE = 0x8C2B; +enum uint GL_TEXTURE_BINDING_BUFFER = 0x8C2C; +enum uint GL_TEXTURE_BUFFER_DATA_STORE_BINDING = 0x8C2D; +enum uint GL_TEXTURE_RECTANGLE = 0x84F5; +enum uint GL_TEXTURE_BINDING_RECTANGLE = 0x84F6; +enum uint GL_PROXY_TEXTURE_RECTANGLE = 0x84F7; +enum uint GL_MAX_RECTANGLE_TEXTURE_SIZE = 0x84F8; +enum uint GL_R8_SNORM = 0x8F94; +enum uint GL_RG8_SNORM = 0x8F95; +enum uint GL_RGB8_SNORM = 0x8F96; +enum uint GL_RGBA8_SNORM = 0x8F97; +enum uint GL_R16_SNORM = 0x8F98; +enum uint GL_RG16_SNORM = 0x8F99; +enum uint GL_RGB16_SNORM = 0x8F9A; +enum uint GL_RGBA16_SNORM = 0x8F9B; +enum uint GL_SIGNED_NORMALIZED = 0x8F9C; +enum uint GL_PRIMITIVE_RESTART = 0x8F9D; +enum uint GL_PRIMITIVE_RESTART_INDEX = 0x8F9E; +enum uint GL_COPY_READ_BUFFER = 0x8F36; +enum uint GL_COPY_WRITE_BUFFER = 0x8F37; +enum uint GL_UNIFORM_BUFFER = 0x8A11; +enum uint GL_UNIFORM_BUFFER_BINDING = 0x8A28; +enum uint GL_UNIFORM_BUFFER_START = 0x8A29; +enum uint GL_UNIFORM_BUFFER_SIZE = 0x8A2A; +enum uint GL_MAX_VERTEX_UNIFORM_BLOCKS = 0x8A2B; +enum uint GL_MAX_GEOMETRY_UNIFORM_BLOCKS = 0x8A2C; +enum uint GL_MAX_FRAGMENT_UNIFORM_BLOCKS = 0x8A2D; +enum uint GL_MAX_COMBINED_UNIFORM_BLOCKS = 0x8A2E; +enum uint GL_MAX_UNIFORM_BUFFER_BINDINGS = 0x8A2F; +enum uint GL_MAX_UNIFORM_BLOCK_SIZE = 0x8A30; +enum uint GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 0x8A31; +enum uint GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 0x8A32; +enum uint GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 0x8A33; +enum uint GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT = 0x8A34; +enum uint GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = 0x8A35; +enum uint GL_ACTIVE_UNIFORM_BLOCKS = 0x8A36; +enum uint GL_UNIFORM_TYPE = 0x8A37; +enum uint GL_UNIFORM_SIZE = 0x8A38; +enum uint GL_UNIFORM_NAME_LENGTH = 0x8A39; +enum uint GL_UNIFORM_BLOCK_INDEX = 0x8A3A; +enum uint GL_UNIFORM_OFFSET = 0x8A3B; +enum uint GL_UNIFORM_ARRAY_STRIDE = 0x8A3C; +enum uint GL_UNIFORM_MATRIX_STRIDE = 0x8A3D; +enum uint GL_UNIFORM_IS_ROW_MAJOR = 0x8A3E; +enum uint GL_UNIFORM_BLOCK_BINDING = 0x8A3F; +enum uint GL_UNIFORM_BLOCK_DATA_SIZE = 0x8A40; +enum uint GL_UNIFORM_BLOCK_NAME_LENGTH = 0x8A41; +enum uint GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS = 0x8A42; +enum uint GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43; +enum uint GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44; +enum uint GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = 0x8A45; +enum uint GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46; +enum uint GL_CONTEXT_CORE_PROFILE_BIT = 0x00000001; +enum uint GL_CONTEXT_COMPATIBILITY_PROFILE_BIT = 0x00000002; +enum uint GL_LINES_ADJACENCY = 0x000A; +enum uint GL_LINE_STRIP_ADJACENCY = 0x000B; +enum uint GL_TRIANGLES_ADJACENCY = 0x000C; +enum uint GL_TRIANGLE_STRIP_ADJACENCY = 0x000D; +enum uint GL_PROGRAM_POINT_SIZE = 0x8642; +enum uint GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 0x8C29; +enum uint GL_FRAMEBUFFER_ATTACHMENT_LAYERED = 0x8DA7; +enum uint GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 0x8DA8; +enum uint GL_GEOMETRY_SHADER = 0x8DD9; +enum uint GL_GEOMETRY_VERTICES_OUT = 0x8916; +enum uint GL_GEOMETRY_INPUT_TYPE = 0x8917; +enum uint GL_GEOMETRY_OUTPUT_TYPE = 0x8918; +enum uint GL_MAX_GEOMETRY_UNIFORM_COMPONENTS = 0x8DDF; +enum uint GL_MAX_GEOMETRY_OUTPUT_VERTICES = 0x8DE0; +enum uint GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 0x8DE1; +enum uint GL_MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122; +enum uint GL_MAX_GEOMETRY_INPUT_COMPONENTS = 0x9123; +enum uint GL_MAX_GEOMETRY_OUTPUT_COMPONENTS = 0x9124; +enum uint GL_MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125; +enum uint GL_CONTEXT_PROFILE_MASK = 0x9126; +enum uint GL_DEPTH_CLAMP = 0x864F; +enum uint GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = 0x8E4C; +enum uint GL_FIRST_VERTEX_CONVENTION = 0x8E4D; +enum uint GL_LAST_VERTEX_CONVENTION = 0x8E4E; +enum uint GL_PROVOKING_VERTEX = 0x8E4F; +enum uint GL_TEXTURE_CUBE_MAP_SEAMLESS = 0x884F; +enum uint GL_MAX_SERVER_WAIT_TIMEOUT = 0x9111; +enum uint GL_OBJECT_TYPE = 0x9112; +enum uint GL_SYNC_CONDITION = 0x9113; +enum uint GL_SYNC_STATUS = 0x9114; +enum uint GL_SYNC_FLAGS = 0x9115; +enum uint GL_SYNC_FENCE = 0x9116; +enum uint GL_SYNC_GPU_COMMANDS_COMPLETE = 0x9117; +enum uint GL_UNSIGNALED = 0x9118; +enum uint GL_SIGNALED = 0x9119; +enum uint GL_ALREADY_SIGNALED = 0x911A; +enum uint GL_TIMEOUT_EXPIRED = 0x911B; +enum uint GL_CONDITION_SATISFIED = 0x911C; +enum uint GL_WAIT_FAILED = 0x911D; +enum uint GL_SYNC_FLUSH_COMMANDS_BIT = 0x00000001; +enum uint GL_SAMPLE_POSITION = 0x8E50; +enum uint GL_SAMPLE_MASK = 0x8E51; +enum uint GL_SAMPLE_MASK_VALUE = 0x8E52; +enum uint GL_MAX_SAMPLE_MASK_WORDS = 0x8E59; +enum uint GL_TEXTURE_2D_MULTISAMPLE = 0x9100; +enum uint GL_PROXY_TEXTURE_2D_MULTISAMPLE = 0x9101; +enum uint GL_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9102; +enum uint GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9103; +enum uint GL_TEXTURE_BINDING_2D_MULTISAMPLE = 0x9104; +enum uint GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 0x9105; +enum uint GL_TEXTURE_SAMPLES = 0x9106; +enum uint GL_TEXTURE_FIXED_SAMPLE_LOCATIONS = 0x9107; +enum uint GL_SAMPLER_2D_MULTISAMPLE = 0x9108; +enum uint GL_INT_SAMPLER_2D_MULTISAMPLE = 0x9109; +enum uint GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 0x910A; +enum uint GL_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910B; +enum uint GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910C; +enum uint GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910D; +enum uint GL_MAX_COLOR_TEXTURE_SAMPLES = 0x910E; +enum uint GL_MAX_DEPTH_TEXTURE_SAMPLES = 0x910F; +enum uint GL_MAX_INTEGER_SAMPLES = 0x9110; +enum uint GL_VERTEX_ATTRIB_ARRAY_DIVISOR = 0x88FE; +enum uint GL_SRC1_COLOR = 0x88F9; +enum uint GL_ONE_MINUS_SRC1_COLOR = 0x88FA; +enum uint GL_ONE_MINUS_SRC1_ALPHA = 0x88FB; +enum uint GL_MAX_DUAL_SOURCE_DRAW_BUFFERS = 0x88FC; +enum uint GL_ANY_SAMPLES_PASSED = 0x8C2F; +enum uint GL_SAMPLER_BINDING = 0x8919; +enum uint GL_RGB10_A2UI = 0x906F; +enum uint GL_TEXTURE_SWIZZLE_R = 0x8E42; +enum uint GL_TEXTURE_SWIZZLE_G = 0x8E43; +enum uint GL_TEXTURE_SWIZZLE_B = 0x8E44; +enum uint GL_TEXTURE_SWIZZLE_A = 0x8E45; +enum uint GL_TEXTURE_SWIZZLE_RGBA = 0x8E46; +enum uint GL_TIME_ELAPSED = 0x88BF; +enum uint GL_TIMESTAMP = 0x8E28; +enum uint GL_INT_2_10_10_10_REV = 0x8D9F; +enum uint GL_SAMPLE_SHADING = 0x8C36; +enum uint GL_MIN_SAMPLE_SHADING_VALUE = 0x8C37; +enum uint GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5E; +enum uint GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5F; +enum uint GL_TEXTURE_CUBE_MAP_ARRAY = 0x9009; +enum uint GL_TEXTURE_BINDING_CUBE_MAP_ARRAY = 0x900A; +enum uint GL_PROXY_TEXTURE_CUBE_MAP_ARRAY = 0x900B; +enum uint GL_SAMPLER_CUBE_MAP_ARRAY = 0x900C; +enum uint GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW = 0x900D; +enum uint GL_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900E; +enum uint GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900F; +enum uint GL_DRAW_INDIRECT_BUFFER = 0x8F3F; +enum uint GL_DRAW_INDIRECT_BUFFER_BINDING = 0x8F43; +enum uint GL_GEOMETRY_SHADER_INVOCATIONS = 0x887F; +enum uint GL_MAX_GEOMETRY_SHADER_INVOCATIONS = 0x8E5A; +enum uint GL_MIN_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5B; +enum uint GL_MAX_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5C; +enum uint GL_FRAGMENT_INTERPOLATION_OFFSET_BITS = 0x8E5D; +enum uint GL_MAX_VERTEX_STREAMS = 0x8E71; +enum uint GL_DOUBLE_VEC2 = 0x8FFC; +enum uint GL_DOUBLE_VEC3 = 0x8FFD; +enum uint GL_DOUBLE_VEC4 = 0x8FFE; +enum uint GL_DOUBLE_MAT2 = 0x8F46; +enum uint GL_DOUBLE_MAT3 = 0x8F47; +enum uint GL_DOUBLE_MAT4 = 0x8F48; +enum uint GL_DOUBLE_MAT2x3 = 0x8F49; +enum uint GL_DOUBLE_MAT2x4 = 0x8F4A; +enum uint GL_DOUBLE_MAT3x2 = 0x8F4B; +enum uint GL_DOUBLE_MAT3x4 = 0x8F4C; +enum uint GL_DOUBLE_MAT4x2 = 0x8F4D; +enum uint GL_DOUBLE_MAT4x3 = 0x8F4E; +enum uint GL_ACTIVE_SUBROUTINES = 0x8DE5; +enum uint GL_ACTIVE_SUBROUTINE_UNIFORMS = 0x8DE6; +enum uint GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS = 0x8E47; +enum uint GL_ACTIVE_SUBROUTINE_MAX_LENGTH = 0x8E48; +enum uint GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH = 0x8E49; +enum uint GL_MAX_SUBROUTINES = 0x8DE7; +enum uint GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS = 0x8DE8; +enum uint GL_NUM_COMPATIBLE_SUBROUTINES = 0x8E4A; +enum uint GL_COMPATIBLE_SUBROUTINES = 0x8E4B; +enum uint GL_PATCHES = 0x000E; +enum uint GL_PATCH_VERTICES = 0x8E72; +enum uint GL_PATCH_DEFAULT_INNER_LEVEL = 0x8E73; +enum uint GL_PATCH_DEFAULT_OUTER_LEVEL = 0x8E74; +enum uint GL_TESS_CONTROL_OUTPUT_VERTICES = 0x8E75; +enum uint GL_TESS_GEN_MODE = 0x8E76; +enum uint GL_TESS_GEN_SPACING = 0x8E77; +enum uint GL_TESS_GEN_VERTEX_ORDER = 0x8E78; +enum uint GL_TESS_GEN_POINT_MODE = 0x8E79; +enum uint GL_ISOLINES = 0x8E7A; +enum uint GL_QUADS = 0x0007; +enum uint GL_FRACTIONAL_ODD = 0x8E7B; +enum uint GL_FRACTIONAL_EVEN = 0x8E7C; +enum uint GL_MAX_PATCH_VERTICES = 0x8E7D; +enum uint GL_MAX_TESS_GEN_LEVEL = 0x8E7E; +enum uint GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E7F; +enum uint GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E80; +enum uint GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = 0x8E81; +enum uint GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = 0x8E82; +enum uint GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS = 0x8E83; +enum uint GL_MAX_TESS_PATCH_COMPONENTS = 0x8E84; +enum uint GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = 0x8E85; +enum uint GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = 0x8E86; +enum uint GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS = 0x8E89; +enum uint GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS = 0x8E8A; +enum uint GL_MAX_TESS_CONTROL_INPUT_COMPONENTS = 0x886C; +enum uint GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS = 0x886D; +enum uint GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E1E; +enum uint GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E1F; +enum uint GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER = 0x84F0; +enum uint GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x84F1; +enum uint GL_TESS_EVALUATION_SHADER = 0x8E87; +enum uint GL_TESS_CONTROL_SHADER = 0x8E88; +enum uint GL_TRANSFORM_FEEDBACK = 0x8E22; +enum uint GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED = 0x8E23; +enum uint GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE = 0x8E24; +enum uint GL_TRANSFORM_FEEDBACK_BINDING = 0x8E25; +enum uint GL_MAX_TRANSFORM_FEEDBACK_BUFFERS = 0x8E70; +enum uint GL_FIXED = 0x140C; +enum uint GL_IMPLEMENTATION_COLOR_READ_TYPE = 0x8B9A; +enum uint GL_IMPLEMENTATION_COLOR_READ_FORMAT = 0x8B9B; +enum uint GL_LOW_FLOAT = 0x8DF0; +enum uint GL_MEDIUM_FLOAT = 0x8DF1; +enum uint GL_HIGH_FLOAT = 0x8DF2; +enum uint GL_LOW_INT = 0x8DF3; +enum uint GL_MEDIUM_INT = 0x8DF4; +enum uint GL_HIGH_INT = 0x8DF5; +enum uint GL_SHADER_COMPILER = 0x8DFA; +enum uint GL_SHADER_BINARY_FORMATS = 0x8DF8; +enum uint GL_NUM_SHADER_BINARY_FORMATS = 0x8DF9; +enum uint GL_MAX_VERTEX_UNIFORM_VECTORS = 0x8DFB; +enum uint GL_MAX_VARYING_VECTORS = 0x8DFC; +enum uint GL_MAX_FRAGMENT_UNIFORM_VECTORS = 0x8DFD; +enum uint GL_RGB565 = 0x8D62; +enum uint GL_PROGRAM_BINARY_RETRIEVABLE_HINT = 0x8257; +enum uint GL_PROGRAM_BINARY_LENGTH = 0x8741; +enum uint GL_NUM_PROGRAM_BINARY_FORMATS = 0x87FE; +enum uint GL_PROGRAM_BINARY_FORMATS = 0x87FF; +enum uint GL_VERTEX_SHADER_BIT = 0x00000001; +enum uint GL_FRAGMENT_SHADER_BIT = 0x00000002; +enum uint GL_GEOMETRY_SHADER_BIT = 0x00000004; +enum uint GL_TESS_CONTROL_SHADER_BIT = 0x00000008; +enum uint GL_TESS_EVALUATION_SHADER_BIT = 0x00000010; +enum uint GL_ALL_SHADER_BITS = 0xFFFFFFFF; +enum uint GL_PROGRAM_SEPARABLE = 0x8258; +enum uint GL_ACTIVE_PROGRAM = 0x8259; +enum uint GL_PROGRAM_PIPELINE_BINDING = 0x825A; +enum uint GL_MAX_VIEWPORTS = 0x825B; +enum uint GL_VIEWPORT_SUBPIXEL_BITS = 0x825C; +enum uint GL_VIEWPORT_BOUNDS_RANGE = 0x825D; +enum uint GL_LAYER_PROVOKING_VERTEX = 0x825E; +enum uint GL_VIEWPORT_INDEX_PROVOKING_VERTEX = 0x825F; +enum uint GL_UNDEFINED_VERTEX = 0x8260; +enum uint GL_COPY_READ_BUFFER_BINDING = 0x8F36; +enum uint GL_COPY_WRITE_BUFFER_BINDING = 0x8F37; +enum uint GL_TRANSFORM_FEEDBACK_ACTIVE = 0x8E24; +enum uint GL_TRANSFORM_FEEDBACK_PAUSED = 0x8E23; +enum uint GL_UNPACK_COMPRESSED_BLOCK_WIDTH = 0x9127; +enum uint GL_UNPACK_COMPRESSED_BLOCK_HEIGHT = 0x9128; +enum uint GL_UNPACK_COMPRESSED_BLOCK_DEPTH = 0x9129; +enum uint GL_UNPACK_COMPRESSED_BLOCK_SIZE = 0x912A; +enum uint GL_PACK_COMPRESSED_BLOCK_WIDTH = 0x912B; +enum uint GL_PACK_COMPRESSED_BLOCK_HEIGHT = 0x912C; +enum uint GL_PACK_COMPRESSED_BLOCK_DEPTH = 0x912D; +enum uint GL_PACK_COMPRESSED_BLOCK_SIZE = 0x912E; +enum uint GL_NUM_SAMPLE_COUNTS = 0x9380; +enum uint GL_MIN_MAP_BUFFER_ALIGNMENT = 0x90BC; +enum uint GL_ATOMIC_COUNTER_BUFFER = 0x92C0; +enum uint GL_ATOMIC_COUNTER_BUFFER_BINDING = 0x92C1; +enum uint GL_ATOMIC_COUNTER_BUFFER_START = 0x92C2; +enum uint GL_ATOMIC_COUNTER_BUFFER_SIZE = 0x92C3; +enum uint GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE = 0x92C4; +enum uint GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS = 0x92C5; +enum uint GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES = 0x92C6; +enum uint GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER = 0x92C7; +enum uint GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER = 0x92C8; +enum uint GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x92C9; +enum uint GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER = 0x92CA; +enum uint GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER = 0x92CB; +enum uint GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = 0x92CC; +enum uint GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = 0x92CD; +enum uint GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = 0x92CE; +enum uint GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = 0x92CF; +enum uint GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = 0x92D0; +enum uint GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = 0x92D1; +enum uint GL_MAX_VERTEX_ATOMIC_COUNTERS = 0x92D2; +enum uint GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS = 0x92D3; +enum uint GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS = 0x92D4; +enum uint GL_MAX_GEOMETRY_ATOMIC_COUNTERS = 0x92D5; +enum uint GL_MAX_FRAGMENT_ATOMIC_COUNTERS = 0x92D6; +enum uint GL_MAX_COMBINED_ATOMIC_COUNTERS = 0x92D7; +enum uint GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE = 0x92D8; +enum uint GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = 0x92DC; +enum uint GL_ACTIVE_ATOMIC_COUNTER_BUFFERS = 0x92D9; +enum uint GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX = 0x92DA; +enum uint GL_UNSIGNED_INT_ATOMIC_COUNTER = 0x92DB; +enum uint GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT = 0x00000001; +enum uint GL_ELEMENT_ARRAY_BARRIER_BIT = 0x00000002; +enum uint GL_UNIFORM_BARRIER_BIT = 0x00000004; +enum uint GL_TEXTURE_FETCH_BARRIER_BIT = 0x00000008; +enum uint GL_SHADER_IMAGE_ACCESS_BARRIER_BIT = 0x00000020; +enum uint GL_COMMAND_BARRIER_BIT = 0x00000040; +enum uint GL_PIXEL_BUFFER_BARRIER_BIT = 0x00000080; +enum uint GL_TEXTURE_UPDATE_BARRIER_BIT = 0x00000100; +enum uint GL_BUFFER_UPDATE_BARRIER_BIT = 0x00000200; +enum uint GL_FRAMEBUFFER_BARRIER_BIT = 0x00000400; +enum uint GL_TRANSFORM_FEEDBACK_BARRIER_BIT = 0x00000800; +enum uint GL_ATOMIC_COUNTER_BARRIER_BIT = 0x00001000; +enum uint GL_ALL_BARRIER_BITS = 0xFFFFFFFF; +enum uint GL_MAX_IMAGE_UNITS = 0x8F38; +enum uint GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS = 0x8F39; +enum uint GL_IMAGE_BINDING_NAME = 0x8F3A; +enum uint GL_IMAGE_BINDING_LEVEL = 0x8F3B; +enum uint GL_IMAGE_BINDING_LAYERED = 0x8F3C; +enum uint GL_IMAGE_BINDING_LAYER = 0x8F3D; +enum uint GL_IMAGE_BINDING_ACCESS = 0x8F3E; +enum uint GL_IMAGE_1D = 0x904C; +enum uint GL_IMAGE_2D = 0x904D; +enum uint GL_IMAGE_3D = 0x904E; +enum uint GL_IMAGE_2D_RECT = 0x904F; +enum uint GL_IMAGE_CUBE = 0x9050; +enum uint GL_IMAGE_BUFFER = 0x9051; +enum uint GL_IMAGE_1D_ARRAY = 0x9052; +enum uint GL_IMAGE_2D_ARRAY = 0x9053; +enum uint GL_IMAGE_CUBE_MAP_ARRAY = 0x9054; +enum uint GL_IMAGE_2D_MULTISAMPLE = 0x9055; +enum uint GL_IMAGE_2D_MULTISAMPLE_ARRAY = 0x9056; +enum uint GL_INT_IMAGE_1D = 0x9057; +enum uint GL_INT_IMAGE_2D = 0x9058; +enum uint GL_INT_IMAGE_3D = 0x9059; +enum uint GL_INT_IMAGE_2D_RECT = 0x905A; +enum uint GL_INT_IMAGE_CUBE = 0x905B; +enum uint GL_INT_IMAGE_BUFFER = 0x905C; +enum uint GL_INT_IMAGE_1D_ARRAY = 0x905D; +enum uint GL_INT_IMAGE_2D_ARRAY = 0x905E; +enum uint GL_INT_IMAGE_CUBE_MAP_ARRAY = 0x905F; +enum uint GL_INT_IMAGE_2D_MULTISAMPLE = 0x9060; +enum uint GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x9061; +enum uint GL_UNSIGNED_INT_IMAGE_1D = 0x9062; +enum uint GL_UNSIGNED_INT_IMAGE_2D = 0x9063; +enum uint GL_UNSIGNED_INT_IMAGE_3D = 0x9064; +enum uint GL_UNSIGNED_INT_IMAGE_2D_RECT = 0x9065; +enum uint GL_UNSIGNED_INT_IMAGE_CUBE = 0x9066; +enum uint GL_UNSIGNED_INT_IMAGE_BUFFER = 0x9067; +enum uint GL_UNSIGNED_INT_IMAGE_1D_ARRAY = 0x9068; +enum uint GL_UNSIGNED_INT_IMAGE_2D_ARRAY = 0x9069; +enum uint GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = 0x906A; +enum uint GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE = 0x906B; +enum uint GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x906C; +enum uint GL_MAX_IMAGE_SAMPLES = 0x906D; +enum uint GL_IMAGE_BINDING_FORMAT = 0x906E; +enum uint GL_IMAGE_FORMAT_COMPATIBILITY_TYPE = 0x90C7; +enum uint GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = 0x90C8; +enum uint GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = 0x90C9; +enum uint GL_MAX_VERTEX_IMAGE_UNIFORMS = 0x90CA; +enum uint GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS = 0x90CB; +enum uint GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS = 0x90CC; +enum uint GL_MAX_GEOMETRY_IMAGE_UNIFORMS = 0x90CD; +enum uint GL_MAX_FRAGMENT_IMAGE_UNIFORMS = 0x90CE; +enum uint GL_MAX_COMBINED_IMAGE_UNIFORMS = 0x90CF; +enum uint GL_COMPRESSED_RGBA_BPTC_UNORM = 0x8E8C; +enum uint GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM = 0x8E8D; +enum uint GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT = 0x8E8E; +enum uint GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT = 0x8E8F; +enum uint GL_TEXTURE_IMMUTABLE_FORMAT = 0x912F; +enum uint GL_NUM_SHADING_LANGUAGE_VERSIONS = 0x82E9; +enum uint GL_VERTEX_ATTRIB_ARRAY_LONG = 0x874E; +enum uint GL_COMPRESSED_RGB8_ETC2 = 0x9274; +enum uint GL_COMPRESSED_SRGB8_ETC2 = 0x9275; +enum uint GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9276; +enum uint GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277; +enum uint GL_COMPRESSED_RGBA8_ETC2_EAC = 0x9278; +enum uint GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9279; +enum uint GL_COMPRESSED_R11_EAC = 0x9270; +enum uint GL_COMPRESSED_SIGNED_R11_EAC = 0x9271; +enum uint GL_COMPRESSED_RG11_EAC = 0x9272; +enum uint GL_COMPRESSED_SIGNED_RG11_EAC = 0x9273; +enum uint GL_PRIMITIVE_RESTART_FIXED_INDEX = 0x8D69; +enum uint GL_ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8D6A; +enum uint GL_MAX_ELEMENT_INDEX = 0x8D6B; +enum uint GL_COMPUTE_SHADER = 0x91B9; +enum uint GL_MAX_COMPUTE_UNIFORM_BLOCKS = 0x91BB; +enum uint GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = 0x91BC; +enum uint GL_MAX_COMPUTE_IMAGE_UNIFORMS = 0x91BD; +enum uint GL_MAX_COMPUTE_SHARED_MEMORY_SIZE = 0x8262; +enum uint GL_MAX_COMPUTE_UNIFORM_COMPONENTS = 0x8263; +enum uint GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = 0x8264; +enum uint GL_MAX_COMPUTE_ATOMIC_COUNTERS = 0x8265; +enum uint GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = 0x8266; +enum uint GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS = 0x90EB; +enum uint GL_MAX_COMPUTE_WORK_GROUP_COUNT = 0x91BE; +enum uint GL_MAX_COMPUTE_WORK_GROUP_SIZE = 0x91BF; +enum uint GL_COMPUTE_WORK_GROUP_SIZE = 0x8267; +enum uint GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER = 0x90EC; +enum uint GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER = 0x90ED; +enum uint GL_DISPATCH_INDIRECT_BUFFER = 0x90EE; +enum uint GL_DISPATCH_INDIRECT_BUFFER_BINDING = 0x90EF; +enum uint GL_COMPUTE_SHADER_BIT = 0x00000020; +enum uint GL_DEBUG_OUTPUT_SYNCHRONOUS = 0x8242; +enum uint GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = 0x8243; +enum uint GL_DEBUG_CALLBACK_FUNCTION = 0x8244; +enum uint GL_DEBUG_CALLBACK_USER_PARAM = 0x8245; +enum uint GL_DEBUG_SOURCE_API = 0x8246; +enum uint GL_DEBUG_SOURCE_WINDOW_SYSTEM = 0x8247; +enum uint GL_DEBUG_SOURCE_SHADER_COMPILER = 0x8248; +enum uint GL_DEBUG_SOURCE_THIRD_PARTY = 0x8249; +enum uint GL_DEBUG_SOURCE_APPLICATION = 0x824A; +enum uint GL_DEBUG_SOURCE_OTHER = 0x824B; +enum uint GL_DEBUG_TYPE_ERROR = 0x824C; +enum uint GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR = 0x824D; +enum uint GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR = 0x824E; +enum uint GL_DEBUG_TYPE_PORTABILITY = 0x824F; +enum uint GL_DEBUG_TYPE_PERFORMANCE = 0x8250; +enum uint GL_DEBUG_TYPE_OTHER = 0x8251; +enum uint GL_MAX_DEBUG_MESSAGE_LENGTH = 0x9143; +enum uint GL_MAX_DEBUG_LOGGED_MESSAGES = 0x9144; +enum uint GL_DEBUG_LOGGED_MESSAGES = 0x9145; +enum uint GL_DEBUG_SEVERITY_HIGH = 0x9146; +enum uint GL_DEBUG_SEVERITY_MEDIUM = 0x9147; +enum uint GL_DEBUG_SEVERITY_LOW = 0x9148; +enum uint GL_DEBUG_TYPE_MARKER = 0x8268; +enum uint GL_DEBUG_TYPE_PUSH_GROUP = 0x8269; +enum uint GL_DEBUG_TYPE_POP_GROUP = 0x826A; +enum uint GL_DEBUG_SEVERITY_NOTIFICATION = 0x826B; +enum uint GL_MAX_DEBUG_GROUP_STACK_DEPTH = 0x826C; +enum uint GL_DEBUG_GROUP_STACK_DEPTH = 0x826D; +enum uint GL_BUFFER = 0x82E0; +enum uint GL_SHADER = 0x82E1; +enum uint GL_PROGRAM = 0x82E2; +enum uint GL_VERTEX_ARRAY = 0x8074; +enum uint GL_QUERY = 0x82E3; +enum uint GL_PROGRAM_PIPELINE = 0x82E4; +enum uint GL_SAMPLER = 0x82E6; +enum uint GL_MAX_LABEL_LENGTH = 0x82E8; +enum uint GL_DEBUG_OUTPUT = 0x92E0; +enum uint GL_CONTEXT_FLAG_DEBUG_BIT = 0x00000002; +enum uint GL_MAX_UNIFORM_LOCATIONS = 0x826E; +enum uint GL_FRAMEBUFFER_DEFAULT_WIDTH = 0x9310; +enum uint GL_FRAMEBUFFER_DEFAULT_HEIGHT = 0x9311; +enum uint GL_FRAMEBUFFER_DEFAULT_LAYERS = 0x9312; +enum uint GL_FRAMEBUFFER_DEFAULT_SAMPLES = 0x9313; +enum uint GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = 0x9314; +enum uint GL_MAX_FRAMEBUFFER_WIDTH = 0x9315; +enum uint GL_MAX_FRAMEBUFFER_HEIGHT = 0x9316; +enum uint GL_MAX_FRAMEBUFFER_LAYERS = 0x9317; +enum uint GL_MAX_FRAMEBUFFER_SAMPLES = 0x9318; +enum uint GL_INTERNALFORMAT_SUPPORTED = 0x826F; +enum uint GL_INTERNALFORMAT_PREFERRED = 0x8270; +enum uint GL_INTERNALFORMAT_RED_SIZE = 0x8271; +enum uint GL_INTERNALFORMAT_GREEN_SIZE = 0x8272; +enum uint GL_INTERNALFORMAT_BLUE_SIZE = 0x8273; +enum uint GL_INTERNALFORMAT_ALPHA_SIZE = 0x8274; +enum uint GL_INTERNALFORMAT_DEPTH_SIZE = 0x8275; +enum uint GL_INTERNALFORMAT_STENCIL_SIZE = 0x8276; +enum uint GL_INTERNALFORMAT_SHARED_SIZE = 0x8277; +enum uint GL_INTERNALFORMAT_RED_TYPE = 0x8278; +enum uint GL_INTERNALFORMAT_GREEN_TYPE = 0x8279; +enum uint GL_INTERNALFORMAT_BLUE_TYPE = 0x827A; +enum uint GL_INTERNALFORMAT_ALPHA_TYPE = 0x827B; +enum uint GL_INTERNALFORMAT_DEPTH_TYPE = 0x827C; +enum uint GL_INTERNALFORMAT_STENCIL_TYPE = 0x827D; +enum uint GL_MAX_WIDTH = 0x827E; +enum uint GL_MAX_HEIGHT = 0x827F; +enum uint GL_MAX_DEPTH = 0x8280; +enum uint GL_MAX_LAYERS = 0x8281; +enum uint GL_MAX_COMBINED_DIMENSIONS = 0x8282; +enum uint GL_COLOR_COMPONENTS = 0x8283; +enum uint GL_DEPTH_COMPONENTS = 0x8284; +enum uint GL_STENCIL_COMPONENTS = 0x8285; +enum uint GL_COLOR_RENDERABLE = 0x8286; +enum uint GL_DEPTH_RENDERABLE = 0x8287; +enum uint GL_STENCIL_RENDERABLE = 0x8288; +enum uint GL_FRAMEBUFFER_RENDERABLE = 0x8289; +enum uint GL_FRAMEBUFFER_RENDERABLE_LAYERED = 0x828A; +enum uint GL_FRAMEBUFFER_BLEND = 0x828B; +enum uint GL_READ_PIXELS = 0x828C; +enum uint GL_READ_PIXELS_FORMAT = 0x828D; +enum uint GL_READ_PIXELS_TYPE = 0x828E; +enum uint GL_TEXTURE_IMAGE_FORMAT = 0x828F; +enum uint GL_TEXTURE_IMAGE_TYPE = 0x8290; +enum uint GL_GET_TEXTURE_IMAGE_FORMAT = 0x8291; +enum uint GL_GET_TEXTURE_IMAGE_TYPE = 0x8292; +enum uint GL_MIPMAP = 0x8293; +enum uint GL_MANUAL_GENERATE_MIPMAP = 0x8294; +enum uint GL_AUTO_GENERATE_MIPMAP = 0x8295; +enum uint GL_COLOR_ENCODING = 0x8296; +enum uint GL_SRGB_READ = 0x8297; +enum uint GL_SRGB_WRITE = 0x8298; +enum uint GL_FILTER = 0x829A; +enum uint GL_VERTEX_TEXTURE = 0x829B; +enum uint GL_TESS_CONTROL_TEXTURE = 0x829C; +enum uint GL_TESS_EVALUATION_TEXTURE = 0x829D; +enum uint GL_GEOMETRY_TEXTURE = 0x829E; +enum uint GL_FRAGMENT_TEXTURE = 0x829F; +enum uint GL_COMPUTE_TEXTURE = 0x82A0; +enum uint GL_TEXTURE_SHADOW = 0x82A1; +enum uint GL_TEXTURE_GATHER = 0x82A2; +enum uint GL_TEXTURE_GATHER_SHADOW = 0x82A3; +enum uint GL_SHADER_IMAGE_LOAD = 0x82A4; +enum uint GL_SHADER_IMAGE_STORE = 0x82A5; +enum uint GL_SHADER_IMAGE_ATOMIC = 0x82A6; +enum uint GL_IMAGE_TEXEL_SIZE = 0x82A7; +enum uint GL_IMAGE_COMPATIBILITY_CLASS = 0x82A8; +enum uint GL_IMAGE_PIXEL_FORMAT = 0x82A9; +enum uint GL_IMAGE_PIXEL_TYPE = 0x82AA; +enum uint GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST = 0x82AC; +enum uint GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST = 0x82AD; +enum uint GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE = 0x82AE; +enum uint GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE = 0x82AF; +enum uint GL_TEXTURE_COMPRESSED_BLOCK_WIDTH = 0x82B1; +enum uint GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT = 0x82B2; +enum uint GL_TEXTURE_COMPRESSED_BLOCK_SIZE = 0x82B3; +enum uint GL_CLEAR_BUFFER = 0x82B4; +enum uint GL_TEXTURE_VIEW = 0x82B5; +enum uint GL_VIEW_COMPATIBILITY_CLASS = 0x82B6; +enum uint GL_FULL_SUPPORT = 0x82B7; +enum uint GL_CAVEAT_SUPPORT = 0x82B8; +enum uint GL_IMAGE_CLASS_4_X_32 = 0x82B9; +enum uint GL_IMAGE_CLASS_2_X_32 = 0x82BA; +enum uint GL_IMAGE_CLASS_1_X_32 = 0x82BB; +enum uint GL_IMAGE_CLASS_4_X_16 = 0x82BC; +enum uint GL_IMAGE_CLASS_2_X_16 = 0x82BD; +enum uint GL_IMAGE_CLASS_1_X_16 = 0x82BE; +enum uint GL_IMAGE_CLASS_4_X_8 = 0x82BF; +enum uint GL_IMAGE_CLASS_2_X_8 = 0x82C0; +enum uint GL_IMAGE_CLASS_1_X_8 = 0x82C1; +enum uint GL_IMAGE_CLASS_11_11_10 = 0x82C2; +enum uint GL_IMAGE_CLASS_10_10_10_2 = 0x82C3; +enum uint GL_VIEW_CLASS_128_BITS = 0x82C4; +enum uint GL_VIEW_CLASS_96_BITS = 0x82C5; +enum uint GL_VIEW_CLASS_64_BITS = 0x82C6; +enum uint GL_VIEW_CLASS_48_BITS = 0x82C7; +enum uint GL_VIEW_CLASS_32_BITS = 0x82C8; +enum uint GL_VIEW_CLASS_24_BITS = 0x82C9; +enum uint GL_VIEW_CLASS_16_BITS = 0x82CA; +enum uint GL_VIEW_CLASS_8_BITS = 0x82CB; +enum uint GL_VIEW_CLASS_S3TC_DXT1_RGB = 0x82CC; +enum uint GL_VIEW_CLASS_S3TC_DXT1_RGBA = 0x82CD; +enum uint GL_VIEW_CLASS_S3TC_DXT3_RGBA = 0x82CE; +enum uint GL_VIEW_CLASS_S3TC_DXT5_RGBA = 0x82CF; +enum uint GL_VIEW_CLASS_RGTC1_RED = 0x82D0; +enum uint GL_VIEW_CLASS_RGTC2_RG = 0x82D1; +enum uint GL_VIEW_CLASS_BPTC_UNORM = 0x82D2; +enum uint GL_VIEW_CLASS_BPTC_FLOAT = 0x82D3; +enum uint GL_UNIFORM = 0x92E1; +enum uint GL_UNIFORM_BLOCK = 0x92E2; +enum uint GL_PROGRAM_INPUT = 0x92E3; +enum uint GL_PROGRAM_OUTPUT = 0x92E4; +enum uint GL_BUFFER_VARIABLE = 0x92E5; +enum uint GL_SHADER_STORAGE_BLOCK = 0x92E6; +enum uint GL_VERTEX_SUBROUTINE = 0x92E8; +enum uint GL_TESS_CONTROL_SUBROUTINE = 0x92E9; +enum uint GL_TESS_EVALUATION_SUBROUTINE = 0x92EA; +enum uint GL_GEOMETRY_SUBROUTINE = 0x92EB; +enum uint GL_FRAGMENT_SUBROUTINE = 0x92EC; +enum uint GL_COMPUTE_SUBROUTINE = 0x92ED; +enum uint GL_VERTEX_SUBROUTINE_UNIFORM = 0x92EE; +enum uint GL_TESS_CONTROL_SUBROUTINE_UNIFORM = 0x92EF; +enum uint GL_TESS_EVALUATION_SUBROUTINE_UNIFORM = 0x92F0; +enum uint GL_GEOMETRY_SUBROUTINE_UNIFORM = 0x92F1; +enum uint GL_FRAGMENT_SUBROUTINE_UNIFORM = 0x92F2; +enum uint GL_COMPUTE_SUBROUTINE_UNIFORM = 0x92F3; +enum uint GL_TRANSFORM_FEEDBACK_VARYING = 0x92F4; +enum uint GL_ACTIVE_RESOURCES = 0x92F5; +enum uint GL_MAX_NAME_LENGTH = 0x92F6; +enum uint GL_MAX_NUM_ACTIVE_VARIABLES = 0x92F7; +enum uint GL_MAX_NUM_COMPATIBLE_SUBROUTINES = 0x92F8; +enum uint GL_NAME_LENGTH = 0x92F9; +enum uint GL_TYPE = 0x92FA; +enum uint GL_ARRAY_SIZE = 0x92FB; +enum uint GL_OFFSET = 0x92FC; +enum uint GL_BLOCK_INDEX = 0x92FD; +enum uint GL_ARRAY_STRIDE = 0x92FE; +enum uint GL_MATRIX_STRIDE = 0x92FF; +enum uint GL_IS_ROW_MAJOR = 0x9300; +enum uint GL_ATOMIC_COUNTER_BUFFER_INDEX = 0x9301; +enum uint GL_BUFFER_BINDING = 0x9302; +enum uint GL_BUFFER_DATA_SIZE = 0x9303; +enum uint GL_NUM_ACTIVE_VARIABLES = 0x9304; +enum uint GL_ACTIVE_VARIABLES = 0x9305; +enum uint GL_REFERENCED_BY_VERTEX_SHADER = 0x9306; +enum uint GL_REFERENCED_BY_TESS_CONTROL_SHADER = 0x9307; +enum uint GL_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x9308; +enum uint GL_REFERENCED_BY_GEOMETRY_SHADER = 0x9309; +enum uint GL_REFERENCED_BY_FRAGMENT_SHADER = 0x930A; +enum uint GL_REFERENCED_BY_COMPUTE_SHADER = 0x930B; +enum uint GL_TOP_LEVEL_ARRAY_SIZE = 0x930C; +enum uint GL_TOP_LEVEL_ARRAY_STRIDE = 0x930D; +enum uint GL_LOCATION = 0x930E; +enum uint GL_LOCATION_INDEX = 0x930F; +enum uint GL_IS_PER_PATCH = 0x92E7; +enum uint GL_SHADER_STORAGE_BUFFER = 0x90D2; +enum uint GL_SHADER_STORAGE_BUFFER_BINDING = 0x90D3; +enum uint GL_SHADER_STORAGE_BUFFER_START = 0x90D4; +enum uint GL_SHADER_STORAGE_BUFFER_SIZE = 0x90D5; +enum uint GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS = 0x90D6; +enum uint GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = 0x90D7; +enum uint GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = 0x90D8; +enum uint GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = 0x90D9; +enum uint GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = 0x90DA; +enum uint GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = 0x90DB; +enum uint GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS = 0x90DC; +enum uint GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS = 0x90DD; +enum uint GL_MAX_SHADER_STORAGE_BLOCK_SIZE = 0x90DE; +enum uint GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = 0x90DF; +enum uint GL_SHADER_STORAGE_BARRIER_BIT = 0x00002000; +enum uint GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = 0x8F39; +enum uint GL_DEPTH_STENCIL_TEXTURE_MODE = 0x90EA; +enum uint GL_TEXTURE_BUFFER_OFFSET = 0x919D; +enum uint GL_TEXTURE_BUFFER_SIZE = 0x919E; +enum uint GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT = 0x919F; +enum uint GL_TEXTURE_VIEW_MIN_LEVEL = 0x82DB; +enum uint GL_TEXTURE_VIEW_NUM_LEVELS = 0x82DC; +enum uint GL_TEXTURE_VIEW_MIN_LAYER = 0x82DD; +enum uint GL_TEXTURE_VIEW_NUM_LAYERS = 0x82DE; +enum uint GL_TEXTURE_IMMUTABLE_LEVELS = 0x82DF; +enum uint GL_VERTEX_ATTRIB_BINDING = 0x82D4; +enum uint GL_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D5; +enum uint GL_VERTEX_BINDING_DIVISOR = 0x82D6; +enum uint GL_VERTEX_BINDING_OFFSET = 0x82D7; +enum uint GL_VERTEX_BINDING_STRIDE = 0x82D8; +enum uint GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D9; +enum uint GL_MAX_VERTEX_ATTRIB_BINDINGS = 0x82DA; +enum uint GL_VERTEX_BINDING_BUFFER = 0x8F4F; +enum uint GL_DISPLAY_LIST = 0x82E7; +enum uint GL_STACK_UNDERFLOW = 0x0504; +enum uint GL_STACK_OVERFLOW = 0x0503; +enum uint GL_MAX_VERTEX_ATTRIB_STRIDE = 0x82E5; +enum uint GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = 0x8221; +enum uint GL_TEXTURE_BUFFER_BINDING = 0x8C2A; +enum uint GL_MAP_PERSISTENT_BIT = 0x0040; +enum uint GL_MAP_COHERENT_BIT = 0x0080; +enum uint GL_DYNAMIC_STORAGE_BIT = 0x0100; +enum uint GL_CLIENT_STORAGE_BIT = 0x0200; +enum uint GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT = 0x00004000; +enum uint GL_BUFFER_IMMUTABLE_STORAGE = 0x821F; +enum uint GL_BUFFER_STORAGE_FLAGS = 0x8220; +enum uint GL_CLEAR_TEXTURE = 0x9365; +enum uint GL_LOCATION_COMPONENT = 0x934A; +enum uint GL_TRANSFORM_FEEDBACK_BUFFER_INDEX = 0x934B; +enum uint GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE = 0x934C; +enum uint GL_QUERY_BUFFER = 0x9192; +enum uint GL_QUERY_BUFFER_BARRIER_BIT = 0x00008000; +enum uint GL_QUERY_BUFFER_BINDING = 0x9193; +enum uint GL_QUERY_RESULT_NO_WAIT = 0x9194; +enum uint GL_MIRROR_CLAMP_TO_EDGE = 0x8743; +enum uint GL_CONTEXT_LOST = 0x0507; +enum uint GL_NEGATIVE_ONE_TO_ONE = 0x935E; +enum uint GL_ZERO_TO_ONE = 0x935F; +enum uint GL_CLIP_ORIGIN = 0x935C; +enum uint GL_CLIP_DEPTH_MODE = 0x935D; +enum uint GL_QUERY_WAIT_INVERTED = 0x8E17; +enum uint GL_QUERY_NO_WAIT_INVERTED = 0x8E18; +enum uint GL_QUERY_BY_REGION_WAIT_INVERTED = 0x8E19; +enum uint GL_QUERY_BY_REGION_NO_WAIT_INVERTED = 0x8E1A; +enum uint GL_MAX_CULL_DISTANCES = 0x82F9; +enum uint GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES = 0x82FA; +enum uint GL_TEXTURE_TARGET = 0x1006; +enum uint GL_QUERY_TARGET = 0x82EA; +enum uint GL_GUILTY_CONTEXT_RESET = 0x8253; +enum uint GL_INNOCENT_CONTEXT_RESET = 0x8254; +enum uint GL_UNKNOWN_CONTEXT_RESET = 0x8255; +enum uint GL_RESET_NOTIFICATION_STRATEGY = 0x8256; +enum uint GL_LOSE_CONTEXT_ON_RESET = 0x8252; +enum uint GL_NO_RESET_NOTIFICATION = 0x8261; +enum uint GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT = 0x00000004; +enum uint GL_COLOR_TABLE = 0x80D0; +enum uint GL_POST_CONVOLUTION_COLOR_TABLE = 0x80D1; +enum uint GL_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D2; +enum uint GL_PROXY_COLOR_TABLE = 0x80D3; +enum uint GL_PROXY_POST_CONVOLUTION_COLOR_TABLE = 0x80D4; +enum uint GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D5; +enum uint GL_CONVOLUTION_1D = 0x8010; +enum uint GL_CONVOLUTION_2D = 0x8011; +enum uint GL_SEPARABLE_2D = 0x8012; +enum uint GL_HISTOGRAM = 0x8024; +enum uint GL_PROXY_HISTOGRAM = 0x8025; +enum uint GL_MINMAX = 0x802E; +enum uint GL_CONTEXT_RELEASE_BEHAVIOR = 0x82FB; +enum uint GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH = 0x82FC; +enum uint GL_SHADER_BINARY_FORMAT_SPIR_V = 0x9551; +enum uint GL_SPIR_V_BINARY = 0x9552; +enum uint GL_PARAMETER_BUFFER = 0x80EE; +enum uint GL_PARAMETER_BUFFER_BINDING = 0x80EF; +enum uint GL_CONTEXT_FLAG_NO_ERROR_BIT = 0x00000008; +enum uint GL_VERTICES_SUBMITTED = 0x82EE; +enum uint GL_PRIMITIVES_SUBMITTED = 0x82EF; +enum uint GL_VERTEX_SHADER_INVOCATIONS = 0x82F0; +enum uint GL_TESS_CONTROL_SHADER_PATCHES = 0x82F1; +enum uint GL_TESS_EVALUATION_SHADER_INVOCATIONS = 0x82F2; +enum uint GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED = 0x82F3; +enum uint GL_FRAGMENT_SHADER_INVOCATIONS = 0x82F4; +enum uint GL_COMPUTE_SHADER_INVOCATIONS = 0x82F5; +enum uint GL_CLIPPING_INPUT_PRIMITIVES = 0x82F6; +enum uint GL_CLIPPING_OUTPUT_PRIMITIVES = 0x82F7; +enum uint GL_POLYGON_OFFSET_CLAMP = 0x8E1B; +enum uint GL_SPIR_V_EXTENSIONS = 0x9553; +enum uint GL_NUM_SPIR_V_EXTENSIONS = 0x9554; +enum uint GL_TEXTURE_MAX_ANISOTROPY = 0x84FE; +enum uint GL_MAX_TEXTURE_MAX_ANISOTROPY = 0x84FF; +enum uint GL_TRANSFORM_FEEDBACK_OVERFLOW = 0x82EC; +enum uint GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW = 0x82ED; diff --git a/libs/glad/glad/gl/ext.d b/libs/glad/glad/gl/ext.d new file mode 100644 index 0000000..ad03be6 --- /dev/null +++ b/libs/glad/glad/gl/ext.d @@ -0,0 +1,10 @@ +module glad.gl.ext; + + +private import glad.gl.types; +private import glad.gl.enums; +private import glad.gl.funcs; +nothrow @nogc extern(System) { +} +__gshared { +} diff --git a/libs/glad/glad/gl/funcs.d b/libs/glad/glad/gl/funcs.d new file mode 100644 index 0000000..b8b8c40 --- /dev/null +++ b/libs/glad/glad/gl/funcs.d @@ -0,0 +1,1425 @@ +module glad.gl.funcs; + + +private import glad.gl.types; +bool GL_VERSION_1_0; +bool GL_VERSION_1_1; +bool GL_VERSION_1_2; +bool GL_VERSION_1_3; +bool GL_VERSION_1_4; +bool GL_VERSION_1_5; +bool GL_VERSION_2_0; +bool GL_VERSION_2_1; +bool GL_VERSION_3_0; +bool GL_VERSION_3_1; +bool GL_VERSION_3_2; +bool GL_VERSION_3_3; +bool GL_VERSION_4_0; +bool GL_VERSION_4_1; +bool GL_VERSION_4_2; +bool GL_VERSION_4_3; +bool GL_VERSION_4_4; +bool GL_VERSION_4_5; +bool GL_VERSION_4_6; +nothrow @nogc extern(System) { +alias fp_glCullFace = void function(GLenum); +alias fp_glFrontFace = void function(GLenum); +alias fp_glHint = void function(GLenum, GLenum); +alias fp_glLineWidth = void function(GLfloat); +alias fp_glPointSize = void function(GLfloat); +alias fp_glPolygonMode = void function(GLenum, GLenum); +alias fp_glScissor = void function(GLint, GLint, GLsizei, GLsizei); +alias fp_glTexParameterf = void function(GLenum, GLenum, GLfloat); +alias fp_glTexParameterfv = void function(GLenum, GLenum, const(GLfloat)*); +alias fp_glTexParameteri = void function(GLenum, GLenum, GLint); +alias fp_glTexParameteriv = void function(GLenum, GLenum, const(GLint)*); +alias fp_glTexImage1D = void function(GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const(void)*); +alias fp_glTexImage2D = void function(GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const(void)*); +alias fp_glDrawBuffer = void function(GLenum); +alias fp_glClear = void function(GLbitfield); +alias fp_glClearColor = void function(GLfloat, GLfloat, GLfloat, GLfloat); +alias fp_glClearStencil = void function(GLint); +alias fp_glClearDepth = void function(GLdouble); +alias fp_glStencilMask = void function(GLuint); +alias fp_glColorMask = void function(GLboolean, GLboolean, GLboolean, GLboolean); +alias fp_glDepthMask = void function(GLboolean); +alias fp_glDisable = void function(GLenum); +alias fp_glEnable = void function(GLenum); +alias fp_glFinish = void function(); +alias fp_glFlush = void function(); +alias fp_glBlendFunc = void function(GLenum, GLenum); +alias fp_glLogicOp = void function(GLenum); +alias fp_glStencilFunc = void function(GLenum, GLint, GLuint); +alias fp_glStencilOp = void function(GLenum, GLenum, GLenum); +alias fp_glDepthFunc = void function(GLenum); +alias fp_glPixelStoref = void function(GLenum, GLfloat); +alias fp_glPixelStorei = void function(GLenum, GLint); +alias fp_glReadBuffer = void function(GLenum); +alias fp_glReadPixels = void function(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, void*); +alias fp_glGetBooleanv = void function(GLenum, GLboolean*); +alias fp_glGetDoublev = void function(GLenum, GLdouble*); +alias fp_glGetError = GLenum function(); +alias fp_glGetFloatv = void function(GLenum, GLfloat*); +alias fp_glGetIntegerv = void function(GLenum, GLint*); +alias fp_glGetString = const(GLubyte)* function(GLenum); +alias fp_glGetTexImage = void function(GLenum, GLint, GLenum, GLenum, void*); +alias fp_glGetTexParameterfv = void function(GLenum, GLenum, GLfloat*); +alias fp_glGetTexParameteriv = void function(GLenum, GLenum, GLint*); +alias fp_glGetTexLevelParameterfv = void function(GLenum, GLint, GLenum, GLfloat*); +alias fp_glGetTexLevelParameteriv = void function(GLenum, GLint, GLenum, GLint*); +alias fp_glIsEnabled = GLboolean function(GLenum); +alias fp_glDepthRange = void function(GLdouble, GLdouble); +alias fp_glViewport = void function(GLint, GLint, GLsizei, GLsizei); +alias fp_glDrawArrays = void function(GLenum, GLint, GLsizei); +alias fp_glDrawElements = void function(GLenum, GLsizei, GLenum, const(void)*); +alias fp_glPolygonOffset = void function(GLfloat, GLfloat); +alias fp_glCopyTexImage1D = void function(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint); +alias fp_glCopyTexImage2D = void function(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint); +alias fp_glCopyTexSubImage1D = void function(GLenum, GLint, GLint, GLint, GLint, GLsizei); +alias fp_glCopyTexSubImage2D = void function(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); +alias fp_glTexSubImage1D = void function(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const(void)*); +alias fp_glTexSubImage2D = void function(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const(void)*); +alias fp_glBindTexture = void function(GLenum, GLuint); +alias fp_glDeleteTextures = void function(GLsizei, const(GLuint)*); +alias fp_glGenTextures = void function(GLsizei, GLuint*); +alias fp_glIsTexture = GLboolean function(GLuint); +alias fp_glDrawRangeElements = void function(GLenum, GLuint, GLuint, GLsizei, GLenum, const(void)*); +alias fp_glTexImage3D = void function(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const(void)*); +alias fp_glTexSubImage3D = void function(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const(void)*); +alias fp_glCopyTexSubImage3D = void function(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); +alias fp_glActiveTexture = void function(GLenum); +alias fp_glSampleCoverage = void function(GLfloat, GLboolean); +alias fp_glCompressedTexImage3D = void function(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const(void)*); +alias fp_glCompressedTexImage2D = void function(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const(void)*); +alias fp_glCompressedTexImage1D = void function(GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const(void)*); +alias fp_glCompressedTexSubImage3D = void function(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const(void)*); +alias fp_glCompressedTexSubImage2D = void function(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const(void)*); +alias fp_glCompressedTexSubImage1D = void function(GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const(void)*); +alias fp_glGetCompressedTexImage = void function(GLenum, GLint, void*); +alias fp_glBlendFuncSeparate = void function(GLenum, GLenum, GLenum, GLenum); +alias fp_glMultiDrawArrays = void function(GLenum, const(GLint)*, const(GLsizei)*, GLsizei); +alias fp_glMultiDrawElements = void function(GLenum, const(GLsizei)*, GLenum, const(void*)*, GLsizei); +alias fp_glPointParameterf = void function(GLenum, GLfloat); +alias fp_glPointParameterfv = void function(GLenum, const(GLfloat)*); +alias fp_glPointParameteri = void function(GLenum, GLint); +alias fp_glPointParameteriv = void function(GLenum, const(GLint)*); +alias fp_glBlendColor = void function(GLfloat, GLfloat, GLfloat, GLfloat); +alias fp_glBlendEquation = void function(GLenum); +alias fp_glGenQueries = void function(GLsizei, GLuint*); +alias fp_glDeleteQueries = void function(GLsizei, const(GLuint)*); +alias fp_glIsQuery = GLboolean function(GLuint); +alias fp_glBeginQuery = void function(GLenum, GLuint); +alias fp_glEndQuery = void function(GLenum); +alias fp_glGetQueryiv = void function(GLenum, GLenum, GLint*); +alias fp_glGetQueryObjectiv = void function(GLuint, GLenum, GLint*); +alias fp_glGetQueryObjectuiv = void function(GLuint, GLenum, GLuint*); +alias fp_glBindBuffer = void function(GLenum, GLuint); +alias fp_glDeleteBuffers = void function(GLsizei, const(GLuint)*); +alias fp_glGenBuffers = void function(GLsizei, GLuint*); +alias fp_glIsBuffer = GLboolean function(GLuint); +alias fp_glBufferData = void function(GLenum, GLsizeiptr, const(void)*, GLenum); +alias fp_glBufferSubData = void function(GLenum, GLintptr, GLsizeiptr, const(void)*); +alias fp_glGetBufferSubData = void function(GLenum, GLintptr, GLsizeiptr, void*); +alias fp_glMapBuffer = void* function(GLenum, GLenum); +alias fp_glUnmapBuffer = GLboolean function(GLenum); +alias fp_glGetBufferParameteriv = void function(GLenum, GLenum, GLint*); +alias fp_glGetBufferPointerv = void function(GLenum, GLenum, void**); +alias fp_glBlendEquationSeparate = void function(GLenum, GLenum); +alias fp_glDrawBuffers = void function(GLsizei, const(GLenum)*); +alias fp_glStencilOpSeparate = void function(GLenum, GLenum, GLenum, GLenum); +alias fp_glStencilFuncSeparate = void function(GLenum, GLenum, GLint, GLuint); +alias fp_glStencilMaskSeparate = void function(GLenum, GLuint); +alias fp_glAttachShader = void function(GLuint, GLuint); +alias fp_glBindAttribLocation = void function(GLuint, GLuint, const(GLchar)*); +alias fp_glCompileShader = void function(GLuint); +alias fp_glCreateProgram = GLuint function(); +alias fp_glCreateShader = GLuint function(GLenum); +alias fp_glDeleteProgram = void function(GLuint); +alias fp_glDeleteShader = void function(GLuint); +alias fp_glDetachShader = void function(GLuint, GLuint); +alias fp_glDisableVertexAttribArray = void function(GLuint); +alias fp_glEnableVertexAttribArray = void function(GLuint); +alias fp_glGetActiveAttrib = void function(GLuint, GLuint, GLsizei, GLsizei*, GLint*, GLenum*, GLchar*); +alias fp_glGetActiveUniform = void function(GLuint, GLuint, GLsizei, GLsizei*, GLint*, GLenum*, GLchar*); +alias fp_glGetAttachedShaders = void function(GLuint, GLsizei, GLsizei*, GLuint*); +alias fp_glGetAttribLocation = GLint function(GLuint, const(GLchar)*); +alias fp_glGetProgramiv = void function(GLuint, GLenum, GLint*); +alias fp_glGetProgramInfoLog = void function(GLuint, GLsizei, GLsizei*, GLchar*); +alias fp_glGetShaderiv = void function(GLuint, GLenum, GLint*); +alias fp_glGetShaderInfoLog = void function(GLuint, GLsizei, GLsizei*, GLchar*); +alias fp_glGetShaderSource = void function(GLuint, GLsizei, GLsizei*, GLchar*); +alias fp_glGetUniformLocation = GLint function(GLuint, const(GLchar)*); +alias fp_glGetUniformfv = void function(GLuint, GLint, GLfloat*); +alias fp_glGetUniformiv = void function(GLuint, GLint, GLint*); +alias fp_glGetVertexAttribdv = void function(GLuint, GLenum, GLdouble*); +alias fp_glGetVertexAttribfv = void function(GLuint, GLenum, GLfloat*); +alias fp_glGetVertexAttribiv = void function(GLuint, GLenum, GLint*); +alias fp_glGetVertexAttribPointerv = void function(GLuint, GLenum, void**); +alias fp_glIsProgram = GLboolean function(GLuint); +alias fp_glIsShader = GLboolean function(GLuint); +alias fp_glLinkProgram = void function(GLuint); +alias fp_glShaderSource = void function(GLuint, GLsizei, const(GLchar*)*, const(GLint)*); +alias fp_glUseProgram = void function(GLuint); +alias fp_glUniform1f = void function(GLint, GLfloat); +alias fp_glUniform2f = void function(GLint, GLfloat, GLfloat); +alias fp_glUniform3f = void function(GLint, GLfloat, GLfloat, GLfloat); +alias fp_glUniform4f = void function(GLint, GLfloat, GLfloat, GLfloat, GLfloat); +alias fp_glUniform1i = void function(GLint, GLint); +alias fp_glUniform2i = void function(GLint, GLint, GLint); +alias fp_glUniform3i = void function(GLint, GLint, GLint, GLint); +alias fp_glUniform4i = void function(GLint, GLint, GLint, GLint, GLint); +alias fp_glUniform1fv = void function(GLint, GLsizei, const(GLfloat)*); +alias fp_glUniform2fv = void function(GLint, GLsizei, const(GLfloat)*); +alias fp_glUniform3fv = void function(GLint, GLsizei, const(GLfloat)*); +alias fp_glUniform4fv = void function(GLint, GLsizei, const(GLfloat)*); +alias fp_glUniform1iv = void function(GLint, GLsizei, const(GLint)*); +alias fp_glUniform2iv = void function(GLint, GLsizei, const(GLint)*); +alias fp_glUniform3iv = void function(GLint, GLsizei, const(GLint)*); +alias fp_glUniform4iv = void function(GLint, GLsizei, const(GLint)*); +alias fp_glUniformMatrix2fv = void function(GLint, GLsizei, GLboolean, const(GLfloat)*); +alias fp_glUniformMatrix3fv = void function(GLint, GLsizei, GLboolean, const(GLfloat)*); +alias fp_glUniformMatrix4fv = void function(GLint, GLsizei, GLboolean, const(GLfloat)*); +alias fp_glValidateProgram = void function(GLuint); +alias fp_glVertexAttrib1d = void function(GLuint, GLdouble); +alias fp_glVertexAttrib1dv = void function(GLuint, const(GLdouble)*); +alias fp_glVertexAttrib1f = void function(GLuint, GLfloat); +alias fp_glVertexAttrib1fv = void function(GLuint, const(GLfloat)*); +alias fp_glVertexAttrib1s = void function(GLuint, GLshort); +alias fp_glVertexAttrib1sv = void function(GLuint, const(GLshort)*); +alias fp_glVertexAttrib2d = void function(GLuint, GLdouble, GLdouble); +alias fp_glVertexAttrib2dv = void function(GLuint, const(GLdouble)*); +alias fp_glVertexAttrib2f = void function(GLuint, GLfloat, GLfloat); +alias fp_glVertexAttrib2fv = void function(GLuint, const(GLfloat)*); +alias fp_glVertexAttrib2s = void function(GLuint, GLshort, GLshort); +alias fp_glVertexAttrib2sv = void function(GLuint, const(GLshort)*); +alias fp_glVertexAttrib3d = void function(GLuint, GLdouble, GLdouble, GLdouble); +alias fp_glVertexAttrib3dv = void function(GLuint, const(GLdouble)*); +alias fp_glVertexAttrib3f = void function(GLuint, GLfloat, GLfloat, GLfloat); +alias fp_glVertexAttrib3fv = void function(GLuint, const(GLfloat)*); +alias fp_glVertexAttrib3s = void function(GLuint, GLshort, GLshort, GLshort); +alias fp_glVertexAttrib3sv = void function(GLuint, const(GLshort)*); +alias fp_glVertexAttrib4Nbv = void function(GLuint, const(GLbyte)*); +alias fp_glVertexAttrib4Niv = void function(GLuint, const(GLint)*); +alias fp_glVertexAttrib4Nsv = void function(GLuint, const(GLshort)*); +alias fp_glVertexAttrib4Nub = void function(GLuint, GLubyte, GLubyte, GLubyte, GLubyte); +alias fp_glVertexAttrib4Nubv = void function(GLuint, const(GLubyte)*); +alias fp_glVertexAttrib4Nuiv = void function(GLuint, const(GLuint)*); +alias fp_glVertexAttrib4Nusv = void function(GLuint, const(GLushort)*); +alias fp_glVertexAttrib4bv = void function(GLuint, const(GLbyte)*); +alias fp_glVertexAttrib4d = void function(GLuint, GLdouble, GLdouble, GLdouble, GLdouble); +alias fp_glVertexAttrib4dv = void function(GLuint, const(GLdouble)*); +alias fp_glVertexAttrib4f = void function(GLuint, GLfloat, GLfloat, GLfloat, GLfloat); +alias fp_glVertexAttrib4fv = void function(GLuint, const(GLfloat)*); +alias fp_glVertexAttrib4iv = void function(GLuint, const(GLint)*); +alias fp_glVertexAttrib4s = void function(GLuint, GLshort, GLshort, GLshort, GLshort); +alias fp_glVertexAttrib4sv = void function(GLuint, const(GLshort)*); +alias fp_glVertexAttrib4ubv = void function(GLuint, const(GLubyte)*); +alias fp_glVertexAttrib4uiv = void function(GLuint, const(GLuint)*); +alias fp_glVertexAttrib4usv = void function(GLuint, const(GLushort)*); +alias fp_glVertexAttribPointer = void function(GLuint, GLint, GLenum, GLboolean, GLsizei, const(void)*); +alias fp_glUniformMatrix2x3fv = void function(GLint, GLsizei, GLboolean, const(GLfloat)*); +alias fp_glUniformMatrix3x2fv = void function(GLint, GLsizei, GLboolean, const(GLfloat)*); +alias fp_glUniformMatrix2x4fv = void function(GLint, GLsizei, GLboolean, const(GLfloat)*); +alias fp_glUniformMatrix4x2fv = void function(GLint, GLsizei, GLboolean, const(GLfloat)*); +alias fp_glUniformMatrix3x4fv = void function(GLint, GLsizei, GLboolean, const(GLfloat)*); +alias fp_glUniformMatrix4x3fv = void function(GLint, GLsizei, GLboolean, const(GLfloat)*); +alias fp_glColorMaski = void function(GLuint, GLboolean, GLboolean, GLboolean, GLboolean); +alias fp_glGetBooleani_v = void function(GLenum, GLuint, GLboolean*); +alias fp_glGetIntegeri_v = void function(GLenum, GLuint, GLint*); +alias fp_glEnablei = void function(GLenum, GLuint); +alias fp_glDisablei = void function(GLenum, GLuint); +alias fp_glIsEnabledi = GLboolean function(GLenum, GLuint); +alias fp_glBeginTransformFeedback = void function(GLenum); +alias fp_glEndTransformFeedback = void function(); +alias fp_glBindBufferRange = void function(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr); +alias fp_glBindBufferBase = void function(GLenum, GLuint, GLuint); +alias fp_glTransformFeedbackVaryings = void function(GLuint, GLsizei, const(GLchar*)*, GLenum); +alias fp_glGetTransformFeedbackVarying = void function(GLuint, GLuint, GLsizei, GLsizei*, GLsizei*, GLenum*, GLchar*); +alias fp_glClampColor = void function(GLenum, GLenum); +alias fp_glBeginConditionalRender = void function(GLuint, GLenum); +alias fp_glEndConditionalRender = void function(); +alias fp_glVertexAttribIPointer = void function(GLuint, GLint, GLenum, GLsizei, const(void)*); +alias fp_glGetVertexAttribIiv = void function(GLuint, GLenum, GLint*); +alias fp_glGetVertexAttribIuiv = void function(GLuint, GLenum, GLuint*); +alias fp_glVertexAttribI1i = void function(GLuint, GLint); +alias fp_glVertexAttribI2i = void function(GLuint, GLint, GLint); +alias fp_glVertexAttribI3i = void function(GLuint, GLint, GLint, GLint); +alias fp_glVertexAttribI4i = void function(GLuint, GLint, GLint, GLint, GLint); +alias fp_glVertexAttribI1ui = void function(GLuint, GLuint); +alias fp_glVertexAttribI2ui = void function(GLuint, GLuint, GLuint); +alias fp_glVertexAttribI3ui = void function(GLuint, GLuint, GLuint, GLuint); +alias fp_glVertexAttribI4ui = void function(GLuint, GLuint, GLuint, GLuint, GLuint); +alias fp_glVertexAttribI1iv = void function(GLuint, const(GLint)*); +alias fp_glVertexAttribI2iv = void function(GLuint, const(GLint)*); +alias fp_glVertexAttribI3iv = void function(GLuint, const(GLint)*); +alias fp_glVertexAttribI4iv = void function(GLuint, const(GLint)*); +alias fp_glVertexAttribI1uiv = void function(GLuint, const(GLuint)*); +alias fp_glVertexAttribI2uiv = void function(GLuint, const(GLuint)*); +alias fp_glVertexAttribI3uiv = void function(GLuint, const(GLuint)*); +alias fp_glVertexAttribI4uiv = void function(GLuint, const(GLuint)*); +alias fp_glVertexAttribI4bv = void function(GLuint, const(GLbyte)*); +alias fp_glVertexAttribI4sv = void function(GLuint, const(GLshort)*); +alias fp_glVertexAttribI4ubv = void function(GLuint, const(GLubyte)*); +alias fp_glVertexAttribI4usv = void function(GLuint, const(GLushort)*); +alias fp_glGetUniformuiv = void function(GLuint, GLint, GLuint*); +alias fp_glBindFragDataLocation = void function(GLuint, GLuint, const(GLchar)*); +alias fp_glGetFragDataLocation = GLint function(GLuint, const(GLchar)*); +alias fp_glUniform1ui = void function(GLint, GLuint); +alias fp_glUniform2ui = void function(GLint, GLuint, GLuint); +alias fp_glUniform3ui = void function(GLint, GLuint, GLuint, GLuint); +alias fp_glUniform4ui = void function(GLint, GLuint, GLuint, GLuint, GLuint); +alias fp_glUniform1uiv = void function(GLint, GLsizei, const(GLuint)*); +alias fp_glUniform2uiv = void function(GLint, GLsizei, const(GLuint)*); +alias fp_glUniform3uiv = void function(GLint, GLsizei, const(GLuint)*); +alias fp_glUniform4uiv = void function(GLint, GLsizei, const(GLuint)*); +alias fp_glTexParameterIiv = void function(GLenum, GLenum, const(GLint)*); +alias fp_glTexParameterIuiv = void function(GLenum, GLenum, const(GLuint)*); +alias fp_glGetTexParameterIiv = void function(GLenum, GLenum, GLint*); +alias fp_glGetTexParameterIuiv = void function(GLenum, GLenum, GLuint*); +alias fp_glClearBufferiv = void function(GLenum, GLint, const(GLint)*); +alias fp_glClearBufferuiv = void function(GLenum, GLint, const(GLuint)*); +alias fp_glClearBufferfv = void function(GLenum, GLint, const(GLfloat)*); +alias fp_glClearBufferfi = void function(GLenum, GLint, GLfloat, GLint); +alias fp_glGetStringi = const(GLubyte)* function(GLenum, GLuint); +alias fp_glIsRenderbuffer = GLboolean function(GLuint); +alias fp_glBindRenderbuffer = void function(GLenum, GLuint); +alias fp_glDeleteRenderbuffers = void function(GLsizei, const(GLuint)*); +alias fp_glGenRenderbuffers = void function(GLsizei, GLuint*); +alias fp_glRenderbufferStorage = void function(GLenum, GLenum, GLsizei, GLsizei); +alias fp_glGetRenderbufferParameteriv = void function(GLenum, GLenum, GLint*); +alias fp_glIsFramebuffer = GLboolean function(GLuint); +alias fp_glBindFramebuffer = void function(GLenum, GLuint); +alias fp_glDeleteFramebuffers = void function(GLsizei, const(GLuint)*); +alias fp_glGenFramebuffers = void function(GLsizei, GLuint*); +alias fp_glCheckFramebufferStatus = GLenum function(GLenum); +alias fp_glFramebufferTexture1D = void function(GLenum, GLenum, GLenum, GLuint, GLint); +alias fp_glFramebufferTexture2D = void function(GLenum, GLenum, GLenum, GLuint, GLint); +alias fp_glFramebufferTexture3D = void function(GLenum, GLenum, GLenum, GLuint, GLint, GLint); +alias fp_glFramebufferRenderbuffer = void function(GLenum, GLenum, GLenum, GLuint); +alias fp_glGetFramebufferAttachmentParameteriv = void function(GLenum, GLenum, GLenum, GLint*); +alias fp_glGenerateMipmap = void function(GLenum); +alias fp_glBlitFramebuffer = void function(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum); +alias fp_glRenderbufferStorageMultisample = void function(GLenum, GLsizei, GLenum, GLsizei, GLsizei); +alias fp_glFramebufferTextureLayer = void function(GLenum, GLenum, GLuint, GLint, GLint); +alias fp_glMapBufferRange = void* function(GLenum, GLintptr, GLsizeiptr, GLbitfield); +alias fp_glFlushMappedBufferRange = void function(GLenum, GLintptr, GLsizeiptr); +alias fp_glBindVertexArray = void function(GLuint); +alias fp_glDeleteVertexArrays = void function(GLsizei, const(GLuint)*); +alias fp_glGenVertexArrays = void function(GLsizei, GLuint*); +alias fp_glIsVertexArray = GLboolean function(GLuint); +alias fp_glDrawArraysInstanced = void function(GLenum, GLint, GLsizei, GLsizei); +alias fp_glDrawElementsInstanced = void function(GLenum, GLsizei, GLenum, const(void)*, GLsizei); +alias fp_glTexBuffer = void function(GLenum, GLenum, GLuint); +alias fp_glPrimitiveRestartIndex = void function(GLuint); +alias fp_glCopyBufferSubData = void function(GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr); +alias fp_glGetUniformIndices = void function(GLuint, GLsizei, const(GLchar*)*, GLuint*); +alias fp_glGetActiveUniformsiv = void function(GLuint, GLsizei, const(GLuint)*, GLenum, GLint*); +alias fp_glGetActiveUniformName = void function(GLuint, GLuint, GLsizei, GLsizei*, GLchar*); +alias fp_glGetUniformBlockIndex = GLuint function(GLuint, const(GLchar)*); +alias fp_glGetActiveUniformBlockiv = void function(GLuint, GLuint, GLenum, GLint*); +alias fp_glGetActiveUniformBlockName = void function(GLuint, GLuint, GLsizei, GLsizei*, GLchar*); +alias fp_glUniformBlockBinding = void function(GLuint, GLuint, GLuint); +alias fp_glDrawElementsBaseVertex = void function(GLenum, GLsizei, GLenum, const(void)*, GLint); +alias fp_glDrawRangeElementsBaseVertex = void function(GLenum, GLuint, GLuint, GLsizei, GLenum, const(void)*, GLint); +alias fp_glDrawElementsInstancedBaseVertex = void function(GLenum, GLsizei, GLenum, const(void)*, GLsizei, GLint); +alias fp_glMultiDrawElementsBaseVertex = void function(GLenum, const(GLsizei)*, GLenum, const(void*)*, GLsizei, const(GLint)*); +alias fp_glProvokingVertex = void function(GLenum); +alias fp_glFenceSync = GLsync function(GLenum, GLbitfield); +alias fp_glIsSync = GLboolean function(GLsync); +alias fp_glDeleteSync = void function(GLsync); +alias fp_glClientWaitSync = GLenum function(GLsync, GLbitfield, GLuint64); +alias fp_glWaitSync = void function(GLsync, GLbitfield, GLuint64); +alias fp_glGetInteger64v = void function(GLenum, GLint64*); +alias fp_glGetSynciv = void function(GLsync, GLenum, GLsizei, GLsizei*, GLint*); +alias fp_glGetInteger64i_v = void function(GLenum, GLuint, GLint64*); +alias fp_glGetBufferParameteri64v = void function(GLenum, GLenum, GLint64*); +alias fp_glFramebufferTexture = void function(GLenum, GLenum, GLuint, GLint); +alias fp_glTexImage2DMultisample = void function(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean); +alias fp_glTexImage3DMultisample = void function(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean); +alias fp_glGetMultisamplefv = void function(GLenum, GLuint, GLfloat*); +alias fp_glSampleMaski = void function(GLuint, GLbitfield); +alias fp_glBindFragDataLocationIndexed = void function(GLuint, GLuint, GLuint, const(GLchar)*); +alias fp_glGetFragDataIndex = GLint function(GLuint, const(GLchar)*); +alias fp_glGenSamplers = void function(GLsizei, GLuint*); +alias fp_glDeleteSamplers = void function(GLsizei, const(GLuint)*); +alias fp_glIsSampler = GLboolean function(GLuint); +alias fp_glBindSampler = void function(GLuint, GLuint); +alias fp_glSamplerParameteri = void function(GLuint, GLenum, GLint); +alias fp_glSamplerParameteriv = void function(GLuint, GLenum, const(GLint)*); +alias fp_glSamplerParameterf = void function(GLuint, GLenum, GLfloat); +alias fp_glSamplerParameterfv = void function(GLuint, GLenum, const(GLfloat)*); +alias fp_glSamplerParameterIiv = void function(GLuint, GLenum, const(GLint)*); +alias fp_glSamplerParameterIuiv = void function(GLuint, GLenum, const(GLuint)*); +alias fp_glGetSamplerParameteriv = void function(GLuint, GLenum, GLint*); +alias fp_glGetSamplerParameterIiv = void function(GLuint, GLenum, GLint*); +alias fp_glGetSamplerParameterfv = void function(GLuint, GLenum, GLfloat*); +alias fp_glGetSamplerParameterIuiv = void function(GLuint, GLenum, GLuint*); +alias fp_glQueryCounter = void function(GLuint, GLenum); +alias fp_glGetQueryObjecti64v = void function(GLuint, GLenum, GLint64*); +alias fp_glGetQueryObjectui64v = void function(GLuint, GLenum, GLuint64*); +alias fp_glVertexAttribDivisor = void function(GLuint, GLuint); +alias fp_glVertexAttribP1ui = void function(GLuint, GLenum, GLboolean, GLuint); +alias fp_glVertexAttribP1uiv = void function(GLuint, GLenum, GLboolean, const(GLuint)*); +alias fp_glVertexAttribP2ui = void function(GLuint, GLenum, GLboolean, GLuint); +alias fp_glVertexAttribP2uiv = void function(GLuint, GLenum, GLboolean, const(GLuint)*); +alias fp_glVertexAttribP3ui = void function(GLuint, GLenum, GLboolean, GLuint); +alias fp_glVertexAttribP3uiv = void function(GLuint, GLenum, GLboolean, const(GLuint)*); +alias fp_glVertexAttribP4ui = void function(GLuint, GLenum, GLboolean, GLuint); +alias fp_glVertexAttribP4uiv = void function(GLuint, GLenum, GLboolean, const(GLuint)*); +alias fp_glVertexP2ui = void function(GLenum, GLuint); +alias fp_glVertexP2uiv = void function(GLenum, const(GLuint)*); +alias fp_glVertexP3ui = void function(GLenum, GLuint); +alias fp_glVertexP3uiv = void function(GLenum, const(GLuint)*); +alias fp_glVertexP4ui = void function(GLenum, GLuint); +alias fp_glVertexP4uiv = void function(GLenum, const(GLuint)*); +alias fp_glTexCoordP1ui = void function(GLenum, GLuint); +alias fp_glTexCoordP1uiv = void function(GLenum, const(GLuint)*); +alias fp_glTexCoordP2ui = void function(GLenum, GLuint); +alias fp_glTexCoordP2uiv = void function(GLenum, const(GLuint)*); +alias fp_glTexCoordP3ui = void function(GLenum, GLuint); +alias fp_glTexCoordP3uiv = void function(GLenum, const(GLuint)*); +alias fp_glTexCoordP4ui = void function(GLenum, GLuint); +alias fp_glTexCoordP4uiv = void function(GLenum, const(GLuint)*); +alias fp_glMultiTexCoordP1ui = void function(GLenum, GLenum, GLuint); +alias fp_glMultiTexCoordP1uiv = void function(GLenum, GLenum, const(GLuint)*); +alias fp_glMultiTexCoordP2ui = void function(GLenum, GLenum, GLuint); +alias fp_glMultiTexCoordP2uiv = void function(GLenum, GLenum, const(GLuint)*); +alias fp_glMultiTexCoordP3ui = void function(GLenum, GLenum, GLuint); +alias fp_glMultiTexCoordP3uiv = void function(GLenum, GLenum, const(GLuint)*); +alias fp_glMultiTexCoordP4ui = void function(GLenum, GLenum, GLuint); +alias fp_glMultiTexCoordP4uiv = void function(GLenum, GLenum, const(GLuint)*); +alias fp_glNormalP3ui = void function(GLenum, GLuint); +alias fp_glNormalP3uiv = void function(GLenum, const(GLuint)*); +alias fp_glColorP3ui = void function(GLenum, GLuint); +alias fp_glColorP3uiv = void function(GLenum, const(GLuint)*); +alias fp_glColorP4ui = void function(GLenum, GLuint); +alias fp_glColorP4uiv = void function(GLenum, const(GLuint)*); +alias fp_glSecondaryColorP3ui = void function(GLenum, GLuint); +alias fp_glSecondaryColorP3uiv = void function(GLenum, const(GLuint)*); +alias fp_glMinSampleShading = void function(GLfloat); +alias fp_glBlendEquationi = void function(GLuint, GLenum); +alias fp_glBlendEquationSeparatei = void function(GLuint, GLenum, GLenum); +alias fp_glBlendFunci = void function(GLuint, GLenum, GLenum); +alias fp_glBlendFuncSeparatei = void function(GLuint, GLenum, GLenum, GLenum, GLenum); +alias fp_glDrawArraysIndirect = void function(GLenum, const(void)*); +alias fp_glDrawElementsIndirect = void function(GLenum, GLenum, const(void)*); +alias fp_glUniform1d = void function(GLint, GLdouble); +alias fp_glUniform2d = void function(GLint, GLdouble, GLdouble); +alias fp_glUniform3d = void function(GLint, GLdouble, GLdouble, GLdouble); +alias fp_glUniform4d = void function(GLint, GLdouble, GLdouble, GLdouble, GLdouble); +alias fp_glUniform1dv = void function(GLint, GLsizei, const(GLdouble)*); +alias fp_glUniform2dv = void function(GLint, GLsizei, const(GLdouble)*); +alias fp_glUniform3dv = void function(GLint, GLsizei, const(GLdouble)*); +alias fp_glUniform4dv = void function(GLint, GLsizei, const(GLdouble)*); +alias fp_glUniformMatrix2dv = void function(GLint, GLsizei, GLboolean, const(GLdouble)*); +alias fp_glUniformMatrix3dv = void function(GLint, GLsizei, GLboolean, const(GLdouble)*); +alias fp_glUniformMatrix4dv = void function(GLint, GLsizei, GLboolean, const(GLdouble)*); +alias fp_glUniformMatrix2x3dv = void function(GLint, GLsizei, GLboolean, const(GLdouble)*); +alias fp_glUniformMatrix2x4dv = void function(GLint, GLsizei, GLboolean, const(GLdouble)*); +alias fp_glUniformMatrix3x2dv = void function(GLint, GLsizei, GLboolean, const(GLdouble)*); +alias fp_glUniformMatrix3x4dv = void function(GLint, GLsizei, GLboolean, const(GLdouble)*); +alias fp_glUniformMatrix4x2dv = void function(GLint, GLsizei, GLboolean, const(GLdouble)*); +alias fp_glUniformMatrix4x3dv = void function(GLint, GLsizei, GLboolean, const(GLdouble)*); +alias fp_glGetUniformdv = void function(GLuint, GLint, GLdouble*); +alias fp_glGetSubroutineUniformLocation = GLint function(GLuint, GLenum, const(GLchar)*); +alias fp_glGetSubroutineIndex = GLuint function(GLuint, GLenum, const(GLchar)*); +alias fp_glGetActiveSubroutineUniformiv = void function(GLuint, GLenum, GLuint, GLenum, GLint*); +alias fp_glGetActiveSubroutineUniformName = void function(GLuint, GLenum, GLuint, GLsizei, GLsizei*, GLchar*); +alias fp_glGetActiveSubroutineName = void function(GLuint, GLenum, GLuint, GLsizei, GLsizei*, GLchar*); +alias fp_glUniformSubroutinesuiv = void function(GLenum, GLsizei, const(GLuint)*); +alias fp_glGetUniformSubroutineuiv = void function(GLenum, GLint, GLuint*); +alias fp_glGetProgramStageiv = void function(GLuint, GLenum, GLenum, GLint*); +alias fp_glPatchParameteri = void function(GLenum, GLint); +alias fp_glPatchParameterfv = void function(GLenum, const(GLfloat)*); +alias fp_glBindTransformFeedback = void function(GLenum, GLuint); +alias fp_glDeleteTransformFeedbacks = void function(GLsizei, const(GLuint)*); +alias fp_glGenTransformFeedbacks = void function(GLsizei, GLuint*); +alias fp_glIsTransformFeedback = GLboolean function(GLuint); +alias fp_glPauseTransformFeedback = void function(); +alias fp_glResumeTransformFeedback = void function(); +alias fp_glDrawTransformFeedback = void function(GLenum, GLuint); +alias fp_glDrawTransformFeedbackStream = void function(GLenum, GLuint, GLuint); +alias fp_glBeginQueryIndexed = void function(GLenum, GLuint, GLuint); +alias fp_glEndQueryIndexed = void function(GLenum, GLuint); +alias fp_glGetQueryIndexediv = void function(GLenum, GLuint, GLenum, GLint*); +alias fp_glReleaseShaderCompiler = void function(); +alias fp_glShaderBinary = void function(GLsizei, const(GLuint)*, GLenum, const(void)*, GLsizei); +alias fp_glGetShaderPrecisionFormat = void function(GLenum, GLenum, GLint*, GLint*); +alias fp_glDepthRangef = void function(GLfloat, GLfloat); +alias fp_glClearDepthf = void function(GLfloat); +alias fp_glGetProgramBinary = void function(GLuint, GLsizei, GLsizei*, GLenum*, void*); +alias fp_glProgramBinary = void function(GLuint, GLenum, const(void)*, GLsizei); +alias fp_glProgramParameteri = void function(GLuint, GLenum, GLint); +alias fp_glUseProgramStages = void function(GLuint, GLbitfield, GLuint); +alias fp_glActiveShaderProgram = void function(GLuint, GLuint); +alias fp_glCreateShaderProgramv = GLuint function(GLenum, GLsizei, const(GLchar*)*); +alias fp_glBindProgramPipeline = void function(GLuint); +alias fp_glDeleteProgramPipelines = void function(GLsizei, const(GLuint)*); +alias fp_glGenProgramPipelines = void function(GLsizei, GLuint*); +alias fp_glIsProgramPipeline = GLboolean function(GLuint); +alias fp_glGetProgramPipelineiv = void function(GLuint, GLenum, GLint*); +alias fp_glProgramUniform1i = void function(GLuint, GLint, GLint); +alias fp_glProgramUniform1iv = void function(GLuint, GLint, GLsizei, const(GLint)*); +alias fp_glProgramUniform1f = void function(GLuint, GLint, GLfloat); +alias fp_glProgramUniform1fv = void function(GLuint, GLint, GLsizei, const(GLfloat)*); +alias fp_glProgramUniform1d = void function(GLuint, GLint, GLdouble); +alias fp_glProgramUniform1dv = void function(GLuint, GLint, GLsizei, const(GLdouble)*); +alias fp_glProgramUniform1ui = void function(GLuint, GLint, GLuint); +alias fp_glProgramUniform1uiv = void function(GLuint, GLint, GLsizei, const(GLuint)*); +alias fp_glProgramUniform2i = void function(GLuint, GLint, GLint, GLint); +alias fp_glProgramUniform2iv = void function(GLuint, GLint, GLsizei, const(GLint)*); +alias fp_glProgramUniform2f = void function(GLuint, GLint, GLfloat, GLfloat); +alias fp_glProgramUniform2fv = void function(GLuint, GLint, GLsizei, const(GLfloat)*); +alias fp_glProgramUniform2d = void function(GLuint, GLint, GLdouble, GLdouble); +alias fp_glProgramUniform2dv = void function(GLuint, GLint, GLsizei, const(GLdouble)*); +alias fp_glProgramUniform2ui = void function(GLuint, GLint, GLuint, GLuint); +alias fp_glProgramUniform2uiv = void function(GLuint, GLint, GLsizei, const(GLuint)*); +alias fp_glProgramUniform3i = void function(GLuint, GLint, GLint, GLint, GLint); +alias fp_glProgramUniform3iv = void function(GLuint, GLint, GLsizei, const(GLint)*); +alias fp_glProgramUniform3f = void function(GLuint, GLint, GLfloat, GLfloat, GLfloat); +alias fp_glProgramUniform3fv = void function(GLuint, GLint, GLsizei, const(GLfloat)*); +alias fp_glProgramUniform3d = void function(GLuint, GLint, GLdouble, GLdouble, GLdouble); +alias fp_glProgramUniform3dv = void function(GLuint, GLint, GLsizei, const(GLdouble)*); +alias fp_glProgramUniform3ui = void function(GLuint, GLint, GLuint, GLuint, GLuint); +alias fp_glProgramUniform3uiv = void function(GLuint, GLint, GLsizei, const(GLuint)*); +alias fp_glProgramUniform4i = void function(GLuint, GLint, GLint, GLint, GLint, GLint); +alias fp_glProgramUniform4iv = void function(GLuint, GLint, GLsizei, const(GLint)*); +alias fp_glProgramUniform4f = void function(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat); +alias fp_glProgramUniform4fv = void function(GLuint, GLint, GLsizei, const(GLfloat)*); +alias fp_glProgramUniform4d = void function(GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble); +alias fp_glProgramUniform4dv = void function(GLuint, GLint, GLsizei, const(GLdouble)*); +alias fp_glProgramUniform4ui = void function(GLuint, GLint, GLuint, GLuint, GLuint, GLuint); +alias fp_glProgramUniform4uiv = void function(GLuint, GLint, GLsizei, const(GLuint)*); +alias fp_glProgramUniformMatrix2fv = void function(GLuint, GLint, GLsizei, GLboolean, const(GLfloat)*); +alias fp_glProgramUniformMatrix3fv = void function(GLuint, GLint, GLsizei, GLboolean, const(GLfloat)*); +alias fp_glProgramUniformMatrix4fv = void function(GLuint, GLint, GLsizei, GLboolean, const(GLfloat)*); +alias fp_glProgramUniformMatrix2dv = void function(GLuint, GLint, GLsizei, GLboolean, const(GLdouble)*); +alias fp_glProgramUniformMatrix3dv = void function(GLuint, GLint, GLsizei, GLboolean, const(GLdouble)*); +alias fp_glProgramUniformMatrix4dv = void function(GLuint, GLint, GLsizei, GLboolean, const(GLdouble)*); +alias fp_glProgramUniformMatrix2x3fv = void function(GLuint, GLint, GLsizei, GLboolean, const(GLfloat)*); +alias fp_glProgramUniformMatrix3x2fv = void function(GLuint, GLint, GLsizei, GLboolean, const(GLfloat)*); +alias fp_glProgramUniformMatrix2x4fv = void function(GLuint, GLint, GLsizei, GLboolean, const(GLfloat)*); +alias fp_glProgramUniformMatrix4x2fv = void function(GLuint, GLint, GLsizei, GLboolean, const(GLfloat)*); +alias fp_glProgramUniformMatrix3x4fv = void function(GLuint, GLint, GLsizei, GLboolean, const(GLfloat)*); +alias fp_glProgramUniformMatrix4x3fv = void function(GLuint, GLint, GLsizei, GLboolean, const(GLfloat)*); +alias fp_glProgramUniformMatrix2x3dv = void function(GLuint, GLint, GLsizei, GLboolean, const(GLdouble)*); +alias fp_glProgramUniformMatrix3x2dv = void function(GLuint, GLint, GLsizei, GLboolean, const(GLdouble)*); +alias fp_glProgramUniformMatrix2x4dv = void function(GLuint, GLint, GLsizei, GLboolean, const(GLdouble)*); +alias fp_glProgramUniformMatrix4x2dv = void function(GLuint, GLint, GLsizei, GLboolean, const(GLdouble)*); +alias fp_glProgramUniformMatrix3x4dv = void function(GLuint, GLint, GLsizei, GLboolean, const(GLdouble)*); +alias fp_glProgramUniformMatrix4x3dv = void function(GLuint, GLint, GLsizei, GLboolean, const(GLdouble)*); +alias fp_glValidateProgramPipeline = void function(GLuint); +alias fp_glGetProgramPipelineInfoLog = void function(GLuint, GLsizei, GLsizei*, GLchar*); +alias fp_glVertexAttribL1d = void function(GLuint, GLdouble); +alias fp_glVertexAttribL2d = void function(GLuint, GLdouble, GLdouble); +alias fp_glVertexAttribL3d = void function(GLuint, GLdouble, GLdouble, GLdouble); +alias fp_glVertexAttribL4d = void function(GLuint, GLdouble, GLdouble, GLdouble, GLdouble); +alias fp_glVertexAttribL1dv = void function(GLuint, const(GLdouble)*); +alias fp_glVertexAttribL2dv = void function(GLuint, const(GLdouble)*); +alias fp_glVertexAttribL3dv = void function(GLuint, const(GLdouble)*); +alias fp_glVertexAttribL4dv = void function(GLuint, const(GLdouble)*); +alias fp_glVertexAttribLPointer = void function(GLuint, GLint, GLenum, GLsizei, const(void)*); +alias fp_glGetVertexAttribLdv = void function(GLuint, GLenum, GLdouble*); +alias fp_glViewportArrayv = void function(GLuint, GLsizei, const(GLfloat)*); +alias fp_glViewportIndexedf = void function(GLuint, GLfloat, GLfloat, GLfloat, GLfloat); +alias fp_glViewportIndexedfv = void function(GLuint, const(GLfloat)*); +alias fp_glScissorArrayv = void function(GLuint, GLsizei, const(GLint)*); +alias fp_glScissorIndexed = void function(GLuint, GLint, GLint, GLsizei, GLsizei); +alias fp_glScissorIndexedv = void function(GLuint, const(GLint)*); +alias fp_glDepthRangeArrayv = void function(GLuint, GLsizei, const(GLdouble)*); +alias fp_glDepthRangeIndexed = void function(GLuint, GLdouble, GLdouble); +alias fp_glGetFloati_v = void function(GLenum, GLuint, GLfloat*); +alias fp_glGetDoublei_v = void function(GLenum, GLuint, GLdouble*); +alias fp_glDrawArraysInstancedBaseInstance = void function(GLenum, GLint, GLsizei, GLsizei, GLuint); +alias fp_glDrawElementsInstancedBaseInstance = void function(GLenum, GLsizei, GLenum, const(void)*, GLsizei, GLuint); +alias fp_glDrawElementsInstancedBaseVertexBaseInstance = void function(GLenum, GLsizei, GLenum, const(void)*, GLsizei, GLint, GLuint); +alias fp_glGetInternalformativ = void function(GLenum, GLenum, GLenum, GLsizei, GLint*); +alias fp_glGetActiveAtomicCounterBufferiv = void function(GLuint, GLuint, GLenum, GLint*); +alias fp_glBindImageTexture = void function(GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLenum); +alias fp_glMemoryBarrier = void function(GLbitfield); +alias fp_glTexStorage1D = void function(GLenum, GLsizei, GLenum, GLsizei); +alias fp_glTexStorage2D = void function(GLenum, GLsizei, GLenum, GLsizei, GLsizei); +alias fp_glTexStorage3D = void function(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei); +alias fp_glDrawTransformFeedbackInstanced = void function(GLenum, GLuint, GLsizei); +alias fp_glDrawTransformFeedbackStreamInstanced = void function(GLenum, GLuint, GLuint, GLsizei); +alias fp_glClearBufferData = void function(GLenum, GLenum, GLenum, GLenum, const(void)*); +alias fp_glClearBufferSubData = void function(GLenum, GLenum, GLintptr, GLsizeiptr, GLenum, GLenum, const(void)*); +alias fp_glDispatchCompute = void function(GLuint, GLuint, GLuint); +alias fp_glDispatchComputeIndirect = void function(GLintptr); +alias fp_glCopyImageSubData = void function(GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei); +alias fp_glFramebufferParameteri = void function(GLenum, GLenum, GLint); +alias fp_glGetFramebufferParameteriv = void function(GLenum, GLenum, GLint*); +alias fp_glGetInternalformati64v = void function(GLenum, GLenum, GLenum, GLsizei, GLint64*); +alias fp_glInvalidateTexSubImage = void function(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei); +alias fp_glInvalidateTexImage = void function(GLuint, GLint); +alias fp_glInvalidateBufferSubData = void function(GLuint, GLintptr, GLsizeiptr); +alias fp_glInvalidateBufferData = void function(GLuint); +alias fp_glInvalidateFramebuffer = void function(GLenum, GLsizei, const(GLenum)*); +alias fp_glInvalidateSubFramebuffer = void function(GLenum, GLsizei, const(GLenum)*, GLint, GLint, GLsizei, GLsizei); +alias fp_glMultiDrawArraysIndirect = void function(GLenum, const(void)*, GLsizei, GLsizei); +alias fp_glMultiDrawElementsIndirect = void function(GLenum, GLenum, const(void)*, GLsizei, GLsizei); +alias fp_glGetProgramInterfaceiv = void function(GLuint, GLenum, GLenum, GLint*); +alias fp_glGetProgramResourceIndex = GLuint function(GLuint, GLenum, const(GLchar)*); +alias fp_glGetProgramResourceName = void function(GLuint, GLenum, GLuint, GLsizei, GLsizei*, GLchar*); +alias fp_glGetProgramResourceiv = void function(GLuint, GLenum, GLuint, GLsizei, const(GLenum)*, GLsizei, GLsizei*, GLint*); +alias fp_glGetProgramResourceLocation = GLint function(GLuint, GLenum, const(GLchar)*); +alias fp_glGetProgramResourceLocationIndex = GLint function(GLuint, GLenum, const(GLchar)*); +alias fp_glShaderStorageBlockBinding = void function(GLuint, GLuint, GLuint); +alias fp_glTexBufferRange = void function(GLenum, GLenum, GLuint, GLintptr, GLsizeiptr); +alias fp_glTexStorage2DMultisample = void function(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean); +alias fp_glTexStorage3DMultisample = void function(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean); +alias fp_glTextureView = void function(GLuint, GLenum, GLuint, GLenum, GLuint, GLuint, GLuint, GLuint); +alias fp_glBindVertexBuffer = void function(GLuint, GLuint, GLintptr, GLsizei); +alias fp_glVertexAttribFormat = void function(GLuint, GLint, GLenum, GLboolean, GLuint); +alias fp_glVertexAttribIFormat = void function(GLuint, GLint, GLenum, GLuint); +alias fp_glVertexAttribLFormat = void function(GLuint, GLint, GLenum, GLuint); +alias fp_glVertexAttribBinding = void function(GLuint, GLuint); +alias fp_glVertexBindingDivisor = void function(GLuint, GLuint); +alias fp_glDebugMessageControl = void function(GLenum, GLenum, GLenum, GLsizei, const(GLuint)*, GLboolean); +alias fp_glDebugMessageInsert = void function(GLenum, GLenum, GLuint, GLenum, GLsizei, const(GLchar)*); +alias fp_glDebugMessageCallback = void function(GLDEBUGPROC, const(void)*); +alias fp_glGetDebugMessageLog = GLuint function(GLuint, GLsizei, GLenum*, GLenum*, GLuint*, GLenum*, GLsizei*, GLchar*); +alias fp_glPushDebugGroup = void function(GLenum, GLuint, GLsizei, const(GLchar)*); +alias fp_glPopDebugGroup = void function(); +alias fp_glObjectLabel = void function(GLenum, GLuint, GLsizei, const(GLchar)*); +alias fp_glGetObjectLabel = void function(GLenum, GLuint, GLsizei, GLsizei*, GLchar*); +alias fp_glObjectPtrLabel = void function(const(void)*, GLsizei, const(GLchar)*); +alias fp_glGetObjectPtrLabel = void function(const(void)*, GLsizei, GLsizei*, GLchar*); +alias fp_glGetPointerv = void function(GLenum, void**); +alias fp_glBufferStorage = void function(GLenum, GLsizeiptr, const(void)*, GLbitfield); +alias fp_glClearTexImage = void function(GLuint, GLint, GLenum, GLenum, const(void)*); +alias fp_glClearTexSubImage = void function(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const(void)*); +alias fp_glBindBuffersBase = void function(GLenum, GLuint, GLsizei, const(GLuint)*); +alias fp_glBindBuffersRange = void function(GLenum, GLuint, GLsizei, const(GLuint)*, const(GLintptr)*, const(GLsizeiptr)*); +alias fp_glBindTextures = void function(GLuint, GLsizei, const(GLuint)*); +alias fp_glBindSamplers = void function(GLuint, GLsizei, const(GLuint)*); +alias fp_glBindImageTextures = void function(GLuint, GLsizei, const(GLuint)*); +alias fp_glBindVertexBuffers = void function(GLuint, GLsizei, const(GLuint)*, const(GLintptr)*, const(GLsizei)*); +alias fp_glClipControl = void function(GLenum, GLenum); +alias fp_glCreateTransformFeedbacks = void function(GLsizei, GLuint*); +alias fp_glTransformFeedbackBufferBase = void function(GLuint, GLuint, GLuint); +alias fp_glTransformFeedbackBufferRange = void function(GLuint, GLuint, GLuint, GLintptr, GLsizeiptr); +alias fp_glGetTransformFeedbackiv = void function(GLuint, GLenum, GLint*); +alias fp_glGetTransformFeedbacki_v = void function(GLuint, GLenum, GLuint, GLint*); +alias fp_glGetTransformFeedbacki64_v = void function(GLuint, GLenum, GLuint, GLint64*); +alias fp_glCreateBuffers = void function(GLsizei, GLuint*); +alias fp_glNamedBufferStorage = void function(GLuint, GLsizeiptr, const(void)*, GLbitfield); +alias fp_glNamedBufferData = void function(GLuint, GLsizeiptr, const(void)*, GLenum); +alias fp_glNamedBufferSubData = void function(GLuint, GLintptr, GLsizeiptr, const(void)*); +alias fp_glCopyNamedBufferSubData = void function(GLuint, GLuint, GLintptr, GLintptr, GLsizeiptr); +alias fp_glClearNamedBufferData = void function(GLuint, GLenum, GLenum, GLenum, const(void)*); +alias fp_glClearNamedBufferSubData = void function(GLuint, GLenum, GLintptr, GLsizeiptr, GLenum, GLenum, const(void)*); +alias fp_glMapNamedBuffer = void* function(GLuint, GLenum); +alias fp_glMapNamedBufferRange = void* function(GLuint, GLintptr, GLsizeiptr, GLbitfield); +alias fp_glUnmapNamedBuffer = GLboolean function(GLuint); +alias fp_glFlushMappedNamedBufferRange = void function(GLuint, GLintptr, GLsizeiptr); +alias fp_glGetNamedBufferParameteriv = void function(GLuint, GLenum, GLint*); +alias fp_glGetNamedBufferParameteri64v = void function(GLuint, GLenum, GLint64*); +alias fp_glGetNamedBufferPointerv = void function(GLuint, GLenum, void**); +alias fp_glGetNamedBufferSubData = void function(GLuint, GLintptr, GLsizeiptr, void*); +alias fp_glCreateFramebuffers = void function(GLsizei, GLuint*); +alias fp_glNamedFramebufferRenderbuffer = void function(GLuint, GLenum, GLenum, GLuint); +alias fp_glNamedFramebufferParameteri = void function(GLuint, GLenum, GLint); +alias fp_glNamedFramebufferTexture = void function(GLuint, GLenum, GLuint, GLint); +alias fp_glNamedFramebufferTextureLayer = void function(GLuint, GLenum, GLuint, GLint, GLint); +alias fp_glNamedFramebufferDrawBuffer = void function(GLuint, GLenum); +alias fp_glNamedFramebufferDrawBuffers = void function(GLuint, GLsizei, const(GLenum)*); +alias fp_glNamedFramebufferReadBuffer = void function(GLuint, GLenum); +alias fp_glInvalidateNamedFramebufferData = void function(GLuint, GLsizei, const(GLenum)*); +alias fp_glInvalidateNamedFramebufferSubData = void function(GLuint, GLsizei, const(GLenum)*, GLint, GLint, GLsizei, GLsizei); +alias fp_glClearNamedFramebufferiv = void function(GLuint, GLenum, GLint, const(GLint)*); +alias fp_glClearNamedFramebufferuiv = void function(GLuint, GLenum, GLint, const(GLuint)*); +alias fp_glClearNamedFramebufferfv = void function(GLuint, GLenum, GLint, const(GLfloat)*); +alias fp_glClearNamedFramebufferfi = void function(GLuint, GLenum, GLint, GLfloat, GLint); +alias fp_glBlitNamedFramebuffer = void function(GLuint, GLuint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum); +alias fp_glCheckNamedFramebufferStatus = GLenum function(GLuint, GLenum); +alias fp_glGetNamedFramebufferParameteriv = void function(GLuint, GLenum, GLint*); +alias fp_glGetNamedFramebufferAttachmentParameteriv = void function(GLuint, GLenum, GLenum, GLint*); +alias fp_glCreateRenderbuffers = void function(GLsizei, GLuint*); +alias fp_glNamedRenderbufferStorage = void function(GLuint, GLenum, GLsizei, GLsizei); +alias fp_glNamedRenderbufferStorageMultisample = void function(GLuint, GLsizei, GLenum, GLsizei, GLsizei); +alias fp_glGetNamedRenderbufferParameteriv = void function(GLuint, GLenum, GLint*); +alias fp_glCreateTextures = void function(GLenum, GLsizei, GLuint*); +alias fp_glTextureBuffer = void function(GLuint, GLenum, GLuint); +alias fp_glTextureBufferRange = void function(GLuint, GLenum, GLuint, GLintptr, GLsizeiptr); +alias fp_glTextureStorage1D = void function(GLuint, GLsizei, GLenum, GLsizei); +alias fp_glTextureStorage2D = void function(GLuint, GLsizei, GLenum, GLsizei, GLsizei); +alias fp_glTextureStorage3D = void function(GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLsizei); +alias fp_glTextureStorage2DMultisample = void function(GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLboolean); +alias fp_glTextureStorage3DMultisample = void function(GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean); +alias fp_glTextureSubImage1D = void function(GLuint, GLint, GLint, GLsizei, GLenum, GLenum, const(void)*); +alias fp_glTextureSubImage2D = void function(GLuint, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const(void)*); +alias fp_glTextureSubImage3D = void function(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const(void)*); +alias fp_glCompressedTextureSubImage1D = void function(GLuint, GLint, GLint, GLsizei, GLenum, GLsizei, const(void)*); +alias fp_glCompressedTextureSubImage2D = void function(GLuint, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const(void)*); +alias fp_glCompressedTextureSubImage3D = void function(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const(void)*); +alias fp_glCopyTextureSubImage1D = void function(GLuint, GLint, GLint, GLint, GLint, GLsizei); +alias fp_glCopyTextureSubImage2D = void function(GLuint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); +alias fp_glCopyTextureSubImage3D = void function(GLuint, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); +alias fp_glTextureParameterf = void function(GLuint, GLenum, GLfloat); +alias fp_glTextureParameterfv = void function(GLuint, GLenum, const(GLfloat)*); +alias fp_glTextureParameteri = void function(GLuint, GLenum, GLint); +alias fp_glTextureParameterIiv = void function(GLuint, GLenum, const(GLint)*); +alias fp_glTextureParameterIuiv = void function(GLuint, GLenum, const(GLuint)*); +alias fp_glTextureParameteriv = void function(GLuint, GLenum, const(GLint)*); +alias fp_glGenerateTextureMipmap = void function(GLuint); +alias fp_glBindTextureUnit = void function(GLuint, GLuint); +alias fp_glGetTextureImage = void function(GLuint, GLint, GLenum, GLenum, GLsizei, void*); +alias fp_glGetCompressedTextureImage = void function(GLuint, GLint, GLsizei, void*); +alias fp_glGetTextureLevelParameterfv = void function(GLuint, GLint, GLenum, GLfloat*); +alias fp_glGetTextureLevelParameteriv = void function(GLuint, GLint, GLenum, GLint*); +alias fp_glGetTextureParameterfv = void function(GLuint, GLenum, GLfloat*); +alias fp_glGetTextureParameterIiv = void function(GLuint, GLenum, GLint*); +alias fp_glGetTextureParameterIuiv = void function(GLuint, GLenum, GLuint*); +alias fp_glGetTextureParameteriv = void function(GLuint, GLenum, GLint*); +alias fp_glCreateVertexArrays = void function(GLsizei, GLuint*); +alias fp_glDisableVertexArrayAttrib = void function(GLuint, GLuint); +alias fp_glEnableVertexArrayAttrib = void function(GLuint, GLuint); +alias fp_glVertexArrayElementBuffer = void function(GLuint, GLuint); +alias fp_glVertexArrayVertexBuffer = void function(GLuint, GLuint, GLuint, GLintptr, GLsizei); +alias fp_glVertexArrayVertexBuffers = void function(GLuint, GLuint, GLsizei, const(GLuint)*, const(GLintptr)*, const(GLsizei)*); +alias fp_glVertexArrayAttribBinding = void function(GLuint, GLuint, GLuint); +alias fp_glVertexArrayAttribFormat = void function(GLuint, GLuint, GLint, GLenum, GLboolean, GLuint); +alias fp_glVertexArrayAttribIFormat = void function(GLuint, GLuint, GLint, GLenum, GLuint); +alias fp_glVertexArrayAttribLFormat = void function(GLuint, GLuint, GLint, GLenum, GLuint); +alias fp_glVertexArrayBindingDivisor = void function(GLuint, GLuint, GLuint); +alias fp_glGetVertexArrayiv = void function(GLuint, GLenum, GLint*); +alias fp_glGetVertexArrayIndexediv = void function(GLuint, GLuint, GLenum, GLint*); +alias fp_glGetVertexArrayIndexed64iv = void function(GLuint, GLuint, GLenum, GLint64*); +alias fp_glCreateSamplers = void function(GLsizei, GLuint*); +alias fp_glCreateProgramPipelines = void function(GLsizei, GLuint*); +alias fp_glCreateQueries = void function(GLenum, GLsizei, GLuint*); +alias fp_glGetQueryBufferObjecti64v = void function(GLuint, GLuint, GLenum, GLintptr); +alias fp_glGetQueryBufferObjectiv = void function(GLuint, GLuint, GLenum, GLintptr); +alias fp_glGetQueryBufferObjectui64v = void function(GLuint, GLuint, GLenum, GLintptr); +alias fp_glGetQueryBufferObjectuiv = void function(GLuint, GLuint, GLenum, GLintptr); +alias fp_glMemoryBarrierByRegion = void function(GLbitfield); +alias fp_glGetTextureSubImage = void function(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void*); +alias fp_glGetCompressedTextureSubImage = void function(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLsizei, void*); +alias fp_glGetGraphicsResetStatus = GLenum function(); +alias fp_glGetnCompressedTexImage = void function(GLenum, GLint, GLsizei, void*); +alias fp_glGetnTexImage = void function(GLenum, GLint, GLenum, GLenum, GLsizei, void*); +alias fp_glGetnUniformdv = void function(GLuint, GLint, GLsizei, GLdouble*); +alias fp_glGetnUniformfv = void function(GLuint, GLint, GLsizei, GLfloat*); +alias fp_glGetnUniformiv = void function(GLuint, GLint, GLsizei, GLint*); +alias fp_glGetnUniformuiv = void function(GLuint, GLint, GLsizei, GLuint*); +alias fp_glReadnPixels = void function(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void*); +alias fp_glGetnMapdv = void function(GLenum, GLenum, GLsizei, GLdouble*); +alias fp_glGetnMapfv = void function(GLenum, GLenum, GLsizei, GLfloat*); +alias fp_glGetnMapiv = void function(GLenum, GLenum, GLsizei, GLint*); +alias fp_glGetnPixelMapfv = void function(GLenum, GLsizei, GLfloat*); +alias fp_glGetnPixelMapuiv = void function(GLenum, GLsizei, GLuint*); +alias fp_glGetnPixelMapusv = void function(GLenum, GLsizei, GLushort*); +alias fp_glGetnPolygonStipple = void function(GLsizei, GLubyte*); +alias fp_glGetnColorTable = void function(GLenum, GLenum, GLenum, GLsizei, void*); +alias fp_glGetnConvolutionFilter = void function(GLenum, GLenum, GLenum, GLsizei, void*); +alias fp_glGetnSeparableFilter = void function(GLenum, GLenum, GLenum, GLsizei, void*, GLsizei, void*, void*); +alias fp_glGetnHistogram = void function(GLenum, GLboolean, GLenum, GLenum, GLsizei, void*); +alias fp_glGetnMinmax = void function(GLenum, GLboolean, GLenum, GLenum, GLsizei, void*); +alias fp_glTextureBarrier = void function(); +alias fp_glSpecializeShader = void function(GLuint, const(GLchar)*, GLuint, const(GLuint)*, const(GLuint)*); +alias fp_glMultiDrawArraysIndirectCount = void function(GLenum, const(void)*, GLintptr, GLsizei, GLsizei); +alias fp_glMultiDrawElementsIndirectCount = void function(GLenum, GLenum, const(void)*, GLintptr, GLsizei, GLsizei); +alias fp_glPolygonOffsetClamp = void function(GLfloat, GLfloat, GLfloat); +} +__gshared { +fp_glVertexAttrib2f glVertexAttrib2f; +fp_glDepthRangef glDepthRangef; +fp_glClearBufferiv glClearBufferiv; +fp_glGetDoublei_v glGetDoublei_v; +fp_glBindFragDataLocation glBindFragDataLocation; +fp_glUniformMatrix2x3fv glUniformMatrix2x3fv; +fp_glProgramUniform4d glProgramUniform4d; +fp_glPrimitiveRestartIndex glPrimitiveRestartIndex; +fp_glCreateTextures glCreateTextures; +fp_glIsSampler glIsSampler; +fp_glDeleteSync glDeleteSync; +fp_glDepthMask glDepthMask; +fp_glDrawElementsInstanced glDrawElementsInstanced; +fp_glDebugMessageInsert glDebugMessageInsert; +fp_glVertexP4uiv glVertexP4uiv; +fp_glDeleteQueries glDeleteQueries; +fp_glVertexAttribI2i glVertexAttribI2i; +fp_glTextureStorage3D glTextureStorage3D; +fp_glProgramUniformMatrix4dv glProgramUniformMatrix4dv; +fp_glProgramParameteri glProgramParameteri; +fp_glGetCompressedTextureSubImage glGetCompressedTextureSubImage; +fp_glFramebufferTextureLayer glFramebufferTextureLayer; +fp_glGetObjectPtrLabel glGetObjectPtrLabel; +fp_glGenBuffers glGenBuffers; +fp_glVertexArrayElementBuffer glVertexArrayElementBuffer; +fp_glDeleteTextures glDeleteTextures; +fp_glReadBuffer glReadBuffer; +fp_glInvalidateFramebuffer glInvalidateFramebuffer; +fp_glTexCoordP4uiv glTexCoordP4uiv; +fp_glUniform4i glUniform4i; +fp_glGetActiveSubroutineName glGetActiveSubroutineName; +fp_glVertexAttrib4Nub glVertexAttrib4Nub; +fp_glUniform1iv glUniform1iv; +fp_glDrawElementsInstancedBaseVertexBaseInstance glDrawElementsInstancedBaseVertexBaseInstance; +fp_glClearNamedFramebufferfv glClearNamedFramebufferfv; +fp_glPatchParameterfv glPatchParameterfv; +fp_glInvalidateTexImage glInvalidateTexImage; +fp_glGetQueryObjectui64v glGetQueryObjectui64v; +fp_glDrawArraysIndirect glDrawArraysIndirect; +fp_glCompileShader glCompileShader; +fp_glUniformMatrix2x4dv glUniformMatrix2x4dv; +fp_glUniformMatrix3x2dv glUniformMatrix3x2dv; +fp_glGetSynciv glGetSynciv; +fp_glStencilOpSeparate glStencilOpSeparate; +fp_glObjectLabel glObjectLabel; +fp_glBindTextureUnit glBindTextureUnit; +fp_glGetQueryIndexediv glGetQueryIndexediv; +fp_glCopyImageSubData glCopyImageSubData; +fp_glGetQueryObjecti64v glGetQueryObjecti64v; +fp_glGetnTexImage glGetnTexImage; +fp_glVertexAttribI1i glVertexAttribI1i; +fp_glUniform2iv glUniform2iv; +fp_glCreateProgramPipelines glCreateProgramPipelines; +fp_glProgramUniformMatrix4fv glProgramUniformMatrix4fv; +fp_glProgramBinary glProgramBinary; +fp_glTexStorage2D glTexStorage2D; +fp_glShaderBinary glShaderBinary; +fp_glGetQueryBufferObjectuiv glGetQueryBufferObjectuiv; +fp_glDebugMessageCallback glDebugMessageCallback; +fp_glGetFragDataLocation glGetFragDataLocation; +fp_glNamedFramebufferRenderbuffer glNamedFramebufferRenderbuffer; +fp_glIsBuffer glIsBuffer; +fp_glValidateProgram glValidateProgram; +fp_glVertexAttrib4sv glVertexAttrib4sv; +fp_glVertexAttrib4d glVertexAttrib4d; +fp_glClearNamedBufferData glClearNamedBufferData; +fp_glVertexAttribP1ui glVertexAttribP1ui; +fp_glFramebufferTexture3D glFramebufferTexture3D; +fp_glGetActiveUniformsiv glGetActiveUniformsiv; +fp_glNamedRenderbufferStorage glNamedRenderbufferStorage; +fp_glGetVertexAttribIuiv glGetVertexAttribIuiv; +fp_glVertexAttrib1s glVertexAttrib1s; +fp_glProgramUniform3i glProgramUniform3i; +fp_glVertexAttrib4f glVertexAttrib4f; +fp_glEnable glEnable; +fp_glGetFloatv glGetFloatv; +fp_glVertexAttribDivisor glVertexAttribDivisor; +fp_glValidateProgramPipeline glValidateProgramPipeline; +fp_glNamedBufferSubData glNamedBufferSubData; +fp_glGetUniformLocation glGetUniformLocation; +fp_glVertexAttribI1iv glVertexAttribI1iv; +fp_glVertexBindingDivisor glVertexBindingDivisor; +fp_glPauseTransformFeedback glPauseTransformFeedback; +fp_glColorP3ui glColorP3ui; +fp_glDeleteSamplers glDeleteSamplers; +fp_glEnablei glEnablei; +fp_glGetCompressedTexImage glGetCompressedTexImage; +fp_glVertexAttribPointer glVertexAttribPointer; +fp_glMultiTexCoordP1uiv glMultiTexCoordP1uiv; +fp_glPointParameteri glPointParameteri; +fp_glBlendFunci glBlendFunci; +fp_glNamedBufferStorage glNamedBufferStorage; +fp_glGetProgramResourceLocation glGetProgramResourceLocation; +fp_glCreateShader glCreateShader; +fp_glPolygonOffset glPolygonOffset; +fp_glDeleteShader glDeleteShader; +fp_glUseProgramStages glUseProgramStages; +fp_glProgramUniform3d glProgramUniform3d; +fp_glVertexAttribI4uiv glVertexAttribI4uiv; +fp_glDrawElementsBaseVertex glDrawElementsBaseVertex; +fp_glTextureBufferRange glTextureBufferRange; +fp_glVertexAttribI4usv glVertexAttribI4usv; +fp_glGetRenderbufferParameteriv glGetRenderbufferParameteriv; +fp_glPointParameterf glPointParameterf; +fp_glDeleteVertexArrays glDeleteVertexArrays; +fp_glMultiTexCoordP2uiv glMultiTexCoordP2uiv; +fp_glColorP3uiv glColorP3uiv; +fp_glGetFloati_v glGetFloati_v; +fp_glTextureBuffer glTextureBuffer; +fp_glUniform3iv glUniform3iv; +fp_glEndQuery glEndQuery; +fp_glIsEnabledi glIsEnabledi; +fp_glVertexP3uiv glVertexP3uiv; +fp_glGetDebugMessageLog glGetDebugMessageLog; +fp_glUniform2fv glUniform2fv; +fp_glGetnConvolutionFilter glGetnConvolutionFilter; +fp_glMultiTexCoordP4uiv glMultiTexCoordP4uiv; +fp_glGetNamedRenderbufferParameteriv glGetNamedRenderbufferParameteriv; +fp_glGetNamedBufferSubData glGetNamedBufferSubData; +fp_glIsTexture glIsTexture; +fp_glVertexAttribL1dv glVertexAttribL1dv; +fp_glGetShaderPrecisionFormat glGetShaderPrecisionFormat; +fp_glBindBuffersBase glBindBuffersBase; +fp_glDeleteRenderbuffers glDeleteRenderbuffers; +fp_glBlendEquationSeparate glBlendEquationSeparate; +fp_glUniformMatrix2x3dv glUniformMatrix2x3dv; +fp_glGetTextureParameterfv glGetTextureParameterfv; +fp_glFinish glFinish; +fp_glTexStorage3DMultisample glTexStorage3DMultisample; +fp_glVertexAttrib4Nusv glVertexAttrib4Nusv; +fp_glGetActiveAttrib glGetActiveAttrib; +fp_glVertexAttrib1f glVertexAttrib1f; +fp_glUniform1fv glUniform1fv; +fp_glInvalidateSubFramebuffer glInvalidateSubFramebuffer; +fp_glNamedRenderbufferStorageMultisample glNamedRenderbufferStorageMultisample; +fp_glProgramUniform4iv glProgramUniform4iv; +fp_glDrawBuffer glDrawBuffer; +fp_glBindVertexArray glBindVertexArray; +fp_glColorMask glColorMask; +fp_glGetTexLevelParameterfv glGetTexLevelParameterfv; +fp_glUniform2f glUniform2f; +fp_glProvokingVertex glProvokingVertex; +fp_glIsTransformFeedback glIsTransformFeedback; +fp_glGetQueryBufferObjectiv glGetQueryBufferObjectiv; +fp_glGetShaderSource glGetShaderSource; +fp_glUniform1f glUniform1f; +fp_glGetQueryBufferObjectui64v glGetQueryBufferObjectui64v; +fp_glProgramUniformMatrix3x4dv glProgramUniformMatrix3x4dv; +fp_glProgramUniform4f glProgramUniform4f; +fp_glTexStorage3D glTexStorage3D; +fp_glPointParameteriv glPointParameteriv; +fp_glGetProgramInterfaceiv glGetProgramInterfaceiv; +fp_glBlendEquationSeparatei glBlendEquationSeparatei; +fp_glVertexAttrib2sv glVertexAttrib2sv; +fp_glUniform2ui glUniform2ui; +fp_glUniform2dv glUniform2dv; +fp_glGetProgramiv glGetProgramiv; +fp_glGetUniformuiv glGetUniformuiv; +fp_glGetQueryObjectiv glGetQueryObjectiv; +fp_glIsVertexArray glIsVertexArray; +fp_glGetTextureParameteriv glGetTextureParameteriv; +fp_glGetTexParameterfv glGetTexParameterfv; +fp_glProgramUniform2ui glProgramUniform2ui; +fp_glClearDepth glClearDepth; +fp_glBufferData glBufferData; +fp_glFrontFace glFrontFace; +fp_glMultiTexCoordP2ui glMultiTexCoordP2ui; +fp_glFlushMappedNamedBufferRange glFlushMappedNamedBufferRange; +fp_glBufferSubData glBufferSubData; +fp_glGetProgramResourceName glGetProgramResourceName; +fp_glMultiTexCoordP4ui glMultiTexCoordP4ui; +fp_glTexImage3D glTexImage3D; +fp_glVertexAttrib4fv glVertexAttrib4fv; +fp_glGetVertexArrayiv glGetVertexArrayiv; +fp_glVertexAttrib4iv glVertexAttrib4iv; +fp_glProgramUniform4ui glProgramUniform4ui; +fp_glBlendFunc glBlendFunc; +fp_glVertexAttrib3d glVertexAttrib3d; +fp_glGetNamedFramebufferAttachmentParameteriv glGetNamedFramebufferAttachmentParameteriv; +fp_glScissorArrayv glScissorArrayv; +fp_glVertexP2ui glVertexP2ui; +fp_glGetTransformFeedbacki64_v glGetTransformFeedbacki64_v; +fp_glGetProgramResourceLocationIndex glGetProgramResourceLocationIndex; +fp_glFramebufferParameteri glFramebufferParameteri; +fp_glLineWidth glLineWidth; +fp_glTexImage2DMultisample glTexImage2DMultisample; +fp_glPushDebugGroup glPushDebugGroup; +fp_glCheckNamedFramebufferStatus glCheckNamedFramebufferStatus; +fp_glGetString glGetString; +fp_glBindTexture glBindTexture; +fp_glDisableVertexArrayAttrib glDisableVertexArrayAttrib; +fp_glReadPixels glReadPixels; +fp_glGetTransformFeedbackVarying glGetTransformFeedbackVarying; +fp_glCopyTextureSubImage2D glCopyTextureSubImage2D; +fp_glMultiDrawArraysIndirectCount glMultiDrawArraysIndirectCount; +fp_glDrawBuffers glDrawBuffers; +fp_glFramebufferTexture1D glFramebufferTexture1D; +fp_glUnmapBuffer glUnmapBuffer; +fp_glUniformBlockBinding glUniformBlockBinding; +fp_glBlendFuncSeparatei glBlendFuncSeparatei; +fp_glVertexAttribL1d glVertexAttribL1d; +fp_glGetCompressedTextureImage glGetCompressedTextureImage; +fp_glDisablei glDisablei; +fp_glGetIntegerv glGetIntegerv; +fp_glVertexAttribP2ui glVertexAttribP2ui; +fp_glBlendFuncSeparate glBlendFuncSeparate; +fp_glVertexP3ui glVertexP3ui; +fp_glNormalP3ui glNormalP3ui; +fp_glCreateQueries glCreateQueries; +fp_glGetnCompressedTexImage glGetnCompressedTexImage; +fp_glBindImageTextures glBindImageTextures; +fp_glDeleteProgram glDeleteProgram; +fp_glTextureStorage3DMultisample glTextureStorage3DMultisample; +fp_glDepthRange glDepthRange; +fp_glCopyTexImage2D glCopyTexImage2D; +fp_glClearNamedFramebufferiv glClearNamedFramebufferiv; +fp_glUniformMatrix2fv glUniformMatrix2fv; +fp_glPixelStoref glPixelStoref; +fp_glGenTextures glGenTextures; +fp_glSamplerParameterIuiv glSamplerParameterIuiv; +fp_glBeginConditionalRender glBeginConditionalRender; +fp_glProgramUniform3iv glProgramUniform3iv; +fp_glClearBufferfi glClearBufferfi; +fp_glBindBufferBase glBindBufferBase; +fp_glTexImage3DMultisample glTexImage3DMultisample; +fp_glUniform1dv glUniform1dv; +fp_glClearStencil glClearStencil; +fp_glClearNamedFramebufferfi glClearNamedFramebufferfi; +fp_glProgramUniform1iv glProgramUniform1iv; +fp_glMultiDrawElementsIndirect glMultiDrawElementsIndirect; +fp_glTexCoordP3ui glTexCoordP3ui; +fp_glPolygonOffsetClamp glPolygonOffsetClamp; +fp_glCheckFramebufferStatus glCheckFramebufferStatus; +fp_glGetnMapdv glGetnMapdv; +fp_glBufferStorage glBufferStorage; +fp_glDeleteProgramPipelines glDeleteProgramPipelines; +fp_glGetActiveUniformBlockiv glGetActiveUniformBlockiv; +fp_glProgramUniform1dv glProgramUniform1dv; +fp_glHint glHint; +fp_glBindImageTexture glBindImageTexture; +fp_glGetQueryBufferObjecti64v glGetQueryBufferObjecti64v; +fp_glTextureStorage2D glTextureStorage2D; +fp_glProgramUniformMatrix2fv glProgramUniformMatrix2fv; +fp_glUniformMatrix3x4dv glUniformMatrix3x4dv; +fp_glGetPointerv glGetPointerv; +fp_glClearBufferuiv glClearBufferuiv; +fp_glTexParameteriv glTexParameteriv; +fp_glGetProgramStageiv glGetProgramStageiv; +fp_glGetUniformfv glGetUniformfv; +fp_glUniform1ui glUniform1ui; +fp_glGetAttachedShaders glGetAttachedShaders; +fp_glSamplerParameterfv glSamplerParameterfv; +fp_glCompressedTexImage1D glCompressedTexImage1D; +fp_glTexBufferRange glTexBufferRange; +fp_glTextureStorage2DMultisample glTextureStorage2DMultisample; +fp_glGetGraphicsResetStatus glGetGraphicsResetStatus; +fp_glCopyTexSubImage1D glCopyTexSubImage1D; +fp_glVertexAttrib4usv glVertexAttrib4usv; +fp_glClear glClear; +fp_glVertexAttribL4dv glVertexAttribL4dv; +fp_glEnableVertexArrayAttrib glEnableVertexArrayAttrib; +fp_glGetnUniformiv glGetnUniformiv; +fp_glSecondaryColorP3uiv glSecondaryColorP3uiv; +fp_glGetBufferParameteriv glGetBufferParameteriv; +fp_glGetInternalformativ glGetInternalformativ; +fp_glVertexAttribLFormat glVertexAttribLFormat; +fp_glGetQueryObjectuiv glGetQueryObjectuiv; +fp_glGetActiveUniformBlockName glGetActiveUniformBlockName; +fp_glViewportArrayv glViewportArrayv; +fp_glProgramUniform2f glProgramUniform2f; +fp_glUseProgram glUseProgram; +fp_glProgramUniformMatrix4x3dv glProgramUniformMatrix4x3dv; +fp_glVertexAttrib2s glVertexAttrib2s; +fp_glGetSamplerParameterIuiv glGetSamplerParameterIuiv; +fp_glUniform4uiv glUniform4uiv; +fp_glVertexAttribI2iv glVertexAttribI2iv; +fp_glTexParameteri glTexParameteri; +fp_glGetnPixelMapuiv glGetnPixelMapuiv; +fp_glDrawElementsInstancedBaseInstance glDrawElementsInstancedBaseInstance; +fp_glBlitFramebuffer glBlitFramebuffer; +fp_glTextureBarrier glTextureBarrier; +fp_glNamedFramebufferTexture glNamedFramebufferTexture; +fp_glFlush glFlush; +fp_glTexParameterIiv glTexParameterIiv; +fp_glGetTexParameterIiv glGetTexParameterIiv; +fp_glProgramUniform3uiv glProgramUniform3uiv; +fp_glClampColor glClampColor; +fp_glShaderStorageBlockBinding glShaderStorageBlockBinding; +fp_glProgramUniformMatrix3x2fv glProgramUniformMatrix3x2fv; +fp_glMapNamedBufferRange glMapNamedBufferRange; +fp_glGenerateTextureMipmap glGenerateTextureMipmap; +fp_glNormalP3uiv glNormalP3uiv; +fp_glDrawTransformFeedback glDrawTransformFeedback; +fp_glGetObjectLabel glGetObjectLabel; +fp_glVertexArrayAttribFormat glVertexArrayAttribFormat; +fp_glReadnPixels glReadnPixels; +fp_glGetSamplerParameteriv glGetSamplerParameteriv; +fp_glProgramUniformMatrix4x2dv glProgramUniformMatrix4x2dv; +fp_glDispatchComputeIndirect glDispatchComputeIndirect; +fp_glVertexAttribI4i glVertexAttribI4i; +fp_glTextureParameteriv glTextureParameteriv; +fp_glProgramUniform3f glProgramUniform3f; +fp_glRenderbufferStorage glRenderbufferStorage; +fp_glMultiTexCoordP3uiv glMultiTexCoordP3uiv; +fp_glDrawTransformFeedbackInstanced glDrawTransformFeedbackInstanced; +fp_glVertexAttribI3ui glVertexAttribI3ui; +fp_glMultiDrawArrays glMultiDrawArrays; +fp_glVertexAttribL2dv glVertexAttribL2dv; +fp_glVertexAttrib3dv glVertexAttrib3dv; +fp_glBlitNamedFramebuffer glBlitNamedFramebuffer; +fp_glGetTextureParameterIuiv glGetTextureParameterIuiv; +fp_glLogicOp glLogicOp; +fp_glRenderbufferStorageMultisample glRenderbufferStorageMultisample; +fp_glMultiDrawElements glMultiDrawElements; +fp_glVertexAttrib1fv glVertexAttrib1fv; +fp_glTransformFeedbackBufferRange glTransformFeedbackBufferRange; +fp_glTextureParameterIuiv glTextureParameterIuiv; +fp_glGetProgramResourceiv glGetProgramResourceiv; +fp_glUniform3dv glUniform3dv; +fp_glVertexAttrib2dv glVertexAttrib2dv; +fp_glUniformMatrix3dv glUniformMatrix3dv; +fp_glProgramUniform1ui glProgramUniform1ui; +fp_glProgramUniformMatrix3fv glProgramUniformMatrix3fv; +fp_glUniformMatrix4x2dv glUniformMatrix4x2dv; +fp_glVertexAttribBinding glVertexAttribBinding; +fp_glClearNamedFramebufferuiv glClearNamedFramebufferuiv; +fp_glGetActiveUniform glGetActiveUniform; +fp_glUniform3ui glUniform3ui; +fp_glTransformFeedbackVaryings glTransformFeedbackVaryings; +fp_glVertexAttribI4sv glVertexAttribI4sv; +fp_glUniform4f glUniform4f; +fp_glVertexAttrib4Niv glVertexAttrib4Niv; +fp_glTexCoordP1ui glTexCoordP1ui; +fp_glProgramUniformMatrix3dv glProgramUniformMatrix3dv; +fp_glSamplerParameteriv glSamplerParameteriv; +fp_glInvalidateNamedFramebufferSubData glInvalidateNamedFramebufferSubData; +fp_glDeleteTransformFeedbacks glDeleteTransformFeedbacks; +fp_glInvalidateBufferData glInvalidateBufferData; +fp_glVertexAttribP1uiv glVertexAttribP1uiv; +fp_glCopyTextureSubImage1D glCopyTextureSubImage1D; +fp_glGetProgramResourceIndex glGetProgramResourceIndex; +fp_glTexParameterIuiv glTexParameterIuiv; +fp_glIsEnabled glIsEnabled; +fp_glAttachShader glAttachShader; +fp_glVertexAttribLPointer glVertexAttribLPointer; +fp_glShaderSource glShaderSource; +fp_glClearNamedBufferSubData glClearNamedBufferSubData; +fp_glUniformMatrix4x3dv glUniformMatrix4x3dv; +fp_glMapNamedBuffer glMapNamedBuffer; +fp_glGetVertexAttribfv glGetVertexAttribfv; +fp_glStencilFuncSeparate glStencilFuncSeparate; +fp_glVertexAttrib3f glVertexAttrib3f; +fp_glGetStringi glGetStringi; +fp_glUniform3uiv glUniform3uiv; +fp_glSamplerParameterIiv glSamplerParameterIiv; +fp_glIsFramebuffer glIsFramebuffer; +fp_glInvalidateTexSubImage glInvalidateTexSubImage; +fp_glGetSamplerParameterIiv glGetSamplerParameterIiv; +fp_glTexParameterfv glTexParameterfv; +fp_glGetnUniformfv glGetnUniformfv; +fp_glVertexAttrib4uiv glVertexAttrib4uiv; +fp_glClearTexSubImage glClearTexSubImage; +fp_glStencilMask glStencilMask; +fp_glTexCoordP4ui glTexCoordP4ui; +fp_glObjectPtrLabel glObjectPtrLabel; +fp_glGetShaderInfoLog glGetShaderInfoLog; +fp_glDrawElementsIndirect glDrawElementsIndirect; +fp_glGenerateMipmap glGenerateMipmap; +fp_glGetTextureLevelParameterfv glGetTextureLevelParameterfv; +fp_glCompressedTexSubImage1D glCompressedTexSubImage1D; +fp_glEndTransformFeedback glEndTransformFeedback; +fp_glBlendEquationi glBlendEquationi; +fp_glGetNamedFramebufferParameteriv glGetNamedFramebufferParameteriv; +fp_glProgramUniform2fv glProgramUniform2fv; +fp_glPolygonMode glPolygonMode; +fp_glGetTextureLevelParameteriv glGetTextureLevelParameteriv; +fp_glUniformSubroutinesuiv glUniformSubroutinesuiv; +fp_glGetBufferSubData glGetBufferSubData; +fp_glGetUniformIndices glGetUniformIndices; +fp_glGetBufferParameteri64v glGetBufferParameteri64v; +fp_glDrawTransformFeedbackStream glDrawTransformFeedbackStream; +fp_glTextureView glTextureView; +fp_glCreateBuffers glCreateBuffers; +fp_glUniform3f glUniform3f; +fp_glStencilMaskSeparate glStencilMaskSeparate; +fp_glDeleteBuffers glDeleteBuffers; +fp_glCompressedTextureSubImage3D glCompressedTextureSubImage3D; +fp_glIsProgram glIsProgram; +fp_glDepthFunc glDepthFunc; +fp_glIsRenderbuffer glIsRenderbuffer; +fp_glCompressedTexImage2D glCompressedTexImage2D; +fp_glVertexAttribP3ui glVertexAttribP3ui; +fp_glTexStorage1D glTexStorage1D; +fp_glMultiDrawArraysIndirect glMultiDrawArraysIndirect; +fp_glDrawElements glDrawElements; +fp_glGetVertexAttribdv glGetVertexAttribdv; +fp_glScissorIndexedv glScissorIndexedv; +fp_glLinkProgram glLinkProgram; +fp_glGetTransformFeedbackiv glGetTransformFeedbackiv; +fp_glUniformMatrix3x4fv glUniformMatrix3x4fv; +fp_glCreateVertexArrays glCreateVertexArrays; +fp_glVertexAttribI3i glVertexAttribI3i; +fp_glUniform4dv glUniform4dv; +fp_glUniformMatrix3x2fv glUniformMatrix3x2fv; +fp_glVertexArrayVertexBuffers glVertexArrayVertexBuffers; +fp_glBindBufferRange glBindBufferRange; +fp_glDispatchCompute glDispatchCompute; +fp_glSamplerParameterf glSamplerParameterf; +fp_glBlendEquation glBlendEquation; +fp_glUniform3fv glUniform3fv; +fp_glMapBufferRange glMapBufferRange; +fp_glNamedFramebufferTextureLayer glNamedFramebufferTextureLayer; +fp_glProgramUniform1i glProgramUniform1i; +fp_glQueryCounter glQueryCounter; +fp_glGenRenderbuffers glGenRenderbuffers; +fp_glBindRenderbuffer glBindRenderbuffer; +fp_glClearColor glClearColor; +fp_glEndConditionalRender glEndConditionalRender; +fp_glCreateFramebuffers glCreateFramebuffers; +fp_glVertexAttribI3uiv glVertexAttribI3uiv; +fp_glCreateShaderProgramv glCreateShaderProgramv; +fp_glProgramUniform3ui glProgramUniform3ui; +fp_glVertexAttribP3uiv glVertexAttribP3uiv; +fp_glGetTexParameteriv glGetTexParameteriv; +fp_glDrawTransformFeedbackStreamInstanced glDrawTransformFeedbackStreamInstanced; +fp_glVertexAttrib4s glVertexAttrib4s; +fp_glClearTexImage glClearTexImage; +fp_glGetActiveUniformName glGetActiveUniformName; +fp_glProgramUniform1d glProgramUniform1d; +fp_glUniform4fv glUniform4fv; +fp_glVertexAttrib1sv glVertexAttrib1sv; +fp_glTextureStorage1D glTextureStorage1D; +fp_glDrawArrays glDrawArrays; +fp_glVertexAttrib1d glVertexAttrib1d; +fp_glCreateTransformFeedbacks glCreateTransformFeedbacks; +fp_glCreateRenderbuffers glCreateRenderbuffers; +fp_glGetNamedBufferParameteri64v glGetNamedBufferParameteri64v; +fp_glGetTexLevelParameteriv glGetTexLevelParameteriv; +fp_glVertexArrayAttribIFormat glVertexArrayAttribIFormat; +fp_glProgramUniform1f glProgramUniform1f; +fp_glGetnMapfv glGetnMapfv; +fp_glIsSync glIsSync; +fp_glClientWaitSync glClientWaitSync; +fp_glProgramUniformMatrix2x4fv glProgramUniformMatrix2x4fv; +fp_glBindSamplers glBindSamplers; +fp_glScissor glScissor; +fp_glTransformFeedbackBufferBase glTransformFeedbackBufferBase; +fp_glClipControl glClipControl; +fp_glVertexAttribP4ui glVertexAttribP4ui; +fp_glMinSampleShading glMinSampleShading; +fp_glTextureParameterf glTextureParameterf; +fp_glVertexAttribL2d glVertexAttribL2d; +fp_glClearBufferData glClearBufferData; +fp_glVertexAttribI3iv glVertexAttribI3iv; +fp_glCopyNamedBufferSubData glCopyNamedBufferSubData; +fp_glGetProgramPipelineiv glGetProgramPipelineiv; +fp_glVertexAttribFormat glVertexAttribFormat; +fp_glCompressedTextureSubImage1D glCompressedTextureSubImage1D; +fp_glTextureParameterIiv glTextureParameterIiv; +fp_glGetVertexArrayIndexed64iv glGetVertexArrayIndexed64iv; +fp_glGetError glGetError; +fp_glGetDoublev glGetDoublev; +fp_glFenceSync glFenceSync; +fp_glVertexArrayAttribLFormat glVertexArrayAttribLFormat; +fp_glVertexAttribI4ubv glVertexAttribI4ubv; +fp_glProgramUniform4dv glProgramUniform4dv; +fp_glUniform2i glUniform2i; +fp_glGetActiveSubroutineUniformiv glGetActiveSubroutineUniformiv; +fp_glInvalidateBufferSubData glInvalidateBufferSubData; +fp_glProgramUniformMatrix2dv glProgramUniformMatrix2dv; +fp_glProgramUniform2dv glProgramUniform2dv; +fp_glUniform1d glUniform1d; +fp_glGetFramebufferParameteriv glGetFramebufferParameteriv; +fp_glNamedBufferData glNamedBufferData; +fp_glStencilFunc glStencilFunc; +fp_glUniform3i glUniform3i; +fp_glCopyTextureSubImage3D glCopyTextureSubImage3D; +fp_glVertexAttrib4Nbv glVertexAttrib4Nbv; +fp_glUniform2uiv glUniform2uiv; +fp_glBeginQueryIndexed glBeginQueryIndexed; +fp_glClearDepthf glClearDepthf; +fp_glVertexAttribI1uiv glVertexAttribI1uiv; +fp_glViewportIndexedfv glViewportIndexedfv; +fp_glGetSubroutineIndex glGetSubroutineIndex; +fp_glCompressedTextureSubImage2D glCompressedTextureSubImage2D; +fp_glGetnMinmax glGetnMinmax; +fp_glTexImage1D glTexImage1D; +fp_glUniformMatrix3fv glUniformMatrix3fv; +fp_glGetInteger64i_v glGetInteger64i_v; +fp_glGetnPixelMapusv glGetnPixelMapusv; +fp_glBindAttribLocation glBindAttribLocation; +fp_glReleaseShaderCompiler glReleaseShaderCompiler; +fp_glColorMaski glColorMaski; +fp_glVertexAttribL4d glVertexAttribL4d; +fp_glGetNamedBufferPointerv glGetNamedBufferPointerv; +fp_glProgramUniformMatrix2x4dv glProgramUniformMatrix2x4dv; +fp_glProgramUniform4uiv glProgramUniform4uiv; +fp_glGetActiveSubroutineUniformName glGetActiveSubroutineUniformName; +fp_glProgramUniform2iv glProgramUniform2iv; +fp_glGetUniformBlockIndex glGetUniformBlockIndex; +fp_glBindTransformFeedback glBindTransformFeedback; +fp_glCopyTexSubImage3D glCopyTexSubImage3D; +fp_glGenQueries glGenQueries; +fp_glBindTextures glBindTextures; +fp_glVertexP4ui glVertexP4ui; +fp_glUniformMatrix2dv glUniformMatrix2dv; +fp_glGetBooleanv glGetBooleanv; +fp_glGetUniformiv glGetUniformiv; +fp_glGenVertexArrays glGenVertexArrays; +fp_glGenProgramPipelines glGenProgramPipelines; +fp_glColorP4uiv glColorP4uiv; +fp_glProgramUniform3fv glProgramUniform3fv; +fp_glVertexAttribL3dv glVertexAttribL3dv; +fp_glEnableVertexAttribArray glEnableVertexAttribArray; +fp_glGetQueryiv glGetQueryiv; +fp_glVertexAttribIFormat glVertexAttribIFormat; +fp_glBindBuffer glBindBuffer; +fp_glGetUniformSubroutineuiv glGetUniformSubroutineuiv; +fp_glClearBufferSubData glClearBufferSubData; +fp_glProgramUniformMatrix2x3fv glProgramUniformMatrix2x3fv; +fp_glVertexArrayAttribBinding glVertexArrayAttribBinding; +fp_glVertexAttrib3fv glVertexAttrib3fv; +fp_glVertexAttribIPointer glVertexAttribIPointer; +fp_glTexSubImage2D glTexSubImage2D; +fp_glIsProgramPipeline glIsProgramPipeline; +fp_glGetnHistogram glGetnHistogram; +fp_glBlendColor glBlendColor; +fp_glVertexAttrib2d glVertexAttrib2d; +fp_glGetnMapiv glGetnMapiv; +fp_glGetBufferPointerv glGetBufferPointerv; +fp_glCompressedTexSubImage3D glCompressedTexSubImage3D; +fp_glProgramUniform2d glProgramUniform2d; +fp_glBindProgramPipeline glBindProgramPipeline; +fp_glGetUniformdv glGetUniformdv; +fp_glGetnUniformdv glGetnUniformdv; +fp_glBeginTransformFeedback glBeginTransformFeedback; +fp_glUniformMatrix4x2fv glUniformMatrix4x2fv; +fp_glGenFramebuffers glGenFramebuffers; +fp_glGetVertexAttribPointerv glGetVertexAttribPointerv; +fp_glUniform4ui glUniform4ui; +fp_glGetTextureImage glGetTextureImage; +fp_glUniformMatrix2x4fv glUniformMatrix2x4fv; +fp_glBindSampler glBindSampler; +fp_glVertexAttribI4ui glVertexAttribI4ui; +fp_glUniform2d glUniform2d; +fp_glCompressedTexSubImage2D glCompressedTexSubImage2D; +fp_glMapBuffer glMapBuffer; +fp_glFramebufferTexture glFramebufferTexture; +fp_glProgramUniformMatrix4x3fv glProgramUniformMatrix4x3fv; +fp_glBindFramebuffer glBindFramebuffer; +fp_glBeginQuery glBeginQuery; +fp_glTexBuffer glTexBuffer; +fp_glVertexP2uiv glVertexP2uiv; +fp_glCreateSamplers glCreateSamplers; +fp_glUniform4iv glUniform4iv; +fp_glVertexAttribI2ui glVertexAttribI2ui; +fp_glActiveShaderProgram glActiveShaderProgram; +fp_glGetnColorTable glGetnColorTable; +fp_glVertexAttribI4iv glVertexAttribI4iv; +fp_glMultiDrawElementsBaseVertex glMultiDrawElementsBaseVertex; +fp_glPopDebugGroup glPopDebugGroup; +fp_glGetNamedBufferParameteriv glGetNamedBufferParameteriv; +fp_glInvalidateNamedFramebufferData glInvalidateNamedFramebufferData; +fp_glUniform1uiv glUniform1uiv; +fp_glTexSubImage1D glTexSubImage1D; +fp_glGetTexParameterIuiv glGetTexParameterIuiv; +fp_glClearBufferfv glClearBufferfv; +fp_glResumeTransformFeedback glResumeTransformFeedback; +fp_glVertexAttrib4Nubv glVertexAttrib4Nubv; +fp_glVertexAttrib4Nuiv glVertexAttrib4Nuiv; +fp_glProgramUniformMatrix2x3dv glProgramUniformMatrix2x3dv; +fp_glTexImage2D glTexImage2D; +fp_glVertexAttribI2uiv glVertexAttribI2uiv; +fp_glGetProgramPipelineInfoLog glGetProgramPipelineInfoLog; +fp_glIsShader glIsShader; +fp_glFramebufferTexture2D glFramebufferTexture2D; +fp_glDebugMessageControl glDebugMessageControl; +fp_glScissorIndexed glScissorIndexed; +fp_glPointParameterfv glPointParameterfv; +fp_glCopyTexSubImage2D glCopyTexSubImage2D; +fp_glDrawRangeElements glDrawRangeElements; +fp_glIsQuery glIsQuery; +fp_glGetShaderiv glGetShaderiv; +fp_glGetnUniformuiv glGetnUniformuiv; +fp_glDisable glDisable; +fp_glViewportIndexedf glViewportIndexedf; +fp_glFlushMappedBufferRange glFlushMappedBufferRange; +fp_glDisableVertexAttribArray glDisableVertexAttribArray; +fp_glDrawRangeElementsBaseVertex glDrawRangeElementsBaseVertex; +fp_glPixelStorei glPixelStorei; +fp_glMultiTexCoordP1ui glMultiTexCoordP1ui; +fp_glGetSubroutineUniformLocation glGetSubroutineUniformLocation; +fp_glVertexAttribL3d glVertexAttribL3d; +fp_glGetnPixelMapfv glGetnPixelMapfv; +fp_glGetProgramBinary glGetProgramBinary; +fp_glVertexAttrib4Nsv glVertexAttrib4Nsv; +fp_glDrawArraysInstanced glDrawArraysInstanced; +fp_glTexCoordP1uiv glTexCoordP1uiv; +fp_glVertexAttrib4dv glVertexAttrib4dv; +fp_glSecondaryColorP3ui glSecondaryColorP3ui; +fp_glUniform4d glUniform4d; +fp_glActiveTexture glActiveTexture; +fp_glProgramUniform2i glProgramUniform2i; +fp_glSpecializeShader glSpecializeShader; +fp_glMultiDrawElementsIndirectCount glMultiDrawElementsIndirectCount; +fp_glSampleMaski glSampleMaski; +fp_glDrawArraysInstancedBaseInstance glDrawArraysInstancedBaseInstance; +fp_glGetTransformFeedbacki_v glGetTransformFeedbacki_v; +fp_glCompressedTexImage3D glCompressedTexImage3D; +fp_glMemoryBarrierByRegion glMemoryBarrierByRegion; +fp_glProgramUniform4i glProgramUniform4i; +fp_glUniformMatrix4fv glUniformMatrix4fv; +fp_glVertexAttrib3s glVertexAttrib3s; +fp_glProgramUniformMatrix3x2dv glProgramUniformMatrix3x2dv; +fp_glVertexAttribI4bv glVertexAttribI4bv; +fp_glGetFragDataIndex glGetFragDataIndex; +fp_glDrawElementsInstancedBaseVertex glDrawElementsInstancedBaseVertex; +fp_glTextureSubImage2D glTextureSubImage2D; +fp_glProgramUniform1uiv glProgramUniform1uiv; +fp_glNamedFramebufferDrawBuffer glNamedFramebufferDrawBuffer; +fp_glNamedFramebufferDrawBuffers glNamedFramebufferDrawBuffers; +fp_glProgramUniformMatrix4x2fv glProgramUniformMatrix4x2fv; +fp_glVertexAttribI1ui glVertexAttribI1ui; +fp_glGetTexImage glGetTexImage; +fp_glVertexAttrib4bv glVertexAttrib4bv; +fp_glGetSamplerParameterfv glGetSamplerParameterfv; +fp_glUniform3d glUniform3d; +fp_glWaitSync glWaitSync; +fp_glStencilOp glStencilOp; +fp_glColorP4ui glColorP4ui; +fp_glGetVertexAttribIiv glGetVertexAttribIiv; +fp_glVertexAttrib4ubv glVertexAttrib4ubv; +fp_glProgramUniform2uiv glProgramUniform2uiv; +fp_glTextureSubImage3D glTextureSubImage3D; +fp_glSamplerParameteri glSamplerParameteri; +fp_glDetachShader glDetachShader; +fp_glGetBooleani_v glGetBooleani_v; +fp_glGetVertexAttribiv glGetVertexAttribiv; +fp_glTexCoordP2ui glTexCoordP2ui; +fp_glUniform1i glUniform1i; +fp_glGetFramebufferAttachmentParameteriv glGetFramebufferAttachmentParameteriv; +fp_glEndQueryIndexed glEndQueryIndexed; +fp_glNamedFramebufferReadBuffer glNamedFramebufferReadBuffer; +fp_glUnmapNamedBuffer glUnmapNamedBuffer; +fp_glGenTransformFeedbacks glGenTransformFeedbacks; +fp_glCreateProgram glCreateProgram; +fp_glGetVertexArrayIndexediv glGetVertexArrayIndexediv; +fp_glBindVertexBuffer glBindVertexBuffer; +fp_glCopyBufferSubData glCopyBufferSubData; +fp_glSampleCoverage glSampleCoverage; +fp_glTexCoordP3uiv glTexCoordP3uiv; +fp_glDepthRangeIndexed glDepthRangeIndexed; +fp_glVertexAttrib1dv glVertexAttrib1dv; +fp_glVertexAttribP4uiv glVertexAttribP4uiv; +fp_glGetnSeparableFilter glGetnSeparableFilter; +fp_glProgramUniform4fv glProgramUniform4fv; +fp_glGetnPolygonStipple glGetnPolygonStipple; +fp_glFramebufferRenderbuffer glFramebufferRenderbuffer; +fp_glVertexArrayBindingDivisor glVertexArrayBindingDivisor; +fp_glGetVertexAttribLdv glGetVertexAttribLdv; +fp_glDeleteFramebuffers glDeleteFramebuffers; +fp_glGenSamplers glGenSamplers; +fp_glTexCoordP2uiv glTexCoordP2uiv; +fp_glCopyTexImage1D glCopyTexImage1D; +fp_glVertexAttrib3sv glVertexAttrib3sv; +fp_glBindBuffersRange glBindBuffersRange; +fp_glGetAttribLocation glGetAttribLocation; +fp_glUniformMatrix4x3fv glUniformMatrix4x3fv; +fp_glMemoryBarrier glMemoryBarrier; +fp_glBindVertexBuffers glBindVertexBuffers; +fp_glVertexArrayVertexBuffer glVertexArrayVertexBuffer; +fp_glCullFace glCullFace; +fp_glTexStorage2DMultisample glTexStorage2DMultisample; +fp_glGetIntegeri_v glGetIntegeri_v; +fp_glTextureSubImage1D glTextureSubImage1D; +fp_glBindFragDataLocationIndexed glBindFragDataLocationIndexed; +fp_glDepthRangeArrayv glDepthRangeArrayv; +fp_glGetActiveAtomicCounterBufferiv glGetActiveAtomicCounterBufferiv; +fp_glUniformMatrix4dv glUniformMatrix4dv; +fp_glProgramUniformMatrix3x4fv glProgramUniformMatrix3x4fv; +fp_glViewport glViewport; +fp_glTextureParameterfv glTextureParameterfv; +fp_glTexSubImage3D glTexSubImage3D; +fp_glGetProgramInfoLog glGetProgramInfoLog; +fp_glGetTextureSubImage glGetTextureSubImage; +fp_glGetTextureParameterIiv glGetTextureParameterIiv; +fp_glMultiTexCoordP3ui glMultiTexCoordP3ui; +fp_glNamedFramebufferParameteri glNamedFramebufferParameteri; +fp_glPointSize glPointSize; +fp_glPatchParameteri glPatchParameteri; +fp_glGetInternalformati64v glGetInternalformati64v; +fp_glProgramUniform3dv glProgramUniform3dv; +fp_glTextureParameteri glTextureParameteri; +fp_glTexParameterf glTexParameterf; +fp_glVertexAttrib2fv glVertexAttrib2fv; +fp_glVertexAttribP2uiv glVertexAttribP2uiv; +fp_glProgramUniform1fv glProgramUniform1fv; +fp_glGetInteger64v glGetInteger64v; +fp_glGetMultisamplefv glGetMultisamplefv; +} diff --git a/libs/glad/glad/gl/gl.d b/libs/glad/glad/gl/gl.d new file mode 100644 index 0000000..5c509d5 --- /dev/null +++ b/libs/glad/glad/gl/gl.d @@ -0,0 +1,425 @@ +module glad.gl.gl; + + +public import glad.gl.types; +public import glad.gl.funcs : +glVertexAttrib2f, glDepthRangef, glClearBufferiv, glGetDoublei_v, glBindFragDataLocation, +glUniformMatrix2x3fv, glProgramUniform4d, glPrimitiveRestartIndex, glCreateTextures, glIsSampler, +glDeleteSync, glDepthMask, glDrawElementsInstanced, glDebugMessageInsert, glVertexP4uiv, +glDeleteQueries, glVertexAttribI2i, glTextureStorage3D, glProgramUniformMatrix4dv, glProgramParameteri, +glGetCompressedTextureSubImage, glFramebufferTextureLayer, glGetObjectPtrLabel, glGenBuffers, glVertexArrayElementBuffer, +glDeleteTextures, glReadBuffer, glInvalidateFramebuffer, glTexCoordP4uiv, glUniform4i, +glGetActiveSubroutineName, glVertexAttrib4Nub, glUniform1iv, glDrawElementsInstancedBaseVertexBaseInstance, glClearNamedFramebufferfv, +glPatchParameterfv, glInvalidateTexImage, glGetQueryObjectui64v, glDrawArraysIndirect, glCompileShader, +glUniformMatrix2x4dv, glUniformMatrix3x2dv, glGetSynciv, glStencilOpSeparate, glObjectLabel, +glBindTextureUnit, glGetQueryIndexediv, glCopyImageSubData, glGetQueryObjecti64v, glGetnTexImage, +glVertexAttribI1i, glUniform2iv, glCreateProgramPipelines, glProgramUniformMatrix4fv, glProgramBinary, +glTexStorage2D, glShaderBinary, glGetQueryBufferObjectuiv, glDebugMessageCallback, glGetFragDataLocation, +glNamedFramebufferRenderbuffer, glIsBuffer, glValidateProgram, glVertexAttrib4sv, glVertexAttrib4d, +glClearNamedBufferData, glVertexAttribP1ui, glFramebufferTexture3D, glGetActiveUniformsiv, glNamedRenderbufferStorage, +glGetVertexAttribIuiv, glVertexAttrib1s, glProgramUniform3i, glVertexAttrib4f, glEnable, +glGetFloatv, glVertexAttribDivisor, glValidateProgramPipeline, glNamedBufferSubData, glGetUniformLocation, +glVertexAttribI1iv, glVertexBindingDivisor, glPauseTransformFeedback, glColorP3ui, glDeleteSamplers, +glEnablei, glGetCompressedTexImage, glVertexAttribPointer, glMultiTexCoordP1uiv, glPointParameteri, +glBlendFunci, glNamedBufferStorage, glGetProgramResourceLocation, glCreateShader, glPolygonOffset, +glDeleteShader, glUseProgramStages, glProgramUniform3d, glVertexAttribI4uiv, glDrawElementsBaseVertex, +glTextureBufferRange, glVertexAttribI4usv, glGetRenderbufferParameteriv, glPointParameterf, glDeleteVertexArrays, +glMultiTexCoordP2uiv, glColorP3uiv, glGetFloati_v, glTextureBuffer, glUniform3iv, +glEndQuery, glIsEnabledi, glVertexP3uiv, glGetDebugMessageLog, glUniform2fv, +glGetnConvolutionFilter, glMultiTexCoordP4uiv, glGetNamedRenderbufferParameteriv, glGetNamedBufferSubData, glIsTexture, +glVertexAttribL1dv, glGetShaderPrecisionFormat, glBindBuffersBase, glDeleteRenderbuffers, glBlendEquationSeparate, +glUniformMatrix2x3dv, glGetTextureParameterfv, glFinish, glTexStorage3DMultisample, glVertexAttrib4Nusv, +glGetActiveAttrib, glVertexAttrib1f, glUniform1fv, glInvalidateSubFramebuffer, glNamedRenderbufferStorageMultisample, +glProgramUniform4iv, glDrawBuffer, glBindVertexArray, glColorMask, glGetTexLevelParameterfv, +glUniform2f, glProvokingVertex, glIsTransformFeedback, glGetQueryBufferObjectiv, glGetShaderSource, +glUniform1f, glGetQueryBufferObjectui64v, glProgramUniformMatrix3x4dv, glProgramUniform4f, glTexStorage3D, +glPointParameteriv, glGetProgramInterfaceiv, glBlendEquationSeparatei, glVertexAttrib2sv, glUniform2ui, +glUniform2dv, glGetProgramiv, glGetUniformuiv, glGetQueryObjectiv, glIsVertexArray, +glGetTextureParameteriv, glGetTexParameterfv, glProgramUniform2ui, glClearDepth, glBufferData, +glFrontFace, glMultiTexCoordP2ui, glFlushMappedNamedBufferRange, glBufferSubData, glGetProgramResourceName, +glMultiTexCoordP4ui, glTexImage3D, glVertexAttrib4fv, glGetVertexArrayiv, glVertexAttrib4iv, +glProgramUniform4ui, glBlendFunc, glVertexAttrib3d, glGetNamedFramebufferAttachmentParameteriv, glScissorArrayv, +glVertexP2ui, glGetTransformFeedbacki64_v, glGetProgramResourceLocationIndex, glFramebufferParameteri, glLineWidth, +glTexImage2DMultisample, glPushDebugGroup, glCheckNamedFramebufferStatus, glGetString, glBindTexture, +glDisableVertexArrayAttrib, glReadPixels, glGetTransformFeedbackVarying, glCopyTextureSubImage2D, glMultiDrawArraysIndirectCount, +glDrawBuffers, glFramebufferTexture1D, glUnmapBuffer, glUniformBlockBinding, glBlendFuncSeparatei, +glVertexAttribL1d, glGetCompressedTextureImage, glDisablei, glGetIntegerv, glVertexAttribP2ui, +glBlendFuncSeparate, glVertexP3ui, glNormalP3ui, glCreateQueries, glGetnCompressedTexImage, +glBindImageTextures, glDeleteProgram, glTextureStorage3DMultisample, glDepthRange, glCopyTexImage2D, +glClearNamedFramebufferiv, glUniformMatrix2fv, glPixelStoref, glGenTextures, glSamplerParameterIuiv, +glBeginConditionalRender, glProgramUniform3iv, glClearBufferfi, glBindBufferBase, glTexImage3DMultisample, +glUniform1dv, glClearStencil, glClearNamedFramebufferfi, glProgramUniform1iv, glMultiDrawElementsIndirect, +glTexCoordP3ui, glPolygonOffsetClamp, glCheckFramebufferStatus, glGetnMapdv, glBufferStorage, +glDeleteProgramPipelines, glGetActiveUniformBlockiv, glProgramUniform1dv, glHint, glBindImageTexture, +glGetQueryBufferObjecti64v, glTextureStorage2D, glProgramUniformMatrix2fv, glUniformMatrix3x4dv, glGetPointerv, +glClearBufferuiv, glTexParameteriv, glGetProgramStageiv, glGetUniformfv, glUniform1ui, +glGetAttachedShaders, glSamplerParameterfv, glCompressedTexImage1D, glTexBufferRange, glTextureStorage2DMultisample, +glGetGraphicsResetStatus, glCopyTexSubImage1D, glVertexAttrib4usv, glClear, glVertexAttribL4dv, +glEnableVertexArrayAttrib, glGetnUniformiv, glSecondaryColorP3uiv, glGetBufferParameteriv, glGetInternalformativ, +glVertexAttribLFormat, glGetQueryObjectuiv, glGetActiveUniformBlockName, glViewportArrayv, glProgramUniform2f, +glUseProgram, glProgramUniformMatrix4x3dv, glVertexAttrib2s, glGetSamplerParameterIuiv, glUniform4uiv, +glVertexAttribI2iv, glTexParameteri, glGetnPixelMapuiv, glDrawElementsInstancedBaseInstance, glBlitFramebuffer, +glTextureBarrier, glNamedFramebufferTexture, glFlush, glTexParameterIiv, glGetTexParameterIiv, +glProgramUniform3uiv, glClampColor, glShaderStorageBlockBinding, glProgramUniformMatrix3x2fv, glMapNamedBufferRange, +glGenerateTextureMipmap, glNormalP3uiv, glDrawTransformFeedback, glGetObjectLabel, glVertexArrayAttribFormat, +glReadnPixels, glGetSamplerParameteriv, glProgramUniformMatrix4x2dv, glDispatchComputeIndirect, glVertexAttribI4i, +glTextureParameteriv, glProgramUniform3f, glRenderbufferStorage, glMultiTexCoordP3uiv, glDrawTransformFeedbackInstanced, +glVertexAttribI3ui, glMultiDrawArrays, glVertexAttribL2dv, glVertexAttrib3dv, glBlitNamedFramebuffer, +glGetTextureParameterIuiv, glLogicOp, glRenderbufferStorageMultisample, glMultiDrawElements, glVertexAttrib1fv, +glTransformFeedbackBufferRange, glTextureParameterIuiv, glGetProgramResourceiv, glUniform3dv, glVertexAttrib2dv, +glUniformMatrix3dv, glProgramUniform1ui, glProgramUniformMatrix3fv, glUniformMatrix4x2dv, glVertexAttribBinding, +glClearNamedFramebufferuiv, glGetActiveUniform, glUniform3ui, glTransformFeedbackVaryings, glVertexAttribI4sv, +glUniform4f, glVertexAttrib4Niv, glTexCoordP1ui, glProgramUniformMatrix3dv, glSamplerParameteriv, +glInvalidateNamedFramebufferSubData, glDeleteTransformFeedbacks, glInvalidateBufferData, glVertexAttribP1uiv, glCopyTextureSubImage1D, +glGetProgramResourceIndex, glTexParameterIuiv, glIsEnabled, glAttachShader, glVertexAttribLPointer, +glShaderSource, glClearNamedBufferSubData, glUniformMatrix4x3dv, glMapNamedBuffer, glGetVertexAttribfv, +glStencilFuncSeparate, glVertexAttrib3f, glGetStringi, glUniform3uiv, glSamplerParameterIiv, +glIsFramebuffer, glInvalidateTexSubImage, glGetSamplerParameterIiv, glTexParameterfv, glGetnUniformfv, +glVertexAttrib4uiv, glClearTexSubImage, glStencilMask, glTexCoordP4ui, glObjectPtrLabel, +glGetShaderInfoLog, glDrawElementsIndirect, glGenerateMipmap, glGetTextureLevelParameterfv, glCompressedTexSubImage1D, +glEndTransformFeedback, glBlendEquationi, glGetNamedFramebufferParameteriv, glProgramUniform2fv, glPolygonMode, +glGetTextureLevelParameteriv, glUniformSubroutinesuiv, glGetBufferSubData, glGetUniformIndices, glGetBufferParameteri64v, +glDrawTransformFeedbackStream, glTextureView, glCreateBuffers, glUniform3f, glStencilMaskSeparate, +glDeleteBuffers, glCompressedTextureSubImage3D, glIsProgram, glDepthFunc, glIsRenderbuffer, +glCompressedTexImage2D, glVertexAttribP3ui, glTexStorage1D, glMultiDrawArraysIndirect, glDrawElements, +glGetVertexAttribdv, glScissorIndexedv, glLinkProgram, glGetTransformFeedbackiv, glUniformMatrix3x4fv, +glCreateVertexArrays, glVertexAttribI3i, glUniform4dv, glUniformMatrix3x2fv, glVertexArrayVertexBuffers, +glBindBufferRange, glDispatchCompute, glSamplerParameterf, glBlendEquation, glUniform3fv, +glMapBufferRange, glNamedFramebufferTextureLayer, glProgramUniform1i, glQueryCounter, glGenRenderbuffers, +glBindRenderbuffer, glClearColor, glEndConditionalRender, glCreateFramebuffers, glVertexAttribI3uiv, +glCreateShaderProgramv, glProgramUniform3ui, glVertexAttribP3uiv, glGetTexParameteriv, glDrawTransformFeedbackStreamInstanced, +glVertexAttrib4s, glClearTexImage, glGetActiveUniformName, glProgramUniform1d, glUniform4fv, +glVertexAttrib1sv, glTextureStorage1D, glDrawArrays, glVertexAttrib1d, glCreateTransformFeedbacks, +glCreateRenderbuffers, glGetNamedBufferParameteri64v, glGetTexLevelParameteriv, glVertexArrayAttribIFormat, glProgramUniform1f, +glGetnMapfv, glIsSync, glClientWaitSync, glProgramUniformMatrix2x4fv, glBindSamplers, +glScissor, glTransformFeedbackBufferBase, glClipControl, glVertexAttribP4ui, glMinSampleShading, +glTextureParameterf, glVertexAttribL2d, glClearBufferData, glVertexAttribI3iv, glCopyNamedBufferSubData, +glGetProgramPipelineiv, glVertexAttribFormat, glCompressedTextureSubImage1D, glTextureParameterIiv, glGetVertexArrayIndexed64iv, +glGetError, glGetDoublev, glFenceSync, glVertexArrayAttribLFormat, glVertexAttribI4ubv, +glProgramUniform4dv, glUniform2i, glGetActiveSubroutineUniformiv, glInvalidateBufferSubData, glProgramUniformMatrix2dv, +glProgramUniform2dv, glUniform1d, glGetFramebufferParameteriv, glNamedBufferData, glStencilFunc, +glUniform3i, glCopyTextureSubImage3D, glVertexAttrib4Nbv, glUniform2uiv, glBeginQueryIndexed, +glClearDepthf, glVertexAttribI1uiv, glViewportIndexedfv, glGetSubroutineIndex, glCompressedTextureSubImage2D, +glGetnMinmax, glTexImage1D, glUniformMatrix3fv, glGetInteger64i_v, glGetnPixelMapusv, +glBindAttribLocation, glReleaseShaderCompiler, glColorMaski, glVertexAttribL4d, glGetNamedBufferPointerv, +glProgramUniformMatrix2x4dv, glProgramUniform4uiv, glGetActiveSubroutineUniformName, glProgramUniform2iv, glGetUniformBlockIndex, +glBindTransformFeedback, glCopyTexSubImage3D, glGenQueries, glBindTextures, glVertexP4ui, +glUniformMatrix2dv, glGetBooleanv, glGetUniformiv, glGenVertexArrays, glGenProgramPipelines, +glColorP4uiv, glProgramUniform3fv, glVertexAttribL3dv, glEnableVertexAttribArray, glGetQueryiv, +glVertexAttribIFormat, glBindBuffer, glGetUniformSubroutineuiv, glClearBufferSubData, glProgramUniformMatrix2x3fv, +glVertexArrayAttribBinding, glVertexAttrib3fv, glVertexAttribIPointer, glTexSubImage2D, glIsProgramPipeline, +glGetnHistogram, glBlendColor, glVertexAttrib2d, glGetnMapiv, glGetBufferPointerv, +glCompressedTexSubImage3D, glProgramUniform2d, glBindProgramPipeline, glGetUniformdv, glGetnUniformdv, +glBeginTransformFeedback, glUniformMatrix4x2fv, glGenFramebuffers, glGetVertexAttribPointerv, glUniform4ui, +glGetTextureImage, glUniformMatrix2x4fv, glBindSampler, glVertexAttribI4ui, glUniform2d, +glCompressedTexSubImage2D, glMapBuffer, glFramebufferTexture, glProgramUniformMatrix4x3fv, glBindFramebuffer, +glBeginQuery, glTexBuffer, glVertexP2uiv, glCreateSamplers, glUniform4iv, +glVertexAttribI2ui, glActiveShaderProgram, glGetnColorTable, glVertexAttribI4iv, glMultiDrawElementsBaseVertex, +glPopDebugGroup, glGetNamedBufferParameteriv, glInvalidateNamedFramebufferData, glUniform1uiv, glTexSubImage1D, +glGetTexParameterIuiv, glClearBufferfv, glResumeTransformFeedback, glVertexAttrib4Nubv, glVertexAttrib4Nuiv, +glProgramUniformMatrix2x3dv, glTexImage2D, glVertexAttribI2uiv, glGetProgramPipelineInfoLog, glIsShader, +glFramebufferTexture2D, glDebugMessageControl, glScissorIndexed, glPointParameterfv, glCopyTexSubImage2D, +glDrawRangeElements, glIsQuery, glGetShaderiv, glGetnUniformuiv, glDisable, +glViewportIndexedf, glFlushMappedBufferRange, glDisableVertexAttribArray, glDrawRangeElementsBaseVertex, glPixelStorei, +glMultiTexCoordP1ui, glGetSubroutineUniformLocation, glVertexAttribL3d, glGetnPixelMapfv, glGetProgramBinary, +glVertexAttrib4Nsv, glDrawArraysInstanced, glTexCoordP1uiv, glVertexAttrib4dv, glSecondaryColorP3ui, +glUniform4d, glActiveTexture, glProgramUniform2i, glSpecializeShader, glMultiDrawElementsIndirectCount, +glSampleMaski, glDrawArraysInstancedBaseInstance, glGetTransformFeedbacki_v, glCompressedTexImage3D, glMemoryBarrierByRegion, +glProgramUniform4i, glUniformMatrix4fv, glVertexAttrib3s, glProgramUniformMatrix3x2dv, glVertexAttribI4bv, +glGetFragDataIndex, glDrawElementsInstancedBaseVertex, glTextureSubImage2D, glProgramUniform1uiv, glNamedFramebufferDrawBuffer, +glNamedFramebufferDrawBuffers, glProgramUniformMatrix4x2fv, glVertexAttribI1ui, glGetTexImage, glVertexAttrib4bv, +glGetSamplerParameterfv, glUniform3d, glWaitSync, glStencilOp, glColorP4ui, +glGetVertexAttribIiv, glVertexAttrib4ubv, glProgramUniform2uiv, glTextureSubImage3D, glSamplerParameteri, +glDetachShader, glGetBooleani_v, glGetVertexAttribiv, glTexCoordP2ui, glUniform1i, +glGetFramebufferAttachmentParameteriv, glEndQueryIndexed, glNamedFramebufferReadBuffer, glUnmapNamedBuffer, glGenTransformFeedbacks, +glCreateProgram, glGetVertexArrayIndexediv, glBindVertexBuffer, glCopyBufferSubData, glSampleCoverage, +glTexCoordP3uiv, glDepthRangeIndexed, glVertexAttrib1dv, glVertexAttribP4uiv, glGetnSeparableFilter, +glProgramUniform4fv, glGetnPolygonStipple, glFramebufferRenderbuffer, glVertexArrayBindingDivisor, glGetVertexAttribLdv, +glDeleteFramebuffers, glGenSamplers, glTexCoordP2uiv, glCopyTexImage1D, glVertexAttrib3sv, +glBindBuffersRange, glGetAttribLocation, glUniformMatrix4x3fv, glMemoryBarrier, glBindVertexBuffers, +glVertexArrayVertexBuffer, glCullFace, glTexStorage2DMultisample, glGetIntegeri_v, glTextureSubImage1D, +glBindFragDataLocationIndexed, glDepthRangeArrayv, glGetActiveAtomicCounterBufferiv, glUniformMatrix4dv, glProgramUniformMatrix3x4fv, +glViewport, glTextureParameterfv, glTexSubImage3D, glGetProgramInfoLog, glGetTextureSubImage, +glGetTextureParameterIiv, glMultiTexCoordP3ui, glNamedFramebufferParameteri, glPointSize, glPatchParameteri, +glGetInternalformati64v, glProgramUniform3dv, glTextureParameteri, glTexParameterf, glVertexAttrib2fv, +glVertexAttribP2uiv, glProgramUniform1fv, glGetInteger64v, glGetMultisamplefv; + +public import glad.gl.enums : +GL_FRAMEBUFFER_UNDEFINED, GL_RG32I, GL_COLOR_ATTACHMENT3, GL_VERTEX_BINDING_DIVISOR, GL_MAX_VARYING_FLOATS, +GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER, GL_TEXTURE26, GL_GREEN, GL_CLIP_DISTANCE1, GL_STENCIL_BACK_PASS_DEPTH_FAIL, +GL_RENDERBUFFER_INTERNAL_FORMAT, GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER, GL_IMAGE_2D_MULTISAMPLE_ARRAY, GL_DEBUG_GROUP_STACK_DEPTH, GL_RG8UI, +GL_ACTIVE_RESOURCES, GL_SPIR_V_EXTENSIONS, GL_TEXTURE_BINDING_1D_ARRAY, GL_PROXY_TEXTURE_1D_ARRAY, GL_TESS_EVALUATION_SHADER_INVOCATIONS, +GL_COLOR_ATTACHMENT0, GL_DEPTH_RANGE, GL_FLOAT_MAT2x3, GL_UNSIGNED_INT_IMAGE_1D_ARRAY, GL_TEXTURE_2D, +GL_DISPATCH_INDIRECT_BUFFER, GL_PROXY_TEXTURE_2D, GL_FRAMEBUFFER_COMPLETE, GL_MAX_VARYING_COMPONENTS, GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS, +GL_QUADS, GL_SYNC_FENCE, GL_RGBA8I, GL_CLIP_DEPTH_MODE, GL_MAX_LABEL_LENGTH, +GL_RG16F, GL_TEXTURE_GATHER, GL_UNPACK_SWAP_BYTES, GL_FLOAT_VEC4, GL_BLEND_DST, +GL_FLOAT_MAT3x4, GL_TEXTURE17, GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY, GL_TESS_EVALUATION_SHADER_BIT, GL_MEDIUM_INT, +GL_COMPRESSED_TEXTURE_FORMATS, GL_STATIC_READ, GL_ACTIVE_PROGRAM, GL_FRAMEBUFFER_DEFAULT_WIDTH, GL_MAX_RECTANGLE_TEXTURE_SIZE, +GL_MAX_COMPUTE_ATOMIC_COUNTERS, GL_DEPTH_CLEAR_VALUE, GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER, GL_INT_IMAGE_1D_ARRAY, GL_COMPILE_STATUS, +GL_TEXTURE_WIDTH, GL_ONE_MINUS_SRC_COLOR, GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE, GL_INT_VEC2, GL_POST_CONVOLUTION_COLOR_TABLE, +GL_DOUBLEBUFFER, GL_LOCATION, GL_PACK_LSB_FIRST, GL_TRIANGLE_STRIP, GL_UPPER_LEFT, +GL_RGB8_SNORM, GL_ACTIVE_ATOMIC_COUNTER_BUFFERS, GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE, GL_STENCIL_BUFFER_BIT, GL_INCR, +GL_ACTIVE_ATTRIBUTES, GL_SHORT, GL_RG32F, GL_IMAGE_CLASS_10_10_10_2, GL_MAX_PROGRAM_TEXEL_OFFSET, +GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER, GL_QUERY_BY_REGION_WAIT, GL_UNSIGNED_INT_SAMPLER_2D_RECT, GL_CLIP_DISTANCE2, GL_MAX_PATCH_VERTICES, +GL_COMPRESSED_SRGB_ALPHA, GL_SEPARABLE_2D, GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS, GL_SHADER_STORAGE_BUFFER_BINDING, GL_INT_SAMPLER_2D, +GL_DEPTH_RENDERABLE, GL_FRONT_FACE, GL_TRIANGLE_STRIP_ADJACENCY, GL_FRAMEBUFFER_RENDERABLE_LAYERED, GL_UNSIGNED_INT_IMAGE_2D_RECT, +GL_FUNC_ADD, GL_UNPACK_COMPRESSED_BLOCK_SIZE, GL_IMAGE_CLASS_2_X_8, GL_DOUBLE_MAT4x3, GL_TESS_CONTROL_SUBROUTINE, +GL_VIEW_CLASS_RGTC1_RED, GL_BUFFER_SIZE, GL_MAX_COMBINED_ATOMIC_COUNTERS, GL_MAX_LAYERS, GL_SRGB_READ, +GL_DOUBLE_VEC3, GL_SAMPLER_1D_ARRAY_SHADOW, GL_COLOR_WRITEMASK, GL_SHADER_STORAGE_BARRIER_BIT, GL_STENCIL_PASS_DEPTH_PASS, +GL_CLIPPING_INPUT_PRIMITIVES, GL_DRAW_BUFFER4, GL_UNPACK_COMPRESSED_BLOCK_WIDTH, GL_RENDERBUFFER_WIDTH, GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE, +GL_IMAGE_CLASS_1_X_8, GL_DEBUG_SEVERITY_MEDIUM, GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST, GL_PRIMITIVES_GENERATED, GL_SRC_ALPHA_SATURATE, +GL_IMAGE_FORMAT_COMPATIBILITY_TYPE, GL_MAX_VERTEX_ATTRIB_STRIDE, GL_PACK_COMPRESSED_BLOCK_HEIGHT, GL_SHADER_IMAGE_ATOMIC, GL_PRIMITIVE_RESTART_FIXED_INDEX, +GL_MAX_SHADER_STORAGE_BLOCK_SIZE, GL_MAX_GEOMETRY_IMAGE_UNIFORMS, GL_FLOAT_MAT3x2, GL_PATCH_VERTICES, GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS, +GL_INTERNALFORMAT_ALPHA_TYPE, GL_QUERY_WAIT_INVERTED, GL_FRONT_LEFT, GL_SHADER, GL_COMPATIBLE_SUBROUTINES, +GL_CLEAR, GL_DYNAMIC_DRAW, GL_TEXTURE_LOD_BIAS, GL_FRAMEBUFFER_DEFAULT_HEIGHT, GL_REFERENCED_BY_TESS_EVALUATION_SHADER, +GL_IMAGE_BINDING_ACCESS, GL_PATCH_DEFAULT_INNER_LEVEL, GL_IMAGE_1D_ARRAY, GL_NAME_LENGTH, GL_COLOR_ATTACHMENT25, +GL_LOWER_LEFT, GL_LEFT, GL_LINE_WIDTH, GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES, GL_FRAMEBUFFER_RENDERABLE, +GL_MAX_CULL_DISTANCES, GL_SHADER_TYPE, GL_RESET_NOTIFICATION_STRATEGY, GL_RGB12, GL_MIRROR_CLAMP_TO_EDGE, +GL_QUERY_WAIT, GL_PACK_COMPRESSED_BLOCK_WIDTH, GL_BUFFER_IMMUTABLE_STORAGE, GL_NUM_SHADER_BINARY_FORMATS, GL_STENCIL_VALUE_MASK, +GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX, GL_COLOR_ATTACHMENT13, GL_DRAW_BUFFER9, GL_TEXTURE_BINDING_2D_MULTISAMPLE, GL_CONVOLUTION_2D, +GL_ALL_SHADER_BITS, GL_VERTEX_SHADER_INVOCATIONS, GL_RGBA8, GL_VENDOR, GL_MAX_FRAGMENT_ATOMIC_COUNTERS, +GL_TIMEOUT_EXPIRED, GL_PIXEL_PACK_BUFFER, GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS, GL_COLOR_BUFFER_BIT, GL_CURRENT_QUERY, +GL_PACK_ROW_LENGTH, GL_INVERT, GL_UNIFORM_IS_ROW_MAJOR, GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE, GL_RGB565, +GL_PROXY_TEXTURE_CUBE_MAP, GL_R8UI, GL_BACK_LEFT, GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER, GL_DRAW_BUFFER2, +GL_RENDERBUFFER_DEPTH_SIZE, GL_MAP_UNSYNCHRONIZED_BIT, GL_VERSION, GL_PACK_SKIP_ROWS, GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET, +GL_IMAGE_2D_ARRAY, GL_TEXTURE_BINDING_RECTANGLE, GL_COMPRESSED_RGB8_ETC2, GL_TEXTURE_2D_MULTISAMPLE, GL_INTERNALFORMAT_BLUE_TYPE, +GL_BGR_INTEGER, GL_PROXY_TEXTURE_CUBE_MAP_ARRAY, GL_GET_TEXTURE_IMAGE_FORMAT, GL_SAMPLER_1D, GL_TEXTURE3, +GL_TEXTURE20, GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS, GL_TRANSFORM_FEEDBACK_VARYING, GL_SAMPLE_POSITION, GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY, +GL_ONE_MINUS_DST_ALPHA, GL_TRANSFORM_FEEDBACK_VARYINGS, GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS, GL_INTERNALFORMAT_DEPTH_SIZE, GL_DOUBLE_VEC4, +GL_TEXTURE1, GL_INTERNALFORMAT_RED_SIZE, GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT, GL_VERTEX_TEXTURE, GL_UNSIGNED_NORMALIZED, +GL_CLIENT_STORAGE_BIT, GL_SAMPLER_2D_MULTISAMPLE_ARRAY, GL_MAX_VERTEX_UNIFORM_BLOCKS, GL_STEREO, GL_DEPTH_COMPONENTS, +GL_TEXTURE_BLUE_SIZE, GL_SAMPLER_2D_MULTISAMPLE, GL_CONDITION_SATISFIED, GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS, GL_HISTOGRAM, +GL_STREAM_READ, GL_TEXTURE, GL_RENDERBUFFER_BINDING, GL_NUM_PROGRAM_BINARY_FORMATS, GL_DEBUG_CALLBACK_FUNCTION, +GL_FRAGMENT_TEXTURE, GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH, GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT, GL_QUERY_NO_WAIT, GL_SRC_COLOR, +GL_MAX_DRAW_BUFFERS, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, GL_TEXTURE_BORDER_COLOR, GL_NAND, +GL_UNSIGNED_INT_SAMPLER_3D, GL_COLOR_ATTACHMENT28, GL_TOP_LEVEL_ARRAY_SIZE, GL_R16, GL_LOW_FLOAT, +GL_VIEW_CLASS_64_BITS, GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT, GL_R16UI, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, GL_MAX_COMPUTE_WORK_GROUP_COUNT, +GL_BLEND_COLOR, GL_UNSIGNED_INT_SAMPLER_2D, GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS, GL_SHADER_IMAGE_STORE, GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS, +GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED, GL_MAX_VERTEX_ATTRIB_BINDINGS, GL_CURRENT_PROGRAM, GL_MEDIUM_FLOAT, GL_NUM_EXTENSIONS, +GL_EXTENSIONS, GL_UNSIGNED_SHORT, GL_VALIDATE_STATUS, GL_INT_SAMPLER_CUBE, GL_QUERY_COUNTER_BITS, +GL_TEXTURE_IMAGE_TYPE, GL_SRC1_ALPHA, GL_STENCIL_CLEAR_VALUE, GL_TEXTURE_SWIZZLE_RGBA, GL_COLOR_ATTACHMENT6, +GL_BOOL_VEC3, GL_CLAMP_TO_EDGE, GL_POINT_SIZE_GRANULARITY, GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION, GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY, +GL_INTERNALFORMAT_SHARED_SIZE, GL_COMPUTE_SHADER_INVOCATIONS, GL_TEXTURE_WRAP_R, GL_UNSIGNED_INT_SAMPLER_BUFFER, GL_STENCIL_RENDERABLE, +GL_TIME_ELAPSED, GL_TEXTURE23, GL_TEXTURE24, GL_RGB8I, GL_COLOR_LOGIC_OP, +GL_PACK_ALIGNMENT, GL_PRIMITIVES_SUBMITTED, GL_COLOR_TABLE, GL_INTERNALFORMAT_PREFERRED, GL_UNPACK_IMAGE_HEIGHT, +GL_RGBA32I, GL_DEBUG_SEVERITY_HIGH, GL_MAX_COMBINED_UNIFORM_BLOCKS, GL_DYNAMIC_COPY, GL_TEXTURE5, +GL_TEXTURE_FETCH_BARRIER_BIT, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_TEXTURE_MIN_LOD, GL_SAMPLE_MASK_VALUE, GL_OR, +GL_PROXY_TEXTURE_3D, GL_PROXY_TEXTURE_2D_ARRAY, GL_DYNAMIC_READ, GL_GREEN_INTEGER, GL_READ_PIXELS_TYPE, +GL_TEXTURE_UPDATE_BARRIER_BIT, GL_UNSIGNED_INT_IMAGE_2D_ARRAY, GL_R8_SNORM, GL_BLEND_EQUATION_ALPHA, GL_ARRAY_BUFFER_BINDING, +GL_VIEWPORT, GL_FILTER, GL_MAP_READ_BIT, GL_R32UI, GL_UNSIGNED_BYTE_3_3_2, +GL_TEXTURE_BINDING_2D_ARRAY, GL_COLOR_ATTACHMENT10, GL_UNIFORM, GL_IMAGE_TEXEL_SIZE, GL_DEPTH_TEST, +GL_GEQUAL, GL_INTERNALFORMAT_STENCIL_SIZE, GL_DRAW_BUFFER11, GL_RG8, GL_ISOLINES, +GL_OR_REVERSE, GL_MAP_INVALIDATE_RANGE_BIT, GL_FLOAT_MAT2, GL_BOOL_VEC2, GL_INT_2_10_10_10_REV, +GL_VIEW_COMPATIBILITY_CLASS, GL_TEXTURE2, GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT, GL_READ_PIXELS, +GL_RGB8UI, GL_COLOR_ATTACHMENT12, GL_PACK_IMAGE_HEIGHT, GL_UNIFORM_ARRAY_STRIDE, GL_RENDERBUFFER_BLUE_SIZE, +GL_MAX_CLIP_DISTANCES, GL_R16_SNORM, GL_ONE_MINUS_SRC_ALPHA, GL_PACK_SKIP_PIXELS, GL_RG_INTEGER, +GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT, GL_COMPRESSED_SRGB, GL_SHADER_BINARY_FORMATS, GL_R8, GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS, +GL_MIN_PROGRAM_TEXEL_OFFSET, GL_RENDERBUFFER_STENCIL_SIZE, GL_INNOCENT_CONTEXT_RESET, GL_LOSE_CONTEXT_ON_RESET, GL_SAMPLE_COVERAGE_INVERT, +GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS, GL_STENCIL, GL_INTERNALFORMAT_BLUE_SIZE, GL_COLOR_ATTACHMENT2, GL_ONE_MINUS_SRC1_ALPHA, +GL_IMAGE_2D_MULTISAMPLE, GL_GUILTY_CONTEXT_RESET, GL_PROXY_TEXTURE_2D_MULTISAMPLE, GL_FUNC_SUBTRACT, GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS, +GL_STENCIL_INDEX4, GL_LINE_STRIP_ADJACENCY, GL_MAX_SAMPLE_MASK_WORDS, GL_UNSIGNED_INT_24_8, GL_UNSIGNED_INT_VEC2, +GL_RGB32F, GL_TEXTURE_BINDING_1D, GL_COLOR_ATTACHMENT22, GL_DEBUG_TYPE_ERROR, GL_INT_SAMPLER_1D, +GL_TEXTURE_TARGET, GL_FLOAT_MAT2x4, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, GL_COMPRESSED_RG11_EAC, GL_MAX_RENDERBUFFER_SIZE, +GL_MANUAL_GENERATE_MIPMAP, GL_COMPRESSED_SIGNED_RG_RGTC2, GL_MAX_NAME_LENGTH, GL_COLOR_ATTACHMENT7, GL_SHADER_COMPILER, +GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER, GL_DITHER, GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE, GL_RENDERBUFFER_ALPHA_SIZE, +GL_TEXTURE31, GL_COLOR_ATTACHMENT11, GL_MAX, GL_STENCIL_BACK_REF, GL_MAX_CUBE_MAP_TEXTURE_SIZE, +GL_TEXTURE_MAX_LEVEL, GL_UNIFORM_BLOCK, GL_VERTEX_ATTRIB_ARRAY_INTEGER, GL_TRANSFORM_FEEDBACK, GL_MAX_COMBINED_IMAGE_UNIFORMS, +GL_MAX_DUAL_SOURCE_DRAW_BUFFERS, GL_ATOMIC_COUNTER_BUFFER, GL_UNSIGNED_INT_VEC4, GL_UNSIGNED_INT_10F_11F_11F_REV, GL_MAX_TESS_CONTROL_INPUT_COMPONENTS, +GL_STACK_OVERFLOW, GL_SCISSOR_BOX, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_CONTEXT_LOST, GL_UNSIGNED_SHORT_4_4_4_4_REV, +GL_FLOAT_MAT4x2, GL_VIEWPORT_SUBPIXEL_BITS, GL_DRAW_BUFFER7, GL_NUM_SHADING_LANGUAGE_VERSIONS, GL_PROXY_TEXTURE_1D, +GL_COLOR_ATTACHMENT27, GL_ALPHA, GL_FRAGMENT_SUBROUTINE, GL_RGB9_E5, GL_MAX_COMBINED_DIMENSIONS, +GL_UNIFORM_BLOCK_NAME_LENGTH, GL_TEXTURE_COMPRESSED_BLOCK_SIZE, GL_INVALID_VALUE, GL_UNSIGNED_INT_SAMPLER_1D, GL_COMPRESSED_R11_EAC, +GL_SRC_ALPHA, GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS, GL_UNIFORM_NAME_LENGTH, GL_VIEW_CLASS_48_BITS, GL_COPY_READ_BUFFER_BINDING, +GL_MAX_TRANSFORM_FEEDBACK_BUFFERS, GL_DST_COLOR, GL_MAX_TEXTURE_LOD_BIAS, GL_RED, GL_RGBA, +GL_RGB, GL_TESS_GEN_VERTEX_ORDER, GL_UNPACK_SKIP_PIXELS, GL_STENCIL_FAIL, GL_GEOMETRY_SHADER, +GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES, GL_SIGNALED, GL_SAMPLE_COVERAGE, GL_MAX_WIDTH, GL_STATIC_COPY, +GL_TESS_EVALUATION_SHADER, GL_MAX_FRAGMENT_UNIFORM_BLOCKS, GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS, GL_TEXTURE12, GL_VERTEX_ARRAY_BINDING, +GL_NOOP, GL_INT_IMAGE_2D_ARRAY, GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS, GL_IMAGE_CLASS_4_X_32, GL_VERTEX_ATTRIB_ARRAY_DIVISOR, +GL_INT_SAMPLER_1D_ARRAY, GL_TEXTURE_COMPRESSED_BLOCK_WIDTH, GL_TEXTURE_BUFFER_DATA_STORE_BINDING, GL_UNSIGNED_INT_IMAGE_2D, GL_FRAMEBUFFER_UNSUPPORTED, +GL_COMPRESSED_SIGNED_RED_RGTC1, GL_SRGB_ALPHA, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME, GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE, GL_DOUBLE_MAT3, +GL_READ_WRITE, GL_ELEMENT_ARRAY_BARRIER_BIT, GL_FIXED_ONLY, GL_VERTEX_BINDING_BUFFER, GL_CLAMP_READ_COLOR, +GL_TEXTURE_BUFFER_SIZE, GL_PRIMITIVE_RESTART_INDEX, GL_DOUBLE_MAT4, GL_BUFFER_BINDING, GL_UNIFORM_BUFFER_START, +GL_LAYER_PROVOKING_VERTEX, GL_SAMPLER_2D_ARRAY, GL_TEXTURE_SWIZZLE_B, GL_DONT_CARE, GL_BLEND_EQUATION, +GL_SAMPLE_COVERAGE_VALUE, GL_IMAGE_COMPATIBILITY_CLASS, GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS, GL_NUM_SPIR_V_EXTENSIONS, GL_ARRAY_SIZE, +GL_QUERY_BUFFER_BARRIER_BIT, GL_VERTEX_ATTRIB_BINDING, GL_CONTEXT_PROFILE_MASK, GL_COLOR_ATTACHMENT8, GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW, +GL_GEOMETRY_SHADER_INVOCATIONS, GL_UNIFORM_BLOCK_INDEX, GL_IMAGE_CUBE, GL_TEXTURE_BINDING_2D, GL_STENCIL_BACK_FUNC, +GL_COLOR_ATTACHMENT31, GL_DRAW_BUFFER12, GL_DEPTH_COMPONENT, GL_COLOR_ATTACHMENT1, GL_MAX_TEXTURE_SIZE, +GL_FRONT, GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER, GL_FRONT_AND_BACK, GL_LOGIC_OP_MODE, GL_TESS_CONTROL_TEXTURE, +GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS, GL_NOR, GL_ALWAYS, GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS, GL_BUFFER_DATA_SIZE, +GL_TEXTURE6, GL_MAX_NUM_COMPATIBLE_SUBROUTINES, GL_MAX_GEOMETRY_ATOMIC_COUNTERS, GL_MAX_TEXTURE_MAX_ANISOTROPY, GL_DRAW_BUFFER10, +GL_IMAGE_PIXEL_TYPE, GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS, GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR, GL_COMPUTE_SUBROUTINE, GL_SMOOTH_POINT_SIZE_RANGE, +GL_PROGRAM_BINARY_RETRIEVABLE_HINT, GL_MAX_VERTEX_STREAMS, GL_VIEW_CLASS_16_BITS, GL_DEBUG_CALLBACK_USER_PARAM, GL_DRAW_INDIRECT_BUFFER_BINDING, +GL_TEXTURE_RED_SIZE, GL_IMAGE_CLASS_11_11_10, GL_TEXTURE30, GL_MAX_VERTEX_ATOMIC_COUNTERS, GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2, +GL_DOUBLE_VEC2, GL_UNSIGNED_INT_5_9_9_9_REV, GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_COLOR_ATTACHMENT19, +GL_FRAGMENT_SHADER_BIT, GL_QUERY_BY_REGION_NO_WAIT, GL_SYNC_FLUSH_COMMANDS_BIT, GL_QUERY, GL_DYNAMIC_STORAGE_BIT, +GL_MIRRORED_REPEAT, GL_FRAMEBUFFER_SRGB, GL_MAX_FRAMEBUFFER_LAYERS, GL_VIEW_CLASS_S3TC_DXT1_RGB, GL_INT_IMAGE_1D, +GL_TEXTURE_BINDING_CUBE_MAP_ARRAY, GL_TEXTURE_BINDING_CUBE_MAP, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_STENCIL_FUNC, GL_UNSIGNED_SHORT_1_5_5_5_REV, +GL_BUFFER_USAGE, GL_MAX_UNIFORM_BLOCK_SIZE, GL_DRAW_BUFFER0, GL_GEOMETRY_SUBROUTINE_UNIFORM, GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS, +GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY, GL_FIRST_VERTEX_CONVENTION, GL_ACTIVE_SUBROUTINE_UNIFORMS, GL_STENCIL_ATTACHMENT, GL_DEBUG_TYPE_PERFORMANCE, +GL_VIEW_CLASS_S3TC_DXT1_RGBA, GL_DEBUG_OUTPUT, GL_COLOR_ATTACHMENT15, GL_HALF_FLOAT, GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE, +GL_UNPACK_COMPRESSED_BLOCK_HEIGHT, GL_TRANSFORM_FEEDBACK_BUFFER_INDEX, GL_BUFFER_MAP_POINTER, GL_UNPACK_COMPRESSED_BLOCK_DEPTH, GL_PACK_COMPRESSED_BLOCK_SIZE, +GL_REFERENCED_BY_TESS_CONTROL_SHADER, GL_UNPACK_SKIP_ROWS, GL_PROGRAM_BINARY_LENGTH, GL_READ_FRAMEBUFFER_BINDING, GL_COMPRESSED_RED_RGTC1, +GL_ONE_MINUS_CONSTANT_ALPHA, GL_QUERY_BY_REGION_WAIT_INVERTED, GL_IMAGE_CLASS_2_X_16, GL_DEBUG_SOURCE_OTHER, GL_SAMPLER_2D_RECT, +GL_SAMPLE_ALPHA_TO_COVERAGE, GL_SYNC_CONDITION, GL_DELETE_STATUS, GL_RG16I, GL_DEPTH_FUNC, +GL_TEXTURE_VIEW, GL_DRAW_BUFFER5, GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE, GL_AND_INVERTED, GL_TEXTURE_CUBE_MAP_ARRAY, +GL_INCR_WRAP, GL_GEOMETRY_INPUT_TYPE, GL_ONE_MINUS_DST_COLOR, GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS, GL_VIEW_CLASS_RGTC2_RG, +GL_SHADING_LANGUAGE_VERSION, GL_PACK_SWAP_BYTES, GL_CONTEXT_CORE_PROFILE_BIT, GL_IMPLEMENTATION_COLOR_READ_FORMAT, GL_IMAGE_CLASS_4_X_16, +GL_MAX_TESS_GEN_LEVEL, GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS, GL_CONTEXT_FLAG_DEBUG_BIT, GL_RGBA16UI, GL_POINT_FADE_THRESHOLD_SIZE, +GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST, GL_TEXTURE_2D_MULTISAMPLE_ARRAY, GL_INT_IMAGE_CUBE, GL_INT_IMAGE_2D, GL_CLIP_DISTANCE7, +GL_RG16_SNORM, GL_TRANSFORM_FEEDBACK_BUFFER_SIZE, GL_DEBUG_LOGGED_MESSAGES, GL_COMPRESSED_RG, GL_RGB4, +GL_UNSIGNED_SHORT_5_6_5_REV, GL_COMMAND_BARRIER_BIT, GL_RGBA12, GL_POLYGON_OFFSET_UNITS, GL_MAX_VERTEX_ATTRIBS, +GL_KEEP, GL_POINT_SIZE_RANGE, GL_TEXTURE21, GL_RGB10_A2, GL_SMOOTH_LINE_WIDTH_GRANULARITY, +GL_MAX_COLOR_ATTACHMENTS, GL_PATCHES, GL_SRGB_WRITE, GL_MAX_TESS_PATCH_COMPONENTS, GL_VIEWPORT_BOUNDS_RANGE, +GL_TRANSFORM_FEEDBACK_PAUSED, GL_R32F, GL_MAX_ARRAY_TEXTURE_LAYERS, GL_SAMPLER_2D_RECT_SHADOW, GL_TEXTURE_HEIGHT, +GL_STENCIL_INDEX8, GL_TEXTURE14, GL_DEBUG_SOURCE_THIRD_PARTY, GL_PIXEL_UNPACK_BUFFER, GL_COLOR_ENCODING, +GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_IMMUTABLE_FORMAT, GL_TEXTURE10, GL_SYNC_FLAGS, GL_OBJECT_TYPE, +GL_CAVEAT_SUPPORT, GL_MULTISAMPLE, GL_INT_IMAGE_BUFFER, GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE, GL_ONE, +GL_MAX_VERTEX_IMAGE_UNIFORMS, GL_QUERY_TARGET, GL_POLYGON_OFFSET_FACTOR, GL_UNSIGNED_INT_SAMPLER_CUBE, GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY, +GL_MAX_FRAMEBUFFER_HEIGHT, GL_CLIP_DISTANCE4, GL_NUM_ACTIVE_VARIABLES, GL_REFERENCED_BY_FRAGMENT_SHADER, GL_COLOR_ATTACHMENT18, +GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, GL_TEXTURE18, GL_READ_BUFFER, GL_BYTE, GL_LOW_INT, +GL_POINT, GL_STENCIL_TEST, GL_COLOR, GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS, GL_COPY_WRITE_BUFFER, +GL_TESS_GEN_POINT_MODE, GL_INVALID_FRAMEBUFFER_OPERATION, GL_MAX_IMAGE_UNITS, GL_TEXTURE_DEPTH, GL_BLEND_SRC, +GL_WRITE_ONLY, GL_DEPTH_STENCIL_ATTACHMENT, GL_SAMPLER_2D_ARRAY_SHADOW, GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE, GL_POINT_SIZE, +GL_COLOR_RENDERABLE, GL_MAX_GEOMETRY_SHADER_INVOCATIONS, GL_TEXTURE_ALPHA_SIZE, GL_DRAW_BUFFER14, GL_CLEAR_BUFFER, +GL_ACTIVE_UNIFORM_MAX_LENGTH, GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES, GL_MAX_SAMPLES, GL_TEXTURE9, GL_UNIFORM_BARRIER_BIT, +GL_DRAW_BUFFER13, GL_MAX_ELEMENTS_INDICES, GL_QUERY_RESULT, GL_INVALID_OPERATION, GL_RGB16I, +GL_MAX_VIEWPORTS, GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR, GL_LINE, GL_ATOMIC_COUNTER_BUFFER_SIZE, GL_TEXTURE_DEPTH_TYPE, +GL_ARRAY_STRIDE, GL_TEXTURE_3D, GL_SAMPLER_1D_ARRAY, GL_FRAGMENT_INTERPOLATION_OFFSET_BITS, GL_UNSIGNED_INT_IMAGE_CUBE, +GL_RGBA32F, GL_MAX_GEOMETRY_OUTPUT_VERTICES, GL_FRACTIONAL_EVEN, GL_REFERENCED_BY_COMPUTE_SHADER, GL_TESS_GEN_MODE, +GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS, GL_CONSTANT_ALPHA, GL_UNSIGNED_INT_2_10_10_10_REV, GL_IMAGE_PIXEL_FORMAT, GL_SAMPLES_PASSED, +GL_TEXTURE_VIEW_MIN_LEVEL, GL_COLOR_COMPONENTS, GL_TEXTURE27, GL_UNSIGNED_INT_SAMPLER_2D_ARRAY, GL_VERTEX_ATTRIB_RELATIVE_OFFSET, +GL_FLOAT, GL_UNSIGNED_INT_ATOMIC_COUNTER, GL_SAMPLER, GL_VERTEX_ATTRIB_ARRAY_LONG, GL_VERTEX_PROGRAM_POINT_SIZE, +GL_TEXTURE8, GL_IS_ROW_MAJOR, GL_VIEWPORT_INDEX_PROVOKING_VERTEX, GL_OR_INVERTED, GL_COMPUTE_SHADER, +GL_FRAGMENT_SUBROUTINE_UNIFORM, GL_SPIR_V_BINARY, GL_COLOR_ATTACHMENT29, GL_CLIP_ORIGIN, GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH, +GL_GEOMETRY_OUTPUT_TYPE, GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS, GL_MAX_FRAGMENT_INPUT_COMPONENTS, GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS, GL_DOUBLE_MAT2x4, +GL_BLUE_INTEGER, GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH, GL_UNDEFINED_VERTEX, GL_NO_RESET_NOTIFICATION, GL_TEXTURE_COMPARE_FUNC, +GL_DOUBLE_MAT3x4, GL_FRONT_RIGHT, GL_STENCIL_BACK_FAIL, GL_UNSIGNED_BYTE_2_3_3_REV, GL_MIN_MAP_BUFFER_ALIGNMENT, +GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS, GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS, GL_SAMPLER_2D_SHADOW, GL_PROXY_COLOR_TABLE, GL_FRAGMENT_SHADER, +GL_GEOMETRY_SUBROUTINE, GL_DRAW_FRAMEBUFFER, GL_GET_TEXTURE_IMAGE_TYPE, GL_TIMEOUT_IGNORED, GL_SEPARATE_ATTRIBS, +GL_OUT_OF_MEMORY, GL_DEBUG_TYPE_OTHER, GL_PIXEL_BUFFER_BARRIER_BIT, GL_LINE_WIDTH_GRANULARITY, GL_ATOMIC_COUNTER_BARRIER_BIT, +GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER, GL_BUFFER_UPDATE_BARRIER_BIT, GL_UNIFORM_BUFFER_BINDING, GL_IMAGE_CLASS_1_X_16, GL_R16F, +GL_SAMPLE_MASK, GL_IMAGE_2D_RECT, GL_SRGB, GL_ZERO, GL_UNSIGNED_INT_IMAGE_1D, +GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED, GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE, GL_TEXTURE0, GL_COMPRESSED_RGBA_BPTC_UNORM, GL_TRANSFORM_FEEDBACK_BUFFER, +GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS, GL_TESS_GEN_SPACING, GL_TEXTURE7, GL_DEPTH24_STENCIL8, GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY, +GL_FLOAT_MAT4, GL_FRAGMENT_SHADER_DERIVATIVE_HINT, GL_SMOOTH_LINE_WIDTH_RANGE, GL_TESS_CONTROL_SHADER, GL_STACK_UNDERFLOW, +GL_BLEND_SRC_ALPHA, GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS, GL_DRAW_BUFFER3, GL_TEXTURE_VIEW_NUM_LAYERS, GL_TESS_EVALUATION_SUBROUTINE, +GL_SRGB8_ALPHA8, GL_VERTEX_ARRAY, GL_RG16, GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET, GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS, +GL_COMPRESSED_SIGNED_RG11_EAC, GL_RGB16UI, GL_R8I, GL_MAX_IMAGE_SAMPLES, GL_POLYGON_OFFSET_POINT, +GL_RGB10, GL_LEQUAL, GL_COLOR_ATTACHMENT17, GL_CLIP_DISTANCE0, GL_PROGRAM_PIPELINE_BINDING, +GL_INTERNALFORMAT_DEPTH_TYPE, GL_MAX_COMPUTE_UNIFORM_COMPONENTS, GL_VIEW_CLASS_128_BITS, GL_RGB8, GL_BLEND_SRC_RGB, +GL_UNSIGNED_SHORT_5_5_5_1, GL_CONTEXT_FLAGS, GL_TEXTURE_ALPHA_TYPE, GL_UNKNOWN_CONTEXT_RESET, GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE, +GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS, GL_NOTEQUAL, GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM, GL_UNPACK_ROW_LENGTH, GL_ELEMENT_ARRAY_BUFFER_BINDING, +GL_COLOR_ATTACHMENT9, GL_DEBUG_SOURCE_WINDOW_SYSTEM, GL_ATTACHED_SHADERS, GL_TEXTURE_DEPTH_SIZE, GL_SUBPIXEL_BITS, +GL_DEBUG_TYPE_MARKER, GL_VIEW_CLASS_96_BITS, GL_TEXTURE22, GL_RGBA_INTEGER, GL_MAP_FLUSH_EXPLICIT_BIT, +GL_INT_VEC4, GL_CLEAR_TEXTURE, GL_R3_G3_B2, GL_COLOR_ATTACHMENT24, GL_INT_SAMPLER_2D_MULTISAMPLE, +GL_DEPTH, GL_AND_REVERSE, GL_RG, GL_UNSIGNED_SHORT_4_4_4_4, GL_RGB16F, +GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES, GL_BLOCK_INDEX, GL_SAMPLES, GL_TRIANGLES_ADJACENCY, GL_DST_ALPHA, +GL_TYPE, GL_COLOR_ATTACHMENT21, GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS, GL_BUFFER_ACCESS_FLAGS, GL_POINTS, +GL_MAX_ELEMENTS_VERTICES, GL_DEPTH_COMPONENT16, GL_STATIC_DRAW, GL_IMAGE_CLASS_2_X_32, GL_TRANSFORM_FEEDBACK_BUFFER_BINDING, +GL_STENCIL_COMPONENTS, GL_RENDERBUFFER_SAMPLES, GL_INTERNALFORMAT_SUPPORTED, GL_RENDERBUFFER, GL_REFERENCED_BY_GEOMETRY_SHADER, +GL_BLEND_DST_ALPHA, GL_MAX_GEOMETRY_INPUT_COMPONENTS, GL_IMAGE_3D, GL_COLOR_ATTACHMENT30, GL_IMAGE_2D, +GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS, GL_STREAM_COPY, GL_FRAMEBUFFER_BINDING, GL_MAX_FRAGMENT_IMAGE_UNIFORMS, GL_INVALID_ENUM, +GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS, GL_RG16UI, GL_RGB32I, GL_RGB5_A1, GL_BOOL, +GL_UNIFORM_MATRIX_STRIDE, GL_FRAMEBUFFER_DEFAULT_SAMPLES, GL_RGB16_SNORM, GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT, GL_MAX_COMPUTE_IMAGE_UNIFORMS, +GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS, GL_TEXTURE_INTERNAL_FORMAT, GL_SAMPLER_1D_SHADOW, GL_POLYGON_OFFSET_FILL, GL_DEPTH_CLAMP, +GL_POLYGON_MODE, GL_INTERLEAVED_ATTRIBS, GL_ATOMIC_COUNTER_BUFFER_INDEX, GL_MINOR_VERSION, GL_COMPRESSED_RGBA8_ETC2_EAC, +GL_PROGRAM_SEPARABLE, GL_TEXTURE_RED_TYPE, GL_DEBUG_SOURCE_API, GL_CONSTANT_COLOR, GL_MAP_WRITE_BIT, +GL_UNIFORM_OFFSET, GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS, GL_UNIFORM_BLOCK_DATA_SIZE, GL_REPLACE, GL_TESS_EVALUATION_TEXTURE, +GL_LINE_STRIP, GL_COMPUTE_TEXTURE, GL_TEXTURE13, GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT, GL_UNSIGNED_INT_IMAGE_3D, +GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT, GL_VIEW_CLASS_BPTC_FLOAT, GL_PRIMITIVE_RESTART, GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY, GL_DEBUG_TYPE_POP_GROUP, +GL_MAP_PERSISTENT_BIT, GL_WAIT_FAILED, GL_INT_IMAGE_CUBE_MAP_ARRAY, GL_POLYGON_SMOOTH, GL_RGB16, +GL_REPEAT, GL_VIEW_CLASS_BPTC_UNORM, GL_RENDERBUFFER_HEIGHT, GL_IMAGE_BINDING_FORMAT, GL_DRAW_INDIRECT_BUFFER, +GL_ALIASED_LINE_WIDTH_RANGE, GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS, GL_STENCIL_WRITEMASK, GL_SHADER_BINARY_FORMAT_SPIR_V, GL_NEVER, +GL_DEBUG_SOURCE_SHADER_COMPILER, GL_PROXY_HISTOGRAM, GL_FRAMEBUFFER_DEFAULT, GL_MAX_VERTEX_UNIFORM_VECTORS, GL_ACTIVE_UNIFORMS, +GL_UNPACK_LSB_FIRST, GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY, GL_TESS_CONTROL_SHADER_PATCHES, GL_MAX_FRAMEBUFFER_SAMPLES, GL_DOUBLE_MAT2x3, +GL_TEXTURE28, GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH, GL_LOCATION_INDEX, GL_RGBA8UI, GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS, +GL_TEXTURE_MAX_ANISOTROPY, GL_RGBA16I, GL_CONTEXT_RELEASE_BEHAVIOR, GL_POLYGON_OFFSET_LINE, GL_POINT_SPRITE_COORD_ORIGIN, +GL_COPY, GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS, GL_POLYGON_SMOOTH_HINT, GL_INFO_LOG_LENGTH, GL_TEXTURE_2D_ARRAY, +GL_MIPMAP, GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING, GL_XOR, GL_BOOL_VEC4, GL_LAST_VERTEX_CONVENTION, +GL_INT_SAMPLER_CUBE_MAP_ARRAY, GL_DISPATCH_INDIRECT_BUFFER_BINDING, GL_TEXTURE25, GL_VERTEX_ATTRIB_ARRAY_POINTER, GL_MIN, +GL_MAX_TEXTURE_BUFFER_SIZE, GL_ALL_BARRIER_BITS, GL_DECR_WRAP, GL_SAMPLER_CUBE_MAP_ARRAY, GL_HIGH_INT, +GL_LINE_SMOOTH, GL_R11F_G11F_B10F, GL_RG8I, GL_MAX_TEXTURE_IMAGE_UNITS, GL_DEPTH_COMPONENT32, +GL_BLEND, GL_UNSIGNED_INT_VEC3, GL_VERTEX_BINDING_STRIDE, GL_VERTEX_BINDING_OFFSET, GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW, +GL_BGRA_INTEGER, GL_CONTEXT_COMPATIBILITY_PROFILE_BIT, GL_DEPTH32F_STENCIL8, GL_COLOR_ATTACHMENT26, GL_POST_COLOR_MATRIX_COLOR_TABLE, +GL_RGBA16, GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER, GL_RGBA32UI, GL_UNSIGNED_INT_8_8_8_8_REV, GL_COMPARE_REF_TO_TEXTURE, +GL_TEXTURE_SWIZZLE_A, GL_TRIANGLE_FAN, GL_IMAGE_BINDING_LAYERED, GL_DEBUG_SOURCE_APPLICATION, GL_CULL_FACE, +GL_TEXTURE_COMPRESSED_IMAGE_SIZE, GL_TEXTURE_BLUE_TYPE, GL_PROGRAM_PIPELINE, GL_TEXTURE_CUBE_MAP_SEAMLESS, GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE, +GL_SHADER_STORAGE_BUFFER_SIZE, GL_INT_VEC3, GL_VERTEX_SHADER_BIT, GL_TEXTURE_BUFFER_BINDING, GL_TEXTURE_SWIZZLE_G, +GL_DECR, GL_MAX_DEPTH, GL_INT_IMAGE_2D_RECT, GL_IMAGE_CLASS_4_X_8, GL_READ_FRAMEBUFFER, +GL_DEBUG_TYPE_PUSH_GROUP, GL_MAX_COLOR_TEXTURE_SAMPLES, GL_TEXTURE_BUFFER_OFFSET, GL_DEPTH_STENCIL, GL_INTERNALFORMAT_ALPHA_SIZE, +GL_SAMPLE_SHADING, GL_SAMPLE_BUFFERS, GL_TESS_CONTROL_SUBROUTINE_UNIFORM, GL_REFERENCED_BY_VERTEX_SHADER, GL_UNIFORM_TYPE, +GL_NONE, GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS, GL_BLEND_DST_RGB, GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE, GL_RGBA16_SNORM, +GL_ONE_MINUS_CONSTANT_COLOR, GL_COLOR_ATTACHMENT14, GL_CULL_FACE_MODE, GL_DEPTH_COMPONENT32F, GL_CW, +GL_MAX_3D_TEXTURE_SIZE, GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER, GL_UNSIGNED_INT_IMAGE_BUFFER, GL_IMAGE_CUBE_MAP_ARRAY, GL_RENDERBUFFER_GREEN_SIZE, +GL_COMPUTE_SUBROUTINE_UNIFORM, GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT, GL_QUERY_NO_WAIT_INVERTED, GL_VIEW_CLASS_32_BITS, GL_INT_SAMPLER_BUFFER, +GL_PROGRAM_INPUT, GL_TEXTURE_VIEW_MIN_LAYER, GL_COMPRESSED_RGBA, GL_DEBUG_OUTPUT_SYNCHRONOUS, GL_IMAGE_BINDING_NAME, +GL_ELEMENT_ARRAY_BUFFER, GL_PROXY_TEXTURE_RECTANGLE, GL_RGBA2, GL_TEXTURE_GATHER_SHADOW, GL_DRAW_BUFFER15, +GL_LINEAR_MIPMAP_LINEAR, GL_NUM_COMPRESSED_TEXTURE_FORMATS, GL_FRAMEBUFFER, GL_STENCIL_BACK_WRITEMASK, GL_TEXTURE4, +GL_VIEW_CLASS_24_BITS, GL_LINEAR, GL_TRANSFORM_FEEDBACK_BUFFER_MODE, GL_RGB10_A2UI, GL_SYNC_GPU_COMMANDS_COMPLETE, +GL_QUERY_BUFFER_BINDING, GL_QUERY_BY_REGION_NO_WAIT_INVERTED, GL_MINMAX, GL_PIXEL_PACK_BUFFER_BINDING, GL_EQUAL, +GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE, GL_RG32UI, GL_TEXTURE_GREEN_TYPE, GL_UNPACK_SKIP_IMAGES, GL_READ_ONLY, +GL_FULL_SUPPORT, GL_TRUE, GL_SRGB8, GL_BUFFER_STORAGE_FLAGS, GL_FASTEST, +GL_COLOR_ATTACHMENT5, GL_BACK_RIGHT, GL_TEXTURE_MAG_FILTER, GL_VERTICES_SUBMITTED, GL_TRIANGLES, +GL_TRANSFORM_FEEDBACK_OVERFLOW, GL_TEXTURE16, GL_DOUBLE_MAT2, GL_PROVOKING_VERTEX, GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS, +GL_UNPACK_ALIGNMENT, GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER, GL_BLUE, GL_DEBUG_SEVERITY_LOW, GL_PROGRAM_BINARY_FORMATS, +GL_MIN_SAMPLE_SHADING_VALUE, GL_VIEW_CLASS_8_BITS, GL_SIGNED_NORMALIZED, GL_BGRA, GL_TEXTURE_1D_ARRAY, +GL_BLEND_EQUATION_RGB, GL_AND, GL_AUTO_GENERATE_MIPMAP, GL_DEPTH_STENCIL_TEXTURE_MODE, GL_DEPTH_ATTACHMENT, +GL_UNIFORM_BLOCK_BINDING, GL_RENDERBUFFER_RED_SIZE, GL_COPY_READ_BUFFER, GL_TEXTURE11, GL_CLIP_DISTANCE6, +GL_LINK_STATUS, GL_FRACTIONAL_ODD, GL_IMAGE_1D, GL_STENCIL_BACK_PASS_DEPTH_PASS, GL_MAX_VERTEX_OUTPUT_COMPONENTS, +GL_PARAMETER_BUFFER, GL_INT_SAMPLER_2D_RECT, GL_SAMPLER_2D, GL_SAMPLER_BUFFER, GL_FRAMEBUFFER_BARRIER_BIT, +GL_DRAW_BUFFER8, GL_ZERO_TO_ONE, GL_COMPRESSED_RED, GL_TEXTURE_RECTANGLE, GL_TEXTURE_SHADOW, +GL_COPY_WRITE_BUFFER_BINDING, GL_IMAGE_CLASS_1_X_32, GL_FRAGMENT_SHADER_INVOCATIONS, GL_FIXED, GL_INTERNALFORMAT_RED_TYPE, +GL_RASTERIZER_DISCARD, GL_TRANSFORM_FEEDBACK_BINDING, GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER, GL_COMPRESSED_SRGB8_ETC2, GL_ACTIVE_VARIABLES, +GL_UNSIGNED_INT_8_8_8_8, GL_MAX_VARYING_VECTORS, GL_LINE_WIDTH_RANGE, GL_INT_IMAGE_2D_MULTISAMPLE, GL_RGBA16F, +GL_MAX_FRAGMENT_INTERPOLATION_OFFSET, GL_TEXTURE_BUFFER, GL_BUFFER_VARIABLE, GL_QUERY_BUFFER, GL_TRANSFORM_FEEDBACK_BARRIER_BIT, +GL_TEXTURE29, GL_DEPTH_BUFFER_BIT, GL_PARAMETER_BUFFER_BINDING, GL_MAX_GEOMETRY_UNIFORM_BLOCKS, GL_MAX_COMPUTE_WORK_GROUP_SIZE, +GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS, GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT, GL_SHADER_STORAGE_BUFFER, GL_DRAW_FRAMEBUFFER_BINDING, GL_MAX_SUBROUTINES, +GL_CONTEXT_FLAG_NO_ERROR_BIT, GL_MAX_DEBUG_GROUP_STACK_DEPTH, GL_CCW, GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER, GL_COLOR_ATTACHMENT4, +GL_UNIFORM_BUFFER, GL_STENCIL_PASS_DEPTH_FAIL, GL_FLOAT_VEC2, GL_TEXTURE_COMPRESSED, GL_ACTIVE_UNIFORM_BLOCKS, +GL_INTERNALFORMAT_GREEN_TYPE, GL_DISPLAY_LIST, GL_FUNC_REVERSE_SUBTRACT, GL_SHADER_IMAGE_LOAD, GL_NEAREST, +GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS, GL_DEBUG_TYPE_PORTABILITY, GL_CLIP_DISTANCE3, GL_PACK_SKIP_IMAGES, GL_CLIP_DISTANCE5, +GL_TEXTURE_STENCIL_SIZE, GL_MAX_FRAGMENT_UNIFORM_COMPONENTS, GL_GEOMETRY_TEXTURE, GL_INT, GL_BUFFER_MAP_LENGTH, +GL_IMPLEMENTATION_COLOR_READ_TYPE, GL_SAMPLE_ALPHA_TO_ONE, GL_UNIFORM_BUFFER_SIZE, GL_QUERY_RESULT_AVAILABLE, GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE, +GL_UNSIGNED_INT_SAMPLER_1D_ARRAY, GL_NUM_SAMPLE_COUNTS, GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE, GL_SHADER_STORAGE_BUFFER_START, GL_SHADER_IMAGE_ACCESS_BARRIER_BIT, +GL_ACTIVE_SUBROUTINE_MAX_LENGTH, GL_PROGRAM_POINT_SIZE, GL_MAP_INVALIDATE_BUFFER_BIT, GL_INTERNALFORMAT_STENCIL_TYPE, GL_MAX_VIEWPORT_DIMS, +GL_TEXTURE_SWIZZLE_R, GL_LOCATION_COMPONENT, GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH, GL_RGB_INTEGER, GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS, +GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT, GL_RGB5, GL_TEXTURE_MAX_LOD, GL_UNSIGNED_SHORT_5_6_5, GL_ACTIVE_TEXTURE, +GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2, GL_UNSIGNED_INT, GL_DOUBLE, GL_NEAREST_MIPMAP_LINEAR, GL_NO_ERROR, +GL_IMAGE_BUFFER, GL_CURRENT_VERTEX_ATTRIB, GL_HIGH_FLOAT, GL_COLOR_ATTACHMENT16, GL_LESS, +GL_TEXTURE_BINDING_3D, GL_COPY_INVERTED, GL_QUERY_RESULT_NO_WAIT, GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER, GL_PROGRAM_OUTPUT, +GL_ANY_SAMPLES_PASSED, GL_NICEST, GL_UNSIGNALED, GL_VIEW_CLASS_S3TC_DXT5_RGBA, GL_IMAGE_BINDING_LEVEL, +GL_MAX_DEBUG_MESSAGE_LENGTH, GL_SMOOTH_POINT_SIZE_GRANULARITY, GL_ATOMIC_COUNTER_BUFFER_START, GL_SYNC_STATUS, GL_COMPRESSED_RG_RGTC2, +GL_UNIFORM_SIZE, GL_TIMESTAMP, GL_TEXTURE19, GL_RGBA4, GL_TEXTURE_1D, +GL_ALREADY_SIGNALED, GL_CLIPPING_OUTPUT_PRIMITIVES, GL_SHADER_SOURCE_LENGTH, GL_PACK_COMPRESSED_BLOCK_DEPTH, GL_TEXTURE_MIN_FILTER, +GL_COMPRESSED_SIGNED_R11_EAC, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TOP_LEVEL_ARRAY_STRIDE, GL_CONVOLUTION_1D, GL_PIXEL_UNPACK_BUFFER_BINDING, +GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS, GL_RED_INTEGER, GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL, GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS, GL_READ_PIXELS_FORMAT, +GL_VIEW_CLASS_S3TC_DXT3_RGBA, GL_BUFFER_ACCESS, GL_MAX_SERVER_WAIT_TIMEOUT, GL_COLOR_CLEAR_VALUE, GL_INTERNALFORMAT_GREEN_SIZE, +GL_DRAW_BUFFER6, GL_ANY_SAMPLES_PASSED_CONSERVATIVE, GL_TEXTURE_GREEN_SIZE, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET, +GL_SAMPLER_BINDING, GL_SRC1_COLOR, GL_TEXTURE_BINDING_BUFFER, GL_MAX_DEPTH_TEXTURE_SAMPLES, GL_VERTEX_SUBROUTINE, +GL_GREATER, GL_FLOAT_MAT4x3, GL_TESS_CONTROL_SHADER_BIT, GL_MAX_HEIGHT, GL_VERTEX_SUBROUTINE_UNIFORM, +GL_UNSIGNED_INT_10_10_10_2, GL_GEOMETRY_SHADER_BIT, GL_LINEAR_MIPMAP_NEAREST, GL_TEXTURE_CUBE_MAP, GL_ACTIVE_SUBROUTINES, +GL_NUM_COMPATIBLE_SUBROUTINES, GL_SAMPLER_CUBE_SHADOW, GL_MAX_FRAGMENT_UNIFORM_VECTORS, GL_TEXTURE15, GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT, +GL_NEGATIVE_ONE_TO_ONE, GL_ATOMIC_COUNTER_BUFFER_BINDING, GL_TEXTURE_SAMPLES, GL_STENCIL_INDEX16, GL_UNSIGNED_BYTE, +GL_MAX_INTEGER_SAMPLES, GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED, GL_FALSE, GL_MAX_GEOMETRY_OUTPUT_COMPONENTS, GL_POLYGON_OFFSET_CLAMP, +GL_EQUIV, GL_MAX_GEOMETRY_UNIFORM_COMPONENTS, GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC, GL_TEXTURE_FIXED_SAMPLE_LOCATIONS, GL_BUFFER, +GL_DEBUG_SEVERITY_NOTIFICATION, GL_MAX_FRAMEBUFFER_WIDTH, GL_DRAW_BUFFER, GL_DEPTH_WRITEMASK, GL_COMPRESSED_RGB, +GL_MAX_VERTEX_UNIFORM_COMPONENTS, GL_FRAMEBUFFER_ATTACHMENT_LAYERED, GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN, GL_COLOR_ATTACHMENT23, GL_STENCIL_REF, +GL_IMAGE_BINDING_LAYER, GL_INT_SAMPLER_2D_ARRAY, GL_OFFSET, GL_CLAMP_TO_BORDER, GL_ONE_MINUS_SRC1_COLOR, +GL_FLOAT_MAT3, GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE, GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS, GL_R16I, GL_TEXTURE_BASE_LEVEL, +GL_MAX_ELEMENT_INDEX, GL_LINES, GL_MAX_COMPUTE_UNIFORM_BLOCKS, GL_SCISSOR_TEST, GL_RIGHT, +GL_FLOAT_VEC3, GL_FILL, GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER, GL_SET, GL_GEOMETRY_VERTICES_OUT, +GL_MAX_COMPUTE_SHARED_MEMORY_SIZE, GL_NEAREST_MIPMAP_NEAREST, GL_COMPUTE_WORK_GROUP_SIZE, GL_MIN_FRAGMENT_INTERPOLATION_OFFSET, GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, +GL_FLOAT_32_UNSIGNED_INT_24_8_REV, GL_TRANSFORM_FEEDBACK_ACTIVE, GL_TEXTURE_WRAP_S, GL_TEXTURE_SHARED_SIZE, GL_MAX_DEBUG_LOGGED_MESSAGES, +GL_LINE_SMOOTH_HINT, GL_MAP_COHERENT_BIT, GL_TEXTURE_WRAP_T, GL_BGR, GL_TRANSFORM_FEEDBACK_BUFFER_START, +GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE, GL_RGB32UI, GL_TEXTURE_VIEW_NUM_LEVELS, GL_COLOR_ATTACHMENT20, GL_PATCH_DEFAULT_OUTER_LEVEL, +GL_MAX_UNIFORM_BUFFER_BINDINGS, GL_IS_PER_PATCH, GL_RG8_SNORM, GL_MATRIX_STRIDE, GL_SHADER_STORAGE_BLOCK, +GL_STENCIL_INDEX, GL_DOUBLE_MAT3x2, GL_SAMPLER_3D, GL_PROGRAM, GL_TEXTURE_IMMUTABLE_LEVELS, +GL_MAX_UNIFORM_LOCATIONS, GL_LINES_ADJACENCY, GL_R32I, GL_TEXTURE_IMAGE_FORMAT, GL_DEPTH_COMPONENT24, +GL_INT_SAMPLER_3D, GL_VERTEX_SHADER, GL_RENDERER, GL_INT_IMAGE_3D, GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS, +GL_LINE_LOOP, GL_BUFFER_MAPPED, GL_MAX_NUM_ACTIVE_VARIABLES, GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS, GL_BUFFER_MAP_OFFSET, +GL_INVALID_INDEX, GL_DRAW_BUFFER1, GL_FRAMEBUFFER_DEFAULT_LAYERS, GL_TESS_CONTROL_OUTPUT_VERTICES, GL_MAJOR_VERSION, +GL_DOUBLE_MAT4x2, GL_STREAM_DRAW, GL_SAMPLER_CUBE, GL_TESS_EVALUATION_SUBROUTINE_UNIFORM, GL_COMPUTE_SHADER_BIT, +GL_TEXTURE_COMPARE_MODE, GL_STENCIL_BACK_VALUE_MASK, GL_FRAMEBUFFER_BLEND, GL_BACK, GL_STENCIL_INDEX1, +GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_COMPRESSION_HINT, GL_RGBA8_SNORM, GL_ARRAY_BUFFER +; + diff --git a/libs/glad/glad/gl/loader.d b/libs/glad/glad/gl/loader.d new file mode 100644 index 0000000..230cca0 --- /dev/null +++ b/libs/glad/glad/gl/loader.d @@ -0,0 +1,1035 @@ +module glad.gl.loader; + + +private import glad.gl.funcs; +private import glad.gl.ext; +private import glad.gl.enums; +private import glad.gl.types; +alias Loader = void* delegate(const(char)*); + +version(Windows) { + private import core.sys.windows.windows; +} else { + private import core.sys.posix.dlfcn; +} + +version(Windows) { + private __gshared HMODULE libGL; +} else { + private __gshared void* libGL; +} +extern(System) private @nogc alias gladGetProcAddressPtrType = void* function(const(char)*); +private __gshared gladGetProcAddressPtrType gladGetProcAddressPtr; + +private +bool open_gl() @nogc { + version(Windows) { + libGL = LoadLibraryA("opengl32.dll"); + if(libGL !is null) { + gladGetProcAddressPtr = cast(typeof(gladGetProcAddressPtr))GetProcAddress( + libGL, "wglGetProcAddress"); + return gladGetProcAddressPtr !is null; + } + + return false; + } else { + version(OSX) { + enum const(char)*[] NAMES = [ + "../Frameworks/OpenGL.framework/OpenGL", + "/Library/Frameworks/OpenGL.framework/OpenGL", + "/System/Library/Frameworks/OpenGL.framework/OpenGL", + "/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL" + ]; + } else { + enum const(char)*[] NAMES = ["libGL.so.1", "libGL.so"]; + } + + foreach(name; NAMES) { + libGL = dlopen(name, RTLD_NOW | RTLD_GLOBAL); + if(libGL !is null) { + version(OSX) { + return true; + } else { + gladGetProcAddressPtr = cast(typeof(gladGetProcAddressPtr))dlsym(libGL, + "glXGetProcAddressARB"); + return gladGetProcAddressPtr !is null; + } + } + } + + return false; + } +} + +private +void* get_proc(const(char)* namez) @nogc { + if(libGL is null) return null; + void* result; + + if(gladGetProcAddressPtr !is null) { + result = gladGetProcAddressPtr(namez); + } + if(result is null) { + version(Windows) { + result = GetProcAddress(libGL, namez); + } else { + result = dlsym(libGL, namez); + } + } + + return result; +} + +private +void close_gl() @nogc { + version(Windows) { + if(libGL !is null) { + FreeLibrary(libGL); + libGL = null; + } + } else { + if(libGL !is null) { + dlclose(libGL); + libGL = null; + } + } +} + +bool gladLoadGL() { + bool status = false; + + if(open_gl()) { + status = gladLoadGL(x => get_proc(x)); + close_gl(); + } + + return status; +} + +static struct GLVersion { static int major = 0; static int minor = 0; } +private extern(C) char* strstr(const(char)*, const(char)*) @nogc; +private extern(C) int strcmp(const(char)*, const(char)*) @nogc; +private extern(C) int strncmp(const(char)*, const(char)*, size_t) @nogc; +private extern(C) size_t strlen(const(char)*) @nogc; +private bool has_ext(const(char)* ext) @nogc { + if(GLVersion.major < 3) { + const(char)* extensions = cast(const(char)*)glGetString(GL_EXTENSIONS); + const(char)* loc; + const(char)* terminator; + + if(extensions is null || ext is null) { + return false; + } + + while(1) { + loc = strstr(extensions, ext); + if(loc is null) { + return false; + } + + terminator = loc + strlen(ext); + if((loc is extensions || *(loc - 1) == ' ') && + (*terminator == ' ' || *terminator == '\0')) { + return true; + } + extensions = terminator; + } + } else { + int num; + glGetIntegerv(GL_NUM_EXTENSIONS, &num); + + for(uint i=0; i < cast(uint)num; i++) { + if(strcmp(cast(const(char)*)glGetStringi(GL_EXTENSIONS, i), ext) == 0) { + return true; + } + } + } + + return false; +} +bool gladLoadGL(Loader load) { + glGetString = cast(typeof(glGetString))load("glGetString"); + if(glGetString is null) { return false; } + if(glGetString(GL_VERSION) is null) { return false; } + + find_coreGL(); + load_GL_VERSION_1_0(load); + load_GL_VERSION_1_1(load); + load_GL_VERSION_1_2(load); + load_GL_VERSION_1_3(load); + load_GL_VERSION_1_4(load); + load_GL_VERSION_1_5(load); + load_GL_VERSION_2_0(load); + load_GL_VERSION_2_1(load); + load_GL_VERSION_3_0(load); + load_GL_VERSION_3_1(load); + load_GL_VERSION_3_2(load); + load_GL_VERSION_3_3(load); + load_GL_VERSION_4_0(load); + load_GL_VERSION_4_1(load); + load_GL_VERSION_4_2(load); + load_GL_VERSION_4_3(load); + load_GL_VERSION_4_4(load); + load_GL_VERSION_4_5(load); + load_GL_VERSION_4_6(load); + + find_extensionsGL(); + return GLVersion.major != 0 || GLVersion.minor != 0; +} + +private { + +void find_coreGL() { + + // Thank you @elmindreda + // https://github.com/elmindreda/greg/blob/master/templates/greg.c.in#L176 + // https://github.com/glfw/glfw/blob/master/src/context.c#L36 + int i; + const(char)* glversion; + const(char)*[] prefixes = [ + "OpenGL ES-CM ".ptr, + "OpenGL ES-CL ".ptr, + "OpenGL ES ".ptr, + ]; + + glversion = cast(const(char)*)glGetString(GL_VERSION); + if (glversion is null) return; + + foreach(prefix; prefixes) { + size_t length = strlen(prefix); + if (strncmp(glversion, prefix, length) == 0) { + glversion += length; + break; + } + } + + int major = glversion[0] - '0'; + int minor = glversion[2] - '0'; + GLVersion.major = major; GLVersion.minor = minor; + GL_VERSION_1_0 = (major == 1 && minor >= 0) || major > 1; + GL_VERSION_1_1 = (major == 1 && minor >= 1) || major > 1; + GL_VERSION_1_2 = (major == 1 && minor >= 2) || major > 1; + GL_VERSION_1_3 = (major == 1 && minor >= 3) || major > 1; + GL_VERSION_1_4 = (major == 1 && minor >= 4) || major > 1; + GL_VERSION_1_5 = (major == 1 && minor >= 5) || major > 1; + GL_VERSION_2_0 = (major == 2 && minor >= 0) || major > 2; + GL_VERSION_2_1 = (major == 2 && minor >= 1) || major > 2; + GL_VERSION_3_0 = (major == 3 && minor >= 0) || major > 3; + GL_VERSION_3_1 = (major == 3 && minor >= 1) || major > 3; + GL_VERSION_3_2 = (major == 3 && minor >= 2) || major > 3; + GL_VERSION_3_3 = (major == 3 && minor >= 3) || major > 3; + GL_VERSION_4_0 = (major == 4 && minor >= 0) || major > 4; + GL_VERSION_4_1 = (major == 4 && minor >= 1) || major > 4; + GL_VERSION_4_2 = (major == 4 && minor >= 2) || major > 4; + GL_VERSION_4_3 = (major == 4 && minor >= 3) || major > 4; + GL_VERSION_4_4 = (major == 4 && minor >= 4) || major > 4; + GL_VERSION_4_5 = (major == 4 && minor >= 5) || major > 4; + GL_VERSION_4_6 = (major == 4 && minor >= 6) || major > 4; + return; +} + +void find_extensionsGL() { + return; +} + +void load_GL_VERSION_1_0(Loader load) { + if(!GL_VERSION_1_0) return; + glCullFace = cast(typeof(glCullFace))load("glCullFace"); + glFrontFace = cast(typeof(glFrontFace))load("glFrontFace"); + glHint = cast(typeof(glHint))load("glHint"); + glLineWidth = cast(typeof(glLineWidth))load("glLineWidth"); + glPointSize = cast(typeof(glPointSize))load("glPointSize"); + glPolygonMode = cast(typeof(glPolygonMode))load("glPolygonMode"); + glScissor = cast(typeof(glScissor))load("glScissor"); + glTexParameterf = cast(typeof(glTexParameterf))load("glTexParameterf"); + glTexParameterfv = cast(typeof(glTexParameterfv))load("glTexParameterfv"); + glTexParameteri = cast(typeof(glTexParameteri))load("glTexParameteri"); + glTexParameteriv = cast(typeof(glTexParameteriv))load("glTexParameteriv"); + glTexImage1D = cast(typeof(glTexImage1D))load("glTexImage1D"); + glTexImage2D = cast(typeof(glTexImage2D))load("glTexImage2D"); + glDrawBuffer = cast(typeof(glDrawBuffer))load("glDrawBuffer"); + glClear = cast(typeof(glClear))load("glClear"); + glClearColor = cast(typeof(glClearColor))load("glClearColor"); + glClearStencil = cast(typeof(glClearStencil))load("glClearStencil"); + glClearDepth = cast(typeof(glClearDepth))load("glClearDepth"); + glStencilMask = cast(typeof(glStencilMask))load("glStencilMask"); + glColorMask = cast(typeof(glColorMask))load("glColorMask"); + glDepthMask = cast(typeof(glDepthMask))load("glDepthMask"); + glDisable = cast(typeof(glDisable))load("glDisable"); + glEnable = cast(typeof(glEnable))load("glEnable"); + glFinish = cast(typeof(glFinish))load("glFinish"); + glFlush = cast(typeof(glFlush))load("glFlush"); + glBlendFunc = cast(typeof(glBlendFunc))load("glBlendFunc"); + glLogicOp = cast(typeof(glLogicOp))load("glLogicOp"); + glStencilFunc = cast(typeof(glStencilFunc))load("glStencilFunc"); + glStencilOp = cast(typeof(glStencilOp))load("glStencilOp"); + glDepthFunc = cast(typeof(glDepthFunc))load("glDepthFunc"); + glPixelStoref = cast(typeof(glPixelStoref))load("glPixelStoref"); + glPixelStorei = cast(typeof(glPixelStorei))load("glPixelStorei"); + glReadBuffer = cast(typeof(glReadBuffer))load("glReadBuffer"); + glReadPixels = cast(typeof(glReadPixels))load("glReadPixels"); + glGetBooleanv = cast(typeof(glGetBooleanv))load("glGetBooleanv"); + glGetDoublev = cast(typeof(glGetDoublev))load("glGetDoublev"); + glGetError = cast(typeof(glGetError))load("glGetError"); + glGetFloatv = cast(typeof(glGetFloatv))load("glGetFloatv"); + glGetIntegerv = cast(typeof(glGetIntegerv))load("glGetIntegerv"); + glGetString = cast(typeof(glGetString))load("glGetString"); + glGetTexImage = cast(typeof(glGetTexImage))load("glGetTexImage"); + glGetTexParameterfv = cast(typeof(glGetTexParameterfv))load("glGetTexParameterfv"); + glGetTexParameteriv = cast(typeof(glGetTexParameteriv))load("glGetTexParameteriv"); + glGetTexLevelParameterfv = cast(typeof(glGetTexLevelParameterfv))load("glGetTexLevelParameterfv"); + glGetTexLevelParameteriv = cast(typeof(glGetTexLevelParameteriv))load("glGetTexLevelParameteriv"); + glIsEnabled = cast(typeof(glIsEnabled))load("glIsEnabled"); + glDepthRange = cast(typeof(glDepthRange))load("glDepthRange"); + glViewport = cast(typeof(glViewport))load("glViewport"); + return; +} + +void load_GL_VERSION_1_1(Loader load) { + if(!GL_VERSION_1_1) return; + glDrawArrays = cast(typeof(glDrawArrays))load("glDrawArrays"); + glDrawElements = cast(typeof(glDrawElements))load("glDrawElements"); + glPolygonOffset = cast(typeof(glPolygonOffset))load("glPolygonOffset"); + glCopyTexImage1D = cast(typeof(glCopyTexImage1D))load("glCopyTexImage1D"); + glCopyTexImage2D = cast(typeof(glCopyTexImage2D))load("glCopyTexImage2D"); + glCopyTexSubImage1D = cast(typeof(glCopyTexSubImage1D))load("glCopyTexSubImage1D"); + glCopyTexSubImage2D = cast(typeof(glCopyTexSubImage2D))load("glCopyTexSubImage2D"); + glTexSubImage1D = cast(typeof(glTexSubImage1D))load("glTexSubImage1D"); + glTexSubImage2D = cast(typeof(glTexSubImage2D))load("glTexSubImage2D"); + glBindTexture = cast(typeof(glBindTexture))load("glBindTexture"); + glDeleteTextures = cast(typeof(glDeleteTextures))load("glDeleteTextures"); + glGenTextures = cast(typeof(glGenTextures))load("glGenTextures"); + glIsTexture = cast(typeof(glIsTexture))load("glIsTexture"); + return; +} + +void load_GL_VERSION_1_2(Loader load) { + if(!GL_VERSION_1_2) return; + glDrawRangeElements = cast(typeof(glDrawRangeElements))load("glDrawRangeElements"); + glTexImage3D = cast(typeof(glTexImage3D))load("glTexImage3D"); + glTexSubImage3D = cast(typeof(glTexSubImage3D))load("glTexSubImage3D"); + glCopyTexSubImage3D = cast(typeof(glCopyTexSubImage3D))load("glCopyTexSubImage3D"); + return; +} + +void load_GL_VERSION_1_3(Loader load) { + if(!GL_VERSION_1_3) return; + glActiveTexture = cast(typeof(glActiveTexture))load("glActiveTexture"); + glSampleCoverage = cast(typeof(glSampleCoverage))load("glSampleCoverage"); + glCompressedTexImage3D = cast(typeof(glCompressedTexImage3D))load("glCompressedTexImage3D"); + glCompressedTexImage2D = cast(typeof(glCompressedTexImage2D))load("glCompressedTexImage2D"); + glCompressedTexImage1D = cast(typeof(glCompressedTexImage1D))load("glCompressedTexImage1D"); + glCompressedTexSubImage3D = cast(typeof(glCompressedTexSubImage3D))load("glCompressedTexSubImage3D"); + glCompressedTexSubImage2D = cast(typeof(glCompressedTexSubImage2D))load("glCompressedTexSubImage2D"); + glCompressedTexSubImage1D = cast(typeof(glCompressedTexSubImage1D))load("glCompressedTexSubImage1D"); + glGetCompressedTexImage = cast(typeof(glGetCompressedTexImage))load("glGetCompressedTexImage"); + return; +} + +void load_GL_VERSION_1_4(Loader load) { + if(!GL_VERSION_1_4) return; + glBlendFuncSeparate = cast(typeof(glBlendFuncSeparate))load("glBlendFuncSeparate"); + glMultiDrawArrays = cast(typeof(glMultiDrawArrays))load("glMultiDrawArrays"); + glMultiDrawElements = cast(typeof(glMultiDrawElements))load("glMultiDrawElements"); + glPointParameterf = cast(typeof(glPointParameterf))load("glPointParameterf"); + glPointParameterfv = cast(typeof(glPointParameterfv))load("glPointParameterfv"); + glPointParameteri = cast(typeof(glPointParameteri))load("glPointParameteri"); + glPointParameteriv = cast(typeof(glPointParameteriv))load("glPointParameteriv"); + glBlendColor = cast(typeof(glBlendColor))load("glBlendColor"); + glBlendEquation = cast(typeof(glBlendEquation))load("glBlendEquation"); + return; +} + +void load_GL_VERSION_1_5(Loader load) { + if(!GL_VERSION_1_5) return; + glGenQueries = cast(typeof(glGenQueries))load("glGenQueries"); + glDeleteQueries = cast(typeof(glDeleteQueries))load("glDeleteQueries"); + glIsQuery = cast(typeof(glIsQuery))load("glIsQuery"); + glBeginQuery = cast(typeof(glBeginQuery))load("glBeginQuery"); + glEndQuery = cast(typeof(glEndQuery))load("glEndQuery"); + glGetQueryiv = cast(typeof(glGetQueryiv))load("glGetQueryiv"); + glGetQueryObjectiv = cast(typeof(glGetQueryObjectiv))load("glGetQueryObjectiv"); + glGetQueryObjectuiv = cast(typeof(glGetQueryObjectuiv))load("glGetQueryObjectuiv"); + glBindBuffer = cast(typeof(glBindBuffer))load("glBindBuffer"); + glDeleteBuffers = cast(typeof(glDeleteBuffers))load("glDeleteBuffers"); + glGenBuffers = cast(typeof(glGenBuffers))load("glGenBuffers"); + glIsBuffer = cast(typeof(glIsBuffer))load("glIsBuffer"); + glBufferData = cast(typeof(glBufferData))load("glBufferData"); + glBufferSubData = cast(typeof(glBufferSubData))load("glBufferSubData"); + glGetBufferSubData = cast(typeof(glGetBufferSubData))load("glGetBufferSubData"); + glMapBuffer = cast(typeof(glMapBuffer))load("glMapBuffer"); + glUnmapBuffer = cast(typeof(glUnmapBuffer))load("glUnmapBuffer"); + glGetBufferParameteriv = cast(typeof(glGetBufferParameteriv))load("glGetBufferParameteriv"); + glGetBufferPointerv = cast(typeof(glGetBufferPointerv))load("glGetBufferPointerv"); + return; +} + +void load_GL_VERSION_2_0(Loader load) { + if(!GL_VERSION_2_0) return; + glBlendEquationSeparate = cast(typeof(glBlendEquationSeparate))load("glBlendEquationSeparate"); + glDrawBuffers = cast(typeof(glDrawBuffers))load("glDrawBuffers"); + glStencilOpSeparate = cast(typeof(glStencilOpSeparate))load("glStencilOpSeparate"); + glStencilFuncSeparate = cast(typeof(glStencilFuncSeparate))load("glStencilFuncSeparate"); + glStencilMaskSeparate = cast(typeof(glStencilMaskSeparate))load("glStencilMaskSeparate"); + glAttachShader = cast(typeof(glAttachShader))load("glAttachShader"); + glBindAttribLocation = cast(typeof(glBindAttribLocation))load("glBindAttribLocation"); + glCompileShader = cast(typeof(glCompileShader))load("glCompileShader"); + glCreateProgram = cast(typeof(glCreateProgram))load("glCreateProgram"); + glCreateShader = cast(typeof(glCreateShader))load("glCreateShader"); + glDeleteProgram = cast(typeof(glDeleteProgram))load("glDeleteProgram"); + glDeleteShader = cast(typeof(glDeleteShader))load("glDeleteShader"); + glDetachShader = cast(typeof(glDetachShader))load("glDetachShader"); + glDisableVertexAttribArray = cast(typeof(glDisableVertexAttribArray))load("glDisableVertexAttribArray"); + glEnableVertexAttribArray = cast(typeof(glEnableVertexAttribArray))load("glEnableVertexAttribArray"); + glGetActiveAttrib = cast(typeof(glGetActiveAttrib))load("glGetActiveAttrib"); + glGetActiveUniform = cast(typeof(glGetActiveUniform))load("glGetActiveUniform"); + glGetAttachedShaders = cast(typeof(glGetAttachedShaders))load("glGetAttachedShaders"); + glGetAttribLocation = cast(typeof(glGetAttribLocation))load("glGetAttribLocation"); + glGetProgramiv = cast(typeof(glGetProgramiv))load("glGetProgramiv"); + glGetProgramInfoLog = cast(typeof(glGetProgramInfoLog))load("glGetProgramInfoLog"); + glGetShaderiv = cast(typeof(glGetShaderiv))load("glGetShaderiv"); + glGetShaderInfoLog = cast(typeof(glGetShaderInfoLog))load("glGetShaderInfoLog"); + glGetShaderSource = cast(typeof(glGetShaderSource))load("glGetShaderSource"); + glGetUniformLocation = cast(typeof(glGetUniformLocation))load("glGetUniformLocation"); + glGetUniformfv = cast(typeof(glGetUniformfv))load("glGetUniformfv"); + glGetUniformiv = cast(typeof(glGetUniformiv))load("glGetUniformiv"); + glGetVertexAttribdv = cast(typeof(glGetVertexAttribdv))load("glGetVertexAttribdv"); + glGetVertexAttribfv = cast(typeof(glGetVertexAttribfv))load("glGetVertexAttribfv"); + glGetVertexAttribiv = cast(typeof(glGetVertexAttribiv))load("glGetVertexAttribiv"); + glGetVertexAttribPointerv = cast(typeof(glGetVertexAttribPointerv))load("glGetVertexAttribPointerv"); + glIsProgram = cast(typeof(glIsProgram))load("glIsProgram"); + glIsShader = cast(typeof(glIsShader))load("glIsShader"); + glLinkProgram = cast(typeof(glLinkProgram))load("glLinkProgram"); + glShaderSource = cast(typeof(glShaderSource))load("glShaderSource"); + glUseProgram = cast(typeof(glUseProgram))load("glUseProgram"); + glUniform1f = cast(typeof(glUniform1f))load("glUniform1f"); + glUniform2f = cast(typeof(glUniform2f))load("glUniform2f"); + glUniform3f = cast(typeof(glUniform3f))load("glUniform3f"); + glUniform4f = cast(typeof(glUniform4f))load("glUniform4f"); + glUniform1i = cast(typeof(glUniform1i))load("glUniform1i"); + glUniform2i = cast(typeof(glUniform2i))load("glUniform2i"); + glUniform3i = cast(typeof(glUniform3i))load("glUniform3i"); + glUniform4i = cast(typeof(glUniform4i))load("glUniform4i"); + glUniform1fv = cast(typeof(glUniform1fv))load("glUniform1fv"); + glUniform2fv = cast(typeof(glUniform2fv))load("glUniform2fv"); + glUniform3fv = cast(typeof(glUniform3fv))load("glUniform3fv"); + glUniform4fv = cast(typeof(glUniform4fv))load("glUniform4fv"); + glUniform1iv = cast(typeof(glUniform1iv))load("glUniform1iv"); + glUniform2iv = cast(typeof(glUniform2iv))load("glUniform2iv"); + glUniform3iv = cast(typeof(glUniform3iv))load("glUniform3iv"); + glUniform4iv = cast(typeof(glUniform4iv))load("glUniform4iv"); + glUniformMatrix2fv = cast(typeof(glUniformMatrix2fv))load("glUniformMatrix2fv"); + glUniformMatrix3fv = cast(typeof(glUniformMatrix3fv))load("glUniformMatrix3fv"); + glUniformMatrix4fv = cast(typeof(glUniformMatrix4fv))load("glUniformMatrix4fv"); + glValidateProgram = cast(typeof(glValidateProgram))load("glValidateProgram"); + glVertexAttrib1d = cast(typeof(glVertexAttrib1d))load("glVertexAttrib1d"); + glVertexAttrib1dv = cast(typeof(glVertexAttrib1dv))load("glVertexAttrib1dv"); + glVertexAttrib1f = cast(typeof(glVertexAttrib1f))load("glVertexAttrib1f"); + glVertexAttrib1fv = cast(typeof(glVertexAttrib1fv))load("glVertexAttrib1fv"); + glVertexAttrib1s = cast(typeof(glVertexAttrib1s))load("glVertexAttrib1s"); + glVertexAttrib1sv = cast(typeof(glVertexAttrib1sv))load("glVertexAttrib1sv"); + glVertexAttrib2d = cast(typeof(glVertexAttrib2d))load("glVertexAttrib2d"); + glVertexAttrib2dv = cast(typeof(glVertexAttrib2dv))load("glVertexAttrib2dv"); + glVertexAttrib2f = cast(typeof(glVertexAttrib2f))load("glVertexAttrib2f"); + glVertexAttrib2fv = cast(typeof(glVertexAttrib2fv))load("glVertexAttrib2fv"); + glVertexAttrib2s = cast(typeof(glVertexAttrib2s))load("glVertexAttrib2s"); + glVertexAttrib2sv = cast(typeof(glVertexAttrib2sv))load("glVertexAttrib2sv"); + glVertexAttrib3d = cast(typeof(glVertexAttrib3d))load("glVertexAttrib3d"); + glVertexAttrib3dv = cast(typeof(glVertexAttrib3dv))load("glVertexAttrib3dv"); + glVertexAttrib3f = cast(typeof(glVertexAttrib3f))load("glVertexAttrib3f"); + glVertexAttrib3fv = cast(typeof(glVertexAttrib3fv))load("glVertexAttrib3fv"); + glVertexAttrib3s = cast(typeof(glVertexAttrib3s))load("glVertexAttrib3s"); + glVertexAttrib3sv = cast(typeof(glVertexAttrib3sv))load("glVertexAttrib3sv"); + glVertexAttrib4Nbv = cast(typeof(glVertexAttrib4Nbv))load("glVertexAttrib4Nbv"); + glVertexAttrib4Niv = cast(typeof(glVertexAttrib4Niv))load("glVertexAttrib4Niv"); + glVertexAttrib4Nsv = cast(typeof(glVertexAttrib4Nsv))load("glVertexAttrib4Nsv"); + glVertexAttrib4Nub = cast(typeof(glVertexAttrib4Nub))load("glVertexAttrib4Nub"); + glVertexAttrib4Nubv = cast(typeof(glVertexAttrib4Nubv))load("glVertexAttrib4Nubv"); + glVertexAttrib4Nuiv = cast(typeof(glVertexAttrib4Nuiv))load("glVertexAttrib4Nuiv"); + glVertexAttrib4Nusv = cast(typeof(glVertexAttrib4Nusv))load("glVertexAttrib4Nusv"); + glVertexAttrib4bv = cast(typeof(glVertexAttrib4bv))load("glVertexAttrib4bv"); + glVertexAttrib4d = cast(typeof(glVertexAttrib4d))load("glVertexAttrib4d"); + glVertexAttrib4dv = cast(typeof(glVertexAttrib4dv))load("glVertexAttrib4dv"); + glVertexAttrib4f = cast(typeof(glVertexAttrib4f))load("glVertexAttrib4f"); + glVertexAttrib4fv = cast(typeof(glVertexAttrib4fv))load("glVertexAttrib4fv"); + glVertexAttrib4iv = cast(typeof(glVertexAttrib4iv))load("glVertexAttrib4iv"); + glVertexAttrib4s = cast(typeof(glVertexAttrib4s))load("glVertexAttrib4s"); + glVertexAttrib4sv = cast(typeof(glVertexAttrib4sv))load("glVertexAttrib4sv"); + glVertexAttrib4ubv = cast(typeof(glVertexAttrib4ubv))load("glVertexAttrib4ubv"); + glVertexAttrib4uiv = cast(typeof(glVertexAttrib4uiv))load("glVertexAttrib4uiv"); + glVertexAttrib4usv = cast(typeof(glVertexAttrib4usv))load("glVertexAttrib4usv"); + glVertexAttribPointer = cast(typeof(glVertexAttribPointer))load("glVertexAttribPointer"); + return; +} + +void load_GL_VERSION_2_1(Loader load) { + if(!GL_VERSION_2_1) return; + glUniformMatrix2x3fv = cast(typeof(glUniformMatrix2x3fv))load("glUniformMatrix2x3fv"); + glUniformMatrix3x2fv = cast(typeof(glUniformMatrix3x2fv))load("glUniformMatrix3x2fv"); + glUniformMatrix2x4fv = cast(typeof(glUniformMatrix2x4fv))load("glUniformMatrix2x4fv"); + glUniformMatrix4x2fv = cast(typeof(glUniformMatrix4x2fv))load("glUniformMatrix4x2fv"); + glUniformMatrix3x4fv = cast(typeof(glUniformMatrix3x4fv))load("glUniformMatrix3x4fv"); + glUniformMatrix4x3fv = cast(typeof(glUniformMatrix4x3fv))load("glUniformMatrix4x3fv"); + return; +} + +void load_GL_VERSION_3_0(Loader load) { + if(!GL_VERSION_3_0) return; + glColorMaski = cast(typeof(glColorMaski))load("glColorMaski"); + glGetBooleani_v = cast(typeof(glGetBooleani_v))load("glGetBooleani_v"); + glGetIntegeri_v = cast(typeof(glGetIntegeri_v))load("glGetIntegeri_v"); + glEnablei = cast(typeof(glEnablei))load("glEnablei"); + glDisablei = cast(typeof(glDisablei))load("glDisablei"); + glIsEnabledi = cast(typeof(glIsEnabledi))load("glIsEnabledi"); + glBeginTransformFeedback = cast(typeof(glBeginTransformFeedback))load("glBeginTransformFeedback"); + glEndTransformFeedback = cast(typeof(glEndTransformFeedback))load("glEndTransformFeedback"); + glBindBufferRange = cast(typeof(glBindBufferRange))load("glBindBufferRange"); + glBindBufferBase = cast(typeof(glBindBufferBase))load("glBindBufferBase"); + glTransformFeedbackVaryings = cast(typeof(glTransformFeedbackVaryings))load("glTransformFeedbackVaryings"); + glGetTransformFeedbackVarying = cast(typeof(glGetTransformFeedbackVarying))load("glGetTransformFeedbackVarying"); + glClampColor = cast(typeof(glClampColor))load("glClampColor"); + glBeginConditionalRender = cast(typeof(glBeginConditionalRender))load("glBeginConditionalRender"); + glEndConditionalRender = cast(typeof(glEndConditionalRender))load("glEndConditionalRender"); + glVertexAttribIPointer = cast(typeof(glVertexAttribIPointer))load("glVertexAttribIPointer"); + glGetVertexAttribIiv = cast(typeof(glGetVertexAttribIiv))load("glGetVertexAttribIiv"); + glGetVertexAttribIuiv = cast(typeof(glGetVertexAttribIuiv))load("glGetVertexAttribIuiv"); + glVertexAttribI1i = cast(typeof(glVertexAttribI1i))load("glVertexAttribI1i"); + glVertexAttribI2i = cast(typeof(glVertexAttribI2i))load("glVertexAttribI2i"); + glVertexAttribI3i = cast(typeof(glVertexAttribI3i))load("glVertexAttribI3i"); + glVertexAttribI4i = cast(typeof(glVertexAttribI4i))load("glVertexAttribI4i"); + glVertexAttribI1ui = cast(typeof(glVertexAttribI1ui))load("glVertexAttribI1ui"); + glVertexAttribI2ui = cast(typeof(glVertexAttribI2ui))load("glVertexAttribI2ui"); + glVertexAttribI3ui = cast(typeof(glVertexAttribI3ui))load("glVertexAttribI3ui"); + glVertexAttribI4ui = cast(typeof(glVertexAttribI4ui))load("glVertexAttribI4ui"); + glVertexAttribI1iv = cast(typeof(glVertexAttribI1iv))load("glVertexAttribI1iv"); + glVertexAttribI2iv = cast(typeof(glVertexAttribI2iv))load("glVertexAttribI2iv"); + glVertexAttribI3iv = cast(typeof(glVertexAttribI3iv))load("glVertexAttribI3iv"); + glVertexAttribI4iv = cast(typeof(glVertexAttribI4iv))load("glVertexAttribI4iv"); + glVertexAttribI1uiv = cast(typeof(glVertexAttribI1uiv))load("glVertexAttribI1uiv"); + glVertexAttribI2uiv = cast(typeof(glVertexAttribI2uiv))load("glVertexAttribI2uiv"); + glVertexAttribI3uiv = cast(typeof(glVertexAttribI3uiv))load("glVertexAttribI3uiv"); + glVertexAttribI4uiv = cast(typeof(glVertexAttribI4uiv))load("glVertexAttribI4uiv"); + glVertexAttribI4bv = cast(typeof(glVertexAttribI4bv))load("glVertexAttribI4bv"); + glVertexAttribI4sv = cast(typeof(glVertexAttribI4sv))load("glVertexAttribI4sv"); + glVertexAttribI4ubv = cast(typeof(glVertexAttribI4ubv))load("glVertexAttribI4ubv"); + glVertexAttribI4usv = cast(typeof(glVertexAttribI4usv))load("glVertexAttribI4usv"); + glGetUniformuiv = cast(typeof(glGetUniformuiv))load("glGetUniformuiv"); + glBindFragDataLocation = cast(typeof(glBindFragDataLocation))load("glBindFragDataLocation"); + glGetFragDataLocation = cast(typeof(glGetFragDataLocation))load("glGetFragDataLocation"); + glUniform1ui = cast(typeof(glUniform1ui))load("glUniform1ui"); + glUniform2ui = cast(typeof(glUniform2ui))load("glUniform2ui"); + glUniform3ui = cast(typeof(glUniform3ui))load("glUniform3ui"); + glUniform4ui = cast(typeof(glUniform4ui))load("glUniform4ui"); + glUniform1uiv = cast(typeof(glUniform1uiv))load("glUniform1uiv"); + glUniform2uiv = cast(typeof(glUniform2uiv))load("glUniform2uiv"); + glUniform3uiv = cast(typeof(glUniform3uiv))load("glUniform3uiv"); + glUniform4uiv = cast(typeof(glUniform4uiv))load("glUniform4uiv"); + glTexParameterIiv = cast(typeof(glTexParameterIiv))load("glTexParameterIiv"); + glTexParameterIuiv = cast(typeof(glTexParameterIuiv))load("glTexParameterIuiv"); + glGetTexParameterIiv = cast(typeof(glGetTexParameterIiv))load("glGetTexParameterIiv"); + glGetTexParameterIuiv = cast(typeof(glGetTexParameterIuiv))load("glGetTexParameterIuiv"); + glClearBufferiv = cast(typeof(glClearBufferiv))load("glClearBufferiv"); + glClearBufferuiv = cast(typeof(glClearBufferuiv))load("glClearBufferuiv"); + glClearBufferfv = cast(typeof(glClearBufferfv))load("glClearBufferfv"); + glClearBufferfi = cast(typeof(glClearBufferfi))load("glClearBufferfi"); + glGetStringi = cast(typeof(glGetStringi))load("glGetStringi"); + glIsRenderbuffer = cast(typeof(glIsRenderbuffer))load("glIsRenderbuffer"); + glBindRenderbuffer = cast(typeof(glBindRenderbuffer))load("glBindRenderbuffer"); + glDeleteRenderbuffers = cast(typeof(glDeleteRenderbuffers))load("glDeleteRenderbuffers"); + glGenRenderbuffers = cast(typeof(glGenRenderbuffers))load("glGenRenderbuffers"); + glRenderbufferStorage = cast(typeof(glRenderbufferStorage))load("glRenderbufferStorage"); + glGetRenderbufferParameteriv = cast(typeof(glGetRenderbufferParameteriv))load("glGetRenderbufferParameteriv"); + glIsFramebuffer = cast(typeof(glIsFramebuffer))load("glIsFramebuffer"); + glBindFramebuffer = cast(typeof(glBindFramebuffer))load("glBindFramebuffer"); + glDeleteFramebuffers = cast(typeof(glDeleteFramebuffers))load("glDeleteFramebuffers"); + glGenFramebuffers = cast(typeof(glGenFramebuffers))load("glGenFramebuffers"); + glCheckFramebufferStatus = cast(typeof(glCheckFramebufferStatus))load("glCheckFramebufferStatus"); + glFramebufferTexture1D = cast(typeof(glFramebufferTexture1D))load("glFramebufferTexture1D"); + glFramebufferTexture2D = cast(typeof(glFramebufferTexture2D))load("glFramebufferTexture2D"); + glFramebufferTexture3D = cast(typeof(glFramebufferTexture3D))load("glFramebufferTexture3D"); + glFramebufferRenderbuffer = cast(typeof(glFramebufferRenderbuffer))load("glFramebufferRenderbuffer"); + glGetFramebufferAttachmentParameteriv = cast(typeof(glGetFramebufferAttachmentParameteriv))load("glGetFramebufferAttachmentParameteriv"); + glGenerateMipmap = cast(typeof(glGenerateMipmap))load("glGenerateMipmap"); + glBlitFramebuffer = cast(typeof(glBlitFramebuffer))load("glBlitFramebuffer"); + glRenderbufferStorageMultisample = cast(typeof(glRenderbufferStorageMultisample))load("glRenderbufferStorageMultisample"); + glFramebufferTextureLayer = cast(typeof(glFramebufferTextureLayer))load("glFramebufferTextureLayer"); + glMapBufferRange = cast(typeof(glMapBufferRange))load("glMapBufferRange"); + glFlushMappedBufferRange = cast(typeof(glFlushMappedBufferRange))load("glFlushMappedBufferRange"); + glBindVertexArray = cast(typeof(glBindVertexArray))load("glBindVertexArray"); + glDeleteVertexArrays = cast(typeof(glDeleteVertexArrays))load("glDeleteVertexArrays"); + glGenVertexArrays = cast(typeof(glGenVertexArrays))load("glGenVertexArrays"); + glIsVertexArray = cast(typeof(glIsVertexArray))load("glIsVertexArray"); + return; +} + +void load_GL_VERSION_3_1(Loader load) { + if(!GL_VERSION_3_1) return; + glDrawArraysInstanced = cast(typeof(glDrawArraysInstanced))load("glDrawArraysInstanced"); + glDrawElementsInstanced = cast(typeof(glDrawElementsInstanced))load("glDrawElementsInstanced"); + glTexBuffer = cast(typeof(glTexBuffer))load("glTexBuffer"); + glPrimitiveRestartIndex = cast(typeof(glPrimitiveRestartIndex))load("glPrimitiveRestartIndex"); + glCopyBufferSubData = cast(typeof(glCopyBufferSubData))load("glCopyBufferSubData"); + glGetUniformIndices = cast(typeof(glGetUniformIndices))load("glGetUniformIndices"); + glGetActiveUniformsiv = cast(typeof(glGetActiveUniformsiv))load("glGetActiveUniformsiv"); + glGetActiveUniformName = cast(typeof(glGetActiveUniformName))load("glGetActiveUniformName"); + glGetUniformBlockIndex = cast(typeof(glGetUniformBlockIndex))load("glGetUniformBlockIndex"); + glGetActiveUniformBlockiv = cast(typeof(glGetActiveUniformBlockiv))load("glGetActiveUniformBlockiv"); + glGetActiveUniformBlockName = cast(typeof(glGetActiveUniformBlockName))load("glGetActiveUniformBlockName"); + glUniformBlockBinding = cast(typeof(glUniformBlockBinding))load("glUniformBlockBinding"); + glBindBufferRange = cast(typeof(glBindBufferRange))load("glBindBufferRange"); + glBindBufferBase = cast(typeof(glBindBufferBase))load("glBindBufferBase"); + glGetIntegeri_v = cast(typeof(glGetIntegeri_v))load("glGetIntegeri_v"); + return; +} + +void load_GL_VERSION_3_2(Loader load) { + if(!GL_VERSION_3_2) return; + glDrawElementsBaseVertex = cast(typeof(glDrawElementsBaseVertex))load("glDrawElementsBaseVertex"); + glDrawRangeElementsBaseVertex = cast(typeof(glDrawRangeElementsBaseVertex))load("glDrawRangeElementsBaseVertex"); + glDrawElementsInstancedBaseVertex = cast(typeof(glDrawElementsInstancedBaseVertex))load("glDrawElementsInstancedBaseVertex"); + glMultiDrawElementsBaseVertex = cast(typeof(glMultiDrawElementsBaseVertex))load("glMultiDrawElementsBaseVertex"); + glProvokingVertex = cast(typeof(glProvokingVertex))load("glProvokingVertex"); + glFenceSync = cast(typeof(glFenceSync))load("glFenceSync"); + glIsSync = cast(typeof(glIsSync))load("glIsSync"); + glDeleteSync = cast(typeof(glDeleteSync))load("glDeleteSync"); + glClientWaitSync = cast(typeof(glClientWaitSync))load("glClientWaitSync"); + glWaitSync = cast(typeof(glWaitSync))load("glWaitSync"); + glGetInteger64v = cast(typeof(glGetInteger64v))load("glGetInteger64v"); + glGetSynciv = cast(typeof(glGetSynciv))load("glGetSynciv"); + glGetInteger64i_v = cast(typeof(glGetInteger64i_v))load("glGetInteger64i_v"); + glGetBufferParameteri64v = cast(typeof(glGetBufferParameteri64v))load("glGetBufferParameteri64v"); + glFramebufferTexture = cast(typeof(glFramebufferTexture))load("glFramebufferTexture"); + glTexImage2DMultisample = cast(typeof(glTexImage2DMultisample))load("glTexImage2DMultisample"); + glTexImage3DMultisample = cast(typeof(glTexImage3DMultisample))load("glTexImage3DMultisample"); + glGetMultisamplefv = cast(typeof(glGetMultisamplefv))load("glGetMultisamplefv"); + glSampleMaski = cast(typeof(glSampleMaski))load("glSampleMaski"); + return; +} + +void load_GL_VERSION_3_3(Loader load) { + if(!GL_VERSION_3_3) return; + glBindFragDataLocationIndexed = cast(typeof(glBindFragDataLocationIndexed))load("glBindFragDataLocationIndexed"); + glGetFragDataIndex = cast(typeof(glGetFragDataIndex))load("glGetFragDataIndex"); + glGenSamplers = cast(typeof(glGenSamplers))load("glGenSamplers"); + glDeleteSamplers = cast(typeof(glDeleteSamplers))load("glDeleteSamplers"); + glIsSampler = cast(typeof(glIsSampler))load("glIsSampler"); + glBindSampler = cast(typeof(glBindSampler))load("glBindSampler"); + glSamplerParameteri = cast(typeof(glSamplerParameteri))load("glSamplerParameteri"); + glSamplerParameteriv = cast(typeof(glSamplerParameteriv))load("glSamplerParameteriv"); + glSamplerParameterf = cast(typeof(glSamplerParameterf))load("glSamplerParameterf"); + glSamplerParameterfv = cast(typeof(glSamplerParameterfv))load("glSamplerParameterfv"); + glSamplerParameterIiv = cast(typeof(glSamplerParameterIiv))load("glSamplerParameterIiv"); + glSamplerParameterIuiv = cast(typeof(glSamplerParameterIuiv))load("glSamplerParameterIuiv"); + glGetSamplerParameteriv = cast(typeof(glGetSamplerParameteriv))load("glGetSamplerParameteriv"); + glGetSamplerParameterIiv = cast(typeof(glGetSamplerParameterIiv))load("glGetSamplerParameterIiv"); + glGetSamplerParameterfv = cast(typeof(glGetSamplerParameterfv))load("glGetSamplerParameterfv"); + glGetSamplerParameterIuiv = cast(typeof(glGetSamplerParameterIuiv))load("glGetSamplerParameterIuiv"); + glQueryCounter = cast(typeof(glQueryCounter))load("glQueryCounter"); + glGetQueryObjecti64v = cast(typeof(glGetQueryObjecti64v))load("glGetQueryObjecti64v"); + glGetQueryObjectui64v = cast(typeof(glGetQueryObjectui64v))load("glGetQueryObjectui64v"); + glVertexAttribDivisor = cast(typeof(glVertexAttribDivisor))load("glVertexAttribDivisor"); + glVertexAttribP1ui = cast(typeof(glVertexAttribP1ui))load("glVertexAttribP1ui"); + glVertexAttribP1uiv = cast(typeof(glVertexAttribP1uiv))load("glVertexAttribP1uiv"); + glVertexAttribP2ui = cast(typeof(glVertexAttribP2ui))load("glVertexAttribP2ui"); + glVertexAttribP2uiv = cast(typeof(glVertexAttribP2uiv))load("glVertexAttribP2uiv"); + glVertexAttribP3ui = cast(typeof(glVertexAttribP3ui))load("glVertexAttribP3ui"); + glVertexAttribP3uiv = cast(typeof(glVertexAttribP3uiv))load("glVertexAttribP3uiv"); + glVertexAttribP4ui = cast(typeof(glVertexAttribP4ui))load("glVertexAttribP4ui"); + glVertexAttribP4uiv = cast(typeof(glVertexAttribP4uiv))load("glVertexAttribP4uiv"); + glVertexP2ui = cast(typeof(glVertexP2ui))load("glVertexP2ui"); + glVertexP2uiv = cast(typeof(glVertexP2uiv))load("glVertexP2uiv"); + glVertexP3ui = cast(typeof(glVertexP3ui))load("glVertexP3ui"); + glVertexP3uiv = cast(typeof(glVertexP3uiv))load("glVertexP3uiv"); + glVertexP4ui = cast(typeof(glVertexP4ui))load("glVertexP4ui"); + glVertexP4uiv = cast(typeof(glVertexP4uiv))load("glVertexP4uiv"); + glTexCoordP1ui = cast(typeof(glTexCoordP1ui))load("glTexCoordP1ui"); + glTexCoordP1uiv = cast(typeof(glTexCoordP1uiv))load("glTexCoordP1uiv"); + glTexCoordP2ui = cast(typeof(glTexCoordP2ui))load("glTexCoordP2ui"); + glTexCoordP2uiv = cast(typeof(glTexCoordP2uiv))load("glTexCoordP2uiv"); + glTexCoordP3ui = cast(typeof(glTexCoordP3ui))load("glTexCoordP3ui"); + glTexCoordP3uiv = cast(typeof(glTexCoordP3uiv))load("glTexCoordP3uiv"); + glTexCoordP4ui = cast(typeof(glTexCoordP4ui))load("glTexCoordP4ui"); + glTexCoordP4uiv = cast(typeof(glTexCoordP4uiv))load("glTexCoordP4uiv"); + glMultiTexCoordP1ui = cast(typeof(glMultiTexCoordP1ui))load("glMultiTexCoordP1ui"); + glMultiTexCoordP1uiv = cast(typeof(glMultiTexCoordP1uiv))load("glMultiTexCoordP1uiv"); + glMultiTexCoordP2ui = cast(typeof(glMultiTexCoordP2ui))load("glMultiTexCoordP2ui"); + glMultiTexCoordP2uiv = cast(typeof(glMultiTexCoordP2uiv))load("glMultiTexCoordP2uiv"); + glMultiTexCoordP3ui = cast(typeof(glMultiTexCoordP3ui))load("glMultiTexCoordP3ui"); + glMultiTexCoordP3uiv = cast(typeof(glMultiTexCoordP3uiv))load("glMultiTexCoordP3uiv"); + glMultiTexCoordP4ui = cast(typeof(glMultiTexCoordP4ui))load("glMultiTexCoordP4ui"); + glMultiTexCoordP4uiv = cast(typeof(glMultiTexCoordP4uiv))load("glMultiTexCoordP4uiv"); + glNormalP3ui = cast(typeof(glNormalP3ui))load("glNormalP3ui"); + glNormalP3uiv = cast(typeof(glNormalP3uiv))load("glNormalP3uiv"); + glColorP3ui = cast(typeof(glColorP3ui))load("glColorP3ui"); + glColorP3uiv = cast(typeof(glColorP3uiv))load("glColorP3uiv"); + glColorP4ui = cast(typeof(glColorP4ui))load("glColorP4ui"); + glColorP4uiv = cast(typeof(glColorP4uiv))load("glColorP4uiv"); + glSecondaryColorP3ui = cast(typeof(glSecondaryColorP3ui))load("glSecondaryColorP3ui"); + glSecondaryColorP3uiv = cast(typeof(glSecondaryColorP3uiv))load("glSecondaryColorP3uiv"); + return; +} + +void load_GL_VERSION_4_0(Loader load) { + if(!GL_VERSION_4_0) return; + glMinSampleShading = cast(typeof(glMinSampleShading))load("glMinSampleShading"); + glBlendEquationi = cast(typeof(glBlendEquationi))load("glBlendEquationi"); + glBlendEquationSeparatei = cast(typeof(glBlendEquationSeparatei))load("glBlendEquationSeparatei"); + glBlendFunci = cast(typeof(glBlendFunci))load("glBlendFunci"); + glBlendFuncSeparatei = cast(typeof(glBlendFuncSeparatei))load("glBlendFuncSeparatei"); + glDrawArraysIndirect = cast(typeof(glDrawArraysIndirect))load("glDrawArraysIndirect"); + glDrawElementsIndirect = cast(typeof(glDrawElementsIndirect))load("glDrawElementsIndirect"); + glUniform1d = cast(typeof(glUniform1d))load("glUniform1d"); + glUniform2d = cast(typeof(glUniform2d))load("glUniform2d"); + glUniform3d = cast(typeof(glUniform3d))load("glUniform3d"); + glUniform4d = cast(typeof(glUniform4d))load("glUniform4d"); + glUniform1dv = cast(typeof(glUniform1dv))load("glUniform1dv"); + glUniform2dv = cast(typeof(glUniform2dv))load("glUniform2dv"); + glUniform3dv = cast(typeof(glUniform3dv))load("glUniform3dv"); + glUniform4dv = cast(typeof(glUniform4dv))load("glUniform4dv"); + glUniformMatrix2dv = cast(typeof(glUniformMatrix2dv))load("glUniformMatrix2dv"); + glUniformMatrix3dv = cast(typeof(glUniformMatrix3dv))load("glUniformMatrix3dv"); + glUniformMatrix4dv = cast(typeof(glUniformMatrix4dv))load("glUniformMatrix4dv"); + glUniformMatrix2x3dv = cast(typeof(glUniformMatrix2x3dv))load("glUniformMatrix2x3dv"); + glUniformMatrix2x4dv = cast(typeof(glUniformMatrix2x4dv))load("glUniformMatrix2x4dv"); + glUniformMatrix3x2dv = cast(typeof(glUniformMatrix3x2dv))load("glUniformMatrix3x2dv"); + glUniformMatrix3x4dv = cast(typeof(glUniformMatrix3x4dv))load("glUniformMatrix3x4dv"); + glUniformMatrix4x2dv = cast(typeof(glUniformMatrix4x2dv))load("glUniformMatrix4x2dv"); + glUniformMatrix4x3dv = cast(typeof(glUniformMatrix4x3dv))load("glUniformMatrix4x3dv"); + glGetUniformdv = cast(typeof(glGetUniformdv))load("glGetUniformdv"); + glGetSubroutineUniformLocation = cast(typeof(glGetSubroutineUniformLocation))load("glGetSubroutineUniformLocation"); + glGetSubroutineIndex = cast(typeof(glGetSubroutineIndex))load("glGetSubroutineIndex"); + glGetActiveSubroutineUniformiv = cast(typeof(glGetActiveSubroutineUniformiv))load("glGetActiveSubroutineUniformiv"); + glGetActiveSubroutineUniformName = cast(typeof(glGetActiveSubroutineUniformName))load("glGetActiveSubroutineUniformName"); + glGetActiveSubroutineName = cast(typeof(glGetActiveSubroutineName))load("glGetActiveSubroutineName"); + glUniformSubroutinesuiv = cast(typeof(glUniformSubroutinesuiv))load("glUniformSubroutinesuiv"); + glGetUniformSubroutineuiv = cast(typeof(glGetUniformSubroutineuiv))load("glGetUniformSubroutineuiv"); + glGetProgramStageiv = cast(typeof(glGetProgramStageiv))load("glGetProgramStageiv"); + glPatchParameteri = cast(typeof(glPatchParameteri))load("glPatchParameteri"); + glPatchParameterfv = cast(typeof(glPatchParameterfv))load("glPatchParameterfv"); + glBindTransformFeedback = cast(typeof(glBindTransformFeedback))load("glBindTransformFeedback"); + glDeleteTransformFeedbacks = cast(typeof(glDeleteTransformFeedbacks))load("glDeleteTransformFeedbacks"); + glGenTransformFeedbacks = cast(typeof(glGenTransformFeedbacks))load("glGenTransformFeedbacks"); + glIsTransformFeedback = cast(typeof(glIsTransformFeedback))load("glIsTransformFeedback"); + glPauseTransformFeedback = cast(typeof(glPauseTransformFeedback))load("glPauseTransformFeedback"); + glResumeTransformFeedback = cast(typeof(glResumeTransformFeedback))load("glResumeTransformFeedback"); + glDrawTransformFeedback = cast(typeof(glDrawTransformFeedback))load("glDrawTransformFeedback"); + glDrawTransformFeedbackStream = cast(typeof(glDrawTransformFeedbackStream))load("glDrawTransformFeedbackStream"); + glBeginQueryIndexed = cast(typeof(glBeginQueryIndexed))load("glBeginQueryIndexed"); + glEndQueryIndexed = cast(typeof(glEndQueryIndexed))load("glEndQueryIndexed"); + glGetQueryIndexediv = cast(typeof(glGetQueryIndexediv))load("glGetQueryIndexediv"); + return; +} + +void load_GL_VERSION_4_1(Loader load) { + if(!GL_VERSION_4_1) return; + glReleaseShaderCompiler = cast(typeof(glReleaseShaderCompiler))load("glReleaseShaderCompiler"); + glShaderBinary = cast(typeof(glShaderBinary))load("glShaderBinary"); + glGetShaderPrecisionFormat = cast(typeof(glGetShaderPrecisionFormat))load("glGetShaderPrecisionFormat"); + glDepthRangef = cast(typeof(glDepthRangef))load("glDepthRangef"); + glClearDepthf = cast(typeof(glClearDepthf))load("glClearDepthf"); + glGetProgramBinary = cast(typeof(glGetProgramBinary))load("glGetProgramBinary"); + glProgramBinary = cast(typeof(glProgramBinary))load("glProgramBinary"); + glProgramParameteri = cast(typeof(glProgramParameteri))load("glProgramParameteri"); + glUseProgramStages = cast(typeof(glUseProgramStages))load("glUseProgramStages"); + glActiveShaderProgram = cast(typeof(glActiveShaderProgram))load("glActiveShaderProgram"); + glCreateShaderProgramv = cast(typeof(glCreateShaderProgramv))load("glCreateShaderProgramv"); + glBindProgramPipeline = cast(typeof(glBindProgramPipeline))load("glBindProgramPipeline"); + glDeleteProgramPipelines = cast(typeof(glDeleteProgramPipelines))load("glDeleteProgramPipelines"); + glGenProgramPipelines = cast(typeof(glGenProgramPipelines))load("glGenProgramPipelines"); + glIsProgramPipeline = cast(typeof(glIsProgramPipeline))load("glIsProgramPipeline"); + glGetProgramPipelineiv = cast(typeof(glGetProgramPipelineiv))load("glGetProgramPipelineiv"); + glProgramParameteri = cast(typeof(glProgramParameteri))load("glProgramParameteri"); + glProgramUniform1i = cast(typeof(glProgramUniform1i))load("glProgramUniform1i"); + glProgramUniform1iv = cast(typeof(glProgramUniform1iv))load("glProgramUniform1iv"); + glProgramUniform1f = cast(typeof(glProgramUniform1f))load("glProgramUniform1f"); + glProgramUniform1fv = cast(typeof(glProgramUniform1fv))load("glProgramUniform1fv"); + glProgramUniform1d = cast(typeof(glProgramUniform1d))load("glProgramUniform1d"); + glProgramUniform1dv = cast(typeof(glProgramUniform1dv))load("glProgramUniform1dv"); + glProgramUniform1ui = cast(typeof(glProgramUniform1ui))load("glProgramUniform1ui"); + glProgramUniform1uiv = cast(typeof(glProgramUniform1uiv))load("glProgramUniform1uiv"); + glProgramUniform2i = cast(typeof(glProgramUniform2i))load("glProgramUniform2i"); + glProgramUniform2iv = cast(typeof(glProgramUniform2iv))load("glProgramUniform2iv"); + glProgramUniform2f = cast(typeof(glProgramUniform2f))load("glProgramUniform2f"); + glProgramUniform2fv = cast(typeof(glProgramUniform2fv))load("glProgramUniform2fv"); + glProgramUniform2d = cast(typeof(glProgramUniform2d))load("glProgramUniform2d"); + glProgramUniform2dv = cast(typeof(glProgramUniform2dv))load("glProgramUniform2dv"); + glProgramUniform2ui = cast(typeof(glProgramUniform2ui))load("glProgramUniform2ui"); + glProgramUniform2uiv = cast(typeof(glProgramUniform2uiv))load("glProgramUniform2uiv"); + glProgramUniform3i = cast(typeof(glProgramUniform3i))load("glProgramUniform3i"); + glProgramUniform3iv = cast(typeof(glProgramUniform3iv))load("glProgramUniform3iv"); + glProgramUniform3f = cast(typeof(glProgramUniform3f))load("glProgramUniform3f"); + glProgramUniform3fv = cast(typeof(glProgramUniform3fv))load("glProgramUniform3fv"); + glProgramUniform3d = cast(typeof(glProgramUniform3d))load("glProgramUniform3d"); + glProgramUniform3dv = cast(typeof(glProgramUniform3dv))load("glProgramUniform3dv"); + glProgramUniform3ui = cast(typeof(glProgramUniform3ui))load("glProgramUniform3ui"); + glProgramUniform3uiv = cast(typeof(glProgramUniform3uiv))load("glProgramUniform3uiv"); + glProgramUniform4i = cast(typeof(glProgramUniform4i))load("glProgramUniform4i"); + glProgramUniform4iv = cast(typeof(glProgramUniform4iv))load("glProgramUniform4iv"); + glProgramUniform4f = cast(typeof(glProgramUniform4f))load("glProgramUniform4f"); + glProgramUniform4fv = cast(typeof(glProgramUniform4fv))load("glProgramUniform4fv"); + glProgramUniform4d = cast(typeof(glProgramUniform4d))load("glProgramUniform4d"); + glProgramUniform4dv = cast(typeof(glProgramUniform4dv))load("glProgramUniform4dv"); + glProgramUniform4ui = cast(typeof(glProgramUniform4ui))load("glProgramUniform4ui"); + glProgramUniform4uiv = cast(typeof(glProgramUniform4uiv))load("glProgramUniform4uiv"); + glProgramUniformMatrix2fv = cast(typeof(glProgramUniformMatrix2fv))load("glProgramUniformMatrix2fv"); + glProgramUniformMatrix3fv = cast(typeof(glProgramUniformMatrix3fv))load("glProgramUniformMatrix3fv"); + glProgramUniformMatrix4fv = cast(typeof(glProgramUniformMatrix4fv))load("glProgramUniformMatrix4fv"); + glProgramUniformMatrix2dv = cast(typeof(glProgramUniformMatrix2dv))load("glProgramUniformMatrix2dv"); + glProgramUniformMatrix3dv = cast(typeof(glProgramUniformMatrix3dv))load("glProgramUniformMatrix3dv"); + glProgramUniformMatrix4dv = cast(typeof(glProgramUniformMatrix4dv))load("glProgramUniformMatrix4dv"); + glProgramUniformMatrix2x3fv = cast(typeof(glProgramUniformMatrix2x3fv))load("glProgramUniformMatrix2x3fv"); + glProgramUniformMatrix3x2fv = cast(typeof(glProgramUniformMatrix3x2fv))load("glProgramUniformMatrix3x2fv"); + glProgramUniformMatrix2x4fv = cast(typeof(glProgramUniformMatrix2x4fv))load("glProgramUniformMatrix2x4fv"); + glProgramUniformMatrix4x2fv = cast(typeof(glProgramUniformMatrix4x2fv))load("glProgramUniformMatrix4x2fv"); + glProgramUniformMatrix3x4fv = cast(typeof(glProgramUniformMatrix3x4fv))load("glProgramUniformMatrix3x4fv"); + glProgramUniformMatrix4x3fv = cast(typeof(glProgramUniformMatrix4x3fv))load("glProgramUniformMatrix4x3fv"); + glProgramUniformMatrix2x3dv = cast(typeof(glProgramUniformMatrix2x3dv))load("glProgramUniformMatrix2x3dv"); + glProgramUniformMatrix3x2dv = cast(typeof(glProgramUniformMatrix3x2dv))load("glProgramUniformMatrix3x2dv"); + glProgramUniformMatrix2x4dv = cast(typeof(glProgramUniformMatrix2x4dv))load("glProgramUniformMatrix2x4dv"); + glProgramUniformMatrix4x2dv = cast(typeof(glProgramUniformMatrix4x2dv))load("glProgramUniformMatrix4x2dv"); + glProgramUniformMatrix3x4dv = cast(typeof(glProgramUniformMatrix3x4dv))load("glProgramUniformMatrix3x4dv"); + glProgramUniformMatrix4x3dv = cast(typeof(glProgramUniformMatrix4x3dv))load("glProgramUniformMatrix4x3dv"); + glValidateProgramPipeline = cast(typeof(glValidateProgramPipeline))load("glValidateProgramPipeline"); + glGetProgramPipelineInfoLog = cast(typeof(glGetProgramPipelineInfoLog))load("glGetProgramPipelineInfoLog"); + glVertexAttribL1d = cast(typeof(glVertexAttribL1d))load("glVertexAttribL1d"); + glVertexAttribL2d = cast(typeof(glVertexAttribL2d))load("glVertexAttribL2d"); + glVertexAttribL3d = cast(typeof(glVertexAttribL3d))load("glVertexAttribL3d"); + glVertexAttribL4d = cast(typeof(glVertexAttribL4d))load("glVertexAttribL4d"); + glVertexAttribL1dv = cast(typeof(glVertexAttribL1dv))load("glVertexAttribL1dv"); + glVertexAttribL2dv = cast(typeof(glVertexAttribL2dv))load("glVertexAttribL2dv"); + glVertexAttribL3dv = cast(typeof(glVertexAttribL3dv))load("glVertexAttribL3dv"); + glVertexAttribL4dv = cast(typeof(glVertexAttribL4dv))load("glVertexAttribL4dv"); + glVertexAttribLPointer = cast(typeof(glVertexAttribLPointer))load("glVertexAttribLPointer"); + glGetVertexAttribLdv = cast(typeof(glGetVertexAttribLdv))load("glGetVertexAttribLdv"); + glViewportArrayv = cast(typeof(glViewportArrayv))load("glViewportArrayv"); + glViewportIndexedf = cast(typeof(glViewportIndexedf))load("glViewportIndexedf"); + glViewportIndexedfv = cast(typeof(glViewportIndexedfv))load("glViewportIndexedfv"); + glScissorArrayv = cast(typeof(glScissorArrayv))load("glScissorArrayv"); + glScissorIndexed = cast(typeof(glScissorIndexed))load("glScissorIndexed"); + glScissorIndexedv = cast(typeof(glScissorIndexedv))load("glScissorIndexedv"); + glDepthRangeArrayv = cast(typeof(glDepthRangeArrayv))load("glDepthRangeArrayv"); + glDepthRangeIndexed = cast(typeof(glDepthRangeIndexed))load("glDepthRangeIndexed"); + glGetFloati_v = cast(typeof(glGetFloati_v))load("glGetFloati_v"); + glGetDoublei_v = cast(typeof(glGetDoublei_v))load("glGetDoublei_v"); + return; +} + +void load_GL_VERSION_4_2(Loader load) { + if(!GL_VERSION_4_2) return; + glDrawArraysInstancedBaseInstance = cast(typeof(glDrawArraysInstancedBaseInstance))load("glDrawArraysInstancedBaseInstance"); + glDrawElementsInstancedBaseInstance = cast(typeof(glDrawElementsInstancedBaseInstance))load("glDrawElementsInstancedBaseInstance"); + glDrawElementsInstancedBaseVertexBaseInstance = cast(typeof(glDrawElementsInstancedBaseVertexBaseInstance))load("glDrawElementsInstancedBaseVertexBaseInstance"); + glGetInternalformativ = cast(typeof(glGetInternalformativ))load("glGetInternalformativ"); + glGetActiveAtomicCounterBufferiv = cast(typeof(glGetActiveAtomicCounterBufferiv))load("glGetActiveAtomicCounterBufferiv"); + glBindImageTexture = cast(typeof(glBindImageTexture))load("glBindImageTexture"); + glMemoryBarrier = cast(typeof(glMemoryBarrier))load("glMemoryBarrier"); + glTexStorage1D = cast(typeof(glTexStorage1D))load("glTexStorage1D"); + glTexStorage2D = cast(typeof(glTexStorage2D))load("glTexStorage2D"); + glTexStorage3D = cast(typeof(glTexStorage3D))load("glTexStorage3D"); + glDrawTransformFeedbackInstanced = cast(typeof(glDrawTransformFeedbackInstanced))load("glDrawTransformFeedbackInstanced"); + glDrawTransformFeedbackStreamInstanced = cast(typeof(glDrawTransformFeedbackStreamInstanced))load("glDrawTransformFeedbackStreamInstanced"); + return; +} + +void load_GL_VERSION_4_3(Loader load) { + if(!GL_VERSION_4_3) return; + glClearBufferData = cast(typeof(glClearBufferData))load("glClearBufferData"); + glClearBufferSubData = cast(typeof(glClearBufferSubData))load("glClearBufferSubData"); + glDispatchCompute = cast(typeof(glDispatchCompute))load("glDispatchCompute"); + glDispatchComputeIndirect = cast(typeof(glDispatchComputeIndirect))load("glDispatchComputeIndirect"); + glCopyImageSubData = cast(typeof(glCopyImageSubData))load("glCopyImageSubData"); + glFramebufferParameteri = cast(typeof(glFramebufferParameteri))load("glFramebufferParameteri"); + glGetFramebufferParameteriv = cast(typeof(glGetFramebufferParameteriv))load("glGetFramebufferParameteriv"); + glGetInternalformati64v = cast(typeof(glGetInternalformati64v))load("glGetInternalformati64v"); + glInvalidateTexSubImage = cast(typeof(glInvalidateTexSubImage))load("glInvalidateTexSubImage"); + glInvalidateTexImage = cast(typeof(glInvalidateTexImage))load("glInvalidateTexImage"); + glInvalidateBufferSubData = cast(typeof(glInvalidateBufferSubData))load("glInvalidateBufferSubData"); + glInvalidateBufferData = cast(typeof(glInvalidateBufferData))load("glInvalidateBufferData"); + glInvalidateFramebuffer = cast(typeof(glInvalidateFramebuffer))load("glInvalidateFramebuffer"); + glInvalidateSubFramebuffer = cast(typeof(glInvalidateSubFramebuffer))load("glInvalidateSubFramebuffer"); + glMultiDrawArraysIndirect = cast(typeof(glMultiDrawArraysIndirect))load("glMultiDrawArraysIndirect"); + glMultiDrawElementsIndirect = cast(typeof(glMultiDrawElementsIndirect))load("glMultiDrawElementsIndirect"); + glGetProgramInterfaceiv = cast(typeof(glGetProgramInterfaceiv))load("glGetProgramInterfaceiv"); + glGetProgramResourceIndex = cast(typeof(glGetProgramResourceIndex))load("glGetProgramResourceIndex"); + glGetProgramResourceName = cast(typeof(glGetProgramResourceName))load("glGetProgramResourceName"); + glGetProgramResourceiv = cast(typeof(glGetProgramResourceiv))load("glGetProgramResourceiv"); + glGetProgramResourceLocation = cast(typeof(glGetProgramResourceLocation))load("glGetProgramResourceLocation"); + glGetProgramResourceLocationIndex = cast(typeof(glGetProgramResourceLocationIndex))load("glGetProgramResourceLocationIndex"); + glShaderStorageBlockBinding = cast(typeof(glShaderStorageBlockBinding))load("glShaderStorageBlockBinding"); + glTexBufferRange = cast(typeof(glTexBufferRange))load("glTexBufferRange"); + glTexStorage2DMultisample = cast(typeof(glTexStorage2DMultisample))load("glTexStorage2DMultisample"); + glTexStorage3DMultisample = cast(typeof(glTexStorage3DMultisample))load("glTexStorage3DMultisample"); + glTextureView = cast(typeof(glTextureView))load("glTextureView"); + glBindVertexBuffer = cast(typeof(glBindVertexBuffer))load("glBindVertexBuffer"); + glVertexAttribFormat = cast(typeof(glVertexAttribFormat))load("glVertexAttribFormat"); + glVertexAttribIFormat = cast(typeof(glVertexAttribIFormat))load("glVertexAttribIFormat"); + glVertexAttribLFormat = cast(typeof(glVertexAttribLFormat))load("glVertexAttribLFormat"); + glVertexAttribBinding = cast(typeof(glVertexAttribBinding))load("glVertexAttribBinding"); + glVertexBindingDivisor = cast(typeof(glVertexBindingDivisor))load("glVertexBindingDivisor"); + glDebugMessageControl = cast(typeof(glDebugMessageControl))load("glDebugMessageControl"); + glDebugMessageInsert = cast(typeof(glDebugMessageInsert))load("glDebugMessageInsert"); + glDebugMessageCallback = cast(typeof(glDebugMessageCallback))load("glDebugMessageCallback"); + glGetDebugMessageLog = cast(typeof(glGetDebugMessageLog))load("glGetDebugMessageLog"); + glPushDebugGroup = cast(typeof(glPushDebugGroup))load("glPushDebugGroup"); + glPopDebugGroup = cast(typeof(glPopDebugGroup))load("glPopDebugGroup"); + glObjectLabel = cast(typeof(glObjectLabel))load("glObjectLabel"); + glGetObjectLabel = cast(typeof(glGetObjectLabel))load("glGetObjectLabel"); + glObjectPtrLabel = cast(typeof(glObjectPtrLabel))load("glObjectPtrLabel"); + glGetObjectPtrLabel = cast(typeof(glGetObjectPtrLabel))load("glGetObjectPtrLabel"); + glGetPointerv = cast(typeof(glGetPointerv))load("glGetPointerv"); + return; +} + +void load_GL_VERSION_4_4(Loader load) { + if(!GL_VERSION_4_4) return; + glBufferStorage = cast(typeof(glBufferStorage))load("glBufferStorage"); + glClearTexImage = cast(typeof(glClearTexImage))load("glClearTexImage"); + glClearTexSubImage = cast(typeof(glClearTexSubImage))load("glClearTexSubImage"); + glBindBuffersBase = cast(typeof(glBindBuffersBase))load("glBindBuffersBase"); + glBindBuffersRange = cast(typeof(glBindBuffersRange))load("glBindBuffersRange"); + glBindTextures = cast(typeof(glBindTextures))load("glBindTextures"); + glBindSamplers = cast(typeof(glBindSamplers))load("glBindSamplers"); + glBindImageTextures = cast(typeof(glBindImageTextures))load("glBindImageTextures"); + glBindVertexBuffers = cast(typeof(glBindVertexBuffers))load("glBindVertexBuffers"); + return; +} + +void load_GL_VERSION_4_5(Loader load) { + if(!GL_VERSION_4_5) return; + glClipControl = cast(typeof(glClipControl))load("glClipControl"); + glCreateTransformFeedbacks = cast(typeof(glCreateTransformFeedbacks))load("glCreateTransformFeedbacks"); + glTransformFeedbackBufferBase = cast(typeof(glTransformFeedbackBufferBase))load("glTransformFeedbackBufferBase"); + glTransformFeedbackBufferRange = cast(typeof(glTransformFeedbackBufferRange))load("glTransformFeedbackBufferRange"); + glGetTransformFeedbackiv = cast(typeof(glGetTransformFeedbackiv))load("glGetTransformFeedbackiv"); + glGetTransformFeedbacki_v = cast(typeof(glGetTransformFeedbacki_v))load("glGetTransformFeedbacki_v"); + glGetTransformFeedbacki64_v = cast(typeof(glGetTransformFeedbacki64_v))load("glGetTransformFeedbacki64_v"); + glCreateBuffers = cast(typeof(glCreateBuffers))load("glCreateBuffers"); + glNamedBufferStorage = cast(typeof(glNamedBufferStorage))load("glNamedBufferStorage"); + glNamedBufferData = cast(typeof(glNamedBufferData))load("glNamedBufferData"); + glNamedBufferSubData = cast(typeof(glNamedBufferSubData))load("glNamedBufferSubData"); + glCopyNamedBufferSubData = cast(typeof(glCopyNamedBufferSubData))load("glCopyNamedBufferSubData"); + glClearNamedBufferData = cast(typeof(glClearNamedBufferData))load("glClearNamedBufferData"); + glClearNamedBufferSubData = cast(typeof(glClearNamedBufferSubData))load("glClearNamedBufferSubData"); + glMapNamedBuffer = cast(typeof(glMapNamedBuffer))load("glMapNamedBuffer"); + glMapNamedBufferRange = cast(typeof(glMapNamedBufferRange))load("glMapNamedBufferRange"); + glUnmapNamedBuffer = cast(typeof(glUnmapNamedBuffer))load("glUnmapNamedBuffer"); + glFlushMappedNamedBufferRange = cast(typeof(glFlushMappedNamedBufferRange))load("glFlushMappedNamedBufferRange"); + glGetNamedBufferParameteriv = cast(typeof(glGetNamedBufferParameteriv))load("glGetNamedBufferParameteriv"); + glGetNamedBufferParameteri64v = cast(typeof(glGetNamedBufferParameteri64v))load("glGetNamedBufferParameteri64v"); + glGetNamedBufferPointerv = cast(typeof(glGetNamedBufferPointerv))load("glGetNamedBufferPointerv"); + glGetNamedBufferSubData = cast(typeof(glGetNamedBufferSubData))load("glGetNamedBufferSubData"); + glCreateFramebuffers = cast(typeof(glCreateFramebuffers))load("glCreateFramebuffers"); + glNamedFramebufferRenderbuffer = cast(typeof(glNamedFramebufferRenderbuffer))load("glNamedFramebufferRenderbuffer"); + glNamedFramebufferParameteri = cast(typeof(glNamedFramebufferParameteri))load("glNamedFramebufferParameteri"); + glNamedFramebufferTexture = cast(typeof(glNamedFramebufferTexture))load("glNamedFramebufferTexture"); + glNamedFramebufferTextureLayer = cast(typeof(glNamedFramebufferTextureLayer))load("glNamedFramebufferTextureLayer"); + glNamedFramebufferDrawBuffer = cast(typeof(glNamedFramebufferDrawBuffer))load("glNamedFramebufferDrawBuffer"); + glNamedFramebufferDrawBuffers = cast(typeof(glNamedFramebufferDrawBuffers))load("glNamedFramebufferDrawBuffers"); + glNamedFramebufferReadBuffer = cast(typeof(glNamedFramebufferReadBuffer))load("glNamedFramebufferReadBuffer"); + glInvalidateNamedFramebufferData = cast(typeof(glInvalidateNamedFramebufferData))load("glInvalidateNamedFramebufferData"); + glInvalidateNamedFramebufferSubData = cast(typeof(glInvalidateNamedFramebufferSubData))load("glInvalidateNamedFramebufferSubData"); + glClearNamedFramebufferiv = cast(typeof(glClearNamedFramebufferiv))load("glClearNamedFramebufferiv"); + glClearNamedFramebufferuiv = cast(typeof(glClearNamedFramebufferuiv))load("glClearNamedFramebufferuiv"); + glClearNamedFramebufferfv = cast(typeof(glClearNamedFramebufferfv))load("glClearNamedFramebufferfv"); + glClearNamedFramebufferfi = cast(typeof(glClearNamedFramebufferfi))load("glClearNamedFramebufferfi"); + glBlitNamedFramebuffer = cast(typeof(glBlitNamedFramebuffer))load("glBlitNamedFramebuffer"); + glCheckNamedFramebufferStatus = cast(typeof(glCheckNamedFramebufferStatus))load("glCheckNamedFramebufferStatus"); + glGetNamedFramebufferParameteriv = cast(typeof(glGetNamedFramebufferParameteriv))load("glGetNamedFramebufferParameteriv"); + glGetNamedFramebufferAttachmentParameteriv = cast(typeof(glGetNamedFramebufferAttachmentParameteriv))load("glGetNamedFramebufferAttachmentParameteriv"); + glCreateRenderbuffers = cast(typeof(glCreateRenderbuffers))load("glCreateRenderbuffers"); + glNamedRenderbufferStorage = cast(typeof(glNamedRenderbufferStorage))load("glNamedRenderbufferStorage"); + glNamedRenderbufferStorageMultisample = cast(typeof(glNamedRenderbufferStorageMultisample))load("glNamedRenderbufferStorageMultisample"); + glGetNamedRenderbufferParameteriv = cast(typeof(glGetNamedRenderbufferParameteriv))load("glGetNamedRenderbufferParameteriv"); + glCreateTextures = cast(typeof(glCreateTextures))load("glCreateTextures"); + glTextureBuffer = cast(typeof(glTextureBuffer))load("glTextureBuffer"); + glTextureBufferRange = cast(typeof(glTextureBufferRange))load("glTextureBufferRange"); + glTextureStorage1D = cast(typeof(glTextureStorage1D))load("glTextureStorage1D"); + glTextureStorage2D = cast(typeof(glTextureStorage2D))load("glTextureStorage2D"); + glTextureStorage3D = cast(typeof(glTextureStorage3D))load("glTextureStorage3D"); + glTextureStorage2DMultisample = cast(typeof(glTextureStorage2DMultisample))load("glTextureStorage2DMultisample"); + glTextureStorage3DMultisample = cast(typeof(glTextureStorage3DMultisample))load("glTextureStorage3DMultisample"); + glTextureSubImage1D = cast(typeof(glTextureSubImage1D))load("glTextureSubImage1D"); + glTextureSubImage2D = cast(typeof(glTextureSubImage2D))load("glTextureSubImage2D"); + glTextureSubImage3D = cast(typeof(glTextureSubImage3D))load("glTextureSubImage3D"); + glCompressedTextureSubImage1D = cast(typeof(glCompressedTextureSubImage1D))load("glCompressedTextureSubImage1D"); + glCompressedTextureSubImage2D = cast(typeof(glCompressedTextureSubImage2D))load("glCompressedTextureSubImage2D"); + glCompressedTextureSubImage3D = cast(typeof(glCompressedTextureSubImage3D))load("glCompressedTextureSubImage3D"); + glCopyTextureSubImage1D = cast(typeof(glCopyTextureSubImage1D))load("glCopyTextureSubImage1D"); + glCopyTextureSubImage2D = cast(typeof(glCopyTextureSubImage2D))load("glCopyTextureSubImage2D"); + glCopyTextureSubImage3D = cast(typeof(glCopyTextureSubImage3D))load("glCopyTextureSubImage3D"); + glTextureParameterf = cast(typeof(glTextureParameterf))load("glTextureParameterf"); + glTextureParameterfv = cast(typeof(glTextureParameterfv))load("glTextureParameterfv"); + glTextureParameteri = cast(typeof(glTextureParameteri))load("glTextureParameteri"); + glTextureParameterIiv = cast(typeof(glTextureParameterIiv))load("glTextureParameterIiv"); + glTextureParameterIuiv = cast(typeof(glTextureParameterIuiv))load("glTextureParameterIuiv"); + glTextureParameteriv = cast(typeof(glTextureParameteriv))load("glTextureParameteriv"); + glGenerateTextureMipmap = cast(typeof(glGenerateTextureMipmap))load("glGenerateTextureMipmap"); + glBindTextureUnit = cast(typeof(glBindTextureUnit))load("glBindTextureUnit"); + glGetTextureImage = cast(typeof(glGetTextureImage))load("glGetTextureImage"); + glGetCompressedTextureImage = cast(typeof(glGetCompressedTextureImage))load("glGetCompressedTextureImage"); + glGetTextureLevelParameterfv = cast(typeof(glGetTextureLevelParameterfv))load("glGetTextureLevelParameterfv"); + glGetTextureLevelParameteriv = cast(typeof(glGetTextureLevelParameteriv))load("glGetTextureLevelParameteriv"); + glGetTextureParameterfv = cast(typeof(glGetTextureParameterfv))load("glGetTextureParameterfv"); + glGetTextureParameterIiv = cast(typeof(glGetTextureParameterIiv))load("glGetTextureParameterIiv"); + glGetTextureParameterIuiv = cast(typeof(glGetTextureParameterIuiv))load("glGetTextureParameterIuiv"); + glGetTextureParameteriv = cast(typeof(glGetTextureParameteriv))load("glGetTextureParameteriv"); + glCreateVertexArrays = cast(typeof(glCreateVertexArrays))load("glCreateVertexArrays"); + glDisableVertexArrayAttrib = cast(typeof(glDisableVertexArrayAttrib))load("glDisableVertexArrayAttrib"); + glEnableVertexArrayAttrib = cast(typeof(glEnableVertexArrayAttrib))load("glEnableVertexArrayAttrib"); + glVertexArrayElementBuffer = cast(typeof(glVertexArrayElementBuffer))load("glVertexArrayElementBuffer"); + glVertexArrayVertexBuffer = cast(typeof(glVertexArrayVertexBuffer))load("glVertexArrayVertexBuffer"); + glVertexArrayVertexBuffers = cast(typeof(glVertexArrayVertexBuffers))load("glVertexArrayVertexBuffers"); + glVertexArrayAttribBinding = cast(typeof(glVertexArrayAttribBinding))load("glVertexArrayAttribBinding"); + glVertexArrayAttribFormat = cast(typeof(glVertexArrayAttribFormat))load("glVertexArrayAttribFormat"); + glVertexArrayAttribIFormat = cast(typeof(glVertexArrayAttribIFormat))load("glVertexArrayAttribIFormat"); + glVertexArrayAttribLFormat = cast(typeof(glVertexArrayAttribLFormat))load("glVertexArrayAttribLFormat"); + glVertexArrayBindingDivisor = cast(typeof(glVertexArrayBindingDivisor))load("glVertexArrayBindingDivisor"); + glGetVertexArrayiv = cast(typeof(glGetVertexArrayiv))load("glGetVertexArrayiv"); + glGetVertexArrayIndexediv = cast(typeof(glGetVertexArrayIndexediv))load("glGetVertexArrayIndexediv"); + glGetVertexArrayIndexed64iv = cast(typeof(glGetVertexArrayIndexed64iv))load("glGetVertexArrayIndexed64iv"); + glCreateSamplers = cast(typeof(glCreateSamplers))load("glCreateSamplers"); + glCreateProgramPipelines = cast(typeof(glCreateProgramPipelines))load("glCreateProgramPipelines"); + glCreateQueries = cast(typeof(glCreateQueries))load("glCreateQueries"); + glGetQueryBufferObjecti64v = cast(typeof(glGetQueryBufferObjecti64v))load("glGetQueryBufferObjecti64v"); + glGetQueryBufferObjectiv = cast(typeof(glGetQueryBufferObjectiv))load("glGetQueryBufferObjectiv"); + glGetQueryBufferObjectui64v = cast(typeof(glGetQueryBufferObjectui64v))load("glGetQueryBufferObjectui64v"); + glGetQueryBufferObjectuiv = cast(typeof(glGetQueryBufferObjectuiv))load("glGetQueryBufferObjectuiv"); + glMemoryBarrierByRegion = cast(typeof(glMemoryBarrierByRegion))load("glMemoryBarrierByRegion"); + glGetTextureSubImage = cast(typeof(glGetTextureSubImage))load("glGetTextureSubImage"); + glGetCompressedTextureSubImage = cast(typeof(glGetCompressedTextureSubImage))load("glGetCompressedTextureSubImage"); + glGetGraphicsResetStatus = cast(typeof(glGetGraphicsResetStatus))load("glGetGraphicsResetStatus"); + glGetnCompressedTexImage = cast(typeof(glGetnCompressedTexImage))load("glGetnCompressedTexImage"); + glGetnTexImage = cast(typeof(glGetnTexImage))load("glGetnTexImage"); + glGetnUniformdv = cast(typeof(glGetnUniformdv))load("glGetnUniformdv"); + glGetnUniformfv = cast(typeof(glGetnUniformfv))load("glGetnUniformfv"); + glGetnUniformiv = cast(typeof(glGetnUniformiv))load("glGetnUniformiv"); + glGetnUniformuiv = cast(typeof(glGetnUniformuiv))load("glGetnUniformuiv"); + glReadnPixels = cast(typeof(glReadnPixels))load("glReadnPixels"); + glGetnMapdv = cast(typeof(glGetnMapdv))load("glGetnMapdv"); + glGetnMapfv = cast(typeof(glGetnMapfv))load("glGetnMapfv"); + glGetnMapiv = cast(typeof(glGetnMapiv))load("glGetnMapiv"); + glGetnPixelMapfv = cast(typeof(glGetnPixelMapfv))load("glGetnPixelMapfv"); + glGetnPixelMapuiv = cast(typeof(glGetnPixelMapuiv))load("glGetnPixelMapuiv"); + glGetnPixelMapusv = cast(typeof(glGetnPixelMapusv))load("glGetnPixelMapusv"); + glGetnPolygonStipple = cast(typeof(glGetnPolygonStipple))load("glGetnPolygonStipple"); + glGetnColorTable = cast(typeof(glGetnColorTable))load("glGetnColorTable"); + glGetnConvolutionFilter = cast(typeof(glGetnConvolutionFilter))load("glGetnConvolutionFilter"); + glGetnSeparableFilter = cast(typeof(glGetnSeparableFilter))load("glGetnSeparableFilter"); + glGetnHistogram = cast(typeof(glGetnHistogram))load("glGetnHistogram"); + glGetnMinmax = cast(typeof(glGetnMinmax))load("glGetnMinmax"); + glTextureBarrier = cast(typeof(glTextureBarrier))load("glTextureBarrier"); + return; +} + +void load_GL_VERSION_4_6(Loader load) { + if(!GL_VERSION_4_6) return; + glSpecializeShader = cast(typeof(glSpecializeShader))load("glSpecializeShader"); + glMultiDrawArraysIndirectCount = cast(typeof(glMultiDrawArraysIndirectCount))load("glMultiDrawArraysIndirectCount"); + glMultiDrawElementsIndirectCount = cast(typeof(glMultiDrawElementsIndirectCount))load("glMultiDrawElementsIndirectCount"); + glPolygonOffsetClamp = cast(typeof(glPolygonOffsetClamp))load("glPolygonOffsetClamp"); + return; +} + + +} /* private */ + diff --git a/libs/glad/glad/gl/types.d b/libs/glad/glad/gl/types.d new file mode 100644 index 0000000..12c28f2 --- /dev/null +++ b/libs/glad/glad/gl/types.d @@ -0,0 +1,46 @@ +module glad.gl.types; + + +alias GLenum = uint; +alias GLvoid = void; +alias GLboolean = ubyte; +alias GLbitfield = uint; +alias GLchar = char; +alias GLbyte = byte; +alias GLshort = short; +alias GLint = int; +alias GLclampx = int; +alias GLsizei = int; +alias GLubyte = ubyte; +alias GLushort = ushort; +alias GLuint = uint; +alias GLhalf = ushort; +alias GLfloat = float; +alias GLclampf = float; +alias GLdouble = double; +alias GLclampd = double; +alias GLfixed = int; +alias GLintptr = ptrdiff_t; +alias GLsizeiptr = ptrdiff_t; +alias GLintptrARB = ptrdiff_t; +alias GLsizeiptrARB = ptrdiff_t; +alias GLcharARB = byte; +alias GLhandleARB = uint; +alias GLhalfARB = ushort; +alias GLhalfNV = ushort; +alias GLint64EXT = long; +alias GLuint64EXT = ulong; +alias GLint64 = long; +alias GLuint64 = ulong; +alias GLvdpauSurfaceNV = ptrdiff_t; +alias GLeglImageOES = void*; +struct ___GLsync; alias __GLsync = ___GLsync*; +alias GLsync = __GLsync*; +struct __cl_context; alias _cl_context = __cl_context*; +struct __cl_event; alias _cl_event = __cl_event*; +extern(System) { +alias GLDEBUGPROC = void function(GLenum, GLenum, GLuint, GLenum, GLsizei, in GLchar*, GLvoid*); +alias GLDEBUGPROCARB = GLDEBUGPROC; +alias GLDEBUGPROCKHR = GLDEBUGPROC; +alias GLDEBUGPROCAMD = void function(GLuint, GLenum, GLenum, GLsizei, in GLchar*, GLvoid*); +} diff --git a/rscons b/rscons new file mode 100755 index 0000000..e30cf2e --- /dev/null +++ b/rscons @@ -0,0 +1,46 @@ +#!/usr/bin/env ruby + +# Copyright (c) 2013-2022 Josh Holtrop +# +# MIT License +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is 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 Software. +# +# THE SOFTWARE IS 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 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +script = File.join(File.dirname(__FILE__), ".rscons-3.1.0-4892f95d56c30bbe9aa0c9964062ec5b.rb") +unless File.exist?(script) + if File.read(__FILE__, mode: "rb") =~ /^#==>(.*)/ + require "zlib" + require "base64" + encoded_compressed = $1 + unescaped_compressed = Base64.decode64(encoded_compressed) + inflated = Zlib::Inflate.inflate(unescaped_compressed) + File.open(script, "wb") do |fh| + fh.write(inflated) + end + else + raise "Could not decompress." + end +end +load script +if __FILE__ == $0 + Rscons::Cli.new.run(ARGV) +end +#==>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 diff --git a/src/app.d b/src/app.d new file mode 100644 index 0000000..a08a57d --- /dev/null +++ b/src/app.d @@ -0,0 +1,77 @@ +import std.stdio; +import bindbc.sdl; + +enum int WIDTH = 800; +enum int HEIGHT = 600; + +void init() +{ +// glActiveTexture(GL_TEXTURE0); +// glEnable(GL_BLEND); +// glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); +// glPixelStorei(GL_UNPACK_ALIGNMENT, 1); +// glClearColor (1.0, 0.7, 0.0, 0.0); +// glViewport(0, 0, WIDTH, HEIGHT); +} + +void display(SDL_Window * window) +{ +// glClear(GL_COLOR_BUFFER_BIT); + + SDL_GL_SwapWindow(window); +} + +int main() +{ + if (SDL_Init(SDL_INIT_EVERYTHING)) + { + stderr.writeln("Failed to initialize SDL!"); + return 1; + } + + SDL_Window * window = SDL_CreateWindow("d-bindbc-sdl-glad", + SDL_WINDOWPOS_UNDEFINED, + SDL_WINDOWPOS_UNDEFINED, + WIDTH, + HEIGHT, + SDL_WINDOW_OPENGL); + + if (window == null) + { + stderr.writeln("Failed to create SDL window!"); + return 1; + } + + SDL_GLContext context = SDL_GL_CreateContext(window); + +// if (!gladLoadGl()) +// { +// stderr.writeln("Failed to load OpenGL"); +// return 1; +// } + + init(); + SDL_Event event; + for (;;) + { + if (SDL_PollEvent(&event)) + { + if (event.type == SDL_QUIT) + break; + else if (event.type == SDL_KEYDOWN) + { + if (event.key.keysym.scancode == SDL_SCANCODE_ESCAPE) + break; + } + } + display(window); + } + + SDL_GL_DeleteContext(context); + + SDL_DestroyWindow(window); + + SDL_Quit(); + + return 0; +}