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 typedef struct _ClientBuffer
* ClientBuffer
;
111 #ifdef GL_GLEXT_PROTOTYPES
112 GL_APICALL GLuint GL_APIENTRY
glCreateImageCHROMIUM(ClientBuffer buffer
,
115 GLenum internalformat
);
116 GL_APICALL
void GL_APIENTRY
glDestroyImageCHROMIUM(GLuint image_id
);
118 typedef GLuint(GL_APIENTRYP PFNGLCREATEIMAGECHROMIUMPROC
)(
122 GLenum internalformat
);
124 GL_APIENTRYP PFNGLDESTROYIMAGECHROMIUMPROC
)(GLuint image_id
);
125 #endif /* GL_CHROMIUM_image */
127 /* GL_CHROMIUM_gpu_memory_buffer_image */
128 #ifndef GL_CHROMIUM_gpu_memory_buffer_image
129 #define GL_CHROMIUM_gpu_memory_buffer_image 1
131 #ifndef GL_MAP_CHROMIUM
132 #define GL_MAP_CHROMIUM 0x78F1
135 #ifndef GL_SCANOUT_CHROMIUM
136 #define GL_SCANOUT_CHROMIUM 0x78F2
139 #ifndef GL_RGB_YUV_420_CHROMIUM
140 #define GL_RGB_YUV_420_CHROMIUM 0x78FA
143 #ifndef GL_RGB_YCBCR_422_CHROMIUM
144 #define GL_RGB_YCBCR_422_CHROMIUM 0x78FB
147 #ifdef GL_GLEXT_PROTOTYPES
148 GL_APICALL GLuint GL_APIENTRY
glCreateGpuMemoryBufferImageCHROMIUM(
151 GLenum internalformat
,
154 typedef GLuint(GL_APIENTRYP PFNGLCREATEGPUMEMORYBUFFERIMAGECHROMIUMPROC
)(
157 GLenum internalformat
,
159 #endif /* GL_CHROMIUM_gpu_memory_buffer_image */
161 /* GL_CHROMIUM_map_sub */
162 #ifndef GL_CHROMIUM_map_sub
163 #define GL_CHROMIUM_map_sub 1
166 #define GL_READ_ONLY 0x88B8
169 #ifndef GL_WRITE_ONLY
170 #define GL_WRITE_ONLY 0x88B9
172 #ifdef GL_GLEXT_PROTOTYPES
173 GL_APICALL
void* GL_APIENTRY
glMapBufferSubDataCHROMIUM(
174 GLuint target
, GLintptr offset
, GLsizeiptr size
, GLenum access
);
175 GL_APICALL
void GL_APIENTRY
glUnmapBufferSubDataCHROMIUM(const void* mem
);
176 GL_APICALL
void* GL_APIENTRY
glMapTexSubImage2DCHROMIUM(
177 GLenum target
, GLint level
, GLint xoffset
, GLint yoffset
, GLsizei width
,
178 GLsizei height
, GLenum format
, GLenum type
, GLenum access
);
179 GL_APICALL
void GL_APIENTRY
glUnmapTexSubImage2DCHROMIUM(const void* mem
);
181 typedef void* (GL_APIENTRYP PFNGLMAPBUFFERSUBDATACHROMIUMPROC
) (
182 GLuint target
, GLintptr offset
, GLsizeiptr size
, GLenum access
);
184 GL_APIENTRYP PFNGLUNMAPBUFFERSUBDATACHROMIUMPROC
) (const void* mem
);
185 typedef void* (GL_APIENTRYP PFNGLMAPTEXSUBIMAGE2DCHROMIUMPROC
) (
186 GLenum target
, GLint level
, GLint xoffset
, GLint yoffset
, GLsizei width
,
187 GLsizei height
, GLenum format
, GLenum type
, GLenum access
);
189 GL_APIENTRYP PFNGLUNMAPTEXSUBIMAGE2DCHROMIUMPROC
) (const void* mem
);
190 #endif /* GL_CHROMIUM_map_sub */
192 /* GL_CHROMIUM_request_extension */
193 #ifndef GL_CHROMIUM_request_extension
194 #define GL_CHROMIUM_request_extension 1
195 #ifdef GL_GLEXT_PROTOTYPES
196 GL_APICALL
const GLchar
* GL_APIENTRY
glGetRequestableExtensionsCHROMIUM();
197 GL_APICALL
void GL_APIENTRY
glRequestExtensionCHROMIUM(const char* extension
);
199 typedef const GLchar
* (GL_APIENTRYP PFNGLGETREQUESTABLEEXTENSIONSCHROMIUMPROC
) (
201 typedef void (GL_APIENTRYP PFNGLREQUESTEXTENSIONCHROMIUMPROC
) (
202 const char* extension
);
203 #endif /* GL_CHROMIUM_request_extension */
205 /* GL_CHROMIUM_get_error_query */
206 #ifndef GL_CHROMIUM_get_error_query
207 #define GL_CHROMIUM_get_error_query 1
209 #ifndef GL_GET_ERROR_QUERY_CHROMIUM
210 // TODO(gman): Get official numbers for this constants.
211 #define GL_GET_ERROR_QUERY_CHROMIUM 0x6003
213 #endif /* GL_CHROMIUM_get_error_query */
215 /* GL_CHROMIUM_texture_from_image */
216 #ifndef GL_CHROMIUM_texture_from_image
217 #define GL_CHROMIUM_texture_from_image 1
218 #ifdef GL_GLEXT_PROTOTYPES
219 GL_APICALL
void GL_APIENTRY
glBindTexImage2DCHROMIUM(
220 GLenum target
, GLint imageId
);
221 GL_APICALL
void GL_APIENTRY
glReleaseTexImage2DCHROMIUM(
222 GLenum target
, GLint imageId
);
224 typedef void (GL_APIENTRYP PFNGLBINDTEXIMAGE2DCHROMIUMPROC
) (
225 GLenum target
, GLint imageId
);
226 typedef void (GL_APIENTRYP PFNGLRELEASETEXIMAGE2DCHROMIUMPROC
) (
227 GLenum target
, GLint imageId
);
228 #endif /* GL_CHROMIUM_texture_from_image */
230 /* GL_CHROMIUM_rate_limit_offscreen_context */
231 #ifndef GL_CHROMIUM_rate_limit_offscreen_context
232 #define GL_CHROMIUM_rate_limit_offscreen_context 1
233 #ifdef GL_GLEXT_PROTOTYPES
234 GL_APICALL
void GL_APIENTRY
glRateLimitOffscreenContextCHROMIUM();
236 typedef void (GL_APIENTRYP PFNGLRATELIMITOFFSCREENCONTEXTCHROMIUMPROC
) ();
237 #endif /* GL_CHROMIUM_rate_limit_offscreen_context */
239 /* GL_CHROMIUM_post_sub_buffer */
240 #ifndef GL_CHROMIUM_post_sub_buffer
241 #define GL_CHROMIUM_post_sub_buffer 1
242 #ifdef GL_GLEXT_PROTOTYPES
243 GL_APICALL
void GL_APIENTRY
glPostSubBufferCHROMIUM(
244 GLint x
, GLint y
, GLint width
, GLint height
);
246 typedef void (GL_APIENTRYP PFNGLPOSTSUBBUFFERCHROMIUMPROC
) (
247 GLint x
, GLint y
, GLint width
, GLint height
);
248 #endif /* GL_CHROMIUM_post_sub_buffer */
250 /* GL_CHROMIUM_bind_uniform_location */
251 #ifndef GL_CHROMIUM_bind_uniform_location
252 #define GL_CHROMIUM_bind_uniform_location 1
253 #ifdef GL_GLEXT_PROTOTYPES
254 GL_APICALL
void GL_APIENTRY
glBindUniformLocationCHROMIUM(
255 GLuint program
, GLint location
, const char* name
);
257 typedef void (GL_APIENTRYP PFNGLBINDUNIFORMLOCATIONCHROMIUMPROC
) (
258 GLuint program
, GLint location
, const char* name
);
259 #endif /* GL_CHROMIUM_bind_uniform_location */
261 /* GL_CHROMIUM_command_buffer_query */
262 #ifndef GL_CHROMIUM_command_buffer_query
263 #define GL_CHROMIUM_command_buffer_query 1
265 #ifndef GL_COMMANDS_ISSUED_CHROMIUM
266 // TODO(gman): Get official numbers for this constants.
267 #define GL_COMMANDS_ISSUED_CHROMIUM 0x6004
269 #endif /* GL_CHROMIUM_command_buffer_query */
271 /* GL_CHROMIUM_framebuffer_multisample */
272 #ifndef GL_CHROMIUM_framebuffer_multisample
273 #define GL_CHROMIUM_framebuffer_multisample 1
275 #ifdef GL_GLEXT_PROTOTYPES
276 GL_APICALL
void GL_APIENTRY
glRenderbufferStorageMultisampleCHROMIUM (GLenum
, GLsizei
, GLenum
, GLsizei
, GLsizei
);
277 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
);
279 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLECHROMIUMPROC
) (GLenum target
, GLsizei samples
, GLenum internalformat
, GLsizei width
, GLsizei height
);
280 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
);
282 #ifndef GL_FRAMEBUFFER_BINDING_EXT
283 #define GL_FRAMEBUFFER_BINDING_EXT GL_FRAMEBUFFER_BINDING
286 #ifndef GL_DRAW_FRAMEBUFFER_BINDING_EXT
287 #define GL_DRAW_FRAMEBUFFER_BINDING_EXT GL_DRAW_FRAMEBUFFER_BINDING
290 #ifndef GL_RENDERBUFFER_BINDING_EXT
291 #define GL_RENDERBUFFER_BINDING_EXT GL_RENDERBUFFER_BINDING
294 #ifndef GL_RENDERBUFFER_SAMPLES
295 #define GL_RENDERBUFFER_SAMPLES 0x8CAB
298 #ifndef GL_READ_FRAMEBUFFER_EXT
299 #define GL_READ_FRAMEBUFFER_EXT GL_READ_FRAMEBUFFER
302 #ifndef GL_RENDERBUFFER_SAMPLES_EXT
303 #define GL_RENDERBUFFER_SAMPLES_EXT GL_RENDERBUFFER_SAMPLES
306 #ifndef GL_RENDERBUFFER_BINDING
307 #define GL_RENDERBUFFER_BINDING 0x8CA7
310 #ifndef GL_READ_FRAMEBUFFER_BINDING
311 #define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
314 #ifndef GL_MAX_SAMPLES
315 #define GL_MAX_SAMPLES 0x8D57
318 #ifndef GL_READ_FRAMEBUFFER_BINDING_EXT
319 #define GL_READ_FRAMEBUFFER_BINDING_EXT GL_READ_FRAMEBUFFER_BINDING
322 #ifndef GL_DRAW_FRAMEBUFFER_BINDING
323 #define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6
326 #ifndef GL_MAX_SAMPLES_EXT
327 #define GL_MAX_SAMPLES_EXT GL_MAX_SAMPLES
330 #ifndef GL_DRAW_FRAMEBUFFER
331 #define GL_DRAW_FRAMEBUFFER 0x8CA9
334 #ifndef GL_READ_FRAMEBUFFER
335 #define GL_READ_FRAMEBUFFER 0x8CA8
338 #ifndef GL_DRAW_FRAMEBUFFER_EXT
339 #define GL_DRAW_FRAMEBUFFER_EXT GL_DRAW_FRAMEBUFFER
342 #ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE
343 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
346 #ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT
347 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE // NOLINT
350 #ifndef GL_FRAMEBUFFER_BINDING
351 #define GL_FRAMEBUFFER_BINDING 0x8CA6
353 #endif /* GL_CHROMIUM_framebuffer_multisample */
355 /* GL_CHROMIUM_texture_compression_dxt3 */
356 #ifndef GL_CHROMIUM_texture_compression_dxt3
357 #define GL_CHROMIUM_texture_compression_dxt3 1
359 #ifndef GL_COMPRESSED_RGBA_S3TC_DXT3_EXT
360 #define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
362 #endif /* GL_CHROMIUM_texture_compression_dxt3 */
364 /* GL_CHROMIUM_texture_compression_dxt5 */
365 #ifndef GL_CHROMIUM_texture_compression_dxt5
366 #define GL_CHROMIUM_texture_compression_dxt5 1
368 #ifndef GL_COMPRESSED_RGBA_S3TC_DXT5_EXT
369 #define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
371 #endif /* GL_CHROMIUM_texture_compression_dxt5 */
373 /* GL_CHROMIUM_async_pixel_transfers */
374 #ifndef GL_CHROMIUM_async_pixel_transfers
375 #define GL_CHROMIUM_async_pixel_transfers 1
377 #ifndef GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM
378 #define GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM 0x6006
380 #endif /* GL_CHROMIUM_async_pixel_transfers */
382 #ifndef GL_BIND_GENERATES_RESOURCE_CHROMIUM
383 #define GL_BIND_GENERATES_RESOURCE_CHROMIUM 0x9244
386 /* GL_CHROMIUM_copy_texture */
387 #ifndef GL_CHROMIUM_copy_texture
388 #define GL_CHROMIUM_copy_texture 1
390 #ifndef GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM
391 #define GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM 0x9243
394 #ifdef GL_GLEXT_PROTOTYPES
395 GL_APICALL
void GL_APIENTRY
glCopyTextureCHROMIUM(
399 GLint internalformat
,
401 GLboolean unpack_flip_y
,
402 GLboolean unpack_premultiply_alpha
,
403 GLboolean unpack_unmultiply_alpha
);
405 GL_APICALL
void GL_APIENTRY
glCopySubTextureCHROMIUM(
415 GLboolean unpack_flip_y
,
416 GLboolean unpack_premultiply_alpha
,
417 GLboolean unpack_unmultiply_alpha
);
419 typedef void(GL_APIENTRYP PFNGLCOPYTEXTURECHROMIUMPROC
)(
423 GLint internalformat
,
425 GLboolean unpack_flip_y
,
426 GLboolean unpack_premultiply_alpha
,
427 GLboolean unpack_unmultiply_alpha
);
429 typedef void(GL_APIENTRYP PFNGLCOPYSUBTEXTURECHROMIUMPROC
)(
439 GLboolean unpack_flip_y
,
440 GLboolean unpack_premultiply_alpha
,
441 GLboolean unpack_unmultiply_alpha
);
442 #endif /* GL_CHROMIUM_copy_texture */
444 /* GL_CHROMIUM_compressed_copy_texture */
445 #ifndef GL_CHROMIUM_compressed_copy_texture
446 #define GL_CHROMIUM_compressed_copy_texture 1
447 #ifdef GL_GLEXT_PROTOTYPES
448 GL_APICALL
void GL_APIENTRY
glCompressedCopyTextureCHROMIUM(
449 GLenum target
, GLenum source_id
, GLenum dest_id
);
451 GL_APICALL
void GL_APIENTRY
glCompressedCopySubTextureCHROMIUM(
462 typedef void(GL_APIENTRYP PFNGLCOMPRESSEDCOPYTEXTURECHROMIUMPROC
)(
463 GLenum target
, GLenum source_id
, GLenum dest_id
);
465 typedef void(GL_APIENTRYP PFNGLCOMPRESSEDCOPYSUBTEXTURECHROMIUMPROC
)(
475 #endif /* GL_CHROMIUM_compressed_copy_texture */
477 /* GL_CHROMIUM_lose_context */
478 #ifndef GL_CHROMIUM_lose_context
479 #define GL_CHROMIUM_lose_context 1
480 #ifdef GL_GLEXT_PROTOTYPES
481 GL_APICALL
void GL_APIENTRY
glLoseContextCHROMIUM(GLenum current
, GLenum other
);
483 typedef void (GL_APIENTRYP PFNGLLOSECONTEXTCHROMIUMPROC
) (
484 GLenum current
, GLenum other
);
485 #endif /* GL_CHROMIUM_lose_context */
487 /* GL_ARB_texture_rectangle */
488 #ifndef GL_ARB_texture_rectangle
489 #define GL_ARB_texture_rectangle 1
491 #ifndef GL_SAMPLER_2D_RECT_ARB
492 #define GL_SAMPLER_2D_RECT_ARB 0x8B63
495 #ifndef GL_TEXTURE_BINDING_RECTANGLE_ARB
496 #define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6
499 #ifndef GL_TEXTURE_RECTANGLE_ARB
500 #define GL_TEXTURE_RECTANGLE_ARB 0x84F5
502 #endif /* GL_ARB_texture_rectangle */
504 /* GL_CHROMIUM_enable_feature */
505 #ifndef GL_CHROMIUM_enable_feature
506 #define GL_CHROMIUM_enable_feature 1
507 #ifdef GL_GLEXT_PROTOTYPES
508 GL_APICALL GLboolean GL_APIENTRY
glEnableFeatureCHROMIUM(const char* feature
);
510 typedef GLboolean (GL_APIENTRYP PFNGLENABLEFEATURECHROMIUMPROC
) (
511 const char* feature
);
512 #endif /* GL_CHROMIUM_enable_feature */
514 /* GL_CHROMIUM_command_buffer_latency_query */
515 #ifndef GL_CHROMIUM_command_buffer_latency_query
516 #define GL_CHROMIUM_command_buffer_latency_query 1
518 #ifndef GL_LATENCY_QUERY_CHROMIUM
519 // TODO(gman): Get official numbers for these constants.
520 #define GL_LATENCY_QUERY_CHROMIUM 0x6007
522 #endif /* GL_CHROMIUM_command_buffer_latency_query */
524 /* GL_CHROMIUM_screen_space_antialiasing */
525 #ifndef GL_CHROMIUM_screen_space_antialiasing
526 #define GL_CHROMIUM_screen_space_antialiasing 1
527 #ifdef GL_GLEXT_PROTOTYPES
528 GL_APICALL
void GL_APIENTRY
glApplyScreenSpaceAntialiasingCHROMIUM();
530 typedef void(GL_APIENTRYP PFNGLAPPLYSCREENSPACEANTIALIASINGCHROMIUMPROC
)();
531 #endif /* GL_CHROMIUM_screen_space_antialiasing */
533 /* GL_ARB_robustness */
534 #ifndef GL_ARB_robustness
535 #define GL_ARB_robustness 1
537 #ifndef GL_GUILTY_CONTEXT_RESET_ARB
538 #define GL_GUILTY_CONTEXT_RESET_ARB 0x8253
541 #ifndef GL_UNKNOWN_CONTEXT_RESET_ARB
542 #define GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255
545 #ifndef GL_INNOCENT_CONTEXT_RESET_ARB
546 #define GL_INNOCENT_CONTEXT_RESET_ARB 0x8254
548 #endif /* GL_ARB_robustness */
550 /* GL_EXT_framebuffer_blit */
551 #ifndef GL_EXT_framebuffer_blit
552 #define GL_EXT_framebuffer_blit 1
553 #ifdef GL_GLEXT_PROTOTYPES
554 GL_APICALL
void GL_APIENTRY
glBlitFramebufferEXT(
555 GLint srcX0
, GLint srcY0
, GLint srcX1
, GLint srcY1
, GLint dstX0
,
556 GLint dstY0
, GLint dstX1
, GLint dstY1
, GLbitfield mask
, GLenum filter
);
558 typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFEREXTPROC
) (
559 GLint srcX0
, GLint srcY0
, GLint srcX1
, GLint srcY1
, GLint dstX0
,
560 GLint dstY0
, GLint dstX1
, GLint dstY1
, GLbitfield mask
, GLenum filter
);
561 #endif /* GL_EXT_framebuffer_blit */
563 /* GL_EXT_draw_buffers */
564 #ifndef GL_EXT_draw_buffers
565 #define GL_EXT_draw_buffers 1
567 #ifdef GL_GLEXT_PROTOTYPES
568 GL_APICALL
void GL_APIENTRY
glDrawBuffersEXT(
569 GLsizei n
, const GLenum
* bufs
);
571 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC
) (
572 GLsizei n
, const GLenum
* bufs
);
574 #ifndef GL_COLOR_ATTACHMENT0_EXT
575 #define GL_COLOR_ATTACHMENT0_EXT 0x8CE0
577 #ifndef GL_COLOR_ATTACHMENT1_EXT
578 #define GL_COLOR_ATTACHMENT1_EXT 0x8CE1
580 #ifndef GL_COLOR_ATTACHMENT2_EXT
581 #define GL_COLOR_ATTACHMENT2_EXT 0x8CE2
583 #ifndef GL_COLOR_ATTACHMENT3_EXT
584 #define GL_COLOR_ATTACHMENT3_EXT 0x8CE3
586 #ifndef GL_COLOR_ATTACHMENT4_EXT
587 #define GL_COLOR_ATTACHMENT4_EXT 0x8CE4
589 #ifndef GL_COLOR_ATTACHMENT5_EXT
590 #define GL_COLOR_ATTACHMENT5_EXT 0x8CE5
592 #ifndef GL_COLOR_ATTACHMENT6_EXT
593 #define GL_COLOR_ATTACHMENT6_EXT 0x8CE6
595 #ifndef GL_COLOR_ATTACHMENT7_EXT
596 #define GL_COLOR_ATTACHMENT7_EXT 0x8CE7
598 #ifndef GL_COLOR_ATTACHMENT8_EXT
599 #define GL_COLOR_ATTACHMENT8_EXT 0x8CE8
601 #ifndef GL_COLOR_ATTACHMENT9_EXT
602 #define GL_COLOR_ATTACHMENT9_EXT 0x8CE9
604 #ifndef GL_COLOR_ATTACHMENT10_EXT
605 #define GL_COLOR_ATTACHMENT10_EXT 0x8CEA
607 #ifndef GL_COLOR_ATTACHMENT11_EXT
608 #define GL_COLOR_ATTACHMENT11_EXT 0x8CEB
610 #ifndef GL_COLOR_ATTACHMENT12_EXT
611 #define GL_COLOR_ATTACHMENT12_EXT 0x8CEC
613 #ifndef GL_COLOR_ATTACHMENT13_EXT
614 #define GL_COLOR_ATTACHMENT13_EXT 0x8CED
616 #ifndef GL_COLOR_ATTACHMENT14_EXT
617 #define GL_COLOR_ATTACHMENT14_EXT 0x8CEE
619 #ifndef GL_COLOR_ATTACHMENT15_EXT
620 #define GL_COLOR_ATTACHMENT15_EXT 0x8CEF
623 #ifndef GL_DRAW_BUFFER0_EXT
624 #define GL_DRAW_BUFFER0_EXT 0x8825
626 #ifndef GL_DRAW_BUFFER1_EXT
627 #define GL_DRAW_BUFFER1_EXT 0x8826
629 #ifndef GL_DRAW_BUFFER2_EXT
630 #define GL_DRAW_BUFFER2_EXT 0x8827
632 #ifndef GL_DRAW_BUFFER3_EXT
633 #define GL_DRAW_BUFFER3_EXT 0x8828
635 #ifndef GL_DRAW_BUFFER4_EXT
636 #define GL_DRAW_BUFFER4_EXT 0x8829
638 #ifndef GL_DRAW_BUFFER5_EXT
639 #define GL_DRAW_BUFFER5_EXT 0x882A
641 #ifndef GL_DRAW_BUFFER6_EXT
642 #define GL_DRAW_BUFFER6_EXT 0x882B
644 #ifndef GL_DRAW_BUFFER7_EXT
645 #define GL_DRAW_BUFFER7_EXT 0x882C
647 #ifndef GL_DRAW_BUFFER8_EXT
648 #define GL_DRAW_BUFFER8_EXT 0x882D
650 #ifndef GL_DRAW_BUFFER9_EXT
651 #define GL_DRAW_BUFFER9_EXT 0x882E
653 #ifndef GL_DRAW_BUFFER10_EXT
654 #define GL_DRAW_BUFFER10_EXT 0x882F
656 #ifndef GL_DRAW_BUFFER11_EXT
657 #define GL_DRAW_BUFFER11_EXT 0x8830
659 #ifndef GL_DRAW_BUFFER12_EXT
660 #define GL_DRAW_BUFFER12_EXT 0x8831
662 #ifndef GL_DRAW_BUFFER13_EXT
663 #define GL_DRAW_BUFFER13_EXT 0x8832
665 #ifndef GL_DRAW_BUFFER14_EXT
666 #define GL_DRAW_BUFFER14_EXT 0x8833
668 #ifndef GL_DRAW_BUFFER15_EXT
669 #define GL_DRAW_BUFFER15_EXT 0x8834
672 #ifndef GL_MAX_COLOR_ATTACHMENTS_EXT
673 #define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF
676 #ifndef GL_MAX_DRAW_BUFFERS_EXT
677 #define GL_MAX_DRAW_BUFFERS_EXT 0x8824
680 #endif /* GL_EXT_draw_buffers */
682 /* GL_CHROMIUM_resize */
683 #ifndef GL_CHROMIUM_resize
684 #define GL_CHROMIUM_resize 1
685 #ifdef GL_GLEXT_PROTOTYPES
686 GL_APICALL
void GL_APIENTRY
glResizeCHROMIUM(
687 GLuint width
, GLuint height
, GLfloat scale_factor
);
689 typedef void (GL_APIENTRYP PFNGLRESIZECHROMIUMPROC
) (
690 GLuint width
, GLuint height
);
691 #endif /* GL_CHROMIUM_resize */
693 /* GL_CHROMIUM_get_multiple */
694 #ifndef GL_CHROMIUM_get_multiple
695 #define GL_CHROMIUM_get_multiple 1
696 #ifdef GL_GLEXT_PROTOTYPES
697 GL_APICALL
void GL_APIENTRY
glGetProgramInfoCHROMIUM(
698 GLuint program
, GLsizei bufsize
, GLsizei
* size
, void* info
);
700 typedef void (GL_APIENTRYP PFNGLGETPROGRAMINFOCHROMIUMPROC
) (
701 GLuint program
, GLsizei bufsize
, GLsizei
* size
, void* info
);
702 #endif /* GL_CHROMIUM_get_multiple */
704 /* GL_CHROMIUM_sync_point */
705 #ifndef GL_CHROMIUM_sync_point
706 #define GL_CHROMIUM_sync_point 1
707 #ifdef GL_GLEXT_PROTOTYPES
708 GL_APICALL GLuint GL_APIENTRY
glInsertSyncPointCHROMIUM();
709 GL_APICALL
void GL_APIENTRY
glWaitSyncPointCHROMIUM(GLuint sync_point
);
711 typedef GLuint (GL_APIENTRYP PFNGLINSERTSYNCPOINTCHROMIUMPROC
) ();
712 typedef void (GL_APIENTRYP PFNGLWAITSYNCPOINTCHROMIUMPROC
) (GLuint sync_point
);
713 #endif /* GL_CHROMIUM_sync_point */
715 #ifndef GL_CHROMIUM_color_buffer_float_rgba
716 #define GL_CHROMIUM_color_buffer_float_rgba 1
718 #define GL_RGBA32F 0x8814
720 #endif /* GL_CHROMIUM_color_buffer_float_rgba */
722 #ifndef GL_CHROMIUM_color_buffer_float_rgb
723 #define GL_CHROMIUM_color_buffer_float_rgb 1
725 #define GL_RGB32F 0x8815
727 #endif /* GL_CHROMIUM_color_buffer_float_rgb */
729 /* GL_CHROMIUM_schedule_overlay_plane */
730 #ifndef GL_CHROMIUM_schedule_overlay_plane
731 #define GL_CHROMIUM_schedule_overlay_plane 1
733 #ifndef GL_OVERLAY_TRANSFORM_NONE_CHROMIUM
734 #define GL_OVERLAY_TRANSFORM_NONE_CHROMIUM 0x9245
737 #ifndef GL_OVERLAY_TRANSFORM_FLIP_HORIZONTAL_CHROMIUM
738 #define GL_OVERLAY_TRANSFORM_FLIP_HORIZONTAL_CHROMIUM 0x9246
741 #ifndef GL_OVERLAY_TRANSFORM_FLIP_VERTICAL_CHROMIUM
742 #define GL_OVERLAY_TRANSFORM_FLIP_VERTICAL_CHROMIUM 0x9247
745 #ifndef GL_OVERLAY_TRANSFORM_ROTATE_90_CHROMIUM
746 #define GL_OVERLAY_TRANSFORM_ROTATE_90_CHROMIUM 0x9248
749 #ifndef GL_OVERLAY_TRANSFORM_ROTATE_180_CHROMIUM
750 #define GL_OVERLAY_TRANSFORM_ROTATE_180_CHROMIUM 0x9249
753 #ifndef GL_OVERLAY_TRANSFORM_ROTATE_270_CHROMIUM
754 #define GL_OVERLAY_TRANSFORM_ROTATE_270_CHROMIUM 0x924A
757 /* GL_CHROMIUM_subscribe_uniform */
758 #ifndef GL_CHROMIUM_subscribe_uniform
759 #define GL_CHROMIUM_subscribe_uniform 1
761 #ifndef GL_SUBSCRIBED_VALUES_BUFFER_CHROMIUM
762 #define GL_SUBSCRIBED_VALUES_BUFFER_CHROMIUM 0x924B
765 #ifndef GL_MOUSE_POSITION_CHROMIUM
766 #define GL_MOUSE_POSITION_CHROMIUM 0x924C
769 #ifdef GL_GLEXT_PROTOTYPES
770 GL_APICALL
void GL_APIENTRY
771 glGenValuebuffersCHROMIUM(GLsizei n
, GLuint
* buffers
);
772 GL_APICALL
void GL_APIENTRY
773 glDeleteValuebuffersCHROMIUM(GLsizei n
, const GLuint
* valuebuffers
);
774 GL_APICALL GLboolean GL_APIENTRY
glIsValuebufferCHROMIUM(GLuint valuebuffer
);
775 GL_APICALL
void GL_APIENTRY
776 glBindValuebufferCHROMIUM(GLenum target
, GLuint valuebuffer
);
777 GL_APICALL
void GL_APIENTRY
778 glSubscribeValueCHROMIUM(GLenum target
, GLenum subscription
);
779 GL_APICALL
void GL_APIENTRY
glPopulateSubscribedValuesCHROMIUM(GLenum target
);
780 GL_APICALL
void GL_APIENTRY
glUniformValuebufferCHROMIUM(GLint location
,
782 GLenum subscription
);
784 #endif /* GL_CHROMIUM_subscribe_uniform */
786 #ifdef GL_GLEXT_PROTOTYPES
787 GL_APICALL
void GL_APIENTRY
788 glScheduleOverlayPlaneCHROMIUM(GLint plane_z_order
,
789 GLenum plane_transform
,
790 GLuint overlay_texture_id
,
800 typedef void(GL_APIENTRYP PFNGLSCHEDULEOVERLAYPLANECHROMIUMPROC
)(
802 GLenum plane_transform
,
803 GLuint overlay_texture_id
,
812 #endif /* GL_CHROMIUM_schedule_overlay_plane */
814 /* GL_CHROMIUM_sync_query */
815 #ifndef GL_CHROMIUM_sync_query
816 #define GL_CHROMIUM_sync_query 1
818 #ifndef GL_COMMANDS_COMPLETED_CHROMIUM
819 #define GL_COMMANDS_COMPLETED_CHROMIUM 0x84F7
821 #endif /* GL_CHROMIUM_sync_query */
823 #ifndef GL_CHROMIUM_path_rendering
824 #define GL_CHROMIUM_path_rendering 1
826 #ifdef GL_GLEXT_PROTOTYPES
827 GL_APICALL
void GL_APIENTRY
828 glMatrixLoadfCHROMIUM(GLenum mode
, const GLfloat
* m
);
829 GL_APICALL
void GL_APIENTRY
glMatrixLoadIdentityCHROMIUM(GLenum mode
);
830 GL_APICALL GLuint GL_APIENTRY
glGenPathsCHROMIUM(GLsizei range
);
831 GL_APICALL
void GL_APIENTRY
glDeletePathsCHROMIUM(GLuint path
, GLsizei range
);
832 GL_APICALL GLboolean GL_APIENTRY
glIsPathCHROMIUM(GLuint path
);
833 GL_APICALL
void GL_APIENTRY
glPathCommandsCHROMIUM(GLuint path
,
835 const GLubyte
* commands
,
839 GL_APICALL
void GL_APIENTRY
840 glPathParameteriCHROMIUM(GLuint path
, GLenum pname
, GLint value
);
841 GL_APICALL
void GL_APIENTRY
842 glPathParameterfCHROMIUM(GLuint path
, GLenum pname
, GLfloat value
);
843 GL_APICALL
void GL_APIENTRY
844 glPathStencilFuncCHROMIUM(GLenum func
, GLint ref
, GLuint mask
);
845 GL_APICALL
void GL_APIENTRY
846 glStencilFillPathCHROMIUM(GLuint path
, GLenum fillMode
, GLuint mask
);
847 GL_APICALL
void GL_APIENTRY
848 glStencilStrokePathCHROMIUM(GLuint path
, GLint reference
, GLuint mask
);
849 GL_APICALL
void GL_APIENTRY
850 glCoverFillPathCHROMIUM(GLuint path
, GLenum coverMode
);
851 GL_APICALL
void GL_APIENTRY
852 glCoverStrokePathCHROMIUM(GLuint name
, GLenum coverMode
);
853 GL_APICALL
void GL_APIENTRY
854 glStencilThenCoverFillPathCHROMIUM(GLuint path
,
858 GL_APICALL
void GL_APIENTRY
859 glStencilThenCoverStrokePathCHROMIUM(GLuint path
,
866 typedef void(GL_APIENTRYP PFNGLMATRIXLOADFCHROMIUMPROC
)(GLenum matrixMode
,
868 typedef void(GL_APIENTRYP PFNGLMATRIXLOADIDENTITYCHROMIUMPROC
)(
870 typedef GLuint(GL_APIENTRYP
* PFNGLGENPATHSCHROMIUMPROC
)(GLsizei range
);
871 typedef void(GL_APIENTRYP
* PFNGLDELETEPATHSCHROMIUMPROC
)(GLuint path
,
873 typedef GLboolean(GL_APIENTRYP
* PFNGLISPATHCHROMIUMPROC
)(GLuint path
);
874 typedef void(GL_APIENTRYP
* PFNGLPATHCOMMANDSCHROMIUMPROC
)(
877 const GLubyte
* commands
,
880 const GLvoid
* coords
);
881 typedef void(GL_APIENTRYP
* PFNGLPATHPARAMETERICHROMIUMPROC
)(GLuint path
,
884 typedef void(GL_APIENTRYP
* PFNGLPATHPARAMETERFCHROMIUMPROC
)(GLuint path
,
887 typedef void(GL_APIENTRYP
* PFNGLPATHSTENCILFUNCCHROMIUMPROC
)(GLenum func
,
890 typedef void(GL_APIENTRYP
* PFNGLSTENCILFILLPATHCHROMIUMPROC
)(GLuint path
,
893 typedef void(GL_APIENTRYP
* PFNGLSTENCILSTROKEPATHCHROMIUMPROC
)(GLuint path
,
896 typedef void(GL_APIENTRYP
* PFNGLCOVERFILLPATHCHROMIUMPROC
)(GLuint path
,
898 typedef void(GL_APIENTRYP
* PFNGLCOVERSTROKEPATHCHROMIUMPROC
)(GLuint name
,
901 typedef void(GL_APIENTRYP
* PFNGLSTENCILTHENCOVERFILLPATHCHROMIUMPROC
)(
906 typedef void(GL_APIENTRYP
* PFNGLSTENCILTHENCOVERSTROKEPATHCHROMIUMPROC
)(
912 #ifndef GL_CLOSE_PATH_CHROMIUM
913 #define GL_CLOSE_PATH_CHROMIUM 0x00
915 #ifndef GL_MOVE_TO_CHROMIUM
916 #define GL_MOVE_TO_CHROMIUM 0x02
918 #ifndef GL_LINE_TO_CHROMIUM
919 #define GL_LINE_TO_CHROMIUM 0x04
921 #ifndef GL_QUADRATIC_CURVE_TO_CHROMIUM
922 #define GL_QUADRATIC_CURVE_TO_CHROMIUM 0x0A
924 #ifndef GL_CUBIC_CURVE_TO_CHROMIUM
925 #define GL_CUBIC_CURVE_TO_CHROMIUM 0x0C
927 #ifndef GL_CONIC_CURVE_TO_CHROMIUM
928 #define GL_CONIC_CURVE_TO_CHROMIUM 0x1A
930 #ifndef GL_PATH_MODELVIEW_MATRIX_CHROMIUM
931 #define GL_PATH_MODELVIEW_MATRIX_CHROMIUM 0x0BA6
933 #ifndef GL_PATH_PROJECTION_MATRIX_CHROMIUM
934 #define GL_PATH_PROJECTION_MATRIX_CHROMIUM 0x0BA7
936 #ifndef GL_PATH_MODELVIEW_CHROMIUM
937 #define GL_PATH_MODELVIEW_CHROMIUM 0x1700
939 #ifndef GL_PATH_PROJECTION_CHROMIUM
940 #define GL_PATH_PROJECTION_CHROMIUM 0x1701
942 #ifndef GL_FLAT_CHROMIUM
943 #define GL_FLAT_CHROMIUM 0x1D00
945 #ifndef GL_PATH_STROKE_WIDTH_CHROMIUM
946 #define GL_PATH_STROKE_WIDTH_CHROMIUM 0x9075
948 #ifndef GL_PATH_END_CAPS_CHROMIUM
949 #define GL_PATH_END_CAPS_CHROMIUM 0x9076
951 #ifndef GL_PATH_JOIN_STYLE_CHROMIUM
952 #define GL_PATH_JOIN_STYLE_CHROMIUM 0x9079
954 #ifndef GL_PATH_MITER_LIMIT_CHROMIUM
955 #define GL_PATH_MITER_LIMIT_CHROMIUM 0x907a
957 #ifndef GL_PATH_STROKE_BOUND_CHROMIUM
958 #define GL_PATH_STROKE_BOUND_CHROMIUM 0x9086
960 #ifndef GL_COUNT_UP_CHROMIUM
961 #define GL_COUNT_UP_CHROMIUM 0x9088
963 #ifndef GL_COUNT_DOWN_CHROMIUM
964 #define GL_COUNT_DOWN_CHROMIUM 0x9089
966 #ifndef GL_CONVEX_HULL_CHROMIUM
967 #define GL_CONVEX_HULL_CHROMIUM 0x908B
969 #ifndef GL_BOUNDING_BOX_CHROMIUM
970 #define GL_BOUNDING_BOX_CHROMIUM 0x908D
972 #ifndef GL_SQUARE_CHROMIUM
973 #define GL_SQUARE_CHROMIUM 0x90a3
975 #ifndef GL_ROUND_CHROMIUM
976 #define GL_ROUND_CHROMIUM 0x90a4
978 #ifndef GL_ROUND_CHROMIUM
979 #define GL_ROUND_CHROMIUM 0x90A4
981 #ifndef GL_BEVEL_CHROMIUM
982 #define GL_BEVEL_CHROMIUM 0x90A6
984 #ifndef GL_MITER_REVERT_CHROMIUM
985 #define GL_MITER_REVERT_CHROMIUM 0x90A7
987 #ifndef GL_PATH_STENCIL_FUNC_CHROMIUM
988 #define GL_PATH_STENCIL_FUNC_CHROMIUM 0x90B7
990 #ifndef GL_PATH_STENCIL_REF_CHROMIUM
991 #define GL_PATH_STENCIL_REF_CHROMIUM 0x90B8
993 #ifndef GL_PATH_STENCIL_VALUE_MASK_CHROMIUM
994 #define GL_PATH_STENCIL_VALUE_MASK_CHROMIUM 0x90B9
997 #endif /* GL_CHROMIUM_path_rendering */
1003 #endif // GPU_GLES2_GL2EXTCHROMIUM_H_