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 glProduceTextureDirectCHROMIUM( 59 GLuint texture, GLenum target, const GLbyte* mailbox); 60 GL_APICALL void GL_APIENTRY glConsumeTextureCHROMIUM( 61 GLenum target, const GLbyte* mailbox); 62 GL_APICALL GLuint GL_APIENTRY glCreateAndConsumeTextureCHROMIUM( 63 GLenum target, const GLbyte* mailbox); 64 #endif 65 typedef void (GL_APIENTRYP PFNGLGENMAILBOXCHROMIUMPROC) (GLbyte* mailbox); 66 typedef void (GL_APIENTRYP PFNGLPRODUCETEXTURECHROMIUMPROC) ( 67 GLenum target, const GLbyte* mailbox); 68 typedef void (GL_APIENTRYP PFNGLPRODUCETEXTUREDIRECTCHROMIUMPROC) ( 69 GLuint texture, GLenum target, const GLbyte* mailbox); 70 typedef void (GL_APIENTRYP PFNGLCONSUMETEXTURECHROMIUMPROC) ( 71 GLenum target, const GLbyte* mailbox); 72 typedef GLuint (GL_APIENTRYP PFNGLCREATEANDCONSUMETEXTURECHROMIUMPROC) ( 73 GLenum target, const GLbyte* mailbox); 74 #endif /* GL_CHROMIUM_texture_mailbox */ 75 76 /* GL_CHROMIUM_pixel_transfer_buffer_object */ 77 #ifndef GL_CHROMIUM_pixel_transfer_buffer_object 78 #define GL_CHROMIUM_pixel_transfer_buffer_object 1 79 80 #ifndef GL_PIXEL_UNPACK_TRANSFER_BUFFER_CHROMIUM 81 // TODO(reveman): Get official numbers for this constants. 82 #define GL_PIXEL_UNPACK_TRANSFER_BUFFER_CHROMIUM 0x78EC 83 #define GL_PIXEL_PACK_TRANSFER_BUFFER_CHROMIUM 0x78ED 84 85 #ifdef GL_GLEXT_PROTOTYPES 86 GL_APICALL void* GL_APIENTRY glMapBufferCHROMIUM(GLuint target,GLenum access); 87 GL_APICALL GLboolean GL_APIENTRY glUnmapBufferCHROMIUM(GLuint target); 88 #endif 89 typedef void* (GL_APIENTRY PFNGLMAPBUFFERCHROMIUM) ( 90 GLuint target,GLenum access); 91 typedef GLboolean (GL_APIENTRY PFNGLUNMAPBUFFERCHROMIUM) (GLuint target); 92 #endif /* GL_CHROMIUM_pixel_transfer_buffer_object */ 93 94 #ifndef GL_PIXEL_UNPACK_TRANSFER_BUFFER_BINDING_CHROMIUM 95 // TODO(reveman): Get official numbers for this constants. 96 #define GL_PIXEL_UNPACK_TRANSFER_BUFFER_BINDING_CHROMIUM 0x78EF 97 #define GL_PIXEL_PACK_TRANSFER_BUFFER_BINDING_CHROMIUM 0x78EE 98 #endif 99 100 #ifndef GL_STREAM_READ 101 #define GL_STREAM_READ 0x88E1 102 #endif 103 #endif /* GL_CHROMIUM_pixel_transfer_buffer_object */ 104 105 /* GL_CHROMIUM_image */ 106 #ifndef GL_CHROMIUM_map_image 107 #define GL_CHROMIUM_map_image 1 108 109 #ifndef GL_IMAGE_ROWBYTES_CHROMIUM 110 #define GL_IMAGE_ROWBYTES_CHROMIUM 0x78F0 111 #endif 112 113 #ifndef GL_IMAGE_MAP_CHROMIUM 114 #define GL_IMAGE_MAP_CHROMIUM 0x78F1 115 #endif 116 117 #ifndef GL_IMAGE_SCANOUT_CHROMIUM 118 #define GL_IMAGE_SCANOUT_CHROMIUM 0x78F2 119 #endif 120 121 #ifdef GL_GLEXT_PROTOTYPES 122 GL_APICALL GLuint GL_APIENTRY glCreateImageCHROMIUM(GLsizei width, 123 GLsizei height, 124 GLenum internalformat, 125 GLenum usage); 126 GL_APICALL void GL_APIENTRY glDestroyImageCHROMIUM(GLuint image_id); 127 GL_APICALL void GL_APIENTRY glGetImageParameterivCHROMIUM( 128 GLuint image_id, GLenum pname, GLint* params); 129 GL_APICALL void* GL_APIENTRY glMapImageCHROMIUM(GLuint image_id); 130 GL_APICALL void GL_APIENTRY glUnmapImageCHROMIUM(GLuint image_id); 131 #endif 132 typedef GLuint(GL_APIENTRYP PFNGLCREATEIMAGECHROMIUMPROC)( 133 GLsizei width, 134 GLsizei height, 135 GLenum internalformat); 136 typedef void ( 137 GL_APIENTRYP PFNGLDESTROYIMAGECHROMIUMPROC) (GLuint image_id); 138 typedef void ( 139 GL_APIENTRYP PFNGLGETIMAGEPARAMETERIVCHROMIUMPROC) ( 140 GLuint image_id, GLenum pname, GLint* params); 141 typedef void* (GL_APIENTRYP PFNGLMAPIMAGECHROMIUMPROC) ( 142 GLuint image_id, GLenum access); 143 typedef void (GL_APIENTRYP PFNGLUNMAPIMAGECHROMIUMPROC) (GLuint image_id); 144 #endif /* GL_CHROMIUM_map_image */ 145 146 /* GL_CHROMIUM_map_sub */ 147 #ifndef GL_CHROMIUM_map_sub 148 #define GL_CHROMIUM_map_sub 1 149 150 #ifndef GL_READ_ONLY 151 #define GL_READ_ONLY 0x88B8 152 #endif 153 154 #ifndef GL_WRITE_ONLY 155 #define GL_WRITE_ONLY 0x88B9 156 #endif 157 #ifdef GL_GLEXT_PROTOTYPES 158 GL_APICALL void* GL_APIENTRY glMapBufferSubDataCHROMIUM( 159 GLuint target, GLintptr offset, GLsizeiptr size, GLenum access); 160 GL_APICALL void GL_APIENTRY glUnmapBufferSubDataCHROMIUM(const void* mem); 161 GL_APICALL void* GL_APIENTRY glMapTexSubImage2DCHROMIUM( 162 GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, 163 GLsizei height, GLenum format, GLenum type, GLenum access); 164 GL_APICALL void GL_APIENTRY glUnmapTexSubImage2DCHROMIUM(const void* mem); 165 #endif 166 typedef void* (GL_APIENTRYP PFNGLMAPBUFFERSUBDATACHROMIUMPROC) ( 167 GLuint target, GLintptr offset, GLsizeiptr size, GLenum access); 168 typedef void ( 169 GL_APIENTRYP PFNGLUNMAPBUFFERSUBDATACHROMIUMPROC) (const void* mem); 170 typedef void* (GL_APIENTRYP PFNGLMAPTEXSUBIMAGE2DCHROMIUMPROC) ( 171 GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, 172 GLsizei height, GLenum format, GLenum type, GLenum access); 173 typedef void ( 174 GL_APIENTRYP PFNGLUNMAPTEXSUBIMAGE2DCHROMIUMPROC) (const void* mem); 175 #endif /* GL_CHROMIUM_map_sub */ 176 177 /* GL_CHROMIUM_request_extension */ 178 #ifndef GL_CHROMIUM_request_extension 179 #define GL_CHROMIUM_request_extension 1 180 #ifdef GL_GLEXT_PROTOTYPES 181 GL_APICALL const GLchar* GL_APIENTRY glGetRequestableExtensionsCHROMIUM(); 182 GL_APICALL void GL_APIENTRY glRequestExtensionCHROMIUM(const char* extension); 183 #endif 184 typedef const GLchar* (GL_APIENTRYP PFNGLGETREQUESTABLEEXTENSIONSCHROMIUMPROC) ( 185 ); 186 typedef void (GL_APIENTRYP PFNGLREQUESTEXTENSIONCHROMIUMPROC) ( 187 const char* extension); 188 #endif /* GL_CHROMIUM_request_extension */ 189 190 /* GL_CHROMIUM_get_error_query */ 191 #ifndef GL_CHROMIUM_get_error_query 192 #define GL_CHROMIUM_get_error_query 1 193 194 #ifndef GL_GET_ERROR_QUERY_CHROMIUM 195 // TODO(gman): Get official numbers for this constants. 196 #define GL_GET_ERROR_QUERY_CHROMIUM 0x84F3 197 #endif 198 #endif /* GL_CHROMIUM_get_error_query */ 199 200 /* GL_CHROMIUM_texture_from_image */ 201 #ifndef GL_CHROMIUM_texture_from_image 202 #define GL_CHROMIUM_texture_from_image 1 203 #ifdef GL_GLEXT_PROTOTYPES 204 GL_APICALL void GL_APIENTRY glBindTexImage2DCHROMIUM( 205 GLenum target, GLint imageId); 206 GL_APICALL void GL_APIENTRY glReleaseTexImage2DCHROMIUM( 207 GLenum target, GLint imageId); 208 #endif 209 typedef void (GL_APIENTRYP PFNGLBINDTEXIMAGE2DCHROMIUMPROC) ( 210 GLenum target, GLint imageId); 211 typedef void (GL_APIENTRYP PFNGLRELEASETEXIMAGE2DCHROMIUMPROC) ( 212 GLenum target, GLint imageId); 213 #endif /* GL_CHROMIUM_texture_from_image */ 214 215 /* GL_CHROMIUM_rate_limit_offscreen_context */ 216 #ifndef GL_CHROMIUM_rate_limit_offscreen_context 217 #define GL_CHROMIUM_rate_limit_offscreen_context 1 218 #ifdef GL_GLEXT_PROTOTYPES 219 GL_APICALL void GL_APIENTRY glRateLimitOffscreenContextCHROMIUM(); 220 #endif 221 typedef void (GL_APIENTRYP PFNGLRATELIMITOFFSCREENCONTEXTCHROMIUMPROC) (); 222 #endif /* GL_CHROMIUM_rate_limit_offscreen_context */ 223 224 /* GL_CHROMIUM_post_sub_buffer */ 225 #ifndef GL_CHROMIUM_post_sub_buffer 226 #define GL_CHROMIUM_post_sub_buffer 1 227 #ifdef GL_GLEXT_PROTOTYPES 228 GL_APICALL void GL_APIENTRY glPostSubBufferCHROMIUM( 229 GLint x, GLint y, GLint width, GLint height); 230 #endif 231 typedef void (GL_APIENTRYP PFNGLPOSTSUBBUFFERCHROMIUMPROC) ( 232 GLint x, GLint y, GLint width, GLint height); 233 #endif /* GL_CHROMIUM_post_sub_buffer */ 234 235 /* GL_CHROMIUM_bind_uniform_location */ 236 #ifndef GL_CHROMIUM_bind_uniform_location 237 #define GL_CHROMIUM_bind_uniform_location 1 238 #ifdef GL_GLEXT_PROTOTYPES 239 GL_APICALL void GL_APIENTRY glBindUniformLocationCHROMIUM( 240 GLuint program, GLint location, const char* name); 241 #endif 242 typedef void (GL_APIENTRYP PFNGLBINDUNIFORMLOCATIONCHROMIUMPROC) ( 243 GLuint program, GLint location, const char* name); 244 #endif /* GL_CHROMIUM_bind_uniform_location */ 245 246 /* GL_CHROMIUM_command_buffer_query */ 247 #ifndef GL_CHROMIUM_command_buffer_query 248 #define GL_CHROMIUM_command_buffer_query 1 249 250 #ifndef GL_COMMANDS_ISSUED_CHROMIUM 251 // TODO(gman): Get official numbers for this constants. 252 #define GL_COMMANDS_ISSUED_CHROMIUM 0x84F2 253 #endif 254 #endif /* GL_CHROMIUM_command_buffer_query */ 255 256 /* GL_CHROMIUM_framebuffer_multisample */ 257 #ifndef GL_CHROMIUM_framebuffer_multisample 258 #define GL_CHROMIUM_framebuffer_multisample 1 259 260 #ifdef GL_GLEXT_PROTOTYPES 261 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleCHROMIUM (GLenum, GLsizei, GLenum, GLsizei, GLsizei); 262 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); 263 #endif 264 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLECHROMIUMPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 265 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); 266 267 #ifndef GL_FRAMEBUFFER_BINDING_EXT 268 #define GL_FRAMEBUFFER_BINDING_EXT GL_FRAMEBUFFER_BINDING 269 #endif 270 271 #ifndef GL_DRAW_FRAMEBUFFER_BINDING_EXT 272 #define GL_DRAW_FRAMEBUFFER_BINDING_EXT GL_DRAW_FRAMEBUFFER_BINDING 273 #endif 274 275 #ifndef GL_RENDERBUFFER_BINDING_EXT 276 #define GL_RENDERBUFFER_BINDING_EXT GL_RENDERBUFFER_BINDING 277 #endif 278 279 #ifndef GL_RENDERBUFFER_SAMPLES 280 #define GL_RENDERBUFFER_SAMPLES 0x8CAB 281 #endif 282 283 #ifndef GL_READ_FRAMEBUFFER_EXT 284 #define GL_READ_FRAMEBUFFER_EXT GL_READ_FRAMEBUFFER 285 #endif 286 287 #ifndef GL_RENDERBUFFER_SAMPLES_EXT 288 #define GL_RENDERBUFFER_SAMPLES_EXT GL_RENDERBUFFER_SAMPLES 289 #endif 290 291 #ifndef GL_RENDERBUFFER_BINDING 292 #define GL_RENDERBUFFER_BINDING 0x8CA7 293 #endif 294 295 #ifndef GL_READ_FRAMEBUFFER_BINDING 296 #define GL_READ_FRAMEBUFFER_BINDING 0x8CAA 297 #endif 298 299 #ifndef GL_MAX_SAMPLES 300 #define GL_MAX_SAMPLES 0x8D57 301 #endif 302 303 #ifndef GL_READ_FRAMEBUFFER_BINDING_EXT 304 #define GL_READ_FRAMEBUFFER_BINDING_EXT GL_READ_FRAMEBUFFER_BINDING 305 #endif 306 307 #ifndef GL_DRAW_FRAMEBUFFER_BINDING 308 #define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6 309 #endif 310 311 #ifndef GL_MAX_SAMPLES_EXT 312 #define GL_MAX_SAMPLES_EXT GL_MAX_SAMPLES 313 #endif 314 315 #ifndef GL_DRAW_FRAMEBUFFER 316 #define GL_DRAW_FRAMEBUFFER 0x8CA9 317 #endif 318 319 #ifndef GL_READ_FRAMEBUFFER 320 #define GL_READ_FRAMEBUFFER 0x8CA8 321 #endif 322 323 #ifndef GL_DRAW_FRAMEBUFFER_EXT 324 #define GL_DRAW_FRAMEBUFFER_EXT GL_DRAW_FRAMEBUFFER 325 #endif 326 327 #ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 328 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56 329 #endif 330 331 #ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 332 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE // NOLINT 333 #endif 334 335 #ifndef GL_FRAMEBUFFER_BINDING 336 #define GL_FRAMEBUFFER_BINDING 0x8CA6 337 #endif 338 #endif /* GL_CHROMIUM_framebuffer_multisample */ 339 340 /* GL_CHROMIUM_texture_compression_dxt3 */ 341 #ifndef GL_CHROMIUM_texture_compression_dxt3 342 #define GL_CHROMIUM_texture_compression_dxt3 1 343 344 #ifndef GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 345 #define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2 346 #endif 347 #endif /* GL_CHROMIUM_texture_compression_dxt3 */ 348 349 /* GL_CHROMIUM_texture_compression_dxt5 */ 350 #ifndef GL_CHROMIUM_texture_compression_dxt5 351 #define GL_CHROMIUM_texture_compression_dxt5 1 352 353 #ifndef GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 354 #define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3 355 #endif 356 #endif /* GL_CHROMIUM_texture_compression_dxt5 */ 357 358 /* GL_CHROMIUM_async_pixel_transfers */ 359 #ifndef GL_CHROMIUM_async_pixel_transfers 360 #define GL_CHROMIUM_async_pixel_transfers 1 361 362 #ifndef GL_ASYNC_PIXEL_UNPACK_COMPLETED_CHROMIUM 363 #define GL_ASYNC_PIXEL_UNPACK_COMPLETED_CHROMIUM 0x84F5 364 #endif 365 #ifndef GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM 366 #define GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM 0x84F6 367 #endif 368 #endif /* GL_CHROMIUM_async_pixel_transfers */ 369 370 #ifndef GL_BIND_GENERATES_RESOURCE_CHROMIUM 371 #define GL_BIND_GENERATES_RESOURCE_CHROMIUM 0x9244 372 #endif 373 374 /* GL_CHROMIUM_copy_texture */ 375 #ifndef GL_CHROMIUM_copy_texture 376 #define GL_CHROMIUM_copy_texture 1 377 378 #ifndef GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM 379 #define GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM 0x9243 380 #endif 381 382 #ifndef GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM 383 #define GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM 0x9242 384 #endif 385 386 #ifndef GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM 387 #define GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM 0x9241 388 #endif 389 #ifdef GL_GLEXT_PROTOTYPES 390 GL_APICALL void GL_APIENTRY glCopyTextureCHROMIUM( 391 GLenum target, GLenum source_id, GLenum dest_id, GLint level, 392 GLint internalformat, GLenum dest_type); 393 #endif 394 typedef void (GL_APIENTRYP PFNGLCOPYTEXTURECHROMIUMPROC) ( 395 GLenum target, GLenum source_id, GLenum dest_id, GLint level, 396 GLint internalformat, GLenum dest_type); 397 #endif /* GL_CHROMIUM_copy_texture */ 398 399 /* GL_CHROMIUM_lose_context */ 400 #ifndef GL_CHROMIUM_lose_context 401 #define GL_CHROMIUM_lose_context 1 402 #ifdef GL_GLEXT_PROTOTYPES 403 GL_APICALL void GL_APIENTRY glLoseContextCHROMIUM(GLenum current, GLenum other); 404 #endif 405 typedef void (GL_APIENTRYP PFNGLLOSECONTEXTCHROMIUMPROC) ( 406 GLenum current, GLenum other); 407 #endif /* GL_CHROMIUM_lose_context */ 408 409 /* GL_CHROMIUM_flipy */ 410 #ifndef GL_CHROMIUM_flipy 411 #define GL_CHROMIUM_flipy 1 412 413 #ifndef GL_UNPACK_FLIP_Y_CHROMIUM 414 #define GL_UNPACK_FLIP_Y_CHROMIUM 0x9240 415 #endif 416 #endif /* GL_CHROMIUM_flipy */ 417 418 /* GL_ARB_texture_rectangle */ 419 #ifndef GL_ARB_texture_rectangle 420 #define GL_ARB_texture_rectangle 1 421 422 #ifndef GL_SAMPLER_2D_RECT_ARB 423 #define GL_SAMPLER_2D_RECT_ARB 0x8B63 424 #endif 425 426 #ifndef GL_TEXTURE_BINDING_RECTANGLE_ARB 427 #define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6 428 #endif 429 430 #ifndef GL_TEXTURE_RECTANGLE_ARB 431 #define GL_TEXTURE_RECTANGLE_ARB 0x84F5 432 #endif 433 #endif /* GL_ARB_texture_rectangle */ 434 435 /* GL_CHROMIUM_enable_feature */ 436 #ifndef GL_CHROMIUM_enable_feature 437 #define GL_CHROMIUM_enable_feature 1 438 #ifdef GL_GLEXT_PROTOTYPES 439 GL_APICALL GLboolean GL_APIENTRY glEnableFeatureCHROMIUM(const char* feature); 440 #endif 441 typedef GLboolean (GL_APIENTRYP PFNGLENABLEFEATURECHROMIUMPROC) ( 442 const char* feature); 443 #endif /* GL_CHROMIUM_enable_feature */ 444 445 /* GL_CHROMIUM_command_buffer_latency_query */ 446 #ifndef GL_CHROMIUM_command_buffer_latency_query 447 #define GL_CHROMIUM_command_buffer_latency_query 1 448 449 #ifndef GL_LATENCY_QUERY_CHROMIUM 450 // TODO(gman): Get official numbers for these constants. 451 #define GL_LATENCY_QUERY_CHROMIUM 0x84F4 452 #endif 453 #endif /* GL_CHROMIUM_command_buffer_latency_query */ 454 455 /* GL_ARB_robustness */ 456 #ifndef GL_ARB_robustness 457 #define GL_ARB_robustness 1 458 459 #ifndef GL_GUILTY_CONTEXT_RESET_ARB 460 #define GL_GUILTY_CONTEXT_RESET_ARB 0x8253 461 #endif 462 463 #ifndef GL_UNKNOWN_CONTEXT_RESET_ARB 464 #define GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255 465 #endif 466 467 #ifndef GL_INNOCENT_CONTEXT_RESET_ARB 468 #define GL_INNOCENT_CONTEXT_RESET_ARB 0x8254 469 #endif 470 #endif /* GL_ARB_robustness */ 471 472 /* GL_EXT_framebuffer_blit */ 473 #ifndef GL_EXT_framebuffer_blit 474 #define GL_EXT_framebuffer_blit 1 475 #ifdef GL_GLEXT_PROTOTYPES 476 GL_APICALL void GL_APIENTRY glBlitFramebufferEXT( 477 GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, 478 GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); 479 #endif 480 typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFEREXTPROC) ( 481 GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, 482 GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); 483 #endif /* GL_EXT_framebuffer_blit */ 484 485 /* GL_EXT_draw_buffers */ 486 #ifndef GL_EXT_draw_buffers 487 #define GL_EXT_draw_buffers 1 488 489 #ifdef GL_GLEXT_PROTOTYPES 490 GL_APICALL void GL_APIENTRY glDrawBuffersEXT( 491 GLsizei n, const GLenum* bufs); 492 #endif 493 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC) ( 494 GLsizei n, const GLenum* bufs); 495 496 #ifndef GL_COLOR_ATTACHMENT0_EXT 497 #define GL_COLOR_ATTACHMENT0_EXT 0x8CE0 498 #endif 499 #ifndef GL_COLOR_ATTACHMENT1_EXT 500 #define GL_COLOR_ATTACHMENT1_EXT 0x8CE1 501 #endif 502 #ifndef GL_COLOR_ATTACHMENT2_EXT 503 #define GL_COLOR_ATTACHMENT2_EXT 0x8CE2 504 #endif 505 #ifndef GL_COLOR_ATTACHMENT3_EXT 506 #define GL_COLOR_ATTACHMENT3_EXT 0x8CE3 507 #endif 508 #ifndef GL_COLOR_ATTACHMENT4_EXT 509 #define GL_COLOR_ATTACHMENT4_EXT 0x8CE4 510 #endif 511 #ifndef GL_COLOR_ATTACHMENT5_EXT 512 #define GL_COLOR_ATTACHMENT5_EXT 0x8CE5 513 #endif 514 #ifndef GL_COLOR_ATTACHMENT6_EXT 515 #define GL_COLOR_ATTACHMENT6_EXT 0x8CE6 516 #endif 517 #ifndef GL_COLOR_ATTACHMENT7_EXT 518 #define GL_COLOR_ATTACHMENT7_EXT 0x8CE7 519 #endif 520 #ifndef GL_COLOR_ATTACHMENT8_EXT 521 #define GL_COLOR_ATTACHMENT8_EXT 0x8CE8 522 #endif 523 #ifndef GL_COLOR_ATTACHMENT9_EXT 524 #define GL_COLOR_ATTACHMENT9_EXT 0x8CE9 525 #endif 526 #ifndef GL_COLOR_ATTACHMENT10_EXT 527 #define GL_COLOR_ATTACHMENT10_EXT 0x8CEA 528 #endif 529 #ifndef GL_COLOR_ATTACHMENT11_EXT 530 #define GL_COLOR_ATTACHMENT11_EXT 0x8CEB 531 #endif 532 #ifndef GL_COLOR_ATTACHMENT12_EXT 533 #define GL_COLOR_ATTACHMENT12_EXT 0x8CEC 534 #endif 535 #ifndef GL_COLOR_ATTACHMENT13_EXT 536 #define GL_COLOR_ATTACHMENT13_EXT 0x8CED 537 #endif 538 #ifndef GL_COLOR_ATTACHMENT14_EXT 539 #define GL_COLOR_ATTACHMENT14_EXT 0x8CEE 540 #endif 541 #ifndef GL_COLOR_ATTACHMENT15_EXT 542 #define GL_COLOR_ATTACHMENT15_EXT 0x8CEF 543 #endif 544 545 #ifndef GL_DRAW_BUFFER0_EXT 546 #define GL_DRAW_BUFFER0_EXT 0x8825 547 #endif 548 #ifndef GL_DRAW_BUFFER1_EXT 549 #define GL_DRAW_BUFFER1_EXT 0x8826 550 #endif 551 #ifndef GL_DRAW_BUFFER2_EXT 552 #define GL_DRAW_BUFFER2_EXT 0x8827 553 #endif 554 #ifndef GL_DRAW_BUFFER3_EXT 555 #define GL_DRAW_BUFFER3_EXT 0x8828 556 #endif 557 #ifndef GL_DRAW_BUFFER4_EXT 558 #define GL_DRAW_BUFFER4_EXT 0x8829 559 #endif 560 #ifndef GL_DRAW_BUFFER5_EXT 561 #define GL_DRAW_BUFFER5_EXT 0x882A 562 #endif 563 #ifndef GL_DRAW_BUFFER6_EXT 564 #define GL_DRAW_BUFFER6_EXT 0x882B 565 #endif 566 #ifndef GL_DRAW_BUFFER7_EXT 567 #define GL_DRAW_BUFFER7_EXT 0x882C 568 #endif 569 #ifndef GL_DRAW_BUFFER8_EXT 570 #define GL_DRAW_BUFFER8_EXT 0x882D 571 #endif 572 #ifndef GL_DRAW_BUFFER9_EXT 573 #define GL_DRAW_BUFFER9_EXT 0x882E 574 #endif 575 #ifndef GL_DRAW_BUFFER10_EXT 576 #define GL_DRAW_BUFFER10_EXT 0x882F 577 #endif 578 #ifndef GL_DRAW_BUFFER11_EXT 579 #define GL_DRAW_BUFFER11_EXT 0x8830 580 #endif 581 #ifndef GL_DRAW_BUFFER12_EXT 582 #define GL_DRAW_BUFFER12_EXT 0x8831 583 #endif 584 #ifndef GL_DRAW_BUFFER13_EXT 585 #define GL_DRAW_BUFFER13_EXT 0x8832 586 #endif 587 #ifndef GL_DRAW_BUFFER14_EXT 588 #define GL_DRAW_BUFFER14_EXT 0x8833 589 #endif 590 #ifndef GL_DRAW_BUFFER15_EXT 591 #define GL_DRAW_BUFFER15_EXT 0x8834 592 #endif 593 594 #ifndef GL_MAX_COLOR_ATTACHMENTS_EXT 595 #define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF 596 #endif 597 598 #ifndef GL_MAX_DRAW_BUFFERS_EXT 599 #define GL_MAX_DRAW_BUFFERS_EXT 0x8824 600 #endif 601 602 #endif /* GL_EXT_draw_buffers */ 603 604 /* GL_CHROMIUM_resize */ 605 #ifndef GL_CHROMIUM_resize 606 #define GL_CHROMIUM_resize 1 607 #ifdef GL_GLEXT_PROTOTYPES 608 GL_APICALL void GL_APIENTRY glResizeCHROMIUM( 609 GLuint width, GLuint height, GLfloat scale_factor); 610 #endif 611 typedef void (GL_APIENTRYP PFNGLRESIZECHROMIUMPROC) ( 612 GLuint width, GLuint height); 613 #endif /* GL_CHROMIUM_resize */ 614 615 /* GL_CHROMIUM_get_multiple */ 616 #ifndef GL_CHROMIUM_get_multiple 617 #define GL_CHROMIUM_get_multiple 1 618 #ifdef GL_GLEXT_PROTOTYPES 619 GL_APICALL void GL_APIENTRY glGetMultipleIntegervCHROMIUM( 620 const GLenum* pnames, GLuint count, GLint* results, GLsizeiptr size); 621 GL_APICALL void GL_APIENTRY glGetProgramInfoCHROMIUM( 622 GLuint program, GLsizei bufsize, GLsizei* size, void* info); 623 #endif 624 typedef void (GL_APIENTRYP PFNGLGETMULTIPLEINTEGERVCHROMIUMPROC) ( 625 const GLenum* pnames, GLuint count, GLint* results, GLsizeiptr size); 626 typedef void (GL_APIENTRYP PFNGLGETPROGRAMINFOCHROMIUMPROC) ( 627 GLuint program, GLsizei bufsize, GLsizei* size, void* info); 628 #endif /* GL_CHROMIUM_get_multiple */ 629 630 /* GL_CHROMIUM_sync_point */ 631 #ifndef GL_CHROMIUM_sync_point 632 #define GL_CHROMIUM_sync_point 1 633 #ifdef GL_GLEXT_PROTOTYPES 634 GL_APICALL GLuint GL_APIENTRY glInsertSyncPointCHROMIUM(); 635 GL_APICALL void GL_APIENTRY glWaitSyncPointCHROMIUM(GLuint sync_point); 636 #endif 637 typedef GLuint (GL_APIENTRYP PFNGLINSERTSYNCPOINTCHROMIUMPROC) (); 638 typedef void (GL_APIENTRYP PFNGLWAITSYNCPOINTCHROMIUMPROC) (GLuint sync_point); 639 #endif /* GL_CHROMIUM_sync_point */ 640 641 #ifndef GL_CHROMIUM_color_buffer_float_rgba 642 #define GL_CHROMIUM_color_buffer_float_rgba 1 643 #ifndef GL_RGBA32F 644 #define GL_RGBA32F 0x8814 645 #endif 646 #endif /* GL_CHROMIUM_color_buffer_float_rgba */ 647 648 #ifndef GL_CHROMIUM_color_buffer_float_rgb 649 #define GL_CHROMIUM_color_buffer_float_rgb 1 650 #ifndef GL_RGB32F 651 #define GL_RGB32F 0x8815 652 #endif 653 #endif /* GL_CHROMIUM_color_buffer_float_rgb */ 654 655 /* GL_CHROMIUM_schedule_overlay_plane */ 656 #ifndef GL_CHROMIUM_schedule_overlay_plane 657 #define GL_CHROMIUM_schedule_overlay_plane 1 658 659 #ifndef GL_OVERLAY_TRANSFORM_NONE_CHROMIUM 660 #define GL_OVERLAY_TRANSFORM_NONE_CHROMIUM 0x9245 661 #endif 662 663 #ifndef GL_OVERLAY_TRANSFORM_FLIP_HORIZONTAL_CHROMIUM 664 #define GL_OVERLAY_TRANSFORM_FLIP_HORIZONTAL_CHROMIUM 0x9246 665 #endif 666 667 #ifndef GL_OVERLAY_TRANSFORM_FLIP_VERTICAL_CHROMIUM 668 #define GL_OVERLAY_TRANSFORM_FLIP_VERTICAL_CHROMIUM 0x9247 669 #endif 670 671 #ifndef GL_OVERLAY_TRANSFORM_ROTATE_90_CHROMIUM 672 #define GL_OVERLAY_TRANSFORM_ROTATE_90_CHROMIUM 0x9248 673 #endif 674 675 #ifndef GL_OVERLAY_TRANSFORM_ROTATE_180_CHROMIUM 676 #define GL_OVERLAY_TRANSFORM_ROTATE_180_CHROMIUM 0x9249 677 #endif 678 679 #ifndef GL_OVERLAY_TRANSFORM_ROTATE_270_CHROMIUM 680 #define GL_OVERLAY_TRANSFORM_ROTATE_270_CHROMIUM 0x924A 681 #endif 682 683 #ifdef GL_GLEXT_PROTOTYPES 684 GL_APICALL void GL_APIENTRY 685 glScheduleOverlayPlaneCHROMIUM(GLint plane_z_order, 686 GLenum plane_transform, 687 GLuint overlay_texture_id, 688 GLint bounds_x, 689 GLint bounds_y, 690 GLint bounds_width, 691 GLint bounds_height, 692 GLfloat uv_x, 693 GLfloat uv_y, 694 GLfloat uv_width, 695 GLfloat uv_height); 696 #endif 697 typedef void(GL_APIENTRYP PFNGLSCHEDULEOVERLAYPLANECHROMIUMPROC)( 698 GLint plane_z_order, 699 GLenum plane_transform, 700 GLuint overlay_texture_id, 701 GLint bounds_x, 702 GLint bounds_y, 703 GLint bounds_width, 704 GLint bounds_height, 705 GLfloat uv_x, 706 GLfloat uv_y, 707 GLfloat uv_width, 708 GLfloat uv_height); 709 #endif /* GL_CHROMIUM_schedule_overlay_plane */ 710 711 /* GL_CHROMIUM_sync_query */ 712 #ifndef GL_CHROMIUM_sync_query 713 #define GL_CHROMIUM_sync_query 1 714 715 #ifndef GL_COMMANDS_COMPLETED_CHROMIUM 716 #define GL_COMMANDS_COMPLETED_CHROMIUM 0x84F7 717 #endif 718 #endif /* GL_CHROMIUM_sync_query */ 719 720 #ifndef GL_CHROMIUM_path_rendering 721 #define GL_CHROMIUM_path_rendering 1 722 723 #ifdef GL_GLEXT_PROTOTYPES 724 GL_APICALL void GL_APIENTRY 725 glMatrixLoadfCHROMIUM(GLenum mode, const GLfloat* m); 726 GL_APICALL void GL_APIENTRY glMatrixLoadIdentityCHROMIUM(GLenum mode); 727 #endif 728 729 typedef void(GL_APIENTRYP PFNGLMATRIXLOADFCHROMIUMPROC)(GLenum matrixMode, 730 const GLfloat* m); 731 typedef void(GL_APIENTRYP PFNGLMATRIXLOADIDENTITYCHROMIUMPROC)( 732 GLenum matrixMode); 733 734 #endif /* GL_CHROMIUM_path_rendering */ 735 736 #ifdef __cplusplus 737 } 738 #endif 739 740 #endif // GPU_GLES2_GL2EXTCHROMIUM_H_ 741