Blender
V3.3
source
blender
gpu
metal
mtl_uniform_buffer.hh
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-or-later */
2
7
#pragma once
8
9
#include "
MEM_guardedalloc.h
"
10
#include "
gpu_uniform_buffer_private.hh
"
11
12
#include "
mtl_context.hh
"
13
14
namespace
blender::gpu
{
15
19
class
MTLUniformBuf
:
public
UniformBuf
{
20
private
:
21
/* Allocation Handle. */
22
gpu::MTLBuffer
*metal_buffer_ =
nullptr
;
23
24
/* Whether buffer has contents, if false, no GPU buffer will
25
* have yet been allocated. */
26
bool
has_data_ =
false
;
27
28
/* Bind-state tracking. */
29
int
bind_slot_ = -1;
30
MTLContext
*bound_ctx_ =
nullptr
;
31
32
public
:
33
MTLUniformBuf
(
size_t
size
,
const
char
*name);
34
~MTLUniformBuf
();
35
36
void
update
(
const
void
*
data
)
override
;
37
void
bind
(
int
slot)
override
;
38
void
unbind
()
override
;
39
40
id<MTLBuffer>
get_metal_buffer
(
int
*r_offset);
41
int
get_size
();
42
const
char
*
get_name
()
43
{
44
return
name_
;
45
}
46
47
MEM_CXX_CLASS_ALLOC_FUNCS
(
"MTLUniformBuf"
);
48
};
49
50
}
// namespace blender::gpu
MEM_guardedalloc.h
Read Guarded memory(de)allocation.
data
data
Definition:
bmesh_operator_api_inline.h:157
size
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
Definition:
btDbvt.cpp:52
blender::gpu::MTLBuffer
Definition:
mtl_memory.hh:107
blender::gpu::MTLContext
Definition:
mtl_context.hh:570
blender::gpu::MTLUniformBuf
Definition:
mtl_uniform_buffer.hh:19
blender::gpu::MTLUniformBuf::MEM_CXX_CLASS_ALLOC_FUNCS
MEM_CXX_CLASS_ALLOC_FUNCS("MTLUniformBuf")
blender::gpu::MTLUniformBuf::unbind
void unbind() override
Definition:
mtl_uniform_buffer.mm:116
blender::gpu::MTLUniformBuf::~MTLUniformBuf
~MTLUniformBuf()
Definition:
mtl_uniform_buffer.mm:25
blender::gpu::MTLUniformBuf::MTLUniformBuf
MTLUniformBuf(size_t size, const char *name)
Definition:
mtl_uniform_buffer.mm:21
blender::gpu::MTLUniformBuf::bind
void bind(int slot) override
Definition:
mtl_uniform_buffer.mm:84
blender::gpu::MTLUniformBuf::update
void update(const void *data) override
Definition:
mtl_uniform_buffer.mm:48
blender::gpu::MTLUniformBuf::get_size
int get_size()
Definition:
mtl_uniform_buffer.mm:156
blender::gpu::MTLUniformBuf::get_name
const char * get_name()
Definition:
mtl_uniform_buffer.hh:42
blender::gpu::MTLUniformBuf::get_metal_buffer
id< MTLBuffer > get_metal_buffer(int *r_offset)
Definition:
mtl_uniform_buffer.mm:141
blender::gpu::UniformBuf
Definition:
gpu_uniform_buffer_private.hh:27
blender::gpu::UniformBuf::name_
char name_[DEBUG_NAME_LEN]
Definition:
gpu_uniform_buffer_private.hh:34
gpu_uniform_buffer_private.hh
mtl_context.hh
blender::gpu
Definition:
gpu_backend.hh:15
Generated on Sat Jul 27 2024 14:57:55 for Blender by
doxygen
1.9.1