summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkmadhusu@chromium.org <kmadhusu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-27 20:28:00 +0000
committerkmadhusu@chromium.org <kmadhusu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-27 20:28:00 +0000
commit4ecea1a2d0aa5318a2a4d7a790839103cfa8b59e (patch)
treeb747deb597e80e74f210da590b5e2075d46aad74
parenta031c970f7b7a36c417214bb4bbe3fd39af9b7f1 (diff)
downloadchromium_src-4ecea1a2d0aa5318a2a4d7a790839103cfa8b59e.zip
chromium_src-4ecea1a2d0aa5318a2a4d7a790839103cfa8b59e.tar.gz
chromium_src-4ecea1a2d0aa5318a2a4d7a790839103cfa8b59e.tar.bz2
Revert 174687
> Extract Chromium-specific parts out of third_party/khronos/GLES2 . > > BUG=161389 > > Review URL: https://codereview.chromium.org/11679005 TBR=phajdan.jr@chromium.org Review URL: https://codereview.chromium.org/11676011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@174695 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--gpu/GLES2/gl2chromium.h8
-rw-r--r--gpu/GLES2/gl2extchromium.h478
-rwxr-xr-xgpu/command_buffer/build_gles2_cmd_buffer.py269
-rw-r--r--gpu/command_buffer/common/gles2_cmd_utils_implementation_autogen.h2
-rw-r--r--third_party/khronos/GLES2/gl2ext.h379
5 files changed, 385 insertions, 751 deletions
diff --git a/gpu/GLES2/gl2chromium.h b/gpu/GLES2/gl2chromium.h
index ff22141..7cc84f0 100644
--- a/gpu/GLES2/gl2chromium.h
+++ b/gpu/GLES2/gl2chromium.h
@@ -6,16 +6,12 @@
// gpu/command_buffer/build_gles2_cmd_buffer.py
// DO NOT EDIT!
-// This file contains Chromium-specific GLES2 declarations.
+// Because we are using both the real system GL and our own.
+// emulated GL we need to use different names to avoid conflicts.
#ifndef GPU_GLES2_GL2CHROMIUM_H_
#define GPU_GLES2_GL2CHROMIUM_H_
-#include <GLES2/gl2platform.h>
-#define GL_CONTEXT_LOST 0x300E
-
-// Because we are using both the real system GL and our own
-// emulated GL we need to use different names to avoid conflicts.
#if defined(GLES2_USE_CPP_BINDINGS)
#define GLES2_GET_FUN(name) gles2::GetGLContext()->name
#else
diff --git a/gpu/GLES2/gl2extchromium.h b/gpu/GLES2/gl2extchromium.h
deleted file mode 100644
index 037c346..0000000
--- a/gpu/GLES2/gl2extchromium.h
+++ /dev/null
@@ -1,478 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// This file is auto-generated from
-// gpu/command_buffer/build_gles2_cmd_buffer.py
-// DO NOT EDIT!
-
-// This file contains Chromium-specific GLES2 extensions declarations.
-
-#ifndef GPU_GLES2_GL2EXTCHROMIUM_H_
-#define GPU_GLES2_GL2EXTCHROMIUM_H_
-
-#include <GLES2/gl2chromium.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* GL_CHROMIUM_iosurface */
-#ifndef GL_CHROMIUM_iosurface
-#define GL_CHROMIUM_iosurface 1
-#ifdef GL_GLEXT_PROTOTYPES
-GL_APICALL void GL_APIENTRY glTexImageIOSurface2DCHROMIUM(
- GLenum target, GLsizei width, GLsizei height, GLuint ioSurfaceId,
- GLuint plane);
-#endif
-typedef void (
- GL_APIENTRYP PFNGLTEXIMAGEIOSURFACE2DCHROMIUMPROC) (
- GLenum target, GLsizei width, GLsizei height, GLuint ioSurfaceId,
- GLuint plane);
-#endif /* GL_CHROMIUM_iosurface */
-
-/* GL_CHROMIUM_gpu_memory_manager */
-#ifndef GL_CHROMIUM_gpu_memory_manager
-#define GL_CHROMIUM_gpu_memory_manager 1
-
-#ifndef GL_TEXTURE_POOL_UNMANAGED_CHROMIUM
-#define GL_TEXTURE_POOL_UNMANAGED_CHROMIUM 0x6002
-#endif
-
-#ifndef GL_TEXTURE_POOL_CHROMIUM
-#define GL_TEXTURE_POOL_CHROMIUM 0x6000
-#endif
-
-#ifndef GL_TEXTURE_POOL_MANAGED_CHROMIUM
-#define GL_TEXTURE_POOL_MANAGED_CHROMIUM 0x6001
-#endif
-#endif /* GL_CHROMIUM_gpu_memory_manager */
-
-/* GL_CHROMIUM_texture_mailbox */
-#ifndef GL_CHROMIUM_texture_mailbox
-#define GL_CHROMIUM_texture_mailbox 1
-
-#ifndef GL_MAILBOX_SIZE_CHROMIUM
-#define GL_MAILBOX_SIZE_CHROMIUM 64
-#endif
-#ifdef GL_GLEXT_PROTOTYPES
-GL_APICALL void GL_APIENTRY glGenMailboxCHROMIUM(GLbyte* mailbox);
-#endif
-typedef void (GL_APIENTRYP PFNGLGENMAILBOXCHROMIUMPROC) (GLbyte* mailbox);
-#ifdef GL_GLEXT_PROTOTYPES
-GL_APICALL void GL_APIENTRY glProduceTextureCHROMIUM(
- GLenum target, const GLbyte* mailbox);
-#endif
-typedef void (
- GL_APIENTRYP PFNGLPRODUCETEXTURECHROMIUMPROC) (
- GLenum target, const GLbyte* mailbox);
-#ifdef GL_GLEXT_PROTOTYPES
-GL_APICALL void GL_APIENTRY glConsumeTextureCHROMIUM(
- GLenum target, const GLbyte* mailbox);
-#endif
-typedef void (
- GL_APIENTRYP PFNGLCONSUMETEXTURECHROMIUMPROC) (
- GLenum target, const GLbyte* mailbox);
-#endif /* GL_CHROMIUM_texture_mailbox */
-
-/* GL_CHROMIUM_pixel_transfer_buffer_object */
-#ifndef GL_CHROMIUM_pixel_transfer_buffer_object
-#define GL_CHROMIUM_pixel_transfer_buffer_object 1
-
-#ifndef GL_PIXEL_UNPACK_TRANSFER_BUFFER_CHROMIUM
-#define GL_PIXEL_UNPACK_TRANSFER_BUFFER_CHROMIUM 0x88EC
-#endif
-
-#ifndef GL_PIXEL_UNPACK_TRANSFER_BUFFER_BINDING_CHROMIUM
-#define GL_PIXEL_UNPACK_TRANSFER_BUFFER_BINDING_CHROMIUM 0x88EF
-#endif
-#endif /* GL_CHROMIUM_pixel_transfer_buffer_object */
-
-/* GL_CHROMIUM_map_sub */
-#ifndef GL_CHROMIUM_map_sub
-#define GL_CHROMIUM_map_sub 1
-
-#ifndef GL_READ_ONLY
-#define GL_READ_ONLY 0x88B8
-#endif
-
-#ifndef GL_WRITE_ONLY
-#define GL_WRITE_ONLY 0x88B9
-#endif
-#ifdef GL_GLEXT_PROTOTYPES
-GL_APICALL void* GL_APIENTRY glMapBufferSubDataCHROMIUM(
- GLuint target, GLintptr offset, GLsizeiptr size, GLenum access);
-#endif
-typedef void* (
- GL_APIENTRYP PFNGLMAPBUFFERSUBDATACHROMIUMPROC) (
- GLuint target, GLintptr offset, GLsizeiptr size, GLenum access);
-#ifdef GL_GLEXT_PROTOTYPES
-GL_APICALL void GL_APIENTRY glUnmapBufferSubDataCHROMIUM(const void* mem);
-#endif
-typedef void (
- GL_APIENTRYP PFNGLUNMAPBUFFERSUBDATACHROMIUMPROC) (const void* mem);
-#ifdef GL_GLEXT_PROTOTYPES
-GL_APICALL void* GL_APIENTRY glMapTexSubImage2DCHROMIUM(
- GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
- GLsizei height, GLenum format, GLenum type, GLenum access);
-#endif
-typedef void* (
- GL_APIENTRYP PFNGLMAPTEXSUBIMAGE2DCHROMIUMPROC) (
- GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
- GLsizei height, GLenum format, GLenum type, GLenum access);
-#ifdef GL_GLEXT_PROTOTYPES
-GL_APICALL void GL_APIENTRY glUnmapTexSubImage2DCHROMIUM(const void* mem);
-#endif
-typedef void (
- GL_APIENTRYP PFNGLUNMAPTEXSUBIMAGE2DCHROMIUMPROC) (const void* mem);
-#endif /* GL_CHROMIUM_map_sub */
-
-/* GL_CHROMIUM_request_extension */
-#ifndef GL_CHROMIUM_request_extension
-#define GL_CHROMIUM_request_extension 1
-#ifdef GL_GLEXT_PROTOTYPES
-GL_APICALL const GLchar* GL_APIENTRY glGetRequestableExtensionsCHROMIUM();
-#endif
-typedef const GLchar* (
- GL_APIENTRYP PFNGLGETREQUESTABLEEXTENSIONSCHROMIUMPROC) ();
-#ifdef GL_GLEXT_PROTOTYPES
-GL_APICALL void GL_APIENTRY glRequestExtensionCHROMIUM(const char* extension);
-#endif
-typedef void (
- GL_APIENTRYP PFNGLREQUESTEXTENSIONCHROMIUMPROC) (const char* extension);
-#endif /* GL_CHROMIUM_request_extension */
-
-/* GL_CHROMIUM_get_error_query */
-#ifndef GL_CHROMIUM_get_error_query
-#define GL_CHROMIUM_get_error_query 1
-
-#ifndef GL_GET_ERROR_QUERY_CHROMIUM
-#define GL_GET_ERROR_QUERY_CHROMIUM 0x84F3
-#endif
-#endif /* GL_CHROMIUM_get_error_query */
-
-/* GL_CHROMIUM_texture_from_image */
-#ifndef GL_CHROMIUM_texture_from_image
-#define GL_CHROMIUM_texture_from_image 1
-#ifdef GL_GLEXT_PROTOTYPES
-GL_APICALL void GL_APIENTRY glBindTexImage2DCHROMIUM(
- GLenum target, GLint imageId);
-#endif
-typedef void (
- GL_APIENTRYP PFNGLBINDTEXIMAGE2DCHROMIUMPROC) (
- GLenum target, GLint imageId);
-#ifdef GL_GLEXT_PROTOTYPES
-GL_APICALL void GL_APIENTRY glReleaseTexImage2DCHROMIUM(
- GLenum target, GLint imageId);
-#endif
-typedef void (
- GL_APIENTRYP PFNGLRELEASETEXIMAGE2DCHROMIUMPROC) (
- GLenum target, GLint imageId);
-#endif /* GL_CHROMIUM_texture_from_image */
-
-/* GL_CHROMIUM_rate_limit_offscreen_context */
-#ifndef GL_CHROMIUM_rate_limit_offscreen_context
-#define GL_CHROMIUM_rate_limit_offscreen_context 1
-#ifdef GL_GLEXT_PROTOTYPES
-GL_APICALL void GL_APIENTRY glRateLimitOffscreenContextCHROMIUM();
-#endif
-typedef void (GL_APIENTRYP PFNGLRATELIMITOFFSCREENCONTEXTCHROMIUMPROC) ();
-#endif /* GL_CHROMIUM_rate_limit_offscreen_context */
-
-/* GL_CHROMIUM_post_sub_buffer */
-#ifndef GL_CHROMIUM_post_sub_buffer
-#define GL_CHROMIUM_post_sub_buffer 1
-#ifdef GL_GLEXT_PROTOTYPES
-GL_APICALL void GL_APIENTRY glPostSubBufferCHROMIUM(
- GLint x, GLint y, GLint width, GLint height);
-#endif
-typedef void (
- GL_APIENTRYP PFNGLPOSTSUBBUFFERCHROMIUMPROC) (
- GLint x, GLint y, GLint width, GLint height);
-#endif /* GL_CHROMIUM_post_sub_buffer */
-
-/* GL_CHROMIUM_bind_uniform_location */
-#ifndef GL_CHROMIUM_bind_uniform_location
-#define GL_CHROMIUM_bind_uniform_location 1
-#ifdef GL_GLEXT_PROTOTYPES
-GL_APICALL void GL_APIENTRY glBindUniformLocationCHROMIUM(
- GLuint program, GLint location, const char* name);
-#endif
-typedef void (
- GL_APIENTRYP PFNGLBINDUNIFORMLOCATIONCHROMIUMPROC) (
- GLuint program, GLint location, const char* name);
-#endif /* GL_CHROMIUM_bind_uniform_location */
-
-/* GL_CHROMIUM_command_buffer_query */
-#ifndef GL_CHROMIUM_command_buffer_query
-#define GL_CHROMIUM_command_buffer_query 1
-
-#ifndef GL_COMMANDS_ISSUED_CHROMIUM
-#define GL_COMMANDS_ISSUED_CHROMIUM 0x84F2
-#endif
-#endif /* GL_CHROMIUM_command_buffer_query */
-
-/* GL_EXT_framebuffer_multisample */
-#ifndef GL_EXT_framebuffer_multisample
-#define GL_EXT_framebuffer_multisample 1
-
-#ifndef GL_FRAMEBUFFER_BINDING_EXT
-#define GL_FRAMEBUFFER_BINDING_EXT GL_FRAMEBUFFER_BINDING
-#endif
-
-#ifndef GL_DRAW_FRAMEBUFFER_BINDING_EXT
-#define GL_DRAW_FRAMEBUFFER_BINDING_EXT GL_DRAW_FRAMEBUFFER_BINDING
-#endif
-
-#ifndef GL_RENDERBUFFER_BINDING_EXT
-#define GL_RENDERBUFFER_BINDING_EXT GL_RENDERBUFFER_BINDING
-#endif
-
-#ifndef GL_RENDERBUFFER_SAMPLES
-#define GL_RENDERBUFFER_SAMPLES 0x8CAB
-#endif
-
-#ifndef GL_READ_FRAMEBUFFER_EXT
-#define GL_READ_FRAMEBUFFER_EXT GL_READ_FRAMEBUFFER
-#endif
-
-#ifndef GL_RENDERBUFFER_SAMPLES_EXT
-#define GL_RENDERBUFFER_SAMPLES_EXT GL_RENDERBUFFER_SAMPLES
-#endif
-
-#ifndef GL_RENDERBUFFER_BINDING
-#define GL_RENDERBUFFER_BINDING 0x8CA7
-#endif
-
-#ifndef GL_READ_FRAMEBUFFER_BINDING
-#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
-#endif
-
-#ifndef GL_MAX_SAMPLES
-#define GL_MAX_SAMPLES 0x8D57
-#endif
-
-#ifndef GL_READ_FRAMEBUFFER_BINDING_EXT
-#define GL_READ_FRAMEBUFFER_BINDING_EXT GL_READ_FRAMEBUFFER_BINDING
-#endif
-
-#ifndef GL_DRAW_FRAMEBUFFER_BINDING
-#define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6
-#endif
-
-#ifndef GL_MAX_SAMPLES_EXT
-#define GL_MAX_SAMPLES_EXT GL_MAX_SAMPLES
-#endif
-
-#ifndef GL_DRAW_FRAMEBUFFER
-#define GL_DRAW_FRAMEBUFFER 0x8CA9
-#endif
-
-#ifndef GL_READ_FRAMEBUFFER
-#define GL_READ_FRAMEBUFFER 0x8CA8
-#endif
-
-#ifndef GL_DRAW_FRAMEBUFFER_EXT
-#define GL_DRAW_FRAMEBUFFER_EXT GL_DRAW_FRAMEBUFFER
-#endif
-
-#ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE
-#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
-#endif
-
-#ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT
-#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE // NOLINT
-#endif
-
-#ifndef GL_FRAMEBUFFER_BINDING
-#define GL_FRAMEBUFFER_BINDING 0x8CA6
-#endif
-#ifdef GL_GLEXT_PROTOTYPES
-GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT(
- GLenum target, GLsizei samples, GLenum internalformat, GLsizei width,
- GLsizei height);
-#endif
-typedef void (
- GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (
- GLenum target, GLsizei samples, GLenum internalformat, GLsizei width,
- GLsizei height);
-#endif /* GL_EXT_framebuffer_multisample */
-
-/* GL_CHROMIUM_texture_compression_dxt3 */
-#ifndef GL_CHROMIUM_texture_compression_dxt3
-#define GL_CHROMIUM_texture_compression_dxt3 1
-
-#ifndef GL_COMPRESSED_RGBA_S3TC_DXT3_EXT
-#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
-#endif
-#endif /* GL_CHROMIUM_texture_compression_dxt3 */
-
-/* GL_CHROMIUM_texture_compression_dxt5 */
-#ifndef GL_CHROMIUM_texture_compression_dxt5
-#define GL_CHROMIUM_texture_compression_dxt5 1
-
-#ifndef GL_COMPRESSED_RGBA_S3TC_DXT5_EXT
-#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
-#endif
-#endif /* GL_CHROMIUM_texture_compression_dxt5 */
-
-/* GL_CHROMIUM_async_pixel_transfers */
-#ifndef GL_CHROMIUM_async_pixel_transfers
-#define GL_CHROMIUM_async_pixel_transfers 1
-
-#ifndef GL_ASYNC_PIXEL_TRANSFERS_COMPLETED_CHROMIUM
-#define GL_ASYNC_PIXEL_TRANSFERS_COMPLETED_CHROMIUM 0x84F5
-#endif
-#endif /* GL_CHROMIUM_async_pixel_transfers */
-
-/* GL_CHROMIUM_copy_texture */
-#ifndef GL_CHROMIUM_copy_texture
-#define GL_CHROMIUM_copy_texture 1
-
-#ifndef GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM
-#define GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM 0x9243
-#endif
-
-#ifndef GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM
-#define GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM 0x9242
-#endif
-
-#ifndef GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM
-#define GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM 0x9241
-#endif
-#ifdef GL_GLEXT_PROTOTYPES
-GL_APICALL void GL_APIENTRY glCopyTextureCHROMIUM(
- GLenum target, GLenum source_id, GLenum dest_id, GLint level,
- GLint internalformat);
-#endif
-typedef void (
- GL_APIENTRYP PFNGLCOPYTEXTURECHROMIUMPROC) (
- GLenum target, GLenum source_id, GLenum dest_id, GLint level,
- GLint internalformat);
-#endif /* GL_CHROMIUM_copy_texture */
-
-/* GL_CHROMIUM_lose_context */
-#ifndef GL_CHROMIUM_lose_context
-#define GL_CHROMIUM_lose_context 1
-#ifdef GL_GLEXT_PROTOTYPES
-GL_APICALL void GL_APIENTRY glLoseContextCHROMIUM(
- GLenum current, GLenum other);
-#endif
-typedef void (
- GL_APIENTRYP PFNGLLOSECONTEXTCHROMIUMPROC) (GLenum current, GLenum other);
-#endif /* GL_CHROMIUM_lose_context */
-
-/* GL_CHROMIUM_flipy */
-#ifndef GL_CHROMIUM_flipy
-#define GL_CHROMIUM_flipy 1
-
-#ifndef GL_UNPACK_FLIP_Y_CHROMIUM
-#define GL_UNPACK_FLIP_Y_CHROMIUM 0x9240
-#endif
-#endif /* GL_CHROMIUM_flipy */
-
-/* GL_ARB_texture_rectangle */
-#ifndef GL_ARB_texture_rectangle
-#define GL_ARB_texture_rectangle 1
-
-#ifndef GL_SAMPLER_2D_RECT_ARB
-#define GL_SAMPLER_2D_RECT_ARB 0x8B63
-#endif
-
-#ifndef GL_TEXTURE_BINDING_RECTANGLE_ARB
-#define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6
-#endif
-
-#ifndef GL_TEXTURE_RECTANGLE_ARB
-#define GL_TEXTURE_RECTANGLE_ARB 0x84F5
-#endif
-#endif /* GL_ARB_texture_rectangle */
-
-/* GL_CHROMIUM_enable_feature */
-#ifndef GL_CHROMIUM_enable_feature
-#define GL_CHROMIUM_enable_feature 1
-#ifdef GL_GLEXT_PROTOTYPES
-GL_APICALL GLboolean GL_APIENTRY glEnableFeatureCHROMIUM(const char* feature);
-#endif
-typedef GLboolean (
- GL_APIENTRYP PFNGLENABLEFEATURECHROMIUMPROC) (const char* feature);
-#endif /* GL_CHROMIUM_enable_feature */
-
-/* GL_CHROMIUM_command_buffer_latency_query */
-#ifndef GL_CHROMIUM_command_buffer_latency_query
-#define GL_CHROMIUM_command_buffer_latency_query 1
-
-#ifndef GL_LATENCY_QUERY_CHROMIUM
-#define GL_LATENCY_QUERY_CHROMIUM 0x84F4
-#endif
-#endif /* GL_CHROMIUM_command_buffer_latency_query */
-
-/* GL_ARB_robustness */
-#ifndef GL_ARB_robustness
-#define GL_ARB_robustness 1
-
-#ifndef GL_GUILTY_CONTEXT_RESET_ARB
-#define GL_GUILTY_CONTEXT_RESET_ARB 0x8253
-#endif
-
-#ifndef GL_UNKNOWN_CONTEXT_RESET_ARB
-#define GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255
-#endif
-
-#ifndef GL_INNOCENT_CONTEXT_RESET_ARB
-#define GL_INNOCENT_CONTEXT_RESET_ARB 0x8254
-#endif
-#endif /* GL_ARB_robustness */
-
-/* GL_EXT_framebuffer_blit */
-#ifndef GL_EXT_framebuffer_blit
-#define GL_EXT_framebuffer_blit 1
-#ifdef GL_GLEXT_PROTOTYPES
-GL_APICALL void GL_APIENTRY glBlitFramebufferEXT(
- GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0,
- GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
-#endif
-typedef void (
- GL_APIENTRYP PFNGLBLITFRAMEBUFFEREXTPROC) (
- GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0,
- GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
-#endif /* GL_EXT_framebuffer_blit */
-
-/* GL_CHROMIUM_resize */
-#ifndef GL_CHROMIUM_resize
-#define GL_CHROMIUM_resize 1
-#ifdef GL_GLEXT_PROTOTYPES
-GL_APICALL void GL_APIENTRY glResizeCHROMIUM(GLuint width, GLuint height);
-#endif
-typedef void (
- GL_APIENTRYP PFNGLRESIZECHROMIUMPROC) (GLuint width, GLuint height);
-#endif /* GL_CHROMIUM_resize */
-
-/* GL_CHROMIUM_get_multiple */
-#ifndef GL_CHROMIUM_get_multiple
-#define GL_CHROMIUM_get_multiple 1
-#ifdef GL_GLEXT_PROTOTYPES
-GL_APICALL void GL_APIENTRY glGetMultipleIntegervCHROMIUM(
- const GLenum* pnames, GLuint count, GLint* results, GLsizeiptr size);
-#endif
-typedef void (
- GL_APIENTRYP PFNGLGETMULTIPLEINTEGERVCHROMIUMPROC) (
- const GLenum* pnames, GLuint count, GLint* results, GLsizeiptr size);
-#ifdef GL_GLEXT_PROTOTYPES
-GL_APICALL void GL_APIENTRY glGetProgramInfoCHROMIUM(
- GLuint program, GLsizei bufsize, GLsizei* size, void* info);
-#endif
-typedef void (
- GL_APIENTRYP PFNGLGETPROGRAMINFOCHROMIUMPROC) (
- GLuint program, GLsizei bufsize, GLsizei* size, void* info);
-#endif /* GL_CHROMIUM_get_multiple */
-
-/* GL_CHROMIUM_front_buffer_cached */
-#ifndef GL_CHROMIUM_front_buffer_cached
-#define GL_CHROMIUM_front_buffer_cached 1
-#endif /* GL_CHROMIUM_front_buffer_cached */
-#ifdef __cplusplus
-}
-#endif
-
-#endif // GPU_GLES2_GL2EXTCHROMIUM_H_
-
diff --git a/gpu/command_buffer/build_gles2_cmd_buffer.py b/gpu/command_buffer/build_gles2_cmd_buffer.py
index 192bf30..9babf73 100755
--- a/gpu/command_buffer/build_gles2_cmd_buffer.py
+++ b/gpu/command_buffer/build_gles2_cmd_buffer.py
@@ -2313,200 +2313,6 @@ _FUNCTION_INFO = {
}
-_CHROMIUM_SPECIFIC_CONSTANTS = {
- 'GL_CONTEXT_LOST': '0x300E', # TODO(gman): What value?
-}
-
-
-_CHROMIUM_SPECIFIC_EXTENSIONS = {
- 'GL_EXT_framebuffer_multisample': {
- 'constants': {
- 'GL_DRAW_FRAMEBUFFER_BINDING': '0x8CA6',
- 'GL_DRAW_FRAMEBUFFER_BINDING_EXT': 'GL_DRAW_FRAMEBUFFER_BINDING',
- 'GL_FRAMEBUFFER_BINDING': '0x8CA6',
- 'GL_FRAMEBUFFER_BINDING_EXT': 'GL_FRAMEBUFFER_BINDING',
- 'GL_RENDERBUFFER_BINDING': '0x8CA7',
- 'GL_RENDERBUFFER_BINDING_EXT': 'GL_RENDERBUFFER_BINDING',
- 'GL_READ_FRAMEBUFFER': '0x8CA8',
- 'GL_READ_FRAMEBUFFER_EXT': 'GL_READ_FRAMEBUFFER',
- 'GL_DRAW_FRAMEBUFFER': '0x8CA9',
- 'GL_DRAW_FRAMEBUFFER_EXT': 'GL_DRAW_FRAMEBUFFER',
- 'GL_READ_FRAMEBUFFER_BINDING': '0x8CAA',
- 'GL_READ_FRAMEBUFFER_BINDING_EXT': 'GL_READ_FRAMEBUFFER_BINDING',
- 'GL_RENDERBUFFER_SAMPLES': '0x8CAB',
- 'GL_RENDERBUFFER_SAMPLES_EXT': 'GL_RENDERBUFFER_SAMPLES',
- 'GL_MAX_SAMPLES': '0x8D57',
- 'GL_MAX_SAMPLES_EXT': 'GL_MAX_SAMPLES',
- 'GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE': '0x8D56',
- 'GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT':
- 'GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE',
- },
- 'functions': [
- 'RenderbufferStorageMultisampleEXT',
- ],
- },
- 'GL_EXT_framebuffer_blit': {
- 'functions': [
- 'BlitFramebufferEXT',
- ],
- },
- 'GL_CHROMIUM_map_sub': {
- 'constants': {
- 'GL_READ_ONLY': '0x88B8',
- 'GL_WRITE_ONLY': '0x88B9',
- },
- 'functions': [
- 'MapBufferSubDataCHROMIUM',
- 'UnmapBufferSubDataCHROMIUM',
- 'MapTexSubImage2DCHROMIUM',
- 'UnmapTexSubImage2DCHROMIUM',
- ],
- },
- 'GL_CHROMIUM_resize': {
- 'functions': [
- 'ResizeCHROMIUM',
- ],
- },
- 'GL_CHROMIUM_request_extension': {
- 'functions': [
- 'GetRequestableExtensionsCHROMIUM',
- 'RequestExtensionCHROMIUM',
- ],
- },
- 'GL_CHROMIUM_rate_limit_offscreen_context': {
- 'functions': [
- 'RateLimitOffscreenContextCHROMIUM',
- ],
- },
- 'GL_CHROMIUM_get_multiple': {
- 'functions': [
- 'GetMultipleIntegervCHROMIUM',
- 'GetProgramInfoCHROMIUM',
- ],
- },
- 'GL_CHROMIUM_flipy': {
- 'constants': {
- 'GL_UNPACK_FLIP_Y_CHROMIUM': '0x9240',
- },
- },
- 'GL_CHROMIUM_texture_compression_dxt3': {
- 'constants': {
- 'GL_COMPRESSED_RGBA_S3TC_DXT3_EXT': '0x83F2',
- },
- },
- 'GL_CHROMIUM_texture_compression_dxt5': {
- 'constants': {
- 'GL_COMPRESSED_RGBA_S3TC_DXT5_EXT': '0x83F3',
- },
- },
- 'GL_CHROMIUM_enable_feature': {
- 'functions': [
- 'EnableFeatureCHROMIUM',
- ],
- },
- 'GL_CHROMIUM_post_sub_buffer': {
- 'functions': [
- 'PostSubBufferCHROMIUM',
- ],
- },
- 'GL_CHROMIUM_front_buffer_cached': {
- },
- 'GL_CHROMIUM_gpu_memory_manager': {
- 'constants': {
- 'GL_TEXTURE_POOL_CHROMIUM': '0x6000',
- 'GL_TEXTURE_POOL_MANAGED_CHROMIUM': '0x6001',
- 'GL_TEXTURE_POOL_UNMANAGED_CHROMIUM': '0x6002',
- },
- },
- 'GL_ARB_robustness': {
- 'constants': {
- 'GL_GUILTY_CONTEXT_RESET_ARB': '0x8253',
- 'GL_INNOCENT_CONTEXT_RESET_ARB': '0x8254',
- 'GL_UNKNOWN_CONTEXT_RESET_ARB': '0x8255',
- },
- },
- 'GL_ARB_texture_rectangle': {
- 'constants': {
- 'GL_TEXTURE_RECTANGLE_ARB': '0x84F5',
- 'GL_TEXTURE_BINDING_RECTANGLE_ARB': '0x84F6',
- 'GL_SAMPLER_2D_RECT_ARB': '0x8B63',
- },
- },
- 'GL_CHROMIUM_iosurface': {
- 'functions': [
- 'TexImageIOSurface2DCHROMIUM',
- ],
- },
- 'GL_CHROMIUM_copy_texture': {
- 'constants': {
- 'GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM': '0x9241',
- 'GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM': '0x9242',
- 'GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM': '0x9243',
- },
- 'functions': [
- 'CopyTextureCHROMIUM',
- ],
- },
- 'GL_CHROMIUM_command_buffer_query': {
- 'constants': {
- # TODO(gman): Get official numbers for these constants.
- 'GL_COMMANDS_ISSUED_CHROMIUM': '0x84F2',
- },
- },
- 'GL_CHROMIUM_get_error_query': {
- 'constants': {
- # TODO(gman): Get official numbers for these constants.
- 'GL_GET_ERROR_QUERY_CHROMIUM': '0x84F3',
- },
- },
- 'GL_CHROMIUM_command_buffer_latency_query': {
- 'constants': {
- # TODO(gman): Get official numbers for these constants.
- 'GL_LATENCY_QUERY_CHROMIUM': '0x84F4',
- },
- },
- 'GL_CHROMIUM_texture_mailbox': {
- 'constants': {
- 'GL_MAILBOX_SIZE_CHROMIUM': '64',
- },
- 'functions': [
- 'GenMailboxCHROMIUM',
- 'ProduceTextureCHROMIUM',
- 'ConsumeTextureCHROMIUM',
- ],
- },
- 'GL_CHROMIUM_bind_uniform_location': {
- 'functions': [
- 'BindUniformLocationCHROMIUM',
- ],
- },
- 'GL_CHROMIUM_texture_from_image': {
- 'functions': [
- 'BindTexImage2DCHROMIUM',
- 'ReleaseTexImage2DCHROMIUM',
- ],
- },
- 'GL_CHROMIUM_pixel_transfer_buffer_object': {
- 'constants': {
- # TODO(reveman): Get official numbers for these constants.
- 'GL_PIXEL_UNPACK_TRANSFER_BUFFER_CHROMIUM': '0x88EC',
- 'GL_PIXEL_UNPACK_TRANSFER_BUFFER_BINDING_CHROMIUM': '0x88EF',
- },
- },
- 'GL_CHROMIUM_async_pixel_transfers': {
- 'constants': {
- # TODO(reveman): Get official numbers for these constants.
- 'GL_ASYNC_PIXEL_TRANSFERS_COMPLETED_CHROMIUM': '0x84F5',
- },
- },
- 'GL_CHROMIUM_lose_context': {
- 'functions': [
- 'LoseContextCHROMIUM',
- ],
- },
-}
-
-
def Grouper(n, iterable, fillvalue=None):
"""Collect data into fixed-length chunks or blocks"""
args = [iter(iterable)] * n
@@ -7275,17 +7081,11 @@ void GLES2DecoderTestBase::SetupInitStateExpectations() {
"""Writes the GLES2 header."""
file = CHeaderWriter(
filename,
- "// This file contains Chromium-specific GLES2 declarations.\n\n")
-
- file.Write("#include <GLES2/gl2platform.h>\n")
+ "// Because we are using both the real system GL and our own.\n"
+ "// emulated GL we need to use different names to avoid conflicts.\n"
+ "\n")
- for name, value in _CHROMIUM_SPECIFIC_CONSTANTS.iteritems():
- file.Write("#define %s %s\n" % (name, value))
-
- file.Write("""
-// Because we are using both the real system GL and our own
-// emulated GL we need to use different names to avoid conflicts.
-#if defined(GLES2_USE_CPP_BINDINGS)
+ file.Write("""#if defined(GLES2_USE_CPP_BINDINGS)
#define GLES2_GET_FUN(name) gles2::GetGLContext()->name
#else
#define GLES2_GET_FUN(name) GLES2 ## name
@@ -7299,62 +7099,6 @@ void GLES2DecoderTestBase::SetupInitStateExpectations() {
file.Write("\n")
file.Close()
- def WriteGLES2ExtHeader(self, filename):
- """Writes the GLES2 extensions header."""
- file = CHeaderWriter(
- filename,
- "// This file contains Chromium-specific "
- "GLES2 extensions declarations.\n\n")
-
- file.Write("#include <GLES2/gl2chromium.h>\n")
- file.Write("""#ifdef __cplusplus
-extern "C" {
-#endif
-""")
-
- for ext_name, ext_dict in _CHROMIUM_SPECIFIC_EXTENSIONS.iteritems():
- file.Write("""
-/* %(name)s */
-#ifndef %(name)s
-#define %(name)s 1
-""" % {'name' : ext_name})
- for name, value in ext_dict.get('constants', {}).iteritems():
- file.Write("""
-#ifndef %(name)s
-#define %(name)s %(value)s
-#endif
-""" % {'name': name, 'value': value})
-
- for name in ext_dict.get('functions', []):
- found = False
- for function in self.original_functions:
- if function.name != name:
- continue
- file.Write("#ifdef GL_GLEXT_PROTOTYPES\n")
- file.Write("GL_APICALL %s GL_APIENTRY gl%s(%s);\n" % (
- function.return_type,
- function.name,
- function.MakeTypedOriginalArgString(prefix='')))
- file.Write("#endif\n")
- file.Write("typedef %s (GL_APIENTRYP %s) (%s);\n" % (
- function.return_type,
- 'PFNGL%sPROC' % function.name.upper(),
- function.MakeTypedOriginalArgString(prefix='')))
- found = True
- break
- if not found:
- self.Error("Function '%s' not found." % name)
-
- file.Write("#endif /* %s */\n" % ext_name)
-
- file.Write("""#ifdef __cplusplus
-}
-#endif
-""")
-
- file.Write("\n")
- file.Close()
-
def WriteGLES2CLibImplementation(self, filename):
"""Writes the GLES2 c lib implementation."""
file = CHeaderWriter(
@@ -7496,9 +7240,7 @@ NameToFunc g_gles2_function_table[] = {
enum_re = re.compile(r'\#define\s+(GL_[a-zA-Z0-9_]+)\s+([0-9A-Fa-fx]+)')
dict = {}
for fname in ['../../third_party/khronos/GLES2/gl2.h',
- '../../third_party/khronos/GLES2/gl2ext.h',
- '../../gpu/GLES2/gl2chromium.h',
- '../../gpu/GLES2/gl2extchromium.h']:
+ '../../third_party/khronos/GLES2/gl2ext.h']:
lines = open(fname).readlines()
for line in lines:
m = enum_re.match(line)
@@ -7836,7 +7578,6 @@ def main(argv):
gen.WriteCommonUtilsHeader("common/gles2_cmd_utils_autogen.h")
gen.WriteCommonUtilsImpl("common/gles2_cmd_utils_implementation_autogen.h")
gen.WriteGLES2Header("../GLES2/gl2chromium.h")
- gen.WriteGLES2ExtHeader("../GLES2/gl2extchromium.h")
if gen.errors > 0:
print "%d errors" % gen.errors
diff --git a/gpu/command_buffer/common/gles2_cmd_utils_implementation_autogen.h b/gpu/command_buffer/common/gles2_cmd_utils_implementation_autogen.h
index 8ef9a14..447efff 100644
--- a/gpu/command_buffer/common/gles2_cmd_utils_implementation_autogen.h
+++ b/gpu/command_buffer/common/gles2_cmd_utils_implementation_autogen.h
@@ -219,7 +219,7 @@ static GLES2Util::EnumToString enum_to_string_table[] = {
{ 0x90F1, "GL_MULTIVIEW_EXT", },
{ 0x90F0, "GL_COLOR_ATTACHMENT_EXT", },
{ 0x803C, "GL_ALPHA8_OES", },
- { 0x84F5, "GL_ASYNC_PIXEL_TRANSFERS_COMPLETED_CHROMIUM", },
+ { 0x84F5, "GL_TEXTURE_RECTANGLE_ARB", },
{ 0x882A, "GL_DRAW_BUFFER5_NV", },
{ 0x80AA, "GL_SAMPLE_COVERAGE_VALUE", },
{ 0x84F6, "GL_TEXTURE_BINDING_RECTANGLE_ARB", },
diff --git a/third_party/khronos/GLES2/gl2ext.h b/third_party/khronos/GLES2/gl2ext.h
index 8594adc..6cbca97 100644
--- a/third_party/khronos/GLES2/gl2ext.h
+++ b/third_party/khronos/GLES2/gl2ext.h
@@ -1805,10 +1805,385 @@ typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
#define GL_VIV_shader_binary 1
#endif
+/* GL_EXT_framebuffer_multisample */
+#ifndef GL_EXT_framebuffer_multisample
+#define GL_EXT_framebuffer_multisample 1
+
+#ifndef GL_DRAW_FRAMEBUFFER_BINDING
+#define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6
+#endif
+#ifndef GL_DRAW_FRAMEBUFFER_BINDING_EXT
+#define GL_DRAW_FRAMEBUFFER_BINDING_EXT GL_DRAW_FRAMEBUFFER_BINDING
+#endif
+#ifndef GL_FRAMEBUFFER_BINDING
+#define GL_FRAMEBUFFER_BINDING 0x8CA6
+#endif
+#ifndef GL_FRAMEBUFFER_BINDING_EXT
+#define GL_FRAMEBUFFER_BINDING_EXT GL_FRAMEBUFFER_BINDING
+#endif
+#ifndef GL_RENDERBUFFER_BINDING
+#define GL_RENDERBUFFER_BINDING 0x8CA7
+#endif
+#ifndef GL_RENDERBUFFER_BINDING_EXT
+#define GL_RENDERBUFFER_BINDING_EXT GL_RENDERBUFFER_BINDING
+#endif
+#ifndef GL_READ_FRAMEBUFFER
+#define GL_READ_FRAMEBUFFER 0x8CA8
+#endif
+#ifndef GL_READ_FRAMEBUFFER_EXT
+#define GL_READ_FRAMEBUFFER_EXT GL_READ_FRAMEBUFFER
+#endif
+#ifndef GL_DRAW_FRAMEBUFFER
+#define GL_DRAW_FRAMEBUFFER 0x8CA9
+#endif
+#ifndef GL_DRAW_FRAMEBUFFER_EXT
+#define GL_DRAW_FRAMEBUFFER_EXT GL_DRAW_FRAMEBUFFER
+#endif
+#ifndef GL_READ_FRAMEBUFFER_BINDING
+#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
+#endif
+#ifndef GL_READ_FRAMEBUFFER_BINDING_EXT
+#define GL_READ_FRAMEBUFFER_BINDING_EXT GL_READ_FRAMEBUFFER_BINDING
+#endif
+#ifndef GL_RENDERBUFFER_SAMPLES
+#define GL_RENDERBUFFER_SAMPLES 0x8CAB
+#endif
+#ifndef GL_RENDERBUFFER_SAMPLES_EXT
+#define GL_RENDERBUFFER_SAMPLES_EXT GL_RENDERBUFFER_SAMPLES
+#endif
+#ifndef GL_MAX_SAMPLES
+#define GL_MAX_SAMPLES 0x8D57
+#endif
+#ifndef GL_MAX_SAMPLES_EXT
+#define GL_MAX_SAMPLES_EXT GL_MAX_SAMPLES
+#endif
+#ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE
+#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
+#endif
+#ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT
+#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE
+#endif
+
+#if 0 // Defined in GL_EXT_multisampled_render_to_texture
+#ifdef GL_GLEXT_PROTOTYPES
+GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+#endif
+typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+#endif
+#endif
+
+#ifndef GL_EXT_framebuffer_blit
+#define GL_EXT_framebuffer_blit 1
+#ifdef GL_GLEXT_PROTOTYPES
+GL_APICALL void GL_APIENTRY glBlitFramebufferEXT (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
+#endif
+typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFEREXTPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
+#endif
+
+/* GL_CHROMIUM_map_sub */
+#ifndef GL_CHROMIUM_map_sub
+#define GL_CHROMIUM_map_sub 1
+#ifndef GL_READ_ONLY
+#define GL_READ_ONLY 0x88B8
+#endif
+#ifndef GL_WRITE_ONLY
+#define GL_WRITE_ONLY 0x88B9
+#endif
+#ifdef GL_GLEXT_PROTOTYPES
+GL_APICALL void* GL_APIENTRY glMapBufferSubDataCHROMIUM (GLuint target, GLintptr offset, GLsizeiptr size, GLenum access);
+GL_APICALL void GL_APIENTRY glUnmapBufferSubDataCHROMIUM (const void* mem);
+GL_APICALL void* GL_APIENTRY glMapTexSubImage2DCHROMIUM (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, GLenum access);
+GL_APICALL void GL_APIENTRY glUnmapTexSubImage2DCHROMIUM (const void* mem);
+#endif
+typedef void* (GL_APIENTRYP PFNGLMAPBUFFERSUBDATACHROMIUM) (GLuint target, GLintptr offset, GLsizeiptr size, GLenum access);
+typedef void (GL_APIENTRYP PFNGLUNMAPBUFFERSUBDATACHROMIUM) (const void* mem);
+typedef void* (GL_APIENTRYP PFNGLMAPTEXSUBIMAGE2DCHROMIUM) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, GLenum access);
+typedef void (GL_APIENTRYP PFNGLUNMAPTEXSUBIMAGE2DCHROMIUM) (const void* mem);
+#endif
+
+/* GL_CHROMIUM_resize */
+#ifndef GL_CHROMIUM_resize
+#define GL_CHROMIUM_resize 1
+#ifdef GL_GLEXT_PROTOTYPES
+GL_APICALL void GL_APIENTRY glResizeCHROMIUM (GLuint width, GLuint height);
+#endif
+typedef void (GL_APIENTRYP PFNGLRESIZECHROMIUM) (GLuint width, GLuint height);
+#endif
+
+/* GL_CHROMIUM_request_extension */
+/*
+ * This extension allows other extensions to be turned on at run time.
+ *
+ * glGetRequestableExtensionsCHROMIUM returns a space-separated and
+ * null-terminated string containing all of the extension names that
+ * can be successfully requested on the current hardware. This may
+ * include the names of extensions that have already been enabled.
+ *
+ * glRequestExtensionCHROMIUM requests that the given extension be
+ * enabled. Call glGetString(GL_EXTENSIONS) to find out whether the
+ * extension request succeeded.
+ */
+#ifndef GL_CHROMIUM_request_extension
+#define GL_CHROMIUM_request_extension 1
+#ifdef GL_GLEXT_PROTOTYPES
+GL_APICALL const GLchar* GL_APIENTRY glGetRequestableExtensionsCHROMIUM (void);
+GL_APICALL void GL_APIENTRY glRequestExtensionCHROMIUM (const GLchar *extension);
+#endif
+typedef const GLchar* (GL_APIENTRYP PFNGLGETREQUESTABLEEXTENSIONSCHROMIUM) (void);
+typedef void (GL_APIENTRYP PFNGLREQUESTEXTENSIONCHROMIUM) (const GLchar *extension);
+#endif
+
+/* GL_CHROMIUM_rate_limit_offscreen_context */
+/*
+ * This extension will block if the calling context has gotten more than two
+ * glRateLimit calls ahead of the GPU process. This keeps the client in sync
+ * with the GPU without having to call swapbuffers, which has potentially
+ * undesirable side effects.
+ */
+#ifndef GL_CHROMIUM_rate_limit_offscreen_context
+#define GL_CHROMIUM_rate_limit_offscreen_context 1
+#ifdef GL_GLEXT_PROTOTYPES
+GL_APICALL void GL_APIENTRY glRateLimitOffscreenContextCHROMIUM (void);
+#endif
+typedef void (GL_APIENTRYP PFNGLRATELIMITOFFSCREENCONTEXTCHROMIUM) ();
+#endif
+
+/* GL_CHROMIUM_get_multiple */
+/*
+ * This extension provides functions for quering multiple GL state with a single
+ * call.
+ */
+#ifndef GL_CHROMIUM_get_multiple
+#define GL_CHROMIUM_get_multiple 1
+#ifdef GL_GLEXT_PROTOTYPES
+GL_APICALL void GL_APIENTRY glGetMultipleIntegervCHROMIUM (const GLenum* pnames, GLuint count, GLint* results, GLsizeiptr size);
+GL_APICALL void GL_APIENTRY glGetProgramInfoCHROMIUM (GLuint program, GLsizei bufsize, GLsizei* size, void* info);
+#endif
+typedef void (GL_APIENTRYP PFNGLGETMULTIPLEINTEGERVCHROMIUM) ();
+typedef void (GL_APIENTRYP PFNGLGETPROGRAMINFOCHROMIUM) ();
+#endif
+
+/* GL_CHROMIUM_flipy */
+/*
+ * This extension provides GL_UNPACK_FLIP_Y_CHROMIUM as a parameter to
+ * glPixelStorei. When true images submitted to glTexImage2D and glTexSubImage2D
+ * are flipped vertically.
+ */
+#ifndef GL_CHROMIUM_flipy
+#define GL_CHROMIUM_flipy 1
+#define GL_UNPACK_FLIP_Y_CHROMIUM 0x9240
+#endif
+
+/* GL_CHROMIUM_texture_compression_dxt3 */
+#ifndef GL_CHROMIUM_texture_compression_dxt3
+#define GL_CHROMIUM_texture_compression_dxt3 1
+#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
+#endif
+
+/* GL_CHROMIUM_texture_compression_dxt5 */
+#ifndef GL_CHROMIUM_texture_compression_dxt5
+#define GL_CHROMIUM_texture_compression_dxt5 1
+#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
+#endif
+
+/* GL_CHROMIUM_enable_feature */
+#ifndef GL_CHROMIUM_enable_feature
+#define GL_CHROMIUM_enable_feature 1
+#ifdef GL_GLEXT_PROTOTYPES
+GL_APICALL GLboolean GL_APIENTRY glEnableFeatureCHROMIUM (const GLchar *feature);
+#endif
+typedef void (GL_APIENTRYP PFNGLENABLEFEATURECHROMIUM) (const GLchar *feature);
+#endif
+
+/* GL_CHROMIUM_post_sub_buffer */
+/* This extension is modeled after EGL_NV_post_sub_buffer and
+ * GLX_MESA_copy_sub_buffer. It's like a SwapBuffers, but it pushes a region
+ * of the back buffer to the front buffer.
+ */
+#ifndef GL_CHROMIUM_post_sub_buffer
+#define GL_CHROMIUM_post_sub_buffer 1
+#ifdef GL_GLEXT_PROTOTYPES
+GL_APICALL void GL_APIENTRY glPostSubBufferCHROMIUM (GLint x, GLint y, GLint width, GLint height);
+#endif
+typedef void (GL_APIENTRYP PFNGLPOSTSUBBUFFERCHROMIUM) (GLint x, GLint y, GLint width, GLint height);
+#endif
+
+/* GL_CHROMIUM_front_buffer_cached */
+/* This extension implies that there is a cache of the front buffer of the
+ * surface supporting this extension (e.g. on OSX the front buffer
+ * is often backed by an IOSurface). Hence we do not need to redraw
+ * (via a SwapBuffers) in order to display the last frame.
+ */
+#ifndef GL_CHROMIUM_front_buffer_cached
+#define GL_CHROMIUM_front_buffer_cached 1
+#endif
+
+/* GL_CHROMIUM_gpu_memory_manager */
+/* This extension provides a mechanism for indicating to the implementation
+ which textures may be discarded by the client based on the recommendations
+ of the implementation's memory allocation changed callback (e.g, compositor
+ tiles), and which texture will not be discarded (e.g, WebGL textures). */
+#ifndef GL_CHROMIUM_gpu_memory_manager
+#define GL_CHROMIUM_gpu_memory_manager 1
+#define GL_TEXTURE_POOL_CHROMIUM 0x6000
+#define GL_TEXTURE_POOL_MANAGED_CHROMIUM 0x6001
+#define GL_TEXTURE_POOL_UNMANAGED_CHROMIUM 0x6002
+#endif
+
+/* GL_ARB_robustness */
+/* This extension is subsetted for the moment, incorporating only the
+ * enums necessary to describe the reasons that we might encounter for
+ * losing the context. The entry point querying the reset status is
+ * not yet incorporated; to do so, a spec will be needed of a GLES2
+ * subset of GL_ARB_robustness.
+ */
+#ifndef GL_ARB_robustness
+#define GL_ARB_robustness 1
+#ifndef GL_GUILTY_CONTEXT_RESET_ARB
+#define GL_GUILTY_CONTEXT_RESET_ARB 0x8253
+#endif
+#ifndef GL_INNOCENT_CONTEXT_RESET_ARB
+#define GL_INNOCENT_CONTEXT_RESET_ARB 0x8254
+#endif
+#ifndef GL_UNKNOWN_CONTEXT_RESET_ARB
+#define GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255
+#endif
+#endif
+
+/* GL_ARB_texture_rectangle */
+/* Exposes only the subset necessary to support GL_CHROMIUM_iosurface.
+ */
+#ifndef GL_ARB_texture_rectangle
+#define GL_ARB_texture_rectangle 1
+#ifndef GL_TEXTURE_RECTANGLE_ARB
+#define GL_TEXTURE_RECTANGLE_ARB 0x84F5
+#endif
+#ifndef GL_TEXTURE_BINDING_RECTANGLE_ARB
+#define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6
+#endif
+#ifndef GL_SAMPLER_2D_RECT_ARB
+#define GL_SAMPLER_2D_RECT_ARB 0x8B63
+#endif
+#endif
+
+/* GL_CHROMIUM_iosurface */
+/* Exposes the Mac OS-specfic CGLTexImageIOSurface2D entry point as a
+ * Chromium extension in the cross-platform API. Binds the IOSurface with
+ * the given ID (an IOSurfaceID) to the texture bound to the given target.
+ * To avoid needing to expose extraneous enums, assumes internal format
+ * RGBA, format BGRA, and type UNSIGNED_INT_8_8_8_8_REV.
+ */
+#ifndef GL_CHROMIUM_iosurface
+#define GL_CHROMIUM_iosurface 1
+#ifdef GL_GLEXT_PROTOTYPES
+GL_APICALL void GL_APIENTRY glTexImageIOSurface2DCHROMIUM (GLenum target, GLsizei width, GLsizei height, GLuint ioSurfaceId, GLuint plane);
+#endif
+typedef void (GL_APIENTRYP PFNGLTEXIMAGEIOSURFACE2DCHROMIUM) (GLenum target, GLsizei width, GLsizei height, GLuint ioSurfaceId, GLuint plane);
+#endif
+
+/* GL_CHROMIUM_copy_texture */
+#ifndef GL_CHROMIUM_copy_texture
+#ifndef GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM
+#define GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM 0x9241
+#endif
+#ifndef GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM
+#define GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM 0x9242
+#endif
+#ifndef GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM
+#define GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM 0x9243
+#endif
+#ifdef GL_GLEXT_PROTOTYPES
+GL_APICALL void GL_APIENTRY glCopyTextureCHROMIUM (GLenum target, GLenum source_id, GLenum dest_id, GLint level, GLint internal_format);
+#endif
+typedef void (GL_APIENTRYP PFNGLCOPYTEXTURECHROMIUM) (GLenum target, GLenum source_id, GLenum dest_id, GLint level, GLint internal_format);
+#endif
+
+/* GL_CHROMIUM_command_buffer_query */
+/* Exposes GL_CHROMIUM_command_buffer_query.
+ */
+#ifndef GL_CHROMIUM_command_buffer_query
+#define GL_CHROMIUM_command_buffer_query 1
+// TODO(gman): Get official numbers for these constants.
+#define GL_COMMANDS_ISSUED_CHROMIUM 0x84F2
+#endif
+
+/* GL_CHROMIUM_get_error_query */
+/* Exposes GL_CHROMIUM_get_error_query.
+ */
+#ifndef GL_CHROMIUM_get_error_query
+#define GL_CHROMIUM_get_error_query 1
+// TODO(gman): Get official numbers for these constants.
+#define GL_GET_ERROR_QUERY_CHROMIUM 0x84F3
+#endif
+
+/* GL_CHROMIUM_command_buffer_latency_query */
+#ifndef GL_CHROMIUM_command_buffer_latency_query
+#define GL_CHROMIUM_command_buffer_latency_query 1
+// TODO: Get official numbers for these constants.
+#define GL_LATENCY_QUERY_CHROMIUM 0x84F4
+#endif
+
+/* GL_CHROMIUM_texture_mailbox */
+#ifndef GL_CHROMIUM_texture_mailbox
+#define GL_CHROMIUM_texture_mailbox 1
+#define GL_MAILBOX_SIZE_CHROMIUM 64
+#ifdef GL_GLEXT_PROTOTYPES
+GL_APICALL void GL_APIENTRY glGenMailboxCHROMIUM (GLbyte* mailbox);
+GL_APICALL void GL_APIENTRY glProduceTextureCHROMIUM (GLenum target, const GLbyte* mailbox);
+GL_APICALL void GL_APIENTRY glConsumeTextureCHROMIUM (GLenum target, const GLbyte* mailbox);
+#endif
+typedef void (GL_APIENTRYP PFNGLGENMAILBOXCHROMIUM) (GLbyte* mailbox);
+typedef void (GL_APIENTRYP PFNGLPRODUCETEXTURECHROMIUM) (GLenum target, const GLbyte* mailbox);
+typedef void (GL_APIENTRYP PFNGLCONSUMETEXTURECHROMIUM) (GLenum target, const GLbyte* mailbox);
+#endif
+
+/* GL_CHROMIUM_bind_uniform_location */
+#ifndef GL_CHROMIUM_bind_uniform_location
+#define GL_CHROMIUM_bind_uniform_location 1
+
+#ifdef GL_GLEXT_PROTOTYPES
+GL_APICALL void GL_APIENTRY glBindUniformLocationCHROMIUM (GLuint program, GLint location, const GLchar* name);
+#endif
+typedef void (GL_APIENTRYP PFNGLBINDUNIFORMLOCATIONCHROMIUM) (GLuint program, GLint location, const GLchar* name);
+#endif
+
+/* GL_CHROMIUM_texture_from_image */
+#ifndef GL_CHROMIUM_texture_from_image
+#define GL_CHROMIUM_texture_from_image 1
+#ifdef GL_GLEXT_PROTOTYPES
+GL_APICALL void GL_APIENTRY glBindTexImage2DCHROMIUM (GLenum target, GLint imageId);
+GL_APICALL void GL_APIENTRY glReleaseTexImage2DCHROMIUM (GLenum target, GLint imageId);
+#endif
+typedef void (GL_APIENTRYP PFNGLBINDTEXIMAGE2DCHROMIUM) (GLenum target, GLint imageId);
+typedef void (GL_APIENTRYP PFNGLRELEASETEXIMAGE2DCHROMIUM) (GLenum target, GLint imageId);
+#endif
+
+/* GL_CHROMIUM_pixel_transfer_buffer_object */
+#ifndef GL_CHROMIUM_pixel_transfer_buffer_object
+#define GL_CHROMIUM_pixel_transfer_buffer_object 1
+// TODO(reveman): Get official numbers for these constants.
+#define GL_PIXEL_UNPACK_TRANSFER_BUFFER_CHROMIUM 0x88EC
+#define GL_PIXEL_UNPACK_TRANSFER_BUFFER_BINDING_CHROMIUM 0x88EF
+#endif
+
+/* GL_CHROMIUM_async_pixel_transfers */
+#ifndef GL_CHROMIUM_async_pixel_transfers
+#define GL_CHROMIUM_async_pixel_transfers 1
+// TODO: Get official numbers for these constants.
+#define GL_ASYNC_PIXEL_TRANSFERS_COMPLETED_CHROMIUM 0x84F5
+#endif
+
+/* GL_CHROMIUM_lose_context */
+#ifndef GL_CHROMIUM_lose_context
+#define GL_CHROMIUM_lose_context 1
+#ifdef GL_GLEXT_PROTOTYPES
+GL_APICALL void GL_APIENTRY glLoseContextCHROMIUM (GLenum current, GLenum other);
+#endif
+typedef void (GL_APIENTRYP PFNGLLOSECONTEXTCHROMIUM) (GLenum current, GLenum other);
+#endif
+
#ifdef __cplusplus
}
#endif
-#include <GLES2/gl2extchromium.h>
-
#endif /* __gl2ext_h_ */