|
Blender V4.3
|
#include <mtl_memory.hh>
Public Member Functions | |
MTLScratchBufferManager and MTLCircularBuffer implementation. | |
| MTLCircularBuffer (MTLContext &ctx, uint64_t initial_size, bool allow_grow) | |
| ~MTLCircularBuffer () | |
| MTLTemporaryBuffer | allocate_range (uint64_t alloc_size) |
| MTLTemporaryBuffer | allocate_range_aligned (uint64_t alloc_size, uint alignment) |
| void | flush () |
| void | reset () |
Friends | |
| class | MTLScratchBufferManager |
Definition at line 208 of file mtl_memory.hh.
| blender::gpu::MTLCircularBuffer::MTLCircularBuffer | ( | MTLContext & | ctx, |
| uint64_t | initial_size, | ||
| bool | allow_grow ) |
Definition at line 916 of file mtl_memory.mm.
References BLI_assert, blender::gpu::MTLContext::device, blender::gpu::MTLBuffer::flag_in_use(), G, G_DEBUG_GPU, blender::gpu::MTLContext::get_current_frame_index(), options, and blender::gpu::MTLBuffer::set_label().
| blender::gpu::MTLCircularBuffer::~MTLCircularBuffer | ( | ) |
Definition at line 937 of file mtl_memory.mm.
| MTLTemporaryBuffer blender::gpu::MTLCircularBuffer::allocate_range | ( | uint64_t | alloc_size | ) |
Definition at line 942 of file mtl_memory.mm.
References allocate_range_aligned().
| MTLTemporaryBuffer blender::gpu::MTLCircularBuffer::allocate_range_aligned | ( | uint64_t | alloc_size, |
| uint | alignment ) |
Definition at line 947 of file mtl_memory.mm.
References BLI_assert, blender::gpu::MTLBufferRange::buffer_offset, ceil_to_multiple_ul(), blender::gpu::MTLBufferRange::data, blender::gpu::MTLContext::device, blender::gpu::MTLBuffer::flag_in_use(), flush(), G, G_DEBUG_GPU, blender::gpu::MTLBuffer::get_alignment(), blender::gpu::MTLBuffer::get_metal_buffer(), blender::gpu::MTLBuffer::get_resource_options(), blender::gpu::MTLBuffer::get_size(), max_ulul(), max_uu(), blender::gpu::MTLBufferRange::metal_buffer, min_ulul(), MTL_LOG_INFO, MTL_LOG_WARNING, blender::gpu::MTLScratchBufferManager::mtl_scratch_buffer_max_size_, blender::gpu::MTLBufferRange::options, blender::gpu::MTLBuffer::set_label(), and blender::gpu::MTLBufferRange::size.
Referenced by allocate_range(), and blender::gpu::MTLScratchBufferManager::scratch_buffer_allocate_range_aligned().
| void blender::gpu::MTLCircularBuffer::flush | ( | ) |
Definition at line 1067 of file mtl_memory.mm.
References BLI_assert, blender::gpu::MTLBuffer::flush_range(), and len.
Referenced by allocate_range_aligned(), and blender::gpu::MTLScratchBufferManager::flush_active_scratch_buffer().
| void blender::gpu::MTLCircularBuffer::reset | ( | ) |
Definition at line 1078 of file mtl_memory.mm.
References BLI_assert, blender::gpu::MTLContext::get_current_frame_index(), and MTL_NUM_SAFE_FRAMES.
Referenced by blender::gpu::MTLScratchBufferManager::ensure_increment_scratch_buffer().
|
friend |
Definition at line 209 of file mtl_memory.hh.