Commit Graph

338 Commits

Author SHA1 Message Date
devin doucette
4e02304b05 Moved API macro from types to members to fix compiling for Windows with Clang
An optimization to UE_LOG exposed an issue in Clang when targeting Windows. Log statements in inline functions of imported types fail to compile.

#preflight 63f7f350ef1b24bf94367191
#rb Zousar.Shaker
#rnx

[CL 24397809 by devin doucette in ue5-main branch]
2023-02-24 03:58:21 -05:00
james doverspike
90c0ddf9ba [Backout] - CL24328738
[FYI] james.doverspike
Original CL Desc
-----------------------------------------------------------------
Cosmetic bulk asset streaming

Adds support for marking skeletal meshes and textures as optional files that stream from the cloud, typically used for cosmetics. Meshes and textures will now upload all of their non-inlined LODs as optional bulk files to the cloud, removing them from the pak files. The client will download into the VirtualFileCache in PersistentDownloadDir/VFC, which evicts least recently used LODs. These assets will have a longer delay to update to the higher quality LOD when their LODs are not in cache because they are now downloaded on-demand.

[CL 24373261 by james doverspike in ue5-main branch]
2023-02-22 19:19:46 -05:00
james doverspike
6a8a19a4b7 Cosmetic bulk asset streaming
Adds support for marking skeletal meshes and textures as optional files that stream from the cloud, typically used for cosmetics. Meshes and textures will now upload all of their non-inlined LODs as optional bulk files to the cloud, removing them from the pak files. The client will download into the VirtualFileCache in PersistentDownloadDir/VFC, which evicts least recently used LODs. These assets will have a longer delay to update to the higher quality LOD when their LODs are not in cache because they are now downloaded on-demand.

[CL 24331735 by james doverspike in ue5-main branch]
2023-02-20 20:22:07 -05:00
carlmagnus nordin
ccaaec5e2e IoDispatcher: Keep priority value on resolved requests to avoid having to go out and read from the dispatcher requests
#preflight 63eb5a7ee92f139c51943811
#rb pj.kack

[CL 24253463 by carlmagnus nordin in ue5-main branch]
2023-02-16 04:19:30 -05:00
bob tellez
79d7201510 [Backout] - CL24230614
[FYI] james.doverspike
Original CL Desc
-----------------------------------------------------------------
Cosmetic bulk asset streaming

Adds support for marking skeletal meshes and textures as optional files that stream from the cloud, typically used for cosmetics. Meshes and textures will now upload all of their non-inlined LODs as optional bulk files to the cloud, removing them from the pak files. The client will download into the VirtualFileCache in PersistentDownloadDir/VFC, which evicts least recently used LODs. These assets will have a longer delay to update to the higher quality LOD when their LODs are not in cache because they are now downloaded on-demand.

[CL 24253381 by bob tellez in ue5-main branch]
2023-02-16 04:15:55 -05:00
james doverspike
4e78faf0de Cosmetic bulk asset streaming
Adds support for marking skeletal meshes and textures as optional files that stream from the cloud, typically used for cosmetics. Meshes and textures will now upload all of their non-inlined LODs as optional bulk files to the cloud, removing them from the pak files. The client will download into the VirtualFileCache in PersistentDownloadDir/VFC, which evicts least recently used LODs. These assets will have a longer delay to update to the higher quality LOD when their LODs are not in cache because they are now downloaded on-demand.

[CL 24251508 by james doverspike in ue5-main branch]
2023-02-16 01:47:06 -05:00
anton dunchev
990e8f0d44 MemQuery use PackageStore to resolve dependencies
#tests replay
#rb Robert.Millar
[FYI] andrew.ladenberger, simon.orr

[CL 24202843 by anton dunchev in ue5-main branch]
2023-02-13 22:45:46 -05:00
Matt Peters
7dfa3846ff PakFilePrecacher: Fix deadlock by avoiding calling the body of ClearOldBlockTasks while holding CachedFilesScopeLock.
ClearOldBlockTasks can BusyWait, which can call FAsyncIOCPUWorkTask::DoTask, which can try to take a FPakAsyncReadFileHandle's CriticalSection. FPakAsyncReadFileHandle's CriticalSection must be entered first when holding both CriticalSection and CachedFilesScopeLock to prevent deadlocks.
#rb Per.Larsson
#rnx
#preflight 63e144cdc2257e56f4ee08a3

[CL 24035541 by Matt Peters in ue5-main branch]
2023-02-06 14:17:52 -05:00
jared cotton
33f6bf1377 FORT-550853
Update to make IsSymlink() return an enum which allows callers to identify whether or not it is implemented for the calling PlatformFile. Also, added appropriate implementation for FPakPlatformFile which was the cause of ensure's on previous submission which was backed-out.

