-// Copyright (c) 2014-2020 The Khronos Group Inc.\r
-//\r
-// Permission is hereby granted, free of charge, to any person obtaining a copy\r
-// of this software and/or associated documentation files (the "Materials"),\r
-// to deal in the Materials without restriction, including without limitation\r
-// the rights to use, copy, modify, merge, publish, distribute, sublicense,\r
-// and/or sell copies of the Materials, and to permit persons to whom the\r
-// Materials are furnished to do so, subject to the following conditions:\r
-//\r
-// The above copyright notice and this permission notice shall be included in\r
-// all copies or substantial portions of the Materials.\r
-//\r
-// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS\r
-// STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND\r
-// HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/\r
-//\r
-// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS\r
-// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL\r
-// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\r
-// FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS\r
-// IN THE MATERIALS.\r
-\r
-// This header is automatically generated by the same tool that creates\r
-// the Binary Section of the SPIR-V specification.\r
-\r
-// Enumeration tokens for SPIR-V, in various styles:\r
-// C, C++, C++11, JSON, Lua, Python, C#, D\r
-//\r
-// - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL\r
-// - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL\r
-// - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL\r
-// - Lua will use tables, e.g.: spv.SourceLanguage.GLSL\r
-// - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']\r
-// - C# will use enum classes in the Specification class located in the "Spv" namespace,\r
-// e.g.: Spv.Specification.SourceLanguage.GLSL\r
-// - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL\r
-//\r
-// Some tokens act like mask values, which can be OR'd together,\r
-// while others are mutually exclusive. The mask-like ones have\r
-// "Mask" in their name, and a parallel enum that has the shift\r
-// amount (1 << x) for each corresponding enumerant.\r
-\r
-#ifndef spirv_HPP\r
-#define spirv_HPP\r
-\r
-namespace spv {\r
-\r
-typedef unsigned int Id;\r
-\r
-#define SPV_VERSION 0x10600\r
-#define SPV_REVISION 1\r
-\r
-static const unsigned int MagicNumber = 0x07230203;\r
-static const unsigned int Version = 0x00010600;\r
-static const unsigned int Revision = 1;\r
-static const unsigned int OpCodeMask = 0xffff;\r
-static const unsigned int WordCountShift = 16;\r
-\r
-enum SourceLanguage {\r
- SourceLanguageUnknown = 0,\r
- SourceLanguageESSL = 1,\r
- SourceLanguageGLSL = 2,\r
- SourceLanguageOpenCL_C = 3,\r
- SourceLanguageOpenCL_CPP = 4,\r
- SourceLanguageHLSL = 5,\r
- SourceLanguageCPP_for_OpenCL = 6,\r
- SourceLanguageMax = 0x7fffffff,\r
-};\r
-\r
-enum ExecutionModel {\r
- ExecutionModelVertex = 0,\r
- ExecutionModelTessellationControl = 1,\r
- ExecutionModelTessellationEvaluation = 2,\r
- ExecutionModelGeometry = 3,\r
- ExecutionModelFragment = 4,\r
- ExecutionModelGLCompute = 5,\r
- ExecutionModelKernel = 6,\r
- ExecutionModelTaskNV = 5267,\r
- ExecutionModelMeshNV = 5268,\r
- ExecutionModelRayGenerationKHR = 5313,\r
- ExecutionModelRayGenerationNV = 5313,\r
- ExecutionModelIntersectionKHR = 5314,\r
- ExecutionModelIntersectionNV = 5314,\r
- ExecutionModelAnyHitKHR = 5315,\r
- ExecutionModelAnyHitNV = 5315,\r
- ExecutionModelClosestHitKHR = 5316,\r
- ExecutionModelClosestHitNV = 5316,\r
- ExecutionModelMissKHR = 5317,\r
- ExecutionModelMissNV = 5317,\r
- ExecutionModelCallableKHR = 5318,\r
- ExecutionModelCallableNV = 5318,\r
- ExecutionModelTaskEXT = 5364,\r
- ExecutionModelMeshEXT = 5365,\r
- ExecutionModelMax = 0x7fffffff,\r
-};\r
-\r
-enum AddressingModel {\r
- AddressingModelLogical = 0,\r
- AddressingModelPhysical32 = 1,\r
- AddressingModelPhysical64 = 2,\r
- AddressingModelPhysicalStorageBuffer64 = 5348,\r
- AddressingModelPhysicalStorageBuffer64EXT = 5348,\r
- AddressingModelMax = 0x7fffffff,\r
-};\r
-\r
-enum MemoryModel {\r
- MemoryModelSimple = 0,\r
- MemoryModelGLSL450 = 1,\r
- MemoryModelOpenCL = 2,\r
- MemoryModelVulkan = 3,\r
- MemoryModelVulkanKHR = 3,\r
- MemoryModelMax = 0x7fffffff,\r
-};\r
-\r
-enum ExecutionMode {\r
- ExecutionModeInvocations = 0,\r
- ExecutionModeSpacingEqual = 1,\r
- ExecutionModeSpacingFractionalEven = 2,\r
- ExecutionModeSpacingFractionalOdd = 3,\r
- ExecutionModeVertexOrderCw = 4,\r
- ExecutionModeVertexOrderCcw = 5,\r
- ExecutionModePixelCenterInteger = 6,\r
- ExecutionModeOriginUpperLeft = 7,\r
- ExecutionModeOriginLowerLeft = 8,\r
- ExecutionModeEarlyFragmentTests = 9,\r
- ExecutionModePointMode = 10,\r
- ExecutionModeXfb = 11,\r
- ExecutionModeDepthReplacing = 12,\r
- ExecutionModeDepthGreater = 14,\r
- ExecutionModeDepthLess = 15,\r
- ExecutionModeDepthUnchanged = 16,\r
- ExecutionModeLocalSize = 17,\r
- ExecutionModeLocalSizeHint = 18,\r
- ExecutionModeInputPoints = 19,\r
- ExecutionModeInputLines = 20,\r
- ExecutionModeInputLinesAdjacency = 21,\r
- ExecutionModeTriangles = 22,\r
- ExecutionModeInputTrianglesAdjacency = 23,\r
- ExecutionModeQuads = 24,\r
- ExecutionModeIsolines = 25,\r
- ExecutionModeOutputVertices = 26,\r
- ExecutionModeOutputPoints = 27,\r
- ExecutionModeOutputLineStrip = 28,\r
- ExecutionModeOutputTriangleStrip = 29,\r
- ExecutionModeVecTypeHint = 30,\r
- ExecutionModeContractionOff = 31,\r
- ExecutionModeInitializer = 33,\r
- ExecutionModeFinalizer = 34,\r
- ExecutionModeSubgroupSize = 35,\r
- ExecutionModeSubgroupsPerWorkgroup = 36,\r
- ExecutionModeSubgroupsPerWorkgroupId = 37,\r
- ExecutionModeLocalSizeId = 38,\r
- ExecutionModeLocalSizeHintId = 39,\r
- ExecutionModeSubgroupUniformControlFlowKHR = 4421,\r
- ExecutionModePostDepthCoverage = 4446,\r
- ExecutionModeDenormPreserve = 4459,\r
- ExecutionModeDenormFlushToZero = 4460,\r
- ExecutionModeSignedZeroInfNanPreserve = 4461,\r
- ExecutionModeRoundingModeRTE = 4462,\r
- ExecutionModeRoundingModeRTZ = 4463,\r
- ExecutionModeEarlyAndLateFragmentTestsAMD = 5017,\r
- ExecutionModeStencilRefReplacingEXT = 5027,\r
- ExecutionModeStencilRefUnchangedFrontAMD = 5079,\r
- ExecutionModeStencilRefGreaterFrontAMD = 5080,\r
- ExecutionModeStencilRefLessFrontAMD = 5081,\r
- ExecutionModeStencilRefUnchangedBackAMD = 5082,\r
- ExecutionModeStencilRefGreaterBackAMD = 5083,\r
- ExecutionModeStencilRefLessBackAMD = 5084,\r
- ExecutionModeOutputLinesEXT = 5269,\r
- ExecutionModeOutputLinesNV = 5269,\r
- ExecutionModeOutputPrimitivesEXT = 5270,\r
- ExecutionModeOutputPrimitivesNV = 5270,\r
- ExecutionModeDerivativeGroupQuadsNV = 5289,\r
- ExecutionModeDerivativeGroupLinearNV = 5290,\r
- ExecutionModeOutputTrianglesEXT = 5298,\r
- ExecutionModeOutputTrianglesNV = 5298,\r
- ExecutionModePixelInterlockOrderedEXT = 5366,\r
- ExecutionModePixelInterlockUnorderedEXT = 5367,\r
- ExecutionModeSampleInterlockOrderedEXT = 5368,\r
- ExecutionModeSampleInterlockUnorderedEXT = 5369,\r
- ExecutionModeShadingRateInterlockOrderedEXT = 5370,\r
- ExecutionModeShadingRateInterlockUnorderedEXT = 5371,\r
- ExecutionModeSharedLocalMemorySizeINTEL = 5618,\r
- ExecutionModeRoundingModeRTPINTEL = 5620,\r
- ExecutionModeRoundingModeRTNINTEL = 5621,\r
- ExecutionModeFloatingPointModeALTINTEL = 5622,\r
- ExecutionModeFloatingPointModeIEEEINTEL = 5623,\r
- ExecutionModeMaxWorkgroupSizeINTEL = 5893,\r
- ExecutionModeMaxWorkDimINTEL = 5894,\r
- ExecutionModeNoGlobalOffsetINTEL = 5895,\r
- ExecutionModeNumSIMDWorkitemsINTEL = 5896,\r
- ExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,\r
- ExecutionModeMax = 0x7fffffff,\r
-};\r
-\r
-enum StorageClass {\r
- StorageClassUniformConstant = 0,\r
- StorageClassInput = 1,\r
- StorageClassUniform = 2,\r
- StorageClassOutput = 3,\r
- StorageClassWorkgroup = 4,\r
- StorageClassCrossWorkgroup = 5,\r
- StorageClassPrivate = 6,\r
- StorageClassFunction = 7,\r
- StorageClassGeneric = 8,\r
- StorageClassPushConstant = 9,\r
- StorageClassAtomicCounter = 10,\r
- StorageClassImage = 11,\r
- StorageClassStorageBuffer = 12,\r
- StorageClassCallableDataKHR = 5328,\r
- StorageClassCallableDataNV = 5328,\r
- StorageClassIncomingCallableDataKHR = 5329,\r
- StorageClassIncomingCallableDataNV = 5329,\r
- StorageClassRayPayloadKHR = 5338,\r
- StorageClassRayPayloadNV = 5338,\r
- StorageClassHitAttributeKHR = 5339,\r
- StorageClassHitAttributeNV = 5339,\r
- StorageClassIncomingRayPayloadKHR = 5342,\r
- StorageClassIncomingRayPayloadNV = 5342,\r
- StorageClassShaderRecordBufferKHR = 5343,\r
- StorageClassShaderRecordBufferNV = 5343,\r
- StorageClassPhysicalStorageBuffer = 5349,\r
- StorageClassPhysicalStorageBufferEXT = 5349,\r
- StorageClassTaskPayloadWorkgroupEXT = 5402,\r
- StorageClassCodeSectionINTEL = 5605,\r
- StorageClassDeviceOnlyINTEL = 5936,\r
- StorageClassHostOnlyINTEL = 5937,\r
- StorageClassMax = 0x7fffffff,\r
-};\r
-\r
-enum Dim {\r
- Dim1D = 0,\r
- Dim2D = 1,\r
- Dim3D = 2,\r
- DimCube = 3,\r
- DimRect = 4,\r
- DimBuffer = 5,\r
- DimSubpassData = 6,\r
- DimMax = 0x7fffffff,\r
-};\r
-\r
-enum SamplerAddressingMode {\r
- SamplerAddressingModeNone = 0,\r
- SamplerAddressingModeClampToEdge = 1,\r
- SamplerAddressingModeClamp = 2,\r
- SamplerAddressingModeRepeat = 3,\r
- SamplerAddressingModeRepeatMirrored = 4,\r
- SamplerAddressingModeMax = 0x7fffffff,\r
-};\r
-\r
-enum SamplerFilterMode {\r
- SamplerFilterModeNearest = 0,\r
- SamplerFilterModeLinear = 1,\r
- SamplerFilterModeMax = 0x7fffffff,\r
-};\r
-\r
-enum ImageFormat {\r
- ImageFormatUnknown = 0,\r
- ImageFormatRgba32f = 1,\r
- ImageFormatRgba16f = 2,\r
- ImageFormatR32f = 3,\r
- ImageFormatRgba8 = 4,\r
- ImageFormatRgba8Snorm = 5,\r
- ImageFormatRg32f = 6,\r
- ImageFormatRg16f = 7,\r
- ImageFormatR11fG11fB10f = 8,\r
- ImageFormatR16f = 9,\r
- ImageFormatRgba16 = 10,\r
- ImageFormatRgb10A2 = 11,\r
- ImageFormatRg16 = 12,\r
- ImageFormatRg8 = 13,\r
- ImageFormatR16 = 14,\r
- ImageFormatR8 = 15,\r
- ImageFormatRgba16Snorm = 16,\r
- ImageFormatRg16Snorm = 17,\r
- ImageFormatRg8Snorm = 18,\r
- ImageFormatR16Snorm = 19,\r
- ImageFormatR8Snorm = 20,\r
- ImageFormatRgba32i = 21,\r
- ImageFormatRgba16i = 22,\r
- ImageFormatRgba8i = 23,\r
- ImageFormatR32i = 24,\r
- ImageFormatRg32i = 25,\r
- ImageFormatRg16i = 26,\r
- ImageFormatRg8i = 27,\r
- ImageFormatR16i = 28,\r
- ImageFormatR8i = 29,\r
- ImageFormatRgba32ui = 30,\r
- ImageFormatRgba16ui = 31,\r
- ImageFormatRgba8ui = 32,\r
- ImageFormatR32ui = 33,\r
- ImageFormatRgb10a2ui = 34,\r
- ImageFormatRg32ui = 35,\r
- ImageFormatRg16ui = 36,\r
- ImageFormatRg8ui = 37,\r
- ImageFormatR16ui = 38,\r
- ImageFormatR8ui = 39,\r
- ImageFormatR64ui = 40,\r
- ImageFormatR64i = 41,\r
- ImageFormatMax = 0x7fffffff,\r
-};\r
-\r
-enum ImageChannelOrder {\r
- ImageChannelOrderR = 0,\r
- ImageChannelOrderA = 1,\r
- ImageChannelOrderRG = 2,\r
- ImageChannelOrderRA = 3,\r
- ImageChannelOrderRGB = 4,\r
- ImageChannelOrderRGBA = 5,\r
- ImageChannelOrderBGRA = 6,\r
- ImageChannelOrderARGB = 7,\r
- ImageChannelOrderIntensity = 8,\r
- ImageChannelOrderLuminance = 9,\r
- ImageChannelOrderRx = 10,\r
- ImageChannelOrderRGx = 11,\r
- ImageChannelOrderRGBx = 12,\r
- ImageChannelOrderDepth = 13,\r
- ImageChannelOrderDepthStencil = 14,\r
- ImageChannelOrdersRGB = 15,\r
- ImageChannelOrdersRGBx = 16,\r
- ImageChannelOrdersRGBA = 17,\r
- ImageChannelOrdersBGRA = 18,\r
- ImageChannelOrderABGR = 19,\r
- ImageChannelOrderMax = 0x7fffffff,\r
-};\r
-\r
-enum ImageChannelDataType {\r
- ImageChannelDataTypeSnormInt8 = 0,\r
- ImageChannelDataTypeSnormInt16 = 1,\r
- ImageChannelDataTypeUnormInt8 = 2,\r
- ImageChannelDataTypeUnormInt16 = 3,\r
- ImageChannelDataTypeUnormShort565 = 4,\r
- ImageChannelDataTypeUnormShort555 = 5,\r
- ImageChannelDataTypeUnormInt101010 = 6,\r
- ImageChannelDataTypeSignedInt8 = 7,\r
- ImageChannelDataTypeSignedInt16 = 8,\r
- ImageChannelDataTypeSignedInt32 = 9,\r
- ImageChannelDataTypeUnsignedInt8 = 10,\r
- ImageChannelDataTypeUnsignedInt16 = 11,\r
- ImageChannelDataTypeUnsignedInt32 = 12,\r
- ImageChannelDataTypeHalfFloat = 13,\r
- ImageChannelDataTypeFloat = 14,\r
- ImageChannelDataTypeUnormInt24 = 15,\r
- ImageChannelDataTypeUnormInt101010_2 = 16,\r
- ImageChannelDataTypeMax = 0x7fffffff,\r
-};\r
-\r
-enum ImageOperandsShift {\r
- ImageOperandsBiasShift = 0,\r
- ImageOperandsLodShift = 1,\r
- ImageOperandsGradShift = 2,\r
- ImageOperandsConstOffsetShift = 3,\r
- ImageOperandsOffsetShift = 4,\r
- ImageOperandsConstOffsetsShift = 5,\r
- ImageOperandsSampleShift = 6,\r
- ImageOperandsMinLodShift = 7,\r
- ImageOperandsMakeTexelAvailableShift = 8,\r
- ImageOperandsMakeTexelAvailableKHRShift = 8,\r
- ImageOperandsMakeTexelVisibleShift = 9,\r
- ImageOperandsMakeTexelVisibleKHRShift = 9,\r
- ImageOperandsNonPrivateTexelShift = 10,\r
- ImageOperandsNonPrivateTexelKHRShift = 10,\r
- ImageOperandsVolatileTexelShift = 11,\r
- ImageOperandsVolatileTexelKHRShift = 11,\r
- ImageOperandsSignExtendShift = 12,\r
- ImageOperandsZeroExtendShift = 13,\r
- ImageOperandsNontemporalShift = 14,\r
- ImageOperandsOffsetsShift = 16,\r
- ImageOperandsMax = 0x7fffffff,\r
-};\r
-\r
-enum ImageOperandsMask {\r
- ImageOperandsMaskNone = 0,\r
- ImageOperandsBiasMask = 0x00000001,\r
- ImageOperandsLodMask = 0x00000002,\r
- ImageOperandsGradMask = 0x00000004,\r
- ImageOperandsConstOffsetMask = 0x00000008,\r
- ImageOperandsOffsetMask = 0x00000010,\r
- ImageOperandsConstOffsetsMask = 0x00000020,\r
- ImageOperandsSampleMask = 0x00000040,\r
- ImageOperandsMinLodMask = 0x00000080,\r
- ImageOperandsMakeTexelAvailableMask = 0x00000100,\r
- ImageOperandsMakeTexelAvailableKHRMask = 0x00000100,\r
- ImageOperandsMakeTexelVisibleMask = 0x00000200,\r
- ImageOperandsMakeTexelVisibleKHRMask = 0x00000200,\r
- ImageOperandsNonPrivateTexelMask = 0x00000400,\r
- ImageOperandsNonPrivateTexelKHRMask = 0x00000400,\r
- ImageOperandsVolatileTexelMask = 0x00000800,\r
- ImageOperandsVolatileTexelKHRMask = 0x00000800,\r
- ImageOperandsSignExtendMask = 0x00001000,\r
- ImageOperandsZeroExtendMask = 0x00002000,\r
- ImageOperandsNontemporalMask = 0x00004000,\r
- ImageOperandsOffsetsMask = 0x00010000,\r
-};\r
-\r
-enum FPFastMathModeShift {\r
- FPFastMathModeNotNaNShift = 0,\r
- FPFastMathModeNotInfShift = 1,\r
- FPFastMathModeNSZShift = 2,\r
- FPFastMathModeAllowRecipShift = 3,\r
- FPFastMathModeFastShift = 4,\r
- FPFastMathModeAllowContractFastINTELShift = 16,\r
- FPFastMathModeAllowReassocINTELShift = 17,\r
- FPFastMathModeMax = 0x7fffffff,\r
-};\r
-\r
-enum FPFastMathModeMask {\r
- FPFastMathModeMaskNone = 0,\r
- FPFastMathModeNotNaNMask = 0x00000001,\r
- FPFastMathModeNotInfMask = 0x00000002,\r
- FPFastMathModeNSZMask = 0x00000004,\r
- FPFastMathModeAllowRecipMask = 0x00000008,\r
- FPFastMathModeFastMask = 0x00000010,\r
- FPFastMathModeAllowContractFastINTELMask = 0x00010000,\r
- FPFastMathModeAllowReassocINTELMask = 0x00020000,\r
-};\r
-\r
-enum FPRoundingMode {\r
- FPRoundingModeRTE = 0,\r
- FPRoundingModeRTZ = 1,\r
- FPRoundingModeRTP = 2,\r
- FPRoundingModeRTN = 3,\r
- FPRoundingModeMax = 0x7fffffff,\r
-};\r
-\r
-enum LinkageType {\r
- LinkageTypeExport = 0,\r
- LinkageTypeImport = 1,\r
- LinkageTypeLinkOnceODR = 2,\r
- LinkageTypeMax = 0x7fffffff,\r
-};\r
-\r
-enum AccessQualifier {\r
- AccessQualifierReadOnly = 0,\r
- AccessQualifierWriteOnly = 1,\r
- AccessQualifierReadWrite = 2,\r
- AccessQualifierMax = 0x7fffffff,\r
-};\r
-\r
-enum FunctionParameterAttribute {\r
- FunctionParameterAttributeZext = 0,\r
- FunctionParameterAttributeSext = 1,\r
- FunctionParameterAttributeByVal = 2,\r
- FunctionParameterAttributeSret = 3,\r
- FunctionParameterAttributeNoAlias = 4,\r
- FunctionParameterAttributeNoCapture = 5,\r
- FunctionParameterAttributeNoWrite = 6,\r
- FunctionParameterAttributeNoReadWrite = 7,\r
- FunctionParameterAttributeMax = 0x7fffffff,\r
-};\r
-\r
-enum Decoration {\r
- DecorationRelaxedPrecision = 0,\r
- DecorationSpecId = 1,\r
- DecorationBlock = 2,\r
- DecorationBufferBlock = 3,\r
- DecorationRowMajor = 4,\r
- DecorationColMajor = 5,\r
- DecorationArrayStride = 6,\r
- DecorationMatrixStride = 7,\r
- DecorationGLSLShared = 8,\r
- DecorationGLSLPacked = 9,\r
- DecorationCPacked = 10,\r
- DecorationBuiltIn = 11,\r
- DecorationNoPerspective = 13,\r
- DecorationFlat = 14,\r
- DecorationPatch = 15,\r
- DecorationCentroid = 16,\r
- DecorationSample = 17,\r
- DecorationInvariant = 18,\r
- DecorationRestrict = 19,\r
- DecorationAliased = 20,\r
- DecorationVolatile = 21,\r
- DecorationConstant = 22,\r
- DecorationCoherent = 23,\r
- DecorationNonWritable = 24,\r
- DecorationNonReadable = 25,\r
- DecorationUniform = 26,\r
- DecorationUniformId = 27,\r
- DecorationSaturatedConversion = 28,\r
- DecorationStream = 29,\r
- DecorationLocation = 30,\r
- DecorationComponent = 31,\r
- DecorationIndex = 32,\r
- DecorationBinding = 33,\r
- DecorationDescriptorSet = 34,\r
- DecorationOffset = 35,\r
- DecorationXfbBuffer = 36,\r
- DecorationXfbStride = 37,\r
- DecorationFuncParamAttr = 38,\r
- DecorationFPRoundingMode = 39,\r
- DecorationFPFastMathMode = 40,\r
- DecorationLinkageAttributes = 41,\r
- DecorationNoContraction = 42,\r
- DecorationInputAttachmentIndex = 43,\r
- DecorationAlignment = 44,\r
- DecorationMaxByteOffset = 45,\r
- DecorationAlignmentId = 46,\r
- DecorationMaxByteOffsetId = 47,\r
- DecorationNoSignedWrap = 4469,\r
- DecorationNoUnsignedWrap = 4470,\r
- DecorationExplicitInterpAMD = 4999,\r
- DecorationOverrideCoverageNV = 5248,\r
- DecorationPassthroughNV = 5250,\r
- DecorationViewportRelativeNV = 5252,\r
- DecorationSecondaryViewportRelativeNV = 5256,\r
- DecorationPerPrimitiveEXT = 5271,\r
- DecorationPerPrimitiveNV = 5271,\r
- DecorationPerViewNV = 5272,\r
- DecorationPerTaskNV = 5273,\r
- DecorationPerVertexKHR = 5285,\r
- DecorationPerVertexNV = 5285,\r
- DecorationNonUniform = 5300,\r
- DecorationNonUniformEXT = 5300,\r
- DecorationRestrictPointer = 5355,\r
- DecorationRestrictPointerEXT = 5355,\r
- DecorationAliasedPointer = 5356,\r
- DecorationAliasedPointerEXT = 5356,\r
- DecorationBindlessSamplerNV = 5398,\r
- DecorationBindlessImageNV = 5399,\r
- DecorationBoundSamplerNV = 5400,\r
- DecorationBoundImageNV = 5401,\r
- DecorationSIMTCallINTEL = 5599,\r
- DecorationReferencedIndirectlyINTEL = 5602,\r
- DecorationClobberINTEL = 5607,\r
- DecorationSideEffectsINTEL = 5608,\r
- DecorationVectorComputeVariableINTEL = 5624,\r
- DecorationFuncParamIOKindINTEL = 5625,\r
- DecorationVectorComputeFunctionINTEL = 5626,\r
- DecorationStackCallINTEL = 5627,\r
- DecorationGlobalVariableOffsetINTEL = 5628,\r
- DecorationCounterBuffer = 5634,\r
- DecorationHlslCounterBufferGOOGLE = 5634,\r
- DecorationHlslSemanticGOOGLE = 5635,\r
- DecorationUserSemantic = 5635,\r
- DecorationUserTypeGOOGLE = 5636,\r
- DecorationFunctionRoundingModeINTEL = 5822,\r
- DecorationFunctionDenormModeINTEL = 5823,\r
- DecorationRegisterINTEL = 5825,\r
- DecorationMemoryINTEL = 5826,\r
- DecorationNumbanksINTEL = 5827,\r
- DecorationBankwidthINTEL = 5828,\r
- DecorationMaxPrivateCopiesINTEL = 5829,\r
- DecorationSinglepumpINTEL = 5830,\r
- DecorationDoublepumpINTEL = 5831,\r
- DecorationMaxReplicatesINTEL = 5832,\r
- DecorationSimpleDualPortINTEL = 5833,\r
- DecorationMergeINTEL = 5834,\r
- DecorationBankBitsINTEL = 5835,\r
- DecorationForcePow2DepthINTEL = 5836,\r
- DecorationBurstCoalesceINTEL = 5899,\r
- DecorationCacheSizeINTEL = 5900,\r
- DecorationDontStaticallyCoalesceINTEL = 5901,\r
- DecorationPrefetchINTEL = 5902,\r
- DecorationStallEnableINTEL = 5905,\r
- DecorationFuseLoopsInFunctionINTEL = 5907,\r
- DecorationBufferLocationINTEL = 5921,\r
- DecorationIOPipeStorageINTEL = 5944,\r
- DecorationFunctionFloatingPointModeINTEL = 6080,\r
- DecorationSingleElementVectorINTEL = 6085,\r
- DecorationVectorComputeCallableFunctionINTEL = 6087,\r
- DecorationMediaBlockIOINTEL = 6140,\r
- DecorationMax = 0x7fffffff,\r
-};\r
-\r
-enum BuiltIn {\r
- BuiltInPosition = 0,\r
- BuiltInPointSize = 1,\r
- BuiltInClipDistance = 3,\r
- BuiltInCullDistance = 4,\r
- BuiltInVertexId = 5,\r
- BuiltInInstanceId = 6,\r
- BuiltInPrimitiveId = 7,\r
- BuiltInInvocationId = 8,\r
- BuiltInLayer = 9,\r
- BuiltInViewportIndex = 10,\r
- BuiltInTessLevelOuter = 11,\r
- BuiltInTessLevelInner = 12,\r
- BuiltInTessCoord = 13,\r
- BuiltInPatchVertices = 14,\r
- BuiltInFragCoord = 15,\r
- BuiltInPointCoord = 16,\r
- BuiltInFrontFacing = 17,\r
- BuiltInSampleId = 18,\r
- BuiltInSamplePosition = 19,\r
- BuiltInSampleMask = 20,\r
- BuiltInFragDepth = 22,\r
- BuiltInHelperInvocation = 23,\r
- BuiltInNumWorkgroups = 24,\r
- BuiltInWorkgroupSize = 25,\r
- BuiltInWorkgroupId = 26,\r
- BuiltInLocalInvocationId = 27,\r
- BuiltInGlobalInvocationId = 28,\r
- BuiltInLocalInvocationIndex = 29,\r
- BuiltInWorkDim = 30,\r
- BuiltInGlobalSize = 31,\r
- BuiltInEnqueuedWorkgroupSize = 32,\r
- BuiltInGlobalOffset = 33,\r
- BuiltInGlobalLinearId = 34,\r
- BuiltInSubgroupSize = 36,\r
- BuiltInSubgroupMaxSize = 37,\r
- BuiltInNumSubgroups = 38,\r
- BuiltInNumEnqueuedSubgroups = 39,\r
- BuiltInSubgroupId = 40,\r
- BuiltInSubgroupLocalInvocationId = 41,\r
- BuiltInVertexIndex = 42,\r
- BuiltInInstanceIndex = 43,\r
- BuiltInSubgroupEqMask = 4416,\r
- BuiltInSubgroupEqMaskKHR = 4416,\r
- BuiltInSubgroupGeMask = 4417,\r
- BuiltInSubgroupGeMaskKHR = 4417,\r
- BuiltInSubgroupGtMask = 4418,\r
- BuiltInSubgroupGtMaskKHR = 4418,\r
- BuiltInSubgroupLeMask = 4419,\r
- BuiltInSubgroupLeMaskKHR = 4419,\r
- BuiltInSubgroupLtMask = 4420,\r
- BuiltInSubgroupLtMaskKHR = 4420,\r
- BuiltInBaseVertex = 4424,\r
- BuiltInBaseInstance = 4425,\r
- BuiltInDrawIndex = 4426,\r
- BuiltInPrimitiveShadingRateKHR = 4432,\r
- BuiltInDeviceIndex = 4438,\r
- BuiltInViewIndex = 4440,\r
- BuiltInShadingRateKHR = 4444,\r
- BuiltInBaryCoordNoPerspAMD = 4992,\r
- BuiltInBaryCoordNoPerspCentroidAMD = 4993,\r
- BuiltInBaryCoordNoPerspSampleAMD = 4994,\r
- BuiltInBaryCoordSmoothAMD = 4995,\r
- BuiltInBaryCoordSmoothCentroidAMD = 4996,\r
- BuiltInBaryCoordSmoothSampleAMD = 4997,\r
- BuiltInBaryCoordPullModelAMD = 4998,\r
- BuiltInFragStencilRefEXT = 5014,\r
- BuiltInViewportMaskNV = 5253,\r
- BuiltInSecondaryPositionNV = 5257,\r
- BuiltInSecondaryViewportMaskNV = 5258,\r
- BuiltInPositionPerViewNV = 5261,\r
- BuiltInViewportMaskPerViewNV = 5262,\r
- BuiltInFullyCoveredEXT = 5264,\r
- BuiltInTaskCountNV = 5274,\r
- BuiltInPrimitiveCountNV = 5275,\r
- BuiltInPrimitiveIndicesNV = 5276,\r
- BuiltInClipDistancePerViewNV = 5277,\r
- BuiltInCullDistancePerViewNV = 5278,\r
- BuiltInLayerPerViewNV = 5279,\r
- BuiltInMeshViewCountNV = 5280,\r
- BuiltInMeshViewIndicesNV = 5281,\r
- BuiltInBaryCoordKHR = 5286,\r
- BuiltInBaryCoordNV = 5286,\r
- BuiltInBaryCoordNoPerspKHR = 5287,\r
- BuiltInBaryCoordNoPerspNV = 5287,\r
- BuiltInFragSizeEXT = 5292,\r
- BuiltInFragmentSizeNV = 5292,\r
- BuiltInFragInvocationCountEXT = 5293,\r
- BuiltInInvocationsPerPixelNV = 5293,\r
- BuiltInPrimitivePointIndicesEXT = 5294,\r
- BuiltInPrimitiveLineIndicesEXT = 5295,\r
- BuiltInPrimitiveTriangleIndicesEXT = 5296,\r
- BuiltInCullPrimitiveEXT = 5299,\r
- BuiltInLaunchIdKHR = 5319,\r
- BuiltInLaunchIdNV = 5319,\r
- BuiltInLaunchSizeKHR = 5320,\r
- BuiltInLaunchSizeNV = 5320,\r
- BuiltInWorldRayOriginKHR = 5321,\r
- BuiltInWorldRayOriginNV = 5321,\r
- BuiltInWorldRayDirectionKHR = 5322,\r
- BuiltInWorldRayDirectionNV = 5322,\r
- BuiltInObjectRayOriginKHR = 5323,\r
- BuiltInObjectRayOriginNV = 5323,\r
- BuiltInObjectRayDirectionKHR = 5324,\r
- BuiltInObjectRayDirectionNV = 5324,\r
- BuiltInRayTminKHR = 5325,\r
- BuiltInRayTminNV = 5325,\r
- BuiltInRayTmaxKHR = 5326,\r
- BuiltInRayTmaxNV = 5326,\r
- BuiltInInstanceCustomIndexKHR = 5327,\r
- BuiltInInstanceCustomIndexNV = 5327,\r
- BuiltInObjectToWorldKHR = 5330,\r
- BuiltInObjectToWorldNV = 5330,\r
- BuiltInWorldToObjectKHR = 5331,\r
- BuiltInWorldToObjectNV = 5331,\r
- BuiltInHitTNV = 5332,\r
- BuiltInHitKindKHR = 5333,\r
- BuiltInHitKindNV = 5333,\r
- BuiltInCurrentRayTimeNV = 5334,\r
- BuiltInIncomingRayFlagsKHR = 5351,\r
- BuiltInIncomingRayFlagsNV = 5351,\r
- BuiltInRayGeometryIndexKHR = 5352,\r
- BuiltInWarpsPerSMNV = 5374,\r
- BuiltInSMCountNV = 5375,\r
- BuiltInWarpIDNV = 5376,\r
- BuiltInSMIDNV = 5377,\r
- BuiltInCullMaskKHR = 6021,\r
- BuiltInMax = 0x7fffffff,\r
-};\r
-\r
-enum SelectionControlShift {\r
- SelectionControlFlattenShift = 0,\r
- SelectionControlDontFlattenShift = 1,\r
- SelectionControlMax = 0x7fffffff,\r
-};\r
-\r
-enum SelectionControlMask {\r
- SelectionControlMaskNone = 0,\r
- SelectionControlFlattenMask = 0x00000001,\r
- SelectionControlDontFlattenMask = 0x00000002,\r
-};\r
-\r
-enum LoopControlShift {\r
- LoopControlUnrollShift = 0,\r
- LoopControlDontUnrollShift = 1,\r
- LoopControlDependencyInfiniteShift = 2,\r
- LoopControlDependencyLengthShift = 3,\r
- LoopControlMinIterationsShift = 4,\r
- LoopControlMaxIterationsShift = 5,\r
- LoopControlIterationMultipleShift = 6,\r
- LoopControlPeelCountShift = 7,\r
- LoopControlPartialCountShift = 8,\r
- LoopControlInitiationIntervalINTELShift = 16,\r
- LoopControlMaxConcurrencyINTELShift = 17,\r
- LoopControlDependencyArrayINTELShift = 18,\r
- LoopControlPipelineEnableINTELShift = 19,\r
- LoopControlLoopCoalesceINTELShift = 20,\r
- LoopControlMaxInterleavingINTELShift = 21,\r
- LoopControlSpeculatedIterationsINTELShift = 22,\r
- LoopControlNoFusionINTELShift = 23,\r
- LoopControlMax = 0x7fffffff,\r
-};\r
-\r
-enum LoopControlMask {\r
- LoopControlMaskNone = 0,\r
- LoopControlUnrollMask = 0x00000001,\r
- LoopControlDontUnrollMask = 0x00000002,\r
- LoopControlDependencyInfiniteMask = 0x00000004,\r
- LoopControlDependencyLengthMask = 0x00000008,\r
- LoopControlMinIterationsMask = 0x00000010,\r
- LoopControlMaxIterationsMask = 0x00000020,\r
- LoopControlIterationMultipleMask = 0x00000040,\r
- LoopControlPeelCountMask = 0x00000080,\r
- LoopControlPartialCountMask = 0x00000100,\r
- LoopControlInitiationIntervalINTELMask = 0x00010000,\r
- LoopControlMaxConcurrencyINTELMask = 0x00020000,\r
- LoopControlDependencyArrayINTELMask = 0x00040000,\r
- LoopControlPipelineEnableINTELMask = 0x00080000,\r
- LoopControlLoopCoalesceINTELMask = 0x00100000,\r
- LoopControlMaxInterleavingINTELMask = 0x00200000,\r
- LoopControlSpeculatedIterationsINTELMask = 0x00400000,\r
- LoopControlNoFusionINTELMask = 0x00800000,\r
-};\r
-\r
-enum FunctionControlShift {\r
- FunctionControlInlineShift = 0,\r
- FunctionControlDontInlineShift = 1,\r
- FunctionControlPureShift = 2,\r
- FunctionControlConstShift = 3,\r
- FunctionControlOptNoneINTELShift = 16,\r
- FunctionControlMax = 0x7fffffff,\r
-};\r
-\r
-enum FunctionControlMask {\r
- FunctionControlMaskNone = 0,\r
- FunctionControlInlineMask = 0x00000001,\r
- FunctionControlDontInlineMask = 0x00000002,\r
- FunctionControlPureMask = 0x00000004,\r
- FunctionControlConstMask = 0x00000008,\r
- FunctionControlOptNoneINTELMask = 0x00010000,\r
-};\r
-\r
-enum MemorySemanticsShift {\r
- MemorySemanticsAcquireShift = 1,\r
- MemorySemanticsReleaseShift = 2,\r
- MemorySemanticsAcquireReleaseShift = 3,\r
- MemorySemanticsSequentiallyConsistentShift = 4,\r
- MemorySemanticsUniformMemoryShift = 6,\r
- MemorySemanticsSubgroupMemoryShift = 7,\r
- MemorySemanticsWorkgroupMemoryShift = 8,\r
- MemorySemanticsCrossWorkgroupMemoryShift = 9,\r
- MemorySemanticsAtomicCounterMemoryShift = 10,\r
- MemorySemanticsImageMemoryShift = 11,\r
- MemorySemanticsOutputMemoryShift = 12,\r
- MemorySemanticsOutputMemoryKHRShift = 12,\r
- MemorySemanticsMakeAvailableShift = 13,\r
- MemorySemanticsMakeAvailableKHRShift = 13,\r
- MemorySemanticsMakeVisibleShift = 14,\r
- MemorySemanticsMakeVisibleKHRShift = 14,\r
- MemorySemanticsVolatileShift = 15,\r
- MemorySemanticsMax = 0x7fffffff,\r
-};\r
-\r
-enum MemorySemanticsMask {\r
- MemorySemanticsMaskNone = 0,\r
- MemorySemanticsAcquireMask = 0x00000002,\r
- MemorySemanticsReleaseMask = 0x00000004,\r
- MemorySemanticsAcquireReleaseMask = 0x00000008,\r
- MemorySemanticsSequentiallyConsistentMask = 0x00000010,\r
- MemorySemanticsUniformMemoryMask = 0x00000040,\r
- MemorySemanticsSubgroupMemoryMask = 0x00000080,\r
- MemorySemanticsWorkgroupMemoryMask = 0x00000100,\r
- MemorySemanticsCrossWorkgroupMemoryMask = 0x00000200,\r
- MemorySemanticsAtomicCounterMemoryMask = 0x00000400,\r
- MemorySemanticsImageMemoryMask = 0x00000800,\r
- MemorySemanticsOutputMemoryMask = 0x00001000,\r
- MemorySemanticsOutputMemoryKHRMask = 0x00001000,\r
- MemorySemanticsMakeAvailableMask = 0x00002000,\r
- MemorySemanticsMakeAvailableKHRMask = 0x00002000,\r
- MemorySemanticsMakeVisibleMask = 0x00004000,\r
- MemorySemanticsMakeVisibleKHRMask = 0x00004000,\r
- MemorySemanticsVolatileMask = 0x00008000,\r
-};\r
-\r
-enum MemoryAccessShift {\r
- MemoryAccessVolatileShift = 0,\r
- MemoryAccessAlignedShift = 1,\r
- MemoryAccessNontemporalShift = 2,\r
- MemoryAccessMakePointerAvailableShift = 3,\r
- MemoryAccessMakePointerAvailableKHRShift = 3,\r
- MemoryAccessMakePointerVisibleShift = 4,\r
- MemoryAccessMakePointerVisibleKHRShift = 4,\r
- MemoryAccessNonPrivatePointerShift = 5,\r
- MemoryAccessNonPrivatePointerKHRShift = 5,\r
- MemoryAccessMax = 0x7fffffff,\r
-};\r
-\r
-enum MemoryAccessMask {\r
- MemoryAccessMaskNone = 0,\r
- MemoryAccessVolatileMask = 0x00000001,\r
- MemoryAccessAlignedMask = 0x00000002,\r
- MemoryAccessNontemporalMask = 0x00000004,\r
- MemoryAccessMakePointerAvailableMask = 0x00000008,\r
- MemoryAccessMakePointerAvailableKHRMask = 0x00000008,\r
- MemoryAccessMakePointerVisibleMask = 0x00000010,\r
- MemoryAccessMakePointerVisibleKHRMask = 0x00000010,\r
- MemoryAccessNonPrivatePointerMask = 0x00000020,\r
- MemoryAccessNonPrivatePointerKHRMask = 0x00000020,\r
-};\r
-\r
-enum Scope {\r
- ScopeCrossDevice = 0,\r
- ScopeDevice = 1,\r
- ScopeWorkgroup = 2,\r
- ScopeSubgroup = 3,\r
- ScopeInvocation = 4,\r
- ScopeQueueFamily = 5,\r
- ScopeQueueFamilyKHR = 5,\r
- ScopeShaderCallKHR = 6,\r
- ScopeMax = 0x7fffffff,\r
-};\r
-\r
-enum GroupOperation {\r
- GroupOperationReduce = 0,\r
- GroupOperationInclusiveScan = 1,\r
- GroupOperationExclusiveScan = 2,\r
- GroupOperationClusteredReduce = 3,\r
- GroupOperationPartitionedReduceNV = 6,\r
- GroupOperationPartitionedInclusiveScanNV = 7,\r
- GroupOperationPartitionedExclusiveScanNV = 8,\r
- GroupOperationMax = 0x7fffffff,\r
-};\r
-\r
-enum KernelEnqueueFlags {\r
- KernelEnqueueFlagsNoWait = 0,\r
- KernelEnqueueFlagsWaitKernel = 1,\r
- KernelEnqueueFlagsWaitWorkGroup = 2,\r
- KernelEnqueueFlagsMax = 0x7fffffff,\r
-};\r
-\r
-enum KernelProfilingInfoShift {\r
- KernelProfilingInfoCmdExecTimeShift = 0,\r
- KernelProfilingInfoMax = 0x7fffffff,\r
-};\r
-\r
-enum KernelProfilingInfoMask {\r
- KernelProfilingInfoMaskNone = 0,\r
- KernelProfilingInfoCmdExecTimeMask = 0x00000001,\r
-};\r
-\r
-enum Capability {\r
- CapabilityMatrix = 0,\r
- CapabilityShader = 1,\r
- CapabilityGeometry = 2,\r
- CapabilityTessellation = 3,\r
- CapabilityAddresses = 4,\r
- CapabilityLinkage = 5,\r
- CapabilityKernel = 6,\r
- CapabilityVector16 = 7,\r
- CapabilityFloat16Buffer = 8,\r
- CapabilityFloat16 = 9,\r
- CapabilityFloat64 = 10,\r
- CapabilityInt64 = 11,\r
- CapabilityInt64Atomics = 12,\r
- CapabilityImageBasic = 13,\r
- CapabilityImageReadWrite = 14,\r
- CapabilityImageMipmap = 15,\r
- CapabilityPipes = 17,\r
- CapabilityGroups = 18,\r
- CapabilityDeviceEnqueue = 19,\r
- CapabilityLiteralSampler = 20,\r
- CapabilityAtomicStorage = 21,\r
- CapabilityInt16 = 22,\r
- CapabilityTessellationPointSize = 23,\r
- CapabilityGeometryPointSize = 24,\r
- CapabilityImageGatherExtended = 25,\r
- CapabilityStorageImageMultisample = 27,\r
- CapabilityUniformBufferArrayDynamicIndexing = 28,\r
- CapabilitySampledImageArrayDynamicIndexing = 29,\r
- CapabilityStorageBufferArrayDynamicIndexing = 30,\r
- CapabilityStorageImageArrayDynamicIndexing = 31,\r
- CapabilityClipDistance = 32,\r
- CapabilityCullDistance = 33,\r
- CapabilityImageCubeArray = 34,\r
- CapabilitySampleRateShading = 35,\r
- CapabilityImageRect = 36,\r
- CapabilitySampledRect = 37,\r
- CapabilityGenericPointer = 38,\r
- CapabilityInt8 = 39,\r
- CapabilityInputAttachment = 40,\r
- CapabilitySparseResidency = 41,\r
- CapabilityMinLod = 42,\r
- CapabilitySampled1D = 43,\r
- CapabilityImage1D = 44,\r
- CapabilitySampledCubeArray = 45,\r
- CapabilitySampledBuffer = 46,\r
- CapabilityImageBuffer = 47,\r
- CapabilityImageMSArray = 48,\r
- CapabilityStorageImageExtendedFormats = 49,\r
- CapabilityImageQuery = 50,\r
- CapabilityDerivativeControl = 51,\r
- CapabilityInterpolationFunction = 52,\r
- CapabilityTransformFeedback = 53,\r
- CapabilityGeometryStreams = 54,\r
- CapabilityStorageImageReadWithoutFormat = 55,\r
- CapabilityStorageImageWriteWithoutFormat = 56,\r
- CapabilityMultiViewport = 57,\r
- CapabilitySubgroupDispatch = 58,\r
- CapabilityNamedBarrier = 59,\r
- CapabilityPipeStorage = 60,\r
- CapabilityGroupNonUniform = 61,\r
- CapabilityGroupNonUniformVote = 62,\r
- CapabilityGroupNonUniformArithmetic = 63,\r
- CapabilityGroupNonUniformBallot = 64,\r
- CapabilityGroupNonUniformShuffle = 65,\r
- CapabilityGroupNonUniformShuffleRelative = 66,\r
- CapabilityGroupNonUniformClustered = 67,\r
- CapabilityGroupNonUniformQuad = 68,\r
- CapabilityShaderLayer = 69,\r
- CapabilityShaderViewportIndex = 70,\r
- CapabilityUniformDecoration = 71,\r
- CapabilityFragmentShadingRateKHR = 4422,\r
- CapabilitySubgroupBallotKHR = 4423,\r
- CapabilityDrawParameters = 4427,\r
- CapabilityWorkgroupMemoryExplicitLayoutKHR = 4428,\r
- CapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,\r
- CapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,\r
- CapabilitySubgroupVoteKHR = 4431,\r
- CapabilityStorageBuffer16BitAccess = 4433,\r
- CapabilityStorageUniformBufferBlock16 = 4433,\r
- CapabilityStorageUniform16 = 4434,\r
- CapabilityUniformAndStorageBuffer16BitAccess = 4434,\r
- CapabilityStoragePushConstant16 = 4435,\r
- CapabilityStorageInputOutput16 = 4436,\r
- CapabilityDeviceGroup = 4437,\r
- CapabilityMultiView = 4439,\r
- CapabilityVariablePointersStorageBuffer = 4441,\r
- CapabilityVariablePointers = 4442,\r
- CapabilityAtomicStorageOps = 4445,\r
- CapabilitySampleMaskPostDepthCoverage = 4447,\r
- CapabilityStorageBuffer8BitAccess = 4448,\r
- CapabilityUniformAndStorageBuffer8BitAccess = 4449,\r
- CapabilityStoragePushConstant8 = 4450,\r
- CapabilityDenormPreserve = 4464,\r
- CapabilityDenormFlushToZero = 4465,\r
- CapabilitySignedZeroInfNanPreserve = 4466,\r
- CapabilityRoundingModeRTE = 4467,\r
- CapabilityRoundingModeRTZ = 4468,\r
- CapabilityRayQueryProvisionalKHR = 4471,\r
- CapabilityRayQueryKHR = 4472,\r
- CapabilityRayTraversalPrimitiveCullingKHR = 4478,\r
- CapabilityRayTracingKHR = 4479,\r
- CapabilityFloat16ImageAMD = 5008,\r
- CapabilityImageGatherBiasLodAMD = 5009,\r
- CapabilityFragmentMaskAMD = 5010,\r
- CapabilityStencilExportEXT = 5013,\r
- CapabilityImageReadWriteLodAMD = 5015,\r
- CapabilityInt64ImageEXT = 5016,\r
- CapabilityShaderClockKHR = 5055,\r
- CapabilitySampleMaskOverrideCoverageNV = 5249,\r
- CapabilityGeometryShaderPassthroughNV = 5251,\r
- CapabilityShaderViewportIndexLayerEXT = 5254,\r
- CapabilityShaderViewportIndexLayerNV = 5254,\r
- CapabilityShaderViewportMaskNV = 5255,\r
- CapabilityShaderStereoViewNV = 5259,\r
- CapabilityPerViewAttributesNV = 5260,\r
- CapabilityFragmentFullyCoveredEXT = 5265,\r
- CapabilityMeshShadingNV = 5266,\r
- CapabilityImageFootprintNV = 5282,\r
- CapabilityMeshShadingEXT = 5283,\r
- CapabilityFragmentBarycentricKHR = 5284,\r
- CapabilityFragmentBarycentricNV = 5284,\r
- CapabilityComputeDerivativeGroupQuadsNV = 5288,\r
- CapabilityFragmentDensityEXT = 5291,\r
- CapabilityShadingRateNV = 5291,\r
- CapabilityGroupNonUniformPartitionedNV = 5297,\r
- CapabilityShaderNonUniform = 5301,\r
- CapabilityShaderNonUniformEXT = 5301,\r
- CapabilityRuntimeDescriptorArray = 5302,\r
- CapabilityRuntimeDescriptorArrayEXT = 5302,\r
- CapabilityInputAttachmentArrayDynamicIndexing = 5303,\r
- CapabilityInputAttachmentArrayDynamicIndexingEXT = 5303,\r
- CapabilityUniformTexelBufferArrayDynamicIndexing = 5304,\r
- CapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304,\r
- CapabilityStorageTexelBufferArrayDynamicIndexing = 5305,\r
- CapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305,\r
- CapabilityUniformBufferArrayNonUniformIndexing = 5306,\r
- CapabilityUniformBufferArrayNonUniformIndexingEXT = 5306,\r
- CapabilitySampledImageArrayNonUniformIndexing = 5307,\r
- CapabilitySampledImageArrayNonUniformIndexingEXT = 5307,\r
- CapabilityStorageBufferArrayNonUniformIndexing = 5308,\r
- CapabilityStorageBufferArrayNonUniformIndexingEXT = 5308,\r
- CapabilityStorageImageArrayNonUniformIndexing = 5309,\r
- CapabilityStorageImageArrayNonUniformIndexingEXT = 5309,\r
- CapabilityInputAttachmentArrayNonUniformIndexing = 5310,\r
- CapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,\r
- CapabilityUniformTexelBufferArrayNonUniformIndexing = 5311,\r
- CapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,\r
- CapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,\r
- CapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,\r
- CapabilityRayTracingNV = 5340,\r
- CapabilityRayTracingMotionBlurNV = 5341,\r
- CapabilityVulkanMemoryModel = 5345,\r
- CapabilityVulkanMemoryModelKHR = 5345,\r
- CapabilityVulkanMemoryModelDeviceScope = 5346,\r
- CapabilityVulkanMemoryModelDeviceScopeKHR = 5346,\r
- CapabilityPhysicalStorageBufferAddresses = 5347,\r
- CapabilityPhysicalStorageBufferAddressesEXT = 5347,\r
- CapabilityComputeDerivativeGroupLinearNV = 5350,\r
- CapabilityRayTracingProvisionalKHR = 5353,\r
- CapabilityCooperativeMatrixNV = 5357,\r
- CapabilityFragmentShaderSampleInterlockEXT = 5363,\r
- CapabilityFragmentShaderShadingRateInterlockEXT = 5372,\r
- CapabilityShaderSMBuiltinsNV = 5373,\r
- CapabilityFragmentShaderPixelInterlockEXT = 5378,\r
- CapabilityDemoteToHelperInvocation = 5379,\r
- CapabilityDemoteToHelperInvocationEXT = 5379,\r
- CapabilityBindlessTextureNV = 5390,\r
- CapabilitySubgroupShuffleINTEL = 5568,\r
- CapabilitySubgroupBufferBlockIOINTEL = 5569,\r
- CapabilitySubgroupImageBlockIOINTEL = 5570,\r
- CapabilitySubgroupImageMediaBlockIOINTEL = 5579,\r
- CapabilityRoundToInfinityINTEL = 5582,\r
- CapabilityFloatingPointModeINTEL = 5583,\r
- CapabilityIntegerFunctions2INTEL = 5584,\r
- CapabilityFunctionPointersINTEL = 5603,\r
- CapabilityIndirectReferencesINTEL = 5604,\r
- CapabilityAsmINTEL = 5606,\r
- CapabilityAtomicFloat32MinMaxEXT = 5612,\r
- CapabilityAtomicFloat64MinMaxEXT = 5613,\r
- CapabilityAtomicFloat16MinMaxEXT = 5616,\r
- CapabilityVectorComputeINTEL = 5617,\r
- CapabilityVectorAnyINTEL = 5619,\r
- CapabilityExpectAssumeKHR = 5629,\r
- CapabilitySubgroupAvcMotionEstimationINTEL = 5696,\r
- CapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,\r
- CapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,\r
- CapabilityVariableLengthArrayINTEL = 5817,\r
- CapabilityFunctionFloatControlINTEL = 5821,\r
- CapabilityFPGAMemoryAttributesINTEL = 5824,\r
- CapabilityFPFastMathModeINTEL = 5837,\r
- CapabilityArbitraryPrecisionIntegersINTEL = 5844,\r
- CapabilityArbitraryPrecisionFloatingPointINTEL = 5845,\r
- CapabilityUnstructuredLoopControlsINTEL = 5886,\r
- CapabilityFPGALoopControlsINTEL = 5888,\r
- CapabilityKernelAttributesINTEL = 5892,\r
- CapabilityFPGAKernelAttributesINTEL = 5897,\r
- CapabilityFPGAMemoryAccessesINTEL = 5898,\r
- CapabilityFPGAClusterAttributesINTEL = 5904,\r
- CapabilityLoopFuseINTEL = 5906,\r
- CapabilityFPGABufferLocationINTEL = 5920,\r
- CapabilityArbitraryPrecisionFixedPointINTEL = 5922,\r
- CapabilityUSMStorageClassesINTEL = 5935,\r
- CapabilityIOPipesINTEL = 5943,\r
- CapabilityBlockingPipesINTEL = 5945,\r
- CapabilityFPGARegINTEL = 5948,\r
- CapabilityDotProductInputAll = 6016,\r
- CapabilityDotProductInputAllKHR = 6016,\r
- CapabilityDotProductInput4x8Bit = 6017,\r
- CapabilityDotProductInput4x8BitKHR = 6017,\r
- CapabilityDotProductInput4x8BitPacked = 6018,\r
- CapabilityDotProductInput4x8BitPackedKHR = 6018,\r
- CapabilityDotProduct = 6019,\r
- CapabilityDotProductKHR = 6019,\r
- CapabilityRayCullMaskKHR = 6020,\r
- CapabilityBitInstructions = 6025,\r
- CapabilityAtomicFloat32AddEXT = 6033,\r
- CapabilityAtomicFloat64AddEXT = 6034,\r
- CapabilityLongConstantCompositeINTEL = 6089,\r
- CapabilityOptNoneINTEL = 6094,\r
- CapabilityAtomicFloat16AddEXT = 6095,\r
- CapabilityDebugInfoModuleINTEL = 6114,\r
- CapabilityMax = 0x7fffffff,\r
-};\r
-\r
-enum RayFlagsShift {\r
- RayFlagsOpaqueKHRShift = 0,\r
- RayFlagsNoOpaqueKHRShift = 1,\r
- RayFlagsTerminateOnFirstHitKHRShift = 2,\r
- RayFlagsSkipClosestHitShaderKHRShift = 3,\r
- RayFlagsCullBackFacingTrianglesKHRShift = 4,\r
- RayFlagsCullFrontFacingTrianglesKHRShift = 5,\r
- RayFlagsCullOpaqueKHRShift = 6,\r
- RayFlagsCullNoOpaqueKHRShift = 7,\r
- RayFlagsSkipTrianglesKHRShift = 8,\r
- RayFlagsSkipAABBsKHRShift = 9,\r
- RayFlagsMax = 0x7fffffff,\r
-};\r
-\r
-enum RayFlagsMask {\r
- RayFlagsMaskNone = 0,\r
- RayFlagsOpaqueKHRMask = 0x00000001,\r
- RayFlagsNoOpaqueKHRMask = 0x00000002,\r
- RayFlagsTerminateOnFirstHitKHRMask = 0x00000004,\r
- RayFlagsSkipClosestHitShaderKHRMask = 0x00000008,\r
- RayFlagsCullBackFacingTrianglesKHRMask = 0x00000010,\r
- RayFlagsCullFrontFacingTrianglesKHRMask = 0x00000020,\r
- RayFlagsCullOpaqueKHRMask = 0x00000040,\r
- RayFlagsCullNoOpaqueKHRMask = 0x00000080,\r
- RayFlagsSkipTrianglesKHRMask = 0x00000100,\r
- RayFlagsSkipAABBsKHRMask = 0x00000200,\r
-};\r
-\r
-enum RayQueryIntersection {\r
- RayQueryIntersectionRayQueryCandidateIntersectionKHR = 0,\r
- RayQueryIntersectionRayQueryCommittedIntersectionKHR = 1,\r
- RayQueryIntersectionMax = 0x7fffffff,\r
-};\r
-\r
-enum RayQueryCommittedIntersectionType {\r
- RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR = 0,\r
- RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR = 1,\r
- RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR = 2,\r
- RayQueryCommittedIntersectionTypeMax = 0x7fffffff,\r
-};\r
-\r
-enum RayQueryCandidateIntersectionType {\r
- RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR = 0,\r
- RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR = 1,\r
- RayQueryCandidateIntersectionTypeMax = 0x7fffffff,\r
-};\r
-\r
-enum FragmentShadingRateShift {\r
- FragmentShadingRateVertical2PixelsShift = 0,\r
- FragmentShadingRateVertical4PixelsShift = 1,\r
- FragmentShadingRateHorizontal2PixelsShift = 2,\r
- FragmentShadingRateHorizontal4PixelsShift = 3,\r
- FragmentShadingRateMax = 0x7fffffff,\r
-};\r
-\r
-enum FragmentShadingRateMask {\r
- FragmentShadingRateMaskNone = 0,\r
- FragmentShadingRateVertical2PixelsMask = 0x00000001,\r
- FragmentShadingRateVertical4PixelsMask = 0x00000002,\r
- FragmentShadingRateHorizontal2PixelsMask = 0x00000004,\r
- FragmentShadingRateHorizontal4PixelsMask = 0x00000008,\r
-};\r
-\r
-enum FPDenormMode {\r
- FPDenormModePreserve = 0,\r
- FPDenormModeFlushToZero = 1,\r
- FPDenormModeMax = 0x7fffffff,\r
-};\r
-\r
-enum FPOperationMode {\r
- FPOperationModeIEEE = 0,\r
- FPOperationModeALT = 1,\r
- FPOperationModeMax = 0x7fffffff,\r
-};\r
-\r
-enum QuantizationModes {\r
- QuantizationModesTRN = 0,\r
- QuantizationModesTRN_ZERO = 1,\r
- QuantizationModesRND = 2,\r
- QuantizationModesRND_ZERO = 3,\r
- QuantizationModesRND_INF = 4,\r
- QuantizationModesRND_MIN_INF = 5,\r
- QuantizationModesRND_CONV = 6,\r
- QuantizationModesRND_CONV_ODD = 7,\r
- QuantizationModesMax = 0x7fffffff,\r
-};\r
-\r
-enum OverflowModes {\r
- OverflowModesWRAP = 0,\r
- OverflowModesSAT = 1,\r
- OverflowModesSAT_ZERO = 2,\r
- OverflowModesSAT_SYM = 3,\r
- OverflowModesMax = 0x7fffffff,\r
-};\r
-\r
-enum PackedVectorFormat {\r
- PackedVectorFormatPackedVectorFormat4x8Bit = 0,\r
- PackedVectorFormatPackedVectorFormat4x8BitKHR = 0,\r
- PackedVectorFormatMax = 0x7fffffff,\r
-};\r
-\r
-enum Op {\r
- OpNop = 0,\r
- OpUndef = 1,\r
- OpSourceContinued = 2,\r
- OpSource = 3,\r
- OpSourceExtension = 4,\r
- OpName = 5,\r
- OpMemberName = 6,\r
- OpString = 7,\r
- OpLine = 8,\r
- OpExtension = 10,\r
- OpExtInstImport = 11,\r
- OpExtInst = 12,\r
- OpMemoryModel = 14,\r
- OpEntryPoint = 15,\r
- OpExecutionMode = 16,\r
- OpCapability = 17,\r
- OpTypeVoid = 19,\r
- OpTypeBool = 20,\r
- OpTypeInt = 21,\r
- OpTypeFloat = 22,\r
- OpTypeVector = 23,\r
- OpTypeMatrix = 24,\r
- OpTypeImage = 25,\r
- OpTypeSampler = 26,\r
- OpTypeSampledImage = 27,\r
- OpTypeArray = 28,\r
- OpTypeRuntimeArray = 29,\r
- OpTypeStruct = 30,\r
- OpTypeOpaque = 31,\r
- OpTypePointer = 32,\r
- OpTypeFunction = 33,\r
- OpTypeEvent = 34,\r
- OpTypeDeviceEvent = 35,\r
- OpTypeReserveId = 36,\r
- OpTypeQueue = 37,\r
- OpTypePipe = 38,\r
- OpTypeForwardPointer = 39,\r
- OpConstantTrue = 41,\r
- OpConstantFalse = 42,\r
- OpConstant = 43,\r
- OpConstantComposite = 44,\r
- OpConstantSampler = 45,\r
- OpConstantNull = 46,\r
- OpSpecConstantTrue = 48,\r
- OpSpecConstantFalse = 49,\r
- OpSpecConstant = 50,\r
- OpSpecConstantComposite = 51,\r
- OpSpecConstantOp = 52,\r
- OpFunction = 54,\r
- OpFunctionParameter = 55,\r
- OpFunctionEnd = 56,\r
- OpFunctionCall = 57,\r
- OpVariable = 59,\r
- OpImageTexelPointer = 60,\r
- OpLoad = 61,\r
- OpStore = 62,\r
- OpCopyMemory = 63,\r
- OpCopyMemorySized = 64,\r
- OpAccessChain = 65,\r
- OpInBoundsAccessChain = 66,\r
- OpPtrAccessChain = 67,\r
- OpArrayLength = 68,\r
- OpGenericPtrMemSemantics = 69,\r
- OpInBoundsPtrAccessChain = 70,\r
- OpDecorate = 71,\r
- OpMemberDecorate = 72,\r
- OpDecorationGroup = 73,\r
- OpGroupDecorate = 74,\r
- OpGroupMemberDecorate = 75,\r
- OpVectorExtractDynamic = 77,\r
- OpVectorInsertDynamic = 78,\r
- OpVectorShuffle = 79,\r
- OpCompositeConstruct = 80,\r
- OpCompositeExtract = 81,\r
- OpCompositeInsert = 82,\r
- OpCopyObject = 83,\r
- OpTranspose = 84,\r
- OpSampledImage = 86,\r
- OpImageSampleImplicitLod = 87,\r
- OpImageSampleExplicitLod = 88,\r
- OpImageSampleDrefImplicitLod = 89,\r
- OpImageSampleDrefExplicitLod = 90,\r
- OpImageSampleProjImplicitLod = 91,\r
- OpImageSampleProjExplicitLod = 92,\r
- OpImageSampleProjDrefImplicitLod = 93,\r
- OpImageSampleProjDrefExplicitLod = 94,\r
- OpImageFetch = 95,\r
- OpImageGather = 96,\r
- OpImageDrefGather = 97,\r
- OpImageRead = 98,\r
- OpImageWrite = 99,\r
- OpImage = 100,\r
- OpImageQueryFormat = 101,\r
- OpImageQueryOrder = 102,\r
- OpImageQuerySizeLod = 103,\r
- OpImageQuerySize = 104,\r
- OpImageQueryLod = 105,\r
- OpImageQueryLevels = 106,\r
- OpImageQuerySamples = 107,\r
- OpConvertFToU = 109,\r
- OpConvertFToS = 110,\r
- OpConvertSToF = 111,\r
- OpConvertUToF = 112,\r
- OpUConvert = 113,\r
- OpSConvert = 114,\r
- OpFConvert = 115,\r
- OpQuantizeToF16 = 116,\r
- OpConvertPtrToU = 117,\r
- OpSatConvertSToU = 118,\r
- OpSatConvertUToS = 119,\r
- OpConvertUToPtr = 120,\r
- OpPtrCastToGeneric = 121,\r
- OpGenericCastToPtr = 122,\r
- OpGenericCastToPtrExplicit = 123,\r
- OpBitcast = 124,\r
- OpSNegate = 126,\r
- OpFNegate = 127,\r
- OpIAdd = 128,\r
- OpFAdd = 129,\r
- OpISub = 130,\r
- OpFSub = 131,\r
- OpIMul = 132,\r
- OpFMul = 133,\r
- OpUDiv = 134,\r
- OpSDiv = 135,\r
- OpFDiv = 136,\r
- OpUMod = 137,\r
- OpSRem = 138,\r
- OpSMod = 139,\r
- OpFRem = 140,\r
- OpFMod = 141,\r
- OpVectorTimesScalar = 142,\r
- OpMatrixTimesScalar = 143,\r
- OpVectorTimesMatrix = 144,\r
- OpMatrixTimesVector = 145,\r
- OpMatrixTimesMatrix = 146,\r
- OpOuterProduct = 147,\r
- OpDot = 148,\r
- OpIAddCarry = 149,\r
- OpISubBorrow = 150,\r
- OpUMulExtended = 151,\r
- OpSMulExtended = 152,\r
- OpAny = 154,\r
- OpAll = 155,\r
- OpIsNan = 156,\r
- OpIsInf = 157,\r
- OpIsFinite = 158,\r
- OpIsNormal = 159,\r
- OpSignBitSet = 160,\r
- OpLessOrGreater = 161,\r
- OpOrdered = 162,\r
- OpUnordered = 163,\r
- OpLogicalEqual = 164,\r
- OpLogicalNotEqual = 165,\r
- OpLogicalOr = 166,\r
- OpLogicalAnd = 167,\r
- OpLogicalNot = 168,\r
- OpSelect = 169,\r
- OpIEqual = 170,\r
- OpINotEqual = 171,\r
- OpUGreaterThan = 172,\r
- OpSGreaterThan = 173,\r
- OpUGreaterThanEqual = 174,\r
- OpSGreaterThanEqual = 175,\r
- OpULessThan = 176,\r
- OpSLessThan = 177,\r
- OpULessThanEqual = 178,\r
- OpSLessThanEqual = 179,\r
- OpFOrdEqual = 180,\r
- OpFUnordEqual = 181,\r
- OpFOrdNotEqual = 182,\r
- OpFUnordNotEqual = 183,\r
- OpFOrdLessThan = 184,\r
- OpFUnordLessThan = 185,\r
- OpFOrdGreaterThan = 186,\r
- OpFUnordGreaterThan = 187,\r
- OpFOrdLessThanEqual = 188,\r
- OpFUnordLessThanEqual = 189,\r
- OpFOrdGreaterThanEqual = 190,\r
- OpFUnordGreaterThanEqual = 191,\r
- OpShiftRightLogical = 194,\r
- OpShiftRightArithmetic = 195,\r
- OpShiftLeftLogical = 196,\r
- OpBitwiseOr = 197,\r
- OpBitwiseXor = 198,\r
- OpBitwiseAnd = 199,\r
- OpNot = 200,\r
- OpBitFieldInsert = 201,\r
- OpBitFieldSExtract = 202,\r
- OpBitFieldUExtract = 203,\r
- OpBitReverse = 204,\r
- OpBitCount = 205,\r
- OpDPdx = 207,\r
- OpDPdy = 208,\r
- OpFwidth = 209,\r
- OpDPdxFine = 210,\r
- OpDPdyFine = 211,\r
- OpFwidthFine = 212,\r
- OpDPdxCoarse = 213,\r
- OpDPdyCoarse = 214,\r
- OpFwidthCoarse = 215,\r
- OpEmitVertex = 218,\r
- OpEndPrimitive = 219,\r
- OpEmitStreamVertex = 220,\r
- OpEndStreamPrimitive = 221,\r
- OpControlBarrier = 224,\r
- OpMemoryBarrier = 225,\r
- OpAtomicLoad = 227,\r
- OpAtomicStore = 228,\r
- OpAtomicExchange = 229,\r
- OpAtomicCompareExchange = 230,\r
- OpAtomicCompareExchangeWeak = 231,\r
- OpAtomicIIncrement = 232,\r
- OpAtomicIDecrement = 233,\r
- OpAtomicIAdd = 234,\r
- OpAtomicISub = 235,\r
- OpAtomicSMin = 236,\r
- OpAtomicUMin = 237,\r
- OpAtomicSMax = 238,\r
- OpAtomicUMax = 239,\r
- OpAtomicAnd = 240,\r
- OpAtomicOr = 241,\r
- OpAtomicXor = 242,\r
- OpPhi = 245,\r
- OpLoopMerge = 246,\r
- OpSelectionMerge = 247,\r
- OpLabel = 248,\r
- OpBranch = 249,\r
- OpBranchConditional = 250,\r
- OpSwitch = 251,\r
- OpKill = 252,\r
- OpReturn = 253,\r
- OpReturnValue = 254,\r
- OpUnreachable = 255,\r
- OpLifetimeStart = 256,\r
- OpLifetimeStop = 257,\r
- OpGroupAsyncCopy = 259,\r
- OpGroupWaitEvents = 260,\r
- OpGroupAll = 261,\r
- OpGroupAny = 262,\r
- OpGroupBroadcast = 263,\r
- OpGroupIAdd = 264,\r
- OpGroupFAdd = 265,\r
- OpGroupFMin = 266,\r
- OpGroupUMin = 267,\r
- OpGroupSMin = 268,\r
- OpGroupFMax = 269,\r
- OpGroupUMax = 270,\r
- OpGroupSMax = 271,\r
- OpReadPipe = 274,\r
- OpWritePipe = 275,\r
- OpReservedReadPipe = 276,\r
- OpReservedWritePipe = 277,\r
- OpReserveReadPipePackets = 278,\r
- OpReserveWritePipePackets = 279,\r
- OpCommitReadPipe = 280,\r
- OpCommitWritePipe = 281,\r
- OpIsValidReserveId = 282,\r
- OpGetNumPipePackets = 283,\r
- OpGetMaxPipePackets = 284,\r
- OpGroupReserveReadPipePackets = 285,\r
- OpGroupReserveWritePipePackets = 286,\r
- OpGroupCommitReadPipe = 287,\r
- OpGroupCommitWritePipe = 288,\r
- OpEnqueueMarker = 291,\r
- OpEnqueueKernel = 292,\r
- OpGetKernelNDrangeSubGroupCount = 293,\r
- OpGetKernelNDrangeMaxSubGroupSize = 294,\r
- OpGetKernelWorkGroupSize = 295,\r
- OpGetKernelPreferredWorkGroupSizeMultiple = 296,\r
- OpRetainEvent = 297,\r
- OpReleaseEvent = 298,\r
- OpCreateUserEvent = 299,\r
- OpIsValidEvent = 300,\r
- OpSetUserEventStatus = 301,\r
- OpCaptureEventProfilingInfo = 302,\r
- OpGetDefaultQueue = 303,\r
- OpBuildNDRange = 304,\r
- OpImageSparseSampleImplicitLod = 305,\r
- OpImageSparseSampleExplicitLod = 306,\r
- OpImageSparseSampleDrefImplicitLod = 307,\r
- OpImageSparseSampleDrefExplicitLod = 308,\r
- OpImageSparseSampleProjImplicitLod = 309,\r
- OpImageSparseSampleProjExplicitLod = 310,\r
- OpImageSparseSampleProjDrefImplicitLod = 311,\r
- OpImageSparseSampleProjDrefExplicitLod = 312,\r
- OpImageSparseFetch = 313,\r
- OpImageSparseGather = 314,\r
- OpImageSparseDrefGather = 315,\r
- OpImageSparseTexelsResident = 316,\r
- OpNoLine = 317,\r
- OpAtomicFlagTestAndSet = 318,\r
- OpAtomicFlagClear = 319,\r
- OpImageSparseRead = 320,\r
- OpSizeOf = 321,\r
- OpTypePipeStorage = 322,\r
- OpConstantPipeStorage = 323,\r
- OpCreatePipeFromPipeStorage = 324,\r
- OpGetKernelLocalSizeForSubgroupCount = 325,\r
- OpGetKernelMaxNumSubgroups = 326,\r
- OpTypeNamedBarrier = 327,\r
- OpNamedBarrierInitialize = 328,\r
- OpMemoryNamedBarrier = 329,\r
- OpModuleProcessed = 330,\r
- OpExecutionModeId = 331,\r
- OpDecorateId = 332,\r
- OpGroupNonUniformElect = 333,\r
- OpGroupNonUniformAll = 334,\r
- OpGroupNonUniformAny = 335,\r
- OpGroupNonUniformAllEqual = 336,\r
- OpGroupNonUniformBroadcast = 337,\r
- OpGroupNonUniformBroadcastFirst = 338,\r
- OpGroupNonUniformBallot = 339,\r
- OpGroupNonUniformInverseBallot = 340,\r
- OpGroupNonUniformBallotBitExtract = 341,\r
- OpGroupNonUniformBallotBitCount = 342,\r
- OpGroupNonUniformBallotFindLSB = 343,\r
- OpGroupNonUniformBallotFindMSB = 344,\r
- OpGroupNonUniformShuffle = 345,\r
- OpGroupNonUniformShuffleXor = 346,\r
- OpGroupNonUniformShuffleUp = 347,\r
- OpGroupNonUniformShuffleDown = 348,\r
- OpGroupNonUniformIAdd = 349,\r
- OpGroupNonUniformFAdd = 350,\r
- OpGroupNonUniformIMul = 351,\r
- OpGroupNonUniformFMul = 352,\r
- OpGroupNonUniformSMin = 353,\r
- OpGroupNonUniformUMin = 354,\r
- OpGroupNonUniformFMin = 355,\r
- OpGroupNonUniformSMax = 356,\r
- OpGroupNonUniformUMax = 357,\r
- OpGroupNonUniformFMax = 358,\r
- OpGroupNonUniformBitwiseAnd = 359,\r
- OpGroupNonUniformBitwiseOr = 360,\r
- OpGroupNonUniformBitwiseXor = 361,\r
- OpGroupNonUniformLogicalAnd = 362,\r
- OpGroupNonUniformLogicalOr = 363,\r
- OpGroupNonUniformLogicalXor = 364,\r
- OpGroupNonUniformQuadBroadcast = 365,\r
- OpGroupNonUniformQuadSwap = 366,\r
- OpCopyLogical = 400,\r
- OpPtrEqual = 401,\r
- OpPtrNotEqual = 402,\r
- OpPtrDiff = 403,\r
- OpTerminateInvocation = 4416,\r
- OpSubgroupBallotKHR = 4421,\r
- OpSubgroupFirstInvocationKHR = 4422,\r
- OpSubgroupAllKHR = 4428,\r
- OpSubgroupAnyKHR = 4429,\r
- OpSubgroupAllEqualKHR = 4430,\r
- OpSubgroupReadInvocationKHR = 4432,\r
- OpTraceRayKHR = 4445,\r
- OpExecuteCallableKHR = 4446,\r
- OpConvertUToAccelerationStructureKHR = 4447,\r
- OpIgnoreIntersectionKHR = 4448,\r
- OpTerminateRayKHR = 4449,\r
- OpSDot = 4450,\r
- OpSDotKHR = 4450,\r
- OpUDot = 4451,\r
- OpUDotKHR = 4451,\r
- OpSUDot = 4452,\r
- OpSUDotKHR = 4452,\r
- OpSDotAccSat = 4453,\r
- OpSDotAccSatKHR = 4453,\r
- OpUDotAccSat = 4454,\r
- OpUDotAccSatKHR = 4454,\r
- OpSUDotAccSat = 4455,\r
- OpSUDotAccSatKHR = 4455,\r
- OpTypeRayQueryKHR = 4472,\r
- OpRayQueryInitializeKHR = 4473,\r
- OpRayQueryTerminateKHR = 4474,\r
- OpRayQueryGenerateIntersectionKHR = 4475,\r
- OpRayQueryConfirmIntersectionKHR = 4476,\r
- OpRayQueryProceedKHR = 4477,\r
- OpRayQueryGetIntersectionTypeKHR = 4479,\r
- OpGroupIAddNonUniformAMD = 5000,\r
- OpGroupFAddNonUniformAMD = 5001,\r
- OpGroupFMinNonUniformAMD = 5002,\r
- OpGroupUMinNonUniformAMD = 5003,\r
- OpGroupSMinNonUniformAMD = 5004,\r
- OpGroupFMaxNonUniformAMD = 5005,\r
- OpGroupUMaxNonUniformAMD = 5006,\r
- OpGroupSMaxNonUniformAMD = 5007,\r
- OpFragmentMaskFetchAMD = 5011,\r
- OpFragmentFetchAMD = 5012,\r
- OpReadClockKHR = 5056,\r
- OpImageSampleFootprintNV = 5283,\r
- OpEmitMeshTasksEXT = 5294,\r
- OpSetMeshOutputsEXT = 5295,\r
- OpGroupNonUniformPartitionNV = 5296,\r
- OpWritePackedPrimitiveIndices4x8NV = 5299,\r
- OpReportIntersectionKHR = 5334,\r
- OpReportIntersectionNV = 5334,\r
- OpIgnoreIntersectionNV = 5335,\r
- OpTerminateRayNV = 5336,\r
- OpTraceNV = 5337,\r
- OpTraceMotionNV = 5338,\r
- OpTraceRayMotionNV = 5339,\r
- OpTypeAccelerationStructureKHR = 5341,\r
- OpTypeAccelerationStructureNV = 5341,\r
- OpExecuteCallableNV = 5344,\r
- OpTypeCooperativeMatrixNV = 5358,\r
- OpCooperativeMatrixLoadNV = 5359,\r
- OpCooperativeMatrixStoreNV = 5360,\r
- OpCooperativeMatrixMulAddNV = 5361,\r
- OpCooperativeMatrixLengthNV = 5362,\r
- OpBeginInvocationInterlockEXT = 5364,\r
- OpEndInvocationInterlockEXT = 5365,\r
- OpDemoteToHelperInvocation = 5380,\r
- OpDemoteToHelperInvocationEXT = 5380,\r
- OpIsHelperInvocationEXT = 5381,\r
- OpConvertUToImageNV = 5391,\r
- OpConvertUToSamplerNV = 5392,\r
- OpConvertImageToUNV = 5393,\r
- OpConvertSamplerToUNV = 5394,\r
- OpConvertUToSampledImageNV = 5395,\r
- OpConvertSampledImageToUNV = 5396,\r
- OpSamplerImageAddressingModeNV = 5397,\r
- OpSubgroupShuffleINTEL = 5571,\r
- OpSubgroupShuffleDownINTEL = 5572,\r
- OpSubgroupShuffleUpINTEL = 5573,\r
- OpSubgroupShuffleXorINTEL = 5574,\r
- OpSubgroupBlockReadINTEL = 5575,\r
- OpSubgroupBlockWriteINTEL = 5576,\r
- OpSubgroupImageBlockReadINTEL = 5577,\r
- OpSubgroupImageBlockWriteINTEL = 5578,\r
- OpSubgroupImageMediaBlockReadINTEL = 5580,\r
- OpSubgroupImageMediaBlockWriteINTEL = 5581,\r
- OpUCountLeadingZerosINTEL = 5585,\r
- OpUCountTrailingZerosINTEL = 5586,\r
- OpAbsISubINTEL = 5587,\r
- OpAbsUSubINTEL = 5588,\r
- OpIAddSatINTEL = 5589,\r
- OpUAddSatINTEL = 5590,\r
- OpIAverageINTEL = 5591,\r
- OpUAverageINTEL = 5592,\r
- OpIAverageRoundedINTEL = 5593,\r
- OpUAverageRoundedINTEL = 5594,\r
- OpISubSatINTEL = 5595,\r
- OpUSubSatINTEL = 5596,\r
- OpIMul32x16INTEL = 5597,\r
- OpUMul32x16INTEL = 5598,\r
- OpConstantFunctionPointerINTEL = 5600,\r
- OpFunctionPointerCallINTEL = 5601,\r
- OpAsmTargetINTEL = 5609,\r
- OpAsmINTEL = 5610,\r
- OpAsmCallINTEL = 5611,\r
- OpAtomicFMinEXT = 5614,\r
- OpAtomicFMaxEXT = 5615,\r
- OpAssumeTrueKHR = 5630,\r
- OpExpectKHR = 5631,\r
- OpDecorateString = 5632,\r
- OpDecorateStringGOOGLE = 5632,\r
- OpMemberDecorateString = 5633,\r
- OpMemberDecorateStringGOOGLE = 5633,\r
- OpVmeImageINTEL = 5699,\r
- OpTypeVmeImageINTEL = 5700,\r
- OpTypeAvcImePayloadINTEL = 5701,\r
- OpTypeAvcRefPayloadINTEL = 5702,\r
- OpTypeAvcSicPayloadINTEL = 5703,\r
- OpTypeAvcMcePayloadINTEL = 5704,\r
- OpTypeAvcMceResultINTEL = 5705,\r
- OpTypeAvcImeResultINTEL = 5706,\r
- OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,\r
- OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,\r
- OpTypeAvcImeSingleReferenceStreaminINTEL = 5709,\r
- OpTypeAvcImeDualReferenceStreaminINTEL = 5710,\r
- OpTypeAvcRefResultINTEL = 5711,\r
- OpTypeAvcSicResultINTEL = 5712,\r
- OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,\r
- OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,\r
- OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,\r
- OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,\r
- OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,\r
- OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,\r
- OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,\r
- OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,\r
- OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,\r
- OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,\r
- OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,\r
- OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,\r
- OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,\r
- OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,\r
- OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,\r
- OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,\r
- OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,\r
- OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,\r
- OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,\r
- OpSubgroupAvcMceConvertToImePayloadINTEL = 5732,\r
- OpSubgroupAvcMceConvertToImeResultINTEL = 5733,\r
- OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,\r
- OpSubgroupAvcMceConvertToRefResultINTEL = 5735,\r
- OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,\r
- OpSubgroupAvcMceConvertToSicResultINTEL = 5737,\r
- OpSubgroupAvcMceGetMotionVectorsINTEL = 5738,\r
- OpSubgroupAvcMceGetInterDistortionsINTEL = 5739,\r
- OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,\r
- OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,\r
- OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,\r
- OpSubgroupAvcMceGetInterDirectionsINTEL = 5743,\r
- OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,\r
- OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,\r
- OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,\r
- OpSubgroupAvcImeInitializeINTEL = 5747,\r
- OpSubgroupAvcImeSetSingleReferenceINTEL = 5748,\r
- OpSubgroupAvcImeSetDualReferenceINTEL = 5749,\r
- OpSubgroupAvcImeRefWindowSizeINTEL = 5750,\r
- OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,\r
- OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,\r
- OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,\r
- OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,\r
- OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,\r
- OpSubgroupAvcImeSetWeightedSadINTEL = 5756,\r
- OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,\r
- OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,\r
- OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,\r
- OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,\r
- OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,\r
- OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,\r
- OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,\r
- OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,\r
- OpSubgroupAvcImeConvertToMceResultINTEL = 5765,\r
- OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,\r
- OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,\r
- OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,\r
- OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,\r
- OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,\r
- OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,\r
- OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,\r
- OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,\r
- OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,\r
- OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,\r
- OpSubgroupAvcImeGetBorderReachedINTEL = 5776,\r
- OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,\r
- OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,\r
- OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,\r
- OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,\r
- OpSubgroupAvcFmeInitializeINTEL = 5781,\r
- OpSubgroupAvcBmeInitializeINTEL = 5782,\r
- OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,\r
- OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,\r
- OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,\r
- OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,\r
- OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,\r
- OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,\r
- OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,\r
- OpSubgroupAvcRefConvertToMceResultINTEL = 5790,\r
- OpSubgroupAvcSicInitializeINTEL = 5791,\r
- OpSubgroupAvcSicConfigureSkcINTEL = 5792,\r
- OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,\r
- OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,\r
- OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,\r
- OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,\r
- OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,\r
- OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,\r
- OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,\r
- OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,\r
- OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,\r
- OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,\r
- OpSubgroupAvcSicEvaluateIpeINTEL = 5803,\r
- OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,\r
- OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,\r
- OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,\r
- OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,\r
- OpSubgroupAvcSicConvertToMceResultINTEL = 5808,\r
- OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,\r
- OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,\r
- OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,\r
- OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,\r
- OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,\r
- OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,\r
- OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,\r
- OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,\r
- OpVariableLengthArrayINTEL = 5818,\r
- OpSaveMemoryINTEL = 5819,\r
- OpRestoreMemoryINTEL = 5820,\r
- OpArbitraryFloatSinCosPiINTEL = 5840,\r
- OpArbitraryFloatCastINTEL = 5841,\r
- OpArbitraryFloatCastFromIntINTEL = 5842,\r
- OpArbitraryFloatCastToIntINTEL = 5843,\r
- OpArbitraryFloatAddINTEL = 5846,\r
- OpArbitraryFloatSubINTEL = 5847,\r
- OpArbitraryFloatMulINTEL = 5848,\r
- OpArbitraryFloatDivINTEL = 5849,\r
- OpArbitraryFloatGTINTEL = 5850,\r
- OpArbitraryFloatGEINTEL = 5851,\r
- OpArbitraryFloatLTINTEL = 5852,\r
- OpArbitraryFloatLEINTEL = 5853,\r
- OpArbitraryFloatEQINTEL = 5854,\r
- OpArbitraryFloatRecipINTEL = 5855,\r
- OpArbitraryFloatRSqrtINTEL = 5856,\r
- OpArbitraryFloatCbrtINTEL = 5857,\r
- OpArbitraryFloatHypotINTEL = 5858,\r
- OpArbitraryFloatSqrtINTEL = 5859,\r
- OpArbitraryFloatLogINTEL = 5860,\r
- OpArbitraryFloatLog2INTEL = 5861,\r
- OpArbitraryFloatLog10INTEL = 5862,\r
- OpArbitraryFloatLog1pINTEL = 5863,\r
- OpArbitraryFloatExpINTEL = 5864,\r
- OpArbitraryFloatExp2INTEL = 5865,\r
- OpArbitraryFloatExp10INTEL = 5866,\r
- OpArbitraryFloatExpm1INTEL = 5867,\r
- OpArbitraryFloatSinINTEL = 5868,\r
- OpArbitraryFloatCosINTEL = 5869,\r
- OpArbitraryFloatSinCosINTEL = 5870,\r
- OpArbitraryFloatSinPiINTEL = 5871,\r
- OpArbitraryFloatCosPiINTEL = 5872,\r
- OpArbitraryFloatASinINTEL = 5873,\r
- OpArbitraryFloatASinPiINTEL = 5874,\r
- OpArbitraryFloatACosINTEL = 5875,\r
- OpArbitraryFloatACosPiINTEL = 5876,\r
- OpArbitraryFloatATanINTEL = 5877,\r
- OpArbitraryFloatATanPiINTEL = 5878,\r
- OpArbitraryFloatATan2INTEL = 5879,\r
- OpArbitraryFloatPowINTEL = 5880,\r
- OpArbitraryFloatPowRINTEL = 5881,\r
- OpArbitraryFloatPowNINTEL = 5882,\r
- OpLoopControlINTEL = 5887,\r
- OpFixedSqrtINTEL = 5923,\r
- OpFixedRecipINTEL = 5924,\r
- OpFixedRsqrtINTEL = 5925,\r
- OpFixedSinINTEL = 5926,\r
- OpFixedCosINTEL = 5927,\r
- OpFixedSinCosINTEL = 5928,\r
- OpFixedSinPiINTEL = 5929,\r
- OpFixedCosPiINTEL = 5930,\r
- OpFixedSinCosPiINTEL = 5931,\r
- OpFixedLogINTEL = 5932,\r
- OpFixedExpINTEL = 5933,\r
- OpPtrCastToCrossWorkgroupINTEL = 5934,\r
- OpCrossWorkgroupCastToPtrINTEL = 5938,\r
- OpReadPipeBlockingINTEL = 5946,\r
- OpWritePipeBlockingINTEL = 5947,\r
- OpFPGARegINTEL = 5949,\r
- OpRayQueryGetRayTMinKHR = 6016,\r
- OpRayQueryGetRayFlagsKHR = 6017,\r
- OpRayQueryGetIntersectionTKHR = 6018,\r
- OpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,\r
- OpRayQueryGetIntersectionInstanceIdKHR = 6020,\r
- OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,\r
- OpRayQueryGetIntersectionGeometryIndexKHR = 6022,\r
- OpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,\r
- OpRayQueryGetIntersectionBarycentricsKHR = 6024,\r
- OpRayQueryGetIntersectionFrontFaceKHR = 6025,\r
- OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,\r
- OpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,\r
- OpRayQueryGetIntersectionObjectRayOriginKHR = 6028,\r
- OpRayQueryGetWorldRayDirectionKHR = 6029,\r
- OpRayQueryGetWorldRayOriginKHR = 6030,\r
- OpRayQueryGetIntersectionObjectToWorldKHR = 6031,\r
- OpRayQueryGetIntersectionWorldToObjectKHR = 6032,\r
- OpAtomicFAddEXT = 6035,\r
- OpTypeBufferSurfaceINTEL = 6086,\r
- OpTypeStructContinuedINTEL = 6090,\r
- OpConstantCompositeContinuedINTEL = 6091,\r
- OpSpecConstantCompositeContinuedINTEL = 6092,\r
- OpMax = 0x7fffffff,\r
-};\r
-\r
-#ifdef SPV_ENABLE_UTILITY_CODE\r
-inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {\r
- *hasResult = *hasResultType = false;\r
- switch (opcode) {\r
- default: /* unknown opcode */ break;\r
- case OpNop: *hasResult = false; *hasResultType = false; break;\r
- case OpUndef: *hasResult = true; *hasResultType = true; break;\r
- case OpSourceContinued: *hasResult = false; *hasResultType = false; break;\r
- case OpSource: *hasResult = false; *hasResultType = false; break;\r
- case OpSourceExtension: *hasResult = false; *hasResultType = false; break;\r
- case OpName: *hasResult = false; *hasResultType = false; break;\r
- case OpMemberName: *hasResult = false; *hasResultType = false; break;\r
- case OpString: *hasResult = true; *hasResultType = false; break;\r
- case OpLine: *hasResult = false; *hasResultType = false; break;\r
- case OpExtension: *hasResult = false; *hasResultType = false; break;\r
- case OpExtInstImport: *hasResult = true; *hasResultType = false; break;\r
- case OpExtInst: *hasResult = true; *hasResultType = true; break;\r
- case OpMemoryModel: *hasResult = false; *hasResultType = false; break;\r
- case OpEntryPoint: *hasResult = false; *hasResultType = false; break;\r
- case OpExecutionMode: *hasResult = false; *hasResultType = false; break;\r
- case OpCapability: *hasResult = false; *hasResultType = false; break;\r
- case OpTypeVoid: *hasResult = true; *hasResultType = false; break;\r
- case OpTypeBool: *hasResult = true; *hasResultType = false; break;\r
- case OpTypeInt: *hasResult = true; *hasResultType = false; break;\r
- case OpTypeFloat: *hasResult = true; *hasResultType = false; break;\r
- case OpTypeVector: *hasResult = true; *hasResultType = false; break;\r
- case OpTypeMatrix: *hasResult = true; *hasResultType = false; break;\r
- case OpTypeImage: *hasResult = true; *hasResultType = false; break;\r
- case OpTypeSampler: *hasResult = true; *hasResultType = false; break;\r
- case OpTypeSampledImage: *hasResult = true; *hasResultType = false; break;\r
- case OpTypeArray: *hasResult = true; *hasResultType = false; break;\r
- case OpTypeRuntimeArray: *hasResult = true; *hasResultType = false; break;\r
- case OpTypeStruct: *hasResult = true; *hasResultType = false; break;\r
- case OpTypeOpaque: *hasResult = true; *hasResultType = false; break;\r
- case OpTypePointer: *hasResult = true; *hasResultType = false; break;\r
- case OpTypeFunction: *hasResult = true; *hasResultType = false; break;\r
- case OpTypeEvent: *hasResult = true; *hasResultType = false; break;\r
- case OpTypeDeviceEvent: *hasResult = true; *hasResultType = false; break;\r
- case OpTypeReserveId: *hasResult = true; *hasResultType = false; break;\r
- case OpTypeQueue: *hasResult = true; *hasResultType = false; break;\r
- case OpTypePipe: *hasResult = true; *hasResultType = false; break;\r
- case OpTypeForwardPointer: *hasResult = false; *hasResultType = false; break;\r
- case OpConstantTrue: *hasResult = true; *hasResultType = true; break;\r
- case OpConstantFalse: *hasResult = true; *hasResultType = true; break;\r
- case OpConstant: *hasResult = true; *hasResultType = true; break;\r
- case OpConstantComposite: *hasResult = true; *hasResultType = true; break;\r
- case OpConstantSampler: *hasResult = true; *hasResultType = true; break;\r
- case OpConstantNull: *hasResult = true; *hasResultType = true; break;\r
- case OpSpecConstantTrue: *hasResult = true; *hasResultType = true; break;\r
- case OpSpecConstantFalse: *hasResult = true; *hasResultType = true; break;\r
- case OpSpecConstant: *hasResult = true; *hasResultType = true; break;\r
- case OpSpecConstantComposite: *hasResult = true; *hasResultType = true; break;\r
- case OpSpecConstantOp: *hasResult = true; *hasResultType = true; break;\r
- case OpFunction: *hasResult = true; *hasResultType = true; break;\r
- case OpFunctionParameter: *hasResult = true; *hasResultType = true; break;\r
- case OpFunctionEnd: *hasResult = false; *hasResultType = false; break;\r
- case OpFunctionCall: *hasResult = true; *hasResultType = true; break;\r
- case OpVariable: *hasResult = true; *hasResultType = true; break;\r
- case OpImageTexelPointer: *hasResult = true; *hasResultType = true; break;\r
- case OpLoad: *hasResult = true; *hasResultType = true; break;\r
- case OpStore: *hasResult = false; *hasResultType = false; break;\r
- case OpCopyMemory: *hasResult = false; *hasResultType = false; break;\r
- case OpCopyMemorySized: *hasResult = false; *hasResultType = false; break;\r
- case OpAccessChain: *hasResult = true; *hasResultType = true; break;\r
- case OpInBoundsAccessChain: *hasResult = true; *hasResultType = true; break;\r
- case OpPtrAccessChain: *hasResult = true; *hasResultType = true; break;\r
- case OpArrayLength: *hasResult = true; *hasResultType = true; break;\r
- case OpGenericPtrMemSemantics: *hasResult = true; *hasResultType = true; break;\r
- case OpInBoundsPtrAccessChain: *hasResult = true; *hasResultType = true; break;\r
- case OpDecorate: *hasResult = false; *hasResultType = false; break;\r
- case OpMemberDecorate: *hasResult = false; *hasResultType = false; break;\r
- case OpDecorationGroup: *hasResult = true; *hasResultType = false; break;\r
- case OpGroupDecorate: *hasResult = false; *hasResultType = false; break;\r
- case OpGroupMemberDecorate: *hasResult = false; *hasResultType = false; break;\r
- case OpVectorExtractDynamic: *hasResult = true; *hasResultType = true; break;\r
- case OpVectorInsertDynamic: *hasResult = true; *hasResultType = true; break;\r
- case OpVectorShuffle: *hasResult = true; *hasResultType = true; break;\r
- case OpCompositeConstruct: *hasResult = true; *hasResultType = true; break;\r
- case OpCompositeExtract: *hasResult = true; *hasResultType = true; break;\r
- case OpCompositeInsert: *hasResult = true; *hasResultType = true; break;\r
- case OpCopyObject: *hasResult = true; *hasResultType = true; break;\r
- case OpTranspose: *hasResult = true; *hasResultType = true; break;\r
- case OpSampledImage: *hasResult = true; *hasResultType = true; break;\r
- case OpImageSampleImplicitLod: *hasResult = true; *hasResultType = true; break;\r
- case OpImageSampleExplicitLod: *hasResult = true; *hasResultType = true; break;\r
- case OpImageSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;\r
- case OpImageSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;\r
- case OpImageSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;\r
- case OpImageSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;\r
- case OpImageSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;\r
- case OpImageSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;\r
- case OpImageFetch: *hasResult = true; *hasResultType = true; break;\r
- case OpImageGather: *hasResult = true; *hasResultType = true; break;\r
- case OpImageDrefGather: *hasResult = true; *hasResultType = true; break;\r
- case OpImageRead: *hasResult = true; *hasResultType = true; break;\r
- case OpImageWrite: *hasResult = false; *hasResultType = false; break;\r
- case OpImage: *hasResult = true; *hasResultType = true; break;\r
- case OpImageQueryFormat: *hasResult = true; *hasResultType = true; break;\r
- case OpImageQueryOrder: *hasResult = true; *hasResultType = true; break;\r
- case OpImageQuerySizeLod: *hasResult = true; *hasResultType = true; break;\r
- case OpImageQuerySize: *hasResult = true; *hasResultType = true; break;\r
- case OpImageQueryLod: *hasResult = true; *hasResultType = true; break;\r
- case OpImageQueryLevels: *hasResult = true; *hasResultType = true; break;\r
- case OpImageQuerySamples: *hasResult = true; *hasResultType = true; break;\r
- case OpConvertFToU: *hasResult = true; *hasResultType = true; break;\r
- case OpConvertFToS: *hasResult = true; *hasResultType = true; break;\r
- case OpConvertSToF: *hasResult = true; *hasResultType = true; break;\r
- case OpConvertUToF: *hasResult = true; *hasResultType = true; break;\r
- case OpUConvert: *hasResult = true; *hasResultType = true; break;\r
- case OpSConvert: *hasResult = true; *hasResultType = true; break;\r
- case OpFConvert: *hasResult = true; *hasResultType = true; break;\r
- case OpQuantizeToF16: *hasResult = true; *hasResultType = true; break;\r
- case OpConvertPtrToU: *hasResult = true; *hasResultType = true; break;\r
- case OpSatConvertSToU: *hasResult = true; *hasResultType = true; break;\r
- case OpSatConvertUToS: *hasResult = true; *hasResultType = true; break;\r
- case OpConvertUToPtr: *hasResult = true; *hasResultType = true; break;\r
- case OpPtrCastToGeneric: *hasResult = true; *hasResultType = true; break;\r
- case OpGenericCastToPtr: *hasResult = true; *hasResultType = true; break;\r
- case OpGenericCastToPtrExplicit: *hasResult = true; *hasResultType = true; break;\r
- case OpBitcast: *hasResult = true; *hasResultType = true; break;\r
- case OpSNegate: *hasResult = true; *hasResultType = true; break;\r
- case OpFNegate: *hasResult = true; *hasResultType = true; break;\r
- case OpIAdd: *hasResult = true; *hasResultType = true; break;\r
- case OpFAdd: *hasResult = true; *hasResultType = true; break;\r
- case OpISub: *hasResult = true; *hasResultType = true; break;\r
- case OpFSub: *hasResult = true; *hasResultType = true; break;\r
- case OpIMul: *hasResult = true; *hasResultType = true; break;\r
- case OpFMul: *hasResult = true; *hasResultType = true; break;\r
- case OpUDiv: *hasResult = true; *hasResultType = true; break;\r
- case OpSDiv: *hasResult = true; *hasResultType = true; break;\r
- case OpFDiv: *hasResult = true; *hasResultType = true; break;\r
- case OpUMod: *hasResult = true; *hasResultType = true; break;\r
- case OpSRem: *hasResult = true; *hasResultType = true; break;\r
- case OpSMod: *hasResult = true; *hasResultType = true; break;\r
- case OpFRem: *hasResult = true; *hasResultType = true; break;\r
- case OpFMod: *hasResult = true; *hasResultType = true; break;\r
- case OpVectorTimesScalar: *hasResult = true; *hasResultType = true; break;\r
- case OpMatrixTimesScalar: *hasResult = true; *hasResultType = true; break;\r
- case OpVectorTimesMatrix: *hasResult = true; *hasResultType = true; break;\r
- case OpMatrixTimesVector: *hasResult = true; *hasResultType = true; break;\r
- case OpMatrixTimesMatrix: *hasResult = true; *hasResultType = true; break;\r
- case OpOuterProduct: *hasResult = true; *hasResultType = true; break;\r
- case OpDot: *hasResult = true; *hasResultType = true; break;\r
- case OpIAddCarry: *hasResult = true; *hasResultType = true; break;\r
- case OpISubBorrow: *hasResult = true; *hasResultType = true; break;\r
- case OpUMulExtended: *hasResult = true; *hasResultType = true; break;\r
- case OpSMulExtended: *hasResult = true; *hasResultType = true; break;\r
- case OpAny: *hasResult = true; *hasResultType = true; break;\r
- case OpAll: *hasResult = true; *hasResultType = true; break;\r
- case OpIsNan: *hasResult = true; *hasResultType = true; break;\r
- case OpIsInf: *hasResult = true; *hasResultType = true; break;\r
- case OpIsFinite: *hasResult = true; *hasResultType = true; break;\r
- case OpIsNormal: *hasResult = true; *hasResultType = true; break;\r
- case OpSignBitSet: *hasResult = true; *hasResultType = true; break;\r
- case OpLessOrGreater: *hasResult = true; *hasResultType = true; break;\r
- case OpOrdered: *hasResult = true; *hasResultType = true; break;\r
- case OpUnordered: *hasResult = true; *hasResultType = true; break;\r
- case OpLogicalEqual: *hasResult = true; *hasResultType = true; break;\r
- case OpLogicalNotEqual: *hasResult = true; *hasResultType = true; break;\r
- case OpLogicalOr: *hasResult = true; *hasResultType = true; break;\r
- case OpLogicalAnd: *hasResult = true; *hasResultType = true; break;\r
- case OpLogicalNot: *hasResult = true; *hasResultType = true; break;\r
- case OpSelect: *hasResult = true; *hasResultType = true; break;\r
- case OpIEqual: *hasResult = true; *hasResultType = true; break;\r
- case OpINotEqual: *hasResult = true; *hasResultType = true; break;\r
- case OpUGreaterThan: *hasResult = true; *hasResultType = true; break;\r
- case OpSGreaterThan: *hasResult = true; *hasResultType = true; break;\r
- case OpUGreaterThanEqual: *hasResult = true; *hasResultType = true; break;\r
- case OpSGreaterThanEqual: *hasResult = true; *hasResultType = true; break;\r
- case OpULessThan: *hasResult = true; *hasResultType = true; break;\r
- case OpSLessThan: *hasResult = true; *hasResultType = true; break;\r
- case OpULessThanEqual: *hasResult = true; *hasResultType = true; break;\r
- case OpSLessThanEqual: *hasResult = true; *hasResultType = true; break;\r
- case OpFOrdEqual: *hasResult = true; *hasResultType = true; break;\r
- case OpFUnordEqual: *hasResult = true; *hasResultType = true; break;\r
- case OpFOrdNotEqual: *hasResult = true; *hasResultType = true; break;\r
- case OpFUnordNotEqual: *hasResult = true; *hasResultType = true; break;\r
- case OpFOrdLessThan: *hasResult = true; *hasResultType = true; break;\r
- case OpFUnordLessThan: *hasResult = true; *hasResultType = true; break;\r
- case OpFOrdGreaterThan: *hasResult = true; *hasResultType = true; break;\r
- case OpFUnordGreaterThan: *hasResult = true; *hasResultType = true; break;\r
- case OpFOrdLessThanEqual: *hasResult = true; *hasResultType = true; break;\r
- case OpFUnordLessThanEqual: *hasResult = true; *hasResultType = true; break;\r
- case OpFOrdGreaterThanEqual: *hasResult = true; *hasResultType = true; break;\r
- case OpFUnordGreaterThanEqual: *hasResult = true; *hasResultType = true; break;\r
- case OpShiftRightLogical: *hasResult = true; *hasResultType = true; break;\r
- case OpShiftRightArithmetic: *hasResult = true; *hasResultType = true; break;\r
- case OpShiftLeftLogical: *hasResult = true; *hasResultType = true; break;\r
- case OpBitwiseOr: *hasResult = true; *hasResultType = true; break;\r
- case OpBitwiseXor: *hasResult = true; *hasResultType = true; break;\r
- case OpBitwiseAnd: *hasResult = true; *hasResultType = true; break;\r
- case OpNot: *hasResult = true; *hasResultType = true; break;\r
- case OpBitFieldInsert: *hasResult = true; *hasResultType = true; break;\r
- case OpBitFieldSExtract: *hasResult = true; *hasResultType = true; break;\r
- case OpBitFieldUExtract: *hasResult = true; *hasResultType = true; break;\r
- case OpBitReverse: *hasResult = true; *hasResultType = true; break;\r
- case OpBitCount: *hasResult = true; *hasResultType = true; break;\r
- case OpDPdx: *hasResult = true; *hasResultType = true; break;\r
- case OpDPdy: *hasResult = true; *hasResultType = true; break;\r
- case OpFwidth: *hasResult = true; *hasResultType = true; break;\r
- case OpDPdxFine: *hasResult = true; *hasResultType = true; break;\r
- case OpDPdyFine: *hasResult = true; *hasResultType = true; break;\r
- case OpFwidthFine: *hasResult = true; *hasResultType = true; break;\r
- case OpDPdxCoarse: *hasResult = true; *hasResultType = true; break;\r
- case OpDPdyCoarse: *hasResult = true; *hasResultType = true; break;\r
- case OpFwidthCoarse: *hasResult = true; *hasResultType = true; break;\r
- case OpEmitVertex: *hasResult = false; *hasResultType = false; break;\r
- case OpEndPrimitive: *hasResult = false; *hasResultType = false; break;\r
- case OpEmitStreamVertex: *hasResult = false; *hasResultType = false; break;\r
- case OpEndStreamPrimitive: *hasResult = false; *hasResultType = false; break;\r
- case OpControlBarrier: *hasResult = false; *hasResultType = false; break;\r
- case OpMemoryBarrier: *hasResult = false; *hasResultType = false; break;\r
- case OpAtomicLoad: *hasResult = true; *hasResultType = true; break;\r
- case OpAtomicStore: *hasResult = false; *hasResultType = false; break;\r
- case OpAtomicExchange: *hasResult = true; *hasResultType = true; break;\r
- case OpAtomicCompareExchange: *hasResult = true; *hasResultType = true; break;\r
- case OpAtomicCompareExchangeWeak: *hasResult = true; *hasResultType = true; break;\r
- case OpAtomicIIncrement: *hasResult = true; *hasResultType = true; break;\r
- case OpAtomicIDecrement: *hasResult = true; *hasResultType = true; break;\r
- case OpAtomicIAdd: *hasResult = true; *hasResultType = true; break;\r
- case OpAtomicISub: *hasResult = true; *hasResultType = true; break;\r
- case OpAtomicSMin: *hasResult = true; *hasResultType = true; break;\r
- case OpAtomicUMin: *hasResult = true; *hasResultType = true; break;\r
- case OpAtomicSMax: *hasResult = true; *hasResultType = true; break;\r
- case OpAtomicUMax: *hasResult = true; *hasResultType = true; break;\r
- case OpAtomicAnd: *hasResult = true; *hasResultType = true; break;\r
- case OpAtomicOr: *hasResult = true; *hasResultType = true; break;\r
- case OpAtomicXor: *hasResult = true; *hasResultType = true; break;\r
- case OpPhi: *hasResult = true; *hasResultType = true; break;\r
- case OpLoopMerge: *hasResult = false; *hasResultType = false; break;\r
- case OpSelectionMerge: *hasResult = false; *hasResultType = false; break;\r
- case OpLabel: *hasResult = true; *hasResultType = false; break;\r
- case OpBranch: *hasResult = false; *hasResultType = false; break;\r
- case OpBranchConditional: *hasResult = false; *hasResultType = false; break;\r
- case OpSwitch: *hasResult = false; *hasResultType = false; break;\r
- case OpKill: *hasResult = false; *hasResultType = false; break;\r
- case OpReturn: *hasResult = false; *hasResultType = false; break;\r
- case OpReturnValue: *hasResult = false; *hasResultType = false; break;\r
- case OpUnreachable: *hasResult = false; *hasResultType = false; break;\r
- case OpLifetimeStart: *hasResult = false; *hasResultType = false; break;\r
- case OpLifetimeStop: *hasResult = false; *hasResultType = false; break;\r
- case OpGroupAsyncCopy: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupWaitEvents: *hasResult = false; *hasResultType = false; break;\r
- case OpGroupAll: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupAny: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupBroadcast: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupIAdd: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupFAdd: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupFMin: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupUMin: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupSMin: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupFMax: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupUMax: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupSMax: *hasResult = true; *hasResultType = true; break;\r
- case OpReadPipe: *hasResult = true; *hasResultType = true; break;\r
- case OpWritePipe: *hasResult = true; *hasResultType = true; break;\r
- case OpReservedReadPipe: *hasResult = true; *hasResultType = true; break;\r
- case OpReservedWritePipe: *hasResult = true; *hasResultType = true; break;\r
- case OpReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;\r
- case OpReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;\r
- case OpCommitReadPipe: *hasResult = false; *hasResultType = false; break;\r
- case OpCommitWritePipe: *hasResult = false; *hasResultType = false; break;\r
- case OpIsValidReserveId: *hasResult = true; *hasResultType = true; break;\r
- case OpGetNumPipePackets: *hasResult = true; *hasResultType = true; break;\r
- case OpGetMaxPipePackets: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupCommitReadPipe: *hasResult = false; *hasResultType = false; break;\r
- case OpGroupCommitWritePipe: *hasResult = false; *hasResultType = false; break;\r
- case OpEnqueueMarker: *hasResult = true; *hasResultType = true; break;\r
- case OpEnqueueKernel: *hasResult = true; *hasResultType = true; break;\r
- case OpGetKernelNDrangeSubGroupCount: *hasResult = true; *hasResultType = true; break;\r
- case OpGetKernelNDrangeMaxSubGroupSize: *hasResult = true; *hasResultType = true; break;\r
- case OpGetKernelWorkGroupSize: *hasResult = true; *hasResultType = true; break;\r
- case OpGetKernelPreferredWorkGroupSizeMultiple: *hasResult = true; *hasResultType = true; break;\r
- case OpRetainEvent: *hasResult = false; *hasResultType = false; break;\r
- case OpReleaseEvent: *hasResult = false; *hasResultType = false; break;\r
- case OpCreateUserEvent: *hasResult = true; *hasResultType = true; break;\r
- case OpIsValidEvent: *hasResult = true; *hasResultType = true; break;\r
- case OpSetUserEventStatus: *hasResult = false; *hasResultType = false; break;\r
- case OpCaptureEventProfilingInfo: *hasResult = false; *hasResultType = false; break;\r
- case OpGetDefaultQueue: *hasResult = true; *hasResultType = true; break;\r
- case OpBuildNDRange: *hasResult = true; *hasResultType = true; break;\r
- case OpImageSparseSampleImplicitLod: *hasResult = true; *hasResultType = true; break;\r
- case OpImageSparseSampleExplicitLod: *hasResult = true; *hasResultType = true; break;\r
- case OpImageSparseSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;\r
- case OpImageSparseSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;\r
- case OpImageSparseSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;\r
- case OpImageSparseSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;\r
- case OpImageSparseSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;\r
- case OpImageSparseSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;\r
- case OpImageSparseFetch: *hasResult = true; *hasResultType = true; break;\r
- case OpImageSparseGather: *hasResult = true; *hasResultType = true; break;\r
- case OpImageSparseDrefGather: *hasResult = true; *hasResultType = true; break;\r
- case OpImageSparseTexelsResident: *hasResult = true; *hasResultType = true; break;\r
- case OpNoLine: *hasResult = false; *hasResultType = false; break;\r
- case OpAtomicFlagTestAndSet: *hasResult = true; *hasResultType = true; break;\r
- case OpAtomicFlagClear: *hasResult = false; *hasResultType = false; break;\r
- case OpImageSparseRead: *hasResult = true; *hasResultType = true; break;\r
- case OpSizeOf: *hasResult = true; *hasResultType = true; break;\r
- case OpTypePipeStorage: *hasResult = true; *hasResultType = false; break;\r
- case OpConstantPipeStorage: *hasResult = true; *hasResultType = true; break;\r
- case OpCreatePipeFromPipeStorage: *hasResult = true; *hasResultType = true; break;\r
- case OpGetKernelLocalSizeForSubgroupCount: *hasResult = true; *hasResultType = true; break;\r
- case OpGetKernelMaxNumSubgroups: *hasResult = true; *hasResultType = true; break;\r
- case OpTypeNamedBarrier: *hasResult = true; *hasResultType = false; break;\r
- case OpNamedBarrierInitialize: *hasResult = true; *hasResultType = true; break;\r
- case OpMemoryNamedBarrier: *hasResult = false; *hasResultType = false; break;\r
- case OpModuleProcessed: *hasResult = false; *hasResultType = false; break;\r
- case OpExecutionModeId: *hasResult = false; *hasResultType = false; break;\r
- case OpDecorateId: *hasResult = false; *hasResultType = false; break;\r
- case OpGroupNonUniformElect: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformAll: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformAny: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformAllEqual: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformBroadcast: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformBroadcastFirst: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformBallot: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformInverseBallot: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformBallotBitExtract: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformBallotBitCount: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformBallotFindLSB: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformBallotFindMSB: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformShuffle: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformShuffleXor: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformShuffleUp: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformShuffleDown: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformIAdd: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformFAdd: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformIMul: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformFMul: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformSMin: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformUMin: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformFMin: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformSMax: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformUMax: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformFMax: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformBitwiseAnd: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformBitwiseOr: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformBitwiseXor: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformLogicalAnd: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformLogicalOr: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformLogicalXor: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformQuadBroadcast: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformQuadSwap: *hasResult = true; *hasResultType = true; break;\r
- case OpCopyLogical: *hasResult = true; *hasResultType = true; break;\r
- case OpPtrEqual: *hasResult = true; *hasResultType = true; break;\r
- case OpPtrNotEqual: *hasResult = true; *hasResultType = true; break;\r
- case OpPtrDiff: *hasResult = true; *hasResultType = true; break;\r
- case OpTerminateInvocation: *hasResult = false; *hasResultType = false; break;\r
- case OpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;\r
- case OpTraceRayKHR: *hasResult = false; *hasResultType = false; break;\r
- case OpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;\r
- case OpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;\r
- case OpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break;\r
- case OpTerminateRayKHR: *hasResult = false; *hasResultType = false; break;\r
- case OpSDot: *hasResult = true; *hasResultType = true; break;\r
- case OpUDot: *hasResult = true; *hasResultType = true; break;\r
- case OpSUDot: *hasResult = true; *hasResultType = true; break;\r
- case OpSDotAccSat: *hasResult = true; *hasResultType = true; break;\r
- case OpUDotAccSat: *hasResult = true; *hasResultType = true; break;\r
- case OpSUDotAccSat: *hasResult = true; *hasResultType = true; break;\r
- case OpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break;\r
- case OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;\r
- case OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;\r
- case OpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;\r
- case OpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;\r
- case OpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;\r
- case OpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupUMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupSMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupFMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupUMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;\r
- case OpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;\r
- case OpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;\r
- case OpReadClockKHR: *hasResult = true; *hasResultType = true; break;\r
- case OpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;\r
- case OpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;\r
- case OpEmitMeshTasksEXT: *hasResult = false; *hasResultType = false; break;\r
- case OpSetMeshOutputsEXT: *hasResult = false; *hasResultType = false; break;\r
- case OpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;\r
- case OpReportIntersectionNV: *hasResult = true; *hasResultType = true; break;\r
- case OpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;\r
- case OpTerminateRayNV: *hasResult = false; *hasResultType = false; break;\r
- case OpTraceNV: *hasResult = false; *hasResultType = false; break;\r
- case OpTraceMotionNV: *hasResult = false; *hasResultType = false; break;\r
- case OpTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;\r
- case OpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;\r
- case OpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;\r
- case OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;\r
- case OpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;\r
- case OpCooperativeMatrixStoreNV: *hasResult = false; *hasResultType = false; break;\r
- case OpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break;\r
- case OpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;\r
- case OpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;\r
- case OpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;\r
- case OpDemoteToHelperInvocation: *hasResult = false; *hasResultType = false; break;\r
- case OpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;\r
- case OpConvertUToImageNV: *hasResult = true; *hasResultType = true; break;\r
- case OpConvertUToSamplerNV: *hasResult = true; *hasResultType = true; break;\r
- case OpConvertImageToUNV: *hasResult = true; *hasResultType = true; break;\r
- case OpConvertSamplerToUNV: *hasResult = true; *hasResultType = true; break;\r
- case OpConvertUToSampledImageNV: *hasResult = true; *hasResultType = true; break;\r
- case OpConvertSampledImageToUNV: *hasResult = true; *hasResultType = true; break;\r
- case OpSamplerImageAddressingModeNV: *hasResult = false; *hasResultType = false; break;\r
- case OpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupShuffleXorINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupBlockReadINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;\r
- case OpSubgroupImageBlockReadINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupImageBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;\r
- case OpSubgroupImageMediaBlockReadINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupImageMediaBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;\r
- case OpUCountLeadingZerosINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpUCountTrailingZerosINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpAbsISubINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpAbsUSubINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpIAddSatINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpUAddSatINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpIAverageINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpUAverageINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpIAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpUAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpISubSatINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpConstantFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpAsmINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpAsmCallINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpAtomicFMinEXT: *hasResult = true; *hasResultType = true; break;\r
- case OpAtomicFMaxEXT: *hasResult = true; *hasResultType = true; break;\r
- case OpAssumeTrueKHR: *hasResult = false; *hasResultType = false; break;\r
- case OpExpectKHR: *hasResult = true; *hasResultType = true; break;\r
- case OpDecorateString: *hasResult = false; *hasResultType = false; break;\r
- case OpMemberDecorateString: *hasResult = false; *hasResultType = false; break;\r
- case OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpTypeVmeImageINTEL: *hasResult = true; *hasResultType = false; break;\r
- case OpTypeAvcImePayloadINTEL: *hasResult = true; *hasResultType = false; break;\r
- case OpTypeAvcRefPayloadINTEL: *hasResult = true; *hasResultType = false; break;\r
- case OpTypeAvcSicPayloadINTEL: *hasResult = true; *hasResultType = false; break;\r
- case OpTypeAvcMcePayloadINTEL: *hasResult = true; *hasResultType = false; break;\r
- case OpTypeAvcMceResultINTEL: *hasResult = true; *hasResultType = false; break;\r
- case OpTypeAvcImeResultINTEL: *hasResult = true; *hasResultType = false; break;\r
- case OpTypeAvcImeResultSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;\r
- case OpTypeAvcImeResultDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;\r
- case OpTypeAvcImeSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;\r
- case OpTypeAvcImeDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;\r
- case OpTypeAvcRefResultINTEL: *hasResult = true; *hasResultType = false; break;\r
- case OpTypeAvcSicResultINTEL: *hasResult = true; *hasResultType = false; break;\r
- case OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcMceSetInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcMceSetInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcMceSetAcOnlyHaarINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcMceConvertToImePayloadINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcMceConvertToImeResultINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcMceConvertToRefPayloadINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcMceConvertToRefResultINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcMceConvertToSicPayloadINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcMceConvertToSicResultINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcMceGetMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcMceGetInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcMceGetBestInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcMceGetInterMajorShapeINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcMceGetInterMinorShapeINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcMceGetInterDirectionsINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcMceGetInterMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcMceGetInterReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeInitializeINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeSetSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeSetDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeRefWindowSizeINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeAdjustRefOffsetINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeSetMaxMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeSetWeightedSadINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeGetSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeGetDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeStripDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeGetBorderReachedINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcFmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcBmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcRefConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcRefSetBidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcRefSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcRefEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcRefConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcSicInitializeINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcSicConfigureSkcINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcSicConfigureIpeLumaINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcSicConfigureIpeLumaChromaINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcSicGetMotionVectorMaskINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcSicConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcSicSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcSicEvaluateIpeINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcSicEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcSicConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcSicGetIpeLumaShapeINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcSicGetPackedIpeLumaModesINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcSicGetIpeChromaModeINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpSaveMemoryINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpRestoreMemoryINTEL: *hasResult = false; *hasResultType = false; break;\r
- case OpArbitraryFloatSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatCastINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatCastFromIntINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatCastToIntINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatAddINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatSubINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatMulINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatDivINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatGTINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatGEINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatLTINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatLEINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatEQINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatRecipINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatRSqrtINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatCbrtINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatHypotINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatSqrtINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatLogINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatLog2INTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatLog10INTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatLog1pINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatExpINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatExp2INTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatExp10INTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatExpm1INTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatSinINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatCosINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatSinCosINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatSinPiINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatCosPiINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatASinINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatASinPiINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatACosINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatACosPiINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatATanINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatATanPiINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatATan2INTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatPowINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatPowRINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpArbitraryFloatPowNINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;\r
- case OpFixedSqrtINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpFixedRecipINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpFixedRsqrtINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpFixedSinINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpFixedCosINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpFixedSinCosINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpFixedSinPiINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpFixedCosPiINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpFixedSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpFixedLogINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpFixedExpINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpPtrCastToCrossWorkgroupINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;\r
- case OpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;\r
- case OpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;\r
- case OpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;\r
- case OpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;\r
- case OpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;\r
- case OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;\r
- case OpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;\r
- case OpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;\r
- case OpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;\r
- case OpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;\r
- case OpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;\r
- case OpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;\r
- case OpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;\r
- case OpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;\r
- case OpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;\r
- case OpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;\r
- case OpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;\r
- case OpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break;\r
- case OpTypeBufferSurfaceINTEL: *hasResult = true; *hasResultType = false; break;\r
- case OpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;\r
- case OpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;\r
- case OpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;\r
- }\r
-}\r
-#endif /* SPV_ENABLE_UTILITY_CODE */\r
-\r
-// Overload operator| for mask bit combining\r
-\r
-inline ImageOperandsMask operator|(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) | unsigned(b)); }\r
-inline FPFastMathModeMask operator|(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) | unsigned(b)); }\r
-inline SelectionControlMask operator|(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) | unsigned(b)); }\r
-inline LoopControlMask operator|(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) | unsigned(b)); }\r
-inline FunctionControlMask operator|(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) | unsigned(b)); }\r
-inline MemorySemanticsMask operator|(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) | unsigned(b)); }\r
-inline MemoryAccessMask operator|(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) | unsigned(b)); }\r
-inline KernelProfilingInfoMask operator|(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) | unsigned(b)); }\r
-inline RayFlagsMask operator|(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) | unsigned(b)); }\r
-inline FragmentShadingRateMask operator|(FragmentShadingRateMask a, FragmentShadingRateMask b) { return FragmentShadingRateMask(unsigned(a) | unsigned(b)); }\r
-\r
-} // end namespace spv\r
-\r
-#endif // #ifndef spirv_HPP\r
+// 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_HPP
+#define spirv_HPP
+
+namespace spv {
+
+typedef unsigned int Id;
+
+#define SPV_VERSION 0x10600
+#define SPV_REVISION 1
+
+static const unsigned int MagicNumber = 0x07230203;
+static const unsigned int Version = 0x00010600;
+static const unsigned int Revision = 1;
+static const unsigned int OpCodeMask = 0xffff;
+static const unsigned int WordCountShift = 16;
+
+enum SourceLanguage {
+ SourceLanguageUnknown = 0,
+ SourceLanguageESSL = 1,
+ SourceLanguageGLSL = 2,
+ SourceLanguageOpenCL_C = 3,
+ SourceLanguageOpenCL_CPP = 4,
+ SourceLanguageHLSL = 5,
+ SourceLanguageCPP_for_OpenCL = 6,
+ SourceLanguageMax = 0x7fffffff,
+};
+
+enum ExecutionModel {
+ ExecutionModelVertex = 0,
+ ExecutionModelTessellationControl = 1,
+ ExecutionModelTessellationEvaluation = 2,
+ ExecutionModelGeometry = 3,
+ ExecutionModelFragment = 4,
+ ExecutionModelGLCompute = 5,
+ ExecutionModelKernel = 6,
+ ExecutionModelTaskNV = 5267,
+ ExecutionModelMeshNV = 5268,
+ ExecutionModelRayGenerationKHR = 5313,
+ ExecutionModelRayGenerationNV = 5313,
+ ExecutionModelIntersectionKHR = 5314,
+ ExecutionModelIntersectionNV = 5314,
+ ExecutionModelAnyHitKHR = 5315,
+ ExecutionModelAnyHitNV = 5315,
+ ExecutionModelClosestHitKHR = 5316,
+ ExecutionModelClosestHitNV = 5316,
+ ExecutionModelMissKHR = 5317,
+ ExecutionModelMissNV = 5317,
+ ExecutionModelCallableKHR = 5318,
+ ExecutionModelCallableNV = 5318,
+ ExecutionModelTaskEXT = 5364,
+ ExecutionModelMeshEXT = 5365,
+ ExecutionModelMax = 0x7fffffff,
+};
+
+enum AddressingModel {
+ AddressingModelLogical = 0,
+ AddressingModelPhysical32 = 1,
+ AddressingModelPhysical64 = 2,
+ AddressingModelPhysicalStorageBuffer64 = 5348,
+ AddressingModelPhysicalStorageBuffer64EXT = 5348,
+ AddressingModelMax = 0x7fffffff,
+};
+
+enum MemoryModel {
+ MemoryModelSimple = 0,
+ MemoryModelGLSL450 = 1,
+ MemoryModelOpenCL = 2,
+ MemoryModelVulkan = 3,
+ MemoryModelVulkanKHR = 3,
+ MemoryModelMax = 0x7fffffff,
+};
+
+enum ExecutionMode {
+ ExecutionModeInvocations = 0,
+ ExecutionModeSpacingEqual = 1,
+ ExecutionModeSpacingFractionalEven = 2,
+ ExecutionModeSpacingFractionalOdd = 3,
+ ExecutionModeVertexOrderCw = 4,
+ ExecutionModeVertexOrderCcw = 5,
+ ExecutionModePixelCenterInteger = 6,
+ ExecutionModeOriginUpperLeft = 7,
+ ExecutionModeOriginLowerLeft = 8,
+ ExecutionModeEarlyFragmentTests = 9,
+ ExecutionModePointMode = 10,
+ ExecutionModeXfb = 11,
+ ExecutionModeDepthReplacing = 12,
+ ExecutionModeDepthGreater = 14,
+ ExecutionModeDepthLess = 15,
+ ExecutionModeDepthUnchanged = 16,
+ ExecutionModeLocalSize = 17,
+ ExecutionModeLocalSizeHint = 18,
+ ExecutionModeInputPoints = 19,
+ ExecutionModeInputLines = 20,
+ ExecutionModeInputLinesAdjacency = 21,
+ ExecutionModeTriangles = 22,
+ ExecutionModeInputTrianglesAdjacency = 23,
+ ExecutionModeQuads = 24,
+ ExecutionModeIsolines = 25,
+ ExecutionModeOutputVertices = 26,
+ ExecutionModeOutputPoints = 27,
+ ExecutionModeOutputLineStrip = 28,
+ ExecutionModeOutputTriangleStrip = 29,
+ ExecutionModeVecTypeHint = 30,
+ ExecutionModeContractionOff = 31,
+ ExecutionModeInitializer = 33,
+ ExecutionModeFinalizer = 34,
+ ExecutionModeSubgroupSize = 35,
+ ExecutionModeSubgroupsPerWorkgroup = 36,
+ ExecutionModeSubgroupsPerWorkgroupId = 37,
+ ExecutionModeLocalSizeId = 38,
+ ExecutionModeLocalSizeHintId = 39,
+ ExecutionModeSubgroupUniformControlFlowKHR = 4421,
+ ExecutionModePostDepthCoverage = 4446,
+ ExecutionModeDenormPreserve = 4459,
+ ExecutionModeDenormFlushToZero = 4460,
+ ExecutionModeSignedZeroInfNanPreserve = 4461,
+ ExecutionModeRoundingModeRTE = 4462,
+ ExecutionModeRoundingModeRTZ = 4463,
+ ExecutionModeEarlyAndLateFragmentTestsAMD = 5017,
+ ExecutionModeStencilRefReplacingEXT = 5027,
+ ExecutionModeStencilRefUnchangedFrontAMD = 5079,
+ ExecutionModeStencilRefGreaterFrontAMD = 5080,
+ ExecutionModeStencilRefLessFrontAMD = 5081,
+ ExecutionModeStencilRefUnchangedBackAMD = 5082,
+ ExecutionModeStencilRefGreaterBackAMD = 5083,
+ ExecutionModeStencilRefLessBackAMD = 5084,
+ ExecutionModeOutputLinesEXT = 5269,
+ ExecutionModeOutputLinesNV = 5269,
+ ExecutionModeOutputPrimitivesEXT = 5270,
+ ExecutionModeOutputPrimitivesNV = 5270,
+ ExecutionModeDerivativeGroupQuadsNV = 5289,
+ ExecutionModeDerivativeGroupLinearNV = 5290,
+ ExecutionModeOutputTrianglesEXT = 5298,
+ ExecutionModeOutputTrianglesNV = 5298,
+ ExecutionModePixelInterlockOrderedEXT = 5366,
+ ExecutionModePixelInterlockUnorderedEXT = 5367,
+ ExecutionModeSampleInterlockOrderedEXT = 5368,
+ ExecutionModeSampleInterlockUnorderedEXT = 5369,
+ ExecutionModeShadingRateInterlockOrderedEXT = 5370,
+ ExecutionModeShadingRateInterlockUnorderedEXT = 5371,
+ ExecutionModeSharedLocalMemorySizeINTEL = 5618,
+ ExecutionModeRoundingModeRTPINTEL = 5620,
+ ExecutionModeRoundingModeRTNINTEL = 5621,
+ ExecutionModeFloatingPointModeALTINTEL = 5622,
+ ExecutionModeFloatingPointModeIEEEINTEL = 5623,
+ ExecutionModeMaxWorkgroupSizeINTEL = 5893,
+ ExecutionModeMaxWorkDimINTEL = 5894,
+ ExecutionModeNoGlobalOffsetINTEL = 5895,
+ ExecutionModeNumSIMDWorkitemsINTEL = 5896,
+ ExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,
+ ExecutionModeMax = 0x7fffffff,
+};
+
+enum StorageClass {
+ StorageClassUniformConstant = 0,
+ StorageClassInput = 1,
+ StorageClassUniform = 2,
+ StorageClassOutput = 3,
+ StorageClassWorkgroup = 4,
+ StorageClassCrossWorkgroup = 5,
+ StorageClassPrivate = 6,
+ StorageClassFunction = 7,
+ StorageClassGeneric = 8,
+ StorageClassPushConstant = 9,
+ StorageClassAtomicCounter = 10,
+ StorageClassImage = 11,
+ StorageClassStorageBuffer = 12,
+ StorageClassCallableDataKHR = 5328,
+ StorageClassCallableDataNV = 5328,
+ StorageClassIncomingCallableDataKHR = 5329,
+ StorageClassIncomingCallableDataNV = 5329,
+ StorageClassRayPayloadKHR = 5338,
+ StorageClassRayPayloadNV = 5338,
+ StorageClassHitAttributeKHR = 5339,
+ StorageClassHitAttributeNV = 5339,
+ StorageClassIncomingRayPayloadKHR = 5342,
+ StorageClassIncomingRayPayloadNV = 5342,
+ StorageClassShaderRecordBufferKHR = 5343,
+ StorageClassShaderRecordBufferNV = 5343,
+ StorageClassPhysicalStorageBuffer = 5349,
+ StorageClassPhysicalStorageBufferEXT = 5349,
+ StorageClassTaskPayloadWorkgroupEXT = 5402,
+ StorageClassCodeSectionINTEL = 5605,
+ StorageClassDeviceOnlyINTEL = 5936,
+ StorageClassHostOnlyINTEL = 5937,
+ StorageClassMax = 0x7fffffff,
+};
+
+enum Dim {
+ Dim1D = 0,
+ Dim2D = 1,
+ Dim3D = 2,
+ DimCube = 3,
+ DimRect = 4,
+ DimBuffer = 5,
+ DimSubpassData = 6,
+ DimMax = 0x7fffffff,
+};
+
+enum SamplerAddressingMode {
+ SamplerAddressingModeNone = 0,
+ SamplerAddressingModeClampToEdge = 1,
+ SamplerAddressingModeClamp = 2,
+ SamplerAddressingModeRepeat = 3,
+ SamplerAddressingModeRepeatMirrored = 4,
+ SamplerAddressingModeMax = 0x7fffffff,
+};
+
+enum SamplerFilterMode {
+ SamplerFilterModeNearest = 0,
+ SamplerFilterModeLinear = 1,
+ SamplerFilterModeMax = 0x7fffffff,
+};
+
+enum ImageFormat {
+ ImageFormatUnknown = 0,
+ ImageFormatRgba32f = 1,
+ ImageFormatRgba16f = 2,
+ ImageFormatR32f = 3,
+ ImageFormatRgba8 = 4,
+ ImageFormatRgba8Snorm = 5,
+ ImageFormatRg32f = 6,
+ ImageFormatRg16f = 7,
+ ImageFormatR11fG11fB10f = 8,
+ ImageFormatR16f = 9,
+ ImageFormatRgba16 = 10,
+ ImageFormatRgb10A2 = 11,
+ ImageFormatRg16 = 12,
+ ImageFormatRg8 = 13,
+ ImageFormatR16 = 14,
+ ImageFormatR8 = 15,
+ ImageFormatRgba16Snorm = 16,
+ ImageFormatRg16Snorm = 17,
+ ImageFormatRg8Snorm = 18,
+ ImageFormatR16Snorm = 19,
+ ImageFormatR8Snorm = 20,
+ ImageFormatRgba32i = 21,
+ ImageFormatRgba16i = 22,
+ ImageFormatRgba8i = 23,
+ ImageFormatR32i = 24,
+ ImageFormatRg32i = 25,
+ ImageFormatRg16i = 26,
+ ImageFormatRg8i = 27,
+ ImageFormatR16i = 28,
+ ImageFormatR8i = 29,
+ ImageFormatRgba32ui = 30,
+ ImageFormatRgba16ui = 31,
+ ImageFormatRgba8ui = 32,
+ ImageFormatR32ui = 33,
+ ImageFormatRgb10a2ui = 34,
+ ImageFormatRg32ui = 35,
+ ImageFormatRg16ui = 36,
+ ImageFormatRg8ui = 37,
+ ImageFormatR16ui = 38,
+ ImageFormatR8ui = 39,
+ ImageFormatR64ui = 40,
+ ImageFormatR64i = 41,
+ ImageFormatMax = 0x7fffffff,
+};
+
+enum ImageChannelOrder {
+ ImageChannelOrderR = 0,
+ ImageChannelOrderA = 1,
+ ImageChannelOrderRG = 2,
+ ImageChannelOrderRA = 3,
+ ImageChannelOrderRGB = 4,
+ ImageChannelOrderRGBA = 5,
+ ImageChannelOrderBGRA = 6,
+ ImageChannelOrderARGB = 7,
+ ImageChannelOrderIntensity = 8,
+ ImageChannelOrderLuminance = 9,
+ ImageChannelOrderRx = 10,
+ ImageChannelOrderRGx = 11,
+ ImageChannelOrderRGBx = 12,
+ ImageChannelOrderDepth = 13,
+ ImageChannelOrderDepthStencil = 14,
+ ImageChannelOrdersRGB = 15,
+ ImageChannelOrdersRGBx = 16,
+ ImageChannelOrdersRGBA = 17,
+ ImageChannelOrdersBGRA = 18,
+ ImageChannelOrderABGR = 19,
+ ImageChannelOrderMax = 0x7fffffff,
+};
+
+enum ImageChannelDataType {
+ ImageChannelDataTypeSnormInt8 = 0,
+ ImageChannelDataTypeSnormInt16 = 1,
+ ImageChannelDataTypeUnormInt8 = 2,
+ ImageChannelDataTypeUnormInt16 = 3,
+ ImageChannelDataTypeUnormShort565 = 4,
+ ImageChannelDataTypeUnormShort555 = 5,
+ ImageChannelDataTypeUnormInt101010 = 6,
+ ImageChannelDataTypeSignedInt8 = 7,
+ ImageChannelDataTypeSignedInt16 = 8,
+ ImageChannelDataTypeSignedInt32 = 9,
+ ImageChannelDataTypeUnsignedInt8 = 10,
+ ImageChannelDataTypeUnsignedInt16 = 11,
+ ImageChannelDataTypeUnsignedInt32 = 12,
+ ImageChannelDataTypeHalfFloat = 13,
+ ImageChannelDataTypeFloat = 14,
+ ImageChannelDataTypeUnormInt24 = 15,
+ ImageChannelDataTypeUnormInt101010_2 = 16,
+ ImageChannelDataTypeMax = 0x7fffffff,
+};
+
+enum ImageOperandsShift {
+ ImageOperandsBiasShift = 0,
+ ImageOperandsLodShift = 1,
+ ImageOperandsGradShift = 2,
+ ImageOperandsConstOffsetShift = 3,
+ ImageOperandsOffsetShift = 4,
+ ImageOperandsConstOffsetsShift = 5,
+ ImageOperandsSampleShift = 6,
+ ImageOperandsMinLodShift = 7,
+ ImageOperandsMakeTexelAvailableShift = 8,
+ ImageOperandsMakeTexelAvailableKHRShift = 8,
+ ImageOperandsMakeTexelVisibleShift = 9,
+ ImageOperandsMakeTexelVisibleKHRShift = 9,
+ ImageOperandsNonPrivateTexelShift = 10,
+ ImageOperandsNonPrivateTexelKHRShift = 10,
+ ImageOperandsVolatileTexelShift = 11,
+ ImageOperandsVolatileTexelKHRShift = 11,
+ ImageOperandsSignExtendShift = 12,
+ ImageOperandsZeroExtendShift = 13,
+ ImageOperandsNontemporalShift = 14,
+ ImageOperandsOffsetsShift = 16,
+ ImageOperandsMax = 0x7fffffff,
+};
+
+enum ImageOperandsMask {
+ ImageOperandsMaskNone = 0,
+ ImageOperandsBiasMask = 0x00000001,
+ ImageOperandsLodMask = 0x00000002,
+ ImageOperandsGradMask = 0x00000004,
+ ImageOperandsConstOffsetMask = 0x00000008,
+ ImageOperandsOffsetMask = 0x00000010,
+ ImageOperandsConstOffsetsMask = 0x00000020,
+ ImageOperandsSampleMask = 0x00000040,
+ ImageOperandsMinLodMask = 0x00000080,
+ ImageOperandsMakeTexelAvailableMask = 0x00000100,
+ ImageOperandsMakeTexelAvailableKHRMask = 0x00000100,
+ ImageOperandsMakeTexelVisibleMask = 0x00000200,
+ ImageOperandsMakeTexelVisibleKHRMask = 0x00000200,
+ ImageOperandsNonPrivateTexelMask = 0x00000400,
+ ImageOperandsNonPrivateTexelKHRMask = 0x00000400,
+ ImageOperandsVolatileTexelMask = 0x00000800,
+ ImageOperandsVolatileTexelKHRMask = 0x00000800,
+ ImageOperandsSignExtendMask = 0x00001000,
+ ImageOperandsZeroExtendMask = 0x00002000,
+ ImageOperandsNontemporalMask = 0x00004000,
+ ImageOperandsOffsetsMask = 0x00010000,
+};
+
+enum FPFastMathModeShift {
+ FPFastMathModeNotNaNShift = 0,
+ FPFastMathModeNotInfShift = 1,
+ FPFastMathModeNSZShift = 2,
+ FPFastMathModeAllowRecipShift = 3,
+ FPFastMathModeFastShift = 4,
+ FPFastMathModeAllowContractFastINTELShift = 16,
+ FPFastMathModeAllowReassocINTELShift = 17,
+ FPFastMathModeMax = 0x7fffffff,
+};
+
+enum FPFastMathModeMask {
+ FPFastMathModeMaskNone = 0,
+ FPFastMathModeNotNaNMask = 0x00000001,
+ FPFastMathModeNotInfMask = 0x00000002,
+ FPFastMathModeNSZMask = 0x00000004,
+ FPFastMathModeAllowRecipMask = 0x00000008,
+ FPFastMathModeFastMask = 0x00000010,
+ FPFastMathModeAllowContractFastINTELMask = 0x00010000,
+ FPFastMathModeAllowReassocINTELMask = 0x00020000,
+};
+
+enum FPRoundingMode {
+ FPRoundingModeRTE = 0,
+ FPRoundingModeRTZ = 1,
+ FPRoundingModeRTP = 2,
+ FPRoundingModeRTN = 3,
+ FPRoundingModeMax = 0x7fffffff,
+};
+
+enum LinkageType {
+ LinkageTypeExport = 0,
+ LinkageTypeImport = 1,
+ LinkageTypeLinkOnceODR = 2,
+ LinkageTypeMax = 0x7fffffff,
+};
+
+enum AccessQualifier {
+ AccessQualifierReadOnly = 0,
+ AccessQualifierWriteOnly = 1,
+ AccessQualifierReadWrite = 2,
+ AccessQualifierMax = 0x7fffffff,
+};
+
+enum FunctionParameterAttribute {
+ FunctionParameterAttributeZext = 0,
+ FunctionParameterAttributeSext = 1,
+ FunctionParameterAttributeByVal = 2,
+ FunctionParameterAttributeSret = 3,
+ FunctionParameterAttributeNoAlias = 4,
+ FunctionParameterAttributeNoCapture = 5,
+ FunctionParameterAttributeNoWrite = 6,
+ FunctionParameterAttributeNoReadWrite = 7,
+ FunctionParameterAttributeMax = 0x7fffffff,
+};
+
+enum Decoration {
+ DecorationRelaxedPrecision = 0,
+ DecorationSpecId = 1,
+ DecorationBlock = 2,
+ DecorationBufferBlock = 3,
+ DecorationRowMajor = 4,
+ DecorationColMajor = 5,
+ DecorationArrayStride = 6,
+ DecorationMatrixStride = 7,
+ DecorationGLSLShared = 8,
+ DecorationGLSLPacked = 9,
+ DecorationCPacked = 10,
+ DecorationBuiltIn = 11,
+ DecorationNoPerspective = 13,
+ DecorationFlat = 14,
+ DecorationPatch = 15,
+ DecorationCentroid = 16,
+ DecorationSample = 17,
+ DecorationInvariant = 18,
+ DecorationRestrict = 19,
+ DecorationAliased = 20,
+ DecorationVolatile = 21,
+ DecorationConstant = 22,
+ DecorationCoherent = 23,
+ DecorationNonWritable = 24,
+ DecorationNonReadable = 25,
+ DecorationUniform = 26,
+ DecorationUniformId = 27,
+ DecorationSaturatedConversion = 28,
+ DecorationStream = 29,
+ DecorationLocation = 30,
+ DecorationComponent = 31,
+ DecorationIndex = 32,
+ DecorationBinding = 33,
+ DecorationDescriptorSet = 34,
+ DecorationOffset = 35,
+ DecorationXfbBuffer = 36,
+ DecorationXfbStride = 37,
+ DecorationFuncParamAttr = 38,
+ DecorationFPRoundingMode = 39,
+ DecorationFPFastMathMode = 40,
+ DecorationLinkageAttributes = 41,
+ DecorationNoContraction = 42,
+ DecorationInputAttachmentIndex = 43,
+ DecorationAlignment = 44,
+ DecorationMaxByteOffset = 45,
+ DecorationAlignmentId = 46,
+ DecorationMaxByteOffsetId = 47,
+ DecorationNoSignedWrap = 4469,
+ DecorationNoUnsignedWrap = 4470,
+ DecorationExplicitInterpAMD = 4999,
+ DecorationOverrideCoverageNV = 5248,
+ DecorationPassthroughNV = 5250,
+ DecorationViewportRelativeNV = 5252,
+ DecorationSecondaryViewportRelativeNV = 5256,
+ DecorationPerPrimitiveEXT = 5271,
+ DecorationPerPrimitiveNV = 5271,
+ DecorationPerViewNV = 5272,
+ DecorationPerTaskNV = 5273,
+ DecorationPerVertexKHR = 5285,
+ DecorationPerVertexNV = 5285,
+ DecorationNonUniform = 5300,
+ DecorationNonUniformEXT = 5300,
+ DecorationRestrictPointer = 5355,
+ DecorationRestrictPointerEXT = 5355,
+ DecorationAliasedPointer = 5356,
+ DecorationAliasedPointerEXT = 5356,
+ DecorationBindlessSamplerNV = 5398,
+ DecorationBindlessImageNV = 5399,
+ DecorationBoundSamplerNV = 5400,
+ DecorationBoundImageNV = 5401,
+ DecorationSIMTCallINTEL = 5599,
+ DecorationReferencedIndirectlyINTEL = 5602,
+ DecorationClobberINTEL = 5607,
+ DecorationSideEffectsINTEL = 5608,
+ DecorationVectorComputeVariableINTEL = 5624,
+ DecorationFuncParamIOKindINTEL = 5625,
+ DecorationVectorComputeFunctionINTEL = 5626,
+ DecorationStackCallINTEL = 5627,
+ DecorationGlobalVariableOffsetINTEL = 5628,
+ DecorationCounterBuffer = 5634,
+ DecorationHlslCounterBufferGOOGLE = 5634,
+ DecorationHlslSemanticGOOGLE = 5635,
+ DecorationUserSemantic = 5635,
+ DecorationUserTypeGOOGLE = 5636,
+ DecorationFunctionRoundingModeINTEL = 5822,
+ DecorationFunctionDenormModeINTEL = 5823,
+ DecorationRegisterINTEL = 5825,
+ DecorationMemoryINTEL = 5826,
+ DecorationNumbanksINTEL = 5827,
+ DecorationBankwidthINTEL = 5828,
+ DecorationMaxPrivateCopiesINTEL = 5829,
+ DecorationSinglepumpINTEL = 5830,
+ DecorationDoublepumpINTEL = 5831,
+ DecorationMaxReplicatesINTEL = 5832,
+ DecorationSimpleDualPortINTEL = 5833,
+ DecorationMergeINTEL = 5834,
+ DecorationBankBitsINTEL = 5835,
+ DecorationForcePow2DepthINTEL = 5836,
+ DecorationBurstCoalesceINTEL = 5899,
+ DecorationCacheSizeINTEL = 5900,
+ DecorationDontStaticallyCoalesceINTEL = 5901,
+ DecorationPrefetchINTEL = 5902,
+ DecorationStallEnableINTEL = 5905,
+ DecorationFuseLoopsInFunctionINTEL = 5907,
+ DecorationBufferLocationINTEL = 5921,
+ DecorationIOPipeStorageINTEL = 5944,
+ DecorationFunctionFloatingPointModeINTEL = 6080,
+ DecorationSingleElementVectorINTEL = 6085,
+ DecorationVectorComputeCallableFunctionINTEL = 6087,
+ DecorationMediaBlockIOINTEL = 6140,
+ DecorationMax = 0x7fffffff,
+};
+
+enum BuiltIn {
+ BuiltInPosition = 0,
+ BuiltInPointSize = 1,
+ BuiltInClipDistance = 3,
+ BuiltInCullDistance = 4,
+ BuiltInVertexId = 5,
+ BuiltInInstanceId = 6,
+ BuiltInPrimitiveId = 7,
+ BuiltInInvocationId = 8,
+ BuiltInLayer = 9,
+ BuiltInViewportIndex = 10,
+ BuiltInTessLevelOuter = 11,
+ BuiltInTessLevelInner = 12,
+ BuiltInTessCoord = 13,
+ BuiltInPatchVertices = 14,
+ BuiltInFragCoord = 15,
+ BuiltInPointCoord = 16,
+ BuiltInFrontFacing = 17,
+ BuiltInSampleId = 18,
+ BuiltInSamplePosition = 19,
+ BuiltInSampleMask = 20,
+ BuiltInFragDepth = 22,
+ BuiltInHelperInvocation = 23,
+ BuiltInNumWorkgroups = 24,
+ BuiltInWorkgroupSize = 25,
+ BuiltInWorkgroupId = 26,
+ BuiltInLocalInvocationId = 27,
+ BuiltInGlobalInvocationId = 28,
+ BuiltInLocalInvocationIndex = 29,
+ BuiltInWorkDim = 30,
+ BuiltInGlobalSize = 31,
+ BuiltInEnqueuedWorkgroupSize = 32,
+ BuiltInGlobalOffset = 33,
+ BuiltInGlobalLinearId = 34,
+ BuiltInSubgroupSize = 36,
+ BuiltInSubgroupMaxSize = 37,
+ BuiltInNumSubgroups = 38,
+ BuiltInNumEnqueuedSubgroups = 39,
+ BuiltInSubgroupId = 40,
+ BuiltInSubgroupLocalInvocationId = 41,
+ BuiltInVertexIndex = 42,
+ BuiltInInstanceIndex = 43,
+ BuiltInSubgroupEqMask = 4416,
+ BuiltInSubgroupEqMaskKHR = 4416,
+ BuiltInSubgroupGeMask = 4417,
+ BuiltInSubgroupGeMaskKHR = 4417,
+ BuiltInSubgroupGtMask = 4418,
+ BuiltInSubgroupGtMaskKHR = 4418,
+ BuiltInSubgroupLeMask = 4419,
+ BuiltInSubgroupLeMaskKHR = 4419,
+ BuiltInSubgroupLtMask = 4420,
+ BuiltInSubgroupLtMaskKHR = 4420,
+ BuiltInBaseVertex = 4424,
+ BuiltInBaseInstance = 4425,
+ BuiltInDrawIndex = 4426,
+ BuiltInPrimitiveShadingRateKHR = 4432,
+ BuiltInDeviceIndex = 4438,
+ BuiltInViewIndex = 4440,
+ BuiltInShadingRateKHR = 4444,
+ BuiltInBaryCoordNoPerspAMD = 4992,
+ BuiltInBaryCoordNoPerspCentroidAMD = 4993,
+ BuiltInBaryCoordNoPerspSampleAMD = 4994,
+ BuiltInBaryCoordSmoothAMD = 4995,
+ BuiltInBaryCoordSmoothCentroidAMD = 4996,
+ BuiltInBaryCoordSmoothSampleAMD = 4997,
+ BuiltInBaryCoordPullModelAMD = 4998,
+ BuiltInFragStencilRefEXT = 5014,
+ BuiltInViewportMaskNV = 5253,
+ BuiltInSecondaryPositionNV = 5257,
+ BuiltInSecondaryViewportMaskNV = 5258,
+ BuiltInPositionPerViewNV = 5261,
+ BuiltInViewportMaskPerViewNV = 5262,
+ BuiltInFullyCoveredEXT = 5264,
+ BuiltInTaskCountNV = 5274,
+ BuiltInPrimitiveCountNV = 5275,
+ BuiltInPrimitiveIndicesNV = 5276,
+ BuiltInClipDistancePerViewNV = 5277,
+ BuiltInCullDistancePerViewNV = 5278,
+ BuiltInLayerPerViewNV = 5279,
+ BuiltInMeshViewCountNV = 5280,
+ BuiltInMeshViewIndicesNV = 5281,
+ BuiltInBaryCoordKHR = 5286,
+ BuiltInBaryCoordNV = 5286,
+ BuiltInBaryCoordNoPerspKHR = 5287,
+ BuiltInBaryCoordNoPerspNV = 5287,
+ BuiltInFragSizeEXT = 5292,
+ BuiltInFragmentSizeNV = 5292,
+ BuiltInFragInvocationCountEXT = 5293,
+ BuiltInInvocationsPerPixelNV = 5293,
+ BuiltInPrimitivePointIndicesEXT = 5294,
+ BuiltInPrimitiveLineIndicesEXT = 5295,
+ BuiltInPrimitiveTriangleIndicesEXT = 5296,
+ BuiltInCullPrimitiveEXT = 5299,
+ BuiltInLaunchIdKHR = 5319,
+ BuiltInLaunchIdNV = 5319,
+ BuiltInLaunchSizeKHR = 5320,
+ BuiltInLaunchSizeNV = 5320,
+ BuiltInWorldRayOriginKHR = 5321,
+ BuiltInWorldRayOriginNV = 5321,
+ BuiltInWorldRayDirectionKHR = 5322,
+ BuiltInWorldRayDirectionNV = 5322,
+ BuiltInObjectRayOriginKHR = 5323,
+ BuiltInObjectRayOriginNV = 5323,
+ BuiltInObjectRayDirectionKHR = 5324,
+ BuiltInObjectRayDirectionNV = 5324,
+ BuiltInRayTminKHR = 5325,
+ BuiltInRayTminNV = 5325,
+ BuiltInRayTmaxKHR = 5326,
+ BuiltInRayTmaxNV = 5326,
+ BuiltInInstanceCustomIndexKHR = 5327,
+ BuiltInInstanceCustomIndexNV = 5327,
+ BuiltInObjectToWorldKHR = 5330,
+ BuiltInObjectToWorldNV = 5330,
+ BuiltInWorldToObjectKHR = 5331,
+ BuiltInWorldToObjectNV = 5331,
+ BuiltInHitTNV = 5332,
+ BuiltInHitKindKHR = 5333,
+ BuiltInHitKindNV = 5333,
+ BuiltInCurrentRayTimeNV = 5334,
+ BuiltInIncomingRayFlagsKHR = 5351,
+ BuiltInIncomingRayFlagsNV = 5351,
+ BuiltInRayGeometryIndexKHR = 5352,
+ BuiltInWarpsPerSMNV = 5374,
+ BuiltInSMCountNV = 5375,
+ BuiltInWarpIDNV = 5376,
+ BuiltInSMIDNV = 5377,
+ BuiltInCullMaskKHR = 6021,
+ BuiltInMax = 0x7fffffff,
+};
+
+enum SelectionControlShift {
+ SelectionControlFlattenShift = 0,
+ SelectionControlDontFlattenShift = 1,
+ SelectionControlMax = 0x7fffffff,
+};
+
+enum SelectionControlMask {
+ SelectionControlMaskNone = 0,
+ SelectionControlFlattenMask = 0x00000001,
+ SelectionControlDontFlattenMask = 0x00000002,
+};
+
+enum LoopControlShift {
+ LoopControlUnrollShift = 0,
+ LoopControlDontUnrollShift = 1,
+ LoopControlDependencyInfiniteShift = 2,
+ LoopControlDependencyLengthShift = 3,
+ LoopControlMinIterationsShift = 4,
+ LoopControlMaxIterationsShift = 5,
+ LoopControlIterationMultipleShift = 6,
+ LoopControlPeelCountShift = 7,
+ LoopControlPartialCountShift = 8,
+ LoopControlInitiationIntervalINTELShift = 16,
+ LoopControlMaxConcurrencyINTELShift = 17,
+ LoopControlDependencyArrayINTELShift = 18,
+ LoopControlPipelineEnableINTELShift = 19,
+ LoopControlLoopCoalesceINTELShift = 20,
+ LoopControlMaxInterleavingINTELShift = 21,
+ LoopControlSpeculatedIterationsINTELShift = 22,
+ LoopControlNoFusionINTELShift = 23,
+ LoopControlMax = 0x7fffffff,
+};
+
+enum LoopControlMask {
+ LoopControlMaskNone = 0,
+ LoopControlUnrollMask = 0x00000001,
+ LoopControlDontUnrollMask = 0x00000002,
+ LoopControlDependencyInfiniteMask = 0x00000004,
+ LoopControlDependencyLengthMask = 0x00000008,
+ LoopControlMinIterationsMask = 0x00000010,
+ LoopControlMaxIterationsMask = 0x00000020,
+ LoopControlIterationMultipleMask = 0x00000040,
+ LoopControlPeelCountMask = 0x00000080,
+ LoopControlPartialCountMask = 0x00000100,
+ LoopControlInitiationIntervalINTELMask = 0x00010000,
+ LoopControlMaxConcurrencyINTELMask = 0x00020000,
+ LoopControlDependencyArrayINTELMask = 0x00040000,
+ LoopControlPipelineEnableINTELMask = 0x00080000,
+ LoopControlLoopCoalesceINTELMask = 0x00100000,
+ LoopControlMaxInterleavingINTELMask = 0x00200000,
+ LoopControlSpeculatedIterationsINTELMask = 0x00400000,
+ LoopControlNoFusionINTELMask = 0x00800000,
+};
+
+enum FunctionControlShift {
+ FunctionControlInlineShift = 0,
+ FunctionControlDontInlineShift = 1,
+ FunctionControlPureShift = 2,
+ FunctionControlConstShift = 3,
+ FunctionControlOptNoneINTELShift = 16,
+ FunctionControlMax = 0x7fffffff,
+};
+
+enum FunctionControlMask {
+ FunctionControlMaskNone = 0,
+ FunctionControlInlineMask = 0x00000001,
+ FunctionControlDontInlineMask = 0x00000002,
+ FunctionControlPureMask = 0x00000004,
+ FunctionControlConstMask = 0x00000008,
+ FunctionControlOptNoneINTELMask = 0x00010000,
+};
+
+enum MemorySemanticsShift {
+ MemorySemanticsAcquireShift = 1,
+ MemorySemanticsReleaseShift = 2,
+ MemorySemanticsAcquireReleaseShift = 3,
+ MemorySemanticsSequentiallyConsistentShift = 4,
+ MemorySemanticsUniformMemoryShift = 6,
+ MemorySemanticsSubgroupMemoryShift = 7,
+ MemorySemanticsWorkgroupMemoryShift = 8,
+ MemorySemanticsCrossWorkgroupMemoryShift = 9,
+ MemorySemanticsAtomicCounterMemoryShift = 10,
+ MemorySemanticsImageMemoryShift = 11,
+ MemorySemanticsOutputMemoryShift = 12,
+ MemorySemanticsOutputMemoryKHRShift = 12,
+ MemorySemanticsMakeAvailableShift = 13,
+ MemorySemanticsMakeAvailableKHRShift = 13,
+ MemorySemanticsMakeVisibleShift = 14,
+ MemorySemanticsMakeVisibleKHRShift = 14,
+ MemorySemanticsVolatileShift = 15,
+ MemorySemanticsMax = 0x7fffffff,
+};
+
+enum MemorySemanticsMask {
+ MemorySemanticsMaskNone = 0,
+ MemorySemanticsAcquireMask = 0x00000002,
+ MemorySemanticsReleaseMask = 0x00000004,
+ MemorySemanticsAcquireReleaseMask = 0x00000008,
+ MemorySemanticsSequentiallyConsistentMask = 0x00000010,
+ MemorySemanticsUniformMemoryMask = 0x00000040,
+ MemorySemanticsSubgroupMemoryMask = 0x00000080,
+ MemorySemanticsWorkgroupMemoryMask = 0x00000100,
+ MemorySemanticsCrossWorkgroupMemoryMask = 0x00000200,
+ MemorySemanticsAtomicCounterMemoryMask = 0x00000400,
+ MemorySemanticsImageMemoryMask = 0x00000800,
+ MemorySemanticsOutputMemoryMask = 0x00001000,
+ MemorySemanticsOutputMemoryKHRMask = 0x00001000,
+ MemorySemanticsMakeAvailableMask = 0x00002000,
+ MemorySemanticsMakeAvailableKHRMask = 0x00002000,
+ MemorySemanticsMakeVisibleMask = 0x00004000,
+ MemorySemanticsMakeVisibleKHRMask = 0x00004000,
+ MemorySemanticsVolatileMask = 0x00008000,
+};
+
+enum MemoryAccessShift {
+ MemoryAccessVolatileShift = 0,
+ MemoryAccessAlignedShift = 1,
+ MemoryAccessNontemporalShift = 2,
+ MemoryAccessMakePointerAvailableShift = 3,
+ MemoryAccessMakePointerAvailableKHRShift = 3,
+ MemoryAccessMakePointerVisibleShift = 4,
+ MemoryAccessMakePointerVisibleKHRShift = 4,
+ MemoryAccessNonPrivatePointerShift = 5,
+ MemoryAccessNonPrivatePointerKHRShift = 5,
+ MemoryAccessMax = 0x7fffffff,
+};
+
+enum MemoryAccessMask {
+ MemoryAccessMaskNone = 0,
+ MemoryAccessVolatileMask = 0x00000001,
+ MemoryAccessAlignedMask = 0x00000002,
+ MemoryAccessNontemporalMask = 0x00000004,
+ MemoryAccessMakePointerAvailableMask = 0x00000008,
+ MemoryAccessMakePointerAvailableKHRMask = 0x00000008,
+ MemoryAccessMakePointerVisibleMask = 0x00000010,
+ MemoryAccessMakePointerVisibleKHRMask = 0x00000010,
+ MemoryAccessNonPrivatePointerMask = 0x00000020,
+ MemoryAccessNonPrivatePointerKHRMask = 0x00000020,
+};
+
+enum Scope {
+ ScopeCrossDevice = 0,
+ ScopeDevice = 1,
+ ScopeWorkgroup = 2,
+ ScopeSubgroup = 3,
+ ScopeInvocation = 4,
+ ScopeQueueFamily = 5,
+ ScopeQueueFamilyKHR = 5,
+ ScopeShaderCallKHR = 6,
+ ScopeMax = 0x7fffffff,
+};
+
+enum GroupOperation {
+ GroupOperationReduce = 0,
+ GroupOperationInclusiveScan = 1,
+ GroupOperationExclusiveScan = 2,
+ GroupOperationClusteredReduce = 3,
+ GroupOperationPartitionedReduceNV = 6,
+ GroupOperationPartitionedInclusiveScanNV = 7,
+ GroupOperationPartitionedExclusiveScanNV = 8,
+ GroupOperationMax = 0x7fffffff,
+};
+
+enum KernelEnqueueFlags {
+ KernelEnqueueFlagsNoWait = 0,
+ KernelEnqueueFlagsWaitKernel = 1,
+ KernelEnqueueFlagsWaitWorkGroup = 2,
+ KernelEnqueueFlagsMax = 0x7fffffff,
+};
+
+enum KernelProfilingInfoShift {
+ KernelProfilingInfoCmdExecTimeShift = 0,
+ KernelProfilingInfoMax = 0x7fffffff,
+};
+
+enum KernelProfilingInfoMask {
+ KernelProfilingInfoMaskNone = 0,
+ KernelProfilingInfoCmdExecTimeMask = 0x00000001,
+};
+
+enum Capability {
+ CapabilityMatrix = 0,
+ CapabilityShader = 1,
+ CapabilityGeometry = 2,
+ CapabilityTessellation = 3,
+ CapabilityAddresses = 4,
+ CapabilityLinkage = 5,
+ CapabilityKernel = 6,
+ CapabilityVector16 = 7,
+ CapabilityFloat16Buffer = 8,
+ CapabilityFloat16 = 9,
+ CapabilityFloat64 = 10,
+ CapabilityInt64 = 11,
+ CapabilityInt64Atomics = 12,
+ CapabilityImageBasic = 13,
+ CapabilityImageReadWrite = 14,
+ CapabilityImageMipmap = 15,
+ CapabilityPipes = 17,
+ CapabilityGroups = 18,
+ CapabilityDeviceEnqueue = 19,
+ CapabilityLiteralSampler = 20,
+ CapabilityAtomicStorage = 21,
+ CapabilityInt16 = 22,
+ CapabilityTessellationPointSize = 23,
+ CapabilityGeometryPointSize = 24,
+ CapabilityImageGatherExtended = 25,
+ CapabilityStorageImageMultisample = 27,
+ CapabilityUniformBufferArrayDynamicIndexing = 28,
+ CapabilitySampledImageArrayDynamicIndexing = 29,
+ CapabilityStorageBufferArrayDynamicIndexing = 30,
+ CapabilityStorageImageArrayDynamicIndexing = 31,
+ CapabilityClipDistance = 32,
+ CapabilityCullDistance = 33,
+ CapabilityImageCubeArray = 34,
+ CapabilitySampleRateShading = 35,
+ CapabilityImageRect = 36,
+ CapabilitySampledRect = 37,
+ CapabilityGenericPointer = 38,
+ CapabilityInt8 = 39,
+ CapabilityInputAttachment = 40,
+ CapabilitySparseResidency = 41,
+ CapabilityMinLod = 42,
+ CapabilitySampled1D = 43,
+ CapabilityImage1D = 44,
+ CapabilitySampledCubeArray = 45,
+ CapabilitySampledBuffer = 46,
+ CapabilityImageBuffer = 47,
+ CapabilityImageMSArray = 48,
+ CapabilityStorageImageExtendedFormats = 49,
+ CapabilityImageQuery = 50,
+ CapabilityDerivativeControl = 51,
+ CapabilityInterpolationFunction = 52,
+ CapabilityTransformFeedback = 53,
+ CapabilityGeometryStreams = 54,
+ CapabilityStorageImageReadWithoutFormat = 55,
+ CapabilityStorageImageWriteWithoutFormat = 56,
+ CapabilityMultiViewport = 57,
+ CapabilitySubgroupDispatch = 58,
+ CapabilityNamedBarrier = 59,
+ CapabilityPipeStorage = 60,
+ CapabilityGroupNonUniform = 61,
+ CapabilityGroupNonUniformVote = 62,
+ CapabilityGroupNonUniformArithmetic = 63,
+ CapabilityGroupNonUniformBallot = 64,
+ CapabilityGroupNonUniformShuffle = 65,
+ CapabilityGroupNonUniformShuffleRelative = 66,
+ CapabilityGroupNonUniformClustered = 67,
+ CapabilityGroupNonUniformQuad = 68,
+ CapabilityShaderLayer = 69,
+ CapabilityShaderViewportIndex = 70,
+ CapabilityUniformDecoration = 71,
+ CapabilityFragmentShadingRateKHR = 4422,
+ CapabilitySubgroupBallotKHR = 4423,
+ CapabilityDrawParameters = 4427,
+ CapabilityWorkgroupMemoryExplicitLayoutKHR = 4428,
+ CapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,
+ CapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,
+ CapabilitySubgroupVoteKHR = 4431,
+ CapabilityStorageBuffer16BitAccess = 4433,
+ CapabilityStorageUniformBufferBlock16 = 4433,
+ CapabilityStorageUniform16 = 4434,
+ CapabilityUniformAndStorageBuffer16BitAccess = 4434,
+ CapabilityStoragePushConstant16 = 4435,
+ CapabilityStorageInputOutput16 = 4436,
+ CapabilityDeviceGroup = 4437,
+ CapabilityMultiView = 4439,
+ CapabilityVariablePointersStorageBuffer = 4441,
+ CapabilityVariablePointers = 4442,
+ CapabilityAtomicStorageOps = 4445,
+ CapabilitySampleMaskPostDepthCoverage = 4447,
+ CapabilityStorageBuffer8BitAccess = 4448,
+ CapabilityUniformAndStorageBuffer8BitAccess = 4449,
+ CapabilityStoragePushConstant8 = 4450,
+ CapabilityDenormPreserve = 4464,
+ CapabilityDenormFlushToZero = 4465,
+ CapabilitySignedZeroInfNanPreserve = 4466,
+ CapabilityRoundingModeRTE = 4467,
+ CapabilityRoundingModeRTZ = 4468,
+ CapabilityRayQueryProvisionalKHR = 4471,
+ CapabilityRayQueryKHR = 4472,
+ CapabilityRayTraversalPrimitiveCullingKHR = 4478,
+ CapabilityRayTracingKHR = 4479,
+ CapabilityFloat16ImageAMD = 5008,
+ CapabilityImageGatherBiasLodAMD = 5009,
+ CapabilityFragmentMaskAMD = 5010,
+ CapabilityStencilExportEXT = 5013,
+ CapabilityImageReadWriteLodAMD = 5015,
+ CapabilityInt64ImageEXT = 5016,
+ CapabilityShaderClockKHR = 5055,
+ CapabilitySampleMaskOverrideCoverageNV = 5249,
+ CapabilityGeometryShaderPassthroughNV = 5251,
+ CapabilityShaderViewportIndexLayerEXT = 5254,
+ CapabilityShaderViewportIndexLayerNV = 5254,
+ CapabilityShaderViewportMaskNV = 5255,
+ CapabilityShaderStereoViewNV = 5259,
+ CapabilityPerViewAttributesNV = 5260,
+ CapabilityFragmentFullyCoveredEXT = 5265,
+ CapabilityMeshShadingNV = 5266,
+ CapabilityImageFootprintNV = 5282,
+ CapabilityMeshShadingEXT = 5283,
+ CapabilityFragmentBarycentricKHR = 5284,
+ CapabilityFragmentBarycentricNV = 5284,
+ CapabilityComputeDerivativeGroupQuadsNV = 5288,
+ CapabilityFragmentDensityEXT = 5291,
+ CapabilityShadingRateNV = 5291,
+ CapabilityGroupNonUniformPartitionedNV = 5297,
+ CapabilityShaderNonUniform = 5301,
+ CapabilityShaderNonUniformEXT = 5301,
+ CapabilityRuntimeDescriptorArray = 5302,
+ CapabilityRuntimeDescriptorArrayEXT = 5302,
+ CapabilityInputAttachmentArrayDynamicIndexing = 5303,
+ CapabilityInputAttachmentArrayDynamicIndexingEXT = 5303,
+ CapabilityUniformTexelBufferArrayDynamicIndexing = 5304,
+ CapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304,
+ CapabilityStorageTexelBufferArrayDynamicIndexing = 5305,
+ CapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305,
+ CapabilityUniformBufferArrayNonUniformIndexing = 5306,
+ CapabilityUniformBufferArrayNonUniformIndexingEXT = 5306,
+ CapabilitySampledImageArrayNonUniformIndexing = 5307,
+ CapabilitySampledImageArrayNonUniformIndexingEXT = 5307,
+ CapabilityStorageBufferArrayNonUniformIndexing = 5308,
+ CapabilityStorageBufferArrayNonUniformIndexingEXT = 5308,
+ CapabilityStorageImageArrayNonUniformIndexing = 5309,
+ CapabilityStorageImageArrayNonUniformIndexingEXT = 5309,
+ CapabilityInputAttachmentArrayNonUniformIndexing = 5310,
+ CapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,
+ CapabilityUniformTexelBufferArrayNonUniformIndexing = 5311,
+ CapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
+ CapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
+ CapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
+ CapabilityRayTracingNV = 5340,
+ CapabilityRayTracingMotionBlurNV = 5341,
+ CapabilityVulkanMemoryModel = 5345,
+ CapabilityVulkanMemoryModelKHR = 5345,
+ CapabilityVulkanMemoryModelDeviceScope = 5346,
+ CapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
+ CapabilityPhysicalStorageBufferAddresses = 5347,
+ CapabilityPhysicalStorageBufferAddressesEXT = 5347,
+ CapabilityComputeDerivativeGroupLinearNV = 5350,
+ CapabilityRayTracingProvisionalKHR = 5353,
+ CapabilityCooperativeMatrixNV = 5357,
+ CapabilityFragmentShaderSampleInterlockEXT = 5363,
+ CapabilityFragmentShaderShadingRateInterlockEXT = 5372,
+ CapabilityShaderSMBuiltinsNV = 5373,
+ CapabilityFragmentShaderPixelInterlockEXT = 5378,
+ CapabilityDemoteToHelperInvocation = 5379,
+ CapabilityDemoteToHelperInvocationEXT = 5379,
+ CapabilityBindlessTextureNV = 5390,
+ CapabilitySubgroupShuffleINTEL = 5568,
+ CapabilitySubgroupBufferBlockIOINTEL = 5569,
+ CapabilitySubgroupImageBlockIOINTEL = 5570,
+ CapabilitySubgroupImageMediaBlockIOINTEL = 5579,
+ CapabilityRoundToInfinityINTEL = 5582,
+ CapabilityFloatingPointModeINTEL = 5583,
+ CapabilityIntegerFunctions2INTEL = 5584,
+ CapabilityFunctionPointersINTEL = 5603,
+ CapabilityIndirectReferencesINTEL = 5604,
+ CapabilityAsmINTEL = 5606,
+ CapabilityAtomicFloat32MinMaxEXT = 5612,
+ CapabilityAtomicFloat64MinMaxEXT = 5613,
+ CapabilityAtomicFloat16MinMaxEXT = 5616,
+ CapabilityVectorComputeINTEL = 5617,
+ CapabilityVectorAnyINTEL = 5619,
+ CapabilityExpectAssumeKHR = 5629,
+ CapabilitySubgroupAvcMotionEstimationINTEL = 5696,
+ CapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
+ CapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
+ CapabilityVariableLengthArrayINTEL = 5817,
+ CapabilityFunctionFloatControlINTEL = 5821,
+ CapabilityFPGAMemoryAttributesINTEL = 5824,
+ CapabilityFPFastMathModeINTEL = 5837,
+ CapabilityArbitraryPrecisionIntegersINTEL = 5844,
+ CapabilityArbitraryPrecisionFloatingPointINTEL = 5845,
+ CapabilityUnstructuredLoopControlsINTEL = 5886,
+ CapabilityFPGALoopControlsINTEL = 5888,
+ CapabilityKernelAttributesINTEL = 5892,
+ CapabilityFPGAKernelAttributesINTEL = 5897,
+ CapabilityFPGAMemoryAccessesINTEL = 5898,
+ CapabilityFPGAClusterAttributesINTEL = 5904,
+ CapabilityLoopFuseINTEL = 5906,
+ CapabilityFPGABufferLocationINTEL = 5920,
+ CapabilityArbitraryPrecisionFixedPointINTEL = 5922,
+ CapabilityUSMStorageClassesINTEL = 5935,
+ CapabilityIOPipesINTEL = 5943,
+ CapabilityBlockingPipesINTEL = 5945,
+ CapabilityFPGARegINTEL = 5948,
+ CapabilityDotProductInputAll = 6016,
+ CapabilityDotProductInputAllKHR = 6016,
+ CapabilityDotProductInput4x8Bit = 6017,
+ CapabilityDotProductInput4x8BitKHR = 6017,
+ CapabilityDotProductInput4x8BitPacked = 6018,
+ CapabilityDotProductInput4x8BitPackedKHR = 6018,
+ CapabilityDotProduct = 6019,
+ CapabilityDotProductKHR = 6019,
+ CapabilityRayCullMaskKHR = 6020,
+ CapabilityBitInstructions = 6025,
+ CapabilityAtomicFloat32AddEXT = 6033,
+ CapabilityAtomicFloat64AddEXT = 6034,
+ CapabilityLongConstantCompositeINTEL = 6089,
+ CapabilityOptNoneINTEL = 6094,
+ CapabilityAtomicFloat16AddEXT = 6095,
+ CapabilityDebugInfoModuleINTEL = 6114,
+ CapabilityMax = 0x7fffffff,
+};
+
+enum RayFlagsShift {
+ RayFlagsOpaqueKHRShift = 0,
+ RayFlagsNoOpaqueKHRShift = 1,
+ RayFlagsTerminateOnFirstHitKHRShift = 2,
+ RayFlagsSkipClosestHitShaderKHRShift = 3,
+ RayFlagsCullBackFacingTrianglesKHRShift = 4,
+ RayFlagsCullFrontFacingTrianglesKHRShift = 5,
+ RayFlagsCullOpaqueKHRShift = 6,
+ RayFlagsCullNoOpaqueKHRShift = 7,
+ RayFlagsSkipTrianglesKHRShift = 8,
+ RayFlagsSkipAABBsKHRShift = 9,
+ RayFlagsMax = 0x7fffffff,
+};
+
+enum RayFlagsMask {
+ RayFlagsMaskNone = 0,
+ RayFlagsOpaqueKHRMask = 0x00000001,
+ RayFlagsNoOpaqueKHRMask = 0x00000002,
+ RayFlagsTerminateOnFirstHitKHRMask = 0x00000004,
+ RayFlagsSkipClosestHitShaderKHRMask = 0x00000008,
+ RayFlagsCullBackFacingTrianglesKHRMask = 0x00000010,
+ RayFlagsCullFrontFacingTrianglesKHRMask = 0x00000020,
+ RayFlagsCullOpaqueKHRMask = 0x00000040,
+ RayFlagsCullNoOpaqueKHRMask = 0x00000080,
+ RayFlagsSkipTrianglesKHRMask = 0x00000100,
+ RayFlagsSkipAABBsKHRMask = 0x00000200,
+};
+
+enum RayQueryIntersection {
+ RayQueryIntersectionRayQueryCandidateIntersectionKHR = 0,
+ RayQueryIntersectionRayQueryCommittedIntersectionKHR = 1,
+ RayQueryIntersectionMax = 0x7fffffff,
+};
+
+enum RayQueryCommittedIntersectionType {
+ RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR = 0,
+ RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR = 1,
+ RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR = 2,
+ RayQueryCommittedIntersectionTypeMax = 0x7fffffff,
+};
+
+enum RayQueryCandidateIntersectionType {
+ RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR = 0,
+ RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR = 1,
+ RayQueryCandidateIntersectionTypeMax = 0x7fffffff,
+};
+
+enum FragmentShadingRateShift {
+ FragmentShadingRateVertical2PixelsShift = 0,
+ FragmentShadingRateVertical4PixelsShift = 1,
+ FragmentShadingRateHorizontal2PixelsShift = 2,
+ FragmentShadingRateHorizontal4PixelsShift = 3,
+ FragmentShadingRateMax = 0x7fffffff,
+};
+
+enum FragmentShadingRateMask {
+ FragmentShadingRateMaskNone = 0,
+ FragmentShadingRateVertical2PixelsMask = 0x00000001,
+ FragmentShadingRateVertical4PixelsMask = 0x00000002,
+ FragmentShadingRateHorizontal2PixelsMask = 0x00000004,
+ FragmentShadingRateHorizontal4PixelsMask = 0x00000008,
+};
+
+enum FPDenormMode {
+ FPDenormModePreserve = 0,
+ FPDenormModeFlushToZero = 1,
+ FPDenormModeMax = 0x7fffffff,
+};
+
+enum FPOperationMode {
+ FPOperationModeIEEE = 0,
+ FPOperationModeALT = 1,
+ FPOperationModeMax = 0x7fffffff,
+};
+
+enum QuantizationModes {
+ QuantizationModesTRN = 0,
+ QuantizationModesTRN_ZERO = 1,
+ QuantizationModesRND = 2,
+ QuantizationModesRND_ZERO = 3,
+ QuantizationModesRND_INF = 4,
+ QuantizationModesRND_MIN_INF = 5,
+ QuantizationModesRND_CONV = 6,
+ QuantizationModesRND_CONV_ODD = 7,
+ QuantizationModesMax = 0x7fffffff,
+};
+
+enum OverflowModes {
+ OverflowModesWRAP = 0,
+ OverflowModesSAT = 1,
+ OverflowModesSAT_ZERO = 2,
+ OverflowModesSAT_SYM = 3,
+ OverflowModesMax = 0x7fffffff,
+};
+
+enum PackedVectorFormat {
+ PackedVectorFormatPackedVectorFormat4x8Bit = 0,
+ PackedVectorFormatPackedVectorFormat4x8BitKHR = 0,
+ PackedVectorFormatMax = 0x7fffffff,
+};
+
+enum Op {
+ OpNop = 0,
+ OpUndef = 1,
+ OpSourceContinued = 2,
+ OpSource = 3,
+ OpSourceExtension = 4,
+ OpName = 5,
+ OpMemberName = 6,
+ OpString = 7,
+ OpLine = 8,
+ OpExtension = 10,
+ OpExtInstImport = 11,
+ OpExtInst = 12,
+ OpMemoryModel = 14,
+ OpEntryPoint = 15,
+ OpExecutionMode = 16,
+ OpCapability = 17,
+ OpTypeVoid = 19,
+ OpTypeBool = 20,
+ OpTypeInt = 21,
+ OpTypeFloat = 22,
+ OpTypeVector = 23,
+ OpTypeMatrix = 24,
+ OpTypeImage = 25,
+ OpTypeSampler = 26,
+ OpTypeSampledImage = 27,
+ OpTypeArray = 28,
+ OpTypeRuntimeArray = 29,
+ OpTypeStruct = 30,
+ OpTypeOpaque = 31,
+ OpTypePointer = 32,
+ OpTypeFunction = 33,
+ OpTypeEvent = 34,
+ OpTypeDeviceEvent = 35,
+ OpTypeReserveId = 36,
+ OpTypeQueue = 37,
+ OpTypePipe = 38,
+ OpTypeForwardPointer = 39,
+ OpConstantTrue = 41,
+ OpConstantFalse = 42,
+ OpConstant = 43,
+ OpConstantComposite = 44,
+ OpConstantSampler = 45,
+ OpConstantNull = 46,
+ OpSpecConstantTrue = 48,
+ OpSpecConstantFalse = 49,
+ OpSpecConstant = 50,
+ OpSpecConstantComposite = 51,
+ OpSpecConstantOp = 52,
+ OpFunction = 54,
+ OpFunctionParameter = 55,
+ OpFunctionEnd = 56,
+ OpFunctionCall = 57,
+ OpVariable = 59,
+ OpImageTexelPointer = 60,
+ OpLoad = 61,
+ OpStore = 62,
+ OpCopyMemory = 63,
+ OpCopyMemorySized = 64,
+ OpAccessChain = 65,
+ OpInBoundsAccessChain = 66,
+ OpPtrAccessChain = 67,
+ OpArrayLength = 68,
+ OpGenericPtrMemSemantics = 69,
+ OpInBoundsPtrAccessChain = 70,
+ OpDecorate = 71,
+ OpMemberDecorate = 72,
+ OpDecorationGroup = 73,
+ OpGroupDecorate = 74,
+ OpGroupMemberDecorate = 75,
+ OpVectorExtractDynamic = 77,
+ OpVectorInsertDynamic = 78,
+ OpVectorShuffle = 79,
+ OpCompositeConstruct = 80,
+ OpCompositeExtract = 81,
+ OpCompositeInsert = 82,
+ OpCopyObject = 83,
+ OpTranspose = 84,
+ OpSampledImage = 86,
+ OpImageSampleImplicitLod = 87,
+ OpImageSampleExplicitLod = 88,
+ OpImageSampleDrefImplicitLod = 89,
+ OpImageSampleDrefExplicitLod = 90,
+ OpImageSampleProjImplicitLod = 91,
+ OpImageSampleProjExplicitLod = 92,
+ OpImageSampleProjDrefImplicitLod = 93,
+ OpImageSampleProjDrefExplicitLod = 94,
+ OpImageFetch = 95,
+ OpImageGather = 96,
+ OpImageDrefGather = 97,
+ OpImageRead = 98,
+ OpImageWrite = 99,
+ OpImage = 100,
+ OpImageQueryFormat = 101,
+ OpImageQueryOrder = 102,
+ OpImageQuerySizeLod = 103,
+ OpImageQuerySize = 104,
+ OpImageQueryLod = 105,
+ OpImageQueryLevels = 106,
+ OpImageQuerySamples = 107,
+ OpConvertFToU = 109,
+ OpConvertFToS = 110,
+ OpConvertSToF = 111,
+ OpConvertUToF = 112,
+ OpUConvert = 113,
+ OpSConvert = 114,
+ OpFConvert = 115,
+ OpQuantizeToF16 = 116,
+ OpConvertPtrToU = 117,
+ OpSatConvertSToU = 118,
+ OpSatConvertUToS = 119,
+ OpConvertUToPtr = 120,
+ OpPtrCastToGeneric = 121,
+ OpGenericCastToPtr = 122,
+ OpGenericCastToPtrExplicit = 123,
+ OpBitcast = 124,
+ OpSNegate = 126,
+ OpFNegate = 127,
+ OpIAdd = 128,
+ OpFAdd = 129,
+ OpISub = 130,
+ OpFSub = 131,
+ OpIMul = 132,
+ OpFMul = 133,
+ OpUDiv = 134,
+ OpSDiv = 135,
+ OpFDiv = 136,
+ OpUMod = 137,
+ OpSRem = 138,
+ OpSMod = 139,
+ OpFRem = 140,
+ OpFMod = 141,
+ OpVectorTimesScalar = 142,
+ OpMatrixTimesScalar = 143,
+ OpVectorTimesMatrix = 144,
+ OpMatrixTimesVector = 145,
+ OpMatrixTimesMatrix = 146,
+ OpOuterProduct = 147,
+ OpDot = 148,
+ OpIAddCarry = 149,
+ OpISubBorrow = 150,
+ OpUMulExtended = 151,
+ OpSMulExtended = 152,
+ OpAny = 154,
+ OpAll = 155,
+ OpIsNan = 156,
+ OpIsInf = 157,
+ OpIsFinite = 158,
+ OpIsNormal = 159,
+ OpSignBitSet = 160,
+ OpLessOrGreater = 161,
+ OpOrdered = 162,
+ OpUnordered = 163,
+ OpLogicalEqual = 164,
+ OpLogicalNotEqual = 165,
+ OpLogicalOr = 166,
+ OpLogicalAnd = 167,
+ OpLogicalNot = 168,
+ OpSelect = 169,
+ OpIEqual = 170,
+ OpINotEqual = 171,
+ OpUGreaterThan = 172,
+ OpSGreaterThan = 173,
+ OpUGreaterThanEqual = 174,
+ OpSGreaterThanEqual = 175,
+ OpULessThan = 176,
+ OpSLessThan = 177,
+ OpULessThanEqual = 178,
+ OpSLessThanEqual = 179,
+ OpFOrdEqual = 180,
+ OpFUnordEqual = 181,
+ OpFOrdNotEqual = 182,
+ OpFUnordNotEqual = 183,
+ OpFOrdLessThan = 184,
+ OpFUnordLessThan = 185,
+ OpFOrdGreaterThan = 186,
+ OpFUnordGreaterThan = 187,
+ OpFOrdLessThanEqual = 188,
+ OpFUnordLessThanEqual = 189,
+ OpFOrdGreaterThanEqual = 190,
+ OpFUnordGreaterThanEqual = 191,
+ OpShiftRightLogical = 194,
+ OpShiftRightArithmetic = 195,
+ OpShiftLeftLogical = 196,
+ OpBitwiseOr = 197,
+ OpBitwiseXor = 198,
+ OpBitwiseAnd = 199,
+ OpNot = 200,
+ OpBitFieldInsert = 201,
+ OpBitFieldSExtract = 202,
+ OpBitFieldUExtract = 203,
+ OpBitReverse = 204,
+ OpBitCount = 205,
+ OpDPdx = 207,
+ OpDPdy = 208,
+ OpFwidth = 209,
+ OpDPdxFine = 210,
+ OpDPdyFine = 211,
+ OpFwidthFine = 212,
+ OpDPdxCoarse = 213,
+ OpDPdyCoarse = 214,
+ OpFwidthCoarse = 215,
+ OpEmitVertex = 218,
+ OpEndPrimitive = 219,
+ OpEmitStreamVertex = 220,
+ OpEndStreamPrimitive = 221,
+ OpControlBarrier = 224,
+ OpMemoryBarrier = 225,
+ OpAtomicLoad = 227,
+ OpAtomicStore = 228,
+ OpAtomicExchange = 229,
+ OpAtomicCompareExchange = 230,
+ OpAtomicCompareExchangeWeak = 231,
+ OpAtomicIIncrement = 232,
+ OpAtomicIDecrement = 233,
+ OpAtomicIAdd = 234,
+ OpAtomicISub = 235,
+ OpAtomicSMin = 236,
+ OpAtomicUMin = 237,
+ OpAtomicSMax = 238,
+ OpAtomicUMax = 239,
+ OpAtomicAnd = 240,
+ OpAtomicOr = 241,
+ OpAtomicXor = 242,
+ OpPhi = 245,
+ OpLoopMerge = 246,
+ OpSelectionMerge = 247,
+ OpLabel = 248,
+ OpBranch = 249,
+ OpBranchConditional = 250,
+ OpSwitch = 251,
+ OpKill = 252,
+ OpReturn = 253,
+ OpReturnValue = 254,
+ OpUnreachable = 255,
+ OpLifetimeStart = 256,
+ OpLifetimeStop = 257,
+ OpGroupAsyncCopy = 259,
+ OpGroupWaitEvents = 260,
+ OpGroupAll = 261,
+ OpGroupAny = 262,
+ OpGroupBroadcast = 263,
+ OpGroupIAdd = 264,
+ OpGroupFAdd = 265,
+ OpGroupFMin = 266,
+ OpGroupUMin = 267,
+ OpGroupSMin = 268,
+ OpGroupFMax = 269,
+ OpGroupUMax = 270,
+ OpGroupSMax = 271,
+ OpReadPipe = 274,
+ OpWritePipe = 275,
+ OpReservedReadPipe = 276,
+ OpReservedWritePipe = 277,
+ OpReserveReadPipePackets = 278,
+ OpReserveWritePipePackets = 279,
+ OpCommitReadPipe = 280,
+ OpCommitWritePipe = 281,
+ OpIsValidReserveId = 282,
+ OpGetNumPipePackets = 283,
+ OpGetMaxPipePackets = 284,
+ OpGroupReserveReadPipePackets = 285,
+ OpGroupReserveWritePipePackets = 286,
+ OpGroupCommitReadPipe = 287,
+ OpGroupCommitWritePipe = 288,
+ OpEnqueueMarker = 291,
+ OpEnqueueKernel = 292,
+ OpGetKernelNDrangeSubGroupCount = 293,
+ OpGetKernelNDrangeMaxSubGroupSize = 294,
+ OpGetKernelWorkGroupSize = 295,
+ OpGetKernelPreferredWorkGroupSizeMultiple = 296,
+ OpRetainEvent = 297,
+ OpReleaseEvent = 298,
+ OpCreateUserEvent = 299,
+ OpIsValidEvent = 300,
+ OpSetUserEventStatus = 301,
+ OpCaptureEventProfilingInfo = 302,
+ OpGetDefaultQueue = 303,
+ OpBuildNDRange = 304,
+ OpImageSparseSampleImplicitLod = 305,
+ OpImageSparseSampleExplicitLod = 306,
+ OpImageSparseSampleDrefImplicitLod = 307,
+ OpImageSparseSampleDrefExplicitLod = 308,
+ OpImageSparseSampleProjImplicitLod = 309,
+ OpImageSparseSampleProjExplicitLod = 310,
+ OpImageSparseSampleProjDrefImplicitLod = 311,
+ OpImageSparseSampleProjDrefExplicitLod = 312,
+ OpImageSparseFetch = 313,
+ OpImageSparseGather = 314,
+ OpImageSparseDrefGather = 315,
+ OpImageSparseTexelsResident = 316,
+ OpNoLine = 317,
+ OpAtomicFlagTestAndSet = 318,
+ OpAtomicFlagClear = 319,
+ OpImageSparseRead = 320,
+ OpSizeOf = 321,
+ OpTypePipeStorage = 322,
+ OpConstantPipeStorage = 323,
+ OpCreatePipeFromPipeStorage = 324,
+ OpGetKernelLocalSizeForSubgroupCount = 325,
+ OpGetKernelMaxNumSubgroups = 326,
+ OpTypeNamedBarrier = 327,
+ OpNamedBarrierInitialize = 328,
+ OpMemoryNamedBarrier = 329,
+ OpModuleProcessed = 330,
+ OpExecutionModeId = 331,
+ OpDecorateId = 332,
+ OpGroupNonUniformElect = 333,
+ OpGroupNonUniformAll = 334,
+ OpGroupNonUniformAny = 335,
+ OpGroupNonUniformAllEqual = 336,
+ OpGroupNonUniformBroadcast = 337,
+ OpGroupNonUniformBroadcastFirst = 338,
+ OpGroupNonUniformBallot = 339,
+ OpGroupNonUniformInverseBallot = 340,
+ OpGroupNonUniformBallotBitExtract = 341,
+ OpGroupNonUniformBallotBitCount = 342,
+ OpGroupNonUniformBallotFindLSB = 343,
+ OpGroupNonUniformBallotFindMSB = 344,
+ OpGroupNonUniformShuffle = 345,
+ OpGroupNonUniformShuffleXor = 346,
+ OpGroupNonUniformShuffleUp = 347,
+ OpGroupNonUniformShuffleDown = 348,
+ OpGroupNonUniformIAdd = 349,
+ OpGroupNonUniformFAdd = 350,
+ OpGroupNonUniformIMul = 351,
+ OpGroupNonUniformFMul = 352,
+ OpGroupNonUniformSMin = 353,
+ OpGroupNonUniformUMin = 354,
+ OpGroupNonUniformFMin = 355,
+ OpGroupNonUniformSMax = 356,
+ OpGroupNonUniformUMax = 357,
+ OpGroupNonUniformFMax = 358,
+ OpGroupNonUniformBitwiseAnd = 359,
+ OpGroupNonUniformBitwiseOr = 360,
+ OpGroupNonUniformBitwiseXor = 361,
+ OpGroupNonUniformLogicalAnd = 362,
+ OpGroupNonUniformLogicalOr = 363,
+ OpGroupNonUniformLogicalXor = 364,
+ OpGroupNonUniformQuadBroadcast = 365,
+ OpGroupNonUniformQuadSwap = 366,
+ OpCopyLogical = 400,
+ OpPtrEqual = 401,
+ OpPtrNotEqual = 402,
+ OpPtrDiff = 403,
+ OpTerminateInvocation = 4416,
+ OpSubgroupBallotKHR = 4421,
+ OpSubgroupFirstInvocationKHR = 4422,
+ OpSubgroupAllKHR = 4428,
+ OpSubgroupAnyKHR = 4429,
+ OpSubgroupAllEqualKHR = 4430,
+ OpSubgroupReadInvocationKHR = 4432,
+ OpTraceRayKHR = 4445,
+ OpExecuteCallableKHR = 4446,
+ OpConvertUToAccelerationStructureKHR = 4447,
+ OpIgnoreIntersectionKHR = 4448,
+ OpTerminateRayKHR = 4449,
+ OpSDot = 4450,
+ OpSDotKHR = 4450,
+ OpUDot = 4451,
+ OpUDotKHR = 4451,
+ OpSUDot = 4452,
+ OpSUDotKHR = 4452,
+ OpSDotAccSat = 4453,
+ OpSDotAccSatKHR = 4453,
+ OpUDotAccSat = 4454,
+ OpUDotAccSatKHR = 4454,
+ OpSUDotAccSat = 4455,
+ OpSUDotAccSatKHR = 4455,
+ OpTypeRayQueryKHR = 4472,
+ OpRayQueryInitializeKHR = 4473,
+ OpRayQueryTerminateKHR = 4474,
+ OpRayQueryGenerateIntersectionKHR = 4475,
+ OpRayQueryConfirmIntersectionKHR = 4476,
+ OpRayQueryProceedKHR = 4477,
+ OpRayQueryGetIntersectionTypeKHR = 4479,
+ OpGroupIAddNonUniformAMD = 5000,
+ OpGroupFAddNonUniformAMD = 5001,
+ OpGroupFMinNonUniformAMD = 5002,
+ OpGroupUMinNonUniformAMD = 5003,
+ OpGroupSMinNonUniformAMD = 5004,
+ OpGroupFMaxNonUniformAMD = 5005,
+ OpGroupUMaxNonUniformAMD = 5006,
+ OpGroupSMaxNonUniformAMD = 5007,
+ OpFragmentMaskFetchAMD = 5011,
+ OpFragmentFetchAMD = 5012,
+ OpReadClockKHR = 5056,
+ OpImageSampleFootprintNV = 5283,
+ OpEmitMeshTasksEXT = 5294,
+ OpSetMeshOutputsEXT = 5295,
+ OpGroupNonUniformPartitionNV = 5296,
+ OpWritePackedPrimitiveIndices4x8NV = 5299,
+ OpReportIntersectionKHR = 5334,
+ OpReportIntersectionNV = 5334,
+ OpIgnoreIntersectionNV = 5335,
+ OpTerminateRayNV = 5336,
+ OpTraceNV = 5337,
+ OpTraceMotionNV = 5338,
+ OpTraceRayMotionNV = 5339,
+ OpTypeAccelerationStructureKHR = 5341,
+ OpTypeAccelerationStructureNV = 5341,
+ OpExecuteCallableNV = 5344,
+ OpTypeCooperativeMatrixNV = 5358,
+ OpCooperativeMatrixLoadNV = 5359,
+ OpCooperativeMatrixStoreNV = 5360,
+ OpCooperativeMatrixMulAddNV = 5361,
+ OpCooperativeMatrixLengthNV = 5362,
+ OpBeginInvocationInterlockEXT = 5364,
+ OpEndInvocationInterlockEXT = 5365,
+ OpDemoteToHelperInvocation = 5380,
+ OpDemoteToHelperInvocationEXT = 5380,
+ OpIsHelperInvocationEXT = 5381,
+ OpConvertUToImageNV = 5391,
+ OpConvertUToSamplerNV = 5392,
+ OpConvertImageToUNV = 5393,
+ OpConvertSamplerToUNV = 5394,
+ OpConvertUToSampledImageNV = 5395,
+ OpConvertSampledImageToUNV = 5396,
+ OpSamplerImageAddressingModeNV = 5397,
+ OpSubgroupShuffleINTEL = 5571,
+ OpSubgroupShuffleDownINTEL = 5572,
+ OpSubgroupShuffleUpINTEL = 5573,
+ OpSubgroupShuffleXorINTEL = 5574,
+ OpSubgroupBlockReadINTEL = 5575,
+ OpSubgroupBlockWriteINTEL = 5576,
+ OpSubgroupImageBlockReadINTEL = 5577,
+ OpSubgroupImageBlockWriteINTEL = 5578,
+ OpSubgroupImageMediaBlockReadINTEL = 5580,
+ OpSubgroupImageMediaBlockWriteINTEL = 5581,
+ OpUCountLeadingZerosINTEL = 5585,
+ OpUCountTrailingZerosINTEL = 5586,
+ OpAbsISubINTEL = 5587,
+ OpAbsUSubINTEL = 5588,
+ OpIAddSatINTEL = 5589,
+ OpUAddSatINTEL = 5590,
+ OpIAverageINTEL = 5591,
+ OpUAverageINTEL = 5592,
+ OpIAverageRoundedINTEL = 5593,
+ OpUAverageRoundedINTEL = 5594,
+ OpISubSatINTEL = 5595,
+ OpUSubSatINTEL = 5596,
+ OpIMul32x16INTEL = 5597,
+ OpUMul32x16INTEL = 5598,
+ OpConstantFunctionPointerINTEL = 5600,
+ OpFunctionPointerCallINTEL = 5601,
+ OpAsmTargetINTEL = 5609,
+ OpAsmINTEL = 5610,
+ OpAsmCallINTEL = 5611,
+ OpAtomicFMinEXT = 5614,
+ OpAtomicFMaxEXT = 5615,
+ OpAssumeTrueKHR = 5630,
+ OpExpectKHR = 5631,
+ OpDecorateString = 5632,
+ OpDecorateStringGOOGLE = 5632,
+ OpMemberDecorateString = 5633,
+ OpMemberDecorateStringGOOGLE = 5633,
+ OpVmeImageINTEL = 5699,
+ OpTypeVmeImageINTEL = 5700,
+ OpTypeAvcImePayloadINTEL = 5701,
+ OpTypeAvcRefPayloadINTEL = 5702,
+ OpTypeAvcSicPayloadINTEL = 5703,
+ OpTypeAvcMcePayloadINTEL = 5704,
+ OpTypeAvcMceResultINTEL = 5705,
+ OpTypeAvcImeResultINTEL = 5706,
+ OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
+ OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
+ OpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
+ OpTypeAvcImeDualReferenceStreaminINTEL = 5710,
+ OpTypeAvcRefResultINTEL = 5711,
+ OpTypeAvcSicResultINTEL = 5712,
+ OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
+ OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
+ OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
+ OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
+ OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
+ OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
+ OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
+ OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
+ OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
+ OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
+ OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
+ OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
+ OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
+ OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
+ OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
+ OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
+ OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
+ OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
+ OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
+ OpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
+ OpSubgroupAvcMceConvertToImeResultINTEL = 5733,
+ OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
+ OpSubgroupAvcMceConvertToRefResultINTEL = 5735,
+ OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
+ OpSubgroupAvcMceConvertToSicResultINTEL = 5737,
+ OpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
+ OpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
+ OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
+ OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
+ OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
+ OpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
+ OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
+ OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
+ OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
+ OpSubgroupAvcImeInitializeINTEL = 5747,
+ OpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
+ OpSubgroupAvcImeSetDualReferenceINTEL = 5749,
+ OpSubgroupAvcImeRefWindowSizeINTEL = 5750,
+ OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
+ OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
+ OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
+ OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
+ OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
+ OpSubgroupAvcImeSetWeightedSadINTEL = 5756,
+ OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
+ OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
+ OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
+ OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
+ OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
+ OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
+ OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
+ OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
+ OpSubgroupAvcImeConvertToMceResultINTEL = 5765,
+ OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
+ OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
+ OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
+ OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
+ OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
+ OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
+ OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
+ OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
+ OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
+ OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
+ OpSubgroupAvcImeGetBorderReachedINTEL = 5776,
+ OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
+ OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
+ OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
+ OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
+ OpSubgroupAvcFmeInitializeINTEL = 5781,
+ OpSubgroupAvcBmeInitializeINTEL = 5782,
+ OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
+ OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
+ OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
+ OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
+ OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
+ OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
+ OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
+ OpSubgroupAvcRefConvertToMceResultINTEL = 5790,
+ OpSubgroupAvcSicInitializeINTEL = 5791,
+ OpSubgroupAvcSicConfigureSkcINTEL = 5792,
+ OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
+ OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
+ OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
+ OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
+ OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
+ OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
+ OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
+ OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
+ OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
+ OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
+ OpSubgroupAvcSicEvaluateIpeINTEL = 5803,
+ OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
+ OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
+ OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
+ OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
+ OpSubgroupAvcSicConvertToMceResultINTEL = 5808,
+ OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
+ OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
+ OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
+ OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
+ OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
+ OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
+ OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
+ OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
+ OpVariableLengthArrayINTEL = 5818,
+ OpSaveMemoryINTEL = 5819,
+ OpRestoreMemoryINTEL = 5820,
+ OpArbitraryFloatSinCosPiINTEL = 5840,
+ OpArbitraryFloatCastINTEL = 5841,
+ OpArbitraryFloatCastFromIntINTEL = 5842,
+ OpArbitraryFloatCastToIntINTEL = 5843,
+ OpArbitraryFloatAddINTEL = 5846,
+ OpArbitraryFloatSubINTEL = 5847,
+ OpArbitraryFloatMulINTEL = 5848,
+ OpArbitraryFloatDivINTEL = 5849,
+ OpArbitraryFloatGTINTEL = 5850,
+ OpArbitraryFloatGEINTEL = 5851,
+ OpArbitraryFloatLTINTEL = 5852,
+ OpArbitraryFloatLEINTEL = 5853,
+ OpArbitraryFloatEQINTEL = 5854,
+ OpArbitraryFloatRecipINTEL = 5855,
+ OpArbitraryFloatRSqrtINTEL = 5856,
+ OpArbitraryFloatCbrtINTEL = 5857,
+ OpArbitraryFloatHypotINTEL = 5858,
+ OpArbitraryFloatSqrtINTEL = 5859,
+ OpArbitraryFloatLogINTEL = 5860,
+ OpArbitraryFloatLog2INTEL = 5861,
+ OpArbitraryFloatLog10INTEL = 5862,
+ OpArbitraryFloatLog1pINTEL = 5863,
+ OpArbitraryFloatExpINTEL = 5864,
+ OpArbitraryFloatExp2INTEL = 5865,
+ OpArbitraryFloatExp10INTEL = 5866,
+ OpArbitraryFloatExpm1INTEL = 5867,
+ OpArbitraryFloatSinINTEL = 5868,
+ OpArbitraryFloatCosINTEL = 5869,
+ OpArbitraryFloatSinCosINTEL = 5870,
+ OpArbitraryFloatSinPiINTEL = 5871,
+ OpArbitraryFloatCosPiINTEL = 5872,
+ OpArbitraryFloatASinINTEL = 5873,
+ OpArbitraryFloatASinPiINTEL = 5874,
+ OpArbitraryFloatACosINTEL = 5875,
+ OpArbitraryFloatACosPiINTEL = 5876,
+ OpArbitraryFloatATanINTEL = 5877,
+ OpArbitraryFloatATanPiINTEL = 5878,
+ OpArbitraryFloatATan2INTEL = 5879,
+ OpArbitraryFloatPowINTEL = 5880,
+ OpArbitraryFloatPowRINTEL = 5881,
+ OpArbitraryFloatPowNINTEL = 5882,
+ OpLoopControlINTEL = 5887,
+ OpFixedSqrtINTEL = 5923,
+ OpFixedRecipINTEL = 5924,
+ OpFixedRsqrtINTEL = 5925,
+ OpFixedSinINTEL = 5926,
+ OpFixedCosINTEL = 5927,
+ OpFixedSinCosINTEL = 5928,
+ OpFixedSinPiINTEL = 5929,
+ OpFixedCosPiINTEL = 5930,
+ OpFixedSinCosPiINTEL = 5931,
+ OpFixedLogINTEL = 5932,
+ OpFixedExpINTEL = 5933,
+ OpPtrCastToCrossWorkgroupINTEL = 5934,
+ OpCrossWorkgroupCastToPtrINTEL = 5938,
+ OpReadPipeBlockingINTEL = 5946,
+ OpWritePipeBlockingINTEL = 5947,
+ OpFPGARegINTEL = 5949,
+ OpRayQueryGetRayTMinKHR = 6016,
+ OpRayQueryGetRayFlagsKHR = 6017,
+ OpRayQueryGetIntersectionTKHR = 6018,
+ OpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
+ OpRayQueryGetIntersectionInstanceIdKHR = 6020,
+ OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
+ OpRayQueryGetIntersectionGeometryIndexKHR = 6022,
+ OpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,
+ OpRayQueryGetIntersectionBarycentricsKHR = 6024,
+ OpRayQueryGetIntersectionFrontFaceKHR = 6025,
+ OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
+ OpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,
+ OpRayQueryGetIntersectionObjectRayOriginKHR = 6028,
+ OpRayQueryGetWorldRayDirectionKHR = 6029,
+ OpRayQueryGetWorldRayOriginKHR = 6030,
+ OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
+ OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
+ OpAtomicFAddEXT = 6035,
+ OpTypeBufferSurfaceINTEL = 6086,
+ OpTypeStructContinuedINTEL = 6090,
+ OpConstantCompositeContinuedINTEL = 6091,
+ OpSpecConstantCompositeContinuedINTEL = 6092,
+ OpMax = 0x7fffffff,
+};
+
+#ifdef SPV_ENABLE_UTILITY_CODE
+inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
+ *hasResult = *hasResultType = false;
+ switch (opcode) {
+ default: /* unknown opcode */ break;
+ case OpNop: *hasResult = false; *hasResultType = false; break;
+ case OpUndef: *hasResult = true; *hasResultType = true; break;
+ case OpSourceContinued: *hasResult = false; *hasResultType = false; break;
+ case OpSource: *hasResult = false; *hasResultType = false; break;
+ case OpSourceExtension: *hasResult = false; *hasResultType = false; break;
+ case OpName: *hasResult = false; *hasResultType = false; break;
+ case OpMemberName: *hasResult = false; *hasResultType = false; break;
+ case OpString: *hasResult = true; *hasResultType = false; break;
+ case OpLine: *hasResult = false; *hasResultType = false; break;
+ case OpExtension: *hasResult = false; *hasResultType = false; break;
+ case OpExtInstImport: *hasResult = true; *hasResultType = false; break;
+ case OpExtInst: *hasResult = true; *hasResultType = true; break;
+ case OpMemoryModel: *hasResult = false; *hasResultType = false; break;
+ case OpEntryPoint: *hasResult = false; *hasResultType = false; break;
+ case OpExecutionMode: *hasResult = false; *hasResultType = false; break;
+ case OpCapability: *hasResult = false; *hasResultType = false; break;
+ case OpTypeVoid: *hasResult = true; *hasResultType = false; break;
+ case OpTypeBool: *hasResult = true; *hasResultType = false; break;
+ case OpTypeInt: *hasResult = true; *hasResultType = false; break;
+ case OpTypeFloat: *hasResult = true; *hasResultType = false; break;
+ case OpTypeVector: *hasResult = true; *hasResultType = false; break;
+ case OpTypeMatrix: *hasResult = true; *hasResultType = false; break;
+ case OpTypeImage: *hasResult = true; *hasResultType = false; break;
+ case OpTypeSampler: *hasResult = true; *hasResultType = false; break;
+ case OpTypeSampledImage: *hasResult = true; *hasResultType = false; break;
+ case OpTypeArray: *hasResult = true; *hasResultType = false; break;
+ case OpTypeRuntimeArray: *hasResult = true; *hasResultType = false; break;
+ case OpTypeStruct: *hasResult = true; *hasResultType = false; break;
+ case OpTypeOpaque: *hasResult = true; *hasResultType = false; break;
+ case OpTypePointer: *hasResult = true; *hasResultType = false; break;
+ case OpTypeFunction: *hasResult = true; *hasResultType = false; break;
+ case OpTypeEvent: *hasResult = true; *hasResultType = false; break;
+ case OpTypeDeviceEvent: *hasResult = true; *hasResultType = false; break;
+ case OpTypeReserveId: *hasResult = true; *hasResultType = false; break;
+ case OpTypeQueue: *hasResult = true; *hasResultType = false; break;
+ case OpTypePipe: *hasResult = true; *hasResultType = false; break;
+ case OpTypeForwardPointer: *hasResult = false; *hasResultType = false; break;
+ case OpConstantTrue: *hasResult = true; *hasResultType = true; break;
+ case OpConstantFalse: *hasResult = true; *hasResultType = true; break;
+ case OpConstant: *hasResult = true; *hasResultType = true; break;
+ case OpConstantComposite: *hasResult = true; *hasResultType = true; break;
+ case OpConstantSampler: *hasResult = true; *hasResultType = true; break;
+ case OpConstantNull: *hasResult = true; *hasResultType = true; break;
+ case OpSpecConstantTrue: *hasResult = true; *hasResultType = true; break;
+ case OpSpecConstantFalse: *hasResult = true; *hasResultType = true; break;
+ case OpSpecConstant: *hasResult = true; *hasResultType = true; break;
+ case OpSpecConstantComposite: *hasResult = true; *hasResultType = true; break;
+ case OpSpecConstantOp: *hasResult = true; *hasResultType = true; break;
+ case OpFunction: *hasResult = true; *hasResultType = true; break;
+ case OpFunctionParameter: *hasResult = true; *hasResultType = true; break;
+ case OpFunctionEnd: *hasResult = false; *hasResultType = false; break;
+ case OpFunctionCall: *hasResult = true; *hasResultType = true; break;
+ case OpVariable: *hasResult = true; *hasResultType = true; break;
+ case OpImageTexelPointer: *hasResult = true; *hasResultType = true; break;
+ case OpLoad: *hasResult = true; *hasResultType = true; break;
+ case OpStore: *hasResult = false; *hasResultType = false; break;
+ case OpCopyMemory: *hasResult = false; *hasResultType = false; break;
+ case OpCopyMemorySized: *hasResult = false; *hasResultType = false; break;
+ case OpAccessChain: *hasResult = true; *hasResultType = true; break;
+ case OpInBoundsAccessChain: *hasResult = true; *hasResultType = true; break;
+ case OpPtrAccessChain: *hasResult = true; *hasResultType = true; break;
+ case OpArrayLength: *hasResult = true; *hasResultType = true; break;
+ case OpGenericPtrMemSemantics: *hasResult = true; *hasResultType = true; break;
+ case OpInBoundsPtrAccessChain: *hasResult = true; *hasResultType = true; break;
+ case OpDecorate: *hasResult = false; *hasResultType = false; break;
+ case OpMemberDecorate: *hasResult = false; *hasResultType = false; break;
+ case OpDecorationGroup: *hasResult = true; *hasResultType = false; break;
+ case OpGroupDecorate: *hasResult = false; *hasResultType = false; break;
+ case OpGroupMemberDecorate: *hasResult = false; *hasResultType = false; break;
+ case OpVectorExtractDynamic: *hasResult = true; *hasResultType = true; break;
+ case OpVectorInsertDynamic: *hasResult = true; *hasResultType = true; break;
+ case OpVectorShuffle: *hasResult = true; *hasResultType = true; break;
+ case OpCompositeConstruct: *hasResult = true; *hasResultType = true; break;
+ case OpCompositeExtract: *hasResult = true; *hasResultType = true; break;
+ case OpCompositeInsert: *hasResult = true; *hasResultType = true; break;
+ case OpCopyObject: *hasResult = true; *hasResultType = true; break;
+ case OpTranspose: *hasResult = true; *hasResultType = true; break;
+ case OpSampledImage: *hasResult = true; *hasResultType = true; break;
+ case OpImageSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageFetch: *hasResult = true; *hasResultType = true; break;
+ case OpImageGather: *hasResult = true; *hasResultType = true; break;
+ case OpImageDrefGather: *hasResult = true; *hasResultType = true; break;
+ case OpImageRead: *hasResult = true; *hasResultType = true; break;
+ case OpImageWrite: *hasResult = false; *hasResultType = false; break;
+ case OpImage: *hasResult = true; *hasResultType = true; break;
+ case OpImageQueryFormat: *hasResult = true; *hasResultType = true; break;
+ case OpImageQueryOrder: *hasResult = true; *hasResultType = true; break;
+ case OpImageQuerySizeLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageQuerySize: *hasResult = true; *hasResultType = true; break;
+ case OpImageQueryLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageQueryLevels: *hasResult = true; *hasResultType = true; break;
+ case OpImageQuerySamples: *hasResult = true; *hasResultType = true; break;
+ case OpConvertFToU: *hasResult = true; *hasResultType = true; break;
+ case OpConvertFToS: *hasResult = true; *hasResultType = true; break;
+ case OpConvertSToF: *hasResult = true; *hasResultType = true; break;
+ case OpConvertUToF: *hasResult = true; *hasResultType = true; break;
+ case OpUConvert: *hasResult = true; *hasResultType = true; break;
+ case OpSConvert: *hasResult = true; *hasResultType = true; break;
+ case OpFConvert: *hasResult = true; *hasResultType = true; break;
+ case OpQuantizeToF16: *hasResult = true; *hasResultType = true; break;
+ case OpConvertPtrToU: *hasResult = true; *hasResultType = true; break;
+ case OpSatConvertSToU: *hasResult = true; *hasResultType = true; break;
+ case OpSatConvertUToS: *hasResult = true; *hasResultType = true; break;
+ case OpConvertUToPtr: *hasResult = true; *hasResultType = true; break;
+ case OpPtrCastToGeneric: *hasResult = true; *hasResultType = true; break;
+ case OpGenericCastToPtr: *hasResult = true; *hasResultType = true; break;
+ case OpGenericCastToPtrExplicit: *hasResult = true; *hasResultType = true; break;
+ case OpBitcast: *hasResult = true; *hasResultType = true; break;
+ case OpSNegate: *hasResult = true; *hasResultType = true; break;
+ case OpFNegate: *hasResult = true; *hasResultType = true; break;
+ case OpIAdd: *hasResult = true; *hasResultType = true; break;
+ case OpFAdd: *hasResult = true; *hasResultType = true; break;
+ case OpISub: *hasResult = true; *hasResultType = true; break;
+ case OpFSub: *hasResult = true; *hasResultType = true; break;
+ case OpIMul: *hasResult = true; *hasResultType = true; break;
+ case OpFMul: *hasResult = true; *hasResultType = true; break;
+ case OpUDiv: *hasResult = true; *hasResultType = true; break;
+ case OpSDiv: *hasResult = true; *hasResultType = true; break;
+ case OpFDiv: *hasResult = true; *hasResultType = true; break;
+ case OpUMod: *hasResult = true; *hasResultType = true; break;
+ case OpSRem: *hasResult = true; *hasResultType = true; break;
+ case OpSMod: *hasResult = true; *hasResultType = true; break;
+ case OpFRem: *hasResult = true; *hasResultType = true; break;
+ case OpFMod: *hasResult = true; *hasResultType = true; break;
+ case OpVectorTimesScalar: *hasResult = true; *hasResultType = true; break;
+ case OpMatrixTimesScalar: *hasResult = true; *hasResultType = true; break;
+ case OpVectorTimesMatrix: *hasResult = true; *hasResultType = true; break;
+ case OpMatrixTimesVector: *hasResult = true; *hasResultType = true; break;
+ case OpMatrixTimesMatrix: *hasResult = true; *hasResultType = true; break;
+ case OpOuterProduct: *hasResult = true; *hasResultType = true; break;
+ case OpDot: *hasResult = true; *hasResultType = true; break;
+ case OpIAddCarry: *hasResult = true; *hasResultType = true; break;
+ case OpISubBorrow: *hasResult = true; *hasResultType = true; break;
+ case OpUMulExtended: *hasResult = true; *hasResultType = true; break;
+ case OpSMulExtended: *hasResult = true; *hasResultType = true; break;
+ case OpAny: *hasResult = true; *hasResultType = true; break;
+ case OpAll: *hasResult = true; *hasResultType = true; break;
+ case OpIsNan: *hasResult = true; *hasResultType = true; break;
+ case OpIsInf: *hasResult = true; *hasResultType = true; break;
+ case OpIsFinite: *hasResult = true; *hasResultType = true; break;
+ case OpIsNormal: *hasResult = true; *hasResultType = true; break;
+ case OpSignBitSet: *hasResult = true; *hasResultType = true; break;
+ case OpLessOrGreater: *hasResult = true; *hasResultType = true; break;
+ case OpOrdered: *hasResult = true; *hasResultType = true; break;
+ case OpUnordered: *hasResult = true; *hasResultType = true; break;
+ case OpLogicalEqual: *hasResult = true; *hasResultType = true; break;
+ case OpLogicalNotEqual: *hasResult = true; *hasResultType = true; break;
+ case OpLogicalOr: *hasResult = true; *hasResultType = true; break;
+ case OpLogicalAnd: *hasResult = true; *hasResultType = true; break;
+ case OpLogicalNot: *hasResult = true; *hasResultType = true; break;
+ case OpSelect: *hasResult = true; *hasResultType = true; break;
+ case OpIEqual: *hasResult = true; *hasResultType = true; break;
+ case OpINotEqual: *hasResult = true; *hasResultType = true; break;
+ case OpUGreaterThan: *hasResult = true; *hasResultType = true; break;
+ case OpSGreaterThan: *hasResult = true; *hasResultType = true; break;
+ case OpUGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
+ case OpSGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
+ case OpULessThan: *hasResult = true; *hasResultType = true; break;
+ case OpSLessThan: *hasResult = true; *hasResultType = true; break;
+ case OpULessThanEqual: *hasResult = true; *hasResultType = true; break;
+ case OpSLessThanEqual: *hasResult = true; *hasResultType = true; break;
+ case OpFOrdEqual: *hasResult = true; *hasResultType = true; break;
+ case OpFUnordEqual: *hasResult = true; *hasResultType = true; break;
+ case OpFOrdNotEqual: *hasResult = true; *hasResultType = true; break;
+ case OpFUnordNotEqual: *hasResult = true; *hasResultType = true; break;
+ case OpFOrdLessThan: *hasResult = true; *hasResultType = true; break;
+ case OpFUnordLessThan: *hasResult = true; *hasResultType = true; break;
+ case OpFOrdGreaterThan: *hasResult = true; *hasResultType = true; break;
+ case OpFUnordGreaterThan: *hasResult = true; *hasResultType = true; break;
+ case OpFOrdLessThanEqual: *hasResult = true; *hasResultType = true; break;
+ case OpFUnordLessThanEqual: *hasResult = true; *hasResultType = true; break;
+ case OpFOrdGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
+ case OpFUnordGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
+ case OpShiftRightLogical: *hasResult = true; *hasResultType = true; break;
+ case OpShiftRightArithmetic: *hasResult = true; *hasResultType = true; break;
+ case OpShiftLeftLogical: *hasResult = true; *hasResultType = true; break;
+ case OpBitwiseOr: *hasResult = true; *hasResultType = true; break;
+ case OpBitwiseXor: *hasResult = true; *hasResultType = true; break;
+ case OpBitwiseAnd: *hasResult = true; *hasResultType = true; break;
+ case OpNot: *hasResult = true; *hasResultType = true; break;
+ case OpBitFieldInsert: *hasResult = true; *hasResultType = true; break;
+ case OpBitFieldSExtract: *hasResult = true; *hasResultType = true; break;
+ case OpBitFieldUExtract: *hasResult = true; *hasResultType = true; break;
+ case OpBitReverse: *hasResult = true; *hasResultType = true; break;
+ case OpBitCount: *hasResult = true; *hasResultType = true; break;
+ case OpDPdx: *hasResult = true; *hasResultType = true; break;
+ case OpDPdy: *hasResult = true; *hasResultType = true; break;
+ case OpFwidth: *hasResult = true; *hasResultType = true; break;
+ case OpDPdxFine: *hasResult = true; *hasResultType = true; break;
+ case OpDPdyFine: *hasResult = true; *hasResultType = true; break;
+ case OpFwidthFine: *hasResult = true; *hasResultType = true; break;
+ case OpDPdxCoarse: *hasResult = true; *hasResultType = true; break;
+ case OpDPdyCoarse: *hasResult = true; *hasResultType = true; break;
+ case OpFwidthCoarse: *hasResult = true; *hasResultType = true; break;
+ case OpEmitVertex: *hasResult = false; *hasResultType = false; break;
+ case OpEndPrimitive: *hasResult = false; *hasResultType = false; break;
+ case OpEmitStreamVertex: *hasResult = false; *hasResultType = false; break;
+ case OpEndStreamPrimitive: *hasResult = false; *hasResultType = false; break;
+ case OpControlBarrier: *hasResult = false; *hasResultType = false; break;
+ case OpMemoryBarrier: *hasResult = false; *hasResultType = false; break;
+ case OpAtomicLoad: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicStore: *hasResult = false; *hasResultType = false; break;
+ case OpAtomicExchange: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicCompareExchange: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicCompareExchangeWeak: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicIIncrement: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicIDecrement: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicIAdd: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicISub: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicSMin: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicUMin: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicSMax: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicUMax: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicAnd: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicOr: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicXor: *hasResult = true; *hasResultType = true; break;
+ case OpPhi: *hasResult = true; *hasResultType = true; break;
+ case OpLoopMerge: *hasResult = false; *hasResultType = false; break;
+ case OpSelectionMerge: *hasResult = false; *hasResultType = false; break;
+ case OpLabel: *hasResult = true; *hasResultType = false; break;
+ case OpBranch: *hasResult = false; *hasResultType = false; break;
+ case OpBranchConditional: *hasResult = false; *hasResultType = false; break;
+ case OpSwitch: *hasResult = false; *hasResultType = false; break;
+ case OpKill: *hasResult = false; *hasResultType = false; break;
+ case OpReturn: *hasResult = false; *hasResultType = false; break;
+ case OpReturnValue: *hasResult = false; *hasResultType = false; break;
+ case OpUnreachable: *hasResult = false; *hasResultType = false; break;
+ case OpLifetimeStart: *hasResult = false; *hasResultType = false; break;
+ case OpLifetimeStop: *hasResult = false; *hasResultType = false; break;
+ case OpGroupAsyncCopy: *hasResult = true; *hasResultType = true; break;
+ case OpGroupWaitEvents: *hasResult = false; *hasResultType = false; break;
+ case OpGroupAll: *hasResult = true; *hasResultType = true; break;
+ case OpGroupAny: *hasResult = true; *hasResultType = true; break;
+ case OpGroupBroadcast: *hasResult = true; *hasResultType = true; break;
+ case OpGroupIAdd: *hasResult = true; *hasResultType = true; break;
+ case OpGroupFAdd: *hasResult = true; *hasResultType = true; break;
+ case OpGroupFMin: *hasResult = true; *hasResultType = true; break;
+ case OpGroupUMin: *hasResult = true; *hasResultType = true; break;
+ case OpGroupSMin: *hasResult = true; *hasResultType = true; break;
+ case OpGroupFMax: *hasResult = true; *hasResultType = true; break;
+ case OpGroupUMax: *hasResult = true; *hasResultType = true; break;
+ case OpGroupSMax: *hasResult = true; *hasResultType = true; break;
+ case OpReadPipe: *hasResult = true; *hasResultType = true; break;
+ case OpWritePipe: *hasResult = true; *hasResultType = true; break;
+ case OpReservedReadPipe: *hasResult = true; *hasResultType = true; break;
+ case OpReservedWritePipe: *hasResult = true; *hasResultType = true; break;
+ case OpReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
+ case OpReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
+ case OpCommitReadPipe: *hasResult = false; *hasResultType = false; break;
+ case OpCommitWritePipe: *hasResult = false; *hasResultType = false; break;
+ case OpIsValidReserveId: *hasResult = true; *hasResultType = true; break;
+ case OpGetNumPipePackets: *hasResult = true; *hasResultType = true; break;
+ case OpGetMaxPipePackets: *hasResult = true; *hasResultType = true; break;
+ case OpGroupReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
+ case OpGroupReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
+ case OpGroupCommitReadPipe: *hasResult = false; *hasResultType = false; break;
+ case OpGroupCommitWritePipe: *hasResult = false; *hasResultType = false; break;
+ case OpEnqueueMarker: *hasResult = true; *hasResultType = true; break;
+ case OpEnqueueKernel: *hasResult = true; *hasResultType = true; break;
+ case OpGetKernelNDrangeSubGroupCount: *hasResult = true; *hasResultType = true; break;
+ case OpGetKernelNDrangeMaxSubGroupSize: *hasResult = true; *hasResultType = true; break;
+ case OpGetKernelWorkGroupSize: *hasResult = true; *hasResultType = true; break;
+ case OpGetKernelPreferredWorkGroupSizeMultiple: *hasResult = true; *hasResultType = true; break;
+ case OpRetainEvent: *hasResult = false; *hasResultType = false; break;
+ case OpReleaseEvent: *hasResult = false; *hasResultType = false; break;
+ case OpCreateUserEvent: *hasResult = true; *hasResultType = true; break;
+ case OpIsValidEvent: *hasResult = true; *hasResultType = true; break;
+ case OpSetUserEventStatus: *hasResult = false; *hasResultType = false; break;
+ case OpCaptureEventProfilingInfo: *hasResult = false; *hasResultType = false; break;
+ case OpGetDefaultQueue: *hasResult = true; *hasResultType = true; break;
+ case OpBuildNDRange: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseFetch: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseGather: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseDrefGather: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseTexelsResident: *hasResult = true; *hasResultType = true; break;
+ case OpNoLine: *hasResult = false; *hasResultType = false; break;
+ case OpAtomicFlagTestAndSet: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicFlagClear: *hasResult = false; *hasResultType = false; break;
+ case OpImageSparseRead: *hasResult = true; *hasResultType = true; break;
+ case OpSizeOf: *hasResult = true; *hasResultType = true; break;
+ case OpTypePipeStorage: *hasResult = true; *hasResultType = false; break;
+ case OpConstantPipeStorage: *hasResult = true; *hasResultType = true; break;
+ case OpCreatePipeFromPipeStorage: *hasResult = true; *hasResultType = true; break;
+ case OpGetKernelLocalSizeForSubgroupCount: *hasResult = true; *hasResultType = true; break;
+ case OpGetKernelMaxNumSubgroups: *hasResult = true; *hasResultType = true; break;
+ case OpTypeNamedBarrier: *hasResult = true; *hasResultType = false; break;
+ case OpNamedBarrierInitialize: *hasResult = true; *hasResultType = true; break;
+ case OpMemoryNamedBarrier: *hasResult = false; *hasResultType = false; break;
+ case OpModuleProcessed: *hasResult = false; *hasResultType = false; break;
+ case OpExecutionModeId: *hasResult = false; *hasResultType = false; break;
+ case OpDecorateId: *hasResult = false; *hasResultType = false; break;
+ case OpGroupNonUniformElect: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformAll: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformAny: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformAllEqual: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformBroadcast: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformBroadcastFirst: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformBallot: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformInverseBallot: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformBallotBitExtract: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformBallotBitCount: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformBallotFindLSB: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformBallotFindMSB: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformShuffle: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformShuffleXor: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformShuffleUp: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformShuffleDown: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformIAdd: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformFAdd: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformIMul: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformFMul: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformSMin: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformUMin: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformFMin: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformSMax: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformUMax: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformFMax: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformBitwiseAnd: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformBitwiseOr: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformBitwiseXor: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformLogicalAnd: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformLogicalOr: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformLogicalXor: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformQuadBroadcast: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformQuadSwap: *hasResult = true; *hasResultType = true; break;
+ case OpCopyLogical: *hasResult = true; *hasResultType = true; break;
+ case OpPtrEqual: *hasResult = true; *hasResultType = true; break;
+ case OpPtrNotEqual: *hasResult = true; *hasResultType = true; break;
+ case OpPtrDiff: *hasResult = true; *hasResultType = true; break;
+ case OpTerminateInvocation: *hasResult = false; *hasResultType = false; break;
+ case OpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
+ case OpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
+ case OpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;
+ case OpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;
+ case OpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break;
+ case OpTerminateRayKHR: *hasResult = false; *hasResultType = false; break;
+ case OpSDot: *hasResult = true; *hasResultType = true; break;
+ case OpUDot: *hasResult = true; *hasResultType = true; break;
+ case OpSUDot: *hasResult = true; *hasResultType = true; break;
+ case OpSDotAccSat: *hasResult = true; *hasResultType = true; break;
+ case OpUDotAccSat: *hasResult = true; *hasResultType = true; break;
+ case OpSUDotAccSat: *hasResult = true; *hasResultType = true; break;
+ case OpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break;
+ case OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
+ case OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
+ case OpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
+ case OpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
+ case OpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
+ case OpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
+ case OpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
+ case OpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
+ case OpGroupUMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
+ case OpGroupSMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
+ case OpGroupFMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
+ case OpGroupUMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
+ case OpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
+ case OpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
+ case OpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
+ case OpReadClockKHR: *hasResult = true; *hasResultType = true; break;
+ case OpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
+ case OpEmitMeshTasksEXT: *hasResult = false; *hasResultType = false; break;
+ case OpSetMeshOutputsEXT: *hasResult = false; *hasResultType = false; break;
+ case OpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
+ case OpReportIntersectionNV: *hasResult = true; *hasResultType = true; break;
+ case OpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
+ case OpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
+ case OpTraceNV: *hasResult = false; *hasResultType = false; break;
+ case OpTraceMotionNV: *hasResult = false; *hasResultType = false; break;
+ case OpTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
+ case OpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
+ case OpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
+ case OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
+ case OpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;
+ case OpCooperativeMatrixStoreNV: *hasResult = false; *hasResultType = false; break;
+ case OpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break;
+ case OpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
+ case OpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
+ case OpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
+ case OpDemoteToHelperInvocation: *hasResult = false; *hasResultType = false; break;
+ case OpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
+ case OpConvertUToImageNV: *hasResult = true; *hasResultType = true; break;
+ case OpConvertUToSamplerNV: *hasResult = true; *hasResultType = true; break;
+ case OpConvertImageToUNV: *hasResult = true; *hasResultType = true; break;
+ case OpConvertSamplerToUNV: *hasResult = true; *hasResultType = true; break;
+ case OpConvertUToSampledImageNV: *hasResult = true; *hasResultType = true; break;
+ case OpConvertSampledImageToUNV: *hasResult = true; *hasResultType = true; break;
+ case OpSamplerImageAddressingModeNV: *hasResult = false; *hasResultType = false; break;
+ case OpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupShuffleXorINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
+ case OpSubgroupImageBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupImageBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
+ case OpSubgroupImageMediaBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupImageMediaBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
+ case OpUCountLeadingZerosINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpUCountTrailingZerosINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpAbsISubINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpAbsUSubINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpIAddSatINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpUAddSatINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpIAverageINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpUAverageINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpIAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpUAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpISubSatINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
+ case OpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
+ case OpConstantFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpAsmINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpAsmCallINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicFMinEXT: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicFMaxEXT: *hasResult = true; *hasResultType = true; break;
+ case OpAssumeTrueKHR: *hasResult = false; *hasResultType = false; break;
+ case OpExpectKHR: *hasResult = true; *hasResultType = true; break;
+ case OpDecorateString: *hasResult = false; *hasResultType = false; break;
+ case OpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
+ case OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpTypeVmeImageINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcImePayloadINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcRefPayloadINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcSicPayloadINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcMcePayloadINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcMceResultINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcImeResultINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcImeResultSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcImeResultDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcImeSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcImeDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcRefResultINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcSicResultINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceSetInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceSetInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceSetAcOnlyHaarINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceConvertToImePayloadINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceConvertToImeResultINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceConvertToRefPayloadINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceConvertToRefResultINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceConvertToSicPayloadINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceConvertToSicResultINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetBestInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetInterMajorShapeINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetInterMinorShapeINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetInterDirectionsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetInterMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetInterReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeSetSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeSetDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeRefWindowSizeINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeAdjustRefOffsetINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeSetMaxMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeSetWeightedSadINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeStripDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetBorderReachedINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcFmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcBmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcRefConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcRefSetBidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcRefSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcRefEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcRefConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicInitializeINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicConfigureSkcINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicConfigureIpeLumaINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicConfigureIpeLumaChromaINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicGetMotionVectorMaskINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicEvaluateIpeINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicGetIpeLumaShapeINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicGetPackedIpeLumaModesINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicGetIpeChromaModeINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSaveMemoryINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpRestoreMemoryINTEL: *hasResult = false; *hasResultType = false; break;
+ case OpArbitraryFloatSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatCastINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatCastFromIntINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatCastToIntINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatAddINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatSubINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatMulINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatDivINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatGTINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatGEINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatLTINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatLEINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatEQINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatRecipINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatRSqrtINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatCbrtINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatHypotINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatSqrtINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatLogINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatLog2INTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatLog10INTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatLog1pINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatExpINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatExp2INTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatExp10INTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatExpm1INTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatSinINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatCosINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatSinCosINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatSinPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatCosPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatASinINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatASinPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatACosINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatACosPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatATanINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatATanPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatATan2INTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatPowINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatPowRINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatPowNINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
+ case OpFixedSqrtINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedRecipINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedRsqrtINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedSinINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedCosINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedSinCosINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedSinPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedCosPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedLogINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedExpINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpPtrCastToCrossWorkgroupINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break;
+ case OpTypeBufferSurfaceINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
+ case OpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
+ case OpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
+ }
+}
+#endif /* SPV_ENABLE_UTILITY_CODE */
+
+// Overload operator| for mask bit combining
+
+inline ImageOperandsMask operator|(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) | unsigned(b)); }
+inline FPFastMathModeMask operator|(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) | unsigned(b)); }
+inline SelectionControlMask operator|(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) | unsigned(b)); }
+inline LoopControlMask operator|(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) | unsigned(b)); }
+inline FunctionControlMask operator|(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) | unsigned(b)); }
+inline MemorySemanticsMask operator|(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) | unsigned(b)); }
+inline MemoryAccessMask operator|(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) | unsigned(b)); }
+inline KernelProfilingInfoMask operator|(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) | unsigned(b)); }
+inline RayFlagsMask operator|(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) | unsigned(b)); }
+inline FragmentShadingRateMask operator|(FragmentShadingRateMask a, FragmentShadingRateMask b) { return FragmentShadingRateMask(unsigned(a) | unsigned(b)); }
+
+} // end namespace spv
+
+#endif // #ifndef spirv_HPP