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