[chromium] Add overdraw metrics for texture uploads
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 16 Mar 2012 17:14:30 +0000 (17:14 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 16 Mar 2012 17:14:30 +0000 (17:14 +0000)
commitce731f1c0f8ecf306ba18539d1b2f21654b28182
tree040f737369d76df5ef9483a81f47fd977a48ec7f
parent5cbdc3dac2fc44004ede5c6aaaf14e68a9d6ea68
[chromium] Add overdraw metrics for texture uploads
https://bugs.webkit.org/show_bug.cgi?id=81175

Patch by Dana Jansens <danakj@chromium.org> on 2012-03-16
Reviewed by Adrienne Walker.

Source/WebCore:

Record texture upload metrics during paint. To properly record
the amount of pixels culled, we must compute the amount of pixels we
would have uploaded for a tile. This requires knowing the dirty rect of
the tile, but the dirty rect can be changed by WebKit during a paint, so
we always store the dirtyRect in the tile's updateRect. We add an
m_updateCulled bool to the UpdatableTile structure, to identify tiles
that were not updated, and know a tile was updated if updateRect is not
empty and updateCulled is false.

Tested by all TiledLayerChromiumTests that use occlusion tracker.

* platform/graphics/chromium/TiledLayerChromium.cpp:
(UpdatableTile):
(WebCore::TiledLayerChromium::prepareToUpdateTiles):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::paintLayerContents):

Source/WebKit/chromium:

* tests/TiledLayerChromiumTest.cpp:
(WTF::TEST):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@111023 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/chromium/TiledLayerChromium.cpp
Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.cpp
Source/WebKit/chromium/ChangeLog
Source/WebKit/chromium/tests/TiledLayerChromiumTest.cpp