You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
The text was updated successfully, but these errors were encountered:
#[spirv(fragment)]pubfnself_assignment(mutx:f32,y:&mutf32){
x = x;*y = x;}
Crucially, the type of the self-assignment doesn't actually matter, the legacy mem2reg pass (which replaces variables with their contents, just like the LLVM mem2reg pass) is just buggy for this.
(My qptr replacement doesn't have this bug so I might be able to find what is wrong with the legacy mem2reg)
Also, I could've sworn I've seen this bug before, but maybe in the context of loops? (which made me assume it was a much more complicated issue)
Issue originally found by
rustlantis
.This reduced example:
Results in invalid SPIR-V:
The text was updated successfully, but these errors were encountered: