Navigation
API > API/Runtime > API/Runtime/RenderCore
Used by the render graph builder to validate correct usage of the graph API from setup to execution. Validation is compiled out in shipping builds. This class tracks resources and passes as they are added to the graph. It will then validate execution of the graph, including whether resources are used during execution, and that they are properly produced before being consumed. All found issues must be clear enough to help the user identify the problem in client code. Validation should occur as soon as possible in the graph lifecycle. It's much easier to catch an issue at the setup location rather than during deferred execution.
Finally, this class is designed for user validation, not for internal graph validation. In other words, if the user can break the graph externally via the client-facing API, this validation layer should catch it. Any internal validation of the graph state should be kept out of this class in order to provide a clear and modular location to extend the validation layer as well as clearly separate the graph implementation details from events in the graph.
| Name | FRDGUserValidation |
| Type | class |
| Header File | /Engine/Source/Runtime/RenderCore/Public/RenderGraphValidation.h |
| Include Path | #include "RenderGraphValidation.h" |
Syntax
class FRDGUserValidation
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FRDGUserValidation
(
FRDGAllocator& Allocator |
RenderGraphValidation.h | ||
FRDGUserValidation
(
const FRDGUserValidation& |
RenderGraphValidation.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~FRDGUserValidation() |
RenderGraphValidation.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| Allocator | FRDGAllocator & | RenderGraphValidation.h | ||
| bHasExecuteBegun | bool | RenderGraphValidation.h | ||
| bHasExecuted | bool | Whether the Execute() has already been called. | RenderGraphValidation.h | |
| bParallelExecuteEnabled | bool | RenderGraphValidation.h | ||
| ResourceMap | TSet< FRDGResourceRef, DefaultKeyFuncs< FRDGResourceRef >, FRDGSetAllocator > | Map tracking all active resources in the graph. | RenderGraphValidation.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void SetParallelExecuteEnabled
(
bool bInParallelExecuteEnabled |
RenderGraphValidation.h | ||
bool TryMarkForClobber
(
FRDGViewableResource* Resource |
Attempts to mark a resource for clobbering. If already marked, returns false. | RenderGraphValidation.h | |
void ValidateAddPass
(
const void* ParameterStruct, |
Tracks and validates the addition of a new pass to the graph. | RenderGraphValidation.h | |
void ValidateAddPass
(
const FRDGPass* Pass |
RenderGraphValidation.h | ||
void ValidateAddPass
(
const FRDGEventName& Name, |
RenderGraphValidation.h | ||
void ValidateAddSubresourceAccess
(
FRDGViewableResource* Resource, |
RenderGraphValidation.h | ||
void ValidateCommitBuffer
(
FRDGBufferRef Buffer, |
RenderGraphValidation.h | ||
void ValidateConvertToExternalResource
(
FRDGViewableResource* Resource |
RenderGraphValidation.h | ||
void ValidateConvertToExternalUniformBuffer
(
FRDGUniformBuffer* UniformBuffer |
RenderGraphValidation.h | ||
void ValidateCreateBuffer
(
FRDGBufferRef Buffer |
RenderGraphValidation.h | ||
void ValidateCreateBuffer
(
const FRDGBufferDesc& Desc, |
RenderGraphValidation.h | ||
void ValidateCreateSRV
(
FRDGTextureSRVRef SRV |
RenderGraphValidation.h | ||
void ValidateCreateSRV
(
const FRDGBufferSRVDesc& Desc |
RenderGraphValidation.h | ||
void ValidateCreateSRV
(
const FRDGTextureSRVDesc& Desc |
RenderGraphValidation.h | ||
void ValidateCreateSRV
(
FRDGBufferSRVRef SRV |
RenderGraphValidation.h | ||
void ValidateCreateTexture
(
const FRDGTextureDesc& Desc, |
Tracks and validates inputs into resource creation functions. | RenderGraphValidation.h | |
void ValidateCreateTexture
(
FRDGTextureRef Texture |
Tracks and validates the creation of a new externally created / registered resource instances. | RenderGraphValidation.h | |
void ValidateCreateUAV
(
const FRDGTextureUAVDesc& Desc |
RenderGraphValidation.h | ||
void ValidateCreateUAV
(
FRDGTextureUAVRef UAV |
RenderGraphValidation.h | ||
void ValidateCreateUAV
(
FRDGBufferUAVRef UAV |
RenderGraphValidation.h | ||
void ValidateCreateUAV
(
const FRDGBufferUAVDesc& Desc |
RenderGraphValidation.h | ||
void ValidateCreateUniformBuffer
(
FRDGUniformBufferRef UniformBuffer |
RenderGraphValidation.h | ||
void ValidateCreateUniformBuffer
(
const void* ParameterStruct, |
RenderGraphValidation.h | ||
void ValidateExecuteBegin() |
Validate graph state before and after execution. | RenderGraphValidation.h | |
void ValidateExecuteEnd() |
RenderGraphValidation.h | ||
void ValidateExecutePassBegin
(
const FRDGPass* Pass |
Validate pass state before and after execution. | RenderGraphValidation.h | |
void ValidateExecutePassEnd
(
const FRDGPass* Pass |
RenderGraphValidation.h | ||
void ValidateExternalAccess
(
FRDGViewableResource* Resource, |
RenderGraphValidation.h | ||
void ValidateExtractBuffer
(
FRDGBufferRef Buffer, |
RenderGraphValidation.h | ||
void ValidateExtractTexture
(
FRDGTextureRef Texture, |
Validates a resource extraction operation. | RenderGraphValidation.h | |
void ValidateGetPooledBuffer
(
FRDGBufferRef Buffer |
RenderGraphValidation.h | ||
void ValidateGetPooledTexture
(
FRDGTextureRef Texture |
RenderGraphValidation.h | ||
void ValidateRegisterExternalBuffer
(
FRDGBufferRef Buffer |
RenderGraphValidation.h | ||
void ValidateRegisterExternalBuffer
(
const TRefCountPtr< FRDGPooledBuffer >& ExternalPooledBuffer, |
RenderGraphValidation.h | ||
void ValidateRegisterExternalTexture
(
FRDGTextureRef Texture |
RenderGraphValidation.h | ||
void ValidateRegisterExternalTexture
(
const TRefCountPtr< IPooledRenderTarget >& ExternalPooledTexture, |
RenderGraphValidation.h | ||
void ValidateSetAccessFinal
(
FRDGViewableResource* Resource, |
RenderGraphValidation.h | ||
void ValidateUploadBuffer
(
FRDGBufferRef Buffer, |
RenderGraphValidation.h | ||
void ValidateUploadBuffer
(
FRDGBufferRef Buffer, |
RenderGraphValidation.h | ||
void ValidateUploadBuffer
(
FRDGBufferRef Buffer, |
RenderGraphValidation.h | ||
void ValidateUploadBuffer
(
FRDGBufferRef Buffer, |
RenderGraphValidation.h | ||
void ValidateUploadBuffer
(
FRDGBufferRef Buffer, |
RenderGraphValidation.h | ||
void ValidateUseExternalAccessMode
(
FRDGViewableResource* Resource, |
RenderGraphValidation.h | ||
void ValidateUseInternalAccessMode
(
FRDGViewableResource* Resaource |
RenderGraphValidation.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static void SetAllowRHIAccess
(
const FRDGPass* Pass, |
Traverses all resources in the pass and marks whether they are externally accessible by user pass implementations. | RenderGraphValidation.h |