RetroArch
Namespaces | Macros | Enumerations | Functions | Variables
spirv.hpp File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 spv
 

Macros

#define SPV_VERSION   0x10300
 
#define SPV_REVISION   1
 

Enumerations

enum  spv::SourceLanguage {
  spv::SourceLanguageUnknown = 0, spv::SourceLanguageESSL = 1, spv::SourceLanguageGLSL = 2, spv::SourceLanguageOpenCL_C = 3,
  spv::SourceLanguageOpenCL_CPP = 4, spv::SourceLanguageHLSL = 5, spv::SourceLanguageMax = 0x7fffffff, spv::SourceLanguageUnknown = 0,
  spv::SourceLanguageESSL = 1, spv::SourceLanguageGLSL = 2, spv::SourceLanguageOpenCL_C = 3, spv::SourceLanguageOpenCL_CPP = 4,
  spv::SourceLanguageHLSL = 5, spv::SourceLanguageMax = 0x7fffffff
}
 
enum  spv::ExecutionModel {
  spv::ExecutionModelVertex = 0, spv::ExecutionModelTessellationControl = 1, spv::ExecutionModelTessellationEvaluation = 2, spv::ExecutionModelGeometry = 3,
  spv::ExecutionModelFragment = 4, spv::ExecutionModelGLCompute = 5, spv::ExecutionModelKernel = 6, spv::ExecutionModelMax = 0x7fffffff,
  spv::ExecutionModelVertex = 0, spv::ExecutionModelTessellationControl = 1, spv::ExecutionModelTessellationEvaluation = 2, spv::ExecutionModelGeometry = 3,
  spv::ExecutionModelFragment = 4, spv::ExecutionModelGLCompute = 5, spv::ExecutionModelKernel = 6, spv::ExecutionModelMax = 0x7fffffff
}
 
enum  spv::AddressingModel {
  spv::AddressingModelLogical = 0, spv::AddressingModelPhysical32 = 1, spv::AddressingModelPhysical64 = 2, spv::AddressingModelMax = 0x7fffffff,
  spv::AddressingModelLogical = 0, spv::AddressingModelPhysical32 = 1, spv::AddressingModelPhysical64 = 2, spv::AddressingModelMax = 0x7fffffff
}
 
enum  spv::MemoryModel {
  spv::MemoryModelSimple = 0, spv::MemoryModelGLSL450 = 1, spv::MemoryModelOpenCL = 2, spv::MemoryModelMax = 0x7fffffff,
  spv::MemoryModelSimple = 0, spv::MemoryModelGLSL450 = 1, spv::MemoryModelOpenCL = 2, spv::MemoryModelMax = 0x7fffffff
}
 
enum  spv::ExecutionMode {
  spv::ExecutionModeInvocations = 0, spv::ExecutionModeSpacingEqual = 1, spv::ExecutionModeSpacingFractionalEven = 2, spv::ExecutionModeSpacingFractionalOdd = 3,
  spv::ExecutionModeVertexOrderCw = 4, spv::ExecutionModeVertexOrderCcw = 5, spv::ExecutionModePixelCenterInteger = 6, spv::ExecutionModeOriginUpperLeft = 7,
  spv::ExecutionModeOriginLowerLeft = 8, spv::ExecutionModeEarlyFragmentTests = 9, spv::ExecutionModePointMode = 10, spv::ExecutionModeXfb = 11,
  spv::ExecutionModeDepthReplacing = 12, spv::ExecutionModeDepthGreater = 14, spv::ExecutionModeDepthLess = 15, spv::ExecutionModeDepthUnchanged = 16,
  spv::ExecutionModeLocalSize = 17, spv::ExecutionModeLocalSizeHint = 18, spv::ExecutionModeInputPoints = 19, spv::ExecutionModeInputLines = 20,
  spv::ExecutionModeInputLinesAdjacency = 21, spv::ExecutionModeTriangles = 22, spv::ExecutionModeInputTrianglesAdjacency = 23, spv::ExecutionModeQuads = 24,
  spv::ExecutionModeIsolines = 25, spv::ExecutionModeOutputVertices = 26, spv::ExecutionModeOutputPoints = 27, spv::ExecutionModeOutputLineStrip = 28,
  spv::ExecutionModeOutputTriangleStrip = 29, spv::ExecutionModeVecTypeHint = 30, spv::ExecutionModeContractionOff = 31, spv::ExecutionModeInitializer = 33,
  spv::ExecutionModeFinalizer = 34, spv::ExecutionModeSubgroupSize = 35, spv::ExecutionModeSubgroupsPerWorkgroup = 36, spv::ExecutionModeSubgroupsPerWorkgroupId = 37,
  spv::ExecutionModeLocalSizeId = 38, spv::ExecutionModeLocalSizeHintId = 39, spv::ExecutionModePostDepthCoverage = 4446, spv::ExecutionModeStencilRefReplacingEXT = 5027,
  spv::ExecutionModeMax = 0x7fffffff, spv::ExecutionModeInvocations = 0, spv::ExecutionModeSpacingEqual = 1, spv::ExecutionModeSpacingFractionalEven = 2,
  spv::ExecutionModeSpacingFractionalOdd = 3, spv::ExecutionModeVertexOrderCw = 4, spv::ExecutionModeVertexOrderCcw = 5, spv::ExecutionModePixelCenterInteger = 6,
  spv::ExecutionModeOriginUpperLeft = 7, spv::ExecutionModeOriginLowerLeft = 8, spv::ExecutionModeEarlyFragmentTests = 9, spv::ExecutionModePointMode = 10,
  spv::ExecutionModeXfb = 11, spv::ExecutionModeDepthReplacing = 12, spv::ExecutionModeDepthGreater = 14, spv::ExecutionModeDepthLess = 15,
  spv::ExecutionModeDepthUnchanged = 16, spv::ExecutionModeLocalSize = 17, spv::ExecutionModeLocalSizeHint = 18, spv::ExecutionModeInputPoints = 19,
  spv::ExecutionModeInputLines = 20, spv::ExecutionModeInputLinesAdjacency = 21, spv::ExecutionModeTriangles = 22, spv::ExecutionModeInputTrianglesAdjacency = 23,
  spv::ExecutionModeQuads = 24, spv::ExecutionModeIsolines = 25, spv::ExecutionModeOutputVertices = 26, spv::ExecutionModeOutputPoints = 27,
  spv::ExecutionModeOutputLineStrip = 28, spv::ExecutionModeOutputTriangleStrip = 29, spv::ExecutionModeVecTypeHint = 30, spv::ExecutionModeContractionOff = 31,
  spv::ExecutionModeInitializer = 33, spv::ExecutionModeFinalizer = 34, spv::ExecutionModeSubgroupSize = 35, spv::ExecutionModeSubgroupsPerWorkgroup = 36,
  spv::ExecutionModeSubgroupsPerWorkgroupId = 37, spv::ExecutionModeLocalSizeId = 38, spv::ExecutionModeLocalSizeHintId = 39, spv::ExecutionModePostDepthCoverage = 4446,
  spv::ExecutionModeStencilRefReplacingEXT = 5027, spv::ExecutionModeMax = 0x7fffffff
}
 
enum  spv::StorageClass {
  spv::StorageClassUniformConstant = 0, spv::StorageClassInput = 1, spv::StorageClassUniform = 2, spv::StorageClassOutput = 3,
  spv::StorageClassWorkgroup = 4, spv::StorageClassCrossWorkgroup = 5, spv::StorageClassPrivate = 6, spv::StorageClassFunction = 7,
  spv::StorageClassGeneric = 8, spv::StorageClassPushConstant = 9, spv::StorageClassAtomicCounter = 10, spv::StorageClassImage = 11,
  spv::StorageClassStorageBuffer = 12, spv::StorageClassMax = 0x7fffffff, spv::StorageClassUniformConstant = 0, spv::StorageClassInput = 1,
  spv::StorageClassUniform = 2, spv::StorageClassOutput = 3, spv::StorageClassWorkgroup = 4, spv::StorageClassCrossWorkgroup = 5,
  spv::StorageClassPrivate = 6, spv::StorageClassFunction = 7, spv::StorageClassGeneric = 8, spv::StorageClassPushConstant = 9,
  spv::StorageClassAtomicCounter = 10, spv::StorageClassImage = 11, spv::StorageClassStorageBuffer = 12, spv::StorageClassMax = 0x7fffffff
}
 
enum  spv::Dim {
  spv::Dim1D = 0, spv::Dim2D = 1, spv::Dim3D = 2, spv::DimCube = 3,
  spv::DimRect = 4, spv::DimBuffer = 5, spv::DimSubpassData = 6, spv::DimMax = 0x7fffffff,
  spv::Dim1D = 0, spv::Dim2D = 1, spv::Dim3D = 2, spv::DimCube = 3,
  spv::DimRect = 4, spv::DimBuffer = 5, spv::DimSubpassData = 6, spv::DimMax = 0x7fffffff
}
 
enum  spv::SamplerAddressingMode {
  spv::SamplerAddressingModeNone = 0, spv::SamplerAddressingModeClampToEdge = 1, spv::SamplerAddressingModeClamp = 2, spv::SamplerAddressingModeRepeat = 3,
  spv::SamplerAddressingModeRepeatMirrored = 4, spv::SamplerAddressingModeMax = 0x7fffffff, spv::SamplerAddressingModeNone = 0, spv::SamplerAddressingModeClampToEdge = 1,
  spv::SamplerAddressingModeClamp = 2, spv::SamplerAddressingModeRepeat = 3, spv::SamplerAddressingModeRepeatMirrored = 4, spv::SamplerAddressingModeMax = 0x7fffffff
}
 
enum  spv::SamplerFilterMode {
  spv::SamplerFilterModeNearest = 0, spv::SamplerFilterModeLinear = 1, spv::SamplerFilterModeMax = 0x7fffffff, spv::SamplerFilterModeNearest = 0,
  spv::SamplerFilterModeLinear = 1, spv::SamplerFilterModeMax = 0x7fffffff
}
 
enum  spv::ImageFormat {
  spv::ImageFormatUnknown = 0, spv::ImageFormatRgba32f = 1, spv::ImageFormatRgba16f = 2, spv::ImageFormatR32f = 3,
  spv::ImageFormatRgba8 = 4, spv::ImageFormatRgba8Snorm = 5, spv::ImageFormatRg32f = 6, spv::ImageFormatRg16f = 7,
  spv::ImageFormatR11fG11fB10f = 8, spv::ImageFormatR16f = 9, spv::ImageFormatRgba16 = 10, spv::ImageFormatRgb10A2 = 11,
  spv::ImageFormatRg16 = 12, spv::ImageFormatRg8 = 13, spv::ImageFormatR16 = 14, spv::ImageFormatR8 = 15,
  spv::ImageFormatRgba16Snorm = 16, spv::ImageFormatRg16Snorm = 17, spv::ImageFormatRg8Snorm = 18, spv::ImageFormatR16Snorm = 19,
  spv::ImageFormatR8Snorm = 20, spv::ImageFormatRgba32i = 21, spv::ImageFormatRgba16i = 22, spv::ImageFormatRgba8i = 23,
  spv::ImageFormatR32i = 24, spv::ImageFormatRg32i = 25, spv::ImageFormatRg16i = 26, spv::ImageFormatRg8i = 27,
  spv::ImageFormatR16i = 28, spv::ImageFormatR8i = 29, spv::ImageFormatRgba32ui = 30, spv::ImageFormatRgba16ui = 31,
  spv::ImageFormatRgba8ui = 32, spv::ImageFormatR32ui = 33, spv::ImageFormatRgb10a2ui = 34, spv::ImageFormatRg32ui = 35,
  spv::ImageFormatRg16ui = 36, spv::ImageFormatRg8ui = 37, spv::ImageFormatR16ui = 38, spv::ImageFormatR8ui = 39,
  spv::ImageFormatMax = 0x7fffffff, spv::ImageFormatUnknown = 0, spv::ImageFormatRgba32f = 1, spv::ImageFormatRgba16f = 2,
  spv::ImageFormatR32f = 3, spv::ImageFormatRgba8 = 4, spv::ImageFormatRgba8Snorm = 5, spv::ImageFormatRg32f = 6,
  spv::ImageFormatRg16f = 7, spv::ImageFormatR11fG11fB10f = 8, spv::ImageFormatR16f = 9, spv::ImageFormatRgba16 = 10,
  spv::ImageFormatRgb10A2 = 11, spv::ImageFormatRg16 = 12, spv::ImageFormatRg8 = 13, spv::ImageFormatR16 = 14,
  spv::ImageFormatR8 = 15, spv::ImageFormatRgba16Snorm = 16, spv::ImageFormatRg16Snorm = 17, spv::ImageFormatRg8Snorm = 18,
  spv::ImageFormatR16Snorm = 19, spv::ImageFormatR8Snorm = 20, spv::ImageFormatRgba32i = 21, spv::ImageFormatRgba16i = 22,
  spv::ImageFormatRgba8i = 23, spv::ImageFormatR32i = 24, spv::ImageFormatRg32i = 25, spv::ImageFormatRg16i = 26,
  spv::ImageFormatRg8i = 27, spv::ImageFormatR16i = 28, spv::ImageFormatR8i = 29, spv::ImageFormatRgba32ui = 30,
  spv::ImageFormatRgba16ui = 31, spv::ImageFormatRgba8ui = 32, spv::ImageFormatR32ui = 33, spv::ImageFormatRgb10a2ui = 34,
  spv::ImageFormatRg32ui = 35, spv::ImageFormatRg16ui = 36, spv::ImageFormatRg8ui = 37, spv::ImageFormatR16ui = 38,
  spv::ImageFormatR8ui = 39, spv::ImageFormatMax = 0x7fffffff
}
 
enum  spv::ImageChannelOrder {
  spv::ImageChannelOrderR = 0, spv::ImageChannelOrderA = 1, spv::ImageChannelOrderRG = 2, spv::ImageChannelOrderRA = 3,
  spv::ImageChannelOrderRGB = 4, spv::ImageChannelOrderRGBA = 5, spv::ImageChannelOrderBGRA = 6, spv::ImageChannelOrderARGB = 7,
  spv::ImageChannelOrderIntensity = 8, spv::ImageChannelOrderLuminance = 9, spv::ImageChannelOrderRx = 10, spv::ImageChannelOrderRGx = 11,
  spv::ImageChannelOrderRGBx = 12, spv::ImageChannelOrderDepth = 13, spv::ImageChannelOrderDepthStencil = 14, spv::ImageChannelOrdersRGB = 15,
  spv::ImageChannelOrdersRGBx = 16, spv::ImageChannelOrdersRGBA = 17, spv::ImageChannelOrdersBGRA = 18, spv::ImageChannelOrderABGR = 19,
  spv::ImageChannelOrderMax = 0x7fffffff, spv::ImageChannelOrderR = 0, spv::ImageChannelOrderA = 1, spv::ImageChannelOrderRG = 2,
  spv::ImageChannelOrderRA = 3, spv::ImageChannelOrderRGB = 4, spv::ImageChannelOrderRGBA = 5, spv::ImageChannelOrderBGRA = 6,
  spv::ImageChannelOrderARGB = 7, spv::ImageChannelOrderIntensity = 8, spv::ImageChannelOrderLuminance = 9, spv::ImageChannelOrderRx = 10,
  spv::ImageChannelOrderRGx = 11, spv::ImageChannelOrderRGBx = 12, spv::ImageChannelOrderDepth = 13, spv::ImageChannelOrderDepthStencil = 14,
  spv::ImageChannelOrdersRGB = 15, spv::ImageChannelOrdersRGBx = 16, spv::ImageChannelOrdersRGBA = 17, spv::ImageChannelOrdersBGRA = 18,
  spv::ImageChannelOrderABGR = 19, spv::ImageChannelOrderMax = 0x7fffffff
}
 
enum  spv::ImageChannelDataType {
  spv::ImageChannelDataTypeSnormInt8 = 0, spv::ImageChannelDataTypeSnormInt16 = 1, spv::ImageChannelDataTypeUnormInt8 = 2, spv::ImageChannelDataTypeUnormInt16 = 3,
  spv::ImageChannelDataTypeUnormShort565 = 4, spv::ImageChannelDataTypeUnormShort555 = 5, spv::ImageChannelDataTypeUnormInt101010 = 6, spv::ImageChannelDataTypeSignedInt8 = 7,
  spv::ImageChannelDataTypeSignedInt16 = 8, spv::ImageChannelDataTypeSignedInt32 = 9, spv::ImageChannelDataTypeUnsignedInt8 = 10, spv::ImageChannelDataTypeUnsignedInt16 = 11,
  spv::ImageChannelDataTypeUnsignedInt32 = 12, spv::ImageChannelDataTypeHalfFloat = 13, spv::ImageChannelDataTypeFloat = 14, spv::ImageChannelDataTypeUnormInt24 = 15,
  spv::ImageChannelDataTypeUnormInt101010_2 = 16, spv::ImageChannelDataTypeMax = 0x7fffffff, spv::ImageChannelDataTypeSnormInt8 = 0, spv::ImageChannelDataTypeSnormInt16 = 1,
  spv::ImageChannelDataTypeUnormInt8 = 2, spv::ImageChannelDataTypeUnormInt16 = 3, spv::ImageChannelDataTypeUnormShort565 = 4, spv::ImageChannelDataTypeUnormShort555 = 5,
  spv::ImageChannelDataTypeUnormInt101010 = 6, spv::ImageChannelDataTypeSignedInt8 = 7, spv::ImageChannelDataTypeSignedInt16 = 8, spv::ImageChannelDataTypeSignedInt32 = 9,
  spv::ImageChannelDataTypeUnsignedInt8 = 10, spv::ImageChannelDataTypeUnsignedInt16 = 11, spv::ImageChannelDataTypeUnsignedInt32 = 12, spv::ImageChannelDataTypeHalfFloat = 13,
  spv::ImageChannelDataTypeFloat = 14, spv::ImageChannelDataTypeUnormInt24 = 15, spv::ImageChannelDataTypeUnormInt101010_2 = 16, spv::ImageChannelDataTypeMax = 0x7fffffff
}
 
enum  spv::ImageOperandsShift {
  spv::ImageOperandsBiasShift = 0, spv::ImageOperandsLodShift = 1, spv::ImageOperandsGradShift = 2, spv::ImageOperandsConstOffsetShift = 3,
  spv::ImageOperandsOffsetShift = 4, spv::ImageOperandsConstOffsetsShift = 5, spv::ImageOperandsSampleShift = 6, spv::ImageOperandsMinLodShift = 7,
  spv::ImageOperandsMax = 0x7fffffff, spv::ImageOperandsBiasShift = 0, spv::ImageOperandsLodShift = 1, spv::ImageOperandsGradShift = 2,
  spv::ImageOperandsConstOffsetShift = 3, spv::ImageOperandsOffsetShift = 4, spv::ImageOperandsConstOffsetsShift = 5, spv::ImageOperandsSampleShift = 6,
  spv::ImageOperandsMinLodShift = 7, spv::ImageOperandsMax = 0x7fffffff
}
 
enum  spv::ImageOperandsMask {
  spv::ImageOperandsMaskNone = 0, spv::ImageOperandsBiasMask = 0x00000001, spv::ImageOperandsLodMask = 0x00000002, spv::ImageOperandsGradMask = 0x00000004,
  spv::ImageOperandsConstOffsetMask = 0x00000008, spv::ImageOperandsOffsetMask = 0x00000010, spv::ImageOperandsConstOffsetsMask = 0x00000020, spv::ImageOperandsSampleMask = 0x00000040,
  spv::ImageOperandsMinLodMask = 0x00000080, spv::ImageOperandsMaskNone = 0, spv::ImageOperandsBiasMask = 0x00000001, spv::ImageOperandsLodMask = 0x00000002,
  spv::ImageOperandsGradMask = 0x00000004, spv::ImageOperandsConstOffsetMask = 0x00000008, spv::ImageOperandsOffsetMask = 0x00000010, spv::ImageOperandsConstOffsetsMask = 0x00000020,
  spv::ImageOperandsSampleMask = 0x00000040, spv::ImageOperandsMinLodMask = 0x00000080
}
 
enum  spv::FPFastMathModeShift {
  spv::FPFastMathModeNotNaNShift = 0, spv::FPFastMathModeNotInfShift = 1, spv::FPFastMathModeNSZShift = 2, spv::FPFastMathModeAllowRecipShift = 3,
  spv::FPFastMathModeFastShift = 4, spv::FPFastMathModeMax = 0x7fffffff, spv::FPFastMathModeNotNaNShift = 0, spv::FPFastMathModeNotInfShift = 1,
  spv::FPFastMathModeNSZShift = 2, spv::FPFastMathModeAllowRecipShift = 3, spv::FPFastMathModeFastShift = 4, spv::FPFastMathModeMax = 0x7fffffff
}
 
enum  spv::FPFastMathModeMask {
  spv::FPFastMathModeMaskNone = 0, spv::FPFastMathModeNotNaNMask = 0x00000001, spv::FPFastMathModeNotInfMask = 0x00000002, spv::FPFastMathModeNSZMask = 0x00000004,
  spv::FPFastMathModeAllowRecipMask = 0x00000008, spv::FPFastMathModeFastMask = 0x00000010, spv::FPFastMathModeMaskNone = 0, spv::FPFastMathModeNotNaNMask = 0x00000001,
  spv::FPFastMathModeNotInfMask = 0x00000002, spv::FPFastMathModeNSZMask = 0x00000004, spv::FPFastMathModeAllowRecipMask = 0x00000008, spv::FPFastMathModeFastMask = 0x00000010
}
 
enum  spv::FPRoundingMode {
  spv::FPRoundingModeRTE = 0, spv::FPRoundingModeRTZ = 1, spv::FPRoundingModeRTP = 2, spv::FPRoundingModeRTN = 3,
  spv::FPRoundingModeMax = 0x7fffffff, spv::FPRoundingModeRTE = 0, spv::FPRoundingModeRTZ = 1, spv::FPRoundingModeRTP = 2,
  spv::FPRoundingModeRTN = 3, spv::FPRoundingModeMax = 0x7fffffff
}
 
enum  spv::LinkageType {
  spv::LinkageTypeExport = 0, spv::LinkageTypeImport = 1, spv::LinkageTypeMax = 0x7fffffff, spv::LinkageTypeExport = 0,
  spv::LinkageTypeImport = 1, spv::LinkageTypeMax = 0x7fffffff
}
 
enum  spv::AccessQualifier {
  spv::AccessQualifierReadOnly = 0, spv::AccessQualifierWriteOnly = 1, spv::AccessQualifierReadWrite = 2, spv::AccessQualifierMax = 0x7fffffff,
  spv::AccessQualifierReadOnly = 0, spv::AccessQualifierWriteOnly = 1, spv::AccessQualifierReadWrite = 2, spv::AccessQualifierMax = 0x7fffffff
}
 
enum  spv::FunctionParameterAttribute {
  spv::FunctionParameterAttributeZext = 0, spv::FunctionParameterAttributeSext = 1, spv::FunctionParameterAttributeByVal = 2, spv::FunctionParameterAttributeSret = 3,
  spv::FunctionParameterAttributeNoAlias = 4, spv::FunctionParameterAttributeNoCapture = 5, spv::FunctionParameterAttributeNoWrite = 6, spv::FunctionParameterAttributeNoReadWrite = 7,
  spv::FunctionParameterAttributeMax = 0x7fffffff, spv::FunctionParameterAttributeZext = 0, spv::FunctionParameterAttributeSext = 1, spv::FunctionParameterAttributeByVal = 2,
  spv::FunctionParameterAttributeSret = 3, spv::FunctionParameterAttributeNoAlias = 4, spv::FunctionParameterAttributeNoCapture = 5, spv::FunctionParameterAttributeNoWrite = 6,
  spv::FunctionParameterAttributeNoReadWrite = 7, spv::FunctionParameterAttributeMax = 0x7fffffff
}
 
enum  spv::Decoration {
  spv::DecorationRelaxedPrecision = 0, spv::DecorationSpecId = 1, spv::DecorationBlock = 2, spv::DecorationBufferBlock = 3,
  spv::DecorationRowMajor = 4, spv::DecorationColMajor = 5, spv::DecorationArrayStride = 6, spv::DecorationMatrixStride = 7,
  spv::DecorationGLSLShared = 8, spv::DecorationGLSLPacked = 9, spv::DecorationCPacked = 10, spv::DecorationBuiltIn = 11,
  spv::DecorationNoPerspective = 13, spv::DecorationFlat = 14, spv::DecorationPatch = 15, spv::DecorationCentroid = 16,
  spv::DecorationSample = 17, spv::DecorationInvariant = 18, spv::DecorationRestrict = 19, spv::DecorationAliased = 20,
  spv::DecorationVolatile = 21, spv::DecorationConstant = 22, spv::DecorationCoherent = 23, spv::DecorationNonWritable = 24,
  spv::DecorationNonReadable = 25, spv::DecorationUniform = 26, spv::DecorationSaturatedConversion = 28, spv::DecorationStream = 29,
  spv::DecorationLocation = 30, spv::DecorationComponent = 31, spv::DecorationIndex = 32, spv::DecorationBinding = 33,
  spv::DecorationDescriptorSet = 34, spv::DecorationOffset = 35, spv::DecorationXfbBuffer = 36, spv::DecorationXfbStride = 37,
  spv::DecorationFuncParamAttr = 38, spv::DecorationFPRoundingMode = 39, spv::DecorationFPFastMathMode = 40, spv::DecorationLinkageAttributes = 41,
  spv::DecorationNoContraction = 42, spv::DecorationInputAttachmentIndex = 43, spv::DecorationAlignment = 44, spv::DecorationMaxByteOffset = 45,
  spv::DecorationAlignmentId = 46, spv::DecorationMaxByteOffsetId = 47, spv::DecorationExplicitInterpAMD = 4999, spv::DecorationOverrideCoverageNV = 5248,
  spv::DecorationPassthroughNV = 5250, spv::DecorationViewportRelativeNV = 5252, spv::DecorationSecondaryViewportRelativeNV = 5256, spv::DecorationNonUniformEXT = 5300,
  spv::DecorationHlslCounterBufferGOOGLE = 5634, spv::DecorationHlslSemanticGOOGLE = 5635, spv::DecorationMax = 0x7fffffff, spv::DecorationRelaxedPrecision = 0,
  spv::DecorationSpecId = 1, spv::DecorationBlock = 2, spv::DecorationBufferBlock = 3, spv::DecorationRowMajor = 4,
  spv::DecorationColMajor = 5, spv::DecorationArrayStride = 6, spv::DecorationMatrixStride = 7, spv::DecorationGLSLShared = 8,
  spv::DecorationGLSLPacked = 9, spv::DecorationCPacked = 10, spv::DecorationBuiltIn = 11, spv::DecorationNoPerspective = 13,
  spv::DecorationFlat = 14, spv::DecorationPatch = 15, spv::DecorationCentroid = 16, spv::DecorationSample = 17,
  spv::DecorationInvariant = 18, spv::DecorationRestrict = 19, spv::DecorationAliased = 20, spv::DecorationVolatile = 21,
  spv::DecorationConstant = 22, spv::DecorationCoherent = 23, spv::DecorationNonWritable = 24, spv::DecorationNonReadable = 25,
  spv::DecorationUniform = 26, spv::DecorationSaturatedConversion = 28, spv::DecorationStream = 29, spv::DecorationLocation = 30,
  spv::DecorationComponent = 31, spv::DecorationIndex = 32, spv::DecorationBinding = 33, spv::DecorationDescriptorSet = 34,
  spv::DecorationOffset = 35, spv::DecorationXfbBuffer = 36, spv::DecorationXfbStride = 37, spv::DecorationFuncParamAttr = 38,
  spv::DecorationFPRoundingMode = 39, spv::DecorationFPFastMathMode = 40, spv::DecorationLinkageAttributes = 41, spv::DecorationNoContraction = 42,
  spv::DecorationInputAttachmentIndex = 43, spv::DecorationAlignment = 44, spv::DecorationMaxByteOffset = 45, spv::DecorationAlignmentId = 46,
  spv::DecorationMaxByteOffsetId = 47, spv::DecorationExplicitInterpAMD = 4999, spv::DecorationOverrideCoverageNV = 5248, spv::DecorationPassthroughNV = 5250,
  spv::DecorationViewportRelativeNV = 5252, spv::DecorationSecondaryViewportRelativeNV = 5256, spv::DecorationHlslCounterBufferGOOGLE = 5634, spv::DecorationHlslSemanticGOOGLE = 5635,
  spv::DecorationMax = 0x7fffffff
}
 
enum  spv::BuiltIn {
  spv::BuiltInPosition = 0, spv::BuiltInPointSize = 1, spv::BuiltInClipDistance = 3, spv::BuiltInCullDistance = 4,
  spv::BuiltInVertexId = 5, spv::BuiltInInstanceId = 6, spv::BuiltInPrimitiveId = 7, spv::BuiltInInvocationId = 8,
  spv::BuiltInLayer = 9, spv::BuiltInViewportIndex = 10, spv::BuiltInTessLevelOuter = 11, spv::BuiltInTessLevelInner = 12,
  spv::BuiltInTessCoord = 13, spv::BuiltInPatchVertices = 14, spv::BuiltInFragCoord = 15, spv::BuiltInPointCoord = 16,
  spv::BuiltInFrontFacing = 17, spv::BuiltInSampleId = 18, spv::BuiltInSamplePosition = 19, spv::BuiltInSampleMask = 20,
  spv::BuiltInFragDepth = 22, spv::BuiltInHelperInvocation = 23, spv::BuiltInNumWorkgroups = 24, spv::BuiltInWorkgroupSize = 25,
  spv::BuiltInWorkgroupId = 26, spv::BuiltInLocalInvocationId = 27, spv::BuiltInGlobalInvocationId = 28, spv::BuiltInLocalInvocationIndex = 29,
  spv::BuiltInWorkDim = 30, spv::BuiltInGlobalSize = 31, spv::BuiltInEnqueuedWorkgroupSize = 32, spv::BuiltInGlobalOffset = 33,
  spv::BuiltInGlobalLinearId = 34, spv::BuiltInSubgroupSize = 36, spv::BuiltInSubgroupMaxSize = 37, spv::BuiltInNumSubgroups = 38,
  spv::BuiltInNumEnqueuedSubgroups = 39, spv::BuiltInSubgroupId = 40, spv::BuiltInSubgroupLocalInvocationId = 41, spv::BuiltInVertexIndex = 42,
  spv::BuiltInInstanceIndex = 43, spv::BuiltInSubgroupEqMask = 4416, spv::BuiltInSubgroupEqMaskKHR = 4416, spv::BuiltInSubgroupGeMask = 4417,
  spv::BuiltInSubgroupGeMaskKHR = 4417, spv::BuiltInSubgroupGtMask = 4418, spv::BuiltInSubgroupGtMaskKHR = 4418, spv::BuiltInSubgroupLeMask = 4419,
  spv::BuiltInSubgroupLeMaskKHR = 4419, spv::BuiltInSubgroupLtMask = 4420, spv::BuiltInSubgroupLtMaskKHR = 4420, spv::BuiltInBaseVertex = 4424,
  spv::BuiltInBaseInstance = 4425, spv::BuiltInDrawIndex = 4426, spv::BuiltInDeviceIndex = 4438, spv::BuiltInViewIndex = 4440,
  spv::BuiltInBaryCoordNoPerspAMD = 4992, spv::BuiltInBaryCoordNoPerspCentroidAMD = 4993, spv::BuiltInBaryCoordNoPerspSampleAMD = 4994, spv::BuiltInBaryCoordSmoothAMD = 4995,
  spv::BuiltInBaryCoordSmoothCentroidAMD = 4996, spv::BuiltInBaryCoordSmoothSampleAMD = 4997, spv::BuiltInBaryCoordPullModelAMD = 4998, spv::BuiltInFragStencilRefEXT = 5014,
  spv::BuiltInViewportMaskNV = 5253, spv::BuiltInSecondaryPositionNV = 5257, spv::BuiltInSecondaryViewportMaskNV = 5258, spv::BuiltInPositionPerViewNV = 5261,
  spv::BuiltInViewportMaskPerViewNV = 5262, spv::BuiltInFullyCoveredEXT = 5264, spv::BuiltInMax = 0x7fffffff, spv::BuiltInPosition = 0,
  spv::BuiltInPointSize = 1, spv::BuiltInClipDistance = 3, spv::BuiltInCullDistance = 4, spv::BuiltInVertexId = 5,
  spv::BuiltInInstanceId = 6, spv::BuiltInPrimitiveId = 7, spv::BuiltInInvocationId = 8, spv::BuiltInLayer = 9,
  spv::BuiltInViewportIndex = 10, spv::BuiltInTessLevelOuter = 11, spv::BuiltInTessLevelInner = 12, spv::BuiltInTessCoord = 13,
  spv::BuiltInPatchVertices = 14, spv::BuiltInFragCoord = 15, spv::BuiltInPointCoord = 16, spv::BuiltInFrontFacing = 17,
  spv::BuiltInSampleId = 18, spv::BuiltInSamplePosition = 19, spv::BuiltInSampleMask = 20, spv::BuiltInFragDepth = 22,
  spv::BuiltInHelperInvocation = 23, spv::BuiltInNumWorkgroups = 24, spv::BuiltInWorkgroupSize = 25, spv::BuiltInWorkgroupId = 26,
  spv::BuiltInLocalInvocationId = 27, spv::BuiltInGlobalInvocationId = 28, spv::BuiltInLocalInvocationIndex = 29, spv::BuiltInWorkDim = 30,
  spv::BuiltInGlobalSize = 31, spv::BuiltInEnqueuedWorkgroupSize = 32, spv::BuiltInGlobalOffset = 33, spv::BuiltInGlobalLinearId = 34,
  spv::BuiltInSubgroupSize = 36, spv::BuiltInSubgroupMaxSize = 37, spv::BuiltInNumSubgroups = 38, spv::BuiltInNumEnqueuedSubgroups = 39,
  spv::BuiltInSubgroupId = 40, spv::BuiltInSubgroupLocalInvocationId = 41, spv::BuiltInVertexIndex = 42, spv::BuiltInInstanceIndex = 43,
  spv::BuiltInSubgroupEqMask = 4416, spv::BuiltInSubgroupEqMaskKHR = 4416, spv::BuiltInSubgroupGeMask = 4417, spv::BuiltInSubgroupGeMaskKHR = 4417,
  spv::BuiltInSubgroupGtMask = 4418, spv::BuiltInSubgroupGtMaskKHR = 4418, spv::BuiltInSubgroupLeMask = 4419, spv::BuiltInSubgroupLeMaskKHR = 4419,
  spv::BuiltInSubgroupLtMask = 4420, spv::BuiltInSubgroupLtMaskKHR = 4420, spv::BuiltInBaseVertex = 4424, spv::BuiltInBaseInstance = 4425,
  spv::BuiltInDrawIndex = 4426, spv::BuiltInDeviceIndex = 4438, spv::BuiltInViewIndex = 4440, spv::BuiltInBaryCoordNoPerspAMD = 4992,
  spv::BuiltInBaryCoordNoPerspCentroidAMD = 4993, spv::BuiltInBaryCoordNoPerspSampleAMD = 4994, spv::BuiltInBaryCoordSmoothAMD = 4995, spv::BuiltInBaryCoordSmoothCentroidAMD = 4996,
  spv::BuiltInBaryCoordSmoothSampleAMD = 4997, spv::BuiltInBaryCoordPullModelAMD = 4998, spv::BuiltInFragStencilRefEXT = 5014, spv::BuiltInViewportMaskNV = 5253,
  spv::BuiltInSecondaryPositionNV = 5257, spv::BuiltInSecondaryViewportMaskNV = 5258, spv::BuiltInPositionPerViewNV = 5261, spv::BuiltInViewportMaskPerViewNV = 5262,
  spv::BuiltInFullyCoveredEXT = 5264, spv::BuiltInMax = 0x7fffffff
}
 
