Blender V4.3
blender::gpu::MTLCommandBufferManager Class Reference

#include <mtl_context.hh>

Public Member Functions

 MTLCommandBufferManager (MTLContext &context)
 
MTLRenderPassStateget_render_pass_state ()
 
MTLComputeStateget_compute_state ()
 
Render Command Encoder Utility and management functions.
bool is_inside_render_pass ()
 
bool is_inside_blit ()
 
bool is_inside_compute ()
 
id< MTLRenderCommandEncoder > get_active_render_command_encoder ()
 
id< MTLBlitCommandEncoder > get_active_blit_command_encoder ()
 
id< MTLComputeCommandEncoder > get_active_compute_command_encoder ()
 
MTLFrameBufferget_active_framebuffer ()
 
bool end_active_command_encoder ()
 
id< MTLRenderCommandEncoder > ensure_begin_render_command_encoder (MTLFrameBuffer *ctx_framebuffer, bool force_begin, bool *r_new_pass)
 
id< MTLBlitCommandEncoder > ensure_begin_blit_encoder ()
 
id< MTLComputeCommandEncoder > ensure_begin_compute_encoder ()
 
Command buffer heuristics.
void register_draw_counters (int vertex_submission)
 
void reset_counters ()
 
bool do_break_submission ()
 

Static Public Attributes

static int num_active_cmd_bufs = 0
 

Friends

class MTLContext
 

MTLCommandBuffer initialization and render coordination.

void prepare (bool supports_render=true)
 
bool submit (bool wait)
 

Command buffer debugging.

bool insert_memory_barrier (eGPUBarrier barrier_bits, eGPUStageBarrierBits before_stages, eGPUStageBarrierBits after_stages)
 
void encode_signal_event (id< MTLEvent > event, uint64_t value)
 
void encode_wait_for_event (id< MTLEvent > event, uint64_t value)
 
void push_debug_group (const char *name, int index)
 
void pop_debug_group ()
 

Detailed Description

Definition at line 547 of file mtl_context.hh.

Constructor & Destructor Documentation

◆ MTLCommandBufferManager()

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

Definition at line 598 of file mtl_context.hh.

Member Function Documentation

◆ do_break_submission()

bool blender::gpu::MTLCommandBufferManager::do_break_submission ( )

◆ encode_signal_event()

void blender::gpu::MTLCommandBufferManager::encode_signal_event ( id< MTLEvent > event,
uint64_t value )

◆ encode_wait_for_event()

void blender::gpu::MTLCommandBufferManager::encode_wait_for_event ( id< MTLEvent > event,
uint64_t value )

Definition at line 672 of file mtl_command_buffer.mm.

References BLI_assert, and end_active_command_encoder().

Referenced by blender::gpu::MTLFence::wait().

◆ end_active_command_encoder()

◆ ensure_begin_blit_encoder()

◆ ensure_begin_compute_encoder()

◆ ensure_begin_render_command_encoder()

◆ get_active_blit_command_encoder()

id< MTLBlitCommandEncoder > blender::gpu::MTLCommandBufferManager::get_active_blit_command_encoder ( )

Definition at line 203 of file mtl_command_buffer.mm.

◆ get_active_compute_command_encoder()

◆ get_active_framebuffer()

◆ get_active_render_command_encoder()

◆ get_compute_state()

◆ get_render_pass_state()

◆ insert_memory_barrier()

◆ is_inside_blit()

bool blender::gpu::MTLCommandBufferManager::is_inside_blit ( )

Definition at line 187 of file mtl_command_buffer.mm.

◆ is_inside_compute()

bool blender::gpu::MTLCommandBufferManager::is_inside_compute ( )

Definition at line 192 of file mtl_command_buffer.mm.

Referenced by get_compute_state().

◆ is_inside_render_pass()

bool blender::gpu::MTLCommandBufferManager::is_inside_render_pass ( )

◆ pop_debug_group()

void blender::gpu::MTLCommandBufferManager::pop_debug_group ( )

◆ prepare()

void blender::gpu::MTLCommandBufferManager::prepare ( bool supports_render = true)

◆ push_debug_group()

void blender::gpu::MTLCommandBufferManager::push_debug_group ( const char * name,
int index )

◆ register_draw_counters()

void blender::gpu::MTLCommandBufferManager::register_draw_counters ( int vertex_submission)

◆ reset_counters()

void blender::gpu::MTLCommandBufferManager::reset_counters ( )

Definition at line 462 of file mtl_command_buffer.mm.

◆ submit()

Friends And Related Symbol Documentation

◆ MTLContext

friend class MTLContext
friend

Definition at line 548 of file mtl_context.hh.

Member Data Documentation

◆ num_active_cmd_bufs

int blender::gpu::MTLCommandBufferManager::num_active_cmd_bufs = 0
static

Definition at line 552 of file mtl_context.hh.

Referenced by blender::gpu::present(), and submit().


The documentation for this class was generated from the following files: