Skip to content

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

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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