Skip to content

Proposal for versioning the NonSemantic.Shader.DebugInfo Instruction Set #369

@dnovillo

Description

@dnovillo

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.

  1. 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.
  2. 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.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions