12#include "Containers/Map.h"
40struct FMipLevelStreamingInfo;
41class FTextureRenderResources;
42class FTileDataTexture;
44class FPageTableUpdater;
45struct FStreamingInstanceRequest;
46class FStreamingInstance;
127 int32 NumMipLevels = 0;
136 SIZE_T GetAllocatedSize()
const;
140 struct FStreamingInfo
148 int32 NumPrefetchFrames = 0;
149 float PrefetchPercentageStepSize = 0.0f;
150 float PrefetchPercentageBias = 0.0f;
161 SIZE_T GetAllocatedSize()
const;
165 struct FPendingRequest
171#if WITH_EDITORONLY_DATA
183 } State = EState::None;
190 bool bBlocking =
false;
210#if WITH_EDITORONLY_DATA
211 SharedBuffer.
Reset();
212 State = EState::None;
235 uint8* DstPhysicalTileCoordsPtr;
245 int32 NumReadyRequests = 0;
246 bool bUpdateActive =
false;
247 bool bUpdateIsAsync =
false;
251 struct FNewSparseVolumeTextureInfo
259 int32 NumMipLevelsGlobal = 0;
260 float StreamingPoolSizeFactor = 0.0f;
261 int32 NumPrefetchFrames = 0;
262 float PrefetchPercentageStepSize = 0.0f;
263 float PrefetchPercentageBias = 0.0f;
282 FStreamingInstance* StreamingInstance =
nullptr;
284 float LowestMipFraction = 0.0f;
288 struct FStreamingRequest
308#if WITH_EDITORONLY_DATA
315 FAsyncState AsyncState;
316 int32 MaxPendingRequests = 0;
317 int32 NumPendingRequests = 0;
318 int32 NextPendingRequestIndex = 0;
321 int64 TotalRequestedBandwidth = 0;
334 void AddRequest(
const FStreamingRequest&
Request);
336 void ComputeBandwidthLimit();
337 void FilterRequests();
338 void IssueRequests();
339 int32 DetermineReadyRequests();
340 void InstallReadyRequests();
344 int32 AllocatePendingRequestIndex();
346#if WITH_EDITORONLY_DATA
351 SIZE_T GetAllocatedSize()
const;
@ INDEX_NONE
Definition CoreMiscDefines.h:150
@ InPlace
Definition CoreMiscDefines.h:162
#define DECLARE_MEMORY_STAT_POOL_EXTERN(CounterName, StatId, GroupId, Pool, API)
Definition Stats.h:688
#define DECLARE_STATS_GROUP(GroupDesc, GroupId, GroupCat)
Definition Stats.h:689
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
bool operator<(const FTextFormatString &LHS, const FTextFormatString &RHS)
Definition ITextFormatArgumentModifier.h:147
void Init()
Definition LockFreeList.h:4
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
UE::Math::TVector4< float > FVector4f
Definition MathFwd.h:75
UE_FORCEINLINE_HINT bool IsValid(const UObject *Test)
Definition Object.h:1875
constexpr uint32 HashCombine(uint32 A, uint32 C)
Definition TypeHash.h:36
Definition BinaryHeap.h:20
Definition BulkData.h:1295
Definition NameTypes.h:617
Definition RenderGraphBuilder.h:49
Definition RHICommandList.h:455
Definition RenderResource.h:37
Definition HttpRequestPayload.h:17
Definition SharedBuffer.h:341
CORE_API void Reset()
Definition SharedBuffer.cpp:242
Definition UnrealString.h.inl:34
Definition RefCounting.h:454
Definition SparseArray.h:524
Definition StaticArray.h:26
Definition UniquePtr.h:107
Definition SparseVolumeTextureStreamingInstance.h:34
Definition SparseVolumeTextureStreamingManager.h:96
virtual void InitRHI(FRHICommandListBase &RHICmdList) override
Definition SparseVolumeTextureStreamingManager.cpp:160
virtual void ReleaseRHI() override
Definition SparseVolumeTextureStreamingManager.cpp:179
virtual const FStreamingDebugInfo * GetStreamingDebugInfo(FRDGBuilder &GraphBuilder) const override
Definition SparseVolumeTextureStreamingManager.cpp:553
virtual void BeginAsyncUpdate(FRDGBuilder &GraphBuilder, bool bUseAsyncThread) override
Definition SparseVolumeTextureStreamingManager.cpp:340
virtual void Remove_GameThread(UStreamableSparseVolumeTexture *SparseVolumeTexture) override
Definition SparseVolumeTextureStreamingManager.cpp:230
virtual void Update_GameThread() override
Definition SparseVolumeTextureStreamingManager.cpp:256
virtual void EndAsyncUpdate(FRDGBuilder &GraphBuilder) override
Definition SparseVolumeTextureStreamingManager.cpp:513
virtual void Request(UStreamableSparseVolumeTexture *SparseVolumeTexture, uint32 StreamingInstanceKey, float FrameRate, float FrameIndex, float MipLevel, EStreamingRequestFlags Flags) override
Definition SparseVolumeTextureStreamingManager.cpp:273
virtual void Add_GameThread(UStreamableSparseVolumeTexture *SparseVolumeTexture) override
Definition SparseVolumeTextureStreamingManager.cpp:187
virtual void Request_GameThread(UStreamableSparseVolumeTexture *SparseVolumeTexture, uint32 StreamingInstanceKey, float FrameRate, float FrameIndex, float MipLevel, EStreamingRequestFlags Flags) override
Definition SparseVolumeTextureStreamingManager.cpp:243
Definition SparseVolumeTextureStreamingManager.cpp:139
Definition SparseVolumeTexture.h:261
Definition SparseVolumeTextureStreamingManager.h:50
SIZE_T GetAllocatedSize() const
Definition SparseVolumeTextureStreamingManager.cpp:2119
void UpdateUsage(uint32 UpdateIndex, uint32 TileCoord, uint32 TilePriority)
Definition SparseVolumeTextureStreamingManager.cpp:2081
uint32 Allocate(uint32 UpdateIndex, uint32 FreeThreshold, uint16 FrameIndex, uint32 TileIndexInFrame, uint32 TilePriority, bool bLocked, FAllocation &OutPreviousAllocation)
Definition SparseVolumeTextureStreamingManager.cpp:2023
static constexpr uint32 PhysicalCoordMask
Definition SparseVolumeTextureStreamingManager.h:52
Definition ISparseVolumeTextureStreamingManager.h:56
Definition SparseVolumeTexture.h:366
Definition SparseVolumeTexture.h:452
uint32 GetTypeHash(const FKey &Key)
Definition BlackboardKey.h:35
bool operator!=(const FCachedAssetKey &A, const FCachedAssetKey &B)
Definition AssetDataMap.h:506
bool operator==(const FCachedAssetKey &A, const FCachedAssetKey &B)
Definition AssetDataMap.h:501
State
Definition PacketHandler.h:88
EStreamingRequestFlags
Definition ISparseVolumeTextureStreamingManager.h:47
Definition AdvancedWidgetsModule.cpp:13
static CORE_API FDateTime Now()
Definition DateTime.cpp:377
static const TIntVector3 ZeroValue
Definition IntVector.h:45
Definition SparseVolumeTexture.h:194
Definition ISparseVolumeTextureStreamingManager.h:17
Definition SparseVolumeTextureStreamingInstance.h:15
Definition SparseVolumeTextureStreamingManager.h:56
FAllocation()
Definition SparseVolumeTextureStreamingManager.h:62
uint16 bIsLocked
Definition SparseVolumeTextureStreamingManager.h:59
uint16 FrameIndex
Definition SparseVolumeTextureStreamingManager.h:58
FAllocation(uint16 InFrameIndex, uint32 InTileIndex, bool bInIsLocked, bool bInIsAllocated)
Definition SparseVolumeTextureStreamingManager.h:63
uint16 bIsAllocated
Definition SparseVolumeTextureStreamingManager.h:60
uint32 TileIndexInFrame
Definition SparseVolumeTextureStreamingManager.h:57