Branch: refs/heads/webkitglib/2.52
  Home:   https://github.com/WebKit/WebKit
  Commit: ae3426a78b8eb21b23a7e8b4dbec9f9af1f1d4cb
      
https://github.com/WebKit/WebKit/commit/ae3426a78b8eb21b23a7e8b4dbec9f9af1f1d4cb
  Author: Said Abou-Hallawa <[email protected]>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M LayoutTests/svg/filters/feMorphology-radius-cases.svg
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M 
Source/WebCore/platform/graphics/filters/software/FEMorphologySoftwareApplier.cpp
    M 
Source/WebCore/platform/graphics/filters/software/FEMorphologySoftwareApplier.h
    A 
Source/WebCore/platform/graphics/filters/software/FilterEffectSoftwareParallelApplier.h

  Log Message:
  -----------
  Cherry-pick 305413.516@safari-7624-branch (e557102b0f77). 
https://bugs.webkit.org/show_bug.cgi?id=308910

    FEMorphologySoftwareApplier is not thread safe
    https://bugs.webkit.org/show_bug.cgi?id=308910
    rdar://168776587

    Reviewed by Mike Wyrzykowski.

    The software morphology applier relies on threading the calculations using
    ParallelJobs. It splits the source image into vertical blocks and working 
on each
    block separately. All the jobs access the same source and the destination
    PixelBuffer. The problem is the PixelBuffer is not thread safe.

    To fix this issue, FEMorphologySoftwareApplier will create a source and a
    destination PixelBuffers for each job. Before executing the parallel jobs, 
it
    copies bytes from its source PixelBuffer to the jobs source PixelBuffers. 
After
    the calculation finishes, FEMorphologySoftwareApplier will collect the 
results
    from the destination PixelBuffers of the jobs to its destination 
PixelBuffer.

    * LayoutTests/svg/filters/feMorphology-radius-cases.svg:
    * Source/WebCore/WebCore.xcodeproj/project.pbxproj:
    * 
Source/WebCore/platform/graphics/filters/software/FEMorphologySoftwareApplier.cpp:
    (WebCore::FEMorphologySoftwareApplier::columnExtremum):
    (WebCore::FEMorphologySoftwareApplier::applyPlatformGeneric):
    (WebCore::FEMorphologySoftwareApplier::applyPlatformWorker):
    (WebCore::FEMorphologySoftwareApplier::applyPlatform):
    (WebCore::FEMorphologySoftwareApplier::apply const):
    * 
Source/WebCore/platform/graphics/filters/software/FEMorphologySoftwareApplier.h:
    * 
Source/WebCore/platform/graphics/filters/software/FilterEffectSoftwareParallelApplier.h:
 Added.
    (WebCore::applyPlatformParallel):

    Identifier: 305413.516@safari-7624-branch

Canonical link: https://commits.webkit.org/305877.691@webkitglib/2.52



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to