Blender V5.0
blender::gpu::MTLBuffer Class Reference

#include <mtl_memory.hh>

Public Member Functions

 MEM_CXX_CLASS_ALLOC_FUNCS ("MTLBuffer")
MTLBuffer wrapper class implementation.
 MTLBuffer (id< MTLDevice > device, uint64_t size, MTLResourceOptions options, uint alignment=1)
 MTLBuffer (id< MTLBuffer > external_buffer)
 ~MTLBuffer ()
id< MTLBufferget_metal_buffer () const
void * get_host_ptr () const
uint64_t get_size_used () const
uint64_t get_size () const
void flush ()
void flush_range (uint64_t offset, uint64_t length)
bool requires_flush ()
void flag_in_use (bool used)
bool get_in_use ()
void set_usage_size (uint64_t size_used)
void set_label (NSString *str)
MTLResourceOptions get_resource_options ()
uint64_t get_alignment ()
void free ()
void debug_ensure_used ()

Public Attributes

gpu::MTLBuffernext
gpu::MTLBufferprev

Detailed Description

Definition at line 109 of file mtl_memory.hh.

Constructor & Destructor Documentation

◆ MTLBuffer() [1/2]

blender::gpu::MTLBuffer::MTLBuffer ( id< MTLDevice > device,
uint64_t size,
MTLResourceOptions options,
uint alignment = 1 )

◆ MTLBuffer() [2/2]

blender::gpu::MTLBuffer::MTLBuffer ( id< MTLBuffer > external_buffer)

Definition at line 685 of file mtl_memory.mm.

References BLI_assert, next, prev, and set_usage_size().

◆ ~MTLBuffer()

blender::gpu::gpu::MTLBuffer::~MTLBuffer ( )

Definition at line 707 of file mtl_memory.mm.

Member Function Documentation

◆ debug_ensure_used()

void blender::gpu::gpu::MTLBuffer::debug_ensure_used ( )

◆ flag_in_use()

void blender::gpu::gpu::MTLBuffer::flag_in_use ( bool used)

◆ flush()

void blender::gpu::gpu::MTLBuffer::flush ( )

◆ flush_range()

void blender::gpu::gpu::MTLBuffer::flush_range ( uint64_t offset,
uint64_t length )

◆ free()

◆ get_alignment()

uint64_t blender::gpu::gpu::MTLBuffer::get_alignment ( )

Definition at line 808 of file mtl_memory.mm.

◆ get_host_ptr()

void * blender::gpu::gpu::MTLBuffer::get_host_ptr ( ) const

◆ get_in_use()

bool blender::gpu::gpu::MTLBuffer::get_in_use ( )

◆ get_metal_buffer()

◆ get_resource_options()

MTLResourceOptions blender::gpu::gpu::MTLBuffer::get_resource_options ( )

◆ get_size()

uint64_t blender::gpu::gpu::MTLBuffer::get_size ( ) const

◆ get_size_used()

uint64_t blender::gpu::gpu::MTLBuffer::get_size_used ( ) const

Definition at line 745 of file mtl_memory.mm.

◆ MEM_CXX_CLASS_ALLOC_FUNCS()

blender::gpu::MTLBuffer::MEM_CXX_CLASS_ALLOC_FUNCS ( "MTLBuffer" )

◆ requires_flush()

bool blender::gpu::gpu::MTLBuffer::requires_flush ( )

Definition at line 750 of file mtl_memory.mm.

Referenced by flush(), and flush_range().

◆ set_label()

void blender::gpu::gpu::MTLBuffer::set_label ( NSString * str)

Definition at line 756 of file mtl_memory.mm.

References str.

Referenced by blender::gpu::MTLVertBuf::bind(), and blender::gpu::MTLUniformBuf::update().

◆ set_usage_size()

void blender::gpu::gpu::MTLBuffer::set_usage_size ( uint64_t size_used)

Definition at line 797 of file mtl_memory.mm.

References BLI_assert.

Referenced by blender::gpu::MTLBufferPool::allocate_aligned(), MTLBuffer(), and MTLBuffer().

Member Data Documentation

◆ next

gpu::MTLBuffer* blender::gpu::MTLBuffer::next

Definition at line 114 of file mtl_memory.hh.

Referenced by MTLBuffer(), and MTLBuffer().

◆ prev

gpu::MTLBuffer * blender::gpu::MTLBuffer::prev

Definition at line 114 of file mtl_memory.hh.

Referenced by MTLBuffer(), and MTLBuffer().


The documentation for this class was generated from the following files: