1/* 2** Copyright (c) 2014-2020 The Khronos Group Inc. 3** 4** Permission is hereby granted, free of charge, to any person obtaining a copy 5** of this software and/or associated documentation files (the "Materials"), 6** to deal in the Materials without restriction, including without limitation 7** the rights to use, copy, modify, merge, publish, distribute, sublicense, 8** and/or sell copies of the Materials, and to permit persons to whom the 9** Materials are furnished to do so, subject to the following conditions: 10** 11** The above copyright notice and this permission notice shall be included in 12** all copies or substantial portions of the Materials. 13** 14** MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS 15** STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND 16** HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ 17** 18** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 21** THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 23** FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS 24** IN THE MATERIALS. 25*/ 26 27/* 28** This header is automatically generated by the same tool that creates 29** the Binary Section of the SPIR-V specification. 30*/ 31 32/* 33** Enumeration tokens for SPIR-V, in various styles: 34** C, C++, C++11, JSON, Lua, Python, C#, D 35** 36** - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL 37** - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL 38** - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL 39** - Lua will use tables, e.g.: spv.SourceLanguage.GLSL 40** - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL'] 41** - C# will use enum classes in the Specification class located in the "Spv" namespace, 42** e.g.: Spv.Specification.SourceLanguage.GLSL 43** - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL 44** 45** Some tokens act like mask values, which can be OR'd together, 46** while others are mutually exclusive. The mask-like ones have 47** "Mask" in their name, and a parallel enum that has the shift 48** amount (1 << x) for each corresponding enumerant. 49*/ 50 51#ifndef spirv_H 52#define spirv_H 53 54typedef unsigned int SpvId; 55 56#define SPV_VERSION 0x10500 57#define SPV_REVISION 4 58 59static const unsigned int SpvMagicNumber = 0x07230203; 60static const unsigned int SpvVersion = 0x00010500; 61static const unsigned int SpvRevision = 4; 62static const unsigned int SpvOpCodeMask = 0xffff; 63static const unsigned int SpvWordCountShift = 16; 64 65typedef enum SpvSourceLanguage_ { 66 SpvSourceLanguageUnknown = 0, 67 SpvSourceLanguageESSL = 1, 68 SpvSourceLanguageGLSL = 2, 69 SpvSourceLanguageOpenCL_C = 3, 70 SpvSourceLanguageOpenCL_CPP = 4, 71 SpvSourceLanguageHLSL = 5, 72 SpvSourceLanguageCPP_for_OpenCL = 6, 73 SpvSourceLanguageMax = 0x7fffffff, 74} SpvSourceLanguage; 75 76typedef enum SpvExecutionModel_ { 77 SpvExecutionModelVertex = 0, 78 SpvExecutionModelTessellationControl = 1, 79 SpvExecutionModelTessellationEvaluation = 2, 80 SpvExecutionModelGeometry = 3, 81 SpvExecutionModelFragment = 4, 82 SpvExecutionModelGLCompute = 5, 83 SpvExecutionModelKernel = 6, 84 SpvExecutionModelTaskNV = 5267, 85 SpvExecutionModelMeshNV = 5268, 86 SpvExecutionModelRayGenerationKHR = 5313, 87 SpvExecutionModelRayGenerationNV = 5313, 88 SpvExecutionModelIntersectionKHR = 5314, 89 SpvExecutionModelIntersectionNV = 5314, 90 SpvExecutionModelAnyHitKHR = 5315, 91 SpvExecutionModelAnyHitNV = 5315, 92 SpvExecutionModelClosestHitKHR = 5316, 93 SpvExecutionModelClosestHitNV = 5316, 94 SpvExecutionModelMissKHR = 5317, 95 SpvExecutionModelMissNV = 5317, 96 SpvExecutionModelCallableKHR = 5318, 97 SpvExecutionModelCallableNV = 5318, 98 SpvExecutionModelMax = 0x7fffffff, 99} SpvExecutionModel; 100 101typedef enum SpvAddressingModel_ { 102 SpvAddressingModelLogical = 0, 103 SpvAddressingModelPhysical32 = 1, 104 SpvAddressingModelPhysical64 = 2, 105 SpvAddressingModelPhysicalStorageBuffer64 = 5348, 106 SpvAddressingModelPhysicalStorageBuffer64EXT = 5348, 107 SpvAddressingModelMax = 0x7fffffff, 108} SpvAddressingModel; 109 110typedef enum SpvMemoryModel_ { 111 SpvMemoryModelSimple = 0, 112 SpvMemoryModelGLSL450 = 1, 113 SpvMemoryModelOpenCL = 2, 114 SpvMemoryModelVulkan = 3, 115 SpvMemoryModelVulkanKHR = 3, 116 SpvMemoryModelMax = 0x7fffffff, 117} SpvMemoryModel; 118 119typedef enum SpvExecutionMode_ { 120 SpvExecutionModeInvocations = 0, 121 SpvExecutionModeSpacingEqual = 1, 122 SpvExecutionModeSpacingFractionalEven = 2, 123 SpvExecutionModeSpacingFractionalOdd = 3, 124 SpvExecutionModeVertexOrderCw = 4, 125 SpvExecutionModeVertexOrderCcw = 5, 126 SpvExecutionModePixelCenterInteger = 6, 127 SpvExecutionModeOriginUpperLeft = 7, 128 SpvExecutionModeOriginLowerLeft = 8, 129 SpvExecutionModeEarlyFragmentTests = 9, 130 SpvExecutionModePointMode = 10, 131 SpvExecutionModeXfb = 11, 132 SpvExecutionModeDepthReplacing = 12, 133 SpvExecutionModeDepthGreater = 14, 134 SpvExecutionModeDepthLess = 15, 135 SpvExecutionModeDepthUnchanged = 16, 136 SpvExecutionModeLocalSize = 17, 137 SpvExecutionModeLocalSizeHint = 18, 138 SpvExecutionModeInputPoints = 19, 139 SpvExecutionModeInputLines = 20, 140 SpvExecutionModeInputLinesAdjacency = 21, 141 SpvExecutionModeTriangles = 22, 142 SpvExecutionModeInputTrianglesAdjacency = 23, 143 SpvExecutionModeQuads = 24, 144 SpvExecutionModeIsolines = 25, 145 SpvExecutionModeOutputVertices = 26, 146 SpvExecutionModeOutputPoints = 27, 147 SpvExecutionModeOutputLineStrip = 28, 148 SpvExecutionModeOutputTriangleStrip = 29, 149 SpvExecutionModeVecTypeHint = 30, 150 SpvExecutionModeContractionOff = 31, 151 SpvExecutionModeInitializer = 33, 152 SpvExecutionModeFinalizer = 34, 153 SpvExecutionModeSubgroupSize = 35, 154 SpvExecutionModeSubgroupsPerWorkgroup = 36, 155 SpvExecutionModeSubgroupsPerWorkgroupId = 37, 156 SpvExecutionModeLocalSizeId = 38, 157 SpvExecutionModeLocalSizeHintId = 39, 158 SpvExecutionModeSubgroupUniformControlFlowKHR = 4421, 159 SpvExecutionModePostDepthCoverage = 4446, 160 SpvExecutionModeDenormPreserve = 4459, 161 SpvExecutionModeDenormFlushToZero = 4460, 162 SpvExecutionModeSignedZeroInfNanPreserve = 4461, 163 SpvExecutionModeRoundingModeRTE = 4462, 164 SpvExecutionModeRoundingModeRTZ = 4463, 165 SpvExecutionModeStencilRefReplacingEXT = 5027, 166 SpvExecutionModeOutputLinesNV = 5269, 167 SpvExecutionModeOutputPrimitivesNV = 5270, 168 SpvExecutionModeDerivativeGroupQuadsNV = 5289, 169 SpvExecutionModeDerivativeGroupLinearNV = 5290, 170 SpvExecutionModeOutputTrianglesNV = 5298, 171 SpvExecutionModePixelInterlockOrderedEXT = 5366, 172 SpvExecutionModePixelInterlockUnorderedEXT = 5367, 173 SpvExecutionModeSampleInterlockOrderedEXT = 5368, 174 SpvExecutionModeSampleInterlockUnorderedEXT = 5369, 175 SpvExecutionModeShadingRateInterlockOrderedEXT = 5370, 176 SpvExecutionModeShadingRateInterlockUnorderedEXT = 5371, 177 SpvExecutionModeSharedLocalMemorySizeINTEL = 5618, 178 SpvExecutionModeRoundingModeRTPINTEL = 5620, 179 SpvExecutionModeRoundingModeRTNINTEL = 5621, 180 SpvExecutionModeFloatingPointModeALTINTEL = 5622, 181 SpvExecutionModeFloatingPointModeIEEEINTEL = 5623, 182 SpvExecutionModeMaxWorkgroupSizeINTEL = 5893, 183 SpvExecutionModeMaxWorkDimINTEL = 5894, 184 SpvExecutionModeNoGlobalOffsetINTEL = 5895, 185 SpvExecutionModeNumSIMDWorkitemsINTEL = 5896, 186 SpvExecutionModeSchedulerTargetFmaxMhzINTEL = 5903, 187 SpvExecutionModeMax = 0x7fffffff, 188} SpvExecutionMode; 189 190typedef enum SpvStorageClass_ { 191 SpvStorageClassUniformConstant = 0, 192 SpvStorageClassInput = 1, 193 SpvStorageClassUniform = 2, 194 SpvStorageClassOutput = 3, 195 SpvStorageClassWorkgroup = 4, 196 SpvStorageClassCrossWorkgroup = 5, 197 SpvStorageClassPrivate = 6, 198 SpvStorageClassFunction = 7, 199 SpvStorageClassGeneric = 8, 200 SpvStorageClassPushConstant = 9, 201 SpvStorageClassAtomicCounter = 10, 202 SpvStorageClassImage = 11, 203 SpvStorageClassStorageBuffer = 12, 204 SpvStorageClassCallableDataKHR = 5328, 205 SpvStorageClassCallableDataNV = 5328, 206 SpvStorageClassIncomingCallableDataKHR = 5329, 207 SpvStorageClassIncomingCallableDataNV = 5329, 208 SpvStorageClassRayPayloadKHR = 5338, 209 SpvStorageClassRayPayloadNV = 5338, 210 SpvStorageClassHitAttributeKHR = 5339, 211 SpvStorageClassHitAttributeNV = 5339, 212 SpvStorageClassIncomingRayPayloadKHR = 5342, 213 SpvStorageClassIncomingRayPayloadNV = 5342, 214 SpvStorageClassShaderRecordBufferKHR = 5343, 215 SpvStorageClassShaderRecordBufferNV = 5343, 216 SpvStorageClassPhysicalStorageBuffer = 5349, 217 SpvStorageClassPhysicalStorageBufferEXT = 5349, 218 SpvStorageClassCodeSectionINTEL = 5605, 219 SpvStorageClassDeviceOnlyINTEL = 5936, 220 SpvStorageClassHostOnlyINTEL = 5937, 221 SpvStorageClassMax = 0x7fffffff, 222} SpvStorageClass; 223 224typedef enum SpvDim_ { 225 SpvDim1D = 0, 226 SpvDim2D = 1, 227 SpvDim3D = 2, 228 SpvDimCube = 3, 229 SpvDimRect = 4, 230 SpvDimBuffer = 5, 231 SpvDimSubpassData = 6, 232 SpvDimMax = 0x7fffffff, 233} SpvDim; 234 235typedef enum SpvSamplerAddressingMode_ { 236 SpvSamplerAddressingModeNone = 0, 237 SpvSamplerAddressingModeClampToEdge = 1, 238 SpvSamplerAddressingModeClamp = 2, 239 SpvSamplerAddressingModeRepeat = 3, 240 SpvSamplerAddressingModeRepeatMirrored = 4, 241 SpvSamplerAddressingModeMax = 0x7fffffff, 242} SpvSamplerAddressingMode; 243 244typedef enum SpvSamplerFilterMode_ { 245 SpvSamplerFilterModeNearest = 0, 246 SpvSamplerFilterModeLinear = 1, 247 SpvSamplerFilterModeMax = 0x7fffffff, 248} SpvSamplerFilterMode; 249 250typedef enum SpvImageFormat_ { 251 SpvImageFormatUnknown = 0, 252 SpvImageFormatRgba32f = 1, 253 SpvImageFormatRgba16f = 2, 254 SpvImageFormatR32f = 3, 255 SpvImageFormatRgba8 = 4, 256 SpvImageFormatRgba8Snorm = 5, 257 SpvImageFormatRg32f = 6, 258 SpvImageFormatRg16f = 7, 259 SpvImageFormatR11fG11fB10f = 8, 260 SpvImageFormatR16f = 9, 261 SpvImageFormatRgba16 = 10, 262 SpvImageFormatRgb10A2 = 11, 263 SpvImageFormatRg16 = 12, 264 SpvImageFormatRg8 = 13, 265 SpvImageFormatR16 = 14, 266 SpvImageFormatR8 = 15, 267 SpvImageFormatRgba16Snorm = 16, 268 SpvImageFormatRg16Snorm = 17, 269 SpvImageFormatRg8Snorm = 18, 270 SpvImageFormatR16Snorm = 19, 271 SpvImageFormatR8Snorm = 20, 272 SpvImageFormatRgba32i = 21, 273 SpvImageFormatRgba16i = 22, 274 SpvImageFormatRgba8i = 23, 275 SpvImageFormatR32i = 24, 276 SpvImageFormatRg32i = 25, 277 SpvImageFormatRg16i = 26, 278 SpvImageFormatRg8i = 27, 279 SpvImageFormatR16i = 28, 280 SpvImageFormatR8i = 29, 281 SpvImageFormatRgba32ui = 30, 282 SpvImageFormatRgba16ui = 31, 283 SpvImageFormatRgba8ui = 32, 284 SpvImageFormatR32ui = 33, 285 SpvImageFormatRgb10a2ui = 34, 286 SpvImageFormatRg32ui = 35, 287 SpvImageFormatRg16ui = 36, 288 SpvImageFormatRg8ui = 37, 289 SpvImageFormatR16ui = 38, 290 SpvImageFormatR8ui = 39, 291 SpvImageFormatR64ui = 40, 292 SpvImageFormatR64i = 41, 293 SpvImageFormatMax = 0x7fffffff, 294} SpvImageFormat; 295 296typedef enum SpvImageChannelOrder_ { 297 SpvImageChannelOrderR = 0, 298 SpvImageChannelOrderA = 1, 299 SpvImageChannelOrderRG = 2, 300 SpvImageChannelOrderRA = 3, 301 SpvImageChannelOrderRGB = 4, 302 SpvImageChannelOrderRGBA = 5, 303 SpvImageChannelOrderBGRA = 6, 304 SpvImageChannelOrderARGB = 7, 305 SpvImageChannelOrderIntensity = 8, 306 SpvImageChannelOrderLuminance = 9, 307 SpvImageChannelOrderRx = 10, 308 SpvImageChannelOrderRGx = 11, 309 SpvImageChannelOrderRGBx = 12, 310 SpvImageChannelOrderDepth = 13, 311 SpvImageChannelOrderDepthStencil = 14, 312 SpvImageChannelOrdersRGB = 15, 313 SpvImageChannelOrdersRGBx = 16, 314 SpvImageChannelOrdersRGBA = 17, 315 SpvImageChannelOrdersBGRA = 18, 316 SpvImageChannelOrderABGR = 19, 317 SpvImageChannelOrderMax = 0x7fffffff, 318} SpvImageChannelOrder; 319 320typedef enum SpvImageChannelDataType_ { 321 SpvImageChannelDataTypeSnormInt8 = 0, 322 SpvImageChannelDataTypeSnormInt16 = 1, 323 SpvImageChannelDataTypeUnormInt8 = 2, 324 SpvImageChannelDataTypeUnormInt16 = 3, 325 SpvImageChannelDataTypeUnormShort565 = 4, 326 SpvImageChannelDataTypeUnormShort555 = 5, 327 SpvImageChannelDataTypeUnormInt101010 = 6, 328 SpvImageChannelDataTypeSignedInt8 = 7, 329 SpvImageChannelDataTypeSignedInt16 = 8, 330 SpvImageChannelDataTypeSignedInt32 = 9, 331 SpvImageChannelDataTypeUnsignedInt8 = 10, 332 SpvImageChannelDataTypeUnsignedInt16 = 11, 333 SpvImageChannelDataTypeUnsignedInt32 = 12, 334 SpvImageChannelDataTypeHalfFloat = 13, 335 SpvImageChannelDataTypeFloat = 14, 336 SpvImageChannelDataTypeUnormInt24 = 15, 337 SpvImageChannelDataTypeUnormInt101010_2 = 16, 338 SpvImageChannelDataTypeMax = 0x7fffffff, 339} SpvImageChannelDataType; 340 341typedef enum SpvImageOperandsShift_ { 342 SpvImageOperandsBiasShift = 0, 343 SpvImageOperandsLodShift = 1, 344 SpvImageOperandsGradShift = 2, 345 SpvImageOperandsConstOffsetShift = 3, 346 SpvImageOperandsOffsetShift = 4, 347 SpvImageOperandsConstOffsetsShift = 5, 348 SpvImageOperandsSampleShift = 6, 349 SpvImageOperandsMinLodShift = 7, 350 SpvImageOperandsMakeTexelAvailableShift = 8, 351 SpvImageOperandsMakeTexelAvailableKHRShift = 8, 352 SpvImageOperandsMakeTexelVisibleShift = 9, 353 SpvImageOperandsMakeTexelVisibleKHRShift = 9, 354 SpvImageOperandsNonPrivateTexelShift = 10, 355 SpvImageOperandsNonPrivateTexelKHRShift = 10, 356 SpvImageOperandsVolatileTexelShift = 11, 357 SpvImageOperandsVolatileTexelKHRShift = 11, 358 SpvImageOperandsSignExtendShift = 12, 359 SpvImageOperandsZeroExtendShift = 13, 360 SpvImageOperandsMax = 0x7fffffff, 361} SpvImageOperandsShift; 362 363typedef enum SpvImageOperandsMask_ { 364 SpvImageOperandsMaskNone = 0, 365 SpvImageOperandsBiasMask = 0x00000001, 366 SpvImageOperandsLodMask = 0x00000002, 367 SpvImageOperandsGradMask = 0x00000004, 368 SpvImageOperandsConstOffsetMask = 0x00000008, 369 SpvImageOperandsOffsetMask = 0x00000010, 370 SpvImageOperandsConstOffsetsMask = 0x00000020, 371 SpvImageOperandsSampleMask = 0x00000040, 372 SpvImageOperandsMinLodMask = 0x00000080, 373 SpvImageOperandsMakeTexelAvailableMask = 0x00000100, 374 SpvImageOperandsMakeTexelAvailableKHRMask = 0x00000100, 375 SpvImageOperandsMakeTexelVisibleMask = 0x00000200, 376 SpvImageOperandsMakeTexelVisibleKHRMask = 0x00000200, 377 SpvImageOperandsNonPrivateTexelMask = 0x00000400, 378 SpvImageOperandsNonPrivateTexelKHRMask = 0x00000400, 379 SpvImageOperandsVolatileTexelMask = 0x00000800, 380 SpvImageOperandsVolatileTexelKHRMask = 0x00000800, 381 SpvImageOperandsSignExtendMask = 0x00001000, 382 SpvImageOperandsZeroExtendMask = 0x00002000, 383} SpvImageOperandsMask; 384 385typedef enum SpvFPFastMathModeShift_ { 386 SpvFPFastMathModeNotNaNShift = 0, 387 SpvFPFastMathModeNotInfShift = 1, 388 SpvFPFastMathModeNSZShift = 2, 389 SpvFPFastMathModeAllowRecipShift = 3, 390 SpvFPFastMathModeFastShift = 4, 391 SpvFPFastMathModeAllowContractFastINTELShift = 16, 392 SpvFPFastMathModeAllowReassocINTELShift = 17, 393 SpvFPFastMathModeMax = 0x7fffffff, 394} SpvFPFastMathModeShift; 395 396typedef enum SpvFPFastMathModeMask_ { 397 SpvFPFastMathModeMaskNone = 0, 398 SpvFPFastMathModeNotNaNMask = 0x00000001, 399 SpvFPFastMathModeNotInfMask = 0x00000002, 400 SpvFPFastMathModeNSZMask = 0x00000004, 401 SpvFPFastMathModeAllowRecipMask = 0x00000008, 402 SpvFPFastMathModeFastMask = 0x00000010, 403 SpvFPFastMathModeAllowContractFastINTELMask = 0x00010000, 404 SpvFPFastMathModeAllowReassocINTELMask = 0x00020000, 405} SpvFPFastMathModeMask; 406 407typedef enum SpvFPRoundingMode_ { 408 SpvFPRoundingModeRTE = 0, 409 SpvFPRoundingModeRTZ = 1, 410 SpvFPRoundingModeRTP = 2, 411 SpvFPRoundingModeRTN = 3, 412 SpvFPRoundingModeMax = 0x7fffffff, 413} SpvFPRoundingMode; 414 415typedef enum SpvLinkageType_ { 416 SpvLinkageTypeExport = 0, 417 SpvLinkageTypeImport = 1, 418 SpvLinkageTypeLinkOnceODR = 2, 419 SpvLinkageTypeMax = 0x7fffffff, 420} SpvLinkageType; 421 422typedef enum SpvAccessQualifier_ { 423 SpvAccessQualifierReadOnly = 0, 424 SpvAccessQualifierWriteOnly = 1, 425 SpvAccessQualifierReadWrite = 2, 426 SpvAccessQualifierMax = 0x7fffffff, 427} SpvAccessQualifier; 428 429typedef enum SpvFunctionParameterAttribute_ { 430 SpvFunctionParameterAttributeZext = 0, 431 SpvFunctionParameterAttributeSext = 1, 432 SpvFunctionParameterAttributeByVal = 2, 433 SpvFunctionParameterAttributeSret = 3, 434 SpvFunctionParameterAttributeNoAlias = 4, 435 SpvFunctionParameterAttributeNoCapture = 5, 436 SpvFunctionParameterAttributeNoWrite = 6, 437 SpvFunctionParameterAttributeNoReadWrite = 7, 438 SpvFunctionParameterAttributeMax = 0x7fffffff, 439} SpvFunctionParameterAttribute; 440 441typedef enum SpvDecoration_ { 442 SpvDecorationRelaxedPrecision = 0, 443 SpvDecorationSpecId = 1, 444 SpvDecorationBlock = 2, 445 SpvDecorationBufferBlock = 3, 446 SpvDecorationRowMajor = 4, 447 SpvDecorationColMajor = 5, 448 SpvDecorationArrayStride = 6, 449 SpvDecorationMatrixStride = 7, 450 SpvDecorationGLSLShared = 8, 451 SpvDecorationGLSLPacked = 9, 452 SpvDecorationCPacked = 10, 453 SpvDecorationBuiltIn = 11, 454 SpvDecorationNoPerspective = 13, 455 SpvDecorationFlat = 14, 456 SpvDecorationPatch = 15, 457 SpvDecorationCentroid = 16, 458 SpvDecorationSample = 17, 459 SpvDecorationInvariant = 18, 460 SpvDecorationRestrict = 19, 461 SpvDecorationAliased = 20, 462 SpvDecorationVolatile = 21, 463 SpvDecorationConstant = 22, 464 SpvDecorationCoherent = 23, 465 SpvDecorationNonWritable = 24, 466 SpvDecorationNonReadable = 25, 467 SpvDecorationUniform = 26, 468 SpvDecorationUniformId = 27, 469 SpvDecorationSaturatedConversion = 28, 470 SpvDecorationStream = 29, 471 SpvDecorationLocation = 30, 472 SpvDecorationComponent = 31, 473 SpvDecorationIndex = 32, 474 SpvDecorationBinding = 33, 475 SpvDecorationDescriptorSet = 34, 476 SpvDecorationOffset = 35, 477 SpvDecorationXfbBuffer = 36, 478 SpvDecorationXfbStride = 37, 479 SpvDecorationFuncParamAttr = 38, 480 SpvDecorationFPRoundingMode = 39, 481 SpvDecorationFPFastMathMode = 40, 482 SpvDecorationLinkageAttributes = 41, 483 SpvDecorationNoContraction = 42, 484 SpvDecorationInputAttachmentIndex = 43, 485 SpvDecorationAlignment = 44, 486 SpvDecorationMaxByteOffset = 45, 487 SpvDecorationAlignmentId = 46, 488 SpvDecorationMaxByteOffsetId = 47, 489 SpvDecorationNoSignedWrap = 4469, 490 SpvDecorationNoUnsignedWrap = 4470, 491 SpvDecorationExplicitInterpAMD = 4999, 492 SpvDecorationOverrideCoverageNV = 5248, 493 SpvDecorationPassthroughNV = 5250, 494 SpvDecorationViewportRelativeNV = 5252, 495 SpvDecorationSecondaryViewportRelativeNV = 5256, 496 SpvDecorationPerPrimitiveNV = 5271, 497 SpvDecorationPerViewNV = 5272, 498 SpvDecorationPerTaskNV = 5273, 499 SpvDecorationPerVertexNV = 5285, 500 SpvDecorationNonUniform = 5300, 501 SpvDecorationNonUniformEXT = 5300, 502 SpvDecorationRestrictPointer = 5355, 503 SpvDecorationRestrictPointerEXT = 5355, 504 SpvDecorationAliasedPointer = 5356, 505 SpvDecorationAliasedPointerEXT = 5356, 506 SpvDecorationSIMTCallINTEL = 5599, 507 SpvDecorationReferencedIndirectlyINTEL = 5602, 508 SpvDecorationClobberINTEL = 5607, 509 SpvDecorationSideEffectsINTEL = 5608, 510 SpvDecorationVectorComputeVariableINTEL = 5624, 511 SpvDecorationFuncParamIOKindINTEL = 5625, 512 SpvDecorationVectorComputeFunctionINTEL = 5626, 513 SpvDecorationStackCallINTEL = 5627, 514 SpvDecorationGlobalVariableOffsetINTEL = 5628, 515 SpvDecorationCounterBuffer = 5634, 516 SpvDecorationHlslCounterBufferGOOGLE = 5634, 517 SpvDecorationHlslSemanticGOOGLE = 5635, 518 SpvDecorationUserSemantic = 5635, 519 SpvDecorationUserTypeGOOGLE = 5636, 520 SpvDecorationFunctionRoundingModeINTEL = 5822, 521 SpvDecorationFunctionDenormModeINTEL = 5823, 522 SpvDecorationRegisterINTEL = 5825, 523 SpvDecorationMemoryINTEL = 5826, 524 SpvDecorationNumbanksINTEL = 5827, 525 SpvDecorationBankwidthINTEL = 5828, 526 SpvDecorationMaxPrivateCopiesINTEL = 5829, 527 SpvDecorationSinglepumpINTEL = 5830, 528 SpvDecorationDoublepumpINTEL = 5831, 529 SpvDecorationMaxReplicatesINTEL = 5832, 530 SpvDecorationSimpleDualPortINTEL = 5833, 531 SpvDecorationMergeINTEL = 5834, 532 SpvDecorationBankBitsINTEL = 5835, 533 SpvDecorationForcePow2DepthINTEL = 5836, 534 SpvDecorationBurstCoalesceINTEL = 5899, 535 SpvDecorationCacheSizeINTEL = 5900, 536 SpvDecorationDontStaticallyCoalesceINTEL = 5901, 537 SpvDecorationPrefetchINTEL = 5902, 538 SpvDecorationStallEnableINTEL = 5905, 539 SpvDecorationFuseLoopsInFunctionINTEL = 5907, 540 SpvDecorationBufferLocationINTEL = 5921, 541 SpvDecorationIOPipeStorageINTEL = 5944, 542 SpvDecorationFunctionFloatingPointModeINTEL = 6080, 543 SpvDecorationSingleElementVectorINTEL = 6085, 544 SpvDecorationVectorComputeCallableFunctionINTEL = 6087, 545 SpvDecorationMax = 0x7fffffff, 546} SpvDecoration; 547 548typedef enum SpvBuiltIn_ { 549 SpvBuiltInPosition = 0, 550 SpvBuiltInPointSize = 1, 551 SpvBuiltInClipDistance = 3, 552 SpvBuiltInCullDistance = 4, 553 SpvBuiltInVertexId = 5, 554 SpvBuiltInInstanceId = 6, 555 SpvBuiltInPrimitiveId = 7, 556 SpvBuiltInInvocationId = 8, 557 SpvBuiltInLayer = 9, 558 SpvBuiltInViewportIndex = 10, 559 SpvBuiltInTessLevelOuter = 11, 560 SpvBuiltInTessLevelInner = 12, 561 SpvBuiltInTessCoord = 13, 562 SpvBuiltInPatchVertices = 14, 563 SpvBuiltInFragCoord = 15, 564 SpvBuiltInPointCoord = 16, 565 SpvBuiltInFrontFacing = 17, 566 SpvBuiltInSampleId = 18, 567 SpvBuiltInSamplePosition = 19, 568 SpvBuiltInSampleMask = 20, 569 SpvBuiltInFragDepth = 22, 570 SpvBuiltInHelperInvocation = 23, 571 SpvBuiltInNumWorkgroups = 24, 572 SpvBuiltInWorkgroupSize = 25, 573 SpvBuiltInWorkgroupId = 26, 574 SpvBuiltInLocalInvocationId = 27, 575 SpvBuiltInGlobalInvocationId = 28, 576 SpvBuiltInLocalInvocationIndex = 29, 577 SpvBuiltInWorkDim = 30, 578 SpvBuiltInGlobalSize = 31, 579 SpvBuiltInEnqueuedWorkgroupSize = 32, 580 SpvBuiltInGlobalOffset = 33, 581 SpvBuiltInGlobalLinearId = 34, 582 SpvBuiltInSubgroupSize = 36, 583 SpvBuiltInSubgroupMaxSize = 37, 584 SpvBuiltInNumSubgroups = 38, 585 SpvBuiltInNumEnqueuedSubgroups = 39, 586 SpvBuiltInSubgroupId = 40, 587 SpvBuiltInSubgroupLocalInvocationId = 41, 588 SpvBuiltInVertexIndex = 42, 589 SpvBuiltInInstanceIndex = 43, 590 SpvBuiltInSubgroupEqMask = 4416, 591 SpvBuiltInSubgroupEqMaskKHR = 4416, 592 SpvBuiltInSubgroupGeMask = 4417, 593 SpvBuiltInSubgroupGeMaskKHR = 4417, 594 SpvBuiltInSubgroupGtMask = 4418, 595 SpvBuiltInSubgroupGtMaskKHR = 4418, 596 SpvBuiltInSubgroupLeMask = 4419, 597 SpvBuiltInSubgroupLeMaskKHR = 4419, 598 SpvBuiltInSubgroupLtMask = 4420, 599 SpvBuiltInSubgroupLtMaskKHR = 4420, 600 SpvBuiltInBaseVertex = 4424, 601 SpvBuiltInBaseInstance = 4425, 602 SpvBuiltInDrawIndex = 4426, 603 SpvBuiltInPrimitiveShadingRateKHR = 4432, 604 SpvBuiltInDeviceIndex = 4438, 605 SpvBuiltInViewIndex = 4440, 606 SpvBuiltInShadingRateKHR = 4444, 607 SpvBuiltInBaryCoordNoPerspAMD = 4992, 608 SpvBuiltInBaryCoordNoPerspCentroidAMD = 4993, 609 SpvBuiltInBaryCoordNoPerspSampleAMD = 4994, 610 SpvBuiltInBaryCoordSmoothAMD = 4995, 611 SpvBuiltInBaryCoordSmoothCentroidAMD = 4996, 612 SpvBuiltInBaryCoordSmoothSampleAMD = 4997, 613 SpvBuiltInBaryCoordPullModelAMD = 4998, 614 SpvBuiltInFragStencilRefEXT = 5014, 615 SpvBuiltInViewportMaskNV = 5253, 616 SpvBuiltInSecondaryPositionNV = 5257, 617 SpvBuiltInSecondaryViewportMaskNV = 5258, 618 SpvBuiltInPositionPerViewNV = 5261, 619 SpvBuiltInViewportMaskPerViewNV = 5262, 620 SpvBuiltInFullyCoveredEXT = 5264, 621 SpvBuiltInTaskCountNV = 5274, 622 SpvBuiltInPrimitiveCountNV = 5275, 623 SpvBuiltInPrimitiveIndicesNV = 5276, 624 SpvBuiltInClipDistancePerViewNV = 5277, 625 SpvBuiltInCullDistancePerViewNV = 5278, 626 SpvBuiltInLayerPerViewNV = 5279, 627 SpvBuiltInMeshViewCountNV = 5280, 628 SpvBuiltInMeshViewIndicesNV = 5281, 629 SpvBuiltInBaryCoordNV = 5286, 630 SpvBuiltInBaryCoordNoPerspNV = 5287, 631 SpvBuiltInFragSizeEXT = 5292, 632 SpvBuiltInFragmentSizeNV = 5292, 633 SpvBuiltInFragInvocationCountEXT = 5293, 634 SpvBuiltInInvocationsPerPixelNV = 5293, 635 SpvBuiltInLaunchIdKHR = 5319, 636 SpvBuiltInLaunchIdNV = 5319, 637 SpvBuiltInLaunchSizeKHR = 5320, 638 SpvBuiltInLaunchSizeNV = 5320, 639 SpvBuiltInWorldRayOriginKHR = 5321, 640 SpvBuiltInWorldRayOriginNV = 5321, 641 SpvBuiltInWorldRayDirectionKHR = 5322, 642 SpvBuiltInWorldRayDirectionNV = 5322, 643 SpvBuiltInObjectRayOriginKHR = 5323, 644 SpvBuiltInObjectRayOriginNV = 5323, 645 SpvBuiltInObjectRayDirectionKHR = 5324, 646 SpvBuiltInObjectRayDirectionNV = 5324, 647 SpvBuiltInRayTminKHR = 5325, 648 SpvBuiltInRayTminNV = 5325, 649 SpvBuiltInRayTmaxKHR = 5326, 650 SpvBuiltInRayTmaxNV = 5326, 651 SpvBuiltInInstanceCustomIndexKHR = 5327, 652 SpvBuiltInInstanceCustomIndexNV = 5327, 653 SpvBuiltInObjectToWorldKHR = 5330, 654 SpvBuiltInObjectToWorldNV = 5330, 655 SpvBuiltInWorldToObjectKHR = 5331, 656 SpvBuiltInWorldToObjectNV = 5331, 657 SpvBuiltInHitTNV = 5332, 658 SpvBuiltInHitKindKHR = 5333, 659 SpvBuiltInHitKindNV = 5333, 660 SpvBuiltInIncomingRayFlagsKHR = 5351, 661 SpvBuiltInIncomingRayFlagsNV = 5351, 662 SpvBuiltInRayGeometryIndexKHR = 5352, 663 SpvBuiltInWarpsPerSMNV = 5374, 664 SpvBuiltInSMCountNV = 5375, 665 SpvBuiltInWarpIDNV = 5376, 666 SpvBuiltInSMIDNV = 5377, 667 SpvBuiltInMax = 0x7fffffff, 668} SpvBuiltIn; 669 670typedef enum SpvSelectionControlShift_ { 671 SpvSelectionControlFlattenShift = 0, 672 SpvSelectionControlDontFlattenShift = 1, 673 SpvSelectionControlMax = 0x7fffffff, 674} SpvSelectionControlShift; 675 676typedef enum SpvSelectionControlMask_ { 677 SpvSelectionControlMaskNone = 0, 678 SpvSelectionControlFlattenMask = 0x00000001, 679 SpvSelectionControlDontFlattenMask = 0x00000002, 680} SpvSelectionControlMask; 681 682typedef enum SpvLoopControlShift_ { 683 SpvLoopControlUnrollShift = 0, 684 SpvLoopControlDontUnrollShift = 1, 685 SpvLoopControlDependencyInfiniteShift = 2, 686 SpvLoopControlDependencyLengthShift = 3, 687 SpvLoopControlMinIterationsShift = 4, 688 SpvLoopControlMaxIterationsShift = 5, 689 SpvLoopControlIterationMultipleShift = 6, 690 SpvLoopControlPeelCountShift = 7, 691 SpvLoopControlPartialCountShift = 8, 692 SpvLoopControlInitiationIntervalINTELShift = 16, 693 SpvLoopControlMaxConcurrencyINTELShift = 17, 694 SpvLoopControlDependencyArrayINTELShift = 18, 695 SpvLoopControlPipelineEnableINTELShift = 19, 696 SpvLoopControlLoopCoalesceINTELShift = 20, 697 SpvLoopControlMaxInterleavingINTELShift = 21, 698 SpvLoopControlSpeculatedIterationsINTELShift = 22, 699 SpvLoopControlNoFusionINTELShift = 23, 700 SpvLoopControlMax = 0x7fffffff, 701} SpvLoopControlShift; 702 703typedef enum SpvLoopControlMask_ { 704 SpvLoopControlMaskNone = 0, 705 SpvLoopControlUnrollMask = 0x00000001, 706 SpvLoopControlDontUnrollMask = 0x00000002, 707 SpvLoopControlDependencyInfiniteMask = 0x00000004, 708 SpvLoopControlDependencyLengthMask = 0x00000008, 709 SpvLoopControlMinIterationsMask = 0x00000010, 710 SpvLoopControlMaxIterationsMask = 0x00000020, 711 SpvLoopControlIterationMultipleMask = 0x00000040, 712 SpvLoopControlPeelCountMask = 0x00000080, 713 SpvLoopControlPartialCountMask = 0x00000100, 714 SpvLoopControlInitiationIntervalINTELMask = 0x00010000, 715 SpvLoopControlMaxConcurrencyINTELMask = 0x00020000, 716 SpvLoopControlDependencyArrayINTELMask = 0x00040000, 717 SpvLoopControlPipelineEnableINTELMask = 0x00080000, 718 SpvLoopControlLoopCoalesceINTELMask = 0x00100000, 719 SpvLoopControlMaxInterleavingINTELMask = 0x00200000, 720 SpvLoopControlSpeculatedIterationsINTELMask = 0x00400000, 721 SpvLoopControlNoFusionINTELMask = 0x00800000, 722} SpvLoopControlMask; 723 724typedef enum SpvFunctionControlShift_ { 725 SpvFunctionControlInlineShift = 0, 726 SpvFunctionControlDontInlineShift = 1, 727 SpvFunctionControlPureShift = 2, 728 SpvFunctionControlConstShift = 3, 729 SpvFunctionControlOptNoneINTELShift = 16, 730 SpvFunctionControlMax = 0x7fffffff, 731} SpvFunctionControlShift; 732 733typedef enum SpvFunctionControlMask_ { 734 SpvFunctionControlMaskNone = 0, 735 SpvFunctionControlInlineMask = 0x00000001, 736 SpvFunctionControlDontInlineMask = 0x00000002, 737 SpvFunctionControlPureMask = 0x00000004, 738 SpvFunctionControlConstMask = 0x00000008, 739 SpvFunctionControlOptNoneINTELMask = 0x00010000, 740} SpvFunctionControlMask; 741 742typedef enum SpvMemorySemanticsShift_ { 743 SpvMemorySemanticsAcquireShift = 1, 744 SpvMemorySemanticsReleaseShift = 2, 745 SpvMemorySemanticsAcquireReleaseShift = 3, 746 SpvMemorySemanticsSequentiallyConsistentShift = 4, 747 SpvMemorySemanticsUniformMemoryShift = 6, 748 SpvMemorySemanticsSubgroupMemoryShift = 7, 749 SpvMemorySemanticsWorkgroupMemoryShift = 8, 750 SpvMemorySemanticsCrossWorkgroupMemoryShift = 9, 751 SpvMemorySemanticsAtomicCounterMemoryShift = 10, 752 SpvMemorySemanticsImageMemoryShift = 11, 753 SpvMemorySemanticsOutputMemoryShift = 12, 754 SpvMemorySemanticsOutputMemoryKHRShift = 12, 755 SpvMemorySemanticsMakeAvailableShift = 13, 756 SpvMemorySemanticsMakeAvailableKHRShift = 13, 757 SpvMemorySemanticsMakeVisibleShift = 14, 758 SpvMemorySemanticsMakeVisibleKHRShift = 14, 759 SpvMemorySemanticsVolatileShift = 15, 760 SpvMemorySemanticsMax = 0x7fffffff, 761} SpvMemorySemanticsShift; 762 763typedef enum SpvMemorySemanticsMask_ { 764 SpvMemorySemanticsMaskNone = 0, 765 SpvMemorySemanticsAcquireMask = 0x00000002, 766 SpvMemorySemanticsReleaseMask = 0x00000004, 767 SpvMemorySemanticsAcquireReleaseMask = 0x00000008, 768 SpvMemorySemanticsSequentiallyConsistentMask = 0x00000010, 769 SpvMemorySemanticsUniformMemoryMask = 0x00000040, 770 SpvMemorySemanticsSubgroupMemoryMask = 0x00000080, 771 SpvMemorySemanticsWorkgroupMemoryMask = 0x00000100, 772 SpvMemorySemanticsCrossWorkgroupMemoryMask = 0x00000200, 773 SpvMemorySemanticsAtomicCounterMemoryMask = 0x00000400, 774 SpvMemorySemanticsImageMemoryMask = 0x00000800, 775 SpvMemorySemanticsOutputMemoryMask = 0x00001000, 776 SpvMemorySemanticsOutputMemoryKHRMask = 0x00001000, 777 SpvMemorySemanticsMakeAvailableMask = 0x00002000, 778 SpvMemorySemanticsMakeAvailableKHRMask = 0x00002000, 779 SpvMemorySemanticsMakeVisibleMask = 0x00004000, 780 SpvMemorySemanticsMakeVisibleKHRMask = 0x00004000, 781 SpvMemorySemanticsVolatileMask = 0x00008000, 782} SpvMemorySemanticsMask; 783 784typedef enum SpvMemoryAccessShift_ { 785 SpvMemoryAccessVolatileShift = 0, 786 SpvMemoryAccessAlignedShift = 1, 787 SpvMemoryAccessNontemporalShift = 2, 788 SpvMemoryAccessMakePointerAvailableShift = 3, 789 SpvMemoryAccessMakePointerAvailableKHRShift = 3, 790 SpvMemoryAccessMakePointerVisibleShift = 4, 791 SpvMemoryAccessMakePointerVisibleKHRShift = 4, 792 SpvMemoryAccessNonPrivatePointerShift = 5, 793 SpvMemoryAccessNonPrivatePointerKHRShift = 5, 794 SpvMemoryAccessMax = 0x7fffffff, 795} SpvMemoryAccessShift; 796 797typedef enum SpvMemoryAccessMask_ { 798 SpvMemoryAccessMaskNone = 0, 799 SpvMemoryAccessVolatileMask = 0x00000001, 800 SpvMemoryAccessAlignedMask = 0x00000002, 801 SpvMemoryAccessNontemporalMask = 0x00000004, 802 SpvMemoryAccessMakePointerAvailableMask = 0x00000008, 803 SpvMemoryAccessMakePointerAvailableKHRMask = 0x00000008, 804 SpvMemoryAccessMakePointerVisibleMask = 0x00000010, 805 SpvMemoryAccessMakePointerVisibleKHRMask = 0x00000010, 806 SpvMemoryAccessNonPrivatePointerMask = 0x00000020, 807 SpvMemoryAccessNonPrivatePointerKHRMask = 0x00000020, 808} SpvMemoryAccessMask; 809 810typedef enum SpvScope_ { 811 SpvScopeCrossDevice = 0, 812 SpvScopeDevice = 1, 813 SpvScopeWorkgroup = 2, 814 SpvScopeSubgroup = 3, 815 SpvScopeInvocation = 4, 816 SpvScopeQueueFamily = 5, 817 SpvScopeQueueFamilyKHR = 5, 818 SpvScopeShaderCallKHR = 6, 819 SpvScopeMax = 0x7fffffff, 820} SpvScope; 821 822typedef enum SpvGroupOperation_ { 823 SpvGroupOperationReduce = 0, 824 SpvGroupOperationInclusiveScan = 1, 825 SpvGroupOperationExclusiveScan = 2, 826 SpvGroupOperationClusteredReduce = 3, 827 SpvGroupOperationPartitionedReduceNV = 6, 828 SpvGroupOperationPartitionedInclusiveScanNV = 7, 829 SpvGroupOperationPartitionedExclusiveScanNV = 8, 830 SpvGroupOperationMax = 0x7fffffff, 831} SpvGroupOperation; 832 833typedef enum SpvKernelEnqueueFlags_ { 834 SpvKernelEnqueueFlagsNoWait = 0, 835 SpvKernelEnqueueFlagsWaitKernel = 1, 836 SpvKernelEnqueueFlagsWaitWorkGroup = 2, 837 SpvKernelEnqueueFlagsMax = 0x7fffffff, 838} SpvKernelEnqueueFlags; 839 840typedef enum SpvKernelProfilingInfoShift_ { 841 SpvKernelProfilingInfoCmdExecTimeShift = 0, 842 SpvKernelProfilingInfoMax = 0x7fffffff, 843} SpvKernelProfilingInfoShift; 844 845typedef enum SpvKernelProfilingInfoMask_ { 846 SpvKernelProfilingInfoMaskNone = 0, 847 SpvKernelProfilingInfoCmdExecTimeMask = 0x00000001, 848} SpvKernelProfilingInfoMask; 849 850typedef enum SpvCapability_ { 851 SpvCapabilityMatrix = 0, 852 SpvCapabilityShader = 1, 853 SpvCapabilityGeometry = 2, 854 SpvCapabilityTessellation = 3, 855 SpvCapabilityAddresses = 4, 856 SpvCapabilityLinkage = 5, 857 SpvCapabilityKernel = 6, 858 SpvCapabilityVector16 = 7, 859 SpvCapabilityFloat16Buffer = 8, 860 SpvCapabilityFloat16 = 9, 861 SpvCapabilityFloat64 = 10, 862 SpvCapabilityInt64 = 11, 863 SpvCapabilityInt64Atomics = 12, 864 SpvCapabilityImageBasic = 13, 865 SpvCapabilityImageReadWrite = 14, 866 SpvCapabilityImageMipmap = 15, 867 SpvCapabilityPipes = 17, 868 SpvCapabilityGroups = 18, 869 SpvCapabilityDeviceEnqueue = 19, 870 SpvCapabilityLiteralSampler = 20, 871 SpvCapabilityAtomicStorage = 21, 872 SpvCapabilityInt16 = 22, 873 SpvCapabilityTessellationPointSize = 23, 874 SpvCapabilityGeometryPointSize = 24, 875 SpvCapabilityImageGatherExtended = 25, 876 SpvCapabilityStorageImageMultisample = 27, 877 SpvCapabilityUniformBufferArrayDynamicIndexing = 28, 878 SpvCapabilitySampledImageArrayDynamicIndexing = 29, 879 SpvCapabilityStorageBufferArrayDynamicIndexing = 30, 880 SpvCapabilityStorageImageArrayDynamicIndexing = 31, 881 SpvCapabilityClipDistance = 32, 882 SpvCapabilityCullDistance = 33, 883 SpvCapabilityImageCubeArray = 34, 884 SpvCapabilitySampleRateShading = 35, 885 SpvCapabilityImageRect = 36, 886 SpvCapabilitySampledRect = 37, 887 SpvCapabilityGenericPointer = 38, 888 SpvCapabilityInt8 = 39, 889 SpvCapabilityInputAttachment = 40, 890 SpvCapabilitySparseResidency = 41, 891 SpvCapabilityMinLod = 42, 892 SpvCapabilitySampled1D = 43, 893 SpvCapabilityImage1D = 44, 894 SpvCapabilitySampledCubeArray = 45, 895 SpvCapabilitySampledBuffer = 46, 896 SpvCapabilityImageBuffer = 47, 897 SpvCapabilityImageMSArray = 48, 898 SpvCapabilityStorageImageExtendedFormats = 49, 899 SpvCapabilityImageQuery = 50, 900 SpvCapabilityDerivativeControl = 51, 901 SpvCapabilityInterpolationFunction = 52, 902 SpvCapabilityTransformFeedback = 53, 903 SpvCapabilityGeometryStreams = 54, 904 SpvCapabilityStorageImageReadWithoutFormat = 55, 905 SpvCapabilityStorageImageWriteWithoutFormat = 56, 906 SpvCapabilityMultiViewport = 57, 907 SpvCapabilitySubgroupDispatch = 58, 908 SpvCapabilityNamedBarrier = 59, 909 SpvCapabilityPipeStorage = 60, 910 SpvCapabilityGroupNonUniform = 61, 911 SpvCapabilityGroupNonUniformVote = 62, 912 SpvCapabilityGroupNonUniformArithmetic = 63, 913 SpvCapabilityGroupNonUniformBallot = 64, 914 SpvCapabilityGroupNonUniformShuffle = 65, 915 SpvCapabilityGroupNonUniformShuffleRelative = 66, 916 SpvCapabilityGroupNonUniformClustered = 67, 917 SpvCapabilityGroupNonUniformQuad = 68, 918 SpvCapabilityShaderLayer = 69, 919 SpvCapabilityShaderViewportIndex = 70, 920 SpvCapabilityFragmentShadingRateKHR = 4422, 921 SpvCapabilitySubgroupBallotKHR = 4423, 922 SpvCapabilityDrawParameters = 4427, 923 SpvCapabilityWorkgroupMemoryExplicitLayoutKHR = 4428, 924 SpvCapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR = 4429, 925 SpvCapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR = 4430, 926 SpvCapabilitySubgroupVoteKHR = 4431, 927 SpvCapabilityStorageBuffer16BitAccess = 4433, 928 SpvCapabilityStorageUniformBufferBlock16 = 4433, 929 SpvCapabilityStorageUniform16 = 4434, 930 SpvCapabilityUniformAndStorageBuffer16BitAccess = 4434, 931 SpvCapabilityStoragePushConstant16 = 4435, 932 SpvCapabilityStorageInputOutput16 = 4436, 933 SpvCapabilityDeviceGroup = 4437, 934 SpvCapabilityMultiView = 4439, 935 SpvCapabilityVariablePointersStorageBuffer = 4441, 936 SpvCapabilityVariablePointers = 4442, 937 SpvCapabilityAtomicStorageOps = 4445, 938 SpvCapabilitySampleMaskPostDepthCoverage = 4447, 939 SpvCapabilityStorageBuffer8BitAccess = 4448, 940 SpvCapabilityUniformAndStorageBuffer8BitAccess = 4449, 941 SpvCapabilityStoragePushConstant8 = 4450, 942 SpvCapabilityDenormPreserve = 4464, 943 SpvCapabilityDenormFlushToZero = 4465, 944 SpvCapabilitySignedZeroInfNanPreserve = 4466, 945 SpvCapabilityRoundingModeRTE = 4467, 946 SpvCapabilityRoundingModeRTZ = 4468, 947 SpvCapabilityRayQueryProvisionalKHR = 4471, 948 SpvCapabilityRayQueryKHR = 4472, 949 SpvCapabilityRayTraversalPrimitiveCullingKHR = 4478, 950 SpvCapabilityRayTracingKHR = 4479, 951 SpvCapabilityFloat16ImageAMD = 5008, 952 SpvCapabilityImageGatherBiasLodAMD = 5009, 953 SpvCapabilityFragmentMaskAMD = 5010, 954 SpvCapabilityStencilExportEXT = 5013, 955 SpvCapabilityImageReadWriteLodAMD = 5015, 956 SpvCapabilityInt64ImageEXT = 5016, 957 SpvCapabilityShaderClockKHR = 5055, 958 SpvCapabilitySampleMaskOverrideCoverageNV = 5249, 959 SpvCapabilityGeometryShaderPassthroughNV = 5251, 960 SpvCapabilityShaderViewportIndexLayerEXT = 5254, 961 SpvCapabilityShaderViewportIndexLayerNV = 5254, 962 SpvCapabilityShaderViewportMaskNV = 5255, 963 SpvCapabilityShaderStereoViewNV = 5259, 964 SpvCapabilityPerViewAttributesNV = 5260, 965 SpvCapabilityFragmentFullyCoveredEXT = 5265, 966 SpvCapabilityMeshShadingNV = 5266, 967 SpvCapabilityImageFootprintNV = 5282, 968 SpvCapabilityFragmentBarycentricNV = 5284, 969 SpvCapabilityComputeDerivativeGroupQuadsNV = 5288, 970 SpvCapabilityFragmentDensityEXT = 5291, 971 SpvCapabilityShadingRateNV = 5291, 972 SpvCapabilityGroupNonUniformPartitionedNV = 5297, 973 SpvCapabilityShaderNonUniform = 5301, 974 SpvCapabilityShaderNonUniformEXT = 5301, 975 SpvCapabilityRuntimeDescriptorArray = 5302, 976 SpvCapabilityRuntimeDescriptorArrayEXT = 5302, 977 SpvCapabilityInputAttachmentArrayDynamicIndexing = 5303, 978 SpvCapabilityInputAttachmentArrayDynamicIndexingEXT = 5303, 979 SpvCapabilityUniformTexelBufferArrayDynamicIndexing = 5304, 980 SpvCapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304, 981 SpvCapabilityStorageTexelBufferArrayDynamicIndexing = 5305, 982 SpvCapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305, 983 SpvCapabilityUniformBufferArrayNonUniformIndexing = 5306, 984 SpvCapabilityUniformBufferArrayNonUniformIndexingEXT = 5306, 985 SpvCapabilitySampledImageArrayNonUniformIndexing = 5307, 986 SpvCapabilitySampledImageArrayNonUniformIndexingEXT = 5307, 987 SpvCapabilityStorageBufferArrayNonUniformIndexing = 5308, 988 SpvCapabilityStorageBufferArrayNonUniformIndexingEXT = 5308, 989 SpvCapabilityStorageImageArrayNonUniformIndexing = 5309, 990 SpvCapabilityStorageImageArrayNonUniformIndexingEXT = 5309, 991 SpvCapabilityInputAttachmentArrayNonUniformIndexing = 5310, 992 SpvCapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310, 993 SpvCapabilityUniformTexelBufferArrayNonUniformIndexing = 5311, 994 SpvCapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311, 995 SpvCapabilityStorageTexelBufferArrayNonUniformIndexing = 5312, 996 SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312, 997 SpvCapabilityRayTracingNV = 5340, 998 SpvCapabilityVulkanMemoryModel = 5345, 999 SpvCapabilityVulkanMemoryModelKHR = 5345, 1000 SpvCapabilityVulkanMemoryModelDeviceScope = 5346, 1001 SpvCapabilityVulkanMemoryModelDeviceScopeKHR = 5346, 1002 SpvCapabilityPhysicalStorageBufferAddresses = 5347, 1003 SpvCapabilityPhysicalStorageBufferAddressesEXT = 5347, 1004 SpvCapabilityComputeDerivativeGroupLinearNV = 5350, 1005 SpvCapabilityRayTracingProvisionalKHR = 5353, 1006 SpvCapabilityCooperativeMatrixNV = 5357, 1007 SpvCapabilityFragmentShaderSampleInterlockEXT = 5363, 1008 SpvCapabilityFragmentShaderShadingRateInterlockEXT = 5372, 1009 SpvCapabilityShaderSMBuiltinsNV = 5373, 1010 SpvCapabilityFragmentShaderPixelInterlockEXT = 5378, 1011 SpvCapabilityDemoteToHelperInvocationEXT = 5379, 1012 SpvCapabilitySubgroupShuffleINTEL = 5568, 1013 SpvCapabilitySubgroupBufferBlockIOINTEL = 5569, 1014 SpvCapabilitySubgroupImageBlockIOINTEL = 5570, 1015 SpvCapabilitySubgroupImageMediaBlockIOINTEL = 5579, 1016 SpvCapabilityRoundToInfinityINTEL = 5582, 1017 SpvCapabilityFloatingPointModeINTEL = 5583, 1018 SpvCapabilityIntegerFunctions2INTEL = 5584, 1019 SpvCapabilityFunctionPointersINTEL = 5603, 1020 SpvCapabilityIndirectReferencesINTEL = 5604, 1021 SpvCapabilityAsmINTEL = 5606, 1022 SpvCapabilityAtomicFloat32MinMaxEXT = 5612, 1023 SpvCapabilityAtomicFloat64MinMaxEXT = 5613, 1024 SpvCapabilityAtomicFloat16MinMaxEXT = 5616, 1025 SpvCapabilityVectorComputeINTEL = 5617, 1026 SpvCapabilityVectorAnyINTEL = 5619, 1027 SpvCapabilityExpectAssumeKHR = 5629, 1028 SpvCapabilitySubgroupAvcMotionEstimationINTEL = 5696, 1029 SpvCapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697, 1030 SpvCapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698, 1031 SpvCapabilityVariableLengthArrayINTEL = 5817, 1032 SpvCapabilityFunctionFloatControlINTEL = 5821, 1033 SpvCapabilityFPGAMemoryAttributesINTEL = 5824, 1034 SpvCapabilityFPFastMathModeINTEL = 5837, 1035 SpvCapabilityArbitraryPrecisionIntegersINTEL = 5844, 1036 SpvCapabilityArbitraryPrecisionFloatingPointINTEL = 5845, 1037 SpvCapabilityUnstructuredLoopControlsINTEL = 5886, 1038 SpvCapabilityFPGALoopControlsINTEL = 5888, 1039 SpvCapabilityKernelAttributesINTEL = 5892, 1040 SpvCapabilityFPGAKernelAttributesINTEL = 5897, 1041 SpvCapabilityFPGAMemoryAccessesINTEL = 5898, 1042 SpvCapabilityFPGAClusterAttributesINTEL = 5904, 1043 SpvCapabilityLoopFuseINTEL = 5906, 1044 SpvCapabilityFPGABufferLocationINTEL = 5920, 1045 SpvCapabilityArbitraryPrecisionFixedPointINTEL = 5922, 1046 SpvCapabilityUSMStorageClassesINTEL = 5935, 1047 SpvCapabilityIOPipesINTEL = 5943, 1048 SpvCapabilityBlockingPipesINTEL = 5945, 1049 SpvCapabilityFPGARegINTEL = 5948, 1050 SpvCapabilityDotProductInputAllKHR = 6016, 1051 SpvCapabilityDotProductInput4x8BitKHR = 6017, 1052 SpvCapabilityDotProductInput4x8BitPackedKHR = 6018, 1053 SpvCapabilityDotProductKHR = 6019, 1054 SpvCapabilityBitInstructions = 6025, 1055 SpvCapabilityAtomicFloat32AddEXT = 6033, 1056 SpvCapabilityAtomicFloat64AddEXT = 6034, 1057 SpvCapabilityLongConstantCompositeINTEL = 6089, 1058 SpvCapabilityOptNoneINTEL = 6094, 1059 SpvCapabilityAtomicFloat16AddEXT = 6095, 1060 SpvCapabilityDebugInfoModuleINTEL = 6114, 1061 SpvCapabilityMax = 0x7fffffff, 1062} SpvCapability; 1063 1064typedef enum SpvRayFlagsShift_ { 1065 SpvRayFlagsOpaqueKHRShift = 0, 1066 SpvRayFlagsNoOpaqueKHRShift = 1, 1067 SpvRayFlagsTerminateOnFirstHitKHRShift = 2, 1068 SpvRayFlagsSkipClosestHitShaderKHRShift = 3, 1069 SpvRayFlagsCullBackFacingTrianglesKHRShift = 4, 1070 SpvRayFlagsCullFrontFacingTrianglesKHRShift = 5, 1071 SpvRayFlagsCullOpaqueKHRShift = 6, 1072 SpvRayFlagsCullNoOpaqueKHRShift = 7, 1073 SpvRayFlagsSkipTrianglesKHRShift = 8, 1074 SpvRayFlagsSkipAABBsKHRShift = 9, 1075 SpvRayFlagsMax = 0x7fffffff, 1076} SpvRayFlagsShift; 1077 1078typedef enum SpvRayFlagsMask_ { 1079 SpvRayFlagsMaskNone = 0, 1080 SpvRayFlagsOpaqueKHRMask = 0x00000001, 1081 SpvRayFlagsNoOpaqueKHRMask = 0x00000002, 1082 SpvRayFlagsTerminateOnFirstHitKHRMask = 0x00000004, 1083 SpvRayFlagsSkipClosestHitShaderKHRMask = 0x00000008, 1084 SpvRayFlagsCullBackFacingTrianglesKHRMask = 0x00000010, 1085 SpvRayFlagsCullFrontFacingTrianglesKHRMask = 0x00000020, 1086 SpvRayFlagsCullOpaqueKHRMask = 0x00000040, 1087 SpvRayFlagsCullNoOpaqueKHRMask = 0x00000080, 1088 SpvRayFlagsSkipTrianglesKHRMask = 0x00000100, 1089 SpvRayFlagsSkipAABBsKHRMask = 0x00000200, 1090} SpvRayFlagsMask; 1091 1092typedef enum SpvRayQueryIntersection_ { 1093 SpvRayQueryIntersectionRayQueryCandidateIntersectionKHR = 0, 1094 SpvRayQueryIntersectionRayQueryCommittedIntersectionKHR = 1, 1095 SpvRayQueryIntersectionMax = 0x7fffffff, 1096} SpvRayQueryIntersection; 1097 1098typedef enum SpvRayQueryCommittedIntersectionType_ { 1099 SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR = 0, 1100 SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR = 1, 1101 SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR = 2, 1102 SpvRayQueryCommittedIntersectionTypeMax = 0x7fffffff, 1103} SpvRayQueryCommittedIntersectionType; 1104 1105typedef enum SpvRayQueryCandidateIntersectionType_ { 1106 SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR = 0, 1107 SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR = 1, 1108 SpvRayQueryCandidateIntersectionTypeMax = 0x7fffffff, 1109} SpvRayQueryCandidateIntersectionType; 1110 1111typedef enum SpvFragmentShadingRateShift_ { 1112 SpvFragmentShadingRateVertical2PixelsShift = 0, 1113 SpvFragmentShadingRateVertical4PixelsShift = 1, 1114 SpvFragmentShadingRateHorizontal2PixelsShift = 2, 1115 SpvFragmentShadingRateHorizontal4PixelsShift = 3, 1116 SpvFragmentShadingRateMax = 0x7fffffff, 1117} SpvFragmentShadingRateShift; 1118 1119typedef enum SpvFragmentShadingRateMask_ { 1120 SpvFragmentShadingRateMaskNone = 0, 1121 SpvFragmentShadingRateVertical2PixelsMask = 0x00000001, 1122 SpvFragmentShadingRateVertical4PixelsMask = 0x00000002, 1123 SpvFragmentShadingRateHorizontal2PixelsMask = 0x00000004, 1124 SpvFragmentShadingRateHorizontal4PixelsMask = 0x00000008, 1125} SpvFragmentShadingRateMask; 1126 1127typedef enum SpvFPDenormMode_ { 1128 SpvFPDenormModePreserve = 0, 1129 SpvFPDenormModeFlushToZero = 1, 1130 SpvFPDenormModeMax = 0x7fffffff, 1131} SpvFPDenormMode; 1132 1133typedef enum SpvFPOperationMode_ { 1134 SpvFPOperationModeIEEE = 0, 1135 SpvFPOperationModeALT = 1, 1136 SpvFPOperationModeMax = 0x7fffffff, 1137} SpvFPOperationMode; 1138 1139typedef enum SpvQuantizationModes_ { 1140 SpvQuantizationModesTRN = 0, 1141 SpvQuantizationModesTRN_ZERO = 1, 1142 SpvQuantizationModesRND = 2, 1143 SpvQuantizationModesRND_ZERO = 3, 1144 SpvQuantizationModesRND_INF = 4, 1145 SpvQuantizationModesRND_MIN_INF = 5, 1146 SpvQuantizationModesRND_CONV = 6, 1147 SpvQuantizationModesRND_CONV_ODD = 7, 1148 SpvQuantizationModesMax = 0x7fffffff, 1149} SpvQuantizationModes; 1150 1151typedef enum SpvOverflowModes_ { 1152 SpvOverflowModesWRAP = 0, 1153 SpvOverflowModesSAT = 1, 1154 SpvOverflowModesSAT_ZERO = 2, 1155 SpvOverflowModesSAT_SYM = 3, 1156 SpvOverflowModesMax = 0x7fffffff, 1157} SpvOverflowModes; 1158 1159typedef enum SpvPackedVectorFormat_ { 1160 SpvPackedVectorFormatPackedVectorFormat4x8BitKHR = 0, 1161 SpvPackedVectorFormatMax = 0x7fffffff, 1162} SpvPackedVectorFormat; 1163 1164typedef enum SpvOp_ { 1165 SpvOpNop = 0, 1166 SpvOpUndef = 1, 1167 SpvOpSourceContinued = 2, 1168 SpvOpSource = 3, 1169 SpvOpSourceExtension = 4, 1170 SpvOpName = 5, 1171 SpvOpMemberName = 6, 1172 SpvOpString = 7, 1173 SpvOpLine = 8, 1174 SpvOpExtension = 10, 1175 SpvOpExtInstImport = 11, 1176 SpvOpExtInst = 12, 1177 SpvOpMemoryModel = 14, 1178 SpvOpEntryPoint = 15, 1179 SpvOpExecutionMode = 16, 1180 SpvOpCapability = 17, 1181 SpvOpTypeVoid = 19, 1182 SpvOpTypeBool = 20, 1183 SpvOpTypeInt = 21, 1184 SpvOpTypeFloat = 22, 1185 SpvOpTypeVector = 23, 1186 SpvOpTypeMatrix = 24, 1187 SpvOpTypeImage = 25, 1188 SpvOpTypeSampler = 26, 1189 SpvOpTypeSampledImage = 27, 1190 SpvOpTypeArray = 28, 1191 SpvOpTypeRuntimeArray = 29, 1192 SpvOpTypeStruct = 30, 1193 SpvOpTypeOpaque = 31, 1194 SpvOpTypePointer = 32, 1195 SpvOpTypeFunction = 33, 1196 SpvOpTypeEvent = 34, 1197 SpvOpTypeDeviceEvent = 35, 1198 SpvOpTypeReserveId = 36, 1199 SpvOpTypeQueue = 37, 1200 SpvOpTypePipe = 38, 1201 SpvOpTypeForwardPointer = 39, 1202 SpvOpConstantTrue = 41, 1203 SpvOpConstantFalse = 42, 1204 SpvOpConstant = 43, 1205 SpvOpConstantComposite = 44, 1206 SpvOpConstantSampler = 45, 1207 SpvOpConstantNull = 46, 1208 SpvOpSpecConstantTrue = 48, 1209 SpvOpSpecConstantFalse = 49, 1210 SpvOpSpecConstant = 50, 1211 SpvOpSpecConstantComposite = 51, 1212 SpvOpSpecConstantOp = 52, 1213 SpvOpFunction = 54, 1214 SpvOpFunctionParameter = 55, 1215 SpvOpFunctionEnd = 56, 1216 SpvOpFunctionCall = 57, 1217 SpvOpVariable = 59, 1218 SpvOpImageTexelPointer = 60, 1219 SpvOpLoad = 61, 1220 SpvOpStore = 62, 1221 SpvOpCopyMemory = 63, 1222 SpvOpCopyMemorySized = 64, 1223 SpvOpAccessChain = 65, 1224 SpvOpInBoundsAccessChain = 66, 1225 SpvOpPtrAccessChain = 67, 1226 SpvOpArrayLength = 68, 1227 SpvOpGenericPtrMemSemantics = 69, 1228 SpvOpInBoundsPtrAccessChain = 70, 1229 SpvOpDecorate = 71, 1230 SpvOpMemberDecorate = 72, 1231 SpvOpDecorationGroup = 73, 1232 SpvOpGroupDecorate = 74, 1233 SpvOpGroupMemberDecorate = 75, 1234 SpvOpVectorExtractDynamic = 77, 1235 SpvOpVectorInsertDynamic = 78, 1236 SpvOpVectorShuffle = 79, 1237 SpvOpCompositeConstruct = 80, 1238 SpvOpCompositeExtract = 81, 1239 SpvOpCompositeInsert = 82, 1240 SpvOpCopyObject = 83, 1241 SpvOpTranspose = 84, 1242 SpvOpSampledImage = 86, 1243 SpvOpImageSampleImplicitLod = 87, 1244 SpvOpImageSampleExplicitLod = 88, 1245 SpvOpImageSampleDrefImplicitLod = 89, 1246 SpvOpImageSampleDrefExplicitLod = 90, 1247 SpvOpImageSampleProjImplicitLod = 91, 1248 SpvOpImageSampleProjExplicitLod = 92, 1249 SpvOpImageSampleProjDrefImplicitLod = 93, 1250 SpvOpImageSampleProjDrefExplicitLod = 94, 1251 SpvOpImageFetch = 95, 1252 SpvOpImageGather = 96, 1253 SpvOpImageDrefGather = 97, 1254 SpvOpImageRead = 98, 1255 SpvOpImageWrite = 99, 1256 SpvOpImage = 100, 1257 SpvOpImageQueryFormat = 101, 1258 SpvOpImageQueryOrder = 102, 1259 SpvOpImageQuerySizeLod = 103, 1260 SpvOpImageQuerySize = 104, 1261 SpvOpImageQueryLod = 105, 1262 SpvOpImageQueryLevels = 106, 1263 SpvOpImageQuerySamples = 107, 1264 SpvOpConvertFToU = 109, 1265 SpvOpConvertFToS = 110, 1266 SpvOpConvertSToF = 111, 1267 SpvOpConvertUToF = 112, 1268 SpvOpUConvert = 113, 1269 SpvOpSConvert = 114, 1270 SpvOpFConvert = 115, 1271 SpvOpQuantizeToF16 = 116, 1272 SpvOpConvertPtrToU = 117, 1273 SpvOpSatConvertSToU = 118, 1274 SpvOpSatConvertUToS = 119, 1275 SpvOpConvertUToPtr = 120, 1276 SpvOpPtrCastToGeneric = 121, 1277 SpvOpGenericCastToPtr = 122, 1278 SpvOpGenericCastToPtrExplicit = 123, 1279 SpvOpBitcast = 124, 1280 SpvOpSNegate = 126, 1281 SpvOpFNegate = 127, 1282 SpvOpIAdd = 128, 1283 SpvOpFAdd = 129, 1284 SpvOpISub = 130, 1285 SpvOpFSub = 131, 1286 SpvOpIMul = 132, 1287 SpvOpFMul = 133, 1288 SpvOpUDiv = 134, 1289 SpvOpSDiv = 135, 1290 SpvOpFDiv = 136, 1291 SpvOpUMod = 137, 1292 SpvOpSRem = 138, 1293 SpvOpSMod = 139, 1294 SpvOpFRem = 140, 1295 SpvOpFMod = 141, 1296 SpvOpVectorTimesScalar = 142, 1297 SpvOpMatrixTimesScalar = 143, 1298 SpvOpVectorTimesMatrix = 144, 1299 SpvOpMatrixTimesVector = 145, 1300 SpvOpMatrixTimesMatrix = 146, 1301 SpvOpOuterProduct = 147, 1302 SpvOpDot = 148, 1303 SpvOpIAddCarry = 149, 1304 SpvOpISubBorrow = 150, 1305 SpvOpUMulExtended = 151, 1306 SpvOpSMulExtended = 152, 1307 SpvOpAny = 154, 1308 SpvOpAll = 155, 1309 SpvOpIsNan = 156, 1310 SpvOpIsInf = 157, 1311 SpvOpIsFinite = 158, 1312 SpvOpIsNormal = 159, 1313 SpvOpSignBitSet = 160, 1314 SpvOpLessOrGreater = 161, 1315 SpvOpOrdered = 162, 1316 SpvOpUnordered = 163, 1317 SpvOpLogicalEqual = 164, 1318 SpvOpLogicalNotEqual = 165, 1319 SpvOpLogicalOr = 166, 1320 SpvOpLogicalAnd = 167, 1321 SpvOpLogicalNot = 168, 1322 SpvOpSelect = 169, 1323 SpvOpIEqual = 170, 1324 SpvOpINotEqual = 171, 1325 SpvOpUGreaterThan = 172, 1326 SpvOpSGreaterThan = 173, 1327 SpvOpUGreaterThanEqual = 174, 1328 SpvOpSGreaterThanEqual = 175, 1329 SpvOpULessThan = 176, 1330 SpvOpSLessThan = 177, 1331 SpvOpULessThanEqual = 178, 1332 SpvOpSLessThanEqual = 179, 1333 SpvOpFOrdEqual = 180, 1334 SpvOpFUnordEqual = 181, 1335 SpvOpFOrdNotEqual = 182, 1336 SpvOpFUnordNotEqual = 183, 1337 SpvOpFOrdLessThan = 184, 1338 SpvOpFUnordLessThan = 185, 1339 SpvOpFOrdGreaterThan = 186, 1340 SpvOpFUnordGreaterThan = 187, 1341 SpvOpFOrdLessThanEqual = 188, 1342 SpvOpFUnordLessThanEqual = 189, 1343 SpvOpFOrdGreaterThanEqual = 190, 1344 SpvOpFUnordGreaterThanEqual = 191, 1345 SpvOpShiftRightLogical = 194, 1346 SpvOpShiftRightArithmetic = 195, 1347 SpvOpShiftLeftLogical = 196, 1348 SpvOpBitwiseOr = 197, 1349 SpvOpBitwiseXor = 198, 1350 SpvOpBitwiseAnd = 199, 1351 SpvOpNot = 200, 1352 SpvOpBitFieldInsert = 201, 1353 SpvOpBitFieldSExtract = 202, 1354 SpvOpBitFieldUExtract = 203, 1355 SpvOpBitReverse = 204, 1356 SpvOpBitCount = 205, 1357 SpvOpDPdx = 207, 1358 SpvOpDPdy = 208, 1359 SpvOpFwidth = 209, 1360 SpvOpDPdxFine = 210, 1361 SpvOpDPdyFine = 211, 1362 SpvOpFwidthFine = 212, 1363 SpvOpDPdxCoarse = 213, 1364 SpvOpDPdyCoarse = 214, 1365 SpvOpFwidthCoarse = 215, 1366 SpvOpEmitVertex = 218, 1367 SpvOpEndPrimitive = 219, 1368 SpvOpEmitStreamVertex = 220, 1369 SpvOpEndStreamPrimitive = 221, 1370 SpvOpControlBarrier = 224, 1371 SpvOpMemoryBarrier = 225, 1372 SpvOpAtomicLoad = 227, 1373 SpvOpAtomicStore = 228, 1374 SpvOpAtomicExchange = 229, 1375 SpvOpAtomicCompareExchange = 230, 1376 SpvOpAtomicCompareExchangeWeak = 231, 1377 SpvOpAtomicIIncrement = 232, 1378 SpvOpAtomicIDecrement = 233, 1379 SpvOpAtomicIAdd = 234, 1380 SpvOpAtomicISub = 235, 1381 SpvOpAtomicSMin = 236, 1382 SpvOpAtomicUMin = 237, 1383 SpvOpAtomicSMax = 238, 1384 SpvOpAtomicUMax = 239, 1385 SpvOpAtomicAnd = 240, 1386 SpvOpAtomicOr = 241, 1387 SpvOpAtomicXor = 242, 1388 SpvOpPhi = 245, 1389 SpvOpLoopMerge = 246, 1390 SpvOpSelectionMerge = 247, 1391 SpvOpLabel = 248, 1392 SpvOpBranch = 249, 1393 SpvOpBranchConditional = 250, 1394 SpvOpSwitch = 251, 1395 SpvOpKill = 252, 1396 SpvOpReturn = 253, 1397 SpvOpReturnValue = 254, 1398 SpvOpUnreachable = 255, 1399 SpvOpLifetimeStart = 256, 1400 SpvOpLifetimeStop = 257, 1401 SpvOpGroupAsyncCopy = 259, 1402 SpvOpGroupWaitEvents = 260, 1403 SpvOpGroupAll = 261, 1404 SpvOpGroupAny = 262, 1405 SpvOpGroupBroadcast = 263, 1406 SpvOpGroupIAdd = 264, 1407 SpvOpGroupFAdd = 265, 1408 SpvOpGroupFMin = 266, 1409 SpvOpGroupUMin = 267, 1410 SpvOpGroupSMin = 268, 1411 SpvOpGroupFMax = 269, 1412 SpvOpGroupUMax = 270, 1413 SpvOpGroupSMax = 271, 1414 SpvOpReadPipe = 274, 1415 SpvOpWritePipe = 275, 1416 SpvOpReservedReadPipe = 276, 1417 SpvOpReservedWritePipe = 277, 1418 SpvOpReserveReadPipePackets = 278, 1419 SpvOpReserveWritePipePackets = 279, 1420 SpvOpCommitReadPipe = 280, 1421 SpvOpCommitWritePipe = 281, 1422 SpvOpIsValidReserveId = 282, 1423 SpvOpGetNumPipePackets = 283, 1424 SpvOpGetMaxPipePackets = 284, 1425 SpvOpGroupReserveReadPipePackets = 285, 1426 SpvOpGroupReserveWritePipePackets = 286, 1427 SpvOpGroupCommitReadPipe = 287, 1428 SpvOpGroupCommitWritePipe = 288, 1429 SpvOpEnqueueMarker = 291, 1430 SpvOpEnqueueKernel = 292, 1431 SpvOpGetKernelNDrangeSubGroupCount = 293, 1432 SpvOpGetKernelNDrangeMaxSubGroupSize = 294, 1433 SpvOpGetKernelWorkGroupSize = 295, 1434 SpvOpGetKernelPreferredWorkGroupSizeMultiple = 296, 1435 SpvOpRetainEvent = 297, 1436 SpvOpReleaseEvent = 298, 1437 SpvOpCreateUserEvent = 299, 1438 SpvOpIsValidEvent = 300, 1439 SpvOpSetUserEventStatus = 301, 1440 SpvOpCaptureEventProfilingInfo = 302, 1441 SpvOpGetDefaultQueue = 303, 1442 SpvOpBuildNDRange = 304, 1443 SpvOpImageSparseSampleImplicitLod = 305, 1444 SpvOpImageSparseSampleExplicitLod = 306, 1445 SpvOpImageSparseSampleDrefImplicitLod = 307, 1446 SpvOpImageSparseSampleDrefExplicitLod = 308, 1447 SpvOpImageSparseSampleProjImplicitLod = 309, 1448 SpvOpImageSparseSampleProjExplicitLod = 310, 1449 SpvOpImageSparseSampleProjDrefImplicitLod = 311, 1450 SpvOpImageSparseSampleProjDrefExplicitLod = 312, 1451 SpvOpImageSparseFetch = 313, 1452 SpvOpImageSparseGather = 314, 1453 SpvOpImageSparseDrefGather = 315, 1454 SpvOpImageSparseTexelsResident = 316, 1455 SpvOpNoLine = 317, 1456 SpvOpAtomicFlagTestAndSet = 318, 1457 SpvOpAtomicFlagClear = 319, 1458 SpvOpImageSparseRead = 320, 1459 SpvOpSizeOf = 321, 1460 SpvOpTypePipeStorage = 322, 1461 SpvOpConstantPipeStorage = 323, 1462 SpvOpCreatePipeFromPipeStorage = 324, 1463 SpvOpGetKernelLocalSizeForSubgroupCount = 325, 1464 SpvOpGetKernelMaxNumSubgroups = 326, 1465 SpvOpTypeNamedBarrier = 327, 1466 SpvOpNamedBarrierInitialize = 328, 1467 SpvOpMemoryNamedBarrier = 329, 1468 SpvOpModuleProcessed = 330, 1469 SpvOpExecutionModeId = 331, 1470 SpvOpDecorateId = 332, 1471 SpvOpGroupNonUniformElect = 333, 1472 SpvOpGroupNonUniformAll = 334, 1473 SpvOpGroupNonUniformAny = 335, 1474 SpvOpGroupNonUniformAllEqual = 336, 1475 SpvOpGroupNonUniformBroadcast = 337, 1476 SpvOpGroupNonUniformBroadcastFirst = 338, 1477 SpvOpGroupNonUniformBallot = 339, 1478 SpvOpGroupNonUniformInverseBallot = 340, 1479 SpvOpGroupNonUniformBallotBitExtract = 341, 1480 SpvOpGroupNonUniformBallotBitCount = 342, 1481 SpvOpGroupNonUniformBallotFindLSB = 343, 1482 SpvOpGroupNonUniformBallotFindMSB = 344, 1483 SpvOpGroupNonUniformShuffle = 345, 1484 SpvOpGroupNonUniformShuffleXor = 346, 1485 SpvOpGroupNonUniformShuffleUp = 347, 1486 SpvOpGroupNonUniformShuffleDown = 348, 1487 SpvOpGroupNonUniformIAdd = 349, 1488 SpvOpGroupNonUniformFAdd = 350, 1489 SpvOpGroupNonUniformIMul = 351, 1490 SpvOpGroupNonUniformFMul = 352, 1491 SpvOpGroupNonUniformSMin = 353, 1492 SpvOpGroupNonUniformUMin = 354, 1493 SpvOpGroupNonUniformFMin = 355, 1494 SpvOpGroupNonUniformSMax = 356, 1495 SpvOpGroupNonUniformUMax = 357, 1496 SpvOpGroupNonUniformFMax = 358, 1497 SpvOpGroupNonUniformBitwiseAnd = 359, 1498 SpvOpGroupNonUniformBitwiseOr = 360, 1499 SpvOpGroupNonUniformBitwiseXor = 361, 1500 SpvOpGroupNonUniformLogicalAnd = 362, 1501 SpvOpGroupNonUniformLogicalOr = 363, 1502 SpvOpGroupNonUniformLogicalXor = 364, 1503 SpvOpGroupNonUniformQuadBroadcast = 365, 1504 SpvOpGroupNonUniformQuadSwap = 366, 1505 SpvOpCopyLogical = 400, 1506 SpvOpPtrEqual = 401, 1507 SpvOpPtrNotEqual = 402, 1508 SpvOpPtrDiff = 403, 1509 SpvOpTerminateInvocation = 4416, 1510 SpvOpSubgroupBallotKHR = 4421, 1511 SpvOpSubgroupFirstInvocationKHR = 4422, 1512 SpvOpSubgroupAllKHR = 4428, 1513 SpvOpSubgroupAnyKHR = 4429, 1514 SpvOpSubgroupAllEqualKHR = 4430, 1515 SpvOpSubgroupReadInvocationKHR = 4432, 1516 SpvOpTraceRayKHR = 4445, 1517 SpvOpExecuteCallableKHR = 4446, 1518 SpvOpConvertUToAccelerationStructureKHR = 4447, 1519 SpvOpIgnoreIntersectionKHR = 4448, 1520 SpvOpTerminateRayKHR = 4449, 1521 SpvOpSDotKHR = 4450, 1522 SpvOpUDotKHR = 4451, 1523 SpvOpSUDotKHR = 4452, 1524 SpvOpSDotAccSatKHR = 4453, 1525 SpvOpUDotAccSatKHR = 4454, 1526 SpvOpSUDotAccSatKHR = 4455, 1527 SpvOpTypeRayQueryKHR = 4472, 1528 SpvOpRayQueryInitializeKHR = 4473, 1529 SpvOpRayQueryTerminateKHR = 4474, 1530 SpvOpRayQueryGenerateIntersectionKHR = 4475, 1531 SpvOpRayQueryConfirmIntersectionKHR = 4476, 1532 SpvOpRayQueryProceedKHR = 4477, 1533 SpvOpRayQueryGetIntersectionTypeKHR = 4479, 1534 SpvOpGroupIAddNonUniformAMD = 5000, 1535 SpvOpGroupFAddNonUniformAMD = 5001, 1536 SpvOpGroupFMinNonUniformAMD = 5002, 1537 SpvOpGroupUMinNonUniformAMD = 5003, 1538 SpvOpGroupSMinNonUniformAMD = 5004, 1539 SpvOpGroupFMaxNonUniformAMD = 5005, 1540 SpvOpGroupUMaxNonUniformAMD = 5006, 1541 SpvOpGroupSMaxNonUniformAMD = 5007, 1542 SpvOpFragmentMaskFetchAMD = 5011, 1543 SpvOpFragmentFetchAMD = 5012, 1544 SpvOpReadClockKHR = 5056, 1545 SpvOpImageSampleFootprintNV = 5283, 1546 SpvOpGroupNonUniformPartitionNV = 5296, 1547 SpvOpWritePackedPrimitiveIndices4x8NV = 5299, 1548 SpvOpReportIntersectionKHR = 5334, 1549 SpvOpReportIntersectionNV = 5334, 1550 SpvOpIgnoreIntersectionNV = 5335, 1551 SpvOpTerminateRayNV = 5336, 1552 SpvOpTraceNV = 5337, 1553 SpvOpTypeAccelerationStructureKHR = 5341, 1554 SpvOpTypeAccelerationStructureNV = 5341, 1555 SpvOpExecuteCallableNV = 5344, 1556 SpvOpTypeCooperativeMatrixNV = 5358, 1557 SpvOpCooperativeMatrixLoadNV = 5359, 1558 SpvOpCooperativeMatrixStoreNV = 5360, 1559 SpvOpCooperativeMatrixMulAddNV = 5361, 1560 SpvOpCooperativeMatrixLengthNV = 5362, 1561 SpvOpBeginInvocationInterlockEXT = 5364, 1562 SpvOpEndInvocationInterlockEXT = 5365, 1563 SpvOpDemoteToHelperInvocationEXT = 5380, 1564 SpvOpIsHelperInvocationEXT = 5381, 1565 SpvOpSubgroupShuffleINTEL = 5571, 1566 SpvOpSubgroupShuffleDownINTEL = 5572, 1567 SpvOpSubgroupShuffleUpINTEL = 5573, 1568 SpvOpSubgroupShuffleXorINTEL = 5574, 1569 SpvOpSubgroupBlockReadINTEL = 5575, 1570 SpvOpSubgroupBlockWriteINTEL = 5576, 1571 SpvOpSubgroupImageBlockReadINTEL = 5577, 1572 SpvOpSubgroupImageBlockWriteINTEL = 5578, 1573 SpvOpSubgroupImageMediaBlockReadINTEL = 5580, 1574 SpvOpSubgroupImageMediaBlockWriteINTEL = 5581, 1575 SpvOpUCountLeadingZerosINTEL = 5585, 1576 SpvOpUCountTrailingZerosINTEL = 5586, 1577 SpvOpAbsISubINTEL = 5587, 1578 SpvOpAbsUSubINTEL = 5588, 1579 SpvOpIAddSatINTEL = 5589, 1580 SpvOpUAddSatINTEL = 5590, 1581 SpvOpIAverageINTEL = 5591, 1582 SpvOpUAverageINTEL = 5592, 1583 SpvOpIAverageRoundedINTEL = 5593, 1584 SpvOpUAverageRoundedINTEL = 5594, 1585 SpvOpISubSatINTEL = 5595, 1586 SpvOpUSubSatINTEL = 5596, 1587 SpvOpIMul32x16INTEL = 5597, 1588 SpvOpUMul32x16INTEL = 5598, 1589 SpvOpConstFunctionPointerINTEL = 5600, 1590 SpvOpFunctionPointerCallINTEL = 5601, 1591 SpvOpAsmTargetINTEL = 5609, 1592 SpvOpAsmINTEL = 5610, 1593 SpvOpAsmCallINTEL = 5611, 1594 SpvOpAtomicFMinEXT = 5614, 1595 SpvOpAtomicFMaxEXT = 5615, 1596 SpvOpAssumeTrueKHR = 5630, 1597 SpvOpExpectKHR = 5631, 1598 SpvOpDecorateString = 5632, 1599 SpvOpDecorateStringGOOGLE = 5632, 1600 SpvOpMemberDecorateString = 5633, 1601 SpvOpMemberDecorateStringGOOGLE = 5633, 1602 SpvOpVmeImageINTEL = 5699, 1603 SpvOpTypeVmeImageINTEL = 5700, 1604 SpvOpTypeAvcImePayloadINTEL = 5701, 1605 SpvOpTypeAvcRefPayloadINTEL = 5702, 1606 SpvOpTypeAvcSicPayloadINTEL = 5703, 1607 SpvOpTypeAvcMcePayloadINTEL = 5704, 1608 SpvOpTypeAvcMceResultINTEL = 5705, 1609 SpvOpTypeAvcImeResultINTEL = 5706, 1610 SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707, 1611 SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708, 1612 SpvOpTypeAvcImeSingleReferenceStreaminINTEL = 5709, 1613 SpvOpTypeAvcImeDualReferenceStreaminINTEL = 5710, 1614 SpvOpTypeAvcRefResultINTEL = 5711, 1615 SpvOpTypeAvcSicResultINTEL = 5712, 1616 SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713, 1617 SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714, 1618 SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715, 1619 SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716, 1620 SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717, 1621 SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718, 1622 SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719, 1623 SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720, 1624 SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721, 1625 SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722, 1626 SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723, 1627 SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724, 1628 SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725, 1629 SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726, 1630 SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727, 1631 SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728, 1632 SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729, 1633 SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730, 1634 SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731, 1635 SpvOpSubgroupAvcMceConvertToImePayloadINTEL = 5732, 1636 SpvOpSubgroupAvcMceConvertToImeResultINTEL = 5733, 1637 SpvOpSubgroupAvcMceConvertToRefPayloadINTEL = 5734, 1638 SpvOpSubgroupAvcMceConvertToRefResultINTEL = 5735, 1639 SpvOpSubgroupAvcMceConvertToSicPayloadINTEL = 5736, 1640 SpvOpSubgroupAvcMceConvertToSicResultINTEL = 5737, 1641 SpvOpSubgroupAvcMceGetMotionVectorsINTEL = 5738, 1642 SpvOpSubgroupAvcMceGetInterDistortionsINTEL = 5739, 1643 SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740, 1644 SpvOpSubgroupAvcMceGetInterMajorShapeINTEL = 5741, 1645 SpvOpSubgroupAvcMceGetInterMinorShapeINTEL = 5742, 1646 SpvOpSubgroupAvcMceGetInterDirectionsINTEL = 5743, 1647 SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744, 1648 SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745, 1649 SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746, 1650 SpvOpSubgroupAvcImeInitializeINTEL = 5747, 1651 SpvOpSubgroupAvcImeSetSingleReferenceINTEL = 5748, 1652 SpvOpSubgroupAvcImeSetDualReferenceINTEL = 5749, 1653 SpvOpSubgroupAvcImeRefWindowSizeINTEL = 5750, 1654 SpvOpSubgroupAvcImeAdjustRefOffsetINTEL = 5751, 1655 SpvOpSubgroupAvcImeConvertToMcePayloadINTEL = 5752, 1656 SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753, 1657 SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754, 1658 SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755, 1659 SpvOpSubgroupAvcImeSetWeightedSadINTEL = 5756, 1660 SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757, 1661 SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758, 1662 SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759, 1663 SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760, 1664 SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761, 1665 SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762, 1666 SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763, 1667 SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764, 1668 SpvOpSubgroupAvcImeConvertToMceResultINTEL = 5765, 1669 SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766, 1670 SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767, 1671 SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768, 1672 SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769, 1673 SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770, 1674 SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771, 1675 SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772, 1676 SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773, 1677 SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774, 1678 SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775, 1679 SpvOpSubgroupAvcImeGetBorderReachedINTEL = 5776, 1680 SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777, 1681 SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778, 1682 SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779, 1683 SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780, 1684 SpvOpSubgroupAvcFmeInitializeINTEL = 5781, 1685 SpvOpSubgroupAvcBmeInitializeINTEL = 5782, 1686 SpvOpSubgroupAvcRefConvertToMcePayloadINTEL = 5783, 1687 SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784, 1688 SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785, 1689 SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786, 1690 SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787, 1691 SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788, 1692 SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789, 1693 SpvOpSubgroupAvcRefConvertToMceResultINTEL = 5790, 1694 SpvOpSubgroupAvcSicInitializeINTEL = 5791, 1695 SpvOpSubgroupAvcSicConfigureSkcINTEL = 5792, 1696 SpvOpSubgroupAvcSicConfigureIpeLumaINTEL = 5793, 1697 SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794, 1698 SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795, 1699 SpvOpSubgroupAvcSicConvertToMcePayloadINTEL = 5796, 1700 SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797, 1701 SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798, 1702 SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799, 1703 SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800, 1704 SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801, 1705 SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802, 1706 SpvOpSubgroupAvcSicEvaluateIpeINTEL = 5803, 1707 SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804, 1708 SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805, 1709 SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806, 1710 SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807, 1711 SpvOpSubgroupAvcSicConvertToMceResultINTEL = 5808, 1712 SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809, 1713 SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810, 1714 SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811, 1715 SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812, 1716 SpvOpSubgroupAvcSicGetIpeChromaModeINTEL = 5813, 1717 SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814, 1718 SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815, 1719 SpvOpSubgroupAvcSicGetInterRawSadsINTEL = 5816, 1720 SpvOpVariableLengthArrayINTEL = 5818, 1721 SpvOpSaveMemoryINTEL = 5819, 1722 SpvOpRestoreMemoryINTEL = 5820, 1723 SpvOpArbitraryFloatSinCosPiINTEL = 5840, 1724 SpvOpArbitraryFloatCastINTEL = 5841, 1725 SpvOpArbitraryFloatCastFromIntINTEL = 5842, 1726 SpvOpArbitraryFloatCastToIntINTEL = 5843, 1727 SpvOpArbitraryFloatAddINTEL = 5846, 1728 SpvOpArbitraryFloatSubINTEL = 5847, 1729 SpvOpArbitraryFloatMulINTEL = 5848, 1730 SpvOpArbitraryFloatDivINTEL = 5849, 1731 SpvOpArbitraryFloatGTINTEL = 5850, 1732 SpvOpArbitraryFloatGEINTEL = 5851, 1733 SpvOpArbitraryFloatLTINTEL = 5852, 1734 SpvOpArbitraryFloatLEINTEL = 5853, 1735 SpvOpArbitraryFloatEQINTEL = 5854, 1736 SpvOpArbitraryFloatRecipINTEL = 5855, 1737 SpvOpArbitraryFloatRSqrtINTEL = 5856, 1738 SpvOpArbitraryFloatCbrtINTEL = 5857, 1739 SpvOpArbitraryFloatHypotINTEL = 5858, 1740 SpvOpArbitraryFloatSqrtINTEL = 5859, 1741 SpvOpArbitraryFloatLogINTEL = 5860, 1742 SpvOpArbitraryFloatLog2INTEL = 5861, 1743 SpvOpArbitraryFloatLog10INTEL = 5862, 1744 SpvOpArbitraryFloatLog1pINTEL = 5863, 1745 SpvOpArbitraryFloatExpINTEL = 5864, 1746 SpvOpArbitraryFloatExp2INTEL = 5865, 1747 SpvOpArbitraryFloatExp10INTEL = 5866, 1748 SpvOpArbitraryFloatExpm1INTEL = 5867, 1749 SpvOpArbitraryFloatSinINTEL = 5868, 1750 SpvOpArbitraryFloatCosINTEL = 5869, 1751 SpvOpArbitraryFloatSinCosINTEL = 5870, 1752 SpvOpArbitraryFloatSinPiINTEL = 5871, 1753 SpvOpArbitraryFloatCosPiINTEL = 5872, 1754 SpvOpArbitraryFloatASinINTEL = 5873, 1755 SpvOpArbitraryFloatASinPiINTEL = 5874, 1756 SpvOpArbitraryFloatACosINTEL = 5875, 1757 SpvOpArbitraryFloatACosPiINTEL = 5876, 1758 SpvOpArbitraryFloatATanINTEL = 5877, 1759 SpvOpArbitraryFloatATanPiINTEL = 5878, 1760 SpvOpArbitraryFloatATan2INTEL = 5879, 1761 SpvOpArbitraryFloatPowINTEL = 5880, 1762 SpvOpArbitraryFloatPowRINTEL = 5881, 1763 SpvOpArbitraryFloatPowNINTEL = 5882, 1764 SpvOpLoopControlINTEL = 5887, 1765 SpvOpFixedSqrtINTEL = 5923, 1766 SpvOpFixedRecipINTEL = 5924, 1767 SpvOpFixedRsqrtINTEL = 5925, 1768 SpvOpFixedSinINTEL = 5926, 1769 SpvOpFixedCosINTEL = 5927, 1770 SpvOpFixedSinCosINTEL = 5928, 1771 SpvOpFixedSinPiINTEL = 5929, 1772 SpvOpFixedCosPiINTEL = 5930, 1773 SpvOpFixedSinCosPiINTEL = 5931, 1774 SpvOpFixedLogINTEL = 5932, 1775 SpvOpFixedExpINTEL = 5933, 1776 SpvOpPtrCastToCrossWorkgroupINTEL = 5934, 1777 SpvOpCrossWorkgroupCastToPtrINTEL = 5938, 1778 SpvOpReadPipeBlockingINTEL = 5946, 1779 SpvOpWritePipeBlockingINTEL = 5947, 1780 SpvOpFPGARegINTEL = 5949, 1781 SpvOpRayQueryGetRayTMinKHR = 6016, 1782 SpvOpRayQueryGetRayFlagsKHR = 6017, 1783 SpvOpRayQueryGetIntersectionTKHR = 6018, 1784 SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019, 1785 SpvOpRayQueryGetIntersectionInstanceIdKHR = 6020, 1786 SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021, 1787 SpvOpRayQueryGetIntersectionGeometryIndexKHR = 6022, 1788 SpvOpRayQueryGetIntersectionPrimitiveIndexKHR = 6023, 1789 SpvOpRayQueryGetIntersectionBarycentricsKHR = 6024, 1790 SpvOpRayQueryGetIntersectionFrontFaceKHR = 6025, 1791 SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026, 1792 SpvOpRayQueryGetIntersectionObjectRayDirectionKHR = 6027, 1793 SpvOpRayQueryGetIntersectionObjectRayOriginKHR = 6028, 1794 SpvOpRayQueryGetWorldRayDirectionKHR = 6029, 1795 SpvOpRayQueryGetWorldRayOriginKHR = 6030, 1796 SpvOpRayQueryGetIntersectionObjectToWorldKHR = 6031, 1797 SpvOpRayQueryGetIntersectionWorldToObjectKHR = 6032, 1798 SpvOpAtomicFAddEXT = 6035, 1799 SpvOpTypeBufferSurfaceINTEL = 6086, 1800 SpvOpTypeStructContinuedINTEL = 6090, 1801 SpvOpConstantCompositeContinuedINTEL = 6091, 1802 SpvOpSpecConstantCompositeContinuedINTEL = 6092, 1803 SpvOpMax = 0x7fffffff, 1804} SpvOp; 1805 1806#ifdef SPV_ENABLE_UTILITY_CODE 1807inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultType) { 1808 *hasResult = *hasResultType = false; 1809 switch (opcode) { 1810 default: /* unknown opcode */ break; 1811 case SpvOpNop: *hasResult = false; *hasResultType = false; break; 1812 case SpvOpUndef: *hasResult = true; *hasResultType = true; break; 1813 case SpvOpSourceContinued: *hasResult = false; *hasResultType = false; break; 1814 case SpvOpSource: *hasResult = false; *hasResultType = false; break; 1815 case SpvOpSourceExtension: *hasResult = false; *hasResultType = false; break; 1816 case SpvOpName: *hasResult = false; *hasResultType = false; break; 1817 case SpvOpMemberName: *hasResult = false; *hasResultType = false; break; 1818 case SpvOpString: *hasResult = true; *hasResultType = false; break; 1819 case SpvOpLine: *hasResult = false; *hasResultType = false; break; 1820 case SpvOpExtension: *hasResult = false; *hasResultType = false; break; 1821 case SpvOpExtInstImport: *hasResult = true; *hasResultType = false; break; 1822 case SpvOpExtInst: *hasResult = true; *hasResultType = true; break; 1823 case SpvOpMemoryModel: *hasResult = false; *hasResultType = false; break; 1824 case SpvOpEntryPoint: *hasResult = false; *hasResultType = false; break; 1825 case SpvOpExecutionMode: *hasResult = false; *hasResultType = false; break; 1826 case SpvOpCapability: *hasResult = false; *hasResultType = false; break; 1827 case SpvOpTypeVoid: *hasResult = true; *hasResultType = false; break; 1828 case SpvOpTypeBool: *hasResult = true; *hasResultType = false; break; 1829 case SpvOpTypeInt: *hasResult = true; *hasResultType = false; break; 1830 case SpvOpTypeFloat: *hasResult = true; *hasResultType = false; break; 1831 case SpvOpTypeVector: *hasResult = true; *hasResultType = false; break; 1832 case SpvOpTypeMatrix: *hasResult = true; *hasResultType = false; break; 1833 case SpvOpTypeImage: *hasResult = true; *hasResultType = false; break; 1834 case SpvOpTypeSampler: *hasResult = true; *hasResultType = false; break; 1835 case SpvOpTypeSampledImage: *hasResult = true; *hasResultType = false; break; 1836 case SpvOpTypeArray: *hasResult = true; *hasResultType = false; break; 1837 case SpvOpTypeRuntimeArray: *hasResult = true; *hasResultType = false; break; 1838 case SpvOpTypeStruct: *hasResult = true; *hasResultType = false; break; 1839 case SpvOpTypeOpaque: *hasResult = true; *hasResultType = false; break; 1840 case SpvOpTypePointer: *hasResult = true; *hasResultType = false; break; 1841 case SpvOpTypeFunction: *hasResult = true; *hasResultType = false; break; 1842 case SpvOpTypeEvent: *hasResult = true; *hasResultType = false; break; 1843 case SpvOpTypeDeviceEvent: *hasResult = true; *hasResultType = false; break; 1844 case SpvOpTypeReserveId: *hasResult = true; *hasResultType = false; break; 1845 case SpvOpTypeQueue: *hasResult = true; *hasResultType = false; break; 1846 case SpvOpTypePipe: *hasResult = true; *hasResultType = false; break; 1847 case SpvOpTypeForwardPointer: *hasResult = false; *hasResultType = false; break; 1848 case SpvOpConstantTrue: *hasResult = true; *hasResultType = true; break; 1849 case SpvOpConstantFalse: *hasResult = true; *hasResultType = true; break; 1850 case SpvOpConstant: *hasResult = true; *hasResultType = true; break; 1851 case SpvOpConstantComposite: *hasResult = true; *hasResultType = true; break; 1852 case SpvOpConstantSampler: *hasResult = true; *hasResultType = true; break; 1853 case SpvOpConstantNull: *hasResult = true; *hasResultType = true; break; 1854 case SpvOpSpecConstantTrue: *hasResult = true; *hasResultType = true; break; 1855 case SpvOpSpecConstantFalse: *hasResult = true; *hasResultType = true; break; 1856 case SpvOpSpecConstant: *hasResult = true; *hasResultType = true; break; 1857 case SpvOpSpecConstantComposite: *hasResult = true; *hasResultType = true; break; 1858 case SpvOpSpecConstantOp: *hasResult = true; *hasResultType = true; break; 1859 case SpvOpFunction: *hasResult = true; *hasResultType = true; break; 1860 case SpvOpFunctionParameter: *hasResult = true; *hasResultType = true; break; 1861 case SpvOpFunctionEnd: *hasResult = false; *hasResultType = false; break; 1862 case SpvOpFunctionCall: *hasResult = true; *hasResultType = true; break; 1863 case SpvOpVariable: *hasResult = true; *hasResultType = true; break; 1864 case SpvOpImageTexelPointer: *hasResult = true; *hasResultType = true; break; 1865 case SpvOpLoad: *hasResult = true; *hasResultType = true; break; 1866 case SpvOpStore: *hasResult = false; *hasResultType = false; break; 1867 case SpvOpCopyMemory: *hasResult = false; *hasResultType = false; break; 1868 case SpvOpCopyMemorySized: *hasResult = false; *hasResultType = false; break; 1869 case SpvOpAccessChain: *hasResult = true; *hasResultType = true; break; 1870 case SpvOpInBoundsAccessChain: *hasResult = true; *hasResultType = true; break; 1871 case SpvOpPtrAccessChain: *hasResult = true; *hasResultType = true; break; 1872 case SpvOpArrayLength: *hasResult = true; *hasResultType = true; break; 1873 case SpvOpGenericPtrMemSemantics: *hasResult = true; *hasResultType = true; break; 1874 case SpvOpInBoundsPtrAccessChain: *hasResult = true; *hasResultType = true; break; 1875 case SpvOpDecorate: *hasResult = false; *hasResultType = false; break; 1876 case SpvOpMemberDecorate: *hasResult = false; *hasResultType = false; break; 1877 case SpvOpDecorationGroup: *hasResult = true; *hasResultType = false; break; 1878 case SpvOpGroupDecorate: *hasResult = false; *hasResultType = false; break; 1879 case SpvOpGroupMemberDecorate: *hasResult = false; *hasResultType = false; break; 1880 case SpvOpVectorExtractDynamic: *hasResult = true; *hasResultType = true; break; 1881 case SpvOpVectorInsertDynamic: *hasResult = true; *hasResultType = true; break; 1882 case SpvOpVectorShuffle: *hasResult = true; *hasResultType = true; break; 1883 case SpvOpCompositeConstruct: *hasResult = true; *hasResultType = true; break; 1884 case SpvOpCompositeExtract: *hasResult = true; *hasResultType = true; break; 1885 case SpvOpCompositeInsert: *hasResult = true; *hasResultType = true; break; 1886 case SpvOpCopyObject: *hasResult = true; *hasResultType = true; break; 1887 case SpvOpTranspose: *hasResult = true; *hasResultType = true; break; 1888 case SpvOpSampledImage: *hasResult = true; *hasResultType = true; break; 1889 case SpvOpImageSampleImplicitLod: *hasResult = true; *hasResultType = true; break; 1890 case SpvOpImageSampleExplicitLod: *hasResult = true; *hasResultType = true; break; 1891 case SpvOpImageSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break; 1892 case SpvOpImageSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break; 1893 case SpvOpImageSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break; 1894 case SpvOpImageSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break; 1895 case SpvOpImageSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break; 1896 case SpvOpImageSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break; 1897 case SpvOpImageFetch: *hasResult = true; *hasResultType = true; break; 1898 case SpvOpImageGather: *hasResult = true; *hasResultType = true; break; 1899 case SpvOpImageDrefGather: *hasResult = true; *hasResultType = true; break; 1900 case SpvOpImageRead: *hasResult = true; *hasResultType = true; break; 1901 case SpvOpImageWrite: *hasResult = false; *hasResultType = false; break; 1902 case SpvOpImage: *hasResult = true; *hasResultType = true; break; 1903 case SpvOpImageQueryFormat: *hasResult = true; *hasResultType = true; break; 1904 case SpvOpImageQueryOrder: *hasResult = true; *hasResultType = true; break; 1905 case SpvOpImageQuerySizeLod: *hasResult = true; *hasResultType = true; break; 1906 case SpvOpImageQuerySize: *hasResult = true; *hasResultType = true; break; 1907 case SpvOpImageQueryLod: *hasResult = true; *hasResultType = true; break; 1908 case SpvOpImageQueryLevels: *hasResult = true; *hasResultType = true; break; 1909 case SpvOpImageQuerySamples: *hasResult = true; *hasResultType = true; break; 1910 case SpvOpConvertFToU: *hasResult = true; *hasResultType = true; break; 1911 case SpvOpConvertFToS: *hasResult = true; *hasResultType = true; break; 1912 case SpvOpConvertSToF: *hasResult = true; *hasResultType = true; break; 1913 case SpvOpConvertUToF: *hasResult = true; *hasResultType = true; break; 1914 case SpvOpUConvert: *hasResult = true; *hasResultType = true; break; 1915 case SpvOpSConvert: *hasResult = true; *hasResultType = true; break; 1916 case SpvOpFConvert: *hasResult = true; *hasResultType = true; break; 1917 case SpvOpQuantizeToF16: *hasResult = true; *hasResultType = true; break; 1918 case SpvOpConvertPtrToU: *hasResult = true; *hasResultType = true; break; 1919 case SpvOpSatConvertSToU: *hasResult = true; *hasResultType = true; break; 1920 case SpvOpSatConvertUToS: *hasResult = true; *hasResultType = true; break; 1921 case SpvOpConvertUToPtr: *hasResult = true; *hasResultType = true; break; 1922 case SpvOpPtrCastToGeneric: *hasResult = true; *hasResultType = true; break; 1923 case SpvOpGenericCastToPtr: *hasResult = true; *hasResultType = true; break; 1924 case SpvOpGenericCastToPtrExplicit: *hasResult = true; *hasResultType = true; break; 1925 case SpvOpBitcast: *hasResult = true; *hasResultType = true; break; 1926 case SpvOpSNegate: *hasResult = true; *hasResultType = true; break; 1927 case SpvOpFNegate: *hasResult = true; *hasResultType = true; break; 1928 case SpvOpIAdd: *hasResult = true; *hasResultType = true; break; 1929 case SpvOpFAdd: *hasResult = true; *hasResultType = true; break; 1930 case SpvOpISub: *hasResult = true; *hasResultType = true; break; 1931 case SpvOpFSub: *hasResult = true; *hasResultType = true; break; 1932 case SpvOpIMul: *hasResult = true; *hasResultType = true; break; 1933 case SpvOpFMul: *hasResult = true; *hasResultType = true; break; 1934 case SpvOpUDiv: *hasResult = true; *hasResultType = true; break; 1935 case SpvOpSDiv: *hasResult = true; *hasResultType = true; break; 1936 case SpvOpFDiv: *hasResult = true; *hasResultType = true; break; 1937 case SpvOpUMod: *hasResult = true; *hasResultType = true; break; 1938 case SpvOpSRem: *hasResult = true; *hasResultType = true; break; 1939 case SpvOpSMod: *hasResult = true; *hasResultType = true; break; 1940 case SpvOpFRem: *hasResult = true; *hasResultType = true; break; 1941 case SpvOpFMod: *hasResult = true; *hasResultType = true; break; 1942 case SpvOpVectorTimesScalar: *hasResult = true; *hasResultType = true; break; 1943 case SpvOpMatrixTimesScalar: *hasResult = true; *hasResultType = true; break; 1944 case SpvOpVectorTimesMatrix: *hasResult = true; *hasResultType = true; break; 1945 case SpvOpMatrixTimesVector: *hasResult = true; *hasResultType = true; break; 1946 case SpvOpMatrixTimesMatrix: *hasResult = true; *hasResultType = true; break; 1947 case SpvOpOuterProduct: *hasResult = true; *hasResultType = true; break; 1948 case SpvOpDot: *hasResult = true; *hasResultType = true; break; 1949 case SpvOpIAddCarry: *hasResult = true; *hasResultType = true; break; 1950 case SpvOpISubBorrow: *hasResult = true; *hasResultType = true; break; 1951 case SpvOpUMulExtended: *hasResult = true; *hasResultType = true; break; 1952 case SpvOpSMulExtended: *hasResult = true; *hasResultType = true; break; 1953 case SpvOpAny: *hasResult = true; *hasResultType = true; break; 1954 case SpvOpAll: *hasResult = true; *hasResultType = true; break; 1955 case SpvOpIsNan: *hasResult = true; *hasResultType = true; break; 1956 case SpvOpIsInf: *hasResult = true; *hasResultType = true; break; 1957 case SpvOpIsFinite: *hasResult = true; *hasResultType = true; break; 1958 case SpvOpIsNormal: *hasResult = true; *hasResultType = true; break; 1959 case SpvOpSignBitSet: *hasResult = true; *hasResultType = true; break; 1960 case SpvOpLessOrGreater: *hasResult = true; *hasResultType = true; break; 1961 case SpvOpOrdered: *hasResult = true; *hasResultType = true; break; 1962 case SpvOpUnordered: *hasResult = true; *hasResultType = true; break; 1963 case SpvOpLogicalEqual: *hasResult = true; *hasResultType = true; break; 1964 case SpvOpLogicalNotEqual: *hasResult = true; *hasResultType = true; break; 1965 case SpvOpLogicalOr: *hasResult = true; *hasResultType = true; break; 1966 case SpvOpLogicalAnd: *hasResult = true; *hasResultType = true; break; 1967 case SpvOpLogicalNot: *hasResult = true; *hasResultType = true; break; 1968 case SpvOpSelect: *hasResult = true; *hasResultType = true; break; 1969 case SpvOpIEqual: *hasResult = true; *hasResultType = true; break; 1970 case SpvOpINotEqual: *hasResult = true; *hasResultType = true; break; 1971 case SpvOpUGreaterThan: *hasResult = true; *hasResultType = true; break; 1972 case SpvOpSGreaterThan: *hasResult = true; *hasResultType = true; break; 1973 case SpvOpUGreaterThanEqual: *hasResult = true; *hasResultType = true; break; 1974 case SpvOpSGreaterThanEqual: *hasResult = true; *hasResultType = true; break; 1975 case SpvOpULessThan: *hasResult = true; *hasResultType = true; break; 1976 case SpvOpSLessThan: *hasResult = true; *hasResultType = true; break; 1977 case SpvOpULessThanEqual: *hasResult = true; *hasResultType = true; break; 1978 case SpvOpSLessThanEqual: *hasResult = true; *hasResultType = true; break; 1979 case SpvOpFOrdEqual: *hasResult = true; *hasResultType = true; break; 1980 case SpvOpFUnordEqual: *hasResult = true; *hasResultType = true; break; 1981 case SpvOpFOrdNotEqual: *hasResult = true; *hasResultType = true; break; 1982 case SpvOpFUnordNotEqual: *hasResult = true; *hasResultType = true; break; 1983 case SpvOpFOrdLessThan: *hasResult = true; *hasResultType = true; break; 1984 case SpvOpFUnordLessThan: *hasResult = true; *hasResultType = true; break; 1985 case SpvOpFOrdGreaterThan: *hasResult = true; *hasResultType = true; break; 1986 case SpvOpFUnordGreaterThan: *hasResult = true; *hasResultType = true; break; 1987 case SpvOpFOrdLessThanEqual: *hasResult = true; *hasResultType = true; break; 1988 case SpvOpFUnordLessThanEqual: *hasResult = true; *hasResultType = true; break; 1989 case SpvOpFOrdGreaterThanEqual: *hasResult = true; *hasResultType = true; break; 1990 case SpvOpFUnordGreaterThanEqual: *hasResult = true; *hasResultType = true; break; 1991 case SpvOpShiftRightLogical: *hasResult = true; *hasResultType = true; break; 1992 case SpvOpShiftRightArithmetic: *hasResult = true; *hasResultType = true; break; 1993 case SpvOpShiftLeftLogical: *hasResult = true; *hasResultType = true; break; 1994 case SpvOpBitwiseOr: *hasResult = true; *hasResultType = true; break; 1995 case SpvOpBitwiseXor: *hasResult = true; *hasResultType = true; break; 1996 case SpvOpBitwiseAnd: *hasResult = true; *hasResultType = true; break; 1997 case SpvOpNot: *hasResult = true; *hasResultType = true; break; 1998 case SpvOpBitFieldInsert: *hasResult = true; *hasResultType = true; break; 1999 case SpvOpBitFieldSExtract: *hasResult = true; *hasResultType = true; break; 2000 case SpvOpBitFieldUExtract: *hasResult = true; *hasResultType = true; break; 2001 case SpvOpBitReverse: *hasResult = true; *hasResultType = true; break; 2002 case SpvOpBitCount: *hasResult = true; *hasResultType = true; break; 2003 case SpvOpDPdx: *hasResult = true; *hasResultType = true; break; 2004 case SpvOpDPdy: *hasResult = true; *hasResultType = true; break; 2005 case SpvOpFwidth: *hasResult = true; *hasResultType = true; break; 2006 case SpvOpDPdxFine: *hasResult = true; *hasResultType = true; break; 2007 case SpvOpDPdyFine: *hasResult = true; *hasResultType = true; break; 2008 case SpvOpFwidthFine: *hasResult = true; *hasResultType = true; break; 2009 case SpvOpDPdxCoarse: *hasResult = true; *hasResultType = true; break; 2010 case SpvOpDPdyCoarse: *hasResult = true; *hasResultType = true; break; 2011 case SpvOpFwidthCoarse: *hasResult = true; *hasResultType = true; break; 2012 case SpvOpEmitVertex: *hasResult = false; *hasResultType = false; break; 2013 case SpvOpEndPrimitive: *hasResult = false; *hasResultType = false; break; 2014 case SpvOpEmitStreamVertex: *hasResult = false; *hasResultType = false; break; 2015 case SpvOpEndStreamPrimitive: *hasResult = false; *hasResultType = false; break; 2016 case SpvOpControlBarrier: *hasResult = false; *hasResultType = false; break; 2017 case SpvOpMemoryBarrier: *hasResult = false; *hasResultType = false; break; 2018 case SpvOpAtomicLoad: *hasResult = true; *hasResultType = true; break; 2019 case SpvOpAtomicStore: *hasResult = false; *hasResultType = false; break; 2020 case SpvOpAtomicExchange: *hasResult = true; *hasResultType = true; break; 2021 case SpvOpAtomicCompareExchange: *hasResult = true; *hasResultType = true; break; 2022 case SpvOpAtomicCompareExchangeWeak: *hasResult = true; *hasResultType = true; break; 2023 case SpvOpAtomicIIncrement: *hasResult = true; *hasResultType = true; break; 2024 case SpvOpAtomicIDecrement: *hasResult = true; *hasResultType = true; break; 2025 case SpvOpAtomicIAdd: *hasResult = true; *hasResultType = true; break; 2026 case SpvOpAtomicISub: *hasResult = true; *hasResultType = true; break; 2027 case SpvOpAtomicSMin: *hasResult = true; *hasResultType = true; break; 2028 case SpvOpAtomicUMin: *hasResult = true; *hasResultType = true; break; 2029 case SpvOpAtomicSMax: *hasResult = true; *hasResultType = true; break; 2030 case SpvOpAtomicUMax: *hasResult = true; *hasResultType = true; break; 2031 case SpvOpAtomicAnd: *hasResult = true; *hasResultType = true; break; 2032 case SpvOpAtomicOr: *hasResult = true; *hasResultType = true; break; 2033 case SpvOpAtomicXor: *hasResult = true; *hasResultType = true; break; 2034 case SpvOpPhi: *hasResult = true; *hasResultType = true; break; 2035 case SpvOpLoopMerge: *hasResult = false; *hasResultType = false; break; 2036 case SpvOpSelectionMerge: *hasResult = false; *hasResultType = false; break; 2037 case SpvOpLabel: *hasResult = true; *hasResultType = false; break; 2038 case SpvOpBranch: *hasResult = false; *hasResultType = false; break; 2039 case SpvOpBranchConditional: *hasResult = false; *hasResultType = false; break; 2040 case SpvOpSwitch: *hasResult = false; *hasResultType = false; break; 2041 case SpvOpKill: *hasResult = false; *hasResultType = false; break; 2042 case SpvOpReturn: *hasResult = false; *hasResultType = false; break; 2043 case SpvOpReturnValue: *hasResult = false; *hasResultType = false; break; 2044 case SpvOpUnreachable: *hasResult = false; *hasResultType = false; break; 2045 case SpvOpLifetimeStart: *hasResult = false; *hasResultType = false; break; 2046 case SpvOpLifetimeStop: *hasResult = false; *hasResultType = false; break; 2047 case SpvOpGroupAsyncCopy: *hasResult = true; *hasResultType = true; break; 2048 case SpvOpGroupWaitEvents: *hasResult = false; *hasResultType = false; break; 2049 case SpvOpGroupAll: *hasResult = true; *hasResultType = true; break; 2050 case SpvOpGroupAny: *hasResult = true; *hasResultType = true; break; 2051 case SpvOpGroupBroadcast: *hasResult = true; *hasResultType = true; break; 2052 case SpvOpGroupIAdd: *hasResult = true; *hasResultType = true; break; 2053 case SpvOpGroupFAdd: *hasResult = true; *hasResultType = true; break; 2054 case SpvOpGroupFMin: *hasResult = true; *hasResultType = true; break; 2055 case SpvOpGroupUMin: *hasResult = true; *hasResultType = true; break; 2056 case SpvOpGroupSMin: *hasResult = true; *hasResultType = true; break; 2057 case SpvOpGroupFMax: *hasResult = true; *hasResultType = true; break; 2058 case SpvOpGroupUMax: *hasResult = true; *hasResultType = true; break; 2059 case SpvOpGroupSMax: *hasResult = true; *hasResultType = true; break; 2060 case SpvOpReadPipe: *hasResult = true; *hasResultType = true; break; 2061 case SpvOpWritePipe: *hasResult = true; *hasResultType = true; break; 2062 case SpvOpReservedReadPipe: *hasResult = true; *hasResultType = true; break; 2063 case SpvOpReservedWritePipe: *hasResult = true; *hasResultType = true; break; 2064 case SpvOpReserveReadPipePackets: *hasResult = true; *hasResultType = true; break; 2065 case SpvOpReserveWritePipePackets: *hasResult = true; *hasResultType = true; break; 2066 case SpvOpCommitReadPipe: *hasResult = false; *hasResultType = false; break; 2067 case SpvOpCommitWritePipe: *hasResult = false; *hasResultType = false; break; 2068 case SpvOpIsValidReserveId: *hasResult = true; *hasResultType = true; break; 2069 case SpvOpGetNumPipePackets: *hasResult = true; *hasResultType = true; break; 2070 case SpvOpGetMaxPipePackets: *hasResult = true; *hasResultType = true; break; 2071 case SpvOpGroupReserveReadPipePackets: *hasResult = true; *hasResultType = true; break; 2072 case SpvOpGroupReserveWritePipePackets: *hasResult = true; *hasResultType = true; break; 2073 case SpvOpGroupCommitReadPipe: *hasResult = false; *hasResultType = false; break; 2074 case SpvOpGroupCommitWritePipe: *hasResult = false; *hasResultType = false; break; 2075 case SpvOpEnqueueMarker: *hasResult = true; *hasResultType = true; break; 2076 case SpvOpEnqueueKernel: *hasResult = true; *hasResultType = true; break; 2077 case SpvOpGetKernelNDrangeSubGroupCount: *hasResult = true; *hasResultType = true; break; 2078 case SpvOpGetKernelNDrangeMaxSubGroupSize: *hasResult = true; *hasResultType = true; break; 2079 case SpvOpGetKernelWorkGroupSize: *hasResult = true; *hasResultType = true; break; 2080 case SpvOpGetKernelPreferredWorkGroupSizeMultiple: *hasResult = true; *hasResultType = true; break; 2081 case SpvOpRetainEvent: *hasResult = false; *hasResultType = false; break; 2082 case SpvOpReleaseEvent: *hasResult = false; *hasResultType = false; break; 2083 case SpvOpCreateUserEvent: *hasResult = true; *hasResultType = true; break; 2084 case SpvOpIsValidEvent: *hasResult = true; *hasResultType = true; break; 2085 case SpvOpSetUserEventStatus: *hasResult = false; *hasResultType = false; break; 2086 case SpvOpCaptureEventProfilingInfo: *hasResult = false; *hasResultType = false; break; 2087 case SpvOpGetDefaultQueue: *hasResult = true; *hasResultType = true; break; 2088 case SpvOpBuildNDRange: *hasResult = true; *hasResultType = true; break; 2089 case SpvOpImageSparseSampleImplicitLod: *hasResult = true; *hasResultType = true; break; 2090 case SpvOpImageSparseSampleExplicitLod: *hasResult = true; *hasResultType = true; break; 2091 case SpvOpImageSparseSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break; 2092 case SpvOpImageSparseSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break; 2093 case SpvOpImageSparseSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break; 2094 case SpvOpImageSparseSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break; 2095 case SpvOpImageSparseSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break; 2096 case SpvOpImageSparseSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break; 2097 case SpvOpImageSparseFetch: *hasResult = true; *hasResultType = true; break; 2098 case SpvOpImageSparseGather: *hasResult = true; *hasResultType = true; break; 2099 case SpvOpImageSparseDrefGather: *hasResult = true; *hasResultType = true; break; 2100 case SpvOpImageSparseTexelsResident: *hasResult = true; *hasResultType = true; break; 2101 case SpvOpNoLine: *hasResult = false; *hasResultType = false; break; 2102 case SpvOpAtomicFlagTestAndSet: *hasResult = true; *hasResultType = true; break; 2103 case SpvOpAtomicFlagClear: *hasResult = false; *hasResultType = false; break; 2104 case SpvOpImageSparseRead: *hasResult = true; *hasResultType = true; break; 2105 case SpvOpSizeOf: *hasResult = true; *hasResultType = true; break; 2106 case SpvOpTypePipeStorage: *hasResult = true; *hasResultType = false; break; 2107 case SpvOpConstantPipeStorage: *hasResult = true; *hasResultType = true; break; 2108 case SpvOpCreatePipeFromPipeStorage: *hasResult = true; *hasResultType = true; break; 2109 case SpvOpGetKernelLocalSizeForSubgroupCount: *hasResult = true; *hasResultType = true; break; 2110 case SpvOpGetKernelMaxNumSubgroups: *hasResult = true; *hasResultType = true; break; 2111 case SpvOpTypeNamedBarrier: *hasResult = true; *hasResultType = false; break; 2112 case SpvOpNamedBarrierInitialize: *hasResult = true; *hasResultType = true; break; 2113 case SpvOpMemoryNamedBarrier: *hasResult = false; *hasResultType = false; break; 2114 case SpvOpModuleProcessed: *hasResult = false; *hasResultType = false; break; 2115 case SpvOpExecutionModeId: *hasResult = false; *hasResultType = false; break; 2116 case SpvOpDecorateId: *hasResult = false; *hasResultType = false; break; 2117 case SpvOpGroupNonUniformElect: *hasResult = true; *hasResultType = true; break; 2118 case SpvOpGroupNonUniformAll: *hasResult = true; *hasResultType = true; break; 2119 case SpvOpGroupNonUniformAny: *hasResult = true; *hasResultType = true; break; 2120 case SpvOpGroupNonUniformAllEqual: *hasResult = true; *hasResultType = true; break; 2121 case SpvOpGroupNonUniformBroadcast: *hasResult = true; *hasResultType = true; break; 2122 case SpvOpGroupNonUniformBroadcastFirst: *hasResult = true; *hasResultType = true; break; 2123 case SpvOpGroupNonUniformBallot: *hasResult = true; *hasResultType = true; break; 2124 case SpvOpGroupNonUniformInverseBallot: *hasResult = true; *hasResultType = true; break; 2125 case SpvOpGroupNonUniformBallotBitExtract: *hasResult = true; *hasResultType = true; break; 2126 case SpvOpGroupNonUniformBallotBitCount: *hasResult = true; *hasResultType = true; break; 2127 case SpvOpGroupNonUniformBallotFindLSB: *hasResult = true; *hasResultType = true; break; 2128 case SpvOpGroupNonUniformBallotFindMSB: *hasResult = true; *hasResultType = true; break; 2129 case SpvOpGroupNonUniformShuffle: *hasResult = true; *hasResultType = true; break; 2130 case SpvOpGroupNonUniformShuffleXor: *hasResult = true; *hasResultType = true; break; 2131 case SpvOpGroupNonUniformShuffleUp: *hasResult = true; *hasResultType = true; break; 2132 case SpvOpGroupNonUniformShuffleDown: *hasResult = true; *hasResultType = true; break; 2133 case SpvOpGroupNonUniformIAdd: *hasResult = true; *hasResultType = true; break; 2134 case SpvOpGroupNonUniformFAdd: *hasResult = true; *hasResultType = true; break; 2135 case SpvOpGroupNonUniformIMul: *hasResult = true; *hasResultType = true; break; 2136 case SpvOpGroupNonUniformFMul: *hasResult = true; *hasResultType = true; break; 2137 case SpvOpGroupNonUniformSMin: *hasResult = true; *hasResultType = true; break; 2138 case SpvOpGroupNonUniformUMin: *hasResult = true; *hasResultType = true; break; 2139 case SpvOpGroupNonUniformFMin: *hasResult = true; *hasResultType = true; break; 2140 case SpvOpGroupNonUniformSMax: *hasResult = true; *hasResultType = true; break; 2141 case SpvOpGroupNonUniformUMax: *hasResult = true; *hasResultType = true; break; 2142 case SpvOpGroupNonUniformFMax: *hasResult = true; *hasResultType = true; break; 2143 case SpvOpGroupNonUniformBitwiseAnd: *hasResult = true; *hasResultType = true; break; 2144 case SpvOpGroupNonUniformBitwiseOr: *hasResult = true; *hasResultType = true; break; 2145 case SpvOpGroupNonUniformBitwiseXor: *hasResult = true; *hasResultType = true; break; 2146 case SpvOpGroupNonUniformLogicalAnd: *hasResult = true; *hasResultType = true; break; 2147 case SpvOpGroupNonUniformLogicalOr: *hasResult = true; *hasResultType = true; break; 2148 case SpvOpGroupNonUniformLogicalXor: *hasResult = true; *hasResultType = true; break; 2149 case SpvOpGroupNonUniformQuadBroadcast: *hasResult = true; *hasResultType = true; break; 2150 case SpvOpGroupNonUniformQuadSwap: *hasResult = true; *hasResultType = true; break; 2151 case SpvOpCopyLogical: *hasResult = true; *hasResultType = true; break; 2152 case SpvOpPtrEqual: *hasResult = true; *hasResultType = true; break; 2153 case SpvOpPtrNotEqual: *hasResult = true; *hasResultType = true; break; 2154 case SpvOpPtrDiff: *hasResult = true; *hasResultType = true; break; 2155 case SpvOpTerminateInvocation: *hasResult = false; *hasResultType = false; break; 2156 case SpvOpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break; 2157 case SpvOpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break; 2158 case SpvOpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break; 2159 case SpvOpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break; 2160 case SpvOpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break; 2161 case SpvOpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break; 2162 case SpvOpTraceRayKHR: *hasResult = false; *hasResultType = false; break; 2163 case SpvOpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break; 2164 case SpvOpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break; 2165 case SpvOpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break; 2166 case SpvOpTerminateRayKHR: *hasResult = false; *hasResultType = false; break; 2167 case SpvOpSDotKHR: *hasResult = true; *hasResultType = true; break; 2168 case SpvOpUDotKHR: *hasResult = true; *hasResultType = true; break; 2169 case SpvOpSUDotKHR: *hasResult = true; *hasResultType = true; break; 2170 case SpvOpSDotAccSatKHR: *hasResult = true; *hasResultType = true; break; 2171 case SpvOpUDotAccSatKHR: *hasResult = true; *hasResultType = true; break; 2172 case SpvOpSUDotAccSatKHR: *hasResult = true; *hasResultType = true; break; 2173 case SpvOpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break; 2174 case SpvOpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break; 2175 case SpvOpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break; 2176 case SpvOpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break; 2177 case SpvOpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break; 2178 case SpvOpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break; 2179 case SpvOpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break; 2180 case SpvOpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break; 2181 case SpvOpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break; 2182 case SpvOpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break; 2183 case SpvOpGroupUMinNonUniformAMD: *hasResult = true; *hasResultType = true; break; 2184 case SpvOpGroupSMinNonUniformAMD: *hasResult = true; *hasResultType = true; break; 2185 case SpvOpGroupFMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break; 2186 case SpvOpGroupUMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break; 2187 case SpvOpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break; 2188 case SpvOpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break; 2189 case SpvOpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break; 2190 case SpvOpReadClockKHR: *hasResult = true; *hasResultType = true; break; 2191 case SpvOpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break; 2192 case SpvOpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break; 2193 case SpvOpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break; 2194 case SpvOpReportIntersectionNV: *hasResult = true; *hasResultType = true; break; 2195 case SpvOpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break; 2196 case SpvOpTerminateRayNV: *hasResult = false; *hasResultType = false; break; 2197 case SpvOpTraceNV: *hasResult = false; *hasResultType = false; break; 2198 case SpvOpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break; 2199 case SpvOpExecuteCallableNV: *hasResult = false; *hasResultType = false; break; 2200 case SpvOpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break; 2201 case SpvOpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break; 2202 case SpvOpCooperativeMatrixStoreNV: *hasResult = false; *hasResultType = false; break; 2203 case SpvOpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break; 2204 case SpvOpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break; 2205 case SpvOpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break; 2206 case SpvOpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break; 2207 case SpvOpDemoteToHelperInvocationEXT: *hasResult = false; *hasResultType = false; break; 2208 case SpvOpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break; 2209 case SpvOpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break; 2210 case SpvOpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break; 2211 case SpvOpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break; 2212 case SpvOpSubgroupShuffleXorINTEL: *hasResult = true; *hasResultType = true; break; 2213 case SpvOpSubgroupBlockReadINTEL: *hasResult = true; *hasResultType = true; break; 2214 case SpvOpSubgroupBlockWriteINTEL: *hasResult = false; *hasResultType = false; break; 2215 case SpvOpSubgroupImageBlockReadINTEL: *hasResult = true; *hasResultType = true; break; 2216 case SpvOpSubgroupImageBlockWriteINTEL: *hasResult = false; *hasResultType = false; break; 2217 case SpvOpSubgroupImageMediaBlockReadINTEL: *hasResult = true; *hasResultType = true; break; 2218 case SpvOpSubgroupImageMediaBlockWriteINTEL: *hasResult = false; *hasResultType = false; break; 2219 case SpvOpUCountLeadingZerosINTEL: *hasResult = true; *hasResultType = true; break; 2220 case SpvOpUCountTrailingZerosINTEL: *hasResult = true; *hasResultType = true; break; 2221 case SpvOpAbsISubINTEL: *hasResult = true; *hasResultType = true; break; 2222 case SpvOpAbsUSubINTEL: *hasResult = true; *hasResultType = true; break; 2223 case SpvOpIAddSatINTEL: *hasResult = true; *hasResultType = true; break; 2224 case SpvOpUAddSatINTEL: *hasResult = true; *hasResultType = true; break; 2225 case SpvOpIAverageINTEL: *hasResult = true; *hasResultType = true; break; 2226 case SpvOpUAverageINTEL: *hasResult = true; *hasResultType = true; break; 2227 case SpvOpIAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break; 2228 case SpvOpUAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break; 2229 case SpvOpISubSatINTEL: *hasResult = true; *hasResultType = true; break; 2230 case SpvOpUSubSatINTEL: *hasResult = true; *hasResultType = true; break; 2231 case SpvOpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break; 2232 case SpvOpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break; 2233 case SpvOpConstFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break; 2234 case SpvOpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break; 2235 case SpvOpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break; 2236 case SpvOpAsmINTEL: *hasResult = true; *hasResultType = true; break; 2237 case SpvOpAsmCallINTEL: *hasResult = true; *hasResultType = true; break; 2238 case SpvOpAtomicFMinEXT: *hasResult = true; *hasResultType = true; break; 2239 case SpvOpAtomicFMaxEXT: *hasResult = true; *hasResultType = true; break; 2240 case SpvOpAssumeTrueKHR: *hasResult = false; *hasResultType = false; break; 2241 case SpvOpExpectKHR: *hasResult = true; *hasResultType = true; break; 2242 case SpvOpDecorateString: *hasResult = false; *hasResultType = false; break; 2243 case SpvOpMemberDecorateString: *hasResult = false; *hasResultType = false; break; 2244 case SpvOpVmeImageINTEL: *hasResult = true; *hasResultType = true; break; 2245 case SpvOpTypeVmeImageINTEL: *hasResult = true; *hasResultType = false; break; 2246 case SpvOpTypeAvcImePayloadINTEL: *hasResult = true; *hasResultType = false; break; 2247 case SpvOpTypeAvcRefPayloadINTEL: *hasResult = true; *hasResultType = false; break; 2248 case SpvOpTypeAvcSicPayloadINTEL: *hasResult = true; *hasResultType = false; break; 2249 case SpvOpTypeAvcMcePayloadINTEL: *hasResult = true; *hasResultType = false; break; 2250 case SpvOpTypeAvcMceResultINTEL: *hasResult = true; *hasResultType = false; break; 2251 case SpvOpTypeAvcImeResultINTEL: *hasResult = true; *hasResultType = false; break; 2252 case SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break; 2253 case SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break; 2254 case SpvOpTypeAvcImeSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break; 2255 case SpvOpTypeAvcImeDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break; 2256 case SpvOpTypeAvcRefResultINTEL: *hasResult = true; *hasResultType = false; break; 2257 case SpvOpTypeAvcSicResultINTEL: *hasResult = true; *hasResultType = false; break; 2258 case SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break; 2259 case SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break; 2260 case SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break; 2261 case SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break; 2262 case SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break; 2263 case SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break; 2264 case SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break; 2265 case SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: *hasResult = true; *hasResultType = true; break; 2266 case SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break; 2267 case SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break; 2268 case SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break; 2269 case SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: *hasResult = true; *hasResultType = true; break; 2270 case SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: *hasResult = true; *hasResultType = true; break; 2271 case SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: *hasResult = true; *hasResultType = true; break; 2272 case SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: *hasResult = true; *hasResultType = true; break; 2273 case SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL: *hasResult = true; *hasResultType = true; break; 2274 case SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break; 2275 case SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break; 2276 case SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break; 2277 case SpvOpSubgroupAvcMceConvertToImePayloadINTEL: *hasResult = true; *hasResultType = true; break; 2278 case SpvOpSubgroupAvcMceConvertToImeResultINTEL: *hasResult = true; *hasResultType = true; break; 2279 case SpvOpSubgroupAvcMceConvertToRefPayloadINTEL: *hasResult = true; *hasResultType = true; break; 2280 case SpvOpSubgroupAvcMceConvertToRefResultINTEL: *hasResult = true; *hasResultType = true; break; 2281 case SpvOpSubgroupAvcMceConvertToSicPayloadINTEL: *hasResult = true; *hasResultType = true; break; 2282 case SpvOpSubgroupAvcMceConvertToSicResultINTEL: *hasResult = true; *hasResultType = true; break; 2283 case SpvOpSubgroupAvcMceGetMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break; 2284 case SpvOpSubgroupAvcMceGetInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break; 2285 case SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break; 2286 case SpvOpSubgroupAvcMceGetInterMajorShapeINTEL: *hasResult = true; *hasResultType = true; break; 2287 case SpvOpSubgroupAvcMceGetInterMinorShapeINTEL: *hasResult = true; *hasResultType = true; break; 2288 case SpvOpSubgroupAvcMceGetInterDirectionsINTEL: *hasResult = true; *hasResultType = true; break; 2289 case SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break; 2290 case SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break; 2291 case SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break; 2292 case SpvOpSubgroupAvcImeInitializeINTEL: *hasResult = true; *hasResultType = true; break; 2293 case SpvOpSubgroupAvcImeSetSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break; 2294 case SpvOpSubgroupAvcImeSetDualReferenceINTEL: *hasResult = true; *hasResultType = true; break; 2295 case SpvOpSubgroupAvcImeRefWindowSizeINTEL: *hasResult = true; *hasResultType = true; break; 2296 case SpvOpSubgroupAvcImeAdjustRefOffsetINTEL: *hasResult = true; *hasResultType = true; break; 2297 case SpvOpSubgroupAvcImeConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break; 2298 case SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break; 2299 case SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break; 2300 case SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: *hasResult = true; *hasResultType = true; break; 2301 case SpvOpSubgroupAvcImeSetWeightedSadINTEL: *hasResult = true; *hasResultType = true; break; 2302 case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break; 2303 case SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break; 2304 case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break; 2305 case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break; 2306 case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break; 2307 case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break; 2308 case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break; 2309 case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break; 2310 case SpvOpSubgroupAvcImeConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break; 2311 case SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break; 2312 case SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break; 2313 case SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break; 2314 case SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break; 2315 case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break; 2316 case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break; 2317 case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break; 2318 case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break; 2319 case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break; 2320 case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break; 2321 case SpvOpSubgroupAvcImeGetBorderReachedINTEL: *hasResult = true; *hasResultType = true; break; 2322 case SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: *hasResult = true; *hasResultType = true; break; 2323 case SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: *hasResult = true; *hasResultType = true; break; 2324 case SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: *hasResult = true; *hasResultType = true; break; 2325 case SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: *hasResult = true; *hasResultType = true; break; 2326 case SpvOpSubgroupAvcFmeInitializeINTEL: *hasResult = true; *hasResultType = true; break; 2327 case SpvOpSubgroupAvcBmeInitializeINTEL: *hasResult = true; *hasResultType = true; break; 2328 case SpvOpSubgroupAvcRefConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break; 2329 case SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break; 2330 case SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break; 2331 case SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break; 2332 case SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break; 2333 case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break; 2334 case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break; 2335 case SpvOpSubgroupAvcRefConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break; 2336 case SpvOpSubgroupAvcSicInitializeINTEL: *hasResult = true; *hasResultType = true; break; 2337 case SpvOpSubgroupAvcSicConfigureSkcINTEL: *hasResult = true; *hasResultType = true; break; 2338 case SpvOpSubgroupAvcSicConfigureIpeLumaINTEL: *hasResult = true; *hasResultType = true; break; 2339 case SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL: *hasResult = true; *hasResultType = true; break; 2340 case SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL: *hasResult = true; *hasResultType = true; break; 2341 case SpvOpSubgroupAvcSicConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break; 2342 case SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break; 2343 case SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break; 2344 case SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break; 2345 case SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break; 2346 case SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: *hasResult = true; *hasResultType = true; break; 2347 case SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: *hasResult = true; *hasResultType = true; break; 2348 case SpvOpSubgroupAvcSicEvaluateIpeINTEL: *hasResult = true; *hasResultType = true; break; 2349 case SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break; 2350 case SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break; 2351 case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break; 2352 case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break; 2353 case SpvOpSubgroupAvcSicConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break; 2354 case SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL: *hasResult = true; *hasResultType = true; break; 2355 case SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: *hasResult = true; *hasResultType = true; break; 2356 case SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: *hasResult = true; *hasResultType = true; break; 2357 case SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL: *hasResult = true; *hasResultType = true; break; 2358 case SpvOpSubgroupAvcSicGetIpeChromaModeINTEL: *hasResult = true; *hasResultType = true; break; 2359 case SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break; 2360 case SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break; 2361 case SpvOpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break; 2362 case SpvOpVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break; 2363 case SpvOpSaveMemoryINTEL: *hasResult = true; *hasResultType = true; break; 2364 case SpvOpRestoreMemoryINTEL: *hasResult = false; *hasResultType = false; break; 2365 case SpvOpArbitraryFloatSinCosPiINTEL: *hasResult = true; *hasResultType = true; break; 2366 case SpvOpArbitraryFloatCastINTEL: *hasResult = true; *hasResultType = true; break; 2367 case SpvOpArbitraryFloatCastFromIntINTEL: *hasResult = true; *hasResultType = true; break; 2368 case SpvOpArbitraryFloatCastToIntINTEL: *hasResult = true; *hasResultType = true; break; 2369 case SpvOpArbitraryFloatAddINTEL: *hasResult = true; *hasResultType = true; break; 2370 case SpvOpArbitraryFloatSubINTEL: *hasResult = true; *hasResultType = true; break; 2371 case SpvOpArbitraryFloatMulINTEL: *hasResult = true; *hasResultType = true; break; 2372 case SpvOpArbitraryFloatDivINTEL: *hasResult = true; *hasResultType = true; break; 2373 case SpvOpArbitraryFloatGTINTEL: *hasResult = true; *hasResultType = true; break; 2374 case SpvOpArbitraryFloatGEINTEL: *hasResult = true; *hasResultType = true; break; 2375 case SpvOpArbitraryFloatLTINTEL: *hasResult = true; *hasResultType = true; break; 2376 case SpvOpArbitraryFloatLEINTEL: *hasResult = true; *hasResultType = true; break; 2377 case SpvOpArbitraryFloatEQINTEL: *hasResult = true; *hasResultType = true; break; 2378 case SpvOpArbitraryFloatRecipINTEL: *hasResult = true; *hasResultType = true; break; 2379 case SpvOpArbitraryFloatRSqrtINTEL: *hasResult = true; *hasResultType = true; break; 2380 case SpvOpArbitraryFloatCbrtINTEL: *hasResult = true; *hasResultType = true; break; 2381 case SpvOpArbitraryFloatHypotINTEL: *hasResult = true; *hasResultType = true; break; 2382 case SpvOpArbitraryFloatSqrtINTEL: *hasResult = true; *hasResultType = true; break; 2383 case SpvOpArbitraryFloatLogINTEL: *hasResult = true; *hasResultType = true; break; 2384 case SpvOpArbitraryFloatLog2INTEL: *hasResult = true; *hasResultType = true; break; 2385 case SpvOpArbitraryFloatLog10INTEL: *hasResult = true; *hasResultType = true; break; 2386 case SpvOpArbitraryFloatLog1pINTEL: *hasResult = true; *hasResultType = true; break; 2387 case SpvOpArbitraryFloatExpINTEL: *hasResult = true; *hasResultType = true; break; 2388 case SpvOpArbitraryFloatExp2INTEL: *hasResult = true; *hasResultType = true; break; 2389 case SpvOpArbitraryFloatExp10INTEL: *hasResult = true; *hasResultType = true; break; 2390 case SpvOpArbitraryFloatExpm1INTEL: *hasResult = true; *hasResultType = true; break; 2391 case SpvOpArbitraryFloatSinINTEL: *hasResult = true; *hasResultType = true; break; 2392 case SpvOpArbitraryFloatCosINTEL: *hasResult = true; *hasResultType = true; break; 2393 case SpvOpArbitraryFloatSinCosINTEL: *hasResult = true; *hasResultType = true; break; 2394 case SpvOpArbitraryFloatSinPiINTEL: *hasResult = true; *hasResultType = true; break; 2395 case SpvOpArbitraryFloatCosPiINTEL: *hasResult = true; *hasResultType = true; break; 2396 case SpvOpArbitraryFloatASinINTEL: *hasResult = true; *hasResultType = true; break; 2397 case SpvOpArbitraryFloatASinPiINTEL: *hasResult = true; *hasResultType = true; break; 2398 case SpvOpArbitraryFloatACosINTEL: *hasResult = true; *hasResultType = true; break; 2399 case SpvOpArbitraryFloatACosPiINTEL: *hasResult = true; *hasResultType = true; break; 2400 case SpvOpArbitraryFloatATanINTEL: *hasResult = true; *hasResultType = true; break; 2401 case SpvOpArbitraryFloatATanPiINTEL: *hasResult = true; *hasResultType = true; break; 2402 case SpvOpArbitraryFloatATan2INTEL: *hasResult = true; *hasResultType = true; break; 2403 case SpvOpArbitraryFloatPowINTEL: *hasResult = true; *hasResultType = true; break; 2404 case SpvOpArbitraryFloatPowRINTEL: *hasResult = true; *hasResultType = true; break; 2405 case SpvOpArbitraryFloatPowNINTEL: *hasResult = true; *hasResultType = true; break; 2406 case SpvOpLoopControlINTEL: *hasResult = false; *hasResultType = false; break; 2407 case SpvOpFixedSqrtINTEL: *hasResult = true; *hasResultType = true; break; 2408 case SpvOpFixedRecipINTEL: *hasResult = true; *hasResultType = true; break; 2409 case SpvOpFixedRsqrtINTEL: *hasResult = true; *hasResultType = true; break; 2410 case SpvOpFixedSinINTEL: *hasResult = true; *hasResultType = true; break; 2411 case SpvOpFixedCosINTEL: *hasResult = true; *hasResultType = true; break; 2412 case SpvOpFixedSinCosINTEL: *hasResult = true; *hasResultType = true; break; 2413 case SpvOpFixedSinPiINTEL: *hasResult = true; *hasResultType = true; break; 2414 case SpvOpFixedCosPiINTEL: *hasResult = true; *hasResultType = true; break; 2415 case SpvOpFixedSinCosPiINTEL: *hasResult = true; *hasResultType = true; break; 2416 case SpvOpFixedLogINTEL: *hasResult = true; *hasResultType = true; break; 2417 case SpvOpFixedExpINTEL: *hasResult = true; *hasResultType = true; break; 2418 case SpvOpPtrCastToCrossWorkgroupINTEL: *hasResult = true; *hasResultType = true; break; 2419 case SpvOpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break; 2420 case SpvOpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break; 2421 case SpvOpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break; 2422 case SpvOpFPGARegINTEL: *hasResult = true; *hasResultType = true; break; 2423 case SpvOpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break; 2424 case SpvOpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break; 2425 case SpvOpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break; 2426 case SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break; 2427 case SpvOpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break; 2428 case SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break; 2429 case SpvOpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break; 2430 case SpvOpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break; 2431 case SpvOpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break; 2432 case SpvOpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break; 2433 case SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break; 2434 case SpvOpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break; 2435 case SpvOpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break; 2436 case SpvOpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break; 2437 case SpvOpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break; 2438 case SpvOpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break; 2439 case SpvOpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break; 2440 case SpvOpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break; 2441 case SpvOpTypeBufferSurfaceINTEL: *hasResult = true; *hasResultType = false; break; 2442 case SpvOpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break; 2443 case SpvOpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break; 2444 case SpvOpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break; 2445 } 2446} 2447#endif /* SPV_ENABLE_UTILITY_CODE */ 2448 2449#endif 2450 2451