FRDGUserValidation

Used by the render graph builder to validate correct usage of the graph API from setup to execution.

Windows
MacOS
Linux

References

Module

RenderCore

Header

/Engine/Source/Runtime/RenderCore/Public/RenderGraphValidation.h

Include

#include "RenderGraphValidation.h"

Syntax

class FRDGUserValidation

Remarks

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.

Constructors

Name Description

Public function

FRDGUserValidation()

Public function

FRDGUserValidation

(
    const FRDGUserValidation&
)

Destructors

Name Description

Public function

~FRDGUserValidation()

Functions

Name Description

Public function

void

 

ExecuteGuard

(
    const TCHAR* Operation,
    const TCHAR* ResourceName
)

Validates that the graph has not executed yet.

Public function

void

 

RemoveUnusedWarning

(
    FRDGParentResourceRef Resource
)

Removes the 'produced but not used' warning from the requested resource.

Public function

void

 

ValidateAddPass

(
    const FRDGPass* Pass,
    bool bSkipPassAccessMarking
)

Tracks and validates the addition of a new pass to the graph.

Public function

void

 

ValidateAllocPassParameters

(
    const void* Parameters
)

Tracks and validates usage of a pass parameters allocation.

Public function

void

 

ValidateCreateBuffer

(
    FRDGBufferRef Buffer
)

Public function

void

 

ValidateCreateExternalBuffer

(
    FRDGBufferRef Buffer
)

Public function

void

 

ValidateCreateExternalTexture

(
    FRDGTextureRef Texture
)

Tracks and validates the creation of a new externally registered resource.

Public function

void

 

ValidateCreateTexture

(
    FRDGTextureRef Texture
)

Tracks and validates the creation of a new resource in the graph.

Public function

void

 

ValidateExecuteBegin()

Validate graph state before and after execution.

Public function

void

 

ValidateExecuteEnd()

Public function

void

 

ValidateExecutePassBegin

(
    const FRDGPass* Pass
)

Validate pass state before and after execution.

Public function

void

 

ValidateExecutePassEnd

(
    const FRDGPass* Pass
)

Public function

void

 

ValidateExtractResource

(
    FRDGParentResourceRef Resource
)

Validates a resource extraction operation.

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss