Blender V4.3
blender::gpu::MTLScratchBufferManager Class Reference

#include <mtl_memory.hh>

Public Member Functions

 MTLScratchBufferManager (MTLContext &context)
 MEM_CXX_CLASS_ALLOC_FUNCS ("MTLBufferPool")
MTLScratchBufferManager and MTLCircularBuffer implementation.
 ~MTLScratchBufferManager ()
void init ()
void free ()
MTLTemporaryBuffer scratch_buffer_allocate_range (uint64_t alloc_size)
MTLTemporaryBuffer scratch_buffer_allocate_range_aligned (uint64_t alloc_size, uint alignment)
void ensure_increment_scratch_buffer ()
void flush_active_scratch_buffer ()

Static Public Attributes

static constexpr uint mtl_scratch_buffer_max_size_ = 128 * 1024 * 1024
static constexpr uint mtl_scratch_buffer_initial_size_ = 16 * 1024 * 1024

Detailed Description

Definition at line 468 of file mtl_memory.hh.

Constructor & Destructor Documentation

◆ MTLScratchBufferManager()

blender::gpu::MTLScratchBufferManager::MTLScratchBufferManager ( MTLContext & context)
inline

Definition at line 497 of file mtl_memory.hh.

◆ ~MTLScratchBufferManager()

blender::gpu::MTLScratchBufferManager::~MTLScratchBufferManager ( )

Definition at line 829 of file mtl_memory.mm.

References free().

Member Function Documentation

◆ ensure_increment_scratch_buffer()

void blender::gpu::MTLScratchBufferManager::ensure_increment_scratch_buffer ( )

Definition at line 885 of file mtl_memory.mm.

References BLI_assert, MTL_LOG_INFO, and blender::gpu::MTLCircularBuffer::reset().

◆ flush_active_scratch_buffer()

void blender::gpu::MTLScratchBufferManager::flush_active_scratch_buffer ( )

Definition at line 907 of file mtl_memory.mm.

References BLI_assert, and blender::gpu::MTLCircularBuffer::flush().

◆ free()

void blender::gpu::MTLScratchBufferManager::free ( )

◆ init()

void blender::gpu::MTLScratchBufferManager::init ( )

Definition at line 834 of file mtl_memory.mm.

References BLI_assert, and mtl_scratch_buffer_initial_size_.

◆ MEM_CXX_CLASS_ALLOC_FUNCS()

blender::gpu::MTLScratchBufferManager::MEM_CXX_CLASS_ALLOC_FUNCS ( "MTLBufferPool" )

◆ scratch_buffer_allocate_range()

MTLTemporaryBuffer blender::gpu::MTLScratchBufferManager::scratch_buffer_allocate_range ( uint64_t alloc_size)

◆ scratch_buffer_allocate_range_aligned()

MTLTemporaryBuffer blender::gpu::MTLScratchBufferManager::scratch_buffer_allocate_range_aligned ( uint64_t alloc_size,
uint alignment )

Member Data Documentation

◆ mtl_scratch_buffer_initial_size_

uint blender::gpu::MTLScratchBufferManager::mtl_scratch_buffer_initial_size_ = 16 * 1024 * 1024
staticconstexpr

Definition at line 483 of file mtl_memory.hh.

Referenced by init().

◆ mtl_scratch_buffer_max_size_

uint blender::gpu::MTLScratchBufferManager::mtl_scratch_buffer_max_size_ = 128 * 1024 * 1024
staticconstexpr

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