The previous default of CanBeUsedOnAnyThread() proved unsafe since some output devices can safely be used on any thread but cannot safely be used during a crash. CanBeUsedOnAnyThread() was used pre-5.1 to control serialization to an output device during a crash, but optimizations in 5.1 have uncovered that some of these were never safe.
#preflight 62856506614041edb7a6de4b
#rb Zousar.Shaker
#rnx
[CL 20280354 by Devin Doucette in ue5-main branch]
Set CanBeUsedOnAnyThread() to true and move to single printf in Serialize
#rnx
#jira UE-147459
#review-19549147 @Brandon.Schaefer, @Robert.Seiver
#preflight none
[CL 19549852 by Michael Sartain in ue5-main branch]
This does use LaunchEngineLoops output over Linux which means with -stdout no color coded warning/error messages
#jira none
#rb Michael.Sartain, Rober.Seiver
#preflight none
[CL 19074484 by Brandon Schaefer in ue5-main branch]
#jira UE-141121
#review-19040600 Brandon.Schaefer, Michael.Sartain
#preflight 620eae5d007519628d226210
[CL 19041491 by robert seiver in ue5-main branch]
Add bIsWindowShown option to Linux Console Output Device
Default to true to match old behavior.
Add -nostdout by default in UnrealLightmass
#rb Brandon.Schaefer
#jira none
#preflight trivial
[CL 18817282 by Michael Sartain in ue5-main branch]
#preflight 61eefc77ba69a4fdb220bf23
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 18712765 in //UE5/Release-5.0/... via CL 18712784 via CL 18713147
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18713191 by marc audy in ue5-main branch]
Plus cherry-pick these commits from SDL main:
f39e155 [release-2.0.18] Fixed undefined behavior in SDL_memset() (thanks andrewrk!)
74ee7c0 Fixed potential buffer overflow in YUV conversion
52e4e52 autotools, cmake: tighten Xfixes check && explicitly test BarrierEventID
Switch SDL_ConfineCursor calls to new SDL_SetWindowMouseRect SDL2 functionality**
** Hat tip Ethan Lee
[at]Brandon.Schaefer
#jira none
#preflight 61dc62c42e0e436c72901f1b
#ROBOMERGE-AUTHOR: michael.sartain
#ROBOMERGE-SOURCE: CL 18561443 in //UE5/Release-5.0/... via CL 18561451
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)
[CL 18561471 by michael sartain in ue5-release-engine-test branch]
Change FPlatformUserId into a proper struct with an internal id that will be allocated by the platform
Converting int->FPlatformUserId is currently deprecated, but the other direction is not deprecated until the online/input code can be converted
GenericApplicaitonMessageHandler will convert back and forth between controller Id and FPlatformUserId as needed
Add support for platform user id to LocalPlayer, by default it is synchronized with ControllerId
#rb david.harvey, ben.hoffman
#ROBOMERGE-AUTHOR: ben.zeigler
#ROBOMERGE-SOURCE: CL 17597808 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)
[CL 17597827 by ben zeigler in ue5-release-engine-test branch]
This is a defensive change to more uniformly gate conditions of various pathways that want to "nice" CPU consumption when the application is not the foreground application (doesn't "Have Focus"). In benchmarking scenarios we don't want a focus-grabbing application to cause change in behavior while taking performance measurements. This could be in local workstation benchmarking where other foreground apps will naturally come to the front or in data center build where antics that might otherwise be completely unknowable could impact benchmark measurements.
This change was formulated after finding some "nice" CPU conditionals that were instrumented, but not all of them are. This change aims to prevent having to instrument, profile, and mitigate each condition separately.
#rnx
#jira none
#rb francis.hurteau, brandon.schaefer
#preflight 611ec9248ff55400018d5018
#ROBOMERGE-AUTHOR: geoff.evans
#ROBOMERGE-SOURCE: CL 17463345 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)
[CL 17463757 by geoff evans in ue5-release-engine-test branch]
Switch SDL_SetKeyboardGrab to SDL_SetWindowKeyboardGrab
Add SDL_ConfineCursor to dynapi_overrides
Hat tip Ethan Lee
#jira none
#rb Brandon.Schaefer
[at]Brandon.Schaefer
#ROBOMERGE-SOURCE: CL 17252629 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)
[CL 17252653 by michael sartain in ue5-release-engine-test branch]
Fixed Blueprint node movement bug caused by similar assumption in SGraphPanel
#rb Brandon.Schaefer
#jira UE-83163
#ROBOMERGE-SOURCE: CL 16712589 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)
[CL 16712636 by robert seiver in ue5-release-engine-test branch]