Commit Graph

8572 Commits

Author SHA1 Message Date
martins mozeiko
2208dade76 Add context switch and stack sampling trace collection on Windows using ETW
#rb Ionut.Matasaru

[CL 16357198 by martins mozeiko in ue5-main branch]
2021-05-17 15:28:50 -04:00
christopher waters
3b8ccac5d5 Fixing HoloLens compile.
#jira none
#rb none
#preflight 609ee719cbf9a40001326489

[CL 16356933 by christopher waters in ue5-main branch]
2021-05-17 15:11:41 -04:00
Ben Woodhouse
7e743dcf40 LLM FLlmCsvProfilerWriter implementation for UE5
- LLM stats are now written to the CSV profiler if it's running
- Default tracker stats appear in the LLM/ category
- Platform tracker stats appear in the LLMPlatform/ category
#jira FORT-374346
#rb matt.peters
#tests presubmit

[CL 16355433 by Ben Woodhouse in ue5-main branch]
2021-05-17 13:43:32 -04:00
krzysztof narkowicz
b6b202caf4 Lumen - surface cache merging based on the RayTracingGroupId
r.LumenScene.SurfaceCache.MeshCardsMergeComponents - enable/disable
r.Lumen.Visualize.CardPlacementLOD - which LOD level to visualize (all, instances, merged instances, merged components)
r.Lumen.Visualize.CardPlacementPrimitives - visualize which primitives were used to merge

#ROBOMERGE-SOURCE: CL 16355257 in //UE5/Private-Frosty/...
#ROBOMERGE-BOT: STARSHIP (Private-Frosty -> Main) (v804-16311228)

[CL 16355260 by krzysztof narkowicz in ue5-main branch]
2021-05-17 13:31:57 -04:00
Helge Mathee
57e8a49d69 Control Rig: Refactor CopyOp to contain all required information for a copy
Also fixes UE-115756

#rb sara.schvartzman
#jira na

[CL 16354335 by Helge Mathee in ue5-main branch]
2021-05-17 12:35:41 -04:00
Matt Peters
9d3918cfa9 LLM: Fix maxcount calculation to not integer overflow before capacity integer overflows. This expands the number of allocations we can fit into 32-bit LLM tracking, which is needed for some large projects that still want to use 32-bit LLM tracking.
#rb Andrew.Firth
#rnx

[CL 16352348 by Matt Peters in ue5-main branch]
2021-05-17 11:36:53 -04:00
Steve Robb
250c50689e TFunction::Reset() and TUniqueFunction::Reset() added, equivalent to Func = nullptr; but less surprising.
#rb graeme.thornton
#jira none

[CL 16350650 by Steve Robb in ue5-main branch]
2021-05-17 10:47:29 -04:00
Steve Robb
1325216d71 Undo //UE5/Main/Engine/Source/Runtime/Core/... changelist 16347952
[CL 16349431 by Steve Robb in ue5-main branch]
2021-05-17 10:13:05 -04:00
Andriy Tylychko
24668747a7 minor TaskGraph and Tasks tests cleanup, replicated some stress tests on the new API for perf comparison
[CL 16348240 by Andriy Tylychko in ue5-main branch]
2021-05-17 09:24:33 -04:00
Steve Robb
ed411dade8 Move UTF-8 conversion functions into the platform layer.
Enable UTF8CHAR as a char type, so that you can use a UTF8CHAR* in a generic string conversion context (e.g. FString construction).

#rb devin.doucette
#jira none

[CL 16347952 by Steve Robb in ue5-main branch]
2021-05-17 09:09:41 -04:00
Steve Robb
e3b72417c7 Fixes where integers are assumed to be implicitly convertible to char types.
#rb none
#jira none

