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 #ifdef GL_GLEXT_PROTOTYPES
140 GL_APICALL GLuint GL_APIENTRY
glCreateGpuMemoryBufferImageCHROMIUM(
143 GLenum internalformat
,
146 typedef GLuint(GL_APIENTRYP PFNGLCREATEGPUMEMORYBUFFERIMAGECHROMIUMPROC
)(
149 GLenum internalformat
,
151 #endif /* GL_CHROMIUM_gpu_memory_buffer_image */
153 /* GL_CHROMIUM_map_sub */
154 #ifndef GL_CHROMIUM_map_sub
155 #define GL_CHROMIUM_map_sub 1
158 #define GL_READ_ONLY 0x88B8
161 #ifndef GL_WRITE_ONLY
162 #define GL_WRITE_ONLY 0x88B9
164 #ifdef GL_GLEXT_PROTOTYPES
165 GL_APICALL
void* GL_APIENTRY
glMapBufferSubDataCHROMIUM(
166 GLuint target
, GLintptr offset
, GLsizeiptr size
, GLenum access
);
167 GL_APICALL
void GL_APIENTRY
glUnmapBufferSubDataCHROMIUM(const void* mem
);
168 GL_APICALL
void* GL_APIENTRY
glMapTexSubImage2DCHROMIUM(
169 GLenum target
, GLint level
, GLint xoffset
, GLint yoffset
, GLsizei width
,
170 GLsizei height
, GLenum format
, GLenum type
, GLenum access
);
171 GL_APICALL
void GL_APIENTRY
glUnmapTexSubImage2DCHROMIUM(const void* mem
);
173 typedef void* (GL_APIENTRYP PFNGLMAPBUFFERSUBDATACHROMIUMPROC
) (
174 GLuint target
, GLintptr offset
, GLsizeiptr size
, GLenum access
);
176 GL_APIENTRYP PFNGLUNMAPBUFFERSUBDATACHROMIUMPROC
) (const void* mem
);
177 typedef void* (GL_APIENTRYP PFNGLMAPTEXSUBIMAGE2DCHROMIUMPROC
) (
178 GLenum target
, GLint level
, GLint xoffset
, GLint yoffset
, GLsizei width
,
179 GLsizei height
, GLenum format
, GLenum type
, GLenum access
);
181 GL_APIENTRYP PFNGLUNMAPTEXSUBIMAGE2DCHROMIUMPROC
) (const void* mem
);
182 #endif /* GL_CHROMIUM_map_sub */
184 /* GL_CHROMIUM_request_extension */
185 #ifndef GL_CHROMIUM_request_extension
186 #define GL_CHROMIUM_request_extension 1
187 #ifdef GL_GLEXT_PROTOTYPES
188 GL_APICALL
const GLchar
* GL_APIENTRY
glGetRequestableExtensionsCHROMIUM();
189 GL_APICALL
void GL_APIENTRY
glRequestExtensionCHROMIUM(const char* extension
);
191 typedef const GLchar
* (GL_APIENTRYP PFNGLGETREQUESTABLEEXTENSIONSCHROMIUMPROC
) (
193 typedef void (GL_APIENTRYP PFNGLREQUESTEXTENSIONCHROMIUMPROC
) (
194 const char* extension
);
195 #endif /* GL_CHROMIUM_request_extension */
197 /* GL_CHROMIUM_get_error_query */
198 #ifndef GL_CHROMIUM_get_error_query
199 #define GL_CHROMIUM_get_error_query 1
201 #ifndef GL_GET_ERROR_QUERY_CHROMIUM
202 // TODO(gman): Get official numbers for this constants.
203 #define GL_GET_ERROR_QUERY_CHROMIUM 0x6003
205 #endif /* GL_CHROMIUM_get_error_query */
207 /* GL_CHROMIUM_texture_from_image */
208 #ifndef GL_CHROMIUM_texture_from_image
209 #define GL_CHROMIUM_texture_from_image 1
210 #ifdef GL_GLEXT_PROTOTYPES
211 GL_APICALL
void GL_APIENTRY
glBindTexImage2DCHROMIUM(
212 GLenum target
, GLint imageId
);
213 GL_APICALL
void GL_APIENTRY
glReleaseTexImage2DCHROMIUM(
214 GLenum target
, GLint imageId
);
216 typedef void (GL_APIENTRYP PFNGLBINDTEXIMAGE2DCHROMIUMPROC
) (
217 GLenum target
, GLint imageId
);
218 typedef void (GL_APIENTRYP PFNGLRELEASETEXIMAGE2DCHROMIUMPROC
) (
219 GLenum target
, GLint imageId
);
220 #endif /* GL_CHROMIUM_texture_from_image */
222 /* GL_CHROMIUM_rate_limit_offscreen_context */
223 #ifndef GL_CHROMIUM_rate_limit_offscreen_context
224 #define GL_CHROMIUM_rate_limit_offscreen_context 1
225 #ifdef GL_GLEXT_PROTOTYPES
226 GL_APICALL
void GL_APIENTRY
glRateLimitOffscreenContextCHROMIUM();
228 typedef void (GL_APIENTRYP PFNGLRATELIMITOFFSCREENCONTEXTCHROMIUMPROC
) ();
229 #endif /* GL_CHROMIUM_rate_limit_offscreen_context */
231 /* GL_CHROMIUM_post_sub_buffer */
232 #ifndef GL_CHROMIUM_post_sub_buffer
233 #define GL_CHROMIUM_post_sub_buffer 1
234 #ifdef GL_GLEXT_PROTOTYPES
235 GL_APICALL
void GL_APIENTRY
glPostSubBufferCHROMIUM(
236 GLint x
, GLint y
, GLint width
, GLint height
);
238 typedef void (GL_APIENTRYP PFNGLPOSTSUBBUFFERCHROMIUMPROC
) (
239 GLint x
, GLint y
, GLint width
, GLint height
);
240 #endif /* GL_CHROMIUM_post_sub_buffer */
242 /* GL_CHROMIUM_bind_uniform_location */
243 #ifndef GL_CHROMIUM_bind_uniform_location
244 #define GL_CHROMIUM_bind_uniform_location 1
245 #ifdef GL_GLEXT_PROTOTYPES
246 GL_APICALL
void GL_APIENTRY
glBindUniformLocationCHROMIUM(
247 GLuint program
, GLint location
, const char* name
);
249 typedef void (GL_APIENTRYP PFNGLBINDUNIFORMLOCATIONCHROMIUMPROC
) (
250 GLuint program
, GLint location
, const char* name
);
251 #endif /* GL_CHROMIUM_bind_uniform_location */
253 /* GL_CHROMIUM_command_buffer_query */
254 #ifndef GL_CHROMIUM_command_buffer_query
255 #define GL_CHROMIUM_command_buffer_query 1
257 #ifndef GL_COMMANDS_ISSUED_CHROMIUM
258 // TODO(gman): Get official numbers for this constants.
259 #define GL_COMMANDS_ISSUED_CHROMIUM 0x6004
261 #endif /* GL_CHROMIUM_command_buffer_query */
263 /* GL_CHROMIUM_framebuffer_multisample */
264 #ifndef GL_CHROMIUM_framebuffer_multisample
265 #define GL_CHROMIUM_framebuffer_multisample 1
267 #ifdef GL_GLEXT_PROTOTYPES
268 GL_APICALL
void GL_APIENTRY
glRenderbufferStorageMultisampleCHROMIUM (GLenum
, GLsizei
, GLenum
, GLsizei
, GLsizei
);
269 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
);
271 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLECHROMIUMPROC
) (GLenum target
, GLsizei samples
, GLenum internalformat
, GLsizei width
, GLsizei height
);
272 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
);
274 #ifndef GL_FRAMEBUFFER_BINDING_EXT
275 #define GL_FRAMEBUFFER_BINDING_EXT GL_FRAMEBUFFER_BINDING
278 #ifndef GL_DRAW_FRAMEBUFFER_BINDING_EXT
279 #define GL_DRAW_FRAMEBUFFER_BINDING_EXT GL_DRAW_FRAMEBUFFER_BINDING
282 #ifndef GL_RENDERBUFFER_BINDING_EXT
283 #define GL_RENDERBUFFER_BINDING_EXT GL_RENDERBUFFER_BINDING
286 #ifndef GL_RENDERBUFFER_SAMPLES
287 #define GL_RENDERBUFFER_SAMPLES 0x8CAB
290 #ifndef GL_READ_FRAMEBUFFER_EXT
291 #define GL_READ_FRAMEBUFFER_EXT GL_READ_FRAMEBUFFER
294 #ifndef GL_RENDERBUFFER_SAMPLES_EXT
295 #define GL_RENDERBUFFER_SAMPLES_EXT GL_RENDERBUFFER_SAMPLES
298 #ifndef GL_RENDERBUFFER_BINDING
299 #define GL_RENDERBUFFER_BINDING 0x8CA7
302 #ifndef GL_READ_FRAMEBUFFER_BINDING
303 #define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
306 #ifndef GL_MAX_SAMPLES
307 #define GL_MAX_SAMPLES 0x8D57
310 #ifndef GL_READ_FRAMEBUFFER_BINDING_EXT
311 #define GL_READ_FRAMEBUFFER_BINDING_EXT GL_READ_FRAMEBUFFER_BINDING
314 #ifndef GL_DRAW_FRAMEBUFFER_BINDING
315 #define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6
318 #ifndef GL_MAX_SAMPLES_EXT
319 #define GL_MAX_SAMPLES_EXT GL_MAX_SAMPLES
322 #ifndef GL_DRAW_FRAMEBUFFER
323 #define GL_DRAW_FRAMEBUFFER 0x8CA9
326 #ifndef GL_READ_FRAMEBUFFER
327 #define GL_READ_FRAMEBUFFER 0x8CA8
330 #ifndef GL_DRAW_FRAMEBUFFER_EXT
331 #define GL_DRAW_FRAMEBUFFER_EXT GL_DRAW_FRAMEBUFFER
334 #ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE
335 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
338 #ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT
339 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE // NOLINT
342 #ifndef GL_FRAMEBUFFER_BINDING
343 #define GL_FRAMEBUFFER_BINDING 0x8CA6
345 #endif /* GL_CHROMIUM_framebuffer_multisample */
347 /* GL_CHROMIUM_texture_compression_dxt3 */
348 #ifndef GL_CHROMIUM_texture_compression_dxt3
349 #define GL_CHROMIUM_texture_compression_dxt3 1
351 #ifndef GL_COMPRESSED_RGBA_S3TC_DXT3_EXT
352 #define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
354 #endif /* GL_CHROMIUM_texture_compression_dxt3 */
356 /* GL_CHROMIUM_texture_compression_dxt5 */
357 #ifndef GL_CHROMIUM_texture_compression_dxt5
358 #define GL_CHROMIUM_texture_compression_dxt5 1
360 #ifndef GL_COMPRESSED_RGBA_S3TC_DXT5_EXT
361 #define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
363 #endif /* GL_CHROMIUM_texture_compression_dxt5 */
365 /* GL_CHROMIUM_async_pixel_transfers */
366 #ifndef GL_CHROMIUM_async_pixel_transfers
367 #define GL_CHROMIUM_async_pixel_transfers 1
369 #ifndef GL_ASYNC_PIXEL_UNPACK_COMPLETED_CHROMIUM
370 #define GL_ASYNC_PIXEL_UNPACK_COMPLETED_CHROMIUM 0x6005
372 #ifndef GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM
373 #define GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM 0x6006
375 #endif /* GL_CHROMIUM_async_pixel_transfers */
377 #ifndef GL_BIND_GENERATES_RESOURCE_CHROMIUM
378 #define GL_BIND_GENERATES_RESOURCE_CHROMIUM 0x9244
381 /* GL_CHROMIUM_copy_texture */
382 #ifndef GL_CHROMIUM_copy_texture
383 #define GL_CHROMIUM_copy_texture 1
385 #ifndef GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM
386 #define GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM 0x9243
389 #ifndef GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM
390 #define GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM 0x9242
393 #ifndef GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM
394 #define GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM 0x9241
396 #ifdef GL_GLEXT_PROTOTYPES
397 GL_APICALL
void GL_APIENTRY
glCopyTextureCHROMIUM(GLenum target
,
400 GLint internalformat
,
403 GL_APICALL
void GL_APIENTRY
glCopySubTextureCHROMIUM(GLenum target
,
409 typedef void(GL_APIENTRYP PFNGLCOPYTEXTURECHROMIUMPROC
)(GLenum target
,
412 GLint internalformat
,
415 typedef void(GL_APIENTRYP PFNGLCOPYSUBTEXTURECHROMIUMPROC
)(GLenum target
,
420 #endif /* GL_CHROMIUM_copy_texture */
422 /* GL_CHROMIUM_lose_context */
423 #ifndef GL_CHROMIUM_lose_context
424 #define GL_CHROMIUM_lose_context 1
425 #ifdef GL_GLEXT_PROTOTYPES
426 GL_APICALL
void GL_APIENTRY
glLoseContextCHROMIUM(GLenum current
, GLenum other
);
428 typedef void (GL_APIENTRYP PFNGLLOSECONTEXTCHROMIUMPROC
) (
429 GLenum current
, GLenum other
);
430 #endif /* GL_CHROMIUM_lose_context */
432 /* GL_CHROMIUM_flipy */
433 #ifndef GL_CHROMIUM_flipy
434 #define GL_CHROMIUM_flipy 1
436 #ifndef GL_UNPACK_FLIP_Y_CHROMIUM
437 #define GL_UNPACK_FLIP_Y_CHROMIUM 0x9240
439 #endif /* GL_CHROMIUM_flipy */
441 /* GL_ARB_texture_rectangle */
442 #ifndef GL_ARB_texture_rectangle
443 #define GL_ARB_texture_rectangle 1
445 #ifndef GL_SAMPLER_2D_RECT_ARB
446 #define GL_SAMPLER_2D_RECT_ARB 0x8B63
449 #ifndef GL_TEXTURE_BINDING_RECTANGLE_ARB
450 #define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6
453 #ifndef GL_TEXTURE_RECTANGLE_ARB
454 #define GL_TEXTURE_RECTANGLE_ARB 0x84F5
456 #endif /* GL_ARB_texture_rectangle */
458 /* GL_CHROMIUM_enable_feature */
459 #ifndef GL_CHROMIUM_enable_feature
460 #define GL_CHROMIUM_enable_feature 1
461 #ifdef GL_GLEXT_PROTOTYPES
462 GL_APICALL GLboolean GL_APIENTRY
glEnableFeatureCHROMIUM(const char* feature
);
464 typedef GLboolean (GL_APIENTRYP PFNGLENABLEFEATURECHROMIUMPROC
) (
465 const char* feature
);
466 #endif /* GL_CHROMIUM_enable_feature */
468 /* GL_CHROMIUM_command_buffer_latency_query */
469 #ifndef GL_CHROMIUM_command_buffer_latency_query
470 #define GL_CHROMIUM_command_buffer_latency_query 1
472 #ifndef GL_LATENCY_QUERY_CHROMIUM
473 // TODO(gman): Get official numbers for these constants.
474 #define GL_LATENCY_QUERY_CHROMIUM 0x6007
476 #endif /* GL_CHROMIUM_command_buffer_latency_query */
478 /* GL_ARB_robustness */
479 #ifndef GL_ARB_robustness
480 #define GL_ARB_robustness 1
482 #ifndef GL_GUILTY_CONTEXT_RESET_ARB
483 #define GL_GUILTY_CONTEXT_RESET_ARB 0x8253
486 #ifndef GL_UNKNOWN_CONTEXT_RESET_ARB
487 #define GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255
490 #ifndef GL_INNOCENT_CONTEXT_RESET_ARB
491 #define GL_INNOCENT_CONTEXT_RESET_ARB 0x8254
493 #endif /* GL_ARB_robustness */
495 /* GL_EXT_framebuffer_blit */
496 #ifndef GL_EXT_framebuffer_blit
497 #define GL_EXT_framebuffer_blit 1
498 #ifdef GL_GLEXT_PROTOTYPES
499 GL_APICALL
void GL_APIENTRY
glBlitFramebufferEXT(
500 GLint srcX0
, GLint srcY0
, GLint srcX1
, GLint srcY1
, GLint dstX0
,
501 GLint dstY0
, GLint dstX1
, GLint dstY1
, GLbitfield mask
, GLenum filter
);
503 typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFEREXTPROC
) (
504 GLint srcX0
, GLint srcY0
, GLint srcX1
, GLint srcY1
, GLint dstX0
,
505 GLint dstY0
, GLint dstX1
, GLint dstY1
, GLbitfield mask
, GLenum filter
);
506 #endif /* GL_EXT_framebuffer_blit */
508 /* GL_EXT_draw_buffers */
509 #ifndef GL_EXT_draw_buffers
510 #define GL_EXT_draw_buffers 1
512 #ifdef GL_GLEXT_PROTOTYPES
513 GL_APICALL
void GL_APIENTRY
glDrawBuffersEXT(
514 GLsizei n
, const GLenum
* bufs
);
516 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC
) (
517 GLsizei n
, const GLenum
* bufs
);
519 #ifndef GL_COLOR_ATTACHMENT0_EXT
520 #define GL_COLOR_ATTACHMENT0_EXT 0x8CE0
522 #ifndef GL_COLOR_ATTACHMENT1_EXT
523 #define GL_COLOR_ATTACHMENT1_EXT 0x8CE1
525 #ifndef GL_COLOR_ATTACHMENT2_EXT
526 #define GL_COLOR_ATTACHMENT2_EXT 0x8CE2
528 #ifndef GL_COLOR_ATTACHMENT3_EXT
529 #define GL_COLOR_ATTACHMENT3_EXT 0x8CE3
531 #ifndef GL_COLOR_ATTACHMENT4_EXT
532 #define GL_COLOR_ATTACHMENT4_EXT 0x8CE4
534 #ifndef GL_COLOR_ATTACHMENT5_EXT
535 #define GL_COLOR_ATTACHMENT5_EXT 0x8CE5
537 #ifndef GL_COLOR_ATTACHMENT6_EXT
538 #define GL_COLOR_ATTACHMENT6_EXT 0x8CE6
540 #ifndef GL_COLOR_ATTACHMENT7_EXT
541 #define GL_COLOR_ATTACHMENT7_EXT 0x8CE7
543 #ifndef GL_COLOR_ATTACHMENT8_EXT
544 #define GL_COLOR_ATTACHMENT8_EXT 0x8CE8
546 #ifndef GL_COLOR_ATTACHMENT9_EXT
547 #define GL_COLOR_ATTACHMENT9_EXT 0x8CE9
549 #ifndef GL_COLOR_ATTACHMENT10_EXT
550 #define GL_COLOR_ATTACHMENT10_EXT 0x8CEA
552 #ifndef GL_COLOR_ATTACHMENT11_EXT
553 #define GL_COLOR_ATTACHMENT11_EXT 0x8CEB
555 #ifndef GL_COLOR_ATTACHMENT12_EXT
556 #define GL_COLOR_ATTACHMENT12_EXT 0x8CEC
558 #ifndef GL_COLOR_ATTACHMENT13_EXT
559 #define GL_COLOR_ATTACHMENT13_EXT 0x8CED
561 #ifndef GL_COLOR_ATTACHMENT14_EXT
562 #define GL_COLOR_ATTACHMENT14_EXT 0x8CEE
564 #ifndef GL_COLOR_ATTACHMENT15_EXT
565 #define GL_COLOR_ATTACHMENT15_EXT 0x8CEF
568 #ifndef GL_DRAW_BUFFER0_EXT
569 #define GL_DRAW_BUFFER0_EXT 0x8825
571 #ifndef GL_DRAW_BUFFER1_EXT
572 #define GL_DRAW_BUFFER1_EXT 0x8826
574 #ifndef GL_DRAW_BUFFER2_EXT
575 #define GL_DRAW_BUFFER2_EXT 0x8827
577 #ifndef GL_DRAW_BUFFER3_EXT
578 #define GL_DRAW_BUFFER3_EXT 0x8828
580 #ifndef GL_DRAW_BUFFER4_EXT
581 #define GL_DRAW_BUFFER4_EXT 0x8829
583 #ifndef GL_DRAW_BUFFER5_EXT
584 #define GL_DRAW_BUFFER5_EXT 0x882A
586 #ifndef GL_DRAW_BUFFER6_EXT
587 #define GL_DRAW_BUFFER6_EXT 0x882B
589 #ifndef GL_DRAW_BUFFER7_EXT
590 #define GL_DRAW_BUFFER7_EXT 0x882C
592 #ifndef GL_DRAW_BUFFER8_EXT
593 #define GL_DRAW_BUFFER8_EXT 0x882D
595 #ifndef GL_DRAW_BUFFER9_EXT
596 #define GL_DRAW_BUFFER9_EXT 0x882E
598 #ifndef GL_DRAW_BUFFER10_EXT
599 #define GL_DRAW_BUFFER10_EXT 0x882F
601 #ifndef GL_DRAW_BUFFER11_EXT
602 #define GL_DRAW_BUFFER11_EXT 0x8830
604 #ifndef GL_DRAW_BUFFER12_EXT
605 #define GL_DRAW_BUFFER12_EXT 0x8831
607 #ifndef GL_DRAW_BUFFER13_EXT
608 #define GL_DRAW_BUFFER13_EXT 0x8832
610 #ifndef GL_DRAW_BUFFER14_EXT
611 #define GL_DRAW_BUFFER14_EXT 0x8833
613 #ifndef GL_DRAW_BUFFER15_EXT
614 #define GL_DRAW_BUFFER15_EXT 0x8834
617 #ifndef GL_MAX_COLOR_ATTACHMENTS_EXT
618 #define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF
621 #ifndef GL_MAX_DRAW_BUFFERS_EXT
622 #define GL_MAX_DRAW_BUFFERS_EXT 0x8824
625 #endif /* GL_EXT_draw_buffers */
627 /* GL_CHROMIUM_resize */
628 #ifndef GL_CHROMIUM_resize
629 #define GL_CHROMIUM_resize 1
630 #ifdef GL_GLEXT_PROTOTYPES
631 GL_APICALL
void GL_APIENTRY
glResizeCHROMIUM(
632 GLuint width
, GLuint height
, GLfloat scale_factor
);
634 typedef void (GL_APIENTRYP PFNGLRESIZECHROMIUMPROC
) (
635 GLuint width
, GLuint height
);
636 #endif /* GL_CHROMIUM_resize */
638 /* GL_CHROMIUM_get_multiple */
639 #ifndef GL_CHROMIUM_get_multiple
640 #define GL_CHROMIUM_get_multiple 1
641 #ifdef GL_GLEXT_PROTOTYPES
642 GL_APICALL
void GL_APIENTRY
glGetProgramInfoCHROMIUM(
643 GLuint program
, GLsizei bufsize
, GLsizei
* size
, void* info
);
645 typedef void (GL_APIENTRYP PFNGLGETPROGRAMINFOCHROMIUMPROC
) (
646 GLuint program
, GLsizei bufsize
, GLsizei
* size
, void* info
);
647 #endif /* GL_CHROMIUM_get_multiple */
649 /* GL_CHROMIUM_sync_point */
650 #ifndef GL_CHROMIUM_sync_point
651 #define GL_CHROMIUM_sync_point 1
652 #ifdef GL_GLEXT_PROTOTYPES
653 GL_APICALL GLuint GL_APIENTRY
glInsertSyncPointCHROMIUM();
654 GL_APICALL
void GL_APIENTRY
glWaitSyncPointCHROMIUM(GLuint sync_point
);
656 typedef GLuint (GL_APIENTRYP PFNGLINSERTSYNCPOINTCHROMIUMPROC
) ();
657 typedef void (GL_APIENTRYP PFNGLWAITSYNCPOINTCHROMIUMPROC
) (GLuint sync_point
);
658 #endif /* GL_CHROMIUM_sync_point */
660 #ifndef GL_CHROMIUM_color_buffer_float_rgba
661 #define GL_CHROMIUM_color_buffer_float_rgba 1
663 #define GL_RGBA32F 0x8814
665 #endif /* GL_CHROMIUM_color_buffer_float_rgba */
667 #ifndef GL_CHROMIUM_color_buffer_float_rgb
668 #define GL_CHROMIUM_color_buffer_float_rgb 1
670 #define GL_RGB32F 0x8815
672 #endif /* GL_CHROMIUM_color_buffer_float_rgb */
674 /* GL_CHROMIUM_schedule_overlay_plane */
675 #ifndef GL_CHROMIUM_schedule_overlay_plane
676 #define GL_CHROMIUM_schedule_overlay_plane 1
678 #ifndef GL_OVERLAY_TRANSFORM_NONE_CHROMIUM
679 #define GL_OVERLAY_TRANSFORM_NONE_CHROMIUM 0x9245
682 #ifndef GL_OVERLAY_TRANSFORM_FLIP_HORIZONTAL_CHROMIUM
683 #define GL_OVERLAY_TRANSFORM_FLIP_HORIZONTAL_CHROMIUM 0x9246
686 #ifndef GL_OVERLAY_TRANSFORM_FLIP_VERTICAL_CHROMIUM
687 #define GL_OVERLAY_TRANSFORM_FLIP_VERTICAL_CHROMIUM 0x9247
690 #ifndef GL_OVERLAY_TRANSFORM_ROTATE_90_CHROMIUM
691 #define GL_OVERLAY_TRANSFORM_ROTATE_90_CHROMIUM 0x9248
694 #ifndef GL_OVERLAY_TRANSFORM_ROTATE_180_CHROMIUM
695 #define GL_OVERLAY_TRANSFORM_ROTATE_180_CHROMIUM 0x9249
698 #ifndef GL_OVERLAY_TRANSFORM_ROTATE_270_CHROMIUM
699 #define GL_OVERLAY_TRANSFORM_ROTATE_270_CHROMIUM 0x924A
702 /* GL_CHROMIUM_subscribe_uniform */
703 #ifndef GL_CHROMIUM_subscribe_uniform
704 #define GL_CHROMIUM_subscribe_uniform 1
706 #ifndef GL_SUBSCRIBED_VALUES_BUFFER_CHROMIUM
707 #define GL_SUBSCRIBED_VALUES_BUFFER_CHROMIUM 0x924B
710 #ifndef GL_MOUSE_POSITION_CHROMIUM
711 #define GL_MOUSE_POSITION_CHROMIUM 0x924C
714 #ifdef GL_GLEXT_PROTOTYPES
715 GL_APICALL
void GL_APIENTRY
716 glGenValuebuffersCHROMIUM(GLsizei n
, GLuint
* buffers
);
717 GL_APICALL
void GL_APIENTRY
718 glDeleteValuebuffersCHROMIUM(GLsizei n
, const GLuint
* valuebuffers
);
719 GL_APICALL GLboolean GL_APIENTRY
glIsValuebufferCHROMIUM(GLuint valuebuffer
);
720 GL_APICALL
void GL_APIENTRY
721 glBindValuebufferCHROMIUM(GLenum target
, GLuint valuebuffer
);
722 GL_APICALL
void GL_APIENTRY
723 glSubscribeValueCHROMIUM(GLenum target
, GLenum subscription
);
724 GL_APICALL
void GL_APIENTRY
glPopulateSubscribedValuesCHROMIUM(GLenum target
);
725 GL_APICALL
void GL_APIENTRY
glUniformValuebufferCHROMIUM(GLint location
,
727 GLenum subscription
);
729 #endif /* GL_CHROMIUM_subscribe_uniform */
731 #ifdef GL_GLEXT_PROTOTYPES
732 GL_APICALL
void GL_APIENTRY
733 glScheduleOverlayPlaneCHROMIUM(GLint plane_z_order
,
734 GLenum plane_transform
,
735 GLuint overlay_texture_id
,
745 typedef void(GL_APIENTRYP PFNGLSCHEDULEOVERLAYPLANECHROMIUMPROC
)(
747 GLenum plane_transform
,
748 GLuint overlay_texture_id
,
757 #endif /* GL_CHROMIUM_schedule_overlay_plane */
759 /* GL_CHROMIUM_sync_query */
760 #ifndef GL_CHROMIUM_sync_query
761 #define GL_CHROMIUM_sync_query 1
763 #ifndef GL_COMMANDS_COMPLETED_CHROMIUM
764 #define GL_COMMANDS_COMPLETED_CHROMIUM 0x84F7
766 #endif /* GL_CHROMIUM_sync_query */
768 #ifndef GL_CHROMIUM_path_rendering
769 #define GL_CHROMIUM_path_rendering 1
771 #ifdef GL_GLEXT_PROTOTYPES
772 GL_APICALL
void GL_APIENTRY
773 glMatrixLoadfCHROMIUM(GLenum mode
, const GLfloat
* m
);
774 GL_APICALL
void GL_APIENTRY
glMatrixLoadIdentityCHROMIUM(GLenum mode
);
777 typedef void(GL_APIENTRYP PFNGLMATRIXLOADFCHROMIUMPROC
)(GLenum matrixMode
,
779 typedef void(GL_APIENTRYP PFNGLMATRIXLOADIDENTITYCHROMIUMPROC
)(
782 #endif /* GL_CHROMIUM_path_rendering */
788 #endif // GPU_GLES2_GL2EXTCHROMIUM_H_