Bug 231653

Summary: [TextureMapper] large blur filter doesn't look smooth
Product: WebKit Reporter: Fujii Hironori <Hironori.Fujii>
Component: PlatformAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: aki.develop8128, cgarcia, kdwkleung, smoley, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=87695
Bug Depends on: 261022, 261101, 261102    
Bug Blocks:    
Attachments:
Description Flags
test case none

Description Fujii Hironori 2021-10-12 19:02:56 PDT
[TextureMapper] large blur filter doesn't look smooth

attachment#413757 [details]

https://speakerdeck.com/trishagee/code-review-best-practice
Comment 1 Radar WebKit Bug Importer 2021-10-19 19:03:20 PDT
<rdar://problem/84444307>
Comment 2 Smoley 2021-11-02 17:19:27 PDT
Thanks for filing, the attached test case and the linked page both look smooth for me on Safari Technology Preview 134. Are you seeing this issue there as well?
Comment 3 Fujii Hironori 2021-11-02 18:23:25 PDT
TextureMapper is used only by GTK, WPE, WinCairo and PlayStation ports.
Comment 4 Fujii Hironori 2022-02-21 15:56:44 PST
Created attachment 452789 [details]
test case
Comment 5 Fujii Hironori 2022-06-26 23:09:27 PDT
FEGaussianBlurSoftwareApplier::boxBlurUnaccelerated is applying box-blur three times.
https://github.com/WebKit/WebKit/blob/a713d4c4e774133040e273ce5c2ec5e8ebf85e02/Source/WebCore/platform/graphics/filters/software/FEGaussianBlurSoftwareApplier.cpp#L302-L328

This is suggested by the spec:
https://drafts.fxtf.org/filter-effects/#feGaussianBlurElement

> For larger values of "s" (s >= 2.0), an approximation can be
> used: Three successive box-blurs build a piece-wise quadratic
> convolution kernel, which approximates the Gaussian kernel to
> within roughly 3%.
Comment 6 Akihiro Kiuchi 2023-09-01 00:30:52 PDT
I will tackle this issue under mentorship of Fujii-san.
Comment 7 Fujii Hironori 2023-09-06 20:33:30 PDT
All sub tasks have been resovled. No more remaining tasks. Closed.
Comment 8 Carlos Garcia Campos 2023-09-07 00:40:02 PDT
Could you add a link here to the PR fixing this issue?
Comment 9 Fujii Hironori 2023-09-07 00:48:43 PDT
https://github.com/WebKit/WebKit/pull/17419 fixed the pixelated problem.
https://github.com/WebKit/WebKit/pull/17471 is a speed up Gaussian blur filtrer.
Comment 10 Carlos Garcia Campos 2023-09-07 03:00:45 PDT
Thanks, great job!