2115 lines
		
	
	
		
			100 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			2115 lines
		
	
	
		
			100 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
// Copyright (c) 2014-2020 The Khronos Group Inc.
 | 
						|
// 
 | 
						|
// Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
						|
// of this software and/or associated documentation files (the "Materials"),
 | 
						|
// to deal in the Materials without restriction, including without limitation
 | 
						|
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
						|
// and/or sell copies of the Materials, and to permit persons to whom the
 | 
						|
// Materials are furnished to do so, subject to the following conditions:
 | 
						|
// 
 | 
						|
// The above copyright notice and this permission notice shall be included in
 | 
						|
// all copies or substantial portions of the Materials.
 | 
						|
// 
 | 
						|
// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
 | 
						|
// STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
 | 
						|
// HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ 
 | 
						|
// 
 | 
						|
// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 | 
						|
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
						|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
						|
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
						|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
						|
// FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
 | 
						|
// IN THE MATERIALS.
 | 
						|
 | 
						|
// This header is automatically generated by the same tool that creates
 | 
						|
// the Binary Section of the SPIR-V specification.
 | 
						|
 | 
						|
// Enumeration tokens for SPIR-V, in various styles:
 | 
						|
//   C, C++, C++11, JSON, Lua, Python, C#, D
 | 
						|
// 
 | 
						|
// - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
 | 
						|
// - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
 | 
						|
// - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
 | 
						|
// - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
 | 
						|
// - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
 | 
						|
// - C# will use enum classes in the Specification class located in the "Spv" namespace,
 | 
						|
//     e.g.: Spv.Specification.SourceLanguage.GLSL
 | 
						|
// - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
 | 
						|
// 
 | 
						|
// Some tokens act like mask values, which can be OR'd together,
 | 
						|
// while others are mutually exclusive.  The mask-like ones have
 | 
						|
// "Mask" in their name, and a parallel enum that has the shift
 | 
						|
// amount (1 << x) for each corresponding enumerant.
 | 
						|
 | 
						|
#ifndef spirv_HPP
 | 
						|
#define spirv_HPP
 | 
						|
 | 
						|
