include/SDL_opengles2_gl2ext.h
changeset 8808 da1e1d6e84c4
parent 8806 1a413cfc6ab7
     1.1 --- a/include/SDL_opengles2_gl2ext.h	Wed Jun 04 01:32:52 2014 -0700
     1.2 +++ b/include/SDL_opengles2_gl2ext.h	Wed Jun 04 01:35:36 2014 -0700
     1.3 @@ -1,7 +1,7 @@
     1.4  #ifndef __gl2ext_h_
     1.5  #define __gl2ext_h_
     1.6  
     1.7 -/* $Revision: 19436 $ on $Date:: 2012-10-10 10:37:04 -0700 #$ */
     1.8 +/* $Revision: 22801 $ on $Date:: 2013-08-21 03:20:48 -0700 #$ */
     1.9  
    1.10  #ifdef __cplusplus
    1.11  extern "C" {
    1.12 @@ -16,6 +16,20 @@
    1.13  #   define GL_APIENTRYP GL_APIENTRY*
    1.14  #endif
    1.15  
    1.16 +/* New types shared by several extensions */
    1.17 +
    1.18 +#ifndef __gl3_h_
    1.19 +/* These are defined with respect to <inttypes.h> in the
    1.20 + * Apple extension spec, but they are also used by non-APPLE
    1.21 + * extensions, and in the Khronos header we use the Khronos
    1.22 + * portable types in khrplatform.h, which must be defined.
    1.23 + */
    1.24 +typedef khronos_int64_t GLint64;
    1.25 +typedef khronos_uint64_t GLuint64;
    1.26 +typedef struct __GLsync *GLsync;
    1.27 +#endif
    1.28 +
    1.29 +
    1.30  /*------------------------------------------------------------------------*
    1.31   * OES extension tokens
    1.32   *------------------------------------------------------------------------*/
    1.33 @@ -94,23 +108,23 @@
    1.34  #endif
    1.35  
    1.36  /* GL_OES_required_internalformat */
    1.37 -#ifndef GL_OES_required_internalformat 
    1.38 +#ifndef GL_OES_required_internalformat
    1.39  #define GL_ALPHA8_OES                                           0x803C
    1.40  #define GL_DEPTH_COMPONENT16_OES                                0x81A5
    1.41 -/* reuse GL_DEPTH_COMPONENT24_OES */                            
    1.42 -/* reuse GL_DEPTH24_STENCIL8_OES */                             
    1.43 -/* reuse GL_DEPTH_COMPONENT32_OES */                            
    1.44 +/* reuse GL_DEPTH_COMPONENT24_OES */
    1.45 +/* reuse GL_DEPTH24_STENCIL8_OES */
    1.46 +/* reuse GL_DEPTH_COMPONENT32_OES */
    1.47  #define GL_LUMINANCE4_ALPHA4_OES                                0x8043
    1.48  #define GL_LUMINANCE8_ALPHA8_OES                                0x8045
    1.49  #define GL_LUMINANCE8_OES                                       0x8040
    1.50  #define GL_RGBA4_OES                                            0x8056
    1.51  #define GL_RGB5_A1_OES                                          0x8057
    1.52  #define GL_RGB565_OES                                           0x8D62
    1.53 -/* reuse GL_RGB8_OES */                              
    1.54 -/* reuse GL_RGBA8_OES */  
    1.55 +/* reuse GL_RGB8_OES */
    1.56 +/* reuse GL_RGBA8_OES */
    1.57  /* reuse GL_RGB10_EXT */
    1.58  /* reuse GL_RGB10_A2_EXT */
    1.59 -#endif 
    1.60 +#endif
    1.61  
    1.62  /* GL_OES_rgb8_rgba8 */
    1.63  #ifndef GL_OES_rgb8_rgba8
    1.64 @@ -183,47 +197,47 @@
    1.65   *------------------------------------------------------------------------*/
    1.66  
    1.67  #ifndef GL_KHR_debug
    1.68 -typedef void (GL_APIENTRYP GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam);
    1.69 -#define GL_DEBUG_OUTPUT_SYNCHRONOUS                             0x8242
    1.70 -#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH                     0x8243
    1.71 -#define GL_DEBUG_CALLBACK_FUNCTION                              0x8244
    1.72 -#define GL_DEBUG_CALLBACK_USER_PARAM                            0x8245
    1.73 -#define GL_DEBUG_SOURCE_API                                     0x8246
    1.74 -#define GL_DEBUG_SOURCE_WINDOW_SYSTEM                           0x8247
    1.75 -#define GL_DEBUG_SOURCE_SHADER_COMPILER                         0x8248
    1.76 -#define GL_DEBUG_SOURCE_THIRD_PARTY                             0x8249
    1.77 -#define GL_DEBUG_SOURCE_APPLICATION                             0x824A
    1.78 -#define GL_DEBUG_SOURCE_OTHER                                   0x824B
    1.79 -#define GL_DEBUG_TYPE_ERROR                                     0x824C
    1.80 -#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR                       0x824D
    1.81 -#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR                        0x824E
    1.82 -#define GL_DEBUG_TYPE_PORTABILITY                               0x824F
    1.83 -#define GL_DEBUG_TYPE_PERFORMANCE                               0x8250
    1.84 -#define GL_DEBUG_TYPE_OTHER                                     0x8251
    1.85 -#define GL_DEBUG_TYPE_MARKER                                    0x8268
    1.86 -#define GL_DEBUG_TYPE_PUSH_GROUP                                0x8269
    1.87 -#define GL_DEBUG_TYPE_POP_GROUP                                 0x826A
    1.88 -#define GL_DEBUG_SEVERITY_NOTIFICATION                          0x826B
    1.89 -#define GL_MAX_DEBUG_GROUP_STACK_DEPTH                          0x826C
    1.90 -#define GL_DEBUG_GROUP_STACK_DEPTH                              0x826D
    1.91 -#define GL_BUFFER                                               0x82E0
    1.92 -#define GL_SHADER                                               0x82E1
    1.93 -#define GL_PROGRAM                                              0x82E2
    1.94 -#define GL_QUERY                                                0x82E3
    1.95 -/* PROGRAM_PIPELINE only in GL */                               
    1.96 -#define GL_SAMPLER                                              0x82E6
    1.97 -/* DISPLAY_LIST only in GL */                                   
    1.98 -#define GL_MAX_LABEL_LENGTH                                     0x82E8
    1.99 -#define GL_MAX_DEBUG_MESSAGE_LENGTH                             0x9143
   1.100 -#define GL_MAX_DEBUG_LOGGED_MESSAGES                            0x9144
   1.101 -#define GL_DEBUG_LOGGED_MESSAGES                                0x9145
   1.102 -#define GL_DEBUG_SEVERITY_HIGH                                  0x9146
   1.103 -#define GL_DEBUG_SEVERITY_MEDIUM                                0x9147
   1.104 -#define GL_DEBUG_SEVERITY_LOW                                   0x9148
   1.105 -#define GL_DEBUG_OUTPUT                                         0x92E0
   1.106 -#define GL_CONTEXT_FLAG_DEBUG_BIT                               0x00000002
   1.107 -#define GL_STACK_OVERFLOW                                       0x0503
   1.108 -#define GL_STACK_UNDERFLOW                                      0x0504
   1.109 +typedef void (GL_APIENTRYP GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
   1.110 +#define GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR                         0x8242
   1.111 +#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR                 0x8243
   1.112 +#define GL_DEBUG_CALLBACK_FUNCTION_KHR                          0x8244
   1.113 +#define GL_DEBUG_CALLBACK_USER_PARAM_KHR                        0x8245
   1.114 +#define GL_DEBUG_SOURCE_API_KHR                                 0x8246
   1.115 +#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR                       0x8247
   1.116 +#define GL_DEBUG_SOURCE_SHADER_COMPILER_KHR                     0x8248
   1.117 +#define GL_DEBUG_SOURCE_THIRD_PARTY_KHR                         0x8249
   1.118 +#define GL_DEBUG_SOURCE_APPLICATION_KHR                         0x824A
   1.119 +#define GL_DEBUG_SOURCE_OTHER_KHR                               0x824B
   1.120 +#define GL_DEBUG_TYPE_ERROR_KHR                                 0x824C
   1.121 +#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR                   0x824D
   1.122 +#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR                    0x824E
   1.123 +#define GL_DEBUG_TYPE_PORTABILITY_KHR                           0x824F
   1.124 +#define GL_DEBUG_TYPE_PERFORMANCE_KHR                           0x8250
   1.125 +#define GL_DEBUG_TYPE_OTHER_KHR                                 0x8251
   1.126 +#define GL_DEBUG_TYPE_MARKER_KHR                                0x8268
   1.127 +#define GL_DEBUG_TYPE_PUSH_GROUP_KHR                            0x8269
   1.128 +#define GL_DEBUG_TYPE_POP_GROUP_KHR                             0x826A
   1.129 +#define GL_DEBUG_SEVERITY_NOTIFICATION_KHR                      0x826B
   1.130 +#define GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR                      0x826C
   1.131 +#define GL_DEBUG_GROUP_STACK_DEPTH_KHR                          0x826D
   1.132 +#define GL_BUFFER_KHR                                           0x82E0
   1.133 +#define GL_SHADER_KHR                                           0x82E1
   1.134 +#define GL_PROGRAM_KHR                                          0x82E2
   1.135 +#define GL_QUERY_KHR                                            0x82E3
   1.136 +/* PROGRAM_PIPELINE only in GL */
   1.137 +#define GL_SAMPLER_KHR                                          0x82E6
   1.138 +/* DISPLAY_LIST only in GL */
   1.139 +#define GL_MAX_LABEL_LENGTH_KHR                                 0x82E8
   1.140 +#define GL_MAX_DEBUG_MESSAGE_LENGTH_KHR                         0x9143
   1.141 +#define GL_MAX_DEBUG_LOGGED_MESSAGES_KHR                        0x9144
   1.142 +#define GL_DEBUG_LOGGED_MESSAGES_KHR                            0x9145
   1.143 +#define GL_DEBUG_SEVERITY_HIGH_KHR                              0x9146
   1.144 +#define GL_DEBUG_SEVERITY_MEDIUM_KHR                            0x9147
   1.145 +#define GL_DEBUG_SEVERITY_LOW_KHR                               0x9148
   1.146 +#define GL_DEBUG_OUTPUT_KHR                                     0x92E0
   1.147 +#define GL_CONTEXT_FLAG_DEBUG_BIT_KHR                           0x00000002
   1.148 +#define GL_STACK_OVERFLOW_KHR                                   0x0503
   1.149 +#define GL_STACK_UNDERFLOW_KHR                                  0x0504
   1.150  #endif
   1.151  
   1.152  #ifndef GL_KHR_texture_compression_astc_ldr
   1.153 @@ -294,6 +308,18 @@
   1.154   * ANGLE extension tokens
   1.155   *------------------------------------------------------------------------*/
   1.156  
   1.157 +/* GL_ANGLE_depth_texture */
   1.158 +#ifndef GL_ANGLE_depth_texture
   1.159 +#define GL_DEPTH_COMPONENT                                      0x1902
   1.160 +#define GL_DEPTH_STENCIL_OES                                    0x84F9
   1.161 +#define GL_UNSIGNED_SHORT                                       0x1403
   1.162 +#define GL_UNSIGNED_INT                                         0x1405
   1.163 +#define GL_UNSIGNED_INT_24_8_OES                                0x84FA
   1.164 +#define GL_DEPTH_COMPONENT16                                    0x81A5
   1.165 +#define GL_DEPTH_COMPONENT32_OES                                0x81A7
   1.166 +#define GL_DEPTH24_STENCIL8_OES                                 0x88F0
   1.167 +#endif
   1.168 +
   1.169  /* GL_ANGLE_framebuffer_blit */
   1.170  #ifndef GL_ANGLE_framebuffer_blit
   1.171  #define GL_READ_FRAMEBUFFER_ANGLE                               0x8CA8
   1.172 @@ -310,33 +336,38 @@
   1.173  #endif
   1.174  
   1.175  /* GL_ANGLE_instanced_arrays */
   1.176 -#ifndef GL_ANGLE_instanced_arrays 
   1.177 +#ifndef GL_ANGLE_instanced_arrays
   1.178  #define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE                    0x88FE
   1.179  #endif
   1.180  
   1.181  /* GL_ANGLE_pack_reverse_row_order */
   1.182 -#ifndef GL_ANGLE_pack_reverse_row_order 
   1.183 +#ifndef GL_ANGLE_pack_reverse_row_order
   1.184  #define GL_PACK_REVERSE_ROW_ORDER_ANGLE                         0x93A4
   1.185  #endif
   1.186  
   1.187 +/* GL_ANGLE_program_binary */
   1.188 +#ifndef GL_ANGLE_program_binary
   1.189 +#define GL_PROGRAM_BINARY_ANGLE                                 0x93A6
   1.190 +#endif
   1.191 +
   1.192  /* GL_ANGLE_texture_compression_dxt3 */
   1.193 -#ifndef GL_ANGLE_texture_compression_dxt3 
   1.194 +#ifndef GL_ANGLE_texture_compression_dxt3
   1.195  #define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE                      0x83F2
   1.196  #endif
   1.197  
   1.198  /* GL_ANGLE_texture_compression_dxt5 */
   1.199 -#ifndef GL_ANGLE_texture_compression_dxt5 
   1.200 +#ifndef GL_ANGLE_texture_compression_dxt5
   1.201  #define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE                      0x83F3
   1.202  #endif
   1.203  
   1.204  /* GL_ANGLE_texture_usage */
   1.205 -#ifndef GL_ANGLE_texture_usage 
   1.206 +#ifndef GL_ANGLE_texture_usage
   1.207  #define GL_TEXTURE_USAGE_ANGLE                                  0x93A2
   1.208  #define GL_FRAMEBUFFER_ATTACHMENT_ANGLE                         0x93A3
   1.209  #endif
   1.210  
   1.211  /* GL_ANGLE_translated_shader_source */
   1.212 -#ifndef GL_ANGLE_translated_shader_source 
   1.213 +#ifndef GL_ANGLE_translated_shader_source
   1.214  #define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE                0x93A0
   1.215  #endif
   1.216  
   1.217 @@ -346,7 +377,7 @@
   1.218  
   1.219  /* GL_APPLE_copy_texture_levels */
   1.220  /* No new tokens introduced by this extension. */
   1.221 -    
   1.222 +
   1.223  /* GL_APPLE_framebuffer_multisample */
   1.224  #ifndef GL_APPLE_framebuffer_multisample
   1.225  #define GL_RENDERBUFFER_SAMPLES_APPLE                           0x8CAB
   1.226 @@ -368,19 +399,6 @@
   1.227  /* GL_APPLE_sync */
   1.228  #ifndef GL_APPLE_sync
   1.229  
   1.230 -#ifndef __gl3_h_
   1.231 -/* These types are defined with reference to <inttypes.h>
   1.232 - * in the Apple extension spec, but here we use the Khronos
   1.233 - * portable types in khrplatform.h, and assume those types 
   1.234 - * are always defined.
   1.235 - * If any other extensions using these types are defined, 
   1.236 - * the typedefs must move out of this block and be shared.
   1.237 - */
   1.238 -typedef khronos_int64_t GLint64;
   1.239 -typedef khronos_uint64_t GLuint64;
   1.240 -typedef struct __GLsync *GLsync;
   1.241 -#endif
   1.242 -
   1.243  #define GL_SYNC_OBJECT_APPLE                                    0x8A53
   1.244  #define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE                        0x9111
   1.245  #define GL_OBJECT_TYPE_APPLE                                    0x9112
   1.246 @@ -466,6 +484,54 @@
   1.247  #define GL_STENCIL_EXT                                          0x1802
   1.248  #endif
   1.249  
   1.250 +#ifndef GL_EXT_disjoint_timer_query
   1.251 +#define GL_QUERY_COUNTER_BITS_EXT                               0x8864
   1.252 +#define GL_CURRENT_QUERY_EXT                                    0x8865
   1.253 +#define GL_QUERY_RESULT_EXT                                     0x8866
   1.254 +#define GL_QUERY_RESULT_AVAILABLE_EXT                           0x8867
   1.255 +#define GL_TIME_ELAPSED_EXT                                     0x88BF
   1.256 +#define GL_TIMESTAMP_EXT                                        0x8E28
   1.257 +#define GL_GPU_DISJOINT_EXT                                     0x8FBB
   1.258 +#endif
   1.259 +
   1.260 +#ifndef GL_EXT_draw_buffers
   1.261 +#define GL_EXT_draw_buffers 1
   1.262 +#define GL_MAX_COLOR_ATTACHMENTS_EXT                            0x8CDF
   1.263 +#define GL_MAX_DRAW_BUFFERS_EXT                                 0x8824
   1.264 +#define GL_DRAW_BUFFER0_EXT                                     0x8825
   1.265 +#define GL_DRAW_BUFFER1_EXT                                     0x8826
   1.266 +#define GL_DRAW_BUFFER2_EXT                                     0x8827
   1.267 +#define GL_DRAW_BUFFER3_EXT                                     0x8828
   1.268 +#define GL_DRAW_BUFFER4_EXT                                     0x8829
   1.269 +#define GL_DRAW_BUFFER5_EXT                                     0x882A
   1.270 +#define GL_DRAW_BUFFER6_EXT                                     0x882B
   1.271 +#define GL_DRAW_BUFFER7_EXT                                     0x882C
   1.272 +#define GL_DRAW_BUFFER8_EXT                                     0x882D
   1.273 +#define GL_DRAW_BUFFER9_EXT                                     0x882E
   1.274 +#define GL_DRAW_BUFFER10_EXT                                    0x882F
   1.275 +#define GL_DRAW_BUFFER11_EXT                                    0x8830
   1.276 +#define GL_DRAW_BUFFER12_EXT                                    0x8831
   1.277 +#define GL_DRAW_BUFFER13_EXT                                    0x8832
   1.278 +#define GL_DRAW_BUFFER14_EXT                                    0x8833
   1.279 +#define GL_DRAW_BUFFER15_EXT                                    0x8834
   1.280 +#define GL_COLOR_ATTACHMENT0_EXT                                0x8CE0
   1.281 +#define GL_COLOR_ATTACHMENT1_EXT                                0x8CE1
   1.282 +#define GL_COLOR_ATTACHMENT2_EXT                                0x8CE2
   1.283 +#define GL_COLOR_ATTACHMENT3_EXT                                0x8CE3
   1.284 +#define GL_COLOR_ATTACHMENT4_EXT                                0x8CE4
   1.285 +#define GL_COLOR_ATTACHMENT5_EXT                                0x8CE5
   1.286 +#define GL_COLOR_ATTACHMENT6_EXT                                0x8CE6
   1.287 +#define GL_COLOR_ATTACHMENT7_EXT                                0x8CE7
   1.288 +#define GL_COLOR_ATTACHMENT8_EXT                                0x8CE8
   1.289 +#define GL_COLOR_ATTACHMENT9_EXT                                0x8CE9
   1.290 +#define GL_COLOR_ATTACHMENT10_EXT                               0x8CEA
   1.291 +#define GL_COLOR_ATTACHMENT11_EXT                               0x8CEB
   1.292 +#define GL_COLOR_ATTACHMENT12_EXT                               0x8CEC
   1.293 +#define GL_COLOR_ATTACHMENT13_EXT                               0x8CED
   1.294 +#define GL_COLOR_ATTACHMENT14_EXT                               0x8CEE
   1.295 +#define GL_COLOR_ATTACHMENT15_EXT                               0x8CEF
   1.296 +#endif
   1.297 +
   1.298  /* GL_EXT_map_buffer_range */
   1.299  #ifndef GL_EXT_map_buffer_range
   1.300  #define GL_MAP_READ_BIT_EXT                                     0x0001
   1.301 @@ -479,7 +545,7 @@
   1.302  /* GL_EXT_multisampled_render_to_texture */
   1.303  #ifndef GL_EXT_multisampled_render_to_texture
   1.304  #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT           0x8D6C
   1.305 -/* reuse values from GL_EXT_framebuffer_multisample (desktop extension) */ 
   1.306 +/* reuse values from GL_EXT_framebuffer_multisample (desktop extension) */
   1.307  #define GL_RENDERBUFFER_SAMPLES_EXT                             0x8CAB
   1.308  #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT               0x8D56
   1.309  #define GL_MAX_SAMPLES_EXT                                      0x8D57
   1.310 @@ -559,6 +625,12 @@
   1.311  #define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT            0x8210
   1.312  #endif
   1.313  
   1.314 +/* GL_EXT_sRGB_write_control */
   1.315 +#ifndef GL_EXT_sRGB_write_control
   1.316 +#define GL_EXT_sRGB_write_control 1
   1.317 +#define GL_FRAMEBUFFER_SRGB_EXT                                 0x8DB9
   1.318 +#endif
   1.319 +
   1.320  /* GL_EXT_texture_compression_dxt1 */
   1.321  #ifndef GL_EXT_texture_compression_dxt1
   1.322  #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT                         0x83F0
   1.323 @@ -584,13 +656,21 @@
   1.324  #define GL_RG8_EXT                                              0x822B
   1.325  #endif
   1.326  
   1.327 +/* GL_EXT_texture_sRGB_decode */
   1.328 +#ifndef GL_EXT_texture_sRGB_decode
   1.329 +#define GL_EXT_texture_sRGB_decode 1
   1.330 +#define GL_TEXTURE_SRGB_DECODE_EXT                              0x8A48
   1.331 +#define GL_DECODE_EXT                                           0x8A49
   1.332 +#define GL_SKIP_DECODE_EXT                                      0x8A4A
   1.333 +#endif
   1.334 +
   1.335  /* GL_EXT_texture_storage */
   1.336  #ifndef GL_EXT_texture_storage
   1.337  #define GL_TEXTURE_IMMUTABLE_FORMAT_EXT                         0x912F
   1.338 -#define GL_ALPHA8_EXT                                           0x803C  
   1.339 +#define GL_ALPHA8_EXT                                           0x803C
   1.340  #define GL_LUMINANCE8_EXT                                       0x8040
   1.341  #define GL_LUMINANCE8_ALPHA8_EXT                                0x8045
   1.342 -#define GL_RGBA32F_EXT                                          0x8814  
   1.343 +#define GL_RGBA32F_EXT                                          0x8814
   1.344  #define GL_RGB32F_EXT                                           0x8815
   1.345  #define GL_ALPHA32F_EXT                                         0x8816
   1.346  #define GL_LUMINANCE32F_EXT                                     0x8818
   1.347 @@ -600,12 +680,12 @@
   1.348  #define GL_ALPHA16F_EXT                                         0x881C
   1.349  #define GL_LUMINANCE16F_EXT                                     0x881E
   1.350  #define GL_LUMINANCE_ALPHA16F_EXT                               0x881F
   1.351 -#define GL_RGB10_A2_EXT                                         0x8059  
   1.352 +#define GL_RGB10_A2_EXT                                         0x8059
   1.353  #define GL_RGB10_EXT                                            0x8052
   1.354  #define GL_BGRA8_EXT                                            0x93A1
   1.355  #define GL_R8_EXT                                               0x8229
   1.356  #define GL_RG8_EXT                                              0x822B
   1.357 -#define GL_R32F_EXT                                             0x822E  
   1.358 +#define GL_R32F_EXT                                             0x822E
   1.359  #define GL_RG32F_EXT                                            0x8230
   1.360  #define GL_R16F_EXT                                             0x822D
   1.361  #define GL_RG16F_EXT                                            0x822F
   1.362 @@ -618,9 +698,9 @@
   1.363  
   1.364  /* GL_EXT_unpack_subimage */
   1.365  #ifndef GL_EXT_unpack_subimage
   1.366 -#define GL_UNPACK_ROW_LENGTH                                    0x0CF2
   1.367 -#define GL_UNPACK_SKIP_ROWS                                     0x0CF3
   1.368 -#define GL_UNPACK_SKIP_PIXELS                                   0x0CF4
   1.369 +#define GL_UNPACK_ROW_LENGTH_EXT                                0x0CF2
   1.370 +#define GL_UNPACK_SKIP_ROWS_EXT                                 0x0CF3
   1.371 +#define GL_UNPACK_SKIP_PIXELS_EXT                               0x0CF4
   1.372  #endif
   1.373  
   1.374  /*------------------------------------------------------------------------*
   1.375 @@ -638,7 +718,7 @@
   1.376  
   1.377  /* GL_FJ_shader_binary_GCCSO */
   1.378  #ifndef GL_FJ_shader_binary_GCCSO
   1.379 -#define GCCSO_SHADER_BINARY_FJ                                  0x9260
   1.380 +#define GL_GCCSO_SHADER_BINARY_FJ                               0x9260
   1.381  #endif
   1.382  
   1.383  /*------------------------------------------------------------------------*
   1.384 @@ -669,6 +749,12 @@
   1.385  #define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG                     0x8C03
   1.386  #endif
   1.387  
   1.388 +/* GL_IMG_texture_compression_pvrtc2 */
   1.389 +#ifndef GL_IMG_texture_compression_pvrtc2
   1.390 +#define GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG                     0x9137
   1.391 +#define GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG                     0x9138
   1.392 +#endif
   1.393 +
   1.394  /* GL_IMG_multisampled_render_to_texture */
   1.395  #ifndef GL_IMG_multisampled_render_to_texture
   1.396  #define GL_RENDERBUFFER_SAMPLES_IMG                             0x9133
   1.397 @@ -691,7 +777,7 @@
   1.398  #define GL_COVERAGE_ALL_FRAGMENTS_NV                            0x8ED5
   1.399  #define GL_COVERAGE_EDGE_FRAGMENTS_NV                           0x8ED6
   1.400  #define GL_COVERAGE_AUTOMATIC_NV                                0x8ED7
   1.401 -#define GL_COVERAGE_BUFFER_BIT_NV                               0x8000
   1.402 +#define GL_COVERAGE_BUFFER_BIT_NV                               0x00008000
   1.403  #endif
   1.404  
   1.405  /* GL_NV_depth_nonlinear */
   1.406 @@ -736,6 +822,9 @@
   1.407  #define GL_COLOR_ATTACHMENT15_NV                                0x8CEF
   1.408  #endif
   1.409  
   1.410 +/* GL_NV_draw_instanced */
   1.411 +/* No new tokens introduced by this extension. */
   1.412 +
   1.413  /* GL_NV_fbo_color_attachments */
   1.414  #ifndef GL_NV_fbo_color_attachments
   1.415  #define GL_MAX_COLOR_ATTACHMENTS_NV                             0x8CDF
   1.416 @@ -749,6 +838,29 @@
   1.417  #define GL_FENCE_CONDITION_NV                                   0x84F4
   1.418  #endif
   1.419  
   1.420 +/* GL_NV_framebuffer_blit */
   1.421 +#ifndef GL_NV_framebuffer_blit
   1.422 +#define GL_READ_FRAMEBUFFER_NV                                  0x8CA8
   1.423 +#define GL_DRAW_FRAMEBUFFER_NV                                  0x8CA9
   1.424 +#define GL_DRAW_FRAMEBUFFER_BINDING_NV                          0x8CA6
   1.425 +#define GL_READ_FRAMEBUFFER_BINDING_NV                          0x8CAA
   1.426 +#endif
   1.427 +
   1.428 +/* GL_NV_framebuffer_multisample */
   1.429 +#ifndef GL_NV_framebuffer_multisample
   1.430 +#define GL_RENDERBUFFER_SAMPLES_NV                              0x8CAB
   1.431 +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV                0x8D56
   1.432 +#define GL_MAX_SAMPLES_NV                                       0x8D57
   1.433 +#endif
   1.434 +
   1.435 +/* GL_NV_generate_mipmap_sRGB */
   1.436 +/* No new tokens introduced by this extension. */
   1.437 +
   1.438 +/* GL_NV_instanced_arrays */
   1.439 +#ifndef GL_NV_instanced_arrays
   1.440 +#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV                       0x88FE
   1.441 +#endif
   1.442 +
   1.443  /* GL_NV_read_buffer */
   1.444  #ifndef GL_NV_read_buffer
   1.445  #define GL_READ_BUFFER_NV                                       0x0C02
   1.446 @@ -766,6 +878,36 @@
   1.447  /* GL_NV_read_stencil */
   1.448  /* No new tokens introduced by this extension. */
   1.449  
   1.450 +/* GL_NV_shadow_samplers_array */
   1.451 +#ifndef GL_NV_shadow_samplers_array
   1.452 +#define GL_SAMPLER_2D_ARRAY_SHADOW_NV                           0x8DC4
   1.453 +#endif
   1.454 +
   1.455 +/* GL_NV_shadow_samplers_cube */
   1.456 +#ifndef GL_NV_shadow_samplers_cube
   1.457 +#define GL_SAMPLER_CUBE_SHADOW_NV                               0x8DC5
   1.458 +#endif
   1.459 +
   1.460 +/* GL_NV_sRGB_formats */
   1.461 +#ifndef GL_NV_sRGB_formats
   1.462 +#define GL_SLUMINANCE_NV                                        0x8C46
   1.463 +#define GL_SLUMINANCE_ALPHA_NV                                  0x8C44
   1.464 +#define GL_SRGB8_NV                                             0x8C41
   1.465 +#define GL_SLUMINANCE8_NV                                       0x8C47
   1.466 +#define GL_SLUMINANCE8_ALPHA8_NV                                0x8C45
   1.467 +#define GL_COMPRESSED_SRGB_S3TC_DXT1_NV                         0x8C4C
   1.468 +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV                   0x8C4D
   1.469 +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV                   0x8C4E
   1.470 +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV                   0x8C4F
   1.471 +#define GL_ETC1_SRGB8_NV                                        0x88EE
   1.472 +#endif
   1.473 +
   1.474 +/* GL_NV_texture_border_clamp */
   1.475 +#ifndef GL_NV_texture_border_clamp
   1.476 +#define GL_TEXTURE_BORDER_COLOR_NV                              0x1004
   1.477 +#define GL_CLAMP_TO_BORDER_NV                                   0x812D
   1.478 +#endif
   1.479 +
   1.480  /* GL_NV_texture_compression_s3tc_update */
   1.481  /* No new tokens introduced by this extension. */
   1.482  
   1.483 @@ -949,11 +1091,11 @@
   1.484  #ifdef GL_GLEXT_PROTOTYPES
   1.485  GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
   1.486  GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
   1.487 -GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params);
   1.488 +GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid **params);
   1.489  #endif
   1.490  typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
   1.491  typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
   1.492 -typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params);
   1.493 +typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid **params);
   1.494  #endif
   1.495  
   1.496  /* GL_OES_packed_depth_stencil */
   1.497 @@ -1006,7 +1148,7 @@
   1.498  typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
   1.499  typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
   1.500  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);
   1.501 -typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
   1.502 +typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOESPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
   1.503  #endif
   1.504  
   1.505  /* GL_OES_texture_float */
   1.506 @@ -1066,29 +1208,29 @@
   1.507  #ifndef GL_KHR_debug
   1.508  #define GL_KHR_debug 1
   1.509  #ifdef GL_GLEXT_PROTOTYPES
   1.510 -GL_APICALL void GL_APIENTRY glDebugMessageControl (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
   1.511 -GL_APICALL void GL_APIENTRY glDebugMessageInsert (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
   1.512 -GL_APICALL void GL_APIENTRY glDebugMessageCallback (GLDEBUGPROC callback, const void *userParam);
   1.513 -GL_APICALL GLuint GL_APIENTRY glGetDebugMessageLog (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
   1.514 -GL_APICALL void GL_APIENTRY glPushDebugGroup (GLenum source, GLuint id, GLsizei length, const GLchar *message);
   1.515 -GL_APICALL void GL_APIENTRY glPopDebugGroup (void);
   1.516 -GL_APICALL void GL_APIENTRY glObjectLabel (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
   1.517 -GL_APICALL void GL_APIENTRY glGetObjectLabel (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
   1.518 -GL_APICALL void GL_APIENTRY glObjectPtrLabel (const void *ptr, GLsizei length, const GLchar *label);
   1.519 -GL_APICALL void GL_APIENTRY glGetObjectPtrLabel (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
   1.520 -GL_APICALL void GL_APIENTRY glGetPointerv (GLenum pname, void **params);
   1.521 -#endif 
   1.522 -typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECONTROLPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
   1.523 -typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGEINSERTPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
   1.524 -typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECALLBACKPROC) (GLDEBUGPROC callback, const void *userParam);
   1.525 -typedef GLuint (GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGPROC) (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
   1.526 -typedef void (GL_APIENTRYP PFNGLPUSHDEBUGGROUPPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message);
   1.527 -typedef void (GL_APIENTRYP PFNGLPOPDEBUGGROUPPROC) (void);
   1.528 -typedef void (GL_APIENTRYP PFNGLOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
   1.529 -typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
   1.530 -typedef void (GL_APIENTRYP PFNGLOBJECTPTRLABELPROC) (const void *ptr, GLsizei length, const GLchar *label);
   1.531 -typedef void (GL_APIENTRYP PFNGLGETOBJECTPTRLABELPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
   1.532 -typedef void (GL_APIENTRYP PFNGLGETPOINTERVPROC) (GLenum pname, void **params);
   1.533 +GL_APICALL void GL_APIENTRY glDebugMessageControlKHR (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
   1.534 +GL_APICALL void GL_APIENTRY glDebugMessageInsertKHR (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
   1.535 +GL_APICALL void GL_APIENTRY glDebugMessageCallbackKHR (GLDEBUGPROCKHR callback, const void *userParam);
   1.536 +GL_APICALL GLuint GL_APIENTRY glGetDebugMessageLogKHR (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
   1.537 +GL_APICALL void GL_APIENTRY glPushDebugGroupKHR (GLenum source, GLuint id, GLsizei length, const GLchar *message);
   1.538 +GL_APICALL void GL_APIENTRY glPopDebugGroupKHR (void);
   1.539 +GL_APICALL void GL_APIENTRY glObjectLabelKHR (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
   1.540 +GL_APICALL void GL_APIENTRY glGetObjectLabelKHR (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
   1.541 +GL_APICALL void GL_APIENTRY glObjectPtrLabelKHR (const void *ptr, GLsizei length, const GLchar *label);
   1.542 +GL_APICALL void GL_APIENTRY glGetObjectPtrLabelKHR (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
   1.543 +GL_APICALL void GL_APIENTRY glGetPointervKHR (GLenum pname, GLvoid **params);
   1.544 +#endif
   1.545 +typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECONTROLKHRPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
   1.546 +typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGEINSERTKHRPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
   1.547 +typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECALLBACKKHRPROC) (GLDEBUGPROCKHR callback, const void *userParam);
   1.548 +typedef GLuint (GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGKHRPROC) (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
   1.549 +typedef void (GL_APIENTRYP PFNGLPUSHDEBUGGROUPKHRPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message);
   1.550 +typedef void (GL_APIENTRYP PFNGLPOPDEBUGGROUPKHRPROC) (void);
   1.551 +typedef void (GL_APIENTRYP PFNGLOBJECTLABELKHRPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
   1.552 +typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELKHRPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
   1.553 +typedef void (GL_APIENTRYP PFNGLOBJECTPTRLABELKHRPROC) (const void *ptr, GLsizei length, const GLchar *label);
   1.554 +typedef void (GL_APIENTRYP PFNGLGETOBJECTPTRLABELKHRPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
   1.555 +typedef void (GL_APIENTRYP PFNGLGETPOINTERVKHRPROC) (GLenum pname, GLvoid **params);
   1.556  #endif
   1.557  
   1.558  #ifndef GL_KHR_texture_compression_astc_ldr
   1.559 @@ -1148,6 +1290,11 @@
   1.560   * ANGLE extension functions
   1.561   *------------------------------------------------------------------------*/
   1.562  
   1.563 +/* GL_ANGLE_depth_texture */
   1.564 +#ifndef GL_ANGLE_depth_texture
   1.565 +#define GL_ANGLE_depth_texture 1
   1.566 +#endif
   1.567 +
   1.568  /* GL_ANGLE_framebuffer_blit */
   1.569  #ifndef GL_ANGLE_framebuffer_blit
   1.570  #define GL_ANGLE_framebuffer_blit 1
   1.571 @@ -1166,43 +1313,49 @@
   1.572  typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
   1.573  #endif
   1.574  
   1.575 -#ifndef GL_ANGLE_instanced_arrays 
   1.576 +#ifndef GL_ANGLE_instanced_arrays
   1.577 +#define GL_ANGLE_instanced_arrays 1
   1.578  #ifdef GL_GLEXT_PROTOTYPES
   1.579  GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
   1.580  GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
   1.581  GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE (GLuint index, GLuint divisor);
   1.582  #endif
   1.583 -typedef void (GL_APIENTRYP PFLGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
   1.584 -typedef void (GL_APIENTRYP PFLGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
   1.585 -typedef void (GL_APIENTRYP PFLGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor);
   1.586 +typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
   1.587 +typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
   1.588 +typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor);
   1.589  #endif
   1.590  
   1.591  /* GL_ANGLE_pack_reverse_row_order */
   1.592 -#ifndef GL_ANGLE_pack_reverse_row_order 
   1.593 +#ifndef GL_ANGLE_pack_reverse_row_order
   1.594  #define GL_ANGLE_pack_reverse_row_order 1
   1.595  #endif
   1.596  
   1.597 +/* GL_ANGLE_program_binary */
   1.598 +#ifndef GL_ANGLE_program_binary
   1.599 +#define GL_ANGLE_program_binary 1
   1.600 +#endif
   1.601 +
   1.602  /* GL_ANGLE_texture_compression_dxt3 */
   1.603 -#ifndef GL_ANGLE_texture_compression_dxt3 
   1.604 +#ifndef GL_ANGLE_texture_compression_dxt3
   1.605  #define GL_ANGLE_texture_compression_dxt3 1
   1.606  #endif
   1.607  
   1.608  /* GL_ANGLE_texture_compression_dxt5 */
   1.609 -#ifndef GL_ANGLE_texture_compression_dxt5 
   1.610 +#ifndef GL_ANGLE_texture_compression_dxt5
   1.611  #define GL_ANGLE_texture_compression_dxt5 1
   1.612  #endif
   1.613  
   1.614  /* GL_ANGLE_texture_usage */
   1.615 -#ifndef GL_ANGLE_texture_usage 
   1.616 +#ifndef GL_ANGLE_texture_usage
   1.617  #define GL_ANGLE_texture_usage 1
   1.618  #endif
   1.619  
   1.620 -#ifndef GL_ANGLE_translated_shader_source 
   1.621 +#ifndef GL_ANGLE_translated_shader_source
   1.622  #define GL_ANGLE_translated_shader_source 1
   1.623  #ifdef GL_GLEXT_PROTOTYPES
   1.624  GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
   1.625  #endif
   1.626 -typedef void (GL_APIENTRYP PFLGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
   1.627 +typedef void (GL_APIENTRYP PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
   1.628  #endif
   1.629  
   1.630  /*------------------------------------------------------------------------*
   1.631 @@ -1222,7 +1375,7 @@
   1.632  #ifndef GL_APPLE_framebuffer_multisample
   1.633  #define GL_APPLE_framebuffer_multisample 1
   1.634  #ifdef GL_GLEXT_PROTOTYPES
   1.635 -GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
   1.636 +GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
   1.637  GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
   1.638  #endif /* GL_GLEXT_PROTOTYPES */
   1.639  typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
   1.640 @@ -1331,6 +1484,42 @@
   1.641  typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
   1.642  #endif
   1.643  
   1.644 +#ifndef GL_EXT_disjoint_timer_query
   1.645 +#define GL_EXT_disjoint_timer_query 1
   1.646 +#ifdef GL_GLEXT_PROTOTYPES
   1.647 +GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids);
   1.648 +GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids);
   1.649 +GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id);
   1.650 +GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id);
   1.651 +GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target);
   1.652 +GL_APICALL void GL_APIENTRY glQueryCounterEXT (GLuint id, GLenum target);
   1.653 +GL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params);
   1.654 +GL_APICALL void GL_APIENTRY glGetQueryObjectivEXT (GLuint id, GLenum pname, GLint *params);
   1.655 +GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params);
   1.656 +GL_APICALL void GL_APIENTRY glGetQueryObjecti64vEXT (GLuint id, GLenum pname, GLint64 *params);
   1.657 +GL_APICALL void GL_APIENTRY glGetQueryObjectui64vEXT (GLuint id, GLenum pname, GLuint64 *params);
   1.658 +#endif
   1.659 +typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids);
   1.660 +typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids);
   1.661 +typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id);
   1.662 +typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id);
   1.663 +typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target);
   1.664 +typedef void (GL_APIENTRYP PFNGLQUERYCOUNTEREXTPROC) (GLuint id, GLenum target);
   1.665 +typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
   1.666 +typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTIVEXTPROC) (GLuint id, GLenum pname, GLint *params);
   1.667 +typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params);
   1.668 +typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTI64VEXTPROC) (GLuint id, GLenum pname, GLint64 *params);
   1.669 +typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUI64VEXTPROC) (GLuint id, GLenum pname, GLuint64 *params);
   1.670 +#endif /* GL_EXT_disjoint_timer_query */
   1.671 +
   1.672 +#ifndef GL_EXT_draw_buffers
   1.673 +#define GL_EXT_draw_buffers 1
   1.674 +#ifdef GL_GLEXT_PROTOTYPES
   1.675 +GL_APICALL void GL_APIENTRY glDrawBuffersEXT (GLsizei n, const GLenum *bufs);
   1.676 +#endif
   1.677 +typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC) (GLsizei n, const GLenum *bufs);
   1.678 +#endif /* GL_EXT_draw_buffers */
   1.679 +
   1.680  /* GL_EXT_map_buffer_range */
   1.681  #ifndef GL_EXT_map_buffer_range
   1.682  #define GL_EXT_map_buffer_range 1
   1.683 @@ -1346,8 +1535,8 @@
   1.684  #ifndef GL_EXT_multisampled_render_to_texture
   1.685  #define GL_EXT_multisampled_render_to_texture 1
   1.686  #ifdef GL_GLEXT_PROTOTYPES
   1.687 -GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
   1.688 -GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
   1.689 +GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);             
   1.690 +GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
   1.691  #endif
   1.692  typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
   1.693  typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
   1.694 @@ -1369,32 +1558,17 @@
   1.695  #ifndef GL_EXT_multi_draw_arrays
   1.696  #define GL_EXT_multi_draw_arrays 1
   1.697  #ifdef GL_GLEXT_PROTOTYPES
   1.698 -GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei);
   1.699 -GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei);
   1.700 +GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
   1.701 +GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount);
   1.702  #endif /* GL_GLEXT_PROTOTYPES */
   1.703 -typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
   1.704 -typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
   1.705 +typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
   1.706 +typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount);
   1.707  #endif
   1.708  
   1.709  /* GL_EXT_occlusion_query_boolean */
   1.710  #ifndef GL_EXT_occlusion_query_boolean
   1.711  #define GL_EXT_occlusion_query_boolean 1
   1.712 -#ifdef GL_GLEXT_PROTOTYPES
   1.713 -GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids);
   1.714 -GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids);
   1.715 -GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id);
   1.716 -GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id);
   1.717 -GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target);
   1.718 -GL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params);
   1.719 -GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params);
   1.720 -#endif
   1.721 -typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids);
   1.722 -typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids);
   1.723 -typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id);
   1.724 -typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id);
   1.725 -typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target);
   1.726 -typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
   1.727 -typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params);
   1.728 +/* All entry points also exist in GL_EXT_disjoint_timer_query */
   1.729  #endif
   1.730  
   1.731  /* GL_EXT_read_format_bgra */
   1.732 @@ -1407,13 +1581,13 @@
   1.733  #define GL_EXT_robustness 1
   1.734  #ifdef GL_GLEXT_PROTOTYPES
   1.735  GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void);
   1.736 -GL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
   1.737 -GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, float *params);
   1.738 +GL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);
   1.739 +GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
   1.740  GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params);
   1.741  #endif
   1.742  typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void);
   1.743 -typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
   1.744 -typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, float *params);
   1.745 +typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);
   1.746 +typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
   1.747  typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
   1.748  #endif
   1.749  
   1.750 @@ -1595,12 +1769,17 @@
   1.751  #define GL_IMG_texture_compression_pvrtc 1
   1.752  #endif
   1.753  
   1.754 +/* GL_IMG_texture_compression_pvrtc2 */
   1.755 +#ifndef GL_IMG_texture_compression_pvrtc2
   1.756 +#define GL_IMG_texture_compression_pvrtc2 1
   1.757 +#endif
   1.758 +
   1.759  /* GL_IMG_multisampled_render_to_texture */
   1.760  #ifndef GL_IMG_multisampled_render_to_texture
   1.761  #define GL_IMG_multisampled_render_to_texture 1
   1.762  #ifdef GL_GLEXT_PROTOTYPES
   1.763 -GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
   1.764 -GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
   1.765 +GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
   1.766 +GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
   1.767  #endif
   1.768  typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
   1.769  typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
   1.770 @@ -1635,6 +1814,17 @@
   1.771  typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs);
   1.772  #endif
   1.773  
   1.774 +/* GL_NV_draw_instanced */
   1.775 +#ifndef GL_NV_draw_instanced
   1.776 +#define GL_NV_draw_instanced 1
   1.777 +#ifdef GL_GLEXT_PROTOTYPES
   1.778 +GL_APICALL void GL_APIENTRY glDrawArraysInstancedNV (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
   1.779 +GL_APICALL void GL_APIENTRY glDrawElementsInstancedNV (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
   1.780 +#endif
   1.781 +typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDNVPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
   1.782 +typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDNVPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
   1.783 +#endif
   1.784 +
   1.785  /* GL_NV_fbo_color_attachments */
   1.786  #ifndef GL_NV_fbo_color_attachments
   1.787  #define GL_NV_fbo_color_attachments 1
   1.788 @@ -1644,13 +1834,13 @@
   1.789  #ifndef GL_NV_fence
   1.790  #define GL_NV_fence 1
   1.791  #ifdef GL_GLEXT_PROTOTYPES
   1.792 -GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *);
   1.793 -GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *);
   1.794 -GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint);
   1.795 -GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint);
   1.796 -GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *);
   1.797 -GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint);
   1.798 -GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint, GLenum);
   1.799 +GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei n, const GLuint *fences);
   1.800 +GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei n, GLuint *fences);
   1.801 +GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint fence);
   1.802 +GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint fence);
   1.803 +GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint fence, GLenum pname, GLint *params);
   1.804 +GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint fence);
   1.805 +GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint fence, GLenum condition);
   1.806  #endif
   1.807  typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
   1.808  typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
   1.809 @@ -1661,6 +1851,38 @@
   1.810  typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
   1.811  #endif
   1.812  
   1.813 +/* GL_NV_framebuffer_blit */
   1.814 +#ifndef GL_NV_framebuffer_blit
   1.815 +#define GL_NV_framebuffer_blit 1
   1.816 +#ifdef GL_GLEXT_PROTOTYPES
   1.817 +GL_APICALL void GL_APIENTRY glBlitFramebufferNV (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
   1.818 +#endif
   1.819 +typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERNVPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
   1.820 +#endif
   1.821 +
   1.822 +/* GL_NV_framebuffer_multisample */
   1.823 +#ifndef GL_NV_framebuffer_multisample
   1.824 +#define GL_NV_framebuffer_multisample 1
   1.825 +#ifdef GL_GLEXT_PROTOTYPES
   1.826 +GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleNV ( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
   1.827 +#endif
   1.828 +typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLENVPROC) ( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
   1.829 +#endif
   1.830 +
   1.831 +/* GL_NV_generate_mipmap_sRGB */
   1.832 +#ifndef GL_NV_generate_mipmap_sRGB
   1.833 +#define GL_NV_generate_mipmap_sRGB 1
   1.834 +#endif
   1.835 +
   1.836 +/* GL_NV_instanced_arrays */
   1.837 +#ifndef GL_NV_instanced_arrays
   1.838 +#define GL_NV_instanced_arrays 1
   1.839 +#ifdef GL_GLEXT_PROTOTYPES
   1.840 +GL_APICALL void GL_APIENTRY glVertexAttribDivisorNV (GLuint index, GLuint divisor);
   1.841 +#endif
   1.842 +typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORNVPROC) (GLuint index, GLuint divisor);
   1.843 +#endif
   1.844 +
   1.845  /* GL_NV_read_buffer */
   1.846  #ifndef GL_NV_read_buffer
   1.847  #define GL_NV_read_buffer 1
   1.848 @@ -1690,6 +1912,26 @@
   1.849  #define GL_NV_read_stencil 1
   1.850  #endif
   1.851  
   1.852 +/* GL_NV_shadow_samplers_array */
   1.853 +#ifndef GL_NV_shadow_samplers_array
   1.854 +#define GL_NV_shadow_samplers_array 1
   1.855 +#endif
   1.856 +
   1.857 +/* GL_NV_shadow_samplers_cube */
   1.858 +#ifndef GL_NV_shadow_samplers_cube
   1.859 +#define GL_NV_shadow_samplers_cube 1
   1.860 +#endif
   1.861 +
   1.862 +/* GL_NV_sRGB_formats */
   1.863 +#ifndef GL_NV_sRGB_formats
   1.864 +#define GL_NV_sRGB_formats 1
   1.865 +#endif
   1.866 +
   1.867 +/* GL_NV_texture_border_clamp */
   1.868 +#ifndef GL_NV_texture_border_clamp
   1.869 +#define GL_NV_texture_border_clamp 1
   1.870 +#endif
   1.871 +
   1.872  /* GL_NV_texture_compression_s3tc_update */
   1.873  #ifndef GL_NV_texture_compression_s3tc_update
   1.874  #define GL_NV_texture_compression_s3tc_update 1
   1.875 @@ -1806,4 +2048,3 @@
   1.876  #endif
   1.877  
   1.878  #endif /* __gl2ext_h_ */
   1.879 -