[Migrated] `OpConvertUToPtr` support
Nessuno ha ancora preso questa issue.
- Lingua principale
- Rust
- Stelle
- 3.4k
- Fork
- 126
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
Issue automatically imported from old repo: https://github.com/EmbarkStudios/rust-gpu/issues/767
Old labels: t: enhancement,s: qptr may fix
Originally creatd by expenses on 2021-10-13T09:10:25Z
I started looking into how OpConvertUToPtr can be implemented - initially for RuntimeArrays. Something like this works well, but is not generic:
unsafe fn load_f32_runtime_array_from_handle(handle: u64) -> &'static mut RuntimeArray<f32> {
asm!(
"%f32 = OpTypeFloat 32",
"%runtime_array = OpTypeRuntimeArray %f32",
"%runtime_array_ptr = OpTypePointer Generic %runtime_array",
"%result = OpConvertUToPtr %runtime_array_ptr {handle}",
"OpReturnValue %result",
handle = in(reg) handle,
options(noreturn)
)
}
I know that @msiglreith implemented loading resources from handles in https://github.com/EmbarkStudios/rust-gpu/compare/main...msiglreith:glace, but it looks like that requires a lot of codegen changes - ideally we should keep things at the asm! layer if possible.
Is there a way to make the above function generic over T, or will this require a few codegen changes?
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 con l’esempio asm! nell’issue e con il confronto glace collegato per capire come vengono attualmente gestiti gli handle delle risorse e OpConvertUToPtr. Determina se il supporto generico può rimanere al livello asm! o richiede modifiche al codegen; il lavoro è completato quando questo ambito è stato stabilito e il supporto richiesto è stato implementato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- rust
- Ambito
- compilers, computer-graphics
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100