Summary: | FETurbulence: compute all 4 channels at once | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Simon Fraser (smfr) <simon.fraser> | ||||||
Component: | SVG | Assignee: | Simon Fraser (smfr) <simon.fraser> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | dino, ews-watchlist, kondapallykalyan, sabouhallawa, sam, simon.fraser, thorton, webkit-bug-importer, zimmermann | ||||||
Priority: | P2 | Keywords: | InRadar | ||||||
Version: | WebKit Nightly Build | ||||||||
Hardware: | Unspecified | ||||||||
OS: | Unspecified | ||||||||
Attachments: |
|
Description
Simon Fraser (smfr)
2017-11-17 11:41:28 PST
Created attachment 327203 [details]
Patch
This makes FETurbulence about 2x faster.
Created attachment 327286 [details]
Patch
Comment on attachment 327286 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=327286&action=review > Source/WebCore/platform/graphics/ColorUtilities.h:42 > + FloatComponents& operator +=(const FloatComponents& rhs) We don't usually put a space after 'operator'. > Source/WebCore/platform/graphics/ColorUtilities.h:51 > + FloatComponents operator +(float rhs) const We don't usually put a space after 'operator'. > Source/WebCore/platform/graphics/ColorUtilities.h:61 > + FloatComponents operator /(float denominator) const We don't usually put a space after 'operator'. > Source/WebCore/platform/graphics/ColorUtilities.h:71 > + FloatComponents operator *(float factor) const We don't usually put a space after 'operator'. I know I already reviewed this, but I wonder if this could get an even bigger speedup if we used something like GCC's: typedef float float4 __attribute__((__vector_size__(16))) or clangs: typedef __attribute__((__ext_vector_type__(4))) float float4; |