199 template <
typename T>
202 return reinterpret_cast<T*
>(MemberPtr);
206 void*
const MemberPtr =
nullptr;
215 template <
typename ParameterStructType>
226 checkf(Contents && Layout,
TEXT(
"Pass parameter struct created with null inputs."));
263 template <
typename FunctionType>
267 template <
typename FunctionType>
271 template <
typename FunctionType>
275 template <
typename FunctionType>
290 checkf(ParameterIndex <
static_cast<uint32>(Parameters.
Num()),
TEXT(
"Attempted to access RDG pass parameter outside of index for Layout '%s'"), *Layout->
GetDebugName());
292 const uint16 MemberOffset = Parameters[ParameterIndex].MemberOffset;
296 const uint8* Contents;
303template <
typename ParameterStructType>
329template <
typename TParameterStruct>
335template <
typename TParameterStruct>
342template <
typename TParameterStruct>
#define check(expr)
Definition AssertionMacros.h:314
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EUniformBufferBaseType
Definition RHIDefinitions.h:634
@ UBMT_RDG_BUFFER_UAV
Definition RHIDefinitions.h:662
@ UBMT_RENDER_TARGET_BINDING_SLOTS
Definition RHIDefinitions.h:675
@ UBMT_RDG_UNIFORM_BUFFER
Definition RHIDefinitions.h:663
@ UBMT_RDG_TEXTURE_NON_PIXEL_SRV
Definition RHIDefinitions.h:657
@ UBMT_RDG_BUFFER_ACCESS
Definition RHIDefinitions.h:659
@ UBMT_RDG_TEXTURE
Definition RHIDefinitions.h:653
@ UBMT_RDG_BUFFER_ACCESS_ARRAY
Definition RHIDefinitions.h:660
@ UBMT_RDG_TEXTURE_SRV
Definition RHIDefinitions.h:656
@ UBMT_RDG_BUFFER_SRV
Definition RHIDefinitions.h:661
@ UBMT_INVALID
Definition RHIDefinitions.h:635
@ UBMT_RDG_TEXTURE_ACCESS_ARRAY
Definition RHIDefinitions.h:655
@ UBMT_RDG_TEXTURE_ACCESS
Definition RHIDefinitions.h:654
@ UBMT_RDG_TEXTURE_UAV
Definition RHIDefinitions.h:658
Definition ShaderParameterMacros.h:367
Definition RenderGraphResources.h:1426
Definition RenderGraphResources.h:1452
Definition RenderGraphResources.h:1321
Definition RenderGraphParameter.h:213
void EnumerateBuffers(FunctionType Function) const
Definition RenderGraphParameters.inl:34
uint32 GetBufferParameterCount() const
Definition RenderGraphParameter.h:244
uint32 GetTextureParameterCount() const
Definition RenderGraphParameter.h:247
const FRHIUniformBufferLayout * GetLayoutPtr() const
Definition RenderGraphParameter.h:234
const FShaderParametersMetadata * GetMetadata() const
Definition RenderGraphParameter.h:236
bool HasRenderTargets() const
Definition RenderGraphParameter.h:239
void EnumerateTextures(FunctionType Function) const
Definition RenderGraphParameters.inl:20
FRDGParameterStruct(const ParameterStructType *Parameters, const FShaderParametersMetadata *InParameterMetadata)
Definition RenderGraphParameter.h:216
const FRHIUniformBufferLayout & GetLayout() const
Definition RenderGraphParameter.h:233
void EnumerateUniformBuffers(FunctionType Function) const
Definition RenderGraphParameters.inl:48
bool HasExternalOutputs() const
Definition RenderGraphParameter.h:240
void Enumerate(FunctionType Function) const
Definition RenderGraphParameters.inl:6
static void ClearUniformBuffers(void *Contents, const FRHIUniformBufferLayout *Layout)
Definition RenderGraphParameters.inl:61
const uint8 * GetContents() const
Definition RenderGraphParameter.h:230
bool HasStaticSlot() const
Definition RenderGraphParameter.h:241
FRDGParameterStruct(const void *InContents, const FRHIUniformBufferLayout *InLayout)
Definition RenderGraphParameter.h:222
RENDERCORE_API FRHIRenderPassInfo GetRenderPassInfo() const
Definition RenderGraphPass.cpp:35
uint32 GetUniformBufferParameterCount() const
Definition RenderGraphParameter.h:250
RENDERCORE_API FUniformBufferStaticBindings GetStaticUniformBuffers() const
Definition RenderGraphPass.cpp:9
const FRenderTargetBindingSlots & GetRenderTargets() const
Definition RenderGraphParameter.h:253
Definition RenderGraphParameter.h:10
bool IsBufferAccess() const
Definition RenderGraphParameter.h:56
bool IsTexture() const
Definition RenderGraphParameter.h:34
FRDGBufferAccess GetAsBufferAccess() const
Definition RenderGraphParameter.h:151
const FRDGTextureAccessArray & GetAsTextureAccessArray() const
Definition RenderGraphParameter.h:139
FRDGTextureRef GetAsTexture() const
Definition RenderGraphParameter.h:127
bool IsUniformBuffer() const
Definition RenderGraphParameter.h:71
bool IsViewableResource() const
Definition RenderGraphParameter.h:76
bool IsTextureAccess() const
Definition RenderGraphParameter.h:41
bool IsUAV() const
Definition RenderGraphParameter.h:24
FRDGBufferUAVRef GetAsBufferUAV() const
Definition RenderGraphParameter.h:181
FRDGViewableResource * GetAsViewableResource() const
Definition RenderGraphParameter.h:103
FRDGUnorderedAccessViewRef GetAsUAV() const
Definition RenderGraphParameter.h:121
bool IsResource() const
Definition RenderGraphParameter.h:14
bool IsView() const
Definition RenderGraphParameter.h:29
FRDGBufferSRVRef GetAsBufferSRV() const
Definition RenderGraphParameter.h:169
FRDGTextureUAVRef GetAsTextureUAV() const
Definition RenderGraphParameter.h:175
FRDGUniformBufferBinding GetAsUniformBuffer() const
Definition RenderGraphParameter.h:97
bool IsBuffer() const
Definition RenderGraphParameter.h:51
bool IsBufferAccessArray() const
Definition RenderGraphParameter.h:61
FRDGResourceRef GetAsResource() const
Definition RenderGraphParameter.h:91
FRDGBufferRef GetAsBuffer() const
Definition RenderGraphParameter.h:145
FRDGViewRef GetAsView() const
Definition RenderGraphParameter.h:109
FRDGShaderResourceViewRef GetAsSRV() const
Definition RenderGraphParameter.h:115
bool IsTextureAccessArray() const
Definition RenderGraphParameter.h:46
FRDGTextureAccess GetAsTextureAccess() const
Definition RenderGraphParameter.h:133
EUniformBufferBaseType GetType() const
Definition RenderGraphParameter.h:86
bool IsResourceAccessArray() const
Definition RenderGraphParameter.h:66
const FRenderTargetBindingSlots & GetAsRenderTargetBindingSlots() const
Definition RenderGraphParameter.h:187
const FRDGBufferAccessArray & GetAsBufferAccessArray() const
Definition RenderGraphParameter.h:157
bool IsSRV() const
Definition RenderGraphParameter.h:19
FRDGTextureSRVRef GetAsTextureSRV() const
Definition RenderGraphParameter.h:163
bool IsRenderTargetBindingSlots() const
Definition RenderGraphParameter.h:81
Definition RenderGraphPass.h:217
Definition RenderGraphResources.h:131
Definition RenderGraphResources.h:698
Definition ShaderParameterMacros.h:430
Definition RenderGraphResources.h:839
Definition RenderGraphResources.h:905
Definition RenderGraphResources.h:571
Definition RenderGraphResources.h:721
Definition RenderGraphResources.h:496
Definition RenderGraphResources.h:291
Definition ArrayView.h:139
UE_FORCEINLINE_HINT constexpr SizeType Num() const
Definition ArrayView.h:380
UE_REWRITE SizeType Num() const
Definition Array.h:1144
Definition RenderGraphParameter.h:306
const ParameterStructType * GetContents() const
Definition RenderGraphParameter.h:313
const ParameterStructType * operator->() const
Definition RenderGraphParameter.h:318
TRDGParameterStruct(ParameterStructType *Parameters)
Definition RenderGraphParameter.h:308
Definition ShaderParameterMacros.h:509
Definition RHIResources.h:5248
Definition ShaderParameterMacros.h:770