|
| | FRDGUserValidation (FRDGAllocator &Allocator) |
| |
| | FRDGUserValidation (const FRDGUserValidation &)=delete |
| |
| RENDERCORE_API | ~FRDGUserValidation () |
| |
| RENDERCORE_API void | ValidateCreateTexture (const FRDGTextureDesc &Desc, const TCHAR *Name, ERDGTextureFlags Flags) |
| |
| RENDERCORE_API void | ValidateCreateBuffer (const FRDGBufferDesc &Desc, const TCHAR *Name, ERDGBufferFlags Flags) |
| |
| RENDERCORE_API void | ValidateCreateSRV (const FRDGTextureSRVDesc &Desc) |
| |
| RENDERCORE_API void | ValidateCreateSRV (const FRDGBufferSRVDesc &Desc) |
| |
| RENDERCORE_API void | ValidateCreateUAV (const FRDGTextureUAVDesc &Desc) |
| |
| RENDERCORE_API void | ValidateCreateUAV (const FRDGBufferUAVDesc &Desc) |
| |
| RENDERCORE_API void | ValidateCreateUniformBuffer (const void *ParameterStruct, const FShaderParametersMetadata *Metadata) |
| |
| RENDERCORE_API void | ValidateCreateTexture (FRDGTextureRef Texture) |
| |
| RENDERCORE_API void | ValidateCreateBuffer (FRDGBufferRef Buffer) |
| |
| RENDERCORE_API void | ValidateCreateSRV (FRDGTextureSRVRef SRV) |
| |
| RENDERCORE_API void | ValidateCreateSRV (FRDGBufferSRVRef SRV) |
| |
| RENDERCORE_API void | ValidateCreateUAV (FRDGTextureUAVRef UAV) |
| |
| RENDERCORE_API void | ValidateCreateUAV (FRDGBufferUAVRef UAV) |
| |
| RENDERCORE_API void | ValidateCreateUniformBuffer (FRDGUniformBufferRef UniformBuffer) |
| |
| RENDERCORE_API void | ValidateRegisterExternalTexture (const TRefCountPtr< IPooledRenderTarget > &ExternalPooledTexture, const TCHAR *Name, ERDGTextureFlags Flags) |
| |
| RENDERCORE_API void | ValidateRegisterExternalBuffer (const TRefCountPtr< FRDGPooledBuffer > &ExternalPooledBuffer, const TCHAR *Name, ERDGBufferFlags Flags) |
| |
| RENDERCORE_API void | ValidateRegisterExternalTexture (FRDGTextureRef Texture) |
| |
| RENDERCORE_API void | ValidateRegisterExternalBuffer (FRDGBufferRef Buffer) |
| |
| RENDERCORE_API void | ValidateUploadBuffer (FRDGBufferRef Buffer, const void *InitialData, uint64 InitialDataSize) |
| |
| RENDERCORE_API void | ValidateUploadBuffer (FRDGBufferRef Buffer, const void *InitialData, uint64 InitialDataSize, const FRDGBufferInitialDataFreeCallback &InitialDataFreeCallback) |
| |
| RENDERCORE_API void | ValidateUploadBuffer (FRDGBufferRef Buffer, const FRDGBufferInitialDataFillCallback &InitialDataFillCallback) |
| |
| RENDERCORE_API void | ValidateUploadBuffer (FRDGBufferRef Buffer, const FRDGBufferInitialDataCallback &InitialDataCallback, const FRDGBufferInitialDataSizeCallback &InitialDataSizeCallback) |
| |
| RENDERCORE_API void | ValidateUploadBuffer (FRDGBufferRef Buffer, const FRDGBufferInitialDataCallback &InitialDataCallback, const FRDGBufferInitialDataSizeCallback &InitialDataSizeCallback, const FRDGBufferInitialDataFreeCallback &InitialDataFreeCallback) |
| |
| RENDERCORE_API void | ValidateCommitBuffer (FRDGBufferRef Buffer, uint64 CommitSizeInBytes) |
| |
| RENDERCORE_API void | ValidateExtractTexture (FRDGTextureRef Texture, TRefCountPtr< IPooledRenderTarget > *OutTexturePtr) |
| |
| RENDERCORE_API void | ValidateExtractBuffer (FRDGBufferRef Buffer, TRefCountPtr< FRDGPooledBuffer > *OutBufferPtr) |
| |
| RENDERCORE_API void | ValidateConvertToExternalResource (FRDGViewableResource *Resource) |
| |
| RENDERCORE_API void | ValidateConvertToExternalUniformBuffer (FRDGUniformBuffer *UniformBuffer) |
| |
| RENDERCORE_API void | ValidateAddPass (const void *ParameterStruct, const FShaderParametersMetadata *Metadata, const FRDGEventName &Name, ERDGPassFlags Flags) |
| |
| RENDERCORE_API void | ValidateAddPass (const FRDGEventName &Name, ERDGPassFlags Flags) |
| |
| RENDERCORE_API void | ValidateAddPass (const FRDGPass *Pass) |
| |
| RENDERCORE_API void | ValidateExecutePassBegin (const FRDGPass *Pass) |
| |
| RENDERCORE_API void | ValidateExecutePassEnd (const FRDGPass *Pass) |
| |
| RENDERCORE_API void | ValidateExecuteBegin () |
| |
| RENDERCORE_API void | ValidateExecuteEnd () |
| |
| RENDERCORE_API bool | TryMarkForClobber (FRDGViewableResource *Resource) const |
| |
| RENDERCORE_API void | ValidateGetPooledTexture (FRDGTextureRef Texture) const |
| |
| RENDERCORE_API void | ValidateGetPooledBuffer (FRDGBufferRef Buffer) const |
| |
| RENDERCORE_API void | ValidateSetAccessFinal (FRDGViewableResource *Resource, ERHIAccess AccessFinal) |
| |
| RENDERCORE_API void | ValidateAddSubresourceAccess (FRDGViewableResource *Resource, const FRDGSubresourceState &Subresource, ERHIAccess Access) |
| |
| RENDERCORE_API void | ValidateUseExternalAccessMode (FRDGViewableResource *Resource, ERHIAccess ReadOnlyAccess, ERHIPipeline Pipelines) |
| |
| RENDERCORE_API void | ValidateUseInternalAccessMode (FRDGViewableResource *Resaource) |
| |
| RENDERCORE_API void | ValidateExternalAccess (FRDGViewableResource *Resource, ERHIAccess Access, const FRDGPass *Pass) |
| |
| void | SetParallelExecuteEnabled (bool bInParallelExecuteEnabled) |
| |
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.