KhronosGroup / KhronosGroup/SPIRV-Reflect
Decide how to handle array interfaces
- Dominant language
- C
- Stars
- 871
- Forks
- 188
- Avg merge
- 19m
- Merged PRs (30d)
- 1
Description
certain interface variables have "array interfaces", things like
- all Geometry input variables
- variables marked with `PerVertexKHR`
- etc
These will look like
```glsl
layout(location = 0) pervertexEXT in float a[3];
layout(location = 1) pervertexEXT in float b[3];
```
and then
```
1:
spirv id : 20
location : 0
type : float
array : [3]
semantic :
name : a
qualifier :
2:
spirv id : 44
location : 1
type : float
array : [3]
semantic :
name : b
qualifier :
```
these "array interface" are what makes this legal, otherwise it would be invalid as `a` would consume `Location` [`0`, `1`, `2`]
It would be nice to express this, not sure if the best thing is marking these with a `qualifier` or other mechanism
Contributor guide
No contributing guide indexed for this repository
Research direction
The issue names no source files, tests, or entry points, so first trace how Geometry and PerVertexKHR interface variables are reflected and represented in the public API. Decide and document a representation for array interfaces that distinguishes them from ordinary location-consuming arrays, then cover the shown a[3] and b[3] cases with tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- computer-graphics
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100