summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xgpu/command_buffer/build_gles2_cmd_buffer.py130
-rw-r--r--ppapi/cpp/instance.cc8
-rw-r--r--ppapi/cpp/instance.h4
-rw-r--r--ppapi/ppapi_shared.gypi2
-rw-r--r--ppapi/proxy/ppb_context_3d_proxy.cc4
-rw-r--r--ppapi/proxy/ppb_context_3d_proxy.h1
-rw-r--r--ppapi/proxy/ppb_opengles2_proxy.cc891
-rw-r--r--ppapi/proxy/ppb_opengles2_proxy.h6
-rw-r--r--ppapi/shared_impl/opengles2_impl.cc904
-rw-r--r--ppapi/shared_impl/opengles2_impl.h20
-rw-r--r--ppapi/thunk/ppb_context_3d_api.h9
-rw-r--r--webkit/plugins/ppapi/ppapi_plugin_instance.cc105
-rw-r--r--webkit/plugins/ppapi/ppapi_plugin_instance.h10
-rw-r--r--webkit/plugins/ppapi/ppb_context_3d_impl.cc4
-rw-r--r--webkit/plugins/ppapi/ppb_context_3d_impl.h1
-rw-r--r--webkit/plugins/ppapi/ppb_graphics_3d_impl.cc6
-rw-r--r--webkit/plugins/ppapi/ppb_opengles_impl.cc891
17 files changed, 1060 insertions, 1936 deletions
diff --git a/gpu/command_buffer/build_gles2_cmd_buffer.py b/gpu/command_buffer/build_gles2_cmd_buffer.py
index 738b84a..76f3c59 100755
--- a/gpu/command_buffer/build_gles2_cmd_buffer.py
+++ b/gpu/command_buffer/build_gles2_cmd_buffer.py
@@ -5718,24 +5718,25 @@ const size_t GLES2Util::enum_to_string_table_len_ =
file.Write(_LICENSE)
file.Write(_DO_NOT_EDIT_WARNING)
- file.Write("#include \"webkit/plugins/ppapi/ppb_opengles_impl.h\"\n\n")
-
+ file.Write("#include \"ppapi/shared_impl/opengles2_impl.h\"\n\n")
+ file.Write("#include \"base/logging.h\"\n")
file.Write("#include \"gpu/command_buffer/client/gles2_implementation.h\"\n")
- file.Write("#include \"ppapi/c/dev/ppb_opengles_dev.h\"\n")
- file.Write("#include \"ppapi/shared_impl/resource_object_base.h\"\n")
- file.Write("#include \"ppapi/shared_impl/tracker_base.h\"\n")
- file.Write("#include \"webkit/plugins/ppapi/ppb_context_3d_impl.h\"\n\n")
-
- file.Write("using ppapi::ResourceObjectBase;\n")
- file.Write("using ppapi::TrackerBase;\n\n")
- file.Write("namespace webkit {\n")
+ file.Write("#include \"ppapi/shared_impl/graphics_3d_impl.h\"\n")
+ file.Write("#include \"ppapi/thunk/enter.h\"\n")
+ file.Write("#include \"ppapi/thunk/ppb_context_3d_api.h\"\n\n")
+
file.Write("namespace ppapi {\n\n")
file.Write("namespace {\n\n")
file.Write("gpu::gles2::GLES2Implementation* GetGLES(PP_Resource context) {\n")
- file.Write(" ResourceObjectBase* base = TrackerBase::Get()->GetResourceAPI(context);\n")
- file.Write(" DCHECK(base->AsPPB_Context3D_API());\n")
- file.Write(" return static_cast<PPB_Context3D_Impl*>(base)->gles2_impl();\n")
+ file.Write(" thunk::EnterResource<thunk::PPB_Graphics3D_API> enter_g3d(context, false);\n")
+ file.Write(" if (enter_g3d.succeeded()) {\n")
+ file.Write(" return static_cast<Graphics3DImpl*>(enter_g3d.object())->gles2_impl();\n")
+ file.Write(" } else {\n")
+ file.Write(" thunk::EnterResource<thunk::PPB_Context3D_API> enter_c3d(context, true);\n")
+ file.Write(" DCHECK(enter_c3d.succeeded());\n")
+ file.Write(" return enter_c3d.object()->GetGLES2Impl();\n")
+ file.Write(" }\n")
file.Write("}\n\n")
for func in self.original_functions:
@@ -5766,106 +5767,12 @@ const size_t GLES2Util::enum_to_string_table_len_ =
file.Write("} // namespace\n")
file.Write("""
-const PPB_OpenGLES2_Dev* PPB_OpenGLES_Impl::GetInterface() {
+const PPB_OpenGLES2_Dev* OpenGLES2Impl::GetInterface() {
return &ppb_opengles2;
}
""")
file.Write("} // namespace ppapi\n")
- file.Write("} // namespace webkit\n\n")
-
- file.Close()
-
- def WritePepperGLES2ProxyImplementation(self, filename):
- """Writes the Pepper OpenGLES interface implementation."""
-
- file = CWriter(filename)
- file.Write(_LICENSE)
- file.Write(_DO_NOT_EDIT_WARNING)
-
- file.Write("#include \"ppapi/proxy/ppb_opengles2_proxy.h\"\n\n")
-
- file.Write("#include \"gpu/command_buffer/client/gles2_implementation.h\"\n")
- file.Write("#include \"ppapi/c/pp_errors.h\"\n")
- file.Write("#include \"ppapi/c/pp_resource.h\"\n")
- file.Write("#include \"ppapi/c/dev/ppb_opengles_dev.h\"\n")
- file.Write("#include \"ppapi/proxy/plugin_dispatcher.h\"\n")
- file.Write("#include \"ppapi/proxy/plugin_resource.h\"\n")
- file.Write("#include \"ppapi/proxy/ppb_context_3d_proxy.h\"\n")
- file.Write("#include \"ppapi/shared_impl/resource_object_base.h\"\n")
- file.Write("#include \"ppapi/shared_impl/tracker_base.h\"\n\n")
-
- file.Write("namespace pp {\n")
- file.Write("namespace proxy {\n\n")
- file.Write("namespace {\n\n")
- file.Write("gpu::gles2::GLES2Implementation* GetGLES(PP_Resource context) {\n")
- file.Write(" ppapi::ResourceObjectBase* base =\n")
- file.Write(" ppapi::TrackerBase::Get()->GetResourceAPI(context);\n")
- file.Write(" DCHECK(base->AsPPB_Context3D_API());\n")
- file.Write(" return static_cast<Context3D*>(base)->gles2_impl();\n")
- file.Write("}\n\n")
-
- for func in self.original_functions:
- if not func.IsCoreGLFunction():
- continue
-
- original_arg = func.MakeTypedOriginalArgString("")
- context_arg = "PP_Resource context_id"
- if len(original_arg):
- arg = context_arg + ", " + original_arg
- else:
- arg = context_arg
- file.Write("%s %s(%s) {\n" % (func.return_type, func.name, arg))
-
- return_str = "" if func.return_type == "void" else "return "
- file.Write(" %sGetGLES(context_id)->%s(%s);\n" %
- (return_str, func.original_name,
- func.MakeOriginalArgString("")))
- file.Write("}\n\n")
-
- file.Write("const struct PPB_OpenGLES2_Dev opengles2_interface = {\n")
- file.Write(" &")
- file.Write(",\n &".join(
- f.name for f in self.original_functions if f.IsCoreGLFunction()))
- file.Write("\n")
- file.Write("};\n\n")
-
- file.Write("""
-InterfaceProxy* CreateOpenGLES2Proxy(Dispatcher* dispatcher,
- const void* target_interface) {
- return new PPB_OpenGLES2_Proxy(dispatcher, target_interface);
-}
-
-} // namespace
-
-PPB_OpenGLES2_Proxy::PPB_OpenGLES2_Proxy(Dispatcher* dispatcher,
- const void* target_interface)
- : InterfaceProxy(dispatcher, target_interface) {
-}
-
-PPB_OpenGLES2_Proxy::~PPB_OpenGLES2_Proxy() {
-}
-
-// static
-const InterfaceProxy::Info* PPB_OpenGLES2_Proxy::GetInfo() {
- static const Info info = {
- &opengles2_interface,
- PPB_OPENGLES2_DEV_INTERFACE,
- INTERFACE_ID_PPB_OPENGLES2,
- false,
- &CreateOpenGLES2Proxy,
- };
- return &info;
-}
-
-bool PPB_OpenGLES2_Proxy::OnMessageReceived(const IPC::Message& msg) {
- return false;
-}
-
-""")
- file.Write("} // namespace proxy\n")
- file.Write("} // namespace pp\n")
-
file.Close()
def WriteGLES2ToPPAPIBridge(self, filename):
@@ -5995,12 +5902,7 @@ def main(argv):
elif options.alternate_mode == "chrome_ppapi":
# To trigger this action, do "make ppapi_gles_implementation"
- gen.WritePepperGLES2Implementation(
- "webkit/plugins/ppapi/ppb_opengles_impl.cc")
-
- elif options.alternate_mode == "chrome_ppapi_proxy":
- gen.WritePepperGLES2ProxyImplementation(
- "ppapi/proxy/ppb_opengles2_proxy.cc")
+ gen.WritePepperGLES2Implementation("ppapi/shared_impl/opengles2_impl.cc")
elif options.alternate_mode == "nacl_ppapi":
gen.WritePepperGLES2NaClProxy(
diff --git a/ppapi/cpp/instance.cc b/ppapi/cpp/instance.cc
index 5cf4e35..75e9a1f 100644
--- a/ppapi/cpp/instance.cc
+++ b/ppapi/cpp/instance.cc
@@ -8,6 +8,7 @@
#include "ppapi/c/ppb_input_event.h"
#include "ppapi/c/ppb_instance.h"
#include "ppapi/c/ppb_messaging.h"
+#include "ppapi/cpp/dev/graphics_3d_dev.h"
#include "ppapi/cpp/dev/surface_3d_dev.h"
#include "ppapi/cpp/graphics_2d.h"
#include "ppapi/cpp/image_data.h"
@@ -85,6 +86,13 @@ bool Instance::BindGraphics(const Graphics2D& graphics) {
pp_instance(), graphics.pp_resource()));
}
+bool Instance::BindGraphics(const Graphics3D_Dev& graphics) {
+ if (!has_interface<PPB_Instance>())
+ return false;
+ return PP_ToBool(get_interface<PPB_Instance>()->BindGraphics(
+ pp_instance(), graphics.pp_resource()));
+}
+
bool Instance::BindGraphics(const Surface3D_Dev& graphics) {
if (!has_interface<PPB_Instance>())
return false;
diff --git a/ppapi/cpp/instance.h b/ppapi/cpp/instance.h
index a55660e..abf441f 100644
--- a/ppapi/cpp/instance.h
+++ b/ppapi/cpp/instance.h
@@ -24,6 +24,7 @@ struct PP_InputEvent;
namespace pp {
class Graphics2D;
+class Graphics3D_Dev;
class InputEvent;
class ImageData;
class Point;
@@ -189,6 +190,9 @@ class Instance {
bool BindGraphics(const Graphics2D& graphics);
/// See PPB_Instance.BindGraphics.
+ bool BindGraphics(const Graphics3D_Dev& graphics);
+
+ /// See PPB_Instance.BindGraphics.
bool BindGraphics(const Surface3D_Dev& graphics);
/// See PPB_Instance.IsFullFrame.
diff --git a/ppapi/ppapi_shared.gypi b/ppapi/ppapi_shared.gypi
index 04cb41f..f24bc7e 100644
--- a/ppapi/ppapi_shared.gypi
+++ b/ppapi/ppapi_shared.gypi
@@ -44,6 +44,8 @@
'shared_impl/input_event_impl.h',
'shared_impl/instance_impl.cc',
'shared_impl/instance_impl.h',
+ 'shared_impl/opengles2_impl.cc',
+ 'shared_impl/opengles2_impl.h',
'shared_impl/ppapi_preferences.cc',
'shared_impl/ppapi_preferences.h',
'shared_impl/ppp_instance_combined.cc',
diff --git a/ppapi/proxy/ppb_context_3d_proxy.cc b/ppapi/proxy/ppb_context_3d_proxy.cc
index 4881aa9..9bf9098 100644
--- a/ppapi/proxy/ppb_context_3d_proxy.cc
+++ b/ppapi/proxy/ppb_context_3d_proxy.cc
@@ -512,6 +512,10 @@ void Context3D::UnmapTexSubImage2DCHROMIUM(const void* mem) {
gles2_impl_->UnmapTexSubImage2DCHROMIUM(mem);
}
+gpu::gles2::GLES2Implementation* Context3D::GetGLES2Impl() {
+ return gles2_impl();
+}
+
// PPB_Context3D_Proxy ---------------------------------------------------------
PPB_Context3D_Proxy::PPB_Context3D_Proxy(Dispatcher* dispatcher,
diff --git a/ppapi/proxy/ppb_context_3d_proxy.h b/ppapi/proxy/ppb_context_3d_proxy.h
index 991b7a2..ec9ece2 100644
--- a/ppapi/proxy/ppb_context_3d_proxy.h
+++ b/ppapi/proxy/ppb_context_3d_proxy.h
@@ -76,6 +76,7 @@ class Context3D : public PluginResource,
GLenum type,
GLenum access) OVERRIDE;
virtual void UnmapTexSubImage2DCHROMIUM(const void* mem) OVERRIDE;
+ virtual gpu::gles2::GLES2Implementation* GetGLES2Impl() OVERRIDE;
bool CreateImplementation();
diff --git a/ppapi/proxy/ppb_opengles2_proxy.cc b/ppapi/proxy/ppb_opengles2_proxy.cc
index 79527e4..904054b 100644
--- a/ppapi/proxy/ppb_opengles2_proxy.cc
+++ b/ppapi/proxy/ppb_opengles2_proxy.cc
@@ -2,905 +2,18 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-// This file is auto-generated from
-// gpu/command_buffer/build_gles2_cmd_buffer.py
-// DO NOT EDIT!
-
#include "ppapi/proxy/ppb_opengles2_proxy.h"
-#include "gpu/command_buffer/client/gles2_implementation.h"
-#include "ppapi/c/pp_errors.h"
-#include "ppapi/c/pp_resource.h"
-#include "ppapi/c/dev/ppb_opengles_dev.h"
-#include "ppapi/proxy/plugin_dispatcher.h"
-#include "ppapi/proxy/plugin_resource.h"
-#include "ppapi/proxy/ppb_context_3d_proxy.h"
-#include "ppapi/shared_impl/resource_object_base.h"
-#include "ppapi/shared_impl/tracker_base.h"
+#include "ppapi/shared_impl/opengles2_impl.h"
namespace pp {
namespace proxy {
namespace {
-
-gpu::gles2::GLES2Implementation* GetGLES(PP_Resource context) {
- ppapi::ResourceObjectBase* base =
- ppapi::TrackerBase::Get()->GetResourceAPI(context);
- DCHECK(base->AsPPB_Context3D_API());
- return static_cast<Context3D*>(base)->gles2_impl();
-}
-
-void ActiveTexture(PP_Resource context_id, GLenum texture) {
- GetGLES(context_id)->ActiveTexture(texture);
-}
-
-void AttachShader(PP_Resource context_id, GLuint program, GLuint shader) {
- GetGLES(context_id)->AttachShader(program, shader);
-}
-
-void BindAttribLocation(
- PP_Resource context_id, GLuint program, GLuint index, const char* name) {
- GetGLES(context_id)->BindAttribLocation(program, index, name);
-}
-
-void BindBuffer(PP_Resource context_id, GLenum target, GLuint buffer) {
- GetGLES(context_id)->BindBuffer(target, buffer);
-}
-
-void BindFramebuffer(
- PP_Resource context_id, GLenum target, GLuint framebuffer) {
- GetGLES(context_id)->BindFramebuffer(target, framebuffer);
-}
-
-void BindRenderbuffer(
- PP_Resource context_id, GLenum target, GLuint renderbuffer) {
- GetGLES(context_id)->BindRenderbuffer(target, renderbuffer);
-}
-
-void BindTexture(PP_Resource context_id, GLenum target, GLuint texture) {
- GetGLES(context_id)->BindTexture(target, texture);
-}
-
-void BlendColor(
- PP_Resource context_id, GLclampf red, GLclampf green, GLclampf blue,
- GLclampf alpha) {
- GetGLES(context_id)->BlendColor(red, green, blue, alpha);
-}
-
-void BlendEquation(PP_Resource context_id, GLenum mode) {
- GetGLES(context_id)->BlendEquation(mode);
-}
-
-void BlendEquationSeparate(
- PP_Resource context_id, GLenum modeRGB, GLenum modeAlpha) {
- GetGLES(context_id)->BlendEquationSeparate(modeRGB, modeAlpha);
-}
-
-void BlendFunc(PP_Resource context_id, GLenum sfactor, GLenum dfactor) {
- GetGLES(context_id)->BlendFunc(sfactor, dfactor);
-}
-
-void BlendFuncSeparate(
- PP_Resource context_id, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha,
- GLenum dstAlpha) {
- GetGLES(context_id)->BlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha);
-}
-
-void BufferData(
- PP_Resource context_id, GLenum target, GLsizeiptr size, const void* data,
- GLenum usage) {
- GetGLES(context_id)->BufferData(target, size, data, usage);
-}
-
-void BufferSubData(
- PP_Resource context_id, GLenum target, GLintptr offset, GLsizeiptr size,
- const void* data) {
- GetGLES(context_id)->BufferSubData(target, offset, size, data);
-}
-
-GLenum CheckFramebufferStatus(PP_Resource context_id, GLenum target) {
- return GetGLES(context_id)->CheckFramebufferStatus(target);
-}
-
-void Clear(PP_Resource context_id, GLbitfield mask) {
- GetGLES(context_id)->Clear(mask);
-}
-
-void ClearColor(
- PP_Resource context_id, GLclampf red, GLclampf green, GLclampf blue,
- GLclampf alpha) {
- GetGLES(context_id)->ClearColor(red, green, blue, alpha);
-}
-
-void ClearDepthf(PP_Resource context_id, GLclampf depth) {
- GetGLES(context_id)->ClearDepthf(depth);
-}
-
-void ClearStencil(PP_Resource context_id, GLint s) {
- GetGLES(context_id)->ClearStencil(s);
-}
-
-void ColorMask(
- PP_Resource context_id, GLboolean red, GLboolean green, GLboolean blue,
- GLboolean alpha) {
- GetGLES(context_id)->ColorMask(red, green, blue, alpha);
-}
-
-void CompileShader(PP_Resource context_id, GLuint shader) {
- GetGLES(context_id)->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) {
- GetGLES(
- context_id)->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) {
- GetGLES(
- context_id)->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) {
- GetGLES(
- context_id)->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) {
- GetGLES(
- context_id)->CopyTexSubImage2D(
- target, level, xoffset, yoffset, x, y, width, height);
-}
-
-GLuint CreateProgram(PP_Resource context_id) {
- return GetGLES(context_id)->CreateProgram();
-}
-
-GLuint CreateShader(PP_Resource context_id, GLenum type) {
- return GetGLES(context_id)->CreateShader(type);
-}
-
-void CullFace(PP_Resource context_id, GLenum mode) {
- GetGLES(context_id)->CullFace(mode);
-}
-
-void DeleteBuffers(PP_Resource context_id, GLsizei n, const GLuint* buffers) {
- GetGLES(context_id)->DeleteBuffers(n, buffers);
-}
-
-void DeleteFramebuffers(
- PP_Resource context_id, GLsizei n, const GLuint* framebuffers) {
- GetGLES(context_id)->DeleteFramebuffers(n, framebuffers);
-}
-
-void DeleteProgram(PP_Resource context_id, GLuint program) {
- GetGLES(context_id)->DeleteProgram(program);
-}
-
-void DeleteRenderbuffers(
- PP_Resource context_id, GLsizei n, const GLuint* renderbuffers) {
- GetGLES(context_id)->DeleteRenderbuffers(n, renderbuffers);
-}
-
-void DeleteShader(PP_Resource context_id, GLuint shader) {
- GetGLES(context_id)->DeleteShader(shader);
-}
-
-void DeleteTextures(
- PP_Resource context_id, GLsizei n, const GLuint* textures) {
- GetGLES(context_id)->DeleteTextures(n, textures);
-}
-
-void DepthFunc(PP_Resource context_id, GLenum func) {
- GetGLES(context_id)->DepthFunc(func);
-}
-
-void DepthMask(PP_Resource context_id, GLboolean flag) {
- GetGLES(context_id)->DepthMask(flag);
-}
-
-void DepthRangef(PP_Resource context_id, GLclampf zNear, GLclampf zFar) {
- GetGLES(context_id)->DepthRangef(zNear, zFar);
-}
-
-void DetachShader(PP_Resource context_id, GLuint program, GLuint shader) {
- GetGLES(context_id)->DetachShader(program, shader);
-}
-
-void Disable(PP_Resource context_id, GLenum cap) {
- GetGLES(context_id)->Disable(cap);
-}
-
-void DisableVertexAttribArray(PP_Resource context_id, GLuint index) {
- GetGLES(context_id)->DisableVertexAttribArray(index);
-}
-
-void DrawArrays(
- PP_Resource context_id, GLenum mode, GLint first, GLsizei count) {
- GetGLES(context_id)->DrawArrays(mode, first, count);
-}
-
-void DrawElements(
- PP_Resource context_id, GLenum mode, GLsizei count, GLenum type,
- const void* indices) {
- GetGLES(context_id)->DrawElements(mode, count, type, indices);
-}
-
-void Enable(PP_Resource context_id, GLenum cap) {
- GetGLES(context_id)->Enable(cap);
-}
-
-void EnableVertexAttribArray(PP_Resource context_id, GLuint index) {
- GetGLES(context_id)->EnableVertexAttribArray(index);
-}
-
-void Finish(PP_Resource context_id) {
- GetGLES(context_id)->Finish();
-}
-
-void Flush(PP_Resource context_id) {
- GetGLES(context_id)->Flush();
-}
-
-void FramebufferRenderbuffer(
- PP_Resource context_id, GLenum target, GLenum attachment,
- GLenum renderbuffertarget, GLuint renderbuffer) {
- GetGLES(
- context_id)->FramebufferRenderbuffer(
- target, attachment, renderbuffertarget, renderbuffer);
-}
-
-void FramebufferTexture2D(
- PP_Resource context_id, GLenum target, GLenum attachment, GLenum textarget,
- GLuint texture, GLint level) {
- GetGLES(
- context_id)->FramebufferTexture2D(
- target, attachment, textarget, texture, level);
-}
-
-void FrontFace(PP_Resource context_id, GLenum mode) {
- GetGLES(context_id)->FrontFace(mode);
-}
-
-void GenBuffers(PP_Resource context_id, GLsizei n, GLuint* buffers) {
- GetGLES(context_id)->GenBuffers(n, buffers);
-}
-
-void GenerateMipmap(PP_Resource context_id, GLenum target) {
- GetGLES(context_id)->GenerateMipmap(target);
-}
-
-void GenFramebuffers(PP_Resource context_id, GLsizei n, GLuint* framebuffers) {
- GetGLES(context_id)->GenFramebuffers(n, framebuffers);
-}
-
-void GenRenderbuffers(
- PP_Resource context_id, GLsizei n, GLuint* renderbuffers) {
- GetGLES(context_id)->GenRenderbuffers(n, renderbuffers);
-}
-
-void GenTextures(PP_Resource context_id, GLsizei n, GLuint* textures) {
- GetGLES(context_id)->GenTextures(n, textures);
-}
-
-void GetActiveAttrib(
- PP_Resource context_id, GLuint program, GLuint index, GLsizei bufsize,
- GLsizei* length, GLint* size, GLenum* type, char* name) {
- GetGLES(
- context_id)->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) {
- GetGLES(
- context_id)->GetActiveUniform(
- program, index, bufsize, length, size, type, name);
-}
-
-void GetAttachedShaders(
- PP_Resource context_id, GLuint program, GLsizei maxcount, GLsizei* count,
- GLuint* shaders) {
- GetGLES(context_id)->GetAttachedShaders(program, maxcount, count, shaders);
-}
-
-GLint GetAttribLocation(
- PP_Resource context_id, GLuint program, const char* name) {
- return GetGLES(context_id)->GetAttribLocation(program, name);
-}
-
-void GetBooleanv(PP_Resource context_id, GLenum pname, GLboolean* params) {
- GetGLES(context_id)->GetBooleanv(pname, params);
-}
-
-void GetBufferParameteriv(
- PP_Resource context_id, GLenum target, GLenum pname, GLint* params) {
- GetGLES(context_id)->GetBufferParameteriv(target, pname, params);
-}
-
-GLenum GetError(PP_Resource context_id) {
- return GetGLES(context_id)->GetError();
-}
-
-void GetFloatv(PP_Resource context_id, GLenum pname, GLfloat* params) {
- GetGLES(context_id)->GetFloatv(pname, params);
-}
-
-void GetFramebufferAttachmentParameteriv(
- PP_Resource context_id, GLenum target, GLenum attachment, GLenum pname,
- GLint* params) {
- GetGLES(
- context_id)->GetFramebufferAttachmentParameteriv(
- target, attachment, pname, params);
-}
-
-void GetIntegerv(PP_Resource context_id, GLenum pname, GLint* params) {
- GetGLES(context_id)->GetIntegerv(pname, params);
-}
-
-void GetProgramiv(
- PP_Resource context_id, GLuint program, GLenum pname, GLint* params) {
- GetGLES(context_id)->GetProgramiv(program, pname, params);
-}
-
-void GetProgramInfoLog(
- PP_Resource context_id, GLuint program, GLsizei bufsize, GLsizei* length,
- char* infolog) {
- GetGLES(context_id)->GetProgramInfoLog(program, bufsize, length, infolog);
-}
-
-void GetRenderbufferParameteriv(
- PP_Resource context_id, GLenum target, GLenum pname, GLint* params) {
- GetGLES(context_id)->GetRenderbufferParameteriv(target, pname, params);
-}
-
-void GetShaderiv(
- PP_Resource context_id, GLuint shader, GLenum pname, GLint* params) {
- GetGLES(context_id)->GetShaderiv(shader, pname, params);
-}
-
-void GetShaderInfoLog(
- PP_Resource context_id, GLuint shader, GLsizei bufsize, GLsizei* length,
- char* infolog) {
- GetGLES(context_id)->GetShaderInfoLog(shader, bufsize, length, infolog);
-}
-
-void GetShaderPrecisionFormat(
- PP_Resource context_id, GLenum shadertype, GLenum precisiontype,
- GLint* range, GLint* precision) {
- GetGLES(
- context_id)->GetShaderPrecisionFormat(
- shadertype, precisiontype, range, precision);
-}
-
-void GetShaderSource(
- PP_Resource context_id, GLuint shader, GLsizei bufsize, GLsizei* length,
- char* source) {
- GetGLES(context_id)->GetShaderSource(shader, bufsize, length, source);
-}
-
-const GLubyte* GetString(PP_Resource context_id, GLenum name) {
- return GetGLES(context_id)->GetString(name);
-}
-
-void GetTexParameterfv(
- PP_Resource context_id, GLenum target, GLenum pname, GLfloat* params) {
- GetGLES(context_id)->GetTexParameterfv(target, pname, params);
-}
-
-void GetTexParameteriv(
- PP_Resource context_id, GLenum target, GLenum pname, GLint* params) {
- GetGLES(context_id)->GetTexParameteriv(target, pname, params);
-}
-
-void GetUniformfv(
- PP_Resource context_id, GLuint program, GLint location, GLfloat* params) {
- GetGLES(context_id)->GetUniformfv(program, location, params);
-}
-
-void GetUniformiv(
- PP_Resource context_id, GLuint program, GLint location, GLint* params) {
- GetGLES(context_id)->GetUniformiv(program, location, params);
-}
-
-GLint GetUniformLocation(
- PP_Resource context_id, GLuint program, const char* name) {
- return GetGLES(context_id)->GetUniformLocation(program, name);
-}
-
-void GetVertexAttribfv(
- PP_Resource context_id, GLuint index, GLenum pname, GLfloat* params) {
- GetGLES(context_id)->GetVertexAttribfv(index, pname, params);
-}
-
-void GetVertexAttribiv(
- PP_Resource context_id, GLuint index, GLenum pname, GLint* params) {
- GetGLES(context_id)->GetVertexAttribiv(index, pname, params);
-}
-
-void GetVertexAttribPointerv(
- PP_Resource context_id, GLuint index, GLenum pname, void** pointer) {
- GetGLES(context_id)->GetVertexAttribPointerv(index, pname, pointer);
-}
-
-void Hint(PP_Resource context_id, GLenum target, GLenum mode) {
- GetGLES(context_id)->Hint(target, mode);
-}
-
-GLboolean IsBuffer(PP_Resource context_id, GLuint buffer) {
- return GetGLES(context_id)->IsBuffer(buffer);
-}
-
-GLboolean IsEnabled(PP_Resource context_id, GLenum cap) {
- return GetGLES(context_id)->IsEnabled(cap);
-}
-
-GLboolean IsFramebuffer(PP_Resource context_id, GLuint framebuffer) {
- return GetGLES(context_id)->IsFramebuffer(framebuffer);
-}
-
-GLboolean IsProgram(PP_Resource context_id, GLuint program) {
- return GetGLES(context_id)->IsProgram(program);
-}
-
-GLboolean IsRenderbuffer(PP_Resource context_id, GLuint renderbuffer) {
- return GetGLES(context_id)->IsRenderbuffer(renderbuffer);
-}
-
-GLboolean IsShader(PP_Resource context_id, GLuint shader) {
- return GetGLES(context_id)->IsShader(shader);
-}
-
-GLboolean IsTexture(PP_Resource context_id, GLuint texture) {
- return GetGLES(context_id)->IsTexture(texture);
-}
-
-void LineWidth(PP_Resource context_id, GLfloat width) {
- GetGLES(context_id)->LineWidth(width);
-}
-
-void LinkProgram(PP_Resource context_id, GLuint program) {
- GetGLES(context_id)->LinkProgram(program);
-}
-
-void PixelStorei(PP_Resource context_id, GLenum pname, GLint param) {
- GetGLES(context_id)->PixelStorei(pname, param);
-}
-
-void PolygonOffset(PP_Resource context_id, GLfloat factor, GLfloat units) {
- GetGLES(context_id)->PolygonOffset(factor, units);
-}
-
-void ReadPixels(
- PP_Resource context_id, GLint x, GLint y, GLsizei width, GLsizei height,
- GLenum format, GLenum type, void* pixels) {
- GetGLES(context_id)->ReadPixels(x, y, width, height, format, type, pixels);
-}
-
-void ReleaseShaderCompiler(PP_Resource context_id) {
- GetGLES(context_id)->ReleaseShaderCompiler();
-}
-
-void RenderbufferStorage(
- PP_Resource context_id, GLenum target, GLenum internalformat, GLsizei width,
- GLsizei height) {
- GetGLES(
- context_id)->RenderbufferStorage(target, internalformat, width, height);
-}
-
-void SampleCoverage(PP_Resource context_id, GLclampf value, GLboolean invert) {
- GetGLES(context_id)->SampleCoverage(value, invert);
-}
-
-void Scissor(
- PP_Resource context_id, GLint x, GLint y, GLsizei width, GLsizei height) {
- GetGLES(context_id)->Scissor(x, y, width, height);
-}
-
-void ShaderBinary(
- PP_Resource context_id, GLsizei n, const GLuint* shaders,
- GLenum binaryformat, const void* binary, GLsizei length) {
- GetGLES(context_id)->ShaderBinary(n, shaders, binaryformat, binary, length);
-}
-
-void ShaderSource(
- PP_Resource context_id, GLuint shader, GLsizei count, const char** str,
- const GLint* length) {
- GetGLES(context_id)->ShaderSource(shader, count, str, length);
-}
-
-void StencilFunc(PP_Resource context_id, GLenum func, GLint ref, GLuint mask) {
- GetGLES(context_id)->StencilFunc(func, ref, mask);
-}
-
-void StencilFuncSeparate(
- PP_Resource context_id, GLenum face, GLenum func, GLint ref, GLuint mask) {
- GetGLES(context_id)->StencilFuncSeparate(face, func, ref, mask);
-}
-
-void StencilMask(PP_Resource context_id, GLuint mask) {
- GetGLES(context_id)->StencilMask(mask);
-}
-
-void StencilMaskSeparate(PP_Resource context_id, GLenum face, GLuint mask) {
- GetGLES(context_id)->StencilMaskSeparate(face, mask);
-}
-
-void StencilOp(
- PP_Resource context_id, GLenum fail, GLenum zfail, GLenum zpass) {
- GetGLES(context_id)->StencilOp(fail, zfail, zpass);
-}
-
-void StencilOpSeparate(
- PP_Resource context_id, GLenum face, GLenum fail, GLenum zfail,
- GLenum zpass) {
- GetGLES(context_id)->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) {
- GetGLES(
- context_id)->TexImage2D(
- target, level, internalformat, width, height, border, format, type,
- pixels);
-}
-
-void TexParameterf(
- PP_Resource context_id, GLenum target, GLenum pname, GLfloat param) {
- GetGLES(context_id)->TexParameterf(target, pname, param);
-}
-
-void TexParameterfv(
- PP_Resource context_id, GLenum target, GLenum pname,
- const GLfloat* params) {
- GetGLES(context_id)->TexParameterfv(target, pname, params);
-}
-
-void TexParameteri(
- PP_Resource context_id, GLenum target, GLenum pname, GLint param) {
- GetGLES(context_id)->TexParameteri(target, pname, param);
-}
-
-void TexParameteriv(
- PP_Resource context_id, GLenum target, GLenum pname, const GLint* params) {
- GetGLES(context_id)->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) {
- GetGLES(
- context_id)->TexSubImage2D(
- target, level, xoffset, yoffset, width, height, format, type,
- pixels);
-}
-
-void Uniform1f(PP_Resource context_id, GLint location, GLfloat x) {
- GetGLES(context_id)->Uniform1f(location, x);
-}
-
-void Uniform1fv(
- PP_Resource context_id, GLint location, GLsizei count, const GLfloat* v) {
- GetGLES(context_id)->Uniform1fv(location, count, v);
-}
-
-void Uniform1i(PP_Resource context_id, GLint location, GLint x) {
- GetGLES(context_id)->Uniform1i(location, x);
-}
-
-void Uniform1iv(
- PP_Resource context_id, GLint location, GLsizei count, const GLint* v) {
- GetGLES(context_id)->Uniform1iv(location, count, v);
-}
-
-void Uniform2f(PP_Resource context_id, GLint location, GLfloat x, GLfloat y) {
- GetGLES(context_id)->Uniform2f(location, x, y);
-}
-
-void Uniform2fv(
- PP_Resource context_id, GLint location, GLsizei count, const GLfloat* v) {
- GetGLES(context_id)->Uniform2fv(location, count, v);
-}
-
-void Uniform2i(PP_Resource context_id, GLint location, GLint x, GLint y) {
- GetGLES(context_id)->Uniform2i(location, x, y);
-}
-
-void Uniform2iv(
- PP_Resource context_id, GLint location, GLsizei count, const GLint* v) {
- GetGLES(context_id)->Uniform2iv(location, count, v);
-}
-
-void Uniform3f(
- PP_Resource context_id, GLint location, GLfloat x, GLfloat y, GLfloat z) {
- GetGLES(context_id)->Uniform3f(location, x, y, z);
-}
-
-void Uniform3fv(
- PP_Resource context_id, GLint location, GLsizei count, const GLfloat* v) {
- GetGLES(context_id)->Uniform3fv(location, count, v);
-}
-
-void Uniform3i(
- PP_Resource context_id, GLint location, GLint x, GLint y, GLint z) {
- GetGLES(context_id)->Uniform3i(location, x, y, z);
-}
-
-void Uniform3iv(
- PP_Resource context_id, GLint location, GLsizei count, const GLint* v) {
- GetGLES(context_id)->Uniform3iv(location, count, v);
-}
-
-void Uniform4f(
- PP_Resource context_id, GLint location, GLfloat x, GLfloat y, GLfloat z,
- GLfloat w) {
- GetGLES(context_id)->Uniform4f(location, x, y, z, w);
-}
-
-void Uniform4fv(
- PP_Resource context_id, GLint location, GLsizei count, const GLfloat* v) {
- GetGLES(context_id)->Uniform4fv(location, count, v);
-}
-
-void Uniform4i(
- PP_Resource context_id, GLint location, GLint x, GLint y, GLint z,
- GLint w) {
- GetGLES(context_id)->Uniform4i(location, x, y, z, w);
-}
-
-void Uniform4iv(
- PP_Resource context_id, GLint location, GLsizei count, const GLint* v) {
- GetGLES(context_id)->Uniform4iv(location, count, v);
-}
-
-void UniformMatrix2fv(
- PP_Resource context_id, GLint location, GLsizei count, GLboolean transpose,
- const GLfloat* value) {
- GetGLES(context_id)->UniformMatrix2fv(location, count, transpose, value);
-}
-
-void UniformMatrix3fv(
- PP_Resource context_id, GLint location, GLsizei count, GLboolean transpose,
- const GLfloat* value) {
- GetGLES(context_id)->UniformMatrix3fv(location, count, transpose, value);
-}
-
-void UniformMatrix4fv(
- PP_Resource context_id, GLint location, GLsizei count, GLboolean transpose,
- const GLfloat* value) {
- GetGLES(context_id)->UniformMatrix4fv(location, count, transpose, value);
-}
-
-void UseProgram(PP_Resource context_id, GLuint program) {
- GetGLES(context_id)->UseProgram(program);
-}
-
-void ValidateProgram(PP_Resource context_id, GLuint program) {
- GetGLES(context_id)->ValidateProgram(program);
-}
-
-void VertexAttrib1f(PP_Resource context_id, GLuint indx, GLfloat x) {
- GetGLES(context_id)->VertexAttrib1f(indx, x);
-}
-
-void VertexAttrib1fv(
- PP_Resource context_id, GLuint indx, const GLfloat* values) {
- GetGLES(context_id)->VertexAttrib1fv(indx, values);
-}
-
-void VertexAttrib2f(
- PP_Resource context_id, GLuint indx, GLfloat x, GLfloat y) {
- GetGLES(context_id)->VertexAttrib2f(indx, x, y);
-}
-
-void VertexAttrib2fv(
- PP_Resource context_id, GLuint indx, const GLfloat* values) {
- GetGLES(context_id)->VertexAttrib2fv(indx, values);
-}
-
-void VertexAttrib3f(
- PP_Resource context_id, GLuint indx, GLfloat x, GLfloat y, GLfloat z) {
- GetGLES(context_id)->VertexAttrib3f(indx, x, y, z);
-}
-
-void VertexAttrib3fv(
- PP_Resource context_id, GLuint indx, const GLfloat* values) {
- GetGLES(context_id)->VertexAttrib3fv(indx, values);
-}
-
-void VertexAttrib4f(
- PP_Resource context_id, GLuint indx, GLfloat x, GLfloat y, GLfloat z,
- GLfloat w) {
- GetGLES(context_id)->VertexAttrib4f(indx, x, y, z, w);
-}
-
-void VertexAttrib4fv(
- PP_Resource context_id, GLuint indx, const GLfloat* values) {
- GetGLES(context_id)->VertexAttrib4fv(indx, values);
-}
-
-void VertexAttribPointer(
- PP_Resource context_id, GLuint indx, GLint size, GLenum type,
- GLboolean normalized, GLsizei stride, const void* ptr) {
- GetGLES(
- context_id)->VertexAttribPointer(
- indx, size, type, normalized, stride, ptr);
-}
-
-void Viewport(
- PP_Resource context_id, GLint x, GLint y, GLsizei width, GLsizei height) {
- GetGLES(context_id)->Viewport(x, y, width, height);
-}
-
-const struct PPB_OpenGLES2_Dev opengles2_interface = {
- &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
-};
-
-
InterfaceProxy* CreateOpenGLES2Proxy(Dispatcher* dispatcher,
const void* target_interface) {
return new PPB_OpenGLES2_Proxy(dispatcher, target_interface);
}
-
} // namespace
PPB_OpenGLES2_Proxy::PPB_OpenGLES2_Proxy(Dispatcher* dispatcher,
@@ -914,7 +27,7 @@ PPB_OpenGLES2_Proxy::~PPB_OpenGLES2_Proxy() {
// static
const InterfaceProxy::Info* PPB_OpenGLES2_Proxy::GetInfo() {
static const Info info = {
- &opengles2_interface,
+ ppapi::OpenGLES2Impl::GetInterface(),
PPB_OPENGLES2_DEV_INTERFACE,
INTERFACE_ID_PPB_OPENGLES2,
false,
diff --git a/ppapi/proxy/ppb_opengles2_proxy.h b/ppapi/proxy/ppb_opengles2_proxy.h
index d4ea6f9..9388f4c 100644
--- a/ppapi/proxy/ppb_opengles2_proxy.h
+++ b/ppapi/proxy/ppb_opengles2_proxy.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -19,14 +19,12 @@ class PPB_OpenGLES2_Proxy : public InterfaceProxy {
static const Info* GetInfo();
- const PPB_OpenGLES2_Dev* ppb_gles2_target() const {
+ const PPB_OpenGLES2_Dev* ppb_opengles2_target() const {
return reinterpret_cast<const PPB_OpenGLES2_Dev*>(target_interface());
}
// InterfaceProxy implementation.
virtual bool OnMessageReceived(const IPC::Message& msg);
-
- private:
};
} // namespace proxy
diff --git a/ppapi/shared_impl/opengles2_impl.cc b/ppapi/shared_impl/opengles2_impl.cc
new file mode 100644
index 0000000..d79fb10
--- /dev/null
+++ b/ppapi/shared_impl/opengles2_impl.cc
@@ -0,0 +1,904 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// This file is auto-generated from
+// gpu/command_buffer/build_gles2_cmd_buffer.py
+// DO NOT EDIT!
+
+#include "ppapi/shared_impl/opengles2_impl.h"
+
+#include "base/logging.h"
+#include "gpu/command_buffer/client/gles2_implementation.h"
+#include "ppapi/shared_impl/graphics_3d_impl.h"
+#include "ppapi/thunk/enter.h"
+#include "ppapi/thunk/ppb_context_3d_api.h"
+
+namespace ppapi {
+
+namespace {
+
+gpu::gles2::GLES2Implementation* GetGLES(PP_Resource context) {
+ thunk::EnterResource<thunk::PPB_Graphics3D_API> enter_g3d(context, false);
+ if (enter_g3d.succeeded()) {
+ return static_cast<Graphics3DImpl*>(enter_g3d.object())->gles2_impl();
+ } else {
+ thunk::EnterResource<thunk::PPB_Context3D_API> enter_c3d(context, true);
+ DCHECK(enter_c3d.succeeded());
+ return enter_c3d.object()->GetGLES2Impl();
+ }
+}
+
+void ActiveTexture(PP_Resource context_id, GLenum texture) {
+ GetGLES(context_id)->ActiveTexture(texture);
+}
+
+void AttachShader(PP_Resource context_id, GLuint program, GLuint shader) {
+ GetGLES(context_id)->AttachShader(program, shader);
+}
+
+void BindAttribLocation(
+ PP_Resource context_id, GLuint program, GLuint index, const char* name) {
+ GetGLES(context_id)->BindAttribLocation(program, index, name);
+}
+
+void BindBuffer(PP_Resource context_id, GLenum target, GLuint buffer) {
+ GetGLES(context_id)->BindBuffer(target, buffer);
+}
+
+void BindFramebuffer(
+ PP_Resource context_id, GLenum target, GLuint framebuffer) {
+ GetGLES(context_id)->BindFramebuffer(target, framebuffer);
+}
+
+void BindRenderbuffer(
+ PP_Resource context_id, GLenum target, GLuint renderbuffer) {
+ GetGLES(context_id)->BindRenderbuffer(target, renderbuffer);
+}
+
+void BindTexture(PP_Resource context_id, GLenum target, GLuint texture) {
+ GetGLES(context_id)->BindTexture(target, texture);
+}
+
+void BlendColor(
+ PP_Resource context_id, GLclampf red, GLclampf green, GLclampf blue,
+ GLclampf alpha) {
+ GetGLES(context_id)->BlendColor(red, green, blue, alpha);
+}
+
+void BlendEquation(PP_Resource context_id, GLenum mode) {
+ GetGLES(context_id)->BlendEquation(mode);
+}
+
+void BlendEquationSeparate(
+ PP_Resource context_id, GLenum modeRGB, GLenum modeAlpha) {
+ GetGLES(context_id)->BlendEquationSeparate(modeRGB, modeAlpha);
+}
+
+void BlendFunc(PP_Resource context_id, GLenum sfactor, GLenum dfactor) {
+ GetGLES(context_id)->BlendFunc(sfactor, dfactor);
+}
+
+void BlendFuncSeparate(
+ PP_Resource context_id, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha,
+ GLenum dstAlpha) {
+ GetGLES(context_id)->BlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha);
+}
+
+void BufferData(
+ PP_Resource context_id, GLenum target, GLsizeiptr size, const void* data,
+ GLenum usage) {
+ GetGLES(context_id)->BufferData(target, size, data, usage);
+}
+
+void BufferSubData(
+ PP_Resource context_id, GLenum target, GLintptr offset, GLsizeiptr size,
+ const void* data) {
+ GetGLES(context_id)->BufferSubData(target, offset, size, data);
+}
+
+GLenum CheckFramebufferStatus(PP_Resource context_id, GLenum target) {
+ return GetGLES(context_id)->CheckFramebufferStatus(target);
+}
+
+void Clear(PP_Resource context_id, GLbitfield mask) {
+ GetGLES(context_id)->Clear(mask);
+}
+
+void ClearColor(
+ PP_Resource context_id, GLclampf red, GLclampf green, GLclampf blue,
+ GLclampf alpha) {
+ GetGLES(context_id)->ClearColor(red, green, blue, alpha);
+}
+
+void ClearDepthf(PP_Resource context_id, GLclampf depth) {
+ GetGLES(context_id)->ClearDepthf(depth);
+}
+
+void ClearStencil(PP_Resource context_id, GLint s) {
+ GetGLES(context_id)->ClearStencil(s);
+}
+
+void ColorMask(
+ PP_Resource context_id, GLboolean red, GLboolean green, GLboolean blue,
+ GLboolean alpha) {
+ GetGLES(context_id)->ColorMask(red, green, blue, alpha);
+}
+
+void CompileShader(PP_Resource context_id, GLuint shader) {
+ GetGLES(context_id)->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) {
+ GetGLES(
+ context_id)->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) {
+ GetGLES(
+ context_id)->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) {
+ GetGLES(
+ context_id)->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) {
+ GetGLES(
+ context_id)->CopyTexSubImage2D(
+ target, level, xoffset, yoffset, x, y, width, height);
+}
+
+GLuint CreateProgram(PP_Resource context_id) {
+ return GetGLES(context_id)->CreateProgram();
+}
+
+GLuint CreateShader(PP_Resource context_id, GLenum type) {
+ return GetGLES(context_id)->CreateShader(type);
+}
+
+void CullFace(PP_Resource context_id, GLenum mode) {
+ GetGLES(context_id)->CullFace(mode);
+}
+
+void DeleteBuffers(PP_Resource context_id, GLsizei n, const GLuint* buffers) {
+ GetGLES(context_id)->DeleteBuffers(n, buffers);
+}
+
+void DeleteFramebuffers(
+ PP_Resource context_id, GLsizei n, const GLuint* framebuffers) {
+ GetGLES(context_id)->DeleteFramebuffers(n, framebuffers);
+}
+
+void DeleteProgram(PP_Resource context_id, GLuint program) {
+ GetGLES(context_id)->DeleteProgram(program);
+}
+
+void DeleteRenderbuffers(
+ PP_Resource context_id, GLsizei n, const GLuint* renderbuffers) {
+ GetGLES(context_id)->DeleteRenderbuffers(n, renderbuffers);
+}
+
+void DeleteShader(PP_Resource context_id, GLuint shader) {
+ GetGLES(context_id)->DeleteShader(shader);
+}
+
+void DeleteTextures(
+ PP_Resource context_id, GLsizei n, const GLuint* textures) {
+ GetGLES(context_id)->DeleteTextures(n, textures);
+}
+
+void DepthFunc(PP_Resource context_id, GLenum func) {
+ GetGLES(context_id)->DepthFunc(func);
+}
+
+void DepthMask(PP_Resource context_id, GLboolean flag) {
+ GetGLES(context_id)->DepthMask(flag);
+}
+
+void DepthRangef(PP_Resource context_id, GLclampf zNear, GLclampf zFar) {
+ GetGLES(context_id)->DepthRangef(zNear, zFar);
+}
+
+void DetachShader(PP_Resource context_id, GLuint program, GLuint shader) {
+ GetGLES(context_id)->DetachShader(program, shader);
+}
+
+void Disable(PP_Resource context_id, GLenum cap) {
+ GetGLES(context_id)->Disable(cap);
+}
+
+void DisableVertexAttribArray(PP_Resource context_id, GLuint index) {
+ GetGLES(context_id)->DisableVertexAttribArray(index);
+}
+
+void DrawArrays(
+ PP_Resource context_id, GLenum mode, GLint first, GLsizei count) {
+ GetGLES(context_id)->DrawArrays(mode, first, count);
+}
+
+void DrawElements(
+ PP_Resource context_id, GLenum mode, GLsizei count, GLenum type,
+ const void* indices) {
+ GetGLES(context_id)->DrawElements(mode, count, type, indices);
+}
+
+void Enable(PP_Resource context_id, GLenum cap) {
+ GetGLES(context_id)->Enable(cap);
+}
+
+void EnableVertexAttribArray(PP_Resource context_id, GLuint index) {
+ GetGLES(context_id)->EnableVertexAttribArray(index);
+}
+
+void Finish(PP_Resource context_id) {
+ GetGLES(context_id)->Finish();
+}
+
+void Flush(PP_Resource context_id) {
+ GetGLES(context_id)->Flush();
+}
+
+void FramebufferRenderbuffer(
+ PP_Resource context_id, GLenum target, GLenum attachment,
+ GLenum renderbuffertarget, GLuint renderbuffer) {
+ GetGLES(
+ context_id)->FramebufferRenderbuffer(
+ target, attachment, renderbuffertarget, renderbuffer);
+}
+
+void FramebufferTexture2D(
+ PP_Resource context_id, GLenum target, GLenum attachment, GLenum textarget,
+ GLuint texture, GLint level) {
+ GetGLES(
+ context_id)->FramebufferTexture2D(
+ target, attachment, textarget, texture, level);
+}
+
+void FrontFace(PP_Resource context_id, GLenum mode) {
+ GetGLES(context_id)->FrontFace(mode);
+}
+
+void GenBuffers(PP_Resource context_id, GLsizei n, GLuint* buffers) {
+ GetGLES(context_id)->GenBuffers(n, buffers);
+}
+
+void GenerateMipmap(PP_Resource context_id, GLenum target) {
+ GetGLES(context_id)->GenerateMipmap(target);
+}
+
+void GenFramebuffers(PP_Resource context_id, GLsizei n, GLuint* framebuffers) {
+ GetGLES(context_id)->GenFramebuffers(n, framebuffers);
+}
+
+void GenRenderbuffers(
+ PP_Resource context_id, GLsizei n, GLuint* renderbuffers) {
+ GetGLES(context_id)->GenRenderbuffers(n, renderbuffers);
+}
+
+void GenTextures(PP_Resource context_id, GLsizei n, GLuint* textures) {
+ GetGLES(context_id)->GenTextures(n, textures);
+}
+
+void GetActiveAttrib(
+ PP_Resource context_id, GLuint program, GLuint index, GLsizei bufsize,
+ GLsizei* length, GLint* size, GLenum* type, char* name) {
+ GetGLES(
+ context_id)->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) {
+ GetGLES(
+ context_id)->GetActiveUniform(
+ program, index, bufsize, length, size, type, name);
+}
+
+void GetAttachedShaders(
+ PP_Resource context_id, GLuint program, GLsizei maxcount, GLsizei* count,
+ GLuint* shaders) {
+ GetGLES(context_id)->GetAttachedShaders(program, maxcount, count, shaders);
+}
+
+GLint GetAttribLocation(
+ PP_Resource context_id, GLuint program, const char* name) {
+ return GetGLES(context_id)->GetAttribLocation(program, name);
+}
+
+void GetBooleanv(PP_Resource context_id, GLenum pname, GLboolean* params) {
+ GetGLES(context_id)->GetBooleanv(pname, params);
+}
+
+void GetBufferParameteriv(
+ PP_Resource context_id, GLenum target, GLenum pname, GLint* params) {
+ GetGLES(context_id)->GetBufferParameteriv(target, pname, params);
+}
+
+GLenum GetError(PP_Resource context_id) {
+ return GetGLES(context_id)->GetError();
+}
+
+void GetFloatv(PP_Resource context_id, GLenum pname, GLfloat* params) {
+ GetGLES(context_id)->GetFloatv(pname, params);
+}
+
+void GetFramebufferAttachmentParameteriv(
+ PP_Resource context_id, GLenum target, GLenum attachment, GLenum pname,
+ GLint* params) {
+ GetGLES(
+ context_id)->GetFramebufferAttachmentParameteriv(
+ target, attachment, pname, params);
+}
+
+void GetIntegerv(PP_Resource context_id, GLenum pname, GLint* params) {
+ GetGLES(context_id)->GetIntegerv(pname, params);
+}
+
+void GetProgramiv(
+ PP_Resource context_id, GLuint program, GLenum pname, GLint* params) {
+ GetGLES(context_id)->GetProgramiv(program, pname, params);
+}
+
+void GetProgramInfoLog(
+ PP_Resource context_id, GLuint program, GLsizei bufsize, GLsizei* length,
+ char* infolog) {
+ GetGLES(context_id)->GetProgramInfoLog(program, bufsize, length, infolog);
+}
+
+void GetRenderbufferParameteriv(
+ PP_Resource context_id, GLenum target, GLenum pname, GLint* params) {
+ GetGLES(context_id)->GetRenderbufferParameteriv(target, pname, params);
+}
+
+void GetShaderiv(
+ PP_Resource context_id, GLuint shader, GLenum pname, GLint* params) {
+ GetGLES(context_id)->GetShaderiv(shader, pname, params);
+}
+
+void GetShaderInfoLog(
+ PP_Resource context_id, GLuint shader, GLsizei bufsize, GLsizei* length,
+ char* infolog) {
+ GetGLES(context_id)->GetShaderInfoLog(shader, bufsize, length, infolog);
+}
+
+void GetShaderPrecisionFormat(
+ PP_Resource context_id, GLenum shadertype, GLenum precisiontype,
+ GLint* range, GLint* precision) {
+ GetGLES(
+ context_id)->GetShaderPrecisionFormat(
+ shadertype, precisiontype, range, precision);
+}
+
+void GetShaderSource(
+ PP_Resource context_id, GLuint shader, GLsizei bufsize, GLsizei* length,
+ char* source) {
+ GetGLES(context_id)->GetShaderSource(shader, bufsize, length, source);
+}
+
+const GLubyte* GetString(PP_Resource context_id, GLenum name) {
+ return GetGLES(context_id)->GetString(name);
+}
+
+void GetTexParameterfv(
+ PP_Resource context_id, GLenum target, GLenum pname, GLfloat* params) {
+ GetGLES(context_id)->GetTexParameterfv(target, pname, params);
+}
+
+void GetTexParameteriv(
+ PP_Resource context_id, GLenum target, GLenum pname, GLint* params) {
+ GetGLES(context_id)->GetTexParameteriv(target, pname, params);
+}
+
+void GetUniformfv(
+ PP_Resource context_id, GLuint program, GLint location, GLfloat* params) {
+ GetGLES(context_id)->GetUniformfv(program, location, params);
+}
+
+void GetUniformiv(
+ PP_Resource context_id, GLuint program, GLint location, GLint* params) {
+ GetGLES(context_id)->GetUniformiv(program, location, params);
+}
+
+GLint GetUniformLocation(
+ PP_Resource context_id, GLuint program, const char* name) {
+ return GetGLES(context_id)->GetUniformLocation(program, name);
+}
+
+void GetVertexAttribfv(
+ PP_Resource context_id, GLuint index, GLenum pname, GLfloat* params) {
+ GetGLES(context_id)->GetVertexAttribfv(index, pname, params);
+}
+
+void GetVertexAttribiv(
+ PP_Resource context_id, GLuint index, GLenum pname, GLint* params) {
+ GetGLES(context_id)->GetVertexAttribiv(index, pname, params);
+}
+
+void GetVertexAttribPointerv(
+ PP_Resource context_id, GLuint index, GLenum pname, void** pointer) {
+ GetGLES(context_id)->GetVertexAttribPointerv(index, pname, pointer);
+}
+
+void Hint(PP_Resource context_id, GLenum target, GLenum mode) {
+ GetGLES(context_id)->Hint(target, mode);
+}
+
+GLboolean IsBuffer(PP_Resource context_id, GLuint buffer) {
+ return GetGLES(context_id)->IsBuffer(buffer);
+}
+
+GLboolean IsEnabled(PP_Resource context_id, GLenum cap) {
+ return GetGLES(context_id)->IsEnabled(cap);
+}
+
+GLboolean IsFramebuffer(PP_Resource context_id, GLuint framebuffer) {
+ return GetGLES(context_id)->IsFramebuffer(framebuffer);
+}
+
+GLboolean IsProgram(PP_Resource context_id, GLuint program) {
+ return GetGLES(context_id)->IsProgram(program);
+}
+
+GLboolean IsRenderbuffer(PP_Resource context_id, GLuint renderbuffer) {
+ return GetGLES(context_id)->IsRenderbuffer(renderbuffer);
+}
+
+GLboolean IsShader(PP_Resource context_id, GLuint shader) {
+ return GetGLES(context_id)->IsShader(shader);
+}
+
+GLboolean IsTexture(PP_Resource context_id, GLuint texture) {
+ return GetGLES(context_id)->IsTexture(texture);
+}
+
+void LineWidth(PP_Resource context_id, GLfloat width) {
+ GetGLES(context_id)->LineWidth(width);
+}
+
+void LinkProgram(PP_Resource context_id, GLuint program) {
+ GetGLES(context_id)->LinkProgram(program);
+}
+
+void PixelStorei(PP_Resource context_id, GLenum pname, GLint param) {
+ GetGLES(context_id)->PixelStorei(pname, param);
+}
+
+void PolygonOffset(PP_Resource context_id, GLfloat factor, GLfloat units) {
+ GetGLES(context_id)->PolygonOffset(factor, units);
+}
+
+void ReadPixels(
+ PP_Resource context_id, GLint x, GLint y, GLsizei width, GLsizei height,
+ GLenum format, GLenum type, void* pixels) {
+ GetGLES(context_id)->ReadPixels(x, y, width, height, format, type, pixels);
+}
+
+void ReleaseShaderCompiler(PP_Resource context_id) {
+ GetGLES(context_id)->ReleaseShaderCompiler();
+}
+
+void RenderbufferStorage(
+ PP_Resource context_id, GLenum target, GLenum internalformat, GLsizei width,
+ GLsizei height) {
+ GetGLES(
+ context_id)->RenderbufferStorage(target, internalformat, width, height);
+}
+
+void SampleCoverage(PP_Resource context_id, GLclampf value, GLboolean invert) {
+ GetGLES(context_id)->SampleCoverage(value, invert);
+}
+
+void Scissor(
+ PP_Resource context_id, GLint x, GLint y, GLsizei width, GLsizei height) {
+ GetGLES(context_id)->Scissor(x, y, width, height);
+}
+
+void ShaderBinary(
+ PP_Resource context_id, GLsizei n, const GLuint* shaders,
+ GLenum binaryformat, const void* binary, GLsizei length) {
+ GetGLES(context_id)->ShaderBinary(n, shaders, binaryformat, binary, length);
+}
+
+void ShaderSource(
+ PP_Resource context_id, GLuint shader, GLsizei count, const char** str,
+ const GLint* length) {
+ GetGLES(context_id)->ShaderSource(shader, count, str, length);
+}
+
+void StencilFunc(PP_Resource context_id, GLenum func, GLint ref, GLuint mask) {
+ GetGLES(context_id)->StencilFunc(func, ref, mask);
+}
+
+void StencilFuncSeparate(
+ PP_Resource context_id, GLenum face, GLenum func, GLint ref, GLuint mask) {
+ GetGLES(context_id)->StencilFuncSeparate(face, func, ref, mask);
+}
+
+void StencilMask(PP_Resource context_id, GLuint mask) {
+ GetGLES(context_id)->StencilMask(mask);
+}
+
+void StencilMaskSeparate(PP_Resource context_id, GLenum face, GLuint mask) {
+ GetGLES(context_id)->StencilMaskSeparate(face, mask);
+}
+
+void StencilOp(
+ PP_Resource context_id, GLenum fail, GLenum zfail, GLenum zpass) {
+ GetGLES(context_id)->StencilOp(fail, zfail, zpass);
+}
+
+void StencilOpSeparate(
+ PP_Resource context_id, GLenum face, GLenum fail, GLenum zfail,
+ GLenum zpass) {
+ GetGLES(context_id)->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) {
+ GetGLES(
+ context_id)->TexImage2D(
+ target, level, internalformat, width, height, border, format, type,
+ pixels);
+}
+
+void TexParameterf(
+ PP_Resource context_id, GLenum target, GLenum pname, GLfloat param) {
+ GetGLES(context_id)->TexParameterf(target, pname, param);
+}
+
+void TexParameterfv(
+ PP_Resource context_id, GLenum target, GLenum pname,
+ const GLfloat* params) {
+ GetGLES(context_id)->TexParameterfv(target, pname, params);
+}
+
+void TexParameteri(
+ PP_Resource context_id, GLenum target, GLenum pname, GLint param) {
+ GetGLES(context_id)->TexParameteri(target, pname, param);
+}
+
+void TexParameteriv(
+ PP_Resource context_id, GLenum target, GLenum pname, const GLint* params) {
+ GetGLES(context_id)->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) {
+ GetGLES(
+ context_id)->TexSubImage2D(
+ target, level, xoffset, yoffset, width, height, format, type,
+ pixels);
+}
+
+void Uniform1f(PP_Resource context_id, GLint location, GLfloat x) {
+ GetGLES(context_id)->Uniform1f(location, x);
+}
+
+void Uniform1fv(
+ PP_Resource context_id, GLint location, GLsizei count, const GLfloat* v) {
+ GetGLES(context_id)->Uniform1fv(location, count, v);
+}
+
+void Uniform1i(PP_Resource context_id, GLint location, GLint x) {
+ GetGLES(context_id)->Uniform1i(location, x);
+}
+
+void Uniform1iv(
+ PP_Resource context_id, GLint location, GLsizei count, const GLint* v) {
+ GetGLES(context_id)->Uniform1iv(location, count, v);
+}
+
+void Uniform2f(PP_Resource context_id, GLint location, GLfloat x, GLfloat y) {
+ GetGLES(context_id)->Uniform2f(location, x, y);
+}
+
+void Uniform2fv(
+ PP_Resource context_id, GLint location, GLsizei count, const GLfloat* v) {
+ GetGLES(context_id)->Uniform2fv(location, count, v);
+}
+
+void Uniform2i(PP_Resource context_id, GLint location, GLint x, GLint y) {
+ GetGLES(context_id)->Uniform2i(location, x, y);
+}
+
+void Uniform2iv(
+ PP_Resource context_id, GLint location, GLsizei count, const GLint* v) {
+ GetGLES(context_id)->Uniform2iv(location, count, v);
+}
+
+void Uniform3f(
+ PP_Resource context_id, GLint location, GLfloat x, GLfloat y, GLfloat z) {
+ GetGLES(context_id)->Uniform3f(location, x, y, z);
+}
+
+void Uniform3fv(
+ PP_Resource context_id, GLint location, GLsizei count, const GLfloat* v) {
+ GetGLES(context_id)->Uniform3fv(location, count, v);
+}
+
+void Uniform3i(
+ PP_Resource context_id, GLint location, GLint x, GLint y, GLint z) {
+ GetGLES(context_id)->Uniform3i(location, x, y, z);
+}
+
+void Uniform3iv(
+ PP_Resource context_id, GLint location, GLsizei count, const GLint* v) {
+ GetGLES(context_id)->Uniform3iv(location, count, v);
+}
+
+void Uniform4f(
+ PP_Resource context_id, GLint location, GLfloat x, GLfloat y, GLfloat z,
+ GLfloat w) {
+ GetGLES(context_id)->Uniform4f(location, x, y, z, w);
+}
+
+void Uniform4fv(
+ PP_Resource context_id, GLint location, GLsizei count, const GLfloat* v) {
+ GetGLES(context_id)->Uniform4fv(location, count, v);
+}
+
+void Uniform4i(
+ PP_Resource context_id, GLint location, GLint x, GLint y, GLint z,
+ GLint w) {
+ GetGLES(context_id)->Uniform4i(location, x, y, z, w);
+}
+
+void Uniform4iv(
+ PP_Resource context_id, GLint location, GLsizei count, const GLint* v) {
+ GetGLES(context_id)->Uniform4iv(location, count, v);
+}
+
+void UniformMatrix2fv(
+ PP_Resource context_id, GLint location, GLsizei count, GLboolean transpose,
+ const GLfloat* value) {
+ GetGLES(context_id)->UniformMatrix2fv(location, count, transpose, value);
+}
+
+void UniformMatrix3fv(
+ PP_Resource context_id, GLint location, GLsizei count, GLboolean transpose,
+ const GLfloat* value) {
+ GetGLES(context_id)->UniformMatrix3fv(location, count, transpose, value);
+}
+
+void UniformMatrix4fv(
+ PP_Resource context_id, GLint location, GLsizei count, GLboolean transpose,
+ const GLfloat* value) {
+ GetGLES(context_id)->UniformMatrix4fv(location, count, transpose, value);
+}
+
+void UseProgram(PP_Resource context_id, GLuint program) {
+ GetGLES(context_id)->UseProgram(program);
+}
+
+void ValidateProgram(PP_Resource context_id, GLuint program) {
+ GetGLES(context_id)->ValidateProgram(program);
+}
+
+void VertexAttrib1f(PP_Resource context_id, GLuint indx, GLfloat x) {
+ GetGLES(context_id)->VertexAttrib1f(indx, x);
+}
+
+void VertexAttrib1fv(
+ PP_Resource context_id, GLuint indx, const GLfloat* values) {
+ GetGLES(context_id)->VertexAttrib1fv(indx, values);
+}
+
+void VertexAttrib2f(
+ PP_Resource context_id, GLuint indx, GLfloat x, GLfloat y) {
+ GetGLES(context_id)->VertexAttrib2f(indx, x, y);
+}
+
+void VertexAttrib2fv(
+ PP_Resource context_id, GLuint indx, const GLfloat* values) {
+ GetGLES(context_id)->VertexAttrib2fv(indx, values);
+}
+
+void VertexAttrib3f(
+ PP_Resource context_id, GLuint indx, GLfloat x, GLfloat y, GLfloat z) {
+ GetGLES(context_id)->VertexAttrib3f(indx, x, y, z);
+}
+
+void VertexAttrib3fv(
+ PP_Resource context_id, GLuint indx, const GLfloat* values) {
+ GetGLES(context_id)->VertexAttrib3fv(indx, values);
+}
+
+void VertexAttrib4f(
+ PP_Resource context_id, GLuint indx, GLfloat x, GLfloat y, GLfloat z,
+ GLfloat w) {
+ GetGLES(context_id)->VertexAttrib4f(indx, x, y, z, w);
+}
+
+void VertexAttrib4fv(
+ PP_Resource context_id, GLuint indx, const GLfloat* values) {
+ GetGLES(context_id)->VertexAttrib4fv(indx, values);
+}
+
+void VertexAttribPointer(
+ PP_Resource context_id, GLuint indx, GLint size, GLenum type,
+ GLboolean normalized, GLsizei stride, const void* ptr) {
+ GetGLES(
+ context_id)->VertexAttribPointer(
+ indx, size, type, normalized, stride, ptr);
+}
+
+void Viewport(
+ PP_Resource context_id, GLint x, GLint y, GLsizei width, GLsizei height) {
+ GetGLES(context_id)->Viewport(x, y, width, height);
+}
+
+
+const struct PPB_OpenGLES2_Dev 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
+};
+
+} // namespace
+
+const PPB_OpenGLES2_Dev* OpenGLES2Impl::GetInterface() {
+ return &ppb_opengles2;
+}
+
+} // namespace ppapi
diff --git a/ppapi/shared_impl/opengles2_impl.h b/ppapi/shared_impl/opengles2_impl.h
new file mode 100644
index 0000000..6284a42
--- /dev/null
+++ b/ppapi/shared_impl/opengles2_impl.h
@@ -0,0 +1,20 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef PPAPI_SHARED_IMPL_OPENGLES2_IMPL_H_
+#define PPAPI_SHARED_IMPL_OPENGLES2_IMPL_H_
+
+#include "ppapi/c/dev/ppb_opengles_dev.h"
+
+namespace ppapi {
+
+class OpenGLES2Impl {
+ public:
+ static const PPB_OpenGLES2_Dev* GetInterface();
+};
+
+} // namespace ppapi
+
+#endif // PPAPI_SHARED_IMPL_OPENGLES2_IMPL_H_
+
diff --git a/ppapi/thunk/ppb_context_3d_api.h b/ppapi/thunk/ppb_context_3d_api.h
index a89e0c8..feeba89 100644
--- a/ppapi/thunk/ppb_context_3d_api.h
+++ b/ppapi/thunk/ppb_context_3d_api.h
@@ -9,6 +9,12 @@
#include "ppapi/c/dev/ppb_context_3d_trusted_dev.h"
#include "ppapi/c/dev/ppb_gles_chromium_texture_mapping_dev.h"
+namespace gpu {
+namespace gles2 {
+class GLES2Implementation;
+} // namespace gles2
+} // namespace gpu
+
namespace ppapi {
namespace thunk {
@@ -47,6 +53,9 @@ class PPB_Context3D_API {
GLenum type,
GLenum access) = 0;
virtual void UnmapTexSubImage2DCHROMIUM(const void* mem) = 0;
+
+ // For binding with OpenGLES interface.
+ virtual gpu::gles2::GLES2Implementation* GetGLES2Impl() = 0;
};
} // namespace thunk
diff --git a/webkit/plugins/ppapi/ppapi_plugin_instance.cc b/webkit/plugins/ppapi/ppapi_plugin_instance.cc
index 3261ec2..3163a1c 100644
--- a/webkit/plugins/ppapi/ppapi_plugin_instance.cc
+++ b/webkit/plugins/ppapi/ppapi_plugin_instance.cc
@@ -55,6 +55,7 @@
#include "webkit/plugins/ppapi/plugin_object.h"
#include "webkit/plugins/ppapi/ppb_buffer_impl.h"
#include "webkit/plugins/ppapi/ppb_graphics_2d_impl.h"
+#include "webkit/plugins/ppapi/ppb_graphics_3d_impl.h"
#include "webkit/plugins/ppapi/ppb_image_data_impl.h"
#include "webkit/plugins/ppapi/ppb_input_event_impl.h"
#include "webkit/plugins/ppapi/ppb_surface_3d_impl.h"
@@ -89,6 +90,7 @@
using ppapi::thunk::EnterResourceNoLock;
using ppapi::thunk::PPB_Buffer_API;
using ppapi::thunk::PPB_Graphics2D_API;
+using ppapi::thunk::PPB_Graphics3D_API;
using ppapi::thunk::PPB_ImageData_API;
using ppapi::thunk::PPB_Instance_FunctionAPI;
using ppapi::thunk::PPB_Surface3D_API;
@@ -286,8 +288,8 @@ void PluginInstance::Paint(WebCanvas* canvas,
return;
}
- if (bound_graphics_2d())
- bound_graphics_2d()->Paint(canvas, plugin_rect, paint_rect);
+ if (GetBoundGraphics2D())
+ GetBoundGraphics2D()->Paint(canvas, plugin_rect, paint_rect);
}
void PluginInstance::InvalidateRect(const gfx::Rect& rect) {
@@ -321,10 +323,12 @@ void PluginInstance::ScrollRect(int dx, int dy, const gfx::Rect& rect) {
}
unsigned PluginInstance::GetBackingTextureId() {
- if (!bound_graphics_3d())
- return 0;
+ if (GetBoundGraphics3D())
+ return GetBoundGraphics3D()->GetBackingTextureId();
+ else if (GetBoundSurface3D())
+ return GetBoundSurface3D()->GetBackingTextureId();
- return bound_graphics_3d()->GetBackingTextureId();
+ return 0;
}
void PluginInstance::CommitBackingTexture() {
@@ -546,19 +550,23 @@ void PluginInstance::SetContentAreaFocus(bool has_focus) {
}
void PluginInstance::ViewInitiatedPaint() {
- if (bound_graphics_2d())
- bound_graphics_2d()->ViewInitiatedPaint();
- if (bound_graphics_3d())
- bound_graphics_3d()->ViewInitiatedPaint();
+ if (GetBoundGraphics2D())
+ GetBoundGraphics2D()->ViewInitiatedPaint();
+ else if (GetBoundGraphics3D())
+ GetBoundGraphics3D()->ViewInitiatedPaint();
+ else if (GetBoundSurface3D())
+ GetBoundSurface3D()->ViewInitiatedPaint();
}
void PluginInstance::ViewFlushedPaint() {
// Keep a reference on the stack. See NOTE above.
scoped_refptr<PluginInstance> ref(this);
- if (bound_graphics_2d())
- bound_graphics_2d()->ViewFlushedPaint();
- if (bound_graphics_3d())
- bound_graphics_3d()->ViewFlushedPaint();
+ if (GetBoundGraphics2D())
+ GetBoundGraphics2D()->ViewFlushedPaint();
+ else if (GetBoundGraphics3D())
+ GetBoundGraphics3D()->ViewFlushedPaint();
+ else if (GetBoundSurface3D())
+ GetBoundSurface3D()->ViewFlushedPaint();
}
bool PluginInstance::GetBitmapForOptimizedPluginPaint(
@@ -568,13 +576,13 @@ bool PluginInstance::GetBitmapForOptimizedPluginPaint(
gfx::Rect* clip) {
if (!always_on_top_)
return false;
- if (!bound_graphics_2d() || !bound_graphics_2d()->is_always_opaque())
+ if (!GetBoundGraphics2D() || !GetBoundGraphics2D()->is_always_opaque())
return false;
// We specifically want to compare against the area covered by the backing
// store when seeing if we cover the given paint bounds, since the backing
// store could be smaller than the declared plugin area.
- PPB_ImageData_Impl* image_data = bound_graphics_2d()->image_data();
+ PPB_ImageData_Impl* image_data = GetBoundGraphics2D()->image_data();
gfx::Rect plugin_backing_store_rect(position_.origin(),
gfx::Size(image_data->width(),
image_data->height()));
@@ -1260,7 +1268,7 @@ void PluginInstance::DrawSkBitmapToCanvas(
}
#endif // defined(OS_MACOSX) && !defined(USE_SKIA)
-PPB_Graphics2D_Impl* PluginInstance::bound_graphics_2d() const {
+PPB_Graphics2D_Impl* PluginInstance::GetBoundGraphics2D() const {
if (bound_graphics_.get() == NULL)
return NULL;
@@ -1269,7 +1277,16 @@ PPB_Graphics2D_Impl* PluginInstance::bound_graphics_2d() const {
return NULL;
}
-PPB_Surface3D_Impl* PluginInstance::bound_graphics_3d() const {
+PPB_Graphics3D_Impl* PluginInstance::GetBoundGraphics3D() const {
+ if (bound_graphics_.get() == NULL)
+ return NULL;
+
+ if (bound_graphics_->AsPPB_Graphics3D_API())
+ return static_cast<PPB_Graphics3D_Impl*>(bound_graphics_.get());
+ return NULL;
+}
+
+PPB_Surface3D_Impl* PluginInstance::GetBoundSurface3D() const {
if (bound_graphics_.get() == NULL)
return NULL;
@@ -1345,33 +1362,38 @@ PPB_Instance_FunctionAPI* PluginInstance::AsPPB_Instance_FunctionAPI() {
PP_Bool PluginInstance::BindGraphics(PP_Instance instance,
PP_Resource device) {
if (bound_graphics_.get()) {
- if (bound_graphics_2d()) {
- bound_graphics_2d()->BindToInstance(NULL);
- } else if (bound_graphics_.get()) {
- bound_graphics_3d()->BindToInstance(false);
- }
- // Special-case clearing the current device.
- if (!device) {
- setBackingTextureId(0);
- InvalidateRect(gfx::Rect());
+ if (GetBoundGraphics2D()) {
+ GetBoundGraphics2D()->BindToInstance(NULL);
+ } else if (GetBoundGraphics3D()) {
+ GetBoundGraphics3D()->BindToInstance(false);
+ } else if (GetBoundSurface3D()) {
+ GetBoundSurface3D()->BindToInstance(false);
}
+ bound_graphics_ = NULL;
}
- bound_graphics_ = NULL;
- if (!device)
+ // Special-case clearing the current device.
+ if (!device) {
+ setBackingTextureId(0);
+ InvalidateRect(gfx::Rect());
return PP_TRUE;
+ }
+
+ // Refuse to bind if we're transitioning to fullscreen.
+ if (fullscreen_container_ && !fullscreen_)
+ return PP_FALSE;
EnterResourceNoLock<PPB_Graphics2D_API> enter_2d(device, false);
PPB_Graphics2D_Impl* graphics_2d = enter_2d.succeeded() ?
static_cast<PPB_Graphics2D_Impl*>(enter_2d.object()) : NULL;
- EnterResourceNoLock<PPB_Surface3D_API> enter_3d(device, false);
- PPB_Surface3D_Impl* graphics_3d = enter_3d.succeeded() ?
- static_cast<PPB_Surface3D_Impl*>(enter_3d.object()) : NULL;
+ EnterResourceNoLock<PPB_Graphics3D_API> enter_3d(device, false);
+ PPB_Graphics3D_Impl* graphics_3d = enter_3d.succeeded() ?
+ static_cast<PPB_Graphics3D_Impl*>(enter_3d.object()) : NULL;
+ EnterResourceNoLock<PPB_Surface3D_API> enter_surface_3d(device, false);
+ PPB_Surface3D_Impl* surface_3d = enter_surface_3d.succeeded() ?
+ static_cast<PPB_Surface3D_Impl*>(enter_surface_3d.object()) : NULL;
if (graphics_2d) {
- // Refuse to bind if we're transitioning to fullscreen.
- if (fullscreen_container_ && !fullscreen_)
- return PP_FALSE;
if (graphics_2d->instance() != this)
return PP_FALSE; // Can't bind other instance's contexts.
if (!graphics_2d->BindToInstance(this))
@@ -1381,9 +1403,6 @@ PP_Bool PluginInstance::BindGraphics(PP_Instance instance,
setBackingTextureId(0);
// BindToInstance will have invalidated the plugin if necessary.
} else if (graphics_3d) {
- // Refuse to bind if we're transitioning to fullscreen.
- if (fullscreen_container_ && !fullscreen_)
- return PP_FALSE;
// Make sure graphics can only be bound to the instance it is
// associated with.
if (graphics_3d->instance() != this)
@@ -1391,8 +1410,18 @@ PP_Bool PluginInstance::BindGraphics(PP_Instance instance,
if (!graphics_3d->BindToInstance(true))
return PP_FALSE;
- setBackingTextureId(graphics_3d->GetBackingTextureId());
bound_graphics_ = graphics_3d;
+ setBackingTextureId(graphics_3d->GetBackingTextureId());
+ } else if (surface_3d) {
+ // Make sure graphics can only be bound to the instance it is
+ // associated with.
+ if (surface_3d->instance() != this)
+ return PP_FALSE;
+ if (!surface_3d->BindToInstance(true))
+ return PP_FALSE;
+
+ bound_graphics_ = surface_3d;
+ setBackingTextureId(surface_3d->GetBackingTextureId());
} else {
// The device is not a valid resource type.
return PP_FALSE;
diff --git a/webkit/plugins/ppapi/ppapi_plugin_instance.h b/webkit/plugins/ppapi/ppapi_plugin_instance.h
index d284580..c122ada 100644
--- a/webkit/plugins/ppapi/ppapi_plugin_instance.h
+++ b/webkit/plugins/ppapi/ppapi_plugin_instance.h
@@ -70,6 +70,7 @@ class PluginDelegate;
class PluginModule;
class PluginObject;
class PPB_Graphics2D_Impl;
+class PPB_Graphics3D_Impl;
class PPB_ImageData_Impl;
class PPB_Surface3D_Impl;
class PPB_URLLoader_Impl;
@@ -330,11 +331,16 @@ class PluginInstance : public base::RefCounted<PluginInstance>,
// Get the bound graphics context as a concrete 2D graphics context or returns
// null if the context is not 2D.
- PPB_Graphics2D_Impl* bound_graphics_2d() const;
+ PPB_Graphics2D_Impl* GetBoundGraphics2D() const;
+ // Get the bound 3D graphics context.
+ // Returns NULL if bound graphics is not a 3D context.
+ PPB_Graphics3D_Impl* GetBoundGraphics3D() const;
+
+ // DEPRECATED: PPB_Surface3D_Impl is being replaced with PPB_Graphics3D_Impl.
// Get the bound 3D graphics surface.
// Returns NULL if bound graphics is not a 3D surface.
- PPB_Surface3D_Impl* bound_graphics_3d() const;
+ PPB_Surface3D_Impl* GetBoundSurface3D() const;
// Sets the id of the texture that the plugin draws to. The id is in the
// compositor space so it can use it to composite with rest of the page.
diff --git a/webkit/plugins/ppapi/ppb_context_3d_impl.cc b/webkit/plugins/ppapi/ppb_context_3d_impl.cc
index e4384b4..6014bde 100644
--- a/webkit/plugins/ppapi/ppb_context_3d_impl.cc
+++ b/webkit/plugins/ppapi/ppb_context_3d_impl.cc
@@ -266,6 +266,10 @@ void PPB_Context3D_Impl::UnmapTexSubImage2DCHROMIUM(const void* mem) {
gles2_impl_->UnmapTexSubImage2DCHROMIUM(mem);
}
+gpu::gles2::GLES2Implementation* PPB_Context3D_Impl::GetGLES2Impl() {
+ return gles2_impl();
+}
+
bool PPB_Context3D_Impl::Init(PP_Config3D_Dev config,
PP_Resource share_context,
const int32_t* attrib_list) {
diff --git a/webkit/plugins/ppapi/ppb_context_3d_impl.h b/webkit/plugins/ppapi/ppb_context_3d_impl.h
index c64a7d6..4bdbe21 100644
--- a/webkit/plugins/ppapi/ppb_context_3d_impl.h
+++ b/webkit/plugins/ppapi/ppb_context_3d_impl.h
@@ -72,6 +72,7 @@ class PPB_Context3D_Impl : public Resource,
GLenum type,
GLenum access) OVERRIDE;
virtual void UnmapTexSubImage2DCHROMIUM(const void* mem) OVERRIDE;
+ virtual gpu::gles2::GLES2Implementation* GetGLES2Impl() OVERRIDE;
int32_t BindSurfacesImpl(PPB_Surface3D_Impl* draw, PPB_Surface3D_Impl* read);
diff --git a/webkit/plugins/ppapi/ppb_graphics_3d_impl.cc b/webkit/plugins/ppapi/ppb_graphics_3d_impl.cc
index 1c6c66b..e38d66c 100644
--- a/webkit/plugins/ppapi/ppb_graphics_3d_impl.cc
+++ b/webkit/plugins/ppapi/ppb_graphics_3d_impl.cc
@@ -141,6 +141,12 @@ PP_Graphics3DTrustedState PPB_Graphics3D_Impl::FlushSyncFast(
bool PPB_Graphics3D_Impl::BindToInstance(bool bind) {
bound_to_instance_ = bind;
+ if (bind && gles2_impl()) {
+ // Resize the backing texture to the size of the instance when it is bound.
+ // TODO(alokp): This should be the responsibility of plugins.
+ const gfx::Size& size = instance()->position().size();
+ gles2_impl()->ResizeCHROMIUM(size.width(), size.height());
+ }
return true;
}
diff --git a/webkit/plugins/ppapi/ppb_opengles_impl.cc b/webkit/plugins/ppapi/ppb_opengles_impl.cc
index 3183e27..3744a5d 100644
--- a/webkit/plugins/ppapi/ppb_opengles_impl.cc
+++ b/webkit/plugins/ppapi/ppb_opengles_impl.cc
@@ -2,902 +2,15 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-// This file is auto-generated from
-// gpu/command_buffer/build_gles2_cmd_buffer.py
-// DO NOT EDIT!
-
#include "webkit/plugins/ppapi/ppb_opengles_impl.h"
-#include "gpu/command_buffer/client/gles2_implementation.h"
-#include "ppapi/c/dev/ppb_opengles_dev.h"
-#include "ppapi/shared_impl/resource_object_base.h"
-#include "ppapi/shared_impl/tracker_base.h"
-#include "webkit/plugins/ppapi/ppb_context_3d_impl.h"
-
-using ppapi::ResourceObjectBase;
-using ppapi::TrackerBase;
+#include "ppapi/shared_impl/opengles2_impl.h"
namespace webkit {
namespace ppapi {
-namespace {
-
-gpu::gles2::GLES2Implementation* GetGLES(PP_Resource context) {
- ResourceObjectBase* base = TrackerBase::Get()->GetResourceAPI(context);
- DCHECK(base->AsPPB_Context3D_API());
- return static_cast<PPB_Context3D_Impl*>(base)->gles2_impl();
-}
-
-void ActiveTexture(PP_Resource context_id, GLenum texture) {
- GetGLES(context_id)->ActiveTexture(texture);
-}
-
-void AttachShader(PP_Resource context_id, GLuint program, GLuint shader) {
- GetGLES(context_id)->AttachShader(program, shader);
-}
-
-void BindAttribLocation(
- PP_Resource context_id, GLuint program, GLuint index, const char* name) {
- GetGLES(context_id)->BindAttribLocation(program, index, name);
-}
-
-void BindBuffer(PP_Resource context_id, GLenum target, GLuint buffer) {
- GetGLES(context_id)->BindBuffer(target, buffer);
-}
-
-void BindFramebuffer(
- PP_Resource context_id, GLenum target, GLuint framebuffer) {
- GetGLES(context_id)->BindFramebuffer(target, framebuffer);
-}
-
-void BindRenderbuffer(
- PP_Resource context_id, GLenum target, GLuint renderbuffer) {
- GetGLES(context_id)->BindRenderbuffer(target, renderbuffer);
-}
-
-void BindTexture(PP_Resource context_id, GLenum target, GLuint texture) {
- GetGLES(context_id)->BindTexture(target, texture);
-}
-
-void BlendColor(
- PP_Resource context_id, GLclampf red, GLclampf green, GLclampf blue,
- GLclampf alpha) {
- GetGLES(context_id)->BlendColor(red, green, blue, alpha);
-}
-
-void BlendEquation(PP_Resource context_id, GLenum mode) {
- GetGLES(context_id)->BlendEquation(mode);
-}
-
-void BlendEquationSeparate(
- PP_Resource context_id, GLenum modeRGB, GLenum modeAlpha) {
- GetGLES(context_id)->BlendEquationSeparate(modeRGB, modeAlpha);
-}
-
-void BlendFunc(PP_Resource context_id, GLenum sfactor, GLenum dfactor) {
- GetGLES(context_id)->BlendFunc(sfactor, dfactor);
-}
-
-void BlendFuncSeparate(
- PP_Resource context_id, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha,
- GLenum dstAlpha) {
- GetGLES(context_id)->BlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha);
-}
-
-void BufferData(
- PP_Resource context_id, GLenum target, GLsizeiptr size, const void* data,
- GLenum usage) {
- GetGLES(context_id)->BufferData(target, size, data, usage);
-}
-
-void BufferSubData(
- PP_Resource context_id, GLenum target, GLintptr offset, GLsizeiptr size,
- const void* data) {
- GetGLES(context_id)->BufferSubData(target, offset, size, data);
-}
-
-GLenum CheckFramebufferStatus(PP_Resource context_id, GLenum target) {
- return GetGLES(context_id)->CheckFramebufferStatus(target);
-}
-
-void Clear(PP_Resource context_id, GLbitfield mask) {
- GetGLES(context_id)->Clear(mask);
-}
-
-void ClearColor(
- PP_Resource context_id, GLclampf red, GLclampf green, GLclampf blue,
- GLclampf alpha) {
- GetGLES(context_id)->ClearColor(red, green, blue, alpha);
-}
-
-void ClearDepthf(PP_Resource context_id, GLclampf depth) {
- GetGLES(context_id)->ClearDepthf(depth);
-}
-
-void ClearStencil(PP_Resource context_id, GLint s) {
- GetGLES(context_id)->ClearStencil(s);
-}
-
-void ColorMask(
- PP_Resource context_id, GLboolean red, GLboolean green, GLboolean blue,
- GLboolean alpha) {
- GetGLES(context_id)->ColorMask(red, green, blue, alpha);
-}
-
-void CompileShader(PP_Resource context_id, GLuint shader) {
- GetGLES(context_id)->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) {
- GetGLES(
- context_id)->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) {
- GetGLES(
- context_id)->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) {
- GetGLES(
- context_id)->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) {
- GetGLES(
- context_id)->CopyTexSubImage2D(
- target, level, xoffset, yoffset, x, y, width, height);
-}
-
-GLuint CreateProgram(PP_Resource context_id) {
- return GetGLES(context_id)->CreateProgram();
-}
-
-GLuint CreateShader(PP_Resource context_id, GLenum type) {
- return GetGLES(context_id)->CreateShader(type);
-}
-
-void CullFace(PP_Resource context_id, GLenum mode) {
- GetGLES(context_id)->CullFace(mode);
-}
-
-void DeleteBuffers(PP_Resource context_id, GLsizei n, const GLuint* buffers) {
- GetGLES(context_id)->DeleteBuffers(n, buffers);
-}
-
-void DeleteFramebuffers(
- PP_Resource context_id, GLsizei n, const GLuint* framebuffers) {
- GetGLES(context_id)->DeleteFramebuffers(n, framebuffers);
-}
-
-void DeleteProgram(PP_Resource context_id, GLuint program) {
- GetGLES(context_id)->DeleteProgram(program);
-}
-
-void DeleteRenderbuffers(
- PP_Resource context_id, GLsizei n, const GLuint* renderbuffers) {
- GetGLES(context_id)->DeleteRenderbuffers(n, renderbuffers);
-}
-
-void DeleteShader(PP_Resource context_id, GLuint shader) {
- GetGLES(context_id)->DeleteShader(shader);
-}
-
-void DeleteTextures(
- PP_Resource context_id, GLsizei n, const GLuint* textures) {
- GetGLES(context_id)->DeleteTextures(n, textures);
-}
-
-void DepthFunc(PP_Resource context_id, GLenum func) {
- GetGLES(context_id)->DepthFunc(func);
-}
-
-void DepthMask(PP_Resource context_id, GLboolean flag) {
- GetGLES(context_id)->DepthMask(flag);
-}
-
-void DepthRangef(PP_Resource context_id, GLclampf zNear, GLclampf zFar) {
- GetGLES(context_id)->DepthRangef(zNear, zFar);
-}
-
-void DetachShader(PP_Resource context_id, GLuint program, GLuint shader) {
- GetGLES(context_id)->DetachShader(program, shader);
-}
-
-void Disable(PP_Resource context_id, GLenum cap) {
- GetGLES(context_id)->Disable(cap);
-}
-
-void DisableVertexAttribArray(PP_Resource context_id, GLuint index) {
- GetGLES(context_id)->DisableVertexAttribArray(index);
-}
-
-void DrawArrays(
- PP_Resource context_id, GLenum mode, GLint first, GLsizei count) {
- GetGLES(context_id)->DrawArrays(mode, first, count);
-}
-
-void DrawElements(
- PP_Resource context_id, GLenum mode, GLsizei count, GLenum type,
- const void* indices) {
- GetGLES(context_id)->DrawElements(mode, count, type, indices);
-}
-
-void Enable(PP_Resource context_id, GLenum cap) {
- GetGLES(context_id)->Enable(cap);
-}
-
-void EnableVertexAttribArray(PP_Resource context_id, GLuint index) {
- GetGLES(context_id)->EnableVertexAttribArray(index);
-}
-
-void Finish(PP_Resource context_id) {
- GetGLES(context_id)->Finish();
-}
-
-void Flush(PP_Resource context_id) {
- GetGLES(context_id)->Flush();
-}
-
-void FramebufferRenderbuffer(
- PP_Resource context_id, GLenum target, GLenum attachment,
- GLenum renderbuffertarget, GLuint renderbuffer) {
- GetGLES(
- context_id)->FramebufferRenderbuffer(
- target, attachment, renderbuffertarget, renderbuffer);
-}
-
-void FramebufferTexture2D(
- PP_Resource context_id, GLenum target, GLenum attachment, GLenum textarget,
- GLuint texture, GLint level) {
- GetGLES(
- context_id)->FramebufferTexture2D(
- target, attachment, textarget, texture, level);
-}
-
-void FrontFace(PP_Resource context_id, GLenum mode) {
- GetGLES(context_id)->FrontFace(mode);
-}
-
-void GenBuffers(PP_Resource context_id, GLsizei n, GLuint* buffers) {
- GetGLES(context_id)->GenBuffers(n, buffers);
-}
-
-void GenerateMipmap(PP_Resource context_id, GLenum target) {
- GetGLES(context_id)->GenerateMipmap(target);
-}
-
-void GenFramebuffers(PP_Resource context_id, GLsizei n, GLuint* framebuffers) {
- GetGLES(context_id)->GenFramebuffers(n, framebuffers);
-}
-
-void GenRenderbuffers(
- PP_Resource context_id, GLsizei n, GLuint* renderbuffers) {
- GetGLES(context_id)->GenRenderbuffers(n, renderbuffers);
-}
-
-void GenTextures(PP_Resource context_id, GLsizei n, GLuint* textures) {
- GetGLES(context_id)->GenTextures(n, textures);
-}
-
-void GetActiveAttrib(
- PP_Resource context_id, GLuint program, GLuint index, GLsizei bufsize,
- GLsizei* length, GLint* size, GLenum* type, char* name) {
- GetGLES(
- context_id)->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) {
- GetGLES(
- context_id)->GetActiveUniform(
- program, index, bufsize, length, size, type, name);
-}
-
-void GetAttachedShaders(
- PP_Resource context_id, GLuint program, GLsizei maxcount, GLsizei* count,
- GLuint* shaders) {
- GetGLES(context_id)->GetAttachedShaders(program, maxcount, count, shaders);
-}
-
-GLint GetAttribLocation(
- PP_Resource context_id, GLuint program, const char* name) {
- return GetGLES(context_id)->GetAttribLocation(program, name);
-}
-
-void GetBooleanv(PP_Resource context_id, GLenum pname, GLboolean* params) {
- GetGLES(context_id)->GetBooleanv(pname, params);
-}
-
-void GetBufferParameteriv(
- PP_Resource context_id, GLenum target, GLenum pname, GLint* params) {
- GetGLES(context_id)->GetBufferParameteriv(target, pname, params);
-}
-
-GLenum GetError(PP_Resource context_id) {
- return GetGLES(context_id)->GetError();
-}
-
-void GetFloatv(PP_Resource context_id, GLenum pname, GLfloat* params) {
- GetGLES(context_id)->GetFloatv(pname, params);
-}
-
-void GetFramebufferAttachmentParameteriv(
- PP_Resource context_id, GLenum target, GLenum attachment, GLenum pname,
- GLint* params) {
- GetGLES(
- context_id)->GetFramebufferAttachmentParameteriv(
- target, attachment, pname, params);
-}
-
-void GetIntegerv(PP_Resource context_id, GLenum pname, GLint* params) {
- GetGLES(context_id)->GetIntegerv(pname, params);
-}
-
-void GetProgramiv(
- PP_Resource context_id, GLuint program, GLenum pname, GLint* params) {
- GetGLES(context_id)->GetProgramiv(program, pname, params);
-}
-
-void GetProgramInfoLog(
- PP_Resource context_id, GLuint program, GLsizei bufsize, GLsizei* length,
- char* infolog) {
- GetGLES(context_id)->GetProgramInfoLog(program, bufsize, length, infolog);
-}
-
-void GetRenderbufferParameteriv(
- PP_Resource context_id, GLenum target, GLenum pname, GLint* params) {
- GetGLES(context_id)->GetRenderbufferParameteriv(target, pname, params);
-}
-
-void GetShaderiv(
- PP_Resource context_id, GLuint shader, GLenum pname, GLint* params) {
- GetGLES(context_id)->GetShaderiv(shader, pname, params);
-}
-
-void GetShaderInfoLog(
- PP_Resource context_id, GLuint shader, GLsizei bufsize, GLsizei* length,
- char* infolog) {
- GetGLES(context_id)->GetShaderInfoLog(shader, bufsize, length, infolog);
-}
-
-void GetShaderPrecisionFormat(
- PP_Resource context_id, GLenum shadertype, GLenum precisiontype,
- GLint* range, GLint* precision) {
- GetGLES(
- context_id)->GetShaderPrecisionFormat(
- shadertype, precisiontype, range, precision);
-}
-
-void GetShaderSource(
- PP_Resource context_id, GLuint shader, GLsizei bufsize, GLsizei* length,
- char* source) {
- GetGLES(context_id)->GetShaderSource(shader, bufsize, length, source);
-}
-
-const GLubyte* GetString(PP_Resource context_id, GLenum name) {
- return GetGLES(context_id)->GetString(name);
-}
-
-void GetTexParameterfv(
- PP_Resource context_id, GLenum target, GLenum pname, GLfloat* params) {
- GetGLES(context_id)->GetTexParameterfv(target, pname, params);
-}
-
-void GetTexParameteriv(
- PP_Resource context_id, GLenum target, GLenum pname, GLint* params) {
- GetGLES(context_id)->GetTexParameteriv(target, pname, params);
-}
-
-void GetUniformfv(
- PP_Resource context_id, GLuint program, GLint location, GLfloat* params) {
- GetGLES(context_id)->GetUniformfv(program, location, params);
-}
-
-void GetUniformiv(
- PP_Resource context_id, GLuint program, GLint location, GLint* params) {
- GetGLES(context_id)->GetUniformiv(program, location, params);
-}
-
-GLint GetUniformLocation(
- PP_Resource context_id, GLuint program, const char* name) {
- return GetGLES(context_id)->GetUniformLocation(program, name);
-}
-
-void GetVertexAttribfv(
- PP_Resource context_id, GLuint index, GLenum pname, GLfloat* params) {
- GetGLES(context_id)->GetVertexAttribfv(index, pname, params);
-}
-
-void GetVertexAttribiv(
- PP_Resource context_id, GLuint index, GLenum pname, GLint* params) {
- GetGLES(context_id)->GetVertexAttribiv(index, pname, params);
-}
-
-void GetVertexAttribPointerv(
- PP_Resource context_id, GLuint index, GLenum pname, void** pointer) {
- GetGLES(context_id)->GetVertexAttribPointerv(index, pname, pointer);
-}
-
-void Hint(PP_Resource context_id, GLenum target, GLenum mode) {
- GetGLES(context_id)->Hint(target, mode);
-}
-
-GLboolean IsBuffer(PP_Resource context_id, GLuint buffer) {
- return GetGLES(context_id)->IsBuffer(buffer);
-}
-
-GLboolean IsEnabled(PP_Resource context_id, GLenum cap) {
- return GetGLES(context_id)->IsEnabled(cap);
-}
-
-GLboolean IsFramebuffer(PP_Resource context_id, GLuint framebuffer) {
- return GetGLES(context_id)->IsFramebuffer(framebuffer);
-}
-
-GLboolean IsProgram(PP_Resource context_id, GLuint program) {
- return GetGLES(context_id)->IsProgram(program);
-}
-
-GLboolean IsRenderbuffer(PP_Resource context_id, GLuint renderbuffer) {
- return GetGLES(context_id)->IsRenderbuffer(renderbuffer);
-}
-
-GLboolean IsShader(PP_Resource context_id, GLuint shader) {
- return GetGLES(context_id)->IsShader(shader);
-}
-
-GLboolean IsTexture(PP_Resource context_id, GLuint texture) {
- return GetGLES(context_id)->IsTexture(texture);
-}
-
-void LineWidth(PP_Resource context_id, GLfloat width) {
- GetGLES(context_id)->LineWidth(width);
-}
-
-void LinkProgram(PP_Resource context_id, GLuint program) {
- GetGLES(context_id)->LinkProgram(program);
-}
-
-void PixelStorei(PP_Resource context_id, GLenum pname, GLint param) {
- GetGLES(context_id)->PixelStorei(pname, param);
-}
-
-void PolygonOffset(PP_Resource context_id, GLfloat factor, GLfloat units) {
- GetGLES(context_id)->PolygonOffset(factor, units);
-}
-
-void ReadPixels(
- PP_Resource context_id, GLint x, GLint y, GLsizei width, GLsizei height,
- GLenum format, GLenum type, void* pixels) {
- GetGLES(context_id)->ReadPixels(x, y, width, height, format, type, pixels);
-}
-
-void ReleaseShaderCompiler(PP_Resource context_id) {
- GetGLES(context_id)->ReleaseShaderCompiler();
-}
-
-void RenderbufferStorage(
- PP_Resource context_id, GLenum target, GLenum internalformat, GLsizei width,
- GLsizei height) {
- GetGLES(
- context_id)->RenderbufferStorage(target, internalformat, width, height);
-}
-
-void SampleCoverage(PP_Resource context_id, GLclampf value, GLboolean invert) {
- GetGLES(context_id)->SampleCoverage(value, invert);
-}
-
-void Scissor(
- PP_Resource context_id, GLint x, GLint y, GLsizei width, GLsizei height) {
- GetGLES(context_id)->Scissor(x, y, width, height);
-}
-
-void ShaderBinary(
- PP_Resource context_id, GLsizei n, const GLuint* shaders,
- GLenum binaryformat, const void* binary, GLsizei length) {
- GetGLES(context_id)->ShaderBinary(n, shaders, binaryformat, binary, length);
-}
-
-void ShaderSource(
- PP_Resource context_id, GLuint shader, GLsizei count, const char** str,
- const GLint* length) {
- GetGLES(context_id)->ShaderSource(shader, count, str, length);
-}
-
-void StencilFunc(PP_Resource context_id, GLenum func, GLint ref, GLuint mask) {
- GetGLES(context_id)->StencilFunc(func, ref, mask);
-}
-
-void StencilFuncSeparate(
- PP_Resource context_id, GLenum face, GLenum func, GLint ref, GLuint mask) {
- GetGLES(context_id)->StencilFuncSeparate(face, func, ref, mask);
-}
-
-void StencilMask(PP_Resource context_id, GLuint mask) {
- GetGLES(context_id)->StencilMask(mask);
-}
-
-void StencilMaskSeparate(PP_Resource context_id, GLenum face, GLuint mask) {
- GetGLES(context_id)->StencilMaskSeparate(face, mask);
-}
-
-void StencilOp(
- PP_Resource context_id, GLenum fail, GLenum zfail, GLenum zpass) {
- GetGLES(context_id)->StencilOp(fail, zfail, zpass);
-}
-
-void StencilOpSeparate(
- PP_Resource context_id, GLenum face, GLenum fail, GLenum zfail,
- GLenum zpass) {
- GetGLES(context_id)->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) {
- GetGLES(
- context_id)->TexImage2D(
- target, level, internalformat, width, height, border, format, type,
- pixels);
-}
-
-void TexParameterf(
- PP_Resource context_id, GLenum target, GLenum pname, GLfloat param) {
- GetGLES(context_id)->TexParameterf(target, pname, param);
-}
-
-void TexParameterfv(
- PP_Resource context_id, GLenum target, GLenum pname,
- const GLfloat* params) {
- GetGLES(context_id)->TexParameterfv(target, pname, params);
-}
-
-void TexParameteri(
- PP_Resource context_id, GLenum target, GLenum pname, GLint param) {
- GetGLES(context_id)->TexParameteri(target, pname, param);
-}
-
-void TexParameteriv(
- PP_Resource context_id, GLenum target, GLenum pname, const GLint* params) {
- GetGLES(context_id)->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) {
- GetGLES(
- context_id)->TexSubImage2D(
- target, level, xoffset, yoffset, width, height, format, type,
- pixels);
-}
-
-void Uniform1f(PP_Resource context_id, GLint location, GLfloat x) {
- GetGLES(context_id)->Uniform1f(location, x);
-}
-
-void Uniform1fv(
- PP_Resource context_id, GLint location, GLsizei count, const GLfloat* v) {
- GetGLES(context_id)->Uniform1fv(location, count, v);
-}
-
-void Uniform1i(PP_Resource context_id, GLint location, GLint x) {
- GetGLES(context_id)->Uniform1i(location, x);
-}
-
-void Uniform1iv(
- PP_Resource context_id, GLint location, GLsizei count, const GLint* v) {
- GetGLES(context_id)->Uniform1iv(location, count, v);
-}
-
-void Uniform2f(PP_Resource context_id, GLint location, GLfloat x, GLfloat y) {
- GetGLES(context_id)->Uniform2f(location, x, y);
-}
-
-void Uniform2fv(
- PP_Resource context_id, GLint location, GLsizei count, const GLfloat* v) {
- GetGLES(context_id)->Uniform2fv(location, count, v);
-}
-
-void Uniform2i(PP_Resource context_id, GLint location, GLint x, GLint y) {
- GetGLES(context_id)->Uniform2i(location, x, y);
-}
-
-void Uniform2iv(
- PP_Resource context_id, GLint location, GLsizei count, const GLint* v) {
- GetGLES(context_id)->Uniform2iv(location, count, v);
-}
-
-void Uniform3f(
- PP_Resource context_id, GLint location, GLfloat x, GLfloat y, GLfloat z) {
- GetGLES(context_id)->Uniform3f(location, x, y, z);
-}
-
-void Uniform3fv(
- PP_Resource context_id, GLint location, GLsizei count, const GLfloat* v) {
- GetGLES(context_id)->Uniform3fv(location, count, v);
-}
-
-void Uniform3i(
- PP_Resource context_id, GLint location, GLint x, GLint y, GLint z) {
- GetGLES(context_id)->Uniform3i(location, x, y, z);
-}
-
-void Uniform3iv(
- PP_Resource context_id, GLint location, GLsizei count, const GLint* v) {
- GetGLES(context_id)->Uniform3iv(location, count, v);
-}
-
-void Uniform4f(
- PP_Resource context_id, GLint location, GLfloat x, GLfloat y, GLfloat z,
- GLfloat w) {
- GetGLES(context_id)->Uniform4f(location, x, y, z, w);
-}
-
-void Uniform4fv(
- PP_Resource context_id, GLint location, GLsizei count, const GLfloat* v) {
- GetGLES(context_id)->Uniform4fv(location, count, v);
-}
-
-void Uniform4i(
- PP_Resource context_id, GLint location, GLint x, GLint y, GLint z,
- GLint w) {
- GetGLES(context_id)->Uniform4i(location, x, y, z, w);
-}
-
-void Uniform4iv(
- PP_Resource context_id, GLint location, GLsizei count, const GLint* v) {
- GetGLES(context_id)->Uniform4iv(location, count, v);
-}
-
-void UniformMatrix2fv(
- PP_Resource context_id, GLint location, GLsizei count, GLboolean transpose,
- const GLfloat* value) {
- GetGLES(context_id)->UniformMatrix2fv(location, count, transpose, value);
-}
-
-void UniformMatrix3fv(
- PP_Resource context_id, GLint location, GLsizei count, GLboolean transpose,
- const GLfloat* value) {
- GetGLES(context_id)->UniformMatrix3fv(location, count, transpose, value);
-}
-
-void UniformMatrix4fv(
- PP_Resource context_id, GLint location, GLsizei count, GLboolean transpose,
- const GLfloat* value) {
- GetGLES(context_id)->UniformMatrix4fv(location, count, transpose, value);
-}
-
-void UseProgram(PP_Resource context_id, GLuint program) {
- GetGLES(context_id)->UseProgram(program);
-}
-
-void ValidateProgram(PP_Resource context_id, GLuint program) {
- GetGLES(context_id)->ValidateProgram(program);
-}
-
-void VertexAttrib1f(PP_Resource context_id, GLuint indx, GLfloat x) {
- GetGLES(context_id)->VertexAttrib1f(indx, x);
-}
-
-void VertexAttrib1fv(
- PP_Resource context_id, GLuint indx, const GLfloat* values) {
- GetGLES(context_id)->VertexAttrib1fv(indx, values);
-}
-
-void VertexAttrib2f(
- PP_Resource context_id, GLuint indx, GLfloat x, GLfloat y) {
- GetGLES(context_id)->VertexAttrib2f(indx, x, y);
-}
-
-void VertexAttrib2fv(
- PP_Resource context_id, GLuint indx, const GLfloat* values) {
- GetGLES(context_id)->VertexAttrib2fv(indx, values);
-}
-
-void VertexAttrib3f(
- PP_Resource context_id, GLuint indx, GLfloat x, GLfloat y, GLfloat z) {
- GetGLES(context_id)->VertexAttrib3f(indx, x, y, z);
-}
-
-void VertexAttrib3fv(
- PP_Resource context_id, GLuint indx, const GLfloat* values) {
- GetGLES(context_id)->VertexAttrib3fv(indx, values);
-}
-
-void VertexAttrib4f(
- PP_Resource context_id, GLuint indx, GLfloat x, GLfloat y, GLfloat z,
- GLfloat w) {
- GetGLES(context_id)->VertexAttrib4f(indx, x, y, z, w);
-}
-
-void VertexAttrib4fv(
- PP_Resource context_id, GLuint indx, const GLfloat* values) {
- GetGLES(context_id)->VertexAttrib4fv(indx, values);
-}
-
-void VertexAttribPointer(
- PP_Resource context_id, GLuint indx, GLint size, GLenum type,
- GLboolean normalized, GLsizei stride, const void* ptr) {
- GetGLES(
- context_id)->VertexAttribPointer(
- indx, size, type, normalized, stride, ptr);
-}
-
-void Viewport(
- PP_Resource context_id, GLint x, GLint y, GLsizei width, GLsizei height) {
- GetGLES(context_id)->Viewport(x, y, width, height);
-}
-
-
-const struct PPB_OpenGLES2_Dev 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
-};
-
-} // namespace
-
const PPB_OpenGLES2_Dev* PPB_OpenGLES_Impl::GetInterface() {
- return &ppb_opengles2;
+ return ::ppapi::OpenGLES2Impl::GetInterface();
}
} // namespace ppapi