diff options
author | zmo@chromium.org <zmo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-14 18:04:49 +0000 |
---|---|---|
committer | zmo@chromium.org <zmo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-14 18:04:49 +0000 |
commit | 2f143d485600728b7037d3a71920ab74abe07eb5 (patch) | |
tree | fc5d0d7ce1295d5741ed80a96843d5d08df5fd7c /webkit | |
parent | 0e2f4256b4bdc921a738c0285470aa1943885b33 (diff) | |
download | chromium_src-2f143d485600728b7037d3a71920ab74abe07eb5.zip chromium_src-2f143d485600728b7037d3a71920ab74abe07eb5.tar.gz chromium_src-2f143d485600728b7037d3a71920ab74abe07eb5.tar.bz2 |
Implement EXT_draw_buffers WebGL extention support in command buffer.
A few things:
1) I only hooked up with desktop GL backend, i.e., GL_ARB_draw_buffers. Will add GLES support later.
2) Probably we need to do something to enable this for Pepper3D also? If yes, will do so in a seperate CL.
3) I didn't add the wordarounds for Mac/Linux driver bugs. Will do so in a seperate CL.
BUG=180397
TEST=gpu_unittests, webgl conformance tests
Review URL: https://codereview.chromium.org/12545014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188129 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
4 files changed, 11 insertions, 0 deletions
diff --git a/webkit/gpu/webgraphicscontext3d_in_process_command_buffer_impl.cc b/webkit/gpu/webgraphicscontext3d_in_process_command_buffer_impl.cc index 692aedb..f55d5a3a 100644 --- a/webkit/gpu/webgraphicscontext3d_in_process_command_buffer_impl.cc +++ b/webkit/gpu/webgraphicscontext3d_in_process_command_buffer_impl.cc @@ -1687,5 +1687,7 @@ DELEGATE_TO_GL_2(produceTextureCHROMIUM, ProduceTextureCHROMIUM, DELEGATE_TO_GL_2(consumeTextureCHROMIUM, ConsumeTextureCHROMIUM, WGC3Denum, const WGC3Dbyte*) +DELEGATE_TO_GL_2(drawBuffersEXT, DrawBuffersEXT, + WGC3Dsizei, const WGC3Denum*) } // namespace gpu } // namespace webkit diff --git a/webkit/gpu/webgraphicscontext3d_in_process_command_buffer_impl.h b/webkit/gpu/webgraphicscontext3d_in_process_command_buffer_impl.h index 5125b29..1bb95af 100644 --- a/webkit/gpu/webgraphicscontext3d_in_process_command_buffer_impl.h +++ b/webkit/gpu/webgraphicscontext3d_in_process_command_buffer_impl.h @@ -503,6 +503,8 @@ class WEBKIT_GPU_EXPORT WebGraphicsContext3DInProcessCommandBufferImpl virtual void* mapBufferCHROMIUM(WGC3Denum target, WGC3Denum access); virtual WGC3Dboolean unmapBufferCHROMIUM(WGC3Denum target); + virtual void drawBuffersEXT(WGC3Dsizei n, const WGC3Denum* bufs); + protected: virtual GrGLInterface* onCreateGrGLInterface(); diff --git a/webkit/gpu/webgraphicscontext3d_in_process_impl.cc b/webkit/gpu/webgraphicscontext3d_in_process_impl.cc index 5f16f65..e0f68e0 100644 --- a/webkit/gpu/webgraphicscontext3d_in_process_impl.cc +++ b/webkit/gpu/webgraphicscontext3d_in_process_impl.cc @@ -1731,6 +1731,11 @@ WGC3Dboolean WebGraphicsContext3DInProcessImpl::unmapBufferCHROMIUM( return false; } +void WebGraphicsContext3DInProcessImpl::drawBuffersEXT( + WGC3Dsizei n, const WGC3Denum* bufs) { + NOTIMPLEMENTED(); +} + GrGLInterface* WebGraphicsContext3DInProcessImpl::onCreateGrGLInterface() { return gfx::CreateInProcessSkiaGLBinding(); } diff --git a/webkit/gpu/webgraphicscontext3d_in_process_impl.h b/webkit/gpu/webgraphicscontext3d_in_process_impl.h index 6e13cdfc..b93a838 100644 --- a/webkit/gpu/webgraphicscontext3d_in_process_impl.h +++ b/webkit/gpu/webgraphicscontext3d_in_process_impl.h @@ -499,6 +499,8 @@ class WEBKIT_GPU_EXPORT WebGraphicsContext3DInProcessImpl : virtual void* mapBufferCHROMIUM(WGC3Denum target, WGC3Denum access); virtual WGC3Dboolean unmapBufferCHROMIUM(WGC3Denum target); + virtual void drawBuffersEXT(WGC3Dsizei n, const WGC3Denum* bufs); + protected: virtual GrGLInterface* onCreateGrGLInterface(); |