diff options
author | jbauman@chromium.org <jbauman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-26 18:43:13 +0000 |
---|---|---|
committer | jbauman@chromium.org <jbauman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-26 18:43:13 +0000 |
commit | 6965d7dcbce91c55c492ff34983a8a3a35f14740 (patch) | |
tree | a04a41b2c2db8eaa2ce5877e2f8869d5d9cf3336 /ppapi/lib/gl/gles2/gl2ext_ppapi.c | |
parent | 866fdd9219e015f582095faf35129a3d9f26be8c (diff) | |
download | chromium_src-6965d7dcbce91c55c492ff34983a8a3a35f14740.zip chromium_src-6965d7dcbce91c55c492ff34983a8a3a35f14740.tar.gz chromium_src-6965d7dcbce91c55c492ff34983a8a3a35f14740.tar.bz2 |
Add Pepper support for several GL extensions
Add support to the command buffer code generator to generate multiple pepper interfaces, and use that to generate interfaces for ANGLE_instanced_arrays, ANGLE_framebuffer_blit, ANGLE_framebuffer_multisample, CHROMIUM_enable_feature, and CHROMIUM_map_sub.
BUG=93148
TEST=
Review URL: https://chromiumcodereview.appspot.com/9420017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123696 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/lib/gl/gles2/gl2ext_ppapi.c')
-rw-r--r-- | ppapi/lib/gl/gles2/gl2ext_ppapi.c | 58 |
1 files changed, 57 insertions, 1 deletions
diff --git a/ppapi/lib/gl/gles2/gl2ext_ppapi.c b/ppapi/lib/gl/gles2/gl2ext_ppapi.c index 62d842d..6bdc09d 100644 --- a/ppapi/lib/gl/gles2/gl2ext_ppapi.c +++ b/ppapi/lib/gl/gles2/gl2ext_ppapi.c @@ -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. @@ -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; +} |