Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: dd197abdfa4b84d284694cb5d4cd540bbe3c9ba0
https://github.com/WebKit/WebKit/commit/dd197abdfa4b84d284694cb5d4cd540bbe3c9ba0
Author: Simon Fraser <[email protected]>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M Source/WebCore/SourcesCocoa.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
A Source/WebCore/platform/graphics/coreimage/FETurbulenceCoreImageApplier.h
A Source/WebCore/platform/graphics/coreimage/FETurbulenceCoreImageApplier.mm
M Source/WebCore/platform/graphics/coreimage/SourceAlphaCoreImageApplier.mm
M Source/WebCore/platform/graphics/filters/FETurbulence.cpp
M Source/WebCore/platform/graphics/filters/FETurbulence.h
M
Source/WebCore/platform/graphics/filters/software/FETurbulenceSoftwareApplier.cpp
M
Source/WebCore/platform/graphics/filters/software/FETurbulenceSoftwareApplier.h
M
WebKitLibraries/SDKs/watchos26.0-additions.sdk/System/Library/Frameworks/CoreImage.framework/CoreImage.tbd
M
WebKitLibraries/SDKs/watchsimulator26.0-additions.sdk/System/Library/Frameworks/CoreImage.framework/CoreImage.tbd
Log Message:
-----------
[CI Filters] FETurbulence in Core Image
https://bugs.webkit.org/show_bug.cgi?id=304873
rdar://167458150
Reviewed by Mike Wyrzykowski.
Core Image implementation of FETurbulence. This requires some refactoring of
`FETurbulenceSoftwareApplier` so we can share `PaintingData` and access the
local
`random()` function that FETurbulence uses. What runs in the kernel is the same
code that generates the output from `PaintingData` in the software applier. The
output is pixel-identical to the software code path.
There's a workaround for a Core Image bug that I did not yet reduce and file,
where it seems to generate an image larger than the `extent` provided to
`applyWithExtent:`.
* Source/WebCore/SourcesCocoa.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/platform/graphics/coreimage/FETurbulenceCoreImageApplier.h:
Copied from
Source/WebCore/platform/graphics/coreimage/SourceAlphaCoreImageApplier.mm.
* Source/WebCore/platform/graphics/coreimage/FETurbulenceCoreImageApplier.mm:
Added.
(WebCore::turbulenceKernel):
* Source/WebCore/platform/graphics/coreimage/SourceAlphaCoreImageApplier.mm:
Unified build fix.
* Source/WebCore/platform/graphics/filters/FETurbulence.cpp:
(WebCore::FETurbulence::supportedFilterRenderingModes const):
(WebCore::FETurbulence::createAcceleratedApplier const):
* Source/WebCore/platform/graphics/filters/FETurbulence.h:
*
Source/WebCore/platform/graphics/filters/software/FETurbulenceSoftwareApplier.cpp:
(WebCore::FETurbulenceSoftwareApplier::PaintingData::PaintingData):
(WebCore::FETurbulenceSoftwareApplier::random):
(WebCore::FETurbulenceSoftwareApplier::computeStitching):
(WebCore::FETurbulenceSoftwareApplier::apply const):
(WebCore::FETurbulenceSoftwareApplier::initPaintingData): Deleted.
*
Source/WebCore/platform/graphics/filters/software/FETurbulenceSoftwareApplier.h:
*
WebKitLibraries/SDKs/watchos26.0-additions.sdk/System/Library/Frameworks/CoreImage.framework/CoreImage.tbd:
*
WebKitLibraries/SDKs/watchsimulator26.0-additions.sdk/System/Library/Frameworks/CoreImage.framework/CoreImage.tbd:
Canonical link: https://commits.webkit.org/305074@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications