diff --git a/nonsemantic/NonSemantic.Shader.DebugInfo.100.asciidoc b/nonsemantic/NonSemantic.Shader.DebugInfo.100.asciidoc index 6489e11..0553181 100644 --- a/nonsemantic/NonSemantic.Shader.DebugInfo.100.asciidoc +++ b/nonsemantic/NonSemantic.Shader.DebugInfo.100.asciidoc @@ -1,4 +1,4 @@ -SPIR-V NonSemantic Shader DebugInfo Instructions +SPIR-V NonSemantic Kernel DebugInfo Instructions ================================================ :result_type: pass:normal['Result Type' must be *OpTypeVoid*.] @@ -15,19 +15,15 @@ https://github.com/KhronosGroup/SPIRV-Headers Contributors and Acknowledgments ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Baldur Karlsson, Valve - -Contributors to NonSemantic.Shader.DebugInfo: - -- Alexey Sotkin, Intel -- Dmitry Sidorov, Intel -- Mariya Podchishchaeva, Intel -- Nikita Kornev, Intel -- Stanley Gambarin, Intel + - Alexey Sotkin, Intel + - Dmitry Sidorov, Intel + - Mariya Podchishchaeva, Intel + - Nikita Kornev, Intel + - Stanley Gambarin, Intel -Author of original *OpenCL.DebugInfo.100* specification. +Author of *NonSemantic.Shader.DebugInfo.100* specification. - - Alexey Sotkin, Intel + - Baldur Karlsson, Valve Contributors to original *OpenCL.DebugInfo.100* specification. @@ -45,55 +41,54 @@ Contributors to original *OpenCL.DebugInfo.100* specification. Notice ------ -Copyright (c) 2019-2023 The Khronos Group Inc. Copyright terms at +Copyright (c) 2023 The Khronos Group Inc. Copyright terms at http://www.khronos.org/registry/speccopyright.html Status ------ --- Complete --- Approved by the SPIR Working Group: 2021-02-05 --- Ratified by the Khronos Group: 2021-03-19 +- Working draft Version ------- [width="40%",cols="25,25"] |======================================== -| Last Modified Date | 2023-02-07 -| Revision | 10 +| Last Modified Date | 2023-02-10 +| Revision | 1 |======================================== Dependencies ------------ This extension is written against the SPIR-V Specification, -Version 1.4 Revision 1. +Version 1.6 Revision 2. This instruction set requires SPIR-V 1.0. Introduction ------------ -This is the specification of the *NonSemantic.Shader.DebugInfo.100* extended instruction +This is the specification of the *NonSemantic.Kernel.DebugInfo.100* extended instruction set. This extended instruction set is imported into a SPIR-V module in the following manner: -[[OpExtInstImport]]` OpExtInstImport "NonSemantic.Shader.DebugInfo.100"` +[[OpExtInstImport]]` OpExtInstImport "NonSemantic.Kernel.DebugInfo.100"` The instructions below are capable of conveying debug information about the source program. The design guidelines for these instructions are: -* Similarity with OpenCL.DebugInfo.100, to re-use its tooling and benefit from its design - work. To aid in future compatibility, new extended instructions in this extension begin - at number 100. +* Similarity with OpenCL.DebugInfo.100 and NonSemantic.Shader.DebugInfo.100, + to re-use their tooling and benefit from their design work. To aid in future + compatibility, new extended instructions in this extension begin at number 100. * Compatibility with rules regarding non-semantic instruction sets * Expansion to handle cases needed for Vulkan SPIR-V modules -This is a non-normative list of changes to the OpenCL.DebugInfo.100 specification: +This is a non-normative list of changes to the OpenCL.DebugInfo.100 specification +(transferred from NonSemantic.Shader.DebugInfo.100): * *OpExtInst* instructions can no longer appear in any place in function bodies, but only 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 * <> now takes a *Flags* operand to allow specifying *FlagUnknownPhysicalLayout*. -TODO: to remove, kept for a while for review -Additional list of changes to the NonSemantic.Shader.DebugInfo.100 specification rev 9: +Additional list of changes to the NonSemantic.Shader.DebugInfo.100 specification: * New instructions: <>, <>, <> and <>. @@ -304,7 +298,6 @@ Source Language [[SrcLang]] | 116 | *C++20* |====== - Debug Info Flags [[DebugFlags]] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -348,7 +341,6 @@ Used by <> + compile to the exact same SPIR-V binary. |====== - Base Type Attribute Encodings [[BaseTypeAttributeEncoding]] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -369,6 +361,7 @@ Used by <> + Composite Types [[CompositeTypes]] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Used by <> + [cols="^1,10",options="header",width = "50%"] @@ -381,8 +374,8 @@ Used by <> + Type Qualifiers [[TypeQualifiers]] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Used by <> + +Used by <> + [cols="^1,10",options="header",width = "50%"] |====== 2+^| Qualifier tag code name @@ -394,6 +387,7 @@ Used by <> + Debug Operations [[Operation]] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + These operations are used to form a DWARF expression. Such expressions provide information about the current location (described by <>) or value @@ -670,6 +664,7 @@ Used by <> + Imported Entities [[ImportedEntities]] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Used by <> + [cols="^1,10",options="header",width = "50%"] @@ -681,6 +676,7 @@ Used by <> + Checksum kind [[ChecksumKind]] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Used by <> + [cols="^1,10",options="header",width = "50%"] @@ -2331,24 +2327,7 @@ Revision History [cols="14%,12%,10%,64%"] [grid="rows"] [options="header"] -|======================================================== -|Rev |Date |Author |Changes -|1.00 Rev 1 |2020-11-02|Baldur Karlsson |*Initial revision* -|1.00 Rev 2 |2020-11-02|Baldur Karlsson |Changed to comply with non-semantic restrictions. + - Removed forward references. + - Converted literal operands to OpConstant ids. + -|1.00 Rev 3 |2020-11-17|Baldur Karlsson |Added *DebugSourceContinued*, *DebugLine*/*DebugNoLine*, - *DebugBuildIdentifier*, *DebugStoragePath*, - *DebugEntryPoint*, *DebugTypeMatrix*. -|1.00 Rev 4 |2020-12-08|Baldur Karlsson |Grammar fixes, added *FlagUnknownPhysicalLayout* and - *Indexes* parameter in *DebugValue*. Limited where - *DebugLine* type instructions can appear. -|1.00 Rev 5 |2020-01-04|Baldur Karlsson |Add *Flags* parameter to *DebugTypeBasic*. -|1.00 Rev 6 |2020-01-22|Baldur Karlsson |Rename extended instruction set. -|1.00 Rev 7 |2021-07-01|Baldur Karlsson |Clarify runtime array sizing. -|1.00 Rev 8 |2021-07-27|Baldur Karlsson |Clarify that *DebugFunctionDefinition* can be in + - basic blocks. -|1.00 Rev 9 |2022-02-28|Baldur Karlsson |Clarify that *DebugEntryPoint* refers to a - *DebugFunction*, not an *OpEntryPoint*. -|1.00 Rev 10 |2023-02-07|Dmitry Sidorov |Add several fortran-related instructions -|======================================================== +|============================================================================== +|Rev |Date |Author |Changes +|1.00 Rev 1 |2023-02-10|Alexey Sotkin / Dmitry Sidorov |*Initial revision* +|=============================================================================== diff --git a/nonsemantic/NonSemantic.Shader.DebugInfo.100.html b/nonsemantic/NonSemantic.Shader.DebugInfo.100.html index 5a381f9..3e3918b 100644 --- a/nonsemantic/NonSemantic.Shader.DebugInfo.100.html +++ b/nonsemantic/NonSemantic.Shader.DebugInfo.100.html @@ -3,7 +3,7 @@ -SPIR-V NonSemantic Shader DebugInfo Instructions +SPIR-V NonSemantic Kernel DebugInfo Instructions