Open 3D Engine Atom Gem API Reference 25.05.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZ::Vulkan::RenderPass::Descriptor Struct Reference

Public Member Functions

size_t GetHash () const
 
void MergeSubpassDependencies ()
 

Public Attributes

Devicem_device = nullptr
 
uint32_t m_attachmentCount = 0
 Number of attachments (rendertarget, resolve, depth/stencil and shading rate)
 
uint32_t m_subpassCount = 0
 Number of subpasses in the renderpass.
 
AZStd::array< AttachmentBinding, RHI::Limits::Pipeline::RenderAttachmentCountMax > m_attachments
 Full list of attachments in the renderpass.
 
AZStd::array< SubpassDescriptor, RHI::Limits::Pipeline::SubpassCountMax > m_subpassDescriptors
 List of subpasses in the renderpass.
 
AZStd::vector< VkSubpassDependencym_subpassDependencies
 Dependencies of the resources between the subpasses.
 

Member Function Documentation

◆ MergeSubpassDependencies()

void AZ::Vulkan::RenderPass::Descriptor::MergeSubpassDependencies ( )

Necessary to avoid validation errors when Vulkan compares the VkRenderPass of the PipelineStateObject vs the VkRenderPass of the VkCmdBeginRenderPass. Even if the subpass dependencies are identical but they differ in order, it'd trigger validation errors. To make the order irrelevant, the solution is to merge the bitflags.


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