1- SPIR-V NonSemantic Shader DebugInfo Instructions
1+ SPIR-V NonSemantic Kernel DebugInfo Instructions
22================================================
33
44:result_type: pass:normal['Result Type' must be *OpTypeVoid*.]
@@ -15,19 +15,15 @@ https://github.com/KhronosGroup/SPIRV-Headers
1515Contributors and Acknowledgments
1616~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1717
18- - Baldur Karlsson, Valve
19-
20- Contributors to NonSemantic.Shader.DebugInfo:
21-
22- - Alexey Sotkin, Intel
23- - Dmitry Sidorov, Intel
24- - Mariya Podchishchaeva, Intel
25- - Nikita Kornev, Intel
26- - Stanley Gambarin, Intel
18+ - Alexey Sotkin, Intel
19+ - Dmitry Sidorov, Intel
20+ - Mariya Podchishchaeva, Intel
21+ - Nikita Kornev, Intel
22+ - Stanley Gambarin, Intel
2723
28- Author of original *OpenCL .DebugInfo.100* specification.
24+ Author of *NonSemantic.Shader .DebugInfo.100* specification.
2925
30- - Alexey Sotkin, Intel
26+ - Baldur Karlsson, Valve
3127
3228Contributors to original *OpenCL.DebugInfo.100* specification.
3329
@@ -45,55 +41,54 @@ Contributors to original *OpenCL.DebugInfo.100* specification.
4541
4642Notice
4743------
48- Copyright (c) 2019- 2023 The Khronos Group Inc. Copyright terms at
44+ Copyright (c) 2023 The Khronos Group Inc. Copyright terms at
4945http://www.khronos.org/registry/speccopyright.html
5046
5147Status
5248------
5349
54- -- Complete
55- -- Approved by the SPIR Working Group: 2021-02-05
56- -- Ratified by the Khronos Group: 2021-03-19
50+ - Working draft
5751
5852Version
5953-------
6054
6155[width="40%",cols="25,25"]
6256|========================================
63- | Last Modified Date | 2023-02-07
64- | Revision | 10
57+ | Last Modified Date | 2023-02-10
58+ | Revision | 1
6559|========================================
6660
6761Dependencies
6862------------
6963
7064This extension is written against the SPIR-V Specification,
71- Version 1.4 Revision 1 .
65+ Version 1.6 Revision 2 .
7266
7367This instruction set requires SPIR-V 1.0.
7468
7569Introduction
7670------------
77- This is the specification of the *NonSemantic.Shader .DebugInfo.100* extended instruction
71+ This is the specification of the *NonSemantic.Kernel .DebugInfo.100* extended instruction
7872set.
7973
8074This extended instruction set is imported into a SPIR-V module in the following
8175manner:
8276
83- [[OpExtInstImport]]`<extinst-id> OpExtInstImport "NonSemantic.Shader .DebugInfo.100"`
77+ [[OpExtInstImport]]`<extinst-id> OpExtInstImport "NonSemantic.Kernel .DebugInfo.100"`
8478
8579The instructions below are capable of conveying debug information about the
8680source program.
8781
8882The design guidelines for these instructions are:
8983
90- * Similarity with OpenCL.DebugInfo.100, to re-use its tooling and benefit from its design
91- work. To aid in future compatibility, new extended instructions in this extension begin
92- at number 100.
84+ * Similarity with OpenCL.DebugInfo.100 and NonSemantic.Shader.DebugInfo.100,
85+ to re-use their tooling and benefit from their design work. To aid in future
86+ compatibility, new extended instructions in this extension begin at number 100.
9387* Compatibility with rules regarding non-semantic instruction sets
9488* Expansion to handle cases needed for Vulkan SPIR-V modules
9589
96- This is a non-normative list of changes to the OpenCL.DebugInfo.100 specification:
90+ This is a non-normative list of changes to the OpenCL.DebugInfo.100 specification
91+ (transferred from NonSemantic.Shader.DebugInfo.100):
9792
9893* *OpExtInst* instructions can no longer appear in any place in function bodies, but only
9994 within the valid locations inside a block (i.e. after OpPhi, before merge/branch
@@ -123,8 +118,7 @@ This is a non-normative list of changes to the OpenCL.DebugInfo.100 specificatio
123118* <<DebugBasicType,*DebugBasicType*>> now takes a *Flags* operand to allow specifying
124119 *FlagUnknownPhysicalLayout*.
125120
126- TODO: to remove, kept for a while for review
127- Additional list of changes to the NonSemantic.Shader.DebugInfo.100 specification rev 9:
121+ Additional list of changes to the NonSemantic.Shader.DebugInfo.100 specification:
128122
129123* New instructions: <<DebugModule,*DebugModule*>>, <<DebugTypeSubrange,*DebugTypeSubrange*>>,
130124 <<DebugTypeArrayDynamic,*DebugTypeArrayDynamic*>> and <<DebugTypeString,*DebugTypeString*>>.
@@ -304,7 +298,6 @@ Source Language [[SrcLang]]
304298| 116 | *C++20*
305299|======
306300
307-
308301Debug Info Flags [[DebugFlags]]
309302~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
310303
@@ -348,7 +341,6 @@ Used by <<DebugBuildIdentifier,*DebugBuildIdentifier*>> +
348341 compile to the exact same SPIR-V binary.
349342|======
350343
351-
352344Base Type Attribute Encodings [[BaseTypeAttributeEncoding]]
353345~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
354346
@@ -369,6 +361,7 @@ Used by <<DebugTypeBasic,*DebugTypeBasic*>> +
369361
370362Composite Types [[CompositeTypes]]
371363~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
364+
372365Used by <<DebugTypeComposite,*DebugTypeComposite*>> +
373366
374367[cols="^1,10",options="header",width = "50%"]
@@ -381,8 +374,8 @@ Used by <<DebugTypeComposite,*DebugTypeComposite*>> +
381374
382375Type Qualifiers [[TypeQualifiers]]
383376~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
384- Used by <<DebugTypeQualifier,*DebugTypeQualifier*>> +
385377
378+ Used by <<DebugTypeQualifier,*DebugTypeQualifier*>> +
386379[cols="^1,10",options="header",width = "50%"]
387380|======
3883812+^| Qualifier tag code name
@@ -394,6 +387,7 @@ Used by <<DebugTypeQualifier,*DebugTypeQualifier*>> +
394387
395388Debug Operations [[Operation]]
396389~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
390+
397391These operations are used to form a DWARF expression.
398392Such expressions provide information about the current location
399393(described by <<DebugDeclare,*DebugDeclare*>>) or value
@@ -670,6 +664,7 @@ Used by <<DebugOperation,*DebugOperation*>> +
670664
671665Imported Entities [[ImportedEntities]]
672666~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
667+
673668Used by <<DebugImportedEntity,*DebugImportedEntity*>> +
674669
675670[cols="^1,10",options="header",width = "50%"]
@@ -681,6 +676,7 @@ Used by <<DebugImportedEntity,*DebugImportedEntity*>> +
681676
682677Checksum kind [[ChecksumKind]]
683678~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
679+
684680Used by <<DebugSource,*DebugSource*>> +
685681
686682[cols="^1,10",options="header",width = "50%"]
@@ -2331,24 +2327,7 @@ Revision History
23312327[cols="14%,12%,10%,64%"]
23322328[grid="rows"]
23332329[options="header"]
2334- |========================================================
2335- |Rev |Date |Author |Changes
2336- |1.00 Rev 1 |2020-11-02|Baldur Karlsson |*Initial revision*
2337- |1.00 Rev 2 |2020-11-02|Baldur Karlsson |Changed to comply with non-semantic restrictions. +
2338- Removed forward references. +
2339- Converted literal operands to OpConstant ids. +
2340- |1.00 Rev 3 |2020-11-17|Baldur Karlsson |Added *DebugSourceContinued*, *DebugLine*/*DebugNoLine*,
2341- *DebugBuildIdentifier*, *DebugStoragePath*,
2342- *DebugEntryPoint*, *DebugTypeMatrix*.
2343- |1.00 Rev 4 |2020-12-08|Baldur Karlsson |Grammar fixes, added *FlagUnknownPhysicalLayout* and
2344- *Indexes* parameter in *DebugValue*. Limited where
2345- *DebugLine* type instructions can appear.
2346- |1.00 Rev 5 |2020-01-04|Baldur Karlsson |Add *Flags* parameter to *DebugTypeBasic*.
2347- |1.00 Rev 6 |2020-01-22|Baldur Karlsson |Rename extended instruction set.
2348- |1.00 Rev 7 |2021-07-01|Baldur Karlsson |Clarify runtime array sizing.
2349- |1.00 Rev 8 |2021-07-27|Baldur Karlsson |Clarify that *DebugFunctionDefinition* can be in +
2350- basic blocks.
2351- |1.00 Rev 9 |2022-02-28|Baldur Karlsson |Clarify that *DebugEntryPoint* refers to a
2352- *DebugFunction*, not an *OpEntryPoint*.
2353- |1.00 Rev 10 |2023-02-07|Dmitry Sidorov |Add several fortran-related instructions
2354- |========================================================
2330+ |==============================================================================
2331+ |Rev |Date |Author |Changes
2332+ |1.00 Rev 1 |2023-02-10|Alexey Sotkin / Dmitry Sidorov |*Initial revision*
2333+ |===============================================================================
0 commit comments