diff options
author | gman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-16 19:46:06 +0000 |
---|---|---|
committer | gman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-16 19:46:06 +0000 |
commit | a9fb79dba9a1f718aa112488f6efa773c4d296f5 (patch) | |
tree | 87b16721c4cddc6fcc1d24afffb6b1ec421e963d /gpu/command_buffer/client/gles2_implementation_autogen.h | |
parent | c5531187d42e9ac48778a4314b105f6d982c52d1 (diff) | |
download | chromium_src-a9fb79dba9a1f718aa112488f6efa773c4d296f5.zip chromium_src-a9fb79dba9a1f718aa112488f6efa773c4d296f5.tar.gz chromium_src-a9fb79dba9a1f718aa112488f6efa773c4d296f5.tar.bz2 |
Make GLES2Implementation based on GLES2Interface
GLES2Interface is a pure virutal interface. It's likely
that more functions of GLES2Implementation will need have
be declared in GLES2Interface but this is a first step
BUG=155914
Review URL: https://chromiumcodereview.appspot.com/11138021
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@162216 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu/command_buffer/client/gles2_implementation_autogen.h')
-rw-r--r-- | gpu/command_buffer/client/gles2_implementation_autogen.h | 2039 |
1 files changed, 455 insertions, 1584 deletions
diff --git a/gpu/command_buffer/client/gles2_implementation_autogen.h b/gpu/command_buffer/client/gles2_implementation_autogen.h index 8b7901f..7ecd17d 100644 --- a/gpu/command_buffer/client/gles2_implementation_autogen.h +++ b/gpu/command_buffer/client/gles2_implementation_autogen.h @@ -11,1621 +11,492 @@ #ifndef GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_AUTOGEN_H_ #define GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_AUTOGEN_H_ -void ActiveTexture(GLenum texture); - -void AttachShader(GLuint program, GLuint shader) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glAttachShader(" << program << ", " << shader << ")"); // NOLINT - helper_->AttachShader(program, shader); -} - -void BindAttribLocation(GLuint program, GLuint index, const char* name); - -void BindBuffer(GLenum target, GLuint buffer) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBindBuffer(" << GLES2Util::GetStringBufferTarget(target) << ", " << buffer << ")"); // NOLINT - if (IsBufferReservedId(buffer)) { - SetGLError(GL_INVALID_OPERATION, "BindBuffer", "buffer reserved id"); - return; - } - BindBufferHelper(target, buffer); - helper_->BindBuffer(target, buffer); -} - -void BindFramebuffer(GLenum target, GLuint framebuffer) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBindFramebuffer(" << GLES2Util::GetStringFrameBufferTarget(target) << ", " << framebuffer << ")"); // NOLINT - if (IsFramebufferReservedId(framebuffer)) { - SetGLError( - GL_INVALID_OPERATION, "BindFramebuffer", "framebuffer reserved id"); - return; - } - BindFramebufferHelper(target, framebuffer); - helper_->BindFramebuffer(target, framebuffer); -} - -void BindRenderbuffer(GLenum target, GLuint renderbuffer) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBindRenderbuffer(" << GLES2Util::GetStringRenderBufferTarget(target) << ", " << renderbuffer << ")"); // NOLINT - if (IsRenderbufferReservedId(renderbuffer)) { - SetGLError( - GL_INVALID_OPERATION, "BindRenderbuffer", "renderbuffer reserved id"); - return; - } - BindRenderbufferHelper(target, renderbuffer); - helper_->BindRenderbuffer(target, renderbuffer); -} - -void BindTexture(GLenum target, GLuint texture) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBindTexture(" << GLES2Util::GetStringTextureBindTarget(target) << ", " << texture << ")"); // NOLINT - if (IsTextureReservedId(texture)) { - SetGLError(GL_INVALID_OPERATION, "BindTexture", "texture reserved id"); - return; - } - BindTextureHelper(target, texture); - helper_->BindTexture(target, texture); -} - -void BlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBlendColor(" << red << ", " << green << ", " << blue << ", " << alpha << ")"); // NOLINT - helper_->BlendColor(red, green, blue, alpha); -} - -void BlendEquation(GLenum mode) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBlendEquation(" << GLES2Util::GetStringEquation(mode) << ")"); // NOLINT - helper_->BlendEquation(mode); -} - -void BlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBlendEquationSeparate(" << GLES2Util::GetStringEquation(modeRGB) << ", " << GLES2Util::GetStringEquation(modeAlpha) << ")"); // NOLINT - helper_->BlendEquationSeparate(modeRGB, modeAlpha); -} - -void BlendFunc(GLenum sfactor, GLenum dfactor) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBlendFunc(" << GLES2Util::GetStringSrcBlendFactor(sfactor) << ", " << GLES2Util::GetStringDstBlendFactor(dfactor) << ")"); // NOLINT - helper_->BlendFunc(sfactor, dfactor); -} - -void BlendFuncSeparate( - GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBlendFuncSeparate(" << GLES2Util::GetStringSrcBlendFactor(srcRGB) << ", " << GLES2Util::GetStringDstBlendFactor(dstRGB) << ", " << GLES2Util::GetStringSrcBlendFactor(srcAlpha) << ", " << GLES2Util::GetStringDstBlendFactor(dstAlpha) << ")"); // NOLINT - helper_->BlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha); -} - -void BufferData( - GLenum target, GLsizeiptr size, const void* data, GLenum usage); - -void BufferSubData( - GLenum target, GLintptr offset, GLsizeiptr size, const void* data); - -GLenum CheckFramebufferStatus(GLenum target) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glCheckFramebufferStatus(" << GLES2Util::GetStringFrameBufferTarget(target) << ")"); // NOLINT - typedef CheckFramebufferStatus::Result Result; - Result* result = GetResultAs<Result*>(); - if (!result) { - return GL_FRAMEBUFFER_UNSUPPORTED; - } - *result = 0; - helper_->CheckFramebufferStatus( - target, GetResultShmId(), GetResultShmOffset()); - WaitForCmd(); - GPU_CLIENT_LOG("returned " << *result); - return *result; -} - -void Clear(GLbitfield mask); - -void ClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glClearColor(" << red << ", " << green << ", " << blue << ", " << alpha << ")"); // NOLINT - helper_->ClearColor(red, green, blue, alpha); -} - -void ClearDepthf(GLclampf depth) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glClearDepthf(" << depth << ")"); - helper_->ClearDepthf(depth); -} - -void ClearStencil(GLint s) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glClearStencil(" << s << ")"); - helper_->ClearStencil(s); -} - -void ColorMask( - GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glColorMask(" << GLES2Util::GetStringBool(red) << ", " << GLES2Util::GetStringBool(green) << ", " << GLES2Util::GetStringBool(blue) << ", " << GLES2Util::GetStringBool(alpha) << ")"); // NOLINT - helper_->ColorMask(red, green, blue, alpha); -} - -void CompileShader(GLuint shader) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glCompileShader(" << shader << ")"); // NOLINT - helper_->CompileShader(shader); -} - -void CompressedTexImage2D( +virtual void ActiveTexture(GLenum texture) OVERRIDE; + +virtual void AttachShader(GLuint program, GLuint shader) OVERRIDE; + +virtual void BindAttribLocation( + GLuint program, GLuint index, const char* name) OVERRIDE; + +virtual void BindBuffer(GLenum target, GLuint buffer) OVERRIDE; + +virtual void BindFramebuffer(GLenum target, GLuint framebuffer) OVERRIDE; + +virtual void BindRenderbuffer(GLenum target, GLuint renderbuffer) OVERRIDE; + +virtual void BindTexture(GLenum target, GLuint texture) OVERRIDE; + +virtual void BlendColor( + GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) OVERRIDE; + +virtual void BlendEquation(GLenum mode) OVERRIDE; + +virtual void BlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) OVERRIDE; + +virtual void BlendFunc(GLenum sfactor, GLenum dfactor) OVERRIDE; + +virtual void BlendFuncSeparate( + GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) OVERRIDE; + +virtual void BufferData( + GLenum target, GLsizeiptr size, const void* data, GLenum usage) OVERRIDE; + +virtual void BufferSubData( + GLenum target, GLintptr offset, GLsizeiptr size, + const void* data) OVERRIDE; + +virtual GLenum CheckFramebufferStatus(GLenum target) OVERRIDE; + +virtual void Clear(GLbitfield mask) OVERRIDE; + +virtual void ClearColor( + GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) OVERRIDE; + +virtual void ClearDepthf(GLclampf depth) OVERRIDE; + +virtual void ClearStencil(GLint s) OVERRIDE; + +virtual void ColorMask( + GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) OVERRIDE; + +virtual void CompileShader(GLuint shader) OVERRIDE; + +virtual void CompressedTexImage2D( GLenum target, GLint level, GLenum internalformat, GLsizei width, - GLsizei height, GLint border, GLsizei imageSize, const void* data); + GLsizei height, GLint border, GLsizei imageSize, + const void* data) OVERRIDE; -void CompressedTexSubImage2D( +virtual void CompressedTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, - GLsizei height, GLenum format, GLsizei imageSize, const void* data); + GLsizei height, GLenum format, GLsizei imageSize, + const void* data) OVERRIDE; -void CopyTexImage2D( +virtual void CopyTexImage2D( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, - GLsizei width, GLsizei height, GLint border) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glCopyTexImage2D(" << GLES2Util::GetStringTextureTarget(target) << ", " << level << ", " << GLES2Util::GetStringTextureInternalFormat(internalformat) << ", " << x << ", " << y << ", " << width << ", " << height << ", " << border << ")"); // NOLINT - if (width < 0) { - SetGLError(GL_INVALID_VALUE, "glCopyTexImage2D", "width < 0"); - return; - } - if (height < 0) { - SetGLError(GL_INVALID_VALUE, "glCopyTexImage2D", "height < 0"); - return; - } - helper_->CopyTexImage2D( - target, level, internalformat, x, y, width, height, border); -} - -void CopyTexSubImage2D( + GLsizei width, GLsizei height, GLint border) OVERRIDE; + +virtual void CopyTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, - GLsizei width, GLsizei height) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glCopyTexSubImage2D(" << GLES2Util::GetStringTextureTarget(target) << ", " << level << ", " << xoffset << ", " << yoffset << ", " << x << ", " << y << ", " << width << ", " << height << ")"); // NOLINT - if (width < 0) { - SetGLError(GL_INVALID_VALUE, "glCopyTexSubImage2D", "width < 0"); - return; - } - if (height < 0) { - SetGLError(GL_INVALID_VALUE, "glCopyTexSubImage2D", "height < 0"); - return; - } - helper_->CopyTexSubImage2D( - target, level, xoffset, yoffset, x, y, width, height); -} - -GLuint CreateProgram() { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glCreateProgram(" << ")"); - GLuint client_id; - GetIdHandler(id_namespaces::kProgramsAndShaders)-> - MakeIds(this, 0, 1, &client_id); - helper_->CreateProgram(client_id); - GPU_CLIENT_LOG("returned " << client_id); - return client_id; -} - -GLuint CreateShader(GLenum type) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glCreateShader(" << GLES2Util::GetStringShaderType(type) << ")"); // NOLINT - GLuint client_id; - GetIdHandler(id_namespaces::kProgramsAndShaders)-> - MakeIds(this, 0, 1, &client_id); - helper_->CreateShader(type, client_id); - GPU_CLIENT_LOG("returned " << client_id); - return client_id; -} - -void CullFace(GLenum mode) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glCullFace(" << GLES2Util::GetStringFaceType(mode) << ")"); // NOLINT - helper_->CullFace(mode); -} - -void DeleteBuffers(GLsizei n, const GLuint* buffers) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteBuffers(" << n << ", " << static_cast<const void*>(buffers) << ")"); // NOLINT - GPU_CLIENT_LOG_CODE_BLOCK({ - for (GLsizei i = 0; i < n; ++i) { - GPU_CLIENT_LOG(" " << i << ": " << buffers[i]); - } - }); - GPU_CLIENT_DCHECK_CODE_BLOCK({ - for (GLsizei i = 0; i < n; ++i) { - GPU_DCHECK(buffers[i] != 0); - } - }); - if (n < 0) { - SetGLError(GL_INVALID_VALUE, "glDeleteBuffers", "n < 0"); - return; - } - DeleteBuffersHelper(n, buffers); -} - -void DeleteFramebuffers(GLsizei n, const GLuint* framebuffers) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteFramebuffers(" << n << ", " << static_cast<const void*>(framebuffers) << ")"); // NOLINT - GPU_CLIENT_LOG_CODE_BLOCK({ - for (GLsizei i = 0; i < n; ++i) { - GPU_CLIENT_LOG(" " << i << ": " << framebuffers[i]); - } - }); - GPU_CLIENT_DCHECK_CODE_BLOCK({ - for (GLsizei i = 0; i < n; ++i) { - GPU_DCHECK(framebuffers[i] != 0); - } - }); - if (n < 0) { - SetGLError(GL_INVALID_VALUE, "glDeleteFramebuffers", "n < 0"); - return; - } - DeleteFramebuffersHelper(n, framebuffers); -} - -void DeleteProgram(GLuint program) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteProgram(" << program << ")"); // NOLINT - GPU_CLIENT_DCHECK(program != 0); - DeleteProgramHelper(program); -} - -void DeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteRenderbuffers(" << n << ", " << static_cast<const void*>(renderbuffers) << ")"); // NOLINT - GPU_CLIENT_LOG_CODE_BLOCK({ - for (GLsizei i = 0; i < n; ++i) { - GPU_CLIENT_LOG(" " << i << ": " << renderbuffers[i]); - } - }); - GPU_CLIENT_DCHECK_CODE_BLOCK({ - for (GLsizei i = 0; i < n; ++i) { - GPU_DCHECK(renderbuffers[i] != 0); - } - }); - if (n < 0) { - SetGLError(GL_INVALID_VALUE, "glDeleteRenderbuffers", "n < 0"); - return; - } - DeleteRenderbuffersHelper(n, renderbuffers); -} - -void DeleteShader(GLuint shader) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteShader(" << shader << ")"); - GPU_CLIENT_DCHECK(shader != 0); - DeleteShaderHelper(shader); -} - -void DeleteTextures(GLsizei n, const GLuint* textures) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteTextures(" << n << ", " << static_cast<const void*>(textures) << ")"); // NOLINT - GPU_CLIENT_LOG_CODE_BLOCK({ - for (GLsizei i = 0; i < n; ++i) { - GPU_CLIENT_LOG(" " << i << ": " << textures[i]); - } - }); - GPU_CLIENT_DCHECK_CODE_BLOCK({ - for (GLsizei i = 0; i < n; ++i) { - GPU_DCHECK(textures[i] != 0); - } - }); - if (n < 0) { - SetGLError(GL_INVALID_VALUE, "glDeleteTextures", "n < 0"); - return; - } - DeleteTexturesHelper(n, textures); -} - -void DepthFunc(GLenum func) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDepthFunc(" << GLES2Util::GetStringCmpFunction(func) << ")"); // NOLINT - helper_->DepthFunc(func); -} - -void DepthMask(GLboolean flag) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDepthMask(" << GLES2Util::GetStringBool(flag) << ")"); // NOLINT - helper_->DepthMask(flag); -} - -void DepthRangef(GLclampf zNear, GLclampf zFar) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDepthRangef(" << zNear << ", " << zFar << ")"); // NOLINT - helper_->DepthRangef(zNear, zFar); -} - -void DetachShader(GLuint program, GLuint shader) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDetachShader(" << program << ", " << shader << ")"); // NOLINT - helper_->DetachShader(program, shader); -} - -void Disable(GLenum cap); - -void DrawArrays(GLenum mode, GLint first, GLsizei count); - -void DrawElements( - GLenum mode, GLsizei count, GLenum type, const void* indices); - -void Enable(GLenum cap); - -void Finish(); - -void Flush(); - -void ShallowFlushCHROMIUM(); - -void FramebufferRenderbuffer( + GLsizei width, GLsizei height) OVERRIDE; + +virtual GLuint CreateProgram() OVERRIDE; + +virtual GLuint CreateShader(GLenum type) OVERRIDE; + +virtual void CullFace(GLenum mode) OVERRIDE; + +virtual void DeleteBuffers(GLsizei n, const GLuint* buffers) OVERRIDE; + +virtual void DeleteFramebuffers( + GLsizei n, const GLuint* framebuffers) OVERRIDE; + +virtual void DeleteProgram(GLuint program) OVERRIDE; + +virtual void DeleteRenderbuffers( + GLsizei n, const GLuint* renderbuffers) OVERRIDE; + +virtual void DeleteShader(GLuint shader) OVERRIDE; + +virtual void DeleteTextures(GLsizei n, const GLuint* textures) OVERRIDE; + +virtual void DepthFunc(GLenum func) OVERRIDE; + +virtual void DepthMask(GLboolean flag) OVERRIDE; + +virtual void DepthRangef(GLclampf zNear, GLclampf zFar) OVERRIDE; + +virtual void DetachShader(GLuint program, GLuint shader) OVERRIDE; + +virtual void Disable(GLenum cap) OVERRIDE; + +virtual void DrawArrays(GLenum mode, GLint first, GLsizei count) OVERRIDE; + +virtual void DrawElements( + GLenum mode, GLsizei count, GLenum type, const void* indices) OVERRIDE; + +virtual void Enable(GLenum cap) OVERRIDE; + +virtual void Finish() OVERRIDE; + +virtual void Flush() OVERRIDE; + +virtual void ShallowFlushCHROMIUM() OVERRIDE; + +virtual void FramebufferRenderbuffer( GLenum target, GLenum attachment, GLenum renderbuffertarget, - GLuint renderbuffer) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glFramebufferRenderbuffer(" << GLES2Util::GetStringFrameBufferTarget(target) << ", " << GLES2Util::GetStringAttachment(attachment) << ", " << GLES2Util::GetStringRenderBufferTarget(renderbuffertarget) << ", " << renderbuffer << ")"); // NOLINT - helper_->FramebufferRenderbuffer( - target, attachment, renderbuffertarget, renderbuffer); -} - -void FramebufferTexture2D( + GLuint renderbuffer) OVERRIDE; + +virtual void FramebufferTexture2D( GLenum target, GLenum attachment, GLenum textarget, GLuint texture, - GLint level) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glFramebufferTexture2D(" << GLES2Util::GetStringFrameBufferTarget(target) << ", " << GLES2Util::GetStringAttachment(attachment) << ", " << GLES2Util::GetStringTextureTarget(textarget) << ", " << texture << ", " << level << ")"); // NOLINT - helper_->FramebufferTexture2D(target, attachment, textarget, texture, level); -} - -void FrontFace(GLenum mode) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glFrontFace(" << GLES2Util::GetStringFaceMode(mode) << ")"); // NOLINT - helper_->FrontFace(mode); -} - -void GenBuffers(GLsizei n, GLuint* buffers) { - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGenBuffers(" << n << ", " << static_cast<const void*>(buffers) << ")"); // NOLINT - if (n < 0) { - SetGLError(GL_INVALID_VALUE, "glGenBuffers", "n < 0"); - return; - } - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GetIdHandler(id_namespaces::kBuffers)-> - MakeIds(this, 0, n, buffers); - helper_->GenBuffersImmediate(n, buffers); - GPU_CLIENT_LOG_CODE_BLOCK({ - for (GLsizei i = 0; i < n; ++i) { - GPU_CLIENT_LOG(" " << i << ": " << buffers[i]); - } - }); -} - -void GenerateMipmap(GLenum target) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGenerateMipmap(" << GLES2Util::GetStringTextureBindTarget(target) << ")"); // NOLINT - helper_->GenerateMipmap(target); -} - -void GenFramebuffers(GLsizei n, GLuint* framebuffers) { - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGenFramebuffers(" << n << ", " << static_cast<const void*>(framebuffers) << ")"); // NOLINT - if (n < 0) { - SetGLError(GL_INVALID_VALUE, "glGenFramebuffers", "n < 0"); - return; - } - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GetIdHandler(id_namespaces::kFramebuffers)-> - MakeIds(this, 0, n, framebuffers); - helper_->GenFramebuffersImmediate(n, framebuffers); - GPU_CLIENT_LOG_CODE_BLOCK({ - for (GLsizei i = 0; i < n; ++i) { - GPU_CLIENT_LOG(" " << i << ": " << framebuffers[i]); - } - }); -} - -void GenRenderbuffers(GLsizei n, GLuint* renderbuffers) { - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGenRenderbuffers(" << n << ", " << static_cast<const void*>(renderbuffers) << ")"); // NOLINT - if (n < 0) { - SetGLError(GL_INVALID_VALUE, "glGenRenderbuffers", "n < 0"); - return; - } - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GetIdHandler(id_namespaces::kRenderbuffers)-> - MakeIds(this, 0, n, renderbuffers); - helper_->GenRenderbuffersImmediate(n, renderbuffers); - GPU_CLIENT_LOG_CODE_BLOCK({ - for (GLsizei i = 0; i < n; ++i) { - GPU_CLIENT_LOG(" " << i << ": " << renderbuffers[i]); - } - }); -} - -void GenTextures(GLsizei n, GLuint* textures) { - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGenTextures(" << n << ", " << static_cast<const void*>(textures) << ")"); // NOLINT - if (n < 0) { - SetGLError(GL_INVALID_VALUE, "glGenTextures", "n < 0"); - return; - } - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GetIdHandler(id_namespaces::kTextures)-> - MakeIds(this, 0, n, textures); - helper_->GenTexturesImmediate(n, textures); - GPU_CLIENT_LOG_CODE_BLOCK({ - for (GLsizei i = 0; i < n; ++i) { - GPU_CLIENT_LOG(" " << i << ": " << textures[i]); - } - }); -} - -void GetActiveAttrib( + GLint level) OVERRIDE; + +virtual void FrontFace(GLenum mode) OVERRIDE; + +virtual void GenBuffers(GLsizei n, GLuint* buffers) OVERRIDE; + +virtual void GenerateMipmap(GLenum target) OVERRIDE; + +virtual void GenFramebuffers(GLsizei n, GLuint* framebuffers) OVERRIDE; + +virtual void GenRenderbuffers(GLsizei n, GLuint* renderbuffers) OVERRIDE; + +virtual void GenTextures(GLsizei n, GLuint* textures) OVERRIDE; + +virtual void GetActiveAttrib( GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, - GLenum* type, char* name); + GLenum* type, char* name) OVERRIDE; -void GetActiveUniform( +virtual void GetActiveUniform( GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, - GLenum* type, char* name); - -void GetAttachedShaders( - GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders); - -GLint GetAttribLocation(GLuint program, const char* name); - -void GetBooleanv(GLenum pname, GLboolean* params) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLboolean, params); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetBooleanv(" << GLES2Util::GetStringGLState(pname) << ", " << static_cast<const void*>(params) << ")"); // NOLINT - if (GetBooleanvHelper(pname, params)) { - return; - } - typedef GetBooleanv::Result Result; - Result* result = GetResultAs<Result*>(); - if (!result) { - return; - } - result->SetNumResults(0); - helper_->GetBooleanv(pname, - GetResultShmId(), GetResultShmOffset()); - WaitForCmd(); - result->CopyResult(params); - GPU_CLIENT_LOG_CODE_BLOCK({ - for (int32 i = 0; i < result->GetNumResults(); ++i) { - GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); - } - }); -} -void GetBufferParameteriv(GLenum target, GLenum pname, GLint* params) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetBufferParameteriv(" << GLES2Util::GetStringBufferTarget(target) << ", " << GLES2Util::GetStringBufferParameter(pname) << ", " << static_cast<const void*>(params) << ")"); // NOLINT - if (GetBufferParameterivHelper(target, pname, params)) { - return; - } - typedef GetBufferParameteriv::Result Result; - Result* result = GetResultAs<Result*>(); - if (!result) { - return; - } - result->SetNumResults(0); - helper_->GetBufferParameteriv(target, pname, - GetResultShmId(), GetResultShmOffset()); - WaitForCmd(); - result->CopyResult(params); - GPU_CLIENT_LOG_CODE_BLOCK({ - for (int32 i = 0; i < result->GetNumResults(); ++i) { - GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); - } - }); -} -GLenum GetError(); - -void GetFloatv(GLenum pname, GLfloat* params) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetFloatv(" << GLES2Util::GetStringGLState(pname) << ", " << static_cast<const void*>(params) << ")"); // NOLINT - if (GetFloatvHelper(pname, params)) { - return; - } - typedef GetFloatv::Result Result; - Result* result = GetResultAs<Result*>(); - if (!result) { - return; - } - result->SetNumResults(0); - helper_->GetFloatv(pname, - GetResultShmId(), GetResultShmOffset()); - WaitForCmd(); - result->CopyResult(params); - GPU_CLIENT_LOG_CODE_BLOCK({ - for (int32 i = 0; i < result->GetNumResults(); ++i) { - GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); - } - }); -} -void GetFramebufferAttachmentParameteriv( - GLenum target, GLenum attachment, GLenum pname, GLint* params) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetFramebufferAttachmentParameteriv(" << GLES2Util::GetStringFrameBufferTarget(target) << ", " << GLES2Util::GetStringAttachment(attachment) << ", " << GLES2Util::GetStringFrameBufferParameter(pname) << ", " << static_cast<const void*>(params) << ")"); // NOLINT - if (GetFramebufferAttachmentParameterivHelper( - target, attachment, pname, params)) { - return; - } - typedef GetFramebufferAttachmentParameteriv::Result Result; - Result* result = GetResultAs<Result*>(); - if (!result) { - return; - } - result->SetNumResults(0); - helper_->GetFramebufferAttachmentParameteriv(target, attachment, pname, - GetResultShmId(), GetResultShmOffset()); - WaitForCmd(); - result->CopyResult(params); - GPU_CLIENT_LOG_CODE_BLOCK({ - for (int32 i = 0; i < result->GetNumResults(); ++i) { - GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); - } - }); -} -void GetIntegerv(GLenum pname, GLint* params) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetIntegerv(" << GLES2Util::GetStringGLState(pname) << ", " << static_cast<const void*>(params) << ")"); // NOLINT - if (GetIntegervHelper(pname, params)) { - return; - } - typedef GetIntegerv::Result Result; - Result* result = GetResultAs<Result*>(); - if (!result) { - return; - } - result->SetNumResults(0); - helper_->GetIntegerv(pname, - GetResultShmId(), GetResultShmOffset()); - WaitForCmd(); - result->CopyResult(params); - GPU_CLIENT_LOG_CODE_BLOCK({ - for (int32 i = 0; i < result->GetNumResults(); ++i) { - GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); - } - }); -} -void GetProgramiv(GLuint program, GLenum pname, GLint* params) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetProgramiv(" << program << ", " << GLES2Util::GetStringProgramParameter(pname) << ", " << static_cast<const void*>(params) << ")"); // NOLINT - if (GetProgramivHelper(program, pname, params)) { - return; - } - typedef GetProgramiv::Result Result; - Result* result = GetResultAs<Result*>(); - if (!result) { - return; - } - result->SetNumResults(0); - helper_->GetProgramiv(program, pname, - GetResultShmId(), GetResultShmOffset()); - WaitForCmd(); - result->CopyResult(params); - GPU_CLIENT_LOG_CODE_BLOCK({ - for (int32 i = 0; i < result->GetNumResults(); ++i) { - GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); - } - }); -} -void GetProgramInfoLog( - GLuint program, GLsizei bufsize, GLsizei* length, char* infolog) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_VALIDATE_DESTINATION_OPTIONAL_INITALIZATION(GLsizei, length); - GPU_CLIENT_LOG("[" << GetLogPrefix() - << "] glGetProgramInfoLog" << "(" - << program << ", " - << bufsize << ", " - << static_cast<void*>(length) << ", " - << static_cast<void*>(infolog) << ")"); - helper_->SetBucketSize(kResultBucketId, 0); - helper_->GetProgramInfoLog(program, kResultBucketId); - std::string str; - GLsizei max_size = 0; - if (GetBucketAsString(kResultBucketId, &str)) { - if (bufsize > 0) { - max_size = - std::min(static_cast<size_t>(bufsize) - 1, str.size()); - memcpy(infolog, str.c_str(), max_size); - infolog[max_size] = '\0'; - GPU_CLIENT_LOG("------\n" << infolog << "\n------"); - } - } - if (length != NULL) { - *length = max_size; - } -} -void GetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetRenderbufferParameteriv(" << GLES2Util::GetStringRenderBufferTarget(target) << ", " << GLES2Util::GetStringRenderBufferParameter(pname) << ", " << static_cast<const void*>(params) << ")"); // NOLINT - if (GetRenderbufferParameterivHelper(target, pname, params)) { - return; - } - typedef GetRenderbufferParameteriv::Result Result; - Result* result = GetResultAs<Result*>(); - if (!result) { - return; - } - result->SetNumResults(0); - helper_->GetRenderbufferParameteriv(target, pname, - GetResultShmId(), GetResultShmOffset()); - WaitForCmd(); - result->CopyResult(params); - GPU_CLIENT_LOG_CODE_BLOCK({ - for (int32 i = 0; i < result->GetNumResults(); ++i) { - GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); - } - }); -} -void GetShaderiv(GLuint shader, GLenum pname, GLint* params) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetShaderiv(" << shader << ", " << GLES2Util::GetStringShaderParameter(pname) << ", " << static_cast<const void*>(params) << ")"); // NOLINT - if (GetShaderivHelper(shader, pname, params)) { - return; - } - typedef GetShaderiv::Result Result; - Result* result = GetResultAs<Result*>(); - if (!result) { - return; - } - result->SetNumResults(0); - helper_->GetShaderiv(shader, pname, - GetResultShmId(), GetResultShmOffset()); - WaitForCmd(); - result->CopyResult(params); - GPU_CLIENT_LOG_CODE_BLOCK({ - for (int32 i = 0; i < result->GetNumResults(); ++i) { - GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); - } - }); -} -void GetShaderInfoLog( - GLuint shader, GLsizei bufsize, GLsizei* length, char* infolog) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_VALIDATE_DESTINATION_OPTIONAL_INITALIZATION(GLsizei, length); - GPU_CLIENT_LOG("[" << GetLogPrefix() - << "] glGetShaderInfoLog" << "(" - << shader << ", " - << bufsize << ", " - << static_cast<void*>(length) << ", " - << static_cast<void*>(infolog) << ")"); - helper_->SetBucketSize(kResultBucketId, 0); - helper_->GetShaderInfoLog(shader, kResultBucketId); - std::string str; - GLsizei max_size = 0; - if (GetBucketAsString(kResultBucketId, &str)) { - if (bufsize > 0) { - max_size = - std::min(static_cast<size_t>(bufsize) - 1, str.size()); - memcpy(infolog, str.c_str(), max_size); - infolog[max_size] = '\0'; - GPU_CLIENT_LOG("------\n" << infolog << "\n------"); - } - } - if (length != NULL) { - *length = max_size; - } -} -void GetShaderPrecisionFormat( - GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision); - -void GetShaderSource( - GLuint shader, GLsizei bufsize, GLsizei* length, char* source) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_VALIDATE_DESTINATION_OPTIONAL_INITALIZATION(GLsizei, length); - GPU_CLIENT_LOG("[" << GetLogPrefix() - << "] glGetShaderSource" << "(" - << shader << ", " - << bufsize << ", " - << static_cast<void*>(length) << ", " - << static_cast<void*>(source) << ")"); - helper_->SetBucketSize(kResultBucketId, 0); - helper_->GetShaderSource(shader, kResultBucketId); - std::string str; - GLsizei max_size = 0; - if (GetBucketAsString(kResultBucketId, &str)) { - if (bufsize > 0) { - max_size = - std::min(static_cast<size_t>(bufsize) - 1, str.size()); - memcpy(source, str.c_str(), max_size); - source[max_size] = '\0'; - GPU_CLIENT_LOG("------\n" << source << "\n------"); - } - } - if (length != NULL) { - *length = max_size; - } -} -const GLubyte* GetString(GLenum name); - -void GetTexParameterfv(GLenum target, GLenum pname, GLfloat* params) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetTexParameterfv(" << GLES2Util::GetStringGetTexParamTarget(target) << ", " << GLES2Util::GetStringTextureParameter(pname) << ", " << static_cast<const void*>(params) << ")"); // NOLINT - if (GetTexParameterfvHelper(target, pname, params)) { - return; - } - typedef GetTexParameterfv::Result Result; - Result* result = GetResultAs<Result*>(); - if (!result) { - return; - } - result->SetNumResults(0); - helper_->GetTexParameterfv(target, pname, - GetResultShmId(), GetResultShmOffset()); - WaitForCmd(); - result->CopyResult(params); - GPU_CLIENT_LOG_CODE_BLOCK({ - for (int32 i = 0; i < result->GetNumResults(); ++i) { - GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); - } - }); -} -void GetTexParameteriv(GLenum target, GLenum pname, GLint* params) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetTexParameteriv(" << GLES2Util::GetStringGetTexParamTarget(target) << ", " << GLES2Util::GetStringTextureParameter(pname) << ", " << static_cast<const void*>(params) << ")"); // NOLINT - if (GetTexParameterivHelper(target, pname, params)) { - return; - } - typedef GetTexParameteriv::Result Result; - Result* result = GetResultAs<Result*>(); - if (!result) { - return; - } - result->SetNumResults(0); - helper_->GetTexParameteriv(target, pname, - GetResultShmId(), GetResultShmOffset()); - WaitForCmd(); - result->CopyResult(params); - GPU_CLIENT_LOG_CODE_BLOCK({ - for (int32 i = 0; i < result->GetNumResults(); ++i) { - GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); - } - }); -} -void GetUniformfv(GLuint program, GLint location, GLfloat* params); - -void GetUniformiv(GLuint program, GLint location, GLint* params); - -GLint GetUniformLocation(GLuint program, const char* name); - -void GetVertexAttribPointerv(GLuint index, GLenum pname, void** pointer); - -void Hint(GLenum target, GLenum mode) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glHint(" << GLES2Util::GetStringHintTarget(target) << ", " << GLES2Util::GetStringHintMode(mode) << ")"); // NOLINT - helper_->Hint(target, mode); -} - -GLboolean IsBuffer(GLuint buffer) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glIsBuffer(" << buffer << ")"); - typedef IsBuffer::Result Result; - Result* result = GetResultAs<Result*>(); - if (!result) { - return GL_FALSE; - } - *result = 0; - helper_->IsBuffer(buffer, GetResultShmId(), GetResultShmOffset()); - WaitForCmd(); - GPU_CLIENT_LOG("returned " << *result); - return *result; -} - -GLboolean IsEnabled(GLenum cap); - -GLboolean IsFramebuffer(GLuint framebuffer) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glIsFramebuffer(" << framebuffer << ")"); // NOLINT - typedef IsFramebuffer::Result Result; - Result* result = GetResultAs<Result*>(); - if (!result) { - return GL_FALSE; - } - *result = 0; - helper_->IsFramebuffer(framebuffer, GetResultShmId(), GetResultShmOffset()); - WaitForCmd(); - GPU_CLIENT_LOG("returned " << *result); - return *result; -} - -GLboolean IsProgram(GLuint program) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glIsProgram(" << program << ")"); - typedef IsProgram::Result Result; - Result* result = GetResultAs<Result*>(); - if (!result) { - return GL_FALSE; - } - *result = 0; - helper_->IsProgram(program, GetResultShmId(), GetResultShmOffset()); - WaitForCmd(); - GPU_CLIENT_LOG("returned " << *result); - return *result; -} - -GLboolean IsRenderbuffer(GLuint renderbuffer) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glIsRenderbuffer(" << renderbuffer << ")"); // NOLINT - typedef IsRenderbuffer::Result Result; - Result* result = GetResultAs<Result*>(); - if (!result) { - return GL_FALSE; - } - *result = 0; - helper_->IsRenderbuffer( - renderbuffer, GetResultShmId(), GetResultShmOffset()); - WaitForCmd(); - GPU_CLIENT_LOG("returned " << *result); - return *result; -} - -GLboolean IsShader(GLuint shader) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glIsShader(" << shader << ")"); - typedef IsShader::Result Result; - Result* result = GetResultAs<Result*>(); - if (!result) { - return GL_FALSE; - } - *result = 0; - helper_->IsShader(shader, GetResultShmId(), GetResultShmOffset()); - WaitForCmd(); - GPU_CLIENT_LOG("returned " << *result); - return *result; -} - -GLboolean IsTexture(GLuint texture) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glIsTexture(" << texture << ")"); - typedef IsTexture::Result Result; - Result* result = GetResultAs<Result*>(); - if (!result) { - return GL_FALSE; - } - *result = 0; - helper_->IsTexture(texture, GetResultShmId(), GetResultShmOffset()); - WaitForCmd(); - GPU_CLIENT_LOG("returned " << *result); - return *result; -} - -void LineWidth(GLfloat width) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glLineWidth(" << width << ")"); - helper_->LineWidth(width); -} - -void LinkProgram(GLuint program); - -void PixelStorei(GLenum pname, GLint param); - -void PolygonOffset(GLfloat factor, GLfloat units) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glPolygonOffset(" << factor << ", " << units << ")"); // NOLINT - helper_->PolygonOffset(factor, units); -} - -void ReadPixels( + GLenum* type, char* name) OVERRIDE; + +virtual void GetAttachedShaders( + GLuint program, GLsizei maxcount, GLsizei* count, + GLuint* shaders) OVERRIDE; + +virtual GLint GetAttribLocation(GLuint program, const char* name) OVERRIDE; + +virtual void GetBooleanv(GLenum pname, GLboolean* params) OVERRIDE; + +virtual void GetBufferParameteriv( + GLenum target, GLenum pname, GLint* params) OVERRIDE; + +virtual GLenum GetError() OVERRIDE; + +virtual void GetFloatv(GLenum pname, GLfloat* params) OVERRIDE; + +virtual void GetFramebufferAttachmentParameteriv( + GLenum target, GLenum attachment, GLenum pname, GLint* params) OVERRIDE; + +virtual void GetIntegerv(GLenum pname, GLint* params) OVERRIDE; + +virtual void GetProgramiv( + GLuint program, GLenum pname, GLint* params) OVERRIDE; + +virtual void GetProgramInfoLog( + GLuint program, GLsizei bufsize, GLsizei* length, char* infolog) OVERRIDE; + +virtual void GetRenderbufferParameteriv( + GLenum target, GLenum pname, GLint* params) OVERRIDE; + +virtual void GetShaderiv(GLuint shader, GLenum pname, GLint* params) OVERRIDE; + +virtual void GetShaderInfoLog( + GLuint shader, GLsizei bufsize, GLsizei* length, char* infolog) OVERRIDE; + +virtual void GetShaderPrecisionFormat( + GLenum shadertype, GLenum precisiontype, GLint* range, + GLint* precision) OVERRIDE; + +virtual void GetShaderSource( + GLuint shader, GLsizei bufsize, GLsizei* length, char* source) OVERRIDE; + +virtual const GLubyte* GetString(GLenum name) OVERRIDE; + +virtual void GetTexParameterfv( + GLenum target, GLenum pname, GLfloat* params) OVERRIDE; + +virtual void GetTexParameteriv( + GLenum target, GLenum pname, GLint* params) OVERRIDE; + +virtual void GetUniformfv( + GLuint program, GLint location, GLfloat* params) OVERRIDE; + +virtual void GetUniformiv( + GLuint program, GLint location, GLint* params) OVERRIDE; + +virtual GLint GetUniformLocation(GLuint program, const char* name) OVERRIDE; + +virtual void GetVertexAttribPointerv( + GLuint index, GLenum pname, void** pointer) OVERRIDE; + +virtual void Hint(GLenum target, GLenum mode) OVERRIDE; + +virtual GLboolean IsBuffer(GLuint buffer) OVERRIDE; + +virtual GLboolean IsEnabled(GLenum cap) OVERRIDE; + +virtual GLboolean IsFramebuffer(GLuint framebuffer) OVERRIDE; + +virtual GLboolean IsProgram(GLuint program) OVERRIDE; + +virtual GLboolean IsRenderbuffer(GLuint renderbuffer) OVERRIDE; + +virtual GLboolean IsShader(GLuint shader) OVERRIDE; + +virtual GLboolean IsTexture(GLuint texture) OVERRIDE; + +virtual void LineWidth(GLfloat width) OVERRIDE; + +virtual void LinkProgram(GLuint program) OVERRIDE; + +virtual void PixelStorei(GLenum pname, GLint param) OVERRIDE; + +virtual void PolygonOffset(GLfloat factor, GLfloat units) OVERRIDE; + +virtual void ReadPixels( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, - void* pixels); - -void ReleaseShaderCompiler() { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glReleaseShaderCompiler(" << ")"); - helper_->ReleaseShaderCompiler(); -} - -void RenderbufferStorage( - GLenum target, GLenum internalformat, GLsizei width, GLsizei height) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glRenderbufferStorage(" << GLES2Util::GetStringRenderBufferTarget(target) << ", " << GLES2Util::GetStringRenderBufferFormat(internalformat) << ", " << width << ", " << height << ")"); // NOLINT - if (width < 0) { - SetGLError(GL_INVALID_VALUE, "glRenderbufferStorage", "width < 0"); - return; - } - if (height < 0) { - SetGLError(GL_INVALID_VALUE, "glRenderbufferStorage", "height < 0"); - return; - } - helper_->RenderbufferStorage(target, internalformat, width, height); -} - -void SampleCoverage(GLclampf value, GLboolean invert) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glSampleCoverage(" << value << ", " << GLES2Util::GetStringBool(invert) << ")"); // NOLINT - helper_->SampleCoverage(value, invert); -} - -void Scissor(GLint x, GLint y, GLsizei width, GLsizei height) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glScissor(" << x << ", " << y << ", " << width << ", " << height << ")"); // NOLINT - if (width < 0) { - SetGLError(GL_INVALID_VALUE, "glScissor", "width < 0"); - return; - } - if (height < 0) { - SetGLError(GL_INVALID_VALUE, "glScissor", "height < 0"); - return; - } - helper_->Scissor(x, y, width, height); -} - -void ShaderBinary( + void* pixels) OVERRIDE; + +virtual void ReleaseShaderCompiler() OVERRIDE; + +virtual void RenderbufferStorage( + GLenum target, GLenum internalformat, GLsizei width, + GLsizei height) OVERRIDE; + +virtual void SampleCoverage(GLclampf value, GLboolean invert) OVERRIDE; + +virtual void Scissor(GLint x, GLint y, GLsizei width, GLsizei height) OVERRIDE; + +virtual void ShaderBinary( GLsizei n, const GLuint* shaders, GLenum binaryformat, const void* binary, - GLsizei length); - -void ShaderSource( - GLuint shader, GLsizei count, const char** str, const GLint* length); - -void StencilFunc(GLenum func, GLint ref, GLuint mask) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glStencilFunc(" << GLES2Util::GetStringCmpFunction(func) << ", " << ref << ", " << mask << ")"); // NOLINT - helper_->StencilFunc(func, ref, mask); -} - -void StencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glStencilFuncSeparate(" << GLES2Util::GetStringFaceType(face) << ", " << GLES2Util::GetStringCmpFunction(func) << ", " << ref << ", " << mask << ")"); // NOLINT - helper_->StencilFuncSeparate(face, func, ref, mask); -} - -void StencilMask(GLuint mask) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glStencilMask(" << mask << ")"); - helper_->StencilMask(mask); -} - -void StencilMaskSeparate(GLenum face, GLuint mask) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glStencilMaskSeparate(" << GLES2Util::GetStringFaceType(face) << ", " << mask << ")"); // NOLINT - helper_->StencilMaskSeparate(face, mask); -} - -void StencilOp(GLenum fail, GLenum zfail, GLenum zpass) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glStencilOp(" << GLES2Util::GetStringStencilOp(fail) << ", " << GLES2Util::GetStringStencilOp(zfail) << ", " << GLES2Util::GetStringStencilOp(zpass) << ")"); // NOLINT - helper_->StencilOp(fail, zfail, zpass); -} - -void StencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glStencilOpSeparate(" << GLES2Util::GetStringFaceType(face) << ", " << GLES2Util::GetStringStencilOp(fail) << ", " << GLES2Util::GetStringStencilOp(zfail) << ", " << GLES2Util::GetStringStencilOp(zpass) << ")"); // NOLINT - helper_->StencilOpSeparate(face, fail, zfail, zpass); -} - -void TexImage2D( + GLsizei length) OVERRIDE; + +virtual void ShaderSource( + GLuint shader, GLsizei count, const char** str, + const GLint* length) OVERRIDE; + +virtual void StencilFunc(GLenum func, GLint ref, GLuint mask) OVERRIDE; + +virtual void StencilFuncSeparate( + GLenum face, GLenum func, GLint ref, GLuint mask) OVERRIDE; + +virtual void StencilMask(GLuint mask) OVERRIDE; + +virtual void StencilMaskSeparate(GLenum face, GLuint mask) OVERRIDE; + +virtual void StencilOp(GLenum fail, GLenum zfail, GLenum zpass) OVERRIDE; + +virtual void StencilOpSeparate( + GLenum face, GLenum fail, GLenum zfail, GLenum zpass) OVERRIDE; + +virtual void TexImage2D( GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, - const void* pixels); - -void TexParameterf(GLenum target, GLenum pname, GLfloat param) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glTexParameterf(" << GLES2Util::GetStringTextureBindTarget(target) << ", " << GLES2Util::GetStringTextureParameter(pname) << ", " << param << ")"); // NOLINT - helper_->TexParameterf(target, pname, param); -} - -void TexParameterfv(GLenum target, GLenum pname, const GLfloat* params) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glTexParameterfv(" << GLES2Util::GetStringTextureBindTarget(target) << ", " << GLES2Util::GetStringTextureParameter(pname) << ", " << static_cast<const void*>(params) << ")"); // NOLINT - GPU_CLIENT_LOG("values: " << params[0]); - helper_->TexParameterfvImmediate(target, pname, params); -} - -void TexParameteri(GLenum target, GLenum pname, GLint param) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glTexParameteri(" << GLES2Util::GetStringTextureBindTarget(target) << ", " << GLES2Util::GetStringTextureParameter(pname) << ", " << param << ")"); // NOLINT - helper_->TexParameteri(target, pname, param); -} - -void TexParameteriv(GLenum target, GLenum pname, const GLint* params) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glTexParameteriv(" << GLES2Util::GetStringTextureBindTarget(target) << ", " << GLES2Util::GetStringTextureParameter(pname) << ", " << static_cast<const void*>(params) << ")"); // NOLINT - GPU_CLIENT_LOG("values: " << params[0]); - helper_->TexParameterivImmediate(target, pname, params); -} - -void TexSubImage2D( + const void* pixels) OVERRIDE; + +virtual void TexParameterf( + GLenum target, GLenum pname, GLfloat param) OVERRIDE; + +virtual void TexParameterfv( + GLenum target, GLenum pname, const GLfloat* params) OVERRIDE; + +virtual void TexParameteri(GLenum target, GLenum pname, GLint param) OVERRIDE; + +virtual void TexParameteriv( + GLenum target, GLenum pname, const GLint* params) OVERRIDE; + +virtual void TexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, - GLsizei height, GLenum format, GLenum type, const void* pixels); - -void Uniform1f(GLint location, GLfloat x) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform1f(" << location << ", " << x << ")"); // NOLINT - helper_->Uniform1f(location, x); -} - -void Uniform1fv(GLint location, GLsizei count, const GLfloat* v) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform1fv(" << location << ", " << count << ", " << static_cast<const void*>(v) << ")"); // NOLINT - GPU_CLIENT_LOG_CODE_BLOCK({ - for (GLsizei i = 0; i < count; ++i) { - GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 1]); - } - }); - if (count < 0) { - SetGLError(GL_INVALID_VALUE, "glUniform1fv", "count < 0"); - return; - } - helper_->Uniform1fvImmediate(location, count, v); -} - -void Uniform1i(GLint location, GLint x) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform1i(" << location << ", " << x << ")"); // NOLINT - helper_->Uniform1i(location, x); -} - -void Uniform1iv(GLint location, GLsizei count, const GLint* v) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform1iv(" << location << ", " << count << ", " << static_cast<const void*>(v) << ")"); // NOLINT - GPU_CLIENT_LOG_CODE_BLOCK({ - for (GLsizei i = 0; i < count; ++i) { - GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 1]); - } - }); - if (count < 0) { - SetGLError(GL_INVALID_VALUE, "glUniform1iv", "count < 0"); - return; - } - helper_->Uniform1ivImmediate(location, count, v); -} - -void Uniform2f(GLint location, GLfloat x, GLfloat y) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform2f(" << location << ", " << x << ", " << y << ")"); // NOLINT - helper_->Uniform2f(location, x, y); -} - -void Uniform2fv(GLint location, GLsizei count, const GLfloat* v) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform2fv(" << location << ", " << count << ", " << static_cast<const void*>(v) << ")"); // NOLINT - GPU_CLIENT_LOG_CODE_BLOCK({ - for (GLsizei i = 0; i < count; ++i) { - GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 2] << ", " << v[1 + i * 2]); // NOLINT - } - }); - if (count < 0) { - SetGLError(GL_INVALID_VALUE, "glUniform2fv", "count < 0"); - return; - } - helper_->Uniform2fvImmediate(location, count, v); -} - -void Uniform2i(GLint location, GLint x, GLint y) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform2i(" << location << ", " << x << ", " << y << ")"); // NOLINT - helper_->Uniform2i(location, x, y); -} - -void Uniform2iv(GLint location, GLsizei count, const GLint* v) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform2iv(" << location << ", " << count << ", " << static_cast<const void*>(v) << ")"); // NOLINT - GPU_CLIENT_LOG_CODE_BLOCK({ - for (GLsizei i = 0; i < count; ++i) { - GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 2] << ", " << v[1 + i * 2]); // NOLINT - } - }); - if (count < 0) { - SetGLError(GL_INVALID_VALUE, "glUniform2iv", "count < 0"); - return; - } - helper_->Uniform2ivImmediate(location, count, v); -} - -void Uniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform3f(" << location << ", " << x << ", " << y << ", " << z << ")"); // NOLINT - helper_->Uniform3f(location, x, y, z); -} - -void Uniform3fv(GLint location, GLsizei count, const GLfloat* v) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform3fv(" << location << ", " << count << ", " << static_cast<const void*>(v) << ")"); // NOLINT - GPU_CLIENT_LOG_CODE_BLOCK({ - for (GLsizei i = 0; i < count; ++i) { - GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 3] << ", " << v[1 + i * 3] << ", " << v[2 + i * 3]); // NOLINT - } - }); - if (count < 0) { - SetGLError(GL_INVALID_VALUE, "glUniform3fv", "count < 0"); - return; - } - helper_->Uniform3fvImmediate(location, count, v); -} - -void Uniform3i(GLint location, GLint x, GLint y, GLint z) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform3i(" << location << ", " << x << ", " << y << ", " << z << ")"); // NOLINT - helper_->Uniform3i(location, x, y, z); -} - -void Uniform3iv(GLint location, GLsizei count, const GLint* v) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform3iv(" << location << ", " << count << ", " << static_cast<const void*>(v) << ")"); // NOLINT - GPU_CLIENT_LOG_CODE_BLOCK({ - for (GLsizei i = 0; i < count; ++i) { - GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 3] << ", " << v[1 + i * 3] << ", " << v[2 + i * 3]); // NOLINT - } - }); - if (count < 0) { - SetGLError(GL_INVALID_VALUE, "glUniform3iv", "count < 0"); - return; - } - helper_->Uniform3ivImmediate(location, count, v); -} - -void Uniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform4f(" << location << ", " << x << ", " << y << ", " << z << ", " << w << ")"); // NOLINT - helper_->Uniform4f(location, x, y, z, w); -} - -void Uniform4fv(GLint location, GLsizei count, const GLfloat* v) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform4fv(" << location << ", " << count << ", " << static_cast<const void*>(v) << ")"); // NOLINT - GPU_CLIENT_LOG_CODE_BLOCK({ - for (GLsizei i = 0; i < count; ++i) { - GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 4] << ", " << v[1 + i * 4] << ", " << v[2 + i * 4] << ", " << v[3 + i * 4]); // NOLINT - } - }); - if (count < 0) { - SetGLError(GL_INVALID_VALUE, "glUniform4fv", "count < 0"); - return; - } - helper_->Uniform4fvImmediate(location, count, v); -} - -void Uniform4i(GLint location, GLint x, GLint y, GLint z, GLint w) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform4i(" << location << ", " << x << ", " << y << ", " << z << ", " << w << ")"); // NOLINT - helper_->Uniform4i(location, x, y, z, w); -} - -void Uniform4iv(GLint location, GLsizei count, const GLint* v) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform4iv(" << location << ", " << count << ", " << static_cast<const void*>(v) << ")"); // NOLINT - GPU_CLIENT_LOG_CODE_BLOCK({ - for (GLsizei i = 0; i < count; ++i) { - GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 4] << ", " << v[1 + i * 4] << ", " << v[2 + i * 4] << ", " << v[3 + i * 4]); // NOLINT - } - }); - if (count < 0) { - SetGLError(GL_INVALID_VALUE, "glUniform4iv", "count < 0"); - return; - } - helper_->Uniform4ivImmediate(location, count, v); -} - -void UniformMatrix2fv( - GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniformMatrix2fv(" << location << ", " << count << ", " << GLES2Util::GetStringBool(transpose) << ", " << static_cast<const void*>(value) << ")"); // NOLINT - GPU_CLIENT_LOG_CODE_BLOCK({ - for (GLsizei i = 0; i < count; ++i) { - GPU_CLIENT_LOG(" " << i << ": " << value[0 + i * 4] << ", " << value[1 + i * 4] << ", " << value[2 + i * 4] << ", " << value[3 + i * 4]); // NOLINT - } - }); - if (count < 0) { - SetGLError(GL_INVALID_VALUE, "glUniformMatrix2fv", "count < 0"); - return; - } - helper_->UniformMatrix2fvImmediate(location, count, transpose, value); -} - -void UniformMatrix3fv( - GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniformMatrix3fv(" << location << ", " << count << ", " << GLES2Util::GetStringBool(transpose) << ", " << static_cast<const void*>(value) << ")"); // NOLINT - GPU_CLIENT_LOG_CODE_BLOCK({ - for (GLsizei i = 0; i < count; ++i) { - GPU_CLIENT_LOG(" " << i << ": " << value[0 + i * 9] << ", " << value[1 + i * 9] << ", " << value[2 + i * 9] << ", " << value[3 + i * 9] << ", " << value[4 + i * 9] << ", " << value[5 + i * 9] << ", " << value[6 + i * 9] << ", " << value[7 + i * 9] << ", " << value[8 + i * 9]); // NOLINT - } - }); - if (count < 0) { - SetGLError(GL_INVALID_VALUE, "glUniformMatrix3fv", "count < 0"); - return; - } - helper_->UniformMatrix3fvImmediate(location, count, transpose, value); -} - -void UniformMatrix4fv( - GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniformMatrix4fv(" << location << ", " << count << ", " << GLES2Util::GetStringBool(transpose) << ", " << static_cast<const void*>(value) << ")"); // NOLINT - GPU_CLIENT_LOG_CODE_BLOCK({ - for (GLsizei i = 0; i < count; ++i) { - GPU_CLIENT_LOG(" " << i << ": " << value[0 + i * 16] << ", " << value[1 + i * 16] << ", " << value[2 + i * 16] << ", " << value[3 + i * 16] << ", " << value[4 + i * 16] << ", " << value[5 + i * 16] << ", " << value[6 + i * 16] << ", " << value[7 + i * 16] << ", " << value[8 + i * 16] << ", " << value[9 + i * 16] << ", " << value[10 + i * 16] << ", " << value[11 + i * 16] << ", " << value[12 + i * 16] << ", " << value[13 + i * 16] << ", " << value[14 + i * 16] << ", " << value[15 + i * 16]); // NOLINT - } - }); - if (count < 0) { - SetGLError(GL_INVALID_VALUE, "glUniformMatrix4fv", "count < 0"); - return; - } - helper_->UniformMatrix4fvImmediate(location, count, transpose, value); -} - -void UseProgram(GLuint program) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUseProgram(" << program << ")"); - helper_->UseProgram(program); -} - -void ValidateProgram(GLuint program) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glValidateProgram(" << program << ")"); // NOLINT - helper_->ValidateProgram(program); -} - -void VertexAttrib1f(GLuint indx, GLfloat x) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glVertexAttrib1f(" << indx << ", " << x << ")"); // NOLINT - helper_->VertexAttrib1f(indx, x); -} - -void VertexAttrib1fv(GLuint indx, const GLfloat* values) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glVertexAttrib1fv(" << indx << ", " << static_cast<const void*>(values) << ")"); // NOLINT - GPU_CLIENT_LOG("values: " << values[0]); - helper_->VertexAttrib1fvImmediate(indx, values); -} - -void VertexAttrib2f(GLuint indx, GLfloat x, GLfloat y) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glVertexAttrib2f(" << indx << ", " << x << ", " << y << ")"); // NOLINT - helper_->VertexAttrib2f(indx, x, y); -} - -void VertexAttrib2fv(GLuint indx, const GLfloat* values) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glVertexAttrib2fv(" << indx << ", " << static_cast<const void*>(values) << ")"); // NOLINT - GPU_CLIENT_LOG("values: " << values[0] << ", " << values[1]); - helper_->VertexAttrib2fvImmediate(indx, values); -} - -void VertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glVertexAttrib3f(" << indx << ", " << x << ", " << y << ", " << z << ")"); // NOLINT - helper_->VertexAttrib3f(indx, x, y, z); -} - -void VertexAttrib3fv(GLuint indx, const GLfloat* values) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glVertexAttrib3fv(" << indx << ", " << static_cast<const void*>(values) << ")"); // NOLINT - GPU_CLIENT_LOG("values: " << values[0] << ", " << values[1] << ", " << values[2]); // NOLINT - helper_->VertexAttrib3fvImmediate(indx, values); -} - -void VertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glVertexAttrib4f(" << indx << ", " << x << ", " << y << ", " << z << ", " << w << ")"); // NOLINT - helper_->VertexAttrib4f(indx, x, y, z, w); -} - -void VertexAttrib4fv(GLuint indx, const GLfloat* values) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glVertexAttrib4fv(" << indx << ", " << static_cast<const void*>(values) << ")"); // NOLINT - GPU_CLIENT_LOG("values: " << values[0] << ", " << values[1] << ", " << values[2] << ", " << values[3]); // NOLINT - helper_->VertexAttrib4fvImmediate(indx, values); -} - -void VertexAttribPointer( + GLsizei height, GLenum format, GLenum type, const void* pixels) OVERRIDE; + +virtual void Uniform1f(GLint location, GLfloat x) OVERRIDE; + +virtual void Uniform1fv( + GLint location, GLsizei count, const GLfloat* v) OVERRIDE; + +virtual void Uniform1i(GLint location, GLint x) OVERRIDE; + +virtual void Uniform1iv( + GLint location, GLsizei count, const GLint* v) OVERRIDE; + +virtual void Uniform2f(GLint location, GLfloat x, GLfloat y) OVERRIDE; + +virtual void Uniform2fv( + GLint location, GLsizei count, const GLfloat* v) OVERRIDE; + +virtual void Uniform2i(GLint location, GLint x, GLint y) OVERRIDE; + +virtual void Uniform2iv( + GLint location, GLsizei count, const GLint* v) OVERRIDE; + +virtual void Uniform3f( + GLint location, GLfloat x, GLfloat y, GLfloat z) OVERRIDE; + +virtual void Uniform3fv( + GLint location, GLsizei count, const GLfloat* v) OVERRIDE; + +virtual void Uniform3i(GLint location, GLint x, GLint y, GLint z) OVERRIDE; + +virtual void Uniform3iv( + GLint location, GLsizei count, const GLint* v) OVERRIDE; + +virtual void Uniform4f( + GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w) OVERRIDE; + +virtual void Uniform4fv( + GLint location, GLsizei count, const GLfloat* v) OVERRIDE; + +virtual void Uniform4i( + GLint location, GLint x, GLint y, GLint z, GLint w) OVERRIDE; + +virtual void Uniform4iv( + GLint location, GLsizei count, const GLint* v) OVERRIDE; + +virtual void UniformMatrix2fv( + GLint location, GLsizei count, GLboolean transpose, + const GLfloat* value) OVERRIDE; + +virtual void UniformMatrix3fv( + GLint location, GLsizei count, GLboolean transpose, + const GLfloat* value) OVERRIDE; + +virtual void UniformMatrix4fv( + GLint location, GLsizei count, GLboolean transpose, + const GLfloat* value) OVERRIDE; + +virtual void UseProgram(GLuint program) OVERRIDE; + +virtual void ValidateProgram(GLuint program) OVERRIDE; + +virtual void VertexAttrib1f(GLuint indx, GLfloat x) OVERRIDE; + +virtual void VertexAttrib1fv(GLuint indx, const GLfloat* values) OVERRIDE; + +virtual void VertexAttrib2f(GLuint indx, GLfloat x, GLfloat y) OVERRIDE; + +virtual void VertexAttrib2fv(GLuint indx, const GLfloat* values) OVERRIDE; + +virtual void VertexAttrib3f( + GLuint indx, GLfloat x, GLfloat y, GLfloat z) OVERRIDE; + +virtual void VertexAttrib3fv(GLuint indx, const GLfloat* values) OVERRIDE; + +virtual void VertexAttrib4f( + GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w) OVERRIDE; + +virtual void VertexAttrib4fv(GLuint indx, const GLfloat* values) OVERRIDE; + +virtual void VertexAttribPointer( GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, - const void* ptr); - -void Viewport(GLint x, GLint y, GLsizei width, GLsizei height) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glViewport(" << x << ", " << y << ", " << width << ", " << height << ")"); // NOLINT - if (width < 0) { - SetGLError(GL_INVALID_VALUE, "glViewport", "width < 0"); - return; - } - if (height < 0) { - SetGLError(GL_INVALID_VALUE, "glViewport", "height < 0"); - return; - } - helper_->Viewport(x, y, width, height); -} - -void BlitFramebufferEXT( + const void* ptr) OVERRIDE; + +virtual void Viewport( + GLint x, GLint y, GLsizei width, GLsizei height) OVERRIDE; + +virtual void BlitFramebufferEXT( GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, - GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBlitFramebufferEXT(" << srcX0 << ", " << srcY0 << ", " << srcX1 << ", " << srcY1 << ", " << dstX0 << ", " << dstY0 << ", " << dstX1 << ", " << dstY1 << ", " << mask << ", " << GLES2Util::GetStringBlitFilter(filter) << ")"); // NOLINT - helper_->BlitFramebufferEXT( - srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); -} - -void RenderbufferStorageMultisampleEXT( + GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, + GLenum filter) OVERRIDE; + +virtual void RenderbufferStorageMultisampleEXT( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, - GLsizei height) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glRenderbufferStorageMultisampleEXT(" << GLES2Util::GetStringRenderBufferTarget(target) << ", " << samples << ", " << GLES2Util::GetStringRenderBufferFormat(internalformat) << ", " << width << ", " << height << ")"); // NOLINT - if (samples < 0) { - SetGLError( - GL_INVALID_VALUE, "glRenderbufferStorageMultisampleEXT", "samples < 0"); - return; - } - if (width < 0) { - SetGLError( - GL_INVALID_VALUE, "glRenderbufferStorageMultisampleEXT", "width < 0"); - return; - } - if (height < 0) { - SetGLError( - GL_INVALID_VALUE, "glRenderbufferStorageMultisampleEXT", "height < 0"); - return; - } - helper_->RenderbufferStorageMultisampleEXT( - target, samples, internalformat, width, height); -} - -void TexStorage2DEXT( + GLsizei height) OVERRIDE; + +virtual void TexStorage2DEXT( GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, - GLsizei height) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glTexStorage2DEXT(" << GLES2Util::GetStringTextureTarget(target) << ", " << levels << ", " << GLES2Util::GetStringTextureInternalFormatStorage(internalFormat) << ", " << width << ", " << height << ")"); // NOLINT - if (levels < 0) { - SetGLError(GL_INVALID_VALUE, "glTexStorage2DEXT", "levels < 0"); - return; - } - if (width < 0) { - SetGLError(GL_INVALID_VALUE, "glTexStorage2DEXT", "width < 0"); - return; - } - if (height < 0) { - SetGLError(GL_INVALID_VALUE, "glTexStorage2DEXT", "height < 0"); - return; - } - helper_->TexStorage2DEXT(target, levels, internalFormat, width, height); -} - -void GenQueriesEXT(GLsizei n, GLuint* queries) { - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGenQueriesEXT(" << n << ", " << static_cast<const void*>(queries) << ")"); // NOLINT - if (n < 0) { - SetGLError(GL_INVALID_VALUE, "glGenQueriesEXT", "n < 0"); - return; - } - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GetIdHandler(id_namespaces::kQueries)-> - MakeIds(this, 0, n, queries); - helper_->GenQueriesEXTImmediate(n, queries); - GPU_CLIENT_LOG_CODE_BLOCK({ - for (GLsizei i = 0; i < n; ++i) { - GPU_CLIENT_LOG(" " << i << ": " << queries[i]); - } - }); -} - -void DeleteQueriesEXT(GLsizei n, const GLuint* queries) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteQueriesEXT(" << n << ", " << static_cast<const void*>(queries) << ")"); // NOLINT - GPU_CLIENT_LOG_CODE_BLOCK({ - for (GLsizei i = 0; i < n; ++i) { - GPU_CLIENT_LOG(" " << i << ": " << queries[i]); - } - }); - GPU_CLIENT_DCHECK_CODE_BLOCK({ - for (GLsizei i = 0; i < n; ++i) { - GPU_DCHECK(queries[i] != 0); - } - }); - if (n < 0) { - SetGLError(GL_INVALID_VALUE, "glDeleteQueriesEXT", "n < 0"); - return; - } - DeleteQueriesEXTHelper(n, queries); -} - -GLboolean IsQueryEXT(GLuint id); - -void BeginQueryEXT(GLenum target, GLuint id); - -void EndQueryEXT(GLenum target); - -void GetQueryivEXT(GLenum target, GLenum pname, GLint* params); - -void GetQueryObjectuivEXT(GLuint id, GLenum pname, GLuint* params); - -void InsertEventMarkerEXT(GLsizei length, const GLchar* marker); - -void PushGroupMarkerEXT(GLsizei length, const GLchar* marker); - -void PopGroupMarkerEXT(); - -void GenVertexArraysOES(GLsizei n, GLuint* arrays) { - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGenVertexArraysOES(" << n << ", " << static_cast<const void*>(arrays) << ")"); // NOLINT - if (n < 0) { - SetGLError(GL_INVALID_VALUE, "glGenVertexArraysOES", "n < 0"); - return; - } - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GetIdHandler(id_namespaces::kVertexArrays)-> - MakeIds(this, 0, n, arrays); - helper_->GenVertexArraysOESImmediate(n, arrays); - GPU_CLIENT_LOG_CODE_BLOCK({ - for (GLsizei i = 0; i < n; ++i) { - GPU_CLIENT_LOG(" " << i << ": " << arrays[i]); - } - }); -} - -void DeleteVertexArraysOES(GLsizei n, const GLuint* arrays) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteVertexArraysOES(" << n << ", " << static_cast<const void*>(arrays) << ")"); // NOLINT - GPU_CLIENT_LOG_CODE_BLOCK({ - for (GLsizei i = 0; i < n; ++i) { - GPU_CLIENT_LOG(" " << i << ": " << arrays[i]); - } - }); - GPU_CLIENT_DCHECK_CODE_BLOCK({ - for (GLsizei i = 0; i < n; ++i) { - GPU_DCHECK(arrays[i] != 0); - } - }); - if (n < 0) { - SetGLError(GL_INVALID_VALUE, "glDeleteVertexArraysOES", "n < 0"); - return; - } - DeleteVertexArraysOESHelper(n, arrays); -} - -GLboolean IsVertexArrayOES(GLuint array) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glIsVertexArrayOES(" << array << ")"); // NOLINT - typedef IsVertexArrayOES::Result Result; - Result* result = GetResultAs<Result*>(); - if (!result) { - return GL_FALSE; - } - *result = 0; - helper_->IsVertexArrayOES(array, GetResultShmId(), GetResultShmOffset()); - WaitForCmd(); - GPU_CLIENT_LOG("returned " << *result); - return *result; -} - -void BindVertexArrayOES(GLuint array) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBindVertexArrayOES(" << array << ")"); // NOLINT - if (IsVertexArrayReservedId(array)) { - SetGLError( - GL_INVALID_OPERATION, "BindVertexArrayOES", "array reserved id"); - return; - } - BindVertexArrayHelper(array); - helper_->BindVertexArrayOES(array); -} - -void SwapBuffers(); - -GLuint GetMaxValueInBufferCHROMIUM( - GLuint buffer_id, GLsizei count, GLenum type, GLuint offset); - -void GenSharedIdsCHROMIUM( - GLuint namespace_id, GLuint id_offset, GLsizei n, GLuint* ids); - -void DeleteSharedIdsCHROMIUM( - GLuint namespace_id, GLsizei n, const GLuint* ids); - -void RegisterSharedIdsCHROMIUM( - GLuint namespace_id, GLsizei n, const GLuint* ids); - -GLboolean EnableFeatureCHROMIUM(const char* feature); - -void* MapBufferSubDataCHROMIUM( - GLuint target, GLintptr offset, GLsizeiptr size, GLenum access); - -void UnmapBufferSubDataCHROMIUM(const void* mem); - -void* MapTexSubImage2DCHROMIUM( + GLsizei height) OVERRIDE; + +virtual void GenQueriesEXT(GLsizei n, GLuint* queries) OVERRIDE; + +virtual void DeleteQueriesEXT(GLsizei n, const GLuint* queries) OVERRIDE; + +virtual GLboolean IsQueryEXT(GLuint id) OVERRIDE; + +virtual void BeginQueryEXT(GLenum target, GLuint id) OVERRIDE; + +virtual void EndQueryEXT(GLenum target) OVERRIDE; + +virtual void GetQueryivEXT( + GLenum target, GLenum pname, GLint* params) OVERRIDE; + +virtual void GetQueryObjectuivEXT( + GLuint id, GLenum pname, GLuint* params) OVERRIDE; + +virtual void InsertEventMarkerEXT( + GLsizei length, const GLchar* marker) OVERRIDE; + +virtual void PushGroupMarkerEXT(GLsizei length, const GLchar* marker) OVERRIDE; + +virtual void PopGroupMarkerEXT() OVERRIDE; + +virtual void GenVertexArraysOES(GLsizei n, GLuint* arrays) OVERRIDE; + +virtual void DeleteVertexArraysOES(GLsizei n, const GLuint* arrays) OVERRIDE; + +virtual GLboolean IsVertexArrayOES(GLuint array) OVERRIDE; + +virtual void BindVertexArrayOES(GLuint array) OVERRIDE; + +virtual void SwapBuffers() OVERRIDE; + +virtual GLuint GetMaxValueInBufferCHROMIUM( + GLuint buffer_id, GLsizei count, GLenum type, GLuint offset) OVERRIDE; + +virtual void GenSharedIdsCHROMIUM( + GLuint namespace_id, GLuint id_offset, GLsizei n, GLuint* ids) OVERRIDE; + +virtual void DeleteSharedIdsCHROMIUM( + GLuint namespace_id, GLsizei n, const GLuint* ids) OVERRIDE; + +virtual void RegisterSharedIdsCHROMIUM( + GLuint namespace_id, GLsizei n, const GLuint* ids) OVERRIDE; + +virtual GLboolean EnableFeatureCHROMIUM(const char* feature) OVERRIDE; + +virtual void* MapBufferSubDataCHROMIUM( + GLuint target, GLintptr offset, GLsizeiptr size, GLenum access) OVERRIDE; + +virtual void UnmapBufferSubDataCHROMIUM(const void* mem) OVERRIDE; + +virtual void* MapTexSubImage2DCHROMIUM( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, - GLsizei height, GLenum format, GLenum type, GLenum access); - -void UnmapTexSubImage2DCHROMIUM(const void* mem); - -void ResizeCHROMIUM(GLuint width, GLuint height); - -const GLchar* GetRequestableExtensionsCHROMIUM(); - -void RequestExtensionCHROMIUM(const char* extension); - -void RateLimitOffscreenContextCHROMIUM(); - -void GetMultipleIntegervCHROMIUM( - const GLenum* pnames, GLuint count, GLint* results, GLsizeiptr size); - -void GetProgramInfoCHROMIUM( - GLuint program, GLsizei bufsize, GLsizei* size, void* info); - -GLuint CreateStreamTextureCHROMIUM(GLuint texture); - -void DestroyStreamTextureCHROMIUM(GLuint texture); - -void GetTranslatedShaderSourceANGLE( - GLuint shader, GLsizei bufsize, GLsizei* length, char* source) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_VALIDATE_DESTINATION_OPTIONAL_INITALIZATION(GLsizei, length); - GPU_CLIENT_LOG("[" << GetLogPrefix() - << "] glGetTranslatedShaderSourceANGLE" << "(" - << shader << ", " - << bufsize << ", " - << static_cast<void*>(length) << ", " - << static_cast<void*>(source) << ")"); - helper_->SetBucketSize(kResultBucketId, 0); - helper_->GetTranslatedShaderSourceANGLE(shader, kResultBucketId); - std::string str; - GLsizei max_size = 0; - if (GetBucketAsString(kResultBucketId, &str)) { - if (bufsize > 0) { - max_size = - std::min(static_cast<size_t>(bufsize) - 1, str.size()); - memcpy(source, str.c_str(), max_size); - source[max_size] = '\0'; - GPU_CLIENT_LOG("------\n" << source << "\n------"); - } - } - if (length != NULL) { - *length = max_size; - } -} -void PostSubBufferCHROMIUM(GLint x, GLint y, GLint width, GLint height); - -void TexImageIOSurface2DCHROMIUM( + GLsizei height, GLenum format, GLenum type, GLenum access) OVERRIDE; + +virtual void UnmapTexSubImage2DCHROMIUM(const void* mem) OVERRIDE; + +virtual void ResizeCHROMIUM(GLuint width, GLuint height) OVERRIDE; + +virtual const GLchar* GetRequestableExtensionsCHROMIUM() OVERRIDE; + +virtual void RequestExtensionCHROMIUM(const char* extension) OVERRIDE; + +virtual void RateLimitOffscreenContextCHROMIUM() OVERRIDE; + +virtual void GetMultipleIntegervCHROMIUM( + const GLenum* pnames, GLuint count, GLint* results, + GLsizeiptr size) OVERRIDE; + +virtual void GetProgramInfoCHROMIUM( + GLuint program, GLsizei bufsize, GLsizei* size, void* info) OVERRIDE; + +virtual GLuint CreateStreamTextureCHROMIUM(GLuint texture) OVERRIDE; + +virtual void DestroyStreamTextureCHROMIUM(GLuint texture) OVERRIDE; + +virtual void GetTranslatedShaderSourceANGLE( + GLuint shader, GLsizei bufsize, GLsizei* length, char* source) OVERRIDE; + +virtual void PostSubBufferCHROMIUM( + GLint x, GLint y, GLint width, GLint height) OVERRIDE; + +virtual void TexImageIOSurface2DCHROMIUM( GLenum target, GLsizei width, GLsizei height, GLuint ioSurfaceId, - GLuint plane) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glTexImageIOSurface2DCHROMIUM(" << GLES2Util::GetStringTextureBindTarget(target) << ", " << width << ", " << height << ", " << ioSurfaceId << ", " << plane << ")"); // NOLINT - if (width < 0) { - SetGLError(GL_INVALID_VALUE, "glTexImageIOSurface2DCHROMIUM", "width < 0"); - return; - } - if (height < 0) { - SetGLError( - GL_INVALID_VALUE, "glTexImageIOSurface2DCHROMIUM", "height < 0"); - return; - } - helper_->TexImageIOSurface2DCHROMIUM( - target, width, height, ioSurfaceId, plane); -} - -void CopyTextureCHROMIUM( + GLuint plane) OVERRIDE; + +virtual void CopyTextureCHROMIUM( GLenum target, GLenum source_id, GLenum dest_id, GLint level, - GLint internalformat) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glCopyTextureCHROMIUM(" << GLES2Util::GetStringEnum(target) << ", " << GLES2Util::GetStringEnum(source_id) << ", " << GLES2Util::GetStringEnum(dest_id) << ", " << level << ", " << internalformat << ")"); // NOLINT - helper_->CopyTextureCHROMIUM( - target, source_id, dest_id, level, internalformat); -} + GLint internalformat) OVERRIDE; -void DrawArraysInstancedANGLE( - GLenum mode, GLint first, GLsizei count, GLsizei primcount); +virtual void DrawArraysInstancedANGLE( + GLenum mode, GLint first, GLsizei count, GLsizei primcount) OVERRIDE; -void DrawElementsInstancedANGLE( +virtual void DrawElementsInstancedANGLE( GLenum mode, GLsizei count, GLenum type, const void* indices, - GLsizei primcount); + GLsizei primcount) OVERRIDE; -void VertexAttribDivisorANGLE(GLuint index, GLuint divisor); +virtual void VertexAttribDivisorANGLE(GLuint index, GLuint divisor) OVERRIDE; -void GenMailboxCHROMIUM(GLbyte* mailbox); +virtual void GenMailboxCHROMIUM(GLbyte* mailbox) OVERRIDE; -void ProduceTextureCHROMIUM(GLenum target, const GLbyte* mailbox) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glProduceTextureCHROMIUM(" << GLES2Util::GetStringTextureTarget(target) << ", " << static_cast<const void*>(mailbox) << ")"); // NOLINT - GPU_CLIENT_LOG("values: " << mailbox[0] << ", " << mailbox[1] << ", " << mailbox[2] << ", " << mailbox[3] << ", " << mailbox[4] << ", " << mailbox[5] << ", " << mailbox[6] << ", " << mailbox[7] << ", " << mailbox[8] << ", " << mailbox[9] << ", " << mailbox[10] << ", " << mailbox[11] << ", " << mailbox[12] << ", " << mailbox[13] << ", " << mailbox[14] << ", " << mailbox[15] << ", " << mailbox[16] << ", " << mailbox[17] << ", " << mailbox[18] << ", " << mailbox[19] << ", " << mailbox[20] << ", " << mailbox[21] << ", " << mailbox[22] << ", " << mailbox[23] << ", " << mailbox[24] << ", " << mailbox[25] << ", " << mailbox[26] << ", " << mailbox[27] << ", " << mailbox[28] << ", " << mailbox[29] << ", " << mailbox[30] << ", " << mailbox[31] << ", " << mailbox[32] << ", " << mailbox[33] << ", " << mailbox[34] << ", " << mailbox[35] << ", " << mailbox[36] << ", " << mailbox[37] << ", " << mailbox[38] << ", " << mailbox[39] << ", " << mailbox[40] << ", " << mailbox[41] << ", " << mailbox[42] << ", " << mailbox[43] << ", " << mailbox[44] << ", " << mailbox[45] << ", " << mailbox[46] << ", " << mailbox[47] << ", " << mailbox[48] << ", " << mailbox[49] << ", " << mailbox[50] << ", " << mailbox[51] << ", " << mailbox[52] << ", " << mailbox[53] << ", " << mailbox[54] << ", " << mailbox[55] << ", " << mailbox[56] << ", " << mailbox[57] << ", " << mailbox[58] << ", " << mailbox[59] << ", " << mailbox[60] << ", " << mailbox[61] << ", " << mailbox[62] << ", " << mailbox[63]); // NOLINT - helper_->ProduceTextureCHROMIUMImmediate(target, mailbox); -} +virtual void ProduceTextureCHROMIUM( + GLenum target, const GLbyte* mailbox) OVERRIDE; -void ConsumeTextureCHROMIUM(GLenum target, const GLbyte* mailbox) { - GPU_CLIENT_SINGLE_THREAD_CHECK(); - GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glConsumeTextureCHROMIUM(" << GLES2Util::GetStringTextureTarget(target) << ", " << static_cast<const void*>(mailbox) << ")"); // NOLINT - GPU_CLIENT_LOG("values: " << mailbox[0] << ", " << mailbox[1] << ", " << mailbox[2] << ", " << mailbox[3] << ", " << mailbox[4] << ", " << mailbox[5] << ", " << mailbox[6] << ", " << mailbox[7] << ", " << mailbox[8] << ", " << mailbox[9] << ", " << mailbox[10] << ", " << mailbox[11] << ", " << mailbox[12] << ", " << mailbox[13] << ", " << mailbox[14] << ", " << mailbox[15] << ", " << mailbox[16] << ", " << mailbox[17] << ", " << mailbox[18] << ", " << mailbox[19] << ", " << mailbox[20] << ", " << mailbox[21] << ", " << mailbox[22] << ", " << mailbox[23] << ", " << mailbox[24] << ", " << mailbox[25] << ", " << mailbox[26] << ", " << mailbox[27] << ", " << mailbox[28] << ", " << mailbox[29] << ", " << mailbox[30] << ", " << mailbox[31] << ", " << mailbox[32] << ", " << mailbox[33] << ", " << mailbox[34] << ", " << mailbox[35] << ", " << mailbox[36] << ", " << mailbox[37] << ", " << mailbox[38] << ", " << mailbox[39] << ", " << mailbox[40] << ", " << mailbox[41] << ", " << mailbox[42] << ", " << mailbox[43] << ", " << mailbox[44] << ", " << mailbox[45] << ", " << mailbox[46] << ", " << mailbox[47] << ", " << mailbox[48] << ", " << mailbox[49] << ", " << mailbox[50] << ", " << mailbox[51] << ", " << mailbox[52] << ", " << mailbox[53] << ", " << mailbox[54] << ", " << mailbox[55] << ", " << mailbox[56] << ", " << mailbox[57] << ", " << mailbox[58] << ", " << mailbox[59] << ", " << mailbox[60] << ", " << mailbox[61] << ", " << mailbox[62] << ", " << mailbox[63]); // NOLINT - helper_->ConsumeTextureCHROMIUMImmediate(target, mailbox); -} +virtual void ConsumeTextureCHROMIUM( + GLenum target, const GLbyte* mailbox) OVERRIDE; -void BindUniformLocationCHROMIUM( - GLuint program, GLint location, const char* name); +virtual void BindUniformLocationCHROMIUM( + GLuint program, GLint location, const char* name) OVERRIDE; #endif // GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_AUTOGEN_H_ |