Commit Graph

611 Commits

Author SHA1 Message Date
john huelin
8f6a2a6216 Disable buffer overrun warning false positive in order to support FastGenPGO.
[REVIEW] [at]mickael.gilabert, [at]david.harvey
#rnx

[CL 24120599 by john huelin in ue5-main branch]
2023-02-10 11:18:38 -05:00
henrik karlsson
c8c3d0b8b2 [Core]
* Made code compatible with modules/header units. This includes following things:
   * Removed static in front of global functions/variables (static indicates it is hidden outside of module/header unit which is not what many places want...)
   * Moved dllexport from type to methods in order to get dllexport of static constexpr fields. This is supposed to work according to microsoft but since it is a good change I don't mind doing it anyway)
   * static constexpr -> static constexpr inline for member variables and methods (this makes them available outside module/headerunit)
   * Added HEADER_UNIT_IGNORE markup to includes that are circular
   * Added HEADER_UNIT_SKIP to files that can't compile by themselves

#preflight 63e2aeba3c44c83044bfcc75
#rb steve.robb

[CL 24066986 by henrik karlsson in ue5-main branch]
2023-02-08 00:25:15 -05:00
henrik karlsson
043e1eaf7a Fixed so client can build with non unity/pch
#preflight 63d329f85c69f453c1ebe970
#rb none

[CL 23889322 by henrik karlsson in ue5-main branch]
2023-01-27 14:45:29 -05:00
bryan sefcik
05da7baec0 Disabled TBB for ARM64.
Re-enabled mimalloc for ARM64.
#preflight 63d2f1fe5d0c0164cc3f831d

[CL 23876143 by bryan sefcik in ue5-main branch]
2023-01-26 16:52:38 -05:00
Tim Smith
0fb5daa752 Removed HACK_HEADER_GENERATOR
#rb devin.doucette
#preflight 63cad02ca265157a6d5159af

[CL 23792667 by Tim Smith in ue5-main branch]
2023-01-20 12:47:21 -05:00
Johan Torp
4a777d69aa Deprecate half-implemented and unused FPlatformMisc::GetCacheLineSize to get runtime cache line size
We currently have no use case for a runtime-queried cache line size and the function only existed on a subset of our supported platforms

#rb steve.robb
#jira none
#preflight 63c6c73f0225f00e1488c828

[CL 23739143 by Johan Torp in ue5-main branch]
2023-01-17 11:27:47 -05:00
johan torp
273c575954 Add prefetch support for mobile platforms and fuse all platforms into a single implementation
Switch Unix from runtime to compile time cache line constant to avoid loading a value for every PrefetchBlock and allow the compiler to unroll the loop.

#rb josh.adams,arciel.rekman,dmytro.vovk,steve.robb
#preflight 63bed66a577437afe6c44c91

[CL 23660061 by johan torp in ue5-main branch]
2023-01-12 04:26:04 -05:00
Dan Thompson
0d3889b2e0 UE5 CPU minspec updated to SSE 4.2
#preflight 63b859fc68068a8bd62e9d32
#rb jeff.roberts
#rb fabian.giesen
#rb halfdan.ingvarsson

Tried to run automation tests but it's basically a red board right now. I ran two, one with these changes and one without, and they seem to be basically the same errors, however there are so many and I can't really cross compare easily.

base automation tests: 63b8a5dcaf3ebedd990b7dfe
preflight automation tests: 63b87801221aab21e08d5973
#preflight 63bc93e9577437afe6fbe45a

[CL 23621334 by Dan Thompson in ue5-main branch]
2023-01-09 17:42:09 -05:00
Andriy Tylychko
7dda79180b fixed MSVC static analysis warning
#preflight 639b0e2635203bc7aa51da02

[CL 23525926 by Andriy Tylychko in ue5-main branch]
2022-12-15 08:01:59 -05:00
Andriy Tylychko
ffdb132ccc fixed some of static analysis warnings reported here: https://horde.devtools.epicgames.com/job/6398595e2960b73220e958d3?step=1b3d
#preflight 6398680d35203bc7aa5bd7ec

[CL 23490169 by Andriy Tylychko in ue5-main branch]
2022-12-13 07:09:24 -05:00
danny couture
ff5c527a40 Fix general regression caused by mimalloc not being enabled by default for editor builds anymore
#jira UE-172553
#rb Bryan.Sefcik
#preflight cbdb8c64c74ac85704fe

[CL 23485585 by danny couture in ue5-main branch]
2022-12-12 20:02:15 -05:00
evgenii babinets
1e1fd771bc Changing eligible platforms to use ANSI for profiler strings to reduce the necessary additional memory required. They were previously using wide strings because using ANSI strings incurred a conversion to wide-char in order to use the wide API, but the API has since been fixed.
#rb jordan.cristiano

[CL 23480110 by evgenii babinets in ue5-main branch]
2022-12-12 13:39:29 -05:00
Andriy Tylychko
f597f3dcc5 fixed copyright notice
#preflight trivial

[CL 23477026 by Andriy Tylychko in ue5-main branch]
2022-12-12 08:31:35 -05:00
Andriy Tylychko
60573a80be system semaphore
#preflight 638f5df91776b8c21c9a610e
#rb devin.doucette, francis.hurteau

[CL 23476786 by Andriy Tylychko in ue5-main branch]
2022-12-12 07:40:30 -05:00
bryan sefcik
c998a06737 Fixes to get arm64 and arm64ec to partially compile.
#jira
#fyi josh.adams
#preflight 6392612567018b14b5af1d5f

[CL 23456665 by bryan sefcik in ue5-main branch]
2022-12-08 17:28:30 -05:00
bryan sefcik
19278a52ae Added a dll cache for the directories added using AddDllDirectory.
LoadLibraryWithSearchPaths:
Before:13s 615ms
After:9s 199

#jira
#rb devin.doucette
#preflight 638130d7170bc34a93c98fcf

[CL 23270811 by bryan sefcik in ue5-main branch]
2022-11-25 19:21:18 -05:00
paul chipchase
d66a7b4a76 Fix ApplicationVerifier errors by not leaving FWindowsRWLock on destruction.
#rb Andriy.Tylychko
#jira none
#preflight 636b8d93a550a2a759f46dfb

- We were checking if the SRW was locked or not in the destructor, but we did this by trying to acquire the lock, meaning that it would always be in the locked state when destroyed.
- Technically this is causing no issues but it does cause ApplicationVerifier to throw errors, which makes it hard to use the tool to find actual problems.
- Added a private method ::IsLocked which will do the acquire but also unacquire the lock before returning meaning we are in the correct state by the time that the destructor ends.

[CL 23246576 by paul chipchase in ue5-main branch]
2022-11-23 03:52:30 -05:00
Joe Kirchoff
afe8737c64 Suppress warnings in Windows SDK headers that weren't wrapped with THIRD_PARTY_INCLUDES_START
#rnx
#rb trivial
#preflight 63780330170bc34a938304d7

[CL 23208584 by Joe Kirchoff in ue5-main branch]
2022-11-18 18:09:50 -05:00
henrik karlsson
56e354a63e [Core]
* Fixed so all headers that are supposed to be included independently can compile (there are headers that must be included through other headers)

* Added HEADER_UNIT_SKIP to headers that must be included through others

* Added HEADER_UNIT_UNSUPPORTED to headers that are not supported by platform but is part of the include list anyway (files in Clang folder and pthread files).

* Added HEADER_UNIT_UNSUPPORTED to headers that have bad dependencies and include files from modules they don't depend on. (KeyChainUtilities.h and PackageWriter.h)

#preflight 637281309e3bea8079feb733
#rb devin.doucette

[CL 23127795 by henrik karlsson in ue5-main branch]
2022-11-14 17:08:04 -05:00
joe pribele
4e92aea636 fix for PrintScriptCallStack crashing when called from the immedieate window
changed `FWindowsPlatformMisc::IsLocalPrintThreadSafe` to return true if attached in the debugger this allows log calls to immediately print to the debug window

a follow up change is necessary to allow for attaching after the process has started
#preflight 63727f813248425305e8a6a1

[CL 23121763 by joe pribele in ue5-main branch]
2022-11-14 13:16:47 -05:00
Matt Peters
40185c7e66 WindowsPlatformMemory: Change the behavior of FGenericPlatformMemoryStats::GetMemoryPressureStatus on Windows; it now uses QueryMemoryResourceNotification instead of the generic implementation.
Cooker: In MPCook Collect garbage based on the Operating System's MemoryPressure event, so that Standby memory does not cause spurious garbage collection.
In all cook modes, tweak the output during garbage collection to have less duplicate information.
In all cook modes, add a cooldown for GC when garbage collection is not impactful.
#rn Minor, Core
#rb Zousar.Shaker, Danny.Couture
#preflight 636d69761c14fe4505163289

[CL 23088442 by Matt Peters in ue5-main branch]
2022-11-10 17:17:20 -05:00
christopher waters
6839d7b40d D3D12 Support logging improvements
- Log out more DXGI Adapter information when enumerating adapters in D3D12RHI.
- Log out more SM6 relevant information when enumerating adapters in D3D12RHI.
- Log out driver versions when enumerating adapters in D3D12RHI. Had to silence all the log output from FPlatformMisc::GetGPUDriverInfo to make this usable.
- Adding more logging when D3D12 reports it's not supported.
- Adding more logging to WindowsDynamicRHI so it's easier to track what a system did and didn't support.
- Adding -ForceDisableSM6 command line flag to force D3D12RHI to think it doesn't support ERHIFeatureLevel::SM6.
- Adding -ForceZeroAdapters command line flag to simulate when D3D12RHI can't find any valid adapters.

#rb mihnea.balta
#preflight 6362a1c9522c8f7ab34253ed

[CL 22937800 by christopher waters in ue5-main branch]
2022-11-02 23:03:55 -04:00
Matt Peters
8b82c5d515 Mimalloc changes to support LLM:
Define MI_USE_EXTERNAL_ALLOCATORS and override mimalloc's call to VirtualAlloc/VirtualFree to record the amount committed/decommitted to LLM.
#rb Danny.Couture
#rn LLM, Minor
#preflight 6362cb579160784fc327dbc3

[CL 22926014 by Matt Peters in ue5-main branch]
2022-11-02 16:38:07 -04:00
sarah noonan
1a993b9ada *Remove per-frame caching of stats from FPlaformMemory::GetStats and move caching into helper function.
*Update common callers of FPlaformMemory::GetStats to use the helper.
[REVIEW] [at]matt.peters

[CL 22596606 by sarah noonan in ue5-main branch]
2022-10-18 07:22:43 -04:00
evgenii babinets
528585a552 Merging with resolved conflicts on behalf of sarah.noonan. Original CL description:
*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]
2022-10-14 21:13:08 -04:00