MetalA debug callback function that will be called for each Objective-C message send. The callback receives the selector name. Set to None to disable debugging.
Initialize debug logging to a file. This sets a debug callback that logs timestamps and selectors to the specified file.
module Device : sig ... endRepresents the GPU device capable of executing Metal commands. See MTLDevice.
module ResourceOptions : sig ... endOptions for configuring Metal resources like buffers and textures. See MTLResourceOptions.
module PipelineOption : sig ... endOptions controlling pipeline state creation. See MTLPipelineOption.
module CompileOptions : sig ... endOptions for compiling Metal Shading Language (MSL) source code. See MTLCompileOptions.
module Resource : sig ... endCommon interface for Metal resources like buffers and textures. See MTLResource.
module Buffer : sig ... endRepresents a block of untyped memory accessible by the GPU. See MTLBuffer.
module FunctionType : sig ... endIdentifies the type of a Metal function. See MTLFunctionType.
module Function : sig ... endRepresents a single, named function (shader or kernel) within a Metal library. See MTLFunction.
module Library : sig ... endRepresents a compiled Metal library containing one or more functions. See MTLLibrary.
module ComputePipelineDescriptor : sig ... endDescribes the configuration for creating a compute pipeline state. See MTLComputePipelineDescriptor.
module ComputePipelineState : sig ... endRepresents a compiled compute pipeline state object. See MTLComputePipelineState.
module LogLevel : sig ... endLog levels for shader debugging. See MTLLogLevel.
module LogStateDescriptor : sig ... endDescriptor for configuring shader logging. See MTLLogStateDescriptor.
module LogState : sig ... endContainer for shader log messages. See MTLLogState.
module CommandQueueDescriptor : sig ... endConfiguration for creating command queues. See MTLCommandQueueDescriptor.
module CommandQueue : sig ... endA queue for submitting command buffers to a device. See MTLCommandQueue.
module Event : sig ... endAn object used for GPU-GPU synchronization within a single device. See MTLEvent.
module CommandBuffer : sig ... endA container for encoded commands that the GPU executes. See MTLCommandBuffer.
module CommandEncoder : sig ... endBase protocol for objects that encode commands into a command buffer. See MTLCommandEncoder.
module ResourceUsage : sig ... endUsage flags for resources within a command encoder. See MTLResourceUsage.
module IndirectCommandType : sig ... endTypes of commands that can be encoded into an indirect command buffer. See MTLIndirectCommandType.
module IndirectCommandBufferDescriptor : sig ... endDescribes the configuration for an indirect command buffer. See MTLIndirectCommandBufferDescriptor.
module IndirectComputeCommand : sig ... endRepresents a command within an indirect command buffer specific to compute operations. See MTLIndirectComputeCommand.
module IndirectCommandBuffer : sig ... endA buffer containing pre-encoded commands that can be executed efficiently by the GPU. See MTLIndirectCommandBuffer.
module ComputeCommandEncoder : sig ... endEncodes compute commands. See MTLComputeCommandEncoder.
module Fence : sig ... endAn object used for fine-grained resource synchronization within a command encoder. See MTLFence.
module BlitCommandEncoder : sig ... endEncodes resource copy and synchronization commands. See MTLBlitCommandEncoder.
An object used for GPU-GPU or CPU-GPU synchronization, potentially across multiple devices or processes. See MTLSharedEvent.
module DynamicLibrary : sig ... endRepresents a dynamically linkable Metal library. Bindings are complex and omitted for now. See MTLDynamicLibrary.