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 14extern "C" { 15#endif 16 17/* GL_CHROMIUM_iosurface */ 18#ifndef GL_CHROMIUM_iosurface 19#define GL_CHROMIUM_iosurface 1 20#ifdef GL_GLEXT_PROTOTYPES 21GL_APICALL void GL_APIENTRY glTexImageIOSurface2DCHROMIUM( 22 GLenum target, GLsizei width, GLsizei height, GLuint ioSurfaceId, 23 GLuint plane); 24#endif 25typedef 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 55GL_APICALL void GL_APIENTRY glGenMailboxCHROMIUM(GLbyte* mailbox); 56GL_APICALL void GL_APIENTRY glProduceTextureCHROMIUM( 57 GLenum target, const GLbyte* mailbox); 58GL_APICALL void GL_APIENTRY glProduceTextureDirectCHROMIUM( 59 GLuint texture, GLenum target, const GLbyte* mailbox); 60GL_APICALL void GL_APIENTRY glConsumeTextureCHROMIUM( 61 GLenum target, const GLbyte* mailbox); 62GL_APICALL GLuint GL_APIENTRY glCreateAndConsumeTextureCHROMIUM( 63 GLenum target, const GLbyte* mailbox); 64#endif 65typedef void (GL_APIENTRYP PFNGLGENMAILBOXCHROMIUMPROC) (GLbyte* mailbox); 66typedef void (GL_APIENTRYP PFNGLPRODUCETEXTURECHROMIUMPROC) ( 67 GLenum target, const GLbyte* mailbox); 68typedef void (GL_APIENTRYP PFNGLPRODUCETEXTUREDIRECTCHROMIUMPROC) ( 69 GLuint texture, GLenum target, const GLbyte* mailbox); 70typedef void (GL_APIENTRYP PFNGLCONSUMETEXTURECHROMIUMPROC) ( 71 GLenum target, const GLbyte* mailbox); 72typedef 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 86GL_APICALL void* GL_APIENTRY glMapBufferCHROMIUM(GLuint target,GLenum access); 87GL_APICALL GLboolean GL_APIENTRY glUnmapBufferCHROMIUM(GLuint target); 88#endif 89typedef void* (GL_APIENTRY PFNGLMAPBUFFERCHROMIUM) ( 90 GLuint target,GLenum access); 91typedef 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 122GL_APICALL GLuint GL_APIENTRY glCreateImageCHROMIUM(GLsizei width, 123 GLsizei height, 124 GLenum internalformat, 125 GLenum usage); 126GL_APICALL void GL_APIENTRY glDestroyImageCHROMIUM(GLuint image_id); 127GL_APICALL void GL_APIENTRY glGetImageParameterivCHROMIUM( 128 GLuint image_id, GLenum pname, GLint* params); 129GL_APICALL void* GL_APIENTRY glMapImageCHROMIUM(GLuint image_id); 130GL_APICALL void GL_APIENTRY glUnmapImageCHROMIUM(GLuint image_id); 131#endif 132typedef GLuint(GL_APIENTRYP PFNGLCREATEIMAGECHROMIUMPROC)( 133 GLsizei width, 134 GLsizei height, 135 GLenum internalformat); 136typedef void ( 137 GL_APIENTRYP PFNGLDESTROYIMAGECHROMIUMPROC) (GLuint image_id); 138typedef void ( 139 GL_APIENTRYP PFNGLGETIMAGEPARAMETERIVCHROMIUMPROC) ( 140 GLuint image_id, GLenum pname, GLint* params); 141typedef void* (GL_APIENTRYP PFNGLMAPIMAGECHROMIUMPROC) ( 142 GLuint image_id, GLenum access); 143typedef 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 158GL_APICALL void* GL_APIENTRY glMapBufferSubDataCHROMIUM( 159 GLuint target, GLintptr offset, GLsizeiptr size, GLenum access); 160GL_APICALL void GL_APIENTRY glUnmapBufferSubDataCHROMIUM(const void* mem); 161GL_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); 164GL_APICALL void GL_APIENTRY glUnmapTexSubImage2DCHROMIUM(const void* mem); 165#endif 166typedef void* (GL_APIENTRYP PFNGLMAPBUFFERSUBDATACHROMIUMPROC) ( 167 GLuint target, GLintptr offset, GLsizeiptr size, GLenum access); 168typedef void ( 169 GL_APIENTRYP PFNGLUNMAPBUFFERSUBDATACHROMIUMPROC) (const void* mem); 170typedef void* (GL_APIENTRYP PFNGLMAPTEXSUBIMAGE2DCHROMIUMPROC) ( 171 GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, 172 GLsizei height, GLenum format, GLenum type, GLenum access); 173typedef 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 181GL_APICALL const GLchar* GL_APIENTRY glGetRequestableExtensionsCHROMIUM(); 182GL_APICALL void GL_APIENTRY glRequestExtensionCHROMIUM(const char* extension); 183#endif 184typedef const GLchar* (GL_APIENTRYP PFNGLGETREQUESTABLEEXTENSIONSCHROMIUMPROC) ( 185 ); 186typedef 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 204GL_APICALL void GL_APIENTRY glBindTexImage2DCHROMIUM( 205 GLenum target, GLint imageId); 206GL_APICALL void GL_APIENTRY glReleaseTexImage2DCHROMIUM( 207 GLenum target, GLint imageId); 208#endif 209typedef void (GL_APIENTRYP PFNGLBINDTEXIMAGE2DCHROMIUMPROC) ( 210 GLenum target, GLint imageId); 211typedef 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 219GL_APICALL void GL_APIENTRY glRateLimitOffscreenContextCHROMIUM(); 220#endif 221typedef 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 228GL_APICALL void GL_APIENTRY glPostSubBufferCHROMIUM( 229 GLint x, GLint y, GLint width, GLint height); 230#endif 231typedef 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 239GL_APICALL void GL_APIENTRY glBindUniformLocationCHROMIUM( 240 GLuint program, GLint location, const char* name); 241#endif 242typedef 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 261GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleCHROMIUM (GLenum, GLsizei, GLenum, GLsizei, GLsizei); 262GL_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 264typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLECHROMIUMPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 265typedef 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 390GL_APICALL void GL_APIENTRY glCopyTextureCHROMIUM( 391 GLenum target, GLenum source_id, GLenum dest_id, GLint level, 392 GLint internalformat, GLenum dest_type); 393#endif 394typedef 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 403GL_APICALL void GL_APIENTRY glLoseContextCHROMIUM(GLenum current, GLenum other); 404#endif 405typedef 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 439GL_APICALL GLboolean GL_APIENTRY glEnableFeatureCHROMIUM(const char* feature); 440#endif 441typedef 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 476GL_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 480typedef 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 490GL_APICALL void GL_APIENTRY glDrawBuffersEXT( 491 GLsizei n, const GLenum* bufs); 492#endif 493typedef 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 608GL_APICALL void GL_APIENTRY glResizeCHROMIUM( 609 GLuint width, GLuint height, GLfloat scale_factor); 610#endif 611typedef 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 619GL_APICALL void GL_APIENTRY glGetMultipleIntegervCHROMIUM( 620 const GLenum* pnames, GLuint count, GLint* results, GLsizeiptr size); 621GL_APICALL void GL_APIENTRY glGetProgramInfoCHROMIUM( 622 GLuint program, GLsizei bufsize, GLsizei* size, void* info); 623#endif 624typedef void (GL_APIENTRYP PFNGLGETMULTIPLEINTEGERVCHROMIUMPROC) ( 625 const GLenum* pnames, GLuint count, GLint* results, GLsizeiptr size); 626typedef 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 634GL_APICALL GLuint GL_APIENTRY glInsertSyncPointCHROMIUM(); 635GL_APICALL void GL_APIENTRY glWaitSyncPointCHROMIUM(GLuint sync_point); 636#endif 637typedef GLuint (GL_APIENTRYP PFNGLINSERTSYNCPOINTCHROMIUMPROC) (); 638typedef 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 684GL_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 697typedef 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 724GL_APICALL void GL_APIENTRY 725 glMatrixLoadfCHROMIUM(GLenum mode, const GLfloat* m); 726GL_APICALL void GL_APIENTRY glMatrixLoadIdentityCHROMIUM(GLenum mode); 727#endif 728 729typedef void(GL_APIENTRYP PFNGLMATRIXLOADFCHROMIUMPROC)(GLenum matrixMode, 730 const GLfloat* m); 731typedef 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