Blender
V4.3
source
blender
gpu
vulkan
render_graph
vk_resource_access_info.hh
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2024 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
19
#pragma once
20
21
#include "
BLI_utility_mixins.hh
"
22
23
#include "
vk_common.hh
"
24
#include "
vk_render_graph_links.hh
"
25
26
namespace
blender::gpu::render_graph
{
27
class
VKResourceStateTracker;
28
30
struct
VKImageAccess
{
31
VkImage
vk_image
;
32
VkAccessFlags
vk_access_flags
;
33
VkImageAspectFlags
vk_image_aspect
;
34
/* Used for sub-resource tracking within a rendering scope.
35
*
36
* By default all layers of images are tracked as a single resource. Only inside a render scope
37
* we can temporary change a subset of layers, when the image is used as an attachment and a
38
* image load/store.
39
*/
40
uint32_t
layer_base
;
41
uint32_t
layer_count
;
42
44
VkImageLayout
to_vk_image_layout
()
const
;
45
};
46
48
struct
VKBufferAccess
{
49
VkBuffer
vk_buffer
;
50
VkAccessFlags
vk_access_flags
;
51
};
52
54
struct
VKResourceAccessInfo
:
NonCopyable
{
55
Vector<VKBufferAccess>
buffers
;
56
Vector<VKImageAccess>
images
;
57
61
void
build_links
(
VKResourceStateTracker
&resources,
VKRenderGraphNodeLinks
&node_links)
const
;
62
66
void
reset
();
67
};
68
69
}
// namespace blender::gpu::render_graph
BLI_utility_mixins.hh
blender::NonCopyable
Definition
BLI_utility_mixins.hh:16
blender::Vector
Definition
BLI_vector.hh:65
blender::gpu::render_graph::VKResourceStateTracker
Definition
vk_resource_state_tracker.hh:121
blender::gpu::render_graph
Definition
vk_begin_query_node.hh:13
uint32_t
unsigned int uint32_t
Definition
stdint.h:80
blender::gpu::render_graph::VKBufferAccess
Definition
vk_resource_access_info.hh:48
blender::gpu::render_graph::VKBufferAccess::vk_buffer
VkBuffer vk_buffer
Definition
vk_resource_access_info.hh:49
blender::gpu::render_graph::VKBufferAccess::vk_access_flags
VkAccessFlags vk_access_flags
Definition
vk_resource_access_info.hh:50
blender::gpu::render_graph::VKImageAccess
Definition
vk_resource_access_info.hh:30
blender::gpu::render_graph::VKImageAccess::layer_count
uint32_t layer_count
Definition
vk_resource_access_info.hh:41
blender::gpu::render_graph::VKImageAccess::vk_image
VkImage vk_image
Definition
vk_resource_access_info.hh:31
blender::gpu::render_graph::VKImageAccess::layer_base
uint32_t layer_base
Definition
vk_resource_access_info.hh:40
blender::gpu::render_graph::VKImageAccess::vk_access_flags
VkAccessFlags vk_access_flags
Definition
vk_resource_access_info.hh:32
blender::gpu::render_graph::VKImageAccess::vk_image_aspect
VkImageAspectFlags vk_image_aspect
Definition
vk_resource_access_info.hh:33
blender::gpu::render_graph::VKImageAccess::to_vk_image_layout
VkImageLayout to_vk_image_layout() const
Definition
vk_resource_access_info.cc:15
blender::gpu::render_graph::VKRenderGraphNodeLinks
Definition
vk_render_graph_links.hh:68
blender::gpu::render_graph::VKResourceAccessInfo
Definition
vk_resource_access_info.hh:54
blender::gpu::render_graph::VKResourceAccessInfo::images
Vector< VKImageAccess > images
Definition
vk_resource_access_info.hh:56
blender::gpu::render_graph::VKResourceAccessInfo::build_links
void build_links(VKResourceStateTracker &resources, VKRenderGraphNodeLinks &node_links) const
Definition
vk_resource_access_info.cc:51
blender::gpu::render_graph::VKResourceAccessInfo::reset
void reset()
Definition
vk_resource_access_info.cc:96
blender::gpu::render_graph::VKResourceAccessInfo::buffers
Vector< VKBufferAccess > buffers
Definition
vk_resource_access_info.hh:55
vk_common.hh
vk_render_graph_links.hh
Generated on Thu Feb 6 2025 07:36:39 for Blender by
doxygen
1.11.0