summaryrefslogtreecommitdiffstats
path: root/gpu
diff options
context:
space:
mode:
authorjamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-10 17:54:14 +0000
committerjamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-10 17:54:14 +0000
commit37fd3cc51cb10faa97b17b720a7a317c1f873e48 (patch)
tree0a6c7bcaffe3c3e2aeef94350276bc72217253ab /gpu
parent2e79f731451fa6d4ad14819b0f31bac136e37d59 (diff)
downloadchromium_src-37fd3cc51cb10faa97b17b720a7a317c1f873e48.zip
chromium_src-37fd3cc51cb10faa97b17b720a7a317c1f873e48.tar.gz
chromium_src-37fd3cc51cb10faa97b17b720a7a317c1f873e48.tar.bz2
Refactor id_handler set in GLES2Implementation
I plan to add some logic that will apply to all id handlers, so having these in an array instead of 5 separate objects. BUG=none Review URL: http://codereview.chromium.org/8508034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109450 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu')
-rwxr-xr-xgpu/command_buffer/build_gles2_cmd_buffer.py8
-rw-r--r--gpu/command_buffer/client/gles2_implementation.cc61
-rw-r--r--gpu/command_buffer/client/gles2_implementation.h10
-rw-r--r--gpu/command_buffer/client/gles2_implementation_autogen.h18
-rw-r--r--gpu/command_buffer/common/gles2_cmd_utils_implementation_autogen.h61
5 files changed, 99 insertions, 59 deletions
diff --git a/gpu/command_buffer/build_gles2_cmd_buffer.py b/gpu/command_buffer/build_gles2_cmd_buffer.py
index 22d22a9..e1051b4 100755
--- a/gpu/command_buffer/build_gles2_cmd_buffer.py
+++ b/gpu/command_buffer/build_gles2_cmd_buffer.py
@@ -2818,7 +2818,7 @@ class GENnHandler(TypeHandler):
'name': func.original_name,
'typed_args': func.MakeTypedOriginalArgString(""),
'args': func.MakeOriginalArgString(""),
- 'resource_type': func.name[3:-1].lower(),
+ 'resource_type': func.name[3:],
'count_name': func.GetOriginalArgs()[0].name,
}
file.Write("%(return_type)s %(name)s(%(typed_args)s) {\n" % args)
@@ -2826,7 +2826,8 @@ class GENnHandler(TypeHandler):
self.WriteClientGLCallLog(func, file)
for arg in func.GetOriginalArgs():
arg.WriteClientSideValidationCode(file, func)
- code = """ %(resource_type)s_id_handler_->MakeIds(0, %(args)s);
+ code = """ id_handlers_[id_namespaces::k%(resource_type)s]->
+ MakeIds(0, %(args)s);
helper_->%(name)sImmediate(%(args)s);
%(log_code)s
}
@@ -3045,7 +3046,8 @@ TEST_F(%(test_name)s, %(name)sInvalidArgs%(arg_index)d_%(value_index)d) {
for arg in func.GetOriginalArgs():
arg.WriteClientSideValidationCode(file, func)
file.Write(" GLuint client_id;\n")
- file.Write(" program_and_shader_id_handler_->MakeIds(0, 1, &client_id);\n")
+ file.Write(" id_handlers_[id_namespaces::kProgramsAndShaders]->\n")
+ file.Write(" MakeIds(0, 1, &client_id);\n")
file.Write(" helper_->%s(%s);\n" %
(func.name, func.MakeCmdArgString("")))
file.Write(' GPU_CLIENT_LOG("returned " << client_id);\n')
diff --git a/gpu/command_buffer/client/gles2_implementation.cc b/gpu/command_buffer/client/gles2_implementation.cc
index 12238da..f6d8696 100644
--- a/gpu/command_buffer/client/gles2_implementation.cc
+++ b/gpu/command_buffer/client/gles2_implementation.cc
@@ -566,34 +566,23 @@ GLES2Implementation::GLES2Implementation(
if (share_resources) {
if (!bind_generates_resource) {
- buffer_id_handler_.reset(
- new StrictSharedIdHandler(this, id_namespaces::kBuffers));
- framebuffer_id_handler_.reset(
- new StrictSharedIdHandler(this, id_namespaces::kFramebuffers));
- renderbuffer_id_handler_.reset(
- new StrictSharedIdHandler(this, id_namespaces::kRenderbuffers));
- program_and_shader_id_handler_.reset(
- new StrictSharedIdHandler(this, id_namespaces::kProgramsAndShaders));
- texture_id_handler_.reset(
- new StrictSharedIdHandler(this, id_namespaces::kTextures));
+ for (int i = 0; i < id_namespaces::kNumIdNamespaces; ++i) {
+ id_handlers_[i].reset(new StrictSharedIdHandler(
+ this, static_cast<id_namespaces::IdNamespaces>(i)));
+ }
} else {
- buffer_id_handler_.reset(
- new SharedIdHandler(this, id_namespaces::kBuffers));
- framebuffer_id_handler_.reset(
- new SharedIdHandler(this, id_namespaces::kFramebuffers));
- renderbuffer_id_handler_.reset(
- new SharedIdHandler(this, id_namespaces::kRenderbuffers));
- program_and_shader_id_handler_.reset(
- new SharedIdHandler(this, id_namespaces::kProgramsAndShaders));
- texture_id_handler_.reset(
- new SharedIdHandler(this, id_namespaces::kTextures));
+ for (int i = 0; i < id_namespaces::kNumIdNamespaces; ++i) {
+ id_handlers_[i].reset(new SharedIdHandler(
+ this, static_cast<id_namespaces::IdNamespaces>(i)));
+ }
}
} else {
- buffer_id_handler_.reset(new NonSharedIdHandler());
- framebuffer_id_handler_.reset(new NonSharedIdHandler());
- renderbuffer_id_handler_.reset(new NonSharedIdHandler());
- program_and_shader_id_handler_.reset(new NonSharedNonReusedIdHandler());
- texture_id_handler_.reset(new NonSharedIdHandler());
+ for (int i = 0; i < id_namespaces::kNumIdNamespaces; ++i) {
+ if (i == id_namespaces::kProgramsAndShaders)
+ id_handlers_[i].reset(new NonSharedNonReusedIdHandler);
+ else
+ id_handlers_[i].reset(new NonSharedIdHandler);
+ }
}
static const GLenum pnames[] = {
@@ -626,7 +615,7 @@ GLES2Implementation::GLES2Implementation(
program_info_manager_.reset(ProgramInfoManager::Create(sharing_resources_));
#if defined(GLES2_SUPPORT_CLIENT_SIDE_ARRAYS)
- buffer_id_handler_->MakeIds(
+ id_handlers_[id_namespaces::kBuffers]->MakeIds(
kClientSideArrayId, arraysize(reserved_ids_), &reserved_ids_[0]);
client_side_buffer_helper_.reset(new ClientSideBufferHelper(
@@ -1104,7 +1093,7 @@ void GLES2Implementation::GetVertexAttribPointerv(
}
bool GLES2Implementation::DeleteProgramHelper(GLuint program) {
- if (!program_and_shader_id_handler_->FreeIds(1, &program)) {
+ if (!id_handlers_[id_namespaces::kProgramsAndShaders]->FreeIds(1, &program)) {
SetGLError(
GL_INVALID_VALUE,
"glDeleteProgram: id not created by this context.");
@@ -1117,7 +1106,7 @@ bool GLES2Implementation::DeleteProgramHelper(GLuint program) {
}
bool GLES2Implementation::DeleteShaderHelper(GLuint shader) {
- if (!program_and_shader_id_handler_->FreeIds(1, &shader)) {
+ if (!id_handlers_[id_namespaces::kProgramsAndShaders]->FreeIds(1, &shader)) {
SetGLError(
GL_INVALID_VALUE,
"glDeleteShader: id not created by this context.");
@@ -2076,7 +2065,7 @@ void GLES2Implementation::BindBufferHelper(
}
// TODO(gman): There's a bug here. If the target is invalid the ID will not be
// used even though it's marked it as used here.
- buffer_id_handler_->MarkAsUsedForBind(buffer);
+ id_handlers_[id_namespaces::kBuffers]->MarkAsUsedForBind(buffer);
}
void GLES2Implementation::BindFramebufferHelper(
@@ -2091,7 +2080,7 @@ void GLES2Implementation::BindFramebufferHelper(
}
// TODO(gman): There's a bug here. If the target is invalid the ID will not be
// used even though it's marked it as used here.
- framebuffer_id_handler_->MarkAsUsedForBind(framebuffer);
+ id_handlers_[id_namespaces::kFramebuffers]->MarkAsUsedForBind(framebuffer);
}
void GLES2Implementation::BindRenderbufferHelper(
@@ -2106,7 +2095,7 @@ void GLES2Implementation::BindRenderbufferHelper(
}
// TODO(gman): There's a bug here. If the target is invalid the ID will not be
// used even though it's marked it as used here.
- renderbuffer_id_handler_->MarkAsUsedForBind(renderbuffer);
+ id_handlers_[id_namespaces::kRenderbuffers]->MarkAsUsedForBind(renderbuffer);
}
void GLES2Implementation::BindTextureHelper(GLenum target, GLuint texture) {
@@ -2124,7 +2113,7 @@ void GLES2Implementation::BindTextureHelper(GLenum target, GLuint texture) {
}
// TODO(gman): There's a bug here. If the target is invalid the ID will not be
// used. even though it's marked it as used here.
- texture_id_handler_->MarkAsUsedForBind(texture);
+ id_handlers_[id_namespaces::kTextures]->MarkAsUsedForBind(texture);
}
#if defined(GLES2_SUPPORT_CLIENT_SIDE_ARRAYS)
@@ -2144,7 +2133,7 @@ bool GLES2Implementation::IsBufferReservedId(GLuint /* id */) {
void GLES2Implementation::DeleteBuffersHelper(
GLsizei n, const GLuint* buffers) {
- if (!buffer_id_handler_->FreeIds(n, buffers)) {
+ if (!id_handlers_[id_namespaces::kBuffers]->FreeIds(n, buffers)) {
SetGLError(
GL_INVALID_VALUE,
"glDeleteBuffers: id not created by this context.");
@@ -2164,7 +2153,7 @@ void GLES2Implementation::DeleteBuffersHelper(
void GLES2Implementation::DeleteFramebuffersHelper(
GLsizei n, const GLuint* framebuffers) {
- if (!framebuffer_id_handler_->FreeIds(n, framebuffers)) {
+ if (!id_handlers_[id_namespaces::kFramebuffers]->FreeIds(n, framebuffers)) {
SetGLError(
GL_INVALID_VALUE,
"glDeleteFramebuffers: id not created by this context.");
@@ -2181,7 +2170,7 @@ void GLES2Implementation::DeleteFramebuffersHelper(
void GLES2Implementation::DeleteRenderbuffersHelper(
GLsizei n, const GLuint* renderbuffers) {
- if (!renderbuffer_id_handler_->FreeIds(n, renderbuffers)) {
+ if (!id_handlers_[id_namespaces::kRenderbuffers]->FreeIds(n, renderbuffers)) {
SetGLError(
GL_INVALID_VALUE,
"glDeleteRenderbuffers: id not created by this context.");
@@ -2198,7 +2187,7 @@ void GLES2Implementation::DeleteRenderbuffersHelper(
void GLES2Implementation::DeleteTexturesHelper(
GLsizei n, const GLuint* textures) {
- if (!texture_id_handler_->FreeIds(n, textures)) {
+ if (!id_handlers_[id_namespaces::kTextures]->FreeIds(n, textures)) {
SetGLError(
GL_INVALID_VALUE,
"glDeleteTextures: id not created by this context.");
diff --git a/gpu/command_buffer/client/gles2_implementation.h b/gpu/command_buffer/client/gles2_implementation.h
index 81f0145..8594f67 100644
--- a/gpu/command_buffer/client/gles2_implementation.h
+++ b/gpu/command_buffer/client/gles2_implementation.h
@@ -189,12 +189,12 @@ class GLES2Implementation {
GLuint MakeTextureId() {
GLuint id;
- texture_id_handler_->MakeIds(0, 1, &id);
+ id_handlers_[id_namespaces::kTextures]->MakeIds(0, 1, &id);
return id;
}
void FreeTextureId(GLuint id) {
- texture_id_handler_->FreeIds(1, &id);
+ id_handlers_[id_namespaces::kTextures]->FreeIds(1, &id);
}
void SetSharedMemoryChunkSizeMultiple(unsigned int multiple);
@@ -422,11 +422,7 @@ class GLES2Implementation {
GLES2Util util_;
GLES2CmdHelper* helper_;
- scoped_ptr<IdHandlerInterface> buffer_id_handler_;
- scoped_ptr<IdHandlerInterface> framebuffer_id_handler_;
- scoped_ptr<IdHandlerInterface> renderbuffer_id_handler_;
- scoped_ptr<IdHandlerInterface> program_and_shader_id_handler_;
- scoped_ptr<IdHandlerInterface> texture_id_handler_;
+ scoped_ptr<IdHandlerInterface> id_handlers_[id_namespaces::kNumIdNamespaces];
AlignedRingBuffer transfer_buffer_;
int transfer_buffer_id_;
void* result_buffer_;
diff --git a/gpu/command_buffer/client/gles2_implementation_autogen.h b/gpu/command_buffer/client/gles2_implementation_autogen.h
index 46c01c0..d8f6a5c 100644
--- a/gpu/command_buffer/client/gles2_implementation_autogen.h
+++ b/gpu/command_buffer/client/gles2_implementation_autogen.h
@@ -183,7 +183,8 @@ void CopyTexSubImage2D(
GLuint CreateProgram() {
GPU_CLIENT_LOG("[" << this << "] glCreateProgram(" << ")");
GLuint client_id;
- program_and_shader_id_handler_->MakeIds(0, 1, &client_id);
+ id_handlers_[id_namespaces::kProgramsAndShaders]->
+ MakeIds(0, 1, &client_id);
helper_->CreateProgram(client_id);
GPU_CLIENT_LOG("returned " << client_id);
return client_id;
@@ -192,7 +193,8 @@ GLuint CreateProgram() {
GLuint CreateShader(GLenum type) {
GPU_CLIENT_LOG("[" << this << "] glCreateShader(" << GLES2Util::GetStringShaderType(type) << ")"); // NOLINT
GLuint client_id;
- program_and_shader_id_handler_->MakeIds(0, 1, &client_id);
+ id_handlers_[id_namespaces::kProgramsAndShaders]->
+ MakeIds(0, 1, &client_id);
helper_->CreateShader(type, client_id);
GPU_CLIENT_LOG("returned " << client_id);
return client_id;
@@ -359,7 +361,8 @@ void GenBuffers(GLsizei n, GLuint* buffers) {
SetGLError(GL_INVALID_VALUE, "glGenBuffers: n < 0");
return;
}
- buffer_id_handler_->MakeIds(0, n, buffers);
+ id_handlers_[id_namespaces::kBuffers]->
+ MakeIds(0, n, buffers);
helper_->GenBuffersImmediate(n, buffers);
GPU_CLIENT_LOG_CODE_BLOCK({
for (GLsizei i = 0; i < n; ++i) {
@@ -379,7 +382,8 @@ void GenFramebuffers(GLsizei n, GLuint* framebuffers) {
SetGLError(GL_INVALID_VALUE, "glGenFramebuffers: n < 0");
return;
}
- framebuffer_id_handler_->MakeIds(0, n, framebuffers);
+ id_handlers_[id_namespaces::kFramebuffers]->
+ MakeIds(0, n, framebuffers);
helper_->GenFramebuffersImmediate(n, framebuffers);
GPU_CLIENT_LOG_CODE_BLOCK({
for (GLsizei i = 0; i < n; ++i) {
@@ -394,7 +398,8 @@ void GenRenderbuffers(GLsizei n, GLuint* renderbuffers) {
SetGLError(GL_INVALID_VALUE, "glGenRenderbuffers: n < 0");
return;
}
- renderbuffer_id_handler_->MakeIds(0, n, renderbuffers);
+ id_handlers_[id_namespaces::kRenderbuffers]->
+ MakeIds(0, n, renderbuffers);
helper_->GenRenderbuffersImmediate(n, renderbuffers);
GPU_CLIENT_LOG_CODE_BLOCK({
for (GLsizei i = 0; i < n; ++i) {
@@ -409,7 +414,8 @@ void GenTextures(GLsizei n, GLuint* textures) {
SetGLError(GL_INVALID_VALUE, "glGenTextures: n < 0");
return;
}
- texture_id_handler_->MakeIds(0, n, textures);
+ id_handlers_[id_namespaces::kTextures]->
+ MakeIds(0, n, textures);
helper_->GenTexturesImmediate(n, textures);
GPU_CLIENT_LOG_CODE_BLOCK({
for (GLsizei i = 0; i < n; ++i) {
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 14e626f..9b8d22b 100644
--- a/gpu/command_buffer/common/gles2_cmd_utils_implementation_autogen.h
+++ b/gpu/command_buffer/common/gles2_cmd_utils_implementation_autogen.h
@@ -10,6 +10,10 @@
#define GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_UTILS_IMPLEMENTATION_AUTOGEN_H_
static GLES2Util::EnumToString enum_to_string_table[] = {
+ { 0x8825, "GL_DRAW_BUFFER0_NV", },
+ { 0x0BC1, "GL_ALPHA_TEST_FUNC_QCOM", },
+ { 0x0BC0, "GL_ALPHA_TEST_QCOM", },
+ { 0x0BC2, "GL_ALPHA_TEST_REF_QCOM", },
{ 0x1E01, "GL_REPLACE", },
{ 0, "GL_FALSE", },
{ 0x00400000, "GL_STENCIL_BUFFER_BIT6_QCOM", },
@@ -48,6 +52,7 @@ static GLES2Util::EnumToString enum_to_string_table[] = {
{ 0x8DF7, "GL_INT_10_10_10_2_OES", },
{ 0x806F, "GL_TEXTURE_3D_OES", },
{ 0x806A, "GL_TEXTURE_BINDING_3D_OES", },
+ { 0x8CE3, "GL_COLOR_ATTACHMENT3_NV", },
{ 0x8069, "GL_TEXTURE_BINDING_2D", },
{ 0x8DFA, "GL_SHADER_COMPILER", },
{ 0x8DFB, "GL_MAX_VERTEX_UNIFORM_VECTORS", },
@@ -109,6 +114,7 @@ static GLES2Util::EnumToString enum_to_string_table[] = {
{ 0x81A6, "GL_DEPTH_COMPONENT24_OES", },
{ 0x81A7, "GL_DEPTH_COMPONENT32_OES", },
{ 0x8DFD, "GL_MAX_FRAGMENT_UNIFORM_VECTORS", },
+ { 0x8F60, "GL_MALI_SHADER_BINARY_ARM", },
{ 0x87EE, "GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD", },
{ 1, "GL_ES_VERSION_2_0", },
{ 0x84F9, "GL_DEPTH_STENCIL_OES", },
@@ -155,15 +161,22 @@ static GLES2Util::EnumToString enum_to_string_table[] = {
{ 0x00020000, "GL_STENCIL_BUFFER_BIT1_QCOM", },
{ 0x8D00, "GL_DEPTH_ATTACHMENT", },
{ 0x8FA0, "GL_PERFMON_GLOBAL_MODE_QCOM", },
+ { 0x813D, "GL_TEXTURE_MAX_LEVEL_APPLE", },
{ 0x8CDD, "GL_FRAMEBUFFER_UNSUPPORTED", },
+ { 0x8CDF, "GL_MAX_COLOR_ATTACHMENTS_NV", },
+ { 0x882A, "GL_DRAW_BUFFER5_NV", },
{ 0x80AA, "GL_SAMPLE_COVERAGE_VALUE", },
{ 0x80AB, "GL_SAMPLE_COVERAGE_INVERT", },
+ { 0x882B, "GL_DRAW_BUFFER6_NV", },
+ { 0x882C, "GL_DRAW_BUFFER7_NV", },
{ 0x84FF, "GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT", },
{ 0x0B74, "GL_DEPTH_FUNC", },
{ 0x0B71, "GL_DEPTH_TEST", },
{ 0x0B70, "GL_DEPTH_RANGE", },
{ 0x0B73, "GL_DEPTH_CLEAR_VALUE", },
{ 0x0B72, "GL_DEPTH_WRITEMASK", },
+ { 0x85BA, "GL_UNSIGNED_SHORT_8_8_APPLE", },
+ { 0x882E, "GL_DRAW_BUFFER9_NV", },
{ 0x8073, "GL_MAX_3D_TEXTURE_SIZE_OES", },
{ 0x8072, "GL_TEXTURE_WRAP_R_OES", },
{ 0x80E1, "GL_BGRA_EXT", },
@@ -212,20 +225,22 @@ static GLES2Util::EnumToString enum_to_string_table[] = {
{ 0x84CB, "GL_TEXTURE11", },
{ 0x8D55, "GL_RENDERBUFFER_STENCIL_SIZE", },
{ 0x8D54, "GL_RENDERBUFFER_DEPTH_SIZE", },
- { 0x8D57, "GL_MAX_SAMPLES", },
- { 0x8D56, "GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE", },
+ { 0x8D57, "GL_MAX_SAMPLES_ANGLE", },
+ { 0x8D56, "GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE", },
{ 0x8D51, "GL_RENDERBUFFER_GREEN_SIZE", },
{ 0x8D50, "GL_RENDERBUFFER_RED_SIZE", },
{ 0x8D53, "GL_RENDERBUFFER_ALPHA_SIZE", },
{ 0x8D52, "GL_RENDERBUFFER_BLUE_SIZE", },
{ 0x00080000, "GL_STENCIL_BUFFER_BIT3_QCOM", },
{ 0x886A, "GL_VERTEX_ATTRIB_ARRAY_NORMALIZED", },
+ { 0x9250, "GL_SHADER_BINARY_DMP", },
{ 0x10000000, "GL_MULTISAMPLE_BUFFER_BIT4_QCOM", },
{ 0x00000002, "GL_COLOR_BUFFER_BIT1_QCOM", },
{ 0x00000001, "GL_COLOR_BUFFER_BIT0_QCOM", },
{ 0x00000004, "GL_COLOR_BUFFER_BIT2_QCOM", },
{ 0x1702, "GL_TEXTURE", },
{ 0x00000008, "GL_COLOR_BUFFER_BIT3_QCOM", },
+ { 0x8828, "GL_DRAW_BUFFER3_NV", },
{ 0x8DF0, "GL_LOW_FLOAT", },
{ 0x1906, "GL_ALPHA", },
{ 0x1907, "GL_RGB", },
@@ -237,8 +252,11 @@ static GLES2Util::EnumToString enum_to_string_table[] = {
{ 0x8823, "GL_WRITEONLY_RENDERING_QCOM", },
{ 0x1908, "GL_RGBA", },
{ 0x8DF2, "GL_HIGH_FLOAT", },
+ { 0x8826, "GL_DRAW_BUFFER1_NV", },
+ { 0x8827, "GL_DRAW_BUFFER2_NV", },
{ 0x8DF3, "GL_LOW_INT", },
{ 0x8B53, "GL_INT_VEC2", },
+ { 0x0C02, "GL_READ_BUFFER_NV", },
{ 0x8B52, "GL_FLOAT_VEC4", },
{ 0x9240, "GL_UNPACK_FLIP_Y_CHROMIUM", },
{ 0x8B51, "GL_FLOAT_VEC3", },
@@ -246,9 +264,12 @@ static GLES2Util::EnumToString enum_to_string_table[] = {
{ 0x812F, "GL_CLAMP_TO_EDGE", },
{ 0x86A3, "GL_COMPRESSED_TEXTURE_FORMATS", },
{ 0x86A2, "GL_NUM_COMPRESSED_TEXTURE_FORMATS", },
+ { 0x0CF3, "GL_UNPACK_SKIP_ROWS", },
+ { 0x0CF2, "GL_UNPACK_ROW_LENGTH", },
{ 0x140C, "GL_FIXED", },
{ 0x8008, "GL_MAX_EXT", },
{ 0x0CF5, "GL_UNPACK_ALIGNMENT", },
+ { 0x0CF4, "GL_UNPACK_SKIP_PIXELS", },
{ 0x8009, "GL_BLEND_EQUATION", },
{ 0x1401, "GL_UNSIGNED_BYTE", },
{ 0x1400, "GL_BYTE", },
@@ -335,25 +356,31 @@ static GLES2Util::EnumToString enum_to_string_table[] = {
{ 0x84D1, "GL_TEXTURE17", },
{ 0x1E03, "GL_DECR", },
{ 0x84DF, "GL_TEXTURE31", },
+ { 0x882D, "GL_DRAW_BUFFER8_NV", },
{ 0x84DD, "GL_TEXTURE29", },
{ 0x84DE, "GL_TEXTURE30", },
{ 0x84DB, "GL_TEXTURE27", },
{ 0x84DC, "GL_TEXTURE28", },
{ 0x84DA, "GL_TEXTURE26", },
+ { 0x882F, "GL_DRAW_BUFFER10_NV", },
{ 0x8645, "GL_VERTEX_ATTRIB_ARRAY_POINTER", },
{ 0x300E, "GL_CONTEXT_LOST", },
{ 0x2600, "GL_NEAREST", },
{ 0x84C4, "GL_TEXTURE4", },
{ 0x85B5, "GL_VERTEX_ARRAY_BINDING_OES", },
{ 0x8253, "GL_GUILTY_CONTEXT_RESET_ARB", },
+ { 0x8FC4, "GL_SHADER_BINARY_VIV", },
{ 0x00200000, "GL_STENCIL_BUFFER_BIT5_QCOM", },
{ 0x8D68, "GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES", },
+ { 0x85BB, "GL_UNSIGNED_SHORT_8_8_REV_APPLE", },
{ 0x8D61, "GL_HALF_FLOAT_OES", },
{ 0x8D62, "GL_RGB565", },
{ 0x8D64, "GL_ETC1_RGB8_OES", },
{ 0x8D65, "GL_TEXTURE_EXTERNAL_OES", },
{ 0x8D66, "GL_SAMPLER_EXTERNAL_OES", },
{ 0x8D67, "GL_TEXTURE_BINDING_EXTERNAL_OES", },
+ { 0x04000000, "GL_MULTISAMPLE_BUFFER_BIT2_QCOM", },
+ { 0x8CEE, "GL_COLOR_ATTACHMENT14_NV", },
{ 0x2800, "GL_TEXTURE_MAG_FILTER", },
{ 0x2801, "GL_TEXTURE_MIN_FILTER", },
{ 0x2802, "GL_TEXTURE_WRAP_S", },
@@ -371,6 +398,11 @@ static GLES2Util::EnumToString enum_to_string_table[] = {
{ 0x8B4F, "GL_SHADER_TYPE", },
{ 0x00004000, "GL_COLOR_BUFFER_BIT", },
{ 0x00000010, "GL_COLOR_BUFFER_BIT4_QCOM", },
+ { 0x8834, "GL_DRAW_BUFFER15_NV", },
+ { 0x8833, "GL_DRAW_BUFFER14_NV", },
+ { 0x8832, "GL_DRAW_BUFFER13_NV", },
+ { 0x8831, "GL_DRAW_BUFFER12_NV", },
+ { 0x8830, "GL_DRAW_BUFFER11_NV", },
{ 0x00010000, "GL_STENCIL_BUFFER_BIT0_QCOM", },
{ 0x0B93, "GL_STENCIL_VALUE_MASK", },
{ 0x0B92, "GL_STENCIL_FUNC", },
@@ -388,7 +420,7 @@ static GLES2Util::EnumToString enum_to_string_table[] = {
{ 0x8058, "GL_RGBA8_OES", },
{ 0x00002000, "GL_DEPTH_BUFFER_BIT5_QCOM", },
{ 0x8051, "GL_RGB8_OES", },
- { 0x8CAB, "GL_RENDERBUFFER_SAMPLES", },
+ { 0x8CAB, "GL_RENDERBUFFER_SAMPLES_ANGLE", },
{ 0x8057, "GL_RGB5_A1", },
{ 0x8056, "GL_RGBA4", },
{ 0x150A, "GL_INVERT", },
@@ -398,8 +430,8 @@ static GLES2Util::EnumToString enum_to_string_table[] = {
{ 0x8D20, "GL_STENCIL_ATTACHMENT", },
{ 0x00000200, "GL_DEPTH_BUFFER_BIT1_QCOM", },
{ 0x00008000, "GL_DEPTH_BUFFER_BIT7_QCOM", },
- { 0x8CA8, "GL_READ_FRAMEBUFFER", },
- { 0x8CA9, "GL_DRAW_FRAMEBUFFER", },
+ { 0x8CA8, "GL_READ_FRAMEBUFFER_ANGLE", },
+ { 0x8CA9, "GL_DRAW_FRAMEBUFFER_ANGLE", },
{ 0x8CA6, "GL_FRAMEBUFFER_BINDING", },
{ 0x8CA7, "GL_RENDERBUFFER_BINDING", },
{ 0x8CA4, "GL_STENCIL_BACK_VALUE_MASK", },
@@ -407,6 +439,7 @@ static GLES2Util::EnumToString enum_to_string_table[] = {
{ 0x8CA3, "GL_STENCIL_BACK_REF", },
{ 0x80CB, "GL_BLEND_SRC_ALPHA", },
{ 0x80CA, "GL_BLEND_DST_ALPHA", },
+ { 0x8CE4, "GL_COLOR_ATTACHMENT4_NV", },
{ 0x8CD6, "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT", },
{ 0x8872, "GL_MAX_TEXTURE_IMAGE_UNITS", },
{ 0x8508, "GL_DECR_WRAP", },
@@ -432,20 +465,34 @@ static GLES2Util::EnumToString enum_to_string_table[] = {
{ 0x1100, "GL_DONT_CARE", },
{ 0x1101, "GL_FASTEST", },
{ 0x1102, "GL_NICEST", },
+ { 0x8CEB, "GL_COLOR_ATTACHMENT11_NV", },
+ { 0x8CEC, "GL_COLOR_ATTACHMENT12_NV", },
{ 0x0408, "GL_FRONT_AND_BACK", },
- { 0x04000000, "GL_MULTISAMPLE_BUFFER_BIT2_QCOM", },
+ { 0x8CEA, "GL_COLOR_ATTACHMENT10_NV", },
+ { 0x8CEF, "GL_COLOR_ATTACHMENT15_NV", },
+ { 0x8CED, "GL_COLOR_ATTACHMENT13_NV", },
+ { 0x8829, "GL_DRAW_BUFFER4_NV", },
{ 0x0404, "GL_FRONT", },
{ 0x0405, "GL_BACK", },
{ 0x88E0, "GL_STREAM_DRAW", },
{ 0x88E4, "GL_STATIC_DRAW", },
{ 0x88E8, "GL_DYNAMIC_DRAW", },
- { 0x8CAA, "GL_READ_FRAMEBUFFER_BINDING", },
+ { 0x8CAA, "GL_READ_FRAMEBUFFER_BINDING_ANGLE", },
{ 0x40000000, "GL_MULTISAMPLE_BUFFER_BIT6_QCOM", },
{ 0x00000800, "GL_DEPTH_BUFFER_BIT3_QCOM", },
+ { 0x8CE2, "GL_COLOR_ATTACHMENT2_NV", },
{ 0x8BC1, "GL_COUNTER_RANGE_AMD", },
{ 0x8CE0, "GL_COLOR_ATTACHMENT0", },
+ { 0x8CE1, "GL_COLOR_ATTACHMENT1_NV", },
+ { 0x8CE6, "GL_COLOR_ATTACHMENT6_NV", },
+ { 0x8CE7, "GL_COLOR_ATTACHMENT7_NV", },
+ { 0x8A1F, "GL_RGB_422_APPLE", },
+ { 0x8CE5, "GL_COLOR_ATTACHMENT5_NV", },
+ { 0x8CE8, "GL_COLOR_ATTACHMENT8_NV", },
+ { 0x8CE9, "GL_COLOR_ATTACHMENT9_NV", },
{ 0x0C23, "GL_COLOR_WRITEMASK", },
{ 0x0C22, "GL_COLOR_CLEAR_VALUE", },
+ { 0x8824, "GL_MAX_DRAW_BUFFERS_NV", },
{ 0x1909, "GL_LUMINANCE", },
{ 0x0D3A, "GL_MAX_VIEWPORT_DIMS", },
{ 0x809E, "GL_SAMPLE_ALPHA_TO_COVERAGE", },