Commit Graph

9117 Commits

Author SHA1 Message Date
dmytro vovk
7f7d3c5a1c Enable NEON intrinsics only on ARM64 Android builds
#jira none
#rb none
[FYI] Chris.Babcock

#ROBOMERGE-AUTHOR: dmytro.vovk
#ROBOMERGE-SOURCE: CL 17721550 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v879-17706426)

[CL 17721568 by dmytro vovk in ue5-release-engine-test branch]
2021-10-05 10:48:56 -04:00
brandon schaefer
520db991e7 Fix ASan use after scope with ANSI_TO_TCHAR.
Never store the return of ANSI_TO_TCHAR, as it goes out of scope

#jira none
#rb none
[FYI] Pj.Kack

#ROBOMERGE-AUTHOR: brandon.schaefer
#ROBOMERGE-SOURCE: CL 17713301 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v879-17706426)

[CL 17713386 by brandon schaefer in ue5-release-engine-test branch]
2021-10-04 16:32:08 -04:00
paul chipchase
2168c99b88 Disabled tasks tests temporarily as they OOM on some platforms, will tune them later
#rb Francis Hurteau
[FYI] Andriy.Tylychko

#ushell-cherrypick of 17692611 by Andriy.Tylychko

- I also disabled "System.Core.Containers.TSTicker" as it was exceeding the memory of some platforms as well

#ROBOMERGE-AUTHOR: paul.chipchase
#ROBOMERGE-SOURCE: CL 17709761 via CL 17709762 via CL 17709766 via CL 17709769 via CL 17709783
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v879-17706426)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17709789 by paul chipchase in ue5-release-engine-test branch]
2021-10-04 12:55:34 -04:00
stu mckenna
5a132d5fc5 - Ensure we don't use aligned loads on some compilers for VectorLoad with VectorRegister4Float & VectorRegister4Double
#rb zak.middleton, brandon.schaefer
#jira UE-120446

#ROBOMERGE-AUTHOR: stu.mckenna
#ROBOMERGE-SOURCE: CL 17697421 in //UE5/Release-5.0/... via CL 17697430
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v875-17642767)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17697436 by stu mckenna in ue5-release-engine-test branch]
2021-10-01 17:25:12 -04:00
andriy tylychko
4c14d64410 disabled tasks tests temporarily as they OOM on consoles, will tune them later
#jira FORT-412667

#ROBOMERGE-AUTHOR: andriy.tylychko
#ROBOMERGE-SOURCE: CL 17692611 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v875-17642767)

[CL 17692630 by andriy tylychko in ue5-release-engine-test branch]
2021-10-01 11:49:40 -04:00
ionut matasaru
2f3404b10e Fixed usage of UE_LOG (arguments for "%s" formatting).
#rb Zousar.Shaker

#ROBOMERGE-AUTHOR: ionut.matasaru
#ROBOMERGE-SOURCE: CL 17691626 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v875-17642767)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17691646 by ionut matasaru in ue5-release-engine-test branch]
2021-10-01 10:30:26 -04:00
paul chipchase
ecd1bc0f16 Add a table of contents detailing the payload layout in a package providing an easy way to find info about all payloads in a package file.
#rb CarlMagnus.Nordin
#jira none
#rnx
#preflight 6156eabd7b2a62000169d451

### Current Changes
- By storing the location of the toc in the package file summary we can access the toc by reading the summary and then jumping to it. It should also be possible for external scripts to be able to do this as well.
- We currently store the identifier, the offset into the package file and the uncompressed size of payload, which will be stored in FCompressedBuffer format.
-- We don't need all this info right now but it means that the structure will be compatible with the experimental sidecar feature. It would also (hypothetically) allow us to move the offset/size info from the bulkdata objects themselves and simply rely on the toc, in which case the loading from within the package file or a sidecar file will be the same.
- When saving a package's exports we will gather a reference to each virtualized bulkdata serialized. The toc should appear before the payloads in the file but we do not know the correct info for the toc until after the payloads have been appended to the package file. So we need to write out a dummy toc that will reserve the space in the file and then after we have appended the payloads, seek back in the file and write out the correct info.

### Future Work
- Although this CL does have a number of code changes to allow this to work with text based assets there are some problems with how that format is currently saved which will prevent it from working (and currently prevents VBD from working with it as well). This will be fixed as a separate issue.
- The experimental sidecar feature uses FTocEntry but serializes a TArray to disk. This should be updated to use FPayloadToc in a later submit.

#ROBOMERGE-AUTHOR: paul.chipchase
#ROBOMERGE-SOURCE: CL 17690578 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v875-17642767)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17690585 by paul chipchase in ue5-release-engine-test branch]
2021-10-01 08:18:58 -04:00
johan torp
868cff48b1 Compile fix for Win64 ClangGame
#rb none
#rnx
#p4v-preflight-copy 17689079

#ROBOMERGE-AUTHOR: johan.torp
#ROBOMERGE-SOURCE: CL 17690321 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v875-17642767)

