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