Commit Graph

814 Commits

Author SHA1 Message Date
wouter dek
3ae5c6c895 Convert shader type and parameter struct metadata from global variables to static locals to defer initialization. This allows us to create these types dynamically at startup, while keeping the rest of the infrastructure as is.
#rb jason.nadro
#preflight 63f352130803c73accb744f1

[CL 24311526 by wouter dek in ue5-main branch]
2023-02-20 06:10:39 -05:00
sebastien lussier
49e34df07a WorldPartition - Builder commandlet: Added new option -RunningFromUnrealEd
* Skips the error(s) / warning(s) summary at the end of the commandlet execution, with the side effect of binding the process exit code to the actual result of the commandlet
* Enables FastExit to exit the process as soon as the commandlet finishes, which avoids possible crashes during shutdown. The engine isn't shutdown cleanly.

#rb jeanfrancois.dube

[CL 24291575 by sebastien lussier in ue5-main branch]
2023-02-17 16:41:38 -05:00
nick edwards
48d84b3177 Fix format string in ensure on commandlet error
[FYI] graeme.thornton

[CL 24285239 by nick edwards in ue5-main branch]
2023-02-17 12:44:39 -05:00
andrew scheidecker
a21864f315 Fix some Core/AssetRegistry/LaunchEngineLoop code that was invoking undefined behavior:
- Calling memcpy/memset/memcmp with null arguments.
- Binding a reference to a null value.
#rb Matt.Peters, Steve.Robb
#preflight 63ecca1b956709374aff8efe

[CL 24251461 by andrew scheidecker in ue5-main branch]
2023-02-16 01:45:11 -05:00
Arciel Rekman
84d3f99470 [Backout] - CL24227640
#fyi wouter.dek

The problem with this change is that late-created shader types will not be in the shadertype list and as such will not be included in the shader map even if their ShouldCompilePermutation() would return true.

Original CL Desc
-----------------------------------------------------------------
Convert shader type and parameter struct metadata from global variables to static locals to defer initialization. This allows us to create these types dynamically at startup, while keeping the rest of the infrastructure as is.

#preflight 63eca58e7d2ec3d2fd286d9a
#rb zach.bethel

[CL 24240825 by Arciel Rekman in ue5-main branch]
2023-02-15 15:57:24 -05:00
wouter dek
7a70fa6a8f Convert shader type and parameter struct metadata from global variables to static locals to defer initialization. This allows us to create these types dynamically at startup, while keeping the rest of the infrastructure as is.
#preflight 63eca58e7d2ec3d2fd286d9a
#rb zach.bethel

[CL 24227640 by wouter dek in ue5-main branch]
2023-02-15 05:55:29 -05:00
zach bethel
9911a6581b Coalesced UpdateAllPrimitiveSceneInfo calls into one call prior to scene rendering. This includes all {Add, Remove}Level instances and a spot on the game thread where all scenes are updated. The former case is handled by deferring level adds / removes until UpdateAllScenePrimitiveInfos is called. The latter processes scenes at the end of the frame only if they weren't already processed by a render event.
This coalescing has a few benefits. First, it allows async LPI and mesh command creation jobs to handle level streaming events. Second, batches more work together which opens more doors to parallelization in follow-up CL's.

Finally, this change splits the mesh caching jobs for nanite and ray tracing off into their own tasks, which improves parallelism.

#preflight 63ea8a675d72661e36f1a9b9

[CL 24195188 by zach bethel in ue5-main branch]
2023-02-13 18:49:51 -05:00
Josh Adams
afe4c715df - Fixed quotes being removed from FCommandLine parameters when breaking it up, removing entry 0, then restoring the commandline
- Moved a static function from LaunchEngineLoop.h that was never used externally to a static in LaunchEngineLoop.cpp
#rb Wojciech.Krywult
#jira none
#preflight 63e3c6ce902d6ba787d24a9e

[CL 24073758 by Josh Adams in ue5-main branch]
2023-02-08 11:19:55 -05:00
Tim Smith
4deeabc0b0 Removed GIsUCCMakeStandaloneHeaderGenerator since C++ UHT no longer uses engine types.
#rb steve.robb
#preflight 63e273d5786751d1e0edfa7b
#preflight 63e279731020773a3f3676ca

[CL 24050722 by Tim Smith in ue5-main branch]
2023-02-07 11:38:10 -05:00
danny couture
028af4c2da Add -fastexit command-line argument to terminate process as soon as a commandlet has finished
- Saves 3.3s at the end of a small warm cook

#rnx
#rb PJ.Kack
#preflight 63e25c803c44c83044b4935b

