Rust-GPU / Rust-GPU/rust-gpu

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

Open
#78 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
3.4k
Forks
125
PR merge metrics
No merged PRs in 30d

Description

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)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Clone renderling at the chore/bump-rust-gpu-0.9 branch, enter renderling/shaders, and run cargo run --release to reproduce the SPIR-V validation error. Inspect the generated shader artifact and the Rust GPU, spirv-std, and spirv-builder version changes. Done means the affected shaders compile successfully and spirv-val accepts the generated SPIR-V.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
compilers, computer-graphics
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.