Branch: refs/heads/webkitglib/2.54
Home: https://github.com/WebKit/WebKit
Commit: 6c19621fe6fb19058838803f44c786133ab14189
https://github.com/WebKit/WebKit/commit/6c19621fe6fb19058838803f44c786133ab14189
Author: Fady Farag <[email protected]>
Date: 2026-08-11 (Tue, 11 Aug 2026)
Changed paths:
M Source/WebCore/dom/Document.cpp
Log Message:
-----------
Cherry-pick 318966@main (78dfedf6e4f0).
https://bugs.webkit.org/show_bug.cgi?id=321483
Potential use-after-move in `Document::processCaptureStateDidChange()`
https://bugs.webkit.org/show_bug.cgi?id=321483
rdar://184571470
Reviewed by Chris Dumez.
ISO C++23 does not guarantee the initialization order of lambda captures.
The lambda capture list here both used `isPageMutedCallback` and moved it,
so the use and the move were unsequenced.
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::processCaptureStateDidChange):
Canonical link: https://commits.webkit.org/318966@main
Canonical link: https://commits.webkit.org/317695.102@webkitglib/2.54
Commit: 4fe0044afd5cb28a59c815b3a5b5f86ef09e77c6
https://github.com/WebKit/WebKit/commit/4fe0044afd5cb28a59c815b3a5b5f86ef09e77c6
Author: Nikolas Zimmermann <[email protected]>
Date: 2026-08-11 (Tue, 11 Aug 2026)
Changed paths:
M
Source/WebCore/platform/graphics/skia/SkiaCompositingLayerImageSetBatch.cpp
M Source/WebCore/platform/graphics/skia/SkiaCompositingLayerImageSetBatch.h
M Source/WebCore/platform/graphics/skia/SkiaDamageRegion.h
Log Message:
-----------
Cherry-pick 318856@main (2f72b3d7740d).
https://bugs.webkit.org/show_bug.cgi?id=321377
[Skia] Skip damage restriction when the damage covers the whole draw
https://bugs.webkit.org/show_bug.cgi?id=321377
Reviewed by Alejandro G. Castro.
Respecting the damage information in compositing regressed the MotionMark
composition suite by about 20%, and two of its tests by more than 50%.
A draw is restricted to the damage either by splitting it into multiple
source-rect-to-destination-rect pieces, which needs a transform that keeps
rects as rects, or by drawing it under a device-space clip of the damage
region. Neither restricts a draw that the damage already covers. A
composited
layer in the affected tests is much smaller than a damage grid cell, so most
layers are covered. Draw those the way they are drawn with damage off.
The extra clips add nothing and only stop the batching.
Skia turned a region of more than one rect into a clip path, and the image
set
batch entries carry no clip quad, so a draw needing a clip also flushed the
batch, leaving it an order of magnitude smaller than it is without damage.
Solid color layers never reach the batch and paid the clip alone, and
filters
paid it again per layer, compositing their intermediate surface back under
the clip as well.
Fix that and recover the performance losses, while keeping damage
propagation intact for the cases where it pays off.
*
Source/WebCore/platform/graphics/skia/SkiaCompositingLayerImageSetBatch.cpp:
(WebCore::SkiaCompositingLayerImageSetBatch::addImageSet):
(WebCore::SkiaCompositingLayerImageSetBatch::addImage):
* Source/WebCore/platform/graphics/skia/SkiaCompositingLayerImageSetBatch.h:
(WebCore::SkiaCompositingLayerImageSetBatch::planRestrictedDraw):
* Source/WebCore/platform/graphics/skia/SkiaDamageRegion.h:
(WebCore::SkiaDamageRegion::covers const):
(WebCore::SkiaDamageRegion::restrictDraw const):
Canonical link: https://commits.webkit.org/318856@main
Canonical link: https://commits.webkit.org/317695.103@webkitglib/2.54
Commit: 641159c7a8d5899274f2bb9c07cb42db8f901776
https://github.com/WebKit/WebKit/commit/641159c7a8d5899274f2bb9c07cb42db8f901776
Author: Nikolas Zimmermann <[email protected]>
Date: 2026-08-11 (Tue, 11 Aug 2026)
Changed paths:
M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
Log Message:
-----------
Cherry-pick 318857@main (9010d6d3bec8).
https://bugs.webkit.org/show_bug.cgi?id=321378
Unreviewed backport.
[Skia] Re-enable damage in composition feature
https://bugs.webkit.org/show_bug.cgi?id=321378
Reviewed by Fujii Hironori.
Re-enable 'UseDamagingInformationForCompositing', since the performance
regressions are gone.
Also enable 'UnifyDamagedRegions' since it gives a small performance
benefit on rpi4 + MotionMark.
* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
Canonical link: https://commits.webkit.org/318857@main
Canonical link: https://commits.webkit.org/317695.104@webkitglib/2.54
Compare: https://github.com/WebKit/WebKit/compare/31d773a96113...641159c7a8d5
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications