Malformed SPIRV after assignment to mutable reference
Abierto
Nadie ha tomado este issue todavía.
bug
rustlantis
- Lenguaje dominante
- Rust
- Estrellas
- 3.4k
- Forks
- 125
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
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
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza compilando el ejemplo reducido de Rust con rust-gpu e inspecciona el SPIR-V generado asociado con la asignación a la referencia mutable. Confirma el módulo mal formado y el ID no definido informados durante el lowering de SPIR-T; se considera completado cuando el ejemplo produce SPIR-V válido sin el error de OpStore.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- rust
- Área
- compilers, computer-graphics
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100