Commit Graph

833 Commits

Author SHA1 Message Date
Francis Hurteau
3da268ce6d Modified FlushTree to FlushRequest and being a simple wrapper around a package loading request
Automatically propagate explicit package load request association to a package dependencies which allow flush request to process only related packages while skipping others
This should also allow FlushAsyncLoading to be re-entrant down the line
Suppress the transaction system while ticking async loading in the main thread
Added an editor config to enabled the async loading thread. Currently non functional

#rb CarlMagnus.Nordin
#preflight 623e0081a67e4e1ab70598d7

[CL 19626072 by Francis Hurteau in ue5-main branch]
2022-04-05 11:29:57 -04:00
jamie dale
1fe23a7057 Fix-up FSoftObjectPath/FSoftObjectPtr during load of an instanced package
#jira UE-144884
#preflight 624b2c10dc6183e3f546ed00
#rb Francis.Hurteau, CarlMagnus.Nordin
#rnx

#ROBOMERGE-AUTHOR: jamie.dale
#ROBOMERGE-SOURCE: CL 19613732 via CL 19614798 via CL 19614837 via CL 19614865
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v938-19570697)

[CL 19616233 by jamie dale in ue5-main branch]
2022-04-04 18:21:24 -04:00
Dan Thompson
cd73707429 Update package writers to gather package hashes internally, then have CookByTheBookFinished copy them to asset package datas.
Add iostore chunk hashes to the asset registry during cook.
Remove old hashing code, which was extensive. This moves the async writes in to UE::Task from the old AsyncWorkSequence().
#rb Matt.Peters
#rb Jeff.Roberts
#preflight 624b24a5f73c316f68303946

[CL 19611812 by Dan Thompson in ue5-main branch]
2022-04-04 13:26:27 -04:00
johan torp
5c2624134d Optimize AssetTools AdvancedCopyPackages and add batch versions of ForceReplaceReferences and ConsolidateObjects
331s -> 0.28s to consolidate objects when cloning a small shooting range map

#rb Robert.Manuszewski,Chris.Gagnon,Francis.Hurteau,Jamie.Dale,JeanLuc.Corenthin,Phillip.Kavan

#ROBOMERGE-AUTHOR: johan.torp
#ROBOMERGE-SOURCE: CL 19507095 via CL 19507103 via CL 19507108 via CL 19507110
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v937-19513599)

[CL 19514683 by johan torp in ue5-main branch]
2022-03-25 12:41:16 -04:00
Matt Peters
99f564f1cf UnversionedPropertySerialization: declare an FSerializedPropertyScope when load-serializing in the editor, so that EditorDomain loads will correctly notice SoftObjectPath properties that are marked untracked.
#rb Johan.Torp
#rnx
#preflight 6238782810251d53d55e1d2e

[CL 19451055 by Matt Peters in ue5-main branch]
2022-03-21 09:11:37 -04:00
matt peters
56ea8044e7 UnversionedPropertySerialization: Declare an FSerializedPropertyScope when save-serializing, to match the VersionedProperty case. This scope is needed when loading and saving in the editor so that FSoftObjectPath::PostLoad or FPackageHarvester::operator<<(FSoftObjectPath) can detect whether an untracked Property is on the serialize stack and mark the property as editor-only if so.
#preflight 623385fff101b8d0afa76c71
#jira UE-146434
#rb Francis.Hurteau, Johan.Torp
#rnx
#lockdown Simon.Tourangeau

#ROBOMERGE-AUTHOR: matt.peters
#ROBOMERGE-SOURCE: CL 19437812 in //UE5/Release-5.0/... via CL 19439211
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v930-19419903)

[CL 19442453 by matt peters in ue5-main branch]
2022-03-18 18:52:18 -04:00
Devin Doucette
ddff894d31 DerivedData: Added the framework for serializing derived data references to cooked packages
#preflight 6234fe538a298a014fc20227
#rb Matt.Peters
#rnx

[CL 19442331 by Devin Doucette in ue5-main branch]
2022-03-18 18:39:18 -04:00
steve robb
87fb605867 TCHAR array init fixes for UTF-8 mode.
#rb devin.doucette
#preflight 6231e536e2541b4ff3af6cd2

#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 19405353 via CL 19408955 via CL 19419621 via CL 19419706
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v930-19419903)

[CL 19420584 by steve robb in ue5-main branch]
2022-03-17 10:29:53 -04:00
Devin Doucette
01274b17c8 Logging: Added a dedicated master thread for logging
#preflight 622fb0eca709bd110fea0da5
#rb Zousar.Shaker

[CL 19387540 by Devin Doucette in ue5-main branch]
2022-03-15 12:31:55 -04:00
steve robb
0e1e8c13fb Removal of unused CopyFormatted*() and *_TextOnly() functions.
#rb graeme.thornton
#preflight 6229fae77341dd1ecf70f0a0

