Blender
V3.3
|
#include <mtl_memory.hh>
Public Member Functions | |
MTLScratchBufferManager (MTLContext &context) | |
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 |
Definition at line 429 of file mtl_memory.hh.
|
inline |
Definition at line 458 of file mtl_memory.hh.
blender::gpu::MTLScratchBufferManager::~MTLScratchBufferManager | ( | ) |
Definition at line 622 of file mtl_memory.mm.
References free().
void blender::gpu::MTLScratchBufferManager::ensure_increment_scratch_buffer | ( | ) |
Definition at line 678 of file mtl_memory.mm.
References BLI_assert, blender::gpu::MTLContext::get_current_frame_index(), MTL_LOG_INFO, and blender::gpu::MTLCircularBuffer::reset().
void blender::gpu::MTLScratchBufferManager::flush_active_scratch_buffer | ( | ) |
Definition at line 700 of file mtl_memory.mm.
References BLI_assert, and blender::gpu::MTLCircularBuffer::flush().
Referenced by blender::gpu::MTLCommandBufferManager::submit().
void blender::gpu::MTLScratchBufferManager::free | ( | ) |
Definition at line 645 of file mtl_memory.mm.
Referenced by ~MTLScratchBufferManager().
void blender::gpu::MTLScratchBufferManager::init | ( | ) |
Definition at line 627 of file mtl_memory.mm.
References BLI_assert, blender::gpu::MTLContext::device, and mtl_scratch_buffer_initial_size_.
Referenced by blender::gpu::MTLContext::MTLContext().
MTLTemporaryBuffer blender::gpu::MTLScratchBufferManager::scratch_buffer_allocate_range | ( | uint64_t | alloc_size | ) |
Definition at line 657 of file mtl_memory.mm.
References scratch_buffer_allocate_range_aligned().
MTLTemporaryBuffer blender::gpu::MTLScratchBufferManager::scratch_buffer_allocate_range_aligned | ( | uint64_t | alloc_size, |
uint | alignment | ||
) |
Definition at line 662 of file mtl_memory.mm.
References blender::gpu::MTLCircularBuffer::allocate_range_aligned(), BLI_assert, max_uu(), blender::gpu::MTLBufferRange::metal_buffer, and blender::gpu::MTLBufferRange::size.
Referenced by scratch_buffer_allocate_range(), and blender::gpu::MTLTexture::update_sub().
|
staticconstexpr |
Definition at line 444 of file mtl_memory.hh.
Referenced by init().
|
staticconstexpr |
Definition at line 441 of file mtl_memory.hh.
Referenced by blender::gpu::MTLCircularBuffer::allocate_range_aligned().