Description
Bevy version
main
François bisected to #13497 previously
Relevant system information
AdapterInfo { name: "ANGLE (Apple, ANGLE Metal Renderer: Apple M1 Max, Unspecified Version)", vendor: 4203, device: 0, device_type: IntegratedGpu, driver: "", driver_info: "WebGL 2.0 (OpenGL ES 3.0 Chromium)", backend: Gl }
Chrome Version 129.0.6668.101 (Official Build) (arm64)
What you did
cargo run -p build-wasm-example -- --api webgl2 3d_scene
basic-http-server examples/wasm/
What went wrong
wasm_example.js:1951 panicked at /Users/me/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-22.1.0/src/backend/wgpu_core.rs:3411:5:
wgpu error: Validation Error
Caused by:
In Device::create_bind_group, label = 'mesh_view_bind_group'
Buffer binding 8 range 20480 exceeds `max_*_buffer_binding_size` limit 16384
Additional information
This seems to be platform specific.
I tested on:
AdapterInfo { name: "ANGLE (NVIDIA, NVIDIA GeForce RTX 4080 SUPER (0x00002702) Direct3D11 vs_5_0 ps_5_0, D3D11)", vendor: 4318, device: 0, device_type: Other, driver: "", driver_info: "WebGL 2.0 (OpenGL ES 3.0 Chromium)", backend: Gl }
Chrome 129
And the example worked fine.
Previous discussion
from https://docs.rs/wgpu/latest/wgpu/struct.Limits.html#method.downlevel_webgl2_defaults, I guess max_*_buffer_binding_size is max_uniform_buffer_binding_size which should be limited to 16KiB on WebGL2. It's not mandatory for browser to respect it, but it's the standard... and we're requesting more
- françois