/* automatically generated by rust-bindgen */ #[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)] pub mod root { #[allow(unused_imports)] use self::super::root; pub mod spv { #[allow(unused_imports)] use self::super::super::root; pub type Id = ::std::os::raw::c_uint; pub const SourceLanguage_SourceLanguageUnknown: root::spv::SourceLanguage = 0; pub const SourceLanguage_SourceLanguageESSL: root::spv::SourceLanguage = 1; pub const SourceLanguage_SourceLanguageGLSL: root::spv::SourceLanguage = 2; pub const SourceLanguage_SourceLanguageOpenCL_C: root::spv::SourceLanguage = 3; pub const SourceLanguage_SourceLanguageOpenCL_CPP: root::spv::SourceLanguage = 4; pub const SourceLanguage_SourceLanguageHLSL: root::spv::SourceLanguage = 5; pub const SourceLanguage_SourceLanguageMax: root::spv::SourceLanguage = 2147483647; pub type SourceLanguage = u32; impl root::spv::ExecutionModel { pub const ExecutionModelRayGenerationNV: root::spv::ExecutionModel = ExecutionModel::ExecutionModelRayGenerationKHR; } impl root::spv::ExecutionModel { pub const ExecutionModelIntersectionNV: root::spv::ExecutionModel = ExecutionModel::ExecutionModelIntersectionKHR; } impl root::spv::ExecutionModel { pub const ExecutionModelAnyHitNV: root::spv::ExecutionModel = ExecutionModel::ExecutionModelAnyHitKHR; } impl root::spv::ExecutionModel { pub const ExecutionModelClosestHitNV: root::spv::ExecutionModel = ExecutionModel::ExecutionModelClosestHitKHR; } impl root::spv::ExecutionModel { pub const ExecutionModelMissNV: root::spv::ExecutionModel = ExecutionModel::ExecutionModelMissKHR; } impl root::spv::ExecutionModel { pub const ExecutionModelCallableNV: root::spv::ExecutionModel = ExecutionModel::ExecutionModelCallableKHR; } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum ExecutionModel { ExecutionModelVertex = 0, ExecutionModelTessellationControl = 1, ExecutionModelTessellationEvaluation = 2, ExecutionModelGeometry = 3, ExecutionModelFragment = 4, ExecutionModelGLCompute = 5, ExecutionModelKernel = 6, ExecutionModelTaskNV = 5267, ExecutionModelMeshNV = 5268, ExecutionModelRayGenerationKHR = 5313, ExecutionModelIntersectionKHR = 5314, ExecutionModelAnyHitKHR = 5315, ExecutionModelClosestHitKHR = 5316, ExecutionModelMissKHR = 5317, ExecutionModelCallableKHR = 5318, ExecutionModelMax = 2147483647, } pub const AddressingModel_AddressingModelLogical: root::spv::AddressingModel = 0; pub const AddressingModel_AddressingModelPhysical32: root::spv::AddressingModel = 1; pub const AddressingModel_AddressingModelPhysical64: root::spv::AddressingModel = 2; pub const AddressingModel_AddressingModelPhysicalStorageBuffer64: root::spv::AddressingModel = 5348; pub const AddressingModel_AddressingModelPhysicalStorageBuffer64EXT: root::spv::AddressingModel = 5348; pub const AddressingModel_AddressingModelMax: root::spv::AddressingModel = 2147483647; pub type AddressingModel = u32; pub const MemoryModel_MemoryModelSimple: root::spv::MemoryModel = 0; pub const MemoryModel_MemoryModelGLSL450: root::spv::MemoryModel = 1; pub const MemoryModel_MemoryModelOpenCL: root::spv::MemoryModel = 2; pub const MemoryModel_MemoryModelVulkan: root::spv::MemoryModel = 3; pub const MemoryModel_MemoryModelVulkanKHR: root::spv::MemoryModel = 3; pub const MemoryModel_MemoryModelMax: root::spv::MemoryModel = 2147483647; pub type MemoryModel = u32; pub const ExecutionMode_ExecutionModeInvocations: root::spv::ExecutionMode = 0; pub const ExecutionMode_ExecutionModeSpacingEqual: root::spv::ExecutionMode = 1; pub const ExecutionMode_ExecutionModeSpacingFractionalEven: root::spv::ExecutionMode = 2; pub const ExecutionMode_ExecutionModeSpacingFractionalOdd: root::spv::ExecutionMode = 3; pub const ExecutionMode_ExecutionModeVertexOrderCw: root::spv::ExecutionMode = 4; pub const ExecutionMode_ExecutionModeVertexOrderCcw: root::spv::ExecutionMode = 5; pub const ExecutionMode_ExecutionModePixelCenterInteger: root::spv::ExecutionMode = 6; pub const ExecutionMode_ExecutionModeOriginUpperLeft: root::spv::ExecutionMode = 7; pub const ExecutionMode_ExecutionModeOriginLowerLeft: root::spv::ExecutionMode = 8; pub const ExecutionMode_ExecutionModeEarlyFragmentTests: root::spv::ExecutionMode = 9; pub const ExecutionMode_ExecutionModePointMode: root::spv::ExecutionMode = 10; pub const ExecutionMode_ExecutionModeXfb: root::spv::ExecutionMode = 11; pub const ExecutionMode_ExecutionModeDepthReplacing: root::spv::ExecutionMode = 12; pub const ExecutionMode_ExecutionModeDepthGreater: root::spv::ExecutionMode = 14; pub const ExecutionMode_ExecutionModeDepthLess: root::spv::ExecutionMode = 15; pub const ExecutionMode_ExecutionModeDepthUnchanged: root::spv::ExecutionMode = 16; pub const ExecutionMode_ExecutionModeLocalSize: root::spv::ExecutionMode = 17; pub const ExecutionMode_ExecutionModeLocalSizeHint: root::spv::ExecutionMode = 18; pub const ExecutionMode_ExecutionModeInputPoints: root::spv::ExecutionMode = 19; pub const ExecutionMode_ExecutionModeInputLines: root::spv::ExecutionMode = 20; pub const ExecutionMode_ExecutionModeInputLinesAdjacency: root::spv::ExecutionMode = 21; pub const ExecutionMode_ExecutionModeTriangles: root::spv::ExecutionMode = 22; pub const ExecutionMode_ExecutionModeInputTrianglesAdjacency: root::spv::ExecutionMode = 23; pub const ExecutionMode_ExecutionModeQuads: root::spv::ExecutionMode = 24; pub const ExecutionMode_ExecutionModeIsolines: root::spv::ExecutionMode = 25; pub const ExecutionMode_ExecutionModeOutputVertices: root::spv::ExecutionMode = 26; pub const ExecutionMode_ExecutionModeOutputPoints: root::spv::ExecutionMode = 27; pub const ExecutionMode_ExecutionModeOutputLineStrip: root::spv::ExecutionMode = 28; pub const ExecutionMode_ExecutionModeOutputTriangleStrip: root::spv::ExecutionMode = 29; pub const ExecutionMode_ExecutionModeVecTypeHint: root::spv::ExecutionMode = 30; pub const ExecutionMode_ExecutionModeContractionOff: root::spv::ExecutionMode = 31; pub const ExecutionMode_ExecutionModeInitializer: root::spv::ExecutionMode = 33; pub const ExecutionMode_ExecutionModeFinalizer: root::spv::ExecutionMode = 34; pub const ExecutionMode_ExecutionModeSubgroupSize: root::spv::ExecutionMode = 35; pub const ExecutionMode_ExecutionModeSubgroupsPerWorkgroup: root::spv::ExecutionMode = 36; pub const ExecutionMode_ExecutionModeSubgroupsPerWorkgroupId: root::spv::ExecutionMode = 37; pub const ExecutionMode_ExecutionModeLocalSizeId: root::spv::ExecutionMode = 38; pub const ExecutionMode_ExecutionModeLocalSizeHintId: root::spv::ExecutionMode = 39; pub const ExecutionMode_ExecutionModePostDepthCoverage: root::spv::ExecutionMode = 4446; pub const ExecutionMode_ExecutionModeDenormPreserve: root::spv::ExecutionMode = 4459; pub const ExecutionMode_ExecutionModeDenormFlushToZero: root::spv::ExecutionMode = 4460; pub const ExecutionMode_ExecutionModeSignedZeroInfNanPreserve: root::spv::ExecutionMode = 4461; pub const ExecutionMode_ExecutionModeRoundingModeRTE: root::spv::ExecutionMode = 4462; pub const ExecutionMode_ExecutionModeRoundingModeRTZ: root::spv::ExecutionMode = 4463; pub const ExecutionMode_ExecutionModeStencilRefReplacingEXT: root::spv::ExecutionMode = 5027; pub const ExecutionMode_ExecutionModeOutputLinesNV: root::spv::ExecutionMode = 5269; pub const ExecutionMode_ExecutionModeOutputPrimitivesNV: root::spv::ExecutionMode = 5270; pub const ExecutionMode_ExecutionModeDerivativeGroupQuadsNV: root::spv::ExecutionMode = 5289; pub const ExecutionMode_ExecutionModeDerivativeGroupLinearNV: root::spv::ExecutionMode = 5290; pub const ExecutionMode_ExecutionModeOutputTrianglesNV: root::spv::ExecutionMode = 5298; pub const ExecutionMode_ExecutionModePixelInterlockOrderedEXT: root::spv::ExecutionMode = 5366; pub const ExecutionMode_ExecutionModePixelInterlockUnorderedEXT: root::spv::ExecutionMode = 5367; pub const ExecutionMode_ExecutionModeSampleInterlockOrderedEXT: root::spv::ExecutionMode = 5368; pub const ExecutionMode_ExecutionModeSampleInterlockUnorderedEXT: root::spv::ExecutionMode = 5369; pub const ExecutionMode_ExecutionModeShadingRateInterlockOrderedEXT: root::spv::ExecutionMode = 5370; pub const ExecutionMode_ExecutionModeShadingRateInterlockUnorderedEXT: root::spv::ExecutionMode = 5371; pub const ExecutionMode_ExecutionModeMax: root::spv::ExecutionMode = 2147483647; pub type ExecutionMode = u32; pub const StorageClass_StorageClassUniformConstant: root::spv::StorageClass = 0; pub const StorageClass_StorageClassInput: root::spv::StorageClass = 1; pub const StorageClass_StorageClassUniform: root::spv::StorageClass = 2; pub const StorageClass_StorageClassOutput: root::spv::StorageClass = 3; pub const StorageClass_StorageClassWorkgroup: root::spv::StorageClass = 4; pub const StorageClass_StorageClassCrossWorkgroup: root::spv::StorageClass = 5; pub const StorageClass_StorageClassPrivate: root::spv::StorageClass = 6; pub const StorageClass_StorageClassFunction: root::spv::StorageClass = 7; pub const StorageClass_StorageClassGeneric: root::spv::StorageClass = 8; pub const StorageClass_StorageClassPushConstant: root::spv::StorageClass = 9; pub const StorageClass_StorageClassAtomicCounter: root::spv::StorageClass = 10; pub const StorageClass_StorageClassImage: root::spv::StorageClass = 11; pub const StorageClass_StorageClassStorageBuffer: root::spv::StorageClass = 12; pub const StorageClass_StorageClassCallableDataKHR: root::spv::StorageClass = 5328; pub const StorageClass_StorageClassCallableDataNV: root::spv::StorageClass = 5328; pub const StorageClass_StorageClassIncomingCallableDataKHR: root::spv::StorageClass = 5329; pub const StorageClass_StorageClassIncomingCallableDataNV: root::spv::StorageClass = 5329; pub const StorageClass_StorageClassRayPayloadKHR: root::spv::StorageClass = 5338; pub const StorageClass_StorageClassRayPayloadNV: root::spv::StorageClass = 5338; pub const StorageClass_StorageClassHitAttributeKHR: root::spv::StorageClass = 5339; pub const StorageClass_StorageClassHitAttributeNV: root::spv::StorageClass = 5339; pub const StorageClass_StorageClassIncomingRayPayloadKHR: root::spv::StorageClass = 5342; pub const StorageClass_StorageClassIncomingRayPayloadNV: root::spv::StorageClass = 5342; pub const StorageClass_StorageClassShaderRecordBufferKHR: root::spv::StorageClass = 5343; pub const StorageClass_StorageClassShaderRecordBufferNV: root::spv::StorageClass = 5343; pub const StorageClass_StorageClassPhysicalStorageBuffer: root::spv::StorageClass = 5349; pub const StorageClass_StorageClassPhysicalStorageBufferEXT: root::spv::StorageClass = 5349; pub const StorageClass_StorageClassMax: root::spv::StorageClass = 2147483647; pub type StorageClass = u32; pub const Dim_Dim1D: root::spv::Dim = 0; pub const Dim_Dim2D: root::spv::Dim = 1; pub const Dim_Dim3D: root::spv::Dim = 2; pub const Dim_DimCube: root::spv::Dim = 3; pub const Dim_DimRect: root::spv::Dim = 4; pub const Dim_DimBuffer: root::spv::Dim = 5; pub const Dim_DimSubpassData: root::spv::Dim = 6; pub const Dim_DimMax: root::spv::Dim = 2147483647; pub type Dim = u32; pub const SamplerAddressingMode_SamplerAddressingModeNone: root::spv::SamplerAddressingMode = 0; pub const SamplerAddressingMode_SamplerAddressingModeClampToEdge: root::spv::SamplerAddressingMode = 1; pub const SamplerAddressingMode_SamplerAddressingModeClamp: root::spv::SamplerAddressingMode = 2; pub const SamplerAddressingMode_SamplerAddressingModeRepeat: root::spv::SamplerAddressingMode = 3; pub const SamplerAddressingMode_SamplerAddressingModeRepeatMirrored: root::spv::SamplerAddressingMode = 4; pub const SamplerAddressingMode_SamplerAddressingModeMax: root::spv::SamplerAddressingMode = 2147483647; pub type SamplerAddressingMode = u32; pub const SamplerFilterMode_SamplerFilterModeNearest: root::spv::SamplerFilterMode = 0; pub const SamplerFilterMode_SamplerFilterModeLinear: root::spv::SamplerFilterMode = 1; pub const SamplerFilterMode_SamplerFilterModeMax: root::spv::SamplerFilterMode = 2147483647; pub type SamplerFilterMode = u32; pub const ImageFormat_ImageFormatUnknown: root::spv::ImageFormat = 0; pub const ImageFormat_ImageFormatRgba32f: root::spv::ImageFormat = 1; pub const ImageFormat_ImageFormatRgba16f: root::spv::ImageFormat = 2; pub const ImageFormat_ImageFormatR32f: root::spv::ImageFormat = 3; pub const ImageFormat_ImageFormatRgba8: root::spv::ImageFormat = 4; pub const ImageFormat_ImageFormatRgba8Snorm: root::spv::ImageFormat = 5; pub const ImageFormat_ImageFormatRg32f: root::spv::ImageFormat = 6; pub const ImageFormat_ImageFormatRg16f: root::spv::ImageFormat = 7; pub const ImageFormat_ImageFormatR11fG11fB10f: root::spv::ImageFormat = 8; pub const ImageFormat_ImageFormatR16f: root::spv::ImageFormat = 9; pub const ImageFormat_ImageFormatRgba16: root::spv::ImageFormat = 10; pub const ImageFormat_ImageFormatRgb10A2: root::spv::ImageFormat = 11; pub const ImageFormat_ImageFormatRg16: root::spv::ImageFormat = 12; pub const ImageFormat_ImageFormatRg8: root::spv::ImageFormat = 13; pub const ImageFormat_ImageFormatR16: root::spv::ImageFormat = 14; pub const ImageFormat_ImageFormatR8: root::spv::ImageFormat = 15; pub const ImageFormat_ImageFormatRgba16Snorm: root::spv::ImageFormat = 16; pub const ImageFormat_ImageFormatRg16Snorm: root::spv::ImageFormat = 17; pub const ImageFormat_ImageFormatRg8Snorm: root::spv::ImageFormat = 18; pub const ImageFormat_ImageFormatR16Snorm: root::spv::ImageFormat = 19; pub const ImageFormat_ImageFormatR8Snorm: root::spv::ImageFormat = 20; pub const ImageFormat_ImageFormatRgba32i: root::spv::ImageFormat = 21; pub const ImageFormat_ImageFormatRgba16i: root::spv::ImageFormat = 22; pub const ImageFormat_ImageFormatRgba8i: root::spv::ImageFormat = 23; pub const ImageFormat_ImageFormatR32i: root::spv::ImageFormat = 24; pub const ImageFormat_ImageFormatRg32i: root::spv::ImageFormat = 25; pub const ImageFormat_ImageFormatRg16i: root::spv::ImageFormat = 26; pub const ImageFormat_ImageFormatRg8i: root::spv::ImageFormat = 27; pub const ImageFormat_ImageFormatR16i: root::spv::ImageFormat = 28; pub const ImageFormat_ImageFormatR8i: root::spv::ImageFormat = 29; pub const ImageFormat_ImageFormatRgba32ui: root::spv::ImageFormat = 30; pub const ImageFormat_ImageFormatRgba16ui: root::spv::ImageFormat = 31; pub const ImageFormat_ImageFormatRgba8ui: root::spv::ImageFormat = 32; pub const ImageFormat_ImageFormatR32ui: root::spv::ImageFormat = 33; pub const ImageFormat_ImageFormatRgb10a2ui: root::spv::ImageFormat = 34; pub const ImageFormat_ImageFormatRg32ui: root::spv::ImageFormat = 35; pub const ImageFormat_ImageFormatRg16ui: root::spv::ImageFormat = 36; pub const ImageFormat_ImageFormatRg8ui: root::spv::ImageFormat = 37; pub const ImageFormat_ImageFormatR16ui: root::spv::ImageFormat = 38; pub const ImageFormat_ImageFormatR8ui: root::spv::ImageFormat = 39; pub const ImageFormat_ImageFormatMax: root::spv::ImageFormat = 2147483647; pub type ImageFormat = u32; pub const ImageChannelOrder_ImageChannelOrderR: root::spv::ImageChannelOrder = 0; pub const ImageChannelOrder_ImageChannelOrderA: root::spv::ImageChannelOrder = 1; pub const ImageChannelOrder_ImageChannelOrderRG: root::spv::ImageChannelOrder = 2; pub const ImageChannelOrder_ImageChannelOrderRA: root::spv::ImageChannelOrder = 3; pub const ImageChannelOrder_ImageChannelOrderRGB: root::spv::ImageChannelOrder = 4; pub const ImageChannelOrder_ImageChannelOrderRGBA: root::spv::ImageChannelOrder = 5; pub const ImageChannelOrder_ImageChannelOrderBGRA: root::spv::ImageChannelOrder = 6; pub const ImageChannelOrder_ImageChannelOrderARGB: root::spv::ImageChannelOrder = 7; pub const ImageChannelOrder_ImageChannelOrderIntensity: root::spv::ImageChannelOrder = 8; pub const ImageChannelOrder_ImageChannelOrderLuminance: root::spv::ImageChannelOrder = 9; pub const ImageChannelOrder_ImageChannelOrderRx: root::spv::ImageChannelOrder = 10; pub const ImageChannelOrder_ImageChannelOrderRGx: root::spv::ImageChannelOrder = 11; pub const ImageChannelOrder_ImageChannelOrderRGBx: root::spv::ImageChannelOrder = 12; pub const ImageChannelOrder_ImageChannelOrderDepth: root::spv::ImageChannelOrder = 13; pub const ImageChannelOrder_ImageChannelOrderDepthStencil: root::spv::ImageChannelOrder = 14; pub const ImageChannelOrder_ImageChannelOrdersRGB: root::spv::ImageChannelOrder = 15; pub const ImageChannelOrder_ImageChannelOrdersRGBx: root::spv::ImageChannelOrder = 16; pub const ImageChannelOrder_ImageChannelOrdersRGBA: root::spv::ImageChannelOrder = 17; pub const ImageChannelOrder_ImageChannelOrdersBGRA: root::spv::ImageChannelOrder = 18; pub const ImageChannelOrder_ImageChannelOrderABGR: root::spv::ImageChannelOrder = 19; pub const ImageChannelOrder_ImageChannelOrderMax: root::spv::ImageChannelOrder = 2147483647; pub type ImageChannelOrder = u32; pub const ImageChannelDataType_ImageChannelDataTypeSnormInt8: root::spv::ImageChannelDataType = 0; pub const ImageChannelDataType_ImageChannelDataTypeSnormInt16: root::spv::ImageChannelDataType = 1; pub const ImageChannelDataType_ImageChannelDataTypeUnormInt8: root::spv::ImageChannelDataType = 2; pub const ImageChannelDataType_ImageChannelDataTypeUnormInt16: root::spv::ImageChannelDataType = 3; pub const ImageChannelDataType_ImageChannelDataTypeUnormShort565: root::spv::ImageChannelDataType = 4; pub const ImageChannelDataType_ImageChannelDataTypeUnormShort555: root::spv::ImageChannelDataType = 5; pub const ImageChannelDataType_ImageChannelDataTypeUnormInt101010: root::spv::ImageChannelDataType = 6; pub const ImageChannelDataType_ImageChannelDataTypeSignedInt8: root::spv::ImageChannelDataType = 7; pub const ImageChannelDataType_ImageChannelDataTypeSignedInt16: root::spv::ImageChannelDataType = 8; pub const ImageChannelDataType_ImageChannelDataTypeSignedInt32: root::spv::ImageChannelDataType = 9; pub const ImageChannelDataType_ImageChannelDataTypeUnsignedInt8: root::spv::ImageChannelDataType = 10; pub const ImageChannelDataType_ImageChannelDataTypeUnsignedInt16: root::spv::ImageChannelDataType = 11; pub const ImageChannelDataType_ImageChannelDataTypeUnsignedInt32: root::spv::ImageChannelDataType = 12; pub const ImageChannelDataType_ImageChannelDataTypeHalfFloat: root::spv::ImageChannelDataType = 13; pub const ImageChannelDataType_ImageChannelDataTypeFloat: root::spv::ImageChannelDataType = 14; pub const ImageChannelDataType_ImageChannelDataTypeUnormInt24: root::spv::ImageChannelDataType = 15; pub const ImageChannelDataType_ImageChannelDataTypeUnormInt101010_2: root::spv::ImageChannelDataType = 16; pub const ImageChannelDataType_ImageChannelDataTypeMax: root::spv::ImageChannelDataType = 2147483647; pub type ImageChannelDataType = u32; pub const ImageOperandsShift_ImageOperandsBiasShift: root::spv::ImageOperandsShift = 0; pub const ImageOperandsShift_ImageOperandsLodShift: root::spv::ImageOperandsShift = 1; pub const ImageOperandsShift_ImageOperandsGradShift: root::spv::ImageOperandsShift = 2; pub const ImageOperandsShift_ImageOperandsConstOffsetShift: root::spv::ImageOperandsShift = 3; pub const ImageOperandsShift_ImageOperandsOffsetShift: root::spv::ImageOperandsShift = 4; pub const ImageOperandsShift_ImageOperandsConstOffsetsShift: root::spv::ImageOperandsShift = 5; pub const ImageOperandsShift_ImageOperandsSampleShift: root::spv::ImageOperandsShift = 6; pub const ImageOperandsShift_ImageOperandsMinLodShift: root::spv::ImageOperandsShift = 7; pub const ImageOperandsShift_ImageOperandsMakeTexelAvailableShift: root::spv::ImageOperandsShift = 8; pub const ImageOperandsShift_ImageOperandsMakeTexelAvailableKHRShift: root::spv::ImageOperandsShift = 8; pub const ImageOperandsShift_ImageOperandsMakeTexelVisibleShift: root::spv::ImageOperandsShift = 9; pub const ImageOperandsShift_ImageOperandsMakeTexelVisibleKHRShift: root::spv::ImageOperandsShift = 9; pub const ImageOperandsShift_ImageOperandsNonPrivateTexelShift: root::spv::ImageOperandsShift = 10; pub const ImageOperandsShift_ImageOperandsNonPrivateTexelKHRShift: root::spv::ImageOperandsShift = 10; pub const ImageOperandsShift_ImageOperandsVolatileTexelShift: root::spv::ImageOperandsShift = 11; pub const ImageOperandsShift_ImageOperandsVolatileTexelKHRShift: root::spv::ImageOperandsShift = 11; pub const ImageOperandsShift_ImageOperandsSignExtendShift: root::spv::ImageOperandsShift = 12; pub const ImageOperandsShift_ImageOperandsZeroExtendShift: root::spv::ImageOperandsShift = 13; pub const ImageOperandsShift_ImageOperandsMax: root::spv::ImageOperandsShift = 2147483647; pub type ImageOperandsShift = u32; impl ImageOperandsMask { pub const ImageOperandsMaskNone: root::spv::ImageOperandsMask = root::spv::ImageOperandsMask(0); } impl ImageOperandsMask { pub const ImageOperandsBiasMask: root::spv::ImageOperandsMask = root::spv::ImageOperandsMask(1); } impl ImageOperandsMask { pub const ImageOperandsLodMask: root::spv::ImageOperandsMask = root::spv::ImageOperandsMask(2); } impl ImageOperandsMask { pub const ImageOperandsGradMask: root::spv::ImageOperandsMask = root::spv::ImageOperandsMask(4); } impl ImageOperandsMask { pub const ImageOperandsConstOffsetMask: root::spv::ImageOperandsMask = root::spv::ImageOperandsMask(8); } impl ImageOperandsMask { pub const ImageOperandsOffsetMask: root::spv::ImageOperandsMask = root::spv::ImageOperandsMask(16); } impl ImageOperandsMask { pub const ImageOperandsConstOffsetsMask: root::spv::ImageOperandsMask = root::spv::ImageOperandsMask(32); } impl ImageOperandsMask { pub const ImageOperandsSampleMask: root::spv::ImageOperandsMask = root::spv::ImageOperandsMask(64); } impl ImageOperandsMask { pub const ImageOperandsMinLodMask: root::spv::ImageOperandsMask = root::spv::ImageOperandsMask(128); } impl ImageOperandsMask { pub const ImageOperandsMakeTexelAvailableMask: root::spv::ImageOperandsMask = root::spv::ImageOperandsMask(256); } impl ImageOperandsMask { pub const ImageOperandsMakeTexelAvailableKHRMask: root::spv::ImageOperandsMask = root::spv::ImageOperandsMask(256); } impl ImageOperandsMask { pub const ImageOperandsMakeTexelVisibleMask: root::spv::ImageOperandsMask = root::spv::ImageOperandsMask(512); } impl ImageOperandsMask { pub const ImageOperandsMakeTexelVisibleKHRMask: root::spv::ImageOperandsMask = root::spv::ImageOperandsMask(512); } impl ImageOperandsMask { pub const ImageOperandsNonPrivateTexelMask: root::spv::ImageOperandsMask = root::spv::ImageOperandsMask(1024); } impl ImageOperandsMask { pub const ImageOperandsNonPrivateTexelKHRMask: root::spv::ImageOperandsMask = root::spv::ImageOperandsMask(1024); } impl ImageOperandsMask { pub const ImageOperandsVolatileTexelMask: root::spv::ImageOperandsMask = root::spv::ImageOperandsMask(2048); } impl ImageOperandsMask { pub const ImageOperandsVolatileTexelKHRMask: root::spv::ImageOperandsMask = root::spv::ImageOperandsMask(2048); } impl ImageOperandsMask { pub const ImageOperandsSignExtendMask: root::spv::ImageOperandsMask = root::spv::ImageOperandsMask(4096); } impl ImageOperandsMask { pub const ImageOperandsZeroExtendMask: root::spv::ImageOperandsMask = root::spv::ImageOperandsMask(8192); } impl ::std::ops::BitOr for root::spv::ImageOperandsMask { type Output = Self; #[inline] fn bitor(self, other: Self) -> Self { ImageOperandsMask(self.0 | other.0) } } impl ::std::ops::BitOrAssign for root::spv::ImageOperandsMask { #[inline] fn bitor_assign(&mut self, rhs: root::spv::ImageOperandsMask) { self.0 |= rhs.0; } } impl ::std::ops::BitAnd for root::spv::ImageOperandsMask { type Output = Self; #[inline] fn bitand(self, other: Self) -> Self { ImageOperandsMask(self.0 & other.0) } } impl ::std::ops::BitAndAssign for root::spv::ImageOperandsMask { #[inline] fn bitand_assign(&mut self, rhs: root::spv::ImageOperandsMask) { self.0 &= rhs.0; } } #[repr(transparent)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub struct ImageOperandsMask(pub u32); pub const FPFastMathModeShift_FPFastMathModeNotNaNShift: root::spv::FPFastMathModeShift = 0; pub const FPFastMathModeShift_FPFastMathModeNotInfShift: root::spv::FPFastMathModeShift = 1; pub const FPFastMathModeShift_FPFastMathModeNSZShift: root::spv::FPFastMathModeShift = 2; pub const FPFastMathModeShift_FPFastMathModeAllowRecipShift: root::spv::FPFastMathModeShift = 3; pub const FPFastMathModeShift_FPFastMathModeFastShift: root::spv::FPFastMathModeShift = 4; pub const FPFastMathModeShift_FPFastMathModeMax: root::spv::FPFastMathModeShift = 2147483647; pub type FPFastMathModeShift = u32; impl FPFastMathModeMask { pub const FPFastMathModeMaskNone: root::spv::FPFastMathModeMask = root::spv::FPFastMathModeMask(0); } impl FPFastMathModeMask { pub const FPFastMathModeNotNaNMask: root::spv::FPFastMathModeMask = root::spv::FPFastMathModeMask(1); } impl FPFastMathModeMask { pub const FPFastMathModeNotInfMask: root::spv::FPFastMathModeMask = root::spv::FPFastMathModeMask(2); } impl FPFastMathModeMask { pub const FPFastMathModeNSZMask: root::spv::FPFastMathModeMask = root::spv::FPFastMathModeMask(4); } impl FPFastMathModeMask { pub const FPFastMathModeAllowRecipMask: root::spv::FPFastMathModeMask = root::spv::FPFastMathModeMask(8); } impl FPFastMathModeMask { pub const FPFastMathModeFastMask: root::spv::FPFastMathModeMask = root::spv::FPFastMathModeMask(16); } impl ::std::ops::BitOr for root::spv::FPFastMathModeMask { type Output = Self; #[inline] fn bitor(self, other: Self) -> Self { FPFastMathModeMask(self.0 | other.0) } } impl ::std::ops::BitOrAssign for root::spv::FPFastMathModeMask { #[inline] fn bitor_assign(&mut self, rhs: root::spv::FPFastMathModeMask) { self.0 |= rhs.0; } } impl ::std::ops::BitAnd for root::spv::FPFastMathModeMask { type Output = Self; #[inline] fn bitand(self, other: Self) -> Self { FPFastMathModeMask(self.0 & other.0) } } impl ::std::ops::BitAndAssign for root::spv::FPFastMathModeMask { #[inline] fn bitand_assign(&mut self, rhs: root::spv::FPFastMathModeMask) { self.0 &= rhs.0; } } #[repr(transparent)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub struct FPFastMathModeMask(pub u32); pub const FPRoundingMode_FPRoundingModeRTE: root::spv::FPRoundingMode = 0; pub const FPRoundingMode_FPRoundingModeRTZ: root::spv::FPRoundingMode = 1; pub const FPRoundingMode_FPRoundingModeRTP: root::spv::FPRoundingMode = 2; pub const FPRoundingMode_FPRoundingModeRTN: root::spv::FPRoundingMode = 3; pub const FPRoundingMode_FPRoundingModeMax: root::spv::FPRoundingMode = 2147483647; pub type FPRoundingMode = u32; pub const LinkageType_LinkageTypeExport: root::spv::LinkageType = 0; pub const LinkageType_LinkageTypeImport: root::spv::LinkageType = 1; pub const LinkageType_LinkageTypeMax: root::spv::LinkageType = 2147483647; pub type LinkageType = u32; pub const AccessQualifier_AccessQualifierReadOnly: root::spv::AccessQualifier = 0; pub const AccessQualifier_AccessQualifierWriteOnly: root::spv::AccessQualifier = 1; pub const AccessQualifier_AccessQualifierReadWrite: root::spv::AccessQualifier = 2; pub const AccessQualifier_AccessQualifierMax: root::spv::AccessQualifier = 2147483647; pub type AccessQualifier = u32; pub const FunctionParameterAttribute_FunctionParameterAttributeZext: root::spv::FunctionParameterAttribute = 0; pub const FunctionParameterAttribute_FunctionParameterAttributeSext: root::spv::FunctionParameterAttribute = 1; pub const FunctionParameterAttribute_FunctionParameterAttributeByVal: root::spv::FunctionParameterAttribute = 2; pub const FunctionParameterAttribute_FunctionParameterAttributeSret: root::spv::FunctionParameterAttribute = 3; pub const FunctionParameterAttribute_FunctionParameterAttributeNoAlias: root::spv::FunctionParameterAttribute = 4; pub const FunctionParameterAttribute_FunctionParameterAttributeNoCapture: root::spv::FunctionParameterAttribute = 5; pub const FunctionParameterAttribute_FunctionParameterAttributeNoWrite: root::spv::FunctionParameterAttribute = 6; pub const FunctionParameterAttribute_FunctionParameterAttributeNoReadWrite: root::spv::FunctionParameterAttribute = 7; pub const FunctionParameterAttribute_FunctionParameterAttributeMax: root::spv::FunctionParameterAttribute = 2147483647; pub type FunctionParameterAttribute = u32; impl root::spv::Decoration { pub const DecorationNonUniformEXT: root::spv::Decoration = Decoration::DecorationNonUniform; } impl root::spv::Decoration { pub const DecorationRestrictPointerEXT: root::spv::Decoration = Decoration::DecorationRestrictPointer; } impl root::spv::Decoration { pub const DecorationAliasedPointerEXT: root::spv::Decoration = Decoration::DecorationAliasedPointer; } impl root::spv::Decoration { pub const DecorationHlslCounterBufferGOOGLE: root::spv::Decoration = Decoration::DecorationCounterBuffer; } impl root::spv::Decoration { pub const DecorationUserSemantic: root::spv::Decoration = Decoration::DecorationHlslSemanticGOOGLE; } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub 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, DecorationRestrictPointer = 5355, DecorationAliasedPointer = 5356, DecorationCounterBuffer = 5634, DecorationHlslSemanticGOOGLE = 5635, DecorationUserTypeGOOGLE = 5636, DecorationMax = 2147483647, } impl root::spv::BuiltIn { pub const BuiltInSubgroupEqMaskKHR: root::spv::BuiltIn = BuiltIn::BuiltInSubgroupEqMask; } impl root::spv::BuiltIn { pub const BuiltInSubgroupGeMaskKHR: root::spv::BuiltIn = BuiltIn::BuiltInSubgroupGeMask; } impl root::spv::BuiltIn { pub const BuiltInSubgroupGtMaskKHR: root::spv::BuiltIn = BuiltIn::BuiltInSubgroupGtMask; } impl root::spv::BuiltIn { pub const BuiltInSubgroupLeMaskKHR: root::spv::BuiltIn = BuiltIn::BuiltInSubgroupLeMask; } impl root::spv::BuiltIn { pub const BuiltInSubgroupLtMaskKHR: root::spv::BuiltIn = BuiltIn::BuiltInSubgroupLtMask; } impl root::spv::BuiltIn { pub const BuiltInFragmentSizeNV: root::spv::BuiltIn = BuiltIn::BuiltInFragSizeEXT; } impl root::spv::BuiltIn { pub const BuiltInInvocationsPerPixelNV: root::spv::BuiltIn = BuiltIn::BuiltInFragInvocationCountEXT; } impl root::spv::BuiltIn { pub const BuiltInLaunchIdNV: root::spv::BuiltIn = BuiltIn::BuiltInLaunchIdKHR; } impl root::spv::BuiltIn { pub const BuiltInLaunchSizeNV: root::spv::BuiltIn = BuiltIn::BuiltInLaunchSizeKHR; } impl root::spv::BuiltIn { pub const BuiltInWorldRayOriginNV: root::spv::BuiltIn = BuiltIn::BuiltInWorldRayOriginKHR; } impl root::spv::BuiltIn { pub const BuiltInWorldRayDirectionNV: root::spv::BuiltIn = BuiltIn::BuiltInWorldRayDirectionKHR; } impl root::spv::BuiltIn { pub const BuiltInObjectRayOriginNV: root::spv::BuiltIn = BuiltIn::BuiltInObjectRayOriginKHR; } impl root::spv::BuiltIn { pub const BuiltInObjectRayDirectionNV: root::spv::BuiltIn = BuiltIn::BuiltInObjectRayDirectionKHR; } impl root::spv::BuiltIn { pub const BuiltInRayTminNV: root::spv::BuiltIn = BuiltIn::BuiltInRayTminKHR; } impl root::spv::BuiltIn { pub const BuiltInRayTmaxNV: root::spv::BuiltIn = BuiltIn::BuiltInRayTmaxKHR; } impl root::spv::BuiltIn { pub const BuiltInInstanceCustomIndexNV: root::spv::BuiltIn = BuiltIn::BuiltInInstanceCustomIndexKHR; } impl root::spv::BuiltIn { pub const BuiltInObjectToWorldNV: root::spv::BuiltIn = BuiltIn::BuiltInObjectToWorldKHR; } impl root::spv::BuiltIn { pub const BuiltInWorldToObjectNV: root::spv::BuiltIn = BuiltIn::BuiltInWorldToObjectKHR; } impl root::spv::BuiltIn { pub const BuiltInHitTNV: root::spv::BuiltIn = BuiltIn::BuiltInHitTKHR; } impl root::spv::BuiltIn { pub const BuiltInHitKindNV: root::spv::BuiltIn = BuiltIn::BuiltInHitKindKHR; } impl root::spv::BuiltIn { pub const BuiltInIncomingRayFlagsNV: root::spv::BuiltIn = BuiltIn::BuiltInIncomingRayFlagsKHR; } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub 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, BuiltInSubgroupGeMask = 4417, BuiltInSubgroupGtMask = 4418, BuiltInSubgroupLeMask = 4419, BuiltInSubgroupLtMask = 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, BuiltInFragInvocationCountEXT = 5293, BuiltInLaunchIdKHR = 5319, BuiltInLaunchSizeKHR = 5320, BuiltInWorldRayOriginKHR = 5321, BuiltInWorldRayDirectionKHR = 5322, BuiltInObjectRayOriginKHR = 5323, BuiltInObjectRayDirectionKHR = 5324, BuiltInRayTminKHR = 5325, BuiltInRayTmaxKHR = 5326, BuiltInInstanceCustomIndexKHR = 5327, BuiltInObjectToWorldKHR = 5330, BuiltInWorldToObjectKHR = 5331, BuiltInHitTKHR = 5332, BuiltInHitKindKHR = 5333, BuiltInIncomingRayFlagsKHR = 5351, BuiltInRayGeometryIndexKHR = 5352, BuiltInWarpsPerSMNV = 5374, BuiltInSMCountNV = 5375, BuiltInWarpIDNV = 5376, BuiltInSMIDNV = 5377, BuiltInMax = 2147483647, } pub const SelectionControlShift_SelectionControlFlattenShift: root::spv::SelectionControlShift = 0; pub const SelectionControlShift_SelectionControlDontFlattenShift: root::spv::SelectionControlShift = 1; pub const SelectionControlShift_SelectionControlMax: root::spv::SelectionControlShift = 2147483647; pub type SelectionControlShift = u32; impl SelectionControlMask { pub const SelectionControlMaskNone: root::spv::SelectionControlMask = root::spv::SelectionControlMask(0); } impl SelectionControlMask { pub const SelectionControlFlattenMask: root::spv::SelectionControlMask = root::spv::SelectionControlMask(1); } impl SelectionControlMask { pub const SelectionControlDontFlattenMask: root::spv::SelectionControlMask = root::spv::SelectionControlMask(2); } impl ::std::ops::BitOr for root::spv::SelectionControlMask { type Output = Self; #[inline] fn bitor(self, other: Self) -> Self { SelectionControlMask(self.0 | other.0) } } impl ::std::ops::BitOrAssign for root::spv::SelectionControlMask { #[inline] fn bitor_assign(&mut self, rhs: root::spv::SelectionControlMask) { self.0 |= rhs.0; } } impl ::std::ops::BitAnd for root::spv::SelectionControlMask { type Output = Self; #[inline] fn bitand(self, other: Self) -> Self { SelectionControlMask(self.0 & other.0) } } impl ::std::ops::BitAndAssign for root::spv::SelectionControlMask { #[inline] fn bitand_assign(&mut self, rhs: root::spv::SelectionControlMask) { self.0 &= rhs.0; } } #[repr(transparent)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub struct SelectionControlMask(pub u32); pub const LoopControlShift_LoopControlUnrollShift: root::spv::LoopControlShift = 0; pub const LoopControlShift_LoopControlDontUnrollShift: root::spv::LoopControlShift = 1; pub const LoopControlShift_LoopControlDependencyInfiniteShift: root::spv::LoopControlShift = 2; pub const LoopControlShift_LoopControlDependencyLengthShift: root::spv::LoopControlShift = 3; pub const LoopControlShift_LoopControlMinIterationsShift: root::spv::LoopControlShift = 4; pub const LoopControlShift_LoopControlMaxIterationsShift: root::spv::LoopControlShift = 5; pub const LoopControlShift_LoopControlIterationMultipleShift: root::spv::LoopControlShift = 6; pub const LoopControlShift_LoopControlPeelCountShift: root::spv::LoopControlShift = 7; pub const LoopControlShift_LoopControlPartialCountShift: root::spv::LoopControlShift = 8; pub const LoopControlShift_LoopControlMax: root::spv::LoopControlShift = 2147483647; pub type LoopControlShift = u32; impl LoopControlMask { pub const LoopControlMaskNone: root::spv::LoopControlMask = root::spv::LoopControlMask(0); } impl LoopControlMask { pub const LoopControlUnrollMask: root::spv::LoopControlMask = root::spv::LoopControlMask(1); } impl LoopControlMask { pub const LoopControlDontUnrollMask: root::spv::LoopControlMask = root::spv::LoopControlMask(2); } impl LoopControlMask { pub const LoopControlDependencyInfiniteMask: root::spv::LoopControlMask = root::spv::LoopControlMask(4); } impl LoopControlMask { pub const LoopControlDependencyLengthMask: root::spv::LoopControlMask = root::spv::LoopControlMask(8); } impl LoopControlMask { pub const LoopControlMinIterationsMask: root::spv::LoopControlMask = root::spv::LoopControlMask(16); } impl LoopControlMask { pub const LoopControlMaxIterationsMask: root::spv::LoopControlMask = root::spv::LoopControlMask(32); } impl LoopControlMask { pub const LoopControlIterationMultipleMask: root::spv::LoopControlMask = root::spv::LoopControlMask(64); } impl LoopControlMask { pub const LoopControlPeelCountMask: root::spv::LoopControlMask = root::spv::LoopControlMask(128); } impl LoopControlMask { pub const LoopControlPartialCountMask: root::spv::LoopControlMask = root::spv::LoopControlMask(256); } impl ::std::ops::BitOr for root::spv::LoopControlMask { type Output = Self; #[inline] fn bitor(self, other: Self) -> Self { LoopControlMask(self.0 | other.0) } } impl ::std::ops::BitOrAssign for root::spv::LoopControlMask { #[inline] fn bitor_assign(&mut self, rhs: root::spv::LoopControlMask) { self.0 |= rhs.0; } } impl ::std::ops::BitAnd for root::spv::LoopControlMask { type Output = Self; #[inline] fn bitand(self, other: Self) -> Self { LoopControlMask(self.0 & other.0) } } impl ::std::ops::BitAndAssign for root::spv::LoopControlMask { #[inline] fn bitand_assign(&mut self, rhs: root::spv::LoopControlMask) { self.0 &= rhs.0; } } #[repr(transparent)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub struct LoopControlMask(pub u32); pub const FunctionControlShift_FunctionControlInlineShift: root::spv::FunctionControlShift = 0; pub const FunctionControlShift_FunctionControlDontInlineShift: root::spv::FunctionControlShift = 1; pub const FunctionControlShift_FunctionControlPureShift: root::spv::FunctionControlShift = 2; pub const FunctionControlShift_FunctionControlConstShift: root::spv::FunctionControlShift = 3; pub const FunctionControlShift_FunctionControlMax: root::spv::FunctionControlShift = 2147483647; pub type FunctionControlShift = u32; impl FunctionControlMask { pub const FunctionControlMaskNone: root::spv::FunctionControlMask = root::spv::FunctionControlMask(0); } impl FunctionControlMask { pub const FunctionControlInlineMask: root::spv::FunctionControlMask = root::spv::FunctionControlMask(1); } impl FunctionControlMask { pub const FunctionControlDontInlineMask: root::spv::FunctionControlMask = root::spv::FunctionControlMask(2); } impl FunctionControlMask { pub const FunctionControlPureMask: root::spv::FunctionControlMask = root::spv::FunctionControlMask(4); } impl FunctionControlMask { pub const FunctionControlConstMask: root::spv::FunctionControlMask = root::spv::FunctionControlMask(8); } impl ::std::ops::BitOr for root::spv::FunctionControlMask { type Output = Self; #[inline] fn bitor(self, other: Self) -> Self { FunctionControlMask(self.0 | other.0) } } impl ::std::ops::BitOrAssign for root::spv::FunctionControlMask { #[inline] fn bitor_assign(&mut self, rhs: root::spv::FunctionControlMask) { self.0 |= rhs.0; } } impl ::std::ops::BitAnd for root::spv::FunctionControlMask { type Output = Self; #[inline] fn bitand(self, other: Self) -> Self { FunctionControlMask(self.0 & other.0) } } impl ::std::ops::BitAndAssign for root::spv::FunctionControlMask { #[inline] fn bitand_assign(&mut self, rhs: root::spv::FunctionControlMask) { self.0 &= rhs.0; } } #[repr(transparent)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub struct FunctionControlMask(pub u32); pub const MemorySemanticsShift_MemorySemanticsAcquireShift: root::spv::MemorySemanticsShift = 1; pub const MemorySemanticsShift_MemorySemanticsReleaseShift: root::spv::MemorySemanticsShift = 2; pub const MemorySemanticsShift_MemorySemanticsAcquireReleaseShift: root::spv::MemorySemanticsShift = 3; pub const MemorySemanticsShift_MemorySemanticsSequentiallyConsistentShift: root::spv::MemorySemanticsShift = 4; pub const MemorySemanticsShift_MemorySemanticsUniformMemoryShift: root::spv::MemorySemanticsShift = 6; pub const MemorySemanticsShift_MemorySemanticsSubgroupMemoryShift: root::spv::MemorySemanticsShift = 7; pub const MemorySemanticsShift_MemorySemanticsWorkgroupMemoryShift: root::spv::MemorySemanticsShift = 8; pub const MemorySemanticsShift_MemorySemanticsCrossWorkgroupMemoryShift: root::spv::MemorySemanticsShift = 9; pub const MemorySemanticsShift_MemorySemanticsAtomicCounterMemoryShift: root::spv::MemorySemanticsShift = 10; pub const MemorySemanticsShift_MemorySemanticsImageMemoryShift: root::spv::MemorySemanticsShift = 11; pub const MemorySemanticsShift_MemorySemanticsOutputMemoryShift: root::spv::MemorySemanticsShift = 12; pub const MemorySemanticsShift_MemorySemanticsOutputMemoryKHRShift: root::spv::MemorySemanticsShift = 12; pub const MemorySemanticsShift_MemorySemanticsMakeAvailableShift: root::spv::MemorySemanticsShift = 13; pub const MemorySemanticsShift_MemorySemanticsMakeAvailableKHRShift: root::spv::MemorySemanticsShift = 13; pub const MemorySemanticsShift_MemorySemanticsMakeVisibleShift: root::spv::MemorySemanticsShift = 14; pub const MemorySemanticsShift_MemorySemanticsMakeVisibleKHRShift: root::spv::MemorySemanticsShift = 14; pub const MemorySemanticsShift_MemorySemanticsVolatileShift: root::spv::MemorySemanticsShift = 15; pub const MemorySemanticsShift_MemorySemanticsMax: root::spv::MemorySemanticsShift = 2147483647; pub type MemorySemanticsShift = u32; impl MemorySemanticsMask { pub const MemorySemanticsMaskNone: root::spv::MemorySemanticsMask = root::spv::MemorySemanticsMask(0); } impl MemorySemanticsMask { pub const MemorySemanticsAcquireMask: root::spv::MemorySemanticsMask = root::spv::MemorySemanticsMask(2); } impl MemorySemanticsMask { pub const MemorySemanticsReleaseMask: root::spv::MemorySemanticsMask = root::spv::MemorySemanticsMask(4); } impl MemorySemanticsMask { pub const MemorySemanticsAcquireReleaseMask: root::spv::MemorySemanticsMask = root::spv::MemorySemanticsMask(8); } impl MemorySemanticsMask { pub const MemorySemanticsSequentiallyConsistentMask: root::spv::MemorySemanticsMask = root::spv::MemorySemanticsMask(16); } impl MemorySemanticsMask { pub const MemorySemanticsUniformMemoryMask: root::spv::MemorySemanticsMask = root::spv::MemorySemanticsMask(64); } impl MemorySemanticsMask { pub const MemorySemanticsSubgroupMemoryMask: root::spv::MemorySemanticsMask = root::spv::MemorySemanticsMask(128); } impl MemorySemanticsMask { pub const MemorySemanticsWorkgroupMemoryMask: root::spv::MemorySemanticsMask = root::spv::MemorySemanticsMask(256); } impl MemorySemanticsMask { pub const MemorySemanticsCrossWorkgroupMemoryMask: root::spv::MemorySemanticsMask = root::spv::MemorySemanticsMask(512); } impl MemorySemanticsMask { pub const MemorySemanticsAtomicCounterMemoryMask: root::spv::MemorySemanticsMask = root::spv::MemorySemanticsMask(1024); } impl MemorySemanticsMask { pub const MemorySemanticsImageMemoryMask: root::spv::MemorySemanticsMask = root::spv::MemorySemanticsMask(2048); } impl MemorySemanticsMask { pub const MemorySemanticsOutputMemoryMask: root::spv::MemorySemanticsMask = root::spv::MemorySemanticsMask(4096); } impl MemorySemanticsMask { pub const MemorySemanticsOutputMemoryKHRMask: root::spv::MemorySemanticsMask = root::spv::MemorySemanticsMask(4096); } impl MemorySemanticsMask { pub const MemorySemanticsMakeAvailableMask: root::spv::MemorySemanticsMask = root::spv::MemorySemanticsMask(8192); } impl MemorySemanticsMask { pub const MemorySemanticsMakeAvailableKHRMask: root::spv::MemorySemanticsMask = root::spv::MemorySemanticsMask(8192); } impl MemorySemanticsMask { pub const MemorySemanticsMakeVisibleMask: root::spv::MemorySemanticsMask = root::spv::MemorySemanticsMask(16384); } impl MemorySemanticsMask { pub const MemorySemanticsMakeVisibleKHRMask: root::spv::MemorySemanticsMask = root::spv::MemorySemanticsMask(16384); } impl MemorySemanticsMask { pub const MemorySemanticsVolatileMask: root::spv::MemorySemanticsMask = root::spv::MemorySemanticsMask(32768); } impl ::std::ops::BitOr for root::spv::MemorySemanticsMask { type Output = Self; #[inline] fn bitor(self, other: Self) -> Self { MemorySemanticsMask(self.0 | other.0) } } impl ::std::ops::BitOrAssign for root::spv::MemorySemanticsMask { #[inline] fn bitor_assign(&mut self, rhs: root::spv::MemorySemanticsMask) { self.0 |= rhs.0; } } impl ::std::ops::BitAnd for root::spv::MemorySemanticsMask { type Output = Self; #[inline] fn bitand(self, other: Self) -> Self { MemorySemanticsMask(self.0 & other.0) } } impl ::std::ops::BitAndAssign for root::spv::MemorySemanticsMask { #[inline] fn bitand_assign(&mut self, rhs: root::spv::MemorySemanticsMask) { self.0 &= rhs.0; } } #[repr(transparent)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub struct MemorySemanticsMask(pub u32); pub const MemoryAccessShift_MemoryAccessVolatileShift: root::spv::MemoryAccessShift = 0; pub const MemoryAccessShift_MemoryAccessAlignedShift: root::spv::MemoryAccessShift = 1; pub const MemoryAccessShift_MemoryAccessNontemporalShift: root::spv::MemoryAccessShift = 2; pub const MemoryAccessShift_MemoryAccessMakePointerAvailableShift: root::spv::MemoryAccessShift = 3; pub const MemoryAccessShift_MemoryAccessMakePointerAvailableKHRShift: root::spv::MemoryAccessShift = 3; pub const MemoryAccessShift_MemoryAccessMakePointerVisibleShift: root::spv::MemoryAccessShift = 4; pub const MemoryAccessShift_MemoryAccessMakePointerVisibleKHRShift: root::spv::MemoryAccessShift = 4; pub const MemoryAccessShift_MemoryAccessNonPrivatePointerShift: root::spv::MemoryAccessShift = 5; pub const MemoryAccessShift_MemoryAccessNonPrivatePointerKHRShift: root::spv::MemoryAccessShift = 5; pub const MemoryAccessShift_MemoryAccessMax: root::spv::MemoryAccessShift = 2147483647; pub type MemoryAccessShift = u32; impl MemoryAccessMask { pub const MemoryAccessMaskNone: root::spv::MemoryAccessMask = root::spv::MemoryAccessMask(0); } impl MemoryAccessMask { pub const MemoryAccessVolatileMask: root::spv::MemoryAccessMask = root::spv::MemoryAccessMask(1); } impl MemoryAccessMask { pub const MemoryAccessAlignedMask: root::spv::MemoryAccessMask = root::spv::MemoryAccessMask(2); } impl MemoryAccessMask { pub const MemoryAccessNontemporalMask: root::spv::MemoryAccessMask = root::spv::MemoryAccessMask(4); } impl MemoryAccessMask { pub const MemoryAccessMakePointerAvailableMask: root::spv::MemoryAccessMask = root::spv::MemoryAccessMask(8); } impl MemoryAccessMask { pub const MemoryAccessMakePointerAvailableKHRMask: root::spv::MemoryAccessMask = root::spv::MemoryAccessMask(8); } impl MemoryAccessMask { pub const MemoryAccessMakePointerVisibleMask: root::spv::MemoryAccessMask = root::spv::MemoryAccessMask(16); } impl MemoryAccessMask { pub const MemoryAccessMakePointerVisibleKHRMask: root::spv::MemoryAccessMask = root::spv::MemoryAccessMask(16); } impl MemoryAccessMask { pub const MemoryAccessNonPrivatePointerMask: root::spv::MemoryAccessMask = root::spv::MemoryAccessMask(32); } impl MemoryAccessMask { pub const MemoryAccessNonPrivatePointerKHRMask: root::spv::MemoryAccessMask = root::spv::MemoryAccessMask(32); } impl ::std::ops::BitOr for root::spv::MemoryAccessMask { type Output = Self; #[inline] fn bitor(self, other: Self) -> Self { MemoryAccessMask(self.0 | other.0) } } impl ::std::ops::BitOrAssign for root::spv::MemoryAccessMask { #[inline] fn bitor_assign(&mut self, rhs: root::spv::MemoryAccessMask) { self.0 |= rhs.0; } } impl ::std::ops::BitAnd for root::spv::MemoryAccessMask { type Output = Self; #[inline] fn bitand(self, other: Self) -> Self { MemoryAccessMask(self.0 & other.0) } } impl ::std::ops::BitAndAssign for root::spv::MemoryAccessMask { #[inline] fn bitand_assign(&mut self, rhs: root::spv::MemoryAccessMask) { self.0 &= rhs.0; } } #[repr(transparent)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub struct MemoryAccessMask(pub u32); pub const Scope_ScopeCrossDevice: root::spv::Scope = 0; pub const Scope_ScopeDevice: root::spv::Scope = 1; pub const Scope_ScopeWorkgroup: root::spv::Scope = 2; pub const Scope_ScopeSubgroup: root::spv::Scope = 3; pub const Scope_ScopeInvocation: root::spv::Scope = 4; pub const Scope_ScopeQueueFamily: root::spv::Scope = 5; pub const Scope_ScopeQueueFamilyKHR: root::spv::Scope = 5; pub const Scope_ScopeShaderCallKHR: root::spv::Scope = 6; pub const Scope_ScopeMax: root::spv::Scope = 2147483647; pub type Scope = u32; pub const GroupOperation_GroupOperationReduce: root::spv::GroupOperation = 0; pub const GroupOperation_GroupOperationInclusiveScan: root::spv::GroupOperation = 1; pub const GroupOperation_GroupOperationExclusiveScan: root::spv::GroupOperation = 2; pub const GroupOperation_GroupOperationClusteredReduce: root::spv::GroupOperation = 3; pub const GroupOperation_GroupOperationPartitionedReduceNV: root::spv::GroupOperation = 6; pub const GroupOperation_GroupOperationPartitionedInclusiveScanNV: root::spv::GroupOperation = 7; pub const GroupOperation_GroupOperationPartitionedExclusiveScanNV: root::spv::GroupOperation = 8; pub const GroupOperation_GroupOperationMax: root::spv::GroupOperation = 2147483647; pub type GroupOperation = u32; impl KernelEnqueueFlags { pub const KernelEnqueueFlagsNoWait: root::spv::KernelEnqueueFlags = root::spv::KernelEnqueueFlags(0); } impl KernelEnqueueFlags { pub const KernelEnqueueFlagsWaitKernel: root::spv::KernelEnqueueFlags = root::spv::KernelEnqueueFlags(1); } impl KernelEnqueueFlags { pub const KernelEnqueueFlagsWaitWorkGroup: root::spv::KernelEnqueueFlags = root::spv::KernelEnqueueFlags(2); } impl KernelEnqueueFlags { pub const KernelEnqueueFlagsMax: root::spv::KernelEnqueueFlags = root::spv::KernelEnqueueFlags(2147483647); } impl ::std::ops::BitOr for root::spv::KernelEnqueueFlags { type Output = Self; #[inline] fn bitor(self, other: Self) -> Self { KernelEnqueueFlags(self.0 | other.0) } } impl ::std::ops::BitOrAssign for root::spv::KernelEnqueueFlags { #[inline] fn bitor_assign(&mut self, rhs: root::spv::KernelEnqueueFlags) { self.0 |= rhs.0; } } impl ::std::ops::BitAnd for root::spv::KernelEnqueueFlags { type Output = Self; #[inline] fn bitand(self, other: Self) -> Self { KernelEnqueueFlags(self.0 & other.0) } } impl ::std::ops::BitAndAssign for root::spv::KernelEnqueueFlags { #[inline] fn bitand_assign(&mut self, rhs: root::spv::KernelEnqueueFlags) { self.0 &= rhs.0; } } #[repr(transparent)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub struct KernelEnqueueFlags(pub u32); pub const KernelProfilingInfoShift_KernelProfilingInfoCmdExecTimeShift: root::spv::KernelProfilingInfoShift = 0; pub const KernelProfilingInfoShift_KernelProfilingInfoMax: root::spv::KernelProfilingInfoShift = 2147483647; pub type KernelProfilingInfoShift = u32; impl KernelProfilingInfoMask { pub const KernelProfilingInfoMaskNone: root::spv::KernelProfilingInfoMask = root::spv::KernelProfilingInfoMask(0); } impl KernelProfilingInfoMask { pub const KernelProfilingInfoCmdExecTimeMask: root::spv::KernelProfilingInfoMask = root::spv::KernelProfilingInfoMask(1); } impl ::std::ops::BitOr for root::spv::KernelProfilingInfoMask { type Output = Self; #[inline] fn bitor(self, other: Self) -> Self { KernelProfilingInfoMask(self.0 | other.0) } } impl ::std::ops::BitOrAssign for root::spv::KernelProfilingInfoMask { #[inline] fn bitor_assign(&mut self, rhs: root::spv::KernelProfilingInfoMask) { self.0 |= rhs.0; } } impl ::std::ops::BitAnd for root::spv::KernelProfilingInfoMask { type Output = Self; #[inline] fn bitand(self, other: Self) -> Self { KernelProfilingInfoMask(self.0 & other.0) } } impl ::std::ops::BitAndAssign for root::spv::KernelProfilingInfoMask { #[inline] fn bitand_assign(&mut self, rhs: root::spv::KernelProfilingInfoMask) { self.0 &= rhs.0; } } #[repr(transparent)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub struct KernelProfilingInfoMask(pub u32); pub const Capability_CapabilityMatrix: root::spv::Capability = 0; pub const Capability_CapabilityShader: root::spv::Capability = 1; pub const Capability_CapabilityGeometry: root::spv::Capability = 2; pub const Capability_CapabilityTessellation: root::spv::Capability = 3; pub const Capability_CapabilityAddresses: root::spv::Capability = 4; pub const Capability_CapabilityLinkage: root::spv::Capability = 5; pub const Capability_CapabilityKernel: root::spv::Capability = 6; pub const Capability_CapabilityVector16: root::spv::Capability = 7; pub const Capability_CapabilityFloat16Buffer: root::spv::Capability = 8; pub const Capability_CapabilityFloat16: root::spv::Capability = 9; pub const Capability_CapabilityFloat64: root::spv::Capability = 10; pub const Capability_CapabilityInt64: root::spv::Capability = 11; pub const Capability_CapabilityInt64Atomics: root::spv::Capability = 12; pub const Capability_CapabilityImageBasic: root::spv::Capability = 13; pub const Capability_CapabilityImageReadWrite: root::spv::Capability = 14; pub const Capability_CapabilityImageMipmap: root::spv::Capability = 15; pub const Capability_CapabilityPipes: root::spv::Capability = 17; pub const Capability_CapabilityGroups: root::spv::Capability = 18; pub const Capability_CapabilityDeviceEnqueue: root::spv::Capability = 19; pub const Capability_CapabilityLiteralSampler: root::spv::Capability = 20; pub const Capability_CapabilityAtomicStorage: root::spv::Capability = 21; pub const Capability_CapabilityInt16: root::spv::Capability = 22; pub const Capability_CapabilityTessellationPointSize: root::spv::Capability = 23; pub const Capability_CapabilityGeometryPointSize: root::spv::Capability = 24; pub const Capability_CapabilityImageGatherExtended: root::spv::Capability = 25; pub const Capability_CapabilityStorageImageMultisample: root::spv::Capability = 27; pub const Capability_CapabilityUniformBufferArrayDynamicIndexing: root::spv::Capability = 28; pub const Capability_CapabilitySampledImageArrayDynamicIndexing: root::spv::Capability = 29; pub const Capability_CapabilityStorageBufferArrayDynamicIndexing: root::spv::Capability = 30; pub const Capability_CapabilityStorageImageArrayDynamicIndexing: root::spv::Capability = 31; pub const Capability_CapabilityClipDistance: root::spv::Capability = 32; pub const Capability_CapabilityCullDistance: root::spv::Capability = 33; pub const Capability_CapabilityImageCubeArray: root::spv::Capability = 34; pub const Capability_CapabilitySampleRateShading: root::spv::Capability = 35; pub const Capability_CapabilityImageRect: root::spv::Capability = 36; pub const Capability_CapabilitySampledRect: root::spv::Capability = 37; pub const Capability_CapabilityGenericPointer: root::spv::Capability = 38; pub const Capability_CapabilityInt8: root::spv::Capability = 39; pub const Capability_CapabilityInputAttachment: root::spv::Capability = 40; pub const Capability_CapabilitySparseResidency: root::spv::Capability = 41; pub const Capability_CapabilityMinLod: root::spv::Capability = 42; pub const Capability_CapabilitySampled1D: root::spv::Capability = 43; pub const Capability_CapabilityImage1D: root::spv::Capability = 44; pub const Capability_CapabilitySampledCubeArray: root::spv::Capability = 45; pub const Capability_CapabilitySampledBuffer: root::spv::Capability = 46; pub const Capability_CapabilityImageBuffer: root::spv::Capability = 47; pub const Capability_CapabilityImageMSArray: root::spv::Capability = 48; pub const Capability_CapabilityStorageImageExtendedFormats: root::spv::Capability = 49; pub const Capability_CapabilityImageQuery: root::spv::Capability = 50; pub const Capability_CapabilityDerivativeControl: root::spv::Capability = 51; pub const Capability_CapabilityInterpolationFunction: root::spv::Capability = 52; pub const Capability_CapabilityTransformFeedback: root::spv::Capability = 53; pub const Capability_CapabilityGeometryStreams: root::spv::Capability = 54; pub const Capability_CapabilityStorageImageReadWithoutFormat: root::spv::Capability = 55; pub const Capability_CapabilityStorageImageWriteWithoutFormat: root::spv::Capability = 56; pub const Capability_CapabilityMultiViewport: root::spv::Capability = 57; pub const Capability_CapabilitySubgroupDispatch: root::spv::Capability = 58; pub const Capability_CapabilityNamedBarrier: root::spv::Capability = 59; pub const Capability_CapabilityPipeStorage: root::spv::Capability = 60; pub const Capability_CapabilityGroupNonUniform: root::spv::Capability = 61; pub const Capability_CapabilityGroupNonUniformVote: root::spv::Capability = 62; pub const Capability_CapabilityGroupNonUniformArithmetic: root::spv::Capability = 63; pub const Capability_CapabilityGroupNonUniformBallot: root::spv::Capability = 64; pub const Capability_CapabilityGroupNonUniformShuffle: root::spv::Capability = 65; pub const Capability_CapabilityGroupNonUniformShuffleRelative: root::spv::Capability = 66; pub const Capability_CapabilityGroupNonUniformClustered: root::spv::Capability = 67; pub const Capability_CapabilityGroupNonUniformQuad: root::spv::Capability = 68; pub const Capability_CapabilityShaderLayer: root::spv::Capability = 69; pub const Capability_CapabilityShaderViewportIndex: root::spv::Capability = 70; pub const Capability_CapabilitySubgroupBallotKHR: root::spv::Capability = 4423; pub const Capability_CapabilityDrawParameters: root::spv::Capability = 4427; pub const Capability_CapabilitySubgroupVoteKHR: root::spv::Capability = 4431; pub const Capability_CapabilityStorageBuffer16BitAccess: root::spv::Capability = 4433; pub const Capability_CapabilityStorageUniformBufferBlock16: root::spv::Capability = 4433; pub const Capability_CapabilityStorageUniform16: root::spv::Capability = 4434; pub const Capability_CapabilityUniformAndStorageBuffer16BitAccess: root::spv::Capability = 4434; pub const Capability_CapabilityStoragePushConstant16: root::spv::Capability = 4435; pub const Capability_CapabilityStorageInputOutput16: root::spv::Capability = 4436; pub const Capability_CapabilityDeviceGroup: root::spv::Capability = 4437; pub const Capability_CapabilityMultiView: root::spv::Capability = 4439; pub const Capability_CapabilityVariablePointersStorageBuffer: root::spv::Capability = 4441; pub const Capability_CapabilityVariablePointers: root::spv::Capability = 4442; pub const Capability_CapabilityAtomicStorageOps: root::spv::Capability = 4445; pub const Capability_CapabilitySampleMaskPostDepthCoverage: root::spv::Capability = 4447; pub const Capability_CapabilityStorageBuffer8BitAccess: root::spv::Capability = 4448; pub const Capability_CapabilityUniformAndStorageBuffer8BitAccess: root::spv::Capability = 4449; pub const Capability_CapabilityStoragePushConstant8: root::spv::Capability = 4450; pub const Capability_CapabilityDenormPreserve: root::spv::Capability = 4464; pub const Capability_CapabilityDenormFlushToZero: root::spv::Capability = 4465; pub const Capability_CapabilitySignedZeroInfNanPreserve: root::spv::Capability = 4466; pub const Capability_CapabilityRoundingModeRTE: root::spv::Capability = 4467; pub const Capability_CapabilityRoundingModeRTZ: root::spv::Capability = 4468; pub const Capability_CapabilityRayQueryProvisionalKHR: root::spv::Capability = 4471; pub const Capability_CapabilityRayTraversalPrimitiveCullingProvisionalKHR: root::spv::Capability = 4478; pub const Capability_CapabilityFloat16ImageAMD: root::spv::Capability = 5008; pub const Capability_CapabilityImageGatherBiasLodAMD: root::spv::Capability = 5009; pub const Capability_CapabilityFragmentMaskAMD: root::spv::Capability = 5010; pub const Capability_CapabilityStencilExportEXT: root::spv::Capability = 5013; pub const Capability_CapabilityImageReadWriteLodAMD: root::spv::Capability = 5015; pub const Capability_CapabilityShaderClockKHR: root::spv::Capability = 5055; pub const Capability_CapabilitySampleMaskOverrideCoverageNV: root::spv::Capability = 5249; pub const Capability_CapabilityGeometryShaderPassthroughNV: root::spv::Capability = 5251; pub const Capability_CapabilityShaderViewportIndexLayerEXT: root::spv::Capability = 5254; pub const Capability_CapabilityShaderViewportIndexLayerNV: root::spv::Capability = 5254; pub const Capability_CapabilityShaderViewportMaskNV: root::spv::Capability = 5255; pub const Capability_CapabilityShaderStereoViewNV: root::spv::Capability = 5259; pub const Capability_CapabilityPerViewAttributesNV: root::spv::Capability = 5260; pub const Capability_CapabilityFragmentFullyCoveredEXT: root::spv::Capability = 5265; pub const Capability_CapabilityMeshShadingNV: root::spv::Capability = 5266; pub const Capability_CapabilityImageFootprintNV: root::spv::Capability = 5282; pub const Capability_CapabilityFragmentBarycentricNV: root::spv::Capability = 5284; pub const Capability_CapabilityComputeDerivativeGroupQuadsNV: root::spv::Capability = 5288; pub const Capability_CapabilityFragmentDensityEXT: root::spv::Capability = 5291; pub const Capability_CapabilityShadingRateNV: root::spv::Capability = 5291; pub const Capability_CapabilityGroupNonUniformPartitionedNV: root::spv::Capability = 5297; pub const Capability_CapabilityShaderNonUniform: root::spv::Capability = 5301; pub const Capability_CapabilityShaderNonUniformEXT: root::spv::Capability = 5301; pub const Capability_CapabilityRuntimeDescriptorArray: root::spv::Capability = 5302; pub const Capability_CapabilityRuntimeDescriptorArrayEXT: root::spv::Capability = 5302; pub const Capability_CapabilityInputAttachmentArrayDynamicIndexing: root::spv::Capability = 5303; pub const Capability_CapabilityInputAttachmentArrayDynamicIndexingEXT: root::spv::Capability = 5303; pub const Capability_CapabilityUniformTexelBufferArrayDynamicIndexing: root::spv::Capability = 5304; pub const Capability_CapabilityUniformTexelBufferArrayDynamicIndexingEXT: root::spv::Capability = 5304; pub const Capability_CapabilityStorageTexelBufferArrayDynamicIndexing: root::spv::Capability = 5305; pub const Capability_CapabilityStorageTexelBufferArrayDynamicIndexingEXT: root::spv::Capability = 5305; pub const Capability_CapabilityUniformBufferArrayNonUniformIndexing: root::spv::Capability = 5306; pub const Capability_CapabilityUniformBufferArrayNonUniformIndexingEXT: root::spv::Capability = 5306; pub const Capability_CapabilitySampledImageArrayNonUniformIndexing: root::spv::Capability = 5307; pub const Capability_CapabilitySampledImageArrayNonUniformIndexingEXT: root::spv::Capability = 5307; pub const Capability_CapabilityStorageBufferArrayNonUniformIndexing: root::spv::Capability = 5308; pub const Capability_CapabilityStorageBufferArrayNonUniformIndexingEXT: root::spv::Capability = 5308; pub const Capability_CapabilityStorageImageArrayNonUniformIndexing: root::spv::Capability = 5309; pub const Capability_CapabilityStorageImageArrayNonUniformIndexingEXT: root::spv::Capability = 5309; pub const Capability_CapabilityInputAttachmentArrayNonUniformIndexing: root::spv::Capability = 5310; pub const Capability_CapabilityInputAttachmentArrayNonUniformIndexingEXT: root::spv::Capability = 5310; pub const Capability_CapabilityUniformTexelBufferArrayNonUniformIndexing: root::spv::Capability = 5311; pub const Capability_CapabilityUniformTexelBufferArrayNonUniformIndexingEXT: root::spv::Capability = 5311; pub const Capability_CapabilityStorageTexelBufferArrayNonUniformIndexing: root::spv::Capability = 5312; pub const Capability_CapabilityStorageTexelBufferArrayNonUniformIndexingEXT: root::spv::Capability = 5312; pub const Capability_CapabilityRayTracingNV: root::spv::Capability = 5340; pub const Capability_CapabilityVulkanMemoryModel: root::spv::Capability = 5345; pub const Capability_CapabilityVulkanMemoryModelKHR: root::spv::Capability = 5345; pub const Capability_CapabilityVulkanMemoryModelDeviceScope: root::spv::Capability = 5346; pub const Capability_CapabilityVulkanMemoryModelDeviceScopeKHR: root::spv::Capability = 5346; pub const Capability_CapabilityPhysicalStorageBufferAddresses: root::spv::Capability = 5347; pub const Capability_CapabilityPhysicalStorageBufferAddressesEXT: root::spv::Capability = 5347; pub const Capability_CapabilityComputeDerivativeGroupLinearNV: root::spv::Capability = 5350; pub const Capability_CapabilityRayTracingProvisionalKHR: root::spv::Capability = 5353; pub const Capability_CapabilityCooperativeMatrixNV: root::spv::Capability = 5357; pub const Capability_CapabilityFragmentShaderSampleInterlockEXT: root::spv::Capability = 5363; pub const Capability_CapabilityFragmentShaderShadingRateInterlockEXT: root::spv::Capability = 5372; pub const Capability_CapabilityShaderSMBuiltinsNV: root::spv::Capability = 5373; pub const Capability_CapabilityFragmentShaderPixelInterlockEXT: root::spv::Capability = 5378; pub const Capability_CapabilityDemoteToHelperInvocationEXT: root::spv::Capability = 5379; pub const Capability_CapabilitySubgroupShuffleINTEL: root::spv::Capability = 5568; pub const Capability_CapabilitySubgroupBufferBlockIOINTEL: root::spv::Capability = 5569; pub const Capability_CapabilitySubgroupImageBlockIOINTEL: root::spv::Capability = 5570; pub const Capability_CapabilitySubgroupImageMediaBlockIOINTEL: root::spv::Capability = 5579; pub const Capability_CapabilityIntegerFunctions2INTEL: root::spv::Capability = 5584; pub const Capability_CapabilitySubgroupAvcMotionEstimationINTEL: root::spv::Capability = 5696; pub const Capability_CapabilitySubgroupAvcMotionEstimationIntraINTEL: root::spv::Capability = 5697; pub const Capability_CapabilitySubgroupAvcMotionEstimationChromaINTEL: root::spv::Capability = 5698; pub const Capability_CapabilityMax: root::spv::Capability = 2147483647; pub type Capability = u32; pub const RayFlagsShift_RayFlagsOpaqueKHRShift: root::spv::RayFlagsShift = 0; pub const RayFlagsShift_RayFlagsNoOpaqueKHRShift: root::spv::RayFlagsShift = 1; pub const RayFlagsShift_RayFlagsTerminateOnFirstHitKHRShift: root::spv::RayFlagsShift = 2; pub const RayFlagsShift_RayFlagsSkipClosestHitShaderKHRShift: root::spv::RayFlagsShift = 3; pub const RayFlagsShift_RayFlagsCullBackFacingTrianglesKHRShift: root::spv::RayFlagsShift = 4; pub const RayFlagsShift_RayFlagsCullFrontFacingTrianglesKHRShift: root::spv::RayFlagsShift = 5; pub const RayFlagsShift_RayFlagsCullOpaqueKHRShift: root::spv::RayFlagsShift = 6; pub const RayFlagsShift_RayFlagsCullNoOpaqueKHRShift: root::spv::RayFlagsShift = 7; pub const RayFlagsShift_RayFlagsSkipTrianglesKHRShift: root::spv::RayFlagsShift = 8; pub const RayFlagsShift_RayFlagsSkipAABBsKHRShift: root::spv::RayFlagsShift = 9; pub const RayFlagsShift_RayFlagsMax: root::spv::RayFlagsShift = 2147483647; pub type RayFlagsShift = u32; impl RayFlagsMask { pub const RayFlagsMaskNone: root::spv::RayFlagsMask = root::spv::RayFlagsMask(0); } impl RayFlagsMask { pub const RayFlagsOpaqueKHRMask: root::spv::RayFlagsMask = root::spv::RayFlagsMask(1); } impl RayFlagsMask { pub const RayFlagsNoOpaqueKHRMask: root::spv::RayFlagsMask = root::spv::RayFlagsMask(2); } impl RayFlagsMask { pub const RayFlagsTerminateOnFirstHitKHRMask: root::spv::RayFlagsMask = root::spv::RayFlagsMask(4); } impl RayFlagsMask { pub const RayFlagsSkipClosestHitShaderKHRMask: root::spv::RayFlagsMask = root::spv::RayFlagsMask(8); } impl RayFlagsMask { pub const RayFlagsCullBackFacingTrianglesKHRMask: root::spv::RayFlagsMask = root::spv::RayFlagsMask(16); } impl RayFlagsMask { pub const RayFlagsCullFrontFacingTrianglesKHRMask: root::spv::RayFlagsMask = root::spv::RayFlagsMask(32); } impl RayFlagsMask { pub const RayFlagsCullOpaqueKHRMask: root::spv::RayFlagsMask = root::spv::RayFlagsMask(64); } impl RayFlagsMask { pub const RayFlagsCullNoOpaqueKHRMask: root::spv::RayFlagsMask = root::spv::RayFlagsMask(128); } impl RayFlagsMask { pub const RayFlagsSkipTrianglesKHRMask: root::spv::RayFlagsMask = root::spv::RayFlagsMask(256); } impl RayFlagsMask { pub const RayFlagsSkipAABBsKHRMask: root::spv::RayFlagsMask = root::spv::RayFlagsMask(512); } impl ::std::ops::BitOr for root::spv::RayFlagsMask { type Output = Self; #[inline] fn bitor(self, other: Self) -> Self { RayFlagsMask(self.0 | other.0) } } impl ::std::ops::BitOrAssign for root::spv::RayFlagsMask { #[inline] fn bitor_assign(&mut self, rhs: root::spv::RayFlagsMask) { self.0 |= rhs.0; } } impl ::std::ops::BitAnd for root::spv::RayFlagsMask { type Output = Self; #[inline] fn bitand(self, other: Self) -> Self { RayFlagsMask(self.0 & other.0) } } impl ::std::ops::BitAndAssign for root::spv::RayFlagsMask { #[inline] fn bitand_assign(&mut self, rhs: root::spv::RayFlagsMask) { self.0 &= rhs.0; } } #[repr(transparent)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub struct RayFlagsMask(pub u32); pub const RayQueryIntersection_RayQueryIntersectionRayQueryCandidateIntersectionKHR: root::spv::RayQueryIntersection = 0; pub const RayQueryIntersection_RayQueryIntersectionRayQueryCommittedIntersectionKHR: root::spv::RayQueryIntersection = 1; pub const RayQueryIntersection_RayQueryIntersectionMax: root::spv::RayQueryIntersection = 2147483647; pub type RayQueryIntersection = u32; pub const RayQueryCommittedIntersectionType_RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR : root :: spv :: RayQueryCommittedIntersectionType = 0 ; pub const RayQueryCommittedIntersectionType_RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR : root :: spv :: RayQueryCommittedIntersectionType = 1 ; pub const RayQueryCommittedIntersectionType_RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR : root :: spv :: RayQueryCommittedIntersectionType = 2 ; pub const RayQueryCommittedIntersectionType_RayQueryCommittedIntersectionTypeMax: root::spv::RayQueryCommittedIntersectionType = 2147483647; pub type RayQueryCommittedIntersectionType = u32; pub const RayQueryCandidateIntersectionType_RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR : root :: spv :: RayQueryCandidateIntersectionType = 0 ; pub const RayQueryCandidateIntersectionType_RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR : root :: spv :: RayQueryCandidateIntersectionType = 1 ; pub const RayQueryCandidateIntersectionType_RayQueryCandidateIntersectionTypeMax: root::spv::RayQueryCandidateIntersectionType = 2147483647; pub type RayQueryCandidateIntersectionType = u32; pub const Op_OpNop: root::spv::Op = 0; pub const Op_OpUndef: root::spv::Op = 1; pub const Op_OpSourceContinued: root::spv::Op = 2; pub const Op_OpSource: root::spv::Op = 3; pub const Op_OpSourceExtension: root::spv::Op = 4; pub const Op_OpName: root::spv::Op = 5; pub const Op_OpMemberName: root::spv::Op = 6; pub const Op_OpString: root::spv::Op = 7; pub const Op_OpLine: root::spv::Op = 8; pub const Op_OpExtension: root::spv::Op = 10; pub const Op_OpExtInstImport: root::spv::Op = 11; pub const Op_OpExtInst: root::spv::Op = 12; pub const Op_OpMemoryModel: root::spv::Op = 14; pub const Op_OpEntryPoint: root::spv::Op = 15; pub const Op_OpExecutionMode: root::spv::Op = 16; pub const Op_OpCapability: root::spv::Op = 17; pub const Op_OpTypeVoid: root::spv::Op = 19; pub const Op_OpTypeBool: root::spv::Op = 20; pub const Op_OpTypeInt: root::spv::Op = 21; pub const Op_OpTypeFloat: root::spv::Op = 22; pub const Op_OpTypeVector: root::spv::Op = 23; pub const Op_OpTypeMatrix: root::spv::Op = 24; pub const Op_OpTypeImage: root::spv::Op = 25; pub const Op_OpTypeSampler: root::spv::Op = 26; pub const Op_OpTypeSampledImage: root::spv::Op = 27; pub const Op_OpTypeArray: root::spv::Op = 28; pub const Op_OpTypeRuntimeArray: root::spv::Op = 29; pub const Op_OpTypeStruct: root::spv::Op = 30; pub const Op_OpTypeOpaque: root::spv::Op = 31; pub const Op_OpTypePointer: root::spv::Op = 32; pub const Op_OpTypeFunction: root::spv::Op = 33; pub const Op_OpTypeEvent: root::spv::Op = 34; pub const Op_OpTypeDeviceEvent: root::spv::Op = 35; pub const Op_OpTypeReserveId: root::spv::Op = 36; pub const Op_OpTypeQueue: root::spv::Op = 37; pub const Op_OpTypePipe: root::spv::Op = 38; pub const Op_OpTypeForwardPointer: root::spv::Op = 39; pub const Op_OpConstantTrue: root::spv::Op = 41; pub const Op_OpConstantFalse: root::spv::Op = 42; pub const Op_OpConstant: root::spv::Op = 43; pub const Op_OpConstantComposite: root::spv::Op = 44; pub const Op_OpConstantSampler: root::spv::Op = 45; pub const Op_OpConstantNull: root::spv::Op = 46; pub const Op_OpSpecConstantTrue: root::spv::Op = 48; pub const Op_OpSpecConstantFalse: root::spv::Op = 49; pub const Op_OpSpecConstant: root::spv::Op = 50; pub const Op_OpSpecConstantComposite: root::spv::Op = 51; pub const Op_OpSpecConstantOp: root::spv::Op = 52; pub const Op_OpFunction: root::spv::Op = 54; pub const Op_OpFunctionParameter: root::spv::Op = 55; pub const Op_OpFunctionEnd: root::spv::Op = 56; pub const Op_OpFunctionCall: root::spv::Op = 57; pub const Op_OpVariable: root::spv::Op = 59; pub const Op_OpImageTexelPointer: root::spv::Op = 60; pub const Op_OpLoad: root::spv::Op = 61; pub const Op_OpStore: root::spv::Op = 62; pub const Op_OpCopyMemory: root::spv::Op = 63; pub const Op_OpCopyMemorySized: root::spv::Op = 64; pub const Op_OpAccessChain: root::spv::Op = 65; pub const Op_OpInBoundsAccessChain: root::spv::Op = 66; pub const Op_OpPtrAccessChain: root::spv::Op = 67; pub const Op_OpArrayLength: root::spv::Op = 68; pub const Op_OpGenericPtrMemSemantics: root::spv::Op = 69; pub const Op_OpInBoundsPtrAccessChain: root::spv::Op = 70; pub const Op_OpDecorate: root::spv::Op = 71; pub const Op_OpMemberDecorate: root::spv::Op = 72; pub const Op_OpDecorationGroup: root::spv::Op = 73; pub const Op_OpGroupDecorate: root::spv::Op = 74; pub const Op_OpGroupMemberDecorate: root::spv::Op = 75; pub const Op_OpVectorExtractDynamic: root::spv::Op = 77; pub const Op_OpVectorInsertDynamic: root::spv::Op = 78; pub const Op_OpVectorShuffle: root::spv::Op = 79; pub const Op_OpCompositeConstruct: root::spv::Op = 80; pub const Op_OpCompositeExtract: root::spv::Op = 81; pub const Op_OpCompositeInsert: root::spv::Op = 82; pub const Op_OpCopyObject: root::spv::Op = 83; pub const Op_OpTranspose: root::spv::Op = 84; pub const Op_OpSampledImage: root::spv::Op = 86; pub const Op_OpImageSampleImplicitLod: root::spv::Op = 87; pub const Op_OpImageSampleExplicitLod: root::spv::Op = 88; pub const Op_OpImageSampleDrefImplicitLod: root::spv::Op = 89; pub const Op_OpImageSampleDrefExplicitLod: root::spv::Op = 90; pub const Op_OpImageSampleProjImplicitLod: root::spv::Op = 91; pub const Op_OpImageSampleProjExplicitLod: root::spv::Op = 92; pub const Op_OpImageSampleProjDrefImplicitLod: root::spv::Op = 93; pub const Op_OpImageSampleProjDrefExplicitLod: root::spv::Op = 94; pub const Op_OpImageFetch: root::spv::Op = 95; pub const Op_OpImageGather: root::spv::Op = 96; pub const Op_OpImageDrefGather: root::spv::Op = 97; pub const Op_OpImageRead: root::spv::Op = 98; pub const Op_OpImageWrite: root::spv::Op = 99; pub const Op_OpImage: root::spv::Op = 100; pub const Op_OpImageQueryFormat: root::spv::Op = 101; pub const Op_OpImageQueryOrder: root::spv::Op = 102; pub const Op_OpImageQuerySizeLod: root::spv::Op = 103; pub const Op_OpImageQuerySize: root::spv::Op = 104; pub const Op_OpImageQueryLod: root::spv::Op = 105; pub const Op_OpImageQueryLevels: root::spv::Op = 106; pub const Op_OpImageQuerySamples: root::spv::Op = 107; pub const Op_OpConvertFToU: root::spv::Op = 109; pub const Op_OpConvertFToS: root::spv::Op = 110; pub const Op_OpConvertSToF: root::spv::Op = 111; pub const Op_OpConvertUToF: root::spv::Op = 112; pub const Op_OpUConvert: root::spv::Op = 113; pub const Op_OpSConvert: root::spv::Op = 114; pub const Op_OpFConvert: root::spv::Op = 115; pub const Op_OpQuantizeToF16: root::spv::Op = 116; pub const Op_OpConvertPtrToU: root::spv::Op = 117; pub const Op_OpSatConvertSToU: root::spv::Op = 118; pub const Op_OpSatConvertUToS: root::spv::Op = 119; pub const Op_OpConvertUToPtr: root::spv::Op = 120; pub const Op_OpPtrCastToGeneric: root::spv::Op = 121; pub const Op_OpGenericCastToPtr: root::spv::Op = 122; pub const Op_OpGenericCastToPtrExplicit: root::spv::Op = 123; pub const Op_OpBitcast: root::spv::Op = 124; pub const Op_OpSNegate: root::spv::Op = 126; pub const Op_OpFNegate: root::spv::Op = 127; pub const Op_OpIAdd: root::spv::Op = 128; pub const Op_OpFAdd: root::spv::Op = 129; pub const Op_OpISub: root::spv::Op = 130; pub const Op_OpFSub: root::spv::Op = 131; pub const Op_OpIMul: root::spv::Op = 132; pub const Op_OpFMul: root::spv::Op = 133; pub const Op_OpUDiv: root::spv::Op = 134; pub const Op_OpSDiv: root::spv::Op = 135; pub const Op_OpFDiv: root::spv::Op = 136; pub const Op_OpUMod: root::spv::Op = 137; pub const Op_OpSRem: root::spv::Op = 138; pub const Op_OpSMod: root::spv::Op = 139; pub const Op_OpFRem: root::spv::Op = 140; pub const Op_OpFMod: root::spv::Op = 141; pub const Op_OpVectorTimesScalar: root::spv::Op = 142; pub const Op_OpMatrixTimesScalar: root::spv::Op = 143; pub const Op_OpVectorTimesMatrix: root::spv::Op = 144; pub const Op_OpMatrixTimesVector: root::spv::Op = 145; pub const Op_OpMatrixTimesMatrix: root::spv::Op = 146; pub const Op_OpOuterProduct: root::spv::Op = 147; pub const Op_OpDot: root::spv::Op = 148; pub const Op_OpIAddCarry: root::spv::Op = 149; pub const Op_OpISubBorrow: root::spv::Op = 150; pub const Op_OpUMulExtended: root::spv::Op = 151; pub const Op_OpSMulExtended: root::spv::Op = 152; pub const Op_OpAny: root::spv::Op = 154; pub const Op_OpAll: root::spv::Op = 155; pub const Op_OpIsNan: root::spv::Op = 156; pub const Op_OpIsInf: root::spv::Op = 157; pub const Op_OpIsFinite: root::spv::Op = 158; pub const Op_OpIsNormal: root::spv::Op = 159; pub const Op_OpSignBitSet: root::spv::Op = 160; pub const Op_OpLessOrGreater: root::spv::Op = 161; pub const Op_OpOrdered: root::spv::Op = 162; pub const Op_OpUnordered: root::spv::Op = 163; pub const Op_OpLogicalEqual: root::spv::Op = 164; pub const Op_OpLogicalNotEqual: root::spv::Op = 165; pub const Op_OpLogicalOr: root::spv::Op = 166; pub const Op_OpLogicalAnd: root::spv::Op = 167; pub const Op_OpLogicalNot: root::spv::Op = 168; pub const Op_OpSelect: root::spv::Op = 169; pub const Op_OpIEqual: root::spv::Op = 170; pub const Op_OpINotEqual: root::spv::Op = 171; pub const Op_OpUGreaterThan: root::spv::Op = 172; pub const Op_OpSGreaterThan: root::spv::Op = 173; pub const Op_OpUGreaterThanEqual: root::spv::Op = 174; pub const Op_OpSGreaterThanEqual: root::spv::Op = 175; pub const Op_OpULessThan: root::spv::Op = 176; pub const Op_OpSLessThan: root::spv::Op = 177; pub const Op_OpULessThanEqual: root::spv::Op = 178; pub const Op_OpSLessThanEqual: root::spv::Op = 179; pub const Op_OpFOrdEqual: root::spv::Op = 180; pub const Op_OpFUnordEqual: root::spv::Op = 181; pub const Op_OpFOrdNotEqual: root::spv::Op = 182; pub const Op_OpFUnordNotEqual: root::spv::Op = 183; pub const Op_OpFOrdLessThan: root::spv::Op = 184; pub const Op_OpFUnordLessThan: root::spv::Op = 185; pub const Op_OpFOrdGreaterThan: root::spv::Op = 186; pub const Op_OpFUnordGreaterThan: root::spv::Op = 187; pub const Op_OpFOrdLessThanEqual: root::spv::Op = 188; pub const Op_OpFUnordLessThanEqual: root::spv::Op = 189; pub const Op_OpFOrdGreaterThanEqual: root::spv::Op = 190; pub const Op_OpFUnordGreaterThanEqual: root::spv::Op = 191; pub const Op_OpShiftRightLogical: root::spv::Op = 194; pub const Op_OpShiftRightArithmetic: root::spv::Op = 195; pub const Op_OpShiftLeftLogical: root::spv::Op = 196; pub const Op_OpBitwiseOr: root::spv::Op = 197; pub const Op_OpBitwiseXor: root::spv::Op = 198; pub const Op_OpBitwiseAnd: root::spv::Op = 199; pub const Op_OpNot: root::spv::Op = 200; pub const Op_OpBitFieldInsert: root::spv::Op = 201; pub const Op_OpBitFieldSExtract: root::spv::Op = 202; pub const Op_OpBitFieldUExtract: root::spv::Op = 203; pub const Op_OpBitReverse: root::spv::Op = 204; pub const Op_OpBitCount: root::spv::Op = 205; pub const Op_OpDPdx: root::spv::Op = 207; pub const Op_OpDPdy: root::spv::Op = 208; pub const Op_OpFwidth: root::spv::Op = 209; pub const Op_OpDPdxFine: root::spv::Op = 210; pub const Op_OpDPdyFine: root::spv::Op = 211; pub const Op_OpFwidthFine: root::spv::Op = 212; pub const Op_OpDPdxCoarse: root::spv::Op = 213; pub const Op_OpDPdyCoarse: root::spv::Op = 214; pub const Op_OpFwidthCoarse: root::spv::Op = 215; pub const Op_OpEmitVertex: root::spv::Op = 218; pub const Op_OpEndPrimitive: root::spv::Op = 219; pub const Op_OpEmitStreamVertex: root::spv::Op = 220; pub const Op_OpEndStreamPrimitive: root::spv::Op = 221; pub const Op_OpControlBarrier: root::spv::Op = 224; pub const Op_OpMemoryBarrier: root::spv::Op = 225; pub const Op_OpAtomicLoad: root::spv::Op = 227; pub const Op_OpAtomicStore: root::spv::Op = 228; pub const Op_OpAtomicExchange: root::spv::Op = 229; pub const Op_OpAtomicCompareExchange: root::spv::Op = 230; pub const Op_OpAtomicCompareExchangeWeak: root::spv::Op = 231; pub const Op_OpAtomicIIncrement: root::spv::Op = 232; pub const Op_OpAtomicIDecrement: root::spv::Op = 233; pub const Op_OpAtomicIAdd: root::spv::Op = 234; pub const Op_OpAtomicISub: root::spv::Op = 235; pub const Op_OpAtomicSMin: root::spv::Op = 236; pub const Op_OpAtomicUMin: root::spv::Op = 237; pub const Op_OpAtomicSMax: root::spv::Op = 238; pub const Op_OpAtomicUMax: root::spv::Op = 239; pub const Op_OpAtomicAnd: root::spv::Op = 240; pub const Op_OpAtomicOr: root::spv::Op = 241; pub const Op_OpAtomicXor: root::spv::Op = 242; pub const Op_OpPhi: root::spv::Op = 245; pub const Op_OpLoopMerge: root::spv::Op = 246; pub const Op_OpSelectionMerge: root::spv::Op = 247; pub const Op_OpLabel: root::spv::Op = 248; pub const Op_OpBranch: root::spv::Op = 249; pub const Op_OpBranchConditional: root::spv::Op = 250; pub const Op_OpSwitch: root::spv::Op = 251; pub const Op_OpKill: root::spv::Op = 252; pub const Op_OpReturn: root::spv::Op = 253; pub const Op_OpReturnValue: root::spv::Op = 254; pub const Op_OpUnreachable: root::spv::Op = 255; pub const Op_OpLifetimeStart: root::spv::Op = 256; pub const Op_OpLifetimeStop: root::spv::Op = 257; pub const Op_OpGroupAsyncCopy: root::spv::Op = 259; pub const Op_OpGroupWaitEvents: root::spv::Op = 260; pub const Op_OpGroupAll: root::spv::Op = 261; pub const Op_OpGroupAny: root::spv::Op = 262; pub const Op_OpGroupBroadcast: root::spv::Op = 263; pub const Op_OpGroupIAdd: root::spv::Op = 264; pub const Op_OpGroupFAdd: root::spv::Op = 265; pub const Op_OpGroupFMin: root::spv::Op = 266; pub const Op_OpGroupUMin: root::spv::Op = 267; pub const Op_OpGroupSMin: root::spv::Op = 268; pub const Op_OpGroupFMax: root::spv::Op = 269; pub const Op_OpGroupUMax: root::spv::Op = 270; pub const Op_OpGroupSMax: root::spv::Op = 271; pub const Op_OpReadPipe: root::spv::Op = 274; pub const Op_OpWritePipe: root::spv::Op = 275; pub const Op_OpReservedReadPipe: root::spv::Op = 276; pub const Op_OpReservedWritePipe: root::spv::Op = 277; pub const Op_OpReserveReadPipePackets: root::spv::Op = 278; pub const Op_OpReserveWritePipePackets: root::spv::Op = 279; pub const Op_OpCommitReadPipe: root::spv::Op = 280; pub const Op_OpCommitWritePipe: root::spv::Op = 281; pub const Op_OpIsValidReserveId: root::spv::Op = 282; pub const Op_OpGetNumPipePackets: root::spv::Op = 283; pub const Op_OpGetMaxPipePackets: root::spv::Op = 284; pub const Op_OpGroupReserveReadPipePackets: root::spv::Op = 285; pub const Op_OpGroupReserveWritePipePackets: root::spv::Op = 286; pub const Op_OpGroupCommitReadPipe: root::spv::Op = 287; pub const Op_OpGroupCommitWritePipe: root::spv::Op = 288; pub const Op_OpEnqueueMarker: root::spv::Op = 291; pub const Op_OpEnqueueKernel: root::spv::Op = 292; pub const Op_OpGetKernelNDrangeSubGroupCount: root::spv::Op = 293; pub const Op_OpGetKernelNDrangeMaxSubGroupSize: root::spv::Op = 294; pub const Op_OpGetKernelWorkGroupSize: root::spv::Op = 295; pub const Op_OpGetKernelPreferredWorkGroupSizeMultiple: root::spv::Op = 296; pub const Op_OpRetainEvent: root::spv::Op = 297; pub const Op_OpReleaseEvent: root::spv::Op = 298; pub const Op_OpCreateUserEvent: root::spv::Op = 299; pub const Op_OpIsValidEvent: root::spv::Op = 300; pub const Op_OpSetUserEventStatus: root::spv::Op = 301; pub const Op_OpCaptureEventProfilingInfo: root::spv::Op = 302; pub const Op_OpGetDefaultQueue: root::spv::Op = 303; pub const Op_OpBuildNDRange: root::spv::Op = 304; pub const Op_OpImageSparseSampleImplicitLod: root::spv::Op = 305; pub const Op_OpImageSparseSampleExplicitLod: root::spv::Op = 306; pub const Op_OpImageSparseSampleDrefImplicitLod: root::spv::Op = 307; pub const Op_OpImageSparseSampleDrefExplicitLod: root::spv::Op = 308; pub const Op_OpImageSparseSampleProjImplicitLod: root::spv::Op = 309; pub const Op_OpImageSparseSampleProjExplicitLod: root::spv::Op = 310; pub const Op_OpImageSparseSampleProjDrefImplicitLod: root::spv::Op = 311; pub const Op_OpImageSparseSampleProjDrefExplicitLod: root::spv::Op = 312; pub const Op_OpImageSparseFetch: root::spv::Op = 313; pub const Op_OpImageSparseGather: root::spv::Op = 314; pub const Op_OpImageSparseDrefGather: root::spv::Op = 315; pub const Op_OpImageSparseTexelsResident: root::spv::Op = 316; pub const Op_OpNoLine: root::spv::Op = 317; pub const Op_OpAtomicFlagTestAndSet: root::spv::Op = 318; pub const Op_OpAtomicFlagClear: root::spv::Op = 319; pub const Op_OpImageSparseRead: root::spv::Op = 320; pub const Op_OpSizeOf: root::spv::Op = 321; pub const Op_OpTypePipeStorage: root::spv::Op = 322; pub const Op_OpConstantPipeStorage: root::spv::Op = 323; pub const Op_OpCreatePipeFromPipeStorage: root::spv::Op = 324; pub const Op_OpGetKernelLocalSizeForSubgroupCount: root::spv::Op = 325; pub const Op_OpGetKernelMaxNumSubgroups: root::spv::Op = 326; pub const Op_OpTypeNamedBarrier: root::spv::Op = 327; pub const Op_OpNamedBarrierInitialize: root::spv::Op = 328; pub const Op_OpMemoryNamedBarrier: root::spv::Op = 329; pub const Op_OpModuleProcessed: root::spv::Op = 330; pub const Op_OpExecutionModeId: root::spv::Op = 331; pub const Op_OpDecorateId: root::spv::Op = 332; pub const Op_OpGroupNonUniformElect: root::spv::Op = 333; pub const Op_OpGroupNonUniformAll: root::spv::Op = 334; pub const Op_OpGroupNonUniformAny: root::spv::Op = 335; pub const Op_OpGroupNonUniformAllEqual: root::spv::Op = 336; pub const Op_OpGroupNonUniformBroadcast: root::spv::Op = 337; pub const Op_OpGroupNonUniformBroadcastFirst: root::spv::Op = 338; pub const Op_OpGroupNonUniformBallot: root::spv::Op = 339; pub const Op_OpGroupNonUniformInverseBallot: root::spv::Op = 340; pub const Op_OpGroupNonUniformBallotBitExtract: root::spv::Op = 341; pub const Op_OpGroupNonUniformBallotBitCount: root::spv::Op = 342; pub const Op_OpGroupNonUniformBallotFindLSB: root::spv::Op = 343; pub const Op_OpGroupNonUniformBallotFindMSB: root::spv::Op = 344; pub const Op_OpGroupNonUniformShuffle: root::spv::Op = 345; pub const Op_OpGroupNonUniformShuffleXor: root::spv::Op = 346; pub const Op_OpGroupNonUniformShuffleUp: root::spv::Op = 347; pub const Op_OpGroupNonUniformShuffleDown: root::spv::Op = 348; pub const Op_OpGroupNonUniformIAdd: root::spv::Op = 349; pub const Op_OpGroupNonUniformFAdd: root::spv::Op = 350; pub const Op_OpGroupNonUniformIMul: root::spv::Op = 351; pub const Op_OpGroupNonUniformFMul: root::spv::Op = 352; pub const Op_OpGroupNonUniformSMin: root::spv::Op = 353; pub const Op_OpGroupNonUniformUMin: root::spv::Op = 354; pub const Op_OpGroupNonUniformFMin: root::spv::Op = 355; pub const Op_OpGroupNonUniformSMax: root::spv::Op = 356; pub const Op_OpGroupNonUniformUMax: root::spv::Op = 357; pub const Op_OpGroupNonUniformFMax: root::spv::Op = 358; pub const Op_OpGroupNonUniformBitwiseAnd: root::spv::Op = 359; pub const Op_OpGroupNonUniformBitwiseOr: root::spv::Op = 360; pub const Op_OpGroupNonUniformBitwiseXor: root::spv::Op = 361; pub const Op_OpGroupNonUniformLogicalAnd: root::spv::Op = 362; pub const Op_OpGroupNonUniformLogicalOr: root::spv::Op = 363; pub const Op_OpGroupNonUniformLogicalXor: root::spv::Op = 364; pub const Op_OpGroupNonUniformQuadBroadcast: root::spv::Op = 365; pub const Op_OpGroupNonUniformQuadSwap: root::spv::Op = 366; pub const Op_OpCopyLogical: root::spv::Op = 400; pub const Op_OpPtrEqual: root::spv::Op = 401; pub const Op_OpPtrNotEqual: root::spv::Op = 402; pub const Op_OpPtrDiff: root::spv::Op = 403; pub const Op_OpSubgroupBallotKHR: root::spv::Op = 4421; pub const Op_OpSubgroupFirstInvocationKHR: root::spv::Op = 4422; pub const Op_OpSubgroupAllKHR: root::spv::Op = 4428; pub const Op_OpSubgroupAnyKHR: root::spv::Op = 4429; pub const Op_OpSubgroupAllEqualKHR: root::spv::Op = 4430; pub const Op_OpSubgroupReadInvocationKHR: root::spv::Op = 4432; pub const Op_OpTypeRayQueryProvisionalKHR: root::spv::Op = 4472; pub const Op_OpRayQueryInitializeKHR: root::spv::Op = 4473; pub const Op_OpRayQueryTerminateKHR: root::spv::Op = 4474; pub const Op_OpRayQueryGenerateIntersectionKHR: root::spv::Op = 4475; pub const Op_OpRayQueryConfirmIntersectionKHR: root::spv::Op = 4476; pub const Op_OpRayQueryProceedKHR: root::spv::Op = 4477; pub const Op_OpRayQueryGetIntersectionTypeKHR: root::spv::Op = 4479; pub const Op_OpGroupIAddNonUniformAMD: root::spv::Op = 5000; pub const Op_OpGroupFAddNonUniformAMD: root::spv::Op = 5001; pub const Op_OpGroupFMinNonUniformAMD: root::spv::Op = 5002; pub const Op_OpGroupUMinNonUniformAMD: root::spv::Op = 5003; pub const Op_OpGroupSMinNonUniformAMD: root::spv::Op = 5004; pub const Op_OpGroupFMaxNonUniformAMD: root::spv::Op = 5005; pub const Op_OpGroupUMaxNonUniformAMD: root::spv::Op = 5006; pub const Op_OpGroupSMaxNonUniformAMD: root::spv::Op = 5007; pub const Op_OpFragmentMaskFetchAMD: root::spv::Op = 5011; pub const Op_OpFragmentFetchAMD: root::spv::Op = 5012; pub const Op_OpReadClockKHR: root::spv::Op = 5056; pub const Op_OpImageSampleFootprintNV: root::spv::Op = 5283; pub const Op_OpGroupNonUniformPartitionNV: root::spv::Op = 5296; pub const Op_OpWritePackedPrimitiveIndices4x8NV: root::spv::Op = 5299; pub const Op_OpReportIntersectionKHR: root::spv::Op = 5334; pub const Op_OpReportIntersectionNV: root::spv::Op = 5334; pub const Op_OpIgnoreIntersectionKHR: root::spv::Op = 5335; pub const Op_OpIgnoreIntersectionNV: root::spv::Op = 5335; pub const Op_OpTerminateRayKHR: root::spv::Op = 5336; pub const Op_OpTerminateRayNV: root::spv::Op = 5336; pub const Op_OpTraceNV: root::spv::Op = 5337; pub const Op_OpTraceRayKHR: root::spv::Op = 5337; pub const Op_OpTypeAccelerationStructureKHR: root::spv::Op = 5341; pub const Op_OpTypeAccelerationStructureNV: root::spv::Op = 5341; pub const Op_OpExecuteCallableKHR: root::spv::Op = 5344; pub const Op_OpExecuteCallableNV: root::spv::Op = 5344; pub const Op_OpTypeCooperativeMatrixNV: root::spv::Op = 5358; pub const Op_OpCooperativeMatrixLoadNV: root::spv::Op = 5359; pub const Op_OpCooperativeMatrixStoreNV: root::spv::Op = 5360; pub const Op_OpCooperativeMatrixMulAddNV: root::spv::Op = 5361; pub const Op_OpCooperativeMatrixLengthNV: root::spv::Op = 5362; pub const Op_OpBeginInvocationInterlockEXT: root::spv::Op = 5364; pub const Op_OpEndInvocationInterlockEXT: root::spv::Op = 5365; pub const Op_OpDemoteToHelperInvocationEXT: root::spv::Op = 5380; pub const Op_OpIsHelperInvocationEXT: root::spv::Op = 5381; pub const Op_OpSubgroupShuffleINTEL: root::spv::Op = 5571; pub const Op_OpSubgroupShuffleDownINTEL: root::spv::Op = 5572; pub const Op_OpSubgroupShuffleUpINTEL: root::spv::Op = 5573; pub const Op_OpSubgroupShuffleXorINTEL: root::spv::Op = 5574; pub const Op_OpSubgroupBlockReadINTEL: root::spv::Op = 5575; pub const Op_OpSubgroupBlockWriteINTEL: root::spv::Op = 5576; pub const Op_OpSubgroupImageBlockReadINTEL: root::spv::Op = 5577; pub const Op_OpSubgroupImageBlockWriteINTEL: root::spv::Op = 5578; pub const Op_OpSubgroupImageMediaBlockReadINTEL: root::spv::Op = 5580; pub const Op_OpSubgroupImageMediaBlockWriteINTEL: root::spv::Op = 5581; pub const Op_OpUCountLeadingZerosINTEL: root::spv::Op = 5585; pub const Op_OpUCountTrailingZerosINTEL: root::spv::Op = 5586; pub const Op_OpAbsISubINTEL: root::spv::Op = 5587; pub const Op_OpAbsUSubINTEL: root::spv::Op = 5588; pub const Op_OpIAddSatINTEL: root::spv::Op = 5589; pub const Op_OpUAddSatINTEL: root::spv::Op = 5590; pub const Op_OpIAverageINTEL: root::spv::Op = 5591; pub const Op_OpUAverageINTEL: root::spv::Op = 5592; pub const Op_OpIAverageRoundedINTEL: root::spv::Op = 5593; pub const Op_OpUAverageRoundedINTEL: root::spv::Op = 5594; pub const Op_OpISubSatINTEL: root::spv::Op = 5595; pub const Op_OpUSubSatINTEL: root::spv::Op = 5596; pub const Op_OpIMul32x16INTEL: root::spv::Op = 5597; pub const Op_OpUMul32x16INTEL: root::spv::Op = 5598; pub const Op_OpDecorateString: root::spv::Op = 5632; pub const Op_OpDecorateStringGOOGLE: root::spv::Op = 5632; pub const Op_OpMemberDecorateString: root::spv::Op = 5633; pub const Op_OpMemberDecorateStringGOOGLE: root::spv::Op = 5633; pub const Op_OpVmeImageINTEL: root::spv::Op = 5699; pub const Op_OpTypeVmeImageINTEL: root::spv::Op = 5700; pub const Op_OpTypeAvcImePayloadINTEL: root::spv::Op = 5701; pub const Op_OpTypeAvcRefPayloadINTEL: root::spv::Op = 5702; pub const Op_OpTypeAvcSicPayloadINTEL: root::spv::Op = 5703; pub const Op_OpTypeAvcMcePayloadINTEL: root::spv::Op = 5704; pub const Op_OpTypeAvcMceResultINTEL: root::spv::Op = 5705; pub const Op_OpTypeAvcImeResultINTEL: root::spv::Op = 5706; pub const Op_OpTypeAvcImeResultSingleReferenceStreamoutINTEL: root::spv::Op = 5707; pub const Op_OpTypeAvcImeResultDualReferenceStreamoutINTEL: root::spv::Op = 5708; pub const Op_OpTypeAvcImeSingleReferenceStreaminINTEL: root::spv::Op = 5709; pub const Op_OpTypeAvcImeDualReferenceStreaminINTEL: root::spv::Op = 5710; pub const Op_OpTypeAvcRefResultINTEL: root::spv::Op = 5711; pub const Op_OpTypeAvcSicResultINTEL: root::spv::Op = 5712; pub const Op_OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: root::spv::Op = 5713; pub const Op_OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: root::spv::Op = 5714; pub const Op_OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: root::spv::Op = 5715; pub const Op_OpSubgroupAvcMceSetInterShapePenaltyINTEL: root::spv::Op = 5716; pub const Op_OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: root::spv::Op = 5717; pub const Op_OpSubgroupAvcMceSetInterDirectionPenaltyINTEL: root::spv::Op = 5718; pub const Op_OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: root::spv::Op = 5719; pub const Op_OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: root::spv::Op = 5720; pub const Op_OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: root::spv::Op = 5721; pub const Op_OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: root::spv::Op = 5722; pub const Op_OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: root::spv::Op = 5723; pub const Op_OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: root::spv::Op = 5724; pub const Op_OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: root::spv::Op = 5725; pub const Op_OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: root::spv::Op = 5726; pub const Op_OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: root::spv::Op = 5727; pub const Op_OpSubgroupAvcMceSetAcOnlyHaarINTEL: root::spv::Op = 5728; pub const Op_OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: root::spv::Op = 5729; pub const Op_OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: root::spv::Op = 5730; pub const Op_OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: root::spv::Op = 5731; pub const Op_OpSubgroupAvcMceConvertToImePayloadINTEL: root::spv::Op = 5732; pub const Op_OpSubgroupAvcMceConvertToImeResultINTEL: root::spv::Op = 5733; pub const Op_OpSubgroupAvcMceConvertToRefPayloadINTEL: root::spv::Op = 5734; pub const Op_OpSubgroupAvcMceConvertToRefResultINTEL: root::spv::Op = 5735; pub const Op_OpSubgroupAvcMceConvertToSicPayloadINTEL: root::spv::Op = 5736; pub const Op_OpSubgroupAvcMceConvertToSicResultINTEL: root::spv::Op = 5737; pub const Op_OpSubgroupAvcMceGetMotionVectorsINTEL: root::spv::Op = 5738; pub const Op_OpSubgroupAvcMceGetInterDistortionsINTEL: root::spv::Op = 5739; pub const Op_OpSubgroupAvcMceGetBestInterDistortionsINTEL: root::spv::Op = 5740; pub const Op_OpSubgroupAvcMceGetInterMajorShapeINTEL: root::spv::Op = 5741; pub const Op_OpSubgroupAvcMceGetInterMinorShapeINTEL: root::spv::Op = 5742; pub const Op_OpSubgroupAvcMceGetInterDirectionsINTEL: root::spv::Op = 5743; pub const Op_OpSubgroupAvcMceGetInterMotionVectorCountINTEL: root::spv::Op = 5744; pub const Op_OpSubgroupAvcMceGetInterReferenceIdsINTEL: root::spv::Op = 5745; pub const Op_OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: root::spv::Op = 5746; pub const Op_OpSubgroupAvcImeInitializeINTEL: root::spv::Op = 5747; pub const Op_OpSubgroupAvcImeSetSingleReferenceINTEL: root::spv::Op = 5748; pub const Op_OpSubgroupAvcImeSetDualReferenceINTEL: root::spv::Op = 5749; pub const Op_OpSubgroupAvcImeRefWindowSizeINTEL: root::spv::Op = 5750; pub const Op_OpSubgroupAvcImeAdjustRefOffsetINTEL: root::spv::Op = 5751; pub const Op_OpSubgroupAvcImeConvertToMcePayloadINTEL: root::spv::Op = 5752; pub const Op_OpSubgroupAvcImeSetMaxMotionVectorCountINTEL: root::spv::Op = 5753; pub const Op_OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: root::spv::Op = 5754; pub const Op_OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: root::spv::Op = 5755; pub const Op_OpSubgroupAvcImeSetWeightedSadINTEL: root::spv::Op = 5756; pub const Op_OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: root::spv::Op = 5757; pub const Op_OpSubgroupAvcImeEvaluateWithDualReferenceINTEL: root::spv::Op = 5758; pub const Op_OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: root::spv::Op = 5759; pub const Op_OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: root::spv::Op = 5760; pub const Op_OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: root::spv::Op = 5761; pub const Op_OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: root::spv::Op = 5762; pub const Op_OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: root::spv::Op = 5763; pub const Op_OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: root::spv::Op = 5764; pub const Op_OpSubgroupAvcImeConvertToMceResultINTEL: root::spv::Op = 5765; pub const Op_OpSubgroupAvcImeGetSingleReferenceStreaminINTEL: root::spv::Op = 5766; pub const Op_OpSubgroupAvcImeGetDualReferenceStreaminINTEL: root::spv::Op = 5767; pub const Op_OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: root::spv::Op = 5768; pub const Op_OpSubgroupAvcImeStripDualReferenceStreamoutINTEL: root::spv::Op = 5769; pub const Op_OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: root::spv::Op = 5770; pub const Op_OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: root::spv::Op = 5771; pub const Op_OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: root::spv::Op = 5772; pub const Op_OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: root::spv::Op = 5773; pub const Op_OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: root::spv::Op = 5774; pub const Op_OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: root::spv::Op = 5775; pub const Op_OpSubgroupAvcImeGetBorderReachedINTEL: root::spv::Op = 5776; pub const Op_OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: root::spv::Op = 5777; pub const Op_OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: root::spv::Op = 5778; pub const Op_OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: root::spv::Op = 5779; pub const Op_OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: root::spv::Op = 5780; pub const Op_OpSubgroupAvcFmeInitializeINTEL: root::spv::Op = 5781; pub const Op_OpSubgroupAvcBmeInitializeINTEL: root::spv::Op = 5782; pub const Op_OpSubgroupAvcRefConvertToMcePayloadINTEL: root::spv::Op = 5783; pub const Op_OpSubgroupAvcRefSetBidirectionalMixDisableINTEL: root::spv::Op = 5784; pub const Op_OpSubgroupAvcRefSetBilinearFilterEnableINTEL: root::spv::Op = 5785; pub const Op_OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: root::spv::Op = 5786; pub const Op_OpSubgroupAvcRefEvaluateWithDualReferenceINTEL: root::spv::Op = 5787; pub const Op_OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: root::spv::Op = 5788; pub const Op_OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: root::spv::Op = 5789; pub const Op_OpSubgroupAvcRefConvertToMceResultINTEL: root::spv::Op = 5790; pub const Op_OpSubgroupAvcSicInitializeINTEL: root::spv::Op = 5791; pub const Op_OpSubgroupAvcSicConfigureSkcINTEL: root::spv::Op = 5792; pub const Op_OpSubgroupAvcSicConfigureIpeLumaINTEL: root::spv::Op = 5793; pub const Op_OpSubgroupAvcSicConfigureIpeLumaChromaINTEL: root::spv::Op = 5794; pub const Op_OpSubgroupAvcSicGetMotionVectorMaskINTEL: root::spv::Op = 5795; pub const Op_OpSubgroupAvcSicConvertToMcePayloadINTEL: root::spv::Op = 5796; pub const Op_OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: root::spv::Op = 5797; pub const Op_OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: root::spv::Op = 5798; pub const Op_OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: root::spv::Op = 5799; pub const Op_OpSubgroupAvcSicSetBilinearFilterEnableINTEL: root::spv::Op = 5800; pub const Op_OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: root::spv::Op = 5801; pub const Op_OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: root::spv::Op = 5802; pub const Op_OpSubgroupAvcSicEvaluateIpeINTEL: root::spv::Op = 5803; pub const Op_OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: root::spv::Op = 5804; pub const Op_OpSubgroupAvcSicEvaluateWithDualReferenceINTEL: root::spv::Op = 5805; pub const Op_OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: root::spv::Op = 5806; pub const Op_OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: root::spv::Op = 5807; pub const Op_OpSubgroupAvcSicConvertToMceResultINTEL: root::spv::Op = 5808; pub const Op_OpSubgroupAvcSicGetIpeLumaShapeINTEL: root::spv::Op = 5809; pub const Op_OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: root::spv::Op = 5810; pub const Op_OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: root::spv::Op = 5811; pub const Op_OpSubgroupAvcSicGetPackedIpeLumaModesINTEL: root::spv::Op = 5812; pub const Op_OpSubgroupAvcSicGetIpeChromaModeINTEL: root::spv::Op = 5813; pub const Op_OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: root::spv::Op = 5814; pub const Op_OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: root::spv::Op = 5815; pub const Op_OpSubgroupAvcSicGetInterRawSadsINTEL: root::spv::Op = 5816; pub const Op_OpRayQueryGetRayTMinKHR: root::spv::Op = 6016; pub const Op_OpRayQueryGetRayFlagsKHR: root::spv::Op = 6017; pub const Op_OpRayQueryGetIntersectionTKHR: root::spv::Op = 6018; pub const Op_OpRayQueryGetIntersectionInstanceCustomIndexKHR: root::spv::Op = 6019; pub const Op_OpRayQueryGetIntersectionInstanceIdKHR: root::spv::Op = 6020; pub const Op_OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: root::spv::Op = 6021; pub const Op_OpRayQueryGetIntersectionGeometryIndexKHR: root::spv::Op = 6022; pub const Op_OpRayQueryGetIntersectionPrimitiveIndexKHR: root::spv::Op = 6023; pub const Op_OpRayQueryGetIntersectionBarycentricsKHR: root::spv::Op = 6024; pub const Op_OpRayQueryGetIntersectionFrontFaceKHR: root::spv::Op = 6025; pub const Op_OpRayQueryGetIntersectionCandidateAABBOpaqueKHR: root::spv::Op = 6026; pub const Op_OpRayQueryGetIntersectionObjectRayDirectionKHR: root::spv::Op = 6027; pub const Op_OpRayQueryGetIntersectionObjectRayOriginKHR: root::spv::Op = 6028; pub const Op_OpRayQueryGetWorldRayDirectionKHR: root::spv::Op = 6029; pub const Op_OpRayQueryGetWorldRayOriginKHR: root::spv::Op = 6030; pub const Op_OpRayQueryGetIntersectionObjectToWorldKHR: root::spv::Op = 6031; pub const Op_OpRayQueryGetIntersectionWorldToObjectKHR: root::spv::Op = 6032; pub const Op_OpMax: root::spv::Op = 2147483647; pub type Op = u32; } pub mod std { #[allow(unused_imports)] use self::super::super::root; } pub type __darwin_size_t = ::std::os::raw::c_ulong; pub mod spirv_cross { #[allow(unused_imports)] use self::super::super::root; #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum SPIRType_BaseType { Unknown = 0, Void = 1, Boolean = 2, SByte = 3, UByte = 4, Short = 5, UShort = 6, Int = 7, UInt = 8, Int64 = 9, UInt64 = 10, AtomicCounter = 11, Half = 12, Float = 13, Double = 14, Struct = 15, Image = 16, SampledImage = 17, Sampler = 18, AccelerationStructure = 19, RayQuery = 20, ControlPointArray = 21, Char = 22, } pub const MSLShaderInputFormat_MSL_SHADER_INPUT_FORMAT_OTHER: root::spirv_cross::MSLShaderInputFormat = 0; pub const MSLShaderInputFormat_MSL_SHADER_INPUT_FORMAT_UINT8: root::spirv_cross::MSLShaderInputFormat = 1; pub const MSLShaderInputFormat_MSL_SHADER_INPUT_FORMAT_UINT16: root::spirv_cross::MSLShaderInputFormat = 2; pub const MSLShaderInputFormat_MSL_SHADER_INPUT_FORMAT_ANY16: root::spirv_cross::MSLShaderInputFormat = 3; pub const MSLShaderInputFormat_MSL_SHADER_INPUT_FORMAT_ANY32: root::spirv_cross::MSLShaderInputFormat = 4; pub const MSLShaderInputFormat_MSL_VERTEX_FORMAT_OTHER: root::spirv_cross::MSLShaderInputFormat = 0; pub const MSLShaderInputFormat_MSL_VERTEX_FORMAT_UINT8: root::spirv_cross::MSLShaderInputFormat = 1; pub const MSLShaderInputFormat_MSL_VERTEX_FORMAT_UINT16: root::spirv_cross::MSLShaderInputFormat = 2; pub const MSLShaderInputFormat_MSL_SHADER_INPUT_FORMAT_INT_MAX: root::spirv_cross::MSLShaderInputFormat = 2147483647; pub type MSLShaderInputFormat = u32; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct MSLShaderInput { pub location: u32, pub format: root::spirv_cross::MSLShaderInputFormat, pub builtin: root::spv::BuiltIn, pub vecsize: u32, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct MSLResourceBinding { pub stage: root::spv::ExecutionModel, pub desc_set: u32, pub binding: u32, pub msl_buffer: u32, pub msl_texture: u32, pub msl_sampler: u32, } pub const MSLSamplerCoord_MSL_SAMPLER_COORD_NORMALIZED: root::spirv_cross::MSLSamplerCoord = 0; pub const MSLSamplerCoord_MSL_SAMPLER_COORD_PIXEL: root::spirv_cross::MSLSamplerCoord = 1; pub const MSLSamplerCoord_MSL_SAMPLER_INT_MAX: root::spirv_cross::MSLSamplerCoord = 2147483647; pub type MSLSamplerCoord = u32; pub const MSLSamplerFilter_MSL_SAMPLER_FILTER_NEAREST: root::spirv_cross::MSLSamplerFilter = 0; pub const MSLSamplerFilter_MSL_SAMPLER_FILTER_LINEAR: root::spirv_cross::MSLSamplerFilter = 1; pub const MSLSamplerFilter_MSL_SAMPLER_FILTER_INT_MAX: root::spirv_cross::MSLSamplerFilter = 2147483647; pub type MSLSamplerFilter = u32; pub const MSLSamplerMipFilter_MSL_SAMPLER_MIP_FILTER_NONE: root::spirv_cross::MSLSamplerMipFilter = 0; pub const MSLSamplerMipFilter_MSL_SAMPLER_MIP_FILTER_NEAREST: root::spirv_cross::MSLSamplerMipFilter = 1; pub const MSLSamplerMipFilter_MSL_SAMPLER_MIP_FILTER_LINEAR: root::spirv_cross::MSLSamplerMipFilter = 2; pub const MSLSamplerMipFilter_MSL_SAMPLER_MIP_FILTER_INT_MAX: root::spirv_cross::MSLSamplerMipFilter = 2147483647; pub type MSLSamplerMipFilter = u32; pub const MSLSamplerAddress_MSL_SAMPLER_ADDRESS_CLAMP_TO_ZERO: root::spirv_cross::MSLSamplerAddress = 0; pub const MSLSamplerAddress_MSL_SAMPLER_ADDRESS_CLAMP_TO_EDGE: root::spirv_cross::MSLSamplerAddress = 1; pub const MSLSamplerAddress_MSL_SAMPLER_ADDRESS_CLAMP_TO_BORDER: root::spirv_cross::MSLSamplerAddress = 2; pub const MSLSamplerAddress_MSL_SAMPLER_ADDRESS_REPEAT: root::spirv_cross::MSLSamplerAddress = 3; pub const MSLSamplerAddress_MSL_SAMPLER_ADDRESS_MIRRORED_REPEAT: root::spirv_cross::MSLSamplerAddress = 4; pub const MSLSamplerAddress_MSL_SAMPLER_ADDRESS_INT_MAX: root::spirv_cross::MSLSamplerAddress = 2147483647; pub type MSLSamplerAddress = u32; pub const MSLSamplerCompareFunc_MSL_SAMPLER_COMPARE_FUNC_NEVER: root::spirv_cross::MSLSamplerCompareFunc = 0; pub const MSLSamplerCompareFunc_MSL_SAMPLER_COMPARE_FUNC_LESS: root::spirv_cross::MSLSamplerCompareFunc = 1; pub const MSLSamplerCompareFunc_MSL_SAMPLER_COMPARE_FUNC_LESS_EQUAL: root::spirv_cross::MSLSamplerCompareFunc = 2; pub const MSLSamplerCompareFunc_MSL_SAMPLER_COMPARE_FUNC_GREATER: root::spirv_cross::MSLSamplerCompareFunc = 3; pub const MSLSamplerCompareFunc_MSL_SAMPLER_COMPARE_FUNC_GREATER_EQUAL: root::spirv_cross::MSLSamplerCompareFunc = 4; pub const MSLSamplerCompareFunc_MSL_SAMPLER_COMPARE_FUNC_EQUAL: root::spirv_cross::MSLSamplerCompareFunc = 5; pub const MSLSamplerCompareFunc_MSL_SAMPLER_COMPARE_FUNC_NOT_EQUAL: root::spirv_cross::MSLSamplerCompareFunc = 6; pub const MSLSamplerCompareFunc_MSL_SAMPLER_COMPARE_FUNC_ALWAYS: root::spirv_cross::MSLSamplerCompareFunc = 7; pub const MSLSamplerCompareFunc_MSL_SAMPLER_COMPARE_FUNC_INT_MAX: root::spirv_cross::MSLSamplerCompareFunc = 2147483647; pub type MSLSamplerCompareFunc = u32; pub const MSLSamplerBorderColor_MSL_SAMPLER_BORDER_COLOR_TRANSPARENT_BLACK: root::spirv_cross::MSLSamplerBorderColor = 0; pub const MSLSamplerBorderColor_MSL_SAMPLER_BORDER_COLOR_OPAQUE_BLACK: root::spirv_cross::MSLSamplerBorderColor = 1; pub const MSLSamplerBorderColor_MSL_SAMPLER_BORDER_COLOR_OPAQUE_WHITE: root::spirv_cross::MSLSamplerBorderColor = 2; pub const MSLSamplerBorderColor_MSL_SAMPLER_BORDER_COLOR_INT_MAX: root::spirv_cross::MSLSamplerBorderColor = 2147483647; pub type MSLSamplerBorderColor = u32; pub const MSLFormatResolution_MSL_FORMAT_RESOLUTION_444: root::spirv_cross::MSLFormatResolution = 0; pub const MSLFormatResolution_MSL_FORMAT_RESOLUTION_422: root::spirv_cross::MSLFormatResolution = 1; pub const MSLFormatResolution_MSL_FORMAT_RESOLUTION_420: root::spirv_cross::MSLFormatResolution = 2; pub const MSLFormatResolution_MSL_FORMAT_RESOLUTION_INT_MAX: root::spirv_cross::MSLFormatResolution = 2147483647; pub type MSLFormatResolution = u32; pub const MSLChromaLocation_MSL_CHROMA_LOCATION_COSITED_EVEN: root::spirv_cross::MSLChromaLocation = 0; pub const MSLChromaLocation_MSL_CHROMA_LOCATION_MIDPOINT: root::spirv_cross::MSLChromaLocation = 1; pub const MSLChromaLocation_MSL_CHROMA_LOCATION_INT_MAX: root::spirv_cross::MSLChromaLocation = 2147483647; pub type MSLChromaLocation = u32; pub const MSLComponentSwizzle_MSL_COMPONENT_SWIZZLE_IDENTITY: root::spirv_cross::MSLComponentSwizzle = 0; pub const MSLComponentSwizzle_MSL_COMPONENT_SWIZZLE_ZERO: root::spirv_cross::MSLComponentSwizzle = 1; pub const MSLComponentSwizzle_MSL_COMPONENT_SWIZZLE_ONE: root::spirv_cross::MSLComponentSwizzle = 2; pub const MSLComponentSwizzle_MSL_COMPONENT_SWIZZLE_R: root::spirv_cross::MSLComponentSwizzle = 3; pub const MSLComponentSwizzle_MSL_COMPONENT_SWIZZLE_G: root::spirv_cross::MSLComponentSwizzle = 4; pub const MSLComponentSwizzle_MSL_COMPONENT_SWIZZLE_B: root::spirv_cross::MSLComponentSwizzle = 5; pub const MSLComponentSwizzle_MSL_COMPONENT_SWIZZLE_A: root::spirv_cross::MSLComponentSwizzle = 6; pub const MSLComponentSwizzle_MSL_COMPONENT_SWIZZLE_INT_MAX: root::spirv_cross::MSLComponentSwizzle = 2147483647; pub type MSLComponentSwizzle = u32; pub const MSLSamplerYCbCrModelConversion_MSL_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY: root::spirv_cross::MSLSamplerYCbCrModelConversion = 0; pub const MSLSamplerYCbCrModelConversion_MSL_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY : root :: spirv_cross :: MSLSamplerYCbCrModelConversion = 1 ; pub const MSLSamplerYCbCrModelConversion_MSL_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_BT_709: root::spirv_cross::MSLSamplerYCbCrModelConversion = 2; pub const MSLSamplerYCbCrModelConversion_MSL_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_BT_601: root::spirv_cross::MSLSamplerYCbCrModelConversion = 3; pub const MSLSamplerYCbCrModelConversion_MSL_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_BT_2020 : root :: spirv_cross :: MSLSamplerYCbCrModelConversion = 4 ; pub const MSLSamplerYCbCrModelConversion_MSL_SAMPLER_YCBCR_MODEL_CONVERSION_INT_MAX: root::spirv_cross::MSLSamplerYCbCrModelConversion = 2147483647; pub type MSLSamplerYCbCrModelConversion = u32; pub const MSLSamplerYCbCrRange_MSL_SAMPLER_YCBCR_RANGE_ITU_FULL: root::spirv_cross::MSLSamplerYCbCrRange = 0; pub const MSLSamplerYCbCrRange_MSL_SAMPLER_YCBCR_RANGE_ITU_NARROW: root::spirv_cross::MSLSamplerYCbCrRange = 1; pub const MSLSamplerYCbCrRange_MSL_SAMPLER_YCBCR_RANGE_INT_MAX: root::spirv_cross::MSLSamplerYCbCrRange = 2147483647; pub type MSLSamplerYCbCrRange = u32; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct MSLConstexprSampler { pub coord: root::spirv_cross::MSLSamplerCoord, pub min_filter: root::spirv_cross::MSLSamplerFilter, pub mag_filter: root::spirv_cross::MSLSamplerFilter, pub mip_filter: root::spirv_cross::MSLSamplerMipFilter, pub s_address: root::spirv_cross::MSLSamplerAddress, pub t_address: root::spirv_cross::MSLSamplerAddress, pub r_address: root::spirv_cross::MSLSamplerAddress, pub compare_func: root::spirv_cross::MSLSamplerCompareFunc, pub border_color: root::spirv_cross::MSLSamplerBorderColor, pub lod_clamp_min: f32, pub lod_clamp_max: f32, pub max_anisotropy: ::std::os::raw::c_int, pub planes: u32, pub resolution: root::spirv_cross::MSLFormatResolution, pub chroma_filter: root::spirv_cross::MSLSamplerFilter, pub x_chroma_offset: root::spirv_cross::MSLChromaLocation, pub y_chroma_offset: root::spirv_cross::MSLChromaLocation, pub swizzle: [root::spirv_cross::MSLComponentSwizzle; 4usize], pub ycbcr_model: root::spirv_cross::MSLSamplerYCbCrModelConversion, pub ycbcr_range: root::spirv_cross::MSLSamplerYCbCrRange, pub bpc: u32, pub compare_enable: bool, pub lod_clamp_enable: bool, pub anisotropy_enable: bool, pub ycbcr_conversion_enable: bool, } } pub type ScInternalCompilerBase = ::std::os::raw::c_void; pub type ScInternalCompilerHlsl = ::std::os::raw::c_void; pub type ScInternalCompilerMsl = ::std::os::raw::c_void; pub type ScInternalCompilerGlsl = ::std::os::raw::c_void; #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum ScInternalResult { Success = 0, Unhandled = 1, CompilationError = 2, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct ScEntryPoint { pub name: *mut ::std::os::raw::c_char, pub execution_model: root::spv::ExecutionModel, pub work_group_size_x: u32, pub work_group_size_y: u32, pub work_group_size_z: u32, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct ScBufferRange { pub index: ::std::os::raw::c_uint, pub offset: usize, pub range: usize, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct ScCombinedImageSampler { pub combined_id: u32, pub image_id: u32, pub sampler_id: u32, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct ScHlslRootConstant { pub start: u32, pub end: u32, pub binding: u32, pub space: u32, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct ScHlslCompilerOptions { pub shader_model: i32, pub point_size_compat: bool, pub point_coord_compat: bool, pub vertex_transform_clip_space: bool, pub vertex_invert_y: bool, pub force_storage_buffer_as_uav: bool, pub nonwritable_uav_texture_as_srv: bool, pub force_zero_initialized_variables: bool, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct ScMslCompilerOptions { pub vertex_transform_clip_space: bool, pub vertex_invert_y: bool, pub platform: u8, pub version: u32, pub enable_point_size_builtin: bool, pub disable_rasterization: bool, pub swizzle_buffer_index: u32, pub indirect_params_buffer_index: u32, pub shader_output_buffer_index: u32, pub shader_patch_output_buffer_index: u32, pub shader_tess_factor_buffer_index: u32, pub buffer_size_buffer_index: u32, pub capture_output_to_buffer: bool, pub swizzle_texture_samples: bool, pub tess_domain_origin_lower_left: bool, pub argument_buffers: bool, pub pad_fragment_output_components: bool, pub force_native_arrays: bool, pub force_zero_initialized_variables: bool, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct ScGlslCompilerOptions { pub vertex_transform_clip_space: bool, pub vertex_invert_y: bool, pub vertex_support_nonzero_base_instance: bool, pub fragment_default_float_precision: u8, pub fragment_default_int_precision: u8, pub version: u32, pub es: bool, pub force_temporary: bool, pub vulkan_semantics: bool, pub separate_shader_objects: bool, pub flatten_multidimensional_arrays: bool, pub enable_420_pack_extension: bool, pub emit_push_constant_as_uniform_buffer: bool, pub emit_uniform_buffer_as_plain_uniforms: bool, pub emit_line_directives: bool, pub enable_storage_image_qualifier_deduction: bool, pub force_zero_initialized_variables: bool, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct ScResource { pub id: u32, pub type_id: u32, pub base_type_id: u32, pub name: *mut ::std::os::raw::c_char, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct ScResourceArray { pub data: *mut root::ScResource, pub num: usize, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct ScShaderResources { pub uniform_buffers: root::ScResourceArray, pub storage_buffers: root::ScResourceArray, pub stage_inputs: root::ScResourceArray, pub stage_outputs: root::ScResourceArray, pub subpass_inputs: root::ScResourceArray, pub storage_images: root::ScResourceArray, pub sampled_images: root::ScResourceArray, pub atomic_counters: root::ScResourceArray, pub push_constant_buffers: root::ScResourceArray, pub separate_images: root::ScResourceArray, pub separate_samplers: root::ScResourceArray, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct ScSpecializationConstant { pub id: u32, pub constant_id: u32, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct ScType { pub type_: root::spirv_cross::SPIRType_BaseType, pub vecsize: u32, pub columns: u32, pub member_types: *mut u32, pub member_types_size: usize, pub array: *mut u32, pub array_size: usize, } extern "C" { pub fn sc_internal_get_latest_exception_message( message: *mut *const ::std::os::raw::c_char, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_hlsl_new( compiler: *mut *mut root::ScInternalCompilerHlsl, ir: *const u32, size: usize, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_hlsl_set_options( compiler: *const root::ScInternalCompilerHlsl, options: *const root::ScHlslCompilerOptions, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_hlsl_set_root_constant_layout( compiler: *const root::ScInternalCompilerHlsl, constants: *const root::ScHlslRootConstant, count: usize, ) -> root::ScInternalResult; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct ScMslConstSamplerMapping { pub desc_set: u32, pub binding: u32, pub sampler: root::spirv_cross::MSLConstexprSampler, } extern "C" { pub fn sc_internal_compiler_msl_new( compiler: *mut *mut root::ScInternalCompilerMsl, ir: *const u32, size: usize, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_msl_set_options( compiler: *const root::ScInternalCompilerMsl, options: *const root::ScMslCompilerOptions, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_msl_get_is_rasterization_disabled( compiler: *const root::ScInternalCompilerMsl, is_rasterization_disabled: *mut bool, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_msl_compile( compiler: *const root::ScInternalCompilerBase, shader: *mut *const ::std::os::raw::c_char, p_vat_overrides: *const root::spirv_cross::MSLShaderInput, vat_override_count: usize, p_res_overrides: *const root::spirv_cross::MSLResourceBinding, res_override_count: usize, p_const_samplers: *const root::ScMslConstSamplerMapping, const_sampler_count: usize, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_glsl_new( compiler: *mut *mut root::ScInternalCompilerGlsl, ir: *const u32, size: usize, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_glsl_set_options( compiler: *const root::ScInternalCompilerGlsl, options: *const root::ScGlslCompilerOptions, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_glsl_build_combined_image_samplers( compiler: *const root::ScInternalCompilerBase, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_glsl_get_combined_image_samplers( compiler: *const root::ScInternalCompilerBase, samplers: *mut *const root::ScCombinedImageSampler, size: *mut usize, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_glsl_add_header_line( compiler: *const root::ScInternalCompilerBase, str: *const ::std::os::raw::c_char, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_glsl_flatten_buffer_block( compiler: *const root::ScInternalCompilerBase, id: u32, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_get_decoration( compiler: *const root::ScInternalCompilerBase, result: *mut u32, id: u32, decoration: root::spv::Decoration, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_set_decoration( compiler: *const root::ScInternalCompilerBase, id: u32, decoration: root::spv::Decoration, argument: u32, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_unset_decoration( compiler: *const root::ScInternalCompilerBase, id: u32, decoration: root::spv::Decoration, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_get_name( compiler: *const root::ScInternalCompilerBase, id: u32, name: *mut *const ::std::os::raw::c_char, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_set_name( compiler: *const root::ScInternalCompilerBase, id: u32, name: *const ::std::os::raw::c_char, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_get_entry_points( compiler: *const root::ScInternalCompilerBase, entry_points: *mut *mut root::ScEntryPoint, size: *mut usize, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_get_active_buffer_ranges( compiler: *const root::ScInternalCompilerBase, id: u32, active_buffer_ranges: *mut *mut root::ScBufferRange, size: *mut usize, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_get_cleansed_entry_point_name( compiler: *const root::ScInternalCompilerBase, original_entry_point_name: *const ::std::os::raw::c_char, execution_model: root::spv::ExecutionModel, compiled_entry_point_name: *mut *const ::std::os::raw::c_char, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_get_shader_resources( compiler: *const root::ScInternalCompilerBase, shader_resources: *mut root::ScShaderResources, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_get_specialization_constants( compiler: *const root::ScInternalCompilerBase, constants: *mut *mut root::ScSpecializationConstant, size: *mut usize, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_set_scalar_constant( compiler: *const root::ScInternalCompilerBase, id: u32, constant_high_bits: u32, constant_low_bits: u32, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_get_type( compiler: *const root::ScInternalCompilerBase, id: u32, spirv_type: *mut *const root::ScType, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_get_member_name( compiler: *const root::ScInternalCompilerBase, id: u32, index: u32, name: *mut *const ::std::os::raw::c_char, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_get_member_decoration( compiler: *const root::ScInternalCompilerBase, id: u32, index: u32, decoration: root::spv::Decoration, result: *mut u32, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_set_member_decoration( compiler: *const root::ScInternalCompilerBase, id: u32, index: u32, decoration: root::spv::Decoration, argument: u32, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_get_declared_struct_size( compiler: *const root::ScInternalCompilerBase, id: u32, result: *mut u32, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_get_declared_struct_member_size( compiler: *const root::ScInternalCompilerBase, id: u32, index: u32, result: *mut u32, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_rename_interface_variable( compiler: *const root::ScInternalCompilerBase, resources: *const root::ScResource, resources_size: usize, location: u32, name: *const ::std::os::raw::c_char, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_get_work_group_size_specialization_constants( compiler: *const root::ScInternalCompilerBase, constants: *mut *mut root::ScSpecializationConstant, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_set_entry_point( compiler: *const root::ScInternalCompilerBase, name: *const ::std::os::raw::c_char, execution_model: root::spv::ExecutionModel, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_compile( compiler: *const root::ScInternalCompilerBase, shader: *mut *const ::std::os::raw::c_char, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_compiler_delete( compiler: *mut root::ScInternalCompilerBase, ) -> root::ScInternalResult; } extern "C" { pub fn sc_internal_free_pointer( pointer: *mut ::std::os::raw::c_void, ) -> root::ScInternalResult; } }