[CL 17690331 by johan torp in ue5-release-engine-test branch]
2021-10-01 07:17:55 -04:00
stefan boberg
f71b496ad0 Added opt-in printf format string validation for logging macros (currently implemented for MSVC only)
To opt in, please define the UE_VALIDATE_FORMAT_STRINGS macro to 1

#rb steve.robb

#ROBOMERGE-AUTHOR: stefan.boberg
#ROBOMERGE-SOURCE: CL 17689137 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v875-17642767)

[CL 17689153 by stefan boberg in ue5-release-engine-test branch]
2021-10-01 04:12:20 -04:00
robert millar
a43638b937 Modify 'List' command for investigating patch reordering issues.
Add LexToString for EIoChunkType.

#rb carlmagnus.nordin

#ROBOMERGE-AUTHOR: robert.millar
#ROBOMERGE-SOURCE: CL 17680962 in //UE5/Release-5.0/... via CL 17685338
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v875-17642767)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17685432 by robert millar in ue5-release-engine-test branch]
2021-09-30 19:54:44 -04:00
jerome delattre
a01cf9e60f Validate that the item at tail of automation latent command is indeed the item that just got completed before removing it
#jira UE-129587
#rb Chris.Constantinescu, Eric.Knapik

#ROBOMERGE-AUTHOR: jerome.delattre
#ROBOMERGE-SOURCE: CL 17684593 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v875-17642767)

[CL 17684634 by jerome delattre in ue5-release-engine-test branch]
2021-09-30 18:29:16 -04:00
johan torp
3f3c413f23 Core constexprification pass to reduce code bloat, improve performance and simplify searching for non-constexpr constants
#rb steve.robb
#jira FORT-412107

#ROBOMERGE-AUTHOR: johan.torp
#ROBOMERGE-SOURCE: CL 17679994 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v875-17642767)

[CL 17680001 by johan torp in ue5-release-engine-test branch]
2021-09-30 13:05:39 -04:00
johan torp
d8b1cf4d6b Math constant constexprification and outlining to reduce massive code bloat
#ROBOMERGE-AUTHOR: johan.torp
#ROBOMERGE-SOURCE: CL 17679918 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v875-17642767)

[CL 17679955 by johan torp in ue5-release-engine-test branch]
2021-09-30 13:03:15 -04:00
sara schvartzman
a42b7139ae Fix clear page not clearing the currently viewed page in MessageLog
#jira UE-129593
#rb halfdan.ingvarsson
#preflight 615458864751730001f8eb86

#ROBOMERGE-AUTHOR: sara.schvartzman
#ROBOMERGE-SOURCE: CL 17674725 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v875-17642767)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17674749 by sara schvartzman in ue5-release-engine-test branch]
2021-09-30 05:09:14 -04:00
carlmagnus nordin
e6c7bce3ee Remove unused names from package headers, reducing the amount of data and number of names that have to be serialzed
* Strip names that are not used when cooking for UPS
* Strip names that are not used by the loader when staging for IoStore

#preflight 615424b7f4d2a4000107be68, 615450a875fae600010d4820
#rb pj.kack, francis.hurteau

#ROBOMERGE-AUTHOR: carlmagnus.nordin
#ROBOMERGE-SOURCE: CL 17674004 in //UE5/Release-5.0/... via CL 17674013
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v875-17642767)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17674014 by carlmagnus nordin in ue5-release-engine-test branch]
2021-09-30 02:05:41 -04:00
chris constantinescu
72b02c5967 Low Level Tests: code tests built on Catch2 with multi-platform support.
Intended for writing unit, integration, functional and all types of tests.

#jira UEENGQA-49764
#rb Jerome.Delattre


#ROBOMERGE-AUTHOR: chris.constantinescu
#ROBOMERGE-SOURCE: CL 17666358 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v875-17642767)

[CL 17666384 by chris constantinescu in ue5-release-engine-test branch]
2021-09-29 15:50:57 -04:00
paul chipchase
e2ba2ad071 Fix potential crash when syncing textures from within the editor.
#rb Danny Couture
#rnx

### Problem
- The crash would occur when the texture being since contains a reference to another texture (via composite) which is also in need of syncing on the users machine.
- After the files on disk have been updated the current packages are reloaded but the original version of the texture will still be in memory when the composite texture notifies that it has been reloaded causing a texture compilation job with the older now invalid texture.
-- VirtualizedBulkData relied on out of date packages not trying to access their payloads on disk once the file has been changed, but with the above scenario it was possible. There could also be other paths causing this (even if the access of out of date package payloads at this point is a waste of time)

### Fix
- The virtualized bulkdata objects now reference themselves with the FLinkerLoader if the payload is on disk, just as the old bulkdata system did. When file changing operations are invoked, the FLinkerLoader will inform it's referenced bulkdata to load the payloads off disk and hold them in memory.
-- Note that virtualized bulkdata was trying to avoid this memory bloat by design, but if we cannot be certain that the bulkdata will not try to access the payload after the file changes (as was thought) then we must take the payload into memory.
- Added a log message to VBD if we detect that the loaded payload does not match the VBD members expectations. This log message can either be an error or a fatal error depending on the define 'VBD_CORRUPTED_PAYLOAD_IS_FATAL' (defaulted to on)
- The registration to FLinkerLoader can be easily disabled by setting the define 'VBD_ALLOW_LINKERLOADER_ATTACHMENT' to 0

