bevyengine / bevyengine/bevy

`spirv_shader_passthrough` without `shader_format_spirv` is NOOP

Open
#21,825 0 comments 0 reactions 0 assignees View on GitHub
A-Rendering C-Bug S-Needs-Investigation
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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.