bevyengine / bevyengine/bevy

Crash with WGSL `textureLoad` from depth textures is not supported in GLSL

Open
#21,300 6 comments 0 reactions 0 assignees View on GitHub
A-Rendering C-Bug C-Machine-Specific D-Complex O-Linux S-Ready-For-Implementation
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.