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 0x84F3
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 0x84F2
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 0x84F5
372 #ifndef GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM
373 #define GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM 0x84F6
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(
398 GLenum target
, GLenum source_id
, GLenum dest_id
, GLint level
,
399 GLint internalformat
, GLenum dest_type
);
401 typedef void (GL_APIENTRYP PFNGLCOPYTEXTURECHROMIUMPROC
) (
402 GLenum target
, GLenum source_id
, GLenum dest_id
, GLint level
,
403 GLint internalformat
, GLenum dest_type
);
404 #endif /* GL_CHROMIUM_copy_texture */
406 /* GL_CHROMIUM_lose_context */
407 #ifndef GL_CHROMIUM_lose_context
408 #define GL_CHROMIUM_lose_context 1
409 #ifdef GL_GLEXT_PROTOTYPES
410 GL_APICALL
void GL_APIENTRY
glLoseContextCHROMIUM(GLenum current
, GLenum other
);
412 typedef void (GL_APIENTRYP PFNGLLOSECONTEXTCHROMIUMPROC
) (
413 GLenum current
, GLenum other
);
414 #endif /* GL_CHROMIUM_lose_context */
416 /* GL_CHROMIUM_flipy */
417 #ifndef GL_CHROMIUM_flipy
418 #define GL_CHROMIUM_flipy 1
420 #ifndef GL_UNPACK_FLIP_Y_CHROMIUM
421 #define GL_UNPACK_FLIP_Y_CHROMIUM 0x9240
423 #endif /* GL_CHROMIUM_flipy */
425 /* GL_ARB_texture_rectangle */
426 #ifndef GL_ARB_texture_rectangle
427 #define GL_ARB_texture_rectangle 1
429 #ifndef GL_SAMPLER_2D_RECT_ARB
430 #define GL_SAMPLER_2D_RECT_ARB 0x8B63
433 #ifndef GL_TEXTURE_BINDING_RECTANGLE_ARB
434 #define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6
437 #ifndef GL_TEXTURE_RECTANGLE_ARB
438 #define GL_TEXTURE_RECTANGLE_ARB 0x84F5
440 #endif /* GL_ARB_texture_rectangle */
442 /* GL_CHROMIUM_enable_feature */
443 #ifndef GL_CHROMIUM_enable_feature
444 #define GL_CHROMIUM_enable_feature 1
445 #ifdef GL_GLEXT_PROTOTYPES
446 GL_APICALL GLboolean GL_APIENTRY
glEnableFeatureCHROMIUM(const char* feature
);
448 typedef GLboolean (GL_APIENTRYP PFNGLENABLEFEATURECHROMIUMPROC
) (
449 const char* feature
);
450 #endif /* GL_CHROMIUM_enable_feature */
452 /* GL_CHROMIUM_command_buffer_latency_query */
453 #ifndef GL_CHROMIUM_command_buffer_latency_query
454 #define GL_CHROMIUM_command_buffer_latency_query 1
456 #ifndef GL_LATENCY_QUERY_CHROMIUM
457 // TODO(gman): Get official numbers for these constants.
458 #define GL_LATENCY_QUERY_CHROMIUM 0x84F4
460 #endif /* GL_CHROMIUM_command_buffer_latency_query */
462 /* GL_ARB_robustness */
463 #ifndef GL_ARB_robustness
464 #define GL_ARB_robustness 1
466 #ifndef GL_GUILTY_CONTEXT_RESET_ARB
467 #define GL_GUILTY_CONTEXT_RESET_ARB 0x8253
470 #ifndef GL_UNKNOWN_CONTEXT_RESET_ARB
471 #define GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255
474 #ifndef GL_INNOCENT_CONTEXT_RESET_ARB
475 #define GL_INNOCENT_CONTEXT_RESET_ARB 0x8254
477 #endif /* GL_ARB_robustness */
479 /* GL_EXT_framebuffer_blit */
480 #ifndef GL_EXT_framebuffer_blit
481 #define GL_EXT_framebuffer_blit 1
482 #ifdef GL_GLEXT_PROTOTYPES
483 GL_APICALL
void GL_APIENTRY
glBlitFramebufferEXT(
484 GLint srcX0
, GLint srcY0
, GLint srcX1
, GLint srcY1
, GLint dstX0
,
485 GLint dstY0
, GLint dstX1
, GLint dstY1
, GLbitfield mask
, GLenum filter
);
487 typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFEREXTPROC
) (
488 GLint srcX0
, GLint srcY0
, GLint srcX1
, GLint srcY1
, GLint dstX0
,
489 GLint dstY0
, GLint dstX1
, GLint dstY1
, GLbitfield mask
, GLenum filter
);
490 #endif /* GL_EXT_framebuffer_blit */
492 /* GL_EXT_draw_buffers */
493 #ifndef GL_EXT_draw_buffers
494 #define GL_EXT_draw_buffers 1
496 #ifdef GL_GLEXT_PROTOTYPES
497 GL_APICALL
void GL_APIENTRY
glDrawBuffersEXT(
498 GLsizei n
, const GLenum
* bufs
);
500 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC
) (
501 GLsizei n
, const GLenum
* bufs
);
503 #ifndef GL_COLOR_ATTACHMENT0_EXT
504 #define GL_COLOR_ATTACHMENT0_EXT 0x8CE0
506 #ifndef GL_COLOR_ATTACHMENT1_EXT
507 #define GL_COLOR_ATTACHMENT1_EXT 0x8CE1
509 #ifndef GL_COLOR_ATTACHMENT2_EXT
510 #define GL_COLOR_ATTACHMENT2_EXT 0x8CE2
512 #ifndef GL_COLOR_ATTACHMENT3_EXT
513 #define GL_COLOR_ATTACHMENT3_EXT 0x8CE3
515 #ifndef GL_COLOR_ATTACHMENT4_EXT
516 #define GL_COLOR_ATTACHMENT4_EXT 0x8CE4
518 #ifndef GL_COLOR_ATTACHMENT5_EXT
519 #define GL_COLOR_ATTACHMENT5_EXT 0x8CE5
521 #ifndef GL_COLOR_ATTACHMENT6_EXT
522 #define GL_COLOR_ATTACHMENT6_EXT 0x8CE6
524 #ifndef GL_COLOR_ATTACHMENT7_EXT
525 #define GL_COLOR_ATTACHMENT7_EXT 0x8CE7
527 #ifndef GL_COLOR_ATTACHMENT8_EXT
528 #define GL_COLOR_ATTACHMENT8_EXT 0x8CE8
530 #ifndef GL_COLOR_ATTACHMENT9_EXT
531 #define GL_COLOR_ATTACHMENT9_EXT 0x8CE9
533 #ifndef GL_COLOR_ATTACHMENT10_EXT
534 #define GL_COLOR_ATTACHMENT10_EXT 0x8CEA
536 #ifndef GL_COLOR_ATTACHMENT11_EXT
537 #define GL_COLOR_ATTACHMENT11_EXT 0x8CEB
539 #ifndef GL_COLOR_ATTACHMENT12_EXT
540 #define GL_COLOR_ATTACHMENT12_EXT 0x8CEC
542 #ifndef GL_COLOR_ATTACHMENT13_EXT
543 #define GL_COLOR_ATTACHMENT13_EXT 0x8CED
545 #ifndef GL_COLOR_ATTACHMENT14_EXT
546 #define GL_COLOR_ATTACHMENT14_EXT 0x8CEE
548 #ifndef GL_COLOR_ATTACHMENT15_EXT
549 #define GL_COLOR_ATTACHMENT15_EXT 0x8CEF
552 #ifndef GL_DRAW_BUFFER0_EXT
553 #define GL_DRAW_BUFFER0_EXT 0x8825
555 #ifndef GL_DRAW_BUFFER1_EXT
556 #define GL_DRAW_BUFFER1_EXT 0x8826
558 #ifndef GL_DRAW_BUFFER2_EXT
559 #define GL_DRAW_BUFFER2_EXT 0x8827
561 #ifndef GL_DRAW_BUFFER3_EXT
562 #define GL_DRAW_BUFFER3_EXT 0x8828
564 #ifndef GL_DRAW_BUFFER4_EXT
565 #define GL_DRAW_BUFFER4_EXT 0x8829
567 #ifndef GL_DRAW_BUFFER5_EXT
568 #define GL_DRAW_BUFFER5_EXT 0x882A
570 #ifndef GL_DRAW_BUFFER6_EXT
571 #define GL_DRAW_BUFFER6_EXT 0x882B
573 #ifndef GL_DRAW_BUFFER7_EXT
574 #define GL_DRAW_BUFFER7_EXT 0x882C
576 #ifndef GL_DRAW_BUFFER8_EXT
577 #define GL_DRAW_BUFFER8_EXT 0x882D
579 #ifndef GL_DRAW_BUFFER9_EXT
580 #define GL_DRAW_BUFFER9_EXT 0x882E
582 #ifndef GL_DRAW_BUFFER10_EXT
583 #define GL_DRAW_BUFFER10_EXT 0x882F
585 #ifndef GL_DRAW_BUFFER11_EXT
586 #define GL_DRAW_BUFFER11_EXT 0x8830
588 #ifndef GL_DRAW_BUFFER12_EXT
589 #define GL_DRAW_BUFFER12_EXT 0x8831
591 #ifndef GL_DRAW_BUFFER13_EXT
592 #define GL_DRAW_BUFFER13_EXT 0x8832
594 #ifndef GL_DRAW_BUFFER14_EXT
595 #define GL_DRAW_BUFFER14_EXT 0x8833
597 #ifndef GL_DRAW_BUFFER15_EXT
598 #define GL_DRAW_BUFFER15_EXT 0x8834
601 #ifndef GL_MAX_COLOR_ATTACHMENTS_EXT
602 #define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF
605 #ifndef GL_MAX_DRAW_BUFFERS_EXT
606 #define GL_MAX_DRAW_BUFFERS_EXT 0x8824
609 #endif /* GL_EXT_draw_buffers */
611 /* GL_CHROMIUM_resize */
612 #ifndef GL_CHROMIUM_resize
613 #define GL_CHROMIUM_resize 1
614 #ifdef GL_GLEXT_PROTOTYPES
615 GL_APICALL
void GL_APIENTRY
glResizeCHROMIUM(
616 GLuint width
, GLuint height
, GLfloat scale_factor
);
618 typedef void (GL_APIENTRYP PFNGLRESIZECHROMIUMPROC
) (
619 GLuint width
, GLuint height
);
620 #endif /* GL_CHROMIUM_resize */
622 /* GL_CHROMIUM_get_multiple */
623 #ifndef GL_CHROMIUM_get_multiple
624 #define GL_CHROMIUM_get_multiple 1
625 #ifdef GL_GLEXT_PROTOTYPES
626 GL_APICALL
void GL_APIENTRY
glGetMultipleIntegervCHROMIUM(
627 const GLenum
* pnames
, GLuint count
, GLint
* results
, GLsizeiptr size
);
628 GL_APICALL
void GL_APIENTRY
glGetProgramInfoCHROMIUM(
629 GLuint program
, GLsizei bufsize
, GLsizei
* size
, void* info
);
631 typedef void (GL_APIENTRYP PFNGLGETMULTIPLEINTEGERVCHROMIUMPROC
) (
632 const GLenum
* pnames
, GLuint count
, GLint
* results
, GLsizeiptr size
);
633 typedef void (GL_APIENTRYP PFNGLGETPROGRAMINFOCHROMIUMPROC
) (
634 GLuint program
, GLsizei bufsize
, GLsizei
* size
, void* info
);
635 #endif /* GL_CHROMIUM_get_multiple */
637 /* GL_CHROMIUM_sync_point */
638 #ifndef GL_CHROMIUM_sync_point
639 #define GL_CHROMIUM_sync_point 1
640 #ifdef GL_GLEXT_PROTOTYPES
641 GL_APICALL GLuint GL_APIENTRY
glInsertSyncPointCHROMIUM();
642 GL_APICALL
void GL_APIENTRY
glWaitSyncPointCHROMIUM(GLuint sync_point
);
644 typedef GLuint (GL_APIENTRYP PFNGLINSERTSYNCPOINTCHROMIUMPROC
) ();
645 typedef void (GL_APIENTRYP PFNGLWAITSYNCPOINTCHROMIUMPROC
) (GLuint sync_point
);
646 #endif /* GL_CHROMIUM_sync_point */
648 #ifndef GL_CHROMIUM_color_buffer_float_rgba
649 #define GL_CHROMIUM_color_buffer_float_rgba 1
651 #define GL_RGBA32F 0x8814
653 #endif /* GL_CHROMIUM_color_buffer_float_rgba */
655 #ifndef GL_CHROMIUM_color_buffer_float_rgb
656 #define GL_CHROMIUM_color_buffer_float_rgb 1
658 #define GL_RGB32F 0x8815
660 #endif /* GL_CHROMIUM_color_buffer_float_rgb */
662 /* GL_CHROMIUM_schedule_overlay_plane */
663 #ifndef GL_CHROMIUM_schedule_overlay_plane
664 #define GL_CHROMIUM_schedule_overlay_plane 1
666 #ifndef GL_OVERLAY_TRANSFORM_NONE_CHROMIUM
667 #define GL_OVERLAY_TRANSFORM_NONE_CHROMIUM 0x9245
670 #ifndef GL_OVERLAY_TRANSFORM_FLIP_HORIZONTAL_CHROMIUM
671 #define GL_OVERLAY_TRANSFORM_FLIP_HORIZONTAL_CHROMIUM 0x9246
674 #ifndef GL_OVERLAY_TRANSFORM_FLIP_VERTICAL_CHROMIUM
675 #define GL_OVERLAY_TRANSFORM_FLIP_VERTICAL_CHROMIUM 0x9247
678 #ifndef GL_OVERLAY_TRANSFORM_ROTATE_90_CHROMIUM
679 #define GL_OVERLAY_TRANSFORM_ROTATE_90_CHROMIUM 0x9248
682 #ifndef GL_OVERLAY_TRANSFORM_ROTATE_180_CHROMIUM
683 #define GL_OVERLAY_TRANSFORM_ROTATE_180_CHROMIUM 0x9249
686 #ifndef GL_OVERLAY_TRANSFORM_ROTATE_270_CHROMIUM
687 #define GL_OVERLAY_TRANSFORM_ROTATE_270_CHROMIUM 0x924A
690 #ifdef GL_GLEXT_PROTOTYPES
691 GL_APICALL
void GL_APIENTRY
692 glScheduleOverlayPlaneCHROMIUM(GLint plane_z_order
,
693 GLenum plane_transform
,
694 GLuint overlay_texture_id
,
704 typedef void(GL_APIENTRYP PFNGLSCHEDULEOVERLAYPLANECHROMIUMPROC
)(
706 GLenum plane_transform
,
707 GLuint overlay_texture_id
,
716 #endif /* GL_CHROMIUM_schedule_overlay_plane */
718 /* GL_CHROMIUM_sync_query */
719 #ifndef GL_CHROMIUM_sync_query
720 #define GL_CHROMIUM_sync_query 1
722 #ifndef GL_COMMANDS_COMPLETED_CHROMIUM
723 #define GL_COMMANDS_COMPLETED_CHROMIUM 0x84F7
725 #endif /* GL_CHROMIUM_sync_query */
727 #ifndef GL_CHROMIUM_path_rendering
728 #define GL_CHROMIUM_path_rendering 1
730 #ifdef GL_GLEXT_PROTOTYPES
731 GL_APICALL
void GL_APIENTRY
732 glMatrixLoadfCHROMIUM(GLenum mode
, const GLfloat
* m
);
733 GL_APICALL
void GL_APIENTRY
glMatrixLoadIdentityCHROMIUM(GLenum mode
);
736 typedef void(GL_APIENTRYP PFNGLMATRIXLOADFCHROMIUMPROC
)(GLenum matrixMode
,
738 typedef void(GL_APIENTRYP PFNGLMATRIXLOADIDENTITYCHROMIUMPROC
)(
741 #endif /* GL_CHROMIUM_path_rendering */
747 #endif // GPU_GLES2_GL2EXTCHROMIUM_H_