KhronosGroup / KhronosGroup/Vulkan-Docs
Clarify for RuntimeSpirv VUIDs if they apply per entry point
- Dominant language
- JavaScript
- Stars
- 3.3k
- Forks
- 549
- Avg merge
- 5d 5h
- Merged PRs (30d)
- 2
Description
In theory, every VUID in the [RuntimeSpirv](https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/RuntimeSpirv.html) section could apply in one of two ways:
- Globally for the whole shader module, i.e. without regard for the selected entry point.
- Only for instructions executed, or variables or types used, in the static call tree of the selected entry point.
In some cases, the choice is obvious. A VUID that includes a reference to the entry point, its execution model or interface variables must be specific to that entry point (example: VUID-RuntimeSpirv-Offset-06308). A VUID that references capabilities must apply globally. But for most of the VUIDs listed there, it's not clear how they apply. The validation layer seems to apply them all globally, even the ones that depend on a specific execution model, which doesn't seem right, but is understandable given that this section doesn't tell you.
Contributor guide
Research direction
Start with the RuntimeSpirv section in the Vulkan specification and review the listed VUIDs, comparing their wording with the selected entry point, execution model, and static call tree. Done means the section clearly states whether each VUID applies globally or only to the selected entry point.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100