Commit Graph

663 Commits

Author SHA1 Message Date
Matt Peters
aae0fe62eb PackageResourceManager and PackagePaths
Create a new interface IPackageResourceManager that handles all attempts to load packages from storage. The default implementation passes through to loading from IFileManager. Future implementations will load from other services such as the EditorDomain and TargetDomain.
Add FPackagePath class that holds a LocalFilePath or LongPackageName, or a relative path to a package under a mounted content root (which can be converted into either the LocalFilePath or LongPackageName).
Modify LinkerLoad, BulkData, and AsyncLoader to use FPackagePath and IResourceManager.
Modify UPackage and FLinkerLoad to have a FPackagePath instead of a Filename.
#rb Paul.Chipchase, CarlMagnus.Nordin, Francis.Hurteau, Devin.Doucette
#rn Major Core

[CL 14814912 by Matt Peters in ue5-main branch]
2020-11-25 22:11:10 -04:00
paul chipchase
ab3002c705 CIS Fix: Change the ::Unlock method for BulkData2 to be const to match the original API.
- This stops code compiling fine in the editor then breaking when compiled for a different config.

#rb Martin.Ridgers
#fyi ben.ingram
#rnx

[CL 14812609 by paul chipchase in ue5-main branch]
2020-11-25 08:14:11 -04:00
Marc Audy
a7f9391231 Merge UE5/Release-Engine-Staging @ 14811410 to UE5/Main
This represents UE4/Main @ 14768117

For ReleaseObjectVersion.h
#lockdown Marcus.Wassmer

[CL 14811440 by Marc Audy in ue5-main branch]
2020-11-24 18:42:39 -04:00
Martin Ridgers
be972be826 Moved the Trace namespace into the UE namespace.
#rb jb
#rnx

[CL 14762673 by Martin Ridgers in ue5-main branch]
2020-11-17 06:54:28 -04:00
danny couture
3e4affd3e0 Allow async compilation to take place in Editor when starting in -game mode
- Allow multi-threaded bulkdata reading even when EDL is turned on

#rb Paul.Chipchase

[CL 14700046 by danny couture in ue5-main branch]
2020-11-10 11:31:12 -04:00
Marc Audy
68150e0be7 Merge UE5/Release-Engine-Staging to UE5/Main @ 14611496
This represents UE4/Main @ 14594913

[CL 14612291 by Marc Audy in ue5-main branch]
2020-10-29 13:38:15 -04:00
Martin Ridgers
889b2d647c Implementation of Trace's important events. Some events are only traced once. CPU scope names or log format strings for example. Those trace-once events get lost if a user then connects to trace late (or reconnects a second time). To combat that important events are traced to a separate stream internally so that they can be identified, cached off to one side, and resent when a connection is first established.
#rb johan.berg
#rnx

[CL 14572080 by Martin Ridgers in ue5-main branch]
2020-10-26 03:29:23 -04:00
Marc Audy
4c1bb11c29 Merge UE5/Release-Engine-Staging to UE5/Main @ 14548662
This represents UE4/Main @ 14525125 + cherrypicked fixes
#skipundocheck

[CL 14551026 by Marc Audy in ue5-main branch]
2020-10-22 19:19:16 -04:00
danny couture
0bc26cdebe Reduce memory usage by allowing meshdescription and rawmesh bulkdata to be cleaned up if possible
Also add protection so meshdescription can be read from multiple threads in editor

 - Loading Reverb's P_World with empty DDC
    - 319GB to 242GB peak private byte
    - 166GB to 80GB permanent memory usage after map load

#rb Richard.Talbot-Watkins, Matt.Peters, Paul.Chipchase

[CL 14544739 by danny couture in ue5-main branch]
2020-10-22 10:35:43 -04:00
Zousar Shaker
77d13185b7 Copying //UE5/Dev-Cooker@14539516 to Main (//UE5/Main)
[CL 14539954 by Zousar Shaker in ue5-main branch]
2020-10-21 17:56:05 -04:00
Marc Audy
50a3d7d368 Merge Release-Engine-Staging to Main @ CL# 14467590
This represents UE4/Main @ 14432125 + some cherrypick fixes

[CL 14468207 by Marc Audy in ue5-main branch]
2020-10-09 22:42:26 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
Marc Audy
7379fa99c5 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14229157
[CL 14233282 by Marc Audy in ue5-main branch]
2020-09-01 14:07:48 -04:00
Marc Audy
a7c9001a94 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14075166
#rb
#rnx

