ludic/runtime/native/gl_api.ludic
Orkuncakilkaya f25289db20
Some checks failed
ci / build-and-test (push) Waiting to run
commit-lint / conventional-commits (push) Waiting to run
bootstrap / cfree-fixpoint (push) Has been cancelled
docs / build-and-deploy (push) Successful in 34s
feat(gl): OpenGL 4.1 and the ludic.render3d renderer
`Gl.*` binds the whole OpenGL 4.1 core API — every entry point of the
platform gl3.h with every GL_* constant, generated by `ludic-dev glgen`
with per-call ABI thunks. Windowed builds get an NSOpenGLContext on the
existing window at Retina resolution; headless builds render into an
offscreen CGL context, so a program that uses Gl.* renders and
screenshots identically under the test harness. It links gl.ll, the
thunks and OpenGL.framework only when used; every other build stays
byte-identical.

packages/ludic.render3d is a physically based renderer written on that
surface: HDRI image-based lighting, GPU-generated terrain with scanned
PBR materials, CDLOD, cascaded shadows, glTF with skinning, instanced
vegetation with impostors, procedural grass, water, SSAO, and an HDR
pipeline with bloom, auto-exposure and ACES.

It also carries this session's work on it: the terrain at half its cost
(10.3 -> 5.4 ms of frame), the streaming hitch that got worse the longer
you played, a resize that emptied the world, and the packaging that lets
a game use the renderer from its own repository — `ludic assets`, the
material manifest shipping with the package, and shader lookup falling
back to the install root. See changes/ for each, with its numbers.

The camping game that drove all of it has moved out to its own
repository, Maroon Lake; examples/rendering/smooth.ludic stays as the
renderer's example here.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-10 03:31:12 +03:00

1387 lines
86 KiB
Text

