NEW258229
Don't cap the FEGaussian max kernel size
https://bugs.webkit.org/show_bug.cgi?id=258229
Summary Don't cap the FEGaussian max kernel size
Ahmad Saleem
Reported 2023-06-16 17:21:31 PDT
Hi Team, While going through WebKit's commit, I came across another test case where all browsers are different and by merging Blink commit, we start doing bit better (IMO?). Blink Commit: https://src.chromium.org/viewvc/blink?view=revision&revision=186886 WebKit SOurce: https://searchfox.org/wubkat/source/Source/WebCore/platform/graphics/filters/FEGaussianBlur.cpp#87 ^ Remove Line 87 and change Line 92 as below: return clampTo<int>(size); _______ I think getting some input from Simon, Said and Nikolas would be good. Thanks!
Attachments
All browsers result in test case (350.25 KB, image/png)
2023-06-16 17:24 PDT, Ahmad Saleem
no flags
Ahmad Saleem
Comment 1 2023-06-16 17:24:32 PDT
Created attachment 466720 [details] All browsers result in test case
Radar WebKit Bug Importer
Comment 2 2023-06-23 17:22:14 PDT
Ahmad Saleem
Comment 3 2025-06-08 10:44:45 PDT
src source is gone so other link - https://chromium.googlesource.com/chromium/src.git/+/76892fe354a50a6a33f17759a2ebc7269eb971f6 Firefox also matches Chromium now, so I think it is worth trying to match other browsers. ``` IntSize FEGaussianBlur::calculateUnscaledKernelSize(FloatSize stdDeviation) { ASSERT(stdDeviation.width() >= 0 && stdDeviation.height() >= 0); IntSize kernelSize; if (stdDeviation.width()) { auto size = std::max<unsigned>(2, static_cast<unsigned>(floorf(stdDeviation.width() * gaussianKernelFactor() + 0.5f))); kernelSize.setWidth(size); } if (stdDeviation.height()) { auto size = std::max<unsigned>(2, static_cast<unsigned>(floorf(stdDeviation.height() * gaussianKernelFactor() + 0.5f))); kernelSize.setHeight(size); } return kernelSize; } ``` and delete 'clampedToKernelSize' completely.
Simon Fraser (smfr)
Comment 4 2025-06-09 09:45:45 PDT
That will kill performance in some cases.
Note You need to log in before you can comment on or make changes to this bug.