Metal.BufferRepresents a block of untyped memory accessible by the GPU. See MTLBuffer.
val sexp_of_t : t -> Sexplib0.Sexp.tval super : t -> Resource.tval on_device : Device.t -> length:int -> ResourceOptions.t -> tval on_device_with_bytes :
Device.t ->
bytes:unit Ctypes.ptr ->
length:int ->
ResourceOptions.t ->
tCreates a buffer and initializes its contents by copying from a pointer.
val on_device_with_bytes_no_copy :
Device.t ->
bytes:unit Ctypes.ptr ->
length:int ->
?deallocator:(unit -> unit) ->
ResourceOptions.t ->
tCreates a buffer that wraps existing memory without copying.
val length : t -> intGets the length of the buffer in bytes.
val contents : t -> unit Ctypes.ptrGets a pointer to the buffer's contents (requires appropriate storage/cache mode and synchronization).
Informs Metal that a range of a managed buffer was modified by the CPU. This is not needed for shared buffers (NOTE: validation layer will report an error).
val remove_all_debug_markers : t -> unitval get_gpu_address : t -> Unsigned.ULLong.tGets the GPU virtual address of the buffer.