Commit Graph

3142 Commits

Author SHA1 Message Date
marc audy 357f07fd39 Add FindMetaData function that returns a const FString* to the metadata value for the given key rather than having to do Has then Get or assume value does not exist based on empty string from Get.
Added Move versions of UMetadata::SetObjectValues and FField::SetMetaData
#jira

#ROBOMERGE-SOURCE: CL 13136175 via CL 13136187 via CL 13136221
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v687-13115495)

[CL 13136264 by marc audy in Main branch]
2020-04-30 21:22:33 -04:00
marc audy a13d749719 Don't allocate and free memory constantly for the PostInitProperties routing validation
#rb Dan.OConnor
#jira
#rnx

#ROBOMERGE-SOURCE: CL 13131815 via CL 13131823 via CL 13131860
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v687-13115495)

[CL 13131883 by marc audy in Main branch]
2020-04-30 18:03:12 -04:00
stefan boberg b59f4158ed Added #include of GarbageCollection.h to GarbageCollectionVerification.h to ensure we compile consistently in non-unity builds
#rb none
#ushell-cherrypick of 13063827 by Stefan.Boberg

#ROBOMERGE-SOURCE: CL 13131504 via CL 13131505 via CL 13131510 via CL 13131515
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v687-13115495)

[CL 13131522 by stefan boberg in Main branch]
2020-04-30 17:29:56 -04:00
stefan boberg 153408b6f2 Compile out Garbage Collection, Core Redirect and SavePackage related code in UHT since they contribute greatly to the overall build time. Brings down a clean build of QAGame client win64 to under three minutes from just under four minutes
#rb steve.robb, robert.manuszewski
#ushell-cherrypick of 13054870 by Stefan.Boberg

#ROBOMERGE-SOURCE: CL 13131491 via CL 13131495 via CL 13131499 via CL 13131503
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v687-13115495)

[CL 13131508 by stefan boberg in Main branch]
2020-04-30 17:28:52 -04:00
robert manuszewski d85828e3f2 Temporarily disabling GC optimization because some script generated classes pretend to be native classes
#rb Jamie.Dale

#ROBOMERGE-SOURCE: CL 13127258 via CL 13127341 via CL 13127363 via CL 13127393
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v687-13115495)

[CL 13127436 by robert manuszewski in Main branch]
2020-04-30 15:19:28 -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
danny couture c73c5605ad Optimize AssetRegistry Scanning at editor startup
- Restore asset registry cache in editor (disabled in CL 4563987) but provide fix for invalid results
  - Make the cache initialization lazy so we can activate it without performance penalty
  - Provide mecanism in UObjectHash to know when registered classes have changed
  - Activate the cache permanently in editor since it now has a mecanism to know when it needs to be recomputed

  - 1.9s -> 349 ms for time spent in UpdateTemporaryCaches during startup
  - 2.2s -> 1.4s for maximum UFortUnrealEdEngine::Tick time after asset scanning

#rnx
#tests was run with extra validation code comparing cached content against always recomputed original caching code
#rb Steve.Robb, Ben.Zeigler

#ROBOMERGE-SOURCE: CL 13063767 via CL 13064676 via CL 13064753
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v686-13045012)

[CL 13064794 by danny couture in Main branch]
2020-04-29 09:00:18 -04:00
donal maccarthy c36155a296 Replace ContentMountPointCriticalSection with an FRWLock to allow for concurrent Reads
#ROBOMERGE-SOURCE: CL 13063413 via CL 13063415 via CL 13063416
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v686-13045012)

[CL 13063417 by donal maccarthy in Main branch]
2020-04-29 05:07:07 -04:00
robert manuszewski 1751ab9efe FFieldPaths should no longer re-resolve themselves each time a blueprint is destroy and only re-resolve if the blueprint that owns the property they resolve to is destroyed / or recompiled.
Changing how FFieldPaths (TFieldPaths) are internally stored and serialized. Now instead of storing the full path (from the outermost UPackage to the innermost FProperty) FFieldPaths will store the owner UStruct reference and a short path to its property (or inner property of its property). The same applies to serialization: both the owner UStruct reference and only the short path will be serialized.
Serializing the owner reference will enable proper handling of any owner struct package renames as well as greatly increase the initial field (property) resolution performance.

#rb Steve.Robb
#jira UE-91580
#lockdown cristina.riveron

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 13055035 in //UE4/Release-4.25/... via CL 13055038 via CL 13055094
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v686-13045012)

[CL 13055096 by robert manuszewski in Main branch]
2020-04-28 10:52:30 -04:00
brant french f01439c42e Fixed problem where profiler scope names would sometimes be inaccurate.
[at]Andrew.Ladenberger, [at]Josh.Adams
#RB Josh.Adams
#RNX

#ROBOMERGE-SOURCE: CL 13049220 via CL 13049520 via CL 13049561 via CL 13049605
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v686-13045012)

[CL 13049630 by brant french in Main branch]
2020-04-27 14:17:57 -04:00
robert manuszewski 058d448305 When cooking, references to editor-only FProperties will be nulled out
#rb trivial
#tests cooked windows client and server, cooked build bot soak tests

#ROBOMERGE-SOURCE: CL 13046480 via CL 13046482 via CL 13046483 via CL 13046485
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v686-13045012)