[CL 16336646 by Steve Robb in ue5-main branch]
2021-05-14 17:39:57 -04:00
Andriy Tylychko
3da5ad97a6 tasks dependencies:
* an ability to specify task prerequisites, either TTask or FTaskEvent
* redesigned FTaskEvent so it can be used as a prerequisite
* a helper function `Tasks::Prerequisites()` to specify multiple prerequisites
* added `Tasks::Wait()` function to wait for multiple tasks
* unit- and perf-tests

#rb danny.couture

[CL 16333765 by Andriy Tylychko in ue5-main branch]
2021-05-14 15:40:51 -04:00
Steve Robb
c75ff29709 Fix for TTuple<T0,T1>::Get<Type>() while in static analysis mode.
#rb devin.doucette
#jira none

[CL 16331014 by Steve Robb in ue5-main branch]
2021-05-14 12:32:35 -04:00
Andriy Tylychko
45339b0373 Tasks: inline task priority. There's a special kind of tasks that serve as synchronisation primitives, like FTaskEvent, tasks that are used as a join point of other tasks or tasks that are used to wait for other tasks. Such tasks are lightweight and latency-sensitive. Inline task priority allows these tasks to skip scheduling and be executed "inline" as soon as they are unlocked.
#rb arne.schober francis.hurteau

[CL 16329549 by Andriy Tylychko in ue5-main branch]
2021-05-14 10:33:16 -04:00
David Harvey
2254540898 remove PLATFORM_XBOXONE from FramePro code.
#jira UECON-543
#rnx
#rb eric.mcdaniel, nuno.leiria

[CL 16329306 by David Harvey in ue5-main branch]
2021-05-14 10:11:29 -04:00
Andriy Tylychko
5469ce3478 TaskTraces for the new TaskGraph API
WIP

#fyi catalin.dragoiu

[CL 16328386 by Andriy Tylychko in ue5-main branch]
2021-05-14 07:43:28 -04:00
Patrick Laflamme
2e5316e1ca Generalized the Editor analytics summary session system to be usable/extendable by other apps.
Engine/Editor changes:

- Split the Editor summary session in two, one summary for the Engine properties and one for the Editor specific properties. Made it easy to extend the Engine summary to create other summaries.
- Made the summary sender as agnostics as possible of the keys it sends.
- Fixed the system wide lock contention between the process when persisting a session. (On problem caused by the lock is UE-114315).
- Fixed concurrent issue when saving the summary sessions on Linux/Mac
- Fixed performance issue when saving the summary session on Linux/Mac. This enable saving at higher frequency.
- Fixed cases where the same session summary is sent more than once.
- Fixed Windows registry key overflow that could happens if we accumulated too many sessions (in theory, this can happen)
- Made adding new properties to the summary easy and private to the implementation.
- Brought the Linux/Mac implementation closer to Windows implementation.
- Reduced memory allocation, especially when the session records a crash.
- Improved chances to send the summary non-delayed by allowing the Editor to send the reports if CRC died unexpectedly.
- Generalized the support to collect and aggregate analytics from helper processes. For example, CRC already collects analytics that is merged with the Editor summary as information supplement
- Reserved the disk space required to store the summary ahead of time to prevent failing later.
- Increased frequency at which the summary is persisted because saving the summary is more efficient. (About every 10 seconds rather than every minutes).
- Added unit tests

CrashReportClient changes:

- Created a 'session summary' from the CRC point of view to merge with the Editor summary.
- Moved analytics collection in a separated class to make the crash reporting code leaner and less noisy with all the analytics
- Merged the CRC diagnostic logger in the class collecting CRC analytics summary and make the diagnostic log a property in the summary.
- Collected analytics (on behalf of Editor) in a background thread because CRC main thread can be blocked collecting a crash, so it doesn't pay attention to other things
- Added MonitorBatteryLevel and MonitorOnACPower summary properties on Windows. Collected on CRC background thread (never blocked, so we reduce changes to miss the battery running out)
- Added MonitorSessionDuration summary property to track now long CRC ran.
- Added MonitorQuitSignalRecv summary property to detect when CRC is soft killed like: taskkill /PID 1234
- Added MonitorIsReportingCrash summary property to track when CRC dies reporting a crash.
- Added MonitorIsCollectingCrash summary property to track when CRC dies collecting a crash artifacts.
- Added IsProcessingCrash summary property to track when CRC dies processing a crash.
- Added MonitorCrashed summary property to track when CRC exception handler was triggered.
- Added MonitorWasShutdown summary property to track when CRC summary was shutdown
- Added MonitorLoggingOut summary property to track when CRC died because the user was logging out (or as result of shutting down or restarting the computer).
- More accurate value for DeathTimestamp summary property because this is now captured in CRC background thread (which cannot be busy handling a crash)
- Added crash processing timing to CRC diagnostic logs (how long it takes to collect/process a crash).