enum  spv::SelectionControlShift {
  spv::SelectionControlFlattenShift = 0, spv::SelectionControlDontFlattenShift = 1, spv::SelectionControlMax = 0x7fffffff, spv::SelectionControlFlattenShift = 0,
  spv::SelectionControlDontFlattenShift = 1, spv::SelectionControlMax = 0x7fffffff
}
 
enum  spv::SelectionControlMask {
  spv::SelectionControlMaskNone = 0, spv::SelectionControlFlattenMask = 0x00000001, spv::SelectionControlDontFlattenMask = 0x00000002, spv::SelectionControlMaskNone = 0,
  spv::SelectionControlFlattenMask = 0x00000001, spv::SelectionControlDontFlattenMask = 0x00000002
}
 
enum  spv::LoopControlShift {
  spv::LoopControlUnrollShift = 0, spv::LoopControlDontUnrollShift = 1, spv::LoopControlDependencyInfiniteShift = 2, spv::LoopControlDependencyLengthShift = 3,
  spv::LoopControlMax = 0x7fffffff, spv::LoopControlUnrollShift = 0, spv::LoopControlDontUnrollShift = 1, spv::LoopControlDependencyInfiniteShift = 2,
  spv::LoopControlDependencyLengthShift = 3, spv::LoopControlMax = 0x7fffffff
}
 
enum  spv::LoopControlMask {
  spv::LoopControlMaskNone = 0, spv::LoopControlUnrollMask = 0x00000001, spv::LoopControlDontUnrollMask = 0x00000002, spv::LoopControlDependencyInfiniteMask = 0x00000004,
  spv::LoopControlDependencyLengthMask = 0x00000008, spv::LoopControlMaskNone = 0, spv::LoopControlUnrollMask = 0x00000001, spv::LoopControlDontUnrollMask = 0x00000002,
  spv::LoopControlDependencyInfiniteMask = 0x00000004, spv::LoopControlDependencyLengthMask = 0x00000008
}
 
enum  spv::FunctionControlShift {
  spv::FunctionControlInlineShift = 0, spv::FunctionControlDontInlineShift = 1, spv::FunctionControlPureShift = 2, spv::FunctionControlConstShift = 3,
  spv::FunctionControlMax = 0x7fffffff, spv::FunctionControlInlineShift = 0, spv::FunctionControlDontInlineShift = 1, spv::FunctionControlPureShift = 2,
  spv::FunctionControlConstShift = 3, spv::FunctionControlMax = 0x7fffffff
}
 
enum  spv::FunctionControlMask {
  spv::FunctionControlMaskNone = 0, spv::FunctionControlInlineMask = 0x00000001, spv::FunctionControlDontInlineMask = 0x00000002, spv::FunctionControlPureMask = 0x00000004,
  spv::FunctionControlConstMask = 0x00000008, spv::FunctionControlMaskNone = 0, spv::FunctionControlInlineMask = 0x00000001, spv::FunctionControlDontInlineMask = 0x00000002,
  spv::FunctionControlPureMask = 0x00000004, spv::FunctionControlConstMask = 0x00000008
}
 
enum  spv::MemorySemanticsShift {
  spv::MemorySemanticsAcquireShift = 1, spv::MemorySemanticsReleaseShift = 2, spv::MemorySemanticsAcquireReleaseShift = 3, spv::MemorySemanticsSequentiallyConsistentShift = 4,
  spv::MemorySemanticsUniformMemoryShift = 6, spv::MemorySemanticsSubgroupMemoryShift = 7, spv::MemorySemanticsWorkgroupMemoryShift = 8, spv::MemorySemanticsCrossWorkgroupMemoryShift = 9,
  spv::MemorySemanticsAtomicCounterMemoryShift = 10, spv::MemorySemanticsImageMemoryShift = 11, spv::MemorySemanticsMax = 0x7fffffff, spv::MemorySemanticsAcquireShift = 1,
  spv::MemorySemanticsReleaseShift = 2, spv::MemorySemanticsAcquireReleaseShift = 3, spv::MemorySemanticsSequentiallyConsistentShift = 4, spv::MemorySemanticsUniformMemoryShift = 6,
  spv::MemorySemanticsSubgroupMemoryShift = 7, spv::MemorySemanticsWorkgroupMemoryShift = 8, spv::MemorySemanticsCrossWorkgroupMemoryShift = 9, spv::MemorySemanticsAtomicCounterMemoryShift = 10,
  spv::MemorySemanticsImageMemoryShift = 11, spv::MemorySemanticsMax = 0x7fffffff
}
 
enum  spv::MemorySemanticsMask {
  spv::MemorySemanticsMaskNone = 0, spv::MemorySemanticsAcquireMask = 0x00000002, spv::MemorySemanticsReleaseMask = 0x00000004, spv::MemorySemanticsAcquireReleaseMask = 0x00000008,
  spv::MemorySemanticsSequentiallyConsistentMask = 0x00000010, spv::MemorySemanticsUniformMemoryMask = 0x00000040, spv::MemorySemanticsSubgroupMemoryMask = 0x00000080, spv::MemorySemanticsWorkgroupMemoryMask = 0x00000100,
  spv::MemorySemanticsCrossWorkgroupMemoryMask = 0x00000200, spv::MemorySemanticsAtomicCounterMemoryMask = 0x00000400, spv::MemorySemanticsImageMemoryMask = 0x00000800, spv::MemorySemanticsMaskNone = 0,
  spv::MemorySemanticsAcquireMask = 0x00000002, spv::MemorySemanticsReleaseMask = 0x00000004, spv::MemorySemanticsAcquireReleaseMask = 0x00000008, spv::MemorySemanticsSequentiallyConsistentMask = 0x00000010,
  spv::MemorySemanticsUniformMemoryMask = 0x00000040, spv::MemorySemanticsSubgroupMemoryMask = 0x00000080, spv::MemorySemanticsWorkgroupMemoryMask = 0x00000100, spv::MemorySemanticsCrossWorkgroupMemoryMask = 0x00000200,
  spv::MemorySemanticsAtomicCounterMemoryMask = 0x00000400, spv::MemorySemanticsImageMemoryMask = 0x00000800
}
 
enum  spv::MemoryAccessShift {
  spv::MemoryAccessVolatileShift = 0, spv::MemoryAccessAlignedShift = 1, spv::MemoryAccessNontemporalShift = 2, spv::MemoryAccessMax = 0x7fffffff,
  spv::MemoryAccessVolatileShift = 0, spv::MemoryAccessAlignedShift = 1, spv::MemoryAccessNontemporalShift = 2, spv::MemoryAccessMax = 0x7fffffff
}
 
enum  spv::MemoryAccessMask {
  spv::MemoryAccessMaskNone = 0, spv::MemoryAccessVolatileMask = 0x00000001, spv::MemoryAccessAlignedMask = 0x00000002, spv::MemoryAccessNontemporalMask = 0x00000004,
  spv::MemoryAccessMaskNone = 0, spv::MemoryAccessVolatileMask = 0x00000001, spv::MemoryAccessAlignedMask = 0x00000002, spv::MemoryAccessNontemporalMask = 0x00000004
}
 
enum  spv::Scope {
  spv::ScopeCrossDevice = 0, spv::ScopeDevice = 1, spv::ScopeWorkgroup = 2, spv::ScopeSubgroup = 3,
  spv::ScopeInvocation = 4, spv::ScopeMax = 0x7fffffff, spv::ScopeCrossDevice = 0, spv::ScopeDevice = 1,
  spv::ScopeWorkgroup = 2, spv::ScopeSubgroup = 3, spv::ScopeInvocation = 4, spv::ScopeMax = 0x7fffffff
}
 
enum  spv::GroupOperation {
  spv::GroupOperationReduce = 0, spv::GroupOperationInclusiveScan = 1, spv::GroupOperationExclusiveScan = 2, spv::GroupOperationClusteredReduce = 3,
  spv::GroupOperationPartitionedReduceNV = 6, spv::GroupOperationPartitionedInclusiveScanNV = 7, spv::GroupOperationPartitionedExclusiveScanNV = 8, spv::GroupOperationMax = 0x7fffffff,
  spv::GroupOperationReduce = 0, spv::GroupOperationInclusiveScan = 1, spv::GroupOperationExclusiveScan = 2, spv::GroupOperationClusteredReduce = 3,
  spv::GroupOperationMax = 0x7fffffff
}
 
enum  spv::KernelEnqueueFlags {
  spv::KernelEnqueueFlagsNoWait = 0, spv::KernelEnqueueFlagsWaitKernel = 1, spv::KernelEnqueueFlagsWaitWorkGroup = 2, spv::KernelEnqueueFlagsMax = 0x7fffffff,
  spv::KernelEnqueueFlagsNoWait = 0, spv::KernelEnqueueFlagsWaitKernel = 1, spv::KernelEnqueueFlagsWaitWorkGroup = 2, spv::KernelEnqueueFlagsMax = 0x7fffffff
}
 
