101e04c3fSmrg/*
27ec681f3Smrg** Copyright (c) 2014-2020 The Khronos Group Inc.
301e04c3fSmrg**
401e04c3fSmrg** Permission is hereby granted, free of charge, to any person obtaining a copy
501e04c3fSmrg** of this software and/or associated documentation files (the "Materials"),
601e04c3fSmrg** to deal in the Materials without restriction, including without limitation
701e04c3fSmrg** the rights to use, copy, modify, merge, publish, distribute, sublicense,
801e04c3fSmrg** and/or sell copies of the Materials, and to permit persons to whom the
901e04c3fSmrg** Materials are furnished to do so, subject to the following conditions:
1001e04c3fSmrg**
1101e04c3fSmrg** The above copyright notice and this permission notice shall be included in
1201e04c3fSmrg** all copies or substantial portions of the Materials.
1301e04c3fSmrg**
1401e04c3fSmrg** MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
1501e04c3fSmrg** STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
1601e04c3fSmrg** HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/
1701e04c3fSmrg**
1801e04c3fSmrg** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1901e04c3fSmrg** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2001e04c3fSmrg** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
2101e04c3fSmrg** THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
2201e04c3fSmrg** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
2301e04c3fSmrg** FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
2401e04c3fSmrg** IN THE MATERIALS.
2501e04c3fSmrg*/
2601e04c3fSmrg
2701e04c3fSmrg/*
2801e04c3fSmrg** This header is automatically generated by the same tool that creates
2901e04c3fSmrg** the Binary Section of the SPIR-V specification.
3001e04c3fSmrg*/
3101e04c3fSmrg
3201e04c3fSmrg/*
3301e04c3fSmrg** Enumeration tokens for SPIR-V, in various styles:
347e102996Smaya**   C, C++, C++11, JSON, Lua, Python, C#, D
3501e04c3fSmrg**
3601e04c3fSmrg** - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
3701e04c3fSmrg** - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
3801e04c3fSmrg** - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
3901e04c3fSmrg** - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
4001e04c3fSmrg** - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
417e102996Smaya** - C# will use enum classes in the Specification class located in the "Spv" namespace,
427e102996Smaya**     e.g.: Spv.Specification.SourceLanguage.GLSL
437e102996Smaya** - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
4401e04c3fSmrg**
4501e04c3fSmrg** Some tokens act like mask values, which can be OR'd together,
4601e04c3fSmrg** while others are mutually exclusive.  The mask-like ones have
4701e04c3fSmrg** "Mask" in their name, and a parallel enum that has the shift
4801e04c3fSmrg** amount (1 << x) for each corresponding enumerant.
4901e04c3fSmrg*/
5001e04c3fSmrg
5101e04c3fSmrg#ifndef spirv_H
5201e04c3fSmrg#define spirv_H
5301e04c3fSmrg
5401e04c3fSmrgtypedef unsigned int SpvId;
5501e04c3fSmrg
567ec681f3Smrg#define SPV_VERSION 0x10500
577ec681f3Smrg#define SPV_REVISION 4
5801e04c3fSmrg
5901e04c3fSmrgstatic const unsigned int SpvMagicNumber = 0x07230203;
607ec681f3Smrgstatic const unsigned int SpvVersion = 0x00010500;
617ec681f3Smrgstatic const unsigned int SpvRevision = 4;
6201e04c3fSmrgstatic const unsigned int SpvOpCodeMask = 0xffff;
6301e04c3fSmrgstatic const unsigned int SpvWordCountShift = 16;
6401e04c3fSmrg
6501e04c3fSmrgtypedef enum SpvSourceLanguage_ {
6601e04c3fSmrg    SpvSourceLanguageUnknown = 0,
6701e04c3fSmrg    SpvSourceLanguageESSL = 1,
6801e04c3fSmrg    SpvSourceLanguageGLSL = 2,
6901e04c3fSmrg    SpvSourceLanguageOpenCL_C = 3,
7001e04c3fSmrg    SpvSourceLanguageOpenCL_CPP = 4,
7101e04c3fSmrg    SpvSourceLanguageHLSL = 5,
727ec681f3Smrg    SpvSourceLanguageCPP_for_OpenCL = 6,
7301e04c3fSmrg    SpvSourceLanguageMax = 0x7fffffff,
7401e04c3fSmrg} SpvSourceLanguage;
7501e04c3fSmrg
7601e04c3fSmrgtypedef enum SpvExecutionModel_ {
7701e04c3fSmrg    SpvExecutionModelVertex = 0,
7801e04c3fSmrg    SpvExecutionModelTessellationControl = 1,
7901e04c3fSmrg    SpvExecutionModelTessellationEvaluation = 2,
8001e04c3fSmrg    SpvExecutionModelGeometry = 3,
8101e04c3fSmrg    SpvExecutionModelFragment = 4,
8201e04c3fSmrg    SpvExecutionModelGLCompute = 5,
8301e04c3fSmrg    SpvExecutionModelKernel = 6,
8401e04c3fSmrg    SpvExecutionModelTaskNV = 5267,
8501e04c3fSmrg    SpvExecutionModelMeshNV = 5268,
867ec681f3Smrg    SpvExecutionModelRayGenerationKHR = 5313,
877e102996Smaya    SpvExecutionModelRayGenerationNV = 5313,
887ec681f3Smrg    SpvExecutionModelIntersectionKHR = 5314,
897e102996Smaya    SpvExecutionModelIntersectionNV = 5314,
907ec681f3Smrg    SpvExecutionModelAnyHitKHR = 5315,
917e102996Smaya    SpvExecutionModelAnyHitNV = 5315,
927ec681f3Smrg    SpvExecutionModelClosestHitKHR = 5316,
937e102996Smaya    SpvExecutionModelClosestHitNV = 5316,
947ec681f3Smrg    SpvExecutionModelMissKHR = 5317,
957e102996Smaya    SpvExecutionModelMissNV = 5317,
967ec681f3Smrg    SpvExecutionModelCallableKHR = 5318,
977e102996Smaya    SpvExecutionModelCallableNV = 5318,
9801e04c3fSmrg    SpvExecutionModelMax = 0x7fffffff,
9901e04c3fSmrg} SpvExecutionModel;
10001e04c3fSmrg
10101e04c3fSmrgtypedef enum SpvAddressingModel_ {
10201e04c3fSmrg    SpvAddressingModelLogical = 0,
10301e04c3fSmrg    SpvAddressingModelPhysical32 = 1,
10401e04c3fSmrg    SpvAddressingModelPhysical64 = 2,
1057ec681f3Smrg    SpvAddressingModelPhysicalStorageBuffer64 = 5348,
1067e102996Smaya    SpvAddressingModelPhysicalStorageBuffer64EXT = 5348,
10701e04c3fSmrg    SpvAddressingModelMax = 0x7fffffff,
10801e04c3fSmrg} SpvAddressingModel;
10901e04c3fSmrg
11001e04c3fSmrgtypedef enum SpvMemoryModel_ {
11101e04c3fSmrg    SpvMemoryModelSimple = 0,
11201e04c3fSmrg    SpvMemoryModelGLSL450 = 1,
11301e04c3fSmrg    SpvMemoryModelOpenCL = 2,
1147ec681f3Smrg    SpvMemoryModelVulkan = 3,
11501e04c3fSmrg    SpvMemoryModelVulkanKHR = 3,
11601e04c3fSmrg    SpvMemoryModelMax = 0x7fffffff,
11701e04c3fSmrg} SpvMemoryModel;
11801e04c3fSmrg
11901e04c3fSmrgtypedef enum SpvExecutionMode_ {
12001e04c3fSmrg    SpvExecutionModeInvocations = 0,
12101e04c3fSmrg    SpvExecutionModeSpacingEqual = 1,
12201e04c3fSmrg    SpvExecutionModeSpacingFractionalEven = 2,
12301e04c3fSmrg    SpvExecutionModeSpacingFractionalOdd = 3,
12401e04c3fSmrg    SpvExecutionModeVertexOrderCw = 4,
12501e04c3fSmrg    SpvExecutionModeVertexOrderCcw = 5,
12601e04c3fSmrg    SpvExecutionModePixelCenterInteger = 6,
12701e04c3fSmrg    SpvExecutionModeOriginUpperLeft = 7,
12801e04c3fSmrg    SpvExecutionModeOriginLowerLeft = 8,
12901e04c3fSmrg    SpvExecutionModeEarlyFragmentTests = 9,
13001e04c3fSmrg    SpvExecutionModePointMode = 10,
13101e04c3fSmrg    SpvExecutionModeXfb = 11,
13201e04c3fSmrg    SpvExecutionModeDepthReplacing = 12,
13301e04c3fSmrg    SpvExecutionModeDepthGreater = 14,
13401e04c3fSmrg    SpvExecutionModeDepthLess = 15,
13501e04c3fSmrg    SpvExecutionModeDepthUnchanged = 16,
13601e04c3fSmrg    SpvExecutionModeLocalSize = 17,
13701e04c3fSmrg    SpvExecutionModeLocalSizeHint = 18,
13801e04c3fSmrg    SpvExecutionModeInputPoints = 19,
13901e04c3fSmrg    SpvExecutionModeInputLines = 20,
14001e04c3fSmrg    SpvExecutionModeInputLinesAdjacency = 21,
14101e04c3fSmrg    SpvExecutionModeTriangles = 22,
14201e04c3fSmrg    SpvExecutionModeInputTrianglesAdjacency = 23,
14301e04c3fSmrg    SpvExecutionModeQuads = 24,
14401e04c3fSmrg    SpvExecutionModeIsolines = 25,
14501e04c3fSmrg    SpvExecutionModeOutputVertices = 26,
14601e04c3fSmrg    SpvExecutionModeOutputPoints = 27,
14701e04c3fSmrg    SpvExecutionModeOutputLineStrip = 28,
14801e04c3fSmrg    SpvExecutionModeOutputTriangleStrip = 29,
14901e04c3fSmrg    SpvExecutionModeVecTypeHint = 30,
15001e04c3fSmrg    SpvExecutionModeContractionOff = 31,
15101e04c3fSmrg    SpvExecutionModeInitializer = 33,
15201e04c3fSmrg    SpvExecutionModeFinalizer = 34,
15301e04c3fSmrg    SpvExecutionModeSubgroupSize = 35,
15401e04c3fSmrg    SpvExecutionModeSubgroupsPerWorkgroup = 36,
15501e04c3fSmrg    SpvExecutionModeSubgroupsPerWorkgroupId = 37,
15601e04c3fSmrg    SpvExecutionModeLocalSizeId = 38,
15701e04c3fSmrg    SpvExecutionModeLocalSizeHintId = 39,
1587ec681f3Smrg    SpvExecutionModeSubgroupUniformControlFlowKHR = 4421,
15901e04c3fSmrg    SpvExecutionModePostDepthCoverage = 4446,
1607e102996Smaya    SpvExecutionModeDenormPreserve = 4459,
1617e102996Smaya    SpvExecutionModeDenormFlushToZero = 4460,
1627e102996Smaya    SpvExecutionModeSignedZeroInfNanPreserve = 4461,
1637e102996Smaya    SpvExecutionModeRoundingModeRTE = 4462,
1647e102996Smaya    SpvExecutionModeRoundingModeRTZ = 4463,
16501e04c3fSmrg    SpvExecutionModeStencilRefReplacingEXT = 5027,
16601e04c3fSmrg    SpvExecutionModeOutputLinesNV = 5269,
16701e04c3fSmrg    SpvExecutionModeOutputPrimitivesNV = 5270,
16801e04c3fSmrg    SpvExecutionModeDerivativeGroupQuadsNV = 5289,
16901e04c3fSmrg    SpvExecutionModeDerivativeGroupLinearNV = 5290,
17001e04c3fSmrg    SpvExecutionModeOutputTrianglesNV = 5298,
1717ec681f3Smrg    SpvExecutionModePixelInterlockOrderedEXT = 5366,
1727ec681f3Smrg    SpvExecutionModePixelInterlockUnorderedEXT = 5367,
1737ec681f3Smrg    SpvExecutionModeSampleInterlockOrderedEXT = 5368,
1747ec681f3Smrg    SpvExecutionModeSampleInterlockUnorderedEXT = 5369,
1757ec681f3Smrg    SpvExecutionModeShadingRateInterlockOrderedEXT = 5370,
1767ec681f3Smrg    SpvExecutionModeShadingRateInterlockUnorderedEXT = 5371,
1777ec681f3Smrg    SpvExecutionModeSharedLocalMemorySizeINTEL = 5618,
1787ec681f3Smrg    SpvExecutionModeRoundingModeRTPINTEL = 5620,
1797ec681f3Smrg    SpvExecutionModeRoundingModeRTNINTEL = 5621,
1807ec681f3Smrg    SpvExecutionModeFloatingPointModeALTINTEL = 5622,
1817ec681f3Smrg    SpvExecutionModeFloatingPointModeIEEEINTEL = 5623,
1827ec681f3Smrg    SpvExecutionModeMaxWorkgroupSizeINTEL = 5893,
1837ec681f3Smrg    SpvExecutionModeMaxWorkDimINTEL = 5894,
1847ec681f3Smrg    SpvExecutionModeNoGlobalOffsetINTEL = 5895,
1857ec681f3Smrg    SpvExecutionModeNumSIMDWorkitemsINTEL = 5896,
1867ec681f3Smrg    SpvExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,
18701e04c3fSmrg    SpvExecutionModeMax = 0x7fffffff,
18801e04c3fSmrg} SpvExecutionMode;
18901e04c3fSmrg
19001e04c3fSmrgtypedef enum SpvStorageClass_ {
19101e04c3fSmrg    SpvStorageClassUniformConstant = 0,
19201e04c3fSmrg    SpvStorageClassInput = 1,
19301e04c3fSmrg    SpvStorageClassUniform = 2,
19401e04c3fSmrg    SpvStorageClassOutput = 3,
19501e04c3fSmrg    SpvStorageClassWorkgroup = 4,
19601e04c3fSmrg    SpvStorageClassCrossWorkgroup = 5,
19701e04c3fSmrg    SpvStorageClassPrivate = 6,
19801e04c3fSmrg    SpvStorageClassFunction = 7,
19901e04c3fSmrg    SpvStorageClassGeneric = 8,
20001e04c3fSmrg    SpvStorageClassPushConstant = 9,
20101e04c3fSmrg    SpvStorageClassAtomicCounter = 10,
20201e04c3fSmrg    SpvStorageClassImage = 11,
20301e04c3fSmrg    SpvStorageClassStorageBuffer = 12,
2047ec681f3Smrg    SpvStorageClassCallableDataKHR = 5328,
2057e102996Smaya    SpvStorageClassCallableDataNV = 5328,
2067ec681f3Smrg    SpvStorageClassIncomingCallableDataKHR = 5329,
2077e102996Smaya    SpvStorageClassIncomingCallableDataNV = 5329,
2087ec681f3Smrg    SpvStorageClassRayPayloadKHR = 5338,
2097e102996Smaya    SpvStorageClassRayPayloadNV = 5338,
2107ec681f3Smrg    SpvStorageClassHitAttributeKHR = 5339,
2117e102996Smaya    SpvStorageClassHitAttributeNV = 5339,
2127ec681f3Smrg    SpvStorageClassIncomingRayPayloadKHR = 5342,
2137e102996Smaya    SpvStorageClassIncomingRayPayloadNV = 5342,
2147ec681f3Smrg    SpvStorageClassShaderRecordBufferKHR = 5343,
2157e102996Smaya    SpvStorageClassShaderRecordBufferNV = 5343,
2167ec681f3Smrg    SpvStorageClassPhysicalStorageBuffer = 5349,
2177e102996Smaya    SpvStorageClassPhysicalStorageBufferEXT = 5349,
2187ec681f3Smrg    SpvStorageClassCodeSectionINTEL = 5605,
2197ec681f3Smrg    SpvStorageClassDeviceOnlyINTEL = 5936,
2207ec681f3Smrg    SpvStorageClassHostOnlyINTEL = 5937,
22101e04c3fSmrg    SpvStorageClassMax = 0x7fffffff,
22201e04c3fSmrg} SpvStorageClass;
22301e04c3fSmrg
22401e04c3fSmrgtypedef enum SpvDim_ {
22501e04c3fSmrg    SpvDim1D = 0,
22601e04c3fSmrg    SpvDim2D = 1,
22701e04c3fSmrg    SpvDim3D = 2,
22801e04c3fSmrg    SpvDimCube = 3,
22901e04c3fSmrg    SpvDimRect = 4,
23001e04c3fSmrg    SpvDimBuffer = 5,
23101e04c3fSmrg    SpvDimSubpassData = 6,
23201e04c3fSmrg    SpvDimMax = 0x7fffffff,
23301e04c3fSmrg} SpvDim;
23401e04c3fSmrg
23501e04c3fSmrgtypedef enum SpvSamplerAddressingMode_ {
23601e04c3fSmrg    SpvSamplerAddressingModeNone = 0,
23701e04c3fSmrg    SpvSamplerAddressingModeClampToEdge = 1,
23801e04c3fSmrg    SpvSamplerAddressingModeClamp = 2,
23901e04c3fSmrg    SpvSamplerAddressingModeRepeat = 3,
24001e04c3fSmrg    SpvSamplerAddressingModeRepeatMirrored = 4,
24101e04c3fSmrg    SpvSamplerAddressingModeMax = 0x7fffffff,
24201e04c3fSmrg} SpvSamplerAddressingMode;
24301e04c3fSmrg
24401e04c3fSmrgtypedef enum SpvSamplerFilterMode_ {
24501e04c3fSmrg    SpvSamplerFilterModeNearest = 0,
24601e04c3fSmrg    SpvSamplerFilterModeLinear = 1,
24701e04c3fSmrg    SpvSamplerFilterModeMax = 0x7fffffff,
24801e04c3fSmrg} SpvSamplerFilterMode;
24901e04c3fSmrg
25001e04c3fSmrgtypedef enum SpvImageFormat_ {
25101e04c3fSmrg    SpvImageFormatUnknown = 0,
25201e04c3fSmrg    SpvImageFormatRgba32f = 1,
25301e04c3fSmrg    SpvImageFormatRgba16f = 2,
25401e04c3fSmrg    SpvImageFormatR32f = 3,
25501e04c3fSmrg    SpvImageFormatRgba8 = 4,
25601e04c3fSmrg    SpvImageFormatRgba8Snorm = 5,
25701e04c3fSmrg    SpvImageFormatRg32f = 6,
25801e04c3fSmrg    SpvImageFormatRg16f = 7,
25901e04c3fSmrg    SpvImageFormatR11fG11fB10f = 8,
26001e04c3fSmrg    SpvImageFormatR16f = 9,
26101e04c3fSmrg    SpvImageFormatRgba16 = 10,
26201e04c3fSmrg    SpvImageFormatRgb10A2 = 11,
26301e04c3fSmrg    SpvImageFormatRg16 = 12,
26401e04c3fSmrg    SpvImageFormatRg8 = 13,
26501e04c3fSmrg    SpvImageFormatR16 = 14,
26601e04c3fSmrg    SpvImageFormatR8 = 15,
26701e04c3fSmrg    SpvImageFormatRgba16Snorm = 16,
26801e04c3fSmrg    SpvImageFormatRg16Snorm = 17,
26901e04c3fSmrg    SpvImageFormatRg8Snorm = 18,
27001e04c3fSmrg    SpvImageFormatR16Snorm = 19,
27101e04c3fSmrg    SpvImageFormatR8Snorm = 20,
27201e04c3fSmrg    SpvImageFormatRgba32i = 21,
27301e04c3fSmrg    SpvImageFormatRgba16i = 22,
27401e04c3fSmrg    SpvImageFormatRgba8i = 23,
27501e04c3fSmrg    SpvImageFormatR32i = 24,
27601e04c3fSmrg    SpvImageFormatRg32i = 25,
27701e04c3fSmrg    SpvImageFormatRg16i = 26,
27801e04c3fSmrg    SpvImageFormatRg8i = 27,
27901e04c3fSmrg    SpvImageFormatR16i = 28,
28001e04c3fSmrg    SpvImageFormatR8i = 29,
28101e04c3fSmrg    SpvImageFormatRgba32ui = 30,
28201e04c3fSmrg    SpvImageFormatRgba16ui = 31,
28301e04c3fSmrg    SpvImageFormatRgba8ui = 32,
28401e04c3fSmrg    SpvImageFormatR32ui = 33,
28501e04c3fSmrg    SpvImageFormatRgb10a2ui = 34,
28601e04c3fSmrg    SpvImageFormatRg32ui = 35,
28701e04c3fSmrg    SpvImageFormatRg16ui = 36,
28801e04c3fSmrg    SpvImageFormatRg8ui = 37,
28901e04c3fSmrg    SpvImageFormatR16ui = 38,
29001e04c3fSmrg    SpvImageFormatR8ui = 39,
2917ec681f3Smrg    SpvImageFormatR64ui = 40,
2927ec681f3Smrg    SpvImageFormatR64i = 41,
29301e04c3fSmrg    SpvImageFormatMax = 0x7fffffff,
29401e04c3fSmrg} SpvImageFormat;
29501e04c3fSmrg
29601e04c3fSmrgtypedef enum SpvImageChannelOrder_ {
29701e04c3fSmrg    SpvImageChannelOrderR = 0,
29801e04c3fSmrg    SpvImageChannelOrderA = 1,
29901e04c3fSmrg    SpvImageChannelOrderRG = 2,
30001e04c3fSmrg    SpvImageChannelOrderRA = 3,
30101e04c3fSmrg    SpvImageChannelOrderRGB = 4,
30201e04c3fSmrg    SpvImageChannelOrderRGBA = 5,
30301e04c3fSmrg    SpvImageChannelOrderBGRA = 6,
30401e04c3fSmrg    SpvImageChannelOrderARGB = 7,
30501e04c3fSmrg    SpvImageChannelOrderIntensity = 8,
30601e04c3fSmrg    SpvImageChannelOrderLuminance = 9,
30701e04c3fSmrg    SpvImageChannelOrderRx = 10,
30801e04c3fSmrg    SpvImageChannelOrderRGx = 11,
30901e04c3fSmrg    SpvImageChannelOrderRGBx = 12,
31001e04c3fSmrg    SpvImageChannelOrderDepth = 13,
31101e04c3fSmrg    SpvImageChannelOrderDepthStencil = 14,
31201e04c3fSmrg    SpvImageChannelOrdersRGB = 15,
31301e04c3fSmrg    SpvImageChannelOrdersRGBx = 16,
31401e04c3fSmrg    SpvImageChannelOrdersRGBA = 17,
31501e04c3fSmrg    SpvImageChannelOrdersBGRA = 18,
31601e04c3fSmrg    SpvImageChannelOrderABGR = 19,
31701e04c3fSmrg    SpvImageChannelOrderMax = 0x7fffffff,
31801e04c3fSmrg} SpvImageChannelOrder;
31901e04c3fSmrg
32001e04c3fSmrgtypedef enum SpvImageChannelDataType_ {
32101e04c3fSmrg    SpvImageChannelDataTypeSnormInt8 = 0,
32201e04c3fSmrg    SpvImageChannelDataTypeSnormInt16 = 1,
32301e04c3fSmrg    SpvImageChannelDataTypeUnormInt8 = 2,
32401e04c3fSmrg    SpvImageChannelDataTypeUnormInt16 = 3,
32501e04c3fSmrg    SpvImageChannelDataTypeUnormShort565 = 4,
32601e04c3fSmrg    SpvImageChannelDataTypeUnormShort555 = 5,
32701e04c3fSmrg    SpvImageChannelDataTypeUnormInt101010 = 6,
32801e04c3fSmrg    SpvImageChannelDataTypeSignedInt8 = 7,
32901e04c3fSmrg    SpvImageChannelDataTypeSignedInt16 = 8,
33001e04c3fSmrg    SpvImageChannelDataTypeSignedInt32 = 9,
33101e04c3fSmrg    SpvImageChannelDataTypeUnsignedInt8 = 10,
33201e04c3fSmrg    SpvImageChannelDataTypeUnsignedInt16 = 11,
33301e04c3fSmrg    SpvImageChannelDataTypeUnsignedInt32 = 12,
33401e04c3fSmrg    SpvImageChannelDataTypeHalfFloat = 13,
33501e04c3fSmrg    SpvImageChannelDataTypeFloat = 14,
33601e04c3fSmrg    SpvImageChannelDataTypeUnormInt24 = 15,
33701e04c3fSmrg    SpvImageChannelDataTypeUnormInt101010_2 = 16,
33801e04c3fSmrg    SpvImageChannelDataTypeMax = 0x7fffffff,
33901e04c3fSmrg} SpvImageChannelDataType;
34001e04c3fSmrg
34101e04c3fSmrgtypedef enum SpvImageOperandsShift_ {
34201e04c3fSmrg    SpvImageOperandsBiasShift = 0,
34301e04c3fSmrg    SpvImageOperandsLodShift = 1,
34401e04c3fSmrg    SpvImageOperandsGradShift = 2,
34501e04c3fSmrg    SpvImageOperandsConstOffsetShift = 3,
34601e04c3fSmrg    SpvImageOperandsOffsetShift = 4,
34701e04c3fSmrg    SpvImageOperandsConstOffsetsShift = 5,
34801e04c3fSmrg    SpvImageOperandsSampleShift = 6,
34901e04c3fSmrg    SpvImageOperandsMinLodShift = 7,
3507ec681f3Smrg    SpvImageOperandsMakeTexelAvailableShift = 8,
35101e04c3fSmrg    SpvImageOperandsMakeTexelAvailableKHRShift = 8,
3527ec681f3Smrg    SpvImageOperandsMakeTexelVisibleShift = 9,
35301e04c3fSmrg    SpvImageOperandsMakeTexelVisibleKHRShift = 9,
3547ec681f3Smrg    SpvImageOperandsNonPrivateTexelShift = 10,
35501e04c3fSmrg    SpvImageOperandsNonPrivateTexelKHRShift = 10,
3567ec681f3Smrg    SpvImageOperandsVolatileTexelShift = 11,
35701e04c3fSmrg    SpvImageOperandsVolatileTexelKHRShift = 11,
3587ec681f3Smrg    SpvImageOperandsSignExtendShift = 12,
3597ec681f3Smrg    SpvImageOperandsZeroExtendShift = 13,
36001e04c3fSmrg    SpvImageOperandsMax = 0x7fffffff,
36101e04c3fSmrg} SpvImageOperandsShift;
36201e04c3fSmrg
36301e04c3fSmrgtypedef enum SpvImageOperandsMask_ {
36401e04c3fSmrg    SpvImageOperandsMaskNone = 0,
36501e04c3fSmrg    SpvImageOperandsBiasMask = 0x00000001,
36601e04c3fSmrg    SpvImageOperandsLodMask = 0x00000002,
36701e04c3fSmrg    SpvImageOperandsGradMask = 0x00000004,
36801e04c3fSmrg    SpvImageOperandsConstOffsetMask = 0x00000008,
36901e04c3fSmrg    SpvImageOperandsOffsetMask = 0x00000010,
37001e04c3fSmrg    SpvImageOperandsConstOffsetsMask = 0x00000020,
37101e04c3fSmrg    SpvImageOperandsSampleMask = 0x00000040,
37201e04c3fSmrg    SpvImageOperandsMinLodMask = 0x00000080,
3737ec681f3Smrg    SpvImageOperandsMakeTexelAvailableMask = 0x00000100,
37401e04c3fSmrg    SpvImageOperandsMakeTexelAvailableKHRMask = 0x00000100,
3757ec681f3Smrg    SpvImageOperandsMakeTexelVisibleMask = 0x00000200,
37601e04c3fSmrg    SpvImageOperandsMakeTexelVisibleKHRMask = 0x00000200,
3777ec681f3Smrg    SpvImageOperandsNonPrivateTexelMask = 0x00000400,
37801e04c3fSmrg    SpvImageOperandsNonPrivateTexelKHRMask = 0x00000400,
3797ec681f3Smrg    SpvImageOperandsVolatileTexelMask = 0x00000800,
38001e04c3fSmrg    SpvImageOperandsVolatileTexelKHRMask = 0x00000800,
3817ec681f3Smrg    SpvImageOperandsSignExtendMask = 0x00001000,
3827ec681f3Smrg    SpvImageOperandsZeroExtendMask = 0x00002000,
38301e04c3fSmrg} SpvImageOperandsMask;
38401e04c3fSmrg
38501e04c3fSmrgtypedef enum SpvFPFastMathModeShift_ {
38601e04c3fSmrg    SpvFPFastMathModeNotNaNShift = 0,
38701e04c3fSmrg    SpvFPFastMathModeNotInfShift = 1,
38801e04c3fSmrg    SpvFPFastMathModeNSZShift = 2,
38901e04c3fSmrg    SpvFPFastMathModeAllowRecipShift = 3,
39001e04c3fSmrg    SpvFPFastMathModeFastShift = 4,
3917ec681f3Smrg    SpvFPFastMathModeAllowContractFastINTELShift = 16,
3927ec681f3Smrg    SpvFPFastMathModeAllowReassocINTELShift = 17,
39301e04c3fSmrg    SpvFPFastMathModeMax = 0x7fffffff,
39401e04c3fSmrg} SpvFPFastMathModeShift;
39501e04c3fSmrg
39601e04c3fSmrgtypedef enum SpvFPFastMathModeMask_ {
39701e04c3fSmrg    SpvFPFastMathModeMaskNone = 0,
39801e04c3fSmrg    SpvFPFastMathModeNotNaNMask = 0x00000001,
39901e04c3fSmrg    SpvFPFastMathModeNotInfMask = 0x00000002,
40001e04c3fSmrg    SpvFPFastMathModeNSZMask = 0x00000004,
40101e04c3fSmrg    SpvFPFastMathModeAllowRecipMask = 0x00000008,
40201e04c3fSmrg    SpvFPFastMathModeFastMask = 0x00000010,
4037ec681f3Smrg    SpvFPFastMathModeAllowContractFastINTELMask = 0x00010000,
4047ec681f3Smrg    SpvFPFastMathModeAllowReassocINTELMask = 0x00020000,
40501e04c3fSmrg} SpvFPFastMathModeMask;
40601e04c3fSmrg
40701e04c3fSmrgtypedef enum SpvFPRoundingMode_ {
40801e04c3fSmrg    SpvFPRoundingModeRTE = 0,
40901e04c3fSmrg    SpvFPRoundingModeRTZ = 1,
41001e04c3fSmrg    SpvFPRoundingModeRTP = 2,
41101e04c3fSmrg    SpvFPRoundingModeRTN = 3,
41201e04c3fSmrg    SpvFPRoundingModeMax = 0x7fffffff,
41301e04c3fSmrg} SpvFPRoundingMode;
41401e04c3fSmrg
41501e04c3fSmrgtypedef enum SpvLinkageType_ {
41601e04c3fSmrg    SpvLinkageTypeExport = 0,
41701e04c3fSmrg    SpvLinkageTypeImport = 1,
4187ec681f3Smrg    SpvLinkageTypeLinkOnceODR = 2,
41901e04c3fSmrg    SpvLinkageTypeMax = 0x7fffffff,
42001e04c3fSmrg} SpvLinkageType;
42101e04c3fSmrg
42201e04c3fSmrgtypedef enum SpvAccessQualifier_ {
42301e04c3fSmrg    SpvAccessQualifierReadOnly = 0,
42401e04c3fSmrg    SpvAccessQualifierWriteOnly = 1,
42501e04c3fSmrg    SpvAccessQualifierReadWrite = 2,
42601e04c3fSmrg    SpvAccessQualifierMax = 0x7fffffff,
42701e04c3fSmrg} SpvAccessQualifier;
42801e04c3fSmrg
42901e04c3fSmrgtypedef enum SpvFunctionParameterAttribute_ {
43001e04c3fSmrg    SpvFunctionParameterAttributeZext = 0,
43101e04c3fSmrg    SpvFunctionParameterAttributeSext = 1,
43201e04c3fSmrg    SpvFunctionParameterAttributeByVal = 2,
43301e04c3fSmrg    SpvFunctionParameterAttributeSret = 3,
43401e04c3fSmrg    SpvFunctionParameterAttributeNoAlias = 4,
43501e04c3fSmrg    SpvFunctionParameterAttributeNoCapture = 5,
43601e04c3fSmrg    SpvFunctionParameterAttributeNoWrite = 6,
43701e04c3fSmrg    SpvFunctionParameterAttributeNoReadWrite = 7,
43801e04c3fSmrg    SpvFunctionParameterAttributeMax = 0x7fffffff,
43901e04c3fSmrg} SpvFunctionParameterAttribute;
44001e04c3fSmrg
44101e04c3fSmrgtypedef enum SpvDecoration_ {
44201e04c3fSmrg    SpvDecorationRelaxedPrecision = 0,
44301e04c3fSmrg    SpvDecorationSpecId = 1,
44401e04c3fSmrg    SpvDecorationBlock = 2,
44501e04c3fSmrg    SpvDecorationBufferBlock = 3,
44601e04c3fSmrg    SpvDecorationRowMajor = 4,
44701e04c3fSmrg    SpvDecorationColMajor = 5,
44801e04c3fSmrg    SpvDecorationArrayStride = 6,
44901e04c3fSmrg    SpvDecorationMatrixStride = 7,
45001e04c3fSmrg    SpvDecorationGLSLShared = 8,
45101e04c3fSmrg    SpvDecorationGLSLPacked = 9,
45201e04c3fSmrg    SpvDecorationCPacked = 10,
45301e04c3fSmrg    SpvDecorationBuiltIn = 11,
45401e04c3fSmrg    SpvDecorationNoPerspective = 13,
45501e04c3fSmrg    SpvDecorationFlat = 14,
45601e04c3fSmrg    SpvDecorationPatch = 15,
45701e04c3fSmrg    SpvDecorationCentroid = 16,
45801e04c3fSmrg    SpvDecorationSample = 17,
45901e04c3fSmrg    SpvDecorationInvariant = 18,
46001e04c3fSmrg    SpvDecorationRestrict = 19,
46101e04c3fSmrg    SpvDecorationAliased = 20,
46201e04c3fSmrg    SpvDecorationVolatile = 21,
46301e04c3fSmrg    SpvDecorationConstant = 22,
46401e04c3fSmrg    SpvDecorationCoherent = 23,
46501e04c3fSmrg    SpvDecorationNonWritable = 24,
46601e04c3fSmrg    SpvDecorationNonReadable = 25,
46701e04c3fSmrg    SpvDecorationUniform = 26,
4687ec681f3Smrg    SpvDecorationUniformId = 27,
46901e04c3fSmrg    SpvDecorationSaturatedConversion = 28,
47001e04c3fSmrg    SpvDecorationStream = 29,
47101e04c3fSmrg    SpvDecorationLocation = 30,
47201e04c3fSmrg    SpvDecorationComponent = 31,
47301e04c3fSmrg    SpvDecorationIndex = 32,
47401e04c3fSmrg    SpvDecorationBinding = 33,
47501e04c3fSmrg    SpvDecorationDescriptorSet = 34,
47601e04c3fSmrg    SpvDecorationOffset = 35,
47701e04c3fSmrg    SpvDecorationXfbBuffer = 36,
47801e04c3fSmrg    SpvDecorationXfbStride = 37,
47901e04c3fSmrg    SpvDecorationFuncParamAttr = 38,
48001e04c3fSmrg    SpvDecorationFPRoundingMode = 39,
48101e04c3fSmrg    SpvDecorationFPFastMathMode = 40,
48201e04c3fSmrg    SpvDecorationLinkageAttributes = 41,
48301e04c3fSmrg    SpvDecorationNoContraction = 42,
48401e04c3fSmrg    SpvDecorationInputAttachmentIndex = 43,
48501e04c3fSmrg    SpvDecorationAlignment = 44,
48601e04c3fSmrg    SpvDecorationMaxByteOffset = 45,
48701e04c3fSmrg    SpvDecorationAlignmentId = 46,
48801e04c3fSmrg    SpvDecorationMaxByteOffsetId = 47,
4897e102996Smaya    SpvDecorationNoSignedWrap = 4469,
4907e102996Smaya    SpvDecorationNoUnsignedWrap = 4470,
49101e04c3fSmrg    SpvDecorationExplicitInterpAMD = 4999,
49201e04c3fSmrg    SpvDecorationOverrideCoverageNV = 5248,
49301e04c3fSmrg    SpvDecorationPassthroughNV = 5250,
49401e04c3fSmrg    SpvDecorationViewportRelativeNV = 5252,
49501e04c3fSmrg    SpvDecorationSecondaryViewportRelativeNV = 5256,
49601e04c3fSmrg    SpvDecorationPerPrimitiveNV = 5271,
49701e04c3fSmrg    SpvDecorationPerViewNV = 5272,
49801e04c3fSmrg    SpvDecorationPerTaskNV = 5273,
49901e04c3fSmrg    SpvDecorationPerVertexNV = 5285,
5007ec681f3Smrg    SpvDecorationNonUniform = 5300,
50101e04c3fSmrg    SpvDecorationNonUniformEXT = 5300,
5027ec681f3Smrg    SpvDecorationRestrictPointer = 5355,
5037e102996Smaya    SpvDecorationRestrictPointerEXT = 5355,
5047ec681f3Smrg    SpvDecorationAliasedPointer = 5356,
5057e102996Smaya    SpvDecorationAliasedPointerEXT = 5356,
5067ec681f3Smrg    SpvDecorationSIMTCallINTEL = 5599,
5077ec681f3Smrg    SpvDecorationReferencedIndirectlyINTEL = 5602,
5087ec681f3Smrg    SpvDecorationClobberINTEL = 5607,
5097ec681f3Smrg    SpvDecorationSideEffectsINTEL = 5608,
5107ec681f3Smrg    SpvDecorationVectorComputeVariableINTEL = 5624,
5117ec681f3Smrg    SpvDecorationFuncParamIOKindINTEL = 5625,
5127ec681f3Smrg    SpvDecorationVectorComputeFunctionINTEL = 5626,
5137ec681f3Smrg    SpvDecorationStackCallINTEL = 5627,
5147ec681f3Smrg    SpvDecorationGlobalVariableOffsetINTEL = 5628,
5157ec681f3Smrg    SpvDecorationCounterBuffer = 5634,
51601e04c3fSmrg    SpvDecorationHlslCounterBufferGOOGLE = 5634,
51701e04c3fSmrg    SpvDecorationHlslSemanticGOOGLE = 5635,
5187ec681f3Smrg    SpvDecorationUserSemantic = 5635,
5197ec681f3Smrg    SpvDecorationUserTypeGOOGLE = 5636,
5207ec681f3Smrg    SpvDecorationFunctionRoundingModeINTEL = 5822,
5217ec681f3Smrg    SpvDecorationFunctionDenormModeINTEL = 5823,
5227ec681f3Smrg    SpvDecorationRegisterINTEL = 5825,
5237ec681f3Smrg    SpvDecorationMemoryINTEL = 5826,
5247ec681f3Smrg    SpvDecorationNumbanksINTEL = 5827,
5257ec681f3Smrg    SpvDecorationBankwidthINTEL = 5828,
5267ec681f3Smrg    SpvDecorationMaxPrivateCopiesINTEL = 5829,
5277ec681f3Smrg    SpvDecorationSinglepumpINTEL = 5830,
5287ec681f3Smrg    SpvDecorationDoublepumpINTEL = 5831,
5297ec681f3Smrg    SpvDecorationMaxReplicatesINTEL = 5832,
5307ec681f3Smrg    SpvDecorationSimpleDualPortINTEL = 5833,
5317ec681f3Smrg    SpvDecorationMergeINTEL = 5834,
5327ec681f3Smrg    SpvDecorationBankBitsINTEL = 5835,
5337ec681f3Smrg    SpvDecorationForcePow2DepthINTEL = 5836,
5347ec681f3Smrg    SpvDecorationBurstCoalesceINTEL = 5899,
5357ec681f3Smrg    SpvDecorationCacheSizeINTEL = 5900,
5367ec681f3Smrg    SpvDecorationDontStaticallyCoalesceINTEL = 5901,
5377ec681f3Smrg    SpvDecorationPrefetchINTEL = 5902,
5387ec681f3Smrg    SpvDecorationStallEnableINTEL = 5905,
5397ec681f3Smrg    SpvDecorationFuseLoopsInFunctionINTEL = 5907,
5407ec681f3Smrg    SpvDecorationBufferLocationINTEL = 5921,
5417ec681f3Smrg    SpvDecorationIOPipeStorageINTEL = 5944,
5427ec681f3Smrg    SpvDecorationFunctionFloatingPointModeINTEL = 6080,
5437ec681f3Smrg    SpvDecorationSingleElementVectorINTEL = 6085,
5447ec681f3Smrg    SpvDecorationVectorComputeCallableFunctionINTEL = 6087,
54501e04c3fSmrg    SpvDecorationMax = 0x7fffffff,
54601e04c3fSmrg} SpvDecoration;
54701e04c3fSmrg
54801e04c3fSmrgtypedef enum SpvBuiltIn_ {
54901e04c3fSmrg    SpvBuiltInPosition = 0,
55001e04c3fSmrg    SpvBuiltInPointSize = 1,
55101e04c3fSmrg    SpvBuiltInClipDistance = 3,
55201e04c3fSmrg    SpvBuiltInCullDistance = 4,
55301e04c3fSmrg    SpvBuiltInVertexId = 5,
55401e04c3fSmrg    SpvBuiltInInstanceId = 6,
55501e04c3fSmrg    SpvBuiltInPrimitiveId = 7,
55601e04c3fSmrg    SpvBuiltInInvocationId = 8,
55701e04c3fSmrg    SpvBuiltInLayer = 9,
55801e04c3fSmrg    SpvBuiltInViewportIndex = 10,
55901e04c3fSmrg    SpvBuiltInTessLevelOuter = 11,
56001e04c3fSmrg    SpvBuiltInTessLevelInner = 12,
56101e04c3fSmrg    SpvBuiltInTessCoord = 13,
56201e04c3fSmrg    SpvBuiltInPatchVertices = 14,
56301e04c3fSmrg    SpvBuiltInFragCoord = 15,
56401e04c3fSmrg    SpvBuiltInPointCoord = 16,
56501e04c3fSmrg    SpvBuiltInFrontFacing = 17,
56601e04c3fSmrg    SpvBuiltInSampleId = 18,
56701e04c3fSmrg    SpvBuiltInSamplePosition = 19,
56801e04c3fSmrg    SpvBuiltInSampleMask = 20,
56901e04c3fSmrg    SpvBuiltInFragDepth = 22,
57001e04c3fSmrg    SpvBuiltInHelperInvocation = 23,
57101e04c3fSmrg    SpvBuiltInNumWorkgroups = 24,
57201e04c3fSmrg    SpvBuiltInWorkgroupSize = 25,
57301e04c3fSmrg    SpvBuiltInWorkgroupId = 26,
57401e04c3fSmrg    SpvBuiltInLocalInvocationId = 27,
57501e04c3fSmrg    SpvBuiltInGlobalInvocationId = 28,
57601e04c3fSmrg    SpvBuiltInLocalInvocationIndex = 29,
57701e04c3fSmrg    SpvBuiltInWorkDim = 30,
57801e04c3fSmrg    SpvBuiltInGlobalSize = 31,
57901e04c3fSmrg    SpvBuiltInEnqueuedWorkgroupSize = 32,
58001e04c3fSmrg    SpvBuiltInGlobalOffset = 33,
58101e04c3fSmrg    SpvBuiltInGlobalLinearId = 34,
58201e04c3fSmrg    SpvBuiltInSubgroupSize = 36,
58301e04c3fSmrg    SpvBuiltInSubgroupMaxSize = 37,
58401e04c3fSmrg    SpvBuiltInNumSubgroups = 38,
58501e04c3fSmrg    SpvBuiltInNumEnqueuedSubgroups = 39,
58601e04c3fSmrg    SpvBuiltInSubgroupId = 40,
58701e04c3fSmrg    SpvBuiltInSubgroupLocalInvocationId = 41,
58801e04c3fSmrg    SpvBuiltInVertexIndex = 42,
58901e04c3fSmrg    SpvBuiltInInstanceIndex = 43,
59001e04c3fSmrg    SpvBuiltInSubgroupEqMask = 4416,
59101e04c3fSmrg    SpvBuiltInSubgroupEqMaskKHR = 4416,
59201e04c3fSmrg    SpvBuiltInSubgroupGeMask = 4417,
59301e04c3fSmrg    SpvBuiltInSubgroupGeMaskKHR = 4417,
59401e04c3fSmrg    SpvBuiltInSubgroupGtMask = 4418,
59501e04c3fSmrg    SpvBuiltInSubgroupGtMaskKHR = 4418,
59601e04c3fSmrg    SpvBuiltInSubgroupLeMask = 4419,
59701e04c3fSmrg    SpvBuiltInSubgroupLeMaskKHR = 4419,
59801e04c3fSmrg    SpvBuiltInSubgroupLtMask = 4420,
59901e04c3fSmrg    SpvBuiltInSubgroupLtMaskKHR = 4420,
60001e04c3fSmrg    SpvBuiltInBaseVertex = 4424,
60101e04c3fSmrg    SpvBuiltInBaseInstance = 4425,
60201e04c3fSmrg    SpvBuiltInDrawIndex = 4426,
6037ec681f3Smrg    SpvBuiltInPrimitiveShadingRateKHR = 4432,
60401e04c3fSmrg    SpvBuiltInDeviceIndex = 4438,
60501e04c3fSmrg    SpvBuiltInViewIndex = 4440,
6067ec681f3Smrg    SpvBuiltInShadingRateKHR = 4444,
60701e04c3fSmrg    SpvBuiltInBaryCoordNoPerspAMD = 4992,
60801e04c3fSmrg    SpvBuiltInBaryCoordNoPerspCentroidAMD = 4993,
60901e04c3fSmrg    SpvBuiltInBaryCoordNoPerspSampleAMD = 4994,
61001e04c3fSmrg    SpvBuiltInBaryCoordSmoothAMD = 4995,
61101e04c3fSmrg    SpvBuiltInBaryCoordSmoothCentroidAMD = 4996,
61201e04c3fSmrg    SpvBuiltInBaryCoordSmoothSampleAMD = 4997,
61301e04c3fSmrg    SpvBuiltInBaryCoordPullModelAMD = 4998,
61401e04c3fSmrg    SpvBuiltInFragStencilRefEXT = 5014,
61501e04c3fSmrg    SpvBuiltInViewportMaskNV = 5253,
61601e04c3fSmrg    SpvBuiltInSecondaryPositionNV = 5257,
61701e04c3fSmrg    SpvBuiltInSecondaryViewportMaskNV = 5258,
61801e04c3fSmrg    SpvBuiltInPositionPerViewNV = 5261,
61901e04c3fSmrg    SpvBuiltInViewportMaskPerViewNV = 5262,
62001e04c3fSmrg    SpvBuiltInFullyCoveredEXT = 5264,
62101e04c3fSmrg    SpvBuiltInTaskCountNV = 5274,
62201e04c3fSmrg    SpvBuiltInPrimitiveCountNV = 5275,
62301e04c3fSmrg    SpvBuiltInPrimitiveIndicesNV = 5276,
62401e04c3fSmrg    SpvBuiltInClipDistancePerViewNV = 5277,
62501e04c3fSmrg    SpvBuiltInCullDistancePerViewNV = 5278,
62601e04c3fSmrg    SpvBuiltInLayerPerViewNV = 5279,
62701e04c3fSmrg    SpvBuiltInMeshViewCountNV = 5280,
62801e04c3fSmrg    SpvBuiltInMeshViewIndicesNV = 5281,
62901e04c3fSmrg    SpvBuiltInBaryCoordNV = 5286,
63001e04c3fSmrg    SpvBuiltInBaryCoordNoPerspNV = 5287,
6317e102996Smaya    SpvBuiltInFragSizeEXT = 5292,
63201e04c3fSmrg    SpvBuiltInFragmentSizeNV = 5292,
6337e102996Smaya    SpvBuiltInFragInvocationCountEXT = 5293,
63401e04c3fSmrg    SpvBuiltInInvocationsPerPixelNV = 5293,
6357ec681f3Smrg    SpvBuiltInLaunchIdKHR = 5319,
6367e102996Smaya    SpvBuiltInLaunchIdNV = 5319,
6377ec681f3Smrg    SpvBuiltInLaunchSizeKHR = 5320,
6387e102996Smaya    SpvBuiltInLaunchSizeNV = 5320,
6397ec681f3Smrg    SpvBuiltInWorldRayOriginKHR = 5321,
6407e102996Smaya    SpvBuiltInWorldRayOriginNV = 5321,
6417ec681f3Smrg    SpvBuiltInWorldRayDirectionKHR = 5322,
6427e102996Smaya    SpvBuiltInWorldRayDirectionNV = 5322,
6437ec681f3Smrg    SpvBuiltInObjectRayOriginKHR = 5323,
6447e102996Smaya    SpvBuiltInObjectRayOriginNV = 5323,
6457ec681f3Smrg    SpvBuiltInObjectRayDirectionKHR = 5324,
6467e102996Smaya    SpvBuiltInObjectRayDirectionNV = 5324,
6477ec681f3Smrg    SpvBuiltInRayTminKHR = 5325,
6487e102996Smaya    SpvBuiltInRayTminNV = 5325,
6497ec681f3Smrg    SpvBuiltInRayTmaxKHR = 5326,
6507e102996Smaya    SpvBuiltInRayTmaxNV = 5326,
6517ec681f3Smrg    SpvBuiltInInstanceCustomIndexKHR = 5327,
6527e102996Smaya    SpvBuiltInInstanceCustomIndexNV = 5327,
6537ec681f3Smrg    SpvBuiltInObjectToWorldKHR = 5330,
6547e102996Smaya    SpvBuiltInObjectToWorldNV = 5330,
6557ec681f3Smrg    SpvBuiltInWorldToObjectKHR = 5331,
6567e102996Smaya    SpvBuiltInWorldToObjectNV = 5331,
6577e102996Smaya    SpvBuiltInHitTNV = 5332,
6587ec681f3Smrg    SpvBuiltInHitKindKHR = 5333,
6597e102996Smaya    SpvBuiltInHitKindNV = 5333,
6607ec681f3Smrg    SpvBuiltInIncomingRayFlagsKHR = 5351,
6617e102996Smaya    SpvBuiltInIncomingRayFlagsNV = 5351,
6627ec681f3Smrg    SpvBuiltInRayGeometryIndexKHR = 5352,
6637ec681f3Smrg    SpvBuiltInWarpsPerSMNV = 5374,
6647ec681f3Smrg    SpvBuiltInSMCountNV = 5375,
6657ec681f3Smrg    SpvBuiltInWarpIDNV = 5376,
6667ec681f3Smrg    SpvBuiltInSMIDNV = 5377,
66701e04c3fSmrg    SpvBuiltInMax = 0x7fffffff,
66801e04c3fSmrg} SpvBuiltIn;
66901e04c3fSmrg
67001e04c3fSmrgtypedef enum SpvSelectionControlShift_ {
67101e04c3fSmrg    SpvSelectionControlFlattenShift = 0,
67201e04c3fSmrg    SpvSelectionControlDontFlattenShift = 1,
67301e04c3fSmrg    SpvSelectionControlMax = 0x7fffffff,
67401e04c3fSmrg} SpvSelectionControlShift;
67501e04c3fSmrg
67601e04c3fSmrgtypedef enum SpvSelectionControlMask_ {
67701e04c3fSmrg    SpvSelectionControlMaskNone = 0,
67801e04c3fSmrg    SpvSelectionControlFlattenMask = 0x00000001,
67901e04c3fSmrg    SpvSelectionControlDontFlattenMask = 0x00000002,
68001e04c3fSmrg} SpvSelectionControlMask;
68101e04c3fSmrg
68201e04c3fSmrgtypedef enum SpvLoopControlShift_ {
68301e04c3fSmrg    SpvLoopControlUnrollShift = 0,
68401e04c3fSmrg    SpvLoopControlDontUnrollShift = 1,
68501e04c3fSmrg    SpvLoopControlDependencyInfiniteShift = 2,
68601e04c3fSmrg    SpvLoopControlDependencyLengthShift = 3,
6877ec681f3Smrg    SpvLoopControlMinIterationsShift = 4,
6887ec681f3Smrg    SpvLoopControlMaxIterationsShift = 5,
6897ec681f3Smrg    SpvLoopControlIterationMultipleShift = 6,
6907ec681f3Smrg    SpvLoopControlPeelCountShift = 7,
6917ec681f3Smrg    SpvLoopControlPartialCountShift = 8,
6927ec681f3Smrg    SpvLoopControlInitiationIntervalINTELShift = 16,
6937ec681f3Smrg    SpvLoopControlMaxConcurrencyINTELShift = 17,
6947ec681f3Smrg    SpvLoopControlDependencyArrayINTELShift = 18,
6957ec681f3Smrg    SpvLoopControlPipelineEnableINTELShift = 19,
6967ec681f3Smrg    SpvLoopControlLoopCoalesceINTELShift = 20,
6977ec681f3Smrg    SpvLoopControlMaxInterleavingINTELShift = 21,
6987ec681f3Smrg    SpvLoopControlSpeculatedIterationsINTELShift = 22,
6997ec681f3Smrg    SpvLoopControlNoFusionINTELShift = 23,
70001e04c3fSmrg    SpvLoopControlMax = 0x7fffffff,
70101e04c3fSmrg} SpvLoopControlShift;
70201e04c3fSmrg
70301e04c3fSmrgtypedef enum SpvLoopControlMask_ {
70401e04c3fSmrg    SpvLoopControlMaskNone = 0,
70501e04c3fSmrg    SpvLoopControlUnrollMask = 0x00000001,
70601e04c3fSmrg    SpvLoopControlDontUnrollMask = 0x00000002,
70701e04c3fSmrg    SpvLoopControlDependencyInfiniteMask = 0x00000004,
70801e04c3fSmrg    SpvLoopControlDependencyLengthMask = 0x00000008,
7097ec681f3Smrg    SpvLoopControlMinIterationsMask = 0x00000010,
7107ec681f3Smrg    SpvLoopControlMaxIterationsMask = 0x00000020,
7117ec681f3Smrg    SpvLoopControlIterationMultipleMask = 0x00000040,
7127ec681f3Smrg    SpvLoopControlPeelCountMask = 0x00000080,
7137ec681f3Smrg    SpvLoopControlPartialCountMask = 0x00000100,
7147ec681f3Smrg    SpvLoopControlInitiationIntervalINTELMask = 0x00010000,
7157ec681f3Smrg    SpvLoopControlMaxConcurrencyINTELMask = 0x00020000,
7167ec681f3Smrg    SpvLoopControlDependencyArrayINTELMask = 0x00040000,
7177ec681f3Smrg    SpvLoopControlPipelineEnableINTELMask = 0x00080000,
7187ec681f3Smrg    SpvLoopControlLoopCoalesceINTELMask = 0x00100000,
7197ec681f3Smrg    SpvLoopControlMaxInterleavingINTELMask = 0x00200000,
7207ec681f3Smrg    SpvLoopControlSpeculatedIterationsINTELMask = 0x00400000,
7217ec681f3Smrg    SpvLoopControlNoFusionINTELMask = 0x00800000,
72201e04c3fSmrg} SpvLoopControlMask;
72301e04c3fSmrg
72401e04c3fSmrgtypedef enum SpvFunctionControlShift_ {
72501e04c3fSmrg    SpvFunctionControlInlineShift = 0,
72601e04c3fSmrg    SpvFunctionControlDontInlineShift = 1,
72701e04c3fSmrg    SpvFunctionControlPureShift = 2,
72801e04c3fSmrg    SpvFunctionControlConstShift = 3,
7297ec681f3Smrg    SpvFunctionControlOptNoneINTELShift = 16,
73001e04c3fSmrg    SpvFunctionControlMax = 0x7fffffff,
73101e04c3fSmrg} SpvFunctionControlShift;
73201e04c3fSmrg
73301e04c3fSmrgtypedef enum SpvFunctionControlMask_ {
73401e04c3fSmrg    SpvFunctionControlMaskNone = 0,
73501e04c3fSmrg    SpvFunctionControlInlineMask = 0x00000001,
73601e04c3fSmrg    SpvFunctionControlDontInlineMask = 0x00000002,
73701e04c3fSmrg    SpvFunctionControlPureMask = 0x00000004,
73801e04c3fSmrg    SpvFunctionControlConstMask = 0x00000008,
7397ec681f3Smrg    SpvFunctionControlOptNoneINTELMask = 0x00010000,
74001e04c3fSmrg} SpvFunctionControlMask;
74101e04c3fSmrg
74201e04c3fSmrgtypedef enum SpvMemorySemanticsShift_ {
74301e04c3fSmrg    SpvMemorySemanticsAcquireShift = 1,
74401e04c3fSmrg    SpvMemorySemanticsReleaseShift = 2,
74501e04c3fSmrg    SpvMemorySemanticsAcquireReleaseShift = 3,
74601e04c3fSmrg    SpvMemorySemanticsSequentiallyConsistentShift = 4,
74701e04c3fSmrg    SpvMemorySemanticsUniformMemoryShift = 6,
74801e04c3fSmrg    SpvMemorySemanticsSubgroupMemoryShift = 7,
74901e04c3fSmrg    SpvMemorySemanticsWorkgroupMemoryShift = 8,
75001e04c3fSmrg    SpvMemorySemanticsCrossWorkgroupMemoryShift = 9,
75101e04c3fSmrg    SpvMemorySemanticsAtomicCounterMemoryShift = 10,
75201e04c3fSmrg    SpvMemorySemanticsImageMemoryShift = 11,
7537ec681f3Smrg    SpvMemorySemanticsOutputMemoryShift = 12,
75401e04c3fSmrg    SpvMemorySemanticsOutputMemoryKHRShift = 12,
7557ec681f3Smrg    SpvMemorySemanticsMakeAvailableShift = 13,
75601e04c3fSmrg    SpvMemorySemanticsMakeAvailableKHRShift = 13,
7577ec681f3Smrg    SpvMemorySemanticsMakeVisibleShift = 14,
75801e04c3fSmrg    SpvMemorySemanticsMakeVisibleKHRShift = 14,
7597ec681f3Smrg    SpvMemorySemanticsVolatileShift = 15,
76001e04c3fSmrg    SpvMemorySemanticsMax = 0x7fffffff,
76101e04c3fSmrg} SpvMemorySemanticsShift;
76201e04c3fSmrg
76301e04c3fSmrgtypedef enum SpvMemorySemanticsMask_ {
76401e04c3fSmrg    SpvMemorySemanticsMaskNone = 0,
76501e04c3fSmrg    SpvMemorySemanticsAcquireMask = 0x00000002,
76601e04c3fSmrg    SpvMemorySemanticsReleaseMask = 0x00000004,
76701e04c3fSmrg    SpvMemorySemanticsAcquireReleaseMask = 0x00000008,
76801e04c3fSmrg    SpvMemorySemanticsSequentiallyConsistentMask = 0x00000010,
76901e04c3fSmrg    SpvMemorySemanticsUniformMemoryMask = 0x00000040,
77001e04c3fSmrg    SpvMemorySemanticsSubgroupMemoryMask = 0x00000080,
77101e04c3fSmrg    SpvMemorySemanticsWorkgroupMemoryMask = 0x00000100,
77201e04c3fSmrg    SpvMemorySemanticsCrossWorkgroupMemoryMask = 0x00000200,
77301e04c3fSmrg    SpvMemorySemanticsAtomicCounterMemoryMask = 0x00000400,
77401e04c3fSmrg    SpvMemorySemanticsImageMemoryMask = 0x00000800,
7757ec681f3Smrg    SpvMemorySemanticsOutputMemoryMask = 0x00001000,
77601e04c3fSmrg    SpvMemorySemanticsOutputMemoryKHRMask = 0x00001000,
7777ec681f3Smrg    SpvMemorySemanticsMakeAvailableMask = 0x00002000,
77801e04c3fSmrg    SpvMemorySemanticsMakeAvailableKHRMask = 0x00002000,
7797ec681f3Smrg    SpvMemorySemanticsMakeVisibleMask = 0x00004000,
78001e04c3fSmrg    SpvMemorySemanticsMakeVisibleKHRMask = 0x00004000,
7817ec681f3Smrg    SpvMemorySemanticsVolatileMask = 0x00008000,
78201e04c3fSmrg} SpvMemorySemanticsMask;
78301e04c3fSmrg
78401e04c3fSmrgtypedef enum SpvMemoryAccessShift_ {
78501e04c3fSmrg    SpvMemoryAccessVolatileShift = 0,
78601e04c3fSmrg    SpvMemoryAccessAlignedShift = 1,
78701e04c3fSmrg    SpvMemoryAccessNontemporalShift = 2,
7887ec681f3Smrg    SpvMemoryAccessMakePointerAvailableShift = 3,
78901e04c3fSmrg    SpvMemoryAccessMakePointerAvailableKHRShift = 3,
7907ec681f3Smrg    SpvMemoryAccessMakePointerVisibleShift = 4,
79101e04c3fSmrg    SpvMemoryAccessMakePointerVisibleKHRShift = 4,
7927ec681f3Smrg    SpvMemoryAccessNonPrivatePointerShift = 5,
79301e04c3fSmrg    SpvMemoryAccessNonPrivatePointerKHRShift = 5,
79401e04c3fSmrg    SpvMemoryAccessMax = 0x7fffffff,
79501e04c3fSmrg} SpvMemoryAccessShift;
79601e04c3fSmrg
79701e04c3fSmrgtypedef enum SpvMemoryAccessMask_ {
79801e04c3fSmrg    SpvMemoryAccessMaskNone = 0,
79901e04c3fSmrg    SpvMemoryAccessVolatileMask = 0x00000001,
80001e04c3fSmrg    SpvMemoryAccessAlignedMask = 0x00000002,
80101e04c3fSmrg    SpvMemoryAccessNontemporalMask = 0x00000004,
8027ec681f3Smrg    SpvMemoryAccessMakePointerAvailableMask = 0x00000008,
80301e04c3fSmrg    SpvMemoryAccessMakePointerAvailableKHRMask = 0x00000008,
8047ec681f3Smrg    SpvMemoryAccessMakePointerVisibleMask = 0x00000010,
80501e04c3fSmrg    SpvMemoryAccessMakePointerVisibleKHRMask = 0x00000010,
8067ec681f3Smrg    SpvMemoryAccessNonPrivatePointerMask = 0x00000020,
80701e04c3fSmrg    SpvMemoryAccessNonPrivatePointerKHRMask = 0x00000020,
80801e04c3fSmrg} SpvMemoryAccessMask;
80901e04c3fSmrg
81001e04c3fSmrgtypedef enum SpvScope_ {
81101e04c3fSmrg    SpvScopeCrossDevice = 0,
81201e04c3fSmrg    SpvScopeDevice = 1,
81301e04c3fSmrg    SpvScopeWorkgroup = 2,
81401e04c3fSmrg    SpvScopeSubgroup = 3,
81501e04c3fSmrg    SpvScopeInvocation = 4,
8167ec681f3Smrg    SpvScopeQueueFamily = 5,
81701e04c3fSmrg    SpvScopeQueueFamilyKHR = 5,
8187ec681f3Smrg    SpvScopeShaderCallKHR = 6,
81901e04c3fSmrg    SpvScopeMax = 0x7fffffff,
82001e04c3fSmrg} SpvScope;
82101e04c3fSmrg
82201e04c3fSmrgtypedef enum SpvGroupOperation_ {
82301e04c3fSmrg    SpvGroupOperationReduce = 0,
82401e04c3fSmrg    SpvGroupOperationInclusiveScan = 1,
82501e04c3fSmrg    SpvGroupOperationExclusiveScan = 2,
82601e04c3fSmrg    SpvGroupOperationClusteredReduce = 3,
82701e04c3fSmrg    SpvGroupOperationPartitionedReduceNV = 6,
82801e04c3fSmrg    SpvGroupOperationPartitionedInclusiveScanNV = 7,
82901e04c3fSmrg    SpvGroupOperationPartitionedExclusiveScanNV = 8,
83001e04c3fSmrg    SpvGroupOperationMax = 0x7fffffff,
83101e04c3fSmrg} SpvGroupOperation;
83201e04c3fSmrg
83301e04c3fSmrgtypedef enum SpvKernelEnqueueFlags_ {
83401e04c3fSmrg    SpvKernelEnqueueFlagsNoWait = 0,
83501e04c3fSmrg    SpvKernelEnqueueFlagsWaitKernel = 1,
83601e04c3fSmrg    SpvKernelEnqueueFlagsWaitWorkGroup = 2,
83701e04c3fSmrg    SpvKernelEnqueueFlagsMax = 0x7fffffff,
83801e04c3fSmrg} SpvKernelEnqueueFlags;
83901e04c3fSmrg
84001e04c3fSmrgtypedef enum SpvKernelProfilingInfoShift_ {
84101e04c3fSmrg    SpvKernelProfilingInfoCmdExecTimeShift = 0,
84201e04c3fSmrg    SpvKernelProfilingInfoMax = 0x7fffffff,
84301e04c3fSmrg} SpvKernelProfilingInfoShift;
84401e04c3fSmrg
84501e04c3fSmrgtypedef enum SpvKernelProfilingInfoMask_ {
84601e04c3fSmrg    SpvKernelProfilingInfoMaskNone = 0,
84701e04c3fSmrg    SpvKernelProfilingInfoCmdExecTimeMask = 0x00000001,
84801e04c3fSmrg} SpvKernelProfilingInfoMask;
84901e04c3fSmrg
85001e04c3fSmrgtypedef enum SpvCapability_ {
85101e04c3fSmrg    SpvCapabilityMatrix = 0,
85201e04c3fSmrg    SpvCapabilityShader = 1,
85301e04c3fSmrg    SpvCapabilityGeometry = 2,
85401e04c3fSmrg    SpvCapabilityTessellation = 3,
85501e04c3fSmrg    SpvCapabilityAddresses = 4,
85601e04c3fSmrg    SpvCapabilityLinkage = 5,
85701e04c3fSmrg    SpvCapabilityKernel = 6,
85801e04c3fSmrg    SpvCapabilityVector16 = 7,
85901e04c3fSmrg    SpvCapabilityFloat16Buffer = 8,
86001e04c3fSmrg    SpvCapabilityFloat16 = 9,
86101e04c3fSmrg    SpvCapabilityFloat64 = 10,
86201e04c3fSmrg    SpvCapabilityInt64 = 11,
86301e04c3fSmrg    SpvCapabilityInt64Atomics = 12,
86401e04c3fSmrg    SpvCapabilityImageBasic = 13,
86501e04c3fSmrg    SpvCapabilityImageReadWrite = 14,
86601e04c3fSmrg    SpvCapabilityImageMipmap = 15,
86701e04c3fSmrg    SpvCapabilityPipes = 17,
86801e04c3fSmrg    SpvCapabilityGroups = 18,
86901e04c3fSmrg    SpvCapabilityDeviceEnqueue = 19,
87001e04c3fSmrg    SpvCapabilityLiteralSampler = 20,
87101e04c3fSmrg    SpvCapabilityAtomicStorage = 21,
87201e04c3fSmrg    SpvCapabilityInt16 = 22,
87301e04c3fSmrg    SpvCapabilityTessellationPointSize = 23,
87401e04c3fSmrg    SpvCapabilityGeometryPointSize = 24,
87501e04c3fSmrg    SpvCapabilityImageGatherExtended = 25,
87601e04c3fSmrg    SpvCapabilityStorageImageMultisample = 27,
87701e04c3fSmrg    SpvCapabilityUniformBufferArrayDynamicIndexing = 28,
87801e04c3fSmrg    SpvCapabilitySampledImageArrayDynamicIndexing = 29,
87901e04c3fSmrg    SpvCapabilityStorageBufferArrayDynamicIndexing = 30,
88001e04c3fSmrg    SpvCapabilityStorageImageArrayDynamicIndexing = 31,
88101e04c3fSmrg    SpvCapabilityClipDistance = 32,
88201e04c3fSmrg    SpvCapabilityCullDistance = 33,
88301e04c3fSmrg    SpvCapabilityImageCubeArray = 34,
88401e04c3fSmrg    SpvCapabilitySampleRateShading = 35,
88501e04c3fSmrg    SpvCapabilityImageRect = 36,
88601e04c3fSmrg    SpvCapabilitySampledRect = 37,
88701e04c3fSmrg    SpvCapabilityGenericPointer = 38,
88801e04c3fSmrg    SpvCapabilityInt8 = 39,
88901e04c3fSmrg    SpvCapabilityInputAttachment = 40,
89001e04c3fSmrg    SpvCapabilitySparseResidency = 41,
89101e04c3fSmrg    SpvCapabilityMinLod = 42,
89201e04c3fSmrg    SpvCapabilitySampled1D = 43,
89301e04c3fSmrg    SpvCapabilityImage1D = 44,
89401e04c3fSmrg    SpvCapabilitySampledCubeArray = 45,
89501e04c3fSmrg    SpvCapabilitySampledBuffer = 46,
89601e04c3fSmrg    SpvCapabilityImageBuffer = 47,
89701e04c3fSmrg    SpvCapabilityImageMSArray = 48,
89801e04c3fSmrg    SpvCapabilityStorageImageExtendedFormats = 49,
89901e04c3fSmrg    SpvCapabilityImageQuery = 50,
90001e04c3fSmrg    SpvCapabilityDerivativeControl = 51,
90101e04c3fSmrg    SpvCapabilityInterpolationFunction = 52,
90201e04c3fSmrg    SpvCapabilityTransformFeedback = 53,
90301e04c3fSmrg    SpvCapabilityGeometryStreams = 54,
90401e04c3fSmrg    SpvCapabilityStorageImageReadWithoutFormat = 55,
90501e04c3fSmrg    SpvCapabilityStorageImageWriteWithoutFormat = 56,
90601e04c3fSmrg    SpvCapabilityMultiViewport = 57,
90701e04c3fSmrg    SpvCapabilitySubgroupDispatch = 58,
90801e04c3fSmrg    SpvCapabilityNamedBarrier = 59,
90901e04c3fSmrg    SpvCapabilityPipeStorage = 60,
91001e04c3fSmrg    SpvCapabilityGroupNonUniform = 61,
91101e04c3fSmrg    SpvCapabilityGroupNonUniformVote = 62,
91201e04c3fSmrg    SpvCapabilityGroupNonUniformArithmetic = 63,
91301e04c3fSmrg    SpvCapabilityGroupNonUniformBallot = 64,
91401e04c3fSmrg    SpvCapabilityGroupNonUniformShuffle = 65,
91501e04c3fSmrg    SpvCapabilityGroupNonUniformShuffleRelative = 66,
91601e04c3fSmrg    SpvCapabilityGroupNonUniformClustered = 67,
91701e04c3fSmrg    SpvCapabilityGroupNonUniformQuad = 68,
9187ec681f3Smrg    SpvCapabilityShaderLayer = 69,
9197ec681f3Smrg    SpvCapabilityShaderViewportIndex = 70,
9207ec681f3Smrg    SpvCapabilityFragmentShadingRateKHR = 4422,
92101e04c3fSmrg    SpvCapabilitySubgroupBallotKHR = 4423,
92201e04c3fSmrg    SpvCapabilityDrawParameters = 4427,
9237ec681f3Smrg    SpvCapabilityWorkgroupMemoryExplicitLayoutKHR = 4428,
9247ec681f3Smrg    SpvCapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,
9257ec681f3Smrg    SpvCapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,
92601e04c3fSmrg    SpvCapabilitySubgroupVoteKHR = 4431,
92701e04c3fSmrg    SpvCapabilityStorageBuffer16BitAccess = 4433,
92801e04c3fSmrg    SpvCapabilityStorageUniformBufferBlock16 = 4433,
92901e04c3fSmrg    SpvCapabilityStorageUniform16 = 4434,
93001e04c3fSmrg    SpvCapabilityUniformAndStorageBuffer16BitAccess = 4434,
93101e04c3fSmrg    SpvCapabilityStoragePushConstant16 = 4435,
93201e04c3fSmrg    SpvCapabilityStorageInputOutput16 = 4436,
93301e04c3fSmrg    SpvCapabilityDeviceGroup = 4437,
93401e04c3fSmrg    SpvCapabilityMultiView = 4439,
93501e04c3fSmrg    SpvCapabilityVariablePointersStorageBuffer = 4441,
93601e04c3fSmrg    SpvCapabilityVariablePointers = 4442,
93701e04c3fSmrg    SpvCapabilityAtomicStorageOps = 4445,
93801e04c3fSmrg    SpvCapabilitySampleMaskPostDepthCoverage = 4447,
93901e04c3fSmrg    SpvCapabilityStorageBuffer8BitAccess = 4448,
94001e04c3fSmrg    SpvCapabilityUniformAndStorageBuffer8BitAccess = 4449,
94101e04c3fSmrg    SpvCapabilityStoragePushConstant8 = 4450,
9427e102996Smaya    SpvCapabilityDenormPreserve = 4464,
9437e102996Smaya    SpvCapabilityDenormFlushToZero = 4465,
9447e102996Smaya    SpvCapabilitySignedZeroInfNanPreserve = 4466,
9457e102996Smaya    SpvCapabilityRoundingModeRTE = 4467,
9467e102996Smaya    SpvCapabilityRoundingModeRTZ = 4468,
9477ec681f3Smrg    SpvCapabilityRayQueryProvisionalKHR = 4471,
9487ec681f3Smrg    SpvCapabilityRayQueryKHR = 4472,
9497ec681f3Smrg    SpvCapabilityRayTraversalPrimitiveCullingKHR = 4478,
9507ec681f3Smrg    SpvCapabilityRayTracingKHR = 4479,
95101e04c3fSmrg    SpvCapabilityFloat16ImageAMD = 5008,
95201e04c3fSmrg    SpvCapabilityImageGatherBiasLodAMD = 5009,
95301e04c3fSmrg    SpvCapabilityFragmentMaskAMD = 5010,
95401e04c3fSmrg    SpvCapabilityStencilExportEXT = 5013,
95501e04c3fSmrg    SpvCapabilityImageReadWriteLodAMD = 5015,
9567ec681f3Smrg    SpvCapabilityInt64ImageEXT = 5016,
9577ec681f3Smrg    SpvCapabilityShaderClockKHR = 5055,
95801e04c3fSmrg    SpvCapabilitySampleMaskOverrideCoverageNV = 5249,
95901e04c3fSmrg    SpvCapabilityGeometryShaderPassthroughNV = 5251,
96001e04c3fSmrg    SpvCapabilityShaderViewportIndexLayerEXT = 5254,
96101e04c3fSmrg    SpvCapabilityShaderViewportIndexLayerNV = 5254,
96201e04c3fSmrg    SpvCapabilityShaderViewportMaskNV = 5255,
96301e04c3fSmrg    SpvCapabilityShaderStereoViewNV = 5259,
96401e04c3fSmrg    SpvCapabilityPerViewAttributesNV = 5260,
96501e04c3fSmrg    SpvCapabilityFragmentFullyCoveredEXT = 5265,
96601e04c3fSmrg    SpvCapabilityMeshShadingNV = 5266,
96701e04c3fSmrg    SpvCapabilityImageFootprintNV = 5282,
96801e04c3fSmrg    SpvCapabilityFragmentBarycentricNV = 5284,
96901e04c3fSmrg    SpvCapabilityComputeDerivativeGroupQuadsNV = 5288,
9707e102996Smaya    SpvCapabilityFragmentDensityEXT = 5291,
97101e04c3fSmrg    SpvCapabilityShadingRateNV = 5291,
97201e04c3fSmrg    SpvCapabilityGroupNonUniformPartitionedNV = 5297,
9737ec681f3Smrg    SpvCapabilityShaderNonUniform = 5301,
97401e04c3fSmrg    SpvCapabilityShaderNonUniformEXT = 5301,
9757ec681f3Smrg    SpvCapabilityRuntimeDescriptorArray = 5302,
97601e04c3fSmrg    SpvCapabilityRuntimeDescriptorArrayEXT = 5302,
9777ec681f3Smrg    SpvCapabilityInputAttachmentArrayDynamicIndexing = 5303,
97801e04c3fSmrg    SpvCapabilityInputAttachmentArrayDynamicIndexingEXT = 5303,
9797ec681f3Smrg    SpvCapabilityUniformTexelBufferArrayDynamicIndexing = 5304,
98001e04c3fSmrg    SpvCapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304,
9817ec681f3Smrg    SpvCapabilityStorageTexelBufferArrayDynamicIndexing = 5305,
98201e04c3fSmrg    SpvCapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305,
9837ec681f3Smrg    SpvCapabilityUniformBufferArrayNonUniformIndexing = 5306,
98401e04c3fSmrg    SpvCapabilityUniformBufferArrayNonUniformIndexingEXT = 5306,
9857ec681f3Smrg    SpvCapabilitySampledImageArrayNonUniformIndexing = 5307,
98601e04c3fSmrg    SpvCapabilitySampledImageArrayNonUniformIndexingEXT = 5307,
9877ec681f3Smrg    SpvCapabilityStorageBufferArrayNonUniformIndexing = 5308,
98801e04c3fSmrg    SpvCapabilityStorageBufferArrayNonUniformIndexingEXT = 5308,
9897ec681f3Smrg    SpvCapabilityStorageImageArrayNonUniformIndexing = 5309,
99001e04c3fSmrg    SpvCapabilityStorageImageArrayNonUniformIndexingEXT = 5309,
9917ec681f3Smrg    SpvCapabilityInputAttachmentArrayNonUniformIndexing = 5310,
99201e04c3fSmrg    SpvCapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,
9937ec681f3Smrg    SpvCapabilityUniformTexelBufferArrayNonUniformIndexing = 5311,
99401e04c3fSmrg    SpvCapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
9957ec681f3Smrg    SpvCapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
99601e04c3fSmrg    SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
9977e102996Smaya    SpvCapabilityRayTracingNV = 5340,
9987ec681f3Smrg    SpvCapabilityVulkanMemoryModel = 5345,
99901e04c3fSmrg    SpvCapabilityVulkanMemoryModelKHR = 5345,
10007ec681f3Smrg    SpvCapabilityVulkanMemoryModelDeviceScope = 5346,
100101e04c3fSmrg    SpvCapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
10027ec681f3Smrg    SpvCapabilityPhysicalStorageBufferAddresses = 5347,
10037e102996Smaya    SpvCapabilityPhysicalStorageBufferAddressesEXT = 5347,
100401e04c3fSmrg    SpvCapabilityComputeDerivativeGroupLinearNV = 5350,
10057ec681f3Smrg    SpvCapabilityRayTracingProvisionalKHR = 5353,
10067ec681f3Smrg    SpvCapabilityCooperativeMatrixNV = 5357,
10077ec681f3Smrg    SpvCapabilityFragmentShaderSampleInterlockEXT = 5363,
10087ec681f3Smrg    SpvCapabilityFragmentShaderShadingRateInterlockEXT = 5372,
10097ec681f3Smrg    SpvCapabilityShaderSMBuiltinsNV = 5373,
10107ec681f3Smrg    SpvCapabilityFragmentShaderPixelInterlockEXT = 5378,
10117ec681f3Smrg    SpvCapabilityDemoteToHelperInvocationEXT = 5379,
101201e04c3fSmrg    SpvCapabilitySubgroupShuffleINTEL = 5568,
101301e04c3fSmrg    SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
101401e04c3fSmrg    SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
10157ec681f3Smrg    SpvCapabilitySubgroupImageMediaBlockIOINTEL = 5579,
10167ec681f3Smrg    SpvCapabilityRoundToInfinityINTEL = 5582,
10177ec681f3Smrg    SpvCapabilityFloatingPointModeINTEL = 5583,
10187ec681f3Smrg    SpvCapabilityIntegerFunctions2INTEL = 5584,
10197ec681f3Smrg    SpvCapabilityFunctionPointersINTEL = 5603,
10207ec681f3Smrg    SpvCapabilityIndirectReferencesINTEL = 5604,
10217ec681f3Smrg    SpvCapabilityAsmINTEL = 5606,
10227ec681f3Smrg    SpvCapabilityAtomicFloat32MinMaxEXT = 5612,
10237ec681f3Smrg    SpvCapabilityAtomicFloat64MinMaxEXT = 5613,
10247ec681f3Smrg    SpvCapabilityAtomicFloat16MinMaxEXT = 5616,
10257ec681f3Smrg    SpvCapabilityVectorComputeINTEL = 5617,
10267ec681f3Smrg    SpvCapabilityVectorAnyINTEL = 5619,
10277ec681f3Smrg    SpvCapabilityExpectAssumeKHR = 5629,
10287ec681f3Smrg    SpvCapabilitySubgroupAvcMotionEstimationINTEL = 5696,
10297ec681f3Smrg    SpvCapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
10307ec681f3Smrg    SpvCapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
10317ec681f3Smrg    SpvCapabilityVariableLengthArrayINTEL = 5817,
10327ec681f3Smrg    SpvCapabilityFunctionFloatControlINTEL = 5821,
10337ec681f3Smrg    SpvCapabilityFPGAMemoryAttributesINTEL = 5824,
10347ec681f3Smrg    SpvCapabilityFPFastMathModeINTEL = 5837,
10357ec681f3Smrg    SpvCapabilityArbitraryPrecisionIntegersINTEL = 5844,
10367ec681f3Smrg    SpvCapabilityArbitraryPrecisionFloatingPointINTEL = 5845,
10377ec681f3Smrg    SpvCapabilityUnstructuredLoopControlsINTEL = 5886,
10387ec681f3Smrg    SpvCapabilityFPGALoopControlsINTEL = 5888,
10397ec681f3Smrg    SpvCapabilityKernelAttributesINTEL = 5892,
10407ec681f3Smrg    SpvCapabilityFPGAKernelAttributesINTEL = 5897,
10417ec681f3Smrg    SpvCapabilityFPGAMemoryAccessesINTEL = 5898,
10427ec681f3Smrg    SpvCapabilityFPGAClusterAttributesINTEL = 5904,
10437ec681f3Smrg    SpvCapabilityLoopFuseINTEL = 5906,
10447ec681f3Smrg    SpvCapabilityFPGABufferLocationINTEL = 5920,
10457ec681f3Smrg    SpvCapabilityArbitraryPrecisionFixedPointINTEL = 5922,
10467ec681f3Smrg    SpvCapabilityUSMStorageClassesINTEL = 5935,
10477ec681f3Smrg    SpvCapabilityIOPipesINTEL = 5943,
10487ec681f3Smrg    SpvCapabilityBlockingPipesINTEL = 5945,
10497ec681f3Smrg    SpvCapabilityFPGARegINTEL = 5948,
10507ec681f3Smrg    SpvCapabilityDotProductInputAllKHR = 6016,
10517ec681f3Smrg    SpvCapabilityDotProductInput4x8BitKHR = 6017,
10527ec681f3Smrg    SpvCapabilityDotProductInput4x8BitPackedKHR = 6018,
10537ec681f3Smrg    SpvCapabilityDotProductKHR = 6019,
10547ec681f3Smrg    SpvCapabilityBitInstructions = 6025,
10557ec681f3Smrg    SpvCapabilityAtomicFloat32AddEXT = 6033,
10567ec681f3Smrg    SpvCapabilityAtomicFloat64AddEXT = 6034,
10577ec681f3Smrg    SpvCapabilityLongConstantCompositeINTEL = 6089,
10587ec681f3Smrg    SpvCapabilityOptNoneINTEL = 6094,
10597ec681f3Smrg    SpvCapabilityAtomicFloat16AddEXT = 6095,
10607ec681f3Smrg    SpvCapabilityDebugInfoModuleINTEL = 6114,
106101e04c3fSmrg    SpvCapabilityMax = 0x7fffffff,
106201e04c3fSmrg} SpvCapability;
106301e04c3fSmrg
10647ec681f3Smrgtypedef enum SpvRayFlagsShift_ {
10657ec681f3Smrg    SpvRayFlagsOpaqueKHRShift = 0,
10667ec681f3Smrg    SpvRayFlagsNoOpaqueKHRShift = 1,
10677ec681f3Smrg    SpvRayFlagsTerminateOnFirstHitKHRShift = 2,
10687ec681f3Smrg    SpvRayFlagsSkipClosestHitShaderKHRShift = 3,
10697ec681f3Smrg    SpvRayFlagsCullBackFacingTrianglesKHRShift = 4,
10707ec681f3Smrg    SpvRayFlagsCullFrontFacingTrianglesKHRShift = 5,
10717ec681f3Smrg    SpvRayFlagsCullOpaqueKHRShift = 6,
10727ec681f3Smrg    SpvRayFlagsCullNoOpaqueKHRShift = 7,
10737ec681f3Smrg    SpvRayFlagsSkipTrianglesKHRShift = 8,
10747ec681f3Smrg    SpvRayFlagsSkipAABBsKHRShift = 9,
10757ec681f3Smrg    SpvRayFlagsMax = 0x7fffffff,
10767ec681f3Smrg} SpvRayFlagsShift;
10777ec681f3Smrg
10787ec681f3Smrgtypedef enum SpvRayFlagsMask_ {
10797ec681f3Smrg    SpvRayFlagsMaskNone = 0,
10807ec681f3Smrg    SpvRayFlagsOpaqueKHRMask = 0x00000001,
10817ec681f3Smrg    SpvRayFlagsNoOpaqueKHRMask = 0x00000002,
10827ec681f3Smrg    SpvRayFlagsTerminateOnFirstHitKHRMask = 0x00000004,
10837ec681f3Smrg    SpvRayFlagsSkipClosestHitShaderKHRMask = 0x00000008,
10847ec681f3Smrg    SpvRayFlagsCullBackFacingTrianglesKHRMask = 0x00000010,
10857ec681f3Smrg    SpvRayFlagsCullFrontFacingTrianglesKHRMask = 0x00000020,
10867ec681f3Smrg    SpvRayFlagsCullOpaqueKHRMask = 0x00000040,
10877ec681f3Smrg    SpvRayFlagsCullNoOpaqueKHRMask = 0x00000080,
10887ec681f3Smrg    SpvRayFlagsSkipTrianglesKHRMask = 0x00000100,
10897ec681f3Smrg    SpvRayFlagsSkipAABBsKHRMask = 0x00000200,
10907ec681f3Smrg} SpvRayFlagsMask;
10917ec681f3Smrg
10927ec681f3Smrgtypedef enum SpvRayQueryIntersection_ {
10937ec681f3Smrg    SpvRayQueryIntersectionRayQueryCandidateIntersectionKHR = 0,
10947ec681f3Smrg    SpvRayQueryIntersectionRayQueryCommittedIntersectionKHR = 1,
10957ec681f3Smrg    SpvRayQueryIntersectionMax = 0x7fffffff,
10967ec681f3Smrg} SpvRayQueryIntersection;
10977ec681f3Smrg
10987ec681f3Smrgtypedef enum SpvRayQueryCommittedIntersectionType_ {
10997ec681f3Smrg    SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR = 0,
11007ec681f3Smrg    SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR = 1,
11017ec681f3Smrg    SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR = 2,
11027ec681f3Smrg    SpvRayQueryCommittedIntersectionTypeMax = 0x7fffffff,
11037ec681f3Smrg} SpvRayQueryCommittedIntersectionType;
11047ec681f3Smrg
11057ec681f3Smrgtypedef enum SpvRayQueryCandidateIntersectionType_ {
11067ec681f3Smrg    SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR = 0,
11077ec681f3Smrg    SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR = 1,
11087ec681f3Smrg    SpvRayQueryCandidateIntersectionTypeMax = 0x7fffffff,
11097ec681f3Smrg} SpvRayQueryCandidateIntersectionType;
11107ec681f3Smrg
11117ec681f3Smrgtypedef enum SpvFragmentShadingRateShift_ {
11127ec681f3Smrg    SpvFragmentShadingRateVertical2PixelsShift = 0,
11137ec681f3Smrg    SpvFragmentShadingRateVertical4PixelsShift = 1,
11147ec681f3Smrg    SpvFragmentShadingRateHorizontal2PixelsShift = 2,
11157ec681f3Smrg    SpvFragmentShadingRateHorizontal4PixelsShift = 3,
11167ec681f3Smrg    SpvFragmentShadingRateMax = 0x7fffffff,
11177ec681f3Smrg} SpvFragmentShadingRateShift;
11187ec681f3Smrg
11197ec681f3Smrgtypedef enum SpvFragmentShadingRateMask_ {
11207ec681f3Smrg    SpvFragmentShadingRateMaskNone = 0,
11217ec681f3Smrg    SpvFragmentShadingRateVertical2PixelsMask = 0x00000001,
11227ec681f3Smrg    SpvFragmentShadingRateVertical4PixelsMask = 0x00000002,
11237ec681f3Smrg    SpvFragmentShadingRateHorizontal2PixelsMask = 0x00000004,
11247ec681f3Smrg    SpvFragmentShadingRateHorizontal4PixelsMask = 0x00000008,
11257ec681f3Smrg} SpvFragmentShadingRateMask;
11267ec681f3Smrg
11277ec681f3Smrgtypedef enum SpvFPDenormMode_ {
11287ec681f3Smrg    SpvFPDenormModePreserve = 0,
11297ec681f3Smrg    SpvFPDenormModeFlushToZero = 1,
11307ec681f3Smrg    SpvFPDenormModeMax = 0x7fffffff,
11317ec681f3Smrg} SpvFPDenormMode;
11327ec681f3Smrg
11337ec681f3Smrgtypedef enum SpvFPOperationMode_ {
11347ec681f3Smrg    SpvFPOperationModeIEEE = 0,
11357ec681f3Smrg    SpvFPOperationModeALT = 1,
11367ec681f3Smrg    SpvFPOperationModeMax = 0x7fffffff,
11377ec681f3Smrg} SpvFPOperationMode;
11387ec681f3Smrg
11397ec681f3Smrgtypedef enum SpvQuantizationModes_ {
11407ec681f3Smrg    SpvQuantizationModesTRN = 0,
11417ec681f3Smrg    SpvQuantizationModesTRN_ZERO = 1,
11427ec681f3Smrg    SpvQuantizationModesRND = 2,
11437ec681f3Smrg    SpvQuantizationModesRND_ZERO = 3,
11447ec681f3Smrg    SpvQuantizationModesRND_INF = 4,
11457ec681f3Smrg    SpvQuantizationModesRND_MIN_INF = 5,
11467ec681f3Smrg    SpvQuantizationModesRND_CONV = 6,
11477ec681f3Smrg    SpvQuantizationModesRND_CONV_ODD = 7,
11487ec681f3Smrg    SpvQuantizationModesMax = 0x7fffffff,
11497ec681f3Smrg} SpvQuantizationModes;
11507ec681f3Smrg
11517ec681f3Smrgtypedef enum SpvOverflowModes_ {
11527ec681f3Smrg    SpvOverflowModesWRAP = 0,
11537ec681f3Smrg    SpvOverflowModesSAT = 1,
11547ec681f3Smrg    SpvOverflowModesSAT_ZERO = 2,
11557ec681f3Smrg    SpvOverflowModesSAT_SYM = 3,
11567ec681f3Smrg    SpvOverflowModesMax = 0x7fffffff,
11577ec681f3Smrg} SpvOverflowModes;
11587ec681f3Smrg
11597ec681f3Smrgtypedef enum SpvPackedVectorFormat_ {
11607ec681f3Smrg    SpvPackedVectorFormatPackedVectorFormat4x8BitKHR = 0,
11617ec681f3Smrg    SpvPackedVectorFormatMax = 0x7fffffff,
11627ec681f3Smrg} SpvPackedVectorFormat;
11637ec681f3Smrg
116401e04c3fSmrgtypedef enum SpvOp_ {
116501e04c3fSmrg    SpvOpNop = 0,
116601e04c3fSmrg    SpvOpUndef = 1,
116701e04c3fSmrg    SpvOpSourceContinued = 2,
116801e04c3fSmrg    SpvOpSource = 3,
116901e04c3fSmrg    SpvOpSourceExtension = 4,
117001e04c3fSmrg    SpvOpName = 5,
117101e04c3fSmrg    SpvOpMemberName = 6,
117201e04c3fSmrg    SpvOpString = 7,
117301e04c3fSmrg    SpvOpLine = 8,
117401e04c3fSmrg    SpvOpExtension = 10,
117501e04c3fSmrg    SpvOpExtInstImport = 11,
117601e04c3fSmrg    SpvOpExtInst = 12,
117701e04c3fSmrg    SpvOpMemoryModel = 14,
117801e04c3fSmrg    SpvOpEntryPoint = 15,
117901e04c3fSmrg    SpvOpExecutionMode = 16,
118001e04c3fSmrg    SpvOpCapability = 17,
118101e04c3fSmrg    SpvOpTypeVoid = 19,
118201e04c3fSmrg    SpvOpTypeBool = 20,
118301e04c3fSmrg    SpvOpTypeInt = 21,
118401e04c3fSmrg    SpvOpTypeFloat = 22,
118501e04c3fSmrg    SpvOpTypeVector = 23,
118601e04c3fSmrg    SpvOpTypeMatrix = 24,
118701e04c3fSmrg    SpvOpTypeImage = 25,
118801e04c3fSmrg    SpvOpTypeSampler = 26,
118901e04c3fSmrg    SpvOpTypeSampledImage = 27,
119001e04c3fSmrg    SpvOpTypeArray = 28,
119101e04c3fSmrg    SpvOpTypeRuntimeArray = 29,
119201e04c3fSmrg    SpvOpTypeStruct = 30,
119301e04c3fSmrg    SpvOpTypeOpaque = 31,
119401e04c3fSmrg    SpvOpTypePointer = 32,
119501e04c3fSmrg    SpvOpTypeFunction = 33,
119601e04c3fSmrg    SpvOpTypeEvent = 34,
119701e04c3fSmrg    SpvOpTypeDeviceEvent = 35,
119801e04c3fSmrg    SpvOpTypeReserveId = 36,
119901e04c3fSmrg    SpvOpTypeQueue = 37,
120001e04c3fSmrg    SpvOpTypePipe = 38,
120101e04c3fSmrg    SpvOpTypeForwardPointer = 39,
120201e04c3fSmrg    SpvOpConstantTrue = 41,
120301e04c3fSmrg    SpvOpConstantFalse = 42,
120401e04c3fSmrg    SpvOpConstant = 43,
120501e04c3fSmrg    SpvOpConstantComposite = 44,
120601e04c3fSmrg    SpvOpConstantSampler = 45,
120701e04c3fSmrg    SpvOpConstantNull = 46,
120801e04c3fSmrg    SpvOpSpecConstantTrue = 48,
120901e04c3fSmrg    SpvOpSpecConstantFalse = 49,
121001e04c3fSmrg    SpvOpSpecConstant = 50,
121101e04c3fSmrg    SpvOpSpecConstantComposite = 51,
121201e04c3fSmrg    SpvOpSpecConstantOp = 52,
121301e04c3fSmrg    SpvOpFunction = 54,
121401e04c3fSmrg    SpvOpFunctionParameter = 55,
121501e04c3fSmrg    SpvOpFunctionEnd = 56,
121601e04c3fSmrg    SpvOpFunctionCall = 57,
121701e04c3fSmrg    SpvOpVariable = 59,
121801e04c3fSmrg    SpvOpImageTexelPointer = 60,
121901e04c3fSmrg    SpvOpLoad = 61,
122001e04c3fSmrg    SpvOpStore = 62,
122101e04c3fSmrg    SpvOpCopyMemory = 63,
122201e04c3fSmrg    SpvOpCopyMemorySized = 64,
122301e04c3fSmrg    SpvOpAccessChain = 65,
122401e04c3fSmrg    SpvOpInBoundsAccessChain = 66,
122501e04c3fSmrg    SpvOpPtrAccessChain = 67,
122601e04c3fSmrg    SpvOpArrayLength = 68,
122701e04c3fSmrg    SpvOpGenericPtrMemSemantics = 69,
122801e04c3fSmrg    SpvOpInBoundsPtrAccessChain = 70,
122901e04c3fSmrg    SpvOpDecorate = 71,
123001e04c3fSmrg    SpvOpMemberDecorate = 72,
123101e04c3fSmrg    SpvOpDecorationGroup = 73,
123201e04c3fSmrg    SpvOpGroupDecorate = 74,
123301e04c3fSmrg    SpvOpGroupMemberDecorate = 75,
123401e04c3fSmrg    SpvOpVectorExtractDynamic = 77,
123501e04c3fSmrg    SpvOpVectorInsertDynamic = 78,
123601e04c3fSmrg    SpvOpVectorShuffle = 79,
123701e04c3fSmrg    SpvOpCompositeConstruct = 80,
123801e04c3fSmrg    SpvOpCompositeExtract = 81,
123901e04c3fSmrg    SpvOpCompositeInsert = 82,
124001e04c3fSmrg    SpvOpCopyObject = 83,
124101e04c3fSmrg    SpvOpTranspose = 84,
124201e04c3fSmrg    SpvOpSampledImage = 86,
124301e04c3fSmrg    SpvOpImageSampleImplicitLod = 87,
124401e04c3fSmrg    SpvOpImageSampleExplicitLod = 88,
124501e04c3fSmrg    SpvOpImageSampleDrefImplicitLod = 89,
124601e04c3fSmrg    SpvOpImageSampleDrefExplicitLod = 90,
124701e04c3fSmrg    SpvOpImageSampleProjImplicitLod = 91,
124801e04c3fSmrg    SpvOpImageSampleProjExplicitLod = 92,
124901e04c3fSmrg    SpvOpImageSampleProjDrefImplicitLod = 93,
125001e04c3fSmrg    SpvOpImageSampleProjDrefExplicitLod = 94,
125101e04c3fSmrg    SpvOpImageFetch = 95,
125201e04c3fSmrg    SpvOpImageGather = 96,
125301e04c3fSmrg    SpvOpImageDrefGather = 97,
125401e04c3fSmrg    SpvOpImageRead = 98,
125501e04c3fSmrg    SpvOpImageWrite = 99,
125601e04c3fSmrg    SpvOpImage = 100,
125701e04c3fSmrg    SpvOpImageQueryFormat = 101,
125801e04c3fSmrg    SpvOpImageQueryOrder = 102,
125901e04c3fSmrg    SpvOpImageQuerySizeLod = 103,
126001e04c3fSmrg    SpvOpImageQuerySize = 104,
126101e04c3fSmrg    SpvOpImageQueryLod = 105,
126201e04c3fSmrg    SpvOpImageQueryLevels = 106,
126301e04c3fSmrg    SpvOpImageQuerySamples = 107,
126401e04c3fSmrg    SpvOpConvertFToU = 109,
126501e04c3fSmrg    SpvOpConvertFToS = 110,
126601e04c3fSmrg    SpvOpConvertSToF = 111,
126701e04c3fSmrg    SpvOpConvertUToF = 112,
126801e04c3fSmrg    SpvOpUConvert = 113,
126901e04c3fSmrg    SpvOpSConvert = 114,
127001e04c3fSmrg    SpvOpFConvert = 115,
127101e04c3fSmrg    SpvOpQuantizeToF16 = 116,
127201e04c3fSmrg    SpvOpConvertPtrToU = 117,
127301e04c3fSmrg    SpvOpSatConvertSToU = 118,
127401e04c3fSmrg    SpvOpSatConvertUToS = 119,
127501e04c3fSmrg    SpvOpConvertUToPtr = 120,
127601e04c3fSmrg    SpvOpPtrCastToGeneric = 121,
127701e04c3fSmrg    SpvOpGenericCastToPtr = 122,
127801e04c3fSmrg    SpvOpGenericCastToPtrExplicit = 123,
127901e04c3fSmrg    SpvOpBitcast = 124,
128001e04c3fSmrg    SpvOpSNegate = 126,
128101e04c3fSmrg    SpvOpFNegate = 127,
128201e04c3fSmrg    SpvOpIAdd = 128,
128301e04c3fSmrg    SpvOpFAdd = 129,
128401e04c3fSmrg    SpvOpISub = 130,
128501e04c3fSmrg    SpvOpFSub = 131,
128601e04c3fSmrg    SpvOpIMul = 132,
128701e04c3fSmrg    SpvOpFMul = 133,
128801e04c3fSmrg    SpvOpUDiv = 134,
128901e04c3fSmrg    SpvOpSDiv = 135,
129001e04c3fSmrg    SpvOpFDiv = 136,
129101e04c3fSmrg    SpvOpUMod = 137,
129201e04c3fSmrg    SpvOpSRem = 138,
129301e04c3fSmrg    SpvOpSMod = 139,
129401e04c3fSmrg    SpvOpFRem = 140,
129501e04c3fSmrg    SpvOpFMod = 141,
129601e04c3fSmrg    SpvOpVectorTimesScalar = 142,
129701e04c3fSmrg    SpvOpMatrixTimesScalar = 143,
129801e04c3fSmrg    SpvOpVectorTimesMatrix = 144,
129901e04c3fSmrg    SpvOpMatrixTimesVector = 145,
130001e04c3fSmrg    SpvOpMatrixTimesMatrix = 146,
130101e04c3fSmrg    SpvOpOuterProduct = 147,
130201e04c3fSmrg    SpvOpDot = 148,
130301e04c3fSmrg    SpvOpIAddCarry = 149,
130401e04c3fSmrg    SpvOpISubBorrow = 150,
130501e04c3fSmrg    SpvOpUMulExtended = 151,
130601e04c3fSmrg    SpvOpSMulExtended = 152,
130701e04c3fSmrg    SpvOpAny = 154,
130801e04c3fSmrg    SpvOpAll = 155,
130901e04c3fSmrg    SpvOpIsNan = 156,
131001e04c3fSmrg    SpvOpIsInf = 157,
131101e04c3fSmrg    SpvOpIsFinite = 158,
131201e04c3fSmrg    SpvOpIsNormal = 159,
131301e04c3fSmrg    SpvOpSignBitSet = 160,
131401e04c3fSmrg    SpvOpLessOrGreater = 161,
131501e04c3fSmrg    SpvOpOrdered = 162,
131601e04c3fSmrg    SpvOpUnordered = 163,
131701e04c3fSmrg    SpvOpLogicalEqual = 164,
131801e04c3fSmrg    SpvOpLogicalNotEqual = 165,
131901e04c3fSmrg    SpvOpLogicalOr = 166,
132001e04c3fSmrg    SpvOpLogicalAnd = 167,
132101e04c3fSmrg    SpvOpLogicalNot = 168,
132201e04c3fSmrg    SpvOpSelect = 169,
132301e04c3fSmrg    SpvOpIEqual = 170,
132401e04c3fSmrg    SpvOpINotEqual = 171,
132501e04c3fSmrg    SpvOpUGreaterThan = 172,
132601e04c3fSmrg    SpvOpSGreaterThan = 173,
132701e04c3fSmrg    SpvOpUGreaterThanEqual = 174,
132801e04c3fSmrg    SpvOpSGreaterThanEqual = 175,
132901e04c3fSmrg    SpvOpULessThan = 176,
133001e04c3fSmrg    SpvOpSLessThan = 177,
133101e04c3fSmrg    SpvOpULessThanEqual = 178,
133201e04c3fSmrg    SpvOpSLessThanEqual = 179,
133301e04c3fSmrg    SpvOpFOrdEqual = 180,
133401e04c3fSmrg    SpvOpFUnordEqual = 181,
133501e04c3fSmrg    SpvOpFOrdNotEqual = 182,
133601e04c3fSmrg    SpvOpFUnordNotEqual = 183,
133701e04c3fSmrg    SpvOpFOrdLessThan = 184,
133801e04c3fSmrg    SpvOpFUnordLessThan = 185,
133901e04c3fSmrg    SpvOpFOrdGreaterThan = 186,
134001e04c3fSmrg    SpvOpFUnordGreaterThan = 187,
134101e04c3fSmrg    SpvOpFOrdLessThanEqual = 188,
134201e04c3fSmrg    SpvOpFUnordLessThanEqual = 189,
134301e04c3fSmrg    SpvOpFOrdGreaterThanEqual = 190,
134401e04c3fSmrg    SpvOpFUnordGreaterThanEqual = 191,
134501e04c3fSmrg    SpvOpShiftRightLogical = 194,
134601e04c3fSmrg    SpvOpShiftRightArithmetic = 195,
134701e04c3fSmrg    SpvOpShiftLeftLogical = 196,
134801e04c3fSmrg    SpvOpBitwiseOr = 197,
134901e04c3fSmrg    SpvOpBitwiseXor = 198,
135001e04c3fSmrg    SpvOpBitwiseAnd = 199,
135101e04c3fSmrg    SpvOpNot = 200,
135201e04c3fSmrg    SpvOpBitFieldInsert = 201,
135301e04c3fSmrg    SpvOpBitFieldSExtract = 202,
135401e04c3fSmrg    SpvOpBitFieldUExtract = 203,
135501e04c3fSmrg    SpvOpBitReverse = 204,
135601e04c3fSmrg    SpvOpBitCount = 205,
135701e04c3fSmrg    SpvOpDPdx = 207,
135801e04c3fSmrg    SpvOpDPdy = 208,
135901e04c3fSmrg    SpvOpFwidth = 209,
136001e04c3fSmrg    SpvOpDPdxFine = 210,
136101e04c3fSmrg    SpvOpDPdyFine = 211,
136201e04c3fSmrg    SpvOpFwidthFine = 212,
136301e04c3fSmrg    SpvOpDPdxCoarse = 213,
136401e04c3fSmrg    SpvOpDPdyCoarse = 214,
136501e04c3fSmrg    SpvOpFwidthCoarse = 215,
136601e04c3fSmrg    SpvOpEmitVertex = 218,
136701e04c3fSmrg    SpvOpEndPrimitive = 219,
136801e04c3fSmrg    SpvOpEmitStreamVertex = 220,
136901e04c3fSmrg    SpvOpEndStreamPrimitive = 221,
137001e04c3fSmrg    SpvOpControlBarrier = 224,
137101e04c3fSmrg    SpvOpMemoryBarrier = 225,
137201e04c3fSmrg    SpvOpAtomicLoad = 227,
137301e04c3fSmrg    SpvOpAtomicStore = 228,
137401e04c3fSmrg    SpvOpAtomicExchange = 229,
137501e04c3fSmrg    SpvOpAtomicCompareExchange = 230,
137601e04c3fSmrg    SpvOpAtomicCompareExchangeWeak = 231,
137701e04c3fSmrg    SpvOpAtomicIIncrement = 232,
137801e04c3fSmrg    SpvOpAtomicIDecrement = 233,
137901e04c3fSmrg    SpvOpAtomicIAdd = 234,
138001e04c3fSmrg    SpvOpAtomicISub = 235,
138101e04c3fSmrg    SpvOpAtomicSMin = 236,
138201e04c3fSmrg    SpvOpAtomicUMin = 237,
138301e04c3fSmrg    SpvOpAtomicSMax = 238,
138401e04c3fSmrg    SpvOpAtomicUMax = 239,
138501e04c3fSmrg    SpvOpAtomicAnd = 240,
138601e04c3fSmrg    SpvOpAtomicOr = 241,
138701e04c3fSmrg    SpvOpAtomicXor = 242,
138801e04c3fSmrg    SpvOpPhi = 245,
138901e04c3fSmrg    SpvOpLoopMerge = 246,
139001e04c3fSmrg    SpvOpSelectionMerge = 247,
139101e04c3fSmrg    SpvOpLabel = 248,
139201e04c3fSmrg    SpvOpBranch = 249,
139301e04c3fSmrg    SpvOpBranchConditional = 250,
139401e04c3fSmrg    SpvOpSwitch = 251,
139501e04c3fSmrg    SpvOpKill = 252,
139601e04c3fSmrg    SpvOpReturn = 253,
139701e04c3fSmrg    SpvOpReturnValue = 254,
139801e04c3fSmrg    SpvOpUnreachable = 255,
139901e04c3fSmrg    SpvOpLifetimeStart = 256,
140001e04c3fSmrg    SpvOpLifetimeStop = 257,
140101e04c3fSmrg    SpvOpGroupAsyncCopy = 259,
140201e04c3fSmrg    SpvOpGroupWaitEvents = 260,
140301e04c3fSmrg    SpvOpGroupAll = 261,
140401e04c3fSmrg    SpvOpGroupAny = 262,
140501e04c3fSmrg    SpvOpGroupBroadcast = 263,
140601e04c3fSmrg    SpvOpGroupIAdd = 264,
140701e04c3fSmrg    SpvOpGroupFAdd = 265,
140801e04c3fSmrg    SpvOpGroupFMin = 266,
140901e04c3fSmrg    SpvOpGroupUMin = 267,
141001e04c3fSmrg    SpvOpGroupSMin = 268,
141101e04c3fSmrg    SpvOpGroupFMax = 269,
141201e04c3fSmrg    SpvOpGroupUMax = 270,
141301e04c3fSmrg    SpvOpGroupSMax = 271,
141401e04c3fSmrg    SpvOpReadPipe = 274,
141501e04c3fSmrg    SpvOpWritePipe = 275,
141601e04c3fSmrg    SpvOpReservedReadPipe = 276,
141701e04c3fSmrg    SpvOpReservedWritePipe = 277,
141801e04c3fSmrg    SpvOpReserveReadPipePackets = 278,
141901e04c3fSmrg    SpvOpReserveWritePipePackets = 279,
142001e04c3fSmrg    SpvOpCommitReadPipe = 280,
142101e04c3fSmrg    SpvOpCommitWritePipe = 281,
142201e04c3fSmrg    SpvOpIsValidReserveId = 282,
142301e04c3fSmrg    SpvOpGetNumPipePackets = 283,
142401e04c3fSmrg    SpvOpGetMaxPipePackets = 284,
142501e04c3fSmrg    SpvOpGroupReserveReadPipePackets = 285,
142601e04c3fSmrg    SpvOpGroupReserveWritePipePackets = 286,
142701e04c3fSmrg    SpvOpGroupCommitReadPipe = 287,
142801e04c3fSmrg    SpvOpGroupCommitWritePipe = 288,
142901e04c3fSmrg    SpvOpEnqueueMarker = 291,
143001e04c3fSmrg    SpvOpEnqueueKernel = 292,
143101e04c3fSmrg    SpvOpGetKernelNDrangeSubGroupCount = 293,
143201e04c3fSmrg    SpvOpGetKernelNDrangeMaxSubGroupSize = 294,
143301e04c3fSmrg    SpvOpGetKernelWorkGroupSize = 295,
143401e04c3fSmrg    SpvOpGetKernelPreferredWorkGroupSizeMultiple = 296,
143501e04c3fSmrg    SpvOpRetainEvent = 297,
143601e04c3fSmrg    SpvOpReleaseEvent = 298,
143701e04c3fSmrg    SpvOpCreateUserEvent = 299,
143801e04c3fSmrg    SpvOpIsValidEvent = 300,
143901e04c3fSmrg    SpvOpSetUserEventStatus = 301,
144001e04c3fSmrg    SpvOpCaptureEventProfilingInfo = 302,
144101e04c3fSmrg    SpvOpGetDefaultQueue = 303,
144201e04c3fSmrg    SpvOpBuildNDRange = 304,
144301e04c3fSmrg    SpvOpImageSparseSampleImplicitLod = 305,
144401e04c3fSmrg    SpvOpImageSparseSampleExplicitLod = 306,
144501e04c3fSmrg    SpvOpImageSparseSampleDrefImplicitLod = 307,
144601e04c3fSmrg    SpvOpImageSparseSampleDrefExplicitLod = 308,
144701e04c3fSmrg    SpvOpImageSparseSampleProjImplicitLod = 309,
144801e04c3fSmrg    SpvOpImageSparseSampleProjExplicitLod = 310,
144901e04c3fSmrg    SpvOpImageSparseSampleProjDrefImplicitLod = 311,
145001e04c3fSmrg    SpvOpImageSparseSampleProjDrefExplicitLod = 312,
145101e04c3fSmrg    SpvOpImageSparseFetch = 313,
145201e04c3fSmrg    SpvOpImageSparseGather = 314,
145301e04c3fSmrg    SpvOpImageSparseDrefGather = 315,
145401e04c3fSmrg    SpvOpImageSparseTexelsResident = 316,
145501e04c3fSmrg    SpvOpNoLine = 317,
145601e04c3fSmrg    SpvOpAtomicFlagTestAndSet = 318,
145701e04c3fSmrg    SpvOpAtomicFlagClear = 319,
145801e04c3fSmrg    SpvOpImageSparseRead = 320,
145901e04c3fSmrg    SpvOpSizeOf = 321,
146001e04c3fSmrg    SpvOpTypePipeStorage = 322,
146101e04c3fSmrg    SpvOpConstantPipeStorage = 323,
146201e04c3fSmrg    SpvOpCreatePipeFromPipeStorage = 324,
146301e04c3fSmrg    SpvOpGetKernelLocalSizeForSubgroupCount = 325,
146401e04c3fSmrg    SpvOpGetKernelMaxNumSubgroups = 326,
146501e04c3fSmrg    SpvOpTypeNamedBarrier = 327,
146601e04c3fSmrg    SpvOpNamedBarrierInitialize = 328,
146701e04c3fSmrg    SpvOpMemoryNamedBarrier = 329,
146801e04c3fSmrg    SpvOpModuleProcessed = 330,
146901e04c3fSmrg    SpvOpExecutionModeId = 331,
147001e04c3fSmrg    SpvOpDecorateId = 332,
147101e04c3fSmrg    SpvOpGroupNonUniformElect = 333,
147201e04c3fSmrg    SpvOpGroupNonUniformAll = 334,
147301e04c3fSmrg    SpvOpGroupNonUniformAny = 335,
147401e04c3fSmrg    SpvOpGroupNonUniformAllEqual = 336,
147501e04c3fSmrg    SpvOpGroupNonUniformBroadcast = 337,
147601e04c3fSmrg    SpvOpGroupNonUniformBroadcastFirst = 338,
147701e04c3fSmrg    SpvOpGroupNonUniformBallot = 339,
147801e04c3fSmrg    SpvOpGroupNonUniformInverseBallot = 340,
147901e04c3fSmrg    SpvOpGroupNonUniformBallotBitExtract = 341,
148001e04c3fSmrg    SpvOpGroupNonUniformBallotBitCount = 342,
148101e04c3fSmrg    SpvOpGroupNonUniformBallotFindLSB = 343,
148201e04c3fSmrg    SpvOpGroupNonUniformBallotFindMSB = 344,
148301e04c3fSmrg    SpvOpGroupNonUniformShuffle = 345,
148401e04c3fSmrg    SpvOpGroupNonUniformShuffleXor = 346,
148501e04c3fSmrg    SpvOpGroupNonUniformShuffleUp = 347,
148601e04c3fSmrg    SpvOpGroupNonUniformShuffleDown = 348,
148701e04c3fSmrg    SpvOpGroupNonUniformIAdd = 349,
148801e04c3fSmrg    SpvOpGroupNonUniformFAdd = 350,
148901e04c3fSmrg    SpvOpGroupNonUniformIMul = 351,
149001e04c3fSmrg    SpvOpGroupNonUniformFMul = 352,
149101e04c3fSmrg    SpvOpGroupNonUniformSMin = 353,
149201e04c3fSmrg    SpvOpGroupNonUniformUMin = 354,
149301e04c3fSmrg    SpvOpGroupNonUniformFMin = 355,
149401e04c3fSmrg    SpvOpGroupNonUniformSMax = 356,
149501e04c3fSmrg    SpvOpGroupNonUniformUMax = 357,
149601e04c3fSmrg    SpvOpGroupNonUniformFMax = 358,
149701e04c3fSmrg    SpvOpGroupNonUniformBitwiseAnd = 359,
149801e04c3fSmrg    SpvOpGroupNonUniformBitwiseOr = 360,
149901e04c3fSmrg    SpvOpGroupNonUniformBitwiseXor = 361,
150001e04c3fSmrg    SpvOpGroupNonUniformLogicalAnd = 362,
150101e04c3fSmrg    SpvOpGroupNonUniformLogicalOr = 363,
150201e04c3fSmrg    SpvOpGroupNonUniformLogicalXor = 364,
150301e04c3fSmrg    SpvOpGroupNonUniformQuadBroadcast = 365,
150401e04c3fSmrg    SpvOpGroupNonUniformQuadSwap = 366,
15057ec681f3Smrg    SpvOpCopyLogical = 400,
15067ec681f3Smrg    SpvOpPtrEqual = 401,
15077ec681f3Smrg    SpvOpPtrNotEqual = 402,
15087ec681f3Smrg    SpvOpPtrDiff = 403,
15097ec681f3Smrg    SpvOpTerminateInvocation = 4416,
151001e04c3fSmrg    SpvOpSubgroupBallotKHR = 4421,
151101e04c3fSmrg    SpvOpSubgroupFirstInvocationKHR = 4422,
151201e04c3fSmrg    SpvOpSubgroupAllKHR = 4428,
151301e04c3fSmrg    SpvOpSubgroupAnyKHR = 4429,
151401e04c3fSmrg    SpvOpSubgroupAllEqualKHR = 4430,
151501e04c3fSmrg    SpvOpSubgroupReadInvocationKHR = 4432,
15167ec681f3Smrg    SpvOpTraceRayKHR = 4445,
15177ec681f3Smrg    SpvOpExecuteCallableKHR = 4446,
15187ec681f3Smrg    SpvOpConvertUToAccelerationStructureKHR = 4447,
15197ec681f3Smrg    SpvOpIgnoreIntersectionKHR = 4448,
15207ec681f3Smrg    SpvOpTerminateRayKHR = 4449,
15217ec681f3Smrg    SpvOpSDotKHR = 4450,
15227ec681f3Smrg    SpvOpUDotKHR = 4451,
15237ec681f3Smrg    SpvOpSUDotKHR = 4452,
15247ec681f3Smrg    SpvOpSDotAccSatKHR = 4453,
15257ec681f3Smrg    SpvOpUDotAccSatKHR = 4454,
15267ec681f3Smrg    SpvOpSUDotAccSatKHR = 4455,
15277ec681f3Smrg    SpvOpTypeRayQueryKHR = 4472,
15287ec681f3Smrg    SpvOpRayQueryInitializeKHR = 4473,
15297ec681f3Smrg    SpvOpRayQueryTerminateKHR = 4474,
15307ec681f3Smrg    SpvOpRayQueryGenerateIntersectionKHR = 4475,
15317ec681f3Smrg    SpvOpRayQueryConfirmIntersectionKHR = 4476,
15327ec681f3Smrg    SpvOpRayQueryProceedKHR = 4477,
15337ec681f3Smrg    SpvOpRayQueryGetIntersectionTypeKHR = 4479,
153401e04c3fSmrg    SpvOpGroupIAddNonUniformAMD = 5000,
153501e04c3fSmrg    SpvOpGroupFAddNonUniformAMD = 5001,
153601e04c3fSmrg    SpvOpGroupFMinNonUniformAMD = 5002,
153701e04c3fSmrg    SpvOpGroupUMinNonUniformAMD = 5003,
153801e04c3fSmrg    SpvOpGroupSMinNonUniformAMD = 5004,
153901e04c3fSmrg    SpvOpGroupFMaxNonUniformAMD = 5005,
154001e04c3fSmrg    SpvOpGroupUMaxNonUniformAMD = 5006,
154101e04c3fSmrg    SpvOpGroupSMaxNonUniformAMD = 5007,
154201e04c3fSmrg    SpvOpFragmentMaskFetchAMD = 5011,
154301e04c3fSmrg    SpvOpFragmentFetchAMD = 5012,
15447ec681f3Smrg    SpvOpReadClockKHR = 5056,
154501e04c3fSmrg    SpvOpImageSampleFootprintNV = 5283,
154601e04c3fSmrg    SpvOpGroupNonUniformPartitionNV = 5296,
154701e04c3fSmrg    SpvOpWritePackedPrimitiveIndices4x8NV = 5299,
15487ec681f3Smrg    SpvOpReportIntersectionKHR = 5334,
15497e102996Smaya    SpvOpReportIntersectionNV = 5334,
15507e102996Smaya    SpvOpIgnoreIntersectionNV = 5335,
15517e102996Smaya    SpvOpTerminateRayNV = 5336,
15527e102996Smaya    SpvOpTraceNV = 5337,
15537ec681f3Smrg    SpvOpTypeAccelerationStructureKHR = 5341,
15547e102996Smaya    SpvOpTypeAccelerationStructureNV = 5341,
15557e102996Smaya    SpvOpExecuteCallableNV = 5344,
15567ec681f3Smrg    SpvOpTypeCooperativeMatrixNV = 5358,
15577ec681f3Smrg    SpvOpCooperativeMatrixLoadNV = 5359,
15587ec681f3Smrg    SpvOpCooperativeMatrixStoreNV = 5360,
15597ec681f3Smrg    SpvOpCooperativeMatrixMulAddNV = 5361,
15607ec681f3Smrg    SpvOpCooperativeMatrixLengthNV = 5362,
15617ec681f3Smrg    SpvOpBeginInvocationInterlockEXT = 5364,
15627ec681f3Smrg    SpvOpEndInvocationInterlockEXT = 5365,
15637ec681f3Smrg    SpvOpDemoteToHelperInvocationEXT = 5380,
15647ec681f3Smrg    SpvOpIsHelperInvocationEXT = 5381,
156501e04c3fSmrg    SpvOpSubgroupShuffleINTEL = 5571,
156601e04c3fSmrg    SpvOpSubgroupShuffleDownINTEL = 5572,
156701e04c3fSmrg    SpvOpSubgroupShuffleUpINTEL = 5573,
156801e04c3fSmrg    SpvOpSubgroupShuffleXorINTEL = 5574,
156901e04c3fSmrg    SpvOpSubgroupBlockReadINTEL = 5575,
157001e04c3fSmrg    SpvOpSubgroupBlockWriteINTEL = 5576,
157101e04c3fSmrg    SpvOpSubgroupImageBlockReadINTEL = 5577,
157201e04c3fSmrg    SpvOpSubgroupImageBlockWriteINTEL = 5578,
15737ec681f3Smrg    SpvOpSubgroupImageMediaBlockReadINTEL = 5580,
15747ec681f3Smrg    SpvOpSubgroupImageMediaBlockWriteINTEL = 5581,
15757ec681f3Smrg    SpvOpUCountLeadingZerosINTEL = 5585,
15767ec681f3Smrg    SpvOpUCountTrailingZerosINTEL = 5586,
15777ec681f3Smrg    SpvOpAbsISubINTEL = 5587,
15787ec681f3Smrg    SpvOpAbsUSubINTEL = 5588,
15797ec681f3Smrg    SpvOpIAddSatINTEL = 5589,
15807ec681f3Smrg    SpvOpUAddSatINTEL = 5590,
15817ec681f3Smrg    SpvOpIAverageINTEL = 5591,
15827ec681f3Smrg    SpvOpUAverageINTEL = 5592,
15837ec681f3Smrg    SpvOpIAverageRoundedINTEL = 5593,
15847ec681f3Smrg    SpvOpUAverageRoundedINTEL = 5594,
15857ec681f3Smrg    SpvOpISubSatINTEL = 5595,
15867ec681f3Smrg    SpvOpUSubSatINTEL = 5596,
15877ec681f3Smrg    SpvOpIMul32x16INTEL = 5597,
15887ec681f3Smrg    SpvOpUMul32x16INTEL = 5598,
15897ec681f3Smrg    SpvOpConstFunctionPointerINTEL = 5600,
15907ec681f3Smrg    SpvOpFunctionPointerCallINTEL = 5601,
15917ec681f3Smrg    SpvOpAsmTargetINTEL = 5609,
15927ec681f3Smrg    SpvOpAsmINTEL = 5610,
15937ec681f3Smrg    SpvOpAsmCallINTEL = 5611,
15947ec681f3Smrg    SpvOpAtomicFMinEXT = 5614,
15957ec681f3Smrg    SpvOpAtomicFMaxEXT = 5615,
15967ec681f3Smrg    SpvOpAssumeTrueKHR = 5630,
15977ec681f3Smrg    SpvOpExpectKHR = 5631,
15987ec681f3Smrg    SpvOpDecorateString = 5632,
159901e04c3fSmrg    SpvOpDecorateStringGOOGLE = 5632,
16007ec681f3Smrg    SpvOpMemberDecorateString = 5633,
160101e04c3fSmrg    SpvOpMemberDecorateStringGOOGLE = 5633,
16027ec681f3Smrg    SpvOpVmeImageINTEL = 5699,
16037ec681f3Smrg    SpvOpTypeVmeImageINTEL = 5700,
16047ec681f3Smrg    SpvOpTypeAvcImePayloadINTEL = 5701,
16057ec681f3Smrg    SpvOpTypeAvcRefPayloadINTEL = 5702,
16067ec681f3Smrg    SpvOpTypeAvcSicPayloadINTEL = 5703,
16077ec681f3Smrg    SpvOpTypeAvcMcePayloadINTEL = 5704,
16087ec681f3Smrg    SpvOpTypeAvcMceResultINTEL = 5705,
16097ec681f3Smrg    SpvOpTypeAvcImeResultINTEL = 5706,
16107ec681f3Smrg    SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
16117ec681f3Smrg    SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
16127ec681f3Smrg    SpvOpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
16137ec681f3Smrg    SpvOpTypeAvcImeDualReferenceStreaminINTEL = 5710,
16147ec681f3Smrg    SpvOpTypeAvcRefResultINTEL = 5711,
16157ec681f3Smrg    SpvOpTypeAvcSicResultINTEL = 5712,
16167ec681f3Smrg    SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
16177ec681f3Smrg    SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
16187ec681f3Smrg    SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
16197ec681f3Smrg    SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
16207ec681f3Smrg    SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
16217ec681f3Smrg    SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
16227ec681f3Smrg    SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
16237ec681f3Smrg    SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
16247ec681f3Smrg    SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
16257ec681f3Smrg    SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
16267ec681f3Smrg    SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
16277ec681f3Smrg    SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
16287ec681f3Smrg    SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
16297ec681f3Smrg    SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
16307ec681f3Smrg    SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
16317ec681f3Smrg    SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
16327ec681f3Smrg    SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
16337ec681f3Smrg    SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
16347ec681f3Smrg    SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
16357ec681f3Smrg    SpvOpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
16367ec681f3Smrg    SpvOpSubgroupAvcMceConvertToImeResultINTEL = 5733,
16377ec681f3Smrg    SpvOpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
16387ec681f3Smrg    SpvOpSubgroupAvcMceConvertToRefResultINTEL = 5735,
16397ec681f3Smrg    SpvOpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
16407ec681f3Smrg    SpvOpSubgroupAvcMceConvertToSicResultINTEL = 5737,
16417ec681f3Smrg    SpvOpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
16427ec681f3Smrg    SpvOpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
16437ec681f3Smrg    SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
16447ec681f3Smrg    SpvOpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
16457ec681f3Smrg    SpvOpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
16467ec681f3Smrg    SpvOpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
16477ec681f3Smrg    SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
16487ec681f3Smrg    SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
16497ec681f3Smrg    SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
16507ec681f3Smrg    SpvOpSubgroupAvcImeInitializeINTEL = 5747,
16517ec681f3Smrg    SpvOpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
16527ec681f3Smrg    SpvOpSubgroupAvcImeSetDualReferenceINTEL = 5749,
16537ec681f3Smrg    SpvOpSubgroupAvcImeRefWindowSizeINTEL = 5750,
16547ec681f3Smrg    SpvOpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
16557ec681f3Smrg    SpvOpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
16567ec681f3Smrg    SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
16577ec681f3Smrg    SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
16587ec681f3Smrg    SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
16597ec681f3Smrg    SpvOpSubgroupAvcImeSetWeightedSadINTEL = 5756,
16607ec681f3Smrg    SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
16617ec681f3Smrg    SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
16627ec681f3Smrg    SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
16637ec681f3Smrg    SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
16647ec681f3Smrg    SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
16657ec681f3Smrg    SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
16667ec681f3Smrg    SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
16677ec681f3Smrg    SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
16687ec681f3Smrg    SpvOpSubgroupAvcImeConvertToMceResultINTEL = 5765,
16697ec681f3Smrg    SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
16707ec681f3Smrg    SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
16717ec681f3Smrg    SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
16727ec681f3Smrg    SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
16737ec681f3Smrg    SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
16747ec681f3Smrg    SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
16757ec681f3Smrg    SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
16767ec681f3Smrg    SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
16777ec681f3Smrg    SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
16787ec681f3Smrg    SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
16797ec681f3Smrg    SpvOpSubgroupAvcImeGetBorderReachedINTEL = 5776,
16807ec681f3Smrg    SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
16817ec681f3Smrg    SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
16827ec681f3Smrg    SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
16837ec681f3Smrg    SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
16847ec681f3Smrg    SpvOpSubgroupAvcFmeInitializeINTEL = 5781,
16857ec681f3Smrg    SpvOpSubgroupAvcBmeInitializeINTEL = 5782,
16867ec681f3Smrg    SpvOpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
16877ec681f3Smrg    SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
16887ec681f3Smrg    SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
16897ec681f3Smrg    SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
16907ec681f3Smrg    SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
16917ec681f3Smrg    SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
16927ec681f3Smrg    SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
16937ec681f3Smrg    SpvOpSubgroupAvcRefConvertToMceResultINTEL = 5790,
16947ec681f3Smrg    SpvOpSubgroupAvcSicInitializeINTEL = 5791,
16957ec681f3Smrg    SpvOpSubgroupAvcSicConfigureSkcINTEL = 5792,
16967ec681f3Smrg    SpvOpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
16977ec681f3Smrg    SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
16987ec681f3Smrg    SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
16997ec681f3Smrg    SpvOpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
17007ec681f3Smrg    SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
17017ec681f3Smrg    SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
17027ec681f3Smrg    SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
17037ec681f3Smrg    SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
17047ec681f3Smrg    SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
17057ec681f3Smrg    SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
17067ec681f3Smrg    SpvOpSubgroupAvcSicEvaluateIpeINTEL = 5803,
17077ec681f3Smrg    SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
17087ec681f3Smrg    SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
17097ec681f3Smrg    SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
17107ec681f3Smrg    SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
17117ec681f3Smrg    SpvOpSubgroupAvcSicConvertToMceResultINTEL = 5808,
17127ec681f3Smrg    SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
17137ec681f3Smrg    SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
17147ec681f3Smrg    SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
17157ec681f3Smrg    SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
17167ec681f3Smrg    SpvOpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
17177ec681f3Smrg    SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
17187ec681f3Smrg    SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
17197ec681f3Smrg    SpvOpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
17207ec681f3Smrg    SpvOpVariableLengthArrayINTEL = 5818,
17217ec681f3Smrg    SpvOpSaveMemoryINTEL = 5819,
17227ec681f3Smrg    SpvOpRestoreMemoryINTEL = 5820,
17237ec681f3Smrg    SpvOpArbitraryFloatSinCosPiINTEL = 5840,
17247ec681f3Smrg    SpvOpArbitraryFloatCastINTEL = 5841,
17257ec681f3Smrg    SpvOpArbitraryFloatCastFromIntINTEL = 5842,
17267ec681f3Smrg    SpvOpArbitraryFloatCastToIntINTEL = 5843,
17277ec681f3Smrg    SpvOpArbitraryFloatAddINTEL = 5846,
17287ec681f3Smrg    SpvOpArbitraryFloatSubINTEL = 5847,
17297ec681f3Smrg    SpvOpArbitraryFloatMulINTEL = 5848,
17307ec681f3Smrg    SpvOpArbitraryFloatDivINTEL = 5849,
17317ec681f3Smrg    SpvOpArbitraryFloatGTINTEL = 5850,
17327ec681f3Smrg    SpvOpArbitraryFloatGEINTEL = 5851,
17337ec681f3Smrg    SpvOpArbitraryFloatLTINTEL = 5852,
17347ec681f3Smrg    SpvOpArbitraryFloatLEINTEL = 5853,
17357ec681f3Smrg    SpvOpArbitraryFloatEQINTEL = 5854,
17367ec681f3Smrg    SpvOpArbitraryFloatRecipINTEL = 5855,
17377ec681f3Smrg    SpvOpArbitraryFloatRSqrtINTEL = 5856,
17387ec681f3Smrg    SpvOpArbitraryFloatCbrtINTEL = 5857,
17397ec681f3Smrg    SpvOpArbitraryFloatHypotINTEL = 5858,
17407ec681f3Smrg    SpvOpArbitraryFloatSqrtINTEL = 5859,
17417ec681f3Smrg    SpvOpArbitraryFloatLogINTEL = 5860,
17427ec681f3Smrg    SpvOpArbitraryFloatLog2INTEL = 5861,
17437ec681f3Smrg    SpvOpArbitraryFloatLog10INTEL = 5862,
17447ec681f3Smrg    SpvOpArbitraryFloatLog1pINTEL = 5863,
17457ec681f3Smrg    SpvOpArbitraryFloatExpINTEL = 5864,
17467ec681f3Smrg    SpvOpArbitraryFloatExp2INTEL = 5865,
17477ec681f3Smrg    SpvOpArbitraryFloatExp10INTEL = 5866,
17487ec681f3Smrg    SpvOpArbitraryFloatExpm1INTEL = 5867,
17497ec681f3Smrg    SpvOpArbitraryFloatSinINTEL = 5868,
17507ec681f3Smrg    SpvOpArbitraryFloatCosINTEL = 5869,
17517ec681f3Smrg    SpvOpArbitraryFloatSinCosINTEL = 5870,
17527ec681f3Smrg    SpvOpArbitraryFloatSinPiINTEL = 5871,
17537ec681f3Smrg    SpvOpArbitraryFloatCosPiINTEL = 5872,
17547ec681f3Smrg    SpvOpArbitraryFloatASinINTEL = 5873,
17557ec681f3Smrg    SpvOpArbitraryFloatASinPiINTEL = 5874,
17567ec681f3Smrg    SpvOpArbitraryFloatACosINTEL = 5875,
17577ec681f3Smrg    SpvOpArbitraryFloatACosPiINTEL = 5876,
17587ec681f3Smrg    SpvOpArbitraryFloatATanINTEL = 5877,
17597ec681f3Smrg    SpvOpArbitraryFloatATanPiINTEL = 5878,
17607ec681f3Smrg    SpvOpArbitraryFloatATan2INTEL = 5879,
17617ec681f3Smrg    SpvOpArbitraryFloatPowINTEL = 5880,
17627ec681f3Smrg    SpvOpArbitraryFloatPowRINTEL = 5881,
17637ec681f3Smrg    SpvOpArbitraryFloatPowNINTEL = 5882,
17647ec681f3Smrg    SpvOpLoopControlINTEL = 5887,
17657ec681f3Smrg    SpvOpFixedSqrtINTEL = 5923,
17667ec681f3Smrg    SpvOpFixedRecipINTEL = 5924,
17677ec681f3Smrg    SpvOpFixedRsqrtINTEL = 5925,
17687ec681f3Smrg    SpvOpFixedSinINTEL = 5926,
17697ec681f3Smrg    SpvOpFixedCosINTEL = 5927,
17707ec681f3Smrg    SpvOpFixedSinCosINTEL = 5928,
17717ec681f3Smrg    SpvOpFixedSinPiINTEL = 5929,
17727ec681f3Smrg    SpvOpFixedCosPiINTEL = 5930,
17737ec681f3Smrg    SpvOpFixedSinCosPiINTEL = 5931,
17747ec681f3Smrg    SpvOpFixedLogINTEL = 5932,
17757ec681f3Smrg    SpvOpFixedExpINTEL = 5933,
17767ec681f3Smrg    SpvOpPtrCastToCrossWorkgroupINTEL = 5934,
17777ec681f3Smrg    SpvOpCrossWorkgroupCastToPtrINTEL = 5938,
17787ec681f3Smrg    SpvOpReadPipeBlockingINTEL = 5946,
17797ec681f3Smrg    SpvOpWritePipeBlockingINTEL = 5947,
17807ec681f3Smrg    SpvOpFPGARegINTEL = 5949,
17817ec681f3Smrg    SpvOpRayQueryGetRayTMinKHR = 6016,
17827ec681f3Smrg    SpvOpRayQueryGetRayFlagsKHR = 6017,
17837ec681f3Smrg    SpvOpRayQueryGetIntersectionTKHR = 6018,
17847ec681f3Smrg    SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
17857ec681f3Smrg    SpvOpRayQueryGetIntersectionInstanceIdKHR = 6020,
17867ec681f3Smrg    SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
17877ec681f3Smrg    SpvOpRayQueryGetIntersectionGeometryIndexKHR = 6022,
17887ec681f3Smrg    SpvOpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,
17897ec681f3Smrg    SpvOpRayQueryGetIntersectionBarycentricsKHR = 6024,
17907ec681f3Smrg    SpvOpRayQueryGetIntersectionFrontFaceKHR = 6025,
17917ec681f3Smrg    SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
17927ec681f3Smrg    SpvOpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,
17937ec681f3Smrg    SpvOpRayQueryGetIntersectionObjectRayOriginKHR = 6028,
17947ec681f3Smrg    SpvOpRayQueryGetWorldRayDirectionKHR = 6029,
17957ec681f3Smrg    SpvOpRayQueryGetWorldRayOriginKHR = 6030,
17967ec681f3Smrg    SpvOpRayQueryGetIntersectionObjectToWorldKHR = 6031,
17977ec681f3Smrg    SpvOpRayQueryGetIntersectionWorldToObjectKHR = 6032,
17987ec681f3Smrg    SpvOpAtomicFAddEXT = 6035,
17997ec681f3Smrg    SpvOpTypeBufferSurfaceINTEL = 6086,
18007ec681f3Smrg    SpvOpTypeStructContinuedINTEL = 6090,
18017ec681f3Smrg    SpvOpConstantCompositeContinuedINTEL = 6091,
18027ec681f3Smrg    SpvOpSpecConstantCompositeContinuedINTEL = 6092,
180301e04c3fSmrg    SpvOpMax = 0x7fffffff,
180401e04c3fSmrg} SpvOp;
180501e04c3fSmrg
18067ec681f3Smrg#ifdef SPV_ENABLE_UTILITY_CODE
18077ec681f3Smrginline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultType) {
18087ec681f3Smrg    *hasResult = *hasResultType = false;
18097ec681f3Smrg    switch (opcode) {
18107ec681f3Smrg    default: /* unknown opcode */ break;
18117ec681f3Smrg    case SpvOpNop: *hasResult = false; *hasResultType = false; break;
18127ec681f3Smrg    case SpvOpUndef: *hasResult = true; *hasResultType = true; break;
18137ec681f3Smrg    case SpvOpSourceContinued: *hasResult = false; *hasResultType = false; break;
18147ec681f3Smrg    case SpvOpSource: *hasResult = false; *hasResultType = false; break;
18157ec681f3Smrg    case SpvOpSourceExtension: *hasResult = false; *hasResultType = false; break;
18167ec681f3Smrg    case SpvOpName: *hasResult = false; *hasResultType = false; break;
18177ec681f3Smrg    case SpvOpMemberName: *hasResult = false; *hasResultType = false; break;
18187ec681f3Smrg    case SpvOpString: *hasResult = true; *hasResultType = false; break;
18197ec681f3Smrg    case SpvOpLine: *hasResult = false; *hasResultType = false; break;
18207ec681f3Smrg    case SpvOpExtension: *hasResult = false; *hasResultType = false; break;
18217ec681f3Smrg    case SpvOpExtInstImport: *hasResult = true; *hasResultType = false; break;
18227ec681f3Smrg    case SpvOpExtInst: *hasResult = true; *hasResultType = true; break;
18237ec681f3Smrg    case SpvOpMemoryModel: *hasResult = false; *hasResultType = false; break;
18247ec681f3Smrg    case SpvOpEntryPoint: *hasResult = false; *hasResultType = false; break;
18257ec681f3Smrg    case SpvOpExecutionMode: *hasResult = false; *hasResultType = false; break;
18267ec681f3Smrg    case SpvOpCapability: *hasResult = false; *hasResultType = false; break;
18277ec681f3Smrg    case SpvOpTypeVoid: *hasResult = true; *hasResultType = false; break;
18287ec681f3Smrg    case SpvOpTypeBool: *hasResult = true; *hasResultType = false; break;
18297ec681f3Smrg    case SpvOpTypeInt: *hasResult = true; *hasResultType = false; break;
18307ec681f3Smrg    case SpvOpTypeFloat: *hasResult = true; *hasResultType = false; break;
18317ec681f3Smrg    case SpvOpTypeVector: *hasResult = true; *hasResultType = false; break;
18327ec681f3Smrg    case SpvOpTypeMatrix: *hasResult = true; *hasResultType = false; break;
18337ec681f3Smrg    case SpvOpTypeImage: *hasResult = true; *hasResultType = false; break;
18347ec681f3Smrg    case SpvOpTypeSampler: *hasResult = true; *hasResultType = false; break;
18357ec681f3Smrg    case SpvOpTypeSampledImage: *hasResult = true; *hasResultType = false; break;
18367ec681f3Smrg    case SpvOpTypeArray: *hasResult = true; *hasResultType = false; break;
18377ec681f3Smrg    case SpvOpTypeRuntimeArray: *hasResult = true; *hasResultType = false; break;
18387ec681f3Smrg    case SpvOpTypeStruct: *hasResult = true; *hasResultType = false; break;
18397ec681f3Smrg    case SpvOpTypeOpaque: *hasResult = true; *hasResultType = false; break;
18407ec681f3Smrg    case SpvOpTypePointer: *hasResult = true; *hasResultType = false; break;
18417ec681f3Smrg    case SpvOpTypeFunction: *hasResult = true; *hasResultType = false; break;
18427ec681f3Smrg    case SpvOpTypeEvent: *hasResult = true; *hasResultType = false; break;
18437ec681f3Smrg    case SpvOpTypeDeviceEvent: *hasResult = true; *hasResultType = false; break;
18447ec681f3Smrg    case SpvOpTypeReserveId: *hasResult = true; *hasResultType = false; break;
18457ec681f3Smrg    case SpvOpTypeQueue: *hasResult = true; *hasResultType = false; break;
18467ec681f3Smrg    case SpvOpTypePipe: *hasResult = true; *hasResultType = false; break;
18477ec681f3Smrg    case SpvOpTypeForwardPointer: *hasResult = false; *hasResultType = false; break;
18487ec681f3Smrg    case SpvOpConstantTrue: *hasResult = true; *hasResultType = true; break;
18497ec681f3Smrg    case SpvOpConstantFalse: *hasResult = true; *hasResultType = true; break;
18507ec681f3Smrg    case SpvOpConstant: *hasResult = true; *hasResultType = true; break;
18517ec681f3Smrg    case SpvOpConstantComposite: *hasResult = true; *hasResultType = true; break;
18527ec681f3Smrg    case SpvOpConstantSampler: *hasResult = true; *hasResultType = true; break;
18537ec681f3Smrg    case SpvOpConstantNull: *hasResult = true; *hasResultType = true; break;
18547ec681f3Smrg    case SpvOpSpecConstantTrue: *hasResult = true; *hasResultType = true; break;
18557ec681f3Smrg    case SpvOpSpecConstantFalse: *hasResult = true; *hasResultType = true; break;
18567ec681f3Smrg    case SpvOpSpecConstant: *hasResult = true; *hasResultType = true; break;
18577ec681f3Smrg    case SpvOpSpecConstantComposite: *hasResult = true; *hasResultType = true; break;
18587ec681f3Smrg    case SpvOpSpecConstantOp: *hasResult = true; *hasResultType = true; break;
18597ec681f3Smrg    case SpvOpFunction: *hasResult = true; *hasResultType = true; break;
18607ec681f3Smrg    case SpvOpFunctionParameter: *hasResult = true; *hasResultType = true; break;
18617ec681f3Smrg    case SpvOpFunctionEnd: *hasResult = false; *hasResultType = false; break;
18627ec681f3Smrg    case SpvOpFunctionCall: *hasResult = true; *hasResultType = true; break;
18637ec681f3Smrg    case SpvOpVariable: *hasResult = true; *hasResultType = true; break;
18647ec681f3Smrg    case SpvOpImageTexelPointer: *hasResult = true; *hasResultType = true; break;
18657ec681f3Smrg    case SpvOpLoad: *hasResult = true; *hasResultType = true; break;
18667ec681f3Smrg    case SpvOpStore: *hasResult = false; *hasResultType = false; break;
18677ec681f3Smrg    case SpvOpCopyMemory: *hasResult = false; *hasResultType = false; break;
18687ec681f3Smrg    case SpvOpCopyMemorySized: *hasResult = false; *hasResultType = false; break;
18697ec681f3Smrg    case SpvOpAccessChain: *hasResult = true; *hasResultType = true; break;
18707ec681f3Smrg    case SpvOpInBoundsAccessChain: *hasResult = true; *hasResultType = true; break;
18717ec681f3Smrg    case SpvOpPtrAccessChain: *hasResult = true; *hasResultType = true; break;
18727ec681f3Smrg    case SpvOpArrayLength: *hasResult = true; *hasResultType = true; break;
18737ec681f3Smrg    case SpvOpGenericPtrMemSemantics: *hasResult = true; *hasResultType = true; break;
18747ec681f3Smrg    case SpvOpInBoundsPtrAccessChain: *hasResult = true; *hasResultType = true; break;
18757ec681f3Smrg    case SpvOpDecorate: *hasResult = false; *hasResultType = false; break;
18767ec681f3Smrg    case SpvOpMemberDecorate: *hasResult = false; *hasResultType = false; break;
18777ec681f3Smrg    case SpvOpDecorationGroup: *hasResult = true; *hasResultType = false; break;
18787ec681f3Smrg    case SpvOpGroupDecorate: *hasResult = false; *hasResultType = false; break;
18797ec681f3Smrg    case SpvOpGroupMemberDecorate: *hasResult = false; *hasResultType = false; break;
18807ec681f3Smrg    case SpvOpVectorExtractDynamic: *hasResult = true; *hasResultType = true; break;
18817ec681f3Smrg    case SpvOpVectorInsertDynamic: *hasResult = true; *hasResultType = true; break;
18827ec681f3Smrg    case SpvOpVectorShuffle: *hasResult = true; *hasResultType = true; break;
18837ec681f3Smrg    case SpvOpCompositeConstruct: *hasResult = true; *hasResultType = true; break;
18847ec681f3Smrg    case SpvOpCompositeExtract: *hasResult = true; *hasResultType = true; break;
18857ec681f3Smrg    case SpvOpCompositeInsert: *hasResult = true; *hasResultType = true; break;
18867ec681f3Smrg    case SpvOpCopyObject: *hasResult = true; *hasResultType = true; break;
18877ec681f3Smrg    case SpvOpTranspose: *hasResult = true; *hasResultType = true; break;
18887ec681f3Smrg    case SpvOpSampledImage: *hasResult = true; *hasResultType = true; break;
18897ec681f3Smrg    case SpvOpImageSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
18907ec681f3Smrg    case SpvOpImageSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
18917ec681f3Smrg    case SpvOpImageSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
18927ec681f3Smrg    case SpvOpImageSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
18937ec681f3Smrg    case SpvOpImageSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
18947ec681f3Smrg    case SpvOpImageSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
18957ec681f3Smrg    case SpvOpImageSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
18967ec681f3Smrg    case SpvOpImageSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
18977ec681f3Smrg    case SpvOpImageFetch: *hasResult = true; *hasResultType = true; break;
18987ec681f3Smrg    case SpvOpImageGather: *hasResult = true; *hasResultType = true; break;
18997ec681f3Smrg    case SpvOpImageDrefGather: *hasResult = true; *hasResultType = true; break;
19007ec681f3Smrg    case SpvOpImageRead: *hasResult = true; *hasResultType = true; break;
19017ec681f3Smrg    case SpvOpImageWrite: *hasResult = false; *hasResultType = false; break;
19027ec681f3Smrg    case SpvOpImage: *hasResult = true; *hasResultType = true; break;
19037ec681f3Smrg    case SpvOpImageQueryFormat: *hasResult = true; *hasResultType = true; break;
19047ec681f3Smrg    case SpvOpImageQueryOrder: *hasResult = true; *hasResultType = true; break;
19057ec681f3Smrg    case SpvOpImageQuerySizeLod: *hasResult = true; *hasResultType = true; break;
19067ec681f3Smrg    case SpvOpImageQuerySize: *hasResult = true; *hasResultType = true; break;
19077ec681f3Smrg    case SpvOpImageQueryLod: *hasResult = true; *hasResultType = true; break;
19087ec681f3Smrg    case SpvOpImageQueryLevels: *hasResult = true; *hasResultType = true; break;
19097ec681f3Smrg    case SpvOpImageQuerySamples: *hasResult = true; *hasResultType = true; break;
19107ec681f3Smrg    case SpvOpConvertFToU: *hasResult = true; *hasResultType = true; break;
19117ec681f3Smrg    case SpvOpConvertFToS: *hasResult = true; *hasResultType = true; break;
19127ec681f3Smrg    case SpvOpConvertSToF: *hasResult = true; *hasResultType = true; break;
19137ec681f3Smrg    case SpvOpConvertUToF: *hasResult = true; *hasResultType = true; break;
19147ec681f3Smrg    case SpvOpUConvert: *hasResult = true; *hasResultType = true; break;
19157ec681f3Smrg    case SpvOpSConvert: *hasResult = true; *hasResultType = true; break;
19167ec681f3Smrg    case SpvOpFConvert: *hasResult = true; *hasResultType = true; break;
19177ec681f3Smrg    case SpvOpQuantizeToF16: *hasResult = true; *hasResultType = true; break;
19187ec681f3Smrg    case SpvOpConvertPtrToU: *hasResult = true; *hasResultType = true; break;
19197ec681f3Smrg    case SpvOpSatConvertSToU: *hasResult = true; *hasResultType = true; break;
19207ec681f3Smrg    case SpvOpSatConvertUToS: *hasResult = true; *hasResultType = true; break;
19217ec681f3Smrg    case SpvOpConvertUToPtr: *hasResult = true; *hasResultType = true; break;
19227ec681f3Smrg    case SpvOpPtrCastToGeneric: *hasResult = true; *hasResultType = true; break;
19237ec681f3Smrg    case SpvOpGenericCastToPtr: *hasResult = true; *hasResultType = true; break;
19247ec681f3Smrg    case SpvOpGenericCastToPtrExplicit: *hasResult = true; *hasResultType = true; break;
19257ec681f3Smrg    case SpvOpBitcast: *hasResult = true; *hasResultType = true; break;
19267ec681f3Smrg    case SpvOpSNegate: *hasResult = true; *hasResultType = true; break;
19277ec681f3Smrg    case SpvOpFNegate: *hasResult = true; *hasResultType = true; break;
19287ec681f3Smrg    case SpvOpIAdd: *hasResult = true; *hasResultType = true; break;
19297ec681f3Smrg    case SpvOpFAdd: *hasResult = true; *hasResultType = true; break;
19307ec681f3Smrg    case SpvOpISub: *hasResult = true; *hasResultType = true; break;
19317ec681f3Smrg    case SpvOpFSub: *hasResult = true; *hasResultType = true; break;
19327ec681f3Smrg    case SpvOpIMul: *hasResult = true; *hasResultType = true; break;
19337ec681f3Smrg    case SpvOpFMul: *hasResult = true; *hasResultType = true; break;
19347ec681f3Smrg    case SpvOpUDiv: *hasResult = true; *hasResultType = true; break;
19357ec681f3Smrg    case SpvOpSDiv: *hasResult = true; *hasResultType = true; break;
19367ec681f3Smrg    case SpvOpFDiv: *hasResult = true; *hasResultType = true; break;
19377ec681f3Smrg    case SpvOpUMod: *hasResult = true; *hasResultType = true; break;
19387ec681f3Smrg    case SpvOpSRem: *hasResult = true; *hasResultType = true; break;
19397ec681f3Smrg    case SpvOpSMod: *hasResult = true; *hasResultType = true; break;
19407ec681f3Smrg    case SpvOpFRem: *hasResult = true; *hasResultType = true; break;
19417ec681f3Smrg    case SpvOpFMod: *hasResult = true; *hasResultType = true; break;
19427ec681f3Smrg    case SpvOpVectorTimesScalar: *hasResult = true; *hasResultType = true; break;
19437ec681f3Smrg    case SpvOpMatrixTimesScalar: *hasResult = true; *hasResultType = true; break;
19447ec681f3Smrg    case SpvOpVectorTimesMatrix: *hasResult = true; *hasResultType = true; break;
19457ec681f3Smrg    case SpvOpMatrixTimesVector: *hasResult = true; *hasResultType = true; break;
19467ec681f3Smrg    case SpvOpMatrixTimesMatrix: *hasResult = true; *hasResultType = true; break;
19477ec681f3Smrg    case SpvOpOuterProduct: *hasResult = true; *hasResultType = true; break;
19487ec681f3Smrg    case SpvOpDot: *hasResult = true; *hasResultType = true; break;
19497ec681f3Smrg    case SpvOpIAddCarry: *hasResult = true; *hasResultType = true; break;
19507ec681f3Smrg    case SpvOpISubBorrow: *hasResult = true; *hasResultType = true; break;
19517ec681f3Smrg    case SpvOpUMulExtended: *hasResult = true; *hasResultType = true; break;
19527ec681f3Smrg    case SpvOpSMulExtended: *hasResult = true; *hasResultType = true; break;
19537ec681f3Smrg    case SpvOpAny: *hasResult = true; *hasResultType = true; break;
19547ec681f3Smrg    case SpvOpAll: *hasResult = true; *hasResultType = true; break;
19557ec681f3Smrg    case SpvOpIsNan: *hasResult = true; *hasResultType = true; break;
19567ec681f3Smrg    case SpvOpIsInf: *hasResult = true; *hasResultType = true; break;
19577ec681f3Smrg    case SpvOpIsFinite: *hasResult = true; *hasResultType = true; break;
19587ec681f3Smrg    case SpvOpIsNormal: *hasResult = true; *hasResultType = true; break;
19597ec681f3Smrg    case SpvOpSignBitSet: *hasResult = true; *hasResultType = true; break;
19607ec681f3Smrg    case SpvOpLessOrGreater: *hasResult = true; *hasResultType = true; break;
19617ec681f3Smrg    case SpvOpOrdered: *hasResult = true; *hasResultType = true; break;
19627ec681f3Smrg    case SpvOpUnordered: *hasResult = true; *hasResultType = true; break;
19637ec681f3Smrg    case SpvOpLogicalEqual: *hasResult = true; *hasResultType = true; break;
19647ec681f3Smrg    case SpvOpLogicalNotEqual: *hasResult = true; *hasResultType = true; break;
19657ec681f3Smrg    case SpvOpLogicalOr: *hasResult = true; *hasResultType = true; break;
19667ec681f3Smrg    case SpvOpLogicalAnd: *hasResult = true; *hasResultType = true; break;
19677ec681f3Smrg    case SpvOpLogicalNot: *hasResult = true; *hasResultType = true; break;
19687ec681f3Smrg    case SpvOpSelect: *hasResult = true; *hasResultType = true; break;
19697ec681f3Smrg    case SpvOpIEqual: *hasResult = true; *hasResultType = true; break;
19707ec681f3Smrg    case SpvOpINotEqual: *hasResult = true; *hasResultType = true; break;
19717ec681f3Smrg    case SpvOpUGreaterThan: *hasResult = true; *hasResultType = true; break;
19727ec681f3Smrg    case SpvOpSGreaterThan: *hasResult = true; *hasResultType = true; break;
19737ec681f3Smrg    case SpvOpUGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
19747ec681f3Smrg    case SpvOpSGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
19757ec681f3Smrg    case SpvOpULessThan: *hasResult = true; *hasResultType = true; break;
19767ec681f3Smrg    case SpvOpSLessThan: *hasResult = true; *hasResultType = true; break;
19777ec681f3Smrg    case SpvOpULessThanEqual: *hasResult = true; *hasResultType = true; break;
19787ec681f3Smrg    case SpvOpSLessThanEqual: *hasResult = true; *hasResultType = true; break;
19797ec681f3Smrg    case SpvOpFOrdEqual: *hasResult = true; *hasResultType = true; break;
19807ec681f3Smrg    case SpvOpFUnordEqual: *hasResult = true; *hasResultType = true; break;
19817ec681f3Smrg    case SpvOpFOrdNotEqual: *hasResult = true; *hasResultType = true; break;
19827ec681f3Smrg    case SpvOpFUnordNotEqual: *hasResult = true; *hasResultType = true; break;
19837ec681f3Smrg    case SpvOpFOrdLessThan: *hasResult = true; *hasResultType = true; break;
19847ec681f3Smrg    case SpvOpFUnordLessThan: *hasResult = true; *hasResultType = true; break;
19857ec681f3Smrg    case SpvOpFOrdGreaterThan: *hasResult = true; *hasResultType = true; break;
19867ec681f3Smrg    case SpvOpFUnordGreaterThan: *hasResult = true; *hasResultType = true; break;
19877ec681f3Smrg    case SpvOpFOrdLessThanEqual: *hasResult = true; *hasResultType = true; break;
19887ec681f3Smrg    case SpvOpFUnordLessThanEqual: *hasResult = true; *hasResultType = true; break;
19897ec681f3Smrg    case SpvOpFOrdGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
19907ec681f3Smrg    case SpvOpFUnordGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
19917ec681f3Smrg    case SpvOpShiftRightLogical: *hasResult = true; *hasResultType = true; break;
19927ec681f3Smrg    case SpvOpShiftRightArithmetic: *hasResult = true; *hasResultType = true; break;
19937ec681f3Smrg    case SpvOpShiftLeftLogical: *hasResult = true; *hasResultType = true; break;
19947ec681f3Smrg    case SpvOpBitwiseOr: *hasResult = true; *hasResultType = true; break;
19957ec681f3Smrg    case SpvOpBitwiseXor: *hasResult = true; *hasResultType = true; break;
19967ec681f3Smrg    case SpvOpBitwiseAnd: *hasResult = true; *hasResultType = true; break;
19977ec681f3Smrg    case SpvOpNot: *hasResult = true; *hasResultType = true; break;
19987ec681f3Smrg    case SpvOpBitFieldInsert: *hasResult = true; *hasResultType = true; break;
19997ec681f3Smrg    case SpvOpBitFieldSExtract: *hasResult = true; *hasResultType = true; break;
20007ec681f3Smrg    case SpvOpBitFieldUExtract: *hasResult = true; *hasResultType = true; break;
20017ec681f3Smrg    case SpvOpBitReverse: *hasResult = true; *hasResultType = true; break;
20027ec681f3Smrg    case SpvOpBitCount: *hasResult = true; *hasResultType = true; break;
20037ec681f3Smrg    case SpvOpDPdx: *hasResult = true; *hasResultType = true; break;
20047ec681f3Smrg    case SpvOpDPdy: *hasResult = true; *hasResultType = true; break;
20057ec681f3Smrg    case SpvOpFwidth: *hasResult = true; *hasResultType = true; break;
20067ec681f3Smrg    case SpvOpDPdxFine: *hasResult = true; *hasResultType = true; break;
20077ec681f3Smrg    case SpvOpDPdyFine: *hasResult = true; *hasResultType = true; break;
20087ec681f3Smrg    case SpvOpFwidthFine: *hasResult = true; *hasResultType = true; break;
20097ec681f3Smrg    case SpvOpDPdxCoarse: *hasResult = true; *hasResultType = true; break;
20107ec681f3Smrg    case SpvOpDPdyCoarse: *hasResult = true; *hasResultType = true; break;
20117ec681f3Smrg    case SpvOpFwidthCoarse: *hasResult = true; *hasResultType = true; break;
20127ec681f3Smrg    case SpvOpEmitVertex: *hasResult = false; *hasResultType = false; break;
20137ec681f3Smrg    case SpvOpEndPrimitive: *hasResult = false; *hasResultType = false; break;
20147ec681f3Smrg    case SpvOpEmitStreamVertex: *hasResult = false; *hasResultType = false; break;
20157ec681f3Smrg    case SpvOpEndStreamPrimitive: *hasResult = false; *hasResultType = false; break;
20167ec681f3Smrg    case SpvOpControlBarrier: *hasResult = false; *hasResultType = false; break;
20177ec681f3Smrg    case SpvOpMemoryBarrier: *hasResult = false; *hasResultType = false; break;
20187ec681f3Smrg    case SpvOpAtomicLoad: *hasResult = true; *hasResultType = true; break;
20197ec681f3Smrg    case SpvOpAtomicStore: *hasResult = false; *hasResultType = false; break;
20207ec681f3Smrg    case SpvOpAtomicExchange: *hasResult = true; *hasResultType = true; break;
20217ec681f3Smrg    case SpvOpAtomicCompareExchange: *hasResult = true; *hasResultType = true; break;
20227ec681f3Smrg    case SpvOpAtomicCompareExchangeWeak: *hasResult = true; *hasResultType = true; break;
20237ec681f3Smrg    case SpvOpAtomicIIncrement: *hasResult = true; *hasResultType = true; break;
20247ec681f3Smrg    case SpvOpAtomicIDecrement: *hasResult = true; *hasResultType = true; break;
20257ec681f3Smrg    case SpvOpAtomicIAdd: *hasResult = true; *hasResultType = true; break;
20267ec681f3Smrg    case SpvOpAtomicISub: *hasResult = true; *hasResultType = true; break;
20277ec681f3Smrg    case SpvOpAtomicSMin: *hasResult = true; *hasResultType = true; break;
20287ec681f3Smrg    case SpvOpAtomicUMin: *hasResult = true; *hasResultType = true; break;
20297ec681f3Smrg    case SpvOpAtomicSMax: *hasResult = true; *hasResultType = true; break;
20307ec681f3Smrg    case SpvOpAtomicUMax: *hasResult = true; *hasResultType = true; break;
20317ec681f3Smrg    case SpvOpAtomicAnd: *hasResult = true; *hasResultType = true; break;
20327ec681f3Smrg    case SpvOpAtomicOr: *hasResult = true; *hasResultType = true; break;
20337ec681f3Smrg    case SpvOpAtomicXor: *hasResult = true; *hasResultType = true; break;
20347ec681f3Smrg    case SpvOpPhi: *hasResult = true; *hasResultType = true; break;
20357ec681f3Smrg    case SpvOpLoopMerge: *hasResult = false; *hasResultType = false; break;
20367ec681f3Smrg    case SpvOpSelectionMerge: *hasResult = false; *hasResultType = false; break;
20377ec681f3Smrg    case SpvOpLabel: *hasResult = true; *hasResultType = false; break;
20387ec681f3Smrg    case SpvOpBranch: *hasResult = false; *hasResultType = false; break;
20397ec681f3Smrg    case SpvOpBranchConditional: *hasResult = false; *hasResultType = false; break;
20407ec681f3Smrg    case SpvOpSwitch: *hasResult = false; *hasResultType = false; break;
20417ec681f3Smrg    case SpvOpKill: *hasResult = false; *hasResultType = false; break;
20427ec681f3Smrg    case SpvOpReturn: *hasResult = false; *hasResultType = false; break;
20437ec681f3Smrg    case SpvOpReturnValue: *hasResult = false; *hasResultType = false; break;
20447ec681f3Smrg    case SpvOpUnreachable: *hasResult = false; *hasResultType = false; break;
20457ec681f3Smrg    case SpvOpLifetimeStart: *hasResult = false; *hasResultType = false; break;
20467ec681f3Smrg    case SpvOpLifetimeStop: *hasResult = false; *hasResultType = false; break;
20477ec681f3Smrg    case SpvOpGroupAsyncCopy: *hasResult = true; *hasResultType = true; break;
20487ec681f3Smrg    case SpvOpGroupWaitEvents: *hasResult = false; *hasResultType = false; break;
20497ec681f3Smrg    case SpvOpGroupAll: *hasResult = true; *hasResultType = true; break;
20507ec681f3Smrg    case SpvOpGroupAny: *hasResult = true; *hasResultType = true; break;
20517ec681f3Smrg    case SpvOpGroupBroadcast: *hasResult = true; *hasResultType = true; break;
20527ec681f3Smrg    case SpvOpGroupIAdd: *hasResult = true; *hasResultType = true; break;
20537ec681f3Smrg    case SpvOpGroupFAdd: *hasResult = true; *hasResultType = true; break;
20547ec681f3Smrg    case SpvOpGroupFMin: *hasResult = true; *hasResultType = true; break;
20557ec681f3Smrg    case SpvOpGroupUMin: *hasResult = true; *hasResultType = true; break;
20567ec681f3Smrg    case SpvOpGroupSMin: *hasResult = true; *hasResultType = true; break;
20577ec681f3Smrg    case SpvOpGroupFMax: *hasResult = true; *hasResultType = true; break;
20587ec681f3Smrg    case SpvOpGroupUMax: *hasResult = true; *hasResultType = true; break;
20597ec681f3Smrg    case SpvOpGroupSMax: *hasResult = true; *hasResultType = true; break;
20607ec681f3Smrg    case SpvOpReadPipe: *hasResult = true; *hasResultType = true; break;
20617ec681f3Smrg    case SpvOpWritePipe: *hasResult = true; *hasResultType = true; break;
20627ec681f3Smrg    case SpvOpReservedReadPipe: *hasResult = true; *hasResultType = true; break;
20637ec681f3Smrg    case SpvOpReservedWritePipe: *hasResult = true; *hasResultType = true; break;
20647ec681f3Smrg    case SpvOpReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
20657ec681f3Smrg    case SpvOpReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
20667ec681f3Smrg    case SpvOpCommitReadPipe: *hasResult = false; *hasResultType = false; break;
20677ec681f3Smrg    case SpvOpCommitWritePipe: *hasResult = false; *hasResultType = false; break;
20687ec681f3Smrg    case SpvOpIsValidReserveId: *hasResult = true; *hasResultType = true; break;
20697ec681f3Smrg    case SpvOpGetNumPipePackets: *hasResult = true; *hasResultType = true; break;
20707ec681f3Smrg    case SpvOpGetMaxPipePackets: *hasResult = true; *hasResultType = true; break;
20717ec681f3Smrg    case SpvOpGroupReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
20727ec681f3Smrg    case SpvOpGroupReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
20737ec681f3Smrg    case SpvOpGroupCommitReadPipe: *hasResult = false; *hasResultType = false; break;
20747ec681f3Smrg    case SpvOpGroupCommitWritePipe: *hasResult = false; *hasResultType = false; break;
20757ec681f3Smrg    case SpvOpEnqueueMarker: *hasResult = true; *hasResultType = true; break;
20767ec681f3Smrg    case SpvOpEnqueueKernel: *hasResult = true; *hasResultType = true; break;
20777ec681f3Smrg    case SpvOpGetKernelNDrangeSubGroupCount: *hasResult = true; *hasResultType = true; break;
20787ec681f3Smrg    case SpvOpGetKernelNDrangeMaxSubGroupSize: *hasResult = true; *hasResultType = true; break;
20797ec681f3Smrg    case SpvOpGetKernelWorkGroupSize: *hasResult = true; *hasResultType = true; break;
20807ec681f3Smrg    case SpvOpGetKernelPreferredWorkGroupSizeMultiple: *hasResult = true; *hasResultType = true; break;
20817ec681f3Smrg    case SpvOpRetainEvent: *hasResult = false; *hasResultType = false; break;
20827ec681f3Smrg    case SpvOpReleaseEvent: *hasResult = false; *hasResultType = false; break;
20837ec681f3Smrg    case SpvOpCreateUserEvent: *hasResult = true; *hasResultType = true; break;
20847ec681f3Smrg    case SpvOpIsValidEvent: *hasResult = true; *hasResultType = true; break;
20857ec681f3Smrg    case SpvOpSetUserEventStatus: *hasResult = false; *hasResultType = false; break;
20867ec681f3Smrg    case SpvOpCaptureEventProfilingInfo: *hasResult = false; *hasResultType = false; break;
20877ec681f3Smrg    case SpvOpGetDefaultQueue: *hasResult = true; *hasResultType = true; break;
20887ec681f3Smrg    case SpvOpBuildNDRange: *hasResult = true; *hasResultType = true; break;
20897ec681f3Smrg    case SpvOpImageSparseSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
20907ec681f3Smrg    case SpvOpImageSparseSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
20917ec681f3Smrg    case SpvOpImageSparseSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
20927ec681f3Smrg    case SpvOpImageSparseSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
20937ec681f3Smrg    case SpvOpImageSparseSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
20947ec681f3Smrg    case SpvOpImageSparseSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
20957ec681f3Smrg    case SpvOpImageSparseSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
20967ec681f3Smrg    case SpvOpImageSparseSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
20977ec681f3Smrg    case SpvOpImageSparseFetch: *hasResult = true; *hasResultType = true; break;
20987ec681f3Smrg    case SpvOpImageSparseGather: *hasResult = true; *hasResultType = true; break;
20997ec681f3Smrg    case SpvOpImageSparseDrefGather: *hasResult = true; *hasResultType = true; break;
21007ec681f3Smrg    case SpvOpImageSparseTexelsResident: *hasResult = true; *hasResultType = true; break;
21017ec681f3Smrg    case SpvOpNoLine: *hasResult = false; *hasResultType = false; break;
21027ec681f3Smrg    case SpvOpAtomicFlagTestAndSet: *hasResult = true; *hasResultType = true; break;
21037ec681f3Smrg    case SpvOpAtomicFlagClear: *hasResult = false; *hasResultType = false; break;
21047ec681f3Smrg    case SpvOpImageSparseRead: *hasResult = true; *hasResultType = true; break;
21057ec681f3Smrg    case SpvOpSizeOf: *hasResult = true; *hasResultType = true; break;
21067ec681f3Smrg    case SpvOpTypePipeStorage: *hasResult = true; *hasResultType = false; break;
21077ec681f3Smrg    case SpvOpConstantPipeStorage: *hasResult = true; *hasResultType = true; break;
21087ec681f3Smrg    case SpvOpCreatePipeFromPipeStorage: *hasResult = true; *hasResultType = true; break;
21097ec681f3Smrg    case SpvOpGetKernelLocalSizeForSubgroupCount: *hasResult = true; *hasResultType = true; break;
21107ec681f3Smrg    case SpvOpGetKernelMaxNumSubgroups: *hasResult = true; *hasResultType = true; break;
21117ec681f3Smrg    case SpvOpTypeNamedBarrier: *hasResult = true; *hasResultType = false; break;
21127ec681f3Smrg    case SpvOpNamedBarrierInitialize: *hasResult = true; *hasResultType = true; break;
21137ec681f3Smrg    case SpvOpMemoryNamedBarrier: *hasResult = false; *hasResultType = false; break;
21147ec681f3Smrg    case SpvOpModuleProcessed: *hasResult = false; *hasResultType = false; break;
21157ec681f3Smrg    case SpvOpExecutionModeId: *hasResult = false; *hasResultType = false; break;
21167ec681f3Smrg    case SpvOpDecorateId: *hasResult = false; *hasResultType = false; break;
21177ec681f3Smrg    case SpvOpGroupNonUniformElect: *hasResult = true; *hasResultType = true; break;
21187ec681f3Smrg    case SpvOpGroupNonUniformAll: *hasResult = true; *hasResultType = true; break;
21197ec681f3Smrg    case SpvOpGroupNonUniformAny: *hasResult = true; *hasResultType = true; break;
21207ec681f3Smrg    case SpvOpGroupNonUniformAllEqual: *hasResult = true; *hasResultType = true; break;
21217ec681f3Smrg    case SpvOpGroupNonUniformBroadcast: *hasResult = true; *hasResultType = true; break;
21227ec681f3Smrg    case SpvOpGroupNonUniformBroadcastFirst: *hasResult = true; *hasResultType = true; break;
21237ec681f3Smrg    case SpvOpGroupNonUniformBallot: *hasResult = true; *hasResultType = true; break;
21247ec681f3Smrg    case SpvOpGroupNonUniformInverseBallot: *hasResult = true; *hasResultType = true; break;
21257ec681f3Smrg    case SpvOpGroupNonUniformBallotBitExtract: *hasResult = true; *hasResultType = true; break;
21267ec681f3Smrg    case SpvOpGroupNonUniformBallotBitCount: *hasResult = true; *hasResultType = true; break;
21277ec681f3Smrg    case SpvOpGroupNonUniformBallotFindLSB: *hasResult = true; *hasResultType = true; break;
21287ec681f3Smrg    case SpvOpGroupNonUniformBallotFindMSB: *hasResult = true; *hasResultType = true; break;
21297ec681f3Smrg    case SpvOpGroupNonUniformShuffle: *hasResult = true; *hasResultType = true; break;
21307ec681f3Smrg    case SpvOpGroupNonUniformShuffleXor: *hasResult = true; *hasResultType = true; break;
21317ec681f3Smrg    case SpvOpGroupNonUniformShuffleUp: *hasResult = true; *hasResultType = true; break;
21327ec681f3Smrg    case SpvOpGroupNonUniformShuffleDown: *hasResult = true; *hasResultType = true; break;
21337ec681f3Smrg    case SpvOpGroupNonUniformIAdd: *hasResult = true; *hasResultType = true; break;
21347ec681f3Smrg    case SpvOpGroupNonUniformFAdd: *hasResult = true; *hasResultType = true; break;
21357ec681f3Smrg    case SpvOpGroupNonUniformIMul: *hasResult = true; *hasResultType = true; break;
21367ec681f3Smrg    case SpvOpGroupNonUniformFMul: *hasResult = true; *hasResultType = true; break;
21377ec681f3Smrg    case SpvOpGroupNonUniformSMin: *hasResult = true; *hasResultType = true; break;
21387ec681f3Smrg    case SpvOpGroupNonUniformUMin: *hasResult = true; *hasResultType = true; break;
21397ec681f3Smrg    case SpvOpGroupNonUniformFMin: *hasResult = true; *hasResultType = true; break;
21407ec681f3Smrg    case SpvOpGroupNonUniformSMax: *hasResult = true; *hasResultType = true; break;
21417ec681f3Smrg    case SpvOpGroupNonUniformUMax: *hasResult = true; *hasResultType = true; break;
21427ec681f3Smrg    case SpvOpGroupNonUniformFMax: *hasResult = true; *hasResultType = true; break;
21437ec681f3Smrg    case SpvOpGroupNonUniformBitwiseAnd: *hasResult = true; *hasResultType = true; break;
21447ec681f3Smrg    case SpvOpGroupNonUniformBitwiseOr: *hasResult = true; *hasResultType = true; break;
21457ec681f3Smrg    case SpvOpGroupNonUniformBitwiseXor: *hasResult = true; *hasResultType = true; break;
21467ec681f3Smrg    case SpvOpGroupNonUniformLogicalAnd: *hasResult = true; *hasResultType = true; break;
21477ec681f3Smrg    case SpvOpGroupNonUniformLogicalOr: *hasResult = true; *hasResultType = true; break;
21487ec681f3Smrg    case SpvOpGroupNonUniformLogicalXor: *hasResult = true; *hasResultType = true; break;
21497ec681f3Smrg    case SpvOpGroupNonUniformQuadBroadcast: *hasResult = true; *hasResultType = true; break;
21507ec681f3Smrg    case SpvOpGroupNonUniformQuadSwap: *hasResult = true; *hasResultType = true; break;
21517ec681f3Smrg    case SpvOpCopyLogical: *hasResult = true; *hasResultType = true; break;
21527ec681f3Smrg    case SpvOpPtrEqual: *hasResult = true; *hasResultType = true; break;
21537ec681f3Smrg    case SpvOpPtrNotEqual: *hasResult = true; *hasResultType = true; break;
21547ec681f3Smrg    case SpvOpPtrDiff: *hasResult = true; *hasResultType = true; break;
21557ec681f3Smrg    case SpvOpTerminateInvocation: *hasResult = false; *hasResultType = false; break;
21567ec681f3Smrg    case SpvOpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
21577ec681f3Smrg    case SpvOpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
21587ec681f3Smrg    case SpvOpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
21597ec681f3Smrg    case SpvOpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
21607ec681f3Smrg    case SpvOpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
21617ec681f3Smrg    case SpvOpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
21627ec681f3Smrg    case SpvOpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
21637ec681f3Smrg    case SpvOpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;
21647ec681f3Smrg    case SpvOpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;
21657ec681f3Smrg    case SpvOpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break;
21667ec681f3Smrg    case SpvOpTerminateRayKHR: *hasResult = false; *hasResultType = false; break;
21677ec681f3Smrg    case SpvOpSDotKHR: *hasResult = true; *hasResultType = true; break;
21687ec681f3Smrg    case SpvOpUDotKHR: *hasResult = true; *hasResultType = true; break;
21697ec681f3Smrg    case SpvOpSUDotKHR: *hasResult = true; *hasResultType = true; break;
21707ec681f3Smrg    case SpvOpSDotAccSatKHR: *hasResult = true; *hasResultType = true; break;
21717ec681f3Smrg    case SpvOpUDotAccSatKHR: *hasResult = true; *hasResultType = true; break;
21727ec681f3Smrg    case SpvOpSUDotAccSatKHR: *hasResult = true; *hasResultType = true; break;
21737ec681f3Smrg    case SpvOpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break;
21747ec681f3Smrg    case SpvOpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
21757ec681f3Smrg    case SpvOpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
21767ec681f3Smrg    case SpvOpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
21777ec681f3Smrg    case SpvOpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
21787ec681f3Smrg    case SpvOpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
21797ec681f3Smrg    case SpvOpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
21807ec681f3Smrg    case SpvOpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
21817ec681f3Smrg    case SpvOpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
21827ec681f3Smrg    case SpvOpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
21837ec681f3Smrg    case SpvOpGroupUMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
21847ec681f3Smrg    case SpvOpGroupSMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
21857ec681f3Smrg    case SpvOpGroupFMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
21867ec681f3Smrg    case SpvOpGroupUMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
21877ec681f3Smrg    case SpvOpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
21887ec681f3Smrg    case SpvOpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
21897ec681f3Smrg    case SpvOpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
21907ec681f3Smrg    case SpvOpReadClockKHR: *hasResult = true; *hasResultType = true; break;
21917ec681f3Smrg    case SpvOpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
21927ec681f3Smrg    case SpvOpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
21937ec681f3Smrg    case SpvOpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
21947ec681f3Smrg    case SpvOpReportIntersectionNV: *hasResult = true; *hasResultType = true; break;
21957ec681f3Smrg    case SpvOpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
21967ec681f3Smrg    case SpvOpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
21977ec681f3Smrg    case SpvOpTraceNV: *hasResult = false; *hasResultType = false; break;
21987ec681f3Smrg    case SpvOpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
21997ec681f3Smrg    case SpvOpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
22007ec681f3Smrg    case SpvOpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
22017ec681f3Smrg    case SpvOpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;
22027ec681f3Smrg    case SpvOpCooperativeMatrixStoreNV: *hasResult = false; *hasResultType = false; break;
22037ec681f3Smrg    case SpvOpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break;
22047ec681f3Smrg    case SpvOpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
22057ec681f3Smrg    case SpvOpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
22067ec681f3Smrg    case SpvOpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
22077ec681f3Smrg    case SpvOpDemoteToHelperInvocationEXT: *hasResult = false; *hasResultType = false; break;
22087ec681f3Smrg    case SpvOpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
22097ec681f3Smrg    case SpvOpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
22107ec681f3Smrg    case SpvOpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
22117ec681f3Smrg    case SpvOpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
22127ec681f3Smrg    case SpvOpSubgroupShuffleXorINTEL: *hasResult = true; *hasResultType = true; break;
22137ec681f3Smrg    case SpvOpSubgroupBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
22147ec681f3Smrg    case SpvOpSubgroupBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
22157ec681f3Smrg    case SpvOpSubgroupImageBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
22167ec681f3Smrg    case SpvOpSubgroupImageBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
22177ec681f3Smrg    case SpvOpSubgroupImageMediaBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
22187ec681f3Smrg    case SpvOpSubgroupImageMediaBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
22197ec681f3Smrg    case SpvOpUCountLeadingZerosINTEL: *hasResult = true; *hasResultType = true; break;
22207ec681f3Smrg    case SpvOpUCountTrailingZerosINTEL: *hasResult = true; *hasResultType = true; break;
22217ec681f3Smrg    case SpvOpAbsISubINTEL: *hasResult = true; *hasResultType = true; break;
22227ec681f3Smrg    case SpvOpAbsUSubINTEL: *hasResult = true; *hasResultType = true; break;
22237ec681f3Smrg    case SpvOpIAddSatINTEL: *hasResult = true; *hasResultType = true; break;
22247ec681f3Smrg    case SpvOpUAddSatINTEL: *hasResult = true; *hasResultType = true; break;
22257ec681f3Smrg    case SpvOpIAverageINTEL: *hasResult = true; *hasResultType = true; break;
22267ec681f3Smrg    case SpvOpUAverageINTEL: *hasResult = true; *hasResultType = true; break;
22277ec681f3Smrg    case SpvOpIAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
22287ec681f3Smrg    case SpvOpUAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
22297ec681f3Smrg    case SpvOpISubSatINTEL: *hasResult = true; *hasResultType = true; break;
22307ec681f3Smrg    case SpvOpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
22317ec681f3Smrg    case SpvOpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
22327ec681f3Smrg    case SpvOpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
22337ec681f3Smrg    case SpvOpConstFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
22347ec681f3Smrg    case SpvOpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;
22357ec681f3Smrg    case SpvOpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break;
22367ec681f3Smrg    case SpvOpAsmINTEL: *hasResult = true; *hasResultType = true; break;
22377ec681f3Smrg    case SpvOpAsmCallINTEL: *hasResult = true; *hasResultType = true; break;
22387ec681f3Smrg    case SpvOpAtomicFMinEXT: *hasResult = true; *hasResultType = true; break;
22397ec681f3Smrg    case SpvOpAtomicFMaxEXT: *hasResult = true; *hasResultType = true; break;
22407ec681f3Smrg    case SpvOpAssumeTrueKHR: *hasResult = false; *hasResultType = false; break;
22417ec681f3Smrg    case SpvOpExpectKHR: *hasResult = true; *hasResultType = true; break;
22427ec681f3Smrg    case SpvOpDecorateString: *hasResult = false; *hasResultType = false; break;
22437ec681f3Smrg    case SpvOpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
22447ec681f3Smrg    case SpvOpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
22457ec681f3Smrg    case SpvOpTypeVmeImageINTEL: *hasResult = true; *hasResultType = false; break;
22467ec681f3Smrg    case SpvOpTypeAvcImePayloadINTEL: *hasResult = true; *hasResultType = false; break;
22477ec681f3Smrg    case SpvOpTypeAvcRefPayloadINTEL: *hasResult = true; *hasResultType = false; break;
22487ec681f3Smrg    case SpvOpTypeAvcSicPayloadINTEL: *hasResult = true; *hasResultType = false; break;
22497ec681f3Smrg    case SpvOpTypeAvcMcePayloadINTEL: *hasResult = true; *hasResultType = false; break;
22507ec681f3Smrg    case SpvOpTypeAvcMceResultINTEL: *hasResult = true; *hasResultType = false; break;
22517ec681f3Smrg    case SpvOpTypeAvcImeResultINTEL: *hasResult = true; *hasResultType = false; break;
22527ec681f3Smrg    case SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
22537ec681f3Smrg    case SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
22547ec681f3Smrg    case SpvOpTypeAvcImeSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
22557ec681f3Smrg    case SpvOpTypeAvcImeDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
22567ec681f3Smrg    case SpvOpTypeAvcRefResultINTEL: *hasResult = true; *hasResultType = false; break;
22577ec681f3Smrg    case SpvOpTypeAvcSicResultINTEL: *hasResult = true; *hasResultType = false; break;
22587ec681f3Smrg    case SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
22597ec681f3Smrg    case SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
22607ec681f3Smrg    case SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
22617ec681f3Smrg    case SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
22627ec681f3Smrg    case SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
22637ec681f3Smrg    case SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
22647ec681f3Smrg    case SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
22657ec681f3Smrg    case SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: *hasResult = true; *hasResultType = true; break;
22667ec681f3Smrg    case SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
22677ec681f3Smrg    case SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
22687ec681f3Smrg    case SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
22697ec681f3Smrg    case SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
22707ec681f3Smrg    case SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
22717ec681f3Smrg    case SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
22727ec681f3Smrg    case SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
22737ec681f3Smrg    case SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL: *hasResult = true; *hasResultType = true; break;
22747ec681f3Smrg    case SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
22757ec681f3Smrg    case SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
22767ec681f3Smrg    case SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
22777ec681f3Smrg    case SpvOpSubgroupAvcMceConvertToImePayloadINTEL: *hasResult = true; *hasResultType = true; break;
22787ec681f3Smrg    case SpvOpSubgroupAvcMceConvertToImeResultINTEL: *hasResult = true; *hasResultType = true; break;
22797ec681f3Smrg    case SpvOpSubgroupAvcMceConvertToRefPayloadINTEL: *hasResult = true; *hasResultType = true; break;
22807ec681f3Smrg    case SpvOpSubgroupAvcMceConvertToRefResultINTEL: *hasResult = true; *hasResultType = true; break;
22817ec681f3Smrg    case SpvOpSubgroupAvcMceConvertToSicPayloadINTEL: *hasResult = true; *hasResultType = true; break;
22827ec681f3Smrg    case SpvOpSubgroupAvcMceConvertToSicResultINTEL: *hasResult = true; *hasResultType = true; break;
22837ec681f3Smrg    case SpvOpSubgroupAvcMceGetMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
22847ec681f3Smrg    case SpvOpSubgroupAvcMceGetInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
22857ec681f3Smrg    case SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
22867ec681f3Smrg    case SpvOpSubgroupAvcMceGetInterMajorShapeINTEL: *hasResult = true; *hasResultType = true; break;
22877ec681f3Smrg    case SpvOpSubgroupAvcMceGetInterMinorShapeINTEL: *hasResult = true; *hasResultType = true; break;
22887ec681f3Smrg    case SpvOpSubgroupAvcMceGetInterDirectionsINTEL: *hasResult = true; *hasResultType = true; break;
22897ec681f3Smrg    case SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
22907ec681f3Smrg    case SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
22917ec681f3Smrg    case SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
22927ec681f3Smrg    case SpvOpSubgroupAvcImeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
22937ec681f3Smrg    case SpvOpSubgroupAvcImeSetSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
22947ec681f3Smrg    case SpvOpSubgroupAvcImeSetDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
22957ec681f3Smrg    case SpvOpSubgroupAvcImeRefWindowSizeINTEL: *hasResult = true; *hasResultType = true; break;
22967ec681f3Smrg    case SpvOpSubgroupAvcImeAdjustRefOffsetINTEL: *hasResult = true; *hasResultType = true; break;
22977ec681f3Smrg    case SpvOpSubgroupAvcImeConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
22987ec681f3Smrg    case SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
22997ec681f3Smrg    case SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
23007ec681f3Smrg    case SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: *hasResult = true; *hasResultType = true; break;
23017ec681f3Smrg    case SpvOpSubgroupAvcImeSetWeightedSadINTEL: *hasResult = true; *hasResultType = true; break;
23027ec681f3Smrg    case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
23037ec681f3Smrg    case SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
23047ec681f3Smrg    case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
23057ec681f3Smrg    case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
23067ec681f3Smrg    case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
23077ec681f3Smrg    case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
23087ec681f3Smrg    case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
23097ec681f3Smrg    case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
23107ec681f3Smrg    case SpvOpSubgroupAvcImeConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
23117ec681f3Smrg    case SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
23127ec681f3Smrg    case SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
23137ec681f3Smrg    case SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
23147ec681f3Smrg    case SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
23157ec681f3Smrg    case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
23167ec681f3Smrg    case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
23177ec681f3Smrg    case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
23187ec681f3Smrg    case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
23197ec681f3Smrg    case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
23207ec681f3Smrg    case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
23217ec681f3Smrg    case SpvOpSubgroupAvcImeGetBorderReachedINTEL: *hasResult = true; *hasResultType = true; break;
23227ec681f3Smrg    case SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: *hasResult = true; *hasResultType = true; break;
23237ec681f3Smrg    case SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: *hasResult = true; *hasResultType = true; break;
23247ec681f3Smrg    case SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: *hasResult = true; *hasResultType = true; break;
23257ec681f3Smrg    case SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: *hasResult = true; *hasResultType = true; break;
23267ec681f3Smrg    case SpvOpSubgroupAvcFmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
23277ec681f3Smrg    case SpvOpSubgroupAvcBmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
23287ec681f3Smrg    case SpvOpSubgroupAvcRefConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
23297ec681f3Smrg    case SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
23307ec681f3Smrg    case SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
23317ec681f3Smrg    case SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
23327ec681f3Smrg    case SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
23337ec681f3Smrg    case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
23347ec681f3Smrg    case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
23357ec681f3Smrg    case SpvOpSubgroupAvcRefConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
23367ec681f3Smrg    case SpvOpSubgroupAvcSicInitializeINTEL: *hasResult = true; *hasResultType = true; break;
23377ec681f3Smrg    case SpvOpSubgroupAvcSicConfigureSkcINTEL: *hasResult = true; *hasResultType = true; break;
23387ec681f3Smrg    case SpvOpSubgroupAvcSicConfigureIpeLumaINTEL: *hasResult = true; *hasResultType = true; break;
23397ec681f3Smrg    case SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL: *hasResult = true; *hasResultType = true; break;
23407ec681f3Smrg    case SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL: *hasResult = true; *hasResultType = true; break;
23417ec681f3Smrg    case SpvOpSubgroupAvcSicConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
23427ec681f3Smrg    case SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
23437ec681f3Smrg    case SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
23447ec681f3Smrg    case SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
23457ec681f3Smrg    case SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
23467ec681f3Smrg    case SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: *hasResult = true; *hasResultType = true; break;
23477ec681f3Smrg    case SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: *hasResult = true; *hasResultType = true; break;
23487ec681f3Smrg    case SpvOpSubgroupAvcSicEvaluateIpeINTEL: *hasResult = true; *hasResultType = true; break;
23497ec681f3Smrg    case SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
23507ec681f3Smrg    case SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
23517ec681f3Smrg    case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
23527ec681f3Smrg    case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
23537ec681f3Smrg    case SpvOpSubgroupAvcSicConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
23547ec681f3Smrg    case SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL: *hasResult = true; *hasResultType = true; break;
23557ec681f3Smrg    case SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
23567ec681f3Smrg    case SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
23577ec681f3Smrg    case SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL: *hasResult = true; *hasResultType = true; break;
23587ec681f3Smrg    case SpvOpSubgroupAvcSicGetIpeChromaModeINTEL: *hasResult = true; *hasResultType = true; break;
23597ec681f3Smrg    case SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
23607ec681f3Smrg    case SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
23617ec681f3Smrg    case SpvOpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
23627ec681f3Smrg    case SpvOpVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break;
23637ec681f3Smrg    case SpvOpSaveMemoryINTEL: *hasResult = true; *hasResultType = true; break;
23647ec681f3Smrg    case SpvOpRestoreMemoryINTEL: *hasResult = false; *hasResultType = false; break;
23657ec681f3Smrg    case SpvOpArbitraryFloatSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
23667ec681f3Smrg    case SpvOpArbitraryFloatCastINTEL: *hasResult = true; *hasResultType = true; break;
23677ec681f3Smrg    case SpvOpArbitraryFloatCastFromIntINTEL: *hasResult = true; *hasResultType = true; break;
23687ec681f3Smrg    case SpvOpArbitraryFloatCastToIntINTEL: *hasResult = true; *hasResultType = true; break;
23697ec681f3Smrg    case SpvOpArbitraryFloatAddINTEL: *hasResult = true; *hasResultType = true; break;
23707ec681f3Smrg    case SpvOpArbitraryFloatSubINTEL: *hasResult = true; *hasResultType = true; break;
23717ec681f3Smrg    case SpvOpArbitraryFloatMulINTEL: *hasResult = true; *hasResultType = true; break;
23727ec681f3Smrg    case SpvOpArbitraryFloatDivINTEL: *hasResult = true; *hasResultType = true; break;
23737ec681f3Smrg    case SpvOpArbitraryFloatGTINTEL: *hasResult = true; *hasResultType = true; break;
23747ec681f3Smrg    case SpvOpArbitraryFloatGEINTEL: *hasResult = true; *hasResultType = true; break;
23757ec681f3Smrg    case SpvOpArbitraryFloatLTINTEL: *hasResult = true; *hasResultType = true; break;
23767ec681f3Smrg    case SpvOpArbitraryFloatLEINTEL: *hasResult = true; *hasResultType = true; break;
23777ec681f3Smrg    case SpvOpArbitraryFloatEQINTEL: *hasResult = true; *hasResultType = true; break;
23787ec681f3Smrg    case SpvOpArbitraryFloatRecipINTEL: *hasResult = true; *hasResultType = true; break;
23797ec681f3Smrg    case SpvOpArbitraryFloatRSqrtINTEL: *hasResult = true; *hasResultType = true; break;
23807ec681f3Smrg    case SpvOpArbitraryFloatCbrtINTEL: *hasResult = true; *hasResultType = true; break;
23817ec681f3Smrg    case SpvOpArbitraryFloatHypotINTEL: *hasResult = true; *hasResultType = true; break;
23827ec681f3Smrg    case SpvOpArbitraryFloatSqrtINTEL: *hasResult = true; *hasResultType = true; break;
23837ec681f3Smrg    case SpvOpArbitraryFloatLogINTEL: *hasResult = true; *hasResultType = true; break;
23847ec681f3Smrg    case SpvOpArbitraryFloatLog2INTEL: *hasResult = true; *hasResultType = true; break;
23857ec681f3Smrg    case SpvOpArbitraryFloatLog10INTEL: *hasResult = true; *hasResultType = true; break;
23867ec681f3Smrg    case SpvOpArbitraryFloatLog1pINTEL: *hasResult = true; *hasResultType = true; break;
23877ec681f3Smrg    case SpvOpArbitraryFloatExpINTEL: *hasResult = true; *hasResultType = true; break;
23887ec681f3Smrg    case SpvOpArbitraryFloatExp2INTEL: *hasResult = true; *hasResultType = true; break;
23897ec681f3Smrg    case SpvOpArbitraryFloatExp10INTEL: *hasResult = true; *hasResultType = true; break;
23907ec681f3Smrg    case SpvOpArbitraryFloatExpm1INTEL: *hasResult = true; *hasResultType = true; break;
23917ec681f3Smrg    case SpvOpArbitraryFloatSinINTEL: *hasResult = true; *hasResultType = true; break;
23927ec681f3Smrg    case SpvOpArbitraryFloatCosINTEL: *hasResult = true; *hasResultType = true; break;
23937ec681f3Smrg    case SpvOpArbitraryFloatSinCosINTEL: *hasResult = true; *hasResultType = true; break;
23947ec681f3Smrg    case SpvOpArbitraryFloatSinPiINTEL: *hasResult = true; *hasResultType = true; break;
23957ec681f3Smrg    case SpvOpArbitraryFloatCosPiINTEL: *hasResult = true; *hasResultType = true; break;
23967ec681f3Smrg    case SpvOpArbitraryFloatASinINTEL: *hasResult = true; *hasResultType = true; break;
23977ec681f3Smrg    case SpvOpArbitraryFloatASinPiINTEL: *hasResult = true; *hasResultType = true; break;
23987ec681f3Smrg    case SpvOpArbitraryFloatACosINTEL: *hasResult = true; *hasResultType = true; break;
23997ec681f3Smrg    case SpvOpArbitraryFloatACosPiINTEL: *hasResult = true; *hasResultType = true; break;
24007ec681f3Smrg    case SpvOpArbitraryFloatATanINTEL: *hasResult = true; *hasResultType = true; break;
24017ec681f3Smrg    case SpvOpArbitraryFloatATanPiINTEL: *hasResult = true; *hasResultType = true; break;
24027ec681f3Smrg    case SpvOpArbitraryFloatATan2INTEL: *hasResult = true; *hasResultType = true; break;
24037ec681f3Smrg    case SpvOpArbitraryFloatPowINTEL: *hasResult = true; *hasResultType = true; break;
24047ec681f3Smrg    case SpvOpArbitraryFloatPowRINTEL: *hasResult = true; *hasResultType = true; break;
24057ec681f3Smrg    case SpvOpArbitraryFloatPowNINTEL: *hasResult = true; *hasResultType = true; break;
24067ec681f3Smrg    case SpvOpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
24077ec681f3Smrg    case SpvOpFixedSqrtINTEL: *hasResult = true; *hasResultType = true; break;
24087ec681f3Smrg    case SpvOpFixedRecipINTEL: *hasResult = true; *hasResultType = true; break;
24097ec681f3Smrg    case SpvOpFixedRsqrtINTEL: *hasResult = true; *hasResultType = true; break;
24107ec681f3Smrg    case SpvOpFixedSinINTEL: *hasResult = true; *hasResultType = true; break;
24117ec681f3Smrg    case SpvOpFixedCosINTEL: *hasResult = true; *hasResultType = true; break;
24127ec681f3Smrg    case SpvOpFixedSinCosINTEL: *hasResult = true; *hasResultType = true; break;
24137ec681f3Smrg    case SpvOpFixedSinPiINTEL: *hasResult = true; *hasResultType = true; break;
24147ec681f3Smrg    case SpvOpFixedCosPiINTEL: *hasResult = true; *hasResultType = true; break;
24157ec681f3Smrg    case SpvOpFixedSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
24167ec681f3Smrg    case SpvOpFixedLogINTEL: *hasResult = true; *hasResultType = true; break;
24177ec681f3Smrg    case SpvOpFixedExpINTEL: *hasResult = true; *hasResultType = true; break;
24187ec681f3Smrg    case SpvOpPtrCastToCrossWorkgroupINTEL: *hasResult = true; *hasResultType = true; break;
24197ec681f3Smrg    case SpvOpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break;
24207ec681f3Smrg    case SpvOpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
24217ec681f3Smrg    case SpvOpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
24227ec681f3Smrg    case SpvOpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
24237ec681f3Smrg    case SpvOpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
24247ec681f3Smrg    case SpvOpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
24257ec681f3Smrg    case SpvOpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
24267ec681f3Smrg    case SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
24277ec681f3Smrg    case SpvOpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
24287ec681f3Smrg    case SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
24297ec681f3Smrg    case SpvOpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
24307ec681f3Smrg    case SpvOpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
24317ec681f3Smrg    case SpvOpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
24327ec681f3Smrg    case SpvOpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
24337ec681f3Smrg    case SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
24347ec681f3Smrg    case SpvOpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
24357ec681f3Smrg    case SpvOpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
24367ec681f3Smrg    case SpvOpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
24377ec681f3Smrg    case SpvOpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
24387ec681f3Smrg    case SpvOpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
24397ec681f3Smrg    case SpvOpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
24407ec681f3Smrg    case SpvOpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break;
24417ec681f3Smrg    case SpvOpTypeBufferSurfaceINTEL: *hasResult = true; *hasResultType = false; break;
24427ec681f3Smrg    case SpvOpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
24437ec681f3Smrg    case SpvOpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
24447ec681f3Smrg    case SpvOpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
24457ec681f3Smrg    }
24467ec681f3Smrg}
24477ec681f3Smrg#endif /* SPV_ENABLE_UTILITY_CODE */
24487ec681f3Smrg
24497ec681f3Smrg#endif
245001e04c3fSmrg
2451