Skip to content

Commit eddd4df

Browse files
authored
Merge pull request KhronosGroup#259 from KhronosGroup/version-1.6
Update headers with SPIR-V version 1.6, revision 1.
2 parents d53b496 + dcd4752 commit eddd4df

File tree

10 files changed

+403
-75
lines changed

10 files changed

+403
-75
lines changed

include/spirv/unified1/spirv.core.grammar.json

Lines changed: 198 additions & 29 deletions
Large diffs are not rendered by default.

include/spirv/unified1/spirv.cs

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ namespace Spv
4848
public static class Specification
4949
{
5050
public const uint MagicNumber = 0x07230203;
51-
public const uint Version = 0x00010500;
52-
public const uint Revision = 4;
51+
public const uint Version = 0x00010600;
52+
public const uint Revision = 1;
5353
public const uint OpCodeMask = 0xffff;
5454
public const uint WordCountShift = 16;
5555

@@ -349,6 +349,7 @@ public enum ImageOperandsShift
349349
VolatileTexelKHR = 11,
350350
SignExtend = 12,
351351
ZeroExtend = 13,
352+
Nontemporal = 14,
352353
Offsets = 16,
353354
}
354355

@@ -373,6 +374,7 @@ public enum ImageOperandsMask
373374
VolatileTexelKHR = 0x00000800,
374375
SignExtend = 0x00001000,
375376
ZeroExtend = 0x00002000,
377+
Nontemporal = 0x00004000,
376378
Offsets = 0x00010000,
377379
}
378380

@@ -492,6 +494,7 @@ public enum Decoration
492494
PerPrimitiveNV = 5271,
493495
PerViewNV = 5272,
494496
PerTaskNV = 5273,
497+
PerVertexKHR = 5285,
495498
PerVertexNV = 5285,
496499
NonUniform = 5300,
497500
NonUniformEXT = 5300,
@@ -627,7 +630,9 @@ public enum BuiltIn
627630
LayerPerViewNV = 5279,
628631
MeshViewCountNV = 5280,
629632
MeshViewIndicesNV = 5281,
633+
BaryCoordKHR = 5286,
630634
BaryCoordNV = 5286,
635+
BaryCoordNoPerspKHR = 5287,
631636
BaryCoordNoPerspNV = 5287,
632637
FragSizeEXT = 5292,
633638
FragmentSizeNV = 5292,
@@ -925,6 +930,7 @@ public enum Capability
925930
GroupNonUniformQuad = 68,
926931
ShaderLayer = 69,
927932
ShaderViewportIndex = 70,
933+
UniformDecoration = 71,
928934
FragmentShadingRateKHR = 4422,
929935
SubgroupBallotKHR = 4423,
930936
DrawParameters = 4427,
@@ -973,6 +979,7 @@ public enum Capability
973979
FragmentFullyCoveredEXT = 5265,
974980
MeshShadingNV = 5266,
975981
ImageFootprintNV = 5282,
982+
FragmentBarycentricKHR = 5284,
976983
FragmentBarycentricNV = 5284,
977984
ComputeDerivativeGroupQuadsNV = 5288,
978985
FragmentDensityEXT = 5291,
@@ -1017,6 +1024,7 @@ public enum Capability
10171024
FragmentShaderShadingRateInterlockEXT = 5372,
10181025
ShaderSMBuiltinsNV = 5373,
10191026
FragmentShaderPixelInterlockEXT = 5378,
1027+
DemoteToHelperInvocation = 5379,
10201028
DemoteToHelperInvocationEXT = 5379,
10211029
BindlessTextureNV = 5390,
10221030
SubgroupShuffleINTEL = 5568,
@@ -1057,9 +1065,13 @@ public enum Capability
10571065
IOPipesINTEL = 5943,
10581066
BlockingPipesINTEL = 5945,
10591067
FPGARegINTEL = 5948,
1068+
DotProductInputAll = 6016,
10601069
DotProductInputAllKHR = 6016,
1070+
DotProductInput4x8Bit = 6017,
10611071
DotProductInput4x8BitKHR = 6017,
1072+
DotProductInput4x8BitPacked = 6018,
10621073
DotProductInput4x8BitPackedKHR = 6018,
1074+
DotProduct = 6019,
10631075
DotProductKHR = 6019,
10641076
BitInstructions = 6025,
10651077
AtomicFloat32AddEXT = 6033,
@@ -1169,6 +1181,7 @@ public enum OverflowModes
11691181

