Crash with WGSL `textureLoad` from depth textures is not supported in GLSL
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 16h
- Merged PRs (30d)
- 171
Description
some information about wgpu is available in https://github.com/gfx-rs/wgpu/issues/8272
Examples from the Bevy repo run as expected.
## Bevy version and features
0.16.1
## \[Optional\] Relevant system information
Arch Linux
Rustc 1.88.0
## What you did
```
use bevy::prelude::*;
fn main() {
App::new().add_plugins(DefaultPlugins).run();
}
```
`cargo run`
## What went wrong
Compilation is successful. The window crashes as soon as it launches, with this message:
```
~/s/g/t/pong main [?] 0.1.0 1.88.0 22s745ms : cargo run
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.24s
Running `target/debug/pong`
2025-09-28T05:25:19.250765Z INFO bevy_diagnostic::system_information_diagnostics_plugin::internal: SystemInfo { os: "Linux (Arch Linux rolling)", kernel: "6.16.8-zen3-1-zen", cpu: "Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz", core_count: "6", memory: "62.7 GiB" }
2025-09-28T05:25:19.258368Z WARN winit::platform_impl::linux::x11::xdisplay: error setting XSETTINGS; Xft options won't reload automatically
2025-09-28T05:25:19.290002Z ERROR wgpu_hal::vulkan::instance: GENERAL [Loader Message (0x0)]
terminator_CreateInstance: Found no drivers!
2025-09-28T05:25:19.290037Z ERROR wgpu_hal::vulkan::instance: objects: (type: INSTANCE, hndl: 0x559473d9ad40, name: ?)
2025-09-28T05:25:19.329583Z INFO bevy_render::renderer: AdapterInfo { name: "AMD Radeon Pro WX 3100 (radeonsi, polaris12, ACO, DRM 3.64, 6.16.8-zen3-1-zen)", vendor: 4098, device: 0, device_type: Other, driver: "", driver_info: "4.6 (Core Profile) Mesa 25.2.3-arch1.2", backend: Gl }
2025-09-28T05:25:20.264352Z INFO bevy_render::batching::gpu_preprocessing: GPU preprocessing is fully supported on this device.
2025-09-28T05:25:20.284497Z WARN bevy_pbr::ssao: ScreenSpaceAmbientOcclusionPlugin not loaded. GPU lacks support: TextureFormat::R16Float does not support TextureUsages::STORAGE_BINDING.
2025-09-28T05:25:20.293375Z INFO bevy_winit::system: Creating new window App (0v1)
2025-09-28T05:25:21.171411Z ERROR wgpu::backend::wgpu_core: Shader translation error for stage ShaderStages(COMPUTE): WGSL `textureLoad` from depth textures is not supported in GLSL
2025-09-28T05:25:21.171463Z ERROR wgpu::backend::wgpu_core: Please report it to https://github.com/gfx-rs/wgpu
2025-09-28T05:25:21.171485Z ERROR wgpu::backend::wgpu_core: Handling wgpu errors as fatal by default
thread 'Async Compute Task Pool (1)' panicked at /home/rw/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wgpu-24.0.5/src/backend/wgpu_core.rs:1351:26:
wgpu error: Validation Error
Caused by:
In Device::create_compute_pipeline, label = 'downsample depth multisample first phase pipeline'
Internal error: WGSL `textureLoad` from depth textures is not supported in GLSL
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Encountered a panic in system `bevy_render::render_resource::pipeline_cache::PipelineCache::process_pipeline_queue_system`!
```
Contributor guide
Research direction
Reproduce the crash with the minimal Bevy application using `cargo run` on the reported Arch Linux setup, then inspect the `bevy_render::renderer` and `bevy_render::render_resource::pipeline_cache` errors around `create_compute_pipeline`. Done means the depth downsample compute pipeline no longer crashes during startup on the affected OpenGL/GLSL backend; the report points to wgpu for the translation failure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- arch-linux, linux, rust
- Domain
- computer-graphics
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100