Rust-GPU / Rust-GPU/rust-gpu

Malformed SPIRV after assignment to mutable reference

Abierto
#178 1 comentario 0 reacciones 0 asignados Ver en GitHub

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

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. 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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.