-
Notifications
You must be signed in to change notification settings - Fork 86
Open
Description
The SPIRV working group is currently discussing changes to the NonSemantic.Shader.Debuginfo.100 (NSDI.100) instruction set. To support this, we need to introduce a formal versioning system to the NSDI spec. This will affect how the instruction set is imported into SPIR-V modules and will have downstream effects on tooling.
The core idea is to follow the same versioning scheme used by Clspv Reflection.
- Versioned imports: The import instruction will now specify a version, replacing the current hardcoded
100:%1 = OpExtInstImport "NonSemantic.Shader.DebugInfo.<ver>.- For compatibility, we will start versioning at
100. - Tools that don't understand new instructions may reject the module outright or try to be flexible at parsing instructions that they may not understand.
- For compatibility, we will start versioning at
- Unified spec document: The specification document itself will be versioned internally.
- New URL: The spec will live at a single, version-neutral URL:
.../NonSemantic.Shader.DebugInfo.html - Internal versioning: The document will be updated to match the ClspvReflection spec:
- A "Latest version" and "Date" section will be added to the top.
- Changes will be documented inline (e.g., "...this operand is missing before version N.").
- New URL: The spec will live at a single, version-neutral URL:
I would like to gather opinions on this proposal. Please share any thoughts, concerns, or requirements we should keep in mind as we formalize these changes.
@baldurk @danginsburg @s-perron @sajjadmirzanv @chaocNV for visibility. If you know of any others who may be affected by this, please tag them as well. Thanks.