Blender  V3.3
List of all members
blender::gpu::MTLBufferPool Class Reference

#include <mtl_memory.hh>

Memory Management - MTLBufferPool and MTLSafeFreeList implementations.

void init (id< MTLDevice > device)
 
 ~MTLBufferPool ()
 
gpu::MTLBufferallocate (uint64_t size, bool cpu_visible)
 
gpu::MTLBufferallocate_aligned (uint64_t size, uint alignment, bool cpu_visible)
 
gpu::MTLBufferallocate_with_data (uint64_t size, bool cpu_visible, const void *data=nullptr)
 
gpu::MTLBufferallocate_aligned_with_data (uint64_t size, uint alignment, bool cpu_visible, const void *data=nullptr)
 
bool free_buffer (gpu::MTLBuffer *buffer)
 
void update_memory_pools ()
 
MTLSafeFreeListget_current_safe_list ()
 
void begin_new_safe_list ()
 
void push_completed_safe_list (MTLSafeFreeList *list)
 

Detailed Description

Definition at line 339 of file mtl_memory.hh.

Constructor & Destructor Documentation

◆ ~MTLBufferPool()

blender::gpu::MTLBufferPool::~MTLBufferPool ( )

Definition at line 39 of file mtl_memory.mm.

Member Function Documentation

◆ allocate()

gpu::MTLBuffer * blender::gpu::MTLBufferPool::allocate ( uint64_t  size,
bool  cpu_visible 
)

Definition at line 60 of file mtl_memory.mm.

References allocate_aligned().

◆ allocate_aligned()

gpu::MTLBuffer * blender::gpu::MTLBufferPool::allocate_aligned ( uint64_t  size,
uint  alignment,
bool  cpu_visible 
)

◆ allocate_aligned_with_data()

gpu::MTLBuffer * blender::gpu::MTLBufferPool::allocate_aligned_with_data ( uint64_t  size,
uint  alignment,
bool  cpu_visible,
const void data = nullptr 
)

◆ allocate_with_data()

gpu::MTLBuffer * blender::gpu::MTLBufferPool::allocate_with_data ( uint64_t  size,
bool  cpu_visible,
const void data = nullptr 
)

Definition at line 67 of file mtl_memory.mm.

References allocate_aligned_with_data(), and data.

Referenced by blender::gpu::MTLUniformBuf::update().

◆ begin_new_safe_list()

void blender::gpu::MTLBufferPool::begin_new_safe_list ( )

Definition at line 331 of file mtl_memory.mm.

Referenced by init(), and blender::gpu::MTLBackend::render_step().

◆ free_buffer()

bool blender::gpu::MTLBufferPool::free_buffer ( gpu::MTLBuffer buffer)

◆ get_current_safe_list()

MTLSafeFreeList * blender::gpu::MTLBufferPool::get_current_safe_list ( )

◆ init()

void blender::gpu::MTLBufferPool::init ( id< MTLDevice >  device)

Definition at line 19 of file mtl_memory.mm.

References begin_new_safe_list(), and BLI_assert.

Referenced by blender::gpu::MTLContext::MTLContext().

◆ push_completed_safe_list()

void blender::gpu::MTLBufferPool::push_completed_safe_list ( MTLSafeFreeList list)

◆ update_memory_pools()

void blender::gpu::MTLBufferPool::update_memory_pools ( )

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