#rb CarlMagnus.Nordin, Paul.Chipchase
#jira none
#preflight 62fdf44787319bacfb44bdcb
- deprecated and replaced the usage of StartAsyncLoading and CreateStreamingRequestForRange with a new batch API for requesting bulk data. The
new API fits better with the I/O dispatcher API and does not assume that the bulk data resides in the same I/O chunk. The new API also
removes state handling away from the bulk data instances.
[CL 21439218 by Per Larsson in ue5-main branch]
#rb none
#ROBOMERGE-AUTHOR: robert.millar
#ROBOMERGE-SOURCE: CL 21431382 via CL 21431415 via CL 21433573 via CL 21435516 via CL 21435595 via CL 21435638
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v981-21435820)
[CL 21437251 by robert millar in ue5-main branch]
The double removal would occur in the following scenario...
1. LoadPackageAsync(PackageA)
2. GC & VerifyLoadMapWorldCleanup where PackageA is leaking
3. OnLeakedPackageRename(PackageA)
4. LoadPackageAsync(PackageA)
5. GC & VerifyLoadMapWorldCleanup where old PackageA is destroyed (and new PackageA is destroyed or leaking)
In development step 5 would cause the following assert in FLoadedPackageRef::FPublicExportMap::VerifyAllObjectsRemoved:
Error: Assertion failed: ObjectIndex < 0
In test/shipping step 5 would cause an FLoadedPackageRef assert or nullptr crash in
FGlobalImportStore::RemovePublicExports called from VerifyLoadMapWorldCleanup/OnLeakedPackageRename or CollectGarbageInternal/NotifyUnreachableObjects.
Tested BR replay and StW on PC.
#jira UE-159809, FORT-504960, FORT-494296, FORT-497087
#rb carlmagnus.nordin
[FYI] robert.millar
#rnx
#ROBOMERGE-OWNER: pj.kack
#ROBOMERGE-AUTHOR: pj.kack
#ROBOMERGE-COMMAND: _robomerge[bot4] UE5-MAIN
#ROBOMERGE-SOURCE: CL 21424567 via CL 21424762 via CL 21424834 via CL 21425163 via CL 21425777 via CL 21425803
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v977-21423386)
[CL 21426054 by pj kack in ue5-main branch]
#jira UE-159809
#rb none
#ROBOMERGE-AUTHOR: robert.millar
#ROBOMERGE-SOURCE: CL 21417438 via CL 21417445 via CL 21420908 via CL 21420929 via CL 21420961
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v975-21357124)
[CL 21421589 by robert millar in ue5-main branch]
added ifdef to FObjectPathId to enabled for WITH_LOW_LEVEL_TESTS
changed ObjectHandleTest to use test data to avoid having to working with cooked, non-cooked or editor only data
#rb zousar.shaker
#p4v-preflight-copy 21321644
#preflight 62fbef15fd15f5152dcfe38e
[CL 21412488 by joe pribele in ue5-main branch]
Reported through UDN #00459500
#jira none
#review @Steve.Robb
#preflight 62fb877b200ff87e0733c8c9
[CL 21403653 by Sebastian Thomeczek in ue5-main branch]
Replace FinalizeInitialLoad with CompleteRegistrationEvent and use the same code path with/without the async loading thread.
Strip the FindAllScriptObjects logic from test and shipping builds.
Optimize initial load NotifyRegistrationEvent handling by passing the finished object instead of looking it up by name.
#jira FORT-492925
#rb carlmagnus.nordin
#rnx
#preflight 62fb3e5b4b04bcb92d500a68
[CL 21402146 by PJ Kack in ue5-main branch]
- Array.h is not needed by CompactBinarySerialization.h because the use of TArray is in a template function.
- SharedBuffer.h is not needed by DerivedData.h because its types are only used as return types or function parameters.
- FString and FCompositeBuffer are both declared in Fwd.h headers and do not need duplicate forward declarations.
#rb none
#rnx
#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 21391840 via CL 21394622 via CL 21395405
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v975-21357124)
[CL 21398955 by devin doucette in ue5-main branch]
Increase log verbosity back to Display for RemoveUnreachableObjects.
Remove unnecessary FGCScopeGuard from the TickAsyncThreadFromGameThread.
#jira UE-160904
#rb carlmagnus.nordin
#rnx
#preflight 62f9fb9de67510be05328c1f
[CL 21384525 by PJ Kack in ue5-main branch]
#jira UE-160873
[FYI] Francis.Hurteau
Original CL Desc
-----------------------------------------------------------------
Bulk reset loaders when saving actor files to avoid going through all imports of all packages once per saved actor.
Saves several seconds when saving lots of actor files.
#rb francis hurteau
#preflight 62f29af13b773d0416317135
#rnx
#ROBOMERGE-AUTHOR: jeanfrancois.dube
#ROBOMERGE-SOURCE: CL 21362405 via CL 21362415 via CL 21362429
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)
[CL 21365910 by jeanfrancois dube in ue5-main branch]
Make import store more reliable by not relying on Object->HasAnyFlags(RF_WasLoaded | RF_Public) filtering (We can take the hit of checking all unreachable objects on the ALT)
The logic can be forced to run on the GT again with s.RemoveUnreachableObjectsOnGT=1, which in debug and development builds enables extra verifications.
Return actual number of destroyed objects from FAsyncPurge::GetObjectsDestroyedSinceLastMarkPhase to make these logs correct:
LogGarbage: 2.118 ms for incrementally purging unreachable objects (FinishDestroyed: 16176, Destroyed: 1571 / 16176)
LogGarbage: 2.303 ms for incrementally purging unreachable objects (FinishDestroyed: 16176, Destroyed: 1971 / 16176)
#jira UE-159941
#rb carlmagnus.nordin
#rnx
#preflight 62f4f8a7ad3bd8ad64107073
[CL 21353595 by PJ Kack in ue5-main branch]