#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 19335163 via CL 19339363 via CL 19345711 via CL 19350978 via CL 19351029
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19351730 by steve robb in ue5-main branch]
2022-03-11 04:01:36 -05:00
marc audy
51b9541255 Moving IsRoutingPostLoad to a tighter scope to prevent crashes when loading packages with non-native objects
#rb trivial
#preflight none


#ushell-cherrypick of 19339131 by robert.manuszewski

#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 19317027 via CL 19345332 via CL 19350794 via CL 19350872
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19351728 by marc audy in ue5-main branch]
2022-03-11 04:01:16 -05:00
pj kack
0988dfc4fb AsyncLoading2: Fix crash in seamless server travel.
When reloading an existing UPackage make sure to always set all serialized package flags again since they may have been cleared since the last load.
One example is UWorld::FinishDestroy that may clear PKG_ContainsMap on its world UPackage.

#jira UE-135502
#rb carlmagnus.nordin,per.larsson
#rnx
#preflight 62275410e83598518f2a720f

#ROBOMERGE-AUTHOR: pj.kack
#ROBOMERGE-SOURCE: CL 19302798 in //UE5/Release-5.0/... via CL 19303924
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19346856 by pj kack in ue5-main branch]
2022-03-10 20:49:12 -05:00
andrew rodham
355efbd7ef Fix for mismatched weakptr serialization between FJsonArchiveOutputFormatter and FJsonArchiveInputFormatter.
#rb Steve.Robb
#preflight 621da3fdca28c556340cc56d

#ROBOMERGE-AUTHOR: andrew.rodham
#ROBOMERGE-SOURCE: CL 19203318 via CL 19207261 via CL 19213316 via CL 19213622 via CL 19213693
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19225224 by andrew rodham in ue5-main branch]
2022-03-02 13:57:41 -05:00
danny couture
5b1b53c0b3 Avoid stalling for long periods of time during map load and PIE
- Remove slowtask throttling during load as it could prevent meaningful top level slowtask to be created
  - Fix delayed slowtask that was never showing when children were added before the delay
  - Add missing slowtask handling on long gamethread functions to improve UI responsiveness
  - Add PIE preparation slowtask scopes
  - Test to make sure the total amount of time spent in all slowtask functions is reasonable (1s on a 2 minute map load)

#rb Jason.Nadro
#preflight 621e1ccf3e14f0c7e53fe337

[CL 19197334 by danny couture in ue5-main branch]
2022-03-01 09:02:24 -05:00
robert millar
5811293e2a Add TargetRules.bFNameOutlineNumber as an option to reduce the size of FName by 4 bytes by storing the number in the name table.
Adds a define UE_FNAME_OUTLINE_NUMBER.
Removes of FName, FMinimalName from memory image support. Adds of FMemoryImageName.
Removal of FMinimalName operator&lt;&lt;, all fields made private, size made variable.
All fields of FScriptName made private.
Added console commands for dumping numbered/unnumbered names and stats.

#rb johan.torp

#ROBOMERGE-OWNER: robert.millar
#ROBOMERGE-AUTHOR: robert.millar
#ROBOMERGE-SOURCE: CL 19058026 via CL 19058611 via CL 19058656 via CL 19061727 via CL 19061740 via CL 19064047
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v918-19018356)

[CL 19066701 by robert millar in ue5-main branch]
2022-02-21 02:35:48 -05:00
robert manuszewski
c36e03d5e3 do clause support
#rb Andrew.Scheidecker
#preflight 620f3a108863746a104d6c36

#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 19047989 via CL 19048186 via CL 19048197 via CL 19048203 via CL 19049414
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v918-19018356)

[CL 19065767 by robert manuszewski in ue5-main branch]
2022-02-21 00:33:13 -05:00
Matt Peters
7645a7dd38 OnEndLoadPackage: Change the arguments to a context object to avoid future need to change the function prototype. Add RecursiveDepth and bSynchronous arguments so that callers can take action only on the top-level EndLoadPackage if necessary.
BulkDataRegistry: Wait until the top-level EndLoadPackage, and wait until after OnEnginePostInit, before deleting bulkdatasize records. Deleting them sooner can make them be deleted before they're used by the EditorDomain if the EditorDomain's TrySavePackage triggers package loading and a recursive OnEndLoadPackage.
#rb Zousar.Shaker
#rnx
#preflight 620f00e7e8554a6f64f74d5a

[CL 19046732 by Matt Peters in ue5-main branch]
2022-02-17 22:02:59 -05:00
Matt Peters
6dcd01dd70 EditorBulkData: Add an Owner argument for UpdatePayload, and supply it from FTextureSource, so we can know ahead of the save which package an in-memory bulk data will be saved under.
#rb Paul.Chipchase
#rnx
#preflight 620efcb4c602491fb81538f8

