// Copyright PICO Technology Co., Ltd. All rights reserved. // This plugin incorporates portions of the UnrealĀ® Engine. UnrealĀ® is a trademark or registered trademark of Epic Games, Inc. in the United States of America and elsewhere. // Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "PXR_StereoLayer.h" class FDelayDeleteLayerManager { public: void AddLayerToDeferredDeletionQueue(const FPICOLayerPtr& ptr); void AddPxrLayerToDeferredDeletionQueue(const uint32 ID, const uint32 layerID); void HandleLayerDeferredDeletionQueue_RenderThread(bool bDeleteImmediately = false); private: struct DelayDeleteLayerEntry { enum class DelayDeleteLayerEntryType { Layer, PxrLayer }; FPICOLayerPtr Layer; uint32 ID; uint32 PxrLayerId; uint32 FrameEnqueued; DelayDeleteLayerEntryType EntryType; }; TArray DeferredDeletionArray; };