Commit Graph

336 Commits

Author SHA1 Message Date
robert millar
949ed7ba3a Insert dummy values into memory images for names like vtable pointers.
#rb ben.ingram

#ROBOMERGE-AUTHOR: robert.millar
#ROBOMERGE-SOURCE: CL 20115901 via CL 20115948 via CL 20115961 via CL 20115990
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20117747 by robert millar in ue5-main branch]
2022-05-09 23:27:24 -04:00
ilya loshchinin
33b775b08a FLargeMemoryData buildfix: missing include
#ROBOMERGE-AUTHOR: ilya.loshchinin
#ROBOMERGE-SOURCE: CL 19971151 via CL 19973220 via CL 19973386
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 19974313 by ilya loshchinin in ue5-main branch]
2022-04-28 21:19:04 -04:00
ilya loshchinin
6bd4945ede Optimized StaticDuplicateObject by pooling its temporary memory block allocation.
Added FPooledLargeMemoryData that allows lockless access to temporary memory blocks.

#tests Squads games on WSL, using FramePro to validate performance gains
#rb danny.couture,jamie.dale

#ROBOMERGE-AUTHOR: ilya.loshchinin
#ROBOMERGE-SOURCE: CL 19970339 via CL 19971380 via CL 19972286
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 19974304 by ilya loshchinin in ue5-main branch]
2022-04-28 21:18:27 -04:00
steve robb
76eddd083e Workaround for IncludeTool error.
#rb robert.manuszewski
#jira UE-148948
#preflight 6267d7ad5c29321b2dc74f60

#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 19918554 via CL 19919564 via CL 19922223 via CL 19922670
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 19925628 by steve robb in ue5-main branch]
2022-04-26 14:38:27 -04:00
Devin Doucette
92a888c1f6 Replaced uses of _ASV with ANSITEXTVIEW
#preflight 6266acf50634d0904cdfe91c
#rb Steve.Robb
#rnx

[CL 19903251 by Devin Doucette in ue5-main branch]
2022-04-25 11:31:36 -04:00
CarlMagnus Nordin
63b8cbc9dd AsyncLoading2: Implemented loading of optional package segments
#rnx
#preflight 62627548ac29fcf6a213fe33
#rb francis.hurteau

[CL 19900368 by CarlMagnus Nordin in ue5-main branch]
2022-04-25 07:37:07 -04:00
Johan Torp
ef8e0c4660 Optimize WITH_CASE_PRESERVING_NAME FName loading
LoadDisplayNames() 1.06s -> 0.24s when async loading the name batch in CachedAssetRegistry.bin during editor startup of an internal project

* Introduce FDisplayNameEntryId to avoid cache misses in FName::GetComparisonIdFromDisplayId() lookups
* Force name batch serialization to use display entry ids to help enforce cooking determinism
* Fix determinism problem when loading then saving via FPackageStoreNameMapBuilder
* Inline FNameEntryId::FromUnstableInt()
* Remove slow IsNumbered() check in CreateFromDisplayId when not using 4B FName
* Remove expensive heap sort by sorting up front instead

#rb rob.millar,matt.peters,pj.kack
#preflight 62664bd06968f18d5137d419

[CL 19899104 by Johan Torp in ue5-main branch]
2022-04-25 03:48:33 -04:00
steve robb
c4817fc296 Removal of SA_FIELD_NAME.
#rb graeme.thornton
#preflight 624f47086637e291d3d49b2d
[FYI] francis.hurteau

#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 19680202 via CL 19681535 via CL 19681539 via CL 19681542
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v938-19570697)

[CL 19682750 by steve robb in ue5-main branch]
2022-04-07 21:06:54 -04:00
steve robb
a74e2ef185 Missing include added.
#rb none
#preflight none

#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 19647781 via CL 19647829 via CL 19647844
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v938-19570697)

[CL 19651214 by steve robb in ue5-main branch]
2022-04-06 13:46:40 -04:00
steve robb
0d3a8d60fa Missing includes added.
#rb none
#preflight none

#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 19646815 via CL 19646849 via CL 19646914
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v938-19570697)

[CL 19651131 by steve robb in ue5-main branch]
2022-04-06 13:44:19 -04:00
steve robb
0316418f30 Split StructuredArchive code into individual files.
#rb none
[FYI] graeme.thornton, francis.hurteau
#preflight 624ce75c0b1b11b96bb0d52e