enum  spv::KernelProfilingInfoShift { spv::KernelProfilingInfoCmdExecTimeShift = 0, spv::KernelProfilingInfoMax = 0x7fffffff, spv::KernelProfilingInfoCmdExecTimeShift = 0, spv::KernelProfilingInfoMax = 0x7fffffff }
 
enum  spv::KernelProfilingInfoMask { spv::KernelProfilingInfoMaskNone = 0, spv::KernelProfilingInfoCmdExecTimeMask = 0x00000001, spv::KernelProfilingInfoMaskNone = 0, spv::KernelProfilingInfoCmdExecTimeMask = 0x00000001 }
 
enum  spv::Capability {
  spv::CapabilityMatrix = 0, spv::CapabilityShader = 1, spv::CapabilityGeometry = 2, spv::CapabilityTessellation = 3,
  spv::CapabilityAddresses = 4, spv::CapabilityLinkage = 5, spv::CapabilityKernel = 6, spv::CapabilityVector16 = 7,
  spv::CapabilityFloat16Buffer = 8, spv::CapabilityFloat16 = 9, spv::CapabilityFloat64 = 10, spv::CapabilityInt64 = 11,
  spv::CapabilityInt64Atomics = 12, spv::CapabilityImageBasic = 13, spv::CapabilityImageReadWrite = 14, spv::CapabilityImageMipmap = 15,
  spv::CapabilityPipes = 17, spv::CapabilityGroups = 18, spv::CapabilityDeviceEnqueue = 19, spv::CapabilityLiteralSampler = 20,
  spv::CapabilityAtomicStorage = 21, spv::CapabilityInt16 = 22, spv::CapabilityTessellationPointSize = 23, spv::CapabilityGeometryPointSize = 24,
  spv::CapabilityImageGatherExtended = 25, spv::CapabilityStorageImageMultisample = 27, spv::CapabilityUniformBufferArrayDynamicIndexing = 28, spv::CapabilitySampledImageArrayDynamicIndexing = 29,
  spv::CapabilityStorageBufferArrayDynamicIndexing = 30, spv::CapabilityStorageImageArrayDynamicIndexing = 31, spv::CapabilityClipDistance = 32, spv::CapabilityCullDistance = 33,
  spv::CapabilityImageCubeArray = 34, spv::CapabilitySampleRateShading = 35, spv::CapabilityImageRect = 36, spv::CapabilitySampledRect = 37,
  spv::CapabilityGenericPointer = 38, spv::CapabilityInt8 = 39, spv::CapabilityInputAttachment = 40, spv::CapabilitySparseResidency = 41,
  spv::CapabilityMinLod = 42, spv::CapabilitySampled1D = 43, spv::CapabilityImage1D = 44, spv::CapabilitySampledCubeArray = 45,
  spv::CapabilitySampledBuffer = 46, spv::CapabilityImageBuffer = 47, spv::CapabilityImageMSArray = 48, spv::CapabilityStorageImageExtendedFormats = 49,
  spv::CapabilityImageQuery = 50, spv::CapabilityDerivativeControl = 51, spv::CapabilityInterpolationFunction = 52, spv::CapabilityTransformFeedback = 53,
  spv::CapabilityGeometryStreams = 54, spv::CapabilityStorageImageReadWithoutFormat = 55, spv::CapabilityStorageImageWriteWithoutFormat = 56, spv::CapabilityMultiViewport = 57,
  spv::CapabilitySubgroupDispatch = 58, spv::CapabilityNamedBarrier = 59, spv::CapabilityPipeStorage = 60, spv::CapabilityGroupNonUniform = 61,
  spv::CapabilityGroupNonUniformVote = 62, spv::CapabilityGroupNonUniformArithmetic = 63, spv::CapabilityGroupNonUniformBallot = 64, spv::CapabilityGroupNonUniformShuffle = 65,
  spv::CapabilityGroupNonUniformShuffleRelative = 66, spv::CapabilityGroupNonUniformClustered = 67, spv::CapabilityGroupNonUniformQuad = 68, spv::CapabilitySubgroupBallotKHR = 4423,
  spv::CapabilityDrawParameters = 4427, spv::CapabilitySubgroupVoteKHR = 4431, spv::CapabilityStorageBuffer16BitAccess = 4433, spv::CapabilityStorageUniformBufferBlock16 = 4433,
  spv::CapabilityStorageUniform16 = 4434, spv::CapabilityUniformAndStorageBuffer16BitAccess = 4434, spv::CapabilityStoragePushConstant16 = 4435, spv::CapabilityStorageInputOutput16 = 4436,
  spv::CapabilityDeviceGroup = 4437, spv::CapabilityMultiView = 4439, spv::CapabilityVariablePointersStorageBuffer = 4441, spv::CapabilityVariablePointers = 4442,
  spv::CapabilityAtomicStorageOps = 4445, spv::CapabilitySampleMaskPostDepthCoverage = 4447, spv::CapabilityFloat16ImageAMD = 5008, spv::CapabilityImageGatherBiasLodAMD = 5009,
  spv::CapabilityFragmentMaskAMD = 5010, spv::CapabilityStencilExportEXT = 5013, spv::CapabilityImageReadWriteLodAMD = 5015, spv::CapabilitySampleMaskOverrideCoverageNV = 5249,
  spv::CapabilityGeometryShaderPassthroughNV = 5251, spv::CapabilityShaderViewportIndexLayerEXT = 5254, spv::CapabilityShaderViewportIndexLayerNV = 5254, spv::CapabilityShaderViewportMaskNV = 5255,
  spv::CapabilityShaderStereoViewNV = 5259, spv::CapabilityPerViewAttributesNV = 5260, spv::CapabilityFragmentFullyCoveredEXT = 5265, spv::CapabilityGroupNonUniformPartitionedNV = 5297,
  spv::CapabilityShaderNonUniformEXT = 5301, spv::CapabilityRuntimeDescriptorArrayEXT = 5302, spv::CapabilityInputAttachmentArrayDynamicIndexingEXT = 5303, spv::CapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304,
  spv::CapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305, spv::CapabilityUniformBufferArrayNonUniformIndexingEXT = 5306, spv::CapabilitySampledImageArrayNonUniformIndexingEXT = 5307, spv::CapabilityStorageBufferArrayNonUniformIndexingEXT = 5308,
  spv::CapabilityStorageImageArrayNonUniformIndexingEXT = 5309, spv::CapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310, spv::CapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311, spv::CapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
  spv::CapabilitySubgroupShuffleINTEL = 5568, spv::CapabilitySubgroupBufferBlockIOINTEL = 5569, spv::CapabilitySubgroupImageBlockIOINTEL = 5570, spv::CapabilityMax = 0x7fffffff,
  spv::CapabilityMatrix = 0, spv::CapabilityShader = 1, spv::CapabilityGeometry = 2, spv::CapabilityTessellation = 3,
  spv::CapabilityAddresses = 4, spv::CapabilityLinkage = 5, spv::CapabilityKernel = 6, spv::CapabilityVector16 = 7,
  spv::CapabilityFloat16Buffer = 8, spv::CapabilityFloat16 = 9, spv::CapabilityFloat64 = 10, spv::CapabilityInt64 = 11,
  spv::CapabilityInt64Atomics = 12, spv::CapabilityImageBasic = 13, spv::CapabilityImageReadWrite = 14, spv::CapabilityImageMipmap = 15,
  spv::CapabilityPipes = 17, spv::CapabilityGroups = 18, spv::CapabilityDeviceEnqueue = 19, spv::CapabilityLiteralSampler = 20,
  spv::CapabilityAtomicStorage = 21, spv::CapabilityInt16 = 22, spv::CapabilityTessellationPointSize = 23, spv::CapabilityGeometryPointSize = 24,
  spv::CapabilityImageGatherExtended = 25, spv::CapabilityStorageImageMultisample = 27, spv::CapabilityUniformBufferArrayDynamicIndexing = 28, spv::CapabilitySampledImageArrayDynamicIndexing = 29,
  spv::CapabilityStorageBufferArrayDynamicIndexing = 30, spv::CapabilityStorageImageArrayDynamicIndexing = 31, spv::CapabilityClipDistance = 32, spv::CapabilityCullDistance = 33,
  spv::CapabilityImageCubeArray = 34, spv::CapabilitySampleRateShading = 35, spv::CapabilityImageRect = 36, spv::CapabilitySampledRect = 37,
  spv::CapabilityGenericPointer = 38, spv::CapabilityInt8 = 39, spv::CapabilityInputAttachment = 40, spv::CapabilitySparseResidency = 41,
  spv::CapabilityMinLod = 42, spv::CapabilitySampled1D = 43, spv::CapabilityImage1D = 44, spv::CapabilitySampledCubeArray = 45,
  spv::CapabilitySampledBuffer = 46, spv::CapabilityImageBuffer = 47, spv::CapabilityImageMSArray = 48, spv::CapabilityStorageImageExtendedFormats = 49,
  spv::CapabilityImageQuery = 50, spv::CapabilityDerivativeControl = 51, spv::CapabilityInterpolationFunction = 52, spv::CapabilityTransformFeedback = 53,
  spv::CapabilityGeometryStreams = 54, spv::CapabilityStorageImageReadWithoutFormat = 55, spv::CapabilityStorageImageWriteWithoutFormat = 56, spv::CapabilityMultiViewport = 57,
  spv::CapabilitySubgroupDispatch = 58, spv::CapabilityNamedBarrier = 59, spv::CapabilityPipeStorage = 60, spv::CapabilityGroupNonUniform = 61,
  spv::CapabilityGroupNonUniformVote = 62, spv::CapabilityGroupNonUniformArithmetic = 63, spv::CapabilityGroupNonUniformBallot = 64, spv::CapabilityGroupNonUniformShuffle = 65,
  spv::CapabilityGroupNonUniformShuffleRelative = 66, spv::CapabilityGroupNonUniformClustered = 67, spv::CapabilityGroupNonUniformQuad = 68, spv::CapabilitySubgroupBallotKHR = 4423,
  spv::CapabilityDrawParameters = 4427, spv::CapabilitySubgroupVoteKHR = 4431, spv::CapabilityStorageBuffer16BitAccess = 4433, spv::CapabilityStorageUniformBufferBlock16 = 4433,
  spv::CapabilityStorageUniform16 = 4434, spv::CapabilityUniformAndStorageBuffer16BitAccess = 4434, spv::CapabilityStoragePushConstant16 = 4435, spv::CapabilityStorageInputOutput16 = 4436,
  spv::CapabilityDeviceGroup = 4437, spv::CapabilityMultiView = 4439, spv::CapabilityVariablePointersStorageBuffer = 4441, spv::CapabilityVariablePointers = 4442,
  spv::CapabilityAtomicStorageOps = 4445, spv::CapabilitySampleMaskPostDepthCoverage = 4447, spv::CapabilityFloat16ImageAMD = 5008, spv::CapabilityImageGatherBiasLodAMD = 5009,
  spv::CapabilityFragmentMaskAMD = 5010, spv::CapabilityStencilExportEXT = 5013, spv::CapabilityImageReadWriteLodAMD = 5015, spv::CapabilitySampleMaskOverrideCoverageNV = 5249,
  spv::CapabilityGeometryShaderPassthroughNV = 5251, spv::CapabilityShaderViewportIndexLayerEXT = 5254, spv::CapabilityShaderViewportIndexLayerNV = 5254, spv::CapabilityShaderViewportMaskNV = 5255,
  spv::CapabilityShaderStereoViewNV = 5259, spv::CapabilityPerViewAttributesNV = 5260, spv::CapabilityFragmentFullyCoveredEXT = 5265, spv::CapabilitySubgroupShuffleINTEL = 5568,
  spv::CapabilitySubgroupBufferBlockIOINTEL = 5569, spv::CapabilitySubgroupImageBlockIOINTEL = 5570, spv::CapabilityMax = 0x7fffffff
}
 
