| // Copyright 2014 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // This file is auto-generated from |
| // gpu/command_buffer/build_gles2_cmd_buffer.py |
| // It's formatted by clang-format using chromium coding style: |
| // clang-format -i -style=chromium filename |
| // DO NOT EDIT! |
| |
| #include "ppapi/shared_impl/ppb_opengles2_shared.h" |
| |
| #include "base/logging.h" |
| #include "gpu/command_buffer/client/gles2_implementation.h" |
| #include "ppapi/shared_impl/ppb_graphics_3d_shared.h" |
| #include "ppapi/thunk/enter.h" |
| |
| namespace ppapi { |
| |
| namespace { |
| |
| typedef thunk::EnterResource<thunk::PPB_Graphics3D_API> Enter3D; |
| |
| gpu::gles2::GLES2Implementation* ToGles2Impl(Enter3D* enter) { |
| DCHECK(enter); |
| DCHECK(enter->succeeded()); |
| return static_cast<PPB_Graphics3D_Shared*>(enter->object())->gles2_impl(); |
| } |
| |
| void ActiveTexture(PP_Resource context_id, GLenum texture) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->ActiveTexture(texture); |
| } |
| } |
| |
| void AttachShader(PP_Resource context_id, GLuint program, GLuint shader) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->AttachShader(program, shader); |
| } |
| } |
| |
| void BindAttribLocation(PP_Resource context_id, |
| GLuint program, |
| GLuint index, |
| const char* name) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->BindAttribLocation(program, index, name); |
| } |
| } |
| |
| void BindBuffer(PP_Resource context_id, GLenum target, GLuint buffer) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->BindBuffer(target, buffer); |
| } |
| } |
| |
| void BindFramebuffer(PP_Resource context_id, |
| GLenum target, |
| GLuint framebuffer) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->BindFramebuffer(target, framebuffer); |
| } |
| } |
| |
| void BindRenderbuffer(PP_Resource context_id, |
| GLenum target, |
| GLuint renderbuffer) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->BindRenderbuffer(target, renderbuffer); |
| } |
| } |
| |
| void BindTexture(PP_Resource context_id, GLenum target, GLuint texture) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->BindTexture(target, texture); |
| } |
| } |
| |
| void BlendColor(PP_Resource context_id, |
| GLclampf red, |
| GLclampf green, |
| GLclampf blue, |
| GLclampf alpha) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->BlendColor(red, green, blue, alpha); |
| } |
| } |
| |
| void BlendEquation(PP_Resource context_id, GLenum mode) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->BlendEquation(mode); |
| } |
| } |
| |
| void BlendEquationSeparate(PP_Resource context_id, |
| GLenum modeRGB, |
| GLenum modeAlpha) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->BlendEquationSeparate(modeRGB, modeAlpha); |
| } |
| } |
| |
| void BlendFunc(PP_Resource context_id, GLenum sfactor, GLenum dfactor) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->BlendFunc(sfactor, dfactor); |
| } |
| } |
| |
| void BlendFuncSeparate(PP_Resource context_id, |
| GLenum srcRGB, |
| GLenum dstRGB, |
| GLenum srcAlpha, |
| GLenum dstAlpha) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->BlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha); |
| } |
| } |
| |
| void BufferData(PP_Resource context_id, |
| GLenum target, |
| GLsizeiptr size, |
| const void* data, |
| GLenum usage) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->BufferData(target, size, data, usage); |
| } |
| } |
| |
| void BufferSubData(PP_Resource context_id, |
| GLenum target, |
| GLintptr offset, |
| GLsizeiptr size, |
| const void* data) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->BufferSubData(target, offset, size, data); |
| } |
| } |
| |
| GLenum CheckFramebufferStatus(PP_Resource context_id, GLenum target) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| return ToGles2Impl(&enter)->CheckFramebufferStatus(target); |
| } else { |
| return 0; |
| } |
| } |
| |
| void Clear(PP_Resource context_id, GLbitfield mask) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->Clear(mask); |
| } |
| } |
| |
| void ClearColor(PP_Resource context_id, |
| GLclampf red, |
| GLclampf green, |
| GLclampf blue, |
| GLclampf alpha) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->ClearColor(red, green, blue, alpha); |
| } |
| } |
| |
| void ClearDepthf(PP_Resource context_id, GLclampf depth) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->ClearDepthf(depth); |
| } |
| } |
| |
| void ClearStencil(PP_Resource context_id, GLint s) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->ClearStencil(s); |
| } |
| } |
| |
| void ColorMask(PP_Resource context_id, |
| GLboolean red, |
| GLboolean green, |
| GLboolean blue, |
| GLboolean alpha) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->ColorMask(red, green, blue, alpha); |
| } |
| } |
| |
| void CompileShader(PP_Resource context_id, GLuint shader) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->CompileShader(shader); |
| } |
| } |
| |
| void CompressedTexImage2D(PP_Resource context_id, |
| GLenum target, |
| GLint level, |
| GLenum internalformat, |
| GLsizei width, |
| GLsizei height, |
| GLint border, |
| GLsizei imageSize, |
| const void* data) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->CompressedTexImage2D( |
| target, level, internalformat, width, height, border, imageSize, data); |
| } |
| } |
| |
| void CompressedTexSubImage2D(PP_Resource context_id, |
| GLenum target, |
| GLint level, |
| GLint xoffset, |
| GLint yoffset, |
| GLsizei width, |
| GLsizei height, |
| GLenum format, |
| GLsizei imageSize, |
| const void* data) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->CompressedTexSubImage2D(target, level, xoffset, |
| yoffset, width, height, format, |
| imageSize, data); |
| } |
| } |
| |
| void CopyTexImage2D(PP_Resource context_id, |
| GLenum target, |
| GLint level, |
| GLenum internalformat, |
| GLint x, |
| GLint y, |
| GLsizei width, |
| GLsizei height, |
| GLint border) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->CopyTexImage2D(target, level, internalformat, x, y, |
| width, height, border); |
| } |
| } |
| |
| void CopyTexSubImage2D(PP_Resource context_id, |
| GLenum target, |
| GLint level, |
| GLint xoffset, |
| GLint yoffset, |
| GLint x, |
| GLint y, |
| GLsizei width, |
| GLsizei height) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->CopyTexSubImage2D(target, level, xoffset, yoffset, x, |
| y, width, height); |
| } |
| } |
| |
| GLuint CreateProgram(PP_Resource context_id) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| return ToGles2Impl(&enter)->CreateProgram(); |
| } else { |
| return 0; |
| } |
| } |
| |
| GLuint CreateShader(PP_Resource context_id, GLenum type) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| return ToGles2Impl(&enter)->CreateShader(type); |
| } else { |
| return 0; |
| } |
| } |
| |
| void CullFace(PP_Resource context_id, GLenum mode) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->CullFace(mode); |
| } |
| } |
| |
| void DeleteBuffers(PP_Resource context_id, GLsizei n, const GLuint* buffers) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->DeleteBuffers(n, buffers); |
| } |
| } |
| |
| void DeleteFramebuffers(PP_Resource context_id, |
| GLsizei n, |
| const GLuint* framebuffers) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->DeleteFramebuffers(n, framebuffers); |
| } |
| } |
| |
| void DeleteProgram(PP_Resource context_id, GLuint program) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->DeleteProgram(program); |
| } |
| } |
| |
| void DeleteRenderbuffers(PP_Resource context_id, |
| GLsizei n, |
| const GLuint* renderbuffers) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->DeleteRenderbuffers(n, renderbuffers); |
| } |
| } |
| |
| void DeleteShader(PP_Resource context_id, GLuint shader) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->DeleteShader(shader); |
| } |
| } |
| |
| void DeleteTextures(PP_Resource context_id, GLsizei n, const GLuint* textures) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->DeleteTextures(n, textures); |
| } |
| } |
| |
| void DepthFunc(PP_Resource context_id, GLenum func) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->DepthFunc(func); |
| } |
| } |
| |
| void DepthMask(PP_Resource context_id, GLboolean flag) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->DepthMask(flag); |
| } |
| } |
| |
| void DepthRangef(PP_Resource context_id, GLclampf zNear, GLclampf zFar) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->DepthRangef(zNear, zFar); |
| } |
| } |
| |
| void DetachShader(PP_Resource context_id, GLuint program, GLuint shader) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->DetachShader(program, shader); |
| } |
| } |
| |
| void Disable(PP_Resource context_id, GLenum cap) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->Disable(cap); |
| } |
| } |
| |
| void DisableVertexAttribArray(PP_Resource context_id, GLuint index) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->DisableVertexAttribArray(index); |
| } |
| } |
| |
| void DrawArrays(PP_Resource context_id, |
| GLenum mode, |
| GLint first, |
| GLsizei count) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->DrawArrays(mode, first, count); |
| } |
| } |
| |
| void DrawElements(PP_Resource context_id, |
| GLenum mode, |
| GLsizei count, |
| GLenum type, |
| const void* indices) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->DrawElements(mode, count, type, indices); |
| } |
| } |
| |
| void Enable(PP_Resource context_id, GLenum cap) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->Enable(cap); |
| } |
| } |
| |
| void EnableVertexAttribArray(PP_Resource context_id, GLuint index) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->EnableVertexAttribArray(index); |
| } |
| } |
| |
| void Finish(PP_Resource context_id) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->Finish(); |
| } |
| } |
| |
| void Flush(PP_Resource context_id) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->Flush(); |
| } |
| } |
| |
| void FramebufferRenderbuffer(PP_Resource context_id, |
| GLenum target, |
| GLenum attachment, |
| GLenum renderbuffertarget, |
| GLuint renderbuffer) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->FramebufferRenderbuffer( |
| target, attachment, renderbuffertarget, renderbuffer); |
| } |
| } |
| |
| void FramebufferTexture2D(PP_Resource context_id, |
| GLenum target, |
| GLenum attachment, |
| GLenum textarget, |
| GLuint texture, |
| GLint level) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->FramebufferTexture2D(target, attachment, textarget, |
| texture, level); |
| } |
| } |
| |
| void FrontFace(PP_Resource context_id, GLenum mode) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->FrontFace(mode); |
| } |
| } |
| |
| void GenBuffers(PP_Resource context_id, GLsizei n, GLuint* buffers) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->GenBuffers(n, buffers); |
| } |
| } |
| |
| void GenerateMipmap(PP_Resource context_id, GLenum target) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->GenerateMipmap(target); |
| } |
| } |
| |
| void GenFramebuffers(PP_Resource context_id, GLsizei n, GLuint* framebuffers) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->GenFramebuffers(n, framebuffers); |
| } |
| } |
| |
| void GenRenderbuffers(PP_Resource context_id, |
| GLsizei n, |
| GLuint* renderbuffers) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->GenRenderbuffers(n, renderbuffers); |
| } |
| } |
| |
| void GenTextures(PP_Resource context_id, GLsizei n, GLuint* textures) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->GenTextures(n, textures); |
| } |
| } |
| |
| void GetActiveAttrib(PP_Resource context_id, |
| GLuint program, |
| GLuint index, |
| GLsizei bufsize, |
| GLsizei* length, |
| GLint* size, |
| GLenum* type, |
| char* name) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->GetActiveAttrib(program, index, bufsize, length, size, |
| type, name); |
| } |
| } |
| |
| void GetActiveUniform(PP_Resource context_id, |
| GLuint program, |
| GLuint index, |
| GLsizei bufsize, |
| GLsizei* length, |
| GLint* size, |
| GLenum* type, |
| char* name) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->GetActiveUniform(program, index, bufsize, length, size, |
| type, name); |
| } |
| } |
| |
| void GetAttachedShaders(PP_Resource context_id, |
| GLuint program, |
| GLsizei maxcount, |
| GLsizei* count, |
| GLuint* shaders) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->GetAttachedShaders(program, maxcount, count, shaders); |
| } |
| } |
| |
| GLint GetAttribLocation(PP_Resource context_id, |
| GLuint program, |
| const char* name) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| return ToGles2Impl(&enter)->GetAttribLocation(program, name); |
| } else { |
| return -1; |
| } |
| } |
| |
| void GetBooleanv(PP_Resource context_id, GLenum pname, GLboolean* params) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->GetBooleanv(pname, params); |
| } |
| } |
| |
| void GetBufferParameteriv(PP_Resource context_id, |
| GLenum target, |
| GLenum pname, |
| GLint* params) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->GetBufferParameteriv(target, pname, params); |
| } |
| } |
| |
| GLenum GetError(PP_Resource context_id) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| return ToGles2Impl(&enter)->GetError(); |
| } else { |
| return 0; |
| } |
| } |
| |
| void GetFloatv(PP_Resource context_id, GLenum pname, GLfloat* params) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->GetFloatv(pname, params); |
| } |
| } |
| |
| void GetFramebufferAttachmentParameteriv(PP_Resource context_id, |
| GLenum target, |
| GLenum attachment, |
| GLenum pname, |
| GLint* params) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->GetFramebufferAttachmentParameteriv(target, attachment, |
| pname, params); |
| } |
| } |
| |
| void GetIntegerv(PP_Resource context_id, GLenum pname, GLint* params) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->GetIntegerv(pname, params); |
| } |
| } |
| |
| void GetProgramiv(PP_Resource context_id, |
| GLuint program, |
| GLenum pname, |
| GLint* params) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->GetProgramiv(program, pname, params); |
| } |
| } |
| |
| void GetProgramInfoLog(PP_Resource context_id, |
| GLuint program, |
| GLsizei bufsize, |
| GLsizei* length, |
| char* infolog) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->GetProgramInfoLog(program, bufsize, length, infolog); |
| } |
| } |
| |
| void GetRenderbufferParameteriv(PP_Resource context_id, |
| GLenum target, |
| GLenum pname, |
| GLint* params) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->GetRenderbufferParameteriv(target, pname, params); |
| } |
| } |
| |
| void GetShaderiv(PP_Resource context_id, |
| GLuint shader, |
| GLenum pname, |
| GLint* params) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->GetShaderiv(shader, pname, params); |
| } |
| } |
| |
| void GetShaderInfoLog(PP_Resource context_id, |
| GLuint shader, |
| GLsizei bufsize, |
| GLsizei* length, |
| char* infolog) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->GetShaderInfoLog(shader, bufsize, length, infolog); |
| } |
| } |
| |
| void GetShaderPrecisionFormat(PP_Resource context_id, |
| GLenum shadertype, |
| GLenum precisiontype, |
| GLint* range, |
| GLint* precision) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->GetShaderPrecisionFormat(shadertype, precisiontype, |
| range, precision); |
| } |
| } |
| |
| void GetShaderSource(PP_Resource context_id, |
| GLuint shader, |
| GLsizei bufsize, |
| GLsizei* length, |
| char* source) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->GetShaderSource(shader, bufsize, length, source); |
| } |
| } |
| |
| const GLubyte* GetString(PP_Resource context_id, GLenum name) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| return ToGles2Impl(&enter)->GetString(name); |
| } else { |
| return nullptr; |
| } |
| } |
| |
| void GetTexParameterfv(PP_Resource context_id, |
| GLenum target, |
| GLenum pname, |
| GLfloat* params) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->GetTexParameterfv(target, pname, params); |
| } |
| } |
| |
| void GetTexParameteriv(PP_Resource context_id, |
| GLenum target, |
| GLenum pname, |
| GLint* params) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->GetTexParameteriv(target, pname, params); |
| } |
| } |
| |
| void GetUniformfv(PP_Resource context_id, |
| GLuint program, |
| GLint location, |
| GLfloat* params) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->GetUniformfv(program, location, params); |
| } |
| } |
| |
| void GetUniformiv(PP_Resource context_id, |
| GLuint program, |
| GLint location, |
| GLint* params) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->GetUniformiv(program, location, params); |
| } |
| } |
| |
| GLint GetUniformLocation(PP_Resource context_id, |
| GLuint program, |
| const char* name) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| return ToGles2Impl(&enter)->GetUniformLocation(program, name); |
| } else { |
| return -1; |
| } |
| } |
| |
| void GetVertexAttribfv(PP_Resource context_id, |
| GLuint index, |
| GLenum pname, |
| GLfloat* params) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->GetVertexAttribfv(index, pname, params); |
| } |
| } |
| |
| void GetVertexAttribiv(PP_Resource context_id, |
| GLuint index, |
| GLenum pname, |
| GLint* params) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->GetVertexAttribiv(index, pname, params); |
| } |
| } |
| |
| void GetVertexAttribPointerv(PP_Resource context_id, |
| GLuint index, |
| GLenum pname, |
| void** pointer) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->GetVertexAttribPointerv(index, pname, pointer); |
| } |
| } |
| |
| void Hint(PP_Resource context_id, GLenum target, GLenum mode) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->Hint(target, mode); |
| } |
| } |
| |
| GLboolean IsBuffer(PP_Resource context_id, GLuint buffer) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| return ToGles2Impl(&enter)->IsBuffer(buffer); |
| } else { |
| return GL_FALSE; |
| } |
| } |
| |
| GLboolean IsEnabled(PP_Resource context_id, GLenum cap) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| return ToGles2Impl(&enter)->IsEnabled(cap); |
| } else { |
| return GL_FALSE; |
| } |
| } |
| |
| GLboolean IsFramebuffer(PP_Resource context_id, GLuint framebuffer) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| return ToGles2Impl(&enter)->IsFramebuffer(framebuffer); |
| } else { |
| return GL_FALSE; |
| } |
| } |
| |
| GLboolean IsProgram(PP_Resource context_id, GLuint program) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| return ToGles2Impl(&enter)->IsProgram(program); |
| } else { |
| return GL_FALSE; |
| } |
| } |
| |
| GLboolean IsRenderbuffer(PP_Resource context_id, GLuint renderbuffer) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| return ToGles2Impl(&enter)->IsRenderbuffer(renderbuffer); |
| } else { |
| return GL_FALSE; |
| } |
| } |
| |
| GLboolean IsShader(PP_Resource context_id, GLuint shader) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| return ToGles2Impl(&enter)->IsShader(shader); |
| } else { |
| return GL_FALSE; |
| } |
| } |
| |
| GLboolean IsTexture(PP_Resource context_id, GLuint texture) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| return ToGles2Impl(&enter)->IsTexture(texture); |
| } else { |
| return GL_FALSE; |
| } |
| } |
| |
| void LineWidth(PP_Resource context_id, GLfloat width) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->LineWidth(width); |
| } |
| } |
| |
| void LinkProgram(PP_Resource context_id, GLuint program) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->LinkProgram(program); |
| } |
| } |
| |
| void PixelStorei(PP_Resource context_id, GLenum pname, GLint param) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->PixelStorei(pname, param); |
| } |
| } |
| |
| void PolygonOffset(PP_Resource context_id, GLfloat factor, GLfloat units) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->PolygonOffset(factor, units); |
| } |
| } |
| |
| void ReadPixels(PP_Resource context_id, |
| GLint x, |
| GLint y, |
| GLsizei width, |
| GLsizei height, |
| GLenum format, |
| GLenum type, |
| void* pixels) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->ReadPixels(x, y, width, height, format, type, pixels); |
| } |
| } |
| |
| void ReleaseShaderCompiler(PP_Resource context_id) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->ReleaseShaderCompiler(); |
| } |
| } |
| |
| void RenderbufferStorage(PP_Resource context_id, |
| GLenum target, |
| GLenum internalformat, |
| GLsizei width, |
| GLsizei height) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->RenderbufferStorage(target, internalformat, width, |
| height); |
| } |
| } |
| |
| void SampleCoverage(PP_Resource context_id, GLclampf value, GLboolean invert) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->SampleCoverage(value, invert); |
| } |
| } |
| |
| void Scissor(PP_Resource context_id, |
| GLint x, |
| GLint y, |
| GLsizei width, |
| GLsizei height) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->Scissor(x, y, width, height); |
| } |
| } |
| |
| void ShaderBinary(PP_Resource context_id, |
| GLsizei n, |
| const GLuint* shaders, |
| GLenum binaryformat, |
| const void* binary, |
| GLsizei length) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->ShaderBinary(n, shaders, binaryformat, binary, length); |
| } |
| } |
| |
| void ShaderSource(PP_Resource context_id, |
| GLuint shader, |
| GLsizei count, |
| const char** str, |
| const GLint* length) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->ShaderSource(shader, count, str, length); |
| } |
| } |
| |
| void StencilFunc(PP_Resource context_id, GLenum func, GLint ref, GLuint mask) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->StencilFunc(func, ref, mask); |
| } |
| } |
| |
| void StencilFuncSeparate(PP_Resource context_id, |
| GLenum face, |
| GLenum func, |
| GLint ref, |
| GLuint mask) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->StencilFuncSeparate(face, func, ref, mask); |
| } |
| } |
| |
| void StencilMask(PP_Resource context_id, GLuint mask) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->StencilMask(mask); |
| } |
| } |
| |
| void StencilMaskSeparate(PP_Resource context_id, GLenum face, GLuint mask) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->StencilMaskSeparate(face, mask); |
| } |
| } |
| |
| void StencilOp(PP_Resource context_id, |
| GLenum fail, |
| GLenum zfail, |
| GLenum zpass) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->StencilOp(fail, zfail, zpass); |
| } |
| } |
| |
| void StencilOpSeparate(PP_Resource context_id, |
| GLenum face, |
| GLenum fail, |
| GLenum zfail, |
| GLenum zpass) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->StencilOpSeparate(face, fail, zfail, zpass); |
| } |
| } |
| |
| void TexImage2D(PP_Resource context_id, |
| GLenum target, |
| GLint level, |
| GLint internalformat, |
| GLsizei width, |
| GLsizei height, |
| GLint border, |
| GLenum format, |
| GLenum type, |
| const void* pixels) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->TexImage2D(target, level, internalformat, width, |
| height, border, format, type, pixels); |
| } |
| } |
| |
| void TexParameterf(PP_Resource context_id, |
| GLenum target, |
| GLenum pname, |
| GLfloat param) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->TexParameterf(target, pname, param); |
| } |
| } |
| |
| void TexParameterfv(PP_Resource context_id, |
| GLenum target, |
| GLenum pname, |
| const GLfloat* params) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->TexParameterfv(target, pname, params); |
| } |
| } |
| |
| void TexParameteri(PP_Resource context_id, |
| GLenum target, |
| GLenum pname, |
| GLint param) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->TexParameteri(target, pname, param); |
| } |
| } |
| |
| void TexParameteriv(PP_Resource context_id, |
| GLenum target, |
| GLenum pname, |
| const GLint* params) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->TexParameteriv(target, pname, params); |
| } |
| } |
| |
| void TexSubImage2D(PP_Resource context_id, |
| GLenum target, |
| GLint level, |
| GLint xoffset, |
| GLint yoffset, |
| GLsizei width, |
| GLsizei height, |
| GLenum format, |
| GLenum type, |
| const void* pixels) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->TexSubImage2D(target, level, xoffset, yoffset, width, |
| height, format, type, pixels); |
| } |
| } |
| |
| void Uniform1f(PP_Resource context_id, GLint location, GLfloat x) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->Uniform1f(location, x); |
| } |
| } |
| |
| void Uniform1fv(PP_Resource context_id, |
| GLint location, |
| GLsizei count, |
| const GLfloat* v) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->Uniform1fv(location, count, v); |
| } |
| } |
| |
| void Uniform1i(PP_Resource context_id, GLint location, GLint x) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->Uniform1i(location, x); |
| } |
| } |
| |
| void Uniform1iv(PP_Resource context_id, |
| GLint location, |
| GLsizei count, |
| const GLint* v) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->Uniform1iv(location, count, v); |
| } |
| } |
| |
| void Uniform2f(PP_Resource context_id, GLint location, GLfloat x, GLfloat y) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->Uniform2f(location, x, y); |
| } |
| } |
| |
| void Uniform2fv(PP_Resource context_id, |
| GLint location, |
| GLsizei count, |
| const GLfloat* v) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->Uniform2fv(location, count, v); |
| } |
| } |
| |
| void Uniform2i(PP_Resource context_id, GLint location, GLint x, GLint y) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->Uniform2i(location, x, y); |
| } |
| } |
| |
| void Uniform2iv(PP_Resource context_id, |
| GLint location, |
| GLsizei count, |
| const GLint* v) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->Uniform2iv(location, count, v); |
| } |
| } |
| |
| void Uniform3f(PP_Resource context_id, |
| GLint location, |
| GLfloat x, |
| GLfloat y, |
| GLfloat z) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->Uniform3f(location, x, y, z); |
| } |
| } |
| |
| void Uniform3fv(PP_Resource context_id, |
| GLint location, |
| GLsizei count, |
| const GLfloat* v) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->Uniform3fv(location, count, v); |
| } |
| } |
| |
| void Uniform3i(PP_Resource context_id, |
| GLint location, |
| GLint x, |
| GLint y, |
| GLint z) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->Uniform3i(location, x, y, z); |
| } |
| } |
| |
| void Uniform3iv(PP_Resource context_id, |
| GLint location, |
| GLsizei count, |
| const GLint* v) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->Uniform3iv(location, count, v); |
| } |
| } |
| |
| void Uniform4f(PP_Resource context_id, |
| GLint location, |
| GLfloat x, |
| GLfloat y, |
| GLfloat z, |
| GLfloat w) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->Uniform4f(location, x, y, z, w); |
| } |
| } |
| |
| void Uniform4fv(PP_Resource context_id, |
| GLint location, |
| GLsizei count, |
| const GLfloat* v) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->Uniform4fv(location, count, v); |
| } |
| } |
| |
| void Uniform4i(PP_Resource context_id, |
| GLint location, |
| GLint x, |
| GLint y, |
| GLint z, |
| GLint w) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->Uniform4i(location, x, y, z, w); |
| } |
| } |
| |
| void Uniform4iv(PP_Resource context_id, |
| GLint location, |
| GLsizei count, |
| const GLint* v) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->Uniform4iv(location, count, v); |
| } |
| } |
| |
| void UniformMatrix2fv(PP_Resource context_id, |
| GLint location, |
| GLsizei count, |
| GLboolean transpose, |
| const GLfloat* value) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->UniformMatrix2fv(location, count, transpose, value); |
| } |
| } |
| |
| void UniformMatrix3fv(PP_Resource context_id, |
| GLint location, |
| GLsizei count, |
| GLboolean transpose, |
| const GLfloat* value) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->UniformMatrix3fv(location, count, transpose, value); |
| } |
| } |
| |
| void UniformMatrix4fv(PP_Resource context_id, |
| GLint location, |
| GLsizei count, |
| GLboolean transpose, |
| const GLfloat* value) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->UniformMatrix4fv(location, count, transpose, value); |
| } |
| } |
| |
| void UseProgram(PP_Resource context_id, GLuint program) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->UseProgram(program); |
| } |
| } |
| |
| void ValidateProgram(PP_Resource context_id, GLuint program) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->ValidateProgram(program); |
| } |
| } |
| |
| void VertexAttrib1f(PP_Resource context_id, GLuint indx, GLfloat x) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->VertexAttrib1f(indx, x); |
| } |
| } |
| |
| void VertexAttrib1fv(PP_Resource context_id, |
| GLuint indx, |
| const GLfloat* values) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->VertexAttrib1fv(indx, values); |
| } |
| } |
| |
| void VertexAttrib2f(PP_Resource context_id, GLuint indx, GLfloat x, GLfloat y) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->VertexAttrib2f(indx, x, y); |
| } |
| } |
| |
| void VertexAttrib2fv(PP_Resource context_id, |
| GLuint indx, |
| const GLfloat* values) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->VertexAttrib2fv(indx, values); |
| } |
| } |
| |
| void VertexAttrib3f(PP_Resource context_id, |
| GLuint indx, |
| GLfloat x, |
| GLfloat y, |
| GLfloat z) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->VertexAttrib3f(indx, x, y, z); |
| } |
| } |
| |
| void VertexAttrib3fv(PP_Resource context_id, |
| GLuint indx, |
| const GLfloat* values) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->VertexAttrib3fv(indx, values); |
| } |
| } |
| |
| void VertexAttrib4f(PP_Resource context_id, |
| GLuint indx, |
| GLfloat x, |
| GLfloat y, |
| GLfloat z, |
| GLfloat w) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->VertexAttrib4f(indx, x, y, z, w); |
| } |
| } |
| |
| void VertexAttrib4fv(PP_Resource context_id, |
| GLuint indx, |
| const GLfloat* values) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->VertexAttrib4fv(indx, values); |
| } |
| } |
| |
| void VertexAttribPointer(PP_Resource context_id, |
| GLuint indx, |
| GLint size, |
| GLenum type, |
| GLboolean normalized, |
| GLsizei stride, |
| const void* ptr) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->VertexAttribPointer(indx, size, type, normalized, |
| stride, ptr); |
| } |
| } |
| |
| void Viewport(PP_Resource context_id, |
| GLint x, |
| GLint y, |
| GLsizei width, |
| GLsizei height) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->Viewport(x, y, width, height); |
| } |
| } |
| |
| void BlitFramebufferEXT(PP_Resource context_id, |
| GLint srcX0, |
| GLint srcY0, |
| GLint srcX1, |
| GLint srcY1, |
| GLint dstX0, |
| GLint dstY0, |
| GLint dstX1, |
| GLint dstY1, |
| GLbitfield mask, |
| GLenum filter) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->BlitFramebufferCHROMIUM( |
| srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); |
| } |
| } |
| |
| void RenderbufferStorageMultisampleEXT(PP_Resource context_id, |
| GLenum target, |
| GLsizei samples, |
| GLenum internalformat, |
| GLsizei width, |
| GLsizei height) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->RenderbufferStorageMultisampleCHROMIUM( |
| target, samples, internalformat, width, height); |
| } |
| } |
| |
| void GenQueriesEXT(PP_Resource context_id, GLsizei n, GLuint* queries) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->GenQueriesEXT(n, queries); |
| } |
| } |
| |
| void DeleteQueriesEXT(PP_Resource context_id, |
| GLsizei n, |
| const GLuint* queries) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->DeleteQueriesEXT(n, queries); |
| } |
| } |
| |
| GLboolean IsQueryEXT(PP_Resource context_id, GLuint id) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| return ToGles2Impl(&enter)->IsQueryEXT(id); |
| } else { |
| return GL_FALSE; |
| } |
| } |
| |
| void BeginQueryEXT(PP_Resource context_id, GLenum target, GLuint id) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->BeginQueryEXT(target, id); |
| } |
| } |
| |
| void EndQueryEXT(PP_Resource context_id, GLenum target) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->EndQueryEXT(target); |
| } |
| } |
| |
| void GetQueryivEXT(PP_Resource context_id, |
| GLenum target, |
| GLenum pname, |
| GLint* params) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->GetQueryivEXT(target, pname, params); |
| } |
| } |
| |
| void GetQueryObjectuivEXT(PP_Resource context_id, |
| GLuint id, |
| GLenum pname, |
| GLuint* params) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->GetQueryObjectuivEXT(id, pname, params); |
| } |
| } |
| |
| void GenVertexArraysOES(PP_Resource context_id, GLsizei n, GLuint* arrays) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->GenVertexArraysOES(n, arrays); |
| } |
| } |
| |
| void DeleteVertexArraysOES(PP_Resource context_id, |
| GLsizei n, |
| const GLuint* arrays) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->DeleteVertexArraysOES(n, arrays); |
| } |
| } |
| |
| GLboolean IsVertexArrayOES(PP_Resource context_id, GLuint array) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| return ToGles2Impl(&enter)->IsVertexArrayOES(array); |
| } else { |
| return GL_FALSE; |
| } |
| } |
| |
| void BindVertexArrayOES(PP_Resource context_id, GLuint array) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->BindVertexArrayOES(array); |
| } |
| } |
| |
| GLboolean EnableFeatureCHROMIUM(PP_Resource context_id, const char* feature) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| return ToGles2Impl(&enter)->EnableFeatureCHROMIUM(feature); |
| } else { |
| return GL_FALSE; |
| } |
| } |
| |
| void* MapBufferSubDataCHROMIUM(PP_Resource context_id, |
| GLuint target, |
| GLintptr offset, |
| GLsizeiptr size, |
| GLenum access) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| return ToGles2Impl(&enter)->MapBufferSubDataCHROMIUM(target, offset, size, |
| access); |
| } else { |
| return nullptr; |
| } |
| } |
| |
| void UnmapBufferSubDataCHROMIUM(PP_Resource context_id, const void* mem) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->UnmapBufferSubDataCHROMIUM(mem); |
| } |
| } |
| |
| void* MapTexSubImage2DCHROMIUM(PP_Resource context_id, |
| GLenum target, |
| GLint level, |
| GLint xoffset, |
| GLint yoffset, |
| GLsizei width, |
| GLsizei height, |
| GLenum format, |
| GLenum type, |
| GLenum access) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| return ToGles2Impl(&enter)->MapTexSubImage2DCHROMIUM( |
| target, level, xoffset, yoffset, width, height, format, type, access); |
| } else { |
| return nullptr; |
| } |
| } |
| |
| void UnmapTexSubImage2DCHROMIUM(PP_Resource context_id, const void* mem) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->UnmapTexSubImage2DCHROMIUM(mem); |
| } |
| } |
| |
| void DrawArraysInstancedANGLE(PP_Resource context_id, |
| GLenum mode, |
| GLint first, |
| GLsizei count, |
| GLsizei primcount) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->DrawArraysInstancedANGLE(mode, first, count, |
| primcount); |
| } |
| } |
| |
| void DrawElementsInstancedANGLE(PP_Resource context_id, |
| GLenum mode, |
| GLsizei count, |
| GLenum type, |
| const void* indices, |
| GLsizei primcount) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->DrawElementsInstancedANGLE(mode, count, type, indices, |
| primcount); |
| } |
| } |
| |
| void VertexAttribDivisorANGLE(PP_Resource context_id, |
| GLuint index, |
| GLuint divisor) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->VertexAttribDivisorANGLE(index, divisor); |
| } |
| } |
| |
| void DrawBuffersEXT(PP_Resource context_id, GLsizei count, const GLenum* bufs) { |
| Enter3D enter(context_id, true); |
| if (enter.succeeded()) { |
| ToGles2Impl(&enter)->DrawBuffersEXT(count, bufs); |
| } |
| } |
| |
| } // namespace |
| const PPB_OpenGLES2* PPB_OpenGLES2_Shared::GetInterface() { |
| static const struct PPB_OpenGLES2 ppb_opengles2 = { |
| &ActiveTexture, |
| &AttachShader, |
| &BindAttribLocation, |
| &BindBuffer, |
| &BindFramebuffer, |
| &BindRenderbuffer, |
| &BindTexture, |
| &BlendColor, |
| &BlendEquation, |
| &BlendEquationSeparate, |
| &BlendFunc, |
| &BlendFuncSeparate, |
| &BufferData, |
| &BufferSubData, |
| &CheckFramebufferStatus, |
| &Clear, |
| &ClearColor, |
| &ClearDepthf, |
| &ClearStencil, |
| &ColorMask, |
| &CompileShader, |
| &CompressedTexImage2D, |
| &CompressedTexSubImage2D, |
| &CopyTexImage2D, |
| &CopyTexSubImage2D, |
| &CreateProgram, |
| &CreateShader, |
| &CullFace, |
| &DeleteBuffers, |
| &DeleteFramebuffers, |
| &DeleteProgram, |
| &DeleteRenderbuffers, |
| &DeleteShader, |
| &DeleteTextures, |
| &DepthFunc, |
| &DepthMask, |
| &DepthRangef, |
| &DetachShader, |
| &Disable, |
| &DisableVertexAttribArray, |
| &DrawArrays, |
| &DrawElements, |
| &Enable, |
| &EnableVertexAttribArray, |
| &Finish, |
| &Flush, |
| &FramebufferRenderbuffer, |
| &FramebufferTexture2D, |
| &FrontFace, |
| &GenBuffers, |
| &GenerateMipmap, |
| &GenFramebuffers, |
| &GenRenderbuffers, |
| &GenTextures, |
| &GetActiveAttrib, |
| &GetActiveUniform, |
| &GetAttachedShaders, |
| &GetAttribLocation, |
| &GetBooleanv, |
| &GetBufferParameteriv, |
| &GetError, |
| &GetFloatv, |
| &GetFramebufferAttachmentParameteriv, |
| &GetIntegerv, |
| &GetProgramiv, |
| &GetProgramInfoLog, |
| &GetRenderbufferParameteriv, |
| &GetShaderiv, |
| &GetShaderInfoLog, |
| &GetShaderPrecisionFormat, |
| &GetShaderSource, |
| &GetString, |
| &GetTexParameterfv, |
| &GetTexParameteriv, |
| &GetUniformfv, |
| &GetUniformiv, |
| &GetUniformLocation, |
| &GetVertexAttribfv, |
| &GetVertexAttribiv, |
| &GetVertexAttribPointerv, |
| &Hint, |
| &IsBuffer, |
| &IsEnabled, |
| &IsFramebuffer, |
| &IsProgram, |
| &IsRenderbuffer, |
| &IsShader, |
| &IsTexture, |
| &LineWidth, |
| &LinkProgram, |
| &PixelStorei, |
| &PolygonOffset, |
| &ReadPixels, |
| &ReleaseShaderCompiler, |
| &RenderbufferStorage, |
| &SampleCoverage, |
| &Scissor, |
| &ShaderBinary, |
| &ShaderSource, |
| &StencilFunc, |
| &StencilFuncSeparate, |
| &StencilMask, |
| &StencilMaskSeparate, |
| &StencilOp, |
| &StencilOpSeparate, |
| &TexImage2D, |
| &TexParameterf, |
| &TexParameterfv, |
| &TexParameteri, |
| &TexParameteriv, |
| &TexSubImage2D, |
| &Uniform1f, |
| &Uniform1fv, |
| &Uniform1i, |
| &Uniform1iv, |
| &Uniform2f, |
| &Uniform2fv, |
| &Uniform2i, |
| &Uniform2iv, |
| &Uniform3f, |
| &Uniform3fv, |
| &Uniform3i, |
| &Uniform3iv, |
| &Uniform4f, |
| &Uniform4fv, |
| &Uniform4i, |
| &Uniform4iv, |
| &UniformMatrix2fv, |
| &UniformMatrix3fv, |
| &UniformMatrix4fv, |
| &UseProgram, |
| &ValidateProgram, |
| &VertexAttrib1f, |
| &VertexAttrib1fv, |
| &VertexAttrib2f, |
| &VertexAttrib2fv, |
| &VertexAttrib3f, |
| &VertexAttrib3fv, |
| &VertexAttrib4f, |
| &VertexAttrib4fv, |
| &VertexAttribPointer, |
| &Viewport}; |
| return &ppb_opengles2; |
| } |
| const PPB_OpenGLES2InstancedArrays* |
| PPB_OpenGLES2_Shared::GetInstancedArraysInterface() { |
| static const struct PPB_OpenGLES2InstancedArrays ppb_opengles2 = { |
| &DrawArraysInstancedANGLE, &DrawElementsInstancedANGLE, |
| &VertexAttribDivisorANGLE}; |
| return &ppb_opengles2; |
| } |
| const PPB_OpenGLES2FramebufferBlit* |
| PPB_OpenGLES2_Shared::GetFramebufferBlitInterface() { |
| static const struct PPB_OpenGLES2FramebufferBlit ppb_opengles2 = { |
| &BlitFramebufferEXT}; |
| return &ppb_opengles2; |
| } |
| const PPB_OpenGLES2FramebufferMultisample* |
| PPB_OpenGLES2_Shared::GetFramebufferMultisampleInterface() { |
| static const struct PPB_OpenGLES2FramebufferMultisample ppb_opengles2 = { |
| &RenderbufferStorageMultisampleEXT}; |
| return &ppb_opengles2; |
| } |
| const PPB_OpenGLES2ChromiumEnableFeature* |
| PPB_OpenGLES2_Shared::GetChromiumEnableFeatureInterface() { |
| static const struct PPB_OpenGLES2ChromiumEnableFeature ppb_opengles2 = { |
| &EnableFeatureCHROMIUM}; |
| return &ppb_opengles2; |
| } |
| const PPB_OpenGLES2ChromiumMapSub* |
| PPB_OpenGLES2_Shared::GetChromiumMapSubInterface() { |
| static const struct PPB_OpenGLES2ChromiumMapSub ppb_opengles2 = { |
| &MapBufferSubDataCHROMIUM, &UnmapBufferSubDataCHROMIUM, |
| &MapTexSubImage2DCHROMIUM, &UnmapTexSubImage2DCHROMIUM}; |
| return &ppb_opengles2; |
| } |
| const PPB_OpenGLES2Query* PPB_OpenGLES2_Shared::GetQueryInterface() { |
| static const struct PPB_OpenGLES2Query ppb_opengles2 = { |
| &GenQueriesEXT, &DeleteQueriesEXT, &IsQueryEXT, &BeginQueryEXT, |
| &EndQueryEXT, &GetQueryivEXT, &GetQueryObjectuivEXT}; |
| return &ppb_opengles2; |
| } |
| const PPB_OpenGLES2VertexArrayObject* |
| PPB_OpenGLES2_Shared::GetVertexArrayObjectInterface() { |
| static const struct PPB_OpenGLES2VertexArrayObject ppb_opengles2 = { |
| &GenVertexArraysOES, &DeleteVertexArraysOES, &IsVertexArrayOES, |
| &BindVertexArrayOES}; |
| return &ppb_opengles2; |
| } |
| const PPB_OpenGLES2DrawBuffers_Dev* |
| PPB_OpenGLES2_Shared::GetDrawBuffersInterface() { |
| static const struct PPB_OpenGLES2DrawBuffers_Dev ppb_opengles2 = { |
| &DrawBuffersEXT}; |
| return &ppb_opengles2; |
| } |
| } // namespace ppapi |