[CL 19046506 by Matt Peters in ue5-main branch]
2022-02-17 21:12:20 -05:00
jeanfrancois dube
0d527b196f Added support for override package in package text serialization:
- Text format now includes import and export tables instead of discovering import while serializating exports. This is required to have enough information about objects with an override package that have their Outer in another package.
- UObject Json formatters now export import/export indices instead of relying on the objects full paths, which index into the exported import/export tables.
- Merged code to serialize UObject* and FObjectPtr in Json formatters to avoid code duplication.

#rb francis.hurteau, steve.robb
#preflight 61fd34030a43b689e1750d28
#rnx

#ROBOMERGE-AUTHOR: jeanfrancois.dube
#ROBOMERGE-SOURCE: CL 18978952 via CL 18980785 via CL 18981531 via CL 18981661 via CL 18992713 via CL 18993052
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18997360 by jeanfrancois dube in ue5-main branch]
2022-02-15 11:35:28 -05:00
carlmagnus nordin
3e2f2637c9 AsyncLoading2: Fixed Async and AsyncLoading flags sometimes not being cleared
#rnx
#rb pj.kack

#ROBOMERGE-AUTHOR: carlmagnus.nordin
#ROBOMERGE-SOURCE: CL 18933303 via CL 18933306 via CL 18933307 via CL 18933723 via CL 18933770
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v916-18915374)

[CL 18933772 by carlmagnus nordin in ue5-main branch]
2022-02-10 05:06:30 -05:00
jamie dale
70f2cb952f Consider all properties within an editor-only class to be editor-only when gathering localization
#jira UE-141785
#preflight 61fc66f2dc0b3ecbecb76bb3
#rb Nick.Darnell
#lockdown jeanmichel.dignard

#ROBOMERGE-AUTHOR: jamie.dale
#ROBOMERGE-SOURCE: CL 18903352 in //UE5/Release-5.0/... via CL 18903564 via CL 18903986
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v912-18901109)

[CL 18904017 by jamie dale in ue5-main branch]
2022-02-08 12:12:30 -05:00
julien stjean
1f961a0b33 Fixed a crash caused by a implicit conversion of a FSharedBuffer to a FIoHash.
#jira UE-141087
#preflight 61fb26515e35b9215b060899

#ROBOMERGE-AUTHOR: julien.stjean
#ROBOMERGE-SOURCE: CL 18838290 in //UE5/Release-5.0/... via CL 18838292 via CL 18838386
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18838404 by julien stjean in ue5-main branch]
2022-02-02 20:40:58 -05:00
paul chipchase
05d81ee7f3 EditorBulkData and the virtualization system now use FIoHash directly and FPayloadId is removed
#rb Per.Larsson, Devin.Doucette
#jira UE-133497
#rnx
#preflight 61f835491c5ac5523462810a

- A lot of files have been touched but most of this is changing FPayload::IsValid to !FIoHash::IsZero, the main changes are in EditorBulkData/EditorBulkDataTests
- The only difference between FPayloadId and FIoHash is that the former considered the hash of an invalid or empty buffer to be 'invalid' too where as FIoHash would return a valid hash
-- To keep behaviour the same, we only hash payloads in EditorBulkData using a utility method ::HashBuffer which will not hash empty or invalid payloads and return a default FIoHash instead.
-- Unit tests have been extended to prove that the behaviour has not changed.

#ROBOMERGE-AUTHOR: paul.chipchase
#ROBOMERGE-SOURCE: CL 18806362 in //UE5/Release-5.0/... via CL 18808527 via CL 18821790
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18822154 by paul chipchase in ue5-main branch]
2022-02-02 02:21:24 -05:00
robert manuszewski
97b5e82c0b Deprecating EInternalObjectFlags::PendingKill. Making sure iterators use the appropriate flags based on the current state of PendingKill being enabled or not.
#preflight 61f8f33d537702981c352c7a
#rb Steve.Robb

#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 18806353 in //UE5/Release-5.0/... via CL 18808526 via CL 18821789
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18822151 by robert manuszewski in ue5-main branch]
2022-02-02 02:21:12 -05:00
paul chipchase
2af0d61698 Fix NSLOCTEXT being split over multiple lines
#rb trivial
#rnx
#preflight 61f43acf801201ab38924266

#ROBOMERGE-AUTHOR: paul.chipchase
#ROBOMERGE-SOURCE: CL 18776018 in //UE5/Release-5.0/... via CL 18777341 via CL 18777587
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18777599 by paul chipchase in ue5-main branch]
2022-01-28 15:26:27 -05:00