@@ -65,6 +65,7 @@ enum SourceLanguage {
65
65
SourceLanguageOpenCL_C = 3 ,
66
66
SourceLanguageOpenCL_CPP = 4 ,
67
67
SourceLanguageHLSL = 5 ,
68
+ SourceLanguageCPP_for_OpenCL = 6 ,
68
69
SourceLanguageMax = 0x7fffffff ,
69
70
};
70
71
@@ -150,6 +151,7 @@ enum ExecutionMode {
150
151
ExecutionModeSubgroupsPerWorkgroupId = 37 ,
151
152
ExecutionModeLocalSizeId = 38 ,
152
153
ExecutionModeLocalSizeHintId = 39 ,
154
+ ExecutionModeSubgroupUniformControlFlowKHR = 4421 ,
153
155
ExecutionModePostDepthCoverage = 4446 ,
154
156
ExecutionModeDenormPreserve = 4459 ,
155
157
ExecutionModeDenormFlushToZero = 4460 ,
@@ -406,18 +408,6 @@ enum FPRoundingMode {
406
408
FPRoundingModeMax = 0x7fffffff ,
407
409
};
408
410
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
-
421
411
enum LinkageType {
422
412
LinkageTypeExport = 0 ,
423
413
LinkageTypeImport = 1 ,
@@ -549,6 +539,7 @@ enum Decoration {
549
539
DecorationIOPipeStorageINTEL = 5944 ,
550
540
DecorationFunctionFloatingPointModeINTEL = 6080 ,
551
541
DecorationSingleElementVectorINTEL = 6085 ,
542
+ DecorationVectorComputeCallableFunctionINTEL = 6087 ,
552
543
DecorationMax = 0x7fffffff ,
553
544
};
554
545
@@ -925,6 +916,9 @@ enum Capability {
925
916
CapabilityFragmentShadingRateKHR = 4422 ,
926
917
CapabilitySubgroupBallotKHR = 4423 ,
927
918
CapabilityDrawParameters = 4427 ,
919
+ CapabilityWorkgroupMemoryExplicitLayoutKHR = 4428 ,
920
+ CapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR = 4429 ,
921
+ CapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR = 4430 ,
928
922
CapabilitySubgroupVoteKHR = 4431 ,
929
923
CapabilityStorageBuffer16BitAccess = 4433 ,
930
924
CapabilityStorageUniformBufferBlock16 = 4433 ,
@@ -1048,9 +1042,14 @@ enum Capability {
1048
1042
CapabilityIOPipesINTEL = 5943 ,
1049
1043
CapabilityBlockingPipesINTEL = 5945 ,
1050
1044
CapabilityFPGARegINTEL = 5948 ,
1045
+ CapabilityDotProductInputAllKHR = 6016 ,
1046
+ CapabilityDotProductInput4x8BitKHR = 6017 ,
1047
+ CapabilityDotProductInput4x8BitPackedKHR = 6018 ,
1048
+ CapabilityDotProductKHR = 6019 ,
1051
1049
CapabilityAtomicFloat32AddEXT = 6033 ,
1052
1050
CapabilityAtomicFloat64AddEXT = 6034 ,
1053
1051
CapabilityLongConstantCompositeINTEL = 6089 ,
1052
+ CapabilityAtomicFloat16AddEXT = 6095 ,
1054
1053
CapabilityMax = 0x7fffffff ,
1055
1054
};
1056
1055
@@ -1117,6 +1116,43 @@ enum FragmentShadingRateMask {
1117
1116
FragmentShadingRateHorizontal4PixelsMask = 0x00000008 ,
1118
1117
};
1119
1118
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
+
1120
1156
enum Op {
1121
1157
OpNop = 0 ,
1122
1158
OpUndef = 1 ,
@@ -1474,6 +1510,12 @@ enum Op {
1474
1510
OpConvertUToAccelerationStructureKHR = 4447 ,
1475
1511
OpIgnoreIntersectionKHR = 4448 ,
1476
1512
OpTerminateRayKHR = 4449 ,
1513
+ OpSDotKHR = 4450 ,
1514
+ OpUDotKHR = 4451 ,
1515
+ OpSUDotKHR = 4452 ,
1516
+ OpSDotAccSatKHR = 4453 ,
1517
+ OpUDotAccSatKHR = 4454 ,
1518
+ OpSUDotAccSatKHR = 4455 ,
1477
1519
OpTypeRayQueryKHR = 4472 ,
1478
1520
OpRayQueryInitializeKHR = 4473 ,
1479
1521
OpRayQueryTerminateKHR = 4474 ,
@@ -1784,7 +1826,6 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
1784
1826
case OpTypeArray: *hasResult = true ; *hasResultType = false ; break ;
1785
1827
case OpTypeRuntimeArray: *hasResult = true ; *hasResultType = false ; break ;
1786
1828
case OpTypeStruct: *hasResult = true ; *hasResultType = false ; break ;
1787
- case OpTypeStructContinuedINTEL: *hasResult = false ; *hasResultType = false ; break ;
1788
1829
case OpTypeOpaque: *hasResult = true ; *hasResultType = false ; break ;
1789
1830
case OpTypePointer: *hasResult = true ; *hasResultType = false ; break ;
1790
1831
case OpTypeFunction: *hasResult = true ; *hasResultType = false ; break ;
@@ -1798,8 +1839,6 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
1798
1839
case OpConstantFalse: *hasResult = true ; *hasResultType = true ; break ;
1799
1840
case OpConstant: *hasResult = true ; *hasResultType = true ; break ;
1800
1841
case OpConstantComposite: *hasResult = true ; *hasResultType = true ; break ;
1801
- case OpConstantCompositeContinuedINTEL: *hasResult = false ; *hasResultType = false ; break ;
1802
- case OpSpecConstantCompositeContinuedINTEL: *hasResult = false ; *hasResultType = false ; break ;
1803
1842
case OpConstantSampler: *hasResult = true ; *hasResultType = true ; break ;
1804
1843
case OpConstantNull: *hasResult = true ; *hasResultType = true ; break ;
1805
1844
case OpSpecConstantTrue: *hasResult = true ; *hasResultType = true ; break ;
@@ -2115,6 +2154,12 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
2115
2154
case OpConvertUToAccelerationStructureKHR: *hasResult = true ; *hasResultType = true ; break ;
2116
2155
case OpIgnoreIntersectionKHR: *hasResult = false ; *hasResultType = false ; break ;
2117
2156
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 ;
2118
2163
case OpTypeRayQueryKHR: *hasResult = true ; *hasResultType = false ; break ;
2119
2164
case OpRayQueryInitializeKHR: *hasResult = false ; *hasResultType = false ; break ;
2120
2165
case OpRayQueryTerminateKHR: *hasResult = false ; *hasResultType = false ; break ;
@@ -2182,6 +2227,8 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
2182
2227
case OpAsmCallINTEL: *hasResult = true ; *hasResultType = true ; break ;
2183
2228
case OpAtomicFMinEXT: *hasResult = true ; *hasResultType = true ; break ;
2184
2229
case OpAtomicFMaxEXT: *hasResult = true ; *hasResultType = true ; break ;
2230
+ case OpAssumeTrueKHR: *hasResult = false ; *hasResultType = false ; break ;
2231
+ case OpExpectKHR: *hasResult = true ; *hasResultType = true ; break ;
2185
2232
case OpDecorateString: *hasResult = false ; *hasResultType = false ; break ;
2186
2233
case OpMemberDecorateString: *hasResult = false ; *hasResultType = false ; break ;
2187
2234
case OpVmeImageINTEL: *hasResult = true ; *hasResultType = true ; break ;
@@ -2347,8 +2394,6 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
2347
2394
case OpArbitraryFloatPowRINTEL: *hasResult = true ; *hasResultType = true ; break ;
2348
2395
case OpArbitraryFloatPowNINTEL: *hasResult = true ; *hasResultType = true ; break ;
2349
2396
case OpLoopControlINTEL: *hasResult = false ; *hasResultType = false ; break ;
2350
- case OpPtrCastToCrossWorkgroupINTEL: *hasResult = true ; *hasResultType = true ; break ;
2351
- case OpCrossWorkgroupCastToPtrINTEL: *hasResult = true ; *hasResultType = true ; break ;
2352
2397
case OpFixedSqrtINTEL: *hasResult = true ; *hasResultType = true ; break ;
2353
2398
case OpFixedRecipINTEL: *hasResult = true ; *hasResultType = true ; break ;
2354
2399
case OpFixedRsqrtINTEL: *hasResult = true ; *hasResultType = true ; break ;
@@ -2360,6 +2405,8 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
2360
2405
case OpFixedSinCosPiINTEL: *hasResult = true ; *hasResultType = true ; break ;
2361
2406
case OpFixedLogINTEL: *hasResult = true ; *hasResultType = true ; break ;
2362
2407
case OpFixedExpINTEL: *hasResult = true ; *hasResultType = true ; break ;
2408
+ case OpPtrCastToCrossWorkgroupINTEL: *hasResult = true ; *hasResultType = true ; break ;
2409
+ case OpCrossWorkgroupCastToPtrINTEL: *hasResult = true ; *hasResultType = true ; break ;
2363
2410
case OpReadPipeBlockingINTEL: *hasResult = true ; *hasResultType = true ; break ;
2364
2411
case OpWritePipeBlockingINTEL: *hasResult = true ; *hasResultType = true ; break ;
2365
2412
case OpFPGARegINTEL: *hasResult = true ; *hasResultType = true ; break ;
@@ -2382,6 +2429,9 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
2382
2429
case OpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true ; *hasResultType = true ; break ;
2383
2430
case OpAtomicFAddEXT: *hasResult = true ; *hasResultType = true ; break ;
2384
2431
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 ;
2385
2435
}
2386
2436
}
2387
2437
#endif /* SPV_ENABLE_UTILITY_CODE */
0 commit comments