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 #ifdef GL_GLEXT_PROTOTYPES
144 GL_APICALL GLuint GL_APIENTRY
glCreateGpuMemoryBufferImageCHROMIUM(
147 GLenum internalformat
,
150 typedef GLuint(GL_APIENTRYP PFNGLCREATEGPUMEMORYBUFFERIMAGECHROMIUMPROC
)(
153 GLenum internalformat
,
155 #endif /* GL_CHROMIUM_gpu_memory_buffer_image */
157 /* GL_CHROMIUM_map_sub */
158 #ifndef GL_CHROMIUM_map_sub
159 #define GL_CHROMIUM_map_sub 1
162 #define GL_READ_ONLY 0x88B8
165 #ifndef GL_WRITE_ONLY
166 #define GL_WRITE_ONLY 0x88B9
168 #ifdef GL_GLEXT_PROTOTYPES
169 GL_APICALL
void* GL_APIENTRY
glMapBufferSubDataCHROMIUM(
170 GLuint target
, GLintptr offset
, GLsizeiptr size
, GLenum access
);
171 GL_APICALL
void GL_APIENTRY
glUnmapBufferSubDataCHROMIUM(const void* mem
);
172 GL_APICALL
void* GL_APIENTRY
glMapTexSubImage2DCHROMIUM(
173 GLenum target
, GLint level
, GLint xoffset
, GLint yoffset
, GLsizei width
,
174 GLsizei height
, GLenum format
, GLenum type
, GLenum access
);
175 GL_APICALL
void GL_APIENTRY
glUnmapTexSubImage2DCHROMIUM(const void* mem
);
177 typedef void* (GL_APIENTRYP PFNGLMAPBUFFERSUBDATACHROMIUMPROC
) (
178 GLuint target
, GLintptr offset
, GLsizeiptr size
, GLenum access
);
180 GL_APIENTRYP PFNGLUNMAPBUFFERSUBDATACHROMIUMPROC
) (const void* mem
);
181 typedef void* (GL_APIENTRYP PFNGLMAPTEXSUBIMAGE2DCHROMIUMPROC
) (
182 GLenum target
, GLint level
, GLint xoffset
, GLint yoffset
, GLsizei width
,
183 GLsizei height
, GLenum format
, GLenum type
, GLenum access
);
185 GL_APIENTRYP PFNGLUNMAPTEXSUBIMAGE2DCHROMIUMPROC
) (const void* mem
);
186 #endif /* GL_CHROMIUM_map_sub */
188 /* GL_CHROMIUM_request_extension */
189 #ifndef GL_CHROMIUM_request_extension
190 #define GL_CHROMIUM_request_extension 1
191 #ifdef GL_GLEXT_PROTOTYPES
192 GL_APICALL
const GLchar
* GL_APIENTRY
glGetRequestableExtensionsCHROMIUM();
193 GL_APICALL
void GL_APIENTRY
glRequestExtensionCHROMIUM(const char* extension
);
195 typedef const GLchar
* (GL_APIENTRYP PFNGLGETREQUESTABLEEXTENSIONSCHROMIUMPROC
) (
197 typedef void (GL_APIENTRYP PFNGLREQUESTEXTENSIONCHROMIUMPROC
) (
198 const char* extension
);
199 #endif /* GL_CHROMIUM_request_extension */
201 /* GL_CHROMIUM_get_error_query */
202 #ifndef GL_CHROMIUM_get_error_query
203 #define GL_CHROMIUM_get_error_query 1
205 #ifndef GL_GET_ERROR_QUERY_CHROMIUM
206 // TODO(gman): Get official numbers for this constants.
207 #define GL_GET_ERROR_QUERY_CHROMIUM 0x6003
209 #endif /* GL_CHROMIUM_get_error_query */
211 /* GL_CHROMIUM_texture_from_image */
212 #ifndef GL_CHROMIUM_texture_from_image
213 #define GL_CHROMIUM_texture_from_image 1
214 #ifdef GL_GLEXT_PROTOTYPES
215 GL_APICALL
void GL_APIENTRY
glBindTexImage2DCHROMIUM(
216 GLenum target
, GLint imageId
);
217 GL_APICALL
void GL_APIENTRY
glReleaseTexImage2DCHROMIUM(
218 GLenum target
, GLint imageId
);
220 typedef void (GL_APIENTRYP PFNGLBINDTEXIMAGE2DCHROMIUMPROC
) (
221 GLenum target
, GLint imageId
);
222 typedef void (GL_APIENTRYP PFNGLRELEASETEXIMAGE2DCHROMIUMPROC
) (
223 GLenum target
, GLint imageId
);
224 #endif /* GL_CHROMIUM_texture_from_image */
226 /* GL_CHROMIUM_rate_limit_offscreen_context */
227 #ifndef GL_CHROMIUM_rate_limit_offscreen_context
228 #define GL_CHROMIUM_rate_limit_offscreen_context 1
229 #ifdef GL_GLEXT_PROTOTYPES
230 GL_APICALL
void GL_APIENTRY
glRateLimitOffscreenContextCHROMIUM();
232 typedef void (GL_APIENTRYP PFNGLRATELIMITOFFSCREENCONTEXTCHROMIUMPROC
) ();
233 #endif /* GL_CHROMIUM_rate_limit_offscreen_context */
235 /* GL_CHROMIUM_post_sub_buffer */
236 #ifndef GL_CHROMIUM_post_sub_buffer
237 #define GL_CHROMIUM_post_sub_buffer 1
238 #ifdef GL_GLEXT_PROTOTYPES
239 GL_APICALL
void GL_APIENTRY
glPostSubBufferCHROMIUM(
240 GLint x
, GLint y
, GLint width
, GLint height
);
242 typedef void (GL_APIENTRYP PFNGLPOSTSUBBUFFERCHROMIUMPROC
) (
243 GLint x
, GLint y
, GLint width
, GLint height
);
244 #endif /* GL_CHROMIUM_post_sub_buffer */
246 /* GL_CHROMIUM_bind_uniform_location */
247 #ifndef GL_CHROMIUM_bind_uniform_location
248 #define GL_CHROMIUM_bind_uniform_location 1
249 #ifdef GL_GLEXT_PROTOTYPES
250 GL_APICALL
void GL_APIENTRY
glBindUniformLocationCHROMIUM(
251 GLuint program
, GLint location
, const char* name
);
253 typedef void (GL_APIENTRYP PFNGLBINDUNIFORMLOCATIONCHROMIUMPROC
) (
254 GLuint program
, GLint location
, const char* name
);
255 #endif /* GL_CHROMIUM_bind_uniform_location */
257 /* GL_CHROMIUM_command_buffer_query */
258 #ifndef GL_CHROMIUM_command_buffer_query
259 #define GL_CHROMIUM_command_buffer_query 1
261 #ifndef GL_COMMANDS_ISSUED_CHROMIUM
262 // TODO(gman): Get official numbers for this constants.
263 #define GL_COMMANDS_ISSUED_CHROMIUM 0x6004
265 #endif /* GL_CHROMIUM_command_buffer_query */
267 /* GL_CHROMIUM_framebuffer_multisample */
268 #ifndef GL_CHROMIUM_framebuffer_multisample
269 #define GL_CHROMIUM_framebuffer_multisample 1
271 #ifdef GL_GLEXT_PROTOTYPES
272 GL_APICALL
void GL_APIENTRY
glRenderbufferStorageMultisampleCHROMIUM (GLenum
, GLsizei
, GLenum
, GLsizei
, GLsizei
);
273 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
);
275 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLECHROMIUMPROC
) (GLenum target
, GLsizei samples
, GLenum internalformat
, GLsizei width
, GLsizei height
);
276 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
);
278 #ifndef GL_FRAMEBUFFER_BINDING_EXT
279 #define GL_FRAMEBUFFER_BINDING_EXT GL_FRAMEBUFFER_BINDING
282 #ifndef GL_DRAW_FRAMEBUFFER_BINDING_EXT
283 #define GL_DRAW_FRAMEBUFFER_BINDING_EXT GL_DRAW_FRAMEBUFFER_BINDING
286 #ifndef GL_RENDERBUFFER_BINDING_EXT
287 #define GL_RENDERBUFFER_BINDING_EXT GL_RENDERBUFFER_BINDING
290 #ifndef GL_RENDERBUFFER_SAMPLES
291 #define GL_RENDERBUFFER_SAMPLES 0x8CAB
294 #ifndef GL_READ_FRAMEBUFFER_EXT
295 #define GL_READ_FRAMEBUFFER_EXT GL_READ_FRAMEBUFFER
298 #ifndef GL_RENDERBUFFER_SAMPLES_EXT
299 #define GL_RENDERBUFFER_SAMPLES_EXT GL_RENDERBUFFER_SAMPLES
302 #ifndef GL_RENDERBUFFER_BINDING
303 #define GL_RENDERBUFFER_BINDING 0x8CA7
306 #ifndef GL_READ_FRAMEBUFFER_BINDING
307 #define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
310 #ifndef GL_MAX_SAMPLES
311 #define GL_MAX_SAMPLES 0x8D57
314 #ifndef GL_READ_FRAMEBUFFER_BINDING_EXT
315 #define GL_READ_FRAMEBUFFER_BINDING_EXT GL_READ_FRAMEBUFFER_BINDING
318 #ifndef GL_DRAW_FRAMEBUFFER_BINDING
319 #define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6
322 #ifndef GL_MAX_SAMPLES_EXT
323 #define GL_MAX_SAMPLES_EXT GL_MAX_SAMPLES
326 #ifndef GL_DRAW_FRAMEBUFFER
327 #define GL_DRAW_FRAMEBUFFER 0x8CA9
330 #ifndef GL_READ_FRAMEBUFFER
331 #define GL_READ_FRAMEBUFFER 0x8CA8
334 #ifndef GL_DRAW_FRAMEBUFFER_EXT
335 #define GL_DRAW_FRAMEBUFFER_EXT GL_DRAW_FRAMEBUFFER
338 #ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE
339 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
342 #ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT
343 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE // NOLINT
346 #ifndef GL_FRAMEBUFFER_BINDING
347 #define GL_FRAMEBUFFER_BINDING 0x8CA6
349 #endif /* GL_CHROMIUM_framebuffer_multisample */
351 /* GL_CHROMIUM_texture_compression_dxt3 */
352 #ifndef GL_CHROMIUM_texture_compression_dxt3
353 #define GL_CHROMIUM_texture_compression_dxt3 1
355 #ifndef GL_COMPRESSED_RGBA_S3TC_DXT3_EXT
356 #define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
358 #endif /* GL_CHROMIUM_texture_compression_dxt3 */
360 /* GL_CHROMIUM_texture_compression_dxt5 */
361 #ifndef GL_CHROMIUM_texture_compression_dxt5
362 #define GL_CHROMIUM_texture_compression_dxt5 1
364 #ifndef GL_COMPRESSED_RGBA_S3TC_DXT5_EXT
365 #define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
367 #endif /* GL_CHROMIUM_texture_compression_dxt5 */
369 /* GL_CHROMIUM_async_pixel_transfers */
370 #ifndef GL_CHROMIUM_async_pixel_transfers
371 #define GL_CHROMIUM_async_pixel_transfers 1
373 #ifndef GL_ASYNC_PIXEL_UNPACK_COMPLETED_CHROMIUM
374 #define GL_ASYNC_PIXEL_UNPACK_COMPLETED_CHROMIUM 0x6005
376 #ifndef GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM
377 #define GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM 0x6006
379 #endif /* GL_CHROMIUM_async_pixel_transfers */
381 #ifndef GL_BIND_GENERATES_RESOURCE_CHROMIUM
382 #define GL_BIND_GENERATES_RESOURCE_CHROMIUM 0x9244
385 /* GL_CHROMIUM_copy_texture */
386 #ifndef GL_CHROMIUM_copy_texture
387 #define GL_CHROMIUM_copy_texture 1
389 #ifndef GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM
390 #define GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM 0x9243
393 #ifdef GL_GLEXT_PROTOTYPES
394 GL_APICALL
void GL_APIENTRY
glCopyTextureCHROMIUM(
398 GLint internalformat
,
400 GLboolean unpack_flip_y
,
401 GLboolean unpack_premultiply_alpha
,
402 GLboolean unpack_unmultiply_alpha
);
404 GL_APICALL
void GL_APIENTRY
glCopySubTextureCHROMIUM(
414 GLboolean unpack_flip_y
,
415 GLboolean unpack_premultiply_alpha
,
416 GLboolean unpack_unmultiply_alpha
);
418 typedef void(GL_APIENTRYP PFNGLCOPYTEXTURECHROMIUMPROC
)(
422 GLint internalformat
,
424 GLboolean unpack_flip_y
,
425 GLboolean unpack_premultiply_alpha
,
426 GLboolean unpack_unmultiply_alpha
);
428 typedef void(GL_APIENTRYP PFNGLCOPYSUBTEXTURECHROMIUMPROC
)(
438 GLboolean unpack_flip_y
,
439 GLboolean unpack_premultiply_alpha
,
440 GLboolean unpack_unmultiply_alpha
);
441 #endif /* GL_CHROMIUM_copy_texture */
443 /* GL_CHROMIUM_compressed_copy_texture */
444 #ifndef GL_CHROMIUM_compressed_copy_texture
445 #define GL_CHROMIUM_compressed_copy_texture 1
446 #ifdef GL_GLEXT_PROTOTYPES
447 GL_APICALL
void GL_APIENTRY
glCompressedCopyTextureCHROMIUM(
448 GLenum target
, GLenum source_id
, GLenum dest_id
);
450 typedef void(GL_APIENTRYP PFNGLCOMPRESSEDCOPYTEXTURECHROMIUMPROC
)(
451 GLenum target
, GLenum source_id
, GLenum dest_id
);
452 #endif /* GL_CHROMIUM_compressed_copy_texture */
454 /* GL_CHROMIUM_lose_context */
455 #ifndef GL_CHROMIUM_lose_context
456 #define GL_CHROMIUM_lose_context 1
457 #ifdef GL_GLEXT_PROTOTYPES
458 GL_APICALL
void GL_APIENTRY
glLoseContextCHROMIUM(GLenum current
, GLenum other
);
460 typedef void (GL_APIENTRYP PFNGLLOSECONTEXTCHROMIUMPROC
) (
461 GLenum current
, GLenum other
);
462 #endif /* GL_CHROMIUM_lose_context */
464 /* GL_ARB_texture_rectangle */
465 #ifndef GL_ARB_texture_rectangle
466 #define GL_ARB_texture_rectangle 1
468 #ifndef GL_SAMPLER_2D_RECT_ARB
469 #define GL_SAMPLER_2D_RECT_ARB 0x8B63
472 #ifndef GL_TEXTURE_BINDING_RECTANGLE_ARB
473 #define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6
476 #ifndef GL_TEXTURE_RECTANGLE_ARB
477 #define GL_TEXTURE_RECTANGLE_ARB 0x84F5
479 #endif /* GL_ARB_texture_rectangle */
481 /* GL_CHROMIUM_enable_feature */
482 #ifndef GL_CHROMIUM_enable_feature
483 #define GL_CHROMIUM_enable_feature 1
484 #ifdef GL_GLEXT_PROTOTYPES
485 GL_APICALL GLboolean GL_APIENTRY
glEnableFeatureCHROMIUM(const char* feature
);
487 typedef GLboolean (GL_APIENTRYP PFNGLENABLEFEATURECHROMIUMPROC
) (
488 const char* feature
);
489 #endif /* GL_CHROMIUM_enable_feature */
491 /* GL_CHROMIUM_command_buffer_latency_query */
492 #ifndef GL_CHROMIUM_command_buffer_latency_query
493 #define GL_CHROMIUM_command_buffer_latency_query 1
495 #ifndef GL_LATENCY_QUERY_CHROMIUM
496 // TODO(gman): Get official numbers for these constants.
497 #define GL_LATENCY_QUERY_CHROMIUM 0x6007
499 #endif /* GL_CHROMIUM_command_buffer_latency_query */
501 /* GL_ARB_robustness */
502 #ifndef GL_ARB_robustness
503 #define GL_ARB_robustness 1
505 #ifndef GL_GUILTY_CONTEXT_RESET_ARB
506 #define GL_GUILTY_CONTEXT_RESET_ARB 0x8253
509 #ifndef GL_UNKNOWN_CONTEXT_RESET_ARB
510 #define GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255
513 #ifndef GL_INNOCENT_CONTEXT_RESET_ARB
514 #define GL_INNOCENT_CONTEXT_RESET_ARB 0x8254
516 #endif /* GL_ARB_robustness */
518 /* GL_EXT_framebuffer_blit */
519 #ifndef GL_EXT_framebuffer_blit
520 #define GL_EXT_framebuffer_blit 1
521 #ifdef GL_GLEXT_PROTOTYPES
522 GL_APICALL
void GL_APIENTRY
glBlitFramebufferEXT(
523 GLint srcX0
, GLint srcY0
, GLint srcX1
, GLint srcY1
, GLint dstX0
,
524 GLint dstY0
, GLint dstX1
, GLint dstY1
, GLbitfield mask
, GLenum filter
);
526 typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFEREXTPROC
) (
527 GLint srcX0
, GLint srcY0
, GLint srcX1
, GLint srcY1
, GLint dstX0
,
528 GLint dstY0
, GLint dstX1
, GLint dstY1
, GLbitfield mask
, GLenum filter
);
529 #endif /* GL_EXT_framebuffer_blit */
531 /* GL_EXT_draw_buffers */
532 #ifndef GL_EXT_draw_buffers
533 #define GL_EXT_draw_buffers 1
535 #ifdef GL_GLEXT_PROTOTYPES
536 GL_APICALL
void GL_APIENTRY
glDrawBuffersEXT(
537 GLsizei n
, const GLenum
* bufs
);
539 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC
) (
540 GLsizei n
, const GLenum
* bufs
);
542 #ifndef GL_COLOR_ATTACHMENT0_EXT
543 #define GL_COLOR_ATTACHMENT0_EXT 0x8CE0
545 #ifndef GL_COLOR_ATTACHMENT1_EXT
546 #define GL_COLOR_ATTACHMENT1_EXT 0x8CE1
548 #ifndef GL_COLOR_ATTACHMENT2_EXT
549 #define GL_COLOR_ATTACHMENT2_EXT 0x8CE2
551 #ifndef GL_COLOR_ATTACHMENT3_EXT
552 #define GL_COLOR_ATTACHMENT3_EXT 0x8CE3
554 #ifndef GL_COLOR_ATTACHMENT4_EXT
555 #define GL_COLOR_ATTACHMENT4_EXT 0x8CE4
557 #ifndef GL_COLOR_ATTACHMENT5_EXT
558 #define GL_COLOR_ATTACHMENT5_EXT 0x8CE5
560 #ifndef GL_COLOR_ATTACHMENT6_EXT
561 #define GL_COLOR_ATTACHMENT6_EXT 0x8CE6
563 #ifndef GL_COLOR_ATTACHMENT7_EXT
564 #define GL_COLOR_ATTACHMENT7_EXT 0x8CE7
566 #ifndef GL_COLOR_ATTACHMENT8_EXT
567 #define GL_COLOR_ATTACHMENT8_EXT 0x8CE8
569 #ifndef GL_COLOR_ATTACHMENT9_EXT
570 #define GL_COLOR_ATTACHMENT9_EXT 0x8CE9
572 #ifndef GL_COLOR_ATTACHMENT10_EXT
573 #define GL_COLOR_ATTACHMENT10_EXT 0x8CEA
575 #ifndef GL_COLOR_ATTACHMENT11_EXT
576 #define GL_COLOR_ATTACHMENT11_EXT 0x8CEB
578 #ifndef GL_COLOR_ATTACHMENT12_EXT
579 #define GL_COLOR_ATTACHMENT12_EXT 0x8CEC
581 #ifndef GL_COLOR_ATTACHMENT13_EXT
582 #define GL_COLOR_ATTACHMENT13_EXT 0x8CED
584 #ifndef GL_COLOR_ATTACHMENT14_EXT
585 #define GL_COLOR_ATTACHMENT14_EXT 0x8CEE
587 #ifndef GL_COLOR_ATTACHMENT15_EXT
588 #define GL_COLOR_ATTACHMENT15_EXT 0x8CEF
591 #ifndef GL_DRAW_BUFFER0_EXT
592 #define GL_DRAW_BUFFER0_EXT 0x8825
594 #ifndef GL_DRAW_BUFFER1_EXT
595 #define GL_DRAW_BUFFER1_EXT 0x8826
597 #ifndef GL_DRAW_BUFFER2_EXT
598 #define GL_DRAW_BUFFER2_EXT 0x8827
600 #ifndef GL_DRAW_BUFFER3_EXT
601 #define GL_DRAW_BUFFER3_EXT 0x8828
603 #ifndef GL_DRAW_BUFFER4_EXT
604 #define GL_DRAW_BUFFER4_EXT 0x8829
606 #ifndef GL_DRAW_BUFFER5_EXT
607 #define GL_DRAW_BUFFER5_EXT 0x882A
609 #ifndef GL_DRAW_BUFFER6_EXT
610 #define GL_DRAW_BUFFER6_EXT 0x882B
612 #ifndef GL_DRAW_BUFFER7_EXT
613 #define GL_DRAW_BUFFER7_EXT 0x882C
615 #ifndef GL_DRAW_BUFFER8_EXT
616 #define GL_DRAW_BUFFER8_EXT 0x882D
618 #ifndef GL_DRAW_BUFFER9_EXT
619 #define GL_DRAW_BUFFER9_EXT 0x882E
621 #ifndef GL_DRAW_BUFFER10_EXT
622 #define GL_DRAW_BUFFER10_EXT 0x882F
624 #ifndef GL_DRAW_BUFFER11_EXT
625 #define GL_DRAW_BUFFER11_EXT 0x8830
627 #ifndef GL_DRAW_BUFFER12_EXT
628 #define GL_DRAW_BUFFER12_EXT 0x8831
630 #ifndef GL_DRAW_BUFFER13_EXT
631 #define GL_DRAW_BUFFER13_EXT 0x8832
633 #ifndef GL_DRAW_BUFFER14_EXT
634 #define GL_DRAW_BUFFER14_EXT 0x8833
636 #ifndef GL_DRAW_BUFFER15_EXT
637 #define GL_DRAW_BUFFER15_EXT 0x8834
640 #ifndef GL_MAX_COLOR_ATTACHMENTS_EXT
641 #define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF
644 #ifndef GL_MAX_DRAW_BUFFERS_EXT
645 #define GL_MAX_DRAW_BUFFERS_EXT 0x8824
648 #endif /* GL_EXT_draw_buffers */
650 /* GL_CHROMIUM_resize */
651 #ifndef GL_CHROMIUM_resize
652 #define GL_CHROMIUM_resize 1
653 #ifdef GL_GLEXT_PROTOTYPES
654 GL_APICALL
void GL_APIENTRY
glResizeCHROMIUM(
655 GLuint width
, GLuint height
, GLfloat scale_factor
);
657 typedef void (GL_APIENTRYP PFNGLRESIZECHROMIUMPROC
) (
658 GLuint width
, GLuint height
);
659 #endif /* GL_CHROMIUM_resize */
661 /* GL_CHROMIUM_get_multiple */
662 #ifndef GL_CHROMIUM_get_multiple
663 #define GL_CHROMIUM_get_multiple 1
664 #ifdef GL_GLEXT_PROTOTYPES
665 GL_APICALL
void GL_APIENTRY
glGetProgramInfoCHROMIUM(
666 GLuint program
, GLsizei bufsize
, GLsizei
* size
, void* info
);
668 typedef void (GL_APIENTRYP PFNGLGETPROGRAMINFOCHROMIUMPROC
) (
669 GLuint program
, GLsizei bufsize
, GLsizei
* size
, void* info
);
670 #endif /* GL_CHROMIUM_get_multiple */
672 /* GL_CHROMIUM_sync_point */
673 #ifndef GL_CHROMIUM_sync_point
674 #define GL_CHROMIUM_sync_point 1
675 #ifdef GL_GLEXT_PROTOTYPES
676 GL_APICALL GLuint GL_APIENTRY
glInsertSyncPointCHROMIUM();
677 GL_APICALL
void GL_APIENTRY
glWaitSyncPointCHROMIUM(GLuint sync_point
);
679 typedef GLuint (GL_APIENTRYP PFNGLINSERTSYNCPOINTCHROMIUMPROC
) ();
680 typedef void (GL_APIENTRYP PFNGLWAITSYNCPOINTCHROMIUMPROC
) (GLuint sync_point
);
681 #endif /* GL_CHROMIUM_sync_point */
683 #ifndef GL_CHROMIUM_color_buffer_float_rgba
684 #define GL_CHROMIUM_color_buffer_float_rgba 1
686 #define GL_RGBA32F 0x8814
688 #endif /* GL_CHROMIUM_color_buffer_float_rgba */
690 #ifndef GL_CHROMIUM_color_buffer_float_rgb
691 #define GL_CHROMIUM_color_buffer_float_rgb 1
693 #define GL_RGB32F 0x8815
695 #endif /* GL_CHROMIUM_color_buffer_float_rgb */
697 /* GL_CHROMIUM_schedule_overlay_plane */
698 #ifndef GL_CHROMIUM_schedule_overlay_plane
699 #define GL_CHROMIUM_schedule_overlay_plane 1
701 #ifndef GL_OVERLAY_TRANSFORM_NONE_CHROMIUM
702 #define GL_OVERLAY_TRANSFORM_NONE_CHROMIUM 0x9245
705 #ifndef GL_OVERLAY_TRANSFORM_FLIP_HORIZONTAL_CHROMIUM
706 #define GL_OVERLAY_TRANSFORM_FLIP_HORIZONTAL_CHROMIUM 0x9246
709 #ifndef GL_OVERLAY_TRANSFORM_FLIP_VERTICAL_CHROMIUM
710 #define GL_OVERLAY_TRANSFORM_FLIP_VERTICAL_CHROMIUM 0x9247
713 #ifndef GL_OVERLAY_TRANSFORM_ROTATE_90_CHROMIUM
714 #define GL_OVERLAY_TRANSFORM_ROTATE_90_CHROMIUM 0x9248
717 #ifndef GL_OVERLAY_TRANSFORM_ROTATE_180_CHROMIUM
718 #define GL_OVERLAY_TRANSFORM_ROTATE_180_CHROMIUM 0x9249
721 #ifndef GL_OVERLAY_TRANSFORM_ROTATE_270_CHROMIUM
722 #define GL_OVERLAY_TRANSFORM_ROTATE_270_CHROMIUM 0x924A
725 /* GL_CHROMIUM_subscribe_uniform */
726 #ifndef GL_CHROMIUM_subscribe_uniform
727 #define GL_CHROMIUM_subscribe_uniform 1
729 #ifndef GL_SUBSCRIBED_VALUES_BUFFER_CHROMIUM
730 #define GL_SUBSCRIBED_VALUES_BUFFER_CHROMIUM 0x924B
733 #ifndef GL_MOUSE_POSITION_CHROMIUM
734 #define GL_MOUSE_POSITION_CHROMIUM 0x924C
737 #ifdef GL_GLEXT_PROTOTYPES
738 GL_APICALL
void GL_APIENTRY
739 glGenValuebuffersCHROMIUM(GLsizei n
, GLuint
* buffers
);
740 GL_APICALL
void GL_APIENTRY
741 glDeleteValuebuffersCHROMIUM(GLsizei n
, const GLuint
* valuebuffers
);
742 GL_APICALL GLboolean GL_APIENTRY
glIsValuebufferCHROMIUM(GLuint valuebuffer
);
743 GL_APICALL
void GL_APIENTRY
744 glBindValuebufferCHROMIUM(GLenum target
, GLuint valuebuffer
);
745 GL_APICALL
void GL_APIENTRY
746 glSubscribeValueCHROMIUM(GLenum target
, GLenum subscription
);
747 GL_APICALL
void GL_APIENTRY
glPopulateSubscribedValuesCHROMIUM(GLenum target
);
748 GL_APICALL
void GL_APIENTRY
glUniformValuebufferCHROMIUM(GLint location
,
750 GLenum subscription
);
752 #endif /* GL_CHROMIUM_subscribe_uniform */
754 #ifdef GL_GLEXT_PROTOTYPES
755 GL_APICALL
void GL_APIENTRY
756 glScheduleOverlayPlaneCHROMIUM(GLint plane_z_order
,
757 GLenum plane_transform
,
758 GLuint overlay_texture_id
,
768 typedef void(GL_APIENTRYP PFNGLSCHEDULEOVERLAYPLANECHROMIUMPROC
)(
770 GLenum plane_transform
,
771 GLuint overlay_texture_id
,
780 #endif /* GL_CHROMIUM_schedule_overlay_plane */
782 /* GL_CHROMIUM_sync_query */
783 #ifndef GL_CHROMIUM_sync_query
784 #define GL_CHROMIUM_sync_query 1
786 #ifndef GL_COMMANDS_COMPLETED_CHROMIUM
787 #define GL_COMMANDS_COMPLETED_CHROMIUM 0x84F7
789 #endif /* GL_CHROMIUM_sync_query */
791 #ifndef GL_CHROMIUM_path_rendering
792 #define GL_CHROMIUM_path_rendering 1
794 #ifdef GL_GLEXT_PROTOTYPES
795 GL_APICALL
void GL_APIENTRY
796 glMatrixLoadfCHROMIUM(GLenum mode
, const GLfloat
* m
);
797 GL_APICALL
void GL_APIENTRY
glMatrixLoadIdentityCHROMIUM(GLenum mode
);
798 GL_APICALL GLuint GL_APIENTRY
glGenPathsCHROMIUM(GLsizei range
);
799 GL_APICALL
void GL_APIENTRY
glDeletePathsCHROMIUM(GLuint path
, GLsizei range
);
800 GL_APICALL GLboolean GL_APIENTRY
glIsPathCHROMIUM(GLuint path
);
801 GL_APICALL
void GL_APIENTRY
glPathCommandsCHROMIUM(GLuint path
,
803 const GLubyte
* commands
,
807 GL_APICALL
void GL_APIENTRY
808 glPathParameteriCHROMIUM(GLuint path
, GLenum pname
, GLint value
);
809 GL_APICALL
void GL_APIENTRY
810 glPathParameterfCHROMIUM(GLuint path
, GLenum pname
, GLfloat value
);
811 GL_APICALL
void GL_APIENTRY
812 glPathStencilFuncCHROMIUM(GLenum func
, GLint ref
, GLuint mask
);
813 GL_APICALL
void GL_APIENTRY
814 glStencilFillPathCHROMIUM(GLuint path
, GLenum fillMode
, GLuint mask
);
815 GL_APICALL
void GL_APIENTRY
816 glStencilStrokePathCHROMIUM(GLuint path
, GLint reference
, GLuint mask
);
817 GL_APICALL
void GL_APIENTRY
818 glCoverFillPathCHROMIUM(GLuint path
, GLenum coverMode
);
819 GL_APICALL
void GL_APIENTRY
820 glCoverStrokePathCHROMIUM(GLuint name
, GLenum coverMode
);
821 GL_APICALL
void GL_APIENTRY
822 glStencilThenCoverFillPathCHROMIUM(GLuint path
,
826 GL_APICALL
void GL_APIENTRY
827 glStencilThenCoverStrokePathCHROMIUM(GLuint path
,
834 typedef void(GL_APIENTRYP PFNGLMATRIXLOADFCHROMIUMPROC
)(GLenum matrixMode
,
836 typedef void(GL_APIENTRYP PFNGLMATRIXLOADIDENTITYCHROMIUMPROC
)(
838 typedef GLuint(GL_APIENTRYP
* PFNGLGENPATHSCHROMIUMPROC
)(GLsizei range
);
839 typedef void(GL_APIENTRYP
* PFNGLDELETEPATHSCHROMIUMPROC
)(GLuint path
,
841 typedef GLboolean(GL_APIENTRYP
* PFNGLISPATHCHROMIUMPROC
)(GLuint path
);
842 typedef void(GL_APIENTRYP
* PFNGLPATHCOMMANDSCHROMIUMPROC
)(
845 const GLubyte
* commands
,
848 const GLvoid
* coords
);
849 typedef void(GL_APIENTRYP
* PFNGLPATHPARAMETERICHROMIUMPROC
)(GLuint path
,
852 typedef void(GL_APIENTRYP
* PFNGLPATHPARAMETERFCHROMIUMPROC
)(GLuint path
,
855 typedef void(GL_APIENTRYP
* PFNGLPATHSTENCILFUNCCHROMIUMPROC
)(GLenum func
,
858 typedef void(GL_APIENTRYP
* PFNGLSTENCILFILLPATHCHROMIUMPROC
)(GLuint path
,
861 typedef void(GL_APIENTRYP
* PFNGLSTENCILSTROKEPATHCHROMIUMPROC
)(GLuint path
,
864 typedef void(GL_APIENTRYP
* PFNGLCOVERFILLPATHCHROMIUMPROC
)(GLuint path
,
866 typedef void(GL_APIENTRYP
* PFNGLCOVERSTROKEPATHCHROMIUMPROC
)(GLuint name
,
869 typedef void(GL_APIENTRYP
* PFNGLSTENCILTHENCOVERFILLPATHCHROMIUMPROC
)(
874 typedef void(GL_APIENTRYP
* PFNGLSTENCILTHENCOVERSTROKEPATHCHROMIUMPROC
)(
880 #ifndef GL_CLOSE_PATH_CHROMIUM
881 #define GL_CLOSE_PATH_CHROMIUM 0x00
883 #ifndef GL_MOVE_TO_CHROMIUM
884 #define GL_MOVE_TO_CHROMIUM 0x02
886 #ifndef GL_LINE_TO_CHROMIUM
887 #define GL_LINE_TO_CHROMIUM 0x04
889 #ifndef GL_QUADRATIC_CURVE_TO_CHROMIUM
890 #define GL_QUADRATIC_CURVE_TO_CHROMIUM 0x0A
892 #ifndef GL_CUBIC_CURVE_TO_CHROMIUM
893 #define GL_CUBIC_CURVE_TO_CHROMIUM 0x0C
895 #ifndef GL_CONIC_CURVE_TO_CHROMIUM
896 #define GL_CONIC_CURVE_TO_CHROMIUM 0x1A
898 #ifndef GL_PATH_MODELVIEW_MATRIX_CHROMIUM
899 #define GL_PATH_MODELVIEW_MATRIX_CHROMIUM 0x0BA6
901 #ifndef GL_PATH_PROJECTION_MATRIX_CHROMIUM
902 #define GL_PATH_PROJECTION_MATRIX_CHROMIUM 0x0BA7
904 #ifndef GL_PATH_MODELVIEW_CHROMIUM
905 #define GL_PATH_MODELVIEW_CHROMIUM 0x1700
907 #ifndef GL_PATH_PROJECTION_CHROMIUM
908 #define GL_PATH_PROJECTION_CHROMIUM 0x1701
910 #ifndef GL_FLAT_CHROMIUM
911 #define GL_FLAT_CHROMIUM 0x1D00
913 #ifndef GL_PATH_STROKE_WIDTH_CHROMIUM
914 #define GL_PATH_STROKE_WIDTH_CHROMIUM 0x9075
916 #ifndef GL_PATH_END_CAPS_CHROMIUM
917 #define GL_PATH_END_CAPS_CHROMIUM 0x9076
919 #ifndef GL_PATH_JOIN_STYLE_CHROMIUM
920 #define GL_PATH_JOIN_STYLE_CHROMIUM 0x9079
922 #ifndef GL_PATH_MITER_LIMIT_CHROMIUM
923 #define GL_PATH_MITER_LIMIT_CHROMIUM 0x907a
925 #ifndef GL_PATH_STROKE_BOUND_CHROMIUM
926 #define GL_PATH_STROKE_BOUND_CHROMIUM 0x9086
928 #ifndef GL_COUNT_UP_CHROMIUM
929 #define GL_COUNT_UP_CHROMIUM 0x9088
931 #ifndef GL_COUNT_DOWN_CHROMIUM
932 #define GL_COUNT_DOWN_CHROMIUM 0x9089
934 #ifndef GL_CONVEX_HULL_CHROMIUM
935 #define GL_CONVEX_HULL_CHROMIUM 0x908B
937 #ifndef GL_BOUNDING_BOX_CHROMIUM
938 #define GL_BOUNDING_BOX_CHROMIUM 0x908D
940 #ifndef GL_SQUARE_CHROMIUM
941 #define GL_SQUARE_CHROMIUM 0x90a3
943 #ifndef GL_ROUND_CHROMIUM
944 #define GL_ROUND_CHROMIUM 0x90a4
946 #ifndef GL_ROUND_CHROMIUM
947 #define GL_ROUND_CHROMIUM 0x90A4
949 #ifndef GL_BEVEL_CHROMIUM
950 #define GL_BEVEL_CHROMIUM 0x90A6
952 #ifndef GL_MITER_REVERT_CHROMIUM
953 #define GL_MITER_REVERT_CHROMIUM 0x90A7
955 #ifndef GL_PATH_STENCIL_FUNC_CHROMIUM
956 #define GL_PATH_STENCIL_FUNC_CHROMIUM 0x90B7
958 #ifndef GL_PATH_STENCIL_REF_CHROMIUM
959 #define GL_PATH_STENCIL_REF_CHROMIUM 0x90B8
961 #ifndef GL_PATH_STENCIL_VALUE_MASK_CHROMIUM
962 #define GL_PATH_STENCIL_VALUE_MASK_CHROMIUM 0x90B9
965 #endif /* GL_CHROMIUM_path_rendering */
971 #endif // GPU_GLES2_GL2EXTCHROMIUM_H_