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

Reply via email to