Changeset 236974 in webkit
- Timestamp:
- Oct 9, 2018, 12:23:21 PM (8 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 3 edited
-
ChangeLog (modified) (1 diff)
-
platform/graphics/nicosia/texmap/NicosiaBackingStoreTextureMapperImpl.h (modified) (1 diff)
-
platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r236971 r236974 1 2018-10-09 Carlos Eduardo Ramalho <cadubentzen@gmail.com> 2 3 [CoordGraphics] Remove the 'previous backing store' logic 4 https://bugs.webkit.org/show_bug.cgi?id=188838 5 6 Reviewed by Žan Doberšek. 7 8 Remove previousBackingStore from LayerState, since it's not needed anymore. 9 When there is scale adjustment, we now simply discard mainBackingStore and 10 recreate a new one. 11 12 No new tests required. 13 14 * platform/graphics/nicosia/texmap/NicosiaBackingStoreTextureMapperImpl.h: 15 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp: 16 (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly): 17 (WebCore::CoordinatedGraphicsLayer::updateContentBuffers): 18 (WebCore::CoordinatedGraphicsLayer::purgeBackingStores): 19 1 20 2018-10-09 Antti Koivisto <antti@apple.com> 2 21 -
trunk/Source/WebCore/platform/graphics/nicosia/texmap/NicosiaBackingStoreTextureMapperImpl.h
r234883 r236974 86 86 87 87 std::unique_ptr<WebCore::TiledBackingStore> mainBackingStore; 88 std::unique_ptr<WebCore::TiledBackingStore> previousBackingStore;89 88 90 89 TileUpdate update; -
trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp
r236794 r236974 648 648 layerState.isPurging = true; 649 649 layerState.mainBackingStore = nullptr; 650 layerState.previousBackingStore = nullptr;651 650 652 651 m_nicosia.backingStore = nullptr; … … 868 867 869 868 // Address the content scale adjustment. 870 // FIXME: the previousBackingStore logic is likely possible to remove.871 // https://bugs.webkit.org/show_bug.cgi?id=188693872 869 if (m_pendingContentsScaleAdjustment) { 873 870 if (layerState.mainBackingStore && layerState.mainBackingStore->contentsScale() != effectiveContentsScale()) { 874 // Between creating the new backing store and painting the content, we do not 875 // want to drop the previous one as that might result in briefly seeing flickering 876 // as the old tiles may be dropped before something replaces them. 877 layerState.previousBackingStore = WTFMove(layerState.mainBackingStore); 878 879 // No reason to save the previous backing store for non-visible areas. 880 layerState.previousBackingStore->removeAllNonVisibleTiles(transformedVisibleRect(), IntRect(0, 0, size().width(), size().height())); 871 // Discard the TiledBackingStore object to reconstruct it with new content scale. 872 layerState.mainBackingStore = nullptr; 881 873 } 882 874 m_pendingContentsScaleAdjustment = false; … … 943 935 didUpdateTileBuffers(); 944 936 } 945 946 // The previous backing store is kept around to avoid flickering between947 // removing the existing tiles and painting the new ones. The first time948 // the visibleRect is full painted we remove the previous backing store.949 if (layerState.previousBackingStore && layerState.mainBackingStore->visibleAreaIsCovered())950 layerState.previousBackingStore = nullptr;951 937 952 938 // Request a second update immediately if some tiles are still pending creation. … … 968 954 layerState.isPurging = true; 969 955 layerState.mainBackingStore = nullptr; 970 layerState.previousBackingStore = nullptr;971 956 972 957 m_nicosia.backingStore = nullptr;
Note:
See TracChangeset
for help on using the changeset viewer.