|
@@ -31,7 +31,7 @@
|
|
|
|
|
|
/*
|
|
|
** Enumeration tokens for SPIR-V, in various styles:
|
|
|
-** C, C++, C++11, JSON, Lua, Python, C#, D
|
|
|
+** C, C++, C++11, JSON, Lua, Python, C#, D, Beef
|
|
|
**
|
|
|
** - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
|
|
|
** - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
|
|
@@ -41,6 +41,8 @@
|
|
|
** - C# will use enum classes in the Specification class located in the "Spv" namespace,
|
|
|
** e.g.: Spv.Specification.SourceLanguage.GLSL
|
|
|
** - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
|
|
|
+** - Beef will use enum classes in the Specification class located in the "Spv" namespace,
|
|
|
+** e.g.: Spv.Specification.SourceLanguage.GLSL
|
|
|
**
|
|
|
** Some tokens act like mask values, which can be OR'd together,
|
|
|
** while others are mutually exclusive. The mask-like ones have
|
|
@@ -53,12 +55,12 @@
|
|
|
|
|
|
typedef unsigned int SpvId;
|
|
|
|
|
|
-#define SPV_VERSION 0x10500
|
|
|
-#define SPV_REVISION 4
|
|
|
+#define SPV_VERSION 0x10600
|
|
|
+#define SPV_REVISION 1
|
|
|
|
|
|
static const unsigned int SpvMagicNumber = 0x07230203;
|
|
|
-static const unsigned int SpvVersion = 0x00010500;
|
|
|
-static const unsigned int SpvRevision = 4;
|
|
|
+static const unsigned int SpvVersion = 0x00010600;
|
|
|
+static const unsigned int SpvRevision = 1;
|
|
|
static const unsigned int SpvOpCodeMask = 0xffff;
|
|
|
static const unsigned int SpvWordCountShift = 16;
|
|
|
|
|
@@ -69,6 +71,8 @@ typedef enum SpvSourceLanguage_ {
|
|
|
SpvSourceLanguageOpenCL_C = 3,
|
|
|
SpvSourceLanguageOpenCL_CPP = 4,
|
|
|
SpvSourceLanguageHLSL = 5,
|
|
|
+ SpvSourceLanguageCPP_for_OpenCL = 6,
|
|
|
+ SpvSourceLanguageSYCL = 7,
|
|
|
SpvSourceLanguageMax = 0x7fffffff,
|
|
|
} SpvSourceLanguage;
|
|
|
|
|
@@ -94,6 +98,8 @@ typedef enum SpvExecutionModel_ {
|
|
|
SpvExecutionModelMissNV = 5317,
|
|
|
SpvExecutionModelCallableKHR = 5318,
|
|
|
SpvExecutionModelCallableNV = 5318,
|
|
|
+ SpvExecutionModelTaskEXT = 5364,
|
|
|
+ SpvExecutionModelMeshEXT = 5365,
|
|
|
SpvExecutionModelMax = 0x7fffffff,
|
|
|
} SpvExecutionModel;
|
|
|
|
|
@@ -154,17 +160,28 @@ typedef enum SpvExecutionMode_ {
|
|
|
SpvExecutionModeSubgroupsPerWorkgroupId = 37,
|
|
|
SpvExecutionModeLocalSizeId = 38,
|
|
|
SpvExecutionModeLocalSizeHintId = 39,
|
|
|
+ SpvExecutionModeSubgroupUniformControlFlowKHR = 4421,
|
|
|
SpvExecutionModePostDepthCoverage = 4446,
|
|
|
SpvExecutionModeDenormPreserve = 4459,
|
|
|
SpvExecutionModeDenormFlushToZero = 4460,
|
|
|
SpvExecutionModeSignedZeroInfNanPreserve = 4461,
|
|
|
SpvExecutionModeRoundingModeRTE = 4462,
|
|
|
SpvExecutionModeRoundingModeRTZ = 4463,
|
|
|
+ SpvExecutionModeEarlyAndLateFragmentTestsAMD = 5017,
|
|
|
SpvExecutionModeStencilRefReplacingEXT = 5027,
|
|
|
+ SpvExecutionModeStencilRefUnchangedFrontAMD = 5079,
|
|
|
+ SpvExecutionModeStencilRefGreaterFrontAMD = 5080,
|
|
|
+ SpvExecutionModeStencilRefLessFrontAMD = 5081,
|
|
|
+ SpvExecutionModeStencilRefUnchangedBackAMD = 5082,
|
|
|
+ SpvExecutionModeStencilRefGreaterBackAMD = 5083,
|
|
|
+ SpvExecutionModeStencilRefLessBackAMD = 5084,
|
|
|
+ SpvExecutionModeOutputLinesEXT = 5269,
|
|
|
SpvExecutionModeOutputLinesNV = 5269,
|
|
|
+ SpvExecutionModeOutputPrimitivesEXT = 5270,
|
|
|
SpvExecutionModeOutputPrimitivesNV = 5270,
|
|
|
SpvExecutionModeDerivativeGroupQuadsNV = 5289,
|
|
|
SpvExecutionModeDerivativeGroupLinearNV = 5290,
|
|
|
+ SpvExecutionModeOutputTrianglesEXT = 5298,
|
|
|
SpvExecutionModeOutputTrianglesNV = 5298,
|
|
|
SpvExecutionModePixelInterlockOrderedEXT = 5366,
|
|
|
SpvExecutionModePixelInterlockUnorderedEXT = 5367,
|
|
@@ -172,10 +189,17 @@ typedef enum SpvExecutionMode_ {
|
|
|
SpvExecutionModeSampleInterlockUnorderedEXT = 5369,
|
|
|
SpvExecutionModeShadingRateInterlockOrderedEXT = 5370,
|
|
|
SpvExecutionModeShadingRateInterlockUnorderedEXT = 5371,
|
|
|
+ SpvExecutionModeSharedLocalMemorySizeINTEL = 5618,
|
|
|
+ SpvExecutionModeRoundingModeRTPINTEL = 5620,
|
|
|
+ SpvExecutionModeRoundingModeRTNINTEL = 5621,
|
|
|
+ SpvExecutionModeFloatingPointModeALTINTEL = 5622,
|
|
|
+ SpvExecutionModeFloatingPointModeIEEEINTEL = 5623,
|
|
|
SpvExecutionModeMaxWorkgroupSizeINTEL = 5893,
|
|
|
SpvExecutionModeMaxWorkDimINTEL = 5894,
|
|
|
SpvExecutionModeNoGlobalOffsetINTEL = 5895,
|
|
|
SpvExecutionModeNumSIMDWorkitemsINTEL = 5896,
|
|
|
+ SpvExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,
|
|
|
+ SpvExecutionModeNamedBarrierCountINTEL = 6417,
|
|
|
SpvExecutionModeMax = 0x7fffffff,
|
|
|
} SpvExecutionMode;
|
|
|
|
|
@@ -207,7 +231,10 @@ typedef enum SpvStorageClass_ {
|
|
|
SpvStorageClassShaderRecordBufferNV = 5343,
|
|
|
SpvStorageClassPhysicalStorageBuffer = 5349,
|
|
|
SpvStorageClassPhysicalStorageBufferEXT = 5349,
|
|
|
+ SpvStorageClassTaskPayloadWorkgroupEXT = 5402,
|
|
|
SpvStorageClassCodeSectionINTEL = 5605,
|
|
|
+ SpvStorageClassDeviceOnlyINTEL = 5936,
|
|
|
+ SpvStorageClassHostOnlyINTEL = 5937,
|
|
|
SpvStorageClassMax = 0x7fffffff,
|
|
|
} SpvStorageClass;
|
|
|
|
|
@@ -347,6 +374,8 @@ typedef enum SpvImageOperandsShift_ {
|
|
|
SpvImageOperandsVolatileTexelKHRShift = 11,
|
|
|
SpvImageOperandsSignExtendShift = 12,
|
|
|
SpvImageOperandsZeroExtendShift = 13,
|
|
|
+ SpvImageOperandsNontemporalShift = 14,
|
|
|
+ SpvImageOperandsOffsetsShift = 16,
|
|
|
SpvImageOperandsMax = 0x7fffffff,
|
|
|
} SpvImageOperandsShift;
|
|
|
|
|
@@ -370,6 +399,8 @@ typedef enum SpvImageOperandsMask_ {
|
|
|
SpvImageOperandsVolatileTexelKHRMask = 0x00000800,
|
|
|
SpvImageOperandsSignExtendMask = 0x00001000,
|
|
|
SpvImageOperandsZeroExtendMask = 0x00002000,
|
|
|
+ SpvImageOperandsNontemporalMask = 0x00004000,
|
|
|
+ SpvImageOperandsOffsetsMask = 0x00010000,
|
|
|
} SpvImageOperandsMask;
|
|
|
|
|
|
typedef enum SpvFPFastMathModeShift_ {
|
|
@@ -378,6 +409,8 @@ typedef enum SpvFPFastMathModeShift_ {
|
|
|
SpvFPFastMathModeNSZShift = 2,
|
|
|
SpvFPFastMathModeAllowRecipShift = 3,
|
|
|
SpvFPFastMathModeFastShift = 4,
|
|
|
+ SpvFPFastMathModeAllowContractFastINTELShift = 16,
|
|
|
+ SpvFPFastMathModeAllowReassocINTELShift = 17,
|
|
|
SpvFPFastMathModeMax = 0x7fffffff,
|
|
|
} SpvFPFastMathModeShift;
|
|
|
|
|
@@ -388,6 +421,8 @@ typedef enum SpvFPFastMathModeMask_ {
|
|
|
SpvFPFastMathModeNSZMask = 0x00000004,
|
|
|
SpvFPFastMathModeAllowRecipMask = 0x00000008,
|
|
|
SpvFPFastMathModeFastMask = 0x00000010,
|
|
|
+ SpvFPFastMathModeAllowContractFastINTELMask = 0x00010000,
|
|
|
+ SpvFPFastMathModeAllowReassocINTELMask = 0x00020000,
|
|
|
} SpvFPFastMathModeMask;
|
|
|
|
|
|
typedef enum SpvFPRoundingMode_ {
|
|
@@ -401,6 +436,7 @@ typedef enum SpvFPRoundingMode_ {
|
|
|
typedef enum SpvLinkageType_ {
|
|
|
SpvLinkageTypeExport = 0,
|
|
|
SpvLinkageTypeImport = 1,
|
|
|
+ SpvLinkageTypeLinkOnceODR = 2,
|
|
|
SpvLinkageTypeMax = 0x7fffffff,
|
|
|
} SpvLinkageType;
|
|
|
|
|
@@ -478,9 +514,11 @@ typedef enum SpvDecoration_ {
|
|
|
SpvDecorationPassthroughNV = 5250,
|
|
|
SpvDecorationViewportRelativeNV = 5252,
|
|
|
SpvDecorationSecondaryViewportRelativeNV = 5256,
|
|
|
+ SpvDecorationPerPrimitiveEXT = 5271,
|
|
|
SpvDecorationPerPrimitiveNV = 5271,
|
|
|
SpvDecorationPerViewNV = 5272,
|
|
|
SpvDecorationPerTaskNV = 5273,
|
|
|
+ SpvDecorationPerVertexKHR = 5285,
|
|
|
SpvDecorationPerVertexNV = 5285,
|
|
|
SpvDecorationNonUniform = 5300,
|
|
|
SpvDecorationNonUniformEXT = 5300,
|
|
@@ -488,12 +526,26 @@ typedef enum SpvDecoration_ {
|
|
|
SpvDecorationRestrictPointerEXT = 5355,
|
|
|
SpvDecorationAliasedPointer = 5356,
|
|
|
SpvDecorationAliasedPointerEXT = 5356,
|
|
|
+ SpvDecorationBindlessSamplerNV = 5398,
|
|
|
+ SpvDecorationBindlessImageNV = 5399,
|
|
|
+ SpvDecorationBoundSamplerNV = 5400,
|
|
|
+ SpvDecorationBoundImageNV = 5401,
|
|
|
+ SpvDecorationSIMTCallINTEL = 5599,
|
|
|
SpvDecorationReferencedIndirectlyINTEL = 5602,
|
|
|
+ SpvDecorationClobberINTEL = 5607,
|
|
|
+ SpvDecorationSideEffectsINTEL = 5608,
|
|
|
+ SpvDecorationVectorComputeVariableINTEL = 5624,
|
|
|
+ SpvDecorationFuncParamIOKindINTEL = 5625,
|
|
|
+ SpvDecorationVectorComputeFunctionINTEL = 5626,
|
|
|
+ SpvDecorationStackCallINTEL = 5627,
|
|
|
+ SpvDecorationGlobalVariableOffsetINTEL = 5628,
|
|
|
SpvDecorationCounterBuffer = 5634,
|
|
|
SpvDecorationHlslCounterBufferGOOGLE = 5634,
|
|
|
SpvDecorationHlslSemanticGOOGLE = 5635,
|
|
|
SpvDecorationUserSemantic = 5635,
|
|
|
SpvDecorationUserTypeGOOGLE = 5636,
|
|
|
+ SpvDecorationFunctionRoundingModeINTEL = 5822,
|
|
|
+ SpvDecorationFunctionDenormModeINTEL = 5823,
|
|
|
SpvDecorationRegisterINTEL = 5825,
|
|
|
SpvDecorationMemoryINTEL = 5826,
|
|
|
SpvDecorationNumbanksINTEL = 5827,
|
|
@@ -506,6 +558,20 @@ typedef enum SpvDecoration_ {
|
|
|
SpvDecorationMergeINTEL = 5834,
|
|
|
SpvDecorationBankBitsINTEL = 5835,
|
|
|
SpvDecorationForcePow2DepthINTEL = 5836,
|
|
|
+ SpvDecorationBurstCoalesceINTEL = 5899,
|
|
|
+ SpvDecorationCacheSizeINTEL = 5900,
|
|
|
+ SpvDecorationDontStaticallyCoalesceINTEL = 5901,
|
|
|
+ SpvDecorationPrefetchINTEL = 5902,
|
|
|
+ SpvDecorationStallEnableINTEL = 5905,
|
|
|
+ SpvDecorationFuseLoopsInFunctionINTEL = 5907,
|
|
|
+ SpvDecorationAliasScopeINTEL = 5914,
|
|
|
+ SpvDecorationNoAliasINTEL = 5915,
|
|
|
+ SpvDecorationBufferLocationINTEL = 5921,
|
|
|
+ SpvDecorationIOPipeStorageINTEL = 5944,
|
|
|
+ SpvDecorationFunctionFloatingPointModeINTEL = 6080,
|
|
|
+ SpvDecorationSingleElementVectorINTEL = 6085,
|
|
|
+ SpvDecorationVectorComputeCallableFunctionINTEL = 6087,
|
|
|
+ SpvDecorationMediaBlockIOINTEL = 6140,
|
|
|
SpvDecorationMax = 0x7fffffff,
|
|
|
} SpvDecoration;
|
|
|
|
|
@@ -590,12 +656,18 @@ typedef enum SpvBuiltIn_ {
|
|
|
SpvBuiltInLayerPerViewNV = 5279,
|
|
|
SpvBuiltInMeshViewCountNV = 5280,
|
|
|
SpvBuiltInMeshViewIndicesNV = 5281,
|
|
|
+ SpvBuiltInBaryCoordKHR = 5286,
|
|
|
SpvBuiltInBaryCoordNV = 5286,
|
|
|
+ SpvBuiltInBaryCoordNoPerspKHR = 5287,
|
|
|
SpvBuiltInBaryCoordNoPerspNV = 5287,
|
|
|
SpvBuiltInFragSizeEXT = 5292,
|
|
|
SpvBuiltInFragmentSizeNV = 5292,
|
|
|
SpvBuiltInFragInvocationCountEXT = 5293,
|
|
|
SpvBuiltInInvocationsPerPixelNV = 5293,
|
|
|
+ SpvBuiltInPrimitivePointIndicesEXT = 5294,
|
|
|
+ SpvBuiltInPrimitiveLineIndicesEXT = 5295,
|
|
|
+ SpvBuiltInPrimitiveTriangleIndicesEXT = 5296,
|
|
|
+ SpvBuiltInCullPrimitiveEXT = 5299,
|
|
|
SpvBuiltInLaunchIdKHR = 5319,
|
|
|
SpvBuiltInLaunchIdNV = 5319,
|
|
|
SpvBuiltInLaunchSizeKHR = 5320,
|
|
@@ -621,6 +693,7 @@ typedef enum SpvBuiltIn_ {
|
|
|
SpvBuiltInHitTNV = 5332,
|
|
|
SpvBuiltInHitKindKHR = 5333,
|
|
|
SpvBuiltInHitKindNV = 5333,
|
|
|
+ SpvBuiltInCurrentRayTimeNV = 5334,
|
|
|
SpvBuiltInIncomingRayFlagsKHR = 5351,
|
|
|
SpvBuiltInIncomingRayFlagsNV = 5351,
|
|
|
SpvBuiltInRayGeometryIndexKHR = 5352,
|
|
@@ -628,6 +701,7 @@ typedef enum SpvBuiltIn_ {
|
|
|
SpvBuiltInSMCountNV = 5375,
|
|
|
SpvBuiltInWarpIDNV = 5376,
|
|
|
SpvBuiltInSMIDNV = 5377,
|
|
|
+ SpvBuiltInCullMaskKHR = 6021,
|
|
|
SpvBuiltInMax = 0x7fffffff,
|
|
|
} SpvBuiltIn;
|
|
|
|
|
@@ -660,6 +734,7 @@ typedef enum SpvLoopControlShift_ {
|
|
|
SpvLoopControlLoopCoalesceINTELShift = 20,
|
|
|
SpvLoopControlMaxInterleavingINTELShift = 21,
|
|
|
SpvLoopControlSpeculatedIterationsINTELShift = 22,
|
|
|
+ SpvLoopControlNoFusionINTELShift = 23,
|
|
|
SpvLoopControlMax = 0x7fffffff,
|
|
|
} SpvLoopControlShift;
|
|
|
|
|
@@ -681,6 +756,7 @@ typedef enum SpvLoopControlMask_ {
|
|
|
SpvLoopControlLoopCoalesceINTELMask = 0x00100000,
|
|
|
SpvLoopControlMaxInterleavingINTELMask = 0x00200000,
|
|
|
SpvLoopControlSpeculatedIterationsINTELMask = 0x00400000,
|
|
|
+ SpvLoopControlNoFusionINTELMask = 0x00800000,
|
|
|
} SpvLoopControlMask;
|
|
|
|
|
|
typedef enum SpvFunctionControlShift_ {
|
|
@@ -688,6 +764,7 @@ typedef enum SpvFunctionControlShift_ {
|
|
|
SpvFunctionControlDontInlineShift = 1,
|
|
|
SpvFunctionControlPureShift = 2,
|
|
|
SpvFunctionControlConstShift = 3,
|
|
|
+ SpvFunctionControlOptNoneINTELShift = 16,
|
|
|
SpvFunctionControlMax = 0x7fffffff,
|
|
|
} SpvFunctionControlShift;
|
|
|
|
|
@@ -697,6 +774,7 @@ typedef enum SpvFunctionControlMask_ {
|
|
|
SpvFunctionControlDontInlineMask = 0x00000002,
|
|
|
SpvFunctionControlPureMask = 0x00000004,
|
|
|
SpvFunctionControlConstMask = 0x00000008,
|
|
|
+ SpvFunctionControlOptNoneINTELMask = 0x00010000,
|
|
|
} SpvFunctionControlMask;
|
|
|
|
|
|
typedef enum SpvMemorySemanticsShift_ {
|
|
@@ -751,6 +829,8 @@ typedef enum SpvMemoryAccessShift_ {
|
|
|
SpvMemoryAccessMakePointerVisibleKHRShift = 4,
|
|
|
SpvMemoryAccessNonPrivatePointerShift = 5,
|
|
|
SpvMemoryAccessNonPrivatePointerKHRShift = 5,
|
|
|
+ SpvMemoryAccessAliasScopeINTELMaskShift = 16,
|
|
|
+ SpvMemoryAccessNoAliasINTELMaskShift = 17,
|
|
|
SpvMemoryAccessMax = 0x7fffffff,
|
|
|
} SpvMemoryAccessShift;
|
|
|
|
|
@@ -765,6 +845,8 @@ typedef enum SpvMemoryAccessMask_ {
|
|
|
SpvMemoryAccessMakePointerVisibleKHRMask = 0x00000010,
|
|
|
SpvMemoryAccessNonPrivatePointerMask = 0x00000020,
|
|
|
SpvMemoryAccessNonPrivatePointerKHRMask = 0x00000020,
|
|
|
+ SpvMemoryAccessAliasScopeINTELMaskMask = 0x00010000,
|
|
|
+ SpvMemoryAccessNoAliasINTELMaskMask = 0x00020000,
|
|
|
} SpvMemoryAccessMask;
|
|
|
|
|
|
typedef enum SpvScope_ {
|
|
@@ -877,9 +959,13 @@ typedef enum SpvCapability_ {
|
|
|
SpvCapabilityGroupNonUniformQuad = 68,
|
|
|
SpvCapabilityShaderLayer = 69,
|
|
|
SpvCapabilityShaderViewportIndex = 70,
|
|
|
+ SpvCapabilityUniformDecoration = 71,
|
|
|
SpvCapabilityFragmentShadingRateKHR = 4422,
|
|
|
SpvCapabilitySubgroupBallotKHR = 4423,
|
|
|
SpvCapabilityDrawParameters = 4427,
|
|
|
+ SpvCapabilityWorkgroupMemoryExplicitLayoutKHR = 4428,
|
|
|
+ SpvCapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,
|
|
|
+ SpvCapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,
|
|
|
SpvCapabilitySubgroupVoteKHR = 4431,
|
|
|
SpvCapabilityStorageBuffer16BitAccess = 4433,
|
|
|
SpvCapabilityStorageUniformBufferBlock16 = 4433,
|
|
@@ -922,6 +1008,8 @@ typedef enum SpvCapability_ {
|
|
|
SpvCapabilityFragmentFullyCoveredEXT = 5265,
|
|
|
SpvCapabilityMeshShadingNV = 5266,
|
|
|
SpvCapabilityImageFootprintNV = 5282,
|
|
|
+ SpvCapabilityMeshShadingEXT = 5283,
|
|
|
+ SpvCapabilityFragmentBarycentricKHR = 5284,
|
|
|
SpvCapabilityFragmentBarycentricNV = 5284,
|
|
|
SpvCapabilityComputeDerivativeGroupQuadsNV = 5288,
|
|
|
SpvCapabilityFragmentDensityEXT = 5291,
|
|
@@ -952,6 +1040,7 @@ typedef enum SpvCapability_ {
|
|
|
SpvCapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
|
|
|
SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
|
|
|
SpvCapabilityRayTracingNV = 5340,
|
|
|
+ SpvCapabilityRayTracingMotionBlurNV = 5341,
|
|
|
SpvCapabilityVulkanMemoryModel = 5345,
|
|
|
SpvCapabilityVulkanMemoryModelKHR = 5345,
|
|
|
SpvCapabilityVulkanMemoryModelDeviceScope = 5346,
|
|
@@ -965,26 +1054,67 @@ typedef enum SpvCapability_ {
|
|
|
SpvCapabilityFragmentShaderShadingRateInterlockEXT = 5372,
|
|
|
SpvCapabilityShaderSMBuiltinsNV = 5373,
|
|
|
SpvCapabilityFragmentShaderPixelInterlockEXT = 5378,
|
|
|
+ SpvCapabilityDemoteToHelperInvocation = 5379,
|
|
|
SpvCapabilityDemoteToHelperInvocationEXT = 5379,
|
|
|
+ SpvCapabilityBindlessTextureNV = 5390,
|
|
|
SpvCapabilitySubgroupShuffleINTEL = 5568,
|
|
|
SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
|
|
|
SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
|
|
|
SpvCapabilitySubgroupImageMediaBlockIOINTEL = 5579,
|
|
|
+ SpvCapabilityRoundToInfinityINTEL = 5582,
|
|
|
+ SpvCapabilityFloatingPointModeINTEL = 5583,
|
|
|
SpvCapabilityIntegerFunctions2INTEL = 5584,
|
|
|
SpvCapabilityFunctionPointersINTEL = 5603,
|
|
|
SpvCapabilityIndirectReferencesINTEL = 5604,
|
|
|
+ SpvCapabilityAsmINTEL = 5606,
|
|
|
+ SpvCapabilityAtomicFloat32MinMaxEXT = 5612,
|
|
|
+ SpvCapabilityAtomicFloat64MinMaxEXT = 5613,
|
|
|
+ SpvCapabilityAtomicFloat16MinMaxEXT = 5616,
|
|
|
+ SpvCapabilityVectorComputeINTEL = 5617,
|
|
|
+ SpvCapabilityVectorAnyINTEL = 5619,
|
|
|
+ SpvCapabilityExpectAssumeKHR = 5629,
|
|
|
SpvCapabilitySubgroupAvcMotionEstimationINTEL = 5696,
|
|
|
SpvCapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
|
|
|
SpvCapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
|
|
|
+ SpvCapabilityVariableLengthArrayINTEL = 5817,
|
|
|
+ SpvCapabilityFunctionFloatControlINTEL = 5821,
|
|
|
SpvCapabilityFPGAMemoryAttributesINTEL = 5824,
|
|
|
+ SpvCapabilityFPFastMathModeINTEL = 5837,
|
|
|
+ SpvCapabilityArbitraryPrecisionIntegersINTEL = 5844,
|
|
|
+ SpvCapabilityArbitraryPrecisionFloatingPointINTEL = 5845,
|
|
|
SpvCapabilityUnstructuredLoopControlsINTEL = 5886,
|
|
|
SpvCapabilityFPGALoopControlsINTEL = 5888,
|
|
|
SpvCapabilityKernelAttributesINTEL = 5892,
|
|
|
SpvCapabilityFPGAKernelAttributesINTEL = 5897,
|
|
|
+ SpvCapabilityFPGAMemoryAccessesINTEL = 5898,
|
|
|
+ SpvCapabilityFPGAClusterAttributesINTEL = 5904,
|
|
|
+ SpvCapabilityLoopFuseINTEL = 5906,
|
|
|
+ SpvCapabilityMemoryAccessAliasingINTEL = 5910,
|
|
|
+ SpvCapabilityFPGABufferLocationINTEL = 5920,
|
|
|
+ SpvCapabilityArbitraryPrecisionFixedPointINTEL = 5922,
|
|
|
+ SpvCapabilityUSMStorageClassesINTEL = 5935,
|
|
|
+ SpvCapabilityIOPipesINTEL = 5943,
|
|
|
SpvCapabilityBlockingPipesINTEL = 5945,
|
|
|
SpvCapabilityFPGARegINTEL = 5948,
|
|
|
+ SpvCapabilityDotProductInputAll = 6016,
|
|
|
+ SpvCapabilityDotProductInputAllKHR = 6016,
|
|
|
+ SpvCapabilityDotProductInput4x8Bit = 6017,
|
|
|
+ SpvCapabilityDotProductInput4x8BitKHR = 6017,
|
|
|
+ SpvCapabilityDotProductInput4x8BitPacked = 6018,
|
|
|
+ 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;
|
|
|
|
|
@@ -1051,6 +1181,44 @@ typedef enum SpvFragmentShadingRateMask_ {
|
|
|
SpvFragmentShadingRateHorizontal4PixelsMask = 0x00000008,
|
|
|
} SpvFragmentShadingRateMask;
|
|
|
|
|
|
+typedef enum SpvFPDenormMode_ {
|
|
|
+ SpvFPDenormModePreserve = 0,
|
|
|
+ SpvFPDenormModeFlushToZero = 1,
|
|
|
+ SpvFPDenormModeMax = 0x7fffffff,
|
|
|
+} SpvFPDenormMode;
|
|
|
+
|
|
|
+typedef enum SpvFPOperationMode_ {
|
|
|
+ SpvFPOperationModeIEEE = 0,
|
|
|
+ SpvFPOperationModeALT = 1,
|
|
|
+ SpvFPOperationModeMax = 0x7fffffff,
|
|
|
+} SpvFPOperationMode;
|
|
|
+
|
|
|
+typedef enum SpvQuantizationModes_ {
|
|
|
+ SpvQuantizationModesTRN = 0,
|
|
|
+ SpvQuantizationModesTRN_ZERO = 1,
|
|
|
+ SpvQuantizationModesRND = 2,
|
|
|
+ SpvQuantizationModesRND_ZERO = 3,
|
|
|
+ SpvQuantizationModesRND_INF = 4,
|
|
|
+ SpvQuantizationModesRND_MIN_INF = 5,
|
|
|
+ SpvQuantizationModesRND_CONV = 6,
|
|
|
+ SpvQuantizationModesRND_CONV_ODD = 7,
|
|
|
+ SpvQuantizationModesMax = 0x7fffffff,
|
|
|
+} SpvQuantizationModes;
|
|
|
+
|
|
|
+typedef enum SpvOverflowModes_ {
|
|
|
+ SpvOverflowModesWRAP = 0,
|
|
|
+ SpvOverflowModesSAT = 1,
|
|
|
+ SpvOverflowModesSAT_ZERO = 2,
|
|
|
+ SpvOverflowModesSAT_SYM = 3,
|
|
|
+ SpvOverflowModesMax = 0x7fffffff,
|
|
|
+} SpvOverflowModes;
|
|
|
+
|
|
|
+typedef enum SpvPackedVectorFormat_ {
|
|
|
+ SpvPackedVectorFormatPackedVectorFormat4x8Bit = 0,
|
|
|
+ SpvPackedVectorFormatPackedVectorFormat4x8BitKHR = 0,
|
|
|
+ SpvPackedVectorFormatMax = 0x7fffffff,
|
|
|
+} SpvPackedVectorFormat;
|
|
|
+
|
|
|
typedef enum SpvOp_ {
|
|
|
SpvOpNop = 0,
|
|
|
SpvOpUndef = 1,
|
|
@@ -1402,12 +1570,25 @@ typedef enum SpvOp_ {
|
|
|
SpvOpSubgroupAllKHR = 4428,
|
|
|
SpvOpSubgroupAnyKHR = 4429,
|
|
|
SpvOpSubgroupAllEqualKHR = 4430,
|
|
|
+ SpvOpGroupNonUniformRotateKHR = 4431,
|
|
|
SpvOpSubgroupReadInvocationKHR = 4432,
|
|
|
SpvOpTraceRayKHR = 4445,
|
|
|
SpvOpExecuteCallableKHR = 4446,
|
|
|
SpvOpConvertUToAccelerationStructureKHR = 4447,
|
|
|
SpvOpIgnoreIntersectionKHR = 4448,
|
|
|
SpvOpTerminateRayKHR = 4449,
|
|
|
+ SpvOpSDot = 4450,
|
|
|
+ SpvOpSDotKHR = 4450,
|
|
|
+ SpvOpUDot = 4451,
|
|
|
+ SpvOpUDotKHR = 4451,
|
|
|
+ SpvOpSUDot = 4452,
|
|
|
+ SpvOpSUDotKHR = 4452,
|
|
|
+ SpvOpSDotAccSat = 4453,
|
|
|
+ SpvOpSDotAccSatKHR = 4453,
|
|
|
+ SpvOpUDotAccSat = 4454,
|
|
|
+ SpvOpUDotAccSatKHR = 4454,
|
|
|
+ SpvOpSUDotAccSat = 4455,
|
|
|
+ SpvOpSUDotAccSatKHR = 4455,
|
|
|
SpvOpTypeRayQueryKHR = 4472,
|
|
|
SpvOpRayQueryInitializeKHR = 4473,
|
|
|
SpvOpRayQueryTerminateKHR = 4474,
|
|
@@ -1427,6 +1608,8 @@ typedef enum SpvOp_ {
|
|
|
SpvOpFragmentFetchAMD = 5012,
|
|
|
SpvOpReadClockKHR = 5056,
|
|
|
SpvOpImageSampleFootprintNV = 5283,
|
|
|
+ SpvOpEmitMeshTasksEXT = 5294,
|
|
|
+ SpvOpSetMeshOutputsEXT = 5295,
|
|
|
SpvOpGroupNonUniformPartitionNV = 5296,
|
|
|
SpvOpWritePackedPrimitiveIndices4x8NV = 5299,
|
|
|
SpvOpReportIntersectionKHR = 5334,
|
|
@@ -1434,6 +1617,8 @@ typedef enum SpvOp_ {
|
|
|
SpvOpIgnoreIntersectionNV = 5335,
|
|
|
SpvOpTerminateRayNV = 5336,
|
|
|
SpvOpTraceNV = 5337,
|
|
|
+ SpvOpTraceMotionNV = 5338,
|
|
|
+ SpvOpTraceRayMotionNV = 5339,
|
|
|
SpvOpTypeAccelerationStructureKHR = 5341,
|
|
|
SpvOpTypeAccelerationStructureNV = 5341,
|
|
|
SpvOpExecuteCallableNV = 5344,
|
|
@@ -1444,8 +1629,16 @@ typedef enum SpvOp_ {
|
|
|
SpvOpCooperativeMatrixLengthNV = 5362,
|
|
|
SpvOpBeginInvocationInterlockEXT = 5364,
|
|
|
SpvOpEndInvocationInterlockEXT = 5365,
|
|
|
+ SpvOpDemoteToHelperInvocation = 5380,
|
|
|
SpvOpDemoteToHelperInvocationEXT = 5380,
|
|
|
SpvOpIsHelperInvocationEXT = 5381,
|
|
|
+ SpvOpConvertUToImageNV = 5391,
|
|
|
+ SpvOpConvertUToSamplerNV = 5392,
|
|
|
+ SpvOpConvertImageToUNV = 5393,
|
|
|
+ SpvOpConvertSamplerToUNV = 5394,
|
|
|
+ SpvOpConvertUToSampledImageNV = 5395,
|
|
|
+ SpvOpConvertSampledImageToUNV = 5396,
|
|
|
+ SpvOpSamplerImageAddressingModeNV = 5397,
|
|
|
SpvOpSubgroupShuffleINTEL = 5571,
|
|
|
SpvOpSubgroupShuffleDownINTEL = 5572,
|
|
|
SpvOpSubgroupShuffleUpINTEL = 5573,
|
|
@@ -1470,8 +1663,15 @@ typedef enum SpvOp_ {
|
|
|
SpvOpUSubSatINTEL = 5596,
|
|
|
SpvOpIMul32x16INTEL = 5597,
|
|
|
SpvOpUMul32x16INTEL = 5598,
|
|
|
- SpvOpFunctionPointerINTEL = 5600,
|
|
|
+ SpvOpConstantFunctionPointerINTEL = 5600,
|
|
|
SpvOpFunctionPointerCallINTEL = 5601,
|
|
|
+ SpvOpAsmTargetINTEL = 5609,
|
|
|
+ SpvOpAsmINTEL = 5610,
|
|
|
+ SpvOpAsmCallINTEL = 5611,
|
|
|
+ SpvOpAtomicFMinEXT = 5614,
|
|
|
+ SpvOpAtomicFMaxEXT = 5615,
|
|
|
+ SpvOpAssumeTrueKHR = 5630,
|
|
|
+ SpvOpExpectKHR = 5631,
|
|
|
SpvOpDecorateString = 5632,
|
|
|
SpvOpDecorateStringGOOGLE = 5632,
|
|
|
SpvOpMemberDecorateString = 5633,
|
|
@@ -1594,7 +1794,67 @@ typedef enum SpvOp_ {
|
|
|
SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
|
|
|
SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
|
|
|
SpvOpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
|
|
|
+ SpvOpVariableLengthArrayINTEL = 5818,
|
|
|
+ SpvOpSaveMemoryINTEL = 5819,
|
|
|
+ SpvOpRestoreMemoryINTEL = 5820,
|
|
|
+ SpvOpArbitraryFloatSinCosPiINTEL = 5840,
|
|
|
+ SpvOpArbitraryFloatCastINTEL = 5841,
|
|
|
+ SpvOpArbitraryFloatCastFromIntINTEL = 5842,
|
|
|
+ SpvOpArbitraryFloatCastToIntINTEL = 5843,
|
|
|
+ SpvOpArbitraryFloatAddINTEL = 5846,
|
|
|
+ SpvOpArbitraryFloatSubINTEL = 5847,
|
|
|
+ SpvOpArbitraryFloatMulINTEL = 5848,
|
|
|
+ SpvOpArbitraryFloatDivINTEL = 5849,
|
|
|
+ SpvOpArbitraryFloatGTINTEL = 5850,
|
|
|
+ SpvOpArbitraryFloatGEINTEL = 5851,
|
|
|
+ SpvOpArbitraryFloatLTINTEL = 5852,
|
|
|
+ SpvOpArbitraryFloatLEINTEL = 5853,
|
|
|
+ SpvOpArbitraryFloatEQINTEL = 5854,
|
|
|
+ SpvOpArbitraryFloatRecipINTEL = 5855,
|
|
|
+ SpvOpArbitraryFloatRSqrtINTEL = 5856,
|
|
|
+ SpvOpArbitraryFloatCbrtINTEL = 5857,
|
|
|
+ SpvOpArbitraryFloatHypotINTEL = 5858,
|
|
|
+ SpvOpArbitraryFloatSqrtINTEL = 5859,
|
|
|
+ SpvOpArbitraryFloatLogINTEL = 5860,
|
|
|
+ SpvOpArbitraryFloatLog2INTEL = 5861,
|
|
|
+ SpvOpArbitraryFloatLog10INTEL = 5862,
|
|
|
+ SpvOpArbitraryFloatLog1pINTEL = 5863,
|
|
|
+ SpvOpArbitraryFloatExpINTEL = 5864,
|
|
|
+ SpvOpArbitraryFloatExp2INTEL = 5865,
|
|
|
+ SpvOpArbitraryFloatExp10INTEL = 5866,
|
|
|
+ SpvOpArbitraryFloatExpm1INTEL = 5867,
|
|
|
+ SpvOpArbitraryFloatSinINTEL = 5868,
|
|
|
+ SpvOpArbitraryFloatCosINTEL = 5869,
|
|
|
+ SpvOpArbitraryFloatSinCosINTEL = 5870,
|
|
|
+ SpvOpArbitraryFloatSinPiINTEL = 5871,
|
|
|
+ SpvOpArbitraryFloatCosPiINTEL = 5872,
|
|
|
+ SpvOpArbitraryFloatASinINTEL = 5873,
|
|
|
+ SpvOpArbitraryFloatASinPiINTEL = 5874,
|
|
|
+ SpvOpArbitraryFloatACosINTEL = 5875,
|
|
|
+ SpvOpArbitraryFloatACosPiINTEL = 5876,
|
|
|
+ SpvOpArbitraryFloatATanINTEL = 5877,
|
|
|
+ SpvOpArbitraryFloatATanPiINTEL = 5878,
|
|
|
+ SpvOpArbitraryFloatATan2INTEL = 5879,
|
|
|
+ SpvOpArbitraryFloatPowINTEL = 5880,
|
|
|
+ SpvOpArbitraryFloatPowRINTEL = 5881,
|
|
|
+ SpvOpArbitraryFloatPowNINTEL = 5882,
|
|
|
SpvOpLoopControlINTEL = 5887,
|
|
|
+ SpvOpAliasDomainDeclINTEL = 5911,
|
|
|
+ SpvOpAliasScopeDeclINTEL = 5912,
|
|
|
+ SpvOpAliasScopeListDeclINTEL = 5913,
|
|
|
+ SpvOpFixedSqrtINTEL = 5923,
|
|
|
+ SpvOpFixedRecipINTEL = 5924,
|
|
|
+ SpvOpFixedRsqrtINTEL = 5925,
|
|
|
+ SpvOpFixedSinINTEL = 5926,
|
|
|
+ SpvOpFixedCosINTEL = 5927,
|
|
|
+ SpvOpFixedSinCosINTEL = 5928,
|
|
|
+ SpvOpFixedSinPiINTEL = 5929,
|
|
|
+ SpvOpFixedCosPiINTEL = 5930,
|
|
|
+ SpvOpFixedSinCosPiINTEL = 5931,
|
|
|
+ SpvOpFixedLogINTEL = 5932,
|
|
|
+ SpvOpFixedExpINTEL = 5933,
|
|
|
+ SpvOpPtrCastToCrossWorkgroupINTEL = 5934,
|
|
|
+ SpvOpCrossWorkgroupCastToPtrINTEL = 5938,
|
|
|
SpvOpReadPipeBlockingINTEL = 5946,
|
|
|
SpvOpWritePipeBlockingINTEL = 5947,
|
|
|
SpvOpFPGARegINTEL = 5949,
|
|
@@ -1616,10 +1876,27 @@ typedef enum SpvOp_ {
|
|
|
SpvOpRayQueryGetIntersectionObjectToWorldKHR = 6031,
|
|
|
SpvOpRayQueryGetIntersectionWorldToObjectKHR = 6032,
|
|
|
SpvOpAtomicFAddEXT = 6035,
|
|
|
+ SpvOpTypeBufferSurfaceINTEL = 6086,
|
|
|
+ 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) {
|
|
@@ -1974,12 +2251,19 @@ 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;
|
|
|
case SpvOpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break;
|
|
|
case SpvOpTerminateRayKHR: *hasResult = false; *hasResultType = false; break;
|
|
|
+ case SpvOpSDot: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpUDot: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpSUDot: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpSDotAccSat: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpUDotAccSat: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpSUDotAccSat: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break;
|
|
|
case SpvOpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
|
|
|
case SpvOpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
|
|
@@ -1999,12 +2283,16 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
|
|
|
case SpvOpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpReadClockKHR: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpEmitMeshTasksEXT: *hasResult = false; *hasResultType = false; break;
|
|
|
+ case SpvOpSetMeshOutputsEXT: *hasResult = false; *hasResultType = false; break;
|
|
|
case SpvOpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
|
|
|
case SpvOpReportIntersectionNV: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
|
|
|
case SpvOpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
|
|
|
case SpvOpTraceNV: *hasResult = false; *hasResultType = false; break;
|
|
|
+ case SpvOpTraceMotionNV: *hasResult = false; *hasResultType = false; break;
|
|
|
+ case SpvOpTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
|
|
|
case SpvOpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
|
|
|
case SpvOpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
|
|
|
case SpvOpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
|
|
@@ -2014,8 +2302,15 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
|
|
|
case SpvOpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
|
|
|
case SpvOpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
|
|
|
- case SpvOpDemoteToHelperInvocationEXT: *hasResult = false; *hasResultType = false; break;
|
|
|
+ case SpvOpDemoteToHelperInvocation: *hasResult = false; *hasResultType = false; break;
|
|
|
case SpvOpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpConvertUToImageNV: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpConvertUToSamplerNV: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpConvertImageToUNV: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpConvertSamplerToUNV: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpConvertUToSampledImageNV: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpConvertSampledImageToUNV: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpSamplerImageAddressingModeNV: *hasResult = false; *hasResultType = false; break;
|
|
|
case SpvOpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
|
|
@@ -2040,8 +2335,15 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
|
|
|
case SpvOpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
- case SpvOpFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpConstantFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpAsmINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpAsmCallINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpAtomicFMinEXT: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpAtomicFMaxEXT: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpAssumeTrueKHR: *hasResult = false; *hasResultType = false; break;
|
|
|
+ case SpvOpExpectKHR: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpDecorateString: *hasResult = false; *hasResultType = false; break;
|
|
|
case SpvOpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
|
|
|
case SpvOpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
|
|
@@ -2162,7 +2464,67 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
|
|
|
case SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpSaveMemoryINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpRestoreMemoryINTEL: *hasResult = false; *hasResultType = false; break;
|
|
|
+ case SpvOpArbitraryFloatSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatCastINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatCastFromIntINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatCastToIntINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatAddINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatSubINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatMulINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatDivINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatGTINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatGEINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatLTINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatLEINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatEQINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatRecipINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatRSqrtINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatCbrtINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatHypotINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatSqrtINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatLogINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatLog2INTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatLog10INTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatLog1pINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatExpINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatExp2INTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatExp10INTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatExpm1INTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatSinINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatCosINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatSinCosINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatSinPiINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatCosPiINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatASinINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatASinPiINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatACosINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatACosPiINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatATanINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatATanPiINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatATan2INTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpArbitraryFloatPowINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ 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;
|
|
|
+ case SpvOpFixedSinINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpFixedCosINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpFixedSinCosINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpFixedSinPiINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpFixedCosPiINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpFixedSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpFixedLogINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpFixedExpINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpPtrCastToCrossWorkgroupINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
|
|
@@ -2184,6 +2546,20 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
|
|
|
case SpvOpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpTypeBufferSurfaceINTEL: *hasResult = true; *hasResultType = false; break;
|
|
|
+ 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 */
|