Commit Graph

3692 Commits

Author SHA1 Message Date
pj kack
59b93a60d9 AsyncLoading2: Fix infinite wait for io issue caused by decreasing PendingIoRequestsCounter too late in cl 22264831.
Improve handling of ProcessPendingCDOs by relying on the SyncLoadContext instead of a combination of PendingIoRequestsCounter and ReferencerRequestId.
Only create CDOs for packages in the current sync load context when there is one.
Add and release barriers for all export bundle nodes, not only the first one.

#rb carlmagnus.nordin
#preflight 636a5903f56cab38c71d778b

[CL 23031398 by pj kack in ue5-main branch]
2022-11-08 12:28:31 -05:00
bryan sefcik
45e50a215f Updated UObject::SaveConfig to not flush all the configs but instead only flush the updated config.
Before: 837ms
After: 46ms

#rb josh.adams
#jira
#preflight 63653a331052c15f131063bf

[CL 22998041 by bryan sefcik in ue5-main branch]
2022-11-04 19:05:59 -04:00
danny couture
ac88067879 Fix missing IsRoutingPostload in some zenloader code-path leading to anim sequence to reset its guid and cause recompilation
#rnx
#rb CarlMagnus.Nordin
#preflight 63650967de2c4dbb5d9c8615

[CL 22985315 by danny couture in ue5-main branch]
2022-11-04 08:51:55 -04:00
bryan sefcik
e0779d1a3b Added FindOrLoadLocalIniFile helper function that looks in the cache before trying to load the ini file.
CreateProfile:
Before: 2387.2ms
After: 9.68ms

LoadConfig:
Before: 2595ms
After: 541ms

U******RuntimeSettings::PostInitProperties:
Before: 27ms
After: 0.47ms

InitializeSerializationOptionsFromIni:
Before: 66ms
After: 0.86ms

#rb josh.adams
#jira
#preflight 63640d965c51adc95f9953e1

[CL 22977330 by bryan sefcik in ue5-main branch]
2022-11-03 23:46:54 -04:00
henrik karlsson
e76a55a7da BulkDataStreaming.cpp missing include Package.h
#rb none
#preflight skipped
#jira none

[CL 22970909 by henrik karlsson in ue5-main branch]
2022-11-03 19:26:00 -04:00
bob tellez
147734235e #UE Do not cook editor only soft object paths. Fix a regression that came from serializing soft object paths before processing the properties that reference them
[FYI] Francis.Hurteau

[CL 22968383 by bob tellez in ue5-main branch]
2022-11-03 17:59:51 -04:00
henrik karlsson
b985fbd1b1 Removed lots of includes in high traffic headers in order to reduce compile times. Headers are still included if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_2 is set to 1
List of highlights
* PlayerController - Removed ForceFeedback and and OnlineReplStructs
* Class - Removed Package.h
* World - Pawn, Blueprint and GameInstance
* Actor - CoreNet, HitResult and ActorDatalayer
* EngineBaseTypes - TaskGraphInterface
* AssetManager - AssetData
* Scene/Child/ActorComponent - CoreNet
* AnimInstance - AttributesRuntime, Skeleton, AnimCurveTypes, AnimMontage, BonePose
* BulkData - IoDispatcher
* AssetData - IoDispatcher, LinkerLoad
* SecureHash - AsyncWork
* CanvasTypes - UnrealEngine, StaticMeshResources
* IpAddress - AsyncWork, Stats

#preflight 6363717ece676ae8688f5d8c
#rb none

[CL 22968258 by henrik karlsson in ue5-main branch]
2022-11-03 17:56:44 -04:00
joe pribele
50cfdde358 [CoreUObject] changed to check for null in TObjectPtr.GetPathName()
#preflight 63643317de2c4dbb5d47122c

[CL 22968073 by joe pribele in ue5-main branch]
2022-11-03 17:47:24 -04:00
paul chipchase
181c7ea9ec Using undo after landscape editing should no longer cause a mismatch in heightmap data being stored, preventing the asset from being saved.
#rb Per.Larsson
#jira UE-169114, FORT-533633
#preflight 6363a60b876630122aea6b16

