@@ -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 ,
@@ -547,6 +537,7 @@ enum Decoration {
547
537
DecorationIOPipeStorageINTEL = 5944 ,
548
538
DecorationFunctionFloatingPointModeINTEL = 6080 ,
549
539
DecorationSingleElementVectorINTEL = 6085 ,
540
+ DecorationVectorComputeCallableFunctionINTEL = 6087 ,
550
541
DecorationMax = 0x7fffffff ,
551
542
};
552
543
@@ -923,6 +914,9 @@ enum Capability {
923
914
CapabilityFragmentShadingRateKHR = 4422 ,
924
915
CapabilitySubgroupBallotKHR = 4423 ,
925
916
CapabilityDrawParameters = 4427 ,
917
+ CapabilityWorkgroupMemoryExplicitLayoutKHR = 4428 ,
918
+ CapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR = 4429 ,
919
+ CapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR = 4430 ,
926
920
CapabilitySubgroupVoteKHR = 4431 ,
927
921
CapabilityStorageBuffer16BitAccess = 4433 ,
928
922
CapabilityStorageUniformBufferBlock16 = 4433 ,
@@ -1047,9 +1041,14 @@ enum Capability {
1047
1041
CapabilityIOPipesINTEL = 5943 ,
1048
1042
CapabilityBlockingPipesINTEL = 5945 ,
1049
1043
CapabilityFPGARegINTEL = 5948 ,
1044
+ CapabilityDotProductInputAllKHR = 6016 ,
1045
+ CapabilityDotProductInput4x8BitKHR = 6017 ,
1046
+ CapabilityDotProductInput4x8BitPackedKHR = 6018 ,
1047
+ CapabilityDotProductKHR = 6019 ,
1050
1048
CapabilityAtomicFloat32AddEXT = 6033 ,
1051
1049
CapabilityAtomicFloat64AddEXT = 6034 ,
1052
1050
CapabilityLongConstantCompositeINTEL = 6089 ,
1051
+ CapabilityAtomicFloat16AddEXT = 6095 ,
1053
1052
CapabilityMax = 0x7fffffff ,
1054
1053
};
1055
1054
@@ -1116,6 +1115,43 @@ enum FragmentShadingRateMask {
1116
1115
FragmentShadingRateHorizontal4PixelsMask = 0x00000008 ,
1117
1116
};
1118
1117
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
+
1119
1155
enum Op {
1120
1156
OpNop = 0 ,
1121
1157
OpUndef = 1 ,
@@ -1473,6 +1509,12 @@ enum Op {
1473
1509
OpConvertUToAccelerationStructureKHR = 4447 ,
1474
1510
OpIgnoreIntersectionKHR = 4448 ,
1475
1511
OpTerminateRayKHR = 4449 ,
1512
+ OpSDotKHR = 4450 ,
1513
+ OpUDotKHR = 4451 ,
1514
+ OpSUDotKHR = 4452 ,
1515
+ OpSDotAccSatKHR = 4453 ,
1516
+ OpUDotAccSatKHR = 4454 ,
1517
+ OpSUDotAccSatKHR = 4455 ,
1476
1518
OpTypeRayQueryKHR = 4472 ,
1477
1519
OpRayQueryInitializeKHR = 4473 ,
1478
1520
OpRayQueryTerminateKHR = 4474 ,
@@ -1785,7 +1827,6 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
1785
1827
case OpTypeArray: *hasResult = true ; *hasResultType = false ; break ;
1786
1828
case OpTypeRuntimeArray: *hasResult = true ; *hasResultType = false ; break ;
1787
1829
case OpTypeStruct: *hasResult = true ; *hasResultType = false ; break ;
1788
- case OpTypeStructContinuedINTEL: *hasResult = false ; *hasResultType = false ; break ;
1789
1830
case OpTypeOpaque: *hasResult = true ; *hasResultType = false ; break ;
1790
1831
case OpTypePointer: *hasResult = true ; *hasResultType = false ; break ;
1791
1832
case OpTypeFunction: *hasResult = true ; *hasResultType = false ; break ;
@@ -1799,8 +1840,6 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
1799
1840
case OpConstantFalse: *hasResult = true ; *hasResultType = true ; break ;
1800
1841
case OpConstant: *hasResult = true ; *hasResultType = true ; break ;
1801
1842
case OpConstantComposite: *hasResult = true ; *hasResultType = true ; break ;
1802
- case OpConstantCompositeContinuedINTEL: *hasResult = false ; *hasResultType = false ; break ;
1803
- case OpSpecConstantCompositeContinuedINTEL: *hasResult = false ; *hasResultType = false ; break ;
1804
1843
case OpConstantSampler: *hasResult = true ; *hasResultType = true ; break ;
1805
1844
case OpConstantNull: *hasResult = true ; *hasResultType = true ; break ;
1806
1845
case OpSpecConstantTrue: *hasResult = true ; *hasResultType = true ; break ;
@@ -2116,6 +2155,12 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
2116
2155
case OpConvertUToAccelerationStructureKHR: *hasResult = true ; *hasResultType = true ; break ;
2117
2156
case OpIgnoreIntersectionKHR: *hasResult = false ; *hasResultType = false ; break ;
2118
2157
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 ;
2119
2164
case OpTypeRayQueryKHR: *hasResult = true ; *hasResultType = false ; break ;
2120
2165
case OpRayQueryInitializeKHR: *hasResult = false ; *hasResultType = false ; break ;
2121
2166
case OpRayQueryTerminateKHR: *hasResult = false ; *hasResultType = false ; break ;
@@ -2183,6 +2228,8 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
2183
2228
case OpAsmCallINTEL: *hasResult = true ; *hasResultType = true ; break ;
2184
2229
case OpAtomicFMinEXT: *hasResult = true ; *hasResultType = true ; break ;
2185
2230
case OpAtomicFMaxEXT: *hasResult = true ; *hasResultType = true ; break ;
2231
+ case OpAssumeTrueKHR: *hasResult = false ; *hasResultType = false ; break ;
2232
+ case OpExpectKHR: *hasResult = true ; *hasResultType = true ; break ;
2186
2233
case OpDecorateString: *hasResult = false ; *hasResultType = false ; break ;
2187
2234
case OpMemberDecorateString: *hasResult = false ; *hasResultType = false ; break ;
2188
2235
case OpVmeImageINTEL: *hasResult = true ; *hasResultType = true ; break ;
@@ -2348,8 +2395,6 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
2348
2395
case OpArbitraryFloatPowRINTEL: *hasResult = true ; *hasResultType = true ; break ;
2349
2396
case OpArbitraryFloatPowNINTEL: *hasResult = true ; *hasResultType = true ; break ;
2350
2397
case OpLoopControlINTEL: *hasResult = false ; *hasResultType = false ; break ;
2351
- case OpPtrCastToCrossWorkgroupINTEL: *hasResult = true ; *hasResultType = true ; break ;
2352
- case OpCrossWorkgroupCastToPtrINTEL: *hasResult = true ; *hasResultType = true ; break ;
2353
2398
case OpFixedSqrtINTEL: *hasResult = true ; *hasResultType = true ; break ;
2354
2399
case OpFixedRecipINTEL: *hasResult = true ; *hasResultType = true ; break ;
2355
2400
case OpFixedRsqrtINTEL: *hasResult = true ; *hasResultType = true ; break ;
@@ -2361,6 +2406,8 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
2361
2406
case OpFixedSinCosPiINTEL: *hasResult = true ; *hasResultType = true ; break ;
2362
2407
case OpFixedLogINTEL: *hasResult = true ; *hasResultType = true ; break ;
2363
2408
case OpFixedExpINTEL: *hasResult = true ; *hasResultType = true ; break ;
2409
+ case OpPtrCastToCrossWorkgroupINTEL: *hasResult = true ; *hasResultType = true ; break ;
2410
+ case OpCrossWorkgroupCastToPtrINTEL: *hasResult = true ; *hasResultType = true ; break ;
2364
2411
case OpReadPipeBlockingINTEL: *hasResult = true ; *hasResultType = true ; break ;
2365
2412
case OpWritePipeBlockingINTEL: *hasResult = true ; *hasResultType = true ; break ;
2366
2413
case OpFPGARegINTEL: *hasResult = true ; *hasResultType = true ; break ;
@@ -2383,6 +2430,9 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
2383
2430
case OpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true ; *hasResultType = true ; break ;
2384
2431
case OpAtomicFAddEXT: *hasResult = true ; *hasResultType = true ; break ;
2385
2432
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 ;
2386
2436
}
2387
2437
}
2388
2438
#endif /* SPV_ENABLE_UTILITY_CODE */
0 commit comments