Skip to content

Commit 2fba7e7

Browse files
svenvhvmaksimo
authored andcommitted
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. Original commit: KhronosGroup/SPIRV-LLVM-Translator@6847551
1 parent e9bec61 commit 2fba7e7

File tree

1 file changed

+67
-17
lines changed

1 file changed

+67
-17
lines changed

llvm-spirv/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,
@@ -549,6 +539,7 @@ enum Decoration {
549539
DecorationIOPipeStorageINTEL = 5944,
550540
DecorationFunctionFloatingPointModeINTEL = 6080,
551541
DecorationSingleElementVectorINTEL = 6085,
542+
DecorationVectorComputeCallableFunctionINTEL = 6087,
552543
DecorationMax = 0x7fffffff,
553544
};
554545

@@ -925,6 +916,9 @@ enum Capability {
925916
CapabilityFragmentShadingRateKHR = 4422,
926917
CapabilitySubgroupBallotKHR = 4423,
927918
CapabilityDrawParameters = 4427,
919+
CapabilityWorkgroupMemoryExplicitLayoutKHR = 4428,
920+
CapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,
921+
CapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,
928922
CapabilitySubgroupVoteKHR = 4431,
929923
CapabilityStorageBuffer16BitAccess = 4433,
930924
CapabilityStorageUniformBufferBlock16 = 4433,
@@ -1048,9 +1042,14 @@ enum Capability {
10481042
CapabilityIOPipesINTEL = 5943,
10491043
CapabilityBlockingPipesINTEL = 5945,
10501044
CapabilityFPGARegINTEL = 5948,
1045+
CapabilityDotProductInputAllKHR = 6016,
1046+
CapabilityDotProductInput4x8BitKHR = 6017,
1047+
CapabilityDotProductInput4x8BitPackedKHR = 6018,
1048+
CapabilityDotProductKHR = 6019,
10511049
CapabilityAtomicFloat32AddEXT = 6033,
10521050
CapabilityAtomicFloat64AddEXT = 6034,
10531051
CapabilityLongConstantCompositeINTEL = 6089,
1052+
CapabilityAtomicFloat16AddEXT = 6095,
10541053
CapabilityMax = 0x7fffffff,
10551054
};
10561055

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

1119+
enum FPDenormMode {
1120+
FPDenormModePreserve = 0,
1121+
FPDenormModeFlushToZero = 1,
1122+
FPDenormModeMax = 0x7fffffff,
1123+
};
1124+
1125+
enum FPOperationMode {
1126+
FPOperationModeIEEE = 0,
1127+
FPOperationModeALT = 1,
1128+
FPOperationModeMax = 0x7fffffff,
1129+
};
1130+
1131+
enum QuantizationModes {
1132+
QuantizationModesTRN = 0,
1133+
QuantizationModesTRN_ZERO = 1,
1134+
QuantizationModesRND = 2,
1135+
QuantizationModesRND_ZERO = 3,
1136+
QuantizationModesRND_INF = 4,
1137+
QuantizationModesRND_MIN_INF = 5,
1138+
QuantizationModesRND_CONV = 6,
1139+
QuantizationModesRND_CONV_ODD = 7,
1140+
QuantizationModesMax = 0x7fffffff,
1141+
};
1142+
1143+
enum OverflowModes {
1144+
OverflowModesWRAP = 0,
1145+
OverflowModesSAT = 1,
1146+
OverflowModesSAT_ZERO = 2,
1147+
OverflowModesSAT_SYM = 3,
1148+
OverflowModesMax = 0x7fffffff,
1149+
};
1150+
1151+
enum PackedVectorFormat {
1152+
PackedVectorFormatPackedVectorFormat4x8BitKHR = 0,
1153+
PackedVectorFormatMax = 0x7fffffff,
1154+
};
1155+
11201156
enum Op {
11211157
OpNop = 0,
11221158
OpUndef = 1,
@@ -1474,6 +1510,12 @@ enum Op {
14741510
OpConvertUToAccelerationStructureKHR = 4447,
14751511
OpIgnoreIntersectionKHR = 4448,
14761512
OpTerminateRayKHR = 4449,
1513+
OpSDotKHR = 4450,
1514+
OpUDotKHR = 4451,
1515+
OpSUDotKHR = 4452,
1516+
OpSDotAccSatKHR = 4453,
1517+
OpUDotAccSatKHR = 4454,
1518+
OpSUDotAccSatKHR = 4455,
14771519
OpTypeRayQueryKHR = 4472,
14781520
OpRayQueryInitializeKHR = 4473,
14791521
OpRayQueryTerminateKHR = 4474,
@@ -1784,7 +1826,6 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
17841826
case OpTypeArray: *hasResult = true; *hasResultType = false; break;
17851827
case OpTypeRuntimeArray: *hasResult = true; *hasResultType = false; break;
17861828
case OpTypeStruct: *hasResult = true; *hasResultType = false; break;
1787-
case OpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
17881829
case OpTypeOpaque: *hasResult = true; *hasResultType = false; break;
17891830
case OpTypePointer: *hasResult = true; *hasResultType = false; break;
17901831
case OpTypeFunction: *hasResult = true; *hasResultType = false; break;
@@ -1798,8 +1839,6 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
17981839
case OpConstantFalse: *hasResult = true; *hasResultType = true; break;
17991840
case OpConstant: *hasResult = true; *hasResultType = true; break;
18001841
case OpConstantComposite: *hasResult = true; *hasResultType = true; break;
1801-
case OpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
1802-
case OpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
18031842
case OpConstantSampler: *hasResult = true; *hasResultType = true; break;
18041843
case OpConstantNull: *hasResult = true; *hasResultType = true; break;
18051844
case OpSpecConstantTrue: *hasResult = true; *hasResultType = true; break;
@@ -2115,6 +2154,12 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
21152154
case OpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;
21162155
case OpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break;
21172156
case OpTerminateRayKHR: *hasResult = false; *hasResultType = false; break;
2157+
case OpSDotKHR: *hasResult = true; *hasResultType = true; break;
2158+
case OpUDotKHR: *hasResult = true; *hasResultType = true; break;
2159+
case OpSUDotKHR: *hasResult = true; *hasResultType = true; break;
2160+
case OpSDotAccSatKHR: *hasResult = true; *hasResultType = true; break;
2161+
case OpUDotAccSatKHR: *hasResult = true; *hasResultType = true; break;
2162+
case OpSUDotAccSatKHR: *hasResult = true; *hasResultType = true; break;
21182163
case OpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break;
21192164
case OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
21202165
case OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
@@ -2182,6 +2227,8 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
21822227
case OpAsmCallINTEL: *hasResult = true; *hasResultType = true; break;
21832228
case OpAtomicFMinEXT: *hasResult = true; *hasResultType = true; break;
21842229
case OpAtomicFMaxEXT: *hasResult = true; *hasResultType = true; break;
2230+
case OpAssumeTrueKHR: *hasResult = false; *hasResultType = false; break;
2231+
case OpExpectKHR: *hasResult = true; *hasResultType = true; break;
21852232
case OpDecorateString: *hasResult = false; *hasResultType = false; break;
21862233
case OpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
21872234
case OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
@@ -2347,8 +2394,6 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
23472394
case OpArbitraryFloatPowRINTEL: *hasResult = true; *hasResultType = true; break;
23482395
case OpArbitraryFloatPowNINTEL: *hasResult = true; *hasResultType = true; break;
23492396
case OpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
2350-
case OpPtrCastToCrossWorkgroupINTEL: *hasResult = true; *hasResultType = true; break;
2351-
case OpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break;
23522397
case OpFixedSqrtINTEL: *hasResult = true; *hasResultType = true; break;
23532398
case OpFixedRecipINTEL: *hasResult = true; *hasResultType = true; break;
23542399
case OpFixedRsqrtINTEL: *hasResult = true; *hasResultType = true; break;
@@ -2360,6 +2405,8 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
23602405
case OpFixedSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
23612406
case OpFixedLogINTEL: *hasResult = true; *hasResultType = true; break;
23622407
case OpFixedExpINTEL: *hasResult = true; *hasResultType = true; break;
2408+
case OpPtrCastToCrossWorkgroupINTEL: *hasResult = true; *hasResultType = true; break;
2409+
case OpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break;
23632410
case OpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
23642411
case OpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
23652412
case OpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
@@ -2382,6 +2429,9 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
23822429
case OpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
23832430
case OpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break;
23842431
case OpTypeBufferSurfaceINTEL: *hasResult = true; *hasResultType = false; break;
2432+
case OpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
2433+
case OpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
2434+
case OpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
23852435
}
23862436
}
23872437
#endif /* SPV_ENABLE_UTILITY_CODE */

0 commit comments

Comments
 (0)