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_EXT_framebuffer_multisample */ 241 #ifndef GL_EXT_framebuffer_multisample 242 #define GL_EXT_framebuffer_multisample 1 243 244 #ifndef GL_FRAMEBUFFER_BINDING_EXT 245 #define GL_FRAMEBUFFER_BINDING_EXT GL_FRAMEBUFFER_BINDING 246 #endif 247 248 #ifndef GL_DRAW_FRAMEBUFFER_BINDING_EXT 249 #define GL_DRAW_FRAMEBUFFER_BINDING_EXT GL_DRAW_FRAMEBUFFER_BINDING 250 #endif 251 252 #ifndef GL_RENDERBUFFER_BINDING_EXT 253 #define GL_RENDERBUFFER_BINDING_EXT GL_RENDERBUFFER_BINDING 254 #endif 255 256 #ifndef GL_RENDERBUFFER_SAMPLES 257 #define GL_RENDERBUFFER_SAMPLES 0x8CAB 258 #endif 259 260 #ifndef GL_READ_FRAMEBUFFER_EXT 261 #define GL_READ_FRAMEBUFFER_EXT GL_READ_FRAMEBUFFER 262 #endif 263 264 #ifndef GL_RENDERBUFFER_SAMPLES_EXT 265 #define GL_RENDERBUFFER_SAMPLES_EXT GL_RENDERBUFFER_SAMPLES 266 #endif 267 268 #ifndef GL_RENDERBUFFER_BINDING 269 #define GL_RENDERBUFFER_BINDING 0x8CA7 270 #endif 271 272 #ifndef GL_READ_FRAMEBUFFER_BINDING 273 #define GL_READ_FRAMEBUFFER_BINDING 0x8CAA 274 #endif 275 276 #ifndef GL_MAX_SAMPLES 277 #define GL_MAX_SAMPLES 0x8D57 278 #endif 279 280 #ifndef GL_READ_FRAMEBUFFER_BINDING_EXT 281 #define GL_READ_FRAMEBUFFER_BINDING_EXT GL_READ_FRAMEBUFFER_BINDING 282 #endif 283 284 #ifndef GL_DRAW_FRAMEBUFFER_BINDING 285 #define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6 286 #endif 287 288 #ifndef GL_MAX_SAMPLES_EXT 289 #define GL_MAX_SAMPLES_EXT GL_MAX_SAMPLES 290 #endif 291 292 #ifndef GL_DRAW_FRAMEBUFFER 293 #define GL_DRAW_FRAMEBUFFER 0x8CA9 294 #endif 295 296 #ifndef GL_READ_FRAMEBUFFER 297 #define GL_READ_FRAMEBUFFER 0x8CA8 298 #endif 299 300 #ifndef GL_DRAW_FRAMEBUFFER_EXT 301 #define GL_DRAW_FRAMEBUFFER_EXT GL_DRAW_FRAMEBUFFER 302 #endif 303 304 #ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 305 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56 306 #endif 307 308 #ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 309 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE // NOLINT 310 #endif 311 312 #ifndef GL_FRAMEBUFFER_BINDING 313 #define GL_FRAMEBUFFER_BINDING 0x8CA6 314 #endif 315 #endif /* GL_EXT_framebuffer_multisample */ 316 317 /* GL_CHROMIUM_texture_compression_dxt3 */ 318 #ifndef GL_CHROMIUM_texture_compression_dxt3 319 #define GL_CHROMIUM_texture_compression_dxt3 1 320 321 #ifndef GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 322 #define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2 323 #endif 324 #endif /* GL_CHROMIUM_texture_compression_dxt3 */ 325 326 /* GL_CHROMIUM_texture_compression_dxt5 */ 327 #ifndef GL_CHROMIUM_texture_compression_dxt5 328 #define GL_CHROMIUM_texture_compression_dxt5 1 329 330 #ifndef GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 331 #define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3 332 #endif 333 #endif /* GL_CHROMIUM_texture_compression_dxt5 */ 334 335 /* GL_CHROMIUM_async_pixel_transfers */ 336 #ifndef GL_CHROMIUM_async_pixel_transfers 337 #define GL_CHROMIUM_async_pixel_transfers 1 338 339 #ifndef GL_ASYNC_PIXEL_TRANSFERS_COMPLETED_CHROMIUM 340 #define GL_ASYNC_PIXEL_TRANSFERS_COMPLETED_CHROMIUM 0x84F5 341 #endif 342 #ifndef GL_ASYNC_READ_PIXELS_COMPLETED_CHROMIUM 343 #define GL_ASYNC_READ_PIXELS_COMPLETED_CHROMIUM 0x84F6 344 #endif 345 #endif /* GL_CHROMIUM_async_pixel_transfers */ 346 347 /* GL_CHROMIUM_copy_texture */ 348 #ifndef GL_CHROMIUM_copy_texture 349 #define GL_CHROMIUM_copy_texture 1 350 351 #ifndef GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM 352 #define GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM 0x9243 353 #endif 354 355 #ifndef GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM 356 #define GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM 0x9242 357 #endif 358 359 #ifndef GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM 360 #define GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM 0x9241 361 #endif 362 #ifdef GL_GLEXT_PROTOTYPES 363 GL_APICALL void GL_APIENTRY glCopyTextureCHROMIUM( 364 GLenum target, GLenum source_id, GLenum dest_id, GLint level, 365 GLint internalformat, GLenum dest_type); 366 #endif 367 typedef void (GL_APIENTRYP PFNGLCOPYTEXTURECHROMIUMPROC) ( 368 GLenum target, GLenum source_id, GLenum dest_id, GLint level, 369 GLint internalformat, GLenum dest_type); 370 #endif /* GL_CHROMIUM_copy_texture */ 371 372 /* GL_CHROMIUM_lose_context */ 373 #ifndef GL_CHROMIUM_lose_context 374 #define GL_CHROMIUM_lose_context 1 375 #ifdef GL_GLEXT_PROTOTYPES 376 GL_APICALL void GL_APIENTRY glLoseContextCHROMIUM(GLenum current, GLenum other); 377 #endif 378 typedef void (GL_APIENTRYP PFNGLLOSECONTEXTCHROMIUMPROC) ( 379 GLenum current, GLenum other); 380 #endif /* GL_CHROMIUM_lose_context */ 381 382 /* GL_CHROMIUM_flipy */ 383 #ifndef GL_CHROMIUM_flipy 384 #define GL_CHROMIUM_flipy 1 385 386 #ifndef GL_UNPACK_FLIP_Y_CHROMIUM 387 #define GL_UNPACK_FLIP_Y_CHROMIUM 0x9240 388 #endif 389 #endif /* GL_CHROMIUM_flipy */ 390 391 /* GL_ARB_texture_rectangle */ 392 #ifndef GL_ARB_texture_rectangle 393 #define GL_ARB_texture_rectangle 1 394 395 #ifndef GL_SAMPLER_2D_RECT_ARB 396 #define GL_SAMPLER_2D_RECT_ARB 0x8B63 397 #endif 398 399 #ifndef GL_TEXTURE_BINDING_RECTANGLE_ARB 400 #define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6 401 #endif 402 403 #ifndef GL_TEXTURE_RECTANGLE_ARB 404 #define GL_TEXTURE_RECTANGLE_ARB 0x84F5 405 #endif 406 #endif /* GL_ARB_texture_rectangle */ 407 408 /* GL_CHROMIUM_enable_feature */ 409 #ifndef GL_CHROMIUM_enable_feature 410 #define GL_CHROMIUM_enable_feature 1 411 #ifdef GL_GLEXT_PROTOTYPES 412 GL_APICALL GLboolean GL_APIENTRY glEnableFeatureCHROMIUM(const char* feature); 413 #endif 414 typedef GLboolean (GL_APIENTRYP PFNGLENABLEFEATURECHROMIUMPROC) ( 415 const char* feature); 416 #endif /* GL_CHROMIUM_enable_feature */ 417 418 /* GL_CHROMIUM_command_buffer_latency_query */ 419 #ifndef GL_CHROMIUM_command_buffer_latency_query 420 #define GL_CHROMIUM_command_buffer_latency_query 1 421 422 #ifndef GL_LATENCY_QUERY_CHROMIUM 423 // TODO(gman): Get official numbers for these constants. 424 #define GL_LATENCY_QUERY_CHROMIUM 0x84F4 425 #endif 426 #endif /* GL_CHROMIUM_command_buffer_latency_query */ 427 428 /* GL_ARB_robustness */ 429 #ifndef GL_ARB_robustness 430 #define GL_ARB_robustness 1 431 432 #ifndef GL_GUILTY_CONTEXT_RESET_ARB 433 #define GL_GUILTY_CONTEXT_RESET_ARB 0x8253 434 #endif 435 436 #ifndef GL_UNKNOWN_CONTEXT_RESET_ARB 437 #define GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255 438 #endif 439 440 #ifndef GL_INNOCENT_CONTEXT_RESET_ARB 441 #define GL_INNOCENT_CONTEXT_RESET_ARB 0x8254 442 #endif 443 #endif /* GL_ARB_robustness */ 444 445 /* GL_EXT_framebuffer_blit */ 446 #ifndef GL_EXT_framebuffer_blit 447 #define GL_EXT_framebuffer_blit 1 448 #ifdef GL_GLEXT_PROTOTYPES 449 GL_APICALL void GL_APIENTRY glBlitFramebufferEXT( 450 GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, 451 GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); 452 #endif 453 typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFEREXTPROC) ( 454 GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, 455 GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); 456 #endif /* GL_EXT_framebuffer_blit */ 457 458 /* GL_EXT_draw_buffers */ 459 #ifndef GL_EXT_draw_buffers 460 #define GL_EXT_draw_buffers 1 461 462 #ifdef GL_GLEXT_PROTOTYPES 463 GL_APICALL void GL_APIENTRY glDrawBuffersEXT( 464 GLsizei n, const GLenum* bufs); 465 #endif 466 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC) ( 467 GLsizei n, const GLenum* bufs); 468 469 #ifndef GL_COLOR_ATTACHMENT0_EXT 470 #define GL_COLOR_ATTACHMENT0_EXT 0x8CE0 471 #endif 472 #ifndef GL_COLOR_ATTACHMENT1_EXT 473 #define GL_COLOR_ATTACHMENT1_EXT 0x8CE1 474 #endif 475 #ifndef GL_COLOR_ATTACHMENT2_EXT 476 #define GL_COLOR_ATTACHMENT2_EXT 0x8CE2 477 #endif 478 #ifndef GL_COLOR_ATTACHMENT3_EXT 479 #define GL_COLOR_ATTACHMENT3_EXT 0x8CE3 480 #endif 481 #ifndef GL_COLOR_ATTACHMENT4_EXT 482 #define GL_COLOR_ATTACHMENT4_EXT 0x8CE4 483 #endif 484 #ifndef GL_COLOR_ATTACHMENT5_EXT 485 #define GL_COLOR_ATTACHMENT5_EXT 0x8CE5 486 #endif 487 #ifndef GL_COLOR_ATTACHMENT6_EXT 488 #define GL_COLOR_ATTACHMENT6_EXT 0x8CE6 489 #endif 490 #ifndef GL_COLOR_ATTACHMENT7_EXT 491 #define GL_COLOR_ATTACHMENT7_EXT 0x8CE7 492 #endif 493 #ifndef GL_COLOR_ATTACHMENT8_EXT 494 #define GL_COLOR_ATTACHMENT8_EXT 0x8CE8 495 #endif 496 #ifndef GL_COLOR_ATTACHMENT9_EXT 497 #define GL_COLOR_ATTACHMENT9_EXT 0x8CE9 498 #endif 499 #ifndef GL_COLOR_ATTACHMENT10_EXT 500 #define GL_COLOR_ATTACHMENT10_EXT 0x8CEA 501 #endif 502 #ifndef GL_COLOR_ATTACHMENT11_EXT 503 #define GL_COLOR_ATTACHMENT11_EXT 0x8CEB 504 #endif 505 #ifndef GL_COLOR_ATTACHMENT12_EXT 506 #define GL_COLOR_ATTACHMENT12_EXT 0x8CEC 507 #endif 508 #ifndef GL_COLOR_ATTACHMENT13_EXT 509 #define GL_COLOR_ATTACHMENT13_EXT 0x8CED 510 #endif 511 #ifndef GL_COLOR_ATTACHMENT14_EXT 512 #define GL_COLOR_ATTACHMENT14_EXT 0x8CEE 513 #endif 514 #ifndef GL_COLOR_ATTACHMENT15_EXT 515 #define GL_COLOR_ATTACHMENT15_EXT 0x8CEF 516 #endif 517 518 #ifndef GL_DRAW_BUFFER0_EXT 519 #define GL_DRAW_BUFFER0_EXT 0x8825 520 #endif 521 #ifndef GL_DRAW_BUFFER1_EXT 522 #define GL_DRAW_BUFFER1_EXT 0x8826 523 #endif 524 #ifndef GL_DRAW_BUFFER2_EXT 525 #define GL_DRAW_BUFFER2_EXT 0x8827 526 #endif 527 #ifndef GL_DRAW_BUFFER3_EXT 528 #define GL_DRAW_BUFFER3_EXT 0x8828 529 #endif 530 #ifndef GL_DRAW_BUFFER4_EXT 531 #define GL_DRAW_BUFFER4_EXT 0x8829 532 #endif 533 #ifndef GL_DRAW_BUFFER5_EXT 534 #define GL_DRAW_BUFFER5_EXT 0x882A 535 #endif 536 #ifndef GL_DRAW_BUFFER6_EXT 537 #define GL_DRAW_BUFFER6_EXT 0x882B 538 #endif 539 #ifndef GL_DRAW_BUFFER7_EXT 540 #define GL_DRAW_BUFFER7_EXT 0x882C 541 #endif 542 #ifndef GL_DRAW_BUFFER8_EXT 543 #define GL_DRAW_BUFFER8_EXT 0x882D 544 #endif 545 #ifndef GL_DRAW_BUFFER9_EXT 546 #define GL_DRAW_BUFFER9_EXT 0x882E 547 #endif 548 #ifndef GL_DRAW_BUFFER10_EXT 549 #define GL_DRAW_BUFFER10_EXT 0x882F 550 #endif 551 #ifndef GL_DRAW_BUFFER11_EXT 552 #define GL_DRAW_BUFFER11_EXT 0x8830 553 #endif 554 #ifndef GL_DRAW_BUFFER12_EXT 555 #define GL_DRAW_BUFFER12_EXT 0x8831 556 #endif 557 #ifndef GL_DRAW_BUFFER13_EXT 558 #define GL_DRAW_BUFFER13_EXT 0x8832 559 #endif 560 #ifndef GL_DRAW_BUFFER14_EXT 561 #define GL_DRAW_BUFFER14_EXT 0x8833 562 #endif 563 #ifndef GL_DRAW_BUFFER15_EXT 564 #define GL_DRAW_BUFFER15_EXT 0x8834 565 #endif 566 567 #ifndef GL_MAX_COLOR_ATTACHMENTS_EXT 568 #define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF 569 #endif 570 571 #ifndef GL_MAX_DRAW_BUFFERS_EXT 572 #define GL_MAX_DRAW_BUFFERS_EXT 0x8824 573 #endif 574 575 #endif /* GL_EXT_draw_buffers */ 576 577 /* GL_CHROMIUM_resize */ 578 #ifndef GL_CHROMIUM_resize 579 #define GL_CHROMIUM_resize 1 580 #ifdef GL_GLEXT_PROTOTYPES 581 GL_APICALL void GL_APIENTRY glResizeCHROMIUM( 582 GLuint width, GLuint height, GLfloat scale_factor); 583 #endif 584 typedef void (GL_APIENTRYP PFNGLRESIZECHROMIUMPROC) ( 585 GLuint width, GLuint height); 586 #endif /* GL_CHROMIUM_resize */ 587 588 /* GL_CHROMIUM_get_multiple */ 589 #ifndef GL_CHROMIUM_get_multiple 590 #define GL_CHROMIUM_get_multiple 1 591 #ifdef GL_GLEXT_PROTOTYPES 592 GL_APICALL void GL_APIENTRY glGetMultipleIntegervCHROMIUM( 593 const GLenum* pnames, GLuint count, GLint* results, GLsizeiptr size); 594 GL_APICALL void GL_APIENTRY glGetProgramInfoCHROMIUM( 595 GLuint program, GLsizei bufsize, GLsizei* size, void* info); 596 #endif 597 typedef void (GL_APIENTRYP PFNGLGETMULTIPLEINTEGERVCHROMIUMPROC) ( 598 const GLenum* pnames, GLuint count, GLint* results, GLsizeiptr size); 599 typedef void (GL_APIENTRYP PFNGLGETPROGRAMINFOCHROMIUMPROC) ( 600 GLuint program, GLsizei bufsize, GLsizei* size, void* info); 601 #endif /* GL_CHROMIUM_get_multiple */ 602 603 /* GL_CHROMIUM_front_buffer_cached */ 604 #ifndef GL_CHROMIUM_front_buffer_cached 605 #define GL_CHROMIUM_front_buffer_cached 1 606 #endif /* GL_CHROMIUM_front_buffer_cached */ 607 608 /* GL_CHROMIUM_sync_point */ 609 #ifndef GL_CHROMIUM_sync_point 610 #define GL_CHROMIUM_sync_point 1 611 #ifdef GL_GLEXT_PROTOTYPES 612 GL_APICALL GLuint GL_APIENTRY glInsertSyncPointCHROMIUM(); 613 GL_APICALL void GL_APIENTRY glWaitSyncPointCHROMIUM(GLuint sync_point); 614 #endif 615 typedef GLuint (GL_APIENTRYP PFNGLINSERTSYNCPOINTCHROMIUMPROC) (); 616 typedef void (GL_APIENTRYP PFNGLWAITSYNCPOINTCHROMIUMPROC) (GLuint sync_point); 617 #endif /* GL_CHROMIUM_sync_point */ 618 619 #ifdef __cplusplus 620 } 621 #endif 622 623 #endif // GPU_GLES2_GL2EXTCHROMIUM_H_ 624