Commit Graph

3858 Commits

Author SHA1 Message Date
Matt Peters
55e9f3e8ea FScopeCycleCounterUObject trace: suppress per-object timer names (using per-class instead) if AssetLoadTime channel is not enabled. This prevents poor performance due to 2million timers in insights on large cooks. Also change per-class timers to display"Blueprint" for blueprint classes, to prevent many new timers for projects with a large number of blueprints.
#rb Danny.Couture
#rnx
#preflight 6217bd47ea60a4af9d28a950

[CL 19117052 by Matt Peters in ue5-main branch]
2022-02-24 12:30:54 -05:00
charles bloom
38b1d2e51f Mark up more ParallelFor scopes for Insights
#rb none
#preflight 6216cd82647bb7debf703367

[CL 19105606 by charles bloom in ue5-main branch]
2022-02-23 19:25:03 -05:00
Dan Thompson
d412b366a3 Adding support to writing platform specific tags to the asset registry during cook by the book.
FArchive now holds a "CookData" blob that contains relevant information for cooking. The TargetPlatform has been moved to this structure, and it has a reference to a CookContext that can hold data generated during the cook that doesn't get serialized to the uasset (in this case, the asset registry tags).
#rb Matt.Peters
#preflight 62151bc4797dbbeb472af77d
#preflight 621011f6ff52bfecfc032b15
#preflight 62152777141b500e17eb24ef

[CL 19076066 by Dan Thompson in ue5-main branch]
2022-02-22 13:32:02 -05:00
jamie dale
9c7fb9246a Fully deprecated the contextless PostCDOCompiled
#jira
#preflight 6210450ccc18880e8bc79da5
#rb none
#rnx

#ROBOMERGE-AUTHOR: jamie.dale
#ROBOMERGE-SOURCE: CL 19061229 via CL 19061232 via CL 19071632 via CL 19071711 via CL 19072190
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v920-19070459)

[CL 19073102 by jamie dale in ue5-main branch]
2022-02-22 10:41:22 -05:00
Johan Torp
40758e08ce Use %llu instead of %ull as cross platform printf specifier
#rb steve.robb
#jira UE-142917
#rnx
#preflight 6214eaf8797dbbeb471bf945

[CL 19072037 by Johan Torp in ue5-main branch]
2022-02-22 09:07:01 -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<<, 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
jamie dale
cfdad64946 Added context to PostCDOCompiled and also call it for skeleton-only compiles
#jira
#preflight 6210112553204823ae8bcf4f
#rb Michael.Noland

#ROBOMERGE-AUTHOR: jamie.dale
#ROBOMERGE-SOURCE: CL 19058032 via CL 19058041 via CL 19058078 via CL 19058094 via CL 19059619
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v918-19018356)

[CL 19066317 by jamie dale in ue5-main branch]
2022-02-21 02:04:58 -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
Tim Smith
cc7bf85f5d 1) Minor updates to code generation to make the checksums a bit more stable
2) Added new struct and class specifiers to account for settings being extracted from the engine code.
3) UHT no longer depends on pre-existing classes in the engine but will use them when it needs to create the engine instances of the classes.

#rb joe.kirchoff, janathan.adamczewski
#rnx
#preflight 620fa0316c6c638c07ddca93

[CL 19049306 by Tim Smith in ue5-main branch]
2022-02-18 08:54:19 -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
geoff evans
1fc76c15d9 Defensive Crash Fix for when ReplaceWith UStruct pointer is null
#rnx
#rb tbd
#jira UE-142833
#preflight 620e855ae8554a6f64e734e1

[CL 19038296 by geoff evans in ue5-main branch]
2022-02-17 13:48:49 -05:00
Tim Smith
cd07867bf6 1) Adding new collection of UE types into C#
2) Enhancements to StringView and a few other helper classes
3) New UE style ignore case comparison
4) Moved shared UHT definitions into a common C# file.

#rb jonathan.adamczewski
#rnx
#preflight 620e3cdc8b6428e701a24666

[CL 19033446 by Tim Smith in ue5-main branch]
2022-02-17 07:40:56 -05:00
marc audy
9caa8eee5e Fix FObjectPtrProperty identical not respecting deep comparisons
#jira UE-38871
#rb Zousar.Shaker, Michael.Noland
#preflight 620d3926f427898d6b598bd4
#preflight 620d92cb3609e1937152f204

#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 19031036 via CL 19031372 via CL 19031397 via CL 19031958
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v917-18934589)

[CL 19032182 by marc audy in ue5-main branch]
2022-02-17 03:44:36 -05:00
Matt Peters
4a1ee197f7 Move _Serialize per-class and per-object scopes into the LoadTime and AssetLoadTime channels.
#rb Danny.Couture
#rnx
#preflight 620d18ad3d541467563c027c