11701182
public enum PackedVectorFormat
11711183
{
1184+
PackedVectorFormat4x8Bit = 0,
11721185
PackedVectorFormat4x8BitKHR = 0,
11731186
}
11741187

@@ -1530,11 +1543,17 @@ public enum Op
15301543
OpConvertUToAccelerationStructureKHR = 4447,
15311544
OpIgnoreIntersectionKHR = 4448,
15321545
OpTerminateRayKHR = 4449,
1546+
OpSDot = 4450,
15331547
OpSDotKHR = 4450,
1548+
OpUDot = 4451,
15341549
OpUDotKHR = 4451,
1550+
OpSUDot = 4452,
15351551
OpSUDotKHR = 4452,
1552+
OpSDotAccSat = 4453,
15361553
OpSDotAccSatKHR = 4453,
1554+
OpUDotAccSat = 4454,
15371555
OpUDotAccSatKHR = 4454,
1556+
OpSUDotAccSat = 4455,
15381557
OpSUDotAccSatKHR = 4455,
15391558
OpTypeRayQueryKHR = 4472,
15401559
OpRayQueryInitializeKHR = 4473,
@@ -1574,6 +1593,7 @@ public enum Op
15741593
OpCooperativeMatrixLengthNV = 5362,
15751594
OpBeginInvocationInterlockEXT = 5364,
15761595
OpEndInvocationInterlockEXT = 5365,
1596+
OpDemoteToHelperInvocation = 5380,
15771597
OpDemoteToHelperInvocationEXT = 5380,
15781598
OpIsHelperInvocationEXT = 5381,
15791599
OpConvertUToImageNV = 5391,

include/spirv/unified1/spirv.h

Lines changed: 31 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -53,12 +53,12 @@
5353

5454
typedef unsigned int SpvId;
5555

56-
#define SPV_VERSION 0x10500
57-
#define SPV_REVISION 4
56+
#define SPV_VERSION 0x10600
57+
#define SPV_REVISION 1
5858

5959
static const unsigned int SpvMagicNumber = 0x07230203;
60-
static const unsigned int SpvVersion = 0x00010500;
61-
static const unsigned int SpvRevision = 4;
60+
static const unsigned int SpvVersion = 0x00010600;
61+
static const unsigned int SpvRevision = 1;
6262
static const unsigned int SpvOpCodeMask = 0xffff;
6363
static const unsigned int SpvWordCountShift = 16;
6464

@@ -357,6 +357,7 @@ typedef enum SpvImageOperandsShift_ {
357357
SpvImageOperandsVolatileTexelKHRShift = 11,
358358
SpvImageOperandsSignExtendShift = 12,
359359
SpvImageOperandsZeroExtendShift = 13,
360+
SpvImageOperandsNontemporalShift = 14,
360361
SpvImageOperandsOffsetsShift = 16,
361362
SpvImageOperandsMax = 0x7fffffff,
362363
} SpvImageOperandsShift;
@@ -381,6 +382,7 @@ typedef enum SpvImageOperandsMask_ {
381382
SpvImageOperandsVolatileTexelKHRMask = 0x00000800,
382383
SpvImageOperandsSignExtendMask = 0x00001000,
383384
SpvImageOperandsZeroExtendMask = 0x00002000,
385+
SpvImageOperandsNontemporalMask = 0x00004000,
384386
SpvImageOperandsOffsetsMask = 0x00010000,
385387
} SpvImageOperandsMask;
386388

