Commit Graph

4892 Commits

Author SHA1 Message Date
Steve Robb
e76e93f589 Added ReverseIterate() range adapter for reverse-iteration over ranges and some sample usage.
#rb devin.doucette
#jira none
#preflight 6409b5a56c1b9295b91700eb

[CL 24575641 by Steve Robb in ue5-main branch]
2023-03-09 09:59:47 -05:00
robert manuszewski
06bfb2e2d1 Deprecating UE_GC_TRACK_OBJ_AVAILABLE as it's not required. Simplified available UObject count tracking.
+ Removed GetObjectArrayNumAvailable which was a temp workaround

#preflight 64072ba8ba12ba64167e2bbf
#rb Johan.Torp

[CL 24575353 by robert manuszewski in ue5-main branch]
2023-03-09 09:41:31 -05:00
danny couture
76d5495490 Fix TSAN warning by making bHasFoundRequestedPackage a barrier for reading RequestedPackage
#rmx
#jira UE-175518
#rb CarlMagnus.Nordin
#preflight 6409e9757e654e2e651758c4

[CL 24575201 by danny couture in ue5-main branch]
2023-03-09 09:28:22 -05:00
joe pribele
71694cd010 lazyload support for zenloader
https://p4-swarm.epicgames.net/reviews/24507657
#preflight 640908e0aa00423335d51461

[CL 24568340 by joe pribele in ue5-main branch]
2023-03-08 17:29:42 -05:00
joe pribele
a7673567fe change to FObjectPropertyBase ParseObjectPropertyValue and FindImportedObject to take in a TObjectPtr<UObject> instead of UObject
added `SetObjectPtrPropertyValue(void* PropertyValueAddress, TObjectPtr<UObject> Value)`

this allows objects to be imported from text without resolving the object
#preflight 640900fa8832f48a4dc62ee4

[CL 24567650 by joe pribele in ue5-main branch]
2023-03-08 16:56:59 -05:00
robert millar
c3778410d3 Remove unnecessary access to linker annotation in UObject::AddReferencedObjects.
Lifetime of Linker should be set by Package's BeginDestroy.
Speeds up reference traversal in editor significantly. (Approx 25% decrease in bp reinstancing time in a large test case.)

#rb francis.hurteau
#preflight https://horde.devtools.epicgames.com/job/6408d217827cf9251b30fef5

[CL 24567057 by robert millar in ue5-main branch]
2023-03-08 16:30:33 -05:00
Matt Peters
93616bce4b Remove temporary path created whenever PackageName testcase runs.
#jira UE-179334
#rnx
#rb Danny.Couture
#preflight 6408abd48832f48a4da632ab

[CL 24561288 by Matt Peters in ue5-main branch]
2023-03-08 11:42:20 -05:00
paul chipchase
35134bea20 Saving packages with the package trailer stucture is no longer optional.
#rb PJ.Kack
#jira UE-179504
#rnx
#preflight 64089b4f8832f48a4d9db8b8

- Removed the config file option [Core.System]UsePackageTrailer so we no longer read it, the system is now on permantly
- FPackageTrailer::IsEnabled was the only place reading that config file option. To avoid compiler issues it will now always return true but is marked as deprecated so if any 3rd party has been using this (and I cannot think why they would) they will be alerted to the change.

[CL 24559907 by paul chipchase in ue5-main branch]
2023-03-08 10:22:31 -05:00
Joe Kirchoff
48ab1a4c72 ElementProp=ElementProp -> this lambda capture
#preflight 6407b6ef2559570cc7046546

[CL 24549231 by Joe Kirchoff in ue5-main branch]
2023-03-07 17:25:39 -05:00
Joe Kirchoff
109addf6a3 Cpp20 doesn't allow implicit capture of 'this' via '[=]'
#rb Francis.Hurteau
#preflight 64068c936e1dadfcda41bb82

