summaryrefslogtreecommitdiffstats
path: root/webkit/gpu/webgraphicscontext3d_in_process_impl.cc
diff options
context:
space:
mode:
authorbacker@chromium.org <backer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-11 14:15:28 +0000
committerbacker@chromium.org <backer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-11 14:15:28 +0000
commit1c75a370ce5ea49e230cae711a0b1d17dc072763 (patch)
treeb3612370e93b34c7ce4d631cf22cafb4d71329ea /webkit/gpu/webgraphicscontext3d_in_process_impl.cc
parent9e814828186b00d3ead0edd3884e3185067875d5 (diff)
downloadchromium_src-1c75a370ce5ea49e230cae711a0b1d17dc072763.zip
chromium_src-1c75a370ce5ea49e230cae711a0b1d17dc072763.tar.gz
chromium_src-1c75a370ce5ea49e230cae711a0b1d17dc072763.tar.bz2
Plumb through EGL_NV_post_sub_buffer and GLX_MESA_copy_sub_buffer.
These two extensions allow a partial swap: just pushing part of the backbuffer to the front buffer. This will allow the WK compositor to push a partial update to the screen instead of a full frame update (https://bugs.webkit.org/show_bug.cgi?id=70533). We should be able to do something similar for TOUCHUI ImageTransportSurfaces (hence the hooks into GLSurface and the glPostSubBufferCHROMIUM command). Review URL: http://codereview.chromium.org/8512005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109625 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/gpu/webgraphicscontext3d_in_process_impl.cc')
-rw-r--r--webkit/gpu/webgraphicscontext3d_in_process_impl.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/webkit/gpu/webgraphicscontext3d_in_process_impl.cc b/webkit/gpu/webgraphicscontext3d_in_process_impl.cc
index 835bd61..a1c8fef 100644
--- a/webkit/gpu/webgraphicscontext3d_in_process_impl.cc
+++ b/webkit/gpu/webgraphicscontext3d_in_process_impl.cc
@@ -333,6 +333,12 @@ void WebGraphicsContext3DInProcessImpl::prepareTexture() {
}
}
+void WebGraphicsContext3DInProcessImpl::postSubBufferCHROMIUM(
+ int x, int y, int width, int height) {
+ DCHECK(gl_surface_->SupportsPostSubBuffer());
+ gl_surface_->PostSubBuffer(x, y, width, height);
+}
+
namespace {
int CreateTextureObject(GLenum target) {