1) Fix Visual Studio Profiling PerfAPI build script pathing for modern era of Visual Studio, add IDEDir to UBT for base path of PerfAPI lib/headers
2) Add initial support for Superluminal instrumentation API, if it's installed and -Superluminal is passed on the command line. Dial back color saturation a bit to go easier on the eyes (my eyes!!). This is WIP support, we are technically violating the API rules by feeding in changing strings to the same profile marker. So, with this change you can see the instrumentation markers in the timeline, but using all the event features in Superluminal causes weird artifacts like event strings changing as you use profiler features. Subsequent change will attempt to pry apart static and instance string data in the instrumentation, as this is a common trope across profilers (and non-PC platforms).
Updated FExternalProfiler API to forward along color information from the instrumentation. This is a minor breaking change as it's very unlikely there are direct callers of these APIs.
[CL 14321510 by geoff evans in ue5-main branch]
#rb jb
#rnx
#ushell-cherrypick of 13650632 by Martin.Ridgers
#ushell-cherrypick of 13873967 by Martin.Ridgers
[CL 13874021 by Martin Ridgers in ue5-main branch]
#rb Ryan.Gerleve
#ROBOMERGE-SOURCE: CL 13025925 via CL 13025929 via CL 13025930 via CL 13025933 via CL 13025946
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v683-13008971)
[CL 13025955 by louisphilippe seguin in Main branch]
#rb cm
#jira ue-91551
#lockdown stefan.boberg
#ushell-cherrypick of 12619791 by Martin.Ridgers
#ROBOMERGE-SOURCE: CL 12619837 in //UE4/Release-4.25/... via CL 12619841 via CL 12619842
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)
[CL 12619844 by martin ridgers in Main branch]
[at]rb Mickael G. Jordan C.
#rnx
#ROBOMERGE-SOURCE: CL 11884794 via CL 11884801 via CL 11884807
#ROBOMERGE-BOT: (v656-11643781)
[CL 11889427 by serge bernier in Main branch]
#rb marc.audy
[FYI] Steve.Robb
#jira UE-87131
#ROBOMERGE-SOURCE: CL 11140226 via CL 11140233 via CL 11140235
#ROBOMERGE-BOT: (v640-11091645)
[CL 11140236 by michael noland in Main branch]
* Rename CpuProfilerChannel to CpuChannel.
* Removed NamedEventsChannel and use CpuChannel.
#rb cm.nordin
[CL 11104150 by Johan Berg in Dev-Core branch]
- Ptrdiff -> int32
- Float/int confusion and double/float
- size_t stuff; various changes to the algorithms to use a deduced IndexType template argument and/or decltype to use the appropriate size for indicies and counts
- Fixed GetNum(FString) incorrectly returning SIZE_T instead of int32, and GetNum(container) now returns whatever container.Num() does (so usually int32)
#jira UE-86949
#rb marc.audy, steve.robb
#ROBOMERGE-OWNER: michael.noland
#ROBOMERGE-AUTHOR: michael.noland
#ROBOMERGE-SOURCE: CL 11050799 via CL 11050828 via CL 11050837
#ROBOMERGE-BOT: (v637-11041722)
[CL 11051763 by michael noland in Main branch]
Nested CpuProfiler scopes were ended too early in certain nested scenarios. This was solved by introducing a channel gate to OutputEndEvent. This means in order to see the cpu scopes from for example RHICommands channel, users also need to enable CpuProfilerChannel. Also removed bThreadEnabled which wasn't needed.
#rb cm.nordin
[CL 11041113 by Johan Berg in Dev-Core branch]
Systems that use TraceLog now uses channels to control if events are emitted. Also introduce a new command line argument "-trace" which allows users to specify a comma separated list of channel names to enable.
#rb martin.ridgers, ionut.matasaru
[CL 10950761 by Johan Berg in Dev-Core branch]
#rnx
#rb none
#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900
#ROBOMERGE-BOT: (v613-10869866)
[CL 10870549 by ryan durand in Main branch]
Copy the metadata at the endCapture since the FinalizeCsvFile can happen a few frames later. We need to ensure that the metadata correspond to what happening BeginCapture/Endcapture. We enqueue the metadata, the same way we enqueue the start/stop command, so the will always match.
#rb serge.bernier
#ROBOMERGE-OWNER: ben.woodhouse
#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 10857164 via CL 10857231 via CL 10860499 via CL 10860511 via CL 10860522
#ROBOMERGE-BOT: (v610-10636431)
[CL 10860562 by ben woodhouse in Main branch]
[FYI] serge.bernier
#ROBOMERGE-OWNER: bob.tellez
#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 10839911 via CL 10839912 via CL 10843222 via CL 10843528 via CL 10843643
#ROBOMERGE-BOT: (v610-10636431)
[CL 10843805 by bob tellez in Main branch]
#jira
#rnx
[FYI] Serge.Bernier
#ROBOMERGE-SOURCE: CL 10807408 via CL 10807410 via CL 10807413
#ROBOMERGE-BOT: (v610-10636431)
[CL 10807414 by marc audy in Main branch]
#rnx
#ROBOMERGE-OWNER: serge.bernier
#ROBOMERGE-AUTHOR: serge.bernier
#ROBOMERGE-SOURCE: CL 10806937 via CL 10806938 via CL 10806978 via CL 10806981 via CL 10806982
#ROBOMERGE-BOT: (v610-10636431)
[CL 10806983 by serge bernier in Main branch]