Title: [98462] trunk/Source/WebCore
Revision
98462
Author
kbal...@webkit.org
Date
2011-10-26 04:44:12 -0700 (Wed, 26 Oct 2011)

Log Message

ParallelJobs path of FEConvolveMatrix is erroneous
https://bugs.webkit.org/show_bug.cgi?id=70409

Reviewed by Zoltan Herczeg.

Covered by existing tests.

* platform/graphics/filters/FEConvolveMatrix.cpp:
(WebCore::FEConvolveMatrix::fastSetInteriorPixels):
Reject the silly idea that bytes per pixel ratio is 3 in preserveAlphaValues mode.
The bug was hidden so far because that computation has no effect when we are going
with the full inferior area in one round (in that case clipBottom and yEnd are equals
and the value of the _expression_ is always 0). With ParallelJobs we process sub-areas
on each thread which has triggered the issue.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (98461 => 98462)


--- trunk/Source/WebCore/ChangeLog	2011-10-26 09:59:17 UTC (rev 98461)
+++ trunk/Source/WebCore/ChangeLog	2011-10-26 11:44:12 UTC (rev 98462)
@@ -1,3 +1,20 @@
+2011-10-26  Balazs Kelemen  <kbal...@webkit.org>
+
+        ParallelJobs path of FEConvolveMatrix is erroneous
+        https://bugs.webkit.org/show_bug.cgi?id=70409
+
+        Reviewed by Zoltan Herczeg.
+
+        Covered by existing tests.
+
+        * platform/graphics/filters/FEConvolveMatrix.cpp:
+        (WebCore::FEConvolveMatrix::fastSetInteriorPixels):
+        Reject the silly idea that bytes per pixel ratio is 3 in preserveAlphaValues mode.
+        The bug was hidden so far because that computation has no effect when we are going
+        with the full inferior area in one round (in that case clipBottom and yEnd are equals
+        and the value of the _expression_ is always 0). With ParallelJobs we process sub-areas
+        on each thread which has triggered the issue.
+
 2011-10-26  Sheriff Bot  <webkit.review....@gmail.com>
 
         Unreviewed, rolling out r98393.

Modified: trunk/Source/WebCore/platform/graphics/filters/FEConvolveMatrix.cpp (98461 => 98462)


--- trunk/Source/WebCore/platform/graphics/filters/FEConvolveMatrix.cpp	2011-10-26 09:59:17 UTC (rev 98461)
+++ trunk/Source/WebCore/platform/graphics/filters/FEConvolveMatrix.cpp	2011-10-26 11:44:12 UTC (rev 98462)
@@ -251,7 +251,7 @@
     ASSERT(m_divisor);
 
     // Skip the first '(clipBottom - yEnd)' lines
-    pixel += (clipBottom - yEnd) * (xIncrease + (clipRight + 1) * (preserveAlphaValues ? 3 : 4));
+    pixel += (clipBottom - yEnd) * (xIncrease + (clipRight + 1) * 4);
     int startKernelPixel = (clipBottom - yEnd) * (xIncrease + (clipRight + 1) * 4);
 
     for (int y = yEnd + 1; y > yStart; --y) {
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to