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