diff options
author | gman@google.com <gman@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-05-08 22:00:10 +0000 |
---|---|---|
committer | gman@google.com <gman@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-05-08 22:00:10 +0000 |
commit | 4e8a5b125ab20cdeeba546c8c656062165087afa (patch) | |
tree | 4e7cbddda9de296df908c13be3df6901a94ed0e4 /gpu/command_buffer/client | |
parent | b2134acfa36836b9ec250c02fc83f75f3a2073d7 (diff) | |
download | chromium_src-4e8a5b125ab20cdeeba546c8c656062165087afa.zip chromium_src-4e8a5b125ab20cdeeba546c8c656062165087afa.tar.gz chromium_src-4e8a5b125ab20cdeeba546c8c656062165087afa.tar.bz2 |
Resubmit CL http://codereview.chromium.org/1992008/
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/2013010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46793 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu/command_buffer/client')
4 files changed, 44 insertions, 0 deletions
diff --git a/gpu/command_buffer/client/gles2_c_lib_autogen.h b/gpu/command_buffer/client/gles2_c_lib_autogen.h index 73cd6ce..d7983ea 100644 --- a/gpu/command_buffer/client/gles2_c_lib_autogen.h +++ b/gpu/command_buffer/client/gles2_c_lib_autogen.h @@ -519,6 +519,9 @@ void GLES2RegisterSharedIds( GLuint namespace_id, GLsizei n, const GLuint* ids) { gles2::GetGLContext()->RegisterSharedIds(namespace_id, n, ids); } +void GLES2CommandBufferEnable(GLenum cap, GLboolean enable) { + gles2::GetGLContext()->CommandBufferEnable(cap, enable); +} #endif // GPU_COMMAND_BUFFER_CLIENT_GLES2_C_LIB_AUTOGEN_H_ diff --git a/gpu/command_buffer/client/gles2_cmd_helper_autogen.h b/gpu/command_buffer/client/gles2_cmd_helper_autogen.h index 652579d..1cbc45f 100644 --- a/gpu/command_buffer/client/gles2_cmd_helper_autogen.h +++ b/gpu/command_buffer/client/gles2_cmd_helper_autogen.h @@ -1148,5 +1148,10 @@ c.Init(namespace_id, n, ids_shm_id, ids_shm_offset); } + void CommandBufferEnable(GLenum cap, GLboolean enable) { + gles2::CommandBufferEnable& c = GetCmdSpace<gles2::CommandBufferEnable>(); + c.Init(cap, enable); + } + #endif // GPU_COMMAND_BUFFER_CLIENT_GLES2_CMD_HELPER_AUTOGEN_H_ diff --git a/gpu/command_buffer/client/gles2_implementation.cc b/gpu/command_buffer/client/gles2_implementation.cc index 8e7867c..8d7c57f 100644 --- a/gpu/command_buffer/client/gles2_implementation.cc +++ b/gpu/command_buffer/client/gles2_implementation.cc @@ -1340,6 +1340,10 @@ void GLES2Implementation::BindBuffer(GLenum target, GLuint buffer) { } void GLES2Implementation::DeleteBuffers(GLsizei n, const GLuint* buffers) { + if (n < 0) { + SetGLError(GL_INVALID_VALUE, "glDeleteBuffers: n < 0"); + return; + } buffer_id_handler_->FreeIds(n, buffers); for (GLsizei ii = 0; ii < n; ++ii) { if (buffers[ii] == bound_array_buffer_id_) { diff --git a/gpu/command_buffer/client/gles2_implementation_autogen.h b/gpu/command_buffer/client/gles2_implementation_autogen.h index 63d0b53..ae826d8 100644 --- a/gpu/command_buffer/client/gles2_implementation_autogen.h +++ b/gpu/command_buffer/client/gles2_implementation_autogen.h @@ -167,6 +167,10 @@ void CullFace(GLenum mode) { } void DeleteFramebuffers(GLsizei n, const GLuint* framebuffers) { + if (n < 0) { + SetGLError(GL_INVALID_VALUE, "glDeleteFramebuffers: n < 0"); + return; + } framebuffer_id_handler_->FreeIds(n, framebuffers); helper_->DeleteFramebuffersImmediate(n, framebuffers); } @@ -177,6 +181,10 @@ void DeleteProgram(GLuint program) { } void DeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers) { + if (n < 0) { + SetGLError(GL_INVALID_VALUE, "glDeleteRenderbuffers: n < 0"); + return; + } renderbuffer_id_handler_->FreeIds(n, renderbuffers); helper_->DeleteRenderbuffersImmediate(n, renderbuffers); } @@ -187,6 +195,10 @@ void DeleteShader(GLuint shader) { } void DeleteTextures(GLsizei n, const GLuint* textures) { + if (n < 0) { + SetGLError(GL_INVALID_VALUE, "glDeleteTextures: n < 0"); + return; + } texture_id_handler_->FreeIds(n, textures); helper_->DeleteTexturesImmediate(n, textures); } @@ -240,6 +252,10 @@ void FrontFace(GLenum mode) { } void GenBuffers(GLsizei n, GLuint* buffers) { + if (n < 0) { + SetGLError(GL_INVALID_VALUE, "glGenBuffers: n < 0"); + return; + } buffer_id_handler_->MakeIds(0, n, buffers); helper_->GenBuffersImmediate(n, buffers); } @@ -249,16 +265,28 @@ void GenerateMipmap(GLenum target) { } void GenFramebuffers(GLsizei n, GLuint* framebuffers) { + if (n < 0) { + SetGLError(GL_INVALID_VALUE, "glGenFramebuffers: n < 0"); + return; + } framebuffer_id_handler_->MakeIds(0, n, framebuffers); helper_->GenFramebuffersImmediate(n, framebuffers); } void GenRenderbuffers(GLsizei n, GLuint* renderbuffers) { + if (n < 0) { + SetGLError(GL_INVALID_VALUE, "glGenRenderbuffers: n < 0"); + return; + } renderbuffer_id_handler_->MakeIds(0, n, renderbuffers); helper_->GenRenderbuffersImmediate(n, renderbuffers); } void GenTextures(GLsizei n, GLuint* textures) { + if (n < 0) { + SetGLError(GL_INVALID_VALUE, "glGenTextures: n < 0"); + return; + } texture_id_handler_->MakeIds(0, n, textures); helper_->GenTexturesImmediate(n, textures); } @@ -762,5 +790,9 @@ void DeleteSharedIds(GLuint namespace_id, GLsizei n, const GLuint* ids); void RegisterSharedIds(GLuint namespace_id, GLsizei n, const GLuint* ids); +void CommandBufferEnable(GLenum cap, GLboolean enable) { + helper_->CommandBufferEnable(cap, enable); +} + #endif // GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_AUTOGEN_H_ |