spirv-reflect-ffi 0.3 → 0.4
raw patch · 6 files changed
+10445/−5066 lines, 6 filesdep ~basedep ~spirv-enumdep ~spirv-reflect-typesPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base, spirv-enum, spirv-reflect-types
API changes (from Hackage documentation)
+ Data.SpirV.Reflect.FFI.Internal: inflateBlockVariableCached :: IORef [(BlockVariablePtr, Maybe BlockVariable)] -> BlockVariablePtr -> IO BlockVariable
+ Data.SpirV.Reflect.FFI.Internal: inflateTypeDescriptionCached :: IORef [(TypeDescriptionPtr, Maybe TypeDescription)] -> TypeDescriptionPtr -> IO TypeDescription
- Data.SpirV.Reflect.FFI: data () => Module
+ Data.SpirV.Reflect.FFI: data Module
- Data.SpirV.Reflect.FFI.Internal: inflateFlags32 :: forall a b. (Integral a, Coercible Word32 b) => IO a -> IO b
+ Data.SpirV.Reflect.FFI.Internal: inflateFlags32 :: (Integral a, Coercible Word32 b) => IO a -> IO b
- Data.SpirV.Reflect.FFI.Internal: type ArrayTraitsPtr = Ptr (())
+ Data.SpirV.Reflect.FFI.Internal: type ArrayTraitsPtr = Ptr ()
- Data.SpirV.Reflect.FFI.Internal: type BlockVariablePtr = Ptr (())
+ Data.SpirV.Reflect.FFI.Internal: type BlockVariablePtr = Ptr ()
- Data.SpirV.Reflect.FFI.Internal: type DescriptorBindingPtr = Ptr (())
+ Data.SpirV.Reflect.FFI.Internal: type DescriptorBindingPtr = Ptr ()
- Data.SpirV.Reflect.FFI.Internal: type DescriptorSetPtr = Ptr (())
+ Data.SpirV.Reflect.FFI.Internal: type DescriptorSetPtr = Ptr ()
- Data.SpirV.Reflect.FFI.Internal: type ImageTraitsPtr = Ptr (())
+ Data.SpirV.Reflect.FFI.Internal: type ImageTraitsPtr = Ptr ()
- Data.SpirV.Reflect.FFI.Internal: type InterfaceVariablePtr = Ptr (())
+ Data.SpirV.Reflect.FFI.Internal: type InterfaceVariablePtr = Ptr ()
- Data.SpirV.Reflect.FFI.Internal: type NumericTraitsPtr = Ptr (())
+ Data.SpirV.Reflect.FFI.Internal: type NumericTraitsPtr = Ptr ()
- Data.SpirV.Reflect.FFI.Internal: type ShaderModulePtr = Ptr (())
+ Data.SpirV.Reflect.FFI.Internal: type ShaderModulePtr = Ptr ()
- Data.SpirV.Reflect.FFI.Internal: type TypeDescriptionPtr = Ptr (())
+ Data.SpirV.Reflect.FFI.Internal: type TypeDescriptionPtr = Ptr ()
Files
- ChangeLog.md +12/−0
- cbits/include/spirv/unified1/spirv.h +10068/−4886
- cbits/spirv_reflect.c +160/−90
- cbits/spirv_reflect.h +23/−3
- lib/Data/SpirV/Reflect/FFI/Internal.chs +176/−81
- spirv-reflect-ffi.cabal +6/−6
ChangeLog.md view
@@ -1,5 +1,17 @@ # Changelog for spirv-reflect-ffi +## [0.4] - 2026-06-23++* **Breaking:** minimum GHC raised to 9.2 (`base >= 4.16`).+* Updated cbits to `vulkan-sdk-1.4.350`.+* Updates for `spirv-reflect-types-0.4`.+* Load specialization constant `default_value` and `type_description`.+* Break cycles when inflating recursive `TypeDescription`/`BlockVariable`+ (`buffer_reference`/`PhysicalStorageBuffer`), which previously failed to terminate.+* Fix interface variable `built_in` sentinel (`0xFFFFFFFF` now decodes to `Nothing`).++[0.4]: https://gitlab.com/dpwiz/spirv-reflect/-/tree/v0.4-ffi+ ## [0.3] - 2024-09-30 * Update cbits to `vulkan-sdk-1.3.290`.
cbits/include/spirv/unified1/spirv.h view
@@ -1,4890 +1,10072 @@ /*-** Copyright (c) 2014-2020 The Khronos Group Inc.-**-** Permission is hereby granted, free of charge, to any person obtaining a copy-** of this software and/or associated documentation files (the "Materials"),-** to deal in the Materials without restriction, including without limitation-** the rights to use, copy, modify, merge, publish, distribute, sublicense,-** and/or sell copies of the Materials, and to permit persons to whom the-** Materials are furnished to do so, subject to the following conditions:-**-** The above copyright notice and this permission notice shall be included in-** all copies or substantial portions of the Materials.-**-** MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS-** STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND-** HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/-**-** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS-** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,-** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL-** THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER-** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING-** FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS-** IN THE MATERIALS.-*/--/*-** This header is automatically generated by the same tool that creates-** the Binary Section of the SPIR-V specification.-*/--/*-** Enumeration tokens for SPIR-V, in various styles:-** 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-** - C++11 will use enum classes in the spv namespace, e.g.:-*spv::SourceLanguage::GLSL-** - Lua will use tables, e.g.: spv.SourceLanguage.GLSL-** - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']-** - 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-** "Mask" in their name, and a parallel enum that has the shift-** amount (1 << x) for each corresponding enumerant.-*/--#ifndef spirv_H-#define spirv_H--typedef unsigned int SpvId;--#define SPV_VERSION 0x10600-#define SPV_REVISION 1--static const unsigned int SpvMagicNumber = 0x07230203;-static const unsigned int SpvVersion = 0x00010600;-static const unsigned int SpvRevision = 1;-static const unsigned int SpvOpCodeMask = 0xffff;-static const unsigned int SpvWordCountShift = 16;--typedef enum SpvSourceLanguage_ {- SpvSourceLanguageUnknown = 0,- SpvSourceLanguageESSL = 1,- SpvSourceLanguageGLSL = 2,- SpvSourceLanguageOpenCL_C = 3,- SpvSourceLanguageOpenCL_CPP = 4,- SpvSourceLanguageHLSL = 5,- SpvSourceLanguageCPP_for_OpenCL = 6,- SpvSourceLanguageSYCL = 7,- SpvSourceLanguageHERO_C = 8,- SpvSourceLanguageNZSL = 9,- SpvSourceLanguageMax = 0x7fffffff,-} SpvSourceLanguage;--typedef enum SpvExecutionModel_ {- SpvExecutionModelVertex = 0,- SpvExecutionModelTessellationControl = 1,- SpvExecutionModelTessellationEvaluation = 2,- SpvExecutionModelGeometry = 3,- SpvExecutionModelFragment = 4,- SpvExecutionModelGLCompute = 5,- SpvExecutionModelKernel = 6,- SpvExecutionModelTaskNV = 5267,- SpvExecutionModelMeshNV = 5268,- SpvExecutionModelRayGenerationKHR = 5313,- SpvExecutionModelRayGenerationNV = 5313,- SpvExecutionModelIntersectionKHR = 5314,- SpvExecutionModelIntersectionNV = 5314,- SpvExecutionModelAnyHitKHR = 5315,- SpvExecutionModelAnyHitNV = 5315,- SpvExecutionModelClosestHitKHR = 5316,- SpvExecutionModelClosestHitNV = 5316,- SpvExecutionModelMissKHR = 5317,- SpvExecutionModelMissNV = 5317,- SpvExecutionModelCallableKHR = 5318,- SpvExecutionModelCallableNV = 5318,- SpvExecutionModelTaskEXT = 5364,- SpvExecutionModelMeshEXT = 5365,- SpvExecutionModelMax = 0x7fffffff,-} SpvExecutionModel;--typedef enum SpvAddressingModel_ {- SpvAddressingModelLogical = 0,- SpvAddressingModelPhysical32 = 1,- SpvAddressingModelPhysical64 = 2,- SpvAddressingModelPhysicalStorageBuffer64 = 5348,- SpvAddressingModelPhysicalStorageBuffer64EXT = 5348,- SpvAddressingModelMax = 0x7fffffff,-} SpvAddressingModel;--typedef enum SpvMemoryModel_ {- SpvMemoryModelSimple = 0,- SpvMemoryModelGLSL450 = 1,- SpvMemoryModelOpenCL = 2,- SpvMemoryModelVulkan = 3,- SpvMemoryModelVulkanKHR = 3,- SpvMemoryModelMax = 0x7fffffff,-} SpvMemoryModel;--typedef enum SpvExecutionMode_ {- SpvExecutionModeInvocations = 0,- SpvExecutionModeSpacingEqual = 1,- SpvExecutionModeSpacingFractionalEven = 2,- SpvExecutionModeSpacingFractionalOdd = 3,- SpvExecutionModeVertexOrderCw = 4,- SpvExecutionModeVertexOrderCcw = 5,- SpvExecutionModePixelCenterInteger = 6,- SpvExecutionModeOriginUpperLeft = 7,- SpvExecutionModeOriginLowerLeft = 8,- SpvExecutionModeEarlyFragmentTests = 9,- SpvExecutionModePointMode = 10,- SpvExecutionModeXfb = 11,- SpvExecutionModeDepthReplacing = 12,- SpvExecutionModeDepthGreater = 14,- SpvExecutionModeDepthLess = 15,- SpvExecutionModeDepthUnchanged = 16,- SpvExecutionModeLocalSize = 17,- SpvExecutionModeLocalSizeHint = 18,- SpvExecutionModeInputPoints = 19,- SpvExecutionModeInputLines = 20,- SpvExecutionModeInputLinesAdjacency = 21,- SpvExecutionModeTriangles = 22,- SpvExecutionModeInputTrianglesAdjacency = 23,- SpvExecutionModeQuads = 24,- SpvExecutionModeIsolines = 25,- SpvExecutionModeOutputVertices = 26,- SpvExecutionModeOutputPoints = 27,- SpvExecutionModeOutputLineStrip = 28,- SpvExecutionModeOutputTriangleStrip = 29,- SpvExecutionModeVecTypeHint = 30,- SpvExecutionModeContractionOff = 31,- SpvExecutionModeInitializer = 33,- SpvExecutionModeFinalizer = 34,- SpvExecutionModeSubgroupSize = 35,- SpvExecutionModeSubgroupsPerWorkgroup = 36,- SpvExecutionModeSubgroupsPerWorkgroupId = 37,- SpvExecutionModeLocalSizeId = 38,- SpvExecutionModeLocalSizeHintId = 39,- SpvExecutionModeNonCoherentColorAttachmentReadEXT = 4169,- SpvExecutionModeNonCoherentDepthAttachmentReadEXT = 4170,- SpvExecutionModeNonCoherentStencilAttachmentReadEXT = 4171,- 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,- SpvExecutionModeSampleInterlockOrderedEXT = 5368,- 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,- SpvExecutionModeStreamingInterfaceINTEL = 6154,- SpvExecutionModeRegisterMapInterfaceINTEL = 6160,- SpvExecutionModeNamedBarrierCountINTEL = 6417,- SpvExecutionModeMax = 0x7fffffff,-} SpvExecutionMode;--typedef enum SpvStorageClass_ {- SpvStorageClassUniformConstant = 0,- SpvStorageClassInput = 1,- SpvStorageClassUniform = 2,- SpvStorageClassOutput = 3,- SpvStorageClassWorkgroup = 4,- SpvStorageClassCrossWorkgroup = 5,- SpvStorageClassPrivate = 6,- SpvStorageClassFunction = 7,- SpvStorageClassGeneric = 8,- SpvStorageClassPushConstant = 9,- SpvStorageClassAtomicCounter = 10,- SpvStorageClassImage = 11,- SpvStorageClassStorageBuffer = 12,- SpvStorageClassTileImageEXT = 4172,- SpvStorageClassCallableDataKHR = 5328,- SpvStorageClassCallableDataNV = 5328,- SpvStorageClassIncomingCallableDataKHR = 5329,- SpvStorageClassIncomingCallableDataNV = 5329,- SpvStorageClassRayPayloadKHR = 5338,- SpvStorageClassRayPayloadNV = 5338,- SpvStorageClassHitAttributeKHR = 5339,- SpvStorageClassHitAttributeNV = 5339,- SpvStorageClassIncomingRayPayloadKHR = 5342,- SpvStorageClassIncomingRayPayloadNV = 5342,- SpvStorageClassShaderRecordBufferKHR = 5343,- SpvStorageClassShaderRecordBufferNV = 5343,- SpvStorageClassPhysicalStorageBuffer = 5349,- SpvStorageClassPhysicalStorageBufferEXT = 5349,- SpvStorageClassHitObjectAttributeNV = 5385,- SpvStorageClassTaskPayloadWorkgroupEXT = 5402,- SpvStorageClassCodeSectionINTEL = 5605,- SpvStorageClassDeviceOnlyINTEL = 5936,- SpvStorageClassHostOnlyINTEL = 5937,- SpvStorageClassMax = 0x7fffffff,-} SpvStorageClass;--typedef enum SpvDim_ {- SpvDim1D = 0,- SpvDim2D = 1,- SpvDim3D = 2,- SpvDimCube = 3,- SpvDimRect = 4,- SpvDimBuffer = 5,- SpvDimSubpassData = 6,- SpvDimTileImageDataEXT = 4173,- SpvDimMax = 0x7fffffff,-} SpvDim;--typedef enum SpvSamplerAddressingMode_ {- SpvSamplerAddressingModeNone = 0,- SpvSamplerAddressingModeClampToEdge = 1,- SpvSamplerAddressingModeClamp = 2,- SpvSamplerAddressingModeRepeat = 3,- SpvSamplerAddressingModeRepeatMirrored = 4,- SpvSamplerAddressingModeMax = 0x7fffffff,-} SpvSamplerAddressingMode;--typedef enum SpvSamplerFilterMode_ {- SpvSamplerFilterModeNearest = 0,- SpvSamplerFilterModeLinear = 1,- SpvSamplerFilterModeMax = 0x7fffffff,-} SpvSamplerFilterMode;--typedef enum SpvImageFormat_ {- SpvImageFormatUnknown = 0,- SpvImageFormatRgba32f = 1,- SpvImageFormatRgba16f = 2,- SpvImageFormatR32f = 3,- SpvImageFormatRgba8 = 4,- SpvImageFormatRgba8Snorm = 5,- SpvImageFormatRg32f = 6,- SpvImageFormatRg16f = 7,- SpvImageFormatR11fG11fB10f = 8,- SpvImageFormatR16f = 9,- SpvImageFormatRgba16 = 10,- SpvImageFormatRgb10A2 = 11,- SpvImageFormatRg16 = 12,- SpvImageFormatRg8 = 13,- SpvImageFormatR16 = 14,- SpvImageFormatR8 = 15,- SpvImageFormatRgba16Snorm = 16,- SpvImageFormatRg16Snorm = 17,- SpvImageFormatRg8Snorm = 18,- SpvImageFormatR16Snorm = 19,- SpvImageFormatR8Snorm = 20,- SpvImageFormatRgba32i = 21,- SpvImageFormatRgba16i = 22,- SpvImageFormatRgba8i = 23,- SpvImageFormatR32i = 24,- SpvImageFormatRg32i = 25,- SpvImageFormatRg16i = 26,- SpvImageFormatRg8i = 27,- SpvImageFormatR16i = 28,- SpvImageFormatR8i = 29,- SpvImageFormatRgba32ui = 30,- SpvImageFormatRgba16ui = 31,- SpvImageFormatRgba8ui = 32,- SpvImageFormatR32ui = 33,- SpvImageFormatRgb10a2ui = 34,- SpvImageFormatRg32ui = 35,- SpvImageFormatRg16ui = 36,- SpvImageFormatRg8ui = 37,- SpvImageFormatR16ui = 38,- SpvImageFormatR8ui = 39,- SpvImageFormatR64ui = 40,- SpvImageFormatR64i = 41,- SpvImageFormatMax = 0x7fffffff,-} SpvImageFormat;--typedef enum SpvImageChannelOrder_ {- SpvImageChannelOrderR = 0,- SpvImageChannelOrderA = 1,- SpvImageChannelOrderRG = 2,- SpvImageChannelOrderRA = 3,- SpvImageChannelOrderRGB = 4,- SpvImageChannelOrderRGBA = 5,- SpvImageChannelOrderBGRA = 6,- SpvImageChannelOrderARGB = 7,- SpvImageChannelOrderIntensity = 8,- SpvImageChannelOrderLuminance = 9,- SpvImageChannelOrderRx = 10,- SpvImageChannelOrderRGx = 11,- SpvImageChannelOrderRGBx = 12,- SpvImageChannelOrderDepth = 13,- SpvImageChannelOrderDepthStencil = 14,- SpvImageChannelOrdersRGB = 15,- SpvImageChannelOrdersRGBx = 16,- SpvImageChannelOrdersRGBA = 17,- SpvImageChannelOrdersBGRA = 18,- SpvImageChannelOrderABGR = 19,- SpvImageChannelOrderMax = 0x7fffffff,-} SpvImageChannelOrder;--typedef enum SpvImageChannelDataType_ {- SpvImageChannelDataTypeSnormInt8 = 0,- SpvImageChannelDataTypeSnormInt16 = 1,- SpvImageChannelDataTypeUnormInt8 = 2,- SpvImageChannelDataTypeUnormInt16 = 3,- SpvImageChannelDataTypeUnormShort565 = 4,- SpvImageChannelDataTypeUnormShort555 = 5,- SpvImageChannelDataTypeUnormInt101010 = 6,- SpvImageChannelDataTypeSignedInt8 = 7,- SpvImageChannelDataTypeSignedInt16 = 8,- SpvImageChannelDataTypeSignedInt32 = 9,- SpvImageChannelDataTypeUnsignedInt8 = 10,- SpvImageChannelDataTypeUnsignedInt16 = 11,- SpvImageChannelDataTypeUnsignedInt32 = 12,- SpvImageChannelDataTypeHalfFloat = 13,- SpvImageChannelDataTypeFloat = 14,- SpvImageChannelDataTypeUnormInt24 = 15,- SpvImageChannelDataTypeUnormInt101010_2 = 16,- SpvImageChannelDataTypeUnsignedIntRaw10EXT = 19,- SpvImageChannelDataTypeUnsignedIntRaw12EXT = 20,- SpvImageChannelDataTypeMax = 0x7fffffff,-} SpvImageChannelDataType;--typedef enum SpvImageOperandsShift_ {- SpvImageOperandsBiasShift = 0,- SpvImageOperandsLodShift = 1,- SpvImageOperandsGradShift = 2,- SpvImageOperandsConstOffsetShift = 3,- SpvImageOperandsOffsetShift = 4,- SpvImageOperandsConstOffsetsShift = 5,- SpvImageOperandsSampleShift = 6,- SpvImageOperandsMinLodShift = 7,- SpvImageOperandsMakeTexelAvailableShift = 8,- SpvImageOperandsMakeTexelAvailableKHRShift = 8,- SpvImageOperandsMakeTexelVisibleShift = 9,- SpvImageOperandsMakeTexelVisibleKHRShift = 9,- SpvImageOperandsNonPrivateTexelShift = 10,- SpvImageOperandsNonPrivateTexelKHRShift = 10,- SpvImageOperandsVolatileTexelShift = 11,- SpvImageOperandsVolatileTexelKHRShift = 11,- SpvImageOperandsSignExtendShift = 12,- SpvImageOperandsZeroExtendShift = 13,- SpvImageOperandsNontemporalShift = 14,- SpvImageOperandsOffsetsShift = 16,- SpvImageOperandsMax = 0x7fffffff,-} SpvImageOperandsShift;--typedef enum SpvImageOperandsMask_ {- SpvImageOperandsMaskNone = 0,- SpvImageOperandsBiasMask = 0x00000001,- SpvImageOperandsLodMask = 0x00000002,- SpvImageOperandsGradMask = 0x00000004,- SpvImageOperandsConstOffsetMask = 0x00000008,- SpvImageOperandsOffsetMask = 0x00000010,- SpvImageOperandsConstOffsetsMask = 0x00000020,- SpvImageOperandsSampleMask = 0x00000040,- SpvImageOperandsMinLodMask = 0x00000080,- SpvImageOperandsMakeTexelAvailableMask = 0x00000100,- SpvImageOperandsMakeTexelAvailableKHRMask = 0x00000100,- SpvImageOperandsMakeTexelVisibleMask = 0x00000200,- SpvImageOperandsMakeTexelVisibleKHRMask = 0x00000200,- SpvImageOperandsNonPrivateTexelMask = 0x00000400,- SpvImageOperandsNonPrivateTexelKHRMask = 0x00000400,- SpvImageOperandsVolatileTexelMask = 0x00000800,- SpvImageOperandsVolatileTexelKHRMask = 0x00000800,- SpvImageOperandsSignExtendMask = 0x00001000,- SpvImageOperandsZeroExtendMask = 0x00002000,- SpvImageOperandsNontemporalMask = 0x00004000,- SpvImageOperandsOffsetsMask = 0x00010000,-} SpvImageOperandsMask;--typedef enum SpvFPFastMathModeShift_ {- SpvFPFastMathModeNotNaNShift = 0,- SpvFPFastMathModeNotInfShift = 1,- SpvFPFastMathModeNSZShift = 2,- SpvFPFastMathModeAllowRecipShift = 3,- SpvFPFastMathModeFastShift = 4,- SpvFPFastMathModeAllowContractFastINTELShift = 16,- SpvFPFastMathModeAllowReassocINTELShift = 17,- SpvFPFastMathModeMax = 0x7fffffff,-} SpvFPFastMathModeShift;--typedef enum SpvFPFastMathModeMask_ {- SpvFPFastMathModeMaskNone = 0,- SpvFPFastMathModeNotNaNMask = 0x00000001,- SpvFPFastMathModeNotInfMask = 0x00000002,- SpvFPFastMathModeNSZMask = 0x00000004,- SpvFPFastMathModeAllowRecipMask = 0x00000008,- SpvFPFastMathModeFastMask = 0x00000010,- SpvFPFastMathModeAllowContractFastINTELMask = 0x00010000,- SpvFPFastMathModeAllowReassocINTELMask = 0x00020000,-} SpvFPFastMathModeMask;--typedef enum SpvFPRoundingMode_ {- SpvFPRoundingModeRTE = 0,- SpvFPRoundingModeRTZ = 1,- SpvFPRoundingModeRTP = 2,- SpvFPRoundingModeRTN = 3,- SpvFPRoundingModeMax = 0x7fffffff,-} SpvFPRoundingMode;--typedef enum SpvLinkageType_ {- SpvLinkageTypeExport = 0,- SpvLinkageTypeImport = 1,- SpvLinkageTypeLinkOnceODR = 2,- SpvLinkageTypeMax = 0x7fffffff,-} SpvLinkageType;--typedef enum SpvAccessQualifier_ {- SpvAccessQualifierReadOnly = 0,- SpvAccessQualifierWriteOnly = 1,- SpvAccessQualifierReadWrite = 2,- SpvAccessQualifierMax = 0x7fffffff,-} SpvAccessQualifier;--typedef enum SpvFunctionParameterAttribute_ {- SpvFunctionParameterAttributeZext = 0,- SpvFunctionParameterAttributeSext = 1,- SpvFunctionParameterAttributeByVal = 2,- SpvFunctionParameterAttributeSret = 3,- SpvFunctionParameterAttributeNoAlias = 4,- SpvFunctionParameterAttributeNoCapture = 5,- SpvFunctionParameterAttributeNoWrite = 6,- SpvFunctionParameterAttributeNoReadWrite = 7,- SpvFunctionParameterAttributeRuntimeAlignedINTEL = 5940,- SpvFunctionParameterAttributeMax = 0x7fffffff,-} SpvFunctionParameterAttribute;--typedef enum SpvDecoration_ {- SpvDecorationRelaxedPrecision = 0,- SpvDecorationSpecId = 1,- SpvDecorationBlock = 2,- SpvDecorationBufferBlock = 3,- SpvDecorationRowMajor = 4,- SpvDecorationColMajor = 5,- SpvDecorationArrayStride = 6,- SpvDecorationMatrixStride = 7,- SpvDecorationGLSLShared = 8,- SpvDecorationGLSLPacked = 9,- SpvDecorationCPacked = 10,- SpvDecorationBuiltIn = 11,- SpvDecorationNoPerspective = 13,- SpvDecorationFlat = 14,- SpvDecorationPatch = 15,- SpvDecorationCentroid = 16,- SpvDecorationSample = 17,- SpvDecorationInvariant = 18,- SpvDecorationRestrict = 19,- SpvDecorationAliased = 20,- SpvDecorationVolatile = 21,- SpvDecorationConstant = 22,- SpvDecorationCoherent = 23,- SpvDecorationNonWritable = 24,- SpvDecorationNonReadable = 25,- SpvDecorationUniform = 26,- SpvDecorationUniformId = 27,- SpvDecorationSaturatedConversion = 28,- SpvDecorationStream = 29,- SpvDecorationLocation = 30,- SpvDecorationComponent = 31,- SpvDecorationIndex = 32,- SpvDecorationBinding = 33,- SpvDecorationDescriptorSet = 34,- SpvDecorationOffset = 35,- SpvDecorationXfbBuffer = 36,- SpvDecorationXfbStride = 37,- SpvDecorationFuncParamAttr = 38,- SpvDecorationFPRoundingMode = 39,- SpvDecorationFPFastMathMode = 40,- SpvDecorationLinkageAttributes = 41,- SpvDecorationNoContraction = 42,- SpvDecorationInputAttachmentIndex = 43,- SpvDecorationAlignment = 44,- SpvDecorationMaxByteOffset = 45,- SpvDecorationAlignmentId = 46,- SpvDecorationMaxByteOffsetId = 47,- SpvDecorationNoSignedWrap = 4469,- SpvDecorationNoUnsignedWrap = 4470,- SpvDecorationWeightTextureQCOM = 4487,- SpvDecorationBlockMatchTextureQCOM = 4488,- SpvDecorationExplicitInterpAMD = 4999,- SpvDecorationOverrideCoverageNV = 5248,- SpvDecorationPassthroughNV = 5250,- SpvDecorationViewportRelativeNV = 5252,- SpvDecorationSecondaryViewportRelativeNV = 5256,- SpvDecorationPerPrimitiveEXT = 5271,- SpvDecorationPerPrimitiveNV = 5271,- SpvDecorationPerViewNV = 5272,- SpvDecorationPerTaskNV = 5273,- SpvDecorationPerVertexKHR = 5285,- SpvDecorationPerVertexNV = 5285,- SpvDecorationNonUniform = 5300,- SpvDecorationNonUniformEXT = 5300,- SpvDecorationRestrictPointer = 5355,- SpvDecorationRestrictPointerEXT = 5355,- SpvDecorationAliasedPointer = 5356,- SpvDecorationAliasedPointerEXT = 5356,- SpvDecorationHitObjectShaderRecordBufferNV = 5386,- 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,- SpvDecorationBankwidthINTEL = 5828,- SpvDecorationMaxPrivateCopiesINTEL = 5829,- SpvDecorationSinglepumpINTEL = 5830,- SpvDecorationDoublepumpINTEL = 5831,- SpvDecorationMaxReplicatesINTEL = 5832,- SpvDecorationSimpleDualPortINTEL = 5833,- SpvDecorationMergeINTEL = 5834,- SpvDecorationBankBitsINTEL = 5835,- SpvDecorationForcePow2DepthINTEL = 5836,- SpvDecorationBurstCoalesceINTEL = 5899,- SpvDecorationCacheSizeINTEL = 5900,- SpvDecorationDontStaticallyCoalesceINTEL = 5901,- SpvDecorationPrefetchINTEL = 5902,- SpvDecorationStallEnableINTEL = 5905,- SpvDecorationFuseLoopsInFunctionINTEL = 5907,- SpvDecorationMathOpDSPModeINTEL = 5909,- SpvDecorationAliasScopeINTEL = 5914,- SpvDecorationNoAliasINTEL = 5915,- SpvDecorationInitiationIntervalINTEL = 5917,- SpvDecorationMaxConcurrencyINTEL = 5918,- SpvDecorationPipelineEnableINTEL = 5919,- SpvDecorationBufferLocationINTEL = 5921,- SpvDecorationIOPipeStorageINTEL = 5944,- SpvDecorationFunctionFloatingPointModeINTEL = 6080,- SpvDecorationSingleElementVectorINTEL = 6085,- SpvDecorationVectorComputeCallableFunctionINTEL = 6087,- SpvDecorationMediaBlockIOINTEL = 6140,- SpvDecorationLatencyControlLabelINTEL = 6172,- SpvDecorationLatencyControlConstraintINTEL = 6173,- SpvDecorationConduitKernelArgumentINTEL = 6175,- SpvDecorationRegisterMapKernelArgumentINTEL = 6176,- SpvDecorationMMHostInterfaceAddressWidthINTEL = 6177,- SpvDecorationMMHostInterfaceDataWidthINTEL = 6178,- SpvDecorationMMHostInterfaceLatencyINTEL = 6179,- SpvDecorationMMHostInterfaceReadWriteModeINTEL = 6180,- SpvDecorationMMHostInterfaceMaxBurstINTEL = 6181,- SpvDecorationMMHostInterfaceWaitRequestINTEL = 6182,- SpvDecorationStableKernelArgumentINTEL = 6183,- SpvDecorationMax = 0x7fffffff,-} SpvDecoration;--typedef enum SpvBuiltIn_ {- SpvBuiltInPosition = 0,- SpvBuiltInPointSize = 1,- SpvBuiltInClipDistance = 3,- SpvBuiltInCullDistance = 4,- SpvBuiltInVertexId = 5,- SpvBuiltInInstanceId = 6,- SpvBuiltInPrimitiveId = 7,- SpvBuiltInInvocationId = 8,- SpvBuiltInLayer = 9,- SpvBuiltInViewportIndex = 10,- SpvBuiltInTessLevelOuter = 11,- SpvBuiltInTessLevelInner = 12,- SpvBuiltInTessCoord = 13,- SpvBuiltInPatchVertices = 14,- SpvBuiltInFragCoord = 15,- SpvBuiltInPointCoord = 16,- SpvBuiltInFrontFacing = 17,- SpvBuiltInSampleId = 18,- SpvBuiltInSamplePosition = 19,- SpvBuiltInSampleMask = 20,- SpvBuiltInFragDepth = 22,- SpvBuiltInHelperInvocation = 23,- SpvBuiltInNumWorkgroups = 24,- SpvBuiltInWorkgroupSize = 25,- SpvBuiltInWorkgroupId = 26,- SpvBuiltInLocalInvocationId = 27,- SpvBuiltInGlobalInvocationId = 28,- SpvBuiltInLocalInvocationIndex = 29,- SpvBuiltInWorkDim = 30,- SpvBuiltInGlobalSize = 31,- SpvBuiltInEnqueuedWorkgroupSize = 32,- SpvBuiltInGlobalOffset = 33,- SpvBuiltInGlobalLinearId = 34,- SpvBuiltInSubgroupSize = 36,- SpvBuiltInSubgroupMaxSize = 37,- SpvBuiltInNumSubgroups = 38,- SpvBuiltInNumEnqueuedSubgroups = 39,- SpvBuiltInSubgroupId = 40,- SpvBuiltInSubgroupLocalInvocationId = 41,- SpvBuiltInVertexIndex = 42,- SpvBuiltInInstanceIndex = 43,- SpvBuiltInCoreIDARM = 4160,- SpvBuiltInCoreCountARM = 4161,- SpvBuiltInCoreMaxIDARM = 4162,- SpvBuiltInWarpIDARM = 4163,- SpvBuiltInWarpMaxIDARM = 4164,- SpvBuiltInSubgroupEqMask = 4416,- SpvBuiltInSubgroupEqMaskKHR = 4416,- SpvBuiltInSubgroupGeMask = 4417,- SpvBuiltInSubgroupGeMaskKHR = 4417,- SpvBuiltInSubgroupGtMask = 4418,- SpvBuiltInSubgroupGtMaskKHR = 4418,- SpvBuiltInSubgroupLeMask = 4419,- SpvBuiltInSubgroupLeMaskKHR = 4419,- SpvBuiltInSubgroupLtMask = 4420,- SpvBuiltInSubgroupLtMaskKHR = 4420,- SpvBuiltInBaseVertex = 4424,- SpvBuiltInBaseInstance = 4425,- SpvBuiltInDrawIndex = 4426,- SpvBuiltInPrimitiveShadingRateKHR = 4432,- SpvBuiltInDeviceIndex = 4438,- SpvBuiltInViewIndex = 4440,- SpvBuiltInShadingRateKHR = 4444,- SpvBuiltInBaryCoordNoPerspAMD = 4992,- SpvBuiltInBaryCoordNoPerspCentroidAMD = 4993,- SpvBuiltInBaryCoordNoPerspSampleAMD = 4994,- SpvBuiltInBaryCoordSmoothAMD = 4995,- SpvBuiltInBaryCoordSmoothCentroidAMD = 4996,- SpvBuiltInBaryCoordSmoothSampleAMD = 4997,- SpvBuiltInBaryCoordPullModelAMD = 4998,- SpvBuiltInFragStencilRefEXT = 5014,- SpvBuiltInViewportMaskNV = 5253,- SpvBuiltInSecondaryPositionNV = 5257,- SpvBuiltInSecondaryViewportMaskNV = 5258,- SpvBuiltInPositionPerViewNV = 5261,- SpvBuiltInViewportMaskPerViewNV = 5262,- SpvBuiltInFullyCoveredEXT = 5264,- SpvBuiltInTaskCountNV = 5274,- SpvBuiltInPrimitiveCountNV = 5275,- SpvBuiltInPrimitiveIndicesNV = 5276,- SpvBuiltInClipDistancePerViewNV = 5277,- SpvBuiltInCullDistancePerViewNV = 5278,- 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,- SpvBuiltInLaunchSizeNV = 5320,- SpvBuiltInWorldRayOriginKHR = 5321,- SpvBuiltInWorldRayOriginNV = 5321,- SpvBuiltInWorldRayDirectionKHR = 5322,- SpvBuiltInWorldRayDirectionNV = 5322,- SpvBuiltInObjectRayOriginKHR = 5323,- SpvBuiltInObjectRayOriginNV = 5323,- SpvBuiltInObjectRayDirectionKHR = 5324,- SpvBuiltInObjectRayDirectionNV = 5324,- SpvBuiltInRayTminKHR = 5325,- SpvBuiltInRayTminNV = 5325,- SpvBuiltInRayTmaxKHR = 5326,- SpvBuiltInRayTmaxNV = 5326,- SpvBuiltInInstanceCustomIndexKHR = 5327,- SpvBuiltInInstanceCustomIndexNV = 5327,- SpvBuiltInObjectToWorldKHR = 5330,- SpvBuiltInObjectToWorldNV = 5330,- SpvBuiltInWorldToObjectKHR = 5331,- SpvBuiltInWorldToObjectNV = 5331,- SpvBuiltInHitTNV = 5332,- SpvBuiltInHitKindKHR = 5333,- SpvBuiltInHitKindNV = 5333,- SpvBuiltInCurrentRayTimeNV = 5334,- SpvBuiltInHitTriangleVertexPositionsKHR = 5335,- SpvBuiltInIncomingRayFlagsKHR = 5351,- SpvBuiltInIncomingRayFlagsNV = 5351,- SpvBuiltInRayGeometryIndexKHR = 5352,- SpvBuiltInWarpsPerSMNV = 5374,- SpvBuiltInSMCountNV = 5375,- SpvBuiltInWarpIDNV = 5376,- SpvBuiltInSMIDNV = 5377,- SpvBuiltInCullMaskKHR = 6021,- SpvBuiltInMax = 0x7fffffff,-} SpvBuiltIn;--typedef enum SpvSelectionControlShift_ {- SpvSelectionControlFlattenShift = 0,- SpvSelectionControlDontFlattenShift = 1,- SpvSelectionControlMax = 0x7fffffff,-} SpvSelectionControlShift;--typedef enum SpvSelectionControlMask_ {- SpvSelectionControlMaskNone = 0,- SpvSelectionControlFlattenMask = 0x00000001,- SpvSelectionControlDontFlattenMask = 0x00000002,-} SpvSelectionControlMask;--typedef enum SpvLoopControlShift_ {- SpvLoopControlUnrollShift = 0,- SpvLoopControlDontUnrollShift = 1,- SpvLoopControlDependencyInfiniteShift = 2,- SpvLoopControlDependencyLengthShift = 3,- SpvLoopControlMinIterationsShift = 4,- SpvLoopControlMaxIterationsShift = 5,- SpvLoopControlIterationMultipleShift = 6,- SpvLoopControlPeelCountShift = 7,- SpvLoopControlPartialCountShift = 8,- SpvLoopControlInitiationIntervalINTELShift = 16,- SpvLoopControlMaxConcurrencyINTELShift = 17,- SpvLoopControlDependencyArrayINTELShift = 18,- SpvLoopControlPipelineEnableINTELShift = 19,- SpvLoopControlLoopCoalesceINTELShift = 20,- SpvLoopControlMaxInterleavingINTELShift = 21,- SpvLoopControlSpeculatedIterationsINTELShift = 22,- SpvLoopControlNoFusionINTELShift = 23,- SpvLoopControlLoopCountINTELShift = 24,- SpvLoopControlMaxReinvocationDelayINTELShift = 25,- SpvLoopControlMax = 0x7fffffff,-} SpvLoopControlShift;--typedef enum SpvLoopControlMask_ {- SpvLoopControlMaskNone = 0,- SpvLoopControlUnrollMask = 0x00000001,- SpvLoopControlDontUnrollMask = 0x00000002,- SpvLoopControlDependencyInfiniteMask = 0x00000004,- SpvLoopControlDependencyLengthMask = 0x00000008,- SpvLoopControlMinIterationsMask = 0x00000010,- SpvLoopControlMaxIterationsMask = 0x00000020,- SpvLoopControlIterationMultipleMask = 0x00000040,- SpvLoopControlPeelCountMask = 0x00000080,- SpvLoopControlPartialCountMask = 0x00000100,- SpvLoopControlInitiationIntervalINTELMask = 0x00010000,- SpvLoopControlMaxConcurrencyINTELMask = 0x00020000,- SpvLoopControlDependencyArrayINTELMask = 0x00040000,- SpvLoopControlPipelineEnableINTELMask = 0x00080000,- SpvLoopControlLoopCoalesceINTELMask = 0x00100000,- SpvLoopControlMaxInterleavingINTELMask = 0x00200000,- SpvLoopControlSpeculatedIterationsINTELMask = 0x00400000,- SpvLoopControlNoFusionINTELMask = 0x00800000,- SpvLoopControlLoopCountINTELMask = 0x01000000,- SpvLoopControlMaxReinvocationDelayINTELMask = 0x02000000,-} SpvLoopControlMask;--typedef enum SpvFunctionControlShift_ {- SpvFunctionControlInlineShift = 0,- SpvFunctionControlDontInlineShift = 1,- SpvFunctionControlPureShift = 2,- SpvFunctionControlConstShift = 3,- SpvFunctionControlOptNoneINTELShift = 16,- SpvFunctionControlMax = 0x7fffffff,-} SpvFunctionControlShift;--typedef enum SpvFunctionControlMask_ {- SpvFunctionControlMaskNone = 0,- SpvFunctionControlInlineMask = 0x00000001,- SpvFunctionControlDontInlineMask = 0x00000002,- SpvFunctionControlPureMask = 0x00000004,- SpvFunctionControlConstMask = 0x00000008,- SpvFunctionControlOptNoneINTELMask = 0x00010000,-} SpvFunctionControlMask;--typedef enum SpvMemorySemanticsShift_ {- SpvMemorySemanticsAcquireShift = 1,- SpvMemorySemanticsReleaseShift = 2,- SpvMemorySemanticsAcquireReleaseShift = 3,- SpvMemorySemanticsSequentiallyConsistentShift = 4,- SpvMemorySemanticsUniformMemoryShift = 6,- SpvMemorySemanticsSubgroupMemoryShift = 7,- SpvMemorySemanticsWorkgroupMemoryShift = 8,- SpvMemorySemanticsCrossWorkgroupMemoryShift = 9,- SpvMemorySemanticsAtomicCounterMemoryShift = 10,- SpvMemorySemanticsImageMemoryShift = 11,- SpvMemorySemanticsOutputMemoryShift = 12,- SpvMemorySemanticsOutputMemoryKHRShift = 12,- SpvMemorySemanticsMakeAvailableShift = 13,- SpvMemorySemanticsMakeAvailableKHRShift = 13,- SpvMemorySemanticsMakeVisibleShift = 14,- SpvMemorySemanticsMakeVisibleKHRShift = 14,- SpvMemorySemanticsVolatileShift = 15,- SpvMemorySemanticsMax = 0x7fffffff,-} SpvMemorySemanticsShift;--typedef enum SpvMemorySemanticsMask_ {- SpvMemorySemanticsMaskNone = 0,- SpvMemorySemanticsAcquireMask = 0x00000002,- SpvMemorySemanticsReleaseMask = 0x00000004,- SpvMemorySemanticsAcquireReleaseMask = 0x00000008,- SpvMemorySemanticsSequentiallyConsistentMask = 0x00000010,- SpvMemorySemanticsUniformMemoryMask = 0x00000040,- SpvMemorySemanticsSubgroupMemoryMask = 0x00000080,- SpvMemorySemanticsWorkgroupMemoryMask = 0x00000100,- SpvMemorySemanticsCrossWorkgroupMemoryMask = 0x00000200,- SpvMemorySemanticsAtomicCounterMemoryMask = 0x00000400,- SpvMemorySemanticsImageMemoryMask = 0x00000800,- SpvMemorySemanticsOutputMemoryMask = 0x00001000,- SpvMemorySemanticsOutputMemoryKHRMask = 0x00001000,- SpvMemorySemanticsMakeAvailableMask = 0x00002000,- SpvMemorySemanticsMakeAvailableKHRMask = 0x00002000,- SpvMemorySemanticsMakeVisibleMask = 0x00004000,- SpvMemorySemanticsMakeVisibleKHRMask = 0x00004000,- SpvMemorySemanticsVolatileMask = 0x00008000,-} SpvMemorySemanticsMask;--typedef enum SpvMemoryAccessShift_ {- SpvMemoryAccessVolatileShift = 0,- SpvMemoryAccessAlignedShift = 1,- SpvMemoryAccessNontemporalShift = 2,- SpvMemoryAccessMakePointerAvailableShift = 3,- SpvMemoryAccessMakePointerAvailableKHRShift = 3,- SpvMemoryAccessMakePointerVisibleShift = 4,- SpvMemoryAccessMakePointerVisibleKHRShift = 4,- SpvMemoryAccessNonPrivatePointerShift = 5,- SpvMemoryAccessNonPrivatePointerKHRShift = 5,- SpvMemoryAccessAliasScopeINTELMaskShift = 16,- SpvMemoryAccessNoAliasINTELMaskShift = 17,- SpvMemoryAccessMax = 0x7fffffff,-} SpvMemoryAccessShift;--typedef enum SpvMemoryAccessMask_ {- SpvMemoryAccessMaskNone = 0,- SpvMemoryAccessVolatileMask = 0x00000001,- SpvMemoryAccessAlignedMask = 0x00000002,- SpvMemoryAccessNontemporalMask = 0x00000004,- SpvMemoryAccessMakePointerAvailableMask = 0x00000008,- SpvMemoryAccessMakePointerAvailableKHRMask = 0x00000008,- SpvMemoryAccessMakePointerVisibleMask = 0x00000010,- SpvMemoryAccessMakePointerVisibleKHRMask = 0x00000010,- SpvMemoryAccessNonPrivatePointerMask = 0x00000020,- SpvMemoryAccessNonPrivatePointerKHRMask = 0x00000020,- SpvMemoryAccessAliasScopeINTELMaskMask = 0x00010000,- SpvMemoryAccessNoAliasINTELMaskMask = 0x00020000,-} SpvMemoryAccessMask;--typedef enum SpvScope_ {- SpvScopeCrossDevice = 0,- SpvScopeDevice = 1,- SpvScopeWorkgroup = 2,- SpvScopeSubgroup = 3,- SpvScopeInvocation = 4,- SpvScopeQueueFamily = 5,- SpvScopeQueueFamilyKHR = 5,- SpvScopeShaderCallKHR = 6,- SpvScopeMax = 0x7fffffff,-} SpvScope;--typedef enum SpvGroupOperation_ {- SpvGroupOperationReduce = 0,- SpvGroupOperationInclusiveScan = 1,- SpvGroupOperationExclusiveScan = 2,- SpvGroupOperationClusteredReduce = 3,- SpvGroupOperationPartitionedReduceNV = 6,- SpvGroupOperationPartitionedInclusiveScanNV = 7,- SpvGroupOperationPartitionedExclusiveScanNV = 8,- SpvGroupOperationMax = 0x7fffffff,-} SpvGroupOperation;--typedef enum SpvKernelEnqueueFlags_ {- SpvKernelEnqueueFlagsNoWait = 0,- SpvKernelEnqueueFlagsWaitKernel = 1,- SpvKernelEnqueueFlagsWaitWorkGroup = 2,- SpvKernelEnqueueFlagsMax = 0x7fffffff,-} SpvKernelEnqueueFlags;--typedef enum SpvKernelProfilingInfoShift_ {- SpvKernelProfilingInfoCmdExecTimeShift = 0,- SpvKernelProfilingInfoMax = 0x7fffffff,-} SpvKernelProfilingInfoShift;--typedef enum SpvKernelProfilingInfoMask_ {- SpvKernelProfilingInfoMaskNone = 0,- SpvKernelProfilingInfoCmdExecTimeMask = 0x00000001,-} SpvKernelProfilingInfoMask;--typedef enum SpvCapability_ {- SpvCapabilityMatrix = 0,- SpvCapabilityShader = 1,- SpvCapabilityGeometry = 2,- SpvCapabilityTessellation = 3,- SpvCapabilityAddresses = 4,- SpvCapabilityLinkage = 5,- SpvCapabilityKernel = 6,- SpvCapabilityVector16 = 7,- SpvCapabilityFloat16Buffer = 8,- SpvCapabilityFloat16 = 9,- SpvCapabilityFloat64 = 10,- SpvCapabilityInt64 = 11,- SpvCapabilityInt64Atomics = 12,- SpvCapabilityImageBasic = 13,- SpvCapabilityImageReadWrite = 14,- SpvCapabilityImageMipmap = 15,- SpvCapabilityPipes = 17,- SpvCapabilityGroups = 18,- SpvCapabilityDeviceEnqueue = 19,- SpvCapabilityLiteralSampler = 20,- SpvCapabilityAtomicStorage = 21,- SpvCapabilityInt16 = 22,- SpvCapabilityTessellationPointSize = 23,- SpvCapabilityGeometryPointSize = 24,- SpvCapabilityImageGatherExtended = 25,- SpvCapabilityStorageImageMultisample = 27,- SpvCapabilityUniformBufferArrayDynamicIndexing = 28,- SpvCapabilitySampledImageArrayDynamicIndexing = 29,- SpvCapabilityStorageBufferArrayDynamicIndexing = 30,- SpvCapabilityStorageImageArrayDynamicIndexing = 31,- SpvCapabilityClipDistance = 32,- SpvCapabilityCullDistance = 33,- SpvCapabilityImageCubeArray = 34,- SpvCapabilitySampleRateShading = 35,- SpvCapabilityImageRect = 36,- SpvCapabilitySampledRect = 37,- SpvCapabilityGenericPointer = 38,- SpvCapabilityInt8 = 39,- SpvCapabilityInputAttachment = 40,- SpvCapabilitySparseResidency = 41,- SpvCapabilityMinLod = 42,- SpvCapabilitySampled1D = 43,- SpvCapabilityImage1D = 44,- SpvCapabilitySampledCubeArray = 45,- SpvCapabilitySampledBuffer = 46,- SpvCapabilityImageBuffer = 47,- SpvCapabilityImageMSArray = 48,- SpvCapabilityStorageImageExtendedFormats = 49,- SpvCapabilityImageQuery = 50,- SpvCapabilityDerivativeControl = 51,- SpvCapabilityInterpolationFunction = 52,- SpvCapabilityTransformFeedback = 53,- SpvCapabilityGeometryStreams = 54,- SpvCapabilityStorageImageReadWithoutFormat = 55,- SpvCapabilityStorageImageWriteWithoutFormat = 56,- SpvCapabilityMultiViewport = 57,- SpvCapabilitySubgroupDispatch = 58,- SpvCapabilityNamedBarrier = 59,- SpvCapabilityPipeStorage = 60,- SpvCapabilityGroupNonUniform = 61,- SpvCapabilityGroupNonUniformVote = 62,- SpvCapabilityGroupNonUniformArithmetic = 63,- SpvCapabilityGroupNonUniformBallot = 64,- SpvCapabilityGroupNonUniformShuffle = 65,- SpvCapabilityGroupNonUniformShuffleRelative = 66,- SpvCapabilityGroupNonUniformClustered = 67,- SpvCapabilityGroupNonUniformQuad = 68,- SpvCapabilityShaderLayer = 69,- SpvCapabilityShaderViewportIndex = 70,- SpvCapabilityUniformDecoration = 71,- SpvCapabilityCoreBuiltinsARM = 4165,- SpvCapabilityTileImageColorReadAccessEXT = 4166,- SpvCapabilityTileImageDepthReadAccessEXT = 4167,- SpvCapabilityTileImageStencilReadAccessEXT = 4168,- SpvCapabilityFragmentShadingRateKHR = 4422,- SpvCapabilitySubgroupBallotKHR = 4423,- SpvCapabilityDrawParameters = 4427,- SpvCapabilityWorkgroupMemoryExplicitLayoutKHR = 4428,- SpvCapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,- SpvCapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,- SpvCapabilitySubgroupVoteKHR = 4431,- SpvCapabilityStorageBuffer16BitAccess = 4433,- SpvCapabilityStorageUniformBufferBlock16 = 4433,- SpvCapabilityStorageUniform16 = 4434,- SpvCapabilityUniformAndStorageBuffer16BitAccess = 4434,- SpvCapabilityStoragePushConstant16 = 4435,- SpvCapabilityStorageInputOutput16 = 4436,- SpvCapabilityDeviceGroup = 4437,- SpvCapabilityMultiView = 4439,- SpvCapabilityVariablePointersStorageBuffer = 4441,- SpvCapabilityVariablePointers = 4442,- SpvCapabilityAtomicStorageOps = 4445,- SpvCapabilitySampleMaskPostDepthCoverage = 4447,- SpvCapabilityStorageBuffer8BitAccess = 4448,- SpvCapabilityUniformAndStorageBuffer8BitAccess = 4449,- SpvCapabilityStoragePushConstant8 = 4450,- SpvCapabilityDenormPreserve = 4464,- SpvCapabilityDenormFlushToZero = 4465,- SpvCapabilitySignedZeroInfNanPreserve = 4466,- SpvCapabilityRoundingModeRTE = 4467,- SpvCapabilityRoundingModeRTZ = 4468,- SpvCapabilityRayQueryProvisionalKHR = 4471,- SpvCapabilityRayQueryKHR = 4472,- SpvCapabilityRayTraversalPrimitiveCullingKHR = 4478,- SpvCapabilityRayTracingKHR = 4479,- SpvCapabilityTextureSampleWeightedQCOM = 4484,- SpvCapabilityTextureBoxFilterQCOM = 4485,- SpvCapabilityTextureBlockMatchQCOM = 4486,- SpvCapabilityFloat16ImageAMD = 5008,- SpvCapabilityImageGatherBiasLodAMD = 5009,- SpvCapabilityFragmentMaskAMD = 5010,- SpvCapabilityStencilExportEXT = 5013,- SpvCapabilityImageReadWriteLodAMD = 5015,- SpvCapabilityInt64ImageEXT = 5016,- SpvCapabilityShaderClockKHR = 5055,- SpvCapabilitySampleMaskOverrideCoverageNV = 5249,- SpvCapabilityGeometryShaderPassthroughNV = 5251,- SpvCapabilityShaderViewportIndexLayerEXT = 5254,- SpvCapabilityShaderViewportIndexLayerNV = 5254,- SpvCapabilityShaderViewportMaskNV = 5255,- SpvCapabilityShaderStereoViewNV = 5259,- SpvCapabilityPerViewAttributesNV = 5260,- SpvCapabilityFragmentFullyCoveredEXT = 5265,- SpvCapabilityMeshShadingNV = 5266,- SpvCapabilityImageFootprintNV = 5282,- SpvCapabilityMeshShadingEXT = 5283,- SpvCapabilityFragmentBarycentricKHR = 5284,- SpvCapabilityFragmentBarycentricNV = 5284,- SpvCapabilityComputeDerivativeGroupQuadsNV = 5288,- SpvCapabilityFragmentDensityEXT = 5291,- SpvCapabilityShadingRateNV = 5291,- SpvCapabilityGroupNonUniformPartitionedNV = 5297,- SpvCapabilityShaderNonUniform = 5301,- SpvCapabilityShaderNonUniformEXT = 5301,- SpvCapabilityRuntimeDescriptorArray = 5302,- SpvCapabilityRuntimeDescriptorArrayEXT = 5302,- SpvCapabilityInputAttachmentArrayDynamicIndexing = 5303,- SpvCapabilityInputAttachmentArrayDynamicIndexingEXT = 5303,- SpvCapabilityUniformTexelBufferArrayDynamicIndexing = 5304,- SpvCapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304,- SpvCapabilityStorageTexelBufferArrayDynamicIndexing = 5305,- SpvCapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305,- SpvCapabilityUniformBufferArrayNonUniformIndexing = 5306,- SpvCapabilityUniformBufferArrayNonUniformIndexingEXT = 5306,- SpvCapabilitySampledImageArrayNonUniformIndexing = 5307,- SpvCapabilitySampledImageArrayNonUniformIndexingEXT = 5307,- SpvCapabilityStorageBufferArrayNonUniformIndexing = 5308,- SpvCapabilityStorageBufferArrayNonUniformIndexingEXT = 5308,- SpvCapabilityStorageImageArrayNonUniformIndexing = 5309,- SpvCapabilityStorageImageArrayNonUniformIndexingEXT = 5309,- SpvCapabilityInputAttachmentArrayNonUniformIndexing = 5310,- SpvCapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,- SpvCapabilityUniformTexelBufferArrayNonUniformIndexing = 5311,- SpvCapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,- SpvCapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,- SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,- SpvCapabilityRayTracingPositionFetchKHR = 5336,- SpvCapabilityRayTracingNV = 5340,- SpvCapabilityRayTracingMotionBlurNV = 5341,- SpvCapabilityVulkanMemoryModel = 5345,- SpvCapabilityVulkanMemoryModelKHR = 5345,- SpvCapabilityVulkanMemoryModelDeviceScope = 5346,- SpvCapabilityVulkanMemoryModelDeviceScopeKHR = 5346,- SpvCapabilityPhysicalStorageBufferAddresses = 5347,- SpvCapabilityPhysicalStorageBufferAddressesEXT = 5347,- SpvCapabilityComputeDerivativeGroupLinearNV = 5350,- SpvCapabilityRayTracingProvisionalKHR = 5353,- SpvCapabilityCooperativeMatrixNV = 5357,- SpvCapabilityFragmentShaderSampleInterlockEXT = 5363,- SpvCapabilityFragmentShaderShadingRateInterlockEXT = 5372,- SpvCapabilityShaderSMBuiltinsNV = 5373,- SpvCapabilityFragmentShaderPixelInterlockEXT = 5378,- SpvCapabilityDemoteToHelperInvocation = 5379,- SpvCapabilityDemoteToHelperInvocationEXT = 5379,- SpvCapabilityRayTracingOpacityMicromapEXT = 5381,- SpvCapabilityShaderInvocationReorderNV = 5383,- SpvCapabilityBindlessTextureNV = 5390,- SpvCapabilityRayQueryPositionFetchKHR = 5391,- 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,- SpvCapabilityFPGADSPControlINTEL = 5908,- SpvCapabilityMemoryAccessAliasingINTEL = 5910,- SpvCapabilityFPGAInvocationPipeliningAttributesINTEL = 5916,- SpvCapabilityFPGABufferLocationINTEL = 5920,- SpvCapabilityArbitraryPrecisionFixedPointINTEL = 5922,- SpvCapabilityUSMStorageClassesINTEL = 5935,- SpvCapabilityRuntimeAlignedAttributeINTEL = 5939,- SpvCapabilityIOPipesINTEL = 5943,- SpvCapabilityBlockingPipesINTEL = 5945,- SpvCapabilityFPGARegINTEL = 5948,- SpvCapabilityDotProductInputAll = 6016,- SpvCapabilityDotProductInputAllKHR = 6016,- SpvCapabilityDotProductInput4x8Bit = 6017,- SpvCapabilityDotProductInput4x8BitKHR = 6017,- SpvCapabilityDotProductInput4x8BitPacked = 6018,- SpvCapabilityDotProductInput4x8BitPackedKHR = 6018,- SpvCapabilityDotProduct = 6019,- SpvCapabilityDotProductKHR = 6019,- SpvCapabilityRayCullMaskKHR = 6020,- SpvCapabilityCooperativeMatrixKHR = 6022,- SpvCapabilityBitInstructions = 6025,- SpvCapabilityGroupNonUniformRotateKHR = 6026,- SpvCapabilityAtomicFloat32AddEXT = 6033,- SpvCapabilityAtomicFloat64AddEXT = 6034,- SpvCapabilityLongConstantCompositeINTEL = 6089,- SpvCapabilityOptNoneINTEL = 6094,- SpvCapabilityAtomicFloat16AddEXT = 6095,- SpvCapabilityDebugInfoModuleINTEL = 6114,- SpvCapabilityBFloat16ConversionINTEL = 6115,- SpvCapabilitySplitBarrierINTEL = 6141,- SpvCapabilityFPGAKernelAttributesv2INTEL = 6161,- SpvCapabilityFPGALatencyControlINTEL = 6171,- SpvCapabilityFPGAArgumentInterfacesINTEL = 6174,- SpvCapabilityGroupUniformArithmeticKHR = 6400,- SpvCapabilityMax = 0x7fffffff,-} SpvCapability;--typedef enum SpvRayFlagsShift_ {- SpvRayFlagsOpaqueKHRShift = 0,- SpvRayFlagsNoOpaqueKHRShift = 1,- SpvRayFlagsTerminateOnFirstHitKHRShift = 2,- SpvRayFlagsSkipClosestHitShaderKHRShift = 3,- SpvRayFlagsCullBackFacingTrianglesKHRShift = 4,- SpvRayFlagsCullFrontFacingTrianglesKHRShift = 5,- SpvRayFlagsCullOpaqueKHRShift = 6,- SpvRayFlagsCullNoOpaqueKHRShift = 7,- SpvRayFlagsSkipTrianglesKHRShift = 8,- SpvRayFlagsSkipAABBsKHRShift = 9,- SpvRayFlagsForceOpacityMicromap2StateEXTShift = 10,- SpvRayFlagsMax = 0x7fffffff,-} SpvRayFlagsShift;--typedef enum SpvRayFlagsMask_ {- SpvRayFlagsMaskNone = 0,- SpvRayFlagsOpaqueKHRMask = 0x00000001,- SpvRayFlagsNoOpaqueKHRMask = 0x00000002,- SpvRayFlagsTerminateOnFirstHitKHRMask = 0x00000004,- SpvRayFlagsSkipClosestHitShaderKHRMask = 0x00000008,- SpvRayFlagsCullBackFacingTrianglesKHRMask = 0x00000010,- SpvRayFlagsCullFrontFacingTrianglesKHRMask = 0x00000020,- SpvRayFlagsCullOpaqueKHRMask = 0x00000040,- SpvRayFlagsCullNoOpaqueKHRMask = 0x00000080,- SpvRayFlagsSkipTrianglesKHRMask = 0x00000100,- SpvRayFlagsSkipAABBsKHRMask = 0x00000200,- SpvRayFlagsForceOpacityMicromap2StateEXTMask = 0x00000400,-} SpvRayFlagsMask;--typedef enum SpvRayQueryIntersection_ {- SpvRayQueryIntersectionRayQueryCandidateIntersectionKHR = 0,- SpvRayQueryIntersectionRayQueryCommittedIntersectionKHR = 1,- SpvRayQueryIntersectionMax = 0x7fffffff,-} SpvRayQueryIntersection;--typedef enum SpvRayQueryCommittedIntersectionType_ {- SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR = 0,- SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR =- 1,- SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR =- 2,- SpvRayQueryCommittedIntersectionTypeMax = 0x7fffffff,-} SpvRayQueryCommittedIntersectionType;--typedef enum SpvRayQueryCandidateIntersectionType_ {- SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR =- 0,- SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR = 1,- SpvRayQueryCandidateIntersectionTypeMax = 0x7fffffff,-} SpvRayQueryCandidateIntersectionType;--typedef enum SpvFragmentShadingRateShift_ {- SpvFragmentShadingRateVertical2PixelsShift = 0,- SpvFragmentShadingRateVertical4PixelsShift = 1,- SpvFragmentShadingRateHorizontal2PixelsShift = 2,- SpvFragmentShadingRateHorizontal4PixelsShift = 3,- SpvFragmentShadingRateMax = 0x7fffffff,-} SpvFragmentShadingRateShift;--typedef enum SpvFragmentShadingRateMask_ {- SpvFragmentShadingRateMaskNone = 0,- SpvFragmentShadingRateVertical2PixelsMask = 0x00000001,- SpvFragmentShadingRateVertical4PixelsMask = 0x00000002,- SpvFragmentShadingRateHorizontal2PixelsMask = 0x00000004,- 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 SpvCooperativeMatrixOperandsShift_ {- SpvCooperativeMatrixOperandsMatrixASignedComponentsShift = 0,- SpvCooperativeMatrixOperandsMatrixBSignedComponentsShift = 1,- SpvCooperativeMatrixOperandsMatrixCSignedComponentsShift = 2,- SpvCooperativeMatrixOperandsMatrixResultSignedComponentsShift = 3,- SpvCooperativeMatrixOperandsSaturatingAccumulationShift = 4,- SpvCooperativeMatrixOperandsMax = 0x7fffffff,-} SpvCooperativeMatrixOperandsShift;--typedef enum SpvCooperativeMatrixOperandsMask_ {- SpvCooperativeMatrixOperandsMaskNone = 0,- SpvCooperativeMatrixOperandsMatrixASignedComponentsMask = 0x00000001,- SpvCooperativeMatrixOperandsMatrixBSignedComponentsMask = 0x00000002,- SpvCooperativeMatrixOperandsMatrixCSignedComponentsMask = 0x00000004,- SpvCooperativeMatrixOperandsMatrixResultSignedComponentsMask = 0x00000008,- SpvCooperativeMatrixOperandsSaturatingAccumulationMask = 0x00000010,-} SpvCooperativeMatrixOperandsMask;--typedef enum SpvCooperativeMatrixLayout_ {- SpvCooperativeMatrixLayoutRowMajorKHR = 0,- SpvCooperativeMatrixLayoutColumnMajorKHR = 1,- SpvCooperativeMatrixLayoutMax = 0x7fffffff,-} SpvCooperativeMatrixLayout;--typedef enum SpvCooperativeMatrixUse_ {- SpvCooperativeMatrixUseMatrixAKHR = 0,- SpvCooperativeMatrixUseMatrixBKHR = 1,- SpvCooperativeMatrixUseMatrixAccumulatorKHR = 2,- SpvCooperativeMatrixUseMax = 0x7fffffff,-} SpvCooperativeMatrixUse;--typedef enum SpvOp_ {- SpvOpNop = 0,- SpvOpUndef = 1,- SpvOpSourceContinued = 2,- SpvOpSource = 3,- SpvOpSourceExtension = 4,- SpvOpName = 5,- SpvOpMemberName = 6,- SpvOpString = 7,- SpvOpLine = 8,- SpvOpExtension = 10,- SpvOpExtInstImport = 11,- SpvOpExtInst = 12,- SpvOpMemoryModel = 14,- SpvOpEntryPoint = 15,- SpvOpExecutionMode = 16,- SpvOpCapability = 17,- SpvOpTypeVoid = 19,- SpvOpTypeBool = 20,- SpvOpTypeInt = 21,- SpvOpTypeFloat = 22,- SpvOpTypeVector = 23,- SpvOpTypeMatrix = 24,- SpvOpTypeImage = 25,- SpvOpTypeSampler = 26,- SpvOpTypeSampledImage = 27,- SpvOpTypeArray = 28,- SpvOpTypeRuntimeArray = 29,- SpvOpTypeStruct = 30,- SpvOpTypeOpaque = 31,- SpvOpTypePointer = 32,- SpvOpTypeFunction = 33,- SpvOpTypeEvent = 34,- SpvOpTypeDeviceEvent = 35,- SpvOpTypeReserveId = 36,- SpvOpTypeQueue = 37,- SpvOpTypePipe = 38,- SpvOpTypeForwardPointer = 39,- SpvOpConstantTrue = 41,- SpvOpConstantFalse = 42,- SpvOpConstant = 43,- SpvOpConstantComposite = 44,- SpvOpConstantSampler = 45,- SpvOpConstantNull = 46,- SpvOpSpecConstantTrue = 48,- SpvOpSpecConstantFalse = 49,- SpvOpSpecConstant = 50,- SpvOpSpecConstantComposite = 51,- SpvOpSpecConstantOp = 52,- SpvOpFunction = 54,- SpvOpFunctionParameter = 55,- SpvOpFunctionEnd = 56,- SpvOpFunctionCall = 57,- SpvOpVariable = 59,- SpvOpImageTexelPointer = 60,- SpvOpLoad = 61,- SpvOpStore = 62,- SpvOpCopyMemory = 63,- SpvOpCopyMemorySized = 64,- SpvOpAccessChain = 65,- SpvOpInBoundsAccessChain = 66,- SpvOpPtrAccessChain = 67,- SpvOpArrayLength = 68,- SpvOpGenericPtrMemSemantics = 69,- SpvOpInBoundsPtrAccessChain = 70,- SpvOpDecorate = 71,- SpvOpMemberDecorate = 72,- SpvOpDecorationGroup = 73,- SpvOpGroupDecorate = 74,- SpvOpGroupMemberDecorate = 75,- SpvOpVectorExtractDynamic = 77,- SpvOpVectorInsertDynamic = 78,- SpvOpVectorShuffle = 79,- SpvOpCompositeConstruct = 80,- SpvOpCompositeExtract = 81,- SpvOpCompositeInsert = 82,- SpvOpCopyObject = 83,- SpvOpTranspose = 84,- SpvOpSampledImage = 86,- SpvOpImageSampleImplicitLod = 87,- SpvOpImageSampleExplicitLod = 88,- SpvOpImageSampleDrefImplicitLod = 89,- SpvOpImageSampleDrefExplicitLod = 90,- SpvOpImageSampleProjImplicitLod = 91,- SpvOpImageSampleProjExplicitLod = 92,- SpvOpImageSampleProjDrefImplicitLod = 93,- SpvOpImageSampleProjDrefExplicitLod = 94,- SpvOpImageFetch = 95,- SpvOpImageGather = 96,- SpvOpImageDrefGather = 97,- SpvOpImageRead = 98,- SpvOpImageWrite = 99,- SpvOpImage = 100,- SpvOpImageQueryFormat = 101,- SpvOpImageQueryOrder = 102,- SpvOpImageQuerySizeLod = 103,- SpvOpImageQuerySize = 104,- SpvOpImageQueryLod = 105,- SpvOpImageQueryLevels = 106,- SpvOpImageQuerySamples = 107,- SpvOpConvertFToU = 109,- SpvOpConvertFToS = 110,- SpvOpConvertSToF = 111,- SpvOpConvertUToF = 112,- SpvOpUConvert = 113,- SpvOpSConvert = 114,- SpvOpFConvert = 115,- SpvOpQuantizeToF16 = 116,- SpvOpConvertPtrToU = 117,- SpvOpSatConvertSToU = 118,- SpvOpSatConvertUToS = 119,- SpvOpConvertUToPtr = 120,- SpvOpPtrCastToGeneric = 121,- SpvOpGenericCastToPtr = 122,- SpvOpGenericCastToPtrExplicit = 123,- SpvOpBitcast = 124,- SpvOpSNegate = 126,- SpvOpFNegate = 127,- SpvOpIAdd = 128,- SpvOpFAdd = 129,- SpvOpISub = 130,- SpvOpFSub = 131,- SpvOpIMul = 132,- SpvOpFMul = 133,- SpvOpUDiv = 134,- SpvOpSDiv = 135,- SpvOpFDiv = 136,- SpvOpUMod = 137,- SpvOpSRem = 138,- SpvOpSMod = 139,- SpvOpFRem = 140,- SpvOpFMod = 141,- SpvOpVectorTimesScalar = 142,- SpvOpMatrixTimesScalar = 143,- SpvOpVectorTimesMatrix = 144,- SpvOpMatrixTimesVector = 145,- SpvOpMatrixTimesMatrix = 146,- SpvOpOuterProduct = 147,- SpvOpDot = 148,- SpvOpIAddCarry = 149,- SpvOpISubBorrow = 150,- SpvOpUMulExtended = 151,- SpvOpSMulExtended = 152,- SpvOpAny = 154,- SpvOpAll = 155,- SpvOpIsNan = 156,- SpvOpIsInf = 157,- SpvOpIsFinite = 158,- SpvOpIsNormal = 159,- SpvOpSignBitSet = 160,- SpvOpLessOrGreater = 161,- SpvOpOrdered = 162,- SpvOpUnordered = 163,- SpvOpLogicalEqual = 164,- SpvOpLogicalNotEqual = 165,- SpvOpLogicalOr = 166,- SpvOpLogicalAnd = 167,- SpvOpLogicalNot = 168,- SpvOpSelect = 169,- SpvOpIEqual = 170,- SpvOpINotEqual = 171,- SpvOpUGreaterThan = 172,- SpvOpSGreaterThan = 173,- SpvOpUGreaterThanEqual = 174,- SpvOpSGreaterThanEqual = 175,- SpvOpULessThan = 176,- SpvOpSLessThan = 177,- SpvOpULessThanEqual = 178,- SpvOpSLessThanEqual = 179,- SpvOpFOrdEqual = 180,- SpvOpFUnordEqual = 181,- SpvOpFOrdNotEqual = 182,- SpvOpFUnordNotEqual = 183,- SpvOpFOrdLessThan = 184,- SpvOpFUnordLessThan = 185,- SpvOpFOrdGreaterThan = 186,- SpvOpFUnordGreaterThan = 187,- SpvOpFOrdLessThanEqual = 188,- SpvOpFUnordLessThanEqual = 189,- SpvOpFOrdGreaterThanEqual = 190,- SpvOpFUnordGreaterThanEqual = 191,- SpvOpShiftRightLogical = 194,- SpvOpShiftRightArithmetic = 195,- SpvOpShiftLeftLogical = 196,- SpvOpBitwiseOr = 197,- SpvOpBitwiseXor = 198,- SpvOpBitwiseAnd = 199,- SpvOpNot = 200,- SpvOpBitFieldInsert = 201,- SpvOpBitFieldSExtract = 202,- SpvOpBitFieldUExtract = 203,- SpvOpBitReverse = 204,- SpvOpBitCount = 205,- SpvOpDPdx = 207,- SpvOpDPdy = 208,- SpvOpFwidth = 209,- SpvOpDPdxFine = 210,- SpvOpDPdyFine = 211,- SpvOpFwidthFine = 212,- SpvOpDPdxCoarse = 213,- SpvOpDPdyCoarse = 214,- SpvOpFwidthCoarse = 215,- SpvOpEmitVertex = 218,- SpvOpEndPrimitive = 219,- SpvOpEmitStreamVertex = 220,- SpvOpEndStreamPrimitive = 221,- SpvOpControlBarrier = 224,- SpvOpMemoryBarrier = 225,- SpvOpAtomicLoad = 227,- SpvOpAtomicStore = 228,- SpvOpAtomicExchange = 229,- SpvOpAtomicCompareExchange = 230,- SpvOpAtomicCompareExchangeWeak = 231,- SpvOpAtomicIIncrement = 232,- SpvOpAtomicIDecrement = 233,- SpvOpAtomicIAdd = 234,- SpvOpAtomicISub = 235,- SpvOpAtomicSMin = 236,- SpvOpAtomicUMin = 237,- SpvOpAtomicSMax = 238,- SpvOpAtomicUMax = 239,- SpvOpAtomicAnd = 240,- SpvOpAtomicOr = 241,- SpvOpAtomicXor = 242,- SpvOpPhi = 245,- SpvOpLoopMerge = 246,- SpvOpSelectionMerge = 247,- SpvOpLabel = 248,- SpvOpBranch = 249,- SpvOpBranchConditional = 250,- SpvOpSwitch = 251,- SpvOpKill = 252,- SpvOpReturn = 253,- SpvOpReturnValue = 254,- SpvOpUnreachable = 255,- SpvOpLifetimeStart = 256,- SpvOpLifetimeStop = 257,- SpvOpGroupAsyncCopy = 259,- SpvOpGroupWaitEvents = 260,- SpvOpGroupAll = 261,- SpvOpGroupAny = 262,- SpvOpGroupBroadcast = 263,- SpvOpGroupIAdd = 264,- SpvOpGroupFAdd = 265,- SpvOpGroupFMin = 266,- SpvOpGroupUMin = 267,- SpvOpGroupSMin = 268,- SpvOpGroupFMax = 269,- SpvOpGroupUMax = 270,- SpvOpGroupSMax = 271,- SpvOpReadPipe = 274,- SpvOpWritePipe = 275,- SpvOpReservedReadPipe = 276,- SpvOpReservedWritePipe = 277,- SpvOpReserveReadPipePackets = 278,- SpvOpReserveWritePipePackets = 279,- SpvOpCommitReadPipe = 280,- SpvOpCommitWritePipe = 281,- SpvOpIsValidReserveId = 282,- SpvOpGetNumPipePackets = 283,- SpvOpGetMaxPipePackets = 284,- SpvOpGroupReserveReadPipePackets = 285,- SpvOpGroupReserveWritePipePackets = 286,- SpvOpGroupCommitReadPipe = 287,- SpvOpGroupCommitWritePipe = 288,- SpvOpEnqueueMarker = 291,- SpvOpEnqueueKernel = 292,- SpvOpGetKernelNDrangeSubGroupCount = 293,- SpvOpGetKernelNDrangeMaxSubGroupSize = 294,- SpvOpGetKernelWorkGroupSize = 295,- SpvOpGetKernelPreferredWorkGroupSizeMultiple = 296,- SpvOpRetainEvent = 297,- SpvOpReleaseEvent = 298,- SpvOpCreateUserEvent = 299,- SpvOpIsValidEvent = 300,- SpvOpSetUserEventStatus = 301,- SpvOpCaptureEventProfilingInfo = 302,- SpvOpGetDefaultQueue = 303,- SpvOpBuildNDRange = 304,- SpvOpImageSparseSampleImplicitLod = 305,- SpvOpImageSparseSampleExplicitLod = 306,- SpvOpImageSparseSampleDrefImplicitLod = 307,- SpvOpImageSparseSampleDrefExplicitLod = 308,- SpvOpImageSparseSampleProjImplicitLod = 309,- SpvOpImageSparseSampleProjExplicitLod = 310,- SpvOpImageSparseSampleProjDrefImplicitLod = 311,- SpvOpImageSparseSampleProjDrefExplicitLod = 312,- SpvOpImageSparseFetch = 313,- SpvOpImageSparseGather = 314,- SpvOpImageSparseDrefGather = 315,- SpvOpImageSparseTexelsResident = 316,- SpvOpNoLine = 317,- SpvOpAtomicFlagTestAndSet = 318,- SpvOpAtomicFlagClear = 319,- SpvOpImageSparseRead = 320,- SpvOpSizeOf = 321,- SpvOpTypePipeStorage = 322,- SpvOpConstantPipeStorage = 323,- SpvOpCreatePipeFromPipeStorage = 324,- SpvOpGetKernelLocalSizeForSubgroupCount = 325,- SpvOpGetKernelMaxNumSubgroups = 326,- SpvOpTypeNamedBarrier = 327,- SpvOpNamedBarrierInitialize = 328,- SpvOpMemoryNamedBarrier = 329,- SpvOpModuleProcessed = 330,- SpvOpExecutionModeId = 331,- SpvOpDecorateId = 332,- SpvOpGroupNonUniformElect = 333,- SpvOpGroupNonUniformAll = 334,- SpvOpGroupNonUniformAny = 335,- SpvOpGroupNonUniformAllEqual = 336,- SpvOpGroupNonUniformBroadcast = 337,- SpvOpGroupNonUniformBroadcastFirst = 338,- SpvOpGroupNonUniformBallot = 339,- SpvOpGroupNonUniformInverseBallot = 340,- SpvOpGroupNonUniformBallotBitExtract = 341,- SpvOpGroupNonUniformBallotBitCount = 342,- SpvOpGroupNonUniformBallotFindLSB = 343,- SpvOpGroupNonUniformBallotFindMSB = 344,- SpvOpGroupNonUniformShuffle = 345,- SpvOpGroupNonUniformShuffleXor = 346,- SpvOpGroupNonUniformShuffleUp = 347,- SpvOpGroupNonUniformShuffleDown = 348,- SpvOpGroupNonUniformIAdd = 349,- SpvOpGroupNonUniformFAdd = 350,- SpvOpGroupNonUniformIMul = 351,- SpvOpGroupNonUniformFMul = 352,- SpvOpGroupNonUniformSMin = 353,- SpvOpGroupNonUniformUMin = 354,- SpvOpGroupNonUniformFMin = 355,- SpvOpGroupNonUniformSMax = 356,- SpvOpGroupNonUniformUMax = 357,- SpvOpGroupNonUniformFMax = 358,- SpvOpGroupNonUniformBitwiseAnd = 359,- SpvOpGroupNonUniformBitwiseOr = 360,- SpvOpGroupNonUniformBitwiseXor = 361,- SpvOpGroupNonUniformLogicalAnd = 362,- SpvOpGroupNonUniformLogicalOr = 363,- SpvOpGroupNonUniformLogicalXor = 364,- SpvOpGroupNonUniformQuadBroadcast = 365,- SpvOpGroupNonUniformQuadSwap = 366,- SpvOpCopyLogical = 400,- SpvOpPtrEqual = 401,- SpvOpPtrNotEqual = 402,- SpvOpPtrDiff = 403,- SpvOpColorAttachmentReadEXT = 4160,- SpvOpDepthAttachmentReadEXT = 4161,- SpvOpStencilAttachmentReadEXT = 4162,- SpvOpTerminateInvocation = 4416,- SpvOpSubgroupBallotKHR = 4421,- SpvOpSubgroupFirstInvocationKHR = 4422,- 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,- SpvOpTypeCooperativeMatrixKHR = 4456,- SpvOpCooperativeMatrixLoadKHR = 4457,- SpvOpCooperativeMatrixStoreKHR = 4458,- SpvOpCooperativeMatrixMulAddKHR = 4459,- SpvOpCooperativeMatrixLengthKHR = 4460,- SpvOpTypeRayQueryKHR = 4472,- SpvOpRayQueryInitializeKHR = 4473,- SpvOpRayQueryTerminateKHR = 4474,- SpvOpRayQueryGenerateIntersectionKHR = 4475,- SpvOpRayQueryConfirmIntersectionKHR = 4476,- SpvOpRayQueryProceedKHR = 4477,- SpvOpRayQueryGetIntersectionTypeKHR = 4479,- SpvOpImageSampleWeightedQCOM = 4480,- SpvOpImageBoxFilterQCOM = 4481,- SpvOpImageBlockMatchSSDQCOM = 4482,- SpvOpImageBlockMatchSADQCOM = 4483,- SpvOpGroupIAddNonUniformAMD = 5000,- SpvOpGroupFAddNonUniformAMD = 5001,- SpvOpGroupFMinNonUniformAMD = 5002,- SpvOpGroupUMinNonUniformAMD = 5003,- SpvOpGroupSMinNonUniformAMD = 5004,- SpvOpGroupFMaxNonUniformAMD = 5005,- SpvOpGroupUMaxNonUniformAMD = 5006,- SpvOpGroupSMaxNonUniformAMD = 5007,- SpvOpFragmentMaskFetchAMD = 5011,- SpvOpFragmentFetchAMD = 5012,- SpvOpReadClockKHR = 5056,- SpvOpHitObjectRecordHitMotionNV = 5249,- SpvOpHitObjectRecordHitWithIndexMotionNV = 5250,- SpvOpHitObjectRecordMissMotionNV = 5251,- SpvOpHitObjectGetWorldToObjectNV = 5252,- SpvOpHitObjectGetObjectToWorldNV = 5253,- SpvOpHitObjectGetObjectRayDirectionNV = 5254,- SpvOpHitObjectGetObjectRayOriginNV = 5255,- SpvOpHitObjectTraceRayMotionNV = 5256,- SpvOpHitObjectGetShaderRecordBufferHandleNV = 5257,- SpvOpHitObjectGetShaderBindingTableRecordIndexNV = 5258,- SpvOpHitObjectRecordEmptyNV = 5259,- SpvOpHitObjectTraceRayNV = 5260,- SpvOpHitObjectRecordHitNV = 5261,- SpvOpHitObjectRecordHitWithIndexNV = 5262,- SpvOpHitObjectRecordMissNV = 5263,- SpvOpHitObjectExecuteShaderNV = 5264,- SpvOpHitObjectGetCurrentTimeNV = 5265,- SpvOpHitObjectGetAttributesNV = 5266,- SpvOpHitObjectGetHitKindNV = 5267,- SpvOpHitObjectGetPrimitiveIndexNV = 5268,- SpvOpHitObjectGetGeometryIndexNV = 5269,- SpvOpHitObjectGetInstanceIdNV = 5270,- SpvOpHitObjectGetInstanceCustomIndexNV = 5271,- SpvOpHitObjectGetWorldRayDirectionNV = 5272,- SpvOpHitObjectGetWorldRayOriginNV = 5273,- SpvOpHitObjectGetRayTMaxNV = 5274,- SpvOpHitObjectGetRayTMinNV = 5275,- SpvOpHitObjectIsEmptyNV = 5276,- SpvOpHitObjectIsHitNV = 5277,- SpvOpHitObjectIsMissNV = 5278,- SpvOpReorderThreadWithHitObjectNV = 5279,- SpvOpReorderThreadWithHintNV = 5280,- SpvOpTypeHitObjectNV = 5281,- SpvOpImageSampleFootprintNV = 5283,- SpvOpEmitMeshTasksEXT = 5294,- SpvOpSetMeshOutputsEXT = 5295,- SpvOpGroupNonUniformPartitionNV = 5296,- SpvOpWritePackedPrimitiveIndices4x8NV = 5299,- SpvOpReportIntersectionKHR = 5334,- SpvOpReportIntersectionNV = 5334,- SpvOpIgnoreIntersectionNV = 5335,- SpvOpTerminateRayNV = 5336,- SpvOpTraceNV = 5337,- SpvOpTraceMotionNV = 5338,- SpvOpTraceRayMotionNV = 5339,- SpvOpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340,- SpvOpTypeAccelerationStructureKHR = 5341,- SpvOpTypeAccelerationStructureNV = 5341,- SpvOpExecuteCallableNV = 5344,- SpvOpTypeCooperativeMatrixNV = 5358,- SpvOpCooperativeMatrixLoadNV = 5359,- SpvOpCooperativeMatrixStoreNV = 5360,- SpvOpCooperativeMatrixMulAddNV = 5361,- 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,- SpvOpSubgroupShuffleXorINTEL = 5574,- SpvOpSubgroupBlockReadINTEL = 5575,- SpvOpSubgroupBlockWriteINTEL = 5576,- SpvOpSubgroupImageBlockReadINTEL = 5577,- SpvOpSubgroupImageBlockWriteINTEL = 5578,- SpvOpSubgroupImageMediaBlockReadINTEL = 5580,- SpvOpSubgroupImageMediaBlockWriteINTEL = 5581,- SpvOpUCountLeadingZerosINTEL = 5585,- SpvOpUCountTrailingZerosINTEL = 5586,- SpvOpAbsISubINTEL = 5587,- SpvOpAbsUSubINTEL = 5588,- SpvOpIAddSatINTEL = 5589,- SpvOpUAddSatINTEL = 5590,- SpvOpIAverageINTEL = 5591,- SpvOpUAverageINTEL = 5592,- SpvOpIAverageRoundedINTEL = 5593,- SpvOpUAverageRoundedINTEL = 5594,- SpvOpISubSatINTEL = 5595,- SpvOpUSubSatINTEL = 5596,- SpvOpIMul32x16INTEL = 5597,- SpvOpUMul32x16INTEL = 5598,- SpvOpConstantFunctionPointerINTEL = 5600,- SpvOpFunctionPointerCallINTEL = 5601,- SpvOpAsmTargetINTEL = 5609,- SpvOpAsmINTEL = 5610,- SpvOpAsmCallINTEL = 5611,- SpvOpAtomicFMinEXT = 5614,- SpvOpAtomicFMaxEXT = 5615,- SpvOpAssumeTrueKHR = 5630,- SpvOpExpectKHR = 5631,- SpvOpDecorateString = 5632,- SpvOpDecorateStringGOOGLE = 5632,- SpvOpMemberDecorateString = 5633,- SpvOpMemberDecorateStringGOOGLE = 5633,- SpvOpVmeImageINTEL = 5699,- SpvOpTypeVmeImageINTEL = 5700,- SpvOpTypeAvcImePayloadINTEL = 5701,- SpvOpTypeAvcRefPayloadINTEL = 5702,- SpvOpTypeAvcSicPayloadINTEL = 5703,- SpvOpTypeAvcMcePayloadINTEL = 5704,- SpvOpTypeAvcMceResultINTEL = 5705,- SpvOpTypeAvcImeResultINTEL = 5706,- SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,- SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,- SpvOpTypeAvcImeSingleReferenceStreaminINTEL = 5709,- SpvOpTypeAvcImeDualReferenceStreaminINTEL = 5710,- SpvOpTypeAvcRefResultINTEL = 5711,- SpvOpTypeAvcSicResultINTEL = 5712,- SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,- SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,- SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,- SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,- SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,- SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,- SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,- SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,- SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,- SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,- SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,- SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,- SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,- SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,- SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,- SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,- SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,- SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,- SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,- SpvOpSubgroupAvcMceConvertToImePayloadINTEL = 5732,- SpvOpSubgroupAvcMceConvertToImeResultINTEL = 5733,- SpvOpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,- SpvOpSubgroupAvcMceConvertToRefResultINTEL = 5735,- SpvOpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,- SpvOpSubgroupAvcMceConvertToSicResultINTEL = 5737,- SpvOpSubgroupAvcMceGetMotionVectorsINTEL = 5738,- SpvOpSubgroupAvcMceGetInterDistortionsINTEL = 5739,- SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,- SpvOpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,- SpvOpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,- SpvOpSubgroupAvcMceGetInterDirectionsINTEL = 5743,- SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,- SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,- SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,- SpvOpSubgroupAvcImeInitializeINTEL = 5747,- SpvOpSubgroupAvcImeSetSingleReferenceINTEL = 5748,- SpvOpSubgroupAvcImeSetDualReferenceINTEL = 5749,- SpvOpSubgroupAvcImeRefWindowSizeINTEL = 5750,- SpvOpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,- SpvOpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,- SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,- SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,- SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,- SpvOpSubgroupAvcImeSetWeightedSadINTEL = 5756,- SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,- SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,- SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,- SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,- SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,- SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,- SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,- SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,- SpvOpSubgroupAvcImeConvertToMceResultINTEL = 5765,- SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,- SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,- SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,- SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,- SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL =- 5770,- SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL =- 5771,- SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL =- 5772,- SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL =- 5773,- SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,- SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL =- 5775,- SpvOpSubgroupAvcImeGetBorderReachedINTEL = 5776,- SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,- SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,- SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,- SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,- SpvOpSubgroupAvcFmeInitializeINTEL = 5781,- SpvOpSubgroupAvcBmeInitializeINTEL = 5782,- SpvOpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,- SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,- SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,- SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,- SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,- SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,- SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,- SpvOpSubgroupAvcRefConvertToMceResultINTEL = 5790,- SpvOpSubgroupAvcSicInitializeINTEL = 5791,- SpvOpSubgroupAvcSicConfigureSkcINTEL = 5792,- SpvOpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,- SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,- SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,- SpvOpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,- SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,- SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,- SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,- SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,- SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,- SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,- SpvOpSubgroupAvcSicEvaluateIpeINTEL = 5803,- SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,- SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,- SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,- SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,- SpvOpSubgroupAvcSicConvertToMceResultINTEL = 5808,- SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,- SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,- SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,- SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,- SpvOpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,- 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,- SpvOpRayQueryGetRayTMinKHR = 6016,- SpvOpRayQueryGetRayFlagsKHR = 6017,- SpvOpRayQueryGetIntersectionTKHR = 6018,- SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,- SpvOpRayQueryGetIntersectionInstanceIdKHR = 6020,- SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,- SpvOpRayQueryGetIntersectionGeometryIndexKHR = 6022,- SpvOpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,- SpvOpRayQueryGetIntersectionBarycentricsKHR = 6024,- SpvOpRayQueryGetIntersectionFrontFaceKHR = 6025,- SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,- SpvOpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,- SpvOpRayQueryGetIntersectionObjectRayOriginKHR = 6028,- SpvOpRayQueryGetWorldRayDirectionKHR = 6029,- SpvOpRayQueryGetWorldRayOriginKHR = 6030,- SpvOpRayQueryGetIntersectionObjectToWorldKHR = 6031,- SpvOpRayQueryGetIntersectionWorldToObjectKHR = 6032,- SpvOpAtomicFAddEXT = 6035,- SpvOpTypeBufferSurfaceINTEL = 6086,- SpvOpTypeStructContinuedINTEL = 6090,- SpvOpConstantCompositeContinuedINTEL = 6091,- SpvOpSpecConstantCompositeContinuedINTEL = 6092,- SpvOpConvertFToBF16INTEL = 6116,- SpvOpConvertBF16ToFINTEL = 6117,- 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) {- default: /* unknown opcode */- break;- case SpvOpNop:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpUndef:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSourceContinued:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpSource:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpSourceExtension:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpName:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpMemberName:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpString:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpLine:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpExtension:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpExtInstImport:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpExtInst:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpMemoryModel:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpEntryPoint:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpExecutionMode:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpCapability:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpTypeVoid:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpTypeBool:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpTypeInt:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpTypeFloat:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpTypeVector:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpTypeMatrix:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpTypeImage:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpTypeSampler:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpTypeSampledImage:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpTypeArray:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpTypeRuntimeArray:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpTypeStruct:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpTypeOpaque:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpTypePointer:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpTypeFunction:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpTypeEvent:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpTypeDeviceEvent:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpTypeReserveId:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpTypeQueue:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpTypePipe:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpTypeForwardPointer:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpConstantTrue:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpConstantFalse:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpConstant:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpConstantComposite:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpConstantSampler:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpConstantNull:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSpecConstantTrue:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSpecConstantFalse:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSpecConstant:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSpecConstantComposite:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSpecConstantOp:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpFunction:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpFunctionParameter:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpFunctionEnd:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpFunctionCall:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpVariable:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageTexelPointer:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpLoad:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpStore:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpCopyMemory:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpCopyMemorySized:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpAccessChain:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpInBoundsAccessChain:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpPtrAccessChain:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpArrayLength:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGenericPtrMemSemantics:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpInBoundsPtrAccessChain:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpDecorate:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpMemberDecorate:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpDecorationGroup:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpGroupDecorate:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpGroupMemberDecorate:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpVectorExtractDynamic:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpVectorInsertDynamic:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpVectorShuffle:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpCompositeConstruct:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpCompositeExtract:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpCompositeInsert:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpCopyObject:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpTranspose:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSampledImage:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageSampleImplicitLod:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageSampleExplicitLod:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageSampleDrefImplicitLod:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageSampleDrefExplicitLod:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageSampleProjImplicitLod:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageSampleProjExplicitLod:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageSampleProjDrefImplicitLod:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageSampleProjDrefExplicitLod:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageFetch:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageGather:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageDrefGather:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageRead:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageWrite:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpImage:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageQueryFormat:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageQueryOrder:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageQuerySizeLod:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageQuerySize:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageQueryLod:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageQueryLevels:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageQuerySamples:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpConvertFToU:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpConvertFToS:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpConvertSToF:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpConvertUToF:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpUConvert:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSConvert:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpFConvert:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpQuantizeToF16:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpConvertPtrToU:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSatConvertSToU:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSatConvertUToS:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpConvertUToPtr:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpPtrCastToGeneric:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGenericCastToPtr:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGenericCastToPtrExplicit:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpBitcast:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSNegate:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpFNegate:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpIAdd:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpFAdd:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpISub:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpFSub:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpIMul:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpFMul:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpUDiv:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSDiv:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpFDiv:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpUMod:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSRem:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSMod:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpFRem:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpFMod:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpVectorTimesScalar:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpMatrixTimesScalar:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpVectorTimesMatrix:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpMatrixTimesVector:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpMatrixTimesMatrix:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpOuterProduct:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpDot:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpIAddCarry:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpISubBorrow:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpUMulExtended:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSMulExtended:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpAny:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpAll:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpIsNan:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpIsInf:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpIsFinite:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpIsNormal:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSignBitSet:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpLessOrGreater:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpOrdered:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpUnordered:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpLogicalEqual:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpLogicalNotEqual:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpLogicalOr:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpLogicalAnd:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpLogicalNot:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSelect:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpIEqual:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpINotEqual:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpUGreaterThan:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSGreaterThan:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpUGreaterThanEqual:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSGreaterThanEqual:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpULessThan:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSLessThan:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpULessThanEqual:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSLessThanEqual:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpFOrdEqual:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpFUnordEqual:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpFOrdNotEqual:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpFUnordNotEqual:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpFOrdLessThan:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpFUnordLessThan:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpFOrdGreaterThan:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpFUnordGreaterThan:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpFOrdLessThanEqual:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpFUnordLessThanEqual:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpFOrdGreaterThanEqual:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpFUnordGreaterThanEqual:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpShiftRightLogical:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpShiftRightArithmetic:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpShiftLeftLogical:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpBitwiseOr:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpBitwiseXor:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpBitwiseAnd:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpNot:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpBitFieldInsert:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpBitFieldSExtract:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpBitFieldUExtract:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpBitReverse:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpBitCount:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpDPdx:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpDPdy:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpFwidth:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpDPdxFine:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpDPdyFine:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpFwidthFine:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpDPdxCoarse:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpDPdyCoarse:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpFwidthCoarse:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpEmitVertex:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpEndPrimitive:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpEmitStreamVertex:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpEndStreamPrimitive:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpControlBarrier:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpMemoryBarrier:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpAtomicLoad:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpAtomicStore:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpAtomicExchange:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpAtomicCompareExchange:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpAtomicCompareExchangeWeak:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpAtomicIIncrement:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpAtomicIDecrement:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpAtomicIAdd:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpAtomicISub:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpAtomicSMin:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpAtomicUMin:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpAtomicSMax:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpAtomicUMax:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpAtomicAnd:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpAtomicOr:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpAtomicXor:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpPhi:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpLoopMerge:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpSelectionMerge:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpLabel:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpBranch:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpBranchConditional:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpSwitch:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpKill:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpReturn:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpReturnValue:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpUnreachable:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpLifetimeStart:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpLifetimeStop:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpGroupAsyncCopy:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupWaitEvents:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpGroupAll:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupAny:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupBroadcast:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupIAdd:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupFAdd:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupFMin:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupUMin:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupSMin:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupFMax:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupUMax:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupSMax:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpReadPipe:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpWritePipe:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpReservedReadPipe:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpReservedWritePipe:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpReserveReadPipePackets:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpReserveWritePipePackets:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpCommitReadPipe:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpCommitWritePipe:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpIsValidReserveId:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGetNumPipePackets:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGetMaxPipePackets:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupReserveReadPipePackets:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupReserveWritePipePackets:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupCommitReadPipe:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpGroupCommitWritePipe:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpEnqueueMarker:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpEnqueueKernel:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGetKernelNDrangeSubGroupCount:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGetKernelNDrangeMaxSubGroupSize:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGetKernelWorkGroupSize:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGetKernelPreferredWorkGroupSizeMultiple:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpRetainEvent:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpReleaseEvent:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpCreateUserEvent:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpIsValidEvent:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSetUserEventStatus:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpCaptureEventProfilingInfo:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpGetDefaultQueue:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpBuildNDRange:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageSparseSampleImplicitLod:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageSparseSampleExplicitLod:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageSparseSampleDrefImplicitLod:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageSparseSampleDrefExplicitLod:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageSparseSampleProjImplicitLod:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageSparseSampleProjExplicitLod:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageSparseSampleProjDrefImplicitLod:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageSparseSampleProjDrefExplicitLod:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageSparseFetch:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageSparseGather:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageSparseDrefGather:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageSparseTexelsResident:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpNoLine:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpAtomicFlagTestAndSet:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpAtomicFlagClear:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpImageSparseRead:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSizeOf:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpTypePipeStorage:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpConstantPipeStorage:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpCreatePipeFromPipeStorage:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGetKernelLocalSizeForSubgroupCount:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGetKernelMaxNumSubgroups:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpTypeNamedBarrier:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpNamedBarrierInitialize:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpMemoryNamedBarrier:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpModuleProcessed:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpExecutionModeId:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpDecorateId:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpGroupNonUniformElect:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupNonUniformAll:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupNonUniformAny:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupNonUniformAllEqual:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupNonUniformBroadcast:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupNonUniformBroadcastFirst:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupNonUniformBallot:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupNonUniformInverseBallot:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupNonUniformBallotBitExtract:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupNonUniformBallotBitCount:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupNonUniformBallotFindLSB:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupNonUniformBallotFindMSB:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupNonUniformShuffle:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupNonUniformShuffleXor:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupNonUniformShuffleUp:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupNonUniformShuffleDown:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupNonUniformIAdd:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupNonUniformFAdd:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupNonUniformIMul:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupNonUniformFMul:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupNonUniformSMin:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupNonUniformUMin:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupNonUniformFMin:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupNonUniformSMax:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupNonUniformUMax:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupNonUniformFMax:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupNonUniformBitwiseAnd:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupNonUniformBitwiseOr:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupNonUniformBitwiseXor:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupNonUniformLogicalAnd:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupNonUniformLogicalOr:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupNonUniformLogicalXor:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupNonUniformQuadBroadcast:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupNonUniformQuadSwap:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpCopyLogical:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpPtrEqual:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpPtrNotEqual:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpPtrDiff:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpColorAttachmentReadEXT:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpDepthAttachmentReadEXT:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpStencilAttachmentReadEXT:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpTerminateInvocation:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpSubgroupBallotKHR:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupFirstInvocationKHR:- *hasResult = true;- *hasResultType = true;- break;- 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 SpvOpTypeCooperativeMatrixKHR:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpCooperativeMatrixLoadKHR:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpCooperativeMatrixStoreKHR:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpCooperativeMatrixMulAddKHR:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpCooperativeMatrixLengthKHR:- *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;- case SpvOpRayQueryGenerateIntersectionKHR:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpRayQueryConfirmIntersectionKHR:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpRayQueryProceedKHR:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpRayQueryGetIntersectionTypeKHR:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageSampleWeightedQCOM:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageBoxFilterQCOM:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageBlockMatchSSDQCOM:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpImageBlockMatchSADQCOM:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupIAddNonUniformAMD:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupFAddNonUniformAMD:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupFMinNonUniformAMD:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupUMinNonUniformAMD:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupSMinNonUniformAMD:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupFMaxNonUniformAMD:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupUMaxNonUniformAMD:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpGroupSMaxNonUniformAMD:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpFragmentMaskFetchAMD:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpFragmentFetchAMD:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpReadClockKHR:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpHitObjectRecordHitMotionNV:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpHitObjectRecordHitWithIndexMotionNV:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpHitObjectRecordMissMotionNV:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpHitObjectGetWorldToObjectNV:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpHitObjectGetObjectToWorldNV:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpHitObjectGetObjectRayDirectionNV:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpHitObjectGetObjectRayOriginNV:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpHitObjectTraceRayMotionNV:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpHitObjectGetShaderRecordBufferHandleNV:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpHitObjectGetShaderBindingTableRecordIndexNV:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpHitObjectRecordEmptyNV:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpHitObjectTraceRayNV:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpHitObjectRecordHitNV:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpHitObjectRecordHitWithIndexNV:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpHitObjectRecordMissNV:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpHitObjectExecuteShaderNV:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpHitObjectGetCurrentTimeNV:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpHitObjectGetAttributesNV:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpHitObjectGetHitKindNV:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpHitObjectGetPrimitiveIndexNV:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpHitObjectGetGeometryIndexNV:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpHitObjectGetInstanceIdNV:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpHitObjectGetInstanceCustomIndexNV:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpHitObjectGetWorldRayDirectionNV:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpHitObjectGetWorldRayOriginNV:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpHitObjectGetRayTMaxNV:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpHitObjectGetRayTMinNV:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpHitObjectIsEmptyNV:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpHitObjectIsHitNV:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpHitObjectIsMissNV:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpReorderThreadWithHitObjectNV:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpReorderThreadWithHintNV:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpTypeHitObjectNV:- *hasResult = true;- *hasResultType = false;- 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 SpvOpRayQueryGetIntersectionTriangleVertexPositionsKHR:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpTypeAccelerationStructureNV:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpExecuteCallableNV:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpTypeCooperativeMatrixNV:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpCooperativeMatrixLoadNV:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpCooperativeMatrixStoreNV:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpCooperativeMatrixMulAddNV:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpCooperativeMatrixLengthNV:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpBeginInvocationInterlockEXT:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpEndInvocationInterlockEXT:- *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;- case SpvOpSubgroupShuffleXorINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupBlockReadINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupBlockWriteINTEL:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpSubgroupImageBlockReadINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupImageBlockWriteINTEL:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpSubgroupImageMediaBlockReadINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupImageMediaBlockWriteINTEL:- *hasResult = false;- *hasResultType = false;- break;- case SpvOpUCountLeadingZerosINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpUCountTrailingZerosINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpAbsISubINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpAbsUSubINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpIAddSatINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpUAddSatINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpIAverageINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpUAverageINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpIAverageRoundedINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpUAverageRoundedINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpISubSatINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpUSubSatINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpIMul32x16INTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpUMul32x16INTEL:- *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;- case SpvOpTypeVmeImageINTEL:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpTypeAvcImePayloadINTEL:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpTypeAvcRefPayloadINTEL:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpTypeAvcSicPayloadINTEL:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpTypeAvcMcePayloadINTEL:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpTypeAvcMceResultINTEL:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpTypeAvcImeResultINTEL:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpTypeAvcImeSingleReferenceStreaminINTEL:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpTypeAvcImeDualReferenceStreaminINTEL:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpTypeAvcRefResultINTEL:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpTypeAvcSicResultINTEL:- *hasResult = true;- *hasResultType = false;- break;- case SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcMceConvertToImePayloadINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcMceConvertToImeResultINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcMceConvertToRefPayloadINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcMceConvertToRefResultINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcMceConvertToSicPayloadINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcMceConvertToSicResultINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcMceGetMotionVectorsINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcMceGetInterDistortionsINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcMceGetInterMajorShapeINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcMceGetInterMinorShapeINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcMceGetInterDirectionsINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeInitializeINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeSetSingleReferenceINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeSetDualReferenceINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeRefWindowSizeINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeAdjustRefOffsetINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeConvertToMcePayloadINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeSetWeightedSadINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeConvertToMceResultINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeGetBorderReachedINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcFmeInitializeINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcBmeInitializeINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcRefConvertToMcePayloadINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcRefConvertToMceResultINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcSicInitializeINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcSicConfigureSkcINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcSicConfigureIpeLumaINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcSicConvertToMcePayloadINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcSicEvaluateIpeINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcSicConvertToMceResultINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpSubgroupAvcSicGetIpeChromaModeINTEL:- *hasResult = true;- *hasResultType = true;- break;- 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;- case SpvOpRayQueryGetRayTMinKHR:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpRayQueryGetRayFlagsKHR:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpRayQueryGetIntersectionTKHR:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpRayQueryGetIntersectionInstanceIdKHR:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpRayQueryGetIntersectionGeometryIndexKHR:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpRayQueryGetIntersectionPrimitiveIndexKHR:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpRayQueryGetIntersectionBarycentricsKHR:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpRayQueryGetIntersectionFrontFaceKHR:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpRayQueryGetIntersectionObjectRayDirectionKHR:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpRayQueryGetIntersectionObjectRayOriginKHR:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpRayQueryGetWorldRayDirectionKHR:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpRayQueryGetWorldRayOriginKHR:- *hasResult = true;- *hasResultType = true;- break;- 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 SpvOpConvertFToBF16INTEL:- *hasResult = true;- *hasResultType = true;- break;- case SpvOpConvertBF16ToFINTEL:- *hasResult = true;- *hasResultType = true;- 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;- }-}+** Copyright: 2014-2024 The Khronos Group Inc.+** License: MIT+**+** MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS+** KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS+** SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT+** https://www.khronos.org/registry/+*/++/*+** This header is automatically generated by the same tool that creates+** the Binary Section of the SPIR-V specification.+*/++/*+** Enumeration tokens for SPIR-V, in various styles:+** 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+** - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL+** - Lua will use tables, e.g.: spv.SourceLanguage.GLSL+** - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']+** - 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+** "Mask" in their name, and a parallel enum that has the shift+** amount (1 << x) for each corresponding enumerant.+*/++#ifndef spirv_H+#define spirv_H++typedef unsigned int SpvId;++#define SPV_VERSION 0x10600+#define SPV_REVISION 1++static const unsigned int SpvMagicNumber = 0x07230203;+static const unsigned int SpvVersion = 0x00010600;+static const unsigned int SpvRevision = 1;+static const unsigned int SpvOpCodeMask = 0xffff;+static const unsigned int SpvWordCountShift = 16;++typedef enum SpvSourceLanguage_ {+ SpvSourceLanguageUnknown = 0,+ SpvSourceLanguageESSL = 1,+ SpvSourceLanguageGLSL = 2,+ SpvSourceLanguageOpenCL_C = 3,+ SpvSourceLanguageOpenCL_CPP = 4,+ SpvSourceLanguageHLSL = 5,+ SpvSourceLanguageCPP_for_OpenCL = 6,+ SpvSourceLanguageSYCL = 7,+ SpvSourceLanguageHERO_C = 8,+ SpvSourceLanguageNZSL = 9,+ SpvSourceLanguageWGSL = 10,+ SpvSourceLanguageSlang = 11,+ SpvSourceLanguageZig = 12,+ SpvSourceLanguageRust = 13,+ SpvSourceLanguageMax = 0x7fffffff,+} SpvSourceLanguage;++typedef enum SpvExecutionModel_ {+ SpvExecutionModelVertex = 0,+ SpvExecutionModelTessellationControl = 1,+ SpvExecutionModelTessellationEvaluation = 2,+ SpvExecutionModelGeometry = 3,+ SpvExecutionModelFragment = 4,+ SpvExecutionModelGLCompute = 5,+ SpvExecutionModelKernel = 6,+ SpvExecutionModelTaskNV = 5267,+ SpvExecutionModelMeshNV = 5268,+ SpvExecutionModelRayGenerationKHR = 5313,+ SpvExecutionModelRayGenerationNV = 5313,+ SpvExecutionModelIntersectionKHR = 5314,+ SpvExecutionModelIntersectionNV = 5314,+ SpvExecutionModelAnyHitKHR = 5315,+ SpvExecutionModelAnyHitNV = 5315,+ SpvExecutionModelClosestHitKHR = 5316,+ SpvExecutionModelClosestHitNV = 5316,+ SpvExecutionModelMissKHR = 5317,+ SpvExecutionModelMissNV = 5317,+ SpvExecutionModelCallableKHR = 5318,+ SpvExecutionModelCallableNV = 5318,+ SpvExecutionModelTaskEXT = 5364,+ SpvExecutionModelMeshEXT = 5365,+ SpvExecutionModelMax = 0x7fffffff,+} SpvExecutionModel;++typedef enum SpvAddressingModel_ {+ SpvAddressingModelLogical = 0,+ SpvAddressingModelPhysical32 = 1,+ SpvAddressingModelPhysical64 = 2,+ SpvAddressingModelPhysicalStorageBuffer64 = 5348,+ SpvAddressingModelPhysicalStorageBuffer64EXT = 5348,+ SpvAddressingModelMax = 0x7fffffff,+} SpvAddressingModel;++typedef enum SpvMemoryModel_ {+ SpvMemoryModelSimple = 0,+ SpvMemoryModelGLSL450 = 1,+ SpvMemoryModelOpenCL = 2,+ SpvMemoryModelVulkan = 3,+ SpvMemoryModelVulkanKHR = 3,+ SpvMemoryModelMax = 0x7fffffff,+} SpvMemoryModel;++typedef enum SpvExecutionMode_ {+ SpvExecutionModeInvocations = 0,+ SpvExecutionModeSpacingEqual = 1,+ SpvExecutionModeSpacingFractionalEven = 2,+ SpvExecutionModeSpacingFractionalOdd = 3,+ SpvExecutionModeVertexOrderCw = 4,+ SpvExecutionModeVertexOrderCcw = 5,+ SpvExecutionModePixelCenterInteger = 6,+ SpvExecutionModeOriginUpperLeft = 7,+ SpvExecutionModeOriginLowerLeft = 8,+ SpvExecutionModeEarlyFragmentTests = 9,+ SpvExecutionModePointMode = 10,+ SpvExecutionModeXfb = 11,+ SpvExecutionModeDepthReplacing = 12,+ SpvExecutionModeDepthGreater = 14,+ SpvExecutionModeDepthLess = 15,+ SpvExecutionModeDepthUnchanged = 16,+ SpvExecutionModeLocalSize = 17,+ SpvExecutionModeLocalSizeHint = 18,+ SpvExecutionModeInputPoints = 19,+ SpvExecutionModeInputLines = 20,+ SpvExecutionModeInputLinesAdjacency = 21,+ SpvExecutionModeTriangles = 22,+ SpvExecutionModeInputTrianglesAdjacency = 23,+ SpvExecutionModeQuads = 24,+ SpvExecutionModeIsolines = 25,+ SpvExecutionModeOutputVertices = 26,+ SpvExecutionModeOutputPoints = 27,+ SpvExecutionModeOutputLineStrip = 28,+ SpvExecutionModeOutputTriangleStrip = 29,+ SpvExecutionModeVecTypeHint = 30,+ SpvExecutionModeContractionOff = 31,+ SpvExecutionModeInitializer = 33,+ SpvExecutionModeFinalizer = 34,+ SpvExecutionModeSubgroupSize = 35,+ SpvExecutionModeSubgroupsPerWorkgroup = 36,+ SpvExecutionModeSubgroupsPerWorkgroupId = 37,+ SpvExecutionModeLocalSizeId = 38,+ SpvExecutionModeLocalSizeHintId = 39,+ SpvExecutionModeNonCoherentColorAttachmentReadEXT = 4169,+ SpvExecutionModeNonCoherentDepthAttachmentReadEXT = 4170,+ SpvExecutionModeNonCoherentStencilAttachmentReadEXT = 4171,+ SpvExecutionModeSubgroupUniformControlFlowKHR = 4421,+ SpvExecutionModePostDepthCoverage = 4446,+ SpvExecutionModeDenormPreserve = 4459,+ SpvExecutionModeDenormFlushToZero = 4460,+ SpvExecutionModeSignedZeroInfNanPreserve = 4461,+ SpvExecutionModeRoundingModeRTE = 4462,+ SpvExecutionModeRoundingModeRTZ = 4463,+ SpvExecutionModeNonCoherentTileAttachmentReadQCOM = 4489,+ SpvExecutionModeTileShadingRateQCOM = 4490,+ SpvExecutionModeEarlyAndLateFragmentTestsAMD = 5017,+ SpvExecutionModeStencilRefReplacingEXT = 5027,+ SpvExecutionModeCoalescingAMDX = 5069,+ SpvExecutionModeIsApiEntryAMDX = 5070,+ SpvExecutionModeMaxNodeRecursionAMDX = 5071,+ SpvExecutionModeStaticNumWorkgroupsAMDX = 5072,+ SpvExecutionModeShaderIndexAMDX = 5073,+ SpvExecutionModeMaxNumWorkgroupsAMDX = 5077,+ SpvExecutionModeStencilRefUnchangedFrontAMD = 5079,+ SpvExecutionModeStencilRefGreaterFrontAMD = 5080,+ SpvExecutionModeStencilRefLessFrontAMD = 5081,+ SpvExecutionModeStencilRefUnchangedBackAMD = 5082,+ SpvExecutionModeStencilRefGreaterBackAMD = 5083,+ SpvExecutionModeStencilRefLessBackAMD = 5084,+ SpvExecutionModeQuadDerivativesKHR = 5088,+ SpvExecutionModeRequireFullQuadsKHR = 5089,+ SpvExecutionModeSharesInputWithAMDX = 5102,+ SpvExecutionModeArithmeticPoisonKHR = 5157,+ SpvExecutionModeOutputLinesEXT = 5269,+ SpvExecutionModeOutputLinesNV = 5269,+ SpvExecutionModeOutputPrimitivesEXT = 5270,+ SpvExecutionModeOutputPrimitivesNV = 5270,+ SpvExecutionModeDerivativeGroupQuadsKHR = 5289,+ SpvExecutionModeDerivativeGroupQuadsNV = 5289,+ SpvExecutionModeDerivativeGroupLinearKHR = 5290,+ SpvExecutionModeDerivativeGroupLinearNV = 5290,+ SpvExecutionModeOutputTrianglesEXT = 5298,+ SpvExecutionModeOutputTrianglesNV = 5298,+ SpvExecutionModePixelInterlockOrderedEXT = 5366,+ SpvExecutionModePixelInterlockUnorderedEXT = 5367,+ SpvExecutionModeSampleInterlockOrderedEXT = 5368,+ SpvExecutionModeSampleInterlockUnorderedEXT = 5369,+ SpvExecutionModeShadingRateInterlockOrderedEXT = 5370,+ SpvExecutionModeShadingRateInterlockUnorderedEXT = 5371,+ SpvExecutionModeShader64BitIndexingEXT = 5427,+ SpvExecutionModeSharedLocalMemorySizeINTEL = 5618,+ SpvExecutionModeRoundingModeRTPINTEL = 5620,+ SpvExecutionModeRoundingModeRTNINTEL = 5621,+ SpvExecutionModeFloatingPointModeALTINTEL = 5622,+ SpvExecutionModeFloatingPointModeIEEEINTEL = 5623,+ SpvExecutionModeMaxWorkgroupSizeINTEL = 5893,+ SpvExecutionModeMaxWorkDimINTEL = 5894,+ SpvExecutionModeNoGlobalOffsetINTEL = 5895,+ SpvExecutionModeNumSIMDWorkitemsINTEL = 5896,+ SpvExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,+ SpvExecutionModeMaximallyReconvergesKHR = 6023,+ SpvExecutionModeFPFastMathDefault = 6028,+ SpvExecutionModeStreamingInterfaceINTEL = 6154,+ SpvExecutionModeRegisterMapInterfaceINTEL = 6160,+ SpvExecutionModeNamedBarrierCountINTEL = 6417,+ SpvExecutionModeMaximumRegistersINTEL = 6461,+ SpvExecutionModeMaximumRegistersIdINTEL = 6462,+ SpvExecutionModeNamedMaximumRegistersINTEL = 6463,+ SpvExecutionModeMax = 0x7fffffff,+} SpvExecutionMode;++typedef enum SpvStorageClass_ {+ SpvStorageClassUniformConstant = 0,+ SpvStorageClassInput = 1,+ SpvStorageClassUniform = 2,+ SpvStorageClassOutput = 3,+ SpvStorageClassWorkgroup = 4,+ SpvStorageClassCrossWorkgroup = 5,+ SpvStorageClassPrivate = 6,+ SpvStorageClassFunction = 7,+ SpvStorageClassGeneric = 8,+ SpvStorageClassPushConstant = 9,+ SpvStorageClassAtomicCounter = 10,+ SpvStorageClassImage = 11,+ SpvStorageClassStorageBuffer = 12,+ SpvStorageClassTileImageEXT = 4172,+ SpvStorageClassTileAttachmentQCOM = 4491,+ SpvStorageClassNodePayloadAMDX = 5068,+ SpvStorageClassCallableDataKHR = 5328,+ SpvStorageClassCallableDataNV = 5328,+ SpvStorageClassIncomingCallableDataKHR = 5329,+ SpvStorageClassIncomingCallableDataNV = 5329,+ SpvStorageClassRayPayloadKHR = 5338,+ SpvStorageClassRayPayloadNV = 5338,+ SpvStorageClassHitAttributeKHR = 5339,+ SpvStorageClassHitAttributeNV = 5339,+ SpvStorageClassIncomingRayPayloadKHR = 5342,+ SpvStorageClassIncomingRayPayloadNV = 5342,+ SpvStorageClassShaderRecordBufferKHR = 5343,+ SpvStorageClassShaderRecordBufferNV = 5343,+ SpvStorageClassPhysicalStorageBuffer = 5349,+ SpvStorageClassPhysicalStorageBufferEXT = 5349,+ SpvStorageClassHitObjectAttributeNV = 5385,+ SpvStorageClassTaskPayloadWorkgroupEXT = 5402,+ SpvStorageClassHitObjectAttributeEXT = 5411,+ SpvStorageClassCodeSectionINTEL = 5605,+ SpvStorageClassDeviceOnlyALTERA = 5936,+ SpvStorageClassDeviceOnlyINTEL = 5936,+ SpvStorageClassHostOnlyALTERA = 5937,+ SpvStorageClassHostOnlyINTEL = 5937,+ SpvStorageClassMax = 0x7fffffff,+} SpvStorageClass;++typedef enum SpvDim_ {+ SpvDim1D = 0,+ SpvDim2D = 1,+ SpvDim3D = 2,+ SpvDimCube = 3,+ SpvDimRect = 4,+ SpvDimBuffer = 5,+ SpvDimSubpassData = 6,+ SpvDimTileImageDataEXT = 4173,+ SpvDimMax = 0x7fffffff,+} SpvDim;++typedef enum SpvSamplerAddressingMode_ {+ SpvSamplerAddressingModeNone = 0,+ SpvSamplerAddressingModeClampToEdge = 1,+ SpvSamplerAddressingModeClamp = 2,+ SpvSamplerAddressingModeRepeat = 3,+ SpvSamplerAddressingModeRepeatMirrored = 4,+ SpvSamplerAddressingModeMax = 0x7fffffff,+} SpvSamplerAddressingMode;++typedef enum SpvSamplerFilterMode_ {+ SpvSamplerFilterModeNearest = 0,+ SpvSamplerFilterModeLinear = 1,+ SpvSamplerFilterModeMax = 0x7fffffff,+} SpvSamplerFilterMode;++typedef enum SpvImageFormat_ {+ SpvImageFormatUnknown = 0,+ SpvImageFormatRgba32f = 1,+ SpvImageFormatRgba16f = 2,+ SpvImageFormatR32f = 3,+ SpvImageFormatRgba8 = 4,+ SpvImageFormatRgba8Snorm = 5,+ SpvImageFormatRg32f = 6,+ SpvImageFormatRg16f = 7,+ SpvImageFormatR11fG11fB10f = 8,+ SpvImageFormatR16f = 9,+ SpvImageFormatRgba16 = 10,+ SpvImageFormatRgb10A2 = 11,+ SpvImageFormatRg16 = 12,+ SpvImageFormatRg8 = 13,+ SpvImageFormatR16 = 14,+ SpvImageFormatR8 = 15,+ SpvImageFormatRgba16Snorm = 16,+ SpvImageFormatRg16Snorm = 17,+ SpvImageFormatRg8Snorm = 18,+ SpvImageFormatR16Snorm = 19,+ SpvImageFormatR8Snorm = 20,+ SpvImageFormatRgba32i = 21,+ SpvImageFormatRgba16i = 22,+ SpvImageFormatRgba8i = 23,+ SpvImageFormatR32i = 24,+ SpvImageFormatRg32i = 25,+ SpvImageFormatRg16i = 26,+ SpvImageFormatRg8i = 27,+ SpvImageFormatR16i = 28,+ SpvImageFormatR8i = 29,+ SpvImageFormatRgba32ui = 30,+ SpvImageFormatRgba16ui = 31,+ SpvImageFormatRgba8ui = 32,+ SpvImageFormatR32ui = 33,+ SpvImageFormatRgb10a2ui = 34,+ SpvImageFormatRg32ui = 35,+ SpvImageFormatRg16ui = 36,+ SpvImageFormatRg8ui = 37,+ SpvImageFormatR16ui = 38,+ SpvImageFormatR8ui = 39,+ SpvImageFormatR64ui = 40,+ SpvImageFormatR64i = 41,+ SpvImageFormatMax = 0x7fffffff,+} SpvImageFormat;++typedef enum SpvImageChannelOrder_ {+ SpvImageChannelOrderR = 0,+ SpvImageChannelOrderA = 1,+ SpvImageChannelOrderRG = 2,+ SpvImageChannelOrderRA = 3,+ SpvImageChannelOrderRGB = 4,+ SpvImageChannelOrderRGBA = 5,+ SpvImageChannelOrderBGRA = 6,+ SpvImageChannelOrderARGB = 7,+ SpvImageChannelOrderIntensity = 8,+ SpvImageChannelOrderLuminance = 9,+ SpvImageChannelOrderRx = 10,+ SpvImageChannelOrderRGx = 11,+ SpvImageChannelOrderRGBx = 12,+ SpvImageChannelOrderDepth = 13,+ SpvImageChannelOrderDepthStencil = 14,+ SpvImageChannelOrdersRGB = 15,+ SpvImageChannelOrdersRGBx = 16,+ SpvImageChannelOrdersRGBA = 17,+ SpvImageChannelOrdersBGRA = 18,+ SpvImageChannelOrderABGR = 19,+ SpvImageChannelOrderMax = 0x7fffffff,+} SpvImageChannelOrder;++typedef enum SpvImageChannelDataType_ {+ SpvImageChannelDataTypeSnormInt8 = 0,+ SpvImageChannelDataTypeSnormInt16 = 1,+ SpvImageChannelDataTypeUnormInt8 = 2,+ SpvImageChannelDataTypeUnormInt16 = 3,+ SpvImageChannelDataTypeUnormShort565 = 4,+ SpvImageChannelDataTypeUnormShort555 = 5,+ SpvImageChannelDataTypeUnormInt101010 = 6,+ SpvImageChannelDataTypeSignedInt8 = 7,+ SpvImageChannelDataTypeSignedInt16 = 8,+ SpvImageChannelDataTypeSignedInt32 = 9,+ SpvImageChannelDataTypeUnsignedInt8 = 10,+ SpvImageChannelDataTypeUnsignedInt16 = 11,+ SpvImageChannelDataTypeUnsignedInt32 = 12,+ SpvImageChannelDataTypeHalfFloat = 13,+ SpvImageChannelDataTypeFloat = 14,+ SpvImageChannelDataTypeUnormInt24 = 15,+ SpvImageChannelDataTypeUnormInt101010_2 = 16,+ SpvImageChannelDataTypeUnormInt10X6EXT = 17,+ SpvImageChannelDataTypeUnsignedIntRaw10EXT = 19,+ SpvImageChannelDataTypeUnsignedIntRaw12EXT = 20,+ SpvImageChannelDataTypeUnormInt2_101010EXT = 21,+ SpvImageChannelDataTypeUnsignedInt10X6EXT = 22,+ SpvImageChannelDataTypeUnsignedInt12X4EXT = 23,+ SpvImageChannelDataTypeUnsignedInt14X2EXT = 24,+ SpvImageChannelDataTypeUnormInt12X4EXT = 25,+ SpvImageChannelDataTypeUnormInt14X2EXT = 26,+ SpvImageChannelDataTypeMax = 0x7fffffff,+} SpvImageChannelDataType;++typedef enum SpvImageOperandsShift_ {+ SpvImageOperandsBiasShift = 0,+ SpvImageOperandsLodShift = 1,+ SpvImageOperandsGradShift = 2,+ SpvImageOperandsConstOffsetShift = 3,+ SpvImageOperandsOffsetShift = 4,+ SpvImageOperandsConstOffsetsShift = 5,+ SpvImageOperandsSampleShift = 6,+ SpvImageOperandsMinLodShift = 7,+ SpvImageOperandsMakeTexelAvailableShift = 8,+ SpvImageOperandsMakeTexelAvailableKHRShift = 8,+ SpvImageOperandsMakeTexelVisibleShift = 9,+ SpvImageOperandsMakeTexelVisibleKHRShift = 9,+ SpvImageOperandsNonPrivateTexelShift = 10,+ SpvImageOperandsNonPrivateTexelKHRShift = 10,+ SpvImageOperandsVolatileTexelShift = 11,+ SpvImageOperandsVolatileTexelKHRShift = 11,+ SpvImageOperandsSignExtendShift = 12,+ SpvImageOperandsZeroExtendShift = 13,+ SpvImageOperandsNontemporalShift = 14,+ SpvImageOperandsOffsetsShift = 16,+ SpvImageOperandsMax = 0x7fffffff,+} SpvImageOperandsShift;++typedef enum SpvImageOperandsMask_ {+ SpvImageOperandsMaskNone = 0,+ SpvImageOperandsBiasMask = 0x00000001,+ SpvImageOperandsLodMask = 0x00000002,+ SpvImageOperandsGradMask = 0x00000004,+ SpvImageOperandsConstOffsetMask = 0x00000008,+ SpvImageOperandsOffsetMask = 0x00000010,+ SpvImageOperandsConstOffsetsMask = 0x00000020,+ SpvImageOperandsSampleMask = 0x00000040,+ SpvImageOperandsMinLodMask = 0x00000080,+ SpvImageOperandsMakeTexelAvailableMask = 0x00000100,+ SpvImageOperandsMakeTexelAvailableKHRMask = 0x00000100,+ SpvImageOperandsMakeTexelVisibleMask = 0x00000200,+ SpvImageOperandsMakeTexelVisibleKHRMask = 0x00000200,+ SpvImageOperandsNonPrivateTexelMask = 0x00000400,+ SpvImageOperandsNonPrivateTexelKHRMask = 0x00000400,+ SpvImageOperandsVolatileTexelMask = 0x00000800,+ SpvImageOperandsVolatileTexelKHRMask = 0x00000800,+ SpvImageOperandsSignExtendMask = 0x00001000,+ SpvImageOperandsZeroExtendMask = 0x00002000,+ SpvImageOperandsNontemporalMask = 0x00004000,+ SpvImageOperandsOffsetsMask = 0x00010000,+} SpvImageOperandsMask;++typedef enum SpvFPFastMathModeShift_ {+ SpvFPFastMathModeNotNaNShift = 0,+ SpvFPFastMathModeNotInfShift = 1,+ SpvFPFastMathModeNSZShift = 2,+ SpvFPFastMathModeAllowRecipShift = 3,+ SpvFPFastMathModeFastShift = 4,+ SpvFPFastMathModeAllowContractShift = 16,+ SpvFPFastMathModeAllowContractFastINTELShift = 16,+ SpvFPFastMathModeAllowReassocShift = 17,+ SpvFPFastMathModeAllowReassocINTELShift = 17,+ SpvFPFastMathModeAllowTransformShift = 18,+ SpvFPFastMathModeMax = 0x7fffffff,+} SpvFPFastMathModeShift;++typedef enum SpvFPFastMathModeMask_ {+ SpvFPFastMathModeMaskNone = 0,+ SpvFPFastMathModeNotNaNMask = 0x00000001,+ SpvFPFastMathModeNotInfMask = 0x00000002,+ SpvFPFastMathModeNSZMask = 0x00000004,+ SpvFPFastMathModeAllowRecipMask = 0x00000008,+ SpvFPFastMathModeFastMask = 0x00000010,+ SpvFPFastMathModeAllowContractMask = 0x00010000,+ SpvFPFastMathModeAllowContractFastINTELMask = 0x00010000,+ SpvFPFastMathModeAllowReassocMask = 0x00020000,+ SpvFPFastMathModeAllowReassocINTELMask = 0x00020000,+ SpvFPFastMathModeAllowTransformMask = 0x00040000,+} SpvFPFastMathModeMask;++typedef enum SpvFPRoundingMode_ {+ SpvFPRoundingModeRTE = 0,+ SpvFPRoundingModeRTZ = 1,+ SpvFPRoundingModeRTP = 2,+ SpvFPRoundingModeRTN = 3,+ SpvFPRoundingModeMax = 0x7fffffff,+} SpvFPRoundingMode;++typedef enum SpvLinkageType_ {+ SpvLinkageTypeExport = 0,+ SpvLinkageTypeImport = 1,+ SpvLinkageTypeLinkOnceODR = 2,+ SpvLinkageTypeMax = 0x7fffffff,+} SpvLinkageType;++typedef enum SpvAccessQualifier_ {+ SpvAccessQualifierReadOnly = 0,+ SpvAccessQualifierWriteOnly = 1,+ SpvAccessQualifierReadWrite = 2,+ SpvAccessQualifierMax = 0x7fffffff,+} SpvAccessQualifier;++typedef enum SpvFunctionParameterAttribute_ {+ SpvFunctionParameterAttributeZext = 0,+ SpvFunctionParameterAttributeSext = 1,+ SpvFunctionParameterAttributeByVal = 2,+ SpvFunctionParameterAttributeSret = 3,+ SpvFunctionParameterAttributeNoAlias = 4,+ SpvFunctionParameterAttributeNoCapture = 5,+ SpvFunctionParameterAttributeNoWrite = 6,+ SpvFunctionParameterAttributeNoReadWrite = 7,+ SpvFunctionParameterAttributeRuntimeAlignedALTERA = 5940,+ SpvFunctionParameterAttributeRuntimeAlignedINTEL = 5940,+ SpvFunctionParameterAttributeMax = 0x7fffffff,+} SpvFunctionParameterAttribute;++typedef enum SpvDecoration_ {+ SpvDecorationRelaxedPrecision = 0,+ SpvDecorationSpecId = 1,+ SpvDecorationBlock = 2,+ SpvDecorationBufferBlock = 3,+ SpvDecorationRowMajor = 4,+ SpvDecorationColMajor = 5,+ SpvDecorationArrayStride = 6,+ SpvDecorationMatrixStride = 7,+ SpvDecorationGLSLShared = 8,+ SpvDecorationGLSLPacked = 9,+ SpvDecorationCPacked = 10,+ SpvDecorationBuiltIn = 11,+ SpvDecorationNoPerspective = 13,+ SpvDecorationFlat = 14,+ SpvDecorationPatch = 15,+ SpvDecorationCentroid = 16,+ SpvDecorationSample = 17,+ SpvDecorationInvariant = 18,+ SpvDecorationRestrict = 19,+ SpvDecorationAliased = 20,+ SpvDecorationVolatile = 21,+ SpvDecorationConstant = 22,+ SpvDecorationCoherent = 23,+ SpvDecorationNonWritable = 24,+ SpvDecorationNonReadable = 25,+ SpvDecorationUniform = 26,+ SpvDecorationUniformId = 27,+ SpvDecorationSaturatedConversion = 28,+ SpvDecorationStream = 29,+ SpvDecorationLocation = 30,+ SpvDecorationComponent = 31,+ SpvDecorationIndex = 32,+ SpvDecorationBinding = 33,+ SpvDecorationDescriptorSet = 34,+ SpvDecorationOffset = 35,+ SpvDecorationXfbBuffer = 36,+ SpvDecorationXfbStride = 37,+ SpvDecorationFuncParamAttr = 38,+ SpvDecorationFPRoundingMode = 39,+ SpvDecorationFPFastMathMode = 40,+ SpvDecorationLinkageAttributes = 41,+ SpvDecorationNoContraction = 42,+ SpvDecorationInputAttachmentIndex = 43,+ SpvDecorationAlignment = 44,+ SpvDecorationMaxByteOffset = 45,+ SpvDecorationAlignmentId = 46,+ SpvDecorationMaxByteOffsetId = 47,+ SpvDecorationSaturatedToLargestFloat8NormalConversionEXT = 4216,+ SpvDecorationNoSignedWrap = 4469,+ SpvDecorationNoUnsignedWrap = 4470,+ SpvDecorationWeightTextureQCOM = 4487,+ SpvDecorationBlockMatchTextureQCOM = 4488,+ SpvDecorationBlockMatchSamplerQCOM = 4499,+ SpvDecorationExplicitInterpAMD = 4999,+ SpvDecorationNodeSharesPayloadLimitsWithAMDX = 5019,+ SpvDecorationNodeMaxPayloadsAMDX = 5020,+ SpvDecorationTrackFinishWritingAMDX = 5078,+ SpvDecorationPayloadNodeNameAMDX = 5091,+ SpvDecorationPayloadNodeBaseIndexAMDX = 5098,+ SpvDecorationPayloadNodeSparseArrayAMDX = 5099,+ SpvDecorationPayloadNodeArraySizeAMDX = 5100,+ SpvDecorationPayloadDispatchIndirectAMDX = 5105,+ SpvDecorationArrayStrideIdEXT = 5124,+ SpvDecorationOffsetIdEXT = 5125,+ SpvDecorationUTFEncodedKHR = 5145,+ SpvDecorationOverrideCoverageNV = 5248,+ SpvDecorationPassthroughNV = 5250,+ SpvDecorationViewportRelativeNV = 5252,+ SpvDecorationSecondaryViewportRelativeNV = 5256,+ SpvDecorationPerPrimitiveEXT = 5271,+ SpvDecorationPerPrimitiveNV = 5271,+ SpvDecorationPerViewNV = 5272,+ SpvDecorationPerTaskNV = 5273,+ SpvDecorationPerVertexKHR = 5285,+ SpvDecorationPerVertexNV = 5285,+ SpvDecorationNonUniform = 5300,+ SpvDecorationNonUniformEXT = 5300,+ SpvDecorationRestrictPointer = 5355,+ SpvDecorationRestrictPointerEXT = 5355,+ SpvDecorationAliasedPointer = 5356,+ SpvDecorationAliasedPointerEXT = 5356,+ SpvDecorationMemberOffsetNV = 5358,+ SpvDecorationHitObjectShaderRecordBufferNV = 5386,+ SpvDecorationHitObjectShaderRecordBufferEXT = 5389,+ SpvDecorationBankNV = 5397,+ 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,+ SpvDecorationRegisterALTERA = 5825,+ SpvDecorationRegisterINTEL = 5825,+ SpvDecorationMemoryALTERA = 5826,+ SpvDecorationMemoryINTEL = 5826,+ SpvDecorationNumbanksALTERA = 5827,+ SpvDecorationNumbanksINTEL = 5827,+ SpvDecorationBankwidthALTERA = 5828,+ SpvDecorationBankwidthINTEL = 5828,+ SpvDecorationMaxPrivateCopiesALTERA = 5829,+ SpvDecorationMaxPrivateCopiesINTEL = 5829,+ SpvDecorationSinglepumpALTERA = 5830,+ SpvDecorationSinglepumpINTEL = 5830,+ SpvDecorationDoublepumpALTERA = 5831,+ SpvDecorationDoublepumpINTEL = 5831,+ SpvDecorationMaxReplicatesALTERA = 5832,+ SpvDecorationMaxReplicatesINTEL = 5832,+ SpvDecorationSimpleDualPortALTERA = 5833,+ SpvDecorationSimpleDualPortINTEL = 5833,+ SpvDecorationMergeALTERA = 5834,+ SpvDecorationMergeINTEL = 5834,+ SpvDecorationBankBitsALTERA = 5835,+ SpvDecorationBankBitsINTEL = 5835,+ SpvDecorationForcePow2DepthALTERA = 5836,+ SpvDecorationForcePow2DepthINTEL = 5836,+ SpvDecorationStridesizeALTERA = 5883,+ SpvDecorationStridesizeINTEL = 5883,+ SpvDecorationWordsizeALTERA = 5884,+ SpvDecorationWordsizeINTEL = 5884,+ SpvDecorationTrueDualPortALTERA = 5885,+ SpvDecorationTrueDualPortINTEL = 5885,+ SpvDecorationBurstCoalesceALTERA = 5899,+ SpvDecorationBurstCoalesceINTEL = 5899,+ SpvDecorationCacheSizeALTERA = 5900,+ SpvDecorationCacheSizeINTEL = 5900,+ SpvDecorationDontStaticallyCoalesceALTERA = 5901,+ SpvDecorationDontStaticallyCoalesceINTEL = 5901,+ SpvDecorationPrefetchALTERA = 5902,+ SpvDecorationPrefetchINTEL = 5902,+ SpvDecorationStallEnableALTERA = 5905,+ SpvDecorationStallEnableINTEL = 5905,+ SpvDecorationFuseLoopsInFunctionALTERA = 5907,+ SpvDecorationFuseLoopsInFunctionINTEL = 5907,+ SpvDecorationMathOpDSPModeALTERA = 5909,+ SpvDecorationMathOpDSPModeINTEL = 5909,+ SpvDecorationAliasScopeINTEL = 5914,+ SpvDecorationNoAliasINTEL = 5915,+ SpvDecorationInitiationIntervalALTERA = 5917,+ SpvDecorationInitiationIntervalINTEL = 5917,+ SpvDecorationMaxConcurrencyALTERA = 5918,+ SpvDecorationMaxConcurrencyINTEL = 5918,+ SpvDecorationPipelineEnableALTERA = 5919,+ SpvDecorationPipelineEnableINTEL = 5919,+ SpvDecorationBufferLocationALTERA = 5921,+ SpvDecorationBufferLocationINTEL = 5921,+ SpvDecorationIOPipeStorageALTERA = 5944,+ SpvDecorationIOPipeStorageINTEL = 5944,+ SpvDecorationFunctionFloatingPointModeINTEL = 6080,+ SpvDecorationSingleElementVectorINTEL = 6085,+ SpvDecorationVectorComputeCallableFunctionINTEL = 6087,+ SpvDecorationMediaBlockIOINTEL = 6140,+ SpvDecorationStallFreeALTERA = 6151,+ SpvDecorationStallFreeINTEL = 6151,+ SpvDecorationFPMaxErrorDecorationINTEL = 6170,+ SpvDecorationLatencyControlLabelALTERA = 6172,+ SpvDecorationLatencyControlLabelINTEL = 6172,+ SpvDecorationLatencyControlConstraintALTERA = 6173,+ SpvDecorationLatencyControlConstraintINTEL = 6173,+ SpvDecorationConduitKernelArgumentALTERA = 6175,+ SpvDecorationConduitKernelArgumentINTEL = 6175,+ SpvDecorationRegisterMapKernelArgumentALTERA = 6176,+ SpvDecorationRegisterMapKernelArgumentINTEL = 6176,+ SpvDecorationMMHostInterfaceAddressWidthALTERA = 6177,+ SpvDecorationMMHostInterfaceAddressWidthINTEL = 6177,+ SpvDecorationMMHostInterfaceDataWidthALTERA = 6178,+ SpvDecorationMMHostInterfaceDataWidthINTEL = 6178,+ SpvDecorationMMHostInterfaceLatencyALTERA = 6179,+ SpvDecorationMMHostInterfaceLatencyINTEL = 6179,+ SpvDecorationMMHostInterfaceReadWriteModeALTERA = 6180,+ SpvDecorationMMHostInterfaceReadWriteModeINTEL = 6180,+ SpvDecorationMMHostInterfaceMaxBurstALTERA = 6181,+ SpvDecorationMMHostInterfaceMaxBurstINTEL = 6181,+ SpvDecorationMMHostInterfaceWaitRequestALTERA = 6182,+ SpvDecorationMMHostInterfaceWaitRequestINTEL = 6182,+ SpvDecorationStableKernelArgumentALTERA = 6183,+ SpvDecorationStableKernelArgumentINTEL = 6183,+ SpvDecorationHostAccessINTEL = 6188,+ SpvDecorationInitModeALTERA = 6190,+ SpvDecorationInitModeINTEL = 6190,+ SpvDecorationImplementInRegisterMapALTERA = 6191,+ SpvDecorationImplementInRegisterMapINTEL = 6191,+ SpvDecorationConditionalINTEL = 6247,+ SpvDecorationCacheControlLoadINTEL = 6442,+ SpvDecorationCacheControlStoreINTEL = 6443,+ SpvDecorationMax = 0x7fffffff,+} SpvDecoration;++typedef enum SpvBuiltIn_ {+ SpvBuiltInPosition = 0,+ SpvBuiltInPointSize = 1,+ SpvBuiltInClipDistance = 3,+ SpvBuiltInCullDistance = 4,+ SpvBuiltInVertexId = 5,+ SpvBuiltInInstanceId = 6,+ SpvBuiltInPrimitiveId = 7,+ SpvBuiltInInvocationId = 8,+ SpvBuiltInLayer = 9,+ SpvBuiltInViewportIndex = 10,+ SpvBuiltInTessLevelOuter = 11,+ SpvBuiltInTessLevelInner = 12,+ SpvBuiltInTessCoord = 13,+ SpvBuiltInPatchVertices = 14,+ SpvBuiltInFragCoord = 15,+ SpvBuiltInPointCoord = 16,+ SpvBuiltInFrontFacing = 17,+ SpvBuiltInSampleId = 18,+ SpvBuiltInSamplePosition = 19,+ SpvBuiltInSampleMask = 20,+ SpvBuiltInFragDepth = 22,+ SpvBuiltInHelperInvocation = 23,+ SpvBuiltInNumWorkgroups = 24,+ SpvBuiltInWorkgroupSize = 25,+ SpvBuiltInWorkgroupId = 26,+ SpvBuiltInLocalInvocationId = 27,+ SpvBuiltInGlobalInvocationId = 28,+ SpvBuiltInLocalInvocationIndex = 29,+ SpvBuiltInWorkDim = 30,+ SpvBuiltInGlobalSize = 31,+ SpvBuiltInEnqueuedWorkgroupSize = 32,+ SpvBuiltInGlobalOffset = 33,+ SpvBuiltInGlobalLinearId = 34,+ SpvBuiltInSubgroupSize = 36,+ SpvBuiltInSubgroupMaxSize = 37,+ SpvBuiltInNumSubgroups = 38,+ SpvBuiltInNumEnqueuedSubgroups = 39,+ SpvBuiltInSubgroupId = 40,+ SpvBuiltInSubgroupLocalInvocationId = 41,+ SpvBuiltInVertexIndex = 42,+ SpvBuiltInInstanceIndex = 43,+ SpvBuiltInCoreIDARM = 4160,+ SpvBuiltInCoreCountARM = 4161,+ SpvBuiltInCoreMaxIDARM = 4162,+ SpvBuiltInWarpIDARM = 4163,+ SpvBuiltInWarpMaxIDARM = 4164,+ SpvBuiltInSubgroupEqMask = 4416,+ SpvBuiltInSubgroupEqMaskKHR = 4416,+ SpvBuiltInSubgroupGeMask = 4417,+ SpvBuiltInSubgroupGeMaskKHR = 4417,+ SpvBuiltInSubgroupGtMask = 4418,+ SpvBuiltInSubgroupGtMaskKHR = 4418,+ SpvBuiltInSubgroupLeMask = 4419,+ SpvBuiltInSubgroupLeMaskKHR = 4419,+ SpvBuiltInSubgroupLtMask = 4420,+ SpvBuiltInSubgroupLtMaskKHR = 4420,+ SpvBuiltInBaseVertex = 4424,+ SpvBuiltInBaseInstance = 4425,+ SpvBuiltInDrawIndex = 4426,+ SpvBuiltInPrimitiveShadingRateKHR = 4432,+ SpvBuiltInDeviceIndex = 4438,+ SpvBuiltInViewIndex = 4440,+ SpvBuiltInShadingRateKHR = 4444,+ SpvBuiltInTileOffsetQCOM = 4492,+ SpvBuiltInTileDimensionQCOM = 4493,+ SpvBuiltInTileApronSizeQCOM = 4494,+ SpvBuiltInBaryCoordNoPerspAMD = 4992,+ SpvBuiltInBaryCoordNoPerspCentroidAMD = 4993,+ SpvBuiltInBaryCoordNoPerspSampleAMD = 4994,+ SpvBuiltInBaryCoordSmoothAMD = 4995,+ SpvBuiltInBaryCoordSmoothCentroidAMD = 4996,+ SpvBuiltInBaryCoordSmoothSampleAMD = 4997,+ SpvBuiltInBaryCoordPullModelAMD = 4998,+ SpvBuiltInFragStencilRefEXT = 5014,+ SpvBuiltInRemainingRecursionLevelsAMDX = 5021,+ SpvBuiltInShaderIndexAMDX = 5073,+ SpvBuiltInSamplerHeapEXT = 5122,+ SpvBuiltInResourceHeapEXT = 5123,+ SpvBuiltInViewportMaskNV = 5253,+ SpvBuiltInSecondaryPositionNV = 5257,+ SpvBuiltInSecondaryViewportMaskNV = 5258,+ SpvBuiltInPositionPerViewNV = 5261,+ SpvBuiltInViewportMaskPerViewNV = 5262,+ SpvBuiltInFullyCoveredEXT = 5264,+ SpvBuiltInTaskCountNV = 5274,+ SpvBuiltInPrimitiveCountNV = 5275,+ SpvBuiltInPrimitiveIndicesNV = 5276,+ SpvBuiltInClipDistancePerViewNV = 5277,+ SpvBuiltInCullDistancePerViewNV = 5278,+ 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,+ SpvBuiltInLaunchSizeNV = 5320,+ SpvBuiltInWorldRayOriginKHR = 5321,+ SpvBuiltInWorldRayOriginNV = 5321,+ SpvBuiltInWorldRayDirectionKHR = 5322,+ SpvBuiltInWorldRayDirectionNV = 5322,+ SpvBuiltInObjectRayOriginKHR = 5323,+ SpvBuiltInObjectRayOriginNV = 5323,+ SpvBuiltInObjectRayDirectionKHR = 5324,+ SpvBuiltInObjectRayDirectionNV = 5324,+ SpvBuiltInRayTminKHR = 5325,+ SpvBuiltInRayTminNV = 5325,+ SpvBuiltInRayTmaxKHR = 5326,+ SpvBuiltInRayTmaxNV = 5326,+ SpvBuiltInInstanceCustomIndexKHR = 5327,+ SpvBuiltInInstanceCustomIndexNV = 5327,+ SpvBuiltInObjectToWorldKHR = 5330,+ SpvBuiltInObjectToWorldNV = 5330,+ SpvBuiltInWorldToObjectKHR = 5331,+ SpvBuiltInWorldToObjectNV = 5331,+ SpvBuiltInHitTNV = 5332,+ SpvBuiltInHitKindKHR = 5333,+ SpvBuiltInHitKindNV = 5333,+ SpvBuiltInCurrentRayTimeNV = 5334,+ SpvBuiltInHitTriangleVertexPositionsKHR = 5335,+ SpvBuiltInHitMicroTriangleVertexPositionsNV = 5337,+ SpvBuiltInHitMicroTriangleVertexBarycentricsNV = 5344,+ SpvBuiltInIncomingRayFlagsKHR = 5351,+ SpvBuiltInIncomingRayFlagsNV = 5351,+ SpvBuiltInRayGeometryIndexKHR = 5352,+ SpvBuiltInHitIsSphereNV = 5359,+ SpvBuiltInHitIsLSSNV = 5360,+ SpvBuiltInHitSpherePositionNV = 5361,+ SpvBuiltInWarpsPerSMNV = 5374,+ SpvBuiltInSMCountNV = 5375,+ SpvBuiltInWarpIDNV = 5376,+ SpvBuiltInSMIDNV = 5377,+ SpvBuiltInHitLSSPositionsNV = 5396,+ SpvBuiltInHitKindFrontFacingMicroTriangleNV = 5405,+ SpvBuiltInHitKindBackFacingMicroTriangleNV = 5406,+ SpvBuiltInHitSphereRadiusNV = 5420,+ SpvBuiltInHitLSSRadiiNV = 5421,+ SpvBuiltInClusterIDNV = 5436,+ SpvBuiltInCullMaskKHR = 6021,+ SpvBuiltInMax = 0x7fffffff,+} SpvBuiltIn;++typedef enum SpvSelectionControlShift_ {+ SpvSelectionControlFlattenShift = 0,+ SpvSelectionControlDontFlattenShift = 1,+ SpvSelectionControlMax = 0x7fffffff,+} SpvSelectionControlShift;++typedef enum SpvSelectionControlMask_ {+ SpvSelectionControlMaskNone = 0,+ SpvSelectionControlFlattenMask = 0x00000001,+ SpvSelectionControlDontFlattenMask = 0x00000002,+} SpvSelectionControlMask;++typedef enum SpvLoopControlShift_ {+ SpvLoopControlUnrollShift = 0,+ SpvLoopControlDontUnrollShift = 1,+ SpvLoopControlDependencyInfiniteShift = 2,+ SpvLoopControlDependencyLengthShift = 3,+ SpvLoopControlMinIterationsShift = 4,+ SpvLoopControlMaxIterationsShift = 5,+ SpvLoopControlIterationMultipleShift = 6,+ SpvLoopControlPeelCountShift = 7,+ SpvLoopControlPartialCountShift = 8,+ SpvLoopControlInitiationIntervalALTERAShift = 16,+ SpvLoopControlInitiationIntervalINTELShift = 16,+ SpvLoopControlMaxConcurrencyALTERAShift = 17,+ SpvLoopControlMaxConcurrencyINTELShift = 17,+ SpvLoopControlDependencyArrayALTERAShift = 18,+ SpvLoopControlDependencyArrayINTELShift = 18,+ SpvLoopControlPipelineEnableALTERAShift = 19,+ SpvLoopControlPipelineEnableINTELShift = 19,+ SpvLoopControlLoopCoalesceALTERAShift = 20,+ SpvLoopControlLoopCoalesceINTELShift = 20,+ SpvLoopControlMaxInterleavingALTERAShift = 21,+ SpvLoopControlMaxInterleavingINTELShift = 21,+ SpvLoopControlSpeculatedIterationsALTERAShift = 22,+ SpvLoopControlSpeculatedIterationsINTELShift = 22,+ SpvLoopControlNoFusionALTERAShift = 23,+ SpvLoopControlNoFusionINTELShift = 23,+ SpvLoopControlLoopCountALTERAShift = 24,+ SpvLoopControlLoopCountINTELShift = 24,+ SpvLoopControlMaxReinvocationDelayALTERAShift = 25,+ SpvLoopControlMaxReinvocationDelayINTELShift = 25,+ SpvLoopControlMax = 0x7fffffff,+} SpvLoopControlShift;++typedef enum SpvLoopControlMask_ {+ SpvLoopControlMaskNone = 0,+ SpvLoopControlUnrollMask = 0x00000001,+ SpvLoopControlDontUnrollMask = 0x00000002,+ SpvLoopControlDependencyInfiniteMask = 0x00000004,+ SpvLoopControlDependencyLengthMask = 0x00000008,+ SpvLoopControlMinIterationsMask = 0x00000010,+ SpvLoopControlMaxIterationsMask = 0x00000020,+ SpvLoopControlIterationMultipleMask = 0x00000040,+ SpvLoopControlPeelCountMask = 0x00000080,+ SpvLoopControlPartialCountMask = 0x00000100,+ SpvLoopControlInitiationIntervalALTERAMask = 0x00010000,+ SpvLoopControlInitiationIntervalINTELMask = 0x00010000,+ SpvLoopControlMaxConcurrencyALTERAMask = 0x00020000,+ SpvLoopControlMaxConcurrencyINTELMask = 0x00020000,+ SpvLoopControlDependencyArrayALTERAMask = 0x00040000,+ SpvLoopControlDependencyArrayINTELMask = 0x00040000,+ SpvLoopControlPipelineEnableALTERAMask = 0x00080000,+ SpvLoopControlPipelineEnableINTELMask = 0x00080000,+ SpvLoopControlLoopCoalesceALTERAMask = 0x00100000,+ SpvLoopControlLoopCoalesceINTELMask = 0x00100000,+ SpvLoopControlMaxInterleavingALTERAMask = 0x00200000,+ SpvLoopControlMaxInterleavingINTELMask = 0x00200000,+ SpvLoopControlSpeculatedIterationsALTERAMask = 0x00400000,+ SpvLoopControlSpeculatedIterationsINTELMask = 0x00400000,+ SpvLoopControlNoFusionALTERAMask = 0x00800000,+ SpvLoopControlNoFusionINTELMask = 0x00800000,+ SpvLoopControlLoopCountALTERAMask = 0x01000000,+ SpvLoopControlLoopCountINTELMask = 0x01000000,+ SpvLoopControlMaxReinvocationDelayALTERAMask = 0x02000000,+ SpvLoopControlMaxReinvocationDelayINTELMask = 0x02000000,+} SpvLoopControlMask;++typedef enum SpvFunctionControlShift_ {+ SpvFunctionControlInlineShift = 0,+ SpvFunctionControlDontInlineShift = 1,+ SpvFunctionControlPureShift = 2,+ SpvFunctionControlConstShift = 3,+ SpvFunctionControlOptNoneEXTShift = 16,+ SpvFunctionControlOptNoneINTELShift = 16,+ SpvFunctionControlMax = 0x7fffffff,+} SpvFunctionControlShift;++typedef enum SpvFunctionControlMask_ {+ SpvFunctionControlMaskNone = 0,+ SpvFunctionControlInlineMask = 0x00000001,+ SpvFunctionControlDontInlineMask = 0x00000002,+ SpvFunctionControlPureMask = 0x00000004,+ SpvFunctionControlConstMask = 0x00000008,+ SpvFunctionControlOptNoneEXTMask = 0x00010000,+ SpvFunctionControlOptNoneINTELMask = 0x00010000,+} SpvFunctionControlMask;++typedef enum SpvMemorySemanticsShift_ {+ SpvMemorySemanticsAcquireShift = 1,+ SpvMemorySemanticsReleaseShift = 2,+ SpvMemorySemanticsAcquireReleaseShift = 3,+ SpvMemorySemanticsSequentiallyConsistentShift = 4,+ SpvMemorySemanticsUniformMemoryShift = 6,+ SpvMemorySemanticsSubgroupMemoryShift = 7,+ SpvMemorySemanticsWorkgroupMemoryShift = 8,+ SpvMemorySemanticsCrossWorkgroupMemoryShift = 9,+ SpvMemorySemanticsAtomicCounterMemoryShift = 10,+ SpvMemorySemanticsImageMemoryShift = 11,+ SpvMemorySemanticsOutputMemoryShift = 12,+ SpvMemorySemanticsOutputMemoryKHRShift = 12,+ SpvMemorySemanticsMakeAvailableShift = 13,+ SpvMemorySemanticsMakeAvailableKHRShift = 13,+ SpvMemorySemanticsMakeVisibleShift = 14,+ SpvMemorySemanticsMakeVisibleKHRShift = 14,+ SpvMemorySemanticsVolatileShift = 15,+ SpvMemorySemanticsMax = 0x7fffffff,+} SpvMemorySemanticsShift;++typedef enum SpvMemorySemanticsMask_ {+ SpvMemorySemanticsMaskNone = 0,+ SpvMemorySemanticsAcquireMask = 0x00000002,+ SpvMemorySemanticsReleaseMask = 0x00000004,+ SpvMemorySemanticsAcquireReleaseMask = 0x00000008,+ SpvMemorySemanticsSequentiallyConsistentMask = 0x00000010,+ SpvMemorySemanticsUniformMemoryMask = 0x00000040,+ SpvMemorySemanticsSubgroupMemoryMask = 0x00000080,+ SpvMemorySemanticsWorkgroupMemoryMask = 0x00000100,+ SpvMemorySemanticsCrossWorkgroupMemoryMask = 0x00000200,+ SpvMemorySemanticsAtomicCounterMemoryMask = 0x00000400,+ SpvMemorySemanticsImageMemoryMask = 0x00000800,+ SpvMemorySemanticsOutputMemoryMask = 0x00001000,+ SpvMemorySemanticsOutputMemoryKHRMask = 0x00001000,+ SpvMemorySemanticsMakeAvailableMask = 0x00002000,+ SpvMemorySemanticsMakeAvailableKHRMask = 0x00002000,+ SpvMemorySemanticsMakeVisibleMask = 0x00004000,+ SpvMemorySemanticsMakeVisibleKHRMask = 0x00004000,+ SpvMemorySemanticsVolatileMask = 0x00008000,+} SpvMemorySemanticsMask;++typedef enum SpvMemoryAccessShift_ {+ SpvMemoryAccessVolatileShift = 0,+ SpvMemoryAccessAlignedShift = 1,+ SpvMemoryAccessNontemporalShift = 2,+ SpvMemoryAccessMakePointerAvailableShift = 3,+ SpvMemoryAccessMakePointerAvailableKHRShift = 3,+ SpvMemoryAccessMakePointerVisibleShift = 4,+ SpvMemoryAccessMakePointerVisibleKHRShift = 4,+ SpvMemoryAccessNonPrivatePointerShift = 5,+ SpvMemoryAccessNonPrivatePointerKHRShift = 5,+ SpvMemoryAccessAliasScopeINTELMaskShift = 16,+ SpvMemoryAccessNoAliasINTELMaskShift = 17,+ SpvMemoryAccessMax = 0x7fffffff,+} SpvMemoryAccessShift;++typedef enum SpvMemoryAccessMask_ {+ SpvMemoryAccessMaskNone = 0,+ SpvMemoryAccessVolatileMask = 0x00000001,+ SpvMemoryAccessAlignedMask = 0x00000002,+ SpvMemoryAccessNontemporalMask = 0x00000004,+ SpvMemoryAccessMakePointerAvailableMask = 0x00000008,+ SpvMemoryAccessMakePointerAvailableKHRMask = 0x00000008,+ SpvMemoryAccessMakePointerVisibleMask = 0x00000010,+ SpvMemoryAccessMakePointerVisibleKHRMask = 0x00000010,+ SpvMemoryAccessNonPrivatePointerMask = 0x00000020,+ SpvMemoryAccessNonPrivatePointerKHRMask = 0x00000020,+ SpvMemoryAccessAliasScopeINTELMaskMask = 0x00010000,+ SpvMemoryAccessNoAliasINTELMaskMask = 0x00020000,+} SpvMemoryAccessMask;++typedef enum SpvScope_ {+ SpvScopeCrossDevice = 0,+ SpvScopeDevice = 1,+ SpvScopeWorkgroup = 2,+ SpvScopeSubgroup = 3,+ SpvScopeInvocation = 4,+ SpvScopeQueueFamily = 5,+ SpvScopeQueueFamilyKHR = 5,+ SpvScopeShaderCallKHR = 6,+ SpvScopeMax = 0x7fffffff,+} SpvScope;++typedef enum SpvGroupOperation_ {+ SpvGroupOperationReduce = 0,+ SpvGroupOperationInclusiveScan = 1,+ SpvGroupOperationExclusiveScan = 2,+ SpvGroupOperationClusteredReduce = 3,+ SpvGroupOperationPartitionedReduceEXT = 6,+ SpvGroupOperationPartitionedReduceNV = 6,+ SpvGroupOperationPartitionedInclusiveScanEXT = 7,+ SpvGroupOperationPartitionedInclusiveScanNV = 7,+ SpvGroupOperationPartitionedExclusiveScanEXT = 8,+ SpvGroupOperationPartitionedExclusiveScanNV = 8,+ SpvGroupOperationMax = 0x7fffffff,+} SpvGroupOperation;++typedef enum SpvKernelEnqueueFlags_ {+ SpvKernelEnqueueFlagsNoWait = 0,+ SpvKernelEnqueueFlagsWaitKernel = 1,+ SpvKernelEnqueueFlagsWaitWorkGroup = 2,+ SpvKernelEnqueueFlagsMax = 0x7fffffff,+} SpvKernelEnqueueFlags;++typedef enum SpvKernelProfilingInfoShift_ {+ SpvKernelProfilingInfoCmdExecTimeShift = 0,+ SpvKernelProfilingInfoMax = 0x7fffffff,+} SpvKernelProfilingInfoShift;++typedef enum SpvKernelProfilingInfoMask_ {+ SpvKernelProfilingInfoMaskNone = 0,+ SpvKernelProfilingInfoCmdExecTimeMask = 0x00000001,+} SpvKernelProfilingInfoMask;++typedef enum SpvCapability_ {+ SpvCapabilityMatrix = 0,+ SpvCapabilityShader = 1,+ SpvCapabilityGeometry = 2,+ SpvCapabilityTessellation = 3,+ SpvCapabilityAddresses = 4,+ SpvCapabilityLinkage = 5,+ SpvCapabilityKernel = 6,+ SpvCapabilityVector16 = 7,+ SpvCapabilityFloat16Buffer = 8,+ SpvCapabilityFloat16 = 9,+ SpvCapabilityFloat64 = 10,+ SpvCapabilityInt64 = 11,+ SpvCapabilityInt64Atomics = 12,+ SpvCapabilityImageBasic = 13,+ SpvCapabilityImageReadWrite = 14,+ SpvCapabilityImageMipmap = 15,+ SpvCapabilityPipes = 17,+ SpvCapabilityGroups = 18,+ SpvCapabilityDeviceEnqueue = 19,+ SpvCapabilityLiteralSampler = 20,+ SpvCapabilityAtomicStorage = 21,+ SpvCapabilityInt16 = 22,+ SpvCapabilityTessellationPointSize = 23,+ SpvCapabilityGeometryPointSize = 24,+ SpvCapabilityImageGatherExtended = 25,+ SpvCapabilityStorageImageMultisample = 27,+ SpvCapabilityUniformBufferArrayDynamicIndexing = 28,+ SpvCapabilitySampledImageArrayDynamicIndexing = 29,+ SpvCapabilityStorageBufferArrayDynamicIndexing = 30,+ SpvCapabilityStorageImageArrayDynamicIndexing = 31,+ SpvCapabilityClipDistance = 32,+ SpvCapabilityCullDistance = 33,+ SpvCapabilityImageCubeArray = 34,+ SpvCapabilitySampleRateShading = 35,+ SpvCapabilityImageRect = 36,+ SpvCapabilitySampledRect = 37,+ SpvCapabilityGenericPointer = 38,+ SpvCapabilityInt8 = 39,+ SpvCapabilityInputAttachment = 40,+ SpvCapabilitySparseResidency = 41,+ SpvCapabilityMinLod = 42,+ SpvCapabilitySampled1D = 43,+ SpvCapabilityImage1D = 44,+ SpvCapabilitySampledCubeArray = 45,+ SpvCapabilitySampledBuffer = 46,+ SpvCapabilityImageBuffer = 47,+ SpvCapabilityImageMSArray = 48,+ SpvCapabilityStorageImageExtendedFormats = 49,+ SpvCapabilityImageQuery = 50,+ SpvCapabilityDerivativeControl = 51,+ SpvCapabilityInterpolationFunction = 52,+ SpvCapabilityTransformFeedback = 53,+ SpvCapabilityGeometryStreams = 54,+ SpvCapabilityStorageImageReadWithoutFormat = 55,+ SpvCapabilityStorageImageWriteWithoutFormat = 56,+ SpvCapabilityMultiViewport = 57,+ SpvCapabilitySubgroupDispatch = 58,+ SpvCapabilityNamedBarrier = 59,+ SpvCapabilityPipeStorage = 60,+ SpvCapabilityGroupNonUniform = 61,+ SpvCapabilityGroupNonUniformVote = 62,+ SpvCapabilityGroupNonUniformArithmetic = 63,+ SpvCapabilityGroupNonUniformBallot = 64,+ SpvCapabilityGroupNonUniformShuffle = 65,+ SpvCapabilityGroupNonUniformShuffleRelative = 66,+ SpvCapabilityGroupNonUniformClustered = 67,+ SpvCapabilityGroupNonUniformQuad = 68,+ SpvCapabilityShaderLayer = 69,+ SpvCapabilityShaderViewportIndex = 70,+ SpvCapabilityUniformDecoration = 71,+ SpvCapabilityCoreBuiltinsARM = 4165,+ SpvCapabilityTileImageColorReadAccessEXT = 4166,+ SpvCapabilityTileImageDepthReadAccessEXT = 4167,+ SpvCapabilityTileImageStencilReadAccessEXT = 4168,+ SpvCapabilityTensorsARM = 4174,+ SpvCapabilityStorageTensorArrayDynamicIndexingARM = 4175,+ SpvCapabilityStorageTensorArrayNonUniformIndexingARM = 4176,+ SpvCapabilityGraphARM = 4191,+ SpvCapabilityCooperativeMatrixLayoutsARM = 4201,+ SpvCapabilityFloat8EXT = 4212,+ SpvCapabilityFloat8CooperativeMatrixEXT = 4213,+ SpvCapabilityFragmentShadingRateKHR = 4422,+ SpvCapabilitySubgroupBallotKHR = 4423,+ SpvCapabilityDrawParameters = 4427,+ SpvCapabilityWorkgroupMemoryExplicitLayoutKHR = 4428,+ SpvCapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,+ SpvCapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,+ SpvCapabilitySubgroupVoteKHR = 4431,+ SpvCapabilityStorageBuffer16BitAccess = 4433,+ SpvCapabilityStorageUniformBufferBlock16 = 4433,+ SpvCapabilityStorageUniform16 = 4434,+ SpvCapabilityUniformAndStorageBuffer16BitAccess = 4434,+ SpvCapabilityStoragePushConstant16 = 4435,+ SpvCapabilityStorageInputOutput16 = 4436,+ SpvCapabilityDeviceGroup = 4437,+ SpvCapabilityMultiView = 4439,+ SpvCapabilityVariablePointersStorageBuffer = 4441,+ SpvCapabilityVariablePointers = 4442,+ SpvCapabilityAtomicStorageOps = 4445,+ SpvCapabilitySampleMaskPostDepthCoverage = 4447,+ SpvCapabilityStorageBuffer8BitAccess = 4448,+ SpvCapabilityUniformAndStorageBuffer8BitAccess = 4449,+ SpvCapabilityStoragePushConstant8 = 4450,+ SpvCapabilityDenormPreserve = 4464,+ SpvCapabilityDenormFlushToZero = 4465,+ SpvCapabilitySignedZeroInfNanPreserve = 4466,+ SpvCapabilityRoundingModeRTE = 4467,+ SpvCapabilityRoundingModeRTZ = 4468,+ SpvCapabilityRayQueryProvisionalKHR = 4471,+ SpvCapabilityRayQueryKHR = 4472,+ SpvCapabilityUntypedPointersKHR = 4473,+ SpvCapabilityRayTraversalPrimitiveCullingKHR = 4478,+ SpvCapabilityRayTracingKHR = 4479,+ SpvCapabilityTextureSampleWeightedQCOM = 4484,+ SpvCapabilityTextureBoxFilterQCOM = 4485,+ SpvCapabilityTextureBlockMatchQCOM = 4486,+ SpvCapabilityTileShadingQCOM = 4495,+ SpvCapabilityCooperativeMatrixConversionQCOM = 4496,+ SpvCapabilityTextureBlockMatch2QCOM = 4498,+ SpvCapabilityFloat16ImageAMD = 5008,+ SpvCapabilityImageGatherBiasLodAMD = 5009,+ SpvCapabilityFragmentMaskAMD = 5010,+ SpvCapabilityStencilExportEXT = 5013,+ SpvCapabilityImageReadWriteLodAMD = 5015,+ SpvCapabilityInt64ImageEXT = 5016,+ SpvCapabilityShaderClockKHR = 5055,+ SpvCapabilityShaderEnqueueAMDX = 5067,+ SpvCapabilityQuadControlKHR = 5087,+ SpvCapabilityInt4TypeINTEL = 5112,+ SpvCapabilityInt4CooperativeMatrixINTEL = 5114,+ SpvCapabilityBFloat16TypeKHR = 5116,+ SpvCapabilityBFloat16DotProductKHR = 5117,+ SpvCapabilityBFloat16CooperativeMatrixKHR = 5118,+ SpvCapabilityAbortKHR = 5120,+ SpvCapabilityDescriptorHeapEXT = 5128,+ SpvCapabilityConstantDataKHR = 5146,+ SpvCapabilityPoisonFreezeKHR = 5156,+ SpvCapabilitySampleMaskOverrideCoverageNV = 5249,+ SpvCapabilityGeometryShaderPassthroughNV = 5251,+ SpvCapabilityShaderViewportIndexLayerEXT = 5254,+ SpvCapabilityShaderViewportIndexLayerNV = 5254,+ SpvCapabilityShaderViewportMaskNV = 5255,+ SpvCapabilityShaderStereoViewNV = 5259,+ SpvCapabilityPerViewAttributesNV = 5260,+ SpvCapabilityFragmentFullyCoveredEXT = 5265,+ SpvCapabilityMeshShadingNV = 5266,+ SpvCapabilityImageFootprintNV = 5282,+ SpvCapabilityMeshShadingEXT = 5283,+ SpvCapabilityFragmentBarycentricKHR = 5284,+ SpvCapabilityFragmentBarycentricNV = 5284,+ SpvCapabilityComputeDerivativeGroupQuadsKHR = 5288,+ SpvCapabilityComputeDerivativeGroupQuadsNV = 5288,+ SpvCapabilityFragmentDensityEXT = 5291,+ SpvCapabilityShadingRateNV = 5291,+ SpvCapabilityGroupNonUniformPartitionedEXT = 5297,+ SpvCapabilityGroupNonUniformPartitionedNV = 5297,+ SpvCapabilityShaderNonUniform = 5301,+ SpvCapabilityShaderNonUniformEXT = 5301,+ SpvCapabilityRuntimeDescriptorArray = 5302,+ SpvCapabilityRuntimeDescriptorArrayEXT = 5302,+ SpvCapabilityInputAttachmentArrayDynamicIndexing = 5303,+ SpvCapabilityInputAttachmentArrayDynamicIndexingEXT = 5303,+ SpvCapabilityUniformTexelBufferArrayDynamicIndexing = 5304,+ SpvCapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304,+ SpvCapabilityStorageTexelBufferArrayDynamicIndexing = 5305,+ SpvCapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305,+ SpvCapabilityUniformBufferArrayNonUniformIndexing = 5306,+ SpvCapabilityUniformBufferArrayNonUniformIndexingEXT = 5306,+ SpvCapabilitySampledImageArrayNonUniformIndexing = 5307,+ SpvCapabilitySampledImageArrayNonUniformIndexingEXT = 5307,+ SpvCapabilityStorageBufferArrayNonUniformIndexing = 5308,+ SpvCapabilityStorageBufferArrayNonUniformIndexingEXT = 5308,+ SpvCapabilityStorageImageArrayNonUniformIndexing = 5309,+ SpvCapabilityStorageImageArrayNonUniformIndexingEXT = 5309,+ SpvCapabilityInputAttachmentArrayNonUniformIndexing = 5310,+ SpvCapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,+ SpvCapabilityUniformTexelBufferArrayNonUniformIndexing = 5311,+ SpvCapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,+ SpvCapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,+ SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,+ SpvCapabilityRayTracingPositionFetchKHR = 5336,+ SpvCapabilityRayTracingNV = 5340,+ SpvCapabilityRayTracingMotionBlurNV = 5341,+ SpvCapabilityVulkanMemoryModel = 5345,+ SpvCapabilityVulkanMemoryModelKHR = 5345,+ SpvCapabilityVulkanMemoryModelDeviceScope = 5346,+ SpvCapabilityVulkanMemoryModelDeviceScopeKHR = 5346,+ SpvCapabilityPhysicalStorageBufferAddresses = 5347,+ SpvCapabilityPhysicalStorageBufferAddressesEXT = 5347,+ SpvCapabilityComputeDerivativeGroupLinearKHR = 5350,+ SpvCapabilityComputeDerivativeGroupLinearNV = 5350,+ SpvCapabilityRayTracingProvisionalKHR = 5353,+ SpvCapabilityCooperativeMatrixNV = 5357,+ SpvCapabilityFragmentShaderSampleInterlockEXT = 5363,+ SpvCapabilityFragmentShaderShadingRateInterlockEXT = 5372,+ SpvCapabilityShaderSMBuiltinsNV = 5373,+ SpvCapabilityFragmentShaderPixelInterlockEXT = 5378,+ SpvCapabilityDemoteToHelperInvocation = 5379,+ SpvCapabilityDemoteToHelperInvocationEXT = 5379,+ SpvCapabilityDisplacementMicromapNV = 5380,+ SpvCapabilityRayTracingOpacityMicromapEXT = 5381,+ SpvCapabilityShaderInvocationReorderNV = 5383,+ SpvCapabilityShaderInvocationReorderEXT = 5388,+ SpvCapabilityBindlessTextureNV = 5390,+ SpvCapabilityRayQueryPositionFetchKHR = 5391,+ SpvCapabilityCooperativeVectorNV = 5394,+ SpvCapabilityAtomicFloat16VectorNV = 5404,+ SpvCapabilityRayTracingDisplacementMicromapNV = 5409,+ SpvCapabilityRawAccessChainsNV = 5414,+ SpvCapabilityRayTracingSpheresGeometryNV = 5418,+ SpvCapabilityRayTracingLinearSweptSpheresGeometryNV = 5419,+ SpvCapabilityPushConstantBanksNV = 5423,+ SpvCapabilityLongVectorEXT = 5425,+ SpvCapabilityShader64BitIndexingEXT = 5426,+ SpvCapabilityCooperativeMatrixReductionsNV = 5430,+ SpvCapabilityCooperativeMatrixConversionsNV = 5431,+ SpvCapabilityCooperativeMatrixPerElementOperationsNV = 5432,+ SpvCapabilityCooperativeMatrixTensorAddressingNV = 5433,+ SpvCapabilityCooperativeMatrixBlockLoadsNV = 5434,+ SpvCapabilityCooperativeVectorTrainingNV = 5435,+ SpvCapabilityRayTracingClusterAccelerationStructureNV = 5437,+ SpvCapabilityTensorAddressingNV = 5439,+ 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,+ SpvCapabilityFPGAMemoryAttributesALTERA = 5824,+ SpvCapabilityFPGAMemoryAttributesINTEL = 5824,+ SpvCapabilityFPFastMathModeINTEL = 5837,+ SpvCapabilityArbitraryPrecisionIntegersALTERA = 5844,+ SpvCapabilityArbitraryPrecisionIntegersINTEL = 5844,+ SpvCapabilityArbitraryPrecisionFloatingPointALTERA = 5845,+ SpvCapabilityArbitraryPrecisionFloatingPointINTEL = 5845,+ SpvCapabilityUnstructuredLoopControlsINTEL = 5886,+ SpvCapabilityFPGALoopControlsALTERA = 5888,+ SpvCapabilityFPGALoopControlsINTEL = 5888,+ SpvCapabilityKernelAttributesINTEL = 5892,+ SpvCapabilityFPGAKernelAttributesINTEL = 5897,+ SpvCapabilityFPGAMemoryAccessesALTERA = 5898,+ SpvCapabilityFPGAMemoryAccessesINTEL = 5898,+ SpvCapabilityFPGAClusterAttributesALTERA = 5904,+ SpvCapabilityFPGAClusterAttributesINTEL = 5904,+ SpvCapabilityLoopFuseALTERA = 5906,+ SpvCapabilityLoopFuseINTEL = 5906,+ SpvCapabilityFPGADSPControlALTERA = 5908,+ SpvCapabilityFPGADSPControlINTEL = 5908,+ SpvCapabilityMemoryAccessAliasingINTEL = 5910,+ SpvCapabilityFPGAInvocationPipeliningAttributesALTERA = 5916,+ SpvCapabilityFPGAInvocationPipeliningAttributesINTEL = 5916,+ SpvCapabilityFPGABufferLocationALTERA = 5920,+ SpvCapabilityFPGABufferLocationINTEL = 5920,+ SpvCapabilityArbitraryPrecisionFixedPointALTERA = 5922,+ SpvCapabilityArbitraryPrecisionFixedPointINTEL = 5922,+ SpvCapabilityUSMStorageClassesALTERA = 5935,+ SpvCapabilityUSMStorageClassesINTEL = 5935,+ SpvCapabilityRuntimeAlignedAttributeALTERA = 5939,+ SpvCapabilityRuntimeAlignedAttributeINTEL = 5939,+ SpvCapabilityIOPipesALTERA = 5943,+ SpvCapabilityIOPipesINTEL = 5943,+ SpvCapabilityBlockingPipesALTERA = 5945,+ SpvCapabilityBlockingPipesINTEL = 5945,+ SpvCapabilityFPGARegALTERA = 5948,+ SpvCapabilityFPGARegINTEL = 5948,+ SpvCapabilityDotProductInputAll = 6016,+ SpvCapabilityDotProductInputAllKHR = 6016,+ SpvCapabilityDotProductInput4x8Bit = 6017,+ SpvCapabilityDotProductInput4x8BitKHR = 6017,+ SpvCapabilityDotProductInput4x8BitPacked = 6018,+ SpvCapabilityDotProductInput4x8BitPackedKHR = 6018,+ SpvCapabilityDotProduct = 6019,+ SpvCapabilityDotProductKHR = 6019,+ SpvCapabilityRayCullMaskKHR = 6020,+ SpvCapabilityCooperativeMatrixKHR = 6022,+ SpvCapabilityReplicatedCompositesEXT = 6024,+ SpvCapabilityBitInstructions = 6025,+ SpvCapabilityGroupNonUniformRotateKHR = 6026,+ SpvCapabilityFloatControls2 = 6029,+ SpvCapabilityFMAKHR = 6030,+ SpvCapabilityAtomicFloat32AddEXT = 6033,+ SpvCapabilityAtomicFloat64AddEXT = 6034,+ SpvCapabilityLongCompositesINTEL = 6089,+ SpvCapabilityOptNoneEXT = 6094,+ SpvCapabilityOptNoneINTEL = 6094,+ SpvCapabilityAtomicFloat16AddEXT = 6095,+ SpvCapabilityDebugInfoModuleINTEL = 6114,+ SpvCapabilityBFloat16ConversionINTEL = 6115,+ SpvCapabilitySplitBarrierINTEL = 6141,+ SpvCapabilityArithmeticFenceEXT = 6144,+ SpvCapabilityFPGAClusterAttributesV2ALTERA = 6150,+ SpvCapabilityFPGAClusterAttributesV2INTEL = 6150,+ SpvCapabilityFPGAKernelAttributesv2INTEL = 6161,+ SpvCapabilityTaskSequenceALTERA = 6162,+ SpvCapabilityTaskSequenceINTEL = 6162,+ SpvCapabilityFPMaxErrorINTEL = 6169,+ SpvCapabilityFPGALatencyControlALTERA = 6171,+ SpvCapabilityFPGALatencyControlINTEL = 6171,+ SpvCapabilityFPGAArgumentInterfacesALTERA = 6174,+ SpvCapabilityFPGAArgumentInterfacesINTEL = 6174,+ SpvCapabilityGlobalVariableHostAccessINTEL = 6187,+ SpvCapabilityGlobalVariableFPGADecorationsALTERA = 6189,+ SpvCapabilityGlobalVariableFPGADecorationsINTEL = 6189,+ SpvCapabilitySubgroupBufferPrefetchINTEL = 6220,+ SpvCapabilitySubgroup2DBlockIOINTEL = 6228,+ SpvCapabilitySubgroup2DBlockTransformINTEL = 6229,+ SpvCapabilitySubgroup2DBlockTransposeINTEL = 6230,+ SpvCapabilitySubgroupMatrixMultiplyAccumulateINTEL = 6236,+ SpvCapabilityTernaryBitwiseFunctionINTEL = 6241,+ SpvCapabilityUntypedVariableLengthArrayINTEL = 6243,+ SpvCapabilitySpecConditionalINTEL = 6245,+ SpvCapabilityFunctionVariantsINTEL = 6246,+ SpvCapabilityGroupUniformArithmeticKHR = 6400,+ SpvCapabilityTensorFloat32RoundingINTEL = 6425,+ SpvCapabilityMaskedGatherScatterINTEL = 6427,+ SpvCapabilityCacheControlsINTEL = 6441,+ SpvCapabilityRegisterLimitsINTEL = 6460,+ SpvCapabilityBindlessImagesINTEL = 6528,+ SpvCapabilityDotProductFloat16AccFloat32VALVE = 6912,+ SpvCapabilityDotProductFloat16AccFloat16VALVE = 6913,+ SpvCapabilityDotProductBFloat16AccVALVE = 6914,+ SpvCapabilityDotProductFloat8AccFloat32VALVE = 6915,+ SpvCapabilityMax = 0x7fffffff,+} SpvCapability;++typedef enum SpvRayFlagsShift_ {+ SpvRayFlagsOpaqueKHRShift = 0,+ SpvRayFlagsNoOpaqueKHRShift = 1,+ SpvRayFlagsTerminateOnFirstHitKHRShift = 2,+ SpvRayFlagsSkipClosestHitShaderKHRShift = 3,+ SpvRayFlagsCullBackFacingTrianglesKHRShift = 4,+ SpvRayFlagsCullFrontFacingTrianglesKHRShift = 5,+ SpvRayFlagsCullOpaqueKHRShift = 6,+ SpvRayFlagsCullNoOpaqueKHRShift = 7,+ SpvRayFlagsSkipBuiltinPrimitivesNVShift = 8,+ SpvRayFlagsSkipTrianglesKHRShift = 8,+ SpvRayFlagsSkipAABBsKHRShift = 9,+ SpvRayFlagsForceOpacityMicromap2StateEXTShift = 10,+ SpvRayFlagsMax = 0x7fffffff,+} SpvRayFlagsShift;++typedef enum SpvRayFlagsMask_ {+ SpvRayFlagsMaskNone = 0,+ SpvRayFlagsOpaqueKHRMask = 0x00000001,+ SpvRayFlagsNoOpaqueKHRMask = 0x00000002,+ SpvRayFlagsTerminateOnFirstHitKHRMask = 0x00000004,+ SpvRayFlagsSkipClosestHitShaderKHRMask = 0x00000008,+ SpvRayFlagsCullBackFacingTrianglesKHRMask = 0x00000010,+ SpvRayFlagsCullFrontFacingTrianglesKHRMask = 0x00000020,+ SpvRayFlagsCullOpaqueKHRMask = 0x00000040,+ SpvRayFlagsCullNoOpaqueKHRMask = 0x00000080,+ SpvRayFlagsSkipBuiltinPrimitivesNVMask = 0x00000100,+ SpvRayFlagsSkipTrianglesKHRMask = 0x00000100,+ SpvRayFlagsSkipAABBsKHRMask = 0x00000200,+ SpvRayFlagsForceOpacityMicromap2StateEXTMask = 0x00000400,+} SpvRayFlagsMask;++typedef enum SpvRayQueryIntersection_ {+ SpvRayQueryIntersectionRayQueryCandidateIntersectionKHR = 0,+ SpvRayQueryIntersectionRayQueryCommittedIntersectionKHR = 1,+ SpvRayQueryIntersectionMax = 0x7fffffff,+} SpvRayQueryIntersection;++typedef enum SpvRayQueryCommittedIntersectionType_ {+ SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR = 0,+ SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR = 1,+ SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR = 2,+ SpvRayQueryCommittedIntersectionTypeMax = 0x7fffffff,+} SpvRayQueryCommittedIntersectionType;++typedef enum SpvRayQueryCandidateIntersectionType_ {+ SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR = 0,+ SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR = 1,+ SpvRayQueryCandidateIntersectionTypeMax = 0x7fffffff,+} SpvRayQueryCandidateIntersectionType;++typedef enum SpvFragmentShadingRateShift_ {+ SpvFragmentShadingRateVertical2PixelsShift = 0,+ SpvFragmentShadingRateVertical4PixelsShift = 1,+ SpvFragmentShadingRateHorizontal2PixelsShift = 2,+ SpvFragmentShadingRateHorizontal4PixelsShift = 3,+ SpvFragmentShadingRateMax = 0x7fffffff,+} SpvFragmentShadingRateShift;++typedef enum SpvFragmentShadingRateMask_ {+ SpvFragmentShadingRateMaskNone = 0,+ SpvFragmentShadingRateVertical2PixelsMask = 0x00000001,+ SpvFragmentShadingRateVertical4PixelsMask = 0x00000002,+ SpvFragmentShadingRateHorizontal2PixelsMask = 0x00000004,+ 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 SpvCooperativeMatrixOperandsShift_ {+ SpvCooperativeMatrixOperandsMatrixASignedComponentsKHRShift = 0,+ SpvCooperativeMatrixOperandsMatrixBSignedComponentsKHRShift = 1,+ SpvCooperativeMatrixOperandsMatrixCSignedComponentsKHRShift = 2,+ SpvCooperativeMatrixOperandsMatrixResultSignedComponentsKHRShift = 3,+ SpvCooperativeMatrixOperandsSaturatingAccumulationKHRShift = 4,+ SpvCooperativeMatrixOperandsMax = 0x7fffffff,+} SpvCooperativeMatrixOperandsShift;++typedef enum SpvCooperativeMatrixOperandsMask_ {+ SpvCooperativeMatrixOperandsMaskNone = 0,+ SpvCooperativeMatrixOperandsMatrixASignedComponentsKHRMask = 0x00000001,+ SpvCooperativeMatrixOperandsMatrixBSignedComponentsKHRMask = 0x00000002,+ SpvCooperativeMatrixOperandsMatrixCSignedComponentsKHRMask = 0x00000004,+ SpvCooperativeMatrixOperandsMatrixResultSignedComponentsKHRMask = 0x00000008,+ SpvCooperativeMatrixOperandsSaturatingAccumulationKHRMask = 0x00000010,+} SpvCooperativeMatrixOperandsMask;++typedef enum SpvCooperativeMatrixLayout_ {+ SpvCooperativeMatrixLayoutRowMajorKHR = 0,+ SpvCooperativeMatrixLayoutColumnMajorKHR = 1,+ SpvCooperativeMatrixLayoutRowBlockedInterleavedARM = 4202,+ SpvCooperativeMatrixLayoutColumnBlockedInterleavedARM = 4203,+ SpvCooperativeMatrixLayoutMax = 0x7fffffff,+} SpvCooperativeMatrixLayout;++typedef enum SpvCooperativeMatrixUse_ {+ SpvCooperativeMatrixUseMatrixAKHR = 0,+ SpvCooperativeMatrixUseMatrixBKHR = 1,+ SpvCooperativeMatrixUseMatrixAccumulatorKHR = 2,+ SpvCooperativeMatrixUseMax = 0x7fffffff,+} SpvCooperativeMatrixUse;++typedef enum SpvCooperativeMatrixReduceShift_ {+ SpvCooperativeMatrixReduceRowShift = 0,+ SpvCooperativeMatrixReduceColumnShift = 1,+ SpvCooperativeMatrixReduce2x2Shift = 2,+ SpvCooperativeMatrixReduceMax = 0x7fffffff,+} SpvCooperativeMatrixReduceShift;++typedef enum SpvCooperativeMatrixReduceMask_ {+ SpvCooperativeMatrixReduceMaskNone = 0,+ SpvCooperativeMatrixReduceRowMask = 0x00000001,+ SpvCooperativeMatrixReduceColumnMask = 0x00000002,+ SpvCooperativeMatrixReduce2x2Mask = 0x00000004,+} SpvCooperativeMatrixReduceMask;++typedef enum SpvTensorClampMode_ {+ SpvTensorClampModeUndefined = 0,+ SpvTensorClampModeConstant = 1,+ SpvTensorClampModeClampToEdge = 2,+ SpvTensorClampModeRepeat = 3,+ SpvTensorClampModeRepeatMirrored = 4,+ SpvTensorClampModeMax = 0x7fffffff,+} SpvTensorClampMode;++typedef enum SpvTensorAddressingOperandsShift_ {+ SpvTensorAddressingOperandsTensorViewShift = 0,+ SpvTensorAddressingOperandsDecodeFuncShift = 1,+ SpvTensorAddressingOperandsMax = 0x7fffffff,+} SpvTensorAddressingOperandsShift;++typedef enum SpvTensorAddressingOperandsMask_ {+ SpvTensorAddressingOperandsMaskNone = 0,+ SpvTensorAddressingOperandsTensorViewMask = 0x00000001,+ SpvTensorAddressingOperandsDecodeFuncMask = 0x00000002,+} SpvTensorAddressingOperandsMask;++typedef enum SpvTensorOperandsShift_ {+ SpvTensorOperandsNontemporalARMShift = 0,+ SpvTensorOperandsOutOfBoundsValueARMShift = 1,+ SpvTensorOperandsMakeElementAvailableARMShift = 2,+ SpvTensorOperandsMakeElementVisibleARMShift = 3,+ SpvTensorOperandsNonPrivateElementARMShift = 4,+ SpvTensorOperandsMax = 0x7fffffff,+} SpvTensorOperandsShift;++typedef enum SpvTensorOperandsMask_ {+ SpvTensorOperandsMaskNone = 0,+ SpvTensorOperandsNontemporalARMMask = 0x00000001,+ SpvTensorOperandsOutOfBoundsValueARMMask = 0x00000002,+ SpvTensorOperandsMakeElementAvailableARMMask = 0x00000004,+ SpvTensorOperandsMakeElementVisibleARMMask = 0x00000008,+ SpvTensorOperandsNonPrivateElementARMMask = 0x00000010,+} SpvTensorOperandsMask;++typedef enum SpvInitializationModeQualifier_ {+ SpvInitializationModeQualifierInitOnDeviceReprogramALTERA = 0,+ SpvInitializationModeQualifierInitOnDeviceReprogramINTEL = 0,+ SpvInitializationModeQualifierInitOnDeviceResetALTERA = 1,+ SpvInitializationModeQualifierInitOnDeviceResetINTEL = 1,+ SpvInitializationModeQualifierMax = 0x7fffffff,+} SpvInitializationModeQualifier;++typedef enum SpvHostAccessQualifier_ {+ SpvHostAccessQualifierNoneINTEL = 0,+ SpvHostAccessQualifierReadINTEL = 1,+ SpvHostAccessQualifierWriteINTEL = 2,+ SpvHostAccessQualifierReadWriteINTEL = 3,+ SpvHostAccessQualifierMax = 0x7fffffff,+} SpvHostAccessQualifier;++typedef enum SpvLoadCacheControl_ {+ SpvLoadCacheControlUncachedINTEL = 0,+ SpvLoadCacheControlCachedINTEL = 1,+ SpvLoadCacheControlStreamingINTEL = 2,+ SpvLoadCacheControlInvalidateAfterReadINTEL = 3,+ SpvLoadCacheControlConstCachedINTEL = 4,+ SpvLoadCacheControlMax = 0x7fffffff,+} SpvLoadCacheControl;++typedef enum SpvStoreCacheControl_ {+ SpvStoreCacheControlUncachedINTEL = 0,+ SpvStoreCacheControlWriteThroughINTEL = 1,+ SpvStoreCacheControlWriteBackINTEL = 2,+ SpvStoreCacheControlStreamingINTEL = 3,+ SpvStoreCacheControlMax = 0x7fffffff,+} SpvStoreCacheControl;++typedef enum SpvNamedMaximumNumberOfRegisters_ {+ SpvNamedMaximumNumberOfRegistersAutoINTEL = 0,+ SpvNamedMaximumNumberOfRegistersMax = 0x7fffffff,+} SpvNamedMaximumNumberOfRegisters;++typedef enum SpvMatrixMultiplyAccumulateOperandsShift_ {+ SpvMatrixMultiplyAccumulateOperandsMatrixASignedComponentsINTELShift = 0,+ SpvMatrixMultiplyAccumulateOperandsMatrixBSignedComponentsINTELShift = 1,+ SpvMatrixMultiplyAccumulateOperandsMatrixCBFloat16INTELShift = 2,+ SpvMatrixMultiplyAccumulateOperandsMatrixResultBFloat16INTELShift = 3,+ SpvMatrixMultiplyAccumulateOperandsMatrixAPackedInt8INTELShift = 4,+ SpvMatrixMultiplyAccumulateOperandsMatrixBPackedInt8INTELShift = 5,+ SpvMatrixMultiplyAccumulateOperandsMatrixAPackedInt4INTELShift = 6,+ SpvMatrixMultiplyAccumulateOperandsMatrixBPackedInt4INTELShift = 7,+ SpvMatrixMultiplyAccumulateOperandsMatrixATF32INTELShift = 8,+ SpvMatrixMultiplyAccumulateOperandsMatrixBTF32INTELShift = 9,+ SpvMatrixMultiplyAccumulateOperandsMatrixAPackedFloat16INTELShift = 10,+ SpvMatrixMultiplyAccumulateOperandsMatrixBPackedFloat16INTELShift = 11,+ SpvMatrixMultiplyAccumulateOperandsMatrixAPackedBFloat16INTELShift = 12,+ SpvMatrixMultiplyAccumulateOperandsMatrixBPackedBFloat16INTELShift = 13,+ SpvMatrixMultiplyAccumulateOperandsMax = 0x7fffffff,+} SpvMatrixMultiplyAccumulateOperandsShift;++typedef enum SpvMatrixMultiplyAccumulateOperandsMask_ {+ SpvMatrixMultiplyAccumulateOperandsMaskNone = 0,+ SpvMatrixMultiplyAccumulateOperandsMatrixASignedComponentsINTELMask = 0x00000001,+ SpvMatrixMultiplyAccumulateOperandsMatrixBSignedComponentsINTELMask = 0x00000002,+ SpvMatrixMultiplyAccumulateOperandsMatrixCBFloat16INTELMask = 0x00000004,+ SpvMatrixMultiplyAccumulateOperandsMatrixResultBFloat16INTELMask = 0x00000008,+ SpvMatrixMultiplyAccumulateOperandsMatrixAPackedInt8INTELMask = 0x00000010,+ SpvMatrixMultiplyAccumulateOperandsMatrixBPackedInt8INTELMask = 0x00000020,+ SpvMatrixMultiplyAccumulateOperandsMatrixAPackedInt4INTELMask = 0x00000040,+ SpvMatrixMultiplyAccumulateOperandsMatrixBPackedInt4INTELMask = 0x00000080,+ SpvMatrixMultiplyAccumulateOperandsMatrixATF32INTELMask = 0x00000100,+ SpvMatrixMultiplyAccumulateOperandsMatrixBTF32INTELMask = 0x00000200,+ SpvMatrixMultiplyAccumulateOperandsMatrixAPackedFloat16INTELMask = 0x00000400,+ SpvMatrixMultiplyAccumulateOperandsMatrixBPackedFloat16INTELMask = 0x00000800,+ SpvMatrixMultiplyAccumulateOperandsMatrixAPackedBFloat16INTELMask = 0x00001000,+ SpvMatrixMultiplyAccumulateOperandsMatrixBPackedBFloat16INTELMask = 0x00002000,+} SpvMatrixMultiplyAccumulateOperandsMask;++typedef enum SpvRawAccessChainOperandsShift_ {+ SpvRawAccessChainOperandsRobustnessPerComponentNVShift = 0,+ SpvRawAccessChainOperandsRobustnessPerElementNVShift = 1,+ SpvRawAccessChainOperandsMax = 0x7fffffff,+} SpvRawAccessChainOperandsShift;++typedef enum SpvRawAccessChainOperandsMask_ {+ SpvRawAccessChainOperandsMaskNone = 0,+ SpvRawAccessChainOperandsRobustnessPerComponentNVMask = 0x00000001,+ SpvRawAccessChainOperandsRobustnessPerElementNVMask = 0x00000002,+} SpvRawAccessChainOperandsMask;++typedef enum SpvFPEncoding_ {+ SpvFPEncodingBFloat16KHR = 0,+ SpvFPEncodingFloat8E4M3EXT = 4214,+ SpvFPEncodingFloat8E5M2EXT = 4215,+ SpvFPEncodingMax = 0x7fffffff,+} SpvFPEncoding;++typedef enum SpvCooperativeVectorMatrixLayout_ {+ SpvCooperativeVectorMatrixLayoutRowMajorNV = 0,+ SpvCooperativeVectorMatrixLayoutColumnMajorNV = 1,+ SpvCooperativeVectorMatrixLayoutInferencingOptimalNV = 2,+ SpvCooperativeVectorMatrixLayoutTrainingOptimalNV = 3,+ SpvCooperativeVectorMatrixLayoutMax = 0x7fffffff,+} SpvCooperativeVectorMatrixLayout;++typedef enum SpvComponentType_ {+ SpvComponentTypeFloat16NV = 0,+ SpvComponentTypeFloat32NV = 1,+ SpvComponentTypeFloat64NV = 2,+ SpvComponentTypeSignedInt8NV = 3,+ SpvComponentTypeSignedInt16NV = 4,+ SpvComponentTypeSignedInt32NV = 5,+ SpvComponentTypeSignedInt64NV = 6,+ SpvComponentTypeUnsignedInt8NV = 7,+ SpvComponentTypeUnsignedInt16NV = 8,+ SpvComponentTypeUnsignedInt32NV = 9,+ SpvComponentTypeUnsignedInt64NV = 10,+ SpvComponentTypeSignedInt8PackedNV = 1000491000,+ SpvComponentTypeUnsignedInt8PackedNV = 1000491001,+ SpvComponentTypeFloatE4M3NV = 1000491002,+ SpvComponentTypeFloatE5M2NV = 1000491003,+ SpvComponentTypeMax = 0x7fffffff,+} SpvComponentType;++typedef enum SpvOp_ {+ SpvOpNop = 0,+ SpvOpUndef = 1,+ SpvOpSourceContinued = 2,+ SpvOpSource = 3,+ SpvOpSourceExtension = 4,+ SpvOpName = 5,+ SpvOpMemberName = 6,+ SpvOpString = 7,+ SpvOpLine = 8,+ SpvOpExtension = 10,+ SpvOpExtInstImport = 11,+ SpvOpExtInst = 12,+ SpvOpMemoryModel = 14,+ SpvOpEntryPoint = 15,+ SpvOpExecutionMode = 16,+ SpvOpCapability = 17,+ SpvOpTypeVoid = 19,+ SpvOpTypeBool = 20,+ SpvOpTypeInt = 21,+ SpvOpTypeFloat = 22,+ SpvOpTypeVector = 23,+ SpvOpTypeMatrix = 24,+ SpvOpTypeImage = 25,+ SpvOpTypeSampler = 26,+ SpvOpTypeSampledImage = 27,+ SpvOpTypeArray = 28,+ SpvOpTypeRuntimeArray = 29,+ SpvOpTypeStruct = 30,+ SpvOpTypeOpaque = 31,+ SpvOpTypePointer = 32,+ SpvOpTypeFunction = 33,+ SpvOpTypeEvent = 34,+ SpvOpTypeDeviceEvent = 35,+ SpvOpTypeReserveId = 36,+ SpvOpTypeQueue = 37,+ SpvOpTypePipe = 38,+ SpvOpTypeForwardPointer = 39,+ SpvOpConstantTrue = 41,+ SpvOpConstantFalse = 42,+ SpvOpConstant = 43,+ SpvOpConstantComposite = 44,+ SpvOpConstantSampler = 45,+ SpvOpConstantNull = 46,+ SpvOpSpecConstantTrue = 48,+ SpvOpSpecConstantFalse = 49,+ SpvOpSpecConstant = 50,+ SpvOpSpecConstantComposite = 51,+ SpvOpSpecConstantOp = 52,+ SpvOpFunction = 54,+ SpvOpFunctionParameter = 55,+ SpvOpFunctionEnd = 56,+ SpvOpFunctionCall = 57,+ SpvOpVariable = 59,+ SpvOpImageTexelPointer = 60,+ SpvOpLoad = 61,+ SpvOpStore = 62,+ SpvOpCopyMemory = 63,+ SpvOpCopyMemorySized = 64,+ SpvOpAccessChain = 65,+ SpvOpInBoundsAccessChain = 66,+ SpvOpPtrAccessChain = 67,+ SpvOpArrayLength = 68,+ SpvOpGenericPtrMemSemantics = 69,+ SpvOpInBoundsPtrAccessChain = 70,+ SpvOpDecorate = 71,+ SpvOpMemberDecorate = 72,+ SpvOpDecorationGroup = 73,+ SpvOpGroupDecorate = 74,+ SpvOpGroupMemberDecorate = 75,+ SpvOpVectorExtractDynamic = 77,+ SpvOpVectorInsertDynamic = 78,+ SpvOpVectorShuffle = 79,+ SpvOpCompositeConstruct = 80,+ SpvOpCompositeExtract = 81,+ SpvOpCompositeInsert = 82,+ SpvOpCopyObject = 83,+ SpvOpTranspose = 84,+ SpvOpSampledImage = 86,+ SpvOpImageSampleImplicitLod = 87,+ SpvOpImageSampleExplicitLod = 88,+ SpvOpImageSampleDrefImplicitLod = 89,+ SpvOpImageSampleDrefExplicitLod = 90,+ SpvOpImageSampleProjImplicitLod = 91,+ SpvOpImageSampleProjExplicitLod = 92,+ SpvOpImageSampleProjDrefImplicitLod = 93,+ SpvOpImageSampleProjDrefExplicitLod = 94,+ SpvOpImageFetch = 95,+ SpvOpImageGather = 96,+ SpvOpImageDrefGather = 97,+ SpvOpImageRead = 98,+ SpvOpImageWrite = 99,+ SpvOpImage = 100,+ SpvOpImageQueryFormat = 101,+ SpvOpImageQueryOrder = 102,+ SpvOpImageQuerySizeLod = 103,+ SpvOpImageQuerySize = 104,+ SpvOpImageQueryLod = 105,+ SpvOpImageQueryLevels = 106,+ SpvOpImageQuerySamples = 107,+ SpvOpConvertFToU = 109,+ SpvOpConvertFToS = 110,+ SpvOpConvertSToF = 111,+ SpvOpConvertUToF = 112,+ SpvOpUConvert = 113,+ SpvOpSConvert = 114,+ SpvOpFConvert = 115,+ SpvOpQuantizeToF16 = 116,+ SpvOpConvertPtrToU = 117,+ SpvOpSatConvertSToU = 118,+ SpvOpSatConvertUToS = 119,+ SpvOpConvertUToPtr = 120,+ SpvOpPtrCastToGeneric = 121,+ SpvOpGenericCastToPtr = 122,+ SpvOpGenericCastToPtrExplicit = 123,+ SpvOpBitcast = 124,+ SpvOpSNegate = 126,+ SpvOpFNegate = 127,+ SpvOpIAdd = 128,+ SpvOpFAdd = 129,+ SpvOpISub = 130,+ SpvOpFSub = 131,+ SpvOpIMul = 132,+ SpvOpFMul = 133,+ SpvOpUDiv = 134,+ SpvOpSDiv = 135,+ SpvOpFDiv = 136,+ SpvOpUMod = 137,+ SpvOpSRem = 138,+ SpvOpSMod = 139,+ SpvOpFRem = 140,+ SpvOpFMod = 141,+ SpvOpVectorTimesScalar = 142,+ SpvOpMatrixTimesScalar = 143,+ SpvOpVectorTimesMatrix = 144,+ SpvOpMatrixTimesVector = 145,+ SpvOpMatrixTimesMatrix = 146,+ SpvOpOuterProduct = 147,+ SpvOpDot = 148,+ SpvOpIAddCarry = 149,+ SpvOpISubBorrow = 150,+ SpvOpUMulExtended = 151,+ SpvOpSMulExtended = 152,+ SpvOpAny = 154,+ SpvOpAll = 155,+ SpvOpIsNan = 156,+ SpvOpIsInf = 157,+ SpvOpIsFinite = 158,+ SpvOpIsNormal = 159,+ SpvOpSignBitSet = 160,+ SpvOpLessOrGreater = 161,+ SpvOpOrdered = 162,+ SpvOpUnordered = 163,+ SpvOpLogicalEqual = 164,+ SpvOpLogicalNotEqual = 165,+ SpvOpLogicalOr = 166,+ SpvOpLogicalAnd = 167,+ SpvOpLogicalNot = 168,+ SpvOpSelect = 169,+ SpvOpIEqual = 170,+ SpvOpINotEqual = 171,+ SpvOpUGreaterThan = 172,+ SpvOpSGreaterThan = 173,+ SpvOpUGreaterThanEqual = 174,+ SpvOpSGreaterThanEqual = 175,+ SpvOpULessThan = 176,+ SpvOpSLessThan = 177,+ SpvOpULessThanEqual = 178,+ SpvOpSLessThanEqual = 179,+ SpvOpFOrdEqual = 180,+ SpvOpFUnordEqual = 181,+ SpvOpFOrdNotEqual = 182,+ SpvOpFUnordNotEqual = 183,+ SpvOpFOrdLessThan = 184,+ SpvOpFUnordLessThan = 185,+ SpvOpFOrdGreaterThan = 186,+ SpvOpFUnordGreaterThan = 187,+ SpvOpFOrdLessThanEqual = 188,+ SpvOpFUnordLessThanEqual = 189,+ SpvOpFOrdGreaterThanEqual = 190,+ SpvOpFUnordGreaterThanEqual = 191,+ SpvOpShiftRightLogical = 194,+ SpvOpShiftRightArithmetic = 195,+ SpvOpShiftLeftLogical = 196,+ SpvOpBitwiseOr = 197,+ SpvOpBitwiseXor = 198,+ SpvOpBitwiseAnd = 199,+ SpvOpNot = 200,+ SpvOpBitFieldInsert = 201,+ SpvOpBitFieldSExtract = 202,+ SpvOpBitFieldUExtract = 203,+ SpvOpBitReverse = 204,+ SpvOpBitCount = 205,+ SpvOpDPdx = 207,+ SpvOpDPdy = 208,+ SpvOpFwidth = 209,+ SpvOpDPdxFine = 210,+ SpvOpDPdyFine = 211,+ SpvOpFwidthFine = 212,+ SpvOpDPdxCoarse = 213,+ SpvOpDPdyCoarse = 214,+ SpvOpFwidthCoarse = 215,+ SpvOpEmitVertex = 218,+ SpvOpEndPrimitive = 219,+ SpvOpEmitStreamVertex = 220,+ SpvOpEndStreamPrimitive = 221,+ SpvOpControlBarrier = 224,+ SpvOpMemoryBarrier = 225,+ SpvOpAtomicLoad = 227,+ SpvOpAtomicStore = 228,+ SpvOpAtomicExchange = 229,+ SpvOpAtomicCompareExchange = 230,+ SpvOpAtomicCompareExchangeWeak = 231,+ SpvOpAtomicIIncrement = 232,+ SpvOpAtomicIDecrement = 233,+ SpvOpAtomicIAdd = 234,+ SpvOpAtomicISub = 235,+ SpvOpAtomicSMin = 236,+ SpvOpAtomicUMin = 237,+ SpvOpAtomicSMax = 238,+ SpvOpAtomicUMax = 239,+ SpvOpAtomicAnd = 240,+ SpvOpAtomicOr = 241,+ SpvOpAtomicXor = 242,+ SpvOpPhi = 245,+ SpvOpLoopMerge = 246,+ SpvOpSelectionMerge = 247,+ SpvOpLabel = 248,+ SpvOpBranch = 249,+ SpvOpBranchConditional = 250,+ SpvOpSwitch = 251,+ SpvOpKill = 252,+ SpvOpReturn = 253,+ SpvOpReturnValue = 254,+ SpvOpUnreachable = 255,+ SpvOpLifetimeStart = 256,+ SpvOpLifetimeStop = 257,+ SpvOpGroupAsyncCopy = 259,+ SpvOpGroupWaitEvents = 260,+ SpvOpGroupAll = 261,+ SpvOpGroupAny = 262,+ SpvOpGroupBroadcast = 263,+ SpvOpGroupIAdd = 264,+ SpvOpGroupFAdd = 265,+ SpvOpGroupFMin = 266,+ SpvOpGroupUMin = 267,+ SpvOpGroupSMin = 268,+ SpvOpGroupFMax = 269,+ SpvOpGroupUMax = 270,+ SpvOpGroupSMax = 271,+ SpvOpReadPipe = 274,+ SpvOpWritePipe = 275,+ SpvOpReservedReadPipe = 276,+ SpvOpReservedWritePipe = 277,+ SpvOpReserveReadPipePackets = 278,+ SpvOpReserveWritePipePackets = 279,+ SpvOpCommitReadPipe = 280,+ SpvOpCommitWritePipe = 281,+ SpvOpIsValidReserveId = 282,+ SpvOpGetNumPipePackets = 283,+ SpvOpGetMaxPipePackets = 284,+ SpvOpGroupReserveReadPipePackets = 285,+ SpvOpGroupReserveWritePipePackets = 286,+ SpvOpGroupCommitReadPipe = 287,+ SpvOpGroupCommitWritePipe = 288,+ SpvOpEnqueueMarker = 291,+ SpvOpEnqueueKernel = 292,+ SpvOpGetKernelNDrangeSubGroupCount = 293,+ SpvOpGetKernelNDrangeMaxSubGroupSize = 294,+ SpvOpGetKernelWorkGroupSize = 295,+ SpvOpGetKernelPreferredWorkGroupSizeMultiple = 296,+ SpvOpRetainEvent = 297,+ SpvOpReleaseEvent = 298,+ SpvOpCreateUserEvent = 299,+ SpvOpIsValidEvent = 300,+ SpvOpSetUserEventStatus = 301,+ SpvOpCaptureEventProfilingInfo = 302,+ SpvOpGetDefaultQueue = 303,+ SpvOpBuildNDRange = 304,+ SpvOpImageSparseSampleImplicitLod = 305,+ SpvOpImageSparseSampleExplicitLod = 306,+ SpvOpImageSparseSampleDrefImplicitLod = 307,+ SpvOpImageSparseSampleDrefExplicitLod = 308,+ SpvOpImageSparseSampleProjImplicitLod = 309,+ SpvOpImageSparseSampleProjExplicitLod = 310,+ SpvOpImageSparseSampleProjDrefImplicitLod = 311,+ SpvOpImageSparseSampleProjDrefExplicitLod = 312,+ SpvOpImageSparseFetch = 313,+ SpvOpImageSparseGather = 314,+ SpvOpImageSparseDrefGather = 315,+ SpvOpImageSparseTexelsResident = 316,+ SpvOpNoLine = 317,+ SpvOpAtomicFlagTestAndSet = 318,+ SpvOpAtomicFlagClear = 319,+ SpvOpImageSparseRead = 320,+ SpvOpSizeOf = 321,+ SpvOpTypePipeStorage = 322,+ SpvOpConstantPipeStorage = 323,+ SpvOpCreatePipeFromPipeStorage = 324,+ SpvOpGetKernelLocalSizeForSubgroupCount = 325,+ SpvOpGetKernelMaxNumSubgroups = 326,+ SpvOpTypeNamedBarrier = 327,+ SpvOpNamedBarrierInitialize = 328,+ SpvOpMemoryNamedBarrier = 329,+ SpvOpModuleProcessed = 330,+ SpvOpExecutionModeId = 331,+ SpvOpDecorateId = 332,+ SpvOpGroupNonUniformElect = 333,+ SpvOpGroupNonUniformAll = 334,+ SpvOpGroupNonUniformAny = 335,+ SpvOpGroupNonUniformAllEqual = 336,+ SpvOpGroupNonUniformBroadcast = 337,+ SpvOpGroupNonUniformBroadcastFirst = 338,+ SpvOpGroupNonUniformBallot = 339,+ SpvOpGroupNonUniformInverseBallot = 340,+ SpvOpGroupNonUniformBallotBitExtract = 341,+ SpvOpGroupNonUniformBallotBitCount = 342,+ SpvOpGroupNonUniformBallotFindLSB = 343,+ SpvOpGroupNonUniformBallotFindMSB = 344,+ SpvOpGroupNonUniformShuffle = 345,+ SpvOpGroupNonUniformShuffleXor = 346,+ SpvOpGroupNonUniformShuffleUp = 347,+ SpvOpGroupNonUniformShuffleDown = 348,+ SpvOpGroupNonUniformIAdd = 349,+ SpvOpGroupNonUniformFAdd = 350,+ SpvOpGroupNonUniformIMul = 351,+ SpvOpGroupNonUniformFMul = 352,+ SpvOpGroupNonUniformSMin = 353,+ SpvOpGroupNonUniformUMin = 354,+ SpvOpGroupNonUniformFMin = 355,+ SpvOpGroupNonUniformSMax = 356,+ SpvOpGroupNonUniformUMax = 357,+ SpvOpGroupNonUniformFMax = 358,+ SpvOpGroupNonUniformBitwiseAnd = 359,+ SpvOpGroupNonUniformBitwiseOr = 360,+ SpvOpGroupNonUniformBitwiseXor = 361,+ SpvOpGroupNonUniformLogicalAnd = 362,+ SpvOpGroupNonUniformLogicalOr = 363,+ SpvOpGroupNonUniformLogicalXor = 364,+ SpvOpGroupNonUniformQuadBroadcast = 365,+ SpvOpGroupNonUniformQuadSwap = 366,+ SpvOpCopyLogical = 400,+ SpvOpPtrEqual = 401,+ SpvOpPtrNotEqual = 402,+ SpvOpPtrDiff = 403,+ SpvOpColorAttachmentReadEXT = 4160,+ SpvOpDepthAttachmentReadEXT = 4161,+ SpvOpStencilAttachmentReadEXT = 4162,+ SpvOpTypeTensorARM = 4163,+ SpvOpTensorReadARM = 4164,+ SpvOpTensorWriteARM = 4165,+ SpvOpTensorQuerySizeARM = 4166,+ SpvOpGraphConstantARM = 4181,+ SpvOpGraphEntryPointARM = 4182,+ SpvOpGraphARM = 4183,+ SpvOpGraphInputARM = 4184,+ SpvOpGraphSetOutputARM = 4185,+ SpvOpGraphEndARM = 4186,+ SpvOpTypeGraphARM = 4190,+ SpvOpTerminateInvocation = 4416,+ SpvOpTypeUntypedPointerKHR = 4417,+ SpvOpUntypedVariableKHR = 4418,+ SpvOpUntypedAccessChainKHR = 4419,+ SpvOpUntypedInBoundsAccessChainKHR = 4420,+ SpvOpSubgroupBallotKHR = 4421,+ SpvOpSubgroupFirstInvocationKHR = 4422,+ SpvOpUntypedPtrAccessChainKHR = 4423,+ SpvOpUntypedInBoundsPtrAccessChainKHR = 4424,+ SpvOpUntypedArrayLengthKHR = 4425,+ SpvOpUntypedPrefetchKHR = 4426,+ SpvOpFmaKHR = 4427,+ SpvOpSubgroupAllKHR = 4428,+ SpvOpSubgroupAnyKHR = 4429,+ SpvOpSubgroupAllEqualKHR = 4430,+ SpvOpGroupNonUniformRotateKHR = 4431,+ SpvOpSubgroupReadInvocationKHR = 4432,+ SpvOpExtInstWithForwardRefsKHR = 4433,+ SpvOpUntypedGroupAsyncCopyKHR = 4434,+ 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,+ SpvOpTypeCooperativeMatrixKHR = 4456,+ SpvOpCooperativeMatrixLoadKHR = 4457,+ SpvOpCooperativeMatrixStoreKHR = 4458,+ SpvOpCooperativeMatrixMulAddKHR = 4459,+ SpvOpCooperativeMatrixLengthKHR = 4460,+ SpvOpConstantCompositeReplicateEXT = 4461,+ SpvOpSpecConstantCompositeReplicateEXT = 4462,+ SpvOpCompositeConstructReplicateEXT = 4463,+ SpvOpTypeRayQueryKHR = 4472,+ SpvOpRayQueryInitializeKHR = 4473,+ SpvOpRayQueryTerminateKHR = 4474,+ SpvOpRayQueryGenerateIntersectionKHR = 4475,+ SpvOpRayQueryConfirmIntersectionKHR = 4476,+ SpvOpRayQueryProceedKHR = 4477,+ SpvOpRayQueryGetIntersectionTypeKHR = 4479,+ SpvOpImageSampleWeightedQCOM = 4480,+ SpvOpImageBoxFilterQCOM = 4481,+ SpvOpImageBlockMatchSSDQCOM = 4482,+ SpvOpImageBlockMatchSADQCOM = 4483,+ SpvOpBitCastArrayQCOM = 4497,+ SpvOpImageBlockMatchWindowSSDQCOM = 4500,+ SpvOpImageBlockMatchWindowSADQCOM = 4501,+ SpvOpImageBlockMatchGatherSSDQCOM = 4502,+ SpvOpImageBlockMatchGatherSADQCOM = 4503,+ SpvOpCompositeConstructCoopMatQCOM = 4540,+ SpvOpCompositeExtractCoopMatQCOM = 4541,+ SpvOpExtractSubArrayQCOM = 4542,+ SpvOpGroupIAddNonUniformAMD = 5000,+ SpvOpGroupFAddNonUniformAMD = 5001,+ SpvOpGroupFMinNonUniformAMD = 5002,+ SpvOpGroupUMinNonUniformAMD = 5003,+ SpvOpGroupSMinNonUniformAMD = 5004,+ SpvOpGroupFMaxNonUniformAMD = 5005,+ SpvOpGroupUMaxNonUniformAMD = 5006,+ SpvOpGroupSMaxNonUniformAMD = 5007,+ SpvOpFragmentMaskFetchAMD = 5011,+ SpvOpFragmentFetchAMD = 5012,+ SpvOpReadClockKHR = 5056,+ SpvOpAllocateNodePayloadsAMDX = 5074,+ SpvOpEnqueueNodePayloadsAMDX = 5075,+ SpvOpTypeNodePayloadArrayAMDX = 5076,+ SpvOpFinishWritingNodePayloadAMDX = 5078,+ SpvOpNodePayloadArrayLengthAMDX = 5090,+ SpvOpIsNodePayloadValidAMDX = 5101,+ SpvOpConstantStringAMDX = 5103,+ SpvOpSpecConstantStringAMDX = 5104,+ SpvOpGroupNonUniformQuadAllKHR = 5110,+ SpvOpGroupNonUniformQuadAnyKHR = 5111,+ SpvOpTypeBufferEXT = 5115,+ SpvOpBufferPointerEXT = 5119,+ SpvOpAbortKHR = 5121,+ SpvOpUntypedImageTexelPointerEXT = 5126,+ SpvOpMemberDecorateIdEXT = 5127,+ SpvOpConstantSizeOfEXT = 5129,+ SpvOpConstantDataKHR = 5147,+ SpvOpSpecConstantDataKHR = 5148,+ SpvOpPoisonKHR = 5158,+ SpvOpFreezeKHR = 5159,+ SpvOpHitObjectRecordHitMotionNV = 5249,+ SpvOpHitObjectRecordHitWithIndexMotionNV = 5250,+ SpvOpHitObjectRecordMissMotionNV = 5251,+ SpvOpHitObjectGetWorldToObjectNV = 5252,+ SpvOpHitObjectGetObjectToWorldNV = 5253,+ SpvOpHitObjectGetObjectRayDirectionNV = 5254,+ SpvOpHitObjectGetObjectRayOriginNV = 5255,+ SpvOpHitObjectTraceRayMotionNV = 5256,+ SpvOpHitObjectGetShaderRecordBufferHandleNV = 5257,+ SpvOpHitObjectGetShaderBindingTableRecordIndexNV = 5258,+ SpvOpHitObjectRecordEmptyNV = 5259,+ SpvOpHitObjectTraceRayNV = 5260,+ SpvOpHitObjectRecordHitNV = 5261,+ SpvOpHitObjectRecordHitWithIndexNV = 5262,+ SpvOpHitObjectRecordMissNV = 5263,+ SpvOpHitObjectExecuteShaderNV = 5264,+ SpvOpHitObjectGetCurrentTimeNV = 5265,+ SpvOpHitObjectGetAttributesNV = 5266,+ SpvOpHitObjectGetHitKindNV = 5267,+ SpvOpHitObjectGetPrimitiveIndexNV = 5268,+ SpvOpHitObjectGetGeometryIndexNV = 5269,+ SpvOpHitObjectGetInstanceIdNV = 5270,+ SpvOpHitObjectGetInstanceCustomIndexNV = 5271,+ SpvOpHitObjectGetWorldRayDirectionNV = 5272,+ SpvOpHitObjectGetWorldRayOriginNV = 5273,+ SpvOpHitObjectGetRayTMaxNV = 5274,+ SpvOpHitObjectGetRayTMinNV = 5275,+ SpvOpHitObjectIsEmptyNV = 5276,+ SpvOpHitObjectIsHitNV = 5277,+ SpvOpHitObjectIsMissNV = 5278,+ SpvOpReorderThreadWithHitObjectNV = 5279,+ SpvOpReorderThreadWithHintNV = 5280,+ SpvOpTypeHitObjectNV = 5281,+ SpvOpImageSampleFootprintNV = 5283,+ SpvOpTypeCooperativeVectorNV = 5288,+ SpvOpTypeVectorIdEXT = 5288,+ SpvOpCooperativeVectorMatrixMulNV = 5289,+ SpvOpCooperativeVectorOuterProductAccumulateNV = 5290,+ SpvOpCooperativeVectorReduceSumAccumulateNV = 5291,+ SpvOpCooperativeVectorMatrixMulAddNV = 5292,+ SpvOpCooperativeMatrixConvertNV = 5293,+ SpvOpEmitMeshTasksEXT = 5294,+ SpvOpSetMeshOutputsEXT = 5295,+ SpvOpGroupNonUniformPartitionEXT = 5296,+ SpvOpGroupNonUniformPartitionNV = 5296,+ SpvOpWritePackedPrimitiveIndices4x8NV = 5299,+ SpvOpFetchMicroTriangleVertexPositionNV = 5300,+ SpvOpFetchMicroTriangleVertexBarycentricNV = 5301,+ SpvOpCooperativeVectorLoadNV = 5302,+ SpvOpCooperativeVectorStoreNV = 5303,+ SpvOpHitObjectRecordFromQueryEXT = 5304,+ SpvOpHitObjectRecordMissEXT = 5305,+ SpvOpHitObjectRecordMissMotionEXT = 5306,+ SpvOpHitObjectGetIntersectionTriangleVertexPositionsEXT = 5307,+ SpvOpHitObjectGetRayFlagsEXT = 5308,+ SpvOpHitObjectSetShaderBindingTableRecordIndexEXT = 5309,+ SpvOpHitObjectReorderExecuteShaderEXT = 5310,+ SpvOpHitObjectTraceReorderExecuteEXT = 5311,+ SpvOpHitObjectTraceMotionReorderExecuteEXT = 5312,+ SpvOpTypeHitObjectEXT = 5313,+ SpvOpReorderThreadWithHintEXT = 5314,+ SpvOpReorderThreadWithHitObjectEXT = 5315,+ SpvOpHitObjectTraceRayEXT = 5316,+ SpvOpHitObjectTraceRayMotionEXT = 5317,+ SpvOpHitObjectRecordEmptyEXT = 5318,+ SpvOpHitObjectExecuteShaderEXT = 5319,+ SpvOpHitObjectGetCurrentTimeEXT = 5320,+ SpvOpHitObjectGetAttributesEXT = 5321,+ SpvOpHitObjectGetHitKindEXT = 5322,+ SpvOpHitObjectGetPrimitiveIndexEXT = 5323,+ SpvOpHitObjectGetGeometryIndexEXT = 5324,+ SpvOpHitObjectGetInstanceIdEXT = 5325,+ SpvOpHitObjectGetInstanceCustomIndexEXT = 5326,+ SpvOpHitObjectGetObjectRayOriginEXT = 5327,+ SpvOpHitObjectGetObjectRayDirectionEXT = 5328,+ SpvOpHitObjectGetWorldRayDirectionEXT = 5329,+ SpvOpHitObjectGetWorldRayOriginEXT = 5330,+ SpvOpHitObjectGetObjectToWorldEXT = 5331,+ SpvOpHitObjectGetWorldToObjectEXT = 5332,+ SpvOpHitObjectGetRayTMaxEXT = 5333,+ SpvOpReportIntersectionKHR = 5334,+ SpvOpReportIntersectionNV = 5334,+ SpvOpIgnoreIntersectionNV = 5335,+ SpvOpTerminateRayNV = 5336,+ SpvOpTraceNV = 5337,+ SpvOpTraceMotionNV = 5338,+ SpvOpTraceRayMotionNV = 5339,+ SpvOpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340,+ SpvOpTypeAccelerationStructureKHR = 5341,+ SpvOpTypeAccelerationStructureNV = 5341,+ SpvOpExecuteCallableNV = 5344,+ SpvOpRayQueryGetClusterIdNV = 5345,+ SpvOpRayQueryGetIntersectionClusterIdNV = 5345,+ SpvOpHitObjectGetClusterIdNV = 5346,+ SpvOpHitObjectGetRayTMinEXT = 5347,+ SpvOpHitObjectGetShaderBindingTableRecordIndexEXT = 5348,+ SpvOpHitObjectGetShaderRecordBufferHandleEXT = 5349,+ SpvOpHitObjectIsEmptyEXT = 5350,+ SpvOpHitObjectIsHitEXT = 5351,+ SpvOpHitObjectIsMissEXT = 5352,+ SpvOpTypeCooperativeMatrixNV = 5358,+ SpvOpCooperativeMatrixLoadNV = 5359,+ SpvOpCooperativeMatrixStoreNV = 5360,+ SpvOpCooperativeMatrixMulAddNV = 5361,+ SpvOpCooperativeMatrixLengthNV = 5362,+ SpvOpBeginInvocationInterlockEXT = 5364,+ SpvOpEndInvocationInterlockEXT = 5365,+ SpvOpCooperativeMatrixReduceNV = 5366,+ SpvOpCooperativeMatrixLoadTensorNV = 5367,+ SpvOpCooperativeMatrixStoreTensorNV = 5368,+ SpvOpCooperativeMatrixPerElementOpNV = 5369,+ SpvOpTypeTensorLayoutNV = 5370,+ SpvOpTypeTensorViewNV = 5371,+ SpvOpCreateTensorLayoutNV = 5372,+ SpvOpTensorLayoutSetDimensionNV = 5373,+ SpvOpTensorLayoutSetStrideNV = 5374,+ SpvOpTensorLayoutSliceNV = 5375,+ SpvOpTensorLayoutSetClampValueNV = 5376,+ SpvOpCreateTensorViewNV = 5377,+ SpvOpTensorViewSetDimensionNV = 5378,+ SpvOpTensorViewSetStrideNV = 5379,+ SpvOpDemoteToHelperInvocation = 5380,+ SpvOpDemoteToHelperInvocationEXT = 5380,+ SpvOpIsHelperInvocationEXT = 5381,+ SpvOpTensorViewSetClipNV = 5382,+ SpvOpTensorLayoutSetBlockSizeNV = 5384,+ SpvOpCooperativeMatrixTransposeNV = 5390,+ SpvOpConvertUToImageNV = 5391,+ SpvOpConvertUToSamplerNV = 5392,+ SpvOpConvertImageToUNV = 5393,+ SpvOpConvertSamplerToUNV = 5394,+ SpvOpConvertUToSampledImageNV = 5395,+ SpvOpConvertSampledImageToUNV = 5396,+ SpvOpSamplerImageAddressingModeNV = 5397,+ SpvOpRawAccessChainNV = 5398,+ SpvOpRayQueryGetIntersectionSpherePositionNV = 5427,+ SpvOpRayQueryGetIntersectionSphereRadiusNV = 5428,+ SpvOpRayQueryGetIntersectionLSSPositionsNV = 5429,+ SpvOpRayQueryGetIntersectionLSSRadiiNV = 5430,+ SpvOpRayQueryGetIntersectionLSSHitValueNV = 5431,+ SpvOpHitObjectGetSpherePositionNV = 5432,+ SpvOpHitObjectGetSphereRadiusNV = 5433,+ SpvOpHitObjectGetLSSPositionsNV = 5434,+ SpvOpHitObjectGetLSSRadiiNV = 5435,+ SpvOpHitObjectIsSphereHitNV = 5436,+ SpvOpHitObjectIsLSSHitNV = 5437,+ SpvOpRayQueryIsSphereHitNV = 5438,+ SpvOpRayQueryIsLSSHitNV = 5439,+ SpvOpSubgroupShuffleINTEL = 5571,+ SpvOpSubgroupShuffleDownINTEL = 5572,+ SpvOpSubgroupShuffleUpINTEL = 5573,+ SpvOpSubgroupShuffleXorINTEL = 5574,+ SpvOpSubgroupBlockReadINTEL = 5575,+ SpvOpSubgroupBlockWriteINTEL = 5576,+ SpvOpSubgroupImageBlockReadINTEL = 5577,+ SpvOpSubgroupImageBlockWriteINTEL = 5578,+ SpvOpSubgroupImageMediaBlockReadINTEL = 5580,+ SpvOpSubgroupImageMediaBlockWriteINTEL = 5581,+ SpvOpUCountLeadingZerosINTEL = 5585,+ SpvOpUCountTrailingZerosINTEL = 5586,+ SpvOpAbsISubINTEL = 5587,+ SpvOpAbsUSubINTEL = 5588,+ SpvOpIAddSatINTEL = 5589,+ SpvOpUAddSatINTEL = 5590,+ SpvOpIAverageINTEL = 5591,+ SpvOpUAverageINTEL = 5592,+ SpvOpIAverageRoundedINTEL = 5593,+ SpvOpUAverageRoundedINTEL = 5594,+ SpvOpISubSatINTEL = 5595,+ SpvOpUSubSatINTEL = 5596,+ SpvOpIMul32x16INTEL = 5597,+ SpvOpUMul32x16INTEL = 5598,+ SpvOpConstantFunctionPointerINTEL = 5600,+ SpvOpFunctionPointerCallINTEL = 5601,+ SpvOpAsmTargetINTEL = 5609,+ SpvOpAsmINTEL = 5610,+ SpvOpAsmCallINTEL = 5611,+ SpvOpAtomicFMinEXT = 5614,+ SpvOpAtomicFMaxEXT = 5615,+ SpvOpAssumeTrueKHR = 5630,+ SpvOpExpectKHR = 5631,+ SpvOpDecorateString = 5632,+ SpvOpDecorateStringGOOGLE = 5632,+ SpvOpMemberDecorateString = 5633,+ SpvOpMemberDecorateStringGOOGLE = 5633,+ SpvOpVmeImageINTEL = 5699,+ SpvOpTypeVmeImageINTEL = 5700,+ SpvOpTypeAvcImePayloadINTEL = 5701,+ SpvOpTypeAvcRefPayloadINTEL = 5702,+ SpvOpTypeAvcSicPayloadINTEL = 5703,+ SpvOpTypeAvcMcePayloadINTEL = 5704,+ SpvOpTypeAvcMceResultINTEL = 5705,+ SpvOpTypeAvcImeResultINTEL = 5706,+ SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,+ SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,+ SpvOpTypeAvcImeSingleReferenceStreaminINTEL = 5709,+ SpvOpTypeAvcImeDualReferenceStreaminINTEL = 5710,+ SpvOpTypeAvcRefResultINTEL = 5711,+ SpvOpTypeAvcSicResultINTEL = 5712,+ SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,+ SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,+ SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,+ SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,+ SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,+ SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,+ SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,+ SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,+ SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,+ SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,+ SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,+ SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,+ SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,+ SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,+ SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,+ SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,+ SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,+ SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,+ SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,+ SpvOpSubgroupAvcMceConvertToImePayloadINTEL = 5732,+ SpvOpSubgroupAvcMceConvertToImeResultINTEL = 5733,+ SpvOpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,+ SpvOpSubgroupAvcMceConvertToRefResultINTEL = 5735,+ SpvOpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,+ SpvOpSubgroupAvcMceConvertToSicResultINTEL = 5737,+ SpvOpSubgroupAvcMceGetMotionVectorsINTEL = 5738,+ SpvOpSubgroupAvcMceGetInterDistortionsINTEL = 5739,+ SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,+ SpvOpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,+ SpvOpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,+ SpvOpSubgroupAvcMceGetInterDirectionsINTEL = 5743,+ SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,+ SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,+ SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,+ SpvOpSubgroupAvcImeInitializeINTEL = 5747,+ SpvOpSubgroupAvcImeSetSingleReferenceINTEL = 5748,+ SpvOpSubgroupAvcImeSetDualReferenceINTEL = 5749,+ SpvOpSubgroupAvcImeRefWindowSizeINTEL = 5750,+ SpvOpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,+ SpvOpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,+ SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,+ SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,+ SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,+ SpvOpSubgroupAvcImeSetWeightedSadINTEL = 5756,+ SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,+ SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,+ SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,+ SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,+ SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,+ SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,+ SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,+ SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,+ SpvOpSubgroupAvcImeConvertToMceResultINTEL = 5765,+ SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,+ SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,+ SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,+ SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,+ SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,+ SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,+ SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,+ SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,+ SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,+ SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,+ SpvOpSubgroupAvcImeGetBorderReachedINTEL = 5776,+ SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,+ SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,+ SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,+ SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,+ SpvOpSubgroupAvcFmeInitializeINTEL = 5781,+ SpvOpSubgroupAvcBmeInitializeINTEL = 5782,+ SpvOpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,+ SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,+ SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,+ SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,+ SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,+ SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,+ SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,+ SpvOpSubgroupAvcRefConvertToMceResultINTEL = 5790,+ SpvOpSubgroupAvcSicInitializeINTEL = 5791,+ SpvOpSubgroupAvcSicConfigureSkcINTEL = 5792,+ SpvOpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,+ SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,+ SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,+ SpvOpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,+ SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,+ SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,+ SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,+ SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,+ SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,+ SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,+ SpvOpSubgroupAvcSicEvaluateIpeINTEL = 5803,+ SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,+ SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,+ SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,+ SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,+ SpvOpSubgroupAvcSicConvertToMceResultINTEL = 5808,+ SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,+ SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,+ SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,+ SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,+ SpvOpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,+ SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,+ SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,+ SpvOpSubgroupAvcSicGetInterRawSadsINTEL = 5816,+ SpvOpVariableLengthArrayINTEL = 5818,+ SpvOpSaveMemoryINTEL = 5819,+ SpvOpRestoreMemoryINTEL = 5820,+ SpvOpArbitraryFloatSinCosPiALTERA = 5840,+ SpvOpArbitraryFloatSinCosPiINTEL = 5840,+ SpvOpArbitraryFloatCastALTERA = 5841,+ SpvOpArbitraryFloatCastINTEL = 5841,+ SpvOpArbitraryFloatCastFromIntALTERA = 5842,+ SpvOpArbitraryFloatCastFromIntINTEL = 5842,+ SpvOpArbitraryFloatCastToIntALTERA = 5843,+ SpvOpArbitraryFloatCastToIntINTEL = 5843,+ SpvOpArbitraryFloatAddALTERA = 5846,+ SpvOpArbitraryFloatAddINTEL = 5846,+ SpvOpArbitraryFloatSubALTERA = 5847,+ SpvOpArbitraryFloatSubINTEL = 5847,+ SpvOpArbitraryFloatMulALTERA = 5848,+ SpvOpArbitraryFloatMulINTEL = 5848,+ SpvOpArbitraryFloatDivALTERA = 5849,+ SpvOpArbitraryFloatDivINTEL = 5849,+ SpvOpArbitraryFloatGTALTERA = 5850,+ SpvOpArbitraryFloatGTINTEL = 5850,+ SpvOpArbitraryFloatGEALTERA = 5851,+ SpvOpArbitraryFloatGEINTEL = 5851,+ SpvOpArbitraryFloatLTALTERA = 5852,+ SpvOpArbitraryFloatLTINTEL = 5852,+ SpvOpArbitraryFloatLEALTERA = 5853,+ SpvOpArbitraryFloatLEINTEL = 5853,+ SpvOpArbitraryFloatEQALTERA = 5854,+ SpvOpArbitraryFloatEQINTEL = 5854,+ SpvOpArbitraryFloatRecipALTERA = 5855,+ SpvOpArbitraryFloatRecipINTEL = 5855,+ SpvOpArbitraryFloatRSqrtALTERA = 5856,+ SpvOpArbitraryFloatRSqrtINTEL = 5856,+ SpvOpArbitraryFloatCbrtALTERA = 5857,+ SpvOpArbitraryFloatCbrtINTEL = 5857,+ SpvOpArbitraryFloatHypotALTERA = 5858,+ SpvOpArbitraryFloatHypotINTEL = 5858,+ SpvOpArbitraryFloatSqrtALTERA = 5859,+ 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,+ SpvOpFixedSqrtALTERA = 5923,+ SpvOpFixedSqrtINTEL = 5923,+ SpvOpFixedRecipALTERA = 5924,+ SpvOpFixedRecipINTEL = 5924,+ SpvOpFixedRsqrtALTERA = 5925,+ SpvOpFixedRsqrtINTEL = 5925,+ SpvOpFixedSinALTERA = 5926,+ SpvOpFixedSinINTEL = 5926,+ SpvOpFixedCosALTERA = 5927,+ SpvOpFixedCosINTEL = 5927,+ SpvOpFixedSinCosALTERA = 5928,+ SpvOpFixedSinCosINTEL = 5928,+ SpvOpFixedSinPiALTERA = 5929,+ SpvOpFixedSinPiINTEL = 5929,+ SpvOpFixedCosPiALTERA = 5930,+ SpvOpFixedCosPiINTEL = 5930,+ SpvOpFixedSinCosPiALTERA = 5931,+ SpvOpFixedSinCosPiINTEL = 5931,+ SpvOpFixedLogALTERA = 5932,+ SpvOpFixedLogINTEL = 5932,+ SpvOpFixedExpALTERA = 5933,+ SpvOpFixedExpINTEL = 5933,+ SpvOpPtrCastToCrossWorkgroupALTERA = 5934,+ SpvOpPtrCastToCrossWorkgroupINTEL = 5934,+ SpvOpCrossWorkgroupCastToPtrALTERA = 5938,+ SpvOpCrossWorkgroupCastToPtrINTEL = 5938,+ SpvOpReadPipeBlockingALTERA = 5946,+ SpvOpReadPipeBlockingINTEL = 5946,+ SpvOpWritePipeBlockingALTERA = 5947,+ SpvOpWritePipeBlockingINTEL = 5947,+ SpvOpFPGARegALTERA = 5949,+ SpvOpFPGARegINTEL = 5949,+ SpvOpRayQueryGetRayTMinKHR = 6016,+ SpvOpRayQueryGetRayFlagsKHR = 6017,+ SpvOpRayQueryGetIntersectionTKHR = 6018,+ SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,+ SpvOpRayQueryGetIntersectionInstanceIdKHR = 6020,+ SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,+ SpvOpRayQueryGetIntersectionGeometryIndexKHR = 6022,+ SpvOpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,+ SpvOpRayQueryGetIntersectionBarycentricsKHR = 6024,+ SpvOpRayQueryGetIntersectionFrontFaceKHR = 6025,+ SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,+ SpvOpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,+ SpvOpRayQueryGetIntersectionObjectRayOriginKHR = 6028,+ SpvOpRayQueryGetWorldRayDirectionKHR = 6029,+ SpvOpRayQueryGetWorldRayOriginKHR = 6030,+ SpvOpRayQueryGetIntersectionObjectToWorldKHR = 6031,+ SpvOpRayQueryGetIntersectionWorldToObjectKHR = 6032,+ SpvOpAtomicFAddEXT = 6035,+ SpvOpTypeBufferSurfaceINTEL = 6086,+ SpvOpTypeStructContinuedINTEL = 6090,+ SpvOpConstantCompositeContinuedINTEL = 6091,+ SpvOpSpecConstantCompositeContinuedINTEL = 6092,+ SpvOpCompositeConstructContinuedINTEL = 6096,+ SpvOpConvertFToBF16INTEL = 6116,+ SpvOpConvertBF16ToFINTEL = 6117,+ SpvOpControlBarrierArriveINTEL = 6142,+ SpvOpControlBarrierWaitINTEL = 6143,+ SpvOpArithmeticFenceEXT = 6145,+ SpvOpTaskSequenceCreateALTERA = 6163,+ SpvOpTaskSequenceCreateINTEL = 6163,+ SpvOpTaskSequenceAsyncALTERA = 6164,+ SpvOpTaskSequenceAsyncINTEL = 6164,+ SpvOpTaskSequenceGetALTERA = 6165,+ SpvOpTaskSequenceGetINTEL = 6165,+ SpvOpTaskSequenceReleaseALTERA = 6166,+ SpvOpTaskSequenceReleaseINTEL = 6166,+ SpvOpTypeTaskSequenceALTERA = 6199,+ SpvOpTypeTaskSequenceINTEL = 6199,+ SpvOpSubgroupBlockPrefetchINTEL = 6221,+ SpvOpSubgroup2DBlockLoadINTEL = 6231,+ SpvOpSubgroup2DBlockLoadTransformINTEL = 6232,+ SpvOpSubgroup2DBlockLoadTransposeINTEL = 6233,+ SpvOpSubgroup2DBlockPrefetchINTEL = 6234,+ SpvOpSubgroup2DBlockStoreINTEL = 6235,+ SpvOpSubgroupMatrixMultiplyAccumulateINTEL = 6237,+ SpvOpBitwiseFunctionINTEL = 6242,+ SpvOpUntypedVariableLengthArrayINTEL = 6244,+ SpvOpConditionalExtensionINTEL = 6248,+ SpvOpConditionalEntryPointINTEL = 6249,+ SpvOpConditionalCapabilityINTEL = 6250,+ SpvOpSpecConstantTargetINTEL = 6251,+ SpvOpSpecConstantArchitectureINTEL = 6252,+ SpvOpSpecConstantCapabilitiesINTEL = 6253,+ SpvOpConditionalCopyObjectINTEL = 6254,+ SpvOpGroupIMulKHR = 6401,+ SpvOpGroupFMulKHR = 6402,+ SpvOpGroupBitwiseAndKHR = 6403,+ SpvOpGroupBitwiseOrKHR = 6404,+ SpvOpGroupBitwiseXorKHR = 6405,+ SpvOpGroupLogicalAndKHR = 6406,+ SpvOpGroupLogicalOrKHR = 6407,+ SpvOpGroupLogicalXorKHR = 6408,+ SpvOpRoundFToTF32INTEL = 6426,+ SpvOpMaskedGatherINTEL = 6428,+ SpvOpMaskedScatterINTEL = 6429,+ SpvOpConvertHandleToImageINTEL = 6529,+ SpvOpConvertHandleToSamplerINTEL = 6530,+ SpvOpConvertHandleToSampledImageINTEL = 6531,+ SpvOpFDot2MixAcc32VALVE = 6916,+ SpvOpFDot2MixAcc16VALVE = 6917,+ SpvOpFDot4MixAcc32VALVE = 6918,+ 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) {+ default: /* unknown opcode */+ break;+ case SpvOpNop:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpUndef:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSourceContinued:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpSource:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpSourceExtension:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpName:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpMemberName:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpString:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpLine:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpExtension:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpExtInstImport:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpExtInst:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpMemoryModel:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpEntryPoint:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpExecutionMode:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpCapability:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpTypeVoid:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTypeBool:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTypeInt:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTypeFloat:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTypeVector:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTypeMatrix:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTypeImage:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTypeSampler:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTypeSampledImage:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTypeArray:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTypeRuntimeArray:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTypeStruct:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTypeOpaque:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTypePointer:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTypeFunction:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTypeEvent:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTypeDeviceEvent:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTypeReserveId:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTypeQueue:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTypePipe:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTypeForwardPointer:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpConstantTrue:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpConstantFalse:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpConstant:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpConstantComposite:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpConstantSampler:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpConstantNull:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSpecConstantTrue:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSpecConstantFalse:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSpecConstant:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSpecConstantComposite:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSpecConstantOp:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFunction:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFunctionParameter:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFunctionEnd:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpFunctionCall:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpVariable:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageTexelPointer:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpLoad:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpStore:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpCopyMemory:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpCopyMemorySized:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpAccessChain:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpInBoundsAccessChain:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpPtrAccessChain:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpArrayLength:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGenericPtrMemSemantics:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpInBoundsPtrAccessChain:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpDecorate:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpMemberDecorate:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpDecorationGroup:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpGroupDecorate:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpGroupMemberDecorate:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpVectorExtractDynamic:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpVectorInsertDynamic:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpVectorShuffle:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpCompositeConstruct:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpCompositeExtract:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpCompositeInsert:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpCopyObject:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpTranspose:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSampledImage:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageSampleImplicitLod:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageSampleExplicitLod:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageSampleDrefImplicitLod:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageSampleDrefExplicitLod:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageSampleProjImplicitLod:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageSampleProjExplicitLod:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageSampleProjDrefImplicitLod:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageSampleProjDrefExplicitLod:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageFetch:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageGather:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageDrefGather:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageRead:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageWrite:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpImage:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageQueryFormat:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageQueryOrder:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageQuerySizeLod:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageQuerySize:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageQueryLod:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageQueryLevels:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageQuerySamples:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpConvertFToU:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpConvertFToS:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpConvertSToF:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpConvertUToF:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpUConvert:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSConvert:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFConvert:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpQuantizeToF16:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpConvertPtrToU:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSatConvertSToU:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSatConvertUToS:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpConvertUToPtr:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpPtrCastToGeneric:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGenericCastToPtr:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGenericCastToPtrExplicit:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpBitcast:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSNegate:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFNegate:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpIAdd:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFAdd:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpISub:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFSub:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpIMul:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFMul:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpUDiv:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSDiv:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFDiv:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpUMod:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSRem:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSMod:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFRem:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFMod:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpVectorTimesScalar:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpMatrixTimesScalar:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpVectorTimesMatrix:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpMatrixTimesVector:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpMatrixTimesMatrix:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpOuterProduct:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpDot:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpIAddCarry:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpISubBorrow:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpUMulExtended:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSMulExtended:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpAny:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpAll:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpIsNan:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpIsInf:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpIsFinite:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpIsNormal:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSignBitSet:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpLessOrGreater:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpOrdered:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpUnordered:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpLogicalEqual:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpLogicalNotEqual:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpLogicalOr:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpLogicalAnd:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpLogicalNot:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSelect:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpIEqual:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpINotEqual:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpUGreaterThan:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSGreaterThan:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpUGreaterThanEqual:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSGreaterThanEqual:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpULessThan:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSLessThan:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpULessThanEqual:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSLessThanEqual:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFOrdEqual:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFUnordEqual:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFOrdNotEqual:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFUnordNotEqual:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFOrdLessThan:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFUnordLessThan:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFOrdGreaterThan:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFUnordGreaterThan:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFOrdLessThanEqual:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFUnordLessThanEqual:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFOrdGreaterThanEqual:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFUnordGreaterThanEqual:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpShiftRightLogical:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpShiftRightArithmetic:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpShiftLeftLogical:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpBitwiseOr:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpBitwiseXor:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpBitwiseAnd:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpNot:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpBitFieldInsert:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpBitFieldSExtract:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpBitFieldUExtract:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpBitReverse:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpBitCount:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpDPdx:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpDPdy:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFwidth:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpDPdxFine:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpDPdyFine:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFwidthFine:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpDPdxCoarse:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpDPdyCoarse:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFwidthCoarse:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpEmitVertex:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpEndPrimitive:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpEmitStreamVertex:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpEndStreamPrimitive:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpControlBarrier:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpMemoryBarrier:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpAtomicLoad:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpAtomicStore:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpAtomicExchange:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpAtomicCompareExchange:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpAtomicCompareExchangeWeak:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpAtomicIIncrement:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpAtomicIDecrement:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpAtomicIAdd:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpAtomicISub:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpAtomicSMin:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpAtomicUMin:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpAtomicSMax:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpAtomicUMax:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpAtomicAnd:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpAtomicOr:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpAtomicXor:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpPhi:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpLoopMerge:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpSelectionMerge:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpLabel:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpBranch:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpBranchConditional:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpSwitch:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpKill:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpReturn:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpReturnValue:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpUnreachable:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpLifetimeStart:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpLifetimeStop:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpGroupAsyncCopy:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupWaitEvents:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpGroupAll:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupAny:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupBroadcast:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupIAdd:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupFAdd:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupFMin:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupUMin:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupSMin:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupFMax:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupUMax:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupSMax:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpReadPipe:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpWritePipe:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpReservedReadPipe:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpReservedWritePipe:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpReserveReadPipePackets:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpReserveWritePipePackets:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpCommitReadPipe:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpCommitWritePipe:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpIsValidReserveId:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGetNumPipePackets:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGetMaxPipePackets:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupReserveReadPipePackets:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupReserveWritePipePackets:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupCommitReadPipe:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpGroupCommitWritePipe:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpEnqueueMarker:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpEnqueueKernel:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGetKernelNDrangeSubGroupCount:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGetKernelNDrangeMaxSubGroupSize:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGetKernelWorkGroupSize:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGetKernelPreferredWorkGroupSizeMultiple:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpRetainEvent:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpReleaseEvent:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpCreateUserEvent:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpIsValidEvent:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSetUserEventStatus:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpCaptureEventProfilingInfo:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpGetDefaultQueue:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpBuildNDRange:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageSparseSampleImplicitLod:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageSparseSampleExplicitLod:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageSparseSampleDrefImplicitLod:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageSparseSampleDrefExplicitLod:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageSparseSampleProjImplicitLod:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageSparseSampleProjExplicitLod:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageSparseSampleProjDrefImplicitLod:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageSparseSampleProjDrefExplicitLod:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageSparseFetch:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageSparseGather:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageSparseDrefGather:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageSparseTexelsResident:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpNoLine:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpAtomicFlagTestAndSet:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpAtomicFlagClear:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpImageSparseRead:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSizeOf:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpTypePipeStorage:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpConstantPipeStorage:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpCreatePipeFromPipeStorage:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGetKernelLocalSizeForSubgroupCount:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGetKernelMaxNumSubgroups:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpTypeNamedBarrier:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpNamedBarrierInitialize:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpMemoryNamedBarrier:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpModuleProcessed:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpExecutionModeId:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpDecorateId:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpGroupNonUniformElect:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformAll:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformAny:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformAllEqual:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformBroadcast:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformBroadcastFirst:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformBallot:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformInverseBallot:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformBallotBitExtract:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformBallotBitCount:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformBallotFindLSB:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformBallotFindMSB:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformShuffle:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformShuffleXor:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformShuffleUp:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformShuffleDown:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformIAdd:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformFAdd:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformIMul:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformFMul:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformSMin:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformUMin:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformFMin:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformSMax:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformUMax:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformFMax:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformBitwiseAnd:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformBitwiseOr:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformBitwiseXor:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformLogicalAnd:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformLogicalOr:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformLogicalXor:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformQuadBroadcast:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformQuadSwap:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpCopyLogical:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpPtrEqual:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpPtrNotEqual:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpPtrDiff:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpColorAttachmentReadEXT:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpDepthAttachmentReadEXT:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpStencilAttachmentReadEXT:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpTypeTensorARM:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTensorReadARM:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpTensorWriteARM:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpTensorQuerySizeARM:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGraphConstantARM:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGraphEntryPointARM:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpGraphARM:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGraphInputARM:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGraphSetOutputARM:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpGraphEndARM:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpTypeGraphARM:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTerminateInvocation:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpTypeUntypedPointerKHR:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpUntypedVariableKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpUntypedAccessChainKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpUntypedInBoundsAccessChainKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupBallotKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupFirstInvocationKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpUntypedPtrAccessChainKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpUntypedInBoundsPtrAccessChainKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpUntypedArrayLengthKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpUntypedPrefetchKHR:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpFmaKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ 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 SpvOpExtInstWithForwardRefsKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpUntypedGroupAsyncCopyKHR:+ *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 SpvOpTypeCooperativeMatrixKHR:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpCooperativeMatrixLoadKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpCooperativeMatrixStoreKHR:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpCooperativeMatrixMulAddKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpCooperativeMatrixLengthKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpConstantCompositeReplicateEXT:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSpecConstantCompositeReplicateEXT:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpCompositeConstructReplicateEXT:+ *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;+ case SpvOpRayQueryGenerateIntersectionKHR:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpRayQueryConfirmIntersectionKHR:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpRayQueryProceedKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpRayQueryGetIntersectionTypeKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageSampleWeightedQCOM:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageBoxFilterQCOM:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageBlockMatchSSDQCOM:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageBlockMatchSADQCOM:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpBitCastArrayQCOM:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageBlockMatchWindowSSDQCOM:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageBlockMatchWindowSADQCOM:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageBlockMatchGatherSSDQCOM:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpImageBlockMatchGatherSADQCOM:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpCompositeConstructCoopMatQCOM:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpCompositeExtractCoopMatQCOM:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpExtractSubArrayQCOM:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupIAddNonUniformAMD:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupFAddNonUniformAMD:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupFMinNonUniformAMD:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupUMinNonUniformAMD:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupSMinNonUniformAMD:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupFMaxNonUniformAMD:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupUMaxNonUniformAMD:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupSMaxNonUniformAMD:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFragmentMaskFetchAMD:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFragmentFetchAMD:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpReadClockKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpAllocateNodePayloadsAMDX:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpEnqueueNodePayloadsAMDX:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpTypeNodePayloadArrayAMDX:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpFinishWritingNodePayloadAMDX:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpNodePayloadArrayLengthAMDX:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpIsNodePayloadValidAMDX:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpConstantStringAMDX:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpSpecConstantStringAMDX:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpGroupNonUniformQuadAllKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpGroupNonUniformQuadAnyKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpTypeBufferEXT:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpBufferPointerEXT:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpAbortKHR:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpUntypedImageTexelPointerEXT:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpMemberDecorateIdEXT:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpConstantSizeOfEXT:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpConstantDataKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSpecConstantDataKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpPoisonKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFreezeKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectRecordHitMotionNV:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpHitObjectRecordHitWithIndexMotionNV:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpHitObjectRecordMissMotionNV:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpHitObjectGetWorldToObjectNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetObjectToWorldNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetObjectRayDirectionNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetObjectRayOriginNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectTraceRayMotionNV:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpHitObjectGetShaderRecordBufferHandleNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetShaderBindingTableRecordIndexNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectRecordEmptyNV:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpHitObjectTraceRayNV:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpHitObjectRecordHitNV:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpHitObjectRecordHitWithIndexNV:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpHitObjectRecordMissNV:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpHitObjectExecuteShaderNV:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpHitObjectGetCurrentTimeNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetAttributesNV:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpHitObjectGetHitKindNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetPrimitiveIndexNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetGeometryIndexNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetInstanceIdNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetInstanceCustomIndexNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetWorldRayDirectionNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetWorldRayOriginNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetRayTMaxNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetRayTMinNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectIsEmptyNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectIsHitNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectIsMissNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpReorderThreadWithHitObjectNV:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpReorderThreadWithHintNV:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpTypeHitObjectNV:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpImageSampleFootprintNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpTypeVectorIdEXT:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpCooperativeVectorMatrixMulNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpCooperativeVectorOuterProductAccumulateNV:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpCooperativeVectorReduceSumAccumulateNV:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpCooperativeVectorMatrixMulAddNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpCooperativeMatrixConvertNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpEmitMeshTasksEXT:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpSetMeshOutputsEXT:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpGroupNonUniformPartitionEXT:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpWritePackedPrimitiveIndices4x8NV:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpFetchMicroTriangleVertexPositionNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFetchMicroTriangleVertexBarycentricNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpCooperativeVectorLoadNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpCooperativeVectorStoreNV:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpHitObjectRecordFromQueryEXT:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpHitObjectRecordMissEXT:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpHitObjectRecordMissMotionEXT:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpHitObjectGetIntersectionTriangleVertexPositionsEXT:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetRayFlagsEXT:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectSetShaderBindingTableRecordIndexEXT:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpHitObjectReorderExecuteShaderEXT:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpHitObjectTraceReorderExecuteEXT:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpHitObjectTraceMotionReorderExecuteEXT:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpTypeHitObjectEXT:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpReorderThreadWithHintEXT:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpReorderThreadWithHitObjectEXT:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpHitObjectTraceRayEXT:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpHitObjectTraceRayMotionEXT:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpHitObjectRecordEmptyEXT:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpHitObjectExecuteShaderEXT:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpHitObjectGetCurrentTimeEXT:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetAttributesEXT:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpHitObjectGetHitKindEXT:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetPrimitiveIndexEXT:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetGeometryIndexEXT:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetInstanceIdEXT:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetInstanceCustomIndexEXT:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetObjectRayOriginEXT:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetObjectRayDirectionEXT:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetWorldRayDirectionEXT:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetWorldRayOriginEXT:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetObjectToWorldEXT:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetWorldToObjectEXT:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetRayTMaxEXT:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpReportIntersectionKHR:+ *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 SpvOpRayQueryGetIntersectionTriangleVertexPositionsKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpTypeAccelerationStructureKHR:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpExecuteCallableNV:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpRayQueryGetIntersectionClusterIdNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetClusterIdNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetRayTMinEXT:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetShaderBindingTableRecordIndexEXT:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetShaderRecordBufferHandleEXT:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectIsEmptyEXT:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectIsHitEXT:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectIsMissEXT:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpTypeCooperativeMatrixNV:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpCooperativeMatrixLoadNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpCooperativeMatrixStoreNV:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpCooperativeMatrixMulAddNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpCooperativeMatrixLengthNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpBeginInvocationInterlockEXT:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpEndInvocationInterlockEXT:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpCooperativeMatrixReduceNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpCooperativeMatrixLoadTensorNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpCooperativeMatrixStoreTensorNV:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpCooperativeMatrixPerElementOpNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpTypeTensorLayoutNV:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTypeTensorViewNV:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpCreateTensorLayoutNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpTensorLayoutSetDimensionNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpTensorLayoutSetStrideNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpTensorLayoutSliceNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpTensorLayoutSetClampValueNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpCreateTensorViewNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpTensorViewSetDimensionNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpTensorViewSetStrideNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpDemoteToHelperInvocation:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpIsHelperInvocationEXT:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpTensorViewSetClipNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpTensorLayoutSetBlockSizeNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpCooperativeMatrixTransposeNV:+ *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 SpvOpRawAccessChainNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpRayQueryGetIntersectionSpherePositionNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpRayQueryGetIntersectionSphereRadiusNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpRayQueryGetIntersectionLSSPositionsNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpRayQueryGetIntersectionLSSRadiiNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpRayQueryGetIntersectionLSSHitValueNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetSpherePositionNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetSphereRadiusNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetLSSPositionsNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectGetLSSRadiiNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectIsSphereHitNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpHitObjectIsLSSHitNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpRayQueryIsSphereHitNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpRayQueryIsLSSHitNV:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupShuffleINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupShuffleDownINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupShuffleUpINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupShuffleXorINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupBlockReadINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupBlockWriteINTEL:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpSubgroupImageBlockReadINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupImageBlockWriteINTEL:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpSubgroupImageMediaBlockReadINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupImageMediaBlockWriteINTEL:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpUCountLeadingZerosINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpUCountTrailingZerosINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpAbsISubINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpAbsUSubINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpIAddSatINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpUAddSatINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpIAverageINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpUAverageINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpIAverageRoundedINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpUAverageRoundedINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpISubSatINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpUSubSatINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpIMul32x16INTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpUMul32x16INTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpConstantFunctionPointerINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFunctionPointerCallINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpAsmTargetINTEL:+ *hasResult = true;+ *hasResultType = false;+ 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;+ case SpvOpTypeVmeImageINTEL:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTypeAvcImePayloadINTEL:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTypeAvcRefPayloadINTEL:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTypeAvcSicPayloadINTEL:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTypeAvcMcePayloadINTEL:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTypeAvcMceResultINTEL:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTypeAvcImeResultINTEL:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTypeAvcImeSingleReferenceStreaminINTEL:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTypeAvcImeDualReferenceStreaminINTEL:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTypeAvcRefResultINTEL:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpTypeAvcSicResultINTEL:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcMceConvertToImePayloadINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcMceConvertToImeResultINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcMceConvertToRefPayloadINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcMceConvertToRefResultINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcMceConvertToSicPayloadINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcMceConvertToSicResultINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcMceGetMotionVectorsINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcMceGetInterDistortionsINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcMceGetInterMajorShapeINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcMceGetInterMinorShapeINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcMceGetInterDirectionsINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeInitializeINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeSetSingleReferenceINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeSetDualReferenceINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeRefWindowSizeINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeAdjustRefOffsetINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeConvertToMcePayloadINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeSetWeightedSadINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeConvertToMceResultINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeGetBorderReachedINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcFmeInitializeINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcBmeInitializeINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcRefConvertToMcePayloadINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcRefConvertToMceResultINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcSicInitializeINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcSicConfigureSkcINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcSicConfigureIpeLumaINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcSicConvertToMcePayloadINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcSicEvaluateIpeINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcSicConvertToMceResultINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSubgroupAvcSicGetIpeChromaModeINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ 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 SpvOpArbitraryFloatSinCosPiALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpArbitraryFloatCastALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpArbitraryFloatCastFromIntALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpArbitraryFloatCastToIntALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpArbitraryFloatAddALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpArbitraryFloatSubALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpArbitraryFloatMulALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpArbitraryFloatDivALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpArbitraryFloatGTALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpArbitraryFloatGEALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpArbitraryFloatLTALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpArbitraryFloatLEALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpArbitraryFloatEQALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpArbitraryFloatRecipALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpArbitraryFloatRSqrtALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpArbitraryFloatCbrtALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpArbitraryFloatHypotALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpArbitraryFloatSqrtALTERA:+ *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 SpvOpFixedSqrtALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFixedRecipALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFixedRsqrtALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFixedSinALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFixedCosALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFixedSinCosALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFixedSinPiALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFixedCosPiALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFixedSinCosPiALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFixedLogALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFixedExpALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpPtrCastToCrossWorkgroupALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpCrossWorkgroupCastToPtrALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpReadPipeBlockingALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpWritePipeBlockingALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFPGARegALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpRayQueryGetRayTMinKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpRayQueryGetRayFlagsKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpRayQueryGetIntersectionTKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpRayQueryGetIntersectionInstanceIdKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpRayQueryGetIntersectionGeometryIndexKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpRayQueryGetIntersectionPrimitiveIndexKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpRayQueryGetIntersectionBarycentricsKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpRayQueryGetIntersectionFrontFaceKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpRayQueryGetIntersectionObjectRayDirectionKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpRayQueryGetIntersectionObjectRayOriginKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpRayQueryGetWorldRayDirectionKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpRayQueryGetWorldRayOriginKHR:+ *hasResult = true;+ *hasResultType = true;+ break;+ 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 SpvOpCompositeConstructContinuedINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpConvertFToBF16INTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpConvertBF16ToFINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpControlBarrierArriveINTEL:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpControlBarrierWaitINTEL:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpArithmeticFenceEXT:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpTaskSequenceCreateALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpTaskSequenceAsyncALTERA:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpTaskSequenceGetALTERA:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpTaskSequenceReleaseALTERA:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpTypeTaskSequenceALTERA:+ *hasResult = true;+ *hasResultType = false;+ break;+ case SpvOpSubgroupBlockPrefetchINTEL:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpSubgroup2DBlockLoadINTEL:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpSubgroup2DBlockLoadTransformINTEL:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpSubgroup2DBlockLoadTransposeINTEL:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpSubgroup2DBlockPrefetchINTEL:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpSubgroup2DBlockStoreINTEL:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpSubgroupMatrixMultiplyAccumulateINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpBitwiseFunctionINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpUntypedVariableLengthArrayINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpConditionalExtensionINTEL:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpConditionalEntryPointINTEL:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpConditionalCapabilityINTEL:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpSpecConstantTargetINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSpecConstantArchitectureINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpSpecConstantCapabilitiesINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpConditionalCopyObjectINTEL:+ *hasResult = true;+ *hasResultType = true;+ 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;+ case SpvOpRoundFToTF32INTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpMaskedGatherINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpMaskedScatterINTEL:+ *hasResult = false;+ *hasResultType = false;+ break;+ case SpvOpConvertHandleToImageINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpConvertHandleToSamplerINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpConvertHandleToSampledImageINTEL:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFDot2MixAcc32VALVE:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFDot2MixAcc16VALVE:+ *hasResult = true;+ *hasResultType = true;+ break;+ case SpvOpFDot4MixAcc32VALVE:+ *hasResult = true;+ *hasResultType = true;+ break;+ }+}+inline const char* SpvSourceLanguageToString(SpvSourceLanguage value) {+ switch (value) {+ case SpvSourceLanguageUnknown:+ return "Unknown";+ case SpvSourceLanguageESSL:+ return "ESSL";+ case SpvSourceLanguageGLSL:+ return "GLSL";+ case SpvSourceLanguageOpenCL_C:+ return "OpenCL_C";+ case SpvSourceLanguageOpenCL_CPP:+ return "OpenCL_CPP";+ case SpvSourceLanguageHLSL:+ return "HLSL";+ case SpvSourceLanguageCPP_for_OpenCL:+ return "CPP_for_OpenCL";+ case SpvSourceLanguageSYCL:+ return "SYCL";+ case SpvSourceLanguageHERO_C:+ return "HERO_C";+ case SpvSourceLanguageNZSL:+ return "NZSL";+ case SpvSourceLanguageWGSL:+ return "WGSL";+ case SpvSourceLanguageSlang:+ return "Slang";+ case SpvSourceLanguageZig:+ return "Zig";+ case SpvSourceLanguageRust:+ return "Rust";+ default:+ return "Unknown";+ }+}++inline const char* SpvExecutionModelToString(SpvExecutionModel value) {+ switch (value) {+ case SpvExecutionModelVertex:+ return "Vertex";+ case SpvExecutionModelTessellationControl:+ return "TessellationControl";+ case SpvExecutionModelTessellationEvaluation:+ return "TessellationEvaluation";+ case SpvExecutionModelGeometry:+ return "Geometry";+ case SpvExecutionModelFragment:+ return "Fragment";+ case SpvExecutionModelGLCompute:+ return "GLCompute";+ case SpvExecutionModelKernel:+ return "Kernel";+ case SpvExecutionModelTaskNV:+ return "TaskNV";+ case SpvExecutionModelMeshNV:+ return "MeshNV";+ case SpvExecutionModelRayGenerationKHR:+ return "RayGenerationKHR";+ case SpvExecutionModelIntersectionKHR:+ return "IntersectionKHR";+ case SpvExecutionModelAnyHitKHR:+ return "AnyHitKHR";+ case SpvExecutionModelClosestHitKHR:+ return "ClosestHitKHR";+ case SpvExecutionModelMissKHR:+ return "MissKHR";+ case SpvExecutionModelCallableKHR:+ return "CallableKHR";+ case SpvExecutionModelTaskEXT:+ return "TaskEXT";+ case SpvExecutionModelMeshEXT:+ return "MeshEXT";+ default:+ return "Unknown";+ }+}++inline const char* SpvAddressingModelToString(SpvAddressingModel value) {+ switch (value) {+ case SpvAddressingModelLogical:+ return "Logical";+ case SpvAddressingModelPhysical32:+ return "Physical32";+ case SpvAddressingModelPhysical64:+ return "Physical64";+ case SpvAddressingModelPhysicalStorageBuffer64:+ return "PhysicalStorageBuffer64";+ default:+ return "Unknown";+ }+}++inline const char* SpvMemoryModelToString(SpvMemoryModel value) {+ switch (value) {+ case SpvMemoryModelSimple:+ return "Simple";+ case SpvMemoryModelGLSL450:+ return "GLSL450";+ case SpvMemoryModelOpenCL:+ return "OpenCL";+ case SpvMemoryModelVulkan:+ return "Vulkan";+ default:+ return "Unknown";+ }+}++inline const char* SpvExecutionModeToString(SpvExecutionMode value) {+ switch (value) {+ case SpvExecutionModeInvocations:+ return "Invocations";+ case SpvExecutionModeSpacingEqual:+ return "SpacingEqual";+ case SpvExecutionModeSpacingFractionalEven:+ return "SpacingFractionalEven";+ case SpvExecutionModeSpacingFractionalOdd:+ return "SpacingFractionalOdd";+ case SpvExecutionModeVertexOrderCw:+ return "VertexOrderCw";+ case SpvExecutionModeVertexOrderCcw:+ return "VertexOrderCcw";+ case SpvExecutionModePixelCenterInteger:+ return "PixelCenterInteger";+ case SpvExecutionModeOriginUpperLeft:+ return "OriginUpperLeft";+ case SpvExecutionModeOriginLowerLeft:+ return "OriginLowerLeft";+ case SpvExecutionModeEarlyFragmentTests:+ return "EarlyFragmentTests";+ case SpvExecutionModePointMode:+ return "PointMode";+ case SpvExecutionModeXfb:+ return "Xfb";+ case SpvExecutionModeDepthReplacing:+ return "DepthReplacing";+ case SpvExecutionModeDepthGreater:+ return "DepthGreater";+ case SpvExecutionModeDepthLess:+ return "DepthLess";+ case SpvExecutionModeDepthUnchanged:+ return "DepthUnchanged";+ case SpvExecutionModeLocalSize:+ return "LocalSize";+ case SpvExecutionModeLocalSizeHint:+ return "LocalSizeHint";+ case SpvExecutionModeInputPoints:+ return "InputPoints";+ case SpvExecutionModeInputLines:+ return "InputLines";+ case SpvExecutionModeInputLinesAdjacency:+ return "InputLinesAdjacency";+ case SpvExecutionModeTriangles:+ return "Triangles";+ case SpvExecutionModeInputTrianglesAdjacency:+ return "InputTrianglesAdjacency";+ case SpvExecutionModeQuads:+ return "Quads";+ case SpvExecutionModeIsolines:+ return "Isolines";+ case SpvExecutionModeOutputVertices:+ return "OutputVertices";+ case SpvExecutionModeOutputPoints:+ return "OutputPoints";+ case SpvExecutionModeOutputLineStrip:+ return "OutputLineStrip";+ case SpvExecutionModeOutputTriangleStrip:+ return "OutputTriangleStrip";+ case SpvExecutionModeVecTypeHint:+ return "VecTypeHint";+ case SpvExecutionModeContractionOff:+ return "ContractionOff";+ case SpvExecutionModeInitializer:+ return "Initializer";+ case SpvExecutionModeFinalizer:+ return "Finalizer";+ case SpvExecutionModeSubgroupSize:+ return "SubgroupSize";+ case SpvExecutionModeSubgroupsPerWorkgroup:+ return "SubgroupsPerWorkgroup";+ case SpvExecutionModeSubgroupsPerWorkgroupId:+ return "SubgroupsPerWorkgroupId";+ case SpvExecutionModeLocalSizeId:+ return "LocalSizeId";+ case SpvExecutionModeLocalSizeHintId:+ return "LocalSizeHintId";+ case SpvExecutionModeNonCoherentColorAttachmentReadEXT:+ return "NonCoherentColorAttachmentReadEXT";+ case SpvExecutionModeNonCoherentDepthAttachmentReadEXT:+ return "NonCoherentDepthAttachmentReadEXT";+ case SpvExecutionModeNonCoherentStencilAttachmentReadEXT:+ return "NonCoherentStencilAttachmentReadEXT";+ case SpvExecutionModeSubgroupUniformControlFlowKHR:+ return "SubgroupUniformControlFlowKHR";+ case SpvExecutionModePostDepthCoverage:+ return "PostDepthCoverage";+ case SpvExecutionModeDenormPreserve:+ return "DenormPreserve";+ case SpvExecutionModeDenormFlushToZero:+ return "DenormFlushToZero";+ case SpvExecutionModeSignedZeroInfNanPreserve:+ return "SignedZeroInfNanPreserve";+ case SpvExecutionModeRoundingModeRTE:+ return "RoundingModeRTE";+ case SpvExecutionModeRoundingModeRTZ:+ return "RoundingModeRTZ";+ case SpvExecutionModeNonCoherentTileAttachmentReadQCOM:+ return "NonCoherentTileAttachmentReadQCOM";+ case SpvExecutionModeTileShadingRateQCOM:+ return "TileShadingRateQCOM";+ case SpvExecutionModeEarlyAndLateFragmentTestsAMD:+ return "EarlyAndLateFragmentTestsAMD";+ case SpvExecutionModeStencilRefReplacingEXT:+ return "StencilRefReplacingEXT";+ case SpvExecutionModeCoalescingAMDX:+ return "CoalescingAMDX";+ case SpvExecutionModeIsApiEntryAMDX:+ return "IsApiEntryAMDX";+ case SpvExecutionModeMaxNodeRecursionAMDX:+ return "MaxNodeRecursionAMDX";+ case SpvExecutionModeStaticNumWorkgroupsAMDX:+ return "StaticNumWorkgroupsAMDX";+ case SpvExecutionModeShaderIndexAMDX:+ return "ShaderIndexAMDX";+ case SpvExecutionModeMaxNumWorkgroupsAMDX:+ return "MaxNumWorkgroupsAMDX";+ case SpvExecutionModeStencilRefUnchangedFrontAMD:+ return "StencilRefUnchangedFrontAMD";+ case SpvExecutionModeStencilRefGreaterFrontAMD:+ return "StencilRefGreaterFrontAMD";+ case SpvExecutionModeStencilRefLessFrontAMD:+ return "StencilRefLessFrontAMD";+ case SpvExecutionModeStencilRefUnchangedBackAMD:+ return "StencilRefUnchangedBackAMD";+ case SpvExecutionModeStencilRefGreaterBackAMD:+ return "StencilRefGreaterBackAMD";+ case SpvExecutionModeStencilRefLessBackAMD:+ return "StencilRefLessBackAMD";+ case SpvExecutionModeQuadDerivativesKHR:+ return "QuadDerivativesKHR";+ case SpvExecutionModeRequireFullQuadsKHR:+ return "RequireFullQuadsKHR";+ case SpvExecutionModeSharesInputWithAMDX:+ return "SharesInputWithAMDX";+ case SpvExecutionModeArithmeticPoisonKHR:+ return "ArithmeticPoisonKHR";+ case SpvExecutionModeOutputLinesEXT:+ return "OutputLinesEXT";+ case SpvExecutionModeOutputPrimitivesEXT:+ return "OutputPrimitivesEXT";+ case SpvExecutionModeDerivativeGroupQuadsKHR:+ return "DerivativeGroupQuadsKHR";+ case SpvExecutionModeDerivativeGroupLinearKHR:+ return "DerivativeGroupLinearKHR";+ case SpvExecutionModeOutputTrianglesEXT:+ return "OutputTrianglesEXT";+ case SpvExecutionModePixelInterlockOrderedEXT:+ return "PixelInterlockOrderedEXT";+ case SpvExecutionModePixelInterlockUnorderedEXT:+ return "PixelInterlockUnorderedEXT";+ case SpvExecutionModeSampleInterlockOrderedEXT:+ return "SampleInterlockOrderedEXT";+ case SpvExecutionModeSampleInterlockUnorderedEXT:+ return "SampleInterlockUnorderedEXT";+ case SpvExecutionModeShadingRateInterlockOrderedEXT:+ return "ShadingRateInterlockOrderedEXT";+ case SpvExecutionModeShadingRateInterlockUnorderedEXT:+ return "ShadingRateInterlockUnorderedEXT";+ case SpvExecutionModeShader64BitIndexingEXT:+ return "Shader64BitIndexingEXT";+ case SpvExecutionModeSharedLocalMemorySizeINTEL:+ return "SharedLocalMemorySizeINTEL";+ case SpvExecutionModeRoundingModeRTPINTEL:+ return "RoundingModeRTPINTEL";+ case SpvExecutionModeRoundingModeRTNINTEL:+ return "RoundingModeRTNINTEL";+ case SpvExecutionModeFloatingPointModeALTINTEL:+ return "FloatingPointModeALTINTEL";+ case SpvExecutionModeFloatingPointModeIEEEINTEL:+ return "FloatingPointModeIEEEINTEL";+ case SpvExecutionModeMaxWorkgroupSizeINTEL:+ return "MaxWorkgroupSizeINTEL";+ case SpvExecutionModeMaxWorkDimINTEL:+ return "MaxWorkDimINTEL";+ case SpvExecutionModeNoGlobalOffsetINTEL:+ return "NoGlobalOffsetINTEL";+ case SpvExecutionModeNumSIMDWorkitemsINTEL:+ return "NumSIMDWorkitemsINTEL";+ case SpvExecutionModeSchedulerTargetFmaxMhzINTEL:+ return "SchedulerTargetFmaxMhzINTEL";+ case SpvExecutionModeMaximallyReconvergesKHR:+ return "MaximallyReconvergesKHR";+ case SpvExecutionModeFPFastMathDefault:+ return "FPFastMathDefault";+ case SpvExecutionModeStreamingInterfaceINTEL:+ return "StreamingInterfaceINTEL";+ case SpvExecutionModeRegisterMapInterfaceINTEL:+ return "RegisterMapInterfaceINTEL";+ case SpvExecutionModeNamedBarrierCountINTEL:+ return "NamedBarrierCountINTEL";+ case SpvExecutionModeMaximumRegistersINTEL:+ return "MaximumRegistersINTEL";+ case SpvExecutionModeMaximumRegistersIdINTEL:+ return "MaximumRegistersIdINTEL";+ case SpvExecutionModeNamedMaximumRegistersINTEL:+ return "NamedMaximumRegistersINTEL";+ default:+ return "Unknown";+ }+}++inline const char* SpvStorageClassToString(SpvStorageClass value) {+ switch (value) {+ case SpvStorageClassUniformConstant:+ return "UniformConstant";+ case SpvStorageClassInput:+ return "Input";+ case SpvStorageClassUniform:+ return "Uniform";+ case SpvStorageClassOutput:+ return "Output";+ case SpvStorageClassWorkgroup:+ return "Workgroup";+ case SpvStorageClassCrossWorkgroup:+ return "CrossWorkgroup";+ case SpvStorageClassPrivate:+ return "Private";+ case SpvStorageClassFunction:+ return "Function";+ case SpvStorageClassGeneric:+ return "Generic";+ case SpvStorageClassPushConstant:+ return "PushConstant";+ case SpvStorageClassAtomicCounter:+ return "AtomicCounter";+ case SpvStorageClassImage:+ return "Image";+ case SpvStorageClassStorageBuffer:+ return "StorageBuffer";+ case SpvStorageClassTileImageEXT:+ return "TileImageEXT";+ case SpvStorageClassTileAttachmentQCOM:+ return "TileAttachmentQCOM";+ case SpvStorageClassNodePayloadAMDX:+ return "NodePayloadAMDX";+ case SpvStorageClassCallableDataKHR:+ return "CallableDataKHR";+ case SpvStorageClassIncomingCallableDataKHR:+ return "IncomingCallableDataKHR";+ case SpvStorageClassRayPayloadKHR:+ return "RayPayloadKHR";+ case SpvStorageClassHitAttributeKHR:+ return "HitAttributeKHR";+ case SpvStorageClassIncomingRayPayloadKHR:+ return "IncomingRayPayloadKHR";+ case SpvStorageClassShaderRecordBufferKHR:+ return "ShaderRecordBufferKHR";+ case SpvStorageClassPhysicalStorageBuffer:+ return "PhysicalStorageBuffer";+ case SpvStorageClassHitObjectAttributeNV:+ return "HitObjectAttributeNV";+ case SpvStorageClassTaskPayloadWorkgroupEXT:+ return "TaskPayloadWorkgroupEXT";+ case SpvStorageClassHitObjectAttributeEXT:+ return "HitObjectAttributeEXT";+ case SpvStorageClassCodeSectionINTEL:+ return "CodeSectionINTEL";+ case SpvStorageClassDeviceOnlyALTERA:+ return "DeviceOnlyALTERA";+ case SpvStorageClassHostOnlyALTERA:+ return "HostOnlyALTERA";+ default:+ return "Unknown";+ }+}++inline const char* SpvDimToString(SpvDim value) {+ switch (value) {+ case SpvDim1D:+ return "1D";+ case SpvDim2D:+ return "2D";+ case SpvDim3D:+ return "3D";+ case SpvDimCube:+ return "Cube";+ case SpvDimRect:+ return "Rect";+ case SpvDimBuffer:+ return "Buffer";+ case SpvDimSubpassData:+ return "SubpassData";+ case SpvDimTileImageDataEXT:+ return "TileImageDataEXT";+ default:+ return "Unknown";+ }+}++inline const char* SpvSamplerAddressingModeToString(SpvSamplerAddressingMode value) {+ switch (value) {+ case SpvSamplerAddressingModeNone:+ return "None";+ case SpvSamplerAddressingModeClampToEdge:+ return "ClampToEdge";+ case SpvSamplerAddressingModeClamp:+ return "Clamp";+ case SpvSamplerAddressingModeRepeat:+ return "Repeat";+ case SpvSamplerAddressingModeRepeatMirrored:+ return "RepeatMirrored";+ default:+ return "Unknown";+ }+}++inline const char* SpvSamplerFilterModeToString(SpvSamplerFilterMode value) {+ switch (value) {+ case SpvSamplerFilterModeNearest:+ return "Nearest";+ case SpvSamplerFilterModeLinear:+ return "Linear";+ default:+ return "Unknown";+ }+}++inline const char* SpvImageFormatToString(SpvImageFormat value) {+ switch (value) {+ case SpvImageFormatUnknown:+ return "Unknown";+ case SpvImageFormatRgba32f:+ return "Rgba32f";+ case SpvImageFormatRgba16f:+ return "Rgba16f";+ case SpvImageFormatR32f:+ return "R32f";+ case SpvImageFormatRgba8:+ return "Rgba8";+ case SpvImageFormatRgba8Snorm:+ return "Rgba8Snorm";+ case SpvImageFormatRg32f:+ return "Rg32f";+ case SpvImageFormatRg16f:+ return "Rg16f";+ case SpvImageFormatR11fG11fB10f:+ return "R11fG11fB10f";+ case SpvImageFormatR16f:+ return "R16f";+ case SpvImageFormatRgba16:+ return "Rgba16";+ case SpvImageFormatRgb10A2:+ return "Rgb10A2";+ case SpvImageFormatRg16:+ return "Rg16";+ case SpvImageFormatRg8:+ return "Rg8";+ case SpvImageFormatR16:+ return "R16";+ case SpvImageFormatR8:+ return "R8";+ case SpvImageFormatRgba16Snorm:+ return "Rgba16Snorm";+ case SpvImageFormatRg16Snorm:+ return "Rg16Snorm";+ case SpvImageFormatRg8Snorm:+ return "Rg8Snorm";+ case SpvImageFormatR16Snorm:+ return "R16Snorm";+ case SpvImageFormatR8Snorm:+ return "R8Snorm";+ case SpvImageFormatRgba32i:+ return "Rgba32i";+ case SpvImageFormatRgba16i:+ return "Rgba16i";+ case SpvImageFormatRgba8i:+ return "Rgba8i";+ case SpvImageFormatR32i:+ return "R32i";+ case SpvImageFormatRg32i:+ return "Rg32i";+ case SpvImageFormatRg16i:+ return "Rg16i";+ case SpvImageFormatRg8i:+ return "Rg8i";+ case SpvImageFormatR16i:+ return "R16i";+ case SpvImageFormatR8i:+ return "R8i";+ case SpvImageFormatRgba32ui:+ return "Rgba32ui";+ case SpvImageFormatRgba16ui:+ return "Rgba16ui";+ case SpvImageFormatRgba8ui:+ return "Rgba8ui";+ case SpvImageFormatR32ui:+ return "R32ui";+ case SpvImageFormatRgb10a2ui:+ return "Rgb10a2ui";+ case SpvImageFormatRg32ui:+ return "Rg32ui";+ case SpvImageFormatRg16ui:+ return "Rg16ui";+ case SpvImageFormatRg8ui:+ return "Rg8ui";+ case SpvImageFormatR16ui:+ return "R16ui";+ case SpvImageFormatR8ui:+ return "R8ui";+ case SpvImageFormatR64ui:+ return "R64ui";+ case SpvImageFormatR64i:+ return "R64i";+ default:+ return "Unknown";+ }+}++inline const char* SpvImageChannelOrderToString(SpvImageChannelOrder value) {+ switch (value) {+ case SpvImageChannelOrderR:+ return "R";+ case SpvImageChannelOrderA:+ return "A";+ case SpvImageChannelOrderRG:+ return "RG";+ case SpvImageChannelOrderRA:+ return "RA";+ case SpvImageChannelOrderRGB:+ return "RGB";+ case SpvImageChannelOrderRGBA:+ return "RGBA";+ case SpvImageChannelOrderBGRA:+ return "BGRA";+ case SpvImageChannelOrderARGB:+ return "ARGB";+ case SpvImageChannelOrderIntensity:+ return "Intensity";+ case SpvImageChannelOrderLuminance:+ return "Luminance";+ case SpvImageChannelOrderRx:+ return "Rx";+ case SpvImageChannelOrderRGx:+ return "RGx";+ case SpvImageChannelOrderRGBx:+ return "RGBx";+ case SpvImageChannelOrderDepth:+ return "Depth";+ case SpvImageChannelOrderDepthStencil:+ return "DepthStencil";+ case SpvImageChannelOrdersRGB:+ return "sRGB";+ case SpvImageChannelOrdersRGBx:+ return "sRGBx";+ case SpvImageChannelOrdersRGBA:+ return "sRGBA";+ case SpvImageChannelOrdersBGRA:+ return "sBGRA";+ case SpvImageChannelOrderABGR:+ return "ABGR";+ default:+ return "Unknown";+ }+}++inline const char* SpvImageChannelDataTypeToString(SpvImageChannelDataType value) {+ switch (value) {+ case SpvImageChannelDataTypeSnormInt8:+ return "SnormInt8";+ case SpvImageChannelDataTypeSnormInt16:+ return "SnormInt16";+ case SpvImageChannelDataTypeUnormInt8:+ return "UnormInt8";+ case SpvImageChannelDataTypeUnormInt16:+ return "UnormInt16";+ case SpvImageChannelDataTypeUnormShort565:+ return "UnormShort565";+ case SpvImageChannelDataTypeUnormShort555:+ return "UnormShort555";+ case SpvImageChannelDataTypeUnormInt101010:+ return "UnormInt101010";+ case SpvImageChannelDataTypeSignedInt8:+ return "SignedInt8";+ case SpvImageChannelDataTypeSignedInt16:+ return "SignedInt16";+ case SpvImageChannelDataTypeSignedInt32:+ return "SignedInt32";+ case SpvImageChannelDataTypeUnsignedInt8:+ return "UnsignedInt8";+ case SpvImageChannelDataTypeUnsignedInt16:+ return "UnsignedInt16";+ case SpvImageChannelDataTypeUnsignedInt32:+ return "UnsignedInt32";+ case SpvImageChannelDataTypeHalfFloat:+ return "HalfFloat";+ case SpvImageChannelDataTypeFloat:+ return "Float";+ case SpvImageChannelDataTypeUnormInt24:+ return "UnormInt24";+ case SpvImageChannelDataTypeUnormInt101010_2:+ return "UnormInt101010_2";+ case SpvImageChannelDataTypeUnormInt10X6EXT:+ return "UnormInt10X6EXT";+ case SpvImageChannelDataTypeUnsignedIntRaw10EXT:+ return "UnsignedIntRaw10EXT";+ case SpvImageChannelDataTypeUnsignedIntRaw12EXT:+ return "UnsignedIntRaw12EXT";+ case SpvImageChannelDataTypeUnormInt2_101010EXT:+ return "UnormInt2_101010EXT";+ case SpvImageChannelDataTypeUnsignedInt10X6EXT:+ return "UnsignedInt10X6EXT";+ case SpvImageChannelDataTypeUnsignedInt12X4EXT:+ return "UnsignedInt12X4EXT";+ case SpvImageChannelDataTypeUnsignedInt14X2EXT:+ return "UnsignedInt14X2EXT";+ case SpvImageChannelDataTypeUnormInt12X4EXT:+ return "UnormInt12X4EXT";+ case SpvImageChannelDataTypeUnormInt14X2EXT:+ return "UnormInt14X2EXT";+ default:+ return "Unknown";+ }+}++inline const char* SpvFPRoundingModeToString(SpvFPRoundingMode value) {+ switch (value) {+ case SpvFPRoundingModeRTE:+ return "RTE";+ case SpvFPRoundingModeRTZ:+ return "RTZ";+ case SpvFPRoundingModeRTP:+ return "RTP";+ case SpvFPRoundingModeRTN:+ return "RTN";+ default:+ return "Unknown";+ }+}++inline const char* SpvLinkageTypeToString(SpvLinkageType value) {+ switch (value) {+ case SpvLinkageTypeExport:+ return "Export";+ case SpvLinkageTypeImport:+ return "Import";+ case SpvLinkageTypeLinkOnceODR:+ return "LinkOnceODR";+ default:+ return "Unknown";+ }+}++inline const char* SpvAccessQualifierToString(SpvAccessQualifier value) {+ switch (value) {+ case SpvAccessQualifierReadOnly:+ return "ReadOnly";+ case SpvAccessQualifierWriteOnly:+ return "WriteOnly";+ case SpvAccessQualifierReadWrite:+ return "ReadWrite";+ default:+ return "Unknown";+ }+}++inline const char* SpvFunctionParameterAttributeToString(SpvFunctionParameterAttribute value) {+ switch (value) {+ case SpvFunctionParameterAttributeZext:+ return "Zext";+ case SpvFunctionParameterAttributeSext:+ return "Sext";+ case SpvFunctionParameterAttributeByVal:+ return "ByVal";+ case SpvFunctionParameterAttributeSret:+ return "Sret";+ case SpvFunctionParameterAttributeNoAlias:+ return "NoAlias";+ case SpvFunctionParameterAttributeNoCapture:+ return "NoCapture";+ case SpvFunctionParameterAttributeNoWrite:+ return "NoWrite";+ case SpvFunctionParameterAttributeNoReadWrite:+ return "NoReadWrite";+ case SpvFunctionParameterAttributeRuntimeAlignedALTERA:+ return "RuntimeAlignedALTERA";+ default:+ return "Unknown";+ }+}++inline const char* SpvDecorationToString(SpvDecoration value) {+ switch (value) {+ case SpvDecorationRelaxedPrecision:+ return "RelaxedPrecision";+ case SpvDecorationSpecId:+ return "SpecId";+ case SpvDecorationBlock:+ return "Block";+ case SpvDecorationBufferBlock:+ return "BufferBlock";+ case SpvDecorationRowMajor:+ return "RowMajor";+ case SpvDecorationColMajor:+ return "ColMajor";+ case SpvDecorationArrayStride:+ return "ArrayStride";+ case SpvDecorationMatrixStride:+ return "MatrixStride";+ case SpvDecorationGLSLShared:+ return "GLSLShared";+ case SpvDecorationGLSLPacked:+ return "GLSLPacked";+ case SpvDecorationCPacked:+ return "CPacked";+ case SpvDecorationBuiltIn:+ return "BuiltIn";+ case SpvDecorationNoPerspective:+ return "NoPerspective";+ case SpvDecorationFlat:+ return "Flat";+ case SpvDecorationPatch:+ return "Patch";+ case SpvDecorationCentroid:+ return "Centroid";+ case SpvDecorationSample:+ return "Sample";+ case SpvDecorationInvariant:+ return "Invariant";+ case SpvDecorationRestrict:+ return "Restrict";+ case SpvDecorationAliased:+ return "Aliased";+ case SpvDecorationVolatile:+ return "Volatile";+ case SpvDecorationConstant:+ return "Constant";+ case SpvDecorationCoherent:+ return "Coherent";+ case SpvDecorationNonWritable:+ return "NonWritable";+ case SpvDecorationNonReadable:+ return "NonReadable";+ case SpvDecorationUniform:+ return "Uniform";+ case SpvDecorationUniformId:+ return "UniformId";+ case SpvDecorationSaturatedConversion:+ return "SaturatedConversion";+ case SpvDecorationStream:+ return "Stream";+ case SpvDecorationLocation:+ return "Location";+ case SpvDecorationComponent:+ return "Component";+ case SpvDecorationIndex:+ return "Index";+ case SpvDecorationBinding:+ return "Binding";+ case SpvDecorationDescriptorSet:+ return "DescriptorSet";+ case SpvDecorationOffset:+ return "Offset";+ case SpvDecorationXfbBuffer:+ return "XfbBuffer";+ case SpvDecorationXfbStride:+ return "XfbStride";+ case SpvDecorationFuncParamAttr:+ return "FuncParamAttr";+ case SpvDecorationFPRoundingMode:+ return "FPRoundingMode";+ case SpvDecorationFPFastMathMode:+ return "FPFastMathMode";+ case SpvDecorationLinkageAttributes:+ return "LinkageAttributes";+ case SpvDecorationNoContraction:+ return "NoContraction";+ case SpvDecorationInputAttachmentIndex:+ return "InputAttachmentIndex";+ case SpvDecorationAlignment:+ return "Alignment";+ case SpvDecorationMaxByteOffset:+ return "MaxByteOffset";+ case SpvDecorationAlignmentId:+ return "AlignmentId";+ case SpvDecorationMaxByteOffsetId:+ return "MaxByteOffsetId";+ case SpvDecorationSaturatedToLargestFloat8NormalConversionEXT:+ return "SaturatedToLargestFloat8NormalConversionEXT";+ case SpvDecorationNoSignedWrap:+ return "NoSignedWrap";+ case SpvDecorationNoUnsignedWrap:+ return "NoUnsignedWrap";+ case SpvDecorationWeightTextureQCOM:+ return "WeightTextureQCOM";+ case SpvDecorationBlockMatchTextureQCOM:+ return "BlockMatchTextureQCOM";+ case SpvDecorationBlockMatchSamplerQCOM:+ return "BlockMatchSamplerQCOM";+ case SpvDecorationExplicitInterpAMD:+ return "ExplicitInterpAMD";+ case SpvDecorationNodeSharesPayloadLimitsWithAMDX:+ return "NodeSharesPayloadLimitsWithAMDX";+ case SpvDecorationNodeMaxPayloadsAMDX:+ return "NodeMaxPayloadsAMDX";+ case SpvDecorationTrackFinishWritingAMDX:+ return "TrackFinishWritingAMDX";+ case SpvDecorationPayloadNodeNameAMDX:+ return "PayloadNodeNameAMDX";+ case SpvDecorationPayloadNodeBaseIndexAMDX:+ return "PayloadNodeBaseIndexAMDX";+ case SpvDecorationPayloadNodeSparseArrayAMDX:+ return "PayloadNodeSparseArrayAMDX";+ case SpvDecorationPayloadNodeArraySizeAMDX:+ return "PayloadNodeArraySizeAMDX";+ case SpvDecorationPayloadDispatchIndirectAMDX:+ return "PayloadDispatchIndirectAMDX";+ case SpvDecorationArrayStrideIdEXT:+ return "ArrayStrideIdEXT";+ case SpvDecorationOffsetIdEXT:+ return "OffsetIdEXT";+ case SpvDecorationUTFEncodedKHR:+ return "UTFEncodedKHR";+ case SpvDecorationOverrideCoverageNV:+ return "OverrideCoverageNV";+ case SpvDecorationPassthroughNV:+ return "PassthroughNV";+ case SpvDecorationViewportRelativeNV:+ return "ViewportRelativeNV";+ case SpvDecorationSecondaryViewportRelativeNV:+ return "SecondaryViewportRelativeNV";+ case SpvDecorationPerPrimitiveEXT:+ return "PerPrimitiveEXT";+ case SpvDecorationPerViewNV:+ return "PerViewNV";+ case SpvDecorationPerTaskNV:+ return "PerTaskNV";+ case SpvDecorationPerVertexKHR:+ return "PerVertexKHR";+ case SpvDecorationNonUniform:+ return "NonUniform";+ case SpvDecorationRestrictPointer:+ return "RestrictPointer";+ case SpvDecorationAliasedPointer:+ return "AliasedPointer";+ case SpvDecorationMemberOffsetNV:+ return "MemberOffsetNV";+ case SpvDecorationHitObjectShaderRecordBufferNV:+ return "HitObjectShaderRecordBufferNV";+ case SpvDecorationHitObjectShaderRecordBufferEXT:+ return "HitObjectShaderRecordBufferEXT";+ case SpvDecorationBankNV:+ return "BankNV";+ case SpvDecorationBindlessSamplerNV:+ return "BindlessSamplerNV";+ case SpvDecorationBindlessImageNV:+ return "BindlessImageNV";+ case SpvDecorationBoundSamplerNV:+ return "BoundSamplerNV";+ case SpvDecorationBoundImageNV:+ return "BoundImageNV";+ case SpvDecorationSIMTCallINTEL:+ return "SIMTCallINTEL";+ case SpvDecorationReferencedIndirectlyINTEL:+ return "ReferencedIndirectlyINTEL";+ case SpvDecorationClobberINTEL:+ return "ClobberINTEL";+ case SpvDecorationSideEffectsINTEL:+ return "SideEffectsINTEL";+ case SpvDecorationVectorComputeVariableINTEL:+ return "VectorComputeVariableINTEL";+ case SpvDecorationFuncParamIOKindINTEL:+ return "FuncParamIOKindINTEL";+ case SpvDecorationVectorComputeFunctionINTEL:+ return "VectorComputeFunctionINTEL";+ case SpvDecorationStackCallINTEL:+ return "StackCallINTEL";+ case SpvDecorationGlobalVariableOffsetINTEL:+ return "GlobalVariableOffsetINTEL";+ case SpvDecorationCounterBuffer:+ return "CounterBuffer";+ case SpvDecorationHlslSemanticGOOGLE:+ return "HlslSemanticGOOGLE";+ case SpvDecorationUserTypeGOOGLE:+ return "UserTypeGOOGLE";+ case SpvDecorationFunctionRoundingModeINTEL:+ return "FunctionRoundingModeINTEL";+ case SpvDecorationFunctionDenormModeINTEL:+ return "FunctionDenormModeINTEL";+ case SpvDecorationRegisterALTERA:+ return "RegisterALTERA";+ case SpvDecorationMemoryALTERA:+ return "MemoryALTERA";+ case SpvDecorationNumbanksALTERA:+ return "NumbanksALTERA";+ case SpvDecorationBankwidthALTERA:+ return "BankwidthALTERA";+ case SpvDecorationMaxPrivateCopiesALTERA:+ return "MaxPrivateCopiesALTERA";+ case SpvDecorationSinglepumpALTERA:+ return "SinglepumpALTERA";+ case SpvDecorationDoublepumpALTERA:+ return "DoublepumpALTERA";+ case SpvDecorationMaxReplicatesALTERA:+ return "MaxReplicatesALTERA";+ case SpvDecorationSimpleDualPortALTERA:+ return "SimpleDualPortALTERA";+ case SpvDecorationMergeALTERA:+ return "MergeALTERA";+ case SpvDecorationBankBitsALTERA:+ return "BankBitsALTERA";+ case SpvDecorationForcePow2DepthALTERA:+ return "ForcePow2DepthALTERA";+ case SpvDecorationStridesizeALTERA:+ return "StridesizeALTERA";+ case SpvDecorationWordsizeALTERA:+ return "WordsizeALTERA";+ case SpvDecorationTrueDualPortALTERA:+ return "TrueDualPortALTERA";+ case SpvDecorationBurstCoalesceALTERA:+ return "BurstCoalesceALTERA";+ case SpvDecorationCacheSizeALTERA:+ return "CacheSizeALTERA";+ case SpvDecorationDontStaticallyCoalesceALTERA:+ return "DontStaticallyCoalesceALTERA";+ case SpvDecorationPrefetchALTERA:+ return "PrefetchALTERA";+ case SpvDecorationStallEnableALTERA:+ return "StallEnableALTERA";+ case SpvDecorationFuseLoopsInFunctionALTERA:+ return "FuseLoopsInFunctionALTERA";+ case SpvDecorationMathOpDSPModeALTERA:+ return "MathOpDSPModeALTERA";+ case SpvDecorationAliasScopeINTEL:+ return "AliasScopeINTEL";+ case SpvDecorationNoAliasINTEL:+ return "NoAliasINTEL";+ case SpvDecorationInitiationIntervalALTERA:+ return "InitiationIntervalALTERA";+ case SpvDecorationMaxConcurrencyALTERA:+ return "MaxConcurrencyALTERA";+ case SpvDecorationPipelineEnableALTERA:+ return "PipelineEnableALTERA";+ case SpvDecorationBufferLocationALTERA:+ return "BufferLocationALTERA";+ case SpvDecorationIOPipeStorageALTERA:+ return "IOPipeStorageALTERA";+ case SpvDecorationFunctionFloatingPointModeINTEL:+ return "FunctionFloatingPointModeINTEL";+ case SpvDecorationSingleElementVectorINTEL:+ return "SingleElementVectorINTEL";+ case SpvDecorationVectorComputeCallableFunctionINTEL:+ return "VectorComputeCallableFunctionINTEL";+ case SpvDecorationMediaBlockIOINTEL:+ return "MediaBlockIOINTEL";+ case SpvDecorationStallFreeALTERA:+ return "StallFreeALTERA";+ case SpvDecorationFPMaxErrorDecorationINTEL:+ return "FPMaxErrorDecorationINTEL";+ case SpvDecorationLatencyControlLabelALTERA:+ return "LatencyControlLabelALTERA";+ case SpvDecorationLatencyControlConstraintALTERA:+ return "LatencyControlConstraintALTERA";+ case SpvDecorationConduitKernelArgumentALTERA:+ return "ConduitKernelArgumentALTERA";+ case SpvDecorationRegisterMapKernelArgumentALTERA:+ return "RegisterMapKernelArgumentALTERA";+ case SpvDecorationMMHostInterfaceAddressWidthALTERA:+ return "MMHostInterfaceAddressWidthALTERA";+ case SpvDecorationMMHostInterfaceDataWidthALTERA:+ return "MMHostInterfaceDataWidthALTERA";+ case SpvDecorationMMHostInterfaceLatencyALTERA:+ return "MMHostInterfaceLatencyALTERA";+ case SpvDecorationMMHostInterfaceReadWriteModeALTERA:+ return "MMHostInterfaceReadWriteModeALTERA";+ case SpvDecorationMMHostInterfaceMaxBurstALTERA:+ return "MMHostInterfaceMaxBurstALTERA";+ case SpvDecorationMMHostInterfaceWaitRequestALTERA:+ return "MMHostInterfaceWaitRequestALTERA";+ case SpvDecorationStableKernelArgumentALTERA:+ return "StableKernelArgumentALTERA";+ case SpvDecorationHostAccessINTEL:+ return "HostAccessINTEL";+ case SpvDecorationInitModeALTERA:+ return "InitModeALTERA";+ case SpvDecorationImplementInRegisterMapALTERA:+ return "ImplementInRegisterMapALTERA";+ case SpvDecorationConditionalINTEL:+ return "ConditionalINTEL";+ case SpvDecorationCacheControlLoadINTEL:+ return "CacheControlLoadINTEL";+ case SpvDecorationCacheControlStoreINTEL:+ return "CacheControlStoreINTEL";+ default:+ return "Unknown";+ }+}++inline const char* SpvBuiltInToString(SpvBuiltIn value) {+ switch (value) {+ case SpvBuiltInPosition:+ return "Position";+ case SpvBuiltInPointSize:+ return "PointSize";+ case SpvBuiltInClipDistance:+ return "ClipDistance";+ case SpvBuiltInCullDistance:+ return "CullDistance";+ case SpvBuiltInVertexId:+ return "VertexId";+ case SpvBuiltInInstanceId:+ return "InstanceId";+ case SpvBuiltInPrimitiveId:+ return "PrimitiveId";+ case SpvBuiltInInvocationId:+ return "InvocationId";+ case SpvBuiltInLayer:+ return "Layer";+ case SpvBuiltInViewportIndex:+ return "ViewportIndex";+ case SpvBuiltInTessLevelOuter:+ return "TessLevelOuter";+ case SpvBuiltInTessLevelInner:+ return "TessLevelInner";+ case SpvBuiltInTessCoord:+ return "TessCoord";+ case SpvBuiltInPatchVertices:+ return "PatchVertices";+ case SpvBuiltInFragCoord:+ return "FragCoord";+ case SpvBuiltInPointCoord:+ return "PointCoord";+ case SpvBuiltInFrontFacing:+ return "FrontFacing";+ case SpvBuiltInSampleId:+ return "SampleId";+ case SpvBuiltInSamplePosition:+ return "SamplePosition";+ case SpvBuiltInSampleMask:+ return "SampleMask";+ case SpvBuiltInFragDepth:+ return "FragDepth";+ case SpvBuiltInHelperInvocation:+ return "HelperInvocation";+ case SpvBuiltInNumWorkgroups:+ return "NumWorkgroups";+ case SpvBuiltInWorkgroupSize:+ return "WorkgroupSize";+ case SpvBuiltInWorkgroupId:+ return "WorkgroupId";+ case SpvBuiltInLocalInvocationId:+ return "LocalInvocationId";+ case SpvBuiltInGlobalInvocationId:+ return "GlobalInvocationId";+ case SpvBuiltInLocalInvocationIndex:+ return "LocalInvocationIndex";+ case SpvBuiltInWorkDim:+ return "WorkDim";+ case SpvBuiltInGlobalSize:+ return "GlobalSize";+ case SpvBuiltInEnqueuedWorkgroupSize:+ return "EnqueuedWorkgroupSize";+ case SpvBuiltInGlobalOffset:+ return "GlobalOffset";+ case SpvBuiltInGlobalLinearId:+ return "GlobalLinearId";+ case SpvBuiltInSubgroupSize:+ return "SubgroupSize";+ case SpvBuiltInSubgroupMaxSize:+ return "SubgroupMaxSize";+ case SpvBuiltInNumSubgroups:+ return "NumSubgroups";+ case SpvBuiltInNumEnqueuedSubgroups:+ return "NumEnqueuedSubgroups";+ case SpvBuiltInSubgroupId:+ return "SubgroupId";+ case SpvBuiltInSubgroupLocalInvocationId:+ return "SubgroupLocalInvocationId";+ case SpvBuiltInVertexIndex:+ return "VertexIndex";+ case SpvBuiltInInstanceIndex:+ return "InstanceIndex";+ case SpvBuiltInCoreIDARM:+ return "CoreIDARM";+ case SpvBuiltInCoreCountARM:+ return "CoreCountARM";+ case SpvBuiltInCoreMaxIDARM:+ return "CoreMaxIDARM";+ case SpvBuiltInWarpIDARM:+ return "WarpIDARM";+ case SpvBuiltInWarpMaxIDARM:+ return "WarpMaxIDARM";+ case SpvBuiltInSubgroupEqMask:+ return "SubgroupEqMask";+ case SpvBuiltInSubgroupGeMask:+ return "SubgroupGeMask";+ case SpvBuiltInSubgroupGtMask:+ return "SubgroupGtMask";+ case SpvBuiltInSubgroupLeMask:+ return "SubgroupLeMask";+ case SpvBuiltInSubgroupLtMask:+ return "SubgroupLtMask";+ case SpvBuiltInBaseVertex:+ return "BaseVertex";+ case SpvBuiltInBaseInstance:+ return "BaseInstance";+ case SpvBuiltInDrawIndex:+ return "DrawIndex";+ case SpvBuiltInPrimitiveShadingRateKHR:+ return "PrimitiveShadingRateKHR";+ case SpvBuiltInDeviceIndex:+ return "DeviceIndex";+ case SpvBuiltInViewIndex:+ return "ViewIndex";+ case SpvBuiltInShadingRateKHR:+ return "ShadingRateKHR";+ case SpvBuiltInTileOffsetQCOM:+ return "TileOffsetQCOM";+ case SpvBuiltInTileDimensionQCOM:+ return "TileDimensionQCOM";+ case SpvBuiltInTileApronSizeQCOM:+ return "TileApronSizeQCOM";+ case SpvBuiltInBaryCoordNoPerspAMD:+ return "BaryCoordNoPerspAMD";+ case SpvBuiltInBaryCoordNoPerspCentroidAMD:+ return "BaryCoordNoPerspCentroidAMD";+ case SpvBuiltInBaryCoordNoPerspSampleAMD:+ return "BaryCoordNoPerspSampleAMD";+ case SpvBuiltInBaryCoordSmoothAMD:+ return "BaryCoordSmoothAMD";+ case SpvBuiltInBaryCoordSmoothCentroidAMD:+ return "BaryCoordSmoothCentroidAMD";+ case SpvBuiltInBaryCoordSmoothSampleAMD:+ return "BaryCoordSmoothSampleAMD";+ case SpvBuiltInBaryCoordPullModelAMD:+ return "BaryCoordPullModelAMD";+ case SpvBuiltInFragStencilRefEXT:+ return "FragStencilRefEXT";+ case SpvBuiltInRemainingRecursionLevelsAMDX:+ return "RemainingRecursionLevelsAMDX";+ case SpvBuiltInShaderIndexAMDX:+ return "ShaderIndexAMDX";+ case SpvBuiltInSamplerHeapEXT:+ return "SamplerHeapEXT";+ case SpvBuiltInResourceHeapEXT:+ return "ResourceHeapEXT";+ case SpvBuiltInViewportMaskNV:+ return "ViewportMaskNV";+ case SpvBuiltInSecondaryPositionNV:+ return "SecondaryPositionNV";+ case SpvBuiltInSecondaryViewportMaskNV:+ return "SecondaryViewportMaskNV";+ case SpvBuiltInPositionPerViewNV:+ return "PositionPerViewNV";+ case SpvBuiltInViewportMaskPerViewNV:+ return "ViewportMaskPerViewNV";+ case SpvBuiltInFullyCoveredEXT:+ return "FullyCoveredEXT";+ case SpvBuiltInTaskCountNV:+ return "TaskCountNV";+ case SpvBuiltInPrimitiveCountNV:+ return "PrimitiveCountNV";+ case SpvBuiltInPrimitiveIndicesNV:+ return "PrimitiveIndicesNV";+ case SpvBuiltInClipDistancePerViewNV:+ return "ClipDistancePerViewNV";+ case SpvBuiltInCullDistancePerViewNV:+ return "CullDistancePerViewNV";+ case SpvBuiltInLayerPerViewNV:+ return "LayerPerViewNV";+ case SpvBuiltInMeshViewCountNV:+ return "MeshViewCountNV";+ case SpvBuiltInMeshViewIndicesNV:+ return "MeshViewIndicesNV";+ case SpvBuiltInBaryCoordKHR:+ return "BaryCoordKHR";+ case SpvBuiltInBaryCoordNoPerspKHR:+ return "BaryCoordNoPerspKHR";+ case SpvBuiltInFragSizeEXT:+ return "FragSizeEXT";+ case SpvBuiltInFragInvocationCountEXT:+ return "FragInvocationCountEXT";+ case SpvBuiltInPrimitivePointIndicesEXT:+ return "PrimitivePointIndicesEXT";+ case SpvBuiltInPrimitiveLineIndicesEXT:+ return "PrimitiveLineIndicesEXT";+ case SpvBuiltInPrimitiveTriangleIndicesEXT:+ return "PrimitiveTriangleIndicesEXT";+ case SpvBuiltInCullPrimitiveEXT:+ return "CullPrimitiveEXT";+ case SpvBuiltInLaunchIdKHR:+ return "LaunchIdKHR";+ case SpvBuiltInLaunchSizeKHR:+ return "LaunchSizeKHR";+ case SpvBuiltInWorldRayOriginKHR:+ return "WorldRayOriginKHR";+ case SpvBuiltInWorldRayDirectionKHR:+ return "WorldRayDirectionKHR";+ case SpvBuiltInObjectRayOriginKHR:+ return "ObjectRayOriginKHR";+ case SpvBuiltInObjectRayDirectionKHR:+ return "ObjectRayDirectionKHR";+ case SpvBuiltInRayTminKHR:+ return "RayTminKHR";+ case SpvBuiltInRayTmaxKHR:+ return "RayTmaxKHR";+ case SpvBuiltInInstanceCustomIndexKHR:+ return "InstanceCustomIndexKHR";+ case SpvBuiltInObjectToWorldKHR:+ return "ObjectToWorldKHR";+ case SpvBuiltInWorldToObjectKHR:+ return "WorldToObjectKHR";+ case SpvBuiltInHitTNV:+ return "HitTNV";+ case SpvBuiltInHitKindKHR:+ return "HitKindKHR";+ case SpvBuiltInCurrentRayTimeNV:+ return "CurrentRayTimeNV";+ case SpvBuiltInHitTriangleVertexPositionsKHR:+ return "HitTriangleVertexPositionsKHR";+ case SpvBuiltInHitMicroTriangleVertexPositionsNV:+ return "HitMicroTriangleVertexPositionsNV";+ case SpvBuiltInHitMicroTriangleVertexBarycentricsNV:+ return "HitMicroTriangleVertexBarycentricsNV";+ case SpvBuiltInIncomingRayFlagsKHR:+ return "IncomingRayFlagsKHR";+ case SpvBuiltInRayGeometryIndexKHR:+ return "RayGeometryIndexKHR";+ case SpvBuiltInHitIsSphereNV:+ return "HitIsSphereNV";+ case SpvBuiltInHitIsLSSNV:+ return "HitIsLSSNV";+ case SpvBuiltInHitSpherePositionNV:+ return "HitSpherePositionNV";+ case SpvBuiltInWarpsPerSMNV:+ return "WarpsPerSMNV";+ case SpvBuiltInSMCountNV:+ return "SMCountNV";+ case SpvBuiltInWarpIDNV:+ return "WarpIDNV";+ case SpvBuiltInSMIDNV:+ return "SMIDNV";+ case SpvBuiltInHitLSSPositionsNV:+ return "HitLSSPositionsNV";+ case SpvBuiltInHitKindFrontFacingMicroTriangleNV:+ return "HitKindFrontFacingMicroTriangleNV";+ case SpvBuiltInHitKindBackFacingMicroTriangleNV:+ return "HitKindBackFacingMicroTriangleNV";+ case SpvBuiltInHitSphereRadiusNV:+ return "HitSphereRadiusNV";+ case SpvBuiltInHitLSSRadiiNV:+ return "HitLSSRadiiNV";+ case SpvBuiltInClusterIDNV:+ return "ClusterIDNV";+ case SpvBuiltInCullMaskKHR:+ return "CullMaskKHR";+ default:+ return "Unknown";+ }+}++inline const char* SpvScopeToString(SpvScope value) {+ switch (value) {+ case SpvScopeCrossDevice:+ return "CrossDevice";+ case SpvScopeDevice:+ return "Device";+ case SpvScopeWorkgroup:+ return "Workgroup";+ case SpvScopeSubgroup:+ return "Subgroup";+ case SpvScopeInvocation:+ return "Invocation";+ case SpvScopeQueueFamily:+ return "QueueFamily";+ case SpvScopeShaderCallKHR:+ return "ShaderCallKHR";+ default:+ return "Unknown";+ }+}++inline const char* SpvGroupOperationToString(SpvGroupOperation value) {+ switch (value) {+ case SpvGroupOperationReduce:+ return "Reduce";+ case SpvGroupOperationInclusiveScan:+ return "InclusiveScan";+ case SpvGroupOperationExclusiveScan:+ return "ExclusiveScan";+ case SpvGroupOperationClusteredReduce:+ return "ClusteredReduce";+ case SpvGroupOperationPartitionedReduceEXT:+ return "PartitionedReduceEXT";+ case SpvGroupOperationPartitionedInclusiveScanEXT:+ return "PartitionedInclusiveScanEXT";+ case SpvGroupOperationPartitionedExclusiveScanEXT:+ return "PartitionedExclusiveScanEXT";+ default:+ return "Unknown";+ }+}++inline const char* SpvKernelEnqueueFlagsToString(SpvKernelEnqueueFlags value) {+ switch (value) {+ case SpvKernelEnqueueFlagsNoWait:+ return "NoWait";+ case SpvKernelEnqueueFlagsWaitKernel:+ return "WaitKernel";+ case SpvKernelEnqueueFlagsWaitWorkGroup:+ return "WaitWorkGroup";+ default:+ return "Unknown";+ }+}++inline const char* SpvCapabilityToString(SpvCapability value) {+ switch (value) {+ case SpvCapabilityMatrix:+ return "Matrix";+ case SpvCapabilityShader:+ return "Shader";+ case SpvCapabilityGeometry:+ return "Geometry";+ case SpvCapabilityTessellation:+ return "Tessellation";+ case SpvCapabilityAddresses:+ return "Addresses";+ case SpvCapabilityLinkage:+ return "Linkage";+ case SpvCapabilityKernel:+ return "Kernel";+ case SpvCapabilityVector16:+ return "Vector16";+ case SpvCapabilityFloat16Buffer:+ return "Float16Buffer";+ case SpvCapabilityFloat16:+ return "Float16";+ case SpvCapabilityFloat64:+ return "Float64";+ case SpvCapabilityInt64:+ return "Int64";+ case SpvCapabilityInt64Atomics:+ return "Int64Atomics";+ case SpvCapabilityImageBasic:+ return "ImageBasic";+ case SpvCapabilityImageReadWrite:+ return "ImageReadWrite";+ case SpvCapabilityImageMipmap:+ return "ImageMipmap";+ case SpvCapabilityPipes:+ return "Pipes";+ case SpvCapabilityGroups:+ return "Groups";+ case SpvCapabilityDeviceEnqueue:+ return "DeviceEnqueue";+ case SpvCapabilityLiteralSampler:+ return "LiteralSampler";+ case SpvCapabilityAtomicStorage:+ return "AtomicStorage";+ case SpvCapabilityInt16:+ return "Int16";+ case SpvCapabilityTessellationPointSize:+ return "TessellationPointSize";+ case SpvCapabilityGeometryPointSize:+ return "GeometryPointSize";+ case SpvCapabilityImageGatherExtended:+ return "ImageGatherExtended";+ case SpvCapabilityStorageImageMultisample:+ return "StorageImageMultisample";+ case SpvCapabilityUniformBufferArrayDynamicIndexing:+ return "UniformBufferArrayDynamicIndexing";+ case SpvCapabilitySampledImageArrayDynamicIndexing:+ return "SampledImageArrayDynamicIndexing";+ case SpvCapabilityStorageBufferArrayDynamicIndexing:+ return "StorageBufferArrayDynamicIndexing";+ case SpvCapabilityStorageImageArrayDynamicIndexing:+ return "StorageImageArrayDynamicIndexing";+ case SpvCapabilityClipDistance:+ return "ClipDistance";+ case SpvCapabilityCullDistance:+ return "CullDistance";+ case SpvCapabilityImageCubeArray:+ return "ImageCubeArray";+ case SpvCapabilitySampleRateShading:+ return "SampleRateShading";+ case SpvCapabilityImageRect:+ return "ImageRect";+ case SpvCapabilitySampledRect:+ return "SampledRect";+ case SpvCapabilityGenericPointer:+ return "GenericPointer";+ case SpvCapabilityInt8:+ return "Int8";+ case SpvCapabilityInputAttachment:+ return "InputAttachment";+ case SpvCapabilitySparseResidency:+ return "SparseResidency";+ case SpvCapabilityMinLod:+ return "MinLod";+ case SpvCapabilitySampled1D:+ return "Sampled1D";+ case SpvCapabilityImage1D:+ return "Image1D";+ case SpvCapabilitySampledCubeArray:+ return "SampledCubeArray";+ case SpvCapabilitySampledBuffer:+ return "SampledBuffer";+ case SpvCapabilityImageBuffer:+ return "ImageBuffer";+ case SpvCapabilityImageMSArray:+ return "ImageMSArray";+ case SpvCapabilityStorageImageExtendedFormats:+ return "StorageImageExtendedFormats";+ case SpvCapabilityImageQuery:+ return "ImageQuery";+ case SpvCapabilityDerivativeControl:+ return "DerivativeControl";+ case SpvCapabilityInterpolationFunction:+ return "InterpolationFunction";+ case SpvCapabilityTransformFeedback:+ return "TransformFeedback";+ case SpvCapabilityGeometryStreams:+ return "GeometryStreams";+ case SpvCapabilityStorageImageReadWithoutFormat:+ return "StorageImageReadWithoutFormat";+ case SpvCapabilityStorageImageWriteWithoutFormat:+ return "StorageImageWriteWithoutFormat";+ case SpvCapabilityMultiViewport:+ return "MultiViewport";+ case SpvCapabilitySubgroupDispatch:+ return "SubgroupDispatch";+ case SpvCapabilityNamedBarrier:+ return "NamedBarrier";+ case SpvCapabilityPipeStorage:+ return "PipeStorage";+ case SpvCapabilityGroupNonUniform:+ return "GroupNonUniform";+ case SpvCapabilityGroupNonUniformVote:+ return "GroupNonUniformVote";+ case SpvCapabilityGroupNonUniformArithmetic:+ return "GroupNonUniformArithmetic";+ case SpvCapabilityGroupNonUniformBallot:+ return "GroupNonUniformBallot";+ case SpvCapabilityGroupNonUniformShuffle:+ return "GroupNonUniformShuffle";+ case SpvCapabilityGroupNonUniformShuffleRelative:+ return "GroupNonUniformShuffleRelative";+ case SpvCapabilityGroupNonUniformClustered:+ return "GroupNonUniformClustered";+ case SpvCapabilityGroupNonUniformQuad:+ return "GroupNonUniformQuad";+ case SpvCapabilityShaderLayer:+ return "ShaderLayer";+ case SpvCapabilityShaderViewportIndex:+ return "ShaderViewportIndex";+ case SpvCapabilityUniformDecoration:+ return "UniformDecoration";+ case SpvCapabilityCoreBuiltinsARM:+ return "CoreBuiltinsARM";+ case SpvCapabilityTileImageColorReadAccessEXT:+ return "TileImageColorReadAccessEXT";+ case SpvCapabilityTileImageDepthReadAccessEXT:+ return "TileImageDepthReadAccessEXT";+ case SpvCapabilityTileImageStencilReadAccessEXT:+ return "TileImageStencilReadAccessEXT";+ case SpvCapabilityTensorsARM:+ return "TensorsARM";+ case SpvCapabilityStorageTensorArrayDynamicIndexingARM:+ return "StorageTensorArrayDynamicIndexingARM";+ case SpvCapabilityStorageTensorArrayNonUniformIndexingARM:+ return "StorageTensorArrayNonUniformIndexingARM";+ case SpvCapabilityGraphARM:+ return "GraphARM";+ case SpvCapabilityCooperativeMatrixLayoutsARM:+ return "CooperativeMatrixLayoutsARM";+ case SpvCapabilityFloat8EXT:+ return "Float8EXT";+ case SpvCapabilityFloat8CooperativeMatrixEXT:+ return "Float8CooperativeMatrixEXT";+ case SpvCapabilityFragmentShadingRateKHR:+ return "FragmentShadingRateKHR";+ case SpvCapabilitySubgroupBallotKHR:+ return "SubgroupBallotKHR";+ case SpvCapabilityDrawParameters:+ return "DrawParameters";+ case SpvCapabilityWorkgroupMemoryExplicitLayoutKHR:+ return "WorkgroupMemoryExplicitLayoutKHR";+ case SpvCapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR:+ return "WorkgroupMemoryExplicitLayout8BitAccessKHR";+ case SpvCapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR:+ return "WorkgroupMemoryExplicitLayout16BitAccessKHR";+ case SpvCapabilitySubgroupVoteKHR:+ return "SubgroupVoteKHR";+ case SpvCapabilityStorageBuffer16BitAccess:+ return "StorageBuffer16BitAccess";+ case SpvCapabilityStorageUniform16:+ return "StorageUniform16";+ case SpvCapabilityStoragePushConstant16:+ return "StoragePushConstant16";+ case SpvCapabilityStorageInputOutput16:+ return "StorageInputOutput16";+ case SpvCapabilityDeviceGroup:+ return "DeviceGroup";+ case SpvCapabilityMultiView:+ return "MultiView";+ case SpvCapabilityVariablePointersStorageBuffer:+ return "VariablePointersStorageBuffer";+ case SpvCapabilityVariablePointers:+ return "VariablePointers";+ case SpvCapabilityAtomicStorageOps:+ return "AtomicStorageOps";+ case SpvCapabilitySampleMaskPostDepthCoverage:+ return "SampleMaskPostDepthCoverage";+ case SpvCapabilityStorageBuffer8BitAccess:+ return "StorageBuffer8BitAccess";+ case SpvCapabilityUniformAndStorageBuffer8BitAccess:+ return "UniformAndStorageBuffer8BitAccess";+ case SpvCapabilityStoragePushConstant8:+ return "StoragePushConstant8";+ case SpvCapabilityDenormPreserve:+ return "DenormPreserve";+ case SpvCapabilityDenormFlushToZero:+ return "DenormFlushToZero";+ case SpvCapabilitySignedZeroInfNanPreserve:+ return "SignedZeroInfNanPreserve";+ case SpvCapabilityRoundingModeRTE:+ return "RoundingModeRTE";+ case SpvCapabilityRoundingModeRTZ:+ return "RoundingModeRTZ";+ case SpvCapabilityRayQueryProvisionalKHR:+ return "RayQueryProvisionalKHR";+ case SpvCapabilityRayQueryKHR:+ return "RayQueryKHR";+ case SpvCapabilityUntypedPointersKHR:+ return "UntypedPointersKHR";+ case SpvCapabilityRayTraversalPrimitiveCullingKHR:+ return "RayTraversalPrimitiveCullingKHR";+ case SpvCapabilityRayTracingKHR:+ return "RayTracingKHR";+ case SpvCapabilityTextureSampleWeightedQCOM:+ return "TextureSampleWeightedQCOM";+ case SpvCapabilityTextureBoxFilterQCOM:+ return "TextureBoxFilterQCOM";+ case SpvCapabilityTextureBlockMatchQCOM:+ return "TextureBlockMatchQCOM";+ case SpvCapabilityTileShadingQCOM:+ return "TileShadingQCOM";+ case SpvCapabilityCooperativeMatrixConversionQCOM:+ return "CooperativeMatrixConversionQCOM";+ case SpvCapabilityTextureBlockMatch2QCOM:+ return "TextureBlockMatch2QCOM";+ case SpvCapabilityFloat16ImageAMD:+ return "Float16ImageAMD";+ case SpvCapabilityImageGatherBiasLodAMD:+ return "ImageGatherBiasLodAMD";+ case SpvCapabilityFragmentMaskAMD:+ return "FragmentMaskAMD";+ case SpvCapabilityStencilExportEXT:+ return "StencilExportEXT";+ case SpvCapabilityImageReadWriteLodAMD:+ return "ImageReadWriteLodAMD";+ case SpvCapabilityInt64ImageEXT:+ return "Int64ImageEXT";+ case SpvCapabilityShaderClockKHR:+ return "ShaderClockKHR";+ case SpvCapabilityShaderEnqueueAMDX:+ return "ShaderEnqueueAMDX";+ case SpvCapabilityQuadControlKHR:+ return "QuadControlKHR";+ case SpvCapabilityInt4TypeINTEL:+ return "Int4TypeINTEL";+ case SpvCapabilityInt4CooperativeMatrixINTEL:+ return "Int4CooperativeMatrixINTEL";+ case SpvCapabilityBFloat16TypeKHR:+ return "BFloat16TypeKHR";+ case SpvCapabilityBFloat16DotProductKHR:+ return "BFloat16DotProductKHR";+ case SpvCapabilityBFloat16CooperativeMatrixKHR:+ return "BFloat16CooperativeMatrixKHR";+ case SpvCapabilityAbortKHR:+ return "AbortKHR";+ case SpvCapabilityDescriptorHeapEXT:+ return "DescriptorHeapEXT";+ case SpvCapabilityConstantDataKHR:+ return "ConstantDataKHR";+ case SpvCapabilityPoisonFreezeKHR:+ return "PoisonFreezeKHR";+ case SpvCapabilitySampleMaskOverrideCoverageNV:+ return "SampleMaskOverrideCoverageNV";+ case SpvCapabilityGeometryShaderPassthroughNV:+ return "GeometryShaderPassthroughNV";+ case SpvCapabilityShaderViewportIndexLayerEXT:+ return "ShaderViewportIndexLayerEXT";+ case SpvCapabilityShaderViewportMaskNV:+ return "ShaderViewportMaskNV";+ case SpvCapabilityShaderStereoViewNV:+ return "ShaderStereoViewNV";+ case SpvCapabilityPerViewAttributesNV:+ return "PerViewAttributesNV";+ case SpvCapabilityFragmentFullyCoveredEXT:+ return "FragmentFullyCoveredEXT";+ case SpvCapabilityMeshShadingNV:+ return "MeshShadingNV";+ case SpvCapabilityImageFootprintNV:+ return "ImageFootprintNV";+ case SpvCapabilityMeshShadingEXT:+ return "MeshShadingEXT";+ case SpvCapabilityFragmentBarycentricKHR:+ return "FragmentBarycentricKHR";+ case SpvCapabilityComputeDerivativeGroupQuadsKHR:+ return "ComputeDerivativeGroupQuadsKHR";+ case SpvCapabilityFragmentDensityEXT:+ return "FragmentDensityEXT";+ case SpvCapabilityGroupNonUniformPartitionedEXT:+ return "GroupNonUniformPartitionedEXT";+ case SpvCapabilityShaderNonUniform:+ return "ShaderNonUniform";+ case SpvCapabilityRuntimeDescriptorArray:+ return "RuntimeDescriptorArray";+ case SpvCapabilityInputAttachmentArrayDynamicIndexing:+ return "InputAttachmentArrayDynamicIndexing";+ case SpvCapabilityUniformTexelBufferArrayDynamicIndexing:+ return "UniformTexelBufferArrayDynamicIndexing";+ case SpvCapabilityStorageTexelBufferArrayDynamicIndexing:+ return "StorageTexelBufferArrayDynamicIndexing";+ case SpvCapabilityUniformBufferArrayNonUniformIndexing:+ return "UniformBufferArrayNonUniformIndexing";+ case SpvCapabilitySampledImageArrayNonUniformIndexing:+ return "SampledImageArrayNonUniformIndexing";+ case SpvCapabilityStorageBufferArrayNonUniformIndexing:+ return "StorageBufferArrayNonUniformIndexing";+ case SpvCapabilityStorageImageArrayNonUniformIndexing:+ return "StorageImageArrayNonUniformIndexing";+ case SpvCapabilityInputAttachmentArrayNonUniformIndexing:+ return "InputAttachmentArrayNonUniformIndexing";+ case SpvCapabilityUniformTexelBufferArrayNonUniformIndexing:+ return "UniformTexelBufferArrayNonUniformIndexing";+ case SpvCapabilityStorageTexelBufferArrayNonUniformIndexing:+ return "StorageTexelBufferArrayNonUniformIndexing";+ case SpvCapabilityRayTracingPositionFetchKHR:+ return "RayTracingPositionFetchKHR";+ case SpvCapabilityRayTracingNV:+ return "RayTracingNV";+ case SpvCapabilityRayTracingMotionBlurNV:+ return "RayTracingMotionBlurNV";+ case SpvCapabilityVulkanMemoryModel:+ return "VulkanMemoryModel";+ case SpvCapabilityVulkanMemoryModelDeviceScope:+ return "VulkanMemoryModelDeviceScope";+ case SpvCapabilityPhysicalStorageBufferAddresses:+ return "PhysicalStorageBufferAddresses";+ case SpvCapabilityComputeDerivativeGroupLinearKHR:+ return "ComputeDerivativeGroupLinearKHR";+ case SpvCapabilityRayTracingProvisionalKHR:+ return "RayTracingProvisionalKHR";+ case SpvCapabilityCooperativeMatrixNV:+ return "CooperativeMatrixNV";+ case SpvCapabilityFragmentShaderSampleInterlockEXT:+ return "FragmentShaderSampleInterlockEXT";+ case SpvCapabilityFragmentShaderShadingRateInterlockEXT:+ return "FragmentShaderShadingRateInterlockEXT";+ case SpvCapabilityShaderSMBuiltinsNV:+ return "ShaderSMBuiltinsNV";+ case SpvCapabilityFragmentShaderPixelInterlockEXT:+ return "FragmentShaderPixelInterlockEXT";+ case SpvCapabilityDemoteToHelperInvocation:+ return "DemoteToHelperInvocation";+ case SpvCapabilityDisplacementMicromapNV:+ return "DisplacementMicromapNV";+ case SpvCapabilityRayTracingOpacityMicromapEXT:+ return "RayTracingOpacityMicromapEXT";+ case SpvCapabilityShaderInvocationReorderNV:+ return "ShaderInvocationReorderNV";+ case SpvCapabilityShaderInvocationReorderEXT:+ return "ShaderInvocationReorderEXT";+ case SpvCapabilityBindlessTextureNV:+ return "BindlessTextureNV";+ case SpvCapabilityRayQueryPositionFetchKHR:+ return "RayQueryPositionFetchKHR";+ case SpvCapabilityCooperativeVectorNV:+ return "CooperativeVectorNV";+ case SpvCapabilityAtomicFloat16VectorNV:+ return "AtomicFloat16VectorNV";+ case SpvCapabilityRayTracingDisplacementMicromapNV:+ return "RayTracingDisplacementMicromapNV";+ case SpvCapabilityRawAccessChainsNV:+ return "RawAccessChainsNV";+ case SpvCapabilityRayTracingSpheresGeometryNV:+ return "RayTracingSpheresGeometryNV";+ case SpvCapabilityRayTracingLinearSweptSpheresGeometryNV:+ return "RayTracingLinearSweptSpheresGeometryNV";+ case SpvCapabilityPushConstantBanksNV:+ return "PushConstantBanksNV";+ case SpvCapabilityLongVectorEXT:+ return "LongVectorEXT";+ case SpvCapabilityShader64BitIndexingEXT:+ return "Shader64BitIndexingEXT";+ case SpvCapabilityCooperativeMatrixReductionsNV:+ return "CooperativeMatrixReductionsNV";+ case SpvCapabilityCooperativeMatrixConversionsNV:+ return "CooperativeMatrixConversionsNV";+ case SpvCapabilityCooperativeMatrixPerElementOperationsNV:+ return "CooperativeMatrixPerElementOperationsNV";+ case SpvCapabilityCooperativeMatrixTensorAddressingNV:+ return "CooperativeMatrixTensorAddressingNV";+ case SpvCapabilityCooperativeMatrixBlockLoadsNV:+ return "CooperativeMatrixBlockLoadsNV";+ case SpvCapabilityCooperativeVectorTrainingNV:+ return "CooperativeVectorTrainingNV";+ case SpvCapabilityRayTracingClusterAccelerationStructureNV:+ return "RayTracingClusterAccelerationStructureNV";+ case SpvCapabilityTensorAddressingNV:+ return "TensorAddressingNV";+ case SpvCapabilitySubgroupShuffleINTEL:+ return "SubgroupShuffleINTEL";+ case SpvCapabilitySubgroupBufferBlockIOINTEL:+ return "SubgroupBufferBlockIOINTEL";+ case SpvCapabilitySubgroupImageBlockIOINTEL:+ return "SubgroupImageBlockIOINTEL";+ case SpvCapabilitySubgroupImageMediaBlockIOINTEL:+ return "SubgroupImageMediaBlockIOINTEL";+ case SpvCapabilityRoundToInfinityINTEL:+ return "RoundToInfinityINTEL";+ case SpvCapabilityFloatingPointModeINTEL:+ return "FloatingPointModeINTEL";+ case SpvCapabilityIntegerFunctions2INTEL:+ return "IntegerFunctions2INTEL";+ case SpvCapabilityFunctionPointersINTEL:+ return "FunctionPointersINTEL";+ case SpvCapabilityIndirectReferencesINTEL:+ return "IndirectReferencesINTEL";+ case SpvCapabilityAsmINTEL:+ return "AsmINTEL";+ case SpvCapabilityAtomicFloat32MinMaxEXT:+ return "AtomicFloat32MinMaxEXT";+ case SpvCapabilityAtomicFloat64MinMaxEXT:+ return "AtomicFloat64MinMaxEXT";+ case SpvCapabilityAtomicFloat16MinMaxEXT:+ return "AtomicFloat16MinMaxEXT";+ case SpvCapabilityVectorComputeINTEL:+ return "VectorComputeINTEL";+ case SpvCapabilityVectorAnyINTEL:+ return "VectorAnyINTEL";+ case SpvCapabilityExpectAssumeKHR:+ return "ExpectAssumeKHR";+ case SpvCapabilitySubgroupAvcMotionEstimationINTEL:+ return "SubgroupAvcMotionEstimationINTEL";+ case SpvCapabilitySubgroupAvcMotionEstimationIntraINTEL:+ return "SubgroupAvcMotionEstimationIntraINTEL";+ case SpvCapabilitySubgroupAvcMotionEstimationChromaINTEL:+ return "SubgroupAvcMotionEstimationChromaINTEL";+ case SpvCapabilityVariableLengthArrayINTEL:+ return "VariableLengthArrayINTEL";+ case SpvCapabilityFunctionFloatControlINTEL:+ return "FunctionFloatControlINTEL";+ case SpvCapabilityFPGAMemoryAttributesALTERA:+ return "FPGAMemoryAttributesALTERA";+ case SpvCapabilityFPFastMathModeINTEL:+ return "FPFastMathModeINTEL";+ case SpvCapabilityArbitraryPrecisionIntegersALTERA:+ return "ArbitraryPrecisionIntegersALTERA";+ case SpvCapabilityArbitraryPrecisionFloatingPointALTERA:+ return "ArbitraryPrecisionFloatingPointALTERA";+ case SpvCapabilityUnstructuredLoopControlsINTEL:+ return "UnstructuredLoopControlsINTEL";+ case SpvCapabilityFPGALoopControlsALTERA:+ return "FPGALoopControlsALTERA";+ case SpvCapabilityKernelAttributesINTEL:+ return "KernelAttributesINTEL";+ case SpvCapabilityFPGAKernelAttributesINTEL:+ return "FPGAKernelAttributesINTEL";+ case SpvCapabilityFPGAMemoryAccessesALTERA:+ return "FPGAMemoryAccessesALTERA";+ case SpvCapabilityFPGAClusterAttributesALTERA:+ return "FPGAClusterAttributesALTERA";+ case SpvCapabilityLoopFuseALTERA:+ return "LoopFuseALTERA";+ case SpvCapabilityFPGADSPControlALTERA:+ return "FPGADSPControlALTERA";+ case SpvCapabilityMemoryAccessAliasingINTEL:+ return "MemoryAccessAliasingINTEL";+ case SpvCapabilityFPGAInvocationPipeliningAttributesALTERA:+ return "FPGAInvocationPipeliningAttributesALTERA";+ case SpvCapabilityFPGABufferLocationALTERA:+ return "FPGABufferLocationALTERA";+ case SpvCapabilityArbitraryPrecisionFixedPointALTERA:+ return "ArbitraryPrecisionFixedPointALTERA";+ case SpvCapabilityUSMStorageClassesALTERA:+ return "USMStorageClassesALTERA";+ case SpvCapabilityRuntimeAlignedAttributeALTERA:+ return "RuntimeAlignedAttributeALTERA";+ case SpvCapabilityIOPipesALTERA:+ return "IOPipesALTERA";+ case SpvCapabilityBlockingPipesALTERA:+ return "BlockingPipesALTERA";+ case SpvCapabilityFPGARegALTERA:+ return "FPGARegALTERA";+ case SpvCapabilityDotProductInputAll:+ return "DotProductInputAll";+ case SpvCapabilityDotProductInput4x8Bit:+ return "DotProductInput4x8Bit";+ case SpvCapabilityDotProductInput4x8BitPacked:+ return "DotProductInput4x8BitPacked";+ case SpvCapabilityDotProduct:+ return "DotProduct";+ case SpvCapabilityRayCullMaskKHR:+ return "RayCullMaskKHR";+ case SpvCapabilityCooperativeMatrixKHR:+ return "CooperativeMatrixKHR";+ case SpvCapabilityReplicatedCompositesEXT:+ return "ReplicatedCompositesEXT";+ case SpvCapabilityBitInstructions:+ return "BitInstructions";+ case SpvCapabilityGroupNonUniformRotateKHR:+ return "GroupNonUniformRotateKHR";+ case SpvCapabilityFloatControls2:+ return "FloatControls2";+ case SpvCapabilityFMAKHR:+ return "FMAKHR";+ case SpvCapabilityAtomicFloat32AddEXT:+ return "AtomicFloat32AddEXT";+ case SpvCapabilityAtomicFloat64AddEXT:+ return "AtomicFloat64AddEXT";+ case SpvCapabilityLongCompositesINTEL:+ return "LongCompositesINTEL";+ case SpvCapabilityOptNoneEXT:+ return "OptNoneEXT";+ case SpvCapabilityAtomicFloat16AddEXT:+ return "AtomicFloat16AddEXT";+ case SpvCapabilityDebugInfoModuleINTEL:+ return "DebugInfoModuleINTEL";+ case SpvCapabilityBFloat16ConversionINTEL:+ return "BFloat16ConversionINTEL";+ case SpvCapabilitySplitBarrierINTEL:+ return "SplitBarrierINTEL";+ case SpvCapabilityArithmeticFenceEXT:+ return "ArithmeticFenceEXT";+ case SpvCapabilityFPGAClusterAttributesV2ALTERA:+ return "FPGAClusterAttributesV2ALTERA";+ case SpvCapabilityFPGAKernelAttributesv2INTEL:+ return "FPGAKernelAttributesv2INTEL";+ case SpvCapabilityTaskSequenceALTERA:+ return "TaskSequenceALTERA";+ case SpvCapabilityFPMaxErrorINTEL:+ return "FPMaxErrorINTEL";+ case SpvCapabilityFPGALatencyControlALTERA:+ return "FPGALatencyControlALTERA";+ case SpvCapabilityFPGAArgumentInterfacesALTERA:+ return "FPGAArgumentInterfacesALTERA";+ case SpvCapabilityGlobalVariableHostAccessINTEL:+ return "GlobalVariableHostAccessINTEL";+ case SpvCapabilityGlobalVariableFPGADecorationsALTERA:+ return "GlobalVariableFPGADecorationsALTERA";+ case SpvCapabilitySubgroupBufferPrefetchINTEL:+ return "SubgroupBufferPrefetchINTEL";+ case SpvCapabilitySubgroup2DBlockIOINTEL:+ return "Subgroup2DBlockIOINTEL";+ case SpvCapabilitySubgroup2DBlockTransformINTEL:+ return "Subgroup2DBlockTransformINTEL";+ case SpvCapabilitySubgroup2DBlockTransposeINTEL:+ return "Subgroup2DBlockTransposeINTEL";+ case SpvCapabilitySubgroupMatrixMultiplyAccumulateINTEL:+ return "SubgroupMatrixMultiplyAccumulateINTEL";+ case SpvCapabilityTernaryBitwiseFunctionINTEL:+ return "TernaryBitwiseFunctionINTEL";+ case SpvCapabilityUntypedVariableLengthArrayINTEL:+ return "UntypedVariableLengthArrayINTEL";+ case SpvCapabilitySpecConditionalINTEL:+ return "SpecConditionalINTEL";+ case SpvCapabilityFunctionVariantsINTEL:+ return "FunctionVariantsINTEL";+ case SpvCapabilityGroupUniformArithmeticKHR:+ return "GroupUniformArithmeticKHR";+ case SpvCapabilityTensorFloat32RoundingINTEL:+ return "TensorFloat32RoundingINTEL";+ case SpvCapabilityMaskedGatherScatterINTEL:+ return "MaskedGatherScatterINTEL";+ case SpvCapabilityCacheControlsINTEL:+ return "CacheControlsINTEL";+ case SpvCapabilityRegisterLimitsINTEL:+ return "RegisterLimitsINTEL";+ case SpvCapabilityBindlessImagesINTEL:+ return "BindlessImagesINTEL";+ case SpvCapabilityDotProductFloat16AccFloat32VALVE:+ return "DotProductFloat16AccFloat32VALVE";+ case SpvCapabilityDotProductFloat16AccFloat16VALVE:+ return "DotProductFloat16AccFloat16VALVE";+ case SpvCapabilityDotProductBFloat16AccVALVE:+ return "DotProductBFloat16AccVALVE";+ case SpvCapabilityDotProductFloat8AccFloat32VALVE:+ return "DotProductFloat8AccFloat32VALVE";+ default:+ return "Unknown";+ }+}++inline const char* SpvRayQueryIntersectionToString(SpvRayQueryIntersection value) {+ switch (value) {+ case SpvRayQueryIntersectionRayQueryCandidateIntersectionKHR:+ return "RayQueryCandidateIntersectionKHR";+ case SpvRayQueryIntersectionRayQueryCommittedIntersectionKHR:+ return "RayQueryCommittedIntersectionKHR";+ default:+ return "Unknown";+ }+}++inline const char* SpvRayQueryCommittedIntersectionTypeToString(SpvRayQueryCommittedIntersectionType value) {+ switch (value) {+ case SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR:+ return "RayQueryCommittedIntersectionNoneKHR";+ case SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR:+ return "RayQueryCommittedIntersectionTriangleKHR";+ case SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR:+ return "RayQueryCommittedIntersectionGeneratedKHR";+ default:+ return "Unknown";+ }+}++inline const char* SpvRayQueryCandidateIntersectionTypeToString(SpvRayQueryCandidateIntersectionType value) {+ switch (value) {+ case SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR:+ return "RayQueryCandidateIntersectionTriangleKHR";+ case SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR:+ return "RayQueryCandidateIntersectionAABBKHR";+ default:+ return "Unknown";+ }+}++inline const char* SpvFPDenormModeToString(SpvFPDenormMode value) {+ switch (value) {+ case SpvFPDenormModePreserve:+ return "Preserve";+ case SpvFPDenormModeFlushToZero:+ return "FlushToZero";+ default:+ return "Unknown";+ }+}++inline const char* SpvFPOperationModeToString(SpvFPOperationMode value) {+ switch (value) {+ case SpvFPOperationModeIEEE:+ return "IEEE";+ case SpvFPOperationModeALT:+ return "ALT";+ default:+ return "Unknown";+ }+}++inline const char* SpvQuantizationModesToString(SpvQuantizationModes value) {+ switch (value) {+ case SpvQuantizationModesTRN:+ return "TRN";+ case SpvQuantizationModesTRN_ZERO:+ return "TRN_ZERO";+ case SpvQuantizationModesRND:+ return "RND";+ case SpvQuantizationModesRND_ZERO:+ return "RND_ZERO";+ case SpvQuantizationModesRND_INF:+ return "RND_INF";+ case SpvQuantizationModesRND_MIN_INF:+ return "RND_MIN_INF";+ case SpvQuantizationModesRND_CONV:+ return "RND_CONV";+ case SpvQuantizationModesRND_CONV_ODD:+ return "RND_CONV_ODD";+ default:+ return "Unknown";+ }+}++inline const char* SpvOverflowModesToString(SpvOverflowModes value) {+ switch (value) {+ case SpvOverflowModesWRAP:+ return "WRAP";+ case SpvOverflowModesSAT:+ return "SAT";+ case SpvOverflowModesSAT_ZERO:+ return "SAT_ZERO";+ case SpvOverflowModesSAT_SYM:+ return "SAT_SYM";+ default:+ return "Unknown";+ }+}++inline const char* SpvPackedVectorFormatToString(SpvPackedVectorFormat value) {+ switch (value) {+ case SpvPackedVectorFormatPackedVectorFormat4x8Bit:+ return "PackedVectorFormat4x8Bit";+ default:+ return "Unknown";+ }+}++inline const char* SpvCooperativeMatrixLayoutToString(SpvCooperativeMatrixLayout value) {+ switch (value) {+ case SpvCooperativeMatrixLayoutRowMajorKHR:+ return "RowMajorKHR";+ case SpvCooperativeMatrixLayoutColumnMajorKHR:+ return "ColumnMajorKHR";+ case SpvCooperativeMatrixLayoutRowBlockedInterleavedARM:+ return "RowBlockedInterleavedARM";+ case SpvCooperativeMatrixLayoutColumnBlockedInterleavedARM:+ return "ColumnBlockedInterleavedARM";+ default:+ return "Unknown";+ }+}++inline const char* SpvCooperativeMatrixUseToString(SpvCooperativeMatrixUse value) {+ switch (value) {+ case SpvCooperativeMatrixUseMatrixAKHR:+ return "MatrixAKHR";+ case SpvCooperativeMatrixUseMatrixBKHR:+ return "MatrixBKHR";+ case SpvCooperativeMatrixUseMatrixAccumulatorKHR:+ return "MatrixAccumulatorKHR";+ default:+ return "Unknown";+ }+}++inline const char* SpvTensorClampModeToString(SpvTensorClampMode value) {+ switch (value) {+ case SpvTensorClampModeUndefined:+ return "Undefined";+ case SpvTensorClampModeConstant:+ return "Constant";+ case SpvTensorClampModeClampToEdge:+ return "ClampToEdge";+ case SpvTensorClampModeRepeat:+ return "Repeat";+ case SpvTensorClampModeRepeatMirrored:+ return "RepeatMirrored";+ default:+ return "Unknown";+ }+}++inline const char* SpvInitializationModeQualifierToString(SpvInitializationModeQualifier value) {+ switch (value) {+ case SpvInitializationModeQualifierInitOnDeviceReprogramALTERA:+ return "InitOnDeviceReprogramALTERA";+ case SpvInitializationModeQualifierInitOnDeviceResetALTERA:+ return "InitOnDeviceResetALTERA";+ default:+ return "Unknown";+ }+}++inline const char* SpvHostAccessQualifierToString(SpvHostAccessQualifier value) {+ switch (value) {+ case SpvHostAccessQualifierNoneINTEL:+ return "NoneINTEL";+ case SpvHostAccessQualifierReadINTEL:+ return "ReadINTEL";+ case SpvHostAccessQualifierWriteINTEL:+ return "WriteINTEL";+ case SpvHostAccessQualifierReadWriteINTEL:+ return "ReadWriteINTEL";+ default:+ return "Unknown";+ }+}++inline const char* SpvLoadCacheControlToString(SpvLoadCacheControl value) {+ switch (value) {+ case SpvLoadCacheControlUncachedINTEL:+ return "UncachedINTEL";+ case SpvLoadCacheControlCachedINTEL:+ return "CachedINTEL";+ case SpvLoadCacheControlStreamingINTEL:+ return "StreamingINTEL";+ case SpvLoadCacheControlInvalidateAfterReadINTEL:+ return "InvalidateAfterReadINTEL";+ case SpvLoadCacheControlConstCachedINTEL:+ return "ConstCachedINTEL";+ default:+ return "Unknown";+ }+}++inline const char* SpvStoreCacheControlToString(SpvStoreCacheControl value) {+ switch (value) {+ case SpvStoreCacheControlUncachedINTEL:+ return "UncachedINTEL";+ case SpvStoreCacheControlWriteThroughINTEL:+ return "WriteThroughINTEL";+ case SpvStoreCacheControlWriteBackINTEL:+ return "WriteBackINTEL";+ case SpvStoreCacheControlStreamingINTEL:+ return "StreamingINTEL";+ default:+ return "Unknown";+ }+}++inline const char* SpvNamedMaximumNumberOfRegistersToString(SpvNamedMaximumNumberOfRegisters value) {+ switch (value) {+ case SpvNamedMaximumNumberOfRegistersAutoINTEL:+ return "AutoINTEL";+ default:+ return "Unknown";+ }+}++inline const char* SpvFPEncodingToString(SpvFPEncoding value) {+ switch (value) {+ case SpvFPEncodingBFloat16KHR:+ return "BFloat16KHR";+ case SpvFPEncodingFloat8E4M3EXT:+ return "Float8E4M3EXT";+ case SpvFPEncodingFloat8E5M2EXT:+ return "Float8E5M2EXT";+ default:+ return "Unknown";+ }+}++inline const char* SpvCooperativeVectorMatrixLayoutToString(SpvCooperativeVectorMatrixLayout value) {+ switch (value) {+ case SpvCooperativeVectorMatrixLayoutRowMajorNV:+ return "RowMajorNV";+ case SpvCooperativeVectorMatrixLayoutColumnMajorNV:+ return "ColumnMajorNV";+ case SpvCooperativeVectorMatrixLayoutInferencingOptimalNV:+ return "InferencingOptimalNV";+ case SpvCooperativeVectorMatrixLayoutTrainingOptimalNV:+ return "TrainingOptimalNV";+ default:+ return "Unknown";+ }+}++inline const char* SpvComponentTypeToString(SpvComponentType value) {+ switch (value) {+ case SpvComponentTypeFloat16NV:+ return "Float16NV";+ case SpvComponentTypeFloat32NV:+ return "Float32NV";+ case SpvComponentTypeFloat64NV:+ return "Float64NV";+ case SpvComponentTypeSignedInt8NV:+ return "SignedInt8NV";+ case SpvComponentTypeSignedInt16NV:+ return "SignedInt16NV";+ case SpvComponentTypeSignedInt32NV:+ return "SignedInt32NV";+ case SpvComponentTypeSignedInt64NV:+ return "SignedInt64NV";+ case SpvComponentTypeUnsignedInt8NV:+ return "UnsignedInt8NV";+ case SpvComponentTypeUnsignedInt16NV:+ return "UnsignedInt16NV";+ case SpvComponentTypeUnsignedInt32NV:+ return "UnsignedInt32NV";+ case SpvComponentTypeUnsignedInt64NV:+ return "UnsignedInt64NV";+ case SpvComponentTypeSignedInt8PackedNV:+ return "SignedInt8PackedNV";+ case SpvComponentTypeUnsignedInt8PackedNV:+ return "UnsignedInt8PackedNV";+ case SpvComponentTypeFloatE4M3NV:+ return "FloatE4M3NV";+ case SpvComponentTypeFloatE5M2NV:+ return "FloatE5M2NV";+ default:+ return "Unknown";+ }+}++inline const char* SpvOpToString(SpvOp value) {+ switch (value) {+ case SpvOpNop:+ return "OpNop";+ case SpvOpUndef:+ return "OpUndef";+ case SpvOpSourceContinued:+ return "OpSourceContinued";+ case SpvOpSource:+ return "OpSource";+ case SpvOpSourceExtension:+ return "OpSourceExtension";+ case SpvOpName:+ return "OpName";+ case SpvOpMemberName:+ return "OpMemberName";+ case SpvOpString:+ return "OpString";+ case SpvOpLine:+ return "OpLine";+ case SpvOpExtension:+ return "OpExtension";+ case SpvOpExtInstImport:+ return "OpExtInstImport";+ case SpvOpExtInst:+ return "OpExtInst";+ case SpvOpMemoryModel:+ return "OpMemoryModel";+ case SpvOpEntryPoint:+ return "OpEntryPoint";+ case SpvOpExecutionMode:+ return "OpExecutionMode";+ case SpvOpCapability:+ return "OpCapability";+ case SpvOpTypeVoid:+ return "OpTypeVoid";+ case SpvOpTypeBool:+ return "OpTypeBool";+ case SpvOpTypeInt:+ return "OpTypeInt";+ case SpvOpTypeFloat:+ return "OpTypeFloat";+ case SpvOpTypeVector:+ return "OpTypeVector";+ case SpvOpTypeMatrix:+ return "OpTypeMatrix";+ case SpvOpTypeImage:+ return "OpTypeImage";+ case SpvOpTypeSampler:+ return "OpTypeSampler";+ case SpvOpTypeSampledImage:+ return "OpTypeSampledImage";+ case SpvOpTypeArray:+ return "OpTypeArray";+ case SpvOpTypeRuntimeArray:+ return "OpTypeRuntimeArray";+ case SpvOpTypeStruct:+ return "OpTypeStruct";+ case SpvOpTypeOpaque:+ return "OpTypeOpaque";+ case SpvOpTypePointer:+ return "OpTypePointer";+ case SpvOpTypeFunction:+ return "OpTypeFunction";+ case SpvOpTypeEvent:+ return "OpTypeEvent";+ case SpvOpTypeDeviceEvent:+ return "OpTypeDeviceEvent";+ case SpvOpTypeReserveId:+ return "OpTypeReserveId";+ case SpvOpTypeQueue:+ return "OpTypeQueue";+ case SpvOpTypePipe:+ return "OpTypePipe";+ case SpvOpTypeForwardPointer:+ return "OpTypeForwardPointer";+ case SpvOpConstantTrue:+ return "OpConstantTrue";+ case SpvOpConstantFalse:+ return "OpConstantFalse";+ case SpvOpConstant:+ return "OpConstant";+ case SpvOpConstantComposite:+ return "OpConstantComposite";+ case SpvOpConstantSampler:+ return "OpConstantSampler";+ case SpvOpConstantNull:+ return "OpConstantNull";+ case SpvOpSpecConstantTrue:+ return "OpSpecConstantTrue";+ case SpvOpSpecConstantFalse:+ return "OpSpecConstantFalse";+ case SpvOpSpecConstant:+ return "OpSpecConstant";+ case SpvOpSpecConstantComposite:+ return "OpSpecConstantComposite";+ case SpvOpSpecConstantOp:+ return "OpSpecConstantOp";+ case SpvOpFunction:+ return "OpFunction";+ case SpvOpFunctionParameter:+ return "OpFunctionParameter";+ case SpvOpFunctionEnd:+ return "OpFunctionEnd";+ case SpvOpFunctionCall:+ return "OpFunctionCall";+ case SpvOpVariable:+ return "OpVariable";+ case SpvOpImageTexelPointer:+ return "OpImageTexelPointer";+ case SpvOpLoad:+ return "OpLoad";+ case SpvOpStore:+ return "OpStore";+ case SpvOpCopyMemory:+ return "OpCopyMemory";+ case SpvOpCopyMemorySized:+ return "OpCopyMemorySized";+ case SpvOpAccessChain:+ return "OpAccessChain";+ case SpvOpInBoundsAccessChain:+ return "OpInBoundsAccessChain";+ case SpvOpPtrAccessChain:+ return "OpPtrAccessChain";+ case SpvOpArrayLength:+ return "OpArrayLength";+ case SpvOpGenericPtrMemSemantics:+ return "OpGenericPtrMemSemantics";+ case SpvOpInBoundsPtrAccessChain:+ return "OpInBoundsPtrAccessChain";+ case SpvOpDecorate:+ return "OpDecorate";+ case SpvOpMemberDecorate:+ return "OpMemberDecorate";+ case SpvOpDecorationGroup:+ return "OpDecorationGroup";+ case SpvOpGroupDecorate:+ return "OpGroupDecorate";+ case SpvOpGroupMemberDecorate:+ return "OpGroupMemberDecorate";+ case SpvOpVectorExtractDynamic:+ return "OpVectorExtractDynamic";+ case SpvOpVectorInsertDynamic:+ return "OpVectorInsertDynamic";+ case SpvOpVectorShuffle:+ return "OpVectorShuffle";+ case SpvOpCompositeConstruct:+ return "OpCompositeConstruct";+ case SpvOpCompositeExtract:+ return "OpCompositeExtract";+ case SpvOpCompositeInsert:+ return "OpCompositeInsert";+ case SpvOpCopyObject:+ return "OpCopyObject";+ case SpvOpTranspose:+ return "OpTranspose";+ case SpvOpSampledImage:+ return "OpSampledImage";+ case SpvOpImageSampleImplicitLod:+ return "OpImageSampleImplicitLod";+ case SpvOpImageSampleExplicitLod:+ return "OpImageSampleExplicitLod";+ case SpvOpImageSampleDrefImplicitLod:+ return "OpImageSampleDrefImplicitLod";+ case SpvOpImageSampleDrefExplicitLod:+ return "OpImageSampleDrefExplicitLod";+ case SpvOpImageSampleProjImplicitLod:+ return "OpImageSampleProjImplicitLod";+ case SpvOpImageSampleProjExplicitLod:+ return "OpImageSampleProjExplicitLod";+ case SpvOpImageSampleProjDrefImplicitLod:+ return "OpImageSampleProjDrefImplicitLod";+ case SpvOpImageSampleProjDrefExplicitLod:+ return "OpImageSampleProjDrefExplicitLod";+ case SpvOpImageFetch:+ return "OpImageFetch";+ case SpvOpImageGather:+ return "OpImageGather";+ case SpvOpImageDrefGather:+ return "OpImageDrefGather";+ case SpvOpImageRead:+ return "OpImageRead";+ case SpvOpImageWrite:+ return "OpImageWrite";+ case SpvOpImage:+ return "OpImage";+ case SpvOpImageQueryFormat:+ return "OpImageQueryFormat";+ case SpvOpImageQueryOrder:+ return "OpImageQueryOrder";+ case SpvOpImageQuerySizeLod:+ return "OpImageQuerySizeLod";+ case SpvOpImageQuerySize:+ return "OpImageQuerySize";+ case SpvOpImageQueryLod:+ return "OpImageQueryLod";+ case SpvOpImageQueryLevels:+ return "OpImageQueryLevels";+ case SpvOpImageQuerySamples:+ return "OpImageQuerySamples";+ case SpvOpConvertFToU:+ return "OpConvertFToU";+ case SpvOpConvertFToS:+ return "OpConvertFToS";+ case SpvOpConvertSToF:+ return "OpConvertSToF";+ case SpvOpConvertUToF:+ return "OpConvertUToF";+ case SpvOpUConvert:+ return "OpUConvert";+ case SpvOpSConvert:+ return "OpSConvert";+ case SpvOpFConvert:+ return "OpFConvert";+ case SpvOpQuantizeToF16:+ return "OpQuantizeToF16";+ case SpvOpConvertPtrToU:+ return "OpConvertPtrToU";+ case SpvOpSatConvertSToU:+ return "OpSatConvertSToU";+ case SpvOpSatConvertUToS:+ return "OpSatConvertUToS";+ case SpvOpConvertUToPtr:+ return "OpConvertUToPtr";+ case SpvOpPtrCastToGeneric:+ return "OpPtrCastToGeneric";+ case SpvOpGenericCastToPtr:+ return "OpGenericCastToPtr";+ case SpvOpGenericCastToPtrExplicit:+ return "OpGenericCastToPtrExplicit";+ case SpvOpBitcast:+ return "OpBitcast";+ case SpvOpSNegate:+ return "OpSNegate";+ case SpvOpFNegate:+ return "OpFNegate";+ case SpvOpIAdd:+ return "OpIAdd";+ case SpvOpFAdd:+ return "OpFAdd";+ case SpvOpISub:+ return "OpISub";+ case SpvOpFSub:+ return "OpFSub";+ case SpvOpIMul:+ return "OpIMul";+ case SpvOpFMul:+ return "OpFMul";+ case SpvOpUDiv:+ return "OpUDiv";+ case SpvOpSDiv:+ return "OpSDiv";+ case SpvOpFDiv:+ return "OpFDiv";+ case SpvOpUMod:+ return "OpUMod";+ case SpvOpSRem:+ return "OpSRem";+ case SpvOpSMod:+ return "OpSMod";+ case SpvOpFRem:+ return "OpFRem";+ case SpvOpFMod:+ return "OpFMod";+ case SpvOpVectorTimesScalar:+ return "OpVectorTimesScalar";+ case SpvOpMatrixTimesScalar:+ return "OpMatrixTimesScalar";+ case SpvOpVectorTimesMatrix:+ return "OpVectorTimesMatrix";+ case SpvOpMatrixTimesVector:+ return "OpMatrixTimesVector";+ case SpvOpMatrixTimesMatrix:+ return "OpMatrixTimesMatrix";+ case SpvOpOuterProduct:+ return "OpOuterProduct";+ case SpvOpDot:+ return "OpDot";+ case SpvOpIAddCarry:+ return "OpIAddCarry";+ case SpvOpISubBorrow:+ return "OpISubBorrow";+ case SpvOpUMulExtended:+ return "OpUMulExtended";+ case SpvOpSMulExtended:+ return "OpSMulExtended";+ case SpvOpAny:+ return "OpAny";+ case SpvOpAll:+ return "OpAll";+ case SpvOpIsNan:+ return "OpIsNan";+ case SpvOpIsInf:+ return "OpIsInf";+ case SpvOpIsFinite:+ return "OpIsFinite";+ case SpvOpIsNormal:+ return "OpIsNormal";+ case SpvOpSignBitSet:+ return "OpSignBitSet";+ case SpvOpLessOrGreater:+ return "OpLessOrGreater";+ case SpvOpOrdered:+ return "OpOrdered";+ case SpvOpUnordered:+ return "OpUnordered";+ case SpvOpLogicalEqual:+ return "OpLogicalEqual";+ case SpvOpLogicalNotEqual:+ return "OpLogicalNotEqual";+ case SpvOpLogicalOr:+ return "OpLogicalOr";+ case SpvOpLogicalAnd:+ return "OpLogicalAnd";+ case SpvOpLogicalNot:+ return "OpLogicalNot";+ case SpvOpSelect:+ return "OpSelect";+ case SpvOpIEqual:+ return "OpIEqual";+ case SpvOpINotEqual:+ return "OpINotEqual";+ case SpvOpUGreaterThan:+ return "OpUGreaterThan";+ case SpvOpSGreaterThan:+ return "OpSGreaterThan";+ case SpvOpUGreaterThanEqual:+ return "OpUGreaterThanEqual";+ case SpvOpSGreaterThanEqual:+ return "OpSGreaterThanEqual";+ case SpvOpULessThan:+ return "OpULessThan";+ case SpvOpSLessThan:+ return "OpSLessThan";+ case SpvOpULessThanEqual:+ return "OpULessThanEqual";+ case SpvOpSLessThanEqual:+ return "OpSLessThanEqual";+ case SpvOpFOrdEqual:+ return "OpFOrdEqual";+ case SpvOpFUnordEqual:+ return "OpFUnordEqual";+ case SpvOpFOrdNotEqual:+ return "OpFOrdNotEqual";+ case SpvOpFUnordNotEqual:+ return "OpFUnordNotEqual";+ case SpvOpFOrdLessThan:+ return "OpFOrdLessThan";+ case SpvOpFUnordLessThan:+ return "OpFUnordLessThan";+ case SpvOpFOrdGreaterThan:+ return "OpFOrdGreaterThan";+ case SpvOpFUnordGreaterThan:+ return "OpFUnordGreaterThan";+ case SpvOpFOrdLessThanEqual:+ return "OpFOrdLessThanEqual";+ case SpvOpFUnordLessThanEqual:+ return "OpFUnordLessThanEqual";+ case SpvOpFOrdGreaterThanEqual:+ return "OpFOrdGreaterThanEqual";+ case SpvOpFUnordGreaterThanEqual:+ return "OpFUnordGreaterThanEqual";+ case SpvOpShiftRightLogical:+ return "OpShiftRightLogical";+ case SpvOpShiftRightArithmetic:+ return "OpShiftRightArithmetic";+ case SpvOpShiftLeftLogical:+ return "OpShiftLeftLogical";+ case SpvOpBitwiseOr:+ return "OpBitwiseOr";+ case SpvOpBitwiseXor:+ return "OpBitwiseXor";+ case SpvOpBitwiseAnd:+ return "OpBitwiseAnd";+ case SpvOpNot:+ return "OpNot";+ case SpvOpBitFieldInsert:+ return "OpBitFieldInsert";+ case SpvOpBitFieldSExtract:+ return "OpBitFieldSExtract";+ case SpvOpBitFieldUExtract:+ return "OpBitFieldUExtract";+ case SpvOpBitReverse:+ return "OpBitReverse";+ case SpvOpBitCount:+ return "OpBitCount";+ case SpvOpDPdx:+ return "OpDPdx";+ case SpvOpDPdy:+ return "OpDPdy";+ case SpvOpFwidth:+ return "OpFwidth";+ case SpvOpDPdxFine:+ return "OpDPdxFine";+ case SpvOpDPdyFine:+ return "OpDPdyFine";+ case SpvOpFwidthFine:+ return "OpFwidthFine";+ case SpvOpDPdxCoarse:+ return "OpDPdxCoarse";+ case SpvOpDPdyCoarse:+ return "OpDPdyCoarse";+ case SpvOpFwidthCoarse:+ return "OpFwidthCoarse";+ case SpvOpEmitVertex:+ return "OpEmitVertex";+ case SpvOpEndPrimitive:+ return "OpEndPrimitive";+ case SpvOpEmitStreamVertex:+ return "OpEmitStreamVertex";+ case SpvOpEndStreamPrimitive:+ return "OpEndStreamPrimitive";+ case SpvOpControlBarrier:+ return "OpControlBarrier";+ case SpvOpMemoryBarrier:+ return "OpMemoryBarrier";+ case SpvOpAtomicLoad:+ return "OpAtomicLoad";+ case SpvOpAtomicStore:+ return "OpAtomicStore";+ case SpvOpAtomicExchange:+ return "OpAtomicExchange";+ case SpvOpAtomicCompareExchange:+ return "OpAtomicCompareExchange";+ case SpvOpAtomicCompareExchangeWeak:+ return "OpAtomicCompareExchangeWeak";+ case SpvOpAtomicIIncrement:+ return "OpAtomicIIncrement";+ case SpvOpAtomicIDecrement:+ return "OpAtomicIDecrement";+ case SpvOpAtomicIAdd:+ return "OpAtomicIAdd";+ case SpvOpAtomicISub:+ return "OpAtomicISub";+ case SpvOpAtomicSMin:+ return "OpAtomicSMin";+ case SpvOpAtomicUMin:+ return "OpAtomicUMin";+ case SpvOpAtomicSMax:+ return "OpAtomicSMax";+ case SpvOpAtomicUMax:+ return "OpAtomicUMax";+ case SpvOpAtomicAnd:+ return "OpAtomicAnd";+ case SpvOpAtomicOr:+ return "OpAtomicOr";+ case SpvOpAtomicXor:+ return "OpAtomicXor";+ case SpvOpPhi:+ return "OpPhi";+ case SpvOpLoopMerge:+ return "OpLoopMerge";+ case SpvOpSelectionMerge:+ return "OpSelectionMerge";+ case SpvOpLabel:+ return "OpLabel";+ case SpvOpBranch:+ return "OpBranch";+ case SpvOpBranchConditional:+ return "OpBranchConditional";+ case SpvOpSwitch:+ return "OpSwitch";+ case SpvOpKill:+ return "OpKill";+ case SpvOpReturn:+ return "OpReturn";+ case SpvOpReturnValue:+ return "OpReturnValue";+ case SpvOpUnreachable:+ return "OpUnreachable";+ case SpvOpLifetimeStart:+ return "OpLifetimeStart";+ case SpvOpLifetimeStop:+ return "OpLifetimeStop";+ case SpvOpGroupAsyncCopy:+ return "OpGroupAsyncCopy";+ case SpvOpGroupWaitEvents:+ return "OpGroupWaitEvents";+ case SpvOpGroupAll:+ return "OpGroupAll";+ case SpvOpGroupAny:+ return "OpGroupAny";+ case SpvOpGroupBroadcast:+ return "OpGroupBroadcast";+ case SpvOpGroupIAdd:+ return "OpGroupIAdd";+ case SpvOpGroupFAdd:+ return "OpGroupFAdd";+ case SpvOpGroupFMin:+ return "OpGroupFMin";+ case SpvOpGroupUMin:+ return "OpGroupUMin";+ case SpvOpGroupSMin:+ return "OpGroupSMin";+ case SpvOpGroupFMax:+ return "OpGroupFMax";+ case SpvOpGroupUMax:+ return "OpGroupUMax";+ case SpvOpGroupSMax:+ return "OpGroupSMax";+ case SpvOpReadPipe:+ return "OpReadPipe";+ case SpvOpWritePipe:+ return "OpWritePipe";+ case SpvOpReservedReadPipe:+ return "OpReservedReadPipe";+ case SpvOpReservedWritePipe:+ return "OpReservedWritePipe";+ case SpvOpReserveReadPipePackets:+ return "OpReserveReadPipePackets";+ case SpvOpReserveWritePipePackets:+ return "OpReserveWritePipePackets";+ case SpvOpCommitReadPipe:+ return "OpCommitReadPipe";+ case SpvOpCommitWritePipe:+ return "OpCommitWritePipe";+ case SpvOpIsValidReserveId:+ return "OpIsValidReserveId";+ case SpvOpGetNumPipePackets:+ return "OpGetNumPipePackets";+ case SpvOpGetMaxPipePackets:+ return "OpGetMaxPipePackets";+ case SpvOpGroupReserveReadPipePackets:+ return "OpGroupReserveReadPipePackets";+ case SpvOpGroupReserveWritePipePackets:+ return "OpGroupReserveWritePipePackets";+ case SpvOpGroupCommitReadPipe:+ return "OpGroupCommitReadPipe";+ case SpvOpGroupCommitWritePipe:+ return "OpGroupCommitWritePipe";+ case SpvOpEnqueueMarker:+ return "OpEnqueueMarker";+ case SpvOpEnqueueKernel:+ return "OpEnqueueKernel";+ case SpvOpGetKernelNDrangeSubGroupCount:+ return "OpGetKernelNDrangeSubGroupCount";+ case SpvOpGetKernelNDrangeMaxSubGroupSize:+ return "OpGetKernelNDrangeMaxSubGroupSize";+ case SpvOpGetKernelWorkGroupSize:+ return "OpGetKernelWorkGroupSize";+ case SpvOpGetKernelPreferredWorkGroupSizeMultiple:+ return "OpGetKernelPreferredWorkGroupSizeMultiple";+ case SpvOpRetainEvent:+ return "OpRetainEvent";+ case SpvOpReleaseEvent:+ return "OpReleaseEvent";+ case SpvOpCreateUserEvent:+ return "OpCreateUserEvent";+ case SpvOpIsValidEvent:+ return "OpIsValidEvent";+ case SpvOpSetUserEventStatus:+ return "OpSetUserEventStatus";+ case SpvOpCaptureEventProfilingInfo:+ return "OpCaptureEventProfilingInfo";+ case SpvOpGetDefaultQueue:+ return "OpGetDefaultQueue";+ case SpvOpBuildNDRange:+ return "OpBuildNDRange";+ case SpvOpImageSparseSampleImplicitLod:+ return "OpImageSparseSampleImplicitLod";+ case SpvOpImageSparseSampleExplicitLod:+ return "OpImageSparseSampleExplicitLod";+ case SpvOpImageSparseSampleDrefImplicitLod:+ return "OpImageSparseSampleDrefImplicitLod";+ case SpvOpImageSparseSampleDrefExplicitLod:+ return "OpImageSparseSampleDrefExplicitLod";+ case SpvOpImageSparseSampleProjImplicitLod:+ return "OpImageSparseSampleProjImplicitLod";+ case SpvOpImageSparseSampleProjExplicitLod:+ return "OpImageSparseSampleProjExplicitLod";+ case SpvOpImageSparseSampleProjDrefImplicitLod:+ return "OpImageSparseSampleProjDrefImplicitLod";+ case SpvOpImageSparseSampleProjDrefExplicitLod:+ return "OpImageSparseSampleProjDrefExplicitLod";+ case SpvOpImageSparseFetch:+ return "OpImageSparseFetch";+ case SpvOpImageSparseGather:+ return "OpImageSparseGather";+ case SpvOpImageSparseDrefGather:+ return "OpImageSparseDrefGather";+ case SpvOpImageSparseTexelsResident:+ return "OpImageSparseTexelsResident";+ case SpvOpNoLine:+ return "OpNoLine";+ case SpvOpAtomicFlagTestAndSet:+ return "OpAtomicFlagTestAndSet";+ case SpvOpAtomicFlagClear:+ return "OpAtomicFlagClear";+ case SpvOpImageSparseRead:+ return "OpImageSparseRead";+ case SpvOpSizeOf:+ return "OpSizeOf";+ case SpvOpTypePipeStorage:+ return "OpTypePipeStorage";+ case SpvOpConstantPipeStorage:+ return "OpConstantPipeStorage";+ case SpvOpCreatePipeFromPipeStorage:+ return "OpCreatePipeFromPipeStorage";+ case SpvOpGetKernelLocalSizeForSubgroupCount:+ return "OpGetKernelLocalSizeForSubgroupCount";+ case SpvOpGetKernelMaxNumSubgroups:+ return "OpGetKernelMaxNumSubgroups";+ case SpvOpTypeNamedBarrier:+ return "OpTypeNamedBarrier";+ case SpvOpNamedBarrierInitialize:+ return "OpNamedBarrierInitialize";+ case SpvOpMemoryNamedBarrier:+ return "OpMemoryNamedBarrier";+ case SpvOpModuleProcessed:+ return "OpModuleProcessed";+ case SpvOpExecutionModeId:+ return "OpExecutionModeId";+ case SpvOpDecorateId:+ return "OpDecorateId";+ case SpvOpGroupNonUniformElect:+ return "OpGroupNonUniformElect";+ case SpvOpGroupNonUniformAll:+ return "OpGroupNonUniformAll";+ case SpvOpGroupNonUniformAny:+ return "OpGroupNonUniformAny";+ case SpvOpGroupNonUniformAllEqual:+ return "OpGroupNonUniformAllEqual";+ case SpvOpGroupNonUniformBroadcast:+ return "OpGroupNonUniformBroadcast";+ case SpvOpGroupNonUniformBroadcastFirst:+ return "OpGroupNonUniformBroadcastFirst";+ case SpvOpGroupNonUniformBallot:+ return "OpGroupNonUniformBallot";+ case SpvOpGroupNonUniformInverseBallot:+ return "OpGroupNonUniformInverseBallot";+ case SpvOpGroupNonUniformBallotBitExtract:+ return "OpGroupNonUniformBallotBitExtract";+ case SpvOpGroupNonUniformBallotBitCount:+ return "OpGroupNonUniformBallotBitCount";+ case SpvOpGroupNonUniformBallotFindLSB:+ return "OpGroupNonUniformBallotFindLSB";+ case SpvOpGroupNonUniformBallotFindMSB:+ return "OpGroupNonUniformBallotFindMSB";+ case SpvOpGroupNonUniformShuffle:+ return "OpGroupNonUniformShuffle";+ case SpvOpGroupNonUniformShuffleXor:+ return "OpGroupNonUniformShuffleXor";+ case SpvOpGroupNonUniformShuffleUp:+ return "OpGroupNonUniformShuffleUp";+ case SpvOpGroupNonUniformShuffleDown:+ return "OpGroupNonUniformShuffleDown";+ case SpvOpGroupNonUniformIAdd:+ return "OpGroupNonUniformIAdd";+ case SpvOpGroupNonUniformFAdd:+ return "OpGroupNonUniformFAdd";+ case SpvOpGroupNonUniformIMul:+ return "OpGroupNonUniformIMul";+ case SpvOpGroupNonUniformFMul:+ return "OpGroupNonUniformFMul";+ case SpvOpGroupNonUniformSMin:+ return "OpGroupNonUniformSMin";+ case SpvOpGroupNonUniformUMin:+ return "OpGroupNonUniformUMin";+ case SpvOpGroupNonUniformFMin:+ return "OpGroupNonUniformFMin";+ case SpvOpGroupNonUniformSMax:+ return "OpGroupNonUniformSMax";+ case SpvOpGroupNonUniformUMax:+ return "OpGroupNonUniformUMax";+ case SpvOpGroupNonUniformFMax:+ return "OpGroupNonUniformFMax";+ case SpvOpGroupNonUniformBitwiseAnd:+ return "OpGroupNonUniformBitwiseAnd";+ case SpvOpGroupNonUniformBitwiseOr:+ return "OpGroupNonUniformBitwiseOr";+ case SpvOpGroupNonUniformBitwiseXor:+ return "OpGroupNonUniformBitwiseXor";+ case SpvOpGroupNonUniformLogicalAnd:+ return "OpGroupNonUniformLogicalAnd";+ case SpvOpGroupNonUniformLogicalOr:+ return "OpGroupNonUniformLogicalOr";+ case SpvOpGroupNonUniformLogicalXor:+ return "OpGroupNonUniformLogicalXor";+ case SpvOpGroupNonUniformQuadBroadcast:+ return "OpGroupNonUniformQuadBroadcast";+ case SpvOpGroupNonUniformQuadSwap:+ return "OpGroupNonUniformQuadSwap";+ case SpvOpCopyLogical:+ return "OpCopyLogical";+ case SpvOpPtrEqual:+ return "OpPtrEqual";+ case SpvOpPtrNotEqual:+ return "OpPtrNotEqual";+ case SpvOpPtrDiff:+ return "OpPtrDiff";+ case SpvOpColorAttachmentReadEXT:+ return "OpColorAttachmentReadEXT";+ case SpvOpDepthAttachmentReadEXT:+ return "OpDepthAttachmentReadEXT";+ case SpvOpStencilAttachmentReadEXT:+ return "OpStencilAttachmentReadEXT";+ case SpvOpTypeTensorARM:+ return "OpTypeTensorARM";+ case SpvOpTensorReadARM:+ return "OpTensorReadARM";+ case SpvOpTensorWriteARM:+ return "OpTensorWriteARM";+ case SpvOpTensorQuerySizeARM:+ return "OpTensorQuerySizeARM";+ case SpvOpGraphConstantARM:+ return "OpGraphConstantARM";+ case SpvOpGraphEntryPointARM:+ return "OpGraphEntryPointARM";+ case SpvOpGraphARM:+ return "OpGraphARM";+ case SpvOpGraphInputARM:+ return "OpGraphInputARM";+ case SpvOpGraphSetOutputARM:+ return "OpGraphSetOutputARM";+ case SpvOpGraphEndARM:+ return "OpGraphEndARM";+ case SpvOpTypeGraphARM:+ return "OpTypeGraphARM";+ case SpvOpTerminateInvocation:+ return "OpTerminateInvocation";+ case SpvOpTypeUntypedPointerKHR:+ return "OpTypeUntypedPointerKHR";+ case SpvOpUntypedVariableKHR:+ return "OpUntypedVariableKHR";+ case SpvOpUntypedAccessChainKHR:+ return "OpUntypedAccessChainKHR";+ case SpvOpUntypedInBoundsAccessChainKHR:+ return "OpUntypedInBoundsAccessChainKHR";+ case SpvOpSubgroupBallotKHR:+ return "OpSubgroupBallotKHR";+ case SpvOpSubgroupFirstInvocationKHR:+ return "OpSubgroupFirstInvocationKHR";+ case SpvOpUntypedPtrAccessChainKHR:+ return "OpUntypedPtrAccessChainKHR";+ case SpvOpUntypedInBoundsPtrAccessChainKHR:+ return "OpUntypedInBoundsPtrAccessChainKHR";+ case SpvOpUntypedArrayLengthKHR:+ return "OpUntypedArrayLengthKHR";+ case SpvOpUntypedPrefetchKHR:+ return "OpUntypedPrefetchKHR";+ case SpvOpFmaKHR:+ return "OpFmaKHR";+ case SpvOpSubgroupAllKHR:+ return "OpSubgroupAllKHR";+ case SpvOpSubgroupAnyKHR:+ return "OpSubgroupAnyKHR";+ case SpvOpSubgroupAllEqualKHR:+ return "OpSubgroupAllEqualKHR";+ case SpvOpGroupNonUniformRotateKHR:+ return "OpGroupNonUniformRotateKHR";+ case SpvOpSubgroupReadInvocationKHR:+ return "OpSubgroupReadInvocationKHR";+ case SpvOpExtInstWithForwardRefsKHR:+ return "OpExtInstWithForwardRefsKHR";+ case SpvOpUntypedGroupAsyncCopyKHR:+ return "OpUntypedGroupAsyncCopyKHR";+ case SpvOpTraceRayKHR:+ return "OpTraceRayKHR";+ case SpvOpExecuteCallableKHR:+ return "OpExecuteCallableKHR";+ case SpvOpConvertUToAccelerationStructureKHR:+ return "OpConvertUToAccelerationStructureKHR";+ case SpvOpIgnoreIntersectionKHR:+ return "OpIgnoreIntersectionKHR";+ case SpvOpTerminateRayKHR:+ return "OpTerminateRayKHR";+ case SpvOpSDot:+ return "OpSDot";+ case SpvOpUDot:+ return "OpUDot";+ case SpvOpSUDot:+ return "OpSUDot";+ case SpvOpSDotAccSat:+ return "OpSDotAccSat";+ case SpvOpUDotAccSat:+ return "OpUDotAccSat";+ case SpvOpSUDotAccSat:+ return "OpSUDotAccSat";+ case SpvOpTypeCooperativeMatrixKHR:+ return "OpTypeCooperativeMatrixKHR";+ case SpvOpCooperativeMatrixLoadKHR:+ return "OpCooperativeMatrixLoadKHR";+ case SpvOpCooperativeMatrixStoreKHR:+ return "OpCooperativeMatrixStoreKHR";+ case SpvOpCooperativeMatrixMulAddKHR:+ return "OpCooperativeMatrixMulAddKHR";+ case SpvOpCooperativeMatrixLengthKHR:+ return "OpCooperativeMatrixLengthKHR";+ case SpvOpConstantCompositeReplicateEXT:+ return "OpConstantCompositeReplicateEXT";+ case SpvOpSpecConstantCompositeReplicateEXT:+ return "OpSpecConstantCompositeReplicateEXT";+ case SpvOpCompositeConstructReplicateEXT:+ return "OpCompositeConstructReplicateEXT";+ case SpvOpTypeRayQueryKHR:+ return "OpTypeRayQueryKHR";+ case SpvOpRayQueryInitializeKHR:+ return "OpRayQueryInitializeKHR";+ case SpvOpRayQueryTerminateKHR:+ return "OpRayQueryTerminateKHR";+ case SpvOpRayQueryGenerateIntersectionKHR:+ return "OpRayQueryGenerateIntersectionKHR";+ case SpvOpRayQueryConfirmIntersectionKHR:+ return "OpRayQueryConfirmIntersectionKHR";+ case SpvOpRayQueryProceedKHR:+ return "OpRayQueryProceedKHR";+ case SpvOpRayQueryGetIntersectionTypeKHR:+ return "OpRayQueryGetIntersectionTypeKHR";+ case SpvOpImageSampleWeightedQCOM:+ return "OpImageSampleWeightedQCOM";+ case SpvOpImageBoxFilterQCOM:+ return "OpImageBoxFilterQCOM";+ case SpvOpImageBlockMatchSSDQCOM:+ return "OpImageBlockMatchSSDQCOM";+ case SpvOpImageBlockMatchSADQCOM:+ return "OpImageBlockMatchSADQCOM";+ case SpvOpBitCastArrayQCOM:+ return "OpBitCastArrayQCOM";+ case SpvOpImageBlockMatchWindowSSDQCOM:+ return "OpImageBlockMatchWindowSSDQCOM";+ case SpvOpImageBlockMatchWindowSADQCOM:+ return "OpImageBlockMatchWindowSADQCOM";+ case SpvOpImageBlockMatchGatherSSDQCOM:+ return "OpImageBlockMatchGatherSSDQCOM";+ case SpvOpImageBlockMatchGatherSADQCOM:+ return "OpImageBlockMatchGatherSADQCOM";+ case SpvOpCompositeConstructCoopMatQCOM:+ return "OpCompositeConstructCoopMatQCOM";+ case SpvOpCompositeExtractCoopMatQCOM:+ return "OpCompositeExtractCoopMatQCOM";+ case SpvOpExtractSubArrayQCOM:+ return "OpExtractSubArrayQCOM";+ case SpvOpGroupIAddNonUniformAMD:+ return "OpGroupIAddNonUniformAMD";+ case SpvOpGroupFAddNonUniformAMD:+ return "OpGroupFAddNonUniformAMD";+ case SpvOpGroupFMinNonUniformAMD:+ return "OpGroupFMinNonUniformAMD";+ case SpvOpGroupUMinNonUniformAMD:+ return "OpGroupUMinNonUniformAMD";+ case SpvOpGroupSMinNonUniformAMD:+ return "OpGroupSMinNonUniformAMD";+ case SpvOpGroupFMaxNonUniformAMD:+ return "OpGroupFMaxNonUniformAMD";+ case SpvOpGroupUMaxNonUniformAMD:+ return "OpGroupUMaxNonUniformAMD";+ case SpvOpGroupSMaxNonUniformAMD:+ return "OpGroupSMaxNonUniformAMD";+ case SpvOpFragmentMaskFetchAMD:+ return "OpFragmentMaskFetchAMD";+ case SpvOpFragmentFetchAMD:+ return "OpFragmentFetchAMD";+ case SpvOpReadClockKHR:+ return "OpReadClockKHR";+ case SpvOpAllocateNodePayloadsAMDX:+ return "OpAllocateNodePayloadsAMDX";+ case SpvOpEnqueueNodePayloadsAMDX:+ return "OpEnqueueNodePayloadsAMDX";+ case SpvOpTypeNodePayloadArrayAMDX:+ return "OpTypeNodePayloadArrayAMDX";+ case SpvOpFinishWritingNodePayloadAMDX:+ return "OpFinishWritingNodePayloadAMDX";+ case SpvOpNodePayloadArrayLengthAMDX:+ return "OpNodePayloadArrayLengthAMDX";+ case SpvOpIsNodePayloadValidAMDX:+ return "OpIsNodePayloadValidAMDX";+ case SpvOpConstantStringAMDX:+ return "OpConstantStringAMDX";+ case SpvOpSpecConstantStringAMDX:+ return "OpSpecConstantStringAMDX";+ case SpvOpGroupNonUniformQuadAllKHR:+ return "OpGroupNonUniformQuadAllKHR";+ case SpvOpGroupNonUniformQuadAnyKHR:+ return "OpGroupNonUniformQuadAnyKHR";+ case SpvOpTypeBufferEXT:+ return "OpTypeBufferEXT";+ case SpvOpBufferPointerEXT:+ return "OpBufferPointerEXT";+ case SpvOpAbortKHR:+ return "OpAbortKHR";+ case SpvOpUntypedImageTexelPointerEXT:+ return "OpUntypedImageTexelPointerEXT";+ case SpvOpMemberDecorateIdEXT:+ return "OpMemberDecorateIdEXT";+ case SpvOpConstantSizeOfEXT:+ return "OpConstantSizeOfEXT";+ case SpvOpConstantDataKHR:+ return "OpConstantDataKHR";+ case SpvOpSpecConstantDataKHR:+ return "OpSpecConstantDataKHR";+ case SpvOpPoisonKHR:+ return "OpPoisonKHR";+ case SpvOpFreezeKHR:+ return "OpFreezeKHR";+ case SpvOpHitObjectRecordHitMotionNV:+ return "OpHitObjectRecordHitMotionNV";+ case SpvOpHitObjectRecordHitWithIndexMotionNV:+ return "OpHitObjectRecordHitWithIndexMotionNV";+ case SpvOpHitObjectRecordMissMotionNV:+ return "OpHitObjectRecordMissMotionNV";+ case SpvOpHitObjectGetWorldToObjectNV:+ return "OpHitObjectGetWorldToObjectNV";+ case SpvOpHitObjectGetObjectToWorldNV:+ return "OpHitObjectGetObjectToWorldNV";+ case SpvOpHitObjectGetObjectRayDirectionNV:+ return "OpHitObjectGetObjectRayDirectionNV";+ case SpvOpHitObjectGetObjectRayOriginNV:+ return "OpHitObjectGetObjectRayOriginNV";+ case SpvOpHitObjectTraceRayMotionNV:+ return "OpHitObjectTraceRayMotionNV";+ case SpvOpHitObjectGetShaderRecordBufferHandleNV:+ return "OpHitObjectGetShaderRecordBufferHandleNV";+ case SpvOpHitObjectGetShaderBindingTableRecordIndexNV:+ return "OpHitObjectGetShaderBindingTableRecordIndexNV";+ case SpvOpHitObjectRecordEmptyNV:+ return "OpHitObjectRecordEmptyNV";+ case SpvOpHitObjectTraceRayNV:+ return "OpHitObjectTraceRayNV";+ case SpvOpHitObjectRecordHitNV:+ return "OpHitObjectRecordHitNV";+ case SpvOpHitObjectRecordHitWithIndexNV:+ return "OpHitObjectRecordHitWithIndexNV";+ case SpvOpHitObjectRecordMissNV:+ return "OpHitObjectRecordMissNV";+ case SpvOpHitObjectExecuteShaderNV:+ return "OpHitObjectExecuteShaderNV";+ case SpvOpHitObjectGetCurrentTimeNV:+ return "OpHitObjectGetCurrentTimeNV";+ case SpvOpHitObjectGetAttributesNV:+ return "OpHitObjectGetAttributesNV";+ case SpvOpHitObjectGetHitKindNV:+ return "OpHitObjectGetHitKindNV";+ case SpvOpHitObjectGetPrimitiveIndexNV:+ return "OpHitObjectGetPrimitiveIndexNV";+ case SpvOpHitObjectGetGeometryIndexNV:+ return "OpHitObjectGetGeometryIndexNV";+ case SpvOpHitObjectGetInstanceIdNV:+ return "OpHitObjectGetInstanceIdNV";+ case SpvOpHitObjectGetInstanceCustomIndexNV:+ return "OpHitObjectGetInstanceCustomIndexNV";+ case SpvOpHitObjectGetWorldRayDirectionNV:+ return "OpHitObjectGetWorldRayDirectionNV";+ case SpvOpHitObjectGetWorldRayOriginNV:+ return "OpHitObjectGetWorldRayOriginNV";+ case SpvOpHitObjectGetRayTMaxNV:+ return "OpHitObjectGetRayTMaxNV";+ case SpvOpHitObjectGetRayTMinNV:+ return "OpHitObjectGetRayTMinNV";+ case SpvOpHitObjectIsEmptyNV:+ return "OpHitObjectIsEmptyNV";+ case SpvOpHitObjectIsHitNV:+ return "OpHitObjectIsHitNV";+ case SpvOpHitObjectIsMissNV:+ return "OpHitObjectIsMissNV";+ case SpvOpReorderThreadWithHitObjectNV:+ return "OpReorderThreadWithHitObjectNV";+ case SpvOpReorderThreadWithHintNV:+ return "OpReorderThreadWithHintNV";+ case SpvOpTypeHitObjectNV:+ return "OpTypeHitObjectNV";+ case SpvOpImageSampleFootprintNV:+ return "OpImageSampleFootprintNV";+ case SpvOpTypeCooperativeVectorNV:+ return "OpTypeCooperativeVectorNV";+ case SpvOpCooperativeVectorMatrixMulNV:+ return "OpCooperativeVectorMatrixMulNV";+ case SpvOpCooperativeVectorOuterProductAccumulateNV:+ return "OpCooperativeVectorOuterProductAccumulateNV";+ case SpvOpCooperativeVectorReduceSumAccumulateNV:+ return "OpCooperativeVectorReduceSumAccumulateNV";+ case SpvOpCooperativeVectorMatrixMulAddNV:+ return "OpCooperativeVectorMatrixMulAddNV";+ case SpvOpCooperativeMatrixConvertNV:+ return "OpCooperativeMatrixConvertNV";+ case SpvOpEmitMeshTasksEXT:+ return "OpEmitMeshTasksEXT";+ case SpvOpSetMeshOutputsEXT:+ return "OpSetMeshOutputsEXT";+ case SpvOpGroupNonUniformPartitionEXT:+ return "OpGroupNonUniformPartitionEXT";+ case SpvOpWritePackedPrimitiveIndices4x8NV:+ return "OpWritePackedPrimitiveIndices4x8NV";+ case SpvOpFetchMicroTriangleVertexPositionNV:+ return "OpFetchMicroTriangleVertexPositionNV";+ case SpvOpFetchMicroTriangleVertexBarycentricNV:+ return "OpFetchMicroTriangleVertexBarycentricNV";+ case SpvOpCooperativeVectorLoadNV:+ return "OpCooperativeVectorLoadNV";+ case SpvOpCooperativeVectorStoreNV:+ return "OpCooperativeVectorStoreNV";+ case SpvOpHitObjectRecordFromQueryEXT:+ return "OpHitObjectRecordFromQueryEXT";+ case SpvOpHitObjectRecordMissEXT:+ return "OpHitObjectRecordMissEXT";+ case SpvOpHitObjectRecordMissMotionEXT:+ return "OpHitObjectRecordMissMotionEXT";+ case SpvOpHitObjectGetIntersectionTriangleVertexPositionsEXT:+ return "OpHitObjectGetIntersectionTriangleVertexPositionsEXT";+ case SpvOpHitObjectGetRayFlagsEXT:+ return "OpHitObjectGetRayFlagsEXT";+ case SpvOpHitObjectSetShaderBindingTableRecordIndexEXT:+ return "OpHitObjectSetShaderBindingTableRecordIndexEXT";+ case SpvOpHitObjectReorderExecuteShaderEXT:+ return "OpHitObjectReorderExecuteShaderEXT";+ case SpvOpHitObjectTraceReorderExecuteEXT:+ return "OpHitObjectTraceReorderExecuteEXT";+ case SpvOpHitObjectTraceMotionReorderExecuteEXT:+ return "OpHitObjectTraceMotionReorderExecuteEXT";+ case SpvOpTypeHitObjectEXT:+ return "OpTypeHitObjectEXT";+ case SpvOpReorderThreadWithHintEXT:+ return "OpReorderThreadWithHintEXT";+ case SpvOpReorderThreadWithHitObjectEXT:+ return "OpReorderThreadWithHitObjectEXT";+ case SpvOpHitObjectTraceRayEXT:+ return "OpHitObjectTraceRayEXT";+ case SpvOpHitObjectTraceRayMotionEXT:+ return "OpHitObjectTraceRayMotionEXT";+ case SpvOpHitObjectRecordEmptyEXT:+ return "OpHitObjectRecordEmptyEXT";+ case SpvOpHitObjectExecuteShaderEXT:+ return "OpHitObjectExecuteShaderEXT";+ case SpvOpHitObjectGetCurrentTimeEXT:+ return "OpHitObjectGetCurrentTimeEXT";+ case SpvOpHitObjectGetAttributesEXT:+ return "OpHitObjectGetAttributesEXT";+ case SpvOpHitObjectGetHitKindEXT:+ return "OpHitObjectGetHitKindEXT";+ case SpvOpHitObjectGetPrimitiveIndexEXT:+ return "OpHitObjectGetPrimitiveIndexEXT";+ case SpvOpHitObjectGetGeometryIndexEXT:+ return "OpHitObjectGetGeometryIndexEXT";+ case SpvOpHitObjectGetInstanceIdEXT:+ return "OpHitObjectGetInstanceIdEXT";+ case SpvOpHitObjectGetInstanceCustomIndexEXT:+ return "OpHitObjectGetInstanceCustomIndexEXT";+ case SpvOpHitObjectGetObjectRayOriginEXT:+ return "OpHitObjectGetObjectRayOriginEXT";+ case SpvOpHitObjectGetObjectRayDirectionEXT:+ return "OpHitObjectGetObjectRayDirectionEXT";+ case SpvOpHitObjectGetWorldRayDirectionEXT:+ return "OpHitObjectGetWorldRayDirectionEXT";+ case SpvOpHitObjectGetWorldRayOriginEXT:+ return "OpHitObjectGetWorldRayOriginEXT";+ case SpvOpHitObjectGetObjectToWorldEXT:+ return "OpHitObjectGetObjectToWorldEXT";+ case SpvOpHitObjectGetWorldToObjectEXT:+ return "OpHitObjectGetWorldToObjectEXT";+ case SpvOpHitObjectGetRayTMaxEXT:+ return "OpHitObjectGetRayTMaxEXT";+ case SpvOpReportIntersectionKHR:+ return "OpReportIntersectionKHR";+ case SpvOpIgnoreIntersectionNV:+ return "OpIgnoreIntersectionNV";+ case SpvOpTerminateRayNV:+ return "OpTerminateRayNV";+ case SpvOpTraceNV:+ return "OpTraceNV";+ case SpvOpTraceMotionNV:+ return "OpTraceMotionNV";+ case SpvOpTraceRayMotionNV:+ return "OpTraceRayMotionNV";+ case SpvOpRayQueryGetIntersectionTriangleVertexPositionsKHR:+ return "OpRayQueryGetIntersectionTriangleVertexPositionsKHR";+ case SpvOpTypeAccelerationStructureKHR:+ return "OpTypeAccelerationStructureKHR";+ case SpvOpExecuteCallableNV:+ return "OpExecuteCallableNV";+ case SpvOpRayQueryGetClusterIdNV:+ return "OpRayQueryGetClusterIdNV";+ case SpvOpHitObjectGetClusterIdNV:+ return "OpHitObjectGetClusterIdNV";+ case SpvOpHitObjectGetRayTMinEXT:+ return "OpHitObjectGetRayTMinEXT";+ case SpvOpHitObjectGetShaderBindingTableRecordIndexEXT:+ return "OpHitObjectGetShaderBindingTableRecordIndexEXT";+ case SpvOpHitObjectGetShaderRecordBufferHandleEXT:+ return "OpHitObjectGetShaderRecordBufferHandleEXT";+ case SpvOpHitObjectIsEmptyEXT:+ return "OpHitObjectIsEmptyEXT";+ case SpvOpHitObjectIsHitEXT:+ return "OpHitObjectIsHitEXT";+ case SpvOpHitObjectIsMissEXT:+ return "OpHitObjectIsMissEXT";+ case SpvOpTypeCooperativeMatrixNV:+ return "OpTypeCooperativeMatrixNV";+ case SpvOpCooperativeMatrixLoadNV:+ return "OpCooperativeMatrixLoadNV";+ case SpvOpCooperativeMatrixStoreNV:+ return "OpCooperativeMatrixStoreNV";+ case SpvOpCooperativeMatrixMulAddNV:+ return "OpCooperativeMatrixMulAddNV";+ case SpvOpCooperativeMatrixLengthNV:+ return "OpCooperativeMatrixLengthNV";+ case SpvOpBeginInvocationInterlockEXT:+ return "OpBeginInvocationInterlockEXT";+ case SpvOpEndInvocationInterlockEXT:+ return "OpEndInvocationInterlockEXT";+ case SpvOpCooperativeMatrixReduceNV:+ return "OpCooperativeMatrixReduceNV";+ case SpvOpCooperativeMatrixLoadTensorNV:+ return "OpCooperativeMatrixLoadTensorNV";+ case SpvOpCooperativeMatrixStoreTensorNV:+ return "OpCooperativeMatrixStoreTensorNV";+ case SpvOpCooperativeMatrixPerElementOpNV:+ return "OpCooperativeMatrixPerElementOpNV";+ case SpvOpTypeTensorLayoutNV:+ return "OpTypeTensorLayoutNV";+ case SpvOpTypeTensorViewNV:+ return "OpTypeTensorViewNV";+ case SpvOpCreateTensorLayoutNV:+ return "OpCreateTensorLayoutNV";+ case SpvOpTensorLayoutSetDimensionNV:+ return "OpTensorLayoutSetDimensionNV";+ case SpvOpTensorLayoutSetStrideNV:+ return "OpTensorLayoutSetStrideNV";+ case SpvOpTensorLayoutSliceNV:+ return "OpTensorLayoutSliceNV";+ case SpvOpTensorLayoutSetClampValueNV:+ return "OpTensorLayoutSetClampValueNV";+ case SpvOpCreateTensorViewNV:+ return "OpCreateTensorViewNV";+ case SpvOpTensorViewSetDimensionNV:+ return "OpTensorViewSetDimensionNV";+ case SpvOpTensorViewSetStrideNV:+ return "OpTensorViewSetStrideNV";+ case SpvOpDemoteToHelperInvocation:+ return "OpDemoteToHelperInvocation";+ case SpvOpIsHelperInvocationEXT:+ return "OpIsHelperInvocationEXT";+ case SpvOpTensorViewSetClipNV:+ return "OpTensorViewSetClipNV";+ case SpvOpTensorLayoutSetBlockSizeNV:+ return "OpTensorLayoutSetBlockSizeNV";+ case SpvOpCooperativeMatrixTransposeNV:+ return "OpCooperativeMatrixTransposeNV";+ case SpvOpConvertUToImageNV:+ return "OpConvertUToImageNV";+ case SpvOpConvertUToSamplerNV:+ return "OpConvertUToSamplerNV";+ case SpvOpConvertImageToUNV:+ return "OpConvertImageToUNV";+ case SpvOpConvertSamplerToUNV:+ return "OpConvertSamplerToUNV";+ case SpvOpConvertUToSampledImageNV:+ return "OpConvertUToSampledImageNV";+ case SpvOpConvertSampledImageToUNV:+ return "OpConvertSampledImageToUNV";+ case SpvOpSamplerImageAddressingModeNV:+ return "OpSamplerImageAddressingModeNV";+ case SpvOpRawAccessChainNV:+ return "OpRawAccessChainNV";+ case SpvOpRayQueryGetIntersectionSpherePositionNV:+ return "OpRayQueryGetIntersectionSpherePositionNV";+ case SpvOpRayQueryGetIntersectionSphereRadiusNV:+ return "OpRayQueryGetIntersectionSphereRadiusNV";+ case SpvOpRayQueryGetIntersectionLSSPositionsNV:+ return "OpRayQueryGetIntersectionLSSPositionsNV";+ case SpvOpRayQueryGetIntersectionLSSRadiiNV:+ return "OpRayQueryGetIntersectionLSSRadiiNV";+ case SpvOpRayQueryGetIntersectionLSSHitValueNV:+ return "OpRayQueryGetIntersectionLSSHitValueNV";+ case SpvOpHitObjectGetSpherePositionNV:+ return "OpHitObjectGetSpherePositionNV";+ case SpvOpHitObjectGetSphereRadiusNV:+ return "OpHitObjectGetSphereRadiusNV";+ case SpvOpHitObjectGetLSSPositionsNV:+ return "OpHitObjectGetLSSPositionsNV";+ case SpvOpHitObjectGetLSSRadiiNV:+ return "OpHitObjectGetLSSRadiiNV";+ case SpvOpHitObjectIsSphereHitNV:+ return "OpHitObjectIsSphereHitNV";+ case SpvOpHitObjectIsLSSHitNV:+ return "OpHitObjectIsLSSHitNV";+ case SpvOpRayQueryIsSphereHitNV:+ return "OpRayQueryIsSphereHitNV";+ case SpvOpRayQueryIsLSSHitNV:+ return "OpRayQueryIsLSSHitNV";+ case SpvOpSubgroupShuffleINTEL:+ return "OpSubgroupShuffleINTEL";+ case SpvOpSubgroupShuffleDownINTEL:+ return "OpSubgroupShuffleDownINTEL";+ case SpvOpSubgroupShuffleUpINTEL:+ return "OpSubgroupShuffleUpINTEL";+ case SpvOpSubgroupShuffleXorINTEL:+ return "OpSubgroupShuffleXorINTEL";+ case SpvOpSubgroupBlockReadINTEL:+ return "OpSubgroupBlockReadINTEL";+ case SpvOpSubgroupBlockWriteINTEL:+ return "OpSubgroupBlockWriteINTEL";+ case SpvOpSubgroupImageBlockReadINTEL:+ return "OpSubgroupImageBlockReadINTEL";+ case SpvOpSubgroupImageBlockWriteINTEL:+ return "OpSubgroupImageBlockWriteINTEL";+ case SpvOpSubgroupImageMediaBlockReadINTEL:+ return "OpSubgroupImageMediaBlockReadINTEL";+ case SpvOpSubgroupImageMediaBlockWriteINTEL:+ return "OpSubgroupImageMediaBlockWriteINTEL";+ case SpvOpUCountLeadingZerosINTEL:+ return "OpUCountLeadingZerosINTEL";+ case SpvOpUCountTrailingZerosINTEL:+ return "OpUCountTrailingZerosINTEL";+ case SpvOpAbsISubINTEL:+ return "OpAbsISubINTEL";+ case SpvOpAbsUSubINTEL:+ return "OpAbsUSubINTEL";+ case SpvOpIAddSatINTEL:+ return "OpIAddSatINTEL";+ case SpvOpUAddSatINTEL:+ return "OpUAddSatINTEL";+ case SpvOpIAverageINTEL:+ return "OpIAverageINTEL";+ case SpvOpUAverageINTEL:+ return "OpUAverageINTEL";+ case SpvOpIAverageRoundedINTEL:+ return "OpIAverageRoundedINTEL";+ case SpvOpUAverageRoundedINTEL:+ return "OpUAverageRoundedINTEL";+ case SpvOpISubSatINTEL:+ return "OpISubSatINTEL";+ case SpvOpUSubSatINTEL:+ return "OpUSubSatINTEL";+ case SpvOpIMul32x16INTEL:+ return "OpIMul32x16INTEL";+ case SpvOpUMul32x16INTEL:+ return "OpUMul32x16INTEL";+ case SpvOpConstantFunctionPointerINTEL:+ return "OpConstantFunctionPointerINTEL";+ case SpvOpFunctionPointerCallINTEL:+ return "OpFunctionPointerCallINTEL";+ case SpvOpAsmTargetINTEL:+ return "OpAsmTargetINTEL";+ case SpvOpAsmINTEL:+ return "OpAsmINTEL";+ case SpvOpAsmCallINTEL:+ return "OpAsmCallINTEL";+ case SpvOpAtomicFMinEXT:+ return "OpAtomicFMinEXT";+ case SpvOpAtomicFMaxEXT:+ return "OpAtomicFMaxEXT";+ case SpvOpAssumeTrueKHR:+ return "OpAssumeTrueKHR";+ case SpvOpExpectKHR:+ return "OpExpectKHR";+ case SpvOpDecorateString:+ return "OpDecorateString";+ case SpvOpMemberDecorateString:+ return "OpMemberDecorateString";+ case SpvOpVmeImageINTEL:+ return "OpVmeImageINTEL";+ case SpvOpTypeVmeImageINTEL:+ return "OpTypeVmeImageINTEL";+ case SpvOpTypeAvcImePayloadINTEL:+ return "OpTypeAvcImePayloadINTEL";+ case SpvOpTypeAvcRefPayloadINTEL:+ return "OpTypeAvcRefPayloadINTEL";+ case SpvOpTypeAvcSicPayloadINTEL:+ return "OpTypeAvcSicPayloadINTEL";+ case SpvOpTypeAvcMcePayloadINTEL:+ return "OpTypeAvcMcePayloadINTEL";+ case SpvOpTypeAvcMceResultINTEL:+ return "OpTypeAvcMceResultINTEL";+ case SpvOpTypeAvcImeResultINTEL:+ return "OpTypeAvcImeResultINTEL";+ case SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL:+ return "OpTypeAvcImeResultSingleReferenceStreamoutINTEL";+ case SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL:+ return "OpTypeAvcImeResultDualReferenceStreamoutINTEL";+ case SpvOpTypeAvcImeSingleReferenceStreaminINTEL:+ return "OpTypeAvcImeSingleReferenceStreaminINTEL";+ case SpvOpTypeAvcImeDualReferenceStreaminINTEL:+ return "OpTypeAvcImeDualReferenceStreaminINTEL";+ case SpvOpTypeAvcRefResultINTEL:+ return "OpTypeAvcRefResultINTEL";+ case SpvOpTypeAvcSicResultINTEL:+ return "OpTypeAvcSicResultINTEL";+ case SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL:+ return "OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL";+ case SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL:+ return "OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL";+ case SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL:+ return "OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL";+ case SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL:+ return "OpSubgroupAvcMceSetInterShapePenaltyINTEL";+ case SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL:+ return "OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL";+ case SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL:+ return "OpSubgroupAvcMceSetInterDirectionPenaltyINTEL";+ case SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL:+ return "OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL";+ case SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL:+ return "OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL";+ case SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL:+ return "OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL";+ case SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL:+ return "OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL";+ case SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL:+ return "OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL";+ case SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL:+ return "OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL";+ case SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL:+ return "OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL";+ case SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL:+ return "OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL";+ case SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL:+ return "OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL";+ case SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL:+ return "OpSubgroupAvcMceSetAcOnlyHaarINTEL";+ case SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL:+ return "OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL";+ case SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL:+ return "OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL";+ case SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL:+ return "OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL";+ case SpvOpSubgroupAvcMceConvertToImePayloadINTEL:+ return "OpSubgroupAvcMceConvertToImePayloadINTEL";+ case SpvOpSubgroupAvcMceConvertToImeResultINTEL:+ return "OpSubgroupAvcMceConvertToImeResultINTEL";+ case SpvOpSubgroupAvcMceConvertToRefPayloadINTEL:+ return "OpSubgroupAvcMceConvertToRefPayloadINTEL";+ case SpvOpSubgroupAvcMceConvertToRefResultINTEL:+ return "OpSubgroupAvcMceConvertToRefResultINTEL";+ case SpvOpSubgroupAvcMceConvertToSicPayloadINTEL:+ return "OpSubgroupAvcMceConvertToSicPayloadINTEL";+ case SpvOpSubgroupAvcMceConvertToSicResultINTEL:+ return "OpSubgroupAvcMceConvertToSicResultINTEL";+ case SpvOpSubgroupAvcMceGetMotionVectorsINTEL:+ return "OpSubgroupAvcMceGetMotionVectorsINTEL";+ case SpvOpSubgroupAvcMceGetInterDistortionsINTEL:+ return "OpSubgroupAvcMceGetInterDistortionsINTEL";+ case SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL:+ return "OpSubgroupAvcMceGetBestInterDistortionsINTEL";+ case SpvOpSubgroupAvcMceGetInterMajorShapeINTEL:+ return "OpSubgroupAvcMceGetInterMajorShapeINTEL";+ case SpvOpSubgroupAvcMceGetInterMinorShapeINTEL:+ return "OpSubgroupAvcMceGetInterMinorShapeINTEL";+ case SpvOpSubgroupAvcMceGetInterDirectionsINTEL:+ return "OpSubgroupAvcMceGetInterDirectionsINTEL";+ case SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL:+ return "OpSubgroupAvcMceGetInterMotionVectorCountINTEL";+ case SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL:+ return "OpSubgroupAvcMceGetInterReferenceIdsINTEL";+ case SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL:+ return "OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL";+ case SpvOpSubgroupAvcImeInitializeINTEL:+ return "OpSubgroupAvcImeInitializeINTEL";+ case SpvOpSubgroupAvcImeSetSingleReferenceINTEL:+ return "OpSubgroupAvcImeSetSingleReferenceINTEL";+ case SpvOpSubgroupAvcImeSetDualReferenceINTEL:+ return "OpSubgroupAvcImeSetDualReferenceINTEL";+ case SpvOpSubgroupAvcImeRefWindowSizeINTEL:+ return "OpSubgroupAvcImeRefWindowSizeINTEL";+ case SpvOpSubgroupAvcImeAdjustRefOffsetINTEL:+ return "OpSubgroupAvcImeAdjustRefOffsetINTEL";+ case SpvOpSubgroupAvcImeConvertToMcePayloadINTEL:+ return "OpSubgroupAvcImeConvertToMcePayloadINTEL";+ case SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL:+ return "OpSubgroupAvcImeSetMaxMotionVectorCountINTEL";+ case SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL:+ return "OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL";+ case SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL:+ return "OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL";+ case SpvOpSubgroupAvcImeSetWeightedSadINTEL:+ return "OpSubgroupAvcImeSetWeightedSadINTEL";+ case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL:+ return "OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL";+ case SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL:+ return "OpSubgroupAvcImeEvaluateWithDualReferenceINTEL";+ case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL:+ return "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL";+ case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL:+ return "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL";+ case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL:+ return "OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL";+ case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL:+ return "OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL";+ case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL:+ return "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL";+ case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL:+ return "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL";+ case SpvOpSubgroupAvcImeConvertToMceResultINTEL:+ return "OpSubgroupAvcImeConvertToMceResultINTEL";+ case SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL:+ return "OpSubgroupAvcImeGetSingleReferenceStreaminINTEL";+ case SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL:+ return "OpSubgroupAvcImeGetDualReferenceStreaminINTEL";+ case SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL:+ return "OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL";+ case SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL:+ return "OpSubgroupAvcImeStripDualReferenceStreamoutINTEL";+ case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL:+ return "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL";+ case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL:+ return "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL";+ case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL:+ return "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL";+ case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL:+ return "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL";+ case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL:+ return "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL";+ case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL:+ return "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL";+ case SpvOpSubgroupAvcImeGetBorderReachedINTEL:+ return "OpSubgroupAvcImeGetBorderReachedINTEL";+ case SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL:+ return "OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL";+ case SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL:+ return "OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL";+ case SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL:+ return "OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL";+ case SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL:+ return "OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL";+ case SpvOpSubgroupAvcFmeInitializeINTEL:+ return "OpSubgroupAvcFmeInitializeINTEL";+ case SpvOpSubgroupAvcBmeInitializeINTEL:+ return "OpSubgroupAvcBmeInitializeINTEL";+ case SpvOpSubgroupAvcRefConvertToMcePayloadINTEL:+ return "OpSubgroupAvcRefConvertToMcePayloadINTEL";+ case SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL:+ return "OpSubgroupAvcRefSetBidirectionalMixDisableINTEL";+ case SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL:+ return "OpSubgroupAvcRefSetBilinearFilterEnableINTEL";+ case SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL:+ return "OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL";+ case SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL:+ return "OpSubgroupAvcRefEvaluateWithDualReferenceINTEL";+ case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL:+ return "OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL";+ case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL:+ return "OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL";+ case SpvOpSubgroupAvcRefConvertToMceResultINTEL:+ return "OpSubgroupAvcRefConvertToMceResultINTEL";+ case SpvOpSubgroupAvcSicInitializeINTEL:+ return "OpSubgroupAvcSicInitializeINTEL";+ case SpvOpSubgroupAvcSicConfigureSkcINTEL:+ return "OpSubgroupAvcSicConfigureSkcINTEL";+ case SpvOpSubgroupAvcSicConfigureIpeLumaINTEL:+ return "OpSubgroupAvcSicConfigureIpeLumaINTEL";+ case SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL:+ return "OpSubgroupAvcSicConfigureIpeLumaChromaINTEL";+ case SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL:+ return "OpSubgroupAvcSicGetMotionVectorMaskINTEL";+ case SpvOpSubgroupAvcSicConvertToMcePayloadINTEL:+ return "OpSubgroupAvcSicConvertToMcePayloadINTEL";+ case SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL:+ return "OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL";+ case SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL:+ return "OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL";+ case SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL:+ return "OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL";+ case SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL:+ return "OpSubgroupAvcSicSetBilinearFilterEnableINTEL";+ case SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL:+ return "OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL";+ case SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL:+ return "OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL";+ case SpvOpSubgroupAvcSicEvaluateIpeINTEL:+ return "OpSubgroupAvcSicEvaluateIpeINTEL";+ case SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL:+ return "OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL";+ case SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL:+ return "OpSubgroupAvcSicEvaluateWithDualReferenceINTEL";+ case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL:+ return "OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL";+ case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL:+ return "OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL";+ case SpvOpSubgroupAvcSicConvertToMceResultINTEL:+ return "OpSubgroupAvcSicConvertToMceResultINTEL";+ case SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL:+ return "OpSubgroupAvcSicGetIpeLumaShapeINTEL";+ case SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL:+ return "OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL";+ case SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL:+ return "OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL";+ case SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL:+ return "OpSubgroupAvcSicGetPackedIpeLumaModesINTEL";+ case SpvOpSubgroupAvcSicGetIpeChromaModeINTEL:+ return "OpSubgroupAvcSicGetIpeChromaModeINTEL";+ case SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL:+ return "OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL";+ case SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL:+ return "OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL";+ case SpvOpSubgroupAvcSicGetInterRawSadsINTEL:+ return "OpSubgroupAvcSicGetInterRawSadsINTEL";+ case SpvOpVariableLengthArrayINTEL:+ return "OpVariableLengthArrayINTEL";+ case SpvOpSaveMemoryINTEL:+ return "OpSaveMemoryINTEL";+ case SpvOpRestoreMemoryINTEL:+ return "OpRestoreMemoryINTEL";+ case SpvOpArbitraryFloatSinCosPiALTERA:+ return "OpArbitraryFloatSinCosPiALTERA";+ case SpvOpArbitraryFloatCastALTERA:+ return "OpArbitraryFloatCastALTERA";+ case SpvOpArbitraryFloatCastFromIntALTERA:+ return "OpArbitraryFloatCastFromIntALTERA";+ case SpvOpArbitraryFloatCastToIntALTERA:+ return "OpArbitraryFloatCastToIntALTERA";+ case SpvOpArbitraryFloatAddALTERA:+ return "OpArbitraryFloatAddALTERA";+ case SpvOpArbitraryFloatSubALTERA:+ return "OpArbitraryFloatSubALTERA";+ case SpvOpArbitraryFloatMulALTERA:+ return "OpArbitraryFloatMulALTERA";+ case SpvOpArbitraryFloatDivALTERA:+ return "OpArbitraryFloatDivALTERA";+ case SpvOpArbitraryFloatGTALTERA:+ return "OpArbitraryFloatGTALTERA";+ case SpvOpArbitraryFloatGEALTERA:+ return "OpArbitraryFloatGEALTERA";+ case SpvOpArbitraryFloatLTALTERA:+ return "OpArbitraryFloatLTALTERA";+ case SpvOpArbitraryFloatLEALTERA:+ return "OpArbitraryFloatLEALTERA";+ case SpvOpArbitraryFloatEQALTERA:+ return "OpArbitraryFloatEQALTERA";+ case SpvOpArbitraryFloatRecipALTERA:+ return "OpArbitraryFloatRecipALTERA";+ case SpvOpArbitraryFloatRSqrtALTERA:+ return "OpArbitraryFloatRSqrtALTERA";+ case SpvOpArbitraryFloatCbrtALTERA:+ return "OpArbitraryFloatCbrtALTERA";+ case SpvOpArbitraryFloatHypotALTERA:+ return "OpArbitraryFloatHypotALTERA";+ case SpvOpArbitraryFloatSqrtALTERA:+ return "OpArbitraryFloatSqrtALTERA";+ case SpvOpArbitraryFloatLogINTEL:+ return "OpArbitraryFloatLogINTEL";+ case SpvOpArbitraryFloatLog2INTEL:+ return "OpArbitraryFloatLog2INTEL";+ case SpvOpArbitraryFloatLog10INTEL:+ return "OpArbitraryFloatLog10INTEL";+ case SpvOpArbitraryFloatLog1pINTEL:+ return "OpArbitraryFloatLog1pINTEL";+ case SpvOpArbitraryFloatExpINTEL:+ return "OpArbitraryFloatExpINTEL";+ case SpvOpArbitraryFloatExp2INTEL:+ return "OpArbitraryFloatExp2INTEL";+ case SpvOpArbitraryFloatExp10INTEL:+ return "OpArbitraryFloatExp10INTEL";+ case SpvOpArbitraryFloatExpm1INTEL:+ return "OpArbitraryFloatExpm1INTEL";+ case SpvOpArbitraryFloatSinINTEL:+ return "OpArbitraryFloatSinINTEL";+ case SpvOpArbitraryFloatCosINTEL:+ return "OpArbitraryFloatCosINTEL";+ case SpvOpArbitraryFloatSinCosINTEL:+ return "OpArbitraryFloatSinCosINTEL";+ case SpvOpArbitraryFloatSinPiINTEL:+ return "OpArbitraryFloatSinPiINTEL";+ case SpvOpArbitraryFloatCosPiINTEL:+ return "OpArbitraryFloatCosPiINTEL";+ case SpvOpArbitraryFloatASinINTEL:+ return "OpArbitraryFloatASinINTEL";+ case SpvOpArbitraryFloatASinPiINTEL:+ return "OpArbitraryFloatASinPiINTEL";+ case SpvOpArbitraryFloatACosINTEL:+ return "OpArbitraryFloatACosINTEL";+ case SpvOpArbitraryFloatACosPiINTEL:+ return "OpArbitraryFloatACosPiINTEL";+ case SpvOpArbitraryFloatATanINTEL:+ return "OpArbitraryFloatATanINTEL";+ case SpvOpArbitraryFloatATanPiINTEL:+ return "OpArbitraryFloatATanPiINTEL";+ case SpvOpArbitraryFloatATan2INTEL:+ return "OpArbitraryFloatATan2INTEL";+ case SpvOpArbitraryFloatPowINTEL:+ return "OpArbitraryFloatPowINTEL";+ case SpvOpArbitraryFloatPowRINTEL:+ return "OpArbitraryFloatPowRINTEL";+ case SpvOpArbitraryFloatPowNINTEL:+ return "OpArbitraryFloatPowNINTEL";+ case SpvOpLoopControlINTEL:+ return "OpLoopControlINTEL";+ case SpvOpAliasDomainDeclINTEL:+ return "OpAliasDomainDeclINTEL";+ case SpvOpAliasScopeDeclINTEL:+ return "OpAliasScopeDeclINTEL";+ case SpvOpAliasScopeListDeclINTEL:+ return "OpAliasScopeListDeclINTEL";+ case SpvOpFixedSqrtALTERA:+ return "OpFixedSqrtALTERA";+ case SpvOpFixedRecipALTERA:+ return "OpFixedRecipALTERA";+ case SpvOpFixedRsqrtALTERA:+ return "OpFixedRsqrtALTERA";+ case SpvOpFixedSinALTERA:+ return "OpFixedSinALTERA";+ case SpvOpFixedCosALTERA:+ return "OpFixedCosALTERA";+ case SpvOpFixedSinCosALTERA:+ return "OpFixedSinCosALTERA";+ case SpvOpFixedSinPiALTERA:+ return "OpFixedSinPiALTERA";+ case SpvOpFixedCosPiALTERA:+ return "OpFixedCosPiALTERA";+ case SpvOpFixedSinCosPiALTERA:+ return "OpFixedSinCosPiALTERA";+ case SpvOpFixedLogALTERA:+ return "OpFixedLogALTERA";+ case SpvOpFixedExpALTERA:+ return "OpFixedExpALTERA";+ case SpvOpPtrCastToCrossWorkgroupALTERA:+ return "OpPtrCastToCrossWorkgroupALTERA";+ case SpvOpCrossWorkgroupCastToPtrALTERA:+ return "OpCrossWorkgroupCastToPtrALTERA";+ case SpvOpReadPipeBlockingALTERA:+ return "OpReadPipeBlockingALTERA";+ case SpvOpWritePipeBlockingALTERA:+ return "OpWritePipeBlockingALTERA";+ case SpvOpFPGARegALTERA:+ return "OpFPGARegALTERA";+ case SpvOpRayQueryGetRayTMinKHR:+ return "OpRayQueryGetRayTMinKHR";+ case SpvOpRayQueryGetRayFlagsKHR:+ return "OpRayQueryGetRayFlagsKHR";+ case SpvOpRayQueryGetIntersectionTKHR:+ return "OpRayQueryGetIntersectionTKHR";+ case SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR:+ return "OpRayQueryGetIntersectionInstanceCustomIndexKHR";+ case SpvOpRayQueryGetIntersectionInstanceIdKHR:+ return "OpRayQueryGetIntersectionInstanceIdKHR";+ case SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR:+ return "OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR";+ case SpvOpRayQueryGetIntersectionGeometryIndexKHR:+ return "OpRayQueryGetIntersectionGeometryIndexKHR";+ case SpvOpRayQueryGetIntersectionPrimitiveIndexKHR:+ return "OpRayQueryGetIntersectionPrimitiveIndexKHR";+ case SpvOpRayQueryGetIntersectionBarycentricsKHR:+ return "OpRayQueryGetIntersectionBarycentricsKHR";+ case SpvOpRayQueryGetIntersectionFrontFaceKHR:+ return "OpRayQueryGetIntersectionFrontFaceKHR";+ case SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR:+ return "OpRayQueryGetIntersectionCandidateAABBOpaqueKHR";+ case SpvOpRayQueryGetIntersectionObjectRayDirectionKHR:+ return "OpRayQueryGetIntersectionObjectRayDirectionKHR";+ case SpvOpRayQueryGetIntersectionObjectRayOriginKHR:+ return "OpRayQueryGetIntersectionObjectRayOriginKHR";+ case SpvOpRayQueryGetWorldRayDirectionKHR:+ return "OpRayQueryGetWorldRayDirectionKHR";+ case SpvOpRayQueryGetWorldRayOriginKHR:+ return "OpRayQueryGetWorldRayOriginKHR";+ case SpvOpRayQueryGetIntersectionObjectToWorldKHR:+ return "OpRayQueryGetIntersectionObjectToWorldKHR";+ case SpvOpRayQueryGetIntersectionWorldToObjectKHR:+ return "OpRayQueryGetIntersectionWorldToObjectKHR";+ case SpvOpAtomicFAddEXT:+ return "OpAtomicFAddEXT";+ case SpvOpTypeBufferSurfaceINTEL:+ return "OpTypeBufferSurfaceINTEL";+ case SpvOpTypeStructContinuedINTEL:+ return "OpTypeStructContinuedINTEL";+ case SpvOpConstantCompositeContinuedINTEL:+ return "OpConstantCompositeContinuedINTEL";+ case SpvOpSpecConstantCompositeContinuedINTEL:+ return "OpSpecConstantCompositeContinuedINTEL";+ case SpvOpCompositeConstructContinuedINTEL:+ return "OpCompositeConstructContinuedINTEL";+ case SpvOpConvertFToBF16INTEL:+ return "OpConvertFToBF16INTEL";+ case SpvOpConvertBF16ToFINTEL:+ return "OpConvertBF16ToFINTEL";+ case SpvOpControlBarrierArriveINTEL:+ return "OpControlBarrierArriveINTEL";+ case SpvOpControlBarrierWaitINTEL:+ return "OpControlBarrierWaitINTEL";+ case SpvOpArithmeticFenceEXT:+ return "OpArithmeticFenceEXT";+ case SpvOpTaskSequenceCreateALTERA:+ return "OpTaskSequenceCreateALTERA";+ case SpvOpTaskSequenceAsyncALTERA:+ return "OpTaskSequenceAsyncALTERA";+ case SpvOpTaskSequenceGetALTERA:+ return "OpTaskSequenceGetALTERA";+ case SpvOpTaskSequenceReleaseALTERA:+ return "OpTaskSequenceReleaseALTERA";+ case SpvOpTypeTaskSequenceALTERA:+ return "OpTypeTaskSequenceALTERA";+ case SpvOpSubgroupBlockPrefetchINTEL:+ return "OpSubgroupBlockPrefetchINTEL";+ case SpvOpSubgroup2DBlockLoadINTEL:+ return "OpSubgroup2DBlockLoadINTEL";+ case SpvOpSubgroup2DBlockLoadTransformINTEL:+ return "OpSubgroup2DBlockLoadTransformINTEL";+ case SpvOpSubgroup2DBlockLoadTransposeINTEL:+ return "OpSubgroup2DBlockLoadTransposeINTEL";+ case SpvOpSubgroup2DBlockPrefetchINTEL:+ return "OpSubgroup2DBlockPrefetchINTEL";+ case SpvOpSubgroup2DBlockStoreINTEL:+ return "OpSubgroup2DBlockStoreINTEL";+ case SpvOpSubgroupMatrixMultiplyAccumulateINTEL:+ return "OpSubgroupMatrixMultiplyAccumulateINTEL";+ case SpvOpBitwiseFunctionINTEL:+ return "OpBitwiseFunctionINTEL";+ case SpvOpUntypedVariableLengthArrayINTEL:+ return "OpUntypedVariableLengthArrayINTEL";+ case SpvOpConditionalExtensionINTEL:+ return "OpConditionalExtensionINTEL";+ case SpvOpConditionalEntryPointINTEL:+ return "OpConditionalEntryPointINTEL";+ case SpvOpConditionalCapabilityINTEL:+ return "OpConditionalCapabilityINTEL";+ case SpvOpSpecConstantTargetINTEL:+ return "OpSpecConstantTargetINTEL";+ case SpvOpSpecConstantArchitectureINTEL:+ return "OpSpecConstantArchitectureINTEL";+ case SpvOpSpecConstantCapabilitiesINTEL:+ return "OpSpecConstantCapabilitiesINTEL";+ case SpvOpConditionalCopyObjectINTEL:+ return "OpConditionalCopyObjectINTEL";+ case SpvOpGroupIMulKHR:+ return "OpGroupIMulKHR";+ case SpvOpGroupFMulKHR:+ return "OpGroupFMulKHR";+ case SpvOpGroupBitwiseAndKHR:+ return "OpGroupBitwiseAndKHR";+ case SpvOpGroupBitwiseOrKHR:+ return "OpGroupBitwiseOrKHR";+ case SpvOpGroupBitwiseXorKHR:+ return "OpGroupBitwiseXorKHR";+ case SpvOpGroupLogicalAndKHR:+ return "OpGroupLogicalAndKHR";+ case SpvOpGroupLogicalOrKHR:+ return "OpGroupLogicalOrKHR";+ case SpvOpGroupLogicalXorKHR:+ return "OpGroupLogicalXorKHR";+ case SpvOpRoundFToTF32INTEL:+ return "OpRoundFToTF32INTEL";+ case SpvOpMaskedGatherINTEL:+ return "OpMaskedGatherINTEL";+ case SpvOpMaskedScatterINTEL:+ return "OpMaskedScatterINTEL";+ case SpvOpConvertHandleToImageINTEL:+ return "OpConvertHandleToImageINTEL";+ case SpvOpConvertHandleToSamplerINTEL:+ return "OpConvertHandleToSamplerINTEL";+ case SpvOpConvertHandleToSampledImageINTEL:+ return "OpConvertHandleToSampledImageINTEL";+ case SpvOpFDot2MixAcc32VALVE:+ return "OpFDot2MixAcc32VALVE";+ case SpvOpFDot2MixAcc16VALVE:+ return "OpFDot2MixAcc16VALVE";+ case SpvOpFDot4MixAcc32VALVE:+ return "OpFDot4MixAcc32VALVE";+ default:+ return "Unknown";+ }+}+ #endif /* SPV_ENABLE_UTILITY_CODE */ #endif
cbits/spirv_reflect.c view
@@ -42,20 +42,21 @@ // clang-format off enum {- SPIRV_STARTING_WORD_INDEX = 5,- SPIRV_WORD_SIZE = sizeof(uint32_t),- SPIRV_BYTE_WIDTH = 8,- SPIRV_MINIMUM_FILE_SIZE = SPIRV_STARTING_WORD_INDEX * SPIRV_WORD_SIZE,- SPIRV_DATA_ALIGNMENT = 4 * SPIRV_WORD_SIZE, // 16- SPIRV_ACCESS_CHAIN_INDEX_OFFSET = 4,+ SPIRV_STARTING_WORD_INDEX = 5,+ SPIRV_WORD_SIZE = sizeof(uint32_t),+ SPIRV_BYTE_WIDTH = 8,+ SPIRV_MINIMUM_FILE_SIZE = SPIRV_STARTING_WORD_INDEX * SPIRV_WORD_SIZE,+ SPIRV_DATA_ALIGNMENT = 4 * SPIRV_WORD_SIZE, // 16+ SPIRV_ACCESS_CHAIN_INDEX_OFFSET = 4,+ SPIRV_PHYSICAL_STORAGE_POINTER_SIZE = 8, // Pointers are defined as 64-bit }; enum {- INVALID_VALUE = 0xFFFFFFFF,+ INVALID_VALUE = (int)0xFFFFFFFF, }; enum {- MAX_NODE_NAME_LENGTH = 1024,+ MAX_NODE_NAME_LENGTH = 1024, // Number of unique PhysicalStorageBuffer structs tracked to detect recursion MAX_RECURSIVE_PHYSICAL_POINTER_CHECK = 128, };@@ -224,6 +225,7 @@ uint32_t type_count; uint32_t descriptor_count; uint32_t push_constant_count;+ uint32_t spec_constant_count; SpvReflectTypeDescription* physical_pointer_check[MAX_RECURSIVE_PHYSICAL_POINTER_CHECK]; uint32_t physical_pointer_count;@@ -686,7 +688,7 @@ if (node_word_count == 0) { return SPV_REFLECT_RESULT_ERROR_SPIRV_INVALID_INSTRUCTION; }- if (op == SpvOpAccessChain) {+ if (op == SpvOpAccessChain || op == SpvOpInBoundsAccessChain) { ++(p_parser->access_chain_count); } spirv_word_index += node_word_count;@@ -844,8 +846,11 @@ case SpvOpTypeAccelerationStructureKHR: case SpvOpTypeRayQueryKHR: case SpvOpTypeHitObjectNV:+ case SpvOpTypeHitObjectEXT:+ case SpvOpTypeCooperativeVectorNV: case SpvOpTypeCooperativeMatrixNV:- case SpvOpTypeCooperativeMatrixKHR: {+ case SpvOpTypeCooperativeMatrixKHR:+ case SpvOpTypeUntypedPointerKHR: { CHECKED_READU32(p_parser, p_node->word_offset + 1, p_node->result_id); p_node->is_type = true; } break;@@ -921,7 +926,8 @@ CHECKED_READU32(p_parser, p_node->word_offset + 2, p_node->result_id); } break; - case SpvOpVariable: {+ case SpvOpVariable:+ case SpvOpUntypedVariableKHR: { CHECKED_READU32(p_parser, p_node->word_offset + 1, p_node->type_id); CHECKED_READU32(p_parser, p_node->word_offset + 2, p_node->result_id); CHECKED_READU32(p_parser, p_node->word_offset + 3, p_node->storage_class);@@ -933,7 +939,8 @@ CHECKED_READU32(p_parser, p_node->word_offset + 2, p_node->result_id); } break; - case SpvOpAccessChain: {+ case SpvOpAccessChain:+ case SpvOpInBoundsAccessChain: { SpvReflectPrvAccessChain* p_access_chain = &(p_parser->access_chains[access_chain_index]); CHECKED_READU32(p_parser, p_node->word_offset + 1, p_access_chain->result_type_id); CHECKED_READU32(p_parser, p_node->word_offset + 2, p_access_chain->result_id);@@ -1344,7 +1351,7 @@ continue; } - if (member_index == INVALID_VALUE) {+ if (member_index == (uint32_t)INVALID_VALUE) { return SPV_REFLECT_RESULT_ERROR_RANGE_EXCEEDED; } @@ -1417,7 +1424,7 @@ return false; } -static SpvReflectResult ParseDecorations(SpvReflectPrvParser* p_parser, SpvReflectShaderModule* p_module) {+static SpvReflectResult ParseDecorations(SpvReflectPrvParser* p_parser) { uint32_t spec_constant_count = 0; for (uint32_t i = 0; i < p_parser->node_count; ++i) { SpvReflectPrvNode* p_node = &(p_parser->nodes[i]);@@ -1604,6 +1611,8 @@ } break; case SpvDecorationSpecId: {+ uint32_t word_offset = p_node->word_offset + member_offset + 3;+ CHECKED_READU32(p_parser, word_offset, p_target_decorations->spec_id); spec_constant_count++; } break; @@ -1717,31 +1726,7 @@ } } - if (spec_constant_count > 0) {- p_module->spec_constants = (SpvReflectSpecializationConstant*)calloc(spec_constant_count, sizeof(*p_module->spec_constants));- if (IsNull(p_module->spec_constants)) {- return SPV_REFLECT_RESULT_ERROR_ALLOC_FAILED;- }- }- for (uint32_t i = 0; i < p_parser->node_count; ++i) {- SpvReflectPrvNode* p_node = &(p_parser->nodes[i]);- if (p_node->op == SpvOpDecorate) {- uint32_t decoration = (uint32_t)INVALID_VALUE;- CHECKED_READU32(p_parser, p_node->word_offset + 2, decoration);- if (decoration == SpvDecorationSpecId) {- const uint32_t count = p_module->spec_constant_count;- CHECKED_READU32(p_parser, p_node->word_offset + 1, p_module->spec_constants[count].spirv_id);- CHECKED_READU32(p_parser, p_node->word_offset + 3, p_module->spec_constants[count].constant_id);- // If being used for a OpSpecConstantComposite (ex. LocalSizeId), there won't be a name- SpvReflectPrvNode* target_node = FindNode(p_parser, p_module->spec_constants[count].spirv_id);- if (IsNotNull(target_node)) {- p_module->spec_constants[count].name = target_node->name;- }- p_module->spec_constant_count++;- }- }- }-+ p_parser->spec_constant_count = spec_constant_count; return SPV_REFLECT_RESULT_SUCCESS; } @@ -1778,7 +1763,7 @@ SpvReflectTypeDescription* p_member_type = &(p_type->members[i]); p_member_type->id = (uint32_t)INVALID_VALUE; p_member_type->op = (SpvOp)INVALID_VALUE;- p_member_type->storage_class = (SpvStorageClass)INVALID_VALUE;+ p_member_type->storage_class = INVALID_VALUE; } } else { result = SPV_REFLECT_RESULT_ERROR_ALLOC_FAILED;@@ -1788,7 +1773,7 @@ if (result == SPV_REFLECT_RESULT_SUCCESS) { // Since the parse descends on type information, these will get overwritten // if not guarded against assignment. Only assign if the id is invalid.- if (p_type->id == INVALID_VALUE) {+ if (p_type->id == (uint32_t)INVALID_VALUE) { p_type->id = p_node->result_id; p_type->op = p_node->op; p_type->decoration_flags = 0;@@ -1986,6 +1971,13 @@ p_type->type_flags |= SPV_REFLECT_TYPE_FLAG_REF; IF_READU32_CAST(result, p_parser, p_node->word_offset + 2, SpvStorageClass, p_type->storage_class); + SpvReflectPrvNode* p_next_node = FindNode(p_parser, p_node->type_id);+ if (IsNull(p_next_node)) {+ result = SPV_REFLECT_RESULT_ERROR_SPIRV_INVALID_ID_REFERENCE;+ SPV_REFLECT_ASSERT(false);+ break;+ }+ bool found_recursion = false; if (p_type->storage_class == SpvStorageClassPhysicalStorageBuffer) { // Need to make sure we haven't started an infinite recursive loop@@ -1997,7 +1989,7 @@ return SPV_REFLECT_RESULT_SUCCESS; } }- if (!found_recursion) {+ if (!found_recursion && p_next_node->op == SpvOpTypeStruct) { p_parser->physical_pointer_struct_count++; p_parser->physical_pointer_check[p_parser->physical_pointer_count] = p_type; p_parser->physical_pointer_count++;@@ -2007,12 +1999,7 @@ } } - // Parse type- SpvReflectPrvNode* p_next_node = FindNode(p_parser, p_node->type_id);- if (IsNull(p_next_node)) {- result = SPV_REFLECT_RESULT_ERROR_SPIRV_INVALID_ID_REFERENCE;- SPV_REFLECT_ASSERT(false);- } else if (!found_recursion) {+ if (!found_recursion) { if (p_next_node->op == SpvOpTypeStruct) { p_type->struct_type_description = FindType(p_module, p_next_node->result_id); }@@ -2055,7 +2042,7 @@ SpvReflectTypeDescription* p_type = &(p_module->_internal->type_descriptions[i]); p_type->id = (uint32_t)INVALID_VALUE; p_type->op = (SpvOp)INVALID_VALUE;- p_type->storage_class = (SpvStorageClass)INVALID_VALUE;+ p_type->storage_class = INVALID_VALUE; } size_t type_index = 0;@@ -2141,7 +2128,7 @@ (p_node->storage_class != SpvStorageClassUniformConstant))) { continue; }- if ((p_node->decorations.set.value == INVALID_VALUE) || (p_node->decorations.binding.value == INVALID_VALUE)) {+ if ((p_node->decorations.set.value == (uint32_t)INVALID_VALUE) || (p_node->decorations.binding.value == (uint32_t)INVALID_VALUE)) { continue; } @@ -2176,7 +2163,7 @@ (p_node->storage_class != SpvStorageClassUniformConstant))) { continue; }- if ((p_node->decorations.set.value == INVALID_VALUE) || (p_node->decorations.binding.value == INVALID_VALUE)) {+ if ((p_node->decorations.set.value == (uint32_t)INVALID_VALUE) || (p_node->decorations.binding.value == (uint32_t)INVALID_VALUE)) { continue; } @@ -2188,7 +2175,8 @@ // from the pointer so that we can use it to deduce deescriptor types. SpvStorageClass pointer_storage_class = SpvStorageClassMax; if (p_type->op == SpvOpTypePointer) {- pointer_storage_class = p_type->storage_class;+ assert(p_type->storage_class != -1 && "Pointer types must have a valid storage class.");+ pointer_storage_class = (SpvStorageClass)p_type->storage_class; // Find the type's node SpvReflectPrvNode* p_type_node = FindNode(p_parser, p_type->id); if (IsNull(p_type_node)) {@@ -2544,15 +2532,19 @@ } } if (!found_recursion) {- uint32_t struct_id = FindType(p_module, p_member_type->id)->struct_type_description->id;- p_parser->physical_pointer_structs[p_parser->physical_pointer_struct_count].struct_id = struct_id;- p_parser->physical_pointer_structs[p_parser->physical_pointer_struct_count].p_var = p_member_var;- p_parser->physical_pointer_struct_count++;+ SpvReflectTypeDescription* struct_type = FindType(p_module, p_member_type->id);+ // could be pointer directly to non-struct type here+ if (struct_type->struct_type_description) {+ uint32_t struct_id = struct_type->struct_type_description->id;+ p_parser->physical_pointer_structs[p_parser->physical_pointer_struct_count].struct_id = struct_id;+ p_parser->physical_pointer_structs[p_parser->physical_pointer_struct_count].p_var = p_member_var;+ p_parser->physical_pointer_struct_count++; - p_parser->physical_pointer_check[p_parser->physical_pointer_count] = p_member_type;- p_parser->physical_pointer_count++;- if (p_parser->physical_pointer_count >= MAX_RECURSIVE_PHYSICAL_POINTER_CHECK) {- return SPV_REFLECT_RESULT_ERROR_SPIRV_MAX_RECURSIVE_EXCEEDED;+ p_parser->physical_pointer_check[p_parser->physical_pointer_count] = p_member_type;+ p_parser->physical_pointer_count++;+ if (p_parser->physical_pointer_count >= MAX_RECURSIVE_PHYSICAL_POINTER_CHECK) {+ return SPV_REFLECT_RESULT_ERROR_SPIRV_MAX_RECURSIVE_EXCEEDED;+ } } } @@ -2723,7 +2715,13 @@ if (IsNull(p_member_type)) { return SPV_REFLECT_RESULT_ERROR_SPIRV_INVALID_ID_REFERENCE; }- assert(p_member_type->op == SpvOpTypeStruct);++ // If we found a struct, we need to fall through and get the size of it or else we grab the size here+ if (p_member_type->op != SpvOpTypeStruct) {+ // If we hit this, we are seeing a POD pointer and the size is fixed+ p_member_var->size = SPIRV_PHYSICAL_STORAGE_POINTER_SIZE;+ break;+ } FALLTHROUGH; } @@ -2815,19 +2813,11 @@ p_var->flags &= ~SPV_REFLECT_VARIABLE_FLAGS_UNUSED; SpvOp op_type = p_var->type_description->op;- switch (op_type) {- default:- break;-- case SpvOpTypeArray: {- } break;-- case SpvOpTypeStruct: {- for (uint32_t i = 0; i < p_var->member_count; ++i) {- SpvReflectBlockVariable* p_member_var = &p_var->members[i];- MarkSelfAndAllMemberVarsAsUsed(p_member_var);- }- } break;+ if (op_type == SpvOpTypeStruct) {+ for (uint32_t i = 0; i < p_var->member_count; ++i) {+ SpvReflectBlockVariable* p_member_var = &p_var->members[i];+ MarkSelfAndAllMemberVarsAsUsed(p_member_var);+ } } } @@ -2944,7 +2934,10 @@ if (result != SPV_REFLECT_RESULT_SUCCESS) { return result; }- } else if (!is_pointer_to_pointer) {+ } else if (is_pointer_to_pointer) {+ // Clear UNUSED flag, but only for the pointer+ p_member_var->flags &= ~SPV_REFLECT_VARIABLE_FLAGS_UNUSED;+ } else { // Clear UNUSED flag for remaining variables MarkSelfAndAllMemberVarsAsUsed(p_member_var); }@@ -3382,7 +3375,7 @@ } static bool HasByteAddressBufferOffset(SpvReflectPrvNode* p_node, SpvReflectDescriptorBinding* p_binding) {- return IsNotNull(p_node) && IsNotNull(p_binding) && p_node->op == SpvOpAccessChain && p_node->word_count == 6 &&+ return IsNotNull(p_node) && IsNotNull(p_binding) && (p_node->op == SpvOpAccessChain || p_node->op == SpvOpInBoundsAccessChain) && p_node->word_count == 6 && (p_binding->user_type == SPV_REFLECT_USER_TYPE_BYTE_ADDRESS_BUFFER || p_binding->user_type == SPV_REFLECT_USER_TYPE_RW_BYTE_ADDRESS_BUFFER); }@@ -3437,7 +3430,7 @@ // All arithmetic ops takes 2 operands, assumption is the 2nd operand has the constant UNCHECKED_READU32(p_parser, p_next_node->word_offset + 4, base_id); uint32_t value = GetUint32Constant(p_parser, base_id);- if (value == INVALID_VALUE) {+ if (value == (uint32_t)INVALID_VALUE) { return not_found; } @@ -3560,14 +3553,22 @@ } used_acessed_count += p_parser->functions[j].accessed_variable_count; }- SpvReflectPrvAccessedVariable* p_used_accesses = NULL;- if (used_acessed_count > 0) {- p_used_accesses = (SpvReflectPrvAccessedVariable*)calloc(used_acessed_count, sizeof(SpvReflectPrvAccessedVariable));- if (IsNull(p_used_accesses)) {- SafeFree(p_called_functions);- return SPV_REFLECT_RESULT_ERROR_ALLOC_FAILED;- }++ // If there are no used accessed, this is something like an empty function/early return+ // Basically there is going to be nothing to reflect, but everything after this expects |p_used_accesses| to be allocated with+ // real memory, see https://github.com/KhronosGroup/SPIRV-Reflect/issues/319+ if (used_acessed_count == 0) {+ SafeFree(p_called_functions);+ return SPV_REFLECT_RESULT_SUCCESS; }++ SpvReflectPrvAccessedVariable* p_used_accesses =+ (SpvReflectPrvAccessedVariable*)calloc(used_acessed_count, sizeof(SpvReflectPrvAccessedVariable));+ if (IsNull(p_used_accesses)) {+ SafeFree(p_called_functions);+ return SPV_REFLECT_RESULT_ERROR_ALLOC_FAILED;+ }+ used_acessed_count = 0; for (size_t i = 0, j = 0; i < called_function_count; ++i) { while (p_parser->functions[j].id != p_called_functions[i]) {@@ -4015,7 +4016,7 @@ } p_push_constant->name = p_node->name;- result = ParseDescriptorBlockVariableSizes(p_parser, p_module, true, false, false, p_push_constant);+ result = ParseDescriptorBlockVariableSizes(p_parser, p_module, true, false, true, p_push_constant); if (result != SPV_REFLECT_RESULT_SUCCESS) { return result; }@@ -4034,6 +4035,63 @@ return SPV_REFLECT_RESULT_SUCCESS; } +static SpvReflectResult ParseSpecConstants(SpvReflectPrvParser* p_parser, SpvReflectShaderModule* p_module) {+ if (p_parser->spec_constant_count > 0) {+ p_module->spec_constants = (SpvReflectSpecializationConstant*)calloc(p_parser->spec_constant_count, sizeof(*p_module->spec_constants));+ if (IsNull(p_module->spec_constants)) {+ return SPV_REFLECT_RESULT_ERROR_ALLOC_FAILED;+ }+ } else {+ return SPV_REFLECT_RESULT_SUCCESS;+ }+ for (uint32_t i = 0; i < p_parser->node_count; ++i) {+ SpvReflectPrvNode* p_node = &(p_parser->nodes[i]);+ if (p_node->op == SpvOpDecorate) {+ uint32_t decoration = (uint32_t)INVALID_VALUE;+ CHECKED_READU32(p_parser, p_node->word_offset + 2, decoration);+ if (decoration == SpvDecorationSpecId) {+ SpvReflectSpecializationConstant* p_spec_constant = &(p_module->spec_constants[p_module->spec_constant_count]);+ CHECKED_READU32(p_parser, p_node->word_offset + 1, p_spec_constant->spirv_id);+ CHECKED_READU32(p_parser, p_node->word_offset + 3, p_spec_constant->constant_id);+ SpvReflectPrvNode* target_node = FindNode(p_parser, p_spec_constant->spirv_id);+ if (IsNotNull(target_node)) {+ // If being used for a OpSpecConstantComposite (ex. LocalSizeId), there won't be a name+ p_spec_constant->name = target_node->name;++ // During external specialization, Boolean values are true if non-zero and false if zero.+ static uint32_t true_value = 1;+ static uint32_t false_value = 0;+ switch (target_node->op) {+ default:+ // Unexpected, since Spec states:+ // (SpecId) Apply only to a scalar specialization constant+ SPV_REFLECT_ASSERT(false);+ return SPV_REFLECT_RESULT_ERROR_SPIRV_INVALID_INSTRUCTION;+ case SpvOpSpecConstantTrue:+ p_spec_constant->default_value_size = sizeof(uint32_t);+ p_spec_constant->default_value = &true_value;+ break;+ case SpvOpSpecConstantFalse:+ p_spec_constant->default_value_size = sizeof(uint32_t);+ p_spec_constant->default_value = &false_value;+ break;+ case SpvOpSpecConstant:+ p_spec_constant->default_value_size = (target_node->word_count - 3) * sizeof(uint32_t);+ p_spec_constant->default_value = p_parser->spirv_code + target_node->word_offset + 3;+ break;+ }+ p_spec_constant->type_description = FindType(p_module, target_node->result_type_id);+ } else {+ // Decoration target not found+ return SPV_REFLECT_RESULT_ERROR_SPIRV_INVALID_ID_REFERENCE;+ }+ p_module->spec_constant_count++;+ }+ }+ }+ return SPV_REFLECT_RESULT_SUCCESS;+}+ static int SortCompareDescriptorSet(const void* a, const void* b) { const SpvReflectDescriptorSet* p_elem_a = (const SpvReflectDescriptorSet*)a; const SpvReflectDescriptorSet* p_elem_b = (const SpvReflectDescriptorSet*)b;@@ -4286,7 +4344,7 @@ SPV_REFLECT_ASSERT(result == SPV_REFLECT_RESULT_SUCCESS); } if (result == SPV_REFLECT_RESULT_SUCCESS) {- result = ParseDecorations(&parser, p_module);+ result = ParseDecorations(&parser); SPV_REFLECT_ASSERT(result == SPV_REFLECT_RESULT_SUCCESS); } @@ -4328,6 +4386,10 @@ SPV_REFLECT_ASSERT(result == SPV_REFLECT_RESULT_SUCCESS); } if (result == SPV_REFLECT_RESULT_SUCCESS) {+ result = ParseSpecConstants(&parser, p_module);+ SPV_REFLECT_ASSERT(result == SPV_REFLECT_RESULT_SUCCESS);+ }+ if (result == SPV_REFLECT_RESULT_SUCCESS) { result = ParseEntryPoints(&parser, p_module); SPV_REFLECT_ASSERT(result == SPV_REFLECT_RESULT_SUCCESS); }@@ -5005,7 +5067,7 @@ const SpvReflectInterfaceVariable* spvReflectGetInputVariableByLocation(const SpvReflectShaderModule* p_module, uint32_t location, SpvReflectResult* p_result) {- if (location == INVALID_VALUE) {+ if (location == (uint32_t)INVALID_VALUE) { if (IsNotNull(p_result)) { *p_result = SPV_REFLECT_RESULT_ERROR_ELEMENT_NOT_FOUND; }@@ -5035,7 +5097,7 @@ const SpvReflectInterfaceVariable* spvReflectGetEntryPointInputVariableByLocation(const SpvReflectShaderModule* p_module, const char* entry_point, uint32_t location, SpvReflectResult* p_result) {- if (location == INVALID_VALUE) {+ if (location == (uint32_t)INVALID_VALUE) { if (IsNotNull(p_result)) { *p_result = SPV_REFLECT_RESULT_ERROR_ELEMENT_NOT_FOUND; }@@ -5138,7 +5200,7 @@ const SpvReflectInterfaceVariable* spvReflectGetOutputVariableByLocation(const SpvReflectShaderModule* p_module, uint32_t location, SpvReflectResult* p_result) {- if (location == INVALID_VALUE) {+ if (location == (uint32_t)INVALID_VALUE) { if (IsNotNull(p_result)) { *p_result = SPV_REFLECT_RESULT_ERROR_ELEMENT_NOT_FOUND; }@@ -5168,7 +5230,7 @@ const SpvReflectInterfaceVariable* spvReflectGetEntryPointOutputVariableByLocation(const SpvReflectShaderModule* p_module, const char* entry_point, uint32_t location, SpvReflectResult* p_result) {- if (location == INVALID_VALUE) {+ if (location == (uint32_t)INVALID_VALUE) { if (IsNotNull(p_result)) { *p_result = SPV_REFLECT_RESULT_ERROR_ELEMENT_NOT_FOUND; }@@ -5466,6 +5528,14 @@ return "Hero C"; case SpvSourceLanguageNZSL: return "NZSL";+ case SpvSourceLanguageWGSL:+ return "WGSL";+ case SpvSourceLanguageSlang:+ return "Slang";+ case SpvSourceLanguageZig:+ return "Zig";+ case SpvSourceLanguageRust:+ return "Rust"; default: break; }
cbits/spirv_reflect.h view
@@ -325,6 +325,7 @@ SPV_REFLECT_GENERATOR_KHRONOS_SPIRV_TOOLS_LINKER = 17, SPV_REFLECT_GENERATOR_WINE_VKD3D_SHADER_COMPILER = 18, SPV_REFLECT_GENERATOR_CLAY_CLAY_SHADER_COMPILER = 19,+ SPV_REFLECT_GENERATOR_SLANG_SHADER_COMPILER = 40, } SpvReflectGenerator; enum {@@ -393,7 +394,9 @@ const char* type_name; // Non-NULL if type is member of a struct const char* struct_member_name;- SpvStorageClass storage_class;++ // The storage class (SpvStorageClass) if the type, and -1 if it does not have a storage class.+ int storage_class; SpvReflectTypeFlags type_flags; SpvReflectDecorationFlags decoration_flags; @@ -429,7 +432,9 @@ SpvStorageClass storage_class; const char* semantic; SpvReflectDecorationFlags decoration_flags;- SpvBuiltIn built_in;++ // The builtin id (SpvBuiltIn) if the variable is a builtin, and -1 otherwise.+ int built_in; SpvReflectNumericTraits numeric; SpvReflectArrayTraits array; @@ -519,7 +524,7 @@ } SpvReflectDescriptorSet; typedef enum SpvReflectExecutionModeValue {- SPV_REFLECT_EXECUTION_MODE_SPEC_CONSTANT = 0xFFFFFFFF // specialization constant+ SPV_REFLECT_EXECUTION_MODE_SPEC_CONSTANT = (int)0xFFFFFFFF // specialization constant } SpvReflectExecutionModeValue; /*! @struct SpvReflectEntryPoint@@ -575,6 +580,21 @@ uint32_t spirv_id; uint32_t constant_id; const char* name;+ SpvReflectTypeDescription* type_description;++ // Size of the default value in bytes (always a multiple of 4).+ // Will be 4 for 8/16/32-bit constants and 8 for 64-bit constants.+ uint32_t default_value_size;++ // Pointer to the raw default value data. + // The interpretation of this data depends on type_description->op: + // - SpvOpSpecConstantTrue: size = 4, data = uint32_t(1) + // - SpvOpSpecConstantFalse: size = 4, data = uint32_t(0) + // - SpvOpSpecConstant: data contains the bit pattern of the default value + // * The type will be a scalar integer or float.+ // * Types 32 bits wide or smaller take one word. + // * Larger types take multiple words, with low-order words appearing first. + void* default_value; } SpvReflectSpecializationConstant; /*! @struct SpvReflectShaderModule
lib/Data/SpirV/Reflect/FFI/Internal.chs view
@@ -15,11 +15,12 @@ import Data.Vector qualified as Vector import Data.Vector.Algorithms.Heap qualified as Heap import Data.Word (Word32)+import Data.IORef (IORef, newIORef, readIORef, modifyIORef') import Foreign.C.String (CString) import Foreign.C.Types (CULong) import Foreign.Marshal.Utils (maybePeek) import Foreign.Ptr (Ptr, castPtr, plusPtr, nullPtr)-import Foreign.Storable (peek)+import Foreign.Storable (peek, peekElemOff) import GHC.Ptr qualified as GHC import Data.SpirV.Reflect.BlockVariable (BlockVariable)@@ -253,120 +254,212 @@ name <- inflateMaybe "" inflateText $ {#get SpvReflectSpecializationConstant->name #} sc + type_description <-+ {#get SpvReflectSpecializationConstant->type_description #} sc >>=+ maybePeek inflateTypeDescription++ default_value <- do+ size <- inflateIntegral $+ {#get SpvReflectSpecializationConstant->default_value_size #} sc+ valuePtr <- {#get SpvReflectSpecializationConstant->default_value #} sc+ if valuePtr == nullPtr then+ pure Vector.empty+ else+ -- default_value_size is a byte count, always a multiple of 4; copy it out+ -- as 32-bit words (low-order word first) while the SPIR-V buffer is alive.+ Vector.generateM (size `div` 4) $+ peekElemOff (castPtr valuePtr)+ pure SpecializationConstant.SpecializationConstant {..} {#pointer *SpvReflectBlockVariable as BlockVariablePtr #} inflateBlockVariable :: BlockVariablePtr -> IO BlockVariable-inflateBlockVariable bv = do- spirv_id <- fmap just . inflateIntegral $- {#get SpvReflectBlockVariable->spirv_id #} bv+inflateBlockVariable bv0 = do+ cache <- newIORef []+ inflateBlockVariableCached cache bv0 - name <- inflateMaybe "" inflateText $- {#get SpvReflectBlockVariable->name #} bv+-- | Inflate a 'BlockVariable', breaking cycles the same way+-- 'inflateTypeDescriptionCached' does. A @buffer_reference@ /+-- @PhysicalStorageBuffer@ member points back into its own block, so a naive deep+-- copy of @members@ never terminates. We three-colour keyed by the+-- 'SpvReflectBlockVariable' pointer (as for 'TypeDescription'): the C side builds+-- the recursive block as a cyclic graph of shared pointers, so pointer identity+-- detects the back-edge, and — unlike @spirv_id@, which is 0 for every member —+-- it never conflates two distinct members (each carries its own @offset@/@name@).+-- A back-edge into a block still on the current path becomes a shallow node (no+-- members), so acyclic shaders are unchanged while recursive ones stay finite.+inflateBlockVariableCached+ :: IORef [(BlockVariablePtr, Maybe BlockVariable)]+ -> BlockVariablePtr+ -> IO BlockVariable+inflateBlockVariableCached cache bv = do+ colour <- fmap (lookup bv) (readIORef cache)+ case colour of+ Just (Just black) ->+ pure black+ _grey_or_white -> do+ spirv_id <- fmap just . inflateIntegral $+ {#get SpvReflectBlockVariable->spirv_id #} bv - offset <- inflateIntegral $- {#get SpvReflectBlockVariable->offset #} bv+ name <- inflateMaybe "" inflateText $+ {#get SpvReflectBlockVariable->name #} bv - absolute_offset <- inflateIntegral $- {#get SpvReflectBlockVariable->absolute_offset #} bv+ offset <- inflateIntegral $+ {#get SpvReflectBlockVariable->offset #} bv - size <- inflateIntegral $- {#get SpvReflectBlockVariable->size #} bv+ absolute_offset <- inflateIntegral $+ {#get SpvReflectBlockVariable->absolute_offset #} bv - padded_size <- inflateIntegral $- {#get SpvReflectBlockVariable->padded_size #} bv+ size <- inflateIntegral $+ {#get SpvReflectBlockVariable->size #} bv - decorations <- inflateFlags32 $- {#get SpvReflectBlockVariable->decoration_flags #} bv+ padded_size <- inflateIntegral $+ {#get SpvReflectBlockVariable->padded_size #} bv - numeric <-- inflateNumericTraits- bv- {#offsetof SpvReflectBlockVariable->numeric #}+ decorations <- inflateFlags32 $+ {#get SpvReflectBlockVariable->decoration_flags #} bv - array <-- inflateArrayTraits- bv- {#offsetof SpvReflectBlockVariable->array #}+ numeric <-+ inflateNumericTraits+ bv+ {#offsetof SpvReflectBlockVariable->numeric #} - members <-- inflateVector- ({#get SpvReflectBlockVariable->member_count #} bv)- ({#get SpvReflectBlockVariable->members #} bv)- {#sizeof SpvReflectBlockVariable #}- inflateBlockVariable+ array <-+ inflateArrayTraits+ bv+ {#offsetof SpvReflectBlockVariable->array #} - type_description <-- {#get SpvReflectBlockVariable->type_description #} bv >>=- maybePeek inflateTypeDescription+ word_offset <-+ fmap (Just . BlockVariable.WordOffset) . inflateIntegral $+ {#get SpvReflectBlockVariable->word_offset.offset #} bv - word_offset <-- fmap (Just . BlockVariable.WordOffset) . inflateIntegral $- {#get SpvReflectBlockVariable->word_offset.offset #} bv+ case colour of+ Just Nothing ->+ -- grey: a back-edge into a block still being inflated; cut the cycle.+ pure BlockVariable.BlockVariable+ {spirv_id, members=Vector.empty, type_description=Nothing, ..}+ _white -> do+ modifyIORef' cache ((bv, Nothing) :) -- mark grey before descending - pure BlockVariable.BlockVariable{..}+ members <-+ inflateVector+ ({#get SpvReflectBlockVariable->member_count #} bv)+ ({#get SpvReflectBlockVariable->members #} bv)+ {#sizeof SpvReflectBlockVariable #}+ (inflateBlockVariableCached cache) + type_description <-+ {#get SpvReflectBlockVariable->type_description #} bv >>=+ maybePeek inflateTypeDescription++ let result = BlockVariable.BlockVariable{spirv_id, ..}+ modifyIORef' cache ((bv, Just result) :) -- mark black, memoise+ pure result+ {#pointer *SpvReflectTypeDescription as TypeDescriptionPtr #} inflateTypeDescription :: TypeDescriptionPtr -> IO TypeDescription-inflateTypeDescription td = do- id_ <- fmap just . inflateIntegral $- {#get SpvReflectTypeDescription->id #} td+inflateTypeDescription td0 = do+ cache <- newIORef []+ inflateTypeDescriptionCached cache td0 - op <- fmap (just . SpirV.Op) . inflateIntegral $- {#get SpvReflectTypeDescription->op #} td+-- | Inflate a 'TypeDescription', breaking self-referential cycles.+--+-- Mutually recursive @buffer_reference@ / @PhysicalStorageBuffer@ pointer types+-- form a cyclic graph (a struct whose members point back at it through+-- 'struct_type_description' / 'members'). The C side keeps types in a flat list+-- linked by reference, but here we copy the graph into a tree, so a naive deep+-- copy never terminates.+--+-- We walk the graph as a DFS with three-colouring, keyed by the+-- 'SpvReflectTypeDescription' pointer (identity is by pointer, not @id@: the C+-- side reuses one @id@ across a canonical type and its copied references):+--+-- * /white/ (unseen): expand fully, recursing into children.+-- * /grey/ (on the current path): a genuine back-edge — emit a shallow node+-- (scalar fields only, no children) to cut the cycle.+-- * /black/ (already finished): return the cached value, so a type referenced+-- more than once is built only once and shared.+--+-- Acyclic shaders never hit a grey node, and black hits return the same fully+-- expanded value, so their result is byte-for-byte unchanged while recursive+-- shaders stay finite (each distinct node is inflated at most once).+inflateTypeDescriptionCached+ :: IORef [(TypeDescriptionPtr, Maybe TypeDescription)]+ -> TypeDescriptionPtr+ -> IO TypeDescription+inflateTypeDescriptionCached cache td = do+ colour <- fmap (lookup td) (readIORef cache)+ case colour of+ Just (Just black) ->+ pure black+ _grey_or_white -> do+ id_ <- fmap just . inflateIntegral $+ {#get SpvReflectTypeDescription->id #} td - type_name <- inflateMaybe "" inflateText $- {#get SpvReflectTypeDescription->type_name #} td+ op <- fmap (just . SpirV.Op) . inflateIntegral $+ {#get SpvReflectTypeDescription->op #} td - struct_member_name <- inflateMaybe "" inflateText $- {#get SpvReflectTypeDescription->struct_member_name #} td+ type_name <- inflateMaybe "" inflateText $+ {#get SpvReflectTypeDescription->type_name #} td - storage_class <- fmap SpirV.StorageClass . inflateIntegral $- {#get SpvReflectTypeDescription->storage_class #} td+ struct_member_name <- inflateMaybe "" inflateText $+ {#get SpvReflectTypeDescription->struct_member_name #} td - type_flags <- inflateFlags32 $- {#get SpvReflectTypeDescription->type_flags #} td+ storage_class <- fmap SpirV.StorageClass . inflateIntegral $+ {#get SpvReflectTypeDescription->storage_class #} td - numeric <-- inflateNumericTraits- td- {#offsetof SpvReflectTypeDescription->traits.numeric #}+ type_flags <- inflateFlags32 $+ {#get SpvReflectTypeDescription->type_flags #} td - image <-- inflateImageTraits- td- {#offsetof SpvReflectTypeDescription->traits.image #}+ numeric <-+ inflateNumericTraits+ td+ {#offsetof SpvReflectTypeDescription->traits.numeric #} - array <-- inflateArrayTraits- td- {#offsetof SpvReflectTypeDescription->traits.array #}+ image <-+ inflateImageTraits+ td+ {#offsetof SpvReflectTypeDescription->traits.image #} - let- traits' = Just TypeDescription.Traits{..}- traits = if traits' == Just TypeDescription.emptyTraits then Nothing else traits'+ array <-+ inflateArrayTraits+ td+ {#offsetof SpvReflectTypeDescription->traits.array #} - struct_type_description <-- {#get SpvReflectTypeDescription->struct_type_description #} td >>=- maybePeek inflateTypeDescription+ let+ traits' = Just TypeDescription.Traits{..}+ traits = if traits' == Just TypeDescription.emptyTraits then Nothing else traits' - copied <-- fmap (\n -> if n > 0 then Just n else Nothing) . inflateIntegral $- {#get SpvReflectTypeDescription->copied #} td+ copied <-+ fmap (\n -> if n > 0 then Just n else Nothing) . inflateIntegral $+ {#get SpvReflectTypeDescription->copied #} td - -- XXX: deprecated, but struct_type_description isn't always available for structs- -- BUG: trips up on recusive types- members <-- inflateVector- ({#get SpvReflectTypeDescription->member_count #} td)- ({#get SpvReflectTypeDescription->members #} td)- {#sizeof SpvReflectTypeDescription #}- inflateTypeDescription+ case colour of+ Just Nothing -> do+ -- grey: a back-edge into a type still being inflated; cut the cycle.+ pure TypeDescription.TypeDescription+ {id=id_, struct_type_description=Nothing, members=Vector.empty, ..}+ _white -> do+ modifyIORef' cache ((td, Nothing) :) -- mark grey before descending - pure TypeDescription.TypeDescription{id=id_, ..}+ struct_type_description <-+ {#get SpvReflectTypeDescription->struct_type_description #} td >>=+ maybePeek (inflateTypeDescriptionCached cache) + -- XXX: deprecated, but struct_type_description isn't always available for structs+ members <-+ inflateVector+ ({#get SpvReflectTypeDescription->member_count #} td)+ ({#get SpvReflectTypeDescription->members #} td)+ {#sizeof SpvReflectTypeDescription #}+ (inflateTypeDescriptionCached cache)++ let result = TypeDescription.TypeDescription{id=id_, ..}+ modifyIORef' cache ((td, Just result) :) -- mark black, memoise+ pure result+ {#pointer *SpvReflectDescriptorSet as DescriptorSetPtr #} inflateDescriptorSet :: DescriptorSetPtr -> IO DescriptorSet@@ -409,7 +502,9 @@ decoration_flags <- inflateFlags32 $ {#get SpvReflectInterfaceVariable->decoration_flags #} iv - built_in <- inflateMaybe (SpirV.BuiltIn maxBound) (fmap SpirV.BuiltIn . inflateIntegral) $+ -- SPIRV-Reflect's invalid sentinel is 0xFFFFFFFF, which decodes to BuiltIn (-1)+ -- a non-built-in variable becomes Nothing.+ built_in <- inflateMaybe (SpirV.BuiltIn (-1)) (fmap SpirV.BuiltIn . inflateIntegral) $ {#get SpvReflectInterfaceVariable->built_in #} iv numeric <-
spirv-reflect-ffi.cabal view
@@ -1,11 +1,11 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.36.0.+-- This file has been generated from package.yaml by hpack version 0.39.1. -- -- see: https://github.com/sol/hpack name: spirv-reflect-ffi-version: 0.3+version: 0.4 synopsis: C-library loader for spirv-reflect tool. category: Graphics author: IC Rainbow@@ -58,10 +58,10 @@ build-tools: c2hs build-depends:- base >=4.7 && <5+ base >=4.16 && <5 , bytestring- , spirv-enum ==0.1.*- , spirv-reflect-types ==0.3.*+ , spirv-enum >=0.1 && <2+ , spirv-reflect-types ==0.4.* , text , vector , vector-algorithms@@ -90,7 +90,7 @@ StrictData TypeApplications build-depends:- base >=4.7 && <5+ base >=4.16 && <5 , directory , filepath , spirv-reflect-ffi