Index: ppapi/lib/gl/gles2/gl2ext_ppapi.c |
diff --git a/ppapi/lib/gl/gles2/gl2ext_ppapi.c b/ppapi/lib/gl/gles2/gl2ext_ppapi.c |
index 62d842de402e61c7e16df6ecf587737b2b97a448..394084a9cf4f2566017496e2a3ccc18e1df93feb 100644 |
--- a/ppapi/lib/gl/gles2/gl2ext_ppapi.c |
+++ b/ppapi/lib/gl/gles2/gl2ext_ppapi.c |
@@ -26,6 +26,16 @@ |
// TODO(alokp): This will need to be thread-safe if we build gles2 as a |
// shared library. |
static const struct PPB_OpenGLES2* g_gles2_interface = NULL; |
+static const struct PPB_OpenGLES2InstancedArrays* |
+ g_gles2_instanced_arrays_interface = NULL; |
+static const struct PPB_OpenGLES2FramebufferBlit* |
+ g_gles2_framebuffer_blit_interface = NULL; |
+static const struct PPB_OpenGLES2FramebufferMultisample* |
+ g_gles2_framebuffer_multisample_interface = NULL; |
+static const struct PPB_OpenGLES2ChromiumEnableFeature* |
+ g_gles2_chromium_enable_feature_interface = NULL; |
+static const struct PPB_OpenGLES2ChromiumMapSub* |
+ g_gles2_chromium_map_sub_interface = NULL; |
// TODO(alokp): Make sure PP_TLS works on all supported platforms. |
static PP_TLS PP_Resource g_current_context = 0; |
@@ -35,6 +45,26 @@ GLboolean GL_APIENTRY glInitializePPAPI( |
if (!g_gles2_interface) { |
g_gles2_interface = get_browser_interface(PPB_OPENGLES2_INTERFACE); |
} |
+ if (!g_gles2_instanced_arrays_interface) { |
+ g_gles2_instanced_arrays_interface = |
+ get_browser_interface(PPB_OPENGLES2_INSTANCEDARRAYS_INTERFACE); |
+ } |
+ if (!g_gles2_framebuffer_blit_interface) { |
+ g_gles2_framebuffer_blit_interface = |
+ get_browser_interface(PPB_OPENGLES2_FRAMEBUFFERBLIT_INTERFACE); |
+ } |
+ if (!g_gles2_framebuffer_multisample_interface) { |
+ g_gles2_framebuffer_multisample_interface = |
+ get_browser_interface(PPB_OPENGLES2_FRAMEBUFFERMULTISAMPLE_INTERFACE); |
+ } |
+ if (!g_gles2_chromium_enable_feature_interface) { |
+ g_gles2_chromium_enable_feature_interface = |
+ get_browser_interface(PPB_OPENGLES2_CHROMIUMENABLEFEATURE_INTERFACE); |
+ } |
+ if (!g_gles2_chromium_map_sub_interface) { |
+ g_gles2_chromium_map_sub_interface = |
+ get_browser_interface(PPB_OPENGLES2_CHROMIUMMAPSUB_INTERFACE); |
+ } |
return g_gles2_interface ? GL_TRUE : GL_FALSE; |
} |
@@ -55,3 +85,27 @@ const struct PPB_OpenGLES2* GL_APIENTRY glGetInterfacePPAPI() { |
return g_gles2_interface; |
} |
+const struct PPB_OpenGLES2InstancedArrays* GL_APIENTRY |
+ glGetInstancedArraysInterfacePPAPI() { |
+ return g_gles2_instanced_arrays_interface; |
+} |
+ |
+const struct PPB_OpenGLES2FramebufferBlit* GL_APIENTRY |
+ glGetFramebufferBlitInterfacePPAPI() { |
+ return g_gles2_framebuffer_blit_interface; |
+} |
+ |
+const struct PPB_OpenGLES2FramebufferMultisample* GL_APIENTRY |
+ glGetFramebufferMultisampleInterfacePPAPI() { |
+ return g_gles2_framebuffer_multisample_interface; |
+} |
+ |
+const struct PPB_OpenGLES2ChromiumEnableFeature* GL_APIENTRY |
+ glGetChromiumEnableFeatureInterfacePPAPI() { |
+ return g_gles2_chromium_enable_feature_interface; |
+} |
+ |
+const struct PPB_OpenGLES2ChromiumMapSub* GL_APIENTRY |
+ glGetChromiumMapSubInterfacePPAPI() { |
+ return g_gles2_chromium_map_sub_interface; |
+} |