| // 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 0x10500 |
| #define SPV_REVISION 4 |
| |
| static const unsigned int MagicNumber = 0x07230203; |
| static const unsigned int Version = 0x00010500; |
| static const unsigned int Revision = 4; |
| 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, |
| 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, |
| 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, |
| ExecutionModePostDepthCoverage = 4446, |
| ExecutionModeDenormPreserve = 4459, |
| ExecutionModeDenormFlushToZero = 4460, |
| ExecutionModeSignedZeroInfNanPreserve = 4461, |
| ExecutionModeRoundingModeRTE = 4462, |
| ExecutionModeRoundingModeRTZ = 4463, |
| ExecutionModeStencilRefReplacingEXT = 5027, |
| ExecutionModeOutputLinesNV = 5269, |
| ExecutionModeOutputPrimitivesNV = 5270, |
| ExecutionModeDerivativeGroupQuadsNV = 5289, |
| ExecutionModeDerivativeGroupLinearNV = 5290, |
| ExecutionModeOutputTrianglesNV = 5298, |
| ExecutionModePixelInterlockOrderedEXT = 5366, |
| ExecutionModePixelInterlockUnorderedEXT = 5367, |
| ExecutionModeSampleInterlockOrderedEXT = 5368, |
| ExecutionModeSampleInterlockUnorderedEXT = 5369, |
| ExecutionModeShadingRateInterlockOrderedEXT = 5370, |
| ExecutionModeShadingRateInterlockUnorderedEXT = 5371, |
| ExecutionModeMaxWorkgroupSizeINTEL = 5893, |
| ExecutionModeMaxWorkDimINTEL = 5894, |
| ExecutionModeNoGlobalOffsetINTEL = 5895, |
| ExecutionModeNumSIMDWorkitemsINTEL = 5896, |
| 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, |
| StorageClassCodeSectionINTEL = 5605, |
| 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, |
| 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, |
| }; |
| |
| enum FPFastMathModeShift { |
| FPFastMathModeNotNaNShift = 0, |
| FPFastMathModeNotInfShift = 1, |
| FPFastMathModeNSZShift = 2, |
| FPFastMathModeAllowRecipShift = 3, |
| FPFastMathModeFastShift = 4, |
| FPFastMathModeMax = 0x7fffffff, |
| }; |
| |
| enum FPFastMathModeMask { |
| FPFastMathModeMaskNone = 0, |
| FPFastMathModeNotNaNMask = 0x00000001, |
| FPFastMathModeNotInfMask = 0x00000002, |
| FPFastMathModeNSZMask = 0x00000004, |
| FPFastMathModeAllowRecipMask = 0x00000008, |
| FPFastMathModeFastMask = 0x00000010, |
| }; |
| |
| enum FPRoundingMode { |
| FPRoundingModeRTE = 0, |
| FPRoundingModeRTZ = 1, |
| FPRoundingModeRTP = 2, |
| FPRoundingModeRTN = 3, |
| FPRoundingModeMax = 0x7fffffff, |
| }; |
| |
| enum LinkageType { |
| LinkageTypeExport = 0, |
| LinkageTypeImport = 1, |
| 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, |
| DecorationPerPrimitiveNV = 5271, |
| DecorationPerViewNV = 5272, |
| DecorationPerTaskNV = 5273, |
| DecorationPerVertexNV = 5285, |
| DecorationNonUniform = 5300, |
| DecorationNonUniformEXT = 5300, |
| DecorationRestrictPointer = 5355, |
| DecorationRestrictPointerEXT = 5355, |
| DecorationAliasedPointer = 5356, |
| DecorationAliasedPointerEXT = 5356, |
| DecorationReferencedIndirectlyINTEL = 5602, |
| DecorationCounterBuffer = 5634, |
| DecorationHlslCounterBufferGOOGLE = 5634, |
| DecorationHlslSemanticGOOGLE = 5635, |
| DecorationUserSemantic = 5635, |
| DecorationUserTypeGOOGLE = 5636, |
| DecorationRegisterINTEL = 5825, |
| DecorationMemoryINTEL = 5826, |
| DecorationNumbanksINTEL = 5827, |
| DecorationBankwidthINTEL = 5828, |
| DecorationMaxPrivateCopiesINTEL = 5829, |
| DecorationSinglepumpINTEL = 5830, |
| DecorationDoublepumpINTEL = 5831, |
| DecorationMaxReplicatesINTEL = 5832, |
| DecorationSimpleDualPortINTEL = 5833, |
| DecorationMergeINTEL = 5834, |
| DecorationBankBitsINTEL = 5835, |
| DecorationForcePow2DepthINTEL = 5836, |
| 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, |
| BuiltInBaryCoordNV = 5286, |
| BuiltInBaryCoordNoPerspNV = 5287, |
| BuiltInFragSizeEXT = 5292, |
| BuiltInFragmentSizeNV = 5292, |
| BuiltInFragInvocationCountEXT = 5293, |
| BuiltInInvocationsPerPixelNV = 5293, |
| 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, |
| BuiltInHitTKHR = 5332, |
| BuiltInHitTNV = 5332, |
| BuiltInHitKindKHR = 5333, |
| BuiltInHitKindNV = 5333, |
| BuiltInIncomingRayFlagsKHR = 5351, |
| BuiltInIncomingRayFlagsNV = 5351, |
| BuiltInRayGeometryIndexKHR = 5352, |
| BuiltInWarpsPerSMNV = 5374, |
| BuiltInSMCountNV = 5375, |
| BuiltInWarpIDNV = 5376, |
| BuiltInSMIDNV = 5377, |
| 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, |
| 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, |
| }; |
| |
| enum FunctionControlShift { |
| FunctionControlInlineShift = 0, |
| FunctionControlDontInlineShift = 1, |
| FunctionControlPureShift = 2, |
| FunctionControlConstShift = 3, |
| FunctionControlMax = 0x7fffffff, |
| }; |
| |
| enum FunctionControlMask { |
| FunctionControlMaskNone = 0, |
| FunctionControlInlineMask = 0x00000001, |
| FunctionControlDontInlineMask = 0x00000002, |
| FunctionControlPureMask = 0x00000004, |
| FunctionControlConstMask = 0x00000008, |
| }; |
| |
| 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, |
| CapabilityFragmentShadingRateKHR = 4422, |
| CapabilitySubgroupBallotKHR = 4423, |
| CapabilityDrawParameters = 4427, |
| 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, |
| CapabilityRayTraversalPrimitiveCullingProvisionalKHR = 4478, |
| 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, |
| 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, |
| 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, |
| CapabilityDemoteToHelperInvocationEXT = 5379, |
| CapabilitySubgroupShuffleINTEL = 5568, |
| CapabilitySubgroupBufferBlockIOINTEL = 5569, |
| CapabilitySubgroupImageBlockIOINTEL = 5570, |
| CapabilitySubgroupImageMediaBlockIOINTEL = 5579, |
| CapabilityIntegerFunctions2INTEL = 5584, |
| CapabilityFunctionPointersINTEL = 5603, |
| CapabilityIndirectReferencesINTEL = 5604, |
| CapabilitySubgroupAvcMotionEstimationINTEL = 5696, |
| CapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697, |
| CapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698, |
| CapabilityFPGAMemoryAttributesINTEL = 5824, |
| CapabilityUnstructuredLoopControlsINTEL = 5886, |
| CapabilityFPGALoopControlsINTEL = 5888, |
| CapabilityKernelAttributesINTEL = 5892, |
| CapabilityFPGAKernelAttributesINTEL = 5897, |
| CapabilityBlockingPipesINTEL = 5945, |
| CapabilityFPGARegINTEL = 5948, |
| CapabilityAtomicFloat32AddEXT = 6033, |
| CapabilityAtomicFloat64AddEXT = 6034, |
| 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 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, |
| OpTypeRayQueryProvisionalKHR = 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, |
| OpGroupNonUniformPartitionNV = 5296, |
| OpWritePackedPrimitiveIndices4x8NV = 5299, |
| OpReportIntersectionKHR = 5334, |
| OpReportIntersectionNV = 5334, |
| OpIgnoreIntersectionKHR = 5335, |
| OpIgnoreIntersectionNV = 5335, |
| OpTerminateRayKHR = 5336, |
| OpTerminateRayNV = 5336, |
| OpTraceNV = 5337, |
| OpTraceRayKHR = 5337, |
| OpTypeAccelerationStructureKHR = 5341, |
| OpTypeAccelerationStructureNV = 5341, |
| OpExecuteCallableKHR = 5344, |
| OpExecuteCallableNV = 5344, |
| OpTypeCooperativeMatrixNV = 5358, |
| OpCooperativeMatrixLoadNV = 5359, |
| OpCooperativeMatrixStoreNV = 5360, |
| OpCooperativeMatrixMulAddNV = 5361, |
| OpCooperativeMatrixLengthNV = 5362, |
| OpBeginInvocationInterlockEXT = 5364, |
| OpEndInvocationInterlockEXT = 5365, |
| OpDemoteToHelperInvocationEXT = 5380, |
| OpIsHelperInvocationEXT = 5381, |
| 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, |
| OpFunctionPointerINTEL = 5600, |
| OpFunctionPointerCallINTEL = 5601, |
| 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, |
| OpLoopControlINTEL = 5887, |
| 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, |
| 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 OpTypeRayQueryProvisionalKHR: *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 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 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 OpDemoteToHelperInvocationEXT: *hasResult = false; *hasResultType = false; break; |
| case OpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; 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 OpFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break; |
| case OpFunctionPointerCallINTEL: *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 OpLoopControlINTEL: *hasResult = false; *hasResultType = false; 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; |
| } |
| } |
| #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 |
| |