Title: [106864] trunk
Revision
106864
Author
[email protected]
Date
2012-02-06 15:23:43 -0800 (Mon, 06 Feb 2012)

Log Message

zvmul incorrectly multiplies complex arrays on Windows.
https://bugs.webkit.org/show_bug.cgi?id=77900

Reviewed by Kenneth Russell.

Source/WebCore:

* platform/audio/VectorMath.cpp:
(WebCore::VectorMath::zvmul):

LayoutTests:

* platform/chromium/test_expectations.txt:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (106863 => 106864)


--- trunk/LayoutTests/ChangeLog	2012-02-06 23:14:11 UTC (rev 106863)
+++ trunk/LayoutTests/ChangeLog	2012-02-06 23:23:43 UTC (rev 106864)
@@ -1,3 +1,12 @@
+2012-02-06  Chris Rogers  <[email protected]>
+
+        zvmul incorrectly multiplies complex arrays on Windows.
+        https://bugs.webkit.org/show_bug.cgi?id=77900
+
+        Reviewed by Kenneth Russell.
+
+        * platform/chromium/test_expectations.txt:
+
 2012-02-06  Ami Fischman  <[email protected]>
 
         Unreviewed, chromium expectations update.

Modified: trunk/LayoutTests/platform/chromium/test_expectations.txt (106863 => 106864)


--- trunk/LayoutTests/platform/chromium/test_expectations.txt	2012-02-06 23:14:11 UTC (rev 106863)
+++ trunk/LayoutTests/platform/chromium/test_expectations.txt	2012-02-06 23:23:43 UTC (rev 106864)
@@ -3761,8 +3761,6 @@
 BUGWK75932 : fast/js/array-defineOwnProperty.html = TEXT
 BUGWK75932 : fast/js/mozilla/strict/15.4.4.6.html = TEXT
 
-BUGWK75933 WIN : webaudio/convolution-mono-mono.html = TEXT
-
 BUGWK76280 : media/W3C/video/networkState/networkState_during_progress.html = PASS TEXT
 BUGV81900 SLOW LINUX DEBUG : inspector/debugger/watch-expressions-panel-switch.html = PASS CRASH
 BUGV81900 SLOW LINUX DEBUG : inspector/debugger/debugger-breakpoints-not-activated-on-reload.html = PASS CRASH

Modified: trunk/Source/WebCore/ChangeLog (106863 => 106864)


--- trunk/Source/WebCore/ChangeLog	2012-02-06 23:14:11 UTC (rev 106863)
+++ trunk/Source/WebCore/ChangeLog	2012-02-06 23:23:43 UTC (rev 106864)
@@ -1,3 +1,13 @@
+2012-02-06  Chris Rogers  <[email protected]>
+
+        zvmul incorrectly multiplies complex arrays on Windows.
+        https://bugs.webkit.org/show_bug.cgi?id=77900
+
+        Reviewed by Kenneth Russell.
+
+        * platform/audio/VectorMath.cpp:
+        (WebCore::VectorMath::zvmul):
+
 2012-02-06  Andreas Kling  <[email protected]>
 
         REGRESSION(r106756): 10% performance hit on DOM/Template.

Modified: trunk/Source/WebCore/platform/audio/VectorMath.cpp (106863 => 106864)


--- trunk/Source/WebCore/platform/audio/VectorMath.cpp	2012-02-06 23:14:11 UTC (rev 106863)
+++ trunk/Source/WebCore/platform/audio/VectorMath.cpp	2012-02-06 23:23:43 UTC (rev 106864)
@@ -418,8 +418,13 @@
     }
 #endif
     for (; i < framesToProcess; ++i) {
-        realDestP[i] = real1P[i] * real2P[i] - imag1P[i] * imag2P[i];
-        imagDestP[i] = real1P[i] * imag2P[i] + imag1P[i] * real2P[i];
+        // Read and compute result before storing them, in case the
+        // destination is the same as one of the sources.
+        float realResult = real1P[i] * real2P[i] - imag1P[i] * imag2P[i];
+        float imagResult = real1P[i] * imag2P[i] + imag1P[i] * real2P[i];
+
+        realDestP[i] = realResult;
+        imagDestP[i] = imagResult;
     }
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to