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
glConsumeTextureCHROMIUM(
59 GLenum target
, const GLbyte
* mailbox
);
61 typedef void (GL_APIENTRYP PFNGLGENMAILBOXCHROMIUMPROC
) (GLbyte
* mailbox
);
62 typedef void (GL_APIENTRYP PFNGLPRODUCETEXTURECHROMIUMPROC
) (
63 GLenum target
, const GLbyte
* mailbox
);
64 typedef void (GL_APIENTRYP PFNGLCONSUMETEXTURECHROMIUMPROC
) (
65 GLenum target
, const GLbyte
* mailbox
);
66 #endif /* GL_CHROMIUM_texture_mailbox */
68 /* GL_CHROMIUM_pixel_transfer_buffer_object */
69 #ifndef GL_CHROMIUM_pixel_transfer_buffer_object
70 #define GL_CHROMIUM_pixel_transfer_buffer_object 1
72 #ifndef GL_PIXEL_UNPACK_TRANSFER_BUFFER_CHROMIUM
73 // TODO(reveman): Get official numbers for this constants.
74 #define GL_PIXEL_UNPACK_TRANSFER_BUFFER_CHROMIUM 0x78EC
75 #define GL_PIXEL_PACK_TRANSFER_BUFFER_CHROMIUM 0x78ED
77 #ifdef GL_GLEXT_PROTOTYPES
78 GL_APICALL
void* GL_APIENTRY
glMapBufferCHROMIUM(GLuint target
,GLenum access
);
79 GL_APICALL GLboolean GL_APIENTRY
glUnmapBufferCHROMIUM(GLuint target
);
81 typedef void* (GL_APIENTRY PFNGLMAPBUFFERCHROMIUM
) (
82 GLuint target
,GLenum access
);
83 typedef GLboolean (GL_APIENTRY PFNGLUNMAPBUFFERCHROMIUM
) (GLuint target
);
84 #endif /* GL_CHROMIUM_pixel_transfer_buffer_object */
86 #ifndef GL_PIXEL_UNPACK_TRANSFER_BUFFER_BINDING_CHROMIUM
87 // TODO(reveman): Get official numbers for this constants.
88 #define GL_PIXEL_UNPACK_TRANSFER_BUFFER_BINDING_CHROMIUM 0x78EF
89 #define GL_PIXEL_PACK_TRANSFER_BUFFER_BINDING_CHROMIUM 0x78EE
92 #ifndef GL_STREAM_READ
93 #define GL_STREAM_READ 0x88E1
95 #endif /* GL_CHROMIUM_pixel_transfer_buffer_object */
97 /* GL_CHROMIUM_image */
98 #ifndef GL_CHROMIUM_map_image
99 #define GL_CHROMIUM_map_image 1
101 #ifndef GL_IMAGE_ROWBYTES_CHROMIUM
102 #define GL_IMAGE_ROWBYTES_CHROMIUM 0x78F0
105 #ifndef GL_IMAGE_MAP_CHROMIUM
106 #define GL_IMAGE_MAP_CHROMIUM 0x78F1
109 #ifndef GL_IMAGE_SCANOUT_CHROMIUM
110 #define GL_IMAGE_SCANOUT_CHROMIUM 0x78F2
113 #ifdef GL_GLEXT_PROTOTYPES
114 GL_APICALL GLuint GL_APIENTRY
glCreateImageCHROMIUM(GLsizei width
,
116 GLenum internalformat
,
118 GL_APICALL
void GL_APIENTRY
glDestroyImageCHROMIUM(GLuint image_id
);
119 GL_APICALL
void GL_APIENTRY
glGetImageParameterivCHROMIUM(
120 GLuint image_id
, GLenum pname
, GLint
* params
);
121 GL_APICALL
void* GL_APIENTRY
glMapImageCHROMIUM(GLuint image_id
);
122 GL_APICALL
void GL_APIENTRY
glUnmapImageCHROMIUM(GLuint image_id
);
124 typedef GLuint(GL_APIENTRYP PFNGLCREATEIMAGECHROMIUMPROC
)(
127 GLenum internalformat
);
129 GL_APIENTRYP PFNGLDESTROYIMAGECHROMIUMPROC
) (GLuint image_id
);
131 GL_APIENTRYP PFNGLGETIMAGEPARAMETERIVCHROMIUMPROC
) (
132 GLuint image_id
, GLenum pname
, GLint
* params
);
133 typedef void* (GL_APIENTRYP PFNGLMAPIMAGECHROMIUMPROC
) (
134 GLuint image_id
, GLenum access
);
135 typedef void (GL_APIENTRYP PFNGLUNMAPIMAGECHROMIUMPROC
) (GLuint image_id
);
136 #endif /* GL_CHROMIUM_map_image */
138 /* GL_CHROMIUM_map_sub */
139 #ifndef GL_CHROMIUM_map_sub
140 #define GL_CHROMIUM_map_sub 1
143 #define GL_READ_ONLY 0x88B8
146 #ifndef GL_WRITE_ONLY
147 #define GL_WRITE_ONLY 0x88B9
149 #ifdef GL_GLEXT_PROTOTYPES
150 GL_APICALL
void* GL_APIENTRY
glMapBufferSubDataCHROMIUM(
151 GLuint target
, GLintptr offset
, GLsizeiptr size
, GLenum access
);
152 GL_APICALL
void GL_APIENTRY
glUnmapBufferSubDataCHROMIUM(const void* mem
);
153 GL_APICALL
void* GL_APIENTRY
glMapTexSubImage2DCHROMIUM(
154 GLenum target
, GLint level
, GLint xoffset
, GLint yoffset
, GLsizei width
,
155 GLsizei height
, GLenum format
, GLenum type
, GLenum access
);
156 GL_APICALL
void GL_APIENTRY
glUnmapTexSubImage2DCHROMIUM(const void* mem
);
158 typedef void* (GL_APIENTRYP PFNGLMAPBUFFERSUBDATACHROMIUMPROC
) (
159 GLuint target
, GLintptr offset
, GLsizeiptr size
, GLenum access
);
161 GL_APIENTRYP PFNGLUNMAPBUFFERSUBDATACHROMIUMPROC
) (const void* mem
);
162 typedef void* (GL_APIENTRYP PFNGLMAPTEXSUBIMAGE2DCHROMIUMPROC
) (
163 GLenum target
, GLint level
, GLint xoffset
, GLint yoffset
, GLsizei width
,
164 GLsizei height
, GLenum format
, GLenum type
, GLenum access
);
166 GL_APIENTRYP PFNGLUNMAPTEXSUBIMAGE2DCHROMIUMPROC
) (const void* mem
);
167 #endif /* GL_CHROMIUM_map_sub */
169 /* GL_CHROMIUM_request_extension */
170 #ifndef GL_CHROMIUM_request_extension
171 #define GL_CHROMIUM_request_extension 1
172 #ifdef GL_GLEXT_PROTOTYPES
173 GL_APICALL
const GLchar
* GL_APIENTRY
glGetRequestableExtensionsCHROMIUM();
174 GL_APICALL
void GL_APIENTRY
glRequestExtensionCHROMIUM(const char* extension
);
176 typedef const GLchar
* (GL_APIENTRYP PFNGLGETREQUESTABLEEXTENSIONSCHROMIUMPROC
) (
178 typedef void (GL_APIENTRYP PFNGLREQUESTEXTENSIONCHROMIUMPROC
) (
179 const char* extension
);
180 #endif /* GL_CHROMIUM_request_extension */
182 /* GL_CHROMIUM_get_error_query */
183 #ifndef GL_CHROMIUM_get_error_query
184 #define GL_CHROMIUM_get_error_query 1
186 #ifndef GL_GET_ERROR_QUERY_CHROMIUM
187 // TODO(gman): Get official numbers for this constants.
188 #define GL_GET_ERROR_QUERY_CHROMIUM 0x84F3
190 #endif /* GL_CHROMIUM_get_error_query */
192 /* GL_CHROMIUM_texture_from_image */
193 #ifndef GL_CHROMIUM_texture_from_image
194 #define GL_CHROMIUM_texture_from_image 1
195 #ifdef GL_GLEXT_PROTOTYPES
196 GL_APICALL
void GL_APIENTRY
glBindTexImage2DCHROMIUM(
197 GLenum target
, GLint imageId
);
198 GL_APICALL
void GL_APIENTRY
glReleaseTexImage2DCHROMIUM(
199 GLenum target
, GLint imageId
);
201 typedef void (GL_APIENTRYP PFNGLBINDTEXIMAGE2DCHROMIUMPROC
) (
202 GLenum target
, GLint imageId
);
203 typedef void (GL_APIENTRYP PFNGLRELEASETEXIMAGE2DCHROMIUMPROC
) (
204 GLenum target
, GLint imageId
);
205 #endif /* GL_CHROMIUM_texture_from_image */
207 /* GL_CHROMIUM_rate_limit_offscreen_context */
208 #ifndef GL_CHROMIUM_rate_limit_offscreen_context
209 #define GL_CHROMIUM_rate_limit_offscreen_context 1
210 #ifdef GL_GLEXT_PROTOTYPES
211 GL_APICALL
void GL_APIENTRY
glRateLimitOffscreenContextCHROMIUM();
213 typedef void (GL_APIENTRYP PFNGLRATELIMITOFFSCREENCONTEXTCHROMIUMPROC
) ();
214 #endif /* GL_CHROMIUM_rate_limit_offscreen_context */
216 /* GL_CHROMIUM_post_sub_buffer */
217 #ifndef GL_CHROMIUM_post_sub_buffer
218 #define GL_CHROMIUM_post_sub_buffer 1
219 #ifdef GL_GLEXT_PROTOTYPES
220 GL_APICALL
void GL_APIENTRY
glPostSubBufferCHROMIUM(
221 GLint x
, GLint y
, GLint width
, GLint height
);
223 typedef void (GL_APIENTRYP PFNGLPOSTSUBBUFFERCHROMIUMPROC
) (
224 GLint x
, GLint y
, GLint width
, GLint height
);
225 #endif /* GL_CHROMIUM_post_sub_buffer */
227 /* GL_CHROMIUM_bind_uniform_location */
228 #ifndef GL_CHROMIUM_bind_uniform_location
229 #define GL_CHROMIUM_bind_uniform_location 1
230 #ifdef GL_GLEXT_PROTOTYPES
231 GL_APICALL
void GL_APIENTRY
glBindUniformLocationCHROMIUM(
232 GLuint program
, GLint location
, const char* name
);
234 typedef void (GL_APIENTRYP PFNGLBINDUNIFORMLOCATIONCHROMIUMPROC
) (
235 GLuint program
, GLint location
, const char* name
);
236 #endif /* GL_CHROMIUM_bind_uniform_location */
238 /* GL_CHROMIUM_command_buffer_query */
239 #ifndef GL_CHROMIUM_command_buffer_query
240 #define GL_CHROMIUM_command_buffer_query 1
242 #ifndef GL_COMMANDS_ISSUED_CHROMIUM
243 // TODO(gman): Get official numbers for this constants.
244 #define GL_COMMANDS_ISSUED_CHROMIUM 0x84F2
246 #endif /* GL_CHROMIUM_command_buffer_query */
248 /* GL_CHROMIUM_framebuffer_multisample */
249 #ifndef GL_CHROMIUM_framebuffer_multisample
250 #define GL_CHROMIUM_framebuffer_multisample 1
252 #ifdef GL_GLEXT_PROTOTYPES
253 GL_APICALL
void GL_APIENTRY
glRenderbufferStorageMultisampleCHROMIUM (GLenum
, GLsizei
, GLenum
, GLsizei
, GLsizei
);
254 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
);
256 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLECHROMIUMPROC
) (GLenum target
, GLsizei samples
, GLenum internalformat
, GLsizei width
, GLsizei height
);
257 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
);
259 #ifndef GL_FRAMEBUFFER_BINDING_EXT
260 #define GL_FRAMEBUFFER_BINDING_EXT GL_FRAMEBUFFER_BINDING
263 #ifndef GL_DRAW_FRAMEBUFFER_BINDING_EXT
264 #define GL_DRAW_FRAMEBUFFER_BINDING_EXT GL_DRAW_FRAMEBUFFER_BINDING
267 #ifndef GL_RENDERBUFFER_BINDING_EXT
268 #define GL_RENDERBUFFER_BINDING_EXT GL_RENDERBUFFER_BINDING
271 #ifndef GL_RENDERBUFFER_SAMPLES
272 #define GL_RENDERBUFFER_SAMPLES 0x8CAB
275 #ifndef GL_READ_FRAMEBUFFER_EXT
276 #define GL_READ_FRAMEBUFFER_EXT GL_READ_FRAMEBUFFER
279 #ifndef GL_RENDERBUFFER_SAMPLES_EXT
280 #define GL_RENDERBUFFER_SAMPLES_EXT GL_RENDERBUFFER_SAMPLES
283 #ifndef GL_RENDERBUFFER_BINDING
284 #define GL_RENDERBUFFER_BINDING 0x8CA7
287 #ifndef GL_READ_FRAMEBUFFER_BINDING
288 #define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
291 #ifndef GL_MAX_SAMPLES
292 #define GL_MAX_SAMPLES 0x8D57
295 #ifndef GL_READ_FRAMEBUFFER_BINDING_EXT
296 #define GL_READ_FRAMEBUFFER_BINDING_EXT GL_READ_FRAMEBUFFER_BINDING
299 #ifndef GL_DRAW_FRAMEBUFFER_BINDING
300 #define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6
303 #ifndef GL_MAX_SAMPLES_EXT
304 #define GL_MAX_SAMPLES_EXT GL_MAX_SAMPLES
307 #ifndef GL_DRAW_FRAMEBUFFER
308 #define GL_DRAW_FRAMEBUFFER 0x8CA9
311 #ifndef GL_READ_FRAMEBUFFER
312 #define GL_READ_FRAMEBUFFER 0x8CA8
315 #ifndef GL_DRAW_FRAMEBUFFER_EXT
316 #define GL_DRAW_FRAMEBUFFER_EXT GL_DRAW_FRAMEBUFFER
319 #ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE
320 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
323 #ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT
324 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE // NOLINT
327 #ifndef GL_FRAMEBUFFER_BINDING
328 #define GL_FRAMEBUFFER_BINDING 0x8CA6
330 #endif /* GL_CHROMIUM_framebuffer_multisample */
332 /* GL_CHROMIUM_texture_compression_dxt3 */
333 #ifndef GL_CHROMIUM_texture_compression_dxt3
334 #define GL_CHROMIUM_texture_compression_dxt3 1
336 #ifndef GL_COMPRESSED_RGBA_S3TC_DXT3_EXT
337 #define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
339 #endif /* GL_CHROMIUM_texture_compression_dxt3 */
341 /* GL_CHROMIUM_texture_compression_dxt5 */
342 #ifndef GL_CHROMIUM_texture_compression_dxt5
343 #define GL_CHROMIUM_texture_compression_dxt5 1
345 #ifndef GL_COMPRESSED_RGBA_S3TC_DXT5_EXT
346 #define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
348 #endif /* GL_CHROMIUM_texture_compression_dxt5 */
350 /* GL_CHROMIUM_async_pixel_transfers */
351 #ifndef GL_CHROMIUM_async_pixel_transfers
352 #define GL_CHROMIUM_async_pixel_transfers 1
354 #ifndef GL_ASYNC_PIXEL_UNPACK_COMPLETED_CHROMIUM
355 #define GL_ASYNC_PIXEL_UNPACK_COMPLETED_CHROMIUM 0x84F5
357 #ifndef GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM
358 #define GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM 0x84F6
360 #endif /* GL_CHROMIUM_async_pixel_transfers */
362 #ifndef GL_BIND_GENERATES_RESOURCE_CHROMIUM
363 #define GL_BIND_GENERATES_RESOURCE_CHROMIUM 0x9244
366 /* GL_CHROMIUM_copy_texture */
367 #ifndef GL_CHROMIUM_copy_texture
368 #define GL_CHROMIUM_copy_texture 1
370 #ifndef GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM
371 #define GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM 0x9243
374 #ifndef GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM
375 #define GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM 0x9242
378 #ifndef GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM
379 #define GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM 0x9241
381 #ifdef GL_GLEXT_PROTOTYPES
382 GL_APICALL
void GL_APIENTRY
glCopyTextureCHROMIUM(
383 GLenum target
, GLenum source_id
, GLenum dest_id
, GLint level
,
384 GLint internalformat
, GLenum dest_type
);
386 typedef void (GL_APIENTRYP PFNGLCOPYTEXTURECHROMIUMPROC
) (
387 GLenum target
, GLenum source_id
, GLenum dest_id
, GLint level
,
388 GLint internalformat
, GLenum dest_type
);
389 #endif /* GL_CHROMIUM_copy_texture */
391 /* GL_CHROMIUM_lose_context */
392 #ifndef GL_CHROMIUM_lose_context
393 #define GL_CHROMIUM_lose_context 1
394 #ifdef GL_GLEXT_PROTOTYPES
395 GL_APICALL
void GL_APIENTRY
glLoseContextCHROMIUM(GLenum current
, GLenum other
);
397 typedef void (GL_APIENTRYP PFNGLLOSECONTEXTCHROMIUMPROC
) (
398 GLenum current
, GLenum other
);
399 #endif /* GL_CHROMIUM_lose_context */
401 /* GL_CHROMIUM_flipy */
402 #ifndef GL_CHROMIUM_flipy
403 #define GL_CHROMIUM_flipy 1
405 #ifndef GL_UNPACK_FLIP_Y_CHROMIUM
406 #define GL_UNPACK_FLIP_Y_CHROMIUM 0x9240
408 #endif /* GL_CHROMIUM_flipy */
410 /* GL_ARB_texture_rectangle */
411 #ifndef GL_ARB_texture_rectangle
412 #define GL_ARB_texture_rectangle 1
414 #ifndef GL_SAMPLER_2D_RECT_ARB
415 #define GL_SAMPLER_2D_RECT_ARB 0x8B63
418 #ifndef GL_TEXTURE_BINDING_RECTANGLE_ARB
419 #define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6
422 #ifndef GL_TEXTURE_RECTANGLE_ARB
423 #define GL_TEXTURE_RECTANGLE_ARB 0x84F5
425 #endif /* GL_ARB_texture_rectangle */
427 /* GL_CHROMIUM_enable_feature */
428 #ifndef GL_CHROMIUM_enable_feature
429 #define GL_CHROMIUM_enable_feature 1
430 #ifdef GL_GLEXT_PROTOTYPES
431 GL_APICALL GLboolean GL_APIENTRY
glEnableFeatureCHROMIUM(const char* feature
);
433 typedef GLboolean (GL_APIENTRYP PFNGLENABLEFEATURECHROMIUMPROC
) (
434 const char* feature
);
435 #endif /* GL_CHROMIUM_enable_feature */
437 /* GL_CHROMIUM_command_buffer_latency_query */
438 #ifndef GL_CHROMIUM_command_buffer_latency_query
439 #define GL_CHROMIUM_command_buffer_latency_query 1
441 #ifndef GL_LATENCY_QUERY_CHROMIUM
442 // TODO(gman): Get official numbers for these constants.
443 #define GL_LATENCY_QUERY_CHROMIUM 0x84F4
445 #endif /* GL_CHROMIUM_command_buffer_latency_query */
447 /* GL_ARB_robustness */
448 #ifndef GL_ARB_robustness
449 #define GL_ARB_robustness 1
451 #ifndef GL_GUILTY_CONTEXT_RESET_ARB
452 #define GL_GUILTY_CONTEXT_RESET_ARB 0x8253
455 #ifndef GL_UNKNOWN_CONTEXT_RESET_ARB
456 #define GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255
459 #ifndef GL_INNOCENT_CONTEXT_RESET_ARB
460 #define GL_INNOCENT_CONTEXT_RESET_ARB 0x8254
462 #endif /* GL_ARB_robustness */
464 /* GL_EXT_framebuffer_blit */
465 #ifndef GL_EXT_framebuffer_blit
466 #define GL_EXT_framebuffer_blit 1
467 #ifdef GL_GLEXT_PROTOTYPES
468 GL_APICALL
void GL_APIENTRY
glBlitFramebufferEXT(
469 GLint srcX0
, GLint srcY0
, GLint srcX1
, GLint srcY1
, GLint dstX0
,
470 GLint dstY0
, GLint dstX1
, GLint dstY1
, GLbitfield mask
, GLenum filter
);
472 typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFEREXTPROC
) (
473 GLint srcX0
, GLint srcY0
, GLint srcX1
, GLint srcY1
, GLint dstX0
,
474 GLint dstY0
, GLint dstX1
, GLint dstY1
, GLbitfield mask
, GLenum filter
);
475 #endif /* GL_EXT_framebuffer_blit */
477 /* GL_EXT_draw_buffers */
478 #ifndef GL_EXT_draw_buffers
479 #define GL_EXT_draw_buffers 1
481 #ifdef GL_GLEXT_PROTOTYPES
482 GL_APICALL
void GL_APIENTRY
glDrawBuffersEXT(
483 GLsizei n
, const GLenum
* bufs
);
485 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC
) (
486 GLsizei n
, const GLenum
* bufs
);
488 #ifndef GL_COLOR_ATTACHMENT0_EXT
489 #define GL_COLOR_ATTACHMENT0_EXT 0x8CE0
491 #ifndef GL_COLOR_ATTACHMENT1_EXT
492 #define GL_COLOR_ATTACHMENT1_EXT 0x8CE1
494 #ifndef GL_COLOR_ATTACHMENT2_EXT
495 #define GL_COLOR_ATTACHMENT2_EXT 0x8CE2
497 #ifndef GL_COLOR_ATTACHMENT3_EXT
498 #define GL_COLOR_ATTACHMENT3_EXT 0x8CE3
500 #ifndef GL_COLOR_ATTACHMENT4_EXT
501 #define GL_COLOR_ATTACHMENT4_EXT 0x8CE4
503 #ifndef GL_COLOR_ATTACHMENT5_EXT
504 #define GL_COLOR_ATTACHMENT5_EXT 0x8CE5
506 #ifndef GL_COLOR_ATTACHMENT6_EXT
507 #define GL_COLOR_ATTACHMENT6_EXT 0x8CE6
509 #ifndef GL_COLOR_ATTACHMENT7_EXT
510 #define GL_COLOR_ATTACHMENT7_EXT 0x8CE7
512 #ifndef GL_COLOR_ATTACHMENT8_EXT
513 #define GL_COLOR_ATTACHMENT8_EXT 0x8CE8
515 #ifndef GL_COLOR_ATTACHMENT9_EXT
516 #define GL_COLOR_ATTACHMENT9_EXT 0x8CE9
518 #ifndef GL_COLOR_ATTACHMENT10_EXT
519 #define GL_COLOR_ATTACHMENT10_EXT 0x8CEA
521 #ifndef GL_COLOR_ATTACHMENT11_EXT
522 #define GL_COLOR_ATTACHMENT11_EXT 0x8CEB
524 #ifndef GL_COLOR_ATTACHMENT12_EXT
525 #define GL_COLOR_ATTACHMENT12_EXT 0x8CEC
527 #ifndef GL_COLOR_ATTACHMENT13_EXT
528 #define GL_COLOR_ATTACHMENT13_EXT 0x8CED
530 #ifndef GL_COLOR_ATTACHMENT14_EXT
531 #define GL_COLOR_ATTACHMENT14_EXT 0x8CEE
533 #ifndef GL_COLOR_ATTACHMENT15_EXT
534 #define GL_COLOR_ATTACHMENT15_EXT 0x8CEF
537 #ifndef GL_DRAW_BUFFER0_EXT
538 #define GL_DRAW_BUFFER0_EXT 0x8825
540 #ifndef GL_DRAW_BUFFER1_EXT
541 #define GL_DRAW_BUFFER1_EXT 0x8826
543 #ifndef GL_DRAW_BUFFER2_EXT
544 #define GL_DRAW_BUFFER2_EXT 0x8827
546 #ifndef GL_DRAW_BUFFER3_EXT
547 #define GL_DRAW_BUFFER3_EXT 0x8828
549 #ifndef GL_DRAW_BUFFER4_EXT
550 #define GL_DRAW_BUFFER4_EXT 0x8829
552 #ifndef GL_DRAW_BUFFER5_EXT
553 #define GL_DRAW_BUFFER5_EXT 0x882A
555 #ifndef GL_DRAW_BUFFER6_EXT
556 #define GL_DRAW_BUFFER6_EXT 0x882B
558 #ifndef GL_DRAW_BUFFER7_EXT
559 #define GL_DRAW_BUFFER7_EXT 0x882C
561 #ifndef GL_DRAW_BUFFER8_EXT
562 #define GL_DRAW_BUFFER8_EXT 0x882D
564 #ifndef GL_DRAW_BUFFER9_EXT
565 #define GL_DRAW_BUFFER9_EXT 0x882E
567 #ifndef GL_DRAW_BUFFER10_EXT
568 #define GL_DRAW_BUFFER10_EXT 0x882F
570 #ifndef GL_DRAW_BUFFER11_EXT
571 #define GL_DRAW_BUFFER11_EXT 0x8830
573 #ifndef GL_DRAW_BUFFER12_EXT
574 #define GL_DRAW_BUFFER12_EXT 0x8831
576 #ifndef GL_DRAW_BUFFER13_EXT
577 #define GL_DRAW_BUFFER13_EXT 0x8832
579 #ifndef GL_DRAW_BUFFER14_EXT
580 #define GL_DRAW_BUFFER14_EXT 0x8833
582 #ifndef GL_DRAW_BUFFER15_EXT
583 #define GL_DRAW_BUFFER15_EXT 0x8834
586 #ifndef GL_MAX_COLOR_ATTACHMENTS_EXT
587 #define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF
590 #ifndef GL_MAX_DRAW_BUFFERS_EXT
591 #define GL_MAX_DRAW_BUFFERS_EXT 0x8824
594 #endif /* GL_EXT_draw_buffers */
596 /* GL_CHROMIUM_resize */
597 #ifndef GL_CHROMIUM_resize
598 #define GL_CHROMIUM_resize 1
599 #ifdef GL_GLEXT_PROTOTYPES
600 GL_APICALL
void GL_APIENTRY
glResizeCHROMIUM(
601 GLuint width
, GLuint height
, GLfloat scale_factor
);
603 typedef void (GL_APIENTRYP PFNGLRESIZECHROMIUMPROC
) (
604 GLuint width
, GLuint height
);
605 #endif /* GL_CHROMIUM_resize */
607 /* GL_CHROMIUM_get_multiple */
608 #ifndef GL_CHROMIUM_get_multiple
609 #define GL_CHROMIUM_get_multiple 1
610 #ifdef GL_GLEXT_PROTOTYPES
611 GL_APICALL
void GL_APIENTRY
glGetMultipleIntegervCHROMIUM(
612 const GLenum
* pnames
, GLuint count
, GLint
* results
, GLsizeiptr size
);
613 GL_APICALL
void GL_APIENTRY
glGetProgramInfoCHROMIUM(
614 GLuint program
, GLsizei bufsize
, GLsizei
* size
, void* info
);
616 typedef void (GL_APIENTRYP PFNGLGETMULTIPLEINTEGERVCHROMIUMPROC
) (
617 const GLenum
* pnames
, GLuint count
, GLint
* results
, GLsizeiptr size
);
618 typedef void (GL_APIENTRYP PFNGLGETPROGRAMINFOCHROMIUMPROC
) (
619 GLuint program
, GLsizei bufsize
, GLsizei
* size
, void* info
);
620 #endif /* GL_CHROMIUM_get_multiple */
622 /* GL_CHROMIUM_sync_point */
623 #ifndef GL_CHROMIUM_sync_point
624 #define GL_CHROMIUM_sync_point 1
625 #ifdef GL_GLEXT_PROTOTYPES
626 GL_APICALL GLuint GL_APIENTRY
glInsertSyncPointCHROMIUM();
627 GL_APICALL
void GL_APIENTRY
glWaitSyncPointCHROMIUM(GLuint sync_point
);
629 typedef GLuint (GL_APIENTRYP PFNGLINSERTSYNCPOINTCHROMIUMPROC
) ();
630 typedef void (GL_APIENTRYP PFNGLWAITSYNCPOINTCHROMIUMPROC
) (GLuint sync_point
);
631 #endif /* GL_CHROMIUM_sync_point */
633 #ifndef GL_CHROMIUM_color_buffer_float_rgba
634 #define GL_CHROMIUM_color_buffer_float_rgba 1
636 #define GL_RGBA32F 0x8814
638 #endif /* GL_CHROMIUM_color_buffer_float_rgba */
640 #ifndef GL_CHROMIUM_color_buffer_float_rgb
641 #define GL_CHROMIUM_color_buffer_float_rgb 1
643 #define GL_RGB32F 0x8815
645 #endif /* GL_CHROMIUM_color_buffer_float_rgb */
647 /* GL_CHROMIUM_schedule_overlay_plane */
648 #ifndef GL_CHROMIUM_schedule_overlay_plane
649 #define GL_CHROMIUM_schedule_overlay_plane 1
651 #ifndef GL_OVERLAY_TRANSFORM_NONE_CHROMIUM
652 #define GL_OVERLAY_TRANSFORM_NONE_CHROMIUM 0x9245
655 #ifndef GL_OVERLAY_TRANSFORM_FLIP_HORIZONTAL_CHROMIUM
656 #define GL_OVERLAY_TRANSFORM_FLIP_HORIZONTAL_CHROMIUM 0x9246
659 #ifndef GL_OVERLAY_TRANSFORM_FLIP_VERTICAL_CHROMIUM
660 #define GL_OVERLAY_TRANSFORM_FLIP_VERTICAL_CHROMIUM 0x9247
663 #ifndef GL_OVERLAY_TRANSFORM_ROTATE_90_CHROMIUM
664 #define GL_OVERLAY_TRANSFORM_ROTATE_90_CHROMIUM 0x9248
667 #ifndef GL_OVERLAY_TRANSFORM_ROTATE_180_CHROMIUM
668 #define GL_OVERLAY_TRANSFORM_ROTATE_180_CHROMIUM 0x9249
671 #ifndef GL_OVERLAY_TRANSFORM_ROTATE_270_CHROMIUM
672 #define GL_OVERLAY_TRANSFORM_ROTATE_270_CHROMIUM 0x924A
675 #ifdef GL_GLEXT_PROTOTYPES
676 GL_APICALL
void GL_APIENTRY
677 glScheduleOverlayPlaneCHROMIUM(GLint plane_z_order
,
678 GLenum plane_transform
,
679 GLuint overlay_texture_id
,
689 typedef void(GL_APIENTRYP PFNGLSCHEDULEOVERLAYPLANECHROMIUMPROC
)(
691 GLenum plane_transform
,
692 GLuint overlay_texture_id
,
701 #endif /* GL_CHROMIUM_schedule_overlay_plane */
703 /* GL_CHROMIUM_sync_query */
704 #ifndef GL_CHROMIUM_sync_query
705 #define GL_CHROMIUM_sync_query 1
707 #ifndef GL_COMMANDS_COMPLETED_CHROMIUM
708 #define GL_COMMANDS_COMPLETED_CHROMIUM 0x84F7
710 #endif /* GL_CHROMIUM_sync_query */
716 #endif // GPU_GLES2_GL2EXTCHROMIUM_H_