[CL 13048456 by robert manuszewski in Main branch]
2020-04-27 13:01:59 -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
robert manuszewski ce10617ceb Fixing FFieldPath::ToString() not removing nativized BP temp package prefix after changes from 12847659
#rb trivial
#jira UE-92149

#ROBOMERGE-SOURCE: CL 13003406 via CL 13003408 via CL 13003419
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 13003431 by robert manuszewski in Main branch]
2020-04-23 06:46:03 -04:00
pj kack 5e49316bc4 AsyncLoading2: Fix incorrect check in ToPackageImport
#jira none
#rb none


#ushell-cherrypick of 12997588 by PJ.Kack

#ROBOMERGE-SOURCE: CL 12997796 in //UE4/Release-4.25Plus/... via CL 12997808
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 12997823 by pj kack in Main branch]
2020-04-23 02:54:37 -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
carlmagnus nordin 373fd671f7 Copying //UE4/Release-4.25Plus-Dev to Release-4.25Plus (//UE4/Release-4.25Plus)
#rnx
#jira none
#rb none

#ROBOMERGE-OWNER: carlmagnus.nordin
#ROBOMERGE-AUTHOR: carlmagnus.nordin
#ROBOMERGE-SOURCE: CL 12973630 in //UE4/Release-4.25Plus/... via CL 12973644
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 12973696 by carlmagnus nordin in Main branch]
2020-04-22 06:25:12 -04:00
paul chipchase b1647fcbe9 Fixed a bug causing duplicated non optional payloads to never be loaded if the optional pakfiles are not mounted, even though the data exists in both the .ubulk and .uptnl file.
- When checking for the existence of the optional file (.uptnl) via filenames rather then FIoChunkId we were actually checking for the non optional (.ubulk) file which would always be true.
 - Caused by using ::ConvertFilenameFromFlags which checks with the original flags, not the new flags.
- This would cause the check in BulkData to always be true so we would report to the texture streaming system that the BulkData was optional data.
- Later when it came time to stream in the mip, the BulkData system would check is the optional data existed on disk and be unable to find it as the optional pakfiles are not mounted.

- Since FBulkDataBase::ProcessDuplicateData is already special case, we can just change the file extension to BulkDataExt::Optional rather than call ::ConvertFilenameFromFlags

#rb none

#ROBOMERGE-SOURCE: CL 12949041 via CL 12949151 via CL 12949169
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 12949179 by paul chipchase in Main branch]
2020-04-21 07:29:36 -04:00
dan oconnor 9a5d02ddb0 FPropertyDelegate now lists the SignatureFunction in its 'Referenced Objects', TRASHCLASS is no marked as CLASS_NewerVersionExists, reload package now checks outer chain for out of date classes
#rb Phillip.Kavan
#jira UE-92248

#ROBOMERGE-SOURCE: CL 12939652 in //UE4/Release-4.25/... via CL 12939658 via CL 12939670
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 12939678 by dan oconnor in Main branch]
2020-04-20 17:27:23 -04:00
paul chipchase 1773b3a77d Fix a typo in a newly added API method (IsInSeperateFile -> IsInSeparateFile) before the 4.25 release to avoid future issues.
#jira none
#rb devin.doucette, stefan.boberg
#lockdown stefan.boberg


#ushell-cherrypick of 12918250 by paul.chipchase

#ROBOMERGE-SOURCE: CL 12919209 in //UE4/Release-4.25Plus/... via CL 12919222
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 12919263 by paul chipchase in Main branch]
2020-04-20 07:36:36 -04:00
Robert Manuszewski 7adeaa35af Fixing CIS (another fallout from 12847659)
#rb Steve.Robb
#jira none

[CL 12869864 by Robert Manuszewski in Main branch]
2020-04-16 14:33:47 -04:00
robert manuszewski e2c2ab7413 Adding deprecated support for Cast and CastChecked functions for FProperties to minimize compilation errors when upgrading to the new engine version
#jira UE-92070
#rb Steve.Robb
[at]Steve.Robb

#ROBOMERGE-SOURCE: CL 12869270 in //UE4/Release-4.25/... via CL 12869274 via CL 12869288
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)

[CL 12869292 by robert manuszewski in Main branch]
2020-04-16 13:38:33 -04:00
robert manuszewski ee5c5c5cbc Chaning how FFieldPaths (TFieldPaths) are internally stored and serialized. Now instead of storing the full path (from the outermost UPackage to the innermost FProperty) FFieldPaths will store the owner UStruct reference and a short path to its property (or inner property of its property). The same applies to serialization: both the owner UStruct reference and only the short path will be serialized.
Serializing the owner reference will enable proper handling of any owner struct package renames as well as greatly increase the initial field (property) resolution performance.

#rb Steve.Robb
#tests Basic editor functionality tests related to blueprint editing, editor quick smoke tests, cooked windows client and server, cooked build bot soak tests
[REVIEW] [at]Steve.Robb

#ROBOMERGE-SOURCE: CL 12847659 via CL 12847660 via CL 12847661
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)

[CL 12847663 by robert manuszewski in Main branch]
2020-04-16 04:12:39 -04:00
robert manuszewski d7ecbe4556 Creating new UObjects while Collecting Garbage will now result in an assert.
#rb trivial
#jira UE-85425

#ROBOMERGE-SOURCE: CL 12792273 in //UE4/Release-4.25/... via CL 12792275 via CL 12792277
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)

[CL 12792280 by robert manuszewski in Main branch]
2020-04-15 08:37:10 -04:00