From 7e3773d591be20a4ddb1ef7df2709fd7655b7917 Mon Sep 17 00:00:00 2001 From: Nicolas Roard Date: Mon, 31 Jan 2011 16:02:42 -0800 Subject: Implement dynamic allocation of base tiles. This way, a webview will only consume as much GPU memory as needed, depending on its size, to a maximum of 256 tiles per TiledPage. bug:3376517 Change-Id: Icc1e47623297cf1c01d40aa9e123c1a05373e7e5 --- WebCore/platform/graphics/android/GLWebViewState.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'WebCore/platform/graphics/android/GLWebViewState.cpp') diff --git a/WebCore/platform/graphics/android/GLWebViewState.cpp b/WebCore/platform/graphics/android/GLWebViewState.cpp index 3c1d40a..63fe730 100644 --- a/WebCore/platform/graphics/android/GLWebViewState.cpp +++ b/WebCore/platform/graphics/android/GLWebViewState.cpp @@ -287,6 +287,11 @@ void GLWebViewState::setViewport(SkRect& viewport, float scale) static_cast(floorf(viewport.fTop * invTileContentHeight)), static_cast(ceilf(viewport.fRight * invTileContentWidth)), static_cast(ceilf(viewport.fBottom * invTileContentHeight))); + + int maxTextureCount = (m_viewportTileBounds.width()+1)*(m_viewportTileBounds.height()+1)*2; + TilesManager::instance()->setMaxTextureCount(maxTextureCount); + m_tiledPageA->updateBaseTileSize(); + m_tiledPageB->updateBaseTileSize(); } } // namespace WebCore -- cgit v1.1