KhronosGroup / KhronosGroup/SPIRV-Tools

OpTypeRuntimeArray should only be used certain purposes

Open
#1,458 4 comments 0 reactions 0 assignees View on GitHub
component:validation
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.