Skip to content

Commit cf4de1e

Browse files
committed
Merge upstream main into header_4_hlsl
2 parents c141151 + 82dfca3 commit cf4de1e

18 files changed

Lines changed: 1408 additions & 26 deletions

BUILD.bazel

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,11 @@ filegroup(
103103
srcs = ["include/spirv/unified1/extinst.nonsemantic.shader.debuginfo.100.grammar.json"],
104104
)
105105

106+
filegroup(
107+
name = "spirv_ext_inst_nonsemantic_shader_debuginfo_grammar_unified1",
108+
srcs = ["include/spirv/unified1/extinst.nonsemantic.shader.debuginfo.grammar.json"],
109+
)
110+
106111
filegroup(
107112
name = "spirv_ext_inst_spv_amd_gcn_shader_grammar_unified1",
108113
srcs = ["include/spirv/unified1/extinst.spv-amd-gcn-shader.grammar.json"],
@@ -133,6 +138,11 @@ filegroup(
133138
srcs = ["include/spirv/unified1/extinst.arm.motion-engine.100.grammar.json"],
134139
)
135140

141+
filegroup(
142+
name = "spirv_ext_inst_non_semantic_graph_debuginfo_grammar_unified1",
143+
srcs = ["include/spirv/unified1/extinst.nonsemantic.graph.debuginfo.grammar.json"],
144+
)
145+
136146
cc_library(
137147
name = "spirv_common_headers",
138148
hdrs = [
@@ -145,7 +155,10 @@ cc_library(
145155
"include/spirv/unified1/ArmMotionEngine.100.h",
146156
"include/spirv/unified1/GLSL.std.450.h",
147157
"include/spirv/unified1/NonSemanticClspvReflection.h",
158+
"include/spirv/unified1/NonSemanticDebugBreak.h",
148159
"include/spirv/unified1/NonSemanticDebugPrintf.h",
160+
"include/spirv/unified1/NonSemanticGraphDebugInfo.h",
161+
"include/spirv/unified1/NonSemanticShaderDebugInfo.h",
149162
"include/spirv/unified1/NonSemanticShaderDebugInfo100.h",
150163
"include/spirv/unified1/NonSemanticVkspReflection.h",
151164
"include/spirv/unified1/OpenCL.std.h",

include/spirv/spir-v.xml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,13 +179,14 @@
179179
<ids type="enumerant" start="6784" end="6911" vendor="Intel" comment="Contact mariusz.merecki@intel.com"/>
180180
<ids type="enumerant" start="6912" end="6975" vendor="Valve" comment="Contact michael.blumenkrantz@gmail.com"/>
181181
<ids type="enumerant" start="6976" end="7039" vendor="Broadcom" comment="Contact gleese@broadcom.com"/>
182+
<ids type="enumerant" start="7040" end="7103" vendor="Samsung" comment="Contact r.potter@samsung.com"/>
182183
<!-- Enumerants to reserve for future use. To get a block, allocate
183184
multiples of 64 starting at the lowest available point in this
184185
block and add a corresponding <ids> tag immediately above. Make
185186
sure to fill in the vendor attribute, and preferably add a contact
186187
person/address in a comment attribute. -->
187188
<!-- Example new block: <ids type="enumerant" start="XXXX" end="XXXX+64n-1" vendor="Add vendor" comment="Contact TBD"/> -->
188-
<ids type="enumerant" start="7040" end="4294967295" comment="Enumerant range reservable for future use by vendors"/>
189+
<ids type="enumerant" start="7104" end="4294967295" comment="Enumerant range reservable for future use by vendors"/>
189190
<!-- End reservations of enumerants -->
190191

191192

@@ -289,7 +290,8 @@
289290
<!-- Reserved image operand bits -->
290291
<ids type="ImageOperand" start="0" end="15" vendor="Khronos" comment="Reserved ImageOperand bits, not available to vendors - see the SPIR-V Specification"/>
291292
<ids type="ImageOperand" start="16" end="16" vendor="Nvidia" comment="Contact pmistry@nvidia.com"/>
292-
<ids type="ImageOperand" start="17" end="30" comment="Unreserved bits reservable for use by vendors"/>
293+
<ids type="ImageOperand" start="17" end="17" vendor="Google" comment="Contact syoussefi@google.com"/>
294+
<ids type="ImageOperand" start="18" end="30" comment="Unreserved bits reservable for use by vendors"/>
293295
<ids type="ImageOperand" start="31" end="31" vendor="Khronos" comment="Reserved ImageOperand bit, not available to vendors"/>
294296

295297
</registry>
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
// SPDX-FileCopyrightText: 2022-2026 Arm Ltd.
2+
// SPDX-License-Identifier: MIT
3+
4+
#ifndef SPIRV_UNIFIED1_NonSemanticGraphDebugInfo_H_
5+
#define SPIRV_UNIFIED1_NonSemanticGraphDebugInfo_H_
6+
7+
#ifdef __cplusplus
8+
extern "C" {
9+
#endif
10+
11+
enum {
12+
NonSemanticGraphDebugInfoRevision = 1,
13+
NonSemanticGraphDebugInfoRevision_BitWidthPadding = 0x7fffffff
14+
};
15+
16+
enum NonSemanticGraphDebugInfoInstructions {
17+
NonSemanticGraphDebugInfoDebugGraph = 1,
18+
NonSemanticGraphDebugInfoDebugOperation = 2,
19+
NonSemanticGraphDebugInfoDebugTensor = 3,
20+
NonSemanticGraphDebugInfoInstructionsMax = 0x7fffffff
21+
};
22+
23+
24+
#ifdef __cplusplus
25+
}
26+
#endif
27+
28+
#endif // SPIRV_UNIFIED1_NonSemanticGraphDebugInfo_H_
Lines changed: 157 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,157 @@
1+
// SPDX-FileCopyrightText: 2018-2026 The Khronos Group Inc.
2+
// SPDX-License-Identifier: MIT
3+
//
4+
// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS
5+
// KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS
6+
// SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT
7+
// https://www.khronos.org/registry/
8+
9+
#ifndef SPIRV_UNIFIED1_NonSemanticShaderDebugInfo_H_
10+
#define SPIRV_UNIFIED1_NonSemanticShaderDebugInfo_H_
11+
12+
#ifdef __cplusplus
13+
extern "C" {
14+
#endif
15+
16+
enum {
17+
NonSemanticShaderDebugInfoVersion = 101,
18+
NonSemanticShaderDebugInfoVersion_BitWidthPadding = 0x7fffffff
19+
};
20+
enum {
21+
NonSemanticShaderDebugInfoRevision = 1,
22+
NonSemanticShaderDebugInfoRevision_BitWidthPadding = 0x7fffffff
23+
};
24+
25+
enum NonSemanticShaderDebugInfoInstructions {
26+
NonSemanticShaderDebugInfoDebugInfoNone = 0,
27+
NonSemanticShaderDebugInfoDebugCompilationUnit = 1,
28+
NonSemanticShaderDebugInfoDebugTypeBasic = 2,
29+
NonSemanticShaderDebugInfoDebugTypePointer = 3,
30+
NonSemanticShaderDebugInfoDebugTypeQualifier = 4,
31+
NonSemanticShaderDebugInfoDebugTypeArray = 5,
32+
NonSemanticShaderDebugInfoDebugTypeVector = 6,
33+
NonSemanticShaderDebugInfoDebugTypedef = 7,
34+
NonSemanticShaderDebugInfoDebugTypeFunction = 8,
35+
NonSemanticShaderDebugInfoDebugTypeEnum = 9,
36+
NonSemanticShaderDebugInfoDebugTypeComposite = 10,
37+
NonSemanticShaderDebugInfoDebugTypeMember = 11,
38+
NonSemanticShaderDebugInfoDebugTypeInheritance = 12,
39+
NonSemanticShaderDebugInfoDebugTypePtrToMember = 13,
40+
NonSemanticShaderDebugInfoDebugTypeTemplate = 14,
41+
NonSemanticShaderDebugInfoDebugTypeTemplateParameter = 15,
42+
NonSemanticShaderDebugInfoDebugTypeTemplateTemplateParameter = 16,
43+
NonSemanticShaderDebugInfoDebugTypeTemplateParameterPack = 17,
44+
NonSemanticShaderDebugInfoDebugGlobalVariable = 18,
45+
NonSemanticShaderDebugInfoDebugFunctionDeclaration = 19,
46+
NonSemanticShaderDebugInfoDebugFunction = 20,
47+
NonSemanticShaderDebugInfoDebugLexicalBlock = 21,
48+
NonSemanticShaderDebugInfoDebugLexicalBlockDiscriminator = 22,
49+
NonSemanticShaderDebugInfoDebugScope = 23,
50+
NonSemanticShaderDebugInfoDebugNoScope = 24,
51+
NonSemanticShaderDebugInfoDebugInlinedAt = 25,
52+
NonSemanticShaderDebugInfoDebugLocalVariable = 26,
53+
NonSemanticShaderDebugInfoDebugInlinedVariable = 27,
54+
NonSemanticShaderDebugInfoDebugDeclare = 28,
55+
NonSemanticShaderDebugInfoDebugValue = 29,
56+
NonSemanticShaderDebugInfoDebugOperation = 30,
57+
NonSemanticShaderDebugInfoDebugExpression = 31,
58+
NonSemanticShaderDebugInfoDebugMacroDef = 32,
59+
NonSemanticShaderDebugInfoDebugMacroUndef = 33,
60+
NonSemanticShaderDebugInfoDebugImportedEntity = 34,
61+
NonSemanticShaderDebugInfoDebugSource = 35,
62+
NonSemanticShaderDebugInfoDebugFunctionDefinition = 101,
63+
NonSemanticShaderDebugInfoDebugSourceContinued = 102,
64+
NonSemanticShaderDebugInfoDebugLine = 103,
65+
NonSemanticShaderDebugInfoDebugNoLine = 104,
66+
NonSemanticShaderDebugInfoDebugBuildIdentifier = 105,
67+
NonSemanticShaderDebugInfoDebugStoragePath = 106,
68+
NonSemanticShaderDebugInfoDebugEntryPoint = 107,
69+
NonSemanticShaderDebugInfoDebugTypeMatrix = 108,
70+
NonSemanticShaderDebugInfoDebugTypeVectorIdEXT = 109,
71+
NonSemanticShaderDebugInfoDebugTypeCooperativeMatrixKHR = 110,
72+
NonSemanticShaderDebugInfoInstructionsMax = 0x7fffffff
73+
};
74+
75+
76+
enum NonSemanticShaderDebugInfoDebugInfoFlags {
77+
NonSemanticShaderDebugInfoNone = 0x0000,
78+
NonSemanticShaderDebugInfoFlagIsProtected = 0x01,
79+
NonSemanticShaderDebugInfoFlagIsPrivate = 0x02,
80+
NonSemanticShaderDebugInfoFlagIsPublic = 0x03,
81+
NonSemanticShaderDebugInfoFlagIsLocal = 0x04,
82+
NonSemanticShaderDebugInfoFlagIsDefinition = 0x08,
83+
NonSemanticShaderDebugInfoFlagFwdDecl = 0x10,
84+
NonSemanticShaderDebugInfoFlagArtificial = 0x20,
85+
NonSemanticShaderDebugInfoFlagExplicit = 0x40,
86+
NonSemanticShaderDebugInfoFlagPrototyped = 0x80,
87+
NonSemanticShaderDebugInfoFlagObjectPointer = 0x100,
88+
NonSemanticShaderDebugInfoFlagStaticMember = 0x200,
89+
NonSemanticShaderDebugInfoFlagIndirectVariable = 0x400,
90+
NonSemanticShaderDebugInfoFlagLValueReference = 0x800,
91+
NonSemanticShaderDebugInfoFlagRValueReference = 0x1000,
92+
NonSemanticShaderDebugInfoFlagIsOptimized = 0x2000,
93+
NonSemanticShaderDebugInfoFlagIsEnumClass = 0x4000,
94+
NonSemanticShaderDebugInfoFlagTypePassByValue = 0x8000,
95+
NonSemanticShaderDebugInfoFlagTypePassByReference = 0x10000,
96+
NonSemanticShaderDebugInfoFlagUnknownPhysicalLayout = 0x20000,
97+
NonSemanticShaderDebugInfoDebugInfoFlagsMax = 0x7fffffff
98+
};
99+
100+
enum NonSemanticShaderDebugInfoBuildIdentifierFlags {
101+
NonSemanticShaderDebugInfoIdentifierPossibleDuplicates = 0x01,
102+
NonSemanticShaderDebugInfoBuildIdentifierFlagsMax = 0x7fffffff
103+
};
104+
105+
enum NonSemanticShaderDebugInfoDebugBaseTypeAttributeEncoding {
106+
NonSemanticShaderDebugInfoUnspecified = 0,
107+
NonSemanticShaderDebugInfoAddress = 1,
108+
NonSemanticShaderDebugInfoBoolean = 2,
109+
NonSemanticShaderDebugInfoFloat = 3,
110+
NonSemanticShaderDebugInfoSigned = 4,
111+
NonSemanticShaderDebugInfoSignedChar = 5,
112+
NonSemanticShaderDebugInfoUnsigned = 6,
113+
NonSemanticShaderDebugInfoUnsignedChar = 7,
114+
NonSemanticShaderDebugInfoDebugBaseTypeAttributeEncodingMax = 0x7fffffff
115+
};
116+
117+
enum NonSemanticShaderDebugInfoDebugCompositeType {
118+
NonSemanticShaderDebugInfoClass = 0,
119+
NonSemanticShaderDebugInfoStructure = 1,
120+
NonSemanticShaderDebugInfoUnion = 2,
121+
NonSemanticShaderDebugInfoDebugCompositeTypeMax = 0x7fffffff
122+
};
123+
124+
enum NonSemanticShaderDebugInfoDebugTypeQualifier {
125+
NonSemanticShaderDebugInfoConstType = 0,
126+
NonSemanticShaderDebugInfoVolatileType = 1,
127+
NonSemanticShaderDebugInfoRestrictType = 2,
128+
NonSemanticShaderDebugInfoAtomicType = 3,
129+
NonSemanticShaderDebugInfoDebugTypeQualifierMax = 0x7fffffff
130+
};
131+
132+
enum NonSemanticShaderDebugInfoDebugOperation {
133+
NonSemanticShaderDebugInfoDeref = 0,
134+
NonSemanticShaderDebugInfoPlus = 1,
135+
NonSemanticShaderDebugInfoMinus = 2,
136+
NonSemanticShaderDebugInfoPlusUconst = 3,
137+
NonSemanticShaderDebugInfoBitPiece = 4,
138+
NonSemanticShaderDebugInfoSwap = 5,
139+
NonSemanticShaderDebugInfoXderef = 6,
140+
NonSemanticShaderDebugInfoStackValue = 7,
141+
NonSemanticShaderDebugInfoConstu = 8,
142+
NonSemanticShaderDebugInfoFragment = 9,
143+
NonSemanticShaderDebugInfoDebugOperationMax = 0x7fffffff
144+
};
145+
146+
enum NonSemanticShaderDebugInfoDebugImportedEntity {
147+
NonSemanticShaderDebugInfoImportedModule = 0,
148+
NonSemanticShaderDebugInfoImportedDeclaration = 1,
149+
NonSemanticShaderDebugInfoDebugImportedEntityMax = 0x7fffffff
150+
};
151+
152+
153+
#ifdef __cplusplus
154+
}
155+
#endif
156+
157+
#endif // SPIRV_UNIFIED1_NonSemanticShaderDebugInfo_H_

include/spirv/unified1/NonSemanticShaderDebugInfo100.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
// SPDX-FileCopyrightText: 2018-2024 The Khronos Group Inc.
22
// SPDX-License-Identifier: MIT
3-
//
3+
//
44
// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS
55
// KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS
66
// SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT
77
// https://www.khronos.org/registry/
8+
//
9+
// This file is a frozen snapshot of the NonSemantic.Shader.DebugInfo version
10+
// 100 instruction set. It will not be updated with new instructions. New code
11+
// should include NonSemanticShaderDebugInfo.h, which covers all versions.
812

913
#ifndef SPIRV_UNIFIED1_NonSemanticShaderDebugInfo100_H_
1014
#define SPIRV_UNIFIED1_NonSemanticShaderDebugInfo100_H_
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
{
2+
"copyright": [
3+
"SPDX-FileCopyrightText: 2022-2026 Arm Ltd.",
4+
"SPDX-License-Identifier: MIT"
5+
],
6+
"revision" : 1,
7+
"instructions" : [
8+
{
9+
"opname" : "DebugGraph",
10+
"opcode" : 1,
11+
"operands" : [
12+
{ "kind" : "IdRef", "name" : "Graph" },
13+
{ "kind" : "IdRef", "name" : "Name" }
14+
]
15+
},
16+
{
17+
"opname" : "DebugOperation",
18+
"opcode" : 2,
19+
"operands" : [
20+
{ "kind" : "IdRef", "name" : "DebugGraph" },
21+
{ "kind" : "IdRef", "name" : "Name" },
22+
{ "kind" : "IdRef", "name" : "Instructions", "quantifier" : "*" }
23+
]
24+
},
25+
{
26+
"opname" : "DebugTensor",
27+
"opcode" : 3,
28+
"operands" : [
29+
{ "kind" : "IdRef", "name" : "Tensor" },
30+
{ "kind" : "IdRef", "name" : "Name" },
31+
{ "kind" : "IdRef", "name" : "Index", "quantifier" : "?" }
32+
]
33+
}
34+
]
35+
}

0 commit comments

Comments
 (0)