| 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;
|
| +}
|
|
|