bevyengine / bevyengine/bevy

WebGL2 Shaders / Storage Buffer Example broken on website

Open
#19,469 2 comments 0 reactions 0 assignees View on GitHub
A-Rendering C-Bug O-Web S-Needs-Design
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
3d 16h
Merged PRs (30d)
171

Description

## Bevy version

The one used to make the [bevyengine.org](https://bevyengine.org/) examples

## What you did

Open the [Storage Buffer Example](https://bevyengine.org/examples/shaders/storage-buffer/) set to WebGL2

## What went wrong

Nothing is on screen.

```
wasm_example.js:1597 The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio
(anonymous) @ wasm_example.js:1597Understand this warning
wasm_example.js:1237 INFO crates/bevy_winit/src/system.rs:66 Creating new window App (0v1)
wasm_example.js:1237 INFO crates/bevy_render/src/renderer/mod.rs:200 AdapterInfo { name: "ANGLE (NVIDIA, NVIDIA GeForce RTX 4060 Ti (0x00002805) 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 }
wasm_example.js:1237 INFO crates/bevy_render/src/batching/gpu_preprocessing.rs:1126 GPU preprocessing is not supported on this device. Falling back to CPU preprocessing.
wasm_example.js:1237 WARN crates/bevy_core_pipeline/src/oit/resolve/mod.rs:83 OrderIndependentTransparencyPlugin not loaded. GPU lacks support: DownlevelFlags::FRAGMENT_WRITABLE_STORAGE.
wasm_example.js:1237 WARN crates/bevy_pbr/src/ssao/mod.rs:92 ScreenSpaceAmbientOcclusionPlugin not loaded. GPU lacks support: TextureFormat::R16Float does not support TextureUsages::STORAGE_BINDING.
wasm_example.js:1237 WARN crates/bevy_pbr/src/atmosphere/mod.rs:170 AtmospherePlugin not loaded. GPU lacks support for compute shaders.
wasm_example.js:1237 ERROR Handling wgpu errors as fatal by default log.target = "wgpu::backend::wgpu_core";log.module_path = "wgpu::backend::wgpu_core";log.file = "/Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wgpu-24.0.3/src/backend/wgpu_core.rs";log.line = 1079;
wasm_example.js:915 panicked at /Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wgpu-24.0.3/src/backend/wgpu_core.rs:1079:26:
wgpu error: Validation Error
```
in console

## Additional information
Chrome Version 137.0.7151.56 (Official Build) (64-bit)
Works fine if I swap to WebGPU
Tried Ctrl F5 to no effect

Contributor guide

Open the contributing guide

Research direction

Reproduce the linked Storage Buffer Example with WebGL2 and inspect the browser console, focusing on the reported wgpu validation panic after the WebGL2 adapter is selected. Trace the example from its website entry point into the Bevy example source; no source file is named in the report. Done means the example renders on WebGL2 without the fatal validation error, while WebGPU continues to work.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
computer-graphics, web-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.