|
@@ -53,12 +53,12 @@
|
|
|
|
|
|
|
|
typedef unsigned int SpvId;
|
|
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 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 SpvOpCodeMask = 0xffff;
|
|
|
static const unsigned int SpvWordCountShift = 16;
|
|
static const unsigned int SpvWordCountShift = 16;
|
|
|
|
|
|
|
@@ -69,6 +69,7 @@ typedef enum SpvSourceLanguage_ {
|
|
|
SpvSourceLanguageOpenCL_C = 3,
|
|
SpvSourceLanguageOpenCL_C = 3,
|
|
|
SpvSourceLanguageOpenCL_CPP = 4,
|
|
SpvSourceLanguageOpenCL_CPP = 4,
|
|
|
SpvSourceLanguageHLSL = 5,
|
|
SpvSourceLanguageHLSL = 5,
|
|
|
|
|
+ SpvSourceLanguageCPP_for_OpenCL = 6,
|
|
|
SpvSourceLanguageMax = 0x7fffffff,
|
|
SpvSourceLanguageMax = 0x7fffffff,
|
|
|
} SpvSourceLanguage;
|
|
} SpvSourceLanguage;
|
|
|
|
|
|
|
@@ -154,6 +155,7 @@ typedef enum SpvExecutionMode_ {
|
|
|
SpvExecutionModeSubgroupsPerWorkgroupId = 37,
|
|
SpvExecutionModeSubgroupsPerWorkgroupId = 37,
|
|
|
SpvExecutionModeLocalSizeId = 38,
|
|
SpvExecutionModeLocalSizeId = 38,
|
|
|
SpvExecutionModeLocalSizeHintId = 39,
|
|
SpvExecutionModeLocalSizeHintId = 39,
|
|
|
|
|
+ SpvExecutionModeSubgroupUniformControlFlowKHR = 4421,
|
|
|
SpvExecutionModePostDepthCoverage = 4446,
|
|
SpvExecutionModePostDepthCoverage = 4446,
|
|
|
SpvExecutionModeDenormPreserve = 4459,
|
|
SpvExecutionModeDenormPreserve = 4459,
|
|
|
SpvExecutionModeDenormFlushToZero = 4460,
|
|
SpvExecutionModeDenormFlushToZero = 4460,
|
|
@@ -355,6 +357,8 @@ typedef enum SpvImageOperandsShift_ {
|
|
|
SpvImageOperandsVolatileTexelKHRShift = 11,
|
|
SpvImageOperandsVolatileTexelKHRShift = 11,
|
|
|
SpvImageOperandsSignExtendShift = 12,
|
|
SpvImageOperandsSignExtendShift = 12,
|
|
|
SpvImageOperandsZeroExtendShift = 13,
|
|
SpvImageOperandsZeroExtendShift = 13,
|
|
|
|
|
+ SpvImageOperandsNontemporalShift = 14,
|
|
|
|
|
+ SpvImageOperandsOffsetsShift = 16,
|
|
|
SpvImageOperandsMax = 0x7fffffff,
|
|
SpvImageOperandsMax = 0x7fffffff,
|
|
|
} SpvImageOperandsShift;
|
|
} SpvImageOperandsShift;
|
|
|
|
|
|
|
@@ -378,6 +382,8 @@ typedef enum SpvImageOperandsMask_ {
|
|
|
SpvImageOperandsVolatileTexelKHRMask = 0x00000800,
|
|
SpvImageOperandsVolatileTexelKHRMask = 0x00000800,
|
|
|
SpvImageOperandsSignExtendMask = 0x00001000,
|
|
SpvImageOperandsSignExtendMask = 0x00001000,
|
|
|
SpvImageOperandsZeroExtendMask = 0x00002000,
|
|
SpvImageOperandsZeroExtendMask = 0x00002000,
|
|
|
|
|
+ SpvImageOperandsNontemporalMask = 0x00004000,
|
|
|
|
|
+ SpvImageOperandsOffsetsMask = 0x00010000,
|
|
|
} SpvImageOperandsMask;
|
|
} SpvImageOperandsMask;
|
|
|
|
|
|
|
|
typedef enum SpvFPFastMathModeShift_ {
|
|
typedef enum SpvFPFastMathModeShift_ {
|
|
@@ -413,6 +419,7 @@ typedef enum SpvFPRoundingMode_ {
|
|
|
typedef enum SpvLinkageType_ {
|
|
typedef enum SpvLinkageType_ {
|
|
|
SpvLinkageTypeExport = 0,
|
|
SpvLinkageTypeExport = 0,
|
|
|
SpvLinkageTypeImport = 1,
|
|
SpvLinkageTypeImport = 1,
|
|
|
|
|
+ SpvLinkageTypeLinkOnceODR = 2,
|
|
|
SpvLinkageTypeMax = 0x7fffffff,
|
|
SpvLinkageTypeMax = 0x7fffffff,
|
|
|
} SpvLinkageType;
|
|
} SpvLinkageType;
|
|
|
|
|
|
|
@@ -493,6 +500,7 @@ typedef enum SpvDecoration_ {
|
|
|
SpvDecorationPerPrimitiveNV = 5271,
|
|
SpvDecorationPerPrimitiveNV = 5271,
|
|
|
SpvDecorationPerViewNV = 5272,
|
|
SpvDecorationPerViewNV = 5272,
|
|
|
SpvDecorationPerTaskNV = 5273,
|
|
SpvDecorationPerTaskNV = 5273,
|
|
|
|
|
+ SpvDecorationPerVertexKHR = 5285,
|
|
|
SpvDecorationPerVertexNV = 5285,
|
|
SpvDecorationPerVertexNV = 5285,
|
|
|
SpvDecorationNonUniform = 5300,
|
|
SpvDecorationNonUniform = 5300,
|
|
|
SpvDecorationNonUniformEXT = 5300,
|
|
SpvDecorationNonUniformEXT = 5300,
|
|
@@ -500,6 +508,10 @@ typedef enum SpvDecoration_ {
|
|
|
SpvDecorationRestrictPointerEXT = 5355,
|
|
SpvDecorationRestrictPointerEXT = 5355,
|
|
|
SpvDecorationAliasedPointer = 5356,
|
|
SpvDecorationAliasedPointer = 5356,
|
|
|
SpvDecorationAliasedPointerEXT = 5356,
|
|
SpvDecorationAliasedPointerEXT = 5356,
|
|
|
|
|
+ SpvDecorationBindlessSamplerNV = 5398,
|
|
|
|
|
+ SpvDecorationBindlessImageNV = 5399,
|
|
|
|
|
+ SpvDecorationBoundSamplerNV = 5400,
|
|
|
|
|
+ SpvDecorationBoundImageNV = 5401,
|
|
|
SpvDecorationSIMTCallINTEL = 5599,
|
|
SpvDecorationSIMTCallINTEL = 5599,
|
|
|
SpvDecorationReferencedIndirectlyINTEL = 5602,
|
|
SpvDecorationReferencedIndirectlyINTEL = 5602,
|
|
|
SpvDecorationClobberINTEL = 5607,
|
|
SpvDecorationClobberINTEL = 5607,
|
|
@@ -534,11 +546,14 @@ 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,
|
|
|
SpvDecorationSingleElementVectorINTEL = 6085,
|
|
SpvDecorationSingleElementVectorINTEL = 6085,
|
|
|
SpvDecorationVectorComputeCallableFunctionINTEL = 6087,
|
|
SpvDecorationVectorComputeCallableFunctionINTEL = 6087,
|
|
|
|
|
+ SpvDecorationMediaBlockIOINTEL = 6140,
|
|
|
SpvDecorationMax = 0x7fffffff,
|
|
SpvDecorationMax = 0x7fffffff,
|
|
|
} SpvDecoration;
|
|
} SpvDecoration;
|
|
|
|
|
|
|
@@ -623,7 +638,9 @@ typedef enum SpvBuiltIn_ {
|
|
|
SpvBuiltInLayerPerViewNV = 5279,
|
|
SpvBuiltInLayerPerViewNV = 5279,
|
|
|
SpvBuiltInMeshViewCountNV = 5280,
|
|
SpvBuiltInMeshViewCountNV = 5280,
|
|
|
SpvBuiltInMeshViewIndicesNV = 5281,
|
|
SpvBuiltInMeshViewIndicesNV = 5281,
|
|
|
|
|
+ SpvBuiltInBaryCoordKHR = 5286,
|
|
|
SpvBuiltInBaryCoordNV = 5286,
|
|
SpvBuiltInBaryCoordNV = 5286,
|
|
|
|
|
+ SpvBuiltInBaryCoordNoPerspKHR = 5287,
|
|
|
SpvBuiltInBaryCoordNoPerspNV = 5287,
|
|
SpvBuiltInBaryCoordNoPerspNV = 5287,
|
|
|
SpvBuiltInFragSizeEXT = 5292,
|
|
SpvBuiltInFragSizeEXT = 5292,
|
|
|
SpvBuiltInFragmentSizeNV = 5292,
|
|
SpvBuiltInFragmentSizeNV = 5292,
|
|
@@ -654,6 +671,7 @@ typedef enum SpvBuiltIn_ {
|
|
|
SpvBuiltInHitTNV = 5332,
|
|
SpvBuiltInHitTNV = 5332,
|
|
|
SpvBuiltInHitKindKHR = 5333,
|
|
SpvBuiltInHitKindKHR = 5333,
|
|
|
SpvBuiltInHitKindNV = 5333,
|
|
SpvBuiltInHitKindNV = 5333,
|
|
|
|
|
+ SpvBuiltInCurrentRayTimeNV = 5334,
|
|
|
SpvBuiltInIncomingRayFlagsKHR = 5351,
|
|
SpvBuiltInIncomingRayFlagsKHR = 5351,
|
|
|
SpvBuiltInIncomingRayFlagsNV = 5351,
|
|
SpvBuiltInIncomingRayFlagsNV = 5351,
|
|
|
SpvBuiltInRayGeometryIndexKHR = 5352,
|
|
SpvBuiltInRayGeometryIndexKHR = 5352,
|
|
@@ -723,6 +741,7 @@ typedef enum SpvFunctionControlShift_ {
|
|
|
SpvFunctionControlDontInlineShift = 1,
|
|
SpvFunctionControlDontInlineShift = 1,
|
|
|
SpvFunctionControlPureShift = 2,
|
|
SpvFunctionControlPureShift = 2,
|
|
|
SpvFunctionControlConstShift = 3,
|
|
SpvFunctionControlConstShift = 3,
|
|
|
|
|
+ SpvFunctionControlOptNoneINTELShift = 16,
|
|
|
SpvFunctionControlMax = 0x7fffffff,
|
|
SpvFunctionControlMax = 0x7fffffff,
|
|
|
} SpvFunctionControlShift;
|
|
} SpvFunctionControlShift;
|
|
|
|
|
|
|
@@ -732,6 +751,7 @@ typedef enum SpvFunctionControlMask_ {
|
|
|
SpvFunctionControlDontInlineMask = 0x00000002,
|
|
SpvFunctionControlDontInlineMask = 0x00000002,
|
|
|
SpvFunctionControlPureMask = 0x00000004,
|
|
SpvFunctionControlPureMask = 0x00000004,
|
|
|
SpvFunctionControlConstMask = 0x00000008,
|
|
SpvFunctionControlConstMask = 0x00000008,
|
|
|
|
|
+ SpvFunctionControlOptNoneINTELMask = 0x00010000,
|
|
|
} SpvFunctionControlMask;
|
|
} SpvFunctionControlMask;
|
|
|
|
|
|
|
|
typedef enum SpvMemorySemanticsShift_ {
|
|
typedef enum SpvMemorySemanticsShift_ {
|
|
@@ -786,6 +806,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;
|
|
|
|
|
|
|
@@ -800,6 +822,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_ {
|
|
@@ -912,6 +936,7 @@ typedef enum SpvCapability_ {
|
|
|
SpvCapabilityGroupNonUniformQuad = 68,
|
|
SpvCapabilityGroupNonUniformQuad = 68,
|
|
|
SpvCapabilityShaderLayer = 69,
|
|
SpvCapabilityShaderLayer = 69,
|
|
|
SpvCapabilityShaderViewportIndex = 70,
|
|
SpvCapabilityShaderViewportIndex = 70,
|
|
|
|
|
+ SpvCapabilityUniformDecoration = 71,
|
|
|
SpvCapabilityFragmentShadingRateKHR = 4422,
|
|
SpvCapabilityFragmentShadingRateKHR = 4422,
|
|
|
SpvCapabilitySubgroupBallotKHR = 4423,
|
|
SpvCapabilitySubgroupBallotKHR = 4423,
|
|
|
SpvCapabilityDrawParameters = 4427,
|
|
SpvCapabilityDrawParameters = 4427,
|
|
@@ -960,6 +985,7 @@ typedef enum SpvCapability_ {
|
|
|
SpvCapabilityFragmentFullyCoveredEXT = 5265,
|
|
SpvCapabilityFragmentFullyCoveredEXT = 5265,
|
|
|
SpvCapabilityMeshShadingNV = 5266,
|
|
SpvCapabilityMeshShadingNV = 5266,
|
|
|
SpvCapabilityImageFootprintNV = 5282,
|
|
SpvCapabilityImageFootprintNV = 5282,
|
|
|
|
|
+ SpvCapabilityFragmentBarycentricKHR = 5284,
|
|
|
SpvCapabilityFragmentBarycentricNV = 5284,
|
|
SpvCapabilityFragmentBarycentricNV = 5284,
|
|
|
SpvCapabilityComputeDerivativeGroupQuadsNV = 5288,
|
|
SpvCapabilityComputeDerivativeGroupQuadsNV = 5288,
|
|
|
SpvCapabilityFragmentDensityEXT = 5291,
|
|
SpvCapabilityFragmentDensityEXT = 5291,
|
|
@@ -990,6 +1016,7 @@ typedef enum SpvCapability_ {
|
|
|
SpvCapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
|
|
SpvCapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
|
|
|
SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
|
|
SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
|
|
|
SpvCapabilityRayTracingNV = 5340,
|
|
SpvCapabilityRayTracingNV = 5340,
|
|
|
|
|
+ SpvCapabilityRayTracingMotionBlurNV = 5341,
|
|
|
SpvCapabilityVulkanMemoryModel = 5345,
|
|
SpvCapabilityVulkanMemoryModel = 5345,
|
|
|
SpvCapabilityVulkanMemoryModelKHR = 5345,
|
|
SpvCapabilityVulkanMemoryModelKHR = 5345,
|
|
|
SpvCapabilityVulkanMemoryModelDeviceScope = 5346,
|
|
SpvCapabilityVulkanMemoryModelDeviceScope = 5346,
|
|
@@ -1003,7 +1030,9 @@ typedef enum SpvCapability_ {
|
|
|
SpvCapabilityFragmentShaderShadingRateInterlockEXT = 5372,
|
|
SpvCapabilityFragmentShaderShadingRateInterlockEXT = 5372,
|
|
|
SpvCapabilityShaderSMBuiltinsNV = 5373,
|
|
SpvCapabilityShaderSMBuiltinsNV = 5373,
|
|
|
SpvCapabilityFragmentShaderPixelInterlockEXT = 5378,
|
|
SpvCapabilityFragmentShaderPixelInterlockEXT = 5378,
|
|
|
|
|
+ SpvCapabilityDemoteToHelperInvocation = 5379,
|
|
|
SpvCapabilityDemoteToHelperInvocationEXT = 5379,
|
|
SpvCapabilityDemoteToHelperInvocationEXT = 5379,
|
|
|
|
|
+ SpvCapabilityBindlessTextureNV = 5390,
|
|
|
SpvCapabilitySubgroupShuffleINTEL = 5568,
|
|
SpvCapabilitySubgroupShuffleINTEL = 5568,
|
|
|
SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
|
|
SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
|
|
|
SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
|
|
SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
|
|
@@ -1014,8 +1043,12 @@ typedef enum SpvCapability_ {
|
|
|
SpvCapabilityFunctionPointersINTEL = 5603,
|
|
SpvCapabilityFunctionPointersINTEL = 5603,
|
|
|
SpvCapabilityIndirectReferencesINTEL = 5604,
|
|
SpvCapabilityIndirectReferencesINTEL = 5604,
|
|
|
SpvCapabilityAsmINTEL = 5606,
|
|
SpvCapabilityAsmINTEL = 5606,
|
|
|
|
|
+ SpvCapabilityAtomicFloat32MinMaxEXT = 5612,
|
|
|
|
|
+ SpvCapabilityAtomicFloat64MinMaxEXT = 5613,
|
|
|
|
|
+ SpvCapabilityAtomicFloat16MinMaxEXT = 5616,
|
|
|
SpvCapabilityVectorComputeINTEL = 5617,
|
|
SpvCapabilityVectorComputeINTEL = 5617,
|
|
|
SpvCapabilityVectorAnyINTEL = 5619,
|
|
SpvCapabilityVectorAnyINTEL = 5619,
|
|
|
|
|
+ SpvCapabilityExpectAssumeKHR = 5629,
|
|
|
SpvCapabilitySubgroupAvcMotionEstimationINTEL = 5696,
|
|
SpvCapabilitySubgroupAvcMotionEstimationINTEL = 5696,
|
|
|
SpvCapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
|
|
SpvCapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
|
|
|
SpvCapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
|
|
SpvCapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
|
|
@@ -1024,6 +1057,7 @@ typedef enum SpvCapability_ {
|
|
|
SpvCapabilityFPGAMemoryAttributesINTEL = 5824,
|
|
SpvCapabilityFPGAMemoryAttributesINTEL = 5824,
|
|
|
SpvCapabilityFPFastMathModeINTEL = 5837,
|
|
SpvCapabilityFPFastMathModeINTEL = 5837,
|
|
|
SpvCapabilityArbitraryPrecisionIntegersINTEL = 5844,
|
|
SpvCapabilityArbitraryPrecisionIntegersINTEL = 5844,
|
|
|
|
|
+ SpvCapabilityArbitraryPrecisionFloatingPointINTEL = 5845,
|
|
|
SpvCapabilityUnstructuredLoopControlsINTEL = 5886,
|
|
SpvCapabilityUnstructuredLoopControlsINTEL = 5886,
|
|
|
SpvCapabilityFPGALoopControlsINTEL = 5888,
|
|
SpvCapabilityFPGALoopControlsINTEL = 5888,
|
|
|
SpvCapabilityKernelAttributesINTEL = 5892,
|
|
SpvCapabilityKernelAttributesINTEL = 5892,
|
|
@@ -1031,14 +1065,30 @@ typedef enum SpvCapability_ {
|
|
|
SpvCapabilityFPGAMemoryAccessesINTEL = 5898,
|
|
SpvCapabilityFPGAMemoryAccessesINTEL = 5898,
|
|
|
SpvCapabilityFPGAClusterAttributesINTEL = 5904,
|
|
SpvCapabilityFPGAClusterAttributesINTEL = 5904,
|
|
|
SpvCapabilityLoopFuseINTEL = 5906,
|
|
SpvCapabilityLoopFuseINTEL = 5906,
|
|
|
|
|
+ SpvCapabilityMemoryAccessAliasingINTEL = 5910,
|
|
|
SpvCapabilityFPGABufferLocationINTEL = 5920,
|
|
SpvCapabilityFPGABufferLocationINTEL = 5920,
|
|
|
|
|
+ SpvCapabilityArbitraryPrecisionFixedPointINTEL = 5922,
|
|
|
SpvCapabilityUSMStorageClassesINTEL = 5935,
|
|
SpvCapabilityUSMStorageClassesINTEL = 5935,
|
|
|
SpvCapabilityIOPipesINTEL = 5943,
|
|
SpvCapabilityIOPipesINTEL = 5943,
|
|
|
SpvCapabilityBlockingPipesINTEL = 5945,
|
|
SpvCapabilityBlockingPipesINTEL = 5945,
|
|
|
SpvCapabilityFPGARegINTEL = 5948,
|
|
SpvCapabilityFPGARegINTEL = 5948,
|
|
|
|
|
+ SpvCapabilityDotProductInputAll = 6016,
|
|
|
|
|
+ SpvCapabilityDotProductInputAllKHR = 6016,
|
|
|
|
|
+ SpvCapabilityDotProductInput4x8Bit = 6017,
|
|
|
|
|
+ SpvCapabilityDotProductInput4x8BitKHR = 6017,
|
|
|
|
|
+ SpvCapabilityDotProductInput4x8BitPacked = 6018,
|
|
|
|
|
+ SpvCapabilityDotProductInput4x8BitPackedKHR = 6018,
|
|
|
|
|
+ SpvCapabilityDotProduct = 6019,
|
|
|
|
|
+ SpvCapabilityDotProductKHR = 6019,
|
|
|
|
|
+ SpvCapabilityBitInstructions = 6025,
|
|
|
SpvCapabilityAtomicFloat32AddEXT = 6033,
|
|
SpvCapabilityAtomicFloat32AddEXT = 6033,
|
|
|
SpvCapabilityAtomicFloat64AddEXT = 6034,
|
|
SpvCapabilityAtomicFloat64AddEXT = 6034,
|
|
|
SpvCapabilityLongConstantCompositeINTEL = 6089,
|
|
SpvCapabilityLongConstantCompositeINTEL = 6089,
|
|
|
|
|
+ SpvCapabilityOptNoneINTEL = 6094,
|
|
|
|
|
+ SpvCapabilityAtomicFloat16AddEXT = 6095,
|
|
|
|
|
+ SpvCapabilityDebugInfoModuleINTEL = 6114,
|
|
|
|
|
+ SpvCapabilitySplitBarrierINTEL = 6141,
|
|
|
|
|
+ SpvCapabilityGroupUniformArithmeticKHR = 6400,
|
|
|
SpvCapabilityMax = 0x7fffffff,
|
|
SpvCapabilityMax = 0x7fffffff,
|
|
|
} SpvCapability;
|
|
} SpvCapability;
|
|
|
|
|
|
|
@@ -1106,17 +1156,43 @@ typedef enum SpvFragmentShadingRateMask_ {
|
|
|
} SpvFragmentShadingRateMask;
|
|
} SpvFragmentShadingRateMask;
|
|
|
|
|
|
|
|
typedef enum SpvFPDenormMode_ {
|
|
typedef enum SpvFPDenormMode_ {
|
|
|
- SpvFPDenormModePreserve = 0,
|
|
|
|
|
- SpvFPDenormModeFlushToZero = 1,
|
|
|
|
|
- SpvFPDenormModeMax = 0x7fffffff,
|
|
|
|
|
|
|
+ SpvFPDenormModePreserve = 0,
|
|
|
|
|
+ SpvFPDenormModeFlushToZero = 1,
|
|
|
|
|
+ SpvFPDenormModeMax = 0x7fffffff,
|
|
|
} SpvFPDenormMode;
|
|
} SpvFPDenormMode;
|
|
|
|
|
|
|
|
typedef enum SpvFPOperationMode_ {
|
|
typedef enum SpvFPOperationMode_ {
|
|
|
- SpvFPOperationModeIEEE = 0,
|
|
|
|
|
- SpvFPOperationModeALT = 1,
|
|
|
|
|
- SpvFPOperationModeMax = 0x7fffffff,
|
|
|
|
|
|
|
+ SpvFPOperationModeIEEE = 0,
|
|
|
|
|
+ SpvFPOperationModeALT = 1,
|
|
|
|
|
+ SpvFPOperationModeMax = 0x7fffffff,
|
|
|
} SpvFPOperationMode;
|
|
} 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_ {
|
|
typedef enum SpvOp_ {
|
|
|
SpvOpNop = 0,
|
|
SpvOpNop = 0,
|
|
|
SpvOpUndef = 1,
|
|
SpvOpUndef = 1,
|
|
@@ -1474,6 +1550,18 @@ typedef enum SpvOp_ {
|
|
|
SpvOpConvertUToAccelerationStructureKHR = 4447,
|
|
SpvOpConvertUToAccelerationStructureKHR = 4447,
|
|
|
SpvOpIgnoreIntersectionKHR = 4448,
|
|
SpvOpIgnoreIntersectionKHR = 4448,
|
|
|
SpvOpTerminateRayKHR = 4449,
|
|
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,
|
|
SpvOpTypeRayQueryKHR = 4472,
|
|
|
SpvOpRayQueryInitializeKHR = 4473,
|
|
SpvOpRayQueryInitializeKHR = 4473,
|
|
|
SpvOpRayQueryTerminateKHR = 4474,
|
|
SpvOpRayQueryTerminateKHR = 4474,
|
|
@@ -1500,6 +1588,8 @@ typedef enum SpvOp_ {
|
|
|
SpvOpIgnoreIntersectionNV = 5335,
|
|
SpvOpIgnoreIntersectionNV = 5335,
|
|
|
SpvOpTerminateRayNV = 5336,
|
|
SpvOpTerminateRayNV = 5336,
|
|
|
SpvOpTraceNV = 5337,
|
|
SpvOpTraceNV = 5337,
|
|
|
|
|
+ SpvOpTraceMotionNV = 5338,
|
|
|
|
|
+ SpvOpTraceRayMotionNV = 5339,
|
|
|
SpvOpTypeAccelerationStructureKHR = 5341,
|
|
SpvOpTypeAccelerationStructureKHR = 5341,
|
|
|
SpvOpTypeAccelerationStructureNV = 5341,
|
|
SpvOpTypeAccelerationStructureNV = 5341,
|
|
|
SpvOpExecuteCallableNV = 5344,
|
|
SpvOpExecuteCallableNV = 5344,
|
|
@@ -1510,8 +1600,16 @@ typedef enum SpvOp_ {
|
|
|
SpvOpCooperativeMatrixLengthNV = 5362,
|
|
SpvOpCooperativeMatrixLengthNV = 5362,
|
|
|
SpvOpBeginInvocationInterlockEXT = 5364,
|
|
SpvOpBeginInvocationInterlockEXT = 5364,
|
|
|
SpvOpEndInvocationInterlockEXT = 5365,
|
|
SpvOpEndInvocationInterlockEXT = 5365,
|
|
|
|
|
+ SpvOpDemoteToHelperInvocation = 5380,
|
|
|
SpvOpDemoteToHelperInvocationEXT = 5380,
|
|
SpvOpDemoteToHelperInvocationEXT = 5380,
|
|
|
SpvOpIsHelperInvocationEXT = 5381,
|
|
SpvOpIsHelperInvocationEXT = 5381,
|
|
|
|
|
+ SpvOpConvertUToImageNV = 5391,
|
|
|
|
|
+ SpvOpConvertUToSamplerNV = 5392,
|
|
|
|
|
+ SpvOpConvertImageToUNV = 5393,
|
|
|
|
|
+ SpvOpConvertSamplerToUNV = 5394,
|
|
|
|
|
+ SpvOpConvertUToSampledImageNV = 5395,
|
|
|
|
|
+ SpvOpConvertSampledImageToUNV = 5396,
|
|
|
|
|
+ SpvOpSamplerImageAddressingModeNV = 5397,
|
|
|
SpvOpSubgroupShuffleINTEL = 5571,
|
|
SpvOpSubgroupShuffleINTEL = 5571,
|
|
|
SpvOpSubgroupShuffleDownINTEL = 5572,
|
|
SpvOpSubgroupShuffleDownINTEL = 5572,
|
|
|
SpvOpSubgroupShuffleUpINTEL = 5573,
|
|
SpvOpSubgroupShuffleUpINTEL = 5573,
|
|
@@ -1536,11 +1634,15 @@ typedef enum SpvOp_ {
|
|
|
SpvOpUSubSatINTEL = 5596,
|
|
SpvOpUSubSatINTEL = 5596,
|
|
|
SpvOpIMul32x16INTEL = 5597,
|
|
SpvOpIMul32x16INTEL = 5597,
|
|
|
SpvOpUMul32x16INTEL = 5598,
|
|
SpvOpUMul32x16INTEL = 5598,
|
|
|
- SpvOpConstFunctionPointerINTEL = 5600,
|
|
|
|
|
|
|
+ SpvOpConstantFunctionPointerINTEL = 5600,
|
|
|
SpvOpFunctionPointerCallINTEL = 5601,
|
|
SpvOpFunctionPointerCallINTEL = 5601,
|
|
|
SpvOpAsmTargetINTEL = 5609,
|
|
SpvOpAsmTargetINTEL = 5609,
|
|
|
SpvOpAsmINTEL = 5610,
|
|
SpvOpAsmINTEL = 5610,
|
|
|
SpvOpAsmCallINTEL = 5611,
|
|
SpvOpAsmCallINTEL = 5611,
|
|
|
|
|
+ SpvOpAtomicFMinEXT = 5614,
|
|
|
|
|
+ SpvOpAtomicFMaxEXT = 5615,
|
|
|
|
|
+ SpvOpAssumeTrueKHR = 5630,
|
|
|
|
|
+ SpvOpExpectKHR = 5631,
|
|
|
SpvOpDecorateString = 5632,
|
|
SpvOpDecorateString = 5632,
|
|
|
SpvOpDecorateStringGOOGLE = 5632,
|
|
SpvOpDecorateStringGOOGLE = 5632,
|
|
|
SpvOpMemberDecorateString = 5633,
|
|
SpvOpMemberDecorateString = 5633,
|
|
@@ -1666,7 +1768,62 @@ typedef enum SpvOp_ {
|
|
|
SpvOpVariableLengthArrayINTEL = 5818,
|
|
SpvOpVariableLengthArrayINTEL = 5818,
|
|
|
SpvOpSaveMemoryINTEL = 5819,
|
|
SpvOpSaveMemoryINTEL = 5819,
|
|
|
SpvOpRestoreMemoryINTEL = 5820,
|
|
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,
|
|
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,
|
|
SpvOpPtrCastToCrossWorkgroupINTEL = 5934,
|
|
|
SpvOpCrossWorkgroupCastToPtrINTEL = 5938,
|
|
SpvOpCrossWorkgroupCastToPtrINTEL = 5938,
|
|
|
SpvOpReadPipeBlockingINTEL = 5946,
|
|
SpvOpReadPipeBlockingINTEL = 5946,
|
|
@@ -1694,10 +1851,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) {
|
|
@@ -2058,6 +2228,12 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
|
|
|
case SpvOpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break;
|
|
|
case SpvOpTerminateRayKHR: *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 SpvOpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break;
|
|
|
case SpvOpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
|
|
|
case SpvOpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
|
|
@@ -2083,6 +2259,8 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
|
|
|
case SpvOpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
|
|
|
case SpvOpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
|
|
|
case SpvOpTraceNV: *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 SpvOpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
|
|
|
case SpvOpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
|
|
|
case SpvOpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
|
|
@@ -2092,8 +2270,15 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
|
|
|
case SpvOpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
|
|
|
case SpvOpEndInvocationInterlockEXT: *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 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 SpvOpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
|
|
@@ -2118,11 +2303,15 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
|
|
|
case SpvOpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
- case SpvOpConstFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
|
|
|
|
+ case SpvOpConstantFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpAsmINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpAsmINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpAsmCallINTEL: *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 SpvOpDecorateString: *hasResult = false; *hasResultType = false; break;
|
|
|
case SpvOpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
|
|
|
case SpvOpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
|
|
@@ -2246,7 +2435,62 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
|
|
|
case SpvOpVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpSaveMemoryINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSaveMemoryINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpRestoreMemoryINTEL: *hasResult = false; *hasResultType = false; 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 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 SpvOpPtrCastToCrossWorkgroupINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
|
|
@@ -2274,6 +2518,16 @@ 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 */
|