#ROBOMERGE-OWNER: steve.robb
#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 19644869 via CL 19645450 via CL 19645856 via CL 19645875
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v938-19570697)

[CL 19651014 by steve robb in ue5-main branch]
2022-04-06 13:39:54 -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
brian bekich
fda9b2af93 Add ResetData to FBitReader that won't reallocate the internal buffer unless it is necessary
Reducing allocations during replay scrub

#rb john.barrett

#ROBOMERGE-AUTHOR: brian.bekich
#ROBOMERGE-SOURCE: CL 19482343 via CL 19483947 via CL 19486339 via CL 19496184 via CL 19496470
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v936-19480137)

[CL 19498463 by brian bekich in ue5-main branch]
2022-03-24 13:29:02 -04:00
fabian giesen
8a5308dc23 FArchiveState::CustomVer doc comment fix
The implementation returns -1 if the version tag is not found, not 0.

#rb danny.couture
#preflight 623bf802437e1bac26c112a2

[CL 19492200 by fabian giesen in ue5-main branch]
2022-03-24 01:03:37 -04:00
zach bethel
50274e3050 Converted FIntPoint / FIntVector / FIntRect to a template type and added unsigned variants.
#rb luke.thatcher, andrew.davidson, steve.robb
#preflight 6239e9d204769ab49354a30f

[CL 19468937 by zach bethel in ue5-main branch]
2022-03-22 13:40:58 -04:00
robert millar
9b14ca87aa When building name patches, compare names case sensitively. (Sorting was already done case sensitively.)
Removing ensure from FName about unfreezing names that were created for a case-insensitive target. We rely on the archive used for serialization to save names with their case intact.

#rb ben.ingram, johan.torp

#ROBOMERGE-AUTHOR: robert.millar
#ROBOMERGE-SOURCE: CL 19422180 via CL 19424113 via CL 19430180 via CL 19430244
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v930-19419903)

[CL 19432581 by robert millar in ue5-main branch]
2022-03-18 02:34:50 -04:00
Per Larsson
b7980e9e38 Add support for reserving memory when using LargeMemoryWriter.
#rb paul.chipchase
#rnx
#preflight 19417934

[CL 19418052 by Per Larsson in ue5-main branch]
2022-03-17 04:05:15 -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
abffec6e31 StructuredArchive namespace fixes.
#rb none
#preflight 6228bfd231133a23da83376d


#ushell-cherrypick of 19339219 by steve.robb

#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 19320363 via CL 19345602 via CL 19350976 via CL 19351027
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19351729 by marc audy in ue5-main branch]
2022-03-11 04:01:29 -05:00
steve robb
d2b1edbe26 Structured archive config defines moved into their own header.
#rb none
#preflight 6228a767d773d6497bfc599d

#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 19319301 via CL 19339201 via CL 19344374 via CL 19350327 via CL 19350522
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19351704 by steve robb in ue5-main branch]
2022-03-11 03:58:24 -05:00
arciel rekman
0872f56977 Fix overflows reported by static analysis (UE-141612)
#rb Ben.Ingram, Jason.Nadro
[REVIEW] [at]Ben.Ingram, [at]Jason.Nadro
#jira UE-141612
#preflight 6220e0846a33f9b416aa4681
#lockdown Mihnea.Balta
#rnx

#ROBOMERGE-AUTHOR: arciel.rekman
#ROBOMERGE-SOURCE: CL 19244385 in //UE5/Release-5.0/... via CL 19248971
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v924-19243027)

[CL 19262903 by arciel rekman in ue5-main branch]
2022-03-04 03:03:38 -05:00
ryan gerleve
54ec0d3530 Fix LWC replay compatibility.
Store UE package version in replay data and propagate it to the archives used for playback.
Make a best effort to fix up the case of the HISTORY_SERIALIZE_DOUBLE_VECTORS_AS_DOUBLES network version and LARGE_WORLD_COORDINATES package version so that pre-LWC replays will play back correctly. This allows vectors serialized in replays with operator<< to correctly use the UE package version for LWC backwards-compatibility.
#preflight 62100713676ae0301346900f
#rb Peter.Engstrom
#jira UE-142527

#ROBOMERGE-AUTHOR: ryan.gerleve
#ROBOMERGE-SOURCE: CL 19082180 in //UE5/Release-5.0/... via CL 19097060
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19140729 by ryan gerleve in ue5-main branch]
2022-02-24 23:27:35 -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
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
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