example compute_shader_game_of_life doesnt work with GL backend
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 22h
- Merged PRs (30d)
- 161
Description
## Bevy version
0.10.0
## \[Optional\] Relevant system information
```ignore
INFO bevy_render::renderer: AdapterInfo { name: "AMD Radeon Graphics (renoir, LLVM 15.0.7, DRM 3.49, 6.2.2-arch1-1)", vendor: 4098, device: 0, device_type: Other, driver: "", driver_info: "", backend: Gl }
INFO bevy_diagnostic::system_information_diagnostics_plugin::internal: SystemInfo { os: "Linux Arch Linux", kernel: "6.2.2-arch1-1", cpu: "AMD Ryzen 7 5800U with Radeon Graphics", core_count: "8", memory: "15.0 GiB" }
```
## What you did
Ran example without vulkan-radeon installed, so it used the GL backend as fallback.
## What went wrong
```
ERROR wgpu_hal::gles::egl: GLES: [ShaderCompiler/Error] ID 2 : 0:9(1): error: image variables of format other than r32f, r32i or r32ui must be qualified `readonly' or `writeonly'
ERROR wgpu::backend::direct: Handling wgpu errors as fatal by default thread 'Compute Task Pool (5)' panicked at 'wgpu error: Validation Error
Caused by:
In Device::create_compute_pipeline
Internal error: 0:9(1): error: image variables of format other than r32f, r32i or r32ui must be qualified `readonly' or `writeonly
```
## Additional information
I fixed the example by using two textures, one for write and one for read, and swapping which texture was used for in/out. I'm not sure a re-write of the example is warranted though since GL is still listed as unsupported in the docs:
pub const [GL](https://docs.rs/bevy/latest/bevy/render/settings/struct.Backends.html#associatedconstant.GL): [Backends](https://docs.rs/bevy/latest/bevy/render/settings/struct.Backends.html) = Self{ bits: 1 << Backend::Gl as u32,}
Currently unsupported
Contributor guide
Assessment
This issue has not been assessed yet.