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