Commit Graph

63 Commits

Author SHA1 Message Date
joe pribele
627db198b3 change to FObjectPtrProperty::Identical to avoid loading lazy loaded objects
https://p4-swarm.epicgames.net/reviews/25288349
#rb zousar.shaker
#preflight 64598eb5023fe5d3ad6df74d

[CL 25381637 by joe pribele in ue5-main branch]
2023-05-08 20:13:30 -04:00
kirill zorin
a58d329c4d Update TObjectPtr unit tests to assert against specific pointers (instead of all pointers) due to upcoming ARO changes.
#rb joe.pribele
#preflight 644ae1066638b912841d8bc1

[CL 25223794 by kirill zorin in ue5-main branch]
2023-04-27 17:20:13 -04:00
kirill zorin
448abc5841 Excluding relevant unit tests when mutable TObjectPtr containers are disabled
#rb zousar.shaker
#preflight 644a878c1c2846595c9d171a

[CL 25214999 by kirill zorin in ue5-main branch]
2023-04-27 11:06:53 -04:00
zousar shaker
30b1d43e1c Fix compile error caused by variable rename.
#rb none

[CL 25209517 by zousar shaker in ue5-main branch]
2023-04-26 19:53:27 -04:00
zousar shaker
fb1536bbe2 Ensure that ObjectHandles can compute hashes when referencing objects with an invalid index. This can happen during the early initialization phase of the engine before UObjectBaseInit|UObjectProcessRegistrations get called and register deferred objects.
#rb joe.pribele

[CL 25209509 by zousar shaker in ue5-main branch]
2023-04-26 19:52:36 -04:00
joe pribele
9f5fbe6b97 reducing the number of items in the array conversion tests as the 100k items was unnecessary
https://p4-swarm.epicgames.net/reviews/25165292

#rb devin.doucette
#preflight 6446f4a827014596f3952e7d

[CL 25172199 by joe pribele in ue5-main branch]
2023-04-24 17:46:08 -04:00
robert manuszewski
1e90746cb9 Redo 24852317:
Making sure non-nullable object properties have a default object value assigned to them in case of serialization errors
+ Adding backwards compatibility support to optional properties

#preflight 643015e17536ac6b78a4466e
#rb Maxime.Mercier, Steve.Robb

[CL 25021794 by robert manuszewski in ue5-main branch]
2023-04-13 03:41:03 -04:00
maxime mercier
70455f6f92 [Backout] - CL24868633
[FYI] Robert.Manuszewski
Original CL Desc
-----------------------------------------------------------------
Redo 24852317:

Making sure non-nullable object properties have a default object value assigned to them in case of serialization errors

#preflight 642549ebe11ce5214ff0a196
#rb Steve.Robb

[CL 24938058 by maxime mercier in ue5-main branch]
2023-04-05 17:59:13 -04:00
robert manuszewski
0730f2484b Redo 24852317:
Making sure non-nullable object properties have a default object value assigned to them in case of serialization errors

#preflight 642549ebe11ce5214ff0a196
#rb Steve.Robb

[CL 24869143 by robert manuszewski in ue5-main branch]
2023-03-31 06:43:52 -04:00
chris constantinescu
779b5425a3 Skip ReferenceCollectorTest
#rnx
#preflight skip

[CL 24857629 by chris constantinescu in ue5-main branch]
2023-03-30 14:17:38 -04:00
joe pribele
647d6cba00 fix for FReferenceCollectorArchive not handling unresolved FObjectPtr
stop gap fix to prevent crashing on unresolved pointers. matches the behaviour in reference collector where it skip unresolved references

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

#rb zousar.shaker
#preflight 6424ba91b01a25d6a003f150

[CL 24847291 by joe pribele in ue5-main branch]
2023-03-29 18:33:34 -04:00
joe pribele
4fe33224d4 fix for failing tests on console
#preflight 640a442270639dfc946b595c

[CL 24581784 by joe pribele in ue5-main branch]
2023-03-09 15:57:35 -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
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
joe pribele
db7a692cc7 second attempt to fix for performance problem when converting arrays of TObjectPtr to UObject*
changed the access tracking to a bulk operation api to allow for single calls instead of O(n) calls
#preflight 63fe5fc7ac6c61e2b553e9a9

[CL 24449378 by joe pribele in ue5-main branch]
2023-02-28 15:26:26 -05:00
joe pribele
6d1d492c29 [Backout] - CL24432584
#fyi joe.pribele
Original CL Desc
-----------------------------------------------------------------
fix for performance problem when converting arrays of TObjectPtr to UObject*
changed the access tracking to a bulk operation api to allow for single calls instead of O(n) calls
#preflight 63fd1de9f43e53f6811a37af

[CL 24436160 by joe pribele in ue5-main branch]
2023-02-27 19:54:50 -05:00
joe pribele
bcc680cfa3 fix for performance problem when converting arrays of TObjectPtr to UObject*
changed the access tracking to a bulk operation api to allow for single calls instead of O(n) calls
#preflight 63fd1de9f43e53f6811a37af

[CL 24432584 by joe pribele in ue5-main branch]
2023-02-27 16:37:45 -05:00
joe pribele
6c2bc21bac changed FObjectProperty::SerializeItem to not cause object handle reads
#preflight 63d837e91f0aa8a2897477ee

[CL 23916733 by joe pribele in ue5-main branch]
2023-01-30 16:52:28 -05:00
joe pribele
f162eecacd changed FClassProperty::Identical to use TObjectPtr to avoid causing unnecessary reads
#rb zousar.shaker
#preflight 63d804493656ea96dc13d296

[CL 23912609 by joe pribele in ue5-main branch]
2023-01-30 13:40:49 -05:00
steve robb
4900d8a570 Replaced TModels traits class with TModels_V.
#rb devin.doucette
#preflight 63d3aabf5354589b5cd2343b

[CL 23889491 by steve robb in ue5-main branch]
2023-01-27 14:51:16 -05:00
Per Larsson
705ce4b89b ArchiveStackTrace - fixed bug with missing callstack CRC and added basic low level tests
#rb trival
#jira UE-174727
#preflight 63cf8d9eef20a5272dfc4f01
#rnx

[CL 23827777 by Per Larsson in ue5-main branch]
2023-01-24 04:08:29 -05:00
joe pribele
39de1fde02 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

[CL 23823212 by joe pribele in ue5-main branch]
2023-01-23 17:33:10 -05:00
joe pribele
acd9d89146 added more tests to verify that read events are not fired for null checks or equality compares
https://p4-swarm.epicgames.net/reviews/23782690

#rb zousar.shaker
#preflight 63c9cd22977c626356c5c43f

[CL 23783249 by joe pribele in ue5-main branch]
2023-01-19 18:24:34 -05:00
joe pribele
e39d3ce7ef 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

[CL 23781117 by joe pribele in ue5-main branch]
2023-01-19 16:34:29 -05:00
joe pribele
eb2bb506e7 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

[CL 23734208 by joe pribele in ue5-main branch]
2023-01-16 19:20:47 -05:00