Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 5abe8ab78cbb3a00c4e190faa2b602ed7b199432 https://github.com/WebKit/WebKit/commit/5abe8ab78cbb3a00c4e190faa2b602ed7b199432 Author: Nikolas Zimmermann <nzimmerm...@igalia.com> Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths: M Source/WebCore/platform/Skia.cmake M Source/WebCore/platform/SourcesSkia.txt M Source/WebCore/platform/graphics/skia/SkiaPaintingEngine.cpp M Source/WebCore/platform/graphics/skia/SkiaPaintingEngine.h A Source/WebCore/platform/graphics/skia/SkiaRecordingResult.cpp A Source/WebCore/platform/graphics/skia/SkiaRecordingResult.h M Source/WebCore/platform/graphics/skia/SkiaReplayCanvas.cpp M Source/WebCore/platform/graphics/skia/SkiaReplayCanvas.h M Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBackingStoreProxy.cpp M Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayer.cpp M Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayer.h Log Message: ----------- [GTK][WPE][Skia] Record all dirty tiles of a layer once, don't record each tile https://bugs.webkit.org/show_bug.cgi?id=290614 Reviewed by Carlos Garcia Campos. For each layer, we currently record each dirty tile, then replay in a worker thread. We can do better and once record a SkPicture of the area spanning all dirty tiles, and then use the same SkPicture for replaying N times, for each dirty tile. Covered by existing tests. * Source/WebCore/platform/Skia.cmake: * Source/WebCore/platform/SourcesSkia.txt: * Source/WebCore/platform/graphics/skia/SkiaPaintingEngine.cpp: (WebCore::SkiaPaintingEngine::paint): (WebCore::SkiaPaintingEngine::record): (WebCore::SkiaPaintingEngine::replay): (WebCore::SkiaPaintingEngine::paintGraphicsLayerIntoBuffer const): Deleted. (WebCore::SkiaPaintingEngine::paintLayer): Deleted. (WebCore::SkiaPaintingEngine::postPaintingTask): Deleted. (WebCore::SkiaPaintingEngine::performPaintingTask): Deleted. * Source/WebCore/platform/graphics/skia/SkiaPaintingEngine.h: (WebCore::SkiaPaintingEngine::useThreadedRendering const): * Source/WebCore/platform/graphics/skia/SkiaRecordingResult.cpp: Added. (WebCore::SkiaRecordingResult::SkiaRecordingResult): (WebCore::SkiaRecordingResult::create): (WebCore::SkiaRecordingResult::hasFences): (WebCore::SkiaRecordingResult::waitForFenceIfNeeded): * Source/WebCore/platform/graphics/skia/SkiaRecordingResult.h: Added. * Source/WebCore/platform/graphics/skia/SkiaReplayCanvas.cpp: (WebCore::SkiaReplayCanvas::SkiaReplayCanvas): (WebCore::SkiaReplayCanvas::create): (WebCore::SkiaReplayCanvas::waitForRenderingCompletionAndRewrapImageIfNeeded): * Source/WebCore/platform/graphics/skia/SkiaReplayCanvas.h: * Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBackingStoreProxy.cpp: (WebCore::CoordinatedBackingStoreProxy::updateIfNeeded): * Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayer.cpp: (WebCore::CoordinatedPlatformLayer::paint): (WebCore::CoordinatedPlatformLayer::record): (WebCore::CoordinatedPlatformLayer::replay): * Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayer.h: Canonical link: https://commits.webkit.org/292929@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes