Module Metal.ComputePipelineState

Represents a compiled compute pipeline state object. See MTLComputePipelineState.

type t
val sexp_of_t : t -> Sexplib0.Sexp.t
val on_device_with_function : Device.t -> ?options:PipelineOption.t -> ?reflection:bool -> Function.t -> t * Objc.object_t Ctypes.ptr

Creates a pipeline state from a function. See newComputePipelineStateWithFunction:options:reflection:error:.

val on_device_with_descriptor : Device.t -> ?options:PipelineOption.t -> ?reflection:bool -> ComputePipelineDescriptor.t -> t * Objc.object_t Ctypes.ptr

Creates a pipeline state from a descriptor. See newComputePipelineStateWithDescriptor:options:reflection:error:.

val get_label : t -> string
val get_device : t -> Device.t
val get_max_total_threads_per_threadgroup : t -> int
val get_thread_execution_width : t -> int

Gets the execution width (SIMD group size) for this pipeline.

val get_static_threadgroup_memory_length : t -> int

Gets the amount of statically allocated threadgroup memory in bytes.

val get_support_indirect_command_buffers : t -> bool

Checks if the pipeline supports indirect command buffers.