Rust-GPU / Rust-GPU/rust-gpu

[Migrated] Some shaders that compiled in 0.8 are erring in 0.9

Offen
#78 9 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Rust
Sterne
3.4k
Forks
125
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Issue automatically imported from old repo: https://github.com/EmbarkStudios/rust-gpu/issues/1089
Old labels: t: bug
Originally creatd by schell on 2023-08-03T20:42:54Z


Expected Behaviour

Shaders should compile.

Example & Steps To Reproduce

Shaders that previously compiled in 0.8 are no longer compiling when bumping rust-gpu, spirv-std and spirv-builder to 0.9.

Specifically the shaders in question all give some form of this error:

error: error:0:0 - In Logical addressing, variables may not allocate a pointer type
         %24 = OpVariable %_ptr_Private__ptr_Private_uint Private %25
  |
  = note: spirv-val failed
  = note: module `/Users/schell/code/renderling/shaders/shader-crate/target/spirv-unknown-vulkan1.2/release/deps/shader_crate.spvs/main_fragment_scene.spv`
  1. git clone https://github.com/schell/renderling --branch chore/bump-rust-gpu-0.9
  2. cd renderling/shaders
  3. cargo run --release

System Info

Apple M1
macOS 13.4.1 (22F82)

spirv-val
SPIRV-Tools v2023.3 v2022.4-198-ge7c6084f
Targets:
  SPIR-V 1.0
  SPIR-V 1.1
  SPIR-V 1.2
  SPIR-V 1.3
  SPIR-V 1.4
  SPIR-V 1.5
  SPIR-V 1.6
  SPIR-V 1.2 (under OpenCL 2.2 Full Profile semantics)
  SPIR-V 1.0 (under Vulkan 1.0 semantics)
  SPIR-V 1.3 (under Vulkan 1.1 semantics)
 SPIR-V 1.4 (under Vulkan 1.1 semantics)
 SPIR-V 1.5 (under Vulkan 1.2 semantics)
 SPIR-V 1.6 (under Vulkan 1.3 semantics)

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Klone renderling auf dem Branch chore/bump-rust-gpu-0.9, wechsle in renderling/shaders und führe cargo run --release aus, um den SPIR-V-Validierungsfehler zu reproduzieren. Untersuche das generierte Shader-Artefakt sowie die Versionsänderungen von Rust GPU, spirv-std und spirv-builder. Als abgeschlossen gilt die Aufgabe, wenn die betroffenen Shader erfolgreich kompiliert werden und spirv-val das generierte SPIR-V akzeptiert.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
rust
Bereich
compilers, computer-graphics
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.