1 /* 2 ** Copyright (c) 2007-2012 The Khronos Group Inc. 3 ** 4 ** Permission is hereby granted, free of charge, to any person obtaining a 5 ** copy of this software and/or associated documentation files (the 6 ** "Materials"), to deal in the Materials without restriction, including 7 ** without limitation the rights to use, copy, modify, merge, publish, 8 ** distribute, sublicense, and/or sell copies of the Materials, and to 9 ** permit persons to whom the Materials are furnished to do so, subject to 10 ** the following conditions: 11 ** 12 ** The above copyright notice and this permission notice shall be included 13 ** in all copies or substantial portions of the Materials. 14 ** 15 ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17 ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 18 ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 19 ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 20 ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 21 ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. 22 */ 23 24 /* glcorearb.h replaces gl3.h. It is for use with OpenGL core 25 * profile implementations. 26 * 27 * glcorearb.h last updated on $Date: 2012-09-19 19:02:24 -0700 (Wed, 19 Sep 2012) $ 28 * 29 * RELEASE NOTES - 2012/09/19 30 * 31 * glcorearb.h should be placed in the same directory as gl.h and 32 * included as 33 * '<GL/glcorearb.h>'. 34 * 35 * glcorearb.h includes only APIs in the latest OpenGL core profile 36 * implementation together with APIs in newer ARB extensions which can be 37 * can be supported by the core profile. It does not, and never will 38 * include functionality removed from the core profile, such as 39 * fixed-function vertex and fragment processing. 40 * 41 * It is not possible to #include both <GL/glcorearb.h> and either of 42 * <GL/gl.h> or <GL/glext.h> in the same source file. 43 * 44 * Feedback can be given by registering for the Khronos Bugzilla 45 * (www.khronos.org/bugzilla) and filing issues there under product 46 * "OpenGL", category "Registry". 47 */ 48 49 /* Function declaration macros - to move into glplatform.h */ 50 51 module deimos.gl.glcorearb; 52 53 public: 54 extern(C): 55 56 version(Windows) 57 import std.c.windows.windows; 58 59 /* *********************************************************** */ 60 61 /* Base GL types */ 62 63 alias uint GLenum; 64 alias ubyte GLboolean; 65 alias uint GLbitfield; 66 alias byte GLbyte; 67 alias short GLshort; 68 alias int GLint; 69 alias int GLsizei; 70 alias ubyte GLubyte; 71 alias ushort GLushort; 72 alias uint GLuint; 73 alias ushort GLhalf; 74 alias float GLfloat; 75 alias float GLclampf; 76 alias double GLdouble; 77 alias double GLclampd; 78 alias void GLvoid; 79 80 /* *********************************************************** */ 81 82 enum // GL_VERSION_1_1 83 { 84 /* AttribMask */ 85 86 GL_DEPTH_BUFFER_BIT = 0x00000100, 87 GL_STENCIL_BUFFER_BIT = 0x00000400, 88 GL_COLOR_BUFFER_BIT = 0x00004000, 89 90 /* Boolean */ 91 92 GL_FALSE = 0, 93 GL_TRUE = 1, 94 95 /* BeginMode */ 96 97 GL_POINTS = 0x0000, 98 GL_LINES = 0x0001, 99 GL_LINE_LOOP = 0x0002, 100 GL_LINE_STRIP = 0x0003, 101 GL_TRIANGLES = 0x0004, 102 GL_TRIANGLE_STRIP = 0x0005, 103 GL_TRIANGLE_FAN = 0x0006, 104 GL_QUADS = 0x0007, 105 106 /* AlphaFunction */ 107 108 GL_NEVER = 0x0200, 109 GL_LESS = 0x0201, 110 GL_EQUAL = 0x0202, 111 GL_LEQUAL = 0x0203, 112 GL_GREATER = 0x0204, 113 GL_NOTEQUAL = 0x0205, 114 GL_GEQUAL = 0x0206, 115 GL_ALWAYS = 0x0207, 116 117 /* BlendingFactorDest */ 118 119 GL_ZERO = 0, 120 GL_ONE = 1, 121 GL_SRC_COLOR = 0x0300, 122 GL_ONE_MINUS_SRC_COLOR = 0x0301, 123 GL_SRC_ALPHA = 0x0302, 124 GL_ONE_MINUS_SRC_ALPHA = 0x0303, 125 GL_DST_ALPHA = 0x0304, 126 GL_ONE_MINUS_DST_ALPHA = 0x0305, 127 128 /* BlendingFactorSrc */ 129 130 GL_DST_COLOR = 0x0306, 131 GL_ONE_MINUS_DST_COLOR = 0x0307, 132 GL_SRC_ALPHA_SATURATE = 0x0308, 133 134 /* DrawBufferMode */ 135 136 GL_NONE = 0, 137 GL_FRONT_LEFT = 0x0400, 138 GL_FRONT_RIGHT = 0x0401, 139 GL_BACK_LEFT = 0x0402, 140 GL_BACK_RIGHT = 0x0403, 141 GL_FRONT = 0x0404, 142 GL_BACK = 0x0405, 143 GL_LEFT = 0x0406, 144 GL_RIGHT = 0x0407, 145 GL_FRONT_AND_BACK = 0x0408, 146 147 /* ErrorCode */ 148 149 GL_NO_ERROR = 0, 150 GL_INVALID_ENUM = 0x0500, 151 GL_INVALID_VALUE = 0x0501, 152 GL_INVALID_OPERATION = 0x0502, 153 GL_OUT_OF_MEMORY = 0x0505, 154 155 /* FrontFaceDirection */ 156 157 GL_CW = 0x0900, 158 GL_CCW = 0x0901, 159 160 /* GetPName */ 161 162 GL_POINT_SIZE = 0x0B11, 163 GL_POINT_SIZE_RANGE = 0x0B12, 164 GL_POINT_SIZE_GRANULARITY = 0x0B13, 165 GL_LINE_SMOOTH = 0x0B20, 166 GL_LINE_WIDTH = 0x0B21, 167 GL_LINE_WIDTH_RANGE = 0x0B22, 168 GL_LINE_WIDTH_GRANULARITY = 0x0B23, 169 GL_POLYGON_MODE = 0x0B40, 170 GL_POLYGON_SMOOTH = 0x0B41, 171 GL_CULL_FACE = 0x0B44, 172 GL_CULL_FACE_MODE = 0x0B45, 173 GL_FRONT_FACE = 0x0B46, 174 GL_DEPTH_RANGE = 0x0B70, 175 GL_DEPTH_TEST = 0x0B71, 176 GL_DEPTH_WRITEMASK = 0x0B72, 177 GL_DEPTH_CLEAR_VALUE = 0x0B73, 178 GL_DEPTH_FUNC = 0x0B74, 179 GL_STENCIL_TEST = 0x0B90, 180 GL_STENCIL_CLEAR_VALUE = 0x0B91, 181 GL_STENCIL_FUNC = 0x0B92, 182 GL_STENCIL_VALUE_MASK = 0x0B93, 183 GL_STENCIL_FAIL = 0x0B94, 184 GL_STENCIL_PASS_DEPTH_FAIL = 0x0B95, 185 GL_STENCIL_PASS_DEPTH_PASS = 0x0B96, 186 GL_STENCIL_REF = 0x0B97, 187 GL_STENCIL_WRITEMASK = 0x0B98, 188 GL_VIEWPORT = 0x0BA2, 189 GL_DITHER = 0x0BD0, 190 GL_BLEND_DST = 0x0BE0, 191 GL_BLEND_SRC = 0x0BE1, 192 GL_BLEND = 0x0BE2, 193 GL_LOGIC_OP_MODE = 0x0BF0, 194 GL_COLOR_LOGIC_OP = 0x0BF2, 195 GL_DRAW_BUFFER = 0x0C01, 196 GL_READ_BUFFER = 0x0C02, 197 GL_SCISSOR_BOX = 0x0C10, 198 GL_SCISSOR_TEST = 0x0C11, 199 GL_COLOR_CLEAR_VALUE = 0x0C22, 200 GL_COLOR_WRITEMASK = 0x0C23, 201 GL_DOUBLEBUFFER = 0x0C32, 202 GL_STEREO = 0x0C33, 203 GL_LINE_SMOOTH_HINT = 0x0C52, 204 GL_POLYGON_SMOOTH_HINT = 0x0C53, 205 GL_UNPACK_SWAP_BYTES = 0x0CF0, 206 GL_UNPACK_LSB_FIRST = 0x0CF1, 207 GL_UNPACK_ROW_LENGTH = 0x0CF2, 208 GL_UNPACK_SKIP_ROWS = 0x0CF3, 209 GL_UNPACK_SKIP_PIXELS = 0x0CF4, 210 GL_UNPACK_ALIGNMENT = 0x0CF5, 211 GL_PACK_SWAP_BYTES = 0x0D00, 212 GL_PACK_LSB_FIRST = 0x0D01, 213 GL_PACK_ROW_LENGTH = 0x0D02, 214 GL_PACK_SKIP_ROWS = 0x0D03, 215 GL_PACK_SKIP_PIXELS = 0x0D04, 216 GL_PACK_ALIGNMENT = 0x0D05, 217 GL_MAX_TEXTURE_SIZE = 0x0D33, 218 GL_MAX_VIEWPORT_DIMS = 0x0D3A, 219 GL_SUBPIXEL_BITS = 0x0D50, 220 GL_TEXTURE_1D = 0x0DE0, 221 GL_TEXTURE_2D = 0x0DE1, 222 GL_POLYGON_OFFSET_UNITS = 0x2A00, 223 GL_POLYGON_OFFSET_POINT = 0x2A01, 224 GL_POLYGON_OFFSET_LINE = 0x2A02, 225 GL_POLYGON_OFFSET_FILL = 0x8037, 226 GL_POLYGON_OFFSET_FACTOR = 0x8038, 227 GL_TEXTURE_BINDING_1D = 0x8068, 228 GL_TEXTURE_BINDING_2D = 0x8069, 229 230 /* GetTextureParameter */ 231 232 GL_TEXTURE_WIDTH = 0x1000, 233 GL_TEXTURE_HEIGHT = 0x1001, 234 GL_TEXTURE_INTERNAL_FORMAT = 0x1003, 235 GL_TEXTURE_BORDER_COLOR = 0x1004, 236 GL_TEXTURE_RED_SIZE = 0x805C, 237 GL_TEXTURE_GREEN_SIZE = 0x805D, 238 GL_TEXTURE_BLUE_SIZE = 0x805E, 239 GL_TEXTURE_ALPHA_SIZE = 0x805F, 240 241 /* HintMode */ 242 243 GL_DONT_CARE = 0x1100, 244 GL_FASTEST = 0x1101, 245 GL_NICEST = 0x1102, 246 247 /* DataType */ 248 249 GL_BYTE = 0x1400, 250 GL_UNSIGNED_BYTE = 0x1401, 251 GL_SHORT = 0x1402, 252 GL_UNSIGNED_SHORT = 0x1403, 253 GL_INT = 0x1404, 254 GL_UNSIGNED_INT = 0x1405, 255 GL_FLOAT = 0x1406, 256 GL_DOUBLE = 0x140A, 257 258 /* ErrorCode */ 259 260 GL_STACK_OVERFLOW = 0x0503, 261 GL_STACK_UNDERFLOW = 0x0504, 262 263 /* LogicOp */ 264 265 GL_CLEAR = 0x1500, 266 GL_AND = 0x1501, 267 GL_AND_REVERSE = 0x1502, 268 GL_COPY = 0x1503, 269 GL_AND_INVERTED = 0x1504, 270 GL_NOOP = 0x1505, 271 GL_XOR = 0x1506, 272 GL_OR = 0x1507, 273 GL_NOR = 0x1508, 274 GL_EQUIV = 0x1509, 275 GL_INVERT = 0x150A, 276 GL_OR_REVERSE = 0x150B, 277 GL_COPY_INVERTED = 0x150C, 278 GL_OR_INVERTED = 0x150D, 279 GL_NAND = 0x150E, 280 GL_SET = 0x150F, 281 282 /* MatrixMode (for gl3.h, FBO attachment type) */ 283 284 GL_TEXTURE = 0x1702, 285 286 /* PixelCopyType */ 287 288 GL_COLOR = 0x1800, 289 GL_DEPTH = 0x1801, 290 GL_STENCIL = 0x1802, 291 292 /* PixelFormat */ 293 294 GL_STENCIL_INDEX = 0x1901, 295 GL_DEPTH_COMPONENT = 0x1902, 296 GL_RED = 0x1903, 297 GL_GREEN = 0x1904, 298 GL_BLUE = 0x1905, 299 GL_ALPHA = 0x1906, 300 GL_RGB = 0x1907, 301 GL_RGBA = 0x1908, 302 303 /* PolygonMode */ 304 305 GL_POINT = 0x1B00, 306 GL_LINE = 0x1B01, 307 GL_FILL = 0x1B02, 308 309 /* StencilOp */ 310 311 GL_KEEP = 0x1E00, 312 GL_REPLACE = 0x1E01, 313 GL_INCR = 0x1E02, 314 GL_DECR = 0x1E03, 315 316 /* StringName */ 317 318 GL_VENDOR = 0x1F00, 319 GL_RENDERER = 0x1F01, 320 GL_VERSION = 0x1F02, 321 GL_EXTENSIONS = 0x1F03, 322 323 /* TextureMagFilter */ 324 325 GL_NEAREST = 0x2600, 326 GL_LINEAR = 0x2601, 327 328 /* TextureMinFilter */ 329 330 GL_NEAREST_MIPMAP_NEAREST = 0x2700, 331 GL_LINEAR_MIPMAP_NEAREST = 0x2701, 332 GL_NEAREST_MIPMAP_LINEAR = 0x2702, 333 GL_LINEAR_MIPMAP_LINEAR = 0x2703, 334 335 /* TextureParameterName */ 336 337 GL_TEXTURE_MAG_FILTER = 0x2800, 338 GL_TEXTURE_MIN_FILTER = 0x2801, 339 GL_TEXTURE_WRAP_S = 0x2802, 340 GL_TEXTURE_WRAP_T = 0x2803, 341 342 /* TextureTarget */ 343 344 GL_PROXY_TEXTURE_1D = 0x8063, 345 GL_PROXY_TEXTURE_2D = 0x8064, 346 347 /* TextureWrapMode */ 348 349 GL_REPEAT = 0x2901, 350 351 /* PixelInternalFormat */ 352 353 GL_R3_G3_B2 = 0x2A10, 354 GL_RGB4 = 0x804F, 355 GL_RGB5 = 0x8050, 356 GL_RGB8 = 0x8051, 357 GL_RGB10 = 0x8052, 358 GL_RGB12 = 0x8053, 359 GL_RGB16 = 0x8054, 360 GL_RGBA2 = 0x8055, 361 GL_RGBA4 = 0x8056, 362 GL_RGB5_A1 = 0x8057, 363 GL_RGBA8 = 0x8058, 364 GL_RGB10_A2 = 0x8059, 365 GL_RGBA12 = 0x805A, 366 GL_RGBA16 = 0x805B, 367 } 368 369 enum // GL_VERSION_1_2 370 { 371 GL_UNSIGNED_BYTE_3_3_2 = 0x8032, 372 GL_UNSIGNED_SHORT_4_4_4_4 = 0x8033, 373 GL_UNSIGNED_SHORT_5_5_5_1 = 0x8034, 374 GL_UNSIGNED_INT_8_8_8_8 = 0x8035, 375 GL_UNSIGNED_INT_10_10_10_2 = 0x8036, 376 GL_TEXTURE_BINDING_3D = 0x806A, 377 GL_PACK_SKIP_IMAGES = 0x806B, 378 GL_PACK_IMAGE_HEIGHT = 0x806C, 379 GL_UNPACK_SKIP_IMAGES = 0x806D, 380 GL_UNPACK_IMAGE_HEIGHT = 0x806E, 381 GL_TEXTURE_3D = 0x806F, 382 GL_PROXY_TEXTURE_3D = 0x8070, 383 GL_TEXTURE_DEPTH = 0x8071, 384 GL_TEXTURE_WRAP_R = 0x8072, 385 GL_MAX_3D_TEXTURE_SIZE = 0x8073, 386 GL_UNSIGNED_BYTE_2_3_3_REV = 0x8362, 387 GL_UNSIGNED_SHORT_5_6_5 = 0x8363, 388 GL_UNSIGNED_SHORT_5_6_5_REV = 0x8364, 389 GL_UNSIGNED_SHORT_4_4_4_4_REV = 0x8365, 390 GL_UNSIGNED_SHORT_1_5_5_5_REV = 0x8366, 391 GL_UNSIGNED_INT_8_8_8_8_REV = 0x8367, 392 GL_UNSIGNED_INT_2_10_10_10_REV = 0x8368, 393 GL_BGR = 0x80E0, 394 GL_BGRA = 0x80E1, 395 GL_MAX_ELEMENTS_VERTICES = 0x80E8, 396 GL_MAX_ELEMENTS_INDICES = 0x80E9, 397 GL_CLAMP_TO_EDGE = 0x812F, 398 GL_TEXTURE_MIN_LOD = 0x813A, 399 GL_TEXTURE_MAX_LOD = 0x813B, 400 GL_TEXTURE_BASE_LEVEL = 0x813C, 401 GL_TEXTURE_MAX_LEVEL = 0x813D, 402 GL_SMOOTH_POINT_SIZE_RANGE = 0x0B12, 403 GL_SMOOTH_POINT_SIZE_GRANULARITY = 0x0B13, 404 GL_SMOOTH_LINE_WIDTH_RANGE = 0x0B22, 405 GL_SMOOTH_LINE_WIDTH_GRANULARITY = 0x0B23, 406 GL_ALIASED_LINE_WIDTH_RANGE = 0x846E, 407 } 408 409 enum // GL_VERSION_1_3 410 { 411 GL_TEXTURE0 = 0x84C0, 412 GL_TEXTURE1 = 0x84C1, 413 GL_TEXTURE2 = 0x84C2, 414 GL_TEXTURE3 = 0x84C3, 415 GL_TEXTURE4 = 0x84C4, 416 GL_TEXTURE5 = 0x84C5, 417 GL_TEXTURE6 = 0x84C6, 418 GL_TEXTURE7 = 0x84C7, 419 GL_TEXTURE8 = 0x84C8, 420 GL_TEXTURE9 = 0x84C9, 421 GL_TEXTURE10 = 0x84CA, 422 GL_TEXTURE11 = 0x84CB, 423 GL_TEXTURE12 = 0x84CC, 424 GL_TEXTURE13 = 0x84CD, 425 GL_TEXTURE14 = 0x84CE, 426 GL_TEXTURE15 = 0x84CF, 427 GL_TEXTURE16 = 0x84D0, 428 GL_TEXTURE17 = 0x84D1, 429 GL_TEXTURE18 = 0x84D2, 430 GL_TEXTURE19 = 0x84D3, 431 GL_TEXTURE20 = 0x84D4, 432 GL_TEXTURE21 = 0x84D5, 433 GL_TEXTURE22 = 0x84D6, 434 GL_TEXTURE23 = 0x84D7, 435 GL_TEXTURE24 = 0x84D8, 436 GL_TEXTURE25 = 0x84D9, 437 GL_TEXTURE26 = 0x84DA, 438 GL_TEXTURE27 = 0x84DB, 439 GL_TEXTURE28 = 0x84DC, 440 GL_TEXTURE29 = 0x84DD, 441 GL_TEXTURE30 = 0x84DE, 442 GL_TEXTURE31 = 0x84DF, 443 GL_ACTIVE_TEXTURE = 0x84E0, 444 GL_MULTISAMPLE = 0x809D, 445 GL_SAMPLE_ALPHA_TO_COVERAGE = 0x809E, 446 GL_SAMPLE_ALPHA_TO_ONE = 0x809F, 447 GL_SAMPLE_COVERAGE = 0x80A0, 448 GL_SAMPLE_BUFFERS = 0x80A8, 449 GL_SAMPLES = 0x80A9, 450 GL_SAMPLE_COVERAGE_VALUE = 0x80AA, 451 GL_SAMPLE_COVERAGE_INVERT = 0x80AB, 452 GL_TEXTURE_CUBE_MAP = 0x8513, 453 GL_TEXTURE_BINDING_CUBE_MAP = 0x8514, 454 GL_TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515, 455 GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516, 456 GL_TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517, 457 GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518, 458 GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519, 459 GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A, 460 GL_PROXY_TEXTURE_CUBE_MAP = 0x851B, 461 GL_MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C, 462 GL_COMPRESSED_RGB = 0x84ED, 463 GL_COMPRESSED_RGBA = 0x84EE, 464 GL_TEXTURE_COMPRESSION_HINT = 0x84EF, 465 GL_TEXTURE_COMPRESSED_IMAGE_SIZE = 0x86A0, 466 GL_TEXTURE_COMPRESSED = 0x86A1, 467 GL_NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2, 468 GL_COMPRESSED_TEXTURE_FORMATS = 0x86A3, 469 GL_CLAMP_TO_BORDER = 0x812D, 470 } 471 472 enum // GL_VERSION_1_4 473 { 474 GL_BLEND_DST_RGB = 0x80C8, 475 GL_BLEND_SRC_RGB = 0x80C9, 476 GL_BLEND_DST_ALPHA = 0x80CA, 477 GL_BLEND_SRC_ALPHA = 0x80CB, 478 GL_POINT_FADE_THRESHOLD_SIZE = 0x8128, 479 GL_DEPTH_COMPONENT16 = 0x81A5, 480 GL_DEPTH_COMPONENT24 = 0x81A6, 481 GL_DEPTH_COMPONENT32 = 0x81A7, 482 GL_MIRRORED_REPEAT = 0x8370, 483 GL_MAX_TEXTURE_LOD_BIAS = 0x84FD, 484 GL_TEXTURE_LOD_BIAS = 0x8501, 485 GL_INCR_WRAP = 0x8507, 486 GL_DECR_WRAP = 0x8508, 487 GL_TEXTURE_DEPTH_SIZE = 0x884A, 488 GL_TEXTURE_COMPARE_MODE = 0x884C, 489 GL_TEXTURE_COMPARE_FUNC = 0x884D, 490 } 491 492 enum // GL_VERSION_1_5 493 { 494 GL_BUFFER_SIZE = 0x8764, 495 GL_BUFFER_USAGE = 0x8765, 496 GL_QUERY_COUNTER_BITS = 0x8864, 497 GL_CURRENT_QUERY = 0x8865, 498 GL_QUERY_RESULT = 0x8866, 499 GL_QUERY_RESULT_AVAILABLE = 0x8867, 500 GL_ARRAY_BUFFER = 0x8892, 501 GL_ELEMENT_ARRAY_BUFFER = 0x8893, 502 GL_ARRAY_BUFFER_BINDING = 0x8894, 503 GL_ELEMENT_ARRAY_BUFFER_BINDING = 0x8895, 504 GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F, 505 GL_READ_ONLY = 0x88B8, 506 GL_WRITE_ONLY = 0x88B9, 507 GL_READ_WRITE = 0x88BA, 508 GL_BUFFER_ACCESS = 0x88BB, 509 GL_BUFFER_MAPPED = 0x88BC, 510 GL_BUFFER_MAP_POINTER = 0x88BD, 511 GL_STREAM_DRAW = 0x88E0, 512 GL_STREAM_READ = 0x88E1, 513 GL_STREAM_COPY = 0x88E2, 514 GL_STATIC_DRAW = 0x88E4, 515 GL_STATIC_READ = 0x88E5, 516 GL_STATIC_COPY = 0x88E6, 517 GL_DYNAMIC_DRAW = 0x88E8, 518 GL_DYNAMIC_READ = 0x88E9, 519 GL_DYNAMIC_COPY = 0x88EA, 520 GL_SAMPLES_PASSED = 0x8914, 521 GL_SRC1_ALPHA = 0x8589, 522 } 523 524 enum // GL_VERSION_2_0 525 { 526 GL_BLEND_EQUATION_RGB = 0x8009, 527 GL_VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622, 528 GL_VERTEX_ATTRIB_ARRAY_SIZE = 0x8623, 529 GL_VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624, 530 GL_VERTEX_ATTRIB_ARRAY_TYPE = 0x8625, 531 GL_CURRENT_VERTEX_ATTRIB = 0x8626, 532 GL_VERTEX_PROGRAM_POINT_SIZE = 0x8642, 533 GL_VERTEX_ATTRIB_ARRAY_POINTER = 0x8645, 534 GL_STENCIL_BACK_FUNC = 0x8800, 535 GL_STENCIL_BACK_FAIL = 0x8801, 536 GL_STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802, 537 GL_STENCIL_BACK_PASS_DEPTH_PASS = 0x8803, 538 GL_MAX_DRAW_BUFFERS = 0x8824, 539 GL_DRAW_BUFFER0 = 0x8825, 540 GL_DRAW_BUFFER1 = 0x8826, 541 GL_DRAW_BUFFER2 = 0x8827, 542 GL_DRAW_BUFFER3 = 0x8828, 543 GL_DRAW_BUFFER4 = 0x8829, 544 GL_DRAW_BUFFER5 = 0x882A, 545 GL_DRAW_BUFFER6 = 0x882B, 546 GL_DRAW_BUFFER7 = 0x882C, 547 GL_DRAW_BUFFER8 = 0x882D, 548 GL_DRAW_BUFFER9 = 0x882E, 549 GL_DRAW_BUFFER10 = 0x882F, 550 GL_DRAW_BUFFER11 = 0x8830, 551 GL_DRAW_BUFFER12 = 0x8831, 552 GL_DRAW_BUFFER13 = 0x8832, 553 GL_DRAW_BUFFER14 = 0x8833, 554 GL_DRAW_BUFFER15 = 0x8834, 555 GL_BLEND_EQUATION_ALPHA = 0x883D, 556 GL_MAX_VERTEX_ATTRIBS = 0x8869, 557 GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A, 558 GL_MAX_TEXTURE_IMAGE_UNITS = 0x8872, 559 GL_FRAGMENT_SHADER = 0x8B30, 560 GL_VERTEX_SHADER = 0x8B31, 561 GL_MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8B49, 562 GL_MAX_VERTEX_UNIFORM_COMPONENTS = 0x8B4A, 563 GL_MAX_VARYING_FLOATS = 0x8B4B, 564 GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C, 565 GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D, 566 GL_SHADER_TYPE = 0x8B4F, 567 GL_FLOAT_VEC2 = 0x8B50, 568 GL_FLOAT_VEC3 = 0x8B51, 569 GL_FLOAT_VEC4 = 0x8B52, 570 GL_INT_VEC2 = 0x8B53, 571 GL_INT_VEC3 = 0x8B54, 572 GL_INT_VEC4 = 0x8B55, 573 GL_BOOL = 0x8B56, 574 GL_BOOL_VEC2 = 0x8B57, 575 GL_BOOL_VEC3 = 0x8B58, 576 GL_BOOL_VEC4 = 0x8B59, 577 GL_FLOAT_MAT2 = 0x8B5A, 578 GL_FLOAT_MAT3 = 0x8B5B, 579 GL_FLOAT_MAT4 = 0x8B5C, 580 GL_SAMPLER_1D = 0x8B5D, 581 GL_SAMPLER_2D = 0x8B5E, 582 GL_SAMPLER_3D = 0x8B5F, 583 GL_SAMPLER_CUBE = 0x8B60, 584 GL_SAMPLER_1D_SHADOW = 0x8B61, 585 GL_SAMPLER_2D_SHADOW = 0x8B62, 586 GL_DELETE_STATUS = 0x8B80, 587 GL_COMPILE_STATUS = 0x8B81, 588 GL_LINK_STATUS = 0x8B82, 589 GL_VALIDATE_STATUS = 0x8B83, 590 GL_INFO_LOG_LENGTH = 0x8B84, 591 GL_ATTACHED_SHADERS = 0x8B85, 592 GL_ACTIVE_UNIFORMS = 0x8B86, 593 GL_ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87, 594 GL_SHADER_SOURCE_LENGTH = 0x8B88, 595 GL_ACTIVE_ATTRIBUTES = 0x8B89, 596 GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A, 597 GL_FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B, 598 GL_SHADING_LANGUAGE_VERSION = 0x8B8C, 599 GL_CURRENT_PROGRAM = 0x8B8D, 600 GL_POINT_SPRITE_COORD_ORIGIN = 0x8CA0, 601 GL_LOWER_LEFT = 0x8CA1, 602 GL_UPPER_LEFT = 0x8CA2, 603 GL_STENCIL_BACK_REF = 0x8CA3, 604 GL_STENCIL_BACK_VALUE_MASK = 0x8CA4, 605 GL_STENCIL_BACK_WRITEMASK = 0x8CA5, 606 } 607 608 enum // GL_VERSION_2_1 609 { 610 GL_PIXEL_PACK_BUFFER = 0x88EB, 611 GL_PIXEL_UNPACK_BUFFER = 0x88EC, 612 GL_PIXEL_PACK_BUFFER_BINDING = 0x88ED, 613 GL_PIXEL_UNPACK_BUFFER_BINDING = 0x88EF, 614 GL_FLOAT_MAT2x3 = 0x8B65, 615 GL_FLOAT_MAT2x4 = 0x8B66, 616 GL_FLOAT_MAT3x2 = 0x8B67, 617 GL_FLOAT_MAT3x4 = 0x8B68, 618 GL_FLOAT_MAT4x2 = 0x8B69, 619 GL_FLOAT_MAT4x3 = 0x8B6A, 620 GL_SRGB = 0x8C40, 621 GL_SRGB8 = 0x8C41, 622 GL_SRGB_ALPHA = 0x8C42, 623 GL_SRGB8_ALPHA8 = 0x8C43, 624 GL_COMPRESSED_SRGB = 0x8C48, 625 GL_COMPRESSED_SRGB_ALPHA = 0x8C49, 626 } 627 628 enum // GL_VERSION_3_0 629 { 630 GL_COMPARE_REF_TO_TEXTURE = 0x884E, 631 GL_CLIP_DISTANCE0 = 0x3000, 632 GL_CLIP_DISTANCE1 = 0x3001, 633 GL_CLIP_DISTANCE2 = 0x3002, 634 GL_CLIP_DISTANCE3 = 0x3003, 635 GL_CLIP_DISTANCE4 = 0x3004, 636 GL_CLIP_DISTANCE5 = 0x3005, 637 GL_CLIP_DISTANCE6 = 0x3006, 638 GL_CLIP_DISTANCE7 = 0x3007, 639 GL_MAX_CLIP_DISTANCES = 0x0D32, 640 GL_MAJOR_VERSION = 0x821B, 641 GL_MINOR_VERSION = 0x821C, 642 GL_NUM_EXTENSIONS = 0x821D, 643 GL_CONTEXT_FLAGS = 0x821E, 644 GL_COMPRESSED_RED = 0x8225, 645 GL_COMPRESSED_RG = 0x8226, 646 GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = 0x0001, 647 GL_RGBA32F = 0x8814, 648 GL_RGB32F = 0x8815, 649 GL_RGBA16F = 0x881A, 650 GL_RGB16F = 0x881B, 651 GL_VERTEX_ATTRIB_ARRAY_INTEGER = 0x88FD, 652 GL_MAX_ARRAY_TEXTURE_LAYERS = 0x88FF, 653 GL_MIN_PROGRAM_TEXEL_OFFSET = 0x8904, 654 GL_MAX_PROGRAM_TEXEL_OFFSET = 0x8905, 655 GL_CLAMP_READ_COLOR = 0x891C, 656 GL_FIXED_ONLY = 0x891D, 657 GL_MAX_VARYING_COMPONENTS = 0x8B4B, 658 GL_TEXTURE_1D_ARRAY = 0x8C18, 659 GL_PROXY_TEXTURE_1D_ARRAY = 0x8C19, 660 GL_TEXTURE_2D_ARRAY = 0x8C1A, 661 GL_PROXY_TEXTURE_2D_ARRAY = 0x8C1B, 662 GL_TEXTURE_BINDING_1D_ARRAY = 0x8C1C, 663 GL_TEXTURE_BINDING_2D_ARRAY = 0x8C1D, 664 GL_R11F_G11F_B10F = 0x8C3A, 665 GL_UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B, 666 GL_RGB9_E5 = 0x8C3D, 667 GL_UNSIGNED_INT_5_9_9_9_REV = 0x8C3E, 668 GL_TEXTURE_SHARED_SIZE = 0x8C3F, 669 GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 0x8C76, 670 GL_TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8C7F, 671 GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80, 672 GL_TRANSFORM_FEEDBACK_VARYINGS = 0x8C83, 673 GL_TRANSFORM_FEEDBACK_BUFFER_START = 0x8C84, 674 GL_TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8C85, 675 GL_PRIMITIVES_GENERATED = 0x8C87, 676 GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88, 677 GL_RASTERIZER_DISCARD = 0x8C89, 678 GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A, 679 GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B, 680 GL_INTERLEAVED_ATTRIBS = 0x8C8C, 681 GL_SEPARATE_ATTRIBS = 0x8C8D, 682 GL_TRANSFORM_FEEDBACK_BUFFER = 0x8C8E, 683 GL_TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F, 684 GL_RGBA32UI = 0x8D70, 685 GL_RGB32UI = 0x8D71, 686 GL_RGBA16UI = 0x8D76, 687 GL_RGB16UI = 0x8D77, 688 GL_RGBA8UI = 0x8D7C, 689 GL_RGB8UI = 0x8D7D, 690 GL_RGBA32I = 0x8D82, 691 GL_RGB32I = 0x8D83, 692 GL_RGBA16I = 0x8D88, 693 GL_RGB16I = 0x8D89, 694 GL_RGBA8I = 0x8D8E, 695 GL_RGB8I = 0x8D8F, 696 GL_RED_INTEGER = 0x8D94, 697 GL_GREEN_INTEGER = 0x8D95, 698 GL_BLUE_INTEGER = 0x8D96, 699 GL_RGB_INTEGER = 0x8D98, 700 GL_RGBA_INTEGER = 0x8D99, 701 GL_BGR_INTEGER = 0x8D9A, 702 GL_BGRA_INTEGER = 0x8D9B, 703 GL_SAMPLER_1D_ARRAY = 0x8DC0, 704 GL_SAMPLER_2D_ARRAY = 0x8DC1, 705 GL_SAMPLER_1D_ARRAY_SHADOW = 0x8DC3, 706 GL_SAMPLER_2D_ARRAY_SHADOW = 0x8DC4, 707 GL_SAMPLER_CUBE_SHADOW = 0x8DC5, 708 GL_UNSIGNED_INT_VEC2 = 0x8DC6, 709 GL_UNSIGNED_INT_VEC3 = 0x8DC7, 710 GL_UNSIGNED_INT_VEC4 = 0x8DC8, 711 GL_INT_SAMPLER_1D = 0x8DC9, 712 GL_INT_SAMPLER_2D = 0x8DCA, 713 GL_INT_SAMPLER_3D = 0x8DCB, 714 GL_INT_SAMPLER_CUBE = 0x8DCC, 715 GL_INT_SAMPLER_1D_ARRAY = 0x8DCE, 716 GL_INT_SAMPLER_2D_ARRAY = 0x8DCF, 717 GL_UNSIGNED_INT_SAMPLER_1D = 0x8DD1, 718 GL_UNSIGNED_INT_SAMPLER_2D = 0x8DD2, 719 GL_UNSIGNED_INT_SAMPLER_3D = 0x8DD3, 720 GL_UNSIGNED_INT_SAMPLER_CUBE = 0x8DD4, 721 GL_UNSIGNED_INT_SAMPLER_1D_ARRAY = 0x8DD6, 722 GL_UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8DD7, 723 GL_QUERY_WAIT = 0x8E13, 724 GL_QUERY_NO_WAIT = 0x8E14, 725 GL_QUERY_BY_REGION_WAIT = 0x8E15, 726 GL_QUERY_BY_REGION_NO_WAIT = 0x8E16, 727 GL_BUFFER_ACCESS_FLAGS = 0x911F, 728 GL_BUFFER_MAP_LENGTH = 0x9120, 729 GL_BUFFER_MAP_OFFSET = 0x9121, 730 731 /* Reuse tokens from ARB_depth_buffer_float */ 732 733 /* reuse GL_DEPTH_COMPONENT32F */ 734 /* reuse GL_DEPTH32F_STENCIL8 */ 735 /* reuse GL_FLOAT_32_UNSIGNED_INT_24_8_REV */ 736 737 /* Reuse tokens from ARB_framebuffer_object */ 738 739 /* reuse GL_INVALID_FRAMEBUFFER_OPERATION */ 740 /* reuse GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */ 741 /* reuse GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */ 742 /* reuse GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */ 743 /* reuse GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */ 744 /* reuse GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */ 745 /* reuse GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */ 746 /* reuse GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */ 747 /* reuse GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */ 748 /* reuse GL_FRAMEBUFFER_DEFAULT */ 749 /* reuse GL_FRAMEBUFFER_UNDEFINED */ 750 /* reuse GL_DEPTH_STENCIL_ATTACHMENT */ 751 /* reuse GL_INDEX */ 752 /* reuse GL_MAX_RENDERBUFFER_SIZE */ 753 /* reuse GL_DEPTH_STENCIL */ 754 /* reuse GL_UNSIGNED_INT_24_8 */ 755 /* reuse GL_DEPTH24_STENCIL8 */ 756 /* reuse GL_TEXTURE_STENCIL_SIZE */ 757 /* reuse GL_TEXTURE_RED_TYPE */ 758 /* reuse GL_TEXTURE_GREEN_TYPE */ 759 /* reuse GL_TEXTURE_BLUE_TYPE */ 760 /* reuse GL_TEXTURE_ALPHA_TYPE */ 761 /* reuse GL_TEXTURE_DEPTH_TYPE */ 762 /* reuse GL_UNSIGNED_NORMALIZED */ 763 /* reuse GL_FRAMEBUFFER_BINDING */ 764 /* reuse GL_DRAW_FRAMEBUFFER_BINDING */ 765 /* reuse GL_RENDERBUFFER_BINDING */ 766 /* reuse GL_READ_FRAMEBUFFER */ 767 /* reuse GL_DRAW_FRAMEBUFFER */ 768 /* reuse GL_READ_FRAMEBUFFER_BINDING */ 769 /* reuse GL_RENDERBUFFER_SAMPLES */ 770 /* reuse GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */ 771 /* reuse GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */ 772 /* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */ 773 /* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */ 774 /* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */ 775 /* reuse GL_FRAMEBUFFER_COMPLETE */ 776 /* reuse GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */ 777 /* reuse GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */ 778 /* reuse GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER */ 779 /* reuse GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER */ 780 /* reuse GL_FRAMEBUFFER_UNSUPPORTED */ 781 /* reuse GL_MAX_COLOR_ATTACHMENTS */ 782 /* reuse GL_COLOR_ATTACHMENT0 */ 783 /* reuse GL_COLOR_ATTACHMENT1 */ 784 /* reuse GL_COLOR_ATTACHMENT2 */ 785 /* reuse GL_COLOR_ATTACHMENT3 */ 786 /* reuse GL_COLOR_ATTACHMENT4 */ 787 /* reuse GL_COLOR_ATTACHMENT5 */ 788 /* reuse GL_COLOR_ATTACHMENT6 */ 789 /* reuse GL_COLOR_ATTACHMENT7 */ 790 /* reuse GL_COLOR_ATTACHMENT8 */ 791 /* reuse GL_COLOR_ATTACHMENT9 */ 792 /* reuse GL_COLOR_ATTACHMENT10 */ 793 /* reuse GL_COLOR_ATTACHMENT11 */ 794 /* reuse GL_COLOR_ATTACHMENT12 */ 795 /* reuse GL_COLOR_ATTACHMENT13 */ 796 /* reuse GL_COLOR_ATTACHMENT14 */ 797 /* reuse GL_COLOR_ATTACHMENT15 */ 798 /* reuse GL_DEPTH_ATTACHMENT */ 799 /* reuse GL_STENCIL_ATTACHMENT */ 800 /* reuse GL_FRAMEBUFFER */ 801 /* reuse GL_RENDERBUFFER */ 802 /* reuse GL_RENDERBUFFER_WIDTH */ 803 /* reuse GL_RENDERBUFFER_HEIGHT */ 804 /* reuse GL_RENDERBUFFER_INTERNAL_FORMAT */ 805 /* reuse GL_STENCIL_INDEX1 */ 806 /* reuse GL_STENCIL_INDEX4 */ 807 /* reuse GL_STENCIL_INDEX8 */ 808 /* reuse GL_STENCIL_INDEX16 */ 809 /* reuse GL_RENDERBUFFER_RED_SIZE */ 810 /* reuse GL_RENDERBUFFER_GREEN_SIZE */ 811 /* reuse GL_RENDERBUFFER_BLUE_SIZE */ 812 /* reuse GL_RENDERBUFFER_ALPHA_SIZE */ 813 /* reuse GL_RENDERBUFFER_DEPTH_SIZE */ 814 /* reuse GL_RENDERBUFFER_STENCIL_SIZE */ 815 /* reuse GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */ 816 /* reuse GL_MAX_SAMPLES */ 817 818 /* Reuse tokens from ARB_framebuffer_sRGB */ 819 820 /* reuse GL_FRAMEBUFFER_SRGB */ 821 822 /* Reuse tokens from ARB_half_float_vertex */ 823 824 /* reuse GL_HALF_FLOAT */ 825 826 /* Reuse tokens from ARB_map_buffer_range */ 827 828 /* reuse GL_MAP_READ_BIT */ 829 /* reuse GL_MAP_WRITE_BIT */ 830 /* reuse GL_MAP_INVALIDATE_RANGE_BIT */ 831 /* reuse GL_MAP_INVALIDATE_BUFFER_BIT */ 832 /* reuse GL_MAP_FLUSH_EXPLICIT_BIT */ 833 /* reuse GL_MAP_UNSYNCHRONIZED_BIT */ 834 835 /* Reuse tokens from ARB_texture_compression_rgtc */ 836 837 /* reuse GL_COMPRESSED_RED_RGTC1 */ 838 /* reuse GL_COMPRESSED_SIGNED_RED_RGTC1 */ 839 /* reuse GL_COMPRESSED_RG_RGTC2 */ 840 /* reuse GL_COMPRESSED_SIGNED_RG_RGTC2 */ 841 842 /* Reuse tokens from ARB_texture_rg */ 843 844 /* reuse GL_RG */ 845 /* reuse GL_RG_INTEGER */ 846 /* reuse GL_R8 */ 847 /* reuse GL_R16 */ 848 /* reuse GL_RG8 */ 849 /* reuse GL_RG16 */ 850 /* reuse GL_R16F */ 851 /* reuse GL_R32F */ 852 /* reuse GL_RG16F */ 853 /* reuse GL_RG32F */ 854 /* reuse GL_R8I */ 855 /* reuse GL_R8UI */ 856 /* reuse GL_R16I */ 857 /* reuse GL_R16UI */ 858 /* reuse GL_R32I */ 859 /* reuse GL_R32UI */ 860 /* reuse GL_RG8I */ 861 /* reuse GL_RG8UI */ 862 /* reuse GL_RG16I */ 863 /* reuse GL_RG16UI */ 864 /* reuse GL_RG32I */ 865 /* reuse GL_RG32UI */ 866 867 /* Reuse tokens from ARB_vertex_array_object */ 868 869 /* reuse GL_VERTEX_ARRAY_BINDING */ 870 } 871 872 enum // GL_VERSION_3_1 873 { 874 GL_SAMPLER_2D_RECT = 0x8B63, 875 GL_SAMPLER_2D_RECT_SHADOW = 0x8B64, 876 GL_SAMPLER_BUFFER = 0x8DC2, 877 GL_INT_SAMPLER_2D_RECT = 0x8DCD, 878 GL_INT_SAMPLER_BUFFER = 0x8DD0, 879 GL_UNSIGNED_INT_SAMPLER_2D_RECT = 0x8DD5, 880 GL_UNSIGNED_INT_SAMPLER_BUFFER = 0x8DD8, 881 GL_TEXTURE_BUFFER = 0x8C2A, 882 GL_MAX_TEXTURE_BUFFER_SIZE = 0x8C2B, 883 GL_TEXTURE_BINDING_BUFFER = 0x8C2C, 884 GL_TEXTURE_BUFFER_DATA_STORE_BINDING = 0x8C2D, 885 GL_TEXTURE_RECTANGLE = 0x84F5, 886 GL_TEXTURE_BINDING_RECTANGLE = 0x84F6, 887 GL_PROXY_TEXTURE_RECTANGLE = 0x84F7, 888 GL_MAX_RECTANGLE_TEXTURE_SIZE = 0x84F8, 889 GL_RED_SNORM = 0x8F90, 890 GL_RG_SNORM = 0x8F91, 891 GL_RGB_SNORM = 0x8F92, 892 GL_RGBA_SNORM = 0x8F93, 893 GL_R8_SNORM = 0x8F94, 894 GL_RG8_SNORM = 0x8F95, 895 GL_RGB8_SNORM = 0x8F96, 896 GL_RGBA8_SNORM = 0x8F97, 897 GL_R16_SNORM = 0x8F98, 898 GL_RG16_SNORM = 0x8F99, 899 GL_RGB16_SNORM = 0x8F9A, 900 GL_RGBA16_SNORM = 0x8F9B, 901 GL_SIGNED_NORMALIZED = 0x8F9C, 902 GL_PRIMITIVE_RESTART = 0x8F9D, 903 GL_PRIMITIVE_RESTART_INDEX = 0x8F9E, 904 905 /* Reuse tokens from ARB_copy_buffer */ 906 907 /* reuse GL_COPY_READ_BUFFER */ 908 /* reuse GL_COPY_WRITE_BUFFER */ 909 910 /* Reuse tokens from ARB_draw_instanced (none) */ 911 912 /* Reuse tokens from ARB_uniform_buffer_object */ 913 914 /* reuse GL_UNIFORM_BUFFER */ 915 /* reuse GL_UNIFORM_BUFFER_BINDING */ 916 /* reuse GL_UNIFORM_BUFFER_START */ 917 /* reuse GL_UNIFORM_BUFFER_SIZE */ 918 /* reuse GL_MAX_VERTEX_UNIFORM_BLOCKS */ 919 /* reuse GL_MAX_FRAGMENT_UNIFORM_BLOCKS */ 920 /* reuse GL_MAX_COMBINED_UNIFORM_BLOCKS */ 921 /* reuse GL_MAX_UNIFORM_BUFFER_BINDINGS */ 922 /* reuse GL_MAX_UNIFORM_BLOCK_SIZE */ 923 /* reuse GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS */ 924 /* reuse GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS */ 925 /* reuse GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT */ 926 /* reuse GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */ 927 /* reuse GL_ACTIVE_UNIFORM_BLOCKS */ 928 /* reuse GL_UNIFORM_TYPE */ 929 /* reuse GL_UNIFORM_SIZE */ 930 /* reuse GL_UNIFORM_NAME_LENGTH */ 931 /* reuse GL_UNIFORM_BLOCK_INDEX */ 932 /* reuse GL_UNIFORM_OFFSET */ 933 /* reuse GL_UNIFORM_ARRAY_STRIDE */ 934 /* reuse GL_UNIFORM_MATRIX_STRIDE */ 935 /* reuse GL_UNIFORM_IS_ROW_MAJOR */ 936 /* reuse GL_UNIFORM_BLOCK_BINDING */ 937 /* reuse GL_UNIFORM_BLOCK_DATA_SIZE */ 938 /* reuse GL_UNIFORM_BLOCK_NAME_LENGTH */ 939 /* reuse GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS */ 940 /* reuse GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES */ 941 /* reuse GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER */ 942 /* reuse GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER */ 943 /* reuse GL_INVALID_INDEX */ 944 } 945 946 enum // GL_VERSION_3_2 947 { 948 GL_CONTEXT_CORE_PROFILE_BIT = 0x00000001, 949 GL_CONTEXT_COMPATIBILITY_PROFILE_BIT = 0x00000002, 950 GL_LINES_ADJACENCY = 0x000A, 951 GL_LINE_STRIP_ADJACENCY = 0x000B, 952 GL_TRIANGLES_ADJACENCY = 0x000C, 953 GL_TRIANGLE_STRIP_ADJACENCY = 0x000D, 954 GL_PROGRAM_POINT_SIZE = 0x8642, 955 GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 0x8C29, 956 GL_FRAMEBUFFER_ATTACHMENT_LAYERED = 0x8DA7, 957 GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 0x8DA8, 958 GL_GEOMETRY_SHADER = 0x8DD9, 959 GL_GEOMETRY_VERTICES_OUT = 0x8916, 960 GL_GEOMETRY_INPUT_TYPE = 0x8917, 961 GL_GEOMETRY_OUTPUT_TYPE = 0x8918, 962 GL_MAX_GEOMETRY_UNIFORM_COMPONENTS = 0x8DDF, 963 GL_MAX_GEOMETRY_OUTPUT_VERTICES = 0x8DE0, 964 GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 0x8DE1, 965 GL_MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122, 966 GL_MAX_GEOMETRY_INPUT_COMPONENTS = 0x9123, 967 GL_MAX_GEOMETRY_OUTPUT_COMPONENTS = 0x9124, 968 GL_MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125, 969 GL_CONTEXT_PROFILE_MASK = 0x9126, 970 971 /* reuse GL_MAX_VARYING_COMPONENTS */ 972 /* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */ 973 974 /* Reuse tokens from ARB_depth_clamp */ 975 976 /* reuse GL_DEPTH_CLAMP */ 977 978 /* Reuse tokens from ARB_draw_elements_base_vertex (none) */ 979 980 /* Reuse tokens from ARB_fragment_coord_conventions (none) */ 981 982 /* Reuse tokens from ARB_provoking_vertex */ 983 984 /* reuse GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */ 985 /* reuse GL_FIRST_VERTEX_CONVENTION */ 986 /* reuse GL_LAST_VERTEX_CONVENTION */ 987 /* reuse GL_PROVOKING_VERTEX */ 988 989 /* Reuse tokens from ARB_seamless_cube_map */ 990 991 /* reuse GL_TEXTURE_CUBE_MAP_SEAMLESS */ 992 /* Reuse tokens from ARB_sync */ 993 /* reuse GL_MAX_SERVER_WAIT_TIMEOUT */ 994 /* reuse GL_OBJECT_TYPE */ 995 /* reuse GL_SYNC_CONDITION */ 996 /* reuse GL_SYNC_STATUS */ 997 /* reuse GL_SYNC_FLAGS */ 998 /* reuse GL_SYNC_FENCE */ 999 /* reuse GL_SYNC_GPU_COMMANDS_COMPLETE */ 1000 /* reuse GL_UNSIGNALED */ 1001 /* reuse GL_SIGNALED */ 1002 /* reuse GL_ALREADY_SIGNALED */ 1003 /* reuse GL_TIMEOUT_EXPIRED */ 1004 /* reuse GL_CONDITION_SATISFIED */ 1005 /* reuse GL_WAIT_FAILED */ 1006 /* reuse GL_TIMEOUT_IGNORED */ 1007 /* reuse GL_SYNC_FLUSH_COMMANDS_BIT */ 1008 /* reuse GL_TIMEOUT_IGNORED */ 1009 1010 /* Reuse tokens from ARB_texture_multisample */ 1011 1012 /* reuse GL_SAMPLE_POSITION */ 1013 /* reuse GL_SAMPLE_MASK */ 1014 /* reuse GL_SAMPLE_MASK_VALUE */ 1015 /* reuse GL_MAX_SAMPLE_MASK_WORDS */ 1016 /* reuse GL_TEXTURE_2D_MULTISAMPLE */ 1017 /* reuse GL_PROXY_TEXTURE_2D_MULTISAMPLE */ 1018 /* reuse GL_TEXTURE_2D_MULTISAMPLE_ARRAY */ 1019 /* reuse GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY */ 1020 /* reuse GL_TEXTURE_BINDING_2D_MULTISAMPLE */ 1021 /* reuse GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY */ 1022 /* reuse GL_TEXTURE_SAMPLES */ 1023 /* reuse GL_TEXTURE_FIXED_SAMPLE_LOCATIONS */ 1024 /* reuse GL_SAMPLER_2D_MULTISAMPLE */ 1025 /* reuse GL_INT_SAMPLER_2D_MULTISAMPLE */ 1026 /* reuse GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE */ 1027 /* reuse GL_SAMPLER_2D_MULTISAMPLE_ARRAY */ 1028 /* reuse GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY */ 1029 /* reuse GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY */ 1030 /* reuse GL_MAX_COLOR_TEXTURE_SAMPLES */ 1031 /* reuse GL_MAX_DEPTH_TEXTURE_SAMPLES */ 1032 /* reuse GL_MAX_INTEGER_SAMPLES */ 1033 1034 /* Don't need to reuse tokens from ARB_vertex_array_bgra since they're already in 1.2 core */ 1035 } 1036 1037 enum // GL_VERSION_3_3 1038 { 1039 GL_VERTEX_ATTRIB_ARRAY_DIVISOR = 0x88FE, 1040 1041 /* Reuse tokens from ARB_blend_func_extended */ 1042 1043 /* reuse GL_SRC1_COLOR */ 1044 /* reuse GL_ONE_MINUS_SRC1_COLOR */ 1045 /* reuse GL_ONE_MINUS_SRC1_ALPHA */ 1046 /* reuse GL_MAX_DUAL_SOURCE_DRAW_BUFFERS */ 1047 1048 /* Reuse tokens from ARB_explicit_attrib_location (none) */ 1049 1050 /* Reuse tokens from ARB_occlusion_query2 */ 1051 1052 /* reuse GL_ANY_SAMPLES_PASSED */ 1053 1054 /* Reuse tokens from ARB_sampler_objects */ 1055 1056 /* reuse GL_SAMPLER_BINDING */ 1057 1058 /* Reuse tokens from ARB_shader_bit_encoding (none) */ 1059 1060 /* Reuse tokens from ARB_texture_rgb10_a2ui */ 1061 1062 /* reuse GL_RGB10_A2UI */ 1063 1064 /* Reuse tokens from ARB_texture_swizzle */ 1065 1066 /* reuse GL_TEXTURE_SWIZZLE_R */ 1067 /* reuse GL_TEXTURE_SWIZZLE_G */ 1068 /* reuse GL_TEXTURE_SWIZZLE_B */ 1069 /* reuse GL_TEXTURE_SWIZZLE_A */ 1070 /* reuse GL_TEXTURE_SWIZZLE_RGBA */ 1071 1072 /* Reuse tokens from ARB_timer_query */ 1073 1074 /* reuse GL_TIME_ELAPSED */ 1075 /* reuse GL_TIMESTAMP */ 1076 1077 /* Reuse tokens from ARB_vertex_type_2_10_10_10_rev */ 1078 1079 /* reuse GL_INT_2_10_10_10_REV */ 1080 } 1081 1082 enum // GL_VERSION_4_0 1083 { 1084 GL_SAMPLE_SHADING = 0x8C36, 1085 GL_MIN_SAMPLE_SHADING_VALUE = 0x8C37, 1086 GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5E, 1087 GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5F, 1088 GL_TEXTURE_CUBE_MAP_ARRAY = 0x9009, 1089 GL_TEXTURE_BINDING_CUBE_MAP_ARRAY = 0x900A, 1090 GL_PROXY_TEXTURE_CUBE_MAP_ARRAY = 0x900B, 1091 GL_SAMPLER_CUBE_MAP_ARRAY = 0x900C, 1092 GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW = 0x900D, 1093 GL_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900E, 1094 GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900F, 1095 1096 /* Reuse tokens from ARB_texture_query_lod (none) */ 1097 1098 /* Reuse tokens from ARB_draw_buffers_blend (none) */ 1099 1100 /* Reuse tokens from ARB_draw_indirect */ 1101 1102 /* reuse GL_DRAW_INDIRECT_BUFFER */ 1103 /* reuse GL_DRAW_INDIRECT_BUFFER_BINDING */ 1104 1105 /* Reuse tokens from ARB_gpu_shader5 */ 1106 1107 /* reuse GL_GEOMETRY_SHADER_INVOCATIONS */ 1108 /* reuse GL_MAX_GEOMETRY_SHADER_INVOCATIONS */ 1109 /* reuse GL_MIN_FRAGMENT_INTERPOLATION_OFFSET */ 1110 /* reuse GL_MAX_FRAGMENT_INTERPOLATION_OFFSET */ 1111 /* reuse GL_FRAGMENT_INTERPOLATION_OFFSET_BITS */ 1112 /* reuse GL_MAX_VERTEX_STREAMS */ 1113 1114 /* Reuse tokens from ARB_gpu_shader_fp64 */ 1115 1116 /* reuse GL_DOUBLE_VEC2 */ 1117 /* reuse GL_DOUBLE_VEC3 */ 1118 /* reuse GL_DOUBLE_VEC4 */ 1119 /* reuse GL_DOUBLE_MAT2 */ 1120 /* reuse GL_DOUBLE_MAT3 */ 1121 /* reuse GL_DOUBLE_MAT4 */ 1122 /* reuse GL_DOUBLE_MAT2x3 */ 1123 /* reuse GL_DOUBLE_MAT2x4 */ 1124 /* reuse GL_DOUBLE_MAT3x2 */ 1125 /* reuse GL_DOUBLE_MAT3x4 */ 1126 /* reuse GL_DOUBLE_MAT4x2 */ 1127 /* reuse GL_DOUBLE_MAT4x3 */ 1128 1129 /* Reuse tokens from ARB_shader_subroutine */ 1130 1131 /* reuse GL_ACTIVE_SUBROUTINES */ 1132 /* reuse GL_ACTIVE_SUBROUTINE_UNIFORMS */ 1133 /* reuse GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS */ 1134 /* reuse GL_ACTIVE_SUBROUTINE_MAX_LENGTH */ 1135 /* reuse GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH */ 1136 /* reuse GL_MAX_SUBROUTINES */ 1137 /* reuse GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS */ 1138 /* reuse GL_NUM_COMPATIBLE_SUBROUTINES */ 1139 /* reuse GL_COMPATIBLE_SUBROUTINES */ 1140 1141 /* Reuse tokens from ARB_tessellation_shader */ 1142 1143 /* reuse GL_PATCHES */ 1144 /* reuse GL_PATCH_VERTICES */ 1145 /* reuse GL_PATCH_DEFAULT_INNER_LEVEL */ 1146 /* reuse GL_PATCH_DEFAULT_OUTER_LEVEL */ 1147 /* reuse GL_TESS_CONTROL_OUTPUT_VERTICES */ 1148 /* reuse GL_TESS_GEN_MODE */ 1149 /* reuse GL_TESS_GEN_SPACING */ 1150 /* reuse GL_TESS_GEN_VERTEX_ORDER */ 1151 /* reuse GL_TESS_GEN_POINT_MODE */ 1152 /* reuse GL_ISOLINES */ 1153 /* reuse GL_FRACTIONAL_ODD */ 1154 /* reuse GL_FRACTIONAL_EVEN */ 1155 /* reuse GL_MAX_PATCH_VERTICES */ 1156 /* reuse GL_MAX_TESS_GEN_LEVEL */ 1157 /* reuse GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS */ 1158 /* reuse GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS */ 1159 /* reuse GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS */ 1160 /* reuse GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS */ 1161 /* reuse GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS */ 1162 /* reuse GL_MAX_TESS_PATCH_COMPONENTS */ 1163 /* reuse GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS */ 1164 /* reuse GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS */ 1165 /* reuse GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS */ 1166 /* reuse GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS */ 1167 /* reuse GL_MAX_TESS_CONTROL_INPUT_COMPONENTS */ 1168 /* reuse GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS */ 1169 /* reuse GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS */ 1170 /* reuse GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS */ 1171 /* reuse GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER */ 1172 /* reuse GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER */ 1173 /* reuse GL_TESS_EVALUATION_SHADER */ 1174 /* reuse GL_TESS_CONTROL_SHADER */ 1175 1176 /* Reuse tokens from ARB_texture_buffer_object_rgb32 (none) */ 1177 1178 /* Reuse tokens from ARB_transform_feedback2 */ 1179 1180 /* reuse GL_TRANSFORM_FEEDBACK */ 1181 /* reuse GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED */ 1182 /* reuse GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE */ 1183 /* reuse GL_TRANSFORM_FEEDBACK_BINDING */ 1184 1185 /* Reuse tokens from ARB_transform_feedback3 */ 1186 1187 /* reuse GL_MAX_TRANSFORM_FEEDBACK_BUFFERS */ 1188 /* reuse GL_MAX_VERTEX_STREAMS */ 1189 } 1190 1191 version(none) 1192 enum // GL_VERSION_4_1 1193 { 1194 /* Reuse tokens from ARB_ES2_compatibility */ 1195 1196 /* reuse GL_FIXED */ 1197 /* reuse GL_IMPLEMENTATION_COLOR_READ_TYPE */ 1198 /* reuse GL_IMPLEMENTATION_COLOR_READ_FORMAT */ 1199 /* reuse GL_LOW_FLOAT */ 1200 /* reuse GL_MEDIUM_FLOAT */ 1201 /* reuse GL_HIGH_FLOAT */ 1202 /* reuse GL_LOW_INT */ 1203 /* reuse GL_MEDIUM_INT */ 1204 /* reuse GL_HIGH_INT */ 1205 /* reuse GL_SHADER_COMPILER */ 1206 /* reuse GL_SHADER_BINARY_FORMATS */ 1207 /* reuse GL_NUM_SHADER_BINARY_FORMATS */ 1208 /* reuse GL_MAX_VERTEX_UNIFORM_VECTORS */ 1209 /* reuse GL_MAX_VARYING_VECTORS */ 1210 /* reuse GL_MAX_FRAGMENT_UNIFORM_VECTORS */ 1211 /* reuse GL_RGB565 */ 1212 1213 /* Reuse tokens from ARB_get_program_binary */ 1214 1215 /* reuse GL_PROGRAM_BINARY_RETRIEVABLE_HINT */ 1216 /* reuse GL_PROGRAM_BINARY_LENGTH */ 1217 /* reuse GL_NUM_PROGRAM_BINARY_FORMATS */ 1218 /* reuse GL_PROGRAM_BINARY_FORMATS */ 1219 1220 /* Reuse tokens from ARB_separate_shader_objects */ 1221 1222 /* reuse GL_VERTEX_SHADER_BIT */ 1223 /* reuse GL_FRAGMENT_SHADER_BIT */ 1224 /* reuse GL_GEOMETRY_SHADER_BIT */ 1225 /* reuse GL_TESS_CONTROL_SHADER_BIT */ 1226 /* reuse GL_TESS_EVALUATION_SHADER_BIT */ 1227 /* reuse GL_ALL_SHADER_BITS */ 1228 /* reuse GL_PROGRAM_SEPARABLE */ 1229 /* reuse GL_ACTIVE_PROGRAM */ 1230 /* reuse GL_PROGRAM_PIPELINE_BINDING */ 1231 1232 /* Reuse tokens from ARB_shader_precision (none) */ 1233 1234 /* Reuse tokens from ARB_vertex_attrib_64bit - all are in GL 3.0 and 4.0 already */ 1235 1236 /* Reuse tokens from ARB_viewport_array - some are in GL 1.1 and ARB_provoking_vertex already */ 1237 1238 /* reuse GL_MAX_VIEWPORTS */ 1239 /* reuse GL_VIEWPORT_SUBPIXEL_BITS */ 1240 /* reuse GL_VIEWPORT_BOUNDS_RANGE */ 1241 /* reuse GL_LAYER_PROVOKING_VERTEX */ 1242 /* reuse GL_VIEWPORT_INDEX_PROVOKING_VERTEX */ 1243 /* reuse GL_UNDEFINED_VERTEX */ 1244 } 1245 1246 version(none) 1247 enum // GL_VERSION_4_2 1248 { 1249 /* Reuse tokens from ARB_base_instance (none) */ 1250 1251 /* Reuse tokens from ARB_shading_language_420pack (none) */ 1252 1253 /* Reuse tokens from ARB_transform_feedback_instanced (none) */ 1254 1255 /* Reuse tokens from ARB_compressed_texture_pixel_storage */ 1256 1257 /* reuse GL_UNPACK_COMPRESSED_BLOCK_WIDTH */ 1258 /* reuse GL_UNPACK_COMPRESSED_BLOCK_HEIGHT */ 1259 /* reuse GL_UNPACK_COMPRESSED_BLOCK_DEPTH */ 1260 /* reuse GL_UNPACK_COMPRESSED_BLOCK_SIZE */ 1261 /* reuse GL_PACK_COMPRESSED_BLOCK_WIDTH */ 1262 /* reuse GL_PACK_COMPRESSED_BLOCK_HEIGHT */ 1263 /* reuse GL_PACK_COMPRESSED_BLOCK_DEPTH */ 1264 /* reuse GL_PACK_COMPRESSED_BLOCK_SIZE */ 1265 1266 /* Reuse tokens from ARB_conservative_depth (none) */ 1267 1268 /* Reuse tokens from ARB_internalformat_query */ 1269 1270 /* reuse GL_NUM_SAMPLE_COUNTS */ 1271 1272 /* Reuse tokens from ARB_map_buffer_alignment */ 1273 1274 /* reuse GL_MIN_MAP_BUFFER_ALIGNMENT */ 1275 1276 /* Reuse tokens from ARB_shader_atomic_counters */ 1277 1278 /* reuse GL_ATOMIC_COUNTER_BUFFER */ 1279 /* reuse GL_ATOMIC_COUNTER_BUFFER_BINDING */ 1280 /* reuse GL_ATOMIC_COUNTER_BUFFER_START */ 1281 /* reuse GL_ATOMIC_COUNTER_BUFFER_SIZE */ 1282 /* reuse GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE */ 1283 /* reuse GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS */ 1284 /* reuse GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES */ 1285 /* reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER */ 1286 /* reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER */ 1287 /* reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER */ 1288 /* reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER */ 1289 /* reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER */ 1290 /* reuse GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS */ 1291 /* reuse GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS */ 1292 /* reuse GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS */ 1293 /* reuse GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS */ 1294 /* reuse GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS */ 1295 /* reuse GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS */ 1296 /* reuse GL_MAX_VERTEX_ATOMIC_COUNTERS */ 1297 /* reuse GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS */ 1298 /* reuse GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS */ 1299 /* reuse GL_MAX_GEOMETRY_ATOMIC_COUNTERS */ 1300 /* reuse GL_MAX_FRAGMENT_ATOMIC_COUNTERS */ 1301 /* reuse GL_MAX_COMBINED_ATOMIC_COUNTERS */ 1302 /* reuse GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE */ 1303 /* reuse GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS */ 1304 /* reuse GL_ACTIVE_ATOMIC_COUNTER_BUFFERS */ 1305 /* reuse GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX */ 1306 /* reuse GL_UNSIGNED_INT_ATOMIC_COUNTER */ 1307 1308 /* Reuse tokens from ARB_shader_image_load_store */ 1309 1310 /* reuse GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT */ 1311 /* reuse GL_ELEMENT_ARRAY_BARRIER_BIT */ 1312 /* reuse GL_UNIFORM_BARRIER_BIT */ 1313 /* reuse GL_TEXTURE_FETCH_BARRIER_BIT */ 1314 /* reuse GL_SHADER_IMAGE_ACCESS_BARRIER_BIT */ 1315 /* reuse GL_COMMAND_BARRIER_BIT */ 1316 /* reuse GL_PIXEL_BUFFER_BARRIER_BIT */ 1317 /* reuse GL_TEXTURE_UPDATE_BARRIER_BIT */ 1318 /* reuse GL_BUFFER_UPDATE_BARRIER_BIT */ 1319 /* reuse GL_FRAMEBUFFER_BARRIER_BIT */ 1320 /* reuse GL_TRANSFORM_FEEDBACK_BARRIER_BIT */ 1321 /* reuse GL_ATOMIC_COUNTER_BARRIER_BIT */ 1322 /* reuse GL_ALL_BARRIER_BITS */ 1323 /* reuse GL_MAX_IMAGE_UNITS */ 1324 /* reuse GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS */ 1325 /* reuse GL_IMAGE_BINDING_NAME */ 1326 /* reuse GL_IMAGE_BINDING_LEVEL */ 1327 /* reuse GL_IMAGE_BINDING_LAYERED */ 1328 /* reuse GL_IMAGE_BINDING_LAYER */ 1329 /* reuse GL_IMAGE_BINDING_ACCESS */ 1330 /* reuse GL_IMAGE_1D */ 1331 /* reuse GL_IMAGE_2D */ 1332 /* reuse GL_IMAGE_3D */ 1333 /* reuse GL_IMAGE_2D_RECT */ 1334 /* reuse GL_IMAGE_CUBE */ 1335 /* reuse GL_IMAGE_BUFFER */ 1336 /* reuse GL_IMAGE_1D_ARRAY */ 1337 /* reuse GL_IMAGE_2D_ARRAY */ 1338 /* reuse GL_IMAGE_CUBE_MAP_ARRAY */ 1339 /* reuse GL_IMAGE_2D_MULTISAMPLE */ 1340 /* reuse GL_IMAGE_2D_MULTISAMPLE_ARRAY */ 1341 /* reuse GL_INT_IMAGE_1D */ 1342 /* reuse GL_INT_IMAGE_2D */ 1343 /* reuse GL_INT_IMAGE_3D */ 1344 /* reuse GL_INT_IMAGE_2D_RECT */ 1345 /* reuse GL_INT_IMAGE_CUBE */ 1346 /* reuse GL_INT_IMAGE_BUFFER */ 1347 /* reuse GL_INT_IMAGE_1D_ARRAY */ 1348 /* reuse GL_INT_IMAGE_2D_ARRAY */ 1349 /* reuse GL_INT_IMAGE_CUBE_MAP_ARRAY */ 1350 /* reuse GL_INT_IMAGE_2D_MULTISAMPLE */ 1351 /* reuse GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY */ 1352 /* reuse GL_UNSIGNED_INT_IMAGE_1D */ 1353 /* reuse GL_UNSIGNED_INT_IMAGE_2D */ 1354 /* reuse GL_UNSIGNED_INT_IMAGE_3D */ 1355 /* reuse GL_UNSIGNED_INT_IMAGE_2D_RECT */ 1356 /* reuse GL_UNSIGNED_INT_IMAGE_CUBE */ 1357 /* reuse GL_UNSIGNED_INT_IMAGE_BUFFER */ 1358 /* reuse GL_UNSIGNED_INT_IMAGE_1D_ARRAY */ 1359 /* reuse GL_UNSIGNED_INT_IMAGE_2D_ARRAY */ 1360 /* reuse GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY */ 1361 /* reuse GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE */ 1362 /* reuse GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY */ 1363 /* reuse GL_MAX_IMAGE_SAMPLES */ 1364 /* reuse GL_IMAGE_BINDING_FORMAT */ 1365 /* reuse GL_IMAGE_FORMAT_COMPATIBILITY_TYPE */ 1366 /* reuse GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE */ 1367 /* reuse GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS */ 1368 /* reuse GL_MAX_VERTEX_IMAGE_UNIFORMS */ 1369 /* reuse GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS */ 1370 /* reuse GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS */ 1371 /* reuse GL_MAX_GEOMETRY_IMAGE_UNIFORMS */ 1372 /* reuse GL_MAX_FRAGMENT_IMAGE_UNIFORMS */ 1373 /* reuse GL_MAX_COMBINED_IMAGE_UNIFORMS */ 1374 1375 /* Reuse tokens from ARB_shading_language_packing (none) */ 1376 1377 /* Reuse tokens from ARB_texture_storage */ 1378 1379 /* reuse GL_TEXTURE_IMMUTABLE_FORMAT */ 1380 } 1381 1382 enum // GL_VERSION_4_3 1383 { 1384 GL_NUM_SHADING_LANGUAGE_VERSIONS = 0x82E9, 1385 GL_VERTEX_ATTRIB_ARRAY_LONG = 0x874E, 1386 1387 /* Reuse tokens from ARB_arrays_of_arrays (none, GLSL only) */ 1388 1389 /* Reuse tokens from ARB_fragment_layer_viewport (none, GLSL only) */ 1390 1391 /* Reuse tokens from ARB_shader_image_size (none, GLSL only) */ 1392 1393 /* Reuse tokens from ARB_ES3_compatibility */ 1394 1395 /* reuse GL_COMPRESSED_RGB8_ETC2 */ 1396 /* reuse GL_COMPRESSED_SRGB8_ETC2 */ 1397 /* reuse GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 */ 1398 /* reuse GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 */ 1399 /* reuse GL_COMPRESSED_RGBA8_ETC2_EAC */ 1400 /* reuse GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC */ 1401 /* reuse GL_COMPRESSED_R11_EAC */ 1402 /* reuse GL_COMPRESSED_SIGNED_R11_EAC */ 1403 /* reuse GL_COMPRESSED_RG11_EAC */ 1404 /* reuse GL_COMPRESSED_SIGNED_RG11_EAC */ 1405 /* reuse GL_PRIMITIVE_RESTART_FIXED_INDEX */ 1406 /* reuse GL_ANY_SAMPLES_PASSED_CONSERVATIVE */ 1407 /* reuse GL_MAX_ELEMENT_INDEX */ 1408 1409 /* Reuse tokens from ARB_clear_buffer_object (none) */ 1410 1411 /* Reuse tokens from ARB_compute_shader */ 1412 1413 /* reuse GL_COMPUTE_SHADER */ 1414 /* reuse GL_MAX_COMPUTE_UNIFORM_BLOCKS */ 1415 /* reuse GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS */ 1416 /* reuse GL_MAX_COMPUTE_IMAGE_UNIFORMS */ 1417 /* reuse GL_MAX_COMPUTE_SHARED_MEMORY_SIZE */ 1418 /* reuse GL_MAX_COMPUTE_UNIFORM_COMPONENTS */ 1419 /* reuse GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS */ 1420 /* reuse GL_MAX_COMPUTE_ATOMIC_COUNTERS */ 1421 /* reuse GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS */ 1422 /* reuse GL_MAX_COMPUTE_LOCAL_INVOCATIONS */ 1423 /* reuse GL_MAX_COMPUTE_WORK_GROUP_COUNT */ 1424 /* reuse GL_MAX_COMPUTE_WORK_GROUP_SIZE */ 1425 /* reuse GL_COMPUTE_LOCAL_WORK_SIZE */ 1426 /* reuse GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER */ 1427 /* reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER */ 1428 /* reuse GL_DISPATCH_INDIRECT_BUFFER */ 1429 /* reuse GL_DISPATCH_INDIRECT_BUFFER_BINDING */ 1430 1431 /* Reuse tokens from ARB_copy_image (none) */ 1432 1433 /* Reuse tokens from KHR_debug */ 1434 1435 /* reuse GL_DEBUG_OUTPUT_SYNCHRONOUS */ 1436 /* reuse GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH */ 1437 /* reuse GL_DEBUG_CALLBACK_FUNCTION */ 1438 /* reuse GL_DEBUG_CALLBACK_USER_PARAM */ 1439 /* reuse GL_DEBUG_SOURCE_API */ 1440 /* reuse GL_DEBUG_SOURCE_WINDOW_SYSTEM */ 1441 /* reuse GL_DEBUG_SOURCE_SHADER_COMPILER */ 1442 /* reuse GL_DEBUG_SOURCE_THIRD_PARTY */ 1443 /* reuse GL_DEBUG_SOURCE_APPLICATION */ 1444 /* reuse GL_DEBUG_SOURCE_OTHER */ 1445 /* reuse GL_DEBUG_TYPE_ERROR */ 1446 /* reuse GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR */ 1447 /* reuse GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR */ 1448 /* reuse GL_DEBUG_TYPE_PORTABILITY */ 1449 /* reuse GL_DEBUG_TYPE_PERFORMANCE */ 1450 /* reuse GL_DEBUG_TYPE_OTHER */ 1451 /* reuse GL_MAX_DEBUG_MESSAGE_LENGTH */ 1452 /* reuse GL_MAX_DEBUG_LOGGED_MESSAGES */ 1453 /* reuse GL_DEBUG_LOGGED_MESSAGES */ 1454 /* reuse GL_DEBUG_SEVERITY_HIGH */ 1455 /* reuse GL_DEBUG_SEVERITY_MEDIUM */ 1456 /* reuse GL_DEBUG_SEVERITY_LOW */ 1457 /* reuse GL_DEBUG_TYPE_MARKER */ 1458 /* reuse GL_DEBUG_TYPE_PUSH_GROUP */ 1459 /* reuse GL_DEBUG_TYPE_POP_GROUP */ 1460 /* reuse GL_DEBUG_SEVERITY_NOTIFICATION */ 1461 /* reuse GL_MAX_DEBUG_GROUP_STACK_DEPTH */ 1462 /* reuse GL_DEBUG_GROUP_STACK_DEPTH */ 1463 /* reuse GL_BUFFER */ 1464 /* reuse GL_SHADER */ 1465 /* reuse GL_PROGRAM */ 1466 /* reuse GL_QUERY */ 1467 /* reuse GL_PROGRAM_PIPELINE */ 1468 /* reuse GL_SAMPLER */ 1469 /* reuse GL_DISPLAY_LIST */ 1470 /* reuse GL_MAX_LABEL_LENGTH */ 1471 /* reuse GL_DEBUG_OUTPUT */ 1472 /* reuse GL_CONTEXT_FLAG_DEBUG_BIT */ 1473 /* reuse GL_STACK_UNDERFLOW */ 1474 /* reuse GL_STACK_OVERFLOW */ 1475 1476 /* Reuse tokens from ARB_explicit_uniform_location */ 1477 1478 /* reuse GL_MAX_UNIFORM_LOCATIONS */ 1479 1480 /* Reuse tokens from ARB_framebuffer_no_attachments */ 1481 1482 /* reuse GL_FRAMEBUFFER_DEFAULT_WIDTH */ 1483 /* reuse GL_FRAMEBUFFER_DEFAULT_HEIGHT */ 1484 /* reuse GL_FRAMEBUFFER_DEFAULT_LAYERS */ 1485 /* reuse GL_FRAMEBUFFER_DEFAULT_SAMPLES */ 1486 /* reuse GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS */ 1487 /* reuse GL_MAX_FRAMEBUFFER_WIDTH */ 1488 /* reuse GL_MAX_FRAMEBUFFER_HEIGHT */ 1489 /* reuse GL_MAX_FRAMEBUFFER_LAYERS */ 1490 /* reuse GL_MAX_FRAMEBUFFER_SAMPLES */ 1491 1492 /* Reuse tokens from ARB_internalformat_query2 */ 1493 1494 /* reuse GL_INTERNALFORMAT_SUPPORTED */ 1495 /* reuse GL_INTERNALFORMAT_PREFERRED */ 1496 /* reuse GL_INTERNALFORMAT_RED_SIZE */ 1497 /* reuse GL_INTERNALFORMAT_GREEN_SIZE */ 1498 /* reuse GL_INTERNALFORMAT_BLUE_SIZE */ 1499 /* reuse GL_INTERNALFORMAT_ALPHA_SIZE */ 1500 /* reuse GL_INTERNALFORMAT_DEPTH_SIZE */ 1501 /* reuse GL_INTERNALFORMAT_STENCIL_SIZE */ 1502 /* reuse GL_INTERNALFORMAT_SHARED_SIZE */ 1503 /* reuse GL_INTERNALFORMAT_RED_TYPE */ 1504 /* reuse GL_INTERNALFORMAT_GREEN_TYPE */ 1505 /* reuse GL_INTERNALFORMAT_BLUE_TYPE */ 1506 /* reuse GL_INTERNALFORMAT_ALPHA_TYPE */ 1507 /* reuse GL_INTERNALFORMAT_DEPTH_TYPE */ 1508 /* reuse GL_INTERNALFORMAT_STENCIL_TYPE */ 1509 /* reuse GL_MAX_WIDTH */ 1510 /* reuse GL_MAX_HEIGHT */ 1511 /* reuse GL_MAX_DEPTH */ 1512 /* reuse GL_MAX_LAYERS */ 1513 /* reuse GL_MAX_COMBINED_DIMENSIONS */ 1514 /* reuse GL_COLOR_COMPONENTS */ 1515 /* reuse GL_DEPTH_COMPONENTS */ 1516 /* reuse GL_STENCIL_COMPONENTS */ 1517 /* reuse GL_COLOR_RENDERABLE */ 1518 /* reuse GL_DEPTH_RENDERABLE */ 1519 /* reuse GL_STENCIL_RENDERABLE */ 1520 /* reuse GL_FRAMEBUFFER_RENDERABLE */ 1521 /* reuse GL_FRAMEBUFFER_RENDERABLE_LAYERED */ 1522 /* reuse GL_FRAMEBUFFER_BLEND */ 1523 /* reuse GL_READ_PIXELS */ 1524 /* reuse GL_READ_PIXELS_FORMAT */ 1525 /* reuse GL_READ_PIXELS_TYPE */ 1526 /* reuse GL_TEXTURE_IMAGE_FORMAT */ 1527 /* reuse GL_TEXTURE_IMAGE_TYPE */ 1528 /* reuse GL_GET_TEXTURE_IMAGE_FORMAT */ 1529 /* reuse GL_GET_TEXTURE_IMAGE_TYPE */ 1530 /* reuse GL_MIPMAP */ 1531 /* reuse GL_MANUAL_GENERATE_MIPMAP */ 1532 /* reuse GL_AUTO_GENERATE_MIPMAP */ 1533 /* reuse GL_COLOR_ENCODING */ 1534 /* reuse GL_SRGB_READ */ 1535 /* reuse GL_SRGB_WRITE */ 1536 /* reuse GL_FILTER */ 1537 /* reuse GL_VERTEX_TEXTURE */ 1538 /* reuse GL_TESS_CONTROL_TEXTURE */ 1539 /* reuse GL_TESS_EVALUATION_TEXTURE */ 1540 /* reuse GL_GEOMETRY_TEXTURE */ 1541 /* reuse GL_FRAGMENT_TEXTURE */ 1542 /* reuse GL_COMPUTE_TEXTURE */ 1543 /* reuse GL_TEXTURE_SHADOW */ 1544 /* reuse GL_TEXTURE_GATHER */ 1545 /* reuse GL_TEXTURE_GATHER_SHADOW */ 1546 /* reuse GL_SHADER_IMAGE_LOAD */ 1547 /* reuse GL_SHADER_IMAGE_STORE */ 1548 /* reuse GL_SHADER_IMAGE_ATOMIC */ 1549 /* reuse GL_IMAGE_TEXEL_SIZE */ 1550 /* reuse GL_IMAGE_COMPATIBILITY_CLASS */ 1551 /* reuse GL_IMAGE_PIXEL_FORMAT */ 1552 /* reuse GL_IMAGE_PIXEL_TYPE */ 1553 /* reuse GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST */ 1554 /* reuse GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST */ 1555 /* reuse GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE */ 1556 /* reuse GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE */ 1557 /* reuse GL_TEXTURE_COMPRESSED_BLOCK_WIDTH */ 1558 /* reuse GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT */ 1559 /* reuse GL_TEXTURE_COMPRESSED_BLOCK_SIZE */ 1560 /* reuse GL_CLEAR_BUFFER */ 1561 /* reuse GL_TEXTURE_VIEW */ 1562 /* reuse GL_VIEW_COMPATIBILITY_CLASS */ 1563 /* reuse GL_FULL_SUPPORT */ 1564 /* reuse GL_CAVEAT_SUPPORT */ 1565 /* reuse GL_IMAGE_CLASS_4_X_32 */ 1566 /* reuse GL_IMAGE_CLASS_2_X_32 */ 1567 /* reuse GL_IMAGE_CLASS_1_X_32 */ 1568 /* reuse GL_IMAGE_CLASS_4_X_16 */ 1569 /* reuse GL_IMAGE_CLASS_2_X_16 */ 1570 /* reuse GL_IMAGE_CLASS_1_X_16 */ 1571 /* reuse GL_IMAGE_CLASS_4_X_8 */ 1572 /* reuse GL_IMAGE_CLASS_2_X_8 */ 1573 /* reuse GL_IMAGE_CLASS_1_X_8 */ 1574 /* reuse GL_IMAGE_CLASS_11_11_10 */ 1575 /* reuse GL_IMAGE_CLASS_10_10_10_2 */ 1576 /* reuse GL_VIEW_CLASS_128_BITS */ 1577 /* reuse GL_VIEW_CLASS_96_BITS */ 1578 /* reuse GL_VIEW_CLASS_64_BITS */ 1579 /* reuse GL_VIEW_CLASS_48_BITS */ 1580 /* reuse GL_VIEW_CLASS_32_BITS */ 1581 /* reuse GL_VIEW_CLASS_24_BITS */ 1582 /* reuse GL_VIEW_CLASS_16_BITS */ 1583 /* reuse GL_VIEW_CLASS_8_BITS */ 1584 /* reuse GL_VIEW_CLASS_S3TC_DXT1_RGB */ 1585 /* reuse GL_VIEW_CLASS_S3TC_DXT1_RGBA */ 1586 /* reuse GL_VIEW_CLASS_S3TC_DXT3_RGBA */ 1587 /* reuse GL_VIEW_CLASS_S3TC_DXT5_RGBA */ 1588 /* reuse GL_VIEW_CLASS_RGTC1_RED */ 1589 /* reuse GL_VIEW_CLASS_RGTC2_RG */ 1590 /* reuse GL_VIEW_CLASS_BPTC_UNORM */ 1591 /* reuse GL_VIEW_CLASS_BPTC_FLOAT */ 1592 1593 /* Reuse tokens from ARB_invalidate_subdata (none) */ 1594 1595 /* Reuse tokens from ARB_multi_draw_indirect (none) */ 1596 1597 /* Reuse tokens from ARB_program_interface_query */ 1598 1599 /* reuse GL_UNIFORM */ 1600 /* reuse GL_UNIFORM_BLOCK */ 1601 /* reuse GL_PROGRAM_INPUT */ 1602 /* reuse GL_PROGRAM_OUTPUT */ 1603 /* reuse GL_BUFFER_VARIABLE */ 1604 /* reuse GL_SHADER_STORAGE_BLOCK */ 1605 /* reuse GL_VERTEX_SUBROUTINE */ 1606 /* reuse GL_TESS_CONTROL_SUBROUTINE */ 1607 /* reuse GL_TESS_EVALUATION_SUBROUTINE */ 1608 /* reuse GL_GEOMETRY_SUBROUTINE */ 1609 /* reuse GL_FRAGMENT_SUBROUTINE */ 1610 /* reuse GL_COMPUTE_SUBROUTINE */ 1611 /* reuse GL_VERTEX_SUBROUTINE_UNIFORM */ 1612 /* reuse GL_TESS_CONTROL_SUBROUTINE_UNIFORM */ 1613 /* reuse GL_TESS_EVALUATION_SUBROUTINE_UNIFORM */ 1614 /* reuse GL_GEOMETRY_SUBROUTINE_UNIFORM */ 1615 /* reuse GL_FRAGMENT_SUBROUTINE_UNIFORM */ 1616 /* reuse GL_COMPUTE_SUBROUTINE_UNIFORM */ 1617 /* reuse GL_TRANSFORM_FEEDBACK_VARYING */ 1618 /* reuse GL_ACTIVE_RESOURCES */ 1619 /* reuse GL_MAX_NAME_LENGTH */ 1620 /* reuse GL_MAX_NUM_ACTIVE_VARIABLES */ 1621 /* reuse GL_MAX_NUM_COMPATIBLE_SUBROUTINES */ 1622 /* reuse GL_NAME_LENGTH */ 1623 /* reuse GL_TYPE */ 1624 /* reuse GL_ARRAY_SIZE */ 1625 /* reuse GL_OFFSET */ 1626 /* reuse GL_BLOCK_INDEX */ 1627 /* reuse GL_ARRAY_STRIDE */ 1628 /* reuse GL_MATRIX_STRIDE */ 1629 /* reuse GL_IS_ROW_MAJOR */ 1630 /* reuse GL_ATOMIC_COUNTER_BUFFER_INDEX */ 1631 /* reuse GL_BUFFER_BINDING */ 1632 /* reuse GL_BUFFER_DATA_SIZE */ 1633 /* reuse GL_NUM_ACTIVE_VARIABLES */ 1634 /* reuse GL_ACTIVE_VARIABLES */ 1635 /* reuse GL_REFERENCED_BY_VERTEX_SHADER */ 1636 /* reuse GL_REFERENCED_BY_TESS_CONTROL_SHADER */ 1637 /* reuse GL_REFERENCED_BY_TESS_EVALUATION_SHADER */ 1638 /* reuse GL_REFERENCED_BY_GEOMETRY_SHADER */ 1639 /* reuse GL_REFERENCED_BY_FRAGMENT_SHADER */ 1640 /* reuse GL_REFERENCED_BY_COMPUTE_SHADER */ 1641 /* reuse GL_TOP_LEVEL_ARRAY_SIZE */ 1642 /* reuse GL_TOP_LEVEL_ARRAY_STRIDE */ 1643 /* reuse GL_LOCATION */ 1644 /* reuse GL_LOCATION_INDEX */ 1645 /* reuse GL_IS_PER_PATCH */ 1646 1647 /* Reuse tokens from ARB_robust_buffer_access_behavior (none) */ 1648 1649 /* Reuse tokens from ARB_shader_storage_buffer_object */ 1650 1651 /* reuse GL_SHADER_STORAGE_BUFFER */ 1652 /* reuse GL_SHADER_STORAGE_BUFFER_BINDING */ 1653 /* reuse GL_SHADER_STORAGE_BUFFER_START */ 1654 /* reuse GL_SHADER_STORAGE_BUFFER_SIZE */ 1655 /* reuse GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS */ 1656 /* reuse GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS */ 1657 /* reuse GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS */ 1658 /* reuse GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS */ 1659 /* reuse GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS */ 1660 /* reuse GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS */ 1661 /* reuse GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS */ 1662 /* reuse GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS */ 1663 /* reuse GL_MAX_SHADER_STORAGE_BLOCK_SIZE */ 1664 /* reuse GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT */ 1665 /* reuse GL_SHADER_STORAGE_BARRIER_BIT */ 1666 /* reuse GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES */ 1667 1668 /* Reuse tokens from ARB_stencil_texturing */ 1669 1670 /* reuse GL_DEPTH_STENCIL_TEXTURE_MODE */ 1671 1672 /* Reuse tokens from ARB_texture_buffer_range */ 1673 1674 /* reuse GL_TEXTURE_BUFFER_OFFSET */ 1675 /* reuse GL_TEXTURE_BUFFER_SIZE */ 1676 /* reuse GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT */ 1677 1678 /* Reuse tokens from ARB_texture_query_levels (none) */ 1679 1680 /* Reuse tokens from ARB_texture_storage_multisample (none) */ 1681 1682 /* Reuse tokens from ARB_texture_view */ 1683 1684 /* reuse GL_TEXTURE_VIEW_MIN_LEVEL */ 1685 /* reuse GL_TEXTURE_VIEW_NUM_LEVELS */ 1686 /* reuse GL_TEXTURE_VIEW_MIN_LAYER */ 1687 /* reuse GL_TEXTURE_VIEW_NUM_LAYERS */ 1688 /* reuse GL_TEXTURE_IMMUTABLE_LEVELS */ 1689 1690 /* Reuse tokens from ARB_vertex_attrib_binding */ 1691 1692 /* reuse GL_VERTEX_ATTRIB_BINDING */ 1693 /* reuse GL_VERTEX_ATTRIB_RELATIVE_OFFSET */ 1694 /* reuse GL_VERTEX_BINDING_DIVISOR */ 1695 /* reuse GL_VERTEX_BINDING_OFFSET */ 1696 /* reuse GL_VERTEX_BINDING_STRIDE */ 1697 /* reuse GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET */ 1698 /* reuse GL_MAX_VERTEX_ATTRIB_BINDINGS */ 1699 } 1700 1701 enum // GL_ARB_imaging 1702 { 1703 GL_CONSTANT_COLOR = 0x8001, 1704 GL_ONE_MINUS_CONSTANT_COLOR = 0x8002, 1705 GL_CONSTANT_ALPHA = 0x8003, 1706 GL_ONE_MINUS_CONSTANT_ALPHA = 0x8004, 1707 GL_BLEND_COLOR = 0x8005, 1708 GL_FUNC_ADD = 0x8006, 1709 GL_MIN = 0x8007, 1710 GL_MAX = 0x8008, 1711 GL_BLEND_EQUATION = 0x8009, 1712 GL_FUNC_SUBTRACT = 0x800A, 1713 GL_FUNC_REVERSE_SUBTRACT = 0x800B, 1714 } 1715 1716 enum // GL_ARB_depth_buffer_float 1717 { 1718 GL_DEPTH_COMPONENT32F = 0x8CAC, 1719 GL_DEPTH32F_STENCIL8 = 0x8CAD, 1720 GL_FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD, 1721 } 1722 1723 enum // GL_ARB_framebuffer_object 1724 { 1725 GL_INVALID_FRAMEBUFFER_OPERATION = 0x0506, 1726 GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210, 1727 GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211, 1728 GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212, 1729 GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213, 1730 GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214, 1731 GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215, 1732 GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216, 1733 GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217, 1734 GL_FRAMEBUFFER_DEFAULT = 0x8218, 1735 GL_FRAMEBUFFER_UNDEFINED = 0x8219, 1736 GL_DEPTH_STENCIL_ATTACHMENT = 0x821A, 1737 GL_MAX_RENDERBUFFER_SIZE = 0x84E8, 1738 GL_DEPTH_STENCIL = 0x84F9, 1739 GL_UNSIGNED_INT_24_8 = 0x84FA, 1740 GL_DEPTH24_STENCIL8 = 0x88F0, 1741 GL_TEXTURE_STENCIL_SIZE = 0x88F1, 1742 GL_TEXTURE_RED_TYPE = 0x8C10, 1743 GL_TEXTURE_GREEN_TYPE = 0x8C11, 1744 GL_TEXTURE_BLUE_TYPE = 0x8C12, 1745 GL_TEXTURE_ALPHA_TYPE = 0x8C13, 1746 GL_TEXTURE_DEPTH_TYPE = 0x8C16, 1747 GL_UNSIGNED_NORMALIZED = 0x8C17, 1748 GL_FRAMEBUFFER_BINDING = 0x8CA6, 1749 GL_DRAW_FRAMEBUFFER_BINDING = GL_FRAMEBUFFER_BINDING, 1750 GL_RENDERBUFFER_BINDING = 0x8CA7, 1751 GL_READ_FRAMEBUFFER = 0x8CA8, 1752 GL_DRAW_FRAMEBUFFER = 0x8CA9, 1753 GL_READ_FRAMEBUFFER_BINDING = 0x8CAA, 1754 GL_RENDERBUFFER_SAMPLES = 0x8CAB, 1755 GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0, 1756 GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1, 1757 GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2, 1758 GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3, 1759 GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4, 1760 GL_FRAMEBUFFER_COMPLETE = 0x8CD5, 1761 GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6, 1762 GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7, 1763 GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = 0x8CDB, 1764 GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER = 0x8CDC, 1765 GL_FRAMEBUFFER_UNSUPPORTED = 0x8CDD, 1766 GL_MAX_COLOR_ATTACHMENTS = 0x8CDF, 1767 GL_COLOR_ATTACHMENT0 = 0x8CE0, 1768 GL_COLOR_ATTACHMENT1 = 0x8CE1, 1769 GL_COLOR_ATTACHMENT2 = 0x8CE2, 1770 GL_COLOR_ATTACHMENT3 = 0x8CE3, 1771 GL_COLOR_ATTACHMENT4 = 0x8CE4, 1772 GL_COLOR_ATTACHMENT5 = 0x8CE5, 1773 GL_COLOR_ATTACHMENT6 = 0x8CE6, 1774 GL_COLOR_ATTACHMENT7 = 0x8CE7, 1775 GL_COLOR_ATTACHMENT8 = 0x8CE8, 1776 GL_COLOR_ATTACHMENT9 = 0x8CE9, 1777 GL_COLOR_ATTACHMENT10 = 0x8CEA, 1778 GL_COLOR_ATTACHMENT11 = 0x8CEB, 1779 GL_COLOR_ATTACHMENT12 = 0x8CEC, 1780 GL_COLOR_ATTACHMENT13 = 0x8CED, 1781 GL_COLOR_ATTACHMENT14 = 0x8CEE, 1782 GL_COLOR_ATTACHMENT15 = 0x8CEF, 1783 GL_DEPTH_ATTACHMENT = 0x8D00, 1784 GL_STENCIL_ATTACHMENT = 0x8D20, 1785 GL_FRAMEBUFFER = 0x8D40, 1786 GL_RENDERBUFFER = 0x8D41, 1787 GL_RENDERBUFFER_WIDTH = 0x8D42, 1788 GL_RENDERBUFFER_HEIGHT = 0x8D43, 1789 GL_RENDERBUFFER_INTERNAL_FORMAT = 0x8D44, 1790 GL_STENCIL_INDEX1 = 0x8D46, 1791 GL_STENCIL_INDEX4 = 0x8D47, 1792 GL_STENCIL_INDEX8 = 0x8D48, 1793 GL_STENCIL_INDEX16 = 0x8D49, 1794 GL_RENDERBUFFER_RED_SIZE = 0x8D50, 1795 GL_RENDERBUFFER_GREEN_SIZE = 0x8D51, 1796 GL_RENDERBUFFER_BLUE_SIZE = 0x8D52, 1797 GL_RENDERBUFFER_ALPHA_SIZE = 0x8D53, 1798 GL_RENDERBUFFER_DEPTH_SIZE = 0x8D54, 1799 GL_RENDERBUFFER_STENCIL_SIZE = 0x8D55, 1800 GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56, 1801 GL_MAX_SAMPLES = 0x8D57, 1802 } 1803 1804 enum // GL_ARB_framebuffer_sRGB 1805 { 1806 GL_FRAMEBUFFER_SRGB = 0x8DB9, 1807 } 1808 1809 enum // GL_ARB_half_float_vertex 1810 { 1811 GL_HALF_FLOAT = 0x140B, 1812 } 1813 1814 enum // GL_ARB_map_buffer_range 1815 { 1816 GL_MAP_READ_BIT = 0x0001, 1817 GL_MAP_WRITE_BIT = 0x0002, 1818 GL_MAP_INVALIDATE_RANGE_BIT = 0x0004, 1819 GL_MAP_INVALIDATE_BUFFER_BIT = 0x0008, 1820 GL_MAP_FLUSH_EXPLICIT_BIT = 0x0010, 1821 GL_MAP_UNSYNCHRONIZED_BIT = 0x0020, 1822 } 1823 1824 enum // GL_ARB_texture_compression_rgtc 1825 { 1826 GL_COMPRESSED_RED_RGTC1 = 0x8DBB, 1827 GL_COMPRESSED_SIGNED_RED_RGTC1 = 0x8DBC, 1828 GL_COMPRESSED_RG_RGTC2 = 0x8DBD, 1829 GL_COMPRESSED_SIGNED_RG_RGTC2 = 0x8DBE, 1830 } 1831 1832 enum // GL_ARB_texture_rg 1833 { 1834 GL_RG = 0x8227, 1835 GL_RG_INTEGER = 0x8228, 1836 GL_R8 = 0x8229, 1837 GL_R16 = 0x822A, 1838 GL_RG8 = 0x822B, 1839 GL_RG16 = 0x822C, 1840 GL_R16F = 0x822D, 1841 GL_R32F = 0x822E, 1842 GL_RG16F = 0x822F, 1843 GL_RG32F = 0x8230, 1844 GL_R8I = 0x8231, 1845 GL_R8UI = 0x8232, 1846 GL_R16I = 0x8233, 1847 GL_R16UI = 0x8234, 1848 GL_R32I = 0x8235, 1849 GL_R32UI = 0x8236, 1850 GL_RG8I = 0x8237, 1851 GL_RG8UI = 0x8238, 1852 GL_RG16I = 0x8239, 1853 GL_RG16UI = 0x823A, 1854 GL_RG32I = 0x823B, 1855 GL_RG32UI = 0x823C, 1856 } 1857 1858 enum // GL_ARB_vertex_array_object 1859 { 1860 GL_VERTEX_ARRAY_BINDING = 0x85B5, 1861 } 1862 1863 enum // GL_ARB_uniform_buffer_object 1864 { 1865 GL_UNIFORM_BUFFER = 0x8A11, 1866 GL_UNIFORM_BUFFER_BINDING = 0x8A28, 1867 GL_UNIFORM_BUFFER_START = 0x8A29, 1868 GL_UNIFORM_BUFFER_SIZE = 0x8A2A, 1869 GL_MAX_VERTEX_UNIFORM_BLOCKS = 0x8A2B, 1870 GL_MAX_GEOMETRY_UNIFORM_BLOCKS = 0x8A2C, 1871 GL_MAX_FRAGMENT_UNIFORM_BLOCKS = 0x8A2D, 1872 GL_MAX_COMBINED_UNIFORM_BLOCKS = 0x8A2E, 1873 GL_MAX_UNIFORM_BUFFER_BINDINGS = 0x8A2F, 1874 GL_MAX_UNIFORM_BLOCK_SIZE = 0x8A30, 1875 GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 0x8A31, 1876 GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 0x8A32, 1877 GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 0x8A33, 1878 GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT = 0x8A34, 1879 GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = 0x8A35, 1880 GL_ACTIVE_UNIFORM_BLOCKS = 0x8A36, 1881 GL_UNIFORM_TYPE = 0x8A37, 1882 GL_UNIFORM_SIZE = 0x8A38, 1883 GL_UNIFORM_NAME_LENGTH = 0x8A39, 1884 GL_UNIFORM_BLOCK_INDEX = 0x8A3A, 1885 GL_UNIFORM_OFFSET = 0x8A3B, 1886 GL_UNIFORM_ARRAY_STRIDE = 0x8A3C, 1887 GL_UNIFORM_MATRIX_STRIDE = 0x8A3D, 1888 GL_UNIFORM_IS_ROW_MAJOR = 0x8A3E, 1889 GL_UNIFORM_BLOCK_BINDING = 0x8A3F, 1890 GL_UNIFORM_BLOCK_DATA_SIZE = 0x8A40, 1891 GL_UNIFORM_BLOCK_NAME_LENGTH = 0x8A41, 1892 GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS = 0x8A42, 1893 GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43, 1894 GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44, 1895 GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = 0x8A45, 1896 GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46, 1897 GL_INVALID_INDEX = 0xFFFFFFFFu, 1898 } 1899 1900 enum // GL_ARB_copy_buffer 1901 { 1902 GL_COPY_READ_BUFFER_BINDING = 0x8F36, 1903 GL_COPY_READ_BUFFER = GL_COPY_READ_BUFFER_BINDING, 1904 GL_COPY_WRITE_BUFFER_BINDING = 0x8F37, 1905 GL_COPY_WRITE_BUFFER = GL_COPY_WRITE_BUFFER_BINDING, 1906 } 1907 1908 enum // GL_ARB_depth_clamp 1909 { 1910 GL_DEPTH_CLAMP = 0x864F, 1911 } 1912 1913 version(none) 1914 enum // GL_ARB_draw_elements_base_vertex 1915 { 1916 } 1917 1918 version(none) 1919 enum // GL_ARB_fragment_coord_conventions 1920 { 1921 } 1922 1923 enum // GL_ARB_provoking_vertex 1924 { 1925 GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = 0x8E4C, 1926 GL_FIRST_VERTEX_CONVENTION = 0x8E4D, 1927 GL_LAST_VERTEX_CONVENTION = 0x8E4E, 1928 GL_PROVOKING_VERTEX = 0x8E4F, 1929 } 1930 1931 enum // GL_ARB_seamless_cube_map 1932 { 1933 GL_TEXTURE_CUBE_MAP_SEAMLESS = 0x884F, 1934 } 1935 1936 enum // GL_ARB_sync 1937 { 1938 GL_MAX_SERVER_WAIT_TIMEOUT = 0x9111, 1939 GL_OBJECT_TYPE = 0x9112, 1940 GL_SYNC_CONDITION = 0x9113, 1941 GL_SYNC_STATUS = 0x9114, 1942 GL_SYNC_FLAGS = 0x9115, 1943 GL_SYNC_FENCE = 0x9116, 1944 GL_SYNC_GPU_COMMANDS_COMPLETE = 0x9117, 1945 GL_UNSIGNALED = 0x9118, 1946 GL_SIGNALED = 0x9119, 1947 GL_ALREADY_SIGNALED = 0x911A, 1948 GL_TIMEOUT_EXPIRED = 0x911B, 1949 GL_CONDITION_SATISFIED = 0x911C, 1950 GL_WAIT_FAILED = 0x911D, 1951 GL_SYNC_FLUSH_COMMANDS_BIT = 0x00000001, 1952 GL_TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFFUL, 1953 } 1954 1955 enum // GL_ARB_texture_multisample 1956 { 1957 GL_SAMPLE_POSITION = 0x8E50, 1958 GL_SAMPLE_MASK = 0x8E51, 1959 GL_SAMPLE_MASK_VALUE = 0x8E52, 1960 GL_MAX_SAMPLE_MASK_WORDS = 0x8E59, 1961 GL_TEXTURE_2D_MULTISAMPLE = 0x9100, 1962 GL_PROXY_TEXTURE_2D_MULTISAMPLE = 0x9101, 1963 GL_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9102, 1964 GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9103, 1965 GL_TEXTURE_BINDING_2D_MULTISAMPLE = 0x9104, 1966 GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 0x9105, 1967 GL_TEXTURE_SAMPLES = 0x9106, 1968 GL_TEXTURE_FIXED_SAMPLE_LOCATIONS = 0x9107, 1969 GL_SAMPLER_2D_MULTISAMPLE = 0x9108, 1970 GL_INT_SAMPLER_2D_MULTISAMPLE = 0x9109, 1971 GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 0x910A, 1972 GL_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910B, 1973 GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910C, 1974 GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910D, 1975 GL_MAX_COLOR_TEXTURE_SAMPLES = 0x910E, 1976 GL_MAX_DEPTH_TEXTURE_SAMPLES = 0x910F, 1977 GL_MAX_INTEGER_SAMPLES = 0x9110, 1978 } 1979 1980 version(none) 1981 enum // GL_ARB_vertex_array_bgra 1982 { 1983 /* reuse GL_BGRA */ 1984 } 1985 1986 version(none) 1987 enum // GL_ARB_draw_buffers_blend 1988 { 1989 } 1990 1991 enum // GL_ARB_sample_shading 1992 { 1993 GL_SAMPLE_SHADING_ARB = 0x8C36, 1994 GL_MIN_SAMPLE_SHADING_VALUE_ARB = 0x8C37, 1995 } 1996 1997 enum // GL_ARB_texture_cube_map_array 1998 { 1999 GL_TEXTURE_CUBE_MAP_ARRAY_ARB = 0x9009, 2000 GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB = 0x900A, 2001 GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB = 0x900B, 2002 GL_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900C, 2003 GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB = 0x900D, 2004 GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900E, 2005 GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900F, 2006 } 2007 2008 enum // GL_ARB_texture_gather 2009 { 2010 GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5E, 2011 GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5F, 2012 GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB = 0x8F9F, 2013 } 2014 2015 version(none) 2016 enum // GL_ARB_texture_query_lod 2017 { 2018 } 2019 2020 enum // GL_ARB_shading_language_include 2021 { 2022 GL_SHADER_INCLUDE_ARB = 0x8DAE, 2023 GL_NAMED_STRING_LENGTH_ARB = 0x8DE9, 2024 GL_NAMED_STRING_TYPE_ARB = 0x8DEA, 2025 } 2026 2027 enum // GL_ARB_texture_compression_bptc 2028 { 2029 GL_COMPRESSED_RGBA_BPTC_UNORM_ARB = 0x8E8C, 2030 GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB = 0x8E8D, 2031 GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB = 0x8E8E, 2032 GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB = 0x8E8F, 2033 } 2034 2035 enum // GL_ARB_blend_func_extended 2036 { 2037 GL_SRC1_COLOR = 0x88F9, 2038 /* reuse GL_SRC1_ALPHA */ 2039 GL_ONE_MINUS_SRC1_COLOR = 0x88FA, 2040 GL_ONE_MINUS_SRC1_ALPHA = 0x88FB, 2041 GL_MAX_DUAL_SOURCE_DRAW_BUFFERS = 0x88FC, 2042 } 2043 2044 version(none) 2045 enum // GL_ARB_explicit_attrib_location 2046 { 2047 } 2048 2049 enum // GL_ARB_occlusion_query2 2050 { 2051 GL_ANY_SAMPLES_PASSED = 0x8C2F, 2052 } 2053 2054 enum // GL_ARB_sampler_objects 2055 { 2056 GL_SAMPLER_BINDING = 0x8919, 2057 } 2058 2059 version(none) 2060 enum // GL_ARB_shader_bit_encoding 2061 { 2062 } 2063 2064 enum // GL_ARB_texture_rgb10_a2ui 2065 { 2066 GL_RGB10_A2UI = 0x906F, 2067 } 2068 2069 enum // GL_ARB_texture_swizzle 2070 { 2071 GL_TEXTURE_SWIZZLE_R = 0x8E42, 2072 GL_TEXTURE_SWIZZLE_G = 0x8E43, 2073 GL_TEXTURE_SWIZZLE_B = 0x8E44, 2074 GL_TEXTURE_SWIZZLE_A = 0x8E45, 2075 GL_TEXTURE_SWIZZLE_RGBA = 0x8E46, 2076 } 2077 2078 enum // GL_ARB_timer_query 2079 { 2080 GL_TIME_ELAPSED = 0x88BF, 2081 GL_TIMESTAMP = 0x8E28, 2082 } 2083 2084 enum // GL_ARB_vertex_type_2_10_10_10_rev 2085 { 2086 /* reuse GL_UNSIGNED_INT_2_10_10_10_REV */ 2087 2088 GL_INT_2_10_10_10_REV = 0x8D9F, 2089 } 2090 2091 enum // GL_ARB_draw_indirect 2092 { 2093 GL_DRAW_INDIRECT_BUFFER = 0x8F3F, 2094 GL_DRAW_INDIRECT_BUFFER_BINDING = 0x8F43, 2095 } 2096 2097 enum // GL_ARB_gpu_shader5 2098 { 2099 GL_GEOMETRY_SHADER_INVOCATIONS = 0x887F, 2100 GL_MAX_GEOMETRY_SHADER_INVOCATIONS = 0x8E5A, 2101 GL_MIN_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5B, 2102 GL_MAX_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5C, 2103 GL_FRAGMENT_INTERPOLATION_OFFSET_BITS = 0x8E5D, 2104 /* reuse GL_MAX_VERTEX_STREAMS */ 2105 } 2106 2107 enum // GL_ARB_gpu_shader_fp64 2108 { 2109 /* reuse GL_DOUBLE */ 2110 2111 GL_DOUBLE_VEC2 = 0x8FFC, 2112 GL_DOUBLE_VEC3 = 0x8FFD, 2113 GL_DOUBLE_VEC4 = 0x8FFE, 2114 GL_DOUBLE_MAT2 = 0x8F46, 2115 GL_DOUBLE_MAT3 = 0x8F47, 2116 GL_DOUBLE_MAT4 = 0x8F48, 2117 GL_DOUBLE_MAT2x3 = 0x8F49, 2118 GL_DOUBLE_MAT2x4 = 0x8F4A, 2119 GL_DOUBLE_MAT3x2 = 0x8F4B, 2120 GL_DOUBLE_MAT3x4 = 0x8F4C, 2121 GL_DOUBLE_MAT4x2 = 0x8F4D, 2122 GL_DOUBLE_MAT4x3 = 0x8F4E, 2123 } 2124 2125 enum // GL_ARB_shader_subroutine 2126 { 2127 GL_ACTIVE_SUBROUTINES = 0x8DE5, 2128 GL_ACTIVE_SUBROUTINE_UNIFORMS = 0x8DE6, 2129 GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS = 0x8E47, 2130 GL_ACTIVE_SUBROUTINE_MAX_LENGTH = 0x8E48, 2131 GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH = 0x8E49, 2132 GL_MAX_SUBROUTINES = 0x8DE7, 2133 GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS = 0x8DE8, 2134 GL_NUM_COMPATIBLE_SUBROUTINES = 0x8E4A, 2135 GL_COMPATIBLE_SUBROUTINES = 0x8E4B, 2136 2137 /* reuse GL_UNIFORM_SIZE */ 2138 /* reuse GL_UNIFORM_NAME_LENGTH */ 2139 } 2140 2141 enum // GL_ARB_tessellation_shader 2142 { 2143 GL_PATCHES = 0x000E, 2144 GL_PATCH_VERTICES = 0x8E72, 2145 GL_PATCH_DEFAULT_INNER_LEVEL = 0x8E73, 2146 GL_PATCH_DEFAULT_OUTER_LEVEL = 0x8E74, 2147 GL_TESS_CONTROL_OUTPUT_VERTICES = 0x8E75, 2148 GL_TESS_GEN_MODE = 0x8E76, 2149 GL_TESS_GEN_SPACING = 0x8E77, 2150 GL_TESS_GEN_VERTEX_ORDER = 0x8E78, 2151 GL_TESS_GEN_POINT_MODE = 0x8E79, 2152 2153 /* reuse GL_TRIANGLES */ 2154 /* reuse GL_QUADS */ 2155 2156 GL_ISOLINES = 0x8E7A, 2157 2158 /* reuse GL_EQUAL */ 2159 2160 GL_FRACTIONAL_ODD = 0x8E7B, 2161 GL_FRACTIONAL_EVEN = 0x8E7C, 2162 2163 /* reuse GL_CCW */ 2164 /* reuse GL_CW */ 2165 2166 GL_MAX_PATCH_VERTICES = 0x8E7D, 2167 GL_MAX_TESS_GEN_LEVEL = 0x8E7E, 2168 GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E7F, 2169 GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E80, 2170 GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = 0x8E81, 2171 GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = 0x8E82, 2172 GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS = 0x8E83, 2173 GL_MAX_TESS_PATCH_COMPONENTS = 0x8E84, 2174 GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = 0x8E85, 2175 GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = 0x8E86, 2176 GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS = 0x8E89, 2177 GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS = 0x8E8A, 2178 GL_MAX_TESS_CONTROL_INPUT_COMPONENTS = 0x886C, 2179 GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS = 0x886D, 2180 GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E1E, 2181 GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E1F, 2182 GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER = 0x84F0, 2183 GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x84F1, 2184 GL_TESS_EVALUATION_SHADER = 0x8E87, 2185 GL_TESS_CONTROL_SHADER = 0x8E88, 2186 } 2187 2188 version(none) 2189 enum // GL_ARB_texture_buffer_object_rgb32 2190 { 2191 /* reuse GL_RGB32F */ 2192 /* reuse GL_RGB32UI */ 2193 /* reuse GL_RGB32I */ 2194 } 2195 2196 enum // GL_ARB_transform_feedback2 2197 { 2198 GL_TRANSFORM_FEEDBACK = 0x8E22, 2199 GL_TRANSFORM_FEEDBACK_PAUSED = 0x8E23, 2200 GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED = GL_TRANSFORM_FEEDBACK_PAUSED, 2201 GL_TRANSFORM_FEEDBACK_ACTIVE = 0x8E24, 2202 GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE = GL_TRANSFORM_FEEDBACK_ACTIVE, 2203 GL_TRANSFORM_FEEDBACK_BINDING = 0x8E25, 2204 } 2205 2206 enum // GL_ARB_transform_feedback3 2207 { 2208 GL_MAX_TRANSFORM_FEEDBACK_BUFFERS = 0x8E70, 2209 GL_MAX_VERTEX_STREAMS = 0x8E71, 2210 } 2211 2212 enum // GL_ARB_ES2_compatibility 2213 { 2214 GL_FIXED = 0x140C, 2215 GL_IMPLEMENTATION_COLOR_READ_TYPE = 0x8B9A, 2216 GL_IMPLEMENTATION_COLOR_READ_FORMAT = 0x8B9B, 2217 GL_LOW_FLOAT = 0x8DF0, 2218 GL_MEDIUM_FLOAT = 0x8DF1, 2219 GL_HIGH_FLOAT = 0x8DF2, 2220 GL_LOW_INT = 0x8DF3, 2221 GL_MEDIUM_INT = 0x8DF4, 2222 GL_HIGH_INT = 0x8DF5, 2223 GL_SHADER_COMPILER = 0x8DFA, 2224 GL_SHADER_BINARY_FORMATS = 0x8DF8, 2225 GL_NUM_SHADER_BINARY_FORMATS = 0x8DF9, 2226 GL_MAX_VERTEX_UNIFORM_VECTORS = 0x8DFB, 2227 GL_MAX_VARYING_VECTORS = 0x8DFC, 2228 GL_MAX_FRAGMENT_UNIFORM_VECTORS = 0x8DFD, 2229 GL_RGB565 = 0x8D62, 2230 } 2231 2232 enum // GL_ARB_get_program_binary 2233 { 2234 GL_PROGRAM_BINARY_RETRIEVABLE_HINT = 0x8257, 2235 GL_PROGRAM_BINARY_LENGTH = 0x8741, 2236 GL_NUM_PROGRAM_BINARY_FORMATS = 0x87FE, 2237 GL_PROGRAM_BINARY_FORMATS = 0x87FF, 2238 } 2239 2240 enum // GL_ARB_separate_shader_objects 2241 { 2242 GL_VERTEX_SHADER_BIT = 0x00000001, 2243 GL_FRAGMENT_SHADER_BIT = 0x00000002, 2244 GL_GEOMETRY_SHADER_BIT = 0x00000004, 2245 GL_TESS_CONTROL_SHADER_BIT = 0x00000008, 2246 GL_TESS_EVALUATION_SHADER_BIT = 0x00000010, 2247 GL_ALL_SHADER_BITS = 0xFFFFFFFF, 2248 GL_PROGRAM_SEPARABLE = 0x8258, 2249 GL_ACTIVE_PROGRAM = 0x8259, 2250 GL_PROGRAM_PIPELINE_BINDING = 0x825A, 2251 } 2252 2253 version(none) 2254 enum // GL_ARB_shader_precision 2255 { 2256 } 2257 2258 version(none) 2259 enum // GL_ARB_vertex_attrib_64bit 2260 { 2261 /* reuse GL_RGB32I */ 2262 /* reuse GL_DOUBLE_VEC2 */ 2263 /* reuse GL_DOUBLE_VEC3 */ 2264 /* reuse GL_DOUBLE_VEC4 */ 2265 /* reuse GL_DOUBLE_MAT2 */ 2266 /* reuse GL_DOUBLE_MAT3 */ 2267 /* reuse GL_DOUBLE_MAT4 */ 2268 /* reuse GL_DOUBLE_MAT2x3 */ 2269 /* reuse GL_DOUBLE_MAT2x4 */ 2270 /* reuse GL_DOUBLE_MAT3x2 */ 2271 /* reuse GL_DOUBLE_MAT3x4 */ 2272 /* reuse GL_DOUBLE_MAT4x2 */ 2273 /* reuse GL_DOUBLE_MAT4x3 */ 2274 } 2275 2276 enum // GL_ARB_viewport_array 2277 { 2278 /* reuse GL_SCISSOR_BOX */ 2279 /* reuse GL_VIEWPORT */ 2280 /* reuse GL_DEPTH_RANGE */ 2281 /* reuse GL_SCISSOR_TEST */ 2282 2283 GL_MAX_VIEWPORTS = 0x825B, 2284 GL_VIEWPORT_SUBPIXEL_BITS = 0x825C, 2285 GL_VIEWPORT_BOUNDS_RANGE = 0x825D, 2286 GL_LAYER_PROVOKING_VERTEX = 0x825E, 2287 GL_VIEWPORT_INDEX_PROVOKING_VERTEX = 0x825F, 2288 GL_UNDEFINED_VERTEX = 0x8260, 2289 2290 /* reuse GL_FIRST_VERTEX_CONVENTION */ 2291 /* reuse GL_LAST_VERTEX_CONVENTION */ 2292 /* reuse GL_PROVOKING_VERTEX */ 2293 } 2294 2295 enum // GL_ARB_cl_event 2296 { 2297 GL_SYNC_CL_EVENT_ARB = 0x8240, 2298 GL_SYNC_CL_EVENT_COMPLETE_ARB = 0x8241, 2299 } 2300 2301 enum // GL_ARB_debug_output 2302 { 2303 GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB = 0x8242, 2304 GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB = 0x8243, 2305 GL_DEBUG_CALLBACK_FUNCTION_ARB = 0x8244, 2306 GL_DEBUG_CALLBACK_USER_PARAM_ARB = 0x8245, 2307 GL_DEBUG_SOURCE_API_ARB = 0x8246, 2308 GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB = 0x8247, 2309 GL_DEBUG_SOURCE_SHADER_COMPILER_ARB = 0x8248, 2310 GL_DEBUG_SOURCE_THIRD_PARTY_ARB = 0x8249, 2311 GL_DEBUG_SOURCE_APPLICATION_ARB = 0x824A, 2312 GL_DEBUG_SOURCE_OTHER_ARB = 0x824B, 2313 GL_DEBUG_TYPE_ERROR_ARB = 0x824C, 2314 GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB = 0x824D, 2315 GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB = 0x824E, 2316 GL_DEBUG_TYPE_PORTABILITY_ARB = 0x824F, 2317 GL_DEBUG_TYPE_PERFORMANCE_ARB = 0x8250, 2318 GL_DEBUG_TYPE_OTHER_ARB = 0x8251, 2319 GL_MAX_DEBUG_MESSAGE_LENGTH_ARB = 0x9143, 2320 GL_MAX_DEBUG_LOGGED_MESSAGES_ARB = 0x9144, 2321 GL_DEBUG_LOGGED_MESSAGES_ARB = 0x9145, 2322 GL_DEBUG_SEVERITY_HIGH_ARB = 0x9146, 2323 GL_DEBUG_SEVERITY_MEDIUM_ARB = 0x9147, 2324 GL_DEBUG_SEVERITY_LOW_ARB = 0x9148, 2325 } 2326 2327 enum // GL_ARB_robustness 2328 { 2329 /* reuse GL_NO_ERROR */ 2330 2331 GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB = 0x00000004, 2332 GL_LOSE_CONTEXT_ON_RESET_ARB = 0x8252, 2333 GL_GUILTY_CONTEXT_RESET_ARB = 0x8253, 2334 GL_INNOCENT_CONTEXT_RESET_ARB = 0x8254, 2335 GL_UNKNOWN_CONTEXT_RESET_ARB = 0x8255, 2336 GL_RESET_NOTIFICATION_STRATEGY_ARB = 0x8256, 2337 GL_NO_RESET_NOTIFICATION_ARB = 0x8261, 2338 } 2339 2340 version(none) 2341 enum // GL_ARB_shader_stencil_export 2342 { 2343 } 2344 2345 version(none) 2346 enum // GL_ARB_base_instance 2347 { 2348 } 2349 2350 version(none) 2351 enum // GL_ARB_shading_language_420pack 2352 { 2353 } 2354 2355 version(none) 2356 enum // GL_ARB_transform_feedback_instanced 2357 { 2358 } 2359 2360 enum // GL_ARB_compressed_texture_pixel_storage 2361 { 2362 GL_UNPACK_COMPRESSED_BLOCK_WIDTH = 0x9127, 2363 GL_UNPACK_COMPRESSED_BLOCK_HEIGHT = 0x9128, 2364 GL_UNPACK_COMPRESSED_BLOCK_DEPTH = 0x9129, 2365 GL_UNPACK_COMPRESSED_BLOCK_SIZE = 0x912A, 2366 GL_PACK_COMPRESSED_BLOCK_WIDTH = 0x912B, 2367 GL_PACK_COMPRESSED_BLOCK_HEIGHT = 0x912C, 2368 GL_PACK_COMPRESSED_BLOCK_DEPTH = 0x912D, 2369 GL_PACK_COMPRESSED_BLOCK_SIZE = 0x912E, 2370 } 2371 2372 version(none) 2373 enum // GL_ARB_conservative_depth 2374 { 2375 } 2376 2377 enum // GL_ARB_internalformat_query 2378 { 2379 GL_NUM_SAMPLE_COUNTS = 0x9380, 2380 } 2381 2382 enum // GL_ARB_map_buffer_alignment 2383 { 2384 GL_MIN_MAP_BUFFER_ALIGNMENT = 0x90BC, 2385 } 2386 2387 enum // GL_ARB_shader_atomic_counters 2388 { 2389 GL_ATOMIC_COUNTER_BUFFER = 0x92C0, 2390 GL_ATOMIC_COUNTER_BUFFER_BINDING = 0x92C1, 2391 GL_ATOMIC_COUNTER_BUFFER_START = 0x92C2, 2392 GL_ATOMIC_COUNTER_BUFFER_SIZE = 0x92C3, 2393 GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE = 0x92C4, 2394 GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS = 0x92C5, 2395 GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES = 0x92C6, 2396 GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER = 0x92C7, 2397 GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER = 0x92C8, 2398 GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x92C9, 2399 GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER = 0x92CA, 2400 GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER = 0x92CB, 2401 GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = 0x92CC, 2402 GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = 0x92CD, 2403 GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = 0x92CE, 2404 GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = 0x92CF, 2405 GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = 0x92D0, 2406 GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = 0x92D1, 2407 GL_MAX_VERTEX_ATOMIC_COUNTERS = 0x92D2, 2408 GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS = 0x92D3, 2409 GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS = 0x92D4, 2410 GL_MAX_GEOMETRY_ATOMIC_COUNTERS = 0x92D5, 2411 GL_MAX_FRAGMENT_ATOMIC_COUNTERS = 0x92D6, 2412 GL_MAX_COMBINED_ATOMIC_COUNTERS = 0x92D7, 2413 GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE = 0x92D8, 2414 GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = 0x92DC, 2415 GL_ACTIVE_ATOMIC_COUNTER_BUFFERS = 0x92D9, 2416 GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX = 0x92DA, 2417 GL_UNSIGNED_INT_ATOMIC_COUNTER = 0x92DB, 2418 } 2419 2420 enum // GL_ARB_shader_image_load_store 2421 { 2422 GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT = 0x00000001, 2423 GL_ELEMENT_ARRAY_BARRIER_BIT = 0x00000002, 2424 GL_UNIFORM_BARRIER_BIT = 0x00000004, 2425 GL_TEXTURE_FETCH_BARRIER_BIT = 0x00000008, 2426 GL_SHADER_IMAGE_ACCESS_BARRIER_BIT = 0x00000020, 2427 GL_COMMAND_BARRIER_BIT = 0x00000040, 2428 GL_PIXEL_BUFFER_BARRIER_BIT = 0x00000080, 2429 GL_TEXTURE_UPDATE_BARRIER_BIT = 0x00000100, 2430 GL_BUFFER_UPDATE_BARRIER_BIT = 0x00000200, 2431 GL_FRAMEBUFFER_BARRIER_BIT = 0x00000400, 2432 GL_TRANSFORM_FEEDBACK_BARRIER_BIT = 0x00000800, 2433 GL_ATOMIC_COUNTER_BARRIER_BIT = 0x00001000, 2434 GL_ALL_BARRIER_BITS = 0xFFFFFFFF, 2435 GL_MAX_IMAGE_UNITS = 0x8F38, 2436 GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS = 0x8F39, 2437 GL_IMAGE_BINDING_NAME = 0x8F3A, 2438 GL_IMAGE_BINDING_LEVEL = 0x8F3B, 2439 GL_IMAGE_BINDING_LAYERED = 0x8F3C, 2440 GL_IMAGE_BINDING_LAYER = 0x8F3D, 2441 GL_IMAGE_BINDING_ACCESS = 0x8F3E, 2442 GL_IMAGE_1D = 0x904C, 2443 GL_IMAGE_2D = 0x904D, 2444 GL_IMAGE_3D = 0x904E, 2445 GL_IMAGE_2D_RECT = 0x904F, 2446 GL_IMAGE_CUBE = 0x9050, 2447 GL_IMAGE_BUFFER = 0x9051, 2448 GL_IMAGE_1D_ARRAY = 0x9052, 2449 GL_IMAGE_2D_ARRAY = 0x9053, 2450 GL_IMAGE_CUBE_MAP_ARRAY = 0x9054, 2451 GL_IMAGE_2D_MULTISAMPLE = 0x9055, 2452 GL_IMAGE_2D_MULTISAMPLE_ARRAY = 0x9056, 2453 GL_INT_IMAGE_1D = 0x9057, 2454 GL_INT_IMAGE_2D = 0x9058, 2455 GL_INT_IMAGE_3D = 0x9059, 2456 GL_INT_IMAGE_2D_RECT = 0x905A, 2457 GL_INT_IMAGE_CUBE = 0x905B, 2458 GL_INT_IMAGE_BUFFER = 0x905C, 2459 GL_INT_IMAGE_1D_ARRAY = 0x905D, 2460 GL_INT_IMAGE_2D_ARRAY = 0x905E, 2461 GL_INT_IMAGE_CUBE_MAP_ARRAY = 0x905F, 2462 GL_INT_IMAGE_2D_MULTISAMPLE = 0x9060, 2463 GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x9061, 2464 GL_UNSIGNED_INT_IMAGE_1D = 0x9062, 2465 GL_UNSIGNED_INT_IMAGE_2D = 0x9063, 2466 GL_UNSIGNED_INT_IMAGE_3D = 0x9064, 2467 GL_UNSIGNED_INT_IMAGE_2D_RECT = 0x9065, 2468 GL_UNSIGNED_INT_IMAGE_CUBE = 0x9066, 2469 GL_UNSIGNED_INT_IMAGE_BUFFER = 0x9067, 2470 GL_UNSIGNED_INT_IMAGE_1D_ARRAY = 0x9068, 2471 GL_UNSIGNED_INT_IMAGE_2D_ARRAY = 0x9069, 2472 GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = 0x906A, 2473 GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE = 0x906B, 2474 GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x906C, 2475 GL_MAX_IMAGE_SAMPLES = 0x906D, 2476 GL_IMAGE_BINDING_FORMAT = 0x906E, 2477 GL_IMAGE_FORMAT_COMPATIBILITY_TYPE = 0x90C7, 2478 GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = 0x90C8, 2479 GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = 0x90C9, 2480 GL_MAX_VERTEX_IMAGE_UNIFORMS = 0x90CA, 2481 GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS = 0x90CB, 2482 GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS = 0x90CC, 2483 GL_MAX_GEOMETRY_IMAGE_UNIFORMS = 0x90CD, 2484 GL_MAX_FRAGMENT_IMAGE_UNIFORMS = 0x90CE, 2485 GL_MAX_COMBINED_IMAGE_UNIFORMS = 0x90CF, 2486 } 2487 2488 version(none) 2489 enum // GL_ARB_shading_language_packing 2490 { 2491 } 2492 2493 enum // GL_ARB_texture_storage 2494 { 2495 GL_TEXTURE_IMMUTABLE_FORMAT = 0x912F, 2496 } 2497 2498 enum // GL_KHR_texture_compression_astc_ldr 2499 { 2500 GL_COMPRESSED_RGBA_ASTC_4x4_KHR = 0x93B0, 2501 GL_COMPRESSED_RGBA_ASTC_5x4_KHR = 0x93B1, 2502 GL_COMPRESSED_RGBA_ASTC_5x5_KHR = 0x93B2, 2503 GL_COMPRESSED_RGBA_ASTC_6x5_KHR = 0x93B3, 2504 GL_COMPRESSED_RGBA_ASTC_6x6_KHR = 0x93B4, 2505 GL_COMPRESSED_RGBA_ASTC_8x5_KHR = 0x93B5, 2506 GL_COMPRESSED_RGBA_ASTC_8x6_KHR = 0x93B6, 2507 GL_COMPRESSED_RGBA_ASTC_8x8_KHR = 0x93B7, 2508 GL_COMPRESSED_RGBA_ASTC_10x5_KHR = 0x93B8, 2509 GL_COMPRESSED_RGBA_ASTC_10x6_KHR = 0x93B9, 2510 GL_COMPRESSED_RGBA_ASTC_10x8_KHR = 0x93BA, 2511 GL_COMPRESSED_RGBA_ASTC_10x10_KHR = 0x93BB, 2512 GL_COMPRESSED_RGBA_ASTC_12x10_KHR = 0x93BC, 2513 GL_COMPRESSED_RGBA_ASTC_12x12_KHR = 0x93BD, 2514 GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR = 0x93D0, 2515 GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR = 0x93D1, 2516 GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR = 0x93D2, 2517 GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR = 0x93D3, 2518 GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR = 0x93D4, 2519 GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = 0x93D5, 2520 GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = 0x93D6, 2521 GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR = 0x93D7, 2522 GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = 0x93D8, 2523 GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = 0x93D9, 2524 GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = 0x93DA, 2525 GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = 0x93DB, 2526 GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = 0x93DC, 2527 GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = 0x93DD, 2528 } 2529 2530 enum // GL_KHR_debug 2531 { 2532 GL_DEBUG_OUTPUT_SYNCHRONOUS = 0x8242, 2533 GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = 0x8243, 2534 GL_DEBUG_CALLBACK_FUNCTION = 0x8244, 2535 GL_DEBUG_CALLBACK_USER_PARAM = 0x8245, 2536 GL_DEBUG_SOURCE_API = 0x8246, 2537 GL_DEBUG_SOURCE_WINDOW_SYSTEM = 0x8247, 2538 GL_DEBUG_SOURCE_SHADER_COMPILER = 0x8248, 2539 GL_DEBUG_SOURCE_THIRD_PARTY = 0x8249, 2540 GL_DEBUG_SOURCE_APPLICATION = 0x824A, 2541 GL_DEBUG_SOURCE_OTHER = 0x824B, 2542 GL_DEBUG_TYPE_ERROR = 0x824C, 2543 GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR = 0x824D, 2544 GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR = 0x824E, 2545 GL_DEBUG_TYPE_PORTABILITY = 0x824F, 2546 GL_DEBUG_TYPE_PERFORMANCE = 0x8250, 2547 GL_DEBUG_TYPE_OTHER = 0x8251, 2548 GL_DEBUG_TYPE_MARKER = 0x8268, 2549 GL_DEBUG_TYPE_PUSH_GROUP = 0x8269, 2550 GL_DEBUG_TYPE_POP_GROUP = 0x826A, 2551 GL_DEBUG_SEVERITY_NOTIFICATION = 0x826B, 2552 GL_MAX_DEBUG_GROUP_STACK_DEPTH = 0x826C, 2553 GL_DEBUG_GROUP_STACK_DEPTH = 0x826D, 2554 GL_BUFFER = 0x82E0, 2555 GL_SHADER = 0x82E1, 2556 GL_PROGRAM = 0x82E2, 2557 GL_QUERY = 0x82E3, 2558 GL_PROGRAM_PIPELINE = 0x82E4, 2559 GL_SAMPLER = 0x82E6, 2560 GL_DISPLAY_LIST = 0x82E7, 2561 2562 /* DISPLAY_LIST used in compatibility profile only */ 2563 2564 GL_MAX_LABEL_LENGTH = 0x82E8, 2565 GL_MAX_DEBUG_MESSAGE_LENGTH = 0x9143, 2566 GL_MAX_DEBUG_LOGGED_MESSAGES = 0x9144, 2567 GL_DEBUG_LOGGED_MESSAGES = 0x9145, 2568 GL_DEBUG_SEVERITY_HIGH = 0x9146, 2569 GL_DEBUG_SEVERITY_MEDIUM = 0x9147, 2570 GL_DEBUG_SEVERITY_LOW = 0x9148, 2571 GL_DEBUG_OUTPUT = 0x92E0, 2572 GL_CONTEXT_FLAG_DEBUG_BIT = 0x00000002, 2573 2574 /* reuse GL_STACK_UNDERFLOW */ 2575 /* reuse GL_STACK_OVERFLOW */ 2576 } 2577 2578 version(none) 2579 enum // GL_ARB_arrays_of_arrays 2580 { 2581 } 2582 2583 version(none) 2584 enum // GL_ARB_clear_buffer_object 2585 { 2586 } 2587 2588 enum // GL_ARB_compute_shader 2589 { 2590 GL_COMPUTE_SHADER = 0x91B9, 2591 GL_MAX_COMPUTE_UNIFORM_BLOCKS = 0x91BB, 2592 GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = 0x91BC, 2593 GL_MAX_COMPUTE_IMAGE_UNIFORMS = 0x91BD, 2594 GL_MAX_COMPUTE_SHARED_MEMORY_SIZE = 0x8262, 2595 GL_MAX_COMPUTE_UNIFORM_COMPONENTS = 0x8263, 2596 GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = 0x8264, 2597 GL_MAX_COMPUTE_ATOMIC_COUNTERS = 0x8265, 2598 GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = 0x8266, 2599 GL_MAX_COMPUTE_LOCAL_INVOCATIONS = 0x90EB, 2600 GL_MAX_COMPUTE_WORK_GROUP_COUNT = 0x91BE, 2601 GL_MAX_COMPUTE_WORK_GROUP_SIZE = 0x91BF, 2602 GL_COMPUTE_LOCAL_WORK_SIZE = 0x8267, 2603 GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER = 0x90EC, 2604 GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER = 0x90ED, 2605 GL_DISPATCH_INDIRECT_BUFFER = 0x90EE, 2606 GL_DISPATCH_INDIRECT_BUFFER_BINDING = 0x90EF, 2607 GL_COMPUTE_SHADER_BIT = 0x00000020, 2608 } 2609 2610 version(none) 2611 enum // GL_ARB_copy_image 2612 { 2613 } 2614 2615 enum // GL_ARB_texture_view 2616 { 2617 GL_TEXTURE_VIEW_MIN_LEVEL = 0x82DB, 2618 GL_TEXTURE_VIEW_NUM_LEVELS = 0x82DC, 2619 GL_TEXTURE_VIEW_MIN_LAYER = 0x82DD, 2620 GL_TEXTURE_VIEW_NUM_LAYERS = 0x82DE, 2621 GL_TEXTURE_IMMUTABLE_LEVELS = 0x82DF, 2622 } 2623 2624 enum // GL_ARB_vertex_attrib_binding 2625 { 2626 GL_VERTEX_ATTRIB_BINDING = 0x82D4, 2627 GL_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D5, 2628 GL_VERTEX_BINDING_DIVISOR = 0x82D6, 2629 GL_VERTEX_BINDING_OFFSET = 0x82D7, 2630 GL_VERTEX_BINDING_STRIDE = 0x82D8, 2631 GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D9, 2632 GL_MAX_VERTEX_ATTRIB_BINDINGS = 0x82DA, 2633 } 2634 2635 version(none) 2636 enum // GL_ARB_robustness_isolation 2637 { 2638 } 2639 2640 enum // GL_ARB_ES3_compatibility 2641 { 2642 GL_COMPRESSED_RGB8_ETC2 = 0x9274, 2643 GL_COMPRESSED_SRGB8_ETC2 = 0x9275, 2644 GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9276, 2645 GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277, 2646 GL_COMPRESSED_RGBA8_ETC2_EAC = 0x9278, 2647 GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9279, 2648 GL_COMPRESSED_R11_EAC = 0x9270, 2649 GL_COMPRESSED_SIGNED_R11_EAC = 0x9271, 2650 GL_COMPRESSED_RG11_EAC = 0x9272, 2651 GL_COMPRESSED_SIGNED_RG11_EAC = 0x9273, 2652 GL_PRIMITIVE_RESTART_FIXED_INDEX = 0x8D69, 2653 GL_ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8D6A, 2654 GL_MAX_ELEMENT_INDEX = 0x8D6B, 2655 } 2656 2657 enum // GL_ARB_explicit_uniform_location 2658 { 2659 GL_MAX_UNIFORM_LOCATIONS = 0x826E, 2660 } 2661 2662 version(none) 2663 enum // GL_ARB_fragment_layer_viewport 2664 { 2665 } 2666 2667 enum // GL_ARB_framebuffer_no_attachments 2668 { 2669 GL_FRAMEBUFFER_DEFAULT_WIDTH = 0x9310, 2670 GL_FRAMEBUFFER_DEFAULT_HEIGHT = 0x9311, 2671 GL_FRAMEBUFFER_DEFAULT_LAYERS = 0x9312, 2672 GL_FRAMEBUFFER_DEFAULT_SAMPLES = 0x9313, 2673 GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = 0x9314, 2674 GL_MAX_FRAMEBUFFER_WIDTH = 0x9315, 2675 GL_MAX_FRAMEBUFFER_HEIGHT = 0x9316, 2676 GL_MAX_FRAMEBUFFER_LAYERS = 0x9317, 2677 GL_MAX_FRAMEBUFFER_SAMPLES = 0x9318, 2678 } 2679 2680 enum // GL_ARB_internalformat_query2 2681 { 2682 /* reuse GL_IMAGE_FORMAT_COMPATIBILITY_TYPE */ 2683 /* reuse GL_NUM_SAMPLE_COUNTS */ 2684 /* reuse GL_RENDERBUFFER */ 2685 /* reuse GL_SAMPLES */ 2686 /* reuse GL_TEXTURE_1D */ 2687 /* reuse GL_TEXTURE_1D_ARRAY */ 2688 /* reuse GL_TEXTURE_2D */ 2689 /* reuse GL_TEXTURE_2D_ARRAY */ 2690 /* reuse GL_TEXTURE_3D */ 2691 /* reuse GL_TEXTURE_CUBE_MAP */ 2692 /* reuse GL_TEXTURE_CUBE_MAP_ARRAY */ 2693 /* reuse GL_TEXTURE_RECTANGLE */ 2694 /* reuse GL_TEXTURE_BUFFER */ 2695 /* reuse GL_TEXTURE_2D_MULTISAMPLE */ 2696 /* reuse GL_TEXTURE_2D_MULTISAMPLE_ARRAY */ 2697 /* reuse GL_TEXTURE_COMPRESSED */ 2698 2699 GL_INTERNALFORMAT_SUPPORTED = 0x826F, 2700 GL_INTERNALFORMAT_PREFERRED = 0x8270, 2701 GL_INTERNALFORMAT_RED_SIZE = 0x8271, 2702 GL_INTERNALFORMAT_GREEN_SIZE = 0x8272, 2703 GL_INTERNALFORMAT_BLUE_SIZE = 0x8273, 2704 GL_INTERNALFORMAT_ALPHA_SIZE = 0x8274, 2705 GL_INTERNALFORMAT_DEPTH_SIZE = 0x8275, 2706 GL_INTERNALFORMAT_STENCIL_SIZE = 0x8276, 2707 GL_INTERNALFORMAT_SHARED_SIZE = 0x8277, 2708 GL_INTERNALFORMAT_RED_TYPE = 0x8278, 2709 GL_INTERNALFORMAT_GREEN_TYPE = 0x8279, 2710 GL_INTERNALFORMAT_BLUE_TYPE = 0x827A, 2711 GL_INTERNALFORMAT_ALPHA_TYPE = 0x827B, 2712 GL_INTERNALFORMAT_DEPTH_TYPE = 0x827C, 2713 GL_INTERNALFORMAT_STENCIL_TYPE = 0x827D, 2714 GL_MAX_WIDTH = 0x827E, 2715 GL_MAX_HEIGHT = 0x827F, 2716 GL_MAX_DEPTH = 0x8280, 2717 GL_MAX_LAYERS = 0x8281, 2718 GL_MAX_COMBINED_DIMENSIONS = 0x8282, 2719 GL_COLOR_COMPONENTS = 0x8283, 2720 GL_DEPTH_COMPONENTS = 0x8284, 2721 GL_STENCIL_COMPONENTS = 0x8285, 2722 GL_COLOR_RENDERABLE = 0x8286, 2723 GL_DEPTH_RENDERABLE = 0x8287, 2724 GL_STENCIL_RENDERABLE = 0x8288, 2725 GL_FRAMEBUFFER_RENDERABLE = 0x8289, 2726 GL_FRAMEBUFFER_RENDERABLE_LAYERED = 0x828A, 2727 GL_FRAMEBUFFER_BLEND = 0x828B, 2728 GL_READ_PIXELS = 0x828C, 2729 GL_READ_PIXELS_FORMAT = 0x828D, 2730 GL_READ_PIXELS_TYPE = 0x828E, 2731 GL_TEXTURE_IMAGE_FORMAT = 0x828F, 2732 GL_TEXTURE_IMAGE_TYPE = 0x8290, 2733 GL_GET_TEXTURE_IMAGE_FORMAT = 0x8291, 2734 GL_GET_TEXTURE_IMAGE_TYPE = 0x8292, 2735 GL_MIPMAP = 0x8293, 2736 GL_MANUAL_GENERATE_MIPMAP = 0x8294, 2737 GL_AUTO_GENERATE_MIPMAP = 0x8295, 2738 GL_COLOR_ENCODING = 0x8296, 2739 GL_SRGB_READ = 0x8297, 2740 GL_SRGB_WRITE = 0x8298, 2741 GL_SRGB_DECODE_ARB = 0x8299, 2742 GL_FILTER = 0x829A, 2743 GL_VERTEX_TEXTURE = 0x829B, 2744 GL_TESS_CONTROL_TEXTURE = 0x829C, 2745 GL_TESS_EVALUATION_TEXTURE = 0x829D, 2746 GL_GEOMETRY_TEXTURE = 0x829E, 2747 GL_FRAGMENT_TEXTURE = 0x829F, 2748 GL_COMPUTE_TEXTURE = 0x82A0, 2749 GL_TEXTURE_SHADOW = 0x82A1, 2750 GL_TEXTURE_GATHER = 0x82A2, 2751 GL_TEXTURE_GATHER_SHADOW = 0x82A3, 2752 GL_SHADER_IMAGE_LOAD = 0x82A4, 2753 GL_SHADER_IMAGE_STORE = 0x82A5, 2754 GL_SHADER_IMAGE_ATOMIC = 0x82A6, 2755 GL_IMAGE_TEXEL_SIZE = 0x82A7, 2756 GL_IMAGE_COMPATIBILITY_CLASS = 0x82A8, 2757 GL_IMAGE_PIXEL_FORMAT = 0x82A9, 2758 GL_IMAGE_PIXEL_TYPE = 0x82AA, 2759 GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST = 0x82AC, 2760 GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST = 0x82AD, 2761 GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE = 0x82AE, 2762 GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE = 0x82AF, 2763 GL_TEXTURE_COMPRESSED_BLOCK_WIDTH = 0x82B1, 2764 GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT = 0x82B2, 2765 GL_TEXTURE_COMPRESSED_BLOCK_SIZE = 0x82B3, 2766 GL_CLEAR_BUFFER = 0x82B4, 2767 GL_TEXTURE_VIEW = 0x82B5, 2768 GL_VIEW_COMPATIBILITY_CLASS = 0x82B6, 2769 GL_FULL_SUPPORT = 0x82B7, 2770 GL_CAVEAT_SUPPORT = 0x82B8, 2771 GL_IMAGE_CLASS_4_X_32 = 0x82B9, 2772 GL_IMAGE_CLASS_2_X_32 = 0x82BA, 2773 GL_IMAGE_CLASS_1_X_32 = 0x82BB, 2774 GL_IMAGE_CLASS_4_X_16 = 0x82BC, 2775 GL_IMAGE_CLASS_2_X_16 = 0x82BD, 2776 GL_IMAGE_CLASS_1_X_16 = 0x82BE, 2777 GL_IMAGE_CLASS_4_X_8 = 0x82BF, 2778 GL_IMAGE_CLASS_2_X_8 = 0x82C0, 2779 GL_IMAGE_CLASS_1_X_8 = 0x82C1, 2780 GL_IMAGE_CLASS_11_11_10 = 0x82C2, 2781 GL_IMAGE_CLASS_10_10_10_2 = 0x82C3, 2782 GL_VIEW_CLASS_128_BITS = 0x82C4, 2783 GL_VIEW_CLASS_96_BITS = 0x82C5, 2784 GL_VIEW_CLASS_64_BITS = 0x82C6, 2785 GL_VIEW_CLASS_48_BITS = 0x82C7, 2786 GL_VIEW_CLASS_32_BITS = 0x82C8, 2787 GL_VIEW_CLASS_24_BITS = 0x82C9, 2788 GL_VIEW_CLASS_16_BITS = 0x82CA, 2789 GL_VIEW_CLASS_8_BITS = 0x82CB, 2790 GL_VIEW_CLASS_S3TC_DXT1_RGB = 0x82CC, 2791 GL_VIEW_CLASS_S3TC_DXT1_RGBA = 0x82CD, 2792 GL_VIEW_CLASS_S3TC_DXT3_RGBA = 0x82CE, 2793 GL_VIEW_CLASS_S3TC_DXT5_RGBA = 0x82CF, 2794 GL_VIEW_CLASS_RGTC1_RED = 0x82D0, 2795 GL_VIEW_CLASS_RGTC2_RG = 0x82D1, 2796 GL_VIEW_CLASS_BPTC_UNORM = 0x82D2, 2797 GL_VIEW_CLASS_BPTC_FLOAT = 0x82D3, 2798 } 2799 2800 version(none) 2801 enum // GL_ARB_invalidate_subdata 2802 { 2803 } 2804 2805 version(none) 2806 enum // GL_ARB_multi_draw_indirect 2807 { 2808 } 2809 2810 enum // GL_ARB_program_interface_query 2811 { 2812 GL_UNIFORM = 0x92E1, 2813 GL_UNIFORM_BLOCK = 0x92E2, 2814 GL_PROGRAM_INPUT = 0x92E3, 2815 GL_PROGRAM_OUTPUT = 0x92E4, 2816 GL_BUFFER_VARIABLE = 0x92E5, 2817 GL_SHADER_STORAGE_BLOCK = 0x92E6, 2818 2819 /* reuse GL_ATOMIC_COUNTER_BUFFER */ 2820 2821 GL_VERTEX_SUBROUTINE = 0x92E8, 2822 GL_TESS_CONTROL_SUBROUTINE = 0x92E9, 2823 GL_TESS_EVALUATION_SUBROUTINE = 0x92EA, 2824 GL_GEOMETRY_SUBROUTINE = 0x92EB, 2825 GL_FRAGMENT_SUBROUTINE = 0x92EC, 2826 GL_COMPUTE_SUBROUTINE = 0x92ED, 2827 GL_VERTEX_SUBROUTINE_UNIFORM = 0x92EE, 2828 GL_TESS_CONTROL_SUBROUTINE_UNIFORM = 0x92EF, 2829 GL_TESS_EVALUATION_SUBROUTINE_UNIFORM = 0x92F0, 2830 GL_GEOMETRY_SUBROUTINE_UNIFORM = 0x92F1, 2831 GL_FRAGMENT_SUBROUTINE_UNIFORM = 0x92F2, 2832 GL_COMPUTE_SUBROUTINE_UNIFORM = 0x92F3, 2833 GL_TRANSFORM_FEEDBACK_VARYING = 0x92F4, 2834 GL_ACTIVE_RESOURCES = 0x92F5, 2835 GL_MAX_NAME_LENGTH = 0x92F6, 2836 GL_MAX_NUM_ACTIVE_VARIABLES = 0x92F7, 2837 GL_MAX_NUM_COMPATIBLE_SUBROUTINES = 0x92F8, 2838 GL_NAME_LENGTH = 0x92F9, 2839 GL_TYPE = 0x92FA, 2840 GL_ARRAY_SIZE = 0x92FB, 2841 GL_OFFSET = 0x92FC, 2842 GL_BLOCK_INDEX = 0x92FD, 2843 GL_ARRAY_STRIDE = 0x92FE, 2844 GL_MATRIX_STRIDE = 0x92FF, 2845 GL_IS_ROW_MAJOR = 0x9300, 2846 GL_ATOMIC_COUNTER_BUFFER_INDEX = 0x9301, 2847 GL_BUFFER_BINDING = 0x9302, 2848 GL_BUFFER_DATA_SIZE = 0x9303, 2849 GL_NUM_ACTIVE_VARIABLES = 0x9304, 2850 GL_ACTIVE_VARIABLES = 0x9305, 2851 GL_REFERENCED_BY_VERTEX_SHADER = 0x9306, 2852 GL_REFERENCED_BY_TESS_CONTROL_SHADER = 0x9307, 2853 GL_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x9308, 2854 GL_REFERENCED_BY_GEOMETRY_SHADER = 0x9309, 2855 GL_REFERENCED_BY_FRAGMENT_SHADER = 0x930A, 2856 GL_REFERENCED_BY_COMPUTE_SHADER = 0x930B, 2857 GL_TOP_LEVEL_ARRAY_SIZE = 0x930C, 2858 GL_TOP_LEVEL_ARRAY_STRIDE = 0x930D, 2859 GL_LOCATION = 0x930E, 2860 GL_LOCATION_INDEX = 0x930F, 2861 GL_IS_PER_PATCH = 0x92E7, 2862 2863 /* reuse GL_NUM_COMPATIBLE_SUBROUTINES */ 2864 /* reuse GL_COMPATIBLE_SUBROUTINES */ 2865 } 2866 2867 version(none) 2868 enum // GL_ARB_robust_buffer_access_behavior 2869 { 2870 } 2871 2872 version(none) 2873 enum // GL_ARB_shader_image_size 2874 { 2875 } 2876 2877 enum // GL_ARB_shader_storage_buffer_object 2878 { 2879 GL_SHADER_STORAGE_BUFFER = 0x90D2, 2880 GL_SHADER_STORAGE_BUFFER_BINDING = 0x90D3, 2881 GL_SHADER_STORAGE_BUFFER_START = 0x90D4, 2882 GL_SHADER_STORAGE_BUFFER_SIZE = 0x90D5, 2883 GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS = 0x90D6, 2884 GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = 0x90D7, 2885 GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = 0x90D8, 2886 GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = 0x90D9, 2887 GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = 0x90DA, 2888 GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = 0x90DB, 2889 GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS = 0x90DC, 2890 GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS = 0x90DD, 2891 GL_MAX_SHADER_STORAGE_BLOCK_SIZE = 0x90DE, 2892 GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = 0x90DF, 2893 GL_SHADER_STORAGE_BARRIER_BIT = 0x2000, 2894 GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS, 2895 2896 /* reuse GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS */ 2897 } 2898 2899 enum // GL_ARB_stencil_texturing 2900 { 2901 GL_DEPTH_STENCIL_TEXTURE_MODE = 0x90EA, 2902 } 2903 2904 enum // GL_ARB_texture_buffer_range 2905 { 2906 GL_TEXTURE_BUFFER_OFFSET = 0x919D, 2907 GL_TEXTURE_BUFFER_SIZE = 0x919E, 2908 GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT = 0x919F, 2909 } 2910 2911 version(none) 2912 enum // GL_ARB_texture_query_levels 2913 { 2914 } 2915 2916 version(none) 2917 enum // GL_ARB_texture_storage_multisample 2918 { 2919 } 2920 2921 /* *********************************************************** */ 2922 2923 // GL_VERSION_2_0 2924 /* GL type for program/shader text */ 2925 alias char GLchar; 2926 2927 // GL_VERSION_1_5 2928 /* GL types for handling large vertex buffer objects */ 2929 alias ptrdiff_t GLintptr; 2930 alias ptrdiff_t GLsizeiptr; 2931 2932 // GL_ARB_vertex_buffer_object 2933 /* GL types for handling large vertex buffer objects */ 2934 alias ptrdiff_t GLintptrARB; 2935 alias ptrdiff_t GLsizeiptrARB; 2936 2937 // GL_ARB_shader_objects 2938 /* GL types for program/shader text and shader object handles */ 2939 alias char GLcharARB; 2940 alias uint GLhandleARB; 2941 2942 /* GL type for "half" precision (s10e5) float data in host memory */ 2943 // GL_ARB_half_float_pixel 2944 alias ushort GLhalfARB; 2945 2946 // GL_NV_half_float 2947 alias ushort GLhalfNV; 2948 2949 /* Define int32_t, int64_t, and uint64_t types for UST/MSC */ 2950 /* (as used in the GL_EXT_timer_query extension). */ 2951 alias int int32_t; 2952 alias long int64_t; 2953 alias ulong uint64_t; 2954 2955 // GL_EXT_timer_query 2956 alias int64_t GLint64EXT; 2957 alias uint64_t GLuint64EXT; 2958 2959 // GL_ARB_sync 2960 alias int64_t GLint64; 2961 alias uint64_t GLuint64; 2962 struct __GLsync; 2963 alias __GLsync *GLsync; 2964 2965 // GL_ARB_cl_event 2966 /* These incomplete types let us declare types compatible with OpenCL's cl_context and cl_event */ 2967 struct _cl_context; 2968 struct _cl_event; 2969 2970 // GL_ARB_debug_output 2971 alias void function(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const(GLchar)* message, GLvoid* userParam) GLDEBUGPROCARB; 2972 2973 // GL_AMD_debug_output 2974 alias void function(GLuint id, GLenum category, GLenum severity, GLsizei length, const(GLchar)* message, GLvoid* userParam) GLDEBUGPROCAMD; 2975 2976 // GL_KHR_debug 2977 alias void function(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const(GLchar)* message, GLvoid* userParam) GLDEBUGPROC; 2978 2979 // GL_NV_vdpau_interop 2980 alias GLintptr GLvdpauSurfaceNV; 2981 2982 2983 /* *********************************************************** */ 2984 2985 // GL_VERSION_1_0 2986 2987 export void glCullFace(GLenum mode); 2988 export void glFrontFace(GLenum mode); 2989 export void glHint(GLenum target, GLenum mode); 2990 export void glLineWidth(GLfloat width); 2991 export void glPointSize(GLfloat size); 2992 export void glPolygonMode(GLenum face, GLenum mode); 2993 export void glScissor(GLint x, GLint y, GLsizei width, GLsizei height); 2994 export void glTexParameterf(GLenum target, GLenum pname, GLfloat param); 2995 export void glTexParameterfv(GLenum target, GLenum pname, const(GLfloat)* params); 2996 export void glTexParameteri(GLenum target, GLenum pname, GLint param); 2997 export void glTexParameteriv(GLenum target, GLenum pname, const(GLint)* params); 2998 export void glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const(GLvoid)* pixels); 2999 export void glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const(GLvoid)* pixels); 3000 export void glDrawBuffer(GLenum mode); 3001 export void glClear(GLbitfield mask); 3002 export void glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); 3003 export void glClearStencil(GLint s); 3004 export void glClearDepth(GLdouble depth); 3005 export void glStencilMask(GLuint mask); 3006 export void glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); 3007 export void glDepthMask(GLboolean flag); 3008 export void glDisable(GLenum cap); 3009 export void glEnable(GLenum cap); 3010 export void glFinish(); 3011 export void glFlush(); 3012 export void glBlendFunc(GLenum sfactor, GLenum dfactor); 3013 export void glLogicOp(GLenum opcode); 3014 export void glStencilFunc(GLenum func, GLint ref_, GLuint mask); 3015 export void glStencilOp(GLenum fail, GLenum zfail, GLenum zpass); 3016 export void glDepthFunc(GLenum func); 3017 export void glPixelStoref(GLenum pname, GLfloat param); 3018 export void glPixelStorei(GLenum pname, GLint param); 3019 export void glReadBuffer(GLenum mode); 3020 export void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels); 3021 export void glGetBooleanv(GLenum pname, GLboolean* params); 3022 export void glGetDoublev(GLenum pname, GLdouble* params); 3023 export GLenum glGetError(); 3024 export void glGetFloatv(GLenum pname, GLfloat* params); 3025 export void glGetIntegerv(GLenum pname, GLint* params); 3026 export const(GLubyte)* glGetString(GLenum name); 3027 export void glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid* pixels); 3028 export void glGetTexParameterfv(GLenum target, GLenum pname, GLfloat* params); 3029 export void glGetTexParameteriv(GLenum target, GLenum pname, GLint* params); 3030 export void glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat* params); 3031 export void glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint* params); 3032 export GLboolean glIsEnabled(GLenum cap); 3033 export void glDepthRange(GLdouble near, GLdouble far); 3034 export void glViewport(GLint x, GLint y, GLsizei width, GLsizei height); 3035 3036 alias void function(GLenum mode) PFNGLCULLFACEPROC; 3037 alias void function(GLenum mode) PFNGLFRONTFACEPROC; 3038 alias void function(GLenum target, GLenum mode) PFNGLHINTPROC; 3039 alias void function(GLfloat width) PFNGLLINEWIDTHPROC; 3040 alias void function(GLfloat size) PFNGLPOINTSIZEPROC; 3041 alias void function(GLenum face, GLenum mode) PFNGLPOLYGONMODEPROC; 3042 alias void function(GLint x, GLint y, GLsizei width, GLsizei height) PFNGLSCISSORPROC; 3043 alias void function(GLenum target, GLenum pname, GLfloat param) PFNGLTEXPARAMETERFPROC; 3044 alias void function(GLenum target, GLenum pname, const(GLfloat)* params) PFNGLTEXPARAMETERFVPROC; 3045 alias void function(GLenum target, GLenum pname, GLint param) PFNGLTEXPARAMETERIPROC; 3046 alias void function(GLenum target, GLenum pname, const(GLint)* params) PFNGLTEXPARAMETERIVPROC; 3047 alias void function(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const(GLvoid)* pixels) PFNGLTEXIMAGE1DPROC; 3048 alias void function(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const(GLvoid)* pixels) PFNGLTEXIMAGE2DPROC; 3049 alias void function(GLenum mode) PFNGLDRAWBUFFERPROC; 3050 alias void function(GLbitfield mask) PFNGLCLEARPROC; 3051 alias void function(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) PFNGLCLEARCOLORPROC; 3052 alias void function(GLint s) PFNGLCLEARSTENCILPROC; 3053 alias void function(GLdouble depth) PFNGLCLEARDEPTHPROC; 3054 alias void function(GLuint mask) PFNGLSTENCILMASKPROC; 3055 alias void function(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) PFNGLCOLORMASKPROC; 3056 alias void function(GLboolean flag) PFNGLDEPTHMASKPROC; 3057 alias void function(GLenum cap) PFNGLDISABLEPROC; 3058 alias void function(GLenum cap) PFNGLENABLEPROC; 3059 alias void function() PFNGLFINISHPROC; 3060 alias void function() PFNGLFLUSHPROC; 3061 alias void function(GLenum sfactor, GLenum dfactor) PFNGLBLENDFUNCPROC; 3062 alias void function(GLenum opcode) PFNGLLOGICOPPROC; 3063 alias void function(GLenum func, GLint ref_, GLuint mask) PFNGLSTENCILFUNCPROC; 3064 alias void function(GLenum fail, GLenum zfail, GLenum zpass) PFNGLSTENCILOPPROC; 3065 alias void function(GLenum func) PFNGLDEPTHFUNCPROC; 3066 alias void function(GLenum pname, GLfloat param) PFNGLPIXELSTOREFPROC; 3067 alias void function(GLenum pname, GLint param) PFNGLPIXELSTOREIPROC; 3068 alias void function(GLenum mode) PFNGLREADBUFFERPROC; 3069 alias void function(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels) PFNGLREADPIXELSPROC; 3070 alias void function(GLenum pname, GLboolean* params) PFNGLGETBOOLEANVPROC; 3071 alias void function(GLenum pname, GLdouble* params) PFNGLGETDOUBLEVPROC; 3072 alias GLenum function() PFNGLGETERRORPROC; 3073 alias void function(GLenum pname, GLfloat* params) PFNGLGETFLOATVPROC; 3074 alias void function(GLenum pname, GLint* params) PFNGLGETINTEGERVPROC; 3075 alias const(GLubyte)* function(GLenum name) PFNGLGETSTRINGPROC; 3076 alias void function(GLenum target, GLint level, GLenum format, GLenum type, GLvoid* pixels) PFNGLGETTEXIMAGEPROC; 3077 alias void function(GLenum target, GLenum pname, GLfloat* params) PFNGLGETTEXPARAMETERFVPROC; 3078 alias void function(GLenum target, GLenum pname, GLint* params) PFNGLGETTEXPARAMETERIVPROC; 3079 alias void function(GLenum target, GLint level, GLenum pname, GLfloat* params) PFNGLGETTEXLEVELPARAMETERFVPROC; 3080 alias void function(GLenum target, GLint level, GLenum pname, GLint* params) PFNGLGETTEXLEVELPARAMETERIVPROC; 3081 alias GLboolean function(GLenum cap) PFNGLISENABLEDPROC; 3082 alias void function(GLdouble near, GLdouble far) PFNGLDEPTHRANGEPROC; 3083 alias void function(GLint x, GLint y, GLsizei width, GLsizei height) PFNGLVIEWPORTPROC; 3084 3085 // GL_VERSION_1_1 3086 3087 export void glDrawArrays(GLenum mode, GLint first, GLsizei count); 3088 export void glDrawElements(GLenum mode, GLsizei count, GLenum type, const(GLvoid)* indices); 3089 export void glGetPointerv(GLenum pname, GLvoid** params); 3090 export void glPolygonOffset(GLfloat factor, GLfloat units); 3091 export void glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); 3092 export void glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); 3093 export void glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); 3094 export void glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); 3095 export void glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const(GLvoid)* pixels); 3096 export void glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const(GLvoid)* pixels); 3097 export void glBindTexture(GLenum target, GLuint texture); 3098 export void glDeleteTextures(GLsizei n, const(GLuint)* textures); 3099 export void glGenTextures(GLsizei n, GLuint* textures); 3100 export GLboolean glIsTexture(GLuint texture); 3101 3102 alias void function(GLenum mode, GLint first, GLsizei count) PFNGLDRAWARRAYSPROC; 3103 alias void function(GLenum mode, GLsizei count, GLenum type, const(GLvoid)* indices) PFNGLDRAWELEMENTSPROC; 3104 alias void function(GLenum pname, GLvoid** params) PFNGLGETPOINTERVPROC; 3105 alias void function(GLfloat factor, GLfloat units) PFNGLPOLYGONOFFSETPROC; 3106 alias void function(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) PFNGLCOPYTEXIMAGE1DPROC; 3107 alias void function(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) PFNGLCOPYTEXIMAGE2DPROC; 3108 alias void function(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) PFNGLCOPYTEXSUBIMAGE1DPROC; 3109 alias void function(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) PFNGLCOPYTEXSUBIMAGE2DPROC; 3110 alias void function(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const(GLvoid)* pixels) PFNGLTEXSUBIMAGE1DPROC; 3111 alias void function(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const(GLvoid)* pixels) PFNGLTEXSUBIMAGE2DPROC; 3112 alias void function(GLenum target, GLuint texture) PFNGLBINDTEXTUREPROC; 3113 alias void function(GLsizei n, const(GLuint)* textures) PFNGLDELETETEXTURESPROC; 3114 alias void function(GLsizei n, GLuint* textures) PFNGLGENTEXTURESPROC; 3115 alias GLboolean function(GLuint texture) PFNGLISTEXTUREPROC; 3116 3117 // GL_VERSION_1_2 3118 3119 export void glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); 3120 export void glBlendEquation(GLenum mode); 3121 export void glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const(GLvoid)* indices); 3122 export void glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const(GLvoid)* pixels); 3123 export void glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const(GLvoid)* pixels); 3124 export void glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); 3125 3126 alias void function(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) PFNGLBLENDCOLORPROC; 3127 alias void function(GLenum mode) PFNGLBLENDEQUATIONPROC; 3128 alias void function(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const(GLvoid)* indices) PFNGLDRAWRANGEELEMENTSPROC; 3129 alias void function(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const(GLvoid)* pixels) PFNGLTEXIMAGE3DPROC; 3130 alias void function(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const(GLvoid)* pixels) PFNGLTEXSUBIMAGE3DPROC; 3131 alias void function(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) PFNGLCOPYTEXSUBIMAGE3DPROC; 3132 3133 // GL_VERSION_1_3 3134 3135 export void glActiveTexture(GLenum texture); 3136 export void glSampleCoverage(GLfloat value, GLboolean invert); 3137 export void glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const(GLvoid)* data); 3138 export void glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const(GLvoid)* data); 3139 export void glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const(GLvoid)* data); 3140 export void glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const(GLvoid)* data); 3141 export void glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const(GLvoid)* data); 3142 export void glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const(GLvoid)* data); 3143 export void glGetCompressedTexImage(GLenum target, GLint level, GLvoid* img); 3144 3145 alias void function(GLenum texture) PFNGLACTIVETEXTUREPROC; 3146 alias void function(GLfloat value, GLboolean invert) PFNGLSAMPLECOVERAGEPROC; 3147 alias void function(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const(GLvoid)* data) PFNGLCOMPRESSEDTEXIMAGE3DPROC; 3148 alias void function(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const(GLvoid)* data) PFNGLCOMPRESSEDTEXIMAGE2DPROC; 3149 alias void function(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const(GLvoid)* data) PFNGLCOMPRESSEDTEXIMAGE1DPROC; 3150 alias void function(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const(GLvoid)* data) PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC; 3151 alias void function(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const(GLvoid)* data) PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC; 3152 alias void function(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const(GLvoid)* data) PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC; 3153 alias void function(GLenum target, GLint level, GLvoid* img) PFNGLGETCOMPRESSEDTEXIMAGEPROC; 3154 3155 // GL_VERSION_1_4 3156 3157 export void glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); 3158 export void glMultiDrawArrays(GLenum mode, const(GLint)* first, const(GLsizei)* count, GLsizei drawcount); 3159 export void glMultiDrawElements(GLenum mode, const(GLsizei)* count, GLenum type, const(GLvoid)** indices, GLsizei drawcount); 3160 export void glPointParameterf(GLenum pname, GLfloat param); 3161 export void glPointParameterfv(GLenum pname, const(GLfloat)* params); 3162 export void glPointParameteri(GLenum pname, GLint param); 3163 export void glPointParameteriv(GLenum pname, const(GLint)* params); 3164 3165 alias void function(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) PFNGLBLENDFUNCSEPARATEPROC; 3166 alias void function(GLenum mode, const(GLint)* first, const(GLsizei)* count, GLsizei drawcount) PFNGLMULTIDRAWARRAYSPROC; 3167 alias void function(GLenum mode, const(GLsizei)* count, GLenum type, const(GLvoid)** indices, GLsizei drawcount) PFNGLMULTIDRAWELEMENTSPROC; 3168 alias void function(GLenum pname, GLfloat param) PFNGLPOINTPARAMETERFPROC; 3169 alias void function(GLenum pname, const(GLfloat)* params) PFNGLPOINTPARAMETERFVPROC; 3170 alias void function(GLenum pname, GLint param) PFNGLPOINTPARAMETERIPROC; 3171 alias void function(GLenum pname, const(GLint)* params) PFNGLPOINTPARAMETERIVPROC; 3172 3173 // GL_VERSION_1_5 3174 3175 export void glGenQueries(GLsizei n, GLuint* ids); 3176 export void glDeleteQueries(GLsizei n, const(GLuint)* ids); 3177 export GLboolean glIsQuery(GLuint id); 3178 export void glBeginQuery(GLenum target, GLuint id); 3179 export void glEndQuery(GLenum target); 3180 export void glGetQueryiv(GLenum target, GLenum pname, GLint* params); 3181 export void glGetQueryObjectiv(GLuint id, GLenum pname, GLint* params); 3182 export void glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint* params); 3183 export void glBindBuffer(GLenum target, GLuint buffer); 3184 export void glDeleteBuffers(GLsizei n, const(GLuint)* buffers); 3185 export void glGenBuffers(GLsizei n, GLuint* buffers); 3186 export GLboolean glIsBuffer(GLuint buffer); 3187 export void glBufferData(GLenum target, GLsizeiptr size, const(GLvoid)* data, GLenum usage); 3188 export void glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const(GLvoid)* data); 3189 export void glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid* data); 3190 export GLvoid* glMapBuffer(GLenum target, GLenum access); 3191 export GLboolean glUnmapBuffer(GLenum target); 3192 export void glGetBufferParameteriv(GLenum target, GLenum pname, GLint* params); 3193 export void glGetBufferPointerv(GLenum target, GLenum pname, GLvoid** params); 3194 3195 alias void function(GLsizei n, GLuint* ids) PFNGLGENQUERIESPROC; 3196 alias void function(GLsizei n, const(GLuint)* ids) PFNGLDELETEQUERIESPROC; 3197 alias GLboolean function(GLuint id) PFNGLISQUERYPROC; 3198 alias void function(GLenum target, GLuint id) PFNGLBEGINQUERYPROC; 3199 alias void function(GLenum target) PFNGLENDQUERYPROC; 3200 alias void function(GLenum target, GLenum pname, GLint* params) PFNGLGETQUERYIVPROC; 3201 alias void function(GLuint id, GLenum pname, GLint* params) PFNGLGETQUERYOBJECTIVPROC; 3202 alias void function(GLuint id, GLenum pname, GLuint* params) PFNGLGETQUERYOBJECTUIVPROC; 3203 alias void function(GLenum target, GLuint buffer) PFNGLBINDBUFFERPROC; 3204 alias void function(GLsizei n, const(GLuint)* buffers) PFNGLDELETEBUFFERSPROC; 3205 alias void function(GLsizei n, GLuint* buffers) PFNGLGENBUFFERSPROC; 3206 alias GLboolean function(GLuint buffer) PFNGLISBUFFERPROC; 3207 alias void function(GLenum target, GLsizeiptr size, const(GLvoid)* data, GLenum usage) PFNGLBUFFERDATAPROC; 3208 alias void function(GLenum target, GLintptr offset, GLsizeiptr size, const(GLvoid)* data) PFNGLBUFFERSUBDATAPROC; 3209 alias void function(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid* data) PFNGLGETBUFFERSUBDATAPROC; 3210 alias GLvoid* function(GLenum target, GLenum access) PFNGLMAPBUFFERPROC; 3211 alias GLboolean function(GLenum target) PFNGLUNMAPBUFFERPROC; 3212 alias void function(GLenum target, GLenum pname, GLint* params) PFNGLGETBUFFERPARAMETERIVPROC; 3213 alias void function(GLenum target, GLenum pname, GLvoid** params) PFNGLGETBUFFERPOINTERVPROC; 3214 3215 // GL_VERSION_2_0 3216 3217 export void glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha); 3218 export void glDrawBuffers(GLsizei n, const(GLenum)* bufs); 3219 export void glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); 3220 export void glStencilFuncSeparate(GLenum face, GLenum func, GLint ref_, GLuint mask); 3221 export void glStencilMaskSeparate(GLenum face, GLuint mask); 3222 export void glAttachShader(GLuint program, GLuint shader); 3223 export void glBindAttribLocation(GLuint program, GLuint index, const(GLchar)* name); 3224 export void glCompileShader(GLuint shader); 3225 export GLuint glCreateProgram(); 3226 export GLuint glCreateShader(GLenum type); 3227 export void glDeleteProgram(GLuint program); 3228 export void glDeleteShader(GLuint shader); 3229 export void glDetachShader(GLuint program, GLuint shader); 3230 export void glDisableVertexAttribArray(GLuint index); 3231 export void glEnableVertexAttribArray(GLuint index); 3232 export void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLint* size, GLenum* type, GLchar* name); 3233 export void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLint* size, GLenum* type, GLchar* name); 3234 export void glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei* count, GLuint* obj); 3235 export GLint glGetAttribLocation(GLuint program, const(GLchar)* name); 3236 export void glGetProgramiv(GLuint program, GLenum pname, GLint* params); 3237 export void glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei* length, GLchar* infoLog); 3238 export void glGetShaderiv(GLuint shader, GLenum pname, GLint* params); 3239 export void glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* infoLog); 3240 export void glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* source); 3241 export GLint glGetUniformLocation(GLuint program, const(GLchar)* name); 3242 export void glGetUniformfv(GLuint program, GLint location, GLfloat* params); 3243 export void glGetUniformiv(GLuint program, GLint location, GLint* params); 3244 export void glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble* params); 3245 export void glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params); 3246 export void glGetVertexAttribiv(GLuint index, GLenum pname, GLint* params); 3247 export void glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid** pointer); 3248 export GLboolean glIsProgram(GLuint program); 3249 export GLboolean glIsShader(GLuint shader); 3250 export void glLinkProgram(GLuint program); 3251 export void glShaderSource(GLuint shader, GLsizei count, const(GLchar)** string, const(GLint)* length); 3252 export void glUseProgram(GLuint program); 3253 export void glUniform1f(GLint location, GLfloat v0); 3254 export void glUniform2f(GLint location, GLfloat v0, GLfloat v1); 3255 export void glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2); 3256 export void glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); 3257 export void glUniform1i(GLint location, GLint v0); 3258 export void glUniform2i(GLint location, GLint v0, GLint v1); 3259 export void glUniform3i(GLint location, GLint v0, GLint v1, GLint v2); 3260 export void glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3); 3261 export void glUniform1fv(GLint location, GLsizei count, const(GLfloat)* value); 3262 export void glUniform2fv(GLint location, GLsizei count, const(GLfloat)* value); 3263 export void glUniform3fv(GLint location, GLsizei count, const(GLfloat)* value); 3264 export void glUniform4fv(GLint location, GLsizei count, const(GLfloat)* value); 3265 export void glUniform1iv(GLint location, GLsizei count, const(GLint)* value); 3266 export void glUniform2iv(GLint location, GLsizei count, const(GLint)* value); 3267 export void glUniform3iv(GLint location, GLsizei count, const(GLint)* value); 3268 export void glUniform4iv(GLint location, GLsizei count, const(GLint)* value); 3269 export void glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value); 3270 export void glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value); 3271 export void glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value); 3272 export void glValidateProgram(GLuint program); 3273 export void glVertexAttrib1d(GLuint index, GLdouble x); 3274 export void glVertexAttrib1dv(GLuint index, const(GLdouble)* v); 3275 export void glVertexAttrib1f(GLuint index, GLfloat x); 3276 export void glVertexAttrib1fv(GLuint index, const(GLfloat)* v); 3277 export void glVertexAttrib1s(GLuint index, GLshort x); 3278 export void glVertexAttrib1sv(GLuint index, const(GLshort)* v); 3279 export void glVertexAttrib2d(GLuint index, GLdouble x, GLdouble y); 3280 export void glVertexAttrib2dv(GLuint index, const(GLdouble)* v); 3281 export void glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y); 3282 export void glVertexAttrib2fv(GLuint index, const(GLfloat)* v); 3283 export void glVertexAttrib2s(GLuint index, GLshort x, GLshort y); 3284 export void glVertexAttrib2sv(GLuint index, const(GLshort)* v); 3285 export void glVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z); 3286 export void glVertexAttrib3dv(GLuint index, const(GLdouble)* v); 3287 export void glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z); 3288 export void glVertexAttrib3fv(GLuint index, const(GLfloat)* v); 3289 export void glVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z); 3290 export void glVertexAttrib3sv(GLuint index, const(GLshort)* v); 3291 export void glVertexAttrib4Nbv(GLuint index, const(GLbyte)* v); 3292 export void glVertexAttrib4Niv(GLuint index, const(GLint)* v); 3293 export void glVertexAttrib4Nsv(GLuint index, const(GLshort)* v); 3294 export void glVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); 3295 export void glVertexAttrib4Nubv(GLuint index, const(GLubyte)* v); 3296 export void glVertexAttrib4Nuiv(GLuint index, const(GLuint)* v); 3297 export void glVertexAttrib4Nusv(GLuint index, const(GLushort)* v); 3298 export void glVertexAttrib4bv(GLuint index, const(GLbyte)* v); 3299 export void glVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); 3300 export void glVertexAttrib4dv(GLuint index, const(GLdouble)* v); 3301 export void glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 3302 export void glVertexAttrib4fv(GLuint index, const(GLfloat)* v); 3303 export void glVertexAttrib4iv(GLuint index, const(GLint)* v); 3304 export void glVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); 3305 export void glVertexAttrib4sv(GLuint index, const(GLshort)* v); 3306 export void glVertexAttrib4ubv(GLuint index, const(GLubyte)* v); 3307 export void glVertexAttrib4uiv(GLuint index, const(GLuint)* v); 3308 export void glVertexAttrib4usv(GLuint index, const(GLushort)* v); 3309 export void glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const(GLvoid)* pointer); 3310 3311 alias void function(GLenum modeRGB, GLenum modeAlpha) PFNGLBLENDEQUATIONSEPARATEPROC; 3312 alias void function(GLsizei n, const(GLenum)* bufs) PFNGLDRAWBUFFERSPROC; 3313 alias void function(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) PFNGLSTENCILOPSEPARATEPROC; 3314 alias void function(GLenum face, GLenum func, GLint ref_, GLuint mask) PFNGLSTENCILFUNCSEPARATEPROC; 3315 alias void function(GLenum face, GLuint mask) PFNGLSTENCILMASKSEPARATEPROC; 3316 alias void function(GLuint program, GLuint shader) PFNGLATTACHSHADERPROC; 3317 alias void function(GLuint program, GLuint index, const(GLchar)* name) PFNGLBINDATTRIBLOCATIONPROC; 3318 alias void function(GLuint shader) PFNGLCOMPILESHADERPROC; 3319 alias GLuint function() PFNGLCREATEPROGRAMPROC; 3320 alias GLuint function(GLenum type) PFNGLCREATESHADERPROC; 3321 alias void function(GLuint program) PFNGLDELETEPROGRAMPROC; 3322 alias void function(GLuint shader) PFNGLDELETESHADERPROC; 3323 alias void function(GLuint program, GLuint shader) PFNGLDETACHSHADERPROC; 3324 alias void function(GLuint index) PFNGLDISABLEVERTEXATTRIBARRAYPROC; 3325 alias void function(GLuint index) PFNGLENABLEVERTEXATTRIBARRAYPROC; 3326 alias void function(GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLint* size, GLenum* type, GLchar* name) PFNGLGETACTIVEATTRIBPROC; 3327 alias void function(GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLint* size, GLenum* type, GLchar* name) PFNGLGETACTIVEUNIFORMPROC; 3328 alias void function(GLuint program, GLsizei maxCount, GLsizei* count, GLuint* obj) PFNGLGETATTACHEDSHADERSPROC; 3329 alias GLint function(GLuint program, const(GLchar)* name) PFNGLGETATTRIBLOCATIONPROC; 3330 alias void function(GLuint program, GLenum pname, GLint* params) PFNGLGETPROGRAMIVPROC; 3331 alias void function(GLuint program, GLsizei bufSize, GLsizei* length, GLchar* infoLog) PFNGLGETPROGRAMINFOLOGPROC; 3332 alias void function(GLuint shader, GLenum pname, GLint* params) PFNGLGETSHADERIVPROC; 3333 alias void function(GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* infoLog) PFNGLGETSHADERINFOLOGPROC; 3334 alias void function(GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* source) PFNGLGETSHADERSOURCEPROC; 3335 alias GLint function(GLuint program, const(GLchar)* name) PFNGLGETUNIFORMLOCATIONPROC; 3336 alias void function(GLuint program, GLint location, GLfloat* params) PFNGLGETUNIFORMFVPROC; 3337 alias void function(GLuint program, GLint location, GLint* params) PFNGLGETUNIFORMIVPROC; 3338 alias void function(GLuint index, GLenum pname, GLdouble* params) PFNGLGETVERTEXATTRIBDVPROC; 3339 alias void function(GLuint index, GLenum pname, GLfloat* params) PFNGLGETVERTEXATTRIBFVPROC; 3340 alias void function(GLuint index, GLenum pname, GLint* params) PFNGLGETVERTEXATTRIBIVPROC; 3341 alias void function(GLuint index, GLenum pname, GLvoid** pointer) PFNGLGETVERTEXATTRIBPOINTERVPROC; 3342 alias GLboolean function(GLuint program) PFNGLISPROGRAMPROC; 3343 alias GLboolean function(GLuint shader) PFNGLISSHADERPROC; 3344 alias void function(GLuint program) PFNGLLINKPROGRAMPROC; 3345 alias void function(GLuint shader, GLsizei count, const(GLchar)** string, const(GLint)* length) PFNGLSHADERSOURCEPROC; 3346 alias void function(GLuint program) PFNGLUSEPROGRAMPROC; 3347 alias void function(GLint location, GLfloat v0) PFNGLUNIFORM1FPROC; 3348 alias void function(GLint location, GLfloat v0, GLfloat v1) PFNGLUNIFORM2FPROC; 3349 alias void function(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) PFNGLUNIFORM3FPROC; 3350 alias void function(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) PFNGLUNIFORM4FPROC; 3351 alias void function(GLint location, GLint v0) PFNGLUNIFORM1IPROC; 3352 alias void function(GLint location, GLint v0, GLint v1) PFNGLUNIFORM2IPROC; 3353 alias void function(GLint location, GLint v0, GLint v1, GLint v2) PFNGLUNIFORM3IPROC; 3354 alias void function(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) PFNGLUNIFORM4IPROC; 3355 alias void function(GLint location, GLsizei count, const(GLfloat)* value) PFNGLUNIFORM1FVPROC; 3356 alias void function(GLint location, GLsizei count, const(GLfloat)* value) PFNGLUNIFORM2FVPROC; 3357 alias void function(GLint location, GLsizei count, const(GLfloat)* value) PFNGLUNIFORM3FVPROC; 3358 alias void function(GLint location, GLsizei count, const(GLfloat)* value) PFNGLUNIFORM4FVPROC; 3359 alias void function(GLint location, GLsizei count, const(GLint)* value) PFNGLUNIFORM1IVPROC; 3360 alias void function(GLint location, GLsizei count, const(GLint)* value) PFNGLUNIFORM2IVPROC; 3361 alias void function(GLint location, GLsizei count, const(GLint)* value) PFNGLUNIFORM3IVPROC; 3362 alias void function(GLint location, GLsizei count, const(GLint)* value) PFNGLUNIFORM4IVPROC; 3363 alias void function(GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) PFNGLUNIFORMMATRIX2FVPROC; 3364 alias void function(GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) PFNGLUNIFORMMATRIX3FVPROC; 3365 alias void function(GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) PFNGLUNIFORMMATRIX4FVPROC; 3366 alias void function(GLuint program) PFNGLVALIDATEPROGRAMPROC; 3367 alias void function(GLuint index, GLdouble x) PFNGLVERTEXATTRIB1DPROC; 3368 alias void function(GLuint index, const(GLdouble)* v) PFNGLVERTEXATTRIB1DVPROC; 3369 alias void function(GLuint index, GLfloat x) PFNGLVERTEXATTRIB1FPROC; 3370 alias void function(GLuint index, const(GLfloat)* v) PFNGLVERTEXATTRIB1FVPROC; 3371 alias void function(GLuint index, GLshort x) PFNGLVERTEXATTRIB1SPROC; 3372 alias void function(GLuint index, const(GLshort)* v) PFNGLVERTEXATTRIB1SVPROC; 3373 alias void function(GLuint index, GLdouble x, GLdouble y) PFNGLVERTEXATTRIB2DPROC; 3374 alias void function(GLuint index, const(GLdouble)* v) PFNGLVERTEXATTRIB2DVPROC; 3375 alias void function(GLuint index, GLfloat x, GLfloat y) PFNGLVERTEXATTRIB2FPROC; 3376 alias void function(GLuint index, const(GLfloat)* v) PFNGLVERTEXATTRIB2FVPROC; 3377 alias void function(GLuint index, GLshort x, GLshort y) PFNGLVERTEXATTRIB2SPROC; 3378 alias void function(GLuint index, const(GLshort)* v) PFNGLVERTEXATTRIB2SVPROC; 3379 alias void function(GLuint index, GLdouble x, GLdouble y, GLdouble z) PFNGLVERTEXATTRIB3DPROC; 3380 alias void function(GLuint index, const(GLdouble)* v) PFNGLVERTEXATTRIB3DVPROC; 3381 alias void function(GLuint index, GLfloat x, GLfloat y, GLfloat z) PFNGLVERTEXATTRIB3FPROC; 3382 alias void function(GLuint index, const(GLfloat)* v) PFNGLVERTEXATTRIB3FVPROC; 3383 alias void function(GLuint index, GLshort x, GLshort y, GLshort z) PFNGLVERTEXATTRIB3SPROC; 3384 alias void function(GLuint index, const(GLshort)* v) PFNGLVERTEXATTRIB3SVPROC; 3385 alias void function(GLuint index, const(GLbyte)* v) PFNGLVERTEXATTRIB4NBVPROC; 3386 alias void function(GLuint index, const(GLint)* v) PFNGLVERTEXATTRIB4NIVPROC; 3387 alias void function(GLuint index, const(GLshort)* v) PFNGLVERTEXATTRIB4NSVPROC; 3388 alias void function(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) PFNGLVERTEXATTRIB4NUBPROC; 3389 alias void function(GLuint index, const(GLubyte)* v) PFNGLVERTEXATTRIB4NUBVPROC; 3390 alias void function(GLuint index, const(GLuint)* v) PFNGLVERTEXATTRIB4NUIVPROC; 3391 alias void function(GLuint index, const(GLushort)* v) PFNGLVERTEXATTRIB4NUSVPROC; 3392 alias void function(GLuint index, const(GLbyte)* v) PFNGLVERTEXATTRIB4BVPROC; 3393 alias void function(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) PFNGLVERTEXATTRIB4DPROC; 3394 alias void function(GLuint index, const(GLdouble)* v) PFNGLVERTEXATTRIB4DVPROC; 3395 alias void function(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) PFNGLVERTEXATTRIB4FPROC; 3396 alias void function(GLuint index, const(GLfloat)* v) PFNGLVERTEXATTRIB4FVPROC; 3397 alias void function(GLuint index, const(GLint)* v) PFNGLVERTEXATTRIB4IVPROC; 3398 alias void function(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) PFNGLVERTEXATTRIB4SPROC; 3399 alias void function(GLuint index, const(GLshort)* v) PFNGLVERTEXATTRIB4SVPROC; 3400 alias void function(GLuint index, const(GLubyte)* v) PFNGLVERTEXATTRIB4UBVPROC; 3401 alias void function(GLuint index, const(GLuint)* v) PFNGLVERTEXATTRIB4UIVPROC; 3402 alias void function(GLuint index, const(GLushort)* v) PFNGLVERTEXATTRIB4USVPROC; 3403 alias void function(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const(GLvoid)* pointer) PFNGLVERTEXATTRIBPOINTERPROC; 3404 3405 // GL_VERSION_2_1 3406 3407 export void glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value); 3408 export void glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value); 3409 export void glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value); 3410 export void glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value); 3411 export void glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value); 3412 export void glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value); 3413 3414 alias void function(GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) PFNGLUNIFORMMATRIX2X3FVPROC; 3415 alias void function(GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) PFNGLUNIFORMMATRIX3X2FVPROC; 3416 alias void function(GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) PFNGLUNIFORMMATRIX2X4FVPROC; 3417 alias void function(GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) PFNGLUNIFORMMATRIX4X2FVPROC; 3418 alias void function(GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) PFNGLUNIFORMMATRIX3X4FVPROC; 3419 alias void function(GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) PFNGLUNIFORMMATRIX4X3FVPROC; 3420 3421 // GL_VERSION_3_0 3422 3423 /* OpenGL 3.0 also reuses entry points from these extensions: */ 3424 /* ARB_framebuffer_object*/ 3425 /* ARB_map_buffer_range*/ 3426 /* ARB_vertex_array_object)*/ 3427 export void glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a); 3428 export void glGetBooleani_v(GLenum target, GLuint index, GLboolean* data); 3429 export void glGetIntegeri_v(GLenum target, GLuint index, GLint* data); 3430 export void glEnablei(GLenum target, GLuint index); 3431 export void glDisablei(GLenum target, GLuint index); 3432 export GLboolean glIsEnabledi(GLenum target, GLuint index); 3433 export void glBeginTransformFeedback(GLenum primitiveMode); 3434 export void glEndTransformFeedback(); 3435 export void glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); 3436 export void glBindBufferBase(GLenum target, GLuint index, GLuint buffer); 3437 export void glTransformFeedbackVaryings(GLuint program, GLsizei count, const(GLchar)** varyings, GLenum bufferMode); 3438 export void glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, GLchar* name); 3439 export void glClampColor(GLenum target, GLenum clamp); 3440 export void glBeginConditionalRender(GLuint id, GLenum mode); 3441 export void glEndConditionalRender(); 3442 export void glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const(GLvoid)* pointer); 3443 export void glGetVertexAttribIiv(GLuint index, GLenum pname, GLint* params); 3444 export void glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint* params); 3445 export void glVertexAttribI1i(GLuint index, GLint x); 3446 export void glVertexAttribI2i(GLuint index, GLint x, GLint y); 3447 export void glVertexAttribI3i(GLuint index, GLint x, GLint y, GLint z); 3448 export void glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w); 3449 export void glVertexAttribI1ui(GLuint index, GLuint x); 3450 export void glVertexAttribI2ui(GLuint index, GLuint x, GLuint y); 3451 export void glVertexAttribI3ui(GLuint index, GLuint x, GLuint y, GLuint z); 3452 export void glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); 3453 export void glVertexAttribI1iv(GLuint index, const(GLint)* v); 3454 export void glVertexAttribI2iv(GLuint index, const(GLint)* v); 3455 export void glVertexAttribI3iv(GLuint index, const(GLint)* v); 3456 export void glVertexAttribI4iv(GLuint index, const(GLint)* v); 3457 export void glVertexAttribI1uiv(GLuint index, const(GLuint)* v); 3458 export void glVertexAttribI2uiv(GLuint index, const(GLuint)* v); 3459 export void glVertexAttribI3uiv(GLuint index, const(GLuint)* v); 3460 export void glVertexAttribI4uiv(GLuint index, const(GLuint)* v); 3461 export void glVertexAttribI4bv(GLuint index, const(GLbyte)* v); 3462 export void glVertexAttribI4sv(GLuint index, const(GLshort)* v); 3463 export void glVertexAttribI4ubv(GLuint index, const(GLubyte)* v); 3464 export void glVertexAttribI4usv(GLuint index, const(GLushort)* v); 3465 export void glGetUniformuiv(GLuint program, GLint location, GLuint* params); 3466 export void glBindFragDataLocation(GLuint program, GLuint color, const(GLchar)* name); 3467 export GLint glGetFragDataLocation(GLuint program, const(GLchar)* name); 3468 export void glUniform1ui(GLint location, GLuint v0); 3469 export void glUniform2ui(GLint location, GLuint v0, GLuint v1); 3470 export void glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2); 3471 export void glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); 3472 export void glUniform1uiv(GLint location, GLsizei count, const(GLuint)* value); 3473 export void glUniform2uiv(GLint location, GLsizei count, const(GLuint)* value); 3474 export void glUniform3uiv(GLint location, GLsizei count, const(GLuint)* value); 3475 export void glUniform4uiv(GLint location, GLsizei count, const(GLuint)* value); 3476 export void glTexParameterIiv(GLenum target, GLenum pname, const(GLint)* params); 3477 export void glTexParameterIuiv(GLenum target, GLenum pname, const(GLuint)* params); 3478 export void glGetTexParameterIiv(GLenum target, GLenum pname, GLint* params); 3479 export void glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint* params); 3480 export void glClearBufferiv(GLenum buffer, GLint drawbuffer, const(GLint)* value); 3481 export void glClearBufferuiv(GLenum buffer, GLint drawbuffer, const(GLuint)* value); 3482 export void glClearBufferfv(GLenum buffer, GLint drawbuffer, const(GLfloat)* value); 3483 export void glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); 3484 export const(GLubyte)* glGetStringi(GLenum name, GLuint index); 3485 3486 alias void function(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) PFNGLCOLORMASKIPROC; 3487 alias void function(GLenum target, GLuint index, GLboolean* data) PFNGLGETBOOLEANI_VPROC; 3488 alias void function(GLenum target, GLuint index, GLint* data) PFNGLGETINTEGERI_VPROC; 3489 alias void function(GLenum target, GLuint index) PFNGLENABLEIPROC; 3490 alias void function(GLenum target, GLuint index) PFNGLDISABLEIPROC; 3491 alias GLboolean function(GLenum target, GLuint index) PFNGLISENABLEDIPROC; 3492 alias void function(GLenum primitiveMode) PFNGLBEGINTRANSFORMFEEDBACKPROC; 3493 alias void function() PFNGLENDTRANSFORMFEEDBACKPROC; 3494 alias void function(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) PFNGLBINDBUFFERRANGEPROC; 3495 alias void function(GLenum target, GLuint index, GLuint buffer) PFNGLBINDBUFFERBASEPROC; 3496 alias void function(GLuint program, GLsizei count, const(GLchar)** varyings, GLenum bufferMode) PFNGLTRANSFORMFEEDBACKVARYINGSPROC; 3497 alias void function(GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, GLchar* name) PFNGLGETTRANSFORMFEEDBACKVARYINGPROC; 3498 alias void function(GLenum target, GLenum clamp) PFNGLCLAMPCOLORPROC; 3499 alias void function(GLuint id, GLenum mode) PFNGLBEGINCONDITIONALRENDERPROC; 3500 alias void function() PFNGLENDCONDITIONALRENDERPROC; 3501 alias void function(GLuint index, GLint size, GLenum type, GLsizei stride, const(GLvoid)* pointer) PFNGLVERTEXATTRIBIPOINTERPROC; 3502 alias void function(GLuint index, GLenum pname, GLint* params) PFNGLGETVERTEXATTRIBIIVPROC; 3503 alias void function(GLuint index, GLenum pname, GLuint* params) PFNGLGETVERTEXATTRIBIUIVPROC; 3504 alias void function(GLuint index, GLint x) PFNGLVERTEXATTRIBI1IPROC; 3505 alias void function(GLuint index, GLint x, GLint y) PFNGLVERTEXATTRIBI2IPROC; 3506 alias void function(GLuint index, GLint x, GLint y, GLint z) PFNGLVERTEXATTRIBI3IPROC; 3507 alias void function(GLuint index, GLint x, GLint y, GLint z, GLint w) PFNGLVERTEXATTRIBI4IPROC; 3508 alias void function(GLuint index, GLuint x) PFNGLVERTEXATTRIBI1UIPROC; 3509 alias void function(GLuint index, GLuint x, GLuint y) PFNGLVERTEXATTRIBI2UIPROC; 3510 alias void function(GLuint index, GLuint x, GLuint y, GLuint z) PFNGLVERTEXATTRIBI3UIPROC; 3511 alias void function(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) PFNGLVERTEXATTRIBI4UIPROC; 3512 alias void function(GLuint index, const(GLint)* v) PFNGLVERTEXATTRIBI1IVPROC; 3513 alias void function(GLuint index, const(GLint)* v) PFNGLVERTEXATTRIBI2IVPROC; 3514 alias void function(GLuint index, const(GLint)* v) PFNGLVERTEXATTRIBI3IVPROC; 3515 alias void function(GLuint index, const(GLint)* v) PFNGLVERTEXATTRIBI4IVPROC; 3516 alias void function(GLuint index, const(GLuint)* v) PFNGLVERTEXATTRIBI1UIVPROC; 3517 alias void function(GLuint index, const(GLuint)* v) PFNGLVERTEXATTRIBI2UIVPROC; 3518 alias void function(GLuint index, const(GLuint)* v) PFNGLVERTEXATTRIBI3UIVPROC; 3519 alias void function(GLuint index, const(GLuint)* v) PFNGLVERTEXATTRIBI4UIVPROC; 3520 alias void function(GLuint index, const(GLbyte)* v) PFNGLVERTEXATTRIBI4BVPROC; 3521 alias void function(GLuint index, const(GLshort)* v) PFNGLVERTEXATTRIBI4SVPROC; 3522 alias void function(GLuint index, const(GLubyte)* v) PFNGLVERTEXATTRIBI4UBVPROC; 3523 alias void function(GLuint index, const(GLushort)* v) PFNGLVERTEXATTRIBI4USVPROC; 3524 alias void function(GLuint program, GLint location, GLuint* params) PFNGLGETUNIFORMUIVPROC; 3525 alias void function(GLuint program, GLuint color, const(GLchar)* name) PFNGLBINDFRAGDATALOCATIONPROC; 3526 alias GLint function(GLuint program, const(GLchar)* name) PFNGLGETFRAGDATALOCATIONPROC; 3527 alias void function(GLint location, GLuint v0) PFNGLUNIFORM1UIPROC; 3528 alias void function(GLint location, GLuint v0, GLuint v1) PFNGLUNIFORM2UIPROC; 3529 alias void function(GLint location, GLuint v0, GLuint v1, GLuint v2) PFNGLUNIFORM3UIPROC; 3530 alias void function(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) PFNGLUNIFORM4UIPROC; 3531 alias void function(GLint location, GLsizei count, const(GLuint)* value) PFNGLUNIFORM1UIVPROC; 3532 alias void function(GLint location, GLsizei count, const(GLuint)* value) PFNGLUNIFORM2UIVPROC; 3533 alias void function(GLint location, GLsizei count, const(GLuint)* value) PFNGLUNIFORM3UIVPROC; 3534 alias void function(GLint location, GLsizei count, const(GLuint)* value) PFNGLUNIFORM4UIVPROC; 3535 alias void function(GLenum target, GLenum pname, const(GLint)* params) PFNGLTEXPARAMETERIIVPROC; 3536 alias void function(GLenum target, GLenum pname, const(GLuint)* params) PFNGLTEXPARAMETERIUIVPROC; 3537 alias void function(GLenum target, GLenum pname, GLint* params) PFNGLGETTEXPARAMETERIIVPROC; 3538 alias void function(GLenum target, GLenum pname, GLuint* params) PFNGLGETTEXPARAMETERIUIVPROC; 3539 alias void function(GLenum buffer, GLint drawbuffer, const(GLint)* value) PFNGLCLEARBUFFERIVPROC; 3540 alias void function(GLenum buffer, GLint drawbuffer, const(GLuint)* value) PFNGLCLEARBUFFERUIVPROC; 3541 alias void function(GLenum buffer, GLint drawbuffer, const(GLfloat)* value) PFNGLCLEARBUFFERFVPROC; 3542 alias void function(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) PFNGLCLEARBUFFERFIPROC; 3543 alias const(GLubyte)* function(GLenum name, GLuint index) PFNGLGETSTRINGIPROC; 3544 3545 // GL_VERSION_3_1 3546 3547 /* OpenGL 3.1 also reuses entry points from these extensions:*/ 3548 /* ARB_copy_buffer*/ 3549 /* ARB_uniform_buffer_object*/ 3550 export void glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount); 3551 export void glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const(GLvoid)* indices, GLsizei instancecount); 3552 export void glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer); 3553 export void glPrimitiveRestartIndex(GLuint index); 3554 3555 alias void function(GLenum mode, GLint first, GLsizei count, GLsizei instancecount) PFNGLDRAWARRAYSINSTANCEDPROC; 3556 alias void function(GLenum mode, GLsizei count, GLenum type, const(GLvoid)* indices, GLsizei instancecount) PFNGLDRAWELEMENTSINSTANCEDPROC; 3557 alias void function(GLenum target, GLenum internalformat, GLuint buffer) PFNGLTEXBUFFERPROC; 3558 alias void function(GLuint index) PFNGLPRIMITIVERESTARTINDEXPROC; 3559 3560 // GL_VERSION_3_2 3561 3562 /* OpenGL 3.2 also reuses entry points from these extensions:*/ 3563 /* ARB_draw_elements_base_vertex*/ 3564 /* ARB_provoking_vertex*/ 3565 /* ARB_sync*/ 3566 /* ARB_texture_multisample*/ 3567 export void glGetInteger64i_v(GLenum target, GLuint index, GLint64* data); 3568 export void glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64* params); 3569 export void glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level); 3570 3571 alias void function(GLenum target, GLuint index, GLint64* data) PFNGLGETINTEGER64I_VPROC; 3572 alias void function(GLenum target, GLenum pname, GLint64* params) PFNGLGETBUFFERPARAMETERI64VPROC; 3573 alias void function(GLenum target, GLenum attachment, GLuint texture, GLint level) PFNGLFRAMEBUFFERTEXTUREPROC; 3574 3575 // GL_VERSION_3_3 3576 3577 /* OpenGL 3.3 also reuses entry points from these extensions:*/ 3578 /* ARB_blend_func_extended*/ 3579 /* ARB_sampler_objects*/ 3580 /* ARB_explicit_attrib_location, but it has none*/ 3581 /* ARB_occlusion_query2(no entry points)*/ 3582 /* ARB_shader_bit_encoding(no entry points)*/ 3583 /* ARB_texture_rgb10_a2ui(no entry points)*/ 3584 /* ARB_texture_swizzle(no entry points)*/ 3585 /* ARB_timer_query*/ 3586 /* ARB_vertex_type_2_10_10_10_rev*/ 3587 export void glVertexAttribDivisor(GLuint index, GLuint divisor); 3588 3589 alias void function(GLuint index, GLuint divisor) PFNGLVERTEXATTRIBDIVISORPROC; 3590 3591 // GL_VERSION_4_0 3592 3593 /* OpenGL 4.0 also reuses entry points from these extensions:*/ 3594 /* ARB_texture_query_lod(no entry points)*/ 3595 /* ARB_draw_indirect*/ 3596 /* ARB_gpu_shader5(no entry points)*/ 3597 /* ARB_gpu_shader_fp64*/ 3598 /* ARB_shader_subroutine*/ 3599 /* ARB_tessellation_shader*/ 3600 /* ARB_texture_buffer_object_rgb32(no entry points)*/ 3601 /* ARB_texture_cube_map_array(no entry points)*/ 3602 /* ARB_texture_gather(no entry points)*/ 3603 /* ARB_transform_feedback2*/ 3604 /* ARB_transform_feedback3*/ 3605 export void glMinSampleShading(GLfloat value); 3606 export void glBlendEquationi(GLuint buf, GLenum mode); 3607 export void glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha); 3608 export void glBlendFunci(GLuint buf, GLenum src, GLenum dst); 3609 export void glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); 3610 3611 alias void function(GLfloat value) PFNGLMINSAMPLESHADINGPROC; 3612 alias void function(GLuint buf, GLenum mode) PFNGLBLENDEQUATIONIPROC; 3613 alias void function(GLuint buf, GLenum modeRGB, GLenum modeAlpha) PFNGLBLENDEQUATIONSEPARATEIPROC; 3614 alias void function(GLuint buf, GLenum src, GLenum dst) PFNGLBLENDFUNCIPROC; 3615 alias void function(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) PFNGLBLENDFUNCSEPARATEIPROC; 3616 3617 // GL_VERSION_4_1 3618 3619 /* OpenGL 4.1 reuses entry points from these extensions:*/ 3620 /* ARB_ES2_compatibility*/ 3621 /* ARB_get_program_binary*/ 3622 /* ARB_separate_shader_objects*/ 3623 /* ARB_shader_precision(no entry points)*/ 3624 /* ARB_vertex_attrib_64bit*/ 3625 /* ARB_viewport_array*/ 3626 3627 // GL_VERSION_4_2 3628 3629 /* OpenGL 4.2 reuses entry points from these extensions:*/ 3630 /* ARB_base_instance*/ 3631 /* ARB_shading_language_420pack(no entry points)*/ 3632 /* ARB_transform_feedback_instanced*/ 3633 /* ARB_compressed_texture_pixel_storage(no entry points)*/ 3634 /* ARB_conservative_depth(no entry points)*/ 3635 /* ARB_internalformat_query*/ 3636 /* ARB_map_buffer_alignment(no entry points)*/ 3637 /* ARB_shader_atomic_counters*/ 3638 /* ARB_shader_image_load_store*/ 3639 /* ARB_shading_language_packing(no entry points)*/ 3640 /* ARB_texture_storage*/ 3641 3642 // GL_VERSION_4_3 3643 3644 /* OpenGL 4.3 reuses entry points from these extensions:*/ 3645 /* ARB_arrays_of_arrays(no entry points, GLSL only)*/ 3646 /* ARB_fragment_layer_viewport(no entry points, GLSL only)*/ 3647 /* ARB_shader_image_size(no entry points, GLSL only)*/ 3648 /* ARB_ES3_compatibility(no entry points)*/ 3649 /* ARB_clear_buffer_object*/ 3650 /* ARB_compute_shader*/ 3651 /* ARB_copy_image*/ 3652 /* KHR_debug(includes ARB_debug_output commands promoted to KHR without suffixes)*/ 3653 /* ARB_explicit_uniform_location(no entry points)*/ 3654 /* ARB_framebuffer_no_attachments*/ 3655 /* ARB_internalformat_query2*/ 3656 /* ARB_invalidate_subdata*/ 3657 /* ARB_multi_draw_indirect*/ 3658 /* ARB_program_interface_query*/ 3659 /* ARB_robust_buffer_access_behavior(no entry points)*/ 3660 /* ARB_shader_storage_buffer_object*/ 3661 /* ARB_stencil_texturing(no entry points)*/ 3662 /* ARB_texture_buffer_range*/ 3663 /* ARB_texture_query_levels(no entry points)*/ 3664 /* ARB_texture_storage_multisample*/ 3665 /* ARB_texture_view*/ 3666 /* ARB_vertex_attrib_binding*/ 3667 3668 // GL_ARB_depth_buffer_float 3669 3670 // GL_ARB_framebuffer_object 3671 3672 export GLboolean glIsRenderbuffer(GLuint renderbuffer); 3673 export void glBindRenderbuffer(GLenum target, GLuint renderbuffer); 3674 export void glDeleteRenderbuffers(GLsizei n, const(GLuint)* renderbuffers); 3675 export void glGenRenderbuffers(GLsizei n, GLuint* renderbuffers); 3676 export void glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); 3677 export void glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params); 3678 export GLboolean glIsFramebuffer(GLuint framebuffer); 3679 export void glBindFramebuffer(GLenum target, GLuint framebuffer); 3680 export void glDeleteFramebuffers(GLsizei n, const(GLuint)* framebuffers); 3681 export void glGenFramebuffers(GLsizei n, GLuint* framebuffers); 3682 export GLenum glCheckFramebufferStatus(GLenum target); 3683 export void glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); 3684 export void glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); 3685 export void glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); 3686 export void glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); 3687 export void glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint* params); 3688 export void glGenerateMipmap(GLenum target); 3689 export void glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); 3690 export void glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 3691 export void glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); 3692 3693 alias GLboolean function(GLuint renderbuffer) PFNGLISRENDERBUFFERPROC; 3694 alias void function(GLenum target, GLuint renderbuffer) PFNGLBINDRENDERBUFFERPROC; 3695 alias void function(GLsizei n, const(GLuint)* renderbuffers) PFNGLDELETERENDERBUFFERSPROC; 3696 alias void function(GLsizei n, GLuint* renderbuffers) PFNGLGENRENDERBUFFERSPROC; 3697 alias void function(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) PFNGLRENDERBUFFERSTORAGEPROC; 3698 alias void function(GLenum target, GLenum pname, GLint* params) PFNGLGETRENDERBUFFERPARAMETERIVPROC; 3699 alias GLboolean function(GLuint framebuffer) PFNGLISFRAMEBUFFERPROC; 3700 alias void function(GLenum target, GLuint framebuffer) PFNGLBINDFRAMEBUFFERPROC; 3701 alias void function(GLsizei n, const(GLuint)* framebuffers) PFNGLDELETEFRAMEBUFFERSPROC; 3702 alias void function(GLsizei n, GLuint* framebuffers) PFNGLGENFRAMEBUFFERSPROC; 3703 alias GLenum function(GLenum target) PFNGLCHECKFRAMEBUFFERSTATUSPROC; 3704 alias void function(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) PFNGLFRAMEBUFFERTEXTURE1DPROC; 3705 alias void function(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) PFNGLFRAMEBUFFERTEXTURE2DPROC; 3706 alias void function(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) PFNGLFRAMEBUFFERTEXTURE3DPROC; 3707 alias void function(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) PFNGLFRAMEBUFFERRENDERBUFFERPROC; 3708 alias void function(GLenum target, GLenum attachment, GLenum pname, GLint* params) PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC; 3709 alias void function(GLenum target) PFNGLGENERATEMIPMAPPROC; 3710 alias void function(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) PFNGLBLITFRAMEBUFFERPROC; 3711 alias void function(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC; 3712 alias void function(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) PFNGLFRAMEBUFFERTEXTURELAYERPROC; 3713 3714 // GL_ARB_framebuffer_sRGB 3715 3716 // GL_ARB_half_float_vertex 3717 3718 // GL_ARB_map_buffer_range 3719 export GLvoid* glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); 3720 export void glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length); 3721 3722 alias GLvoid* function(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) PFNGLMAPBUFFERRANGEPROC; 3723 alias void function(GLenum target, GLintptr offset, GLsizeiptr length) PFNGLFLUSHMAPPEDBUFFERRANGEPROC; 3724 3725 // GL_ARB_texture_compression_rgtc 3726 3727 // GL_ARB_texture_rg 3728 3729 // GL_ARB_vertex_array_object 3730 3731 export void glBindVertexArray(GLuint array); 3732 export void glDeleteVertexArrays(GLsizei n, const(GLuint)* arrays); 3733 export void glGenVertexArrays(GLsizei n, GLuint* arrays); 3734 export GLboolean glIsVertexArray(GLuint array); 3735 3736 alias void function(GLuint array) PFNGLBINDVERTEXARRAYPROC; 3737 alias void function(GLsizei n, const(GLuint)* arrays) PFNGLDELETEVERTEXARRAYSPROC; 3738 alias void function(GLsizei n, GLuint* arrays) PFNGLGENVERTEXARRAYSPROC; 3739 alias GLboolean function(GLuint array) PFNGLISVERTEXARRAYPROC; 3740 3741 // GL_ARB_uniform_buffer_object 3742 3743 export void glGetUniformIndices(GLuint program, GLsizei uniformCount, const(GLchar)** uniformNames, GLuint* uniformIndices); 3744 export void glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const(GLuint)* uniformIndices, GLenum pname, GLint* params); 3745 export void glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformName); 3746 export GLuint glGetUniformBlockIndex(GLuint program, const(GLchar)* uniformBlockName); 3747 export void glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params); 3748 export void glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName); 3749 export void glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); 3750 3751 alias void function(GLuint program, GLsizei uniformCount, const(GLchar)** uniformNames, GLuint* uniformIndices) PFNGLGETUNIFORMINDICESPROC; 3752 alias void function(GLuint program, GLsizei uniformCount, const(GLuint)* uniformIndices, GLenum pname, GLint* params) PFNGLGETACTIVEUNIFORMSIVPROC; 3753 alias void function(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformName) PFNGLGETACTIVEUNIFORMNAMEPROC; 3754 alias GLuint function(GLuint program, const(GLchar)* uniformBlockName) PFNGLGETUNIFORMBLOCKINDEXPROC; 3755 alias void function(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params) PFNGLGETACTIVEUNIFORMBLOCKIVPROC; 3756 alias void function(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName) PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC; 3757 alias void function(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) PFNGLUNIFORMBLOCKBINDINGPROC; 3758 3759 // GL_ARB_copy_buffer 3760 3761 export void glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); 3762 3763 alias void function(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) PFNGLCOPYBUFFERSUBDATAPROC; 3764 3765 // GL_ARB_depth_clamp 3766 3767 // GL_ARB_draw_elements_base_vertex 3768 3769 export void glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const(GLvoid)* indices, GLint basevertex); 3770 export void glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const(GLvoid)* indices, GLint basevertex); 3771 export void glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const(GLvoid)* indices, GLsizei instancecount, GLint basevertex); 3772 export void glMultiDrawElementsBaseVertex(GLenum mode, const(GLsizei)* count, GLenum type, const(GLvoid)** indices, GLsizei drawcount, const(GLint)* basevertex); 3773 3774 alias void function(GLenum mode, GLsizei count, GLenum type, const(GLvoid)* indices, GLint basevertex) PFNGLDRAWELEMENTSBASEVERTEXPROC; 3775 alias void function(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const(GLvoid)* indices, GLint basevertex) PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC; 3776 alias void function(GLenum mode, GLsizei count, GLenum type, const(GLvoid)* indices, GLsizei instancecount, GLint basevertex) PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC; 3777 alias void function(GLenum mode, const(GLsizei)* count, GLenum type, const(GLvoid)** indices, GLsizei drawcount, const(GLint)* basevertex) PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC; 3778 3779 // GL_ARB_fragment_coord_conventions 3780 3781 // GL_ARB_provoking_vertex 3782 3783 export void glProvokingVertex(GLenum mode); 3784 3785 alias void function(GLenum mode) PFNGLPROVOKINGVERTEXPROC; 3786 3787 // GL_ARB_seamless_cube_map 3788 3789 // GL_ARB_sync 3790 3791 export GLsync glFenceSync(GLenum condition, GLbitfield flags); 3792 export GLboolean glIsSync(GLsync sync); 3793 export void glDeleteSync(GLsync sync); 3794 export GLenum glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout); 3795 export void glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout); 3796 export void glGetInteger64v(GLenum pname, GLint64* params); 3797 export void glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values); 3798 3799 alias GLsync function(GLenum condition, GLbitfield flags) PFNGLFENCESYNCPROC; 3800 alias GLboolean function(GLsync sync) PFNGLISSYNCPROC; 3801 alias void function(GLsync sync) PFNGLDELETESYNCPROC; 3802 alias GLenum function(GLsync sync, GLbitfield flags, GLuint64 timeout) PFNGLCLIENTWAITSYNCPROC; 3803 alias void function(GLsync sync, GLbitfield flags, GLuint64 timeout) PFNGLWAITSYNCPROC; 3804 alias void function(GLenum pname, GLint64* params) PFNGLGETINTEGER64VPROC; 3805 alias void function(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values) PFNGLGETSYNCIVPROC; 3806 3807 // GL_ARB_texture_multisample 3808 3809 export void glTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); 3810 export void glTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); 3811 export void glGetMultisamplefv(GLenum pname, GLuint index, GLfloat* val); 3812 export void glSampleMaski(GLuint index, GLbitfield mask); 3813 3814 alias void function(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) PFNGLTEXIMAGE2DMULTISAMPLEPROC; 3815 alias void function(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) PFNGLTEXIMAGE3DMULTISAMPLEPROC; 3816 alias void function(GLenum pname, GLuint index, GLfloat* val) PFNGLGETMULTISAMPLEFVPROC; 3817 alias void function(GLuint index, GLbitfield mask) PFNGLSAMPLEMASKIPROC; 3818 3819 // GL_ARB_vertex_array_bgra 3820 3821 // GL_ARB_draw_buffers_blend 3822 3823 export void glBlendEquationiARB(GLuint buf, GLenum mode); 3824 export void glBlendEquationSeparateiARB(GLuint buf, GLenum modeRGB, GLenum modeAlpha); 3825 export void glBlendFunciARB(GLuint buf, GLenum src, GLenum dst); 3826 export void glBlendFuncSeparateiARB(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); 3827 3828 alias void function(GLuint buf, GLenum mode) PFNGLBLENDEQUATIONIARBPROC; 3829 alias void function(GLuint buf, GLenum modeRGB, GLenum modeAlpha) PFNGLBLENDEQUATIONSEPARATEIARBPROC; 3830 alias void function(GLuint buf, GLenum src, GLenum dst) PFNGLBLENDFUNCIARBPROC; 3831 alias void function(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) PFNGLBLENDFUNCSEPARATEIARBPROC; 3832 3833 // GL_ARB_sample_shading 3834 3835 export void glMinSampleShadingARB(GLfloat value); 3836 3837 alias void function(GLfloat value) PFNGLMINSAMPLESHADINGARBPROC; 3838 3839 // GL_ARB_texture_cube_map_array 3840 3841 // GL_ARB_texture_gather 3842 3843 // GL_ARB_texture_query_lod 3844 3845 // GL_ARB_shading_language_include 3846 3847 export void glNamedStringARB(GLenum type, GLint namelen, const(GLchar)* name, GLint stringlen, const(GLchar)* string); 3848 export void glDeleteNamedStringARB(GLint namelen, const(GLchar)* name); 3849 export void glCompileShaderIncludeARB(GLuint shader, GLsizei count, const(GLchar*)* path, const(GLint)* length); 3850 export GLboolean glIsNamedStringARB(GLint namelen, const(GLchar)* name); 3851 export void glGetNamedStringARB(GLint namelen, const(GLchar)* name, GLsizei bufSize, GLint* stringlen, GLchar* string); 3852 export void glGetNamedStringivARB(GLint namelen, const(GLchar)* name, GLenum pname, GLint* params); 3853 3854 alias void function(GLenum type, GLint namelen, const(GLchar)* name, GLint stringlen, const(GLchar)* string) PFNGLNAMEDSTRINGARBPROC; 3855 alias void function(GLint namelen, const(GLchar)* name) PFNGLDELETENAMEDSTRINGARBPROC; 3856 alias void function(GLuint shader, GLsizei count, const(GLchar*)* path, const(GLint)* length) PFNGLCOMPILESHADERINCLUDEARBPROC; 3857 alias GLboolean function(GLint namelen, const(GLchar)* name) PFNGLISNAMEDSTRINGARBPROC; 3858 alias void function(GLint namelen, const(GLchar)* name, GLsizei bufSize, GLint* stringlen, GLchar* string) PFNGLGETNAMEDSTRINGARBPROC; 3859 alias void function(GLint namelen, const(GLchar)* name, GLenum pname, GLint* params) PFNGLGETNAMEDSTRINGIVARBPROC; 3860 3861 // GL_ARB_texture_compression_bptc 3862 3863 // GL_ARB_blend_func_extended 3864 3865 export void glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const(GLchar)* name); 3866 export GLint glGetFragDataIndex(GLuint program, const(GLchar)* name); 3867 3868 alias void function(GLuint program, GLuint colorNumber, GLuint index, const(GLchar)* name) PFNGLBINDFRAGDATALOCATIONINDEXEDPROC; 3869 alias GLint function(GLuint program, const(GLchar)* name) PFNGLGETFRAGDATAINDEXPROC; 3870 3871 // GL_ARB_explicit_attrib_location 3872 3873 // GL_ARB_occlusion_query2 3874 3875 // GL_ARB_sampler_objects 3876 3877 export void glGenSamplers(GLsizei count, GLuint* samplers); 3878 export void glDeleteSamplers(GLsizei count, const(GLuint)* samplers); 3879 export GLboolean glIsSampler(GLuint sampler); 3880 export void glBindSampler(GLuint unit, GLuint sampler); 3881 export void glSamplerParameteri(GLuint sampler, GLenum pname, GLint param); 3882 export void glSamplerParameteriv(GLuint sampler, GLenum pname, const(GLint)* param); 3883 export void glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param); 3884 export void glSamplerParameterfv(GLuint sampler, GLenum pname, const(GLfloat)* param); 3885 export void glSamplerParameterIiv(GLuint sampler, GLenum pname, const(GLint)* param); 3886 export void glSamplerParameterIuiv(GLuint sampler, GLenum pname, const(GLuint)* param); 3887 export void glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint* params); 3888 export void glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint* params); 3889 export void glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat* params); 3890 export void glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint* params); 3891 3892 alias void function(GLsizei count, GLuint* samplers) PFNGLGENSAMPLERSPROC; 3893 alias void function(GLsizei count, const(GLuint)* samplers) PFNGLDELETESAMPLERSPROC; 3894 alias GLboolean function(GLuint sampler) PFNGLISSAMPLERPROC; 3895 alias void function(GLuint unit, GLuint sampler) PFNGLBINDSAMPLERPROC; 3896 alias void function(GLuint sampler, GLenum pname, GLint param) PFNGLSAMPLERPARAMETERIPROC; 3897 alias void function(GLuint sampler, GLenum pname, const(GLint)* param) PFNGLSAMPLERPARAMETERIVPROC; 3898 alias void function(GLuint sampler, GLenum pname, GLfloat param) PFNGLSAMPLERPARAMETERFPROC; 3899 alias void function(GLuint sampler, GLenum pname, const(GLfloat)* param) PFNGLSAMPLERPARAMETERFVPROC; 3900 alias void function(GLuint sampler, GLenum pname, const(GLint)* param) PFNGLSAMPLERPARAMETERIIVPROC; 3901 alias void function(GLuint sampler, GLenum pname, const(GLuint)* param) PFNGLSAMPLERPARAMETERIUIVPROC; 3902 alias void function(GLuint sampler, GLenum pname, GLint* params) PFNGLGETSAMPLERPARAMETERIVPROC; 3903 alias void function(GLuint sampler, GLenum pname, GLint* params) PFNGLGETSAMPLERPARAMETERIIVPROC; 3904 alias void function(GLuint sampler, GLenum pname, GLfloat* params) PFNGLGETSAMPLERPARAMETERFVPROC; 3905 alias void function(GLuint sampler, GLenum pname, GLuint* params) PFNGLGETSAMPLERPARAMETERIUIVPROC; 3906 3907 // GL_ARB_shader_bit_encoding 3908 3909 // GL_ARB_texture_rgb10_a2ui 3910 3911 // GL_ARB_texture_swizzle 3912 3913 // GL_ARB_timer_query 3914 3915 export void glQueryCounter(GLuint id, GLenum target); 3916 export void glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64* params); 3917 export void glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64* params); 3918 3919 alias void function(GLuint id, GLenum target) PFNGLQUERYCOUNTERPROC; 3920 alias void function(GLuint id, GLenum pname, GLint64* params) PFNGLGETQUERYOBJECTI64VPROC; 3921 alias void function(GLuint id, GLenum pname, GLuint64* params) PFNGLGETQUERYOBJECTUI64VPROC; 3922 3923 // GL_ARB_vertex_type_2_10_10_10_rev 3924 3925 export void glVertexP2ui(GLenum type, GLuint value); 3926 export void glVertexP2uiv(GLenum type, const(GLuint)* value); 3927 export void glVertexP3ui(GLenum type, GLuint value); 3928 export void glVertexP3uiv(GLenum type, const(GLuint)* value); 3929 export void glVertexP4ui(GLenum type, GLuint value); 3930 export void glVertexP4uiv(GLenum type, const(GLuint)* value); 3931 export void glTexCoordP1ui(GLenum type, GLuint coords); 3932 export void glTexCoordP1uiv(GLenum type, const(GLuint)* coords); 3933 export void glTexCoordP2ui(GLenum type, GLuint coords); 3934 export void glTexCoordP2uiv(GLenum type, const(GLuint)* coords); 3935 export void glTexCoordP3ui(GLenum type, GLuint coords); 3936 export void glTexCoordP3uiv(GLenum type, const(GLuint)* coords); 3937 export void glTexCoordP4ui(GLenum type, GLuint coords); 3938 export void glTexCoordP4uiv(GLenum type, const(GLuint)* coords); 3939 export void glMultiTexCoordP1ui(GLenum texture, GLenum type, GLuint coords); 3940 export void glMultiTexCoordP1uiv(GLenum texture, GLenum type, const(GLuint)* coords); 3941 export void glMultiTexCoordP2ui(GLenum texture, GLenum type, GLuint coords); 3942 export void glMultiTexCoordP2uiv(GLenum texture, GLenum type, const(GLuint)* coords); 3943 export void glMultiTexCoordP3ui(GLenum texture, GLenum type, GLuint coords); 3944 export void glMultiTexCoordP3uiv(GLenum texture, GLenum type, const(GLuint)* coords); 3945 export void glMultiTexCoordP4ui(GLenum texture, GLenum type, GLuint coords); 3946 export void glMultiTexCoordP4uiv(GLenum texture, GLenum type, const(GLuint)* coords); 3947 export void glNormalP3ui(GLenum type, GLuint coords); 3948 export void glNormalP3uiv(GLenum type, const(GLuint)* coords); 3949 export void glColorP3ui(GLenum type, GLuint color); 3950 export void glColorP3uiv(GLenum type, const(GLuint)* color); 3951 export void glColorP4ui(GLenum type, GLuint color); 3952 export void glColorP4uiv(GLenum type, const(GLuint)* color); 3953 export void glSecondaryColorP3ui(GLenum type, GLuint color); 3954 export void glSecondaryColorP3uiv(GLenum type, const(GLuint)* color); 3955 export void glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value); 3956 export void glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const(GLuint)* value); 3957 export void glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value); 3958 export void glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const(GLuint)* value); 3959 export void glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value); 3960 export void glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const(GLuint)* value); 3961 export void glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value); 3962 export void glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const(GLuint)* value); 3963 3964 alias void function(GLenum type, GLuint value) PFNGLVERTEXP2UIPROC; 3965 alias void function(GLenum type, const(GLuint)* value) PFNGLVERTEXP2UIVPROC; 3966 alias void function(GLenum type, GLuint value) PFNGLVERTEXP3UIPROC; 3967 alias void function(GLenum type, const(GLuint)* value) PFNGLVERTEXP3UIVPROC; 3968 alias void function(GLenum type, GLuint value) PFNGLVERTEXP4UIPROC; 3969 alias void function(GLenum type, const(GLuint)* value) PFNGLVERTEXP4UIVPROC; 3970 alias void function(GLenum type, GLuint coords) PFNGLTEXCOORDP1UIPROC; 3971 alias void function(GLenum type, const(GLuint)* coords) PFNGLTEXCOORDP1UIVPROC; 3972 alias void function(GLenum type, GLuint coords) PFNGLTEXCOORDP2UIPROC; 3973 alias void function(GLenum type, const(GLuint)* coords) PFNGLTEXCOORDP2UIVPROC; 3974 alias void function(GLenum type, GLuint coords) PFNGLTEXCOORDP3UIPROC; 3975 alias void function(GLenum type, const(GLuint)* coords) PFNGLTEXCOORDP3UIVPROC; 3976 alias void function(GLenum type, GLuint coords) PFNGLTEXCOORDP4UIPROC; 3977 alias void function(GLenum type, const(GLuint)* coords) PFNGLTEXCOORDP4UIVPROC; 3978 alias void function(GLenum texture, GLenum type, GLuint coords) PFNGLMULTITEXCOORDP1UIPROC; 3979 alias void function(GLenum texture, GLenum type, const(GLuint)* coords) PFNGLMULTITEXCOORDP1UIVPROC; 3980 alias void function(GLenum texture, GLenum type, GLuint coords) PFNGLMULTITEXCOORDP2UIPROC; 3981 alias void function(GLenum texture, GLenum type, const(GLuint)* coords) PFNGLMULTITEXCOORDP2UIVPROC; 3982 alias void function(GLenum texture, GLenum type, GLuint coords) PFNGLMULTITEXCOORDP3UIPROC; 3983 alias void function(GLenum texture, GLenum type, const(GLuint)* coords) PFNGLMULTITEXCOORDP3UIVPROC; 3984 alias void function(GLenum texture, GLenum type, GLuint coords) PFNGLMULTITEXCOORDP4UIPROC; 3985 alias void function(GLenum texture, GLenum type, const(GLuint)* coords) PFNGLMULTITEXCOORDP4UIVPROC; 3986 alias void function(GLenum type, GLuint coords) PFNGLNORMALP3UIPROC; 3987 alias void function(GLenum type, const(GLuint)* coords) PFNGLNORMALP3UIVPROC; 3988 alias void function(GLenum type, GLuint color) PFNGLCOLORP3UIPROC; 3989 alias void function(GLenum type, const(GLuint)* color) PFNGLCOLORP3UIVPROC; 3990 alias void function(GLenum type, GLuint color) PFNGLCOLORP4UIPROC; 3991 alias void function(GLenum type, const(GLuint)* color) PFNGLCOLORP4UIVPROC; 3992 alias void function(GLenum type, GLuint color) PFNGLSECONDARYCOLORP3UIPROC; 3993 alias void function(GLenum type, const(GLuint)* color) PFNGLSECONDARYCOLORP3UIVPROC; 3994 alias void function(GLuint index, GLenum type, GLboolean normalized, GLuint value) PFNGLVERTEXATTRIBP1UIPROC; 3995 alias void function(GLuint index, GLenum type, GLboolean normalized, const(GLuint)* value) PFNGLVERTEXATTRIBP1UIVPROC; 3996 alias void function(GLuint index, GLenum type, GLboolean normalized, GLuint value) PFNGLVERTEXATTRIBP2UIPROC; 3997 alias void function(GLuint index, GLenum type, GLboolean normalized, const(GLuint)* value) PFNGLVERTEXATTRIBP2UIVPROC; 3998 alias void function(GLuint index, GLenum type, GLboolean normalized, GLuint value) PFNGLVERTEXATTRIBP3UIPROC; 3999 alias void function(GLuint index, GLenum type, GLboolean normalized, const(GLuint)* value) PFNGLVERTEXATTRIBP3UIVPROC; 4000 alias void function(GLuint index, GLenum type, GLboolean normalized, GLuint value) PFNGLVERTEXATTRIBP4UIPROC; 4001 alias void function(GLuint index, GLenum type, GLboolean normalized, const(GLuint)* value) PFNGLVERTEXATTRIBP4UIVPROC; 4002 4003 // GL_ARB_draw_indirect 4004 4005 export void glDrawArraysIndirect(GLenum mode, const(GLvoid)* indirect); 4006 export void glDrawElementsIndirect(GLenum mode, GLenum type, const(GLvoid)* indirect); 4007 4008 alias void function(GLenum mode, const(GLvoid)* indirect) PFNGLDRAWARRAYSINDIRECTPROC; 4009 alias void function(GLenum mode, GLenum type, const(GLvoid)* indirect) PFNGLDRAWELEMENTSINDIRECTPROC; 4010 4011 // GL_ARB_gpu_shader5 4012 4013 // GL_ARB_gpu_shader_fp64 4014 4015 export void glUniform1d(GLint location, GLdouble x); 4016 export void glUniform2d(GLint location, GLdouble x, GLdouble y); 4017 export void glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z); 4018 export void glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w); 4019 export void glUniform1dv(GLint location, GLsizei count, const(GLdouble)* value); 4020 export void glUniform2dv(GLint location, GLsizei count, const(GLdouble)* value); 4021 export void glUniform3dv(GLint location, GLsizei count, const(GLdouble)* value); 4022 export void glUniform4dv(GLint location, GLsizei count, const(GLdouble)* value); 4023 export void glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value); 4024 export void glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value); 4025 export void glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value); 4026 export void glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value); 4027 export void glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value); 4028 export void glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value); 4029 export void glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value); 4030 export void glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value); 4031 export void glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value); 4032 export void glGetUniformdv(GLuint program, GLint location, GLdouble* params); 4033 4034 alias void function(GLint location, GLdouble x) PFNGLUNIFORM1DPROC; 4035 alias void function(GLint location, GLdouble x, GLdouble y) PFNGLUNIFORM2DPROC; 4036 alias void function(GLint location, GLdouble x, GLdouble y, GLdouble z) PFNGLUNIFORM3DPROC; 4037 alias void function(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w) PFNGLUNIFORM4DPROC; 4038 alias void function(GLint location, GLsizei count, const(GLdouble)* value) PFNGLUNIFORM1DVPROC; 4039 alias void function(GLint location, GLsizei count, const(GLdouble)* value) PFNGLUNIFORM2DVPROC; 4040 alias void function(GLint location, GLsizei count, const(GLdouble)* value) PFNGLUNIFORM3DVPROC; 4041 alias void function(GLint location, GLsizei count, const(GLdouble)* value) PFNGLUNIFORM4DVPROC; 4042 alias void function(GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) PFNGLUNIFORMMATRIX2DVPROC; 4043 alias void function(GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) PFNGLUNIFORMMATRIX3DVPROC; 4044 alias void function(GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) PFNGLUNIFORMMATRIX4DVPROC; 4045 alias void function(GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) PFNGLUNIFORMMATRIX2X3DVPROC; 4046 alias void function(GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) PFNGLUNIFORMMATRIX2X4DVPROC; 4047 alias void function(GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) PFNGLUNIFORMMATRIX3X2DVPROC; 4048 alias void function(GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) PFNGLUNIFORMMATRIX3X4DVPROC; 4049 alias void function(GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) PFNGLUNIFORMMATRIX4X2DVPROC; 4050 alias void function(GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) PFNGLUNIFORMMATRIX4X3DVPROC; 4051 alias void function(GLuint program, GLint location, GLdouble* params) PFNGLGETUNIFORMDVPROC; 4052 4053 // GL_ARB_shader_subroutine 4054 4055 export GLint glGetSubroutineUniformLocation(GLuint program, GLenum shadertype, const(GLchar)* name); 4056 export GLuint glGetSubroutineIndex(GLuint program, GLenum shadertype, const(GLchar)* name); 4057 export void glGetActiveSubroutineUniformiv(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint* values); 4058 export void glGetActiveSubroutineUniformName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei* length, GLchar* name); 4059 export void glGetActiveSubroutineName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei* length, GLchar* name); 4060 export void glUniformSubroutinesuiv(GLenum shadertype, GLsizei count, const(GLuint)* indices); 4061 export void glGetUniformSubroutineuiv(GLenum shadertype, GLint location, GLuint* params); 4062 export void glGetProgramStageiv(GLuint program, GLenum shadertype, GLenum pname, GLint* values); 4063 4064 alias GLint function(GLuint program, GLenum shadertype, const(GLchar)* name) PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC; 4065 alias GLuint function(GLuint program, GLenum shadertype, const(GLchar)* name) PFNGLGETSUBROUTINEINDEXPROC; 4066 alias void function(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint* values) PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC; 4067 alias void function(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei* length, GLchar* name) PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC; 4068 alias void function(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei* length, GLchar* name) PFNGLGETACTIVESUBROUTINENAMEPROC; 4069 alias void function(GLenum shadertype, GLsizei count, const(GLuint)* indices) PFNGLUNIFORMSUBROUTINESUIVPROC; 4070 alias void function(GLenum shadertype, GLint location, GLuint* params) PFNGLGETUNIFORMSUBROUTINEUIVPROC; 4071 alias void function(GLuint program, GLenum shadertype, GLenum pname, GLint* values) PFNGLGETPROGRAMSTAGEIVPROC; 4072 4073 // GL_ARB_tessellation_shader 4074 4075 export void glPatchParameteri(GLenum pname, GLint value); 4076 export void glPatchParameterfv(GLenum pname, const(GLfloat)* values); 4077 4078 alias void function(GLenum pname, GLint value) PFNGLPATCHPARAMETERIPROC; 4079 alias void function(GLenum pname, const(GLfloat)* values) PFNGLPATCHPARAMETERFVPROC; 4080 4081 // GL_ARB_texture_buffer_object_rgb32 4082 4083 // GL_ARB_transform_feedback2 4084 4085 export void glBindTransformFeedback(GLenum target, GLuint id); 4086 export void glDeleteTransformFeedbacks(GLsizei n, const(GLuint)* ids); 4087 export void glGenTransformFeedbacks(GLsizei n, GLuint* ids); 4088 export GLboolean glIsTransformFeedback(GLuint id); 4089 export void glPauseTransformFeedback(); 4090 export void glResumeTransformFeedback(); 4091 export void glDrawTransformFeedback(GLenum mode, GLuint id); 4092 4093 alias void function(GLenum target, GLuint id) PFNGLBINDTRANSFORMFEEDBACKPROC; 4094 alias void function(GLsizei n, const(GLuint)* ids) PFNGLDELETETRANSFORMFEEDBACKSPROC; 4095 alias void function(GLsizei n, GLuint* ids) PFNGLGENTRANSFORMFEEDBACKSPROC; 4096 alias GLboolean function(GLuint id) PFNGLISTRANSFORMFEEDBACKPROC; 4097 alias void function() PFNGLPAUSETRANSFORMFEEDBACKPROC; 4098 alias void function() PFNGLRESUMETRANSFORMFEEDBACKPROC; 4099 alias void function(GLenum mode, GLuint id) PFNGLDRAWTRANSFORMFEEDBACKPROC; 4100 4101 // GL_ARB_transform_feedback3 4102 4103 export void glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream); 4104 export void glBeginQueryIndexed(GLenum target, GLuint index, GLuint id); 4105 export void glEndQueryIndexed(GLenum target, GLuint index); 4106 export void glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint* params); 4107 4108 alias void function(GLenum mode, GLuint id, GLuint stream) PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC; 4109 alias void function(GLenum target, GLuint index, GLuint id) PFNGLBEGINQUERYINDEXEDPROC; 4110 alias void function(GLenum target, GLuint index) PFNGLENDQUERYINDEXEDPROC; 4111 alias void function(GLenum target, GLuint index, GLenum pname, GLint* params) PFNGLGETQUERYINDEXEDIVPROC; 4112 4113 // GL_ARB_ES2_compatibility 4114 4115 export void glReleaseShaderCompiler(); 4116 export void glShaderBinary(GLsizei count, const(GLuint)* shaders, GLenum binaryformat, const(GLvoid)* binary, GLsizei length); 4117 export void glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision); 4118 export void glDepthRangef(GLfloat n, GLfloat f); 4119 export void glClearDepthf(GLfloat d); 4120 4121 alias void function() PFNGLRELEASESHADERCOMPILERPROC; 4122 alias void function(GLsizei count, const(GLuint)* shaders, GLenum binaryformat, const(GLvoid)* binary, GLsizei length) PFNGLSHADERBINARYPROC; 4123 alias void function(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision) PFNGLGETSHADERPRECISIONFORMATPROC; 4124 alias void function(GLfloat n, GLfloat f) PFNGLDEPTHRANGEFPROC; 4125 alias void function(GLfloat d) PFNGLCLEARDEPTHFPROC; 4126 4127 // GL_ARB_get_program_binary 4128 4129 export void glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, GLvoid* binary); 4130 export void glProgramBinary(GLuint program, GLenum binaryFormat, const(GLvoid)* binary, GLsizei length); 4131 export void glProgramParameteri(GLuint program, GLenum pname, GLint value); 4132 4133 alias void function(GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, GLvoid* binary) PFNGLGETPROGRAMBINARYPROC; 4134 alias void function(GLuint program, GLenum binaryFormat, const(GLvoid)* binary, GLsizei length) PFNGLPROGRAMBINARYPROC; 4135 alias void function(GLuint program, GLenum pname, GLint value) PFNGLPROGRAMPARAMETERIPROC; 4136 4137 // GL_ARB_separate_shader_objects 4138 4139 export void glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program); 4140 export void glActiveShaderProgram(GLuint pipeline, GLuint program); 4141 export GLuint glCreateShaderProgramv(GLenum type, GLsizei count, const(GLchar)** strings); 4142 export void glBindProgramPipeline(GLuint pipeline); 4143 export void glDeleteProgramPipelines(GLsizei n, const(GLuint)* pipelines); 4144 export void glGenProgramPipelines(GLsizei n, GLuint* pipelines); 4145 export GLboolean glIsProgramPipeline(GLuint pipeline); 4146 export void glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint* params); 4147 export void glProgramUniform1i(GLuint program, GLint location, GLint v0); 4148 export void glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const(GLint)* value); 4149 export void glProgramUniform1f(GLuint program, GLint location, GLfloat v0); 4150 export void glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const(GLfloat)* value); 4151 export void glProgramUniform1d(GLuint program, GLint location, GLdouble v0); 4152 export void glProgramUniform1dv(GLuint program, GLint location, GLsizei count, const(GLdouble)* value); 4153 export void glProgramUniform1ui(GLuint program, GLint location, GLuint v0); 4154 export void glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const(GLuint)* value); 4155 export void glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1); 4156 export void glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const(GLint)* value); 4157 export void glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1); 4158 export void glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const(GLfloat)* value); 4159 export void glProgramUniform2d(GLuint program, GLint location, GLdouble v0, GLdouble v1); 4160 export void glProgramUniform2dv(GLuint program, GLint location, GLsizei count, const(GLdouble)* value); 4161 export void glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1); 4162 export void glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const(GLuint)* value); 4163 export void glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2); 4164 export void glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const(GLint)* value); 4165 export void glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); 4166 export void glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const(GLfloat)* value); 4167 export void glProgramUniform3d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2); 4168 export void glProgramUniform3dv(GLuint program, GLint location, GLsizei count, const(GLdouble)* value); 4169 export void glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2); 4170 export void glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const(GLuint)* value); 4171 export void glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); 4172 export void glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const(GLint)* value); 4173 export void glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); 4174 export void glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const(GLfloat)* value); 4175 export void glProgramUniform4d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3); 4176 export void glProgramUniform4dv(GLuint program, GLint location, GLsizei count, const(GLdouble)* value); 4177 export void glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); 4178 export void glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const(GLuint)* value); 4179 export void glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value); 4180 export void glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value); 4181 export void glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value); 4182 export void glProgramUniformMatrix2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value); 4183 export void glProgramUniformMatrix3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value); 4184 export void glProgramUniformMatrix4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value); 4185 export void glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value); 4186 export void glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value); 4187 export void glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value); 4188 export void glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value); 4189 export void glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value); 4190 export void glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value); 4191 export void glProgramUniformMatrix2x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value); 4192 export void glProgramUniformMatrix3x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value); 4193 export void glProgramUniformMatrix2x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value); 4194 export void glProgramUniformMatrix4x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value); 4195 export void glProgramUniformMatrix3x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value); 4196 export void glProgramUniformMatrix4x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value); 4197 export void glValidateProgramPipeline(GLuint pipeline); 4198 export void glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei* length, GLchar* infoLog); 4199 4200 alias void function(GLuint pipeline, GLbitfield stages, GLuint program) PFNGLUSEPROGRAMSTAGESPROC; 4201 alias void function(GLuint pipeline, GLuint program) PFNGLACTIVESHADERPROGRAMPROC; 4202 alias GLuint function(GLenum type, GLsizei count, const(GLchar)** strings) PFNGLCREATESHADERPROGRAMVPROC; 4203 alias void function(GLuint pipeline) PFNGLBINDPROGRAMPIPELINEPROC; 4204 alias void function(GLsizei n, const(GLuint)* pipelines) PFNGLDELETEPROGRAMPIPELINESPROC; 4205 alias void function(GLsizei n, GLuint* pipelines) PFNGLGENPROGRAMPIPELINESPROC; 4206 alias GLboolean function(GLuint pipeline) PFNGLISPROGRAMPIPELINEPROC; 4207 alias void function(GLuint pipeline, GLenum pname, GLint* params) PFNGLGETPROGRAMPIPELINEIVPROC; 4208 alias void function(GLuint program, GLint location, GLint v0) PFNGLPROGRAMUNIFORM1IPROC; 4209 alias void function(GLuint program, GLint location, GLsizei count, const(GLint)* value) PFNGLPROGRAMUNIFORM1IVPROC; 4210 alias void function(GLuint program, GLint location, GLfloat v0) PFNGLPROGRAMUNIFORM1FPROC; 4211 alias void function(GLuint program, GLint location, GLsizei count, const(GLfloat)* value) PFNGLPROGRAMUNIFORM1FVPROC; 4212 alias void function(GLuint program, GLint location, GLdouble v0) PFNGLPROGRAMUNIFORM1DPROC; 4213 alias void function(GLuint program, GLint location, GLsizei count, const(GLdouble)* value) PFNGLPROGRAMUNIFORM1DVPROC; 4214 alias void function(GLuint program, GLint location, GLuint v0) PFNGLPROGRAMUNIFORM1UIPROC; 4215 alias void function(GLuint program, GLint location, GLsizei count, const(GLuint)* value) PFNGLPROGRAMUNIFORM1UIVPROC; 4216 alias void function(GLuint program, GLint location, GLint v0, GLint v1) PFNGLPROGRAMUNIFORM2IPROC; 4217 alias void function(GLuint program, GLint location, GLsizei count, const(GLint)* value) PFNGLPROGRAMUNIFORM2IVPROC; 4218 alias void function(GLuint program, GLint location, GLfloat v0, GLfloat v1) PFNGLPROGRAMUNIFORM2FPROC; 4219 alias void function(GLuint program, GLint location, GLsizei count, const(GLfloat)* value) PFNGLPROGRAMUNIFORM2FVPROC; 4220 alias void function(GLuint program, GLint location, GLdouble v0, GLdouble v1) PFNGLPROGRAMUNIFORM2DPROC; 4221 alias void function(GLuint program, GLint location, GLsizei count, const(GLdouble)* value) PFNGLPROGRAMUNIFORM2DVPROC; 4222 alias void function(GLuint program, GLint location, GLuint v0, GLuint v1) PFNGLPROGRAMUNIFORM2UIPROC; 4223 alias void function(GLuint program, GLint location, GLsizei count, const(GLuint)* value) PFNGLPROGRAMUNIFORM2UIVPROC; 4224 alias void function(GLuint program, GLint location, GLint v0, GLint v1, GLint v2) PFNGLPROGRAMUNIFORM3IPROC; 4225 alias void function(GLuint program, GLint location, GLsizei count, const(GLint)* value) PFNGLPROGRAMUNIFORM3IVPROC; 4226 alias void function(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) PFNGLPROGRAMUNIFORM3FPROC; 4227 alias void function(GLuint program, GLint location, GLsizei count, const(GLfloat)* value) PFNGLPROGRAMUNIFORM3FVPROC; 4228 alias void function(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2) PFNGLPROGRAMUNIFORM3DPROC; 4229 alias void function(GLuint program, GLint location, GLsizei count, const(GLdouble)* value) PFNGLPROGRAMUNIFORM3DVPROC; 4230 alias void function(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2) PFNGLPROGRAMUNIFORM3UIPROC; 4231 alias void function(GLuint program, GLint location, GLsizei count, const(GLuint)* value) PFNGLPROGRAMUNIFORM3UIVPROC; 4232 alias void function(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) PFNGLPROGRAMUNIFORM4IPROC; 4233 alias void function(GLuint program, GLint location, GLsizei count, const(GLint)* value) PFNGLPROGRAMUNIFORM4IVPROC; 4234 alias void function(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) PFNGLPROGRAMUNIFORM4FPROC; 4235 alias void function(GLuint program, GLint location, GLsizei count, const(GLfloat)* value) PFNGLPROGRAMUNIFORM4FVPROC; 4236 alias void function(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3) PFNGLPROGRAMUNIFORM4DPROC; 4237 alias void function(GLuint program, GLint location, GLsizei count, const(GLdouble)* value) PFNGLPROGRAMUNIFORM4DVPROC; 4238 alias void function(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) PFNGLPROGRAMUNIFORM4UIPROC; 4239 alias void function(GLuint program, GLint location, GLsizei count, const(GLuint)* value) PFNGLPROGRAMUNIFORM4UIVPROC; 4240 alias void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) PFNGLPROGRAMUNIFORMMATRIX2FVPROC; 4241 alias void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) PFNGLPROGRAMUNIFORMMATRIX3FVPROC; 4242 alias void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) PFNGLPROGRAMUNIFORMMATRIX4FVPROC; 4243 alias void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) PFNGLPROGRAMUNIFORMMATRIX2DVPROC; 4244 alias void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) PFNGLPROGRAMUNIFORMMATRIX3DVPROC; 4245 alias void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) PFNGLPROGRAMUNIFORMMATRIX4DVPROC; 4246 alias void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC; 4247 alias void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC; 4248 alias void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC; 4249 alias void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC; 4250 alias void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC; 4251 alias void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC; 4252 alias void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC; 4253 alias void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC; 4254 alias void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC; 4255 alias void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC; 4256 alias void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC; 4257 alias void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC; 4258 alias void function(GLuint pipeline) PFNGLVALIDATEPROGRAMPIPELINEPROC; 4259 alias void function(GLuint pipeline, GLsizei bufSize, GLsizei* length, GLchar* infoLog) PFNGLGETPROGRAMPIPELINEINFOLOGPROC; 4260 4261 // GL_ARB_vertex_attrib_64bit 4262 4263 export void glVertexAttribL1d(GLuint index, GLdouble x); 4264 export void glVertexAttribL2d(GLuint index, GLdouble x, GLdouble y); 4265 export void glVertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z); 4266 export void glVertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); 4267 export void glVertexAttribL1dv(GLuint index, const(GLdouble)* v); 4268 export void glVertexAttribL2dv(GLuint index, const(GLdouble)* v); 4269 export void glVertexAttribL3dv(GLuint index, const(GLdouble)* v); 4270 export void glVertexAttribL4dv(GLuint index, const(GLdouble)* v); 4271 export void glVertexAttribLPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const(GLvoid)* pointer); 4272 export void glGetVertexAttribLdv(GLuint index, GLenum pname, GLdouble* params); 4273 4274 alias void function(GLuint index, GLdouble x) PFNGLVERTEXATTRIBL1DPROC; 4275 alias void function(GLuint index, GLdouble x, GLdouble y) PFNGLVERTEXATTRIBL2DPROC; 4276 alias void function(GLuint index, GLdouble x, GLdouble y, GLdouble z) PFNGLVERTEXATTRIBL3DPROC; 4277 alias void function(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) PFNGLVERTEXATTRIBL4DPROC; 4278 alias void function(GLuint index, const(GLdouble)* v) PFNGLVERTEXATTRIBL1DVPROC; 4279 alias void function(GLuint index, const(GLdouble)* v) PFNGLVERTEXATTRIBL2DVPROC; 4280 alias void function(GLuint index, const(GLdouble)* v) PFNGLVERTEXATTRIBL3DVPROC; 4281 alias void function(GLuint index, const(GLdouble)* v) PFNGLVERTEXATTRIBL4DVPROC; 4282 alias void function(GLuint index, GLint size, GLenum type, GLsizei stride, const(GLvoid)* pointer) PFNGLVERTEXATTRIBLPOINTERPROC; 4283 alias void function(GLuint index, GLenum pname, GLdouble* params) PFNGLGETVERTEXATTRIBLDVPROC; 4284 4285 // GL_ARB_viewport_array 4286 4287 export void glViewportArrayv(GLuint first, GLsizei count, const(GLfloat)* v); 4288 export void glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h); 4289 export void glViewportIndexedfv(GLuint index, const(GLfloat)* v); 4290 export void glScissorArrayv(GLuint first, GLsizei count, const(GLint)* v); 4291 export void glScissorIndexed(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height); 4292 export void glScissorIndexedv(GLuint index, const(GLint)* v); 4293 export void glDepthRangeArrayv(GLuint first, GLsizei count, const(GLdouble)* v); 4294 export void glDepthRangeIndexed(GLuint index, GLdouble n, GLdouble f); 4295 export void glGetFloati_v(GLenum target, GLuint index, GLfloat* data); 4296 export void glGetDoublei_v(GLenum target, GLuint index, GLdouble* data); 4297 4298 alias void function(GLuint first, GLsizei count, const(GLfloat)* v) PFNGLVIEWPORTARRAYVPROC; 4299 alias void function(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h) PFNGLVIEWPORTINDEXEDFPROC; 4300 alias void function(GLuint index, const(GLfloat)* v) PFNGLVIEWPORTINDEXEDFVPROC; 4301 alias void function(GLuint first, GLsizei count, const(GLint)* v) PFNGLSCISSORARRAYVPROC; 4302 alias void function(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height) PFNGLSCISSORINDEXEDPROC; 4303 alias void function(GLuint index, const(GLint)* v) PFNGLSCISSORINDEXEDVPROC; 4304 alias void function(GLuint first, GLsizei count, const(GLdouble)* v) PFNGLDEPTHRANGEARRAYVPROC; 4305 alias void function(GLuint index, GLdouble n, GLdouble f) PFNGLDEPTHRANGEINDEXEDPROC; 4306 alias void function(GLenum target, GLuint index, GLfloat* data) PFNGLGETFLOATI_VPROC; 4307 alias void function(GLenum target, GLuint index, GLdouble* data) PFNGLGETDOUBLEI_VPROC; 4308 4309 // GL_ARB_cl_event 4310 4311 export GLsync glCreateSyncFromCLeventARB(_cl_context* context, _cl_event* event, GLbitfield flags); 4312 4313 alias GLsync function(_cl_context* context, _cl_event* event, GLbitfield flags) PFNGLCREATESYNCFROMCLEVENTARBPROC; 4314 4315 // GL_ARB_debug_output 4316 4317 export void glDebugMessageControlARB(GLenum source, GLenum type, GLenum severity, GLsizei count, const(GLuint)* ids, GLboolean enabled); 4318 export void glDebugMessageInsertARB(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const(GLchar)* buf); 4319 export void glDebugMessageCallbackARB(GLDEBUGPROCARB callback, const(GLvoid)* userParam); 4320 export GLuint glGetDebugMessageLogARB(GLuint count, GLsizei bufsize, GLenum* sources, GLenum* types, GLuint* ids, GLenum* severities, GLsizei* lengths, GLchar* messageLog); 4321 4322 alias void function(GLenum source, GLenum type, GLenum severity, GLsizei count, const(GLuint)* ids, GLboolean enabled) PFNGLDEBUGMESSAGECONTROLARBPROC; 4323 alias void function(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const(GLchar)* buf) PFNGLDEBUGMESSAGEINSERTARBPROC; 4324 alias void function(GLDEBUGPROCARB callback, const(GLvoid)* userParam) PFNGLDEBUGMESSAGECALLBACKARBPROC; 4325 alias GLuint function(GLuint count, GLsizei bufsize, GLenum* sources, GLenum* types, GLuint* ids, GLenum* severities, GLsizei* lengths, GLchar* messageLog) PFNGLGETDEBUGMESSAGELOGARBPROC; 4326 4327 // GL_ARB_robustness 4328 4329 export GLenum glGetGraphicsResetStatusARB(); 4330 export void glGetnTexImageARB(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid* img); 4331 export void glReadnPixelsARB(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid* data); 4332 export void glGetnCompressedTexImageARB(GLenum target, GLint lod, GLsizei bufSize, GLvoid* img); 4333 export void glGetnUniformfvARB(GLuint program, GLint location, GLsizei bufSize, GLfloat* params); 4334 export void glGetnUniformivARB(GLuint program, GLint location, GLsizei bufSize, GLint* params); 4335 export void glGetnUniformuivARB(GLuint program, GLint location, GLsizei bufSize, GLuint* params); 4336 export void glGetnUniformdvARB(GLuint program, GLint location, GLsizei bufSize, GLdouble* params); 4337 4338 alias GLenum function() PFNGLGETGRAPHICSRESETSTATUSARBPROC; 4339 alias void function(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid* img) PFNGLGETNTEXIMAGEARBPROC; 4340 alias void function(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid* data) PFNGLREADNPIXELSARBPROC; 4341 alias void function(GLenum target, GLint lod, GLsizei bufSize, GLvoid* img) PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC; 4342 alias void function(GLuint program, GLint location, GLsizei bufSize, GLfloat* params) PFNGLGETNUNIFORMFVARBPROC; 4343 alias void function(GLuint program, GLint location, GLsizei bufSize, GLint* params) PFNGLGETNUNIFORMIVARBPROC; 4344 alias void function(GLuint program, GLint location, GLsizei bufSize, GLuint* params) PFNGLGETNUNIFORMUIVARBPROC; 4345 alias void function(GLuint program, GLint location, GLsizei bufSize, GLdouble* params) PFNGLGETNUNIFORMDVARBPROC; 4346 4347 // GL_ARB_shader_stencil_export 4348 4349 // GL_ARB_base_instance 4350 4351 export void glDrawArraysInstancedBaseInstance(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance); 4352 export void glDrawElementsInstancedBaseInstance(GLenum mode, GLsizei count, GLenum type, const(void)* indices, GLsizei instancecount, GLuint baseinstance); 4353 export void glDrawElementsInstancedBaseVertexBaseInstance(GLenum mode, GLsizei count, GLenum type, const(void)* indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance); 4354 4355 alias void function(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance) PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC; 4356 alias void function(GLenum mode, GLsizei count, GLenum type, const(void)* indices, GLsizei instancecount, GLuint baseinstance) PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC; 4357 alias void function(GLenum mode, GLsizei count, GLenum type, const(void)* indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance) PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC; 4358 4359 // GL_ARB_shading_language_420pack 4360 4361 // GL_ARB_transform_feedback_instanced 4362 4363 export void glDrawTransformFeedbackInstanced(GLenum mode, GLuint id, GLsizei instancecount); 4364 export void glDrawTransformFeedbackStreamInstanced(GLenum mode, GLuint id, GLuint stream, GLsizei instancecount); 4365 4366 alias void function(GLenum mode, GLuint id, GLsizei instancecount) PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC; 4367 alias void function(GLenum mode, GLuint id, GLuint stream, GLsizei instancecount) PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC; 4368 4369 // GL_ARB_compressed_texture_pixel_storage 4370 4371 // GL_ARB_conservative_depth 4372 4373 // GL_ARB_internalformat_query 4374 4375 export void glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint* params); 4376 4377 alias void function(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint* params) PFNGLGETINTERNALFORMATIVPROC; 4378 4379 // GL_ARB_map_buffer_alignment 4380 4381 // GL_ARB_shader_atomic_counters 4382 4383 export void glGetActiveAtomicCounterBufferiv(GLuint program, GLuint bufferIndex, GLenum pname, GLint* params); 4384 4385 alias void function(GLuint program, GLuint bufferIndex, GLenum pname, GLint* params) PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC; 4386 4387 // GL_ARB_shader_image_load_store 4388 4389 export void glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format); 4390 export void glMemoryBarrier(GLbitfield barriers); 4391 4392 alias void function(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format) PFNGLBINDIMAGETEXTUREPROC; 4393 alias void function(GLbitfield barriers) PFNGLMEMORYBARRIERPROC; 4394 4395 // GL_ARB_shading_language_packing 4396 4397 // GL_ARB_texture_storage 4398 4399 export void glTexStorage1D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 4400 export void glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 4401 export void glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 4402 export void glTextureStorage1DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 4403 export void glTextureStorage2DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 4404 export void glTextureStorage3DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 4405 4406 alias void function(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) PFNGLTEXSTORAGE1DPROC; 4407 alias void function(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) PFNGLTEXSTORAGE2DPROC; 4408 alias void function(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) PFNGLTEXSTORAGE3DPROC; 4409 alias void function(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) PFNGLTEXTURESTORAGE1DEXTPROC; 4410 alias void function(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) PFNGLTEXTURESTORAGE2DEXTPROC; 4411 alias void function(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) PFNGLTEXTURESTORAGE3DEXTPROC; 4412 4413 // GL_KHR_texture_compression_astc_ldr 4414 4415 // GL_KHR_debug 4416 4417 export void glDebugMessageControl(GLenum source, GLenum type, GLenum severity, GLsizei count, const(GLuint)* ids, GLboolean enabled); 4418 export void glDebugMessageInsert(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const(GLchar)* buf); 4419 export void glDebugMessageCallback(GLDEBUGPROC callback, const(void)* userParam); 4420 export GLuint glGetDebugMessageLog(GLuint count, GLsizei bufsize, GLenum* sources, GLenum* types, GLuint* ids, GLenum* severities, GLsizei* lengths, GLchar* messageLog); 4421 export void glPushDebugGroup(GLenum source, GLuint id, GLsizei length, const(GLchar)* message); 4422 export void glPopDebugGroup(); 4423 export void glObjectLabel(GLenum identifier, GLuint name, GLsizei length, const(GLchar)* label); 4424 export void glGetObjectLabel(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei* length, GLchar* label); 4425 export void glObjectPtrLabel(const(void)* ptr, GLsizei length, const(GLchar)* label); 4426 export void glGetObjectPtrLabel(const(void)* ptr, GLsizei bufSize, GLsizei* length, GLchar* label); 4427 4428 alias void function(GLenum source, GLenum type, GLenum severity, GLsizei count, const(GLuint)* ids, GLboolean enabled) PFNGLDEBUGMESSAGECONTROLPROC; 4429 alias void function(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const(GLchar)* buf) PFNGLDEBUGMESSAGEINSERTPROC; 4430 alias void function(GLDEBUGPROC callback, const(void)* userParam) PFNGLDEBUGMESSAGECALLBACKPROC; 4431 alias GLuint function(GLuint count, GLsizei bufsize, GLenum* sources, GLenum* types, GLuint* ids, GLenum* severities, GLsizei* lengths, GLchar* messageLog) PFNGLGETDEBUGMESSAGELOGPROC; 4432 alias void function(GLenum source, GLuint id, GLsizei length, const(GLchar)* message) PFNGLPUSHDEBUGGROUPPROC; 4433 alias void function() PFNGLPOPDEBUGGROUPPROC; 4434 alias void function(GLenum identifier, GLuint name, GLsizei length, const(GLchar)* label) PFNGLOBJECTLABELPROC; 4435 alias void function(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei* length, GLchar* label) PFNGLGETOBJECTLABELPROC; 4436 alias void function(const(void)* ptr, GLsizei length, const(GLchar)* label) PFNGLOBJECTPTRLABELPROC; 4437 alias void function(const(void)* ptr, GLsizei bufSize, GLsizei* length, GLchar* label) PFNGLGETOBJECTPTRLABELPROC; 4438 4439 // GL_ARB_arrays_of_arrays 4440 4441 // GL_ARB_clear_buffer_object 4442 4443 export void glClearBufferData(GLenum target, GLenum internalformat, GLenum format, GLenum type, const(void)* data); 4444 export void glClearBufferSubData(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const(void)* data); 4445 export void glClearNamedBufferDataEXT(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const(void)* data); 4446 export void glClearNamedBufferSubDataEXT(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, GLsizeiptr offset, GLsizeiptr size, const(void)* data); 4447 4448 alias void function(GLenum target, GLenum internalformat, GLenum format, GLenum type, const(void)* data) PFNGLCLEARBUFFERDATAPROC; 4449 alias void function(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const(void)* data) PFNGLCLEARBUFFERSUBDATAPROC; 4450 alias void function(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const(void)* data) PFNGLCLEARNAMEDBUFFERDATAEXTPROC; 4451 alias void function(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, GLsizeiptr offset, GLsizeiptr size, const(void)* data) PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC; 4452 4453 // GL_ARB_compute_shader 4454 4455 export void glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z); 4456 export void glDispatchComputeIndirect(GLintptr indirect); 4457 4458 alias void function(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z) PFNGLDISPATCHCOMPUTEPROC; 4459 alias void function(GLintptr indirect) PFNGLDISPATCHCOMPUTEINDIRECTPROC; 4460 4461 // GL_ARB_copy_image 4462 4463 export void glCopyImageSubData(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth); 4464 4465 alias void function(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth) PFNGLCOPYIMAGESUBDATAPROC; 4466 4467 // GL_ARB_texture_view 4468 4469 export void glTextureView(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers); 4470 4471 alias void function(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers) PFNGLTEXTUREVIEWPROC; 4472 4473 // GL_ARB_vertex_attrib_binding 4474 4475 export void glBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); 4476 export void glVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); 4477 export void glVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); 4478 export void glVertexAttribLFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); 4479 export void glVertexAttribBinding(GLuint attribindex, GLuint bindingindex); 4480 export void glVertexBindingDivisor(GLuint bindingindex, GLuint divisor); 4481 export void glVertexArrayBindVertexBufferEXT(GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); 4482 export void glVertexArrayVertexAttribFormatEXT(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); 4483 export void glVertexArrayVertexAttribIFormatEXT(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); 4484 export void glVertexArrayVertexAttribLFormatEXT(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); 4485 export void glVertexArrayVertexAttribBindingEXT(GLuint vaobj, GLuint attribindex, GLuint bindingindex); 4486 export void glVertexArrayVertexBindingDivisorEXT(GLuint vaobj, GLuint bindingindex, GLuint divisor); 4487 4488 alias void function(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride) PFNGLBINDVERTEXBUFFERPROC; 4489 alias void function(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset) PFNGLVERTEXATTRIBFORMATPROC; 4490 alias void function(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) PFNGLVERTEXATTRIBIFORMATPROC; 4491 alias void function(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) PFNGLVERTEXATTRIBLFORMATPROC; 4492 alias void function(GLuint attribindex, GLuint bindingindex) PFNGLVERTEXATTRIBBINDINGPROC; 4493 alias void function(GLuint bindingindex, GLuint divisor) PFNGLVERTEXBINDINGDIVISORPROC; 4494 alias void function(GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride) PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC; 4495 alias void function(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset) PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC; 4496 alias void function(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC; 4497 alias void function(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC; 4498 alias void function(GLuint vaobj, GLuint attribindex, GLuint bindingindex) PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC; 4499 alias void function(GLuint vaobj, GLuint bindingindex, GLuint divisor) PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC; 4500 4501 // GL_ARB_robustness_isolation 4502 4503 // GL_ARB_ES3_compatibility 4504 4505 // GL_ARB_explicit_uniform_location 4506 4507 // GL_ARB_fragment_layer_viewport 4508 4509 // GL_ARB_framebuffer_no_attachments 4510 4511 export void glFramebufferParameteri(GLenum target, GLenum pname, GLint param); 4512 export void glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint* params); 4513 export void glNamedFramebufferParameteriEXT(GLuint framebuffer, GLenum pname, GLint param); 4514 export void glGetNamedFramebufferParameterivEXT(GLuint framebuffer, GLenum pname, GLint* params); 4515 4516 alias void function(GLenum target, GLenum pname, GLint param) PFNGLFRAMEBUFFERPARAMETERIPROC; 4517 alias void function(GLenum target, GLenum pname, GLint* params) PFNGLGETFRAMEBUFFERPARAMETERIVPROC; 4518 alias void function(GLuint framebuffer, GLenum pname, GLint param) PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC; 4519 alias void function(GLuint framebuffer, GLenum pname, GLint* params) PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC; 4520 4521 // GL_ARB_internalformat_query2 4522 4523 export void glGetInternalformati64v(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64* params); 4524 4525 alias void function(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64* params) PFNGLGETINTERNALFORMATI64VPROC; 4526 4527 // GL_ARB_invalidate_subdata 4528 4529 export void glInvalidateTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth); 4530 export void glInvalidateTexImage(GLuint texture, GLint level); 4531 export void glInvalidateBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr length); 4532 export void glInvalidateBufferData(GLuint buffer); 4533 export void glInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const(GLenum)* attachments); 4534 export void glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const(GLenum)* attachments, GLint x, GLint y, GLsizei width, GLsizei height); 4535 4536 alias void function(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth) PFNGLINVALIDATETEXSUBIMAGEPROC; 4537 alias void function(GLuint texture, GLint level) PFNGLINVALIDATETEXIMAGEPROC; 4538 alias void function(GLuint buffer, GLintptr offset, GLsizeiptr length) PFNGLINVALIDATEBUFFERSUBDATAPROC; 4539 alias void function(GLuint buffer) PFNGLINVALIDATEBUFFERDATAPROC; 4540 alias void function(GLenum target, GLsizei numAttachments, const(GLenum)* attachments) PFNGLINVALIDATEFRAMEBUFFERPROC; 4541 alias void function(GLenum target, GLsizei numAttachments, const(GLenum)* attachments, GLint x, GLint y, GLsizei width, GLsizei height) PFNGLINVALIDATESUBFRAMEBUFFERPROC; 4542 4543 // GL_ARB_multi_draw_indirect 4544 4545 export void glMultiDrawArraysIndirect(GLenum mode, const(void)* indirect, GLsizei drawcount, GLsizei stride); 4546 export void glMultiDrawElementsIndirect(GLenum mode, GLenum type, const(void)* indirect, GLsizei drawcount, GLsizei stride); 4547 4548 alias void function(GLenum mode, const(void)* indirect, GLsizei drawcount, GLsizei stride) PFNGLMULTIDRAWARRAYSINDIRECTPROC; 4549 alias void function(GLenum mode, GLenum type, const(void)* indirect, GLsizei drawcount, GLsizei stride) PFNGLMULTIDRAWELEMENTSINDIRECTPROC; 4550 4551 // GL_ARB_program_interface_query 4552 4553 export void glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint* params); 4554 export GLuint glGetProgramResourceIndex(GLuint program, GLenum programInterface, const(GLchar)* name); 4555 export void glGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei* length, GLchar* name); 4556 export void glGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const(GLenum)* props, GLsizei bufSize, GLsizei* length, GLint* params); 4557 export GLint glGetProgramResourceLocation(GLuint program, GLenum programInterface, const(GLchar)* name); 4558 export GLint glGetProgramResourceLocationIndex(GLuint program, GLenum programInterface, const(GLchar)* name); 4559 4560 alias void function(GLuint program, GLenum programInterface, GLenum pname, GLint* params) PFNGLGETPROGRAMINTERFACEIVPROC; 4561 alias GLuint function(GLuint program, GLenum programInterface, const(GLchar)* name) PFNGLGETPROGRAMRESOURCEINDEXPROC; 4562 alias void function(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei* length, GLchar* name) PFNGLGETPROGRAMRESOURCENAMEPROC; 4563 alias void function(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const(GLenum)* props, GLsizei bufSize, GLsizei* length, GLint* params) PFNGLGETPROGRAMRESOURCEIVPROC; 4564 alias GLint function(GLuint program, GLenum programInterface, const(GLchar)* name) PFNGLGETPROGRAMRESOURCELOCATIONPROC; 4565 alias GLint function(GLuint program, GLenum programInterface, const(GLchar)* name) PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC; 4566 4567 // GL_ARB_robust_buffer_access_behavior 4568 4569 // GL_ARB_shader_image_size 4570 4571 // GL_ARB_shader_storage_buffer_object 4572 4573 export void glShaderStorageBlockBinding(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding); 4574 4575 alias void function(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding) PFNGLSHADERSTORAGEBLOCKBINDINGPROC; 4576 4577 // GL_ARB_stencil_texturing 4578 4579 // GL_ARB_texture_buffer_range 4580 4581 export void glTexBufferRange(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); 4582 export void glTextureBufferRangeEXT(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); 4583 4584 alias void function(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size) PFNGLTEXBUFFERRANGEPROC; 4585 alias void function(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size) PFNGLTEXTUREBUFFERRANGEEXTPROC; 4586 4587 // GL_ARB_texture_query_levels 4588 4589 // GL_ARB_texture_storage_multisample 4590 4591 export void glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); 4592 export void glTexStorage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); 4593 export void glTextureStorage2DMultisampleEXT(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); 4594 export void glTextureStorage3DMultisampleEXT(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); 4595 4596 alias void function(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) PFNGLTEXSTORAGE2DMULTISAMPLEPROC; 4597 alias void function(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) PFNGLTEXSTORAGE3DMULTISAMPLEPROC; 4598 alias void function(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC; 4599 alias void function(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC;