Open 3D Engine Atom Gem API Reference
24.09
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
|
Inherits AZ::RHI::Scope.
Public Member Functions | |
AZ_RTTI (Scope, "{2F46C8DD-08CB-427C-8EE7-7D00F140A22F}", Base) | |
AZ_CLASS_ALLOCATOR (Scope, AZ::SystemAllocator) | |
Public Member Functions inherited from AZ::RHI::Scope | |
AZ_RTTI (Scope, "{C9EB500A-EF31-46E2-98DE-62396CDBAFB1}", Object) | |
bool | IsInitialized () const |
Returns whether the scope is currently initialized. | |
bool | IsActive () const |
Returns whether the scope is currently active on a frame. | |
const ScopeId & | GetId () const |
Returns the scope id associated with this scope. | |
AZStd::string_view | GetMarkerLabel () const |
Returns the string view to the gpu marker. | |
uint32_t | GetIndex () const |
const GraphGroupId & | GetFrameGraphGroupId () const |
Returns the id of the graph group this scope belongs. | |
const FrameGraph * | GetFrameGraph () const |
Returns the frame graph instance which owns this scope. | |
HardwareQueueClass | GetHardwareQueueClass () const |
Returns the hardware queue class for this scope. | |
void | SetHardwareQueueClass (HardwareQueueClass hardwareQueueClass) |
Sets the hardware queue class for this scope. | |
uint32_t | GetEstimatedItemCount () const |
Scope * | GetProducerByQueue (HardwareQueueClass hardwareQueueClass) const |
Returns the scope for the given hardware queue which must be scheduled immediately prior to this scope (can be null). | |
Scope * | GetProducerOnSameQueue () const |
Returns the scope for the producer on the same hardware queue as us. | |
Scope * | GetConsumerByQueue (HardwareQueueClass hardwareQueueClass) const |
Returns the scope for the given hardware queue which must be scheduled immediately after this scope (can be null). | |
Scope * | GetConsumerOnSameQueue () const |
Returns the scope for the consumer on the same hardware queue as us. | |
const AZStd::vector< ScopeAttachment * > & | GetAttachments () const |
Returns a list of attachments on this scope. | |
const AZStd::vector< ScopeAttachment * > & | GetTransientAttachments () const |
Returns a list of attachments which reference transient resources on this scope. | |
const AZStd::vector< ImageScopeAttachment * > & | GetImageAttachments () const |
Returns a list of all image scope attachments. | |
const AZStd::vector< ResolveScopeAttachment * > & | GetResolveAttachments () const |
Returns a list of all resolve scope attachments. | |
const AZStd::vector< BufferScopeAttachment * > & | GetBufferAttachments () const |
Returns a list of all buffer scope attachments. | |
const AZStd::vector< ResourcePoolResolver * > & | GetResourcePoolResolves () const |
Returns a list of resource pools requiring a resolve operation. | |
const AZStd::vector< SwapChain * > & | GetSwapChainsToPresent () const |
Returns a list of swap chains which require presentation at the end of the scope. | |
const AZStd::vector< Ptr< Fence > > & | GetFencesToSignal () const |
Returns a list of fences to signal on completion of the scope. | |
const AZStd::vector< Ptr< Fence > > & | GetFencesToWaitFor () const |
Returns a list of fences to wait for before start of the scope. | |
void | Init (const ScopeId &scopeId, HardwareQueueClass hardwareQueueClass=HardwareQueueClass::Graphics) |
Initializes the scope. | |
void | Activate (const FrameGraph *frameGraph, uint32_t index, const GraphGroupId &groupId) |
Activates the scope for the current frame. | |
void | Compile (Device &device) |
Called when the scope is being compiled at the end of the graph-building phase. | |
void | Deactivate () |
Deactivates the scope for the current frame. | |
void | Shutdown () override final |
Shuts down the scope. | |
void | QueueResourcePoolResolves (ResourcePoolDatabase &resourcePoolDatabase) |
Scope * | FindCapableCrossQueueProducer (HardwareQueueClass hardwareQueueClass) |
Finds a producer for this scope that is at least as capable as the provided queue class. | |
Scope * | FindMoreCapableCrossQueueProducer () |
Finds a producer for this scope from a more capable queue. | |
Scope * | FindCrossQueueProducer (HardwareQueueClass hardwareQueueClass) |
Finds a producer for this scope from a specific queue class. | |
void | AddFenceToSignal (Ptr< Fence > fence) |
Adds a fence that will be signaled at the end of the scope. | |
Public Member Functions inherited from AZ::RHI::Object | |
AZ_RTTI (Object, "{E43378F1-2331-4173-94B8-990ED20E6003}") | |
void | SetName (const Name &name) |
Sets the name of the object. | |
const Name & | GetName () const |
Returns the name set on the object by SetName. | |
uint32_t | use_count () |
Returns the current use count of the object. | |
Static Public Member Functions | |
static RHI::Ptr< Scope > | Create () |
Static Public Member Functions inherited from AZ::RHI::Scope | |
static void | LinkProducerConsumerByQueues (Scope *producer, Scope *consumer) |
Links the producer and consumer according to their queues. | |
Additional Inherited Members | |
Protected Member Functions inherited from AZ::RHI::Scope | |
virtual void | AddQueryPoolUse (Ptr< QueryPool > queryPool, const RHI::Interval &interval, RHI::ScopeAttachmentAccess access) |
Called when the scope will use a query pool during it's execution. Some platforms need this information. | |
Protected Member Functions inherited from AZ::RHI::Object | |
void | add_ref () const |
void | release () const |
Protected Attributes inherited from AZ::RHI::Object | |
AZStd::atomic_int | m_useCount = 0 |