*Make FPlatformMemory::GetStats cache memory stats per frame to prevent multiple costly platform calls per frame ( by default, has option to request non-cached values ).
*Update some calls to FPlatformMemory::GetStats to specifically request non-cached values.
[REVIEW] [at]evgenii.babinets [at]andrew.ladenberger
#preflight 634a04c0907f4749392d75d0
[CL 22545788 by evgenii babinets in ue5-main branch]
- Fixed Mac Perforce exe location discovery code for when there are multiple p4's found
#rb brandon.schaefer
#preflight 6321074729254beccb943f5f
[CL 21995231 by Josh Adams in ue5-main branch]
Metal 2.3 removed, Metal 3.0 added for Mac
#jira UE-163352
#rb adam.kinge bertrand.carre
#preflight 631ea7eb94758d0bf2008668
[CL 21960671 by axel riffard in ue5-main branch]
This will ensure correct Engine/Binaries/Mac path is returned for these types of apps.
#preflight 6310090d556fc14dcea7639c, 6310090198103d4521dc5ddd, 630ee874660db81edba910ca
#jira UE-161547
#rb Josh.Adams, Jerome.Delattre
[CL 21740699 by chris constantinescu in ue5-main branch]
Fix crash handler for Apple Silicon
The infinite loop workaround is no longer needed. Arm64 is now capable of generating the same level of crash report as x86_64 counterpart.
#jira UE-154432: Fix crash handler for Apple Silicon
#rb Brandon.Schaefer, Zack.Neyland
#preflight 630fbe70e54ec9d581b8da5c
[CL 21727728 by calvin zheng in ue5-main branch]
This change was used for debugging and was triggering Horde warnings
#fyi Axel.Riffard, Will.Damon, Adam.Kinge
#jira UE-159618
#rb None
#preflight None
[CL 21143935 by Jack Porter in ue5-main branch]
Panic allows only one thread to become the panic thread. In panic mode, logs are only sent to panic-safe output devices. Each call to Panic flushes buffered logs to panic-safe output devices, and flushes panic-safe output devices.
#jira UE-147152
#preflight 62424814292f228e09d8a612
#rb Zousar.Shaker
#fyi Brandon.Schaefer
[CL 19545093 by Devin Doucette in ue5-main branch]
Not all were converted because they were designed for packaged applications whereas low level tests are designed to run as "native" non-packaged applications.
- reporting support for non-desktop platforms, for the moment Catch2 report type "console" is used that is sent to a .out file
- most number of tests possible running multi platform, slower tests excluded on incremental builds
- slow tests are moved to run on the monolithic build
- Catch2 report failure event listener such that Horde detects them as build errors. Must add new Horde matcher for Catch2 failures
#rb Mark.Lintott
#preflight 623c8de389625f0612dabd64
[CL 19498448 by chris constantinescu in ue5-main branch]
These functions don't allocate memory like "NSArray *Args = [[NSProcessInfo processInfo] arguments];" does.
This fixes initialization crash in UnrealLightmass:
* Embree has a global ctor embree::registerRegressionTest which adds to a std::vector which does an operator new.
* That called FMemory::Malloc and FMacPlatformMemory::BaseAllocator for the first time.
* BaseAllocator does an allocation here:
- NSArray *Args = [[NSProcessInfo processInfo] arguments];
* And now we're in a spot where CFAllocatorAllocate calls malloc_zone_malloc to alloc some memory where:
- __CFAllocatorCustomMalloc --> CFAllocatorAllocate --> malloc_zone_malloc --> __CFAllocatorCustomMalloc --> rinse, lather, repeat...
And we're in recursive death.
[REVIEW] [at]Will.Damon
[FYI] Juan.Canada
#jira UE-126266
#preflight trivial
#ROBOMERGE-AUTHOR: michael.sartain
#ROBOMERGE-SOURCE: CL 18813604 in //UE5/Release-5.0/... via CL 18813614 via CL 18822764
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)
[CL 18824297 by michael sartain in ue5-main branch]