46 uint8 LockedMipCount = 0;
51 struct FPhysicalGroupDesc
90 uint32 DestroyedCallbacksIndex = 0u;
99 void* Baton =
nullptr;
114 enum ECallbackListType
117 CallbackList_Pending,
125 FProducerEntry& Entry = Producers[
Index];
126 Producers[Entry.PrevIndex].NextIndex = Entry.NextIndex;
127 Producers[Entry.NextIndex].PrevIndex = Entry.PrevIndex;
128 Entry.NextIndex = Entry.PrevIndex =
Index;
133 FProducerEntry& Head = Producers[
HeadIndex];
134 FProducerEntry& Entry = Producers[
Index];
142 Entry.PrevIndex = Head.PrevIndex;
143 Producers[Head.PrevIndex].NextIndex =
Index;
144 Head.PrevIndex =
Index;
149 FProducerEntry& FreeHead = Producers[0u];
153 RemoveEntryFromList(
Index);
158 FProducerEntry& Entry = Producers[
Index];
159 Entry.NextIndex = Entry.PrevIndex =
Index;
165 RemoveEntryFromList(
Index);
166 AddEntryToList(0u,
Index);
171 FCallbackEntry& Entry = Callbacks[
Index];
172 Callbacks[Entry.PrevIndex].NextIndex = Entry.NextIndex;
173 Callbacks[Entry.NextIndex].PrevIndex = Entry.PrevIndex;
174 Entry.NextIndex = Entry.PrevIndex =
Index;
179 FCallbackEntry& Head = Callbacks[
HeadIndex];
180 FCallbackEntry& Entry = Callbacks[
Index];
188 Entry.PrevIndex = Head.PrevIndex;
189 Callbacks[Head.PrevIndex].NextIndex =
Index;
190 Head.PrevIndex =
Index;
195 FCallbackEntry& FreeHead = Callbacks[CallbackList_Free];
197 if (
Index != CallbackList_Free)
199 RemoveCallbackFromList(
Index);
204 FCallbackEntry& Entry = Callbacks[
Index];
205 Entry.NextIndex = Entry.PrevIndex =
Index;
211 RemoveCallbackFromList(
Index);
212 AddCallbackToList(CallbackList_Free,
Index);
218 uint32 NumPendingCallbacks;
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
void() FVTProducerDestroyedFunction(const FVirtualTextureProducerHandle &InHandle, void *Baton)
Definition VirtualTexturing.h:194
Definition NameTypes.h:617
Definition RHICommandList.h:455
Definition VirtualTexturePhysicalSpace.h:86
Definition VirtualTextureProducer.h:62
FVirtualTextureProducer & GetProducer(const FVirtualTextureProducerHandle &Handle)
Definition VirtualTextureProducer.cpp:268
bool TryReleaseProducer(FVirtualTextureSystem *System, const FVirtualTextureProducerHandle &Handle)
Definition VirtualTextureProducer.cpp:132
FVirtualTextureProducerHandle RegisterProducer(FRHICommandListBase &RHICmdList, FVirtualTextureSystem *System, const FVTProducerDescription &InDesc, IVirtualTexture *InProducer)
Definition VirtualTextureProducer.cpp:57
void CallPendingCallbacks()
Definition VirtualTextureProducer.cpp:150
uint32 RemoveAllCallbacks(const void *Baton)
Definition VirtualTextureProducer.cpp:218
void ReleaseProducer(FVirtualTextureSystem *System, const FVirtualTextureProducerHandle &Handle)
Definition VirtualTextureProducer.cpp:101
void NotifyRequestsCompleted()
Definition VirtualTextureProducer.cpp:249
void AddDestroyedCallback(const FVirtualTextureProducerHandle &Handle, FVTProducerDestroyedFunction *Function, void *Baton)
Definition VirtualTextureProducer.cpp:199
FVirtualTextureProducer * FindProducer(const FVirtualTextureProducerHandle &Handle)
Definition VirtualTextureProducer.cpp:262
bool HasPendingCallbacks() const
Definition VirtualTextureProducer.cpp:194
FVirtualTextureProducerCollection()
Definition VirtualTextureProducer.cpp:44
Definition VirtualTextureProducer.h:15
uint32 GetHeightInTiles() const
Definition VirtualTextureProducer.h:25
void SetLockedMipCount(uint8 InLockedMipCount)
Definition VirtualTextureProducer.h:36
uint32 GetWidthInTiles() const
Definition VirtualTextureProducer.h:24
EPixelFormat GetLayerFormat(uint32 LayerIndex) const
Definition VirtualTextureProducer.h:30
const FName & GetName() const
Definition VirtualTextureProducer.h:23
uint32 GetNumTextureLayers() const
Definition VirtualTextureProducer.h:29
uint32 GetPhysicalGroupIndexForTextureLayer(uint32 LayerIndex) const
Definition VirtualTextureProducer.h:31
FVirtualTextureProducer()
Definition VirtualTextureProducer.h:17
uint32 GetDepthInTiles() const
Definition VirtualTextureProducer.h:26
uint32 GetNumPhysicalGroups() const
Definition VirtualTextureProducer.h:33
uint32 GetMaxLevel() const
Definition VirtualTextureProducer.h:27
IVirtualTexture * GetVirtualTexture() const
Definition VirtualTextureProducer.h:22
uint8 GetLockedMipCount() const
Definition VirtualTextureProducer.h:37
const FVTProducerDescription & GetDescription() const
Definition VirtualTextureProducer.h:21
FVirtualTexturePhysicalSpace * GetPhysicalSpaceForPhysicalGroup(uint32 GroupIndex) const
Definition VirtualTextureProducer.h:34
Definition VirtualTextureSystem.h:108
Definition VirtualTexturing.h:289
SizeType AddDefaulted()
Definition Array.h:2795
Definition UnrealString.h.inl:34
Definition RefCounting.h:454
Definition VirtualTextureRecreate.cpp:16
U16 Index
Definition radfft.cpp:71
Definition VirtualTexturing.h:148
FName Name
Definition VirtualTexturing.h:151
uint8 NumPhysicalGroups
Definition VirtualTexturing.h:187
uint32 BlockHeightInTiles
Definition VirtualTexturing.h:169
uint32 DepthInTiles
Definition VirtualTexturing.h:170
uint32 BlockWidthInTiles
Definition VirtualTexturing.h:168
uint8 NumTextureLayers
Definition VirtualTexturing.h:182
uint16 WidthInBlocks
Definition VirtualTexturing.h:171
uint16 HeightInBlocks
Definition VirtualTexturing.h:172
uint8 PhysicalGroupIndex[VIRTUALTEXTURE_SPACE_MAXLAYERS]
Definition VirtualTexturing.h:188
uint8 MaxLevel
Definition VirtualTexturing.h:174
TEnumAsByte< EPixelFormat > LayerFormat[VIRTUALTEXTURE_SPACE_MAXLAYERS]
Definition VirtualTexturing.h:183
Definition VirtualTexturing.h:33