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_map_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_READ_WRITE
106 #define GL_READ_WRITE 0x88BA
109 #ifdef GL_GLEXT_PROTOTYPES
110 GL_APICALL GLuint GL_APIENTRY glCreateImageCHROMIUM(
111 GLsizei width, GLsizei height, GLenum internalformat);
112 GL_APICALL void GL_APIENTRY glDestroyImageCHROMIUM(GLuint image_id);
113 GL_APICALL void GL_APIENTRY glGetImageParameterivCHROMIUM(
114 GLuint image_id, GLenum pname, GLint* params);
115 GL_APICALL void* GL_APIENTRY glMapImageCHROMIUM(GLuint image_id, GLenum access);
116 GL_APICALL void GL_APIENTRY glUnmapImageCHROMIUM(GLuint image_id);
118 typedef GLuint (GL_APIENTRYP PFNGLCREATEIMAGECHROMIUMPROC) (
119 GLsizei width, GLsizei height, GLenum internalformat);
121 GL_APIENTRYP PFNGLDESTROYIMAGECHROMIUMPROC) (GLuint image_id);
123 GL_APIENTRYP PFNGLGETIMAGEPARAMETERIVCHROMIUMPROC) (
124 GLuint image_id, GLenum pname, GLint* params);
125 typedef void* (GL_APIENTRYP PFNGLMAPIMAGECHROMIUMPROC) (
126 GLuint image_id, GLenum access);
127 typedef void (GL_APIENTRYP PFNGLUNMAPIMAGECHROMIUMPROC) (GLuint image_id);
128 #endif /* GL_CHROMIUM_map_image */
130 /* GL_CHROMIUM_map_sub */
131 #ifndef GL_CHROMIUM_map_sub
132 #define GL_CHROMIUM_map_sub 1
135 #define GL_READ_ONLY 0x88B8
138 #ifndef GL_WRITE_ONLY
139 #define GL_WRITE_ONLY 0x88B9
141 #ifdef GL_GLEXT_PROTOTYPES
142 GL_APICALL void* GL_APIENTRY glMapBufferSubDataCHROMIUM(
143 GLuint target, GLintptr offset, GLsizeiptr size, GLenum access);
144 GL_APICALL void GL_APIENTRY glUnmapBufferSubDataCHROMIUM(const void* mem);
145 GL_APICALL void* GL_APIENTRY glMapTexSubImage2DCHROMIUM(
146 GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
147 GLsizei height, GLenum format, GLenum type, GLenum access);
148 GL_APICALL void GL_APIENTRY glUnmapTexSubImage2DCHROMIUM(const void* mem);
150 typedef void* (GL_APIENTRYP PFNGLMAPBUFFERSUBDATACHROMIUMPROC) (
151 GLuint target, GLintptr offset, GLsizeiptr size, GLenum access);
153 GL_APIENTRYP PFNGLUNMAPBUFFERSUBDATACHROMIUMPROC) (const void* mem);
154 typedef void* (GL_APIENTRYP PFNGLMAPTEXSUBIMAGE2DCHROMIUMPROC) (
155 GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
156 GLsizei height, GLenum format, GLenum type, GLenum access);
158 GL_APIENTRYP PFNGLUNMAPTEXSUBIMAGE2DCHROMIUMPROC) (const void* mem);
159 #endif /* GL_CHROMIUM_map_sub */
161 /* GL_CHROMIUM_request_extension */
162 #ifndef GL_CHROMIUM_request_extension
163 #define GL_CHROMIUM_request_extension 1
164 #ifdef GL_GLEXT_PROTOTYPES
165 GL_APICALL const GLchar* GL_APIENTRY glGetRequestableExtensionsCHROMIUM();
166 GL_APICALL void GL_APIENTRY glRequestExtensionCHROMIUM(const char* extension);
168 typedef const GLchar* (GL_APIENTRYP PFNGLGETREQUESTABLEEXTENSIONSCHROMIUMPROC) (
170 typedef void (GL_APIENTRYP PFNGLREQUESTEXTENSIONCHROMIUMPROC) (
171 const char* extension);
172 #endif /* GL_CHROMIUM_request_extension */
174 /* GL_CHROMIUM_get_error_query */
175 #ifndef GL_CHROMIUM_get_error_query
176 #define GL_CHROMIUM_get_error_query 1
178 #ifndef GL_GET_ERROR_QUERY_CHROMIUM
179 // TODO(gman): Get official numbers for this constants.
180 #define GL_GET_ERROR_QUERY_CHROMIUM 0x84F3
182 #endif /* GL_CHROMIUM_get_error_query */
184 /* GL_CHROMIUM_texture_from_image */
185 #ifndef GL_CHROMIUM_texture_from_image
186 #define GL_CHROMIUM_texture_from_image 1
187 #ifdef GL_GLEXT_PROTOTYPES
188 GL_APICALL void GL_APIENTRY glBindTexImage2DCHROMIUM(
189 GLenum target, GLint imageId);
190 GL_APICALL void GL_APIENTRY glReleaseTexImage2DCHROMIUM(
191 GLenum target, GLint imageId);
193 typedef void (GL_APIENTRYP PFNGLBINDTEXIMAGE2DCHROMIUMPROC) (
194 GLenum target, GLint imageId);
195 typedef void (GL_APIENTRYP PFNGLRELEASETEXIMAGE2DCHROMIUMPROC) (
196 GLenum target, GLint imageId);
197 #endif /* GL_CHROMIUM_texture_from_image */
199 /* GL_CHROMIUM_rate_limit_offscreen_context */
200 #ifndef GL_CHROMIUM_rate_limit_offscreen_context
201 #define GL_CHROMIUM_rate_limit_offscreen_context 1
202 #ifdef GL_GLEXT_PROTOTYPES
203 GL_APICALL void GL_APIENTRY glRateLimitOffscreenContextCHROMIUM();
205 typedef void (GL_APIENTRYP PFNGLRATELIMITOFFSCREENCONTEXTCHROMIUMPROC) ();
206 #endif /* GL_CHROMIUM_rate_limit_offscreen_context */
208 /* GL_CHROMIUM_post_sub_buffer */
209 #ifndef GL_CHROMIUM_post_sub_buffer
210 #define GL_CHROMIUM_post_sub_buffer 1
211 #ifdef GL_GLEXT_PROTOTYPES
212 GL_APICALL void GL_APIENTRY glPostSubBufferCHROMIUM(
213 GLint x, GLint y, GLint width, GLint height);
215 typedef void (GL_APIENTRYP PFNGLPOSTSUBBUFFERCHROMIUMPROC) (
216 GLint x, GLint y, GLint width, GLint height);
217 #endif /* GL_CHROMIUM_post_sub_buffer */
219 /* GL_CHROMIUM_bind_uniform_location */
220 #ifndef GL_CHROMIUM_bind_uniform_location
221 #define GL_CHROMIUM_bind_uniform_location 1
222 #ifdef GL_GLEXT_PROTOTYPES
223 GL_APICALL void GL_APIENTRY glBindUniformLocationCHROMIUM(
224 GLuint program, GLint location, const char* name);
226 typedef void (GL_APIENTRYP PFNGLBINDUNIFORMLOCATIONCHROMIUMPROC) (
227 GLuint program, GLint location, const char* name);
228 #endif /* GL_CHROMIUM_bind_uniform_location */
230 /* GL_CHROMIUM_command_buffer_query */
231 #ifndef GL_CHROMIUM_command_buffer_query
232 #define GL_CHROMIUM_command_buffer_query 1
234 #ifndef GL_COMMANDS_ISSUED_CHROMIUM
235 // TODO(gman): Get official numbers for this constants.
236 #define GL_COMMANDS_ISSUED_CHROMIUM 0x84F2
238 #endif /* GL_CHROMIUM_command_buffer_query */
240 /* GL_CHROMIUM_framebuffer_multisample */
241 #ifndef GL_CHROMIUM_framebuffer_multisample
242 #define GL_CHROMIUM_framebuffer_multisample 1
244 #ifdef GL_GLEXT_PROTOTYPES
245 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleCHROMIUM (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
246 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);
248 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLECHROMIUMPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
249 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);
251 #ifndef GL_FRAMEBUFFER_BINDING_EXT
252 #define GL_FRAMEBUFFER_BINDING_EXT GL_FRAMEBUFFER_BINDING
255 #ifndef GL_DRAW_FRAMEBUFFER_BINDING_EXT
256 #define GL_DRAW_FRAMEBUFFER_BINDING_EXT GL_DRAW_FRAMEBUFFER_BINDING
259 #ifndef GL_RENDERBUFFER_BINDING_EXT
260 #define GL_RENDERBUFFER_BINDING_EXT GL_RENDERBUFFER_BINDING
263 #ifndef GL_RENDERBUFFER_SAMPLES
264 #define GL_RENDERBUFFER_SAMPLES 0x8CAB
267 #ifndef GL_READ_FRAMEBUFFER_EXT
268 #define GL_READ_FRAMEBUFFER_EXT GL_READ_FRAMEBUFFER
271 #ifndef GL_RENDERBUFFER_SAMPLES_EXT
272 #define GL_RENDERBUFFER_SAMPLES_EXT GL_RENDERBUFFER_SAMPLES
275 #ifndef GL_RENDERBUFFER_BINDING
276 #define GL_RENDERBUFFER_BINDING 0x8CA7
279 #ifndef GL_READ_FRAMEBUFFER_BINDING
280 #define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
283 #ifndef GL_MAX_SAMPLES
284 #define GL_MAX_SAMPLES 0x8D57
287 #ifndef GL_READ_FRAMEBUFFER_BINDING_EXT
288 #define GL_READ_FRAMEBUFFER_BINDING_EXT GL_READ_FRAMEBUFFER_BINDING
291 #ifndef GL_DRAW_FRAMEBUFFER_BINDING
292 #define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6
295 #ifndef GL_MAX_SAMPLES_EXT
296 #define GL_MAX_SAMPLES_EXT GL_MAX_SAMPLES
299 #ifndef GL_DRAW_FRAMEBUFFER
300 #define GL_DRAW_FRAMEBUFFER 0x8CA9
303 #ifndef GL_READ_FRAMEBUFFER
304 #define GL_READ_FRAMEBUFFER 0x8CA8
307 #ifndef GL_DRAW_FRAMEBUFFER_EXT
308 #define GL_DRAW_FRAMEBUFFER_EXT GL_DRAW_FRAMEBUFFER
311 #ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE
312 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
315 #ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT
316 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE // NOLINT
319 #ifndef GL_FRAMEBUFFER_BINDING
320 #define GL_FRAMEBUFFER_BINDING 0x8CA6
322 #endif /* GL_CHROMIUM_framebuffer_multisample */
324 /* GL_CHROMIUM_texture_compression_dxt3 */
325 #ifndef GL_CHROMIUM_texture_compression_dxt3
326 #define GL_CHROMIUM_texture_compression_dxt3 1
328 #ifndef GL_COMPRESSED_RGBA_S3TC_DXT3_EXT
329 #define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
331 #endif /* GL_CHROMIUM_texture_compression_dxt3 */
333 /* GL_CHROMIUM_texture_compression_dxt5 */
334 #ifndef GL_CHROMIUM_texture_compression_dxt5
335 #define GL_CHROMIUM_texture_compression_dxt5 1
337 #ifndef GL_COMPRESSED_RGBA_S3TC_DXT5_EXT
338 #define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
340 #endif /* GL_CHROMIUM_texture_compression_dxt5 */
342 /* GL_CHROMIUM_async_pixel_transfers */
343 #ifndef GL_CHROMIUM_async_pixel_transfers
344 #define GL_CHROMIUM_async_pixel_transfers 1
346 #ifndef GL_ASYNC_PIXEL_UNPACK_COMPLETED_CHROMIUM
347 #define GL_ASYNC_PIXEL_UNPACK_COMPLETED_CHROMIUM 0x84F5
349 #ifndef GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM
350 #define GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM 0x84F6
352 #endif /* GL_CHROMIUM_async_pixel_transfers */
354 /* GL_CHROMIUM_copy_texture */
355 #ifndef GL_CHROMIUM_copy_texture
356 #define GL_CHROMIUM_copy_texture 1
358 #ifndef GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM
359 #define GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM 0x9243
362 #ifndef GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM
363 #define GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM 0x9242
366 #ifndef GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM
367 #define GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM 0x9241
369 #ifdef GL_GLEXT_PROTOTYPES
370 GL_APICALL void GL_APIENTRY glCopyTextureCHROMIUM(
371 GLenum target, GLenum source_id, GLenum dest_id, GLint level,
372 GLint internalformat, GLenum dest_type);
374 typedef void (GL_APIENTRYP PFNGLCOPYTEXTURECHROMIUMPROC) (
375 GLenum target, GLenum source_id, GLenum dest_id, GLint level,
376 GLint internalformat, GLenum dest_type);
377 #endif /* GL_CHROMIUM_copy_texture */
379 /* GL_CHROMIUM_lose_context */
380 #ifndef GL_CHROMIUM_lose_context
381 #define GL_CHROMIUM_lose_context 1
382 #ifdef GL_GLEXT_PROTOTYPES
383 GL_APICALL void GL_APIENTRY glLoseContextCHROMIUM(GLenum current, GLenum other);
385 typedef void (GL_APIENTRYP PFNGLLOSECONTEXTCHROMIUMPROC) (
386 GLenum current, GLenum other);
387 #endif /* GL_CHROMIUM_lose_context */
389 /* GL_CHROMIUM_flipy */
390 #ifndef GL_CHROMIUM_flipy
391 #define GL_CHROMIUM_flipy 1
393 #ifndef GL_UNPACK_FLIP_Y_CHROMIUM
394 #define GL_UNPACK_FLIP_Y_CHROMIUM 0x9240
396 #endif /* GL_CHROMIUM_flipy */
398 /* GL_ARB_texture_rectangle */
399 #ifndef GL_ARB_texture_rectangle
400 #define GL_ARB_texture_rectangle 1
402 #ifndef GL_SAMPLER_2D_RECT_ARB
403 #define GL_SAMPLER_2D_RECT_ARB 0x8B63
406 #ifndef GL_TEXTURE_BINDING_RECTANGLE_ARB
407 #define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6
410 #ifndef GL_TEXTURE_RECTANGLE_ARB
411 #define GL_TEXTURE_RECTANGLE_ARB 0x84F5
413 #endif /* GL_ARB_texture_rectangle */
415 /* GL_CHROMIUM_enable_feature */
416 #ifndef GL_CHROMIUM_enable_feature
417 #define GL_CHROMIUM_enable_feature 1
418 #ifdef GL_GLEXT_PROTOTYPES
419 GL_APICALL GLboolean GL_APIENTRY glEnableFeatureCHROMIUM(const char* feature);
421 typedef GLboolean (GL_APIENTRYP PFNGLENABLEFEATURECHROMIUMPROC) (
422 const char* feature);
423 #endif /* GL_CHROMIUM_enable_feature */
425 /* GL_CHROMIUM_command_buffer_latency_query */
426 #ifndef GL_CHROMIUM_command_buffer_latency_query
427 #define GL_CHROMIUM_command_buffer_latency_query 1
429 #ifndef GL_LATENCY_QUERY_CHROMIUM
430 // TODO(gman): Get official numbers for these constants.
431 #define GL_LATENCY_QUERY_CHROMIUM 0x84F4
433 #endif /* GL_CHROMIUM_command_buffer_latency_query */
435 /* GL_ARB_robustness */
436 #ifndef GL_ARB_robustness
437 #define GL_ARB_robustness 1
439 #ifndef GL_GUILTY_CONTEXT_RESET_ARB
440 #define GL_GUILTY_CONTEXT_RESET_ARB 0x8253
443 #ifndef GL_UNKNOWN_CONTEXT_RESET_ARB
444 #define GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255
447 #ifndef GL_INNOCENT_CONTEXT_RESET_ARB
448 #define GL_INNOCENT_CONTEXT_RESET_ARB 0x8254
450 #endif /* GL_ARB_robustness */
452 /* GL_EXT_framebuffer_blit */
453 #ifndef GL_EXT_framebuffer_blit
454 #define GL_EXT_framebuffer_blit 1
455 #ifdef GL_GLEXT_PROTOTYPES
456 GL_APICALL void GL_APIENTRY glBlitFramebufferEXT(
457 GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0,
458 GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
460 typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFEREXTPROC) (
461 GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0,
462 GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
463 #endif /* GL_EXT_framebuffer_blit */
465 /* GL_EXT_draw_buffers */
466 #ifndef GL_EXT_draw_buffers
467 #define GL_EXT_draw_buffers 1
469 #ifdef GL_GLEXT_PROTOTYPES
470 GL_APICALL void GL_APIENTRY glDrawBuffersEXT(
471 GLsizei n, const GLenum* bufs);
473 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC) (
474 GLsizei n, const GLenum* bufs);
476 #ifndef GL_COLOR_ATTACHMENT0_EXT
477 #define GL_COLOR_ATTACHMENT0_EXT 0x8CE0
479 #ifndef GL_COLOR_ATTACHMENT1_EXT
480 #define GL_COLOR_ATTACHMENT1_EXT 0x8CE1
482 #ifndef GL_COLOR_ATTACHMENT2_EXT
483 #define GL_COLOR_ATTACHMENT2_EXT 0x8CE2
485 #ifndef GL_COLOR_ATTACHMENT3_EXT
486 #define GL_COLOR_ATTACHMENT3_EXT 0x8CE3
488 #ifndef GL_COLOR_ATTACHMENT4_EXT
489 #define GL_COLOR_ATTACHMENT4_EXT 0x8CE4
491 #ifndef GL_COLOR_ATTACHMENT5_EXT
492 #define GL_COLOR_ATTACHMENT5_EXT 0x8CE5
494 #ifndef GL_COLOR_ATTACHMENT6_EXT
495 #define GL_COLOR_ATTACHMENT6_EXT 0x8CE6
497 #ifndef GL_COLOR_ATTACHMENT7_EXT
498 #define GL_COLOR_ATTACHMENT7_EXT 0x8CE7
500 #ifndef GL_COLOR_ATTACHMENT8_EXT
501 #define GL_COLOR_ATTACHMENT8_EXT 0x8CE8
503 #ifndef GL_COLOR_ATTACHMENT9_EXT
504 #define GL_COLOR_ATTACHMENT9_EXT 0x8CE9
506 #ifndef GL_COLOR_ATTACHMENT10_EXT
507 #define GL_COLOR_ATTACHMENT10_EXT 0x8CEA
509 #ifndef GL_COLOR_ATTACHMENT11_EXT
510 #define GL_COLOR_ATTACHMENT11_EXT 0x8CEB
512 #ifndef GL_COLOR_ATTACHMENT12_EXT
513 #define GL_COLOR_ATTACHMENT12_EXT 0x8CEC
515 #ifndef GL_COLOR_ATTACHMENT13_EXT
516 #define GL_COLOR_ATTACHMENT13_EXT 0x8CED
518 #ifndef GL_COLOR_ATTACHMENT14_EXT
519 #define GL_COLOR_ATTACHMENT14_EXT 0x8CEE
521 #ifndef GL_COLOR_ATTACHMENT15_EXT
522 #define GL_COLOR_ATTACHMENT15_EXT 0x8CEF
525 #ifndef GL_DRAW_BUFFER0_EXT
526 #define GL_DRAW_BUFFER0_EXT 0x8825
528 #ifndef GL_DRAW_BUFFER1_EXT
529 #define GL_DRAW_BUFFER1_EXT 0x8826
531 #ifndef GL_DRAW_BUFFER2_EXT
532 #define GL_DRAW_BUFFER2_EXT 0x8827
534 #ifndef GL_DRAW_BUFFER3_EXT
535 #define GL_DRAW_BUFFER3_EXT 0x8828
537 #ifndef GL_DRAW_BUFFER4_EXT
538 #define GL_DRAW_BUFFER4_EXT 0x8829
540 #ifndef GL_DRAW_BUFFER5_EXT
541 #define GL_DRAW_BUFFER5_EXT 0x882A
543 #ifndef GL_DRAW_BUFFER6_EXT
544 #define GL_DRAW_BUFFER6_EXT 0x882B
546 #ifndef GL_DRAW_BUFFER7_EXT
547 #define GL_DRAW_BUFFER7_EXT 0x882C
549 #ifndef GL_DRAW_BUFFER8_EXT
550 #define GL_DRAW_BUFFER8_EXT 0x882D
552 #ifndef GL_DRAW_BUFFER9_EXT
553 #define GL_DRAW_BUFFER9_EXT 0x882E
555 #ifndef GL_DRAW_BUFFER10_EXT
556 #define GL_DRAW_BUFFER10_EXT 0x882F
558 #ifndef GL_DRAW_BUFFER11_EXT
559 #define GL_DRAW_BUFFER11_EXT 0x8830
561 #ifndef GL_DRAW_BUFFER12_EXT
562 #define GL_DRAW_BUFFER12_EXT 0x8831
564 #ifndef GL_DRAW_BUFFER13_EXT
565 #define GL_DRAW_BUFFER13_EXT 0x8832
567 #ifndef GL_DRAW_BUFFER14_EXT
568 #define GL_DRAW_BUFFER14_EXT 0x8833
570 #ifndef GL_DRAW_BUFFER15_EXT
571 #define GL_DRAW_BUFFER15_EXT 0x8834
574 #ifndef GL_MAX_COLOR_ATTACHMENTS_EXT
575 #define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF
578 #ifndef GL_MAX_DRAW_BUFFERS_EXT
579 #define GL_MAX_DRAW_BUFFERS_EXT 0x8824
582 #endif /* GL_EXT_draw_buffers */
584 /* GL_CHROMIUM_resize */
585 #ifndef GL_CHROMIUM_resize
586 #define GL_CHROMIUM_resize 1
587 #ifdef GL_GLEXT_PROTOTYPES
588 GL_APICALL void GL_APIENTRY glResizeCHROMIUM(
589 GLuint width, GLuint height, GLfloat scale_factor);
591 typedef void (GL_APIENTRYP PFNGLRESIZECHROMIUMPROC) (
592 GLuint width, GLuint height);
593 #endif /* GL_CHROMIUM_resize */
595 /* GL_CHROMIUM_get_multiple */
596 #ifndef GL_CHROMIUM_get_multiple
597 #define GL_CHROMIUM_get_multiple 1
598 #ifdef GL_GLEXT_PROTOTYPES
599 GL_APICALL void GL_APIENTRY glGetMultipleIntegervCHROMIUM(
600 const GLenum* pnames, GLuint count, GLint* results, GLsizeiptr size);
601 GL_APICALL void GL_APIENTRY glGetProgramInfoCHROMIUM(
602 GLuint program, GLsizei bufsize, GLsizei* size, void* info);
604 typedef void (GL_APIENTRYP PFNGLGETMULTIPLEINTEGERVCHROMIUMPROC) (
605 const GLenum* pnames, GLuint count, GLint* results, GLsizeiptr size);
606 typedef void (GL_APIENTRYP PFNGLGETPROGRAMINFOCHROMIUMPROC) (
607 GLuint program, GLsizei bufsize, GLsizei* size, void* info);
608 #endif /* GL_CHROMIUM_get_multiple */
610 /* GL_CHROMIUM_sync_point */
611 #ifndef GL_CHROMIUM_sync_point
612 #define GL_CHROMIUM_sync_point 1
613 #ifdef GL_GLEXT_PROTOTYPES
614 GL_APICALL GLuint GL_APIENTRY glInsertSyncPointCHROMIUM();
615 GL_APICALL void GL_APIENTRY glWaitSyncPointCHROMIUM(GLuint sync_point);
617 typedef GLuint (GL_APIENTRYP PFNGLINSERTSYNCPOINTCHROMIUMPROC) ();
618 typedef void (GL_APIENTRYP PFNGLWAITSYNCPOINTCHROMIUMPROC) (GLuint sync_point);
619 #endif /* GL_CHROMIUM_sync_point */
621 #ifndef GL_CHROMIUM_color_buffer_float_rgba
622 #define GL_CHROMIUM_color_buffer_float_rgba 1
624 #define GL_RGBA32F 0x8814
626 #endif /* GL_CHROMIUM_color_buffer_float_rgba */
628 #ifndef GL_CHROMIUM_color_buffer_float_rgb
629 #define GL_CHROMIUM_color_buffer_float_rgb 1
631 #define GL_RGB32F 0x8815
633 #endif /* GL_CHROMIUM_color_buffer_float_rgb */
639 #endif // GPU_GLES2_GL2EXTCHROMIUM_H_