Blender
V3.3
|
#include <mtl_memory.hh>
Public Member Functions | |
MTLBuffer wrapper class implementation. | |
MTLBuffer (id< MTLDevice > device, uint64_t size, MTLResourceOptions options, uint alignment=1) | |
MTLBuffer (id< MTLBuffer > external_buffer) | |
~MTLBuffer () | |
id< MTLBuffer > | get_metal_buffer () const |
void * | get_host_ptr () const |
uint64_t | get_size_used () const |
uint64_t | get_size () const |
void | flush () |
void | flush_range (uint64_t offset, uint64_t length) |
bool | requires_flush () |
void | flag_in_use (bool used) |
bool | get_in_use () |
void | set_usage_size (uint64_t size_used) |
void | set_label (NSString *str) |
MTLResourceOptions | get_resource_options () |
uint64_t | get_alignment () |
void | free () |
void | debug_ensure_used () |
Definition at line 107 of file mtl_memory.hh.
blender::gpu::MTLBuffer::MTLBuffer | ( | id< MTLDevice > | device, |
uint64_t | size, | ||
MTLResourceOptions | options, | ||
uint | alignment = 1 |
||
) |
Definition at line 445 of file mtl_memory.mm.
References BLI_assert, ceil_to_multiple_ul(), flag_in_use(), options, set_usage_size(), and size().
Definition at line 475 of file mtl_memory.mm.
References BLI_assert, and set_usage_size().
blender::gpu::MTLBuffer::~MTLBuffer | ( | ) |
Definition at line 494 of file mtl_memory.mm.
void blender::gpu::MTLBuffer::debug_ensure_used | ( | ) |
Definition at line 548 of file mtl_memory.mm.
References BLI_assert.
Referenced by blender::gpu::MTLUniformBuf::get_metal_buffer(), and blender::gpu::MTLContext::set_visibility_buffer().
Definition at line 573 of file mtl_memory.mm.
Referenced by blender::gpu::MTLBufferPool::allocate_aligned(), blender::gpu::MTLCircularBuffer::allocate_range_aligned(), MTLBuffer(), and blender::gpu::MTLCircularBuffer::MTLCircularBuffer().
void blender::gpu::MTLBuffer::flush | ( | ) |
Definition at line 556 of file mtl_memory.mm.
Definition at line 564 of file mtl_memory.mm.
References BLI_assert, blender::math::length(), and offset.
Referenced by blender::gpu::MTLBufferPool::allocate_aligned_with_data(), and blender::gpu::MTLCircularBuffer::flush().
void blender::gpu::MTLBuffer::free | ( | ) |
Definition at line 502 of file mtl_memory.mm.
References blender::gpu::MTLBufferPool::free_buffer(), and blender::gpu::MTLContext::get_global_memory_manager().
Referenced by blender::gpu::MTLUniformBuf::update(), and blender::gpu::MTLUniformBuf::~MTLUniformBuf().
uint64_t blender::gpu::MTLBuffer::get_alignment | ( | ) |
Definition at line 594 of file mtl_memory.mm.
Referenced by blender::gpu::MTLCircularBuffer::allocate_range_aligned().
void * blender::gpu::MTLBuffer::get_host_ptr | ( | ) | const |
Definition at line 520 of file mtl_memory.mm.
References BLI_assert.
Referenced by blender::gpu::MTLBufferPool::allocate_aligned_with_data().
bool blender::gpu::MTLBuffer::get_in_use | ( | ) |
Definition at line 578 of file mtl_memory.mm.
Referenced by blender::gpu::MTLBufferPool::allocate_aligned(), and blender::gpu::MTLBufferPool::update_memory_pools().
Definition at line 515 of file mtl_memory.mm.
Referenced by blender::gpu::MTLBufferPool::allocate_aligned(), blender::gpu::MTLBufferPool::allocate_aligned_with_data(), blender::gpu::MTLCircularBuffer::allocate_range_aligned(), blender::gpu::MTLCommandBufferManager::ensure_begin_render_command_encoder(), blender::gpu::MTLUniformBuf::get_metal_buffer(), and blender::gpu::MTLUniformBuf::update().
MTLResourceOptions blender::gpu::MTLBuffer::get_resource_options | ( | ) |
Definition at line 589 of file mtl_memory.mm.
Referenced by blender::gpu::MTLBufferPool::allocate_aligned_with_data(), blender::gpu::MTLCircularBuffer::allocate_range_aligned(), and blender::gpu::MTLBufferPool::update_memory_pools().
uint64_t blender::gpu::MTLBuffer::get_size | ( | ) | const |
Definition at line 527 of file mtl_memory.mm.
Referenced by blender::gpu::MTLBufferPool::allocate_aligned(), blender::gpu::MTLCircularBuffer::allocate_range_aligned(), and blender::gpu::MTLBufferHandle::MTLBufferHandle().
uint64_t blender::gpu::MTLBuffer::get_size_used | ( | ) | const |
Definition at line 532 of file mtl_memory.mm.
bool blender::gpu::MTLBuffer::requires_flush | ( | ) |
Definition at line 537 of file mtl_memory.mm.
void blender::gpu::MTLBuffer::set_label | ( | NSString * | str | ) |
Definition at line 543 of file mtl_memory.mm.
References str.
Referenced by blender::gpu::MTLCircularBuffer::allocate_range_aligned(), blender::gpu::MTLCircularBuffer::MTLCircularBuffer(), and blender::gpu::MTLUniformBuf::update().
Definition at line 583 of file mtl_memory.mm.
References BLI_assert.
Referenced by blender::gpu::MTLBufferPool::allocate_aligned(), and MTLBuffer().