[CL 24049696 by danny couture in ue5-main branch]
2023-02-07 11:01:00 -05:00
mihnea balta
85fb8b084e Move RHI unit tests later in the engine startup sequence, after the various render and RHI threads are started.
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]
2023-02-07 09:59:17 -05:00
jamie dale
8cb2b15380 Don't trigger plugin module loading when querying which plugins have localization data
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]
2023-02-01 19:26:45 -05:00
logan buchy
df646765ff Add EnginePreInitMemory LLM tag to EnginePreInitPostStartupScreen
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]
2023-01-31 16:36:19 -05:00
tim smith
a6a1bcf63b Fixed issue with LiveCoding where large projects might not have enough memory reserved around libraries preventing patching.
#rb josh.adams, self
#preflight 63d9550fba4fadeef097c212

[CL 23935004 by tim smith in ue5-main branch]
2023-01-31 14:46:34 -05:00
jamie dale
67270eb0f6 Implemented async loading of localization data, and extended dynamic loading to handle explicitly loaded plugins
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]
2023-01-27 14:20:09 -05:00
danny couture
739e665628 Load WorldPartitionEditor module at editor boot to avoid trying to load it from ALT during object construction
#rnx
#rb JeanFrancois.Dube
#preflight 63d15045033e457ba8d5eb01

[CL 23848704 by danny couture in ue5-main branch]
2023-01-25 11:04:41 -05:00
graeme thornton
4036a16859 Move "ensure on commandlet error" processing into its own function so that crashreports have a more informative callstack. Also move it AFTER we print out the warning/error summary so that information is included in crash reports.
[FYI] daniel.lamb
#preflight 63d118b06730a500ff3c6bf2

[CL 23847017 by graeme thornton in ue5-main branch]
2023-01-25 09:11:00 -05:00
jason hoerner
38521eae14 Multi-GPU: strip out Alternate Frame Rendering (AFR). Michal Valient requested this for 5.2. AFR has heavily decayed in 5.0, not supporting Lumen, Nanite, VSMs. and likely other newer features, and it's impossible even in principle to get most of those features to ever work in a performant way, due to their temporal nature. Removing this lowers maintenance and support costs for MGPU going forward.
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]
2023-01-23 15:30:48 -05:00
guillaume abadie
683af38c82 Adds GPU usages statistics to CSV profiles
#rb ben.woodhouse
[FYI] ben.woodhouse, james.doverspike
#preflight 63c9c1fde3138815651e41ec

[CL 23795972 by guillaume abadie in ue5-main branch]
2023-01-20 15:27:48 -05:00
devin doucette
f95ac69088 Logging: Added localized structured logging
#jira UE-152840
#preflight 63c956b0b0652247502c0aa4
#rb Zousar.Shaker
#rnx

[CL 23774536 by devin doucette in ue5-main branch]
2023-01-19 11:25:58 -05:00
Patrick Boutot
119f9eebe0 Add a TargetRule to remove FixedTimeStep/Deterministic mode from a project.
#jira UE-173425
#review-23644552 https://p4-swarm.epicgames.net/reviews/23591960
#rb marin.sevigny
#preflight 63bebe4f6729b05ec94a31fb

[CL 23644806 by Patrick Boutot in ue5-main branch]
2023-01-11 09:26:04 -05:00
dan elksnitis
1ce31cc94c [shaders] free global shadermaps on shutdown; this needs to happen prior to shader code library shutdown (as the latter will check and fire warnings if any shadermaps still have references).
#jira UE-171304
#preflight 63bd724fc45a2c81e0ff16bf
#rb Arciel.Rekman

[CL 23632553 by dan elksnitis in ue5-main branch]
2023-01-10 15:48:37 -05:00
christopher waters
8fd10b0e13 Dependency cleanup around some Rendering headers.
#preflight 63b893e547321b9d895924b0

[CL 23605570 by christopher waters in ue5-main branch]
2023-01-06 18:57:09 -05:00
christopher waters
447bc4c130 Header dependency cleanup around Mesh Cards and some Renderer headers.
#preflight 63b6fd31577437afe6631d0b

[CL 23592507 by christopher waters in ue5-main branch]
2023-01-05 16:11:09 -05:00
devin doucette
3c91f3ac0d Logging: Added -JsonStdOut param to write structured log output to stdout
#jira UE-152840
#preflight 639cb57a0a67152550f8a2e1
#rb Zousar.Shaker

[CL 23540463 by devin doucette in ue5-main branch]
2022-12-16 14:24:10 -05:00