Commit Graph

5146 Commits

Author SHA1 Message Date
ben woodhouse
31208ca2a1 Add a new set of ASTC pixel formats for storing high precision normals in RG channels. The texture is encoded as LA for higher precision, swizzled to RG at runtime for shader compatibility with BC5. Requires RHI support.
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]
2023-05-22 10:41:55 -04:00
andrew phillips
7faf682aae Minor fix for verify cached archetype logging
#jira UE-180605
#preflight 646b2990c17f75f4a46cdebc

[CL 25562369 by andrew phillips in ue5-main branch]
2023-05-22 08:28:52 -04:00
Zousar Shaker
4fa84566bb Remove TObjectPtr on UStruct::SuperStruct as it causes a high quantity of access tracking callbacks that are not valuable. Will discuss options to mitigate this while restoring it to a TObjectPtr.
#rb none
#fyi kirill.zorin
#preflight 646a4fd9434f5536a3df9cfe

[CL 25559552 by Zousar Shaker in ue5-main branch]
2023-05-21 13:25:51 -04:00
Zousar Shaker
18ac7c63c1 Ensure that ObjectHandle access tracking has an inline and lockless fast exit path when there are zero handle read callbacks installed.
#rb kirill.zorin
#fyi joe.pribele
#preflight 6469a83264351d76f362c636

[CL 25559510 by Zousar Shaker in ue5-main branch]
2023-05-21 13:01:08 -04:00
bob tellez
9dbe2b0937 #UE Fix to no longer consider BP classes and CDOs as editor only
#rb Zousar.Shaker
[FYI] Matt.Peters

[CL 25555887 by bob tellez in ue5-main branch]
2023-05-19 22:10:08 -04:00
dan thompson
5f360661f3 Move GuardedInt.h to Core as it's about to be needed elsewhere.
#rb devin.doucette
#preflight 6467a9a52c0a5da0dcd0afa9

[CL 25553319 by dan thompson in ue5-main branch]
2023-05-19 17:51:45 -04:00
bob tellez
4edd4ac825 #UE Actually print all content roots before fatal error about failing to convert a filename. It was printed before this change, but truncated because the string is too big to print on one line
[FYI] matt.peters

[CL 25549109 by bob tellez in ue5-main branch]
2023-05-19 14:43:52 -04:00
zousar shaker
b0d5721dde Initial implementation of DiffOnly mode for ZenServer as Cooked Output Store. Lacking detailed header diffing, but stubbed in for future addition. When using ZenServer as Cooked Output Store the packages use the ZenPackageSummary header format instead of the PackageFileSummary header format. This is how data is stored in ZenServer and the format it is when fetched. Data produced in process is transformed into this format ahead of diffing.
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]
2023-05-19 14:43:02 -04:00
andriy tylychko
9465046a9b fixed buffer overrun in ArchiveStackTrace that was causing mem corruption during cooking
#rb per.larsson
#preflight 64676fa70577c206c78929fc

[CL 25548171 by andriy tylychko in ue5-main branch]
2023-05-19 13:50:49 -04:00
johan torp
ff80294aef Fix GC schema shutdown leak
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]
2023-05-19 09:13:53 -04:00
paul chipchase
4335d78604 Deprecate four FBulkData flags that no longer serve any useful purposes: BULKDATA_Unused, BULKDATA_ForceStreamPayload, BULKDATA_SerializeCompressedBitWindow and BULKDATA_BadDataVersion
#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]
2023-05-19 06:27:58 -04:00
joe pribele
f53c64a049 moved FindAndPrintStaleReferencesToObjects from Engine to ReferenceChainSearch. Makes the function usable by CoreUObject
https://p4-swarm.epicgames.net/reviews/25519109

#rb robert.millar

[CL 25536572 by joe pribele in ue5-main branch]
2023-05-18 19:44:56 -04:00
brandon schaefer
918a67f6d9 Support enabling AutoRTFM instrumentation on a Module level in UBT
#rb Neil.Henning, Joe.Kirchoff
#preflight 646655bd743f7c995bc7a7ff

[CL 25532181 by brandon schaefer in ue5-main branch]
2023-05-18 15:44:35 -04:00
francis hurteau
f11d0408fb Add a missing PIE scope when getting asset registry tags which shouldn't influence soft object path resolving for registry tags
#rb Danny.Couture
#preflight 64652d9b317ee2d9d17377f2

[CL 25531710 by francis hurteau in ue5-main branch]
2023-05-18 15:29:40 -04:00
francis hurteau
a72c1633af Remove DeferredPostLoadGroup ensure validating a wrong assumption
#rb trivial
#preflight 646527e74404e3cdd229c2fa

[CL 25518692 by francis hurteau in ue5-main branch]
2023-05-17 19:10:43 -04:00
jeanfrancois dube
3b955dafbf LinkerLoad: fix instancing context not passed along when resolving imports linkers.
#rb francis.hurteau
#preflight none

[CL 25516327 by jeanfrancois dube in ue5-main branch]
2023-05-17 16:53:40 -04:00
Ryan Gerleve
345d866c69 Add a log category and verbosity check for logs output from ConstructorHelpers::FailedToFind and ConstructorHelpers::CheckFoundViaRedirect.
Suppress them during startup of ReplicationSystemLowLevelTests.

#jira UE-184709
#rb Wojciech.Krywult
#preflight 6464f4b7f033744ae6829dc8

[CL 25508928 by Ryan Gerleve in ue5-main branch]
2023-05-17 12:05:02 -04:00
Steve Robb
dd961a1379 Changed multicast delegates to work on empty delegates rather than on the internal invocation list, so that they can use the read/write scopes.
#rb andriy.tylychko
#jira none
#preflight 6464ec286b1406b54a42b575

[CL 25507933 by Steve Robb in ue5-main branch]
2023-05-17 11:17:27 -04:00
danny couture
01eeecfefb Standardize default internal flags exclusion for all object iterators
#rnx
#rb Francis.Hurteau, PJ.Kack
#preflight 6463a91e317ee2d9d1b07976

[CL 25507084 by danny couture in ue5-main branch]
2023-05-17 10:34:01 -04:00
Steve Robb
1f5fd520a6 Fixed multicast delegate indexing in FMulticastDelegateProperty.
#rb andriy.tylychko
#jira none
#preflight 6464b78d317ee2d9d12fae3a

[CL 25504861 by Steve Robb in ue5-main branch]
2023-05-17 07:39:48 -04:00
michael nicolella
b120e9ec4f [autortfm]
- 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]
2023-05-17 01:47:09 -04:00
louisphilippe seguin
cfcec3c94d Allow replication of UObjects with UFunctions but no UProperties
#jira UE-185169, UE-43332
#rb Ryan.Gerleve
#rnx

[CL 25495746 by louisphilippe seguin in ue5-main branch]
2023-05-16 15:54:10 -04:00
kirill zorin
de8db5ff76 Converting ARO-facing raw pointers to TObjectPtr ahead of raw pointer ARO API deprecation.
#rb zousar.shaker
#rb markus.breyer
#rb robert.manuszewski

#preflight 646391406b1406b54ab15460

[CL 25489627 by kirill zorin in ue5-main branch]
2023-05-16 10:52:49 -04:00
paul chipchase
a90b9f3ff1 Add some basic threading tests to FEditorBulkData
#rb none
#jira UE-140944
#rnx
#preflight 646323eef760fe87e9374f54

[CL 25486369 by paul chipchase in ue5-main branch]
2023-05-16 04:47:32 -04:00
paul chipchase
b7eae46d3a Make FEditorBulkData thread safe.
#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]
2023-05-16 02:28:26 -04:00