KhronosGroup / KhronosGroup/SPIRV-Tools
OpTypeRuntimeArray should only be used certain purposes
- Dominant language
- C++
- Stars
- 1.4k
- Forks
- 709
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 28
Description
Instruction description of OpTypeRuntimeArray says "Objects of this type can only be created with OpVariable using the StorageBuffer or Uniform Storage Classes."
SPV_EXT_descriptor_indexing says this is superceded by Vulkan environment spec that says
"OpTypeRuntimeArray must only be used for:
the last member of an OpTypeStruct that is in the StorageBuffer storage class decorated as Block, or that is in the Uniform storage class decorated as BufferBlock."
This is so runtime array can be used for an unbounded size list of descriptors. See RuntimeDescriptorArrayEXT in SPV_EXT_descriptor_indexing
Contributor guide
Research direction
Start by locating the instruction description for OpTypeRuntimeArray and compare its current wording with the quoted Vulkan environment specification and SPV_EXT_descriptor_indexing context. Done means the description accurately states the permitted uses, including runtime descriptor arrays.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100