Title: [225035] trunk/Source/WebCore
Revision
225035
Author
[email protected]
Date
2017-11-19 13:57:13 -0800 (Sun, 19 Nov 2017)

Log Message

Use TypedArrayView's setRange() in FETurbulence
https://bugs.webkit.org/show_bug.cgi?id=179878

Reviewed by Sam Weinig.

Writing the 4 component values at once makes the function about 10% faster.

* platform/graphics/filters/FETurbulence.cpp:
(WebCore::FETurbulence::fillRegion const):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (225034 => 225035)


--- trunk/Source/WebCore/ChangeLog	2017-11-19 21:56:17 UTC (rev 225034)
+++ trunk/Source/WebCore/ChangeLog	2017-11-19 21:57:13 UTC (rev 225035)
@@ -1,3 +1,15 @@
+2017-11-19  Simon Fraser  <[email protected]>
+
+        Use TypedArrayView's setRange() in FETurbulence
+        https://bugs.webkit.org/show_bug.cgi?id=179878
+
+        Reviewed by Sam Weinig.
+
+        Writing the 4 component values at once makes the function about 10% faster.
+
+        * platform/graphics/filters/FETurbulence.cpp:
+        (WebCore::FETurbulence::fillRegion const):
+
 2017-11-18  Chris Dumez  <[email protected]>
 
         ASSERTION FAILED: registration in WebCore::SWServerJobQueue::scriptContextStarted(ServiceWorkerIdentifier)

Modified: trunk/Source/WebCore/platform/graphics/filters/FETurbulence.cpp (225034 => 225035)


--- trunk/Source/WebCore/platform/graphics/filters/FETurbulence.cpp	2017-11-19 21:56:17 UTC (rev 225034)
+++ trunk/Source/WebCore/platform/graphics/filters/FETurbulence.cpp	2017-11-19 21:57:13 UTC (rev 225035)
@@ -380,10 +380,8 @@
             point.setX(point.x() + 1);
             FloatPoint localPoint = inverseTransfrom.mapPoint(point);
             ColorComponents values = calculateTurbulenceValueForPoint(paintingData, stitchData, localPoint);
-            pixelArray->set(indexOfPixelChannel++, values.components[0]);
-            pixelArray->set(indexOfPixelChannel++, values.components[1]);
-            pixelArray->set(indexOfPixelChannel++, values.components[2]);
-            pixelArray->set(indexOfPixelChannel++, values.components[3]);
+            pixelArray->setRange(values.components, 4, indexOfPixelChannel);
+            indexOfPixelChannel += 4;
         }
     }
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to