Home | History | Annotate | Download | only in GLES2
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 // This file contains Chromium-specific GLES2 extensions declarations.
      6 
      7 #ifndef GPU_GLES2_GL2EXTCHROMIUM_H_
      8 #define GPU_GLES2_GL2EXTCHROMIUM_H_
      9 
     10 #include <GLES2/gl2.h>
     11 #include <GLES2/gl2ext.h>
     12 
     13 #ifdef __cplusplus
     14 extern "C" {
     15 #endif
     16 
     17 /* GL_CHROMIUM_iosurface */
     18 #ifndef GL_CHROMIUM_iosurface
     19 #define GL_CHROMIUM_iosurface 1
     20 #ifdef GL_GLEXT_PROTOTYPES
     21 GL_APICALL void GL_APIENTRY glTexImageIOSurface2DCHROMIUM(
     22     GLenum target, GLsizei width, GLsizei height, GLuint ioSurfaceId,
     23     GLuint plane);
     24 #endif
     25 typedef void (GL_APIENTRYP PFNGLTEXIMAGEIOSURFACE2DCHROMIUMPROC) (
     26     GLenum target, GLsizei width, GLsizei height, GLuint ioSurfaceId,
     27     GLuint plane);
     28 #endif  /* GL_CHROMIUM_iosurface */
     29 
     30 /* GL_CHROMIUM_gpu_memory_manager */
     31 #ifndef GL_CHROMIUM_gpu_memory_manager
     32 #define GL_CHROMIUM_gpu_memory_manager 1
     33 
     34 #ifndef GL_TEXTURE_POOL_UNMANAGED_CHROMIUM
     35 #define GL_TEXTURE_POOL_UNMANAGED_CHROMIUM 0x6002
     36 #endif
     37 
     38 #ifndef GL_TEXTURE_POOL_CHROMIUM
     39 #define GL_TEXTURE_POOL_CHROMIUM 0x6000
     40 #endif
     41 
     42 #ifndef GL_TEXTURE_POOL_MANAGED_CHROMIUM
     43 #define GL_TEXTURE_POOL_MANAGED_CHROMIUM 0x6001
     44 #endif
     45 #endif  /* GL_CHROMIUM_gpu_memory_manager */
     46 
     47 /* GL_CHROMIUM_texture_mailbox */
     48 #ifndef GL_CHROMIUM_texture_mailbox
     49 #define GL_CHROMIUM_texture_mailbox 1
     50 
     51 #ifndef GL_MAILBOX_SIZE_CHROMIUM
     52 #define GL_MAILBOX_SIZE_CHROMIUM 64
     53 #endif
     54 #ifdef GL_GLEXT_PROTOTYPES
     55 GL_APICALL void GL_APIENTRY glGenMailboxCHROMIUM(GLbyte* mailbox);
     56 GL_APICALL void GL_APIENTRY glProduceTextureCHROMIUM(
     57     GLenum target, const GLbyte* mailbox);
     58 GL_APICALL void GL_APIENTRY glConsumeTextureCHROMIUM(
     59     GLenum target, const GLbyte* mailbox);
     60 #endif
     61 typedef void (GL_APIENTRYP PFNGLGENMAILBOXCHROMIUMPROC) (GLbyte* mailbox);
     62 typedef void (GL_APIENTRYP PFNGLPRODUCETEXTURECHROMIUMPROC) (
     63     GLenum target, const GLbyte* mailbox);
     64 typedef void (GL_APIENTRYP PFNGLCONSUMETEXTURECHROMIUMPROC) (
     65     GLenum target, const GLbyte* mailbox);
     66 #endif  /* GL_CHROMIUM_texture_mailbox */
     67 
     68 /* GL_CHROMIUM_pixel_transfer_buffer_object */
     69 #ifndef GL_CHROMIUM_pixel_transfer_buffer_object
     70 #define GL_CHROMIUM_pixel_transfer_buffer_object 1
     71 
     72 #ifndef GL_PIXEL_UNPACK_TRANSFER_BUFFER_CHROMIUM
     73 // TODO(reveman): Get official numbers for this constants.
     74 #define GL_PIXEL_UNPACK_TRANSFER_BUFFER_CHROMIUM 0x78EC
     75 #define GL_PIXEL_PACK_TRANSFER_BUFFER_CHROMIUM 0x78ED
     76 
     77 #ifdef GL_GLEXT_PROTOTYPES
     78 GL_APICALL void* GL_APIENTRY glMapBufferCHROMIUM(GLuint target,GLenum access);
     79 GL_APICALL GLboolean GL_APIENTRY glUnmapBufferCHROMIUM(GLuint target);
     80 #endif
     81 typedef void* (GL_APIENTRY PFNGLMAPBUFFERCHROMIUM) (
     82     GLuint target,GLenum access);
     83 typedef GLboolean (GL_APIENTRY PFNGLUNMAPBUFFERCHROMIUM) (GLuint target);
     84 #endif  /* GL_CHROMIUM_pixel_transfer_buffer_object */
     85 
     86 #ifndef GL_PIXEL_UNPACK_TRANSFER_BUFFER_BINDING_CHROMIUM
     87 // TODO(reveman): Get official numbers for this constants.
     88 #define GL_PIXEL_UNPACK_TRANSFER_BUFFER_BINDING_CHROMIUM 0x78EF
     89 #define GL_PIXEL_PACK_TRANSFER_BUFFER_BINDING_CHROMIUM 0x78EE
     90 #endif
     91 
     92 #ifndef GL_STREAM_READ
     93 #define GL_STREAM_READ 0x88E1
     94 #endif
     95 #endif  /* GL_CHROMIUM_pixel_transfer_buffer_object */
     96 
     97 /* GL_CHROMIUM_map_image */
     98 #ifndef GL_CHROMIUM_map_image
     99 #define GL_CHROMIUM_map_image 1
    100 
    101 #ifndef GL_IMAGE_ROWBYTES_CHROMIUM
    102 #define GL_IMAGE_ROWBYTES_CHROMIUM 0x78F0
    103 #endif
    104 
    105 #ifndef GL_READ_WRITE
    106 #define GL_READ_WRITE 0x88BA
    107 #endif
    108 
    109 #ifdef GL_GLEXT_PROTOTYPES
    110 GL_APICALL GLuint GL_APIENTRY glCreateImageCHROMIUM(
    111     GLsizei width, GLsizei height, GLenum internalformat);
    112 GL_APICALL void GL_APIENTRY glDestroyImageCHROMIUM(GLuint image_id);
    113 GL_APICALL void GL_APIENTRY glGetImageParameterivCHROMIUM(
    114     GLuint image_id, GLenum pname, GLint* params);
    115 GL_APICALL void* GL_APIENTRY glMapImageCHROMIUM(GLuint image_id, GLenum access);
    116 GL_APICALL void GL_APIENTRY glUnmapImageCHROMIUM(GLuint image_id);
    117 #endif
    118 typedef GLuint (GL_APIENTRYP PFNGLCREATEIMAGECHROMIUMPROC) (
    119     GLsizei width, GLsizei height, GLenum internalformat);
    120 typedef void (
    121     GL_APIENTRYP PFNGLDESTROYIMAGECHROMIUMPROC) (GLuint image_id);
    122 typedef void (
    123     GL_APIENTRYP PFNGLGETIMAGEPARAMETERIVCHROMIUMPROC) (
    124     GLuint image_id, GLenum pname, GLint* params);
    125 typedef void* (GL_APIENTRYP PFNGLMAPIMAGECHROMIUMPROC) (
    126     GLuint image_id, GLenum access);
    127 typedef void (GL_APIENTRYP PFNGLUNMAPIMAGECHROMIUMPROC) (GLuint image_id);
    128 #endif  /* GL_CHROMIUM_map_image */
    129 
    130 /* GL_CHROMIUM_map_sub */
    131 #ifndef GL_CHROMIUM_map_sub
    132 #define GL_CHROMIUM_map_sub 1
    133 
    134 #ifndef GL_READ_ONLY
    135 #define GL_READ_ONLY 0x88B8
    136 #endif
    137 
    138 #ifndef GL_WRITE_ONLY
    139 #define GL_WRITE_ONLY 0x88B9
    140 #endif
    141 #ifdef GL_GLEXT_PROTOTYPES
    142 GL_APICALL void* GL_APIENTRY glMapBufferSubDataCHROMIUM(
    143     GLuint target, GLintptr offset, GLsizeiptr size, GLenum access);
    144 GL_APICALL void GL_APIENTRY glUnmapBufferSubDataCHROMIUM(const void* mem);
    145 GL_APICALL void* GL_APIENTRY glMapTexSubImage2DCHROMIUM(
    146     GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
    147     GLsizei height, GLenum format, GLenum type, GLenum access);
    148 GL_APICALL void GL_APIENTRY glUnmapTexSubImage2DCHROMIUM(const void* mem);
    149 #endif
    150 typedef void* (GL_APIENTRYP PFNGLMAPBUFFERSUBDATACHROMIUMPROC) (
    151     GLuint target, GLintptr offset, GLsizeiptr size, GLenum access);
    152 typedef void (
    153     GL_APIENTRYP PFNGLUNMAPBUFFERSUBDATACHROMIUMPROC) (const void* mem);
    154 typedef void* (GL_APIENTRYP PFNGLMAPTEXSUBIMAGE2DCHROMIUMPROC) (
    155     GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
    156     GLsizei height, GLenum format, GLenum type, GLenum access);
    157 typedef void (
    158     GL_APIENTRYP PFNGLUNMAPTEXSUBIMAGE2DCHROMIUMPROC) (const void* mem);
    159 #endif  /* GL_CHROMIUM_map_sub */
    160 
    161 /* GL_CHROMIUM_request_extension */
    162 #ifndef GL_CHROMIUM_request_extension
    163 #define GL_CHROMIUM_request_extension 1
    164 #ifdef GL_GLEXT_PROTOTYPES
    165 GL_APICALL const GLchar* GL_APIENTRY glGetRequestableExtensionsCHROMIUM();
    166 GL_APICALL void GL_APIENTRY glRequestExtensionCHROMIUM(const char* extension);
    167 #endif
    168 typedef const GLchar* (GL_APIENTRYP PFNGLGETREQUESTABLEEXTENSIONSCHROMIUMPROC) (
    169     );
    170 typedef void (GL_APIENTRYP PFNGLREQUESTEXTENSIONCHROMIUMPROC) (
    171     const char* extension);
    172 #endif  /* GL_CHROMIUM_request_extension */
    173 
    174 /* GL_CHROMIUM_get_error_query */
    175 #ifndef GL_CHROMIUM_get_error_query
    176 #define GL_CHROMIUM_get_error_query 1
    177 
    178 #ifndef GL_GET_ERROR_QUERY_CHROMIUM
    179 // TODO(gman): Get official numbers for this constants.
    180 #define GL_GET_ERROR_QUERY_CHROMIUM 0x84F3
    181 #endif
    182 #endif  /* GL_CHROMIUM_get_error_query */
    183 
    184 /* GL_CHROMIUM_texture_from_image */
    185 #ifndef GL_CHROMIUM_texture_from_image
    186 #define GL_CHROMIUM_texture_from_image 1
    187 #ifdef GL_GLEXT_PROTOTYPES
    188 GL_APICALL void GL_APIENTRY glBindTexImage2DCHROMIUM(
    189     GLenum target, GLint imageId);
    190 GL_APICALL void GL_APIENTRY glReleaseTexImage2DCHROMIUM(
    191     GLenum target, GLint imageId);
    192 #endif
    193 typedef void (GL_APIENTRYP PFNGLBINDTEXIMAGE2DCHROMIUMPROC) (
    194     GLenum target, GLint imageId);
    195 typedef void (GL_APIENTRYP PFNGLRELEASETEXIMAGE2DCHROMIUMPROC) (
    196     GLenum target, GLint imageId);
    197 #endif  /* GL_CHROMIUM_texture_from_image */
    198 
    199 /* GL_CHROMIUM_rate_limit_offscreen_context */
    200 #ifndef GL_CHROMIUM_rate_limit_offscreen_context
    201 #define GL_CHROMIUM_rate_limit_offscreen_context 1
    202 #ifdef GL_GLEXT_PROTOTYPES
    203 GL_APICALL void GL_APIENTRY glRateLimitOffscreenContextCHROMIUM();
    204 #endif
    205 typedef void (GL_APIENTRYP PFNGLRATELIMITOFFSCREENCONTEXTCHROMIUMPROC) ();
    206 #endif  /* GL_CHROMIUM_rate_limit_offscreen_context */
    207 
    208 /* GL_CHROMIUM_post_sub_buffer */
    209 #ifndef GL_CHROMIUM_post_sub_buffer
    210 #define GL_CHROMIUM_post_sub_buffer 1
    211 #ifdef GL_GLEXT_PROTOTYPES
    212 GL_APICALL void GL_APIENTRY glPostSubBufferCHROMIUM(
    213     GLint x, GLint y, GLint width, GLint height);
    214 #endif
    215 typedef void (GL_APIENTRYP PFNGLPOSTSUBBUFFERCHROMIUMPROC) (
    216     GLint x, GLint y, GLint width, GLint height);
    217 #endif  /* GL_CHROMIUM_post_sub_buffer */
    218 
    219 /* GL_CHROMIUM_bind_uniform_location */
    220 #ifndef GL_CHROMIUM_bind_uniform_location
    221 #define GL_CHROMIUM_bind_uniform_location 1
    222 #ifdef GL_GLEXT_PROTOTYPES
    223 GL_APICALL void GL_APIENTRY glBindUniformLocationCHROMIUM(
    224     GLuint program, GLint location, const char* name);
    225 #endif
    226 typedef void (GL_APIENTRYP PFNGLBINDUNIFORMLOCATIONCHROMIUMPROC) (
    227     GLuint program, GLint location, const char* name);
    228 #endif  /* GL_CHROMIUM_bind_uniform_location */
    229 
    230 /* GL_CHROMIUM_command_buffer_query */
    231 #ifndef GL_CHROMIUM_command_buffer_query
    232 #define GL_CHROMIUM_command_buffer_query 1
    233 
    234 #ifndef GL_COMMANDS_ISSUED_CHROMIUM
    235 // TODO(gman): Get official numbers for this constants.
    236 #define GL_COMMANDS_ISSUED_CHROMIUM 0x84F2
    237 #endif
    238 #endif  /* GL_CHROMIUM_command_buffer_query */
    239 
    240 /* GL_CHROMIUM_framebuffer_multisample */
    241 #ifndef GL_CHROMIUM_framebuffer_multisample
    242 #define GL_CHROMIUM_framebuffer_multisample 1
    243 
    244 #ifdef GL_GLEXT_PROTOTYPES
    245 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleCHROMIUM (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
    246 GL_APICALL void GL_APIENTRY glBlitFramebufferCHROMIUM (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
    247 #endif
    248 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLECHROMIUMPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
    249 typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERCHROMIUMPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
    250 
    251 #ifndef GL_FRAMEBUFFER_BINDING_EXT
    252 #define GL_FRAMEBUFFER_BINDING_EXT GL_FRAMEBUFFER_BINDING
    253 #endif
    254 
    255 #ifndef GL_DRAW_FRAMEBUFFER_BINDING_EXT
    256 #define GL_DRAW_FRAMEBUFFER_BINDING_EXT GL_DRAW_FRAMEBUFFER_BINDING
    257 #endif
    258 
    259 #ifndef GL_RENDERBUFFER_BINDING_EXT
    260 #define GL_RENDERBUFFER_BINDING_EXT GL_RENDERBUFFER_BINDING
    261 #endif
    262 
    263 #ifndef GL_RENDERBUFFER_SAMPLES
    264 #define GL_RENDERBUFFER_SAMPLES 0x8CAB
    265 #endif
    266 
    267 #ifndef GL_READ_FRAMEBUFFER_EXT
    268 #define GL_READ_FRAMEBUFFER_EXT GL_READ_FRAMEBUFFER
    269 #endif
    270 
    271 #ifndef GL_RENDERBUFFER_SAMPLES_EXT
    272 #define GL_RENDERBUFFER_SAMPLES_EXT GL_RENDERBUFFER_SAMPLES
    273 #endif
    274 
    275 #ifndef GL_RENDERBUFFER_BINDING
    276 #define GL_RENDERBUFFER_BINDING 0x8CA7
    277 #endif
    278 
    279 #ifndef GL_READ_FRAMEBUFFER_BINDING
    280 #define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
    281 #endif
    282 
    283 #ifndef GL_MAX_SAMPLES
    284 #define GL_MAX_SAMPLES 0x8D57
    285 #endif
    286 
    287 #ifndef GL_READ_FRAMEBUFFER_BINDING_EXT
    288 #define GL_READ_FRAMEBUFFER_BINDING_EXT GL_READ_FRAMEBUFFER_BINDING
    289 #endif
    290 
    291 #ifndef GL_DRAW_FRAMEBUFFER_BINDING
    292 #define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6
    293 #endif
    294 
    295 #ifndef GL_MAX_SAMPLES_EXT
    296 #define GL_MAX_SAMPLES_EXT GL_MAX_SAMPLES
    297 #endif
    298 
    299 #ifndef GL_DRAW_FRAMEBUFFER
    300 #define GL_DRAW_FRAMEBUFFER 0x8CA9
    301 #endif
    302 
    303 #ifndef GL_READ_FRAMEBUFFER
    304 #define GL_READ_FRAMEBUFFER 0x8CA8
    305 #endif
    306 
    307 #ifndef GL_DRAW_FRAMEBUFFER_EXT
    308 #define GL_DRAW_FRAMEBUFFER_EXT GL_DRAW_FRAMEBUFFER
    309 #endif
    310 
    311 #ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE
    312 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
    313 #endif
    314 
    315 #ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT
    316 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE  // NOLINT
    317 #endif
    318 
    319 #ifndef GL_FRAMEBUFFER_BINDING
    320 #define GL_FRAMEBUFFER_BINDING 0x8CA6
    321 #endif
    322 #endif  /* GL_CHROMIUM_framebuffer_multisample */
    323 
    324 /* GL_CHROMIUM_texture_compression_dxt3 */
    325 #ifndef GL_CHROMIUM_texture_compression_dxt3
    326 #define GL_CHROMIUM_texture_compression_dxt3 1
    327 
    328 #ifndef GL_COMPRESSED_RGBA_S3TC_DXT3_EXT
    329 #define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
    330 #endif
    331 #endif  /* GL_CHROMIUM_texture_compression_dxt3 */
    332 
    333 /* GL_CHROMIUM_texture_compression_dxt5 */
    334 #ifndef GL_CHROMIUM_texture_compression_dxt5
    335 #define GL_CHROMIUM_texture_compression_dxt5 1
    336 
    337 #ifndef GL_COMPRESSED_RGBA_S3TC_DXT5_EXT
    338 #define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
    339 #endif
    340 #endif  /* GL_CHROMIUM_texture_compression_dxt5 */
    341 
    342 /* GL_CHROMIUM_async_pixel_transfers */
    343 #ifndef GL_CHROMIUM_async_pixel_transfers
    344 #define GL_CHROMIUM_async_pixel_transfers 1
    345 
    346 #ifndef GL_ASYNC_PIXEL_UNPACK_COMPLETED_CHROMIUM
    347 #define GL_ASYNC_PIXEL_UNPACK_COMPLETED_CHROMIUM 0x84F5
    348 #endif
    349 #ifndef GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM
    350 #define GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM 0x84F6
    351 #endif
    352 #endif  /* GL_CHROMIUM_async_pixel_transfers */
    353 
    354 /* GL_CHROMIUM_copy_texture */
    355 #ifndef GL_CHROMIUM_copy_texture
    356 #define GL_CHROMIUM_copy_texture 1
    357 
    358 #ifndef GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM
    359 #define GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM 0x9243
    360 #endif
    361 
    362 #ifndef GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM
    363 #define GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM 0x9242
    364 #endif
    365 
    366 #ifndef GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM
    367 #define GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM 0x9241
    368 #endif
    369 #ifdef GL_GLEXT_PROTOTYPES
    370 GL_APICALL void GL_APIENTRY glCopyTextureCHROMIUM(
    371     GLenum target, GLenum source_id, GLenum dest_id, GLint level,
    372     GLint internalformat, GLenum dest_type);
    373 #endif
    374 typedef void (GL_APIENTRYP PFNGLCOPYTEXTURECHROMIUMPROC) (
    375     GLenum target, GLenum source_id, GLenum dest_id, GLint level,
    376     GLint internalformat, GLenum dest_type);
    377 #endif  /* GL_CHROMIUM_copy_texture */
    378 
    379 /* GL_CHROMIUM_lose_context */
    380 #ifndef GL_CHROMIUM_lose_context
    381 #define GL_CHROMIUM_lose_context 1
    382 #ifdef GL_GLEXT_PROTOTYPES
    383 GL_APICALL void GL_APIENTRY glLoseContextCHROMIUM(GLenum current, GLenum other);
    384 #endif
    385 typedef void (GL_APIENTRYP PFNGLLOSECONTEXTCHROMIUMPROC) (
    386     GLenum current, GLenum other);
    387 #endif  /* GL_CHROMIUM_lose_context */
    388 
    389 /* GL_CHROMIUM_flipy */
    390 #ifndef GL_CHROMIUM_flipy
    391 #define GL_CHROMIUM_flipy 1
    392 
    393 #ifndef GL_UNPACK_FLIP_Y_CHROMIUM
    394 #define GL_UNPACK_FLIP_Y_CHROMIUM 0x9240
    395 #endif
    396 #endif  /* GL_CHROMIUM_flipy */
    397 
    398 /* GL_ARB_texture_rectangle */
    399 #ifndef GL_ARB_texture_rectangle
    400 #define GL_ARB_texture_rectangle 1
    401 
    402 #ifndef GL_SAMPLER_2D_RECT_ARB
    403 #define GL_SAMPLER_2D_RECT_ARB 0x8B63
    404 #endif
    405 
    406 #ifndef GL_TEXTURE_BINDING_RECTANGLE_ARB
    407 #define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6
    408 #endif
    409 
    410 #ifndef GL_TEXTURE_RECTANGLE_ARB
    411 #define GL_TEXTURE_RECTANGLE_ARB 0x84F5
    412 #endif
    413 #endif  /* GL_ARB_texture_rectangle */
    414 
    415 /* GL_CHROMIUM_enable_feature */
    416 #ifndef GL_CHROMIUM_enable_feature
    417 #define GL_CHROMIUM_enable_feature 1
    418 #ifdef GL_GLEXT_PROTOTYPES
    419 GL_APICALL GLboolean GL_APIENTRY glEnableFeatureCHROMIUM(const char* feature);
    420 #endif
    421 typedef GLboolean (GL_APIENTRYP PFNGLENABLEFEATURECHROMIUMPROC) (
    422     const char* feature);
    423 #endif  /* GL_CHROMIUM_enable_feature */
    424 
    425 /* GL_CHROMIUM_command_buffer_latency_query */
    426 #ifndef GL_CHROMIUM_command_buffer_latency_query
    427 #define GL_CHROMIUM_command_buffer_latency_query 1
    428 
    429 #ifndef GL_LATENCY_QUERY_CHROMIUM
    430 // TODO(gman): Get official numbers for these constants.
    431 #define GL_LATENCY_QUERY_CHROMIUM 0x84F4
    432 #endif
    433 #endif  /* GL_CHROMIUM_command_buffer_latency_query */
    434 
    435 /* GL_ARB_robustness */
    436 #ifndef GL_ARB_robustness
    437 #define GL_ARB_robustness 1
    438 
    439 #ifndef GL_GUILTY_CONTEXT_RESET_ARB
    440 #define GL_GUILTY_CONTEXT_RESET_ARB 0x8253
    441 #endif
    442 
    443 #ifndef GL_UNKNOWN_CONTEXT_RESET_ARB
    444 #define GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255
    445 #endif
    446 
    447 #ifndef GL_INNOCENT_CONTEXT_RESET_ARB
    448 #define GL_INNOCENT_CONTEXT_RESET_ARB 0x8254
    449 #endif
    450 #endif  /* GL_ARB_robustness */
    451 
    452 /* GL_EXT_framebuffer_blit */
    453 #ifndef GL_EXT_framebuffer_blit
    454 #define GL_EXT_framebuffer_blit 1
    455 #ifdef GL_GLEXT_PROTOTYPES
    456 GL_APICALL void GL_APIENTRY glBlitFramebufferEXT(
    457     GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0,
    458     GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
    459 #endif
    460 typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFEREXTPROC) (
    461     GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0,
    462     GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
    463 #endif  /* GL_EXT_framebuffer_blit */
    464 
    465 /* GL_EXT_draw_buffers */
    466 #ifndef GL_EXT_draw_buffers
    467 #define GL_EXT_draw_buffers 1
    468 
    469 #ifdef GL_GLEXT_PROTOTYPES
    470 GL_APICALL void GL_APIENTRY glDrawBuffersEXT(
    471     GLsizei n, const GLenum* bufs);
    472 #endif
    473 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC) (
    474     GLsizei n, const GLenum* bufs);
    475 
    476 #ifndef GL_COLOR_ATTACHMENT0_EXT
    477 #define GL_COLOR_ATTACHMENT0_EXT 0x8CE0
    478 #endif
    479 #ifndef GL_COLOR_ATTACHMENT1_EXT
    480 #define GL_COLOR_ATTACHMENT1_EXT 0x8CE1
    481 #endif
    482 #ifndef GL_COLOR_ATTACHMENT2_EXT
    483 #define GL_COLOR_ATTACHMENT2_EXT 0x8CE2
    484 #endif
    485 #ifndef GL_COLOR_ATTACHMENT3_EXT
    486 #define GL_COLOR_ATTACHMENT3_EXT 0x8CE3
    487 #endif
    488 #ifndef GL_COLOR_ATTACHMENT4_EXT
    489 #define GL_COLOR_ATTACHMENT4_EXT 0x8CE4
    490 #endif
    491 #ifndef GL_COLOR_ATTACHMENT5_EXT
    492 #define GL_COLOR_ATTACHMENT5_EXT 0x8CE5
    493 #endif
    494 #ifndef GL_COLOR_ATTACHMENT6_EXT
    495 #define GL_COLOR_ATTACHMENT6_EXT 0x8CE6
    496 #endif
    497 #ifndef GL_COLOR_ATTACHMENT7_EXT
    498 #define GL_COLOR_ATTACHMENT7_EXT 0x8CE7
    499 #endif
    500 #ifndef GL_COLOR_ATTACHMENT8_EXT
    501 #define GL_COLOR_ATTACHMENT8_EXT 0x8CE8
    502 #endif
    503 #ifndef GL_COLOR_ATTACHMENT9_EXT
    504 #define GL_COLOR_ATTACHMENT9_EXT 0x8CE9
    505 #endif
    506 #ifndef GL_COLOR_ATTACHMENT10_EXT
    507 #define GL_COLOR_ATTACHMENT10_EXT 0x8CEA
    508 #endif
    509 #ifndef GL_COLOR_ATTACHMENT11_EXT
    510 #define GL_COLOR_ATTACHMENT11_EXT 0x8CEB
    511 #endif
    512 #ifndef GL_COLOR_ATTACHMENT12_EXT
    513 #define GL_COLOR_ATTACHMENT12_EXT 0x8CEC
    514 #endif
    515 #ifndef GL_COLOR_ATTACHMENT13_EXT
    516 #define GL_COLOR_ATTACHMENT13_EXT 0x8CED
    517 #endif
    518 #ifndef GL_COLOR_ATTACHMENT14_EXT
    519 #define GL_COLOR_ATTACHMENT14_EXT 0x8CEE
    520 #endif
    521 #ifndef GL_COLOR_ATTACHMENT15_EXT
    522 #define GL_COLOR_ATTACHMENT15_EXT 0x8CEF
    523 #endif
    524 
    525 #ifndef GL_DRAW_BUFFER0_EXT
    526 #define GL_DRAW_BUFFER0_EXT 0x8825
    527 #endif
    528 #ifndef GL_DRAW_BUFFER1_EXT
    529 #define GL_DRAW_BUFFER1_EXT 0x8826
    530 #endif
    531 #ifndef GL_DRAW_BUFFER2_EXT
    532 #define GL_DRAW_BUFFER2_EXT 0x8827
    533 #endif
    534 #ifndef GL_DRAW_BUFFER3_EXT
    535 #define GL_DRAW_BUFFER3_EXT 0x8828
    536 #endif
    537 #ifndef GL_DRAW_BUFFER4_EXT
    538 #define GL_DRAW_BUFFER4_EXT 0x8829
    539 #endif
    540 #ifndef GL_DRAW_BUFFER5_EXT
    541 #define GL_DRAW_BUFFER5_EXT 0x882A
    542 #endif
    543 #ifndef GL_DRAW_BUFFER6_EXT
    544 #define GL_DRAW_BUFFER6_EXT 0x882B
    545 #endif
    546 #ifndef GL_DRAW_BUFFER7_EXT
    547 #define GL_DRAW_BUFFER7_EXT 0x882C
    548 #endif
    549 #ifndef GL_DRAW_BUFFER8_EXT
    550 #define GL_DRAW_BUFFER8_EXT 0x882D
    551 #endif
    552 #ifndef GL_DRAW_BUFFER9_EXT
    553 #define GL_DRAW_BUFFER9_EXT 0x882E
    554 #endif
    555 #ifndef GL_DRAW_BUFFER10_EXT
    556 #define GL_DRAW_BUFFER10_EXT 0x882F
    557 #endif
    558 #ifndef GL_DRAW_BUFFER11_EXT
    559 #define GL_DRAW_BUFFER11_EXT 0x8830
    560 #endif
    561 #ifndef GL_DRAW_BUFFER12_EXT
    562 #define GL_DRAW_BUFFER12_EXT 0x8831
    563 #endif
    564 #ifndef GL_DRAW_BUFFER13_EXT
    565 #define GL_DRAW_BUFFER13_EXT 0x8832
    566 #endif
    567 #ifndef GL_DRAW_BUFFER14_EXT
    568 #define GL_DRAW_BUFFER14_EXT 0x8833
    569 #endif
    570 #ifndef GL_DRAW_BUFFER15_EXT
    571 #define GL_DRAW_BUFFER15_EXT 0x8834
    572 #endif
    573 
    574 #ifndef GL_MAX_COLOR_ATTACHMENTS_EXT
    575 #define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF
    576 #endif
    577 
    578 #ifndef GL_MAX_DRAW_BUFFERS_EXT
    579 #define GL_MAX_DRAW_BUFFERS_EXT 0x8824
    580 #endif
    581 
    582 #endif  /* GL_EXT_draw_buffers */
    583 
    584 /* GL_CHROMIUM_resize */
    585 #ifndef GL_CHROMIUM_resize
    586 #define GL_CHROMIUM_resize 1
    587 #ifdef GL_GLEXT_PROTOTYPES
    588 GL_APICALL void GL_APIENTRY glResizeCHROMIUM(
    589     GLuint width, GLuint height, GLfloat scale_factor);
    590 #endif
    591 typedef void (GL_APIENTRYP PFNGLRESIZECHROMIUMPROC) (
    592     GLuint width, GLuint height);
    593 #endif  /* GL_CHROMIUM_resize */
    594 
    595 /* GL_CHROMIUM_get_multiple */
    596 #ifndef GL_CHROMIUM_get_multiple
    597 #define GL_CHROMIUM_get_multiple 1
    598 #ifdef GL_GLEXT_PROTOTYPES
    599 GL_APICALL void GL_APIENTRY glGetMultipleIntegervCHROMIUM(
    600     const GLenum* pnames, GLuint count, GLint* results, GLsizeiptr size);
    601 GL_APICALL void GL_APIENTRY glGetProgramInfoCHROMIUM(
    602     GLuint program, GLsizei bufsize, GLsizei* size, void* info);
    603 #endif
    604 typedef void (GL_APIENTRYP PFNGLGETMULTIPLEINTEGERVCHROMIUMPROC) (
    605    const GLenum* pnames, GLuint count, GLint* results, GLsizeiptr size);
    606 typedef void (GL_APIENTRYP PFNGLGETPROGRAMINFOCHROMIUMPROC) (
    607    GLuint program, GLsizei bufsize, GLsizei* size, void* info);
    608 #endif  /* GL_CHROMIUM_get_multiple */
    609 
    610 /* GL_CHROMIUM_front_buffer_cached */
    611 #ifndef GL_CHROMIUM_front_buffer_cached
    612 #define GL_CHROMIUM_front_buffer_cached 1
    613 #endif  /* GL_CHROMIUM_front_buffer_cached */
    614 
    615 /* GL_CHROMIUM_sync_point */
    616 #ifndef GL_CHROMIUM_sync_point
    617 #define GL_CHROMIUM_sync_point 1
    618 #ifdef GL_GLEXT_PROTOTYPES
    619 GL_APICALL GLuint GL_APIENTRY glInsertSyncPointCHROMIUM();
    620 GL_APICALL void GL_APIENTRY glWaitSyncPointCHROMIUM(GLuint sync_point);
    621 #endif
    622 typedef GLuint (GL_APIENTRYP PFNGLINSERTSYNCPOINTCHROMIUMPROC) ();
    623 typedef void (GL_APIENTRYP PFNGLWAITSYNCPOINTCHROMIUMPROC) (GLuint sync_point);
    624 #endif  /* GL_CHROMIUM_sync_point */
    625 
    626 #ifdef __cplusplus
    627 }
    628 #endif
    629 
    630 #endif  // GPU_GLES2_GL2EXTCHROMIUM_H_
    631