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

#include <mtl_backend.hh>

Inherits blender::gpu::GPUBackend.

Public Member Functions

 ~MTLBackend ()
 
void delete_resources () override
 
void shader_cache_dir_clear_old () override
 
Metal Backend
void samplers_update () override
 
Contextcontext_alloc (void *ghost_window, void *ghost_context) override
 
Batch * batch_alloc () override
 
DrawListdrawlist_alloc (int list_length) override
 
Fencefence_alloc () override
 
FrameBufferframebuffer_alloc (const char *name) override
 
IndexBufindexbuf_alloc () override
 
PixelBufferpixelbuf_alloc (size_t size) override
 
QueryPoolquerypool_alloc () override
 
Shadershader_alloc (const char *name) override
 
Texturetexture_alloc (const char *name) override
 
UniformBufuniformbuf_alloc (size_t size, const char *name) override
 
StorageBufstoragebuf_alloc (size_t size, GPUUsageType usage, const char *name) override
 
VertBufvertbuf_alloc () override
 
void render_begin () override
 
void render_end () override
 
void render_step () override
 
bool is_inside_render_boundary ()
 
Compute dispatch.
void compute_dispatch (int groups_x_len, int groups_y_len, int groups_z_len) override
 
void compute_dispatch_indirect (StorageBuf *indirect_buf) override
 
- Public Member Functions inherited from blender::gpu::GPUBackend
virtual ~GPUBackend ()=default
 

Static Public Member Functions

static MTLCapabilitiesget_capabilities ()
 
static MTLBackendget ()
 
- Static Public Member Functions inherited from blender::gpu::GPUBackend
static GPUBackendget ()
 

Friends

class MTLContext
 

Capabilities

static MTLCapabilities capabilities = {}
 
static bool metal_is_supported ()
 

Detailed Description

Definition at line 27 of file mtl_backend.hh.

Constructor & Destructor Documentation

◆ ~MTLBackend()

blender::gpu::MTLBackend::~MTLBackend ( )
inline

Definition at line 39 of file mtl_backend.hh.

Member Function Documentation

◆ batch_alloc()

Batch * blender::gpu::MTLBackend::batch_alloc ( )
overridevirtual

Implements blender::gpu::GPUBackend.

Definition at line 52 of file mtl_backend.mm.

◆ compute_dispatch()

void blender::gpu::MTLBackend::compute_dispatch ( int groups_x_len,
int groups_y_len,
int groups_z_len )
overridevirtual

◆ compute_dispatch_indirect()

void blender::gpu::MTLBackend::compute_dispatch_indirect ( StorageBuf * indirect_buf)
overridevirtual

◆ context_alloc()

Context * blender::gpu::MTLBackend::context_alloc ( void * ghost_window,
void * ghost_context )
overridevirtual

Implements blender::gpu::GPUBackend.

Definition at line 47 of file mtl_backend.mm.

References MTLContext.

◆ delete_resources()

void blender::gpu::MTLBackend::delete_resources ( )
inlineoverridevirtual

Implements blender::gpu::GPUBackend.

Definition at line 44 of file mtl_backend.hh.

◆ drawlist_alloc()

DrawList * blender::gpu::MTLBackend::drawlist_alloc ( int list_length)
overridevirtual

Implements blender::gpu::GPUBackend.

Definition at line 57 of file mtl_backend.mm.

◆ fence_alloc()

Fence * blender::gpu::MTLBackend::fence_alloc ( )
overridevirtual

Implements blender::gpu::GPUBackend.

Definition at line 62 of file mtl_backend.mm.

◆ framebuffer_alloc()

FrameBuffer * blender::gpu::MTLBackend::framebuffer_alloc ( const char * name)
overridevirtual

Implements blender::gpu::GPUBackend.

Definition at line 67 of file mtl_backend.mm.

References blender::gpu::MTLContext::get().

◆ get()

static MTLBackend * blender::gpu::MTLBackend::get ( )
inlinestatic

◆ get_capabilities()

◆ indexbuf_alloc()

IndexBuf * blender::gpu::MTLBackend::indexbuf_alloc ( )
overridevirtual

Implements blender::gpu::GPUBackend.

Definition at line 72 of file mtl_backend.mm.

◆ is_inside_render_boundary()

bool blender::gpu::MTLBackend::is_inside_render_boundary ( )

Definition at line 160 of file mtl_backend.mm.

References blender::gpu::g_autoreleasepool.

◆ metal_is_supported()

bool blender::gpu::MTLBackend::metal_is_supported ( )
static

◆ pixelbuf_alloc()

PixelBuffer * blender::gpu::MTLBackend::pixelbuf_alloc ( size_t size)
overridevirtual

Implements blender::gpu::GPUBackend.

Definition at line 77 of file mtl_backend.mm.

◆ querypool_alloc()

QueryPool * blender::gpu::MTLBackend::querypool_alloc ( )
overridevirtual

Implements blender::gpu::GPUBackend.

Definition at line 82 of file mtl_backend.mm.

◆ render_begin()

void blender::gpu::MTLBackend::render_begin ( )
overridevirtual

◆ render_end()

void blender::gpu::MTLBackend::render_end ( )
overridevirtual

◆ render_step()

◆ samplers_update()

void blender::gpu::MTLBackend::samplers_update ( )
overridevirtual

Implements blender::gpu::GPUBackend.

Definition at line 43 of file mtl_backend.mm.

◆ shader_alloc()

Shader * blender::gpu::MTLBackend::shader_alloc ( const char * name)
overridevirtual

Implements blender::gpu::GPUBackend.

Definition at line 87 of file mtl_backend.mm.

References blender::gpu::MTLContext::get().

◆ shader_cache_dir_clear_old()

void blender::gpu::MTLBackend::shader_cache_dir_clear_old ( )
inlineoverridevirtual

Implements blender::gpu::GPUBackend.

Definition at line 74 of file mtl_backend.hh.

◆ storagebuf_alloc()

StorageBuf * blender::gpu::MTLBackend::storagebuf_alloc ( size_t size,
GPUUsageType usage,
const char * name )
overridevirtual

Implements blender::gpu::GPUBackend.

Definition at line 102 of file mtl_backend.mm.

◆ texture_alloc()

Texture * blender::gpu::MTLBackend::texture_alloc ( const char * name)
overridevirtual

Implements blender::gpu::GPUBackend.

Definition at line 92 of file mtl_backend.mm.

◆ uniformbuf_alloc()

UniformBuf * blender::gpu::MTLBackend::uniformbuf_alloc ( size_t size,
const char * name )
overridevirtual

Implements blender::gpu::GPUBackend.

Definition at line 97 of file mtl_backend.mm.

◆ vertbuf_alloc()

VertBuf * blender::gpu::MTLBackend::vertbuf_alloc ( )
overridevirtual

Implements blender::gpu::GPUBackend.

Definition at line 107 of file mtl_backend.mm.

Friends And Related Symbol Documentation

◆ MTLContext

friend class MTLContext
friend

Definition at line 28 of file mtl_backend.hh.

Referenced by context_alloc().

Member Data Documentation

◆ capabilities

MTLCapabilities blender::gpu::MTLBackend::capabilities = {}
static

Definition at line 32 of file mtl_backend.hh.

Referenced by get_capabilities().


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