[chromium] Scissor rect optimization for chromium compositor
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 3 Dec 2011 06:14:08 +0000 (06:14 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 3 Dec 2011 06:14:08 +0000 (06:14 +0000)
commit9c57456730590975b036ff38362c98d59037db9e
tree15dc3b65c64f19d28b6cc8f609dd6cd289812b7a
parent1c2100f44a3739e1e6b305600f2f92dc7d57b9f0
[chromium] Scissor rect optimization for chromium compositor
https://bugs.webkit.org/show_bug.cgi?id=67341

Patch by Shawn Singh <shawnsingh@chromium.org> on 2011-12-02
Reviewed by James Robinson.

Mostly covered by damage tracker tests. Currently this relies on
manually running layout tests, because this patch requires partial
swaps that are not supported by DumpRenderTree. The feature
automatically disables if partial swap is not supported.

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::initialize):
(WebCore::LayerRendererChromium::trackDamageForAllSurfaces):
(WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
(WebCore::LayerRendererChromium::drawLayersInternal):
(WebCore::LayerRendererChromium::swapBuffers):
(WebCore::LayerRendererChromium::drawLayer):
* platform/graphics/chromium/LayerRendererChromium.h:
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCSettings::CCSettings):
(WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
* platform/graphics/chromium/cc/CCRenderSurface.cpp:
(WebCore::CCRenderSurface::draw):
* platform/graphics/chromium/cc/CCRenderSurface.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@101908 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp
Source/WebCore/platform/graphics/chromium/LayerRendererChromium.h
Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.h
Source/WebCore/platform/graphics/chromium/cc/CCRenderSurface.cpp
Source/WebCore/platform/graphics/chromium/cc/CCRenderSurface.h