This applies to running the tests via the -rhiunittest command line flag. Running them via the automation framework was already happening at the correct time.
#rnx
#jira none
#preflight trivial
#rb Luke.Thatcher
[CL 24048408 by mihnea balta in ue5-main branch]
GetLocalizationPathsForEnabledPlugins will now avoid loading any plugin modules (from its previous call to ConfigureEnabledPlugins), and any plugins that become enabled between GetLocalizationPathsForEnabledPlugins calls will explicitly notify that their localization data is available (as already happens for explicitly loaded plugins).
#preflight 63da96dc7a39a18021762488
#rb Robert.Manuszewski, Rex.Hill
#rnx
[CL 23961030 by jamie dale in ue5-main branch]
Fixes several untagged allocations which occur during this phase of engine startup.
#jira UE-153501
#preflight 63d9874ccf52968117d955c0
[CL 23938166 by logan buchy in ue5-main branch]
This change takes the existing async loading that was added for game localization data in CL# 14661627 and expands it to cover all localization data. Async localization tasks are chained together as dependencies to preserve the existing order of operations (plus going wide doesn't help due to contention on the live-table), and can be waited on at any point (eg, after a loading screen) by calling FTextLocalizationManager::WaitForAsyncTasks (though the engine init flow takes care of waiting for you unless you're loading additional plugin/chunked localization data).
This change takes the existing support for dynamically loading chunked localization data on PAK chunk load, and extends it to support dynamically loading any additional localization data. This is used by the engine to support dynamically loading the localization targets associated with explicitly loaded plugins. These loads are all async, so must be waited on if you need them to block.
Note: BeginInitGameTextLocalization and EndInitGameTextLocalization have been removed as part of this change. You would now just use InitGameTextLocalization (which is async) followed by FTextLocalizationManager::WaitForAsyncTasks.
#preflight 63d28b12a2003ee58af50146
#rb Leon.Huang, Rex.Hill
[CL 23888558 by jamie dale in ue5-main branch]
A lot of files touched, but generally it's a mechanical matter of removing the global variable GNumAlternateFrameRenderingGroups, and treating all code using it as if it's a fixed constant of one. If a conditional becomes always false, the code block is removed. Certain utility functions only called from dead stripped AFR code are then removed (e.g. RHIBroadcastTemporalEffect). On the D3D11 side, RHIBeginUpdateMultiFrameResource / RHIEndUpdateMultiFrameResource become NOPs (return at the top of the function) when GNumAlternateFrameRenderingGroups is 1, so those are removed across the board.
#jira none
#rb jason.nadro
#preflight 63cea0afb91ac945f5117110
[CL 23820752 by jason hoerner in ue5-main branch]
Project name should be passed as first argument all times.
Revertws CL 21706201 which was more of a patch than a real solution to the problem
#jira UE-170799
#preflight 6384f2397b4bd3f0571c82a7
#rb Jerome.Delattre
[CL 23356237 by chris constantinescu in ue5-main branch]
Change when ImageNtHeader is called to PreInitPostStartupScreen. This is after some hidden DbgHelp initialization is done so future calls to SymFromAddr succeed. There is not a clear answer for when ImageNtHeader can be called but where it was before was too early.
This is potentially an issue with large PDBs
This issue only was seen to reproduce in monolithic exes
[REVIEW] [at]Bob.Tellez [at]Devin.Doucette [at]Robert.Millar [at]Gary.Yuan [at]Joe.Kirchoff
#preflight 636c0f617c2b505190240d9b
[CL 23071975 by eric knapik in ue5-main branch]