Expand description
Metal 4 API bindings.
This module provides bindings to Metal 4 APIs, which offer enhanced control over command buffering, pipelines, and GPU resource management.
§Key Types
§Command Infrastructure
CommandQueue- Metal 4 command queue with explicit residency managementCommandBuffer- Metal 4 command buffer with explicit allocatorCommandAllocator- Memory allocator for command buffer recordingCommitFeedback- Feedback about committed command buffers
§Command Encoders
CommandEncoder- Base command encoder with barrier and fence methodsComputeCommandEncoder- Compute shader dispatch and resource bindingRenderCommandEncoder- Render pass encoding with draw commandsMachineLearningCommandEncoder- ML network dispatch encoder
§Render Pass
RenderPassDescriptor- Metal 4 render pass configuration
§Pipelines
ComputePipelineDescriptor- Compute pipeline configurationRenderPipelineDescriptor- Render pipeline configurationMeshRenderPipelineDescriptor- Mesh shading pipeline configurationTileRenderPipelineDescriptor- Tile shading pipeline configurationMachineLearningPipelineDescriptor- ML pipeline configurationMachineLearningPipelineState- Compiled ML pipeline
§Function Descriptors
FunctionDescriptor- Function specification for pipelinesLibraryFunctionDescriptor- Function from a library by nameSpecializedFunctionDescriptor- Function with constant specializationStitchedFunctionDescriptor- Graph-based function compositionStaticLinkingDescriptor- Static shader linking configurationPipelineStageDynamicLinkingDescriptor- Dynamic linking per stageRenderPipelineDynamicLinkingDescriptor- Dynamic linking for render pipelines
§Compiler
Compiler- Shader compiler for creating pipelines and functionsCompilerTask- Asynchronous compilation taskBinaryFunction- Precompiled binary function for linkingLibraryDescriptor- Library creation configurationPipelineDataSetSerializer- Pipeline data serialization
§Archives
Archive- Pre-compiled pipeline archive
§Argument Binding
ArgumentTable- GPU resource binding tableArgumentTableDescriptor- Configuration for argument tables
§Counters
CounterHeap- GPU performance counter storageCounterHeapDescriptor- Counter heap configuration
§Machine Learning
MachineLearningPipelineDescriptor- ML pipeline descriptorMachineLearningPipelineState- Compiled ML pipeline stateMachineLearningPipelineReflection- ML pipeline reflection data
Structs§
- Acceleration
Structure Bounding BoxGeometry Descriptor - Descriptor for bounding box geometry in an acceleration structure.
- Acceleration
Structure Curve Geometry Descriptor - Descriptor for curve geometry in an acceleration structure.
- Acceleration
Structure Descriptor - Base descriptor for creating an acceleration structure.
- Acceleration
Structure Geometry Descriptor - Base descriptor for geometry in an acceleration structure.
- Acceleration
Structure Motion Bounding BoxGeometry Descriptor - Descriptor for motion bounding box geometry in an acceleration structure.
- Acceleration
Structure Motion Curve Geometry Descriptor - Descriptor for motion curve geometry in an acceleration structure.
- Acceleration
Structure Motion Triangle Geometry Descriptor - Descriptor for motion triangle geometry in an acceleration structure.
- Acceleration
Structure Triangle Geometry Descriptor - Descriptor for triangle geometry in an acceleration structure.
- Alpha
ToCoverage State - Alpha to coverage state for pipeline.
- Alpha
ToOne State - Alpha to one state for pipeline.
- Archive
- MTL4 pipeline archive.
- Argument
Table - Argument table for GPU resource binding.
- Argument
Table Descriptor - Descriptor for creating an argument table.
- Binary
Function - A compiled binary function for linking.
- Binary
Function Descriptor - Descriptor for creating a binary function.
- Binary
Function Options - Binary function options.
- Blend
State - Blend state for pipeline color attachments.
- Buffer
Range - A buffer range with address and length.
- Command
Allocator - Memory allocator for MTL4 command buffer recording.
- Command
Allocator Descriptor - Descriptor for creating a MTL4 command allocator.
- Command
Buffer - MTL4 command buffer for recording GPU commands.
- Command
Buffer Options - Options for MTL4 command buffer creation.
- Command
Encoder - Base command encoder for MTL4.
- Command
Queue - MTL4 command queue with explicit residency management.
- Command
Queue Descriptor - Descriptor for creating a MTL4 command queue.
- Command
Queue Error - Error codes for MTL4 command queue operations.
- Commit
Feedback - Feedback about committed command buffers.
- Commit
Options - Options for committing command buffers.
- Compiler
- MTL4 shader compiler.
- Compiler
Descriptor - Descriptor for creating a compiler.
- Compiler
Task - A task representing an asynchronous compilation operation.
- Compiler
Task Options - Options for compiler tasks.
- Compiler
Task Status - Compiler task status.
- Compute
Command Encoder - MTL4 compute command encoder.
- Compute
Pipeline Descriptor - Descriptor for MTL4 compute pipelines.
- Counter
Heap - A heap for GPU performance counters.
- Counter
Heap Descriptor - Descriptor for creating a counter heap.
- Counter
Heap Type - Counter heap type.
- Function
Descriptor - Descriptor for MTL4 functions.
- Indirect
Command Buffer Support State - Indirect command buffer support state.
- Indirect
Instance Acceleration Structure Descriptor - Descriptor for creating an indirect instance acceleration structure.
- Instance
Acceleration Structure Descriptor - Descriptor for creating an instance acceleration structure.
- Library
Descriptor - Descriptor for creating a Metal library.
- Library
Function Descriptor - Descriptor for a function from a library.
- Logical
ToPhysical Color Attachment Mapping State - Logical to physical color attachment mapping state.
- Machine
Learning Command Encoder - A command encoder for machine learning operations.
- Machine
Learning Pipeline Descriptor - Descriptor for creating a machine learning pipeline.
- Machine
Learning Pipeline Reflection - Reflection data for a machine learning pipeline.
- Machine
Learning Pipeline State - A compiled machine learning pipeline state.
- Mesh
Render Pipeline Descriptor - Descriptor for MTL4 mesh render pipelines.
- Pipeline
Data SetSerializer - Serializes pipeline data sets for caching.
- Pipeline
Data SetSerializer Configuration - Pipeline data set serializer configuration.
- Pipeline
Data SetSerializer Descriptor - Descriptor for creating a pipeline data set serializer.
- Pipeline
Descriptor - Base descriptor for MTL4 pipelines.
- Pipeline
Options - Options for MTL4 pipeline creation.
- Pipeline
Stage Dynamic Linking Descriptor - Descriptor for pipeline stage dynamic linking.
- Primitive
Acceleration Structure Descriptor - Descriptor for creating a primitive acceleration structure.
- Render
Command Encoder - MTL4 render command encoder.
- Render
Encoder Options - Render encoder options.
- Render
Pass Descriptor - MTL4 render pass descriptor.
- Render
Pipeline Binary Functions Descriptor - Descriptor for render pipeline binary functions.
- Render
Pipeline Color Attachment Descriptor - Descriptor for a render pipeline color attachment.
- Render
Pipeline Color Attachment Descriptor Array - Array of render pipeline color attachment descriptors.
- Render
Pipeline Descriptor - Descriptor for MTL4 render pipelines.
- Render
Pipeline Dynamic Linking Descriptor - Descriptor for render pipeline dynamic linking.
- Shader
Reflection - Shader reflection options.
- Specialized
Function Descriptor - Descriptor for specialized functions with constant values.
- Static
Linking Descriptor - Descriptor for static shader linking.
- Stitched
Function Descriptor - Descriptor for stitched functions.
- Tile
Render Pipeline Descriptor - Descriptor for MTL4 tile render pipelines.
- Timestamp
Granularity - Timestamp granularity.
- Timestamp
Heap Entry - A timestamp entry in a counter heap.
- Visibility
Options - Visibility options for command encoder operations.