[CL 24548358 by Joe Kirchoff in ue5-main branch]
2023-03-07 16:49:18 -05:00
carlmagnus nordin
034541cc85 ZenLoader in editor: Fixed issue where fully loaded packages could sometimes be reloaded after a GC
#preflight 64072e4d5515f4f57b30e045
#rnx
#rb pj.kack

[CL 24541924 by carlmagnus nordin in ue5-main branch]
2023-03-07 11:59:08 -05:00
Tim Smith
56ede56d0c PR #10110: Skip unnecessary iteration in GetMaxEnumValue (Contributed by KristofMorva)
#rb tim.smith
#preflight 6407353cba12ba641682321c

[CL 24538721 by Tim Smith in ue5-main branch]
2023-03-07 08:14:05 -05:00
Thomas Sarkanen
22efb36862 Added ElementType to TSubclassOf
#jira none
#rb Steve.Robb
#preflight 6405fe043206d45d200ce4e3

[CL 24522025 by Thomas Sarkanen in ue5-main branch]
2023-03-06 10:05:03 -05:00
robert manuszewski
efd74512e7 Adding the ability to force garbage collection if the engine is close to reaching UObject count limit
#tests Introduced 10K per frame UObject leak on the server and observed the new code behavior
#preflight 6401d90b5f3b94d29287b028

[CL 24508771 by robert manuszewski in ue5-main branch]
2023-03-03 17:35:14 -05:00
joe pribele
1849935546 changed MarkSearchableName to take a TObjectPtr to avoid resolving objects
https://p4-swarm.epicgames.net/reviews/24504202
#rb zousar.shaker
#preflight 64025f51d249add4a287924b

[CL 24507138 by joe pribele in ue5-main branch]
2023-03-03 16:27:25 -05:00
robert millar
47b7b927fa Speculative fix for object being removed from object hash during gc when it was never inserted.
#rb none

[CL 24493733 by robert millar in ue5-main branch]
2023-03-02 20:28:57 -05:00
joe pribele
a2965c26b6 support for TObjectPtr handling renames and GetTypeHash(TObjectPtr) no long has to resolve
GetTypeHash will create a packaged object ref for hashing if the class is defined as lazy load otherwise raw pointer is hashed
a map was added for moved objects and ObjectPathId can be a WeakObjectPtr
the map allows UObjects to be mapped back to packed object refs

#rb zousar.shaker

https://p4-swarm.epicgames.net/reviews/23356491
#preflight 63b5de641c35d1cbdbccecf7
#preflight 63b70406e26e31879b8aa6d3
code cleanup of ObjectHandle
made ObjectPathId to private
trimmed down the public API as much as possible

https://p4-swarm.epicgames.net/reviews/23658342

#rb zousar.shaker
#preflight 63c5c8922a6acaf1625fcf25

#[robomerge] FNMain
changed ObjectHandleTracking to use Functions instead of delegates as the performance of delegate is poor
https://p4-swarm.epicgames.net/reviews/23751084

#rb zousar.shaker
#preflight 63c9ae14d45afa2a8fc37d9d
changed FObjectPropertyBase::CheckValidObject to not resolve FObjectPtr fields to do validation
this is needed for feature work with validation of accessing asset pointers during serialization

https://p4-swarm.epicgames.net/reviews/23782822

#rb zousar.shaker
#[fyi] francis.hurteau
#preflight 63cf06efd83c1837b14e2aeb
fix for ObjectHandleTracking initialization. order of global variable initialization was problematic

move globals into a struct added a singleton for the struct to do lazy initialization

https://p4-swarm.epicgames.net/reviews/23877016
#rb zousar.shaker
#preflight 63d308a7f626715201408881
changed `FClassProperty::Identical` to use TObjectPtr to avoid causing unnecessary reads

#rb zousar.shaker
#preflight 63d804493656ea96dc13d296
changed FObjectProperty::SerializeItem to not cause object handle reads
#preflight 63d837e91f0aa8a2897477ee

