Blender
V4.3
source
blender
gpu
vulkan
vk_drawlist.hh
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2022 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
9
#pragma once
10
11
#include "
gpu_drawlist_private.hh
"
12
13
#include "
vk_buffer.hh
"
14
#include "
vk_resource_tracker.hh
"
15
16
namespace
blender::gpu
{
17
class
VKBatch;
18
19
class
VKDrawList
:
public
DrawList
,
VKResourceTracker
<VKBuffer> {
20
private
:
24
VKBatch
*batch_ =
nullptr
;
25
30
const
int
length_;
31
35
int
command_index_ = 0;
36
37
public
:
38
VKDrawList
(
int
list_length);
39
45
void
append
(Batch *
batch
,
int
instance_first,
int
instance_count)
override
;
46
52
void
submit
()
override
;
53
54
private
:
59
template
<
typename
CommandType> CommandType &get_command(
VKBuffer
&buffer)
const
60
{
61
return
MutableSpan<CommandType>
(
static_cast<
CommandType *
>
(buffer.
mapped_memory_get
()),
62
length_)[command_index_];
63
}
64
65
protected
:
66
std::unique_ptr<VKBuffer>
create_resource
(
VKContext
&context)
override
;
67
};
68
69
}
// namespace blender::gpu
blender::MutableSpan
Definition
BLI_span.hh:444
blender::gpu::DrawList
Definition
gpu_drawlist_private.hh:22
blender::gpu::VKBatch
Definition
vk_batch.hh:19
blender::gpu::VKBuffer
Definition
vk_buffer.hh:23
blender::gpu::VKBuffer::mapped_memory_get
void * mapped_memory_get() const
Definition
vk_buffer.cc:151
blender::gpu::VKContext
Definition
vk_context.hh:29
blender::gpu::VKDrawList
Definition
vk_drawlist.hh:19
blender::gpu::VKDrawList::submit
void submit() override
Definition
vk_drawlist.cc:74
blender::gpu::VKDrawList::VKDrawList
VKDrawList(int list_length)
Definition
vk_drawlist.cc:20
blender::gpu::VKDrawList::create_resource
std::unique_ptr< VKBuffer > create_resource(VKContext &context) override
Definition
vk_drawlist.cc:94
blender::gpu::VKResourceTracker
Definition
vk_resource_tracker.hh:114
append
append
Definition
delaunay_2d.cc:621
batch
struct @620::@622 batch
gpu_drawlist_private.hh
blender::gpu
Definition
blf_internal_types.hh:23
vk_buffer.hh
vk_resource_tracker.hh
Generated on Thu Feb 6 2025 07:36:39 for Blender by
doxygen
1.11.0