enum  spv::Op {
  spv::OpNop = 0, spv::OpUndef = 1, spv::OpSourceContinued = 2, spv::OpSource = 3,
  spv::OpSourceExtension = 4, spv::OpName = 5, spv::OpMemberName = 6, spv::OpString = 7,
  spv::OpLine = 8, spv::OpExtension = 10, spv::OpExtInstImport = 11, spv::OpExtInst = 12,
  spv::OpMemoryModel = 14, spv::OpEntryPoint = 15, spv::OpExecutionMode = 16, spv::OpCapability = 17,
  spv::OpTypeVoid = 19, spv::OpTypeBool = 20, spv::OpTypeInt = 21, spv::OpTypeFloat = 22,
  spv::OpTypeVector = 23, spv::OpTypeMatrix = 24, spv::OpTypeImage = 25, spv::OpTypeSampler = 26,
  spv::OpTypeSampledImage = 27, spv::OpTypeArray = 28, spv::OpTypeRuntimeArray = 29, spv::OpTypeStruct = 30,
  spv::OpTypeOpaque = 31, spv::OpTypePointer = 32, spv::OpTypeFunction = 33, spv::OpTypeEvent = 34,
  spv::OpTypeDeviceEvent = 35, spv::OpTypeReserveId = 36, spv::OpTypeQueue = 37, spv::OpTypePipe = 38,
  spv::OpTypeForwardPointer = 39, spv::OpConstantTrue = 41, spv::OpConstantFalse = 42, spv::OpConstant = 43,
  spv::OpConstantComposite = 44, spv::OpConstantSampler = 45, spv::OpConstantNull = 46, spv::OpSpecConstantTrue = 48,
  spv::OpSpecConstantFalse = 49, spv::OpSpecConstant = 50, spv::OpSpecConstantComposite = 51, spv::OpSpecConstantOp = 52,
  spv::OpFunction = 54, spv::OpFunctionParameter = 55, spv::OpFunctionEnd = 56, spv::OpFunctionCall = 57,
  spv::OpVariable = 59, spv::OpImageTexelPointer = 60, spv::OpLoad = 61, spv::OpStore = 62,
  spv::OpCopyMemory = 63, spv::OpCopyMemorySized = 64, spv::OpAccessChain = 65, spv::OpInBoundsAccessChain = 66,
  spv::OpPtrAccessChain = 67, spv::OpArrayLength = 68, spv::OpGenericPtrMemSemantics = 69, spv::OpInBoundsPtrAccessChain = 70,
  spv::OpDecorate = 71, spv::OpMemberDecorate = 72, spv::OpDecorationGroup = 73, spv::OpGroupDecorate = 74,
  spv::OpGroupMemberDecorate = 75, spv::OpVectorExtractDynamic = 77, spv::OpVectorInsertDynamic = 78, spv::OpVectorShuffle = 79,
  spv::OpCompositeConstruct = 80, spv::OpCompositeExtract = 81, spv::OpCompositeInsert = 82, spv::OpCopyObject = 83,
  spv::OpTranspose = 84, spv::OpSampledImage = 86, spv::OpImageSampleImplicitLod = 87, spv::OpImageSampleExplicitLod = 88,
  spv::OpImageSampleDrefImplicitLod = 89, spv::OpImageSampleDrefExplicitLod = 90, spv::OpImageSampleProjImplicitLod = 91, spv::OpImageSampleProjExplicitLod = 92,
  spv::OpImageSampleProjDrefImplicitLod = 93, spv::OpImageSampleProjDrefExplicitLod = 94, spv::OpImageFetch = 95, spv::OpImageGather = 96,
  spv::OpImageDrefGather = 97, spv::OpImageRead = 98, spv::OpImageWrite = 99, spv::OpImage = 100,
  spv::OpImageQueryFormat = 101, spv::OpImageQueryOrder = 102, spv::OpImageQuerySizeLod = 103, spv::OpImageQuerySize = 104,
  spv::OpImageQueryLod = 105, spv::OpImageQueryLevels = 106, spv::OpImageQuerySamples = 107, spv::OpConvertFToU = 109,
  spv::OpConvertFToS = 110, spv::OpConvertSToF = 111, spv::OpConvertUToF = 112, spv::OpUConvert = 113,
  spv::OpSConvert = 114, spv::OpFConvert = 115, spv::OpQuantizeToF16 = 116, spv::OpConvertPtrToU = 117,
  spv::OpSatConvertSToU = 118, spv::OpSatConvertUToS = 119, spv::OpConvertUToPtr = 120, spv::OpPtrCastToGeneric = 121,
  spv::OpGenericCastToPtr = 122, spv::OpGenericCastToPtrExplicit = 123, spv::OpBitcast = 124, spv::OpSNegate = 126,
  spv::OpFNegate = 127, spv::OpIAdd = 128, spv::OpFAdd = 129, spv::OpISub = 130,
  spv::OpFSub = 131, spv::OpIMul = 132, spv::OpFMul = 133, spv::OpUDiv = 134,
  spv::OpSDiv = 135, spv::OpFDiv = 136, spv::OpUMod = 137, spv::OpSRem = 138,
  spv::OpSMod = 139, spv::OpFRem = 140, spv::OpFMod = 141, spv::OpVectorTimesScalar = 142,
  spv::OpMatrixTimesScalar = 143, spv::OpVectorTimesMatrix = 144, spv::OpMatrixTimesVector = 145, spv::OpMatrixTimesMatrix = 146,
  spv::OpOuterProduct = 147, spv::OpDot = 148, spv::OpIAddCarry = 149, spv::OpISubBorrow = 150,
  spv::OpUMulExtended = 151, spv::OpSMulExtended = 152, spv::OpAny = 154, spv::OpAll = 155,
  spv::OpIsNan = 156, spv::OpIsInf = 157, spv::OpIsFinite = 158, spv::OpIsNormal = 159,
  spv::OpSignBitSet = 160, spv::OpLessOrGreater = 161, spv::OpOrdered = 162, spv::OpUnordered = 163,
  spv::OpLogicalEqual = 164, spv::OpLogicalNotEqual = 165, spv::OpLogicalOr = 166, spv::OpLogicalAnd = 167,
  spv::OpLogicalNot = 168, spv::OpSelect = 169, spv::OpIEqual = 170, spv::OpINotEqual = 171,
  spv::OpUGreaterThan = 172, spv::OpSGreaterThan = 173, spv::OpUGreaterThanEqual = 174, spv::OpSGreaterThanEqual = 175,
  spv::OpULessThan = 176, spv::OpSLessThan = 177, spv::OpULessThanEqual = 178, spv::OpSLessThanEqual = 179,
  spv::OpFOrdEqual = 180, spv::OpFUnordEqual = 181, spv::OpFOrdNotEqual = 182, spv::OpFUnordNotEqual = 183,
  spv::OpFOrdLessThan = 184, spv::OpFUnordLessThan = 185, spv::OpFOrdGreaterThan = 186, spv::OpFUnordGreaterThan = 187,
  spv::OpFOrdLessThanEqual = 188, spv::OpFUnordLessThanEqual = 189, spv::OpFOrdGreaterThanEqual = 190, spv::OpFUnordGreaterThanEqual = 191,
  spv::OpShiftRightLogical = 194, spv::OpShiftRightArithmetic = 195, spv::OpShiftLeftLogical = 196, spv::OpBitwiseOr = 197,
  spv::OpBitwiseXor = 198, spv::OpBitwiseAnd = 199, spv::OpNot = 200, spv::OpBitFieldInsert = 201,
  spv::OpBitFieldSExtract = 202, spv::OpBitFieldUExtract = 203, spv::OpBitReverse = 204, spv::OpBitCount = 205,
  spv::OpDPdx = 207, spv::OpDPdy = 208, spv::OpFwidth = 209, spv::OpDPdxFine = 210,
  spv::OpDPdyFine = 211, spv::OpFwidthFine = 212, spv::OpDPdxCoarse = 213, spv::OpDPdyCoarse = 214,
  spv::OpFwidthCoarse = 215, spv::OpEmitVertex = 218, spv::OpEndPrimitive = 219, spv::OpEmitStreamVertex = 220,
  spv::OpEndStreamPrimitive = 221, spv::OpControlBarrier = 224, spv::OpMemoryBarrier = 225, spv::OpAtomicLoad = 227,
  spv::OpAtomicStore = 228, spv::OpAtomicExchange = 229, spv::OpAtomicCompareExchange = 230, spv::OpAtomicCompareExchangeWeak = 231,
  spv::OpAtomicIIncrement = 232, spv::OpAtomicIDecrement = 233, spv::OpAtomicIAdd = 234, spv::OpAtomicISub = 235,
  spv::OpAtomicSMin = 236, spv::OpAtomicUMin = 237, spv::OpAtomicSMax = 238, spv::OpAtomicUMax = 239,
  spv::OpAtomicAnd = 240, spv::OpAtomicOr = 241, spv::OpAtomicXor = 242, spv::OpPhi = 245,
  spv::OpLoopMerge = 246, spv::OpSelectionMerge = 247, spv::OpLabel = 248, spv::OpBranch = 249,
  spv::OpBranchConditional = 250, spv::OpSwitch = 251, spv::OpKill = 252, spv::OpReturn = 253,
  spv::OpReturnValue = 254, spv::OpUnreachable = 255, spv::OpLifetimeStart = 256, spv::OpLifetimeStop = 257,
  spv::OpGroupAsyncCopy = 259, spv::OpGroupWaitEvents = 260, spv::OpGroupAll = 261, spv::OpGroupAny = 262,
  spv::OpGroupBroadcast = 263, spv::OpGroupIAdd = 264, spv::OpGroupFAdd = 265, spv::OpGroupFMin = 266,
  spv::OpGroupUMin = 267, spv::OpGroupSMin = 268, spv::OpGroupFMax = 269, spv::OpGroupUMax = 270,
  spv::OpGroupSMax = 271, spv::OpReadPipe = 274, spv::OpWritePipe = 275, spv::OpReservedReadPipe = 276,
  spv::OpReservedWritePipe = 277, spv::OpReserveReadPipePackets = 278, spv::OpReserveWritePipePackets = 279, spv::OpCommitReadPipe = 280,
  spv::OpCommitWritePipe = 281, spv::OpIsValidReserveId = 282, spv::OpGetNumPipePackets = 283, spv::OpGetMaxPipePackets = 284,
  spv::OpGroupReserveReadPipePackets = 285, spv::OpGroupReserveWritePipePackets = 286, spv::OpGroupCommitReadPipe = 287, spv::OpGroupCommitWritePipe = 288,
  spv::OpEnqueueMarker = 291, spv::OpEnqueueKernel = 292, spv::OpGetKernelNDrangeSubGroupCount = 293, spv::OpGetKernelNDrangeMaxSubGroupSize = 294,
  spv::OpGetKernelWorkGroupSize = 295, spv::OpGetKernelPreferredWorkGroupSizeMultiple = 296, spv::OpRetainEvent = 297, spv::OpReleaseEvent = 298,
  spv::OpCreateUserEvent = 299, spv::OpIsValidEvent = 300, spv::OpSetUserEventStatus = 301, spv::OpCaptureEventProfilingInfo = 302,
  spv::OpGetDefaultQueue = 303, spv::OpBuildNDRange = 304, spv::OpImageSparseSampleImplicitLod = 305, spv::OpImageSparseSampleExplicitLod = 306,
  spv::OpImageSparseSampleDrefImplicitLod = 307, spv::OpImageSparseSampleDrefExplicitLod = 308, spv::OpImageSparseSampleProjImplicitLod = 309, spv::OpImageSparseSampleProjExplicitLod = 310,
  spv::OpImageSparseSampleProjDrefImplicitLod = 311, spv::OpImageSparseSampleProjDrefExplicitLod = 312, spv::OpImageSparseFetch = 313, spv::OpImageSparseGather = 314,
  spv::OpImageSparseDrefGather = 315, spv::OpImageSparseTexelsResident = 316, spv::OpNoLine = 317, spv::OpAtomicFlagTestAndSet = 318,
  spv::OpAtomicFlagClear = 319, spv::OpImageSparseRead = 320, spv::OpSizeOf = 321, spv::OpTypePipeStorage = 322,
  spv::OpConstantPipeStorage = 323, spv::OpCreatePipeFromPipeStorage = 324, spv::OpGetKernelLocalSizeForSubgroupCount = 325, spv::OpGetKernelMaxNumSubgroups = 326,
  spv::OpTypeNamedBarrier = 327, spv::OpNamedBarrierInitialize = 328, spv::OpMemoryNamedBarrier = 329, spv::OpModuleProcessed = 330,
  spv::OpExecutionModeId = 331, spv::OpDecorateId = 332, spv::OpGroupNonUniformElect = 333, spv::OpGroupNonUniformAll = 334,
  spv::OpGroupNonUniformAny = 335, spv::OpGroupNonUniformAllEqual = 336, spv::OpGroupNonUniformBroadcast = 337, spv::OpGroupNonUniformBroadcastFirst = 338,
  spv::OpGroupNonUniformBallot = 339, spv::OpGroupNonUniformInverseBallot = 340, spv::OpGroupNonUniformBallotBitExtract = 341, spv::OpGroupNonUniformBallotBitCount = 342,
  spv::OpGroupNonUniformBallotFindLSB = 343, spv::OpGroupNonUniformBallotFindMSB = 344, spv::OpGroupNonUniformShuffle = 345, spv::OpGroupNonUniformShuffleXor = 346,
  spv::OpGroupNonUniformShuffleUp = 347, spv::OpGroupNonUniformShuffleDown = 348, spv::OpGroupNonUniformIAdd = 349, spv::OpGroupNonUniformFAdd = 350,
  spv::OpGroupNonUniformIMul = 351, spv::OpGroupNonUniformFMul = 352, spv::OpGroupNonUniformSMin = 353, spv::OpGroupNonUniformUMin = 354,
  spv::OpGroupNonUniformFMin = 355, spv::OpGroupNonUniformSMax = 356, spv::OpGroupNonUniformUMax = 357, spv::OpGroupNonUniformFMax = 358,
  spv::OpGroupNonUniformBitwiseAnd = 359, spv::OpGroupNonUniformBitwiseOr = 360, spv::OpGroupNonUniformBitwiseXor = 361, spv::OpGroupNonUniformLogicalAnd = 362,
  spv::OpGroupNonUniformLogicalOr = 363, spv::OpGroupNonUniformLogicalXor = 364, spv::OpGroupNonUniformQuadBroadcast = 365, spv::OpGroupNonUniformQuadSwap = 366,
  spv::OpSubgroupBallotKHR = 4421, spv::OpSubgroupFirstInvocationKHR = 4422, spv::OpSubgroupAllKHR = 4428, spv::OpSubgroupAnyKHR = 4429,
  spv::OpSubgroupAllEqualKHR = 4430, spv::OpSubgroupReadInvocationKHR = 4432, spv::OpGroupIAddNonUniformAMD = 5000, spv::OpGroupFAddNonUniformAMD = 5001,
  spv::OpGroupFMinNonUniformAMD = 5002, spv::OpGroupUMinNonUniformAMD = 5003, spv::OpGroupSMinNonUniformAMD = 5004, spv::OpGroupFMaxNonUniformAMD = 5005,
  spv::OpGroupUMaxNonUniformAMD = 5006, spv::OpGroupSMaxNonUniformAMD = 5007, spv::OpFragmentMaskFetchAMD = 5011, spv::OpFragmentFetchAMD = 5012,
  spv::OpGroupNonUniformPartitionNV = 5296, spv::OpSubgroupShuffleINTEL = 5571, spv::OpSubgroupShuffleDownINTEL = 5572, spv::OpSubgroupShuffleUpINTEL = 5573,
  spv::OpSubgroupShuffleXorINTEL = 5574, spv::OpSubgroupBlockReadINTEL = 5575, spv::OpSubgroupBlockWriteINTEL = 5576, spv::OpSubgroupImageBlockReadINTEL = 5577,
  spv::OpSubgroupImageBlockWriteINTEL = 5578, spv::OpDecorateStringGOOGLE = 5632, spv::OpMemberDecorateStringGOOGLE = 5633, spv::OpMax = 0x7fffffff,
  spv::OpNop = 0, spv::OpUndef = 1, spv::OpSourceContinued = 2, spv::OpSource = 3,
  spv::OpSourceExtension = 4, spv::OpName = 5, spv::OpMemberName = 6, spv::OpString = 7,
  spv::OpLine = 8, spv::OpExtension = 10, spv::OpExtInstImport = 11, spv::OpExtInst = 12,
  spv::OpMemoryModel = 14, spv::OpEntryPoint = 15, spv::OpExecutionMode = 16, spv::OpCapability = 17,
  spv::OpTypeVoid = 19, spv::OpTypeBool = 20, spv::OpTypeInt = 21, spv::OpTypeFloat = 22,
  spv::OpTypeVector = 23, spv::OpTypeMatrix = 24, spv::OpTypeImage = 25, spv::OpTypeSampler = 26,
  spv::OpTypeSampledImage = 27, spv::OpTypeArray = 28, spv::OpTypeRuntimeArray = 29, spv::OpTypeStruct = 30,
  spv::OpTypeOpaque = 31, spv::OpTypePointer = 32, spv::OpTypeFunction = 33, spv::OpTypeEvent = 34,
  spv::OpTypeDeviceEvent = 35, spv::OpTypeReserveId = 36, spv::OpTypeQueue = 37, spv::OpTypePipe = 38,
  spv::OpTypeForwardPointer = 39, spv::OpConstantTrue = 41, spv::OpConstantFalse = 42, spv::OpConstant = 43,
  spv::OpConstantComposite = 44, spv::OpConstantSampler = 45, spv::OpConstantNull = 46, spv::OpSpecConstantTrue = 48,
  spv::OpSpecConstantFalse = 49, spv::OpSpecConstant = 50, spv::OpSpecConstantComposite = 51, spv::OpSpecConstantOp = 52,
  spv::OpFunction = 54, spv::OpFunctionParameter = 55, spv::OpFunctionEnd = 56, spv::OpFunctionCall = 57,
  spv::OpVariable = 59, spv::OpImageTexelPointer = 60, spv::OpLoad = 61, spv::OpStore = 62,
  spv::OpCopyMemory = 63, spv::OpCopyMemorySized = 64, spv::OpAccessChain = 65, spv::OpInBoundsAccessChain = 66,
  spv::OpPtrAccessChain = 67, spv::OpArrayLength = 68, spv::OpGenericPtrMemSemantics = 69, spv::OpInBoundsPtrAccessChain = 70,
  spv::OpDecorate = 71, spv::OpMemberDecorate = 72, spv::OpDecorationGroup = 73, spv::OpGroupDecorate = 74,
  spv::OpGroupMemberDecorate = 75, spv::OpVectorExtractDynamic = 77, spv::OpVectorInsertDynamic = 78, spv::OpVectorShuffle = 79,
  spv::OpCompositeConstruct = 80, spv::OpCompositeExtract = 81, spv::OpCompositeInsert = 82, spv::OpCopyObject = 83,
  spv::OpTranspose = 84, spv::OpSampledImage = 86, spv::OpImageSampleImplicitLod = 87, spv::OpImageSampleExplicitLod = 88,
  spv::OpImageSampleDrefImplicitLod = 89, spv::OpImageSampleDrefExplicitLod = 90, spv::OpImageSampleProjImplicitLod = 91, spv::OpImageSampleProjExplicitLod = 92,
  spv::OpImageSampleProjDrefImplicitLod = 93, spv::OpImageSampleProjDrefExplicitLod = 94, spv::OpImageFetch = 95, spv::OpImageGather = 96,
  spv::OpImageDrefGather = 97, spv::OpImageRead = 98, spv::OpImageWrite = 99, spv::OpImage = 100,
  spv::OpImageQueryFormat = 101, spv::OpImageQueryOrder = 102, spv::OpImageQuerySizeLod = 103, spv::OpImageQuerySize = 104,
  spv::OpImageQueryLod = 105, spv::OpImageQueryLevels = 106, spv::OpImageQuerySamples = 107, spv::OpConvertFToU = 109,
  spv::OpConvertFToS = 110, spv::OpConvertSToF = 111, spv::OpConvertUToF = 112, spv::OpUConvert = 113,
  spv::OpSConvert = 114, spv::OpFConvert = 115, spv::OpQuantizeToF16 = 116, spv::OpConvertPtrToU = 117,
  spv::OpSatConvertSToU = 118, spv::OpSatConvertUToS = 119, spv::OpConvertUToPtr = 120, spv::OpPtrCastToGeneric = 121,
  spv::OpGenericCastToPtr = 122, spv::OpGenericCastToPtrExplicit = 123, spv::OpBitcast = 124, spv::OpSNegate = 126,
  spv::OpFNegate = 127, spv::OpIAdd = 128, spv::OpFAdd = 129, spv::OpISub = 130,
  spv::OpFSub = 131, spv::OpIMul = 132, spv::OpFMul = 133, spv::OpUDiv = 134,
  spv::OpSDiv = 135, spv::OpFDiv = 136, spv::OpUMod = 137, spv::OpSRem = 138,
  spv::OpSMod = 139, spv::OpFRem = 140, spv::OpFMod = 141, spv::OpVectorTimesScalar = 142,
  spv::OpMatrixTimesScalar = 143, spv::OpVectorTimesMatrix = 144, spv::OpMatrixTimesVector = 145, spv::OpMatrixTimesMatrix = 146,
  spv::OpOuterProduct = 147, spv::OpDot = 148, spv::OpIAddCarry = 149, spv::OpISubBorrow = 150,
  spv::OpUMulExtended = 151, spv::OpSMulExtended = 152, spv::OpAny = 154, spv::OpAll = 155,
  spv::OpIsNan = 156, spv::OpIsInf = 157, spv::OpIsFinite = 158, spv::OpIsNormal = 159,
  spv::OpSignBitSet = 160, spv::OpLessOrGreater = 161, spv::OpOrdered = 162, spv::OpUnordered = 163,
  spv::OpLogicalEqual = 164, spv::OpLogicalNotEqual = 165, spv::OpLogicalOr = 166, spv::OpLogicalAnd = 167,
  spv::OpLogicalNot = 168, spv::OpSelect = 169, spv::OpIEqual = 170, spv::OpINotEqual = 171,
  spv::OpUGreaterThan = 172, spv::OpSGreaterThan = 173, spv::OpUGreaterThanEqual = 174, spv::OpSGreaterThanEqual = 175,
  spv::OpULessThan = 176, spv::OpSLessThan = 177, spv::OpULessThanEqual = 178, spv::OpSLessThanEqual = 179,
  spv::OpFOrdEqual = 180, spv::OpFUnordEqual = 181, spv::OpFOrdNotEqual = 182, spv::OpFUnordNotEqual = 183,
  spv::OpFOrdLessThan = 184, spv::OpFUnordLessThan = 185, spv::OpFOrdGreaterThan = 186, spv::OpFUnordGreaterThan = 187,
  spv::OpFOrdLessThanEqual = 188, spv::OpFUnordLessThanEqual = 189, spv::OpFOrdGreaterThanEqual = 190, spv::OpFUnordGreaterThanEqual = 191,
  spv::OpShiftRightLogical = 194, spv::OpShiftRightArithmetic = 195, spv::OpShiftLeftLogical = 196, spv::OpBitwiseOr = 197,
  spv::OpBitwiseXor = 198, spv::OpBitwiseAnd = 199, spv::OpNot = 200, spv::OpBitFieldInsert = 201,
  spv::OpBitFieldSExtract = 202, spv::OpBitFieldUExtract = 203, spv::OpBitReverse = 204, spv::OpBitCount = 205,
  spv::OpDPdx = 207, spv::OpDPdy = 208, spv::OpFwidth = 209, spv::OpDPdxFine = 210,
  spv::OpDPdyFine = 211, spv::OpFwidthFine = 212, spv::OpDPdxCoarse = 213, spv::OpDPdyCoarse = 214,
  spv::OpFwidthCoarse = 215, spv::OpEmitVertex = 218, spv::OpEndPrimitive = 219, spv::OpEmitStreamVertex = 220,
  spv::OpEndStreamPrimitive = 221, spv::OpControlBarrier = 224, spv::OpMemoryBarrier = 225, spv::OpAtomicLoad = 227,
  spv::OpAtomicStore = 228, spv::OpAtomicExchange = 229, spv::OpAtomicCompareExchange = 230, spv::OpAtomicCompareExchangeWeak = 231,
  spv::OpAtomicIIncrement = 232, spv::OpAtomicIDecrement = 233, spv::OpAtomicIAdd = 234, spv::OpAtomicISub = 235,
  spv::OpAtomicSMin = 236, spv::OpAtomicUMin = 237, spv::OpAtomicSMax = 238, spv::OpAtomicUMax = 239,
  spv::OpAtomicAnd = 240, spv::OpAtomicOr = 241, spv::OpAtomicXor = 242, spv::OpPhi = 245,
  spv::OpLoopMerge = 246, spv::OpSelectionMerge = 247, spv::OpLabel = 248, spv::OpBranch = 249,
  spv::OpBranchConditional = 250, spv::OpSwitch = 251, spv::OpKill = 252, spv::OpReturn = 253,
  spv::OpReturnValue = 254, spv::OpUnreachable = 255, spv::OpLifetimeStart = 256, spv::OpLifetimeStop = 257,
  spv::OpGroupAsyncCopy = 259, spv::OpGroupWaitEvents = 260, spv::OpGroupAll = 261, spv::OpGroupAny = 262,
  spv::OpGroupBroadcast = 263, spv::OpGroupIAdd = 264, spv::OpGroupFAdd = 265, spv::OpGroupFMin = 266,
  spv::OpGroupUMin = 267, spv::OpGroupSMin = 268, spv::OpGroupFMax = 269, spv::OpGroupUMax = 270,
  spv::OpGroupSMax = 271, spv::OpReadPipe = 274, spv::OpWritePipe = 275, spv::OpReservedReadPipe = 276,
  spv::OpReservedWritePipe = 277, spv::OpReserveReadPipePackets = 278, spv::OpReserveWritePipePackets = 279, spv::OpCommitReadPipe = 280,
  spv::OpCommitWritePipe = 281, spv::OpIsValidReserveId = 282, spv::OpGetNumPipePackets = 283, spv::OpGetMaxPipePackets = 284,
  spv::OpGroupReserveReadPipePackets = 285, spv::OpGroupReserveWritePipePackets = 286, spv::OpGroupCommitReadPipe = 287, spv::OpGroupCommitWritePipe = 288,
  spv::OpEnqueueMarker = 291, spv::OpEnqueueKernel = 292, spv::OpGetKernelNDrangeSubGroupCount = 293, spv::OpGetKernelNDrangeMaxSubGroupSize = 294,
  spv::OpGetKernelWorkGroupSize = 295, spv::OpGetKernelPreferredWorkGroupSizeMultiple = 296, spv::OpRetainEvent = 297, spv::OpReleaseEvent = 298,
  spv::OpCreateUserEvent = 299, spv::OpIsValidEvent = 300, spv::OpSetUserEventStatus = 301, spv::OpCaptureEventProfilingInfo = 302,
  spv::OpGetDefaultQueue = 303, spv::OpBuildNDRange = 304, spv::OpImageSparseSampleImplicitLod = 305, spv::OpImageSparseSampleExplicitLod = 306,
  spv::OpImageSparseSampleDrefImplicitLod = 307, spv::OpImageSparseSampleDrefExplicitLod = 308, spv::OpImageSparseSampleProjImplicitLod = 309, spv::OpImageSparseSampleProjExplicitLod = 310,
  spv::OpImageSparseSampleProjDrefImplicitLod = 311, spv::OpImageSparseSampleProjDrefExplicitLod = 312, spv::OpImageSparseFetch = 313, spv::OpImageSparseGather = 314,
  spv::OpImageSparseDrefGather = 315, spv::OpImageSparseTexelsResident = 316, spv::OpNoLine = 317, spv::OpAtomicFlagTestAndSet = 318,
  spv::OpAtomicFlagClear = 319, spv::OpImageSparseRead = 320, spv::OpSizeOf = 321, spv::OpTypePipeStorage = 322,
  spv::OpConstantPipeStorage = 323, spv::OpCreatePipeFromPipeStorage = 324, spv::OpGetKernelLocalSizeForSubgroupCount = 325, spv::OpGetKernelMaxNumSubgroups = 326,
  spv::OpTypeNamedBarrier = 327, spv::OpNamedBarrierInitialize = 328, spv::OpMemoryNamedBarrier = 329, spv::OpModuleProcessed = 330,
  spv::OpExecutionModeId = 331, spv::OpDecorateId = 332, spv::OpGroupNonUniformElect = 333, spv::OpGroupNonUniformAll = 334,
  spv::OpGroupNonUniformAny = 335, spv::OpGroupNonUniformAllEqual = 336, spv::OpGroupNonUniformBroadcast = 337, spv::OpGroupNonUniformBroadcastFirst = 338,
  spv::OpGroupNonUniformBallot = 339, spv::OpGroupNonUniformInverseBallot = 340, spv::OpGroupNonUniformBallotBitExtract = 341, spv::OpGroupNonUniformBallotBitCount = 342,
  spv::OpGroupNonUniformBallotFindLSB = 343, spv::OpGroupNonUniformBallotFindMSB = 344, spv::OpGroupNonUniformShuffle = 345, spv::OpGroupNonUniformShuffleXor = 346,
  spv::OpGroupNonUniformShuffleUp = 347, spv::OpGroupNonUniformShuffleDown = 348, spv::OpGroupNonUniformIAdd = 349, spv::OpGroupNonUniformFAdd = 350,
  spv::OpGroupNonUniformIMul = 351, spv::OpGroupNonUniformFMul = 352, spv::OpGroupNonUniformSMin = 353, spv::OpGroupNonUniformUMin = 354,
  spv::OpGroupNonUniformFMin = 355, spv::OpGroupNonUniformSMax = 356, spv::OpGroupNonUniformUMax = 357, spv::OpGroupNonUniformFMax = 358,
  spv::OpGroupNonUniformBitwiseAnd = 359, spv::OpGroupNonUniformBitwiseOr = 360, spv::OpGroupNonUniformBitwiseXor = 361, spv::OpGroupNonUniformLogicalAnd = 362,
  spv::OpGroupNonUniformLogicalOr = 363, spv::OpGroupNonUniformLogicalXor = 364, spv::OpGroupNonUniformQuadBroadcast = 365, spv::OpGroupNonUniformQuadSwap = 366,
  spv::OpSubgroupBallotKHR = 4421, spv::OpSubgroupFirstInvocationKHR = 4422, spv::OpSubgroupAllKHR = 4428, spv::OpSubgroupAnyKHR = 4429,
  spv::OpSubgroupAllEqualKHR = 4430, spv::OpSubgroupReadInvocationKHR = 4432, spv::OpGroupIAddNonUniformAMD = 5000, spv::OpGroupFAddNonUniformAMD = 5001,
  spv::OpGroupFMinNonUniformAMD = 5002, spv::OpGroupUMinNonUniformAMD = 5003, spv::OpGroupSMinNonUniformAMD = 5004, spv::OpGroupFMaxNonUniformAMD = 5005,
  spv::OpGroupUMaxNonUniformAMD = 5006, spv::OpGroupSMaxNonUniformAMD = 5007, spv::OpFragmentMaskFetchAMD = 5011, spv::OpFragmentFetchAMD = 5012,
  spv::OpSubgroupShuffleINTEL = 5571, spv::OpSubgroupShuffleDownINTEL = 5572, spv::OpSubgroupShuffleUpINTEL = 5573, spv::OpSubgroupShuffleXorINTEL = 5574,
  spv::OpSubgroupBlockReadINTEL = 5575, spv::OpSubgroupBlockWriteINTEL = 5576, spv::OpSubgroupImageBlockReadINTEL = 5577, spv::OpSubgroupImageBlockWriteINTEL = 5578,
  spv::OpDecorateStringGOOGLE = 5632, spv::OpMemberDecorateStringGOOGLE = 5633, spv::OpMax = 0x7fffffff
}
 

