Try to map `spirv-val` output to Rust code
Nessuno ha ancora preso questa issue.
- Lingua principale
- Rust
- Stelle
- 3.4k
- Fork
- 125
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
I just got an error that looks like this:
error: error:0:0 - OpInBoundsAccessChain result type (OpTypeStruct) does not match the type that results from indexing into the base <id> (OpTypeArray).
%2764 = OpInBoundsAccessChain %_ptr_Function__struct_33 %2763 %uint_0
|
= note: spirv-val failed
= note: module `.../spirv-unknown-vulkan1.2/debug/deps/....spv`
Unfortunately, the output isn't all that helpful, don't know how to debug it except commenting-out pieces of code until the error goes away. However, I do have a suspicion that _ptr_Function__struct_33 might be something that codegen controls, which in turn might mean ability to translate it back to something like the name of the data structure or file and line of code.
Also maybe debug builds could use something more descriptive than struct_33 to help with debugging, like a mangling scheme.
I'm compiling with these options:
let backend = cargo_gpu::Install::from_shader_crate(shader_crate.clone()).run()?;
let spirv_builder = backend
.to_spirv_builder(shader_crate, "spirv-unknown-vulkan1.2")
.print_metadata(MetadataPrintout::DependencyOnly)
.spirv_metadata(SpirvMetadata::NameVariables)
.release(false);
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
Esamina il flusso cargo_gpu::Install e la configurazione to_spirv_builder(...).spirv_metadata(SpirvMetadata::NameVariables), quindi ispeziona come le diagnosi emesse da spirv-val espongono _ptr_Function__struct_33. Definisci un comportamento concreto di mapping o denominazione e verificalo rispetto al fallimento OpInBoundsAccessChain mostrato; l’issue è completata quando le diagnosi generate identificano il contesto rilevante del codice sorgente Rust o forniscono nomi di debug più descrittivi.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- rust
- Ambito
- compilers, devtools
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 30/100