Skip to content

Commit 6847551

Browse files
committed
[NFC] Sync spirv.hpp with SPIRV-Headers
Bring spirv.hpp in sync with f95c3b3 ("Merge pull request #219 from cmarcelo/SPV_EXT_shader_atomic_float16_add", 2021-06-23) from github.com/KhronosGroup/SPIRV-Headers . Notably, this brings the SPV_KHR_integer_dot_product extension enum values and CPP_for_OpenCL source language enum value, together with other additions. There are some reorderings too.
1 parent 23a28b9 commit 6847551

File tree

1 file changed

+67
-17
lines changed

1 file changed

+67
-17
lines changed

lib/SPIRV/libSPIRV/spirv.hpp

Lines changed: 67 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ enum SourceLanguage {
6565
SourceLanguageOpenCL_C = 3,
6666
SourceLanguageOpenCL_CPP = 4,
6767
SourceLanguageHLSL = 5,
68+
SourceLanguageCPP_for_OpenCL = 6,
6869
SourceLanguageMax = 0x7fffffff,
6970
};
7071

@@ -150,6 +151,7 @@ enum ExecutionMode {
150151
ExecutionModeSubgroupsPerWorkgroupId = 37,
151152
ExecutionModeLocalSizeId = 38,
152153
ExecutionModeLocalSizeHintId = 39,
154+
ExecutionModeSubgroupUniformControlFlowKHR = 4421,
153155
ExecutionModePostDepthCoverage = 4446,
154156
ExecutionModeDenormPreserve = 4459,
155157
ExecutionModeDenormFlushToZero = 4460,
@@ -406,18 +408,6 @@ enum FPRoundingMode {
406408
FPRoundingModeMax = 0x7fffffff,
407409
};
408410

409-
enum FPDenormMode {
410-
FPDenormModePreserve = 0,
411-
FPDenormModeFlushToZero = 1,
412-
FPDenormModeMax = 0x7fffffff,
413-
};
414-
415-
enum FPOperationMode {
416-
FPOperationModeIEEE = 0,
417-
FPOperationModeALT = 1,
418-
FPOperationModeMax = 0x7fffffff,
419-
};
420-
421411
enum LinkageType {
422412
LinkageTypeExport = 0,
423413
LinkageTypeImport = 1,
@@ -547,6 +537,7 @@ enum Decoration {
547537
DecorationIOPipeStorageINTEL = 5944,
548538
DecorationFunctionFloatingPointModeINTEL = 6080,
549539
DecorationSingleElementVectorINTEL = 6085,
540+
DecorationVectorComputeCallableFunctionINTEL = 6087,
550541
DecorationMax = 0x7fffffff,
551542
};
552543

@@ -923,6 +914,9 @@ enum Capability {
923914
CapabilityFragmentShadingRateKHR = 4422,
924915
CapabilitySubgroupBallotKHR = 4423,
925916
CapabilityDrawParameters = 4427,
917+
CapabilityWorkgroupMemoryExplicitLayoutKHR = 4428,
918+
CapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,
919+
CapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,
926920
CapabilitySubgroupVoteKHR = 4431,
927921
CapabilityStorageBuffer16BitAccess = 4433,
928922
CapabilityStorageUniformBufferBlock16 = 4433,
@@ -1047,9 +1041,14 @@ enum Capability {
10471041
CapabilityIOPipesINTEL = 5943,
10481042
CapabilityBlockingPipesINTEL = 5945,
10491043
CapabilityFPGARegINTEL = 5948,
1044+
CapabilityDotProductInputAllKHR = 6016,
1045+
CapabilityDotProductInput4x8BitKHR = 6017,
1046+
CapabilityDotProductInput4x8BitPackedKHR = 6018,
1047+
CapabilityDotProductKHR = 6019,
10501048
CapabilityAtomicFloat32AddEXT = 6033,
10511049
CapabilityAtomicFloat64AddEXT = 6034,
10521050
CapabilityLongConstantCompositeINTEL = 6089,
1051+
CapabilityAtomicFloat16AddEXT = 6095,
10531052
CapabilityMax = 0x7fffffff,
10541053
};
10551054

@@ -1116,6 +1115,43 @@ enum FragmentShadingRateMask {
11161115
FragmentShadingRateHorizontal4PixelsMask = 0x00000008,
11171116
};
11181117

1118+
enum FPDenormMode {
1119+
FPDenormModePreserve = 0,
1120+
FPDenormModeFlushToZero = 1,
1121+
FPDenormModeMax = 0x7fffffff,
1122+
};
1123+
1124+
enum FPOperationMode {
1125+
FPOperationModeIEEE = 0,
1126+
FPOperationModeALT = 1,
1127+
FPOperationModeMax = 0x7fffffff,
1128+
};
1129+
1130+
enum QuantizationModes {
1131+
QuantizationModesTRN = 0,
1132+
QuantizationModesTRN_ZERO = 1,
1133+
QuantizationModesRND = 2,
1134+
QuantizationModesRND_ZERO = 3,
1135+
QuantizationModesRND_INF = 4,
1136+
QuantizationModesRND_MIN_INF = 5,
1137+
QuantizationModesRND_CONV = 6,
1138+
QuantizationModesRND_CONV_ODD = 7,
1139+
QuantizationModesMax = 0x7fffffff,
1140+
};
1141+
1142+
enum OverflowModes {
1143+
OverflowModesWRAP = 0,
1144+
OverflowModesSAT = 1,
1145+
OverflowModesSAT_ZERO = 2,
1146+
OverflowModesSAT_SYM = 3,
1147+
OverflowModesMax = 0x7fffffff,
1148+
};
1149+
1150+
enum PackedVectorFormat {
1151+
PackedVectorFormatPackedVectorFormat4x8BitKHR = 0,
1152+
PackedVectorFormatMax = 0x7fffffff,
1153+
};
1154+
11191155
enum Op {
11201156
OpNop = 0,
11211157
OpUndef = 1,
@@ -1473,6 +1509,12 @@ enum Op {
14731509
OpConvertUToAccelerationStructureKHR = 4447,
14741510
OpIgnoreIntersectionKHR = 4448,
14751511
OpTerminateRayKHR = 4449,
1512+
OpSDotKHR = 4450,
1513+
OpUDotKHR = 4451,
1514+
OpSUDotKHR = 4452,
1515+
OpSDotAccSatKHR = 4453,
1516+
OpUDotAccSatKHR = 4454,
1517+
OpSUDotAccSatKHR = 4455,
14761518
OpTypeRayQueryKHR = 4472,
14771519
OpRayQueryInitializeKHR = 4473,
14781520
OpRayQueryTerminateKHR = 4474,
@@ -1785,7 +1827,6 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
17851827
case OpTypeArray: *hasResult = true; *hasResultType = false; break;
17861828
case OpTypeRuntimeArray: *hasResult = true; *hasResultType = false; break;
17871829
case OpTypeStruct: *hasResult = true; *hasResultType = false; break;
1788-
case OpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
17891830
case OpTypeOpaque: *hasResult = true; *hasResultType = false; break;
17901831
case OpTypePointer: *hasResult = true; *hasResultType = false; break;
17911832
case OpTypeFunction: *hasResult = true; *hasResultType = false; break;
@@ -1799,8 +1840,6 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
17991840
case OpConstantFalse: *hasResult = true; *hasResultType = true; break;
18001841
case OpConstant: *hasResult = true; *hasResultType = true; break;
18011842
case OpConstantComposite: *hasResult = true; *hasResultType = true; break;
1802-
case OpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
1803-
case OpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
18041843
case OpConstantSampler: *hasResult = true; *hasResultType = true; break;
18051844
case OpConstantNull: *hasResult = true; *hasResultType = true; break;
18061845
case OpSpecConstantTrue: *hasResult = true; *hasResultType = true; break;
@@ -2116,6 +2155,12 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
21162155
case OpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;
21172156
case OpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break;
21182157
case OpTerminateRayKHR: *hasResult = false; *hasResultType = false; break;
2158+
case OpSDotKHR: *hasResult = true; *hasResultType = true; break;
2159+
case OpUDotKHR: *hasResult = true; *hasResultType = true; break;
2160+
case OpSUDotKHR: *hasResult = true; *hasResultType = true; break;
2161+
case OpSDotAccSatKHR: *hasResult = true; *hasResultType = true; break;
2162+
case OpUDotAccSatKHR: *hasResult = true; *hasResultType = true; break;
2163+
case OpSUDotAccSatKHR: *hasResult = true; *hasResultType = true; break;
21192164
case OpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break;
21202165
case OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
21212166
case OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
@@ -2183,6 +2228,8 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
21832228
case OpAsmCallINTEL: *hasResult = true; *hasResultType = true; break;
21842229
case OpAtomicFMinEXT: *hasResult = true; *hasResultType = true; break;
21852230
case OpAtomicFMaxEXT: *hasResult = true; *hasResultType = true; break;
2231+
case OpAssumeTrueKHR: *hasResult = false; *hasResultType = false; break;
2232+
case OpExpectKHR: *hasResult = true; *hasResultType = true; break;
21862233
case OpDecorateString: *hasResult = false; *hasResultType = false; break;
21872234
case OpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
21882235
case OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
@@ -2348,8 +2395,6 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
23482395
case OpArbitraryFloatPowRINTEL: *hasResult = true; *hasResultType = true; break;
23492396
case OpArbitraryFloatPowNINTEL: *hasResult = true; *hasResultType = true; break;
23502397
case OpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
2351-
case OpPtrCastToCrossWorkgroupINTEL: *hasResult = true; *hasResultType = true; break;
2352-
case OpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break;
23532398
case OpFixedSqrtINTEL: *hasResult = true; *hasResultType = true; break;
23542399
case OpFixedRecipINTEL: *hasResult = true; *hasResultType = true; break;
23552400
case OpFixedRsqrtINTEL: *hasResult = true; *hasResultType = true; break;
@@ -2361,6 +2406,8 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
23612406
case OpFixedSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
23622407
case OpFixedLogINTEL: *hasResult = true; *hasResultType = true; break;
23632408
case OpFixedExpINTEL: *hasResult = true; *hasResultType = true; break;
2409+
case OpPtrCastToCrossWorkgroupINTEL: *hasResult = true; *hasResultType = true; break;
2410+
case OpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break;
23642411
case OpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
23652412
case OpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
23662413
case OpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
@@ -2383,6 +2430,9 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
23832430
case OpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
23842431
case OpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break;
23852432
case OpTypeBufferSurfaceINTEL: *hasResult = true; *hasResultType = false; break;
2433+
case OpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
2434+
case OpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
2435+
case OpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
23862436
}
23872437
}
23882438
#endif /* SPV_ENABLE_UTILITY_CODE */

0 commit comments

Comments
 (0)