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_map_image
107 #define GL_CHROMIUM_map_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
);
137 GL_APIENTRYP PFNGLDESTROYIMAGECHROMIUMPROC
) (GLuint image_id
);
139 GL_APIENTRYP PFNGLGETIMAGEPARAMETERIVCHROMIUMPROC
) (
140 GLuint image_id
, GLenum pname
, GLint
* params
);
141 typedef void* (GL_APIENTRYP PFNGLMAPIMAGECHROMIUMPROC
) (
142 GLuint image_id
, GLenum access
);
143 typedef void (GL_APIENTRYP PFNGLUNMAPIMAGECHROMIUMPROC
) (GLuint image_id
);
144 #endif /* GL_CHROMIUM_map_image */
146 /* GL_CHROMIUM_map_sub */
147 #ifndef GL_CHROMIUM_map_sub
148 #define GL_CHROMIUM_map_sub 1
151 #define GL_READ_ONLY 0x88B8
154 #ifndef GL_WRITE_ONLY
155 #define GL_WRITE_ONLY 0x88B9
157 #ifdef GL_GLEXT_PROTOTYPES
158 GL_APICALL
void* GL_APIENTRY
glMapBufferSubDataCHROMIUM(
159 GLuint target
, GLintptr offset
, GLsizeiptr size
, GLenum access
);
160 GL_APICALL
void GL_APIENTRY
glUnmapBufferSubDataCHROMIUM(const void* mem
);
161 GL_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
);
164 GL_APICALL
void GL_APIENTRY
glUnmapTexSubImage2DCHROMIUM(const void* mem
);
166 typedef void* (GL_APIENTRYP PFNGLMAPBUFFERSUBDATACHROMIUMPROC
) (
167 GLuint target
, GLintptr offset
, GLsizeiptr size
, GLenum access
);
169 GL_APIENTRYP PFNGLUNMAPBUFFERSUBDATACHROMIUMPROC
) (const void* mem
);
170 typedef void* (GL_APIENTRYP PFNGLMAPTEXSUBIMAGE2DCHROMIUMPROC
) (
171 GLenum target
, GLint level
, GLint xoffset
, GLint yoffset
, GLsizei width
,
172 GLsizei height
, GLenum format
, GLenum type
, GLenum access
);
174 GL_APIENTRYP PFNGLUNMAPTEXSUBIMAGE2DCHROMIUMPROC
) (const void* mem
);
175 #endif /* GL_CHROMIUM_map_sub */
177 /* GL_CHROMIUM_request_extension */
178 #ifndef GL_CHROMIUM_request_extension
179 #define GL_CHROMIUM_request_extension 1
180 #ifdef GL_GLEXT_PROTOTYPES
181 GL_APICALL
const GLchar
* GL_APIENTRY
glGetRequestableExtensionsCHROMIUM();
182 GL_APICALL
void GL_APIENTRY
glRequestExtensionCHROMIUM(const char* extension
);
184 typedef const GLchar
* (GL_APIENTRYP PFNGLGETREQUESTABLEEXTENSIONSCHROMIUMPROC
) (
186 typedef void (GL_APIENTRYP PFNGLREQUESTEXTENSIONCHROMIUMPROC
) (
187 const char* extension
);
188 #endif /* GL_CHROMIUM_request_extension */
190 /* GL_CHROMIUM_get_error_query */
191 #ifndef GL_CHROMIUM_get_error_query
192 #define GL_CHROMIUM_get_error_query 1
194 #ifndef GL_GET_ERROR_QUERY_CHROMIUM
195 // TODO(gman): Get official numbers for this constants.
196 #define GL_GET_ERROR_QUERY_CHROMIUM 0x84F3
198 #endif /* GL_CHROMIUM_get_error_query */
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
204 GL_APICALL
void GL_APIENTRY
glBindTexImage2DCHROMIUM(
205 GLenum target
, GLint imageId
);
206 GL_APICALL
void GL_APIENTRY
glReleaseTexImage2DCHROMIUM(
207 GLenum target
, GLint imageId
);
209 typedef void (GL_APIENTRYP PFNGLBINDTEXIMAGE2DCHROMIUMPROC
) (
210 GLenum target
, GLint imageId
);
211 typedef void (GL_APIENTRYP PFNGLRELEASETEXIMAGE2DCHROMIUMPROC
) (
212 GLenum target
, GLint imageId
);
213 #endif /* GL_CHROMIUM_texture_from_image */
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
219 GL_APICALL
void GL_APIENTRY
glRateLimitOffscreenContextCHROMIUM();
221 typedef void (GL_APIENTRYP PFNGLRATELIMITOFFSCREENCONTEXTCHROMIUMPROC
) ();
222 #endif /* GL_CHROMIUM_rate_limit_offscreen_context */
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
228 GL_APICALL
void GL_APIENTRY
glPostSubBufferCHROMIUM(
229 GLint x
, GLint y
, GLint width
, GLint height
);
231 typedef void (GL_APIENTRYP PFNGLPOSTSUBBUFFERCHROMIUMPROC
) (
232 GLint x
, GLint y
, GLint width
, GLint height
);
233 #endif /* GL_CHROMIUM_post_sub_buffer */
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
239 GL_APICALL
void GL_APIENTRY
glBindUniformLocationCHROMIUM(
240 GLuint program
, GLint location
, const char* name
);
242 typedef void (GL_APIENTRYP PFNGLBINDUNIFORMLOCATIONCHROMIUMPROC
) (
243 GLuint program
, GLint location
, const char* name
);
244 #endif /* GL_CHROMIUM_bind_uniform_location */
246 /* GL_CHROMIUM_command_buffer_query */
247 #ifndef GL_CHROMIUM_command_buffer_query
248 #define GL_CHROMIUM_command_buffer_query 1
250 #ifndef GL_COMMANDS_ISSUED_CHROMIUM
251 // TODO(gman): Get official numbers for this constants.
252 #define GL_COMMANDS_ISSUED_CHROMIUM 0x84F2
254 #endif /* GL_CHROMIUM_command_buffer_query */
256 /* GL_CHROMIUM_framebuffer_multisample */
257 #ifndef GL_CHROMIUM_framebuffer_multisample
258 #define GL_CHROMIUM_framebuffer_multisample 1
260 #ifdef GL_GLEXT_PROTOTYPES
261 GL_APICALL
void GL_APIENTRY
glRenderbufferStorageMultisampleCHROMIUM (GLenum
, GLsizei
, GLenum
, GLsizei
, GLsizei
);
262 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
);
264 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLECHROMIUMPROC
) (GLenum target
, GLsizei samples
, GLenum internalformat
, GLsizei width
, GLsizei height
);
265 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
);
267 #ifndef GL_FRAMEBUFFER_BINDING_EXT
268 #define GL_FRAMEBUFFER_BINDING_EXT GL_FRAMEBUFFER_BINDING
271 #ifndef GL_DRAW_FRAMEBUFFER_BINDING_EXT
272 #define GL_DRAW_FRAMEBUFFER_BINDING_EXT GL_DRAW_FRAMEBUFFER_BINDING
275 #ifndef GL_RENDERBUFFER_BINDING_EXT
276 #define GL_RENDERBUFFER_BINDING_EXT GL_RENDERBUFFER_BINDING
279 #ifndef GL_RENDERBUFFER_SAMPLES
280 #define GL_RENDERBUFFER_SAMPLES 0x8CAB
283 #ifndef GL_READ_FRAMEBUFFER_EXT
284 #define GL_READ_FRAMEBUFFER_EXT GL_READ_FRAMEBUFFER
287 #ifndef GL_RENDERBUFFER_SAMPLES_EXT
288 #define GL_RENDERBUFFER_SAMPLES_EXT GL_RENDERBUFFER_SAMPLES
291 #ifndef GL_RENDERBUFFER_BINDING
292 #define GL_RENDERBUFFER_BINDING 0x8CA7
295 #ifndef GL_READ_FRAMEBUFFER_BINDING
296 #define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
299 #ifndef GL_MAX_SAMPLES
300 #define GL_MAX_SAMPLES 0x8D57
303 #ifndef GL_READ_FRAMEBUFFER_BINDING_EXT
304 #define GL_READ_FRAMEBUFFER_BINDING_EXT GL_READ_FRAMEBUFFER_BINDING
307 #ifndef GL_DRAW_FRAMEBUFFER_BINDING
308 #define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6
311 #ifndef GL_MAX_SAMPLES_EXT
312 #define GL_MAX_SAMPLES_EXT GL_MAX_SAMPLES
315 #ifndef GL_DRAW_FRAMEBUFFER
316 #define GL_DRAW_FRAMEBUFFER 0x8CA9
319 #ifndef GL_READ_FRAMEBUFFER
320 #define GL_READ_FRAMEBUFFER 0x8CA8
323 #ifndef GL_DRAW_FRAMEBUFFER_EXT
324 #define GL_DRAW_FRAMEBUFFER_EXT GL_DRAW_FRAMEBUFFER
327 #ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE
328 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
331 #ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT
332 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE // NOLINT
335 #ifndef GL_FRAMEBUFFER_BINDING
336 #define GL_FRAMEBUFFER_BINDING 0x8CA6
338 #endif /* GL_CHROMIUM_framebuffer_multisample */
340 /* GL_CHROMIUM_texture_compression_dxt3 */
341 #ifndef GL_CHROMIUM_texture_compression_dxt3
342 #define GL_CHROMIUM_texture_compression_dxt3 1
344 #ifndef GL_COMPRESSED_RGBA_S3TC_DXT3_EXT
345 #define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
347 #endif /* GL_CHROMIUM_texture_compression_dxt3 */
349 /* GL_CHROMIUM_texture_compression_dxt5 */
350 #ifndef GL_CHROMIUM_texture_compression_dxt5
351 #define GL_CHROMIUM_texture_compression_dxt5 1
353 #ifndef GL_COMPRESSED_RGBA_S3TC_DXT5_EXT
354 #define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
356 #endif /* GL_CHROMIUM_texture_compression_dxt5 */
358 /* GL_CHROMIUM_async_pixel_transfers */
359 #ifndef GL_CHROMIUM_async_pixel_transfers
360 #define GL_CHROMIUM_async_pixel_transfers 1
362 #ifndef GL_ASYNC_PIXEL_UNPACK_COMPLETED_CHROMIUM
363 #define GL_ASYNC_PIXEL_UNPACK_COMPLETED_CHROMIUM 0x84F5
365 #ifndef GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM
366 #define GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM 0x84F6
368 #endif /* GL_CHROMIUM_async_pixel_transfers */
370 #ifndef GL_BIND_GENERATES_RESOURCE_CHROMIUM
371 #define GL_BIND_GENERATES_RESOURCE_CHROMIUM 0x9244
374 /* GL_CHROMIUM_copy_texture */
375 #ifndef GL_CHROMIUM_copy_texture
376 #define GL_CHROMIUM_copy_texture 1
378 #ifndef GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM
379 #define GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM 0x9243
382 #ifndef GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM
383 #define GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM 0x9242
386 #ifndef GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM
387 #define GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM 0x9241
389 #ifdef GL_GLEXT_PROTOTYPES
390 GL_APICALL
void GL_APIENTRY
glCopyTextureCHROMIUM(
391 GLenum target
, GLenum source_id
, GLenum dest_id
, GLint level
,
392 GLint internalformat
, GLenum dest_type
);
394 typedef 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 */
399 /* GL_CHROMIUM_lose_context */
400 #ifndef GL_CHROMIUM_lose_context
401 #define GL_CHROMIUM_lose_context 1
402 #ifdef GL_GLEXT_PROTOTYPES
403 GL_APICALL
void GL_APIENTRY
glLoseContextCHROMIUM(GLenum current
, GLenum other
);
405 typedef void (GL_APIENTRYP PFNGLLOSECONTEXTCHROMIUMPROC
) (
406 GLenum current
, GLenum other
);
407 #endif /* GL_CHROMIUM_lose_context */
409 /* GL_CHROMIUM_flipy */
410 #ifndef GL_CHROMIUM_flipy
411 #define GL_CHROMIUM_flipy 1
413 #ifndef GL_UNPACK_FLIP_Y_CHROMIUM
414 #define GL_UNPACK_FLIP_Y_CHROMIUM 0x9240
416 #endif /* GL_CHROMIUM_flipy */
418 /* GL_ARB_texture_rectangle */
419 #ifndef GL_ARB_texture_rectangle
420 #define GL_ARB_texture_rectangle 1
422 #ifndef GL_SAMPLER_2D_RECT_ARB
423 #define GL_SAMPLER_2D_RECT_ARB 0x8B63
426 #ifndef GL_TEXTURE_BINDING_RECTANGLE_ARB
427 #define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6
430 #ifndef GL_TEXTURE_RECTANGLE_ARB
431 #define GL_TEXTURE_RECTANGLE_ARB 0x84F5
433 #endif /* GL_ARB_texture_rectangle */
435 /* GL_CHROMIUM_enable_feature */
436 #ifndef GL_CHROMIUM_enable_feature
437 #define GL_CHROMIUM_enable_feature 1
438 #ifdef GL_GLEXT_PROTOTYPES
439 GL_APICALL GLboolean GL_APIENTRY
glEnableFeatureCHROMIUM(const char* feature
);
441 typedef GLboolean (GL_APIENTRYP PFNGLENABLEFEATURECHROMIUMPROC
) (
442 const char* feature
);
443 #endif /* GL_CHROMIUM_enable_feature */
445 /* GL_CHROMIUM_command_buffer_latency_query */
446 #ifndef GL_CHROMIUM_command_buffer_latency_query
447 #define GL_CHROMIUM_command_buffer_latency_query 1
449 #ifndef GL_LATENCY_QUERY_CHROMIUM
450 // TODO(gman): Get official numbers for these constants.
451 #define GL_LATENCY_QUERY_CHROMIUM 0x84F4
453 #endif /* GL_CHROMIUM_command_buffer_latency_query */
455 /* GL_ARB_robustness */
456 #ifndef GL_ARB_robustness
457 #define GL_ARB_robustness 1
459 #ifndef GL_GUILTY_CONTEXT_RESET_ARB
460 #define GL_GUILTY_CONTEXT_RESET_ARB 0x8253
463 #ifndef GL_UNKNOWN_CONTEXT_RESET_ARB
464 #define GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255
467 #ifndef GL_INNOCENT_CONTEXT_RESET_ARB
468 #define GL_INNOCENT_CONTEXT_RESET_ARB 0x8254
470 #endif /* GL_ARB_robustness */
472 /* GL_EXT_framebuffer_blit */
473 #ifndef GL_EXT_framebuffer_blit
474 #define GL_EXT_framebuffer_blit 1
475 #ifdef GL_GLEXT_PROTOTYPES
476 GL_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
);
480 typedef 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 */
485 /* GL_EXT_draw_buffers */
486 #ifndef GL_EXT_draw_buffers
487 #define GL_EXT_draw_buffers 1
489 #ifdef GL_GLEXT_PROTOTYPES
490 GL_APICALL
void GL_APIENTRY
glDrawBuffersEXT(
491 GLsizei n
, const GLenum
* bufs
);
493 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC
) (
494 GLsizei n
, const GLenum
* bufs
);
496 #ifndef GL_COLOR_ATTACHMENT0_EXT
497 #define GL_COLOR_ATTACHMENT0_EXT 0x8CE0
499 #ifndef GL_COLOR_ATTACHMENT1_EXT
500 #define GL_COLOR_ATTACHMENT1_EXT 0x8CE1
502 #ifndef GL_COLOR_ATTACHMENT2_EXT
503 #define GL_COLOR_ATTACHMENT2_EXT 0x8CE2
505 #ifndef GL_COLOR_ATTACHMENT3_EXT
506 #define GL_COLOR_ATTACHMENT3_EXT 0x8CE3
508 #ifndef GL_COLOR_ATTACHMENT4_EXT
509 #define GL_COLOR_ATTACHMENT4_EXT 0x8CE4
511 #ifndef GL_COLOR_ATTACHMENT5_EXT
512 #define GL_COLOR_ATTACHMENT5_EXT 0x8CE5
514 #ifndef GL_COLOR_ATTACHMENT6_EXT
515 #define GL_COLOR_ATTACHMENT6_EXT 0x8CE6
517 #ifndef GL_COLOR_ATTACHMENT7_EXT
518 #define GL_COLOR_ATTACHMENT7_EXT 0x8CE7
520 #ifndef GL_COLOR_ATTACHMENT8_EXT
521 #define GL_COLOR_ATTACHMENT8_EXT 0x8CE8
523 #ifndef GL_COLOR_ATTACHMENT9_EXT
524 #define GL_COLOR_ATTACHMENT9_EXT 0x8CE9
526 #ifndef GL_COLOR_ATTACHMENT10_EXT
527 #define GL_COLOR_ATTACHMENT10_EXT 0x8CEA
529 #ifndef GL_COLOR_ATTACHMENT11_EXT
530 #define GL_COLOR_ATTACHMENT11_EXT 0x8CEB
532 #ifndef GL_COLOR_ATTACHMENT12_EXT
533 #define GL_COLOR_ATTACHMENT12_EXT 0x8CEC
535 #ifndef GL_COLOR_ATTACHMENT13_EXT
536 #define GL_COLOR_ATTACHMENT13_EXT 0x8CED
538 #ifndef GL_COLOR_ATTACHMENT14_EXT
539 #define GL_COLOR_ATTACHMENT14_EXT 0x8CEE
541 #ifndef GL_COLOR_ATTACHMENT15_EXT
542 #define GL_COLOR_ATTACHMENT15_EXT 0x8CEF
545 #ifndef GL_DRAW_BUFFER0_EXT
546 #define GL_DRAW_BUFFER0_EXT 0x8825
548 #ifndef GL_DRAW_BUFFER1_EXT
549 #define GL_DRAW_BUFFER1_EXT 0x8826
551 #ifndef GL_DRAW_BUFFER2_EXT
552 #define GL_DRAW_BUFFER2_EXT 0x8827
554 #ifndef GL_DRAW_BUFFER3_EXT
555 #define GL_DRAW_BUFFER3_EXT 0x8828
557 #ifndef GL_DRAW_BUFFER4_EXT
558 #define GL_DRAW_BUFFER4_EXT 0x8829
560 #ifndef GL_DRAW_BUFFER5_EXT
561 #define GL_DRAW_BUFFER5_EXT 0x882A
563 #ifndef GL_DRAW_BUFFER6_EXT
564 #define GL_DRAW_BUFFER6_EXT 0x882B
566 #ifndef GL_DRAW_BUFFER7_EXT
567 #define GL_DRAW_BUFFER7_EXT 0x882C
569 #ifndef GL_DRAW_BUFFER8_EXT
570 #define GL_DRAW_BUFFER8_EXT 0x882D
572 #ifndef GL_DRAW_BUFFER9_EXT
573 #define GL_DRAW_BUFFER9_EXT 0x882E
575 #ifndef GL_DRAW_BUFFER10_EXT
576 #define GL_DRAW_BUFFER10_EXT 0x882F
578 #ifndef GL_DRAW_BUFFER11_EXT
579 #define GL_DRAW_BUFFER11_EXT 0x8830
581 #ifndef GL_DRAW_BUFFER12_EXT
582 #define GL_DRAW_BUFFER12_EXT 0x8831
584 #ifndef GL_DRAW_BUFFER13_EXT
585 #define GL_DRAW_BUFFER13_EXT 0x8832
587 #ifndef GL_DRAW_BUFFER14_EXT
588 #define GL_DRAW_BUFFER14_EXT 0x8833
590 #ifndef GL_DRAW_BUFFER15_EXT
591 #define GL_DRAW_BUFFER15_EXT 0x8834
594 #ifndef GL_MAX_COLOR_ATTACHMENTS_EXT
595 #define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF
598 #ifndef GL_MAX_DRAW_BUFFERS_EXT
599 #define GL_MAX_DRAW_BUFFERS_EXT 0x8824
602 #endif /* GL_EXT_draw_buffers */
604 /* GL_CHROMIUM_resize */
605 #ifndef GL_CHROMIUM_resize
606 #define GL_CHROMIUM_resize 1
607 #ifdef GL_GLEXT_PROTOTYPES
608 GL_APICALL
void GL_APIENTRY
glResizeCHROMIUM(
609 GLuint width
, GLuint height
, GLfloat scale_factor
);
611 typedef void (GL_APIENTRYP PFNGLRESIZECHROMIUMPROC
) (
612 GLuint width
, GLuint height
);
613 #endif /* GL_CHROMIUM_resize */
615 /* GL_CHROMIUM_get_multiple */
616 #ifndef GL_CHROMIUM_get_multiple
617 #define GL_CHROMIUM_get_multiple 1
618 #ifdef GL_GLEXT_PROTOTYPES
619 GL_APICALL
void GL_APIENTRY
glGetMultipleIntegervCHROMIUM(
620 const GLenum
* pnames
, GLuint count
, GLint
* results
, GLsizeiptr size
);
621 GL_APICALL
void GL_APIENTRY
glGetProgramInfoCHROMIUM(
622 GLuint program
, GLsizei bufsize
, GLsizei
* size
, void* info
);
624 typedef void (GL_APIENTRYP PFNGLGETMULTIPLEINTEGERVCHROMIUMPROC
) (
625 const GLenum
* pnames
, GLuint count
, GLint
* results
, GLsizeiptr size
);
626 typedef void (GL_APIENTRYP PFNGLGETPROGRAMINFOCHROMIUMPROC
) (
627 GLuint program
, GLsizei bufsize
, GLsizei
* size
, void* info
);
628 #endif /* GL_CHROMIUM_get_multiple */
630 /* GL_CHROMIUM_sync_point */
631 #ifndef GL_CHROMIUM_sync_point
632 #define GL_CHROMIUM_sync_point 1
633 #ifdef GL_GLEXT_PROTOTYPES
634 GL_APICALL GLuint GL_APIENTRY
glInsertSyncPointCHROMIUM();
635 GL_APICALL
void GL_APIENTRY
glWaitSyncPointCHROMIUM(GLuint sync_point
);
637 typedef GLuint (GL_APIENTRYP PFNGLINSERTSYNCPOINTCHROMIUMPROC
) ();
638 typedef void (GL_APIENTRYP PFNGLWAITSYNCPOINTCHROMIUMPROC
) (GLuint sync_point
);
639 #endif /* GL_CHROMIUM_sync_point */
641 #ifndef GL_CHROMIUM_color_buffer_float_rgba
642 #define GL_CHROMIUM_color_buffer_float_rgba 1
644 #define GL_RGBA32F 0x8814
646 #endif /* GL_CHROMIUM_color_buffer_float_rgba */
648 #ifndef GL_CHROMIUM_color_buffer_float_rgb
649 #define GL_CHROMIUM_color_buffer_float_rgb 1
651 #define GL_RGB32F 0x8815
653 #endif /* GL_CHROMIUM_color_buffer_float_rgb */
655 /* GL_CHROMIUM_schedule_overlay_plane */
656 #ifndef GL_CHROMIUM_schedule_overlay_plane
657 #define GL_CHROMIUM_schedule_overlay_plane 1
659 #ifndef GL_OVERLAY_TRANSFORM_NONE_CHROMIUM
660 #define GL_OVERLAY_TRANSFORM_NONE_CHROMIUM 0x9245
663 #ifndef GL_OVERLAY_TRANSFORM_FLIP_HORIZONTAL_CHROMIUM
664 #define GL_OVERLAY_TRANSFORM_FLIP_HORIZONTAL_CHROMIUM 0x9246
667 #ifndef GL_OVERLAY_TRANSFORM_FLIP_VERTICAL_CHROMIUM
668 #define GL_OVERLAY_TRANSFORM_FLIP_VERTICAL_CHROMIUM 0x9247
671 #ifndef GL_OVERLAY_TRANSFORM_ROTATE_90_CHROMIUM
672 #define GL_OVERLAY_TRANSFORM_ROTATE_90_CHROMIUM 0x9248
675 #ifndef GL_OVERLAY_TRANSFORM_ROTATE_180_CHROMIUM
676 #define GL_OVERLAY_TRANSFORM_ROTATE_180_CHROMIUM 0x9249
679 #ifndef GL_OVERLAY_TRANSFORM_ROTATE_270_CHROMIUM
680 #define GL_OVERLAY_TRANSFORM_ROTATE_270_CHROMIUM 0x924A
683 #ifdef GL_GLEXT_PROTOTYPES
684 GL_APICALL
void GL_APIENTRY
685 glScheduleOverlayPlaneCHROMIUM(GLint plane_z_order
,
686 GLenum plane_transform
,
687 GLuint overlay_texture_id
,
697 typedef void(GL_APIENTRYP PFNGLSCHEDULEOVERLAYPLANECHROMIUMPROC
)(
699 GLenum plane_transform
,
700 GLuint overlay_texture_id
,
709 #endif /* GL_CHROMIUM_schedule_overlay_plane */
711 /* GL_CHROMIUM_sync_query */
712 #ifndef GL_CHROMIUM_sync_query
713 #define GL_CHROMIUM_sync_query 1
715 #ifndef GL_COMMANDS_COMPLETED_CHROMIUM
716 #define GL_COMMANDS_COMPLETED_CHROMIUM 0x84F7
718 #endif /* GL_CHROMIUM_sync_query */
720 #ifndef GL_CHROMIUM_path_rendering
721 #define GL_CHROMIUM_path_rendering 1
723 #ifdef GL_GLEXT_PROTOTYPES
724 GL_APICALL
void GL_APIENTRY
725 glMatrixLoadfCHROMIUM(GLenum mode
, const GLfloat
* m
);
726 GL_APICALL
void GL_APIENTRY
glMatrixLoadIdentityCHROMIUM(GLenum mode
);
729 typedef void(GL_APIENTRYP PFNGLMATRIXLOADFCHROMIUMPROC
)(GLenum matrixMode
,
731 typedef void(GL_APIENTRYP PFNGLMATRIXLOADIDENTITYCHROMIUMPROC
)(
734 #endif /* GL_CHROMIUM_path_rendering */
740 #endif // GPU_GLES2_GL2EXTCHROMIUM_H_