I am tried to implement compute shader with UBO and faced with a problem that WebGL2 Max Uniform Block Size in Safari is much smaller than in Firefox/Chrome. 16384 instead of 65536.
<rdar://problem/101322218>
Do you have a test case for your problem? Gregg (gman@, cc'd) raised several of these limits in ANGLE's Metal backend, but I'm not sure they made it into Safari yet. Have you tried Safari Technology Preview? If you try Chrome Canary, go to about:flags, set "Choose ANGLE graphics backend" to "Metal" and restart, is the UBO size larger?
Interesting. The same issue exist in Chrome Canary (with Metal backend) and Safari Technology Preview. Test case is visible on https://webglreport.com where Max Uniform Block Size is smaller in 4 times.
In WebKit UBO size in fact almost unlimited. Looks like this bug easy to fix. Test case: https://jsgist.org/?src=cb64%2CeJyNVo9P4zYU_lfeskmkLCQpB6etB2jAwe0k0CF-aJso4kzitGaO3dlO2o71f9-znYQU7k4nQHWfnz9_3_tlngJBShqMgvMlPOoPTJsgCjQ1homJDkZPqygoGKe4vO1cmcjpIp6akqNvJoWhwqB5z1oOxgJgb0pJ7la4LqkhkE2JQtT9cVCZYuuXcQBJu2-Y4fTg5ugTnCxIOeN0L_Emh5R0UHsPMl-2hzIiaqIP9pJm0Zh1ptjMgFYZ3jQ1ZqZHSZLlIn7UOeWsVrGgJhGzMjHzCUfrb7vxME6THHUnu_HCmbeKitu9cYD4HrHh0jBAUlZpsIpehCTTei0i1h-e7NmSqAkTI0jf2W-ypqrgcj6CKctzKtC4GgsvxfvPWW6mIximaT13R6aUTabGW6bOgpxnnCxH8MBl9reFeE3ocZ0PpwbO_7o_P_zz3sZ7H3bSX9--gyTB5TlZwI1ghVQlHFlEuGL_Ukhg-HYs7A_CaAO1Rt_PP6IAzaSAN2kKVFs6SEVWJsSTxNidfUgHwATUNNsGciE1s2ak6QJQIZLdwKwY4uTUkuUYJiZCuxr4MKBK64BgfQRrn_D71oK7iLUTdi4RpHEaASZ24Lwxtp_dxV5C8TUJM0Uz5mxTDPYMMEXEOIRWR0vX2qomWG6juqRa8qoj2G46CKiuWUlfHLvCjqB5K9MKgOqUUZ7f_vT0nKPVnVewHrcdKJgg_Fhyqb4VPE-tRrnhdryJITtVZHIspcrjxRK2-qwHmOkSz_dM8SLqe8RLH03oXd6GPt6FnyHe3dQWocY1XudED2wa7N9g8wvqtoatvjZDtkJ9H0SY4ghTIieKlB9FISN4qIqCKrt2vkUlMpd_JpgJnWiLhdU8QZQ_6MOHs21wxb8wdqPpr33IZVaV2BHxPxVVyyvKaWakCseB9xgHXuiEo683xYh47JHQbU4fJny7dWMFhD9MeBd0wqky4YZzGoKQoKvZTCpD841BoxVAUY3dFVqEhjNOx2oGH86uzlrRTU12AUA2bmplihJDL543Qhup2xpDVui7lntc6dYn7IHEzfrVzcQYxR4q41vBd4q32ZA9PTfgCL_kxJAR3G4NI7B_b_yHW95FIKryWJYzKTDGegTbsHIFDL0Erms56uynSpaHSpGldqIaAl6TO4Bkvbc-FPlhx9l5f6VYXkltWtAJbUGb0af7sYralPa6AFU3JeFGdNQWiJ_Pd1FzwNY-TnuX71f3Y-X3guzG9-uYNITcKO6SvEZuHPgZ0haihZOcxlxOwg70ReisuZPaOT0LdT06AkHn4NIQPjfr5s4gxn8FeDj0ZbyO3Kf7hWT06WADjMUcHyg5j0men9RYJmf4AFNBVbjhO2MjAgr7B12f2HNdv7dGz9ox8KZjl4tr-d4_jfYBC9tp0lyY05pl9IItKL-0D1XXLjWjc9umIb4c-PuNJHcaeoTwtVWhaRjZHHJKFMYhPv509uny_ujm9PQEPz5ew392-_3JxfXvPWtbIt9Xjb64jH2b0zR1JdcVmUPIFZk_95RLx3o7rNMngpVYcR3_To6LjaI4JrU5dE7ojm9IScPmTAfmZzB-a8EG74LV3ep_oUeBOQ%3D%3D
Ok, looks like UBO performance is x10 slower than texture packing for big arrays. Maybe I should close this issue and open a new one about performance.