// This file has been automatically generated by `objc2`'s `header-translator`.
// DO NOT EDIT

#![allow(unused_imports)]
#![allow(deprecated)]
#![allow(non_snake_case)]
#![allow(non_camel_case_types)]
#![allow(non_upper_case_globals)]
#![allow(missing_docs)]
#![allow(clippy::too_many_arguments)]
#![allow(clippy::type_complexity)]
#![allow(clippy::upper_case_acronyms)]
#![allow(clippy::identity_op)]
#![allow(clippy::missing_safety_doc)]
#![allow(clippy::doc_lazy_continuation)]
#![allow(rustdoc::broken_intra_doc_links)]
#![allow(rustdoc::bare_urls)]
#![allow(rustdoc::invalid_html_tags)]

#[link(name = "Metal", kind = "framework")]
extern "C" {}

#[cfg(feature = "MTL4AccelerationStructure")]
#[path = "MTL4AccelerationStructure.rs"]
mod __MTL4AccelerationStructure;
#[cfg(feature = "MTL4Archive")]
#[path = "MTL4Archive.rs"]
mod __MTL4Archive;
#[cfg(feature = "MTL4ArgumentTable")]
#[path = "MTL4ArgumentTable.rs"]
mod __MTL4ArgumentTable;
#[cfg(feature = "MTL4BinaryFunction")]
#[path = "MTL4BinaryFunction.rs"]
mod __MTL4BinaryFunction;
#[cfg(feature = "MTL4BinaryFunctionDescriptor")]
#[path = "MTL4BinaryFunctionDescriptor.rs"]
mod __MTL4BinaryFunctionDescriptor;
#[cfg(feature = "MTL4BufferRange")]
#[path = "MTL4BufferRange.rs"]
mod __MTL4BufferRange;
#[cfg(feature = "MTL4CommandAllocator")]
#[path = "MTL4CommandAllocator.rs"]
mod __MTL4CommandAllocator;
#[cfg(feature = "MTL4CommandBuffer")]
#[path = "MTL4CommandBuffer.rs"]
mod __MTL4CommandBuffer;
#[cfg(feature = "MTL4CommandEncoder")]
#[path = "MTL4CommandEncoder.rs"]
mod __MTL4CommandEncoder;
#[cfg(feature = "MTL4CommandQueue")]
#[path = "MTL4CommandQueue.rs"]
mod __MTL4CommandQueue;
#[cfg(feature = "MTL4CommitFeedback")]
#[path = "MTL4CommitFeedback.rs"]
mod __MTL4CommitFeedback;
#[cfg(feature = "MTL4Compiler")]
#[path = "MTL4Compiler.rs"]
mod __MTL4Compiler;
#[cfg(feature = "MTL4CompilerTask")]
#[path = "MTL4CompilerTask.rs"]
mod __MTL4CompilerTask;
#[cfg(feature = "MTL4ComputeCommandEncoder")]
#[path = "MTL4ComputeCommandEncoder.rs"]
mod __MTL4ComputeCommandEncoder;
#[cfg(feature = "MTL4ComputePipeline")]
#[path = "MTL4ComputePipeline.rs"]
mod __MTL4ComputePipeline;
#[cfg(feature = "MTL4Counters")]
#[path = "MTL4Counters.rs"]
mod __MTL4Counters;
#[cfg(feature = "MTL4FunctionDescriptor")]
#[path = "MTL4FunctionDescriptor.rs"]
mod __MTL4FunctionDescriptor;
#[cfg(feature = "MTL4LibraryDescriptor")]
#[path = "MTL4LibraryDescriptor.rs"]
mod __MTL4LibraryDescriptor;
#[cfg(feature = "MTL4LibraryFunctionDescriptor")]
#[path = "MTL4LibraryFunctionDescriptor.rs"]
mod __MTL4LibraryFunctionDescriptor;
#[cfg(feature = "MTL4LinkingDescriptor")]
#[path = "MTL4LinkingDescriptor.rs"]
mod __MTL4LinkingDescriptor;
#[cfg(feature = "MTL4MachineLearningCommandEncoder")]
#[path = "MTL4MachineLearningCommandEncoder.rs"]
mod __MTL4MachineLearningCommandEncoder;
#[cfg(feature = "MTL4MachineLearningPipeline")]
#[path = "MTL4MachineLearningPipeline.rs"]
mod __MTL4MachineLearningPipeline;
#[cfg(feature = "MTL4MeshRenderPipeline")]
#[path = "MTL4MeshRenderPipeline.rs"]
mod __MTL4MeshRenderPipeline;
#[cfg(feature = "MTL4PipelineDataSetSerializer")]
#[path = "MTL4PipelineDataSetSerializer.rs"]
mod __MTL4PipelineDataSetSerializer;
#[cfg(feature = "MTL4PipelineState")]
#[path = "MTL4PipelineState.rs"]
mod __MTL4PipelineState;
#[cfg(feature = "MTL4RenderCommandEncoder")]
#[path = "MTL4RenderCommandEncoder.rs"]
mod __MTL4RenderCommandEncoder;
#[cfg(feature = "MTL4RenderPass")]
#[path = "MTL4RenderPass.rs"]
mod __MTL4RenderPass;
#[cfg(feature = "MTL4RenderPipeline")]
#[path = "MTL4RenderPipeline.rs"]
mod __MTL4RenderPipeline;
#[cfg(feature = "MTL4SpecializedFunctionDescriptor")]
#[path = "MTL4SpecializedFunctionDescriptor.rs"]
mod __MTL4SpecializedFunctionDescriptor;
#[cfg(feature = "MTL4StitchedFunctionDescriptor")]
#[path = "MTL4StitchedFunctionDescriptor.rs"]
mod __MTL4StitchedFunctionDescriptor;
#[cfg(feature = "MTL4TileRenderPipeline")]
#[path = "MTL4TileRenderPipeline.rs"]
mod __MTL4TileRenderPipeline;
#[cfg(feature = "MTLAccelerationStructure")]
#[path = "MTLAccelerationStructure.rs"]
mod __MTLAccelerationStructure;
#[cfg(feature = "MTLAccelerationStructureCommandEncoder")]
#[path = "MTLAccelerationStructureCommandEncoder.rs"]
mod __MTLAccelerationStructureCommandEncoder;
#[cfg(feature = "MTLAccelerationStructureTypes")]
#[path = "MTLAccelerationStructureTypes.rs"]
mod __MTLAccelerationStructureTypes;
#[cfg(feature = "MTLAllocation")]
#[path = "MTLAllocation.rs"]
mod __MTLAllocation;
#[cfg(feature = "MTLArgument")]
#[path = "MTLArgument.rs"]
mod __MTLArgument;
#[cfg(feature = "MTLArgumentEncoder")]
#[path = "MTLArgumentEncoder.rs"]
mod __MTLArgumentEncoder;
#[cfg(feature = "MTLBinaryArchive")]
#[path = "MTLBinaryArchive.rs"]
mod __MTLBinaryArchive;
#[cfg(feature = "MTLBlitCommandEncoder")]
#[path = "MTLBlitCommandEncoder.rs"]
mod __MTLBlitCommandEncoder;
#[cfg(feature = "MTLBlitPass")]
#[path = "MTLBlitPass.rs"]
mod __MTLBlitPass;
#[cfg(feature = "MTLBuffer")]
#[path = "MTLBuffer.rs"]
mod __MTLBuffer;
#[cfg(feature = "MTLCaptureManager")]
#[path = "MTLCaptureManager.rs"]
mod __MTLCaptureManager;
#[cfg(feature = "MTLCaptureScope")]
#[path = "MTLCaptureScope.rs"]
mod __MTLCaptureScope;
#[cfg(feature = "MTLCommandBuffer")]
#[path = "MTLCommandBuffer.rs"]
mod __MTLCommandBuffer;
#[cfg(feature = "MTLCommandEncoder")]
#[path = "MTLCommandEncoder.rs"]
mod __MTLCommandEncoder;
#[cfg(feature = "MTLCommandQueue")]
#[path = "MTLCommandQueue.rs"]
mod __MTLCommandQueue;
#[cfg(feature = "MTLComputeCommandEncoder")]
#[path = "MTLComputeCommandEncoder.rs"]
mod __MTLComputeCommandEncoder;
#[cfg(feature = "MTLComputePass")]
#[path = "MTLComputePass.rs"]
mod __MTLComputePass;
#[cfg(feature = "MTLComputePipeline")]
#[path = "MTLComputePipeline.rs"]
mod __MTLComputePipeline;
#[cfg(feature = "MTLCounters")]
#[path = "MTLCounters.rs"]
mod __MTLCounters;
#[cfg(feature = "MTLDataType")]
#[path = "MTLDataType.rs"]
mod __MTLDataType;
#[cfg(feature = "MTLDefines")]
#[path = "MTLDefines.rs"]
mod __MTLDefines;
#[cfg(feature = "MTLDepthStencil")]
#[path = "MTLDepthStencil.rs"]
mod __MTLDepthStencil;
#[cfg(feature = "MTLDevice")]
#[path = "MTLDevice.rs"]
mod __MTLDevice;
#[cfg(feature = "MTLDeviceCertification")]
#[path = "MTLDeviceCertification.rs"]
mod __MTLDeviceCertification;
#[cfg(feature = "MTLDrawable")]
#[path = "MTLDrawable.rs"]
mod __MTLDrawable;
#[cfg(feature = "MTLDynamicLibrary")]
#[path = "MTLDynamicLibrary.rs"]
mod __MTLDynamicLibrary;
#[cfg(feature = "MTLEvent")]
#[path = "MTLEvent.rs"]
mod __MTLEvent;
#[cfg(feature = "MTLFence")]
#[path = "MTLFence.rs"]
mod __MTLFence;
#[cfg(feature = "MTLFunctionConstantValues")]
#[path = "MTLFunctionConstantValues.rs"]
mod __MTLFunctionConstantValues;
#[cfg(feature = "MTLFunctionDescriptor")]
#[path = "MTLFunctionDescriptor.rs"]
mod __MTLFunctionDescriptor;
#[cfg(feature = "MTLFunctionHandle")]
#[path = "MTLFunctionHandle.rs"]
mod __MTLFunctionHandle;
#[cfg(feature = "MTLFunctionLog")]
#[path = "MTLFunctionLog.rs"]
mod __MTLFunctionLog;
#[cfg(feature = "MTLFunctionStitching")]
#[path = "MTLFunctionStitching.rs"]
mod __MTLFunctionStitching;
#[cfg(feature = "MTLGPUAddress")]
#[path = "MTLGPUAddress.rs"]
mod __MTLGPUAddress;
#[cfg(feature = "MTLHeap")]
#[path = "MTLHeap.rs"]
mod __MTLHeap;
#[cfg(feature = "MTLIOCommandBuffer")]
#[path = "MTLIOCommandBuffer.rs"]
mod __MTLIOCommandBuffer;
#[cfg(feature = "MTLIOCommandQueue")]
#[path = "MTLIOCommandQueue.rs"]
mod __MTLIOCommandQueue;
#[cfg(feature = "MTLIOCompressor")]
#[path = "MTLIOCompressor.rs"]
mod __MTLIOCompressor;
#[cfg(feature = "MTLIndirectCommandBuffer")]
#[path = "MTLIndirectCommandBuffer.rs"]
mod __MTLIndirectCommandBuffer;
#[cfg(feature = "MTLIndirectCommandEncoder")]
#[path = "MTLIndirectCommandEncoder.rs"]
mod __MTLIndirectCommandEncoder;
#[cfg(feature = "MTLIntersectionFunctionTable")]
#[path = "MTLIntersectionFunctionTable.rs"]
mod __MTLIntersectionFunctionTable;
#[cfg(feature = "MTLLibrary")]
#[path = "MTLLibrary.rs"]
mod __MTLLibrary;
#[cfg(feature = "MTLLinkedFunctions")]
#[path = "MTLLinkedFunctions.rs"]
mod __MTLLinkedFunctions;
#[cfg(feature = "MTLLogState")]
#[path = "MTLLogState.rs"]
mod __MTLLogState;
#[cfg(feature = "MTLParallelRenderCommandEncoder")]
#[path = "MTLParallelRenderCommandEncoder.rs"]
mod __MTLParallelRenderCommandEncoder;
#[cfg(feature = "MTLPipeline")]
#[path = "MTLPipeline.rs"]
mod __MTLPipeline;
#[cfg(feature = "MTLPixelFormat")]
#[path = "MTLPixelFormat.rs"]
mod __MTLPixelFormat;
#[cfg(feature = "MTLRasterizationRate")]
#[path = "MTLRasterizationRate.rs"]
mod __MTLRasterizationRate;
#[cfg(feature = "MTLRenderCommandEncoder")]
#[path = "MTLRenderCommandEncoder.rs"]
mod __MTLRenderCommandEncoder;
#[cfg(feature = "MTLRenderPass")]
#[path = "MTLRenderPass.rs"]
mod __MTLRenderPass;
#[cfg(feature = "MTLRenderPipeline")]
#[path = "MTLRenderPipeline.rs"]
mod __MTLRenderPipeline;
#[cfg(feature = "MTLResidencySet")]
#[path = "MTLResidencySet.rs"]
mod __MTLResidencySet;
#[cfg(feature = "MTLResource")]
#[path = "MTLResource.rs"]
mod __MTLResource;
#[cfg(feature = "MTLResourceStateCommandEncoder")]
#[path = "MTLResourceStateCommandEncoder.rs"]
mod __MTLResourceStateCommandEncoder;
#[cfg(feature = "MTLResourceStatePass")]
#[path = "MTLResourceStatePass.rs"]
mod __MTLResourceStatePass;
#[cfg(feature = "MTLResourceViewPool")]
#[path = "MTLResourceViewPool.rs"]
mod __MTLResourceViewPool;
#[cfg(feature = "MTLSampler")]
#[path = "MTLSampler.rs"]
mod __MTLSampler;
#[cfg(feature = "MTLStageInputOutputDescriptor")]
#[path = "MTLStageInputOutputDescriptor.rs"]
mod __MTLStageInputOutputDescriptor;
#[cfg(feature = "MTLTensor")]
#[path = "MTLTensor.rs"]
mod __MTLTensor;
#[cfg(feature = "MTLTexture")]
#[path = "MTLTexture.rs"]
mod __MTLTexture;
#[cfg(feature = "MTLTextureViewPool")]
#[path = "MTLTextureViewPool.rs"]
mod __MTLTextureViewPool;
#[cfg(feature = "MTLTypes")]
#[path = "MTLTypes.rs"]
mod __MTLTypes;
#[cfg(feature = "MTLVertexDescriptor")]
#[path = "MTLVertexDescriptor.rs"]
mod __MTLVertexDescriptor;
#[cfg(feature = "MTLVisibleFunctionTable")]
#[path = "MTLVisibleFunctionTable.rs"]
mod __MTLVisibleFunctionTable;

