KhronosGroup / KhronosGroup/SPIRV-Registry

Proposal for versioning the NonSemantic.Shader.DebugInfo Instruction Set

Open
#369 7 comments 0 reactions 1 assignee Claimed by @dnovillo View on GitHub
Dominant language
HTML
Stars
149
Forks
99
Avg merge
4d 21h
Merged PRs (30d)
2

Description

The SPIRV working group is currently discussing changes to the [NonSemantic.Shader.Debuginfo.100](https://github.khronos.org/SPIRV-Registry/nonsemantic/NonSemantic.Shader.DebugInfo.100.html) (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](https://github.khronos.org/SPIRV-Registry/nonsemantic/NonSemantic.ClspvReflection.html).

1. **Versioned imports**: The import instruction will now specify a version, replacing the current hardcoded `100`: `%1 = OpExtInstImport "NonSemantic.Shader.DebugInfo.`.
- 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.
3. **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._").

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.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.