### Outstanding Issues
- Cloned bulkdata objects (via assignment) do not currently register themselves to the FLinkerLoader (the old bulkdata system did not) if we were to add this then we need to make sure that the FLinkerLoader registration is thread safe. This should be done as a separate work item so that we can unblock the current workflows that this changelist addresses.
-- Note that if we did not update cloned bulkdata to work with this system then we could drop the registration and just iterate over the package's bulkdata and force them to load into memory when required. However that would leave the cloned virtual bulkdata in an uncertain state and is not desirable.
- When saving a package, the virtualized bulkdata objects that it contains will change their members so that future payload access can come from the newly saved files, where as the old bulkdata system would force the payload to remain in memory for the rest of the editor session. If we want to keep this then we will need to try and make sure that the newly updated bulkdata can be registered so that it receives future notifications about the file being changed.

#ROBOMERGE-AUTHOR: paul.chipchase
#ROBOMERGE-SOURCE: CL 17648118 via CL 17648147 via CL 17648161 via CL 17648163 via CL 17648175
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v875-17642767)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17648184 by paul chipchase in ue5-release-engine-test branch]
2021-09-28 13:05:01 -04:00
jonathan adamczewski
51b96f59cd CoreGlobals.h: aggregate-like initialization constructor for FCoreTexts
In C++20, a class that defines (or deletes) any constructor may not be aggregate-initialized.
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1008r1.pdf

This change allows FCoreTextsSingleton to perform aggregate-like initialization of FCoreTexts FCoreTextsSingleton::Texts.

#jira none
#trivial
#rb Andriy.Tylychko

#ROBOMERGE-AUTHOR: jonathan.adamczewski
#ROBOMERGE-SOURCE: CL 17648071 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v875-17642767)

[CL 17648086 by jonathan adamczewski in ue5-release-engine-test branch]
2021-09-28 12:59:35 -04:00
aurel cordonnier
487e941b4a Copying to repair whitespace.
#rnx

[CL 17646587 by aurel cordonnier in ue5-release-engine-test branch]
2021-09-28 11:27:43 -04:00
carlmagnus nordin
51c9794dea PackageStore refactor
* Decouple container concept from IoDispatcher
* Decoiuple PackageStore implementation from AsyncLoading2
* Restore ucas unmount fix that got kist when merrging from UE4
* Fix packages being left in the PackageStiore even after unmounting contaiiners

#rnx
#rb pj.kack, per.larsson
#preflight 61520cc52afc2d0001146ce7

#ROBOMERGE-AUTHOR: carlmagnus.nordin
#ROBOMERGE-SOURCE: CL 17641845 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v874-17637634)

[CL 17642353 by carlmagnus nordin in ue5-release-engine-test branch]
2021-09-28 04:00:33 -04:00
aurel cordonnier
69fe095547 Merge from Release-Engine-Staging @ 17636544 to Release-Engine-Test
This represents UE4/Main @17638339 and Dev-PerfTest @17636504

[CL 17638842 by aurel cordonnier in ue5-release-engine-test branch]
2021-09-27 19:54:25 -04:00
jason hoerner
bec8237a32 UE5: Bug fix for infinite recursion when call stack tracing code is reentered due to an allocation within the code itself when memory tracking is enabled. Added flag to block further stack tracing when this case is detected. This wasn't observed in Development builds, because the reserve size was large enough that reallocation wasn't triggered, but in Test builds, additional functions are generated by the compiler.
#rb andrew.firth jeanfrancois.dube
#rnx
#lockdown andrew.firth
#preflight 6148fc96338ee5000126865d

#ROBOMERGE-OWNER: jason.hoerner
#ROBOMERGE-AUTHOR: jason.hoerner
#ROBOMERGE-SOURCE: CL 17576932 via CL 17634163
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17634172 by jason hoerner in ue5-release-engine-test branch]
2021-09-27 14:53:05 -04:00
andriy tylychko
d44e571545 fixed reserve workers stalling on exit
[FYI] arne.schober

#ROBOMERGE-AUTHOR: andriy.tylychko
#ROBOMERGE-SOURCE: CL 17628182 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17628190 by andriy tylychko in ue5-release-engine-test branch]
2021-09-27 04:46:56 -04:00
per larsson
d8faf17ea1 CbObject: Use AsObjectId when serializing object ID's to JSON
#rb stefan.boberg
#rnx

#ROBOMERGE-AUTHOR: per.larsson
#ROBOMERGE-SOURCE: CL 17628163 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17628165 by per larsson in ue5-release-engine-test branch]
2021-09-27 04:39:48 -04:00
carlmagnus nordin
00583f9764 Restored static analysis warning fixes that got lost when merging
#rnx

#ROBOMERGE-AUTHOR: carlmagnus.nordin
#ROBOMERGE-SOURCE: CL 17607910 via CL 17607912 via CL 17607924 via CL 17616735 via CL 17616808
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v871-17566257)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17616845 by carlmagnus nordin in ue5-release-engine-test branch]
2021-09-23 19:19:56 -04:00