Commit Graph

444 Commits

Author SHA1 Message Date
matt peters
ae7cf32fb4 SavePackage/Cooke/FArchiver: Add FArchiveSavePackageData to FArchive, giving Serialize functions access to FObjectSaveContextData. This is necessary to allow structs (which do not have a PreSave function) the ability to add manage dependencies in editor saves and build dependencies in cook saves.
#rnx
#rb Francis.Hurteau

[CL 35900056 by matt peters in ue5-main branch]
2024-08-29 13:14:10 -04:00
steve robb
1be01bcb1a Renamed container allocator function parameters to make them less ambiguous about whether they refer to a current state or new (desired) state, and refer to the 'num' (how many elements are constructed inside an allocation) or the 'max' (the total number of elements that the allocation could hold), as it was unclear.
Added a comment to clarify that TNonRelocatableInlineAllocator is itself non-trivially-relocatable, not that it's for non-trivially-relocatable elements.

#rb devin.doucette

[CL 35869531 by steve robb in ue5-main branch]
2024-08-28 11:34:16 -04:00
henrik karlsson
78ba369d2c Fixed linker errors on some console platform when building modular builds. Fixes involves moving ctor/dtor and friends from header to cpp and dll import/export
[CL 35710553 by henrik karlsson in ue5-main branch]
2024-08-21 13:44:16 -04:00
ben clayton
d99eecea66 [AutoRTFM] Make FPooledLargeMemoryData transaction-safe
#rb michael.nicolella

[CL 35621882 by ben clayton in ue5-main branch]
2024-08-19 06:14:51 -04:00
halfdan ingvarsson
81f6d478bb CBWriter: Add platform support for SIZE_T, which does not implicitly convert to uint64 on Linux and Mac.
#rnx
#rb Devin.Doucette

[CL 35381023 by halfdan ingvarsson in ue5-main branch]
2024-08-07 16:50:11 -04:00
marc audy
5e13934611 Resubmit Pawn/Character crushing without sparse delegate savings until investigation to why they caused crashes
#rb dan.oconnor
#rnx

[CL 35250209 by marc audy in ue5-main branch]
2024-08-01 13:30:13 -04:00
bob tellez
e0a6b04e73 [Backout] - CL35230554
[FYI] Marc.Audy
Original CL Desc
-----------------------------------------------------------------
APawn 792 -> 784 bytes
ACharacter 1632 -> 1536 bytes (with 8 bytes padding that subclasses vtables will take)
Other character related tweaks

#rb dan.oconnor

[CL 35239051 by bob tellez in ue5-main branch]
2024-08-01 04:00:37 -04:00
marc audy
edfc4fa1bc APawn 792 -> 784 bytes
ACharacter 1632 -> 1536 bytes (with 8 bytes padding that subclasses vtables will take)
Other character related tweaks

#rb dan.oconnor

[CL 35231749 by marc audy in ue5-main branch]
2024-07-31 18:15:17 -04:00
allan bentham
c00cc02c65 Add #define to enable mmapping of the metalmap file.
This allows the OS to page in areas of the file on demand.
The OS should be able to page it out when under memory pressure.

requires that the on-disk layout of the metalmap file matches the in-memory form.
for mapping to succeed metalmap files stored within pak files must not be compressed.

#rb adam.kinge, carl.lloyd, Chris.Babcock, Peter.Sauerbrei

[CL 35088932 by allan bentham in ue5-main branch]
2024-07-25 14:03:07 -04:00
RyengM
05dd72e298 PR #10381: Fix potential FIntRect operator<< ambiguous compilation error.
#rb Paul.Chipchase
#jira UE-184176
#rnx

- This might have been required before the FArchiveBase refactor several years ago but I cannot think of any reason we need to keep this code so deleting it is probably better than updating it to template<typename> TIntRect

[CL 35080456 by RyengM in ue5-main branch]
2024-07-25 09:47:55 -04:00
devin doucette
36f5a24ddd Moved TSharedString from DDC into Core
#rb Steve.Robb

[CL 34340152 by devin doucette in ue5-main branch]
2024-06-13 10:40:59 -04:00
matt peters
1a04a479f2 IncrementalCook: Add UE::Cook::IDeterminismHelper to write diagnostics for cook indeterminism and false positive iterative skips.
[RN] Minor, Cooking
#rb Zousar.Shaker

