Commit Graph

1344 Commits

Author SHA1 Message Date
jamie dale
bf2592e212 Replaced usage of FInternationalization::ForUseOnlyByLocMacroAndGraphNodeTextLiterals_CreateText with FText::AsLocalizable_Advanced
[FYI] Leon.Huang
#rnx

[CL 36759164 by jamie dale in 5.5 branch]
2024-10-01 19:45:55 -04:00
danny couture
afce8a27c5 [ZenLoader]
- Fix ref counting issue causing use-after-free when ALT is active

#rnx
#rb kevin.macaulayvacher

[CL 36757353 by danny couture in 5.5 branch]
2024-10-01 19:29:00 -04:00
anton dunchev
e0de0354f3 [LLM] Properly clear LLM tagset scope
#tests LLM RR
#rnx
#rb Matt.Peters

[CL 36755752 by anton dunchev in 5.5 branch]
2024-10-01 19:10:20 -04:00
paul chipchase
6e7f255861 Add a new feature allowing bulkdata cooked output to be split into smaller files to help with data organization and patching efforts.
#rb Per.Larsson, Pere.Rifa
#jira UE-222974

- To enable the feature call FBulkData::SetCookedIndex with a FBulkDataCookedIndex set to a value between 1 - 255. Zero is currently reserved as the default/off state and can be quickly accessed via FBulkDataCookedIndex::Default.
-- Note that we might change the default value in the future, the main reason to keep it as zero for now is that it means FChunkId values will remain unchanged for bulkdata files not using the feature.
- When a bulkdata object has a cooked index it will output to a file with that value based on the following format  <packagename>.CookedIndex.<extension> so a normal bulkdata payload with a cooked index of 5 would end up writing to <packagename>.005.ubulk.
-- This allows the calling systems to control which bulkdata payloads go to which sub files.
- We currently do not support memory mapped payloads or payloads with the duplicate non optional flags. Support and testing for this will be added later.
- Tested saving/editing/loading packages with bulkdata in the editor (vector fields), build/cook/run normal builds, build/cook/run with feature enabled then running the new code with data produced from non modified code and running non modified exe on data generated with the new code.

### IPackageResourceManager
- Added overloads for most methods that take EPackageSegment that also take a FBulkDataCookedIndex and deprecated the older versions.
- Not all methods have been ported over, just the ones I could test but the rest will need the same treatment at some point.

### FLinkerSave
- Now stores each set of bulkdata, optional bulkdata and memory mapped payloads in separate archives, one per cooked index.
- Added a method ::HasCookedIndexBulkData that returns if any of the normal bulkdata payloads contain a non default cooked index. This is used for some paranoid checks when saving packages to the workspace domain.

[CL 36754477 by paul chipchase in 5.5 branch]
2024-10-01 18:59:56 -04:00
bob tellez
eea057740a [Backout] - CL36468040
[FYI] danny.couture
Original CL Desc
-----------------------------------------------------------------
[ZenLoader]
 - Fix ref counting issue causing use-after-free when ALT is active

#rnx
#rb kevin.macaulayvacher

[CL 36747620 by bob tellez in 5.5 branch]
2024-10-01 17:46:00 -04:00
danny couture
1c4c76c614 [ZenLoader]
- Fix ref counting issue causing use-after-free when ALT is active

#rnx
#rb kevin.macaulayvacher

[CL 36746660 by danny couture in 5.5 branch]
2024-10-01 17:37:39 -04:00
danny couture
e2d1d76f09 [Backout] - CL36385729
[FYI] danny.couture
Original CL Desc
-----------------------------------------------------------------
[ZenLoader]
 - Fix missing ref counting causing use-after-free when ALT is active

#rb kevin.macaulayvacher

[CL 36430889 by danny couture in 5.5 branch]
2024-09-19 10:22:43 -04:00
danny couture
db3eb38259 [ZenLoader]
- Fix missing ref counting causing use-after-free when ALT is active

#rb kevin.macaulayvacher

[CL 36385738 by danny couture in 5.5 branch]
2024-09-18 07:25:57 -04:00
danny couture
1e0993980a [ZenLoader]
- Fix crash when running in cook on the fly mode
 - Restore zenloader by default for loose cooked files

#rnx
#jira UE-221752
#rb kevin.macaulayvacher

[CL 36262503 by danny couture in 5.5 branch]
2024-09-13 09:06:05 -04:00
anton dunchev
cf63f92e07 [LLM] Remove FName block allocations and TextureManager construction from contributing to the MemQuery/Memtrace asset memory cost readings
#rb Matt.Peters
#tests local run

[CL 36172047 by anton dunchev in 5.5 branch]
2024-09-10 21:22:01 -04:00
Ryan Hummer
4af2fd066d Updating Dev-Release-5.5 from Main at CL #36144969
#okforversepublic

[CL 36146571 by Ryan Hummer in Dev-5.5 branch]
2024-09-10 10:26:02 -04:00
fredrik lindh
615c41a78b Fixing a bug where the GC would not be aware of package metadata in WITH_METADATA builds. (Bug found by [at]danny.couture)
Adding WITH_METADATA support for AsyncLoading2 (ZenStore).

#rb Devin.Doucette, Francis.Hurteau

#tests Cooked Lyra manually and tested. Tested build permutations (editor/game)

[CL 36009705 by fredrik lindh in ue5-main branch]
2024-09-04 10:55:46 -04:00
matt peters
85e5756271 Cooker: Fix bug in MPCook that would allow the cooking of __ExternalObject__ packages (or any other package marked as PKG_EditorOnly).
Remove canskipeditoronlywhencooking; it is no longer necessary because its functionality has been replaced by skiponlyeditoronly.
MPCook was handling PKG_EditorOnly because it could not handle skipeditoronlywhencooking, and the two concepts used the same flag to toggle use of them in SavePackage. By removing canskipeditoronlywhencooking, we can turn that flag on.
#rb Francis.Hurteau
#rnx

[CL 35966555 by matt peters in ue5-main branch]
2024-09-03 10:17:11 -04:00
henry falconer
22e38d4c50 FBulkMetaData::FromSerialized now overwrites all fields in its output object, to ensure any stale state is cleared.
Also updated some checks in that function to ensure that zero size bulk data is loaded correctly.

This fixes a bug where loading an FBulkData with a zero element count wouldn't update the Size field, so if the same FBulkData had previously been used to load data with a non-zero size, the non-zero value for Size would incorrectly persist after loading the zero size data. I've added a regression test to the existing suite to prove that this case is now handled correctly.

#tests Ran FoundationTests and went through bug repro in editor
#rb paul.chipchase

[CL 35919288 by henry falconer in ue5-main branch]
2024-08-30 04:35:35 -04:00
jamie dale
75569e5399 Updated FTextKey::GetChars() usage to FTextKey::ToString()
This is in preparation to deprecate FTextKey::GetChars() in the future

[FYI] Leon.Huang
#rnx

[CL 35880826 by jamie dale in ue5-main branch]
2024-08-28 17:07:19 -04:00
kevin macaulayvacher
38b4cc56bb For zenloader, when waiting on a dependent package, increase the refcount when we store package references (and releaseref when removing the waiting package reference). This is to prevent a PackageA waiting on PackageB to not read from a free'd PackageB should another thread fully load PackageB and process the deferred deletion package list (freeing fully loaded packages)
#rb Francis.Hurteau
#rnx
[FYI] danny.couture

[CL 35868871 by kevin macaulayvacher in ue5-main branch]
2024-08-28 11:23:05 -04:00
kevin macaulayvacher
697c1bb7a5 In zenloader, do not call editor callbacks while handling a PostLoad. We don't allow callbacks when recursively loading already and we should avoid callbacks when handling postloads since we can't be sure what an OnAssetLoaded delegate might assume is completed when issuing a callback _while_ loading. Instead the callbacks will be deferred until the next loader Tick or Flush from the game thread.
#jira UE-222650
#rb Francis.Hurteau
#rnx
[FYI] danny.couture

[CL 35868640 by kevin macaulayvacher in ue5-main branch]
2024-08-28 11:18:41 -04:00
ben clayton
2c80fbdb52 [AutoRTFM] Make CreateComponentFromTemplate() transaction safe
* Migrate FStaticCustomVersionRegistry::Lock to use FTransactionallySafeRWLock.
* Disable caching of FUnversionedStructSchema when in a closed transaction.
* Ensure that the loader logic of StaticDuplicateObjectEx() is done in the open.
* Allocate PrimitiveSceneIds in the open.

#rb Brandon.Schaefer, michael.nicolella

[CL 35735509 by ben clayton in ue5-main branch]
2024-08-22 06:53:12 -04:00
henrik karlsson
8cec69af73 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 35712433 by henrik karlsson in ue5-main branch]
2024-08-21 14:16:50 -04:00
kevin macaulayvacher
14d1bf2b52 - Enables -nozenloader as the default for AsyncPackageLoader until we can resolve errors it causes in FindPackageRefChecked regarding "Package xxxx has been deleted"
- Prevents finishing ready for removal from LoadedPackagesToProcess until we are no longer recursively processing the package. If a package has a deferred PostLoad that initiates a syncronous load, we may attempt to remove the same package more than once.

#jira UE-221419
#rb Francis.Hurteau
[FYI] danny.couture
#rnx

[CL 35503807 by kevin macaulayvacher in ue5-main branch]
2024-08-13 15:13:20 -04:00
kevin macaulayvacher
f913ca3ef1 Reduce verbosity (Display -> Log) of loader log message detailing how many exports were removed as part of RemoveUnreachableObjects
#rnx
[FYI] danny.couture, Francis.Hurteau

[CL 35491412 by kevin macaulayvacher in ue5-main branch]
2024-08-13 08:51:55 -04:00
jodon karlik
d1725a9234 Deprecating FProperty::ElementSize for public access and introducing accessors. Instead of accessing the variable directly, use GetElementSize and SetElementSize in order to facilitate a future change of underlying storage type (to pack FProperty tighter and save some memory).
#rb Steve.Robb
#jira UE-221511
[RN] UStructs above 16.7mb will trip an ensure in the Editor so that they remain compatible with upcoming changes to Max ElementSize. You can disable the ensure with CVar CoreUObject.EnsureAgainstLargeProperties.

[CL 35434186 by jodon karlik in ue5-main branch]
2024-08-09 16:04:11 -04:00
danny couture
3841ea7eb5 [ZenLoader]
- Add support for loading loose cooked file at runtime
 - Make sure zenloader can be the default loader in all case from now on
 - Auto-detect separate cooked files in AsyncArchive

#jira UE-211676
#rb Francis.Hurteau

[CL 35420441 by danny couture in ue5-main branch]
2024-08-09 09:45:56 -04:00
danny couture
bc6907fc3a [ZenLoader]
- Fix deadlock at boot when a package and CDO have circular dependencies between them

#rnx
#jira UE-220691
#rb kevin.macaulayvacher

[CL 35306311 by danny couture in ue5-main branch]
2024-08-05 09:59:33 -04:00
danny couture
a7d4da9864 [ZenLoader]
- Make sure we reload missing exports after a GC

#rnx
#jira UE-218485
#rb Francis.Hurteau

[CL 35305643 by danny couture in ue5-main branch]
2024-08-05 09:21:38 -04:00