5#include "Containers/Array.h"
31class FRDGResourceDumpContext;
183 uint8 bAllowRHIAccess : 1;
200 return ParameterStruct;
225 template <
typename TParameterStruct>
242 bool bExternal =
false;
249template <
typename ParameterStructType>
293#if RHI_USE_RESOURCE_DEBUG_NAME
328#if RHI_ENABLE_RESOURCE_INFO
333#if RHI_USE_RESOURCE_DEBUG_NAME
342#if RHI_USE_RESOURCE_DEBUG_NAME
399#if RHI_USE_RESOURCE_DEBUG_NAME
451 static const uint32 DeallocatedReferenceCount = ~0;
458 #if RHI_ENABLE_RESOURCE_INFO
474#if RHI_ENABLE_RESOURCE_INFO
488 friend FRDGResourceDumpContext;
506 return ::GetParentType(
Type);
551 UE_DEPRECATED(5.3,
"GetOrCreateUAV now requires a command list.")
554 UE_DEPRECATED(5.3,
"GetOrCreateSRV now requires a command list.")
606 return SubresourceCount;
640 const uint16 SubresourceCount;
666#if SUPPORTS_VISUALIZE_TEXTURE
796 Desc.
Format = PixelFormat;
815 return !(*
this ==
Other);
891 return !(*
this ==
Other);
943 check(NumBytes % 4 == 0);
951 template<
typename ParameterStruct>
955 Desc.
Metadata = ParameterStruct::FTypeInfo::GetStructMetadata();
982 template<
typename IndirectParameterStruct>
1002 template<
typename ParameterStruct>
1006 Desc.
Metadata = ParameterStruct::FTypeInfo::GetStructMetadata();
1019 template<
typename ParameterStruct>
1023 Desc.
Metadata = ParameterStruct::FTypeInfo::GetStructMetadata();
1036 template<
typename ParameterStruct>
1040 Desc.
Metadata = ParameterStruct::FTypeInfo::GetStructMetadata();
1053 template<
typename ParameterStruct>
1057 Desc.
Metadata = ParameterStruct::FTypeInfo::GetStructMetadata();
1063 check(NumBytes % 4 == 0);
1071 template<
typename ParameterStruct>
1075 Desc.
Metadata = ParameterStruct::FTypeInfo::GetStructMetadata();
1104 return !(*
this ==
Other);
1150 return !(*
this ==
Other);
1180 return !(*
this ==
Other);
1222 UE_DEPRECATED(5.3,
"GetOrCreateUAV now requires a command list.")
1225 UE_DEPRECATED(5.3,
"GetOrCreateSRV now requires a command list.")
1234 checkf(CachedSRV,
TEXT(
"Only byte address and structured buffers can use the default GetSRV call"));
1261 return FMath::Min<uint64>(CommittedSizeInBytes,
GetSize());
1298 const TCHAR* Name =
nullptr;
1304#if RHI_USE_RESOURCE_DEBUG_NAME
1309 const uint32 NumAllocatedElements;
1310 uint32 LastUsedFrame = 0;
1404 uint64 PendingCommitSize = 0;
1475template <
typename ViewableResourceType>
1478 check(ViewableResourceType::StaticType == Resource->
Type);
1482template <
typename ViewType>
1485 check(ViewType::StaticType == View->
Type);
1486 return static_cast<ViewType*
>(View);
#define check(expr)
Definition AssertionMacros.h:314
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
constexpr bool EnumHasAnyFlags(Enum Flags, Enum Contains)
Definition EnumClassFlags.h:35
constexpr bool EnumHasAllFlags(Enum Flags, Enum Contains)
Definition EnumClassFlags.h:28
ERHIAccess
Definition RHIAccess.h:11
EResourceTransitionFlags
Definition RHIDefinitions.h:1517
EBufferUsageFlags
Definition RHIDefinitions.h:892
#define BUF_DrawIndirect
Definition RHIDefinitions.h:987
ERHIPipeline
Definition RHIPipeline.h:13
ERHITexturePlane
Definition RHIResources.h:2574
ERDGTextureFlags
Definition RenderGraphDefinitions.h:185
#define IF_RDG_ENABLE_DEBUG(Op)
Definition RenderGraphDefinitions.h:17
ERDGViewableResourceType
Definition RenderGraphDefinitions.h:231
#define RDG_ENABLE_DEBUG
Definition RenderGraphDefinitions.h:13
ERDGViewType
Definition RenderGraphDefinitions.h:239
ERDGBufferFlags
Definition RenderGraphDefinitions.h:163
ERDGUnorderedAccessViewFlags
Definition RenderGraphDefinitions.h:221
FRDGTexture * GetAsTexture(FRDGViewableResource *Resource)
Definition RenderGraphResources.h:1494
ViewableResourceType * GetAs(FRDGViewableResource *Resource)
Definition RenderGraphResources.h:1476
FRDGTextureSRV * GetAsTextureSRV(FRDGView *View)
Definition RenderGraphResources.h:1514
FRDGBuffer * GetAsBuffer(FRDGViewableResource *Resource)
Definition RenderGraphResources.h:1489
FRDGBufferUAV * GetAsBufferUAV(FRDGView *View)
Definition RenderGraphResources.h:1499
FRDGTextureDesc Translate(const FPooledRenderTargetDesc &InDesc)
Definition RenderGraphResources.inl:96
FRDGBufferSRV * GetAsBufferSRV(FRDGView *View)
Definition RenderGraphResources.h:1504
FGraphicsPipelineRenderTargetsInfo ExtractRenderTargetsInfo(const FRDGParameterStruct &ParameterStruct)
Definition RenderGraphResources.inl:208
FRDGTextureUAV * GetAsTextureUAV(FRDGView *View)
Definition RenderGraphResources.h:1509
ERDGBarrierLocation
Definition RenderGraphResources.h:57
constexpr uint32 HashCombine(uint32 A, uint32 C)
Definition TypeHash.h:36
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
if(Failed) console_printf("Failed.\n")
Definition NameTypes.h:617
Definition RenderGraphAllocator.h:24
Definition RenderGraphPass.h:108
Definition RenderGraphValidation.h:154
Definition RenderGraphResourcePool.h:15
Definition RenderGraphResources.h:1426
FRDGBufferRef GetParent() const override
Definition RenderGraphResources.h:1433
const FRDGBufferSRVDesc Desc
Definition RenderGraphResources.h:1431
static const ERDGViewType StaticType
Definition RenderGraphResources.h:1428
Definition RenderGraphResources.h:1452
FRDGBufferRef GetParent() const override
Definition RenderGraphResources.h:1459
static const ERDGViewType StaticType
Definition RenderGraphResources.h:1454
const FRDGBufferUAVDesc Desc
Definition RenderGraphResources.h:1457
Definition RenderGraphResources.h:1321
bool IsCulled() const
Definition RenderGraphResources.h:1361
static const ERDGViewableResourceType StaticType
Definition RenderGraphResources.h:1323
FRHIBuffer * GetIndirectRHICallBuffer() const
Definition RenderGraphResources.h:1338
FRDGBufferHandle GetHandle() const
Definition RenderGraphResources.h:1346
const ERDGBufferFlags Flags
Definition RenderGraphResources.h:1326
FRHIBuffer * GetRHI() const
The following methods may only be called during pass execution.
Definition RenderGraphResources.h:1332
uint32 GetSize() const
Definition RenderGraphResources.h:1351
FRDGBufferDesc Desc
Definition RenderGraphResources.h:1325
uint32 GetStride() const
Definition RenderGraphResources.h:1356
Definition RenderGraphBuilder.h:49
Definition RenderGraphParameter.h:213
const FRHIUniformBufferLayout & GetLayout() const
Definition RenderGraphParameter.h:233
Definition RenderGraphPass.h:217
Definition RenderGraphResources.h:1196
FRHIShaderResourceView * GetSRV(FRHICommandListBase &RHICmdList, const FRHIBufferSRVCreateInfo &SRVDesc)
Definition RenderGraphResources.h:1244
FRHIShaderResourceView * GetSRV()
Definition RenderGraphResources.h:1232
uint32 GetAlignedSize() const
Definition RenderGraphResources.h:1254
FRHIShaderResourceView * GetOrCreateSRV(FRHICommandListBase &RHICmdList, const FRHIBufferSRVCreateInfo &SRVDesc)
Definition RenderGraphResources.h:1220
const TCHAR * GetName() const
Definition RenderGraphResources.h:1264
uint32 GetSize() const
Definition RenderGraphResources.h:1249
FRHIBuffer * GetRHI() const
Definition RenderGraphResources.h:1229
uint64 GetCommittedSize() const
Definition RenderGraphResources.h:1259
FRDGPooledBuffer(FRHICommandListBase &RHICmdList, TRefCountPtr< FRHIBuffer > InBuffer, const FRDGBufferDesc &InDesc, uint32 InNumAllocatedElements, const TCHAR *InName)
Definition RenderGraphResources.h:1198
const FRDGBufferDesc Desc
Definition RenderGraphResources.h:1214
FRHIUnorderedAccessView * GetOrCreateUAV(FRHICommandListBase &RHICmdList, const FRHIBufferUAVCreateInfo &UAVDesc)
Definition RenderGraphResources.h:1217
Definition RenderGraphResources.h:537
FRDGPooledTexture(FRHITexture *InTexture)
Definition RenderGraphResources.h:539
FRHIUnorderedAccessView * GetOrCreateUAV(FRHICommandListBase &RHICmdList, const FRHITextureUAVCreateInfo &UAVDesc)
Definition RenderGraphResources.h:546
FRHIShaderResourceView * GetOrCreateSRV(FRHICommandListBase &RHICmdList, const FRHITextureSRVCreateInfo &SRVDesc)
Definition RenderGraphResources.h:549
FRHITexture * GetRHI() const
Definition RenderGraphResources.h:557
Definition RenderGraphResources.h:131
virtual ~FRDGResource()=default
bool HasRHI() const
Definition RenderGraphResources.h:170
FRDGResource(const FRDGResource &)=delete
RENDERCORE_API void ValidateRHIAccess() const
virtual RENDERCORE_API void MarkResourceAsUsed()
The following methods may only be called during pass execution.
FRDGResource(const TCHAR *InName)
Definition RenderGraphResources.h:158
FRHIResource * GetRHI() const
Definition RenderGraphResources.h:149
FRHIResource * GetRHIUnchecked() const
Definition RenderGraphResources.h:165
FRHIResource * ResourceRHI
Definition RenderGraphResources.h:175
const TCHAR *const Name
Definition RenderGraphResources.h:137
Definition RenderGraphResources.h:698
FRHIShaderResourceView * GetRHI() const
Definition RenderGraphResources.h:701
FRHIShaderResourceView * GetRHIUnchecked() const
Definition RenderGraphResources.h:712
FRDGShaderResourceView(const TCHAR *InName, ERDGViewType InType)
Definition RenderGraphResources.h:707
Definition RenderGraphResources.h:747
FRDGTextureRef Texture
Definition RenderGraphResources.h:833
static FRDGTextureSRVDesc CreateWithPixelFormat(FRDGTextureRef Texture, EPixelFormat PixelFormat)
Definition RenderGraphResources.h:793
bool operator==(const FRDGTextureSRVDesc &Other) const
Definition RenderGraphResources.h:808
static FRDGTextureSRVDesc CreateForMetaData(FRDGTextureRef Texture, ERDGTextureMetaDataAccess MetaData)
Definition RenderGraphResources.h:801
static FRDGTextureSRVDesc CreateForMipLevel(FRDGTextureRef Texture, int32 MipLevel)
Definition RenderGraphResources.h:768
friend uint32 GetTypeHash(const FRDGTextureSRVDesc &Desc)
Definition RenderGraphResources.h:818
FRDGTextureSRVDesc(FRDGTexture *InTexture)
Definition RenderGraphResources.h:751
FRDGTextureSRVDesc()=default
static FRDGTextureSRVDesc CreateForSlice(FRDGTextureRef Texture, int32 SliceIndex)
Definition RenderGraphResources.h:778
bool operator!=(const FRDGTextureSRVDesc &Other) const
Definition RenderGraphResources.h:813
bool IsValid() const
Definition RenderGraphResources.h:824
static FRDGTextureSRVDesc Create(FRDGTextureRef Texture)
Definition RenderGraphResources.h:762
Definition RenderGraphResources.h:839
static const ERDGViewType StaticType
Definition RenderGraphResources.h:841
FRDGTextureSubresourceRange GetSubresourceRange() const
Definition RenderGraphResources.inl:133
const FRDGTextureSRVDesc Desc
Definition RenderGraphResources.h:844
FRDGTextureRef GetParent() const override
Definition RenderGraphResources.h:846
Definition RenderGraphResources.h:867
FRDGTextureUAVDesc(FRDGTextureRef InTexture, uint8 InMipLevel=0, EPixelFormat InFormat=PF_Unknown, uint16 InFirstArraySlice=0, uint16 InNumArraySlices=0)
Definition RenderGraphResources.h:871
friend uint32 GetTypeHash(const FRDGTextureUAVDesc &Desc)
Definition RenderGraphResources.h:894
bool operator!=(const FRDGTextureUAVDesc &Other) const
Definition RenderGraphResources.h:889
bool operator==(const FRDGTextureUAVDesc &Other) const
Definition RenderGraphResources.h:884
static FRDGTextureUAVDesc CreateForMetaData(FRDGTextureRef Texture, ERDGTextureMetaDataAccess MetaData)
Definition RenderGraphResources.h:877
FRDGTextureUAVDesc()=default
FRDGTextureRef Texture
Definition RenderGraphResources.h:899
Definition RenderGraphResources.h:905
static const ERDGViewType StaticType
Definition RenderGraphResources.h:907
FRDGTextureSubresourceRange GetSubresourceRange() const
Definition RenderGraphResources.inl:165
FRDGTextureRef GetParent() const override
Definition RenderGraphResources.h:912
FRHITexture * GetParentRHI() const
Definition RenderGraphResources.h:919
const FRDGTextureUAVDesc Desc
Definition RenderGraphResources.h:910
Definition RenderGraphResources.h:571
FRDGTextureSubresourceRange GetSubresourceRange() const
Definition RenderGraphResources.h:599
FRDGTextureHandle GetHandle() const
Definition RenderGraphResources.h:589
bool IsCulled() const
Definition RenderGraphResources.h:616
RENDERCORE_API FRDGTextureSubresourceRange GetSubresourceRangeSRV() const
Definition RenderGraphResources.cpp:206
uint32 GetSubresourceCount() const
Definition RenderGraphResources.h:604
FRDGTextureSubresourceLayout GetSubresourceLayout() const
Definition RenderGraphResources.h:594
const ERDGTextureFlags Flags
Definition RenderGraphResources.h:576
void EncloseVisualizeExtent(const FIntPoint &Point)
Definition RenderGraphResources.h:681
FRDGTextureSubresource GetSubresource(uint32 SubresourceIndex) const
Definition RenderGraphResources.h:609
const FRDGTextureDesc Desc
Definition RenderGraphResources.h:575
FRHITexture * GetRHI() const
The following methods may only be called during pass execution.
Definition RenderGraphResources.h:582
static const ERDGViewableResourceType StaticType
Definition RenderGraphResources.h:573
Definition RenderGraphResources.h:721
const ERDGUnorderedAccessViewFlags Flags
Definition RenderGraphResources.h:723
FRDGUnorderedAccessView(const TCHAR *InName, ERDGViewType InType, ERDGUnorderedAccessViewFlags InFlags)
Definition RenderGraphResources.h:732
FRHIUnorderedAccessView * GetRHI() const
Definition RenderGraphResources.h:726
FRHIUnorderedAccessView * GetRHIUnchecked() const
Definition RenderGraphResources.h:738
Definition RenderGraphValidation.h:41
Definition RenderGraphResources.h:496
ERDGViewableResourceType GetParentType() const
Definition RenderGraphResources.h:504
FRDGView(const TCHAR *Name, ERDGViewType InType)
Definition RenderGraphResources.h:515
virtual FRDGViewableResource * GetParent() const =0
FRDGViewHandle GetHandle() const
Definition RenderGraphResources.h:509
const ERDGViewType Type
Definition RenderGraphResources.h:499
Definition RenderGraphResources.h:291
EAccessMode
Definition RenderGraphResources.h:367
bool IsExtracted() const
Definition RenderGraphResources.h:313
bool HasBeenProduced() const
Definition RenderGraphResources.h:321
void SetOwnerName(const FName &InOwnerName)
Definition RenderGraphResources.h:326
ETransientExtractionHint TransientExtractionHint
Definition RenderGraphResources.h:409
uint8 bCollectForAllocate
Definition RenderGraphResources.h:397
uint32 PassStateIndex
Definition RenderGraphResources.h:442
FRDGPassHandlesByPipeline LastPasses
Definition RenderGraphResources.h:436
ERHIAccess EpilogueAccess
Definition RenderGraphResources.h:448
bool IsDebugNameHeapAllocated() const
Definition RenderGraphResources.h:340
uint8 bSplitFirstTransition
Definition RenderGraphResources.h:391
bool IsExternal() const
Definition RenderGraphResources.h:307
uint32 ReferenceCount
Definition RenderGraphResources.h:439
FRDGPassHandle DiscardPass
Definition RenderGraphResources.h:434
static const ERHIAccess DefaultEpilogueAccess
Definition RenderGraphResources.h:357
const ERDGViewableResourceType Type
Definition RenderGraphResources.h:304
uint8 bProduced
Definition RenderGraphResources.h:379
uint8 bExtracted
Definition RenderGraphResources.h:376
FRDGPassHandle FirstPass
Definition RenderGraphResources.h:435
uint8 bQueuedForUpload
Definition RenderGraphResources.h:394
struct FRDGViewableResource::FAccessModeState AccessModeState
uint8 bForceNonTransient
Definition RenderGraphResources.h:385
uint8 bExternal
Definition RenderGraphResources.h:373
friend bool IsExtendedLifetimeResource(FRDGViewableResource *)
Definition RenderGraphPrivate.cpp:701
TArrayView< const FRHITransientAliasingOverlap > AliasingOverlaps
Definition RenderGraphResources.h:445
uint8 bClobbered
Definition RenderGraphResources.h:405
bool IsCullRoot() const
Definition RenderGraphResources.h:352
FRDGPassHandle AcquirePass
Definition RenderGraphResources.h:433
uint8 bSkipLastTransition
Definition RenderGraphResources.h:388
ETransientExtractionHint
Definition RenderGraphResources.h:360
uint8 bTransient
Definition RenderGraphResources.h:382
Definition RHIResources.h:5806
RHI_API FRHIShaderResourceView * GetOrCreateSRV(FRHICommandListBase &RHICmdList, FRHIBuffer *Buffer, const FRHIBufferSRVCreateInfo &CreateInfo)
Definition RHI.cpp:2000
RHI_API FRHIUnorderedAccessView * GetOrCreateUAV(FRHICommandListBase &RHICmdList, FRHIBuffer *Buffer, const FRHIBufferUAVCreateInfo &CreateInfo)
Definition RHI.cpp:2054
Definition RHIResources.h:1581
Definition RHICommandList.h:455
Definition RHIResources.h:3755
Definition RHIResources.h:54
void SetOwnerName(FName InOwnerName)
Definition RHIResources.h:122
Definition RHIResources.h:3304
Definition RHIResources.h:5785
RHI_API FRHIShaderResourceView * GetOrCreateSRV(FRHICommandListBase &RHICmdList, FRHITexture *Texture, const FRHITextureSRVCreateInfo &CreateInfo)
Definition RHI.cpp:1937
RHI_API FRHIUnorderedAccessView * GetOrCreateUAV(FRHICommandListBase &RHICmdList, FRHITexture *Texture, const FRHITextureUAVCreateInfo &CreateInfo)
Definition RHI.cpp:1969
Definition RHIResources.h:2153
Definition RHITransientResourceAllocator.h:441
Definition RHITransientResourceAllocator.h:399
Definition RHIResources.h:3294
Definition RefCounting.h:213
Definition RenderTargetPool.h:97
Definition ArrayView.h:139
Definition AndroidPlatformMisc.h:14
Definition RenderGraphParameter.h:306
Definition RefCounting.h:454
Definition RHIResources.h:4547
Definition RendererInterface.h:81
Definition RenderTargetPool.h:27
Definition RenderGraphResources.h:940
bool operator==(const FRDGBufferDesc &Other) const
Definition RenderGraphResources.h:1094
friend uint32 GetTypeHash(const FRDGBufferDesc &Desc)
Definition RenderGraphResources.h:1085
static FRDGBufferDesc CreateByteAddressDesc(uint32 NumElements)
Definition RenderGraphResources.h:952
static FRDGBufferDesc CreateByteAddressUploadDesc(uint32 NumBytes)
Definition RenderGraphResources.h:1061
const FShaderParametersMetadata * Metadata
Definition RenderGraphResources.h:1117
static FRDGBufferDesc CreateUploadDesc(uint32 BytesPerElement, uint32 NumElements)
Definition RenderGraphResources.h:1027
static FRDGBufferDesc CreateByteAddressDesc(uint32 NumBytes)
Definition RenderGraphResources.h:941
static FRDGBufferDesc CreateStructuredUploadDesc(uint32 NumElements)
Definition RenderGraphResources.h:1054
static FRDGBufferDesc CreateStructuredUploadDesc(uint32 BytesPerElement, uint32 NumElements)
Definition RenderGraphResources.h:1044
uint32 GetSize() const
Definition RenderGraphResources.h:1080
static FRDGBufferDesc CreateByteAddressUploadDesc(uint32 NumElements)
Definition RenderGraphResources.h:1072
static FRDGBufferDesc CreateBufferDesc(uint32 BytesPerElement, uint32 NumElements)
Definition RenderGraphResources.h:1010
static FRDGBufferDesc CreateIndirectDesc(uint32 BytesPerElement, uint32 NumElements)
Definition RenderGraphResources.h:959
uint32 NumElements
Definition RenderGraphResources.h:1111
static FRDGBufferDesc CreateStructuredDesc(uint32 NumElements)
Definition RenderGraphResources.h:1003
bool operator!=(const FRDGBufferDesc &Other) const
Definition RenderGraphResources.h:1102
static FRDGBufferDesc CreateBufferDesc(uint32 NumElements)
Definition RenderGraphResources.h:1020
static FRDGBufferDesc CreateIndirectDesc(uint32 NumElements=1)
Definition RenderGraphResources.h:983
uint32 BytesPerElement
Definition RenderGraphResources.h:1108
static FRDGBufferDesc CreateRawIndirectDesc(uint32 NumBytes)
Definition RenderGraphResources.h:968
static FRDGBufferDesc CreateUploadDesc(uint32 NumElements)
Definition RenderGraphResources.h:1037
static FRDGBufferDesc CreateIndirectDesc(uint32 NumElements=1)
Definition RenderGraphResources.h:988
EBufferUsageFlags Usage
Definition RenderGraphResources.h:1114
static FRDGBufferDesc CreateStructuredDesc(uint32 BytesPerElement, uint32 NumElements)
Definition RenderGraphResources.h:993
Definition RenderGraphResources.h:1122
FRDGBufferSRVDesc(FRDGBufferRef InBuffer, FRHIRayTracingScene *InRayTracingScene, uint32 InStartOffsetBytes)
Definition RenderGraphResources.h:1138
FRDGBufferSRVDesc(FRDGBufferRef InBuffer, EPixelFormat InFormat)
Definition RenderGraphResources.h:1127
FRDGBufferSRVDesc()=default
friend uint32 GetTypeHash(const FRDGBufferSRVDesc &Desc)
Definition RenderGraphResources.h:1153
bool operator!=(const FRDGBufferSRVDesc &Other) const
Definition RenderGraphResources.h:1148
FRDGBufferSRVDesc(FRDGBufferRef InBuffer, uint32 InStartOffsetBytes, uint32 InNumElements)
Definition RenderGraphResources.h:1133
FRDGBufferRef Buffer
Definition RenderGraphResources.h:1158
bool operator==(const FRDGBufferSRVDesc &Other) const
Definition RenderGraphResources.h:1143
Definition RenderGraphResources.h:1163
bool operator!=(const FRDGBufferUAVDesc &Other) const
Definition RenderGraphResources.h:1178
FRDGBufferUAVDesc(FRDGBufferRef InBuffer, EPixelFormat InFormat)
Definition RenderGraphResources.h:1168
FRDGBufferRef Buffer
Definition RenderGraphResources.h:1188
bool operator==(const FRDGBufferUAVDesc &Other) const
Definition RenderGraphResources.h:1173
FRDGBufferUAVDesc()=default
friend uint32 GetTypeHash(const FRDGBufferUAVDesc &Desc)
Definition RenderGraphResources.h:1183
Definition RenderGraphResources.h:43
FRDGPass * PassIfReadAccess
Definition RenderGraphResources.h:46
FRDGPass * PassIfSkipUAVBarrier
Definition RenderGraphResources.h:45
ERHIAccess Access
Definition RenderGraphResources.h:47
FRDGPass * Pass
Definition RenderGraphResources.h:44
FRDGViewHandle NoUAVBarrierHandle
Definition RenderGraphResources.h:48
Definition RenderGraphResources.h:69
FRDGViewUniqueFilter NoUAVBarrierFilter
Definition RenderGraphResources.h:115
FRDGPassHandle GetFirstPass() const
Definition RenderGraphResources.inl:36
FRDGPassHandlesByPipeline LastPass
Definition RenderGraphResources.h:112
FRDGSubresourceState()=default
static bool IsMergeAllowed(ERDGViewableResourceType ResourceType, const FRDGSubresourceState &Previous, const FRDGSubresourceState &Next)
Definition RenderGraphResources.cpp:72
FRDGSubresourceState(ERHIAccess InAccess)
Definition RenderGraphResources.h:78
FRDGPassHandlesByPipeline FirstPass
Definition RenderGraphResources.h:109
bool IsUsedBy(ERHIPipeline Pipeline) const
Definition RenderGraphResources.inl:25
FRDGBufferReservedCommitHandle ReservedCommitHandle
Definition RenderGraphResources.h:118
EResourceTransitionFlags Flags
Definition RenderGraphResources.h:121
static bool IsTransitionRequired(const FRDGSubresourceState &Previous, const FRDGSubresourceState &Next)
Definition RenderGraphResources.cpp:138
ERHIPipeline GetPipelines() const
Definition RenderGraphResources.inl:41
void Validate()
Definition RenderGraphResources.inl:15
FRDGSubresourceState(ERHIPipeline Pipeline, FRDGPassHandle PassHandle)
Definition RenderGraphResources.h:82
FRDGPassHandle GetLastPass() const
Definition RenderGraphResources.inl:31
ERHIAccess Access
Definition RenderGraphResources.h:106
ERDGBarrierLocation BarrierLocation
Definition RenderGraphResources.h:124
void SetPass(ERHIPipeline Pipeline, FRDGPassHandle PassHandle)
Definition RenderGraphResources.inl:7
Definition RenderGraphDefinitions.h:627
Definition RenderGraphTextureSubresource.h:70
FRDGTextureSubresource GetSubresource(uint32 Index) const
Definition RenderGraphTextureSubresource.h:98
Definition RenderGraphTextureSubresource.h:130
Definition RenderGraphTextureSubresource.h:11
Definition RenderGraphResources.h:412
ERHIAccess Access
Definition RenderGraphResources.h:422
ERHIPipeline Pipelines
Definition RenderGraphResources.h:423
EAccessMode ActiveMode
Definition RenderGraphResources.h:429
FAccessModeState()
Definition RenderGraphResources.h:415
uint8 bLocked
Definition RenderGraphResources.h:425
uint8 bQueued
Definition RenderGraphResources.h:426
bool IsExternalAccess() const
Definition RenderGraphResources.h:413
EAccessMode Mode
Definition RenderGraphResources.h:424
Definition RHIResources.h:1321
Definition RHIResources.h:5700
bool operator==(const FRHIBufferSRVCreateInfo &Other) const
Definition RHIResources.h:5717
Definition RHIResources.h:5754
bool operator==(const FRHIBufferUAVCreateInfo &Other) const
Definition RHIResources.h:5761
Definition RHIResources.h:1689
ETextureDimension Dimension
Definition RHIResources.h:1871
uint8 NumMips
Definition RHIResources.h:1865
Definition RHIResources.h:5570
ERHITextureMetaDataAccess MetaData
Definition RHIResources.h:5608
bool operator==(const FRHITextureSRVCreateInfo &Other) const
Definition RHIResources.h:5613
TOptional< ETextureDimension > DimensionOverride
Definition RHIResources.h:5611
uint16 NumArraySlices
Definition RHIResources.h:5605
EPixelFormat Format
Definition RHIResources.h:5590
uint16 FirstArraySlice
Definition RHIResources.h:5602
uint8 NumMipLevels
Definition RHIResources.h:5596
uint8 MipLevel
Definition RHIResources.h:5593
static RHI_API bool Validate(const FRHITextureDesc &TextureDesc, const FRHITextureSRVCreateInfo &TextureSRVDesc, const TCHAR *TextureName, bool bFatal)
Definition RHI.cpp:1755
Definition RHIResources.h:5651
ERHITextureMetaDataAccess MetaData
Definition RHIResources.h:5690
bool operator==(const FRHITextureUAVCreateInfo &Other) const
Definition RHIResources.h:5666
Definition ShaderParameterMacros.h:770
Definition RendererInterface.h:494
Definition NumericLimits.h:41
Definition Optional.h:131
OptionalType & Emplace(ArgsType &&... Args)
Definition Optional.h:323
IntType X
Definition IntPoint.h:34