|
| FrameGraphInterface (FrameGraph &frameGraph) |
|
FrameGraphAttachmentInterface | GetAttachmentDatabase () |
| Acquires the attachment builder interface for declaring new attachments.
|
|
ResultCode | UseAttachment (const BufferScopeAttachmentDescriptor &descriptor, ScopeAttachmentAccess access, ScopeAttachmentUsage usage) |
| Declares a buffer attachment for use on the current scope.
|
|
ResultCode | UseAttachment (const ImageScopeAttachmentDescriptor &descriptor, ScopeAttachmentAccess access, ScopeAttachmentUsage usage) |
| Declares an image attachment for use on the current scope.
|
|
ResultCode | UseAttachments (AZStd::span< const ImageScopeAttachmentDescriptor > descriptors, ScopeAttachmentAccess access, ScopeAttachmentUsage usage) |
| Declares an array of image attachments for use on the current scope.
|
|
ResultCode | UseColorAttachments (AZStd::span< const ImageScopeAttachmentDescriptor > descriptors) |
| Declares an array of color attachments for use on the current scope.
|
|
ResultCode | UseColorAttachment (const ImageScopeAttachmentDescriptor &descriptor) |
| Declares a single color attachment for use on the current scope.
|
|
ResultCode | UseSubpassInputAttachments (AZStd::span< const ImageScopeAttachmentDescriptor > descriptors) |
|
ResultCode | UseSubpassInputAttachment (const ImageScopeAttachmentDescriptor &descriptor) |
|
ResultCode | UseResolveAttachment (const ResolveScopeAttachmentDescriptor &descriptor) |
| Declares a single resolve attachment for use on the current scope.
|
|
ResultCode | UseDepthStencilAttachment (const ImageScopeAttachmentDescriptor &descriptor, ScopeAttachmentAccess access) |
|
ResultCode | UseShaderAttachment (const BufferScopeAttachmentDescriptor &descriptor, ScopeAttachmentAccess access) |
|
ResultCode | UseShaderAttachment (const ImageScopeAttachmentDescriptor &descriptor, ScopeAttachmentAccess access) |
|
ResultCode | UseCopyAttachment (const BufferScopeAttachmentDescriptor &descriptor, ScopeAttachmentAccess access) |
|
ResultCode | UseCopyAttachment (const ImageScopeAttachmentDescriptor &descriptor, ScopeAttachmentAccess access) |
|
ResultCode | UseInputAssemblyAttachment (const BufferScopeAttachmentDescriptor &descriptor) |
|
ResultCode | UseQueryPool (Ptr< QueryPool > queryPool, const RHI::Interval &interval, QueryPoolScopeAttachmentType type, ScopeAttachmentAccess access) |
|
void | ExecuteAfter (const ScopeId &producerScopeId) |
| Declares that this scope depends on the given scope id, and must wait for it to complete.
|
|
void | ExecuteBefore (const ScopeId &consumerScopeId) |
|
void | SignalFence (Fence &fence) |
| Requests that the provided fence be signaled after the scope has completed.
|
|
void | WaitFence (Fence &fence) |
| Requests that the provided fence be waited for before the scope has started.
|
|
void | SetEstimatedItemCount (uint32_t itemCount) |
|
void | SetHardwareQueueClass (HardwareQueueClass hardwareQueueClass) |
| Requests that a specific GPU hardware queue be used for processing this scope.
|
|
This interface exposes FrameGraph functionality to non-RHI systems (like the RPI). This is in order to reduce access to certain public functions in FrameGraph that are intended for RHI use only. FrameGraph is a class that builds and orders scopes (associated with a specific scope id) for the current frame. This interface is broken down into two parts: global attachment registration and local scope configuration.
Attachments are resources registered with the frame scheduler. Persistent resources are "imported" into the frame scheduler directly. Transient resources are created and internally managed by the frame scheduler. Their lifetime is only valid for the scopes that use them.
Global attachment registration is done through this API via the create / import methods. Those operations are considered immediate and global. This means any scopes built later can reference the attachment id. This is useful if a downstream scope just wants to use an attachment without caring where it came from.
Local scope configuration is done via the Use* and other remaining methods. A scope must declare usage of an attachment via Use*. This is true even if the scope created or imported the attachment.