Bug 246388 - Max Uniform Block Size (UBO) is too small
Summary: Max Uniform Block Size (UBO) is too small
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebGL (show other bugs)
Version: Safari Technology Preview
Hardware: Other Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: BrowserCompat, InRadar
Depends on:
Blocks:
 
Reported: 2022-10-11 20:58 PDT by munrocket
Modified: 2022-10-22 02:14 PDT (History)
8 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description munrocket 2022-10-11 20:58:23 PDT
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.
Comment 1 Radar WebKit Bug Importer 2022-10-18 20:59:18 PDT
<rdar://problem/101322218>
Comment 2 Kenneth Russell 2022-10-19 11:54:44 PDT
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?
Comment 3 munrocket 2022-10-19 12:25:38 PDT
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.
Comment 4 munrocket 2022-10-21 15:22:57 PDT
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
Comment 5 munrocket 2022-10-22 02:14:43 PDT
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.