Path: blob/master/thirdparty/glslang/SPIRV/spirv.hpp
10279 views
// Copyright (c) 2014-2024 The Khronos Group Inc.1//2// Permission is hereby granted, free of charge, to any person obtaining a copy3// of this software and/or associated documentation files (the "Materials"),4// to deal in the Materials without restriction, including without limitation5// the rights to use, copy, modify, merge, publish, distribute, sublicense,6// and/or sell copies of the Materials, and to permit persons to whom the7// Materials are furnished to do so, subject to the following conditions:8//9// The above copyright notice and this permission notice shall be included in10// all copies or substantial portions of the Materials.11//12// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS13// STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND14// HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/15//16// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS17// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,18// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL19// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER20// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING21// FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS22// IN THE MATERIALS.2324// This header is automatically generated by the same tool that creates25// the Binary Section of the SPIR-V specification.2627// Enumeration tokens for SPIR-V, in various styles:28// C, C++, C++11, JSON, Lua, Python, C#, D, Beef29//30// - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL31// - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL32// - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL33// - Lua will use tables, e.g.: spv.SourceLanguage.GLSL34// - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']35// - C# will use enum classes in the Specification class located in the "Spv" namespace,36// e.g.: Spv.Specification.SourceLanguage.GLSL37// - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL38// - Beef will use enum classes in the Specification class located in the "Spv" namespace,39// e.g.: Spv.Specification.SourceLanguage.GLSL40//41// Some tokens act like mask values, which can be OR'd together,42// while others are mutually exclusive. The mask-like ones have43// "Mask" in their name, and a parallel enum that has the shift44// amount (1 << x) for each corresponding enumerant.4546#ifndef spirv_HPP47#define spirv_HPP4849namespace spv {5051typedef unsigned int Id;5253#define SPV_VERSION 0x1060054#define SPV_REVISION 15556static const unsigned int MagicNumber = 0x07230203;57static const unsigned int Version = 0x00010600;58static const unsigned int Revision = 1;59static const unsigned int OpCodeMask = 0xffff;60static const unsigned int WordCountShift = 16;6162enum SourceLanguage {63SourceLanguageUnknown = 0,64SourceLanguageESSL = 1,65SourceLanguageGLSL = 2,66SourceLanguageOpenCL_C = 3,67SourceLanguageOpenCL_CPP = 4,68SourceLanguageHLSL = 5,69SourceLanguageCPP_for_OpenCL = 6,70SourceLanguageSYCL = 7,71SourceLanguageMax = 0x7fffffff,72};7374enum ExecutionModel {75ExecutionModelVertex = 0,76ExecutionModelTessellationControl = 1,77ExecutionModelTessellationEvaluation = 2,78ExecutionModelGeometry = 3,79ExecutionModelFragment = 4,80ExecutionModelGLCompute = 5,81ExecutionModelKernel = 6,82ExecutionModelTaskNV = 5267,83ExecutionModelMeshNV = 5268,84ExecutionModelRayGenerationKHR = 5313,85ExecutionModelRayGenerationNV = 5313,86ExecutionModelIntersectionKHR = 5314,87ExecutionModelIntersectionNV = 5314,88ExecutionModelAnyHitKHR = 5315,89ExecutionModelAnyHitNV = 5315,90ExecutionModelClosestHitKHR = 5316,91ExecutionModelClosestHitNV = 5316,92ExecutionModelMissKHR = 5317,93ExecutionModelMissNV = 5317,94ExecutionModelCallableKHR = 5318,95ExecutionModelCallableNV = 5318,96ExecutionModelTaskEXT = 5364,97ExecutionModelMeshEXT = 5365,98ExecutionModelMax = 0x7fffffff,99};100101enum AddressingModel {102AddressingModelLogical = 0,103AddressingModelPhysical32 = 1,104AddressingModelPhysical64 = 2,105AddressingModelPhysicalStorageBuffer64 = 5348,106AddressingModelPhysicalStorageBuffer64EXT = 5348,107AddressingModelMax = 0x7fffffff,108};109110enum MemoryModel {111MemoryModelSimple = 0,112MemoryModelGLSL450 = 1,113MemoryModelOpenCL = 2,114MemoryModelVulkan = 3,115MemoryModelVulkanKHR = 3,116MemoryModelMax = 0x7fffffff,117};118119enum ExecutionMode {120ExecutionModeInvocations = 0,121ExecutionModeSpacingEqual = 1,122ExecutionModeSpacingFractionalEven = 2,123ExecutionModeSpacingFractionalOdd = 3,124ExecutionModeVertexOrderCw = 4,125ExecutionModeVertexOrderCcw = 5,126ExecutionModePixelCenterInteger = 6,127ExecutionModeOriginUpperLeft = 7,128ExecutionModeOriginLowerLeft = 8,129ExecutionModeEarlyFragmentTests = 9,130ExecutionModePointMode = 10,131ExecutionModeXfb = 11,132ExecutionModeDepthReplacing = 12,133ExecutionModeDepthGreater = 14,134ExecutionModeDepthLess = 15,135ExecutionModeDepthUnchanged = 16,136ExecutionModeLocalSize = 17,137ExecutionModeLocalSizeHint = 18,138ExecutionModeInputPoints = 19,139ExecutionModeInputLines = 20,140ExecutionModeInputLinesAdjacency = 21,141ExecutionModeTriangles = 22,142ExecutionModeInputTrianglesAdjacency = 23,143ExecutionModeQuads = 24,144ExecutionModeIsolines = 25,145ExecutionModeOutputVertices = 26,146ExecutionModeOutputPoints = 27,147ExecutionModeOutputLineStrip = 28,148ExecutionModeOutputTriangleStrip = 29,149ExecutionModeVecTypeHint = 30,150ExecutionModeContractionOff = 31,151ExecutionModeInitializer = 33,152ExecutionModeFinalizer = 34,153ExecutionModeSubgroupSize = 35,154ExecutionModeSubgroupsPerWorkgroup = 36,155ExecutionModeSubgroupsPerWorkgroupId = 37,156ExecutionModeLocalSizeId = 38,157ExecutionModeLocalSizeHintId = 39,158ExecutionModeNonCoherentColorAttachmentReadEXT = 4169,159ExecutionModeNonCoherentDepthAttachmentReadEXT = 4170,160ExecutionModeNonCoherentStencilAttachmentReadEXT = 4171,161ExecutionModeSubgroupUniformControlFlowKHR = 4421,162ExecutionModePostDepthCoverage = 4446,163ExecutionModeDenormPreserve = 4459,164ExecutionModeDenormFlushToZero = 4460,165ExecutionModeSignedZeroInfNanPreserve = 4461,166ExecutionModeRoundingModeRTE = 4462,167ExecutionModeRoundingModeRTZ = 4463,168ExecutionModeEarlyAndLateFragmentTestsAMD = 5017,169ExecutionModeStencilRefReplacingEXT = 5027,170ExecutionModeStencilRefUnchangedFrontAMD = 5079,171ExecutionModeStencilRefGreaterFrontAMD = 5080,172ExecutionModeStencilRefLessFrontAMD = 5081,173ExecutionModeStencilRefUnchangedBackAMD = 5082,174ExecutionModeStencilRefGreaterBackAMD = 5083,175ExecutionModeStencilRefLessBackAMD = 5084,176ExecutionModeQuadDerivativesKHR = 5088,177ExecutionModeRequireFullQuadsKHR = 5089,178ExecutionModeOutputLinesEXT = 5269,179ExecutionModeOutputLinesNV = 5269,180ExecutionModeOutputPrimitivesEXT = 5270,181ExecutionModeOutputPrimitivesNV = 5270,182ExecutionModeDerivativeGroupQuadsNV = 5289,183ExecutionModeDerivativeGroupLinearNV = 5290,184ExecutionModeOutputTrianglesEXT = 5298,185ExecutionModeOutputTrianglesNV = 5298,186ExecutionModePixelInterlockOrderedEXT = 5366,187ExecutionModePixelInterlockUnorderedEXT = 5367,188ExecutionModeSampleInterlockOrderedEXT = 5368,189ExecutionModeSampleInterlockUnorderedEXT = 5369,190ExecutionModeShadingRateInterlockOrderedEXT = 5370,191ExecutionModeShadingRateInterlockUnorderedEXT = 5371,192ExecutionModeSharedLocalMemorySizeINTEL = 5618,193ExecutionModeRoundingModeRTPINTEL = 5620,194ExecutionModeRoundingModeRTNINTEL = 5621,195ExecutionModeFloatingPointModeALTINTEL = 5622,196ExecutionModeFloatingPointModeIEEEINTEL = 5623,197ExecutionModeMaxWorkgroupSizeINTEL = 5893,198ExecutionModeMaxWorkDimINTEL = 5894,199ExecutionModeNoGlobalOffsetINTEL = 5895,200ExecutionModeNumSIMDWorkitemsINTEL = 5896,201ExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,202ExecutionModeMaximallyReconvergesKHR = 6023,203ExecutionModeStreamingInterfaceINTEL = 6154,204ExecutionModeNamedBarrierCountINTEL = 6417,205ExecutionModeMax = 0x7fffffff,206};207208enum StorageClass {209StorageClassUniformConstant = 0,210StorageClassInput = 1,211StorageClassUniform = 2,212StorageClassOutput = 3,213StorageClassWorkgroup = 4,214StorageClassCrossWorkgroup = 5,215StorageClassPrivate = 6,216StorageClassFunction = 7,217StorageClassGeneric = 8,218StorageClassPushConstant = 9,219StorageClassAtomicCounter = 10,220StorageClassImage = 11,221StorageClassStorageBuffer = 12,222StorageClassTileImageEXT = 4172,223StorageClassCallableDataKHR = 5328,224StorageClassCallableDataNV = 5328,225StorageClassIncomingCallableDataKHR = 5329,226StorageClassIncomingCallableDataNV = 5329,227StorageClassRayPayloadKHR = 5338,228StorageClassRayPayloadNV = 5338,229StorageClassHitAttributeKHR = 5339,230StorageClassHitAttributeNV = 5339,231StorageClassIncomingRayPayloadKHR = 5342,232StorageClassIncomingRayPayloadNV = 5342,233StorageClassShaderRecordBufferKHR = 5343,234StorageClassShaderRecordBufferNV = 5343,235StorageClassPhysicalStorageBuffer = 5349,236StorageClassPhysicalStorageBufferEXT = 5349,237StorageClassHitObjectAttributeNV = 5385,238StorageClassTaskPayloadWorkgroupEXT = 5402,239StorageClassCodeSectionINTEL = 5605,240StorageClassDeviceOnlyINTEL = 5936,241StorageClassHostOnlyINTEL = 5937,242StorageClassMax = 0x7fffffff,243};244245enum Dim {246Dim1D = 0,247Dim2D = 1,248Dim3D = 2,249DimCube = 3,250DimRect = 4,251DimBuffer = 5,252DimSubpassData = 6,253DimTileImageDataEXT = 4173,254DimMax = 0x7fffffff,255};256257enum SamplerAddressingMode {258SamplerAddressingModeNone = 0,259SamplerAddressingModeClampToEdge = 1,260SamplerAddressingModeClamp = 2,261SamplerAddressingModeRepeat = 3,262SamplerAddressingModeRepeatMirrored = 4,263SamplerAddressingModeMax = 0x7fffffff,264};265266enum SamplerFilterMode {267SamplerFilterModeNearest = 0,268SamplerFilterModeLinear = 1,269SamplerFilterModeMax = 0x7fffffff,270};271272enum ImageFormat {273ImageFormatUnknown = 0,274ImageFormatRgba32f = 1,275ImageFormatRgba16f = 2,276ImageFormatR32f = 3,277ImageFormatRgba8 = 4,278ImageFormatRgba8Snorm = 5,279ImageFormatRg32f = 6,280ImageFormatRg16f = 7,281ImageFormatR11fG11fB10f = 8,282ImageFormatR16f = 9,283ImageFormatRgba16 = 10,284ImageFormatRgb10A2 = 11,285ImageFormatRg16 = 12,286ImageFormatRg8 = 13,287ImageFormatR16 = 14,288ImageFormatR8 = 15,289ImageFormatRgba16Snorm = 16,290ImageFormatRg16Snorm = 17,291ImageFormatRg8Snorm = 18,292ImageFormatR16Snorm = 19,293ImageFormatR8Snorm = 20,294ImageFormatRgba32i = 21,295ImageFormatRgba16i = 22,296ImageFormatRgba8i = 23,297ImageFormatR32i = 24,298ImageFormatRg32i = 25,299ImageFormatRg16i = 26,300ImageFormatRg8i = 27,301ImageFormatR16i = 28,302ImageFormatR8i = 29,303ImageFormatRgba32ui = 30,304ImageFormatRgba16ui = 31,305ImageFormatRgba8ui = 32,306ImageFormatR32ui = 33,307ImageFormatRgb10a2ui = 34,308ImageFormatRg32ui = 35,309ImageFormatRg16ui = 36,310ImageFormatRg8ui = 37,311ImageFormatR16ui = 38,312ImageFormatR8ui = 39,313ImageFormatR64ui = 40,314ImageFormatR64i = 41,315ImageFormatMax = 0x7fffffff,316};317318enum ImageChannelOrder {319ImageChannelOrderR = 0,320ImageChannelOrderA = 1,321ImageChannelOrderRG = 2,322ImageChannelOrderRA = 3,323ImageChannelOrderRGB = 4,324ImageChannelOrderRGBA = 5,325ImageChannelOrderBGRA = 6,326ImageChannelOrderARGB = 7,327ImageChannelOrderIntensity = 8,328ImageChannelOrderLuminance = 9,329ImageChannelOrderRx = 10,330ImageChannelOrderRGx = 11,331ImageChannelOrderRGBx = 12,332ImageChannelOrderDepth = 13,333ImageChannelOrderDepthStencil = 14,334ImageChannelOrdersRGB = 15,335ImageChannelOrdersRGBx = 16,336ImageChannelOrdersRGBA = 17,337ImageChannelOrdersBGRA = 18,338ImageChannelOrderABGR = 19,339ImageChannelOrderMax = 0x7fffffff,340};341342enum ImageChannelDataType {343ImageChannelDataTypeSnormInt8 = 0,344ImageChannelDataTypeSnormInt16 = 1,345ImageChannelDataTypeUnormInt8 = 2,346ImageChannelDataTypeUnormInt16 = 3,347ImageChannelDataTypeUnormShort565 = 4,348ImageChannelDataTypeUnormShort555 = 5,349ImageChannelDataTypeUnormInt101010 = 6,350ImageChannelDataTypeSignedInt8 = 7,351ImageChannelDataTypeSignedInt16 = 8,352ImageChannelDataTypeSignedInt32 = 9,353ImageChannelDataTypeUnsignedInt8 = 10,354ImageChannelDataTypeUnsignedInt16 = 11,355ImageChannelDataTypeUnsignedInt32 = 12,356ImageChannelDataTypeHalfFloat = 13,357ImageChannelDataTypeFloat = 14,358ImageChannelDataTypeUnormInt24 = 15,359ImageChannelDataTypeUnormInt101010_2 = 16,360ImageChannelDataTypeMax = 0x7fffffff,361};362363enum ImageOperandsShift {364ImageOperandsBiasShift = 0,365ImageOperandsLodShift = 1,366ImageOperandsGradShift = 2,367ImageOperandsConstOffsetShift = 3,368ImageOperandsOffsetShift = 4,369ImageOperandsConstOffsetsShift = 5,370ImageOperandsSampleShift = 6,371ImageOperandsMinLodShift = 7,372ImageOperandsMakeTexelAvailableShift = 8,373ImageOperandsMakeTexelAvailableKHRShift = 8,374ImageOperandsMakeTexelVisibleShift = 9,375ImageOperandsMakeTexelVisibleKHRShift = 9,376ImageOperandsNonPrivateTexelShift = 10,377ImageOperandsNonPrivateTexelKHRShift = 10,378ImageOperandsVolatileTexelShift = 11,379ImageOperandsVolatileTexelKHRShift = 11,380ImageOperandsSignExtendShift = 12,381ImageOperandsZeroExtendShift = 13,382ImageOperandsNontemporalShift = 14,383ImageOperandsOffsetsShift = 16,384ImageOperandsMax = 0x7fffffff,385};386387enum ImageOperandsMask {388ImageOperandsMaskNone = 0,389ImageOperandsBiasMask = 0x00000001,390ImageOperandsLodMask = 0x00000002,391ImageOperandsGradMask = 0x00000004,392ImageOperandsConstOffsetMask = 0x00000008,393ImageOperandsOffsetMask = 0x00000010,394ImageOperandsConstOffsetsMask = 0x00000020,395ImageOperandsSampleMask = 0x00000040,396ImageOperandsMinLodMask = 0x00000080,397ImageOperandsMakeTexelAvailableMask = 0x00000100,398ImageOperandsMakeTexelAvailableKHRMask = 0x00000100,399ImageOperandsMakeTexelVisibleMask = 0x00000200,400ImageOperandsMakeTexelVisibleKHRMask = 0x00000200,401ImageOperandsNonPrivateTexelMask = 0x00000400,402ImageOperandsNonPrivateTexelKHRMask = 0x00000400,403ImageOperandsVolatileTexelMask = 0x00000800,404ImageOperandsVolatileTexelKHRMask = 0x00000800,405ImageOperandsSignExtendMask = 0x00001000,406ImageOperandsZeroExtendMask = 0x00002000,407ImageOperandsNontemporalMask = 0x00004000,408ImageOperandsOffsetsMask = 0x00010000,409};410411enum FPFastMathModeShift {412FPFastMathModeNotNaNShift = 0,413FPFastMathModeNotInfShift = 1,414FPFastMathModeNSZShift = 2,415FPFastMathModeAllowRecipShift = 3,416FPFastMathModeFastShift = 4,417FPFastMathModeAllowContractFastINTELShift = 16,418FPFastMathModeAllowReassocINTELShift = 17,419FPFastMathModeMax = 0x7fffffff,420};421422enum FPFastMathModeMask {423FPFastMathModeMaskNone = 0,424FPFastMathModeNotNaNMask = 0x00000001,425FPFastMathModeNotInfMask = 0x00000002,426FPFastMathModeNSZMask = 0x00000004,427FPFastMathModeAllowRecipMask = 0x00000008,428FPFastMathModeFastMask = 0x00000010,429FPFastMathModeAllowContractFastINTELMask = 0x00010000,430FPFastMathModeAllowReassocINTELMask = 0x00020000,431};432433enum FPRoundingMode {434FPRoundingModeRTE = 0,435FPRoundingModeRTZ = 1,436FPRoundingModeRTP = 2,437FPRoundingModeRTN = 3,438FPRoundingModeMax = 0x7fffffff,439};440441enum LinkageType {442LinkageTypeExport = 0,443LinkageTypeImport = 1,444LinkageTypeLinkOnceODR = 2,445LinkageTypeMax = 0x7fffffff,446};447448enum AccessQualifier {449AccessQualifierReadOnly = 0,450AccessQualifierWriteOnly = 1,451AccessQualifierReadWrite = 2,452AccessQualifierMax = 0x7fffffff,453};454455enum FunctionParameterAttribute {456FunctionParameterAttributeZext = 0,457FunctionParameterAttributeSext = 1,458FunctionParameterAttributeByVal = 2,459FunctionParameterAttributeSret = 3,460FunctionParameterAttributeNoAlias = 4,461FunctionParameterAttributeNoCapture = 5,462FunctionParameterAttributeNoWrite = 6,463FunctionParameterAttributeNoReadWrite = 7,464FunctionParameterAttributeRuntimeAlignedINTEL = 5940,465FunctionParameterAttributeMax = 0x7fffffff,466};467468enum Decoration {469DecorationRelaxedPrecision = 0,470DecorationSpecId = 1,471DecorationBlock = 2,472DecorationBufferBlock = 3,473DecorationRowMajor = 4,474DecorationColMajor = 5,475DecorationArrayStride = 6,476DecorationMatrixStride = 7,477DecorationGLSLShared = 8,478DecorationGLSLPacked = 9,479DecorationCPacked = 10,480DecorationBuiltIn = 11,481DecorationNoPerspective = 13,482DecorationFlat = 14,483DecorationPatch = 15,484DecorationCentroid = 16,485DecorationSample = 17,486DecorationInvariant = 18,487DecorationRestrict = 19,488DecorationAliased = 20,489DecorationVolatile = 21,490DecorationConstant = 22,491DecorationCoherent = 23,492DecorationNonWritable = 24,493DecorationNonReadable = 25,494DecorationUniform = 26,495DecorationUniformId = 27,496DecorationSaturatedConversion = 28,497DecorationStream = 29,498DecorationLocation = 30,499DecorationComponent = 31,500DecorationIndex = 32,501DecorationBinding = 33,502DecorationDescriptorSet = 34,503DecorationOffset = 35,504DecorationXfbBuffer = 36,505DecorationXfbStride = 37,506DecorationFuncParamAttr = 38,507DecorationFPRoundingMode = 39,508DecorationFPFastMathMode = 40,509DecorationLinkageAttributes = 41,510DecorationNoContraction = 42,511DecorationInputAttachmentIndex = 43,512DecorationAlignment = 44,513DecorationMaxByteOffset = 45,514DecorationAlignmentId = 46,515DecorationMaxByteOffsetId = 47,516DecorationNoSignedWrap = 4469,517DecorationNoUnsignedWrap = 4470,518DecorationWeightTextureQCOM = 4487,519DecorationBlockMatchTextureQCOM = 4488,520DecorationBlockMatchSamplerQCOM = 4499,521DecorationExplicitInterpAMD = 4999,522DecorationOverrideCoverageNV = 5248,523DecorationPassthroughNV = 5250,524DecorationViewportRelativeNV = 5252,525DecorationSecondaryViewportRelativeNV = 5256,526DecorationPerPrimitiveEXT = 5271,527DecorationPerPrimitiveNV = 5271,528DecorationPerViewNV = 5272,529DecorationPerTaskNV = 5273,530DecorationPerVertexKHR = 5285,531DecorationPerVertexNV = 5285,532DecorationNonUniform = 5300,533DecorationNonUniformEXT = 5300,534DecorationRestrictPointer = 5355,535DecorationRestrictPointerEXT = 5355,536DecorationAliasedPointer = 5356,537DecorationAliasedPointerEXT = 5356,538DecorationHitObjectShaderRecordBufferNV = 5386,539DecorationBindlessSamplerNV = 5398,540DecorationBindlessImageNV = 5399,541DecorationBoundSamplerNV = 5400,542DecorationBoundImageNV = 5401,543DecorationSIMTCallINTEL = 5599,544DecorationReferencedIndirectlyINTEL = 5602,545DecorationClobberINTEL = 5607,546DecorationSideEffectsINTEL = 5608,547DecorationVectorComputeVariableINTEL = 5624,548DecorationFuncParamIOKindINTEL = 5625,549DecorationVectorComputeFunctionINTEL = 5626,550DecorationStackCallINTEL = 5627,551DecorationGlobalVariableOffsetINTEL = 5628,552DecorationCounterBuffer = 5634,553DecorationHlslCounterBufferGOOGLE = 5634,554DecorationHlslSemanticGOOGLE = 5635,555DecorationUserSemantic = 5635,556DecorationUserTypeGOOGLE = 5636,557DecorationFunctionRoundingModeINTEL = 5822,558DecorationFunctionDenormModeINTEL = 5823,559DecorationRegisterINTEL = 5825,560DecorationMemoryINTEL = 5826,561DecorationNumbanksINTEL = 5827,562DecorationBankwidthINTEL = 5828,563DecorationMaxPrivateCopiesINTEL = 5829,564DecorationSinglepumpINTEL = 5830,565DecorationDoublepumpINTEL = 5831,566DecorationMaxReplicatesINTEL = 5832,567DecorationSimpleDualPortINTEL = 5833,568DecorationMergeINTEL = 5834,569DecorationBankBitsINTEL = 5835,570DecorationForcePow2DepthINTEL = 5836,571DecorationBurstCoalesceINTEL = 5899,572DecorationCacheSizeINTEL = 5900,573DecorationDontStaticallyCoalesceINTEL = 5901,574DecorationPrefetchINTEL = 5902,575DecorationStallEnableINTEL = 5905,576DecorationFuseLoopsInFunctionINTEL = 5907,577DecorationMathOpDSPModeINTEL = 5909,578DecorationAliasScopeINTEL = 5914,579DecorationNoAliasINTEL = 5915,580DecorationInitiationIntervalINTEL = 5917,581DecorationMaxConcurrencyINTEL = 5918,582DecorationPipelineEnableINTEL = 5919,583DecorationBufferLocationINTEL = 5921,584DecorationIOPipeStorageINTEL = 5944,585DecorationFunctionFloatingPointModeINTEL = 6080,586DecorationSingleElementVectorINTEL = 6085,587DecorationVectorComputeCallableFunctionINTEL = 6087,588DecorationMediaBlockIOINTEL = 6140,589DecorationConduitKernelArgumentINTEL = 6175,590DecorationRegisterMapKernelArgumentINTEL = 6176,591DecorationMMHostInterfaceAddressWidthINTEL = 6177,592DecorationMMHostInterfaceDataWidthINTEL = 6178,593DecorationMMHostInterfaceLatencyINTEL = 6179,594DecorationMMHostInterfaceReadWriteModeINTEL = 6180,595DecorationMMHostInterfaceMaxBurstINTEL = 6181,596DecorationMMHostInterfaceWaitRequestINTEL = 6182,597DecorationStableKernelArgumentINTEL = 6183,598DecorationMax = 0x7fffffff,599};600601enum BuiltIn {602BuiltInPosition = 0,603BuiltInPointSize = 1,604BuiltInClipDistance = 3,605BuiltInCullDistance = 4,606BuiltInVertexId = 5,607BuiltInInstanceId = 6,608BuiltInPrimitiveId = 7,609BuiltInInvocationId = 8,610BuiltInLayer = 9,611BuiltInViewportIndex = 10,612BuiltInTessLevelOuter = 11,613BuiltInTessLevelInner = 12,614BuiltInTessCoord = 13,615BuiltInPatchVertices = 14,616BuiltInFragCoord = 15,617BuiltInPointCoord = 16,618BuiltInFrontFacing = 17,619BuiltInSampleId = 18,620BuiltInSamplePosition = 19,621BuiltInSampleMask = 20,622BuiltInFragDepth = 22,623BuiltInHelperInvocation = 23,624BuiltInNumWorkgroups = 24,625BuiltInWorkgroupSize = 25,626BuiltInWorkgroupId = 26,627BuiltInLocalInvocationId = 27,628BuiltInGlobalInvocationId = 28,629BuiltInLocalInvocationIndex = 29,630BuiltInWorkDim = 30,631BuiltInGlobalSize = 31,632BuiltInEnqueuedWorkgroupSize = 32,633BuiltInGlobalOffset = 33,634BuiltInGlobalLinearId = 34,635BuiltInSubgroupSize = 36,636BuiltInSubgroupMaxSize = 37,637BuiltInNumSubgroups = 38,638BuiltInNumEnqueuedSubgroups = 39,639BuiltInSubgroupId = 40,640BuiltInSubgroupLocalInvocationId = 41,641BuiltInVertexIndex = 42,642BuiltInInstanceIndex = 43,643BuiltInCoreIDARM = 4160,644BuiltInCoreCountARM = 4161,645BuiltInCoreMaxIDARM = 4162,646BuiltInWarpIDARM = 4163,647BuiltInWarpMaxIDARM = 4164,648BuiltInSubgroupEqMask = 4416,649BuiltInSubgroupEqMaskKHR = 4416,650BuiltInSubgroupGeMask = 4417,651BuiltInSubgroupGeMaskKHR = 4417,652BuiltInSubgroupGtMask = 4418,653BuiltInSubgroupGtMaskKHR = 4418,654BuiltInSubgroupLeMask = 4419,655BuiltInSubgroupLeMaskKHR = 4419,656BuiltInSubgroupLtMask = 4420,657BuiltInSubgroupLtMaskKHR = 4420,658BuiltInBaseVertex = 4424,659BuiltInBaseInstance = 4425,660BuiltInDrawIndex = 4426,661BuiltInPrimitiveShadingRateKHR = 4432,662BuiltInDeviceIndex = 4438,663BuiltInViewIndex = 4440,664BuiltInShadingRateKHR = 4444,665BuiltInBaryCoordNoPerspAMD = 4992,666BuiltInBaryCoordNoPerspCentroidAMD = 4993,667BuiltInBaryCoordNoPerspSampleAMD = 4994,668BuiltInBaryCoordSmoothAMD = 4995,669BuiltInBaryCoordSmoothCentroidAMD = 4996,670BuiltInBaryCoordSmoothSampleAMD = 4997,671BuiltInBaryCoordPullModelAMD = 4998,672BuiltInFragStencilRefEXT = 5014,673BuiltInViewportMaskNV = 5253,674BuiltInSecondaryPositionNV = 5257,675BuiltInSecondaryViewportMaskNV = 5258,676BuiltInPositionPerViewNV = 5261,677BuiltInViewportMaskPerViewNV = 5262,678BuiltInFullyCoveredEXT = 5264,679BuiltInTaskCountNV = 5274,680BuiltInPrimitiveCountNV = 5275,681BuiltInPrimitiveIndicesNV = 5276,682BuiltInClipDistancePerViewNV = 5277,683BuiltInCullDistancePerViewNV = 5278,684BuiltInLayerPerViewNV = 5279,685BuiltInMeshViewCountNV = 5280,686BuiltInMeshViewIndicesNV = 5281,687BuiltInBaryCoordKHR = 5286,688BuiltInBaryCoordNV = 5286,689BuiltInBaryCoordNoPerspKHR = 5287,690BuiltInBaryCoordNoPerspNV = 5287,691BuiltInFragSizeEXT = 5292,692BuiltInFragmentSizeNV = 5292,693BuiltInFragInvocationCountEXT = 5293,694BuiltInInvocationsPerPixelNV = 5293,695BuiltInPrimitivePointIndicesEXT = 5294,696BuiltInPrimitiveLineIndicesEXT = 5295,697BuiltInPrimitiveTriangleIndicesEXT = 5296,698BuiltInCullPrimitiveEXT = 5299,699BuiltInLaunchIdKHR = 5319,700BuiltInLaunchIdNV = 5319,701BuiltInLaunchSizeKHR = 5320,702BuiltInLaunchSizeNV = 5320,703BuiltInWorldRayOriginKHR = 5321,704BuiltInWorldRayOriginNV = 5321,705BuiltInWorldRayDirectionKHR = 5322,706BuiltInWorldRayDirectionNV = 5322,707BuiltInObjectRayOriginKHR = 5323,708BuiltInObjectRayOriginNV = 5323,709BuiltInObjectRayDirectionKHR = 5324,710BuiltInObjectRayDirectionNV = 5324,711BuiltInRayTminKHR = 5325,712BuiltInRayTminNV = 5325,713BuiltInRayTmaxKHR = 5326,714BuiltInRayTmaxNV = 5326,715BuiltInInstanceCustomIndexKHR = 5327,716BuiltInInstanceCustomIndexNV = 5327,717BuiltInObjectToWorldKHR = 5330,718BuiltInObjectToWorldNV = 5330,719BuiltInWorldToObjectKHR = 5331,720BuiltInWorldToObjectNV = 5331,721BuiltInHitTNV = 5332,722BuiltInHitKindKHR = 5333,723BuiltInHitKindNV = 5333,724BuiltInCurrentRayTimeNV = 5334,725BuiltInHitTriangleVertexPositionsKHR = 5335,726BuiltInHitMicroTriangleVertexPositionsNV = 5337,727BuiltInHitMicroTriangleVertexBarycentricsNV = 5344,728BuiltInIncomingRayFlagsKHR = 5351,729BuiltInIncomingRayFlagsNV = 5351,730BuiltInRayGeometryIndexKHR = 5352,731BuiltInWarpsPerSMNV = 5374,732BuiltInSMCountNV = 5375,733BuiltInWarpIDNV = 5376,734BuiltInSMIDNV = 5377,735BuiltInHitKindFrontFacingMicroTriangleNV = 5405,736BuiltInHitKindBackFacingMicroTriangleNV = 5406,737BuiltInCullMaskKHR = 6021,738BuiltInMax = 0x7fffffff,739};740741enum SelectionControlShift {742SelectionControlFlattenShift = 0,743SelectionControlDontFlattenShift = 1,744SelectionControlMax = 0x7fffffff,745};746747enum SelectionControlMask {748SelectionControlMaskNone = 0,749SelectionControlFlattenMask = 0x00000001,750SelectionControlDontFlattenMask = 0x00000002,751};752753enum LoopControlShift {754LoopControlUnrollShift = 0,755LoopControlDontUnrollShift = 1,756LoopControlDependencyInfiniteShift = 2,757LoopControlDependencyLengthShift = 3,758LoopControlMinIterationsShift = 4,759LoopControlMaxIterationsShift = 5,760LoopControlIterationMultipleShift = 6,761LoopControlPeelCountShift = 7,762LoopControlPartialCountShift = 8,763LoopControlInitiationIntervalINTELShift = 16,764LoopControlMaxConcurrencyINTELShift = 17,765LoopControlDependencyArrayINTELShift = 18,766LoopControlPipelineEnableINTELShift = 19,767LoopControlLoopCoalesceINTELShift = 20,768LoopControlMaxInterleavingINTELShift = 21,769LoopControlSpeculatedIterationsINTELShift = 22,770LoopControlNoFusionINTELShift = 23,771LoopControlLoopCountINTELShift = 24,772LoopControlMaxReinvocationDelayINTELShift = 25,773LoopControlMax = 0x7fffffff,774};775776enum LoopControlMask {777LoopControlMaskNone = 0,778LoopControlUnrollMask = 0x00000001,779LoopControlDontUnrollMask = 0x00000002,780LoopControlDependencyInfiniteMask = 0x00000004,781LoopControlDependencyLengthMask = 0x00000008,782LoopControlMinIterationsMask = 0x00000010,783LoopControlMaxIterationsMask = 0x00000020,784LoopControlIterationMultipleMask = 0x00000040,785LoopControlPeelCountMask = 0x00000080,786LoopControlPartialCountMask = 0x00000100,787LoopControlInitiationIntervalINTELMask = 0x00010000,788LoopControlMaxConcurrencyINTELMask = 0x00020000,789LoopControlDependencyArrayINTELMask = 0x00040000,790LoopControlPipelineEnableINTELMask = 0x00080000,791LoopControlLoopCoalesceINTELMask = 0x00100000,792LoopControlMaxInterleavingINTELMask = 0x00200000,793LoopControlSpeculatedIterationsINTELMask = 0x00400000,794LoopControlNoFusionINTELMask = 0x00800000,795LoopControlLoopCountINTELMask = 0x01000000,796LoopControlMaxReinvocationDelayINTELMask = 0x02000000,797};798799enum FunctionControlShift {800FunctionControlInlineShift = 0,801FunctionControlDontInlineShift = 1,802FunctionControlPureShift = 2,803FunctionControlConstShift = 3,804FunctionControlOptNoneINTELShift = 16,805FunctionControlMax = 0x7fffffff,806};807808enum FunctionControlMask {809FunctionControlMaskNone = 0,810FunctionControlInlineMask = 0x00000001,811FunctionControlDontInlineMask = 0x00000002,812FunctionControlPureMask = 0x00000004,813FunctionControlConstMask = 0x00000008,814FunctionControlOptNoneINTELMask = 0x00010000,815};816817enum MemorySemanticsShift {818MemorySemanticsAcquireShift = 1,819MemorySemanticsReleaseShift = 2,820MemorySemanticsAcquireReleaseShift = 3,821MemorySemanticsSequentiallyConsistentShift = 4,822MemorySemanticsUniformMemoryShift = 6,823MemorySemanticsSubgroupMemoryShift = 7,824MemorySemanticsWorkgroupMemoryShift = 8,825MemorySemanticsCrossWorkgroupMemoryShift = 9,826MemorySemanticsAtomicCounterMemoryShift = 10,827MemorySemanticsImageMemoryShift = 11,828MemorySemanticsOutputMemoryShift = 12,829MemorySemanticsOutputMemoryKHRShift = 12,830MemorySemanticsMakeAvailableShift = 13,831MemorySemanticsMakeAvailableKHRShift = 13,832MemorySemanticsMakeVisibleShift = 14,833MemorySemanticsMakeVisibleKHRShift = 14,834MemorySemanticsVolatileShift = 15,835MemorySemanticsMax = 0x7fffffff,836};837838enum MemorySemanticsMask {839MemorySemanticsMaskNone = 0,840MemorySemanticsAcquireMask = 0x00000002,841MemorySemanticsReleaseMask = 0x00000004,842MemorySemanticsAcquireReleaseMask = 0x00000008,843MemorySemanticsSequentiallyConsistentMask = 0x00000010,844MemorySemanticsUniformMemoryMask = 0x00000040,845MemorySemanticsSubgroupMemoryMask = 0x00000080,846MemorySemanticsWorkgroupMemoryMask = 0x00000100,847MemorySemanticsCrossWorkgroupMemoryMask = 0x00000200,848MemorySemanticsAtomicCounterMemoryMask = 0x00000400,849MemorySemanticsImageMemoryMask = 0x00000800,850MemorySemanticsOutputMemoryMask = 0x00001000,851MemorySemanticsOutputMemoryKHRMask = 0x00001000,852MemorySemanticsMakeAvailableMask = 0x00002000,853MemorySemanticsMakeAvailableKHRMask = 0x00002000,854MemorySemanticsMakeVisibleMask = 0x00004000,855MemorySemanticsMakeVisibleKHRMask = 0x00004000,856MemorySemanticsVolatileMask = 0x00008000,857};858859enum MemoryAccessShift {860MemoryAccessVolatileShift = 0,861MemoryAccessAlignedShift = 1,862MemoryAccessNontemporalShift = 2,863MemoryAccessMakePointerAvailableShift = 3,864MemoryAccessMakePointerAvailableKHRShift = 3,865MemoryAccessMakePointerVisibleShift = 4,866MemoryAccessMakePointerVisibleKHRShift = 4,867MemoryAccessNonPrivatePointerShift = 5,868MemoryAccessNonPrivatePointerKHRShift = 5,869MemoryAccessAliasScopeINTELMaskShift = 16,870MemoryAccessNoAliasINTELMaskShift = 17,871MemoryAccessMax = 0x7fffffff,872};873874enum MemoryAccessMask {875MemoryAccessMaskNone = 0,876MemoryAccessVolatileMask = 0x00000001,877MemoryAccessAlignedMask = 0x00000002,878MemoryAccessNontemporalMask = 0x00000004,879MemoryAccessMakePointerAvailableMask = 0x00000008,880MemoryAccessMakePointerAvailableKHRMask = 0x00000008,881MemoryAccessMakePointerVisibleMask = 0x00000010,882MemoryAccessMakePointerVisibleKHRMask = 0x00000010,883MemoryAccessNonPrivatePointerMask = 0x00000020,884MemoryAccessNonPrivatePointerKHRMask = 0x00000020,885MemoryAccessAliasScopeINTELMaskMask = 0x00010000,886MemoryAccessNoAliasINTELMaskMask = 0x00020000,887};888889enum Scope {890ScopeCrossDevice = 0,891ScopeDevice = 1,892ScopeWorkgroup = 2,893ScopeSubgroup = 3,894ScopeInvocation = 4,895ScopeQueueFamily = 5,896ScopeQueueFamilyKHR = 5,897ScopeShaderCallKHR = 6,898ScopeMax = 0x7fffffff,899};900901enum GroupOperation {902GroupOperationReduce = 0,903GroupOperationInclusiveScan = 1,904GroupOperationExclusiveScan = 2,905GroupOperationClusteredReduce = 3,906GroupOperationPartitionedReduceNV = 6,907GroupOperationPartitionedInclusiveScanNV = 7,908GroupOperationPartitionedExclusiveScanNV = 8,909GroupOperationMax = 0x7fffffff,910};911912enum KernelEnqueueFlags {913KernelEnqueueFlagsNoWait = 0,914KernelEnqueueFlagsWaitKernel = 1,915KernelEnqueueFlagsWaitWorkGroup = 2,916KernelEnqueueFlagsMax = 0x7fffffff,917};918919enum KernelProfilingInfoShift {920KernelProfilingInfoCmdExecTimeShift = 0,921KernelProfilingInfoMax = 0x7fffffff,922};923924enum KernelProfilingInfoMask {925KernelProfilingInfoMaskNone = 0,926KernelProfilingInfoCmdExecTimeMask = 0x00000001,927};928929enum Capability {930CapabilityMatrix = 0,931CapabilityShader = 1,932CapabilityGeometry = 2,933CapabilityTessellation = 3,934CapabilityAddresses = 4,935CapabilityLinkage = 5,936CapabilityKernel = 6,937CapabilityVector16 = 7,938CapabilityFloat16Buffer = 8,939CapabilityFloat16 = 9,940CapabilityFloat64 = 10,941CapabilityInt64 = 11,942CapabilityInt64Atomics = 12,943CapabilityImageBasic = 13,944CapabilityImageReadWrite = 14,945CapabilityImageMipmap = 15,946CapabilityPipes = 17,947CapabilityGroups = 18,948CapabilityDeviceEnqueue = 19,949CapabilityLiteralSampler = 20,950CapabilityAtomicStorage = 21,951CapabilityInt16 = 22,952CapabilityTessellationPointSize = 23,953CapabilityGeometryPointSize = 24,954CapabilityImageGatherExtended = 25,955CapabilityStorageImageMultisample = 27,956CapabilityUniformBufferArrayDynamicIndexing = 28,957CapabilitySampledImageArrayDynamicIndexing = 29,958CapabilityStorageBufferArrayDynamicIndexing = 30,959CapabilityStorageImageArrayDynamicIndexing = 31,960CapabilityClipDistance = 32,961CapabilityCullDistance = 33,962CapabilityImageCubeArray = 34,963CapabilitySampleRateShading = 35,964CapabilityImageRect = 36,965CapabilitySampledRect = 37,966CapabilityGenericPointer = 38,967CapabilityInt8 = 39,968CapabilityInputAttachment = 40,969CapabilitySparseResidency = 41,970CapabilityMinLod = 42,971CapabilitySampled1D = 43,972CapabilityImage1D = 44,973CapabilitySampledCubeArray = 45,974CapabilitySampledBuffer = 46,975CapabilityImageBuffer = 47,976CapabilityImageMSArray = 48,977CapabilityStorageImageExtendedFormats = 49,978CapabilityImageQuery = 50,979CapabilityDerivativeControl = 51,980CapabilityInterpolationFunction = 52,981CapabilityTransformFeedback = 53,982CapabilityGeometryStreams = 54,983CapabilityStorageImageReadWithoutFormat = 55,984CapabilityStorageImageWriteWithoutFormat = 56,985CapabilityMultiViewport = 57,986CapabilitySubgroupDispatch = 58,987CapabilityNamedBarrier = 59,988CapabilityPipeStorage = 60,989CapabilityGroupNonUniform = 61,990CapabilityGroupNonUniformVote = 62,991CapabilityGroupNonUniformArithmetic = 63,992CapabilityGroupNonUniformBallot = 64,993CapabilityGroupNonUniformShuffle = 65,994CapabilityGroupNonUniformShuffleRelative = 66,995CapabilityGroupNonUniformClustered = 67,996CapabilityGroupNonUniformQuad = 68,997CapabilityShaderLayer = 69,998CapabilityShaderViewportIndex = 70,999CapabilityUniformDecoration = 71,1000CapabilityCoreBuiltinsARM = 4165,1001CapabilityTileImageColorReadAccessEXT = 4166,1002CapabilityTileImageDepthReadAccessEXT = 4167,1003CapabilityTileImageStencilReadAccessEXT = 4168,1004CapabilityFragmentShadingRateKHR = 4422,1005CapabilitySubgroupBallotKHR = 4423,1006CapabilityDrawParameters = 4427,1007CapabilityWorkgroupMemoryExplicitLayoutKHR = 4428,1008CapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,1009CapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,1010CapabilitySubgroupVoteKHR = 4431,1011CapabilityStorageBuffer16BitAccess = 4433,1012CapabilityStorageUniformBufferBlock16 = 4433,1013CapabilityStorageUniform16 = 4434,1014CapabilityUniformAndStorageBuffer16BitAccess = 4434,1015CapabilityStoragePushConstant16 = 4435,1016CapabilityStorageInputOutput16 = 4436,1017CapabilityDeviceGroup = 4437,1018CapabilityMultiView = 4439,1019CapabilityVariablePointersStorageBuffer = 4441,1020CapabilityVariablePointers = 4442,1021CapabilityAtomicStorageOps = 4445,1022CapabilitySampleMaskPostDepthCoverage = 4447,1023CapabilityStorageBuffer8BitAccess = 4448,1024CapabilityUniformAndStorageBuffer8BitAccess = 4449,1025CapabilityStoragePushConstant8 = 4450,1026CapabilityDenormPreserve = 4464,1027CapabilityDenormFlushToZero = 4465,1028CapabilitySignedZeroInfNanPreserve = 4466,1029CapabilityRoundingModeRTE = 4467,1030CapabilityRoundingModeRTZ = 4468,1031CapabilityRayQueryProvisionalKHR = 4471,1032CapabilityRayQueryKHR = 4472,1033CapabilityRayTraversalPrimitiveCullingKHR = 4478,1034CapabilityRayTracingKHR = 4479,1035CapabilityTextureSampleWeightedQCOM = 4484,1036CapabilityTextureBoxFilterQCOM = 4485,1037CapabilityTextureBlockMatchQCOM = 4486,1038CapabilityTextureBlockMatch2QCOM = 4498,1039CapabilityFloat16ImageAMD = 5008,1040CapabilityImageGatherBiasLodAMD = 5009,1041CapabilityFragmentMaskAMD = 5010,1042CapabilityStencilExportEXT = 5013,1043CapabilityImageReadWriteLodAMD = 5015,1044CapabilityInt64ImageEXT = 5016,1045CapabilityShaderClockKHR = 5055,1046CapabilityQuadControlKHR = 5087,1047CapabilitySampleMaskOverrideCoverageNV = 5249,1048CapabilityGeometryShaderPassthroughNV = 5251,1049CapabilityShaderViewportIndexLayerEXT = 5254,1050CapabilityShaderViewportIndexLayerNV = 5254,1051CapabilityShaderViewportMaskNV = 5255,1052CapabilityShaderStereoViewNV = 5259,1053CapabilityPerViewAttributesNV = 5260,1054CapabilityFragmentFullyCoveredEXT = 5265,1055CapabilityMeshShadingNV = 5266,1056CapabilityImageFootprintNV = 5282,1057CapabilityMeshShadingEXT = 5283,1058CapabilityFragmentBarycentricKHR = 5284,1059CapabilityFragmentBarycentricNV = 5284,1060CapabilityComputeDerivativeGroupQuadsNV = 5288,1061CapabilityFragmentDensityEXT = 5291,1062CapabilityShadingRateNV = 5291,1063CapabilityGroupNonUniformPartitionedNV = 5297,1064CapabilityShaderNonUniform = 5301,1065CapabilityShaderNonUniformEXT = 5301,1066CapabilityRuntimeDescriptorArray = 5302,1067CapabilityRuntimeDescriptorArrayEXT = 5302,1068CapabilityInputAttachmentArrayDynamicIndexing = 5303,1069CapabilityInputAttachmentArrayDynamicIndexingEXT = 5303,1070CapabilityUniformTexelBufferArrayDynamicIndexing = 5304,1071CapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304,1072CapabilityStorageTexelBufferArrayDynamicIndexing = 5305,1073CapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305,1074CapabilityUniformBufferArrayNonUniformIndexing = 5306,1075CapabilityUniformBufferArrayNonUniformIndexingEXT = 5306,1076CapabilitySampledImageArrayNonUniformIndexing = 5307,1077CapabilitySampledImageArrayNonUniformIndexingEXT = 5307,1078CapabilityStorageBufferArrayNonUniformIndexing = 5308,1079CapabilityStorageBufferArrayNonUniformIndexingEXT = 5308,1080CapabilityStorageImageArrayNonUniformIndexing = 5309,1081CapabilityStorageImageArrayNonUniformIndexingEXT = 5309,1082CapabilityInputAttachmentArrayNonUniformIndexing = 5310,1083CapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,1084CapabilityUniformTexelBufferArrayNonUniformIndexing = 5311,1085CapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,1086CapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,1087CapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,1088CapabilityRayTracingPositionFetchKHR = 5336,1089CapabilityRayTracingNV = 5340,1090CapabilityRayTracingMotionBlurNV = 5341,1091CapabilityVulkanMemoryModel = 5345,1092CapabilityVulkanMemoryModelKHR = 5345,1093CapabilityVulkanMemoryModelDeviceScope = 5346,1094CapabilityVulkanMemoryModelDeviceScopeKHR = 5346,1095CapabilityPhysicalStorageBufferAddresses = 5347,1096CapabilityPhysicalStorageBufferAddressesEXT = 5347,1097CapabilityComputeDerivativeGroupLinearNV = 5350,1098CapabilityRayTracingProvisionalKHR = 5353,1099CapabilityCooperativeMatrixNV = 5357,1100CapabilityFragmentShaderSampleInterlockEXT = 5363,1101CapabilityFragmentShaderShadingRateInterlockEXT = 5372,1102CapabilityShaderSMBuiltinsNV = 5373,1103CapabilityFragmentShaderPixelInterlockEXT = 5378,1104CapabilityDemoteToHelperInvocation = 5379,1105CapabilityDemoteToHelperInvocationEXT = 5379,1106CapabilityDisplacementMicromapNV = 5380,1107CapabilityRayTracingOpacityMicromapEXT = 5381,1108CapabilityShaderInvocationReorderNV = 5383,1109CapabilityBindlessTextureNV = 5390,1110CapabilityRayQueryPositionFetchKHR = 5391,1111CapabilityAtomicFloat16VectorNV = 5404,1112CapabilityRayTracingDisplacementMicromapNV = 5409,1113CapabilitySubgroupShuffleINTEL = 5568,1114CapabilitySubgroupBufferBlockIOINTEL = 5569,1115CapabilitySubgroupImageBlockIOINTEL = 5570,1116CapabilitySubgroupImageMediaBlockIOINTEL = 5579,1117CapabilityRoundToInfinityINTEL = 5582,1118CapabilityFloatingPointModeINTEL = 5583,1119CapabilityIntegerFunctions2INTEL = 5584,1120CapabilityFunctionPointersINTEL = 5603,1121CapabilityIndirectReferencesINTEL = 5604,1122CapabilityAsmINTEL = 5606,1123CapabilityAtomicFloat32MinMaxEXT = 5612,1124CapabilityAtomicFloat64MinMaxEXT = 5613,1125CapabilityAtomicFloat16MinMaxEXT = 5616,1126CapabilityVectorComputeINTEL = 5617,1127CapabilityVectorAnyINTEL = 5619,1128CapabilityExpectAssumeKHR = 5629,1129CapabilitySubgroupAvcMotionEstimationINTEL = 5696,1130CapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,1131CapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,1132CapabilityVariableLengthArrayINTEL = 5817,1133CapabilityFunctionFloatControlINTEL = 5821,1134CapabilityFPGAMemoryAttributesINTEL = 5824,1135CapabilityFPFastMathModeINTEL = 5837,1136CapabilityArbitraryPrecisionIntegersINTEL = 5844,1137CapabilityArbitraryPrecisionFloatingPointINTEL = 5845,1138CapabilityUnstructuredLoopControlsINTEL = 5886,1139CapabilityFPGALoopControlsINTEL = 5888,1140CapabilityKernelAttributesINTEL = 5892,1141CapabilityFPGAKernelAttributesINTEL = 5897,1142CapabilityFPGAMemoryAccessesINTEL = 5898,1143CapabilityFPGAClusterAttributesINTEL = 5904,1144CapabilityLoopFuseINTEL = 5906,1145CapabilityFPGADSPControlINTEL = 5908,1146CapabilityMemoryAccessAliasingINTEL = 5910,1147CapabilityFPGAInvocationPipeliningAttributesINTEL = 5916,1148CapabilityFPGABufferLocationINTEL = 5920,1149CapabilityArbitraryPrecisionFixedPointINTEL = 5922,1150CapabilityUSMStorageClassesINTEL = 5935,1151CapabilityRuntimeAlignedAttributeINTEL = 5939,1152CapabilityIOPipesINTEL = 5943,1153CapabilityBlockingPipesINTEL = 5945,1154CapabilityFPGARegINTEL = 5948,1155CapabilityDotProductInputAll = 6016,1156CapabilityDotProductInputAllKHR = 6016,1157CapabilityDotProductInput4x8Bit = 6017,1158CapabilityDotProductInput4x8BitKHR = 6017,1159CapabilityDotProductInput4x8BitPacked = 6018,1160CapabilityDotProductInput4x8BitPackedKHR = 6018,1161CapabilityDotProduct = 6019,1162CapabilityDotProductKHR = 6019,1163CapabilityRayCullMaskKHR = 6020,1164CapabilityCooperativeMatrixKHR = 6022,1165CapabilityBitInstructions = 6025,1166CapabilityGroupNonUniformRotateKHR = 6026,1167CapabilityAtomicFloat32AddEXT = 6033,1168CapabilityAtomicFloat64AddEXT = 6034,1169CapabilityLongConstantCompositeINTEL = 6089,1170CapabilityOptNoneINTEL = 6094,1171CapabilityAtomicFloat16AddEXT = 6095,1172CapabilityDebugInfoModuleINTEL = 6114,1173CapabilitySplitBarrierINTEL = 6141,1174CapabilityFPGAArgumentInterfacesINTEL = 6174,1175CapabilityGroupUniformArithmeticKHR = 6400,1176CapabilityMax = 0x7fffffff,1177};11781179enum RayFlagsShift {1180RayFlagsOpaqueKHRShift = 0,1181RayFlagsNoOpaqueKHRShift = 1,1182RayFlagsTerminateOnFirstHitKHRShift = 2,1183RayFlagsSkipClosestHitShaderKHRShift = 3,1184RayFlagsCullBackFacingTrianglesKHRShift = 4,1185RayFlagsCullFrontFacingTrianglesKHRShift = 5,1186RayFlagsCullOpaqueKHRShift = 6,1187RayFlagsCullNoOpaqueKHRShift = 7,1188RayFlagsSkipTrianglesKHRShift = 8,1189RayFlagsSkipAABBsKHRShift = 9,1190RayFlagsForceOpacityMicromap2StateEXTShift = 10,1191RayFlagsMax = 0x7fffffff,1192};11931194enum RayFlagsMask {1195RayFlagsMaskNone = 0,1196RayFlagsOpaqueKHRMask = 0x00000001,1197RayFlagsNoOpaqueKHRMask = 0x00000002,1198RayFlagsTerminateOnFirstHitKHRMask = 0x00000004,1199RayFlagsSkipClosestHitShaderKHRMask = 0x00000008,1200RayFlagsCullBackFacingTrianglesKHRMask = 0x00000010,1201RayFlagsCullFrontFacingTrianglesKHRMask = 0x00000020,1202RayFlagsCullOpaqueKHRMask = 0x00000040,1203RayFlagsCullNoOpaqueKHRMask = 0x00000080,1204RayFlagsSkipTrianglesKHRMask = 0x00000100,1205RayFlagsSkipAABBsKHRMask = 0x00000200,1206RayFlagsForceOpacityMicromap2StateEXTMask = 0x00000400,1207};12081209enum RayQueryIntersection {1210RayQueryIntersectionRayQueryCandidateIntersectionKHR = 0,1211RayQueryIntersectionRayQueryCommittedIntersectionKHR = 1,1212RayQueryIntersectionMax = 0x7fffffff,1213};12141215enum RayQueryCommittedIntersectionType {1216RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR = 0,1217RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR = 1,1218RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR = 2,1219RayQueryCommittedIntersectionTypeMax = 0x7fffffff,1220};12211222enum RayQueryCandidateIntersectionType {1223RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR = 0,1224RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR = 1,1225RayQueryCandidateIntersectionTypeMax = 0x7fffffff,1226};12271228enum FragmentShadingRateShift {1229FragmentShadingRateVertical2PixelsShift = 0,1230FragmentShadingRateVertical4PixelsShift = 1,1231FragmentShadingRateHorizontal2PixelsShift = 2,1232FragmentShadingRateHorizontal4PixelsShift = 3,1233FragmentShadingRateMax = 0x7fffffff,1234};12351236enum FragmentShadingRateMask {1237FragmentShadingRateMaskNone = 0,1238FragmentShadingRateVertical2PixelsMask = 0x00000001,1239FragmentShadingRateVertical4PixelsMask = 0x00000002,1240FragmentShadingRateHorizontal2PixelsMask = 0x00000004,1241FragmentShadingRateHorizontal4PixelsMask = 0x00000008,1242};12431244enum FPDenormMode {1245FPDenormModePreserve = 0,1246FPDenormModeFlushToZero = 1,1247FPDenormModeMax = 0x7fffffff,1248};12491250enum FPOperationMode {1251FPOperationModeIEEE = 0,1252FPOperationModeALT = 1,1253FPOperationModeMax = 0x7fffffff,1254};12551256enum QuantizationModes {1257QuantizationModesTRN = 0,1258QuantizationModesTRN_ZERO = 1,1259QuantizationModesRND = 2,1260QuantizationModesRND_ZERO = 3,1261QuantizationModesRND_INF = 4,1262QuantizationModesRND_MIN_INF = 5,1263QuantizationModesRND_CONV = 6,1264QuantizationModesRND_CONV_ODD = 7,1265QuantizationModesMax = 0x7fffffff,1266};12671268enum OverflowModes {1269OverflowModesWRAP = 0,1270OverflowModesSAT = 1,1271OverflowModesSAT_ZERO = 2,1272OverflowModesSAT_SYM = 3,1273OverflowModesMax = 0x7fffffff,1274};12751276enum PackedVectorFormat {1277PackedVectorFormatPackedVectorFormat4x8Bit = 0,1278PackedVectorFormatPackedVectorFormat4x8BitKHR = 0,1279PackedVectorFormatMax = 0x7fffffff,1280};12811282enum CooperativeMatrixOperandsShift {1283CooperativeMatrixOperandsMatrixASignedComponentsKHRShift = 0,1284CooperativeMatrixOperandsMatrixBSignedComponentsKHRShift = 1,1285CooperativeMatrixOperandsMatrixCSignedComponentsKHRShift = 2,1286CooperativeMatrixOperandsMatrixResultSignedComponentsKHRShift = 3,1287CooperativeMatrixOperandsSaturatingAccumulationKHRShift = 4,1288CooperativeMatrixOperandsMax = 0x7fffffff,1289};12901291enum CooperativeMatrixOperandsMask {1292CooperativeMatrixOperandsMaskNone = 0,1293CooperativeMatrixOperandsMatrixASignedComponentsKHRMask = 0x00000001,1294CooperativeMatrixOperandsMatrixBSignedComponentsKHRMask = 0x00000002,1295CooperativeMatrixOperandsMatrixCSignedComponentsKHRMask = 0x00000004,1296CooperativeMatrixOperandsMatrixResultSignedComponentsKHRMask = 0x00000008,1297CooperativeMatrixOperandsSaturatingAccumulationKHRMask = 0x00000010,1298};12991300enum CooperativeMatrixLayout {1301CooperativeMatrixLayoutRowMajorKHR = 0,1302CooperativeMatrixLayoutColumnMajorKHR = 1,1303CooperativeMatrixLayoutMax = 0x7fffffff,1304};13051306enum CooperativeMatrixUse {1307CooperativeMatrixUseMatrixAKHR = 0,1308CooperativeMatrixUseMatrixBKHR = 1,1309CooperativeMatrixUseMatrixAccumulatorKHR = 2,1310CooperativeMatrixUseMax = 0x7fffffff,1311};13121313enum Op {1314OpNop = 0,1315OpUndef = 1,1316OpSourceContinued = 2,1317OpSource = 3,1318OpSourceExtension = 4,1319OpName = 5,1320OpMemberName = 6,1321OpString = 7,1322OpLine = 8,1323OpExtension = 10,1324OpExtInstImport = 11,1325OpExtInst = 12,1326OpMemoryModel = 14,1327OpEntryPoint = 15,1328OpExecutionMode = 16,1329OpCapability = 17,1330OpTypeVoid = 19,1331OpTypeBool = 20,1332OpTypeInt = 21,1333OpTypeFloat = 22,1334OpTypeVector = 23,1335OpTypeMatrix = 24,1336OpTypeImage = 25,1337OpTypeSampler = 26,1338OpTypeSampledImage = 27,1339OpTypeArray = 28,1340OpTypeRuntimeArray = 29,1341OpTypeStruct = 30,1342OpTypeOpaque = 31,1343OpTypePointer = 32,1344OpTypeFunction = 33,1345OpTypeEvent = 34,1346OpTypeDeviceEvent = 35,1347OpTypeReserveId = 36,1348OpTypeQueue = 37,1349OpTypePipe = 38,1350OpTypeForwardPointer = 39,1351OpConstantTrue = 41,1352OpConstantFalse = 42,1353OpConstant = 43,1354OpConstantComposite = 44,1355OpConstantSampler = 45,1356OpConstantNull = 46,1357OpSpecConstantTrue = 48,1358OpSpecConstantFalse = 49,1359OpSpecConstant = 50,1360OpSpecConstantComposite = 51,1361OpSpecConstantOp = 52,1362OpFunction = 54,1363OpFunctionParameter = 55,1364OpFunctionEnd = 56,1365OpFunctionCall = 57,1366OpVariable = 59,1367OpImageTexelPointer = 60,1368OpLoad = 61,1369OpStore = 62,1370OpCopyMemory = 63,1371OpCopyMemorySized = 64,1372OpAccessChain = 65,1373OpInBoundsAccessChain = 66,1374OpPtrAccessChain = 67,1375OpArrayLength = 68,1376OpGenericPtrMemSemantics = 69,1377OpInBoundsPtrAccessChain = 70,1378OpDecorate = 71,1379OpMemberDecorate = 72,1380OpDecorationGroup = 73,1381OpGroupDecorate = 74,1382OpGroupMemberDecorate = 75,1383OpVectorExtractDynamic = 77,1384OpVectorInsertDynamic = 78,1385OpVectorShuffle = 79,1386OpCompositeConstruct = 80,1387OpCompositeExtract = 81,1388OpCompositeInsert = 82,1389OpCopyObject = 83,1390OpTranspose = 84,1391OpSampledImage = 86,1392OpImageSampleImplicitLod = 87,1393OpImageSampleExplicitLod = 88,1394OpImageSampleDrefImplicitLod = 89,1395OpImageSampleDrefExplicitLod = 90,1396OpImageSampleProjImplicitLod = 91,1397OpImageSampleProjExplicitLod = 92,1398OpImageSampleProjDrefImplicitLod = 93,1399OpImageSampleProjDrefExplicitLod = 94,1400OpImageFetch = 95,1401OpImageGather = 96,1402OpImageDrefGather = 97,1403OpImageRead = 98,1404OpImageWrite = 99,1405OpImage = 100,1406OpImageQueryFormat = 101,1407OpImageQueryOrder = 102,1408OpImageQuerySizeLod = 103,1409OpImageQuerySize = 104,1410OpImageQueryLod = 105,1411OpImageQueryLevels = 106,1412OpImageQuerySamples = 107,1413OpConvertFToU = 109,1414OpConvertFToS = 110,1415OpConvertSToF = 111,1416OpConvertUToF = 112,1417OpUConvert = 113,1418OpSConvert = 114,1419OpFConvert = 115,1420OpQuantizeToF16 = 116,1421OpConvertPtrToU = 117,1422OpSatConvertSToU = 118,1423OpSatConvertUToS = 119,1424OpConvertUToPtr = 120,1425OpPtrCastToGeneric = 121,1426OpGenericCastToPtr = 122,1427OpGenericCastToPtrExplicit = 123,1428OpBitcast = 124,1429OpSNegate = 126,1430OpFNegate = 127,1431OpIAdd = 128,1432OpFAdd = 129,1433OpISub = 130,1434OpFSub = 131,1435OpIMul = 132,1436OpFMul = 133,1437OpUDiv = 134,1438OpSDiv = 135,1439OpFDiv = 136,1440OpUMod = 137,1441OpSRem = 138,1442OpSMod = 139,1443OpFRem = 140,1444OpFMod = 141,1445OpVectorTimesScalar = 142,1446OpMatrixTimesScalar = 143,1447OpVectorTimesMatrix = 144,1448OpMatrixTimesVector = 145,1449OpMatrixTimesMatrix = 146,1450OpOuterProduct = 147,1451OpDot = 148,1452OpIAddCarry = 149,1453OpISubBorrow = 150,1454OpUMulExtended = 151,1455OpSMulExtended = 152,1456OpAny = 154,1457OpAll = 155,1458OpIsNan = 156,1459OpIsInf = 157,1460OpIsFinite = 158,1461OpIsNormal = 159,1462OpSignBitSet = 160,1463OpLessOrGreater = 161,1464OpOrdered = 162,1465OpUnordered = 163,1466OpLogicalEqual = 164,1467OpLogicalNotEqual = 165,1468OpLogicalOr = 166,1469OpLogicalAnd = 167,1470OpLogicalNot = 168,1471OpSelect = 169,1472OpIEqual = 170,1473OpINotEqual = 171,1474OpUGreaterThan = 172,1475OpSGreaterThan = 173,1476OpUGreaterThanEqual = 174,1477OpSGreaterThanEqual = 175,1478OpULessThan = 176,1479OpSLessThan = 177,1480OpULessThanEqual = 178,1481OpSLessThanEqual = 179,1482OpFOrdEqual = 180,1483OpFUnordEqual = 181,1484OpFOrdNotEqual = 182,1485OpFUnordNotEqual = 183,1486OpFOrdLessThan = 184,1487OpFUnordLessThan = 185,1488OpFOrdGreaterThan = 186,1489OpFUnordGreaterThan = 187,1490OpFOrdLessThanEqual = 188,1491OpFUnordLessThanEqual = 189,1492OpFOrdGreaterThanEqual = 190,1493OpFUnordGreaterThanEqual = 191,1494OpShiftRightLogical = 194,1495OpShiftRightArithmetic = 195,1496OpShiftLeftLogical = 196,1497OpBitwiseOr = 197,1498OpBitwiseXor = 198,1499OpBitwiseAnd = 199,1500OpNot = 200,1501OpBitFieldInsert = 201,1502OpBitFieldSExtract = 202,1503OpBitFieldUExtract = 203,1504OpBitReverse = 204,1505OpBitCount = 205,1506OpDPdx = 207,1507OpDPdy = 208,1508OpFwidth = 209,1509OpDPdxFine = 210,1510OpDPdyFine = 211,1511OpFwidthFine = 212,1512OpDPdxCoarse = 213,1513OpDPdyCoarse = 214,1514OpFwidthCoarse = 215,1515OpEmitVertex = 218,1516OpEndPrimitive = 219,1517OpEmitStreamVertex = 220,1518OpEndStreamPrimitive = 221,1519OpControlBarrier = 224,1520OpMemoryBarrier = 225,1521OpAtomicLoad = 227,1522OpAtomicStore = 228,1523OpAtomicExchange = 229,1524OpAtomicCompareExchange = 230,1525OpAtomicCompareExchangeWeak = 231,1526OpAtomicIIncrement = 232,1527OpAtomicIDecrement = 233,1528OpAtomicIAdd = 234,1529OpAtomicISub = 235,1530OpAtomicSMin = 236,1531OpAtomicUMin = 237,1532OpAtomicSMax = 238,1533OpAtomicUMax = 239,1534OpAtomicAnd = 240,1535OpAtomicOr = 241,1536OpAtomicXor = 242,1537OpPhi = 245,1538OpLoopMerge = 246,1539OpSelectionMerge = 247,1540OpLabel = 248,1541OpBranch = 249,1542OpBranchConditional = 250,1543OpSwitch = 251,1544OpKill = 252,1545OpReturn = 253,1546OpReturnValue = 254,1547OpUnreachable = 255,1548OpLifetimeStart = 256,1549OpLifetimeStop = 257,1550OpGroupAsyncCopy = 259,1551OpGroupWaitEvents = 260,1552OpGroupAll = 261,1553OpGroupAny = 262,1554OpGroupBroadcast = 263,1555OpGroupIAdd = 264,1556OpGroupFAdd = 265,1557OpGroupFMin = 266,1558OpGroupUMin = 267,1559OpGroupSMin = 268,1560OpGroupFMax = 269,1561OpGroupUMax = 270,1562OpGroupSMax = 271,1563OpReadPipe = 274,1564OpWritePipe = 275,1565OpReservedReadPipe = 276,1566OpReservedWritePipe = 277,1567OpReserveReadPipePackets = 278,1568OpReserveWritePipePackets = 279,1569OpCommitReadPipe = 280,1570OpCommitWritePipe = 281,1571OpIsValidReserveId = 282,1572OpGetNumPipePackets = 283,1573OpGetMaxPipePackets = 284,1574OpGroupReserveReadPipePackets = 285,1575OpGroupReserveWritePipePackets = 286,1576OpGroupCommitReadPipe = 287,1577OpGroupCommitWritePipe = 288,1578OpEnqueueMarker = 291,1579OpEnqueueKernel = 292,1580OpGetKernelNDrangeSubGroupCount = 293,1581OpGetKernelNDrangeMaxSubGroupSize = 294,1582OpGetKernelWorkGroupSize = 295,1583OpGetKernelPreferredWorkGroupSizeMultiple = 296,1584OpRetainEvent = 297,1585OpReleaseEvent = 298,1586OpCreateUserEvent = 299,1587OpIsValidEvent = 300,1588OpSetUserEventStatus = 301,1589OpCaptureEventProfilingInfo = 302,1590OpGetDefaultQueue = 303,1591OpBuildNDRange = 304,1592OpImageSparseSampleImplicitLod = 305,1593OpImageSparseSampleExplicitLod = 306,1594OpImageSparseSampleDrefImplicitLod = 307,1595OpImageSparseSampleDrefExplicitLod = 308,1596OpImageSparseSampleProjImplicitLod = 309,1597OpImageSparseSampleProjExplicitLod = 310,1598OpImageSparseSampleProjDrefImplicitLod = 311,1599OpImageSparseSampleProjDrefExplicitLod = 312,1600OpImageSparseFetch = 313,1601OpImageSparseGather = 314,1602OpImageSparseDrefGather = 315,1603OpImageSparseTexelsResident = 316,1604OpNoLine = 317,1605OpAtomicFlagTestAndSet = 318,1606OpAtomicFlagClear = 319,1607OpImageSparseRead = 320,1608OpSizeOf = 321,1609OpTypePipeStorage = 322,1610OpConstantPipeStorage = 323,1611OpCreatePipeFromPipeStorage = 324,1612OpGetKernelLocalSizeForSubgroupCount = 325,1613OpGetKernelMaxNumSubgroups = 326,1614OpTypeNamedBarrier = 327,1615OpNamedBarrierInitialize = 328,1616OpMemoryNamedBarrier = 329,1617OpModuleProcessed = 330,1618OpExecutionModeId = 331,1619OpDecorateId = 332,1620OpGroupNonUniformElect = 333,1621OpGroupNonUniformAll = 334,1622OpGroupNonUniformAny = 335,1623OpGroupNonUniformAllEqual = 336,1624OpGroupNonUniformBroadcast = 337,1625OpGroupNonUniformBroadcastFirst = 338,1626OpGroupNonUniformBallot = 339,1627OpGroupNonUniformInverseBallot = 340,1628OpGroupNonUniformBallotBitExtract = 341,1629OpGroupNonUniformBallotBitCount = 342,1630OpGroupNonUniformBallotFindLSB = 343,1631OpGroupNonUniformBallotFindMSB = 344,1632OpGroupNonUniformShuffle = 345,1633OpGroupNonUniformShuffleXor = 346,1634OpGroupNonUniformShuffleUp = 347,1635OpGroupNonUniformShuffleDown = 348,1636OpGroupNonUniformIAdd = 349,1637OpGroupNonUniformFAdd = 350,1638OpGroupNonUniformIMul = 351,1639OpGroupNonUniformFMul = 352,1640OpGroupNonUniformSMin = 353,1641OpGroupNonUniformUMin = 354,1642OpGroupNonUniformFMin = 355,1643OpGroupNonUniformSMax = 356,1644OpGroupNonUniformUMax = 357,1645OpGroupNonUniformFMax = 358,1646OpGroupNonUniformBitwiseAnd = 359,1647OpGroupNonUniformBitwiseOr = 360,1648OpGroupNonUniformBitwiseXor = 361,1649OpGroupNonUniformLogicalAnd = 362,1650OpGroupNonUniformLogicalOr = 363,1651OpGroupNonUniformLogicalXor = 364,1652OpGroupNonUniformQuadBroadcast = 365,1653OpGroupNonUniformQuadSwap = 366,1654OpCopyLogical = 400,1655OpPtrEqual = 401,1656OpPtrNotEqual = 402,1657OpPtrDiff = 403,1658OpColorAttachmentReadEXT = 4160,1659OpDepthAttachmentReadEXT = 4161,1660OpStencilAttachmentReadEXT = 4162,1661OpTerminateInvocation = 4416,1662OpSubgroupBallotKHR = 4421,1663OpSubgroupFirstInvocationKHR = 4422,1664OpSubgroupAllKHR = 4428,1665OpSubgroupAnyKHR = 4429,1666OpSubgroupAllEqualKHR = 4430,1667OpGroupNonUniformRotateKHR = 4431,1668OpSubgroupReadInvocationKHR = 4432,1669OpTraceRayKHR = 4445,1670OpExecuteCallableKHR = 4446,1671OpConvertUToAccelerationStructureKHR = 4447,1672OpIgnoreIntersectionKHR = 4448,1673OpTerminateRayKHR = 4449,1674OpSDot = 4450,1675OpSDotKHR = 4450,1676OpUDot = 4451,1677OpUDotKHR = 4451,1678OpSUDot = 4452,1679OpSUDotKHR = 4452,1680OpSDotAccSat = 4453,1681OpSDotAccSatKHR = 4453,1682OpUDotAccSat = 4454,1683OpUDotAccSatKHR = 4454,1684OpSUDotAccSat = 4455,1685OpSUDotAccSatKHR = 4455,1686OpTypeCooperativeMatrixKHR = 4456,1687OpCooperativeMatrixLoadKHR = 4457,1688OpCooperativeMatrixStoreKHR = 4458,1689OpCooperativeMatrixMulAddKHR = 4459,1690OpCooperativeMatrixLengthKHR = 4460,1691OpTypeRayQueryKHR = 4472,1692OpRayQueryInitializeKHR = 4473,1693OpRayQueryTerminateKHR = 4474,1694OpRayQueryGenerateIntersectionKHR = 4475,1695OpRayQueryConfirmIntersectionKHR = 4476,1696OpRayQueryProceedKHR = 4477,1697OpRayQueryGetIntersectionTypeKHR = 4479,1698OpImageSampleWeightedQCOM = 4480,1699OpImageBoxFilterQCOM = 4481,1700OpImageBlockMatchSSDQCOM = 4482,1701OpImageBlockMatchSADQCOM = 4483,1702OpImageBlockMatchWindowSSDQCOM = 4500,1703OpImageBlockMatchWindowSADQCOM = 4501,1704OpImageBlockMatchGatherSSDQCOM = 4502,1705OpImageBlockMatchGatherSADQCOM = 4503,1706OpGroupIAddNonUniformAMD = 5000,1707OpGroupFAddNonUniformAMD = 5001,1708OpGroupFMinNonUniformAMD = 5002,1709OpGroupUMinNonUniformAMD = 5003,1710OpGroupSMinNonUniformAMD = 5004,1711OpGroupFMaxNonUniformAMD = 5005,1712OpGroupUMaxNonUniformAMD = 5006,1713OpGroupSMaxNonUniformAMD = 5007,1714OpFragmentMaskFetchAMD = 5011,1715OpFragmentFetchAMD = 5012,1716OpReadClockKHR = 5056,1717OpGroupNonUniformQuadAllKHR = 5110,1718OpGroupNonUniformQuadAnyKHR = 5111,1719OpHitObjectRecordHitMotionNV = 5249,1720OpHitObjectRecordHitWithIndexMotionNV = 5250,1721OpHitObjectRecordMissMotionNV = 5251,1722OpHitObjectGetWorldToObjectNV = 5252,1723OpHitObjectGetObjectToWorldNV = 5253,1724OpHitObjectGetObjectRayDirectionNV = 5254,1725OpHitObjectGetObjectRayOriginNV = 5255,1726OpHitObjectTraceRayMotionNV = 5256,1727OpHitObjectGetShaderRecordBufferHandleNV = 5257,1728OpHitObjectGetShaderBindingTableRecordIndexNV = 5258,1729OpHitObjectRecordEmptyNV = 5259,1730OpHitObjectTraceRayNV = 5260,1731OpHitObjectRecordHitNV = 5261,1732OpHitObjectRecordHitWithIndexNV = 5262,1733OpHitObjectRecordMissNV = 5263,1734OpHitObjectExecuteShaderNV = 5264,1735OpHitObjectGetCurrentTimeNV = 5265,1736OpHitObjectGetAttributesNV = 5266,1737OpHitObjectGetHitKindNV = 5267,1738OpHitObjectGetPrimitiveIndexNV = 5268,1739OpHitObjectGetGeometryIndexNV = 5269,1740OpHitObjectGetInstanceIdNV = 5270,1741OpHitObjectGetInstanceCustomIndexNV = 5271,1742OpHitObjectGetWorldRayDirectionNV = 5272,1743OpHitObjectGetWorldRayOriginNV = 5273,1744OpHitObjectGetRayTMaxNV = 5274,1745OpHitObjectGetRayTMinNV = 5275,1746OpHitObjectIsEmptyNV = 5276,1747OpHitObjectIsHitNV = 5277,1748OpHitObjectIsMissNV = 5278,1749OpReorderThreadWithHitObjectNV = 5279,1750OpReorderThreadWithHintNV = 5280,1751OpTypeHitObjectNV = 5281,1752OpImageSampleFootprintNV = 5283,1753OpEmitMeshTasksEXT = 5294,1754OpSetMeshOutputsEXT = 5295,1755OpGroupNonUniformPartitionNV = 5296,1756OpWritePackedPrimitiveIndices4x8NV = 5299,1757OpFetchMicroTriangleVertexPositionNV = 5300,1758OpFetchMicroTriangleVertexBarycentricNV = 5301,1759OpReportIntersectionKHR = 5334,1760OpReportIntersectionNV = 5334,1761OpIgnoreIntersectionNV = 5335,1762OpTerminateRayNV = 5336,1763OpTraceNV = 5337,1764OpTraceMotionNV = 5338,1765OpTraceRayMotionNV = 5339,1766OpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340,1767OpTypeAccelerationStructureKHR = 5341,1768OpTypeAccelerationStructureNV = 5341,1769OpExecuteCallableNV = 5344,1770OpTypeCooperativeMatrixNV = 5358,1771OpCooperativeMatrixLoadNV = 5359,1772OpCooperativeMatrixStoreNV = 5360,1773OpCooperativeMatrixMulAddNV = 5361,1774OpCooperativeMatrixLengthNV = 5362,1775OpBeginInvocationInterlockEXT = 5364,1776OpEndInvocationInterlockEXT = 5365,1777OpDemoteToHelperInvocation = 5380,1778OpDemoteToHelperInvocationEXT = 5380,1779OpIsHelperInvocationEXT = 5381,1780OpConvertUToImageNV = 5391,1781OpConvertUToSamplerNV = 5392,1782OpConvertImageToUNV = 5393,1783OpConvertSamplerToUNV = 5394,1784OpConvertUToSampledImageNV = 5395,1785OpConvertSampledImageToUNV = 5396,1786OpSamplerImageAddressingModeNV = 5397,1787OpSubgroupShuffleINTEL = 5571,1788OpSubgroupShuffleDownINTEL = 5572,1789OpSubgroupShuffleUpINTEL = 5573,1790OpSubgroupShuffleXorINTEL = 5574,1791OpSubgroupBlockReadINTEL = 5575,1792OpSubgroupBlockWriteINTEL = 5576,1793OpSubgroupImageBlockReadINTEL = 5577,1794OpSubgroupImageBlockWriteINTEL = 5578,1795OpSubgroupImageMediaBlockReadINTEL = 5580,1796OpSubgroupImageMediaBlockWriteINTEL = 5581,1797OpUCountLeadingZerosINTEL = 5585,1798OpUCountTrailingZerosINTEL = 5586,1799OpAbsISubINTEL = 5587,1800OpAbsUSubINTEL = 5588,1801OpIAddSatINTEL = 5589,1802OpUAddSatINTEL = 5590,1803OpIAverageINTEL = 5591,1804OpUAverageINTEL = 5592,1805OpIAverageRoundedINTEL = 5593,1806OpUAverageRoundedINTEL = 5594,1807OpISubSatINTEL = 5595,1808OpUSubSatINTEL = 5596,1809OpIMul32x16INTEL = 5597,1810OpUMul32x16INTEL = 5598,1811OpConstantFunctionPointerINTEL = 5600,1812OpFunctionPointerCallINTEL = 5601,1813OpAsmTargetINTEL = 5609,1814OpAsmINTEL = 5610,1815OpAsmCallINTEL = 5611,1816OpAtomicFMinEXT = 5614,1817OpAtomicFMaxEXT = 5615,1818OpAssumeTrueKHR = 5630,1819OpExpectKHR = 5631,1820OpDecorateString = 5632,1821OpDecorateStringGOOGLE = 5632,1822OpMemberDecorateString = 5633,1823OpMemberDecorateStringGOOGLE = 5633,1824OpVmeImageINTEL = 5699,1825OpTypeVmeImageINTEL = 5700,1826OpTypeAvcImePayloadINTEL = 5701,1827OpTypeAvcRefPayloadINTEL = 5702,1828OpTypeAvcSicPayloadINTEL = 5703,1829OpTypeAvcMcePayloadINTEL = 5704,1830OpTypeAvcMceResultINTEL = 5705,1831OpTypeAvcImeResultINTEL = 5706,1832OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,1833OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,1834OpTypeAvcImeSingleReferenceStreaminINTEL = 5709,1835OpTypeAvcImeDualReferenceStreaminINTEL = 5710,1836OpTypeAvcRefResultINTEL = 5711,1837OpTypeAvcSicResultINTEL = 5712,1838OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,1839OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,1840OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,1841OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,1842OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,1843OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,1844OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,1845OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,1846OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,1847OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,1848OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,1849OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,1850OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,1851OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,1852OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,1853OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,1854OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,1855OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,1856OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,1857OpSubgroupAvcMceConvertToImePayloadINTEL = 5732,1858OpSubgroupAvcMceConvertToImeResultINTEL = 5733,1859OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,1860OpSubgroupAvcMceConvertToRefResultINTEL = 5735,1861OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,1862OpSubgroupAvcMceConvertToSicResultINTEL = 5737,1863OpSubgroupAvcMceGetMotionVectorsINTEL = 5738,1864OpSubgroupAvcMceGetInterDistortionsINTEL = 5739,1865OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,1866OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,1867OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,1868OpSubgroupAvcMceGetInterDirectionsINTEL = 5743,1869OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,1870OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,1871OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,1872OpSubgroupAvcImeInitializeINTEL = 5747,1873OpSubgroupAvcImeSetSingleReferenceINTEL = 5748,1874OpSubgroupAvcImeSetDualReferenceINTEL = 5749,1875OpSubgroupAvcImeRefWindowSizeINTEL = 5750,1876OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,1877OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,1878OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,1879OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,1880OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,1881OpSubgroupAvcImeSetWeightedSadINTEL = 5756,1882OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,1883OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,1884OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,1885OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,1886OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,1887OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,1888OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,1889OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,1890OpSubgroupAvcImeConvertToMceResultINTEL = 5765,1891OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,1892OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,1893OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,1894OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,1895OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,1896OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,1897OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,1898OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,1899OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,1900OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,1901OpSubgroupAvcImeGetBorderReachedINTEL = 5776,1902OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,1903OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,1904OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,1905OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,1906OpSubgroupAvcFmeInitializeINTEL = 5781,1907OpSubgroupAvcBmeInitializeINTEL = 5782,1908OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,1909OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,1910OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,1911OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,1912OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,1913OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,1914OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,1915OpSubgroupAvcRefConvertToMceResultINTEL = 5790,1916OpSubgroupAvcSicInitializeINTEL = 5791,1917OpSubgroupAvcSicConfigureSkcINTEL = 5792,1918OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,1919OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,1920OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,1921OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,1922OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,1923OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,1924OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,1925OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,1926OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,1927OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,1928OpSubgroupAvcSicEvaluateIpeINTEL = 5803,1929OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,1930OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,1931OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,1932OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,1933OpSubgroupAvcSicConvertToMceResultINTEL = 5808,1934OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,1935OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,1936OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,1937OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,1938OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,1939OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,1940OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,1941OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,1942OpVariableLengthArrayINTEL = 5818,1943OpSaveMemoryINTEL = 5819,1944OpRestoreMemoryINTEL = 5820,1945OpArbitraryFloatSinCosPiINTEL = 5840,1946OpArbitraryFloatCastINTEL = 5841,1947OpArbitraryFloatCastFromIntINTEL = 5842,1948OpArbitraryFloatCastToIntINTEL = 5843,1949OpArbitraryFloatAddINTEL = 5846,1950OpArbitraryFloatSubINTEL = 5847,1951OpArbitraryFloatMulINTEL = 5848,1952OpArbitraryFloatDivINTEL = 5849,1953OpArbitraryFloatGTINTEL = 5850,1954OpArbitraryFloatGEINTEL = 5851,1955OpArbitraryFloatLTINTEL = 5852,1956OpArbitraryFloatLEINTEL = 5853,1957OpArbitraryFloatEQINTEL = 5854,1958OpArbitraryFloatRecipINTEL = 5855,1959OpArbitraryFloatRSqrtINTEL = 5856,1960OpArbitraryFloatCbrtINTEL = 5857,1961OpArbitraryFloatHypotINTEL = 5858,1962OpArbitraryFloatSqrtINTEL = 5859,1963OpArbitraryFloatLogINTEL = 5860,1964OpArbitraryFloatLog2INTEL = 5861,1965OpArbitraryFloatLog10INTEL = 5862,1966OpArbitraryFloatLog1pINTEL = 5863,1967OpArbitraryFloatExpINTEL = 5864,1968OpArbitraryFloatExp2INTEL = 5865,1969OpArbitraryFloatExp10INTEL = 5866,1970OpArbitraryFloatExpm1INTEL = 5867,1971OpArbitraryFloatSinINTEL = 5868,1972OpArbitraryFloatCosINTEL = 5869,1973OpArbitraryFloatSinCosINTEL = 5870,1974OpArbitraryFloatSinPiINTEL = 5871,1975OpArbitraryFloatCosPiINTEL = 5872,1976OpArbitraryFloatASinINTEL = 5873,1977OpArbitraryFloatASinPiINTEL = 5874,1978OpArbitraryFloatACosINTEL = 5875,1979OpArbitraryFloatACosPiINTEL = 5876,1980OpArbitraryFloatATanINTEL = 5877,1981OpArbitraryFloatATanPiINTEL = 5878,1982OpArbitraryFloatATan2INTEL = 5879,1983OpArbitraryFloatPowINTEL = 5880,1984OpArbitraryFloatPowRINTEL = 5881,1985OpArbitraryFloatPowNINTEL = 5882,1986OpLoopControlINTEL = 5887,1987OpAliasDomainDeclINTEL = 5911,1988OpAliasScopeDeclINTEL = 5912,1989OpAliasScopeListDeclINTEL = 5913,1990OpFixedSqrtINTEL = 5923,1991OpFixedRecipINTEL = 5924,1992OpFixedRsqrtINTEL = 5925,1993OpFixedSinINTEL = 5926,1994OpFixedCosINTEL = 5927,1995OpFixedSinCosINTEL = 5928,1996OpFixedSinPiINTEL = 5929,1997OpFixedCosPiINTEL = 5930,1998OpFixedSinCosPiINTEL = 5931,1999OpFixedLogINTEL = 5932,2000OpFixedExpINTEL = 5933,2001OpPtrCastToCrossWorkgroupINTEL = 5934,2002OpCrossWorkgroupCastToPtrINTEL = 5938,2003OpReadPipeBlockingINTEL = 5946,2004OpWritePipeBlockingINTEL = 5947,2005OpFPGARegINTEL = 5949,2006OpRayQueryGetRayTMinKHR = 6016,2007OpRayQueryGetRayFlagsKHR = 6017,2008OpRayQueryGetIntersectionTKHR = 6018,2009OpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,2010OpRayQueryGetIntersectionInstanceIdKHR = 6020,2011OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,2012OpRayQueryGetIntersectionGeometryIndexKHR = 6022,2013OpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,2014OpRayQueryGetIntersectionBarycentricsKHR = 6024,2015OpRayQueryGetIntersectionFrontFaceKHR = 6025,2016OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,2017OpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,2018OpRayQueryGetIntersectionObjectRayOriginKHR = 6028,2019OpRayQueryGetWorldRayDirectionKHR = 6029,2020OpRayQueryGetWorldRayOriginKHR = 6030,2021OpRayQueryGetIntersectionObjectToWorldKHR = 6031,2022OpRayQueryGetIntersectionWorldToObjectKHR = 6032,2023OpAtomicFAddEXT = 6035,2024OpTypeBufferSurfaceINTEL = 6086,2025OpTypeStructContinuedINTEL = 6090,2026OpConstantCompositeContinuedINTEL = 6091,2027OpSpecConstantCompositeContinuedINTEL = 6092,2028OpControlBarrierArriveINTEL = 6142,2029OpControlBarrierWaitINTEL = 6143,2030OpGroupIMulKHR = 6401,2031OpGroupFMulKHR = 6402,2032OpGroupBitwiseAndKHR = 6403,2033OpGroupBitwiseOrKHR = 6404,2034OpGroupBitwiseXorKHR = 6405,2035OpGroupLogicalAndKHR = 6406,2036OpGroupLogicalOrKHR = 6407,2037OpGroupLogicalXorKHR = 6408,2038OpMax = 0x7fffffff,2039};20402041#ifdef SPV_ENABLE_UTILITY_CODE2042#ifndef __cplusplus2043#include <stdbool.h>2044#endif2045inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {2046*hasResult = *hasResultType = false;2047switch (opcode) {2048default: /* unknown opcode */ break;2049case OpNop: *hasResult = false; *hasResultType = false; break;2050case OpUndef: *hasResult = true; *hasResultType = true; break;2051case OpSourceContinued: *hasResult = false; *hasResultType = false; break;2052case OpSource: *hasResult = false; *hasResultType = false; break;2053case OpSourceExtension: *hasResult = false; *hasResultType = false; break;2054case OpName: *hasResult = false; *hasResultType = false; break;2055case OpMemberName: *hasResult = false; *hasResultType = false; break;2056case OpString: *hasResult = true; *hasResultType = false; break;2057case OpLine: *hasResult = false; *hasResultType = false; break;2058case OpExtension: *hasResult = false; *hasResultType = false; break;2059case OpExtInstImport: *hasResult = true; *hasResultType = false; break;2060case OpExtInst: *hasResult = true; *hasResultType = true; break;2061case OpMemoryModel: *hasResult = false; *hasResultType = false; break;2062case OpEntryPoint: *hasResult = false; *hasResultType = false; break;2063case OpExecutionMode: *hasResult = false; *hasResultType = false; break;2064case OpCapability: *hasResult = false; *hasResultType = false; break;2065case OpTypeVoid: *hasResult = true; *hasResultType = false; break;2066case OpTypeBool: *hasResult = true; *hasResultType = false; break;2067case OpTypeInt: *hasResult = true; *hasResultType = false; break;2068case OpTypeFloat: *hasResult = true; *hasResultType = false; break;2069case OpTypeVector: *hasResult = true; *hasResultType = false; break;2070case OpTypeMatrix: *hasResult = true; *hasResultType = false; break;2071case OpTypeImage: *hasResult = true; *hasResultType = false; break;2072case OpTypeSampler: *hasResult = true; *hasResultType = false; break;2073case OpTypeSampledImage: *hasResult = true; *hasResultType = false; break;2074case OpTypeArray: *hasResult = true; *hasResultType = false; break;2075case OpTypeRuntimeArray: *hasResult = true; *hasResultType = false; break;2076case OpTypeStruct: *hasResult = true; *hasResultType = false; break;2077case OpTypeOpaque: *hasResult = true; *hasResultType = false; break;2078case OpTypePointer: *hasResult = true; *hasResultType = false; break;2079case OpTypeFunction: *hasResult = true; *hasResultType = false; break;2080case OpTypeEvent: *hasResult = true; *hasResultType = false; break;2081case OpTypeDeviceEvent: *hasResult = true; *hasResultType = false; break;2082case OpTypeReserveId: *hasResult = true; *hasResultType = false; break;2083case OpTypeQueue: *hasResult = true; *hasResultType = false; break;2084case OpTypePipe: *hasResult = true; *hasResultType = false; break;2085case OpTypeForwardPointer: *hasResult = false; *hasResultType = false; break;2086case OpConstantTrue: *hasResult = true; *hasResultType = true; break;2087case OpConstantFalse: *hasResult = true; *hasResultType = true; break;2088case OpConstant: *hasResult = true; *hasResultType = true; break;2089case OpConstantComposite: *hasResult = true; *hasResultType = true; break;2090case OpConstantSampler: *hasResult = true; *hasResultType = true; break;2091case OpConstantNull: *hasResult = true; *hasResultType = true; break;2092case OpSpecConstantTrue: *hasResult = true; *hasResultType = true; break;2093case OpSpecConstantFalse: *hasResult = true; *hasResultType = true; break;2094case OpSpecConstant: *hasResult = true; *hasResultType = true; break;2095case OpSpecConstantComposite: *hasResult = true; *hasResultType = true; break;2096case OpSpecConstantOp: *hasResult = true; *hasResultType = true; break;2097case OpFunction: *hasResult = true; *hasResultType = true; break;2098case OpFunctionParameter: *hasResult = true; *hasResultType = true; break;2099case OpFunctionEnd: *hasResult = false; *hasResultType = false; break;2100case OpFunctionCall: *hasResult = true; *hasResultType = true; break;2101case OpVariable: *hasResult = true; *hasResultType = true; break;2102case OpImageTexelPointer: *hasResult = true; *hasResultType = true; break;2103case OpLoad: *hasResult = true; *hasResultType = true; break;2104case OpStore: *hasResult = false; *hasResultType = false; break;2105case OpCopyMemory: *hasResult = false; *hasResultType = false; break;2106case OpCopyMemorySized: *hasResult = false; *hasResultType = false; break;2107case OpAccessChain: *hasResult = true; *hasResultType = true; break;2108case OpInBoundsAccessChain: *hasResult = true; *hasResultType = true; break;2109case OpPtrAccessChain: *hasResult = true; *hasResultType = true; break;2110case OpArrayLength: *hasResult = true; *hasResultType = true; break;2111case OpGenericPtrMemSemantics: *hasResult = true; *hasResultType = true; break;2112case OpInBoundsPtrAccessChain: *hasResult = true; *hasResultType = true; break;2113case OpDecorate: *hasResult = false; *hasResultType = false; break;2114case OpMemberDecorate: *hasResult = false; *hasResultType = false; break;2115case OpDecorationGroup: *hasResult = true; *hasResultType = false; break;2116case OpGroupDecorate: *hasResult = false; *hasResultType = false; break;2117case OpGroupMemberDecorate: *hasResult = false; *hasResultType = false; break;2118case OpVectorExtractDynamic: *hasResult = true; *hasResultType = true; break;2119case OpVectorInsertDynamic: *hasResult = true; *hasResultType = true; break;2120case OpVectorShuffle: *hasResult = true; *hasResultType = true; break;2121case OpCompositeConstruct: *hasResult = true; *hasResultType = true; break;2122case OpCompositeExtract: *hasResult = true; *hasResultType = true; break;2123case OpCompositeInsert: *hasResult = true; *hasResultType = true; break;2124case OpCopyObject: *hasResult = true; *hasResultType = true; break;2125case OpTranspose: *hasResult = true; *hasResultType = true; break;2126case OpSampledImage: *hasResult = true; *hasResultType = true; break;2127case OpImageSampleImplicitLod: *hasResult = true; *hasResultType = true; break;2128case OpImageSampleExplicitLod: *hasResult = true; *hasResultType = true; break;2129case OpImageSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;2130case OpImageSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;2131case OpImageSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;2132case OpImageSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;2133case OpImageSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;2134case OpImageSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;2135case OpImageFetch: *hasResult = true; *hasResultType = true; break;2136case OpImageGather: *hasResult = true; *hasResultType = true; break;2137case OpImageDrefGather: *hasResult = true; *hasResultType = true; break;2138case OpImageRead: *hasResult = true; *hasResultType = true; break;2139case OpImageWrite: *hasResult = false; *hasResultType = false; break;2140case OpImage: *hasResult = true; *hasResultType = true; break;2141case OpImageQueryFormat: *hasResult = true; *hasResultType = true; break;2142case OpImageQueryOrder: *hasResult = true; *hasResultType = true; break;2143case OpImageQuerySizeLod: *hasResult = true; *hasResultType = true; break;2144case OpImageQuerySize: *hasResult = true; *hasResultType = true; break;2145case OpImageQueryLod: *hasResult = true; *hasResultType = true; break;2146case OpImageQueryLevels: *hasResult = true; *hasResultType = true; break;2147case OpImageQuerySamples: *hasResult = true; *hasResultType = true; break;2148case OpConvertFToU: *hasResult = true; *hasResultType = true; break;2149case OpConvertFToS: *hasResult = true; *hasResultType = true; break;2150case OpConvertSToF: *hasResult = true; *hasResultType = true; break;2151case OpConvertUToF: *hasResult = true; *hasResultType = true; break;2152case OpUConvert: *hasResult = true; *hasResultType = true; break;2153case OpSConvert: *hasResult = true; *hasResultType = true; break;2154case OpFConvert: *hasResult = true; *hasResultType = true; break;2155case OpQuantizeToF16: *hasResult = true; *hasResultType = true; break;2156case OpConvertPtrToU: *hasResult = true; *hasResultType = true; break;2157case OpSatConvertSToU: *hasResult = true; *hasResultType = true; break;2158case OpSatConvertUToS: *hasResult = true; *hasResultType = true; break;2159case OpConvertUToPtr: *hasResult = true; *hasResultType = true; break;2160case OpPtrCastToGeneric: *hasResult = true; *hasResultType = true; break;2161case OpGenericCastToPtr: *hasResult = true; *hasResultType = true; break;2162case OpGenericCastToPtrExplicit: *hasResult = true; *hasResultType = true; break;2163case OpBitcast: *hasResult = true; *hasResultType = true; break;2164case OpSNegate: *hasResult = true; *hasResultType = true; break;2165case OpFNegate: *hasResult = true; *hasResultType = true; break;2166case OpIAdd: *hasResult = true; *hasResultType = true; break;2167case OpFAdd: *hasResult = true; *hasResultType = true; break;2168case OpISub: *hasResult = true; *hasResultType = true; break;2169case OpFSub: *hasResult = true; *hasResultType = true; break;2170case OpIMul: *hasResult = true; *hasResultType = true; break;2171case OpFMul: *hasResult = true; *hasResultType = true; break;2172case OpUDiv: *hasResult = true; *hasResultType = true; break;2173case OpSDiv: *hasResult = true; *hasResultType = true; break;2174case OpFDiv: *hasResult = true; *hasResultType = true; break;2175case OpUMod: *hasResult = true; *hasResultType = true; break;2176case OpSRem: *hasResult = true; *hasResultType = true; break;2177case OpSMod: *hasResult = true; *hasResultType = true; break;2178case OpFRem: *hasResult = true; *hasResultType = true; break;2179case OpFMod: *hasResult = true; *hasResultType = true; break;2180case OpVectorTimesScalar: *hasResult = true; *hasResultType = true; break;2181case OpMatrixTimesScalar: *hasResult = true; *hasResultType = true; break;2182case OpVectorTimesMatrix: *hasResult = true; *hasResultType = true; break;2183case OpMatrixTimesVector: *hasResult = true; *hasResultType = true; break;2184case OpMatrixTimesMatrix: *hasResult = true; *hasResultType = true; break;2185case OpOuterProduct: *hasResult = true; *hasResultType = true; break;2186case OpDot: *hasResult = true; *hasResultType = true; break;2187case OpIAddCarry: *hasResult = true; *hasResultType = true; break;2188case OpISubBorrow: *hasResult = true; *hasResultType = true; break;2189case OpUMulExtended: *hasResult = true; *hasResultType = true; break;2190case OpSMulExtended: *hasResult = true; *hasResultType = true; break;2191case OpAny: *hasResult = true; *hasResultType = true; break;2192case OpAll: *hasResult = true; *hasResultType = true; break;2193case OpIsNan: *hasResult = true; *hasResultType = true; break;2194case OpIsInf: *hasResult = true; *hasResultType = true; break;2195case OpIsFinite: *hasResult = true; *hasResultType = true; break;2196case OpIsNormal: *hasResult = true; *hasResultType = true; break;2197case OpSignBitSet: *hasResult = true; *hasResultType = true; break;2198case OpLessOrGreater: *hasResult = true; *hasResultType = true; break;2199case OpOrdered: *hasResult = true; *hasResultType = true; break;2200case OpUnordered: *hasResult = true; *hasResultType = true; break;2201case OpLogicalEqual: *hasResult = true; *hasResultType = true; break;2202case OpLogicalNotEqual: *hasResult = true; *hasResultType = true; break;2203case OpLogicalOr: *hasResult = true; *hasResultType = true; break;2204case OpLogicalAnd: *hasResult = true; *hasResultType = true; break;2205case OpLogicalNot: *hasResult = true; *hasResultType = true; break;2206case OpSelect: *hasResult = true; *hasResultType = true; break;2207case OpIEqual: *hasResult = true; *hasResultType = true; break;2208case OpINotEqual: *hasResult = true; *hasResultType = true; break;2209case OpUGreaterThan: *hasResult = true; *hasResultType = true; break;2210case OpSGreaterThan: *hasResult = true; *hasResultType = true; break;2211case OpUGreaterThanEqual: *hasResult = true; *hasResultType = true; break;2212case OpSGreaterThanEqual: *hasResult = true; *hasResultType = true; break;2213case OpULessThan: *hasResult = true; *hasResultType = true; break;2214case OpSLessThan: *hasResult = true; *hasResultType = true; break;2215case OpULessThanEqual: *hasResult = true; *hasResultType = true; break;2216case OpSLessThanEqual: *hasResult = true; *hasResultType = true; break;2217case OpFOrdEqual: *hasResult = true; *hasResultType = true; break;2218case OpFUnordEqual: *hasResult = true; *hasResultType = true; break;2219case OpFOrdNotEqual: *hasResult = true; *hasResultType = true; break;2220case OpFUnordNotEqual: *hasResult = true; *hasResultType = true; break;2221case OpFOrdLessThan: *hasResult = true; *hasResultType = true; break;2222case OpFUnordLessThan: *hasResult = true; *hasResultType = true; break;2223case OpFOrdGreaterThan: *hasResult = true; *hasResultType = true; break;2224case OpFUnordGreaterThan: *hasResult = true; *hasResultType = true; break;2225case OpFOrdLessThanEqual: *hasResult = true; *hasResultType = true; break;2226case OpFUnordLessThanEqual: *hasResult = true; *hasResultType = true; break;2227case OpFOrdGreaterThanEqual: *hasResult = true; *hasResultType = true; break;2228case OpFUnordGreaterThanEqual: *hasResult = true; *hasResultType = true; break;2229case OpShiftRightLogical: *hasResult = true; *hasResultType = true; break;2230case OpShiftRightArithmetic: *hasResult = true; *hasResultType = true; break;2231case OpShiftLeftLogical: *hasResult = true; *hasResultType = true; break;2232case OpBitwiseOr: *hasResult = true; *hasResultType = true; break;2233case OpBitwiseXor: *hasResult = true; *hasResultType = true; break;2234case OpBitwiseAnd: *hasResult = true; *hasResultType = true; break;2235case OpNot: *hasResult = true; *hasResultType = true; break;2236case OpBitFieldInsert: *hasResult = true; *hasResultType = true; break;2237case OpBitFieldSExtract: *hasResult = true; *hasResultType = true; break;2238case OpBitFieldUExtract: *hasResult = true; *hasResultType = true; break;2239case OpBitReverse: *hasResult = true; *hasResultType = true; break;2240case OpBitCount: *hasResult = true; *hasResultType = true; break;2241case OpDPdx: *hasResult = true; *hasResultType = true; break;2242case OpDPdy: *hasResult = true; *hasResultType = true; break;2243case OpFwidth: *hasResult = true; *hasResultType = true; break;2244case OpDPdxFine: *hasResult = true; *hasResultType = true; break;2245case OpDPdyFine: *hasResult = true; *hasResultType = true; break;2246case OpFwidthFine: *hasResult = true; *hasResultType = true; break;2247case OpDPdxCoarse: *hasResult = true; *hasResultType = true; break;2248case OpDPdyCoarse: *hasResult = true; *hasResultType = true; break;2249case OpFwidthCoarse: *hasResult = true; *hasResultType = true; break;2250case OpEmitVertex: *hasResult = false; *hasResultType = false; break;2251case OpEndPrimitive: *hasResult = false; *hasResultType = false; break;2252case OpEmitStreamVertex: *hasResult = false; *hasResultType = false; break;2253case OpEndStreamPrimitive: *hasResult = false; *hasResultType = false; break;2254case OpControlBarrier: *hasResult = false; *hasResultType = false; break;2255case OpMemoryBarrier: *hasResult = false; *hasResultType = false; break;2256case OpAtomicLoad: *hasResult = true; *hasResultType = true; break;2257case OpAtomicStore: *hasResult = false; *hasResultType = false; break;2258case OpAtomicExchange: *hasResult = true; *hasResultType = true; break;2259case OpAtomicCompareExchange: *hasResult = true; *hasResultType = true; break;2260case OpAtomicCompareExchangeWeak: *hasResult = true; *hasResultType = true; break;2261case OpAtomicIIncrement: *hasResult = true; *hasResultType = true; break;2262case OpAtomicIDecrement: *hasResult = true; *hasResultType = true; break;2263case OpAtomicIAdd: *hasResult = true; *hasResultType = true; break;2264case OpAtomicISub: *hasResult = true; *hasResultType = true; break;2265case OpAtomicSMin: *hasResult = true; *hasResultType = true; break;2266case OpAtomicUMin: *hasResult = true; *hasResultType = true; break;2267case OpAtomicSMax: *hasResult = true; *hasResultType = true; break;2268case OpAtomicUMax: *hasResult = true; *hasResultType = true; break;2269case OpAtomicAnd: *hasResult = true; *hasResultType = true; break;2270case OpAtomicOr: *hasResult = true; *hasResultType = true; break;2271case OpAtomicXor: *hasResult = true; *hasResultType = true; break;2272case OpPhi: *hasResult = true; *hasResultType = true; break;2273case OpLoopMerge: *hasResult = false; *hasResultType = false; break;2274case OpSelectionMerge: *hasResult = false; *hasResultType = false; break;2275case OpLabel: *hasResult = true; *hasResultType = false; break;2276case OpBranch: *hasResult = false; *hasResultType = false; break;2277case OpBranchConditional: *hasResult = false; *hasResultType = false; break;2278case OpSwitch: *hasResult = false; *hasResultType = false; break;2279case OpKill: *hasResult = false; *hasResultType = false; break;2280case OpReturn: *hasResult = false; *hasResultType = false; break;2281case OpReturnValue: *hasResult = false; *hasResultType = false; break;2282case OpUnreachable: *hasResult = false; *hasResultType = false; break;2283case OpLifetimeStart: *hasResult = false; *hasResultType = false; break;2284case OpLifetimeStop: *hasResult = false; *hasResultType = false; break;2285case OpGroupAsyncCopy: *hasResult = true; *hasResultType = true; break;2286case OpGroupWaitEvents: *hasResult = false; *hasResultType = false; break;2287case OpGroupAll: *hasResult = true; *hasResultType = true; break;2288case OpGroupAny: *hasResult = true; *hasResultType = true; break;2289case OpGroupBroadcast: *hasResult = true; *hasResultType = true; break;2290case OpGroupIAdd: *hasResult = true; *hasResultType = true; break;2291case OpGroupFAdd: *hasResult = true; *hasResultType = true; break;2292case OpGroupFMin: *hasResult = true; *hasResultType = true; break;2293case OpGroupUMin: *hasResult = true; *hasResultType = true; break;2294case OpGroupSMin: *hasResult = true; *hasResultType = true; break;2295case OpGroupFMax: *hasResult = true; *hasResultType = true; break;2296case OpGroupUMax: *hasResult = true; *hasResultType = true; break;2297case OpGroupSMax: *hasResult = true; *hasResultType = true; break;2298case OpReadPipe: *hasResult = true; *hasResultType = true; break;2299case OpWritePipe: *hasResult = true; *hasResultType = true; break;2300case OpReservedReadPipe: *hasResult = true; *hasResultType = true; break;2301case OpReservedWritePipe: *hasResult = true; *hasResultType = true; break;2302case OpReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;2303case OpReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;2304case OpCommitReadPipe: *hasResult = false; *hasResultType = false; break;2305case OpCommitWritePipe: *hasResult = false; *hasResultType = false; break;2306case OpIsValidReserveId: *hasResult = true; *hasResultType = true; break;2307case OpGetNumPipePackets: *hasResult = true; *hasResultType = true; break;2308case OpGetMaxPipePackets: *hasResult = true; *hasResultType = true; break;2309case OpGroupReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;2310case OpGroupReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;2311case OpGroupCommitReadPipe: *hasResult = false; *hasResultType = false; break;2312case OpGroupCommitWritePipe: *hasResult = false; *hasResultType = false; break;2313case OpEnqueueMarker: *hasResult = true; *hasResultType = true; break;2314case OpEnqueueKernel: *hasResult = true; *hasResultType = true; break;2315case OpGetKernelNDrangeSubGroupCount: *hasResult = true; *hasResultType = true; break;2316case OpGetKernelNDrangeMaxSubGroupSize: *hasResult = true; *hasResultType = true; break;2317case OpGetKernelWorkGroupSize: *hasResult = true; *hasResultType = true; break;2318case OpGetKernelPreferredWorkGroupSizeMultiple: *hasResult = true; *hasResultType = true; break;2319case OpRetainEvent: *hasResult = false; *hasResultType = false; break;2320case OpReleaseEvent: *hasResult = false; *hasResultType = false; break;2321case OpCreateUserEvent: *hasResult = true; *hasResultType = true; break;2322case OpIsValidEvent: *hasResult = true; *hasResultType = true; break;2323case OpSetUserEventStatus: *hasResult = false; *hasResultType = false; break;2324case OpCaptureEventProfilingInfo: *hasResult = false; *hasResultType = false; break;2325case OpGetDefaultQueue: *hasResult = true; *hasResultType = true; break;2326case OpBuildNDRange: *hasResult = true; *hasResultType = true; break;2327case OpImageSparseSampleImplicitLod: *hasResult = true; *hasResultType = true; break;2328case OpImageSparseSampleExplicitLod: *hasResult = true; *hasResultType = true; break;2329case OpImageSparseSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;2330case OpImageSparseSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;2331case OpImageSparseSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;2332case OpImageSparseSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;2333case OpImageSparseSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;2334case OpImageSparseSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;2335case OpImageSparseFetch: *hasResult = true; *hasResultType = true; break;2336case OpImageSparseGather: *hasResult = true; *hasResultType = true; break;2337case OpImageSparseDrefGather: *hasResult = true; *hasResultType = true; break;2338case OpImageSparseTexelsResident: *hasResult = true; *hasResultType = true; break;2339case OpNoLine: *hasResult = false; *hasResultType = false; break;2340case OpAtomicFlagTestAndSet: *hasResult = true; *hasResultType = true; break;2341case OpAtomicFlagClear: *hasResult = false; *hasResultType = false; break;2342case OpImageSparseRead: *hasResult = true; *hasResultType = true; break;2343case OpSizeOf: *hasResult = true; *hasResultType = true; break;2344case OpTypePipeStorage: *hasResult = true; *hasResultType = false; break;2345case OpConstantPipeStorage: *hasResult = true; *hasResultType = true; break;2346case OpCreatePipeFromPipeStorage: *hasResult = true; *hasResultType = true; break;2347case OpGetKernelLocalSizeForSubgroupCount: *hasResult = true; *hasResultType = true; break;2348case OpGetKernelMaxNumSubgroups: *hasResult = true; *hasResultType = true; break;2349case OpTypeNamedBarrier: *hasResult = true; *hasResultType = false; break;2350case OpNamedBarrierInitialize: *hasResult = true; *hasResultType = true; break;2351case OpMemoryNamedBarrier: *hasResult = false; *hasResultType = false; break;2352case OpModuleProcessed: *hasResult = false; *hasResultType = false; break;2353case OpExecutionModeId: *hasResult = false; *hasResultType = false; break;2354case OpDecorateId: *hasResult = false; *hasResultType = false; break;2355case OpGroupNonUniformElect: *hasResult = true; *hasResultType = true; break;2356case OpGroupNonUniformAll: *hasResult = true; *hasResultType = true; break;2357case OpGroupNonUniformAny: *hasResult = true; *hasResultType = true; break;2358case OpGroupNonUniformAllEqual: *hasResult = true; *hasResultType = true; break;2359case OpGroupNonUniformBroadcast: *hasResult = true; *hasResultType = true; break;2360case OpGroupNonUniformBroadcastFirst: *hasResult = true; *hasResultType = true; break;2361case OpGroupNonUniformBallot: *hasResult = true; *hasResultType = true; break;2362case OpGroupNonUniformInverseBallot: *hasResult = true; *hasResultType = true; break;2363case OpGroupNonUniformBallotBitExtract: *hasResult = true; *hasResultType = true; break;2364case OpGroupNonUniformBallotBitCount: *hasResult = true; *hasResultType = true; break;2365case OpGroupNonUniformBallotFindLSB: *hasResult = true; *hasResultType = true; break;2366case OpGroupNonUniformBallotFindMSB: *hasResult = true; *hasResultType = true; break;2367case OpGroupNonUniformShuffle: *hasResult = true; *hasResultType = true; break;2368case OpGroupNonUniformShuffleXor: *hasResult = true; *hasResultType = true; break;2369case OpGroupNonUniformShuffleUp: *hasResult = true; *hasResultType = true; break;2370case OpGroupNonUniformShuffleDown: *hasResult = true; *hasResultType = true; break;2371case OpGroupNonUniformIAdd: *hasResult = true; *hasResultType = true; break;2372case OpGroupNonUniformFAdd: *hasResult = true; *hasResultType = true; break;2373case OpGroupNonUniformIMul: *hasResult = true; *hasResultType = true; break;2374case OpGroupNonUniformFMul: *hasResult = true; *hasResultType = true; break;2375case OpGroupNonUniformSMin: *hasResult = true; *hasResultType = true; break;2376case OpGroupNonUniformUMin: *hasResult = true; *hasResultType = true; break;2377case OpGroupNonUniformFMin: *hasResult = true; *hasResultType = true; break;2378case OpGroupNonUniformSMax: *hasResult = true; *hasResultType = true; break;2379case OpGroupNonUniformUMax: *hasResult = true; *hasResultType = true; break;2380case OpGroupNonUniformFMax: *hasResult = true; *hasResultType = true; break;2381case OpGroupNonUniformBitwiseAnd: *hasResult = true; *hasResultType = true; break;2382case OpGroupNonUniformBitwiseOr: *hasResult = true; *hasResultType = true; break;2383case OpGroupNonUniformBitwiseXor: *hasResult = true; *hasResultType = true; break;2384case OpGroupNonUniformLogicalAnd: *hasResult = true; *hasResultType = true; break;2385case OpGroupNonUniformLogicalOr: *hasResult = true; *hasResultType = true; break;2386case OpGroupNonUniformLogicalXor: *hasResult = true; *hasResultType = true; break;2387case OpGroupNonUniformQuadBroadcast: *hasResult = true; *hasResultType = true; break;2388case OpGroupNonUniformQuadSwap: *hasResult = true; *hasResultType = true; break;2389case OpCopyLogical: *hasResult = true; *hasResultType = true; break;2390case OpPtrEqual: *hasResult = true; *hasResultType = true; break;2391case OpPtrNotEqual: *hasResult = true; *hasResultType = true; break;2392case OpPtrDiff: *hasResult = true; *hasResultType = true; break;2393case OpColorAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;2394case OpDepthAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;2395case OpStencilAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;2396case OpTerminateInvocation: *hasResult = false; *hasResultType = false; break;2397case OpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;2398case OpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;2399case OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;2400case OpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;2401case OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;2402case OpGroupNonUniformRotateKHR: *hasResult = true; *hasResultType = true; break;2403case OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;2404case OpTraceRayKHR: *hasResult = false; *hasResultType = false; break;2405case OpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;2406case OpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;2407case OpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break;2408case OpTerminateRayKHR: *hasResult = false; *hasResultType = false; break;2409case OpSDot: *hasResult = true; *hasResultType = true; break;2410case OpUDot: *hasResult = true; *hasResultType = true; break;2411case OpSUDot: *hasResult = true; *hasResultType = true; break;2412case OpSDotAccSat: *hasResult = true; *hasResultType = true; break;2413case OpUDotAccSat: *hasResult = true; *hasResultType = true; break;2414case OpSUDotAccSat: *hasResult = true; *hasResultType = true; break;2415case OpTypeCooperativeMatrixKHR: *hasResult = true; *hasResultType = false; break;2416case OpCooperativeMatrixLoadKHR: *hasResult = true; *hasResultType = true; break;2417case OpCooperativeMatrixStoreKHR: *hasResult = false; *hasResultType = false; break;2418case OpCooperativeMatrixMulAddKHR: *hasResult = true; *hasResultType = true; break;2419case OpCooperativeMatrixLengthKHR: *hasResult = true; *hasResultType = true; break;2420case OpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break;2421case OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;2422case OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;2423case OpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;2424case OpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;2425case OpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;2426case OpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;2427case OpImageSampleWeightedQCOM: *hasResult = true; *hasResultType = true; break;2428case OpImageBoxFilterQCOM: *hasResult = true; *hasResultType = true; break;2429case OpImageBlockMatchSSDQCOM: *hasResult = true; *hasResultType = true; break;2430case OpImageBlockMatchSADQCOM: *hasResult = true; *hasResultType = true; break;2431case OpImageBlockMatchWindowSSDQCOM: *hasResult = true; *hasResultType = true; break;2432case OpImageBlockMatchWindowSADQCOM: *hasResult = true; *hasResultType = true; break;2433case OpImageBlockMatchGatherSSDQCOM: *hasResult = true; *hasResultType = true; break;2434case OpImageBlockMatchGatherSADQCOM: *hasResult = true; *hasResultType = true; break;2435case OpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;2436case OpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;2437case OpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;2438case OpGroupUMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;2439case OpGroupSMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;2440case OpGroupFMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;2441case OpGroupUMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;2442case OpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;2443case OpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;2444case OpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;2445case OpReadClockKHR: *hasResult = true; *hasResultType = true; break;2446case OpGroupNonUniformQuadAllKHR: *hasResult = true; *hasResultType = true; break;2447case OpGroupNonUniformQuadAnyKHR: *hasResult = true; *hasResultType = true; break;2448case OpHitObjectRecordHitMotionNV: *hasResult = false; *hasResultType = false; break;2449case OpHitObjectRecordHitWithIndexMotionNV: *hasResult = false; *hasResultType = false; break;2450case OpHitObjectRecordMissMotionNV: *hasResult = false; *hasResultType = false; break;2451case OpHitObjectGetWorldToObjectNV: *hasResult = true; *hasResultType = true; break;2452case OpHitObjectGetObjectToWorldNV: *hasResult = true; *hasResultType = true; break;2453case OpHitObjectGetObjectRayDirectionNV: *hasResult = true; *hasResultType = true; break;2454case OpHitObjectGetObjectRayOriginNV: *hasResult = true; *hasResultType = true; break;2455case OpHitObjectTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;2456case OpHitObjectGetShaderRecordBufferHandleNV: *hasResult = true; *hasResultType = true; break;2457case OpHitObjectGetShaderBindingTableRecordIndexNV: *hasResult = true; *hasResultType = true; break;2458case OpHitObjectRecordEmptyNV: *hasResult = false; *hasResultType = false; break;2459case OpHitObjectTraceRayNV: *hasResult = false; *hasResultType = false; break;2460case OpHitObjectRecordHitNV: *hasResult = false; *hasResultType = false; break;2461case OpHitObjectRecordHitWithIndexNV: *hasResult = false; *hasResultType = false; break;2462case OpHitObjectRecordMissNV: *hasResult = false; *hasResultType = false; break;2463case OpHitObjectExecuteShaderNV: *hasResult = false; *hasResultType = false; break;2464case OpHitObjectGetCurrentTimeNV: *hasResult = true; *hasResultType = true; break;2465case OpHitObjectGetAttributesNV: *hasResult = false; *hasResultType = false; break;2466case OpHitObjectGetHitKindNV: *hasResult = true; *hasResultType = true; break;2467case OpHitObjectGetPrimitiveIndexNV: *hasResult = true; *hasResultType = true; break;2468case OpHitObjectGetGeometryIndexNV: *hasResult = true; *hasResultType = true; break;2469case OpHitObjectGetInstanceIdNV: *hasResult = true; *hasResultType = true; break;2470case OpHitObjectGetInstanceCustomIndexNV: *hasResult = true; *hasResultType = true; break;2471case OpHitObjectGetWorldRayDirectionNV: *hasResult = true; *hasResultType = true; break;2472case OpHitObjectGetWorldRayOriginNV: *hasResult = true; *hasResultType = true; break;2473case OpHitObjectGetRayTMaxNV: *hasResult = true; *hasResultType = true; break;2474case OpHitObjectGetRayTMinNV: *hasResult = true; *hasResultType = true; break;2475case OpHitObjectIsEmptyNV: *hasResult = true; *hasResultType = true; break;2476case OpHitObjectIsHitNV: *hasResult = true; *hasResultType = true; break;2477case OpHitObjectIsMissNV: *hasResult = true; *hasResultType = true; break;2478case OpReorderThreadWithHitObjectNV: *hasResult = false; *hasResultType = false; break;2479case OpReorderThreadWithHintNV: *hasResult = false; *hasResultType = false; break;2480case OpTypeHitObjectNV: *hasResult = true; *hasResultType = false; break;2481case OpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;2482case OpEmitMeshTasksEXT: *hasResult = false; *hasResultType = false; break;2483case OpSetMeshOutputsEXT: *hasResult = false; *hasResultType = false; break;2484case OpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;2485case OpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;2486case OpReportIntersectionNV: *hasResult = true; *hasResultType = true; break;2487case OpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;2488case OpTerminateRayNV: *hasResult = false; *hasResultType = false; break;2489case OpTraceNV: *hasResult = false; *hasResultType = false; break;2490case OpTraceMotionNV: *hasResult = false; *hasResultType = false; break;2491case OpTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;2492case OpRayQueryGetIntersectionTriangleVertexPositionsKHR: *hasResult = true; *hasResultType = true; break;2493case OpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;2494case OpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;2495case OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;2496case OpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;2497case OpCooperativeMatrixStoreNV: *hasResult = false; *hasResultType = false; break;2498case OpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break;2499case OpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;2500case OpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;2501case OpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;2502case OpDemoteToHelperInvocation: *hasResult = false; *hasResultType = false; break;2503case OpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;2504case OpConvertUToImageNV: *hasResult = true; *hasResultType = true; break;2505case OpConvertUToSamplerNV: *hasResult = true; *hasResultType = true; break;2506case OpConvertImageToUNV: *hasResult = true; *hasResultType = true; break;2507case OpConvertSamplerToUNV: *hasResult = true; *hasResultType = true; break;2508case OpConvertUToSampledImageNV: *hasResult = true; *hasResultType = true; break;2509case OpConvertSampledImageToUNV: *hasResult = true; *hasResultType = true; break;2510case OpSamplerImageAddressingModeNV: *hasResult = false; *hasResultType = false; break;2511case OpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;2512case OpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;2513case OpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;2514case OpSubgroupShuffleXorINTEL: *hasResult = true; *hasResultType = true; break;2515case OpSubgroupBlockReadINTEL: *hasResult = true; *hasResultType = true; break;2516case OpSubgroupBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;2517case OpSubgroupImageBlockReadINTEL: *hasResult = true; *hasResultType = true; break;2518case OpSubgroupImageBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;2519case OpSubgroupImageMediaBlockReadINTEL: *hasResult = true; *hasResultType = true; break;2520case OpSubgroupImageMediaBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;2521case OpUCountLeadingZerosINTEL: *hasResult = true; *hasResultType = true; break;2522case OpUCountTrailingZerosINTEL: *hasResult = true; *hasResultType = true; break;2523case OpAbsISubINTEL: *hasResult = true; *hasResultType = true; break;2524case OpAbsUSubINTEL: *hasResult = true; *hasResultType = true; break;2525case OpIAddSatINTEL: *hasResult = true; *hasResultType = true; break;2526case OpUAddSatINTEL: *hasResult = true; *hasResultType = true; break;2527case OpIAverageINTEL: *hasResult = true; *hasResultType = true; break;2528case OpUAverageINTEL: *hasResult = true; *hasResultType = true; break;2529case OpIAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;2530case OpUAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;2531case OpISubSatINTEL: *hasResult = true; *hasResultType = true; break;2532case OpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;2533case OpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;2534case OpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;2535case OpConstantFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;2536case OpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;2537case OpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break;2538case OpAsmINTEL: *hasResult = true; *hasResultType = true; break;2539case OpAsmCallINTEL: *hasResult = true; *hasResultType = true; break;2540case OpAtomicFMinEXT: *hasResult = true; *hasResultType = true; break;2541case OpAtomicFMaxEXT: *hasResult = true; *hasResultType = true; break;2542case OpAssumeTrueKHR: *hasResult = false; *hasResultType = false; break;2543case OpExpectKHR: *hasResult = true; *hasResultType = true; break;2544case OpDecorateString: *hasResult = false; *hasResultType = false; break;2545case OpMemberDecorateString: *hasResult = false; *hasResultType = false; break;2546case OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;2547case OpTypeVmeImageINTEL: *hasResult = true; *hasResultType = false; break;2548case OpTypeAvcImePayloadINTEL: *hasResult = true; *hasResultType = false; break;2549case OpTypeAvcRefPayloadINTEL: *hasResult = true; *hasResultType = false; break;2550case OpTypeAvcSicPayloadINTEL: *hasResult = true; *hasResultType = false; break;2551case OpTypeAvcMcePayloadINTEL: *hasResult = true; *hasResultType = false; break;2552case OpTypeAvcMceResultINTEL: *hasResult = true; *hasResultType = false; break;2553case OpTypeAvcImeResultINTEL: *hasResult = true; *hasResultType = false; break;2554case OpTypeAvcImeResultSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;2555case OpTypeAvcImeResultDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;2556case OpTypeAvcImeSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;2557case OpTypeAvcImeDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;2558case OpTypeAvcRefResultINTEL: *hasResult = true; *hasResultType = false; break;2559case OpTypeAvcSicResultINTEL: *hasResult = true; *hasResultType = false; break;2560case OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;2561case OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;2562case OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;2563case OpSubgroupAvcMceSetInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;2564case OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;2565case OpSubgroupAvcMceSetInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;2566case OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;2567case OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: *hasResult = true; *hasResultType = true; break;2568case OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;2569case OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;2570case OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;2571case OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;2572case OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: *hasResult = true; *hasResultType = true; break;2573case OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: *hasResult = true; *hasResultType = true; break;2574case OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: *hasResult = true; *hasResultType = true; break;2575case OpSubgroupAvcMceSetAcOnlyHaarINTEL: *hasResult = true; *hasResultType = true; break;2576case OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;2577case OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;2578case OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;2579case OpSubgroupAvcMceConvertToImePayloadINTEL: *hasResult = true; *hasResultType = true; break;2580case OpSubgroupAvcMceConvertToImeResultINTEL: *hasResult = true; *hasResultType = true; break;2581case OpSubgroupAvcMceConvertToRefPayloadINTEL: *hasResult = true; *hasResultType = true; break;2582case OpSubgroupAvcMceConvertToRefResultINTEL: *hasResult = true; *hasResultType = true; break;2583case OpSubgroupAvcMceConvertToSicPayloadINTEL: *hasResult = true; *hasResultType = true; break;2584case OpSubgroupAvcMceConvertToSicResultINTEL: *hasResult = true; *hasResultType = true; break;2585case OpSubgroupAvcMceGetMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;2586case OpSubgroupAvcMceGetInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;2587case OpSubgroupAvcMceGetBestInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;2588case OpSubgroupAvcMceGetInterMajorShapeINTEL: *hasResult = true; *hasResultType = true; break;2589case OpSubgroupAvcMceGetInterMinorShapeINTEL: *hasResult = true; *hasResultType = true; break;2590case OpSubgroupAvcMceGetInterDirectionsINTEL: *hasResult = true; *hasResultType = true; break;2591case OpSubgroupAvcMceGetInterMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;2592case OpSubgroupAvcMceGetInterReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;2593case OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;2594case OpSubgroupAvcImeInitializeINTEL: *hasResult = true; *hasResultType = true; break;2595case OpSubgroupAvcImeSetSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;2596case OpSubgroupAvcImeSetDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;2597case OpSubgroupAvcImeRefWindowSizeINTEL: *hasResult = true; *hasResultType = true; break;2598case OpSubgroupAvcImeAdjustRefOffsetINTEL: *hasResult = true; *hasResultType = true; break;2599case OpSubgroupAvcImeConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;2600case OpSubgroupAvcImeSetMaxMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;2601case OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;2602case OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: *hasResult = true; *hasResultType = true; break;2603case OpSubgroupAvcImeSetWeightedSadINTEL: *hasResult = true; *hasResultType = true; break;2604case OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;2605case OpSubgroupAvcImeEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;2606case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;2607case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;2608case OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;2609case OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;2610case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;2611case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;2612case OpSubgroupAvcImeConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;2613case OpSubgroupAvcImeGetSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;2614case OpSubgroupAvcImeGetDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;2615case OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;2616case OpSubgroupAvcImeStripDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;2617case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;2618case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;2619case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;2620case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;2621case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;2622case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;2623case OpSubgroupAvcImeGetBorderReachedINTEL: *hasResult = true; *hasResultType = true; break;2624case OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: *hasResult = true; *hasResultType = true; break;2625case OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: *hasResult = true; *hasResultType = true; break;2626case OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: *hasResult = true; *hasResultType = true; break;2627case OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: *hasResult = true; *hasResultType = true; break;2628case OpSubgroupAvcFmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;2629case OpSubgroupAvcBmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;2630case OpSubgroupAvcRefConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;2631case OpSubgroupAvcRefSetBidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;2632case OpSubgroupAvcRefSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;2633case OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;2634case OpSubgroupAvcRefEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;2635case OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;2636case OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;2637case OpSubgroupAvcRefConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;2638case OpSubgroupAvcSicInitializeINTEL: *hasResult = true; *hasResultType = true; break;2639case OpSubgroupAvcSicConfigureSkcINTEL: *hasResult = true; *hasResultType = true; break;2640case OpSubgroupAvcSicConfigureIpeLumaINTEL: *hasResult = true; *hasResultType = true; break;2641case OpSubgroupAvcSicConfigureIpeLumaChromaINTEL: *hasResult = true; *hasResultType = true; break;2642case OpSubgroupAvcSicGetMotionVectorMaskINTEL: *hasResult = true; *hasResultType = true; break;2643case OpSubgroupAvcSicConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;2644case OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;2645case OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;2646case OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;2647case OpSubgroupAvcSicSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;2648case OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: *hasResult = true; *hasResultType = true; break;2649case OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: *hasResult = true; *hasResultType = true; break;2650case OpSubgroupAvcSicEvaluateIpeINTEL: *hasResult = true; *hasResultType = true; break;2651case OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;2652case OpSubgroupAvcSicEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;2653case OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;2654case OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;2655case OpSubgroupAvcSicConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;2656case OpSubgroupAvcSicGetIpeLumaShapeINTEL: *hasResult = true; *hasResultType = true; break;2657case OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: *hasResult = true; *hasResultType = true; break;2658case OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: *hasResult = true; *hasResultType = true; break;2659case OpSubgroupAvcSicGetPackedIpeLumaModesINTEL: *hasResult = true; *hasResultType = true; break;2660case OpSubgroupAvcSicGetIpeChromaModeINTEL: *hasResult = true; *hasResultType = true; break;2661case OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;2662case OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;2663case OpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;2664case OpVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break;2665case OpSaveMemoryINTEL: *hasResult = true; *hasResultType = true; break;2666case OpRestoreMemoryINTEL: *hasResult = false; *hasResultType = false; break;2667case OpArbitraryFloatSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;2668case OpArbitraryFloatCastINTEL: *hasResult = true; *hasResultType = true; break;2669case OpArbitraryFloatCastFromIntINTEL: *hasResult = true; *hasResultType = true; break;2670case OpArbitraryFloatCastToIntINTEL: *hasResult = true; *hasResultType = true; break;2671case OpArbitraryFloatAddINTEL: *hasResult = true; *hasResultType = true; break;2672case OpArbitraryFloatSubINTEL: *hasResult = true; *hasResultType = true; break;2673case OpArbitraryFloatMulINTEL: *hasResult = true; *hasResultType = true; break;2674case OpArbitraryFloatDivINTEL: *hasResult = true; *hasResultType = true; break;2675case OpArbitraryFloatGTINTEL: *hasResult = true; *hasResultType = true; break;2676case OpArbitraryFloatGEINTEL: *hasResult = true; *hasResultType = true; break;2677case OpArbitraryFloatLTINTEL: *hasResult = true; *hasResultType = true; break;2678case OpArbitraryFloatLEINTEL: *hasResult = true; *hasResultType = true; break;2679case OpArbitraryFloatEQINTEL: *hasResult = true; *hasResultType = true; break;2680case OpArbitraryFloatRecipINTEL: *hasResult = true; *hasResultType = true; break;2681case OpArbitraryFloatRSqrtINTEL: *hasResult = true; *hasResultType = true; break;2682case OpArbitraryFloatCbrtINTEL: *hasResult = true; *hasResultType = true; break;2683case OpArbitraryFloatHypotINTEL: *hasResult = true; *hasResultType = true; break;2684case OpArbitraryFloatSqrtINTEL: *hasResult = true; *hasResultType = true; break;2685case OpArbitraryFloatLogINTEL: *hasResult = true; *hasResultType = true; break;2686case OpArbitraryFloatLog2INTEL: *hasResult = true; *hasResultType = true; break;2687case OpArbitraryFloatLog10INTEL: *hasResult = true; *hasResultType = true; break;2688case OpArbitraryFloatLog1pINTEL: *hasResult = true; *hasResultType = true; break;2689case OpArbitraryFloatExpINTEL: *hasResult = true; *hasResultType = true; break;2690case OpArbitraryFloatExp2INTEL: *hasResult = true; *hasResultType = true; break;2691case OpArbitraryFloatExp10INTEL: *hasResult = true; *hasResultType = true; break;2692case OpArbitraryFloatExpm1INTEL: *hasResult = true; *hasResultType = true; break;2693case OpArbitraryFloatSinINTEL: *hasResult = true; *hasResultType = true; break;2694case OpArbitraryFloatCosINTEL: *hasResult = true; *hasResultType = true; break;2695case OpArbitraryFloatSinCosINTEL: *hasResult = true; *hasResultType = true; break;2696case OpArbitraryFloatSinPiINTEL: *hasResult = true; *hasResultType = true; break;2697case OpArbitraryFloatCosPiINTEL: *hasResult = true; *hasResultType = true; break;2698case OpArbitraryFloatASinINTEL: *hasResult = true; *hasResultType = true; break;2699case OpArbitraryFloatASinPiINTEL: *hasResult = true; *hasResultType = true; break;2700case OpArbitraryFloatACosINTEL: *hasResult = true; *hasResultType = true; break;2701case OpArbitraryFloatACosPiINTEL: *hasResult = true; *hasResultType = true; break;2702case OpArbitraryFloatATanINTEL: *hasResult = true; *hasResultType = true; break;2703case OpArbitraryFloatATanPiINTEL: *hasResult = true; *hasResultType = true; break;2704case OpArbitraryFloatATan2INTEL: *hasResult = true; *hasResultType = true; break;2705case OpArbitraryFloatPowINTEL: *hasResult = true; *hasResultType = true; break;2706case OpArbitraryFloatPowRINTEL: *hasResult = true; *hasResultType = true; break;2707case OpArbitraryFloatPowNINTEL: *hasResult = true; *hasResultType = true; break;2708case OpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;2709case OpAliasDomainDeclINTEL: *hasResult = true; *hasResultType = false; break;2710case OpAliasScopeDeclINTEL: *hasResult = true; *hasResultType = false; break;2711case OpAliasScopeListDeclINTEL: *hasResult = true; *hasResultType = false; break;2712case OpFixedSqrtINTEL: *hasResult = true; *hasResultType = true; break;2713case OpFixedRecipINTEL: *hasResult = true; *hasResultType = true; break;2714case OpFixedRsqrtINTEL: *hasResult = true; *hasResultType = true; break;2715case OpFixedSinINTEL: *hasResult = true; *hasResultType = true; break;2716case OpFixedCosINTEL: *hasResult = true; *hasResultType = true; break;2717case OpFixedSinCosINTEL: *hasResult = true; *hasResultType = true; break;2718case OpFixedSinPiINTEL: *hasResult = true; *hasResultType = true; break;2719case OpFixedCosPiINTEL: *hasResult = true; *hasResultType = true; break;2720case OpFixedSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;2721case OpFixedLogINTEL: *hasResult = true; *hasResultType = true; break;2722case OpFixedExpINTEL: *hasResult = true; *hasResultType = true; break;2723case OpPtrCastToCrossWorkgroupINTEL: *hasResult = true; *hasResultType = true; break;2724case OpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break;2725case OpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;2726case OpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;2727case OpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;2728case OpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;2729case OpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;2730case OpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;2731case OpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;2732case OpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;2733case OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;2734case OpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;2735case OpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;2736case OpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;2737case OpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;2738case OpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;2739case OpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;2740case OpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;2741case OpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;2742case OpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;2743case OpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;2744case OpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;2745case OpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break;2746case OpTypeBufferSurfaceINTEL: *hasResult = true; *hasResultType = false; break;2747case OpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;2748case OpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;2749case OpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;2750case OpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break;2751case OpControlBarrierWaitINTEL: *hasResult = false; *hasResultType = false; break;2752case OpGroupIMulKHR: *hasResult = true; *hasResultType = true; break;2753case OpGroupFMulKHR: *hasResult = true; *hasResultType = true; break;2754case OpGroupBitwiseAndKHR: *hasResult = true; *hasResultType = true; break;2755case OpGroupBitwiseOrKHR: *hasResult = true; *hasResultType = true; break;2756case OpGroupBitwiseXorKHR: *hasResult = true; *hasResultType = true; break;2757case OpGroupLogicalAndKHR: *hasResult = true; *hasResultType = true; break;2758case OpGroupLogicalOrKHR: *hasResult = true; *hasResultType = true; break;2759case OpGroupLogicalXorKHR: *hasResult = true; *hasResultType = true; break;2760}2761}2762#endif /* SPV_ENABLE_UTILITY_CODE */27632764// Overload bitwise operators for mask bit combining27652766inline ImageOperandsMask operator|(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) | unsigned(b)); }2767inline ImageOperandsMask operator&(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) & unsigned(b)); }2768inline ImageOperandsMask operator^(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) ^ unsigned(b)); }2769inline ImageOperandsMask operator~(ImageOperandsMask a) { return ImageOperandsMask(~unsigned(a)); }2770inline FPFastMathModeMask operator|(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) | unsigned(b)); }2771inline FPFastMathModeMask operator&(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) & unsigned(b)); }2772inline FPFastMathModeMask operator^(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) ^ unsigned(b)); }2773inline FPFastMathModeMask operator~(FPFastMathModeMask a) { return FPFastMathModeMask(~unsigned(a)); }2774inline SelectionControlMask operator|(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) | unsigned(b)); }2775inline SelectionControlMask operator&(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) & unsigned(b)); }2776inline SelectionControlMask operator^(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) ^ unsigned(b)); }2777inline SelectionControlMask operator~(SelectionControlMask a) { return SelectionControlMask(~unsigned(a)); }2778inline LoopControlMask operator|(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) | unsigned(b)); }2779inline LoopControlMask operator&(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) & unsigned(b)); }2780inline LoopControlMask operator^(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) ^ unsigned(b)); }2781inline LoopControlMask operator~(LoopControlMask a) { return LoopControlMask(~unsigned(a)); }2782inline FunctionControlMask operator|(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) | unsigned(b)); }2783inline FunctionControlMask operator&(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) & unsigned(b)); }2784inline FunctionControlMask operator^(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) ^ unsigned(b)); }2785inline FunctionControlMask operator~(FunctionControlMask a) { return FunctionControlMask(~unsigned(a)); }2786inline MemorySemanticsMask operator|(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) | unsigned(b)); }2787inline MemorySemanticsMask operator&(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) & unsigned(b)); }2788inline MemorySemanticsMask operator^(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) ^ unsigned(b)); }2789inline MemorySemanticsMask operator~(MemorySemanticsMask a) { return MemorySemanticsMask(~unsigned(a)); }2790inline MemoryAccessMask operator|(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) | unsigned(b)); }2791inline MemoryAccessMask operator&(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) & unsigned(b)); }2792inline MemoryAccessMask operator^(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) ^ unsigned(b)); }2793inline MemoryAccessMask operator~(MemoryAccessMask a) { return MemoryAccessMask(~unsigned(a)); }2794inline KernelProfilingInfoMask operator|(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) | unsigned(b)); }2795inline KernelProfilingInfoMask operator&(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) & unsigned(b)); }2796inline KernelProfilingInfoMask operator^(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) ^ unsigned(b)); }2797inline KernelProfilingInfoMask operator~(KernelProfilingInfoMask a) { return KernelProfilingInfoMask(~unsigned(a)); }2798inline RayFlagsMask operator|(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) | unsigned(b)); }2799inline RayFlagsMask operator&(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) & unsigned(b)); }2800inline RayFlagsMask operator^(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) ^ unsigned(b)); }2801inline RayFlagsMask operator~(RayFlagsMask a) { return RayFlagsMask(~unsigned(a)); }2802inline FragmentShadingRateMask operator|(FragmentShadingRateMask a, FragmentShadingRateMask b) { return FragmentShadingRateMask(unsigned(a) | unsigned(b)); }2803inline FragmentShadingRateMask operator&(FragmentShadingRateMask a, FragmentShadingRateMask b) { return FragmentShadingRateMask(unsigned(a) & unsigned(b)); }2804inline FragmentShadingRateMask operator^(FragmentShadingRateMask a, FragmentShadingRateMask b) { return FragmentShadingRateMask(unsigned(a) ^ unsigned(b)); }2805inline FragmentShadingRateMask operator~(FragmentShadingRateMask a) { return FragmentShadingRateMask(~unsigned(a)); }2806inline CooperativeMatrixOperandsMask operator|(CooperativeMatrixOperandsMask a, CooperativeMatrixOperandsMask b) { return CooperativeMatrixOperandsMask(unsigned(a) | unsigned(b)); }2807inline CooperativeMatrixOperandsMask operator&(CooperativeMatrixOperandsMask a, CooperativeMatrixOperandsMask b) { return CooperativeMatrixOperandsMask(unsigned(a) & unsigned(b)); }2808inline CooperativeMatrixOperandsMask operator^(CooperativeMatrixOperandsMask a, CooperativeMatrixOperandsMask b) { return CooperativeMatrixOperandsMask(unsigned(a) ^ unsigned(b)); }2809inline CooperativeMatrixOperandsMask operator~(CooperativeMatrixOperandsMask a) { return CooperativeMatrixOperandsMask(~unsigned(a)); }28102811} // end namespace spv28122813#endif // #ifndef spirv_HPP2814281528162817