Blender V5.0
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 ()
void bind_as_ssbo (int slot)
void unbind_as_ssbo ()

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 469 of file mtl_memory.hh.

Constructor & Destructor Documentation

◆ MTLScratchBufferManager()

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

Definition at line 498 of file mtl_memory.hh.

◆ ~MTLScratchBufferManager()

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

Definition at line 836 of file mtl_memory.mm.

References free().

Member Function Documentation

◆ bind_as_ssbo()

void blender::gpu::MTLScratchBufferManager::bind_as_ssbo ( int slot)

Definition at line 922 of file mtl_memory.mm.

References blender::gpu::MTLStorageBuf::bind(), and BLI_assert.

◆ ensure_increment_scratch_buffer()

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

◆ flush_active_scratch_buffer()

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

Definition at line 914 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 841 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 )

◆ unbind_as_ssbo()

void blender::gpu::MTLScratchBufferManager::unbind_as_ssbo ( )

Definition at line 930 of file mtl_memory.mm.

References BLI_assert, and blender::gpu::MTLStorageBuf::unbind().

Member Data Documentation

◆ mtl_scratch_buffer_initial_size_

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

Definition at line 484 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: