|
| AZ_RTTI (SwapChain, "{2ECD01DB-BD24-4FD1-BA21-370B20071F02}", Base) |
|
| AZ_CLASS_ALLOCATOR (SwapChain, AZ::SystemAllocator) |
|
Device & | GetDevice () const |
|
void | SetCommandBuffer (id< MTLCommandBuffer > mtlCommandBuffer) |
|
id< MTLTexture > | RequestDrawable (bool isFrameCaptureEnabled) |
|
| AZ_RTTI (SwapChain, "{888B64A5-D956-406F-9C33-CF6A54FC41B0}", Object) |
|
ResultCode | Init (RHI::Device &device, const SwapChainDescriptor &descriptor) |
| Initializes the swap chain, making it ready for attachment.
|
|
void | Present () |
| Presents the swap chain to the display, and rotates the images.
|
|
void | SetVerticalSyncInterval (uint32_t verticalSyncInterval) |
|
ResultCode | Resize (const SwapChainDimensions &dimensions) |
|
uint32_t | GetImageCount () const |
| Returns the number of images in the swap chain.
|
|
uint32_t | GetCurrentImageIndex () const |
| Returns the current image index of the swap chain.
|
|
Image * | GetCurrentImage () const |
| Returns the current image of the swap chain.
|
|
Image * | GetImage (uint32_t index) const |
|
const AttachmentId & | GetAttachmentId () const |
| Returns the ID used for the SwapChain's attachment.
|
|
const RHI::SwapChainDescriptor & | GetDescriptor () const override final |
| Returns the descriptor provided when initializing the swap chain.
|
|
virtual bool | IsExclusiveFullScreenPreferred () const |
| Returns True if the swap chain prefers to use exclusive full screen mode.
|
|
virtual bool | GetExclusiveFullScreenState () const |
| Returns True if the swap chain prefers exclusive full screen mode and it is currently true, false otherwise.
|
|
virtual bool | SetExclusiveFullScreenState (bool fullScreenState) |
| Return True if the swap chain prefers exclusive full screen mode and a transition happened, false otherwise.
|
|
virtual bool | ProcessRecreation () |
|
| AZ_RTTI (ImagePoolBase, "{6353E390-C5D2-42FF-8AA9-9AFCD1F2F1B5}", ResourcePool) |
|
| AZ_RTTI (ResourcePool, "{757EB674-25DC-4D00-9808-D3DAF33A4EFE}", DeviceObject) |
|
void | Shutdown () override final |
| Shuts down the pool. This method will shutdown all resources associated with the pool.
|
|
template<typename ResourceType > |
void | ForEach (AZStd::function< void(ResourceType &)> callback) |
|
template<typename ResourceType > |
void | ForEach (AZStd::function< void(const ResourceType &)> callback) const |
|
uint32_t | GetResourceCount () const |
| Returns the number of resources in the pool.
|
|
ResourcePoolResolver * | GetResolver () |
| Returns the resolver for this pool.
|
|
const ResourcePoolResolver * | GetResolver () const |
|
const HeapMemoryUsage & | GetHeapMemoryUsage (HeapMemoryLevel heapMemoryLevel) const |
| Returns the memory used by this pool for a specific heap type.
|
|
const PoolMemoryUsage & | GetMemoryUsage () const |
| Returns the memory used by this pool.
|
|
| AZ_RTTI (DeviceObject, "{17D34F71-944C-4AF5-9823-627474C4C0A6}", Object) |
|
bool | IsInitialized () const |
| Returns whether the device object is initialized.
|
|
Device & | GetDevice () const |
|
| 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.
|
|
|
using | PlatformMethod = AZStd::function<RHI::ResultCode()> |
| A simple functor that returns a result code.
|
|
void | ComputeFragmentation () const override |
| Fragmentation is not an issue (or measured) for the swapchain image pool.
|
|
void | ShutdownImages () |
| Shutdown and clear all the images.
|
|
ResultCode | InitImages () |
| Initialized all the images.
|
|
RHI::XRRenderingInterface * | GetXRSystem () const |
| Return the xr system interface.
|
|
ResultCode | InitImage (Image *image, const ImageDescriptor &descriptor, PlatformMethod platformInitResourceMethod) |
|
void | OnFrameBegin () override |
|
void | OnFrameCompile () override |
|
void | OnFrameEnd () override |
|
void | SetResolver (AZStd::unique_ptr< ResourcePoolResolver > &&resolvePolicy) |
|
ResultCode | Init (Device &device, const ResourcePoolDescriptor &descriptor, const PlatformMethod &initMethod) |
|
ResultCode | InitResource (Resource *resource, const PlatformMethod &initResourceMethod) |
|
bool | ValidateIsRegistered (const Resource *resource) const |
|
bool | ValidateIsUnregistered (const Resource *resource) const |
|
bool | ValidateIsInitialized () const |
| Validates that the resource pool is initialized and ready to service requests.
|
|
bool | ValidateNotProcessingFrame () const |
| Validates that we are not in the frame processing phase.
|
|
void | Init (Device &device) |
| The derived class should call this method to assign the device.
|
|
void | add_ref () const |
|
void | release () const |
|
bool | m_pendingRecreation = false |
| Flag indicating if swapchain recreation is needed at the end of the frame.
|
|
PoolMemoryUsage | m_memoryUsage |
|
AZStd::atomic_int | m_useCount = 0 |
|