namespace spv {
 | 
						|
 | 
						|
typedef unsigned int Id;
 | 
						|
 | 
						|
#define SPV_VERSION 0x10500
 | 
						|
#define SPV_REVISION 3
 | 
						|
 | 
						|
static const unsigned int MagicNumber = 0x07230203;
 | 
						|
static const unsigned int Version = 0x00010500;
 | 
						|
static const unsigned int Revision = 3;
 | 
						|
static const unsigned int OpCodeMask = 0xffff;
 | 
						|
static const unsigned int WordCountShift = 16;
 | 
						|
 | 
						|
enum SourceLanguage {
 | 
						|
    SourceLanguageUnknown = 0,
 | 
						|
    SourceLanguageESSL = 1,
 | 
						|
    SourceLanguageGLSL = 2,
 | 
						|
    SourceLanguageOpenCL_C = 3,
 | 
						|
    SourceLanguageOpenCL_CPP = 4,
 | 
						|
    SourceLanguageHLSL = 5,
 | 
						|
    SourceLanguageMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum ExecutionModel {
 | 
						|
    ExecutionModelVertex = 0,
 | 
						|
    ExecutionModelTessellationControl = 1,
 | 
						|
    ExecutionModelTessellationEvaluation = 2,
 | 
						|
    ExecutionModelGeometry = 3,
 | 
						|
    ExecutionModelFragment = 4,
 | 
						|
    ExecutionModelGLCompute = 5,
 | 
						|
    ExecutionModelKernel = 6,
 | 
						|
    ExecutionModelTaskNV = 5267,
 | 
						|
    ExecutionModelMeshNV = 5268,
 | 
						|
    ExecutionModelRayGenerationKHR = 5313,
 | 
						|
    ExecutionModelRayGenerationNV = 5313,
 | 
						|
    ExecutionModelIntersectionKHR = 5314,
 | 
						|
    ExecutionModelIntersectionNV = 5314,
 | 
						|
    ExecutionModelAnyHitKHR = 5315,
 | 
						|
    ExecutionModelAnyHitNV = 5315,
 | 
						|
    ExecutionModelClosestHitKHR = 5316,
 | 
						|
    ExecutionModelClosestHitNV = 5316,
 | 
						|
    ExecutionModelMissKHR = 5317,
 | 
						|
    ExecutionModelMissNV = 5317,
 | 
						|
    ExecutionModelCallableKHR = 5318,
 | 
						|
    ExecutionModelCallableNV = 5318,
 | 
						|
    ExecutionModelMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum AddressingModel {
 | 
						|
    AddressingModelLogical = 0,
 | 
						|
    AddressingModelPhysical32 = 1,
 | 
						|
    AddressingModelPhysical64 = 2,
 | 
						|
    AddressingModelPhysicalStorageBuffer64 = 5348,
 | 
						|
    AddressingModelPhysicalStorageBuffer64EXT = 5348,
 | 
						|
    AddressingModelMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum MemoryModel {
 | 
						|
    MemoryModelSimple = 0,
 | 
						|
    MemoryModelGLSL450 = 1,
 | 
						|
    MemoryModelOpenCL = 2,
 | 
						|
    MemoryModelVulkan = 3,
 | 
						|
    MemoryModelVulkanKHR = 3,
 | 
						|
    MemoryModelMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum ExecutionMode {
 | 
						|
    ExecutionModeInvocations = 0,
 | 
						|
    ExecutionModeSpacingEqual = 1,
 | 
						|
    ExecutionModeSpacingFractionalEven = 2,
 | 
						|
    ExecutionModeSpacingFractionalOdd = 3,
 | 
						|
    ExecutionModeVertexOrderCw = 4,
 | 
						|
    ExecutionModeVertexOrderCcw = 5,
 | 
						|
    ExecutionModePixelCenterInteger = 6,
 | 
						|
    ExecutionModeOriginUpperLeft = 7,
 | 
						|
    ExecutionModeOriginLowerLeft = 8,
 | 
						|
    ExecutionModeEarlyFragmentTests = 9,
 | 
						|
    ExecutionModePointMode = 10,
 | 
						|
    ExecutionModeXfb = 11,
 | 
						|
    ExecutionModeDepthReplacing = 12,
 | 
						|
    ExecutionModeDepthGreater = 14,
 | 
						|
    ExecutionModeDepthLess = 15,
 | 
						|
    ExecutionModeDepthUnchanged = 16,
 | 
						|
    ExecutionModeLocalSize = 17,
 | 
						|
    ExecutionModeLocalSizeHint = 18,
 | 
						|
    ExecutionModeInputPoints = 19,
 | 
						|
    ExecutionModeInputLines = 20,
 | 
						|
    ExecutionModeInputLinesAdjacency = 21,
 | 
						|
    ExecutionModeTriangles = 22,
 | 
						|
    ExecutionModeInputTrianglesAdjacency = 23,
 | 
						|
    ExecutionModeQuads = 24,
 | 
						|
    ExecutionModeIsolines = 25,
 | 
						|
    ExecutionModeOutputVertices = 26,
 | 
						|
    ExecutionModeOutputPoints = 27,
 | 
						|
    ExecutionModeOutputLineStrip = 28,
 | 
						|
    ExecutionModeOutputTriangleStrip = 29,
 | 
						|
    ExecutionModeVecTypeHint = 30,
 | 
						|
    ExecutionModeContractionOff = 31,
 | 
						|
    ExecutionModeInitializer = 33,
 | 
						|
    ExecutionModeFinalizer = 34,
 | 
						|
    ExecutionModeSubgroupSize = 35,
 | 
						|
    ExecutionModeSubgroupsPerWorkgroup = 36,
 | 
						|
    ExecutionModeSubgroupsPerWorkgroupId = 37,
 | 
						|
    ExecutionModeLocalSizeId = 38,
 | 
						|
    ExecutionModeLocalSizeHintId = 39,
 | 
						|
    ExecutionModePostDepthCoverage = 4446,
 | 
						|
    ExecutionModeDenormPreserve = 4459,
 | 
						|
    ExecutionModeDenormFlushToZero = 4460,
 | 
						|
    ExecutionModeSignedZeroInfNanPreserve = 4461,
 | 
						|
    ExecutionModeRoundingModeRTE = 4462,
 | 
						|
    ExecutionModeRoundingModeRTZ = 4463,
 | 
						|
    ExecutionModeStencilRefReplacingEXT = 5027,
 | 
						|
    ExecutionModeOutputLinesNV = 5269,
 | 
						|
    ExecutionModeOutputPrimitivesNV = 5270,
 | 
						|
    ExecutionModeDerivativeGroupQuadsNV = 5289,
 | 
						|
    ExecutionModeDerivativeGroupLinearNV = 5290,
 | 
						|
    ExecutionModeOutputTrianglesNV = 5298,
 | 
						|
    ExecutionModePixelInterlockOrderedEXT = 5366,
 | 
						|
    ExecutionModePixelInterlockUnorderedEXT = 5367,
 | 
						|
    ExecutionModeSampleInterlockOrderedEXT = 5368,
 | 
						|
    ExecutionModeSampleInterlockUnorderedEXT = 5369,
 | 
						|
    ExecutionModeShadingRateInterlockOrderedEXT = 5370,
 | 
						|
    ExecutionModeShadingRateInterlockUnorderedEXT = 5371,
 | 
						|
    ExecutionModeMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum StorageClass {
 | 
						|
    StorageClassUniformConstant = 0,
 | 
						|
    StorageClassInput = 1,
 | 
						|
    StorageClassUniform = 2,
 | 
						|
    StorageClassOutput = 3,
 | 
						|
    StorageClassWorkgroup = 4,
 | 
						|
    StorageClassCrossWorkgroup = 5,
 | 
						|
    StorageClassPrivate = 6,
 | 
						|
    StorageClassFunction = 7,
 | 
						|
    StorageClassGeneric = 8,
 | 
						|
    StorageClassPushConstant = 9,
 | 
						|
    StorageClassAtomicCounter = 10,
 | 
						|
    StorageClassImage = 11,
 | 
						|
    StorageClassStorageBuffer = 12,
 | 
						|
    StorageClassCallableDataKHR = 5328,
 | 
						|
    StorageClassCallableDataNV = 5328,
 | 
						|
    StorageClassIncomingCallableDataKHR = 5329,
 | 
						|
    StorageClassIncomingCallableDataNV = 5329,
 | 
						|
    StorageClassRayPayloadKHR = 5338,
 | 
						|
    StorageClassRayPayloadNV = 5338,
 | 
						|
    StorageClassHitAttributeKHR = 5339,
 | 
						|
    StorageClassHitAttributeNV = 5339,
 | 
						|
    StorageClassIncomingRayPayloadKHR = 5342,
 | 
						|
    StorageClassIncomingRayPayloadNV = 5342,
 | 
						|
    StorageClassShaderRecordBufferKHR = 5343,
 | 
						|
    StorageClassShaderRecordBufferNV = 5343,
 | 
						|
    StorageClassPhysicalStorageBuffer = 5349,
 | 
						|
    StorageClassPhysicalStorageBufferEXT = 5349,
 | 
						|
    StorageClassMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum Dim {
 | 
						|
    Dim1D = 0,
 | 
						|
    Dim2D = 1,
 | 
						|
    Dim3D = 2,
 | 
						|
    DimCube = 3,
 | 
						|
    DimRect = 4,
 | 
						|
    DimBuffer = 5,
 | 
						|
    DimSubpassData = 6,
 | 
						|
    DimMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum SamplerAddressingMode {
 | 
						|
    SamplerAddressingModeNone = 0,
 | 
						|
    SamplerAddressingModeClampToEdge = 1,
 | 
						|
    SamplerAddressingModeClamp = 2,
 | 
						|
    SamplerAddressingModeRepeat = 3,
 | 
						|
    SamplerAddressingModeRepeatMirrored = 4,
 | 
						|
    SamplerAddressingModeMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum SamplerFilterMode {
 | 
						|
    SamplerFilterModeNearest = 0,
 | 
						|
    SamplerFilterModeLinear = 1,
 | 
						|
    SamplerFilterModeMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum ImageFormat {
 | 
						|
    ImageFormatUnknown = 0,
 | 
						|
    ImageFormatRgba32f = 1,
 | 
						|
    ImageFormatRgba16f = 2,
 | 
						|
    ImageFormatR32f = 3,
 | 
						|
    ImageFormatRgba8 = 4,
 | 
						|
    ImageFormatRgba8Snorm = 5,
 | 
						|
    ImageFormatRg32f = 6,
 | 
						|
    ImageFormatRg16f = 7,
 | 
						|
    ImageFormatR11fG11fB10f = 8,
 | 
						|
    ImageFormatR16f = 9,
 | 
						|
    ImageFormatRgba16 = 10,
 | 
						|
    ImageFormatRgb10A2 = 11,
 | 
						|
    ImageFormatRg16 = 12,
 | 
						|
    ImageFormatRg8 = 13,
 | 
						|
    ImageFormatR16 = 14,
 | 
						|
    ImageFormatR8 = 15,
 | 
						|
    ImageFormatRgba16Snorm = 16,
 | 
						|
    ImageFormatRg16Snorm = 17,
 | 
						|
    ImageFormatRg8Snorm = 18,
 | 
						|
    ImageFormatR16Snorm = 19,
 | 
						|
    ImageFormatR8Snorm = 20,
 | 
						|
    ImageFormatRgba32i = 21,
 | 
						|
    ImageFormatRgba16i = 22,
 | 
						|
    ImageFormatRgba8i = 23,
 | 
						|
    ImageFormatR32i = 24,
 | 
						|
    ImageFormatRg32i = 25,
 | 
						|
    ImageFormatRg16i = 26,
 | 
						|
    ImageFormatRg8i = 27,
 | 
						|
    ImageFormatR16i = 28,
 | 
						|
    ImageFormatR8i = 29,
 | 
						|
    ImageFormatRgba32ui = 30,
 | 
						|
    ImageFormatRgba16ui = 31,
 | 
						|
    ImageFormatRgba8ui = 32,
 | 
						|
    ImageFormatR32ui = 33,
 | 
						|
    ImageFormatRgb10a2ui = 34,
 | 
						|
    ImageFormatRg32ui = 35,
 | 
						|
    ImageFormatRg16ui = 36,
 | 
						|
    ImageFormatRg8ui = 37,
 | 
						|
    ImageFormatR16ui = 38,
 | 
						|
    ImageFormatR8ui = 39,
 | 
						|
    ImageFormatMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum ImageChannelOrder {
 | 
						|
    ImageChannelOrderR = 0,
 | 
						|
    ImageChannelOrderA = 1,
 | 
						|
    ImageChannelOrderRG = 2,
 | 
						|
    ImageChannelOrderRA = 3,
 | 
						|
    ImageChannelOrderRGB = 4,
 | 
						|
    ImageChannelOrderRGBA = 5,
 | 
						|
    ImageChannelOrderBGRA = 6,
 | 
						|
    ImageChannelOrderARGB = 7,
 | 
						|
    ImageChannelOrderIntensity = 8,
 | 
						|
    ImageChannelOrderLuminance = 9,
 | 
						|
    ImageChannelOrderRx = 10,
 | 
						|
    ImageChannelOrderRGx = 11,
 | 
						|
    ImageChannelOrderRGBx = 12,
 | 
						|
    ImageChannelOrderDepth = 13,
 | 
						|
    ImageChannelOrderDepthStencil = 14,
 | 
						|
    ImageChannelOrdersRGB = 15,
 | 
						|
    ImageChannelOrdersRGBx = 16,
 | 
						|
    ImageChannelOrdersRGBA = 17,
 | 
						|
    ImageChannelOrdersBGRA = 18,
 | 
						|
    ImageChannelOrderABGR = 19,
 | 
						|
    ImageChannelOrderMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum ImageChannelDataType {
 | 
						|
    ImageChannelDataTypeSnormInt8 = 0,
 | 
						|
    ImageChannelDataTypeSnormInt16 = 1,
 | 
						|
    ImageChannelDataTypeUnormInt8 = 2,
 | 
						|
    ImageChannelDataTypeUnormInt16 = 3,
 | 
						|
    ImageChannelDataTypeUnormShort565 = 4,
 | 
						|
    ImageChannelDataTypeUnormShort555 = 5,
 | 
						|
    ImageChannelDataTypeUnormInt101010 = 6,
 | 
						|
    ImageChannelDataTypeSignedInt8 = 7,
 | 
						|
    ImageChannelDataTypeSignedInt16 = 8,
 | 
						|
    ImageChannelDataTypeSignedInt32 = 9,
 | 
						|
    ImageChannelDataTypeUnsignedInt8 = 10,
 | 
						|
    ImageChannelDataTypeUnsignedInt16 = 11,
 | 
						|
    ImageChannelDataTypeUnsignedInt32 = 12,
 | 
						|
    ImageChannelDataTypeHalfFloat = 13,
 | 
						|
    ImageChannelDataTypeFloat = 14,
 | 
						|
    ImageChannelDataTypeUnormInt24 = 15,
 | 
						|
    ImageChannelDataTypeUnormInt101010_2 = 16,
 | 
						|
    ImageChannelDataTypeMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum ImageOperandsShift {
 | 
						|
    ImageOperandsBiasShift = 0,
 | 
						|
    ImageOperandsLodShift = 1,
 | 
						|
    ImageOperandsGradShift = 2,
 | 
						|
    ImageOperandsConstOffsetShift = 3,
 | 
						|
    ImageOperandsOffsetShift = 4,
 | 
						|
    ImageOperandsConstOffsetsShift = 5,
 | 
						|
    ImageOperandsSampleShift = 6,
 | 
						|
    ImageOperandsMinLodShift = 7,
 | 
						|
    ImageOperandsMakeTexelAvailableShift = 8,
 | 
						|
    ImageOperandsMakeTexelAvailableKHRShift = 8,
 | 
						|
    ImageOperandsMakeTexelVisibleShift = 9,
 | 
						|
    ImageOperandsMakeTexelVisibleKHRShift = 9,
 | 
						|
    ImageOperandsNonPrivateTexelShift = 10,
 | 
						|
    ImageOperandsNonPrivateTexelKHRShift = 10,
 | 
						|
    ImageOperandsVolatileTexelShift = 11,
 | 
						|
    ImageOperandsVolatileTexelKHRShift = 11,
 | 
						|
    ImageOperandsSignExtendShift = 12,
 | 
						|
    ImageOperandsZeroExtendShift = 13,
 | 
						|
    ImageOperandsMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum ImageOperandsMask {
 | 
						|
    ImageOperandsMaskNone = 0,
 | 
						|
    ImageOperandsBiasMask = 0x00000001,
 | 
						|
    ImageOperandsLodMask = 0x00000002,
 | 
						|
    ImageOperandsGradMask = 0x00000004,
 | 
						|
    ImageOperandsConstOffsetMask = 0x00000008,
 | 
						|
    ImageOperandsOffsetMask = 0x00000010,
 | 
						|
    ImageOperandsConstOffsetsMask = 0x00000020,
 | 
						|
    ImageOperandsSampleMask = 0x00000040,
 | 
						|
    ImageOperandsMinLodMask = 0x00000080,
 | 
						|
    ImageOperandsMakeTexelAvailableMask = 0x00000100,
 | 
						|
    ImageOperandsMakeTexelAvailableKHRMask = 0x00000100,
 | 
						|
    ImageOperandsMakeTexelVisibleMask = 0x00000200,
 | 
						|
    ImageOperandsMakeTexelVisibleKHRMask = 0x00000200,
 | 
						|
    ImageOperandsNonPrivateTexelMask = 0x00000400,
 | 
						|
    ImageOperandsNonPrivateTexelKHRMask = 0x00000400,
 | 
						|
    ImageOperandsVolatileTexelMask = 0x00000800,
 | 
						|
    ImageOperandsVolatileTexelKHRMask = 0x00000800,
 | 
						|
    ImageOperandsSignExtendMask = 0x00001000,
 | 
						|
    ImageOperandsZeroExtendMask = 0x00002000,
 | 
						|
};
 | 
						|
 | 
						|
enum FPFastMathModeShift {
 | 
						|
    FPFastMathModeNotNaNShift = 0,
 | 
						|
    FPFastMathModeNotInfShift = 1,
 | 
						|
    FPFastMathModeNSZShift = 2,
 | 
						|
    FPFastMathModeAllowRecipShift = 3,
 | 
						|
    FPFastMathModeFastShift = 4,
 | 
						|
    FPFastMathModeMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum FPFastMathModeMask {
 | 
						|
    FPFastMathModeMaskNone = 0,
 | 
						|
    FPFastMathModeNotNaNMask = 0x00000001,
 | 
						|
    FPFastMathModeNotInfMask = 0x00000002,
 | 
						|
    FPFastMathModeNSZMask = 0x00000004,
 | 
						|
    FPFastMathModeAllowRecipMask = 0x00000008,
 | 
						|
    FPFastMathModeFastMask = 0x00000010,
 | 
						|
};
 | 
						|
 | 
						|
enum FPRoundingMode {
 | 
						|
    FPRoundingModeRTE = 0,
 | 
						|
    FPRoundingModeRTZ = 1,
 | 
						|
    FPRoundingModeRTP = 2,
 | 
						|
    FPRoundingModeRTN = 3,
 | 
						|
    FPRoundingModeMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum LinkageType {
 | 
						|
    LinkageTypeExport = 0,
 | 
						|
    LinkageTypeImport = 1,
 | 
						|
    LinkageTypeMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum AccessQualifier {
 | 
						|
    AccessQualifierReadOnly = 0,
 | 
						|
    AccessQualifierWriteOnly = 1,
 | 
						|
    AccessQualifierReadWrite = 2,
 | 
						|
    AccessQualifierMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum FunctionParameterAttribute {
 | 
						|
    FunctionParameterAttributeZext = 0,
 | 
						|
    FunctionParameterAttributeSext = 1,
 | 
						|
    FunctionParameterAttributeByVal = 2,
 | 
						|
    FunctionParameterAttributeSret = 3,
 | 
						|
    FunctionParameterAttributeNoAlias = 4,
 | 
						|
    FunctionParameterAttributeNoCapture = 5,
 | 
						|
    FunctionParameterAttributeNoWrite = 6,
 | 
						|
    FunctionParameterAttributeNoReadWrite = 7,
 | 
						|
    FunctionParameterAttributeMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum Decoration {
 | 
						|
    DecorationRelaxedPrecision = 0,
 | 
						|
    DecorationSpecId = 1,
 | 
						|
    DecorationBlock = 2,
 | 
						|
    DecorationBufferBlock = 3,
 | 
						|
    DecorationRowMajor = 4,
 | 
						|
    DecorationColMajor = 5,
 | 
						|
    DecorationArrayStride = 6,
 | 
						|
    DecorationMatrixStride = 7,
 | 
						|
    DecorationGLSLShared = 8,
 | 
						|
    DecorationGLSLPacked = 9,
 | 
						|
    DecorationCPacked = 10,
 | 
						|
    DecorationBuiltIn = 11,
 | 
						|
    DecorationNoPerspective = 13,
 | 
						|
    DecorationFlat = 14,
 | 
						|
    DecorationPatch = 15,
 | 
						|
    DecorationCentroid = 16,
 | 
						|
    DecorationSample = 17,
 | 
						|
    DecorationInvariant = 18,
 | 
						|
    DecorationRestrict = 19,
 | 
						|
    DecorationAliased = 20,
 | 
						|
    DecorationVolatile = 21,
 | 
						|
    DecorationConstant = 22,
 | 
						|
    DecorationCoherent = 23,
 | 
						|
    DecorationNonWritable = 24,
 | 
						|
    DecorationNonReadable = 25,
 | 
						|
    DecorationUniform = 26,
 | 
						|
    DecorationUniformId = 27,
 | 
						|
    DecorationSaturatedConversion = 28,
 | 
						|
    DecorationStream = 29,
 | 
						|
    DecorationLocation = 30,
 | 
						|
    DecorationComponent = 31,
 | 
						|
    DecorationIndex = 32,
 | 
						|
    DecorationBinding = 33,
 | 
						|
    DecorationDescriptorSet = 34,
 | 
						|
    DecorationOffset = 35,
 | 
						|
    DecorationXfbBuffer = 36,
 | 
						|
    DecorationXfbStride = 37,
 | 
						|
    DecorationFuncParamAttr = 38,
 | 
						|
    DecorationFPRoundingMode = 39,
 | 
						|
    DecorationFPFastMathMode = 40,
 | 
						|
    DecorationLinkageAttributes = 41,
 | 
						|
    DecorationNoContraction = 42,
 | 
						|
    DecorationInputAttachmentIndex = 43,
 | 
						|
    DecorationAlignment = 44,
 | 
						|
    DecorationMaxByteOffset = 45,
 | 
						|
    DecorationAlignmentId = 46,
 | 
						|
    DecorationMaxByteOffsetId = 47,
 | 
						|
    DecorationNoSignedWrap = 4469,
 | 
						|
    DecorationNoUnsignedWrap = 4470,
 | 
						|
    DecorationExplicitInterpAMD = 4999,
 | 
						|
    DecorationOverrideCoverageNV = 5248,
 | 
						|
    DecorationPassthroughNV = 5250,
 | 
						|
    DecorationViewportRelativeNV = 5252,
 | 
						|
    DecorationSecondaryViewportRelativeNV = 5256,
 | 
						|
    DecorationPerPrimitiveNV = 5271,
 | 
						|
    DecorationPerViewNV = 5272,
 | 
						|
    DecorationPerTaskNV = 5273,
 | 
						|
    DecorationPerVertexNV = 5285,
 | 
						|
    DecorationNonUniform = 5300,
 | 
						|
    DecorationNonUniformEXT = 5300,
 | 
						|
    DecorationRestrictPointer = 5355,
 | 
						|
    DecorationRestrictPointerEXT = 5355,
 | 
						|
    DecorationAliasedPointer = 5356,
 | 
						|
    DecorationAliasedPointerEXT = 5356,
 | 
						|
    DecorationCounterBuffer = 5634,
 | 
						|
    DecorationHlslCounterBufferGOOGLE = 5634,
 | 
						|
    DecorationHlslSemanticGOOGLE = 5635,
 | 
						|
    DecorationUserSemantic = 5635,
 | 
						|
    DecorationUserTypeGOOGLE = 5636,
 | 
						|
    DecorationMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum BuiltIn {
 | 
						|
    BuiltInPosition = 0,
 | 
						|
    BuiltInPointSize = 1,
 | 
						|
    BuiltInClipDistance = 3,
 | 
						|
    BuiltInCullDistance = 4,
 | 
						|
    BuiltInVertexId = 5,
 | 
						|
    BuiltInInstanceId = 6,
 | 
						|
    BuiltInPrimitiveId = 7,
 | 
						|
    BuiltInInvocationId = 8,
 | 
						|
    BuiltInLayer = 9,
 | 
						|
    BuiltInViewportIndex = 10,
 | 
						|
    BuiltInTessLevelOuter = 11,
 | 
						|
    BuiltInTessLevelInner = 12,
 | 
						|
    BuiltInTessCoord = 13,
 | 
						|
    BuiltInPatchVertices = 14,
 | 
						|
    BuiltInFragCoord = 15,
 | 
						|
    BuiltInPointCoord = 16,
 | 
						|
    BuiltInFrontFacing = 17,
 | 
						|
    BuiltInSampleId = 18,
 | 
						|
    BuiltInSamplePosition = 19,
 | 
						|
    BuiltInSampleMask = 20,
 | 
						|
    BuiltInFragDepth = 22,
 | 
						|
    BuiltInHelperInvocation = 23,
 | 
						|
    BuiltInNumWorkgroups = 24,
 | 
						|
    BuiltInWorkgroupSize = 25,
 | 
						|
    BuiltInWorkgroupId = 26,
 | 
						|
    BuiltInLocalInvocationId = 27,
 | 
						|
    BuiltInGlobalInvocationId = 28,
 | 
						|
    BuiltInLocalInvocationIndex = 29,
 | 
						|
    BuiltInWorkDim = 30,
 | 
						|
    BuiltInGlobalSize = 31,
 | 
						|
    BuiltInEnqueuedWorkgroupSize = 32,
 | 
						|
    BuiltInGlobalOffset = 33,
 | 
						|
    BuiltInGlobalLinearId = 34,
 | 
						|
    BuiltInSubgroupSize = 36,
 | 
						|
    BuiltInSubgroupMaxSize = 37,
 | 
						|
    BuiltInNumSubgroups = 38,
 | 
						|
    BuiltInNumEnqueuedSubgroups = 39,
 | 
						|
    BuiltInSubgroupId = 40,
 | 
						|
    BuiltInSubgroupLocalInvocationId = 41,
 | 
						|
    BuiltInVertexIndex = 42,
 | 
						|
    BuiltInInstanceIndex = 43,
 | 
						|
    BuiltInSubgroupEqMask = 4416,
 | 
						|
    BuiltInSubgroupEqMaskKHR = 4416,
 | 
						|
    BuiltInSubgroupGeMask = 4417,
 | 
						|
    BuiltInSubgroupGeMaskKHR = 4417,
 | 
						|
    BuiltInSubgroupGtMask = 4418,
 | 
						|
    BuiltInSubgroupGtMaskKHR = 4418,
 | 
						|
    BuiltInSubgroupLeMask = 4419,
 | 
						|
    BuiltInSubgroupLeMaskKHR = 4419,
 | 
						|
    BuiltInSubgroupLtMask = 4420,
 | 
						|
    BuiltInSubgroupLtMaskKHR = 4420,
 | 
						|
    BuiltInBaseVertex = 4424,
 | 
						|
    BuiltInBaseInstance = 4425,
 | 
						|
    BuiltInDrawIndex = 4426,
 | 
						|
    BuiltInDeviceIndex = 4438,
 | 
						|
    BuiltInViewIndex = 4440,
 | 
						|
    BuiltInBaryCoordNoPerspAMD = 4992,
 | 
						|
    BuiltInBaryCoordNoPerspCentroidAMD = 4993,
 | 
						|
    BuiltInBaryCoordNoPerspSampleAMD = 4994,
 | 
						|
    BuiltInBaryCoordSmoothAMD = 4995,
 | 
						|
    BuiltInBaryCoordSmoothCentroidAMD = 4996,
 | 
						|
    BuiltInBaryCoordSmoothSampleAMD = 4997,
 | 
						|
    BuiltInBaryCoordPullModelAMD = 4998,
 | 
						|
    BuiltInFragStencilRefEXT = 5014,
 | 
						|
    BuiltInViewportMaskNV = 5253,
 | 
						|
    BuiltInSecondaryPositionNV = 5257,
 | 
						|
    BuiltInSecondaryViewportMaskNV = 5258,
 | 
						|
    BuiltInPositionPerViewNV = 5261,
 | 
						|
    BuiltInViewportMaskPerViewNV = 5262,
 | 
						|
    BuiltInFullyCoveredEXT = 5264,
 | 
						|
    BuiltInTaskCountNV = 5274,
 | 
						|
    BuiltInPrimitiveCountNV = 5275,
 | 
						|
    BuiltInPrimitiveIndicesNV = 5276,
 | 
						|
    BuiltInClipDistancePerViewNV = 5277,
 | 
						|
    BuiltInCullDistancePerViewNV = 5278,
 | 
						|
    BuiltInLayerPerViewNV = 5279,
 | 
						|
    BuiltInMeshViewCountNV = 5280,
 | 
						|
    BuiltInMeshViewIndicesNV = 5281,
 | 
						|
    BuiltInBaryCoordNV = 5286,
 | 
						|
    BuiltInBaryCoordNoPerspNV = 5287,
 | 
						|
    BuiltInFragSizeEXT = 5292,
 | 
						|
    BuiltInFragmentSizeNV = 5292,
 | 
						|
    BuiltInFragInvocationCountEXT = 5293,
 | 
						|
    BuiltInInvocationsPerPixelNV = 5293,
 | 
						|
    BuiltInLaunchIdKHR = 5319,
 | 
						|
    BuiltInLaunchIdNV = 5319,
 | 
						|
    BuiltInLaunchSizeKHR = 5320,
 | 
						|
    BuiltInLaunchSizeNV = 5320,
 | 
						|
    BuiltInWorldRayOriginKHR = 5321,
 | 
						|
    BuiltInWorldRayOriginNV = 5321,
 | 
						|
    BuiltInWorldRayDirectionKHR = 5322,
 | 
						|
    BuiltInWorldRayDirectionNV = 5322,
 | 
						|
    BuiltInObjectRayOriginKHR = 5323,
 | 
						|
    BuiltInObjectRayOriginNV = 5323,
 | 
						|
    BuiltInObjectRayDirectionKHR = 5324,
 | 
						|
    BuiltInObjectRayDirectionNV = 5324,
 | 
						|
    BuiltInRayTminKHR = 5325,
 | 
						|
    BuiltInRayTminNV = 5325,
 | 
						|
    BuiltInRayTmaxKHR = 5326,
 | 
						|
    BuiltInRayTmaxNV = 5326,
 | 
						|
    BuiltInInstanceCustomIndexKHR = 5327,
 | 
						|
    BuiltInInstanceCustomIndexNV = 5327,
 | 
						|
    BuiltInObjectToWorldKHR = 5330,
 | 
						|
    BuiltInObjectToWorldNV = 5330,
 | 
						|
    BuiltInWorldToObjectKHR = 5331,
 | 
						|
    BuiltInWorldToObjectNV = 5331,
 | 
						|
    BuiltInHitTKHR = 5332,
 | 
						|
    BuiltInHitTNV = 5332,
 | 
						|
    BuiltInHitKindKHR = 5333,
 | 
						|
    BuiltInHitKindNV = 5333,
 | 
						|
    BuiltInIncomingRayFlagsKHR = 5351,
 | 
						|
    BuiltInIncomingRayFlagsNV = 5351,
 | 
						|
    BuiltInRayGeometryIndexKHR = 5352,
 | 
						|
    BuiltInWarpsPerSMNV = 5374,
 | 
						|
    BuiltInSMCountNV = 5375,
 | 
						|
    BuiltInWarpIDNV = 5376,
 | 
						|
    BuiltInSMIDNV = 5377,
 | 
						|
    BuiltInMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum SelectionControlShift {
 | 
						|
    SelectionControlFlattenShift = 0,
 | 
						|
    SelectionControlDontFlattenShift = 1,
 | 
						|
    SelectionControlMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum SelectionControlMask {
 | 
						|
    SelectionControlMaskNone = 0,
 | 
						|
    SelectionControlFlattenMask = 0x00000001,
 | 
						|
    SelectionControlDontFlattenMask = 0x00000002,
 | 
						|
};
 | 
						|
 | 
						|
enum LoopControlShift {
 | 
						|
    LoopControlUnrollShift = 0,
 | 
						|
    LoopControlDontUnrollShift = 1,
 | 
						|
    LoopControlDependencyInfiniteShift = 2,
 | 
						|
    LoopControlDependencyLengthShift = 3,
 | 
						|
    LoopControlMinIterationsShift = 4,
 | 
						|
    LoopControlMaxIterationsShift = 5,
 | 
						|
    LoopControlIterationMultipleShift = 6,
 | 
						|
    LoopControlPeelCountShift = 7,
 | 
						|
    LoopControlPartialCountShift = 8,
 | 
						|
    LoopControlMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum LoopControlMask {
 | 
						|
    LoopControlMaskNone = 0,
 | 
						|
    LoopControlUnrollMask = 0x00000001,
 | 
						|
    LoopControlDontUnrollMask = 0x00000002,
 | 
						|
    LoopControlDependencyInfiniteMask = 0x00000004,
 | 
						|
    LoopControlDependencyLengthMask = 0x00000008,
 | 
						|
    LoopControlMinIterationsMask = 0x00000010,
 | 
						|
    LoopControlMaxIterationsMask = 0x00000020,
 | 
						|
    LoopControlIterationMultipleMask = 0x00000040,
 | 
						|
    LoopControlPeelCountMask = 0x00000080,
 | 
						|
    LoopControlPartialCountMask = 0x00000100,
 | 
						|
};
 | 
						|
 | 
						|
enum FunctionControlShift {
 | 
						|
    FunctionControlInlineShift = 0,
 | 
						|
    FunctionControlDontInlineShift = 1,
 | 
						|
    FunctionControlPureShift = 2,
 | 
						|
    FunctionControlConstShift = 3,
 | 
						|
    FunctionControlMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum FunctionControlMask {
 | 
						|
    FunctionControlMaskNone = 0,
 | 
						|
    FunctionControlInlineMask = 0x00000001,
 | 
						|
    FunctionControlDontInlineMask = 0x00000002,
 | 
						|
    FunctionControlPureMask = 0x00000004,
 | 
						|
    FunctionControlConstMask = 0x00000008,
 | 
						|
};
 | 
						|
 | 
						|
enum MemorySemanticsShift {
 | 
						|
    MemorySemanticsAcquireShift = 1,
 | 
						|
    MemorySemanticsReleaseShift = 2,
 | 
						|
    MemorySemanticsAcquireReleaseShift = 3,
 | 
						|
    MemorySemanticsSequentiallyConsistentShift = 4,
 | 
						|
    MemorySemanticsUniformMemoryShift = 6,
 | 
						|
    MemorySemanticsSubgroupMemoryShift = 7,
 | 
						|
    MemorySemanticsWorkgroupMemoryShift = 8,
 | 
						|
    MemorySemanticsCrossWorkgroupMemoryShift = 9,
 | 
						|
    MemorySemanticsAtomicCounterMemoryShift = 10,
 | 
						|
    MemorySemanticsImageMemoryShift = 11,
 | 
						|
    MemorySemanticsOutputMemoryShift = 12,
 | 
						|
    MemorySemanticsOutputMemoryKHRShift = 12,
 | 
						|
    MemorySemanticsMakeAvailableShift = 13,
 | 
						|
    MemorySemanticsMakeAvailableKHRShift = 13,
 | 
						|
    MemorySemanticsMakeVisibleShift = 14,
 | 
						|
    MemorySemanticsMakeVisibleKHRShift = 14,
 | 
						|
    MemorySemanticsVolatileShift = 15,
 | 
						|
    MemorySemanticsMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum MemorySemanticsMask {
 | 
						|
    MemorySemanticsMaskNone = 0,
 | 
						|
    MemorySemanticsAcquireMask = 0x00000002,
 | 
						|
    MemorySemanticsReleaseMask = 0x00000004,
 | 
						|
    MemorySemanticsAcquireReleaseMask = 0x00000008,
 | 
						|
    MemorySemanticsSequentiallyConsistentMask = 0x00000010,
 | 
						|
    MemorySemanticsUniformMemoryMask = 0x00000040,
 | 
						|
    MemorySemanticsSubgroupMemoryMask = 0x00000080,
 | 
						|
    MemorySemanticsWorkgroupMemoryMask = 0x00000100,
 | 
						|
    MemorySemanticsCrossWorkgroupMemoryMask = 0x00000200,
 | 
						|
    MemorySemanticsAtomicCounterMemoryMask = 0x00000400,
 | 
						|
    MemorySemanticsImageMemoryMask = 0x00000800,
 | 
						|
    MemorySemanticsOutputMemoryMask = 0x00001000,
 | 
						|
    MemorySemanticsOutputMemoryKHRMask = 0x00001000,
 | 
						|
    MemorySemanticsMakeAvailableMask = 0x00002000,
 | 
						|
    MemorySemanticsMakeAvailableKHRMask = 0x00002000,
 | 
						|
    MemorySemanticsMakeVisibleMask = 0x00004000,
 | 
						|
    MemorySemanticsMakeVisibleKHRMask = 0x00004000,
 | 
						|
    MemorySemanticsVolatileMask = 0x00008000,
 | 
						|
};
 | 
						|
 | 
						|
enum MemoryAccessShift {
 | 
						|
    MemoryAccessVolatileShift = 0,
 | 
						|
    MemoryAccessAlignedShift = 1,
 | 
						|
    MemoryAccessNontemporalShift = 2,
 | 
						|
    MemoryAccessMakePointerAvailableShift = 3,
 | 
						|
    MemoryAccessMakePointerAvailableKHRShift = 3,
 | 
						|
    MemoryAccessMakePointerVisibleShift = 4,
 | 
						|
    MemoryAccessMakePointerVisibleKHRShift = 4,
 | 
						|
    MemoryAccessNonPrivatePointerShift = 5,
 | 
						|
    MemoryAccessNonPrivatePointerKHRShift = 5,
 | 
						|
    MemoryAccessMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum MemoryAccessMask {
 | 
						|
    MemoryAccessMaskNone = 0,
 | 
						|
    MemoryAccessVolatileMask = 0x00000001,
 | 
						|
    MemoryAccessAlignedMask = 0x00000002,
 | 
						|
    MemoryAccessNontemporalMask = 0x00000004,
 | 
						|
    MemoryAccessMakePointerAvailableMask = 0x00000008,
 | 
						|
    MemoryAccessMakePointerAvailableKHRMask = 0x00000008,
 | 
						|
    MemoryAccessMakePointerVisibleMask = 0x00000010,
 | 
						|
    MemoryAccessMakePointerVisibleKHRMask = 0x00000010,
 | 
						|
    MemoryAccessNonPrivatePointerMask = 0x00000020,
 | 
						|
    MemoryAccessNonPrivatePointerKHRMask = 0x00000020,
 | 
						|
};
 | 
						|
 | 
						|
enum Scope {
 | 
						|
    ScopeCrossDevice = 0,
 | 
						|
    ScopeDevice = 1,
 | 
						|
    ScopeWorkgroup = 2,
 | 
						|
    ScopeSubgroup = 3,
 | 
						|
    ScopeInvocation = 4,
 | 
						|
    ScopeQueueFamily = 5,
 | 
						|
    ScopeQueueFamilyKHR = 5,
 | 
						|
    ScopeShaderCallKHR = 6,
 | 
						|
    ScopeMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum GroupOperation {
 | 
						|
    GroupOperationReduce = 0,
 | 
						|
    GroupOperationInclusiveScan = 1,
 | 
						|
    GroupOperationExclusiveScan = 2,
 | 
						|
    GroupOperationClusteredReduce = 3,
 | 
						|
    GroupOperationPartitionedReduceNV = 6,
 | 
						|
    GroupOperationPartitionedInclusiveScanNV = 7,
 | 
						|
    GroupOperationPartitionedExclusiveScanNV = 8,
 | 
						|
    GroupOperationMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum KernelEnqueueFlags {
 | 
						|
    KernelEnqueueFlagsNoWait = 0,
 | 
						|
    KernelEnqueueFlagsWaitKernel = 1,
 | 
						|
    KernelEnqueueFlagsWaitWorkGroup = 2,
 | 
						|
    KernelEnqueueFlagsMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum KernelProfilingInfoShift {
 | 
						|
    KernelProfilingInfoCmdExecTimeShift = 0,
 | 
						|
    KernelProfilingInfoMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum KernelProfilingInfoMask {
 | 
						|
    KernelProfilingInfoMaskNone = 0,
 | 
						|
    KernelProfilingInfoCmdExecTimeMask = 0x00000001,
 | 
						|
};
 | 
						|
 | 
						|
enum Capability {
 | 
						|
    CapabilityMatrix = 0,
 | 
						|
    CapabilityShader = 1,
 | 
						|
    CapabilityGeometry = 2,
 | 
						|
    CapabilityTessellation = 3,
 | 
						|
    CapabilityAddresses = 4,
 | 
						|
    CapabilityLinkage = 5,
 | 
						|
    CapabilityKernel = 6,
 | 
						|
    CapabilityVector16 = 7,
 | 
						|
    CapabilityFloat16Buffer = 8,
 | 
						|
    CapabilityFloat16 = 9,
 | 
						|
    CapabilityFloat64 = 10,
 | 
						|
    CapabilityInt64 = 11,
 | 
						|
    CapabilityInt64Atomics = 12,
 | 
						|
    CapabilityImageBasic = 13,
 | 
						|
    CapabilityImageReadWrite = 14,
 | 
						|
    CapabilityImageMipmap = 15,
 | 
						|
    CapabilityPipes = 17,
 | 
						|
    CapabilityGroups = 18,
 | 
						|
    CapabilityDeviceEnqueue = 19,
 | 
						|
    CapabilityLiteralSampler = 20,
 | 
						|
    CapabilityAtomicStorage = 21,
 | 
						|
    CapabilityInt16 = 22,
 | 
						|
    CapabilityTessellationPointSize = 23,
 | 
						|
    CapabilityGeometryPointSize = 24,
 | 
						|
    CapabilityImageGatherExtended = 25,
 | 
						|
    CapabilityStorageImageMultisample = 27,
 | 
						|
    CapabilityUniformBufferArrayDynamicIndexing = 28,
 | 
						|
    CapabilitySampledImageArrayDynamicIndexing = 29,
 | 
						|
    CapabilityStorageBufferArrayDynamicIndexing = 30,
 | 
						|
    CapabilityStorageImageArrayDynamicIndexing = 31,
 | 
						|
    CapabilityClipDistance = 32,
 | 
						|
    CapabilityCullDistance = 33,
 | 
						|
    CapabilityImageCubeArray = 34,
 | 
						|
    CapabilitySampleRateShading = 35,
 | 
						|
    CapabilityImageRect = 36,
 | 
						|
    CapabilitySampledRect = 37,
 | 
						|
    CapabilityGenericPointer = 38,
 | 
						|
    CapabilityInt8 = 39,
 | 
						|
    CapabilityInputAttachment = 40,
 | 
						|
    CapabilitySparseResidency = 41,
 | 
						|
    CapabilityMinLod = 42,
 | 
						|
    CapabilitySampled1D = 43,
 | 
						|
    CapabilityImage1D = 44,
 | 
						|
    CapabilitySampledCubeArray = 45,
 | 
						|
    CapabilitySampledBuffer = 46,
 | 
						|
    CapabilityImageBuffer = 47,
 | 
						|
    CapabilityImageMSArray = 48,
 | 
						|
    CapabilityStorageImageExtendedFormats = 49,
 | 
						|
    CapabilityImageQuery = 50,
 | 
						|
    CapabilityDerivativeControl = 51,
 | 
						|
    CapabilityInterpolationFunction = 52,
 | 
						|
    CapabilityTransformFeedback = 53,
 | 
						|
    CapabilityGeometryStreams = 54,
 | 
						|
    CapabilityStorageImageReadWithoutFormat = 55,
 | 
						|
    CapabilityStorageImageWriteWithoutFormat = 56,
 | 
						|
    CapabilityMultiViewport = 57,
 | 
						|
    CapabilitySubgroupDispatch = 58,
 | 
						|
    CapabilityNamedBarrier = 59,
 | 
						|
    CapabilityPipeStorage = 60,
 | 
						|
    CapabilityGroupNonUniform = 61,
 | 
						|
    CapabilityGroupNonUniformVote = 62,
 | 
						|
    CapabilityGroupNonUniformArithmetic = 63,
 | 
						|
    CapabilityGroupNonUniformBallot = 64,
 | 
						|
    CapabilityGroupNonUniformShuffle = 65,
 | 
						|
    CapabilityGroupNonUniformShuffleRelative = 66,
 | 
						|
    CapabilityGroupNonUniformClustered = 67,
 | 
						|
    CapabilityGroupNonUniformQuad = 68,
 | 
						|
    CapabilityShaderLayer = 69,
 | 
						|
    CapabilityShaderViewportIndex = 70,
 | 
						|
    CapabilitySubgroupBallotKHR = 4423,
 | 
						|
    CapabilityDrawParameters = 4427,
 | 
						|
    CapabilitySubgroupVoteKHR = 4431,
 | 
						|
    CapabilityStorageBuffer16BitAccess = 4433,
 | 
						|
    CapabilityStorageUniformBufferBlock16 = 4433,
 | 
						|
    CapabilityStorageUniform16 = 4434,
 | 
						|
    CapabilityUniformAndStorageBuffer16BitAccess = 4434,
 | 
						|
    CapabilityStoragePushConstant16 = 4435,
 | 
						|
    CapabilityStorageInputOutput16 = 4436,
 | 
						|
    CapabilityDeviceGroup = 4437,
 | 
						|
    CapabilityMultiView = 4439,
 | 
						|
    CapabilityVariablePointersStorageBuffer = 4441,
 | 
						|
    CapabilityVariablePointers = 4442,
 | 
						|
    CapabilityAtomicStorageOps = 4445,
 | 
						|
    CapabilitySampleMaskPostDepthCoverage = 4447,
 | 
						|
    CapabilityStorageBuffer8BitAccess = 4448,
 | 
						|
    CapabilityUniformAndStorageBuffer8BitAccess = 4449,
 | 
						|
    CapabilityStoragePushConstant8 = 4450,
 | 
						|
    CapabilityDenormPreserve = 4464,
 | 
						|
    CapabilityDenormFlushToZero = 4465,
 | 
						|
    CapabilitySignedZeroInfNanPreserve = 4466,
 | 
						|
    CapabilityRoundingModeRTE = 4467,
 | 
						|
    CapabilityRoundingModeRTZ = 4468,
 | 
						|
    CapabilityRayQueryProvisionalKHR = 4471,
 | 
						|
    CapabilityRayTraversalPrimitiveCullingProvisionalKHR = 4478,
 | 
						|
    CapabilityFloat16ImageAMD = 5008,
 | 
						|
    CapabilityImageGatherBiasLodAMD = 5009,
 | 
						|
    CapabilityFragmentMaskAMD = 5010,
 | 
						|
    CapabilityStencilExportEXT = 5013,
 | 
						|
    CapabilityImageReadWriteLodAMD = 5015,
 | 
						|
    CapabilityShaderClockKHR = 5055,
 | 
						|
    CapabilitySampleMaskOverrideCoverageNV = 5249,
 | 
						|
    CapabilityGeometryShaderPassthroughNV = 5251,
 | 
						|
    CapabilityShaderViewportIndexLayerEXT = 5254,
 | 
						|
    CapabilityShaderViewportIndexLayerNV = 5254,
 | 
						|
    CapabilityShaderViewportMaskNV = 5255,
 | 
						|
    CapabilityShaderStereoViewNV = 5259,
 | 
						|
    CapabilityPerViewAttributesNV = 5260,
 | 
						|
    CapabilityFragmentFullyCoveredEXT = 5265,
 | 
						|
    CapabilityMeshShadingNV = 5266,
 | 
						|
    CapabilityImageFootprintNV = 5282,
 | 
						|
    CapabilityFragmentBarycentricNV = 5284,
 | 
						|
    CapabilityComputeDerivativeGroupQuadsNV = 5288,
 | 
						|
    CapabilityFragmentDensityEXT = 5291,
 | 
						|
    CapabilityShadingRateNV = 5291,
 | 
						|
    CapabilityGroupNonUniformPartitionedNV = 5297,
 | 
						|
    CapabilityShaderNonUniform = 5301,
 | 
						|
    CapabilityShaderNonUniformEXT = 5301,
 | 
						|
    CapabilityRuntimeDescriptorArray = 5302,
 | 
						|
    CapabilityRuntimeDescriptorArrayEXT = 5302,
 | 
						|
    CapabilityInputAttachmentArrayDynamicIndexing = 5303,
 | 
						|
    CapabilityInputAttachmentArrayDynamicIndexingEXT = 5303,
 | 
						|
    CapabilityUniformTexelBufferArrayDynamicIndexing = 5304,
 | 
						|
    CapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304,
 | 
						|
    CapabilityStorageTexelBufferArrayDynamicIndexing = 5305,
 | 
						|
    CapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305,
 | 
						|
    CapabilityUniformBufferArrayNonUniformIndexing = 5306,
 | 
						|
    CapabilityUniformBufferArrayNonUniformIndexingEXT = 5306,
 | 
						|
    CapabilitySampledImageArrayNonUniformIndexing = 5307,
 | 
						|
    CapabilitySampledImageArrayNonUniformIndexingEXT = 5307,
 | 
						|
    CapabilityStorageBufferArrayNonUniformIndexing = 5308,
 | 
						|
    CapabilityStorageBufferArrayNonUniformIndexingEXT = 5308,
 | 
						|
    CapabilityStorageImageArrayNonUniformIndexing = 5309,
 | 
						|
    CapabilityStorageImageArrayNonUniformIndexingEXT = 5309,
 | 
						|
    CapabilityInputAttachmentArrayNonUniformIndexing = 5310,
 | 
						|
    CapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,
 | 
						|
    CapabilityUniformTexelBufferArrayNonUniformIndexing = 5311,
 | 
						|
    CapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
 | 
						|
    CapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
 | 
						|
    CapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
 | 
						|
    CapabilityRayTracingNV = 5340,
 | 
						|
    CapabilityVulkanMemoryModel = 5345,
 | 
						|
    CapabilityVulkanMemoryModelKHR = 5345,
 | 
						|
    CapabilityVulkanMemoryModelDeviceScope = 5346,
 | 
						|
    CapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
 | 
						|
    CapabilityPhysicalStorageBufferAddresses = 5347,
 | 
						|
    CapabilityPhysicalStorageBufferAddressesEXT = 5347,
 | 
						|
    CapabilityComputeDerivativeGroupLinearNV = 5350,
 | 
						|
    CapabilityRayTracingProvisionalKHR = 5353,
 | 
						|
    CapabilityCooperativeMatrixNV = 5357,
 | 
						|
    CapabilityFragmentShaderSampleInterlockEXT = 5363,
 | 
						|
    CapabilityFragmentShaderShadingRateInterlockEXT = 5372,
 | 
						|
    CapabilityShaderSMBuiltinsNV = 5373,
 | 
						|
    CapabilityFragmentShaderPixelInterlockEXT = 5378,
 | 
						|
    CapabilityDemoteToHelperInvocationEXT = 5379,
 | 
						|
    CapabilitySubgroupShuffleINTEL = 5568,
 | 
						|
    CapabilitySubgroupBufferBlockIOINTEL = 5569,
 | 
						|
    CapabilitySubgroupImageBlockIOINTEL = 5570,
 | 
						|
    CapabilitySubgroupImageMediaBlockIOINTEL = 5579,
 | 
						|
    CapabilityIntegerFunctions2INTEL = 5584,
 | 
						|
    CapabilitySubgroupAvcMotionEstimationINTEL = 5696,
 | 
						|
    CapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
 | 
						|
    CapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
 | 
						|
    CapabilityMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum RayFlagsShift {
 | 
						|
    RayFlagsOpaqueKHRShift = 0,
 | 
						|
    RayFlagsNoOpaqueKHRShift = 1,
 | 
						|
    RayFlagsTerminateOnFirstHitKHRShift = 2,
 | 
						|
    RayFlagsSkipClosestHitShaderKHRShift = 3,
 | 
						|
    RayFlagsCullBackFacingTrianglesKHRShift = 4,
 | 
						|
    RayFlagsCullFrontFacingTrianglesKHRShift = 5,
 | 
						|
    RayFlagsCullOpaqueKHRShift = 6,
 | 
						|
    RayFlagsCullNoOpaqueKHRShift = 7,
 | 
						|
    RayFlagsSkipTrianglesKHRShift = 8,
 | 
						|
    RayFlagsSkipAABBsKHRShift = 9,
 | 
						|
    RayFlagsMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum RayFlagsMask {
 | 
						|
    RayFlagsMaskNone = 0,
 | 
						|
    RayFlagsOpaqueKHRMask = 0x00000001,
 | 
						|
    RayFlagsNoOpaqueKHRMask = 0x00000002,
 | 
						|
    RayFlagsTerminateOnFirstHitKHRMask = 0x00000004,
 | 
						|
    RayFlagsSkipClosestHitShaderKHRMask = 0x00000008,
 | 
						|
    RayFlagsCullBackFacingTrianglesKHRMask = 0x00000010,
 | 
						|
    RayFlagsCullFrontFacingTrianglesKHRMask = 0x00000020,
 | 
						|
    RayFlagsCullOpaqueKHRMask = 0x00000040,
 | 
						|
    RayFlagsCullNoOpaqueKHRMask = 0x00000080,
 | 
						|
    RayFlagsSkipTrianglesKHRMask = 0x00000100,
 | 
						|
    RayFlagsSkipAABBsKHRMask = 0x00000200,
 | 
						|
};
 | 
						|
 | 
						|
enum RayQueryIntersection {
 | 
						|
    RayQueryIntersectionRayQueryCandidateIntersectionKHR = 0,
 | 
						|
    RayQueryIntersectionRayQueryCommittedIntersectionKHR = 1,
 | 
						|
    RayQueryIntersectionMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum RayQueryCommittedIntersectionType {
 | 
						|
    RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR = 0,
 | 
						|
    RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR = 1,
 | 
						|
    RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR = 2,
 | 
						|
    RayQueryCommittedIntersectionTypeMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum RayQueryCandidateIntersectionType {
 | 
						|
    RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR = 0,
 | 
						|
    RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR = 1,
 | 
						|
    RayQueryCandidateIntersectionTypeMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
enum Op {
 | 
						|
    OpNop = 0,
 | 
						|
    OpUndef = 1,
 | 
						|
    OpSourceContinued = 2,
 | 
						|
    OpSource = 3,
 | 
						|
    OpSourceExtension = 4,
 | 
						|
    OpName = 5,
 | 
						|
    OpMemberName = 6,
 | 
						|
    OpString = 7,
 | 
						|
    OpLine = 8,
 | 
						|
    OpExtension = 10,
 | 
						|
    OpExtInstImport = 11,
 | 
						|
    OpExtInst = 12,
 | 
						|
    OpMemoryModel = 14,
 | 
						|
    OpEntryPoint = 15,
 | 
						|
    OpExecutionMode = 16,
 | 
						|
    OpCapability = 17,
 | 
						|
    OpTypeVoid = 19,
 | 
						|
    OpTypeBool = 20,
 | 
						|
    OpTypeInt = 21,
 | 
						|
    OpTypeFloat = 22,
 | 
						|
    OpTypeVector = 23,
 | 
						|
    OpTypeMatrix = 24,
 | 
						|
    OpTypeImage = 25,
 | 
						|
    OpTypeSampler = 26,
 | 
						|
    OpTypeSampledImage = 27,
 | 
						|
    OpTypeArray = 28,
 | 
						|
    OpTypeRuntimeArray = 29,
 | 
						|
    OpTypeStruct = 30,
 | 
						|
    OpTypeOpaque = 31,
 | 
						|
    OpTypePointer = 32,
 | 
						|
    OpTypeFunction = 33,
 | 
						|
    OpTypeEvent = 34,
 | 
						|
    OpTypeDeviceEvent = 35,
 | 
						|
    OpTypeReserveId = 36,
 | 
						|
    OpTypeQueue = 37,
 | 
						|
    OpTypePipe = 38,
 | 
						|
    OpTypeForwardPointer = 39,
 | 
						|
    OpConstantTrue = 41,
 | 
						|
    OpConstantFalse = 42,
 | 
						|
    OpConstant = 43,
 | 
						|
    OpConstantComposite = 44,
 | 
						|
    OpConstantSampler = 45,
 | 
						|
    OpConstantNull = 46,
 | 
						|
    OpSpecConstantTrue = 48,
 | 
						|
    OpSpecConstantFalse = 49,
 | 
						|
    OpSpecConstant = 50,
 | 
						|
    OpSpecConstantComposite = 51,
 | 
						|
    OpSpecConstantOp = 52,
 | 
						|
    OpFunction = 54,
 | 
						|
    OpFunctionParameter = 55,
 | 
						|
    OpFunctionEnd = 56,
 | 
						|
    OpFunctionCall = 57,
 | 
						|
    OpVariable = 59,
 | 
						|
    OpImageTexelPointer = 60,
 | 
						|
    OpLoad = 61,
 | 
						|
    OpStore = 62,
 | 
						|
    OpCopyMemory = 63,
 | 
						|
    OpCopyMemorySized = 64,
 | 
						|
    OpAccessChain = 65,
 | 
						|
    OpInBoundsAccessChain = 66,
 | 
						|
    OpPtrAccessChain = 67,
 | 
						|
    OpArrayLength = 68,
 | 
						|
    OpGenericPtrMemSemantics = 69,
 | 
						|
    OpInBoundsPtrAccessChain = 70,
 | 
						|
    OpDecorate = 71,
 | 
						|
    OpMemberDecorate = 72,
 | 
						|
    OpDecorationGroup = 73,
 | 
						|
    OpGroupDecorate = 74,
 | 
						|
    OpGroupMemberDecorate = 75,
 | 
						|
    OpVectorExtractDynamic = 77,
 | 
						|
    OpVectorInsertDynamic = 78,
 | 
						|
    OpVectorShuffle = 79,
 | 
						|
    OpCompositeConstruct = 80,
 | 
						|
    OpCompositeExtract = 81,
 | 
						|
    OpCompositeInsert = 82,
 | 
						|
    OpCopyObject = 83,
 | 
						|
    OpTranspose = 84,
 | 
						|
    OpSampledImage = 86,
 | 
						|
    OpImageSampleImplicitLod = 87,
 | 
						|
    OpImageSampleExplicitLod = 88,
 | 
						|
    OpImageSampleDrefImplicitLod = 89,
 | 
						|
    OpImageSampleDrefExplicitLod = 90,
 | 
						|
    OpImageSampleProjImplicitLod = 91,
 | 
						|
    OpImageSampleProjExplicitLod = 92,
 | 
						|
    OpImageSampleProjDrefImplicitLod = 93,
 | 
						|
    OpImageSampleProjDrefExplicitLod = 94,
 | 
						|
    OpImageFetch = 95,
 | 
						|
    OpImageGather = 96,
 | 
						|
    OpImageDrefGather = 97,
 | 
						|
    OpImageRead = 98,
 | 
						|
    OpImageWrite = 99,
 | 
						|
    OpImage = 100,
 | 
						|
    OpImageQueryFormat = 101,
 | 
						|
    OpImageQueryOrder = 102,
 | 
						|
    OpImageQuerySizeLod = 103,
 | 
						|
    OpImageQuerySize = 104,
 | 
						|
    OpImageQueryLod = 105,
 | 
						|
    OpImageQueryLevels = 106,
 | 
						|
    OpImageQuerySamples = 107,
 | 
						|
    OpConvertFToU = 109,
 | 
						|
    OpConvertFToS = 110,
 | 
						|
    OpConvertSToF = 111,
 | 
						|
    OpConvertUToF = 112,
 | 
						|
    OpUConvert = 113,
 | 
						|
    OpSConvert = 114,
 | 
						|
    OpFConvert = 115,
 | 
						|
    OpQuantizeToF16 = 116,
 | 
						|
    OpConvertPtrToU = 117,
 | 
						|
    OpSatConvertSToU = 118,
 | 
						|
    OpSatConvertUToS = 119,
 | 
						|
    OpConvertUToPtr = 120,
 | 
						|
    OpPtrCastToGeneric = 121,
 | 
						|
    OpGenericCastToPtr = 122,
 | 
						|
    OpGenericCastToPtrExplicit = 123,
 | 
						|
    OpBitcast = 124,
 | 
						|
    OpSNegate = 126,
 | 
						|
    OpFNegate = 127,
 | 
						|
    OpIAdd = 128,
 | 
						|
    OpFAdd = 129,
 | 
						|
    OpISub = 130,
 | 
						|
    OpFSub = 131,
 | 
						|
    OpIMul = 132,
 | 
						|
    OpFMul = 133,
 | 
						|
    OpUDiv = 134,
 | 
						|
    OpSDiv = 135,
 | 
						|
    OpFDiv = 136,
 | 
						|
    OpUMod = 137,
 | 
						|
    OpSRem = 138,
 | 
						|
    OpSMod = 139,
 | 
						|
    OpFRem = 140,
 | 
						|
    OpFMod = 141,
 | 
						|
    OpVectorTimesScalar = 142,
 | 
						|
    OpMatrixTimesScalar = 143,
 | 
						|
    OpVectorTimesMatrix = 144,
 | 
						|
    OpMatrixTimesVector = 145,
 | 
						|
    OpMatrixTimesMatrix = 146,
 | 
						|
    OpOuterProduct = 147,
 | 
						|
    OpDot = 148,
 | 
						|
    OpIAddCarry = 149,
 | 
						|
    OpISubBorrow = 150,
 | 
						|
    OpUMulExtended = 151,
 | 
						|
    OpSMulExtended = 152,
 | 
						|
    OpAny = 154,
 | 
						|
    OpAll = 155,
 | 
						|
    OpIsNan = 156,
 | 
						|
    OpIsInf = 157,
 | 
						|
    OpIsFinite = 158,
 | 
						|
    OpIsNormal = 159,
 | 
						|
    OpSignBitSet = 160,
 | 
						|
    OpLessOrGreater = 161,
 | 
						|
    OpOrdered = 162,
 | 
						|
    OpUnordered = 163,
 | 
						|
    OpLogicalEqual = 164,
 | 
						|
    OpLogicalNotEqual = 165,
 | 
						|
    OpLogicalOr = 166,
 | 
						|
    OpLogicalAnd = 167,
 | 
						|
    OpLogicalNot = 168,
 | 
						|
    OpSelect = 169,
 | 
						|
    OpIEqual = 170,
 | 
						|
    OpINotEqual = 171,
 | 
						|
    OpUGreaterThan = 172,
 | 
						|
    OpSGreaterThan = 173,
 | 
						|
    OpUGreaterThanEqual = 174,
 | 
						|
    OpSGreaterThanEqual = 175,
 | 
						|
    OpULessThan = 176,
 | 
						|
    OpSLessThan = 177,
 | 
						|
    OpULessThanEqual = 178,
 | 
						|
    OpSLessThanEqual = 179,
 | 
						|
    OpFOrdEqual = 180,
 | 
						|
    OpFUnordEqual = 181,
 | 
						|
    OpFOrdNotEqual = 182,
 | 
						|
    OpFUnordNotEqual = 183,
 | 
						|
    OpFOrdLessThan = 184,
 | 
						|
    OpFUnordLessThan = 185,
 | 
						|
    OpFOrdGreaterThan = 186,
 | 
						|
    OpFUnordGreaterThan = 187,
 | 
						|
    OpFOrdLessThanEqual = 188,
 | 
						|
    OpFUnordLessThanEqual = 189,
 | 
						|
    OpFOrdGreaterThanEqual = 190,
 | 
						|
    OpFUnordGreaterThanEqual = 191,
 | 
						|
    OpShiftRightLogical = 194,
 | 
						|
    OpShiftRightArithmetic = 195,
 | 
						|
    OpShiftLeftLogical = 196,
 | 
						|
    OpBitwiseOr = 197,
 | 
						|
    OpBitwiseXor = 198,
 | 
						|
    OpBitwiseAnd = 199,
 | 
						|
    OpNot = 200,
 | 
						|
    OpBitFieldInsert = 201,
 | 
						|
    OpBitFieldSExtract = 202,
 | 
						|
    OpBitFieldUExtract = 203,
 | 
						|
    OpBitReverse = 204,
 | 
						|
    OpBitCount = 205,
 | 
						|
    OpDPdx = 207,
 | 
						|
    OpDPdy = 208,
 | 
						|
    OpFwidth = 209,
 | 
						|
    OpDPdxFine = 210,
 | 
						|
    OpDPdyFine = 211,
 | 
						|
    OpFwidthFine = 212,
 | 
						|
    OpDPdxCoarse = 213,
 | 
						|
    OpDPdyCoarse = 214,
 | 
						|
    OpFwidthCoarse = 215,
 | 
						|
    OpEmitVertex = 218,
 | 
						|
    OpEndPrimitive = 219,
 | 
						|
    OpEmitStreamVertex = 220,
 | 
						|
    OpEndStreamPrimitive = 221,
 | 
						|
    OpControlBarrier = 224,
 | 
						|
    OpMemoryBarrier = 225,
 | 
						|
    OpAtomicLoad = 227,
 | 
						|
    OpAtomicStore = 228,
 | 
						|
    OpAtomicExchange = 229,
 | 
						|
    OpAtomicCompareExchange = 230,
 | 
						|
    OpAtomicCompareExchangeWeak = 231,
 | 
						|
    OpAtomicIIncrement = 232,
 | 
						|
    OpAtomicIDecrement = 233,
 | 
						|
    OpAtomicIAdd = 234,
 | 
						|
    OpAtomicISub = 235,
 | 
						|
    OpAtomicSMin = 236,
 | 
						|
    OpAtomicUMin = 237,
 | 
						|
    OpAtomicSMax = 238,
 | 
						|
    OpAtomicUMax = 239,
 | 
						|
    OpAtomicAnd = 240,
 | 
						|
    OpAtomicOr = 241,
 | 
						|
    OpAtomicXor = 242,
 | 
						|
    OpPhi = 245,
 | 
						|
    OpLoopMerge = 246,
 | 
						|
    OpSelectionMerge = 247,
 | 
						|
    OpLabel = 248,
 | 
						|
    OpBranch = 249,
 | 
						|
    OpBranchConditional = 250,
 | 
						|
    OpSwitch = 251,
 | 
						|
    OpKill = 252,
 | 
						|
    OpReturn = 253,
 | 
						|
    OpReturnValue = 254,
 | 
						|
    OpUnreachable = 255,
 | 
						|
    OpLifetimeStart = 256,
 | 
						|
    OpLifetimeStop = 257,
 | 
						|
    OpGroupAsyncCopy = 259,
 | 
						|
    OpGroupWaitEvents = 260,
 | 
						|
    OpGroupAll = 261,
 | 
						|
    OpGroupAny = 262,
 | 
						|
    OpGroupBroadcast = 263,
 | 
						|
    OpGroupIAdd = 264,
 | 
						|
    OpGroupFAdd = 265,
 | 
						|
    OpGroupFMin = 266,
 | 
						|
    OpGroupUMin = 267,
 | 
						|
    OpGroupSMin = 268,
 | 
						|
    OpGroupFMax = 269,
 | 
						|
    OpGroupUMax = 270,
 | 
						|
    OpGroupSMax = 271,
 | 
						|
    OpReadPipe = 274,
 | 
						|
    OpWritePipe = 275,
 | 
						|
    OpReservedReadPipe = 276,
 | 
						|
    OpReservedWritePipe = 277,
 | 
						|
    OpReserveReadPipePackets = 278,
 | 
						|
    OpReserveWritePipePackets = 279,
 | 
						|
    OpCommitReadPipe = 280,
 | 
						|
    OpCommitWritePipe = 281,
 | 
						|
    OpIsValidReserveId = 282,
 | 
						|
    OpGetNumPipePackets = 283,
 | 
						|
    OpGetMaxPipePackets = 284,
 | 
						|
    OpGroupReserveReadPipePackets = 285,
 | 
						|
    OpGroupReserveWritePipePackets = 286,
 | 
						|
    OpGroupCommitReadPipe = 287,
 | 
						|
    OpGroupCommitWritePipe = 288,
 | 
						|
    OpEnqueueMarker = 291,
 | 
						|
    OpEnqueueKernel = 292,
 | 
						|
    OpGetKernelNDrangeSubGroupCount = 293,
 | 
						|
    OpGetKernelNDrangeMaxSubGroupSize = 294,
 | 
						|
    OpGetKernelWorkGroupSize = 295,
 | 
						|
    OpGetKernelPreferredWorkGroupSizeMultiple = 296,
 | 
						|
    OpRetainEvent = 297,
 | 
						|
    OpReleaseEvent = 298,
 | 
						|
    OpCreateUserEvent = 299,
 | 
						|
    OpIsValidEvent = 300,
 | 
						|
    OpSetUserEventStatus = 301,
 | 
						|
    OpCaptureEventProfilingInfo = 302,
 | 
						|
    OpGetDefaultQueue = 303,
 | 
						|
    OpBuildNDRange = 304,
 | 
						|
    OpImageSparseSampleImplicitLod = 305,
 | 
						|
    OpImageSparseSampleExplicitLod = 306,
 | 
						|
    OpImageSparseSampleDrefImplicitLod = 307,
 | 
						|
    OpImageSparseSampleDrefExplicitLod = 308,
 | 
						|
    OpImageSparseSampleProjImplicitLod = 309,
 | 
						|
    OpImageSparseSampleProjExplicitLod = 310,
 | 
						|
    OpImageSparseSampleProjDrefImplicitLod = 311,
 | 
						|
    OpImageSparseSampleProjDrefExplicitLod = 312,
 | 
						|
    OpImageSparseFetch = 313,
 | 
						|
    OpImageSparseGather = 314,
 | 
						|
    OpImageSparseDrefGather = 315,
 | 
						|
    OpImageSparseTexelsResident = 316,
 | 
						|
    OpNoLine = 317,
 | 
						|
    OpAtomicFlagTestAndSet = 318,
 | 
						|
    OpAtomicFlagClear = 319,
 | 
						|
    OpImageSparseRead = 320,
 | 
						|
    OpSizeOf = 321,
 | 
						|
    OpTypePipeStorage = 322,
 | 
						|
    OpConstantPipeStorage = 323,
 | 
						|
    OpCreatePipeFromPipeStorage = 324,
 | 
						|
    OpGetKernelLocalSizeForSubgroupCount = 325,
 | 
						|
    OpGetKernelMaxNumSubgroups = 326,
 | 
						|
    OpTypeNamedBarrier = 327,
 | 
						|
    OpNamedBarrierInitialize = 328,
 | 
						|
    OpMemoryNamedBarrier = 329,
 | 
						|
    OpModuleProcessed = 330,
 | 
						|
    OpExecutionModeId = 331,
 | 
						|
    OpDecorateId = 332,
 | 
						|
    OpGroupNonUniformElect = 333,
 | 
						|
    OpGroupNonUniformAll = 334,
 | 
						|
    OpGroupNonUniformAny = 335,
 | 
						|
    OpGroupNonUniformAllEqual = 336,
 | 
						|
    OpGroupNonUniformBroadcast = 337,
 | 
						|
    OpGroupNonUniformBroadcastFirst = 338,
 | 
						|
    OpGroupNonUniformBallot = 339,
 | 
						|
    OpGroupNonUniformInverseBallot = 340,
 | 
						|
    OpGroupNonUniformBallotBitExtract = 341,
 | 
						|
    OpGroupNonUniformBallotBitCount = 342,
 | 
						|
    OpGroupNonUniformBallotFindLSB = 343,
 | 
						|
    OpGroupNonUniformBallotFindMSB = 344,
 | 
						|
    OpGroupNonUniformShuffle = 345,
 | 
						|
    OpGroupNonUniformShuffleXor = 346,
 | 
						|
    OpGroupNonUniformShuffleUp = 347,
 | 
						|
    OpGroupNonUniformShuffleDown = 348,
 | 
						|
    OpGroupNonUniformIAdd = 349,
 | 
						|
    OpGroupNonUniformFAdd = 350,
 | 
						|
    OpGroupNonUniformIMul = 351,
 | 
						|
    OpGroupNonUniformFMul = 352,
 | 
						|
    OpGroupNonUniformSMin = 353,
 | 
						|
    OpGroupNonUniformUMin = 354,
 | 
						|
    OpGroupNonUniformFMin = 355,
 | 
						|
    OpGroupNonUniformSMax = 356,
 | 
						|
    OpGroupNonUniformUMax = 357,
 | 
						|
    OpGroupNonUniformFMax = 358,
 | 
						|
    OpGroupNonUniformBitwiseAnd = 359,
 | 
						|
    OpGroupNonUniformBitwiseOr = 360,
 | 
						|
    OpGroupNonUniformBitwiseXor = 361,
 | 
						|
    OpGroupNonUniformLogicalAnd = 362,
 | 
						|
    OpGroupNonUniformLogicalOr = 363,
 | 
						|
    OpGroupNonUniformLogicalXor = 364,
 | 
						|
    OpGroupNonUniformQuadBroadcast = 365,
 | 
						|
    OpGroupNonUniformQuadSwap = 366,
 | 
						|
    OpCopyLogical = 400,
 | 
						|
    OpPtrEqual = 401,
 | 
						|
    OpPtrNotEqual = 402,
 | 
						|
    OpPtrDiff = 403,
 | 
						|
    OpSubgroupBallotKHR = 4421,
 | 
						|
    OpSubgroupFirstInvocationKHR = 4422,
 | 
						|
    OpSubgroupAllKHR = 4428,
 | 
						|
    OpSubgroupAnyKHR = 4429,
 | 
						|
    OpSubgroupAllEqualKHR = 4430,
 | 
						|
    OpSubgroupReadInvocationKHR = 4432,
 | 
						|
    OpTypeRayQueryProvisionalKHR = 4472,
 | 
						|
    OpRayQueryInitializeKHR = 4473,
 | 
						|
    OpRayQueryTerminateKHR = 4474,
 | 
						|
    OpRayQueryGenerateIntersectionKHR = 4475,
 | 
						|
    OpRayQueryConfirmIntersectionKHR = 4476,
 | 
						|
    OpRayQueryProceedKHR = 4477,
 | 
						|
    OpRayQueryGetIntersectionTypeKHR = 4479,
 | 
						|
    OpGroupIAddNonUniformAMD = 5000,
 | 
						|
    OpGroupFAddNonUniformAMD = 5001,
 | 
						|
    OpGroupFMinNonUniformAMD = 5002,
 | 
						|
    OpGroupUMinNonUniformAMD = 5003,
 | 
						|
    OpGroupSMinNonUniformAMD = 5004,
 | 
						|
    OpGroupFMaxNonUniformAMD = 5005,
 | 
						|
    OpGroupUMaxNonUniformAMD = 5006,
 | 
						|
    OpGroupSMaxNonUniformAMD = 5007,
 | 
						|
    OpFragmentMaskFetchAMD = 5011,
 | 
						|
    OpFragmentFetchAMD = 5012,
 | 
						|
    OpReadClockKHR = 5056,
 | 
						|
    OpImageSampleFootprintNV = 5283,
 | 
						|
    OpGroupNonUniformPartitionNV = 5296,
 | 
						|
    OpWritePackedPrimitiveIndices4x8NV = 5299,
 | 
						|
    OpReportIntersectionKHR = 5334,
 | 
						|
    OpReportIntersectionNV = 5334,
 | 
						|
    OpIgnoreIntersectionKHR = 5335,
 | 
						|
    OpIgnoreIntersectionNV = 5335,
 | 
						|
    OpTerminateRayKHR = 5336,
 | 
						|
    OpTerminateRayNV = 5336,
 | 
						|
    OpTraceNV = 5337,
 | 
						|
    OpTraceRayKHR = 5337,
 | 
						|
    OpTypeAccelerationStructureKHR = 5341,
 | 
						|
    OpTypeAccelerationStructureNV = 5341,
 | 
						|
    OpExecuteCallableKHR = 5344,
 | 
						|
    OpExecuteCallableNV = 5344,
 | 
						|
    OpTypeCooperativeMatrixNV = 5358,
 | 
						|
    OpCooperativeMatrixLoadNV = 5359,
 | 
						|
    OpCooperativeMatrixStoreNV = 5360,
 | 
						|
    OpCooperativeMatrixMulAddNV = 5361,
 | 
						|
    OpCooperativeMatrixLengthNV = 5362,
 | 
						|
    OpBeginInvocationInterlockEXT = 5364,
 | 
						|
    OpEndInvocationInterlockEXT = 5365,
 | 
						|
    OpDemoteToHelperInvocationEXT = 5380,
 | 
						|
    OpIsHelperInvocationEXT = 5381,
 | 
						|
    OpSubgroupShuffleINTEL = 5571,
 | 
						|
    OpSubgroupShuffleDownINTEL = 5572,
 | 
						|
    OpSubgroupShuffleUpINTEL = 5573,
 | 
						|
    OpSubgroupShuffleXorINTEL = 5574,
 | 
						|
    OpSubgroupBlockReadINTEL = 5575,
 | 
						|
    OpSubgroupBlockWriteINTEL = 5576,
 | 
						|
    OpSubgroupImageBlockReadINTEL = 5577,
 | 
						|
    OpSubgroupImageBlockWriteINTEL = 5578,
 | 
						|
    OpSubgroupImageMediaBlockReadINTEL = 5580,
 | 
						|
    OpSubgroupImageMediaBlockWriteINTEL = 5581,
 | 
						|
    OpUCountLeadingZerosINTEL = 5585,
 | 
						|
    OpUCountTrailingZerosINTEL = 5586,
 | 
						|
    OpAbsISubINTEL = 5587,
 | 
						|
    OpAbsUSubINTEL = 5588,
 | 
						|
    OpIAddSatINTEL = 5589,
 | 
						|
    OpUAddSatINTEL = 5590,
 | 
						|
    OpIAverageINTEL = 5591,
 | 
						|
    OpUAverageINTEL = 5592,
 | 
						|
    OpIAverageRoundedINTEL = 5593,
 | 
						|
    OpUAverageRoundedINTEL = 5594,
 | 
						|
    OpISubSatINTEL = 5595,
 | 
						|
    OpUSubSatINTEL = 5596,
 | 
						|
    OpIMul32x16INTEL = 5597,
 | 
						|
    OpUMul32x16INTEL = 5598,
 | 
						|
    OpDecorateString = 5632,
 | 
						|
    OpDecorateStringGOOGLE = 5632,
 | 
						|
    OpMemberDecorateString = 5633,
 | 
						|
    OpMemberDecorateStringGOOGLE = 5633,
 | 
						|
    OpVmeImageINTEL = 5699,
 | 
						|
    OpTypeVmeImageINTEL = 5700,
 | 
						|
    OpTypeAvcImePayloadINTEL = 5701,
 | 
						|
    OpTypeAvcRefPayloadINTEL = 5702,
 | 
						|
    OpTypeAvcSicPayloadINTEL = 5703,
 | 
						|
    OpTypeAvcMcePayloadINTEL = 5704,
 | 
						|
    OpTypeAvcMceResultINTEL = 5705,
 | 
						|
    OpTypeAvcImeResultINTEL = 5706,
 | 
						|
    OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
 | 
						|
    OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
 | 
						|
    OpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
 | 
						|
    OpTypeAvcImeDualReferenceStreaminINTEL = 5710,
 | 
						|
    OpTypeAvcRefResultINTEL = 5711,
 | 
						|
    OpTypeAvcSicResultINTEL = 5712,
 | 
						|
    OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
 | 
						|
    OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
 | 
						|
    OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
 | 
						|
    OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
 | 
						|
    OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
 | 
						|
    OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
 | 
						|
    OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
 | 
						|
    OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
 | 
						|
    OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
 | 
						|
    OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
 | 
						|
    OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
 | 
						|
    OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
 | 
						|
    OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
 | 
						|
    OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
 | 
						|
    OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
 | 
						|
    OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
 | 
						|
    OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
 | 
						|
    OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
 | 
						|
    OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
 | 
						|
    OpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
 | 
						|
    OpSubgroupAvcMceConvertToImeResultINTEL = 5733,
 | 
						|
    OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
 | 
						|
    OpSubgroupAvcMceConvertToRefResultINTEL = 5735,
 | 
						|
    OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
 | 
						|
    OpSubgroupAvcMceConvertToSicResultINTEL = 5737,
 | 
						|
    OpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
 | 
						|
    OpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
 | 
						|
    OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
 | 
						|
    OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
 | 
						|
    OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
 | 
						|
    OpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
 | 
						|
    OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
 | 
						|
    OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
 | 
						|
    OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
 | 
						|
    OpSubgroupAvcImeInitializeINTEL = 5747,
 | 
						|
    OpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
 | 
						|
    OpSubgroupAvcImeSetDualReferenceINTEL = 5749,
 | 
						|
    OpSubgroupAvcImeRefWindowSizeINTEL = 5750,
 | 
						|
    OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
 | 
						|
    OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
 | 
						|
    OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
 | 
						|
    OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
 | 
						|
    OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
 | 
						|
    OpSubgroupAvcImeSetWeightedSadINTEL = 5756,
 | 
						|
    OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
 | 
						|
    OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
 | 
						|
    OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
 | 
						|
    OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
 | 
						|
    OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
 | 
						|
    OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
 | 
						|
    OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
 | 
						|
    OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
 | 
						|
    OpSubgroupAvcImeConvertToMceResultINTEL = 5765,
 | 
						|
    OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
 | 
						|
    OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
 | 
						|
    OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
 | 
						|
    OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
 | 
						|
    OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
 | 
						|
    OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
 | 
						|
    OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
 | 
						|
    OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
 | 
						|
    OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
 | 
						|
    OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
 | 
						|
    OpSubgroupAvcImeGetBorderReachedINTEL = 5776,
 | 
						|
    OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
 | 
						|
    OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
 | 
						|
    OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
 | 
						|
    OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
 | 
						|
    OpSubgroupAvcFmeInitializeINTEL = 5781,
 | 
						|
    OpSubgroupAvcBmeInitializeINTEL = 5782,
 | 
						|
    OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
 | 
						|
    OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
 | 
						|
    OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
 | 
						|
    OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
 | 
						|
    OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
 | 
						|
    OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
 | 
						|
    OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
 | 
						|
    OpSubgroupAvcRefConvertToMceResultINTEL = 5790,
 | 
						|
    OpSubgroupAvcSicInitializeINTEL = 5791,
 | 
						|
    OpSubgroupAvcSicConfigureSkcINTEL = 5792,
 | 
						|
    OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
 | 
						|
    OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
 | 
						|
    OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
 | 
						|
    OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
 | 
						|
    OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
 | 
						|
    OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
 | 
						|
    OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
 | 
						|
    OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
 | 
						|
    OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
 | 
						|
    OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
 | 
						|
    OpSubgroupAvcSicEvaluateIpeINTEL = 5803,
 | 
						|
    OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
 | 
						|
    OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
 | 
						|
    OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
 | 
						|
    OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
 | 
						|
    OpSubgroupAvcSicConvertToMceResultINTEL = 5808,
 | 
						|
    OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
 | 
						|
    OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
 | 
						|
    OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
 | 
						|
    OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
 | 
						|
    OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
 | 
						|
    OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
 | 
						|
    OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
 | 
						|
    OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
 | 
						|
    OpRayQueryGetRayTMinKHR = 6016,
 | 
						|
    OpRayQueryGetRayFlagsKHR = 6017,
 | 
						|
    OpRayQueryGetIntersectionTKHR = 6018,
 | 
						|
    OpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
 | 
						|
    OpRayQueryGetIntersectionInstanceIdKHR = 6020,
 | 
						|
    OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
 | 
						|
    OpRayQueryGetIntersectionGeometryIndexKHR = 6022,
 | 
						|
    OpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,
 | 
						|
    OpRayQueryGetIntersectionBarycentricsKHR = 6024,
 | 
						|
    OpRayQueryGetIntersectionFrontFaceKHR = 6025,
 | 
						|
    OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
 | 
						|
    OpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,
 | 
						|
    OpRayQueryGetIntersectionObjectRayOriginKHR = 6028,
 | 
						|
    OpRayQueryGetWorldRayDirectionKHR = 6029,
 | 
						|
    OpRayQueryGetWorldRayOriginKHR = 6030,
 | 
						|
    OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
 | 
						|
    OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
 | 
						|
    OpMax = 0x7fffffff,
 | 
						|
};
 | 
						|
 | 
						|
#ifdef SPV_ENABLE_UTILITY_CODE
 | 
						|
inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
 | 
						|
    *hasResult = *hasResultType = false;
 | 
						|
    switch (opcode) {
 | 
						|
    default: /* unknown opcode */ break;
 | 
						|
    case OpNop: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpUndef: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSourceContinued: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpSource: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpSourceExtension: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpName: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpMemberName: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpString: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpLine: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpExtension: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpExtInstImport: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpExtInst: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpMemoryModel: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpEntryPoint: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpExecutionMode: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpCapability: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpTypeVoid: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpTypeBool: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpTypeInt: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpTypeFloat: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpTypeVector: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpTypeMatrix: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpTypeImage: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpTypeSampler: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpTypeSampledImage: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpTypeArray: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpTypeRuntimeArray: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpTypeStruct: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpTypeOpaque: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpTypePointer: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpTypeFunction: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpTypeEvent: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpTypeDeviceEvent: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpTypeReserveId: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpTypeQueue: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpTypePipe: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpTypeForwardPointer: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpConstantTrue: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpConstantFalse: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpConstant: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpConstantComposite: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpConstantSampler: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpConstantNull: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSpecConstantTrue: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSpecConstantFalse: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSpecConstant: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSpecConstantComposite: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSpecConstantOp: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpFunction: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpFunctionParameter: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpFunctionEnd: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpFunctionCall: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpVariable: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageTexelPointer: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpLoad: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpStore: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpCopyMemory: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpCopyMemorySized: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpAccessChain: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpInBoundsAccessChain: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpPtrAccessChain: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpArrayLength: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGenericPtrMemSemantics: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpInBoundsPtrAccessChain: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpDecorate: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpMemberDecorate: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpDecorationGroup: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpGroupDecorate: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpGroupMemberDecorate: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpVectorExtractDynamic: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpVectorInsertDynamic: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpVectorShuffle: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpCompositeConstruct: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpCompositeExtract: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpCompositeInsert: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpCopyObject: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpTranspose: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSampledImage: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageFetch: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageGather: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageDrefGather: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageRead: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageWrite: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpImage: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageQueryFormat: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageQueryOrder: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageQuerySizeLod: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageQuerySize: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageQueryLod: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageQueryLevels: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageQuerySamples: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpConvertFToU: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpConvertFToS: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpConvertSToF: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpConvertUToF: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpUConvert: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSConvert: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpFConvert: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpQuantizeToF16: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpConvertPtrToU: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSatConvertSToU: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSatConvertUToS: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpConvertUToPtr: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpPtrCastToGeneric: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGenericCastToPtr: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGenericCastToPtrExplicit: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpBitcast: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSNegate: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpFNegate: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpIAdd: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpFAdd: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpISub: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpFSub: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpIMul: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpFMul: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpUDiv: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSDiv: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpFDiv: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpUMod: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSRem: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSMod: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpFRem: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpFMod: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpVectorTimesScalar: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpMatrixTimesScalar: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpVectorTimesMatrix: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpMatrixTimesVector: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpMatrixTimesMatrix: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpOuterProduct: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpDot: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpIAddCarry: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpISubBorrow: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpUMulExtended: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSMulExtended: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpAny: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpAll: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpIsNan: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpIsInf: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpIsFinite: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpIsNormal: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSignBitSet: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpLessOrGreater: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpOrdered: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpUnordered: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpLogicalEqual: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpLogicalNotEqual: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpLogicalOr: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpLogicalAnd: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpLogicalNot: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSelect: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpIEqual: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpINotEqual: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpUGreaterThan: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSGreaterThan: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpUGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpULessThan: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSLessThan: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpULessThanEqual: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSLessThanEqual: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpFOrdEqual: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpFUnordEqual: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpFOrdNotEqual: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpFUnordNotEqual: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpFOrdLessThan: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpFUnordLessThan: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpFOrdGreaterThan: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpFUnordGreaterThan: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpFOrdLessThanEqual: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpFUnordLessThanEqual: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpFOrdGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpFUnordGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpShiftRightLogical: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpShiftRightArithmetic: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpShiftLeftLogical: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpBitwiseOr: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpBitwiseXor: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpBitwiseAnd: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpNot: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpBitFieldInsert: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpBitFieldSExtract: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpBitFieldUExtract: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpBitReverse: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpBitCount: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpDPdx: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpDPdy: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpFwidth: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpDPdxFine: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpDPdyFine: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpFwidthFine: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpDPdxCoarse: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpDPdyCoarse: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpFwidthCoarse: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpEmitVertex: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpEndPrimitive: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpEmitStreamVertex: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpEndStreamPrimitive: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpControlBarrier: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpMemoryBarrier: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpAtomicLoad: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpAtomicStore: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpAtomicExchange: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpAtomicCompareExchange: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpAtomicCompareExchangeWeak: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpAtomicIIncrement: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpAtomicIDecrement: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpAtomicIAdd: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpAtomicISub: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpAtomicSMin: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpAtomicUMin: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpAtomicSMax: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpAtomicUMax: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpAtomicAnd: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpAtomicOr: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpAtomicXor: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpPhi: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpLoopMerge: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpSelectionMerge: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpLabel: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpBranch: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpBranchConditional: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpSwitch: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpKill: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpReturn: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpReturnValue: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpUnreachable: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpLifetimeStart: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpLifetimeStop: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpGroupAsyncCopy: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupWaitEvents: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpGroupAll: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupAny: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupBroadcast: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupIAdd: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupFAdd: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupFMin: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupUMin: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupSMin: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupFMax: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupUMax: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupSMax: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpReadPipe: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpWritePipe: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpReservedReadPipe: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpReservedWritePipe: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpCommitReadPipe: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpCommitWritePipe: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpIsValidReserveId: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGetNumPipePackets: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGetMaxPipePackets: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupCommitReadPipe: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpGroupCommitWritePipe: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpEnqueueMarker: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpEnqueueKernel: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGetKernelNDrangeSubGroupCount: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGetKernelNDrangeMaxSubGroupSize: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGetKernelWorkGroupSize: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGetKernelPreferredWorkGroupSizeMultiple: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpRetainEvent: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpReleaseEvent: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpCreateUserEvent: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpIsValidEvent: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSetUserEventStatus: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpCaptureEventProfilingInfo: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpGetDefaultQueue: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpBuildNDRange: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageSparseSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageSparseSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageSparseSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageSparseSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageSparseSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageSparseSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageSparseSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageSparseSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageSparseFetch: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageSparseGather: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageSparseDrefGather: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageSparseTexelsResident: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpNoLine: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpAtomicFlagTestAndSet: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpAtomicFlagClear: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpImageSparseRead: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSizeOf: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpTypePipeStorage: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpConstantPipeStorage: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpCreatePipeFromPipeStorage: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGetKernelLocalSizeForSubgroupCount: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGetKernelMaxNumSubgroups: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpTypeNamedBarrier: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpNamedBarrierInitialize: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpMemoryNamedBarrier: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpModuleProcessed: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpExecutionModeId: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpDecorateId: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpGroupNonUniformElect: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformAll: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformAny: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformAllEqual: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformBroadcast: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformBroadcastFirst: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformBallot: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformInverseBallot: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformBallotBitExtract: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformBallotBitCount: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformBallotFindLSB: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformBallotFindMSB: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformShuffle: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformShuffleXor: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformShuffleUp: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformShuffleDown: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformIAdd: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformFAdd: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformIMul: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformFMul: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformSMin: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformUMin: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformFMin: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformSMax: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformUMax: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformFMax: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformBitwiseAnd: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformBitwiseOr: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformBitwiseXor: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformLogicalAnd: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformLogicalOr: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformLogicalXor: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformQuadBroadcast: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformQuadSwap: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpCopyLogical: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpPtrEqual: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpPtrNotEqual: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpPtrDiff: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpTypeRayQueryProvisionalKHR: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupUMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupSMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupFMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupUMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpReadClockKHR: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpReportIntersectionNV: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpTraceNV: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpCooperativeMatrixStoreNV: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpDemoteToHelperInvocationEXT: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupShuffleXorINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpSubgroupImageBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupImageBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpSubgroupImageMediaBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupImageMediaBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpUCountLeadingZerosINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpUCountTrailingZerosINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpAbsISubINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpAbsUSubINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpIAddSatINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpUAddSatINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpIAverageINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpUAverageINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpIAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpUAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpISubSatINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpDecorateString: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
 | 
						|
    case OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpTypeVmeImageINTEL: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpTypeAvcImePayloadINTEL: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpTypeAvcRefPayloadINTEL: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpTypeAvcSicPayloadINTEL: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpTypeAvcMcePayloadINTEL: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpTypeAvcMceResultINTEL: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpTypeAvcImeResultINTEL: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpTypeAvcImeResultSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpTypeAvcImeResultDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpTypeAvcImeSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpTypeAvcImeDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpTypeAvcRefResultINTEL: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpTypeAvcSicResultINTEL: *hasResult = true; *hasResultType = false; break;
 | 
						|
    case OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcMceSetInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcMceSetInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcMceSetAcOnlyHaarINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcMceConvertToImePayloadINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcMceConvertToImeResultINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcMceConvertToRefPayloadINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcMceConvertToRefResultINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcMceConvertToSicPayloadINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcMceConvertToSicResultINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcMceGetMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcMceGetInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcMceGetBestInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcMceGetInterMajorShapeINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcMceGetInterMinorShapeINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcMceGetInterDirectionsINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcMceGetInterMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcMceGetInterReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeSetSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeSetDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeRefWindowSizeINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeAdjustRefOffsetINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeSetMaxMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeSetWeightedSadINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeGetSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeGetDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeStripDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeGetBorderReachedINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcFmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcBmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcRefConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcRefSetBidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcRefSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcRefEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcRefConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcSicInitializeINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcSicConfigureSkcINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcSicConfigureIpeLumaINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcSicConfigureIpeLumaChromaINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcSicGetMotionVectorMaskINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcSicConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcSicSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcSicEvaluateIpeINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcSicEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcSicConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcSicGetIpeLumaShapeINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcSicGetPackedIpeLumaModesINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcSicGetIpeChromaModeINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
 | 
						|
    case OpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
 | 
						|
    }
 | 
						|
}
 | 
						|
#endif /* SPV_ENABLE_UTILITY_CODE */
 | 
						|
 | 
						|
// Overload operator| for mask bit combining
 | 
						|
 | 
						|
inline ImageOperandsMask operator|(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) | unsigned(b)); }
 | 
						|
inline FPFastMathModeMask operator|(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) | unsigned(b)); }
 | 
						|
inline SelectionControlMask operator|(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) | unsigned(b)); }
 | 
						|
inline LoopControlMask operator|(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) | unsigned(b)); }
 | 
						|
inline FunctionControlMask operator|(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) | unsigned(b)); }
 | 
						|
inline MemorySemanticsMask operator|(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) | unsigned(b)); }
 | 
						|
inline MemoryAccessMask operator|(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) | unsigned(b)); }
 | 
						|
inline KernelProfilingInfoMask operator|(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) | unsigned(b)); }
 | 
						|
inline RayFlagsMask operator|(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) | unsigned(b)); }
 | 
						|
 | 
						|
}  // end namespace spv
 | 
						|
 | 
						|
#endif  // #ifndef spirv_HPP
 | 
						|
 |