[chromium] Avoid culling work for fully-non-opaque tiles, and add tracing for draw...
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 24 Feb 2012 11:01:28 +0000 (11:01 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 24 Feb 2012 11:01:28 +0000 (11:01 +0000)
commitd28605c9ac1b09790aacaed336863cad44c318d9
tree80faeee0a39fec6adfa92cd0c25d830610f7ab6e
parent94b4fa2e5f0dec3499cd9ab75d8741b77a2582af
[chromium] Avoid culling work for fully-non-opaque tiles, and add tracing for draw culling
https://bugs.webkit.org/show_bug.cgi?id=79183

Patch by Dana Jansens <danakj@chromium.org> on 2012-02-24
Reviewed by James Robinson.

Addresses performance issues with draw culling by avoiding the work
of mapRect and other function calls when the quad has no opaque area.
And adds a TRACE_EVENT to watch the time spent in draw culling.

* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::optimizeRenderPasses):
* platform/graphics/chromium/cc/CCQuadCuller.cpp:
(WebCore::CCQuadCuller::cullOccludedQuads):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108764 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp
Source/WebCore/platform/graphics/chromium/cc/CCQuadCuller.cpp