10#include "Containers/Queue.h"
100 FTextureResourceMap TextureMap;
104 FMaterialResourceMap MaterialMap;
108 FObjectResourceMap ObjectMap;
124#if WITH_ATLAS_DEBUGGING
133 virtual void Tick(
float DeltaSeconds)
override;
217 void CreateVectorGraphicsCache();
219 void OnPreGarbageCollect();
220 void OnPostGarbageCollect();
223 void CleanupExpiredResources();
228 void DeleteResources();
233 void DeleteUObjectBrushResources();
238 void DeleteBrushResourcesCommand();
296 bool bResourceCriticalSectionLockedForGC;
299 bool bExpiredResourcesNeedCleanup;
#define RETURN_QUICK_DECLARE_CYCLE_STAT(StatId, GroupId)
Definition Stats.h:655
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
ETickableTickType
Definition Tickable.h:20
constexpr uint32 HashCombine(uint32 A, uint32 C)
Definition TypeHash.h:36
Definition IConsoleManager.h:2026
Definition NameTypes.h:617
Definition SceneInterface.h:106
Definition SlateAtlasedTextureResource.h:15
Definition SlateNativeTextureResource.h:12
Definition SlateMaterialResource.h:15
Definition SlateRHIResourceManager.h:115
FCriticalSection * GetResourceCriticalSection()
Definition SlateRHIResourceManager.h:214
TSharedPtr< FSlateDynamicTextureResource > MakeDynamicTextureResource(FName ResourceName, uint32 Width, uint32 Height, const TArray< uint8 > &Bytes)
Definition SlateRHIResourceManager.cpp:706
int32 GetSceneCount()
Definition SlateRHIResourceManager.cpp:1168
bool ContainsTexture(const FName &ResourceName) const
Definition SlateRHIResourceManager.cpp:964
void LoadStyleResources(const ISlateStyle &Style)
Definition SlateRHIResourceManager.cpp:1042
virtual bool IsAtlasPageResourceAlphaOnly(const int32 InIndex) const override
Definition SlateRHIResourceManager.cpp:373
void ConditionalFlushAtlases()
Definition SlateRHIResourceManager.cpp:1061
virtual FSlateShaderResourceProxy * GetShaderResource(const FSlateBrush &InBrush, FVector2f LocalSize, float DrawScale) override
Definition SlateRHIResourceManager.cpp:630
FSlateRHIResourceManager()
Definition SlateRHIResourceManager.cpp:244
virtual bool IsTickableInEditor() const override
Definition SlateRHIResourceManager.h:131
FSceneInterface * GetSceneAt(int32 Index)
Definition SlateRHIResourceManager.cpp:1174
void ReleaseResources()
Definition SlateRHIResourceManager.cpp:1066
virtual TStatId GetStatId() const override
Definition SlateRHIResourceManager.h:132
virtual bool LoadTexture(const FName &TextureName, const FString &ResourcePath, uint32 &Width, uint32 &Height, TArray< uint8 > &DecodedImage)
Definition SlateRHIResourceManager.cpp:514
virtual FSlateShaderResource * GetAtlasPageResource(const int32 InIndex) const override
Definition SlateRHIResourceManager.cpp:368
virtual bool IsTickableWhenPaused() const override
Definition SlateRHIResourceManager.h:130
virtual int32 GetNumAtlasPages() const override
Definition SlateRHIResourceManager.cpp:363
virtual FSlateShaderResource * GetFontShaderResource(int32 InTextureAtlasIndex, FSlateShaderResource *FontTextureAtlas, const class UObject *FontMaterial) override
Definition SlateRHIResourceManager.cpp:673
virtual ~FSlateRHIResourceManager()
Definition SlateRHIResourceManager.cpp:285
void ReleaseDynamicResource(const FSlateBrush &InBrush)
Definition SlateRHIResourceManager.cpp:969
void AddSceneAt(FSceneInterface *Scene, int32 Index)
Definition SlateRHIResourceManager.cpp:1180
void ReloadTextures()
Definition SlateRHIResourceManager.cpp:1137
void LoadUsedTextures()
Definition SlateRHIResourceManager.cpp:1034
void UpdateTextureAtlases()
Definition SlateRHIResourceManager.cpp:1050
virtual ETickableTickType GetTickableTickType() const override
Definition SlateRHIResourceManager.h:129
virtual ISlateAtlasProvider * GetTextureAtlasProvider() override
Definition SlateRHIResourceManager.cpp:701
TSharedPtr< FSlateDynamicTextureResource > GetDynamicTextureResourceByName(FName ResourceName)
Definition SlateRHIResourceManager.cpp:755
void ClearScenes()
Definition SlateRHIResourceManager.cpp:1190
TSharedPtr< FSlateUTextureResource > MakeDynamicUTextureResource(UTexture *InTextureObject)
Definition SlateRHIResourceManager.cpp:760
Definition ShaderResourceManager.h:44
Definition SlateShaderResource.h:129
Definition SlateShaderResource.h:44
Definition SlateUTextureResource.h:71
Definition SlateVectorGraphicsCache.h:15
Definition Tickable.h:135
Definition TextureAtlas.h:328
Definition ISlateStyle.h:18
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition UniquePtr.h:107
Definition MaterialInterface.h:296
Definition Texture.h:1219
U16 Index
Definition radfft.cpp:71
Definition TextureAtlas.h:244
Definition SlateRHIResourceManager.h:55
void RemoveMaterialResource(const FMaterialKey &InKey)
Definition SlateRHIResourceManager.cpp:163
FSlateShaderResourceProxy * FindOrCreateAtlasedProxy(UObject *InObject)
TSharedPtr< FSlateUTextureResource > GetUTextureResource(UTexture *TextureObject) const
Definition SlateRHIResourceManager.cpp:104
void AddDynamicTextureResource(FName ResourceName, TSharedRef< FSlateDynamicTextureResource > InResource)
Definition SlateRHIResourceManager.cpp:130
void Empty()
Definition SlateRHIResourceManager.cpp:181
void AddUTextureResource(UTexture *TextureObject, TSharedRef< FSlateUTextureResource > InResource)
Definition SlateRHIResourceManager.cpp:135
void AddAtlasedTextureResource(UTexture *TextureObject, TSharedRef< FSlateAtlasedTextureResource > InResource)
Definition SlateRHIResourceManager.cpp:168
void ReleaseResources()
Definition SlateRHIResourceManager.cpp:203
TSharedPtr< FSlateAtlasedTextureResource > GetAtlasedTextureResource(UTexture *InObject) const
Definition SlateRHIResourceManager.cpp:114
void RemoveDynamicTextureResource(FName ResourceName)
Definition SlateRHIResourceManager.cpp:150
void EmptyUTextureResources()
Definition SlateRHIResourceManager.cpp:193
void RemoveExpiredMaterialResources(TArray< TSharedPtr< FSlateMaterialResource > > &RemovedMaterials)
Definition SlateRHIResourceManager.cpp:230
FDynamicResourceMap()
Definition SlateRHIResourceManager.cpp:95
void RemoveExpiredTextureResources(TArray< TSharedPtr< FSlateUTextureResource > > &RemovedTextures)
Definition SlateRHIResourceManager.cpp:216
TSharedPtr< FSlateDynamicTextureResource > GetDynamicTextureResource(FName ResourceName) const
Definition SlateRHIResourceManager.cpp:99
void AddMaterialResource(const FMaterialKey &InKey, TSharedRef< FSlateMaterialResource > InResource)
Definition SlateRHIResourceManager.cpp:144
void RemoveUTextureResource(UTexture *TextureObject)
Definition SlateRHIResourceManager.cpp:155
TSharedPtr< FSlateMaterialResource > GetMaterialResource(const FMaterialKey &InKey) const
Definition SlateRHIResourceManager.cpp:124
void EmptyMaterialResources()
Definition SlateRHIResourceManager.cpp:198
uint32 GetNumObjectResources() const
Definition SlateRHIResourceManager.h:89
void EmptyDynamicTextureResources()
Definition SlateRHIResourceManager.cpp:188
void RemoveAtlasedTextureResource(UTexture *TextureObject)
Definition SlateRHIResourceManager.cpp:176
Definition SlateRHIResourceManager.h:32
const FVector2f ImageSize
Definition SlateRHIResourceManager.h:34
FMaterialKey(const UMaterialInterface *InMaterial, const FVector2f InImageSize, int32 InMaskKey)
Definition SlateRHIResourceManager.h:37
friend uint32 GetTypeHash(const FMaterialKey &Key)
Definition SlateRHIResourceManager.h:48
int32 MaskKey
Definition SlateRHIResourceManager.h:35
FObjectKey Material
Definition SlateRHIResourceManager.h:33
friend bool operator==(const FMaterialKey &Lhs, const FMaterialKey &Rhs)
Definition SlateRHIResourceManager.h:43
Definition ShaderResourceManager.h:16
Definition ObjectKey.h:19
Definition SlateBrush.h:239
Definition LightweightStats.h:416