#rb Jamie.Dale, Wes.Hunt, Johan.Berg
#jira UETOOL-3500
#jira UE-114315

[CL 16324612 by Patrick Laflamme in ue5-main branch]
2021-05-13 21:58:20 -04:00
Chris Babcock
3384cabad2 Fix issue with access to UE4Game directories
#jira UE-115678
#ue5
#android
#review-16318267 @Brandon.Scahefer
#rb Brandon.Scahefer

[CL 16318262 by Chris Babcock in ue5-main branch]
2021-05-13 16:31:29 -04:00
Devin Doucette
3295c55ed6 Removed the move constructor from TScopeGuard because C++17 requires RVO
Also removed the few dependencies on other headers to make ScopeExit.h as slim as possible.

#rb Steve.Robb
#preflight 609d6fa122cce000019b15eb

[CL 16317390 by Devin Doucette in ue5-main branch]
2021-05-13 15:53:01 -04:00
Steve Robb
bc3f1bec53 Disable spurious C4063 warning triggered by user-defined literal case values.
#rb devin.doucette
#jira none

[CL 16317238 by Steve Robb in ue5-main branch]
2021-05-13 15:43:29 -04:00
zach bethel
9016b5542c Expose operator == and != on TStatId for state filtering.
#rb none

[CL 16316357 by zach bethel in ue5-main branch]
2021-05-13 14:48:55 -04:00
Joe Kirchoff
b01c26f682 Ignore protobuf generated files when running PVS-Studio static code analysis (*.pb.cc)
#rb trivial

[CL 16316201 by Joe Kirchoff in ue5-main branch]
2021-05-13 14:37:58 -04:00
ionut matasaru
b9ed7c5b33 Fixed errors re format string / parameter list for various UE_LOGs:
- number of supplied parameters less or more than the number of specifiers used in format string
  - invalid format string specifiers used

#rb Matt.Peters

[CL 16315056 by ionut matasaru in ue5-main branch]
2021-05-13 13:21:24 -04:00
geoff evans
e1d1984bd4 Add support for trace counters to stall detector and trace summarize commandlet for telemetry in Iteration Profile
StallDetector:
* Replace static and per-callsite counter variables with trace classes
* Compose a trace api appropriate counter name (Stall Detector category)

SummarizeTraceCommandlet:
* Add support for extract and decode of counter messages from utrace files with a new analyzer class
* Report counters with name and count columns in the existing csv
* Support generation of counter events and values through to telemetry csv

#jira UETOOL-3506
#rb francis.hurteau
#preflight 609c5f45e88e9100010b5466

[CL 16314462 by geoff evans in ue5-main branch]
2021-05-13 12:37:02 -04:00
kriss gossart
f587099dd9 Chaos Cloth - Add paintable TetherScale, Drag, and Lift weightmaps.
Chaos Cloth - Change anim mesh visualization color to better differentiate it against the physics mesh.
[Integrate CL 16297075 via 16313688]

Cloth - Add a ClearColllisionSources method so that all collision sources can be removed without knowledge of any of the original sources. [Integrate CL 16305946 via 16313688]

#rb trivial

[CL 16313742 by kriss gossart in ue5-main branch]
2021-05-13 11:42:54 -04:00