diff options
author | jbauman@chromium.org <jbauman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-06 02:11:17 +0000 |
---|---|---|
committer | jbauman@chromium.org <jbauman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-06 02:11:17 +0000 |
commit | 3a9ac0a9aaf69b3cfc09d5194b83bb2a2130cac9 (patch) | |
tree | a8e04fa7a2f06a5fdf997ba1a9d93c7ced95f212 /ppapi/lib | |
parent | bc23425942484265dab5e2540a9c2844851f0703 (diff) | |
download | chromium_src-3a9ac0a9aaf69b3cfc09d5194b83bb2a2130cac9.zip chromium_src-3a9ac0a9aaf69b3cfc09d5194b83bb2a2130cac9.tar.gz chromium_src-3a9ac0a9aaf69b3cfc09d5194b83bb2a2130cac9.tar.bz2 |
Add new PPB_OPENGLES2_DRAWBUFFERS_DEV_INTERFACE_1_0 pepper interface.
This allows applications to draw to multiple render targets at the same time.
BUG=318019
Review URL: https://codereview.chromium.org/182213003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@255222 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/lib')
-rw-r--r-- | ppapi/lib/gl/gles2/gl2ext_ppapi.c | 11 | ||||
-rw-r--r-- | ppapi/lib/gl/gles2/gl2ext_ppapi.h | 2 | ||||
-rw-r--r-- | ppapi/lib/gl/gles2/gles2.c | 7 |
3 files changed, 20 insertions, 0 deletions
diff --git a/ppapi/lib/gl/gles2/gl2ext_ppapi.c b/ppapi/lib/gl/gles2/gl2ext_ppapi.c index a310114..e5872b5 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_OpenGLES2DrawBuffers_Dev* + g_gles2_draw_buffers_interface = NULL; // TODO(alokp): Make sure PP_TLS works on all supported platforms. static PP_TLS PP_Resource g_current_context = 0; @@ -73,6 +75,10 @@ GLboolean GL_APIENTRY glInitializePPAPI( g_gles2_query_interface = get_browser_interface(PPB_OPENGLES2_QUERY_INTERFACE); } + if (!g_gles2_draw_buffers_interface) { + g_gles2_draw_buffers_interface = + get_browser_interface(PPB_OPENGLES2_DRAWBUFFERS_DEV_INTERFACE); + } return g_gles2_interface ? GL_TRUE : GL_FALSE; } @@ -122,3 +128,8 @@ const struct PPB_OpenGLES2Query* GL_APIENTRY glGetQueryInterfacePPAPI(void) { return g_gles2_query_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 146d914..ff593c2 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_OpenGLES2DrawBuffers_Dev* GL_APIENTRY + glGetDrawBuffersInterfacePPAPI(void); #ifdef __cplusplus } diff --git a/ppapi/lib/gl/gles2/gles2.c b/ppapi/lib/gl/gles2/gles2.c index dabb20c..3e9732d 100644 --- a/ppapi/lib/gl/gles2/gles2.c +++ b/ppapi/lib/gl/gles2/gles2.c @@ -1055,3 +1055,10 @@ void GL_APIENTRY glVertexAttribDivisorANGLE(GLuint index, GLuint divisor) { if (ext) ext->VertexAttribDivisorANGLE(glGetCurrentContextPPAPI(), index, divisor); } +void GL_APIENTRY glDrawBuffersEXT(GLsizei count, const GLenum* bufs) { + const struct PPB_OpenGLES2DrawBuffers_Dev* ext = + glGetDrawBuffersInterfacePPAPI(); + if (ext) + ext->DrawBuffersEXT(glGetCurrentContextPPAPI(), count, bufs); +} + |