Malformed SPIRV after assignment to mutable reference
Aperta
Nessuno ha ancora preso questa issue.
bug
rustlantis
- Lingua principale
- Rust
- Stelle
- 3.4k
- Fork
- 125
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
Issue originally found by rustlantis.
This reduced example:
#![no_std]
use spirv_std::spirv;
#[spirv(compute(threads(1)))]
pub fn fn1(#[spirv(storage_buffer, descriptor_set = 0, binding = 0)] mut addr: &mut f32) {
addr = addr;
(*addr) = 0.0;
}
Results in invalid SPIR-V:
error: malformed SPIR-V (in OpStore: undefined ID %33)
|
= note: while lowering SPIR-V module to SPIR-T (spirt::spv::lower)
= note: input SPIR-V module was saved to /home/michal/rust-gpu/target/spirv-builder/spirv-unknown-vulkan1.1/release/deps/sky_shader.spirt-lower-from-spv-input.spv
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia compilando l’esempio Rust ridotto con rust-gpu e ispeziona lo SPIR-V generato associato all’assegnazione al riferimento mutabile. Conferma il modulo malformato e l’ID non definito segnalati durante il lowering di SPIR-T; il lavoro è completato quando l’esempio produce SPIR-V valido senza l’errore OpStore.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- rust
- Ambito
- compilers, computer-graphics
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100