@@ -498,6 +500,7 @@ typedef enum SpvDecoration_ {
498500
SpvDecorationPerPrimitiveNV = 5271,
499501
SpvDecorationPerViewNV = 5272,
500502
SpvDecorationPerTaskNV = 5273,
503+
SpvDecorationPerVertexKHR = 5285,
501504
SpvDecorationPerVertexNV = 5285,
502505
SpvDecorationNonUniform = 5300,
503506
SpvDecorationNonUniformEXT = 5300,
@@ -633,7 +636,9 @@ typedef enum SpvBuiltIn_ {
633636
SpvBuiltInLayerPerViewNV = 5279,
634637
SpvBuiltInMeshViewCountNV = 5280,
635638
SpvBuiltInMeshViewIndicesNV = 5281,
639+
SpvBuiltInBaryCoordKHR = 5286,
636640
SpvBuiltInBaryCoordNV = 5286,
641+
SpvBuiltInBaryCoordNoPerspKHR = 5287,
637642
SpvBuiltInBaryCoordNoPerspNV = 5287,
638643
SpvBuiltInFragSizeEXT = 5292,
639644
SpvBuiltInFragmentSizeNV = 5292,
@@ -925,6 +930,7 @@ typedef enum SpvCapability_ {
925930
SpvCapabilityGroupNonUniformQuad = 68,
926931
SpvCapabilityShaderLayer = 69,
927932
SpvCapabilityShaderViewportIndex = 70,
933+
SpvCapabilityUniformDecoration = 71,
928934
SpvCapabilityFragmentShadingRateKHR = 4422,
929935
SpvCapabilitySubgroupBallotKHR = 4423,
930936
SpvCapabilityDrawParameters = 4427,
@@ -973,6 +979,7 @@ typedef enum SpvCapability_ {
973979
SpvCapabilityFragmentFullyCoveredEXT = 5265,
974980
SpvCapabilityMeshShadingNV = 5266,
975981
SpvCapabilityImageFootprintNV = 5282,
982+
SpvCapabilityFragmentBarycentricKHR = 5284,
976983
SpvCapabilityFragmentBarycentricNV = 5284,
977984
SpvCapabilityComputeDerivativeGroupQuadsNV = 5288,
978985
SpvCapabilityFragmentDensityEXT = 5291,
@@ -1017,6 +1024,7 @@ typedef enum SpvCapability_ {
10171024
SpvCapabilityFragmentShaderShadingRateInterlockEXT = 5372,
10181025
SpvCapabilityShaderSMBuiltinsNV = 5373,
10191026
SpvCapabilityFragmentShaderPixelInterlockEXT = 5378,
1027+
SpvCapabilityDemoteToHelperInvocation = 5379,
10201028
SpvCapabilityDemoteToHelperInvocationEXT = 5379,
10211029
SpvCapabilityBindlessTextureNV = 5390,
10221030
SpvCapabilitySubgroupShuffleINTEL = 5568,
@@ -1057,9 +1065,13 @@ typedef enum SpvCapability_ {
10571065
SpvCapabilityIOPipesINTEL = 5943,
10581066
SpvCapabilityBlockingPipesINTEL = 5945,
10591067
SpvCapabilityFPGARegINTEL = 5948,
1068+
SpvCapabilityDotProductInputAll = 6016,
10601069
SpvCapabilityDotProductInputAllKHR = 6016,
1070+
SpvCapabilityDotProductInput4x8Bit = 6017,
10611071
SpvCapabilityDotProductInput4x8BitKHR = 6017,
1072+
SpvCapabilityDotProductInput4x8BitPacked = 6018,
10621073
SpvCapabilityDotProductInput4x8BitPackedKHR = 6018,
1074+
SpvCapabilityDotProduct = 6019,
10631075
SpvCapabilityDotProductKHR = 6019,
10641076
SpvCapabilityBitInstructions = 6025,
10651077
SpvCapabilityAtomicFloat32AddEXT = 6033,
@@ -1167,6 +1179,7 @@ typedef enum SpvOverflowModes_ {
11671179
} SpvOverflowModes;
11681180

11691181
typedef enum SpvPackedVectorFormat_ {
1182+
SpvPackedVectorFormatPackedVectorFormat4x8Bit = 0,
11701183
SpvPackedVectorFormatPackedVectorFormat4x8BitKHR = 0,
11711184
SpvPackedVectorFormatMax = 0x7fffffff,
11721185
} SpvPackedVectorFormat;
@@ -1528,11 +1541,17 @@ typedef enum SpvOp_ {
15281541
SpvOpConvertUToAccelerationStructureKHR = 4447,
15291542
SpvOpIgnoreIntersectionKHR = 4448,
15301543
SpvOpTerminateRayKHR = 4449,
1544+
SpvOpSDot = 4450,
15311545
SpvOpSDotKHR = 4450,
1546+
SpvOpUDot = 4451,
15321547
SpvOpUDotKHR = 4451,
1548+
SpvOpSUDot = 4452,
15331549
SpvOpSUDotKHR = 4452,
1550+
SpvOpSDotAccSat = 4453,
15341551
SpvOpSDotAccSatKHR = 4453,
1552+
SpvOpUDotAccSat = 4454,
15351553
SpvOpUDotAccSatKHR = 4454,
1554+
SpvOpSUDotAccSat = 4455,
15361555
SpvOpSUDotAccSatKHR = 4455,
15371556
SpvOpTypeRayQueryKHR = 4472,
15381557
SpvOpRayQueryInitializeKHR = 4473,
@@ -1572,6 +1591,7 @@ typedef enum SpvOp_ {
15721591
SpvOpCooperativeMatrixLengthNV = 5362,
15731592
SpvOpBeginInvocationInterlockEXT = 5364,
15741593
SpvOpEndInvocationInterlockEXT = 5365,
1594+
SpvOpDemoteToHelperInvocation = 5380,
15751595
SpvOpDemoteToHelperInvocationEXT = 5380,
15761596
SpvOpIsHelperInvocationEXT = 5381,
15771597
SpvOpConvertUToImageNV = 5391,
@@ -2183,12 +2203,12 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
21832203
case SpvOpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;
21842204
case SpvOpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break;
21852205
case SpvOpTerminateRayKHR: *hasResult = false; *hasResultType = false; break;
2186-
case SpvOpSDotKHR: *hasResult = true; *hasResultType = true; break;
2187-
case SpvOpUDotKHR: *hasResult = true; *hasResultType = true; break;
2188-
case SpvOpSUDotKHR: *hasResult = true; *hasResultType = true; break;
2189-
case SpvOpSDotAccSatKHR: *hasResult = true; *hasResultType = true; break;
2190-
case SpvOpUDotAccSatKHR: *hasResult = true; *hasResultType = true; break;
2191-
case SpvOpSUDotAccSatKHR: *hasResult = true; *hasResultType = true; break;
2206+
case SpvOpSDot: *hasResult = true; *hasResultType = true; break;
2207+
case SpvOpUDot: *hasResult = true; *hasResultType = true; break;
2208+
case SpvOpSUDot: *hasResult = true; *hasResultType = true; break;
2209+
case SpvOpSDotAccSat: *hasResult = true; *hasResultType = true; break;
2210+
case SpvOpUDotAccSat: *hasResult = true; *hasResultType = true; break;
2211+
case SpvOpSUDotAccSat: *hasResult = true; *hasResultType = true; break;
21922212
case SpvOpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break;
21932213
case SpvOpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
21942214
case SpvOpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
@@ -2225,7 +2245,7 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
22252245
case SpvOpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
22262246
case SpvOpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
22272247
case SpvOpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
2228-
case SpvOpDemoteToHelperInvocationEXT: *hasResult = false; *hasResultType = false; break;
2248+
case SpvOpDemoteToHelperInvocation: *hasResult = false; *hasResultType = false; break;
22292249
case SpvOpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
22302250
case SpvOpConvertUToImageNV: *hasResult = true; *hasResultType = true; break;
22312251
case SpvOpConvertUToSamplerNV: *hasResult = true; *hasResultType = true; break;

0 commit comments

Comments
 (0)