| /* |
| ** 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 |
| ** |
| ** - 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 |
| ** |
| ** 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 0x10500 |
| #define SPV_REVISION 3 |
| |
| static const unsigned int SpvMagicNumber = 0x07230203; |
| static const unsigned int SpvVersion = 0x00010500; |
| static const unsigned int SpvRevision = 3; |
| 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, |
| 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, |
| 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, |
| SpvExecutionModePostDepthCoverage = 4446, |
| SpvExecutionModeDenormPreserve = 4459, |
| SpvExecutionModeDenormFlushToZero = 4460, |
| SpvExecutionModeSignedZeroInfNanPreserve = 4461, |
| SpvExecutionModeRoundingModeRTE = 4462, |
| SpvExecutionModeRoundingModeRTZ = 4463, |
| SpvExecutionModeStencilRefReplacingEXT = 5027, |
| SpvExecutionModeOutputLinesNV = 5269, |
| SpvExecutionModeOutputPrimitivesNV = 5270, |
| SpvExecutionModeDerivativeGroupQuadsNV = 5289, |
| SpvExecutionModeDerivativeGroupLinearNV = 5290, |
| SpvExecutionModeOutputTrianglesNV = 5298, |
| SpvExecutionModePixelInterlockOrderedEXT = 5366, |
| SpvExecutionModePixelInterlockUnorderedEXT = 5367, |
| SpvExecutionModeSampleInterlockOrderedEXT = 5368, |
| SpvExecutionModeSampleInterlockUnorderedEXT = 5369, |
| SpvExecutionModeShadingRateInterlockOrderedEXT = 5370, |
| SpvExecutionModeShadingRateInterlockUnorderedEXT = 5371, |
| SpvExecutionModeMaxWorkgroupSizeINTEL = 5893, |
| SpvExecutionModeMaxWorkDimINTEL = 5894, |
| SpvExecutionModeNoGlobalOffsetINTEL = 5895, |
| SpvExecutionModeNumSIMDWorkitemsINTEL = 5896, |
| 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, |
| 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, |
| SpvStorageClassCodeSectionINTEL = 5605, |
| SpvStorageClassMax = 0x7fffffff, |
| } SpvStorageClass; |
| |
| typedef enum SpvDim_ { |
| SpvDim1D = 0, |
| SpvDim2D = 1, |
| SpvDim3D = 2, |
| SpvDimCube = 3, |
| SpvDimRect = 4, |
| SpvDimBuffer = 5, |
| SpvDimSubpassData = 6, |
| 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, |
| 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, |
| 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, |
| 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, |
| } SpvImageOperandsMask; |
| |
| typedef enum SpvFPFastMathModeShift_ { |
| SpvFPFastMathModeNotNaNShift = 0, |
| SpvFPFastMathModeNotInfShift = 1, |
| SpvFPFastMathModeNSZShift = 2, |
| SpvFPFastMathModeAllowRecipShift = 3, |
| SpvFPFastMathModeFastShift = 4, |
| SpvFPFastMathModeMax = 0x7fffffff, |
| } SpvFPFastMathModeShift; |
| |
| typedef enum SpvFPFastMathModeMask_ { |
| SpvFPFastMathModeMaskNone = 0, |
| SpvFPFastMathModeNotNaNMask = 0x00000001, |
| SpvFPFastMathModeNotInfMask = 0x00000002, |
| SpvFPFastMathModeNSZMask = 0x00000004, |
| SpvFPFastMathModeAllowRecipMask = 0x00000008, |
| SpvFPFastMathModeFastMask = 0x00000010, |
| } SpvFPFastMathModeMask; |
| |
| typedef enum SpvFPRoundingMode_ { |
| SpvFPRoundingModeRTE = 0, |
| SpvFPRoundingModeRTZ = 1, |
| SpvFPRoundingModeRTP = 2, |
| SpvFPRoundingModeRTN = 3, |
| SpvFPRoundingModeMax = 0x7fffffff, |
| } SpvFPRoundingMode; |
| |
| typedef enum SpvLinkageType_ { |
| SpvLinkageTypeExport = 0, |
| SpvLinkageTypeImport = 1, |
| 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, |
| 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, |
| SpvDecorationExplicitInterpAMD = 4999, |
| SpvDecorationOverrideCoverageNV = 5248, |
| SpvDecorationPassthroughNV = 5250, |
| SpvDecorationViewportRelativeNV = 5252, |
| SpvDecorationSecondaryViewportRelativeNV = 5256, |
| SpvDecorationPerPrimitiveNV = 5271, |
| SpvDecorationPerViewNV = 5272, |
| SpvDecorationPerTaskNV = 5273, |
| SpvDecorationPerVertexNV = 5285, |
| SpvDecorationNonUniform = 5300, |
| SpvDecorationNonUniformEXT = 5300, |
| SpvDecorationRestrictPointer = 5355, |
| SpvDecorationRestrictPointerEXT = 5355, |
| SpvDecorationAliasedPointer = 5356, |
| SpvDecorationAliasedPointerEXT = 5356, |
| SpvDecorationReferencedIndirectlyINTEL = 5602, |
| SpvDecorationCounterBuffer = 5634, |
| SpvDecorationHlslCounterBufferGOOGLE = 5634, |
| SpvDecorationHlslSemanticGOOGLE = 5635, |
| SpvDecorationUserSemantic = 5635, |
| SpvDecorationUserTypeGOOGLE = 5636, |
| SpvDecorationRegisterINTEL = 5825, |
| SpvDecorationMemoryINTEL = 5826, |
| SpvDecorationNumbanksINTEL = 5827, |
| SpvDecorationBankwidthINTEL = 5828, |
| SpvDecorationMaxPrivateCopiesINTEL = 5829, |
| SpvDecorationSinglepumpINTEL = 5830, |
| SpvDecorationDoublepumpINTEL = 5831, |
| SpvDecorationMaxReplicatesINTEL = 5832, |
| SpvDecorationSimpleDualPortINTEL = 5833, |
| SpvDecorationMergeINTEL = 5834, |
| SpvDecorationBankBitsINTEL = 5835, |
| SpvDecorationForcePow2DepthINTEL = 5836, |
| 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, |
| 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, |
| SpvBuiltInDeviceIndex = 4438, |
| SpvBuiltInViewIndex = 4440, |
| 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, |
| SpvBuiltInBaryCoordNV = 5286, |
| SpvBuiltInBaryCoordNoPerspNV = 5287, |
| SpvBuiltInFragSizeEXT = 5292, |
| SpvBuiltInFragmentSizeNV = 5292, |
| SpvBuiltInFragInvocationCountEXT = 5293, |
| SpvBuiltInInvocationsPerPixelNV = 5293, |
| 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, |
| SpvBuiltInHitTKHR = 5332, |
| SpvBuiltInHitTNV = 5332, |
| SpvBuiltInHitKindKHR = 5333, |
| SpvBuiltInHitKindNV = 5333, |
| SpvBuiltInIncomingRayFlagsKHR = 5351, |
| SpvBuiltInIncomingRayFlagsNV = 5351, |
| SpvBuiltInRayGeometryIndexKHR = 5352, |
| SpvBuiltInWarpsPerSMNV = 5374, |
| SpvBuiltInSMCountNV = 5375, |
| SpvBuiltInWarpIDNV = 5376, |
| SpvBuiltInSMIDNV = 5377, |
| 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, |
| 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, |
| } SpvLoopControlMask; |
| |
| typedef enum SpvFunctionControlShift_ { |
| SpvFunctionControlInlineShift = 0, |
| SpvFunctionControlDontInlineShift = 1, |
| SpvFunctionControlPureShift = 2, |
| SpvFunctionControlConstShift = 3, |
| SpvFunctionControlMax = 0x7fffffff, |
| } SpvFunctionControlShift; |
| |
| typedef enum SpvFunctionControlMask_ { |
| SpvFunctionControlMaskNone = 0, |
| SpvFunctionControlInlineMask = 0x00000001, |
| SpvFunctionControlDontInlineMask = 0x00000002, |
| SpvFunctionControlPureMask = 0x00000004, |
| SpvFunctionControlConstMask = 0x00000008, |
| } 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, |
| 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, |
| } 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, |
| SpvCapabilitySubgroupBallotKHR = 4423, |
| SpvCapabilityDrawParameters = 4427, |
| 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, |
| SpvCapabilityRayTraversalPrimitiveCullingProvisionalKHR = 4478, |
| SpvCapabilityFloat16ImageAMD = 5008, |
| SpvCapabilityImageGatherBiasLodAMD = 5009, |
| SpvCapabilityFragmentMaskAMD = 5010, |
| SpvCapabilityStencilExportEXT = 5013, |
| SpvCapabilityImageReadWriteLodAMD = 5015, |
| SpvCapabilityShaderClockKHR = 5055, |
| SpvCapabilitySampleMaskOverrideCoverageNV = 5249, |
| SpvCapabilityGeometryShaderPassthroughNV = 5251, |
| SpvCapabilityShaderViewportIndexLayerEXT = 5254, |
| SpvCapabilityShaderViewportIndexLayerNV = 5254, |
| SpvCapabilityShaderViewportMaskNV = 5255, |
| SpvCapabilityShaderStereoViewNV = 5259, |
| SpvCapabilityPerViewAttributesNV = 5260, |
| SpvCapabilityFragmentFullyCoveredEXT = 5265, |
| SpvCapabilityMeshShadingNV = 5266, |
| SpvCapabilityImageFootprintNV = 5282, |
| 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, |
| SpvCapabilityRayTracingNV = 5340, |
| 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, |
| SpvCapabilityDemoteToHelperInvocationEXT = 5379, |
| SpvCapabilitySubgroupShuffleINTEL = 5568, |
| SpvCapabilitySubgroupBufferBlockIOINTEL = 5569, |
| SpvCapabilitySubgroupImageBlockIOINTEL = 5570, |
| SpvCapabilitySubgroupImageMediaBlockIOINTEL = 5579, |
| SpvCapabilityIntegerFunctions2INTEL = 5584, |
| SpvCapabilityFunctionPointersINTEL = 5603, |
| SpvCapabilityIndirectReferencesINTEL = 5604, |
| SpvCapabilitySubgroupAvcMotionEstimationINTEL = 5696, |
| SpvCapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697, |
| SpvCapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698, |
| SpvCapabilityFPGAMemoryAttributesINTEL = 5824, |
| SpvCapabilityUnstructuredLoopControlsINTEL = 5886, |
| SpvCapabilityFPGALoopControlsINTEL = 5888, |
| SpvCapabilityKernelAttributesINTEL = 5892, |
| SpvCapabilityFPGAKernelAttributesINTEL = 5897, |
| SpvCapabilityBlockingPipesINTEL = 5945, |
| SpvCapabilityFPGARegINTEL = 5948, |
| SpvCapabilityAtomicFloat32AddEXT = 6033, |
| SpvCapabilityAtomicFloat64AddEXT = 6034, |
| 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, |
| 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, |
| } 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 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, |
| SpvOpTerminateInvocation = 4416, |
| SpvOpSubgroupBallotKHR = 4421, |
| SpvOpSubgroupFirstInvocationKHR = 4422, |
| SpvOpSubgroupAllKHR = 4428, |
| SpvOpSubgroupAnyKHR = 4429, |
| SpvOpSubgroupAllEqualKHR = 4430, |
| SpvOpSubgroupReadInvocationKHR = 4432, |
| SpvOpTypeRayQueryProvisionalKHR = 4472, |
| SpvOpRayQueryInitializeKHR = 4473, |
| SpvOpRayQueryTerminateKHR = 4474, |
| SpvOpRayQueryGenerateIntersectionKHR = 4475, |
| SpvOpRayQueryConfirmIntersectionKHR = 4476, |
| SpvOpRayQueryProceedKHR = 4477, |
| SpvOpRayQueryGetIntersectionTypeKHR = 4479, |
| SpvOpGroupIAddNonUniformAMD = 5000, |
| SpvOpGroupFAddNonUniformAMD = 5001, |
| SpvOpGroupFMinNonUniformAMD = 5002, |
| SpvOpGroupUMinNonUniformAMD = 5003, |
| SpvOpGroupSMinNonUniformAMD = 5004, |
| SpvOpGroupFMaxNonUniformAMD = 5005, |
| SpvOpGroupUMaxNonUniformAMD = 5006, |
| SpvOpGroupSMaxNonUniformAMD = 5007, |
| SpvOpFragmentMaskFetchAMD = 5011, |
| SpvOpFragmentFetchAMD = 5012, |
| SpvOpReadClockKHR = 5056, |
| SpvOpImageSampleFootprintNV = 5283, |
| SpvOpGroupNonUniformPartitionNV = 5296, |
| SpvOpWritePackedPrimitiveIndices4x8NV = 5299, |
| SpvOpReportIntersectionKHR = 5334, |
| SpvOpReportIntersectionNV = 5334, |
| SpvOpIgnoreIntersectionKHR = 5335, |
| SpvOpIgnoreIntersectionNV = 5335, |
| SpvOpTerminateRayKHR = 5336, |
| SpvOpTerminateRayNV = 5336, |
| SpvOpTraceNV = 5337, |
| SpvOpTraceRayKHR = 5337, |
| SpvOpTypeAccelerationStructureKHR = 5341, |
| SpvOpTypeAccelerationStructureNV = 5341, |
| SpvOpExecuteCallableKHR = 5344, |
| SpvOpExecuteCallableNV = 5344, |
| SpvOpTypeCooperativeMatrixNV = 5358, |
| SpvOpCooperativeMatrixLoadNV = 5359, |
| SpvOpCooperativeMatrixStoreNV = 5360, |
| SpvOpCooperativeMatrixMulAddNV = 5361, |
| SpvOpCooperativeMatrixLengthNV = 5362, |
| SpvOpBeginInvocationInterlockEXT = 5364, |
| SpvOpEndInvocationInterlockEXT = 5365, |
| SpvOpDemoteToHelperInvocationEXT = 5380, |
| SpvOpIsHelperInvocationEXT = 5381, |
| 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, |
| SpvOpFunctionPointerINTEL = 5600, |
| SpvOpFunctionPointerCallINTEL = 5601, |
| 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, |
| SpvOpLoopControlINTEL = 5887, |
| 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, |
| SpvOpMax = 0x7fffffff, |
| } SpvOp; |
| |
| #ifdef SPV_ENABLE_UTILITY_CODE |
| 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 SpvOpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break; |
| case SpvOpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break; |
| case SpvOpTerminateInvocation: *hasResult = false; *hasResultType = false; break; |
| case SpvOpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break; |
| case SpvOpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break; |
| case SpvOpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break; |
| case SpvOpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break; |
| case SpvOpTypeRayQueryProvisionalKHR: *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 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 SpvOpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; 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 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 SpvOpDemoteToHelperInvocationEXT: *hasResult = false; *hasResultType = false; break; |
| case SpvOpIsHelperInvocationEXT: *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 SpvOpFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break; |
| case SpvOpFunctionPointerCallINTEL: *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 SpvOpLoopControlINTEL: *hasResult = false; *hasResultType = false; 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; |
| } |
| } |
| #endif /* SPV_ENABLE_UTILITY_CODE */ |
| |
| #endif |
| |