Commit Graph

781 Commits

Author SHA1 Message Date
eric knapik
092f231384 #jira: FORT-537062
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]
2022-11-10 01:15:33 -05:00
dmitriy dyomin
4b5592fb91 Fixed: Reported memory leaks on Android Vulkan
Android had UObject system teardown disabled
#jira UE-165095
#rb allan.bentham

[CL 23004067 by dmitriy dyomin in ue5-main branch]
2022-11-06 07:39:50 -05:00
henrik karlsson
4a36cfe8ff Moved operator== to be hidden friend instead of put directly in global namespace
Moved GetTypeHash function to be hidden friend instead of put directly in global namespace.

Note that the function/operator needs to be fully inlined in the type or placed in the cpp. If the function is added as friend but then implemented outside the type then hidden friend optimization won't work.

This should improve compile time somewhat according to msvc devs.

#rb Steve.Robb
#preflight 6360b7052b5338aceb26471b

[CL 22889837 by henrik karlsson in ue5-main branch]
2022-11-01 15:50:27 -04:00
Devin Doucette
35188549a7 Logging: Start the dedicated thread later to fix missing logs during early initialization
Starting the thread allows it to flush buffered lines, which is problematic if it happens before the default output devices have been initialized. Wait until after they are initialized by AppInit before starting the dedicated thread.

#jira UE-168823
#preflight 63603ed866696ca050784407
#rb Matt.Peters
#rnx

[CL 22882224 by Devin Doucette in ue5-main branch]
2022-11-01 10:23:02 -04:00
juliet dipietro
b712f039fe Adding ISR & Multiview Logging at runtime initialization::
Moved MMV exit code to it's own function
#rb robert.srinivasiah, Arciel.Rekman #preflight 22486450 #jira UE-168613

[CL 22820432 by juliet dipietro in ue5-main branch]
2022-10-27 19:22:17 -04:00
henrik karlsson
b5b86c796c This change is a strategical submit for a coming change that removes lots of includes in headers that are included by many files. This change contains adding of includes in files that previously got those includes transitively from other inclkudes
#preflight 6355d4940313c24974b2107b
#rb none

[CL 22783162 by henrik karlsson in ue5-main branch]
2022-10-26 12:57:32 -04:00
wojciech krywult
bc699cdb4e Command line: EngineLoop: Reworked the way we handle command-line parameters during initialization to allow more flexibility (project/game name).
NOTE: Restoring CL 22626782 after it was backed out in CL 22658209. Resolved the problem by using a different FParse::Token overload.

Previously, it was assumed that the first parameter was the project path (.uproject) or the game name. The next one was optionally a map override name or a commandlet. While this expectation makes sense, it was difficult to comply given that on some platforms and some launch modes we combine command-line parameters provided to the executable (e.g. from Visual Studio) with ones in uecommandline.txt script. We had some conflicting requirements and because of that certain launch scenarios didn't work.

Modified the code to look for the game name / project path withing all the parameters, regardless of the position. Other than that, I've tried to preserve the preexisting behavior. In a few places I've updated the code to allow other switches at arbitrary location withing the command line.

Testing done:
   * Editor: no parameters (project selector); running commandlets (short and long names and/or -run=) with different sets of parameters; running the editor with different parameters; running the game (-game)
   * Game (cpp + bp): running commandlets (short and long names) with different parameters; running the game with different combonations of project, map and other switches.

#preflight
#rb David.Harvey
#jira UE-99467 UE-159599

#rn fix core Allowed more flexibility when looking for the project name command-line parameter. Previously, it was expected to be always the first parameter. Now, we check all the provided parameters. It fixes some launch scenarios (e.g. launching blueprint-only projects with additional command-line parameters) that didn't work due to the fixed order in which we combine command-line parameters with the contents of uecommandline.txt script.

[CL 22666957 by wojciech krywult in ue5-main branch]
2022-10-20 15:27:07 -04:00
Josh Adams
113ebcc343 - Fixed a #include to use "" instead of <>
#rb trivial
#jira none
#preflight 63519c65777a77c440f16cd5

[CL 22666643 by Josh Adams in ue5-main branch]
2022-10-20 15:19:02 -04:00
wojciech krywult
23acb99f7e [Backout] - CL22626782 (FParse::Token helper function that I happen to use in the original CL turns out to have a 1024 byte buffer internally, which leads to command-line arguments being truncated; I need to rework the change and avoid using this helper, but backing out in the meantime)
#fyi Wojciech.Krywult
Original CL Desc
-----------------------------------------------------------------
Command line: EngineLoop: Reworked the way we handle command-line parameters during initialization to allow more flexibility (project/game name).

Previously, it was assumed that the first parameter was the project path (.uproject) or the game name. The next one was optionally a map override name or a commandlet. While this expectation makes sense, it was difficult to comply given that on some platforms and some launch modes we combine command-line parameters provided to the executable (e.g. from Visual Studio) with ones in uecommandline.txt script. We had some conflicting requirements and because of that certain launch scenarios didn't work.

Modified the code to look for the game name / project path withing all the parameters, regardless of the position. Other than that, I've tried to preserve the preexisting behavior. In a few places I've updated the code to allow other switches at arbitrary location withing the command line.

Testing done:
   * Editor: no parameters (project selector); running commandlets (short and long names and/or -run=) with different sets of parameters; running the editor with different parameters; running the game (-game)
   * Game (cpp + bp): running commandlets (short and long names) with different parameters; running the game with different combonations of project, map and other switches.

#preflight
#rb David.Harvey
#jira UE-99467 UE-159599

#rn fix core Allowed more flexibility when looking for the project name command-line parameter. Previously, it was expected to be always the first parameter. Now, we check all the provided parameters. It fixes some launch scenarios (e.g. launching blueprint-only projects with additional command-line parameters) that didn't work due to the fixed order in which we combine command-line parameters with the contents of uecommandline.txt script.

[CL 22658209 by wojciech krywult in ue5-main branch]
2022-10-20 11:56:30 -04:00
Wojciech Krywult
c9118e07e4 Command line: EngineLoop: Reworked the way we handle command-line parameters during initialization to allow more flexibility (project/game name).
Previously, it was assumed that the first parameter was the project path (.uproject) or the game name. The next one was optionally a map override name or a commandlet. While this expectation makes sense, it was difficult to comply given that on some platforms and some launch modes we combine command-line parameters provided to the executable (e.g. from Visual Studio) with ones in uecommandline.txt script. We had some conflicting requirements and because of that certain launch scenarios didn't work.

Modified the code to look for the game name / project path withing all the parameters, regardless of the position. Other than that, I've tried to preserve the preexisting behavior. In a few places I've updated the code to allow other switches at arbitrary location withing the command line.

Testing done:
   * Editor: no parameters (project selector); running commandlets (short and long names and/or -run=) with different sets of parameters; running the editor with different parameters; running the game (-game)
   * Game (cpp + bp): running commandlets (short and long names) with different parameters; running the game with different combonations of project, map and other switches.

#preflight
#rb David.Harvey
#jira UE-99467 UE-159599

#rn fix core Allowed more flexibility when looking for the project name command-line parameter. Previously, it was expected to be always the first parameter. Now, we check all the provided parameters. It fixes some launch scenarios (e.g. launching blueprint-only projects with additional command-line parameters) that didn't work due to the fixed order in which we combine command-line parameters with the contents of uecommandline.txt script.

[CL 22626782 by Wojciech Krywult in ue5-main branch]
2022-10-19 11:46:11 -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
graeme thornton
00b5c9fb22 Global function IsRunningDLCCookCommandlet() which determines if we're running the cook commandlet with -dlcname specified
#rb devlin.willis

[CL 22537529 by graeme thornton in ue5-main branch]
2022-10-14 18:31:52 -04:00
Dan Thompson
5c5f32408a Print commandlet execution time in hms
#rb devin.doucette
#preflight 634473dd360ee7edea1b2583

[CL 22437988 by Dan Thompson in ue5-main branch]
2022-10-10 16:02:03 -04:00
arciel rekman
cda434d14f When refusing to run due to ISR, avoid getting stuck if the run is unattended.
- Should be handled in MessageBoxExt function itself but it is not yet implemented across all platforms.

#rb Brandon.Schaefer
[REVIEW] [at]Zousar.Shaker, [at]Brandon.Schaefer, [at]Robert.Srinivasiah
#jira none
#preflight none

[CL 22284259 by arciel rekman in ue5-main branch]
2022-09-30 19:25:18 -04:00
arciel rekman
0742e77d1d Fix duplicate loctext and init problems in commandlets (UE-165492).
#rb none
#jira UE-165492
#preflight none

[CL 22262821 by arciel rekman in ue5-main branch]
2022-09-29 23:44:48 -04:00
Luke Thatcher
91ce45971a Restore changes lost when the DevPR copy-up robomerged back to UE5 Main
#rb none
#preflight skip
#jira none

