Commit Graph

3142 Commits

Author SHA1 Message Date
Francis Hurteau
83febb3b86 Make sure the package localization cache is up to date before going in the GIsSavingPackage block in Save2
#rb Jamie.Dale
#jira UE-101268

[CL 14680029 by Francis Hurteau in ue5-main branch]
2020-11-06 15:51:51 -04:00
Francis Hurteau
e2d71cc438 Turning Save2 back off until some fixes are adressed.
#rb trivial
#fyi Zousar.Shaker

[CL 14677743 by Francis Hurteau in ue5-main branch]
2020-11-06 12:50:11 -04:00
Francis Hurteau
ff77076dfb Activate Save2 on cook by default
Activate Save2 everywhere on QAGame

#rb Matt.Peters, Zousar.Shaker

[CL 14664664 by Francis Hurteau in ue5-main branch]
2020-11-05 10:21:40 -04:00
Matt Peters
fb17a69e3d SavePackage private object errors: Identify private archetypes as the MostLikelyCulprit. Always print out the MostLikelyCulprit when running a commandlet rather than prompting.
#rb Zousar.Shaker
#rnx

[CL 14654440 by Matt Peters in ue5-main branch]
2020-11-04 13:35:45 -04:00
Francis Hurteau
5d34df4e57 Small Misc changes for Save2:
* Modified EnableNewSave cvar to use multiple values: 0: disabled, 1: enabled for cook, 2: enabled for uncooked, 3: enabled everywhere
* Added proper Prestream Packages support to Save2 since it isn't something that will be deprecated in the end
* Fixed new package not being saved properly when passing in a Base Object because they aren't properly marked as fully loaded in Save1
* Added a way for SaveConcurrent to use serial save with Save1 for now when not being passed in the SAVE_Concurrent flag
* Switched Save2 traces to use the SaveTimeChannel like Save1

#rb Matt.Peters

[CL 14652312 by Francis Hurteau in ue5-main branch]
2020-11-04 10:47:45 -04:00
daren cheng
4ec48c9820 Edigrate 14629275.
Capture callstack in widget invalidation for leaf widgets.

#jira UE-101687
#rb Patrick.Boutot Phillip.Kavan

[CL 14631340 by daren cheng in ue5-main branch]
2020-11-02 14:48:49 -04:00
Zousar Shaker
7b6269efb4 Enable package access tracking for use in cook-time dependency tracking.
#rb trivial

[CL 14629528 by Zousar Shaker in ue5-main branch]
2020-11-02 13:35:35 -04:00
Zousar Shaker
5fc6103944 New call-site and systematic upgrades needed in Main stream for Engine+ShooterGame scalar property upgrades to Wrapped Object Pointers.
#rb devin.doucette

[CL 14629475 by Zousar Shaker in ue5-main branch]
2020-11-02 13:28:33 -04:00
danny couture
2e353e5415 Improve output of UObject referenced by FGCObject
#rb Robert.Manuszewski

[CL 14628013 by danny couture in ue5-main branch]
2020-11-02 10:46:50 -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
Francis Hurteau
6edea269f6 Fix save discrepencies between save2 and save1 by allowing objects of transient classes
Add an additional check in the linker diff commandlet to check the old save algo against itself and catch potential save byproduct
Add a consistent vs algo linker diff mode for the cooker, consistent mode will detect save byproduct on the same save algorithm while algo mode will compare the two algorithm

#rb Devin.Doucette

[CL 14593292 by Francis Hurteau in ue5-main branch]
2020-10-27 17:50:10 -04:00
Jason Bestimt
334f99465e Fixes for HL2 compile.
- ObjectPtrTest was just checking for windows.  HL2 falls into the same category
- D3D12RHI.cs now has AGS properly so that D3D12RootSignature includes process correctly

#RB:none
#CodeReview: steve.smith

[CL 14587450 by Jason Bestimt in ue5-main branch]
2020-10-27 10:46:06 -04:00
devin doucette
e1f56b47b2 SharedBuffer: Rewrote SharedBuffer to make it easier to use and support immutable buffers
#jira none
#rb Zousar.Shaker, Paul.Chipchase
#rnx

[CL 14581997 by devin doucette in ue5-main branch]
2020-10-26 17:32:41 -04:00
Josh Adams
9095055d88 - Fixed up some known config file issues (no longer need to manually manage known config names in UObject::GetConfigName)
[CL 14573786 by Josh Adams in ue5-main branch]
2020-10-26 09:29:34 -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
Zousar Shaker
2ccd540c86 Avoid warning emitted from IncludeTool by keeping FObjectPtr a 'using' in all configurations.
#rb devin.doucette

[CL 14556317 by Zousar Shaker in ue5-main branch]
2020-10-23 11:12:09 -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
Uriel Doyon
86b86e6713 Fixed texture LODGroup settings not being correctly setup at engine initialization.
Enabled back checks on power of 2 textures when generating mips.
#rb josh.adams
#jyi rolando.caloca
#jira UE-101452

[CL 14550682 by Uriel Doyon in ue5-main branch]
2020-10-22 18:13:26 -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
danny couture
8f88f4a055 Add some useful Insights trace
#rb Francis.Hurteau

[CL 14487717 by danny couture in ue5-main branch]
2020-10-13 21:04:47 -04:00
Jon Nabozny
d803af861d Make sure that FastArrays using Struct Delta Serialization always resend unacknowledged properties.
This fixes a regression in behavior where structs may receive partial updates due to NAKs.

#jira UE-101061
#review-14481580 @Brian.Bekich
#rb Brian.Bekich

[CL 14486636 by Jon Nabozny in ue5-main branch]
2020-10-13 19:07:58 -04:00
Matt Peters
af0eb8bc7b GetPackageLinker - reduce complexity by removing deprecated code paths and merging duplicate blocks.
The new function is equivalent for all cases except the cases below (which were already deprecated):

Case) An InOuter was provided with no InLongPackageName, and the InOuter had no existing linker, and the InOuter is a Memory-only package, and a file exists on disk with the same path.
Change) The previous version would have called CreateLinker with the filename from disk; the new version will silently skip the CreateLinker call and return nullptr.

Case) Load_AllowDll package flag was set, and an InOuter was provided with no InLongPackageName, and the InOuter had no existing linker, and the file did not exist on disk.
Change) The previous version would have silently returned nullptr; the new version will issue a warning and return nullptr.

Case) Load_NoWarn or Load_Quiet was provided, and an InOuter was provided with no InLongPackageName, and the InOuter had no existing linker, and the file did not exist on disk.
Change) The previous version would have issued a warning and returned nullptr; the new version will silently return nullptr.

Case) An InOuter was provided, and an InLongPackageName was provided, and the InOuter had no existing linker, and no package existed for the (possibly redirected) InLongPackageName.
Change) The previous version would have created an unused package with name InLongPackageName, and then called CreateLinker on the InOuter; the new version will not create the unused package.

Case) An InOutLoadContext is provided that is not equal to FUObjectThreadContext::Get().GetSerializeContext() and we reach the call to CreateLinker.
Change) The previous version would have passed FUObjectThreadContext::Get().GetSerializeContext() to CreateLinker; the new version will pass InOutLoadContext.
Note) This case does not currently exist in any callsite in the Engine; they all pass nullptr or FUObjectThreadContext::Get().GetSerializeContext() for the InOutLoadContext.

Case) An InOuter was not provided, and a CompatabilityGuid was provided, and a package and linker already exists in memory for the given name, and the guid on disk for the packagename matches the CompatabilityGuid, but the guid from the linker in memory does not.
Change) The previous version would have returned nullptr; the new version will ignore the mismatch and return the linker in memory.

#rb Francis.Hurteau, Robert.Manuszewski
#rnx

[CL 14480063 by Matt Peters in ue5-main branch]
2020-10-13 11:09:21 -04:00
Josh Adams
e2e2304775 - Cleaned up the other platform configs and cvars stuff into its own define (ALLOW_OTHER_PLATFORM_CONFIG)
#fyi andrew.davidson

[CL 14479646 by Josh Adams in ue5-main branch]
2020-10-13 10:31:57 -04:00
Josh Adams
599aa317c2 - ConfigCacheIni overhaul to allow for multiple platform's "GConfigs" at once.
- FConfigCacheIni::ForPlatform(PlatformName) is the way to get the in-memory (won't write to disk) ini system for a different platform. Can pass it GEngineIni, etc for the filename (  FConfigCacheIni::ForPlatform("IOS")->GetString(....., GEngineIni);  )
- GEngineIni and some others (the "stadnard, runtime ini files") are no longer filenames, but identifiers that will work with other platform Ini systems
- Modified "GETINI" console command to allow for a <Platform>@ prefix, to get another platform's ini value (using new multi-platform config) (GetIni [Platform@]IniFile:Section.SubSection Key)
#rb rolando.caloca
#fyi chris.gagnon,Sebastian.Nordgren

[CL 14473359 by Josh Adams in ue5-main branch]
2020-10-12 13:54:50 -04:00