(see review https://p4-swarm.epicgames.net/reviews/23757906 for usage in SolarisEditorModule.cpp)

#rnx
#rb yiliang.siew
#rb brandon.schaefer
#rb calvin.zheng
#rb zack.neyland
#preflight 63d186e0ef20a5272dba95ae

[CL 23863390 by jared cotton in ue5-main branch]
2023-01-25 20:42:04 -05:00
jeanmichel dignard
8d07a7338f Exec commands changes:
- Port some development only exec commands to Exec_Dev.

#rb none
#preflight 63c5c97f02024f93d822d678

[CL 23734254 by jeanmichel dignard in ue5-main branch]
2023-01-16 19:28:53 -05:00
Francis Hurteau
972d708068 Activating truncation warnings as errors for modules:
CookOnTheFly, CookOnTheFlyNetServer, PakFile, PakFileUtilities

#rb PJ.Kack
#jira UE-166274
#preflight 63c06dc3a06ab115ea7daaf2

[CL 23669256 by Francis Hurteau in ue5-main branch]
2023-01-12 15:56:31 -05:00
Francis Hurteau
9dfe27ab41 Truncation warning fixes for multiple core modules:
CookOnTheFly, CookOnTheFlyNetServer, PakFileUtilities, PakFile

#jira UE-166274
#rb PJ.Kack
#preflight 63c041f01a06fc61057115b7

[CL 23666183 by Francis Hurteau in ue5-main branch]
2023-01-12 13:17:30 -05:00
thomas ross
292d449b84 Fixing crash when unmounting a pak that is not yet in the paklist.
#rb swarm
#tests Android Dev Client

[CL 23369768 by thomas ross in ue5-main branch]
2022-12-01 23:36:02 -05:00
pj kack
d5aea7d4ef Fix IPlatformFilePak deadlock when mounting and unmounting simultaneously from different threads.
Refactor Mount and Unmount to only acquire one lock at a time.
Mount was calling into FPakPlatformFile::GetPakSignatureFile() and acquiring PakSignatureFileCacheLock before calling CreateFileReader() which ends up acquiring PakListCritical in FPakPlatformFile::GetMountedPaks().
Unmount was acquiring PakListCritical first and then calling into FPakPlatformFile::RemoveCachedPakSignaturesFile() and acquiring PakSignatureFileCacheLock.


#rb carlmagnus.nordin
#rnx
#preflight 638713b84004f73f6219fda9

[CL 23325188 by pj kack in ue5-main branch]
2022-11-30 06:20:18 -05:00
carlmagnus nordin
3d76ce80b5 IoDispatcher: Fixed shutdown crash
#preflight 63774398f514e1ded9982c1b
#rb pj.kack

[CL 23192024 by carlmagnus nordin in ue5-main branch]
2022-11-18 05:46:42 -05:00
carlmagnus nordin
f815a8a92f IoDispatcher: Fixed crash when requesting reads of 0 bytes
#preflight 6375edf0953c19d43557cb97
#rb per.larsson

[CL 23174498 by carlmagnus nordin in ue5-main branch]
2022-11-17 07:44:38 -05:00
rex hill
cc31e97fe2 Fix Static Analysis Win64 (MSVC): UE_FORCE_USE_IOSTORE
#preflight skip
#rnx

[CL 22823848 by rex hill in ue5-main branch]
2022-10-28 01:03:21 -04:00
rex hill
c217a35bcf Add UE_FORCE_USE_PAKS and UE_FORCE_USE_IOSTORE preprocessors so a target can set them for devs to stop needing to manually pass those arguments.
#preflight 6359cb6f9b2e9c76c7d90410
#rb dave.belanger

[CL 22810699 by rex hill in ue5-main branch]
2022-10-27 11:20:38 -04:00
pj kack
dd3487108b Fix for SignedArchiveReader requesting one chunk too many when doing reads that ends on a 64K chunk boundary
#jira UE-168199
#rb carlmagnus.nordin
#rnx
#preflight 635a32180d3a231123b25aeb, 635a325c316cf8bef62c3701

[CL 22806755 by pj kack in ue5-main branch]
2022-10-27 05:36:44 -04:00
carlmagnus nordin
8e924b5791 IoDispatcher: Fixed various issues related to unmounting a container when there are still requests in flight for that container
#rb pj.kack
#preflight 634e776e820aa0c193325b66

[CL 22596860 by carlmagnus nordin in ue5-main branch]
2022-10-18 07:55:38 -04:00
pj kack
d3724b5712 AsyncLoading2: Optimize loading related memory by releasing big allocations in dynamic data structures after big bursts of loading.
Saves ~3 MB after going from a peak of preloading ~17 000 async packages to in game streaming with a peak of ~700 async packages:
~2.2 MB in AsyncLoading (AsyncLoading2.cpp, StreamableManager.cpp)
~340 KB in FileSystem (IoDispatcherFileBackend.cpp)
~430 KB in Untagged (UObjectBase.cpp)

#rb carlmagnus.nordin
#rnx
#preflight 63496eeda8717e9453c69f2e, 63496f5aad0f7e2f203bbe35

[CL 22595150 by pj kack in ue5-main branch]
2022-10-18 04:03:28 -04:00
dmytro vovk
a02c1fc739 Fixed IMappedFileHandle::MapRegion to map files\regions smaller than a page size
#jira none
#rb Brandon.Schaefer
#preflight 6320c80447741a7dbd233398

[CL 22092571 by dmytro vovk in ue5-main branch]
2022-09-20 10:34:38 -04:00
Andriy Tylychko
6b7a075ba7 FCoreDelegates cleanup: removed delegate macros
#preflight 632072f947741a7dbd03e2c1
#rb steve.robb

[CL 21981540 by Andriy Tylychko in ue5-main branch]
2022-09-13 09:08:26 -04:00
Andriy Tylychko
158d311d73 FCoreDelegates: deprecations cleanup #2
#preflight 631878c0980179553e6f32d7
#rb matt.peters

[CL 21847431 by Andriy Tylychko in ue5-main branch]
2022-09-07 07:27:19 -04:00
Andriy Tylychko
ab033b8854 FCoreDelegates: deprecations cleanup #1
#preflight 63187771a20b67673b2f4c22
#rb paul.chipchase

[CL 21847272 by Andriy Tylychko in ue5-main branch]
2022-09-07 07:14:57 -04:00