Blender V4.3
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 110 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 678 of file mtl_memory.mm.

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

◆ ~MTLBuffer()

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

Definition at line 700 of file mtl_memory.mm.

Member Function Documentation

◆ debug_ensure_used()

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

◆ flag_in_use()

◆ 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 ( )

◆ get_host_ptr()

◆ get_in_use()

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

◆ get_metal_buffer()

◆ get_resource_options()

◆ get_size()

◆ get_size_used()

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

Definition at line 738 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 743 of file mtl_memory.mm.

◆ set_label()

◆ set_usage_size()

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

Definition at line 790 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 115 of file mtl_memory.hh.

Referenced by MTLBuffer(), and MTLBuffer().

◆ prev

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

Definition at line 115 of file mtl_memory.hh.

Referenced by MTLBuffer(), and MTLBuffer().


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