Blender
V4.3
source
blender
gpu
metal
mtl_immediate.hh
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2023 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
11
#pragma once
12
13
#include "
MEM_guardedalloc.h
"
14
#include "
gpu_immediate_private.hh
"
15
16
#include <Cocoa/Cocoa.h>
17
#include <Metal/Metal.h>
18
#include <QuartzCore/QuartzCore.h>
19
20
namespace
blender::gpu
{
21
22
class
MTLImmediate
:
public
Immediate
{
23
private
:
24
MTLContext
*context_ =
nullptr
;
25
MTLTemporaryBuffer
current_allocation_;
26
MTLPrimitiveTopologyClass metal_primitive_mode_;
27
MTLPrimitiveType metal_primitive_type_;
28
bool
has_begun_ =
false
;
29
30
public
:
31
MTLImmediate
(
MTLContext
*ctx);
32
~MTLImmediate
();
33
34
uchar
*
begin
()
override
;
35
void
end
()
override
;
36
bool
imm_is_recording
()
37
{
38
return
has_begun_;
39
}
40
};
41
42
}
// namespace blender::gpu
uchar
unsigned char uchar
Definition
BLI_sys_types.h:71
MEM_guardedalloc.h
Read Guarded memory(de)allocation.
blender::gpu::Immediate
Definition
gpu_immediate_private.hh:22
blender::gpu::MTLContext
Definition
mtl_context.hh:672
blender::gpu::MTLImmediate
Definition
mtl_immediate.hh:22
blender::gpu::MTLImmediate::begin
uchar * begin() override
Definition
mtl_immediate.mm:33
blender::gpu::MTLImmediate::imm_is_recording
bool imm_is_recording()
Definition
mtl_immediate.hh:36
blender::gpu::MTLImmediate::MTLImmediate
MTLImmediate(MTLContext *ctx)
Definition
mtl_immediate.mm:26
blender::gpu::MTLImmediate::end
void end() override
Definition
mtl_immediate.mm:58
blender::gpu::MTLImmediate::~MTLImmediate
~MTLImmediate()
Definition
mtl_immediate.mm:31
gpu_immediate_private.hh
blender::gpu
Definition
blf_internal_types.hh:23
blender::gpu::MTLBufferRange
Definition
mtl_memory.hh:192
Generated on Thu Feb 6 2025 07:36:39 for Blender by
doxygen
1.11.0