KhronosGroup / KhronosGroup/Vulkan-Portability
Metal does not support sizing arrays in shaders with Spec Constants
- Dominant language
- No language data
- Stars
- 45
- Forks
- 7
- PR merge metrics
- No merged PRs in 30d
Description
In MSL, it is not possible to specify an array size using a variable in the `constant` address space. Because Metal function constants are variables in this space, this means that the size of an array cannot be a function constant. This is particularly surprising, given that several other things, including binding numbers of resources, can be function constants, which one would not expect given that arrays cannot be sized with function constants.
This means that, on Portability implementations over Metal, we won't be able to support shaders that use Specialization Constants to size arrays.
Contributor guide
No contributing guide indexed for this repository
Research direction
No repository files or tests are named. Begin by locating the Metal portability implementation and its specialization-constant handling, then determine whether the reported array-sizing limitation can be represented or worked around. Done would require a decided approach that supports shaders using specialization constants for array sizes.
Written by the indexing model from the issue text.
Assessment
- Domain
- computer-graphics
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100