# ============================================================================
# gl_api.ludic — the OpenGL 4.1 core API, bound for Ludic. GENERATED by
# `ludic-dev glgen` from the platform gl3.h: every entry point and every GL_* constant.
# Do not edit by hand; regenerate. float/double parameters take `fixed`; the IR
# thunks in runtime/native/gl.ll (also generated) convert at the C boundary.
# ============================================================================
const GL_DEPTH_BUFFER_BIT: int = 0x00000100
const GL_STENCIL_BUFFER_BIT: int = 0x00000400
const GL_COLOR_BUFFER_BIT: int = 0x00004000
const GL_FALSE: int = 0
const GL_TRUE: int = 1
const GL_POINTS: int = 0x0000
const GL_LINES: int = 0x0001
const GL_LINE_LOOP: int = 0x0002
const GL_LINE_STRIP: int = 0x0003
const GL_TRIANGLES: int = 0x0004
const GL_TRIANGLE_STRIP: int = 0x0005
const GL_TRIANGLE_FAN: int = 0x0006
const GL_NEVER: int = 0x0200
const GL_LESS: int = 0x0201
const GL_EQUAL: int = 0x0202
const GL_LEQUAL: int = 0x0203
const GL_GREATER: int = 0x0204
const GL_NOTEQUAL: int = 0x0205
const GL_GEQUAL: int = 0x0206
const GL_ALWAYS: int = 0x0207
const GL_ZERO: int = 0
const GL_ONE: int = 1
const GL_SRC_COLOR: int = 0x0300
const GL_ONE_MINUS_SRC_COLOR: int = 0x0301
const GL_SRC_ALPHA: int = 0x0302
const GL_ONE_MINUS_SRC_ALPHA: int = 0x0303
const GL_DST_ALPHA: int = 0x0304
const GL_ONE_MINUS_DST_ALPHA: int = 0x0305
const GL_DST_COLOR: int = 0x0306
const GL_ONE_MINUS_DST_COLOR: int = 0x0307
const GL_SRC_ALPHA_SATURATE: int = 0x0308
const GL_NONE: int = 0
const GL_FRONT_LEFT: int = 0x0400
const GL_FRONT_RIGHT: int = 0x0401
const GL_BACK_LEFT: int = 0x0402
const GL_BACK_RIGHT: int = 0x0403
const GL_FRONT: int = 0x0404
const GL_BACK: int = 0x0405
const GL_LEFT: int = 0x0406
const GL_RIGHT: int = 0x0407
const GL_FRONT_AND_BACK: int = 0x0408
const GL_NO_ERROR: int = 0
const GL_INVALID_ENUM: int = 0x0500
const GL_INVALID_VALUE: int = 0x0501
const GL_INVALID_OPERATION: int = 0x0502
const GL_OUT_OF_MEMORY: int = 0x0505
const GL_CW: int = 0x0900
const GL_CCW: int = 0x0901
const GL_POINT_SIZE: int = 0x0B11
const GL_POINT_SIZE_RANGE: int = 0x0B12
const GL_POINT_SIZE_GRANULARITY: int = 0x0B13
const GL_LINE_SMOOTH: int = 0x0B20
const GL_LINE_WIDTH: int = 0x0B21
const GL_LINE_WIDTH_RANGE: int = 0x0B22
const GL_LINE_WIDTH_GRANULARITY: int = 0x0B23
const GL_POLYGON_MODE: int = 0x0B40
const GL_POLYGON_SMOOTH: int = 0x0B41
const GL_CULL_FACE: int = 0x0B44
const GL_CULL_FACE_MODE: int = 0x0B45
const GL_FRONT_FACE: int = 0x0B46
const GL_DEPTH_RANGE: int = 0x0B70
const GL_DEPTH_TEST: int = 0x0B71
const GL_DEPTH_WRITEMASK: int = 0x0B72
const GL_DEPTH_CLEAR_VALUE: int = 0x0B73
const GL_DEPTH_FUNC: int = 0x0B74
const GL_STENCIL_TEST: int = 0x0B90
const GL_STENCIL_CLEAR_VALUE: int = 0x0B91
const GL_STENCIL_FUNC: int = 0x0B92
const GL_STENCIL_VALUE_MASK: int = 0x0B93
const GL_STENCIL_FAIL: int = 0x0B94
const GL_STENCIL_PASS_DEPTH_FAIL: int = 0x0B95
const GL_STENCIL_PASS_DEPTH_PASS: int = 0x0B96
const GL_STENCIL_REF: int = 0x0B97
const GL_STENCIL_WRITEMASK: int = 0x0B98
const GL_VIEWPORT: int = 0x0BA2
const GL_DITHER: int = 0x0BD0
const GL_BLEND_DST: int = 0x0BE0
const GL_BLEND_SRC: int = 0x0BE1
const GL_BLEND: int = 0x0BE2
const GL_LOGIC_OP_MODE: int = 0x0BF0
const GL_COLOR_LOGIC_OP: int = 0x0BF2
const GL_DRAW_BUFFER: int = 0x0C01
const GL_READ_BUFFER: int = 0x0C02
const GL_SCISSOR_BOX: int = 0x0C10
const GL_SCISSOR_TEST: int = 0x0C11
const GL_COLOR_CLEAR_VALUE: int = 0x0C22
const GL_COLOR_WRITEMASK: int = 0x0C23
const GL_DOUBLEBUFFER: int = 0x0C32
const GL_STEREO: int = 0x0C33
const GL_LINE_SMOOTH_HINT: int = 0x0C52
const GL_POLYGON_SMOOTH_HINT: int = 0x0C53
const GL_UNPACK_SWAP_BYTES: int = 0x0CF0
const GL_UNPACK_LSB_FIRST: int = 0x0CF1
const GL_UNPACK_ROW_LENGTH: int = 0x0CF2
const GL_UNPACK_SKIP_ROWS: int = 0x0CF3
const GL_UNPACK_SKIP_PIXELS: int = 0x0CF4
const GL_UNPACK_ALIGNMENT: int = 0x0CF5
const GL_PACK_SWAP_BYTES: int = 0x0D00
const GL_PACK_LSB_FIRST: int = 0x0D01
const GL_PACK_ROW_LENGTH: int = 0x0D02
const GL_PACK_SKIP_ROWS: int = 0x0D03
const GL_PACK_SKIP_PIXELS: int = 0x0D04
const GL_PACK_ALIGNMENT: int = 0x0D05
const GL_MAX_TEXTURE_SIZE: int = 0x0D33
const GL_MAX_VIEWPORT_DIMS: int = 0x0D3A
const GL_SUBPIXEL_BITS: int = 0x0D50
const GL_TEXTURE_1D: int = 0x0DE0
const GL_TEXTURE_2D: int = 0x0DE1
const GL_POLYGON_OFFSET_UNITS: int = 0x2A00
const GL_POLYGON_OFFSET_POINT: int = 0x2A01
const GL_POLYGON_OFFSET_LINE: int = 0x2A02
const GL_POLYGON_OFFSET_FILL: int = 0x8037
const GL_POLYGON_OFFSET_FACTOR: int = 0x8038
const GL_TEXTURE_BINDING_1D: int = 0x8068
const GL_TEXTURE_BINDING_2D: int = 0x8069
const GL_TEXTURE_WIDTH: int = 0x1000
const GL_TEXTURE_HEIGHT: int = 0x1001
const GL_TEXTURE_INTERNAL_FORMAT: int = 0x1003
const GL_TEXTURE_BORDER_COLOR: int = 0x1004
const GL_TEXTURE_RED_SIZE: int = 0x805C
const GL_TEXTURE_GREEN_SIZE: int = 0x805D
const GL_TEXTURE_BLUE_SIZE: int = 0x805E
const GL_TEXTURE_ALPHA_SIZE: int = 0x805F
const GL_DONT_CARE: int = 0x1100
const GL_FASTEST: int = 0x1101
const GL_NICEST: int = 0x1102
const GL_BYTE: int = 0x1400
const GL_UNSIGNED_BYTE: int = 0x1401
const GL_SHORT: int = 0x1402
const GL_UNSIGNED_SHORT: int = 0x1403
const GL_INT: int = 0x1404
const GL_UNSIGNED_INT: int = 0x1405
const GL_FLOAT: int = 0x1406
const GL_DOUBLE: int = 0x140A
const GL_CLEAR: int = 0x1500
const GL_AND: int = 0x1501
const GL_AND_REVERSE: int = 0x1502
const GL_COPY: int = 0x1503
const GL_AND_INVERTED: int = 0x1504
const GL_NOOP: int = 0x1505
const GL_XOR: int = 0x1506
const GL_OR: int = 0x1507
const GL_NOR: int = 0x1508
const GL_EQUIV: int = 0x1509
const GL_INVERT: int = 0x150A
const GL_OR_REVERSE: int = 0x150B
const GL_COPY_INVERTED: int = 0x150C
const GL_OR_INVERTED: int = 0x150D
const GL_NAND: int = 0x150E
const GL_SET: int = 0x150F
const GL_TEXTURE: int = 0x1702
const GL_COLOR: int = 0x1800
const GL_DEPTH: int = 0x1801
const GL_STENCIL: int = 0x1802
const GL_STENCIL_INDEX: int = 0x1901
const GL_DEPTH_COMPONENT: int = 0x1902
const GL_RED: int = 0x1903
const GL_GREEN: int = 0x1904
const GL_BLUE: int = 0x1905
const GL_ALPHA: int = 0x1906
const GL_RGB: int = 0x1907
const GL_RGBA: int = 0x1908
const GL_POINT: int = 0x1B00
const GL_LINE: int = 0x1B01
const GL_FILL: int = 0x1B02
const GL_KEEP: int = 0x1E00
const GL_REPLACE: int = 0x1E01
const GL_INCR: int = 0x1E02
const GL_DECR: int = 0x1E03
const GL_VENDOR: int = 0x1F00
const GL_RENDERER: int = 0x1F01
const GL_VERSION: int = 0x1F02
const GL_EXTENSIONS: int = 0x1F03
const GL_NEAREST: int = 0x2600
const GL_LINEAR: int = 0x2601
const GL_NEAREST_MIPMAP_NEAREST: int = 0x2700
const GL_LINEAR_MIPMAP_NEAREST: int = 0x2701
const GL_NEAREST_MIPMAP_LINEAR: int = 0x2702
const GL_LINEAR_MIPMAP_LINEAR: int = 0x2703
const GL_TEXTURE_MAG_FILTER: int = 0x2800
const GL_TEXTURE_MIN_FILTER: int = 0x2801
const GL_TEXTURE_WRAP_S: int = 0x2802
const GL_TEXTURE_WRAP_T: int = 0x2803
const GL_PROXY_TEXTURE_1D: int = 0x8063
const GL_PROXY_TEXTURE_2D: int = 0x8064
const GL_REPEAT: int = 0x2901
const GL_R3_G3_B2: int = 0x2A10
const GL_RGB4: int = 0x804F
const GL_RGB5: int = 0x8050
const GL_RGB8: int = 0x8051
const GL_RGB10: int = 0x8052
const GL_RGB12: int = 0x8053
const GL_RGB16: int = 0x8054
const GL_RGBA2: int = 0x8055
const GL_RGBA4: int = 0x8056
const GL_RGB5_A1: int = 0x8057
const GL_RGBA8: int = 0x8058
const GL_RGB10_A2: int = 0x8059
const GL_RGBA12: int = 0x805A
const GL_RGBA16: int = 0x805B
const GL_UNSIGNED_BYTE_3_3_2: int = 0x8032
const GL_UNSIGNED_SHORT_4_4_4_4: int = 0x8033
const GL_UNSIGNED_SHORT_5_5_5_1: int = 0x8034
const GL_UNSIGNED_INT_8_8_8_8: int = 0x8035
const GL_UNSIGNED_INT_10_10_10_2: int = 0x8036
const GL_TEXTURE_BINDING_3D: int = 0x806A
const GL_PACK_SKIP_IMAGES: int = 0x806B
const GL_PACK_IMAGE_HEIGHT: int = 0x806C
const GL_UNPACK_SKIP_IMAGES: int = 0x806D
const GL_UNPACK_IMAGE_HEIGHT: int = 0x806E
const GL_TEXTURE_3D: int = 0x806F
const GL_PROXY_TEXTURE_3D: int = 0x8070
const GL_TEXTURE_DEPTH: int = 0x8071
const GL_TEXTURE_WRAP_R: int = 0x8072
const GL_MAX_3D_TEXTURE_SIZE: int = 0x8073
const GL_UNSIGNED_BYTE_2_3_3_REV: int = 0x8362
const GL_UNSIGNED_SHORT_5_6_5: int = 0x8363
const GL_UNSIGNED_SHORT_5_6_5_REV: int = 0x8364
const GL_UNSIGNED_SHORT_4_4_4_4_REV: int = 0x8365
const GL_UNSIGNED_SHORT_1_5_5_5_REV: int = 0x8366
const GL_UNSIGNED_INT_8_8_8_8_REV: int = 0x8367
const GL_UNSIGNED_INT_2_10_10_10_REV: int = 0x8368
const GL_BGR: int = 0x80E0
const GL_BGRA: int = 0x80E1
const GL_MAX_ELEMENTS_VERTICES: int = 0x80E8
const GL_MAX_ELEMENTS_INDICES: int = 0x80E9
const GL_CLAMP_TO_EDGE: int = 0x812F
const GL_TEXTURE_MIN_LOD: int = 0x813A
const GL_TEXTURE_MAX_LOD: int = 0x813B
const GL_TEXTURE_BASE_LEVEL: int = 0x813C
const GL_TEXTURE_MAX_LEVEL: int = 0x813D
const GL_SMOOTH_POINT_SIZE_RANGE: int = 0x0B12
const GL_SMOOTH_POINT_SIZE_GRANULARITY: int = 0x0B13
const GL_SMOOTH_LINE_WIDTH_RANGE: int = 0x0B22
const GL_SMOOTH_LINE_WIDTH_GRANULARITY: int = 0x0B23
const GL_ALIASED_LINE_WIDTH_RANGE: int = 0x846E
const GL_CONSTANT_COLOR: int = 0x8001
const GL_ONE_MINUS_CONSTANT_COLOR: int = 0x8002
const GL_CONSTANT_ALPHA: int = 0x8003
const GL_ONE_MINUS_CONSTANT_ALPHA: int = 0x8004
const GL_BLEND_COLOR: int = 0x8005
const GL_FUNC_ADD: int = 0x8006
const GL_MIN: int = 0x8007
const GL_MAX: int = 0x8008
const GL_BLEND_EQUATION: int = 0x8009
const GL_FUNC_SUBTRACT: int = 0x800A
const GL_FUNC_REVERSE_SUBTRACT: int = 0x800B
const GL_TEXTURE0: int = 0x84C0
const GL_TEXTURE1: int = 0x84C1
const GL_TEXTURE2: int = 0x84C2
const GL_TEXTURE3: int = 0x84C3
const GL_TEXTURE4: int = 0x84C4
const GL_TEXTURE5: int = 0x84C5
const GL_TEXTURE6: int = 0x84C6
const GL_TEXTURE7: int = 0x84C7
const GL_TEXTURE8: int = 0x84C8
const GL_TEXTURE9: int = 0x84C9
const GL_TEXTURE10: int = 0x84CA
const GL_TEXTURE11: int = 0x84CB
const GL_TEXTURE12: int = 0x84CC
const GL_TEXTURE13: int = 0x84CD
const GL_TEXTURE14: int = 0x84CE
const GL_TEXTURE15: int = 0x84CF
const GL_TEXTURE16: int = 0x84D0
const GL_TEXTURE17: int = 0x84D1
const GL_TEXTURE18: int = 0x84D2
const GL_TEXTURE19: int = 0x84D3
const GL_TEXTURE20: int = 0x84D4
const GL_TEXTURE21: int = 0x84D5
const GL_TEXTURE22: int = 0x84D6
const GL_TEXTURE23: int = 0x84D7
const GL_TEXTURE24: int = 0x84D8
const GL_TEXTURE25: int = 0x84D9
const GL_TEXTURE26: int = 0x84DA
const GL_TEXTURE27: int = 0x84DB
const GL_TEXTURE28: int = 0x84DC
const GL_TEXTURE29: int = 0x84DD
const GL_TEXTURE30: int = 0x84DE
const GL_TEXTURE31: int = 0x84DF
const GL_ACTIVE_TEXTURE: int = 0x84E0
const GL_MULTISAMPLE: int = 0x809D
const GL_SAMPLE_ALPHA_TO_COVERAGE: int = 0x809E
const GL_SAMPLE_ALPHA_TO_ONE: int = 0x809F
const GL_SAMPLE_COVERAGE: int = 0x80A0
const GL_SAMPLE_BUFFERS: int = 0x80A8
const GL_SAMPLES: int = 0x80A9
const GL_SAMPLE_COVERAGE_VALUE: int = 0x80AA
const GL_SAMPLE_COVERAGE_INVERT: int = 0x80AB
const GL_TEXTURE_CUBE_MAP: int = 0x8513
const GL_TEXTURE_BINDING_CUBE_MAP: int = 0x8514
const GL_TEXTURE_CUBE_MAP_POSITIVE_X: int = 0x8515
const GL_TEXTURE_CUBE_MAP_NEGATIVE_X: int = 0x8516
const GL_TEXTURE_CUBE_MAP_POSITIVE_Y: int = 0x8517
const GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: int = 0x8518
const GL_TEXTURE_CUBE_MAP_POSITIVE_Z: int = 0x8519
const GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: int = 0x851A
const GL_PROXY_TEXTURE_CUBE_MAP: int = 0x851B
const GL_MAX_CUBE_MAP_TEXTURE_SIZE: int = 0x851C
const GL_COMPRESSED_RGB: int = 0x84ED
const GL_COMPRESSED_RGBA: int = 0x84EE
const GL_TEXTURE_COMPRESSION_HINT: int = 0x84EF
const GL_TEXTURE_COMPRESSED_IMAGE_SIZE: int = 0x86A0
const GL_TEXTURE_COMPRESSED: int = 0x86A1
const GL_NUM_COMPRESSED_TEXTURE_FORMATS: int = 0x86A2
const GL_COMPRESSED_TEXTURE_FORMATS: int = 0x86A3
const GL_CLAMP_TO_BORDER: int = 0x812D
const GL_BLEND_DST_RGB: int = 0x80C8
const GL_BLEND_SRC_RGB: int = 0x80C9
const GL_BLEND_DST_ALPHA: int = 0x80CA
const GL_BLEND_SRC_ALPHA: int = 0x80CB
const GL_POINT_FADE_THRESHOLD_SIZE: int = 0x8128
const GL_DEPTH_COMPONENT16: int = 0x81A5
const GL_DEPTH_COMPONENT24: int = 0x81A6
const GL_DEPTH_COMPONENT32: int = 0x81A7
const GL_MIRRORED_REPEAT: int = 0x8370
const GL_MAX_TEXTURE_LOD_BIAS: int = 0x84FD
const GL_TEXTURE_LOD_BIAS: int = 0x8501
const GL_INCR_WRAP: int = 0x8507
const GL_DECR_WRAP: int = 0x8508
const GL_TEXTURE_DEPTH_SIZE: int = 0x884A
const GL_TEXTURE_COMPARE_MODE: int = 0x884C
const GL_TEXTURE_COMPARE_FUNC: int = 0x884D
const GL_BUFFER_SIZE: int = 0x8764
const GL_BUFFER_USAGE: int = 0x8765
const GL_QUERY_COUNTER_BITS: int = 0x8864
const GL_CURRENT_QUERY: int = 0x8865
const GL_QUERY_RESULT: int = 0x8866
const GL_QUERY_RESULT_AVAILABLE: int = 0x8867
const GL_ARRAY_BUFFER: int = 0x8892
const GL_ELEMENT_ARRAY_BUFFER: int = 0x8893
const GL_ARRAY_BUFFER_BINDING: int = 0x8894
const GL_ELEMENT_ARRAY_BUFFER_BINDING: int = 0x8895
const GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: int = 0x889F
const GL_READ_ONLY: int = 0x88B8
const GL_WRITE_ONLY: int = 0x88B9
const GL_READ_WRITE: int = 0x88BA
const GL_BUFFER_ACCESS: int = 0x88BB
const GL_BUFFER_MAPPED: int = 0x88BC
const GL_BUFFER_MAP_POINTER: int = 0x88BD
const GL_STREAM_DRAW: int = 0x88E0
const GL_STREAM_READ: int = 0x88E1
const GL_STREAM_COPY: int = 0x88E2
const GL_STATIC_DRAW: int = 0x88E4
const GL_STATIC_READ: int = 0x88E5
const GL_STATIC_COPY: int = 0x88E6
const GL_DYNAMIC_DRAW: int = 0x88E8
const GL_DYNAMIC_READ: int = 0x88E9
const GL_DYNAMIC_COPY: int = 0x88EA
const GL_SAMPLES_PASSED: int = 0x8914
const GL_BLEND_EQUATION_RGB: int = 0x8009
const GL_VERTEX_ATTRIB_ARRAY_ENABLED: int = 0x8622
const GL_VERTEX_ATTRIB_ARRAY_SIZE: int = 0x8623
const GL_VERTEX_ATTRIB_ARRAY_STRIDE: int = 0x8624
const GL_VERTEX_ATTRIB_ARRAY_TYPE: int = 0x8625
const GL_CURRENT_VERTEX_ATTRIB: int = 0x8626
const GL_VERTEX_PROGRAM_POINT_SIZE: int = 0x8642
const GL_VERTEX_ATTRIB_ARRAY_POINTER: int = 0x8645
const GL_STENCIL_BACK_FUNC: int = 0x8800
const GL_STENCIL_BACK_FAIL: int = 0x8801
const GL_STENCIL_BACK_PASS_DEPTH_FAIL: int = 0x8802
const GL_STENCIL_BACK_PASS_DEPTH_PASS: int = 0x8803
const GL_MAX_DRAW_BUFFERS: int = 0x8824
const GL_DRAW_BUFFER0: int = 0x8825
const GL_DRAW_BUFFER1: int = 0x8826
const GL_DRAW_BUFFER2: int = 0x8827
const GL_DRAW_BUFFER3: int = 0x8828
const GL_DRAW_BUFFER4: int = 0x8829
const GL_DRAW_BUFFER5: int = 0x882A
const GL_DRAW_BUFFER6: int = 0x882B
const GL_DRAW_BUFFER7: int = 0x882C
const GL_DRAW_BUFFER8: int = 0x882D
const GL_DRAW_BUFFER9: int = 0x882E
const GL_DRAW_BUFFER10: int = 0x882F
const GL_DRAW_BUFFER11: int = 0x8830
const GL_DRAW_BUFFER12: int = 0x8831
const GL_DRAW_BUFFER13: int = 0x8832
const GL_DRAW_BUFFER14: int = 0x8833
const GL_DRAW_BUFFER15: int = 0x8834
const GL_BLEND_EQUATION_ALPHA: int = 0x883D
const GL_MAX_VERTEX_ATTRIBS: int = 0x8869
const GL_VERTEX_ATTRIB_ARRAY_NORMALIZED: int = 0x886A
const GL_MAX_TEXTURE_IMAGE_UNITS: int = 0x8872
const GL_FRAGMENT_SHADER: int = 0x8B30
const GL_VERTEX_SHADER: int = 0x8B31
const GL_MAX_FRAGMENT_UNIFORM_COMPONENTS: int = 0x8B49
const GL_MAX_VERTEX_UNIFORM_COMPONENTS: int = 0x8B4A
const GL_MAX_VARYING_FLOATS: int = 0x8B4B
const GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS: int = 0x8B4C
const GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: int = 0x8B4D
const GL_SHADER_TYPE: int = 0x8B4F
const GL_FLOAT_VEC2: int = 0x8B50
const GL_FLOAT_VEC3: int = 0x8B51
const GL_FLOAT_VEC4: int = 0x8B52
const GL_INT_VEC2: int = 0x8B53
const GL_INT_VEC3: int = 0x8B54
const GL_INT_VEC4: int = 0x8B55
const GL_BOOL: int = 0x8B56
const GL_BOOL_VEC2: int = 0x8B57
const GL_BOOL_VEC3: int = 0x8B58
const GL_BOOL_VEC4: int = 0x8B59
const GL_FLOAT_MAT2: int = 0x8B5A
const GL_FLOAT_MAT3: int = 0x8B5B
const GL_FLOAT_MAT4: int = 0x8B5C
const GL_SAMPLER_1D: int = 0x8B5D
const GL_SAMPLER_2D: int = 0x8B5E
const GL_SAMPLER_3D: int = 0x8B5F
const GL_SAMPLER_CUBE: int = 0x8B60
const GL_SAMPLER_1D_SHADOW: int = 0x8B61
const GL_SAMPLER_2D_SHADOW: int = 0x8B62
const GL_DELETE_STATUS: int = 0x8B80
const GL_COMPILE_STATUS: int = 0x8B81
const GL_LINK_STATUS: int = 0x8B82
const GL_VALIDATE_STATUS: int = 0x8B83
const GL_INFO_LOG_LENGTH: int = 0x8B84
const GL_ATTACHED_SHADERS: int = 0x8B85
const GL_ACTIVE_UNIFORMS: int = 0x8B86
const GL_ACTIVE_UNIFORM_MAX_LENGTH: int = 0x8B87
const GL_SHADER_SOURCE_LENGTH: int = 0x8B88
const GL_ACTIVE_ATTRIBUTES: int = 0x8B89
const GL_ACTIVE_ATTRIBUTE_MAX_LENGTH: int = 0x8B8A
const GL_FRAGMENT_SHADER_DERIVATIVE_HINT: int = 0x8B8B
const GL_SHADING_LANGUAGE_VERSION: int = 0x8B8C
const GL_CURRENT_PROGRAM: int = 0x8B8D
const GL_POINT_SPRITE_COORD_ORIGIN: int = 0x8CA0
const GL_LOWER_LEFT: int = 0x8CA1
const GL_UPPER_LEFT: int = 0x8CA2
const GL_STENCIL_BACK_REF: int = 0x8CA3
const GL_STENCIL_BACK_VALUE_MASK: int = 0x8CA4
const GL_STENCIL_BACK_WRITEMASK: int = 0x8CA5
const GL_PIXEL_PACK_BUFFER: int = 0x88EB
const GL_PIXEL_UNPACK_BUFFER: int = 0x88EC
const GL_PIXEL_PACK_BUFFER_BINDING: int = 0x88ED
const GL_PIXEL_UNPACK_BUFFER_BINDING: int = 0x88EF
const GL_SRGB: int = 0x8C40
const GL_SRGB8: int = 0x8C41
const GL_SRGB_ALPHA: int = 0x8C42
const GL_SRGB8_ALPHA8: int = 0x8C43
const GL_COMPRESSED_SRGB: int = 0x8C48
const GL_COMPRESSED_SRGB_ALPHA: int = 0x8C49
const GL_COMPARE_REF_TO_TEXTURE: int = 0x884E
const GL_CLIP_DISTANCE0: int = 0x3000
const GL_CLIP_DISTANCE1: int = 0x3001
const GL_CLIP_DISTANCE2: int = 0x3002
const GL_CLIP_DISTANCE3: int = 0x3003
const GL_CLIP_DISTANCE4: int = 0x3004
const GL_CLIP_DISTANCE5: int = 0x3005
const GL_CLIP_DISTANCE6: int = 0x3006
const GL_CLIP_DISTANCE7: int = 0x3007
const GL_MAX_CLIP_DISTANCES: int = 0x0D32
const GL_MAJOR_VERSION: int = 0x821B
const GL_MINOR_VERSION: int = 0x821C
const GL_NUM_EXTENSIONS: int = 0x821D
const GL_CONTEXT_FLAGS: int = 0x821E
const GL_COMPRESSED_RED: int = 0x8225
const GL_COMPRESSED_RG: int = 0x8226
const GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT: int = 0x0001
const GL_RGBA32F: int = 0x8814
const GL_RGB32F: int = 0x8815
const GL_RGBA16F: int = 0x881A
const GL_RGB16F: int = 0x881B
const GL_VERTEX_ATTRIB_ARRAY_INTEGER: int = 0x88FD
const GL_MAX_ARRAY_TEXTURE_LAYERS: int = 0x88FF
const GL_MIN_PROGRAM_TEXEL_OFFSET: int = 0x8904
const GL_MAX_PROGRAM_TEXEL_OFFSET: int = 0x8905
const GL_CLAMP_READ_COLOR: int = 0x891C
const GL_FIXED_ONLY: int = 0x891D
const GL_MAX_VARYING_COMPONENTS: int = 0x8B4B
const GL_TEXTURE_1D_ARRAY: int = 0x8C18
const GL_PROXY_TEXTURE_1D_ARRAY: int = 0x8C19
const GL_TEXTURE_2D_ARRAY: int = 0x8C1A
const GL_PROXY_TEXTURE_2D_ARRAY: int = 0x8C1B
const GL_TEXTURE_BINDING_1D_ARRAY: int = 0x8C1C
const GL_TEXTURE_BINDING_2D_ARRAY: int = 0x8C1D
const GL_R11F_G11F_B10F: int = 0x8C3A
const GL_UNSIGNED_INT_10F_11F_11F_REV: int = 0x8C3B
const GL_RGB9_E5: int = 0x8C3D
const GL_UNSIGNED_INT_5_9_9_9_REV: int = 0x8C3E
const GL_TEXTURE_SHARED_SIZE: int = 0x8C3F
const GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH: int = 0x8C76
const GL_TRANSFORM_FEEDBACK_BUFFER_MODE: int = 0x8C7F
const GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: int = 0x8C80
const GL_TRANSFORM_FEEDBACK_VARYINGS: int = 0x8C83
const GL_TRANSFORM_FEEDBACK_BUFFER_START: int = 0x8C84
const GL_TRANSFORM_FEEDBACK_BUFFER_SIZE: int = 0x8C85
const GL_PRIMITIVES_GENERATED: int = 0x8C87
const GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: int = 0x8C88
const GL_RASTERIZER_DISCARD: int = 0x8C89
const GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: int = 0x8C8A
const GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: int = 0x8C8B
const GL_INTERLEAVED_ATTRIBS: int = 0x8C8C
const GL_SEPARATE_ATTRIBS: int = 0x8C8D
const GL_TRANSFORM_FEEDBACK_BUFFER: int = 0x8C8E
const GL_TRANSFORM_FEEDBACK_BUFFER_BINDING: int = 0x8C8F
const GL_RGBA32UI: int = 0x8D70
const GL_RGB32UI: int = 0x8D71
const GL_RGBA16UI: int = 0x8D76
const GL_RGB16UI: int = 0x8D77
const GL_RGBA8UI: int = 0x8D7C
const GL_RGB8UI: int = 0x8D7D
const GL_RGBA32I: int = 0x8D82
const GL_RGB32I: int = 0x8D83
const GL_RGBA16I: int = 0x8D88
const GL_RGB16I: int = 0x8D89
const GL_RGBA8I: int = 0x8D8E
const GL_RGB8I: int = 0x8D8F
const GL_RED_INTEGER: int = 0x8D94
const GL_GREEN_INTEGER: int = 0x8D95
const GL_BLUE_INTEGER: int = 0x8D96
const GL_RGB_INTEGER: int = 0x8D98
const GL_RGBA_INTEGER: int = 0x8D99
const GL_BGR_INTEGER: int = 0x8D9A
const GL_BGRA_INTEGER: int = 0x8D9B
const GL_SAMPLER_1D_ARRAY: int = 0x8DC0
const GL_SAMPLER_2D_ARRAY: int = 0x8DC1
const GL_SAMPLER_1D_ARRAY_SHADOW: int = 0x8DC3
const GL_SAMPLER_2D_ARRAY_SHADOW: int = 0x8DC4
const GL_SAMPLER_CUBE_SHADOW: int = 0x8DC5
const GL_UNSIGNED_INT_VEC2: int = 0x8DC6
const GL_UNSIGNED_INT_VEC3: int = 0x8DC7
const GL_UNSIGNED_INT_VEC4: int = 0x8DC8
const GL_INT_SAMPLER_1D: int = 0x8DC9
const GL_INT_SAMPLER_2D: int = 0x8DCA
const GL_INT_SAMPLER_3D: int = 0x8DCB
const GL_INT_SAMPLER_CUBE: int = 0x8DCC
const GL_INT_SAMPLER_1D_ARRAY: int = 0x8DCE
const GL_INT_SAMPLER_2D_ARRAY: int = 0x8DCF
const GL_UNSIGNED_INT_SAMPLER_1D: int = 0x8DD1
const GL_UNSIGNED_INT_SAMPLER_2D: int = 0x8DD2
const GL_UNSIGNED_INT_SAMPLER_3D: int = 0x8DD3
const GL_UNSIGNED_INT_SAMPLER_CUBE: int = 0x8DD4
const GL_UNSIGNED_INT_SAMPLER_1D_ARRAY: int = 0x8DD6
const GL_UNSIGNED_INT_SAMPLER_2D_ARRAY: int = 0x8DD7
const GL_QUERY_WAIT: int = 0x8E13
const GL_QUERY_NO_WAIT: int = 0x8E14
const GL_QUERY_BY_REGION_WAIT: int = 0x8E15
const GL_QUERY_BY_REGION_NO_WAIT: int = 0x8E16
const GL_BUFFER_ACCESS_FLAGS: int = 0x911F
const GL_BUFFER_MAP_LENGTH: int = 0x9120
const GL_BUFFER_MAP_OFFSET: int = 0x9121
const GL_SAMPLER_2D_RECT: int = 0x8B63
const GL_SAMPLER_2D_RECT_SHADOW: int = 0x8B64
const GL_SAMPLER_BUFFER: int = 0x8DC2
const GL_INT_SAMPLER_2D_RECT: int = 0x8DCD
const GL_INT_SAMPLER_BUFFER: int = 0x8DD0
const GL_UNSIGNED_INT_SAMPLER_2D_RECT: int = 0x8DD5
const GL_UNSIGNED_INT_SAMPLER_BUFFER: int = 0x8DD8
const GL_TEXTURE_BUFFER: int = 0x8C2A
const GL_MAX_TEXTURE_BUFFER_SIZE: int = 0x8C2B
const GL_TEXTURE_BINDING_BUFFER: int = 0x8C2C
const GL_TEXTURE_BUFFER_DATA_STORE_BINDING: int = 0x8C2D
const GL_TEXTURE_RECTANGLE: int = 0x84F5
const GL_TEXTURE_BINDING_RECTANGLE: int = 0x84F6
const GL_PROXY_TEXTURE_RECTANGLE: int = 0x84F7
const GL_MAX_RECTANGLE_TEXTURE_SIZE: int = 0x84F8
const GL_R8_SNORM: int = 0x8F94
const GL_RG8_SNORM: int = 0x8F95
const GL_RGB8_SNORM: int = 0x8F96
const GL_RGBA8_SNORM: int = 0x8F97
const GL_R16_SNORM: int = 0x8F98
const GL_RG16_SNORM: int = 0x8F99
const GL_RGB16_SNORM: int = 0x8F9A
const GL_RGBA16_SNORM: int = 0x8F9B
const GL_SIGNED_NORMALIZED: int = 0x8F9C
const GL_PRIMITIVE_RESTART: int = 0x8F9D
const GL_PRIMITIVE_RESTART_INDEX: int = 0x8F9E
const GL_CONTEXT_CORE_PROFILE_BIT: int = 0x00000001
const GL_CONTEXT_COMPATIBILITY_PROFILE_BIT: int = 0x00000002
const GL_LINES_ADJACENCY: int = 0x000A
const GL_LINE_STRIP_ADJACENCY: int = 0x000B
const GL_TRIANGLES_ADJACENCY: int = 0x000C
const GL_TRIANGLE_STRIP_ADJACENCY: int = 0x000D
const GL_PROGRAM_POINT_SIZE: int = 0x8642
const GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS: int = 0x8C29
const GL_FRAMEBUFFER_ATTACHMENT_LAYERED: int = 0x8DA7
const GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS: int = 0x8DA8
const GL_GEOMETRY_SHADER: int = 0x8DD9
const GL_GEOMETRY_VERTICES_OUT: int = 0x8916
const GL_GEOMETRY_INPUT_TYPE: int = 0x8917
const GL_GEOMETRY_OUTPUT_TYPE: int = 0x8918
const GL_MAX_GEOMETRY_UNIFORM_COMPONENTS: int = 0x8DDF
const GL_MAX_GEOMETRY_OUTPUT_VERTICES: int = 0x8DE0
const GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS: int = 0x8DE1
const GL_MAX_VERTEX_OUTPUT_COMPONENTS: int = 0x9122
const GL_MAX_GEOMETRY_INPUT_COMPONENTS: int = 0x9123
const GL_MAX_GEOMETRY_OUTPUT_COMPONENTS: int = 0x9124
const GL_MAX_FRAGMENT_INPUT_COMPONENTS: int = 0x9125
const GL_CONTEXT_PROFILE_MASK: int = 0x9126
const GL_VERTEX_ATTRIB_ARRAY_DIVISOR: int = 0x88FE
const GL_SAMPLE_SHADING: int = 0x8C36
const GL_MIN_SAMPLE_SHADING_VALUE: int = 0x8C37
const GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET: int = 0x8E5E
const GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET: int = 0x8E5F
const GL_TEXTURE_CUBE_MAP_ARRAY: int = 0x9009
const GL_TEXTURE_BINDING_CUBE_MAP_ARRAY: int = 0x900A
const GL_PROXY_TEXTURE_CUBE_MAP_ARRAY: int = 0x900B
const GL_SAMPLER_CUBE_MAP_ARRAY: int = 0x900C
const GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW: int = 0x900D
const GL_INT_SAMPLER_CUBE_MAP_ARRAY: int = 0x900E
const GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY: int = 0x900F
const GL_DEPTH_COMPONENT32F: int = 0x8CAC
const GL_DEPTH32F_STENCIL8: int = 0x8CAD
const GL_FLOAT_32_UNSIGNED_INT_24_8_REV: int = 0x8DAD
const GL_INVALID_FRAMEBUFFER_OPERATION: int = 0x0506
const GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: int = 0x8210
const GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: int = 0x8211
const GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE: int = 0x8212
const GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: int = 0x8213
const GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: int = 0x8214
const GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: int = 0x8215
const GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: int = 0x8216
const GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: int = 0x8217
const GL_FRAMEBUFFER_DEFAULT: int = 0x8218
const GL_FRAMEBUFFER_UNDEFINED: int = 0x8219
const GL_DEPTH_STENCIL_ATTACHMENT: int = 0x821A
const GL_MAX_RENDERBUFFER_SIZE: int = 0x84E8
const GL_DEPTH_STENCIL: int = 0x84F9
const GL_UNSIGNED_INT_24_8: int = 0x84FA
const GL_DEPTH24_STENCIL8: int = 0x88F0
const GL_TEXTURE_STENCIL_SIZE: int = 0x88F1
const GL_TEXTURE_RED_TYPE: int = 0x8C10
const GL_TEXTURE_GREEN_TYPE: int = 0x8C11
const GL_TEXTURE_BLUE_TYPE: int = 0x8C12
const GL_TEXTURE_ALPHA_TYPE: int = 0x8C13
const GL_TEXTURE_DEPTH_TYPE: int = 0x8C16
const GL_UNSIGNED_NORMALIZED: int = 0x8C17
const GL_FRAMEBUFFER_BINDING: int = 0x8CA6
const GL_RENDERBUFFER_BINDING: int = 0x8CA7
const GL_READ_FRAMEBUFFER: int = 0x8CA8
const GL_DRAW_FRAMEBUFFER: int = 0x8CA9
const GL_READ_FRAMEBUFFER_BINDING: int = 0x8CAA
const GL_RENDERBUFFER_SAMPLES: int = 0x8CAB
const GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: int = 0x8CD0
const GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: int = 0x8CD1
const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: int = 0x8CD2
const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: int = 0x8CD3
const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: int = 0x8CD4
const GL_FRAMEBUFFER_COMPLETE: int = 0x8CD5
const GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT: int = 0x8CD6
const GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: int = 0x8CD7
const GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER: int = 0x8CDB
const GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER: int = 0x8CDC
const GL_FRAMEBUFFER_UNSUPPORTED: int = 0x8CDD
const GL_MAX_COLOR_ATTACHMENTS: int = 0x8CDF
const GL_COLOR_ATTACHMENT0: int = 0x8CE0
const GL_COLOR_ATTACHMENT1: int = 0x8CE1
const GL_COLOR_ATTACHMENT2: int = 0x8CE2
const GL_COLOR_ATTACHMENT3: int = 0x8CE3
const GL_COLOR_ATTACHMENT4: int = 0x8CE4
const GL_COLOR_ATTACHMENT5: int = 0x8CE5
const GL_COLOR_ATTACHMENT6: int = 0x8CE6
const GL_COLOR_ATTACHMENT7: int = 0x8CE7
const GL_COLOR_ATTACHMENT8: int = 0x8CE8
const GL_COLOR_ATTACHMENT9: int = 0x8CE9
const GL_COLOR_ATTACHMENT10: int = 0x8CEA
const GL_COLOR_ATTACHMENT11: int = 0x8CEB
const GL_COLOR_ATTACHMENT12: int = 0x8CEC
const GL_COLOR_ATTACHMENT13: int = 0x8CED
const GL_COLOR_ATTACHMENT14: int = 0x8CEE
const GL_COLOR_ATTACHMENT15: int = 0x8CEF
const GL_DEPTH_ATTACHMENT: int = 0x8D00
const GL_STENCIL_ATTACHMENT: int = 0x8D20
const GL_FRAMEBUFFER: int = 0x8D40
const GL_RENDERBUFFER: int = 0x8D41
const GL_RENDERBUFFER_WIDTH: int = 0x8D42
const GL_RENDERBUFFER_HEIGHT: int = 0x8D43
const GL_RENDERBUFFER_INTERNAL_FORMAT: int = 0x8D44
const GL_STENCIL_INDEX1: int = 0x8D46
const GL_STENCIL_INDEX4: int = 0x8D47
const GL_STENCIL_INDEX8: int = 0x8D48
const GL_STENCIL_INDEX16: int = 0x8D49
const GL_RENDERBUFFER_RED_SIZE: int = 0x8D50
const GL_RENDERBUFFER_GREEN_SIZE: int = 0x8D51
const GL_RENDERBUFFER_BLUE_SIZE: int = 0x8D52
const GL_RENDERBUFFER_ALPHA_SIZE: int = 0x8D53
const GL_RENDERBUFFER_DEPTH_SIZE: int = 0x8D54
const GL_RENDERBUFFER_STENCIL_SIZE: int = 0x8D55
const GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: int = 0x8D56
const GL_MAX_SAMPLES: int = 0x8D57
const GL_FRAMEBUFFER_SRGB: int = 0x8DB9
const GL_HALF_FLOAT: int = 0x140B
const GL_MAP_READ_BIT: int = 0x0001
const GL_MAP_WRITE_BIT: int = 0x0002
const GL_MAP_INVALIDATE_RANGE_BIT: int = 0x0004
const GL_MAP_INVALIDATE_BUFFER_BIT: int = 0x0008
const GL_MAP_FLUSH_EXPLICIT_BIT: int = 0x0010
const GL_MAP_UNSYNCHRONIZED_BIT: int = 0x0020
const GL_COMPRESSED_RED_RGTC1: int = 0x8DBB
const GL_COMPRESSED_SIGNED_RED_RGTC1: int = 0x8DBC
const GL_COMPRESSED_RG_RGTC2: int = 0x8DBD
const GL_COMPRESSED_SIGNED_RG_RGTC2: int = 0x8DBE
const GL_RG: int = 0x8227
const GL_RG_INTEGER: int = 0x8228
const GL_R8: int = 0x8229
const GL_R16: int = 0x822A
const GL_RG8: int = 0x822B
const GL_RG16: int = 0x822C
const GL_R16F: int = 0x822D
const GL_R32F: int = 0x822E
const GL_RG16F: int = 0x822F
const GL_RG32F: int = 0x8230
const GL_R8I: int = 0x8231
const GL_R8UI: int = 0x8232
const GL_R16I: int = 0x8233
const GL_R16UI: int = 0x8234
const GL_R32I: int = 0x8235
const GL_R32UI: int = 0x8236
const GL_RG8I: int = 0x8237
const GL_RG8UI: int = 0x8238
const GL_RG16I: int = 0x8239
const GL_RG16UI: int = 0x823A
const GL_RG32I: int = 0x823B
const GL_RG32UI: int = 0x823C
const GL_VERTEX_ARRAY_BINDING: int = 0x85B5
const GL_UNIFORM_BUFFER: int = 0x8A11
const GL_UNIFORM_BUFFER_BINDING: int = 0x8A28
const GL_UNIFORM_BUFFER_START: int = 0x8A29
const GL_UNIFORM_BUFFER_SIZE: int = 0x8A2A
const GL_MAX_VERTEX_UNIFORM_BLOCKS: int = 0x8A2B
const GL_MAX_GEOMETRY_UNIFORM_BLOCKS: int = 0x8A2C
const GL_MAX_FRAGMENT_UNIFORM_BLOCKS: int = 0x8A2D
const GL_MAX_COMBINED_UNIFORM_BLOCKS: int = 0x8A2E
const GL_MAX_UNIFORM_BUFFER_BINDINGS: int = 0x8A2F
const GL_MAX_UNIFORM_BLOCK_SIZE: int = 0x8A30
const GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: int = 0x8A31
const GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS: int = 0x8A32
const GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: int = 0x8A33
const GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT: int = 0x8A34
const GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH: int = 0x8A35
const GL_ACTIVE_UNIFORM_BLOCKS: int = 0x8A36
const GL_UNIFORM_TYPE: int = 0x8A37
const GL_UNIFORM_SIZE: int = 0x8A38
const GL_UNIFORM_NAME_LENGTH: int = 0x8A39
const GL_UNIFORM_BLOCK_INDEX: int = 0x8A3A
const GL_UNIFORM_OFFSET: int = 0x8A3B
const GL_UNIFORM_ARRAY_STRIDE: int = 0x8A3C
const GL_UNIFORM_MATRIX_STRIDE: int = 0x8A3D
const GL_UNIFORM_IS_ROW_MAJOR: int = 0x8A3E
const GL_UNIFORM_BLOCK_BINDING: int = 0x8A3F
const GL_UNIFORM_BLOCK_DATA_SIZE: int = 0x8A40
const GL_UNIFORM_BLOCK_NAME_LENGTH: int = 0x8A41
const GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS: int = 0x8A42
const GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: int = 0x8A43
const GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: int = 0x8A44
const GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER: int = 0x8A45
const GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: int = 0x8A46
const GL_INVALID_INDEX: int = -1
const GL_COPY_READ_BUFFER: int = 0x8F36
const GL_COPY_WRITE_BUFFER: int = 0x8F37
const GL_DEPTH_CLAMP: int = 0x864F
const GL_FIRST_VERTEX_CONVENTION: int = 0x8E4D
const GL_LAST_VERTEX_CONVENTION: int = 0x8E4E
const GL_PROVOKING_VERTEX: int = 0x8E4F
const GL_TEXTURE_CUBE_MAP_SEAMLESS: int = 0x884F
const GL_MAX_SERVER_WAIT_TIMEOUT: int = 0x9111
const GL_OBJECT_TYPE: int = 0x9112
const GL_SYNC_CONDITION: int = 0x9113
const GL_SYNC_STATUS: int = 0x9114
const GL_SYNC_FLAGS: int = 0x9115
const GL_SYNC_FENCE: int = 0x9116
const GL_SYNC_GPU_COMMANDS_COMPLETE: int = 0x9117
const GL_UNSIGNALED: int = 0x9118
const GL_SIGNALED: int = 0x9119
const GL_ALREADY_SIGNALED: int = 0x911A
const GL_TIMEOUT_EXPIRED: int = 0x911B
const GL_CONDITION_SATISFIED: int = 0x911C
const GL_WAIT_FAILED: int = 0x911D
const GL_SYNC_FLUSH_COMMANDS_BIT: int = 0x00000001
const GL_TIMEOUT_IGNORED: long = -1
const GL_SAMPLE_POSITION: int = 0x8E50
const GL_SAMPLE_MASK: int = 0x8E51
const GL_SAMPLE_MASK_VALUE: int = 0x8E52
const GL_MAX_SAMPLE_MASK_WORDS: int = 0x8E59
const GL_TEXTURE_2D_MULTISAMPLE: int = 0x9100
const GL_PROXY_TEXTURE_2D_MULTISAMPLE: int = 0x9101
const GL_TEXTURE_2D_MULTISAMPLE_ARRAY: int = 0x9102
const GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY: int = 0x9103
const GL_TEXTURE_BINDING_2D_MULTISAMPLE: int = 0x9104
const GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY: int = 0x9105
const GL_TEXTURE_SAMPLES: int = 0x9106
const GL_TEXTURE_FIXED_SAMPLE_LOCATIONS: int = 0x9107
const GL_SAMPLER_2D_MULTISAMPLE: int = 0x9108
const GL_INT_SAMPLER_2D_MULTISAMPLE: int = 0x9109
const GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE: int = 0x910A
const GL_SAMPLER_2D_MULTISAMPLE_ARRAY: int = 0x910B
const GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY: int = 0x910C
const GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY: int = 0x910D
const GL_MAX_COLOR_TEXTURE_SAMPLES: int = 0x910E
const GL_MAX_DEPTH_TEXTURE_SAMPLES: int = 0x910F
const GL_MAX_INTEGER_SAMPLES: int = 0x9110
const GL_SRC1_COLOR: int = 0x88F9
const GL_SRC1_ALPHA: int = 0x8589
const GL_ONE_MINUS_SRC1_COLOR: int = 0x88FA
const GL_ONE_MINUS_SRC1_ALPHA: int = 0x88FB
const GL_MAX_DUAL_SOURCE_DRAW_BUFFERS: int = 0x88FC
const GL_ANY_SAMPLES_PASSED: int = 0x8C2F
const GL_SAMPLER_BINDING: int = 0x8919
const GL_RGB10_A2UI: int = 0x906F
const GL_TEXTURE_SWIZZLE_R: int = 0x8E42
const GL_TEXTURE_SWIZZLE_G: int = 0x8E43
const GL_TEXTURE_SWIZZLE_B: int = 0x8E44
const GL_TEXTURE_SWIZZLE_A: int = 0x8E45
const GL_TEXTURE_SWIZZLE_RGBA: int = 0x8E46
const GL_TIME_ELAPSED: int = 0x88BF
const GL_TIMESTAMP: int = 0x8E28
const GL_INT_2_10_10_10_REV: int = 0x8D9F
const GL_DRAW_INDIRECT_BUFFER: int = 0x8F3F
const GL_DRAW_INDIRECT_BUFFER_BINDING: int = 0x8F43
const GL_GEOMETRY_SHADER_INVOCATIONS: int = 0x887F
const GL_MAX_GEOMETRY_SHADER_INVOCATIONS: int = 0x8E5A
const GL_MIN_FRAGMENT_INTERPOLATION_OFFSET: int = 0x8E5B
const GL_MAX_FRAGMENT_INTERPOLATION_OFFSET: int = 0x8E5C
const GL_FRAGMENT_INTERPOLATION_OFFSET_BITS: int = 0x8E5D
const GL_DOUBLE_VEC2: int = 0x8FFC
const GL_DOUBLE_VEC3: int = 0x8FFD
const GL_DOUBLE_VEC4: int = 0x8FFE
const GL_DOUBLE_MAT2: int = 0x8F46
const GL_DOUBLE_MAT3: int = 0x8F47
const GL_DOUBLE_MAT4: int = 0x8F48
const GL_ACTIVE_SUBROUTINES: int = 0x8DE5
const GL_ACTIVE_SUBROUTINE_UNIFORMS: int = 0x8DE6
const GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS: int = 0x8E47
const GL_ACTIVE_SUBROUTINE_MAX_LENGTH: int = 0x8E48
const GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH: int = 0x8E49
const GL_MAX_SUBROUTINES: int = 0x8DE7
const GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS: int = 0x8DE8
const GL_NUM_COMPATIBLE_SUBROUTINES: int = 0x8E4A
const GL_COMPATIBLE_SUBROUTINES: int = 0x8E4B
const GL_PATCHES: int = 0x000E
const GL_PATCH_VERTICES: int = 0x8E72
const GL_PATCH_DEFAULT_INNER_LEVEL: int = 0x8E73
const GL_PATCH_DEFAULT_OUTER_LEVEL: int = 0x8E74
const GL_TESS_CONTROL_OUTPUT_VERTICES: int = 0x8E75
const GL_TESS_GEN_MODE: int = 0x8E76
const GL_TESS_GEN_SPACING: int = 0x8E77
const GL_TESS_GEN_VERTEX_ORDER: int = 0x8E78
const GL_TESS_GEN_POINT_MODE: int = 0x8E79
const GL_QUADS: int = 0x0007
const GL_ISOLINES: int = 0x8E7A
const GL_FRACTIONAL_ODD: int = 0x8E7B
const GL_FRACTIONAL_EVEN: int = 0x8E7C
const GL_MAX_PATCH_VERTICES: int = 0x8E7D
const GL_MAX_TESS_GEN_LEVEL: int = 0x8E7E
const GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS: int = 0x8E7F
const GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS: int = 0x8E80
const GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS: int = 0x8E81
const GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS: int = 0x8E82
const GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS: int = 0x8E83
const GL_MAX_TESS_PATCH_COMPONENTS: int = 0x8E84
const GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS: int = 0x8E85
const GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS: int = 0x8E86
const GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS: int = 0x8E89
const GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS: int = 0x8E8A
const GL_MAX_TESS_CONTROL_INPUT_COMPONENTS: int = 0x886C
const GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS: int = 0x886D
const GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS: int = 0x8E1E
const GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS: int = 0x8E1F
const GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER: int = 0x84F0
const GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER: int = 0x84F1
const GL_TESS_EVALUATION_SHADER: int = 0x8E87
const GL_TESS_CONTROL_SHADER: int = 0x8E88
const GL_TRANSFORM_FEEDBACK: int = 0x8E22
const GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED: int = 0x8E23
const GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE: int = 0x8E24
const GL_TRANSFORM_FEEDBACK_BINDING: int = 0x8E25
const GL_MAX_TRANSFORM_FEEDBACK_BUFFERS: int = 0x8E70
const GL_MAX_VERTEX_STREAMS: int = 0x8E71
const GL_FIXED: int = 0x140C
const GL_IMPLEMENTATION_COLOR_READ_TYPE: int = 0x8B9A
const GL_IMPLEMENTATION_COLOR_READ_FORMAT: int = 0x8B9B
const GL_LOW_FLOAT: int = 0x8DF0
const GL_MEDIUM_FLOAT: int = 0x8DF1
const GL_HIGH_FLOAT: int = 0x8DF2
const GL_LOW_INT: int = 0x8DF3
const GL_MEDIUM_INT: int = 0x8DF4
const GL_HIGH_INT: int = 0x8DF5
const GL_SHADER_COMPILER: int = 0x8DFA
const GL_SHADER_BINARY_FORMATS: int = 0x8DF8
const GL_NUM_SHADER_BINARY_FORMATS: int = 0x8DF9
const GL_MAX_VERTEX_UNIFORM_VECTORS: int = 0x8DFB
const GL_MAX_VARYING_VECTORS: int = 0x8DFC
const GL_MAX_FRAGMENT_UNIFORM_VECTORS: int = 0x8DFD
const GL_RGB565: int = 0x8D62
const GL_PROGRAM_BINARY_RETRIEVABLE_HINT: int = 0x8257
const GL_PROGRAM_BINARY_LENGTH: int = 0x8741
const GL_NUM_PROGRAM_BINARY_FORMATS: int = 0x87FE
const GL_PROGRAM_BINARY_FORMATS: int = 0x87FF
const GL_VERTEX_SHADER_BIT: int = 0x00000001
const GL_FRAGMENT_SHADER_BIT: int = 0x00000002
const GL_GEOMETRY_SHADER_BIT: int = 0x00000004
const GL_TESS_CONTROL_SHADER_BIT: int = 0x00000008
const GL_TESS_EVALUATION_SHADER_BIT: int = 0x00000010
const GL_ALL_SHADER_BITS: int = -1
const GL_PROGRAM_SEPARABLE: int = 0x8258
const GL_ACTIVE_PROGRAM: int = 0x8259
const GL_PROGRAM_PIPELINE_BINDING: int = 0x825A
const GL_MAX_VIEWPORTS: int = 0x825B
const GL_VIEWPORT_SUBPIXEL_BITS: int = 0x825C
const GL_VIEWPORT_BOUNDS_RANGE: int = 0x825D
const GL_LAYER_PROVOKING_VERTEX: int = 0x825E
const GL_VIEWPORT_INDEX_PROVOKING_VERTEX: int = 0x825F
const GL_UNDEFINED_VERTEX: int = 0x8260
extern function gl_cull_face(mode: int) = "lgl_CullFace"
extern function gl_front_face(mode: int) = "lgl_FrontFace"
extern function gl_hint(target: int, mode: int) = "lgl_Hint"
extern function gl_line_width(width: fixed) = "lgl_LineWidth"
extern function gl_point_size(size: fixed) = "lgl_PointSize"
extern function gl_polygon_mode(face: int, mode: int) = "lgl_PolygonMode"
extern function gl_scissor(x: int, y: int, width: int, height: int) = "lgl_Scissor"
extern function gl_tex_parameterf(target: int, pname: int, param: fixed) = "lgl_TexParameterf"
extern function gl_tex_parameterfv(target: int, pname: int, params: pointer) = "lgl_TexParameterfv"
extern function gl_tex_parameteri(target: int, pname: int, param: int) = "lgl_TexParameteri"
extern function gl_tex_parameteriv(target: int, pname: int, params: pointer) = "lgl_TexParameteriv"
extern function gl_tex_image1d(target: int, level: int, internalformat: int, width: int, border: int, format: int, type: int, pixels: pointer) = "lgl_TexImage1D"
extern function gl_tex_image2d(target: int, level: int, internalformat: int, width: int, height: int, border: int, format: int, type: int, pixels: pointer) = "lgl_TexImage2D"
extern function gl_draw_buffer(mode: int) = "lgl_DrawBuffer"
extern function gl_clear(mask: int) = "lgl_Clear"
extern function gl_clear_color(red: fixed, green: fixed, blue: fixed, alpha: fixed) = "lgl_ClearColor"
extern function gl_clear_stencil(s: int) = "lgl_ClearStencil"
extern function gl_clear_depth(depth: fixed) = "lgl_ClearDepth"
extern function gl_stencil_mask(mask: int) = "lgl_StencilMask"
extern function gl_color_mask(red: int, green: int, blue: int, alpha: int) = "lgl_ColorMask"
extern function gl_depth_mask(flag: int) = "lgl_DepthMask"
extern function gl_disable(cap: int) = "lgl_Disable"
extern function gl_enable(cap: int) = "lgl_Enable"
extern function gl_finish() = "lgl_Finish"
extern function gl_flush() = "lgl_Flush"
extern function gl_blend_func(sfactor: int, dfactor: int) = "lgl_BlendFunc"
extern function gl_logic_op(opcode: int) = "lgl_LogicOp"
extern function gl_stencil_func(func: int, ref: int, mask: int) = "lgl_StencilFunc"
extern function gl_stencil_op(fail: int, zfail: int, zpass: int) = "lgl_StencilOp"
extern function gl_depth_func(func: int) = "lgl_DepthFunc"
extern function gl_pixel_storef(pname: int, param: fixed) = "lgl_PixelStoref"
extern function gl_pixel_storei(pname: int, param: int) = "lgl_PixelStorei"
extern function gl_read_buffer(mode: int) = "lgl_ReadBuffer"
extern function gl_read_pixels(x: int, y: int, width: int, height: int, format: int, type: int, pixels: pointer) = "lgl_ReadPixels"
extern function gl_get_booleanv(pname: int, params: pointer) = "lgl_GetBooleanv"
extern function gl_get_doublev(pname: int, params: pointer) = "lgl_GetDoublev"
extern function gl_get_error() -> int = "lgl_GetError"
extern function gl_get_floatv(pname: int, params: pointer) = "lgl_GetFloatv"
extern function gl_get_integerv(pname: int, params: pointer) = "lgl_GetIntegerv"
extern function gl_get_string(name: int) -> pointer = "lgl_GetString"
extern function gl_get_tex_image(target: int, level: int, format: int, type: int, pixels: pointer) = "lgl_GetTexImage"
extern function gl_get_tex_parameterfv(target: int, pname: int, params: pointer) = "lgl_GetTexParameterfv"
extern function gl_get_tex_parameteriv(target: int, pname: int, params: pointer) = "lgl_GetTexParameteriv"
extern function gl_get_tex_level_parameterfv(target: int, level: int, pname: int, params: pointer) = "lgl_GetTexLevelParameterfv"
extern function gl_get_tex_level_parameteriv(target: int, level: int, pname: int, params: pointer) = "lgl_GetTexLevelParameteriv"
extern function gl_is_enabled(cap: int) -> int = "lgl_IsEnabled"
extern function gl_depth_range(near: fixed, far: fixed) = "lgl_DepthRange"
extern function gl_viewport(x: int, y: int, width: int, height: int) = "lgl_Viewport"
extern function gl_draw_arrays(mode: int, first: int, count: int) = "lgl_DrawArrays"
extern function gl_draw_elements(mode: int, count: int, type: int, indices: pointer) = "lgl_DrawElements"
extern function gl_polygon_offset(factor: fixed, units: fixed) = "lgl_PolygonOffset"
extern function gl_copy_tex_image1d(target: int, level: int, internalformat: int, x: int, y: int, width: int, border: int) = "lgl_CopyTexImage1D"
extern function gl_copy_tex_image2d(target: int, level: int, internalformat: int, x: int, y: int, width: int, height: int, border: int) = "lgl_CopyTexImage2D"
extern function gl_copy_tex_sub_image1d(target: int, level: int, xoffset: int, x: int, y: int, width: int) = "lgl_CopyTexSubImage1D"
extern function gl_copy_tex_sub_image2d(target: int, level: int, xoffset: int, yoffset: int, x: int, y: int, width: int, height: int) = "lgl_CopyTexSubImage2D"
extern function gl_tex_sub_image1d(target: int, level: int, xoffset: int, width: int, format: int, type: int, pixels: pointer) = "lgl_TexSubImage1D"
extern function gl_tex_sub_image2d(target: int, level: int, xoffset: int, yoffset: int, width: int, height: int, format: int, type: int, pixels: pointer) = "lgl_TexSubImage2D"
extern function gl_bind_texture(target: int, texture: int) = "lgl_BindTexture"
extern function gl_delete_textures(n: int, textures: pointer) = "lgl_DeleteTextures"
extern function gl_gen_textures(n: int, textures: pointer) = "lgl_GenTextures"
extern function gl_is_texture(texture: int) -> int = "lgl_IsTexture"
extern function gl_blend_color(red: fixed, green: fixed, blue: fixed, alpha: fixed) = "lgl_BlendColor"
extern function gl_blend_equation(mode: int) = "lgl_BlendEquation"
extern function gl_draw_range_elements(mode: int, first: int, end: int, count: int, type: int, indices: pointer) = "lgl_DrawRangeElements"
extern function gl_tex_image3d(target: int, level: int, internalformat: int, width: int, height: int, depth: int, border: int, format: int, type: int, pixels: pointer) = "lgl_TexImage3D"
extern function gl_tex_sub_image3d(target: int, level: int, xoffset: int, yoffset: int, zoffset: int, width: int, height: int, depth: int, format: int, type: int, pixels: pointer) = "lgl_TexSubImage3D"
extern function gl_copy_tex_sub_image3d(target: int, level: int, xoffset: int, yoffset: int, zoffset: int, x: int, y: int, width: int, height: int) = "lgl_CopyTexSubImage3D"
extern function gl_active_texture(texture: int) = "lgl_ActiveTexture"
extern function gl_sample_coverage(value: fixed, invert: int) = "lgl_SampleCoverage"
extern function gl_compressed_tex_image3d(target: int, level: int, internalformat: int, width: int, height: int, depth: int, border: int, image_size: int, data: pointer) = "lgl_CompressedTexImage3D"
extern function gl_compressed_tex_image2d(target: int, level: int, internalformat: int, width: int, height: int, border: int, image_size: int, data: pointer) = "lgl_CompressedTexImage2D"
extern function gl_compressed_tex_image1d(target: int, level: int, internalformat: int, width: int, border: int, image_size: int, data: pointer) = "lgl_CompressedTexImage1D"
extern function gl_compressed_tex_sub_image3d(target: int, level: int, xoffset: int, yoffset: int, zoffset: int, width: int, height: int, depth: int, format: int, image_size: int, data: pointer) = "lgl_CompressedTexSubImage3D"
extern function gl_compressed_tex_sub_image2d(target: int, level: int, xoffset: int, yoffset: int, width: int, height: int, format: int, image_size: int, data: pointer) = "lgl_CompressedTexSubImage2D"
extern function gl_compressed_tex_sub_image1d(target: int, level: int, xoffset: int, width: int, format: int, image_size: int, data: pointer) = "lgl_CompressedTexSubImage1D"
extern function gl_get_compressed_tex_image(target: int, level: int, img: pointer) = "lgl_GetCompressedTexImage"
extern function gl_blend_func_separate(sfactor_rgb: int, dfactor_rgb: int, sfactor_alpha: int, dfactor_alpha: int) = "lgl_BlendFuncSeparate"
extern function gl_multi_draw_arrays(mode: int, first: pointer, count: pointer, drawcount: int) = "lgl_MultiDrawArrays"
extern function gl_multi_draw_elements(mode: int, count: pointer, type: int, indices: pointer, drawcount: int) = "lgl_MultiDrawElements"
extern function gl_point_parameterf(pname: int, param: fixed) = "lgl_PointParameterf"
extern function gl_point_parameterfv(pname: int, params: pointer) = "lgl_PointParameterfv"
extern function gl_point_parameteri(pname: int, param: int) = "lgl_PointParameteri"
extern function gl_point_parameteriv(pname: int, params: pointer) = "lgl_PointParameteriv"
extern function gl_gen_queries(n: int, ids: pointer) = "lgl_GenQueries"
extern function gl_delete_queries(n: int, ids: pointer) = "lgl_DeleteQueries"
extern function gl_is_query(id: int) -> int = "lgl_IsQuery"
extern function gl_begin_query(target: int, id: int) = "lgl_BeginQuery"
extern function gl_end_query(target: int) = "lgl_EndQuery"
extern function gl_get_queryiv(target: int, pname: int, params: pointer) = "lgl_GetQueryiv"
extern function gl_get_query_objectiv(id: int, pname: int, params: pointer) = "lgl_GetQueryObjectiv"
extern function gl_get_query_objectuiv(id: int, pname: int, params: pointer) = "lgl_GetQueryObjectuiv"
extern function gl_bind_buffer(target: int, buffer: int) = "lgl_BindBuffer"
extern function gl_delete_buffers(n: int, buffers: pointer) = "lgl_DeleteBuffers"
extern function gl_gen_buffers(n: int, buffers: pointer) = "lgl_GenBuffers"
extern function gl_is_buffer(buffer: int) -> int = "lgl_IsBuffer"
extern function gl_buffer_data(target: int, size: long, data: pointer, usage: int) = "lgl_BufferData"
extern function gl_buffer_sub_data(target: int, offset: long, size: long, data: pointer) = "lgl_BufferSubData"
extern function gl_get_buffer_sub_data(target: int, offset: long, size: long, data: pointer) = "lgl_GetBufferSubData"
extern function gl_map_buffer(target: int, access: int) -> pointer = "lgl_MapBuffer"
extern function gl_unmap_buffer(target: int) -> int = "lgl_UnmapBuffer"
extern function gl_get_buffer_parameteriv(target: int, pname: int, params: pointer) = "lgl_GetBufferParameteriv"
extern function gl_get_buffer_pointerv(target: int, pname: int, params: pointer) = "lgl_GetBufferPointerv"
extern function gl_blend_equation_separate(mode_rgb: int, mode_alpha: int) = "lgl_BlendEquationSeparate"
extern function gl_draw_buffers(n: int, bufs: pointer) = "lgl_DrawBuffers"
extern function gl_stencil_op_separate(face: int, sfail: int, dpfail: int, dppass: int) = "lgl_StencilOpSeparate"
extern function gl_stencil_func_separate(face: int, func: int, ref: int, mask: int) = "lgl_StencilFuncSeparate"
extern function gl_stencil_mask_separate(face: int, mask: int) = "lgl_StencilMaskSeparate"
extern function gl_attach_shader(prog: int, shader: int) = "lgl_AttachShader"
extern function gl_bind_attrib_location(prog: int, index: int, name: pointer) = "lgl_BindAttribLocation"
extern function gl_compile_shader(shader: int) = "lgl_CompileShader"
extern function gl_create_program() -> int = "lgl_CreateProgram"
extern function gl_create_shader(type: int) -> int = "lgl_CreateShader"
extern function gl_delete_program(prog: int) = "lgl_DeleteProgram"
extern function gl_delete_shader(shader: int) = "lgl_DeleteShader"
extern function gl_detach_shader(prog: int, shader: int) = "lgl_DetachShader"
extern function gl_disable_vertex_attrib_array(index: int) = "lgl_DisableVertexAttribArray"
extern function gl_enable_vertex_attrib_array(index: int) = "lgl_EnableVertexAttribArray"
extern function gl_get_active_attrib(prog: int, index: int, buf_size: int, length: pointer, size: pointer, type: pointer, name: pointer) = "lgl_GetActiveAttrib"
extern function gl_get_active_uniform(prog: int, index: int, buf_size: int, length: pointer, size: pointer, type: pointer, name: pointer) = "lgl_GetActiveUniform"
extern function gl_get_attached_shaders(prog: int, max_count: int, count: pointer, shaders: pointer) = "lgl_GetAttachedShaders"
extern function gl_get_attrib_location(prog: int, name: pointer) -> int = "lgl_GetAttribLocation"
extern function gl_get_programiv(prog: int, pname: int, params: pointer) = "lgl_GetProgramiv"
extern function gl_get_program_info_log(prog: int, buf_size: int, length: pointer, info_log: pointer) = "lgl_GetProgramInfoLog"
extern function gl_get_shaderiv(shader: int, pname: int, params: pointer) = "lgl_GetShaderiv"
extern function gl_get_shader_info_log(shader: int, buf_size: int, length: pointer, info_log: pointer) = "lgl_GetShaderInfoLog"
extern function gl_get_shader_source(shader: int, buf_size: int, length: pointer, source: pointer) = "lgl_GetShaderSource"
extern function gl_get_uniform_location(prog: int, name: pointer) -> int = "lgl_GetUniformLocation"
extern function gl_get_uniformfv(prog: int, location: int, params: pointer) = "lgl_GetUniformfv"
extern function gl_get_uniformiv(prog: int, location: int, params: pointer) = "lgl_GetUniformiv"
extern function gl_get_vertex_attribdv(index: int, pname: int, params: pointer) = "lgl_GetVertexAttribdv"
extern function gl_get_vertex_attribfv(index: int, pname: int, params: pointer) = "lgl_GetVertexAttribfv"
extern function gl_get_vertex_attribiv(index: int, pname: int, params: pointer) = "lgl_GetVertexAttribiv"
extern function gl_get_vertex_attrib_pointerv(index: int, pname: int, offset: pointer) = "lgl_GetVertexAttribPointerv"
extern function gl_is_program(prog: int) -> int = "lgl_IsProgram"
extern function gl_is_shader(shader: int) -> int = "lgl_IsShader"
extern function gl_link_program(prog: int) = "lgl_LinkProgram"
extern function gl_shader_source(shader: int, count: int, text: pointer, length: pointer) = "lgl_ShaderSource"
extern function gl_use_program(prog: int) = "lgl_UseProgram"
extern function gl_uniform1f(location: int, v0: fixed) = "lgl_Uniform1f"
extern function gl_uniform2f(location: int, v0: fixed, v1: fixed) = "lgl_Uniform2f"
extern function gl_uniform3f(location: int, v0: fixed, v1: fixed, v2: fixed) = "lgl_Uniform3f"
extern function gl_uniform4f(location: int, v0: fixed, v1: fixed, v2: fixed, v3: fixed) = "lgl_Uniform4f"
extern function gl_uniform1i(location: int, v0: int) = "lgl_Uniform1i"
extern function gl_uniform2i(location: int, v0: int, v1: int) = "lgl_Uniform2i"
extern function gl_uniform3i(location: int, v0: int, v1: int, v2: int) = "lgl_Uniform3i"
extern function gl_uniform4i(location: int, v0: int, v1: int, v2: int, v3: int) = "lgl_Uniform4i"
extern function gl_uniform1fv(location: int, count: int, value: pointer) = "lgl_Uniform1fv"
extern function gl_uniform2fv(location: int, count: int, value: pointer) = "lgl_Uniform2fv"
extern function gl_uniform3fv(location: int, count: int, value: pointer) = "lgl_Uniform3fv"
extern function gl_uniform4fv(location: int, count: int, value: pointer) = "lgl_Uniform4fv"
extern function gl_uniform1iv(location: int, count: int, value: pointer) = "lgl_Uniform1iv"
extern function gl_uniform2iv(location: int, count: int, value: pointer) = "lgl_Uniform2iv"
extern function gl_uniform3iv(location: int, count: int, value: pointer) = "lgl_Uniform3iv"
extern function gl_uniform4iv(location: int, count: int, value: pointer) = "lgl_Uniform4iv"
extern function gl_uniform_matrix2fv(location: int, count: int, transpose: int, value: pointer) = "lgl_UniformMatrix2fv"
extern function gl_uniform_matrix3fv(location: int, count: int, transpose: int, value: pointer) = "lgl_UniformMatrix3fv"
extern function gl_uniform_matrix4fv(location: int, count: int, transpose: int, value: pointer) = "lgl_UniformMatrix4fv"
extern function gl_validate_program(prog: int) = "lgl_ValidateProgram"
extern function gl_vertex_attrib1d(index: int, x: fixed) = "lgl_VertexAttrib1d"
extern function gl_vertex_attrib1dv(index: int, v: pointer) = "lgl_VertexAttrib1dv"
extern function gl_vertex_attrib1f(index: int, x: fixed) = "lgl_VertexAttrib1f"
extern function gl_vertex_attrib1fv(index: int, v: pointer) = "lgl_VertexAttrib1fv"
extern function gl_vertex_attrib1s(index: int, x: int) = "lgl_VertexAttrib1s"
extern function gl_vertex_attrib1sv(index: int, v: pointer) = "lgl_VertexAttrib1sv"
extern function gl_vertex_attrib2d(index: int, x: fixed, y: fixed) = "lgl_VertexAttrib2d"
extern function gl_vertex_attrib2dv(index: int, v: pointer) = "lgl_VertexAttrib2dv"
extern function gl_vertex_attrib2f(index: int, x: fixed, y: fixed) = "lgl_VertexAttrib2f"
extern function gl_vertex_attrib2fv(index: int, v: pointer) = "lgl_VertexAttrib2fv"
extern function gl_vertex_attrib2s(index: int, x: int, y: int) = "lgl_VertexAttrib2s"
extern function gl_vertex_attrib2sv(index: int, v: pointer) = "lgl_VertexAttrib2sv"
extern function gl_vertex_attrib3d(index: int, x: fixed, y: fixed, z: fixed) = "lgl_VertexAttrib3d"
extern function gl_vertex_attrib3dv(index: int, v: pointer) = "lgl_VertexAttrib3dv"
extern function gl_vertex_attrib3f(index: int, x: fixed, y: fixed, z: fixed) = "lgl_VertexAttrib3f"
extern function gl_vertex_attrib3fv(index: int, v: pointer) = "lgl_VertexAttrib3fv"
extern function gl_vertex_attrib3s(index: int, x: int, y: int, z: int) = "lgl_VertexAttrib3s"
extern function gl_vertex_attrib3sv(index: int, v: pointer) = "lgl_VertexAttrib3sv"
extern function gl_vertex_attrib4nbv(index: int, v: pointer) = "lgl_VertexAttrib4Nbv"
extern function gl_vertex_attrib4niv(index: int, v: pointer) = "lgl_VertexAttrib4Niv"
extern function gl_vertex_attrib4nsv(index: int, v: pointer) = "lgl_VertexAttrib4Nsv"
extern function gl_vertex_attrib4nub(index: int, x: int, y: int, z: int, w: int) = "lgl_VertexAttrib4Nub"
extern function gl_vertex_attrib4nubv(index: int, v: pointer) = "lgl_VertexAttrib4Nubv"
extern function gl_vertex_attrib4nuiv(index: int, v: pointer) = "lgl_VertexAttrib4Nuiv"
extern function gl_vertex_attrib4nusv(index: int, v: pointer) = "lgl_VertexAttrib4Nusv"
extern function gl_vertex_attrib4bv(index: int, v: pointer) = "lgl_VertexAttrib4bv"
extern function gl_vertex_attrib4d(index: int, x: fixed, y: fixed, z: fixed, w: fixed) = "lgl_VertexAttrib4d"
extern function gl_vertex_attrib4dv(index: int, v: pointer) = "lgl_VertexAttrib4dv"
extern function gl_vertex_attrib4f(index: int, x: fixed, y: fixed, z: fixed, w: fixed) = "lgl_VertexAttrib4f"
extern function gl_vertex_attrib4fv(index: int, v: pointer) = "lgl_VertexAttrib4fv"
extern function gl_vertex_attrib4iv(index: int, v: pointer) = "lgl_VertexAttrib4iv"
extern function gl_vertex_attrib4s(index: int, x: int, y: int, z: int, w: int) = "lgl_VertexAttrib4s"
extern function gl_vertex_attrib4sv(index: int, v: pointer) = "lgl_VertexAttrib4sv"
extern function gl_vertex_attrib4ubv(index: int, v: pointer) = "lgl_VertexAttrib4ubv"
extern function gl_vertex_attrib4uiv(index: int, v: pointer) = "lgl_VertexAttrib4uiv"
extern function gl_vertex_attrib4usv(index: int, v: pointer) = "lgl_VertexAttrib4usv"
extern function gl_vertex_attrib_pointer(index: int, size: int, type: int, normalized: int, stride: int, offset: pointer) = "lgl_VertexAttribPointer"
extern function gl_uniform_matrix2x3fv(location: int, count: int, transpose: int, value: pointer) = "lgl_UniformMatrix2x3fv"
extern function gl_uniform_matrix3x2fv(location: int, count: int, transpose: int, value: pointer) = "lgl_UniformMatrix3x2fv"
extern function gl_uniform_matrix2x4fv(location: int, count: int, transpose: int, value: pointer) = "lgl_UniformMatrix2x4fv"
extern function gl_uniform_matrix4x2fv(location: int, count: int, transpose: int, value: pointer) = "lgl_UniformMatrix4x2fv"
extern function gl_uniform_matrix3x4fv(location: int, count: int, transpose: int, value: pointer) = "lgl_UniformMatrix3x4fv"
extern function gl_uniform_matrix4x3fv(location: int, count: int, transpose: int, value: pointer) = "lgl_UniformMatrix4x3fv"
extern function gl_color_maski(index: int, r: int, g: int, b: int, a: int) = "lgl_ColorMaski"
extern function gl_get_booleani_v(target: int, index: int, data: pointer) = "lgl_GetBooleani_v"
extern function gl_get_integeri_v(target: int, index: int, data: pointer) = "lgl_GetIntegeri_v"
extern function gl_enablei(target: int, index: int) = "lgl_Enablei"
extern function gl_disablei(target: int, index: int) = "lgl_Disablei"
extern function gl_is_enabledi(target: int, index: int) -> int = "lgl_IsEnabledi"
extern function gl_begin_transform_feedback(primitive_mode: int) = "lgl_BeginTransformFeedback"
extern function gl_end_transform_feedback() = "lgl_EndTransformFeedback"
extern function gl_bind_buffer_range(target: int, index: int, buffer: int, offset: long, size: long) = "lgl_BindBufferRange"
extern function gl_bind_buffer_base(target: int, index: int, buffer: int) = "lgl_BindBufferBase"
extern function gl_transform_feedback_varyings(prog: int, count: int, varyings: pointer, buffer_mode: int) = "lgl_TransformFeedbackVaryings"
extern function gl_get_transform_feedback_varying(prog: int, index: int, buf_size: int, length: pointer, size: pointer, type: pointer, name: pointer) = "lgl_GetTransformFeedbackVarying"
extern function gl_clamp_color(target: int, clamp: int) = "lgl_ClampColor"
extern function gl_begin_conditional_render(id: int, mode: int) = "lgl_BeginConditionalRender"
extern function gl_end_conditional_render() = "lgl_EndConditionalRender"
extern function gl_vertex_attrib_ipointer(index: int, size: int, type: int, stride: int, offset: pointer) = "lgl_VertexAttribIPointer"
extern function gl_get_vertex_attrib_iiv(index: int, pname: int, params: pointer) = "lgl_GetVertexAttribIiv"
extern function gl_get_vertex_attrib_iuiv(index: int, pname: int, params: pointer) = "lgl_GetVertexAttribIuiv"
extern function gl_vertex_attrib_i1i(index: int, x: int) = "lgl_VertexAttribI1i"
extern function gl_vertex_attrib_i2i(index: int, x: int, y: int) = "lgl_VertexAttribI2i"
extern function gl_vertex_attrib_i3i(index: int, x: int, y: int, z: int) = "lgl_VertexAttribI3i"
extern function gl_vertex_attrib_i4i(index: int, x: int, y: int, z: int, w: int) = "lgl_VertexAttribI4i"
extern function gl_vertex_attrib_i1ui(index: int, x: int) = "lgl_VertexAttribI1ui"
extern function gl_vertex_attrib_i2ui(index: int, x: int, y: int) = "lgl_VertexAttribI2ui"
extern function gl_vertex_attrib_i3ui(index: int, x: int, y: int, z: int) = "lgl_VertexAttribI3ui"
extern function gl_vertex_attrib_i4ui(index: int, x: int, y: int, z: int, w: int) = "lgl_VertexAttribI4ui"
extern function gl_vertex_attrib_i1iv(index: int, v: pointer) = "lgl_VertexAttribI1iv"
extern function gl_vertex_attrib_i2iv(index: int, v: pointer) = "lgl_VertexAttribI2iv"
extern function gl_vertex_attrib_i3iv(index: int, v: pointer) = "lgl_VertexAttribI3iv"
extern function gl_vertex_attrib_i4iv(index: int, v: pointer) = "lgl_VertexAttribI4iv"
extern function gl_vertex_attrib_i1uiv(index: int, v: pointer) = "lgl_VertexAttribI1uiv"
extern function gl_vertex_attrib_i2uiv(index: int, v: pointer) = "lgl_VertexAttribI2uiv"
extern function gl_vertex_attrib_i3uiv(index: int, v: pointer) = "lgl_VertexAttribI3uiv"
extern function gl_vertex_attrib_i4uiv(index: int, v: pointer) = "lgl_VertexAttribI4uiv"
extern function gl_vertex_attrib_i4bv(index: int, v: pointer) = "lgl_VertexAttribI4bv"
extern function gl_vertex_attrib_i4sv(index: int, v: pointer) = "lgl_VertexAttribI4sv"
extern function gl_vertex_attrib_i4ubv(index: int, v: pointer) = "lgl_VertexAttribI4ubv"
extern function gl_vertex_attrib_i4usv(index: int, v: pointer) = "lgl_VertexAttribI4usv"
extern function gl_get_uniformuiv(prog: int, location: int, params: pointer) = "lgl_GetUniformuiv"
extern function gl_bind_frag_data_location(prog: int, color: int, name: pointer) = "lgl_BindFragDataLocation"
extern function gl_get_frag_data_location(prog: int, name: pointer) -> int = "lgl_GetFragDataLocation"
extern function gl_uniform1ui(location: int, v0: int) = "lgl_Uniform1ui"
extern function gl_uniform2ui(location: int, v0: int, v1: int) = "lgl_Uniform2ui"
extern function gl_uniform3ui(location: int, v0: int, v1: int, v2: int) = "lgl_Uniform3ui"
extern function gl_uniform4ui(location: int, v0: int, v1: int, v2: int, v3: int) = "lgl_Uniform4ui"
extern function gl_uniform1uiv(location: int, count: int, value: pointer) = "lgl_Uniform1uiv"
extern function gl_uniform2uiv(location: int, count: int, value: pointer) = "lgl_Uniform2uiv"
extern function gl_uniform3uiv(location: int, count: int, value: pointer) = "lgl_Uniform3uiv"
extern function gl_uniform4uiv(location: int, count: int, value: pointer) = "lgl_Uniform4uiv"
extern function gl_tex_parameter_iiv(target: int, pname: int, params: pointer) = "lgl_TexParameterIiv"
extern function gl_tex_parameter_iuiv(target: int, pname: int, params: pointer) = "lgl_TexParameterIuiv"
extern function gl_get_tex_parameter_iiv(target: int, pname: int, params: pointer) = "lgl_GetTexParameterIiv"
extern function gl_get_tex_parameter_iuiv(target: int, pname: int, params: pointer) = "lgl_GetTexParameterIuiv"
extern function gl_clear_bufferiv(buffer: int, drawbuffer: int, value: pointer) = "lgl_ClearBufferiv"
extern function gl_clear_bufferuiv(buffer: int, drawbuffer: int, value: pointer) = "lgl_ClearBufferuiv"
extern function gl_clear_bufferfv(buffer: int, drawbuffer: int, value: pointer) = "lgl_ClearBufferfv"
extern function gl_clear_bufferfi(buffer: int, drawbuffer: int, depth: fixed, stencil: int) = "lgl_ClearBufferfi"
extern function gl_get_stringi(name: int, index: int) -> pointer = "lgl_GetStringi"
extern function gl_draw_arrays_instanced(mode: int, first: int, count: int, instancecount: int) = "lgl_DrawArraysInstanced"
extern function gl_draw_elements_instanced(mode: int, count: int, type: int, indices: pointer, instancecount: int) = "lgl_DrawElementsInstanced"
extern function gl_tex_buffer(target: int, internalformat: int, buffer: int) = "lgl_TexBuffer"
extern function gl_primitive_restart_index(index: int) = "lgl_PrimitiveRestartIndex"
extern function gl_get_integer64i_v(target: int, index: int, data: pointer) = "lgl_GetInteger64i_v"
extern function gl_get_buffer_parameteri64v(target: int, pname: int, params: pointer) = "lgl_GetBufferParameteri64v"
extern function gl_framebuffer_texture(target: int, attachment: int, texture: int, level: int) = "lgl_FramebufferTexture"
extern function gl_vertex_attrib_divisor(index: int, divisor: int) = "lgl_VertexAttribDivisor"
extern function gl_min_sample_shading(value: fixed) = "lgl_MinSampleShading"
extern function gl_blend_equationi(buf: int, mode: int) = "lgl_BlendEquationi"
extern function gl_blend_equation_separatei(buf: int, mode_rgb: int, mode_alpha: int) = "lgl_BlendEquationSeparatei"
extern function gl_blend_funci(buf: int, src: int, dst: int) = "lgl_BlendFunci"
extern function gl_blend_func_separatei(buf: int, src_rgb: int, dst_rgb: int, src_alpha: int, dst_alpha: int) = "lgl_BlendFuncSeparatei"
extern function gl_is_renderbuffer(renderbuffer: int) -> int = "lgl_IsRenderbuffer"
extern function gl_bind_renderbuffer(target: int, renderbuffer: int) = "lgl_BindRenderbuffer"
extern function gl_delete_renderbuffers(n: int, renderbuffers: pointer) = "lgl_DeleteRenderbuffers"
extern function gl_gen_renderbuffers(n: int, renderbuffers: pointer) = "lgl_GenRenderbuffers"
extern function gl_renderbuffer_storage(target: int, internalformat: int, width: int, height: int) = "lgl_RenderbufferStorage"
extern function gl_get_renderbuffer_parameteriv(target: int, pname: int, params: pointer) = "lgl_GetRenderbufferParameteriv"
extern function gl_is_framebuffer(framebuffer: int) -> int = "lgl_IsFramebuffer"
extern function gl_bind_framebuffer(target: int, framebuffer: int) = "lgl_BindFramebuffer"
extern function gl_delete_framebuffers(n: int, framebuffers: pointer) = "lgl_DeleteFramebuffers"
extern function gl_gen_framebuffers(n: int, framebuffers: pointer) = "lgl_GenFramebuffers"
extern function gl_check_framebuffer_status(target: int) -> int = "lgl_CheckFramebufferStatus"
extern function gl_framebuffer_texture1d(target: int, attachment: int, textarget: int, texture: int, level: int) = "lgl_FramebufferTexture1D"
extern function gl_framebuffer_texture2d(target: int, attachment: int, textarget: int, texture: int, level: int) = "lgl_FramebufferTexture2D"
extern function gl_framebuffer_texture3d(target: int, attachment: int, textarget: int, texture: int, level: int, zoffset: int) = "lgl_FramebufferTexture3D"
extern function gl_framebuffer_renderbuffer(target: int, attachment: int, renderbuffertarget: int, renderbuffer: int) = "lgl_FramebufferRenderbuffer"
extern function gl_get_framebuffer_attachment_parameteriv(target: int, attachment: int, pname: int, params: pointer) = "lgl_GetFramebufferAttachmentParameteriv"
extern function gl_generate_mipmap(target: int) = "lgl_GenerateMipmap"
extern function gl_blit_framebuffer(src_x0: int, src_y0: int, src_x1: int, src_y1: int, dst_x0: int, dst_y0: int, dst_x1: int, dst_y1: int, mask: int, filter: int) = "lgl_BlitFramebuffer"
extern function gl_renderbuffer_storage_multisample(target: int, samples: int, internalformat: int, width: int, height: int) = "lgl_RenderbufferStorageMultisample"
extern function gl_framebuffer_texture_layer(target: int, attachment: int, texture: int, level: int, level: int) = "lgl_FramebufferTextureLayer"
extern function gl_map_buffer_range(target: int, offset: long, length: long, access: int) -> pointer = "lgl_MapBufferRange"
extern function gl_flush_mapped_buffer_range(target: int, offset: long, length: long) = "lgl_FlushMappedBufferRange"
extern function gl_bind_vertex_array(array: int) = "lgl_BindVertexArray"
extern function gl_delete_vertex_arrays(n: int, arrays: pointer) = "lgl_DeleteVertexArrays"
extern function gl_gen_vertex_arrays(n: int, arrays: pointer) = "lgl_GenVertexArrays"
extern function gl_is_vertex_array(array: int) -> int = "lgl_IsVertexArray"
extern function gl_get_uniform_indices(prog: int, uniform_count: int, uniform_names: pointer, uniform_indices: pointer) = "lgl_GetUniformIndices"
extern function gl_get_active_uniformsiv(prog: int, uniform_count: int, uniform_indices: pointer, pname: int, params: pointer) = "lgl_GetActiveUniformsiv"
extern function gl_get_active_uniform_name(prog: int, uniform_index: int, buf_size: int, length: pointer, uniform_name: pointer) = "lgl_GetActiveUniformName"
extern function gl_get_uniform_block_index(prog: int, uniform_block_name: pointer) -> int = "lgl_GetUniformBlockIndex"
extern function gl_get_active_uniform_blockiv(prog: int, uniform_block_index: int, pname: int, params: pointer) = "lgl_GetActiveUniformBlockiv"
extern function gl_get_active_uniform_block_name(prog: int, uniform_block_index: int, buf_size: int, length: pointer, uniform_block_name: pointer) = "lgl_GetActiveUniformBlockName"
extern function gl_uniform_block_binding(prog: int, uniform_block_index: int, uniform_block_binding: int) = "lgl_UniformBlockBinding"
extern function gl_copy_buffer_sub_data(read_target: int, write_target: int, read_offset: long, write_offset: long, size: long) = "lgl_CopyBufferSubData"
extern function gl_draw_elements_base_vertex(mode: int, count: int, type: int, indices: pointer, basevertex: int) = "lgl_DrawElementsBaseVertex"
extern function gl_draw_range_elements_base_vertex(mode: int, first: int, end: int, count: int, type: int, indices: pointer, basevertex: int) = "lgl_DrawRangeElementsBaseVertex"
extern function gl_draw_elements_instanced_base_vertex(mode: int, count: int, type: int, indices: pointer, instancecount: int, basevertex: int) = "lgl_DrawElementsInstancedBaseVertex"
extern function gl_multi_draw_elements_base_vertex(mode: int, count: pointer, type: int, indices: pointer, drawcount: int, basevertex: pointer) = "lgl_MultiDrawElementsBaseVertex"
extern function gl_provoking_vertex(mode: int) = "lgl_ProvokingVertex"
extern function gl_fence_sync(condition: int, flags: int) -> pointer = "lgl_FenceSync"
extern function gl_is_sync(sync: pointer) -> int = "lgl_IsSync"
extern function gl_delete_sync(sync: pointer) = "lgl_DeleteSync"
extern function gl_client_wait_sync(sync: pointer, flags: int, timeout: long) -> int = "lgl_ClientWaitSync"
extern function gl_wait_sync(sync: pointer, flags: int, timeout: long) = "lgl_WaitSync"
extern function gl_get_integer64v(pname: int, params: pointer) = "lgl_GetInteger64v"
extern function gl_get_synciv(sync: pointer, pname: int, buf_size: int, length: pointer, values: pointer) = "lgl_GetSynciv"
extern function gl_tex_image2dmultisample(target: int, samples: int, internalformat: int, width: int, height: int, fixedsamplelocations: int) = "lgl_TexImage2DMultisample"
extern function gl_tex_image3dmultisample(target: int, samples: int, internalformat: int, width: int, height: int, depth: int, fixedsamplelocations: int) = "lgl_TexImage3DMultisample"
extern function gl_get_multisamplefv(pname: int, index: int, val: pointer) = "lgl_GetMultisamplefv"
extern function gl_sample_maski(index: int, mask: int) = "lgl_SampleMaski"
extern function gl_bind_frag_data_location_indexed(prog: int, color_number: int, index: int, name: pointer) = "lgl_BindFragDataLocationIndexed"
extern function gl_get_frag_data_index(prog: int, name: pointer) -> int = "lgl_GetFragDataIndex"
extern function gl_gen_samplers(count: int, samplers: pointer) = "lgl_GenSamplers"
extern function gl_delete_samplers(count: int, samplers: pointer) = "lgl_DeleteSamplers"
extern function gl_is_sampler(sampler: int) -> int = "lgl_IsSampler"
extern function gl_bind_sampler(unit: int, sampler: int) = "lgl_BindSampler"
extern function gl_sampler_parameteri(sampler: int, pname: int, param: int) = "lgl_SamplerParameteri"
extern function gl_sampler_parameteriv(sampler: int, pname: int, param: pointer) = "lgl_SamplerParameteriv"
extern function gl_sampler_parameterf(sampler: int, pname: int, param: fixed) = "lgl_SamplerParameterf"
extern function gl_sampler_parameterfv(sampler: int, pname: int, param: pointer) = "lgl_SamplerParameterfv"
extern function gl_sampler_parameter_iiv(sampler: int, pname: int, param: pointer) = "lgl_SamplerParameterIiv"
extern function gl_sampler_parameter_iuiv(sampler: int, pname: int, param: pointer) = "lgl_SamplerParameterIuiv"
extern function gl_get_sampler_parameteriv(sampler: int, pname: int, params: pointer) = "lgl_GetSamplerParameteriv"
extern function gl_get_sampler_parameter_iiv(sampler: int, pname: int, params: pointer) = "lgl_GetSamplerParameterIiv"
extern function gl_get_sampler_parameterfv(sampler: int, pname: int, params: pointer) = "lgl_GetSamplerParameterfv"
extern function gl_get_sampler_parameter_iuiv(sampler: int, pname: int, params: pointer) = "lgl_GetSamplerParameterIuiv"
extern function gl_query_counter(id: int, target: int) = "lgl_QueryCounter"
extern function gl_get_query_objecti64v(id: int, pname: int, params: pointer) = "lgl_GetQueryObjecti64v"
extern function gl_get_query_objectui64v(id: int, pname: int, params: pointer) = "lgl_GetQueryObjectui64v"
extern function gl_vertex_attrib_p1ui(index: int, type: int, normalized: int, value: int) = "lgl_VertexAttribP1ui"
extern function gl_vertex_attrib_p1uiv(index: int, type: int, normalized: int, value: pointer) = "lgl_VertexAttribP1uiv"
extern function gl_vertex_attrib_p2ui(index: int, type: int, normalized: int, value: int) = "lgl_VertexAttribP2ui"
extern function gl_vertex_attrib_p2uiv(index: int, type: int, normalized: int, value: pointer) = "lgl_VertexAttribP2uiv"
extern function gl_vertex_attrib_p3ui(index: int, type: int, normalized: int, value: int) = "lgl_VertexAttribP3ui"
extern function gl_vertex_attrib_p3uiv(index: int, type: int, normalized: int, value: pointer) = "lgl_VertexAttribP3uiv"
extern function gl_vertex_attrib_p4ui(index: int, type: int, normalized: int, value: int) = "lgl_VertexAttribP4ui"
extern function gl_vertex_attrib_p4uiv(index: int, type: int, normalized: int, value: pointer) = "lgl_VertexAttribP4uiv"
extern function gl_draw_arrays_indirect(mode: int, indirect: pointer) = "lgl_DrawArraysIndirect"
extern function gl_draw_elements_indirect(mode: int, type: int, indirect: pointer) = "lgl_DrawElementsIndirect"
extern function gl_uniform1d(location: int, x: fixed) = "lgl_Uniform1d"
extern function gl_uniform2d(location: int, x: fixed, y: fixed) = "lgl_Uniform2d"
extern function gl_uniform3d(location: int, x: fixed, y: fixed, z: fixed) = "lgl_Uniform3d"
extern function gl_uniform4d(location: int, x: fixed, y: fixed, z: fixed, w: fixed) = "lgl_Uniform4d"
extern function gl_uniform1dv(location: int, count: int, value: pointer) = "lgl_Uniform1dv"
extern function gl_uniform2dv(location: int, count: int, value: pointer) = "lgl_Uniform2dv"
extern function gl_uniform3dv(location: int, count: int, value: pointer) = "lgl_Uniform3dv"
extern function gl_uniform4dv(location: int, count: int, value: pointer) = "lgl_Uniform4dv"
extern function gl_uniform_matrix2dv(location: int, count: int, transpose: int, value: pointer) = "lgl_UniformMatrix2dv"
extern function gl_uniform_matrix3dv(location: int, count: int, transpose: int, value: pointer) = "lgl_UniformMatrix3dv"
extern function gl_uniform_matrix4dv(location: int, count: int, transpose: int, value: pointer) = "lgl_UniformMatrix4dv"
extern function gl_uniform_matrix2x3dv(location: int, count: int, transpose: int, value: pointer) = "lgl_UniformMatrix2x3dv"
extern function gl_uniform_matrix2x4dv(location: int, count: int, transpose: int, value: pointer) = "lgl_UniformMatrix2x4dv"
extern function gl_uniform_matrix3x2dv(location: int, count: int, transpose: int, value: pointer) = "lgl_UniformMatrix3x2dv"
extern function gl_uniform_matrix3x4dv(location: int, count: int, transpose: int, value: pointer) = "lgl_UniformMatrix3x4dv"
extern function gl_uniform_matrix4x2dv(location: int, count: int, transpose: int, value: pointer) = "lgl_UniformMatrix4x2dv"
extern function gl_uniform_matrix4x3dv(location: int, count: int, transpose: int, value: pointer) = "lgl_UniformMatrix4x3dv"
extern function gl_get_uniformdv(prog: int, location: int, params: pointer) = "lgl_GetUniformdv"
extern function gl_get_subroutine_uniform_location(prog: int, shadertype: int, name: pointer) -> int = "lgl_GetSubroutineUniformLocation"
extern function gl_get_subroutine_index(prog: int, shadertype: int, name: pointer) -> int = "lgl_GetSubroutineIndex"
extern function gl_get_active_subroutine_uniformiv(prog: int, shadertype: int, index: int, pname: int, values: pointer) = "lgl_GetActiveSubroutineUniformiv"
extern function gl_get_active_subroutine_uniform_name(prog: int, shadertype: int, index: int, bufsize: int, length: pointer, name: pointer) = "lgl_GetActiveSubroutineUniformName"
extern function gl_get_active_subroutine_name(prog: int, shadertype: int, index: int, bufsize: int, length: pointer, name: pointer) = "lgl_GetActiveSubroutineName"
extern function gl_uniform_subroutinesuiv(shadertype: int, count: int, indices: pointer) = "lgl_UniformSubroutinesuiv"
extern function gl_get_uniform_subroutineuiv(shadertype: int, location: int, params: pointer) = "lgl_GetUniformSubroutineuiv"
extern function gl_get_program_stageiv(prog: int, shadertype: int, pname: int, values: pointer) = "lgl_GetProgramStageiv"
extern function gl_patch_parameteri(pname: int, value: int) = "lgl_PatchParameteri"
extern function gl_patch_parameterfv(pname: int, values: pointer) = "lgl_PatchParameterfv"
extern function gl_bind_transform_feedback(target: int, id: int) = "lgl_BindTransformFeedback"
extern function gl_delete_transform_feedbacks(n: int, ids: pointer) = "lgl_DeleteTransformFeedbacks"
extern function gl_gen_transform_feedbacks(n: int, ids: pointer) = "lgl_GenTransformFeedbacks"
extern function gl_is_transform_feedback(id: int) -> int = "lgl_IsTransformFeedback"
extern function gl_pause_transform_feedback() = "lgl_PauseTransformFeedback"
extern function gl_resume_transform_feedback() = "lgl_ResumeTransformFeedback"
extern function gl_draw_transform_feedback(mode: int, id: int) = "lgl_DrawTransformFeedback"
extern function gl_draw_transform_feedback_stream(mode: int, id: int, stream: int) = "lgl_DrawTransformFeedbackStream"
extern function gl_begin_query_indexed(target: int, index: int, id: int) = "lgl_BeginQueryIndexed"
extern function gl_end_query_indexed(target: int, index: int) = "lgl_EndQueryIndexed"
extern function gl_get_query_indexediv(target: int, index: int, pname: int, params: pointer) = "lgl_GetQueryIndexediv"
extern function gl_release_shader_compiler() = "lgl_ReleaseShaderCompiler"
extern function gl_shader_binary(count: int, shaders: pointer, binaryformat: int, binary: pointer, length: int) = "lgl_ShaderBinary"
extern function gl_get_shader_precision_format(shadertype: int, precisiontype: int, range: pointer, precision: pointer) = "lgl_GetShaderPrecisionFormat"
extern function gl_depth_rangef(n: fixed, f: fixed) = "lgl_DepthRangef"
extern function gl_clear_depthf(d: fixed) = "lgl_ClearDepthf"
extern function gl_get_program_binary(prog: int, buf_size: int, length: pointer, binary_format: pointer, binary: pointer) = "lgl_GetProgramBinary"
extern function gl_program_binary(prog: int, binary_format: int, binary: pointer, length: int) = "lgl_ProgramBinary"
extern function gl_program_parameteri(prog: int, pname: int, value: int) = "lgl_ProgramParameteri"
extern function gl_use_program_stages(pipeline: int, stages: int, prog: int) = "lgl_UseProgramStages"
extern function gl_active_shader_program(pipeline: int, prog: int) = "lgl_ActiveShaderProgram"
extern function gl_create_shader_programv(type: int, count: int, strings: pointer) -> int = "lgl_CreateShaderProgramv"
extern function gl_bind_program_pipeline(pipeline: int) = "lgl_BindProgramPipeline"
extern function gl_delete_program_pipelines(n: int, pipelines: pointer) = "lgl_DeleteProgramPipelines"
extern function gl_gen_program_pipelines(n: int, pipelines: pointer) = "lgl_GenProgramPipelines"
extern function gl_is_program_pipeline(pipeline: int) -> int = "lgl_IsProgramPipeline"
extern function gl_get_program_pipelineiv(pipeline: int, pname: int, params: pointer) = "lgl_GetProgramPipelineiv"
extern function gl_program_uniform1i(prog: int, location: int, v0: int) = "lgl_ProgramUniform1i"
extern function gl_program_uniform1iv(prog: int, location: int, count: int, value: pointer) = "lgl_ProgramUniform1iv"
extern function gl_program_uniform1f(prog: int, location: int, v0: fixed) = "lgl_ProgramUniform1f"
extern function gl_program_uniform1fv(prog: int, location: int, count: int, value: pointer) = "lgl_ProgramUniform1fv"
extern function gl_program_uniform1d(prog: int, location: int, v0: fixed) = "lgl_ProgramUniform1d"
extern function gl_program_uniform1dv(prog: int, location: int, count: int, value: pointer) = "lgl_ProgramUniform1dv"
extern function gl_program_uniform1ui(prog: int, location: int, v0: int) = "lgl_ProgramUniform1ui"
extern function gl_program_uniform1uiv(prog: int, location: int, count: int, value: pointer) = "lgl_ProgramUniform1uiv"
extern function gl_program_uniform2i(prog: int, location: int, v0: int, v1: int) = "lgl_ProgramUniform2i"
extern function gl_program_uniform2iv(prog: int, location: int, count: int, value: pointer) = "lgl_ProgramUniform2iv"
extern function gl_program_uniform2f(prog: int, location: int, v0: fixed, v1: fixed) = "lgl_ProgramUniform2f"
extern function gl_program_uniform2fv(prog: int, location: int, count: int, value: pointer) = "lgl_ProgramUniform2fv"
extern function gl_program_uniform2d(prog: int, location: int, v0: fixed, v1: fixed) = "lgl_ProgramUniform2d"
extern function gl_program_uniform2dv(prog: int, location: int, count: int, value: pointer) = "lgl_ProgramUniform2dv"
extern function gl_program_uniform2ui(prog: int, location: int, v0: int, v1: int) = "lgl_ProgramUniform2ui"
extern function gl_program_uniform2uiv(prog: int, location: int, count: int, value: pointer) = "lgl_ProgramUniform2uiv"
extern function gl_program_uniform3i(prog: int, location: int, v0: int, v1: int, v2: int) = "lgl_ProgramUniform3i"
extern function gl_program_uniform3iv(prog: int, location: int, count: int, value: pointer) = "lgl_ProgramUniform3iv"
extern function gl_program_uniform3f(prog: int, location: int, v0: fixed, v1: fixed, v2: fixed) = "lgl_ProgramUniform3f"
extern function gl_program_uniform3fv(prog: int, location: int, count: int, value: pointer) = "lgl_ProgramUniform3fv"
extern function gl_program_uniform3d(prog: int, location: int, v0: fixed, v1: fixed, v2: fixed) = "lgl_ProgramUniform3d"
extern function gl_program_uniform3dv(prog: int, location: int, count: int, value: pointer) = "lgl_ProgramUniform3dv"
extern function gl_program_uniform3ui(prog: int, location: int, v0: int, v1: int, v2: int) = "lgl_ProgramUniform3ui"
extern function gl_program_uniform3uiv(prog: int, location: int, count: int, value: pointer) = "lgl_ProgramUniform3uiv"
extern function gl_program_uniform4i(prog: int, location: int, v0: int, v1: int, v2: int, v3: int) = "lgl_ProgramUniform4i"
extern function gl_program_uniform4iv(prog: int, location: int, count: int, value: pointer) = "lgl_ProgramUniform4iv"
extern function gl_program_uniform4f(prog: int, location: int, v0: fixed, v1: fixed, v2: fixed, v3: fixed) = "lgl_ProgramUniform4f"
extern function gl_program_uniform4fv(prog: int, location: int, count: int, value: pointer) = "lgl_ProgramUniform4fv"
extern function gl_program_uniform4d(prog: int, location: int, v0: fixed, v1: fixed, v2: fixed, v3: fixed) = "lgl_ProgramUniform4d"
extern function gl_program_uniform4dv(prog: int, location: int, count: int, value: pointer) = "lgl_ProgramUniform4dv"
extern function gl_program_uniform4ui(prog: int, location: int, v0: int, v1: int, v2: int, v3: int) = "lgl_ProgramUniform4ui"
extern function gl_program_uniform4uiv(prog: int, location: int, count: int, value: pointer) = "lgl_ProgramUniform4uiv"
extern function gl_program_uniform_matrix2fv(prog: int, location: int, count: int, transpose: int, value: pointer) = "lgl_ProgramUniformMatrix2fv"
extern function gl_program_uniform_matrix3fv(prog: int, location: int, count: int, transpose: int, value: pointer) = "lgl_ProgramUniformMatrix3fv"
extern function gl_program_uniform_matrix4fv(prog: int, location: int, count: int, transpose: int, value: pointer) = "lgl_ProgramUniformMatrix4fv"
extern function gl_program_uniform_matrix2dv(prog: int, location: int, count: int, transpose: int, value: pointer) = "lgl_ProgramUniformMatrix2dv"
extern function gl_program_uniform_matrix3dv(prog: int, location: int, count: int, transpose: int, value: pointer) = "lgl_ProgramUniformMatrix3dv"
extern function gl_program_uniform_matrix4dv(prog: int, location: int, count: int, transpose: int, value: pointer) = "lgl_ProgramUniformMatrix4dv"
extern function gl_program_uniform_matrix2x3fv(prog: int, location: int, count: int, transpose: int, value: pointer) = "lgl_ProgramUniformMatrix2x3fv"
extern function gl_program_uniform_matrix3x2fv(prog: int, location: int, count: int, transpose: int, value: pointer) = "lgl_ProgramUniformMatrix3x2fv"
extern function gl_program_uniform_matrix2x4fv(prog: int, location: int, count: int, transpose: int, value: pointer) = "lgl_ProgramUniformMatrix2x4fv"
extern function gl_program_uniform_matrix4x2fv(prog: int, location: int, count: int, transpose: int, value: pointer) = "lgl_ProgramUniformMatrix4x2fv"
extern function gl_program_uniform_matrix3x4fv(prog: int, location: int, count: int, transpose: int, value: pointer) = "lgl_ProgramUniformMatrix3x4fv"
extern function gl_program_uniform_matrix4x3fv(prog: int, location: int, count: int, transpose: int, value: pointer) = "lgl_ProgramUniformMatrix4x3fv"
extern function gl_program_uniform_matrix2x3dv(prog: int, location: int, count: int, transpose: int, value: pointer) = "lgl_ProgramUniformMatrix2x3dv"
extern function gl_program_uniform_matrix3x2dv(prog: int, location: int, count: int, transpose: int, value: pointer) = "lgl_ProgramUniformMatrix3x2dv"
extern function gl_program_uniform_matrix2x4dv(prog: int, location: int, count: int, transpose: int, value: pointer) = "lgl_ProgramUniformMatrix2x4dv"
extern function gl_program_uniform_matrix4x2dv(prog: int, location: int, count: int, transpose: int, value: pointer) = "lgl_ProgramUniformMatrix4x2dv"
extern function gl_program_uniform_matrix3x4dv(prog: int, location: int, count: int, transpose: int, value: pointer) = "lgl_ProgramUniformMatrix3x4dv"
extern function gl_program_uniform_matrix4x3dv(prog: int, location: int, count: int, transpose: int, value: pointer) = "lgl_ProgramUniformMatrix4x3dv"
extern function gl_validate_program_pipeline(pipeline: int) = "lgl_ValidateProgramPipeline"
extern function gl_get_program_pipeline_info_log(pipeline: int, buf_size: int, length: pointer, info_log: pointer) = "lgl_GetProgramPipelineInfoLog"
extern function gl_vertex_attrib_l1d(index: int, x: fixed) = "lgl_VertexAttribL1d"
extern function gl_vertex_attrib_l2d(index: int, x: fixed, y: fixed) = "lgl_VertexAttribL2d"
extern function gl_vertex_attrib_l3d(index: int, x: fixed, y: fixed, z: fixed) = "lgl_VertexAttribL3d"
extern function gl_vertex_attrib_l4d(index: int, x: fixed, y: fixed, z: fixed, w: fixed) = "lgl_VertexAttribL4d"
extern function gl_vertex_attrib_l1dv(index: int, v: pointer) = "lgl_VertexAttribL1dv"
extern function gl_vertex_attrib_l2dv(index: int, v: pointer) = "lgl_VertexAttribL2dv"
extern function gl_vertex_attrib_l3dv(index: int, v: pointer) = "lgl_VertexAttribL3dv"
extern function gl_vertex_attrib_l4dv(index: int, v: pointer) = "lgl_VertexAttribL4dv"
extern function gl_vertex_attrib_lpointer(index: int, size: int, type: int, stride: int, offset: pointer) = "lgl_VertexAttribLPointer"
extern function gl_get_vertex_attrib_ldv(index: int, pname: int, params: pointer) = "lgl_GetVertexAttribLdv"
extern function gl_viewport_arrayv(first: int, count: int, v: pointer) = "lgl_ViewportArrayv"
extern function gl_viewport_indexedf(index: int, x: fixed, y: fixed, w: fixed, h: fixed) = "lgl_ViewportIndexedf"
extern function gl_viewport_indexedfv(index: int, v: pointer) = "lgl_ViewportIndexedfv"
extern function gl_scissor_arrayv(first: int, count: int, v: pointer) = "lgl_ScissorArrayv"
extern function gl_scissor_indexed(index: int, left: int, bottom: int, width: int, height: int) = "lgl_ScissorIndexed"
extern function gl_scissor_indexedv(index: int, v: pointer) = "lgl_ScissorIndexedv"
extern function gl_depth_range_arrayv(first: int, count: int, v: pointer) = "lgl_DepthRangeArrayv"
extern function gl_depth_range_indexed(index: int, n: fixed, f: fixed) = "lgl_DepthRangeIndexed"
extern function gl_get_floati_v(target: int, index: int, data: pointer) = "lgl_GetFloati_v"
extern function gl_get_doublei_v(target: int, index: int, data: pointer) = "lgl_GetDoublei_v"