Blender  V3.3
Public Member Functions | Static Public Member Functions | Friends | List of all members
blender::gpu::MTLBackend Class Reference

#include <mtl_backend.hh>

Inheritance diagram for blender::gpu::MTLBackend:
blender::gpu::GPUBackend

Public Member Functions

 ~MTLBackend ()
 
void delete_resources ()
 
void compute_dispatch (int groups_x_len, int groups_y_len, int groups_z_len) override
 
void compute_dispatch_indirect (StorageBuf *indirect_buf) override
 
Metal Backend
void samplers_update () override
 
Contextcontext_alloc (void *ghost_window) override
 
Batchbatch_alloc () override
 
DrawListdrawlist_alloc (int list_length) override
 
FrameBufferframebuffer_alloc (const char *name) override
 
IndexBufindexbuf_alloc () override
 
QueryPoolquerypool_alloc () override
 
Shadershader_alloc (const char *name) override
 
Texturetexture_alloc (const char *name) override
 
UniformBufuniformbuf_alloc (int size, const char *name) override
 
StorageBufstoragebuf_alloc (int 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 ()
 
- 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 26 of file mtl_backend.hh.

Constructor & Destructor Documentation

◆ ~MTLBackend()

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

Definition at line 38 of file mtl_backend.hh.

Member Function Documentation

◆ batch_alloc()

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

Implements blender::gpu::GPUBackend.

Definition at line 42 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 
)
inlineoverridevirtual

Implements blender::gpu::GPUBackend.

Definition at line 55 of file mtl_backend.hh.

◆ compute_dispatch_indirect()

void blender::gpu::MTLBackend::compute_dispatch_indirect ( StorageBuf indirect_buf)
inlineoverridevirtual

Implements blender::gpu::GPUBackend.

Definition at line 60 of file mtl_backend.hh.

◆ context_alloc()

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

Implements blender::gpu::GPUBackend.

Definition at line 37 of file mtl_backend.mm.

References MTLContext.

◆ delete_resources()

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

Implements blender::gpu::GPUBackend.

Definition at line 43 of file mtl_backend.hh.

◆ drawlist_alloc()

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

Implements blender::gpu::GPUBackend.

Definition at line 48 of file mtl_backend.mm.

◆ framebuffer_alloc()

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

Implements blender::gpu::GPUBackend.

Definition at line 54 of file mtl_backend.mm.

References GPU_context_active_get().

◆ get()

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

◆ get_capabilities()

static MTLCapabilities& blender::gpu::MTLBackend::get_capabilities ( )
inlinestatic

Definition at line 33 of file mtl_backend.hh.

References capabilities.

Referenced by blender::gpu::mtl_format_supports_blending().

◆ indexbuf_alloc()

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

Implements blender::gpu::GPUBackend.

Definition at line 61 of file mtl_backend.mm.

◆ is_inside_render_boundary()

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

Definition at line 147 of file mtl_backend.mm.

References blender::gpu::g_autoreleasepool.

◆ metal_is_supported()

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

Definition at line 268 of file mtl_backend.mm.

References result, and blender::gpu::supports_barycentric_whitelist().

◆ querypool_alloc()

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

Implements blender::gpu::GPUBackend.

Definition at line 67 of file mtl_backend.mm.

◆ render_begin()

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

◆ render_end()

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

◆ render_step()

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

◆ samplers_update()

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

Implements blender::gpu::GPUBackend.

Definition at line 33 of file mtl_backend.mm.

◆ shader_alloc()

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

Implements blender::gpu::GPUBackend.

Definition at line 72 of file mtl_backend.mm.

◆ storagebuf_alloc()

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

Implements blender::gpu::GPUBackend.

Definition at line 88 of file mtl_backend.mm.

◆ texture_alloc()

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

Implements blender::gpu::GPUBackend.

Definition at line 78 of file mtl_backend.mm.

◆ uniformbuf_alloc()

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

Implements blender::gpu::GPUBackend.

Definition at line 83 of file mtl_backend.mm.

References size().

◆ vertbuf_alloc()

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

Implements blender::gpu::GPUBackend.

Definition at line 94 of file mtl_backend.mm.

Friends And Related Function Documentation

◆ MTLContext

friend class MTLContext
friend

Definition at line 27 of file mtl_backend.hh.

Referenced by context_alloc().

Member Data Documentation

◆ capabilities

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

Definition at line 31 of file mtl_backend.hh.

Referenced by get_capabilities().


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