[CL 34153566 by matt peters in ue5-main branch]
2024-06-06 07:46:50 -04:00
matt peters
4250b1531c IncrementalCooker: Improve log feedback in Iteratively Skipped log; do not display it if iterativevalidate is running, which always cooks all packages whether they are modified or not.
#rnx
#rb Zousar.Shaker

[CL 34036963 by matt peters in ue5-main branch]
2024-05-31 13:49:32 -04:00
devin doucette
118ab112d0 Deprecated GetSerializeContext and SetSerializeContext on FArchive
Implementations have been effectively using the thread context and these changes make that the only available context.

#rb kevin.macaulayvacher

[CL 34011179 by devin doucette in ue5-main branch]
2024-05-30 16:02:03 -04:00
devin doucette
dd108bda97 CompactBinary: Added [[nodiscard]]
#rb Zousar.Shaker

[CL 33897471 by devin doucette in ue5-main branch]
2024-05-24 12:32:24 -04:00
dan elksnitis
04d229a5a5 [memorywriter] change use of std::numeric_limits to TNumericLimits (fix non unity build issue)
#rb Devin.Doucette, Jason.Nadro
#jira UE-215092

[CL 33731288 by dan elksnitis in ue5-main branch]
2024-05-17 14:25:32 -04:00
zousar shaker
9cbc2e43e7 Add ability to replicate structured logging for multi-process cook.
#rb Devin.Doucette, Matt.Peters
#jira UE-213714

[CL 33562249 by zousar shaker in ue5-main branch]
2024-05-09 18:19:11 -04:00
joe kirchoff
fb6334a7c2 [Backout] - CL32838690
[FYI] Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
Prevent clang analysis warnings for uninitialized data from FArchive derived readers

#rnx

[CL 32857977 by joe kirchoff in ue5-main branch]
2024-04-10 11:20:19 -04:00
joe kirchoff
76bd93d0de Prevent clang analysis warnings for uninitialized data from FArchive derived readers
#rnx

[CL 32838765 by joe kirchoff in ue5-main branch]
2024-04-09 16:44:38 -04:00
matt peters
24ea789e44 MaterialInterface: Refactor GetMaterialShaderMapKey into RecordOrEmitMaterialShaderMapKey which takes an FMaterialKeyGeneratorContext instead of an FShaderKeyGenerator. FMaterialKeyGeneratorContext can handle any one of three modes: emit hash strings or save/load data needed for hash strings to compact binary. Use the new RecordOrEmitMaterialShaderMapKey to Save/Load and Emit the material dependency hash for incremental cooking.
#jira UE-203846
#rnx
#rb dan.elksnitis

[CL 32725752 by matt peters in ue5-main branch]
2024-04-04 08:29:57 -04:00
matt peters
236de90692 Shader Keys: Add a keygenerator struct FShaderKeyGenerator than can generate either full string keys or hashed keys. Hashed keys are faster to create and will be used for incremental cook package dependencies.
#jira UE-203846
#rnx
#rb dan.elksnitis, christopher.waters

[CL 32550793 by matt peters in ue5-main branch]
2024-03-27 14:11:21 -04:00
dan engelbrecht
652149367f Add support of partial zen DDC GetChunks requests
#ushell-cherrypick of 32395474 by dan.engelbrecht
#rb Devin.Doucette
#jira UE-210439
[FYI] tim.doerries, Zousar.Shaker, Stefan.Boberg

[CL 32452554 by dan engelbrecht in ue5-main branch]
2024-03-22 17:53:31 -04:00
jordan hoffmann
14d94dcc8d [Feature] Added ArMergeOverrides flag that keeps (and adds to) existing overrides rather than clearing them at the beginning of serialization
[Bugfix] Overrides are now read/set even for properties that no longer exist now. This way we can use them for loose properties on IDOs
#rb Maxime.Mercier

[CL 32196078 by jordan hoffmann in ue5-main branch]
2024-03-12 18:26:56 -04:00
matt peters
5e38b33441 CompactBinary: Add operator<<(FCbWriter&, const FString&) so that defining operator<< for some other type that can implicitly construct from FString does not cause an ambiguous overload error.
#rnx
#rb Devin.Doucette

[CL 31875855 by matt peters in ue5-main branch]
2024-02-28 12:55:45 -05:00
dominic couture
352738cc49 Added TVersionedWriter/Reader a template you can use to make an FArchiveProxy that uses the provided writer/reader but automatically serialize the custom version container
#rb Johan.Torp, Steve.Robb

[CL 31714133 by dominic couture in ue5-main branch]
2024-02-21 22:12:54 -05:00