Bug 243816

Summary: [Filters] Support CoreGraphics filters
Product: WebKit Reporter: Said Abou-Hallawa <sabouhallawa>
Component: Layout and RenderingAssignee: Said Abou-Hallawa <sabouhallawa>
Status: NEW ---    
Severity: Normal CC: bfulgham, heycam, simon.fraser, webkit-bug-importer, zalan
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 249753, 267566, 248175, 248180, 248181, 248193, 248197, 248318, 248354, 248375, 248483, 248587, 261925, 267354    
Bug Blocks:    

Description Said Abou-Hallawa 2022-08-11 01:23:23 PDT
Software filters use ImageBuffers to generate the result of their applying to the target element. These buffers can take significant amount of memory if the target element is large or the number of effects are big.

CoreGraphics provides a better way to apply FilterEffects. A CGStyle can be used to apply the a FilterEffect to the current drawing. Also beginTransparencyLayer()/endTransparencyLayer() can be used to force applying the FilterEffect only when composting the layer to the destination GraphicsContext. This will treat the drawing commands between beginning and ending the transparency layer as a unit of drawing.
Comment 1 Said Abou-Hallawa 2022-08-11 01:30:16 PDT
Pull request: https://github.com/WebKit/WebKit/pull/3216
Comment 2 Radar WebKit Bug Importer 2022-08-18 01:24:16 PDT
<rdar://problem/98820279>
Comment 3 Cameron McCormack (:heycam) 2023-09-21 18:05:39 PDT
rdar://115870393