- add sources.
[platform/framework/web/crosswalk.git] / src / gpu / GLES2 / gl2extchromium.h
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.
4
5 // This file contains Chromium-specific GLES2 extensions declarations.
6
7 #ifndef GPU_GLES2_GL2EXTCHROMIUM_H_
8 #define GPU_GLES2_GL2EXTCHROMIUM_H_
9
10 #include <GLES2/gl2.h>
11 #include <GLES2/gl2ext.h>
12
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16
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,
23     GLuint plane);
24 #endif
25 typedef void (GL_APIENTRYP PFNGLTEXIMAGEIOSURFACE2DCHROMIUMPROC) (
26     GLenum target, GLsizei width, GLsizei height, GLuint ioSurfaceId,
27     GLuint plane);
28 #endif  /* GL_CHROMIUM_iosurface */
29
30 /* GL_CHROMIUM_gpu_memory_manager */
31 #ifndef GL_CHROMIUM_gpu_memory_manager
32 #define GL_CHROMIUM_gpu_memory_manager 1
33
34 #ifndef GL_TEXTURE_POOL_UNMANAGED_CHROMIUM
35 #define GL_TEXTURE_POOL_UNMANAGED_CHROMIUM 0x6002
36 #endif
37
38 #ifndef GL_TEXTURE_POOL_CHROMIUM
39 #define GL_TEXTURE_POOL_CHROMIUM 0x6000
40 #endif
41
42 #ifndef GL_TEXTURE_POOL_MANAGED_CHROMIUM
43 #define GL_TEXTURE_POOL_MANAGED_CHROMIUM 0x6001
44 #endif
45 #endif  /* GL_CHROMIUM_gpu_memory_manager */
46
47 /* GL_CHROMIUM_texture_mailbox */
48 #ifndef GL_CHROMIUM_texture_mailbox
49 #define GL_CHROMIUM_texture_mailbox 1
50
51 #ifndef GL_MAILBOX_SIZE_CHROMIUM
52 #define GL_MAILBOX_SIZE_CHROMIUM 64
53 #endif
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);
60 #endif
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 */
67
68 /* GL_CHROMIUM_pixel_transfer_buffer_object */
69 #ifndef GL_CHROMIUM_pixel_transfer_buffer_object
70 #define GL_CHROMIUM_pixel_transfer_buffer_object 1
71
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
76
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);
80 #endif
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 */
85
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
90 #endif
91
92 #ifndef GL_STREAM_READ
93 #define GL_STREAM_READ 0x88E1
94 #endif
95 #endif  /* GL_CHROMIUM_pixel_transfer_buffer_object */
96
97 /* GL_CHROMIUM_map_image */
98 #ifndef GL_CHROMIUM_map_image
99 #define GL_CHROMIUM_map_image 1
100
101 #ifndef GL_IMAGE_ROWBYTES_CHROMIUM
102 #define GL_IMAGE_ROWBYTES_CHROMIUM 0x78F0
103 #endif
104
105 #ifndef GL_READ_WRITE
106 #define GL_READ_WRITE 0x88BA
107 #endif
108
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);
117 #endif
118 typedef GLuint (GL_APIENTRYP PFNGLCREATEIMAGECHROMIUMPROC) (
119     GLsizei width, GLsizei height, GLenum internalformat);
120 typedef void (
121     GL_APIENTRYP PFNGLDESTROYIMAGECHROMIUMPROC) (GLuint image_id);
122 typedef void (
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 */
129
130 /* GL_CHROMIUM_map_sub */
131 #ifndef GL_CHROMIUM_map_sub
132 #define GL_CHROMIUM_map_sub 1
133
134 #ifndef GL_READ_ONLY
135 #define GL_READ_ONLY 0x88B8
136 #endif
137
138 #ifndef GL_WRITE_ONLY
139 #define GL_WRITE_ONLY 0x88B9
140 #endif
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);
149 #endif
150 typedef void* (GL_APIENTRYP PFNGLMAPBUFFERSUBDATACHROMIUMPROC) (
151     GLuint target, GLintptr offset, GLsizeiptr size, GLenum access);
152 typedef void (
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);
157 typedef void (
158     GL_APIENTRYP PFNGLUNMAPTEXSUBIMAGE2DCHROMIUMPROC) (const void* mem);
159 #endif  /* GL_CHROMIUM_map_sub */
160
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);
167 #endif
168 typedef const GLchar* (GL_APIENTRYP PFNGLGETREQUESTABLEEXTENSIONSCHROMIUMPROC) (
169     );
170 typedef void (GL_APIENTRYP PFNGLREQUESTEXTENSIONCHROMIUMPROC) (
171     const char* extension);
172 #endif  /* GL_CHROMIUM_request_extension */
173
174 /* GL_CHROMIUM_get_error_query */
175 #ifndef GL_CHROMIUM_get_error_query
176 #define GL_CHROMIUM_get_error_query 1
177
178 #ifndef GL_GET_ERROR_QUERY_CHROMIUM
179 // TODO(gman): Get official numbers for this constants.
180 #define GL_GET_ERROR_QUERY_CHROMIUM 0x84F3
181 #endif
182 #endif  /* GL_CHROMIUM_get_error_query */
183
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);
192 #endif
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 */
198
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();
204 #endif
205 typedef void (GL_APIENTRYP PFNGLRATELIMITOFFSCREENCONTEXTCHROMIUMPROC) ();
206 #endif  /* GL_CHROMIUM_rate_limit_offscreen_context */
207
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);
214 #endif
215 typedef void (GL_APIENTRYP PFNGLPOSTSUBBUFFERCHROMIUMPROC) (
216     GLint x, GLint y, GLint width, GLint height);
217 #endif  /* GL_CHROMIUM_post_sub_buffer */
218
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);
225 #endif
226 typedef void (GL_APIENTRYP PFNGLBINDUNIFORMLOCATIONCHROMIUMPROC) (
227     GLuint program, GLint location, const char* name);
228 #endif  /* GL_CHROMIUM_bind_uniform_location */
229
230 /* GL_CHROMIUM_command_buffer_query */
231 #ifndef GL_CHROMIUM_command_buffer_query
232 #define GL_CHROMIUM_command_buffer_query 1
233
234 #ifndef GL_COMMANDS_ISSUED_CHROMIUM
235 // TODO(gman): Get official numbers for this constants.
236 #define GL_COMMANDS_ISSUED_CHROMIUM 0x84F2
237 #endif
238 #endif  /* GL_CHROMIUM_command_buffer_query */
239
240 /* GL_EXT_framebuffer_multisample */
241 #ifndef GL_EXT_framebuffer_multisample
242 #define GL_EXT_framebuffer_multisample 1
243
244 #ifndef GL_FRAMEBUFFER_BINDING_EXT
245 #define GL_FRAMEBUFFER_BINDING_EXT GL_FRAMEBUFFER_BINDING
246 #endif
247
248 #ifndef GL_DRAW_FRAMEBUFFER_BINDING_EXT
249 #define GL_DRAW_FRAMEBUFFER_BINDING_EXT GL_DRAW_FRAMEBUFFER_BINDING
250 #endif
251
252 #ifndef GL_RENDERBUFFER_BINDING_EXT
253 #define GL_RENDERBUFFER_BINDING_EXT GL_RENDERBUFFER_BINDING
254 #endif
255
256 #ifndef GL_RENDERBUFFER_SAMPLES
257 #define GL_RENDERBUFFER_SAMPLES 0x8CAB
258 #endif
259
260 #ifndef GL_READ_FRAMEBUFFER_EXT
261 #define GL_READ_FRAMEBUFFER_EXT GL_READ_FRAMEBUFFER
262 #endif
263
264 #ifndef GL_RENDERBUFFER_SAMPLES_EXT
265 #define GL_RENDERBUFFER_SAMPLES_EXT GL_RENDERBUFFER_SAMPLES
266 #endif
267
268 #ifndef GL_RENDERBUFFER_BINDING
269 #define GL_RENDERBUFFER_BINDING 0x8CA7
270 #endif
271
272 #ifndef GL_READ_FRAMEBUFFER_BINDING
273 #define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
274 #endif
275
276 #ifndef GL_MAX_SAMPLES
277 #define GL_MAX_SAMPLES 0x8D57
278 #endif
279
280 #ifndef GL_READ_FRAMEBUFFER_BINDING_EXT
281 #define GL_READ_FRAMEBUFFER_BINDING_EXT GL_READ_FRAMEBUFFER_BINDING
282 #endif
283
284 #ifndef GL_DRAW_FRAMEBUFFER_BINDING
285 #define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6
286 #endif
287
288 #ifndef GL_MAX_SAMPLES_EXT
289 #define GL_MAX_SAMPLES_EXT GL_MAX_SAMPLES
290 #endif
291
292 #ifndef GL_DRAW_FRAMEBUFFER
293 #define GL_DRAW_FRAMEBUFFER 0x8CA9
294 #endif
295
296 #ifndef GL_READ_FRAMEBUFFER
297 #define GL_READ_FRAMEBUFFER 0x8CA8
298 #endif
299
300 #ifndef GL_DRAW_FRAMEBUFFER_EXT
301 #define GL_DRAW_FRAMEBUFFER_EXT GL_DRAW_FRAMEBUFFER
302 #endif
303
304 #ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE
305 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
306 #endif
307
308 #ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT
309 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE  // NOLINT
310 #endif
311
312 #ifndef GL_FRAMEBUFFER_BINDING
313 #define GL_FRAMEBUFFER_BINDING 0x8CA6
314 #endif
315 #endif  /* GL_EXT_framebuffer_multisample */
316
317 /* GL_CHROMIUM_texture_compression_dxt3 */
318 #ifndef GL_CHROMIUM_texture_compression_dxt3
319 #define GL_CHROMIUM_texture_compression_dxt3 1
320
321 #ifndef GL_COMPRESSED_RGBA_S3TC_DXT3_EXT
322 #define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
323 #endif
324 #endif  /* GL_CHROMIUM_texture_compression_dxt3 */
325
326 /* GL_CHROMIUM_texture_compression_dxt5 */
327 #ifndef GL_CHROMIUM_texture_compression_dxt5
328 #define GL_CHROMIUM_texture_compression_dxt5 1
329
330 #ifndef GL_COMPRESSED_RGBA_S3TC_DXT5_EXT
331 #define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
332 #endif
333 #endif  /* GL_CHROMIUM_texture_compression_dxt5 */
334
335 /* GL_CHROMIUM_async_pixel_transfers */
336 #ifndef GL_CHROMIUM_async_pixel_transfers
337 #define GL_CHROMIUM_async_pixel_transfers 1
338
339 #ifndef GL_ASYNC_PIXEL_UNPACK_COMPLETED_CHROMIUM
340 #define GL_ASYNC_PIXEL_UNPACK_COMPLETED_CHROMIUM 0x84F5
341 #endif
342 #ifndef GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM
343 #define GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM 0x84F6
344 #endif
345 #endif  /* GL_CHROMIUM_async_pixel_transfers */
346
347 /* GL_CHROMIUM_copy_texture */
348 #ifndef GL_CHROMIUM_copy_texture
349 #define GL_CHROMIUM_copy_texture 1
350
351 #ifndef GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM
352 #define GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM 0x9243
353 #endif
354
355 #ifndef GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM
356 #define GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM 0x9242
357 #endif
358
359 #ifndef GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM
360 #define GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM 0x9241
361 #endif
362 #ifdef GL_GLEXT_PROTOTYPES
363 GL_APICALL void GL_APIENTRY glCopyTextureCHROMIUM(
364     GLenum target, GLenum source_id, GLenum dest_id, GLint level,
365     GLint internalformat, GLenum dest_type);
366 #endif
367 typedef void (GL_APIENTRYP PFNGLCOPYTEXTURECHROMIUMPROC) (
368     GLenum target, GLenum source_id, GLenum dest_id, GLint level,
369     GLint internalformat, GLenum dest_type);
370 #endif  /* GL_CHROMIUM_copy_texture */
371
372 /* GL_CHROMIUM_lose_context */
373 #ifndef GL_CHROMIUM_lose_context
374 #define GL_CHROMIUM_lose_context 1
375 #ifdef GL_GLEXT_PROTOTYPES
376 GL_APICALL void GL_APIENTRY glLoseContextCHROMIUM(GLenum current, GLenum other);
377 #endif
378 typedef void (GL_APIENTRYP PFNGLLOSECONTEXTCHROMIUMPROC) (
379     GLenum current, GLenum other);
380 #endif  /* GL_CHROMIUM_lose_context */
381
382 /* GL_CHROMIUM_flipy */
383 #ifndef GL_CHROMIUM_flipy
384 #define GL_CHROMIUM_flipy 1
385
386 #ifndef GL_UNPACK_FLIP_Y_CHROMIUM
387 #define GL_UNPACK_FLIP_Y_CHROMIUM 0x9240
388 #endif
389 #endif  /* GL_CHROMIUM_flipy */
390
391 /* GL_ARB_texture_rectangle */
392 #ifndef GL_ARB_texture_rectangle
393 #define GL_ARB_texture_rectangle 1
394
395 #ifndef GL_SAMPLER_2D_RECT_ARB
396 #define GL_SAMPLER_2D_RECT_ARB 0x8B63
397 #endif
398
399 #ifndef GL_TEXTURE_BINDING_RECTANGLE_ARB
400 #define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6
401 #endif
402
403 #ifndef GL_TEXTURE_RECTANGLE_ARB
404 #define GL_TEXTURE_RECTANGLE_ARB 0x84F5
405 #endif
406 #endif  /* GL_ARB_texture_rectangle */
407
408 /* GL_CHROMIUM_enable_feature */
409 #ifndef GL_CHROMIUM_enable_feature
410 #define GL_CHROMIUM_enable_feature 1
411 #ifdef GL_GLEXT_PROTOTYPES
412 GL_APICALL GLboolean GL_APIENTRY glEnableFeatureCHROMIUM(const char* feature);
413 #endif
414 typedef GLboolean (GL_APIENTRYP PFNGLENABLEFEATURECHROMIUMPROC) (
415     const char* feature);
416 #endif  /* GL_CHROMIUM_enable_feature */
417
418 /* GL_CHROMIUM_command_buffer_latency_query */
419 #ifndef GL_CHROMIUM_command_buffer_latency_query
420 #define GL_CHROMIUM_command_buffer_latency_query 1
421
422 #ifndef GL_LATENCY_QUERY_CHROMIUM
423 // TODO(gman): Get official numbers for these constants.
424 #define GL_LATENCY_QUERY_CHROMIUM 0x84F4
425 #endif
426 #endif  /* GL_CHROMIUM_command_buffer_latency_query */
427
428 /* GL_ARB_robustness */
429 #ifndef GL_ARB_robustness
430 #define GL_ARB_robustness 1
431
432 #ifndef GL_GUILTY_CONTEXT_RESET_ARB
433 #define GL_GUILTY_CONTEXT_RESET_ARB 0x8253
434 #endif
435
436 #ifndef GL_UNKNOWN_CONTEXT_RESET_ARB
437 #define GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255
438 #endif
439
440 #ifndef GL_INNOCENT_CONTEXT_RESET_ARB
441 #define GL_INNOCENT_CONTEXT_RESET_ARB 0x8254
442 #endif
443 #endif  /* GL_ARB_robustness */
444
445 /* GL_EXT_framebuffer_blit */
446 #ifndef GL_EXT_framebuffer_blit
447 #define GL_EXT_framebuffer_blit 1
448 #ifdef GL_GLEXT_PROTOTYPES
449 GL_APICALL void GL_APIENTRY glBlitFramebufferEXT(
450     GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0,
451     GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
452 #endif
453 typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFEREXTPROC) (
454     GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0,
455     GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
456 #endif  /* GL_EXT_framebuffer_blit */
457
458 /* GL_EXT_draw_buffers */
459 #ifndef GL_EXT_draw_buffers
460 #define GL_EXT_draw_buffers 1
461
462 #ifdef GL_GLEXT_PROTOTYPES
463 GL_APICALL void GL_APIENTRY glDrawBuffersEXT(
464     GLsizei n, const GLenum* bufs);
465 #endif
466 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC) (
467     GLsizei n, const GLenum* bufs);
468
469 #ifndef GL_COLOR_ATTACHMENT0_EXT
470 #define GL_COLOR_ATTACHMENT0_EXT 0x8CE0
471 #endif
472 #ifndef GL_COLOR_ATTACHMENT1_EXT
473 #define GL_COLOR_ATTACHMENT1_EXT 0x8CE1
474 #endif
475 #ifndef GL_COLOR_ATTACHMENT2_EXT
476 #define GL_COLOR_ATTACHMENT2_EXT 0x8CE2
477 #endif
478 #ifndef GL_COLOR_ATTACHMENT3_EXT
479 #define GL_COLOR_ATTACHMENT3_EXT 0x8CE3
480 #endif
481 #ifndef GL_COLOR_ATTACHMENT4_EXT
482 #define GL_COLOR_ATTACHMENT4_EXT 0x8CE4
483 #endif
484 #ifndef GL_COLOR_ATTACHMENT5_EXT
485 #define GL_COLOR_ATTACHMENT5_EXT 0x8CE5
486 #endif
487 #ifndef GL_COLOR_ATTACHMENT6_EXT
488 #define GL_COLOR_ATTACHMENT6_EXT 0x8CE6
489 #endif
490 #ifndef GL_COLOR_ATTACHMENT7_EXT
491 #define GL_COLOR_ATTACHMENT7_EXT 0x8CE7
492 #endif
493 #ifndef GL_COLOR_ATTACHMENT8_EXT
494 #define GL_COLOR_ATTACHMENT8_EXT 0x8CE8
495 #endif
496 #ifndef GL_COLOR_ATTACHMENT9_EXT
497 #define GL_COLOR_ATTACHMENT9_EXT 0x8CE9
498 #endif
499 #ifndef GL_COLOR_ATTACHMENT10_EXT
500 #define GL_COLOR_ATTACHMENT10_EXT 0x8CEA
501 #endif
502 #ifndef GL_COLOR_ATTACHMENT11_EXT
503 #define GL_COLOR_ATTACHMENT11_EXT 0x8CEB
504 #endif
505 #ifndef GL_COLOR_ATTACHMENT12_EXT
506 #define GL_COLOR_ATTACHMENT12_EXT 0x8CEC
507 #endif
508 #ifndef GL_COLOR_ATTACHMENT13_EXT
509 #define GL_COLOR_ATTACHMENT13_EXT 0x8CED
510 #endif
511 #ifndef GL_COLOR_ATTACHMENT14_EXT
512 #define GL_COLOR_ATTACHMENT14_EXT 0x8CEE
513 #endif
514 #ifndef GL_COLOR_ATTACHMENT15_EXT
515 #define GL_COLOR_ATTACHMENT15_EXT 0x8CEF
516 #endif
517
518 #ifndef GL_DRAW_BUFFER0_EXT
519 #define GL_DRAW_BUFFER0_EXT 0x8825
520 #endif
521 #ifndef GL_DRAW_BUFFER1_EXT
522 #define GL_DRAW_BUFFER1_EXT 0x8826
523 #endif
524 #ifndef GL_DRAW_BUFFER2_EXT
525 #define GL_DRAW_BUFFER2_EXT 0x8827
526 #endif
527 #ifndef GL_DRAW_BUFFER3_EXT
528 #define GL_DRAW_BUFFER3_EXT 0x8828
529 #endif
530 #ifndef GL_DRAW_BUFFER4_EXT
531 #define GL_DRAW_BUFFER4_EXT 0x8829
532 #endif
533 #ifndef GL_DRAW_BUFFER5_EXT
534 #define GL_DRAW_BUFFER5_EXT 0x882A
535 #endif
536 #ifndef GL_DRAW_BUFFER6_EXT
537 #define GL_DRAW_BUFFER6_EXT 0x882B
538 #endif
539 #ifndef GL_DRAW_BUFFER7_EXT
540 #define GL_DRAW_BUFFER7_EXT 0x882C
541 #endif
542 #ifndef GL_DRAW_BUFFER8_EXT
543 #define GL_DRAW_BUFFER8_EXT 0x882D
544 #endif
545 #ifndef GL_DRAW_BUFFER9_EXT
546 #define GL_DRAW_BUFFER9_EXT 0x882E
547 #endif
548 #ifndef GL_DRAW_BUFFER10_EXT
549 #define GL_DRAW_BUFFER10_EXT 0x882F
550 #endif
551 #ifndef GL_DRAW_BUFFER11_EXT
552 #define GL_DRAW_BUFFER11_EXT 0x8830
553 #endif
554 #ifndef GL_DRAW_BUFFER12_EXT
555 #define GL_DRAW_BUFFER12_EXT 0x8831
556 #endif
557 #ifndef GL_DRAW_BUFFER13_EXT
558 #define GL_DRAW_BUFFER13_EXT 0x8832
559 #endif
560 #ifndef GL_DRAW_BUFFER14_EXT
561 #define GL_DRAW_BUFFER14_EXT 0x8833
562 #endif
563 #ifndef GL_DRAW_BUFFER15_EXT
564 #define GL_DRAW_BUFFER15_EXT 0x8834
565 #endif
566
567 #ifndef GL_MAX_COLOR_ATTACHMENTS_EXT
568 #define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF
569 #endif
570
571 #ifndef GL_MAX_DRAW_BUFFERS_EXT
572 #define GL_MAX_DRAW_BUFFERS_EXT 0x8824
573 #endif
574
575 #endif  /* GL_EXT_draw_buffers */
576
577 /* GL_CHROMIUM_resize */
578 #ifndef GL_CHROMIUM_resize
579 #define GL_CHROMIUM_resize 1
580 #ifdef GL_GLEXT_PROTOTYPES
581 GL_APICALL void GL_APIENTRY glResizeCHROMIUM(
582     GLuint width, GLuint height, GLfloat scale_factor);
583 #endif
584 typedef void (GL_APIENTRYP PFNGLRESIZECHROMIUMPROC) (
585     GLuint width, GLuint height);
586 #endif  /* GL_CHROMIUM_resize */
587
588 /* GL_CHROMIUM_get_multiple */
589 #ifndef GL_CHROMIUM_get_multiple
590 #define GL_CHROMIUM_get_multiple 1
591 #ifdef GL_GLEXT_PROTOTYPES
592 GL_APICALL void GL_APIENTRY glGetMultipleIntegervCHROMIUM(
593     const GLenum* pnames, GLuint count, GLint* results, GLsizeiptr size);
594 GL_APICALL void GL_APIENTRY glGetProgramInfoCHROMIUM(
595     GLuint program, GLsizei bufsize, GLsizei* size, void* info);
596 #endif
597 typedef void (GL_APIENTRYP PFNGLGETMULTIPLEINTEGERVCHROMIUMPROC) (
598    const GLenum* pnames, GLuint count, GLint* results, GLsizeiptr size);
599 typedef void (GL_APIENTRYP PFNGLGETPROGRAMINFOCHROMIUMPROC) (
600    GLuint program, GLsizei bufsize, GLsizei* size, void* info);
601 #endif  /* GL_CHROMIUM_get_multiple */
602
603 /* GL_CHROMIUM_front_buffer_cached */
604 #ifndef GL_CHROMIUM_front_buffer_cached
605 #define GL_CHROMIUM_front_buffer_cached 1
606 #endif  /* GL_CHROMIUM_front_buffer_cached */
607
608 /* GL_CHROMIUM_sync_point */
609 #ifndef GL_CHROMIUM_sync_point
610 #define GL_CHROMIUM_sync_point 1
611 #ifdef GL_GLEXT_PROTOTYPES
612 GL_APICALL GLuint GL_APIENTRY glInsertSyncPointCHROMIUM();
613 GL_APICALL void GL_APIENTRY glWaitSyncPointCHROMIUM(GLuint sync_point);
614 #endif
615 typedef GLuint (GL_APIENTRYP PFNGLINSERTSYNCPOINTCHROMIUMPROC) ();
616 typedef void (GL_APIENTRYP PFNGLWAITSYNCPOINTCHROMIUMPROC) (GLuint sync_point);
617 #endif  /* GL_CHROMIUM_sync_point */
618
619 #ifdef __cplusplus
620 }
621 #endif
622
623 #endif  // GPU_GLES2_GL2EXTCHROMIUM_H_