UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
VulkanRenderTargetLayout.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved..
2
3#pragma once
4
5#include "VulkanRHIPrivate.h"
6
8{
9public:
13
20 {
22 return RenderPassFullHash;
23 }
24 inline const VkOffset2D& GetOffset2D() const { return Offset.Offset2D; }
25 inline const VkOffset3D& GetOffset3D() const { return Offset.Offset3D; }
26 inline const VkExtent2D& GetExtent2D() const { return Extent.Extent2D; }
27 inline const VkExtent3D& GetExtent3D() const { return Extent.Extent3D; }
28 inline const VkAttachmentDescription* GetAttachmentDescriptions() const { return Desc; }
30 inline bool GetHasDepthStencil() const { return bHasDepthStencil != 0; }
31 inline bool GetHasResolveAttachments() const { return bHasResolveAttachments != 0; }
32 inline bool GetHasDepthStencilResolve() const { return bHasDepthStencilResolve != 0; }
35 inline uint32 GetNumSamples() const { return NumSamples; }
37 inline bool GetIsMultiView() const { return MultiViewCount != 0; }
38 inline uint32 GetMultiViewCount() const { return MultiViewCount; }
39
40
47
49
50 inline const ESubpassHint GetSubpassHint() const { return SubpassHint; }
51
52protected:
54
55protected:
62
63 // Depth goes in the "+1" slot, Depth resolve goes in the "+2 slot", and the Shading Rate texture goes in the "+3" slot.
64 VkAttachmentDescription Desc[MaxSimultaneousRenderTargets * 2 + 3];
66
78
79 // Hash for a compatible RenderPass
81 // Hash for the render pass including the load/store operations
83
84 union
85 {
89
90 union
91 {
95
110
125
126 bool bCalculatedHash = false;
127
129 friend struct FGfxPipelineDesc;
130};
131
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
@ MaxSimultaneousRenderTargets
Definition RHIDefinitions.h:287
ESubpassHint
Definition RHIResources.h:4526
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition RHIResources.h:4572
Definition RHIResources.h:4167
Definition VulkanDevice.h:279
Definition VulkanPipeline.h:492
Definition VulkanRenderTargetLayout.h:8
ESubpassHint SubpassHint
Definition VulkanRenderTargetLayout.h:76
uint32 RenderPassFullHash
Definition VulkanRenderTargetLayout.h:82
const ESubpassHint GetSubpassHint() const
Definition VulkanRenderTargetLayout.h:50
VkAttachmentReference DepthReference
Definition VulkanRenderTargetLayout.h:57
uint32 GetRenderPassFullHash() const
Definition VulkanRenderTargetLayout.h:19
const VkAttachmentReference * GetFragmentDensityAttachmentReference() const
Definition VulkanRenderTargetLayout.h:46
const VkExtent2D & GetExtent2D() const
Definition VulkanRenderTargetLayout.h:26
uint32 RenderPassCompatibleHash
Definition VulkanRenderTargetLayout.h:80
bool GetHasDepthStencilResolve() const
Definition VulkanRenderTargetLayout.h:32
const VkAttachmentReference * GetDepthAttachmentReference() const
Definition VulkanRenderTargetLayout.h:43
const VkAttachmentReference * GetResolveAttachmentReferences() const
Definition VulkanRenderTargetLayout.h:42
uint32 GetNumSamples() const
Definition VulkanRenderTargetLayout.h:35
VkAttachmentReference FragmentDensityReference
Definition VulkanRenderTargetLayout.h:59
uint8 NumInputAttachments
Definition VulkanRenderTargetLayout.h:69
const VkOffset2D & GetOffset2D() const
Definition VulkanRenderTargetLayout.h:24
union FVulkanRenderTargetLayout::@2442 Offset
uint8 bHasDepthStencilResolve
Definition VulkanRenderTargetLayout.h:72
FVulkanRenderTargetLayout()
Definition VulkanRenderTargetLayout.h:111
VkAttachmentReference ResolveReferences[MaxSimultaneousRenderTargets]
Definition VulkanRenderTargetLayout.h:60
uint8 NumAttachmentDescriptions
Definition VulkanRenderTargetLayout.h:67
const VkExtent3D & GetExtent3D() const
Definition VulkanRenderTargetLayout.h:27
bool GetHasFragmentDensityAttachment() const
Definition VulkanRenderTargetLayout.h:33
VkOffset3D Offset3D
Definition VulkanRenderTargetLayout.h:86
uint8 NumColorAttachments
Definition VulkanRenderTargetLayout.h:68
const VkAttachmentDescriptionStencilLayout * GetStencilDesc() const
Definition VulkanRenderTargetLayout.h:48
VkImageLayout GetVRSImageLayout() const
Definition VulkanRenderTargetLayout.cpp:40
uint32 GetRenderPassCompatibleHash() const
Definition VulkanRenderTargetLayout.h:14
uint8 MultiViewCount
Definition VulkanRenderTargetLayout.h:77
const VkOffset3D & GetOffset3D() const
Definition VulkanRenderTargetLayout.h:25
const VkAttachmentDescription * GetAttachmentDescriptions() const
Definition VulkanRenderTargetLayout.h:28
uint8 bHasResolveAttachments
Definition VulkanRenderTargetLayout.h:71
uint32 GetNumAttachmentDescriptions() const
Definition VulkanRenderTargetLayout.h:34
union FVulkanRenderTargetLayout::@2443 Extent
VkAttachmentDescription Desc[MaxSimultaneousRenderTargets *2+3]
Definition VulkanRenderTargetLayout.h:64
uint32 GetMultiViewCount() const
Definition VulkanRenderTargetLayout.h:38
VkExtent2D Extent2D
Definition VulkanRenderTargetLayout.h:93
const VkAttachmentReference * GetDepthStencilResolveAttachmentReference() const
Definition VulkanRenderTargetLayout.h:45
VkAttachmentReferenceStencilLayout StencilReference
Definition VulkanRenderTargetLayout.h:58
bool GetHasDepthStencil() const
Definition VulkanRenderTargetLayout.h:30
uint8 NumSamples
Definition VulkanRenderTargetLayout.h:74
bool GetIsMultiView() const
Definition VulkanRenderTargetLayout.h:37
uint8 bHasDepthStencil
Definition VulkanRenderTargetLayout.h:70
VkOffset2D Offset2D
Definition VulkanRenderTargetLayout.h:87
VkAttachmentReference DepthStencilResolveReference
Definition VulkanRenderTargetLayout.h:61
void ResetAttachments()
Definition VulkanRenderTargetLayout.h:96
uint32 GetNumUsedClearValues() const
Definition VulkanRenderTargetLayout.h:36
bool bCalculatedHash
Definition VulkanRenderTargetLayout.h:126
bool GetHasResolveAttachments() const
Definition VulkanRenderTargetLayout.h:31
uint8 NumUsedClearValues
Definition VulkanRenderTargetLayout.h:75
uint8 bHasFragmentDensityAttachment
Definition VulkanRenderTargetLayout.h:73
VkExtent3D Extent3D
Definition VulkanRenderTargetLayout.h:92
VkAttachmentDescriptionStencilLayout StencilDesc
Definition VulkanRenderTargetLayout.h:65
const VkAttachmentReference * GetColorAttachmentReferences() const
Definition VulkanRenderTargetLayout.h:41
const VkAttachmentReferenceStencilLayout * GetStencilAttachmentReference() const
Definition VulkanRenderTargetLayout.h:44
VkAttachmentReference ColorReferences[MaxSimultaneousRenderTargets]
Definition VulkanRenderTargetLayout.h:56
uint32 GetNumColorAttachments() const
Definition VulkanRenderTargetLayout.h:29
Definition VulkanPipeline.h:127
static UE_FORCEINLINE_HINT void * Memzero(void *Dest, SIZE_T Count)
Definition UnrealMemory.h:131
Definition RHIResources.h:5248