Blender
V5.0
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
10
11
#pragma once
12
13
#include "
MEM_guardedalloc.h
"
14
15
#include "
gpu_immediate_private.hh
"
16
17
#include "
mtl_context.hh
"
18
19
#include <Cocoa/Cocoa.h>
20
#include <Metal/Metal.h>
21
#include <QuartzCore/QuartzCore.h>
22
23
namespace
blender::gpu
{
24
25
class
MTLImmediate
:
public
Immediate
{
26
private
:
27
MTLContext
*context_ =
nullptr
;
28
MTLTemporaryBuffer
current_allocation_;
29
MTLPrimitiveTopologyClass metal_primitive_mode_;
30
MTLPrimitiveType metal_primitive_type_;
31
bool
has_begun_ =
false
;
32
33
public
:
34
MTLImmediate
(
MTLContext
*ctx);
35
~MTLImmediate
()
override
=
default
;
36
37
uchar
*
begin
()
override
;
38
void
end
()
override
;
39
bool
imm_is_recording
()
40
{
41
return
has_begun_;
42
}
43
};
44
45
}
// namespace blender::gpu
uchar
unsigned char uchar
Definition
BLI_sys_types.h:67
MEM_guardedalloc.h
Read Guarded memory(de)allocation.
blender::gpu::Immediate::Immediate
Immediate()=default
blender::gpu::MTLContext
Definition
mtl_context.hh:696
blender::gpu::MTLImmediate::begin
uchar * begin() override
Definition
mtl_immediate.mm:31
blender::gpu::MTLImmediate::imm_is_recording
bool imm_is_recording()
Definition
mtl_immediate.hh:39
blender::gpu::MTLImmediate::MTLImmediate
MTLImmediate(MTLContext *ctx)
Definition
mtl_immediate.mm:26
blender::gpu::MTLImmediate::~MTLImmediate
~MTLImmediate() override=default
blender::gpu::MTLImmediate::end
void end() override
Definition
mtl_immediate.mm:56
gpu_immediate_private.hh
mtl_context.hh
blender::gpu
Definition
blf_internal_types.hh:32
blender::gpu::MTLTemporaryBuffer
MTLBufferRange MTLTemporaryBuffer
Definition
mtl_memory.hh:204
Generated on
for Blender by
doxygen
1.16.1