summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Roard <nicolas@android.com>2011-02-11 10:00:52 -0800
committerandroid-merger <android-build@android.com>2011-02-22 11:40:10 -0800
commit7fc06a149b4c282532ee147ce9a9386b0acc10fb (patch)
treea417d4d5cfe4f909ee3405ad4b0c10ec54a964d0
parentf17e31059e7f1dfebd0cb82df42616c3971fa5ce (diff)
downloadexternal_webkit-7fc06a149b4c282532ee147ce9a9386b0acc10fb.zip
external_webkit-7fc06a149b4c282532ee147ce9a9386b0acc10fb.tar.gz
external_webkit-7fc06a149b4c282532ee147ce9a9386b0acc10fb.tar.bz2
DO NOT MERGE Clip layers if the texture size is too large for the GPU
bug:3436987 Change-Id: Ibf42685ee07c6d0dd8a1a2b9c8b57da7f2a422db
-rw-r--r--WebCore/platform/graphics/android/LayerAndroid.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/WebCore/platform/graphics/android/LayerAndroid.cpp b/WebCore/platform/graphics/android/LayerAndroid.cpp
index 42104dc..16f7189 100644
--- a/WebCore/platform/graphics/android/LayerAndroid.cpp
+++ b/WebCore/platform/graphics/android/LayerAndroid.cpp
@@ -671,7 +671,9 @@ void LayerAndroid::computeTextureSize()
// If we are under the maximum, and the layer inspected
// needs a texture less than the maxLayerSize, use the full texture.
if ((total < max) &&
- (layer->fullTextureSize() < maxLayerSize)) {
+ (layer->fullTextureSize() < maxLayerSize) &&
+ (layer->getWidth() * m_scale < TilesManager::instance()->getMaxTextureSize()) &&
+ (layer->getHeight() * m_scale < TilesManager::instance()->getMaxTextureSize())) {
IntRect full(0, 0, layer->getWidth(), layer->getHeight());
layer->m_layerTextureRect = full;
clipped = false;