Changeset 106864 in webkit


Ignore:
Timestamp:
Feb 6, 2012 3:23:43 PM (12 years ago)
Author:
crogers@google.com
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:
Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r106861 r106864  
     12012-02-06  Chris Rogers  <crogers@google.com>
     2
     3        zvmul incorrectly multiplies complex arrays on Windows.
     4        https://bugs.webkit.org/show_bug.cgi?id=77900
     5
     6        Reviewed by Kenneth Russell.
     7
     8        * platform/chromium/test_expectations.txt:
     9
    1102012-02-06  Ami Fischman  <fischman@chromium.org>
    211
  • trunk/LayoutTests/platform/chromium/test_expectations.txt

    r106861 r106864  
    37623762BUGWK75932 : fast/js/mozilla/strict/15.4.4.6.html = TEXT
    37633763
    3764 BUGWK75933 WIN : webaudio/convolution-mono-mono.html = TEXT
    3765 
    37663764BUGWK76280 : media/W3C/video/networkState/networkState_during_progress.html = PASS TEXT
    37673765BUGV81900 SLOW LINUX DEBUG : inspector/debugger/watch-expressions-panel-switch.html = PASS CRASH
  • trunk/Source/WebCore/ChangeLog

    r106863 r106864  
     12012-02-06  Chris Rogers  <crogers@google.com>
     2
     3        zvmul incorrectly multiplies complex arrays on Windows.
     4        https://bugs.webkit.org/show_bug.cgi?id=77900
     5
     6        Reviewed by Kenneth Russell.
     7
     8        * platform/audio/VectorMath.cpp:
     9        (WebCore::VectorMath::zvmul):
     10
    1112012-02-06  Andreas Kling  <awesomekling@apple.com>
    212
  • trunk/Source/WebCore/platform/audio/VectorMath.cpp

    r105079 r106864  
    419419#endif
    420420    for (; i < framesToProcess; ++i) {
    421         realDestP[i] = real1P[i] * real2P[i] - imag1P[i] * imag2P[i];
    422         imagDestP[i] = real1P[i] * imag2P[i] + imag1P[i] * real2P[i];
     421        // Read and compute result before storing them, in case the
     422        // destination is the same as one of the sources.
     423        float realResult = real1P[i] * real2P[i] - imag1P[i] * imag2P[i];
     424        float imagResult = real1P[i] * imag2P[i] + imag1P[i] * real2P[i];
     425
     426        realDestP[i] = realResult;
     427        imagDestP[i] = imagResult;
    423428    }
    424429}
Note: See TracChangeset for help on using the changeset viewer.