- I needed to remove the 5.0 optimization where we tried to avoid loading the payload into memory so that it could be serialized to the undo stack. This logic would not work if the package were saved later and we were therefor unable to access the payload on disk.
- The landscape bug was not caused by this (as saving landscape actors wipes the undo stack) but caused by the inability to unload the payload properly. If an undo restore was run from a state where the payload was in memory to a state where the payload was not in memory, then that payload would not unload properly.So the bulkdata would end up with members for one payload, but the data of a different payload.

- We now always load the payload into memory if it is not there already and decompress into shared buffer format. In theory we could support two paths here one for FSharedBuffer when the payload is in memory and one for FCompressedBuffer when it is loaded from disk but it doesn't seem worth the effort. If it comes up as a problem in a profile then we'd be better off trying to add a way to create a non-compressed FCompressedBuffer from a FIoHash/FSharedBuffer pair rather than rehashing the FSharedBuffer.
- This also helps make the code clearer as we can remove the bPayloadInArchive value that we used to save.
- Once the undo stack transaction is completed we will try to unload the payload if we can. This is done if we are saving or loading and will only unload the payload if we know we can safely load from disk. Which means that the payload has not been edited from the version on disk and that the owning package has not been re-saved. This is to conform to the editor bulkdata policy that we should evict the payload from memory when ever possible to keep over all memory use down. It will however mean that repeated editing of an asset will cause repeated disk loads. This logic could be changed if it is profiled as an issue.

[CL 22959256 by paul chipchase in ue5-main branch]
2022-11-03 14:24:45 -04:00
henrik karlsson
fa90b399a4 Added includes for future change. This changelist only contains added #include and a couple of empty placeholder files
Tested compiling fortnite, unrealeditor, lyra, qagame with non-unity/pch

#preflight 63635997876630122adeab9f
#rb none

[CL 22958990 by henrik karlsson in ue5-main branch]
2022-11-03 14:18:47 -04:00
scott nelson
8a674181f8 Add Ability to provide Default PackageFlags to each mount point during CreatePackage
#rb Francis.Hurteau
#preflight 6361809f1a32af63a89cb229

[CL 22918043 by scott nelson in ue5-main branch]
2022-11-02 11:48:28 -04:00
Helge Mathee
747879c204 Core: Array Text import not working for ()
#rb Steve.Robb
#jira UE-134101
#preflight https://horde.devtools.epicgames.com/job/63613e16ef6d25c674605ec6

[CL 22908318 by Helge Mathee in ue5-main branch]
2022-11-02 06:16:07 -04:00
jamie dale
b7c361c823 Fixed FPropertyLocalizationDataGatherer failing to gather text from external actor packages
It wasn't finding any root objects in the actor package due to the "Object->GetOuter() == Package" test failing for external actors.

#jira
#preflight 63612013e271e75dea8c13e2
[FYI] Daniel.Lamb
#rb Rex.Hill
#rnx

[CL 22888819 by jamie dale in ue5-main branch]
2022-11-01 15:15:27 -04:00
henrik karlsson
8f895fef35 Added includes needed after removing includes in headers
#preflight 6360b63e41625be270a6e464
#rb none

[CL 22888775 by henrik karlsson in ue5-main branch]
2022-11-01 15:14:15 -04:00
robert manuszewski
6dc32674ac Adding FPackageName::GetContentPathForPackageRoot to be able to get the filesystem path (e.g. D:/Project/Engine/Content) of a given package root (e.g. /Engine/)
#rb Steve.Robb
#preflight 6360c64663608aee36d1a954

[CL 22888595 by robert manuszewski in ue5-main branch]
2022-11-01 15:08:10 -04:00
edwin maynard
2f2e641dd0 [Backout] - CL22878456 (Backed out due to CIS issues)
[FYI] Robert.Manuszewski
Original CL Desc
-----------------------------------------------------------------
Adding FPackageName::GetContentPathForPackageRoot to be able to get the filesystem path (e.g. D:/Project/Engine/Content) of a given package root (e.g. /Engine/)

#rb Steve.Robb
#preflight 6360c64663608aee36d1a954

[CL 22888588 by edwin maynard in ue5-main branch]
2022-11-01 15:08:01 -04:00
robert manuszewski
263c23a1dc Adding FPackageName::GetContentPathForPackageRoot to be able to get the filesystem path (e.g. D:/Project/Engine/Content) of a given package root (e.g. /Engine/)
#rb Steve.Robb
#preflight 6360c64663608aee36d1a954

