KhronosGroup / KhronosGroup/Vulkan-Docs

Clarify for RuntimeSpirv VUIDs if they apply per entry point

Open
#2,272 2 comments 0 reactions 0 assignees View on GitHub
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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.