diff --git a/generator/build b/generator/build
index 46c00bc7..cb2ec74e 100755
--- a/generator/build
+++ b/generator/build
@@ -18,7 +18,7 @@ $gen = new ExtGenerator;
$reader->parse($spec, __DIR__ . '/data/gl.xml', __DIR__ . '/data/glrefs.json');
// import the gl spec into the generator
-$gen->import($spec, 'gl', '4.1', [
+$gen->import($spec, 'gl', '4.6', [
'glShaderSource', // custom implementation
'glBufferData', // custom implementation
'glGetSynciv', // currently not supported
diff --git a/phpglfw.stub.php b/phpglfw.stub.php
index 2f763b58..e5de2762 100644
--- a/phpglfw.stub.php
+++ b/phpglfw.stub.php
@@ -506,7 +506,7 @@ public function debugDumpPathCache() : void {}
* ----------------------------------------------------------------------------
*/
// const PHPGLFW_COMPILED_API = 'gl';
- // const PHPGLFW_COMPILED_API_VERSION = '4.1';
+ // const PHPGLFW_COMPILED_API_VERSION = '4.6';
// const GL_SIZEOF_BYTE = 1;
// const GL_SIZEOF_UNSIGNED_BYTE = 1;
// const GL_SIZEOF_SHORT = 2;
@@ -993,6 +993,8 @@ public function debugDumpPathCache() : void {}
// const GL_TRIANGLE_STRIP_ADJACENCY = 0x000D;
// const GL_PATCHES = 0x000E;
// const GL_FIXED = 0x140C;
+ // const GL_CONTEXT_LOST = 0x0507;
+ // const GL_TEXTURE_TARGET = 0x1006;
// const GL_POLYGON_OFFSET_FILL = 0x8037;
// const GL_POLYGON_OFFSET_FACTOR = 0x8038;
// const GL_TEXTURE_BINDING_1D = 0x8068;
@@ -1101,6 +1103,12 @@ public function debugDumpPathCache() : void {}
// const GL_MIN = 0x8007;
// const GL_MAX = 0x8008;
// const GL_BLEND_EQUATION_RGB = 0x8009;
+ // const GL_CONVOLUTION_1D = 0x8010;
+ // const GL_CONVOLUTION_2D = 0x8011;
+ // const GL_SEPARABLE_2D = 0x8012;
+ // const GL_HISTOGRAM = 0x8024;
+ // const GL_PROXY_HISTOGRAM = 0x8025;
+ // const GL_MINMAX = 0x802E;
// const GL_CLIENT_PIXEL_STORE_BIT = 0x00000001;
// const GL_CLIENT_VERTEX_ARRAY_BIT = 0x00000002;
// const GL_CLIENT_ALL_ATTRIB_BITS = 0xFFFFFFFF;
@@ -1115,6 +1123,8 @@ public function debugDumpPathCache() : void {}
// const GL_BGRA = 0x80E1;
// const GL_MAX_ELEMENTS_VERTICES = 0x80E8;
// const GL_MAX_ELEMENTS_INDICES = 0x80E9;
+ // const GL_PARAMETER_BUFFER = 0x80EE;
+ // const GL_PARAMETER_BUFFER_BINDING = 0x80EF;
// const GL_CLAMP_TO_EDGE = 0x812F;
// const GL_TEXTURE_MIN_LOD = 0x813A;
// const GL_TEXTURE_MAX_LOD = 0x813B;
@@ -1226,6 +1236,8 @@ public function debugDumpPathCache() : void {}
// const GL_MAX_RECTANGLE_TEXTURE_SIZE = 0x84F8;
// const GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER = 0x84F0;
// const GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x84F1;
+ // const GL_TEXTURE_MAX_ANISOTROPY = 0x84FE;
+ // const GL_MAX_TEXTURE_MAX_ANISOTROPY = 0x84FF;
// const GL_TEXTURE_COMPRESSED_IMAGE_SIZE = 0x86A0;
// const GL_TEXTURE_COMPRESSED = 0x86A1;
// const GL_NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2;
@@ -1503,6 +1515,7 @@ public function debugDumpPathCache() : void {}
// const GL_ANY_SAMPLES_PASSED = 0x8C2F;
// const GL_SAMPLE_SHADING = 0x8C36;
// const GL_MIN_SAMPLE_SHADING_VALUE = 0x8C37;
+ // const GL_TEXTURE_BUFFER_BINDING = 0x8C2A;
// const GL_MAJOR_VERSION = 0x821B;
// const GL_MINOR_VERSION = 0x821C;
// const GL_NUM_EXTENSIONS = 0x821D;
@@ -1543,7 +1556,13 @@ public function debugDumpPathCache() : void {}
// const GL_RG16UI = 0x823A;
// const GL_RG32I = 0x823B;
// const GL_RG32UI = 0x823C;
+ // const GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = 0x8221;
+ // const GL_BUFFER_IMMUTABLE_STORAGE = 0x821F;
+ // const GL_BUFFER_STORAGE_FLAGS = 0x8220;
// const GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = 0x00000001;
+ // const GL_CONTEXT_FLAG_DEBUG_BIT = 0x00000002;
+ // const GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT = 0x00000004;
+ // const GL_CONTEXT_FLAG_NO_ERROR_BIT = 0x00000008;
// const GL_RGBA32UI = 0x8D70;
// const GL_RGB32UI = 0x8D71;
// const GL_RGBA16UI = 0x8D76;
@@ -1668,6 +1687,17 @@ public function debugDumpPathCache() : void {}
// const GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE = 0x8E24;
// const GL_TRANSFORM_FEEDBACK_BINDING = 0x8E25;
// const GL_MAX_TRANSFORM_FEEDBACK_BUFFERS = 0x8E70;
+ // const GL_TRANSFORM_FEEDBACK_ACTIVE = 0x8E24;
+ // const GL_TRANSFORM_FEEDBACK_PAUSED = 0x8E23;
+ // const GL_COMPRESSED_RGBA_BPTC_UNORM = 0x8E8C;
+ // const GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM = 0x8E8D;
+ // const GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT = 0x8E8E;
+ // const GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT = 0x8E8F;
+ // const GL_QUERY_WAIT_INVERTED = 0x8E17;
+ // const GL_QUERY_NO_WAIT_INVERTED = 0x8E18;
+ // const GL_QUERY_BY_REGION_WAIT_INVERTED = 0x8E19;
+ // const GL_QUERY_BY_REGION_NO_WAIT_INVERTED = 0x8E1A;
+ // const GL_POLYGON_OFFSET_CLAMP = 0x8E1B;
// const GL_BUFFER_ACCESS_FLAGS = 0x911F;
// const GL_BUFFER_MAP_LENGTH = 0x9120;
// const GL_BUFFER_MAP_OFFSET = 0x9121;
@@ -1706,6 +1736,15 @@ public function debugDumpPathCache() : void {}
// const GL_MAX_COLOR_TEXTURE_SAMPLES = 0x910E;
// const GL_MAX_DEPTH_TEXTURE_SAMPLES = 0x910F;
// const GL_MAX_INTEGER_SAMPLES = 0x9110;
+ // const GL_UNPACK_COMPRESSED_BLOCK_WIDTH = 0x9127;
+ // const GL_UNPACK_COMPRESSED_BLOCK_HEIGHT = 0x9128;
+ // const GL_UNPACK_COMPRESSED_BLOCK_DEPTH = 0x9129;
+ // const GL_UNPACK_COMPRESSED_BLOCK_SIZE = 0x912A;
+ // const GL_PACK_COMPRESSED_BLOCK_WIDTH = 0x912B;
+ // const GL_PACK_COMPRESSED_BLOCK_HEIGHT = 0x912C;
+ // const GL_PACK_COMPRESSED_BLOCK_DEPTH = 0x912D;
+ // const GL_PACK_COMPRESSED_BLOCK_SIZE = 0x912E;
+ // const GL_TEXTURE_IMMUTABLE_FORMAT = 0x912F;
// const GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0;
// const GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1;
// const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2;
@@ -1775,6 +1814,8 @@ public function debugDumpPathCache() : void {}
// const GL_MAP_INVALIDATE_BUFFER_BIT = 0x0008;
// const GL_MAP_FLUSH_EXPLICIT_BIT = 0x0010;
// const GL_MAP_UNSYNCHRONIZED_BIT = 0x0020;
+ // const GL_MAP_PERSISTENT_BIT = 0x0040;
+ // const GL_MAP_COHERENT_BIT = 0x0080;
// const GL_VERTEX_ARRAY_BINDING = 0x85B5;
// const GL_R8_SNORM = 0x8F94;
// const GL_RG8_SNORM = 0x8F95;
@@ -1800,6 +1841,17 @@ public function debugDumpPathCache() : void {}
// const GL_DOUBLE_MAT3x4 = 0x8F4C;
// const GL_DOUBLE_MAT4x2 = 0x8F4D;
// const GL_DOUBLE_MAT4x3 = 0x8F4E;
+ // const GL_COPY_READ_BUFFER_BINDING = 0x8F36;
+ // const GL_COPY_WRITE_BUFFER_BINDING = 0x8F37;
+ // const GL_MAX_IMAGE_UNITS = 0x8F38;
+ // const GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS = 0x8F39;
+ // const GL_IMAGE_BINDING_NAME = 0x8F3A;
+ // const GL_IMAGE_BINDING_LEVEL = 0x8F3B;
+ // const GL_IMAGE_BINDING_LAYERED = 0x8F3C;
+ // const GL_IMAGE_BINDING_LAYER = 0x8F3D;
+ // const GL_IMAGE_BINDING_ACCESS = 0x8F3E;
+ // const GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = 0x8F39;
+ // const GL_VERTEX_BINDING_BUFFER = 0x8F4F;
// const GL_UNIFORM_BUFFER = 0x8A11;
// const GL_UNIFORM_BUFFER_BINDING = 0x8A28;
// const GL_UNIFORM_BUFFER_START = 0x8A29;
@@ -1836,6 +1888,71 @@ public function debugDumpPathCache() : void {}
// const GL_CONTEXT_COMPATIBILITY_PROFILE_BIT = 0x00000002;
// const GL_SYNC_FLUSH_COMMANDS_BIT = 0x00000001;
// const GL_RGB10_A2UI = 0x906F;
+ // const GL_MIN_MAP_BUFFER_ALIGNMENT = 0x90BC;
+ // const GL_IMAGE_1D = 0x904C;
+ // const GL_IMAGE_2D = 0x904D;
+ // const GL_IMAGE_3D = 0x904E;
+ // const GL_IMAGE_2D_RECT = 0x904F;
+ // const GL_IMAGE_CUBE = 0x9050;
+ // const GL_IMAGE_BUFFER = 0x9051;
+ // const GL_IMAGE_1D_ARRAY = 0x9052;
+ // const GL_IMAGE_2D_ARRAY = 0x9053;
+ // const GL_IMAGE_CUBE_MAP_ARRAY = 0x9054;
+ // const GL_IMAGE_2D_MULTISAMPLE = 0x9055;
+ // const GL_IMAGE_2D_MULTISAMPLE_ARRAY = 0x9056;
+ // const GL_INT_IMAGE_1D = 0x9057;
+ // const GL_INT_IMAGE_2D = 0x9058;
+ // const GL_INT_IMAGE_3D = 0x9059;
+ // const GL_INT_IMAGE_2D_RECT = 0x905A;
+ // const GL_INT_IMAGE_CUBE = 0x905B;
+ // const GL_INT_IMAGE_BUFFER = 0x905C;
+ // const GL_INT_IMAGE_1D_ARRAY = 0x905D;
+ // const GL_INT_IMAGE_2D_ARRAY = 0x905E;
+ // const GL_INT_IMAGE_CUBE_MAP_ARRAY = 0x905F;
+ // const GL_INT_IMAGE_2D_MULTISAMPLE = 0x9060;
+ // const GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x9061;
+ // const GL_UNSIGNED_INT_IMAGE_1D = 0x9062;
+ // const GL_UNSIGNED_INT_IMAGE_2D = 0x9063;
+ // const GL_UNSIGNED_INT_IMAGE_3D = 0x9064;
+ // const GL_UNSIGNED_INT_IMAGE_2D_RECT = 0x9065;
+ // const GL_UNSIGNED_INT_IMAGE_CUBE = 0x9066;
+ // const GL_UNSIGNED_INT_IMAGE_BUFFER = 0x9067;
+ // const GL_UNSIGNED_INT_IMAGE_1D_ARRAY = 0x9068;
+ // const GL_UNSIGNED_INT_IMAGE_2D_ARRAY = 0x9069;
+ // const GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = 0x906A;
+ // const GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE = 0x906B;
+ // const GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x906C;
+ // const GL_MAX_IMAGE_SAMPLES = 0x906D;
+ // const GL_IMAGE_BINDING_FORMAT = 0x906E;
+ // const GL_IMAGE_FORMAT_COMPATIBILITY_TYPE = 0x90C7;
+ // const GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = 0x90C8;
+ // const GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = 0x90C9;
+ // const GL_MAX_VERTEX_IMAGE_UNIFORMS = 0x90CA;
+ // const GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS = 0x90CB;
+ // const GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS = 0x90CC;
+ // const GL_MAX_GEOMETRY_IMAGE_UNIFORMS = 0x90CD;
+ // const GL_MAX_FRAGMENT_IMAGE_UNIFORMS = 0x90CE;
+ // const GL_MAX_COMBINED_IMAGE_UNIFORMS = 0x90CF;
+ // const GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS = 0x90EB;
+ // const GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER = 0x90EC;
+ // const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER = 0x90ED;
+ // const GL_DISPATCH_INDIRECT_BUFFER = 0x90EE;
+ // const GL_DISPATCH_INDIRECT_BUFFER_BINDING = 0x90EF;
+ // const GL_SHADER_STORAGE_BUFFER = 0x90D2;
+ // const GL_SHADER_STORAGE_BUFFER_BINDING = 0x90D3;
+ // const GL_SHADER_STORAGE_BUFFER_START = 0x90D4;
+ // const GL_SHADER_STORAGE_BUFFER_SIZE = 0x90D5;
+ // const GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS = 0x90D6;
+ // const GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = 0x90D7;
+ // const GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = 0x90D8;
+ // const GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = 0x90D9;
+ // const GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = 0x90DA;
+ // const GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = 0x90DB;
+ // const GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS = 0x90DC;
+ // const GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS = 0x90DD;
+ // const GL_MAX_SHADER_STORAGE_BLOCK_SIZE = 0x90DE;
+ // const GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = 0x90DF;
+ // const GL_DEPTH_STENCIL_TEXTURE_MODE = 0x90EA;
// const GL_TEXTURE_CUBE_MAP_ARRAY = 0x9009;
// const GL_TEXTURE_BINDING_CUBE_MAP_ARRAY = 0x900A;
// const GL_PROXY_TEXTURE_CUBE_MAP_ARRAY = 0x900B;
@@ -1861,6 +1978,9 @@ public function debugDumpPathCache() : void {}
// const GL_MAX_VARYING_VECTORS = 0x8DFC;
// const GL_MAX_FRAGMENT_UNIFORM_VECTORS = 0x8DFD;
// const GL_RGB565 = 0x8D62;
+ // const GL_PRIMITIVE_RESTART_FIXED_INDEX = 0x8D69;
+ // const GL_ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8D6A;
+ // const GL_MAX_ELEMENT_INDEX = 0x8D6B;
// const GL_PROGRAM_BINARY_RETRIEVABLE_HINT = 0x8257;
// const GL_PROGRAM_SEPARABLE = 0x8258;
// const GL_ACTIVE_PROGRAM = 0x8259;
@@ -1871,13 +1991,339 @@ public function debugDumpPathCache() : void {}
// const GL_LAYER_PROVOKING_VERTEX = 0x825E;
// const GL_VIEWPORT_INDEX_PROVOKING_VERTEX = 0x825F;
// const GL_UNDEFINED_VERTEX = 0x8260;
+ // const GL_MAX_COMPUTE_SHARED_MEMORY_SIZE = 0x8262;
+ // const GL_MAX_COMPUTE_UNIFORM_COMPONENTS = 0x8263;
+ // const GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = 0x8264;
+ // const GL_MAX_COMPUTE_ATOMIC_COUNTERS = 0x8265;
+ // const GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = 0x8266;
+ // const GL_COMPUTE_WORK_GROUP_SIZE = 0x8267;
+ // const GL_DEBUG_OUTPUT_SYNCHRONOUS = 0x8242;
+ // const GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = 0x8243;
+ // const GL_DEBUG_CALLBACK_FUNCTION = 0x8244;
+ // const GL_DEBUG_CALLBACK_USER_PARAM = 0x8245;
+ // const GL_DEBUG_SOURCE_API = 0x8246;
+ // const GL_DEBUG_SOURCE_WINDOW_SYSTEM = 0x8247;
+ // const GL_DEBUG_SOURCE_SHADER_COMPILER = 0x8248;
+ // const GL_DEBUG_SOURCE_THIRD_PARTY = 0x8249;
+ // const GL_DEBUG_SOURCE_APPLICATION = 0x824A;
+ // const GL_DEBUG_SOURCE_OTHER = 0x824B;
+ // const GL_DEBUG_TYPE_ERROR = 0x824C;
+ // const GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR = 0x824D;
+ // const GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR = 0x824E;
+ // const GL_DEBUG_TYPE_PORTABILITY = 0x824F;
+ // const GL_DEBUG_TYPE_PERFORMANCE = 0x8250;
+ // const GL_DEBUG_TYPE_OTHER = 0x8251;
+ // const GL_DEBUG_TYPE_MARKER = 0x8268;
+ // const GL_DEBUG_TYPE_PUSH_GROUP = 0x8269;
+ // const GL_DEBUG_TYPE_POP_GROUP = 0x826A;
+ // const GL_DEBUG_SEVERITY_NOTIFICATION = 0x826B;
+ // const GL_MAX_DEBUG_GROUP_STACK_DEPTH = 0x826C;
+ // const GL_DEBUG_GROUP_STACK_DEPTH = 0x826D;
+ // const GL_MAX_UNIFORM_LOCATIONS = 0x826E;
+ // const GL_INTERNALFORMAT_SUPPORTED = 0x826F;
+ // const GL_INTERNALFORMAT_PREFERRED = 0x8270;
+ // const GL_INTERNALFORMAT_RED_SIZE = 0x8271;
+ // const GL_INTERNALFORMAT_GREEN_SIZE = 0x8272;
+ // const GL_INTERNALFORMAT_BLUE_SIZE = 0x8273;
+ // const GL_INTERNALFORMAT_ALPHA_SIZE = 0x8274;
+ // const GL_INTERNALFORMAT_DEPTH_SIZE = 0x8275;
+ // const GL_INTERNALFORMAT_STENCIL_SIZE = 0x8276;
+ // const GL_INTERNALFORMAT_SHARED_SIZE = 0x8277;
+ // const GL_INTERNALFORMAT_RED_TYPE = 0x8278;
+ // const GL_INTERNALFORMAT_GREEN_TYPE = 0x8279;
+ // const GL_INTERNALFORMAT_BLUE_TYPE = 0x827A;
+ // const GL_INTERNALFORMAT_ALPHA_TYPE = 0x827B;
+ // const GL_INTERNALFORMAT_DEPTH_TYPE = 0x827C;
+ // const GL_INTERNALFORMAT_STENCIL_TYPE = 0x827D;
+ // const GL_MAX_WIDTH = 0x827E;
+ // const GL_MAX_HEIGHT = 0x827F;
+ // const GL_MAX_DEPTH = 0x8280;
+ // const GL_MAX_LAYERS = 0x8281;
+ // const GL_MAX_COMBINED_DIMENSIONS = 0x8282;
+ // const GL_COLOR_COMPONENTS = 0x8283;
+ // const GL_DEPTH_COMPONENTS = 0x8284;
+ // const GL_STENCIL_COMPONENTS = 0x8285;
+ // const GL_COLOR_RENDERABLE = 0x8286;
+ // const GL_DEPTH_RENDERABLE = 0x8287;
+ // const GL_STENCIL_RENDERABLE = 0x8288;
+ // const GL_FRAMEBUFFER_RENDERABLE = 0x8289;
+ // const GL_FRAMEBUFFER_RENDERABLE_LAYERED = 0x828A;
+ // const GL_FRAMEBUFFER_BLEND = 0x828B;
+ // const GL_READ_PIXELS = 0x828C;
+ // const GL_READ_PIXELS_FORMAT = 0x828D;
+ // const GL_READ_PIXELS_TYPE = 0x828E;
+ // const GL_TEXTURE_IMAGE_FORMAT = 0x828F;
+ // const GL_TEXTURE_IMAGE_TYPE = 0x8290;
+ // const GL_GET_TEXTURE_IMAGE_FORMAT = 0x8291;
+ // const GL_GET_TEXTURE_IMAGE_TYPE = 0x8292;
+ // const GL_MIPMAP = 0x8293;
+ // const GL_MANUAL_GENERATE_MIPMAP = 0x8294;
+ // const GL_AUTO_GENERATE_MIPMAP = 0x8295;
+ // const GL_COLOR_ENCODING = 0x8296;
+ // const GL_SRGB_READ = 0x8297;
+ // const GL_SRGB_WRITE = 0x8298;
+ // const GL_FILTER = 0x829A;
+ // const GL_VERTEX_TEXTURE = 0x829B;
+ // const GL_TESS_CONTROL_TEXTURE = 0x829C;
+ // const GL_TESS_EVALUATION_TEXTURE = 0x829D;
+ // const GL_GEOMETRY_TEXTURE = 0x829E;
+ // const GL_FRAGMENT_TEXTURE = 0x829F;
+ // const GL_COMPUTE_TEXTURE = 0x82A0;
+ // const GL_TEXTURE_SHADOW = 0x82A1;
+ // const GL_TEXTURE_GATHER = 0x82A2;
+ // const GL_TEXTURE_GATHER_SHADOW = 0x82A3;
+ // const GL_SHADER_IMAGE_LOAD = 0x82A4;
+ // const GL_SHADER_IMAGE_STORE = 0x82A5;
+ // const GL_SHADER_IMAGE_ATOMIC = 0x82A6;
+ // const GL_IMAGE_TEXEL_SIZE = 0x82A7;
+ // const GL_IMAGE_COMPATIBILITY_CLASS = 0x82A8;
+ // const GL_IMAGE_PIXEL_FORMAT = 0x82A9;
+ // const GL_IMAGE_PIXEL_TYPE = 0x82AA;
+ // const GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST = 0x82AC;
+ // const GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST = 0x82AD;
+ // const GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE = 0x82AE;
+ // const GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE = 0x82AF;
+ // const GL_GUILTY_CONTEXT_RESET = 0x8253;
+ // const GL_INNOCENT_CONTEXT_RESET = 0x8254;
+ // const GL_UNKNOWN_CONTEXT_RESET = 0x8255;
+ // const GL_RESET_NOTIFICATION_STRATEGY = 0x8256;
+ // const GL_LOSE_CONTEXT_ON_RESET = 0x8252;
+ // const GL_NO_RESET_NOTIFICATION = 0x8261;
// const GL_PROGRAM_BINARY_LENGTH = 0x8741;
+ // const GL_VERTEX_ATTRIB_ARRAY_LONG = 0x874E;
+ // const GL_MIRROR_CLAMP_TO_EDGE = 0x8743;
// const GL_VERTEX_SHADER_BIT = 0x00000001;
// const GL_FRAGMENT_SHADER_BIT = 0x00000002;
// const GL_GEOMETRY_SHADER_BIT = 0x00000004;
// const GL_TESS_CONTROL_SHADER_BIT = 0x00000008;
// const GL_TESS_EVALUATION_SHADER_BIT = 0x00000010;
// const GL_ALL_SHADER_BITS = 0xFFFFFFFF;
+ // const GL_COMPUTE_SHADER_BIT = 0x00000020;
+ // const GL_NUM_SAMPLE_COUNTS = 0x9380;
+ // const GL_ATOMIC_COUNTER_BUFFER = 0x92C0;
+ // const GL_ATOMIC_COUNTER_BUFFER_BINDING = 0x92C1;
+ // const GL_ATOMIC_COUNTER_BUFFER_START = 0x92C2;
+ // const GL_ATOMIC_COUNTER_BUFFER_SIZE = 0x92C3;
+ // const GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE = 0x92C4;
+ // const GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS = 0x92C5;
+ // const GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES = 0x92C6;
+ // const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER = 0x92C7;
+ // const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER = 0x92C8;
+ // const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x92C9;
+ // const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER = 0x92CA;
+ // const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER = 0x92CB;
+ // const GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = 0x92CC;
+ // const GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = 0x92CD;
+ // const GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = 0x92CE;
+ // const GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = 0x92CF;
+ // const GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = 0x92D0;
+ // const GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = 0x92D1;
+ // const GL_MAX_VERTEX_ATOMIC_COUNTERS = 0x92D2;
+ // const GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS = 0x92D3;
+ // const GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS = 0x92D4;
+ // const GL_MAX_GEOMETRY_ATOMIC_COUNTERS = 0x92D5;
+ // const GL_MAX_FRAGMENT_ATOMIC_COUNTERS = 0x92D6;
+ // const GL_MAX_COMBINED_ATOMIC_COUNTERS = 0x92D7;
+ // const GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE = 0x92D8;
+ // const GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = 0x92DC;
+ // const GL_ACTIVE_ATOMIC_COUNTER_BUFFERS = 0x92D9;
+ // const GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX = 0x92DA;
+ // const GL_UNSIGNED_INT_ATOMIC_COUNTER = 0x92DB;
+ // const GL_DEBUG_OUTPUT = 0x92E0;
+ // const GL_FRAMEBUFFER_DEFAULT_WIDTH = 0x9310;
+ // const GL_FRAMEBUFFER_DEFAULT_HEIGHT = 0x9311;
+ // const GL_FRAMEBUFFER_DEFAULT_LAYERS = 0x9312;
+ // const GL_FRAMEBUFFER_DEFAULT_SAMPLES = 0x9313;
+ // const GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = 0x9314;
+ // const GL_MAX_FRAMEBUFFER_WIDTH = 0x9315;
+ // const GL_MAX_FRAMEBUFFER_HEIGHT = 0x9316;
+ // const GL_MAX_FRAMEBUFFER_LAYERS = 0x9317;
+ // const GL_MAX_FRAMEBUFFER_SAMPLES = 0x9318;
+ // const GL_UNIFORM = 0x92E1;
+ // const GL_UNIFORM_BLOCK = 0x92E2;
+ // const GL_PROGRAM_INPUT = 0x92E3;
+ // const GL_PROGRAM_OUTPUT = 0x92E4;
+ // const GL_BUFFER_VARIABLE = 0x92E5;
+ // const GL_SHADER_STORAGE_BLOCK = 0x92E6;
+ // const GL_VERTEX_SUBROUTINE = 0x92E8;
+ // const GL_TESS_CONTROL_SUBROUTINE = 0x92E9;
+ // const GL_TESS_EVALUATION_SUBROUTINE = 0x92EA;
+ // const GL_GEOMETRY_SUBROUTINE = 0x92EB;
+ // const GL_FRAGMENT_SUBROUTINE = 0x92EC;
+ // const GL_COMPUTE_SUBROUTINE = 0x92ED;
+ // const GL_VERTEX_SUBROUTINE_UNIFORM = 0x92EE;
+ // const GL_TESS_CONTROL_SUBROUTINE_UNIFORM = 0x92EF;
+ // const GL_TESS_EVALUATION_SUBROUTINE_UNIFORM = 0x92F0;
+ // const GL_GEOMETRY_SUBROUTINE_UNIFORM = 0x92F1;
+ // const GL_FRAGMENT_SUBROUTINE_UNIFORM = 0x92F2;
+ // const GL_COMPUTE_SUBROUTINE_UNIFORM = 0x92F3;
+ // const GL_TRANSFORM_FEEDBACK_VARYING = 0x92F4;
+ // const GL_ACTIVE_RESOURCES = 0x92F5;
+ // const GL_MAX_NAME_LENGTH = 0x92F6;
+ // const GL_MAX_NUM_ACTIVE_VARIABLES = 0x92F7;
+ // const GL_MAX_NUM_COMPATIBLE_SUBROUTINES = 0x92F8;
+ // const GL_NAME_LENGTH = 0x92F9;
+ // const GL_TYPE = 0x92FA;
+ // const GL_ARRAY_SIZE = 0x92FB;
+ // const GL_OFFSET = 0x92FC;
+ // const GL_BLOCK_INDEX = 0x92FD;
+ // const GL_ARRAY_STRIDE = 0x92FE;
+ // const GL_MATRIX_STRIDE = 0x92FF;
+ // const GL_IS_ROW_MAJOR = 0x9300;
+ // const GL_ATOMIC_COUNTER_BUFFER_INDEX = 0x9301;
+ // const GL_BUFFER_BINDING = 0x9302;
+ // const GL_BUFFER_DATA_SIZE = 0x9303;
+ // const GL_NUM_ACTIVE_VARIABLES = 0x9304;
+ // const GL_ACTIVE_VARIABLES = 0x9305;
+ // const GL_REFERENCED_BY_VERTEX_SHADER = 0x9306;
+ // const GL_REFERENCED_BY_TESS_CONTROL_SHADER = 0x9307;
+ // const GL_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x9308;
+ // const GL_REFERENCED_BY_GEOMETRY_SHADER = 0x9309;
+ // const GL_REFERENCED_BY_FRAGMENT_SHADER = 0x930A;
+ // const GL_REFERENCED_BY_COMPUTE_SHADER = 0x930B;
+ // const GL_TOP_LEVEL_ARRAY_SIZE = 0x930C;
+ // const GL_TOP_LEVEL_ARRAY_STRIDE = 0x930D;
+ // const GL_LOCATION = 0x930E;
+ // const GL_LOCATION_INDEX = 0x930F;
+ // const GL_IS_PER_PATCH = 0x92E7;
+ // const GL_CLEAR_TEXTURE = 0x9365;
+ // const GL_LOCATION_COMPONENT = 0x934A;
+ // const GL_TRANSFORM_FEEDBACK_BUFFER_INDEX = 0x934B;
+ // const GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE = 0x934C;
+ // const GL_NEGATIVE_ONE_TO_ONE = 0x935E;
+ // const GL_ZERO_TO_ONE = 0x935F;
+ // const GL_CLIP_ORIGIN = 0x935C;
+ // const GL_CLIP_DEPTH_MODE = 0x935D;
+ // const GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT = 0x00000001;
+ // const GL_ELEMENT_ARRAY_BARRIER_BIT = 0x00000002;
+ // const GL_UNIFORM_BARRIER_BIT = 0x00000004;
+ // const GL_TEXTURE_FETCH_BARRIER_BIT = 0x00000008;
+ // const GL_SHADER_IMAGE_ACCESS_BARRIER_BIT = 0x00000020;
+ // const GL_COMMAND_BARRIER_BIT = 0x00000040;
+ // const GL_PIXEL_BUFFER_BARRIER_BIT = 0x00000080;
+ // const GL_TEXTURE_UPDATE_BARRIER_BIT = 0x00000100;
+ // const GL_BUFFER_UPDATE_BARRIER_BIT = 0x00000200;
+ // const GL_FRAMEBUFFER_BARRIER_BIT = 0x00000400;
+ // const GL_TRANSFORM_FEEDBACK_BARRIER_BIT = 0x00000800;
+ // const GL_ATOMIC_COUNTER_BARRIER_BIT = 0x00001000;
+ // const GL_ALL_BARRIER_BITS = 0xFFFFFFFF;
+ // const GL_SHADER_STORAGE_BARRIER_BIT = 0x00002000;
+ // const GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT = 0x00004000;
+ // const GL_QUERY_BUFFER_BARRIER_BIT = 0x00008000;
+ // const GL_NUM_SHADING_LANGUAGE_VERSIONS = 0x82E9;
+ // const GL_BUFFER = 0x82E0;
+ // const GL_SHADER = 0x82E1;
+ // const GL_PROGRAM = 0x82E2;
+ // const GL_QUERY = 0x82E3;
+ // const GL_PROGRAM_PIPELINE = 0x82E4;
+ // const GL_SAMPLER = 0x82E6;
+ // const GL_MAX_LABEL_LENGTH = 0x82E8;
+ // const GL_TEXTURE_COMPRESSED_BLOCK_WIDTH = 0x82B1;
+ // const GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT = 0x82B2;
+ // const GL_TEXTURE_COMPRESSED_BLOCK_SIZE = 0x82B3;
+ // const GL_CLEAR_BUFFER = 0x82B4;
+ // const GL_TEXTURE_VIEW = 0x82B5;
+ // const GL_VIEW_COMPATIBILITY_CLASS = 0x82B6;
+ // const GL_FULL_SUPPORT = 0x82B7;
+ // const GL_CAVEAT_SUPPORT = 0x82B8;
+ // const GL_IMAGE_CLASS_4_X_32 = 0x82B9;
+ // const GL_IMAGE_CLASS_2_X_32 = 0x82BA;
+ // const GL_IMAGE_CLASS_1_X_32 = 0x82BB;
+ // const GL_IMAGE_CLASS_4_X_16 = 0x82BC;
+ // const GL_IMAGE_CLASS_2_X_16 = 0x82BD;
+ // const GL_IMAGE_CLASS_1_X_16 = 0x82BE;
+ // const GL_IMAGE_CLASS_4_X_8 = 0x82BF;
+ // const GL_IMAGE_CLASS_2_X_8 = 0x82C0;
+ // const GL_IMAGE_CLASS_1_X_8 = 0x82C1;
+ // const GL_IMAGE_CLASS_11_11_10 = 0x82C2;
+ // const GL_IMAGE_CLASS_10_10_10_2 = 0x82C3;
+ // const GL_VIEW_CLASS_128_BITS = 0x82C4;
+ // const GL_VIEW_CLASS_96_BITS = 0x82C5;
+ // const GL_VIEW_CLASS_64_BITS = 0x82C6;
+ // const GL_VIEW_CLASS_48_BITS = 0x82C7;
+ // const GL_VIEW_CLASS_32_BITS = 0x82C8;
+ // const GL_VIEW_CLASS_24_BITS = 0x82C9;
+ // const GL_VIEW_CLASS_16_BITS = 0x82CA;
+ // const GL_VIEW_CLASS_8_BITS = 0x82CB;
+ // const GL_VIEW_CLASS_S3TC_DXT1_RGB = 0x82CC;
+ // const GL_VIEW_CLASS_S3TC_DXT1_RGBA = 0x82CD;
+ // const GL_VIEW_CLASS_S3TC_DXT3_RGBA = 0x82CE;
+ // const GL_VIEW_CLASS_S3TC_DXT5_RGBA = 0x82CF;
+ // const GL_VIEW_CLASS_RGTC1_RED = 0x82D0;
+ // const GL_VIEW_CLASS_RGTC2_RG = 0x82D1;
+ // const GL_VIEW_CLASS_BPTC_UNORM = 0x82D2;
+ // const GL_VIEW_CLASS_BPTC_FLOAT = 0x82D3;
+ // const GL_TEXTURE_VIEW_MIN_LEVEL = 0x82DB;
+ // const GL_TEXTURE_VIEW_NUM_LEVELS = 0x82DC;
+ // const GL_TEXTURE_VIEW_MIN_LAYER = 0x82DD;
+ // const GL_TEXTURE_VIEW_NUM_LAYERS = 0x82DE;
+ // const GL_TEXTURE_IMMUTABLE_LEVELS = 0x82DF;
+ // const GL_VERTEX_ATTRIB_BINDING = 0x82D4;
+ // const GL_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D5;
+ // const GL_VERTEX_BINDING_DIVISOR = 0x82D6;
+ // const GL_VERTEX_BINDING_OFFSET = 0x82D7;
+ // const GL_VERTEX_BINDING_STRIDE = 0x82D8;
+ // const GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D9;
+ // const GL_MAX_VERTEX_ATTRIB_BINDINGS = 0x82DA;
+ // const GL_DISPLAY_LIST = 0x82E7;
+ // const GL_MAX_VERTEX_ATTRIB_STRIDE = 0x82E5;
+ // const GL_MAX_CULL_DISTANCES = 0x82F9;
+ // const GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES = 0x82FA;
+ // const GL_QUERY_TARGET = 0x82EA;
+ // const GL_CONTEXT_RELEASE_BEHAVIOR = 0x82FB;
+ // const GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH = 0x82FC;
+ // const GL_VERTICES_SUBMITTED = 0x82EE;
+ // const GL_PRIMITIVES_SUBMITTED = 0x82EF;
+ // const GL_VERTEX_SHADER_INVOCATIONS = 0x82F0;
+ // const GL_TESS_CONTROL_SHADER_PATCHES = 0x82F1;
+ // const GL_TESS_EVALUATION_SHADER_INVOCATIONS = 0x82F2;
+ // const GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED = 0x82F3;
+ // const GL_FRAGMENT_SHADER_INVOCATIONS = 0x82F4;
+ // const GL_COMPUTE_SHADER_INVOCATIONS = 0x82F5;
+ // const GL_CLIPPING_INPUT_PRIMITIVES = 0x82F6;
+ // const GL_CLIPPING_OUTPUT_PRIMITIVES = 0x82F7;
+ // const GL_TRANSFORM_FEEDBACK_OVERFLOW = 0x82EC;
+ // const GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW = 0x82ED;
+ // const GL_COMPRESSED_RGB8_ETC2 = 0x9274;
+ // const GL_COMPRESSED_SRGB8_ETC2 = 0x9275;
+ // const GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9276;
+ // const GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277;
+ // const GL_COMPRESSED_RGBA8_ETC2_EAC = 0x9278;
+ // const GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9279;
+ // const GL_COMPRESSED_R11_EAC = 0x9270;
+ // const GL_COMPRESSED_SIGNED_R11_EAC = 0x9271;
+ // const GL_COMPRESSED_RG11_EAC = 0x9272;
+ // const GL_COMPRESSED_SIGNED_RG11_EAC = 0x9273;
+ // const GL_COMPUTE_SHADER = 0x91B9;
+ // const GL_MAX_COMPUTE_UNIFORM_BLOCKS = 0x91BB;
+ // const GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = 0x91BC;
+ // const GL_MAX_COMPUTE_IMAGE_UNIFORMS = 0x91BD;
+ // const GL_MAX_COMPUTE_WORK_GROUP_COUNT = 0x91BE;
+ // const GL_MAX_COMPUTE_WORK_GROUP_SIZE = 0x91BF;
+ // const GL_MAX_DEBUG_MESSAGE_LENGTH = 0x9143;
+ // const GL_MAX_DEBUG_LOGGED_MESSAGES = 0x9144;
+ // const GL_DEBUG_LOGGED_MESSAGES = 0x9145;
+ // const GL_DEBUG_SEVERITY_HIGH = 0x9146;
+ // const GL_DEBUG_SEVERITY_MEDIUM = 0x9147;
+ // const GL_DEBUG_SEVERITY_LOW = 0x9148;
+ // const GL_TEXTURE_BUFFER_OFFSET = 0x919D;
+ // const GL_TEXTURE_BUFFER_SIZE = 0x919E;
+ // const GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT = 0x919F;
+ // const GL_QUERY_BUFFER = 0x9192;
+ // const GL_QUERY_BUFFER_BINDING = 0x9193;
+ // const GL_QUERY_RESULT_NO_WAIT = 0x9194;
+ // const GL_DYNAMIC_STORAGE_BIT = 0x0100;
+ // const GL_CLIENT_STORAGE_BIT = 0x0200;
+ // const GL_COLOR_TABLE = 0x80D0;
+ // const GL_POST_CONVOLUTION_COLOR_TABLE = 0x80D1;
+ // const GL_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D2;
+ // const GL_PROXY_COLOR_TABLE = 0x80D3;
+ // const GL_PROXY_POST_CONVOLUTION_COLOR_TABLE = 0x80D4;
+ // const GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D5;
+ // const GL_SHADER_BINARY_FORMAT_SPIR_V = 0x9551;
+ // const GL_SPIR_V_BINARY = 0x9552;
+ // const GL_SPIR_V_EXTENSIONS = 0x9553;
+ // const GL_NUM_SPIR_V_EXTENSIONS = 0x9554;
// const GLFW_VERSION_MAJOR = 3;
// const GLFW_VERSION_MINOR = 3;
// const GLFW_VERSION_REVISION = 8;
@@ -2624,6 +3070,137 @@ function glDepthRangeArrayv(int $first, \GL\Buffer\DoubleBuffer|array $v) : void
function glDepthRangeIndexed(int $index, float $n, float $f) : void {}
function glGetFloati_v(int $target, int $index, ?bool &...$data) : void {}
function glGetDoublei_v(int $target, int $index, ?bool &...$data) : void {}
+ function glDrawArraysInstancedBaseInstance(int $mode, int $first, int $count, int $instancecount, int $baseinstance) : void {}
+ function glGetInternalformativ(int $target, int $internalformat, int $pname, int $count, int &$params) : void {}
+ function glGetActiveAtomicCounterBufferiv(int $program, int $bufferIndex, int $pname, int &$params) : void {}
+ function glBindImageTexture(int $unit, int $texture, int $level, bool $layered, int $layer, int $access, int $format) : void {}
+ function glMemoryBarrier(int $barriers) : void {}
+ function glTexStorage1D(int $target, int $levels, int $internalformat, int $width) : void {}
+ function glTexStorage2D(int $target, int $levels, int $internalformat, int $width, int $height) : void {}
+ function glTexStorage3D(int $target, int $levels, int $internalformat, int $width, int $height, int $depth) : void {}
+ function glDrawTransformFeedbackInstanced(int $mode, int $id, int $instancecount) : void {}
+ function glDrawTransformFeedbackStreamInstanced(int $mode, int $id, int $stream, int $instancecount) : void {}
+ function glDispatchCompute(int $num_groups_x, int $num_groups_y, int $num_groups_z) : void {}
+ function glDispatchComputeIndirect(int $indirect) : void {}
+ function glCopyImageSubData(int $srcName, int $srcTarget, int $srcLevel, int $srcX, int $srcY, int $srcZ, int $dstName, int $dstTarget, int $dstLevel, int $dstX, int $dstY, int $dstZ, int $srcWidth, int $srcHeight, int $srcDepth) : void {}
+ function glFramebufferParameteri(int $target, int $pname, int $param) : void {}
+ function glGetFramebufferParameteriv(int $target, int $pname, int &$params) : void {}
+ function glGetInternalformati64v(int $target, int $internalformat, int $pname, int $count, int &$params) : void {}
+ function glInvalidateTexSubImage(int $texture, int $level, int $xoffset, int $yoffset, int $zoffset, int $width, int $height, int $depth) : void {}
+ function glInvalidateTexImage(int $texture, int $level) : void {}
+ function glInvalidateBufferSubData(int $buffer, int $offset, int $length) : void {}
+ function glInvalidateBufferData(int $buffer) : void {}
+ function glGetProgramInterfaceiv(int $program, int $programInterface, int $pname, int &$params) : void {}
+ function glGetProgramResourceIndex(int $program, int $programInterface, string $name) : int {}
+ function glGetProgramResourceLocation(int $program, int $programInterface, string $name) : int {}
+ function glGetProgramResourceLocationIndex(int $program, int $programInterface, string $name) : int {}
+ function glShaderStorageBlockBinding(int $program, int $storageBlockIndex, int $storageBlockBinding) : void {}
+ function glTexBufferRange(int $target, int $internalformat, int $buffer, int $offset, int $size) : void {}
+ function glTexStorage2DMultisample(int $target, int $samples, int $internalformat, int $width, int $height, bool $fixedsamplelocations) : void {}
+ function glTexStorage3DMultisample(int $target, int $samples, int $internalformat, int $width, int $height, int $depth, bool $fixedsamplelocations) : void {}
+ function glTextureView(int $texture, int $target, int $origtexture, int $internalformat, int $minlevel, int $numlevels, int $minlayer, int $numlayers) : void {}
+ function glBindVertexBuffer(int $bindingindex, int $buffer, int $offset, int $stride) : void {}
+ function glVertexAttribFormat(int $attribindex, int $size, int $type, bool $normalized, int $relativeoffset) : void {}
+ function glVertexAttribIFormat(int $attribindex, int $size, int $type, int $relativeoffset) : void {}
+ function glVertexAttribLFormat(int $attribindex, int $size, int $type, int $relativeoffset) : void {}
+ function glVertexAttribBinding(int $attribindex, int $bindingindex) : void {}
+ function glVertexBindingDivisor(int $bindingindex, int $divisor) : void {}
+ function glDebugMessageInsert(int $source, int $type, int $id, int $severity, int $length, string $buf) : void {}
+ function glPushDebugGroup(int $source, int $id, int $length, string $message) : void {}
+ function glPopDebugGroup() : void {}
+ function glObjectLabel(int $identifier, int $name, int $length, string $label) : void {}
+ function glClipControl(int $origin, int $depth) : void {}
+ function glCreateTransformFeedbacks(int $n, ?int &...$ids) : void {}
+ function glTransformFeedbackBufferBase(int $xfb, int $index, int $buffer) : void {}
+ function glTransformFeedbackBufferRange(int $xfb, int $index, int $buffer, int $offset, int $size) : void {}
+ function glGetTransformFeedbackiv(int $xfb, int $pname, int &$param) : void {}
+ function glGetTransformFeedbacki_v(int $xfb, int $pname, int $index, int &$param) : void {}
+ function glGetTransformFeedbacki64_v(int $xfb, int $pname, int $index, int &$param) : void {}
+ function glCreateBuffers(int $n, ?int &...$buffers) : void {}
+ function glCopyNamedBufferSubData(int $readBuffer, int $writeBuffer, int $readOffset, int $writeOffset, int $size) : void {}
+ function glUnmapNamedBuffer(int $buffer) : bool {}
+ function glFlushMappedNamedBufferRange(int $buffer, int $offset, int $length) : void {}
+ function glGetNamedBufferParameteriv(int $buffer, int $pname, int &$params) : void {}
+ function glGetNamedBufferParameteri64v(int $buffer, int $pname, int &$params) : void {}
+ function glCreateFramebuffers(int $n, ?int &...$framebuffers) : void {}
+ function glNamedFramebufferRenderbuffer(int $framebuffer, int $attachment, int $renderbuffertarget, int $renderbuffer) : void {}
+ function glNamedFramebufferParameteri(int $framebuffer, int $pname, int $param) : void {}
+ function glNamedFramebufferTexture(int $framebuffer, int $attachment, int $texture, int $level) : void {}
+ function glNamedFramebufferTextureLayer(int $framebuffer, int $attachment, int $texture, int $level, int $layer) : void {}
+ function glNamedFramebufferDrawBuffer(int $framebuffer, int $buf) : void {}
+ function glNamedFramebufferReadBuffer(int $framebuffer, int $src) : void {}
+ function glClearNamedFramebufferiv(int $framebuffer, int $buffer, int $drawbuffer, \GL\Buffer\IntBuffer|array $value) : void {}
+ function glClearNamedFramebufferuiv(int $framebuffer, int $buffer, int $drawbuffer, \GL\Buffer\UIntBuffer|array $value) : void {}
+ function glClearNamedFramebufferfv(int $framebuffer, int $buffer, int $drawbuffer, \GL\Buffer\FloatBuffer|array $value) : void {}
+ function glClearNamedFramebufferfi(int $framebuffer, int $buffer, int $drawbuffer, float $depth, int $stencil) : void {}
+ function glBlitNamedFramebuffer(int $readFramebuffer, int $drawFramebuffer, int $srcX0, int $srcY0, int $srcX1, int $srcY1, int $dstX0, int $dstY0, int $dstX1, int $dstY1, int $mask, int $filter) : void {}
+ function glCheckNamedFramebufferStatus(int $framebuffer, int $target) : int {}
+ function glGetNamedFramebufferParameteriv(int $framebuffer, int $pname, int &$param) : void {}
+ function glGetNamedFramebufferAttachmentParameteriv(int $framebuffer, int $attachment, int $pname, int &$params) : void {}
+ function glCreateRenderbuffers(int $n, ?int &...$renderbuffers) : void {}
+ function glNamedRenderbufferStorage(int $renderbuffer, int $internalformat, int $width, int $height) : void {}
+ function glNamedRenderbufferStorageMultisample(int $renderbuffer, int $samples, int $internalformat, int $width, int $height) : void {}
+ function glGetNamedRenderbufferParameteriv(int $renderbuffer, int $pname, int &$params) : void {}
+ function glCreateTextures(int $target, int $n, int &$textures) : void {}
+ function glTextureBuffer(int $texture, int $internalformat, int $buffer) : void {}
+ function glTextureBufferRange(int $texture, int $internalformat, int $buffer, int $offset, int $size) : void {}
+ function glTextureStorage1D(int $texture, int $levels, int $internalformat, int $width) : void {}
+ function glTextureStorage2D(int $texture, int $levels, int $internalformat, int $width, int $height) : void {}
+ function glTextureStorage3D(int $texture, int $levels, int $internalformat, int $width, int $height, int $depth) : void {}
+ function glTextureStorage2DMultisample(int $texture, int $samples, int $internalformat, int $width, int $height, bool $fixedsamplelocations) : void {}
+ function glTextureStorage3DMultisample(int $texture, int $samples, int $internalformat, int $width, int $height, int $depth, bool $fixedsamplelocations) : void {}
+ function glCopyTextureSubImage1D(int $texture, int $level, int $xoffset, int $x, int $y, int $width) : void {}
+ function glCopyTextureSubImage2D(int $texture, int $level, int $xoffset, int $yoffset, int $x, int $y, int $width, int $height) : void {}
+ function glCopyTextureSubImage3D(int $texture, int $level, int $xoffset, int $yoffset, int $zoffset, int $x, int $y, int $width, int $height) : void {}
+ function glTextureParameterf(int $texture, int $pname, float $param) : void {}
+ function glTextureParameterfv(int $texture, int $pname, \GL\Buffer\FloatBuffer|array $param) : void {}
+ function glTextureParameteri(int $texture, int $pname, int $param) : void {}
+ function glTextureParameterIiv(int $texture, int $pname, \GL\Buffer\IntBuffer|array $params) : void {}
+ function glTextureParameterIuiv(int $texture, int $pname, \GL\Buffer\UIntBuffer|array $params) : void {}
+ function glTextureParameteriv(int $texture, int $pname, \GL\Buffer\IntBuffer|array $param) : void {}
+ function glGenerateTextureMipmap(int $texture) : void {}
+ function glBindTextureUnit(int $unit, int $texture) : void {}
+ function glGetTextureLevelParameterfv(int $texture, int $level, int $pname, float &$params) : void {}
+ function glGetTextureLevelParameteriv(int $texture, int $level, int $pname, int &$params) : void {}
+ function glGetTextureParameterfv(int $texture, int $pname, float &$params) : void {}
+ function glGetTextureParameterIiv(int $texture, int $pname, int &$params) : void {}
+ function glGetTextureParameterIuiv(int $texture, int $pname, int &$params) : void {}
+ function glGetTextureParameteriv(int $texture, int $pname, int &$params) : void {}
+ function glCreateVertexArrays(int $n, ?int &...$arrays) : void {}
+ function glDisableVertexArrayAttrib(int $vaobj, int $index) : void {}
+ function glEnableVertexArrayAttrib(int $vaobj, int $index) : void {}
+ function glVertexArrayElementBuffer(int $vaobj, int $buffer) : void {}
+ function glVertexArrayVertexBuffer(int $vaobj, int $bindingindex, int $buffer, int $offset, int $stride) : void {}
+ function glVertexArrayAttribBinding(int $vaobj, int $attribindex, int $bindingindex) : void {}
+ function glVertexArrayAttribFormat(int $vaobj, int $attribindex, int $size, int $type, bool $normalized, int $relativeoffset) : void {}
+ function glVertexArrayAttribIFormat(int $vaobj, int $attribindex, int $size, int $type, int $relativeoffset) : void {}
+ function glVertexArrayAttribLFormat(int $vaobj, int $attribindex, int $size, int $type, int $relativeoffset) : void {}
+ function glVertexArrayBindingDivisor(int $vaobj, int $bindingindex, int $divisor) : void {}
+ function glGetVertexArrayiv(int $vaobj, int $pname, int &$param) : void {}
+ function glGetVertexArrayIndexediv(int $vaobj, int $index, int $pname, int &$param) : void {}
+ function glGetVertexArrayIndexed64iv(int $vaobj, int $index, int $pname, int &$param) : void {}
+ function glCreateSamplers(int $n, ?int &...$samplers) : void {}
+ function glCreateProgramPipelines(int $n, ?int &...$pipelines) : void {}
+ function glCreateQueries(int $target, int $n, int &$ids) : void {}
+ function glGetQueryBufferObjecti64v(int $id, int $buffer, int $pname, int $offset) : void {}
+ function glGetQueryBufferObjectiv(int $id, int $buffer, int $pname, int $offset) : void {}
+ function glGetQueryBufferObjectui64v(int $id, int $buffer, int $pname, int $offset) : void {}
+ function glGetQueryBufferObjectuiv(int $id, int $buffer, int $pname, int $offset) : void {}
+ function glMemoryBarrierByRegion(int $barriers) : void {}
+ function glGetGraphicsResetStatus() : int {}
+ function glGetnUniformdv(int $program, int $location, int $bufSize, float &$params) : void {}
+ function glGetnUniformfv(int $program, int $location, int $bufSize, float &$params) : void {}
+ function glGetnUniformiv(int $program, int $location, int $bufSize, int &$params) : void {}
+ function glGetnUniformuiv(int $program, int $location, int $bufSize, int &$params) : void {}
+ function glGetnMapdv(int $target, int $query, int $bufSize, float &$v) : void {}
+ function glGetnMapfv(int $target, int $query, int $bufSize, float &$v) : void {}
+ function glGetnMapiv(int $target, int $query, int $bufSize, int &$v) : void {}
+ function glGetnPixelMapfv(int $map, int $bufSize, float &$values) : void {}
+ function glGetnPixelMapuiv(int $map, int $bufSize, int &$values) : void {}
+ function glGetnPixelMapusv(int $map, int $bufSize, int &$values) : void {}
+ function glGetnPolygonStipple(int $bufSize, int &$pattern) : void {}
+ function glTextureBarrier() : void {}
+ function glPolygonOffsetClamp(float $factor, float $units, float $clamp) : void {}
function glfwInit() : int {}
function glfwTerminate() : void {}
function glfwInitHint(int $hint, int $value) : void {}
diff --git a/phpglfw_constants.c b/phpglfw_constants.c
index d0a15545..f28a2244 100644
--- a/phpglfw_constants.c
+++ b/phpglfw_constants.c
@@ -1495,6 +1495,12 @@ void phpglfw_register_constants(INIT_FUNC_ARGS)
#ifdef PHPGLFW_C_GL_FIXED
REGISTER_LONG_CONSTANT("GL_FIXED", PHPGLFW_C_GL_FIXED, CONST_CS|CONST_PERSISTENT);
#endif
+#ifdef PHPGLFW_C_GL_CONTEXT_LOST
+ REGISTER_LONG_CONSTANT("GL_CONTEXT_LOST", PHPGLFW_C_GL_CONTEXT_LOST, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TEXTURE_TARGET
+ REGISTER_LONG_CONSTANT("GL_TEXTURE_TARGET", PHPGLFW_C_GL_TEXTURE_TARGET, CONST_CS|CONST_PERSISTENT);
+#endif
#ifdef PHPGLFW_C_GL_POLYGON_OFFSET_FILL
REGISTER_LONG_CONSTANT("GL_POLYGON_OFFSET_FILL", PHPGLFW_C_GL_POLYGON_OFFSET_FILL, CONST_CS|CONST_PERSISTENT);
#endif
@@ -1819,6 +1825,24 @@ void phpglfw_register_constants(INIT_FUNC_ARGS)
#ifdef PHPGLFW_C_GL_BLEND_EQUATION_RGB
REGISTER_LONG_CONSTANT("GL_BLEND_EQUATION_RGB", PHPGLFW_C_GL_BLEND_EQUATION_RGB, CONST_CS|CONST_PERSISTENT);
#endif
+#ifdef PHPGLFW_C_GL_CONVOLUTION_1D
+ REGISTER_LONG_CONSTANT("GL_CONVOLUTION_1D", PHPGLFW_C_GL_CONVOLUTION_1D, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_CONVOLUTION_2D
+ REGISTER_LONG_CONSTANT("GL_CONVOLUTION_2D", PHPGLFW_C_GL_CONVOLUTION_2D, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_SEPARABLE_2D
+ REGISTER_LONG_CONSTANT("GL_SEPARABLE_2D", PHPGLFW_C_GL_SEPARABLE_2D, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_HISTOGRAM
+ REGISTER_LONG_CONSTANT("GL_HISTOGRAM", PHPGLFW_C_GL_HISTOGRAM, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_PROXY_HISTOGRAM
+ REGISTER_LONG_CONSTANT("GL_PROXY_HISTOGRAM", PHPGLFW_C_GL_PROXY_HISTOGRAM, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MINMAX
+ REGISTER_LONG_CONSTANT("GL_MINMAX", PHPGLFW_C_GL_MINMAX, CONST_CS|CONST_PERSISTENT);
+#endif
#ifdef PHPGLFW_C_GL_CLIENT_PIXEL_STORE_BIT
REGISTER_LONG_CONSTANT("GL_CLIENT_PIXEL_STORE_BIT", PHPGLFW_C_GL_CLIENT_PIXEL_STORE_BIT, CONST_CS|CONST_PERSISTENT);
#endif
@@ -1861,6 +1885,12 @@ void phpglfw_register_constants(INIT_FUNC_ARGS)
#ifdef PHPGLFW_C_GL_MAX_ELEMENTS_INDICES
REGISTER_LONG_CONSTANT("GL_MAX_ELEMENTS_INDICES", PHPGLFW_C_GL_MAX_ELEMENTS_INDICES, CONST_CS|CONST_PERSISTENT);
#endif
+#ifdef PHPGLFW_C_GL_PARAMETER_BUFFER
+ REGISTER_LONG_CONSTANT("GL_PARAMETER_BUFFER", PHPGLFW_C_GL_PARAMETER_BUFFER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_PARAMETER_BUFFER_BINDING
+ REGISTER_LONG_CONSTANT("GL_PARAMETER_BUFFER_BINDING", PHPGLFW_C_GL_PARAMETER_BUFFER_BINDING, CONST_CS|CONST_PERSISTENT);
+#endif
#ifdef PHPGLFW_C_GL_CLAMP_TO_EDGE
REGISTER_LONG_CONSTANT("GL_CLAMP_TO_EDGE", PHPGLFW_C_GL_CLAMP_TO_EDGE, CONST_CS|CONST_PERSISTENT);
#endif
@@ -2194,6 +2224,12 @@ void phpglfw_register_constants(INIT_FUNC_ARGS)
#ifdef PHPGLFW_C_GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER
REGISTER_LONG_CONSTANT("GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER", PHPGLFW_C_GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER, CONST_CS|CONST_PERSISTENT);
#endif
+#ifdef PHPGLFW_C_GL_TEXTURE_MAX_ANISOTROPY
+ REGISTER_LONG_CONSTANT("GL_TEXTURE_MAX_ANISOTROPY", PHPGLFW_C_GL_TEXTURE_MAX_ANISOTROPY, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_TEXTURE_MAX_ANISOTROPY
+ REGISTER_LONG_CONSTANT("GL_MAX_TEXTURE_MAX_ANISOTROPY", PHPGLFW_C_GL_MAX_TEXTURE_MAX_ANISOTROPY, CONST_CS|CONST_PERSISTENT);
+#endif
#ifdef PHPGLFW_C_GL_TEXTURE_COMPRESSED_IMAGE_SIZE
REGISTER_LONG_CONSTANT("GL_TEXTURE_COMPRESSED_IMAGE_SIZE", PHPGLFW_C_GL_TEXTURE_COMPRESSED_IMAGE_SIZE, CONST_CS|CONST_PERSISTENT);
#endif
@@ -3025,6 +3061,9 @@ void phpglfw_register_constants(INIT_FUNC_ARGS)
#ifdef PHPGLFW_C_GL_MIN_SAMPLE_SHADING_VALUE
REGISTER_LONG_CONSTANT("GL_MIN_SAMPLE_SHADING_VALUE", PHPGLFW_C_GL_MIN_SAMPLE_SHADING_VALUE, CONST_CS|CONST_PERSISTENT);
#endif
+#ifdef PHPGLFW_C_GL_TEXTURE_BUFFER_BINDING
+ REGISTER_LONG_CONSTANT("GL_TEXTURE_BUFFER_BINDING", PHPGLFW_C_GL_TEXTURE_BUFFER_BINDING, CONST_CS|CONST_PERSISTENT);
+#endif
#ifdef PHPGLFW_C_GL_MAJOR_VERSION
REGISTER_LONG_CONSTANT("GL_MAJOR_VERSION", PHPGLFW_C_GL_MAJOR_VERSION, CONST_CS|CONST_PERSISTENT);
#endif
@@ -3145,9 +3184,27 @@ void phpglfw_register_constants(INIT_FUNC_ARGS)
#ifdef PHPGLFW_C_GL_RG32UI
REGISTER_LONG_CONSTANT("GL_RG32UI", PHPGLFW_C_GL_RG32UI, CONST_CS|CONST_PERSISTENT);
#endif
+#ifdef PHPGLFW_C_GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED
+ REGISTER_LONG_CONSTANT("GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED", PHPGLFW_C_GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_BUFFER_IMMUTABLE_STORAGE
+ REGISTER_LONG_CONSTANT("GL_BUFFER_IMMUTABLE_STORAGE", PHPGLFW_C_GL_BUFFER_IMMUTABLE_STORAGE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_BUFFER_STORAGE_FLAGS
+ REGISTER_LONG_CONSTANT("GL_BUFFER_STORAGE_FLAGS", PHPGLFW_C_GL_BUFFER_STORAGE_FLAGS, CONST_CS|CONST_PERSISTENT);
+#endif
#ifdef PHPGLFW_C_GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT
REGISTER_LONG_CONSTANT("GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT", PHPGLFW_C_GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT, CONST_CS|CONST_PERSISTENT);
#endif
+#ifdef PHPGLFW_C_GL_CONTEXT_FLAG_DEBUG_BIT
+ REGISTER_LONG_CONSTANT("GL_CONTEXT_FLAG_DEBUG_BIT", PHPGLFW_C_GL_CONTEXT_FLAG_DEBUG_BIT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT
+ REGISTER_LONG_CONSTANT("GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT", PHPGLFW_C_GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_CONTEXT_FLAG_NO_ERROR_BIT
+ REGISTER_LONG_CONSTANT("GL_CONTEXT_FLAG_NO_ERROR_BIT", PHPGLFW_C_GL_CONTEXT_FLAG_NO_ERROR_BIT, CONST_CS|CONST_PERSISTENT);
+#endif
#ifdef PHPGLFW_C_GL_RGBA32UI
REGISTER_LONG_CONSTANT("GL_RGBA32UI", PHPGLFW_C_GL_RGBA32UI, CONST_CS|CONST_PERSISTENT);
#endif
@@ -3520,6 +3577,39 @@ void phpglfw_register_constants(INIT_FUNC_ARGS)
#ifdef PHPGLFW_C_GL_MAX_TRANSFORM_FEEDBACK_BUFFERS
REGISTER_LONG_CONSTANT("GL_MAX_TRANSFORM_FEEDBACK_BUFFERS", PHPGLFW_C_GL_MAX_TRANSFORM_FEEDBACK_BUFFERS, CONST_CS|CONST_PERSISTENT);
#endif
+#ifdef PHPGLFW_C_GL_TRANSFORM_FEEDBACK_ACTIVE
+ REGISTER_LONG_CONSTANT("GL_TRANSFORM_FEEDBACK_ACTIVE", PHPGLFW_C_GL_TRANSFORM_FEEDBACK_ACTIVE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TRANSFORM_FEEDBACK_PAUSED
+ REGISTER_LONG_CONSTANT("GL_TRANSFORM_FEEDBACK_PAUSED", PHPGLFW_C_GL_TRANSFORM_FEEDBACK_PAUSED, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_COMPRESSED_RGBA_BPTC_UNORM
+ REGISTER_LONG_CONSTANT("GL_COMPRESSED_RGBA_BPTC_UNORM", PHPGLFW_C_GL_COMPRESSED_RGBA_BPTC_UNORM, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM
+ REGISTER_LONG_CONSTANT("GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM", PHPGLFW_C_GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT
+ REGISTER_LONG_CONSTANT("GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT", PHPGLFW_C_GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT
+ REGISTER_LONG_CONSTANT("GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT", PHPGLFW_C_GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_QUERY_WAIT_INVERTED
+ REGISTER_LONG_CONSTANT("GL_QUERY_WAIT_INVERTED", PHPGLFW_C_GL_QUERY_WAIT_INVERTED, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_QUERY_NO_WAIT_INVERTED
+ REGISTER_LONG_CONSTANT("GL_QUERY_NO_WAIT_INVERTED", PHPGLFW_C_GL_QUERY_NO_WAIT_INVERTED, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_QUERY_BY_REGION_WAIT_INVERTED
+ REGISTER_LONG_CONSTANT("GL_QUERY_BY_REGION_WAIT_INVERTED", PHPGLFW_C_GL_QUERY_BY_REGION_WAIT_INVERTED, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_QUERY_BY_REGION_NO_WAIT_INVERTED
+ REGISTER_LONG_CONSTANT("GL_QUERY_BY_REGION_NO_WAIT_INVERTED", PHPGLFW_C_GL_QUERY_BY_REGION_NO_WAIT_INVERTED, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_POLYGON_OFFSET_CLAMP
+ REGISTER_LONG_CONSTANT("GL_POLYGON_OFFSET_CLAMP", PHPGLFW_C_GL_POLYGON_OFFSET_CLAMP, CONST_CS|CONST_PERSISTENT);
+#endif
#ifdef PHPGLFW_C_GL_BUFFER_ACCESS_FLAGS
REGISTER_LONG_CONSTANT("GL_BUFFER_ACCESS_FLAGS", PHPGLFW_C_GL_BUFFER_ACCESS_FLAGS, CONST_CS|CONST_PERSISTENT);
#endif
@@ -3634,6 +3724,33 @@ void phpglfw_register_constants(INIT_FUNC_ARGS)
#ifdef PHPGLFW_C_GL_MAX_INTEGER_SAMPLES
REGISTER_LONG_CONSTANT("GL_MAX_INTEGER_SAMPLES", PHPGLFW_C_GL_MAX_INTEGER_SAMPLES, CONST_CS|CONST_PERSISTENT);
#endif
+#ifdef PHPGLFW_C_GL_UNPACK_COMPRESSED_BLOCK_WIDTH
+ REGISTER_LONG_CONSTANT("GL_UNPACK_COMPRESSED_BLOCK_WIDTH", PHPGLFW_C_GL_UNPACK_COMPRESSED_BLOCK_WIDTH, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_UNPACK_COMPRESSED_BLOCK_HEIGHT
+ REGISTER_LONG_CONSTANT("GL_UNPACK_COMPRESSED_BLOCK_HEIGHT", PHPGLFW_C_GL_UNPACK_COMPRESSED_BLOCK_HEIGHT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_UNPACK_COMPRESSED_BLOCK_DEPTH
+ REGISTER_LONG_CONSTANT("GL_UNPACK_COMPRESSED_BLOCK_DEPTH", PHPGLFW_C_GL_UNPACK_COMPRESSED_BLOCK_DEPTH, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_UNPACK_COMPRESSED_BLOCK_SIZE
+ REGISTER_LONG_CONSTANT("GL_UNPACK_COMPRESSED_BLOCK_SIZE", PHPGLFW_C_GL_UNPACK_COMPRESSED_BLOCK_SIZE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_PACK_COMPRESSED_BLOCK_WIDTH
+ REGISTER_LONG_CONSTANT("GL_PACK_COMPRESSED_BLOCK_WIDTH", PHPGLFW_C_GL_PACK_COMPRESSED_BLOCK_WIDTH, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_PACK_COMPRESSED_BLOCK_HEIGHT
+ REGISTER_LONG_CONSTANT("GL_PACK_COMPRESSED_BLOCK_HEIGHT", PHPGLFW_C_GL_PACK_COMPRESSED_BLOCK_HEIGHT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_PACK_COMPRESSED_BLOCK_DEPTH
+ REGISTER_LONG_CONSTANT("GL_PACK_COMPRESSED_BLOCK_DEPTH", PHPGLFW_C_GL_PACK_COMPRESSED_BLOCK_DEPTH, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_PACK_COMPRESSED_BLOCK_SIZE
+ REGISTER_LONG_CONSTANT("GL_PACK_COMPRESSED_BLOCK_SIZE", PHPGLFW_C_GL_PACK_COMPRESSED_BLOCK_SIZE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TEXTURE_IMMUTABLE_FORMAT
+ REGISTER_LONG_CONSTANT("GL_TEXTURE_IMMUTABLE_FORMAT", PHPGLFW_C_GL_TEXTURE_IMMUTABLE_FORMAT, CONST_CS|CONST_PERSISTENT);
+#endif
#ifdef PHPGLFW_C_GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE
REGISTER_LONG_CONSTANT("GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE", PHPGLFW_C_GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, CONST_CS|CONST_PERSISTENT);
#endif
@@ -3841,6 +3958,12 @@ void phpglfw_register_constants(INIT_FUNC_ARGS)
#ifdef PHPGLFW_C_GL_MAP_UNSYNCHRONIZED_BIT
REGISTER_LONG_CONSTANT("GL_MAP_UNSYNCHRONIZED_BIT", PHPGLFW_C_GL_MAP_UNSYNCHRONIZED_BIT, CONST_CS|CONST_PERSISTENT);
#endif
+#ifdef PHPGLFW_C_GL_MAP_PERSISTENT_BIT
+ REGISTER_LONG_CONSTANT("GL_MAP_PERSISTENT_BIT", PHPGLFW_C_GL_MAP_PERSISTENT_BIT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAP_COHERENT_BIT
+ REGISTER_LONG_CONSTANT("GL_MAP_COHERENT_BIT", PHPGLFW_C_GL_MAP_COHERENT_BIT, CONST_CS|CONST_PERSISTENT);
+#endif
#ifdef PHPGLFW_C_GL_VERTEX_ARRAY_BINDING
REGISTER_LONG_CONSTANT("GL_VERTEX_ARRAY_BINDING", PHPGLFW_C_GL_VERTEX_ARRAY_BINDING, CONST_CS|CONST_PERSISTENT);
#endif
@@ -3916,6 +4039,39 @@ void phpglfw_register_constants(INIT_FUNC_ARGS)
#ifdef PHPGLFW_C_GL_DOUBLE_MAT4x3
REGISTER_LONG_CONSTANT("GL_DOUBLE_MAT4x3", PHPGLFW_C_GL_DOUBLE_MAT4x3, CONST_CS|CONST_PERSISTENT);
#endif
+#ifdef PHPGLFW_C_GL_COPY_READ_BUFFER_BINDING
+ REGISTER_LONG_CONSTANT("GL_COPY_READ_BUFFER_BINDING", PHPGLFW_C_GL_COPY_READ_BUFFER_BINDING, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_COPY_WRITE_BUFFER_BINDING
+ REGISTER_LONG_CONSTANT("GL_COPY_WRITE_BUFFER_BINDING", PHPGLFW_C_GL_COPY_WRITE_BUFFER_BINDING, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_IMAGE_UNITS
+ REGISTER_LONG_CONSTANT("GL_MAX_IMAGE_UNITS", PHPGLFW_C_GL_MAX_IMAGE_UNITS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS
+ REGISTER_LONG_CONSTANT("GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS", PHPGLFW_C_GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_BINDING_NAME
+ REGISTER_LONG_CONSTANT("GL_IMAGE_BINDING_NAME", PHPGLFW_C_GL_IMAGE_BINDING_NAME, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_BINDING_LEVEL
+ REGISTER_LONG_CONSTANT("GL_IMAGE_BINDING_LEVEL", PHPGLFW_C_GL_IMAGE_BINDING_LEVEL, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_BINDING_LAYERED
+ REGISTER_LONG_CONSTANT("GL_IMAGE_BINDING_LAYERED", PHPGLFW_C_GL_IMAGE_BINDING_LAYERED, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_BINDING_LAYER
+ REGISTER_LONG_CONSTANT("GL_IMAGE_BINDING_LAYER", PHPGLFW_C_GL_IMAGE_BINDING_LAYER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_BINDING_ACCESS
+ REGISTER_LONG_CONSTANT("GL_IMAGE_BINDING_ACCESS", PHPGLFW_C_GL_IMAGE_BINDING_ACCESS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES
+ REGISTER_LONG_CONSTANT("GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES", PHPGLFW_C_GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_VERTEX_BINDING_BUFFER
+ REGISTER_LONG_CONSTANT("GL_VERTEX_BINDING_BUFFER", PHPGLFW_C_GL_VERTEX_BINDING_BUFFER, CONST_CS|CONST_PERSISTENT);
+#endif
#ifdef PHPGLFW_C_GL_UNIFORM_BUFFER
REGISTER_LONG_CONSTANT("GL_UNIFORM_BUFFER", PHPGLFW_C_GL_UNIFORM_BUFFER, CONST_CS|CONST_PERSISTENT);
#endif
@@ -4024,6 +4180,201 @@ void phpglfw_register_constants(INIT_FUNC_ARGS)
#ifdef PHPGLFW_C_GL_RGB10_A2UI
REGISTER_LONG_CONSTANT("GL_RGB10_A2UI", PHPGLFW_C_GL_RGB10_A2UI, CONST_CS|CONST_PERSISTENT);
#endif
+#ifdef PHPGLFW_C_GL_MIN_MAP_BUFFER_ALIGNMENT
+ REGISTER_LONG_CONSTANT("GL_MIN_MAP_BUFFER_ALIGNMENT", PHPGLFW_C_GL_MIN_MAP_BUFFER_ALIGNMENT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_1D
+ REGISTER_LONG_CONSTANT("GL_IMAGE_1D", PHPGLFW_C_GL_IMAGE_1D, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_2D
+ REGISTER_LONG_CONSTANT("GL_IMAGE_2D", PHPGLFW_C_GL_IMAGE_2D, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_3D
+ REGISTER_LONG_CONSTANT("GL_IMAGE_3D", PHPGLFW_C_GL_IMAGE_3D, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_2D_RECT
+ REGISTER_LONG_CONSTANT("GL_IMAGE_2D_RECT", PHPGLFW_C_GL_IMAGE_2D_RECT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_CUBE
+ REGISTER_LONG_CONSTANT("GL_IMAGE_CUBE", PHPGLFW_C_GL_IMAGE_CUBE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_BUFFER
+ REGISTER_LONG_CONSTANT("GL_IMAGE_BUFFER", PHPGLFW_C_GL_IMAGE_BUFFER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_1D_ARRAY
+ REGISTER_LONG_CONSTANT("GL_IMAGE_1D_ARRAY", PHPGLFW_C_GL_IMAGE_1D_ARRAY, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_2D_ARRAY
+ REGISTER_LONG_CONSTANT("GL_IMAGE_2D_ARRAY", PHPGLFW_C_GL_IMAGE_2D_ARRAY, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_CUBE_MAP_ARRAY
+ REGISTER_LONG_CONSTANT("GL_IMAGE_CUBE_MAP_ARRAY", PHPGLFW_C_GL_IMAGE_CUBE_MAP_ARRAY, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_2D_MULTISAMPLE
+ REGISTER_LONG_CONSTANT("GL_IMAGE_2D_MULTISAMPLE", PHPGLFW_C_GL_IMAGE_2D_MULTISAMPLE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_2D_MULTISAMPLE_ARRAY
+ REGISTER_LONG_CONSTANT("GL_IMAGE_2D_MULTISAMPLE_ARRAY", PHPGLFW_C_GL_IMAGE_2D_MULTISAMPLE_ARRAY, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_INT_IMAGE_1D
+ REGISTER_LONG_CONSTANT("GL_INT_IMAGE_1D", PHPGLFW_C_GL_INT_IMAGE_1D, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_INT_IMAGE_2D
+ REGISTER_LONG_CONSTANT("GL_INT_IMAGE_2D", PHPGLFW_C_GL_INT_IMAGE_2D, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_INT_IMAGE_3D
+ REGISTER_LONG_CONSTANT("GL_INT_IMAGE_3D", PHPGLFW_C_GL_INT_IMAGE_3D, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_INT_IMAGE_2D_RECT
+ REGISTER_LONG_CONSTANT("GL_INT_IMAGE_2D_RECT", PHPGLFW_C_GL_INT_IMAGE_2D_RECT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_INT_IMAGE_CUBE
+ REGISTER_LONG_CONSTANT("GL_INT_IMAGE_CUBE", PHPGLFW_C_GL_INT_IMAGE_CUBE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_INT_IMAGE_BUFFER
+ REGISTER_LONG_CONSTANT("GL_INT_IMAGE_BUFFER", PHPGLFW_C_GL_INT_IMAGE_BUFFER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_INT_IMAGE_1D_ARRAY
+ REGISTER_LONG_CONSTANT("GL_INT_IMAGE_1D_ARRAY", PHPGLFW_C_GL_INT_IMAGE_1D_ARRAY, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_INT_IMAGE_2D_ARRAY
+ REGISTER_LONG_CONSTANT("GL_INT_IMAGE_2D_ARRAY", PHPGLFW_C_GL_INT_IMAGE_2D_ARRAY, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_INT_IMAGE_CUBE_MAP_ARRAY
+ REGISTER_LONG_CONSTANT("GL_INT_IMAGE_CUBE_MAP_ARRAY", PHPGLFW_C_GL_INT_IMAGE_CUBE_MAP_ARRAY, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_INT_IMAGE_2D_MULTISAMPLE
+ REGISTER_LONG_CONSTANT("GL_INT_IMAGE_2D_MULTISAMPLE", PHPGLFW_C_GL_INT_IMAGE_2D_MULTISAMPLE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY
+ REGISTER_LONG_CONSTANT("GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY", PHPGLFW_C_GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_UNSIGNED_INT_IMAGE_1D
+ REGISTER_LONG_CONSTANT("GL_UNSIGNED_INT_IMAGE_1D", PHPGLFW_C_GL_UNSIGNED_INT_IMAGE_1D, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_UNSIGNED_INT_IMAGE_2D
+ REGISTER_LONG_CONSTANT("GL_UNSIGNED_INT_IMAGE_2D", PHPGLFW_C_GL_UNSIGNED_INT_IMAGE_2D, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_UNSIGNED_INT_IMAGE_3D
+ REGISTER_LONG_CONSTANT("GL_UNSIGNED_INT_IMAGE_3D", PHPGLFW_C_GL_UNSIGNED_INT_IMAGE_3D, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_UNSIGNED_INT_IMAGE_2D_RECT
+ REGISTER_LONG_CONSTANT("GL_UNSIGNED_INT_IMAGE_2D_RECT", PHPGLFW_C_GL_UNSIGNED_INT_IMAGE_2D_RECT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_UNSIGNED_INT_IMAGE_CUBE
+ REGISTER_LONG_CONSTANT("GL_UNSIGNED_INT_IMAGE_CUBE", PHPGLFW_C_GL_UNSIGNED_INT_IMAGE_CUBE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_UNSIGNED_INT_IMAGE_BUFFER
+ REGISTER_LONG_CONSTANT("GL_UNSIGNED_INT_IMAGE_BUFFER", PHPGLFW_C_GL_UNSIGNED_INT_IMAGE_BUFFER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_UNSIGNED_INT_IMAGE_1D_ARRAY
+ REGISTER_LONG_CONSTANT("GL_UNSIGNED_INT_IMAGE_1D_ARRAY", PHPGLFW_C_GL_UNSIGNED_INT_IMAGE_1D_ARRAY, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_UNSIGNED_INT_IMAGE_2D_ARRAY
+ REGISTER_LONG_CONSTANT("GL_UNSIGNED_INT_IMAGE_2D_ARRAY", PHPGLFW_C_GL_UNSIGNED_INT_IMAGE_2D_ARRAY, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY
+ REGISTER_LONG_CONSTANT("GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY", PHPGLFW_C_GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE
+ REGISTER_LONG_CONSTANT("GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE", PHPGLFW_C_GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY
+ REGISTER_LONG_CONSTANT("GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY", PHPGLFW_C_GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_IMAGE_SAMPLES
+ REGISTER_LONG_CONSTANT("GL_MAX_IMAGE_SAMPLES", PHPGLFW_C_GL_MAX_IMAGE_SAMPLES, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_BINDING_FORMAT
+ REGISTER_LONG_CONSTANT("GL_IMAGE_BINDING_FORMAT", PHPGLFW_C_GL_IMAGE_BINDING_FORMAT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_FORMAT_COMPATIBILITY_TYPE
+ REGISTER_LONG_CONSTANT("GL_IMAGE_FORMAT_COMPATIBILITY_TYPE", PHPGLFW_C_GL_IMAGE_FORMAT_COMPATIBILITY_TYPE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE
+ REGISTER_LONG_CONSTANT("GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE", PHPGLFW_C_GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS
+ REGISTER_LONG_CONSTANT("GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS", PHPGLFW_C_GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_VERTEX_IMAGE_UNIFORMS
+ REGISTER_LONG_CONSTANT("GL_MAX_VERTEX_IMAGE_UNIFORMS", PHPGLFW_C_GL_MAX_VERTEX_IMAGE_UNIFORMS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS
+ REGISTER_LONG_CONSTANT("GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS", PHPGLFW_C_GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS
+ REGISTER_LONG_CONSTANT("GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS", PHPGLFW_C_GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_GEOMETRY_IMAGE_UNIFORMS
+ REGISTER_LONG_CONSTANT("GL_MAX_GEOMETRY_IMAGE_UNIFORMS", PHPGLFW_C_GL_MAX_GEOMETRY_IMAGE_UNIFORMS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_FRAGMENT_IMAGE_UNIFORMS
+ REGISTER_LONG_CONSTANT("GL_MAX_FRAGMENT_IMAGE_UNIFORMS", PHPGLFW_C_GL_MAX_FRAGMENT_IMAGE_UNIFORMS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_COMBINED_IMAGE_UNIFORMS
+ REGISTER_LONG_CONSTANT("GL_MAX_COMBINED_IMAGE_UNIFORMS", PHPGLFW_C_GL_MAX_COMBINED_IMAGE_UNIFORMS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS
+ REGISTER_LONG_CONSTANT("GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS", PHPGLFW_C_GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER
+ REGISTER_LONG_CONSTANT("GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER", PHPGLFW_C_GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER
+ REGISTER_LONG_CONSTANT("GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER", PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_DISPATCH_INDIRECT_BUFFER
+ REGISTER_LONG_CONSTANT("GL_DISPATCH_INDIRECT_BUFFER", PHPGLFW_C_GL_DISPATCH_INDIRECT_BUFFER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_DISPATCH_INDIRECT_BUFFER_BINDING
+ REGISTER_LONG_CONSTANT("GL_DISPATCH_INDIRECT_BUFFER_BINDING", PHPGLFW_C_GL_DISPATCH_INDIRECT_BUFFER_BINDING, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_SHADER_STORAGE_BUFFER
+ REGISTER_LONG_CONSTANT("GL_SHADER_STORAGE_BUFFER", PHPGLFW_C_GL_SHADER_STORAGE_BUFFER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_SHADER_STORAGE_BUFFER_BINDING
+ REGISTER_LONG_CONSTANT("GL_SHADER_STORAGE_BUFFER_BINDING", PHPGLFW_C_GL_SHADER_STORAGE_BUFFER_BINDING, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_SHADER_STORAGE_BUFFER_START
+ REGISTER_LONG_CONSTANT("GL_SHADER_STORAGE_BUFFER_START", PHPGLFW_C_GL_SHADER_STORAGE_BUFFER_START, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_SHADER_STORAGE_BUFFER_SIZE
+ REGISTER_LONG_CONSTANT("GL_SHADER_STORAGE_BUFFER_SIZE", PHPGLFW_C_GL_SHADER_STORAGE_BUFFER_SIZE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS
+ REGISTER_LONG_CONSTANT("GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS", PHPGLFW_C_GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS
+ REGISTER_LONG_CONSTANT("GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS", PHPGLFW_C_GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS
+ REGISTER_LONG_CONSTANT("GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS", PHPGLFW_C_GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS
+ REGISTER_LONG_CONSTANT("GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS", PHPGLFW_C_GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS
+ REGISTER_LONG_CONSTANT("GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS", PHPGLFW_C_GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS
+ REGISTER_LONG_CONSTANT("GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS", PHPGLFW_C_GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS
+ REGISTER_LONG_CONSTANT("GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS", PHPGLFW_C_GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS
+ REGISTER_LONG_CONSTANT("GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS", PHPGLFW_C_GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_SHADER_STORAGE_BLOCK_SIZE
+ REGISTER_LONG_CONSTANT("GL_MAX_SHADER_STORAGE_BLOCK_SIZE", PHPGLFW_C_GL_MAX_SHADER_STORAGE_BLOCK_SIZE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT
+ REGISTER_LONG_CONSTANT("GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT", PHPGLFW_C_GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_DEPTH_STENCIL_TEXTURE_MODE
+ REGISTER_LONG_CONSTANT("GL_DEPTH_STENCIL_TEXTURE_MODE", PHPGLFW_C_GL_DEPTH_STENCIL_TEXTURE_MODE, CONST_CS|CONST_PERSISTENT);
+#endif
#ifdef PHPGLFW_C_GL_TEXTURE_CUBE_MAP_ARRAY
REGISTER_LONG_CONSTANT("GL_TEXTURE_CUBE_MAP_ARRAY", PHPGLFW_C_GL_TEXTURE_CUBE_MAP_ARRAY, CONST_CS|CONST_PERSISTENT);
#endif
@@ -4099,6 +4450,15 @@ void phpglfw_register_constants(INIT_FUNC_ARGS)
#ifdef PHPGLFW_C_GL_RGB565
REGISTER_LONG_CONSTANT("GL_RGB565", PHPGLFW_C_GL_RGB565, CONST_CS|CONST_PERSISTENT);
#endif
+#ifdef PHPGLFW_C_GL_PRIMITIVE_RESTART_FIXED_INDEX
+ REGISTER_LONG_CONSTANT("GL_PRIMITIVE_RESTART_FIXED_INDEX", PHPGLFW_C_GL_PRIMITIVE_RESTART_FIXED_INDEX, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_ANY_SAMPLES_PASSED_CONSERVATIVE
+ REGISTER_LONG_CONSTANT("GL_ANY_SAMPLES_PASSED_CONSERVATIVE", PHPGLFW_C_GL_ANY_SAMPLES_PASSED_CONSERVATIVE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_ELEMENT_INDEX
+ REGISTER_LONG_CONSTANT("GL_MAX_ELEMENT_INDEX", PHPGLFW_C_GL_MAX_ELEMENT_INDEX, CONST_CS|CONST_PERSISTENT);
+#endif
#ifdef PHPGLFW_C_GL_PROGRAM_BINARY_RETRIEVABLE_HINT
REGISTER_LONG_CONSTANT("GL_PROGRAM_BINARY_RETRIEVABLE_HINT", PHPGLFW_C_GL_PROGRAM_BINARY_RETRIEVABLE_HINT, CONST_CS|CONST_PERSISTENT);
#endif
@@ -4129,9 +4489,309 @@ void phpglfw_register_constants(INIT_FUNC_ARGS)
#ifdef PHPGLFW_C_GL_UNDEFINED_VERTEX
REGISTER_LONG_CONSTANT("GL_UNDEFINED_VERTEX", PHPGLFW_C_GL_UNDEFINED_VERTEX, CONST_CS|CONST_PERSISTENT);
#endif
+#ifdef PHPGLFW_C_GL_MAX_COMPUTE_SHARED_MEMORY_SIZE
+ REGISTER_LONG_CONSTANT("GL_MAX_COMPUTE_SHARED_MEMORY_SIZE", PHPGLFW_C_GL_MAX_COMPUTE_SHARED_MEMORY_SIZE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_COMPUTE_UNIFORM_COMPONENTS
+ REGISTER_LONG_CONSTANT("GL_MAX_COMPUTE_UNIFORM_COMPONENTS", PHPGLFW_C_GL_MAX_COMPUTE_UNIFORM_COMPONENTS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS
+ REGISTER_LONG_CONSTANT("GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS", PHPGLFW_C_GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_COMPUTE_ATOMIC_COUNTERS
+ REGISTER_LONG_CONSTANT("GL_MAX_COMPUTE_ATOMIC_COUNTERS", PHPGLFW_C_GL_MAX_COMPUTE_ATOMIC_COUNTERS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS
+ REGISTER_LONG_CONSTANT("GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS", PHPGLFW_C_GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_COMPUTE_WORK_GROUP_SIZE
+ REGISTER_LONG_CONSTANT("GL_COMPUTE_WORK_GROUP_SIZE", PHPGLFW_C_GL_COMPUTE_WORK_GROUP_SIZE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_DEBUG_OUTPUT_SYNCHRONOUS
+ REGISTER_LONG_CONSTANT("GL_DEBUG_OUTPUT_SYNCHRONOUS", PHPGLFW_C_GL_DEBUG_OUTPUT_SYNCHRONOUS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH
+ REGISTER_LONG_CONSTANT("GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH", PHPGLFW_C_GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_DEBUG_CALLBACK_FUNCTION
+ REGISTER_LONG_CONSTANT("GL_DEBUG_CALLBACK_FUNCTION", PHPGLFW_C_GL_DEBUG_CALLBACK_FUNCTION, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_DEBUG_CALLBACK_USER_PARAM
+ REGISTER_LONG_CONSTANT("GL_DEBUG_CALLBACK_USER_PARAM", PHPGLFW_C_GL_DEBUG_CALLBACK_USER_PARAM, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_DEBUG_SOURCE_API
+ REGISTER_LONG_CONSTANT("GL_DEBUG_SOURCE_API", PHPGLFW_C_GL_DEBUG_SOURCE_API, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_DEBUG_SOURCE_WINDOW_SYSTEM
+ REGISTER_LONG_CONSTANT("GL_DEBUG_SOURCE_WINDOW_SYSTEM", PHPGLFW_C_GL_DEBUG_SOURCE_WINDOW_SYSTEM, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_DEBUG_SOURCE_SHADER_COMPILER
+ REGISTER_LONG_CONSTANT("GL_DEBUG_SOURCE_SHADER_COMPILER", PHPGLFW_C_GL_DEBUG_SOURCE_SHADER_COMPILER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_DEBUG_SOURCE_THIRD_PARTY
+ REGISTER_LONG_CONSTANT("GL_DEBUG_SOURCE_THIRD_PARTY", PHPGLFW_C_GL_DEBUG_SOURCE_THIRD_PARTY, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_DEBUG_SOURCE_APPLICATION
+ REGISTER_LONG_CONSTANT("GL_DEBUG_SOURCE_APPLICATION", PHPGLFW_C_GL_DEBUG_SOURCE_APPLICATION, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_DEBUG_SOURCE_OTHER
+ REGISTER_LONG_CONSTANT("GL_DEBUG_SOURCE_OTHER", PHPGLFW_C_GL_DEBUG_SOURCE_OTHER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_DEBUG_TYPE_ERROR
+ REGISTER_LONG_CONSTANT("GL_DEBUG_TYPE_ERROR", PHPGLFW_C_GL_DEBUG_TYPE_ERROR, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR
+ REGISTER_LONG_CONSTANT("GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR", PHPGLFW_C_GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR
+ REGISTER_LONG_CONSTANT("GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR", PHPGLFW_C_GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_DEBUG_TYPE_PORTABILITY
+ REGISTER_LONG_CONSTANT("GL_DEBUG_TYPE_PORTABILITY", PHPGLFW_C_GL_DEBUG_TYPE_PORTABILITY, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_DEBUG_TYPE_PERFORMANCE
+ REGISTER_LONG_CONSTANT("GL_DEBUG_TYPE_PERFORMANCE", PHPGLFW_C_GL_DEBUG_TYPE_PERFORMANCE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_DEBUG_TYPE_OTHER
+ REGISTER_LONG_CONSTANT("GL_DEBUG_TYPE_OTHER", PHPGLFW_C_GL_DEBUG_TYPE_OTHER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_DEBUG_TYPE_MARKER
+ REGISTER_LONG_CONSTANT("GL_DEBUG_TYPE_MARKER", PHPGLFW_C_GL_DEBUG_TYPE_MARKER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_DEBUG_TYPE_PUSH_GROUP
+ REGISTER_LONG_CONSTANT("GL_DEBUG_TYPE_PUSH_GROUP", PHPGLFW_C_GL_DEBUG_TYPE_PUSH_GROUP, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_DEBUG_TYPE_POP_GROUP
+ REGISTER_LONG_CONSTANT("GL_DEBUG_TYPE_POP_GROUP", PHPGLFW_C_GL_DEBUG_TYPE_POP_GROUP, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_DEBUG_SEVERITY_NOTIFICATION
+ REGISTER_LONG_CONSTANT("GL_DEBUG_SEVERITY_NOTIFICATION", PHPGLFW_C_GL_DEBUG_SEVERITY_NOTIFICATION, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_DEBUG_GROUP_STACK_DEPTH
+ REGISTER_LONG_CONSTANT("GL_MAX_DEBUG_GROUP_STACK_DEPTH", PHPGLFW_C_GL_MAX_DEBUG_GROUP_STACK_DEPTH, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_DEBUG_GROUP_STACK_DEPTH
+ REGISTER_LONG_CONSTANT("GL_DEBUG_GROUP_STACK_DEPTH", PHPGLFW_C_GL_DEBUG_GROUP_STACK_DEPTH, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_UNIFORM_LOCATIONS
+ REGISTER_LONG_CONSTANT("GL_MAX_UNIFORM_LOCATIONS", PHPGLFW_C_GL_MAX_UNIFORM_LOCATIONS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_INTERNALFORMAT_SUPPORTED
+ REGISTER_LONG_CONSTANT("GL_INTERNALFORMAT_SUPPORTED", PHPGLFW_C_GL_INTERNALFORMAT_SUPPORTED, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_INTERNALFORMAT_PREFERRED
+ REGISTER_LONG_CONSTANT("GL_INTERNALFORMAT_PREFERRED", PHPGLFW_C_GL_INTERNALFORMAT_PREFERRED, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_INTERNALFORMAT_RED_SIZE
+ REGISTER_LONG_CONSTANT("GL_INTERNALFORMAT_RED_SIZE", PHPGLFW_C_GL_INTERNALFORMAT_RED_SIZE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_INTERNALFORMAT_GREEN_SIZE
+ REGISTER_LONG_CONSTANT("GL_INTERNALFORMAT_GREEN_SIZE", PHPGLFW_C_GL_INTERNALFORMAT_GREEN_SIZE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_INTERNALFORMAT_BLUE_SIZE
+ REGISTER_LONG_CONSTANT("GL_INTERNALFORMAT_BLUE_SIZE", PHPGLFW_C_GL_INTERNALFORMAT_BLUE_SIZE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_INTERNALFORMAT_ALPHA_SIZE
+ REGISTER_LONG_CONSTANT("GL_INTERNALFORMAT_ALPHA_SIZE", PHPGLFW_C_GL_INTERNALFORMAT_ALPHA_SIZE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_INTERNALFORMAT_DEPTH_SIZE
+ REGISTER_LONG_CONSTANT("GL_INTERNALFORMAT_DEPTH_SIZE", PHPGLFW_C_GL_INTERNALFORMAT_DEPTH_SIZE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_INTERNALFORMAT_STENCIL_SIZE
+ REGISTER_LONG_CONSTANT("GL_INTERNALFORMAT_STENCIL_SIZE", PHPGLFW_C_GL_INTERNALFORMAT_STENCIL_SIZE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_INTERNALFORMAT_SHARED_SIZE
+ REGISTER_LONG_CONSTANT("GL_INTERNALFORMAT_SHARED_SIZE", PHPGLFW_C_GL_INTERNALFORMAT_SHARED_SIZE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_INTERNALFORMAT_RED_TYPE
+ REGISTER_LONG_CONSTANT("GL_INTERNALFORMAT_RED_TYPE", PHPGLFW_C_GL_INTERNALFORMAT_RED_TYPE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_INTERNALFORMAT_GREEN_TYPE
+ REGISTER_LONG_CONSTANT("GL_INTERNALFORMAT_GREEN_TYPE", PHPGLFW_C_GL_INTERNALFORMAT_GREEN_TYPE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_INTERNALFORMAT_BLUE_TYPE
+ REGISTER_LONG_CONSTANT("GL_INTERNALFORMAT_BLUE_TYPE", PHPGLFW_C_GL_INTERNALFORMAT_BLUE_TYPE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_INTERNALFORMAT_ALPHA_TYPE
+ REGISTER_LONG_CONSTANT("GL_INTERNALFORMAT_ALPHA_TYPE", PHPGLFW_C_GL_INTERNALFORMAT_ALPHA_TYPE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_INTERNALFORMAT_DEPTH_TYPE
+ REGISTER_LONG_CONSTANT("GL_INTERNALFORMAT_DEPTH_TYPE", PHPGLFW_C_GL_INTERNALFORMAT_DEPTH_TYPE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_INTERNALFORMAT_STENCIL_TYPE
+ REGISTER_LONG_CONSTANT("GL_INTERNALFORMAT_STENCIL_TYPE", PHPGLFW_C_GL_INTERNALFORMAT_STENCIL_TYPE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_WIDTH
+ REGISTER_LONG_CONSTANT("GL_MAX_WIDTH", PHPGLFW_C_GL_MAX_WIDTH, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_HEIGHT
+ REGISTER_LONG_CONSTANT("GL_MAX_HEIGHT", PHPGLFW_C_GL_MAX_HEIGHT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_DEPTH
+ REGISTER_LONG_CONSTANT("GL_MAX_DEPTH", PHPGLFW_C_GL_MAX_DEPTH, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_LAYERS
+ REGISTER_LONG_CONSTANT("GL_MAX_LAYERS", PHPGLFW_C_GL_MAX_LAYERS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_COMBINED_DIMENSIONS
+ REGISTER_LONG_CONSTANT("GL_MAX_COMBINED_DIMENSIONS", PHPGLFW_C_GL_MAX_COMBINED_DIMENSIONS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_COLOR_COMPONENTS
+ REGISTER_LONG_CONSTANT("GL_COLOR_COMPONENTS", PHPGLFW_C_GL_COLOR_COMPONENTS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_DEPTH_COMPONENTS
+ REGISTER_LONG_CONSTANT("GL_DEPTH_COMPONENTS", PHPGLFW_C_GL_DEPTH_COMPONENTS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_STENCIL_COMPONENTS
+ REGISTER_LONG_CONSTANT("GL_STENCIL_COMPONENTS", PHPGLFW_C_GL_STENCIL_COMPONENTS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_COLOR_RENDERABLE
+ REGISTER_LONG_CONSTANT("GL_COLOR_RENDERABLE", PHPGLFW_C_GL_COLOR_RENDERABLE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_DEPTH_RENDERABLE
+ REGISTER_LONG_CONSTANT("GL_DEPTH_RENDERABLE", PHPGLFW_C_GL_DEPTH_RENDERABLE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_STENCIL_RENDERABLE
+ REGISTER_LONG_CONSTANT("GL_STENCIL_RENDERABLE", PHPGLFW_C_GL_STENCIL_RENDERABLE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_FRAMEBUFFER_RENDERABLE
+ REGISTER_LONG_CONSTANT("GL_FRAMEBUFFER_RENDERABLE", PHPGLFW_C_GL_FRAMEBUFFER_RENDERABLE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_FRAMEBUFFER_RENDERABLE_LAYERED
+ REGISTER_LONG_CONSTANT("GL_FRAMEBUFFER_RENDERABLE_LAYERED", PHPGLFW_C_GL_FRAMEBUFFER_RENDERABLE_LAYERED, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_FRAMEBUFFER_BLEND
+ REGISTER_LONG_CONSTANT("GL_FRAMEBUFFER_BLEND", PHPGLFW_C_GL_FRAMEBUFFER_BLEND, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_READ_PIXELS
+ REGISTER_LONG_CONSTANT("GL_READ_PIXELS", PHPGLFW_C_GL_READ_PIXELS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_READ_PIXELS_FORMAT
+ REGISTER_LONG_CONSTANT("GL_READ_PIXELS_FORMAT", PHPGLFW_C_GL_READ_PIXELS_FORMAT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_READ_PIXELS_TYPE
+ REGISTER_LONG_CONSTANT("GL_READ_PIXELS_TYPE", PHPGLFW_C_GL_READ_PIXELS_TYPE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TEXTURE_IMAGE_FORMAT
+ REGISTER_LONG_CONSTANT("GL_TEXTURE_IMAGE_FORMAT", PHPGLFW_C_GL_TEXTURE_IMAGE_FORMAT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TEXTURE_IMAGE_TYPE
+ REGISTER_LONG_CONSTANT("GL_TEXTURE_IMAGE_TYPE", PHPGLFW_C_GL_TEXTURE_IMAGE_TYPE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_GET_TEXTURE_IMAGE_FORMAT
+ REGISTER_LONG_CONSTANT("GL_GET_TEXTURE_IMAGE_FORMAT", PHPGLFW_C_GL_GET_TEXTURE_IMAGE_FORMAT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_GET_TEXTURE_IMAGE_TYPE
+ REGISTER_LONG_CONSTANT("GL_GET_TEXTURE_IMAGE_TYPE", PHPGLFW_C_GL_GET_TEXTURE_IMAGE_TYPE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MIPMAP
+ REGISTER_LONG_CONSTANT("GL_MIPMAP", PHPGLFW_C_GL_MIPMAP, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MANUAL_GENERATE_MIPMAP
+ REGISTER_LONG_CONSTANT("GL_MANUAL_GENERATE_MIPMAP", PHPGLFW_C_GL_MANUAL_GENERATE_MIPMAP, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_AUTO_GENERATE_MIPMAP
+ REGISTER_LONG_CONSTANT("GL_AUTO_GENERATE_MIPMAP", PHPGLFW_C_GL_AUTO_GENERATE_MIPMAP, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_COLOR_ENCODING
+ REGISTER_LONG_CONSTANT("GL_COLOR_ENCODING", PHPGLFW_C_GL_COLOR_ENCODING, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_SRGB_READ
+ REGISTER_LONG_CONSTANT("GL_SRGB_READ", PHPGLFW_C_GL_SRGB_READ, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_SRGB_WRITE
+ REGISTER_LONG_CONSTANT("GL_SRGB_WRITE", PHPGLFW_C_GL_SRGB_WRITE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_FILTER
+ REGISTER_LONG_CONSTANT("GL_FILTER", PHPGLFW_C_GL_FILTER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_VERTEX_TEXTURE
+ REGISTER_LONG_CONSTANT("GL_VERTEX_TEXTURE", PHPGLFW_C_GL_VERTEX_TEXTURE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TESS_CONTROL_TEXTURE
+ REGISTER_LONG_CONSTANT("GL_TESS_CONTROL_TEXTURE", PHPGLFW_C_GL_TESS_CONTROL_TEXTURE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TESS_EVALUATION_TEXTURE
+ REGISTER_LONG_CONSTANT("GL_TESS_EVALUATION_TEXTURE", PHPGLFW_C_GL_TESS_EVALUATION_TEXTURE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_GEOMETRY_TEXTURE
+ REGISTER_LONG_CONSTANT("GL_GEOMETRY_TEXTURE", PHPGLFW_C_GL_GEOMETRY_TEXTURE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_FRAGMENT_TEXTURE
+ REGISTER_LONG_CONSTANT("GL_FRAGMENT_TEXTURE", PHPGLFW_C_GL_FRAGMENT_TEXTURE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_COMPUTE_TEXTURE
+ REGISTER_LONG_CONSTANT("GL_COMPUTE_TEXTURE", PHPGLFW_C_GL_COMPUTE_TEXTURE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TEXTURE_SHADOW
+ REGISTER_LONG_CONSTANT("GL_TEXTURE_SHADOW", PHPGLFW_C_GL_TEXTURE_SHADOW, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TEXTURE_GATHER
+ REGISTER_LONG_CONSTANT("GL_TEXTURE_GATHER", PHPGLFW_C_GL_TEXTURE_GATHER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TEXTURE_GATHER_SHADOW
+ REGISTER_LONG_CONSTANT("GL_TEXTURE_GATHER_SHADOW", PHPGLFW_C_GL_TEXTURE_GATHER_SHADOW, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_SHADER_IMAGE_LOAD
+ REGISTER_LONG_CONSTANT("GL_SHADER_IMAGE_LOAD", PHPGLFW_C_GL_SHADER_IMAGE_LOAD, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_SHADER_IMAGE_STORE
+ REGISTER_LONG_CONSTANT("GL_SHADER_IMAGE_STORE", PHPGLFW_C_GL_SHADER_IMAGE_STORE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_SHADER_IMAGE_ATOMIC
+ REGISTER_LONG_CONSTANT("GL_SHADER_IMAGE_ATOMIC", PHPGLFW_C_GL_SHADER_IMAGE_ATOMIC, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_TEXEL_SIZE
+ REGISTER_LONG_CONSTANT("GL_IMAGE_TEXEL_SIZE", PHPGLFW_C_GL_IMAGE_TEXEL_SIZE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_COMPATIBILITY_CLASS
+ REGISTER_LONG_CONSTANT("GL_IMAGE_COMPATIBILITY_CLASS", PHPGLFW_C_GL_IMAGE_COMPATIBILITY_CLASS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_PIXEL_FORMAT
+ REGISTER_LONG_CONSTANT("GL_IMAGE_PIXEL_FORMAT", PHPGLFW_C_GL_IMAGE_PIXEL_FORMAT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_PIXEL_TYPE
+ REGISTER_LONG_CONSTANT("GL_IMAGE_PIXEL_TYPE", PHPGLFW_C_GL_IMAGE_PIXEL_TYPE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST
+ REGISTER_LONG_CONSTANT("GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST", PHPGLFW_C_GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST
+ REGISTER_LONG_CONSTANT("GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST", PHPGLFW_C_GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE
+ REGISTER_LONG_CONSTANT("GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE", PHPGLFW_C_GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE
+ REGISTER_LONG_CONSTANT("GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE", PHPGLFW_C_GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_GUILTY_CONTEXT_RESET
+ REGISTER_LONG_CONSTANT("GL_GUILTY_CONTEXT_RESET", PHPGLFW_C_GL_GUILTY_CONTEXT_RESET, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_INNOCENT_CONTEXT_RESET
+ REGISTER_LONG_CONSTANT("GL_INNOCENT_CONTEXT_RESET", PHPGLFW_C_GL_INNOCENT_CONTEXT_RESET, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_UNKNOWN_CONTEXT_RESET
+ REGISTER_LONG_CONSTANT("GL_UNKNOWN_CONTEXT_RESET", PHPGLFW_C_GL_UNKNOWN_CONTEXT_RESET, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_RESET_NOTIFICATION_STRATEGY
+ REGISTER_LONG_CONSTANT("GL_RESET_NOTIFICATION_STRATEGY", PHPGLFW_C_GL_RESET_NOTIFICATION_STRATEGY, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_LOSE_CONTEXT_ON_RESET
+ REGISTER_LONG_CONSTANT("GL_LOSE_CONTEXT_ON_RESET", PHPGLFW_C_GL_LOSE_CONTEXT_ON_RESET, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_NO_RESET_NOTIFICATION
+ REGISTER_LONG_CONSTANT("GL_NO_RESET_NOTIFICATION", PHPGLFW_C_GL_NO_RESET_NOTIFICATION, CONST_CS|CONST_PERSISTENT);
+#endif
#ifdef PHPGLFW_C_GL_PROGRAM_BINARY_LENGTH
REGISTER_LONG_CONSTANT("GL_PROGRAM_BINARY_LENGTH", PHPGLFW_C_GL_PROGRAM_BINARY_LENGTH, CONST_CS|CONST_PERSISTENT);
#endif
+#ifdef PHPGLFW_C_GL_VERTEX_ATTRIB_ARRAY_LONG
+ REGISTER_LONG_CONSTANT("GL_VERTEX_ATTRIB_ARRAY_LONG", PHPGLFW_C_GL_VERTEX_ATTRIB_ARRAY_LONG, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MIRROR_CLAMP_TO_EDGE
+ REGISTER_LONG_CONSTANT("GL_MIRROR_CLAMP_TO_EDGE", PHPGLFW_C_GL_MIRROR_CLAMP_TO_EDGE, CONST_CS|CONST_PERSISTENT);
+#endif
#ifdef PHPGLFW_C_GL_VERTEX_SHADER_BIT
REGISTER_LONG_CONSTANT("GL_VERTEX_SHADER_BIT", PHPGLFW_C_GL_VERTEX_SHADER_BIT, CONST_CS|CONST_PERSISTENT);
#endif
@@ -4150,6 +4810,684 @@ void phpglfw_register_constants(INIT_FUNC_ARGS)
#ifdef PHPGLFW_C_GL_ALL_SHADER_BITS
REGISTER_LONG_CONSTANT("GL_ALL_SHADER_BITS", PHPGLFW_C_GL_ALL_SHADER_BITS, CONST_CS|CONST_PERSISTENT);
#endif
+#ifdef PHPGLFW_C_GL_COMPUTE_SHADER_BIT
+ REGISTER_LONG_CONSTANT("GL_COMPUTE_SHADER_BIT", PHPGLFW_C_GL_COMPUTE_SHADER_BIT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_NUM_SAMPLE_COUNTS
+ REGISTER_LONG_CONSTANT("GL_NUM_SAMPLE_COUNTS", PHPGLFW_C_GL_NUM_SAMPLE_COUNTS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER
+ REGISTER_LONG_CONSTANT("GL_ATOMIC_COUNTER_BUFFER", PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_BINDING
+ REGISTER_LONG_CONSTANT("GL_ATOMIC_COUNTER_BUFFER_BINDING", PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_BINDING, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_START
+ REGISTER_LONG_CONSTANT("GL_ATOMIC_COUNTER_BUFFER_START", PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_START, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_SIZE
+ REGISTER_LONG_CONSTANT("GL_ATOMIC_COUNTER_BUFFER_SIZE", PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_SIZE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE
+ REGISTER_LONG_CONSTANT("GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE", PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS
+ REGISTER_LONG_CONSTANT("GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS", PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES
+ REGISTER_LONG_CONSTANT("GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES", PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER
+ REGISTER_LONG_CONSTANT("GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER", PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER
+ REGISTER_LONG_CONSTANT("GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER", PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER
+ REGISTER_LONG_CONSTANT("GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER", PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER
+ REGISTER_LONG_CONSTANT("GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER", PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER
+ REGISTER_LONG_CONSTANT("GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER", PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS
+ REGISTER_LONG_CONSTANT("GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS", PHPGLFW_C_GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS
+ REGISTER_LONG_CONSTANT("GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS", PHPGLFW_C_GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS
+ REGISTER_LONG_CONSTANT("GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS", PHPGLFW_C_GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS
+ REGISTER_LONG_CONSTANT("GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS", PHPGLFW_C_GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS
+ REGISTER_LONG_CONSTANT("GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS", PHPGLFW_C_GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS
+ REGISTER_LONG_CONSTANT("GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS", PHPGLFW_C_GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_VERTEX_ATOMIC_COUNTERS
+ REGISTER_LONG_CONSTANT("GL_MAX_VERTEX_ATOMIC_COUNTERS", PHPGLFW_C_GL_MAX_VERTEX_ATOMIC_COUNTERS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS
+ REGISTER_LONG_CONSTANT("GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS", PHPGLFW_C_GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS
+ REGISTER_LONG_CONSTANT("GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS", PHPGLFW_C_GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_GEOMETRY_ATOMIC_COUNTERS
+ REGISTER_LONG_CONSTANT("GL_MAX_GEOMETRY_ATOMIC_COUNTERS", PHPGLFW_C_GL_MAX_GEOMETRY_ATOMIC_COUNTERS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_FRAGMENT_ATOMIC_COUNTERS
+ REGISTER_LONG_CONSTANT("GL_MAX_FRAGMENT_ATOMIC_COUNTERS", PHPGLFW_C_GL_MAX_FRAGMENT_ATOMIC_COUNTERS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_COMBINED_ATOMIC_COUNTERS
+ REGISTER_LONG_CONSTANT("GL_MAX_COMBINED_ATOMIC_COUNTERS", PHPGLFW_C_GL_MAX_COMBINED_ATOMIC_COUNTERS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE
+ REGISTER_LONG_CONSTANT("GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE", PHPGLFW_C_GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS
+ REGISTER_LONG_CONSTANT("GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS", PHPGLFW_C_GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_ACTIVE_ATOMIC_COUNTER_BUFFERS
+ REGISTER_LONG_CONSTANT("GL_ACTIVE_ATOMIC_COUNTER_BUFFERS", PHPGLFW_C_GL_ACTIVE_ATOMIC_COUNTER_BUFFERS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX
+ REGISTER_LONG_CONSTANT("GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX", PHPGLFW_C_GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_UNSIGNED_INT_ATOMIC_COUNTER
+ REGISTER_LONG_CONSTANT("GL_UNSIGNED_INT_ATOMIC_COUNTER", PHPGLFW_C_GL_UNSIGNED_INT_ATOMIC_COUNTER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_DEBUG_OUTPUT
+ REGISTER_LONG_CONSTANT("GL_DEBUG_OUTPUT", PHPGLFW_C_GL_DEBUG_OUTPUT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_FRAMEBUFFER_DEFAULT_WIDTH
+ REGISTER_LONG_CONSTANT("GL_FRAMEBUFFER_DEFAULT_WIDTH", PHPGLFW_C_GL_FRAMEBUFFER_DEFAULT_WIDTH, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_FRAMEBUFFER_DEFAULT_HEIGHT
+ REGISTER_LONG_CONSTANT("GL_FRAMEBUFFER_DEFAULT_HEIGHT", PHPGLFW_C_GL_FRAMEBUFFER_DEFAULT_HEIGHT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_FRAMEBUFFER_DEFAULT_LAYERS
+ REGISTER_LONG_CONSTANT("GL_FRAMEBUFFER_DEFAULT_LAYERS", PHPGLFW_C_GL_FRAMEBUFFER_DEFAULT_LAYERS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_FRAMEBUFFER_DEFAULT_SAMPLES
+ REGISTER_LONG_CONSTANT("GL_FRAMEBUFFER_DEFAULT_SAMPLES", PHPGLFW_C_GL_FRAMEBUFFER_DEFAULT_SAMPLES, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS
+ REGISTER_LONG_CONSTANT("GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS", PHPGLFW_C_GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_FRAMEBUFFER_WIDTH
+ REGISTER_LONG_CONSTANT("GL_MAX_FRAMEBUFFER_WIDTH", PHPGLFW_C_GL_MAX_FRAMEBUFFER_WIDTH, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_FRAMEBUFFER_HEIGHT
+ REGISTER_LONG_CONSTANT("GL_MAX_FRAMEBUFFER_HEIGHT", PHPGLFW_C_GL_MAX_FRAMEBUFFER_HEIGHT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_FRAMEBUFFER_LAYERS
+ REGISTER_LONG_CONSTANT("GL_MAX_FRAMEBUFFER_LAYERS", PHPGLFW_C_GL_MAX_FRAMEBUFFER_LAYERS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_FRAMEBUFFER_SAMPLES
+ REGISTER_LONG_CONSTANT("GL_MAX_FRAMEBUFFER_SAMPLES", PHPGLFW_C_GL_MAX_FRAMEBUFFER_SAMPLES, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_UNIFORM
+ REGISTER_LONG_CONSTANT("GL_UNIFORM", PHPGLFW_C_GL_UNIFORM, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_UNIFORM_BLOCK
+ REGISTER_LONG_CONSTANT("GL_UNIFORM_BLOCK", PHPGLFW_C_GL_UNIFORM_BLOCK, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_PROGRAM_INPUT
+ REGISTER_LONG_CONSTANT("GL_PROGRAM_INPUT", PHPGLFW_C_GL_PROGRAM_INPUT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_PROGRAM_OUTPUT
+ REGISTER_LONG_CONSTANT("GL_PROGRAM_OUTPUT", PHPGLFW_C_GL_PROGRAM_OUTPUT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_BUFFER_VARIABLE
+ REGISTER_LONG_CONSTANT("GL_BUFFER_VARIABLE", PHPGLFW_C_GL_BUFFER_VARIABLE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_SHADER_STORAGE_BLOCK
+ REGISTER_LONG_CONSTANT("GL_SHADER_STORAGE_BLOCK", PHPGLFW_C_GL_SHADER_STORAGE_BLOCK, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_VERTEX_SUBROUTINE
+ REGISTER_LONG_CONSTANT("GL_VERTEX_SUBROUTINE", PHPGLFW_C_GL_VERTEX_SUBROUTINE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TESS_CONTROL_SUBROUTINE
+ REGISTER_LONG_CONSTANT("GL_TESS_CONTROL_SUBROUTINE", PHPGLFW_C_GL_TESS_CONTROL_SUBROUTINE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TESS_EVALUATION_SUBROUTINE
+ REGISTER_LONG_CONSTANT("GL_TESS_EVALUATION_SUBROUTINE", PHPGLFW_C_GL_TESS_EVALUATION_SUBROUTINE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_GEOMETRY_SUBROUTINE
+ REGISTER_LONG_CONSTANT("GL_GEOMETRY_SUBROUTINE", PHPGLFW_C_GL_GEOMETRY_SUBROUTINE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_FRAGMENT_SUBROUTINE
+ REGISTER_LONG_CONSTANT("GL_FRAGMENT_SUBROUTINE", PHPGLFW_C_GL_FRAGMENT_SUBROUTINE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_COMPUTE_SUBROUTINE
+ REGISTER_LONG_CONSTANT("GL_COMPUTE_SUBROUTINE", PHPGLFW_C_GL_COMPUTE_SUBROUTINE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_VERTEX_SUBROUTINE_UNIFORM
+ REGISTER_LONG_CONSTANT("GL_VERTEX_SUBROUTINE_UNIFORM", PHPGLFW_C_GL_VERTEX_SUBROUTINE_UNIFORM, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TESS_CONTROL_SUBROUTINE_UNIFORM
+ REGISTER_LONG_CONSTANT("GL_TESS_CONTROL_SUBROUTINE_UNIFORM", PHPGLFW_C_GL_TESS_CONTROL_SUBROUTINE_UNIFORM, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TESS_EVALUATION_SUBROUTINE_UNIFORM
+ REGISTER_LONG_CONSTANT("GL_TESS_EVALUATION_SUBROUTINE_UNIFORM", PHPGLFW_C_GL_TESS_EVALUATION_SUBROUTINE_UNIFORM, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_GEOMETRY_SUBROUTINE_UNIFORM
+ REGISTER_LONG_CONSTANT("GL_GEOMETRY_SUBROUTINE_UNIFORM", PHPGLFW_C_GL_GEOMETRY_SUBROUTINE_UNIFORM, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_FRAGMENT_SUBROUTINE_UNIFORM
+ REGISTER_LONG_CONSTANT("GL_FRAGMENT_SUBROUTINE_UNIFORM", PHPGLFW_C_GL_FRAGMENT_SUBROUTINE_UNIFORM, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_COMPUTE_SUBROUTINE_UNIFORM
+ REGISTER_LONG_CONSTANT("GL_COMPUTE_SUBROUTINE_UNIFORM", PHPGLFW_C_GL_COMPUTE_SUBROUTINE_UNIFORM, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TRANSFORM_FEEDBACK_VARYING
+ REGISTER_LONG_CONSTANT("GL_TRANSFORM_FEEDBACK_VARYING", PHPGLFW_C_GL_TRANSFORM_FEEDBACK_VARYING, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_ACTIVE_RESOURCES
+ REGISTER_LONG_CONSTANT("GL_ACTIVE_RESOURCES", PHPGLFW_C_GL_ACTIVE_RESOURCES, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_NAME_LENGTH
+ REGISTER_LONG_CONSTANT("GL_MAX_NAME_LENGTH", PHPGLFW_C_GL_MAX_NAME_LENGTH, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_NUM_ACTIVE_VARIABLES
+ REGISTER_LONG_CONSTANT("GL_MAX_NUM_ACTIVE_VARIABLES", PHPGLFW_C_GL_MAX_NUM_ACTIVE_VARIABLES, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_NUM_COMPATIBLE_SUBROUTINES
+ REGISTER_LONG_CONSTANT("GL_MAX_NUM_COMPATIBLE_SUBROUTINES", PHPGLFW_C_GL_MAX_NUM_COMPATIBLE_SUBROUTINES, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_NAME_LENGTH
+ REGISTER_LONG_CONSTANT("GL_NAME_LENGTH", PHPGLFW_C_GL_NAME_LENGTH, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TYPE
+ REGISTER_LONG_CONSTANT("GL_TYPE", PHPGLFW_C_GL_TYPE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_ARRAY_SIZE
+ REGISTER_LONG_CONSTANT("GL_ARRAY_SIZE", PHPGLFW_C_GL_ARRAY_SIZE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_OFFSET
+ REGISTER_LONG_CONSTANT("GL_OFFSET", PHPGLFW_C_GL_OFFSET, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_BLOCK_INDEX
+ REGISTER_LONG_CONSTANT("GL_BLOCK_INDEX", PHPGLFW_C_GL_BLOCK_INDEX, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_ARRAY_STRIDE
+ REGISTER_LONG_CONSTANT("GL_ARRAY_STRIDE", PHPGLFW_C_GL_ARRAY_STRIDE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MATRIX_STRIDE
+ REGISTER_LONG_CONSTANT("GL_MATRIX_STRIDE", PHPGLFW_C_GL_MATRIX_STRIDE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IS_ROW_MAJOR
+ REGISTER_LONG_CONSTANT("GL_IS_ROW_MAJOR", PHPGLFW_C_GL_IS_ROW_MAJOR, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_INDEX
+ REGISTER_LONG_CONSTANT("GL_ATOMIC_COUNTER_BUFFER_INDEX", PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_INDEX, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_BUFFER_BINDING
+ REGISTER_LONG_CONSTANT("GL_BUFFER_BINDING", PHPGLFW_C_GL_BUFFER_BINDING, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_BUFFER_DATA_SIZE
+ REGISTER_LONG_CONSTANT("GL_BUFFER_DATA_SIZE", PHPGLFW_C_GL_BUFFER_DATA_SIZE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_NUM_ACTIVE_VARIABLES
+ REGISTER_LONG_CONSTANT("GL_NUM_ACTIVE_VARIABLES", PHPGLFW_C_GL_NUM_ACTIVE_VARIABLES, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_ACTIVE_VARIABLES
+ REGISTER_LONG_CONSTANT("GL_ACTIVE_VARIABLES", PHPGLFW_C_GL_ACTIVE_VARIABLES, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_REFERENCED_BY_VERTEX_SHADER
+ REGISTER_LONG_CONSTANT("GL_REFERENCED_BY_VERTEX_SHADER", PHPGLFW_C_GL_REFERENCED_BY_VERTEX_SHADER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_REFERENCED_BY_TESS_CONTROL_SHADER
+ REGISTER_LONG_CONSTANT("GL_REFERENCED_BY_TESS_CONTROL_SHADER", PHPGLFW_C_GL_REFERENCED_BY_TESS_CONTROL_SHADER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_REFERENCED_BY_TESS_EVALUATION_SHADER
+ REGISTER_LONG_CONSTANT("GL_REFERENCED_BY_TESS_EVALUATION_SHADER", PHPGLFW_C_GL_REFERENCED_BY_TESS_EVALUATION_SHADER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_REFERENCED_BY_GEOMETRY_SHADER
+ REGISTER_LONG_CONSTANT("GL_REFERENCED_BY_GEOMETRY_SHADER", PHPGLFW_C_GL_REFERENCED_BY_GEOMETRY_SHADER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_REFERENCED_BY_FRAGMENT_SHADER
+ REGISTER_LONG_CONSTANT("GL_REFERENCED_BY_FRAGMENT_SHADER", PHPGLFW_C_GL_REFERENCED_BY_FRAGMENT_SHADER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_REFERENCED_BY_COMPUTE_SHADER
+ REGISTER_LONG_CONSTANT("GL_REFERENCED_BY_COMPUTE_SHADER", PHPGLFW_C_GL_REFERENCED_BY_COMPUTE_SHADER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TOP_LEVEL_ARRAY_SIZE
+ REGISTER_LONG_CONSTANT("GL_TOP_LEVEL_ARRAY_SIZE", PHPGLFW_C_GL_TOP_LEVEL_ARRAY_SIZE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TOP_LEVEL_ARRAY_STRIDE
+ REGISTER_LONG_CONSTANT("GL_TOP_LEVEL_ARRAY_STRIDE", PHPGLFW_C_GL_TOP_LEVEL_ARRAY_STRIDE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_LOCATION
+ REGISTER_LONG_CONSTANT("GL_LOCATION", PHPGLFW_C_GL_LOCATION, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_LOCATION_INDEX
+ REGISTER_LONG_CONSTANT("GL_LOCATION_INDEX", PHPGLFW_C_GL_LOCATION_INDEX, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IS_PER_PATCH
+ REGISTER_LONG_CONSTANT("GL_IS_PER_PATCH", PHPGLFW_C_GL_IS_PER_PATCH, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_CLEAR_TEXTURE
+ REGISTER_LONG_CONSTANT("GL_CLEAR_TEXTURE", PHPGLFW_C_GL_CLEAR_TEXTURE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_LOCATION_COMPONENT
+ REGISTER_LONG_CONSTANT("GL_LOCATION_COMPONENT", PHPGLFW_C_GL_LOCATION_COMPONENT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TRANSFORM_FEEDBACK_BUFFER_INDEX
+ REGISTER_LONG_CONSTANT("GL_TRANSFORM_FEEDBACK_BUFFER_INDEX", PHPGLFW_C_GL_TRANSFORM_FEEDBACK_BUFFER_INDEX, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE
+ REGISTER_LONG_CONSTANT("GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE", PHPGLFW_C_GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_NEGATIVE_ONE_TO_ONE
+ REGISTER_LONG_CONSTANT("GL_NEGATIVE_ONE_TO_ONE", PHPGLFW_C_GL_NEGATIVE_ONE_TO_ONE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_ZERO_TO_ONE
+ REGISTER_LONG_CONSTANT("GL_ZERO_TO_ONE", PHPGLFW_C_GL_ZERO_TO_ONE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_CLIP_ORIGIN
+ REGISTER_LONG_CONSTANT("GL_CLIP_ORIGIN", PHPGLFW_C_GL_CLIP_ORIGIN, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_CLIP_DEPTH_MODE
+ REGISTER_LONG_CONSTANT("GL_CLIP_DEPTH_MODE", PHPGLFW_C_GL_CLIP_DEPTH_MODE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT
+ REGISTER_LONG_CONSTANT("GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT", PHPGLFW_C_GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_ELEMENT_ARRAY_BARRIER_BIT
+ REGISTER_LONG_CONSTANT("GL_ELEMENT_ARRAY_BARRIER_BIT", PHPGLFW_C_GL_ELEMENT_ARRAY_BARRIER_BIT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_UNIFORM_BARRIER_BIT
+ REGISTER_LONG_CONSTANT("GL_UNIFORM_BARRIER_BIT", PHPGLFW_C_GL_UNIFORM_BARRIER_BIT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TEXTURE_FETCH_BARRIER_BIT
+ REGISTER_LONG_CONSTANT("GL_TEXTURE_FETCH_BARRIER_BIT", PHPGLFW_C_GL_TEXTURE_FETCH_BARRIER_BIT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_SHADER_IMAGE_ACCESS_BARRIER_BIT
+ REGISTER_LONG_CONSTANT("GL_SHADER_IMAGE_ACCESS_BARRIER_BIT", PHPGLFW_C_GL_SHADER_IMAGE_ACCESS_BARRIER_BIT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_COMMAND_BARRIER_BIT
+ REGISTER_LONG_CONSTANT("GL_COMMAND_BARRIER_BIT", PHPGLFW_C_GL_COMMAND_BARRIER_BIT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_PIXEL_BUFFER_BARRIER_BIT
+ REGISTER_LONG_CONSTANT("GL_PIXEL_BUFFER_BARRIER_BIT", PHPGLFW_C_GL_PIXEL_BUFFER_BARRIER_BIT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TEXTURE_UPDATE_BARRIER_BIT
+ REGISTER_LONG_CONSTANT("GL_TEXTURE_UPDATE_BARRIER_BIT", PHPGLFW_C_GL_TEXTURE_UPDATE_BARRIER_BIT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_BUFFER_UPDATE_BARRIER_BIT
+ REGISTER_LONG_CONSTANT("GL_BUFFER_UPDATE_BARRIER_BIT", PHPGLFW_C_GL_BUFFER_UPDATE_BARRIER_BIT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_FRAMEBUFFER_BARRIER_BIT
+ REGISTER_LONG_CONSTANT("GL_FRAMEBUFFER_BARRIER_BIT", PHPGLFW_C_GL_FRAMEBUFFER_BARRIER_BIT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TRANSFORM_FEEDBACK_BARRIER_BIT
+ REGISTER_LONG_CONSTANT("GL_TRANSFORM_FEEDBACK_BARRIER_BIT", PHPGLFW_C_GL_TRANSFORM_FEEDBACK_BARRIER_BIT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_ATOMIC_COUNTER_BARRIER_BIT
+ REGISTER_LONG_CONSTANT("GL_ATOMIC_COUNTER_BARRIER_BIT", PHPGLFW_C_GL_ATOMIC_COUNTER_BARRIER_BIT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_ALL_BARRIER_BITS
+ REGISTER_LONG_CONSTANT("GL_ALL_BARRIER_BITS", PHPGLFW_C_GL_ALL_BARRIER_BITS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_SHADER_STORAGE_BARRIER_BIT
+ REGISTER_LONG_CONSTANT("GL_SHADER_STORAGE_BARRIER_BIT", PHPGLFW_C_GL_SHADER_STORAGE_BARRIER_BIT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT
+ REGISTER_LONG_CONSTANT("GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT", PHPGLFW_C_GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_QUERY_BUFFER_BARRIER_BIT
+ REGISTER_LONG_CONSTANT("GL_QUERY_BUFFER_BARRIER_BIT", PHPGLFW_C_GL_QUERY_BUFFER_BARRIER_BIT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_NUM_SHADING_LANGUAGE_VERSIONS
+ REGISTER_LONG_CONSTANT("GL_NUM_SHADING_LANGUAGE_VERSIONS", PHPGLFW_C_GL_NUM_SHADING_LANGUAGE_VERSIONS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_BUFFER
+ REGISTER_LONG_CONSTANT("GL_BUFFER", PHPGLFW_C_GL_BUFFER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_SHADER
+ REGISTER_LONG_CONSTANT("GL_SHADER", PHPGLFW_C_GL_SHADER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_PROGRAM
+ REGISTER_LONG_CONSTANT("GL_PROGRAM", PHPGLFW_C_GL_PROGRAM, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_QUERY
+ REGISTER_LONG_CONSTANT("GL_QUERY", PHPGLFW_C_GL_QUERY, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_PROGRAM_PIPELINE
+ REGISTER_LONG_CONSTANT("GL_PROGRAM_PIPELINE", PHPGLFW_C_GL_PROGRAM_PIPELINE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_SAMPLER
+ REGISTER_LONG_CONSTANT("GL_SAMPLER", PHPGLFW_C_GL_SAMPLER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_LABEL_LENGTH
+ REGISTER_LONG_CONSTANT("GL_MAX_LABEL_LENGTH", PHPGLFW_C_GL_MAX_LABEL_LENGTH, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TEXTURE_COMPRESSED_BLOCK_WIDTH
+ REGISTER_LONG_CONSTANT("GL_TEXTURE_COMPRESSED_BLOCK_WIDTH", PHPGLFW_C_GL_TEXTURE_COMPRESSED_BLOCK_WIDTH, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT
+ REGISTER_LONG_CONSTANT("GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT", PHPGLFW_C_GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TEXTURE_COMPRESSED_BLOCK_SIZE
+ REGISTER_LONG_CONSTANT("GL_TEXTURE_COMPRESSED_BLOCK_SIZE", PHPGLFW_C_GL_TEXTURE_COMPRESSED_BLOCK_SIZE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_CLEAR_BUFFER
+ REGISTER_LONG_CONSTANT("GL_CLEAR_BUFFER", PHPGLFW_C_GL_CLEAR_BUFFER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TEXTURE_VIEW
+ REGISTER_LONG_CONSTANT("GL_TEXTURE_VIEW", PHPGLFW_C_GL_TEXTURE_VIEW, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_VIEW_COMPATIBILITY_CLASS
+ REGISTER_LONG_CONSTANT("GL_VIEW_COMPATIBILITY_CLASS", PHPGLFW_C_GL_VIEW_COMPATIBILITY_CLASS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_FULL_SUPPORT
+ REGISTER_LONG_CONSTANT("GL_FULL_SUPPORT", PHPGLFW_C_GL_FULL_SUPPORT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_CAVEAT_SUPPORT
+ REGISTER_LONG_CONSTANT("GL_CAVEAT_SUPPORT", PHPGLFW_C_GL_CAVEAT_SUPPORT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_CLASS_4_X_32
+ REGISTER_LONG_CONSTANT("GL_IMAGE_CLASS_4_X_32", PHPGLFW_C_GL_IMAGE_CLASS_4_X_32, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_CLASS_2_X_32
+ REGISTER_LONG_CONSTANT("GL_IMAGE_CLASS_2_X_32", PHPGLFW_C_GL_IMAGE_CLASS_2_X_32, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_CLASS_1_X_32
+ REGISTER_LONG_CONSTANT("GL_IMAGE_CLASS_1_X_32", PHPGLFW_C_GL_IMAGE_CLASS_1_X_32, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_CLASS_4_X_16
+ REGISTER_LONG_CONSTANT("GL_IMAGE_CLASS_4_X_16", PHPGLFW_C_GL_IMAGE_CLASS_4_X_16, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_CLASS_2_X_16
+ REGISTER_LONG_CONSTANT("GL_IMAGE_CLASS_2_X_16", PHPGLFW_C_GL_IMAGE_CLASS_2_X_16, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_CLASS_1_X_16
+ REGISTER_LONG_CONSTANT("GL_IMAGE_CLASS_1_X_16", PHPGLFW_C_GL_IMAGE_CLASS_1_X_16, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_CLASS_4_X_8
+ REGISTER_LONG_CONSTANT("GL_IMAGE_CLASS_4_X_8", PHPGLFW_C_GL_IMAGE_CLASS_4_X_8, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_CLASS_2_X_8
+ REGISTER_LONG_CONSTANT("GL_IMAGE_CLASS_2_X_8", PHPGLFW_C_GL_IMAGE_CLASS_2_X_8, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_CLASS_1_X_8
+ REGISTER_LONG_CONSTANT("GL_IMAGE_CLASS_1_X_8", PHPGLFW_C_GL_IMAGE_CLASS_1_X_8, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_CLASS_11_11_10
+ REGISTER_LONG_CONSTANT("GL_IMAGE_CLASS_11_11_10", PHPGLFW_C_GL_IMAGE_CLASS_11_11_10, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_IMAGE_CLASS_10_10_10_2
+ REGISTER_LONG_CONSTANT("GL_IMAGE_CLASS_10_10_10_2", PHPGLFW_C_GL_IMAGE_CLASS_10_10_10_2, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_VIEW_CLASS_128_BITS
+ REGISTER_LONG_CONSTANT("GL_VIEW_CLASS_128_BITS", PHPGLFW_C_GL_VIEW_CLASS_128_BITS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_VIEW_CLASS_96_BITS
+ REGISTER_LONG_CONSTANT("GL_VIEW_CLASS_96_BITS", PHPGLFW_C_GL_VIEW_CLASS_96_BITS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_VIEW_CLASS_64_BITS
+ REGISTER_LONG_CONSTANT("GL_VIEW_CLASS_64_BITS", PHPGLFW_C_GL_VIEW_CLASS_64_BITS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_VIEW_CLASS_48_BITS
+ REGISTER_LONG_CONSTANT("GL_VIEW_CLASS_48_BITS", PHPGLFW_C_GL_VIEW_CLASS_48_BITS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_VIEW_CLASS_32_BITS
+ REGISTER_LONG_CONSTANT("GL_VIEW_CLASS_32_BITS", PHPGLFW_C_GL_VIEW_CLASS_32_BITS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_VIEW_CLASS_24_BITS
+ REGISTER_LONG_CONSTANT("GL_VIEW_CLASS_24_BITS", PHPGLFW_C_GL_VIEW_CLASS_24_BITS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_VIEW_CLASS_16_BITS
+ REGISTER_LONG_CONSTANT("GL_VIEW_CLASS_16_BITS", PHPGLFW_C_GL_VIEW_CLASS_16_BITS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_VIEW_CLASS_8_BITS
+ REGISTER_LONG_CONSTANT("GL_VIEW_CLASS_8_BITS", PHPGLFW_C_GL_VIEW_CLASS_8_BITS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_VIEW_CLASS_S3TC_DXT1_RGB
+ REGISTER_LONG_CONSTANT("GL_VIEW_CLASS_S3TC_DXT1_RGB", PHPGLFW_C_GL_VIEW_CLASS_S3TC_DXT1_RGB, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_VIEW_CLASS_S3TC_DXT1_RGBA
+ REGISTER_LONG_CONSTANT("GL_VIEW_CLASS_S3TC_DXT1_RGBA", PHPGLFW_C_GL_VIEW_CLASS_S3TC_DXT1_RGBA, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_VIEW_CLASS_S3TC_DXT3_RGBA
+ REGISTER_LONG_CONSTANT("GL_VIEW_CLASS_S3TC_DXT3_RGBA", PHPGLFW_C_GL_VIEW_CLASS_S3TC_DXT3_RGBA, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_VIEW_CLASS_S3TC_DXT5_RGBA
+ REGISTER_LONG_CONSTANT("GL_VIEW_CLASS_S3TC_DXT5_RGBA", PHPGLFW_C_GL_VIEW_CLASS_S3TC_DXT5_RGBA, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_VIEW_CLASS_RGTC1_RED
+ REGISTER_LONG_CONSTANT("GL_VIEW_CLASS_RGTC1_RED", PHPGLFW_C_GL_VIEW_CLASS_RGTC1_RED, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_VIEW_CLASS_RGTC2_RG
+ REGISTER_LONG_CONSTANT("GL_VIEW_CLASS_RGTC2_RG", PHPGLFW_C_GL_VIEW_CLASS_RGTC2_RG, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_VIEW_CLASS_BPTC_UNORM
+ REGISTER_LONG_CONSTANT("GL_VIEW_CLASS_BPTC_UNORM", PHPGLFW_C_GL_VIEW_CLASS_BPTC_UNORM, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_VIEW_CLASS_BPTC_FLOAT
+ REGISTER_LONG_CONSTANT("GL_VIEW_CLASS_BPTC_FLOAT", PHPGLFW_C_GL_VIEW_CLASS_BPTC_FLOAT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TEXTURE_VIEW_MIN_LEVEL
+ REGISTER_LONG_CONSTANT("GL_TEXTURE_VIEW_MIN_LEVEL", PHPGLFW_C_GL_TEXTURE_VIEW_MIN_LEVEL, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TEXTURE_VIEW_NUM_LEVELS
+ REGISTER_LONG_CONSTANT("GL_TEXTURE_VIEW_NUM_LEVELS", PHPGLFW_C_GL_TEXTURE_VIEW_NUM_LEVELS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TEXTURE_VIEW_MIN_LAYER
+ REGISTER_LONG_CONSTANT("GL_TEXTURE_VIEW_MIN_LAYER", PHPGLFW_C_GL_TEXTURE_VIEW_MIN_LAYER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TEXTURE_VIEW_NUM_LAYERS
+ REGISTER_LONG_CONSTANT("GL_TEXTURE_VIEW_NUM_LAYERS", PHPGLFW_C_GL_TEXTURE_VIEW_NUM_LAYERS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TEXTURE_IMMUTABLE_LEVELS
+ REGISTER_LONG_CONSTANT("GL_TEXTURE_IMMUTABLE_LEVELS", PHPGLFW_C_GL_TEXTURE_IMMUTABLE_LEVELS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_VERTEX_ATTRIB_BINDING
+ REGISTER_LONG_CONSTANT("GL_VERTEX_ATTRIB_BINDING", PHPGLFW_C_GL_VERTEX_ATTRIB_BINDING, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_VERTEX_ATTRIB_RELATIVE_OFFSET
+ REGISTER_LONG_CONSTANT("GL_VERTEX_ATTRIB_RELATIVE_OFFSET", PHPGLFW_C_GL_VERTEX_ATTRIB_RELATIVE_OFFSET, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_VERTEX_BINDING_DIVISOR
+ REGISTER_LONG_CONSTANT("GL_VERTEX_BINDING_DIVISOR", PHPGLFW_C_GL_VERTEX_BINDING_DIVISOR, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_VERTEX_BINDING_OFFSET
+ REGISTER_LONG_CONSTANT("GL_VERTEX_BINDING_OFFSET", PHPGLFW_C_GL_VERTEX_BINDING_OFFSET, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_VERTEX_BINDING_STRIDE
+ REGISTER_LONG_CONSTANT("GL_VERTEX_BINDING_STRIDE", PHPGLFW_C_GL_VERTEX_BINDING_STRIDE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET
+ REGISTER_LONG_CONSTANT("GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET", PHPGLFW_C_GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_VERTEX_ATTRIB_BINDINGS
+ REGISTER_LONG_CONSTANT("GL_MAX_VERTEX_ATTRIB_BINDINGS", PHPGLFW_C_GL_MAX_VERTEX_ATTRIB_BINDINGS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_DISPLAY_LIST
+ REGISTER_LONG_CONSTANT("GL_DISPLAY_LIST", PHPGLFW_C_GL_DISPLAY_LIST, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_VERTEX_ATTRIB_STRIDE
+ REGISTER_LONG_CONSTANT("GL_MAX_VERTEX_ATTRIB_STRIDE", PHPGLFW_C_GL_MAX_VERTEX_ATTRIB_STRIDE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_CULL_DISTANCES
+ REGISTER_LONG_CONSTANT("GL_MAX_CULL_DISTANCES", PHPGLFW_C_GL_MAX_CULL_DISTANCES, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES
+ REGISTER_LONG_CONSTANT("GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES", PHPGLFW_C_GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_QUERY_TARGET
+ REGISTER_LONG_CONSTANT("GL_QUERY_TARGET", PHPGLFW_C_GL_QUERY_TARGET, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_CONTEXT_RELEASE_BEHAVIOR
+ REGISTER_LONG_CONSTANT("GL_CONTEXT_RELEASE_BEHAVIOR", PHPGLFW_C_GL_CONTEXT_RELEASE_BEHAVIOR, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH
+ REGISTER_LONG_CONSTANT("GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH", PHPGLFW_C_GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_VERTICES_SUBMITTED
+ REGISTER_LONG_CONSTANT("GL_VERTICES_SUBMITTED", PHPGLFW_C_GL_VERTICES_SUBMITTED, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_PRIMITIVES_SUBMITTED
+ REGISTER_LONG_CONSTANT("GL_PRIMITIVES_SUBMITTED", PHPGLFW_C_GL_PRIMITIVES_SUBMITTED, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_VERTEX_SHADER_INVOCATIONS
+ REGISTER_LONG_CONSTANT("GL_VERTEX_SHADER_INVOCATIONS", PHPGLFW_C_GL_VERTEX_SHADER_INVOCATIONS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TESS_CONTROL_SHADER_PATCHES
+ REGISTER_LONG_CONSTANT("GL_TESS_CONTROL_SHADER_PATCHES", PHPGLFW_C_GL_TESS_CONTROL_SHADER_PATCHES, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TESS_EVALUATION_SHADER_INVOCATIONS
+ REGISTER_LONG_CONSTANT("GL_TESS_EVALUATION_SHADER_INVOCATIONS", PHPGLFW_C_GL_TESS_EVALUATION_SHADER_INVOCATIONS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED
+ REGISTER_LONG_CONSTANT("GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED", PHPGLFW_C_GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_FRAGMENT_SHADER_INVOCATIONS
+ REGISTER_LONG_CONSTANT("GL_FRAGMENT_SHADER_INVOCATIONS", PHPGLFW_C_GL_FRAGMENT_SHADER_INVOCATIONS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_COMPUTE_SHADER_INVOCATIONS
+ REGISTER_LONG_CONSTANT("GL_COMPUTE_SHADER_INVOCATIONS", PHPGLFW_C_GL_COMPUTE_SHADER_INVOCATIONS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_CLIPPING_INPUT_PRIMITIVES
+ REGISTER_LONG_CONSTANT("GL_CLIPPING_INPUT_PRIMITIVES", PHPGLFW_C_GL_CLIPPING_INPUT_PRIMITIVES, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_CLIPPING_OUTPUT_PRIMITIVES
+ REGISTER_LONG_CONSTANT("GL_CLIPPING_OUTPUT_PRIMITIVES", PHPGLFW_C_GL_CLIPPING_OUTPUT_PRIMITIVES, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TRANSFORM_FEEDBACK_OVERFLOW
+ REGISTER_LONG_CONSTANT("GL_TRANSFORM_FEEDBACK_OVERFLOW", PHPGLFW_C_GL_TRANSFORM_FEEDBACK_OVERFLOW, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW
+ REGISTER_LONG_CONSTANT("GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW", PHPGLFW_C_GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_COMPRESSED_RGB8_ETC2
+ REGISTER_LONG_CONSTANT("GL_COMPRESSED_RGB8_ETC2", PHPGLFW_C_GL_COMPRESSED_RGB8_ETC2, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_COMPRESSED_SRGB8_ETC2
+ REGISTER_LONG_CONSTANT("GL_COMPRESSED_SRGB8_ETC2", PHPGLFW_C_GL_COMPRESSED_SRGB8_ETC2, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2
+ REGISTER_LONG_CONSTANT("GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2", PHPGLFW_C_GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2
+ REGISTER_LONG_CONSTANT("GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2", PHPGLFW_C_GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_COMPRESSED_RGBA8_ETC2_EAC
+ REGISTER_LONG_CONSTANT("GL_COMPRESSED_RGBA8_ETC2_EAC", PHPGLFW_C_GL_COMPRESSED_RGBA8_ETC2_EAC, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC
+ REGISTER_LONG_CONSTANT("GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC", PHPGLFW_C_GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_COMPRESSED_R11_EAC
+ REGISTER_LONG_CONSTANT("GL_COMPRESSED_R11_EAC", PHPGLFW_C_GL_COMPRESSED_R11_EAC, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_COMPRESSED_SIGNED_R11_EAC
+ REGISTER_LONG_CONSTANT("GL_COMPRESSED_SIGNED_R11_EAC", PHPGLFW_C_GL_COMPRESSED_SIGNED_R11_EAC, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_COMPRESSED_RG11_EAC
+ REGISTER_LONG_CONSTANT("GL_COMPRESSED_RG11_EAC", PHPGLFW_C_GL_COMPRESSED_RG11_EAC, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_COMPRESSED_SIGNED_RG11_EAC
+ REGISTER_LONG_CONSTANT("GL_COMPRESSED_SIGNED_RG11_EAC", PHPGLFW_C_GL_COMPRESSED_SIGNED_RG11_EAC, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_COMPUTE_SHADER
+ REGISTER_LONG_CONSTANT("GL_COMPUTE_SHADER", PHPGLFW_C_GL_COMPUTE_SHADER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_COMPUTE_UNIFORM_BLOCKS
+ REGISTER_LONG_CONSTANT("GL_MAX_COMPUTE_UNIFORM_BLOCKS", PHPGLFW_C_GL_MAX_COMPUTE_UNIFORM_BLOCKS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS
+ REGISTER_LONG_CONSTANT("GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS", PHPGLFW_C_GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_COMPUTE_IMAGE_UNIFORMS
+ REGISTER_LONG_CONSTANT("GL_MAX_COMPUTE_IMAGE_UNIFORMS", PHPGLFW_C_GL_MAX_COMPUTE_IMAGE_UNIFORMS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_COMPUTE_WORK_GROUP_COUNT
+ REGISTER_LONG_CONSTANT("GL_MAX_COMPUTE_WORK_GROUP_COUNT", PHPGLFW_C_GL_MAX_COMPUTE_WORK_GROUP_COUNT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_COMPUTE_WORK_GROUP_SIZE
+ REGISTER_LONG_CONSTANT("GL_MAX_COMPUTE_WORK_GROUP_SIZE", PHPGLFW_C_GL_MAX_COMPUTE_WORK_GROUP_SIZE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_DEBUG_MESSAGE_LENGTH
+ REGISTER_LONG_CONSTANT("GL_MAX_DEBUG_MESSAGE_LENGTH", PHPGLFW_C_GL_MAX_DEBUG_MESSAGE_LENGTH, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_MAX_DEBUG_LOGGED_MESSAGES
+ REGISTER_LONG_CONSTANT("GL_MAX_DEBUG_LOGGED_MESSAGES", PHPGLFW_C_GL_MAX_DEBUG_LOGGED_MESSAGES, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_DEBUG_LOGGED_MESSAGES
+ REGISTER_LONG_CONSTANT("GL_DEBUG_LOGGED_MESSAGES", PHPGLFW_C_GL_DEBUG_LOGGED_MESSAGES, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_DEBUG_SEVERITY_HIGH
+ REGISTER_LONG_CONSTANT("GL_DEBUG_SEVERITY_HIGH", PHPGLFW_C_GL_DEBUG_SEVERITY_HIGH, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_DEBUG_SEVERITY_MEDIUM
+ REGISTER_LONG_CONSTANT("GL_DEBUG_SEVERITY_MEDIUM", PHPGLFW_C_GL_DEBUG_SEVERITY_MEDIUM, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_DEBUG_SEVERITY_LOW
+ REGISTER_LONG_CONSTANT("GL_DEBUG_SEVERITY_LOW", PHPGLFW_C_GL_DEBUG_SEVERITY_LOW, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TEXTURE_BUFFER_OFFSET
+ REGISTER_LONG_CONSTANT("GL_TEXTURE_BUFFER_OFFSET", PHPGLFW_C_GL_TEXTURE_BUFFER_OFFSET, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TEXTURE_BUFFER_SIZE
+ REGISTER_LONG_CONSTANT("GL_TEXTURE_BUFFER_SIZE", PHPGLFW_C_GL_TEXTURE_BUFFER_SIZE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT
+ REGISTER_LONG_CONSTANT("GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT", PHPGLFW_C_GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_QUERY_BUFFER
+ REGISTER_LONG_CONSTANT("GL_QUERY_BUFFER", PHPGLFW_C_GL_QUERY_BUFFER, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_QUERY_BUFFER_BINDING
+ REGISTER_LONG_CONSTANT("GL_QUERY_BUFFER_BINDING", PHPGLFW_C_GL_QUERY_BUFFER_BINDING, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_QUERY_RESULT_NO_WAIT
+ REGISTER_LONG_CONSTANT("GL_QUERY_RESULT_NO_WAIT", PHPGLFW_C_GL_QUERY_RESULT_NO_WAIT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_DYNAMIC_STORAGE_BIT
+ REGISTER_LONG_CONSTANT("GL_DYNAMIC_STORAGE_BIT", PHPGLFW_C_GL_DYNAMIC_STORAGE_BIT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_CLIENT_STORAGE_BIT
+ REGISTER_LONG_CONSTANT("GL_CLIENT_STORAGE_BIT", PHPGLFW_C_GL_CLIENT_STORAGE_BIT, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_COLOR_TABLE
+ REGISTER_LONG_CONSTANT("GL_COLOR_TABLE", PHPGLFW_C_GL_COLOR_TABLE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_POST_CONVOLUTION_COLOR_TABLE
+ REGISTER_LONG_CONSTANT("GL_POST_CONVOLUTION_COLOR_TABLE", PHPGLFW_C_GL_POST_CONVOLUTION_COLOR_TABLE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_POST_COLOR_MATRIX_COLOR_TABLE
+ REGISTER_LONG_CONSTANT("GL_POST_COLOR_MATRIX_COLOR_TABLE", PHPGLFW_C_GL_POST_COLOR_MATRIX_COLOR_TABLE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_PROXY_COLOR_TABLE
+ REGISTER_LONG_CONSTANT("GL_PROXY_COLOR_TABLE", PHPGLFW_C_GL_PROXY_COLOR_TABLE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_PROXY_POST_CONVOLUTION_COLOR_TABLE
+ REGISTER_LONG_CONSTANT("GL_PROXY_POST_CONVOLUTION_COLOR_TABLE", PHPGLFW_C_GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE
+ REGISTER_LONG_CONSTANT("GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE", PHPGLFW_C_GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_SHADER_BINARY_FORMAT_SPIR_V
+ REGISTER_LONG_CONSTANT("GL_SHADER_BINARY_FORMAT_SPIR_V", PHPGLFW_C_GL_SHADER_BINARY_FORMAT_SPIR_V, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_SPIR_V_BINARY
+ REGISTER_LONG_CONSTANT("GL_SPIR_V_BINARY", PHPGLFW_C_GL_SPIR_V_BINARY, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_SPIR_V_EXTENSIONS
+ REGISTER_LONG_CONSTANT("GL_SPIR_V_EXTENSIONS", PHPGLFW_C_GL_SPIR_V_EXTENSIONS, CONST_CS|CONST_PERSISTENT);
+#endif
+#ifdef PHPGLFW_C_GL_NUM_SPIR_V_EXTENSIONS
+ REGISTER_LONG_CONSTANT("GL_NUM_SPIR_V_EXTENSIONS", PHPGLFW_C_GL_NUM_SPIR_V_EXTENSIONS, CONST_CS|CONST_PERSISTENT);
+#endif
#ifdef PHPGLFW_C_GLFW_VERSION_MAJOR
REGISTER_LONG_CONSTANT("GLFW_VERSION_MAJOR", PHPGLFW_C_GLFW_VERSION_MAJOR, CONST_CS|CONST_PERSISTENT);
#endif
diff --git a/phpglfw_constants.h b/phpglfw_constants.h
index 3b9c7542..d9f5f939 100644
--- a/phpglfw_constants.h
+++ b/phpglfw_constants.h
@@ -45,7 +45,7 @@ void phpglfw_register_constants(INIT_FUNC_ARGS);
*
*/
#define PHPGLFW_C_PHPGLFW_COMPILED_API "gl"
-#define PHPGLFW_C_PHPGLFW_COMPILED_API_VERSION "4.1"
+#define PHPGLFW_C_PHPGLFW_COMPILED_API_VERSION "4.6"
#define PHPGLFW_C_GL_SIZEOF_BYTE sizeof(GLbyte)
#define PHPGLFW_C_GL_SIZEOF_UNSIGNED_BYTE sizeof(GLubyte)
#define PHPGLFW_C_GL_SIZEOF_SHORT sizeof(GLshort)
@@ -1978,6 +1978,14 @@ void phpglfw_register_constants(INIT_FUNC_ARGS);
#ifdef GL_FIXED
#define PHPGLFW_C_GL_FIXED GL_FIXED // => 0x140C
#endif
+
+#ifdef GL_CONTEXT_LOST
+#define PHPGLFW_C_GL_CONTEXT_LOST GL_CONTEXT_LOST // => 0x0507
+#endif
+
+#ifdef GL_TEXTURE_TARGET
+#define PHPGLFW_C_GL_TEXTURE_TARGET GL_TEXTURE_TARGET // => 0x1006
+#endif
/**
* @vendor ARB
@@ -2417,6 +2425,30 @@ void phpglfw_register_constants(INIT_FUNC_ARGS);
#ifdef GL_BLEND_EQUATION_RGB
#define PHPGLFW_C_GL_BLEND_EQUATION_RGB GL_BLEND_EQUATION_RGB // => 0x8009
#endif
+
+#ifdef GL_CONVOLUTION_1D
+#define PHPGLFW_C_GL_CONVOLUTION_1D GL_CONVOLUTION_1D // => 0x8010
+#endif
+
+#ifdef GL_CONVOLUTION_2D
+#define PHPGLFW_C_GL_CONVOLUTION_2D GL_CONVOLUTION_2D // => 0x8011
+#endif
+
+#ifdef GL_SEPARABLE_2D
+#define PHPGLFW_C_GL_SEPARABLE_2D GL_SEPARABLE_2D // => 0x8012
+#endif
+
+#ifdef GL_HISTOGRAM
+#define PHPGLFW_C_GL_HISTOGRAM GL_HISTOGRAM // => 0x8024
+#endif
+
+#ifdef GL_PROXY_HISTOGRAM
+#define PHPGLFW_C_GL_PROXY_HISTOGRAM GL_PROXY_HISTOGRAM // => 0x8025
+#endif
+
+#ifdef GL_MINMAX
+#define PHPGLFW_C_GL_MINMAX GL_MINMAX // => 0x802E
+#endif
/**
@@ -2488,6 +2520,14 @@ void phpglfw_register_constants(INIT_FUNC_ARGS);
#ifdef GL_MAX_ELEMENTS_INDICES
#define PHPGLFW_C_GL_MAX_ELEMENTS_INDICES GL_MAX_ELEMENTS_INDICES // => 0x80E9
#endif
+
+#ifdef GL_PARAMETER_BUFFER
+#define PHPGLFW_C_GL_PARAMETER_BUFFER GL_PARAMETER_BUFFER // => 0x80EE
+#endif
+
+#ifdef GL_PARAMETER_BUFFER_BINDING
+#define PHPGLFW_C_GL_PARAMETER_BUFFER_BINDING GL_PARAMETER_BUFFER_BINDING // => 0x80EF
+#endif
/**
* @vendor SGI
@@ -2952,6 +2992,14 @@ void phpglfw_register_constants(INIT_FUNC_ARGS);
#ifdef GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER
#define PHPGLFW_C_GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER // => 0x84F1
#endif
+
+#ifdef GL_TEXTURE_MAX_ANISOTROPY
+#define PHPGLFW_C_GL_TEXTURE_MAX_ANISOTROPY GL_TEXTURE_MAX_ANISOTROPY // => 0x84FE
+#endif
+
+#ifdef GL_MAX_TEXTURE_MAX_ANISOTROPY
+#define PHPGLFW_C_GL_MAX_TEXTURE_MAX_ANISOTROPY GL_MAX_TEXTURE_MAX_ANISOTROPY // => 0x84FF
+#endif
/**
* @vendor ARB
@@ -4130,6 +4178,10 @@ void phpglfw_register_constants(INIT_FUNC_ARGS);
#ifdef GL_MIN_SAMPLE_SHADING_VALUE
#define PHPGLFW_C_GL_MIN_SAMPLE_SHADING_VALUE GL_MIN_SAMPLE_SHADING_VALUE // => 0x8C37
#endif
+
+#ifdef GL_TEXTURE_BUFFER_BINDING
+#define PHPGLFW_C_GL_TEXTURE_BUFFER_BINDING GL_TEXTURE_BUFFER_BINDING // => 0x8C2A
+#endif
/**
* @vendor ARB
@@ -4294,6 +4346,18 @@ void phpglfw_register_constants(INIT_FUNC_ARGS);
#ifdef GL_RG32UI
#define PHPGLFW_C_GL_RG32UI GL_RG32UI // => 0x823C
#endif
+
+#ifdef GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED
+#define PHPGLFW_C_GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED // => 0x8221
+#endif
+
+#ifdef GL_BUFFER_IMMUTABLE_STORAGE
+#define PHPGLFW_C_GL_BUFFER_IMMUTABLE_STORAGE GL_BUFFER_IMMUTABLE_STORAGE // => 0x821F
+#endif
+
+#ifdef GL_BUFFER_STORAGE_FLAGS
+#define PHPGLFW_C_GL_BUFFER_STORAGE_FLAGS GL_BUFFER_STORAGE_FLAGS // => 0x8220
+#endif
/**
@@ -4306,6 +4370,18 @@ void phpglfw_register_constants(INIT_FUNC_ARGS);
#ifdef GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT
#define PHPGLFW_C_GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT // => 0x00000001
#endif
+
+#ifdef GL_CONTEXT_FLAG_DEBUG_BIT
+#define PHPGLFW_C_GL_CONTEXT_FLAG_DEBUG_BIT GL_CONTEXT_FLAG_DEBUG_BIT // => 0x00000002
+#endif
+
+#ifdef GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT
+#define PHPGLFW_C_GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT // => 0x00000004
+#endif
+
+#ifdef GL_CONTEXT_FLAG_NO_ERROR_BIT
+#define PHPGLFW_C_GL_CONTEXT_FLAG_NO_ERROR_BIT GL_CONTEXT_FLAG_NO_ERROR_BIT // => 0x00000008
+#endif
/**
* @vendor NV
@@ -4812,6 +4888,50 @@ void phpglfw_register_constants(INIT_FUNC_ARGS);
#ifdef GL_MAX_TRANSFORM_FEEDBACK_BUFFERS
#define PHPGLFW_C_GL_MAX_TRANSFORM_FEEDBACK_BUFFERS GL_MAX_TRANSFORM_FEEDBACK_BUFFERS // => 0x8E70
#endif
+
+#ifdef GL_TRANSFORM_FEEDBACK_ACTIVE
+#define PHPGLFW_C_GL_TRANSFORM_FEEDBACK_ACTIVE GL_TRANSFORM_FEEDBACK_ACTIVE // => 0x8E24
+#endif
+
+#ifdef GL_TRANSFORM_FEEDBACK_PAUSED
+#define PHPGLFW_C_GL_TRANSFORM_FEEDBACK_PAUSED GL_TRANSFORM_FEEDBACK_PAUSED // => 0x8E23
+#endif
+
+#ifdef GL_COMPRESSED_RGBA_BPTC_UNORM
+#define PHPGLFW_C_GL_COMPRESSED_RGBA_BPTC_UNORM GL_COMPRESSED_RGBA_BPTC_UNORM // => 0x8E8C
+#endif
+
+#ifdef GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM
+#define PHPGLFW_C_GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM // => 0x8E8D
+#endif
+
+#ifdef GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT
+#define PHPGLFW_C_GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT // => 0x8E8E
+#endif
+
+#ifdef GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT
+#define PHPGLFW_C_GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT // => 0x8E8F
+#endif
+
+#ifdef GL_QUERY_WAIT_INVERTED
+#define PHPGLFW_C_GL_QUERY_WAIT_INVERTED GL_QUERY_WAIT_INVERTED // => 0x8E17
+#endif
+
+#ifdef GL_QUERY_NO_WAIT_INVERTED
+#define PHPGLFW_C_GL_QUERY_NO_WAIT_INVERTED GL_QUERY_NO_WAIT_INVERTED // => 0x8E18
+#endif
+
+#ifdef GL_QUERY_BY_REGION_WAIT_INVERTED
+#define PHPGLFW_C_GL_QUERY_BY_REGION_WAIT_INVERTED GL_QUERY_BY_REGION_WAIT_INVERTED // => 0x8E19
+#endif
+
+#ifdef GL_QUERY_BY_REGION_NO_WAIT_INVERTED
+#define PHPGLFW_C_GL_QUERY_BY_REGION_NO_WAIT_INVERTED GL_QUERY_BY_REGION_NO_WAIT_INVERTED // => 0x8E1A
+#endif
+
+#ifdef GL_POLYGON_OFFSET_CLAMP
+#define PHPGLFW_C_GL_POLYGON_OFFSET_CLAMP GL_POLYGON_OFFSET_CLAMP // => 0x8E1B
+#endif
/**
* @vendor ARB
@@ -4968,6 +5088,42 @@ void phpglfw_register_constants(INIT_FUNC_ARGS);
#ifdef GL_MAX_INTEGER_SAMPLES
#define PHPGLFW_C_GL_MAX_INTEGER_SAMPLES GL_MAX_INTEGER_SAMPLES // => 0x9110
#endif
+
+#ifdef GL_UNPACK_COMPRESSED_BLOCK_WIDTH
+#define PHPGLFW_C_GL_UNPACK_COMPRESSED_BLOCK_WIDTH GL_UNPACK_COMPRESSED_BLOCK_WIDTH // => 0x9127
+#endif
+
+#ifdef GL_UNPACK_COMPRESSED_BLOCK_HEIGHT
+#define PHPGLFW_C_GL_UNPACK_COMPRESSED_BLOCK_HEIGHT GL_UNPACK_COMPRESSED_BLOCK_HEIGHT // => 0x9128
+#endif
+
+#ifdef GL_UNPACK_COMPRESSED_BLOCK_DEPTH
+#define PHPGLFW_C_GL_UNPACK_COMPRESSED_BLOCK_DEPTH GL_UNPACK_COMPRESSED_BLOCK_DEPTH // => 0x9129
+#endif
+
+#ifdef GL_UNPACK_COMPRESSED_BLOCK_SIZE
+#define PHPGLFW_C_GL_UNPACK_COMPRESSED_BLOCK_SIZE GL_UNPACK_COMPRESSED_BLOCK_SIZE // => 0x912A
+#endif
+
+#ifdef GL_PACK_COMPRESSED_BLOCK_WIDTH
+#define PHPGLFW_C_GL_PACK_COMPRESSED_BLOCK_WIDTH GL_PACK_COMPRESSED_BLOCK_WIDTH // => 0x912B
+#endif
+
+#ifdef GL_PACK_COMPRESSED_BLOCK_HEIGHT
+#define PHPGLFW_C_GL_PACK_COMPRESSED_BLOCK_HEIGHT GL_PACK_COMPRESSED_BLOCK_HEIGHT // => 0x912C
+#endif
+
+#ifdef GL_PACK_COMPRESSED_BLOCK_DEPTH
+#define PHPGLFW_C_GL_PACK_COMPRESSED_BLOCK_DEPTH GL_PACK_COMPRESSED_BLOCK_DEPTH // => 0x912D
+#endif
+
+#ifdef GL_PACK_COMPRESSED_BLOCK_SIZE
+#define PHPGLFW_C_GL_PACK_COMPRESSED_BLOCK_SIZE GL_PACK_COMPRESSED_BLOCK_SIZE // => 0x912E
+#endif
+
+#ifdef GL_TEXTURE_IMMUTABLE_FORMAT
+#define PHPGLFW_C_GL_TEXTURE_IMMUTABLE_FORMAT GL_TEXTURE_IMMUTABLE_FORMAT // => 0x912F
+#endif
/**
* @vendor ARB
@@ -5256,6 +5412,14 @@ void phpglfw_register_constants(INIT_FUNC_ARGS);
#ifdef GL_MAP_UNSYNCHRONIZED_BIT
#define PHPGLFW_C_GL_MAP_UNSYNCHRONIZED_BIT GL_MAP_UNSYNCHRONIZED_BIT // => 0x0020
#endif
+
+#ifdef GL_MAP_PERSISTENT_BIT
+#define PHPGLFW_C_GL_MAP_PERSISTENT_BIT GL_MAP_PERSISTENT_BIT // => 0x0040
+#endif
+
+#ifdef GL_MAP_COHERENT_BIT
+#define PHPGLFW_C_GL_MAP_COHERENT_BIT GL_MAP_COHERENT_BIT // => 0x0080
+#endif
/**
* @vendor APPLE
@@ -5369,6 +5533,50 @@ void phpglfw_register_constants(INIT_FUNC_ARGS);
#ifdef GL_DOUBLE_MAT4x3
#define PHPGLFW_C_GL_DOUBLE_MAT4x3 GL_DOUBLE_MAT4x3 // => 0x8F4E
#endif
+
+#ifdef GL_COPY_READ_BUFFER_BINDING
+#define PHPGLFW_C_GL_COPY_READ_BUFFER_BINDING GL_COPY_READ_BUFFER_BINDING // => 0x8F36
+#endif
+
+#ifdef GL_COPY_WRITE_BUFFER_BINDING
+#define PHPGLFW_C_GL_COPY_WRITE_BUFFER_BINDING GL_COPY_WRITE_BUFFER_BINDING // => 0x8F37
+#endif
+
+#ifdef GL_MAX_IMAGE_UNITS
+#define PHPGLFW_C_GL_MAX_IMAGE_UNITS GL_MAX_IMAGE_UNITS // => 0x8F38
+#endif
+
+#ifdef GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS
+#define PHPGLFW_C_GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS // => 0x8F39
+#endif
+
+#ifdef GL_IMAGE_BINDING_NAME
+#define PHPGLFW_C_GL_IMAGE_BINDING_NAME GL_IMAGE_BINDING_NAME // => 0x8F3A
+#endif
+
+#ifdef GL_IMAGE_BINDING_LEVEL
+#define PHPGLFW_C_GL_IMAGE_BINDING_LEVEL GL_IMAGE_BINDING_LEVEL // => 0x8F3B
+#endif
+
+#ifdef GL_IMAGE_BINDING_LAYERED
+#define PHPGLFW_C_GL_IMAGE_BINDING_LAYERED GL_IMAGE_BINDING_LAYERED // => 0x8F3C
+#endif
+
+#ifdef GL_IMAGE_BINDING_LAYER
+#define PHPGLFW_C_GL_IMAGE_BINDING_LAYER GL_IMAGE_BINDING_LAYER // => 0x8F3D
+#endif
+
+#ifdef GL_IMAGE_BINDING_ACCESS
+#define PHPGLFW_C_GL_IMAGE_BINDING_ACCESS GL_IMAGE_BINDING_ACCESS // => 0x8F3E
+#endif
+
+#ifdef GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES
+#define PHPGLFW_C_GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES // => 0x8F39
+#endif
+
+#ifdef GL_VERTEX_BINDING_BUFFER
+#define PHPGLFW_C_GL_VERTEX_BINDING_BUFFER GL_VERTEX_BINDING_BUFFER // => 0x8F4F
+#endif
/**
* @vendor APPLE
@@ -5536,6 +5744,266 @@ void phpglfw_register_constants(INIT_FUNC_ARGS);
#ifdef GL_RGB10_A2UI
#define PHPGLFW_C_GL_RGB10_A2UI GL_RGB10_A2UI // => 0x906F
#endif
+
+#ifdef GL_MIN_MAP_BUFFER_ALIGNMENT
+#define PHPGLFW_C_GL_MIN_MAP_BUFFER_ALIGNMENT GL_MIN_MAP_BUFFER_ALIGNMENT // => 0x90BC
+#endif
+
+#ifdef GL_IMAGE_1D
+#define PHPGLFW_C_GL_IMAGE_1D GL_IMAGE_1D // => 0x904C
+#endif
+
+#ifdef GL_IMAGE_2D
+#define PHPGLFW_C_GL_IMAGE_2D GL_IMAGE_2D // => 0x904D
+#endif
+
+#ifdef GL_IMAGE_3D
+#define PHPGLFW_C_GL_IMAGE_3D GL_IMAGE_3D // => 0x904E
+#endif
+
+#ifdef GL_IMAGE_2D_RECT
+#define PHPGLFW_C_GL_IMAGE_2D_RECT GL_IMAGE_2D_RECT // => 0x904F
+#endif
+
+#ifdef GL_IMAGE_CUBE
+#define PHPGLFW_C_GL_IMAGE_CUBE GL_IMAGE_CUBE // => 0x9050
+#endif
+
+#ifdef GL_IMAGE_BUFFER
+#define PHPGLFW_C_GL_IMAGE_BUFFER GL_IMAGE_BUFFER // => 0x9051
+#endif
+
+#ifdef GL_IMAGE_1D_ARRAY
+#define PHPGLFW_C_GL_IMAGE_1D_ARRAY GL_IMAGE_1D_ARRAY // => 0x9052
+#endif
+
+#ifdef GL_IMAGE_2D_ARRAY
+#define PHPGLFW_C_GL_IMAGE_2D_ARRAY GL_IMAGE_2D_ARRAY // => 0x9053
+#endif
+
+#ifdef GL_IMAGE_CUBE_MAP_ARRAY
+#define PHPGLFW_C_GL_IMAGE_CUBE_MAP_ARRAY GL_IMAGE_CUBE_MAP_ARRAY // => 0x9054
+#endif
+
+#ifdef GL_IMAGE_2D_MULTISAMPLE
+#define PHPGLFW_C_GL_IMAGE_2D_MULTISAMPLE GL_IMAGE_2D_MULTISAMPLE // => 0x9055
+#endif
+
+#ifdef GL_IMAGE_2D_MULTISAMPLE_ARRAY
+#define PHPGLFW_C_GL_IMAGE_2D_MULTISAMPLE_ARRAY GL_IMAGE_2D_MULTISAMPLE_ARRAY // => 0x9056
+#endif
+
+#ifdef GL_INT_IMAGE_1D
+#define PHPGLFW_C_GL_INT_IMAGE_1D GL_INT_IMAGE_1D // => 0x9057
+#endif
+
+#ifdef GL_INT_IMAGE_2D
+#define PHPGLFW_C_GL_INT_IMAGE_2D GL_INT_IMAGE_2D // => 0x9058
+#endif
+
+#ifdef GL_INT_IMAGE_3D
+#define PHPGLFW_C_GL_INT_IMAGE_3D GL_INT_IMAGE_3D // => 0x9059
+#endif
+
+#ifdef GL_INT_IMAGE_2D_RECT
+#define PHPGLFW_C_GL_INT_IMAGE_2D_RECT GL_INT_IMAGE_2D_RECT // => 0x905A
+#endif
+
+#ifdef GL_INT_IMAGE_CUBE
+#define PHPGLFW_C_GL_INT_IMAGE_CUBE GL_INT_IMAGE_CUBE // => 0x905B
+#endif
+
+#ifdef GL_INT_IMAGE_BUFFER
+#define PHPGLFW_C_GL_INT_IMAGE_BUFFER GL_INT_IMAGE_BUFFER // => 0x905C
+#endif
+
+#ifdef GL_INT_IMAGE_1D_ARRAY
+#define PHPGLFW_C_GL_INT_IMAGE_1D_ARRAY GL_INT_IMAGE_1D_ARRAY // => 0x905D
+#endif
+
+#ifdef GL_INT_IMAGE_2D_ARRAY
+#define PHPGLFW_C_GL_INT_IMAGE_2D_ARRAY GL_INT_IMAGE_2D_ARRAY // => 0x905E
+#endif
+
+#ifdef GL_INT_IMAGE_CUBE_MAP_ARRAY
+#define PHPGLFW_C_GL_INT_IMAGE_CUBE_MAP_ARRAY GL_INT_IMAGE_CUBE_MAP_ARRAY // => 0x905F
+#endif
+
+#ifdef GL_INT_IMAGE_2D_MULTISAMPLE
+#define PHPGLFW_C_GL_INT_IMAGE_2D_MULTISAMPLE GL_INT_IMAGE_2D_MULTISAMPLE // => 0x9060
+#endif
+
+#ifdef GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY
+#define PHPGLFW_C_GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY // => 0x9061
+#endif
+
+#ifdef GL_UNSIGNED_INT_IMAGE_1D
+#define PHPGLFW_C_GL_UNSIGNED_INT_IMAGE_1D GL_UNSIGNED_INT_IMAGE_1D // => 0x9062
+#endif
+
+#ifdef GL_UNSIGNED_INT_IMAGE_2D
+#define PHPGLFW_C_GL_UNSIGNED_INT_IMAGE_2D GL_UNSIGNED_INT_IMAGE_2D // => 0x9063
+#endif
+
+#ifdef GL_UNSIGNED_INT_IMAGE_3D
+#define PHPGLFW_C_GL_UNSIGNED_INT_IMAGE_3D GL_UNSIGNED_INT_IMAGE_3D // => 0x9064
+#endif
+
+#ifdef GL_UNSIGNED_INT_IMAGE_2D_RECT
+#define PHPGLFW_C_GL_UNSIGNED_INT_IMAGE_2D_RECT GL_UNSIGNED_INT_IMAGE_2D_RECT // => 0x9065
+#endif
+
+#ifdef GL_UNSIGNED_INT_IMAGE_CUBE
+#define PHPGLFW_C_GL_UNSIGNED_INT_IMAGE_CUBE GL_UNSIGNED_INT_IMAGE_CUBE // => 0x9066
+#endif
+
+#ifdef GL_UNSIGNED_INT_IMAGE_BUFFER
+#define PHPGLFW_C_GL_UNSIGNED_INT_IMAGE_BUFFER GL_UNSIGNED_INT_IMAGE_BUFFER // => 0x9067
+#endif
+
+#ifdef GL_UNSIGNED_INT_IMAGE_1D_ARRAY
+#define PHPGLFW_C_GL_UNSIGNED_INT_IMAGE_1D_ARRAY GL_UNSIGNED_INT_IMAGE_1D_ARRAY // => 0x9068
+#endif
+
+#ifdef GL_UNSIGNED_INT_IMAGE_2D_ARRAY
+#define PHPGLFW_C_GL_UNSIGNED_INT_IMAGE_2D_ARRAY GL_UNSIGNED_INT_IMAGE_2D_ARRAY // => 0x9069
+#endif
+
+#ifdef GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY
+#define PHPGLFW_C_GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY // => 0x906A
+#endif
+
+#ifdef GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE
+#define PHPGLFW_C_GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE // => 0x906B
+#endif
+
+#ifdef GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY
+#define PHPGLFW_C_GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY // => 0x906C
+#endif
+
+#ifdef GL_MAX_IMAGE_SAMPLES
+#define PHPGLFW_C_GL_MAX_IMAGE_SAMPLES GL_MAX_IMAGE_SAMPLES // => 0x906D
+#endif
+
+#ifdef GL_IMAGE_BINDING_FORMAT
+#define PHPGLFW_C_GL_IMAGE_BINDING_FORMAT GL_IMAGE_BINDING_FORMAT // => 0x906E
+#endif
+
+#ifdef GL_IMAGE_FORMAT_COMPATIBILITY_TYPE
+#define PHPGLFW_C_GL_IMAGE_FORMAT_COMPATIBILITY_TYPE GL_IMAGE_FORMAT_COMPATIBILITY_TYPE // => 0x90C7
+#endif
+
+#ifdef GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE
+#define PHPGLFW_C_GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE // => 0x90C8
+#endif
+
+#ifdef GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS
+#define PHPGLFW_C_GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS // => 0x90C9
+#endif
+
+#ifdef GL_MAX_VERTEX_IMAGE_UNIFORMS
+#define PHPGLFW_C_GL_MAX_VERTEX_IMAGE_UNIFORMS GL_MAX_VERTEX_IMAGE_UNIFORMS // => 0x90CA
+#endif
+
+#ifdef GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS
+#define PHPGLFW_C_GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS // => 0x90CB
+#endif
+
+#ifdef GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS
+#define PHPGLFW_C_GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS // => 0x90CC
+#endif
+
+#ifdef GL_MAX_GEOMETRY_IMAGE_UNIFORMS
+#define PHPGLFW_C_GL_MAX_GEOMETRY_IMAGE_UNIFORMS GL_MAX_GEOMETRY_IMAGE_UNIFORMS // => 0x90CD
+#endif
+
+#ifdef GL_MAX_FRAGMENT_IMAGE_UNIFORMS
+#define PHPGLFW_C_GL_MAX_FRAGMENT_IMAGE_UNIFORMS GL_MAX_FRAGMENT_IMAGE_UNIFORMS // => 0x90CE
+#endif
+
+#ifdef GL_MAX_COMBINED_IMAGE_UNIFORMS
+#define PHPGLFW_C_GL_MAX_COMBINED_IMAGE_UNIFORMS GL_MAX_COMBINED_IMAGE_UNIFORMS // => 0x90CF
+#endif
+
+#ifdef GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS
+#define PHPGLFW_C_GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS // => 0x90EB
+#endif
+
+#ifdef GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER
+#define PHPGLFW_C_GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER // => 0x90EC
+#endif
+
+#ifdef GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER
+#define PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER // => 0x90ED
+#endif
+
+#ifdef GL_DISPATCH_INDIRECT_BUFFER
+#define PHPGLFW_C_GL_DISPATCH_INDIRECT_BUFFER GL_DISPATCH_INDIRECT_BUFFER // => 0x90EE
+#endif
+
+#ifdef GL_DISPATCH_INDIRECT_BUFFER_BINDING
+#define PHPGLFW_C_GL_DISPATCH_INDIRECT_BUFFER_BINDING GL_DISPATCH_INDIRECT_BUFFER_BINDING // => 0x90EF
+#endif
+
+#ifdef GL_SHADER_STORAGE_BUFFER
+#define PHPGLFW_C_GL_SHADER_STORAGE_BUFFER GL_SHADER_STORAGE_BUFFER // => 0x90D2
+#endif
+
+#ifdef GL_SHADER_STORAGE_BUFFER_BINDING
+#define PHPGLFW_C_GL_SHADER_STORAGE_BUFFER_BINDING GL_SHADER_STORAGE_BUFFER_BINDING // => 0x90D3
+#endif
+
+#ifdef GL_SHADER_STORAGE_BUFFER_START
+#define PHPGLFW_C_GL_SHADER_STORAGE_BUFFER_START GL_SHADER_STORAGE_BUFFER_START // => 0x90D4
+#endif
+
+#ifdef GL_SHADER_STORAGE_BUFFER_SIZE
+#define PHPGLFW_C_GL_SHADER_STORAGE_BUFFER_SIZE GL_SHADER_STORAGE_BUFFER_SIZE // => 0x90D5
+#endif
+
+#ifdef GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS
+#define PHPGLFW_C_GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS // => 0x90D6
+#endif
+
+#ifdef GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS
+#define PHPGLFW_C_GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS // => 0x90D7
+#endif
+
+#ifdef GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS
+#define PHPGLFW_C_GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS // => 0x90D8
+#endif
+
+#ifdef GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS
+#define PHPGLFW_C_GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS // => 0x90D9
+#endif
+
+#ifdef GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS
+#define PHPGLFW_C_GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS // => 0x90DA
+#endif
+
+#ifdef GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS
+#define PHPGLFW_C_GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS // => 0x90DB
+#endif
+
+#ifdef GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS
+#define PHPGLFW_C_GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS // => 0x90DC
+#endif
+
+#ifdef GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS
+#define PHPGLFW_C_GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS // => 0x90DD
+#endif
+
+#ifdef GL_MAX_SHADER_STORAGE_BLOCK_SIZE
+#define PHPGLFW_C_GL_MAX_SHADER_STORAGE_BLOCK_SIZE GL_MAX_SHADER_STORAGE_BLOCK_SIZE // => 0x90DE
+#endif
+
+#ifdef GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT
+#define PHPGLFW_C_GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT // => 0x90DF
+#endif
+
+#ifdef GL_DEPTH_STENCIL_TEXTURE_MODE
+#define PHPGLFW_C_GL_DEPTH_STENCIL_TEXTURE_MODE GL_DEPTH_STENCIL_TEXTURE_MODE // => 0x90EA
+#endif
/**
* @vendor AMD
@@ -5658,6 +6126,18 @@ void phpglfw_register_constants(INIT_FUNC_ARGS);
#ifdef GL_RGB565
#define PHPGLFW_C_GL_RGB565 GL_RGB565 // => 0x8D62
#endif
+
+#ifdef GL_PRIMITIVE_RESTART_FIXED_INDEX
+#define PHPGLFW_C_GL_PRIMITIVE_RESTART_FIXED_INDEX GL_PRIMITIVE_RESTART_FIXED_INDEX // => 0x8D69
+#endif
+
+#ifdef GL_ANY_SAMPLES_PASSED_CONSERVATIVE
+#define PHPGLFW_C_GL_ANY_SAMPLES_PASSED_CONSERVATIVE GL_ANY_SAMPLES_PASSED_CONSERVATIVE // => 0x8D6A
+#endif
+
+#ifdef GL_MAX_ELEMENT_INDEX
+#define PHPGLFW_C_GL_MAX_ELEMENT_INDEX GL_MAX_ELEMENT_INDEX // => 0x8D6B
+#endif
/**
* @vendor ARB
@@ -5703,27 +6183,427 @@ void phpglfw_register_constants(INIT_FUNC_ARGS);
#ifdef GL_UNDEFINED_VERTEX
#define PHPGLFW_C_GL_UNDEFINED_VERTEX GL_UNDEFINED_VERTEX // => 0x8260
#endif
-
-/**
- * @vendor AMD
- */
-#ifdef GL_PROGRAM_BINARY_LENGTH
-#define PHPGLFW_C_GL_PROGRAM_BINARY_LENGTH GL_PROGRAM_BINARY_LENGTH // => 0x8741
+#ifdef GL_MAX_COMPUTE_SHARED_MEMORY_SIZE
+#define PHPGLFW_C_GL_MAX_COMPUTE_SHARED_MEMORY_SIZE GL_MAX_COMPUTE_SHARED_MEMORY_SIZE // => 0x8262
#endif
-
-/**
- * UseProgramStageMask
- * ----------------------------------------------------------------------------
- *
- */
+#ifdef GL_MAX_COMPUTE_UNIFORM_COMPONENTS
+#define PHPGLFW_C_GL_MAX_COMPUTE_UNIFORM_COMPONENTS GL_MAX_COMPUTE_UNIFORM_COMPONENTS // => 0x8263
+#endif
-#ifdef GL_VERTEX_SHADER_BIT
-#define PHPGLFW_C_GL_VERTEX_SHADER_BIT GL_VERTEX_SHADER_BIT // => 0x00000001
+#ifdef GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS
+#define PHPGLFW_C_GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS // => 0x8264
#endif
-#ifdef GL_FRAGMENT_SHADER_BIT
+#ifdef GL_MAX_COMPUTE_ATOMIC_COUNTERS
+#define PHPGLFW_C_GL_MAX_COMPUTE_ATOMIC_COUNTERS GL_MAX_COMPUTE_ATOMIC_COUNTERS // => 0x8265
+#endif
+
+#ifdef GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS
+#define PHPGLFW_C_GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS // => 0x8266
+#endif
+
+#ifdef GL_COMPUTE_WORK_GROUP_SIZE
+#define PHPGLFW_C_GL_COMPUTE_WORK_GROUP_SIZE GL_COMPUTE_WORK_GROUP_SIZE // => 0x8267
+#endif
+
+#ifdef GL_DEBUG_OUTPUT_SYNCHRONOUS
+#define PHPGLFW_C_GL_DEBUG_OUTPUT_SYNCHRONOUS GL_DEBUG_OUTPUT_SYNCHRONOUS // => 0x8242
+#endif
+
+#ifdef GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH
+#define PHPGLFW_C_GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH // => 0x8243
+#endif
+
+#ifdef GL_DEBUG_CALLBACK_FUNCTION
+#define PHPGLFW_C_GL_DEBUG_CALLBACK_FUNCTION GL_DEBUG_CALLBACK_FUNCTION // => 0x8244
+#endif
+
+#ifdef GL_DEBUG_CALLBACK_USER_PARAM
+#define PHPGLFW_C_GL_DEBUG_CALLBACK_USER_PARAM GL_DEBUG_CALLBACK_USER_PARAM // => 0x8245
+#endif
+
+#ifdef GL_DEBUG_SOURCE_API
+#define PHPGLFW_C_GL_DEBUG_SOURCE_API GL_DEBUG_SOURCE_API // => 0x8246
+#endif
+
+#ifdef GL_DEBUG_SOURCE_WINDOW_SYSTEM
+#define PHPGLFW_C_GL_DEBUG_SOURCE_WINDOW_SYSTEM GL_DEBUG_SOURCE_WINDOW_SYSTEM // => 0x8247
+#endif
+
+#ifdef GL_DEBUG_SOURCE_SHADER_COMPILER
+#define PHPGLFW_C_GL_DEBUG_SOURCE_SHADER_COMPILER GL_DEBUG_SOURCE_SHADER_COMPILER // => 0x8248
+#endif
+
+#ifdef GL_DEBUG_SOURCE_THIRD_PARTY
+#define PHPGLFW_C_GL_DEBUG_SOURCE_THIRD_PARTY GL_DEBUG_SOURCE_THIRD_PARTY // => 0x8249
+#endif
+
+#ifdef GL_DEBUG_SOURCE_APPLICATION
+#define PHPGLFW_C_GL_DEBUG_SOURCE_APPLICATION GL_DEBUG_SOURCE_APPLICATION // => 0x824A
+#endif
+
+#ifdef GL_DEBUG_SOURCE_OTHER
+#define PHPGLFW_C_GL_DEBUG_SOURCE_OTHER GL_DEBUG_SOURCE_OTHER // => 0x824B
+#endif
+
+#ifdef GL_DEBUG_TYPE_ERROR
+#define PHPGLFW_C_GL_DEBUG_TYPE_ERROR GL_DEBUG_TYPE_ERROR // => 0x824C
+#endif
+
+#ifdef GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR
+#define PHPGLFW_C_GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR // => 0x824D
+#endif
+
+#ifdef GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR
+#define PHPGLFW_C_GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR // => 0x824E
+#endif
+
+#ifdef GL_DEBUG_TYPE_PORTABILITY
+#define PHPGLFW_C_GL_DEBUG_TYPE_PORTABILITY GL_DEBUG_TYPE_PORTABILITY // => 0x824F
+#endif
+
+#ifdef GL_DEBUG_TYPE_PERFORMANCE
+#define PHPGLFW_C_GL_DEBUG_TYPE_PERFORMANCE GL_DEBUG_TYPE_PERFORMANCE // => 0x8250
+#endif
+
+#ifdef GL_DEBUG_TYPE_OTHER
+#define PHPGLFW_C_GL_DEBUG_TYPE_OTHER GL_DEBUG_TYPE_OTHER // => 0x8251
+#endif
+
+#ifdef GL_DEBUG_TYPE_MARKER
+#define PHPGLFW_C_GL_DEBUG_TYPE_MARKER GL_DEBUG_TYPE_MARKER // => 0x8268
+#endif
+
+#ifdef GL_DEBUG_TYPE_PUSH_GROUP
+#define PHPGLFW_C_GL_DEBUG_TYPE_PUSH_GROUP GL_DEBUG_TYPE_PUSH_GROUP // => 0x8269
+#endif
+
+#ifdef GL_DEBUG_TYPE_POP_GROUP
+#define PHPGLFW_C_GL_DEBUG_TYPE_POP_GROUP GL_DEBUG_TYPE_POP_GROUP // => 0x826A
+#endif
+
+#ifdef GL_DEBUG_SEVERITY_NOTIFICATION
+#define PHPGLFW_C_GL_DEBUG_SEVERITY_NOTIFICATION GL_DEBUG_SEVERITY_NOTIFICATION // => 0x826B
+#endif
+
+#ifdef GL_MAX_DEBUG_GROUP_STACK_DEPTH
+#define PHPGLFW_C_GL_MAX_DEBUG_GROUP_STACK_DEPTH GL_MAX_DEBUG_GROUP_STACK_DEPTH // => 0x826C
+#endif
+
+#ifdef GL_DEBUG_GROUP_STACK_DEPTH
+#define PHPGLFW_C_GL_DEBUG_GROUP_STACK_DEPTH GL_DEBUG_GROUP_STACK_DEPTH // => 0x826D
+#endif
+
+#ifdef GL_MAX_UNIFORM_LOCATIONS
+#define PHPGLFW_C_GL_MAX_UNIFORM_LOCATIONS GL_MAX_UNIFORM_LOCATIONS // => 0x826E
+#endif
+
+#ifdef GL_INTERNALFORMAT_SUPPORTED
+#define PHPGLFW_C_GL_INTERNALFORMAT_SUPPORTED GL_INTERNALFORMAT_SUPPORTED // => 0x826F
+#endif
+
+#ifdef GL_INTERNALFORMAT_PREFERRED
+#define PHPGLFW_C_GL_INTERNALFORMAT_PREFERRED GL_INTERNALFORMAT_PREFERRED // => 0x8270
+#endif
+
+#ifdef GL_INTERNALFORMAT_RED_SIZE
+#define PHPGLFW_C_GL_INTERNALFORMAT_RED_SIZE GL_INTERNALFORMAT_RED_SIZE // => 0x8271
+#endif
+
+#ifdef GL_INTERNALFORMAT_GREEN_SIZE
+#define PHPGLFW_C_GL_INTERNALFORMAT_GREEN_SIZE GL_INTERNALFORMAT_GREEN_SIZE // => 0x8272
+#endif
+
+#ifdef GL_INTERNALFORMAT_BLUE_SIZE
+#define PHPGLFW_C_GL_INTERNALFORMAT_BLUE_SIZE GL_INTERNALFORMAT_BLUE_SIZE // => 0x8273
+#endif
+
+#ifdef GL_INTERNALFORMAT_ALPHA_SIZE
+#define PHPGLFW_C_GL_INTERNALFORMAT_ALPHA_SIZE GL_INTERNALFORMAT_ALPHA_SIZE // => 0x8274
+#endif
+
+#ifdef GL_INTERNALFORMAT_DEPTH_SIZE
+#define PHPGLFW_C_GL_INTERNALFORMAT_DEPTH_SIZE GL_INTERNALFORMAT_DEPTH_SIZE // => 0x8275
+#endif
+
+#ifdef GL_INTERNALFORMAT_STENCIL_SIZE
+#define PHPGLFW_C_GL_INTERNALFORMAT_STENCIL_SIZE GL_INTERNALFORMAT_STENCIL_SIZE // => 0x8276
+#endif
+
+#ifdef GL_INTERNALFORMAT_SHARED_SIZE
+#define PHPGLFW_C_GL_INTERNALFORMAT_SHARED_SIZE GL_INTERNALFORMAT_SHARED_SIZE // => 0x8277
+#endif
+
+#ifdef GL_INTERNALFORMAT_RED_TYPE
+#define PHPGLFW_C_GL_INTERNALFORMAT_RED_TYPE GL_INTERNALFORMAT_RED_TYPE // => 0x8278
+#endif
+
+#ifdef GL_INTERNALFORMAT_GREEN_TYPE
+#define PHPGLFW_C_GL_INTERNALFORMAT_GREEN_TYPE GL_INTERNALFORMAT_GREEN_TYPE // => 0x8279
+#endif
+
+#ifdef GL_INTERNALFORMAT_BLUE_TYPE
+#define PHPGLFW_C_GL_INTERNALFORMAT_BLUE_TYPE GL_INTERNALFORMAT_BLUE_TYPE // => 0x827A
+#endif
+
+#ifdef GL_INTERNALFORMAT_ALPHA_TYPE
+#define PHPGLFW_C_GL_INTERNALFORMAT_ALPHA_TYPE GL_INTERNALFORMAT_ALPHA_TYPE // => 0x827B
+#endif
+
+#ifdef GL_INTERNALFORMAT_DEPTH_TYPE
+#define PHPGLFW_C_GL_INTERNALFORMAT_DEPTH_TYPE GL_INTERNALFORMAT_DEPTH_TYPE // => 0x827C
+#endif
+
+#ifdef GL_INTERNALFORMAT_STENCIL_TYPE
+#define PHPGLFW_C_GL_INTERNALFORMAT_STENCIL_TYPE GL_INTERNALFORMAT_STENCIL_TYPE // => 0x827D
+#endif
+
+#ifdef GL_MAX_WIDTH
+#define PHPGLFW_C_GL_MAX_WIDTH GL_MAX_WIDTH // => 0x827E
+#endif
+
+#ifdef GL_MAX_HEIGHT
+#define PHPGLFW_C_GL_MAX_HEIGHT GL_MAX_HEIGHT // => 0x827F
+#endif
+
+#ifdef GL_MAX_DEPTH
+#define PHPGLFW_C_GL_MAX_DEPTH GL_MAX_DEPTH // => 0x8280
+#endif
+
+#ifdef GL_MAX_LAYERS
+#define PHPGLFW_C_GL_MAX_LAYERS GL_MAX_LAYERS // => 0x8281
+#endif
+
+#ifdef GL_MAX_COMBINED_DIMENSIONS
+#define PHPGLFW_C_GL_MAX_COMBINED_DIMENSIONS GL_MAX_COMBINED_DIMENSIONS // => 0x8282
+#endif
+
+#ifdef GL_COLOR_COMPONENTS
+#define PHPGLFW_C_GL_COLOR_COMPONENTS GL_COLOR_COMPONENTS // => 0x8283
+#endif
+
+#ifdef GL_DEPTH_COMPONENTS
+#define PHPGLFW_C_GL_DEPTH_COMPONENTS GL_DEPTH_COMPONENTS // => 0x8284
+#endif
+
+#ifdef GL_STENCIL_COMPONENTS
+#define PHPGLFW_C_GL_STENCIL_COMPONENTS GL_STENCIL_COMPONENTS // => 0x8285
+#endif
+
+#ifdef GL_COLOR_RENDERABLE
+#define PHPGLFW_C_GL_COLOR_RENDERABLE GL_COLOR_RENDERABLE // => 0x8286
+#endif
+
+#ifdef GL_DEPTH_RENDERABLE
+#define PHPGLFW_C_GL_DEPTH_RENDERABLE GL_DEPTH_RENDERABLE // => 0x8287
+#endif
+
+#ifdef GL_STENCIL_RENDERABLE
+#define PHPGLFW_C_GL_STENCIL_RENDERABLE GL_STENCIL_RENDERABLE // => 0x8288
+#endif
+
+#ifdef GL_FRAMEBUFFER_RENDERABLE
+#define PHPGLFW_C_GL_FRAMEBUFFER_RENDERABLE GL_FRAMEBUFFER_RENDERABLE // => 0x8289
+#endif
+
+#ifdef GL_FRAMEBUFFER_RENDERABLE_LAYERED
+#define PHPGLFW_C_GL_FRAMEBUFFER_RENDERABLE_LAYERED GL_FRAMEBUFFER_RENDERABLE_LAYERED // => 0x828A
+#endif
+
+#ifdef GL_FRAMEBUFFER_BLEND
+#define PHPGLFW_C_GL_FRAMEBUFFER_BLEND GL_FRAMEBUFFER_BLEND // => 0x828B
+#endif
+
+#ifdef GL_READ_PIXELS
+#define PHPGLFW_C_GL_READ_PIXELS GL_READ_PIXELS // => 0x828C
+#endif
+
+#ifdef GL_READ_PIXELS_FORMAT
+#define PHPGLFW_C_GL_READ_PIXELS_FORMAT GL_READ_PIXELS_FORMAT // => 0x828D
+#endif
+
+#ifdef GL_READ_PIXELS_TYPE
+#define PHPGLFW_C_GL_READ_PIXELS_TYPE GL_READ_PIXELS_TYPE // => 0x828E
+#endif
+
+#ifdef GL_TEXTURE_IMAGE_FORMAT
+#define PHPGLFW_C_GL_TEXTURE_IMAGE_FORMAT GL_TEXTURE_IMAGE_FORMAT // => 0x828F
+#endif
+
+#ifdef GL_TEXTURE_IMAGE_TYPE
+#define PHPGLFW_C_GL_TEXTURE_IMAGE_TYPE GL_TEXTURE_IMAGE_TYPE // => 0x8290
+#endif
+
+#ifdef GL_GET_TEXTURE_IMAGE_FORMAT
+#define PHPGLFW_C_GL_GET_TEXTURE_IMAGE_FORMAT GL_GET_TEXTURE_IMAGE_FORMAT // => 0x8291
+#endif
+
+#ifdef GL_GET_TEXTURE_IMAGE_TYPE
+#define PHPGLFW_C_GL_GET_TEXTURE_IMAGE_TYPE GL_GET_TEXTURE_IMAGE_TYPE // => 0x8292
+#endif
+
+#ifdef GL_MIPMAP
+#define PHPGLFW_C_GL_MIPMAP GL_MIPMAP // => 0x8293
+#endif
+
+#ifdef GL_MANUAL_GENERATE_MIPMAP
+#define PHPGLFW_C_GL_MANUAL_GENERATE_MIPMAP GL_MANUAL_GENERATE_MIPMAP // => 0x8294
+#endif
+
+#ifdef GL_AUTO_GENERATE_MIPMAP
+#define PHPGLFW_C_GL_AUTO_GENERATE_MIPMAP GL_AUTO_GENERATE_MIPMAP // => 0x8295
+#endif
+
+#ifdef GL_COLOR_ENCODING
+#define PHPGLFW_C_GL_COLOR_ENCODING GL_COLOR_ENCODING // => 0x8296
+#endif
+
+#ifdef GL_SRGB_READ
+#define PHPGLFW_C_GL_SRGB_READ GL_SRGB_READ // => 0x8297
+#endif
+
+#ifdef GL_SRGB_WRITE
+#define PHPGLFW_C_GL_SRGB_WRITE GL_SRGB_WRITE // => 0x8298
+#endif
+
+#ifdef GL_FILTER
+#define PHPGLFW_C_GL_FILTER GL_FILTER // => 0x829A
+#endif
+
+#ifdef GL_VERTEX_TEXTURE
+#define PHPGLFW_C_GL_VERTEX_TEXTURE GL_VERTEX_TEXTURE // => 0x829B
+#endif
+
+#ifdef GL_TESS_CONTROL_TEXTURE
+#define PHPGLFW_C_GL_TESS_CONTROL_TEXTURE GL_TESS_CONTROL_TEXTURE // => 0x829C
+#endif
+
+#ifdef GL_TESS_EVALUATION_TEXTURE
+#define PHPGLFW_C_GL_TESS_EVALUATION_TEXTURE GL_TESS_EVALUATION_TEXTURE // => 0x829D
+#endif
+
+#ifdef GL_GEOMETRY_TEXTURE
+#define PHPGLFW_C_GL_GEOMETRY_TEXTURE GL_GEOMETRY_TEXTURE // => 0x829E
+#endif
+
+#ifdef GL_FRAGMENT_TEXTURE
+#define PHPGLFW_C_GL_FRAGMENT_TEXTURE GL_FRAGMENT_TEXTURE // => 0x829F
+#endif
+
+#ifdef GL_COMPUTE_TEXTURE
+#define PHPGLFW_C_GL_COMPUTE_TEXTURE GL_COMPUTE_TEXTURE // => 0x82A0
+#endif
+
+#ifdef GL_TEXTURE_SHADOW
+#define PHPGLFW_C_GL_TEXTURE_SHADOW GL_TEXTURE_SHADOW // => 0x82A1
+#endif
+
+#ifdef GL_TEXTURE_GATHER
+#define PHPGLFW_C_GL_TEXTURE_GATHER GL_TEXTURE_GATHER // => 0x82A2
+#endif
+
+#ifdef GL_TEXTURE_GATHER_SHADOW
+#define PHPGLFW_C_GL_TEXTURE_GATHER_SHADOW GL_TEXTURE_GATHER_SHADOW // => 0x82A3
+#endif
+
+#ifdef GL_SHADER_IMAGE_LOAD
+#define PHPGLFW_C_GL_SHADER_IMAGE_LOAD GL_SHADER_IMAGE_LOAD // => 0x82A4
+#endif
+
+#ifdef GL_SHADER_IMAGE_STORE
+#define PHPGLFW_C_GL_SHADER_IMAGE_STORE GL_SHADER_IMAGE_STORE // => 0x82A5
+#endif
+
+#ifdef GL_SHADER_IMAGE_ATOMIC
+#define PHPGLFW_C_GL_SHADER_IMAGE_ATOMIC GL_SHADER_IMAGE_ATOMIC // => 0x82A6
+#endif
+
+#ifdef GL_IMAGE_TEXEL_SIZE
+#define PHPGLFW_C_GL_IMAGE_TEXEL_SIZE GL_IMAGE_TEXEL_SIZE // => 0x82A7
+#endif
+
+#ifdef GL_IMAGE_COMPATIBILITY_CLASS
+#define PHPGLFW_C_GL_IMAGE_COMPATIBILITY_CLASS GL_IMAGE_COMPATIBILITY_CLASS // => 0x82A8
+#endif
+
+#ifdef GL_IMAGE_PIXEL_FORMAT
+#define PHPGLFW_C_GL_IMAGE_PIXEL_FORMAT GL_IMAGE_PIXEL_FORMAT // => 0x82A9
+#endif
+
+#ifdef GL_IMAGE_PIXEL_TYPE
+#define PHPGLFW_C_GL_IMAGE_PIXEL_TYPE GL_IMAGE_PIXEL_TYPE // => 0x82AA
+#endif
+
+#ifdef GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST
+#define PHPGLFW_C_GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST // => 0x82AC
+#endif
+
+#ifdef GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST
+#define PHPGLFW_C_GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST // => 0x82AD
+#endif
+
+#ifdef GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE
+#define PHPGLFW_C_GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE // => 0x82AE
+#endif
+
+#ifdef GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE
+#define PHPGLFW_C_GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE // => 0x82AF
+#endif
+
+#ifdef GL_GUILTY_CONTEXT_RESET
+#define PHPGLFW_C_GL_GUILTY_CONTEXT_RESET GL_GUILTY_CONTEXT_RESET // => 0x8253
+#endif
+
+#ifdef GL_INNOCENT_CONTEXT_RESET
+#define PHPGLFW_C_GL_INNOCENT_CONTEXT_RESET GL_INNOCENT_CONTEXT_RESET // => 0x8254
+#endif
+
+#ifdef GL_UNKNOWN_CONTEXT_RESET
+#define PHPGLFW_C_GL_UNKNOWN_CONTEXT_RESET GL_UNKNOWN_CONTEXT_RESET // => 0x8255
+#endif
+
+#ifdef GL_RESET_NOTIFICATION_STRATEGY
+#define PHPGLFW_C_GL_RESET_NOTIFICATION_STRATEGY GL_RESET_NOTIFICATION_STRATEGY // => 0x8256
+#endif
+
+#ifdef GL_LOSE_CONTEXT_ON_RESET
+#define PHPGLFW_C_GL_LOSE_CONTEXT_ON_RESET GL_LOSE_CONTEXT_ON_RESET // => 0x8252
+#endif
+
+#ifdef GL_NO_RESET_NOTIFICATION
+#define PHPGLFW_C_GL_NO_RESET_NOTIFICATION GL_NO_RESET_NOTIFICATION // => 0x8261
+#endif
+
+/**
+ * @vendor AMD
+ */
+
+#ifdef GL_PROGRAM_BINARY_LENGTH
+#define PHPGLFW_C_GL_PROGRAM_BINARY_LENGTH GL_PROGRAM_BINARY_LENGTH // => 0x8741
+#endif
+
+#ifdef GL_VERTEX_ATTRIB_ARRAY_LONG
+#define PHPGLFW_C_GL_VERTEX_ATTRIB_ARRAY_LONG GL_VERTEX_ATTRIB_ARRAY_LONG // => 0x874E
+#endif
+
+#ifdef GL_MIRROR_CLAMP_TO_EDGE
+#define PHPGLFW_C_GL_MIRROR_CLAMP_TO_EDGE GL_MIRROR_CLAMP_TO_EDGE // => 0x8743
+#endif
+
+/**
+
+ * UseProgramStageMask
+ * ----------------------------------------------------------------------------
+ *
+ */
+
+#ifdef GL_VERTEX_SHADER_BIT
+#define PHPGLFW_C_GL_VERTEX_SHADER_BIT GL_VERTEX_SHADER_BIT // => 0x00000001
+#endif
+
+#ifdef GL_FRAGMENT_SHADER_BIT
#define PHPGLFW_C_GL_FRAGMENT_SHADER_BIT GL_FRAGMENT_SHADER_BIT // => 0x00000002
#endif
@@ -5742,6 +6622,958 @@ void phpglfw_register_constants(INIT_FUNC_ARGS);
#ifdef GL_ALL_SHADER_BITS
#define PHPGLFW_C_GL_ALL_SHADER_BITS GL_ALL_SHADER_BITS // => 0xFFFFFFFF
#endif
+
+#ifdef GL_COMPUTE_SHADER_BIT
+#define PHPGLFW_C_GL_COMPUTE_SHADER_BIT GL_COMPUTE_SHADER_BIT // => 0x00000020
+#endif
+
+/**
+ * @vendor ARB
+ */
+
+#ifdef GL_NUM_SAMPLE_COUNTS
+#define PHPGLFW_C_GL_NUM_SAMPLE_COUNTS GL_NUM_SAMPLE_COUNTS // => 0x9380
+#endif
+
+/**
+ * @vendor NV
+ * Khronos bug 7658
+ */
+
+#ifdef GL_ATOMIC_COUNTER_BUFFER
+#define PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER GL_ATOMIC_COUNTER_BUFFER // => 0x92C0
+#endif
+
+#ifdef GL_ATOMIC_COUNTER_BUFFER_BINDING
+#define PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_BINDING GL_ATOMIC_COUNTER_BUFFER_BINDING // => 0x92C1
+#endif
+
+#ifdef GL_ATOMIC_COUNTER_BUFFER_START
+#define PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_START GL_ATOMIC_COUNTER_BUFFER_START // => 0x92C2
+#endif
+
+#ifdef GL_ATOMIC_COUNTER_BUFFER_SIZE
+#define PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_SIZE GL_ATOMIC_COUNTER_BUFFER_SIZE // => 0x92C3
+#endif
+
+#ifdef GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE
+#define PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE // => 0x92C4
+#endif
+
+#ifdef GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS
+#define PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS // => 0x92C5
+#endif
+
+#ifdef GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES
+#define PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES // => 0x92C6
+#endif
+
+#ifdef GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER
+#define PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER // => 0x92C7
+#endif
+
+#ifdef GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER
+#define PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER // => 0x92C8
+#endif
+
+#ifdef GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER
+#define PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER // => 0x92C9
+#endif
+
+#ifdef GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER
+#define PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER // => 0x92CA
+#endif
+
+#ifdef GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER
+#define PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER // => 0x92CB
+#endif
+
+#ifdef GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS
+#define PHPGLFW_C_GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS // => 0x92CC
+#endif
+
+#ifdef GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS
+#define PHPGLFW_C_GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS // => 0x92CD
+#endif
+
+#ifdef GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS
+#define PHPGLFW_C_GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS // => 0x92CE
+#endif
+
+#ifdef GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS
+#define PHPGLFW_C_GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS // => 0x92CF
+#endif
+
+#ifdef GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS
+#define PHPGLFW_C_GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS // => 0x92D0
+#endif
+
+#ifdef GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS
+#define PHPGLFW_C_GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS // => 0x92D1
+#endif
+
+#ifdef GL_MAX_VERTEX_ATOMIC_COUNTERS
+#define PHPGLFW_C_GL_MAX_VERTEX_ATOMIC_COUNTERS GL_MAX_VERTEX_ATOMIC_COUNTERS // => 0x92D2
+#endif
+
+#ifdef GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS
+#define PHPGLFW_C_GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS // => 0x92D3
+#endif
+
+#ifdef GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS
+#define PHPGLFW_C_GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS // => 0x92D4
+#endif
+
+#ifdef GL_MAX_GEOMETRY_ATOMIC_COUNTERS
+#define PHPGLFW_C_GL_MAX_GEOMETRY_ATOMIC_COUNTERS GL_MAX_GEOMETRY_ATOMIC_COUNTERS // => 0x92D5
+#endif
+
+#ifdef GL_MAX_FRAGMENT_ATOMIC_COUNTERS
+#define PHPGLFW_C_GL_MAX_FRAGMENT_ATOMIC_COUNTERS GL_MAX_FRAGMENT_ATOMIC_COUNTERS // => 0x92D6
+#endif
+
+#ifdef GL_MAX_COMBINED_ATOMIC_COUNTERS
+#define PHPGLFW_C_GL_MAX_COMBINED_ATOMIC_COUNTERS GL_MAX_COMBINED_ATOMIC_COUNTERS // => 0x92D7
+#endif
+
+#ifdef GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE
+#define PHPGLFW_C_GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE // => 0x92D8
+#endif
+
+#ifdef GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS
+#define PHPGLFW_C_GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS // => 0x92DC
+#endif
+
+#ifdef GL_ACTIVE_ATOMIC_COUNTER_BUFFERS
+#define PHPGLFW_C_GL_ACTIVE_ATOMIC_COUNTER_BUFFERS GL_ACTIVE_ATOMIC_COUNTER_BUFFERS // => 0x92D9
+#endif
+
+#ifdef GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX
+#define PHPGLFW_C_GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX // => 0x92DA
+#endif
+
+#ifdef GL_UNSIGNED_INT_ATOMIC_COUNTER
+#define PHPGLFW_C_GL_UNSIGNED_INT_ATOMIC_COUNTER GL_UNSIGNED_INT_ATOMIC_COUNTER // => 0x92DB
+#endif
+
+#ifdef GL_DEBUG_OUTPUT
+#define PHPGLFW_C_GL_DEBUG_OUTPUT GL_DEBUG_OUTPUT // => 0x92E0
+#endif
+
+#ifdef GL_FRAMEBUFFER_DEFAULT_WIDTH
+#define PHPGLFW_C_GL_FRAMEBUFFER_DEFAULT_WIDTH GL_FRAMEBUFFER_DEFAULT_WIDTH // => 0x9310
+#endif
+
+#ifdef GL_FRAMEBUFFER_DEFAULT_HEIGHT
+#define PHPGLFW_C_GL_FRAMEBUFFER_DEFAULT_HEIGHT GL_FRAMEBUFFER_DEFAULT_HEIGHT // => 0x9311
+#endif
+
+#ifdef GL_FRAMEBUFFER_DEFAULT_LAYERS
+#define PHPGLFW_C_GL_FRAMEBUFFER_DEFAULT_LAYERS GL_FRAMEBUFFER_DEFAULT_LAYERS // => 0x9312
+#endif
+
+#ifdef GL_FRAMEBUFFER_DEFAULT_SAMPLES
+#define PHPGLFW_C_GL_FRAMEBUFFER_DEFAULT_SAMPLES GL_FRAMEBUFFER_DEFAULT_SAMPLES // => 0x9313
+#endif
+
+#ifdef GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS
+#define PHPGLFW_C_GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS // => 0x9314
+#endif
+
+#ifdef GL_MAX_FRAMEBUFFER_WIDTH
+#define PHPGLFW_C_GL_MAX_FRAMEBUFFER_WIDTH GL_MAX_FRAMEBUFFER_WIDTH // => 0x9315
+#endif
+
+#ifdef GL_MAX_FRAMEBUFFER_HEIGHT
+#define PHPGLFW_C_GL_MAX_FRAMEBUFFER_HEIGHT GL_MAX_FRAMEBUFFER_HEIGHT // => 0x9316
+#endif
+
+#ifdef GL_MAX_FRAMEBUFFER_LAYERS
+#define PHPGLFW_C_GL_MAX_FRAMEBUFFER_LAYERS GL_MAX_FRAMEBUFFER_LAYERS // => 0x9317
+#endif
+
+#ifdef GL_MAX_FRAMEBUFFER_SAMPLES
+#define PHPGLFW_C_GL_MAX_FRAMEBUFFER_SAMPLES GL_MAX_FRAMEBUFFER_SAMPLES // => 0x9318
+#endif
+
+#ifdef GL_UNIFORM
+#define PHPGLFW_C_GL_UNIFORM GL_UNIFORM // => 0x92E1
+#endif
+
+#ifdef GL_UNIFORM_BLOCK
+#define PHPGLFW_C_GL_UNIFORM_BLOCK GL_UNIFORM_BLOCK // => 0x92E2
+#endif
+
+#ifdef GL_PROGRAM_INPUT
+#define PHPGLFW_C_GL_PROGRAM_INPUT GL_PROGRAM_INPUT // => 0x92E3
+#endif
+
+#ifdef GL_PROGRAM_OUTPUT
+#define PHPGLFW_C_GL_PROGRAM_OUTPUT GL_PROGRAM_OUTPUT // => 0x92E4
+#endif
+
+#ifdef GL_BUFFER_VARIABLE
+#define PHPGLFW_C_GL_BUFFER_VARIABLE GL_BUFFER_VARIABLE // => 0x92E5
+#endif
+
+#ifdef GL_SHADER_STORAGE_BLOCK
+#define PHPGLFW_C_GL_SHADER_STORAGE_BLOCK GL_SHADER_STORAGE_BLOCK // => 0x92E6
+#endif
+
+#ifdef GL_VERTEX_SUBROUTINE
+#define PHPGLFW_C_GL_VERTEX_SUBROUTINE GL_VERTEX_SUBROUTINE // => 0x92E8
+#endif
+
+#ifdef GL_TESS_CONTROL_SUBROUTINE
+#define PHPGLFW_C_GL_TESS_CONTROL_SUBROUTINE GL_TESS_CONTROL_SUBROUTINE // => 0x92E9
+#endif
+
+#ifdef GL_TESS_EVALUATION_SUBROUTINE
+#define PHPGLFW_C_GL_TESS_EVALUATION_SUBROUTINE GL_TESS_EVALUATION_SUBROUTINE // => 0x92EA
+#endif
+
+#ifdef GL_GEOMETRY_SUBROUTINE
+#define PHPGLFW_C_GL_GEOMETRY_SUBROUTINE GL_GEOMETRY_SUBROUTINE // => 0x92EB
+#endif
+
+#ifdef GL_FRAGMENT_SUBROUTINE
+#define PHPGLFW_C_GL_FRAGMENT_SUBROUTINE GL_FRAGMENT_SUBROUTINE // => 0x92EC
+#endif
+
+#ifdef GL_COMPUTE_SUBROUTINE
+#define PHPGLFW_C_GL_COMPUTE_SUBROUTINE GL_COMPUTE_SUBROUTINE // => 0x92ED
+#endif
+
+#ifdef GL_VERTEX_SUBROUTINE_UNIFORM
+#define PHPGLFW_C_GL_VERTEX_SUBROUTINE_UNIFORM GL_VERTEX_SUBROUTINE_UNIFORM // => 0x92EE
+#endif
+
+#ifdef GL_TESS_CONTROL_SUBROUTINE_UNIFORM
+#define PHPGLFW_C_GL_TESS_CONTROL_SUBROUTINE_UNIFORM GL_TESS_CONTROL_SUBROUTINE_UNIFORM // => 0x92EF
+#endif
+
+#ifdef GL_TESS_EVALUATION_SUBROUTINE_UNIFORM
+#define PHPGLFW_C_GL_TESS_EVALUATION_SUBROUTINE_UNIFORM GL_TESS_EVALUATION_SUBROUTINE_UNIFORM // => 0x92F0
+#endif
+
+#ifdef GL_GEOMETRY_SUBROUTINE_UNIFORM
+#define PHPGLFW_C_GL_GEOMETRY_SUBROUTINE_UNIFORM GL_GEOMETRY_SUBROUTINE_UNIFORM // => 0x92F1
+#endif
+
+#ifdef GL_FRAGMENT_SUBROUTINE_UNIFORM
+#define PHPGLFW_C_GL_FRAGMENT_SUBROUTINE_UNIFORM GL_FRAGMENT_SUBROUTINE_UNIFORM // => 0x92F2
+#endif
+
+#ifdef GL_COMPUTE_SUBROUTINE_UNIFORM
+#define PHPGLFW_C_GL_COMPUTE_SUBROUTINE_UNIFORM GL_COMPUTE_SUBROUTINE_UNIFORM // => 0x92F3
+#endif
+
+#ifdef GL_TRANSFORM_FEEDBACK_VARYING
+#define PHPGLFW_C_GL_TRANSFORM_FEEDBACK_VARYING GL_TRANSFORM_FEEDBACK_VARYING // => 0x92F4
+#endif
+
+#ifdef GL_ACTIVE_RESOURCES
+#define PHPGLFW_C_GL_ACTIVE_RESOURCES GL_ACTIVE_RESOURCES // => 0x92F5
+#endif
+
+#ifdef GL_MAX_NAME_LENGTH
+#define PHPGLFW_C_GL_MAX_NAME_LENGTH GL_MAX_NAME_LENGTH // => 0x92F6
+#endif
+
+#ifdef GL_MAX_NUM_ACTIVE_VARIABLES
+#define PHPGLFW_C_GL_MAX_NUM_ACTIVE_VARIABLES GL_MAX_NUM_ACTIVE_VARIABLES // => 0x92F7
+#endif
+
+#ifdef GL_MAX_NUM_COMPATIBLE_SUBROUTINES
+#define PHPGLFW_C_GL_MAX_NUM_COMPATIBLE_SUBROUTINES GL_MAX_NUM_COMPATIBLE_SUBROUTINES // => 0x92F8
+#endif
+
+#ifdef GL_NAME_LENGTH
+#define PHPGLFW_C_GL_NAME_LENGTH GL_NAME_LENGTH // => 0x92F9
+#endif
+
+#ifdef GL_TYPE
+#define PHPGLFW_C_GL_TYPE GL_TYPE // => 0x92FA
+#endif
+
+#ifdef GL_ARRAY_SIZE
+#define PHPGLFW_C_GL_ARRAY_SIZE GL_ARRAY_SIZE // => 0x92FB
+#endif
+
+#ifdef GL_OFFSET
+#define PHPGLFW_C_GL_OFFSET GL_OFFSET // => 0x92FC
+#endif
+
+#ifdef GL_BLOCK_INDEX
+#define PHPGLFW_C_GL_BLOCK_INDEX GL_BLOCK_INDEX // => 0x92FD
+#endif
+
+#ifdef GL_ARRAY_STRIDE
+#define PHPGLFW_C_GL_ARRAY_STRIDE GL_ARRAY_STRIDE // => 0x92FE
+#endif
+
+#ifdef GL_MATRIX_STRIDE
+#define PHPGLFW_C_GL_MATRIX_STRIDE GL_MATRIX_STRIDE // => 0x92FF
+#endif
+
+#ifdef GL_IS_ROW_MAJOR
+#define PHPGLFW_C_GL_IS_ROW_MAJOR GL_IS_ROW_MAJOR // => 0x9300
+#endif
+
+#ifdef GL_ATOMIC_COUNTER_BUFFER_INDEX
+#define PHPGLFW_C_GL_ATOMIC_COUNTER_BUFFER_INDEX GL_ATOMIC_COUNTER_BUFFER_INDEX // => 0x9301
+#endif
+
+#ifdef GL_BUFFER_BINDING
+#define PHPGLFW_C_GL_BUFFER_BINDING GL_BUFFER_BINDING // => 0x9302
+#endif
+
+#ifdef GL_BUFFER_DATA_SIZE
+#define PHPGLFW_C_GL_BUFFER_DATA_SIZE GL_BUFFER_DATA_SIZE // => 0x9303
+#endif
+
+#ifdef GL_NUM_ACTIVE_VARIABLES
+#define PHPGLFW_C_GL_NUM_ACTIVE_VARIABLES GL_NUM_ACTIVE_VARIABLES // => 0x9304
+#endif
+
+#ifdef GL_ACTIVE_VARIABLES
+#define PHPGLFW_C_GL_ACTIVE_VARIABLES GL_ACTIVE_VARIABLES // => 0x9305
+#endif
+
+#ifdef GL_REFERENCED_BY_VERTEX_SHADER
+#define PHPGLFW_C_GL_REFERENCED_BY_VERTEX_SHADER GL_REFERENCED_BY_VERTEX_SHADER // => 0x9306
+#endif
+
+#ifdef GL_REFERENCED_BY_TESS_CONTROL_SHADER
+#define PHPGLFW_C_GL_REFERENCED_BY_TESS_CONTROL_SHADER GL_REFERENCED_BY_TESS_CONTROL_SHADER // => 0x9307
+#endif
+
+#ifdef GL_REFERENCED_BY_TESS_EVALUATION_SHADER
+#define PHPGLFW_C_GL_REFERENCED_BY_TESS_EVALUATION_SHADER GL_REFERENCED_BY_TESS_EVALUATION_SHADER // => 0x9308
+#endif
+
+#ifdef GL_REFERENCED_BY_GEOMETRY_SHADER
+#define PHPGLFW_C_GL_REFERENCED_BY_GEOMETRY_SHADER GL_REFERENCED_BY_GEOMETRY_SHADER // => 0x9309
+#endif
+
+#ifdef GL_REFERENCED_BY_FRAGMENT_SHADER
+#define PHPGLFW_C_GL_REFERENCED_BY_FRAGMENT_SHADER GL_REFERENCED_BY_FRAGMENT_SHADER // => 0x930A
+#endif
+
+#ifdef GL_REFERENCED_BY_COMPUTE_SHADER
+#define PHPGLFW_C_GL_REFERENCED_BY_COMPUTE_SHADER GL_REFERENCED_BY_COMPUTE_SHADER // => 0x930B
+#endif
+
+#ifdef GL_TOP_LEVEL_ARRAY_SIZE
+#define PHPGLFW_C_GL_TOP_LEVEL_ARRAY_SIZE GL_TOP_LEVEL_ARRAY_SIZE // => 0x930C
+#endif
+
+#ifdef GL_TOP_LEVEL_ARRAY_STRIDE
+#define PHPGLFW_C_GL_TOP_LEVEL_ARRAY_STRIDE GL_TOP_LEVEL_ARRAY_STRIDE // => 0x930D
+#endif
+
+#ifdef GL_LOCATION
+#define PHPGLFW_C_GL_LOCATION GL_LOCATION // => 0x930E
+#endif
+
+#ifdef GL_LOCATION_INDEX
+#define PHPGLFW_C_GL_LOCATION_INDEX GL_LOCATION_INDEX // => 0x930F
+#endif
+
+#ifdef GL_IS_PER_PATCH
+#define PHPGLFW_C_GL_IS_PER_PATCH GL_IS_PER_PATCH // => 0x92E7
+#endif
+
+#ifdef GL_CLEAR_TEXTURE
+#define PHPGLFW_C_GL_CLEAR_TEXTURE GL_CLEAR_TEXTURE // => 0x9365
+#endif
+
+#ifdef GL_LOCATION_COMPONENT
+#define PHPGLFW_C_GL_LOCATION_COMPONENT GL_LOCATION_COMPONENT // => 0x934A
+#endif
+
+#ifdef GL_TRANSFORM_FEEDBACK_BUFFER_INDEX
+#define PHPGLFW_C_GL_TRANSFORM_FEEDBACK_BUFFER_INDEX GL_TRANSFORM_FEEDBACK_BUFFER_INDEX // => 0x934B
+#endif
+
+#ifdef GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE
+#define PHPGLFW_C_GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE // => 0x934C
+#endif
+
+#ifdef GL_NEGATIVE_ONE_TO_ONE
+#define PHPGLFW_C_GL_NEGATIVE_ONE_TO_ONE GL_NEGATIVE_ONE_TO_ONE // => 0x935E
+#endif
+
+#ifdef GL_ZERO_TO_ONE
+#define PHPGLFW_C_GL_ZERO_TO_ONE GL_ZERO_TO_ONE // => 0x935F
+#endif
+
+#ifdef GL_CLIP_ORIGIN
+#define PHPGLFW_C_GL_CLIP_ORIGIN GL_CLIP_ORIGIN // => 0x935C
+#endif
+
+#ifdef GL_CLIP_DEPTH_MODE
+#define PHPGLFW_C_GL_CLIP_DEPTH_MODE GL_CLIP_DEPTH_MODE // => 0x935D
+#endif
+
+/**
+
+ * MemoryBarrierMask
+ * ----------------------------------------------------------------------------
+ *
+ */
+
+#ifdef GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT
+#define PHPGLFW_C_GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT // => 0x00000001
+#endif
+
+#ifdef GL_ELEMENT_ARRAY_BARRIER_BIT
+#define PHPGLFW_C_GL_ELEMENT_ARRAY_BARRIER_BIT GL_ELEMENT_ARRAY_BARRIER_BIT // => 0x00000002
+#endif
+
+#ifdef GL_UNIFORM_BARRIER_BIT
+#define PHPGLFW_C_GL_UNIFORM_BARRIER_BIT GL_UNIFORM_BARRIER_BIT // => 0x00000004
+#endif
+
+#ifdef GL_TEXTURE_FETCH_BARRIER_BIT
+#define PHPGLFW_C_GL_TEXTURE_FETCH_BARRIER_BIT GL_TEXTURE_FETCH_BARRIER_BIT // => 0x00000008
+#endif
+
+#ifdef GL_SHADER_IMAGE_ACCESS_BARRIER_BIT
+#define PHPGLFW_C_GL_SHADER_IMAGE_ACCESS_BARRIER_BIT GL_SHADER_IMAGE_ACCESS_BARRIER_BIT // => 0x00000020
+#endif
+
+#ifdef GL_COMMAND_BARRIER_BIT
+#define PHPGLFW_C_GL_COMMAND_BARRIER_BIT GL_COMMAND_BARRIER_BIT // => 0x00000040
+#endif
+
+#ifdef GL_PIXEL_BUFFER_BARRIER_BIT
+#define PHPGLFW_C_GL_PIXEL_BUFFER_BARRIER_BIT GL_PIXEL_BUFFER_BARRIER_BIT // => 0x00000080
+#endif
+
+#ifdef GL_TEXTURE_UPDATE_BARRIER_BIT
+#define PHPGLFW_C_GL_TEXTURE_UPDATE_BARRIER_BIT GL_TEXTURE_UPDATE_BARRIER_BIT // => 0x00000100
+#endif
+
+#ifdef GL_BUFFER_UPDATE_BARRIER_BIT
+#define PHPGLFW_C_GL_BUFFER_UPDATE_BARRIER_BIT GL_BUFFER_UPDATE_BARRIER_BIT // => 0x00000200
+#endif
+
+#ifdef GL_FRAMEBUFFER_BARRIER_BIT
+#define PHPGLFW_C_GL_FRAMEBUFFER_BARRIER_BIT GL_FRAMEBUFFER_BARRIER_BIT // => 0x00000400
+#endif
+
+#ifdef GL_TRANSFORM_FEEDBACK_BARRIER_BIT
+#define PHPGLFW_C_GL_TRANSFORM_FEEDBACK_BARRIER_BIT GL_TRANSFORM_FEEDBACK_BARRIER_BIT // => 0x00000800
+#endif
+
+#ifdef GL_ATOMIC_COUNTER_BARRIER_BIT
+#define PHPGLFW_C_GL_ATOMIC_COUNTER_BARRIER_BIT GL_ATOMIC_COUNTER_BARRIER_BIT // => 0x00001000
+#endif
+
+#ifdef GL_ALL_BARRIER_BITS
+#define PHPGLFW_C_GL_ALL_BARRIER_BITS GL_ALL_BARRIER_BITS // => 0xFFFFFFFF
+#endif
+
+#ifdef GL_SHADER_STORAGE_BARRIER_BIT
+#define PHPGLFW_C_GL_SHADER_STORAGE_BARRIER_BIT GL_SHADER_STORAGE_BARRIER_BIT // => 0x00002000
+#endif
+
+#ifdef GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT
+#define PHPGLFW_C_GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT // => 0x00004000
+#endif
+
+#ifdef GL_QUERY_BUFFER_BARRIER_BIT
+#define PHPGLFW_C_GL_QUERY_BUFFER_BARRIER_BIT GL_QUERY_BUFFER_BARRIER_BIT // => 0x00008000
+#endif
+
+/**
+ * @vendor ARB
+ * Range reclaimed from ADD on 2012/05/10
+ */
+
+#ifdef GL_NUM_SHADING_LANGUAGE_VERSIONS
+#define PHPGLFW_C_GL_NUM_SHADING_LANGUAGE_VERSIONS GL_NUM_SHADING_LANGUAGE_VERSIONS // => 0x82E9
+#endif
+
+#ifdef GL_BUFFER
+#define PHPGLFW_C_GL_BUFFER GL_BUFFER // => 0x82E0
+#endif
+
+#ifdef GL_SHADER
+#define PHPGLFW_C_GL_SHADER GL_SHADER // => 0x82E1
+#endif
+
+#ifdef GL_PROGRAM
+#define PHPGLFW_C_GL_PROGRAM GL_PROGRAM // => 0x82E2
+#endif
+
+#ifdef GL_QUERY
+#define PHPGLFW_C_GL_QUERY GL_QUERY // => 0x82E3
+#endif
+
+#ifdef GL_PROGRAM_PIPELINE
+#define PHPGLFW_C_GL_PROGRAM_PIPELINE GL_PROGRAM_PIPELINE // => 0x82E4
+#endif
+
+#ifdef GL_SAMPLER
+#define PHPGLFW_C_GL_SAMPLER GL_SAMPLER // => 0x82E6
+#endif
+
+#ifdef GL_MAX_LABEL_LENGTH
+#define PHPGLFW_C_GL_MAX_LABEL_LENGTH GL_MAX_LABEL_LENGTH // => 0x82E8
+#endif
+
+#ifdef GL_TEXTURE_COMPRESSED_BLOCK_WIDTH
+#define PHPGLFW_C_GL_TEXTURE_COMPRESSED_BLOCK_WIDTH GL_TEXTURE_COMPRESSED_BLOCK_WIDTH // => 0x82B1
+#endif
+
+#ifdef GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT
+#define PHPGLFW_C_GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT // => 0x82B2
+#endif
+
+#ifdef GL_TEXTURE_COMPRESSED_BLOCK_SIZE
+#define PHPGLFW_C_GL_TEXTURE_COMPRESSED_BLOCK_SIZE GL_TEXTURE_COMPRESSED_BLOCK_SIZE // => 0x82B3
+#endif
+
+#ifdef GL_CLEAR_BUFFER
+#define PHPGLFW_C_GL_CLEAR_BUFFER GL_CLEAR_BUFFER // => 0x82B4
+#endif
+
+#ifdef GL_TEXTURE_VIEW
+#define PHPGLFW_C_GL_TEXTURE_VIEW GL_TEXTURE_VIEW // => 0x82B5
+#endif
+
+#ifdef GL_VIEW_COMPATIBILITY_CLASS
+#define PHPGLFW_C_GL_VIEW_COMPATIBILITY_CLASS GL_VIEW_COMPATIBILITY_CLASS // => 0x82B6
+#endif
+
+#ifdef GL_FULL_SUPPORT
+#define PHPGLFW_C_GL_FULL_SUPPORT GL_FULL_SUPPORT // => 0x82B7
+#endif
+
+#ifdef GL_CAVEAT_SUPPORT
+#define PHPGLFW_C_GL_CAVEAT_SUPPORT GL_CAVEAT_SUPPORT // => 0x82B8
+#endif
+
+#ifdef GL_IMAGE_CLASS_4_X_32
+#define PHPGLFW_C_GL_IMAGE_CLASS_4_X_32 GL_IMAGE_CLASS_4_X_32 // => 0x82B9
+#endif
+
+#ifdef GL_IMAGE_CLASS_2_X_32
+#define PHPGLFW_C_GL_IMAGE_CLASS_2_X_32 GL_IMAGE_CLASS_2_X_32 // => 0x82BA
+#endif
+
+#ifdef GL_IMAGE_CLASS_1_X_32
+#define PHPGLFW_C_GL_IMAGE_CLASS_1_X_32 GL_IMAGE_CLASS_1_X_32 // => 0x82BB
+#endif
+
+#ifdef GL_IMAGE_CLASS_4_X_16
+#define PHPGLFW_C_GL_IMAGE_CLASS_4_X_16 GL_IMAGE_CLASS_4_X_16 // => 0x82BC
+#endif
+
+#ifdef GL_IMAGE_CLASS_2_X_16
+#define PHPGLFW_C_GL_IMAGE_CLASS_2_X_16 GL_IMAGE_CLASS_2_X_16 // => 0x82BD
+#endif
+
+#ifdef GL_IMAGE_CLASS_1_X_16
+#define PHPGLFW_C_GL_IMAGE_CLASS_1_X_16 GL_IMAGE_CLASS_1_X_16 // => 0x82BE
+#endif
+
+#ifdef GL_IMAGE_CLASS_4_X_8
+#define PHPGLFW_C_GL_IMAGE_CLASS_4_X_8 GL_IMAGE_CLASS_4_X_8 // => 0x82BF
+#endif
+
+#ifdef GL_IMAGE_CLASS_2_X_8
+#define PHPGLFW_C_GL_IMAGE_CLASS_2_X_8 GL_IMAGE_CLASS_2_X_8 // => 0x82C0
+#endif
+
+#ifdef GL_IMAGE_CLASS_1_X_8
+#define PHPGLFW_C_GL_IMAGE_CLASS_1_X_8 GL_IMAGE_CLASS_1_X_8 // => 0x82C1
+#endif
+
+#ifdef GL_IMAGE_CLASS_11_11_10
+#define PHPGLFW_C_GL_IMAGE_CLASS_11_11_10 GL_IMAGE_CLASS_11_11_10 // => 0x82C2
+#endif
+
+#ifdef GL_IMAGE_CLASS_10_10_10_2
+#define PHPGLFW_C_GL_IMAGE_CLASS_10_10_10_2 GL_IMAGE_CLASS_10_10_10_2 // => 0x82C3
+#endif
+
+#ifdef GL_VIEW_CLASS_128_BITS
+#define PHPGLFW_C_GL_VIEW_CLASS_128_BITS GL_VIEW_CLASS_128_BITS // => 0x82C4
+#endif
+
+#ifdef GL_VIEW_CLASS_96_BITS
+#define PHPGLFW_C_GL_VIEW_CLASS_96_BITS GL_VIEW_CLASS_96_BITS // => 0x82C5
+#endif
+
+#ifdef GL_VIEW_CLASS_64_BITS
+#define PHPGLFW_C_GL_VIEW_CLASS_64_BITS GL_VIEW_CLASS_64_BITS // => 0x82C6
+#endif
+
+#ifdef GL_VIEW_CLASS_48_BITS
+#define PHPGLFW_C_GL_VIEW_CLASS_48_BITS GL_VIEW_CLASS_48_BITS // => 0x82C7
+#endif
+
+#ifdef GL_VIEW_CLASS_32_BITS
+#define PHPGLFW_C_GL_VIEW_CLASS_32_BITS GL_VIEW_CLASS_32_BITS // => 0x82C8
+#endif
+
+#ifdef GL_VIEW_CLASS_24_BITS
+#define PHPGLFW_C_GL_VIEW_CLASS_24_BITS GL_VIEW_CLASS_24_BITS // => 0x82C9
+#endif
+
+#ifdef GL_VIEW_CLASS_16_BITS
+#define PHPGLFW_C_GL_VIEW_CLASS_16_BITS GL_VIEW_CLASS_16_BITS // => 0x82CA
+#endif
+
+#ifdef GL_VIEW_CLASS_8_BITS
+#define PHPGLFW_C_GL_VIEW_CLASS_8_BITS GL_VIEW_CLASS_8_BITS // => 0x82CB
+#endif
+
+#ifdef GL_VIEW_CLASS_S3TC_DXT1_RGB
+#define PHPGLFW_C_GL_VIEW_CLASS_S3TC_DXT1_RGB GL_VIEW_CLASS_S3TC_DXT1_RGB // => 0x82CC
+#endif
+
+#ifdef GL_VIEW_CLASS_S3TC_DXT1_RGBA
+#define PHPGLFW_C_GL_VIEW_CLASS_S3TC_DXT1_RGBA GL_VIEW_CLASS_S3TC_DXT1_RGBA // => 0x82CD
+#endif
+
+#ifdef GL_VIEW_CLASS_S3TC_DXT3_RGBA
+#define PHPGLFW_C_GL_VIEW_CLASS_S3TC_DXT3_RGBA GL_VIEW_CLASS_S3TC_DXT3_RGBA // => 0x82CE
+#endif
+
+#ifdef GL_VIEW_CLASS_S3TC_DXT5_RGBA
+#define PHPGLFW_C_GL_VIEW_CLASS_S3TC_DXT5_RGBA GL_VIEW_CLASS_S3TC_DXT5_RGBA // => 0x82CF
+#endif
+
+#ifdef GL_VIEW_CLASS_RGTC1_RED
+#define PHPGLFW_C_GL_VIEW_CLASS_RGTC1_RED GL_VIEW_CLASS_RGTC1_RED // => 0x82D0
+#endif
+
+#ifdef GL_VIEW_CLASS_RGTC2_RG
+#define PHPGLFW_C_GL_VIEW_CLASS_RGTC2_RG GL_VIEW_CLASS_RGTC2_RG // => 0x82D1
+#endif
+
+#ifdef GL_VIEW_CLASS_BPTC_UNORM
+#define PHPGLFW_C_GL_VIEW_CLASS_BPTC_UNORM GL_VIEW_CLASS_BPTC_UNORM // => 0x82D2
+#endif
+
+#ifdef GL_VIEW_CLASS_BPTC_FLOAT
+#define PHPGLFW_C_GL_VIEW_CLASS_BPTC_FLOAT GL_VIEW_CLASS_BPTC_FLOAT // => 0x82D3
+#endif
+
+#ifdef GL_TEXTURE_VIEW_MIN_LEVEL
+#define PHPGLFW_C_GL_TEXTURE_VIEW_MIN_LEVEL GL_TEXTURE_VIEW_MIN_LEVEL // => 0x82DB
+#endif
+
+#ifdef GL_TEXTURE_VIEW_NUM_LEVELS
+#define PHPGLFW_C_GL_TEXTURE_VIEW_NUM_LEVELS GL_TEXTURE_VIEW_NUM_LEVELS // => 0x82DC
+#endif
+
+#ifdef GL_TEXTURE_VIEW_MIN_LAYER
+#define PHPGLFW_C_GL_TEXTURE_VIEW_MIN_LAYER GL_TEXTURE_VIEW_MIN_LAYER // => 0x82DD
+#endif
+
+#ifdef GL_TEXTURE_VIEW_NUM_LAYERS
+#define PHPGLFW_C_GL_TEXTURE_VIEW_NUM_LAYERS GL_TEXTURE_VIEW_NUM_LAYERS // => 0x82DE
+#endif
+
+#ifdef GL_TEXTURE_IMMUTABLE_LEVELS
+#define PHPGLFW_C_GL_TEXTURE_IMMUTABLE_LEVELS GL_TEXTURE_IMMUTABLE_LEVELS // => 0x82DF
+#endif
+
+#ifdef GL_VERTEX_ATTRIB_BINDING
+#define PHPGLFW_C_GL_VERTEX_ATTRIB_BINDING GL_VERTEX_ATTRIB_BINDING // => 0x82D4
+#endif
+
+#ifdef GL_VERTEX_ATTRIB_RELATIVE_OFFSET
+#define PHPGLFW_C_GL_VERTEX_ATTRIB_RELATIVE_OFFSET GL_VERTEX_ATTRIB_RELATIVE_OFFSET // => 0x82D5
+#endif
+
+#ifdef GL_VERTEX_BINDING_DIVISOR
+#define PHPGLFW_C_GL_VERTEX_BINDING_DIVISOR GL_VERTEX_BINDING_DIVISOR // => 0x82D6
+#endif
+
+#ifdef GL_VERTEX_BINDING_OFFSET
+#define PHPGLFW_C_GL_VERTEX_BINDING_OFFSET GL_VERTEX_BINDING_OFFSET // => 0x82D7
+#endif
+
+#ifdef GL_VERTEX_BINDING_STRIDE
+#define PHPGLFW_C_GL_VERTEX_BINDING_STRIDE GL_VERTEX_BINDING_STRIDE // => 0x82D8
+#endif
+
+#ifdef GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET
+#define PHPGLFW_C_GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET // => 0x82D9
+#endif
+
+#ifdef GL_MAX_VERTEX_ATTRIB_BINDINGS
+#define PHPGLFW_C_GL_MAX_VERTEX_ATTRIB_BINDINGS GL_MAX_VERTEX_ATTRIB_BINDINGS // => 0x82DA
+#endif
+
+#ifdef GL_DISPLAY_LIST
+#define PHPGLFW_C_GL_DISPLAY_LIST GL_DISPLAY_LIST // => 0x82E7
+#endif
+
+#ifdef GL_MAX_VERTEX_ATTRIB_STRIDE
+#define PHPGLFW_C_GL_MAX_VERTEX_ATTRIB_STRIDE GL_MAX_VERTEX_ATTRIB_STRIDE // => 0x82E5
+#endif
+
+#ifdef GL_MAX_CULL_DISTANCES
+#define PHPGLFW_C_GL_MAX_CULL_DISTANCES GL_MAX_CULL_DISTANCES // => 0x82F9
+#endif
+
+#ifdef GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES
+#define PHPGLFW_C_GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES // => 0x82FA
+#endif
+
+#ifdef GL_QUERY_TARGET
+#define PHPGLFW_C_GL_QUERY_TARGET GL_QUERY_TARGET // => 0x82EA
+#endif
+
+#ifdef GL_CONTEXT_RELEASE_BEHAVIOR
+#define PHPGLFW_C_GL_CONTEXT_RELEASE_BEHAVIOR GL_CONTEXT_RELEASE_BEHAVIOR // => 0x82FB
+#endif
+
+#ifdef GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH
+#define PHPGLFW_C_GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH // => 0x82FC
+#endif
+
+#ifdef GL_VERTICES_SUBMITTED
+#define PHPGLFW_C_GL_VERTICES_SUBMITTED GL_VERTICES_SUBMITTED // => 0x82EE
+#endif
+
+#ifdef GL_PRIMITIVES_SUBMITTED
+#define PHPGLFW_C_GL_PRIMITIVES_SUBMITTED GL_PRIMITIVES_SUBMITTED // => 0x82EF
+#endif
+
+#ifdef GL_VERTEX_SHADER_INVOCATIONS
+#define PHPGLFW_C_GL_VERTEX_SHADER_INVOCATIONS GL_VERTEX_SHADER_INVOCATIONS // => 0x82F0
+#endif
+
+#ifdef GL_TESS_CONTROL_SHADER_PATCHES
+#define PHPGLFW_C_GL_TESS_CONTROL_SHADER_PATCHES GL_TESS_CONTROL_SHADER_PATCHES // => 0x82F1
+#endif
+
+#ifdef GL_TESS_EVALUATION_SHADER_INVOCATIONS
+#define PHPGLFW_C_GL_TESS_EVALUATION_SHADER_INVOCATIONS GL_TESS_EVALUATION_SHADER_INVOCATIONS // => 0x82F2
+#endif
+
+#ifdef GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED
+#define PHPGLFW_C_GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED // => 0x82F3
+#endif
+
+#ifdef GL_FRAGMENT_SHADER_INVOCATIONS
+#define PHPGLFW_C_GL_FRAGMENT_SHADER_INVOCATIONS GL_FRAGMENT_SHADER_INVOCATIONS // => 0x82F4
+#endif
+
+#ifdef GL_COMPUTE_SHADER_INVOCATIONS
+#define PHPGLFW_C_GL_COMPUTE_SHADER_INVOCATIONS GL_COMPUTE_SHADER_INVOCATIONS // => 0x82F5
+#endif
+
+#ifdef GL_CLIPPING_INPUT_PRIMITIVES
+#define PHPGLFW_C_GL_CLIPPING_INPUT_PRIMITIVES GL_CLIPPING_INPUT_PRIMITIVES // => 0x82F6
+#endif
+
+#ifdef GL_CLIPPING_OUTPUT_PRIMITIVES
+#define PHPGLFW_C_GL_CLIPPING_OUTPUT_PRIMITIVES GL_CLIPPING_OUTPUT_PRIMITIVES // => 0x82F7
+#endif
+
+#ifdef GL_TRANSFORM_FEEDBACK_OVERFLOW
+#define PHPGLFW_C_GL_TRANSFORM_FEEDBACK_OVERFLOW GL_TRANSFORM_FEEDBACK_OVERFLOW // => 0x82EC
+#endif
+
+#ifdef GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW
+#define PHPGLFW_C_GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW // => 0x82ED
+#endif
+
+/**
+ * @vendor OES
+ * Khronos bug 7625
+ */
+
+#ifdef GL_COMPRESSED_RGB8_ETC2
+#define PHPGLFW_C_GL_COMPRESSED_RGB8_ETC2 GL_COMPRESSED_RGB8_ETC2 // => 0x9274
+#endif
+
+#ifdef GL_COMPRESSED_SRGB8_ETC2
+#define PHPGLFW_C_GL_COMPRESSED_SRGB8_ETC2 GL_COMPRESSED_SRGB8_ETC2 // => 0x9275
+#endif
+
+#ifdef GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2
+#define PHPGLFW_C_GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 // => 0x9276
+#endif
+
+#ifdef GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2
+#define PHPGLFW_C_GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 // => 0x9277
+#endif
+
+#ifdef GL_COMPRESSED_RGBA8_ETC2_EAC
+#define PHPGLFW_C_GL_COMPRESSED_RGBA8_ETC2_EAC GL_COMPRESSED_RGBA8_ETC2_EAC // => 0x9278
+#endif
+
+#ifdef GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC
+#define PHPGLFW_C_GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC // => 0x9279
+#endif
+
+#ifdef GL_COMPRESSED_R11_EAC
+#define PHPGLFW_C_GL_COMPRESSED_R11_EAC GL_COMPRESSED_R11_EAC // => 0x9270
+#endif
+
+#ifdef GL_COMPRESSED_SIGNED_R11_EAC
+#define PHPGLFW_C_GL_COMPRESSED_SIGNED_R11_EAC GL_COMPRESSED_SIGNED_R11_EAC // => 0x9271
+#endif
+
+#ifdef GL_COMPRESSED_RG11_EAC
+#define PHPGLFW_C_GL_COMPRESSED_RG11_EAC GL_COMPRESSED_RG11_EAC // => 0x9272
+#endif
+
+#ifdef GL_COMPRESSED_SIGNED_RG11_EAC
+#define PHPGLFW_C_GL_COMPRESSED_SIGNED_RG11_EAC GL_COMPRESSED_SIGNED_RG11_EAC // => 0x9273
+#endif
+
+/**
+ * @vendor AMD
+ * Khronos bugs 5899, 6004
+ */
+
+#ifdef GL_COMPUTE_SHADER
+#define PHPGLFW_C_GL_COMPUTE_SHADER GL_COMPUTE_SHADER // => 0x91B9
+#endif
+
+#ifdef GL_MAX_COMPUTE_UNIFORM_BLOCKS
+#define PHPGLFW_C_GL_MAX_COMPUTE_UNIFORM_BLOCKS GL_MAX_COMPUTE_UNIFORM_BLOCKS // => 0x91BB
+#endif
+
+#ifdef GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS
+#define PHPGLFW_C_GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS // => 0x91BC
+#endif
+
+#ifdef GL_MAX_COMPUTE_IMAGE_UNIFORMS
+#define PHPGLFW_C_GL_MAX_COMPUTE_IMAGE_UNIFORMS GL_MAX_COMPUTE_IMAGE_UNIFORMS // => 0x91BD
+#endif
+
+#ifdef GL_MAX_COMPUTE_WORK_GROUP_COUNT
+#define PHPGLFW_C_GL_MAX_COMPUTE_WORK_GROUP_COUNT GL_MAX_COMPUTE_WORK_GROUP_COUNT // => 0x91BE
+#endif
+
+#ifdef GL_MAX_COMPUTE_WORK_GROUP_SIZE
+#define PHPGLFW_C_GL_MAX_COMPUTE_WORK_GROUP_SIZE GL_MAX_COMPUTE_WORK_GROUP_SIZE // => 0x91BF
+#endif
+
+#ifdef GL_MAX_DEBUG_MESSAGE_LENGTH
+#define PHPGLFW_C_GL_MAX_DEBUG_MESSAGE_LENGTH GL_MAX_DEBUG_MESSAGE_LENGTH // => 0x9143
+#endif
+
+#ifdef GL_MAX_DEBUG_LOGGED_MESSAGES
+#define PHPGLFW_C_GL_MAX_DEBUG_LOGGED_MESSAGES GL_MAX_DEBUG_LOGGED_MESSAGES // => 0x9144
+#endif
+
+#ifdef GL_DEBUG_LOGGED_MESSAGES
+#define PHPGLFW_C_GL_DEBUG_LOGGED_MESSAGES GL_DEBUG_LOGGED_MESSAGES // => 0x9145
+#endif
+
+#ifdef GL_DEBUG_SEVERITY_HIGH
+#define PHPGLFW_C_GL_DEBUG_SEVERITY_HIGH GL_DEBUG_SEVERITY_HIGH // => 0x9146
+#endif
+
+#ifdef GL_DEBUG_SEVERITY_MEDIUM
+#define PHPGLFW_C_GL_DEBUG_SEVERITY_MEDIUM GL_DEBUG_SEVERITY_MEDIUM // => 0x9147
+#endif
+
+#ifdef GL_DEBUG_SEVERITY_LOW
+#define PHPGLFW_C_GL_DEBUG_SEVERITY_LOW GL_DEBUG_SEVERITY_LOW // => 0x9148
+#endif
+
+#ifdef GL_TEXTURE_BUFFER_OFFSET
+#define PHPGLFW_C_GL_TEXTURE_BUFFER_OFFSET GL_TEXTURE_BUFFER_OFFSET // => 0x919D
+#endif
+
+#ifdef GL_TEXTURE_BUFFER_SIZE
+#define PHPGLFW_C_GL_TEXTURE_BUFFER_SIZE GL_TEXTURE_BUFFER_SIZE // => 0x919E
+#endif
+
+#ifdef GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT
+#define PHPGLFW_C_GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT // => 0x919F
+#endif
+
+#ifdef GL_QUERY_BUFFER
+#define PHPGLFW_C_GL_QUERY_BUFFER GL_QUERY_BUFFER // => 0x9192
+#endif
+
+#ifdef GL_QUERY_BUFFER_BINDING
+#define PHPGLFW_C_GL_QUERY_BUFFER_BINDING GL_QUERY_BUFFER_BINDING // => 0x9193
+#endif
+
+#ifdef GL_QUERY_RESULT_NO_WAIT
+#define PHPGLFW_C_GL_QUERY_RESULT_NO_WAIT GL_QUERY_RESULT_NO_WAIT // => 0x9194
+#endif
+
+/**
+
+ * BufferStorageMask
+ * ----------------------------------------------------------------------------
+ * GL_MAP_{COHERENT,PERSISTENT,READ,WRITE}_{BIT,BIT_EXT} also lie in this
+ * namespace
+ */
+
+#ifdef GL_DYNAMIC_STORAGE_BIT
+#define PHPGLFW_C_GL_DYNAMIC_STORAGE_BIT GL_DYNAMIC_STORAGE_BIT // => 0x0100
+#endif
+
+#ifdef GL_CLIENT_STORAGE_BIT
+#define PHPGLFW_C_GL_CLIENT_STORAGE_BIT GL_CLIENT_STORAGE_BIT // => 0x0200
+#endif
+
+/**
+ * @vendor SGI
+ */
+
+#ifdef GL_COLOR_TABLE
+#define PHPGLFW_C_GL_COLOR_TABLE GL_COLOR_TABLE // => 0x80D0
+#endif
+
+#ifdef GL_POST_CONVOLUTION_COLOR_TABLE
+#define PHPGLFW_C_GL_POST_CONVOLUTION_COLOR_TABLE GL_POST_CONVOLUTION_COLOR_TABLE // => 0x80D1
+#endif
+
+#ifdef GL_POST_COLOR_MATRIX_COLOR_TABLE
+#define PHPGLFW_C_GL_POST_COLOR_MATRIX_COLOR_TABLE GL_POST_COLOR_MATRIX_COLOR_TABLE // => 0x80D2
+#endif
+
+#ifdef GL_PROXY_COLOR_TABLE
+#define PHPGLFW_C_GL_PROXY_COLOR_TABLE GL_PROXY_COLOR_TABLE // => 0x80D3
+#endif
+
+#ifdef GL_PROXY_POST_CONVOLUTION_COLOR_TABLE
+#define PHPGLFW_C_GL_PROXY_POST_CONVOLUTION_COLOR_TABLE GL_PROXY_POST_CONVOLUTION_COLOR_TABLE // => 0x80D4
+#endif
+
+#ifdef GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE
+#define PHPGLFW_C_GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE // => 0x80D5
+#endif
+
+/**
+ * @vendor NV
+ * Khronos bug 12977
+ */
+
+#ifdef GL_SHADER_BINARY_FORMAT_SPIR_V
+#define PHPGLFW_C_GL_SHADER_BINARY_FORMAT_SPIR_V GL_SHADER_BINARY_FORMAT_SPIR_V // => 0x9551
+#endif
+
+#ifdef GL_SPIR_V_BINARY
+#define PHPGLFW_C_GL_SPIR_V_BINARY GL_SPIR_V_BINARY // => 0x9552
+#endif
+
+#ifdef GL_SPIR_V_EXTENSIONS
+#define PHPGLFW_C_GL_SPIR_V_EXTENSIONS GL_SPIR_V_EXTENSIONS // => 0x9553
+#endif
+
+#ifdef GL_NUM_SPIR_V_EXTENSIONS
+#define PHPGLFW_C_GL_NUM_SPIR_V_EXTENSIONS GL_NUM_SPIR_V_EXTENSIONS // => 0x9554
+#endif
/**
diff --git a/phpglfw_functions.c b/phpglfw_functions.c
index 982e60d9..f25938fc 100644
--- a/phpglfw_functions.c
+++ b/phpglfw_functions.c
@@ -10363,6 +10363,2288 @@ PHP_FUNCTION(glGetDoublei_v)
efree(data_zval_tmp);;
}
+/**
+ * glDrawArraysInstancedBaseInstance
+ */
+PHP_FUNCTION(glDrawArraysInstancedBaseInstance)
+{
+ zend_long mode;
+ zend_long first;
+ zend_long count;
+ zend_long instancecount;
+ zend_long baseinstance;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllll", &mode, &first, &count, &instancecount, &baseinstance) == FAILURE) {
+ return;
+ }
+ glDrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance);
+}
+
+/**
+ * glGetInternalformativ
+ */
+PHP_FUNCTION(glGetInternalformativ)
+{
+ zend_long target;
+ zend_long internalformat;
+ zend_long pname;
+ zend_long count;
+ zval *params_zval;
+ GLint params_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llllz", &target, &internalformat, &pname, &count, ¶ms_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(params_zval);
+ convert_to_long(params_zval);
+ glGetInternalformativ(target, internalformat, pname, count, ¶ms_tmp);
+ ZVAL_LONG(params_zval, params_tmp);
+}
+
+/**
+ * glGetActiveAtomicCounterBufferiv
+ */
+PHP_FUNCTION(glGetActiveAtomicCounterBufferiv)
+{
+ zend_long program;
+ zend_long bufferIndex;
+ zend_long pname;
+ zval *params_zval;
+ GLint params_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllz", &program, &bufferIndex, &pname, ¶ms_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(params_zval);
+ convert_to_long(params_zval);
+ glGetActiveAtomicCounterBufferiv(program, bufferIndex, pname, ¶ms_tmp);
+ ZVAL_LONG(params_zval, params_tmp);
+}
+
+/**
+ * glBindImageTexture
+ */
+PHP_FUNCTION(glBindImageTexture)
+{
+ zend_long unit;
+ zend_long texture;
+ zend_long level;
+ bool layered;
+ zend_long layer;
+ zend_long access;
+ zend_long format;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllblll", &unit, &texture, &level, &layered, &layer, &access, &format) == FAILURE) {
+ return;
+ }
+ glBindImageTexture(unit, texture, level, layered, layer, access, format);
+}
+
+/**
+ * glMemoryBarrier
+ */
+PHP_FUNCTION(glMemoryBarrier)
+{
+ zend_long barriers;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "l", &barriers) == FAILURE) {
+ return;
+ }
+ glMemoryBarrier(barriers);
+}
+
+/**
+ * glTexStorage1D
+ */
+PHP_FUNCTION(glTexStorage1D)
+{
+ zend_long target;
+ zend_long levels;
+ zend_long internalformat;
+ zend_long width;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llll", &target, &levels, &internalformat, &width) == FAILURE) {
+ return;
+ }
+ glTexStorage1D(target, levels, internalformat, width);
+}
+
+/**
+ * glTexStorage2D
+ */
+PHP_FUNCTION(glTexStorage2D)
+{
+ zend_long target;
+ zend_long levels;
+ zend_long internalformat;
+ zend_long width;
+ zend_long height;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllll", &target, &levels, &internalformat, &width, &height) == FAILURE) {
+ return;
+ }
+ glTexStorage2D(target, levels, internalformat, width, height);
+}
+
+/**
+ * glTexStorage3D
+ */
+PHP_FUNCTION(glTexStorage3D)
+{
+ zend_long target;
+ zend_long levels;
+ zend_long internalformat;
+ zend_long width;
+ zend_long height;
+ zend_long depth;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llllll", &target, &levels, &internalformat, &width, &height, &depth) == FAILURE) {
+ return;
+ }
+ glTexStorage3D(target, levels, internalformat, width, height, depth);
+}
+
+/**
+ * glDrawTransformFeedbackInstanced
+ */
+PHP_FUNCTION(glDrawTransformFeedbackInstanced)
+{
+ zend_long mode;
+ zend_long id;
+ zend_long instancecount;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lll", &mode, &id, &instancecount) == FAILURE) {
+ return;
+ }
+ glDrawTransformFeedbackInstanced(mode, id, instancecount);
+}
+
+/**
+ * glDrawTransformFeedbackStreamInstanced
+ */
+PHP_FUNCTION(glDrawTransformFeedbackStreamInstanced)
+{
+ zend_long mode;
+ zend_long id;
+ zend_long stream;
+ zend_long instancecount;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llll", &mode, &id, &stream, &instancecount) == FAILURE) {
+ return;
+ }
+ glDrawTransformFeedbackStreamInstanced(mode, id, stream, instancecount);
+}
+
+/**
+ * glDispatchCompute
+ */
+PHP_FUNCTION(glDispatchCompute)
+{
+ zend_long num_groups_x;
+ zend_long num_groups_y;
+ zend_long num_groups_z;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lll", &num_groups_x, &num_groups_y, &num_groups_z) == FAILURE) {
+ return;
+ }
+ glDispatchCompute(num_groups_x, num_groups_y, num_groups_z);
+}
+
+/**
+ * glDispatchComputeIndirect
+ */
+PHP_FUNCTION(glDispatchComputeIndirect)
+{
+ zend_long indirect;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "l", &indirect) == FAILURE) {
+ return;
+ }
+ glDispatchComputeIndirect(indirect);
+}
+
+/**
+ * glCopyImageSubData
+ */
+PHP_FUNCTION(glCopyImageSubData)
+{
+ zend_long srcName;
+ zend_long srcTarget;
+ zend_long srcLevel;
+ zend_long srcX;
+ zend_long srcY;
+ zend_long srcZ;
+ zend_long dstName;
+ zend_long dstTarget;
+ zend_long dstLevel;
+ zend_long dstX;
+ zend_long dstY;
+ zend_long dstZ;
+ zend_long srcWidth;
+ zend_long srcHeight;
+ zend_long srcDepth;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllllllllllllll", &srcName, &srcTarget, &srcLevel, &srcX, &srcY, &srcZ, &dstName, &dstTarget, &dstLevel, &dstX, &dstY, &dstZ, &srcWidth, &srcHeight, &srcDepth) == FAILURE) {
+ return;
+ }
+ glCopyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth);
+}
+
+/**
+ * glFramebufferParameteri
+ */
+PHP_FUNCTION(glFramebufferParameteri)
+{
+ zend_long target;
+ zend_long pname;
+ zend_long param;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lll", &target, &pname, ¶m) == FAILURE) {
+ return;
+ }
+ glFramebufferParameteri(target, pname, param);
+}
+
+/**
+ * glGetFramebufferParameteriv
+ */
+PHP_FUNCTION(glGetFramebufferParameteriv)
+{
+ zend_long target;
+ zend_long pname;
+ zval *params_zval;
+ GLint params_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llz", &target, &pname, ¶ms_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(params_zval);
+ convert_to_long(params_zval);
+ glGetFramebufferParameteriv(target, pname, ¶ms_tmp);
+ ZVAL_LONG(params_zval, params_tmp);
+}
+
+/**
+ * glGetInternalformati64v
+ */
+PHP_FUNCTION(glGetInternalformati64v)
+{
+ zend_long target;
+ zend_long internalformat;
+ zend_long pname;
+ zend_long count;
+ zval *params_zval;
+ GLint64 params_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llllz", &target, &internalformat, &pname, &count, ¶ms_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(params_zval);
+ convert_to_long(params_zval);
+ glGetInternalformati64v(target, internalformat, pname, count, ¶ms_tmp);
+ ZVAL_LONG(params_zval, params_tmp);
+}
+
+/**
+ * glInvalidateTexSubImage
+ */
+PHP_FUNCTION(glInvalidateTexSubImage)
+{
+ zend_long texture;
+ zend_long level;
+ zend_long xoffset;
+ zend_long yoffset;
+ zend_long zoffset;
+ zend_long width;
+ zend_long height;
+ zend_long depth;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llllllll", &texture, &level, &xoffset, &yoffset, &zoffset, &width, &height, &depth) == FAILURE) {
+ return;
+ }
+ glInvalidateTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth);
+}
+
+/**
+ * glInvalidateTexImage
+ */
+PHP_FUNCTION(glInvalidateTexImage)
+{
+ zend_long texture;
+ zend_long level;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "ll", &texture, &level) == FAILURE) {
+ return;
+ }
+ glInvalidateTexImage(texture, level);
+}
+
+/**
+ * glInvalidateBufferSubData
+ */
+PHP_FUNCTION(glInvalidateBufferSubData)
+{
+ zend_long buffer;
+ zend_long offset;
+ zend_long length;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lll", &buffer, &offset, &length) == FAILURE) {
+ return;
+ }
+ glInvalidateBufferSubData(buffer, offset, length);
+}
+
+/**
+ * glInvalidateBufferData
+ */
+PHP_FUNCTION(glInvalidateBufferData)
+{
+ zend_long buffer;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "l", &buffer) == FAILURE) {
+ return;
+ }
+ glInvalidateBufferData(buffer);
+}
+
+/**
+ * glGetProgramInterfaceiv
+ */
+PHP_FUNCTION(glGetProgramInterfaceiv)
+{
+ zend_long program;
+ zend_long programInterface;
+ zend_long pname;
+ zval *params_zval;
+ GLint params_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllz", &program, &programInterface, &pname, ¶ms_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(params_zval);
+ convert_to_long(params_zval);
+ glGetProgramInterfaceiv(program, programInterface, pname, ¶ms_tmp);
+ ZVAL_LONG(params_zval, params_tmp);
+}
+
+/**
+ * glGetProgramResourceIndex
+ */
+PHP_FUNCTION(glGetProgramResourceIndex)
+{
+ zend_long program;
+ zend_long programInterface;
+ const char *name;
+ size_t name_size;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lls", &program, &programInterface, &name, &name_size) == FAILURE) {
+ return;
+ }
+ RETURN_LONG(glGetProgramResourceIndex(program, programInterface, name));
+}
+
+/**
+ * glGetProgramResourceLocation
+ */
+PHP_FUNCTION(glGetProgramResourceLocation)
+{
+ zend_long program;
+ zend_long programInterface;
+ const char *name;
+ size_t name_size;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lls", &program, &programInterface, &name, &name_size) == FAILURE) {
+ return;
+ }
+ RETURN_LONG(glGetProgramResourceLocation(program, programInterface, name));
+}
+
+/**
+ * glGetProgramResourceLocationIndex
+ */
+PHP_FUNCTION(glGetProgramResourceLocationIndex)
+{
+ zend_long program;
+ zend_long programInterface;
+ const char *name;
+ size_t name_size;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lls", &program, &programInterface, &name, &name_size) == FAILURE) {
+ return;
+ }
+ RETURN_LONG(glGetProgramResourceLocationIndex(program, programInterface, name));
+}
+
+/**
+ * glShaderStorageBlockBinding
+ */
+PHP_FUNCTION(glShaderStorageBlockBinding)
+{
+ zend_long program;
+ zend_long storageBlockIndex;
+ zend_long storageBlockBinding;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lll", &program, &storageBlockIndex, &storageBlockBinding) == FAILURE) {
+ return;
+ }
+ glShaderStorageBlockBinding(program, storageBlockIndex, storageBlockBinding);
+}
+
+/**
+ * glTexBufferRange
+ */
+PHP_FUNCTION(glTexBufferRange)
+{
+ zend_long target;
+ zend_long internalformat;
+ zend_long buffer;
+ zend_long offset;
+ zend_long size;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllll", &target, &internalformat, &buffer, &offset, &size) == FAILURE) {
+ return;
+ }
+ glTexBufferRange(target, internalformat, buffer, offset, size);
+}
+
+/**
+ * glTexStorage2DMultisample
+ */
+PHP_FUNCTION(glTexStorage2DMultisample)
+{
+ zend_long target;
+ zend_long samples;
+ zend_long internalformat;
+ zend_long width;
+ zend_long height;
+ bool fixedsamplelocations;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllllb", &target, &samples, &internalformat, &width, &height, &fixedsamplelocations) == FAILURE) {
+ return;
+ }
+ glTexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations);
+}
+
+/**
+ * glTexStorage3DMultisample
+ */
+PHP_FUNCTION(glTexStorage3DMultisample)
+{
+ zend_long target;
+ zend_long samples;
+ zend_long internalformat;
+ zend_long width;
+ zend_long height;
+ zend_long depth;
+ bool fixedsamplelocations;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llllllb", &target, &samples, &internalformat, &width, &height, &depth, &fixedsamplelocations) == FAILURE) {
+ return;
+ }
+ glTexStorage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations);
+}
+
+/**
+ * glTextureView
+ */
+PHP_FUNCTION(glTextureView)
+{
+ zend_long texture;
+ zend_long target;
+ zend_long origtexture;
+ zend_long internalformat;
+ zend_long minlevel;
+ zend_long numlevels;
+ zend_long minlayer;
+ zend_long numlayers;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llllllll", &texture, &target, &origtexture, &internalformat, &minlevel, &numlevels, &minlayer, &numlayers) == FAILURE) {
+ return;
+ }
+ glTextureView(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers);
+}
+
+/**
+ * glBindVertexBuffer
+ */
+PHP_FUNCTION(glBindVertexBuffer)
+{
+ zend_long bindingindex;
+ zend_long buffer;
+ zend_long offset;
+ zend_long stride;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llll", &bindingindex, &buffer, &offset, &stride) == FAILURE) {
+ return;
+ }
+ glBindVertexBuffer(bindingindex, buffer, offset, stride);
+}
+
+/**
+ * glVertexAttribFormat
+ */
+PHP_FUNCTION(glVertexAttribFormat)
+{
+ zend_long attribindex;
+ zend_long size;
+ zend_long type;
+ bool normalized;
+ zend_long relativeoffset;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllbl", &attribindex, &size, &type, &normalized, &relativeoffset) == FAILURE) {
+ return;
+ }
+ glVertexAttribFormat(attribindex, size, type, normalized, relativeoffset);
+}
+
+/**
+ * glVertexAttribIFormat
+ */
+PHP_FUNCTION(glVertexAttribIFormat)
+{
+ zend_long attribindex;
+ zend_long size;
+ zend_long type;
+ zend_long relativeoffset;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llll", &attribindex, &size, &type, &relativeoffset) == FAILURE) {
+ return;
+ }
+ glVertexAttribIFormat(attribindex, size, type, relativeoffset);
+}
+
+/**
+ * glVertexAttribLFormat
+ */
+PHP_FUNCTION(glVertexAttribLFormat)
+{
+ zend_long attribindex;
+ zend_long size;
+ zend_long type;
+ zend_long relativeoffset;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llll", &attribindex, &size, &type, &relativeoffset) == FAILURE) {
+ return;
+ }
+ glVertexAttribLFormat(attribindex, size, type, relativeoffset);
+}
+
+/**
+ * glVertexAttribBinding
+ */
+PHP_FUNCTION(glVertexAttribBinding)
+{
+ zend_long attribindex;
+ zend_long bindingindex;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "ll", &attribindex, &bindingindex) == FAILURE) {
+ return;
+ }
+ glVertexAttribBinding(attribindex, bindingindex);
+}
+
+/**
+ * glVertexBindingDivisor
+ */
+PHP_FUNCTION(glVertexBindingDivisor)
+{
+ zend_long bindingindex;
+ zend_long divisor;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "ll", &bindingindex, &divisor) == FAILURE) {
+ return;
+ }
+ glVertexBindingDivisor(bindingindex, divisor);
+}
+
+/**
+ * glDebugMessageInsert
+ */
+PHP_FUNCTION(glDebugMessageInsert)
+{
+ zend_long source;
+ zend_long type;
+ zend_long id;
+ zend_long severity;
+ zend_long length;
+ const char *buf;
+ size_t buf_size;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llllls", &source, &type, &id, &severity, &length, &buf, &buf_size) == FAILURE) {
+ return;
+ }
+ glDebugMessageInsert(source, type, id, severity, length, buf);
+}
+
+/**
+ * glPushDebugGroup
+ */
+PHP_FUNCTION(glPushDebugGroup)
+{
+ zend_long source;
+ zend_long id;
+ zend_long length;
+ const char *message;
+ size_t message_size;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llls", &source, &id, &length, &message, &message_size) == FAILURE) {
+ return;
+ }
+ glPushDebugGroup(source, id, length, message);
+}
+
+/**
+ * glPopDebugGroup
+ */
+PHP_FUNCTION(glPopDebugGroup)
+{
+ glPopDebugGroup();
+}
+
+/**
+ * glObjectLabel
+ */
+PHP_FUNCTION(glObjectLabel)
+{
+ zend_long identifier;
+ zend_long name;
+ zend_long length;
+ const char *label;
+ size_t label_size;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llls", &identifier, &name, &length, &label, &label_size) == FAILURE) {
+ return;
+ }
+ glObjectLabel(identifier, name, length, label);
+}
+
+/**
+ * glClipControl
+ */
+PHP_FUNCTION(glClipControl)
+{
+ zend_long origin;
+ zend_long depth;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "ll", &origin, &depth) == FAILURE) {
+ return;
+ }
+ glClipControl(origin, depth);
+}
+
+/**
+ * glCreateTransformFeedbacks
+ */
+PHP_FUNCTION(glCreateTransformFeedbacks)
+{
+ zend_long n;
+ zval *ids_zval;
+ size_t ids_zval_num = 0;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "l+", &n, &ids_zval, &ids_zval_num) == FAILURE) {
+ return;
+ }
+ if (n != ids_zval_num) {
+ zend_throw_error(NULL, "The given number of elements needs to match the actual amount of given variadic vars.");
+ return;
+ }
+ GLuint *ids_zval_ids = malloc(n * sizeof(GLuint));
+ glCreateTransformFeedbacks(n, ids_zval_ids);
+ zval *data;
+ for (size_t i = 0; i < ids_zval_num; i++) {
+ data = &ids_zval[i];
+ ZVAL_DEREF(data);
+ convert_to_long(data);
+ Z_LVAL_P(data) = ids_zval_ids[i];
+ };
+}
+
+/**
+ * glTransformFeedbackBufferBase
+ */
+PHP_FUNCTION(glTransformFeedbackBufferBase)
+{
+ zend_long xfb;
+ zend_long index;
+ zend_long buffer;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lll", &xfb, &index, &buffer) == FAILURE) {
+ return;
+ }
+ glTransformFeedbackBufferBase(xfb, index, buffer);
+}
+
+/**
+ * glTransformFeedbackBufferRange
+ */
+PHP_FUNCTION(glTransformFeedbackBufferRange)
+{
+ zend_long xfb;
+ zend_long index;
+ zend_long buffer;
+ zend_long offset;
+ zend_long size;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllll", &xfb, &index, &buffer, &offset, &size) == FAILURE) {
+ return;
+ }
+ glTransformFeedbackBufferRange(xfb, index, buffer, offset, size);
+}
+
+/**
+ * glGetTransformFeedbackiv
+ */
+PHP_FUNCTION(glGetTransformFeedbackiv)
+{
+ zend_long xfb;
+ zend_long pname;
+ zval *param_zval;
+ GLint param_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llz", &xfb, &pname, ¶m_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(param_zval);
+ convert_to_long(param_zval);
+ glGetTransformFeedbackiv(xfb, pname, ¶m_tmp);
+ ZVAL_LONG(param_zval, param_tmp);
+}
+
+/**
+ * glGetTransformFeedbacki_v
+ */
+PHP_FUNCTION(glGetTransformFeedbacki_v)
+{
+ zend_long xfb;
+ zend_long pname;
+ zend_long index;
+ zval *param_zval;
+ GLint param_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllz", &xfb, &pname, &index, ¶m_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(param_zval);
+ convert_to_long(param_zval);
+ glGetTransformFeedbacki_v(xfb, pname, index, ¶m_tmp);
+ ZVAL_LONG(param_zval, param_tmp);
+}
+
+/**
+ * glGetTransformFeedbacki64_v
+ */
+PHP_FUNCTION(glGetTransformFeedbacki64_v)
+{
+ zend_long xfb;
+ zend_long pname;
+ zend_long index;
+ zval *param_zval;
+ GLint64 param_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllz", &xfb, &pname, &index, ¶m_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(param_zval);
+ convert_to_long(param_zval);
+ glGetTransformFeedbacki64_v(xfb, pname, index, ¶m_tmp);
+ ZVAL_LONG(param_zval, param_tmp);
+}
+
+/**
+ * glCreateBuffers
+ */
+PHP_FUNCTION(glCreateBuffers)
+{
+ zend_long n;
+ zval *buffers_zval;
+ size_t buffers_zval_num = 0;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "l+", &n, &buffers_zval, &buffers_zval_num) == FAILURE) {
+ return;
+ }
+ if (n != buffers_zval_num) {
+ zend_throw_error(NULL, "The given number of elements needs to match the actual amount of given variadic vars.");
+ return;
+ }
+ GLuint *buffers_zval_ids = malloc(n * sizeof(GLuint));
+ glCreateBuffers(n, buffers_zval_ids);
+ zval *data;
+ for (size_t i = 0; i < buffers_zval_num; i++) {
+ data = &buffers_zval[i];
+ ZVAL_DEREF(data);
+ convert_to_long(data);
+ Z_LVAL_P(data) = buffers_zval_ids[i];
+ };
+}
+
+/**
+ * glCopyNamedBufferSubData
+ */
+PHP_FUNCTION(glCopyNamedBufferSubData)
+{
+ zend_long readBuffer;
+ zend_long writeBuffer;
+ zend_long readOffset;
+ zend_long writeOffset;
+ zend_long size;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllll", &readBuffer, &writeBuffer, &readOffset, &writeOffset, &size) == FAILURE) {
+ return;
+ }
+ glCopyNamedBufferSubData(readBuffer, writeBuffer, readOffset, writeOffset, size);
+}
+
+/**
+ * glUnmapNamedBuffer
+ */
+PHP_FUNCTION(glUnmapNamedBuffer)
+{
+ zend_long buffer;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "l", &buffer) == FAILURE) {
+ return;
+ }
+ RETURN_BOOL(glUnmapNamedBuffer(buffer));
+}
+
+/**
+ * glFlushMappedNamedBufferRange
+ */
+PHP_FUNCTION(glFlushMappedNamedBufferRange)
+{
+ zend_long buffer;
+ zend_long offset;
+ zend_long length;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lll", &buffer, &offset, &length) == FAILURE) {
+ return;
+ }
+ glFlushMappedNamedBufferRange(buffer, offset, length);
+}
+
+/**
+ * glGetNamedBufferParameteriv
+ */
+PHP_FUNCTION(glGetNamedBufferParameteriv)
+{
+ zend_long buffer;
+ zend_long pname;
+ zval *params_zval;
+ GLint params_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llz", &buffer, &pname, ¶ms_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(params_zval);
+ convert_to_long(params_zval);
+ glGetNamedBufferParameteriv(buffer, pname, ¶ms_tmp);
+ ZVAL_LONG(params_zval, params_tmp);
+}
+
+/**
+ * glGetNamedBufferParameteri64v
+ */
+PHP_FUNCTION(glGetNamedBufferParameteri64v)
+{
+ zend_long buffer;
+ zend_long pname;
+ zval *params_zval;
+ GLint64 params_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llz", &buffer, &pname, ¶ms_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(params_zval);
+ convert_to_long(params_zval);
+ glGetNamedBufferParameteri64v(buffer, pname, ¶ms_tmp);
+ ZVAL_LONG(params_zval, params_tmp);
+}
+
+/**
+ * glCreateFramebuffers
+ */
+PHP_FUNCTION(glCreateFramebuffers)
+{
+ zend_long n;
+ zval *framebuffers_zval;
+ size_t framebuffers_zval_num = 0;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "l+", &n, &framebuffers_zval, &framebuffers_zval_num) == FAILURE) {
+ return;
+ }
+ if (n != framebuffers_zval_num) {
+ zend_throw_error(NULL, "The given number of elements needs to match the actual amount of given variadic vars.");
+ return;
+ }
+ GLuint *framebuffers_zval_ids = malloc(n * sizeof(GLuint));
+ glCreateFramebuffers(n, framebuffers_zval_ids);
+ zval *data;
+ for (size_t i = 0; i < framebuffers_zval_num; i++) {
+ data = &framebuffers_zval[i];
+ ZVAL_DEREF(data);
+ convert_to_long(data);
+ Z_LVAL_P(data) = framebuffers_zval_ids[i];
+ };
+}
+
+/**
+ * glNamedFramebufferRenderbuffer
+ */
+PHP_FUNCTION(glNamedFramebufferRenderbuffer)
+{
+ zend_long framebuffer;
+ zend_long attachment;
+ zend_long renderbuffertarget;
+ zend_long renderbuffer;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llll", &framebuffer, &attachment, &renderbuffertarget, &renderbuffer) == FAILURE) {
+ return;
+ }
+ glNamedFramebufferRenderbuffer(framebuffer, attachment, renderbuffertarget, renderbuffer);
+}
+
+/**
+ * glNamedFramebufferParameteri
+ */
+PHP_FUNCTION(glNamedFramebufferParameteri)
+{
+ zend_long framebuffer;
+ zend_long pname;
+ zend_long param;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lll", &framebuffer, &pname, ¶m) == FAILURE) {
+ return;
+ }
+ glNamedFramebufferParameteri(framebuffer, pname, param);
+}
+
+/**
+ * glNamedFramebufferTexture
+ */
+PHP_FUNCTION(glNamedFramebufferTexture)
+{
+ zend_long framebuffer;
+ zend_long attachment;
+ zend_long texture;
+ zend_long level;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llll", &framebuffer, &attachment, &texture, &level) == FAILURE) {
+ return;
+ }
+ glNamedFramebufferTexture(framebuffer, attachment, texture, level);
+}
+
+/**
+ * glNamedFramebufferTextureLayer
+ */
+PHP_FUNCTION(glNamedFramebufferTextureLayer)
+{
+ zend_long framebuffer;
+ zend_long attachment;
+ zend_long texture;
+ zend_long level;
+ zend_long layer;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllll", &framebuffer, &attachment, &texture, &level, &layer) == FAILURE) {
+ return;
+ }
+ glNamedFramebufferTextureLayer(framebuffer, attachment, texture, level, layer);
+}
+
+/**
+ * glNamedFramebufferDrawBuffer
+ */
+PHP_FUNCTION(glNamedFramebufferDrawBuffer)
+{
+ zend_long framebuffer;
+ zend_long buf;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "ll", &framebuffer, &buf) == FAILURE) {
+ return;
+ }
+ glNamedFramebufferDrawBuffer(framebuffer, buf);
+}
+
+/**
+ * glNamedFramebufferReadBuffer
+ */
+PHP_FUNCTION(glNamedFramebufferReadBuffer)
+{
+ zend_long framebuffer;
+ zend_long src;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "ll", &framebuffer, &src) == FAILURE) {
+ return;
+ }
+ glNamedFramebufferReadBuffer(framebuffer, src);
+}
+
+/**
+ * glClearNamedFramebufferiv
+ */
+PHP_FUNCTION(glClearNamedFramebufferiv)
+{
+ zend_long framebuffer;
+ zend_long buffer;
+ zend_long drawbuffer;
+ zval *value_zval;
+ HashTable *value_ht = NULL;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllO", &framebuffer, &buffer, &drawbuffer, &value_zval, phpglfw_get_buffer_glint_ce()) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllh", &framebuffer, &buffer, &drawbuffer, &value_ht) == FAILURE) {
+ return;
+ }
+
+ zval *data;
+ cvector_vector_type(GLint) tmpvec = NULL;
+ ZEND_HASH_FOREACH_VAL(value_ht, data)
+ if (Z_TYPE_P(data) == IS_LONG) {
+ cvector_push_back(tmpvec, Z_LVAL_P(data));
+ } else {
+ zend_throw_error(NULL, "All elements of the given array have to be of type: int");
+ }
+ ZEND_HASH_FOREACH_END();
+ glClearNamedFramebufferiv(framebuffer, buffer, drawbuffer, tmpvec);
+ cvector_free(tmpvec);
+ return;
+ }
+ phpglfw_buffer_glint_object *bufferobj = phpglfw_buffer_glint_objectptr_from_zobj_p(Z_OBJ_P(value_zval));
+ glClearNamedFramebufferiv(framebuffer, buffer, drawbuffer, bufferobj->vec);
+}
+
+/**
+ * glClearNamedFramebufferuiv
+ */
+PHP_FUNCTION(glClearNamedFramebufferuiv)
+{
+ zend_long framebuffer;
+ zend_long buffer;
+ zend_long drawbuffer;
+ zval *value_zval;
+ HashTable *value_ht = NULL;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllO", &framebuffer, &buffer, &drawbuffer, &value_zval, phpglfw_get_buffer_gluint_ce()) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllh", &framebuffer, &buffer, &drawbuffer, &value_ht) == FAILURE) {
+ return;
+ }
+
+ zval *data;
+ cvector_vector_type(GLuint) tmpvec = NULL;
+ ZEND_HASH_FOREACH_VAL(value_ht, data)
+ if (Z_TYPE_P(data) == IS_LONG) {
+ cvector_push_back(tmpvec, Z_LVAL_P(data));
+ } else {
+ zend_throw_error(NULL, "All elements of the given array have to be of type: int");
+ }
+ ZEND_HASH_FOREACH_END();
+ glClearNamedFramebufferuiv(framebuffer, buffer, drawbuffer, tmpvec);
+ cvector_free(tmpvec);
+ return;
+ }
+ phpglfw_buffer_gluint_object *bufferobj = phpglfw_buffer_gluint_objectptr_from_zobj_p(Z_OBJ_P(value_zval));
+ glClearNamedFramebufferuiv(framebuffer, buffer, drawbuffer, bufferobj->vec);
+}
+
+/**
+ * glClearNamedFramebufferfv
+ */
+PHP_FUNCTION(glClearNamedFramebufferfv)
+{
+ zend_long framebuffer;
+ zend_long buffer;
+ zend_long drawbuffer;
+ zval *value_zval;
+ HashTable *value_ht = NULL;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllO", &framebuffer, &buffer, &drawbuffer, &value_zval, phpglfw_get_buffer_glfloat_ce()) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllh", &framebuffer, &buffer, &drawbuffer, &value_ht) == FAILURE) {
+ return;
+ }
+
+ zval *data;
+ cvector_vector_type(GLfloat) tmpvec = NULL;
+ ZEND_HASH_FOREACH_VAL(value_ht, data)
+ if (Z_TYPE_P(data) == IS_DOUBLE) {
+ cvector_push_back(tmpvec, Z_DVAL_P(data));
+ } else {
+ zend_throw_error(NULL, "All elements of the given array have to be of type: float");
+ }
+ ZEND_HASH_FOREACH_END();
+ glClearNamedFramebufferfv(framebuffer, buffer, drawbuffer, tmpvec);
+ cvector_free(tmpvec);
+ return;
+ }
+ phpglfw_buffer_glfloat_object *bufferobj = phpglfw_buffer_glfloat_objectptr_from_zobj_p(Z_OBJ_P(value_zval));
+ glClearNamedFramebufferfv(framebuffer, buffer, drawbuffer, bufferobj->vec);
+}
+
+/**
+ * glClearNamedFramebufferfi
+ */
+PHP_FUNCTION(glClearNamedFramebufferfi)
+{
+ zend_long framebuffer;
+ zend_long buffer;
+ zend_long drawbuffer;
+ double depth;
+ zend_long stencil;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llldl", &framebuffer, &buffer, &drawbuffer, &depth, &stencil) == FAILURE) {
+ return;
+ }
+ glClearNamedFramebufferfi(framebuffer, buffer, drawbuffer, depth, stencil);
+}
+
+/**
+ * glBlitNamedFramebuffer
+ */
+PHP_FUNCTION(glBlitNamedFramebuffer)
+{
+ zend_long readFramebuffer;
+ zend_long drawFramebuffer;
+ zend_long srcX0;
+ zend_long srcY0;
+ zend_long srcX1;
+ zend_long srcY1;
+ zend_long dstX0;
+ zend_long dstY0;
+ zend_long dstX1;
+ zend_long dstY1;
+ zend_long mask;
+ zend_long filter;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llllllllllll", &readFramebuffer, &drawFramebuffer, &srcX0, &srcY0, &srcX1, &srcY1, &dstX0, &dstY0, &dstX1, &dstY1, &mask, &filter) == FAILURE) {
+ return;
+ }
+ glBlitNamedFramebuffer(readFramebuffer, drawFramebuffer, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
+}
+
+/**
+ * glCheckNamedFramebufferStatus
+ */
+PHP_FUNCTION(glCheckNamedFramebufferStatus)
+{
+ zend_long framebuffer;
+ zend_long target;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "ll", &framebuffer, &target) == FAILURE) {
+ return;
+ }
+ RETURN_LONG(glCheckNamedFramebufferStatus(framebuffer, target));
+}
+
+/**
+ * glGetNamedFramebufferParameteriv
+ */
+PHP_FUNCTION(glGetNamedFramebufferParameteriv)
+{
+ zend_long framebuffer;
+ zend_long pname;
+ zval *param_zval;
+ GLint param_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llz", &framebuffer, &pname, ¶m_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(param_zval);
+ convert_to_long(param_zval);
+ glGetNamedFramebufferParameteriv(framebuffer, pname, ¶m_tmp);
+ ZVAL_LONG(param_zval, param_tmp);
+}
+
+/**
+ * glGetNamedFramebufferAttachmentParameteriv
+ */
+PHP_FUNCTION(glGetNamedFramebufferAttachmentParameteriv)
+{
+ zend_long framebuffer;
+ zend_long attachment;
+ zend_long pname;
+ zval *params_zval;
+ GLint params_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllz", &framebuffer, &attachment, &pname, ¶ms_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(params_zval);
+ convert_to_long(params_zval);
+ glGetNamedFramebufferAttachmentParameteriv(framebuffer, attachment, pname, ¶ms_tmp);
+ ZVAL_LONG(params_zval, params_tmp);
+}
+
+/**
+ * glCreateRenderbuffers
+ */
+PHP_FUNCTION(glCreateRenderbuffers)
+{
+ zend_long n;
+ zval *renderbuffers_zval;
+ size_t renderbuffers_zval_num = 0;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "l+", &n, &renderbuffers_zval, &renderbuffers_zval_num) == FAILURE) {
+ return;
+ }
+ if (n != renderbuffers_zval_num) {
+ zend_throw_error(NULL, "The given number of elements needs to match the actual amount of given variadic vars.");
+ return;
+ }
+ GLuint *renderbuffers_zval_ids = malloc(n * sizeof(GLuint));
+ glCreateRenderbuffers(n, renderbuffers_zval_ids);
+ zval *data;
+ for (size_t i = 0; i < renderbuffers_zval_num; i++) {
+ data = &renderbuffers_zval[i];
+ ZVAL_DEREF(data);
+ convert_to_long(data);
+ Z_LVAL_P(data) = renderbuffers_zval_ids[i];
+ };
+}
+
+/**
+ * glNamedRenderbufferStorage
+ */
+PHP_FUNCTION(glNamedRenderbufferStorage)
+{
+ zend_long renderbuffer;
+ zend_long internalformat;
+ zend_long width;
+ zend_long height;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llll", &renderbuffer, &internalformat, &width, &height) == FAILURE) {
+ return;
+ }
+ glNamedRenderbufferStorage(renderbuffer, internalformat, width, height);
+}
+
+/**
+ * glNamedRenderbufferStorageMultisample
+ */
+PHP_FUNCTION(glNamedRenderbufferStorageMultisample)
+{
+ zend_long renderbuffer;
+ zend_long samples;
+ zend_long internalformat;
+ zend_long width;
+ zend_long height;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllll", &renderbuffer, &samples, &internalformat, &width, &height) == FAILURE) {
+ return;
+ }
+ glNamedRenderbufferStorageMultisample(renderbuffer, samples, internalformat, width, height);
+}
+
+/**
+ * glGetNamedRenderbufferParameteriv
+ */
+PHP_FUNCTION(glGetNamedRenderbufferParameteriv)
+{
+ zend_long renderbuffer;
+ zend_long pname;
+ zval *params_zval;
+ GLint params_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llz", &renderbuffer, &pname, ¶ms_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(params_zval);
+ convert_to_long(params_zval);
+ glGetNamedRenderbufferParameteriv(renderbuffer, pname, ¶ms_tmp);
+ ZVAL_LONG(params_zval, params_tmp);
+}
+
+/**
+ * glCreateTextures
+ */
+PHP_FUNCTION(glCreateTextures)
+{
+ zend_long target;
+ zend_long n;
+ zval *textures_zval;
+ GLuint textures_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llz", &target, &n, &textures_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(textures_zval);
+ convert_to_long(textures_zval);
+ glCreateTextures(target, n, &textures_tmp);
+ ZVAL_LONG(textures_zval, textures_tmp);
+}
+
+/**
+ * glTextureBuffer
+ */
+PHP_FUNCTION(glTextureBuffer)
+{
+ zend_long texture;
+ zend_long internalformat;
+ zend_long buffer;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lll", &texture, &internalformat, &buffer) == FAILURE) {
+ return;
+ }
+ glTextureBuffer(texture, internalformat, buffer);
+}
+
+/**
+ * glTextureBufferRange
+ */
+PHP_FUNCTION(glTextureBufferRange)
+{
+ zend_long texture;
+ zend_long internalformat;
+ zend_long buffer;
+ zend_long offset;
+ zend_long size;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllll", &texture, &internalformat, &buffer, &offset, &size) == FAILURE) {
+ return;
+ }
+ glTextureBufferRange(texture, internalformat, buffer, offset, size);
+}
+
+/**
+ * glTextureStorage1D
+ */
+PHP_FUNCTION(glTextureStorage1D)
+{
+ zend_long texture;
+ zend_long levels;
+ zend_long internalformat;
+ zend_long width;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llll", &texture, &levels, &internalformat, &width) == FAILURE) {
+ return;
+ }
+ glTextureStorage1D(texture, levels, internalformat, width);
+}
+
+/**
+ * glTextureStorage2D
+ */
+PHP_FUNCTION(glTextureStorage2D)
+{
+ zend_long texture;
+ zend_long levels;
+ zend_long internalformat;
+ zend_long width;
+ zend_long height;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllll", &texture, &levels, &internalformat, &width, &height) == FAILURE) {
+ return;
+ }
+ glTextureStorage2D(texture, levels, internalformat, width, height);
+}
+
+/**
+ * glTextureStorage3D
+ */
+PHP_FUNCTION(glTextureStorage3D)
+{
+ zend_long texture;
+ zend_long levels;
+ zend_long internalformat;
+ zend_long width;
+ zend_long height;
+ zend_long depth;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llllll", &texture, &levels, &internalformat, &width, &height, &depth) == FAILURE) {
+ return;
+ }
+ glTextureStorage3D(texture, levels, internalformat, width, height, depth);
+}
+
+/**
+ * glTextureStorage2DMultisample
+ */
+PHP_FUNCTION(glTextureStorage2DMultisample)
+{
+ zend_long texture;
+ zend_long samples;
+ zend_long internalformat;
+ zend_long width;
+ zend_long height;
+ bool fixedsamplelocations;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllllb", &texture, &samples, &internalformat, &width, &height, &fixedsamplelocations) == FAILURE) {
+ return;
+ }
+ glTextureStorage2DMultisample(texture, samples, internalformat, width, height, fixedsamplelocations);
+}
+
+/**
+ * glTextureStorage3DMultisample
+ */
+PHP_FUNCTION(glTextureStorage3DMultisample)
+{
+ zend_long texture;
+ zend_long samples;
+ zend_long internalformat;
+ zend_long width;
+ zend_long height;
+ zend_long depth;
+ bool fixedsamplelocations;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llllllb", &texture, &samples, &internalformat, &width, &height, &depth, &fixedsamplelocations) == FAILURE) {
+ return;
+ }
+ glTextureStorage3DMultisample(texture, samples, internalformat, width, height, depth, fixedsamplelocations);
+}
+
+/**
+ * glCopyTextureSubImage1D
+ */
+PHP_FUNCTION(glCopyTextureSubImage1D)
+{
+ zend_long texture;
+ zend_long level;
+ zend_long xoffset;
+ zend_long x;
+ zend_long y;
+ zend_long width;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llllll", &texture, &level, &xoffset, &x, &y, &width) == FAILURE) {
+ return;
+ }
+ glCopyTextureSubImage1D(texture, level, xoffset, x, y, width);
+}
+
+/**
+ * glCopyTextureSubImage2D
+ */
+PHP_FUNCTION(glCopyTextureSubImage2D)
+{
+ zend_long texture;
+ zend_long level;
+ zend_long xoffset;
+ zend_long yoffset;
+ zend_long x;
+ zend_long y;
+ zend_long width;
+ zend_long height;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llllllll", &texture, &level, &xoffset, &yoffset, &x, &y, &width, &height) == FAILURE) {
+ return;
+ }
+ glCopyTextureSubImage2D(texture, level, xoffset, yoffset, x, y, width, height);
+}
+
+/**
+ * glCopyTextureSubImage3D
+ */
+PHP_FUNCTION(glCopyTextureSubImage3D)
+{
+ zend_long texture;
+ zend_long level;
+ zend_long xoffset;
+ zend_long yoffset;
+ zend_long zoffset;
+ zend_long x;
+ zend_long y;
+ zend_long width;
+ zend_long height;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllllllll", &texture, &level, &xoffset, &yoffset, &zoffset, &x, &y, &width, &height) == FAILURE) {
+ return;
+ }
+ glCopyTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, x, y, width, height);
+}
+
+/**
+ * glTextureParameterf
+ */
+PHP_FUNCTION(glTextureParameterf)
+{
+ zend_long texture;
+ zend_long pname;
+ double param;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lld", &texture, &pname, ¶m) == FAILURE) {
+ return;
+ }
+ glTextureParameterf(texture, pname, param);
+}
+
+/**
+ * glTextureParameterfv
+ */
+PHP_FUNCTION(glTextureParameterfv)
+{
+ zend_long texture;
+ zend_long pname;
+ zval *param_zval;
+ HashTable *param_ht = NULL;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llO", &texture, &pname, ¶m_zval, phpglfw_get_buffer_glfloat_ce()) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llh", &texture, &pname, ¶m_ht) == FAILURE) {
+ return;
+ }
+
+ zval *data;
+ cvector_vector_type(GLfloat) tmpvec = NULL;
+ ZEND_HASH_FOREACH_VAL(param_ht, data)
+ if (Z_TYPE_P(data) == IS_DOUBLE) {
+ cvector_push_back(tmpvec, Z_DVAL_P(data));
+ } else {
+ zend_throw_error(NULL, "All elements of the given array have to be of type: float");
+ }
+ ZEND_HASH_FOREACH_END();
+ glTextureParameterfv(texture, pname, tmpvec);
+ cvector_free(tmpvec);
+ return;
+ }
+ phpglfw_buffer_glfloat_object *bufferobj = phpglfw_buffer_glfloat_objectptr_from_zobj_p(Z_OBJ_P(param_zval));
+ glTextureParameterfv(texture, pname, bufferobj->vec);
+}
+
+/**
+ * glTextureParameteri
+ */
+PHP_FUNCTION(glTextureParameteri)
+{
+ zend_long texture;
+ zend_long pname;
+ zend_long param;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lll", &texture, &pname, ¶m) == FAILURE) {
+ return;
+ }
+ glTextureParameteri(texture, pname, param);
+}
+
+/**
+ * glTextureParameterIiv
+ */
+PHP_FUNCTION(glTextureParameterIiv)
+{
+ zend_long texture;
+ zend_long pname;
+ zval *params_zval;
+ HashTable *params_ht = NULL;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llO", &texture, &pname, ¶ms_zval, phpglfw_get_buffer_glint_ce()) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llh", &texture, &pname, ¶ms_ht) == FAILURE) {
+ return;
+ }
+
+ zval *data;
+ cvector_vector_type(GLint) tmpvec = NULL;
+ ZEND_HASH_FOREACH_VAL(params_ht, data)
+ if (Z_TYPE_P(data) == IS_LONG) {
+ cvector_push_back(tmpvec, Z_LVAL_P(data));
+ } else {
+ zend_throw_error(NULL, "All elements of the given array have to be of type: int");
+ }
+ ZEND_HASH_FOREACH_END();
+ glTextureParameterIiv(texture, pname, tmpvec);
+ cvector_free(tmpvec);
+ return;
+ }
+ phpglfw_buffer_glint_object *bufferobj = phpglfw_buffer_glint_objectptr_from_zobj_p(Z_OBJ_P(params_zval));
+ glTextureParameterIiv(texture, pname, bufferobj->vec);
+}
+
+/**
+ * glTextureParameterIuiv
+ */
+PHP_FUNCTION(glTextureParameterIuiv)
+{
+ zend_long texture;
+ zend_long pname;
+ zval *params_zval;
+ HashTable *params_ht = NULL;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llO", &texture, &pname, ¶ms_zval, phpglfw_get_buffer_gluint_ce()) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llh", &texture, &pname, ¶ms_ht) == FAILURE) {
+ return;
+ }
+
+ zval *data;
+ cvector_vector_type(GLuint) tmpvec = NULL;
+ ZEND_HASH_FOREACH_VAL(params_ht, data)
+ if (Z_TYPE_P(data) == IS_LONG) {
+ cvector_push_back(tmpvec, Z_LVAL_P(data));
+ } else {
+ zend_throw_error(NULL, "All elements of the given array have to be of type: int");
+ }
+ ZEND_HASH_FOREACH_END();
+ glTextureParameterIuiv(texture, pname, tmpvec);
+ cvector_free(tmpvec);
+ return;
+ }
+ phpglfw_buffer_gluint_object *bufferobj = phpglfw_buffer_gluint_objectptr_from_zobj_p(Z_OBJ_P(params_zval));
+ glTextureParameterIuiv(texture, pname, bufferobj->vec);
+}
+
+/**
+ * glTextureParameteriv
+ */
+PHP_FUNCTION(glTextureParameteriv)
+{
+ zend_long texture;
+ zend_long pname;
+ zval *param_zval;
+ HashTable *param_ht = NULL;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llO", &texture, &pname, ¶m_zval, phpglfw_get_buffer_glint_ce()) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llh", &texture, &pname, ¶m_ht) == FAILURE) {
+ return;
+ }
+
+ zval *data;
+ cvector_vector_type(GLint) tmpvec = NULL;
+ ZEND_HASH_FOREACH_VAL(param_ht, data)
+ if (Z_TYPE_P(data) == IS_LONG) {
+ cvector_push_back(tmpvec, Z_LVAL_P(data));
+ } else {
+ zend_throw_error(NULL, "All elements of the given array have to be of type: int");
+ }
+ ZEND_HASH_FOREACH_END();
+ glTextureParameteriv(texture, pname, tmpvec);
+ cvector_free(tmpvec);
+ return;
+ }
+ phpglfw_buffer_glint_object *bufferobj = phpglfw_buffer_glint_objectptr_from_zobj_p(Z_OBJ_P(param_zval));
+ glTextureParameteriv(texture, pname, bufferobj->vec);
+}
+
+/**
+ * glGenerateTextureMipmap
+ */
+PHP_FUNCTION(glGenerateTextureMipmap)
+{
+ zend_long texture;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "l", &texture) == FAILURE) {
+ return;
+ }
+ glGenerateTextureMipmap(texture);
+}
+
+/**
+ * glBindTextureUnit
+ */
+PHP_FUNCTION(glBindTextureUnit)
+{
+ zend_long unit;
+ zend_long texture;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "ll", &unit, &texture) == FAILURE) {
+ return;
+ }
+ glBindTextureUnit(unit, texture);
+}
+
+/**
+ * glGetTextureLevelParameterfv
+ */
+PHP_FUNCTION(glGetTextureLevelParameterfv)
+{
+ zend_long texture;
+ zend_long level;
+ zend_long pname;
+ zval *params_zval;
+ GLfloat params_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllz", &texture, &level, &pname, ¶ms_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(params_zval);
+ convert_to_double(params_zval);
+ glGetTextureLevelParameterfv(texture, level, pname, ¶ms_tmp);
+ ZVAL_DOUBLE(params_zval, params_tmp);
+}
+
+/**
+ * glGetTextureLevelParameteriv
+ */
+PHP_FUNCTION(glGetTextureLevelParameteriv)
+{
+ zend_long texture;
+ zend_long level;
+ zend_long pname;
+ zval *params_zval;
+ GLint params_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllz", &texture, &level, &pname, ¶ms_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(params_zval);
+ convert_to_long(params_zval);
+ glGetTextureLevelParameteriv(texture, level, pname, ¶ms_tmp);
+ ZVAL_LONG(params_zval, params_tmp);
+}
+
+/**
+ * glGetTextureParameterfv
+ */
+PHP_FUNCTION(glGetTextureParameterfv)
+{
+ zend_long texture;
+ zend_long pname;
+ zval *params_zval;
+ GLfloat params_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llz", &texture, &pname, ¶ms_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(params_zval);
+ convert_to_double(params_zval);
+ glGetTextureParameterfv(texture, pname, ¶ms_tmp);
+ ZVAL_DOUBLE(params_zval, params_tmp);
+}
+
+/**
+ * glGetTextureParameterIiv
+ */
+PHP_FUNCTION(glGetTextureParameterIiv)
+{
+ zend_long texture;
+ zend_long pname;
+ zval *params_zval;
+ GLint params_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llz", &texture, &pname, ¶ms_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(params_zval);
+ convert_to_long(params_zval);
+ glGetTextureParameterIiv(texture, pname, ¶ms_tmp);
+ ZVAL_LONG(params_zval, params_tmp);
+}
+
+/**
+ * glGetTextureParameterIuiv
+ */
+PHP_FUNCTION(glGetTextureParameterIuiv)
+{
+ zend_long texture;
+ zend_long pname;
+ zval *params_zval;
+ GLuint params_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llz", &texture, &pname, ¶ms_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(params_zval);
+ convert_to_long(params_zval);
+ glGetTextureParameterIuiv(texture, pname, ¶ms_tmp);
+ ZVAL_LONG(params_zval, params_tmp);
+}
+
+/**
+ * glGetTextureParameteriv
+ */
+PHP_FUNCTION(glGetTextureParameteriv)
+{
+ zend_long texture;
+ zend_long pname;
+ zval *params_zval;
+ GLint params_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llz", &texture, &pname, ¶ms_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(params_zval);
+ convert_to_long(params_zval);
+ glGetTextureParameteriv(texture, pname, ¶ms_tmp);
+ ZVAL_LONG(params_zval, params_tmp);
+}
+
+/**
+ * glCreateVertexArrays
+ */
+PHP_FUNCTION(glCreateVertexArrays)
+{
+ zend_long n;
+ zval *arrays_zval;
+ size_t arrays_zval_num = 0;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "l+", &n, &arrays_zval, &arrays_zval_num) == FAILURE) {
+ return;
+ }
+ if (n != arrays_zval_num) {
+ zend_throw_error(NULL, "The given number of elements needs to match the actual amount of given variadic vars.");
+ return;
+ }
+ GLuint *arrays_zval_ids = malloc(n * sizeof(GLuint));
+ glCreateVertexArrays(n, arrays_zval_ids);
+ zval *data;
+ for (size_t i = 0; i < arrays_zval_num; i++) {
+ data = &arrays_zval[i];
+ ZVAL_DEREF(data);
+ convert_to_long(data);
+ Z_LVAL_P(data) = arrays_zval_ids[i];
+ };
+}
+
+/**
+ * glDisableVertexArrayAttrib
+ */
+PHP_FUNCTION(glDisableVertexArrayAttrib)
+{
+ zend_long vaobj;
+ zend_long index;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "ll", &vaobj, &index) == FAILURE) {
+ return;
+ }
+ glDisableVertexArrayAttrib(vaobj, index);
+}
+
+/**
+ * glEnableVertexArrayAttrib
+ */
+PHP_FUNCTION(glEnableVertexArrayAttrib)
+{
+ zend_long vaobj;
+ zend_long index;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "ll", &vaobj, &index) == FAILURE) {
+ return;
+ }
+ glEnableVertexArrayAttrib(vaobj, index);
+}
+
+/**
+ * glVertexArrayElementBuffer
+ */
+PHP_FUNCTION(glVertexArrayElementBuffer)
+{
+ zend_long vaobj;
+ zend_long buffer;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "ll", &vaobj, &buffer) == FAILURE) {
+ return;
+ }
+ glVertexArrayElementBuffer(vaobj, buffer);
+}
+
+/**
+ * glVertexArrayVertexBuffer
+ */
+PHP_FUNCTION(glVertexArrayVertexBuffer)
+{
+ zend_long vaobj;
+ zend_long bindingindex;
+ zend_long buffer;
+ zend_long offset;
+ zend_long stride;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllll", &vaobj, &bindingindex, &buffer, &offset, &stride) == FAILURE) {
+ return;
+ }
+ glVertexArrayVertexBuffer(vaobj, bindingindex, buffer, offset, stride);
+}
+
+/**
+ * glVertexArrayAttribBinding
+ */
+PHP_FUNCTION(glVertexArrayAttribBinding)
+{
+ zend_long vaobj;
+ zend_long attribindex;
+ zend_long bindingindex;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lll", &vaobj, &attribindex, &bindingindex) == FAILURE) {
+ return;
+ }
+ glVertexArrayAttribBinding(vaobj, attribindex, bindingindex);
+}
+
+/**
+ * glVertexArrayAttribFormat
+ */
+PHP_FUNCTION(glVertexArrayAttribFormat)
+{
+ zend_long vaobj;
+ zend_long attribindex;
+ zend_long size;
+ zend_long type;
+ bool normalized;
+ zend_long relativeoffset;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llllbl", &vaobj, &attribindex, &size, &type, &normalized, &relativeoffset) == FAILURE) {
+ return;
+ }
+ glVertexArrayAttribFormat(vaobj, attribindex, size, type, normalized, relativeoffset);
+}
+
+/**
+ * glVertexArrayAttribIFormat
+ */
+PHP_FUNCTION(glVertexArrayAttribIFormat)
+{
+ zend_long vaobj;
+ zend_long attribindex;
+ zend_long size;
+ zend_long type;
+ zend_long relativeoffset;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllll", &vaobj, &attribindex, &size, &type, &relativeoffset) == FAILURE) {
+ return;
+ }
+ glVertexArrayAttribIFormat(vaobj, attribindex, size, type, relativeoffset);
+}
+
+/**
+ * glVertexArrayAttribLFormat
+ */
+PHP_FUNCTION(glVertexArrayAttribLFormat)
+{
+ zend_long vaobj;
+ zend_long attribindex;
+ zend_long size;
+ zend_long type;
+ zend_long relativeoffset;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllll", &vaobj, &attribindex, &size, &type, &relativeoffset) == FAILURE) {
+ return;
+ }
+ glVertexArrayAttribLFormat(vaobj, attribindex, size, type, relativeoffset);
+}
+
+/**
+ * glVertexArrayBindingDivisor
+ */
+PHP_FUNCTION(glVertexArrayBindingDivisor)
+{
+ zend_long vaobj;
+ zend_long bindingindex;
+ zend_long divisor;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lll", &vaobj, &bindingindex, &divisor) == FAILURE) {
+ return;
+ }
+ glVertexArrayBindingDivisor(vaobj, bindingindex, divisor);
+}
+
+/**
+ * glGetVertexArrayiv
+ */
+PHP_FUNCTION(glGetVertexArrayiv)
+{
+ zend_long vaobj;
+ zend_long pname;
+ zval *param_zval;
+ GLint param_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llz", &vaobj, &pname, ¶m_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(param_zval);
+ convert_to_long(param_zval);
+ glGetVertexArrayiv(vaobj, pname, ¶m_tmp);
+ ZVAL_LONG(param_zval, param_tmp);
+}
+
+/**
+ * glGetVertexArrayIndexediv
+ */
+PHP_FUNCTION(glGetVertexArrayIndexediv)
+{
+ zend_long vaobj;
+ zend_long index;
+ zend_long pname;
+ zval *param_zval;
+ GLint param_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllz", &vaobj, &index, &pname, ¶m_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(param_zval);
+ convert_to_long(param_zval);
+ glGetVertexArrayIndexediv(vaobj, index, pname, ¶m_tmp);
+ ZVAL_LONG(param_zval, param_tmp);
+}
+
+/**
+ * glGetVertexArrayIndexed64iv
+ */
+PHP_FUNCTION(glGetVertexArrayIndexed64iv)
+{
+ zend_long vaobj;
+ zend_long index;
+ zend_long pname;
+ zval *param_zval;
+ GLint64 param_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllz", &vaobj, &index, &pname, ¶m_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(param_zval);
+ convert_to_long(param_zval);
+ glGetVertexArrayIndexed64iv(vaobj, index, pname, ¶m_tmp);
+ ZVAL_LONG(param_zval, param_tmp);
+}
+
+/**
+ * glCreateSamplers
+ */
+PHP_FUNCTION(glCreateSamplers)
+{
+ zend_long n;
+ zval *samplers_zval;
+ size_t samplers_zval_num = 0;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "l+", &n, &samplers_zval, &samplers_zval_num) == FAILURE) {
+ return;
+ }
+ if (n != samplers_zval_num) {
+ zend_throw_error(NULL, "The given number of elements needs to match the actual amount of given variadic vars.");
+ return;
+ }
+ GLuint *samplers_zval_ids = malloc(n * sizeof(GLuint));
+ glCreateSamplers(n, samplers_zval_ids);
+ zval *data;
+ for (size_t i = 0; i < samplers_zval_num; i++) {
+ data = &samplers_zval[i];
+ ZVAL_DEREF(data);
+ convert_to_long(data);
+ Z_LVAL_P(data) = samplers_zval_ids[i];
+ };
+}
+
+/**
+ * glCreateProgramPipelines
+ */
+PHP_FUNCTION(glCreateProgramPipelines)
+{
+ zend_long n;
+ zval *pipelines_zval;
+ size_t pipelines_zval_num = 0;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "l+", &n, &pipelines_zval, &pipelines_zval_num) == FAILURE) {
+ return;
+ }
+ if (n != pipelines_zval_num) {
+ zend_throw_error(NULL, "The given number of elements needs to match the actual amount of given variadic vars.");
+ return;
+ }
+ GLuint *pipelines_zval_ids = malloc(n * sizeof(GLuint));
+ glCreateProgramPipelines(n, pipelines_zval_ids);
+ zval *data;
+ for (size_t i = 0; i < pipelines_zval_num; i++) {
+ data = &pipelines_zval[i];
+ ZVAL_DEREF(data);
+ convert_to_long(data);
+ Z_LVAL_P(data) = pipelines_zval_ids[i];
+ };
+}
+
+/**
+ * glCreateQueries
+ */
+PHP_FUNCTION(glCreateQueries)
+{
+ zend_long target;
+ zend_long n;
+ zval *ids_zval;
+ GLuint ids_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llz", &target, &n, &ids_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(ids_zval);
+ convert_to_long(ids_zval);
+ glCreateQueries(target, n, &ids_tmp);
+ ZVAL_LONG(ids_zval, ids_tmp);
+}
+
+/**
+ * glGetQueryBufferObjecti64v
+ */
+PHP_FUNCTION(glGetQueryBufferObjecti64v)
+{
+ zend_long id;
+ zend_long buffer;
+ zend_long pname;
+ zend_long offset;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llll", &id, &buffer, &pname, &offset) == FAILURE) {
+ return;
+ }
+ glGetQueryBufferObjecti64v(id, buffer, pname, offset);
+}
+
+/**
+ * glGetQueryBufferObjectiv
+ */
+PHP_FUNCTION(glGetQueryBufferObjectiv)
+{
+ zend_long id;
+ zend_long buffer;
+ zend_long pname;
+ zend_long offset;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llll", &id, &buffer, &pname, &offset) == FAILURE) {
+ return;
+ }
+ glGetQueryBufferObjectiv(id, buffer, pname, offset);
+}
+
+/**
+ * glGetQueryBufferObjectui64v
+ */
+PHP_FUNCTION(glGetQueryBufferObjectui64v)
+{
+ zend_long id;
+ zend_long buffer;
+ zend_long pname;
+ zend_long offset;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llll", &id, &buffer, &pname, &offset) == FAILURE) {
+ return;
+ }
+ glGetQueryBufferObjectui64v(id, buffer, pname, offset);
+}
+
+/**
+ * glGetQueryBufferObjectuiv
+ */
+PHP_FUNCTION(glGetQueryBufferObjectuiv)
+{
+ zend_long id;
+ zend_long buffer;
+ zend_long pname;
+ zend_long offset;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llll", &id, &buffer, &pname, &offset) == FAILURE) {
+ return;
+ }
+ glGetQueryBufferObjectuiv(id, buffer, pname, offset);
+}
+
+/**
+ * glMemoryBarrierByRegion
+ */
+PHP_FUNCTION(glMemoryBarrierByRegion)
+{
+ zend_long barriers;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "l", &barriers) == FAILURE) {
+ return;
+ }
+ glMemoryBarrierByRegion(barriers);
+}
+
+/**
+ * glGetGraphicsResetStatus
+ */
+PHP_FUNCTION(glGetGraphicsResetStatus)
+{
+ RETURN_LONG(glGetGraphicsResetStatus());
+}
+
+/**
+ * glGetnUniformdv
+ */
+PHP_FUNCTION(glGetnUniformdv)
+{
+ zend_long program;
+ zend_long location;
+ zend_long bufSize;
+ zval *params_zval;
+ GLdouble params_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllz", &program, &location, &bufSize, ¶ms_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(params_zval);
+ convert_to_double(params_zval);
+ glGetnUniformdv(program, location, bufSize, ¶ms_tmp);
+ ZVAL_DOUBLE(params_zval, params_tmp);
+}
+
+/**
+ * glGetnUniformfv
+ */
+PHP_FUNCTION(glGetnUniformfv)
+{
+ zend_long program;
+ zend_long location;
+ zend_long bufSize;
+ zval *params_zval;
+ GLfloat params_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllz", &program, &location, &bufSize, ¶ms_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(params_zval);
+ convert_to_double(params_zval);
+ glGetnUniformfv(program, location, bufSize, ¶ms_tmp);
+ ZVAL_DOUBLE(params_zval, params_tmp);
+}
+
+/**
+ * glGetnUniformiv
+ */
+PHP_FUNCTION(glGetnUniformiv)
+{
+ zend_long program;
+ zend_long location;
+ zend_long bufSize;
+ zval *params_zval;
+ GLint params_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllz", &program, &location, &bufSize, ¶ms_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(params_zval);
+ convert_to_long(params_zval);
+ glGetnUniformiv(program, location, bufSize, ¶ms_tmp);
+ ZVAL_LONG(params_zval, params_tmp);
+}
+
+/**
+ * glGetnUniformuiv
+ */
+PHP_FUNCTION(glGetnUniformuiv)
+{
+ zend_long program;
+ zend_long location;
+ zend_long bufSize;
+ zval *params_zval;
+ GLuint params_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllz", &program, &location, &bufSize, ¶ms_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(params_zval);
+ convert_to_long(params_zval);
+ glGetnUniformuiv(program, location, bufSize, ¶ms_tmp);
+ ZVAL_LONG(params_zval, params_tmp);
+}
+
+/**
+ * glGetnMapdv
+ */
+PHP_FUNCTION(glGetnMapdv)
+{
+ zend_long target;
+ zend_long query;
+ zend_long bufSize;
+ zval *v_zval;
+ GLdouble v_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllz", &target, &query, &bufSize, &v_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(v_zval);
+ convert_to_double(v_zval);
+ glGetnMapdv(target, query, bufSize, &v_tmp);
+ ZVAL_DOUBLE(v_zval, v_tmp);
+}
+
+/**
+ * glGetnMapfv
+ */
+PHP_FUNCTION(glGetnMapfv)
+{
+ zend_long target;
+ zend_long query;
+ zend_long bufSize;
+ zval *v_zval;
+ GLfloat v_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllz", &target, &query, &bufSize, &v_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(v_zval);
+ convert_to_double(v_zval);
+ glGetnMapfv(target, query, bufSize, &v_tmp);
+ ZVAL_DOUBLE(v_zval, v_tmp);
+}
+
+/**
+ * glGetnMapiv
+ */
+PHP_FUNCTION(glGetnMapiv)
+{
+ zend_long target;
+ zend_long query;
+ zend_long bufSize;
+ zval *v_zval;
+ GLint v_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lllz", &target, &query, &bufSize, &v_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(v_zval);
+ convert_to_long(v_zval);
+ glGetnMapiv(target, query, bufSize, &v_tmp);
+ ZVAL_LONG(v_zval, v_tmp);
+}
+
+/**
+ * glGetnPixelMapfv
+ */
+PHP_FUNCTION(glGetnPixelMapfv)
+{
+ zend_long map;
+ zend_long bufSize;
+ zval *values_zval;
+ GLfloat values_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llz", &map, &bufSize, &values_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(values_zval);
+ convert_to_double(values_zval);
+ glGetnPixelMapfv(map, bufSize, &values_tmp);
+ ZVAL_DOUBLE(values_zval, values_tmp);
+}
+
+/**
+ * glGetnPixelMapuiv
+ */
+PHP_FUNCTION(glGetnPixelMapuiv)
+{
+ zend_long map;
+ zend_long bufSize;
+ zval *values_zval;
+ GLuint values_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llz", &map, &bufSize, &values_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(values_zval);
+ convert_to_long(values_zval);
+ glGetnPixelMapuiv(map, bufSize, &values_tmp);
+ ZVAL_LONG(values_zval, values_tmp);
+}
+
+/**
+ * glGetnPixelMapusv
+ */
+PHP_FUNCTION(glGetnPixelMapusv)
+{
+ zend_long map;
+ zend_long bufSize;
+ zval *values_zval;
+ GLushort values_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "llz", &map, &bufSize, &values_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(values_zval);
+ convert_to_long(values_zval);
+ glGetnPixelMapusv(map, bufSize, &values_tmp);
+ ZVAL_LONG(values_zval, values_tmp);
+}
+
+/**
+ * glGetnPolygonStipple
+ */
+PHP_FUNCTION(glGetnPolygonStipple)
+{
+ zend_long bufSize;
+ zval *pattern_zval;
+ GLubyte pattern_tmp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "lz", &bufSize, &pattern_zval) == FAILURE) {
+ return;
+ }
+ ZVAL_DEREF(pattern_zval);
+ convert_to_long(pattern_zval);
+ glGetnPolygonStipple(bufSize, &pattern_tmp);
+ ZVAL_LONG(pattern_zval, pattern_tmp);
+}
+
+/**
+ * glTextureBarrier
+ */
+PHP_FUNCTION(glTextureBarrier)
+{
+ glTextureBarrier();
+}
+
+/**
+ * glPolygonOffsetClamp
+ */
+PHP_FUNCTION(glPolygonOffsetClamp)
+{
+ double factor;
+ double units;
+ double clamp;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "ddd", &factor, &units, &clamp) == FAILURE) {
+ return;
+ }
+ glPolygonOffsetClamp(factor, units, clamp);
+}
+
/**
* glfwInit
*/
diff --git a/stubs/phpglfw.php b/stubs/phpglfw.php
index 3f572f77..027690ba 100644
--- a/stubs/phpglfw.php
+++ b/stubs/phpglfw.php
@@ -7991,6 +7991,1687 @@ function glGetFloati_v(int $target, int $index, ?bool &...$data) : void {}
*/
function glGetDoublei_v(int $target, int $index, ?bool &...$data) : void {}
+ /**
+ * draw multiple instances of a range of elements with offset applied to
+ * instanced attributes
+ *
+ * @param int $mode Specifies what kind of primitives to render. Symbolic
+ * constants GL_POINTS, GL_LINE_STRIP,
+ * GL_LINE_LOOP, GL_LINES,
+ * GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN,
+ * GL_TRIANGLES GL_LINES_ADJACENCY,
+ * GL_LINE_STRIP_ADJACENCY,
+ * GL_TRIANGLES_ADJACENCY,
+ * GL_TRIANGLE_STRIP_ADJACENCY and
+ * GL_PATCHES are accepted.
+ * @param int $first Specifies the starting index in the enabled arrays.
+ * @param int $count Specifies the number of indices to be rendered.
+ * @param int $instancecount Specifies the number of instances of the specified
+ * range of indices to be rendered.
+ * @param int $baseinstance Specifies the base instance for use in fetching
+ * instanced vertex attributes.
+ *
+ * @return void
+ */
+ function glDrawArraysInstancedBaseInstance(int $mode, int $first, int $count, int $instancecount, int $baseinstance) : void {}
+
+ /**
+ * glGetInternalformativ
+ *
+ * @param int $target
+ * @param int $internalformat
+ * @param int $pname
+ * @param int $count
+ * @param int &$params
+ *
+ * @return void
+ */
+ function glGetInternalformativ(int $target, int $internalformat, int $pname, int $count, int &$params) : void {}
+
+ /**
+ * retrieve information about the set of active atomic counter buffers for a
+ * program
+ *
+ * @param int $program The name of a program object from which to retrieve
+ * information.
+ * @param int $bufferIndex Specifies index of an active atomic counter buffer.
+ * @param int $pname Specifies which parameter of the atomic counter buffer to
+ * retrieve.
+ * @param int &$params Specifies the address of a variable into which to write
+ * the retrieved information.
+ *
+ * @return void
+ */
+ function glGetActiveAtomicCounterBufferiv(int $program, int $bufferIndex, int $pname, int &$params) : void {}
+
+ /**
+ * bind a level of a texture to an image unit
+ *
+ * @param int $unit Specifies the index of the image unit to which to bind the
+ * texture
+ * @param int $texture Specifies the name of the texture to bind to the image
+ * unit.
+ * @param int $level Specifies the level of the texture that is to be bound.
+ * @param bool $layered Specifies whether a layered texture binding is to be
+ * established.
+ * @param int $layer If layered is GL_FALSE, specifies the
+ * layer of texture to be bound to the image unit. Ignored otherwise.
+ * @param int $access Specifies a token indicating the type of access that will
+ * be performed on the image.
+ * @param int $format Specifies the format that the elements of the image will
+ * be treated as for the purposes of formatted stores.
+ *
+ * @return void
+ */
+ function glBindImageTexture(int $unit, int $texture, int $level, bool $layered, int $layer, int $access, int $format) : void {}
+
+ /**
+ * defines a barrier ordering memory transactions
+ *
+ * @param int $barriers Specifies the barriers to insert.
+ *
+ * @return void
+ */
+ function glMemoryBarrier(int $barriers) : void {}
+
+ /**
+ * simultaneously specify storage for all levels of a one-dimensional texture
+ *
+ * @param int $target Specifies the target to which the texture object is bound
+ * for glTexStorage1D. Must be one of GL_TEXTURE_1D or
+ * GL_PROXY_TEXTURE_1D.
+ * @param int $levels Specify the number of texture levels.
+ * @param int $internalformat Specifies the sized internal format to be used to
+ * store texture image data.
+ * @param int $width Specifies the width of the texture, in texels.
+ *
+ * @return void
+ */
+ function glTexStorage1D(int $target, int $levels, int $internalformat, int $width) : void {}
+
+ /**
+ * simultaneously specify storage for all levels of a two-dimensional or
+ * one-dimensional array texture
+ *
+ * @param int $target Specifies the target to which the texture object is bound
+ * for glTexStorage2D. Must be one of GL_TEXTURE_2D,
+ * GL_TEXTURE_1D_ARRAY,
+ * GL_TEXTURE_RECTANGLE,
+ * GL_TEXTURE_CUBE_MAP,
+ * GL_PROXY_TEXTURE_2D,
+ * GL_PROXY_TEXTURE_1D_ARRAY,
+ * GL_PROXY_TEXTURE_RECTANGLE, or
+ * GL_PROXY_TEXTURE_CUBE_MAP.
+ * @param int $levels Specify the number of texture levels.
+ * @param int $internalformat Specifies the sized internal format to be used to
+ * store texture image data.
+ * @param int $width Specifies the width of the texture, in texels.
+ * @param int $height Specifies the height of the texture, in texels.
+ *
+ * @return void
+ */
+ function glTexStorage2D(int $target, int $levels, int $internalformat, int $width, int $height) : void {}
+
+ /**
+ * simultaneously specify storage for all levels of a three-dimensional,
+ * two-dimensional array or cube-map array texture
+ *
+ * @param int $target Specifies the target to which the texture object is bound
+ * for glTexStorage3D. Must be one of GL_TEXTURE_3D,
+ * GL_TEXTURE_2D_ARRAY,
+ * GL_TEXTURE_CUBE_MAP_ARRAY,
+ * GL_PROXY_TEXTURE_3D,
+ * GL_PROXY_TEXTURE_2D_ARRAY or
+ * GL_PROXY_TEXTURE_CUBE_MAP_ARRAY.
+ * @param int $levels Specify the number of texture levels.
+ * @param int $internalformat Specifies the sized internal format to be used to
+ * store texture image data.
+ * @param int $width Specifies the width of the texture, in texels.
+ * @param int $height Specifies the height of the texture, in texels.
+ * @param int $depth Specifies the depth of the texture, in texels.
+ *
+ * @return void
+ */
+ function glTexStorage3D(int $target, int $levels, int $internalformat, int $width, int $height, int $depth) : void {}
+
+ /**
+ * render multiple instances of primitives using a count derived from a
+ * transform feedback object
+ *
+ * @param int $mode Specifies what kind of primitives to render. Symbolic
+ * constants GL_POINTS, GL_LINE_STRIP,
+ * GL_LINE_LOOP, GL_LINES,
+ * GL_LINE_STRIP_ADJACENCY,
+ * GL_LINES_ADJACENCY,
+ * GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN,
+ * GL_TRIANGLES,
+ * GL_TRIANGLE_STRIP_ADJACENCY,
+ * GL_TRIANGLES_ADJACENCY, and
+ * GL_PATCHES are accepted.
+ * @param int $id Specifies the name of a transform feedback object from which
+ * to retrieve a primitive count.
+ * @param int $instancecount Specifies the number of instances of the geometry
+ * to render.
+ *
+ * @return void
+ */
+ function glDrawTransformFeedbackInstanced(int $mode, int $id, int $instancecount) : void {}
+
+ /**
+ * render multiple instances of primitives using a count derived from a specifed
+ * stream of a transform feedback object
+ *
+ * @param int $mode Specifies what kind of primitives to render. Symbolic
+ * constants GL_POINTS, GL_LINE_STRIP,
+ * GL_LINE_LOOP, GL_LINES,
+ * GL_LINE_STRIP_ADJACENCY,
+ * GL_LINES_ADJACENCY,
+ * GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN,
+ * GL_TRIANGLES,
+ * GL_TRIANGLE_STRIP_ADJACENCY,
+ * GL_TRIANGLES_ADJACENCY, and
+ * GL_PATCHES are accepted.
+ * @param int $id Specifies the name of a transform feedback object from which
+ * to retrieve a primitive count.
+ * @param int $stream Specifies the index of the transform feedback stream from
+ * which to retrieve a primitive count.
+ * @param int $instancecount Specifies the number of instances of the geometry
+ * to render.
+ *
+ * @return void
+ */
+ function glDrawTransformFeedbackStreamInstanced(int $mode, int $id, int $stream, int $instancecount) : void {}
+
+ /**
+ * launch one or more compute work groups
+ *
+ * @param int $num_groups_x The number of work groups to be launched in the X
+ * dimension.
+ * @param int $num_groups_y The number of work groups to be launched in the Y
+ * dimension.
+ * @param int $num_groups_z The number of work groups to be launched in the Z
+ * dimension.
+ *
+ * @return void
+ */
+ function glDispatchCompute(int $num_groups_x, int $num_groups_y, int $num_groups_z) : void {}
+
+ /**
+ * launch one or more compute work groups using parameters stored in a buffer
+ *
+ * @param int $indirect The offset into the buffer object currently bound to the
+ * GL_DISPATCH_INDIRECT_BUFFER buffer target at which the
+ * dispatch parameters are stored.
+ *
+ * @return void
+ */
+ function glDispatchComputeIndirect(int $indirect) : void {}
+
+ /**
+ * perform a raw data copy between two images
+ *
+ * @param int $srcName The name of a texture or renderbuffer object from which
+ * to copy.
+ * @param int $srcTarget The target representing the namespace of the source
+ * name srcName.
+ * @param int $srcLevel The mipmap level to read from the source.
+ * @param int $srcX The X coordinate of the left edge of the souce region to
+ * copy.
+ * @param int $srcY The Y coordinate of the top edge of the souce region to
+ * copy.
+ * @param int $srcZ The Z coordinate of the near edge of the souce region to
+ * copy.
+ * @param int $dstName The name of a texture or renderbuffer object to which to
+ * copy.
+ * @param int $dstTarget The target representing the namespace of the
+ * destination name dstName.
+ * @param int $dstLevel
+ * @param int $dstX The X coordinate of the left edge of the destination region.
+ * @param int $dstY The Y coordinate of the top edge of the destination region.
+ * @param int $dstZ The Z coordinate of the near edge of the destination region.
+ * @param int $srcWidth The width of the region to be copied.
+ * @param int $srcHeight The height of the region to be copied.
+ * @param int $srcDepth The depth of the region to be copied.
+ *
+ * @return void
+ */
+ function glCopyImageSubData(int $srcName, int $srcTarget, int $srcLevel, int $srcX, int $srcY, int $srcZ, int $dstName, int $dstTarget, int $dstLevel, int $dstX, int $dstY, int $dstZ, int $srcWidth, int $srcHeight, int $srcDepth) : void {}
+
+ /**
+ * set a named parameter of a framebuffer object
+ *
+ * @param int $target Specifies the target to which the framebuffer is bound for
+ * glFramebufferParameteri.
+ * @param int $pname Specifies the framebuffer parameter to be modified.
+ * @param int $param The new value for the parameter named pname.
+ *
+ * @return void
+ */
+ function glFramebufferParameteri(int $target, int $pname, int $param) : void {}
+
+ /**
+ * glGetFramebufferParameteriv
+ *
+ * @param int $target
+ * @param int $pname
+ * @param int &$params
+ *
+ * @return void
+ */
+ function glGetFramebufferParameteriv(int $target, int $pname, int &$params) : void {}
+
+ /**
+ * glGetInternalformati64v
+ *
+ * @param int $target
+ * @param int $internalformat
+ * @param int $pname
+ * @param int $count
+ * @param int &$params
+ *
+ * @return void
+ */
+ function glGetInternalformati64v(int $target, int $internalformat, int $pname, int $count, int &$params) : void {}
+
+ /**
+ * invalidate a region of a texture image
+ *
+ * @param int $texture The name of a texture object a subregion of which to
+ * invalidate.
+ * @param int $level The level of detail of the texture object within which the
+ * region resides.
+ * @param int $xoffset The X offset of the region to be invalidated.
+ * @param int $yoffset The Y offset of the region to be invalidated.
+ * @param int $zoffset The Z offset of the region to be invalidated.
+ * @param int $width The width of the region to be invalidated.
+ * @param int $height The height of the region to be invalidated.
+ * @param int $depth The depth of the region to be invalidated.
+ *
+ * @return void
+ */
+ function glInvalidateTexSubImage(int $texture, int $level, int $xoffset, int $yoffset, int $zoffset, int $width, int $height, int $depth) : void {}
+
+ /**
+ * invalidate the entirety a texture image
+ *
+ * @param int $texture The name of a texture object to invalidate.
+ * @param int $level The level of detail of the texture object to invalidate.
+ *
+ * @return void
+ */
+ function glInvalidateTexImage(int $texture, int $level) : void {}
+
+ /**
+ * invalidate a region of a buffer object's data store
+ *
+ * @param int $buffer The name of a buffer object, a subrange of whose data
+ * store to invalidate.
+ * @param int $offset The offset within the buffer's data store of the start of
+ * the range to be invalidated.
+ * @param int $length The length of the range within the buffer's data store to
+ * be invalidated.
+ *
+ * @return void
+ */
+ function glInvalidateBufferSubData(int $buffer, int $offset, int $length) : void {}
+
+ /**
+ * invalidate the content of a buffer object's data store
+ *
+ * @param int $buffer The name of a buffer object whose data store to
+ * invalidate.
+ *
+ * @return void
+ */
+ function glInvalidateBufferData(int $buffer) : void {}
+
+ /**
+ * glGetProgramInterfaceiv
+ *
+ * @param int $program
+ * @param int $programInterface
+ * @param int $pname
+ * @param int &$params
+ *
+ * @return void
+ */
+ function glGetProgramInterfaceiv(int $program, int $programInterface, int $pname, int &$params) : void {}
+
+ /**
+ * query the index of a named resource within a program
+ *
+ * @param int $program The name of a program object whose resources to query.
+ * @param int $programInterface A token identifying the interface within program
+ * containing the resource named name.
+ * @param string $name The name of the resource to query the index of.
+ *
+ * @return int
+ */
+ function glGetProgramResourceIndex(int $program, int $programInterface, string $name) : int {}
+
+ /**
+ * query the location of a named resource within a program
+ *
+ * @param int $program The name of a program object whose resources to query.
+ * @param int $programInterface A token identifying the interface within program
+ * containing the resource named name.
+ * @param string $name The name of the resource to query the location of.
+ *
+ * @return int
+ */
+ function glGetProgramResourceLocation(int $program, int $programInterface, string $name) : int {}
+
+ /**
+ * query the fragment color index of a named variable within a program
+ *
+ * @param int $program The name of a program object whose resources to query.
+ * @param int $programInterface A token identifying the interface within program
+ * containing the resource named name.
+ * @param string $name The name of the resource to query the location of.
+ *
+ * @return int
+ */
+ function glGetProgramResourceLocationIndex(int $program, int $programInterface, string $name) : int {}
+
+ /**
+ * change an active shader storage block binding
+ *
+ * @param int $program The name of the program containing the block whose
+ * binding to change.
+ * @param int $storageBlockIndex The index storage block within the program.
+ * @param int $storageBlockBinding The index storage block binding to associate
+ * with the specified storage block.
+ *
+ * @return void
+ */
+ function glShaderStorageBlockBinding(int $program, int $storageBlockIndex, int $storageBlockBinding) : void {}
+
+ /**
+ * attach a range of a buffer object's data store to a buffer texture object
+ *
+ * @param int $target Specifies the target to which the texture object is bound
+ * for glTexBufferRange. Must be GL_TEXTURE_BUFFER.
+ * @param int $internalformat Specifies the internal format of the data in the
+ * store belonging to buffer.
+ * @param int $buffer Specifies the name of the buffer object whose storage to
+ * attach to the active buffer texture.
+ * @param int $offset Specifies the offset of the start of the range of the
+ * buffer's data store to attach.
+ * @param int $size Specifies the size of the range of the buffer's data store
+ * to attach.
+ *
+ * @return void
+ */
+ function glTexBufferRange(int $target, int $internalformat, int $buffer, int $offset, int $size) : void {}
+
+ /**
+ * specify storage for a two-dimensional multisample texture
+ *
+ * @param int $target Specifies the target to which the texture object is bound
+ * for glTexStorage2DMultisample. Must be one of
+ * GL_TEXTURE_2D_MULTISAMPLE or
+ * GL_PROXY_TEXTURE_2D_MULTISAMPLE.
+ * @param int $samples Specify the number of samples in the texture.
+ * @param int $internalformat Specifies the sized internal format to be used to
+ * store texture image data.
+ * @param int $width Specifies the width of the texture, in texels.
+ * @param int $height Specifies the height of the texture, in texels.
+ * @param bool $fixedsamplelocations Specifies whether the image will use
+ * identical sample locations and the same number of samples for all texels in
+ * the image, and the sample locations will not depend on the internal format or
+ * size of the image.
+ *
+ * @return void
+ */
+ function glTexStorage2DMultisample(int $target, int $samples, int $internalformat, int $width, int $height, bool $fixedsamplelocations) : void {}
+
+ /**
+ * specify storage for a two-dimensional multisample array texture
+ *
+ * @param int $target Specifies the target to which the texture object is bound
+ * for glTexStorage3DMultisample. Must be one of
+ * GL_TEXTURE_2D_MULTISAMPLE_ARRAY or
+ * GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY.
+ * @param int $samples Specify the number of samples in the texture.
+ * @param int $internalformat Specifies the sized internal format to be used to
+ * store texture image data.
+ * @param int $width Specifies the width of the texture, in texels.
+ * @param int $height Specifies the height of the texture, in texels.
+ * @param int $depth Specifies the depth of the texture, in layers.
+ * @param bool $fixedsamplelocations Specifies whether the image will use
+ * identical sample locations and the same number of samples for all texels in
+ * the image, and the sample locations will not depend on the internal format or
+ * size of the image.
+ *
+ * @return void
+ */
+ function glTexStorage3DMultisample(int $target, int $samples, int $internalformat, int $width, int $height, int $depth, bool $fixedsamplelocations) : void {}
+
+ /**
+ * initialize a texture as a data alias of another texture's data store
+ *
+ * @param int $texture Specifies the texture object to be initialized as a view.
+ * @param int $target Specifies the target to be used for the newly initialized
+ * texture.
+ * @param int $origtexture Specifies the name of a texture object of which to
+ * make a view.
+ * @param int $internalformat Specifies the internal format for the newly
+ * created view.
+ * @param int $minlevel Specifies lowest level of detail of the view.
+ * @param int $numlevels Specifies the number of levels of detail to include in
+ * the view.
+ * @param int $minlayer Specifies the index of the first layer to include in the
+ * view.
+ * @param int $numlayers Specifies the number of layers to include in the view.
+ *
+ * @return void
+ */
+ function glTextureView(int $texture, int $target, int $origtexture, int $internalformat, int $minlevel, int $numlevels, int $minlayer, int $numlayers) : void {}
+
+ /**
+ * bind a buffer to a vertex buffer bind point
+ *
+ * @param int $bindingindex The index of the vertex buffer binding point to
+ * which to bind the buffer.
+ * @param int $buffer The name of a buffer to bind to the vertex buffer binding
+ * point.
+ * @param int $offset The offset of the first element of the buffer.
+ * @param int $stride The distance between elements within the buffer.
+ *
+ * @return void
+ */
+ function glBindVertexBuffer(int $bindingindex, int $buffer, int $offset, int $stride) : void {}
+
+ /**
+ * specify the organization of vertex arrays
+ *
+ * @param int $attribindex The generic vertex attribute array being described.
+ * @param int $size The number of values per vertex that are stored in the
+ * array.
+ * @param int $type The type of the data stored in the array.
+ * @param bool $normalized Specifies whether fixed-point data values should be
+ * normalized (GL_TRUE) or converted directly as
+ * fixed-point values (GL_FALSE) when they are accessed.
+ * This parameter is ignored if type is GL_FIXED.
+ * @param int $relativeoffset The distance between elements within the buffer.
+ *
+ * @return void
+ */
+ function glVertexAttribFormat(int $attribindex, int $size, int $type, bool $normalized, int $relativeoffset) : void {}
+
+ /**
+ * glVertexAttribIFormat
+ *
+ * @param int $attribindex
+ * @param int $size
+ * @param int $type
+ * @param int $relativeoffset
+ *
+ * @return void
+ */
+ function glVertexAttribIFormat(int $attribindex, int $size, int $type, int $relativeoffset) : void {}
+
+ /**
+ * glVertexAttribLFormat
+ *
+ * @param int $attribindex
+ * @param int $size
+ * @param int $type
+ * @param int $relativeoffset
+ *
+ * @return void
+ */
+ function glVertexAttribLFormat(int $attribindex, int $size, int $type, int $relativeoffset) : void {}
+
+ /**
+ * associate a vertex attribute and a vertex buffer binding for a vertex array
+ * object
+ *
+ * @param int $attribindex The index of the attribute to associate with a vertex
+ * buffer binding.
+ * @param int $bindingindex The index of the vertex buffer binding with which to
+ * associate the generic vertex attribute.
+ *
+ * @return void
+ */
+ function glVertexAttribBinding(int $attribindex, int $bindingindex) : void {}
+
+ /**
+ * modify the rate at which generic vertex attributes
+ * advance
+ *
+ * @param int $bindingindex The index of the binding whose divisor to modify.
+ * @param int $divisor The new value for the instance step rate to apply.
+ *
+ * @return void
+ */
+ function glVertexBindingDivisor(int $bindingindex, int $divisor) : void {}
+
+ /**
+ * inject an application-supplied message into the debug message queue
+ *
+ * @param int $source The source of the debug message to insert.
+ * @param int $type The type of the debug message insert.
+ * @param int $id The user-supplied identifier of the message to insert.
+ * @param int $severity The severity of the debug messages to insert.
+ * @param int $length The length string contained in the character array whose
+ * address is given by message.
+ * @param string $buf
+ *
+ * @return void
+ */
+ function glDebugMessageInsert(int $source, int $type, int $id, int $severity, int $length, string $buf) : void {}
+
+ /**
+ * push a named debug group into the command stream
+ *
+ * @param int $source The source of the debug message.
+ * @param int $id The identifier of the message.
+ * @param int $length The length of the message to be sent to the debug output
+ * stream.
+ * @param string $message The a string containing the message to be sent to the
+ * debug output stream.
+ *
+ * @return void
+ */
+ function glPushDebugGroup(int $source, int $id, int $length, string $message) : void {}
+
+ /**
+ * pop the active debug group
+ * @return void
+ */
+ function glPopDebugGroup() : void {}
+
+ /**
+ * label a named object identified within a namespace
+ *
+ * @param int $identifier The namespace from which the name of the object is
+ * allocated.
+ * @param int $name The name of the object to label.
+ * @param int $length The length of the label to be used for the object.
+ * @param string $label The address of a string containing the label to assign
+ * to the object.
+ *
+ * @return void
+ */
+ function glObjectLabel(int $identifier, int $name, int $length, string $label) : void {}
+
+ /**
+ * control clip coordinate to window coordinate behavior
+ *
+ * @param int $origin Specifies the clip control origin. Must be one of
+ * GL_LOWER_LEFT or GL_UPPER_LEFT.
+ * @param int $depth Specifies the clip control depth mode. Must be one of
+ * GL_NEGATIVE_ONE_TO_ONE or
+ * GL_ZERO_TO_ONE.
+ *
+ * @return void
+ */
+ function glClipControl(int $origin, int $depth) : void {}
+
+ /**
+ * create transform feedback objects
+ *
+ * @param int $n Number of transform feedback objects to create.
+ * @param ?int &...$ids
+ *
+ * @return void
+ */
+ function glCreateTransformFeedbacks(int $n, ?int &...$ids) : void {}
+
+ /**
+ * bind a buffer object to a transform feedback buffer object
+ *
+ * @param int $xfb Name of the transform feedback buffer object.
+ * @param int $index Index of the binding point within xfb.
+ * @param int $buffer Name of the buffer object to bind to the specified binding
+ * point.
+ *
+ * @return void
+ */
+ function glTransformFeedbackBufferBase(int $xfb, int $index, int $buffer) : void {}
+
+ /**
+ * bind a range within a buffer object to a transform feedback buffer object
+ *
+ * @param int $xfb Name of the transform feedback buffer object.
+ * @param int $index Index of the binding point within xfb.
+ * @param int $buffer Name of the buffer object to bind to the specified binding
+ * point.
+ * @param int $offset The starting offset in basic machine units into the buffer
+ * object.
+ * @param int $size The amount of data in basic machine units that can be read
+ * from or written to the buffer object while used as an indexed target.
+ *
+ * @return void
+ */
+ function glTransformFeedbackBufferRange(int $xfb, int $index, int $buffer, int $offset, int $size) : void {}
+
+ /**
+ * glGetTransformFeedbackiv
+ *
+ * @param int $xfb
+ * @param int $pname
+ * @param int &$param
+ *
+ * @return void
+ */
+ function glGetTransformFeedbackiv(int $xfb, int $pname, int &$param) : void {}
+
+ /**
+ * glGetTransformFeedbacki_v
+ *
+ * @param int $xfb
+ * @param int $pname
+ * @param int $index
+ * @param int &$param
+ *
+ * @return void
+ */
+ function glGetTransformFeedbacki_v(int $xfb, int $pname, int $index, int &$param) : void {}
+
+ /**
+ * glGetTransformFeedbacki64_v
+ *
+ * @param int $xfb
+ * @param int $pname
+ * @param int $index
+ * @param int &$param
+ *
+ * @return void
+ */
+ function glGetTransformFeedbacki64_v(int $xfb, int $pname, int $index, int &$param) : void {}
+
+ /**
+ * create buffer objects
+ *
+ * @param int $n Specifies the number of buffer objects to create.
+ * @param ?int &...$buffers
+ *
+ * @return void
+ */
+ function glCreateBuffers(int $n, ?int &...$buffers) : void {}
+
+ /**
+ * glCopyNamedBufferSubData
+ *
+ * @param int $readBuffer
+ * @param int $writeBuffer
+ * @param int $readOffset
+ * @param int $writeOffset
+ * @param int $size
+ *
+ * @return void
+ */
+ function glCopyNamedBufferSubData(int $readBuffer, int $writeBuffer, int $readOffset, int $writeOffset, int $size) : void {}
+
+ /**
+ * glUnmapNamedBuffer
+ *
+ * @param int $buffer
+ *
+ * @return bool
+ */
+ function glUnmapNamedBuffer(int $buffer) : bool {}
+
+ /**
+ * glFlushMappedNamedBufferRange
+ *
+ * @param int $buffer
+ * @param int $offset
+ * @param int $length
+ *
+ * @return void
+ */
+ function glFlushMappedNamedBufferRange(int $buffer, int $offset, int $length) : void {}
+
+ /**
+ * glGetNamedBufferParameteriv
+ *
+ * @param int $buffer
+ * @param int $pname
+ * @param int &$params
+ *
+ * @return void
+ */
+ function glGetNamedBufferParameteriv(int $buffer, int $pname, int &$params) : void {}
+
+ /**
+ * glGetNamedBufferParameteri64v
+ *
+ * @param int $buffer
+ * @param int $pname
+ * @param int &$params
+ *
+ * @return void
+ */
+ function glGetNamedBufferParameteri64v(int $buffer, int $pname, int &$params) : void {}
+
+ /**
+ * create framebuffer objects
+ *
+ * @param int $n Number of framebuffer objects to create.
+ * @param ?int &...$framebuffers
+ *
+ * @return void
+ */
+ function glCreateFramebuffers(int $n, ?int &...$framebuffers) : void {}
+
+ /**
+ * glNamedFramebufferRenderbuffer
+ *
+ * @param int $framebuffer
+ * @param int $attachment
+ * @param int $renderbuffertarget
+ * @param int $renderbuffer
+ *
+ * @return void
+ */
+ function glNamedFramebufferRenderbuffer(int $framebuffer, int $attachment, int $renderbuffertarget, int $renderbuffer) : void {}
+
+ /**
+ * glNamedFramebufferParameteri
+ *
+ * @param int $framebuffer
+ * @param int $pname
+ * @param int $param
+ *
+ * @return void
+ */
+ function glNamedFramebufferParameteri(int $framebuffer, int $pname, int $param) : void {}
+
+ /**
+ * glNamedFramebufferTexture
+ *
+ * @param int $framebuffer
+ * @param int $attachment
+ * @param int $texture
+ * @param int $level
+ *
+ * @return void
+ */
+ function glNamedFramebufferTexture(int $framebuffer, int $attachment, int $texture, int $level) : void {}
+
+ /**
+ * glNamedFramebufferTextureLayer
+ *
+ * @param int $framebuffer
+ * @param int $attachment
+ * @param int $texture
+ * @param int $level
+ * @param int $layer
+ *
+ * @return void
+ */
+ function glNamedFramebufferTextureLayer(int $framebuffer, int $attachment, int $texture, int $level, int $layer) : void {}
+
+ /**
+ * glNamedFramebufferDrawBuffer
+ *
+ * @param int $framebuffer
+ * @param int $buf
+ *
+ * @return void
+ */
+ function glNamedFramebufferDrawBuffer(int $framebuffer, int $buf) : void {}
+
+ /**
+ * glNamedFramebufferReadBuffer
+ *
+ * @param int $framebuffer
+ * @param int $src
+ *
+ * @return void
+ */
+ function glNamedFramebufferReadBuffer(int $framebuffer, int $src) : void {}
+
+ /**
+ * glClearNamedFramebufferiv
+ *
+ * @param int $framebuffer
+ * @param int $buffer
+ * @param int $drawbuffer
+ * @param \GL\Buffer\IntBuffer|array $value
+ *
+ * @return void
+ */
+ function glClearNamedFramebufferiv(int $framebuffer, int $buffer, int $drawbuffer, \GL\Buffer\IntBuffer|array $value) : void {}
+
+ /**
+ * glClearNamedFramebufferuiv
+ *
+ * @param int $framebuffer
+ * @param int $buffer
+ * @param int $drawbuffer
+ * @param \GL\Buffer\UIntBuffer|array $value
+ *
+ * @return void
+ */
+ function glClearNamedFramebufferuiv(int $framebuffer, int $buffer, int $drawbuffer, \GL\Buffer\UIntBuffer|array $value) : void {}
+
+ /**
+ * glClearNamedFramebufferfv
+ *
+ * @param int $framebuffer
+ * @param int $buffer
+ * @param int $drawbuffer
+ * @param \GL\Buffer\FloatBuffer|array $value
+ *
+ * @return void
+ */
+ function glClearNamedFramebufferfv(int $framebuffer, int $buffer, int $drawbuffer, \GL\Buffer\FloatBuffer|array $value) : void {}
+
+ /**
+ * glClearNamedFramebufferfi
+ *
+ * @param int $framebuffer
+ * @param int $buffer
+ * @param int $drawbuffer
+ * @param float $depth
+ * @param int $stencil
+ *
+ * @return void
+ */
+ function glClearNamedFramebufferfi(int $framebuffer, int $buffer, int $drawbuffer, float $depth, int $stencil) : void {}
+
+ /**
+ * glBlitNamedFramebuffer
+ *
+ * @param int $readFramebuffer
+ * @param int $drawFramebuffer
+ * @param int $srcX0
+ * @param int $srcY0
+ * @param int $srcX1
+ * @param int $srcY1
+ * @param int $dstX0
+ * @param int $dstY0
+ * @param int $dstX1
+ * @param int $dstY1
+ * @param int $mask
+ * @param int $filter
+ *
+ * @return void
+ */
+ function glBlitNamedFramebuffer(int $readFramebuffer, int $drawFramebuffer, int $srcX0, int $srcY0, int $srcX1, int $srcY1, int $dstX0, int $dstY0, int $dstX1, int $dstY1, int $mask, int $filter) : void {}
+
+ /**
+ * glCheckNamedFramebufferStatus
+ *
+ * @param int $framebuffer
+ * @param int $target
+ *
+ * @return int
+ */
+ function glCheckNamedFramebufferStatus(int $framebuffer, int $target) : int {}
+
+ /**
+ * glGetNamedFramebufferParameteriv
+ *
+ * @param int $framebuffer
+ * @param int $pname
+ * @param int &$param
+ *
+ * @return void
+ */
+ function glGetNamedFramebufferParameteriv(int $framebuffer, int $pname, int &$param) : void {}
+
+ /**
+ * glGetNamedFramebufferAttachmentParameteriv
+ *
+ * @param int $framebuffer
+ * @param int $attachment
+ * @param int $pname
+ * @param int &$params
+ *
+ * @return void
+ */
+ function glGetNamedFramebufferAttachmentParameteriv(int $framebuffer, int $attachment, int $pname, int &$params) : void {}
+
+ /**
+ * create renderbuffer objects
+ *
+ * @param int $n Number of renderbuffer objects to create.
+ * @param ?int &...$renderbuffers
+ *
+ * @return void
+ */
+ function glCreateRenderbuffers(int $n, ?int &...$renderbuffers) : void {}
+
+ /**
+ * glNamedRenderbufferStorage
+ *
+ * @param int $renderbuffer
+ * @param int $internalformat
+ * @param int $width
+ * @param int $height
+ *
+ * @return void
+ */
+ function glNamedRenderbufferStorage(int $renderbuffer, int $internalformat, int $width, int $height) : void {}
+
+ /**
+ * glNamedRenderbufferStorageMultisample
+ *
+ * @param int $renderbuffer
+ * @param int $samples
+ * @param int $internalformat
+ * @param int $width
+ * @param int $height
+ *
+ * @return void
+ */
+ function glNamedRenderbufferStorageMultisample(int $renderbuffer, int $samples, int $internalformat, int $width, int $height) : void {}
+
+ /**
+ * glGetNamedRenderbufferParameteriv
+ *
+ * @param int $renderbuffer
+ * @param int $pname
+ * @param int &$params
+ *
+ * @return void
+ */
+ function glGetNamedRenderbufferParameteriv(int $renderbuffer, int $pname, int &$params) : void {}
+
+ /**
+ * create texture objects
+ *
+ * @param int $target Specifies the effective texture target of each created
+ * texture.
+ * @param int $n Number of texture objects to create.
+ * @param int &$textures Specifies an array in which names of the new texture
+ * objects are stored.
+ *
+ * @return void
+ */
+ function glCreateTextures(int $target, int $n, int &$textures) : void {}
+
+ /**
+ * glTextureBuffer
+ *
+ * @param int $texture
+ * @param int $internalformat
+ * @param int $buffer
+ *
+ * @return void
+ */
+ function glTextureBuffer(int $texture, int $internalformat, int $buffer) : void {}
+
+ /**
+ * glTextureBufferRange
+ *
+ * @param int $texture
+ * @param int $internalformat
+ * @param int $buffer
+ * @param int $offset
+ * @param int $size
+ *
+ * @return void
+ */
+ function glTextureBufferRange(int $texture, int $internalformat, int $buffer, int $offset, int $size) : void {}
+
+ /**
+ * glTextureStorage1D
+ *
+ * @param int $texture
+ * @param int $levels
+ * @param int $internalformat
+ * @param int $width
+ *
+ * @return void
+ */
+ function glTextureStorage1D(int $texture, int $levels, int $internalformat, int $width) : void {}
+
+ /**
+ * glTextureStorage2D
+ *
+ * @param int $texture
+ * @param int $levels
+ * @param int $internalformat
+ * @param int $width
+ * @param int $height
+ *
+ * @return void
+ */
+ function glTextureStorage2D(int $texture, int $levels, int $internalformat, int $width, int $height) : void {}
+
+ /**
+ * glTextureStorage3D
+ *
+ * @param int $texture
+ * @param int $levels
+ * @param int $internalformat
+ * @param int $width
+ * @param int $height
+ * @param int $depth
+ *
+ * @return void
+ */
+ function glTextureStorage3D(int $texture, int $levels, int $internalformat, int $width, int $height, int $depth) : void {}
+
+ /**
+ * glTextureStorage2DMultisample
+ *
+ * @param int $texture
+ * @param int $samples
+ * @param int $internalformat
+ * @param int $width
+ * @param int $height
+ * @param bool $fixedsamplelocations
+ *
+ * @return void
+ */
+ function glTextureStorage2DMultisample(int $texture, int $samples, int $internalformat, int $width, int $height, bool $fixedsamplelocations) : void {}
+
+ /**
+ * glTextureStorage3DMultisample
+ *
+ * @param int $texture
+ * @param int $samples
+ * @param int $internalformat
+ * @param int $width
+ * @param int $height
+ * @param int $depth
+ * @param bool $fixedsamplelocations
+ *
+ * @return void
+ */
+ function glTextureStorage3DMultisample(int $texture, int $samples, int $internalformat, int $width, int $height, int $depth, bool $fixedsamplelocations) : void {}
+
+ /**
+ * glCopyTextureSubImage1D
+ *
+ * @param int $texture
+ * @param int $level
+ * @param int $xoffset
+ * @param int $x
+ * @param int $y
+ * @param int $width
+ *
+ * @return void
+ */
+ function glCopyTextureSubImage1D(int $texture, int $level, int $xoffset, int $x, int $y, int $width) : void {}
+
+ /**
+ * glCopyTextureSubImage2D
+ *
+ * @param int $texture
+ * @param int $level
+ * @param int $xoffset
+ * @param int $yoffset
+ * @param int $x
+ * @param int $y
+ * @param int $width
+ * @param int $height
+ *
+ * @return void
+ */
+ function glCopyTextureSubImage2D(int $texture, int $level, int $xoffset, int $yoffset, int $x, int $y, int $width, int $height) : void {}
+
+ /**
+ * glCopyTextureSubImage3D
+ *
+ * @param int $texture
+ * @param int $level
+ * @param int $xoffset
+ * @param int $yoffset
+ * @param int $zoffset
+ * @param int $x
+ * @param int $y
+ * @param int $width
+ * @param int $height
+ *
+ * @return void
+ */
+ function glCopyTextureSubImage3D(int $texture, int $level, int $xoffset, int $yoffset, int $zoffset, int $x, int $y, int $width, int $height) : void {}
+
+ /**
+ * glTextureParameterf
+ *
+ * @param int $texture
+ * @param int $pname
+ * @param float $param
+ *
+ * @return void
+ */
+ function glTextureParameterf(int $texture, int $pname, float $param) : void {}
+
+ /**
+ * glTextureParameterfv
+ *
+ * @param int $texture
+ * @param int $pname
+ * @param \GL\Buffer\FloatBuffer|array $param
+ *
+ * @return void
+ */
+ function glTextureParameterfv(int $texture, int $pname, \GL\Buffer\FloatBuffer|array $param) : void {}
+
+ /**
+ * glTextureParameteri
+ *
+ * @param int $texture
+ * @param int $pname
+ * @param int $param
+ *
+ * @return void
+ */
+ function glTextureParameteri(int $texture, int $pname, int $param) : void {}
+
+ /**
+ * glTextureParameterIiv
+ *
+ * @param int $texture
+ * @param int $pname
+ * @param \GL\Buffer\IntBuffer|array $params
+ *
+ * @return void
+ */
+ function glTextureParameterIiv(int $texture, int $pname, \GL\Buffer\IntBuffer|array $params) : void {}
+
+ /**
+ * glTextureParameterIuiv
+ *
+ * @param int $texture
+ * @param int $pname
+ * @param \GL\Buffer\UIntBuffer|array $params
+ *
+ * @return void
+ */
+ function glTextureParameterIuiv(int $texture, int $pname, \GL\Buffer\UIntBuffer|array $params) : void {}
+
+ /**
+ * glTextureParameteriv
+ *
+ * @param int $texture
+ * @param int $pname
+ * @param \GL\Buffer\IntBuffer|array $param
+ *
+ * @return void
+ */
+ function glTextureParameteriv(int $texture, int $pname, \GL\Buffer\IntBuffer|array $param) : void {}
+
+ /**
+ * glGenerateTextureMipmap
+ *
+ * @param int $texture
+ *
+ * @return void
+ */
+ function glGenerateTextureMipmap(int $texture) : void {}
+
+ /**
+ * bind an existing texture object to the specified texture unit
+ *
+ * @param int $unit
+ * @param int $texture
+ *
+ * @return void
+ */
+ function glBindTextureUnit(int $unit, int $texture) : void {}
+
+ /**
+ * glGetTextureLevelParameterfv
+ *
+ * @param int $texture
+ * @param int $level
+ * @param int $pname
+ * @param float &$params
+ *
+ * @return void
+ */
+ function glGetTextureLevelParameterfv(int $texture, int $level, int $pname, float &$params) : void {}
+
+ /**
+ * glGetTextureLevelParameteriv
+ *
+ * @param int $texture
+ * @param int $level
+ * @param int $pname
+ * @param int &$params
+ *
+ * @return void
+ */
+ function glGetTextureLevelParameteriv(int $texture, int $level, int $pname, int &$params) : void {}
+
+ /**
+ * glGetTextureParameterfv
+ *
+ * @param int $texture
+ * @param int $pname
+ * @param float &$params
+ *
+ * @return void
+ */
+ function glGetTextureParameterfv(int $texture, int $pname, float &$params) : void {}
+
+ /**
+ * glGetTextureParameterIiv
+ *
+ * @param int $texture
+ * @param int $pname
+ * @param int &$params
+ *
+ * @return void
+ */
+ function glGetTextureParameterIiv(int $texture, int $pname, int &$params) : void {}
+
+ /**
+ * glGetTextureParameterIuiv
+ *
+ * @param int $texture
+ * @param int $pname
+ * @param int &$params
+ *
+ * @return void
+ */
+ function glGetTextureParameterIuiv(int $texture, int $pname, int &$params) : void {}
+
+ /**
+ * glGetTextureParameteriv
+ *
+ * @param int $texture
+ * @param int $pname
+ * @param int &$params
+ *
+ * @return void
+ */
+ function glGetTextureParameteriv(int $texture, int $pname, int &$params) : void {}
+
+ /**
+ * create vertex array objects
+ *
+ * @param int $n Number of vertex array objects to create.
+ * @param ?int &...$arrays
+ *
+ * @return void
+ */
+ function glCreateVertexArrays(int $n, ?int &...$arrays) : void {}
+
+ /**
+ * glDisableVertexArrayAttrib
+ *
+ * @param int $vaobj
+ * @param int $index
+ *
+ * @return void
+ */
+ function glDisableVertexArrayAttrib(int $vaobj, int $index) : void {}
+
+ /**
+ * glEnableVertexArrayAttrib
+ *
+ * @param int $vaobj
+ * @param int $index
+ *
+ * @return void
+ */
+ function glEnableVertexArrayAttrib(int $vaobj, int $index) : void {}
+
+ /**
+ * configures element array buffer binding of a vertex array object
+ *
+ * @param int $vaobj Specifies the name of the vertex array object.
+ * @param int $buffer Specifies the name of the buffer object to use for the
+ * element array buffer binding.
+ *
+ * @return void
+ */
+ function glVertexArrayElementBuffer(int $vaobj, int $buffer) : void {}
+
+ /**
+ * glVertexArrayVertexBuffer
+ *
+ * @param int $vaobj
+ * @param int $bindingindex
+ * @param int $buffer
+ * @param int $offset
+ * @param int $stride
+ *
+ * @return void
+ */
+ function glVertexArrayVertexBuffer(int $vaobj, int $bindingindex, int $buffer, int $offset, int $stride) : void {}
+
+ /**
+ * glVertexArrayAttribBinding
+ *
+ * @param int $vaobj
+ * @param int $attribindex
+ * @param int $bindingindex
+ *
+ * @return void
+ */
+ function glVertexArrayAttribBinding(int $vaobj, int $attribindex, int $bindingindex) : void {}
+
+ /**
+ * glVertexArrayAttribFormat
+ *
+ * @param int $vaobj
+ * @param int $attribindex
+ * @param int $size
+ * @param int $type
+ * @param bool $normalized
+ * @param int $relativeoffset
+ *
+ * @return void
+ */
+ function glVertexArrayAttribFormat(int $vaobj, int $attribindex, int $size, int $type, bool $normalized, int $relativeoffset) : void {}
+
+ /**
+ * glVertexArrayAttribIFormat
+ *
+ * @param int $vaobj
+ * @param int $attribindex
+ * @param int $size
+ * @param int $type
+ * @param int $relativeoffset
+ *
+ * @return void
+ */
+ function glVertexArrayAttribIFormat(int $vaobj, int $attribindex, int $size, int $type, int $relativeoffset) : void {}
+
+ /**
+ * glVertexArrayAttribLFormat
+ *
+ * @param int $vaobj
+ * @param int $attribindex
+ * @param int $size
+ * @param int $type
+ * @param int $relativeoffset
+ *
+ * @return void
+ */
+ function glVertexArrayAttribLFormat(int $vaobj, int $attribindex, int $size, int $type, int $relativeoffset) : void {}
+
+ /**
+ * glVertexArrayBindingDivisor
+ *
+ * @param int $vaobj
+ * @param int $bindingindex
+ * @param int $divisor
+ *
+ * @return void
+ */
+ function glVertexArrayBindingDivisor(int $vaobj, int $bindingindex, int $divisor) : void {}
+
+ /**
+ * retrieve parameters of a vertex array object
+ *
+ * @param int $vaobj specifies the name of the vertex array object to use for
+ * the query.
+ * @param int $pname Name of the property to use for the query. Must be
+ * GL_ELEMENT_ARRAY_BUFFER_BINDING.
+ * @param int &$param Returns the requested value.
+ *
+ * @return void
+ */
+ function glGetVertexArrayiv(int $vaobj, int $pname, int &$param) : void {}
+
+ /**
+ * glGetVertexArrayIndexediv
+ *
+ * @param int $vaobj
+ * @param int $index
+ * @param int $pname
+ * @param int &$param
+ *
+ * @return void
+ */
+ function glGetVertexArrayIndexediv(int $vaobj, int $index, int $pname, int &$param) : void {}
+
+ /**
+ * glGetVertexArrayIndexed64iv
+ *
+ * @param int $vaobj
+ * @param int $index
+ * @param int $pname
+ * @param int &$param
+ *
+ * @return void
+ */
+ function glGetVertexArrayIndexed64iv(int $vaobj, int $index, int $pname, int &$param) : void {}
+
+ /**
+ * create sampler objects
+ *
+ * @param int $n Number of sampler objects to create.
+ * @param ?int &...$samplers
+ *
+ * @return void
+ */
+ function glCreateSamplers(int $n, ?int &...$samplers) : void {}
+
+ /**
+ * create program pipeline objects
+ *
+ * @param int $n Number of program pipeline objects to create.
+ * @param ?int &...$pipelines
+ *
+ * @return void
+ */
+ function glCreateProgramPipelines(int $n, ?int &...$pipelines) : void {}
+
+ /**
+ * create query objects
+ *
+ * @param int $target Specifies the target of each created query object.
+ * @param int $n Number of query objects to create.
+ * @param int &$ids Specifies an array in which names of the new query objects
+ * are stored.
+ *
+ * @return void
+ */
+ function glCreateQueries(int $target, int $n, int &$ids) : void {}
+
+ /**
+ * glGetQueryBufferObjecti64v
+ *
+ * @param int $id
+ * @param int $buffer
+ * @param int $pname
+ * @param int $offset
+ *
+ * @return void
+ */
+ function glGetQueryBufferObjecti64v(int $id, int $buffer, int $pname, int $offset) : void {}
+
+ /**
+ * glGetQueryBufferObjectiv
+ *
+ * @param int $id
+ * @param int $buffer
+ * @param int $pname
+ * @param int $offset
+ *
+ * @return void
+ */
+ function glGetQueryBufferObjectiv(int $id, int $buffer, int $pname, int $offset) : void {}
+
+ /**
+ * glGetQueryBufferObjectui64v
+ *
+ * @param int $id
+ * @param int $buffer
+ * @param int $pname
+ * @param int $offset
+ *
+ * @return void
+ */
+ function glGetQueryBufferObjectui64v(int $id, int $buffer, int $pname, int $offset) : void {}
+
+ /**
+ * glGetQueryBufferObjectuiv
+ *
+ * @param int $id
+ * @param int $buffer
+ * @param int $pname
+ * @param int $offset
+ *
+ * @return void
+ */
+ function glGetQueryBufferObjectuiv(int $id, int $buffer, int $pname, int $offset) : void {}
+
+ /**
+ * glMemoryBarrierByRegion
+ *
+ * @param int $barriers
+ *
+ * @return void
+ */
+ function glMemoryBarrierByRegion(int $barriers) : void {}
+
+ /**
+ * check if the rendering context has not been lost due to software or hardware
+ * issues
+ * @return int
+ */
+ function glGetGraphicsResetStatus() : int {}
+
+ /**
+ * glGetnUniformdv
+ *
+ * @param int $program
+ * @param int $location
+ * @param int $bufSize
+ * @param float &$params
+ *
+ * @return void
+ */
+ function glGetnUniformdv(int $program, int $location, int $bufSize, float &$params) : void {}
+
+ /**
+ * glGetnUniformfv
+ *
+ * @param int $program
+ * @param int $location
+ * @param int $bufSize
+ * @param float &$params
+ *
+ * @return void
+ */
+ function glGetnUniformfv(int $program, int $location, int $bufSize, float &$params) : void {}
+
+ /**
+ * glGetnUniformiv
+ *
+ * @param int $program
+ * @param int $location
+ * @param int $bufSize
+ * @param int &$params
+ *
+ * @return void
+ */
+ function glGetnUniformiv(int $program, int $location, int $bufSize, int &$params) : void {}
+
+ /**
+ * glGetnUniformuiv
+ *
+ * @param int $program
+ * @param int $location
+ * @param int $bufSize
+ * @param int &$params
+ *
+ * @return void
+ */
+ function glGetnUniformuiv(int $program, int $location, int $bufSize, int &$params) : void {}
+
+ /**
+ * glGetnMapdv
+ *
+ * @param int $target
+ * @param int $query
+ * @param int $bufSize
+ * @param float &$v
+ *
+ * @return void
+ */
+ function glGetnMapdv(int $target, int $query, int $bufSize, float &$v) : void {}
+
+ /**
+ * glGetnMapfv
+ *
+ * @param int $target
+ * @param int $query
+ * @param int $bufSize
+ * @param float &$v
+ *
+ * @return void
+ */
+ function glGetnMapfv(int $target, int $query, int $bufSize, float &$v) : void {}
+
+ /**
+ * glGetnMapiv
+ *
+ * @param int $target
+ * @param int $query
+ * @param int $bufSize
+ * @param int &$v
+ *
+ * @return void
+ */
+ function glGetnMapiv(int $target, int $query, int $bufSize, int &$v) : void {}
+
+ /**
+ * glGetnPixelMapfv
+ *
+ * @param int $map
+ * @param int $bufSize
+ * @param float &$values
+ *
+ * @return void
+ */
+ function glGetnPixelMapfv(int $map, int $bufSize, float &$values) : void {}
+
+ /**
+ * glGetnPixelMapuiv
+ *
+ * @param int $map
+ * @param int $bufSize
+ * @param int &$values
+ *
+ * @return void
+ */
+ function glGetnPixelMapuiv(int $map, int $bufSize, int &$values) : void {}
+
+ /**
+ * glGetnPixelMapusv
+ *
+ * @param int $map
+ * @param int $bufSize
+ * @param int &$values
+ *
+ * @return void
+ */
+ function glGetnPixelMapusv(int $map, int $bufSize, int &$values) : void {}
+
+ /**
+ * glGetnPolygonStipple
+ *
+ * @param int $bufSize
+ * @param int &$pattern
+ *
+ * @return void
+ */
+ function glGetnPolygonStipple(int $bufSize, int &$pattern) : void {}
+
+ /**
+ * controls the ordering of reads and writes to rendered fragments across
+ * drawing commands
+ * @return void
+ */
+ function glTextureBarrier() : void {}
+
+ /**
+ * glPolygonOffsetClamp
+ *
+ * @param float $factor
+ * @param float $units
+ * @param float $clamp
+ *
+ * @return void
+ */
+ function glPolygonOffsetClamp(float $factor, float $units, float $clamp) : void {}
+
/**
* Initializes the GLFW library.
*
@@ -10164,7 +11845,7 @@ function glUniformVec4f(int $location, \GL\Math\Vec4 $vec) : void {}
* ----------------------------------------------------------------------------
*/
define('PHPGLFW_COMPILED_API', 'gl');
- define('PHPGLFW_COMPILED_API_VERSION', '4.1');
+ define('PHPGLFW_COMPILED_API_VERSION', '4.6');
define('GL_SIZEOF_BYTE', 1);
define('GL_SIZEOF_UNSIGNED_BYTE', 1);
define('GL_SIZEOF_SHORT', 2);
@@ -10651,6 +12332,8 @@ function glUniformVec4f(int $location, \GL\Math\Vec4 $vec) : void {}
define('GL_TRIANGLE_STRIP_ADJACENCY', 0x000D);
define('GL_PATCHES', 0x000E);
define('GL_FIXED', 0x140C);
+ define('GL_CONTEXT_LOST', 0x0507);
+ define('GL_TEXTURE_TARGET', 0x1006);
define('GL_POLYGON_OFFSET_FILL', 0x8037);
define('GL_POLYGON_OFFSET_FACTOR', 0x8038);
define('GL_TEXTURE_BINDING_1D', 0x8068);
@@ -10759,6 +12442,12 @@ function glUniformVec4f(int $location, \GL\Math\Vec4 $vec) : void {}
define('GL_MIN', 0x8007);
define('GL_MAX', 0x8008);
define('GL_BLEND_EQUATION_RGB', 0x8009);
+ define('GL_CONVOLUTION_1D', 0x8010);
+ define('GL_CONVOLUTION_2D', 0x8011);
+ define('GL_SEPARABLE_2D', 0x8012);
+ define('GL_HISTOGRAM', 0x8024);
+ define('GL_PROXY_HISTOGRAM', 0x8025);
+ define('GL_MINMAX', 0x802E);
define('GL_CLIENT_PIXEL_STORE_BIT', 0x00000001);
define('GL_CLIENT_VERTEX_ARRAY_BIT', 0x00000002);
define('GL_CLIENT_ALL_ATTRIB_BITS', 0xFFFFFFFF);
@@ -10773,6 +12462,8 @@ function glUniformVec4f(int $location, \GL\Math\Vec4 $vec) : void {}
define('GL_BGRA', 0x80E1);
define('GL_MAX_ELEMENTS_VERTICES', 0x80E8);
define('GL_MAX_ELEMENTS_INDICES', 0x80E9);
+ define('GL_PARAMETER_BUFFER', 0x80EE);
+ define('GL_PARAMETER_BUFFER_BINDING', 0x80EF);
define('GL_CLAMP_TO_EDGE', 0x812F);
define('GL_TEXTURE_MIN_LOD', 0x813A);
define('GL_TEXTURE_MAX_LOD', 0x813B);
@@ -10884,6 +12575,8 @@ function glUniformVec4f(int $location, \GL\Math\Vec4 $vec) : void {}
define('GL_MAX_RECTANGLE_TEXTURE_SIZE', 0x84F8);
define('GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER', 0x84F0);
define('GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER', 0x84F1);
+ define('GL_TEXTURE_MAX_ANISOTROPY', 0x84FE);
+ define('GL_MAX_TEXTURE_MAX_ANISOTROPY', 0x84FF);
define('GL_TEXTURE_COMPRESSED_IMAGE_SIZE', 0x86A0);
define('GL_TEXTURE_COMPRESSED', 0x86A1);
define('GL_NUM_COMPRESSED_TEXTURE_FORMATS', 0x86A2);
@@ -11161,6 +12854,7 @@ function glUniformVec4f(int $location, \GL\Math\Vec4 $vec) : void {}
define('GL_ANY_SAMPLES_PASSED', 0x8C2F);
define('GL_SAMPLE_SHADING', 0x8C36);
define('GL_MIN_SAMPLE_SHADING_VALUE', 0x8C37);
+ define('GL_TEXTURE_BUFFER_BINDING', 0x8C2A);
define('GL_MAJOR_VERSION', 0x821B);
define('GL_MINOR_VERSION', 0x821C);
define('GL_NUM_EXTENSIONS', 0x821D);
@@ -11201,7 +12895,13 @@ function glUniformVec4f(int $location, \GL\Math\Vec4 $vec) : void {}
define('GL_RG16UI', 0x823A);
define('GL_RG32I', 0x823B);
define('GL_RG32UI', 0x823C);
+ define('GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED', 0x8221);
+ define('GL_BUFFER_IMMUTABLE_STORAGE', 0x821F);
+ define('GL_BUFFER_STORAGE_FLAGS', 0x8220);
define('GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT', 0x00000001);
+ define('GL_CONTEXT_FLAG_DEBUG_BIT', 0x00000002);
+ define('GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT', 0x00000004);
+ define('GL_CONTEXT_FLAG_NO_ERROR_BIT', 0x00000008);
define('GL_RGBA32UI', 0x8D70);
define('GL_RGB32UI', 0x8D71);
define('GL_RGBA16UI', 0x8D76);
@@ -11326,6 +13026,17 @@ function glUniformVec4f(int $location, \GL\Math\Vec4 $vec) : void {}
define('GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE', 0x8E24);
define('GL_TRANSFORM_FEEDBACK_BINDING', 0x8E25);
define('GL_MAX_TRANSFORM_FEEDBACK_BUFFERS', 0x8E70);
+ define('GL_TRANSFORM_FEEDBACK_ACTIVE', 0x8E24);
+ define('GL_TRANSFORM_FEEDBACK_PAUSED', 0x8E23);
+ define('GL_COMPRESSED_RGBA_BPTC_UNORM', 0x8E8C);
+ define('GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM', 0x8E8D);
+ define('GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT', 0x8E8E);
+ define('GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT', 0x8E8F);
+ define('GL_QUERY_WAIT_INVERTED', 0x8E17);
+ define('GL_QUERY_NO_WAIT_INVERTED', 0x8E18);
+ define('GL_QUERY_BY_REGION_WAIT_INVERTED', 0x8E19);
+ define('GL_QUERY_BY_REGION_NO_WAIT_INVERTED', 0x8E1A);
+ define('GL_POLYGON_OFFSET_CLAMP', 0x8E1B);
define('GL_BUFFER_ACCESS_FLAGS', 0x911F);
define('GL_BUFFER_MAP_LENGTH', 0x9120);
define('GL_BUFFER_MAP_OFFSET', 0x9121);
@@ -11364,6 +13075,15 @@ function glUniformVec4f(int $location, \GL\Math\Vec4 $vec) : void {}
define('GL_MAX_COLOR_TEXTURE_SAMPLES', 0x910E);
define('GL_MAX_DEPTH_TEXTURE_SAMPLES', 0x910F);
define('GL_MAX_INTEGER_SAMPLES', 0x9110);
+ define('GL_UNPACK_COMPRESSED_BLOCK_WIDTH', 0x9127);
+ define('GL_UNPACK_COMPRESSED_BLOCK_HEIGHT', 0x9128);
+ define('GL_UNPACK_COMPRESSED_BLOCK_DEPTH', 0x9129);
+ define('GL_UNPACK_COMPRESSED_BLOCK_SIZE', 0x912A);
+ define('GL_PACK_COMPRESSED_BLOCK_WIDTH', 0x912B);
+ define('GL_PACK_COMPRESSED_BLOCK_HEIGHT', 0x912C);
+ define('GL_PACK_COMPRESSED_BLOCK_DEPTH', 0x912D);
+ define('GL_PACK_COMPRESSED_BLOCK_SIZE', 0x912E);
+ define('GL_TEXTURE_IMMUTABLE_FORMAT', 0x912F);
define('GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE', 0x8CD0);
define('GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME', 0x8CD1);
define('GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL', 0x8CD2);
@@ -11433,6 +13153,8 @@ function glUniformVec4f(int $location, \GL\Math\Vec4 $vec) : void {}
define('GL_MAP_INVALIDATE_BUFFER_BIT', 0x0008);
define('GL_MAP_FLUSH_EXPLICIT_BIT', 0x0010);
define('GL_MAP_UNSYNCHRONIZED_BIT', 0x0020);
+ define('GL_MAP_PERSISTENT_BIT', 0x0040);
+ define('GL_MAP_COHERENT_BIT', 0x0080);
define('GL_VERTEX_ARRAY_BINDING', 0x85B5);
define('GL_R8_SNORM', 0x8F94);
define('GL_RG8_SNORM', 0x8F95);
@@ -11458,6 +13180,17 @@ function glUniformVec4f(int $location, \GL\Math\Vec4 $vec) : void {}
define('GL_DOUBLE_MAT3x4', 0x8F4C);
define('GL_DOUBLE_MAT4x2', 0x8F4D);
define('GL_DOUBLE_MAT4x3', 0x8F4E);
+ define('GL_COPY_READ_BUFFER_BINDING', 0x8F36);
+ define('GL_COPY_WRITE_BUFFER_BINDING', 0x8F37);
+ define('GL_MAX_IMAGE_UNITS', 0x8F38);
+ define('GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS', 0x8F39);
+ define('GL_IMAGE_BINDING_NAME', 0x8F3A);
+ define('GL_IMAGE_BINDING_LEVEL', 0x8F3B);
+ define('GL_IMAGE_BINDING_LAYERED', 0x8F3C);
+ define('GL_IMAGE_BINDING_LAYER', 0x8F3D);
+ define('GL_IMAGE_BINDING_ACCESS', 0x8F3E);
+ define('GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES', 0x8F39);
+ define('GL_VERTEX_BINDING_BUFFER', 0x8F4F);
define('GL_UNIFORM_BUFFER', 0x8A11);
define('GL_UNIFORM_BUFFER_BINDING', 0x8A28);
define('GL_UNIFORM_BUFFER_START', 0x8A29);
@@ -11494,6 +13227,71 @@ function glUniformVec4f(int $location, \GL\Math\Vec4 $vec) : void {}
define('GL_CONTEXT_COMPATIBILITY_PROFILE_BIT', 0x00000002);
define('GL_SYNC_FLUSH_COMMANDS_BIT', 0x00000001);
define('GL_RGB10_A2UI', 0x906F);
+ define('GL_MIN_MAP_BUFFER_ALIGNMENT', 0x90BC);
+ define('GL_IMAGE_1D', 0x904C);
+ define('GL_IMAGE_2D', 0x904D);
+ define('GL_IMAGE_3D', 0x904E);
+ define('GL_IMAGE_2D_RECT', 0x904F);
+ define('GL_IMAGE_CUBE', 0x9050);
+ define('GL_IMAGE_BUFFER', 0x9051);
+ define('GL_IMAGE_1D_ARRAY', 0x9052);
+ define('GL_IMAGE_2D_ARRAY', 0x9053);
+ define('GL_IMAGE_CUBE_MAP_ARRAY', 0x9054);
+ define('GL_IMAGE_2D_MULTISAMPLE', 0x9055);
+ define('GL_IMAGE_2D_MULTISAMPLE_ARRAY', 0x9056);
+ define('GL_INT_IMAGE_1D', 0x9057);
+ define('GL_INT_IMAGE_2D', 0x9058);
+ define('GL_INT_IMAGE_3D', 0x9059);
+ define('GL_INT_IMAGE_2D_RECT', 0x905A);
+ define('GL_INT_IMAGE_CUBE', 0x905B);
+ define('GL_INT_IMAGE_BUFFER', 0x905C);
+ define('GL_INT_IMAGE_1D_ARRAY', 0x905D);
+ define('GL_INT_IMAGE_2D_ARRAY', 0x905E);
+ define('GL_INT_IMAGE_CUBE_MAP_ARRAY', 0x905F);
+ define('GL_INT_IMAGE_2D_MULTISAMPLE', 0x9060);
+ define('GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY', 0x9061);
+ define('GL_UNSIGNED_INT_IMAGE_1D', 0x9062);
+ define('GL_UNSIGNED_INT_IMAGE_2D', 0x9063);
+ define('GL_UNSIGNED_INT_IMAGE_3D', 0x9064);
+ define('GL_UNSIGNED_INT_IMAGE_2D_RECT', 0x9065);
+ define('GL_UNSIGNED_INT_IMAGE_CUBE', 0x9066);
+ define('GL_UNSIGNED_INT_IMAGE_BUFFER', 0x9067);
+ define('GL_UNSIGNED_INT_IMAGE_1D_ARRAY', 0x9068);
+ define('GL_UNSIGNED_INT_IMAGE_2D_ARRAY', 0x9069);
+ define('GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY', 0x906A);
+ define('GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE', 0x906B);
+ define('GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY', 0x906C);
+ define('GL_MAX_IMAGE_SAMPLES', 0x906D);
+ define('GL_IMAGE_BINDING_FORMAT', 0x906E);
+ define('GL_IMAGE_FORMAT_COMPATIBILITY_TYPE', 0x90C7);
+ define('GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE', 0x90C8);
+ define('GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS', 0x90C9);
+ define('GL_MAX_VERTEX_IMAGE_UNIFORMS', 0x90CA);
+ define('GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS', 0x90CB);
+ define('GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS', 0x90CC);
+ define('GL_MAX_GEOMETRY_IMAGE_UNIFORMS', 0x90CD);
+ define('GL_MAX_FRAGMENT_IMAGE_UNIFORMS', 0x90CE);
+ define('GL_MAX_COMBINED_IMAGE_UNIFORMS', 0x90CF);
+ define('GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS', 0x90EB);
+ define('GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER', 0x90EC);
+ define('GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER', 0x90ED);
+ define('GL_DISPATCH_INDIRECT_BUFFER', 0x90EE);
+ define('GL_DISPATCH_INDIRECT_BUFFER_BINDING', 0x90EF);
+ define('GL_SHADER_STORAGE_BUFFER', 0x90D2);
+ define('GL_SHADER_STORAGE_BUFFER_BINDING', 0x90D3);
+ define('GL_SHADER_STORAGE_BUFFER_START', 0x90D4);
+ define('GL_SHADER_STORAGE_BUFFER_SIZE', 0x90D5);
+ define('GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS', 0x90D6);
+ define('GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS', 0x90D7);
+ define('GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS', 0x90D8);
+ define('GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS', 0x90D9);
+ define('GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS', 0x90DA);
+ define('GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS', 0x90DB);
+ define('GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS', 0x90DC);
+ define('GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS', 0x90DD);
+ define('GL_MAX_SHADER_STORAGE_BLOCK_SIZE', 0x90DE);
+ define('GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT', 0x90DF);
+ define('GL_DEPTH_STENCIL_TEXTURE_MODE', 0x90EA);
define('GL_TEXTURE_CUBE_MAP_ARRAY', 0x9009);
define('GL_TEXTURE_BINDING_CUBE_MAP_ARRAY', 0x900A);
define('GL_PROXY_TEXTURE_CUBE_MAP_ARRAY', 0x900B);
@@ -11519,6 +13317,9 @@ function glUniformVec4f(int $location, \GL\Math\Vec4 $vec) : void {}
define('GL_MAX_VARYING_VECTORS', 0x8DFC);
define('GL_MAX_FRAGMENT_UNIFORM_VECTORS', 0x8DFD);
define('GL_RGB565', 0x8D62);
+ define('GL_PRIMITIVE_RESTART_FIXED_INDEX', 0x8D69);
+ define('GL_ANY_SAMPLES_PASSED_CONSERVATIVE', 0x8D6A);
+ define('GL_MAX_ELEMENT_INDEX', 0x8D6B);
define('GL_PROGRAM_BINARY_RETRIEVABLE_HINT', 0x8257);
define('GL_PROGRAM_SEPARABLE', 0x8258);
define('GL_ACTIVE_PROGRAM', 0x8259);
@@ -11529,13 +13330,339 @@ function glUniformVec4f(int $location, \GL\Math\Vec4 $vec) : void {}
define('GL_LAYER_PROVOKING_VERTEX', 0x825E);
define('GL_VIEWPORT_INDEX_PROVOKING_VERTEX', 0x825F);
define('GL_UNDEFINED_VERTEX', 0x8260);
+ define('GL_MAX_COMPUTE_SHARED_MEMORY_SIZE', 0x8262);
+ define('GL_MAX_COMPUTE_UNIFORM_COMPONENTS', 0x8263);
+ define('GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS', 0x8264);
+ define('GL_MAX_COMPUTE_ATOMIC_COUNTERS', 0x8265);
+ define('GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS', 0x8266);
+ define('GL_COMPUTE_WORK_GROUP_SIZE', 0x8267);
+ define('GL_DEBUG_OUTPUT_SYNCHRONOUS', 0x8242);
+ define('GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH', 0x8243);
+ define('GL_DEBUG_CALLBACK_FUNCTION', 0x8244);
+ define('GL_DEBUG_CALLBACK_USER_PARAM', 0x8245);
+ define('GL_DEBUG_SOURCE_API', 0x8246);
+ define('GL_DEBUG_SOURCE_WINDOW_SYSTEM', 0x8247);
+ define('GL_DEBUG_SOURCE_SHADER_COMPILER', 0x8248);
+ define('GL_DEBUG_SOURCE_THIRD_PARTY', 0x8249);
+ define('GL_DEBUG_SOURCE_APPLICATION', 0x824A);
+ define('GL_DEBUG_SOURCE_OTHER', 0x824B);
+ define('GL_DEBUG_TYPE_ERROR', 0x824C);
+ define('GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR', 0x824D);
+ define('GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR', 0x824E);
+ define('GL_DEBUG_TYPE_PORTABILITY', 0x824F);
+ define('GL_DEBUG_TYPE_PERFORMANCE', 0x8250);
+ define('GL_DEBUG_TYPE_OTHER', 0x8251);
+ define('GL_DEBUG_TYPE_MARKER', 0x8268);
+ define('GL_DEBUG_TYPE_PUSH_GROUP', 0x8269);
+ define('GL_DEBUG_TYPE_POP_GROUP', 0x826A);
+ define('GL_DEBUG_SEVERITY_NOTIFICATION', 0x826B);
+ define('GL_MAX_DEBUG_GROUP_STACK_DEPTH', 0x826C);
+ define('GL_DEBUG_GROUP_STACK_DEPTH', 0x826D);
+ define('GL_MAX_UNIFORM_LOCATIONS', 0x826E);
+ define('GL_INTERNALFORMAT_SUPPORTED', 0x826F);
+ define('GL_INTERNALFORMAT_PREFERRED', 0x8270);
+ define('GL_INTERNALFORMAT_RED_SIZE', 0x8271);
+ define('GL_INTERNALFORMAT_GREEN_SIZE', 0x8272);
+ define('GL_INTERNALFORMAT_BLUE_SIZE', 0x8273);
+ define('GL_INTERNALFORMAT_ALPHA_SIZE', 0x8274);
+ define('GL_INTERNALFORMAT_DEPTH_SIZE', 0x8275);
+ define('GL_INTERNALFORMAT_STENCIL_SIZE', 0x8276);
+ define('GL_INTERNALFORMAT_SHARED_SIZE', 0x8277);
+ define('GL_INTERNALFORMAT_RED_TYPE', 0x8278);
+ define('GL_INTERNALFORMAT_GREEN_TYPE', 0x8279);
+ define('GL_INTERNALFORMAT_BLUE_TYPE', 0x827A);
+ define('GL_INTERNALFORMAT_ALPHA_TYPE', 0x827B);
+ define('GL_INTERNALFORMAT_DEPTH_TYPE', 0x827C);
+ define('GL_INTERNALFORMAT_STENCIL_TYPE', 0x827D);
+ define('GL_MAX_WIDTH', 0x827E);
+ define('GL_MAX_HEIGHT', 0x827F);
+ define('GL_MAX_DEPTH', 0x8280);
+ define('GL_MAX_LAYERS', 0x8281);
+ define('GL_MAX_COMBINED_DIMENSIONS', 0x8282);
+ define('GL_COLOR_COMPONENTS', 0x8283);
+ define('GL_DEPTH_COMPONENTS', 0x8284);
+ define('GL_STENCIL_COMPONENTS', 0x8285);
+ define('GL_COLOR_RENDERABLE', 0x8286);
+ define('GL_DEPTH_RENDERABLE', 0x8287);
+ define('GL_STENCIL_RENDERABLE', 0x8288);
+ define('GL_FRAMEBUFFER_RENDERABLE', 0x8289);
+ define('GL_FRAMEBUFFER_RENDERABLE_LAYERED', 0x828A);
+ define('GL_FRAMEBUFFER_BLEND', 0x828B);
+ define('GL_READ_PIXELS', 0x828C);
+ define('GL_READ_PIXELS_FORMAT', 0x828D);
+ define('GL_READ_PIXELS_TYPE', 0x828E);
+ define('GL_TEXTURE_IMAGE_FORMAT', 0x828F);
+ define('GL_TEXTURE_IMAGE_TYPE', 0x8290);
+ define('GL_GET_TEXTURE_IMAGE_FORMAT', 0x8291);
+ define('GL_GET_TEXTURE_IMAGE_TYPE', 0x8292);
+ define('GL_MIPMAP', 0x8293);
+ define('GL_MANUAL_GENERATE_MIPMAP', 0x8294);
+ define('GL_AUTO_GENERATE_MIPMAP', 0x8295);
+ define('GL_COLOR_ENCODING', 0x8296);
+ define('GL_SRGB_READ', 0x8297);
+ define('GL_SRGB_WRITE', 0x8298);
+ define('GL_FILTER', 0x829A);
+ define('GL_VERTEX_TEXTURE', 0x829B);
+ define('GL_TESS_CONTROL_TEXTURE', 0x829C);
+ define('GL_TESS_EVALUATION_TEXTURE', 0x829D);
+ define('GL_GEOMETRY_TEXTURE', 0x829E);
+ define('GL_FRAGMENT_TEXTURE', 0x829F);
+ define('GL_COMPUTE_TEXTURE', 0x82A0);
+ define('GL_TEXTURE_SHADOW', 0x82A1);
+ define('GL_TEXTURE_GATHER', 0x82A2);
+ define('GL_TEXTURE_GATHER_SHADOW', 0x82A3);
+ define('GL_SHADER_IMAGE_LOAD', 0x82A4);
+ define('GL_SHADER_IMAGE_STORE', 0x82A5);
+ define('GL_SHADER_IMAGE_ATOMIC', 0x82A6);
+ define('GL_IMAGE_TEXEL_SIZE', 0x82A7);
+ define('GL_IMAGE_COMPATIBILITY_CLASS', 0x82A8);
+ define('GL_IMAGE_PIXEL_FORMAT', 0x82A9);
+ define('GL_IMAGE_PIXEL_TYPE', 0x82AA);
+ define('GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST', 0x82AC);
+ define('GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST', 0x82AD);
+ define('GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE', 0x82AE);
+ define('GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE', 0x82AF);
+ define('GL_GUILTY_CONTEXT_RESET', 0x8253);
+ define('GL_INNOCENT_CONTEXT_RESET', 0x8254);
+ define('GL_UNKNOWN_CONTEXT_RESET', 0x8255);
+ define('GL_RESET_NOTIFICATION_STRATEGY', 0x8256);
+ define('GL_LOSE_CONTEXT_ON_RESET', 0x8252);
+ define('GL_NO_RESET_NOTIFICATION', 0x8261);
define('GL_PROGRAM_BINARY_LENGTH', 0x8741);
+ define('GL_VERTEX_ATTRIB_ARRAY_LONG', 0x874E);
+ define('GL_MIRROR_CLAMP_TO_EDGE', 0x8743);
define('GL_VERTEX_SHADER_BIT', 0x00000001);
define('GL_FRAGMENT_SHADER_BIT', 0x00000002);
define('GL_GEOMETRY_SHADER_BIT', 0x00000004);
define('GL_TESS_CONTROL_SHADER_BIT', 0x00000008);
define('GL_TESS_EVALUATION_SHADER_BIT', 0x00000010);
define('GL_ALL_SHADER_BITS', 0xFFFFFFFF);
+ define('GL_COMPUTE_SHADER_BIT', 0x00000020);
+ define('GL_NUM_SAMPLE_COUNTS', 0x9380);
+ define('GL_ATOMIC_COUNTER_BUFFER', 0x92C0);
+ define('GL_ATOMIC_COUNTER_BUFFER_BINDING', 0x92C1);
+ define('GL_ATOMIC_COUNTER_BUFFER_START', 0x92C2);
+ define('GL_ATOMIC_COUNTER_BUFFER_SIZE', 0x92C3);
+ define('GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE', 0x92C4);
+ define('GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS', 0x92C5);
+ define('GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES', 0x92C6);
+ define('GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER', 0x92C7);
+ define('GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER', 0x92C8);
+ define('GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER', 0x92C9);
+ define('GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER', 0x92CA);
+ define('GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER', 0x92CB);
+ define('GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS', 0x92CC);
+ define('GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS', 0x92CD);
+ define('GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS', 0x92CE);
+ define('GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS', 0x92CF);
+ define('GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS', 0x92D0);
+ define('GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS', 0x92D1);
+ define('GL_MAX_VERTEX_ATOMIC_COUNTERS', 0x92D2);
+ define('GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS', 0x92D3);
+ define('GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS', 0x92D4);
+ define('GL_MAX_GEOMETRY_ATOMIC_COUNTERS', 0x92D5);
+ define('GL_MAX_FRAGMENT_ATOMIC_COUNTERS', 0x92D6);
+ define('GL_MAX_COMBINED_ATOMIC_COUNTERS', 0x92D7);
+ define('GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE', 0x92D8);
+ define('GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS', 0x92DC);
+ define('GL_ACTIVE_ATOMIC_COUNTER_BUFFERS', 0x92D9);
+ define('GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX', 0x92DA);
+ define('GL_UNSIGNED_INT_ATOMIC_COUNTER', 0x92DB);
+ define('GL_DEBUG_OUTPUT', 0x92E0);
+ define('GL_FRAMEBUFFER_DEFAULT_WIDTH', 0x9310);
+ define('GL_FRAMEBUFFER_DEFAULT_HEIGHT', 0x9311);
+ define('GL_FRAMEBUFFER_DEFAULT_LAYERS', 0x9312);
+ define('GL_FRAMEBUFFER_DEFAULT_SAMPLES', 0x9313);
+ define('GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS', 0x9314);
+ define('GL_MAX_FRAMEBUFFER_WIDTH', 0x9315);
+ define('GL_MAX_FRAMEBUFFER_HEIGHT', 0x9316);
+ define('GL_MAX_FRAMEBUFFER_LAYERS', 0x9317);
+ define('GL_MAX_FRAMEBUFFER_SAMPLES', 0x9318);
+ define('GL_UNIFORM', 0x92E1);
+ define('GL_UNIFORM_BLOCK', 0x92E2);
+ define('GL_PROGRAM_INPUT', 0x92E3);
+ define('GL_PROGRAM_OUTPUT', 0x92E4);
+ define('GL_BUFFER_VARIABLE', 0x92E5);
+ define('GL_SHADER_STORAGE_BLOCK', 0x92E6);
+ define('GL_VERTEX_SUBROUTINE', 0x92E8);
+ define('GL_TESS_CONTROL_SUBROUTINE', 0x92E9);
+ define('GL_TESS_EVALUATION_SUBROUTINE', 0x92EA);
+ define('GL_GEOMETRY_SUBROUTINE', 0x92EB);
+ define('GL_FRAGMENT_SUBROUTINE', 0x92EC);
+ define('GL_COMPUTE_SUBROUTINE', 0x92ED);
+ define('GL_VERTEX_SUBROUTINE_UNIFORM', 0x92EE);
+ define('GL_TESS_CONTROL_SUBROUTINE_UNIFORM', 0x92EF);
+ define('GL_TESS_EVALUATION_SUBROUTINE_UNIFORM', 0x92F0);
+ define('GL_GEOMETRY_SUBROUTINE_UNIFORM', 0x92F1);
+ define('GL_FRAGMENT_SUBROUTINE_UNIFORM', 0x92F2);
+ define('GL_COMPUTE_SUBROUTINE_UNIFORM', 0x92F3);
+ define('GL_TRANSFORM_FEEDBACK_VARYING', 0x92F4);
+ define('GL_ACTIVE_RESOURCES', 0x92F5);
+ define('GL_MAX_NAME_LENGTH', 0x92F6);
+ define('GL_MAX_NUM_ACTIVE_VARIABLES', 0x92F7);
+ define('GL_MAX_NUM_COMPATIBLE_SUBROUTINES', 0x92F8);
+ define('GL_NAME_LENGTH', 0x92F9);
+ define('GL_TYPE', 0x92FA);
+ define('GL_ARRAY_SIZE', 0x92FB);
+ define('GL_OFFSET', 0x92FC);
+ define('GL_BLOCK_INDEX', 0x92FD);
+ define('GL_ARRAY_STRIDE', 0x92FE);
+ define('GL_MATRIX_STRIDE', 0x92FF);
+ define('GL_IS_ROW_MAJOR', 0x9300);
+ define('GL_ATOMIC_COUNTER_BUFFER_INDEX', 0x9301);
+ define('GL_BUFFER_BINDING', 0x9302);
+ define('GL_BUFFER_DATA_SIZE', 0x9303);
+ define('GL_NUM_ACTIVE_VARIABLES', 0x9304);
+ define('GL_ACTIVE_VARIABLES', 0x9305);
+ define('GL_REFERENCED_BY_VERTEX_SHADER', 0x9306);
+ define('GL_REFERENCED_BY_TESS_CONTROL_SHADER', 0x9307);
+ define('GL_REFERENCED_BY_TESS_EVALUATION_SHADER', 0x9308);
+ define('GL_REFERENCED_BY_GEOMETRY_SHADER', 0x9309);
+ define('GL_REFERENCED_BY_FRAGMENT_SHADER', 0x930A);
+ define('GL_REFERENCED_BY_COMPUTE_SHADER', 0x930B);
+ define('GL_TOP_LEVEL_ARRAY_SIZE', 0x930C);
+ define('GL_TOP_LEVEL_ARRAY_STRIDE', 0x930D);
+ define('GL_LOCATION', 0x930E);
+ define('GL_LOCATION_INDEX', 0x930F);
+ define('GL_IS_PER_PATCH', 0x92E7);
+ define('GL_CLEAR_TEXTURE', 0x9365);
+ define('GL_LOCATION_COMPONENT', 0x934A);
+ define('GL_TRANSFORM_FEEDBACK_BUFFER_INDEX', 0x934B);
+ define('GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE', 0x934C);
+ define('GL_NEGATIVE_ONE_TO_ONE', 0x935E);
+ define('GL_ZERO_TO_ONE', 0x935F);
+ define('GL_CLIP_ORIGIN', 0x935C);
+ define('GL_CLIP_DEPTH_MODE', 0x935D);
+ define('GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT', 0x00000001);
+ define('GL_ELEMENT_ARRAY_BARRIER_BIT', 0x00000002);
+ define('GL_UNIFORM_BARRIER_BIT', 0x00000004);
+ define('GL_TEXTURE_FETCH_BARRIER_BIT', 0x00000008);
+ define('GL_SHADER_IMAGE_ACCESS_BARRIER_BIT', 0x00000020);
+ define('GL_COMMAND_BARRIER_BIT', 0x00000040);
+ define('GL_PIXEL_BUFFER_BARRIER_BIT', 0x00000080);
+ define('GL_TEXTURE_UPDATE_BARRIER_BIT', 0x00000100);
+ define('GL_BUFFER_UPDATE_BARRIER_BIT', 0x00000200);
+ define('GL_FRAMEBUFFER_BARRIER_BIT', 0x00000400);
+ define('GL_TRANSFORM_FEEDBACK_BARRIER_BIT', 0x00000800);
+ define('GL_ATOMIC_COUNTER_BARRIER_BIT', 0x00001000);
+ define('GL_ALL_BARRIER_BITS', 0xFFFFFFFF);
+ define('GL_SHADER_STORAGE_BARRIER_BIT', 0x00002000);
+ define('GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT', 0x00004000);
+ define('GL_QUERY_BUFFER_BARRIER_BIT', 0x00008000);
+ define('GL_NUM_SHADING_LANGUAGE_VERSIONS', 0x82E9);
+ define('GL_BUFFER', 0x82E0);
+ define('GL_SHADER', 0x82E1);
+ define('GL_PROGRAM', 0x82E2);
+ define('GL_QUERY', 0x82E3);
+ define('GL_PROGRAM_PIPELINE', 0x82E4);
+ define('GL_SAMPLER', 0x82E6);
+ define('GL_MAX_LABEL_LENGTH', 0x82E8);
+ define('GL_TEXTURE_COMPRESSED_BLOCK_WIDTH', 0x82B1);
+ define('GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT', 0x82B2);
+ define('GL_TEXTURE_COMPRESSED_BLOCK_SIZE', 0x82B3);
+ define('GL_CLEAR_BUFFER', 0x82B4);
+ define('GL_TEXTURE_VIEW', 0x82B5);
+ define('GL_VIEW_COMPATIBILITY_CLASS', 0x82B6);
+ define('GL_FULL_SUPPORT', 0x82B7);
+ define('GL_CAVEAT_SUPPORT', 0x82B8);
+ define('GL_IMAGE_CLASS_4_X_32', 0x82B9);
+ define('GL_IMAGE_CLASS_2_X_32', 0x82BA);
+ define('GL_IMAGE_CLASS_1_X_32', 0x82BB);
+ define('GL_IMAGE_CLASS_4_X_16', 0x82BC);
+ define('GL_IMAGE_CLASS_2_X_16', 0x82BD);
+ define('GL_IMAGE_CLASS_1_X_16', 0x82BE);
+ define('GL_IMAGE_CLASS_4_X_8', 0x82BF);
+ define('GL_IMAGE_CLASS_2_X_8', 0x82C0);
+ define('GL_IMAGE_CLASS_1_X_8', 0x82C1);
+ define('GL_IMAGE_CLASS_11_11_10', 0x82C2);
+ define('GL_IMAGE_CLASS_10_10_10_2', 0x82C3);
+ define('GL_VIEW_CLASS_128_BITS', 0x82C4);
+ define('GL_VIEW_CLASS_96_BITS', 0x82C5);
+ define('GL_VIEW_CLASS_64_BITS', 0x82C6);
+ define('GL_VIEW_CLASS_48_BITS', 0x82C7);
+ define('GL_VIEW_CLASS_32_BITS', 0x82C8);
+ define('GL_VIEW_CLASS_24_BITS', 0x82C9);
+ define('GL_VIEW_CLASS_16_BITS', 0x82CA);
+ define('GL_VIEW_CLASS_8_BITS', 0x82CB);
+ define('GL_VIEW_CLASS_S3TC_DXT1_RGB', 0x82CC);
+ define('GL_VIEW_CLASS_S3TC_DXT1_RGBA', 0x82CD);
+ define('GL_VIEW_CLASS_S3TC_DXT3_RGBA', 0x82CE);
+ define('GL_VIEW_CLASS_S3TC_DXT5_RGBA', 0x82CF);
+ define('GL_VIEW_CLASS_RGTC1_RED', 0x82D0);
+ define('GL_VIEW_CLASS_RGTC2_RG', 0x82D1);
+ define('GL_VIEW_CLASS_BPTC_UNORM', 0x82D2);
+ define('GL_VIEW_CLASS_BPTC_FLOAT', 0x82D3);
+ define('GL_TEXTURE_VIEW_MIN_LEVEL', 0x82DB);
+ define('GL_TEXTURE_VIEW_NUM_LEVELS', 0x82DC);
+ define('GL_TEXTURE_VIEW_MIN_LAYER', 0x82DD);
+ define('GL_TEXTURE_VIEW_NUM_LAYERS', 0x82DE);
+ define('GL_TEXTURE_IMMUTABLE_LEVELS', 0x82DF);
+ define('GL_VERTEX_ATTRIB_BINDING', 0x82D4);
+ define('GL_VERTEX_ATTRIB_RELATIVE_OFFSET', 0x82D5);
+ define('GL_VERTEX_BINDING_DIVISOR', 0x82D6);
+ define('GL_VERTEX_BINDING_OFFSET', 0x82D7);
+ define('GL_VERTEX_BINDING_STRIDE', 0x82D8);
+ define('GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET', 0x82D9);
+ define('GL_MAX_VERTEX_ATTRIB_BINDINGS', 0x82DA);
+ define('GL_DISPLAY_LIST', 0x82E7);
+ define('GL_MAX_VERTEX_ATTRIB_STRIDE', 0x82E5);
+ define('GL_MAX_CULL_DISTANCES', 0x82F9);
+ define('GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES', 0x82FA);
+ define('GL_QUERY_TARGET', 0x82EA);
+ define('GL_CONTEXT_RELEASE_BEHAVIOR', 0x82FB);
+ define('GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH', 0x82FC);
+ define('GL_VERTICES_SUBMITTED', 0x82EE);
+ define('GL_PRIMITIVES_SUBMITTED', 0x82EF);
+ define('GL_VERTEX_SHADER_INVOCATIONS', 0x82F0);
+ define('GL_TESS_CONTROL_SHADER_PATCHES', 0x82F1);
+ define('GL_TESS_EVALUATION_SHADER_INVOCATIONS', 0x82F2);
+ define('GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED', 0x82F3);
+ define('GL_FRAGMENT_SHADER_INVOCATIONS', 0x82F4);
+ define('GL_COMPUTE_SHADER_INVOCATIONS', 0x82F5);
+ define('GL_CLIPPING_INPUT_PRIMITIVES', 0x82F6);
+ define('GL_CLIPPING_OUTPUT_PRIMITIVES', 0x82F7);
+ define('GL_TRANSFORM_FEEDBACK_OVERFLOW', 0x82EC);
+ define('GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW', 0x82ED);
+ define('GL_COMPRESSED_RGB8_ETC2', 0x9274);
+ define('GL_COMPRESSED_SRGB8_ETC2', 0x9275);
+ define('GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2', 0x9276);
+ define('GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2', 0x9277);
+ define('GL_COMPRESSED_RGBA8_ETC2_EAC', 0x9278);
+ define('GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC', 0x9279);
+ define('GL_COMPRESSED_R11_EAC', 0x9270);
+ define('GL_COMPRESSED_SIGNED_R11_EAC', 0x9271);
+ define('GL_COMPRESSED_RG11_EAC', 0x9272);
+ define('GL_COMPRESSED_SIGNED_RG11_EAC', 0x9273);
+ define('GL_COMPUTE_SHADER', 0x91B9);
+ define('GL_MAX_COMPUTE_UNIFORM_BLOCKS', 0x91BB);
+ define('GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS', 0x91BC);
+ define('GL_MAX_COMPUTE_IMAGE_UNIFORMS', 0x91BD);
+ define('GL_MAX_COMPUTE_WORK_GROUP_COUNT', 0x91BE);
+ define('GL_MAX_COMPUTE_WORK_GROUP_SIZE', 0x91BF);
+ define('GL_MAX_DEBUG_MESSAGE_LENGTH', 0x9143);
+ define('GL_MAX_DEBUG_LOGGED_MESSAGES', 0x9144);
+ define('GL_DEBUG_LOGGED_MESSAGES', 0x9145);
+ define('GL_DEBUG_SEVERITY_HIGH', 0x9146);
+ define('GL_DEBUG_SEVERITY_MEDIUM', 0x9147);
+ define('GL_DEBUG_SEVERITY_LOW', 0x9148);
+ define('GL_TEXTURE_BUFFER_OFFSET', 0x919D);
+ define('GL_TEXTURE_BUFFER_SIZE', 0x919E);
+ define('GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT', 0x919F);
+ define('GL_QUERY_BUFFER', 0x9192);
+ define('GL_QUERY_BUFFER_BINDING', 0x9193);
+ define('GL_QUERY_RESULT_NO_WAIT', 0x9194);
+ define('GL_DYNAMIC_STORAGE_BIT', 0x0100);
+ define('GL_CLIENT_STORAGE_BIT', 0x0200);
+ define('GL_COLOR_TABLE', 0x80D0);
+ define('GL_POST_CONVOLUTION_COLOR_TABLE', 0x80D1);
+ define('GL_POST_COLOR_MATRIX_COLOR_TABLE', 0x80D2);
+ define('GL_PROXY_COLOR_TABLE', 0x80D3);
+ define('GL_PROXY_POST_CONVOLUTION_COLOR_TABLE', 0x80D4);
+ define('GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE', 0x80D5);
+ define('GL_SHADER_BINARY_FORMAT_SPIR_V', 0x9551);
+ define('GL_SPIR_V_BINARY', 0x9552);
+ define('GL_SPIR_V_EXTENSIONS', 0x9553);
+ define('GL_NUM_SPIR_V_EXTENSIONS', 0x9554);
define('GLFW_VERSION_MAJOR', 3);
define('GLFW_VERSION_MINOR', 3);
define('GLFW_VERSION_REVISION', 8);