Functions

ImageOperandsMask spv::operator| (ImageOperandsMask a, ImageOperandsMask b)
 
FPFastMathModeMask spv::operator| (FPFastMathModeMask a, FPFastMathModeMask b)
 
SelectionControlMask spv::operator| (SelectionControlMask a, SelectionControlMask b)
 
LoopControlMask spv::operator| (LoopControlMask a, LoopControlMask b)
 
FunctionControlMask spv::operator| (FunctionControlMask a, FunctionControlMask b)
 
MemorySemanticsMask spv::operator| (MemorySemanticsMask a, MemorySemanticsMask b)
 
MemoryAccessMask spv::operator| (MemoryAccessMask a, MemoryAccessMask b)
 
KernelProfilingInfoMask spv::operator| (KernelProfilingInfoMask a, KernelProfilingInfoMask b)
 

Variables

static const unsigned int spv::MagicNumber = 0x07230203
 
static const unsigned int spv::Version = 0x00010300
 
static const unsigned int spv::Revision = 1
 
static const unsigned int spv::OpCodeMask = 0xffff
 
static const unsigned int spv::WordCountShift = 16
 

Macro Definition Documentation

◆ SPV_REVISION

#define SPV_REVISION   1

◆ SPV_VERSION

#define SPV_VERSION   0x10300