[CL 22888560 by robert manuszewski in ue5-main branch]
2022-11-01 15:07:16 -04:00
henrik karlsson
48faa4b230 [CoreUObject]
* StructOnScope - Removed include of Package
* GeneratedCppInclude - Removed include of Package

Both of these files include Class.h which in turn include Package so no need to add backwards compatibility. Will add backwards compatibility in Class.h when Package.h is removed there (require a bit more work)

#preflight skipped
#rb none

[CL 22888526 by henrik karlsson in ue5-main branch]
2022-11-01 15:06:31 -04:00
Alexis Matte
2a9bfb7eef Fix crash when serializing(saving) FSkeletalMeshImportData cause by code not returning the proper UE version for the bulk data.
#jira UE-167443 , UE-167493
#rb jeanluc.corenthin
#rnx
#preflight 63612bde2b5338aceb3ddd56

[CL 22883134 by Alexis Matte in ue5-main branch]
2022-11-01 11:05:02 -04:00
andrew scheidecker
a8a6f870ca Add a few missing override specifiers and remove a vestigial method that no longer overrides anything.
#preflight 635fadcc3c0af539fdde0caa

[CL 22864389 by andrew scheidecker in ue5-main branch]
2022-10-31 11:43:34 -04:00
CarlMagnus Nordin
b48cb7ed39 AssetLoadingInsights:
Fixed recursive post loads not being tracked properly
Fixed time calculations for recursive scopes
Added support for load time tracing in the editor
Added time selection filtering to the requests tab
#rb ionut.matasaru
#preflight 635fa5cd1803be35c7ff3bc8

[CL 22858164 by CarlMagnus Nordin in ue5-main branch]
2022-10-31 07:09:17 -04:00
josh may
60aa5758b0 Ensure bCooked doesn't get mistakenly unset during reference collection in cooked versions of the editor.
#preflight 635c47003c0af539fd650f34
#rb jamie.dale, rex.hill

[CL 22850789 by josh may in ue5-main branch]
2022-10-29 03:00:34 -04:00
francis hurteau
2419ef2300 Cap the number of reference gathering when printing invalid references during save since they can be pathologically expensive
#rb Matt.Peters
#preflight 635c3504052cb0bae6b189fd

[CL 22850501 by francis hurteau in ue5-main branch]
2022-10-29 01:53:18 -04:00
justin marcus
7bf1ba442a [Backout] - CL22822857
Change WebRemoteControlInternalUtils.cpp to use WIDECHAR
[FYI] aurel.cordonnier
Original CL Desc
-----------------------------------------------------------------
[Backout] - CL22811007
[FYI] Justin.Marcus
Original CL Desc
-----------------------------------------------------------------
Fix JSON Reader UTF8 parsing.
Add ability to use JSON Reader with a string view.
Add explicit UTF8 smoke tests.
Change uses of TJsonReader<UCS2CHAR> to TJsonReader<WIDECHAR> since TStringBuilder<UCS2CHAR> doesn't compile.
Change uses of TJsonReader<char> to TJsonReader<UTF8CHAR>.  There isn't much use for TJsonReader<char> as ASCII is a subset of UTF8 so TJsonReader<UTF8CHAR> is always preferable.
#rb [at]Steve.Robb
#preflight https://horde.devtools.epicgames.com/job/635980ead86d91ca2cfabc77

[CL 22835909 by justin marcus in ue5-main branch]
2022-10-28 15:39:05 -04:00
aurel cordonnier
c34355bbdf [Backout] - CL22811007
[FYI] Justin.Marcus
Original CL Desc
-----------------------------------------------------------------
Fix JSON Reader UTF8 parsing.
Add ability to use JSON Reader with a string view.
Add explicit UTF8 smoke tests.
Change uses of TJsonReader<UCS2CHAR> to TJsonReader<WIDECHAR> since TStringBuilder<UCS2CHAR> doesn't compile.
Change uses of TJsonReader<char> to TJsonReader<UTF8CHAR>.  There isn't much use for TJsonReader<char> as ASCII is a subset of UTF8 so TJsonReader<UTF8CHAR> is always preferable.
#rb [at]Steve.Robb
#preflight https://horde.devtools.epicgames.com/job/635980ead86d91ca2cfabc77

[CL 22823854 by aurel cordonnier in ue5-main branch]
2022-10-28 01:03:42 -04:00