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..b5cfa31ed55d85c4f57281c7e00e270cb566341c 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_Dev* |
+ g_gles2_instanced_arrays_interface = NULL; |
+static const struct PPB_OpenGLES2FramebufferBlit_Dev* |
+ g_gles2_framebuffer_blit_interface = NULL; |
+static const struct PPB_OpenGLES2FramebufferMultisample_Dev* |
+ g_gles2_framebuffer_multisample_interface = NULL; |
+static const struct PPB_OpenGLES2ChromiumEnableFeature_Dev* |
+ g_gles2_chromium_enable_feature_interface = NULL; |
+static const struct PPB_OpenGLES2ChromiumMapSub_Dev* |
+ 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,28 @@ 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_DEV_INTERFACE); |
+ } |
+ if (!g_gles2_framebuffer_blit_interface) { |
+ g_gles2_framebuffer_blit_interface = |
+ get_browser_interface(PPB_OPENGLES2_FRAMEBUFFERBLIT_DEV_INTERFACE); |
+ } |
+ if (!g_gles2_framebuffer_multisample_interface) { |
+ g_gles2_framebuffer_multisample_interface = |
+ get_browser_interface( |
+ PPB_OPENGLES2_FRAMEBUFFERMULTISAMPLE_DEV_INTERFACE); |
+ } |
+ if (!g_gles2_chromium_enable_feature_interface) { |
+ g_gles2_chromium_enable_feature_interface = |
+ get_browser_interface( |
+ PPB_OPENGLES2_CHROMIUMENABLEFEATURE_DEV_INTERFACE); |
+ } |
+ if (!g_gles2_chromium_map_sub_interface) { |
+ g_gles2_chromium_map_sub_interface = |
+ get_browser_interface(PPB_OPENGLES2_CHROMIUMMAPSUB_DEV_INTERFACE); |
+ } |
return g_gles2_interface ? GL_TRUE : GL_FALSE; |
} |
@@ -55,3 +87,27 @@ const struct PPB_OpenGLES2* GL_APIENTRY glGetInterfacePPAPI() { |
return g_gles2_interface; |
} |
+const struct PPB_OpenGLES2InstancedArrays_Dev* GL_APIENTRY |
+ glGetInstancedArraysInterfacePPAPI() { |
+ return g_gles2_instanced_arrays_interface; |
+} |
+ |
+const struct PPB_OpenGLES2FramebufferBlit_Dev* GL_APIENTRY |
+ glGetFramebufferBlitInterfacePPAPI() { |
+ return g_gles2_framebuffer_blit_interface; |
+} |
+ |
+const struct PPB_OpenGLES2FramebufferMultisample_Dev* GL_APIENTRY |
+ glGetFramebufferMultisampleInterfacePPAPI() { |
+ return g_gles2_framebuffer_multisample_interface; |
+} |
+ |
+const struct PPB_OpenGLES2ChromiumEnableFeature_Dev* GL_APIENTRY |
+ glGetChromiumEnableFeatureInterfacePPAPI() { |
+ return g_gles2_chromium_enable_feature_interface; |
+} |
+ |
+const struct PPB_OpenGLES2ChromiumMapSub_Dev* GL_APIENTRY |
+ glGetChromiumMapSubInterfacePPAPI() { |
+ return g_gles2_chromium_map_sub_interface; |
+} |