summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
authorzmo@chromium.org <zmo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-14 18:04:49 +0000
committerzmo@chromium.org <zmo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-14 18:04:49 +0000
commit2f143d485600728b7037d3a71920ab74abe07eb5 (patch)
treefc5d0d7ce1295d5741ed80a96843d5d08df5fd7c /webkit
parent0e2f4256b4bdc921a738c0285470aa1943885b33 (diff)
downloadchromium_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')
-rw-r--r--webkit/gpu/webgraphicscontext3d_in_process_command_buffer_impl.cc2
-rw-r--r--webkit/gpu/webgraphicscontext3d_in_process_command_buffer_impl.h2
-rw-r--r--webkit/gpu/webgraphicscontext3d_in_process_impl.cc5
-rw-r--r--webkit/gpu/webgraphicscontext3d_in_process_impl.h2
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();