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.
5 // This file contains Chromium-specific GLES2 extensions declarations.
7 #ifndef GPU_GLES2_GL2EXTCHROMIUM_H_
8 #define GPU_GLES2_GL2EXTCHROMIUM_H_
10 #include <GLES2/gl2.h>
11 #include <GLES2/gl2ext.h>
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
,
25 typedef void (GL_APIENTRYP PFNGLTEXIMAGEIOSURFACE2DCHROMIUMPROC
) (
26 GLenum target
, GLsizei width
, GLsizei height
, GLuint ioSurfaceId
,
28 #endif /* GL_CHROMIUM_iosurface */
30 /* GL_CHROMIUM_gpu_memory_manager */
31 #ifndef GL_CHROMIUM_gpu_memory_manager
32 #define GL_CHROMIUM_gpu_memory_manager 1
34 #ifndef GL_TEXTURE_POOL_UNMANAGED_CHROMIUM
35 #define GL_TEXTURE_POOL_UNMANAGED_CHROMIUM 0x6002
38 #ifndef GL_TEXTURE_POOL_CHROMIUM
39 #define GL_TEXTURE_POOL_CHROMIUM 0x6000
42 #ifndef GL_TEXTURE_POOL_MANAGED_CHROMIUM
43 #define GL_TEXTURE_POOL_MANAGED_CHROMIUM 0x6001
45 #endif /* GL_CHROMIUM_gpu_memory_manager */
47 /* GL_CHROMIUM_texture_mailbox */
48 #ifndef GL_CHROMIUM_texture_mailbox
49 #define GL_CHROMIUM_texture_mailbox 1
51 #ifndef GL_MAILBOX_SIZE_CHROMIUM
52 #define GL_MAILBOX_SIZE_CHROMIUM 64
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
);
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 */
76 /* GL_CHROMIUM_pixel_transfer_buffer_object */
77 #ifndef GL_CHROMIUM_pixel_transfer_buffer_object
78 #define GL_CHROMIUM_pixel_transfer_buffer_object 1
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
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
);
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 */
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
100 #ifndef GL_STREAM_READ
101 #define GL_STREAM_READ 0x88E1
103 #endif /* GL_CHROMIUM_pixel_transfer_buffer_object */
105 /* GL_CHROMIUM_image */
106 #ifndef GL_CHROMIUM_image
107 #define GL_CHROMIUM_image 1
109 #ifndef GL_IMAGE_ROWBYTES_CHROMIUM
110 #define GL_IMAGE_ROWBYTES_CHROMIUM 0x78F0
113 #ifndef GL_IMAGE_MAP_CHROMIUM
114 #define GL_IMAGE_MAP_CHROMIUM 0x78F1
117 #ifndef GL_IMAGE_SCANOUT_CHROMIUM
118 #define GL_IMAGE_SCANOUT_CHROMIUM 0x78F2
121 #ifdef GL_GLEXT_PROTOTYPES
122 GL_APICALL GLuint GL_APIENTRY
glCreateImageCHROMIUM(GLsizei width
,
124 GLenum internalformat
,
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
);
132 typedef GLuint(GL_APIENTRYP PFNGLCREATEIMAGECHROMIUMPROC
)(
135 GLenum internalformat
,
138 GL_APIENTRYP PFNGLDESTROYIMAGECHROMIUMPROC
)(GLuint image_id
);
139 typedef void* (GL_APIENTRYP PFNGLMAPIMAGECHROMIUMPROC
)(GLuint image_id
);
140 typedef void (GL_APIENTRYP PFNGLUNMAPIMAGECHROMIUMPROC
)(GLuint image_id
);
141 #endif /* GL_CHROMIUM_image */
143 /* GL_CHROMIUM_gpu_memory_buffer_image */
144 #ifndef GL_CHROMIUM_gpu_memory_buffer_image
145 #define GL_CHROMIUM_gpu_memory_buffer_image 1
147 #ifndef GL_MAP_CHROMIUM
148 #define GL_MAP_CHROMIUM 0x78F1
151 #ifndef GL_SCANOUT_CHROMIUM
152 #define GL_SCANOUT_CHROMIUM 0x78F2
155 #ifdef GL_GLEXT_PROTOTYPES
156 GL_APICALL GLuint GL_APIENTRY
glCreateGpuMemoryBufferImageCHROMIUM(
159 GLenum internalformat
,
162 typedef GLuint(GL_APIENTRYP PFNGLCREATEGPUMEMORYBUFFERIMAGECHROMIUMPROC
) (
165 GLenum internalformat
,
167 #endif /* GL_CHROMIUM_gpu_memory_buffer_image */
169 /* GL_CHROMIUM_map_sub */
170 #ifndef GL_CHROMIUM_map_sub
171 #define GL_CHROMIUM_map_sub 1
174 #define GL_READ_ONLY 0x88B8
177 #ifndef GL_WRITE_ONLY
178 #define GL_WRITE_ONLY 0x88B9
180 #ifdef GL_GLEXT_PROTOTYPES
181 GL_APICALL
void* GL_APIENTRY
glMapBufferSubDataCHROMIUM(
182 GLuint target
, GLintptr offset
, GLsizeiptr size
, GLenum access
);
183 GL_APICALL
void GL_APIENTRY
glUnmapBufferSubDataCHROMIUM(const void* mem
);
184 GL_APICALL
void* GL_APIENTRY
glMapTexSubImage2DCHROMIUM(
185 GLenum target
, GLint level
, GLint xoffset
, GLint yoffset
, GLsizei width
,
186 GLsizei height
, GLenum format
, GLenum type
, GLenum access
);
187 GL_APICALL
void GL_APIENTRY
glUnmapTexSubImage2DCHROMIUM(const void* mem
);
189 typedef void* (GL_APIENTRYP PFNGLMAPBUFFERSUBDATACHROMIUMPROC
) (
190 GLuint target
, GLintptr offset
, GLsizeiptr size
, GLenum access
);
192 GL_APIENTRYP PFNGLUNMAPBUFFERSUBDATACHROMIUMPROC
) (const void* mem
);
193 typedef void* (GL_APIENTRYP PFNGLMAPTEXSUBIMAGE2DCHROMIUMPROC
) (
194 GLenum target
, GLint level
, GLint xoffset
, GLint yoffset
, GLsizei width
,
195 GLsizei height
, GLenum format
, GLenum type
, GLenum access
);
197 GL_APIENTRYP PFNGLUNMAPTEXSUBIMAGE2DCHROMIUMPROC
) (const void* mem
);
198 #endif /* GL_CHROMIUM_map_sub */
200 /* GL_CHROMIUM_request_extension */
201 #ifndef GL_CHROMIUM_request_extension
202 #define GL_CHROMIUM_request_extension 1
203 #ifdef GL_GLEXT_PROTOTYPES
204 GL_APICALL
const GLchar
* GL_APIENTRY
glGetRequestableExtensionsCHROMIUM();
205 GL_APICALL
void GL_APIENTRY
glRequestExtensionCHROMIUM(const char* extension
);
207 typedef const GLchar
* (GL_APIENTRYP PFNGLGETREQUESTABLEEXTENSIONSCHROMIUMPROC
) (
209 typedef void (GL_APIENTRYP PFNGLREQUESTEXTENSIONCHROMIUMPROC
) (
210 const char* extension
);
211 #endif /* GL_CHROMIUM_request_extension */
213 /* GL_CHROMIUM_get_error_query */
214 #ifndef GL_CHROMIUM_get_error_query
215 #define GL_CHROMIUM_get_error_query 1
217 #ifndef GL_GET_ERROR_QUERY_CHROMIUM
218 // TODO(gman): Get official numbers for this constants.
219 #define GL_GET_ERROR_QUERY_CHROMIUM 0x84F3
221 #endif /* GL_CHROMIUM_get_error_query */
223 /* GL_CHROMIUM_texture_from_image */
224 #ifndef GL_CHROMIUM_texture_from_image
225 #define GL_CHROMIUM_texture_from_image 1
226 #ifdef GL_GLEXT_PROTOTYPES
227 GL_APICALL
void GL_APIENTRY
glBindTexImage2DCHROMIUM(
228 GLenum target
, GLint imageId
);
229 GL_APICALL
void GL_APIENTRY
glReleaseTexImage2DCHROMIUM(
230 GLenum target
, GLint imageId
);
232 typedef void (GL_APIENTRYP PFNGLBINDTEXIMAGE2DCHROMIUMPROC
) (
233 GLenum target
, GLint imageId
);
234 typedef void (GL_APIENTRYP PFNGLRELEASETEXIMAGE2DCHROMIUMPROC
) (
235 GLenum target
, GLint imageId
);
236 #endif /* GL_CHROMIUM_texture_from_image */
238 /* GL_CHROMIUM_rate_limit_offscreen_context */
239 #ifndef GL_CHROMIUM_rate_limit_offscreen_context
240 #define GL_CHROMIUM_rate_limit_offscreen_context 1
241 #ifdef GL_GLEXT_PROTOTYPES
242 GL_APICALL
void GL_APIENTRY
glRateLimitOffscreenContextCHROMIUM();
244 typedef void (GL_APIENTRYP PFNGLRATELIMITOFFSCREENCONTEXTCHROMIUMPROC
) ();
245 #endif /* GL_CHROMIUM_rate_limit_offscreen_context */
247 /* GL_CHROMIUM_post_sub_buffer */
248 #ifndef GL_CHROMIUM_post_sub_buffer
249 #define GL_CHROMIUM_post_sub_buffer 1
250 #ifdef GL_GLEXT_PROTOTYPES
251 GL_APICALL
void GL_APIENTRY
glPostSubBufferCHROMIUM(
252 GLint x
, GLint y
, GLint width
, GLint height
);
254 typedef void (GL_APIENTRYP PFNGLPOSTSUBBUFFERCHROMIUMPROC
) (
255 GLint x
, GLint y
, GLint width
, GLint height
);
256 #endif /* GL_CHROMIUM_post_sub_buffer */
258 /* GL_CHROMIUM_bind_uniform_location */
259 #ifndef GL_CHROMIUM_bind_uniform_location
260 #define GL_CHROMIUM_bind_uniform_location 1
261 #ifdef GL_GLEXT_PROTOTYPES
262 GL_APICALL
void GL_APIENTRY
glBindUniformLocationCHROMIUM(
263 GLuint program
, GLint location
, const char* name
);
265 typedef void (GL_APIENTRYP PFNGLBINDUNIFORMLOCATIONCHROMIUMPROC
) (
266 GLuint program
, GLint location
, const char* name
);
267 #endif /* GL_CHROMIUM_bind_uniform_location */
269 /* GL_CHROMIUM_command_buffer_query */
270 #ifndef GL_CHROMIUM_command_buffer_query
271 #define GL_CHROMIUM_command_buffer_query 1
273 #ifndef GL_COMMANDS_ISSUED_CHROMIUM
274 // TODO(gman): Get official numbers for this constants.
275 #define GL_COMMANDS_ISSUED_CHROMIUM 0x84F2
277 #endif /* GL_CHROMIUM_command_buffer_query */
279 /* GL_CHROMIUM_framebuffer_multisample */
280 #ifndef GL_CHROMIUM_framebuffer_multisample
281 #define GL_CHROMIUM_framebuffer_multisample 1
283 #ifdef GL_GLEXT_PROTOTYPES
284 GL_APICALL
void GL_APIENTRY
glRenderbufferStorageMultisampleCHROMIUM (GLenum
, GLsizei
, GLenum
, GLsizei
, GLsizei
);
285 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
);
287 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLECHROMIUMPROC
) (GLenum target
, GLsizei samples
, GLenum internalformat
, GLsizei width
, GLsizei height
);
288 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
);
290 #ifndef GL_FRAMEBUFFER_BINDING_EXT
291 #define GL_FRAMEBUFFER_BINDING_EXT GL_FRAMEBUFFER_BINDING
294 #ifndef GL_DRAW_FRAMEBUFFER_BINDING_EXT
295 #define GL_DRAW_FRAMEBUFFER_BINDING_EXT GL_DRAW_FRAMEBUFFER_BINDING
298 #ifndef GL_RENDERBUFFER_BINDING_EXT
299 #define GL_RENDERBUFFER_BINDING_EXT GL_RENDERBUFFER_BINDING
302 #ifndef GL_RENDERBUFFER_SAMPLES
303 #define GL_RENDERBUFFER_SAMPLES 0x8CAB
306 #ifndef GL_READ_FRAMEBUFFER_EXT
307 #define GL_READ_FRAMEBUFFER_EXT GL_READ_FRAMEBUFFER
310 #ifndef GL_RENDERBUFFER_SAMPLES_EXT
311 #define GL_RENDERBUFFER_SAMPLES_EXT GL_RENDERBUFFER_SAMPLES
314 #ifndef GL_RENDERBUFFER_BINDING
315 #define GL_RENDERBUFFER_BINDING 0x8CA7
318 #ifndef GL_READ_FRAMEBUFFER_BINDING
319 #define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
322 #ifndef GL_MAX_SAMPLES
323 #define GL_MAX_SAMPLES 0x8D57
326 #ifndef GL_READ_FRAMEBUFFER_BINDING_EXT
327 #define GL_READ_FRAMEBUFFER_BINDING_EXT GL_READ_FRAMEBUFFER_BINDING
330 #ifndef GL_DRAW_FRAMEBUFFER_BINDING
331 #define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6
334 #ifndef GL_MAX_SAMPLES_EXT
335 #define GL_MAX_SAMPLES_EXT GL_MAX_SAMPLES
338 #ifndef GL_DRAW_FRAMEBUFFER
339 #define GL_DRAW_FRAMEBUFFER 0x8CA9
342 #ifndef GL_READ_FRAMEBUFFER
343 #define GL_READ_FRAMEBUFFER 0x8CA8
346 #ifndef GL_DRAW_FRAMEBUFFER_EXT
347 #define GL_DRAW_FRAMEBUFFER_EXT GL_DRAW_FRAMEBUFFER
350 #ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE
351 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
354 #ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT
355 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE // NOLINT
358 #ifndef GL_FRAMEBUFFER_BINDING
359 #define GL_FRAMEBUFFER_BINDING 0x8CA6
361 #endif /* GL_CHROMIUM_framebuffer_multisample */
363 /* GL_CHROMIUM_texture_compression_dxt3 */
364 #ifndef GL_CHROMIUM_texture_compression_dxt3
365 #define GL_CHROMIUM_texture_compression_dxt3 1
367 #ifndef GL_COMPRESSED_RGBA_S3TC_DXT3_EXT
368 #define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
370 #endif /* GL_CHROMIUM_texture_compression_dxt3 */
372 /* GL_CHROMIUM_texture_compression_dxt5 */
373 #ifndef GL_CHROMIUM_texture_compression_dxt5
374 #define GL_CHROMIUM_texture_compression_dxt5 1
376 #ifndef GL_COMPRESSED_RGBA_S3TC_DXT5_EXT
377 #define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
379 #endif /* GL_CHROMIUM_texture_compression_dxt5 */
381 /* GL_CHROMIUM_async_pixel_transfers */
382 #ifndef GL_CHROMIUM_async_pixel_transfers
383 #define GL_CHROMIUM_async_pixel_transfers 1
385 #ifndef GL_ASYNC_PIXEL_UNPACK_COMPLETED_CHROMIUM
386 #define GL_ASYNC_PIXEL_UNPACK_COMPLETED_CHROMIUM 0x84F5
388 #ifndef GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM
389 #define GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM 0x84F6
391 #endif /* GL_CHROMIUM_async_pixel_transfers */
393 #ifndef GL_BIND_GENERATES_RESOURCE_CHROMIUM
394 #define GL_BIND_GENERATES_RESOURCE_CHROMIUM 0x9244
397 /* GL_CHROMIUM_copy_texture */
398 #ifndef GL_CHROMIUM_copy_texture
399 #define GL_CHROMIUM_copy_texture 1
401 #ifndef GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM
402 #define GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM 0x9243
405 #ifndef GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM
406 #define GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM 0x9242
409 #ifndef GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM
410 #define GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM 0x9241
412 #ifdef GL_GLEXT_PROTOTYPES
413 GL_APICALL
void GL_APIENTRY
glCopyTextureCHROMIUM(
414 GLenum target
, GLenum source_id
, GLenum dest_id
, GLint level
,
415 GLint internalformat
, GLenum dest_type
);
417 typedef void (GL_APIENTRYP PFNGLCOPYTEXTURECHROMIUMPROC
) (
418 GLenum target
, GLenum source_id
, GLenum dest_id
, GLint level
,
419 GLint internalformat
, GLenum dest_type
);
420 #endif /* GL_CHROMIUM_copy_texture */
422 /* GL_CHROMIUM_lose_context */
423 #ifndef GL_CHROMIUM_lose_context
424 #define GL_CHROMIUM_lose_context 1
425 #ifdef GL_GLEXT_PROTOTYPES
426 GL_APICALL
void GL_APIENTRY
glLoseContextCHROMIUM(GLenum current
, GLenum other
);
428 typedef void (GL_APIENTRYP PFNGLLOSECONTEXTCHROMIUMPROC
) (
429 GLenum current
, GLenum other
);
430 #endif /* GL_CHROMIUM_lose_context */
432 /* GL_CHROMIUM_flipy */
433 #ifndef GL_CHROMIUM_flipy
434 #define GL_CHROMIUM_flipy 1
436 #ifndef GL_UNPACK_FLIP_Y_CHROMIUM
437 #define GL_UNPACK_FLIP_Y_CHROMIUM 0x9240
439 #endif /* GL_CHROMIUM_flipy */
441 /* GL_ARB_texture_rectangle */
442 #ifndef GL_ARB_texture_rectangle
443 #define GL_ARB_texture_rectangle 1
445 #ifndef GL_SAMPLER_2D_RECT_ARB
446 #define GL_SAMPLER_2D_RECT_ARB 0x8B63
449 #ifndef GL_TEXTURE_BINDING_RECTANGLE_ARB
450 #define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6
453 #ifndef GL_TEXTURE_RECTANGLE_ARB
454 #define GL_TEXTURE_RECTANGLE_ARB 0x84F5
456 #endif /* GL_ARB_texture_rectangle */
458 /* GL_CHROMIUM_enable_feature */
459 #ifndef GL_CHROMIUM_enable_feature
460 #define GL_CHROMIUM_enable_feature 1
461 #ifdef GL_GLEXT_PROTOTYPES
462 GL_APICALL GLboolean GL_APIENTRY
glEnableFeatureCHROMIUM(const char* feature
);
464 typedef GLboolean (GL_APIENTRYP PFNGLENABLEFEATURECHROMIUMPROC
) (
465 const char* feature
);
466 #endif /* GL_CHROMIUM_enable_feature */
468 /* GL_CHROMIUM_command_buffer_latency_query */
469 #ifndef GL_CHROMIUM_command_buffer_latency_query
470 #define GL_CHROMIUM_command_buffer_latency_query 1
472 #ifndef GL_LATENCY_QUERY_CHROMIUM
473 // TODO(gman): Get official numbers for these constants.
474 #define GL_LATENCY_QUERY_CHROMIUM 0x84F4
476 #endif /* GL_CHROMIUM_command_buffer_latency_query */
478 /* GL_ARB_robustness */
479 #ifndef GL_ARB_robustness
480 #define GL_ARB_robustness 1
482 #ifndef GL_GUILTY_CONTEXT_RESET_ARB
483 #define GL_GUILTY_CONTEXT_RESET_ARB 0x8253
486 #ifndef GL_UNKNOWN_CONTEXT_RESET_ARB
487 #define GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255
490 #ifndef GL_INNOCENT_CONTEXT_RESET_ARB
491 #define GL_INNOCENT_CONTEXT_RESET_ARB 0x8254
493 #endif /* GL_ARB_robustness */
495 /* GL_EXT_framebuffer_blit */
496 #ifndef GL_EXT_framebuffer_blit
497 #define GL_EXT_framebuffer_blit 1
498 #ifdef GL_GLEXT_PROTOTYPES
499 GL_APICALL
void GL_APIENTRY
glBlitFramebufferEXT(
500 GLint srcX0
, GLint srcY0
, GLint srcX1
, GLint srcY1
, GLint dstX0
,
501 GLint dstY0
, GLint dstX1
, GLint dstY1
, GLbitfield mask
, GLenum filter
);
503 typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFEREXTPROC
) (
504 GLint srcX0
, GLint srcY0
, GLint srcX1
, GLint srcY1
, GLint dstX0
,
505 GLint dstY0
, GLint dstX1
, GLint dstY1
, GLbitfield mask
, GLenum filter
);
506 #endif /* GL_EXT_framebuffer_blit */
508 /* GL_EXT_draw_buffers */
509 #ifndef GL_EXT_draw_buffers
510 #define GL_EXT_draw_buffers 1
512 #ifdef GL_GLEXT_PROTOTYPES
513 GL_APICALL
void GL_APIENTRY
glDrawBuffersEXT(
514 GLsizei n
, const GLenum
* bufs
);
516 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC
) (
517 GLsizei n
, const GLenum
* bufs
);
519 #ifndef GL_COLOR_ATTACHMENT0_EXT
520 #define GL_COLOR_ATTACHMENT0_EXT 0x8CE0
522 #ifndef GL_COLOR_ATTACHMENT1_EXT
523 #define GL_COLOR_ATTACHMENT1_EXT 0x8CE1
525 #ifndef GL_COLOR_ATTACHMENT2_EXT
526 #define GL_COLOR_ATTACHMENT2_EXT 0x8CE2
528 #ifndef GL_COLOR_ATTACHMENT3_EXT
529 #define GL_COLOR_ATTACHMENT3_EXT 0x8CE3
531 #ifndef GL_COLOR_ATTACHMENT4_EXT
532 #define GL_COLOR_ATTACHMENT4_EXT 0x8CE4
534 #ifndef GL_COLOR_ATTACHMENT5_EXT
535 #define GL_COLOR_ATTACHMENT5_EXT 0x8CE5
537 #ifndef GL_COLOR_ATTACHMENT6_EXT
538 #define GL_COLOR_ATTACHMENT6_EXT 0x8CE6
540 #ifndef GL_COLOR_ATTACHMENT7_EXT
541 #define GL_COLOR_ATTACHMENT7_EXT 0x8CE7
543 #ifndef GL_COLOR_ATTACHMENT8_EXT
544 #define GL_COLOR_ATTACHMENT8_EXT 0x8CE8
546 #ifndef GL_COLOR_ATTACHMENT9_EXT
547 #define GL_COLOR_ATTACHMENT9_EXT 0x8CE9
549 #ifndef GL_COLOR_ATTACHMENT10_EXT
550 #define GL_COLOR_ATTACHMENT10_EXT 0x8CEA
552 #ifndef GL_COLOR_ATTACHMENT11_EXT
553 #define GL_COLOR_ATTACHMENT11_EXT 0x8CEB
555 #ifndef GL_COLOR_ATTACHMENT12_EXT
556 #define GL_COLOR_ATTACHMENT12_EXT 0x8CEC
558 #ifndef GL_COLOR_ATTACHMENT13_EXT
559 #define GL_COLOR_ATTACHMENT13_EXT 0x8CED
561 #ifndef GL_COLOR_ATTACHMENT14_EXT
562 #define GL_COLOR_ATTACHMENT14_EXT 0x8CEE
564 #ifndef GL_COLOR_ATTACHMENT15_EXT
565 #define GL_COLOR_ATTACHMENT15_EXT 0x8CEF
568 #ifndef GL_DRAW_BUFFER0_EXT
569 #define GL_DRAW_BUFFER0_EXT 0x8825
571 #ifndef GL_DRAW_BUFFER1_EXT
572 #define GL_DRAW_BUFFER1_EXT 0x8826
574 #ifndef GL_DRAW_BUFFER2_EXT
575 #define GL_DRAW_BUFFER2_EXT 0x8827
577 #ifndef GL_DRAW_BUFFER3_EXT
578 #define GL_DRAW_BUFFER3_EXT 0x8828
580 #ifndef GL_DRAW_BUFFER4_EXT
581 #define GL_DRAW_BUFFER4_EXT 0x8829
583 #ifndef GL_DRAW_BUFFER5_EXT
584 #define GL_DRAW_BUFFER5_EXT 0x882A
586 #ifndef GL_DRAW_BUFFER6_EXT
587 #define GL_DRAW_BUFFER6_EXT 0x882B
589 #ifndef GL_DRAW_BUFFER7_EXT
590 #define GL_DRAW_BUFFER7_EXT 0x882C
592 #ifndef GL_DRAW_BUFFER8_EXT
593 #define GL_DRAW_BUFFER8_EXT 0x882D
595 #ifndef GL_DRAW_BUFFER9_EXT
596 #define GL_DRAW_BUFFER9_EXT 0x882E
598 #ifndef GL_DRAW_BUFFER10_EXT
599 #define GL_DRAW_BUFFER10_EXT 0x882F
601 #ifndef GL_DRAW_BUFFER11_EXT
602 #define GL_DRAW_BUFFER11_EXT 0x8830
604 #ifndef GL_DRAW_BUFFER12_EXT
605 #define GL_DRAW_BUFFER12_EXT 0x8831
607 #ifndef GL_DRAW_BUFFER13_EXT
608 #define GL_DRAW_BUFFER13_EXT 0x8832
610 #ifndef GL_DRAW_BUFFER14_EXT
611 #define GL_DRAW_BUFFER14_EXT 0x8833
613 #ifndef GL_DRAW_BUFFER15_EXT
614 #define GL_DRAW_BUFFER15_EXT 0x8834
617 #ifndef GL_MAX_COLOR_ATTACHMENTS_EXT
618 #define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF
621 #ifndef GL_MAX_DRAW_BUFFERS_EXT
622 #define GL_MAX_DRAW_BUFFERS_EXT 0x8824
625 #endif /* GL_EXT_draw_buffers */
627 /* GL_CHROMIUM_resize */
628 #ifndef GL_CHROMIUM_resize
629 #define GL_CHROMIUM_resize 1
630 #ifdef GL_GLEXT_PROTOTYPES
631 GL_APICALL
void GL_APIENTRY
glResizeCHROMIUM(
632 GLuint width
, GLuint height
, GLfloat scale_factor
);
634 typedef void (GL_APIENTRYP PFNGLRESIZECHROMIUMPROC
) (
635 GLuint width
, GLuint height
);
636 #endif /* GL_CHROMIUM_resize */
638 /* GL_CHROMIUM_get_multiple */
639 #ifndef GL_CHROMIUM_get_multiple
640 #define GL_CHROMIUM_get_multiple 1
641 #ifdef GL_GLEXT_PROTOTYPES
642 GL_APICALL
void GL_APIENTRY
glGetMultipleIntegervCHROMIUM(
643 const GLenum
* pnames
, GLuint count
, GLint
* results
, GLsizeiptr size
);
644 GL_APICALL
void GL_APIENTRY
glGetProgramInfoCHROMIUM(
645 GLuint program
, GLsizei bufsize
, GLsizei
* size
, void* info
);
647 typedef void (GL_APIENTRYP PFNGLGETMULTIPLEINTEGERVCHROMIUMPROC
) (
648 const GLenum
* pnames
, GLuint count
, GLint
* results
, GLsizeiptr size
);
649 typedef void (GL_APIENTRYP PFNGLGETPROGRAMINFOCHROMIUMPROC
) (
650 GLuint program
, GLsizei bufsize
, GLsizei
* size
, void* info
);
651 #endif /* GL_CHROMIUM_get_multiple */
653 /* GL_CHROMIUM_sync_point */
654 #ifndef GL_CHROMIUM_sync_point
655 #define GL_CHROMIUM_sync_point 1
656 #ifdef GL_GLEXT_PROTOTYPES
657 GL_APICALL GLuint GL_APIENTRY
glInsertSyncPointCHROMIUM();
658 GL_APICALL
void GL_APIENTRY
glWaitSyncPointCHROMIUM(GLuint sync_point
);
660 typedef GLuint (GL_APIENTRYP PFNGLINSERTSYNCPOINTCHROMIUMPROC
) ();
661 typedef void (GL_APIENTRYP PFNGLWAITSYNCPOINTCHROMIUMPROC
) (GLuint sync_point
);
662 #endif /* GL_CHROMIUM_sync_point */
664 #ifndef GL_CHROMIUM_color_buffer_float_rgba
665 #define GL_CHROMIUM_color_buffer_float_rgba 1
667 #define GL_RGBA32F 0x8814
669 #endif /* GL_CHROMIUM_color_buffer_float_rgba */
671 #ifndef GL_CHROMIUM_color_buffer_float_rgb
672 #define GL_CHROMIUM_color_buffer_float_rgb 1
674 #define GL_RGB32F 0x8815
676 #endif /* GL_CHROMIUM_color_buffer_float_rgb */
678 /* GL_CHROMIUM_schedule_overlay_plane */
679 #ifndef GL_CHROMIUM_schedule_overlay_plane
680 #define GL_CHROMIUM_schedule_overlay_plane 1
682 #ifndef GL_OVERLAY_TRANSFORM_NONE_CHROMIUM
683 #define GL_OVERLAY_TRANSFORM_NONE_CHROMIUM 0x9245
686 #ifndef GL_OVERLAY_TRANSFORM_FLIP_HORIZONTAL_CHROMIUM
687 #define GL_OVERLAY_TRANSFORM_FLIP_HORIZONTAL_CHROMIUM 0x9246
690 #ifndef GL_OVERLAY_TRANSFORM_FLIP_VERTICAL_CHROMIUM
691 #define GL_OVERLAY_TRANSFORM_FLIP_VERTICAL_CHROMIUM 0x9247
694 #ifndef GL_OVERLAY_TRANSFORM_ROTATE_90_CHROMIUM
695 #define GL_OVERLAY_TRANSFORM_ROTATE_90_CHROMIUM 0x9248
698 #ifndef GL_OVERLAY_TRANSFORM_ROTATE_180_CHROMIUM
699 #define GL_OVERLAY_TRANSFORM_ROTATE_180_CHROMIUM 0x9249
702 #ifndef GL_OVERLAY_TRANSFORM_ROTATE_270_CHROMIUM
703 #define GL_OVERLAY_TRANSFORM_ROTATE_270_CHROMIUM 0x924A
706 #ifdef GL_GLEXT_PROTOTYPES
707 GL_APICALL
void GL_APIENTRY
708 glScheduleOverlayPlaneCHROMIUM(GLint plane_z_order
,
709 GLenum plane_transform
,
710 GLuint overlay_texture_id
,
720 typedef void(GL_APIENTRYP PFNGLSCHEDULEOVERLAYPLANECHROMIUMPROC
)(
722 GLenum plane_transform
,
723 GLuint overlay_texture_id
,
732 #endif /* GL_CHROMIUM_schedule_overlay_plane */
734 /* GL_CHROMIUM_sync_query */
735 #ifndef GL_CHROMIUM_sync_query
736 #define GL_CHROMIUM_sync_query 1
738 #ifndef GL_COMMANDS_COMPLETED_CHROMIUM
739 #define GL_COMMANDS_COMPLETED_CHROMIUM 0x84F7
741 #endif /* GL_CHROMIUM_sync_query */
743 #ifndef GL_CHROMIUM_path_rendering
744 #define GL_CHROMIUM_path_rendering 1
746 #ifdef GL_GLEXT_PROTOTYPES
747 GL_APICALL
void GL_APIENTRY
748 glMatrixLoadfCHROMIUM(GLenum mode
, const GLfloat
* m
);
749 GL_APICALL
void GL_APIENTRY
glMatrixLoadIdentityCHROMIUM(GLenum mode
);
752 typedef void(GL_APIENTRYP PFNGLMATRIXLOADFCHROMIUMPROC
)(GLenum matrixMode
,
754 typedef void(GL_APIENTRYP PFNGLMATRIXLOADIDENTITYCHROMIUMPROC
)(
757 #endif /* GL_CHROMIUM_path_rendering */
763 #endif // GPU_GLES2_GL2EXTCHROMIUM_H_