[Qt][WK2] Allow partial updates
https://bugs.webkit.org/show_bug.cgi?id=78824
Source/WebCore:
BitmapTextureGL should not zero-fill the textures when resetting.
This was needed in the previous buffer management system, where texture were not completely
filled by the backing store.
Reviewed by Simon Hausmann.
No new behavior.
* platform/graphics/opengl/TextureMapperGL.cpp:
(BitmapTextureGL):
(WebCore::texSubImage2DResourceSafe):
(WebCore):
(WebCore::BitmapTextureGL::reset):
Source/WebKit2:
Instead of using UpdateInfo to fill the entire tile's texture, we use it as a patch that
contains only the dirty rectangle of the current paint. This requires a lot less memory
for small updates, for example when typing a text in an input field.
This shows a significant reduction in overhead when testing on Mac with Instruments.
Reviewed by Simon Hausmann.
* UIProcess/qt/LayerBackingStore.cpp:
(WebKit::LayerBackingStoreTile::swapBuffers):
(WebKit::LayerBackingStoreTile::setBackBuffer):
(WebKit):
(WebKit::LayerBackingStore::updateTile):
* UIProcess/qt/LayerBackingStore.h:
(LayerBackingStoreTile):
* UIProcess/qt/LayerTreeHostProxyQt.cpp:
(WebKit::LayerTreeHostProxy::updateTileForLayer):
* WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
(WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108055
268f45cc-cd09-0410-ab3c-
d52691b4dbfc