|
@@ -70,6 +70,7 @@ typedef enum SpvSourceLanguage_ {
|
|
SpvSourceLanguageOpenCL_CPP = 4,
|
|
SpvSourceLanguageOpenCL_CPP = 4,
|
|
SpvSourceLanguageHLSL = 5,
|
|
SpvSourceLanguageHLSL = 5,
|
|
SpvSourceLanguageCPP_for_OpenCL = 6,
|
|
SpvSourceLanguageCPP_for_OpenCL = 6,
|
|
|
|
+ SpvSourceLanguageSYCL = 7,
|
|
SpvSourceLanguageMax = 0x7fffffff,
|
|
SpvSourceLanguageMax = 0x7fffffff,
|
|
} SpvSourceLanguage;
|
|
} SpvSourceLanguage;
|
|
|
|
|
|
@@ -184,6 +185,7 @@ typedef enum SpvExecutionMode_ {
|
|
SpvExecutionModeNoGlobalOffsetINTEL = 5895,
|
|
SpvExecutionModeNoGlobalOffsetINTEL = 5895,
|
|
SpvExecutionModeNumSIMDWorkitemsINTEL = 5896,
|
|
SpvExecutionModeNumSIMDWorkitemsINTEL = 5896,
|
|
SpvExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,
|
|
SpvExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,
|
|
|
|
+ SpvExecutionModeNamedBarrierCountINTEL = 6417,
|
|
SpvExecutionModeMax = 0x7fffffff,
|
|
SpvExecutionModeMax = 0x7fffffff,
|
|
} SpvExecutionMode;
|
|
} SpvExecutionMode;
|
|
|
|
|
|
@@ -546,6 +548,8 @@ typedef enum SpvDecoration_ {
|
|
SpvDecorationPrefetchINTEL = 5902,
|
|
SpvDecorationPrefetchINTEL = 5902,
|
|
SpvDecorationStallEnableINTEL = 5905,
|
|
SpvDecorationStallEnableINTEL = 5905,
|
|
SpvDecorationFuseLoopsInFunctionINTEL = 5907,
|
|
SpvDecorationFuseLoopsInFunctionINTEL = 5907,
|
|
|
|
+ SpvDecorationAliasScopeINTEL = 5914,
|
|
|
|
+ SpvDecorationNoAliasINTEL = 5915,
|
|
SpvDecorationBufferLocationINTEL = 5921,
|
|
SpvDecorationBufferLocationINTEL = 5921,
|
|
SpvDecorationIOPipeStorageINTEL = 5944,
|
|
SpvDecorationIOPipeStorageINTEL = 5944,
|
|
SpvDecorationFunctionFloatingPointModeINTEL = 6080,
|
|
SpvDecorationFunctionFloatingPointModeINTEL = 6080,
|
|
@@ -677,6 +681,7 @@ typedef enum SpvBuiltIn_ {
|
|
SpvBuiltInSMCountNV = 5375,
|
|
SpvBuiltInSMCountNV = 5375,
|
|
SpvBuiltInWarpIDNV = 5376,
|
|
SpvBuiltInWarpIDNV = 5376,
|
|
SpvBuiltInSMIDNV = 5377,
|
|
SpvBuiltInSMIDNV = 5377,
|
|
|
|
+ SpvBuiltInCullMaskKHR = 6021,
|
|
SpvBuiltInMax = 0x7fffffff,
|
|
SpvBuiltInMax = 0x7fffffff,
|
|
} SpvBuiltIn;
|
|
} SpvBuiltIn;
|
|
|
|
|
|
@@ -804,6 +809,8 @@ typedef enum SpvMemoryAccessShift_ {
|
|
SpvMemoryAccessMakePointerVisibleKHRShift = 4,
|
|
SpvMemoryAccessMakePointerVisibleKHRShift = 4,
|
|
SpvMemoryAccessNonPrivatePointerShift = 5,
|
|
SpvMemoryAccessNonPrivatePointerShift = 5,
|
|
SpvMemoryAccessNonPrivatePointerKHRShift = 5,
|
|
SpvMemoryAccessNonPrivatePointerKHRShift = 5,
|
|
|
|
+ SpvMemoryAccessAliasScopeINTELMaskShift = 16,
|
|
|
|
+ SpvMemoryAccessNoAliasINTELMaskShift = 17,
|
|
SpvMemoryAccessMax = 0x7fffffff,
|
|
SpvMemoryAccessMax = 0x7fffffff,
|
|
} SpvMemoryAccessShift;
|
|
} SpvMemoryAccessShift;
|
|
|
|
|
|
@@ -818,6 +825,8 @@ typedef enum SpvMemoryAccessMask_ {
|
|
SpvMemoryAccessMakePointerVisibleKHRMask = 0x00000010,
|
|
SpvMemoryAccessMakePointerVisibleKHRMask = 0x00000010,
|
|
SpvMemoryAccessNonPrivatePointerMask = 0x00000020,
|
|
SpvMemoryAccessNonPrivatePointerMask = 0x00000020,
|
|
SpvMemoryAccessNonPrivatePointerKHRMask = 0x00000020,
|
|
SpvMemoryAccessNonPrivatePointerKHRMask = 0x00000020,
|
|
|
|
+ SpvMemoryAccessAliasScopeINTELMaskMask = 0x00010000,
|
|
|
|
+ SpvMemoryAccessNoAliasINTELMaskMask = 0x00020000,
|
|
} SpvMemoryAccessMask;
|
|
} SpvMemoryAccessMask;
|
|
|
|
|
|
typedef enum SpvScope_ {
|
|
typedef enum SpvScope_ {
|
|
@@ -1059,6 +1068,7 @@ typedef enum SpvCapability_ {
|
|
SpvCapabilityFPGAMemoryAccessesINTEL = 5898,
|
|
SpvCapabilityFPGAMemoryAccessesINTEL = 5898,
|
|
SpvCapabilityFPGAClusterAttributesINTEL = 5904,
|
|
SpvCapabilityFPGAClusterAttributesINTEL = 5904,
|
|
SpvCapabilityLoopFuseINTEL = 5906,
|
|
SpvCapabilityLoopFuseINTEL = 5906,
|
|
|
|
+ SpvCapabilityMemoryAccessAliasingINTEL = 5910,
|
|
SpvCapabilityFPGABufferLocationINTEL = 5920,
|
|
SpvCapabilityFPGABufferLocationINTEL = 5920,
|
|
SpvCapabilityArbitraryPrecisionFixedPointINTEL = 5922,
|
|
SpvCapabilityArbitraryPrecisionFixedPointINTEL = 5922,
|
|
SpvCapabilityUSMStorageClassesINTEL = 5935,
|
|
SpvCapabilityUSMStorageClassesINTEL = 5935,
|
|
@@ -1073,13 +1083,17 @@ typedef enum SpvCapability_ {
|
|
SpvCapabilityDotProductInput4x8BitPackedKHR = 6018,
|
|
SpvCapabilityDotProductInput4x8BitPackedKHR = 6018,
|
|
SpvCapabilityDotProduct = 6019,
|
|
SpvCapabilityDotProduct = 6019,
|
|
SpvCapabilityDotProductKHR = 6019,
|
|
SpvCapabilityDotProductKHR = 6019,
|
|
|
|
+ SpvCapabilityRayCullMaskKHR = 6020,
|
|
SpvCapabilityBitInstructions = 6025,
|
|
SpvCapabilityBitInstructions = 6025,
|
|
|
|
+ SpvCapabilityGroupNonUniformRotateKHR = 6026,
|
|
SpvCapabilityAtomicFloat32AddEXT = 6033,
|
|
SpvCapabilityAtomicFloat32AddEXT = 6033,
|
|
SpvCapabilityAtomicFloat64AddEXT = 6034,
|
|
SpvCapabilityAtomicFloat64AddEXT = 6034,
|
|
SpvCapabilityLongConstantCompositeINTEL = 6089,
|
|
SpvCapabilityLongConstantCompositeINTEL = 6089,
|
|
SpvCapabilityOptNoneINTEL = 6094,
|
|
SpvCapabilityOptNoneINTEL = 6094,
|
|
SpvCapabilityAtomicFloat16AddEXT = 6095,
|
|
SpvCapabilityAtomicFloat16AddEXT = 6095,
|
|
SpvCapabilityDebugInfoModuleINTEL = 6114,
|
|
SpvCapabilityDebugInfoModuleINTEL = 6114,
|
|
|
|
+ SpvCapabilitySplitBarrierINTEL = 6141,
|
|
|
|
+ SpvCapabilityGroupUniformArithmeticKHR = 6400,
|
|
SpvCapabilityMax = 0x7fffffff,
|
|
SpvCapabilityMax = 0x7fffffff,
|
|
} SpvCapability;
|
|
} SpvCapability;
|
|
|
|
|
|
@@ -1535,6 +1549,7 @@ typedef enum SpvOp_ {
|
|
SpvOpSubgroupAllKHR = 4428,
|
|
SpvOpSubgroupAllKHR = 4428,
|
|
SpvOpSubgroupAnyKHR = 4429,
|
|
SpvOpSubgroupAnyKHR = 4429,
|
|
SpvOpSubgroupAllEqualKHR = 4430,
|
|
SpvOpSubgroupAllEqualKHR = 4430,
|
|
|
|
+ SpvOpGroupNonUniformRotateKHR = 4431,
|
|
SpvOpSubgroupReadInvocationKHR = 4432,
|
|
SpvOpSubgroupReadInvocationKHR = 4432,
|
|
SpvOpTraceRayKHR = 4445,
|
|
SpvOpTraceRayKHR = 4445,
|
|
SpvOpExecuteCallableKHR = 4446,
|
|
SpvOpExecuteCallableKHR = 4446,
|
|
@@ -1801,6 +1816,9 @@ typedef enum SpvOp_ {
|
|
SpvOpArbitraryFloatPowRINTEL = 5881,
|
|
SpvOpArbitraryFloatPowRINTEL = 5881,
|
|
SpvOpArbitraryFloatPowNINTEL = 5882,
|
|
SpvOpArbitraryFloatPowNINTEL = 5882,
|
|
SpvOpLoopControlINTEL = 5887,
|
|
SpvOpLoopControlINTEL = 5887,
|
|
|
|
+ SpvOpAliasDomainDeclINTEL = 5911,
|
|
|
|
+ SpvOpAliasScopeDeclINTEL = 5912,
|
|
|
|
+ SpvOpAliasScopeListDeclINTEL = 5913,
|
|
SpvOpFixedSqrtINTEL = 5923,
|
|
SpvOpFixedSqrtINTEL = 5923,
|
|
SpvOpFixedRecipINTEL = 5924,
|
|
SpvOpFixedRecipINTEL = 5924,
|
|
SpvOpFixedRsqrtINTEL = 5925,
|
|
SpvOpFixedRsqrtINTEL = 5925,
|
|
@@ -1839,10 +1857,23 @@ typedef enum SpvOp_ {
|
|
SpvOpTypeStructContinuedINTEL = 6090,
|
|
SpvOpTypeStructContinuedINTEL = 6090,
|
|
SpvOpConstantCompositeContinuedINTEL = 6091,
|
|
SpvOpConstantCompositeContinuedINTEL = 6091,
|
|
SpvOpSpecConstantCompositeContinuedINTEL = 6092,
|
|
SpvOpSpecConstantCompositeContinuedINTEL = 6092,
|
|
|
|
+ SpvOpControlBarrierArriveINTEL = 6142,
|
|
|
|
+ SpvOpControlBarrierWaitINTEL = 6143,
|
|
|
|
+ SpvOpGroupIMulKHR = 6401,
|
|
|
|
+ SpvOpGroupFMulKHR = 6402,
|
|
|
|
+ SpvOpGroupBitwiseAndKHR = 6403,
|
|
|
|
+ SpvOpGroupBitwiseOrKHR = 6404,
|
|
|
|
+ SpvOpGroupBitwiseXorKHR = 6405,
|
|
|
|
+ SpvOpGroupLogicalAndKHR = 6406,
|
|
|
|
+ SpvOpGroupLogicalOrKHR = 6407,
|
|
|
|
+ SpvOpGroupLogicalXorKHR = 6408,
|
|
SpvOpMax = 0x7fffffff,
|
|
SpvOpMax = 0x7fffffff,
|
|
} SpvOp;
|
|
} SpvOp;
|
|
|
|
|
|
#ifdef SPV_ENABLE_UTILITY_CODE
|
|
#ifdef SPV_ENABLE_UTILITY_CODE
|
|
|
|
+#ifndef __cplusplus
|
|
|
|
+#include <stdbool.h>
|
|
|
|
+#endif
|
|
inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultType) {
|
|
inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultType) {
|
|
*hasResult = *hasResultType = false;
|
|
*hasResult = *hasResultType = false;
|
|
switch (opcode) {
|
|
switch (opcode) {
|
|
@@ -2197,6 +2228,7 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
|
|
case SpvOpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
|
|
|
|
+ case SpvOpGroupNonUniformRotateKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;
|
|
@@ -2452,6 +2484,9 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
|
|
case SpvOpArbitraryFloatPowRINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatPowRINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatPowNINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatPowNINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
|
|
|
|
+ case SpvOpAliasDomainDeclINTEL: *hasResult = true; *hasResultType = false; break;
|
|
|
|
+ case SpvOpAliasScopeDeclINTEL: *hasResult = true; *hasResultType = false; break;
|
|
|
|
+ case SpvOpAliasScopeListDeclINTEL: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpFixedSqrtINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFixedSqrtINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFixedRecipINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFixedRecipINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFixedRsqrtINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFixedRsqrtINTEL: *hasResult = true; *hasResultType = true; break;
|
|
@@ -2490,9 +2525,18 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
|
|
case SpvOpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
|
|
|
+ case SpvOpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break;
|
|
|
|
+ case SpvOpControlBarrierWaitINTEL: *hasResult = false; *hasResultType = false; break;
|
|
|
|
+ case SpvOpGroupIMulKHR: *hasResult = true; *hasResultType = true; break;
|
|
|
|
+ case SpvOpGroupFMulKHR: *hasResult = true; *hasResultType = true; break;
|
|
|
|
+ case SpvOpGroupBitwiseAndKHR: *hasResult = true; *hasResultType = true; break;
|
|
|
|
+ case SpvOpGroupBitwiseOrKHR: *hasResult = true; *hasResultType = true; break;
|
|
|
|
+ case SpvOpGroupBitwiseXorKHR: *hasResult = true; *hasResultType = true; break;
|
|
|
|
+ case SpvOpGroupLogicalAndKHR: *hasResult = true; *hasResultType = true; break;
|
|
|
|
+ case SpvOpGroupLogicalOrKHR: *hasResult = true; *hasResultType = true; break;
|
|
|
|
+ case SpvOpGroupLogicalXorKHR: *hasResult = true; *hasResultType = true; break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#endif /* SPV_ENABLE_UTILITY_CODE */
|
|
#endif /* SPV_ENABLE_UTILITY_CODE */
|
|
|
|
|
|
#endif
|
|
#endif
|
|
-
|
|
|