Runtime pixel formats are named PF_ASTC_<blocksize>_NORM_RG. Use texture format name ASTC_NormalRG_Precise for encoding.
[CL 25563983 by ben woodhouse in ue5-main branch]
The code for parsing a view of the ZenPackageSummary has been extracted from AsyncLoading2.cpp into a private h/cpp and is possible to use from the header diffing code when printing out detailed diffs, but is not used yet.
#rb matt.peters
#rb pj.kack
#jira UE-175237
[CL 25549055 by zousar shaker in ue5-main branch]
Nested GC schemas transformed from StructArray -> StridedArray failed to drop their reference. Fixed by undoing refcount optimization where FSchemaBuilder transfers ownership to its built schema.
#rb none
#rnx
#preflight 6467684d2c0a5da0dc80f69c
[CL 25543390 by johan torp in ue5-main branch]
#rb Per.Larsson
#jira none
#preflight 64674758c571db717b037aaf
- BULKDATA_ForceStreamPayload and BULKDATA_SerializeCompressedBitWindow have not done anything for sometime.
- BULKDATA_BadDataVersion was a bug added some years ago which could've caused DDC pollution. Since then the DDC keys for the problematic assets have been changed several times and there should no longer be any danger.
- BULKDATA_Unused technically works but is unused and there does not seem to be any demand for it. This flag will probably remain deprecated for longer than the others to check for any valid external feedback.
[CL 25541994 by paul chipchase in ue5-main branch]
Suppress them during startup of ReplicationSystemLowLevelTests.
#jira UE-184709
#rb Wojciech.Krywult
#preflight 6464f4b7f033744ae6829dc8
[CL 25508928 by Ryan Gerleve in ue5-main branch]
- fix Verse for loop semantics
- added some VM opcodes:
- EX_NothingInt32: takes an int argument and is very handy for being a no-op that annotates the bytecode disassembly for debugging and breakpointing
- EX_AutoRtfmTransact: takes a transaction id and list of expressions to run within an AutoRTFM transaction
- EX_AutoRtfmStopTransact: takes a transaction id and ends that transaction if we are inside of it, otherwise is a no-op
- EX_AutoRtfmAbortIfNot: causes a transaction abort if the boolean expression is false
#preflight 64640105d62884a78fe0472c
[CL 25503240 by michael nicolella in ue5-main branch]
#rb Danny.Couture, Devin.Doucette, Per.Larsson
#jira UE-140944
#preflight 645e2c76b71b8186aaca29db
*** FLinkerLoad
- Attaching/detaching both FBulkData and FEditorBulkdata to a FLinkerLoad should now be thread safe.
- Note that this does NOT fix the long standing issue when a FPackage is GCed before some of the UObjects (assets) inside of that package, which causes any remaining bulkdata to be detached (and unable to load off disk) without forcing payloads into memory. This will be addressed as its own work item.
-- FEditorBulkData can still attempt to load its payload from a package after detachment as a fall back measure that is preferable to a crash.
*** FEditorBulkData
- Forced to use FRecursiveMutex at the moment some methods that need locking make calls into the bulkdata registry which can make calls back to the calling bulkdata object ending up with recursive locking, at least for now.
- This might look like a lot of locks being introduced, but FEditorBulkData methods are called relatively infrequently., in a test project with a semi large amount of data (~16GB) cooking from a cold DDC benchmarked at roughly the same wall time before/after these changes.
- Added a comment block to the header describing the thread safety expectations of the class.
- Made the class final as we really don't want to deal with inherited bulkdata types as we did with the old system.
- Since FLinkerLoad attachment/detachment is now thread safe we can detach from any pre-existing AttachedAr when running the assignment operator and attach to the AttachedAr of the provided bulkdata. This means copied/assigned bulkdata do not need to force their payloads into memory.
- Cleaned up some comments in the header.
[CL 25485916 by paul chipchase in ue5-main branch]