[CL 22245170 by Luke Thatcher in ue5-main branch]
2022-09-29 06:31:56 -04:00
elizabeth baumel
5c94e27b3c Add missing LLM tracking tags. Went from >40000 untagged allocations to about 4400 in QA game. Most of the untagged allocations were CVars. The remaining untracked allocations are largely from dynamic initializers and static/const data.
#rb kenzo.terelst
#jira UE-155266
#jira UE-155196
#preflight 6334ab8eee7b13756dcee727

[CL 22240429 by elizabeth baumel in ue5-main branch]
2022-09-28 22:21:04 -04:00
luke thatcher
0c5c2b3e27 Merging //UE5/Dev-ParallelRendering (up to CL 22203289) to //UE5/Release-5.1
This change includes significant refactor work performed in //UE5/Dev-ParallelRendering. A brief summary of the work is as follows:

Refactored RHI command lists
 - Removal of the "immediate" async compute command list
 - Introduced an "active pipe" on each command list, allowing RHICmdLists to record work for either graphics or async compute. Pipes can be selected using the SwitchPipeline() function, or the FRHICommandListScopedPipeline helper.
 - New explicit command list submission RHI API (RHIFinalizeContext, RHISubmitCommandLists). The IRHICommandContextContainer type has been removed.
 - Explicit GPU submission is automatically appended to the immediate command list when it is dispatched to the RHI thread.

Platform RHI implementations
 - The new submission API has been implemented across all platforms. Some platforms required a significant refactor.

#rb Mihnea.Balta,Kenzo.Terelst
#jira UE-139550
#preflight 6332e3641003050806d802ef

[CL 22239063 by luke thatcher in ue5-main branch]
2022-09-28 21:40:05 -04:00
Arciel Rekman
458918e6fd Remove clip distance method of ISR (UE-162244)
- Assume support during the cook, do the actual check in runtime and exit if not supported.
- This slightly increases the minspec for PC projects that ship ISR to D3D 11.3 (2014-2015 level hardware).

#rb Jules.Blok, Robert.Srinivasiah
#review @Jules.Blok, @Robert.Srinivasiah
#jira UE-162244
#preflight 632b4d6cb4515b7e2272620d

[CL 22207954 by Arciel Rekman in ue5-main branch]
2022-09-27 14:35:58 -04:00
Arciel Rekman
7e6e0fdd8c Fix server crash accesing the global SM.
#rb none
#jira none (yet?)
#preflight none

[CL 22132424 by Arciel Rekman in ue5-main branch]
2022-09-21 23:20:04 -04:00
Arciel Rekman
0a803fe046 Allow global shaders to load before precaching PSOs (UE-163502)
- Also, only issue the warning if we waited at least 1ms in that call.

#rb Kenzo ter Elst, Jason Nadro
#jira UE-163502
#review @Kenzo.Terelst, @Jason.Nadro
#preflight 632b0f15b40000c8f0c4705a

[CL 22116865 by Arciel Rekman in ue5-main branch]
2022-09-21 13:28:58 -04:00
chris constantinescu
f91259b56a InitializeAfterProjectFilePath must be called for the entire hierarchy of platform files starting with FPlatformFileManager:Get().GetPlatformFile()
#rb Josh.Adams
#preflight 632a027b6919ce39987ff186

[CL 22111880 by chris constantinescu in ue5-main branch]
2022-09-21 09:39:51 -04:00
danny couture
2c22ba9cc1 Add AnimGraph module to be loaded during editor boot to avoid trying to load it from the async loading thread
#rb Thomas.Sarkanen
#preflight 632858fb3752284a31276489

[CL 22072716 by danny couture in ue5-main branch]
2022-09-19 08:09:26 -04:00
serge bernier
f62c78b5bd Delay the platform ShaderAutoGen. Thoses are generated header files needed when we compile shaders. We need to delay the platform initialization from the current platform since it needs to happen after the DeviceProfileManager creation. Move ShaderAutoGenInit code out from LaunchEngineLoop.cp since it only needed from ShaderCompile.
#rb [at]josh.Adams
#preflight EMT A/B tests

[CL 21923877 by serge bernier in ue5-main branch]
2022-09-09 13:21:55 -04:00
mickael gilabert
be03b1b0c5 (courtesy of Josh Adams)
- Fix for some DeviceProfiles not reading in their parent TextureLODGroups
- Remove the call to UDeviceProfileManager::Get() that was being called too early, before object subsystem is ready, so it was unable to load all the other platform DeviceProfiles

[REVIEW] [at]elizabeth.bunner, [at]josh.adams
#tests preflight 631258e02b7fe03eb6d9d725

[CL 21774577 by mickael gilabert in ue5-main branch]
2022-09-02 23:10:44 -04:00