Bevy rendering panics are arcane
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 22h
- Merged PRs (30d)
- 161
Description
Panics caused by rendering errors are almost impossible to debug in bevy.
Try loading a glTF model where one of the texture is formatted with 16bits color depth, and tell me how someone will find by themselves what the issue is exactly.
This also makes it extremely burdensome and tedious to develop rendering features for bevy. Fixing this will widen the potential contributor pool.
The only saving grace is the `label` set in descriptors. Thankfully, bevy always sets a label.
However, with pipeline specialization, the pipeline label might not even be that helpful. Since different entities might get different shaders.
Furthermore, when bevy is compiled in release mode, the label is somehow discarded and replaced by something completely incomprehensible:
```
note: render pipeline = ``
```
I suggest the following:
- Do not discard pipeline info in release mode. Or at least use a feature gate rather than release/debug (right now I can't find the code where this is set conditionally)
- Keep track of entity `Name`s in the render world, name specialized pipelines after the entity they specialize (maybe swapping to a different data structure for name could help reduce the `Extract` churn)
Contributor guide
Assessment
This issue has not been assessed yet.