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