#[cfg(feature = "MTL4AccelerationStructure")]
pub use self::__MTL4AccelerationStructure::MTL4AccelerationStructureBoundingBoxGeometryDescriptor;
#[cfg(feature = "MTL4AccelerationStructure")]
pub use self::__MTL4AccelerationStructure::MTL4AccelerationStructureCurveGeometryDescriptor;
#[cfg(all(
    feature = "MTL4AccelerationStructure",
    feature = "MTLAccelerationStructure"
))]
pub use self::__MTL4AccelerationStructure::MTL4AccelerationStructureDescriptor;
#[cfg(feature = "MTL4AccelerationStructure")]
pub use self::__MTL4AccelerationStructure::MTL4AccelerationStructureGeometryDescriptor;
#[cfg(feature = "MTL4AccelerationStructure")]
pub use self::__MTL4AccelerationStructure::MTL4AccelerationStructureMotionBoundingBoxGeometryDescriptor;
#[cfg(feature = "MTL4AccelerationStructure")]
pub use self::__MTL4AccelerationStructure::MTL4AccelerationStructureMotionCurveGeometryDescriptor;
#[cfg(feature = "MTL4AccelerationStructure")]
pub use self::__MTL4AccelerationStructure::MTL4AccelerationStructureMotionTriangleGeometryDescriptor;
#[cfg(feature = "MTL4AccelerationStructure")]
pub use self::__MTL4AccelerationStructure::MTL4AccelerationStructureTriangleGeometryDescriptor;
#[cfg(all(
    feature = "MTL4AccelerationStructure",
    feature = "MTLAccelerationStructure"
))]
pub use self::__MTL4AccelerationStructure::MTL4IndirectInstanceAccelerationStructureDescriptor;
#[cfg(all(
    feature = "MTL4AccelerationStructure",
    feature = "MTLAccelerationStructure"
))]
pub use self::__MTL4AccelerationStructure::MTL4InstanceAccelerationStructureDescriptor;
#[cfg(all(
    feature = "MTL4AccelerationStructure",
    feature = "MTLAccelerationStructure"
))]
pub use self::__MTL4AccelerationStructure::MTL4PrimitiveAccelerationStructureDescriptor;
#[cfg(feature = "MTL4Archive")]
pub use self::__MTL4Archive::MTL4Archive;
#[cfg(feature = "MTL4ArgumentTable")]
pub use self::__MTL4ArgumentTable::MTL4ArgumentTable;
#[cfg(feature = "MTL4ArgumentTable")]
pub use self::__MTL4ArgumentTable::MTL4ArgumentTableDescriptor;
#[cfg(feature = "MTL4BinaryFunction")]
pub use self::__MTL4BinaryFunction::MTL4BinaryFunction;
#[cfg(feature = "MTL4BinaryFunctionDescriptor")]
pub use self::__MTL4BinaryFunctionDescriptor::MTL4BinaryFunctionDescriptor;
#[cfg(feature = "MTL4BinaryFunctionDescriptor")]
pub use self::__MTL4BinaryFunctionDescriptor::MTL4BinaryFunctionOptions;
#[cfg(all(feature = "MTL4BufferRange", feature = "MTLGPUAddress"))]
pub use self::__MTL4BufferRange::MTL4BufferRange;
#[cfg(feature = "MTL4CommandAllocator")]
pub use self::__MTL4CommandAllocator::MTL4CommandAllocator;
#[cfg(feature = "MTL4CommandAllocator")]
pub use self::__MTL4CommandAllocator::MTL4CommandAllocatorDescriptor;
#[cfg(feature = "MTL4CommandBuffer")]
pub use self::__MTL4CommandBuffer::MTL4CommandBuffer;
#[cfg(feature = "MTL4CommandBuffer")]
pub use self::__MTL4CommandBuffer::MTL4CommandBufferOptions;
#[cfg(feature = "MTL4CommandEncoder")]
pub use self::__MTL4CommandEncoder::MTL4CommandEncoder;
#[cfg(feature = "MTL4CommandEncoder")]
pub use self::__MTL4CommandEncoder::MTL4VisibilityOptions;
#[cfg(feature = "MTL4CommandQueue")]
pub use self::__MTL4CommandQueue::MTL4CommandQueue;
#[cfg(feature = "MTL4CommandQueue")]
pub use self::__MTL4CommandQueue::MTL4CommandQueueDescriptor;
#[cfg(feature = "MTL4CommandQueue")]
pub use self::__MTL4CommandQueue::MTL4CommandQueueError;
#[cfg(feature = "MTL4CommandQueue")]
pub use self::__MTL4CommandQueue::MTL4CommandQueueErrorDomain;
#[cfg(feature = "MTL4CommandQueue")]
pub use self::__MTL4CommandQueue::MTL4CommitOptions;
#[cfg(feature = "MTL4CommandQueue")]
pub use self::__MTL4CommandQueue::MTL4CopySparseBufferMappingOperation;
#[cfg(all(feature = "MTL4CommandQueue", feature = "MTLTypes"))]
pub use self::__MTL4CommandQueue::MTL4CopySparseTextureMappingOperation;
#[cfg(all(
    feature = "MTL4CommandQueue",
    feature = "MTLResourceStateCommandEncoder"
))]
pub use self::__MTL4CommandQueue::MTL4UpdateSparseBufferMappingOperation;
#[cfg(all(
    feature = "MTL4CommandQueue",
    feature = "MTLResourceStateCommandEncoder",
    feature = "MTLTypes"
))]
pub use self::__MTL4CommandQueue::MTL4UpdateSparseTextureMappingOperation;
#[cfg(feature = "MTL4CommitFeedback")]
pub use self::__MTL4CommitFeedback::MTL4CommitFeedback;
#[cfg(all(feature = "MTL4CommitFeedback", feature = "block2"))]
pub use self::__MTL4CommitFeedback::MTL4CommitFeedbackHandler;
#[cfg(feature = "MTL4Compiler")]
pub use self::__MTL4Compiler::MTL4Compiler;
#[cfg(feature = "MTL4Compiler")]
pub use self::__MTL4Compiler::MTL4CompilerDescriptor;
#[cfg(feature = "MTL4Compiler")]
pub use self::__MTL4Compiler::MTL4CompilerTaskOptions;
#[cfg(all(
    feature = "MTL4BinaryFunction",
    feature = "MTL4Compiler",
    feature = "block2"
))]
pub use self::__MTL4Compiler::MTL4NewBinaryFunctionCompletionHandler;
#[cfg(all(
    feature = "MTL4Compiler",
    feature = "MTL4MachineLearningPipeline",
    feature = "MTLAllocation",
    feature = "block2"
))]
pub use self::__MTL4Compiler::MTL4NewMachineLearningPipelineStateCompletionHandler;
#[cfg(feature = "MTL4CompilerTask")]
pub use self::__MTL4CompilerTask::MTL4CompilerTask;
#[cfg(feature = "MTL4CompilerTask")]
pub use self::__MTL4CompilerTask::MTL4CompilerTaskStatus;
#[cfg(all(feature = "MTL4CommandEncoder", feature = "MTL4ComputeCommandEncoder"))]
pub use self::__MTL4ComputeCommandEncoder::MTL4ComputeCommandEncoder;
#[cfg(all(feature = "MTL4ComputePipeline", feature = "MTL4PipelineState"))]
pub use self::__MTL4ComputePipeline::MTL4ComputePipelineDescriptor;
#[cfg(feature = "MTL4Counters")]
pub use self::__MTL4Counters::MTL4CounterHeap;
#[cfg(feature = "MTL4Counters")]
pub use self::__MTL4Counters::MTL4CounterHeapDescriptor;
#[cfg(feature = "MTL4Counters")]
pub use self::__MTL4Counters::MTL4CounterHeapType;
#[cfg(feature = "MTL4Counters")]
pub use self::__MTL4Counters::MTL4TimestampGranularity;
#[cfg(feature = "MTL4Counters")]
pub use self::__MTL4Counters::MTL4TimestampHeapEntry;
#[cfg(feature = "MTL4FunctionDescriptor")]
pub use self::__MTL4FunctionDescriptor::MTL4FunctionDescriptor;
#[cfg(feature = "MTL4LibraryDescriptor")]
pub use self::__MTL4LibraryDescriptor::MTL4LibraryDescriptor;
#[cfg(all(
    feature = "MTL4FunctionDescriptor",
    feature = "MTL4LibraryFunctionDescriptor"
))]
pub use self::__MTL4LibraryFunctionDescriptor::MTL4LibraryFunctionDescriptor;
#[cfg(feature = "MTL4LinkingDescriptor")]
pub use self::__MTL4LinkingDescriptor::MTL4PipelineStageDynamicLinkingDescriptor;
#[cfg(feature = "MTL4LinkingDescriptor")]
pub use self::__MTL4LinkingDescriptor::MTL4RenderPipelineDynamicLinkingDescriptor;
#[cfg(feature = "MTL4LinkingDescriptor")]
pub use self::__MTL4LinkingDescriptor::MTL4StaticLinkingDescriptor;
#[cfg(all(
    feature = "MTL4CommandEncoder",
    feature = "MTL4MachineLearningCommandEncoder"
))]
pub use self::__MTL4MachineLearningCommandEncoder::MTL4MachineLearningCommandEncoder;
#[cfg(all(feature = "MTL4MachineLearningPipeline", feature = "MTL4PipelineState"))]
pub use self::__MTL4MachineLearningPipeline::MTL4MachineLearningPipelineDescriptor;
#[cfg(feature = "MTL4MachineLearningPipeline")]
pub use self::__MTL4MachineLearningPipeline::MTL4MachineLearningPipelineReflection;
#[cfg(all(feature = "MTL4MachineLearningPipeline", feature = "MTLAllocation"))]
pub use self::__MTL4MachineLearningPipeline::MTL4MachineLearningPipelineState;
#[cfg(all(feature = "MTL4MeshRenderPipeline", feature = "MTL4PipelineState"))]
pub use self::__MTL4MeshRenderPipeline::MTL4MeshRenderPipelineDescriptor;
#[cfg(feature = "MTL4PipelineDataSetSerializer")]
pub use self::__MTL4PipelineDataSetSerializer::MTL4PipelineDataSetSerializer;
#[cfg(feature = "MTL4PipelineDataSetSerializer")]
pub use self::__MTL4PipelineDataSetSerializer::MTL4PipelineDataSetSerializerConfiguration;
#[cfg(feature = "MTL4PipelineDataSetSerializer")]
pub use self::__MTL4PipelineDataSetSerializer::MTL4PipelineDataSetSerializerDescriptor;
#[cfg(feature = "MTL4PipelineState")]
pub use self::__MTL4PipelineState::MTL4AlphaToCoverageState;
#[cfg(feature = "MTL4PipelineState")]
pub use self::__MTL4PipelineState::MTL4AlphaToOneState;
#[cfg(feature = "MTL4PipelineState")]
pub use self::__MTL4PipelineState::MTL4BlendState;
#[cfg(feature = "MTL4PipelineState")]
pub use self::__MTL4PipelineState::MTL4IndirectCommandBufferSupportState;
#[cfg(feature = "MTL4PipelineState")]
pub use self::__MTL4PipelineState::MTL4PipelineDescriptor;
#[cfg(feature = "MTL4PipelineState")]
pub use self::__MTL4PipelineState::MTL4PipelineOptions;
#[cfg(feature = "MTL4PipelineState")]
pub use self::__MTL4PipelineState::MTL4ShaderReflection;
#[cfg(all(feature = "MTL4CommandEncoder", feature = "MTL4RenderCommandEncoder"))]
pub use self::__MTL4RenderCommandEncoder::MTL4RenderCommandEncoder;
#[cfg(feature = "MTL4RenderCommandEncoder")]
pub use self::__MTL4RenderCommandEncoder::MTL4RenderEncoderOptions;
#[cfg(feature = "MTL4RenderPass")]
pub use self::__MTL4RenderPass::MTL4RenderPassDescriptor;
#[cfg(feature = "MTL4RenderPipeline")]
pub use self::__MTL4RenderPipeline::MTL4LogicalToPhysicalColorAttachmentMappingState;
#[cfg(feature = "MTL4RenderPipeline")]
pub use self::__MTL4RenderPipeline::MTL4RenderPipelineBinaryFunctionsDescriptor;
#[cfg(feature = "MTL4RenderPipeline")]
pub use self::__MTL4RenderPipeline::MTL4RenderPipelineColorAttachmentDescriptor;
#[cfg(feature = "MTL4RenderPipeline")]
pub use self::__MTL4RenderPipeline::MTL4RenderPipelineColorAttachmentDescriptorArray;
#[cfg(all(feature = "MTL4PipelineState", feature = "MTL4RenderPipeline"))]
pub use self::__MTL4RenderPipeline::MTL4RenderPipelineDescriptor;
#[cfg(all(
    feature = "MTL4FunctionDescriptor",
    feature = "MTL4SpecializedFunctionDescriptor"
))]
pub use self::__MTL4SpecializedFunctionDescriptor::MTL4SpecializedFunctionDescriptor;
#[cfg(all(
    feature = "MTL4FunctionDescriptor",
    feature = "MTL4StitchedFunctionDescriptor"
))]
pub use self::__MTL4StitchedFunctionDescriptor::MTL4StitchedFunctionDescriptor;
#[cfg(all(feature = "MTL4PipelineState", feature = "MTL4TileRenderPipeline"))]
pub use self::__MTL4TileRenderPipeline::MTL4TileRenderPipelineDescriptor;
#[cfg(all(
    feature = "MTLAccelerationStructure",
    feature = "MTLAllocation",
    feature = "MTLResource"
))]
pub use self::__MTLAccelerationStructure::MTLAccelerationStructure;
#[cfg(feature = "MTLAccelerationStructure")]
pub use self::__MTLAccelerationStructure::MTLAccelerationStructureBoundingBoxGeometryDescriptor;
#[cfg(feature = "MTLAccelerationStructure")]
pub use self::__MTLAccelerationStructure::MTLAccelerationStructureCurveGeometryDescriptor;
#[cfg(feature = "MTLAccelerationStructure")]
pub use self::__MTLAccelerationStructure::MTLAccelerationStructureDescriptor;
#[cfg(feature = "MTLAccelerationStructure")]
pub use self::__MTLAccelerationStructure::MTLAccelerationStructureGeometryDescriptor;
#[cfg(all(
    feature = "MTLAccelerationStructure",
    feature = "MTLAccelerationStructureTypes"
))]
pub use self::__MTLAccelerationStructure::MTLAccelerationStructureInstanceDescriptor;
#[cfg(feature = "MTLAccelerationStructure")]
pub use self::__MTLAccelerationStructure::MTLAccelerationStructureInstanceDescriptorType;
#[cfg(feature = "MTLAccelerationStructure")]
pub use self::__MTLAccelerationStructure::MTLAccelerationStructureInstanceOptions;
#[cfg(feature = "MTLAccelerationStructure")]
pub use self::__MTLAccelerationStructure::MTLAccelerationStructureMotionBoundingBoxGeometryDescriptor;
#[cfg(feature = "MTLAccelerationStructure")]
pub use self::__MTLAccelerationStructure::MTLAccelerationStructureMotionCurveGeometryDescriptor;
#[cfg(feature = "MTLAccelerationStructure")]
pub use self::__MTLAccelerationStructure::MTLAccelerationStructureMotionInstanceDescriptor;
#[cfg(feature = "MTLAccelerationStructure")]
pub use self::__MTLAccelerationStructure::MTLAccelerationStructureMotionTriangleGeometryDescriptor;
#[cfg(feature = "MTLAccelerationStructure")]
pub use self::__MTLAccelerationStructure::MTLAccelerationStructureRefitOptions;
#[cfg(feature = "MTLAccelerationStructure")]
pub use self::__MTLAccelerationStructure::MTLAccelerationStructureTriangleGeometryDescriptor;
#[cfg(feature = "MTLAccelerationStructure")]
pub use self::__MTLAccelerationStructure::MTLAccelerationStructureUsage;
#[cfg(all(
    feature = "MTLAccelerationStructure",
    feature = "MTLAccelerationStructureTypes"
))]
pub use self::__MTLAccelerationStructure::MTLAccelerationStructureUserIDInstanceDescriptor;
#[cfg(feature = "MTLAccelerationStructure")]
pub use self::__MTLAccelerationStructure::MTLCurveBasis;
#[cfg(feature = "MTLAccelerationStructure")]
pub use self::__MTLAccelerationStructure::MTLCurveEndCaps;
#[cfg(feature = "MTLAccelerationStructure")]
pub use self::__MTLAccelerationStructure::MTLCurveType;
#[cfg(all(
    feature = "MTLAccelerationStructure",
    feature = "MTLAccelerationStructureTypes",
    feature = "MTLTypes"
))]
pub use self::__MTLAccelerationStructure::MTLIndirectAccelerationStructureInstanceDescriptor;
#[cfg(all(feature = "MTLAccelerationStructure", feature = "MTLTypes"))]
pub use self::__MTLAccelerationStructure::MTLIndirectAccelerationStructureMotionInstanceDescriptor;
#[cfg(feature = "MTLAccelerationStructure")]
pub use self::__MTLAccelerationStructure::MTLIndirectInstanceAccelerationStructureDescriptor;
#[cfg(feature = "MTLAccelerationStructure")]
pub use self::__MTLAccelerationStructure::MTLInstanceAccelerationStructureDescriptor;
#[cfg(feature = "MTLAccelerationStructure")]
pub use self::__MTLAccelerationStructure::MTLMatrixLayout;
#[cfg(feature = "MTLAccelerationStructure")]
pub use self::__MTLAccelerationStructure::MTLMotionBorderMode;
#[cfg(feature = "MTLAccelerationStructure")]
pub use self::__MTLAccelerationStructure::MTLMotionKeyframeData;
#[cfg(feature = "MTLAccelerationStructure")]
pub use self::__MTLAccelerationStructure::MTLPrimitiveAccelerationStructureDescriptor;
#[cfg(feature = "MTLAccelerationStructure")]
pub use self::__MTLAccelerationStructure::MTLTransformType;
#[cfg(all(
    feature = "MTLAccelerationStructureCommandEncoder",
    feature = "MTLCommandEncoder"
))]
pub use self::__MTLAccelerationStructureCommandEncoder::MTLAccelerationStructureCommandEncoder;
#[cfg(feature = "MTLAccelerationStructureCommandEncoder")]
pub use self::__MTLAccelerationStructureCommandEncoder::MTLAccelerationStructurePassDescriptor;
#[cfg(feature = "MTLAccelerationStructureCommandEncoder")]
pub use self::__MTLAccelerationStructureCommandEncoder::MTLAccelerationStructurePassSampleBufferAttachmentDescriptor;
#[cfg(feature = "MTLAccelerationStructureCommandEncoder")]
pub use self::__MTLAccelerationStructureCommandEncoder::MTLAccelerationStructurePassSampleBufferAttachmentDescriptorArray;
#[cfg(feature = "MTLAccelerationStructureTypes")]
pub use self::__MTLAccelerationStructureTypes::MTLAxisAlignedBoundingBox;
#[cfg(feature = "MTLAccelerationStructureTypes")]
pub use self::__MTLAccelerationStructureTypes::MTLComponentTransform;
#[cfg(feature = "MTLAccelerationStructureTypes")]
pub use self::__MTLAccelerationStructureTypes::MTLPackedFloat4x3;
#[cfg(feature = "MTLAccelerationStructureTypes")]
pub use self::__MTLAccelerationStructureTypes::MTLPackedFloatQuaternion;
#[cfg(feature = "MTLAllocation")]
pub use self::__MTLAllocation::MTLAllocation;
#[cfg(feature = "MTLArgument")]
pub use self::__MTLArgument::MTLArgument;
#[cfg(feature = "MTLArgument")]
pub use self::__MTLArgument::MTLArgumentAccess;
#[cfg(feature = "MTLArgument")]
pub use self::__MTLArgument::MTLArgumentType;
#[cfg(feature = "MTLArgument")]
pub use self::__MTLArgument::MTLArrayType;
#[cfg(feature = "MTLArgument")]
pub use self::__MTLArgument::MTLBinding;
#[cfg(feature = "MTLArgument")]
pub use self::__MTLArgument::MTLBindingAccess;
#[cfg(feature = "MTLArgument")]
pub use self::__MTLArgument::MTLBindingType;
#[cfg(feature = "MTLArgument")]
pub use self::__MTLArgument::MTLBufferBinding;
#[cfg(feature = "MTLArgument")]
pub use self::__MTLArgument::MTLIndexType;
#[cfg(feature = "MTLArgument")]
pub use self::__MTLArgument::MTLObjectPayloadBinding;
#[cfg(feature = "MTLArgument")]
pub use self::__MTLArgument::MTLPointerType;
#[cfg(feature = "MTLArgument")]
pub use self::__MTLArgument::MTLStructMember;
#[cfg(feature = "MTLArgument")]
pub use self::__MTLArgument::MTLStructType;
#[cfg(feature = "MTLArgument")]
pub use self::__MTLArgument::MTLTensorBinding;
#[cfg(feature = "MTLArgument")]
pub use self::__MTLArgument::MTLTensorReferenceType;
#[cfg(feature = "MTLArgument")]
pub use self::__MTLArgument::MTLTextureBinding;
#[cfg(feature = "MTLArgument")]
pub use self::__MTLArgument::MTLTextureReferenceType;
#[cfg(feature = "MTLArgument")]
pub use self::__MTLArgument::MTLThreadgroupBinding;
#[cfg(feature = "MTLArgument")]
pub use self::__MTLArgument::MTLType;
#[cfg(feature = "MTLArgumentEncoder")]
pub use self::__MTLArgumentEncoder::MTLArgumentEncoder;
#[cfg(feature = "MTLArgumentEncoder")]
pub use self::__MTLArgumentEncoder::MTLAttributeStrideStatic;
#[cfg(feature = "MTLBinaryArchive")]
pub use self::__MTLBinaryArchive::MTLBinaryArchive;
#[cfg(feature = "MTLBinaryArchive")]
pub use self::__MTLBinaryArchive::MTLBinaryArchiveDescriptor;
#[cfg(feature = "MTLBinaryArchive")]
pub use self::__MTLBinaryArchive::MTLBinaryArchiveDomain;
#[cfg(feature = "MTLBinaryArchive")]
pub use self::__MTLBinaryArchive::MTLBinaryArchiveError;
#[cfg(all(feature = "MTLBlitCommandEncoder", feature = "MTLCommandEncoder"))]
pub use self::__MTLBlitCommandEncoder::MTLBlitCommandEncoder;
#[cfg(feature = "MTLBlitCommandEncoder")]
pub use self::__MTLBlitCommandEncoder::MTLBlitOption;
#[cfg(feature = "MTLBlitPass")]
pub use self::__MTLBlitPass::MTLBlitPassDescriptor;
#[cfg(feature = "MTLBlitPass")]
pub use self::__MTLBlitPass::MTLBlitPassSampleBufferAttachmentDescriptor;
#[cfg(feature = "MTLBlitPass")]
pub use self::__MTLBlitPass::MTLBlitPassSampleBufferAttachmentDescriptorArray;
#[cfg(all(
    feature = "MTLAllocation",
    feature = "MTLBuffer",
    feature = "MTLResource"
))]
pub use self::__MTLBuffer::MTLBuffer;
#[cfg(feature = "MTLCaptureManager")]
pub use self::__MTLCaptureManager::MTLCaptureDescriptor;
#[cfg(feature = "MTLCaptureManager")]
pub use self::__MTLCaptureManager::MTLCaptureDestination;
#[cfg(feature = "MTLCaptureManager")]
pub use self::__MTLCaptureManager::MTLCaptureError;
#[cfg(feature = "MTLCaptureManager")]
pub use self::__MTLCaptureManager::MTLCaptureErrorDomain;
#[cfg(feature = "MTLCaptureManager")]
pub use self::__MTLCaptureManager::MTLCaptureManager;
#[cfg(feature = "MTLCaptureScope")]
pub use self::__MTLCaptureScope::MTLCaptureScope;
#[cfg(feature = "MTLCommandBuffer")]
pub use self::__MTLCommandBuffer::MTLCommandBuffer;
#[cfg(feature = "MTLCommandBuffer")]
pub use self::__MTLCommandBuffer::MTLCommandBufferDescriptor;
#[cfg(feature = "MTLCommandBuffer")]
pub use self::__MTLCommandBuffer::MTLCommandBufferEncoderInfo;
#[cfg(feature = "MTLCommandBuffer")]
pub use self::__MTLCommandBuffer::MTLCommandBufferEncoderInfoErrorKey;
#[cfg(feature = "MTLCommandBuffer")]
pub use self::__MTLCommandBuffer::MTLCommandBufferError;
#[cfg(feature = "MTLCommandBuffer")]
pub use self::__MTLCommandBuffer::MTLCommandBufferErrorDomain;
#[cfg(feature = "MTLCommandBuffer")]
pub use self::__MTLCommandBuffer::MTLCommandBufferErrorOption;
#[cfg(all(feature = "MTLCommandBuffer", feature = "block2"))]
pub use self::__MTLCommandBuffer::MTLCommandBufferHandler;
#[cfg(feature = "MTLCommandBuffer")]
pub use self::__MTLCommandBuffer::MTLCommandBufferStatus;
#[cfg(feature = "MTLCommandBuffer")]
pub use self::__MTLCommandBuffer::MTLCommandEncoderErrorState;
#[cfg(feature = "MTLCommandBuffer")]
pub use self::__MTLCommandBuffer::MTLDispatchType;
#[cfg(feature = "MTLCommandEncoder")]
pub use self::__MTLCommandEncoder::MTLBarrierScope;
#[cfg(feature = "MTLCommandEncoder")]
pub use self::__MTLCommandEncoder::MTLCommandEncoder;
#[cfg(feature = "MTLCommandEncoder")]
pub use self::__MTLCommandEncoder::MTLResourceUsage;
#[cfg(feature = "MTLCommandEncoder")]
pub use self::__MTLCommandEncoder::MTLStages;
#[cfg(feature = "MTLCommandQueue")]
pub use self::__MTLCommandQueue::MTLCommandQueue;
#[cfg(feature = "MTLCommandQueue")]
pub use self::__MTLCommandQueue::MTLCommandQueueDescriptor;
#[cfg(all(feature = "MTLCommandEncoder", feature = "MTLComputeCommandEncoder"))]
pub use self::__MTLComputeCommandEncoder::MTLComputeCommandEncoder;
#[cfg(feature = "MTLComputeCommandEncoder")]
pub use self::__MTLComputeCommandEncoder::MTLDispatchThreadgroupsIndirectArguments;
#[cfg(feature = "MTLComputeCommandEncoder")]
pub use self::__MTLComputeCommandEncoder::MTLDispatchThreadsIndirectArguments;
#[cfg(feature = "MTLComputeCommandEncoder")]
pub use self::__MTLComputeCommandEncoder::MTLStageInRegionIndirectArguments;
#[cfg(feature = "MTLComputePass")]
pub use self::__MTLComputePass::MTLComputePassDescriptor;
#[cfg(feature = "MTLComputePass")]
pub use self::__MTLComputePass::MTLComputePassSampleBufferAttachmentDescriptor;
#[cfg(feature = "MTLComputePass")]
pub use self::__MTLComputePass::MTLComputePassSampleBufferAttachmentDescriptorArray;
#[cfg(feature = "MTLComputePipeline")]
pub use self::__MTLComputePipeline::MTLComputePipelineDescriptor;
#[cfg(feature = "MTLComputePipeline")]
pub use self::__MTLComputePipeline::MTLComputePipelineReflection;
#[cfg(all(feature = "MTLAllocation", feature = "MTLComputePipeline"))]
pub use self::__MTLComputePipeline::MTLComputePipelineState;
#[cfg(feature = "MTLCounters")]
pub use self::__MTLCounters::MTLCommonCounter;
#[cfg(feature = "MTLCounters")]
pub use self::__MTLCounters::MTLCommonCounterClipperInvocations;
#[cfg(feature = "MTLCounters")]
pub use self::__MTLCounters::MTLCommonCounterClipperPrimitivesOut;
#[cfg(feature = "MTLCounters")]
pub use self::__MTLCounters::MTLCommonCounterComputeKernelInvocations;
#[cfg(feature = "MTLCounters")]
pub use self::__MTLCounters::MTLCommonCounterFragmentCycles;
#[cfg(feature = "MTLCounters")]
pub use self::__MTLCounters::MTLCommonCounterFragmentInvocations;
#[cfg(feature = "MTLCounters")]
pub use self::__MTLCounters::MTLCommonCounterFragmentsPassed;
#[cfg(feature = "MTLCounters")]
pub use self::__MTLCounters::MTLCommonCounterPostTessellationVertexCycles;
#[cfg(feature = "MTLCounters")]
pub use self::__MTLCounters::MTLCommonCounterPostTessellationVertexInvocations;
#[cfg(feature = "MTLCounters")]
pub use self::__MTLCounters::MTLCommonCounterRenderTargetWriteCycles;
#[cfg(feature = "MTLCounters")]
pub use self::__MTLCounters::MTLCommonCounterSet;
#[cfg(feature = "MTLCounters")]
pub use self::__MTLCounters::MTLCommonCounterSetStageUtilization;
#[cfg(feature = "MTLCounters")]
pub use self::__MTLCounters::MTLCommonCounterSetStatistic;
#[cfg(feature = "MTLCounters")]
pub use self::__MTLCounters::MTLCommonCounterSetTimestamp;
#[cfg(feature = "MTLCounters")]
pub use self::__MTLCounters::MTLCommonCounterTessellationCycles;
#[cfg(feature = "MTLCounters")]
pub use self::__MTLCounters::MTLCommonCounterTessellationInputPatches;
#[cfg(feature = "MTLCounters")]
pub use self::__MTLCounters::MTLCommonCounterTimestamp;
#[cfg(feature = "MTLCounters")]
pub use self::__MTLCounters::MTLCommonCounterTotalCycles;
#[cfg(feature = "MTLCounters")]
pub use self::__MTLCounters::MTLCommonCounterVertexCycles;
#[cfg(feature = "MTLCounters")]
pub use self::__MTLCounters::MTLCommonCounterVertexInvocations;
#[cfg(feature = "MTLCounters")]
pub use self::__MTLCounters::MTLCounter;
#[cfg(feature = "MTLCounters")]
pub use self::__MTLCounters::MTLCounterErrorDomain;
#[cfg(feature = "MTLCounters")]
pub use self::__MTLCounters::MTLCounterResultStageUtilization;
#[cfg(feature = "MTLCounters")]
pub use self::__MTLCounters::MTLCounterResultStatistic;
#[cfg(feature = "MTLCounters")]
pub use self::__MTLCounters::MTLCounterResultTimestamp;
#[cfg(feature = "MTLCounters")]
pub use self::__MTLCounters::MTLCounterSampleBuffer;
#[cfg(feature = "MTLCounters")]
pub use self::__MTLCounters::MTLCounterSampleBufferDescriptor;
#[cfg(feature = "MTLCounters")]
pub use self::__MTLCounters::MTLCounterSampleBufferError;
#[cfg(feature = "MTLCounters")]
pub use self::__MTLCounters::MTLCounterSet;
#[cfg(feature = "MTLDataType")]
pub use self::__MTLDataType::MTLDataType;
#[cfg(feature = "MTLDepthStencil")]
pub use self::__MTLDepthStencil::MTLCompareFunction;
#[cfg(feature = "MTLDepthStencil")]
pub use self::__MTLDepthStencil::MTLDepthStencilDescriptor;
#[cfg(feature = "MTLDepthStencil")]
pub use self::__MTLDepthStencil::MTLDepthStencilState;
#[cfg(feature = "MTLDepthStencil")]
pub use self::__MTLDepthStencil::MTLStencilDescriptor;
#[cfg(feature = "MTLDepthStencil")]
pub use self::__MTLDepthStencil::MTLStencilOperation;
#[cfg(feature = "MTLDevice")]
pub use self::__MTLDevice::MTLAccelerationStructureSizes;
#[cfg(feature = "MTLDevice")]
pub use self::__MTLDevice::MTLArchitecture;
#[cfg(feature = "MTLDevice")]
pub use self::__MTLDevice::MTLArgumentBuffersTier;
#[cfg(feature = "MTLDevice")]
pub use self::__MTLDevice::MTLArgumentDescriptor;
#[cfg(all(feature = "MTLDevice", feature = "block2"))]
pub use self::__MTLDevice::MTLCopyAllDevicesWithObserver;
#[cfg(feature = "MTLDevice")]
pub use self::__MTLDevice::MTLCounterSamplingPoint;
#[cfg(feature = "MTLDevice")]
pub use self::__MTLDevice::MTLCreateSystemDefaultDevice;
#[cfg(feature = "MTLDevice")]
pub use self::__MTLDevice::MTLDevice;
#[cfg(feature = "MTLDevice")]
pub use self::__MTLDevice::MTLDeviceLocation;
#[cfg(all(feature = "MTLDevice", feature = "block2"))]
pub use self::__MTLDevice::MTLDeviceNotificationHandler;
#[cfg(feature = "MTLDevice")]
pub use self::__MTLDevice::MTLDeviceNotificationName;
#[cfg(feature = "MTLDevice")]
pub use self::__MTLDevice::MTLDeviceRemovalRequestedNotification;
#[cfg(feature = "MTLDevice")]
pub use self::__MTLDevice::MTLDeviceWasAddedNotification;
#[cfg(feature = "MTLDevice")]
pub use self::__MTLDevice::MTLDeviceWasRemovedNotification;
#[cfg(feature = "MTLDevice")]
pub use self::__MTLDevice::MTLFeatureSet;
#[cfg(feature = "MTLDevice")]
pub use self::__MTLDevice::MTLGPUFamily;
#[cfg(feature = "MTLDevice")]
pub use self::__MTLDevice::MTLIOCompressionMethod;
#[cfg(feature = "MTLDevice")]
pub use self::__MTLDevice::MTLPipelineOption;
#[cfg(feature = "MTLDevice")]
pub use self::__MTLDevice::MTLReadWriteTextureTier;
#[cfg(feature = "MTLDevice")]
pub use self::__MTLDevice::MTLRemoveDeviceObserver;
#[cfg(feature = "MTLDevice")]
pub use self::__MTLDevice::MTLSizeAndAlign;
#[cfg(feature = "MTLDevice")]
pub use self::__MTLDevice::MTLSparseTextureRegionAlignmentMode;
#[cfg(feature = "MTLDevice")]
pub use self::__MTLDevice::MTLTimestamp;
#[cfg(feature = "MTLDeviceCertification")]
pub use self::__MTLDeviceCertification::NSDeviceCertification;
#[cfg(feature = "MTLDeviceCertification")]
pub use self::__MTLDeviceCertification::NSDeviceCertificationiPhonePerformanceGaming;
#[cfg(feature = "MTLDeviceCertification")]
pub use self::__MTLDeviceCertification::NSProcessInfoNSDeviceCertification;
#[cfg(feature = "MTLDeviceCertification")]
pub use self::__MTLDeviceCertification::NSProcessInfoPerformanceProfileDidChangeNotification;
#[cfg(feature = "MTLDeviceCertification")]
pub use self::__MTLDeviceCertification::NSProcessPerformanceProfile;
#[cfg(feature = "MTLDeviceCertification")]
pub use self::__MTLDeviceCertification::NSProcessPerformanceProfileDefault;
#[cfg(feature = "MTLDeviceCertification")]
pub use self::__MTLDeviceCertification::NSProcessPerformanceProfileSustained;
#[cfg(feature = "MTLDrawable")]
pub use self::__MTLDrawable::MTLDrawable;
#[cfg(all(feature = "MTLDrawable", feature = "block2"))]
pub use self::__MTLDrawable::MTLDrawablePresentedHandler;
#[cfg(feature = "MTLDynamicLibrary")]
pub use self::__MTLDynamicLibrary::MTLDynamicLibrary;
#[cfg(feature = "MTLDynamicLibrary")]
pub use self::__MTLDynamicLibrary::MTLDynamicLibraryDomain;
#[cfg(feature = "MTLDynamicLibrary")]
pub use self::__MTLDynamicLibrary::MTLDynamicLibraryError;
#[cfg(feature = "MTLEvent")]
pub use self::__MTLEvent::MTLEvent;
#[cfg(feature = "MTLEvent")]
pub use self::__MTLEvent::MTLSharedEvent;
#[cfg(feature = "MTLEvent")]
pub use self::__MTLEvent::MTLSharedEventHandle;
#[cfg(feature = "MTLEvent")]
pub use self::__MTLEvent::MTLSharedEventListener;
#[cfg(all(feature = "MTLEvent", feature = "block2"))]
pub use self::__MTLEvent::MTLSharedEventNotificationBlock;
#[cfg(feature = "MTLFence")]
pub use self::__MTLFence::MTLFence;
#[cfg(feature = "MTLFunctionConstantValues")]
pub use self::__MTLFunctionConstantValues::MTLFunctionConstantValues;
#[cfg(feature = "MTLFunctionDescriptor")]
pub use self::__MTLFunctionDescriptor::MTLFunctionDescriptor;
#[cfg(feature = "MTLFunctionDescriptor")]
pub use self::__MTLFunctionDescriptor::MTLFunctionOptions;
#[cfg(feature = "MTLFunctionDescriptor")]
pub use self::__MTLFunctionDescriptor::MTLIntersectionFunctionDescriptor;
#[cfg(feature = "MTLFunctionHandle")]
pub use self::__MTLFunctionHandle::MTLFunctionHandle;
#[cfg(feature = "MTLFunctionLog")]
pub use self::__MTLFunctionLog::MTLFunctionLog;
#[cfg(feature = "MTLFunctionLog")]
pub use self::__MTLFunctionLog::MTLFunctionLogDebugLocation;
#[cfg(feature = "MTLFunctionLog")]
pub use self::__MTLFunctionLog::MTLFunctionLogType;
#[cfg(feature = "MTLFunctionLog")]
pub use self::__MTLFunctionLog::MTLLogContainer;
#[cfg(feature = "MTLFunctionStitching")]
pub use self::__MTLFunctionStitching::MTLFunctionStitchingAttribute;
#[cfg(feature = "MTLFunctionStitching")]
pub use self::__MTLFunctionStitching::MTLFunctionStitchingAttributeAlwaysInline;
#[cfg(feature = "MTLFunctionStitching")]
pub use self::__MTLFunctionStitching::MTLFunctionStitchingFunctionNode;
#[cfg(feature = "MTLFunctionStitching")]
pub use self::__MTLFunctionStitching::MTLFunctionStitchingGraph;
#[cfg(feature = "MTLFunctionStitching")]
pub use self::__MTLFunctionStitching::MTLFunctionStitchingInputNode;
#[cfg(feature = "MTLFunctionStitching")]
pub use self::__MTLFunctionStitching::MTLFunctionStitchingNode;
#[cfg(feature = "MTLFunctionStitching")]
pub use self::__MTLFunctionStitching::MTLStitchedLibraryDescriptor;
#[cfg(feature = "MTLFunctionStitching")]
pub use self::__MTLFunctionStitching::MTLStitchedLibraryOptions;
#[cfg(feature = "MTLGPUAddress")]
pub use self::__MTLGPUAddress::MTLGPUAddress;
#[cfg(all(feature = "MTLAllocation", feature = "MTLHeap"))]
pub use self::__MTLHeap::MTLHeap;
#[cfg(feature = "MTLHeap")]
pub use self::__MTLHeap::MTLHeapDescriptor;
#[cfg(feature = "MTLHeap")]
pub use self::__MTLHeap::MTLHeapType;
#[cfg(feature = "MTLIOCommandBuffer")]
pub use self::__MTLIOCommandBuffer::MTLIOCommandBuffer;
#[cfg(all(feature = "MTLIOCommandBuffer", feature = "block2"))]
pub use self::__MTLIOCommandBuffer::MTLIOCommandBufferHandler;
#[cfg(feature = "MTLIOCommandBuffer")]
pub use self::__MTLIOCommandBuffer::MTLIOStatus;
#[cfg(feature = "MTLIOCommandQueue")]
pub use self::__MTLIOCommandQueue::MTLIOCommandQueue;
#[cfg(feature = "MTLIOCommandQueue")]
pub use self::__MTLIOCommandQueue::MTLIOCommandQueueDescriptor;
#[cfg(feature = "MTLIOCommandQueue")]
pub use self::__MTLIOCommandQueue::MTLIOCommandQueueType;
#[cfg(feature = "MTLIOCommandQueue")]
pub use self::__MTLIOCommandQueue::MTLIOError;
#[cfg(feature = "MTLIOCommandQueue")]
pub use self::__MTLIOCommandQueue::MTLIOErrorDomain;
#[cfg(feature = "MTLIOCommandQueue")]
pub use self::__MTLIOCommandQueue::MTLIOFileHandle;
#[cfg(feature = "MTLIOCommandQueue")]
pub use self::__MTLIOCommandQueue::MTLIOPriority;
#[cfg(feature = "MTLIOCommandQueue")]
pub use self::__MTLIOCommandQueue::MTLIOScratchBuffer;
#[cfg(feature = "MTLIOCommandQueue")]
pub use self::__MTLIOCommandQueue::MTLIOScratchBufferAllocator;
#[cfg(feature = "MTLIOCompressor")]
pub use self::__MTLIOCompressor::MTLIOCompressionContext;
#[cfg(feature = "MTLIOCompressor")]
pub use self::__MTLIOCompressor::MTLIOCompressionContextAppendData;
#[cfg(feature = "MTLIOCompressor")]
pub use self::__MTLIOCompressor::MTLIOCompressionContextDefaultChunkSize;
#[cfg(feature = "MTLIOCompressor")]
pub use self::__MTLIOCompressor::MTLIOCompressionStatus;
#[cfg(all(feature = "MTLDevice", feature = "MTLIOCompressor"))]
pub use self::__MTLIOCompressor::MTLIOCreateCompressionContext;
#[cfg(feature = "MTLIOCompressor")]
pub use self::__MTLIOCompressor::MTLIOFlushAndDestroyCompressionContext;
#[cfg(all(
    feature = "MTLAllocation",
    feature = "MTLIndirectCommandBuffer",
    feature = "MTLResource"
))]
pub use self::__MTLIndirectCommandBuffer::MTLIndirectCommandBuffer;
#[cfg(feature = "MTLIndirectCommandBuffer")]
pub use self::__MTLIndirectCommandBuffer::MTLIndirectCommandBufferDescriptor;
#[cfg(feature = "MTLIndirectCommandBuffer")]
pub use self::__MTLIndirectCommandBuffer::MTLIndirectCommandBufferExecutionRange;
#[cfg(feature = "MTLIndirectCommandBuffer")]
pub use self::__MTLIndirectCommandBuffer::MTLIndirectCommandType;
#[cfg(feature = "MTLIndirectCommandEncoder")]
pub use self::__MTLIndirectCommandEncoder::MTLIndirectComputeCommand;
#[cfg(feature = "MTLIndirectCommandEncoder")]
pub use self::__MTLIndirectCommandEncoder::MTLIndirectRenderCommand;
#[cfg(feature = "MTLIntersectionFunctionTable")]
pub use self::__MTLIntersectionFunctionTable::MTLIntersectionFunctionBufferArguments;
#[cfg(feature = "MTLIntersectionFunctionTable")]
pub use self::__MTLIntersectionFunctionTable::MTLIntersectionFunctionSignature;
#[cfg(all(
    feature = "MTLAllocation",
    feature = "MTLIntersectionFunctionTable",
    feature = "MTLResource"
))]
pub use self::__MTLIntersectionFunctionTable::MTLIntersectionFunctionTable;
#[cfg(feature = "MTLIntersectionFunctionTable")]
pub use self::__MTLIntersectionFunctionTable::MTLIntersectionFunctionTableDescriptor;
#[cfg(feature = "MTLLibrary")]
pub use self::__MTLLibrary::MTLAttribute;
#[cfg(all(feature = "MTLArgument", feature = "MTLLibrary"))]
pub use self::__MTLLibrary::MTLAutoreleasedArgument;
#[cfg(all(feature = "MTLComputePipeline", feature = "MTLLibrary"))]
pub use self::__MTLLibrary::MTLAutoreleasedComputePipelineReflection;
#[cfg(all(feature = "MTLLibrary", feature = "MTLRenderPipeline"))]
pub use self::__MTLLibrary::MTLAutoreleasedRenderPipelineReflection;
#[cfg(feature = "MTLLibrary")]
pub use self::__MTLLibrary::MTLCompileOptions;
#[cfg(feature = "MTLLibrary")]
pub use self::__MTLLibrary::MTLCompileSymbolVisibility;
#[cfg(feature = "MTLLibrary")]
pub use self::__MTLLibrary::MTLFunction;
#[cfg(feature = "MTLLibrary")]
pub use self::__MTLLibrary::MTLFunctionConstant;
#[cfg(feature = "MTLLibrary")]
pub use self::__MTLLibrary::MTLFunctionReflection;
#[cfg(feature = "MTLLibrary")]
pub use self::__MTLLibrary::MTLFunctionType;
#[cfg(feature = "MTLLibrary")]
pub use self::__MTLLibrary::MTLLanguageVersion;
#[cfg(feature = "MTLLibrary")]
pub use self::__MTLLibrary::MTLLibrary;
#[cfg(feature = "MTLLibrary")]
pub use self::__MTLLibrary::MTLLibraryError;
#[cfg(feature = "MTLLibrary")]
pub use self::__MTLLibrary::MTLLibraryErrorDomain;
#[cfg(feature = "MTLLibrary")]
pub use self::__MTLLibrary::MTLLibraryOptimizationLevel;
#[cfg(feature = "MTLLibrary")]
pub use self::__MTLLibrary::MTLLibraryType;
#[cfg(feature = "MTLLibrary")]
pub use self::__MTLLibrary::MTLMathFloatingPointFunctions;
#[cfg(feature = "MTLLibrary")]
pub use self::__MTLLibrary::MTLMathMode;
#[cfg(all(
    feature = "MTLAllocation",
    feature = "MTLComputePipeline",
    feature = "MTLLibrary",
    feature = "block2"
))]
pub use self::__MTLLibrary::MTLNewComputePipelineStateCompletionHandler;
#[cfg(all(
    feature = "MTLAllocation",
    feature = "MTLComputePipeline",
    feature = "MTLLibrary",
    feature = "block2"
))]
pub use self::__MTLLibrary::MTLNewComputePipelineStateWithReflectionCompletionHandler;
#[cfg(all(
    feature = "MTLDynamicLibrary",
    feature = "MTLLibrary",
    feature = "block2"
))]
pub use self::__MTLLibrary::MTLNewDynamicLibraryCompletionHandler;
#[cfg(all(feature = "MTLLibrary", feature = "block2"))]
pub use self::__MTLLibrary::MTLNewLibraryCompletionHandler;
#[cfg(all(
    feature = "MTLAllocation",
    feature = "MTLLibrary",
    feature = "MTLRenderPipeline",
    feature = "block2"
))]
pub use self::__MTLLibrary::MTLNewRenderPipelineStateCompletionHandler;
#[cfg(all(
    feature = "MTLAllocation",
    feature = "MTLLibrary",
    feature = "MTLRenderPipeline",
    feature = "block2"
))]
pub use self::__MTLLibrary::MTLNewRenderPipelineStateWithReflectionCompletionHandler;
#[cfg(feature = "MTLLibrary")]
pub use self::__MTLLibrary::MTLPatchType;
#[cfg(feature = "MTLLibrary")]
pub use self::__MTLLibrary::MTLVertexAttribute;
#[cfg(feature = "MTLLinkedFunctions")]
pub use self::__MTLLinkedFunctions::MTLLinkedFunctions;
#[cfg(feature = "MTLLogState")]
pub use self::__MTLLogState::MTLLogLevel;
#[cfg(feature = "MTLLogState")]
pub use self::__MTLLogState::MTLLogState;
#[cfg(feature = "MTLLogState")]
pub use self::__MTLLogState::MTLLogStateDescriptor;
#[cfg(feature = "MTLLogState")]
pub use self::__MTLLogState::MTLLogStateError;
#[cfg(feature = "MTLLogState")]
pub use self::__MTLLogState::MTLLogStateErrorDomain;
#[cfg(all(
    feature = "MTLCommandEncoder",
    feature = "MTLParallelRenderCommandEncoder"
))]
pub use self::__MTLParallelRenderCommandEncoder::MTLParallelRenderCommandEncoder;
#[cfg(feature = "MTLPipeline")]
pub use self::__MTLPipeline::MTLMutability;
#[cfg(feature = "MTLPipeline")]
pub use self::__MTLPipeline::MTLPipelineBufferDescriptor;
#[cfg(feature = "MTLPipeline")]
pub use self::__MTLPipeline::MTLPipelineBufferDescriptorArray;
#[cfg(feature = "MTLPipeline")]
pub use self::__MTLPipeline::MTLShaderValidation;
#[cfg(feature = "MTLPixelFormat")]
pub use self::__MTLPixelFormat::MTLPixelFormat;
#[cfg(feature = "MTLRasterizationRate")]
pub use self::__MTLRasterizationRate::MTLRasterizationRateLayerArray;
#[cfg(feature = "MTLRasterizationRate")]
pub use self::__MTLRasterizationRate::MTLRasterizationRateLayerDescriptor;
#[cfg(feature = "MTLRasterizationRate")]
pub use self::__MTLRasterizationRate::MTLRasterizationRateMap;
#[cfg(feature = "MTLRasterizationRate")]
pub use self::__MTLRasterizationRate::MTLRasterizationRateMapDescriptor;
#[cfg(feature = "MTLRasterizationRate")]
pub use self::__MTLRasterizationRate::MTLRasterizationRateSampleArray;
#[cfg(feature = "MTLRenderCommandEncoder")]
pub use self::__MTLRenderCommandEncoder::MTLCullMode;
#[cfg(feature = "MTLRenderCommandEncoder")]
pub use self::__MTLRenderCommandEncoder::MTLDepthClipMode;
#[cfg(feature = "MTLRenderCommandEncoder")]
pub use self::__MTLRenderCommandEncoder::MTLDrawIndexedPrimitivesIndirectArguments;
#[cfg(feature = "MTLRenderCommandEncoder")]
pub use self::__MTLRenderCommandEncoder::MTLDrawPatchIndirectArguments;
#[cfg(feature = "MTLRenderCommandEncoder")]
pub use self::__MTLRenderCommandEncoder::MTLDrawPrimitivesIndirectArguments;
#[cfg(feature = "MTLRenderCommandEncoder")]
pub use self::__MTLRenderCommandEncoder::MTLPrimitiveType;
#[cfg(feature = "MTLRenderCommandEncoder")]
pub use self::__MTLRenderCommandEncoder::MTLQuadTessellationFactorsHalf;
#[cfg(all(feature = "MTLCommandEncoder", feature = "MTLRenderCommandEncoder"))]
pub use self::__MTLRenderCommandEncoder::MTLRenderCommandEncoder;
#[cfg(feature = "MTLRenderCommandEncoder")]
pub use self::__MTLRenderCommandEncoder::MTLRenderStages;
#[cfg(feature = "MTLRenderCommandEncoder")]
pub use self::__MTLRenderCommandEncoder::MTLScissorRect;
#[cfg(feature = "MTLRenderCommandEncoder")]
pub use self::__MTLRenderCommandEncoder::MTLTriangleFillMode;
#[cfg(feature = "MTLRenderCommandEncoder")]
pub use self::__MTLRenderCommandEncoder::MTLTriangleTessellationFactorsHalf;
#[cfg(feature = "MTLRenderCommandEncoder")]
pub use self::__MTLRenderCommandEncoder::MTLVertexAmplificationViewMapping;
#[cfg(feature = "MTLRenderCommandEncoder")]
pub use self::__MTLRenderCommandEncoder::MTLViewport;
#[cfg(feature = "MTLRenderCommandEncoder")]
pub use self::__MTLRenderCommandEncoder::MTLVisibilityResultMode;
#[cfg(feature = "MTLRenderCommandEncoder")]
pub use self::__MTLRenderCommandEncoder::MTLWinding;
#[cfg(feature = "MTLRenderPass")]
pub use self::__MTLRenderPass::MTLClearColor;
#[cfg(feature = "MTLRenderPass")]
pub use self::__MTLRenderPass::MTLLoadAction;
#[cfg(feature = "MTLRenderPass")]
pub use self::__MTLRenderPass::MTLMultisampleDepthResolveFilter;
#[cfg(feature = "MTLRenderPass")]
pub use self::__MTLRenderPass::MTLMultisampleStencilResolveFilter;
#[cfg(feature = "MTLRenderPass")]
pub use self::__MTLRenderPass::MTLRenderPassAttachmentDescriptor;
#[cfg(feature = "MTLRenderPass")]
pub use self::__MTLRenderPass::MTLRenderPassColorAttachmentDescriptor;
#[cfg(feature = "MTLRenderPass")]
pub use self::__MTLRenderPass::MTLRenderPassColorAttachmentDescriptorArray;
#[cfg(feature = "MTLRenderPass")]
pub use self::__MTLRenderPass::MTLRenderPassDepthAttachmentDescriptor;
#[cfg(feature = "MTLRenderPass")]
pub use self::__MTLRenderPass::MTLRenderPassDescriptor;
#[cfg(feature = "MTLRenderPass")]
pub use self::__MTLRenderPass::MTLRenderPassSampleBufferAttachmentDescriptor;
#[cfg(feature = "MTLRenderPass")]
pub use self::__MTLRenderPass::MTLRenderPassSampleBufferAttachmentDescriptorArray;
#[cfg(feature = "MTLRenderPass")]
pub use self::__MTLRenderPass::MTLRenderPassStencilAttachmentDescriptor;
#[cfg(feature = "MTLRenderPass")]
pub use self::__MTLRenderPass::MTLStoreAction;
#[cfg(feature = "MTLRenderPass")]
pub use self::__MTLRenderPass::MTLStoreActionOptions;
#[cfg(feature = "MTLRenderPass")]
pub use self::__MTLRenderPass::MTLVisibilityResultType;
#[cfg(feature = "MTLRenderPipeline")]
pub use self::__MTLRenderPipeline::MTLBlendFactor;
#[cfg(feature = "MTLRenderPipeline")]
pub use self::__MTLRenderPipeline::MTLBlendOperation;
#[cfg(feature = "MTLRenderPipeline")]
pub use self::__MTLRenderPipeline::MTLColorWriteMask;
#[cfg(feature = "MTLRenderPipeline")]
pub use self::__MTLRenderPipeline::MTLLogicalToPhysicalColorAttachmentMap;
#[cfg(feature = "MTLRenderPipeline")]
pub use self::__MTLRenderPipeline::MTLMeshRenderPipelineDescriptor;
#[cfg(feature = "MTLRenderPipeline")]
pub use self::__MTLRenderPipeline::MTLPrimitiveTopologyClass;
#[cfg(feature = "MTLRenderPipeline")]
pub use self::__MTLRenderPipeline::MTLRenderPipelineColorAttachmentDescriptor;
#[cfg(feature = "MTLRenderPipeline")]
pub use self::__MTLRenderPipeline::MTLRenderPipelineColorAttachmentDescriptorArray;
#[cfg(feature = "MTLRenderPipeline")]
pub use self::__MTLRenderPipeline::MTLRenderPipelineDescriptor;
#[cfg(feature = "MTLRenderPipeline")]
pub use self::__MTLRenderPipeline::MTLRenderPipelineFunctionsDescriptor;
#[cfg(feature = "MTLRenderPipeline")]
pub use self::__MTLRenderPipeline::MTLRenderPipelineReflection;
#[cfg(all(feature = "MTLAllocation", feature = "MTLRenderPipeline"))]
pub use self::__MTLRenderPipeline::MTLRenderPipelineState;
#[cfg(feature = "MTLRenderPipeline")]
pub use self::__MTLRenderPipeline::MTLTessellationControlPointIndexType;
#[cfg(feature = "MTLRenderPipeline")]
pub use self::__MTLRenderPipeline::MTLTessellationFactorFormat;
#[cfg(feature = "MTLRenderPipeline")]
pub use self::__MTLRenderPipeline::MTLTessellationFactorStepFunction;
#[cfg(feature = "MTLRenderPipeline")]
pub use self::__MTLRenderPipeline::MTLTessellationPartitionMode;
#[cfg(feature = "MTLRenderPipeline")]
pub use self::__MTLRenderPipeline::MTLTileRenderPipelineColorAttachmentDescriptor;
#[cfg(feature = "MTLRenderPipeline")]
pub use self::__MTLRenderPipeline::MTLTileRenderPipelineColorAttachmentDescriptorArray;
#[cfg(feature = "MTLRenderPipeline")]
pub use self::__MTLRenderPipeline::MTLTileRenderPipelineDescriptor;
#[cfg(feature = "MTLResidencySet")]
pub use self::__MTLResidencySet::MTLResidencySet;
#[cfg(feature = "MTLResidencySet")]
pub use self::__MTLResidencySet::MTLResidencySetDescriptor;
#[cfg(feature = "MTLResource")]
pub use self::__MTLResource::MTLBufferSparseTier;
#[cfg(feature = "MTLResource")]
pub use self::__MTLResource::MTLCPUCacheMode;
#[cfg(feature = "MTLResource")]
pub use self::__MTLResource::MTLHazardTrackingMode;
#[cfg(feature = "MTLResource")]
pub use self::__MTLResource::MTLPurgeableState;
#[cfg(all(feature = "MTLAllocation", feature = "MTLResource"))]
pub use self::__MTLResource::MTLResource;
#[cfg(feature = "MTLResource")]
pub use self::__MTLResource::MTLResourceOptions;
#[cfg(feature = "MTLResource")]
pub use self::__MTLResource::MTLSparsePageSize;
#[cfg(feature = "MTLResource")]
pub use self::__MTLResource::MTLStorageMode;
#[cfg(feature = "MTLResource")]
pub use self::__MTLResource::MTLTextureSparseTier;
#[cfg(feature = "MTLResourceStateCommandEncoder")]
pub use self::__MTLResourceStateCommandEncoder::MTLMapIndirectArguments;
#[cfg(all(
    feature = "MTLCommandEncoder",
    feature = "MTLResourceStateCommandEncoder"
))]
pub use self::__MTLResourceStateCommandEncoder::MTLResourceStateCommandEncoder;
#[cfg(feature = "MTLResourceStateCommandEncoder")]
pub use self::__MTLResourceStateCommandEncoder::MTLSparseTextureMappingMode;
#[cfg(feature = "MTLResourceStatePass")]
pub use self::__MTLResourceStatePass::MTLResourceStatePassDescriptor;
#[cfg(feature = "MTLResourceStatePass")]
pub use self::__MTLResourceStatePass::MTLResourceStatePassSampleBufferAttachmentDescriptor;
#[cfg(feature = "MTLResourceStatePass")]
pub use self::__MTLResourceStatePass::MTLResourceStatePassSampleBufferAttachmentDescriptorArray;
#[cfg(feature = "MTLResourceViewPool")]
pub use self::__MTLResourceViewPool::MTLResourceViewPool;
#[cfg(feature = "MTLResourceViewPool")]
pub use self::__MTLResourceViewPool::MTLResourceViewPoolDescriptor;
#[cfg(feature = "MTLSampler")]
pub use self::__MTLSampler::MTLSamplerAddressMode;
#[cfg(feature = "MTLSampler")]
pub use self::__MTLSampler::MTLSamplerBorderColor;
#[cfg(feature = "MTLSampler")]
pub use self::__MTLSampler::MTLSamplerDescriptor;
#[cfg(feature = "MTLSampler")]
pub use self::__MTLSampler::MTLSamplerMinMagFilter;
#[cfg(feature = "MTLSampler")]
pub use self::__MTLSampler::MTLSamplerMipFilter;
#[cfg(feature = "MTLSampler")]
pub use self::__MTLSampler::MTLSamplerReductionMode;
#[cfg(feature = "MTLSampler")]
pub use self::__MTLSampler::MTLSamplerState;
#[cfg(feature = "MTLStageInputOutputDescriptor")]
pub use self::__MTLStageInputOutputDescriptor::MTLAttributeDescriptor;
#[cfg(feature = "MTLStageInputOutputDescriptor")]
pub use self::__MTLStageInputOutputDescriptor::MTLAttributeDescriptorArray;
#[cfg(feature = "MTLStageInputOutputDescriptor")]
pub use self::__MTLStageInputOutputDescriptor::MTLAttributeFormat;
#[cfg(feature = "MTLStageInputOutputDescriptor")]
pub use self::__MTLStageInputOutputDescriptor::MTLBufferLayoutDescriptor;
#[cfg(feature = "MTLStageInputOutputDescriptor")]
pub use self::__MTLStageInputOutputDescriptor::MTLBufferLayoutDescriptorArray;
#[cfg(feature = "MTLStageInputOutputDescriptor")]
pub use self::__MTLStageInputOutputDescriptor::MTLStageInputOutputDescriptor;
#[cfg(feature = "MTLStageInputOutputDescriptor")]
pub use self::__MTLStageInputOutputDescriptor::MTLStepFunction;
#[cfg(all(
    feature = "MTLAllocation",
    feature = "MTLResource",
    feature = "MTLTensor"
))]
pub use self::__MTLTensor::MTLTensor;
#[cfg(feature = "MTLTensor")]
pub use self::__MTLTensor::MTLTensorDataType;
#[cfg(feature = "MTLTensor")]
pub use self::__MTLTensor::MTLTensorDescriptor;
#[cfg(feature = "MTLTensor")]
pub use self::__MTLTensor::MTLTensorDomain;
#[cfg(feature = "MTLTensor")]
pub use self::__MTLTensor::MTLTensorError;
#[cfg(feature = "MTLTensor")]
pub use self::__MTLTensor::MTLTensorExtents;
#[cfg(feature = "MTLTensor")]
pub use self::__MTLTensor::MTLTensorUsage;
#[cfg(feature = "MTLTexture")]
pub use self::__MTLTexture::MTLSharedTextureHandle;
#[cfg(all(
    feature = "MTLAllocation",
    feature = "MTLResource",
    feature = "MTLTexture"
))]
pub use self::__MTLTexture::MTLTexture;
#[cfg(feature = "MTLTexture")]
pub use self::__MTLTexture::MTLTextureCompressionType;
#[cfg(feature = "MTLTexture")]
pub use self::__MTLTexture::MTLTextureDescriptor;
#[cfg(feature = "MTLTexture")]
pub use self::__MTLTexture::MTLTextureSwizzle;
#[cfg(feature = "MTLTexture")]
pub use self::__MTLTexture::MTLTextureSwizzleChannels;
#[cfg(feature = "MTLTexture")]
pub use self::__MTLTexture::MTLTextureType;
#[cfg(feature = "MTLTexture")]
pub use self::__MTLTexture::MTLTextureUsage;
#[cfg(feature = "MTLTexture")]
pub use self::__MTLTexture::MTLTextureViewDescriptor;
#[cfg(all(feature = "MTLResourceViewPool", feature = "MTLTextureViewPool"))]
pub use self::__MTLTextureViewPool::MTLTextureViewPool;
#[cfg(feature = "MTLTypes")]
pub use self::__MTLTypes::MTLCoordinate2D;
#[cfg(feature = "MTLTypes")]
pub use self::__MTLTypes::MTLOrigin;
#[cfg(feature = "MTLTypes")]
pub use self::__MTLTypes::MTLRegion;
#[cfg(feature = "MTLTypes")]
pub use self::__MTLTypes::MTLResourceID;
#[cfg(feature = "MTLTypes")]
pub use self::__MTLTypes::MTLSamplePosition;
#[cfg(feature = "MTLTypes")]
pub use self::__MTLTypes::MTLSize;
#[cfg(feature = "MTLVertexDescriptor")]
pub use self::__MTLVertexDescriptor::MTLBufferLayoutStrideDynamic;
#[cfg(feature = "MTLVertexDescriptor")]
pub use self::__MTLVertexDescriptor::MTLVertexAttributeDescriptor;
#[cfg(feature = "MTLVertexDescriptor")]
pub use self::__MTLVertexDescriptor::MTLVertexAttributeDescriptorArray;
#[cfg(feature = "MTLVertexDescriptor")]
pub use self::__MTLVertexDescriptor::MTLVertexBufferLayoutDescriptor;
#[cfg(feature = "MTLVertexDescriptor")]
pub use self::__MTLVertexDescriptor::MTLVertexBufferLayoutDescriptorArray;
#[cfg(feature = "MTLVertexDescriptor")]
pub use self::__MTLVertexDescriptor::MTLVertexDescriptor;
#[cfg(feature = "MTLVertexDescriptor")]
pub use self::__MTLVertexDescriptor::MTLVertexFormat;
#[cfg(feature = "MTLVertexDescriptor")]
pub use self::__MTLVertexDescriptor::MTLVertexStepFunction;
#[cfg(all(
    feature = "MTLAllocation",
    feature = "MTLResource",
    feature = "MTLVisibleFunctionTable"
))]
pub use self::__MTLVisibleFunctionTable::MTLVisibleFunctionTable;
#[cfg(feature = "MTLVisibleFunctionTable")]
pub use self::__MTLVisibleFunctionTable::MTLVisibleFunctionTableDescriptor;
