Blender
V5.0
source
blender
gpu
vulkan
vk_streaming_buffer.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
8
9
#pragma once
10
11
#include "
render_graph/vk_render_graph.hh
"
12
#include "
vk_common.hh
"
13
#include "
vk_staging_buffer.hh
"
14
15
namespace
blender::gpu
{
16
class
VKBuffer
;
17
class
VKContext
;
18
26
class
VKStreamingBuffer
{
28
std::optional<std::unique_ptr<VKBuffer>> host_buffer_;
31
VkDeviceSize min_offset_alignment_;
33
VkBuffer vk_buffer_dst_;
35
VkDeviceSize vk_buffer_size_;
37
VkDeviceSize offset_ = 0;
42
render_graph::NodeHandle
copy_buffer_handle_ = 0;
43
44
public
:
45
VKStreamingBuffer
(
VKBuffer
&buffer, VkDeviceSize min_offset_alligment);
46
~VKStreamingBuffer
();
47
52
VkDeviceSize
update
(
VKContext
&context,
const
void
*
data
,
size_t
data_size);
53
54
VkBuffer
vk_buffer_dst
()
55
{
56
return
vk_buffer_dst_;
57
}
58
};
59
}
// namespace blender::gpu
data
BMesh const char void * data
Definition
bmesh_iterators_inline.hh:37
blender::gpu::VKBuffer
Definition
vk_buffer.hh:23
blender::gpu::VKContext
Definition
vk_context.hh:41
blender::gpu::VKStreamingBuffer::~VKStreamingBuffer
~VKStreamingBuffer()
Definition
vk_streaming_buffer.cc:21
blender::gpu::VKStreamingBuffer::VKStreamingBuffer
VKStreamingBuffer(VKBuffer &buffer, VkDeviceSize min_offset_alligment)
Definition
vk_streaming_buffer.cc:14
blender::gpu::VKStreamingBuffer::vk_buffer_dst
VkBuffer vk_buffer_dst()
Definition
vk_streaming_buffer.hh:54
blender::gpu::VKStreamingBuffer::update
VkDeviceSize update(VKContext &context, const void *data, size_t data_size)
Definition
vk_streaming_buffer.cc:26
blender::gpu::render_graph::NodeHandle
uint64_t NodeHandle
Definition
vk_render_graph_node.hh:40
blender::gpu
Definition
blf_internal_types.hh:32
vk_common.hh
vk_render_graph.hh
vk_staging_buffer.hh
Generated on
for Blender by
doxygen
1.16.1