summaryrefslogtreecommitdiffstats
path: root/ppapi/lib
diff options
context:
space:
mode:
authorzork@chromium.org <zork@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-17 11:14:08 +0000
committerzork@chromium.org <zork@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-17 11:14:08 +0000
commit078a18885570c144487ef89eacd0cfa44ea95139 (patch)
treed26390b79909ee8ef2ed92ac0e4437b5484e85ea /ppapi/lib
parent3d4807a6c12ae94ea7d03c17ab943d43f4b1e326 (diff)
downloadchromium_src-078a18885570c144487ef89eacd0cfa44ea95139.zip
chromium_src-078a18885570c144487ef89eacd0cfa44ea95139.tar.gz
chromium_src-078a18885570c144487ef89eacd0cfa44ea95139.tar.bz2
Add PPAPI interface for OpenGL ES 2.0 Vertex Array Objects.
BUG=72612,370496 Review URL: https://codereview.chromium.org/397183002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@283750 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/lib')
-rw-r--r--ppapi/lib/gl/gles2/gl2ext_ppapi.c11
-rw-r--r--ppapi/lib/gl/gles2/gl2ext_ppapi.h2
-rw-r--r--ppapi/lib/gl/gles2/gles2.c29
3 files changed, 42 insertions, 0 deletions
diff --git a/ppapi/lib/gl/gles2/gl2ext_ppapi.c b/ppapi/lib/gl/gles2/gl2ext_ppapi.c
index e5872b5..c37f41a 100644
--- a/ppapi/lib/gl/gles2/gl2ext_ppapi.c
+++ b/ppapi/lib/gl/gles2/gl2ext_ppapi.c
@@ -38,6 +38,8 @@ static const struct PPB_OpenGLES2ChromiumMapSub*
g_gles2_chromium_map_sub_interface = NULL;
static const struct PPB_OpenGLES2Query*
g_gles2_query_interface = NULL;
+static const struct PPB_OpenGLES2VertexArrayObject*
+ g_gles2_vertex_array_object_interface = NULL;
static const struct PPB_OpenGLES2DrawBuffers_Dev*
g_gles2_draw_buffers_interface = NULL;
@@ -75,6 +77,10 @@ GLboolean GL_APIENTRY glInitializePPAPI(
g_gles2_query_interface =
get_browser_interface(PPB_OPENGLES2_QUERY_INTERFACE);
}
+ if (!g_gles2_vertex_array_object_interface) {
+ g_gles2_vertex_array_object_interface =
+ get_browser_interface(PPB_OPENGLES2_VERTEXARRAYOBJECT_INTERFACE);
+ }
if (!g_gles2_draw_buffers_interface) {
g_gles2_draw_buffers_interface =
get_browser_interface(PPB_OPENGLES2_DRAWBUFFERS_DEV_INTERFACE);
@@ -129,6 +135,11 @@ const struct PPB_OpenGLES2Query* GL_APIENTRY
return g_gles2_query_interface;
}
+const struct PPB_OpenGLES2VertexArrayObject* GL_APIENTRY
+ glGetVertexArrayObjectInterfacePPAPI(void) {
+ return g_gles2_vertex_array_object_interface;
+}
+
const struct PPB_OpenGLES2DrawBuffers_Dev* GL_APIENTRY
glGetDrawBuffersInterfacePPAPI(void) {
return g_gles2_draw_buffers_interface;
diff --git a/ppapi/lib/gl/gles2/gl2ext_ppapi.h b/ppapi/lib/gl/gles2/gl2ext_ppapi.h
index ff593c2..c4769033 100644
--- a/ppapi/lib/gl/gles2/gl2ext_ppapi.h
+++ b/ppapi/lib/gl/gles2/gl2ext_ppapi.h
@@ -49,6 +49,8 @@ GL_APICALL const struct PPB_OpenGLES2ChromiumMapSub* GL_APIENTRY
glGetChromiumMapSubInterfacePPAPI(void);
GL_APICALL const struct PPB_OpenGLES2Query* GL_APIENTRY
glGetQueryInterfacePPAPI(void);
+GL_APICALL const struct PPB_OpenGLES2VertexArrayObject* GL_APIENTRY
+ glGetVertexArrayObjectInterfacePPAPI(void);
GL_APICALL const struct PPB_OpenGLES2DrawBuffers_Dev* GL_APIENTRY
glGetDrawBuffersInterfacePPAPI(void);
diff --git a/ppapi/lib/gl/gles2/gles2.c b/ppapi/lib/gl/gles2/gles2.c
index 60922cd..faefb09 100644
--- a/ppapi/lib/gl/gles2/gles2.c
+++ b/ppapi/lib/gl/gles2/gles2.c
@@ -967,6 +967,35 @@ glGetQueryObjectuivEXT(GLuint id, GLenum pname, GLuint* params) {
ext->GetQueryObjectuivEXT(glGetCurrentContextPPAPI(), id, pname, params);
}
+void GL_APIENTRY glGenVertexArraysOES(GLsizei n, GLuint* arrays) {
+ const struct PPB_OpenGLES2VertexArrayObject* ext =
+ glGetVertexArrayObjectInterfacePPAPI();
+ if (ext)
+ ext->GenVertexArraysOES(glGetCurrentContextPPAPI(), n, arrays);
+}
+
+void GL_APIENTRY glDeleteVertexArraysOES(GLsizei n, const GLuint* arrays) {
+ const struct PPB_OpenGLES2VertexArrayObject* ext =
+ glGetVertexArrayObjectInterfacePPAPI();
+ if (ext)
+ ext->DeleteVertexArraysOES(glGetCurrentContextPPAPI(), n, arrays);
+}
+
+GLboolean GL_APIENTRY glIsVertexArrayOES(GLuint array) {
+ const struct PPB_OpenGLES2VertexArrayObject* ext =
+ glGetVertexArrayObjectInterfacePPAPI();
+ if (ext)
+ return ext->IsVertexArrayOES(glGetCurrentContextPPAPI(), array);
+ return 0;
+}
+
+void GL_APIENTRY glBindVertexArrayOES(GLuint array) {
+ const struct PPB_OpenGLES2VertexArrayObject* ext =
+ glGetVertexArrayObjectInterfacePPAPI();
+ if (ext)
+ ext->BindVertexArrayOES(glGetCurrentContextPPAPI(), array);
+}
+
GLboolean GL_APIENTRY glEnableFeatureCHROMIUM(const char* feature) {
const struct PPB_OpenGLES2ChromiumEnableFeature* ext =
glGetChromiumEnableFeatureInterfacePPAPI();