Blender V4.5
blender::gpu::render_graph::VKRenderGraphLink Struct Reference

#include <vk_render_graph_links.hh>

Public Member Functions

void debug_print (std::ostream &ss, const VKResourceStateTracker &resources) const
bool is_link_to_buffer () const

Public Attributes

ResourceWithStamp resource
VkAccessFlags vk_access_flags
VkImageLayout vk_image_layout = VK_IMAGE_LAYOUT_UNDEFINED
VkImageAspectFlags vk_image_aspect = VK_IMAGE_ASPECT_NONE
uint32_t layer_base = 0
uint32_t layer_count = VK_REMAINING_ARRAY_LAYERS

Detailed Description

Definition at line 27 of file vk_render_graph_links.hh.

Member Function Documentation

◆ debug_print()

◆ is_link_to_buffer()

bool blender::gpu::render_graph::VKRenderGraphLink::is_link_to_buffer ( ) const
inline

Check if this link points to a buffer resource. Implementation checks vk_image_aspect field as that must be set to NONE for buffers.

Saved additional lookups when reordering nodes.

Definition at line 70 of file vk_render_graph_links.hh.

References vk_image_aspect.

Member Data Documentation

◆ layer_base

uint32_t blender::gpu::render_graph::VKRenderGraphLink::layer_base = 0

The layers to bind.

Used when layer_tracking will be enabled to transit the layout of these layers only.

Definition at line 59 of file vk_render_graph_links.hh.

Referenced by debug_print().

◆ layer_count

uint32_t blender::gpu::render_graph::VKRenderGraphLink::layer_count = VK_REMAINING_ARRAY_LAYERS

Definition at line 60 of file vk_render_graph_links.hh.

◆ resource

ResourceWithStamp blender::gpu::render_graph::VKRenderGraphLink::resource

Which resource is being accessed.

Definition at line 31 of file vk_render_graph_links.hh.

Referenced by debug_print().

◆ vk_access_flags

VkAccessFlags blender::gpu::render_graph::VKRenderGraphLink::vk_access_flags

How is the resource being accessed.

When generating pipeline barriers of a resource, the nodes access flags are evaluated to create src/dst access masks.

Definition at line 39 of file vk_render_graph_links.hh.

Referenced by debug_print().

◆ vk_image_aspect

VkImageAspectFlags blender::gpu::render_graph::VKRenderGraphLink::vk_image_aspect = VK_IMAGE_ASPECT_NONE

Which aspect of the image is being used.

Definition at line 52 of file vk_render_graph_links.hh.

Referenced by debug_print(), and is_link_to_buffer().

◆ vk_image_layout

VkImageLayout blender::gpu::render_graph::VKRenderGraphLink::vk_image_layout = VK_IMAGE_LAYOUT_UNDEFINED

When resource is an image, which layout should the image be using.

When generating the commands this attribute is compared with the actual image layout of the the image. Additional pipeline barriers will be added to transit to the layout stored here.

Definition at line 47 of file vk_render_graph_links.hh.

Referenced by debug_print().


The documentation for this struct was generated from the following files: