• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 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);
64 #endif
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 */
75 
76 /* GL_CHROMIUM_pixel_transfer_buffer_object */
77 #ifndef GL_CHROMIUM_pixel_transfer_buffer_object
78 #define GL_CHROMIUM_pixel_transfer_buffer_object 1
79 
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
84 
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);
88 #endif
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 */
93 
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
98 #endif
99 
100 #ifndef GL_STREAM_READ
101 #define GL_STREAM_READ 0x88E1
102 #endif
103 #endif  /* GL_CHROMIUM_pixel_transfer_buffer_object */
104 
105 /* GL_CHROMIUM_image */
106 #ifndef GL_CHROMIUM_map_image
107 #define GL_CHROMIUM_map_image 1
108 
109 #ifndef GL_IMAGE_ROWBYTES_CHROMIUM
110 #define GL_IMAGE_ROWBYTES_CHROMIUM 0x78F0
111 #endif
112 
113 #ifndef GL_IMAGE_MAP_CHROMIUM
114 #define GL_IMAGE_MAP_CHROMIUM 0x78F1
115 #endif
116 
117 #ifndef GL_IMAGE_SCANOUT_CHROMIUM
118 #define GL_IMAGE_SCANOUT_CHROMIUM 0x78F2
119 #endif
120 
121 #ifdef GL_GLEXT_PROTOTYPES
122 GL_APICALL GLuint GL_APIENTRY glCreateImageCHROMIUM(GLsizei width,
123                                                     GLsizei height,
124                                                     GLenum internalformat,
125                                                     GLenum usage);
126 GL_APICALL void GL_APIENTRY glDestroyImageCHROMIUM(GLuint image_id);
127 GL_APICALL void GL_APIENTRY glGetImageParameterivCHROMIUM(
128     GLuint image_id, GLenum pname, GLint* params);
129 GL_APICALL void* GL_APIENTRY glMapImageCHROMIUM(GLuint image_id);
130 GL_APICALL void GL_APIENTRY glUnmapImageCHROMIUM(GLuint image_id);
131 #endif
132 typedef GLuint(GL_APIENTRYP PFNGLCREATEIMAGECHROMIUMPROC)(
133     GLsizei width,
134     GLsizei height,
135     GLenum internalformat);
136 typedef void (
137     GL_APIENTRYP PFNGLDESTROYIMAGECHROMIUMPROC) (GLuint image_id);
138 typedef void (
139     GL_APIENTRYP PFNGLGETIMAGEPARAMETERIVCHROMIUMPROC) (
140     GLuint image_id, GLenum pname, GLint* params);
141 typedef void* (GL_APIENTRYP PFNGLMAPIMAGECHROMIUMPROC) (
142     GLuint image_id, GLenum access);
143 typedef void (GL_APIENTRYP PFNGLUNMAPIMAGECHROMIUMPROC) (GLuint image_id);
144 #endif  /* GL_CHROMIUM_map_image */
145 
146 /* GL_CHROMIUM_map_sub */
147 #ifndef GL_CHROMIUM_map_sub
148 #define GL_CHROMIUM_map_sub 1
149 
150 #ifndef GL_READ_ONLY
151 #define GL_READ_ONLY 0x88B8
152 #endif
153 
154 #ifndef GL_WRITE_ONLY
155 #define GL_WRITE_ONLY 0x88B9
156 #endif
157 #ifdef GL_GLEXT_PROTOTYPES
158 GL_APICALL void* GL_APIENTRY glMapBufferSubDataCHROMIUM(
159     GLuint target, GLintptr offset, GLsizeiptr size, GLenum access);
160 GL_APICALL void GL_APIENTRY glUnmapBufferSubDataCHROMIUM(const void* mem);
161 GL_APICALL void* GL_APIENTRY glMapTexSubImage2DCHROMIUM(
162     GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
163     GLsizei height, GLenum format, GLenum type, GLenum access);
164 GL_APICALL void GL_APIENTRY glUnmapTexSubImage2DCHROMIUM(const void* mem);
165 #endif
166 typedef void* (GL_APIENTRYP PFNGLMAPBUFFERSUBDATACHROMIUMPROC) (
167     GLuint target, GLintptr offset, GLsizeiptr size, GLenum access);
168 typedef void (
169     GL_APIENTRYP PFNGLUNMAPBUFFERSUBDATACHROMIUMPROC) (const void* mem);
170 typedef void* (GL_APIENTRYP PFNGLMAPTEXSUBIMAGE2DCHROMIUMPROC) (
171     GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
172     GLsizei height, GLenum format, GLenum type, GLenum access);
173 typedef void (
174     GL_APIENTRYP PFNGLUNMAPTEXSUBIMAGE2DCHROMIUMPROC) (const void* mem);
175 #endif  /* GL_CHROMIUM_map_sub */
176 
177 /* GL_CHROMIUM_request_extension */
178 #ifndef GL_CHROMIUM_request_extension
179 #define GL_CHROMIUM_request_extension 1
180 #ifdef GL_GLEXT_PROTOTYPES
181 GL_APICALL const GLchar* GL_APIENTRY glGetRequestableExtensionsCHROMIUM();
182 GL_APICALL void GL_APIENTRY glRequestExtensionCHROMIUM(const char* extension);
183 #endif
184 typedef const GLchar* (GL_APIENTRYP PFNGLGETREQUESTABLEEXTENSIONSCHROMIUMPROC) (
185     );
186 typedef void (GL_APIENTRYP PFNGLREQUESTEXTENSIONCHROMIUMPROC) (
187     const char* extension);
188 #endif  /* GL_CHROMIUM_request_extension */
189 
190 /* GL_CHROMIUM_get_error_query */
191 #ifndef GL_CHROMIUM_get_error_query
192 #define GL_CHROMIUM_get_error_query 1
193 
194 #ifndef GL_GET_ERROR_QUERY_CHROMIUM
195 // TODO(gman): Get official numbers for this constants.
196 #define GL_GET_ERROR_QUERY_CHROMIUM 0x84F3
197 #endif
198 #endif  /* GL_CHROMIUM_get_error_query */
199 
200 /* GL_CHROMIUM_texture_from_image */
201 #ifndef GL_CHROMIUM_texture_from_image
202 #define GL_CHROMIUM_texture_from_image 1
203 #ifdef GL_GLEXT_PROTOTYPES
204 GL_APICALL void GL_APIENTRY glBindTexImage2DCHROMIUM(
205     GLenum target, GLint imageId);
206 GL_APICALL void GL_APIENTRY glReleaseTexImage2DCHROMIUM(
207     GLenum target, GLint imageId);
208 #endif
209 typedef void (GL_APIENTRYP PFNGLBINDTEXIMAGE2DCHROMIUMPROC) (
210     GLenum target, GLint imageId);
211 typedef void (GL_APIENTRYP PFNGLRELEASETEXIMAGE2DCHROMIUMPROC) (
212     GLenum target, GLint imageId);
213 #endif  /* GL_CHROMIUM_texture_from_image */
214 
215 /* GL_CHROMIUM_rate_limit_offscreen_context */
216 #ifndef GL_CHROMIUM_rate_limit_offscreen_context
217 #define GL_CHROMIUM_rate_limit_offscreen_context 1
218 #ifdef GL_GLEXT_PROTOTYPES
219 GL_APICALL void GL_APIENTRY glRateLimitOffscreenContextCHROMIUM();
220 #endif
221 typedef void (GL_APIENTRYP PFNGLRATELIMITOFFSCREENCONTEXTCHROMIUMPROC) ();
222 #endif  /* GL_CHROMIUM_rate_limit_offscreen_context */
223 
224 /* GL_CHROMIUM_post_sub_buffer */
225 #ifndef GL_CHROMIUM_post_sub_buffer
226 #define GL_CHROMIUM_post_sub_buffer 1
227 #ifdef GL_GLEXT_PROTOTYPES
228 GL_APICALL void GL_APIENTRY glPostSubBufferCHROMIUM(
229     GLint x, GLint y, GLint width, GLint height);
230 #endif
231 typedef void (GL_APIENTRYP PFNGLPOSTSUBBUFFERCHROMIUMPROC) (
232     GLint x, GLint y, GLint width, GLint height);
233 #endif  /* GL_CHROMIUM_post_sub_buffer */
234 
235 /* GL_CHROMIUM_bind_uniform_location */
236 #ifndef GL_CHROMIUM_bind_uniform_location
237 #define GL_CHROMIUM_bind_uniform_location 1
238 #ifdef GL_GLEXT_PROTOTYPES
239 GL_APICALL void GL_APIENTRY glBindUniformLocationCHROMIUM(
240     GLuint program, GLint location, const char* name);
241 #endif
242 typedef void (GL_APIENTRYP PFNGLBINDUNIFORMLOCATIONCHROMIUMPROC) (
243     GLuint program, GLint location, const char* name);
244 #endif  /* GL_CHROMIUM_bind_uniform_location */
245 
246 /* GL_CHROMIUM_command_buffer_query */
247 #ifndef GL_CHROMIUM_command_buffer_query
248 #define GL_CHROMIUM_command_buffer_query 1
249 
250 #ifndef GL_COMMANDS_ISSUED_CHROMIUM
251 // TODO(gman): Get official numbers for this constants.
252 #define GL_COMMANDS_ISSUED_CHROMIUM 0x84F2
253 #endif
254 #endif  /* GL_CHROMIUM_command_buffer_query */
255 
256 /* GL_CHROMIUM_framebuffer_multisample */
257 #ifndef GL_CHROMIUM_framebuffer_multisample
258 #define GL_CHROMIUM_framebuffer_multisample 1
259 
260 #ifdef GL_GLEXT_PROTOTYPES
261 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleCHROMIUM (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
262 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);
263 #endif
264 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLECHROMIUMPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
265 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);
266 
267 #ifndef GL_FRAMEBUFFER_BINDING_EXT
268 #define GL_FRAMEBUFFER_BINDING_EXT GL_FRAMEBUFFER_BINDING
269 #endif
270 
271 #ifndef GL_DRAW_FRAMEBUFFER_BINDING_EXT
272 #define GL_DRAW_FRAMEBUFFER_BINDING_EXT GL_DRAW_FRAMEBUFFER_BINDING
273 #endif
274 
275 #ifndef GL_RENDERBUFFER_BINDING_EXT
276 #define GL_RENDERBUFFER_BINDING_EXT GL_RENDERBUFFER_BINDING
277 #endif
278 
279 #ifndef GL_RENDERBUFFER_SAMPLES
280 #define GL_RENDERBUFFER_SAMPLES 0x8CAB
281 #endif
282 
283 #ifndef GL_READ_FRAMEBUFFER_EXT
284 #define GL_READ_FRAMEBUFFER_EXT GL_READ_FRAMEBUFFER
285 #endif
286 
287 #ifndef GL_RENDERBUFFER_SAMPLES_EXT
288 #define GL_RENDERBUFFER_SAMPLES_EXT GL_RENDERBUFFER_SAMPLES
289 #endif
290 
291 #ifndef GL_RENDERBUFFER_BINDING
292 #define GL_RENDERBUFFER_BINDING 0x8CA7
293 #endif
294 
295 #ifndef GL_READ_FRAMEBUFFER_BINDING
296 #define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
297 #endif
298 
299 #ifndef GL_MAX_SAMPLES
300 #define GL_MAX_SAMPLES 0x8D57
301 #endif
302 
303 #ifndef GL_READ_FRAMEBUFFER_BINDING_EXT
304 #define GL_READ_FRAMEBUFFER_BINDING_EXT GL_READ_FRAMEBUFFER_BINDING
305 #endif
306 
307 #ifndef GL_DRAW_FRAMEBUFFER_BINDING
308 #define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6
309 #endif
310 
311 #ifndef GL_MAX_SAMPLES_EXT
312 #define GL_MAX_SAMPLES_EXT GL_MAX_SAMPLES
313 #endif
314 
315 #ifndef GL_DRAW_FRAMEBUFFER
316 #define GL_DRAW_FRAMEBUFFER 0x8CA9
317 #endif
318 
319 #ifndef GL_READ_FRAMEBUFFER
320 #define GL_READ_FRAMEBUFFER 0x8CA8
321 #endif
322 
323 #ifndef GL_DRAW_FRAMEBUFFER_EXT
324 #define GL_DRAW_FRAMEBUFFER_EXT GL_DRAW_FRAMEBUFFER
325 #endif
326 
327 #ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE
328 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
329 #endif
330 
331 #ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT
332 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE  // NOLINT
333 #endif
334 
335 #ifndef GL_FRAMEBUFFER_BINDING
336 #define GL_FRAMEBUFFER_BINDING 0x8CA6
337 #endif
338 #endif  /* GL_CHROMIUM_framebuffer_multisample */
339 
340 /* GL_CHROMIUM_texture_compression_dxt3 */
341 #ifndef GL_CHROMIUM_texture_compression_dxt3
342 #define GL_CHROMIUM_texture_compression_dxt3 1
343 
344 #ifndef GL_COMPRESSED_RGBA_S3TC_DXT3_EXT
345 #define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
346 #endif
347 #endif  /* GL_CHROMIUM_texture_compression_dxt3 */
348 
349 /* GL_CHROMIUM_texture_compression_dxt5 */
350 #ifndef GL_CHROMIUM_texture_compression_dxt5
351 #define GL_CHROMIUM_texture_compression_dxt5 1
352 
353 #ifndef GL_COMPRESSED_RGBA_S3TC_DXT5_EXT
354 #define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
355 #endif
356 #endif  /* GL_CHROMIUM_texture_compression_dxt5 */
357 
358 /* GL_CHROMIUM_async_pixel_transfers */
359 #ifndef GL_CHROMIUM_async_pixel_transfers
360 #define GL_CHROMIUM_async_pixel_transfers 1
361 
362 #ifndef GL_ASYNC_PIXEL_UNPACK_COMPLETED_CHROMIUM
363 #define GL_ASYNC_PIXEL_UNPACK_COMPLETED_CHROMIUM 0x84F5
364 #endif
365 #ifndef GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM
366 #define GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM 0x84F6
367 #endif
368 #endif  /* GL_CHROMIUM_async_pixel_transfers */
369 
370 #ifndef GL_BIND_GENERATES_RESOURCE_CHROMIUM
371 #define GL_BIND_GENERATES_RESOURCE_CHROMIUM 0x9244
372 #endif
373 
374 /* GL_CHROMIUM_copy_texture */
375 #ifndef GL_CHROMIUM_copy_texture
376 #define GL_CHROMIUM_copy_texture 1
377 
378 #ifndef GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM
379 #define GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM 0x9243
380 #endif
381 
382 #ifndef GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM
383 #define GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM 0x9242
384 #endif
385 
386 #ifndef GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM
387 #define GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM 0x9241
388 #endif
389 #ifdef GL_GLEXT_PROTOTYPES
390 GL_APICALL void GL_APIENTRY glCopyTextureCHROMIUM(
391     GLenum target, GLenum source_id, GLenum dest_id, GLint level,
392     GLint internalformat, GLenum dest_type);
393 #endif
394 typedef void (GL_APIENTRYP PFNGLCOPYTEXTURECHROMIUMPROC) (
395     GLenum target, GLenum source_id, GLenum dest_id, GLint level,
396     GLint internalformat, GLenum dest_type);
397 #endif  /* GL_CHROMIUM_copy_texture */
398 
399 /* GL_CHROMIUM_lose_context */
400 #ifndef GL_CHROMIUM_lose_context
401 #define GL_CHROMIUM_lose_context 1
402 #ifdef GL_GLEXT_PROTOTYPES
403 GL_APICALL void GL_APIENTRY glLoseContextCHROMIUM(GLenum current, GLenum other);
404 #endif
405 typedef void (GL_APIENTRYP PFNGLLOSECONTEXTCHROMIUMPROC) (
406     GLenum current, GLenum other);
407 #endif  /* GL_CHROMIUM_lose_context */
408 
409 /* GL_CHROMIUM_flipy */
410 #ifndef GL_CHROMIUM_flipy
411 #define GL_CHROMIUM_flipy 1
412 
413 #ifndef GL_UNPACK_FLIP_Y_CHROMIUM
414 #define GL_UNPACK_FLIP_Y_CHROMIUM 0x9240
415 #endif
416 #endif  /* GL_CHROMIUM_flipy */
417 
418 /* GL_ARB_texture_rectangle */
419 #ifndef GL_ARB_texture_rectangle
420 #define GL_ARB_texture_rectangle 1
421 
422 #ifndef GL_SAMPLER_2D_RECT_ARB
423 #define GL_SAMPLER_2D_RECT_ARB 0x8B63
424 #endif
425 
426 #ifndef GL_TEXTURE_BINDING_RECTANGLE_ARB
427 #define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6
428 #endif
429 
430 #ifndef GL_TEXTURE_RECTANGLE_ARB
431 #define GL_TEXTURE_RECTANGLE_ARB 0x84F5
432 #endif
433 #endif  /* GL_ARB_texture_rectangle */
434 
435 /* GL_CHROMIUM_enable_feature */
436 #ifndef GL_CHROMIUM_enable_feature
437 #define GL_CHROMIUM_enable_feature 1
438 #ifdef GL_GLEXT_PROTOTYPES
439 GL_APICALL GLboolean GL_APIENTRY glEnableFeatureCHROMIUM(const char* feature);
440 #endif
441 typedef GLboolean (GL_APIENTRYP PFNGLENABLEFEATURECHROMIUMPROC) (
442     const char* feature);
443 #endif  /* GL_CHROMIUM_enable_feature */
444 
445 /* GL_CHROMIUM_command_buffer_latency_query */
446 #ifndef GL_CHROMIUM_command_buffer_latency_query
447 #define GL_CHROMIUM_command_buffer_latency_query 1
448 
449 #ifndef GL_LATENCY_QUERY_CHROMIUM
450 // TODO(gman): Get official numbers for these constants.
451 #define GL_LATENCY_QUERY_CHROMIUM 0x84F4
452 #endif
453 #endif  /* GL_CHROMIUM_command_buffer_latency_query */
454 
455 /* GL_ARB_robustness */
456 #ifndef GL_ARB_robustness
457 #define GL_ARB_robustness 1
458 
459 #ifndef GL_GUILTY_CONTEXT_RESET_ARB
460 #define GL_GUILTY_CONTEXT_RESET_ARB 0x8253
461 #endif
462 
463 #ifndef GL_UNKNOWN_CONTEXT_RESET_ARB
464 #define GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255
465 #endif
466 
467 #ifndef GL_INNOCENT_CONTEXT_RESET_ARB
468 #define GL_INNOCENT_CONTEXT_RESET_ARB 0x8254
469 #endif
470 #endif  /* GL_ARB_robustness */
471 
472 /* GL_EXT_framebuffer_blit */
473 #ifndef GL_EXT_framebuffer_blit
474 #define GL_EXT_framebuffer_blit 1
475 #ifdef GL_GLEXT_PROTOTYPES
476 GL_APICALL void GL_APIENTRY glBlitFramebufferEXT(
477     GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0,
478     GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
479 #endif
480 typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFEREXTPROC) (
481     GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0,
482     GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
483 #endif  /* GL_EXT_framebuffer_blit */
484 
485 /* GL_EXT_draw_buffers */
486 #ifndef GL_EXT_draw_buffers
487 #define GL_EXT_draw_buffers 1
488 
489 #ifdef GL_GLEXT_PROTOTYPES
490 GL_APICALL void GL_APIENTRY glDrawBuffersEXT(
491     GLsizei n, const GLenum* bufs);
492 #endif
493 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC) (
494     GLsizei n, const GLenum* bufs);
495 
496 #ifndef GL_COLOR_ATTACHMENT0_EXT
497 #define GL_COLOR_ATTACHMENT0_EXT 0x8CE0
498 #endif
499 #ifndef GL_COLOR_ATTACHMENT1_EXT
500 #define GL_COLOR_ATTACHMENT1_EXT 0x8CE1
501 #endif
502 #ifndef GL_COLOR_ATTACHMENT2_EXT
503 #define GL_COLOR_ATTACHMENT2_EXT 0x8CE2
504 #endif
505 #ifndef GL_COLOR_ATTACHMENT3_EXT
506 #define GL_COLOR_ATTACHMENT3_EXT 0x8CE3
507 #endif
508 #ifndef GL_COLOR_ATTACHMENT4_EXT
509 #define GL_COLOR_ATTACHMENT4_EXT 0x8CE4
510 #endif
511 #ifndef GL_COLOR_ATTACHMENT5_EXT
512 #define GL_COLOR_ATTACHMENT5_EXT 0x8CE5
513 #endif
514 #ifndef GL_COLOR_ATTACHMENT6_EXT
515 #define GL_COLOR_ATTACHMENT6_EXT 0x8CE6
516 #endif
517 #ifndef GL_COLOR_ATTACHMENT7_EXT
518 #define GL_COLOR_ATTACHMENT7_EXT 0x8CE7
519 #endif
520 #ifndef GL_COLOR_ATTACHMENT8_EXT
521 #define GL_COLOR_ATTACHMENT8_EXT 0x8CE8
522 #endif
523 #ifndef GL_COLOR_ATTACHMENT9_EXT
524 #define GL_COLOR_ATTACHMENT9_EXT 0x8CE9
525 #endif
526 #ifndef GL_COLOR_ATTACHMENT10_EXT
527 #define GL_COLOR_ATTACHMENT10_EXT 0x8CEA
528 #endif
529 #ifndef GL_COLOR_ATTACHMENT11_EXT
530 #define GL_COLOR_ATTACHMENT11_EXT 0x8CEB
531 #endif
532 #ifndef GL_COLOR_ATTACHMENT12_EXT
533 #define GL_COLOR_ATTACHMENT12_EXT 0x8CEC
534 #endif
535 #ifndef GL_COLOR_ATTACHMENT13_EXT
536 #define GL_COLOR_ATTACHMENT13_EXT 0x8CED
537 #endif
538 #ifndef GL_COLOR_ATTACHMENT14_EXT
539 #define GL_COLOR_ATTACHMENT14_EXT 0x8CEE
540 #endif
541 #ifndef GL_COLOR_ATTACHMENT15_EXT
542 #define GL_COLOR_ATTACHMENT15_EXT 0x8CEF
543 #endif
544 
545 #ifndef GL_DRAW_BUFFER0_EXT
546 #define GL_DRAW_BUFFER0_EXT 0x8825
547 #endif
548 #ifndef GL_DRAW_BUFFER1_EXT
549 #define GL_DRAW_BUFFER1_EXT 0x8826
550 #endif
551 #ifndef GL_DRAW_BUFFER2_EXT
552 #define GL_DRAW_BUFFER2_EXT 0x8827
553 #endif
554 #ifndef GL_DRAW_BUFFER3_EXT
555 #define GL_DRAW_BUFFER3_EXT 0x8828
556 #endif
557 #ifndef GL_DRAW_BUFFER4_EXT
558 #define GL_DRAW_BUFFER4_EXT 0x8829
559 #endif
560 #ifndef GL_DRAW_BUFFER5_EXT
561 #define GL_DRAW_BUFFER5_EXT 0x882A
562 #endif
563 #ifndef GL_DRAW_BUFFER6_EXT
564 #define GL_DRAW_BUFFER6_EXT 0x882B
565 #endif
566 #ifndef GL_DRAW_BUFFER7_EXT
567 #define GL_DRAW_BUFFER7_EXT 0x882C
568 #endif
569 #ifndef GL_DRAW_BUFFER8_EXT
570 #define GL_DRAW_BUFFER8_EXT 0x882D
571 #endif
572 #ifndef GL_DRAW_BUFFER9_EXT
573 #define GL_DRAW_BUFFER9_EXT 0x882E
574 #endif
575 #ifndef GL_DRAW_BUFFER10_EXT
576 #define GL_DRAW_BUFFER10_EXT 0x882F
577 #endif
578 #ifndef GL_DRAW_BUFFER11_EXT
579 #define GL_DRAW_BUFFER11_EXT 0x8830
580 #endif
581 #ifndef GL_DRAW_BUFFER12_EXT
582 #define GL_DRAW_BUFFER12_EXT 0x8831
583 #endif
584 #ifndef GL_DRAW_BUFFER13_EXT
585 #define GL_DRAW_BUFFER13_EXT 0x8832
586 #endif
587 #ifndef GL_DRAW_BUFFER14_EXT
588 #define GL_DRAW_BUFFER14_EXT 0x8833
589 #endif
590 #ifndef GL_DRAW_BUFFER15_EXT
591 #define GL_DRAW_BUFFER15_EXT 0x8834
592 #endif
593 
594 #ifndef GL_MAX_COLOR_ATTACHMENTS_EXT
595 #define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF
596 #endif
597 
598 #ifndef GL_MAX_DRAW_BUFFERS_EXT
599 #define GL_MAX_DRAW_BUFFERS_EXT 0x8824
600 #endif
601 
602 #endif  /* GL_EXT_draw_buffers */
603 
604 /* GL_CHROMIUM_resize */
605 #ifndef GL_CHROMIUM_resize
606 #define GL_CHROMIUM_resize 1
607 #ifdef GL_GLEXT_PROTOTYPES
608 GL_APICALL void GL_APIENTRY glResizeCHROMIUM(
609     GLuint width, GLuint height, GLfloat scale_factor);
610 #endif
611 typedef void (GL_APIENTRYP PFNGLRESIZECHROMIUMPROC) (
612     GLuint width, GLuint height);
613 #endif  /* GL_CHROMIUM_resize */
614 
615 /* GL_CHROMIUM_get_multiple */
616 #ifndef GL_CHROMIUM_get_multiple
617 #define GL_CHROMIUM_get_multiple 1
618 #ifdef GL_GLEXT_PROTOTYPES
619 GL_APICALL void GL_APIENTRY glGetMultipleIntegervCHROMIUM(
620     const GLenum* pnames, GLuint count, GLint* results, GLsizeiptr size);
621 GL_APICALL void GL_APIENTRY glGetProgramInfoCHROMIUM(
622     GLuint program, GLsizei bufsize, GLsizei* size, void* info);
623 #endif
624 typedef void (GL_APIENTRYP PFNGLGETMULTIPLEINTEGERVCHROMIUMPROC) (
625    const GLenum* pnames, GLuint count, GLint* results, GLsizeiptr size);
626 typedef void (GL_APIENTRYP PFNGLGETPROGRAMINFOCHROMIUMPROC) (
627    GLuint program, GLsizei bufsize, GLsizei* size, void* info);
628 #endif  /* GL_CHROMIUM_get_multiple */
629 
630 /* GL_CHROMIUM_sync_point */
631 #ifndef GL_CHROMIUM_sync_point
632 #define GL_CHROMIUM_sync_point 1
633 #ifdef GL_GLEXT_PROTOTYPES
634 GL_APICALL GLuint GL_APIENTRY glInsertSyncPointCHROMIUM();
635 GL_APICALL void GL_APIENTRY glWaitSyncPointCHROMIUM(GLuint sync_point);
636 #endif
637 typedef GLuint (GL_APIENTRYP PFNGLINSERTSYNCPOINTCHROMIUMPROC) ();
638 typedef void (GL_APIENTRYP PFNGLWAITSYNCPOINTCHROMIUMPROC) (GLuint sync_point);
639 #endif  /* GL_CHROMIUM_sync_point */
640 
641 #ifndef GL_CHROMIUM_color_buffer_float_rgba
642 #define GL_CHROMIUM_color_buffer_float_rgba 1
643 #ifndef GL_RGBA32F
644 #define GL_RGBA32F 0x8814
645 #endif
646 #endif /* GL_CHROMIUM_color_buffer_float_rgba */
647 
648 #ifndef GL_CHROMIUM_color_buffer_float_rgb
649 #define GL_CHROMIUM_color_buffer_float_rgb 1
650 #ifndef GL_RGB32F
651 #define GL_RGB32F 0x8815
652 #endif
653 #endif /* GL_CHROMIUM_color_buffer_float_rgb */
654 
655 /* GL_CHROMIUM_schedule_overlay_plane */
656 #ifndef GL_CHROMIUM_schedule_overlay_plane
657 #define GL_CHROMIUM_schedule_overlay_plane 1
658 
659 #ifndef GL_OVERLAY_TRANSFORM_NONE_CHROMIUM
660 #define GL_OVERLAY_TRANSFORM_NONE_CHROMIUM 0x9245
661 #endif
662 
663 #ifndef GL_OVERLAY_TRANSFORM_FLIP_HORIZONTAL_CHROMIUM
664 #define GL_OVERLAY_TRANSFORM_FLIP_HORIZONTAL_CHROMIUM 0x9246
665 #endif
666 
667 #ifndef GL_OVERLAY_TRANSFORM_FLIP_VERTICAL_CHROMIUM
668 #define GL_OVERLAY_TRANSFORM_FLIP_VERTICAL_CHROMIUM 0x9247
669 #endif
670 
671 #ifndef GL_OVERLAY_TRANSFORM_ROTATE_90_CHROMIUM
672 #define GL_OVERLAY_TRANSFORM_ROTATE_90_CHROMIUM 0x9248
673 #endif
674 
675 #ifndef GL_OVERLAY_TRANSFORM_ROTATE_180_CHROMIUM
676 #define GL_OVERLAY_TRANSFORM_ROTATE_180_CHROMIUM 0x9249
677 #endif
678 
679 #ifndef GL_OVERLAY_TRANSFORM_ROTATE_270_CHROMIUM
680 #define GL_OVERLAY_TRANSFORM_ROTATE_270_CHROMIUM 0x924A
681 #endif
682 
683 #ifdef GL_GLEXT_PROTOTYPES
684 GL_APICALL void GL_APIENTRY
685     glScheduleOverlayPlaneCHROMIUM(GLint plane_z_order,
686                                    GLenum plane_transform,
687                                    GLuint overlay_texture_id,
688                                    GLint bounds_x,
689                                    GLint bounds_y,
690                                    GLint bounds_width,
691                                    GLint bounds_height,
692                                    GLfloat uv_x,
693                                    GLfloat uv_y,
694                                    GLfloat uv_width,
695                                    GLfloat uv_height);
696 #endif
697 typedef void(GL_APIENTRYP PFNGLSCHEDULEOVERLAYPLANECHROMIUMPROC)(
698     GLint plane_z_order,
699     GLenum plane_transform,
700     GLuint overlay_texture_id,
701     GLint bounds_x,
702     GLint bounds_y,
703     GLint bounds_width,
704     GLint bounds_height,
705     GLfloat uv_x,
706     GLfloat uv_y,
707     GLfloat uv_width,
708     GLfloat uv_height);
709 #endif /* GL_CHROMIUM_schedule_overlay_plane */
710 
711 /* GL_CHROMIUM_sync_query */
712 #ifndef GL_CHROMIUM_sync_query
713 #define GL_CHROMIUM_sync_query 1
714 
715 #ifndef GL_COMMANDS_COMPLETED_CHROMIUM
716 #define GL_COMMANDS_COMPLETED_CHROMIUM 0x84F7
717 #endif
718 #endif  /* GL_CHROMIUM_sync_query */
719 
720 #ifndef GL_CHROMIUM_path_rendering
721 #define GL_CHROMIUM_path_rendering 1
722 
723 #ifdef GL_GLEXT_PROTOTYPES
724 GL_APICALL void GL_APIENTRY
725     glMatrixLoadfCHROMIUM(GLenum mode, const GLfloat* m);
726 GL_APICALL void GL_APIENTRY glMatrixLoadIdentityCHROMIUM(GLenum mode);
727 #endif
728 
729 typedef void(GL_APIENTRYP PFNGLMATRIXLOADFCHROMIUMPROC)(GLenum matrixMode,
730                                                         const GLfloat* m);
731 typedef void(GL_APIENTRYP PFNGLMATRIXLOADIDENTITYCHROMIUMPROC)(
732     GLenum matrixMode);
733 
734 #endif /* GL_CHROMIUM_path_rendering */
735 
736 #ifdef __cplusplus
737 }
738 #endif
739 
740 #endif  // GPU_GLES2_GL2EXTCHROMIUM_H_
741