KhronosGroup / KhronosGroup/SPIRV-Reflect
Assert/crash on `spirv_reflect.c, line 635`
- Dominant language
- C
- Stars
- 871
- Forks
- 188
- Avg merge
- 19m
- Merged PRs (30d)
- 1
Description
Given the following shader disassembled with `spirv-dis` (the the binary cannot be simply attached here) causes an assert here:
```
static SpvReflectBlockVariable* GetRefBlkVar(SpvReflectPrvParser* p_parser, SpvReflectPrvAccessChain* p_access_chain) {
uint32_t base_id = p_access_chain->base_id;
SpvReflectPrvNode* base_node = FindNode(p_parser, base_id);
assert(base_node->op == SpvOpLoad);
UNCHECKED_READU32(p_parser, base_node->word_offset + 3, base_id);
SpvReflectPrvAccessChain* base_ac = FindAccessChain(p_parser, base_id);
assert(base_ac != 0);
SpvReflectBlockVariable* base_var = base_ac->block_var;
assert(base_var != 0);
return base_var;
}
```
on `assert(base_var != 0);`
The same happens when using `spirv-reflect.exe` from the Vulkan SDK `1.4.350.0`.
[shader.txt](https://github.com/user-attachments/files/30064880/shader.txt)
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.