You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In theory, every VUID in the RuntimeSpirv 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.
The text was updated successfully, but these errors were encountered:
From the WG call, we wanted to say "Anything that is not labeled with Entrypoint is then at Shader Module scope", but we also agreed that we can't fully make that blanket statement (as of today) as there are probably a few VUs that would then produce false positives.
For the short term, if there are any specific VUs, were there more VUs you found that would need to be labeled as Entrypoint but aren't?
Another concern is for cases of moving things from an implicit "Shader Module" scope to Entrypoint should have a CTS test to make sure drivers are correctly going to handle that as well
In theory, every VUID in the RuntimeSpirv section could apply in one of two ways:
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.
The text was updated successfully, but these errors were encountered: