Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(186)

Unified Diff: ppapi/native_client/src/shared/ppapi_proxy/plugin_opengles.cc

Issue 9420017: Add Pepper support for several GL extensions (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix build_gles2_cmd_buffer Created 8 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ppapi/native_client/src/shared/ppapi_proxy/plugin_opengles.cc
diff --git a/ppapi/native_client/src/shared/ppapi_proxy/plugin_opengles.cc b/ppapi/native_client/src/shared/ppapi_proxy/plugin_opengles.cc
index 9d47004e0d7b6738ab1bd5386cd3e5fcf94f8c1b..0a61662c3349e6d18e2bd1f420680f5de43c7f9a 100644
--- a/ppapi/native_client/src/shared/ppapi_proxy/plugin_opengles.cc
+++ b/ppapi/native_client/src/shared/ppapi_proxy/plugin_opengles.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 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.
@@ -629,6 +629,65 @@ void Viewport(
PP_Resource context, GLint x, GLint y, GLsizei width, GLsizei height) {
PluginGraphics3D::implFromResource(context)->Viewport(x, y, width, height);
}
+void BlitFramebufferEXT(
+ PP_Resource context, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1,
+ GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask,
+ GLenum filter) {
+ PluginGraphics3D::implFromResource(
+ context)->BlitFramebufferEXT(
+ srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask,
+ filter);
+}
+void RenderbufferStorageMultisampleEXT(
+ PP_Resource context, GLenum target, GLsizei samples, GLenum internalformat,
+ GLsizei width, GLsizei height) {
+ PluginGraphics3D::implFromResource(
+ context)->RenderbufferStorageMultisampleEXT(
+ target, samples, internalformat, width, height);
+}
+GLboolean EnableFeatureCHROMIUM(PP_Resource context, const char* feature) {
+ return PluginGraphics3D::implFromResource(
+ context)->EnableFeatureCHROMIUM(feature);
+}
+void* MapBufferSubDataCHROMIUM(
+ PP_Resource context, GLuint target, GLintptr offset, GLsizeiptr size,
+ GLenum access) {
+ return PluginGraphics3D::implFromResource(
+ context)->MapBufferSubDataCHROMIUM(target, offset, size, access);
+}
+void UnmapBufferSubDataCHROMIUM(PP_Resource context, const void* mem) {
+ PluginGraphics3D::implFromResource(context)->UnmapBufferSubDataCHROMIUM(mem);
+}
+void* MapTexSubImage2DCHROMIUM(
+ PP_Resource context, GLenum target, GLint level, GLint xoffset,
+ GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type,
+ GLenum access) {
+ return PluginGraphics3D::implFromResource(
+ context)->MapTexSubImage2DCHROMIUM(
+ target, level, xoffset, yoffset, width, height, format, type,
+ access);
+}
+void UnmapTexSubImage2DCHROMIUM(PP_Resource context, const void* mem) {
+ PluginGraphics3D::implFromResource(context)->UnmapTexSubImage2DCHROMIUM(mem);
+}
+void DrawArraysInstancedANGLE(
+ PP_Resource context, GLenum mode, GLint first, GLsizei count,
+ GLsizei primcount) {
+ PluginGraphics3D::implFromResource(
+ context)->DrawArraysInstancedANGLE(mode, first, count, primcount);
+}
+void DrawElementsInstancedANGLE(
+ PP_Resource context, GLenum mode, GLsizei count, GLenum type,
+ const void* indices, GLsizei primcount) {
+ PluginGraphics3D::implFromResource(
+ context)->DrawElementsInstancedANGLE(
+ mode, count, type, indices, primcount);
+}
+void VertexAttribDivisorANGLE(
+ PP_Resource context, GLuint index, GLuint divisor) {
+ PluginGraphics3D::implFromResource(
+ context)->VertexAttribDivisorANGLE(index, divisor);
+}
} // namespace
@@ -779,3 +838,43 @@ const PPB_OpenGLES2* PluginGraphics3D::GetOpenGLESInterface() {
};
return &ppb_opengles;
}
+const PPB_OpenGLES2InstancedArrays_Dev*
+ PluginGraphics3D::GetOpenGLESInstancedArraysInterface() {
+ const static struct PPB_OpenGLES2InstancedArrays_Dev ppb_opengles = {
+ &DrawArraysInstancedANGLE,
+ &DrawElementsInstancedANGLE,
+ &VertexAttribDivisorANGLE
+ };
+ return &ppb_opengles;
+}
+const PPB_OpenGLES2FramebufferBlit_Dev*
+ PluginGraphics3D::GetOpenGLESFramebufferBlitInterface() {
+ const static struct PPB_OpenGLES2FramebufferBlit_Dev ppb_opengles = {
+ &BlitFramebufferEXT
+ };
+ return &ppb_opengles;
+}
+const PPB_OpenGLES2FramebufferMultisample_Dev*
+ PluginGraphics3D::GetOpenGLESFramebufferMultisampleInterface() {
+ const static struct PPB_OpenGLES2FramebufferMultisample_Dev ppb_opengles = {
+ &RenderbufferStorageMultisampleEXT
+ };
+ return &ppb_opengles;
+}
+const PPB_OpenGLES2ChromiumEnableFeature_Dev*
+ PluginGraphics3D::GetOpenGLESChromiumEnableFeatureInterface() {
+ const static struct PPB_OpenGLES2ChromiumEnableFeature_Dev ppb_opengles = {
+ &EnableFeatureCHROMIUM
+ };
+ return &ppb_opengles;
+}
+const PPB_OpenGLES2ChromiumMapSub_Dev*
+ PluginGraphics3D::GetOpenGLESChromiumMapSubInterface() {
+ const static struct PPB_OpenGLES2ChromiumMapSub_Dev ppb_opengles = {
+ &MapBufferSubDataCHROMIUM,
+ &UnmapBufferSubDataCHROMIUM,
+ &MapTexSubImage2DCHROMIUM,
+ &UnmapTexSubImage2DCHROMIUM
+ };
+ return &ppb_opengles;
+}

Powered by Google App Engine
This is Rietveld 408576698