Multiple examples don't work on 0.15
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 16h
- Merged PRs (30d)
- 171
Description
## Bevy version & Info
0.15.0
```
AdapterInfo { name: "Apple M1, or similar", vendor: 4203, device: 0, device_type: IntegratedGpu, driver: "", driver_info: "WebGL 2.0", backend: Gl } on Apple M2 Max
```
## What went wrong
Some of the examples on the website do not work, I only tested them via the website.
- [2d-viewport-to-world ](https://bevyengine.org/examples/2d-rendering/2d-viewport-to-world/)
( nothing is showing up )
- [sprite-slice](https://bevyengine.org/examples/2d-rendering/sprite-slice/)
( the exemple goes out of the screen )
- [easing-functions](https://bevyengine.org/examples/animation/easing-functions/)
( the exemple goes out of the screen )
- [deferred-rendering](https://bevyengine.org/examples/3d-rendering/deferred-rendering/)
( the forward + prepass setting crashes )
```
index out of bounds: the len is 16 but the index is 16
```
- [visibility-range](https://bevyengine.org/examples/3d-rendering/visibility-range/)
```
Device::create_render_pipeline error: Error matching ShaderStages(VERTEX) shader requirements against the pipeline log.target = "wgpu_core::device::global";
Buffer structure size 1024, added to one element of an unbound array, if it's the last field, ended up greater than the given `min_binding_size`, which is 16
```
- [volumetric-fog](https://bevyengine.org/examples/3d-rendering/volumetric-fog/)
```
Tex storage 2D multisample is not supported
```
- [audio-control](https://bevyengine.org/examples/audio/audio-control/), [pitch](https://bevyengine.org/examples/audio/pitch/), [decodable](https://bevyengine.org/examples/audio/decodable/), [soundtrack](https://bevyengine.org/examples/audio/soundtrack/)
( issue with the audio, it's basically the same for all of the audio examples )
```
The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page.
```
( should add a text on screen to 'press space to start' )
- [observer-propagation](https://bevyengine.org/examples/ecs-entity-component-system/observer-propagation/)
( should probably tell the user to check for the console, when the screen is blank )
- [extended-material](https://bevyengine.org/examples/shaders/extended-material/)
```
Device::create_render_pipeline error: In the provided shader, the type given for group 2 binding 100 has a size of 4. As the device does not support `DownlevelFlags::BUFFER_BINDINGS_NOT_16_BYTE_ALIGNED`, the type must have a size that is a multiple of 16 bytes. log.target = "wgpu_core::device::global";
```
- [storage-buffer](https://bevyengine.org/examples/shaders/storage-buffer/)
```
wgpu error: Validation Error
Caused by:
In Device::create_bind_group_layout, label = 'CustomMaterial'
Binding 0 entry is invalid
Downlevel flags DownlevelFlags(VERTEX_STORAGE) are required but not supported on the device.
```
- [many-cameras-lights](https://bevyengine.org/examples/stress-tests/many-cameras-lights/)
```
wgpu error: Validation Error
Caused by:
In RenderPass::end
In a set_scissor_rect command
Scissor Rect { x: 1920, y: 0, w: 640, h: 360 } is not contained in the render target (2336, 1314, 1)
```
- [scene-viewer](https://bevyengine.org/examples/tools/scene-viewer/)
( nothing is showing up )
- [ui-material](https://bevyengine.org/examples/ui-user-interface/ui-material/)
```
wgpu error: Validation Error
Caused by:
In Device::create_render_pipeline, label = 'ui_material_pipeline'
In the provided shader, the type given for group 1 binding 1 has a size of 4. As the device does not support `DownlevelFlags::BUFFER_BINDINGS_NOT_16_BYTE_ALIGNED`, the type must have a size that is a multiple of 16 bytes.
```
## Don't know if it's supposed to do that
- [update-gltf-scene](https://bevyengine.org/examples/3d-rendering/update-gltf-scene/)
( is it supposed to move like that ? )
Contributor guide
Research direction
Start by reproducing the failures from the linked Bevy website example pages, using the reported Apple M2 Max/WebGL 2.0 environment and checking the listed rendering, audio, ECS, shader, stress-test, and scene-viewer examples. Done means determining the cause and expected behavior for each failure, then updating the affected examples or documenting unsupported browser/device cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- game-dev
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100