`spirv_shader_passthrough` without `shader_format_spirv` is NOOP
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 16h
- Merged PRs (30d)
- 171
Description
## Bevy version and features
0c90f047b4237cf6bbe830ad73fed6d0de6fc129
## What you did
Enabled `spirv_shader_passthrough`.
## What went wrong
The code that is behind that feature is never reached because a check for `shader_format_spirv` leads to an `unimplemented!`
## Additional information
This is the code that uses `spirv_shader_passthrough`
https://github.com/bevyengine/bevy/blob/2a24658e7d047eec6f269a26d5d4eb4884400510/crates/bevy_render/src/renderer/render_device.rs#L59-L88
If `shader_format_spirv` is not enabled it is never reached because the path leads to this `unimplemented!`
https://github.com/bevyengine/bevy/blob/2a24658e7d047eec6f269a26d5d4eb4884400510/crates/bevy_render/src/render_resource/pipeline_cache.rs#L163-L173
Contributor guide
Research direction
Start in crates/bevy_render/src/renderer/render_device.rs and crates/bevy_render/src/render_resource/pipeline_cache.rs at the linked locations. Trace the feature checks for spirv_shader_passthrough and shader_format_spirv, then verify the passthrough path is reached when only the former is enabled. Done means that configuration no longer falls through to the reported unimplemented path.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- computer-graphics, game-dev
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100