|
Blender V4.5
|
#include <mtl_backend.hh>
Inherits blender::gpu::GPUBackend.
Public Member Functions | |
| ~MTLBackend () override | |
| void | shader_cache_dir_clear_old () override |
Metal Backend | |
| void | init_resources () override |
| void | delete_resources () override |
| void | samplers_update () override |
| Context * | context_alloc (void *ghost_window, void *ghost_context) override |
| Batch * | batch_alloc () override |
| Fence * | fence_alloc () override |
| FrameBuffer * | framebuffer_alloc (const char *name) override |
| IndexBuf * | indexbuf_alloc () override |
| PixelBuffer * | pixelbuf_alloc (size_t size) override |
| QueryPool * | querypool_alloc () override |
| Shader * | shader_alloc (const char *name) override |
| Texture * | texture_alloc (const char *name) override |
| UniformBuf * | uniformbuf_alloc (size_t size, const char *name) override |
| StorageBuf * | storagebuf_alloc (size_t size, GPUUsageType usage, const char *name) override |
| VertBuf * | vertbuf_alloc () override |
| void | render_begin () override |
| void | render_end () override |
| void | render_step (bool force_resource_release=false) 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 |
| ShaderCompiler * | get_compiler () |
Static Public Member Functions | |
| static MTLCapabilities & | get_capabilities () |
| static MTLBackend * | get () |
| Static Public Member Functions inherited from blender::gpu::GPUBackend | |
| static GPUBackend * | get () |
Friends | |
| class | MTLContext |
Capabilities | |
| static MTLCapabilities | capabilities = {} |
| static bool | metal_is_supported () |
Additional Inherited Members | |
| Protected Attributes inherited from blender::gpu::GPUBackend | |
| ShaderCompiler * | compiler_ |
Definition at line 27 of file mtl_backend.hh.
|
inlineoverride |
Definition at line 39 of file mtl_backend.hh.
|
overridevirtual |
Implements blender::gpu::GPUBackend.
Definition at line 65 of file mtl_backend.mm.
References blender::gpu::MTLBatch::MTLBatch().
|
overridevirtual |
Implements blender::gpu::GPUBackend.
Definition at line 588 of file mtl_backend.mm.
References BLI_assert, blender::gpu::MTLContext::compute_dispatch(), blender::gpu::MTLContext::get(), and MTLContext.
|
overridevirtual |
Implements blender::gpu::GPUBackend.
Definition at line 600 of file mtl_backend.mm.
References BLI_assert, blender::gpu::MTLContext::compute_dispatch_indirect(), blender::gpu::MTLContext::get(), and MTLContext.
|
overridevirtual |
Implements blender::gpu::GPUBackend.
Definition at line 60 of file mtl_backend.mm.
References blender::gpu::MTLContext::MTLContext().
|
overridevirtual |
Implements blender::gpu::GPUBackend.
Definition at line 51 of file mtl_backend.mm.
References blender::gpu::GPUBackend::compiler_.
|
overridevirtual |
Implements blender::gpu::GPUBackend.
Definition at line 70 of file mtl_backend.mm.
References blender::gpu::MTLFence::MTLFence().
|
overridevirtual |
Implements blender::gpu::GPUBackend.
Definition at line 75 of file mtl_backend.mm.
References blender::gpu::MTLContext::get(), and blender::gpu::MTLFrameBuffer::MTLFrameBuffer().
|
inlinestatic |
Definition at line 49 of file mtl_backend.hh.
References blender::gpu::GPUBackend::get().
Referenced by blender::gpu::MTLContext::begin_frame(), blender::gpu::MTLCommandBufferManager::submit(), and blender::gpu::MTLContext::~MTLContext().
|
inlinestatic |
Definition at line 34 of file mtl_backend.hh.
References capabilities.
Referenced by blender::gpu::MTLShader::bake_compute_pipeline_state(), blender::gpu::MSLTextureResource::get_msl_texture_type_str(), blender::gpu::MSLTextureResource::get_msl_wrapper_type_str(), blender::gpu::mtl_format_supports_blending(), and blender::gpu::MSLGeneratorInterface::prepare_from_createinfo().
|
overridevirtual |
Implements blender::gpu::GPUBackend.
Definition at line 80 of file mtl_backend.mm.
|
overridevirtual |
Implements blender::gpu::GPUBackend.
Definition at line 46 of file mtl_backend.mm.
References blender::gpu::GPUBackend::compiler_.
| bool blender::gpu::MTLBackend::is_inside_render_boundary | ( | ) |
Definition at line 173 of file mtl_backend.mm.
References blender::gpu::g_autoreleasepool.
|
static |
Definition at line 369 of file mtl_backend.mm.
References G, G_DEBUG_GPU, in, printf, result, and blender::gpu::supports_barycentric_whitelist().
Referenced by gpu_backend_supported().
|
overridevirtual |
Implements blender::gpu::GPUBackend.
Definition at line 85 of file mtl_backend.mm.
References blender::gpu::MTLPixelBuffer::MTLPixelBuffer().
|
overridevirtual |
Implements blender::gpu::GPUBackend.
Definition at line 90 of file mtl_backend.mm.
References blender::gpu::MTLQueryPool::MTLQueryPool().
|
overridevirtual |
Implements blender::gpu::GPUBackend.
Definition at line 120 of file mtl_backend.mm.
References BLI_assert, blender::gpu::g_autoreleasepool, blender::gpu::g_autoreleasepool_depth, and init().
|
overridevirtual |
Implements blender::gpu::GPUBackend.
Definition at line 134 of file mtl_backend.mm.
References BLI_assert, blender::gpu::g_autoreleasepool, and blender::gpu::g_autoreleasepool_depth.
|
overridevirtual |
Implements blender::gpu::GPUBackend.
Definition at line 148 of file mtl_backend.mm.
References blender::gpu::MTLBufferPool::begin_new_safe_list(), blender::gpu::g_autoreleasepool, blender::gpu::MTLBufferPool::get_current_safe_list(), blender::gpu::MTLContext::get_global_memory_manager(), init(), blender::gpu::MTLSafeFreeList::should_flush(), and blender::gpu::MTLBufferPool::update_memory_pools().
|
overridevirtual |
Implements blender::gpu::GPUBackend.
Definition at line 56 of file mtl_backend.mm.
|
overridevirtual |
Implements blender::gpu::GPUBackend.
Definition at line 95 of file mtl_backend.mm.
References blender::gpu::MTLContext::get(), and blender::gpu::MTLShader::MTLShader().
|
inlineoverridevirtual |
Implements blender::gpu::GPUBackend.
Definition at line 72 of file mtl_backend.hh.
|
overridevirtual |
Implements blender::gpu::GPUBackend.
Definition at line 110 of file mtl_backend.mm.
References blender::gpu::MTLStorageBuf::MTLStorageBuf().
|
overridevirtual |
Implements blender::gpu::GPUBackend.
Definition at line 100 of file mtl_backend.mm.
|
overridevirtual |
Implements blender::gpu::GPUBackend.
Definition at line 105 of file mtl_backend.mm.
References blender::gpu::MTLUniformBuf::MTLUniformBuf().
|
overridevirtual |
Implements blender::gpu::GPUBackend.
Definition at line 115 of file mtl_backend.mm.
References blender::gpu::MTLVertBuf::MTLVertBuf().
|
friend |
Definition at line 28 of file mtl_backend.hh.
References MTLContext.
Referenced by compute_dispatch(), compute_dispatch_indirect(), and MTLContext.
|
static |