<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>231458</bug_id>
          
          <creation_ts>2021-10-08 15:19:20 -0700</creation_ts>
          <short_desc>Vectorize EqualPowerPanner::pan()</short_desc>
          <delta_ts>2021-11-29 13:38:47 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Audio</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=233529</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>crzwdjk</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1802276</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-08 15:19:20 -0700</bug_when>
    <thetext>Vectorize EqualPowerPanner::pan() for performance. This is used by PannerNode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802277</commentid>
    <comment_count>1</comment_count>
      <attachid>440682</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-08 15:20:23 -0700</bug_when>
    <thetext>Created attachment 440682
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802333</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-08 17:41:34 -0700</bug_when>
    <thetext>Committed r283855 (242733@main): &lt;https://commits.webkit.org/242733@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 440682.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802334</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-08 17:42:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/84050699&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816986</commentid>
    <comment_count>4</comment_count>
    <who name="Arcady Goldmints-Orlov">crzwdjk</who>
    <bug_when>2021-11-19 14:01:00 -0800</bug_when>
    <thetext>This caused a regression in the imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-equalpower.html test on GTK and WPE, with the following diff:

--- /home/buildbot/worker/gtk-linux-64-release-tests/build/layout-test-results/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-equalpower-expected.txt
+++ /home/buildbot/worker/gtk-linux-64-release-tests/build/layout-test-results/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-equalpower-actual.txt
@@ -14,7 +14,13 @@
 PASS   Mono: Left and right channels is identical to the array [expected array].
 PASS &lt; [mono source=listener] All assertions passed. (total 1 assertions)
 PASS &gt; [stereo source=listener] Source and listener at the same position
-PASS   Stereo: Left and right channels is identical to the array [expected array].
-PASS &lt; [stereo source=listener] All assertions passed. (total 1 assertions)
-PASS # AUDIT TASK RUNNER FINISHED: 3 tasks ran successfully.
+FAIL X Stereo: Left and right channels expected to be equal to the array [expected array] but differs in 8017 places:
+	Index	Actual			Expected
+	[129]	-9.094678e-1	-9.937367e-1
+	[130]	-8.316806e-1	-9.996188e-1
+	[131]	-7.479767e-1	-9.983897e-1
+	[132]	-6.589519e-1	-9.900582e-1
+	...and 8013 more errors. assert_true: expected true got false
+FAIL &lt; [stereo source=listener] 1 out of 1 assertions were failed. assert_true: expected true got false
+FAIL # AUDIT TASK RUNNER FINISHED: 1 out of 3 tasks were failed. assert_true: expected true got false</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817001</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-11-19 14:32:17 -0800</bug_when>
    <thetext>(In reply to Arcady Goldmints-Orlov from comment #4)
&gt; This caused a regression in the
&gt; imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-
&gt; interface/panner-equalpower.html test on GTK and WPE, with the following
&gt; diff:
&gt; 
&gt; ---
&gt; /home/buildbot/worker/gtk-linux-64-release-tests/build/layout-test-results/
&gt; imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-
&gt; interface/panner-equalpower-expected.txt
&gt; +++
&gt; /home/buildbot/worker/gtk-linux-64-release-tests/build/layout-test-results/
&gt; imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-
&gt; interface/panner-equalpower-actual.txt
&gt; @@ -14,7 +14,13 @@
&gt;  PASS   Mono: Left and right channels is identical to the array [expected
&gt; array].
&gt;  PASS &lt; [mono source=listener] All assertions passed. (total 1 assertions)
&gt;  PASS &gt; [stereo source=listener] Source and listener at the same position
&gt; -PASS   Stereo: Left and right channels is identical to the array [expected
&gt; array].
&gt; -PASS &lt; [stereo source=listener] All assertions passed. (total 1 assertions)
&gt; -PASS # AUDIT TASK RUNNER FINISHED: 3 tasks ran successfully.
&gt; +FAIL X Stereo: Left and right channels expected to be equal to the array
&gt; [expected array] but differs in 8017 places:
&gt; +	Index	Actual			Expected
&gt; +	[129]	-9.094678e-1	-9.937367e-1
&gt; +	[130]	-8.316806e-1	-9.996188e-1
&gt; +	[131]	-7.479767e-1	-9.983897e-1
&gt; +	[132]	-6.589519e-1	-9.900582e-1
&gt; +	...and 8013 more errors. assert_true: expected true got false
&gt; +FAIL &lt; [stereo source=listener] 1 out of 1 assertions were failed.
&gt; assert_true: expected true got false
&gt; +FAIL # AUDIT TASK RUNNER FINISHED: 1 out of 3 tasks were failed.
&gt; assert_true: expected true got false

My bet is that the implementation of VectorMath::multiplyByScalarThenAddToVector() or VectorMath::multiplyByScalar() used by Glib ports is wrong somehow. The Apple ports are using a different implementation for these.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440682</attachid>
            <date>2021-10-08 15:20:23 -0700</date>
            <delta_ts>2021-10-08 17:41:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231458-20211008152023.patch</filename>
            <type>text/plain</type>
            <size>3433</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzODQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzcxOGFjOGQxY2VjMDRm
NWFjNmVmNTcxYTAwZTk1ZWJjNTA5MTM2NC4uZDk4ZmQ2YzEyNGE4N2RiNDA0ZDE2M2IxNzNkN2Nj
NmEzZGZlM2NlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTEwLTA4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgVmVjdG9yaXplIEVxdWFsUG93
ZXJQYW5uZXI6OnBhbigpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzE0NTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBWZWN0b3JpemUgRXF1YWxQb3dlclBhbm5lcjo6cGFuKCkgZm9yIHBlcmZvcm1hbmNl
LiBUaGlzIGlzIHVzZWQgYnkgUGFubmVyTm9kZS4KKworICAgICAgICAqIHBsYXRmb3JtL2F1ZGlv
L0VxdWFsUG93ZXJQYW5uZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXF1YWxQb3dlclBhbm5l
cjo6cGFuKToKKwogMjAyMS0xMC0wOCAgQWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgQVNTRVJUSU9OIEZBSUxFRDogbV9jb2xsYXBzaWJsZUxvZ2ljYWxXaWR0aCA8PSBt
X2xvZ2ljYWxXaWR0aCBpbiBXZWJDb3JlOjpMYXlvdXQ6OklubGluZUNvbnRlbnRCcmVha2VyOjpD
b250aW51b3VzQ29udGVudDo6YXBwZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9FcXVhbFBvd2VyUGFubmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL0VxdWFsUG93ZXJQYW5uZXIuY3BwCmluZGV4IGY5ODVjNjQwZGJhMjczZDM2ZWZiODI1
YWU1OTM4ZjE3YWIxNWUwY2YuLjhjNTg2Y2NmYjU3YmI1YjJmMTFjNDczOWQwZGIxMWJmNmI4NGE3
YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0VxdWFsUG93ZXJQ
YW5uZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0VxdWFsUG93ZXJQ
YW5uZXIuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJBdWRpb0J1cy5oIgogI2lu
Y2x1ZGUgIkF1ZGlvVXRpbGl0aWVzLmgiCisjaW5jbHVkZSAiVmVjdG9yTWF0aC5oIgogI2luY2x1
ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogCkBAIC0xMjYsMzMg
KzEyNywxOCBAQCB2b2lkIEVxdWFsUG93ZXJQYW5uZXI6OnBhbihkb3VibGUgYXppbXV0aCwgZG91
YmxlIC8qZWxldmF0aW9uKi8sIGNvbnN0IEF1ZGlvQnVzKgogICAgICAgICB9CiAgICAgfQogCi0g
ICAgZG91YmxlIGRlc2lyZWRHYWluTCA9IGNvcyhwaU92ZXJUd29Eb3VibGUgKiBkZXNpcmVkUGFu
UG9zaXRpb24pOwotICAgIGRvdWJsZSBkZXNpcmVkR2FpblIgPSBzaW4ocGlPdmVyVHdvRG91Ymxl
ICogZGVzaXJlZFBhblBvc2l0aW9uKTsKLSAgICAKLSAgICBpbnQgbiA9IGZyYW1lc1RvUHJvY2Vz
czsKLQotICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgdmVjdG9yaXplIHRoaXMuCisgICAgZG91Ymxl
IGRlc2lyZWRHYWluTCA9IHN0ZDo6Y29zKHBpT3ZlclR3b0RvdWJsZSAqIGRlc2lyZWRQYW5Qb3Np
dGlvbik7CisgICAgZG91YmxlIGRlc2lyZWRHYWluUiA9IHN0ZDo6c2luKHBpT3ZlclR3b0RvdWJs
ZSAqIGRlc2lyZWRQYW5Qb3NpdGlvbik7CiAgICAgaWYgKG51bWJlck9mSW5wdXRDaGFubmVscyA9
PSAxKSB7IC8vIEZvciBtb25vIHNvdXJjZSBjYXNlLgotICAgICAgICB3aGlsZSAobi0tKSB7Ci0g
ICAgICAgICAgICBmbG9hdCBpbnB1dEwgPSAqc291cmNlTCsrOwotICAgICAgICAgICAgKmRlc3Rp
bmF0aW9uTCsrID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGlucHV0TCAqIGRlc2lyZWRHYWluTCk7Ci0g
ICAgICAgICAgICAqZGVzdGluYXRpb25SKysgPSBzdGF0aWNfY2FzdDxmbG9hdD4oaW5wdXRMICog
ZGVzaXJlZEdhaW5SKTsKLSAgICAgICAgfQorICAgICAgICBWZWN0b3JNYXRoOjptdWx0aXBseUJ5
U2NhbGFyKHNvdXJjZUwsIGRlc2lyZWRHYWluTCwgZGVzdGluYXRpb25MLCBmcmFtZXNUb1Byb2Nl
c3MpOworICAgICAgICBWZWN0b3JNYXRoOjptdWx0aXBseUJ5U2NhbGFyKHNvdXJjZUwsIGRlc2ly
ZWRHYWluUiwgZGVzdGluYXRpb25SLCBmcmFtZXNUb1Byb2Nlc3MpOwogICAgIH0gZWxzZSB7IC8v
IEZvciBzdGVyZW8gc291cmNlIGNhc2UuCiAgICAgICAgIGlmIChhemltdXRoIDw9IDApIHsgLy8g
ZnJvbSAtOTAgLT4gMAotICAgICAgICAgICAgd2hpbGUgKG4tLSkgewotICAgICAgICAgICAgICAg
IGZsb2F0IGlucHV0TCA9ICpzb3VyY2VMKys7Ci0gICAgICAgICAgICAgICAgZmxvYXQgaW5wdXRS
ID0gKnNvdXJjZVIrKzsKLSAgICAgICAgICAgICAgICAqZGVzdGluYXRpb25MKysgPSBzdGF0aWNf
Y2FzdDxmbG9hdD4oaW5wdXRMICsgaW5wdXRSICogZGVzaXJlZEdhaW5MKTsKLSAgICAgICAgICAg
ICAgICAqZGVzdGluYXRpb25SKysgPSBzdGF0aWNfY2FzdDxmbG9hdD4oaW5wdXRSICogZGVzaXJl
ZEdhaW5SKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIFZlY3Rvck1hdGg6Om11bHRpcGx5
QnlTY2FsYXJUaGVuQWRkVG9WZWN0b3Ioc291cmNlUiwgZGVzaXJlZEdhaW5MLCBzb3VyY2VMLCBk
ZXN0aW5hdGlvbkwsIGZyYW1lc1RvUHJvY2Vzcyk7CisgICAgICAgICAgICBWZWN0b3JNYXRoOjpt
dWx0aXBseUJ5U2NhbGFyKHNvdXJjZVIsIGRlc2lyZWRHYWluUiwgZGVzdGluYXRpb25SLCBmcmFt
ZXNUb1Byb2Nlc3MpOwogICAgICAgICB9IGVsc2UgeyAvLyBmcm9tIDAgLT4gKzkwCi0gICAgICAg
ICAgICB3aGlsZSAobi0tKSB7Ci0gICAgICAgICAgICAgICAgZmxvYXQgaW5wdXRMID0gKnNvdXJj
ZUwrKzsKLSAgICAgICAgICAgICAgICBmbG9hdCBpbnB1dFIgPSAqc291cmNlUisrOwotICAgICAg
ICAgICAgICAgICpkZXN0aW5hdGlvbkwrKyA9IHN0YXRpY19jYXN0PGZsb2F0PihpbnB1dEwgKiBk
ZXNpcmVkR2FpbkwpOwotICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvblIrKyA9IHN0YXRpY19j
YXN0PGZsb2F0PihpbnB1dFIgKyBpbnB1dEwgKiBkZXNpcmVkR2FpblIpOwotICAgICAgICAgICAg
fQorICAgICAgICAgICAgVmVjdG9yTWF0aDo6bXVsdGlwbHlCeVNjYWxhcihzb3VyY2VMLCBkZXNp
cmVkR2FpbkwsIGRlc3RpbmF0aW9uTCwgZnJhbWVzVG9Qcm9jZXNzKTsKKyAgICAgICAgICAgIFZl
Y3Rvck1hdGg6Om11bHRpcGx5QnlTY2FsYXJUaGVuQWRkVG9WZWN0b3Ioc291cmNlTCwgZGVzaXJl
ZEdhaW5SLCBzb3VyY2VSLCBkZXN0aW5hdGlvblIsIGZyYW1lc1RvUHJvY2Vzcyk7CiAgICAgICAg
IH0KICAgICB9CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>