[CL 14075271 by Marc Audy in ue5-main branch]
2020-08-11 01:36:57 -04:00
Michal Valient
95d19f95b1 [REVERB] Merging //UE4/Private-Reverb-Development@13832732
#rb graham.wihlidal, rune.stubbe, brian.karis, andrew.lauritzen, jeff.farris

[CL 13834854 by Michal Valient in ue5-main branch]
2020-07-06 18:58:26 -04:00
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -04:00
Matt Kuhlenschmidt
603a4119c5 Fix HAL/PlatformFileManager.h non-portable casing CIS issues
#rb none

[CL 13214257 by Matt Kuhlenschmidt in ue5-main branch]
2020-05-06 17:58:18 -04:00
pj kack
8051b7262e AsyncLoading2: Don't assume all public exports always exists, some may have been filtered out by game type.
#rb none

#ROBOMERGE-SOURCE: CL 13177903 via CL 13177905 via CL 13177915 via CL 13177922
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v688-13145358)

[CL 13177925 by pj kack in Main branch]
2020-05-05 09:56:09 -04:00
dan phillips
c5c2f98ae9 Add some more logging when we call FAsyncLoadingThread::FlushLoading, the number of packages currently queued.
ben.woodhouse, serge.bernier

#ROBOMERGE-SOURCE: CL 13147014 via CL 13151189 via CL 13151212 via CL 13151226 via CL 13151259
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v688-13145358)

[CL 13151275 by dan phillips in Main branch]
2020-05-04 15:14:08 -04:00
pj kack
6a096853e0 AsyncLoading2: Replace GlobalImports with PublicExports.
Move RefCount tracking for imports from import object level to package level.
Only track currently loaded public exports, and their packages.
Replace import object weak pointers with public export raw pointers (uobject index).
Add new NotifyUnreachableObjects GC hook to get information about all objects to be destroyed.
When a public export is destroyed, clean up its raw pointer, and mark its package as not loaded.
When a package is destroyed, clean up its ref count tracking data.

#rb per.larsson


#ushell-cherrypick of 13114335 by PJ.Kack

#ROBOMERGE-SOURCE: CL 13147624 via CL 13147625 via CL 13147626 via CL 13147627
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v688-13145358)

[CL 13147628 by pj kack in Main branch]
2020-05-04 09:14:12 -04:00
johan torp
1e37b24a2a Added UPS package bit to future-proof package header format
#rb pj.kack

#ROBOMERGE-SOURCE: CL 13110281 via CL 13110283 via CL 13110284 via CL 13110286
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v686-13045012)

[CL 13110289 by johan torp in Main branch]
2020-04-30 03:06:26 -04:00
paul chipchase
c77f1b829c Fix lock condition check when reallocating BulkData.
The condition got incorrectly set when improving the error message.

#rb none
#jira UE-92399
#rnx


#ushell-cherrypick of 13030822 by paul.chipchase

#ROBOMERGE-SOURCE: CL 13030853 in //UE4/Release-4.25Plus/... via CL 13030867
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v683-13008971)

[CL 13030870 by paul chipchase in Main branch]
2020-04-24 04:03:16 -04:00
jeff newquist
5969077fc4 Added volatile keyword to WaitCompletionImpl to ensure compilers don't just optimize the check away.
#rb rune.stubbe
#jira none
#rnx

#ROBOMERGE-SOURCE: CL 13007135 in //UE4/Release-4.25/... via CL 13007150 via CL 13007159
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 13007166 by jeff newquist in Main branch]
2020-04-23 11:00:55 -04:00
jeff newquist
9fa4defb8c Fixed all size variants of IAsyncReadRequest so they correctly wait inside of WaitCompletionImpl for a callback to be completed before returning.
Normal read requests have this behavior, but size requests were not respecting this, which caused problems when the constructor launches a callback on another thread and then immediately calls WaitCompletion, such as in the callback lambda inside FFileCacheHandle::FFileCacheHandle / PushCompletedRequest.
#rb rune.stubbe
#jira none
#rnx

#ROBOMERGE-SOURCE: CL 12974187 in //UE4/Release-4.25/... via CL 12974195 via CL 12974203
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 12974208 by jeff newquist in Main branch]
2020-04-22 09:27:31 -04:00
CarlMagnus Nordin
7014cf2693 Compile fix
#rnx
#rb none

[CL 12973732 by CarlMagnus Nordin in Main branch]
2020-04-22 06:34:52 -04:00