Changeset 267357 in webkit
- Timestamp:
- Sep 21, 2020, 12:51:02 PM (6 years ago)
- Location:
- trunk
- Files:
-
- 2 deleted
- 14 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/TestExpectations (modified) (1 diff)
-
LayoutTests/imported/w3c/ChangeLog (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/audioparam-linearRampToValueAtTime-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-panner-expected.txt (modified) (2 diffs)
-
LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/retrospective-setValueAtTime-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-automation-expected.txt (modified) (2 diffs)
-
LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/realtime-conv-expected.txt (modified) (1 diff)
-
LayoutTests/webaudio/AudioParam/audioparam-cancel-and-hold-expected.txt (modified) (4 diffs)
-
LayoutTests/webaudio/AudioParam/audioparam-negative-exponentialRamp-expected.txt (modified) (1 diff)
-
LayoutTests/webaudio/AudioParam/audioparam-setTargetAtTime-continuous-expected.txt (modified) (2 diffs)
-
LayoutTests/webaudio/audioparam-linearRampToValueAtTime-expected.txt (deleted)
-
LayoutTests/webaudio/audioparam-linearRampToValueAtTime.html (deleted)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/Modules/webaudio/AudioParamTimeline.cpp (modified) (2 diffs)
-
Source/WebCore/Modules/webaudio/AudioParamTimeline.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r267349 r267357 1 2020-09-21 Chris Dumez <cdumez@apple.com> 2 3 Vectorize linearRampToValueAtTime processing in AudioParamTimeline 4 https://bugs.webkit.org/show_bug.cgi?id=216788 5 6 Reviewed by Darin Adler. 7 8 * webaudio/AudioParam/audioparam-cancel-and-hold-expected.txt: 9 * webaudio/AudioParam/audioparam-negative-exponentialRamp-expected.txt: 10 * webaudio/AudioParam/audioparam-setTargetAtTime-continuous-expected.txt: 11 Rebaseline existing tests now that more checks are passing. 12 13 * webaudio/audioparam-linearRampToValueAtTime-expected.txt: Removed. 14 * webaudio/audioparam-linearRampToValueAtTime.html: Removed. 15 Drop outdated test. This test was imported into WPT and now resides at: 16 - imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/audioparam-linearRampToValueAtTime.html 17 1 18 2020-09-21 Chris Dumez <cdumez@apple.com> 2 19 -
trunk/LayoutTests/TestExpectations
r267333 r267357 325 325 326 326 # Webaudio tests that are flaky. 327 imported/w3c/web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/realtime-conv.html [ Pass Failure ]328 327 imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-stereo-panner.html [ Pass Failure ] 329 328 -
trunk/LayoutTests/imported/w3c/ChangeLog
r267354 r267357 1 2020-09-21 Chris Dumez <cdumez@apple.com> 2 3 Vectorize linearRampToValueAtTime processing in AudioParamTimeline 4 https://bugs.webkit.org/show_bug.cgi?id=216788 5 6 Reviewed by Darin Adler. 7 8 Rebaseline WPT tests now that more checks are passing. 9 10 * web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/audioparam-linearRampToValueAtTime-expected.txt: 11 * web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-panner-expected.txt: 12 * web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/retrospective-setValueAtTime-expected.txt: 13 * web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-automation-expected.txt: 14 * web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/realtime-conv-expected.txt: 15 1 16 2020-09-21 Sam Sneddon <gsnedders@apple.com> 2 17 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/audioparam-linearRampToValueAtTime-expected.txt
r266746 r267357 5 5 PASS > [test] AudioParam linearRampToValueAtTime() functionality 6 6 PASS Number of tests started and ended at the correct time is equal to 100. 7 PASS Max error for test 0 at offset 12 54is less than or equal to 0.000001865.8 PASS Max error for test 1 at offset 2561is less than or equal to 0.000001865.9 PASS Max error for test 2 at offset 2731is less than or equal to 0.000001865.10 PASS Max error for test 3 at offset 3980is less than or equal to 0.000001865.11 PASS Max error for test 4 at offset 6599is less than or equal to 0.000001865.12 PASS Max error for test 5 at offset 6700is less than or equal to 0.000001865.13 PASS Max error for test 6 at offset 9245is less than or equal to 0.000001865.14 PASS Max error for test 7 at offset 10568is less than or equal to 0.000001865.15 PASS Max error for test 8 at offset 1 0669is less than or equal to 0.000001865.16 PASS Max error for test 9 at offset 13 219is less than or equal to 0.000001865.17 PASS Max error for test 10 at offset 1 4468is less than or equal to 0.000001865.18 PASS Max error for test 11 at offset 1 4638is less than or equal to 0.000001865.19 PASS Max error for test 12 at offset 1 7114is less than or equal to 0.000001865.20 PASS Max error for test 13 at offset 1 8437is less than or equal to 0.000001865.21 PASS Max error for test 14 at offset 1 8607is less than or equal to 0.000001865.22 PASS Max error for test 15 at offset 2 1083is less than or equal to 0.000001865.23 PASS Max error for test 16 at offset 22 480is less than or equal to 0.000001865.24 PASS Max error for test 17 at offset 2 2576is less than or equal to 0.000001865.25 PASS Max error for test 18 at offset 2 5121is less than or equal to 0.000001865.26 PASS Max error for test 19 at offset 26 444is less than or equal to 0.000001865.27 PASS Max error for test 20 at offset 26 545is less than or equal to 0.000001865.28 PASS Max error for test 21 at offset 2 9090is less than or equal to 0.000001865.29 PASS Max error for test 22 at offset 29117is less than or equal to 0.000001865.30 PASS Max error for test 23 at offset 30 514is less than or equal to 0.000001865.31 PASS Max error for test 24 at offset 3 2990is less than or equal to 0.000001865.32 PASS Max error for test 25 at offset 3 4313is less than or equal to 0.000001865.33 PASS Max error for test 26 at offset 34 483is less than or equal to 0.000001865.34 PASS Max error for test 27 at offset 3 6959is less than or equal to 0.000001865.35 PASS Max error for test 28 at offset 37 129is less than or equal to 0.000001865.36 PASS Max error for test 29 at offset 38 452is less than or equal to 0.000001865.37 PASS Max error for test 30 at offset 40 997is less than or equal to 0.000001865.38 PASS Max error for test 31 at offset 4 2320is less than or equal to 0.000001865.39 PASS Max error for test 32 at offset 4 2421is less than or equal to 0.000001865.40 PASS Max error for test 33 at offset 44 966is less than or equal to 0.000001865.41 PASS Max error for test 34 at offset 4 5067is less than or equal to 0.000001865.42 PASS Max error for test 35 at offset 4 6390is less than or equal to 0.000001865.43 PASS Max error for test 36 at offset 488 66is less than or equal to 0.000001865.44 PASS Max error for test 37 at offset 49036is less than or equal to 0.000001865.45 PASS Max error for test 38 at offset 50 359is less than or equal to 0.000001865.46 PASS Max error for test 39 at offset 528 35is less than or equal to 0.000001865.47 PASS Max error for test 40 at offset 53 005is less than or equal to 0.000001865.48 PASS Max error for test 41 at offset 5 4328is less than or equal to 0.000001865.49 PASS Max error for test 42 at offset 56 873is less than or equal to 0.000001865.50 PASS Max error for test 43 at offset 5 6974is less than or equal to 0.000001865.51 PASS Max error for test 44 at offset 5 9519is less than or equal to 0.000001865.52 PASS Max error for test 45 at offset 60 842is less than or equal to 0.000001865.53 PASS Max error for test 46 at offset 6 0943is less than or equal to 0.000001865.54 PASS Max error for test 47 at offset 6 2266is less than or equal to 0.000001865.55 PASS Max error for test 48 at offset 64 742is less than or equal to 0.000001865.56 PASS Max error for test 49 at offset 6 4912is less than or equal to 0.000001865.57 PASS Max error for test 50 at offset 6 7388 is less than or equal to 0.000001865.58 PASS Max error for test 51 at offset 68 703is less than or equal to 0.000001865.59 PASS Max error for test 52 at offset 70111is less than or equal to 0.000001865.60 PASS Max error for test 53 at offset 714 34is less than or equal to 0.000001865.61 PASS Max error for test 54 at offset 7 1519is less than or equal to 0.000001865.62 PASS Max error for test 55 at offset 7 2842is less than or equal to 0.000001865.63 PASS Max error for test 56 at offset 753 18is less than or equal to 0.000001865.64 PASS Max error for test 57 at offset 76 641is less than or equal to 0.000001865.65 PASS Max error for test 58 at offset 7 8049is less than or equal to 0.000001865.66 PASS Max error for test 59 at offset 7 8134is less than or equal to 0.000001865.67 PASS Max error for test 60 at offset 79457is less than or equal to 0.000001865.68 PASS Max error for test 61 at offset 8 0780is less than or equal to 0.000001865.69 PASS Max error for test 62 at offset 83 256is less than or equal to 0.000001865.70 PASS Max error for test 63 at offset 84 579is less than or equal to 0.000001865.71 PASS Max error for test 64 at offset 8 4749is less than or equal to 0.000001865.72 PASS Max error for test 65 at offset 86 072is less than or equal to 0.000001865.73 PASS Max error for test 66 at offset 87 395is less than or equal to 0.000001865.74 PASS Max error for test 67 at offset 8 9956is less than or equal to 0.000001865.75 PASS Max error for test 68 at offset 9 1194is less than or equal to 0.000001865.76 PASS Max error for test 69 at offset 92 517is less than or equal to 0.000001865.77 PASS Max error for test 70 at offset 9 2687is less than or equal to 0.000001865.78 PASS Max error for test 71 at offset 9 4010is less than or equal to 0.000001865.79 PASS Max error for test 72 at offset 9 6571is less than or equal to 0.000001865.80 PASS Max error for test 73 at offset 9 7894is less than or equal to 0.000001865.81 PASS Max error for test 74 at offset 9 9132is less than or equal to 0.000001865.82 PASS Max error for test 75 at offset 100 536is less than or equal to 0.000001865.83 PASS Max error for test 76 at offset 100 552 is less than or equal to 0.000001865.84 PASS Max error for test 77 at offset 10 3190is less than or equal to 0.000001865.85 PASS Max error for test 78 at offset 10 4505is less than or equal to 0.000001865.86 PASS Max error for test 79 at offset 10 4598is less than or equal to 0.000001865.87 PASS Max error for test 80 at offset 10 5921is less than or equal to 0.000001865.88 PASS Max error for test 81 at offset 1084 74is less than or equal to 0.000001865.89 PASS Max error for test 82 at offset 10 8567is less than or equal to 0.000001865.90 PASS Max error for test 83 at offset 1111 28is less than or equal to 0.000001865.91 PASS Max error for test 84 at offset 11 2443is less than or equal to 0.000001865.92 PASS Max error for test 85 at offset 112 459is less than or equal to 0.000001865.93 PASS Max error for test 86 at offset 11 5097 is less than or equal to 0.000001865.94 PASS Max error for test 87 at offset 11 5182is less than or equal to 0.000001865.7 PASS Max error for test 0 at offset 1277 is less than or equal to 0.000001865. 8 PASS Max error for test 1 at offset 1532 is less than or equal to 0.000001865. 9 PASS Max error for test 2 at offset 3838 is less than or equal to 0.000001865. 10 PASS Max error for test 3 at offset 5246 is less than or equal to 0.000001865. 11 PASS Max error for test 4 at offset 5501 is less than or equal to 0.000001865. 12 PASS Max error for test 5 at offset 7164 is less than or equal to 0.000001865. 13 PASS Max error for test 6 at offset 8317 is less than or equal to 0.000001865. 14 PASS Max error for test 7 at offset 9470 is less than or equal to 0.000001865. 15 PASS Max error for test 8 at offset 11133 is less than or equal to 0.000001865. 16 PASS Max error for test 9 at offset 13181 is less than or equal to 0.000001865. 17 PASS Max error for test 10 at offset 13439 is less than or equal to 0.000001865. 18 PASS Max error for test 11 at offset 15102 is less than or equal to 0.000001865. 19 PASS Max error for test 12 at offset 16255 is less than or equal to 0.000001865. 20 PASS Max error for test 13 at offset 17918 is less than or equal to 0.000001865. 21 PASS Max error for test 14 at offset 19071 is less than or equal to 0.000001865. 22 PASS Max error for test 15 at offset 20734 is less than or equal to 0.000001865. 23 PASS Max error for test 16 at offset 22398 is less than or equal to 0.000001865. 24 PASS Max error for test 17 at offset 23550 is less than or equal to 0.000001865. 25 PASS Max error for test 18 at offset 24060 is less than or equal to 0.000001865. 26 PASS Max error for test 19 at offset 26366 is less than or equal to 0.000001865. 27 PASS Max error for test 20 at offset 26876 is less than or equal to 0.000001865. 28 PASS Max error for test 21 at offset 28029 is less than or equal to 0.000001865. 29 PASS Max error for test 22 at offset 30333 is less than or equal to 0.000001865. 30 PASS Max error for test 23 at offset 30845 is less than or equal to 0.000001865. 31 PASS Max error for test 24 at offset 31998 is less than or equal to 0.000001865. 32 PASS Max error for test 25 at offset 33661 is less than or equal to 0.000001865. 33 PASS Max error for test 26 at offset 34814 is less than or equal to 0.000001865. 34 PASS Max error for test 27 at offset 35967 is less than or equal to 0.000001865. 35 PASS Max error for test 28 at offset 37630 is less than or equal to 0.000001865. 36 PASS Max error for test 29 at offset 38783 is less than or equal to 0.000001865. 37 PASS Max error for test 30 at offset 40446 is less than or equal to 0.000001865. 38 PASS Max error for test 31 at offset 41599 is less than or equal to 0.000001865. 39 PASS Max error for test 32 at offset 43262 is less than or equal to 0.000001865. 40 PASS Max error for test 33 at offset 44415 is less than or equal to 0.000001865. 41 PASS Max error for test 34 at offset 46078 is less than or equal to 0.000001865. 42 PASS Max error for test 35 at offset 47231 is less than or equal to 0.000001865. 43 PASS Max error for test 36 at offset 48894 is less than or equal to 0.000001865. 44 PASS Max error for test 37 at offset 50047 is less than or equal to 0.000001865. 45 PASS Max error for test 38 at offset 50557 is less than or equal to 0.000001865. 46 PASS Max error for test 39 at offset 52863 is less than or equal to 0.000001865. 47 PASS Max error for test 40 at offset 53373 is less than or equal to 0.000001865. 48 PASS Max error for test 41 at offset 55164 is less than or equal to 0.000001865. 49 PASS Max error for test 42 at offset 56189 is less than or equal to 0.000001865. 50 PASS Max error for test 43 at offset 57852 is less than or equal to 0.000001865. 51 PASS Max error for test 44 at offset 58495 is less than or equal to 0.000001865. 52 PASS Max error for test 45 at offset 60796 is less than or equal to 0.000001865. 53 PASS Max error for test 46 at offset 61311 is less than or equal to 0.000001865. 54 PASS Max error for test 47 at offset 63484 is less than or equal to 0.000001865. 55 PASS Max error for test 48 at offset 64255 is less than or equal to 0.000001865. 56 PASS Max error for test 49 at offset 65918 is less than or equal to 0.000001865. 57 PASS Max error for test 50 at offset 66428 is less than or equal to 0.000001865. 58 PASS Max error for test 51 at offset 68604 is less than or equal to 0.000001865. 59 PASS Max error for test 52 at offset 68988 is less than or equal to 0.000001865. 60 PASS Max error for test 53 at offset 71420 is less than or equal to 0.000001865. 61 PASS Max error for test 54 at offset 72573 is less than or equal to 0.000001865. 62 PASS Max error for test 55 at offset 73981 is less than or equal to 0.000001865. 63 PASS Max error for test 56 at offset 75389 is less than or equal to 0.000001865. 64 PASS Max error for test 57 at offset 76542 is less than or equal to 0.000001865. 65 PASS Max error for test 58 at offset 76925 is less than or equal to 0.000001865. 66 PASS Max error for test 59 at offset 79358 is less than or equal to 0.000001865. 67 PASS Max error for test 60 at offset 80511 is less than or equal to 0.000001865. 68 PASS Max error for test 61 at offset 81919 is less than or equal to 0.000001865. 69 PASS Max error for test 62 at offset 83327 is less than or equal to 0.000001865. 70 PASS Max error for test 63 at offset 84092 is less than or equal to 0.000001865. 71 PASS Max error for test 64 at offset 85245 is less than or equal to 0.000001865. 72 PASS Max error for test 65 at offset 86653 is less than or equal to 0.000001865. 73 PASS Max error for test 66 at offset 87806 is less than or equal to 0.000001865. 74 PASS Max error for test 67 at offset 88828 is less than or equal to 0.000001865. 75 PASS Max error for test 68 at offset 90367 is less than or equal to 0.000001865. 76 PASS Max error for test 69 at offset 92413 is less than or equal to 0.000001865. 77 PASS Max error for test 70 at offset 93183 is less than or equal to 0.000001865. 78 PASS Max error for test 71 at offset 95229 is less than or equal to 0.000001865. 79 PASS Max error for test 72 at offset 95484 is less than or equal to 0.000001865. 80 PASS Max error for test 73 at offset 96765 is less than or equal to 0.000001865. 81 PASS Max error for test 74 at offset 98300 is less than or equal to 0.000001865. 82 PASS Max error for test 75 at offset 100477 is less than or equal to 0.000001865. 83 PASS Max error for test 76 at offset 100732 is less than or equal to 0.000001865. 84 PASS Max error for test 77 at offset 102015 is less than or equal to 0.000001865. 85 PASS Max error for test 78 at offset 103933 is less than or equal to 0.000001865. 86 PASS Max error for test 79 at offset 105724 is less than or equal to 0.000001865. 87 PASS Max error for test 80 at offset 106239 is less than or equal to 0.000001865. 88 PASS Max error for test 81 at offset 108415 is less than or equal to 0.000001865. 89 PASS Max error for test 82 at offset 109055 is less than or equal to 0.000001865. 90 PASS Max error for test 83 at offset 111101 is less than or equal to 0.000001865. 91 PASS Max error for test 84 at offset 111356 is less than or equal to 0.000001865. 92 PASS Max error for test 85 at offset 112764 is less than or equal to 0.000001865. 93 PASS Max error for test 86 at offset 114047 is less than or equal to 0.000001865. 94 PASS Max error for test 87 at offset 116220 is less than or equal to 0.000001865. 95 95 PASS Max error for test 88 at offset 116426 is less than or equal to 0.000001865. 96 PASS Max error for test 89 at offset 1190 64is less than or equal to 0.000001865.97 PASS Max error for test 90 at offset 1203 75is less than or equal to 0.000001865.96 PASS Max error for test 89 at offset 119039 is less than or equal to 0.000001865. 97 PASS Max error for test 90 at offset 120322 is less than or equal to 0.000001865. 98 98 PASS Max error for test 91 at offset 120395 is less than or equal to 0.000001865. 99 PASS Max error for test 92 at offset 12 1718is less than or equal to 0.000001865.100 PASS Max error for test 93 at offset 124 360is less than or equal to 0.000001865.101 PASS Max error for test 94 at offset 125 663is less than or equal to 0.000001865.102 PASS Max error for test 95 at offset 126 993 is less than or equal to 0.000001865.103 PASS Max error for test 96 at offset 128 330is less than or equal to 0.000001865.104 PASS Max error for test 97 at offset 12 9581is less than or equal to 0.000001865.105 PASS Max error for test 98 at offset 1 29709is less than or equal to 0.000001865.106 PASS Max error for test 99 at offset 13 1537is less than or equal to 0.000001865.99 PASS Max error for test 92 at offset 123004 is less than or equal to 0.000001865. 100 PASS Max error for test 93 at offset 124287 is less than or equal to 0.000001865. 101 PASS Max error for test 94 at offset 125570 is less than or equal to 0.000001865. 102 PASS Max error for test 95 at offset 126593 is less than or equal to 0.000001865. 103 PASS Max error for test 96 at offset 128255 is less than or equal to 0.000001865. 104 PASS Max error for test 97 at offset 128895 is less than or equal to 0.000001865. 105 PASS Max error for test 98 at offset 130815 is less than or equal to 0.000001865. 106 PASS Max error for test 99 at offset 132223 is less than or equal to 0.000001865. 107 107 PASS Number of failed tests with an acceptable relative tolerance of 0.000001865 is equal to 0. 108 108 PASS < [test] All assertions passed. (total 102 assertions) -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-panner-expected.txt
r267167 r267357 24 24 PASS k-rate positionX: Output of k-rate PannerNode is identical to the array [expected array]. 25 25 PASS k-rate positionX: Output of a-rate PannerNode is identical to the array [expected array]. 26 PASS k-rate positionX: Difference between a-rate and k-rate PannerNode is not constantly 0 (contains 63 5different values).26 PASS k-rate positionX: Difference between a-rate and k-rate PannerNode is not constantly 0 (contains 638 different values). 27 27 PASS k-rate positionX k-rate output [0: 127] contains only the constant 0.00005495094956131652. 28 28 PASS k-rate positionX k-rate output [128: 255] contains only the constant 0.001247443608008325. … … 39 39 PASS k-rate positionY: Output of k-rate PannerNode is identical to the array [expected array]. 40 40 PASS k-rate positionY: Output of a-rate PannerNode is identical to the array [expected array]. 41 PASS k-rate positionY: Difference between a-rate and k-rate PannerNode is not constantly 0 (contains 63 6different values).41 PASS k-rate positionY: Difference between a-rate and k-rate PannerNode is not constantly 0 (contains 638 different values). 42 42 PASS k-rate positionY k-rate output [0: 127] contains only the constant 0.15397992730140686. 43 43 PASS k-rate positionY k-rate output [128: 255] contains only the constant 0.0008113961666822433. -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/retrospective-setValueAtTime-expected.txt
r267167 r267357 6 6 PASS Test[0:127] contains only the constant 1. 7 7 PASS Reference[0:127] contains only the constant 1. 8 PASS Test[128:] is identical to the array [ expected array].8 PASS Test[128:] is identical to the array [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15...]. 9 9 PASS < [test] All assertions passed. (total 3 assertions) 10 10 PASS # AUDIT TASK RUNNER FINISHED: 1 tasks ran successfully. -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-automation-expected.txt
r267167 r267357 12 12 PASS < [automate-freq] All assertions passed. (total 1 assertions) 13 13 PASS > [automate-q] 14 FAIL X Output of bandpass filter with Q automation does not equal [0,0.013114781118929386,0.047823384404182434,0.09765293449163437,0.15657125413417816,0.21899054944515228,0.27981746196746826,0.3345244824886322,0.379226952791214,0.4107542335987091,0.4267079830169678,0.42550167441368103,0.40637844800949097,0.3694050908088684,0.31544122099876404,0.24608469009399414...] with an element-wise tolerance of {"absoluteThreshold":9.8348e-7,"relativeThreshold":0}. 15 Index Actual Expected AbsError RelError Test threshold 16 [252] 5.2270841598510742e-1 5.2270942926406860e-1 1.0132789611816406e-6 1.9385128801067413e-6 9.8348000000000007e-7 17 Max AbsError of 1.0132789611816406e-6 at index of 252. 18 Max RelError of 1.9385128801067413e-6 at index of 252. 19 assert_true: expected true got false 20 FAIL < [automate-q] 1 out of 1 assertions were failed. assert_true: expected true got false 14 PASS Output of bandpass filter with Q automation equals [expected array] with an element-wise tolerance of {"absoluteThreshold":9.8348e-7,"relativeThreshold":0}. 15 PASS < [automate-q] All assertions passed. (total 1 assertions) 21 16 PASS > [automate-gain] 22 17 PASS Output of lowshelf filter with gain automation equals [expected array] with an element-wise tolerance of {"absoluteThreshold":0.000027657,"relativeThreshold":0}. … … 31 26 PASS Output of bandpass filter with sinusoidal modulation of bandpass center frequency equals [expected array] with an element-wise tolerance of {"absoluteThreshold":0.000039787,"relativeThreshold":0}. 32 27 PASS < [modulation] All assertions passed. (total 1 assertions) 33 FAIL # AUDIT TASK RUNNER FINISHED: 1 out of 6 tasks were failed. assert_true: expected true got false 28 PASS # AUDIT TASK RUNNER FINISHED: 6 tasks ran successfully. 34 29 -
trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/realtime-conv-expected.txt
r267251 r267357 4 4 PASS Audit report 5 5 PASS > [test] Test convolver with real-time context 6 FAIL X SNR is not greater than or equal to 83. Got 77.00623887904952. assert_true: expected true got false 7 FAIL < [test] 1 out of 1 assertions were failed. assert_true: expected true got false 8 FAIL # AUDIT TASK RUNNER FINISHED: 1 out of 1 tasks were failed. assert_true: expected true got false 6 PASS SNR is greater than or equal to 83. 7 PASS < [test] All assertions passed. (total 1 assertions) 8 PASS # AUDIT TASK RUNNER FINISHED: 1 tasks ran successfully. 9 9 -
trunk/LayoutTests/webaudio/AudioParam/audioparam-cancel-and-hold-expected.txt
r267253 r267357 19 19 PASS Audit report 20 20 PASS > [linear] Cancel linearRampToValueAtTime 21 FAIL X linearRampToValueAtTime: linearRampToValue(0, 0.5) up to time 0.25 does not equal [0,0.0020833334419876337,0.004166666883975267,0.0062500000931322575,0.008333333767950535,0.010416666977107525,0.012500000186264515,0.014583333395421505,0.01666666753590107,0.01875000074505806,0.02083333395421505,0.02291666716337204,0.02500000037252903,0.02708333358168602,0.02916666679084301,0.03125...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}. 22 Index Actual Expected AbsError RelError Test threshold 23 [715] 9.9000853300094604e-1 9.9000847339630127e-1 5.9604644775390625e-8 6.0206196590330427e-8 0.0000000000000000e+0 24 [816] 9.8571431636810303e-1 9.8571425676345825e-1 5.9604644775390625e-8 6.0468481982901817e-8 0.0000000000000000e+0 25 [879] 9.8303568363189697e-1 9.8303574323654175e-1 5.9604644775390625e-8 6.0633242672487782e-8 0.0000000000000000e+0 26 [1264] 9.6666663885116577e-1 9.6666669845581055e-1 5.9604644775390625e-8 6.1659975326144279e-8 0.0000000000000000e+0 27 [1368] 9.6224492788314819e-1 9.6224486827850342e-1 5.9604644775390625e-8 6.1943323098231583e-8 0.0000000000000000e+0 28 ...and 1140 more errors. 29 Max AbsError of 5.9604644775390625e-8 at index of 715. 30 Max RelError of 1.1671811990452458e-7 at index of 11989. 31 [11989] 5.1067179441452026e-1 5.1067173480987549e-1 5.9604644775390625e-8 1.1671811990452458e-7 0.0000000000000000e+0 32 assert_true: expected true got false 21 PASS linearRampToValueAtTime: linearRampToValue(0, 0.5) up to time 0.25 equals [expected array] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}. 33 22 PASS Cancelling linearRampToValueAtTime: linearRampToValue(0, 0.5) at time 0.25 contains only the constant 0.5102040767669678. 34 23 PASS Expected value for cancelling linearRampToValueAtTime: linearRampToValue(0, 0.5) at time 0.25 is 0.5102040767669678 within an error of 0.000083998. 35 FAIL < [linear] 1 out of 3 assertions were failed. assert_true: expected true got false 24 PASS < [linear] All assertions passed. (total 3 assertions) 36 25 PASS > [exponential] Cancel exponentialRampAtTime 37 26 PASS exponentialRampToValue(0.001, 0.5) up to time 0.25 equals [expected array] with an element-wise tolerance of {"absoluteThreshold":5.9605e-8,"relativeThreshold":0}. … … 60 49 PASS < [initial setTarget] All assertions passed. (total 3 assertions) 61 50 PASS > [post cancel: Linear] LinearRamp after cancelling 62 FAIL X Post cancellation linearRampToValueAtTime: linearRampToValue(0, 0.5) up to time 0.25 does not equal [0,0.0020833334419876337,0.004166666883975267,0.0062500000931322575,0.008333333767950535,0.010416666977107525,0.012500000186264515,0.014583333395421505,0.01666666753590107,0.01875000074505806,0.02083333395421505,0.02291666716337204,0.02500000037252903,0.02708333358168602,0.02916666679084301,0.03125...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}. 63 Index Actual Expected AbsError RelError Test threshold 64 [715] 9.9000853300094604e-1 9.9000847339630127e-1 5.9604644775390625e-8 6.0206196590330427e-8 0.0000000000000000e+0 65 [816] 9.8571431636810303e-1 9.8571425676345825e-1 5.9604644775390625e-8 6.0468481982901817e-8 0.0000000000000000e+0 66 [879] 9.8303568363189697e-1 9.8303574323654175e-1 5.9604644775390625e-8 6.0633242672487782e-8 0.0000000000000000e+0 67 [1264] 9.6666663885116577e-1 9.6666669845581055e-1 5.9604644775390625e-8 6.1659975326144279e-8 0.0000000000000000e+0 68 [1368] 9.6224492788314819e-1 9.6224486827850342e-1 5.9604644775390625e-8 6.1943323098231583e-8 0.0000000000000000e+0 69 ...and 1140 more errors. 70 Max AbsError of 5.9604644775390625e-8 at index of 715. 71 Max RelError of 1.1671811990452458e-7 at index of 11989. 72 [11989] 5.1067179441452026e-1 5.1067173480987549e-1 5.9604644775390625e-8 1.1671811990452458e-7 0.0000000000000000e+0 73 assert_true: expected true got false 51 PASS Post cancellation linearRampToValueAtTime: linearRampToValue(0, 0.5) up to time 0.25 equals [expected array] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}. 74 52 PASS Cancelling Post cancellation linearRampToValueAtTime: linearRampToValue(0, 0.5) at time 0.25 contains only the constant 0.5102040767669678. 75 53 PASS Expected value for cancelling Post cancellation linearRampToValueAtTime: linearRampToValue(0, 0.5) at time 0.25 is 0.5102040767669678 within an error of 0.000083998. 76 54 PASS Post linearRamp(2, 0.375) equals [expected array] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}. 77 FAIL < [post cancel: Linear] 1 out of 4 assertions were failed. assert_true: expected true got false 55 PASS < [post cancel: Linear] All assertions passed. (total 4 assertions) 78 56 PASS > [post cancel: Exponential] ExponentialRamp after cancelling 79 FAIL X Post cancel exponentialRampToValueAtTime: linearRampToValue(0, 0.5) up to time 0.25 does not equal [0,0.0020833334419876337,0.004166666883975267,0.0062500000931322575,0.008333333767950535,0.010416666977107525,0.012500000186264515,0.014583333395421505,0.01666666753590107,0.01875000074505806,0.02083333395421505,0.02291666716337204,0.02500000037252903,0.02708333358168602,0.02916666679084301,0.03125...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}. 80 Index Actual Expected AbsError RelError Test threshold 81 [715] 9.9000853300094604e-1 9.9000847339630127e-1 5.9604644775390625e-8 6.0206196590330427e-8 0.0000000000000000e+0 82 [816] 9.8571431636810303e-1 9.8571425676345825e-1 5.9604644775390625e-8 6.0468481982901817e-8 0.0000000000000000e+0 83 [879] 9.8303568363189697e-1 9.8303574323654175e-1 5.9604644775390625e-8 6.0633242672487782e-8 0.0000000000000000e+0 84 [1264] 9.6666663885116577e-1 9.6666669845581055e-1 5.9604644775390625e-8 6.1659975326144279e-8 0.0000000000000000e+0 85 [1368] 9.6224492788314819e-1 9.6224486827850342e-1 5.9604644775390625e-8 6.1943323098231583e-8 0.0000000000000000e+0 86 ...and 1140 more errors. 87 Max AbsError of 5.9604644775390625e-8 at index of 715. 88 Max RelError of 1.1671811990452458e-7 at index of 11989. 89 [11989] 5.1067179441452026e-1 5.1067173480987549e-1 5.9604644775390625e-8 1.1671811990452458e-7 0.0000000000000000e+0 90 assert_true: expected true got false 57 PASS Post cancel exponentialRampToValueAtTime: linearRampToValue(0, 0.5) up to time 0.25 equals [expected array] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}. 91 58 PASS Cancelling Post cancel exponentialRampToValueAtTime: linearRampToValue(0, 0.5) at time 0.25 contains only the constant 0.5102040767669678. 92 59 PASS Expected value for cancelling Post cancel exponentialRampToValueAtTime: linearRampToValue(0, 0.5) at time 0.25 is 0.5102040767669678 within an error of 0.000083998. 93 60 PASS Post exponentialRamp(2, 0.375) equals [expected array] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}. 94 FAIL < [post cancel: Exponential] 1 out of 4 assertions were failed. assert_true: expected true got false 61 PASS < [post cancel: Exponential] All assertions passed. (total 4 assertions) 95 62 PASS > [post cancel: ValueCurve] 96 FAIL X Post cancel setValueCurveAtTime: linearRampToValue(0, 0.5) up to time 0.25 does not equal [0,0.0020833334419876337,0.004166666883975267,0.0062500000931322575,0.008333333767950535,0.010416666977107525,0.012500000186264515,0.014583333395421505,0.01666666753590107,0.01875000074505806,0.02083333395421505,0.02291666716337204,0.02500000037252903,0.02708333358168602,0.02916666679084301,0.03125...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}. 97 Index Actual Expected AbsError RelError Test threshold 98 [715] 9.9000853300094604e-1 9.9000847339630127e-1 5.9604644775390625e-8 6.0206196590330427e-8 0.0000000000000000e+0 99 [816] 9.8571431636810303e-1 9.8571425676345825e-1 5.9604644775390625e-8 6.0468481982901817e-8 0.0000000000000000e+0 100 [879] 9.8303568363189697e-1 9.8303574323654175e-1 5.9604644775390625e-8 6.0633242672487782e-8 0.0000000000000000e+0 101 [1264] 9.6666663885116577e-1 9.6666669845581055e-1 5.9604644775390625e-8 6.1659975326144279e-8 0.0000000000000000e+0 102 [1368] 9.6224492788314819e-1 9.6224486827850342e-1 5.9604644775390625e-8 6.1943323098231583e-8 0.0000000000000000e+0 103 ...and 1140 more errors. 104 Max AbsError of 5.9604644775390625e-8 at index of 715. 105 Max RelError of 1.1671811990452458e-7 at index of 11989. 106 [11989] 5.1067179441452026e-1 5.1067173480987549e-1 5.9604644775390625e-8 1.1671811990452458e-7 0.0000000000000000e+0 107 assert_true: expected true got false 63 PASS Post cancel setValueCurveAtTime: linearRampToValue(0, 0.5) up to time 0.25 equals [expected array] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}. 108 64 PASS Cancelling Post cancel setValueCurveAtTime: linearRampToValue(0, 0.5) at time 0.25 contains only the constant 0.5102040767669678. 109 65 PASS Expected value for cancelling Post cancel setValueCurveAtTime: linearRampToValue(0, 0.5) at time 0.25 is 0.5102040767669678 within an error of 0.000083998. 110 66 PASS Post setValueCurve([0.125,2], 0.375, 0.125) equals [expected array] with an element-wise tolerance of {"absoluteThreshold":0.000083998,"relativeThreshold":0}. 111 FAIL < [post cancel: ValueCurve] 1 out of 4 assertions were failed. assert_true: expected true got false 67 PASS < [post cancel: ValueCurve] All assertions passed. (total 4 assertions) 112 68 PASS > [post cancel: setTarget] 113 FAIL X Post cancel setTargetAtTime: linearRampToValue(0, 0.5) up to time 0.25 does not equal [0,0.0020833334419876337,0.004166666883975267,0.0062500000931322575,0.008333333767950535,0.010416666977107525,0.012500000186264515,0.014583333395421505,0.01666666753590107,0.01875000074505806,0.02083333395421505,0.02291666716337204,0.02500000037252903,0.02708333358168602,0.02916666679084301,0.03125...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}. 114 Index Actual Expected AbsError RelError Test threshold 115 [715] 9.9000853300094604e-1 9.9000847339630127e-1 5.9604644775390625e-8 6.0206196590330427e-8 0.0000000000000000e+0 116 [816] 9.8571431636810303e-1 9.8571425676345825e-1 5.9604644775390625e-8 6.0468481982901817e-8 0.0000000000000000e+0 117 [879] 9.8303568363189697e-1 9.8303574323654175e-1 5.9604644775390625e-8 6.0633242672487782e-8 0.0000000000000000e+0 118 [1264] 9.6666663885116577e-1 9.6666669845581055e-1 5.9604644775390625e-8 6.1659975326144279e-8 0.0000000000000000e+0 119 [1368] 9.6224492788314819e-1 9.6224486827850342e-1 5.9604644775390625e-8 6.1943323098231583e-8 0.0000000000000000e+0 120 ...and 1140 more errors. 121 Max AbsError of 5.9604644775390625e-8 at index of 715. 122 Max RelError of 1.1671811990452458e-7 at index of 11989. 123 [11989] 5.1067179441452026e-1 5.1067173480987549e-1 5.9604644775390625e-8 1.1671811990452458e-7 0.0000000000000000e+0 124 assert_true: expected true got false 69 PASS Post cancel setTargetAtTime: linearRampToValue(0, 0.5) up to time 0.25 equals [expected array] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}. 125 70 PASS Cancelling Post cancel setTargetAtTime: linearRampToValue(0, 0.5) at time 0.25 contains only the constant 0.5102040767669678. 126 71 PASS Expected value for cancelling Post cancel setTargetAtTime: linearRampToValue(0, 0.5) at time 0.25 is 0.5102040767669678 within an error of 0.000083998. 127 72 PASS Post setTargetAtTime(0.125, 0.375, 0.1) equals [expected array] with an element-wise tolerance of {"absoluteThreshold":0.000084037,"relativeThreshold":0}. 128 FAIL < [post cancel: setTarget] 1 out of 4 assertions were failed. assert_true: expected true got false 73 PASS < [post cancel: setTarget] All assertions passed. (total 4 assertions) 129 74 PASS > [post cancel: setValue] 130 FAIL X Post cancel setValueAtTime: linearRampToValue(0, 0.5) up to time 0.25 does not equal [0,0.0020833334419876337,0.004166666883975267,0.0062500000931322575,0.008333333767950535,0.010416666977107525,0.012500000186264515,0.014583333395421505,0.01666666753590107,0.01875000074505806,0.02083333395421505,0.02291666716337204,0.02500000037252903,0.02708333358168602,0.02916666679084301,0.03125...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}. 131 Index Actual Expected AbsError RelError Test threshold 132 [715] 9.9000853300094604e-1 9.9000847339630127e-1 5.9604644775390625e-8 6.0206196590330427e-8 0.0000000000000000e+0 133 [816] 9.8571431636810303e-1 9.8571425676345825e-1 5.9604644775390625e-8 6.0468481982901817e-8 0.0000000000000000e+0 134 [879] 9.8303568363189697e-1 9.8303574323654175e-1 5.9604644775390625e-8 6.0633242672487782e-8 0.0000000000000000e+0 135 [1264] 9.6666663885116577e-1 9.6666669845581055e-1 5.9604644775390625e-8 6.1659975326144279e-8 0.0000000000000000e+0 136 [1368] 9.6224492788314819e-1 9.6224486827850342e-1 5.9604644775390625e-8 6.1943323098231583e-8 0.0000000000000000e+0 137 ...and 1140 more errors. 138 Max AbsError of 5.9604644775390625e-8 at index of 715. 139 Max RelError of 1.1671811990452458e-7 at index of 11989. 140 [11989] 5.1067179441452026e-1 5.1067173480987549e-1 5.9604644775390625e-8 1.1671811990452458e-7 0.0000000000000000e+0 141 assert_true: expected true got false 75 PASS Post cancel setValueAtTime: linearRampToValue(0, 0.5) up to time 0.25 equals [expected array] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}. 142 76 PASS Cancelling Post cancel setValueAtTime: linearRampToValue(0, 0.5) at time 0.25 contains only the constant 0.5102040767669678. 143 77 PASS Expected value for cancelling Post cancel setValueAtTime: linearRampToValue(0, 0.5) at time 0.25 is 0.5102040767669678 within an error of 0.000083998. 144 78 PASS Post setValueAtTime(0.125, 0.375) equals [0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}. 145 FAIL < [post cancel: setValue] 1 out of 4 assertions were failed. assert_true: expected true got false 79 PASS < [post cancel: setValue] All assertions passed. (total 4 assertions) 146 80 PASS > [cancel future setTarget] 147 81 PASS After cancelling future setTarget event, output contains only the constant 0.5. … … 157 91 PASS < [cancel setValueCurve now] All assertions passed. (total 1 assertions) 158 92 PASS > [linear, cancel, linear, cancel, linear] Schedules 3 linear ramps, cancelling 2 of them, so that we end up with 2 cancel events next to each other 159 FAIL X 1st linearRamp: linearRampToValue(0, 0.5) up to time 0.25 does not equal [0,0.0020833334419876337,0.004166666883975267,0.0062500000931322575,0.008333333767950535,0.010416666977107525,0.012500000186264515,0.014583333395421505,0.01666666753590107,0.01875000074505806,0.02083333395421505,0.02291666716337204,0.02500000037252903,0.02708333358168602,0.02916666679084301,0.03125...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}. 160 Index Actual Expected AbsError RelError Test threshold 161 [715] 9.9000853300094604e-1 9.9000847339630127e-1 5.9604644775390625e-8 6.0206196590330427e-8 0.0000000000000000e+0 162 [816] 9.8571431636810303e-1 9.8571425676345825e-1 5.9604644775390625e-8 6.0468481982901817e-8 0.0000000000000000e+0 163 [879] 9.8303568363189697e-1 9.8303574323654175e-1 5.9604644775390625e-8 6.0633242672487782e-8 0.0000000000000000e+0 164 [1264] 9.6666663885116577e-1 9.6666669845581055e-1 5.9604644775390625e-8 6.1659975326144279e-8 0.0000000000000000e+0 165 [1368] 9.6224492788314819e-1 9.6224486827850342e-1 5.9604644775390625e-8 6.1943323098231583e-8 0.0000000000000000e+0 166 ...and 1140 more errors. 167 Max AbsError of 5.9604644775390625e-8 at index of 715. 168 Max RelError of 1.1671811990452458e-7 at index of 11989. 169 [11989] 5.1067179441452026e-1 5.1067173480987549e-1 5.9604644775390625e-8 1.1671811990452458e-7 0.0000000000000000e+0 170 assert_true: expected true got false 93 PASS 1st linearRamp: linearRampToValue(0, 0.5) up to time 0.25 equals [expected array] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}. 171 94 PASS Cancelling 1st linearRamp: linearRampToValue(0, 0.5) at time 0.25 contains only the constant 0.5102040767669678. 172 95 PASS Expected value for cancelling 1st linearRamp: linearRampToValue(0, 0.5) at time 0.25 is 0.5102040767669678 within an error of 0. … … 175 98 PASS Expected value for cancelling 2nd linearRamp(2, 0.5) at time 0.375 is 1.2551020383834839 within an error of 0. 176 99 PASS 3rd linearRamp(0, 0.5) equals [expected array] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}. 177 FAIL < [linear, cancel, linear, cancel, linear] 1 out of 7 assertions were failed. assert_true: expected true got false 178 FAIL # AUDIT TASK RUNNER FINISHED: 7 out of 16 tasks were failed. assert_true: expected true got false 100 PASS < [linear, cancel, linear, cancel, linear] All assertions passed. (total 7 assertions) 101 PASS # AUDIT TASK RUNNER FINISHED: 16 tasks ran successfully. 179 102 -
trunk/LayoutTests/webaudio/AudioParam/audioparam-negative-exponentialRamp-expected.txt
r267253 r267357 36 36 FAIL X Exponential ramp from -1 to 1 after the end of the linear ramp: Expected -1 for all values but found 1500 unexpected values: 37 37 Index Actual 38 [0] -0.99 799990653991739 [1] -0.99 799990653991740 [2] -0.99 799990653991741 [3] -0.99 799990653991738 [0] -0.9980001449584961 39 [1] -0.9980001449584961 40 [2] -0.9980001449584961 41 [3] -0.9980001449584961 42 42 ...and 1496 more errors. assert_true: expected true got false 43 43 PASS Exponential ramp after end of ramp contains only the constant 1. -
trunk/LayoutTests/webaudio/AudioParam/audioparam-setTargetAtTime-continuous-expected.txt
r267253 r267357 14 14 [1] 8.8028167374432087e-4 1.0004401408450705e+0 9.9955985917132617e-1 9.9912010560371878e-1 1.2676500000000001e-6 15 15 [2] 1.7605633474886417e-3 1.0008802816901408e+0 9.9911971834265212e-1 9.9824098508113712e-1 1.2676500000000001e-6 16 [3] 2.64084 50212329626e-3 1.0013204225352113e+0 9.9867957751397829e-1 9.9736263741176212e-1 1.2676500000000001e-616 [3] 2.6408447884023190e-3 1.0013204225352113e+0 9.9867957774680893e-1 9.9736263764428568e-1 1.2676500000000001e-6 17 17 [4] 3.5211266949772835e-3 1.0017605633802817e+0 9.9823943668530446e-1 9.9648506157689443e-1 1.2676500000000001e-6 18 18 ...and 2267 more errors. … … 27 27 FAIL X Delayed linear ramp does not equal [0.44932896411722156,0.45015029411504087,0.4509716241128601,0.4517929541106794,0.45261428410849863,0.45343561410631794,0.4542569441041372,0.45507827410195645,0.45589960409977576,0.45672093409759495,0.4575422640954142,0.4583635940932335,0.45918492409105277,0.460006254088872,0.46082758408669133,0.4616489140845106...] with an element-wise tolerance of {"absoluteThreshold":0.00000107972,"relativeThreshold":0}. 28 28 Index Actual Expected AbsError RelError Test threshold 29 [0] 3.380281 6271781921e-1 4.4932896411722156e-1 1.1130080139940235e-1 2.4770448888838165e-1 1.0797199999999999e-630 [1] 3.389084 6371650696e-1 4.5015029411504087e-1 1.1124183039853391e-1 2.4712153219232338e-1 1.0797199999999999e-629 [0] 3.3802819252014160e-1 4.4932896411722156e-1 1.1130077159707996e-1 2.4770442256209341e-1 1.0797199999999999e-6 30 [1] 3.3890849351882935e-1 4.5015029411504087e-1 1.1124180059621153e-1 2.4712146598705201e-1 1.0797199999999999e-6 31 31 [2] 3.3978873491287231e-1 4.5097162411286013e-1 1.1118288919998781e-1 2.4654076499536740e-1 1.0797199999999999e-6 32 [3] 3.406690 0610923767e-1 4.5179295411067938e-1 1.1112394800144171e-1 2.4596210939185822e-1 1.0797199999999999e-632 [3] 3.4066903591156006e-1 4.5179295411067938e-1 1.1112391819911932e-1 2.4596204342730055e-1 1.0797199999999999e-6 33 33 [4] 3.4154930710792542e-1 4.5261428410849863e-1 1.1106497700057322e-1 2.4538548804162183e-1 1.0797199999999999e-6 34 34 ...and 1883 more errors. 35 Max AbsError of 1.11300 80139940235e-1 at index of 0.36 Max RelError of 2.477044 8888838165e-1 at index of 0.35 Max AbsError of 1.1130077159707996e-1 at index of 0. 36 Max RelError of 2.4770442256209341e-1 at index of 0. 37 37 assert_true: expected true got false 38 38 PASS Delayed linear ramp: Tail part equals [2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}. -
trunk/Source/WebCore/ChangeLog
r267349 r267357 1 2020-09-21 Chris Dumez <cdumez@apple.com> 2 3 Vectorize linearRampToValueAtTime processing in AudioParamTimeline 4 https://bugs.webkit.org/show_bug.cgi?id=216788 5 6 Reviewed by Darin Adler. 7 8 Vectorize linearRampToValueAtTime processing in AudioParamTimeline. This patch is based on 9 the Blink implementation at [1] but updated to use VectorMath to work on more platforms. 10 11 We were failing some tests due to precision issues in our linearRampToValueAtTime implementation. 12 Those tests are now passing since our implementation matches Blink's more closely. 13 14 [1] https://github.com/chromium/chromium/blob/master/third_party/blink/renderer/modules/webaudio/audio_param_timeline.cc 15 16 No new tests, rebaselined existing tests. 17 18 * Modules/webaudio/AudioParamTimeline.cpp: 19 (WebCore::AudioParamTimeline::valuesForTimeRangeImpl): 20 (WebCore::AudioParamTimeline::processLinearRamp): 21 * Modules/webaudio/AudioParamTimeline.h: 22 1 23 2020-09-21 Chris Dumez <cdumez@apple.com> 2 24 -
trunk/Source/WebCore/Modules/webaudio/AudioParamTimeline.cpp
r267218 r267357 418 418 419 419 // First handle linear and exponential ramps which require looking ahead to the next event. 420 if (nextEventType == ParamEvent::LinearRampToValue) { 421 for (; writeIndex < fillToFrame; ++writeIndex) { 422 // Since deltaTime is a double, 1/deltaTime can easily overflow a float. Thus, if deltaTime 423 // is close enough to zero (less than float min), treat it as zero. 424 float k = deltaTime.value() <= std::numeric_limits<float>::min() ? 0 : 1 / deltaTime.value(); 425 float x = (currentFrame * samplingPeriod - time1.value()) * k; 426 float valueDelta = value2 - value1; 427 value = value1 + valueDelta * x; 428 values[writeIndex] = value; 429 ++currentFrame; 430 } 431 } else if (nextEventType == ParamEvent::ExponentialRampToValue) { 420 if (nextEventType == ParamEvent::LinearRampToValue) 421 processLinearRamp(values, writeIndex, fillToFrame, value, value1, value2, deltaTime, time1, samplingPeriod, currentFrame); 422 else if (nextEventType == ParamEvent::ExponentialRampToValue) { 432 423 if (value1 <= 0 || value2 <= 0) { 433 424 // Handle negative values error case by propagating previous value. … … 629 620 630 621 return value; 622 } 623 624 void AudioParamTimeline::processLinearRamp(float* values, unsigned& writeIndex, unsigned fillToFrame, float& value, float value1, float value2, Seconds deltaTime, Seconds time1, double samplingPeriod, size_t& currentFrame) 625 { 626 float valueDelta = value2 - value1; 627 // Since deltaTime is a double, 1/deltaTime can easily overflow a float. Thus, if deltaTime 628 // is close enough to zero (less than float min), treat it as zero. 629 float k = deltaTime.value() <= std::numeric_limits<float>::min() ? 0 : 1 / deltaTime.value(); 630 631 unsigned fillToFrameTrunc = writeIndex + ((fillToFrame - writeIndex) / 4) * 4; 632 if (fillToFrameTrunc > writeIndex) { 633 // Minimize in-loop operations. Calculate starting value and increment. 634 // Next step: value += inc. 635 // value = value1 + (currentFrame/sampleRate - time1) * k * (value2 - value1); 636 // inc = 4 / sampleRate * k * (value2 - value1); 637 // Resolve recursion by expanding constants to achieve a 4-step loop unrolling. 638 // value = value1 + ((currentFrame/sampleRate - time1) + i * sampleFrameTimeIncr) * k * (value2 - value1), i in 0..3 639 values[writeIndex] = 0; 640 values[writeIndex + 1] = 1; 641 values[writeIndex + 2] = 2; 642 values[writeIndex + 3] = 3; 643 float scalar = samplingPeriod; 644 VectorMath::vsmul(values + writeIndex, 1, &scalar, values + writeIndex, 1, 4); 645 scalar = currentFrame * samplingPeriod - time1.value(); 646 VectorMath::vsadd(values + writeIndex, 1, &scalar, values + writeIndex, 1, 4); 647 scalar = k * valueDelta; 648 VectorMath::vsmul(values + writeIndex, 1, &scalar, values + writeIndex, 1, 4); 649 VectorMath::vsadd(values + writeIndex, 1, &value1, values + writeIndex, 1, 4); 650 651 float inc = 4 * samplingPeriod * k * valueDelta; 652 653 // Truncate loop steps to multiple of 4. 654 unsigned fillToFrameTrunc = writeIndex + ((fillToFrame - writeIndex) / 4) * 4; 655 // Compute final frame. 656 currentFrame += fillToFrameTrunc - writeIndex; 657 658 // Process 4 loop steps. 659 writeIndex += 4; 660 for (; writeIndex < fillToFrameTrunc; writeIndex += 4) 661 VectorMath::vsadd(values + writeIndex - 4, 1, &inc, values + writeIndex, 1, 4); 662 } 663 // Update |value| with the last value computed so that the .value attribute of the AudioParam gets 664 // the correct linear ramp value, in case the following loop doesn't execute. 665 if (writeIndex >= 1) 666 value = values[writeIndex - 1]; 667 668 // Serially process remaining values. 669 for (; writeIndex < fillToFrame; ++writeIndex) { 670 float x = (currentFrame * samplingPeriod - time1.value()) * k; 671 value = value1 + valueDelta * x; 672 values[writeIndex] = value; 673 ++currentFrame; 674 } 631 675 } 632 676 -
trunk/Source/WebCore/Modules/webaudio/AudioParamTimeline.h
r267218 r267357 163 163 void handleCancelValues(ParamEvent&, ParamEvent* nextEvent, float& value2, Seconds& time2, ParamEvent::Type& nextEventType); 164 164 bool isEventCurrent(const ParamEvent&, const ParamEvent* nextEvent, size_t currentFrame, double sampleRate) const; 165 void processLinearRamp(float* values, unsigned& writeIndex, unsigned fillToFrame, float& value, float value1, float value2, Seconds deltaTime, Seconds time1, double samplingPeriod, size_t& currentFrame); 165 166 void processSetTarget(float* values, unsigned& writeIndex, unsigned fillToFrame, float& value, float target, float discreteTimeConstant); 166 167
Note:
See TracChangeset
for help on using the changeset viewer.