include/SDL_opengles2_gl2ext.h
author Alex Szpakowski <slime73@gmail.com>
Sun, 18 Aug 2019 09:35:11 -0300
changeset 13023 18abea38e92e
parent 8808 da1e1d6e84c4
permissions -rw-r--r--
render: fix colors not being set properly after the previous change
     1 #ifndef __gl2ext_h_
     2 #define __gl2ext_h_
     3 
     4 /* $Revision: 22801 $ on $Date:: 2013-08-21 03:20:48 -0700 #$ */
     5 
     6 #ifdef __cplusplus
     7 extern "C" {
     8 #endif
     9 
    10 /*
    11  * This document is licensed under the SGI Free Software B License Version
    12  * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
    13  */
    14 
    15 #ifndef GL_APIENTRYP
    16 #   define GL_APIENTRYP GL_APIENTRY*
    17 #endif
    18 
    19 /* New types shared by several extensions */
    20 
    21 #ifndef __gl3_h_
    22 /* These are defined with respect to <inttypes.h> in the
    23  * Apple extension spec, but they are also used by non-APPLE
    24  * extensions, and in the Khronos header we use the Khronos
    25  * portable types in khrplatform.h, which must be defined.
    26  */
    27 typedef khronos_int64_t GLint64;
    28 typedef khronos_uint64_t GLuint64;
    29 typedef struct __GLsync *GLsync;
    30 #endif
    31 
    32 
    33 /*------------------------------------------------------------------------*
    34  * OES extension tokens
    35  *------------------------------------------------------------------------*/
    36 
    37 /* GL_OES_compressed_ETC1_RGB8_texture */
    38 #ifndef GL_OES_compressed_ETC1_RGB8_texture
    39 #define GL_ETC1_RGB8_OES                                        0x8D64
    40 #endif
    41 
    42 /* GL_OES_compressed_paletted_texture */
    43 #ifndef GL_OES_compressed_paletted_texture
    44 #define GL_PALETTE4_RGB8_OES                                    0x8B90
    45 #define GL_PALETTE4_RGBA8_OES                                   0x8B91
    46 #define GL_PALETTE4_R5_G6_B5_OES                                0x8B92
    47 #define GL_PALETTE4_RGBA4_OES                                   0x8B93
    48 #define GL_PALETTE4_RGB5_A1_OES                                 0x8B94
    49 #define GL_PALETTE8_RGB8_OES                                    0x8B95
    50 #define GL_PALETTE8_RGBA8_OES                                   0x8B96
    51 #define GL_PALETTE8_R5_G6_B5_OES                                0x8B97
    52 #define GL_PALETTE8_RGBA4_OES                                   0x8B98
    53 #define GL_PALETTE8_RGB5_A1_OES                                 0x8B99
    54 #endif
    55 
    56 /* GL_OES_depth24 */
    57 #ifndef GL_OES_depth24
    58 #define GL_DEPTH_COMPONENT24_OES                                0x81A6
    59 #endif
    60 
    61 /* GL_OES_depth32 */
    62 #ifndef GL_OES_depth32
    63 #define GL_DEPTH_COMPONENT32_OES                                0x81A7
    64 #endif
    65 
    66 /* GL_OES_depth_texture */
    67 /* No new tokens introduced by this extension. */
    68 
    69 /* GL_OES_EGL_image */
    70 #ifndef GL_OES_EGL_image
    71 typedef void* GLeglImageOES;
    72 #endif
    73 
    74 /* GL_OES_EGL_image_external */
    75 #ifndef GL_OES_EGL_image_external
    76 /* GLeglImageOES defined in GL_OES_EGL_image already. */
    77 #define GL_TEXTURE_EXTERNAL_OES                                 0x8D65
    78 #define GL_SAMPLER_EXTERNAL_OES                                 0x8D66
    79 #define GL_TEXTURE_BINDING_EXTERNAL_OES                         0x8D67
    80 #define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES                     0x8D68
    81 #endif
    82 
    83 /* GL_OES_element_index_uint */
    84 #ifndef GL_OES_element_index_uint
    85 #define GL_UNSIGNED_INT                                         0x1405
    86 #endif
    87 
    88 /* GL_OES_get_program_binary */
    89 #ifndef GL_OES_get_program_binary
    90 #define GL_PROGRAM_BINARY_LENGTH_OES                            0x8741
    91 #define GL_NUM_PROGRAM_BINARY_FORMATS_OES                       0x87FE
    92 #define GL_PROGRAM_BINARY_FORMATS_OES                           0x87FF
    93 #endif
    94 
    95 /* GL_OES_mapbuffer */
    96 #ifndef GL_OES_mapbuffer
    97 #define GL_WRITE_ONLY_OES                                       0x88B9
    98 #define GL_BUFFER_ACCESS_OES                                    0x88BB
    99 #define GL_BUFFER_MAPPED_OES                                    0x88BC
   100 #define GL_BUFFER_MAP_POINTER_OES                               0x88BD
   101 #endif
   102 
   103 /* GL_OES_packed_depth_stencil */
   104 #ifndef GL_OES_packed_depth_stencil
   105 #define GL_DEPTH_STENCIL_OES                                    0x84F9
   106 #define GL_UNSIGNED_INT_24_8_OES                                0x84FA
   107 #define GL_DEPTH24_STENCIL8_OES                                 0x88F0
   108 #endif
   109 
   110 /* GL_OES_required_internalformat */
   111 #ifndef GL_OES_required_internalformat
   112 #define GL_ALPHA8_OES                                           0x803C
   113 #define GL_DEPTH_COMPONENT16_OES                                0x81A5
   114 /* reuse GL_DEPTH_COMPONENT24_OES */
   115 /* reuse GL_DEPTH24_STENCIL8_OES */
   116 /* reuse GL_DEPTH_COMPONENT32_OES */
   117 #define GL_LUMINANCE4_ALPHA4_OES                                0x8043
   118 #define GL_LUMINANCE8_ALPHA8_OES                                0x8045
   119 #define GL_LUMINANCE8_OES                                       0x8040
   120 #define GL_RGBA4_OES                                            0x8056
   121 #define GL_RGB5_A1_OES                                          0x8057
   122 #define GL_RGB565_OES                                           0x8D62
   123 /* reuse GL_RGB8_OES */
   124 /* reuse GL_RGBA8_OES */
   125 /* reuse GL_RGB10_EXT */
   126 /* reuse GL_RGB10_A2_EXT */
   127 #endif
   128 
   129 /* GL_OES_rgb8_rgba8 */
   130 #ifndef GL_OES_rgb8_rgba8
   131 #define GL_RGB8_OES                                             0x8051
   132 #define GL_RGBA8_OES                                            0x8058
   133 #endif
   134 
   135 /* GL_OES_standard_derivatives */
   136 #ifndef GL_OES_standard_derivatives
   137 #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES                  0x8B8B
   138 #endif
   139 
   140 /* GL_OES_stencil1 */
   141 #ifndef GL_OES_stencil1
   142 #define GL_STENCIL_INDEX1_OES                                   0x8D46
   143 #endif
   144 
   145 /* GL_OES_stencil4 */
   146 #ifndef GL_OES_stencil4
   147 #define GL_STENCIL_INDEX4_OES                                   0x8D47
   148 #endif
   149 
   150 #ifndef GL_OES_surfaceless_context
   151 #define GL_FRAMEBUFFER_UNDEFINED_OES                            0x8219
   152 #endif
   153 
   154 /* GL_OES_texture_3D */
   155 #ifndef GL_OES_texture_3D
   156 #define GL_TEXTURE_WRAP_R_OES                                   0x8072
   157 #define GL_TEXTURE_3D_OES                                       0x806F
   158 #define GL_TEXTURE_BINDING_3D_OES                               0x806A
   159 #define GL_MAX_3D_TEXTURE_SIZE_OES                              0x8073
   160 #define GL_SAMPLER_3D_OES                                       0x8B5F
   161 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES        0x8CD4
   162 #endif
   163 
   164 /* GL_OES_texture_float */
   165 /* No new tokens introduced by this extension. */
   166 
   167 /* GL_OES_texture_float_linear */
   168 /* No new tokens introduced by this extension. */
   169 
   170 /* GL_OES_texture_half_float */
   171 #ifndef GL_OES_texture_half_float
   172 #define GL_HALF_FLOAT_OES                                       0x8D61
   173 #endif
   174 
   175 /* GL_OES_texture_half_float_linear */
   176 /* No new tokens introduced by this extension. */
   177 
   178 /* GL_OES_texture_npot */
   179 /* No new tokens introduced by this extension. */
   180 
   181 /* GL_OES_vertex_array_object */
   182 #ifndef GL_OES_vertex_array_object
   183 #define GL_VERTEX_ARRAY_BINDING_OES                             0x85B5
   184 #endif
   185 
   186 /* GL_OES_vertex_half_float */
   187 /* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */
   188 
   189 /* GL_OES_vertex_type_10_10_10_2 */
   190 #ifndef GL_OES_vertex_type_10_10_10_2
   191 #define GL_UNSIGNED_INT_10_10_10_2_OES                          0x8DF6
   192 #define GL_INT_10_10_10_2_OES                                   0x8DF7
   193 #endif
   194 
   195 /*------------------------------------------------------------------------*
   196  * KHR extension tokens
   197  *------------------------------------------------------------------------*/
   198 
   199 #ifndef GL_KHR_debug
   200 typedef void (GL_APIENTRYP GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
   201 #define GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR                         0x8242
   202 #define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR                 0x8243
   203 #define GL_DEBUG_CALLBACK_FUNCTION_KHR                          0x8244
   204 #define GL_DEBUG_CALLBACK_USER_PARAM_KHR                        0x8245
   205 #define GL_DEBUG_SOURCE_API_KHR                                 0x8246
   206 #define GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR                       0x8247
   207 #define GL_DEBUG_SOURCE_SHADER_COMPILER_KHR                     0x8248
   208 #define GL_DEBUG_SOURCE_THIRD_PARTY_KHR                         0x8249
   209 #define GL_DEBUG_SOURCE_APPLICATION_KHR                         0x824A
   210 #define GL_DEBUG_SOURCE_OTHER_KHR                               0x824B
   211 #define GL_DEBUG_TYPE_ERROR_KHR                                 0x824C
   212 #define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR                   0x824D
   213 #define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR                    0x824E
   214 #define GL_DEBUG_TYPE_PORTABILITY_KHR                           0x824F
   215 #define GL_DEBUG_TYPE_PERFORMANCE_KHR                           0x8250
   216 #define GL_DEBUG_TYPE_OTHER_KHR                                 0x8251
   217 #define GL_DEBUG_TYPE_MARKER_KHR                                0x8268
   218 #define GL_DEBUG_TYPE_PUSH_GROUP_KHR                            0x8269
   219 #define GL_DEBUG_TYPE_POP_GROUP_KHR                             0x826A
   220 #define GL_DEBUG_SEVERITY_NOTIFICATION_KHR                      0x826B
   221 #define GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR                      0x826C
   222 #define GL_DEBUG_GROUP_STACK_DEPTH_KHR                          0x826D
   223 #define GL_BUFFER_KHR                                           0x82E0
   224 #define GL_SHADER_KHR                                           0x82E1
   225 #define GL_PROGRAM_KHR                                          0x82E2
   226 #define GL_QUERY_KHR                                            0x82E3
   227 /* PROGRAM_PIPELINE only in GL */
   228 #define GL_SAMPLER_KHR                                          0x82E6
   229 /* DISPLAY_LIST only in GL */
   230 #define GL_MAX_LABEL_LENGTH_KHR                                 0x82E8
   231 #define GL_MAX_DEBUG_MESSAGE_LENGTH_KHR                         0x9143
   232 #define GL_MAX_DEBUG_LOGGED_MESSAGES_KHR                        0x9144
   233 #define GL_DEBUG_LOGGED_MESSAGES_KHR                            0x9145
   234 #define GL_DEBUG_SEVERITY_HIGH_KHR                              0x9146
   235 #define GL_DEBUG_SEVERITY_MEDIUM_KHR                            0x9147
   236 #define GL_DEBUG_SEVERITY_LOW_KHR                               0x9148
   237 #define GL_DEBUG_OUTPUT_KHR                                     0x92E0
   238 #define GL_CONTEXT_FLAG_DEBUG_BIT_KHR                           0x00000002
   239 #define GL_STACK_OVERFLOW_KHR                                   0x0503
   240 #define GL_STACK_UNDERFLOW_KHR                                  0x0504
   241 #endif
   242 
   243 #ifndef GL_KHR_texture_compression_astc_ldr
   244 #define GL_COMPRESSED_RGBA_ASTC_4x4_KHR                         0x93B0
   245 #define GL_COMPRESSED_RGBA_ASTC_5x4_KHR                         0x93B1
   246 #define GL_COMPRESSED_RGBA_ASTC_5x5_KHR                         0x93B2
   247 #define GL_COMPRESSED_RGBA_ASTC_6x5_KHR                         0x93B3
   248 #define GL_COMPRESSED_RGBA_ASTC_6x6_KHR                         0x93B4
   249 #define GL_COMPRESSED_RGBA_ASTC_8x5_KHR                         0x93B5
   250 #define GL_COMPRESSED_RGBA_ASTC_8x6_KHR                         0x93B6
   251 #define GL_COMPRESSED_RGBA_ASTC_8x8_KHR                         0x93B7
   252 #define GL_COMPRESSED_RGBA_ASTC_10x5_KHR                        0x93B8
   253 #define GL_COMPRESSED_RGBA_ASTC_10x6_KHR                        0x93B9
   254 #define GL_COMPRESSED_RGBA_ASTC_10x8_KHR                        0x93BA
   255 #define GL_COMPRESSED_RGBA_ASTC_10x10_KHR                       0x93BB
   256 #define GL_COMPRESSED_RGBA_ASTC_12x10_KHR                       0x93BC
   257 #define GL_COMPRESSED_RGBA_ASTC_12x12_KHR                       0x93BD
   258 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR                 0x93D0
   259 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR                 0x93D1
   260 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR                 0x93D2
   261 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR                 0x93D3
   262 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR                 0x93D4
   263 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR                 0x93D5
   264 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR                 0x93D6
   265 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR                 0x93D7
   266 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR                0x93D8
   267 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR                0x93D9
   268 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR                0x93DA
   269 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR               0x93DB
   270 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR               0x93DC
   271 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR               0x93DD
   272 #endif
   273 
   274 /*------------------------------------------------------------------------*
   275  * AMD extension tokens
   276  *------------------------------------------------------------------------*/
   277 
   278 /* GL_AMD_compressed_3DC_texture */
   279 #ifndef GL_AMD_compressed_3DC_texture
   280 #define GL_3DC_X_AMD                                            0x87F9
   281 #define GL_3DC_XY_AMD                                           0x87FA
   282 #endif
   283 
   284 /* GL_AMD_compressed_ATC_texture */
   285 #ifndef GL_AMD_compressed_ATC_texture
   286 #define GL_ATC_RGB_AMD                                          0x8C92
   287 #define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD                          0x8C93
   288 #define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD                      0x87EE
   289 #endif
   290 
   291 /* GL_AMD_performance_monitor */
   292 #ifndef GL_AMD_performance_monitor
   293 #define GL_COUNTER_TYPE_AMD                                     0x8BC0
   294 #define GL_COUNTER_RANGE_AMD                                    0x8BC1
   295 #define GL_UNSIGNED_INT64_AMD                                   0x8BC2
   296 #define GL_PERCENTAGE_AMD                                       0x8BC3
   297 #define GL_PERFMON_RESULT_AVAILABLE_AMD                         0x8BC4
   298 #define GL_PERFMON_RESULT_SIZE_AMD                              0x8BC5
   299 #define GL_PERFMON_RESULT_AMD                                   0x8BC6
   300 #endif
   301 
   302 /* GL_AMD_program_binary_Z400 */
   303 #ifndef GL_AMD_program_binary_Z400
   304 #define GL_Z400_BINARY_AMD                                      0x8740
   305 #endif
   306 
   307 /*------------------------------------------------------------------------*
   308  * ANGLE extension tokens
   309  *------------------------------------------------------------------------*/
   310 
   311 /* GL_ANGLE_depth_texture */
   312 #ifndef GL_ANGLE_depth_texture
   313 #define GL_DEPTH_COMPONENT                                      0x1902
   314 #define GL_DEPTH_STENCIL_OES                                    0x84F9
   315 #define GL_UNSIGNED_SHORT                                       0x1403
   316 #define GL_UNSIGNED_INT                                         0x1405
   317 #define GL_UNSIGNED_INT_24_8_OES                                0x84FA
   318 #define GL_DEPTH_COMPONENT16                                    0x81A5
   319 #define GL_DEPTH_COMPONENT32_OES                                0x81A7
   320 #define GL_DEPTH24_STENCIL8_OES                                 0x88F0
   321 #endif
   322 
   323 /* GL_ANGLE_framebuffer_blit */
   324 #ifndef GL_ANGLE_framebuffer_blit
   325 #define GL_READ_FRAMEBUFFER_ANGLE                               0x8CA8
   326 #define GL_DRAW_FRAMEBUFFER_ANGLE                               0x8CA9
   327 #define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE                       0x8CA6
   328 #define GL_READ_FRAMEBUFFER_BINDING_ANGLE                       0x8CAA
   329 #endif
   330 
   331 /* GL_ANGLE_framebuffer_multisample */
   332 #ifndef GL_ANGLE_framebuffer_multisample
   333 #define GL_RENDERBUFFER_SAMPLES_ANGLE                           0x8CAB
   334 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE             0x8D56
   335 #define GL_MAX_SAMPLES_ANGLE                                    0x8D57
   336 #endif
   337 
   338 /* GL_ANGLE_instanced_arrays */
   339 #ifndef GL_ANGLE_instanced_arrays
   340 #define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE                    0x88FE
   341 #endif
   342 
   343 /* GL_ANGLE_pack_reverse_row_order */
   344 #ifndef GL_ANGLE_pack_reverse_row_order
   345 #define GL_PACK_REVERSE_ROW_ORDER_ANGLE                         0x93A4
   346 #endif
   347 
   348 /* GL_ANGLE_program_binary */
   349 #ifndef GL_ANGLE_program_binary
   350 #define GL_PROGRAM_BINARY_ANGLE                                 0x93A6
   351 #endif
   352 
   353 /* GL_ANGLE_texture_compression_dxt3 */
   354 #ifndef GL_ANGLE_texture_compression_dxt3
   355 #define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE                      0x83F2
   356 #endif
   357 
   358 /* GL_ANGLE_texture_compression_dxt5 */
   359 #ifndef GL_ANGLE_texture_compression_dxt5
   360 #define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE                      0x83F3
   361 #endif
   362 
   363 /* GL_ANGLE_texture_usage */
   364 #ifndef GL_ANGLE_texture_usage
   365 #define GL_TEXTURE_USAGE_ANGLE                                  0x93A2
   366 #define GL_FRAMEBUFFER_ATTACHMENT_ANGLE                         0x93A3
   367 #endif
   368 
   369 /* GL_ANGLE_translated_shader_source */
   370 #ifndef GL_ANGLE_translated_shader_source
   371 #define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE                0x93A0
   372 #endif
   373 
   374 /*------------------------------------------------------------------------*
   375  * APPLE extension tokens
   376  *------------------------------------------------------------------------*/
   377 
   378 /* GL_APPLE_copy_texture_levels */
   379 /* No new tokens introduced by this extension. */
   380 
   381 /* GL_APPLE_framebuffer_multisample */
   382 #ifndef GL_APPLE_framebuffer_multisample
   383 #define GL_RENDERBUFFER_SAMPLES_APPLE                           0x8CAB
   384 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE             0x8D56
   385 #define GL_MAX_SAMPLES_APPLE                                    0x8D57
   386 #define GL_READ_FRAMEBUFFER_APPLE                               0x8CA8
   387 #define GL_DRAW_FRAMEBUFFER_APPLE                               0x8CA9
   388 #define GL_DRAW_FRAMEBUFFER_BINDING_APPLE                       0x8CA6
   389 #define GL_READ_FRAMEBUFFER_BINDING_APPLE                       0x8CAA
   390 #endif
   391 
   392 /* GL_APPLE_rgb_422 */
   393 #ifndef GL_APPLE_rgb_422
   394 #define GL_RGB_422_APPLE                                        0x8A1F
   395 #define GL_UNSIGNED_SHORT_8_8_APPLE                             0x85BA
   396 #define GL_UNSIGNED_SHORT_8_8_REV_APPLE                         0x85BB
   397 #endif
   398 
   399 /* GL_APPLE_sync */
   400 #ifndef GL_APPLE_sync
   401 
   402 #define GL_SYNC_OBJECT_APPLE                                    0x8A53
   403 #define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE                        0x9111
   404 #define GL_OBJECT_TYPE_APPLE                                    0x9112
   405 #define GL_SYNC_CONDITION_APPLE                                 0x9113
   406 #define GL_SYNC_STATUS_APPLE                                    0x9114
   407 #define GL_SYNC_FLAGS_APPLE                                     0x9115
   408 #define GL_SYNC_FENCE_APPLE                                     0x9116
   409 #define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE                     0x9117
   410 #define GL_UNSIGNALED_APPLE                                     0x9118
   411 #define GL_SIGNALED_APPLE                                       0x9119
   412 #define GL_ALREADY_SIGNALED_APPLE                               0x911A
   413 #define GL_TIMEOUT_EXPIRED_APPLE                                0x911B
   414 #define GL_CONDITION_SATISFIED_APPLE                            0x911C
   415 #define GL_WAIT_FAILED_APPLE                                    0x911D
   416 #define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE                        0x00000001
   417 #define GL_TIMEOUT_IGNORED_APPLE                                0xFFFFFFFFFFFFFFFFull
   418 #endif
   419 
   420 /* GL_APPLE_texture_format_BGRA8888 */
   421 #ifndef GL_APPLE_texture_format_BGRA8888
   422 #define GL_BGRA_EXT                                             0x80E1
   423 #endif
   424 
   425 /* GL_APPLE_texture_max_level */
   426 #ifndef GL_APPLE_texture_max_level
   427 #define GL_TEXTURE_MAX_LEVEL_APPLE                              0x813D
   428 #endif
   429 
   430 /*------------------------------------------------------------------------*
   431  * ARM extension tokens
   432  *------------------------------------------------------------------------*/
   433 
   434 /* GL_ARM_mali_program_binary */
   435 #ifndef GL_ARM_mali_program_binary
   436 #define GL_MALI_PROGRAM_BINARY_ARM                              0x8F61
   437 #endif
   438 
   439 /* GL_ARM_mali_shader_binary */
   440 #ifndef GL_ARM_mali_shader_binary
   441 #define GL_MALI_SHADER_BINARY_ARM                               0x8F60
   442 #endif
   443 
   444 /* GL_ARM_rgba8 */
   445 /* No new tokens introduced by this extension. */
   446 
   447 /*------------------------------------------------------------------------*
   448  * EXT extension tokens
   449  *------------------------------------------------------------------------*/
   450 
   451 /* GL_EXT_blend_minmax */
   452 #ifndef GL_EXT_blend_minmax
   453 #define GL_MIN_EXT                                              0x8007
   454 #define GL_MAX_EXT                                              0x8008
   455 #endif
   456 
   457 /* GL_EXT_color_buffer_half_float */
   458 #ifndef GL_EXT_color_buffer_half_float
   459 #define GL_RGBA16F_EXT                                          0x881A
   460 #define GL_RGB16F_EXT                                           0x881B
   461 #define GL_RG16F_EXT                                            0x822F
   462 #define GL_R16F_EXT                                             0x822D
   463 #define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT            0x8211
   464 #define GL_UNSIGNED_NORMALIZED_EXT                              0x8C17
   465 #endif
   466 
   467 /* GL_EXT_debug_label */
   468 #ifndef GL_EXT_debug_label
   469 #define GL_PROGRAM_PIPELINE_OBJECT_EXT                          0x8A4F
   470 #define GL_PROGRAM_OBJECT_EXT                                   0x8B40
   471 #define GL_SHADER_OBJECT_EXT                                    0x8B48
   472 #define GL_BUFFER_OBJECT_EXT                                    0x9151
   473 #define GL_QUERY_OBJECT_EXT                                     0x9153
   474 #define GL_VERTEX_ARRAY_OBJECT_EXT                              0x9154
   475 #endif
   476 
   477 /* GL_EXT_debug_marker */
   478 /* No new tokens introduced by this extension. */
   479 
   480 /* GL_EXT_discard_framebuffer */
   481 #ifndef GL_EXT_discard_framebuffer
   482 #define GL_COLOR_EXT                                            0x1800
   483 #define GL_DEPTH_EXT                                            0x1801
   484 #define GL_STENCIL_EXT                                          0x1802
   485 #endif
   486 
   487 #ifndef GL_EXT_disjoint_timer_query
   488 #define GL_QUERY_COUNTER_BITS_EXT                               0x8864
   489 #define GL_CURRENT_QUERY_EXT                                    0x8865
   490 #define GL_QUERY_RESULT_EXT                                     0x8866
   491 #define GL_QUERY_RESULT_AVAILABLE_EXT                           0x8867
   492 #define GL_TIME_ELAPSED_EXT                                     0x88BF
   493 #define GL_TIMESTAMP_EXT                                        0x8E28
   494 #define GL_GPU_DISJOINT_EXT                                     0x8FBB
   495 #endif
   496 
   497 #ifndef GL_EXT_draw_buffers
   498 #define GL_EXT_draw_buffers 1
   499 #define GL_MAX_COLOR_ATTACHMENTS_EXT                            0x8CDF
   500 #define GL_MAX_DRAW_BUFFERS_EXT                                 0x8824
   501 #define GL_DRAW_BUFFER0_EXT                                     0x8825
   502 #define GL_DRAW_BUFFER1_EXT                                     0x8826
   503 #define GL_DRAW_BUFFER2_EXT                                     0x8827
   504 #define GL_DRAW_BUFFER3_EXT                                     0x8828
   505 #define GL_DRAW_BUFFER4_EXT                                     0x8829
   506 #define GL_DRAW_BUFFER5_EXT                                     0x882A
   507 #define GL_DRAW_BUFFER6_EXT                                     0x882B
   508 #define GL_DRAW_BUFFER7_EXT                                     0x882C
   509 #define GL_DRAW_BUFFER8_EXT                                     0x882D
   510 #define GL_DRAW_BUFFER9_EXT                                     0x882E
   511 #define GL_DRAW_BUFFER10_EXT                                    0x882F
   512 #define GL_DRAW_BUFFER11_EXT                                    0x8830
   513 #define GL_DRAW_BUFFER12_EXT                                    0x8831
   514 #define GL_DRAW_BUFFER13_EXT                                    0x8832
   515 #define GL_DRAW_BUFFER14_EXT                                    0x8833
   516 #define GL_DRAW_BUFFER15_EXT                                    0x8834
   517 #define GL_COLOR_ATTACHMENT0_EXT                                0x8CE0
   518 #define GL_COLOR_ATTACHMENT1_EXT                                0x8CE1
   519 #define GL_COLOR_ATTACHMENT2_EXT                                0x8CE2
   520 #define GL_COLOR_ATTACHMENT3_EXT                                0x8CE3
   521 #define GL_COLOR_ATTACHMENT4_EXT                                0x8CE4
   522 #define GL_COLOR_ATTACHMENT5_EXT                                0x8CE5
   523 #define GL_COLOR_ATTACHMENT6_EXT                                0x8CE6
   524 #define GL_COLOR_ATTACHMENT7_EXT                                0x8CE7
   525 #define GL_COLOR_ATTACHMENT8_EXT                                0x8CE8
   526 #define GL_COLOR_ATTACHMENT9_EXT                                0x8CE9
   527 #define GL_COLOR_ATTACHMENT10_EXT                               0x8CEA
   528 #define GL_COLOR_ATTACHMENT11_EXT                               0x8CEB
   529 #define GL_COLOR_ATTACHMENT12_EXT                               0x8CEC
   530 #define GL_COLOR_ATTACHMENT13_EXT                               0x8CED
   531 #define GL_COLOR_ATTACHMENT14_EXT                               0x8CEE
   532 #define GL_COLOR_ATTACHMENT15_EXT                               0x8CEF
   533 #endif
   534 
   535 /* GL_EXT_map_buffer_range */
   536 #ifndef GL_EXT_map_buffer_range
   537 #define GL_MAP_READ_BIT_EXT                                     0x0001
   538 #define GL_MAP_WRITE_BIT_EXT                                    0x0002
   539 #define GL_MAP_INVALIDATE_RANGE_BIT_EXT                         0x0004
   540 #define GL_MAP_INVALIDATE_BUFFER_BIT_EXT                        0x0008
   541 #define GL_MAP_FLUSH_EXPLICIT_BIT_EXT                           0x0010
   542 #define GL_MAP_UNSYNCHRONIZED_BIT_EXT                           0x0020
   543 #endif
   544 
   545 /* GL_EXT_multisampled_render_to_texture */
   546 #ifndef GL_EXT_multisampled_render_to_texture
   547 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT           0x8D6C
   548 /* reuse values from GL_EXT_framebuffer_multisample (desktop extension) */
   549 #define GL_RENDERBUFFER_SAMPLES_EXT                             0x8CAB
   550 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT               0x8D56
   551 #define GL_MAX_SAMPLES_EXT                                      0x8D57
   552 #endif
   553 
   554 /* GL_EXT_multiview_draw_buffers */
   555 #ifndef GL_EXT_multiview_draw_buffers
   556 #define GL_COLOR_ATTACHMENT_EXT                                 0x90F0
   557 #define GL_MULTIVIEW_EXT                                        0x90F1
   558 #define GL_DRAW_BUFFER_EXT                                      0x0C01
   559 #define GL_READ_BUFFER_EXT                                      0x0C02
   560 #define GL_MAX_MULTIVIEW_BUFFERS_EXT                            0x90F2
   561 #endif
   562 
   563 /* GL_EXT_multi_draw_arrays */
   564 /* No new tokens introduced by this extension. */
   565 
   566 /* GL_EXT_occlusion_query_boolean */
   567 #ifndef GL_EXT_occlusion_query_boolean
   568 #define GL_ANY_SAMPLES_PASSED_EXT                               0x8C2F
   569 #define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT                  0x8D6A
   570 #define GL_CURRENT_QUERY_EXT                                    0x8865
   571 #define GL_QUERY_RESULT_EXT                                     0x8866
   572 #define GL_QUERY_RESULT_AVAILABLE_EXT                           0x8867
   573 #endif
   574 
   575 /* GL_EXT_read_format_bgra */
   576 #ifndef GL_EXT_read_format_bgra
   577 #define GL_BGRA_EXT                                             0x80E1
   578 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT                       0x8365
   579 #define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT                       0x8366
   580 #endif
   581 
   582 /* GL_EXT_robustness */
   583 #ifndef GL_EXT_robustness
   584 /* reuse GL_NO_ERROR */
   585 #define GL_GUILTY_CONTEXT_RESET_EXT                             0x8253
   586 #define GL_INNOCENT_CONTEXT_RESET_EXT                           0x8254
   587 #define GL_UNKNOWN_CONTEXT_RESET_EXT                            0x8255
   588 #define GL_CONTEXT_ROBUST_ACCESS_EXT                            0x90F3
   589 #define GL_RESET_NOTIFICATION_STRATEGY_EXT                      0x8256
   590 #define GL_LOSE_CONTEXT_ON_RESET_EXT                            0x8252
   591 #define GL_NO_RESET_NOTIFICATION_EXT                            0x8261
   592 #endif
   593 
   594 /* GL_EXT_separate_shader_objects */
   595 #ifndef GL_EXT_separate_shader_objects
   596 #define GL_VERTEX_SHADER_BIT_EXT                                0x00000001
   597 #define GL_FRAGMENT_SHADER_BIT_EXT                              0x00000002
   598 #define GL_ALL_SHADER_BITS_EXT                                  0xFFFFFFFF
   599 #define GL_PROGRAM_SEPARABLE_EXT                                0x8258
   600 #define GL_ACTIVE_PROGRAM_EXT                                   0x8259
   601 #define GL_PROGRAM_PIPELINE_BINDING_EXT                         0x825A
   602 #endif
   603 
   604 /* GL_EXT_shader_framebuffer_fetch */
   605 #ifndef GL_EXT_shader_framebuffer_fetch
   606 #define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT                 0x8A52
   607 #endif
   608 
   609 /* GL_EXT_shader_texture_lod */
   610 /* No new tokens introduced by this extension. */
   611 
   612 /* GL_EXT_shadow_samplers */
   613 #ifndef GL_EXT_shadow_samplers
   614 #define GL_TEXTURE_COMPARE_MODE_EXT                             0x884C
   615 #define GL_TEXTURE_COMPARE_FUNC_EXT                             0x884D
   616 #define GL_COMPARE_REF_TO_TEXTURE_EXT                           0x884E
   617 #define GL_SAMPLER_2D_SHADOW_EXT                                0x8B62
   618 #endif
   619 
   620 /* GL_EXT_sRGB */
   621 #ifndef GL_EXT_sRGB
   622 #define GL_SRGB_EXT                                             0x8C40
   623 #define GL_SRGB_ALPHA_EXT                                       0x8C42
   624 #define GL_SRGB8_ALPHA8_EXT                                     0x8C43
   625 #define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT            0x8210
   626 #endif
   627 
   628 /* GL_EXT_sRGB_write_control */
   629 #ifndef GL_EXT_sRGB_write_control
   630 #define GL_EXT_sRGB_write_control 1
   631 #define GL_FRAMEBUFFER_SRGB_EXT                                 0x8DB9
   632 #endif
   633 
   634 /* GL_EXT_texture_compression_dxt1 */
   635 #ifndef GL_EXT_texture_compression_dxt1
   636 #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT                         0x83F0
   637 #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT                        0x83F1
   638 #endif
   639 
   640 /* GL_EXT_texture_filter_anisotropic */
   641 #ifndef GL_EXT_texture_filter_anisotropic
   642 #define GL_TEXTURE_MAX_ANISOTROPY_EXT                           0x84FE
   643 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT                       0x84FF
   644 #endif
   645 
   646 /* GL_EXT_texture_format_BGRA8888 */
   647 #ifndef GL_EXT_texture_format_BGRA8888
   648 #define GL_BGRA_EXT                                             0x80E1
   649 #endif
   650 
   651 /* GL_EXT_texture_rg */
   652 #ifndef GL_EXT_texture_rg
   653 #define GL_RED_EXT                                              0x1903
   654 #define GL_RG_EXT                                               0x8227
   655 #define GL_R8_EXT                                               0x8229
   656 #define GL_RG8_EXT                                              0x822B
   657 #endif
   658 
   659 /* GL_EXT_texture_sRGB_decode */
   660 #ifndef GL_EXT_texture_sRGB_decode
   661 #define GL_EXT_texture_sRGB_decode 1
   662 #define GL_TEXTURE_SRGB_DECODE_EXT                              0x8A48
   663 #define GL_DECODE_EXT                                           0x8A49
   664 #define GL_SKIP_DECODE_EXT                                      0x8A4A
   665 #endif
   666 
   667 /* GL_EXT_texture_storage */
   668 #ifndef GL_EXT_texture_storage
   669 #define GL_TEXTURE_IMMUTABLE_FORMAT_EXT                         0x912F
   670 #define GL_ALPHA8_EXT                                           0x803C
   671 #define GL_LUMINANCE8_EXT                                       0x8040
   672 #define GL_LUMINANCE8_ALPHA8_EXT                                0x8045
   673 #define GL_RGBA32F_EXT                                          0x8814
   674 #define GL_RGB32F_EXT                                           0x8815
   675 #define GL_ALPHA32F_EXT                                         0x8816
   676 #define GL_LUMINANCE32F_EXT                                     0x8818
   677 #define GL_LUMINANCE_ALPHA32F_EXT                               0x8819
   678 /* reuse GL_RGBA16F_EXT */
   679 /* reuse GL_RGB16F_EXT */
   680 #define GL_ALPHA16F_EXT                                         0x881C
   681 #define GL_LUMINANCE16F_EXT                                     0x881E
   682 #define GL_LUMINANCE_ALPHA16F_EXT                               0x881F
   683 #define GL_RGB10_A2_EXT                                         0x8059
   684 #define GL_RGB10_EXT                                            0x8052
   685 #define GL_BGRA8_EXT                                            0x93A1
   686 #define GL_R8_EXT                                               0x8229
   687 #define GL_RG8_EXT                                              0x822B
   688 #define GL_R32F_EXT                                             0x822E
   689 #define GL_RG32F_EXT                                            0x8230
   690 #define GL_R16F_EXT                                             0x822D
   691 #define GL_RG16F_EXT                                            0x822F
   692 #endif
   693 
   694 /* GL_EXT_texture_type_2_10_10_10_REV */
   695 #ifndef GL_EXT_texture_type_2_10_10_10_REV
   696 #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT                      0x8368
   697 #endif
   698 
   699 /* GL_EXT_unpack_subimage */
   700 #ifndef GL_EXT_unpack_subimage
   701 #define GL_UNPACK_ROW_LENGTH_EXT                                0x0CF2
   702 #define GL_UNPACK_SKIP_ROWS_EXT                                 0x0CF3
   703 #define GL_UNPACK_SKIP_PIXELS_EXT                               0x0CF4
   704 #endif
   705 
   706 /*------------------------------------------------------------------------*
   707  * DMP extension tokens
   708  *------------------------------------------------------------------------*/
   709 
   710 /* GL_DMP_shader_binary */
   711 #ifndef GL_DMP_shader_binary
   712 #define GL_SHADER_BINARY_DMP                                    0x9250
   713 #endif
   714 
   715 /*------------------------------------------------------------------------*
   716  * FJ extension tokens
   717  *------------------------------------------------------------------------*/
   718 
   719 /* GL_FJ_shader_binary_GCCSO */
   720 #ifndef GL_FJ_shader_binary_GCCSO
   721 #define GL_GCCSO_SHADER_BINARY_FJ                               0x9260
   722 #endif
   723 
   724 /*------------------------------------------------------------------------*
   725  * IMG extension tokens
   726  *------------------------------------------------------------------------*/
   727 
   728 /* GL_IMG_program_binary */
   729 #ifndef GL_IMG_program_binary
   730 #define GL_SGX_PROGRAM_BINARY_IMG                               0x9130
   731 #endif
   732 
   733 /* GL_IMG_read_format */
   734 #ifndef GL_IMG_read_format
   735 #define GL_BGRA_IMG                                             0x80E1
   736 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG                       0x8365
   737 #endif
   738 
   739 /* GL_IMG_shader_binary */
   740 #ifndef GL_IMG_shader_binary
   741 #define GL_SGX_BINARY_IMG                                       0x8C0A
   742 #endif
   743 
   744 /* GL_IMG_texture_compression_pvrtc */
   745 #ifndef GL_IMG_texture_compression_pvrtc
   746 #define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG                      0x8C00
   747 #define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG                      0x8C01
   748 #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG                     0x8C02
   749 #define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG                     0x8C03
   750 #endif
   751 
   752 /* GL_IMG_texture_compression_pvrtc2 */
   753 #ifndef GL_IMG_texture_compression_pvrtc2
   754 #define GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG                     0x9137
   755 #define GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG                     0x9138
   756 #endif
   757 
   758 /* GL_IMG_multisampled_render_to_texture */
   759 #ifndef GL_IMG_multisampled_render_to_texture
   760 #define GL_RENDERBUFFER_SAMPLES_IMG                             0x9133
   761 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG               0x9134
   762 #define GL_MAX_SAMPLES_IMG                                      0x9135
   763 #define GL_TEXTURE_SAMPLES_IMG                                  0x9136
   764 #endif
   765 
   766 /*------------------------------------------------------------------------*
   767  * NV extension tokens
   768  *------------------------------------------------------------------------*/
   769 
   770 /* GL_NV_coverage_sample */
   771 #ifndef GL_NV_coverage_sample
   772 #define GL_COVERAGE_COMPONENT_NV                                0x8ED0
   773 #define GL_COVERAGE_COMPONENT4_NV                               0x8ED1
   774 #define GL_COVERAGE_ATTACHMENT_NV                               0x8ED2
   775 #define GL_COVERAGE_BUFFERS_NV                                  0x8ED3
   776 #define GL_COVERAGE_SAMPLES_NV                                  0x8ED4
   777 #define GL_COVERAGE_ALL_FRAGMENTS_NV                            0x8ED5
   778 #define GL_COVERAGE_EDGE_FRAGMENTS_NV                           0x8ED6
   779 #define GL_COVERAGE_AUTOMATIC_NV                                0x8ED7
   780 #define GL_COVERAGE_BUFFER_BIT_NV                               0x00008000
   781 #endif
   782 
   783 /* GL_NV_depth_nonlinear */
   784 #ifndef GL_NV_depth_nonlinear
   785 #define GL_DEPTH_COMPONENT16_NONLINEAR_NV                       0x8E2C
   786 #endif
   787 
   788 /* GL_NV_draw_buffers */
   789 #ifndef GL_NV_draw_buffers
   790 #define GL_MAX_DRAW_BUFFERS_NV                                  0x8824
   791 #define GL_DRAW_BUFFER0_NV                                      0x8825
   792 #define GL_DRAW_BUFFER1_NV                                      0x8826
   793 #define GL_DRAW_BUFFER2_NV                                      0x8827
   794 #define GL_DRAW_BUFFER3_NV                                      0x8828
   795 #define GL_DRAW_BUFFER4_NV                                      0x8829
   796 #define GL_DRAW_BUFFER5_NV                                      0x882A
   797 #define GL_DRAW_BUFFER6_NV                                      0x882B
   798 #define GL_DRAW_BUFFER7_NV                                      0x882C
   799 #define GL_DRAW_BUFFER8_NV                                      0x882D
   800 #define GL_DRAW_BUFFER9_NV                                      0x882E
   801 #define GL_DRAW_BUFFER10_NV                                     0x882F
   802 #define GL_DRAW_BUFFER11_NV                                     0x8830
   803 #define GL_DRAW_BUFFER12_NV                                     0x8831
   804 #define GL_DRAW_BUFFER13_NV                                     0x8832
   805 #define GL_DRAW_BUFFER14_NV                                     0x8833
   806 #define GL_DRAW_BUFFER15_NV                                     0x8834
   807 #define GL_COLOR_ATTACHMENT0_NV                                 0x8CE0
   808 #define GL_COLOR_ATTACHMENT1_NV                                 0x8CE1
   809 #define GL_COLOR_ATTACHMENT2_NV                                 0x8CE2
   810 #define GL_COLOR_ATTACHMENT3_NV                                 0x8CE3
   811 #define GL_COLOR_ATTACHMENT4_NV                                 0x8CE4
   812 #define GL_COLOR_ATTACHMENT5_NV                                 0x8CE5
   813 #define GL_COLOR_ATTACHMENT6_NV                                 0x8CE6
   814 #define GL_COLOR_ATTACHMENT7_NV                                 0x8CE7
   815 #define GL_COLOR_ATTACHMENT8_NV                                 0x8CE8
   816 #define GL_COLOR_ATTACHMENT9_NV                                 0x8CE9
   817 #define GL_COLOR_ATTACHMENT10_NV                                0x8CEA
   818 #define GL_COLOR_ATTACHMENT11_NV                                0x8CEB
   819 #define GL_COLOR_ATTACHMENT12_NV                                0x8CEC
   820 #define GL_COLOR_ATTACHMENT13_NV                                0x8CED
   821 #define GL_COLOR_ATTACHMENT14_NV                                0x8CEE
   822 #define GL_COLOR_ATTACHMENT15_NV                                0x8CEF
   823 #endif
   824 
   825 /* GL_NV_draw_instanced */
   826 /* No new tokens introduced by this extension. */
   827 
   828 /* GL_NV_fbo_color_attachments */
   829 #ifndef GL_NV_fbo_color_attachments
   830 #define GL_MAX_COLOR_ATTACHMENTS_NV                             0x8CDF
   831 /* GL_COLOR_ATTACHMENT{0-15}_NV defined in GL_NV_draw_buffers already. */
   832 #endif
   833 
   834 /* GL_NV_fence */
   835 #ifndef GL_NV_fence
   836 #define GL_ALL_COMPLETED_NV                                     0x84F2
   837 #define GL_FENCE_STATUS_NV                                      0x84F3
   838 #define GL_FENCE_CONDITION_NV                                   0x84F4
   839 #endif
   840 
   841 /* GL_NV_framebuffer_blit */
   842 #ifndef GL_NV_framebuffer_blit
   843 #define GL_READ_FRAMEBUFFER_NV                                  0x8CA8
   844 #define GL_DRAW_FRAMEBUFFER_NV                                  0x8CA9
   845 #define GL_DRAW_FRAMEBUFFER_BINDING_NV                          0x8CA6
   846 #define GL_READ_FRAMEBUFFER_BINDING_NV                          0x8CAA
   847 #endif
   848 
   849 /* GL_NV_framebuffer_multisample */
   850 #ifndef GL_NV_framebuffer_multisample
   851 #define GL_RENDERBUFFER_SAMPLES_NV                              0x8CAB
   852 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV                0x8D56
   853 #define GL_MAX_SAMPLES_NV                                       0x8D57
   854 #endif
   855 
   856 /* GL_NV_generate_mipmap_sRGB */
   857 /* No new tokens introduced by this extension. */
   858 
   859 /* GL_NV_instanced_arrays */
   860 #ifndef GL_NV_instanced_arrays
   861 #define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV                       0x88FE
   862 #endif
   863 
   864 /* GL_NV_read_buffer */
   865 #ifndef GL_NV_read_buffer
   866 #define GL_READ_BUFFER_NV                                       0x0C02
   867 #endif
   868 
   869 /* GL_NV_read_buffer_front */
   870 /* No new tokens introduced by this extension. */
   871 
   872 /* GL_NV_read_depth */
   873 /* No new tokens introduced by this extension. */
   874 
   875 /* GL_NV_read_depth_stencil */
   876 /* No new tokens introduced by this extension. */
   877 
   878 /* GL_NV_read_stencil */
   879 /* No new tokens introduced by this extension. */
   880 
   881 /* GL_NV_shadow_samplers_array */
   882 #ifndef GL_NV_shadow_samplers_array
   883 #define GL_SAMPLER_2D_ARRAY_SHADOW_NV                           0x8DC4
   884 #endif
   885 
   886 /* GL_NV_shadow_samplers_cube */
   887 #ifndef GL_NV_shadow_samplers_cube
   888 #define GL_SAMPLER_CUBE_SHADOW_NV                               0x8DC5
   889 #endif
   890 
   891 /* GL_NV_sRGB_formats */
   892 #ifndef GL_NV_sRGB_formats
   893 #define GL_SLUMINANCE_NV                                        0x8C46
   894 #define GL_SLUMINANCE_ALPHA_NV                                  0x8C44
   895 #define GL_SRGB8_NV                                             0x8C41
   896 #define GL_SLUMINANCE8_NV                                       0x8C47
   897 #define GL_SLUMINANCE8_ALPHA8_NV                                0x8C45
   898 #define GL_COMPRESSED_SRGB_S3TC_DXT1_NV                         0x8C4C
   899 #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV                   0x8C4D
   900 #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV                   0x8C4E
   901 #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV                   0x8C4F
   902 #define GL_ETC1_SRGB8_NV                                        0x88EE
   903 #endif
   904 
   905 /* GL_NV_texture_border_clamp */
   906 #ifndef GL_NV_texture_border_clamp
   907 #define GL_TEXTURE_BORDER_COLOR_NV                              0x1004
   908 #define GL_CLAMP_TO_BORDER_NV                                   0x812D
   909 #endif
   910 
   911 /* GL_NV_texture_compression_s3tc_update */
   912 /* No new tokens introduced by this extension. */
   913 
   914 /* GL_NV_texture_npot_2D_mipmap */
   915 /* No new tokens introduced by this extension. */
   916 
   917 /*------------------------------------------------------------------------*
   918  * QCOM extension tokens
   919  *------------------------------------------------------------------------*/
   920 
   921 /* GL_QCOM_alpha_test */
   922 #ifndef GL_QCOM_alpha_test
   923 #define GL_ALPHA_TEST_QCOM                                      0x0BC0
   924 #define GL_ALPHA_TEST_FUNC_QCOM                                 0x0BC1
   925 #define GL_ALPHA_TEST_REF_QCOM                                  0x0BC2
   926 #endif
   927 
   928 /* GL_QCOM_binning_control */
   929 #ifndef GL_QCOM_binning_control
   930 #define GL_BINNING_CONTROL_HINT_QCOM                            0x8FB0
   931 #define GL_CPU_OPTIMIZED_QCOM                                   0x8FB1
   932 #define GL_GPU_OPTIMIZED_QCOM                                   0x8FB2
   933 #define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM                    0x8FB3
   934 #endif
   935 
   936 /* GL_QCOM_driver_control */
   937 /* No new tokens introduced by this extension. */
   938 
   939 /* GL_QCOM_extended_get */
   940 #ifndef GL_QCOM_extended_get
   941 #define GL_TEXTURE_WIDTH_QCOM                                   0x8BD2
   942 #define GL_TEXTURE_HEIGHT_QCOM                                  0x8BD3
   943 #define GL_TEXTURE_DEPTH_QCOM                                   0x8BD4
   944 #define GL_TEXTURE_INTERNAL_FORMAT_QCOM                         0x8BD5
   945 #define GL_TEXTURE_FORMAT_QCOM                                  0x8BD6
   946 #define GL_TEXTURE_TYPE_QCOM                                    0x8BD7
   947 #define GL_TEXTURE_IMAGE_VALID_QCOM                             0x8BD8
   948 #define GL_TEXTURE_NUM_LEVELS_QCOM                              0x8BD9
   949 #define GL_TEXTURE_TARGET_QCOM                                  0x8BDA
   950 #define GL_TEXTURE_OBJECT_VALID_QCOM                            0x8BDB
   951 #define GL_STATE_RESTORE                                        0x8BDC
   952 #endif
   953 
   954 /* GL_QCOM_extended_get2 */
   955 /* No new tokens introduced by this extension. */
   956 
   957 /* GL_QCOM_perfmon_global_mode */
   958 #ifndef GL_QCOM_perfmon_global_mode
   959 #define GL_PERFMON_GLOBAL_MODE_QCOM                             0x8FA0
   960 #endif
   961 
   962 /* GL_QCOM_writeonly_rendering */
   963 #ifndef GL_QCOM_writeonly_rendering
   964 #define GL_WRITEONLY_RENDERING_QCOM                             0x8823
   965 #endif
   966 
   967 /* GL_QCOM_tiled_rendering */
   968 #ifndef GL_QCOM_tiled_rendering
   969 #define GL_COLOR_BUFFER_BIT0_QCOM                               0x00000001
   970 #define GL_COLOR_BUFFER_BIT1_QCOM                               0x00000002
   971 #define GL_COLOR_BUFFER_BIT2_QCOM                               0x00000004
   972 #define GL_COLOR_BUFFER_BIT3_QCOM                               0x00000008
   973 #define GL_COLOR_BUFFER_BIT4_QCOM                               0x00000010
   974 #define GL_COLOR_BUFFER_BIT5_QCOM                               0x00000020
   975 #define GL_COLOR_BUFFER_BIT6_QCOM                               0x00000040
   976 #define GL_COLOR_BUFFER_BIT7_QCOM                               0x00000080
   977 #define GL_DEPTH_BUFFER_BIT0_QCOM                               0x00000100
   978 #define GL_DEPTH_BUFFER_BIT1_QCOM                               0x00000200
   979 #define GL_DEPTH_BUFFER_BIT2_QCOM                               0x00000400
   980 #define GL_DEPTH_BUFFER_BIT3_QCOM                               0x00000800
   981 #define GL_DEPTH_BUFFER_BIT4_QCOM                               0x00001000
   982 #define GL_DEPTH_BUFFER_BIT5_QCOM                               0x00002000
   983 #define GL_DEPTH_BUFFER_BIT6_QCOM                               0x00004000
   984 #define GL_DEPTH_BUFFER_BIT7_QCOM                               0x00008000
   985 #define GL_STENCIL_BUFFER_BIT0_QCOM                             0x00010000
   986 #define GL_STENCIL_BUFFER_BIT1_QCOM                             0x00020000
   987 #define GL_STENCIL_BUFFER_BIT2_QCOM                             0x00040000
   988 #define GL_STENCIL_BUFFER_BIT3_QCOM                             0x00080000
   989 #define GL_STENCIL_BUFFER_BIT4_QCOM                             0x00100000
   990 #define GL_STENCIL_BUFFER_BIT5_QCOM                             0x00200000
   991 #define GL_STENCIL_BUFFER_BIT6_QCOM                             0x00400000
   992 #define GL_STENCIL_BUFFER_BIT7_QCOM                             0x00800000
   993 #define GL_MULTISAMPLE_BUFFER_BIT0_QCOM                         0x01000000
   994 #define GL_MULTISAMPLE_BUFFER_BIT1_QCOM                         0x02000000
   995 #define GL_MULTISAMPLE_BUFFER_BIT2_QCOM                         0x04000000
   996 #define GL_MULTISAMPLE_BUFFER_BIT3_QCOM                         0x08000000
   997 #define GL_MULTISAMPLE_BUFFER_BIT4_QCOM                         0x10000000
   998 #define GL_MULTISAMPLE_BUFFER_BIT5_QCOM                         0x20000000
   999 #define GL_MULTISAMPLE_BUFFER_BIT6_QCOM                         0x40000000
  1000 #define GL_MULTISAMPLE_BUFFER_BIT7_QCOM                         0x80000000
  1001 #endif
  1002 
  1003 /*------------------------------------------------------------------------*
  1004  * VIV extension tokens
  1005  *------------------------------------------------------------------------*/
  1006 
  1007 /* GL_VIV_shader_binary */
  1008 #ifndef GL_VIV_shader_binary
  1009 #define GL_SHADER_BINARY_VIV                                    0x8FC4
  1010 #endif
  1011 
  1012 /*------------------------------------------------------------------------*
  1013  * End of extension tokens, start of corresponding extension functions
  1014  *------------------------------------------------------------------------*/
  1015 
  1016 /*------------------------------------------------------------------------*
  1017  * OES extension functions
  1018  *------------------------------------------------------------------------*/
  1019 
  1020 /* GL_OES_compressed_ETC1_RGB8_texture */
  1021 #ifndef GL_OES_compressed_ETC1_RGB8_texture
  1022 #define GL_OES_compressed_ETC1_RGB8_texture 1
  1023 #endif
  1024 
  1025 /* GL_OES_compressed_paletted_texture */
  1026 #ifndef GL_OES_compressed_paletted_texture
  1027 #define GL_OES_compressed_paletted_texture 1
  1028 #endif
  1029 
  1030 /* GL_OES_depth24 */
  1031 #ifndef GL_OES_depth24
  1032 #define GL_OES_depth24 1
  1033 #endif
  1034 
  1035 /* GL_OES_depth32 */
  1036 #ifndef GL_OES_depth32
  1037 #define GL_OES_depth32 1
  1038 #endif
  1039 
  1040 /* GL_OES_depth_texture */
  1041 #ifndef GL_OES_depth_texture
  1042 #define GL_OES_depth_texture 1
  1043 #endif
  1044 
  1045 /* GL_OES_EGL_image */
  1046 #ifndef GL_OES_EGL_image
  1047 #define GL_OES_EGL_image 1
  1048 #ifdef GL_GLEXT_PROTOTYPES
  1049 GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
  1050 GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
  1051 #endif
  1052 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
  1053 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
  1054 #endif
  1055 
  1056 /* GL_OES_EGL_image_external */
  1057 #ifndef GL_OES_EGL_image_external
  1058 #define GL_OES_EGL_image_external 1
  1059 /* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */
  1060 #endif
  1061 
  1062 /* GL_OES_element_index_uint */
  1063 #ifndef GL_OES_element_index_uint
  1064 #define GL_OES_element_index_uint 1
  1065 #endif
  1066 
  1067 /* GL_OES_fbo_render_mipmap */
  1068 #ifndef GL_OES_fbo_render_mipmap
  1069 #define GL_OES_fbo_render_mipmap 1
  1070 #endif
  1071 
  1072 /* GL_OES_fragment_precision_high */
  1073 #ifndef GL_OES_fragment_precision_high
  1074 #define GL_OES_fragment_precision_high 1
  1075 #endif
  1076 
  1077 /* GL_OES_get_program_binary */
  1078 #ifndef GL_OES_get_program_binary
  1079 #define GL_OES_get_program_binary 1
  1080 #ifdef GL_GLEXT_PROTOTYPES
  1081 GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
  1082 GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
  1083 #endif
  1084 typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
  1085 typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
  1086 #endif
  1087 
  1088 /* GL_OES_mapbuffer */
  1089 #ifndef GL_OES_mapbuffer
  1090 #define GL_OES_mapbuffer 1
  1091 #ifdef GL_GLEXT_PROTOTYPES
  1092 GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
  1093 GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
  1094 GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid **params);
  1095 #endif
  1096 typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
  1097 typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
  1098 typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid **params);
  1099 #endif
  1100 
  1101 /* GL_OES_packed_depth_stencil */
  1102 #ifndef GL_OES_packed_depth_stencil
  1103 #define GL_OES_packed_depth_stencil 1
  1104 #endif
  1105 
  1106 /* GL_OES_required_internalformat */
  1107 #ifndef GL_OES_required_internalformat
  1108 #define GL_OES_required_internalformat 1
  1109 #endif
  1110 
  1111 /* GL_OES_rgb8_rgba8 */
  1112 #ifndef GL_OES_rgb8_rgba8
  1113 #define GL_OES_rgb8_rgba8 1
  1114 #endif
  1115 
  1116 /* GL_OES_standard_derivatives */
  1117 #ifndef GL_OES_standard_derivatives
  1118 #define GL_OES_standard_derivatives 1
  1119 #endif
  1120 
  1121 /* GL_OES_stencil1 */
  1122 #ifndef GL_OES_stencil1
  1123 #define GL_OES_stencil1 1
  1124 #endif
  1125 
  1126 /* GL_OES_stencil4 */
  1127 #ifndef GL_OES_stencil4
  1128 #define GL_OES_stencil4 1
  1129 #endif
  1130 
  1131 #ifndef GL_OES_surfaceless_context
  1132 #define GL_OES_surfaceless_context 1
  1133 #endif
  1134 
  1135 /* GL_OES_texture_3D */
  1136 #ifndef GL_OES_texture_3D
  1137 #define GL_OES_texture_3D 1
  1138 #ifdef GL_GLEXT_PROTOTYPES
  1139 GL_APICALL void GL_APIENTRY glTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
  1140 GL_APICALL void GL_APIENTRY glTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels);
  1141 GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  1142 GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
  1143 GL_APICALL void GL_APIENTRY glCompressedTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data);
  1144 GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
  1145 #endif
  1146 typedef void (GL_APIENTRYP PFNGLTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
  1147 typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels);
  1148 typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  1149 typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
  1150 typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data);
  1151 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOESPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
  1152 #endif
  1153 
  1154 /* GL_OES_texture_float */
  1155 #ifndef GL_OES_texture_float
  1156 #define GL_OES_texture_float 1
  1157 #endif
  1158 
  1159 /* GL_OES_texture_float_linear */
  1160 #ifndef GL_OES_texture_float_linear
  1161 #define GL_OES_texture_float_linear 1
  1162 #endif
  1163 
  1164 /* GL_OES_texture_half_float */
  1165 #ifndef GL_OES_texture_half_float
  1166 #define GL_OES_texture_half_float 1
  1167 #endif
  1168 
  1169 /* GL_OES_texture_half_float_linear */
  1170 #ifndef GL_OES_texture_half_float_linear
  1171 #define GL_OES_texture_half_float_linear 1
  1172 #endif
  1173 
  1174 /* GL_OES_texture_npot */
  1175 #ifndef GL_OES_texture_npot
  1176 #define GL_OES_texture_npot 1
  1177 #endif
  1178 
  1179 /* GL_OES_vertex_array_object */
  1180 #ifndef GL_OES_vertex_array_object
  1181 #define GL_OES_vertex_array_object 1
  1182 #ifdef GL_GLEXT_PROTOTYPES
  1183 GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array);
  1184 GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
  1185 GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
  1186 GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
  1187 #endif
  1188 typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
  1189 typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
  1190 typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
  1191 typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
  1192 #endif
  1193 
  1194 /* GL_OES_vertex_half_float */
  1195 #ifndef GL_OES_vertex_half_float
  1196 #define GL_OES_vertex_half_float 1
  1197 #endif
  1198 
  1199 /* GL_OES_vertex_type_10_10_10_2 */
  1200 #ifndef GL_OES_vertex_type_10_10_10_2
  1201 #define GL_OES_vertex_type_10_10_10_2 1
  1202 #endif
  1203 
  1204 /*------------------------------------------------------------------------*
  1205  * KHR extension functions
  1206  *------------------------------------------------------------------------*/
  1207 
  1208 #ifndef GL_KHR_debug
  1209 #define GL_KHR_debug 1
  1210 #ifdef GL_GLEXT_PROTOTYPES
  1211 GL_APICALL void GL_APIENTRY glDebugMessageControlKHR (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
  1212 GL_APICALL void GL_APIENTRY glDebugMessageInsertKHR (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
  1213 GL_APICALL void GL_APIENTRY glDebugMessageCallbackKHR (GLDEBUGPROCKHR callback, const void *userParam);
  1214 GL_APICALL GLuint GL_APIENTRY glGetDebugMessageLogKHR (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
  1215 GL_APICALL void GL_APIENTRY glPushDebugGroupKHR (GLenum source, GLuint id, GLsizei length, const GLchar *message);
  1216 GL_APICALL void GL_APIENTRY glPopDebugGroupKHR (void);
  1217 GL_APICALL void GL_APIENTRY glObjectLabelKHR (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
  1218 GL_APICALL void GL_APIENTRY glGetObjectLabelKHR (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
  1219 GL_APICALL void GL_APIENTRY glObjectPtrLabelKHR (const void *ptr, GLsizei length, const GLchar *label);
  1220 GL_APICALL void GL_APIENTRY glGetObjectPtrLabelKHR (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
  1221 GL_APICALL void GL_APIENTRY glGetPointervKHR (GLenum pname, GLvoid **params);
  1222 #endif
  1223 typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECONTROLKHRPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
  1224 typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGEINSERTKHRPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
  1225 typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECALLBACKKHRPROC) (GLDEBUGPROCKHR callback, const void *userParam);
  1226 typedef GLuint (GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGKHRPROC) (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
  1227 typedef void (GL_APIENTRYP PFNGLPUSHDEBUGGROUPKHRPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message);
  1228 typedef void (GL_APIENTRYP PFNGLPOPDEBUGGROUPKHRPROC) (void);
  1229 typedef void (GL_APIENTRYP PFNGLOBJECTLABELKHRPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
  1230 typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELKHRPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
  1231 typedef void (GL_APIENTRYP PFNGLOBJECTPTRLABELKHRPROC) (const void *ptr, GLsizei length, const GLchar *label);
  1232 typedef void (GL_APIENTRYP PFNGLGETOBJECTPTRLABELKHRPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
  1233 typedef void (GL_APIENTRYP PFNGLGETPOINTERVKHRPROC) (GLenum pname, GLvoid **params);
  1234 #endif
  1235 
  1236 #ifndef GL_KHR_texture_compression_astc_ldr
  1237 #define GL_KHR_texture_compression_astc_ldr 1
  1238 #endif
  1239 
  1240 
  1241 /*------------------------------------------------------------------------*
  1242  * AMD extension functions
  1243  *------------------------------------------------------------------------*/
  1244 
  1245 /* GL_AMD_compressed_3DC_texture */
  1246 #ifndef GL_AMD_compressed_3DC_texture
  1247 #define GL_AMD_compressed_3DC_texture 1
  1248 #endif
  1249 
  1250 /* GL_AMD_compressed_ATC_texture */
  1251 #ifndef GL_AMD_compressed_ATC_texture
  1252 #define GL_AMD_compressed_ATC_texture 1
  1253 #endif
  1254 
  1255 /* AMD_performance_monitor */
  1256 #ifndef GL_AMD_performance_monitor
  1257 #define GL_AMD_performance_monitor 1
  1258 #ifdef GL_GLEXT_PROTOTYPES
  1259 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
  1260 GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
  1261 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
  1262 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
  1263 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
  1264 GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
  1265 GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
  1266 GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
  1267 GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
  1268 GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
  1269 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
  1270 #endif
  1271 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
  1272 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
  1273 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
  1274 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
  1275 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
  1276 typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
  1277 typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
  1278 typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
  1279 typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
  1280 typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
  1281 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
  1282 #endif
  1283 
  1284 /* GL_AMD_program_binary_Z400 */
  1285 #ifndef GL_AMD_program_binary_Z400
  1286 #define GL_AMD_program_binary_Z400 1
  1287 #endif
  1288 
  1289 /*------------------------------------------------------------------------*
  1290  * ANGLE extension functions
  1291  *------------------------------------------------------------------------*/
  1292 
  1293 /* GL_ANGLE_depth_texture */
  1294 #ifndef GL_ANGLE_depth_texture
  1295 #define GL_ANGLE_depth_texture 1
  1296 #endif
  1297 
  1298 /* GL_ANGLE_framebuffer_blit */
  1299 #ifndef GL_ANGLE_framebuffer_blit
  1300 #define GL_ANGLE_framebuffer_blit 1
  1301 #ifdef GL_GLEXT_PROTOTYPES
  1302 GL_APICALL void GL_APIENTRY glBlitFramebufferANGLE (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
  1303 #endif
  1304 typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERANGLEPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
  1305 #endif
  1306 
  1307 /* GL_ANGLE_framebuffer_multisample */
  1308 #ifndef GL_ANGLE_framebuffer_multisample
  1309 #define GL_ANGLE_framebuffer_multisample 1
  1310 #ifdef GL_GLEXT_PROTOTYPES
  1311 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1312 #endif
  1313 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1314 #endif
  1315 
  1316 #ifndef GL_ANGLE_instanced_arrays
  1317 #define GL_ANGLE_instanced_arrays 1
  1318 #ifdef GL_GLEXT_PROTOTYPES
  1319 GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
  1320 GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
  1321 GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE (GLuint index, GLuint divisor);
  1322 #endif
  1323 typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
  1324 typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
  1325 typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor);
  1326 #endif
  1327 
  1328 /* GL_ANGLE_pack_reverse_row_order */
  1329 #ifndef GL_ANGLE_pack_reverse_row_order
  1330 #define GL_ANGLE_pack_reverse_row_order 1
  1331 #endif
  1332 
  1333 /* GL_ANGLE_program_binary */
  1334 #ifndef GL_ANGLE_program_binary
  1335 #define GL_ANGLE_program_binary 1
  1336 #endif
  1337 
  1338 /* GL_ANGLE_texture_compression_dxt3 */
  1339 #ifndef GL_ANGLE_texture_compression_dxt3
  1340 #define GL_ANGLE_texture_compression_dxt3 1
  1341 #endif
  1342 
  1343 /* GL_ANGLE_texture_compression_dxt5 */
  1344 #ifndef GL_ANGLE_texture_compression_dxt5
  1345 #define GL_ANGLE_texture_compression_dxt5 1
  1346 #endif
  1347 
  1348 /* GL_ANGLE_texture_usage */
  1349 #ifndef GL_ANGLE_texture_usage
  1350 #define GL_ANGLE_texture_usage 1
  1351 #endif
  1352 
  1353 #ifndef GL_ANGLE_translated_shader_source
  1354 #define GL_ANGLE_translated_shader_source 1
  1355 #ifdef GL_GLEXT_PROTOTYPES
  1356 GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
  1357 #endif
  1358 typedef void (GL_APIENTRYP PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
  1359 #endif
  1360 
  1361 /*------------------------------------------------------------------------*
  1362  * APPLE extension functions
  1363  *------------------------------------------------------------------------*/
  1364 
  1365 /* GL_APPLE_copy_texture_levels */
  1366 #ifndef GL_APPLE_copy_texture_levels
  1367 #define GL_APPLE_copy_texture_levels 1
  1368 #ifdef GL_GLEXT_PROTOTYPES
  1369 GL_APICALL void GL_APIENTRY glCopyTextureLevelsAPPLE (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
  1370 #endif
  1371 typedef void (GL_APIENTRYP PFNGLCOPYTEXTURELEVELSAPPLEPROC) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
  1372 #endif
  1373 
  1374 /* GL_APPLE_framebuffer_multisample */
  1375 #ifndef GL_APPLE_framebuffer_multisample
  1376 #define GL_APPLE_framebuffer_multisample 1
  1377 #ifdef GL_GLEXT_PROTOTYPES
  1378 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1379 GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
  1380 #endif /* GL_GLEXT_PROTOTYPES */
  1381 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1382 typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void);
  1383 #endif
  1384 
  1385 /* GL_APPLE_rgb_422 */
  1386 #ifndef GL_APPLE_rgb_422
  1387 #define GL_APPLE_rgb_422 1
  1388 #endif
  1389 
  1390 /* GL_APPLE_sync */
  1391 #ifndef GL_APPLE_sync
  1392 #define GL_APPLE_sync 1
  1393 #ifdef GL_GLEXT_PROTOTYPES
  1394 GL_APICALL GLsync GL_APIENTRY glFenceSyncAPPLE (GLenum condition, GLbitfield flags);
  1395 GL_APICALL GLboolean GL_APIENTRY glIsSyncAPPLE (GLsync sync);
  1396 GL_APICALL void GL_APIENTRY glDeleteSyncAPPLE (GLsync sync);
  1397 GL_APICALL GLenum GL_APIENTRY glClientWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
  1398 GL_APICALL void GL_APIENTRY glWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
  1399 GL_APICALL void GL_APIENTRY glGetInteger64vAPPLE (GLenum pname, GLint64 *params);
  1400 GL_APICALL void GL_APIENTRY glGetSyncivAPPLE (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
  1401 #endif
  1402 typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags);
  1403 typedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC) (GLsync sync);
  1404 typedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC) (GLsync sync);
  1405 typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
  1406 typedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
  1407 typedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64 *params);
  1408 typedef void (GL_APIENTRYP PFNGLGETSYNCIVAPPLEPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
  1409 #endif
  1410 
  1411 /* GL_APPLE_texture_format_BGRA8888 */
  1412 #ifndef GL_APPLE_texture_format_BGRA8888
  1413 #define GL_APPLE_texture_format_BGRA8888 1
  1414 #endif
  1415 
  1416 /* GL_APPLE_texture_max_level */
  1417 #ifndef GL_APPLE_texture_max_level
  1418 #define GL_APPLE_texture_max_level 1
  1419 #endif
  1420 
  1421 /*------------------------------------------------------------------------*
  1422  * ARM extension functions
  1423  *------------------------------------------------------------------------*/
  1424 
  1425 /* GL_ARM_mali_program_binary */
  1426 #ifndef GL_ARM_mali_program_binary
  1427 #define GL_ARM_mali_program_binary 1
  1428 #endif
  1429 
  1430 /* GL_ARM_mali_shader_binary */
  1431 #ifndef GL_ARM_mali_shader_binary
  1432 #define GL_ARM_mali_shader_binary 1
  1433 #endif
  1434 
  1435 /* GL_ARM_rgba8 */
  1436 #ifndef GL_ARM_rgba8
  1437 #define GL_ARM_rgba8 1
  1438 #endif
  1439 
  1440 /*------------------------------------------------------------------------*
  1441  * EXT extension functions
  1442  *------------------------------------------------------------------------*/
  1443 
  1444 /* GL_EXT_blend_minmax */
  1445 #ifndef GL_EXT_blend_minmax
  1446 #define GL_EXT_blend_minmax 1
  1447 #endif
  1448 
  1449 /* GL_EXT_color_buffer_half_float */
  1450 #ifndef GL_EXT_color_buffer_half_float
  1451 #define GL_EXT_color_buffer_half_float 1
  1452 #endif
  1453 
  1454 /* GL_EXT_debug_label */
  1455 #ifndef GL_EXT_debug_label
  1456 #define GL_EXT_debug_label 1
  1457 #ifdef GL_GLEXT_PROTOTYPES
  1458 GL_APICALL void GL_APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label);
  1459 GL_APICALL void GL_APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
  1460 #endif
  1461 typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label);
  1462 typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
  1463 #endif
  1464 
  1465 /* GL_EXT_debug_marker */
  1466 #ifndef GL_EXT_debug_marker
  1467 #define GL_EXT_debug_marker 1
  1468 #ifdef GL_GLEXT_PROTOTYPES
  1469 GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker);
  1470 GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker);
  1471 GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void);
  1472 #endif
  1473 typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker);
  1474 typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker);
  1475 typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void);
  1476 #endif
  1477 
  1478 /* GL_EXT_discard_framebuffer */
  1479 #ifndef GL_EXT_discard_framebuffer
  1480 #define GL_EXT_discard_framebuffer 1
  1481 #ifdef GL_GLEXT_PROTOTYPES
  1482 GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
  1483 #endif
  1484 typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
  1485 #endif
  1486 
  1487 #ifndef GL_EXT_disjoint_timer_query
  1488 #define GL_EXT_disjoint_timer_query 1
  1489 #ifdef GL_GLEXT_PROTOTYPES
  1490 GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids);
  1491 GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids);
  1492 GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id);
  1493 GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id);
  1494 GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target);
  1495 GL_APICALL void GL_APIENTRY glQueryCounterEXT (GLuint id, GLenum target);
  1496 GL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params);
  1497 GL_APICALL void GL_APIENTRY glGetQueryObjectivEXT (GLuint id, GLenum pname, GLint *params);
  1498 GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params);
  1499 GL_APICALL void GL_APIENTRY glGetQueryObjecti64vEXT (GLuint id, GLenum pname, GLint64 *params);
  1500 GL_APICALL void GL_APIENTRY glGetQueryObjectui64vEXT (GLuint id, GLenum pname, GLuint64 *params);
  1501 #endif
  1502 typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids);
  1503 typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids);
  1504 typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id);
  1505 typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id);
  1506 typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target);
  1507 typedef void (GL_APIENTRYP PFNGLQUERYCOUNTEREXTPROC) (GLuint id, GLenum target);
  1508 typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
  1509 typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTIVEXTPROC) (GLuint id, GLenum pname, GLint *params);
  1510 typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params);
  1511 typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTI64VEXTPROC) (GLuint id, GLenum pname, GLint64 *params);
  1512 typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUI64VEXTPROC) (GLuint id, GLenum pname, GLuint64 *params);
  1513 #endif /* GL_EXT_disjoint_timer_query */
  1514 
  1515 #ifndef GL_EXT_draw_buffers
  1516 #define GL_EXT_draw_buffers 1
  1517 #ifdef GL_GLEXT_PROTOTYPES
  1518 GL_APICALL void GL_APIENTRY glDrawBuffersEXT (GLsizei n, const GLenum *bufs);
  1519 #endif
  1520 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC) (GLsizei n, const GLenum *bufs);
  1521 #endif /* GL_EXT_draw_buffers */
  1522 
  1523 /* GL_EXT_map_buffer_range */
  1524 #ifndef GL_EXT_map_buffer_range
  1525 #define GL_EXT_map_buffer_range 1
  1526 #ifdef GL_GLEXT_PROTOTYPES
  1527 GL_APICALL void* GL_APIENTRY glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
  1528 GL_APICALL void GL_APIENTRY glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length);
  1529 #endif
  1530 typedef void* (GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
  1531 typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
  1532 #endif
  1533 
  1534 /* GL_EXT_multisampled_render_to_texture */
  1535 #ifndef GL_EXT_multisampled_render_to_texture
  1536 #define GL_EXT_multisampled_render_to_texture 1
  1537 #ifdef GL_GLEXT_PROTOTYPES
  1538 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);             
  1539 GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
  1540 #endif
  1541 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1542 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
  1543 #endif
  1544 
  1545 /* GL_EXT_multiview_draw_buffers */
  1546 #ifndef GL_EXT_multiview_draw_buffers
  1547 #define GL_EXT_multiview_draw_buffers 1
  1548 #ifdef GL_GLEXT_PROTOTYPES
  1549 GL_APICALL void GL_APIENTRY glReadBufferIndexedEXT (GLenum src, GLint index);
  1550 GL_APICALL void GL_APIENTRY glDrawBuffersIndexedEXT (GLint n, const GLenum *location, const GLint *indices);
  1551 GL_APICALL void GL_APIENTRY glGetIntegeri_vEXT (GLenum target, GLuint index, GLint *data);
  1552 #endif
  1553 typedef void (GL_APIENTRYP PFNGLREADBUFFERINDEXEDEXTPROC) (GLenum src, GLint index);
  1554 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSINDEXEDEXTPROC) (GLint n, const GLenum *location, const GLint *indices);
  1555 typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VEXTPROC) (GLenum target, GLuint index, GLint *data);
  1556 #endif
  1557 
  1558 #ifndef GL_EXT_multi_draw_arrays
  1559 #define GL_EXT_multi_draw_arrays 1
  1560 #ifdef GL_GLEXT_PROTOTYPES
  1561 GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
  1562 GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount);
  1563 #endif /* GL_GLEXT_PROTOTYPES */
  1564 typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
  1565 typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount);
  1566 #endif
  1567 
  1568 /* GL_EXT_occlusion_query_boolean */
  1569 #ifndef GL_EXT_occlusion_query_boolean
  1570 #define GL_EXT_occlusion_query_boolean 1
  1571 /* All entry points also exist in GL_EXT_disjoint_timer_query */
  1572 #endif
  1573 
  1574 /* GL_EXT_read_format_bgra */
  1575 #ifndef GL_EXT_read_format_bgra
  1576 #define GL_EXT_read_format_bgra 1
  1577 #endif
  1578 
  1579 /* GL_EXT_robustness */
  1580 #ifndef GL_EXT_robustness
  1581 #define GL_EXT_robustness 1
  1582 #ifdef GL_GLEXT_PROTOTYPES
  1583 GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void);
  1584 GL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);
  1585 GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
  1586 GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params);
  1587 #endif
  1588 typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void);
  1589 typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);
  1590 typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
  1591 typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
  1592 #endif
  1593 
  1594 /* GL_EXT_separate_shader_objects */
  1595 #ifndef GL_EXT_separate_shader_objects
  1596 #define GL_EXT_separate_shader_objects 1
  1597 #ifdef GL_GLEXT_PROTOTYPES
  1598 GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program);
  1599 GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program);
  1600 GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings);
  1601 GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline);
  1602 GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines);
  1603 GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines);
  1604 GL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline);
  1605 GL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value);
  1606 GL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params);
  1607 GL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint x);
  1608 GL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint x, GLint y);
  1609 GL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z);
  1610 GL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
  1611 GL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat x);
  1612 GL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat x, GLfloat y);
  1613 GL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
  1614 GL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  1615 GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
  1616 GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
  1617 GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
  1618 GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
  1619 GL_APICALL void GL_APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1620 GL_APICALL void GL_APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1621 GL_APICALL void GL_APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1622 GL_APICALL void GL_APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1623 GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1624 GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1625 GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1626 GL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline);
  1627 GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  1628 #endif
  1629 typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program);
  1630 typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program);
  1631 typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings);
  1632 typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
  1633 typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines);
  1634 typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines);
  1635 typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
  1636 typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value);
  1637 typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params);
  1638 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint x);
  1639 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint x, GLint y);
  1640 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z);
  1641 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
  1642 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat x);
  1643 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y);
  1644 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
  1645 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  1646 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  1647 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  1648 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  1649 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
  1650 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1651 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1652 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1653 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
  1654 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1655 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1656 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  1657 typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
  1658 typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  1659 #endif
  1660 
  1661 /* GL_EXT_shader_framebuffer_fetch */
  1662 #ifndef GL_EXT_shader_framebuffer_fetch
  1663 #define GL_EXT_shader_framebuffer_fetch 1
  1664 #endif
  1665 
  1666 /* GL_EXT_shader_texture_lod */
  1667 #ifndef GL_EXT_shader_texture_lod
  1668 #define GL_EXT_shader_texture_lod 1
  1669 #endif
  1670 
  1671 /* GL_EXT_shadow_samplers */
  1672 #ifndef GL_EXT_shadow_samplers
  1673 #define GL_EXT_shadow_samplers 1
  1674 #endif
  1675 
  1676 /* GL_EXT_sRGB */
  1677 #ifndef GL_EXT_sRGB
  1678 #define GL_EXT_sRGB 1
  1679 #endif
  1680 
  1681 /* GL_EXT_texture_compression_dxt1 */
  1682 #ifndef GL_EXT_texture_compression_dxt1
  1683 #define GL_EXT_texture_compression_dxt1 1
  1684 #endif
  1685 
  1686 /* GL_EXT_texture_filter_anisotropic */
  1687 #ifndef GL_EXT_texture_filter_anisotropic
  1688 #define GL_EXT_texture_filter_anisotropic 1
  1689 #endif
  1690 
  1691 /* GL_EXT_texture_format_BGRA8888 */
  1692 #ifndef GL_EXT_texture_format_BGRA8888
  1693 #define GL_EXT_texture_format_BGRA8888 1
  1694 #endif
  1695 
  1696 /* GL_EXT_texture_rg */
  1697 #ifndef GL_EXT_texture_rg
  1698 #define GL_EXT_texture_rg 1
  1699 #endif
  1700 
  1701 /* GL_EXT_texture_storage */
  1702 #ifndef GL_EXT_texture_storage
  1703 #define GL_EXT_texture_storage 1
  1704 #ifdef GL_GLEXT_PROTOTYPES
  1705 GL_APICALL void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  1706 GL_APICALL void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1707 GL_APICALL void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1708 GL_APICALL void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  1709 GL_APICALL void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1710 GL_APICALL void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1711 #endif
  1712 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  1713 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1714 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1715 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
  1716 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  1717 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  1718 #endif
  1719 
  1720 /* GL_EXT_texture_type_2_10_10_10_REV */
  1721 #ifndef GL_EXT_texture_type_2_10_10_10_REV
  1722 #define GL_EXT_texture_type_2_10_10_10_REV 1
  1723 #endif
  1724 
  1725 /* GL_EXT_unpack_subimage */
  1726 #ifndef GL_EXT_unpack_subimage
  1727 #define GL_EXT_unpack_subimage 1
  1728 #endif
  1729 
  1730 /*------------------------------------------------------------------------*
  1731  * DMP extension functions
  1732  *------------------------------------------------------------------------*/
  1733 
  1734 /* GL_DMP_shader_binary */
  1735 #ifndef GL_DMP_shader_binary
  1736 #define GL_DMP_shader_binary 1
  1737 #endif
  1738 
  1739 /*------------------------------------------------------------------------*
  1740  * FJ extension functions
  1741  *------------------------------------------------------------------------*/
  1742 
  1743 /* GL_FJ_shader_binary_GCCSO */
  1744 #ifndef GL_FJ_shader_binary_GCCSO
  1745 #define GL_FJ_shader_binary_GCCSO 1
  1746 #endif
  1747 
  1748 /*------------------------------------------------------------------------*
  1749  * IMG extension functions
  1750  *------------------------------------------------------------------------*/
  1751 
  1752 /* GL_IMG_program_binary */
  1753 #ifndef GL_IMG_program_binary
  1754 #define GL_IMG_program_binary 1
  1755 #endif
  1756 
  1757 /* GL_IMG_read_format */
  1758 #ifndef GL_IMG_read_format
  1759 #define GL_IMG_read_format 1
  1760 #endif
  1761 
  1762 /* GL_IMG_shader_binary */
  1763 #ifndef GL_IMG_shader_binary
  1764 #define GL_IMG_shader_binary 1
  1765 #endif
  1766 
  1767 /* GL_IMG_texture_compression_pvrtc */
  1768 #ifndef GL_IMG_texture_compression_pvrtc
  1769 #define GL_IMG_texture_compression_pvrtc 1
  1770 #endif
  1771 
  1772 /* GL_IMG_texture_compression_pvrtc2 */
  1773 #ifndef GL_IMG_texture_compression_pvrtc2
  1774 #define GL_IMG_texture_compression_pvrtc2 1
  1775 #endif
  1776 
  1777 /* GL_IMG_multisampled_render_to_texture */
  1778 #ifndef GL_IMG_multisampled_render_to_texture
  1779 #define GL_IMG_multisampled_render_to_texture 1
  1780 #ifdef GL_GLEXT_PROTOTYPES
  1781 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1782 GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
  1783 #endif
  1784 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1785 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
  1786 #endif
  1787 
  1788 /*------------------------------------------------------------------------*
  1789  * NV extension functions
  1790  *------------------------------------------------------------------------*/
  1791 
  1792 /* GL_NV_coverage_sample */
  1793 #ifndef GL_NV_coverage_sample
  1794 #define GL_NV_coverage_sample 1
  1795 #ifdef GL_GLEXT_PROTOTYPES
  1796 GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask);
  1797 GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation);
  1798 #endif
  1799 typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask);
  1800 typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation);
  1801 #endif
  1802 
  1803 /* GL_NV_depth_nonlinear */
  1804 #ifndef GL_NV_depth_nonlinear
  1805 #define GL_NV_depth_nonlinear 1
  1806 #endif
  1807 
  1808 /* GL_NV_draw_buffers */
  1809 #ifndef GL_NV_draw_buffers
  1810 #define GL_NV_draw_buffers 1
  1811 #ifdef GL_GLEXT_PROTOTYPES
  1812 GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs);
  1813 #endif
  1814 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs);
  1815 #endif
  1816 
  1817 /* GL_NV_draw_instanced */
  1818 #ifndef GL_NV_draw_instanced
  1819 #define GL_NV_draw_instanced 1
  1820 #ifdef GL_GLEXT_PROTOTYPES
  1821 GL_APICALL void GL_APIENTRY glDrawArraysInstancedNV (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
  1822 GL_APICALL void GL_APIENTRY glDrawElementsInstancedNV (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
  1823 #endif
  1824 typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDNVPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
  1825 typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDNVPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
  1826 #endif
  1827 
  1828 /* GL_NV_fbo_color_attachments */
  1829 #ifndef GL_NV_fbo_color_attachments
  1830 #define GL_NV_fbo_color_attachments 1
  1831 #endif
  1832 
  1833 /* GL_NV_fence */
  1834 #ifndef GL_NV_fence
  1835 #define GL_NV_fence 1
  1836 #ifdef GL_GLEXT_PROTOTYPES
  1837 GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei n, const GLuint *fences);
  1838 GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei n, GLuint *fences);
  1839 GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint fence);
  1840 GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint fence);
  1841 GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint fence, GLenum pname, GLint *params);
  1842 GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint fence);
  1843 GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint fence, GLenum condition);
  1844 #endif
  1845 typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
  1846 typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
  1847 typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
  1848 typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
  1849 typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
  1850 typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
  1851 typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
  1852 #endif
  1853 
  1854 /* GL_NV_framebuffer_blit */
  1855 #ifndef GL_NV_framebuffer_blit
  1856 #define GL_NV_framebuffer_blit 1
  1857 #ifdef GL_GLEXT_PROTOTYPES
  1858 GL_APICALL void GL_APIENTRY glBlitFramebufferNV (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
  1859 #endif
  1860 typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERNVPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
  1861 #endif
  1862 
  1863 /* GL_NV_framebuffer_multisample */
  1864 #ifndef GL_NV_framebuffer_multisample
  1865 #define GL_NV_framebuffer_multisample 1
  1866 #ifdef GL_GLEXT_PROTOTYPES
  1867 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleNV ( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1868 #endif
  1869 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLENVPROC) ( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  1870 #endif
  1871 
  1872 /* GL_NV_generate_mipmap_sRGB */
  1873 #ifndef GL_NV_generate_mipmap_sRGB
  1874 #define GL_NV_generate_mipmap_sRGB 1
  1875 #endif
  1876 
  1877 /* GL_NV_instanced_arrays */
  1878 #ifndef GL_NV_instanced_arrays
  1879 #define GL_NV_instanced_arrays 1
  1880 #ifdef GL_GLEXT_PROTOTYPES
  1881 GL_APICALL void GL_APIENTRY glVertexAttribDivisorNV (GLuint index, GLuint divisor);
  1882 #endif
  1883 typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORNVPROC) (GLuint index, GLuint divisor);
  1884 #endif
  1885 
  1886 /* GL_NV_read_buffer */
  1887 #ifndef GL_NV_read_buffer
  1888 #define GL_NV_read_buffer 1
  1889 #ifdef GL_GLEXT_PROTOTYPES
  1890 GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode);
  1891 #endif
  1892 typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode);
  1893 #endif
  1894 
  1895 /* GL_NV_read_buffer_front */
  1896 #ifndef GL_NV_read_buffer_front
  1897 #define GL_NV_read_buffer_front 1
  1898 #endif
  1899 
  1900 /* GL_NV_read_depth */
  1901 #ifndef GL_NV_read_depth
  1902 #define GL_NV_read_depth 1
  1903 #endif
  1904 
  1905 /* GL_NV_read_depth_stencil */
  1906 #ifndef GL_NV_read_depth_stencil
  1907 #define GL_NV_read_depth_stencil 1
  1908 #endif
  1909 
  1910 /* GL_NV_read_stencil */
  1911 #ifndef GL_NV_read_stencil
  1912 #define GL_NV_read_stencil 1
  1913 #endif
  1914 
  1915 /* GL_NV_shadow_samplers_array */
  1916 #ifndef GL_NV_shadow_samplers_array
  1917 #define GL_NV_shadow_samplers_array 1
  1918 #endif
  1919 
  1920 /* GL_NV_shadow_samplers_cube */
  1921 #ifndef GL_NV_shadow_samplers_cube
  1922 #define GL_NV_shadow_samplers_cube 1
  1923 #endif
  1924 
  1925 /* GL_NV_sRGB_formats */
  1926 #ifndef GL_NV_sRGB_formats
  1927 #define GL_NV_sRGB_formats 1
  1928 #endif
  1929 
  1930 /* GL_NV_texture_border_clamp */
  1931 #ifndef GL_NV_texture_border_clamp
  1932 #define GL_NV_texture_border_clamp 1
  1933 #endif
  1934 
  1935 /* GL_NV_texture_compression_s3tc_update */
  1936 #ifndef GL_NV_texture_compression_s3tc_update
  1937 #define GL_NV_texture_compression_s3tc_update 1
  1938 #endif
  1939 
  1940 /* GL_NV_texture_npot_2D_mipmap */
  1941 #ifndef GL_NV_texture_npot_2D_mipmap
  1942 #define GL_NV_texture_npot_2D_mipmap 1
  1943 #endif
  1944 
  1945 /*------------------------------------------------------------------------*
  1946  * QCOM extension functions
  1947  *------------------------------------------------------------------------*/
  1948 
  1949 /* GL_QCOM_alpha_test */
  1950 #ifndef GL_QCOM_alpha_test
  1951 #define GL_QCOM_alpha_test 1
  1952 #ifdef GL_GLEXT_PROTOTYPES
  1953 GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref);
  1954 #endif
  1955 typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref);
  1956 #endif
  1957 
  1958 /* GL_QCOM_binning_control */
  1959 #ifndef GL_QCOM_binning_control
  1960 #define GL_QCOM_binning_control 1
  1961 #endif
  1962 
  1963 /* GL_QCOM_driver_control */
  1964 #ifndef GL_QCOM_driver_control
  1965 #define GL_QCOM_driver_control 1
  1966 #ifdef GL_GLEXT_PROTOTYPES
  1967 GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
  1968 GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
  1969 GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
  1970 GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
  1971 #endif
  1972 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
  1973 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
  1974 typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
  1975 typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
  1976 #endif
  1977 
  1978 /* GL_QCOM_extended_get */
  1979 #ifndef GL_QCOM_extended_get
  1980 #define GL_QCOM_extended_get 1
  1981 #ifdef GL_GLEXT_PROTOTYPES
  1982 GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
  1983 GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
  1984 GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
  1985 GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
  1986 GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
  1987 GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
  1988 GL_APICALL void GL_APIENTRY glExtGetTexSubImageQCOM (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels);
  1989 GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params);
  1990 #endif
  1991 typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
  1992 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
  1993 typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
  1994 typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
  1995 typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
  1996 typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
  1997 typedef void (GL_APIENTRYP PFNGLEXTGETTEXSUBIMAGEQCOMPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels);
  1998 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params);
  1999 #endif
  2000 
  2001 /* GL_QCOM_extended_get2 */
  2002 #ifndef GL_QCOM_extended_get2
  2003 #define GL_QCOM_extended_get2 1
  2004 #ifdef GL_GLEXT_PROTOTYPES
  2005 GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
  2006 GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
  2007 GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
  2008 GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
  2009 #endif
  2010 typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
  2011 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
  2012 typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
  2013 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
  2014 #endif
  2015 
  2016 /* GL_QCOM_perfmon_global_mode */
  2017 #ifndef GL_QCOM_perfmon_global_mode
  2018 #define GL_QCOM_perfmon_global_mode 1
  2019 #endif
  2020 
  2021 /* GL_QCOM_writeonly_rendering */
  2022 #ifndef GL_QCOM_writeonly_rendering
  2023 #define GL_QCOM_writeonly_rendering 1
  2024 #endif
  2025 
  2026 /* GL_QCOM_tiled_rendering */
  2027 #ifndef GL_QCOM_tiled_rendering
  2028 #define GL_QCOM_tiled_rendering 1
  2029 #ifdef GL_GLEXT_PROTOTYPES
  2030 GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
  2031 GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
  2032 #endif
  2033 typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
  2034 typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
  2035 #endif
  2036 
  2037 /*------------------------------------------------------------------------*
  2038  * VIV extension tokens
  2039  *------------------------------------------------------------------------*/
  2040 
  2041 /* GL_VIV_shader_binary */
  2042 #ifndef GL_VIV_shader_binary
  2043 #define GL_VIV_shader_binary 1
  2044 #endif
  2045 
  2046 #ifdef __cplusplus
  2047 }
  2048 #endif
  2049 
  2050 #endif /* __gl2ext_h_ */