#ushell-cherrypick of 23589497 by joe.pribele
#ushell-cherrypick of 23734208 by joe.pribele
#ushell-cherrypick of 23781117 by joe.pribele
#ushell-cherrypick of 23823212 by joe.pribele
#ushell-cherrypick of 23878025 by joe.pribele
#ushell-cherrypick of 23912609 by joe.pribele
#ushell-cherrypick of 23916733 by joe.pribele

[CL 24493715 by joe pribele in ue5-main branch]
2023-03-02 20:28:39 -05:00
Matt Peters
7bbd3c4bf0 Cooker,AssetRegistry,AssetManager: Remove deprecation handling for fields deprecated in 5.1 and earlier.
Make AssetManager required; engine startup gives a fatal error if AssetManager is not present.
#rn Minor, Cooking
#rb Zousar.Shaker
#preflight 63ffd322df66ed5fc11d963e

[CL 24493164 by Matt Peters in ue5-main branch]
2023-03-02 19:37:50 -05:00
matt peters
cf3134b007 GarbageCollection support for Cooker SoftGC: When collecting garbage for the cooker, if a package is referenced and will remain in memory, it needs to ensure that all of its public objects will also remain in memory so they can be exported if the package is ever saved.
[REVIEW] [at]graeme.thornton, [at]zousar.shaker
#preflight 6400fb415f3b94d2922766db
#rb Zousar.Shaker
#rnx
#localization none
#tests Fortnite cook, no runtime tests

[CL 24491745 by matt peters in ue5-main branch]
2023-03-02 18:03:52 -05:00
dmytro vovk
4a7ecdab44 UObject data layout optimization
#rb Steve.Robb Tim.Smith
#preflight 64009fc2c63aaf1e135a408c

[CL 24482248 by dmytro vovk in ue5-main branch]
2023-03-02 10:35:18 -05:00
steve robb
89dea5ccb8 Commented-out deprecatation of TScriptDelegate<FWeakObjectPtr> - will actually deprecate when it verified clean in other streams.
#rb andriy.tylychko
#preflight 63ff7397c63aaf1e13f7dbfc

[CL 24480681 by steve robb in ue5-main branch]
2023-03-02 08:44:04 -05:00
phillip kavan
39e895397a Additional fixes needed around deferring CDO exports on editor loads.
#rnx
#jira UE-175370, UE-178685, UE-178686, UE-178850
#rb Dan.OConnor
#preflight 63ff1444e32cdb7d9a9d8a47

[CL 24471344 by phillip kavan in ue5-main branch]
2023-03-01 16:53:14 -05:00
francis hurteau
63988aa391 Do not broadcast OnAsyncLoadingFlush delegate when they are done in the context of a sync load when using the zen loader
#rb Robert.Millar, Matt.Peters
#preflight 63ff94bcef1b24bf94a3cc39

[CL 24471295 by francis hurteau in ue5-main branch]
2023-03-01 16:51:52 -05:00
julien stjean
c846852672 Allow the loaded objects to query the linker to know if there package was relocated.
Added a warning when loading a level with some external object or actors that was relocated because it is not properly supported and it might cause some data stumping when saving the external objects and actors.

[REVIEW] [at]francis.hurteau
#preflight 63fe8a9dae54ee4ce9e685d8
#localization none

#tests Loaded some relocated level to validate the presence of the warning. Loaded some not relocated level to validate that the warning is not present. Run a preflight to validate that the change is not creating new cis issues.

[CL 24470081 by julien stjean in ue5-main branch]
2023-03-01 16:02:15 -05:00
francis hurteau
44122576f1 ZenLoader in Editor: Respect the LoadObject flags LOAD_Quiet and LOAD_Warn flags to silence warnings about missing packages in this scenario.
Always silence warning about missing package for script packages, just like GetPackageLinker() simply returns nullptr for PKG_InMemoryOnly.
submitted on behalf of [at]PJ.Kack

#rb Matt.Peters
#preflight 63fe8765ae54ee4ce9e59742

[CL 24469377 by francis hurteau in ue5-main branch]
2023-03-01 15:38:55 -05:00