KhronosGroup / KhronosGroup/SPIRV-Cross

Compiler cannot reflect storage_buffer

Open
#2,590 1 comment 0 reactions 0 assignees View on GitHub
question
Dominant language
GLSL
Stars
2.5k
Forks
713
Avg merge
2d 18h
Merged PRs (30d)
16

Description

Compile slang shader contains
`[[vk::binding(1, 0)]] StructedBuffer SphereArray;`

Use `compiler.get_shader_reources()` didn't see any storage_buffers.
Use spirv-cross.exe to reflect, didn't see any ssbos.
But use spirv-dis.exe see
```
OpDecorate %SphereArray Binding 1
OpDecorate %SphereArray DescriptorSet 0
```
which binds correctly.

RWStructedBuffer doesn't work either.
How can or where can i get the reflection rightly in code ?

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with compiler.get_shader_reources() and compare its reflection output with the spirv-dis.exe decorations for SphereArray. Check the spirv-cross.exe reflection path for StructedBuffer and RWStructedBuffer; done means storage buffers are reported with their binding and descriptor set.

Written by the indexing model from the issue text.

Assessment

Domain
compilers
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.