[BlackBerry] Plumb through GraphicsLayer::contentsOpaque() to LayerTiler
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 28 Mar 2012 16:03:29 +0000 (16:03 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 28 Mar 2012 16:03:29 +0000 (16:03 +0000)
commit66d2d13693a660e858e2e9dcd3c5aa23b30de402
treef30d54264ecdcea0512530d5f57235bd00370de5
parent14817dd1ea62996a30880ec8e1941bdc53435c9a
[BlackBerry] Plumb through GraphicsLayer::contentsOpaque() to LayerTiler
https://bugs.webkit.org/show_bug.cgi?id=82457

Patch by Arvid Nilsson <anilsson@rim.com> on 2012-03-28
Reviewed by Rob Buis.

The LayerTiler already knows not to turn on GL_BLEND for opaque layers.
However, it only ever sets the opaque flag for image layers and color
layers, never for content layers.

This was no big deal, because contentsOpaque() is currently false for
all layers except the root layer, which we always drew using the
BlackBerry::WebKit::BackingStore anyway.

When we start using RenderLayerBacking::m_usingTiledCacheLayer=true on
the root layer in situations where the BackingStore is unavailable, we
can speed up rendering of the root layer by honouring the opaque flag.

Fixed by plumbing through the GraphicsLayer::contentsOpaque() flag all
the way to LayerTiler and on to Texture.

* platform/graphics/blackberry/LayerData.h:
(WebCore::LayerData::LayerData):
(WebCore::LayerData::isOpaque):
(LayerData):
* platform/graphics/blackberry/LayerTile.cpp:
(WebCore::LayerTile::updateContents):
* platform/graphics/blackberry/LayerTile.h:
(LayerTile):
* platform/graphics/blackberry/LayerTiler.cpp:
(WebCore::LayerTiler::updateTextureContentsIfNeeded):
(WebCore::LayerTiler::performTileJob):
* platform/graphics/blackberry/LayerTiler.h:
(WebCore::LayerTiler::TextureJob::TextureJob):
(WebCore::LayerTiler::TextureJob::updateContents):
* platform/graphics/blackberry/LayerWebKitThread.h:
(WebCore::LayerWebKitThread::setOpaque):
* platform/graphics/blackberry/Texture.h:
(Texture):
* platform/graphics/blackberry/TextureCacheCompositingThread.cpp:
(WebCore::TextureCacheCompositingThread::updateContents):
* platform/graphics/blackberry/TextureCacheCompositingThread.h:
(TextureCacheCompositingThread):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112407 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/blackberry/LayerData.h
Source/WebCore/platform/graphics/blackberry/LayerTile.cpp
Source/WebCore/platform/graphics/blackberry/LayerTile.h
Source/WebCore/platform/graphics/blackberry/LayerTiler.cpp
Source/WebCore/platform/graphics/blackberry/LayerTiler.h
Source/WebCore/platform/graphics/blackberry/LayerWebKitThread.h
Source/WebCore/platform/graphics/blackberry/Texture.h
Source/WebCore/platform/graphics/blackberry/TextureCacheCompositingThread.cpp
Source/WebCore/platform/graphics/blackberry/TextureCacheCompositingThread.h