Hi, I saw your announcement on /r/rust_gamedev and tried out your library to replace spirv_reflect. I love the API and Debug instances, the types in spirq::ty are also idiomatic to work with!
I have a problem where enabling -Zi and/or -fspv-reflect affects the reflection (negatively in both cases). I don't need these for now so I'm good, but it would be a good idea to look into why these annotations break things. From what I could gather, -fspv-reflect only added a couple OpDecorateString entries which caused spirq to not see any inputs for that entrypoint.
I'm attaching my shader, dxc compile options and Debug output from spirq:
It gets similarly confused by the -Zi flag, but not to such a great extent. It would be nice to support these flags as they're seemingly becoming standard for HLSL on Vulkan debugging and other tools.
Hi, I saw your announcement on /r/rust_gamedev and tried out your library to replace spirv_reflect. I love the API and
Debug
instances, the types inspirq::ty
are also idiomatic to work with!I have a problem where enabling
-Zi
and/or-fspv-reflect
affects the reflection (negatively in both cases). I don't need these for now so I'm good, but it would be a good idea to look into why these annotations break things. From what I could gather,-fspv-reflect
only added a coupleOpDecorateString
entries which causedspirq
to not see any inputs for that entrypoint.I'm attaching my shader, dxc compile options and
Debug
output fromspirq
:Debug output:
Perfect!
Now adding
-fspv-reflect
as an option to dxc, SPIR-V diff is now:But the output is:
It gets similarly confused by the
-Zi
flag, but not to such a great extent. It would be nice to support these flags as they're seemingly becoming standard for HLSL on Vulkan debugging and other tools.