[CL 19014940 by Matt Peters in ue5-main branch]
2022-02-16 10:42:41 -05:00
Matt Peters
d23d39ffac TraceScopes for Cooking: Add scopes for PreSave, SaveSerialize, BeginCacheForCookedPlatformData, and IsCachedCookedPlatformDataLoaded.
Rename the LoadChannel version of the Serialize scope to LoadSerialize.
Lump PreSaveRoot and PostSave into PreSave since they don't deserve a separate scope.
Change existing classname-parameterized scopes to use WriteToString instead of FStrings to remove an allocation.
#rb Zousar.Shaker
#rnx
#preflight 620bd511475fb819ddc60169

[CL 18998774 by Matt Peters in ue5-main branch]
2022-02-15 12:51:35 -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
marc audy
43b9a91194 Try to force a rebuild to fix build machine
#rnx

#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 18975666 via CL 18992587 via CL 18992960
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18997214 by marc audy in ue5-main branch]
2022-02-15 11:30:31 -05:00
paul chipchase
882c0eceed Fix mismatch in memory allocation / deletion routines
#rb Mark.Lintott
#jira UE-142281
#rnx
#lockdown Mark.Lintott
#preflight 62067f0db84973a2bb8baf05

- The TUniquePtr would allocate the buffer with new[] and we were using FMemory::Free to delete it.
- This works under our default set up thanks to REPLACEMENT_OPERATOR_NEW_AND_DELETE but it is unsafe to leave it.
- Changed the call to FSharedBuffer::TakeOwnership so that the payload will be destroyed via delete []

#ROBOMERGE-AUTHOR: paul.chipchase
#ROBOMERGE-SOURCE: CL 18952581 in //UE5/Release-5.0/... via CL 18952687 via CL 18952831
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18952839 by paul chipchase in ue5-main branch]
2022-02-11 10:57:24 -05:00
paul chipchase
c7cad5cf29 Improve user visibility for packages with virtualized data by adding "Has Virtualized Data" to the tool tip in the content browser as well as adding an asset filter to hide all packages without virtualized data.
#rb Johan.Torp, Lauren.Barnes
#jira UE-135423
#rnx
#preflight 620374f674604bc6b1a62882

- The filter can be found in Filter->Other Filters -> Virtualized Data
- Since we only want to store if a package has virtualized data or not we can just use a bit in FAssetPackageData::Flags

[CL 18951020 by paul chipchase in ue5-main branch]
2022-02-11 08:04:32 -05:00
brian bekich
7dab463b02 Converted history index values to uint16
Removed sanity tag from property retirements, removed validation from test builds

#rb ryan.gerleve

#ROBOMERGE-OWNER: brian.bekich
#ROBOMERGE-AUTHOR: brian.bekich
#ROBOMERGE-SOURCE: CL 18938341 via CL 18938574 via CL 18938681 via CL 18940507 via CL 18940775
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18940783 by brian bekich in ue5-main branch]
2022-02-10 14:24:02 -05:00
Matt Peters
dd95a9efd0 #jira UE-121277
SavePackage: Improve feedback and avoid crashing when the temporary file fails to write.
#preflight 620549dbb84973a2bb5fbc0b
#rb Francis.Hurteau
#rnx

[CL 18938943 by Matt Peters in ue5-main branch]
2022-02-10 12:48:23 -05:00
paul chipchase
f768450f89 Fix assert when detaching a packages linker when the package file is still being used on another thread.
#rb Francis.Hurteau
#jira UE-141755
#lockdown Mark.Lintott
#rnx
#preflight 62050a81e54ab7c24bb47853

- In the last year we have encountered an increasing number of problems where an asset is processing it's bulkdata on an async thread when it is garbage collected.
- This is caused because we detach the package's linker in UPackage::BeginDestroy but most async asset tasks are checked in UObject::IsReadyForFinishDestroy, meaning we can have async work trying to access the bulkdata in the package file up until UPackage::FinishDestroy is called
-- Usually we try and fix this problem by preventing  packages with outstanding async tasks from being garbage collected, but support for this is not universal and can lead to the above problems showing up in various commandlets.
- By moving the detachment of the packages linker to UPackage::FinishDestroy we should be able to prevent these problems in all cases.

#ROBOMERGE-AUTHOR: paul.chipchase
#ROBOMERGE-SOURCE: CL 18936647 in //UE5/Release-5.0/... via CL 18937598 via CL 18937892
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18937908 by paul chipchase in ue5-main branch]
2022-02-10 12:03:54 -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
Matt Peters
f76045bb7e LowLevelMemTracker - add scopes for some large allocations during cooking.
#rb Devin.Doucette
#rnx
#preflight 62047a600a1c4eb68f555ba5

[CL 18930861 by Matt Peters in ue5-main branch]
2022-02-09 21:53:31 -05:00