KhronosGroup / KhronosGroup/SPIRV-Registry
OpWritePackedPrimitiveIndices4x8NV and OpEntryPoint interface
- Dominant language
- HTML
- Stars
- 149
- Forks
- 99
- Avg merge
- 4d 21h
- Merged PRs (30d)
- 2
Description
`OpWritePackedPrimitiveIndices4x8NV` implicitly refer to "output variable decorated with the PrimitiveIndicesNV BuiltIn" instead of using an explicit ID. The `OpEntryPoint` interface is defined as
> The set of Interface must be equal to or a superset of the global OpVariable Result referenced by the entry point’s static call tree, within the interface’s storage classes.
Glslang (Version: 10:11.0.0) doesn't include the variable in the interfaces if only `OpWritePackedPrimitiveIndices4x8NV` is used but no other explicit references. I think either:
- This is (effectively) expected behavior, and we could add a note to SPV_NV_mesh_shader clarifiying this;
- This is a bug in GLSLang, implicit reference should count for the interfaces, the spec should change either the definition of `OpEntryPoint` or `OpWritePackedPrimitiveIndices4x8NV`.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the SPV_NV_mesh_shader wording for OpWritePackedPrimitiveIndices4x8NV alongside the OpEntryPoint interface definition. Reproduce or inspect the glslang 10:11.0.0 behavior described in the issue. Done means resolving whether the implicit reference is covered and recording the agreed clarification or specification change.
Written by the indexing model from the issue text.
Assessment
- Domain
- compilers, documentation
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100