Commit Graph

8396 Commits

Author SHA1 Message Date
Helge Mathee
e4b9b30fb4 Control Rig: Improving debug watches
* watches now no longer crash with Mannequin Control Rig
* watches no longer disappear after recompile
* watches work on formerly optimized out nodes
* watches work within collapse nodes and functions

#rb sara.schvartzman
#jira na

[CL 16327158 by Helge Mathee in ue5-main branch]
2021-05-14 02:36:03 -04:00
Devin Doucette
6094cdaca4 DDC: Temporary workaround for static analysis issue with Get<T> on 2-tuples
#rb trivial
#rnx

[CL 16326041 by Devin Doucette in ue5-main branch]
2021-05-13 23:24:10 -04:00
Devin Doucette
09748c85e3 DDC: Added a missing #include
#rb trivial
#rnx

[CL 16326010 by Devin Doucette in ue5-main branch]
2021-05-13 23:22:40 -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
Zousar Shaker
5234e8fb12 Define first TextureBuildWorkers for use with DDC as well as a DDC build worker base module used as an entrypoint for standalone worker binaries.
#rb matt.peters

[CL 16323208 by Zousar Shaker in ue5-main branch]
2021-05-13 20:42:14 -04:00
Jeremy Moore
6d2b42f0d0 ComputeGraph graph based compilation.
More work to do but this is a minimal functional starting point.
#rb halfdan.ingvarsson
#preflight 609da63e046b9d00010b8246

[CL 16321681 by Jeremy Moore in ue5-main branch]
2021-05-13 19:17:49 -04:00
Zousar Shaker
1c7a70e76b Add the ability to export texture build actions for use when testing the standalone texture build workers.
#rb Matt.Peters

[CL 16317907 by Zousar Shaker in ue5-main branch]
2021-05-13 16:15:45 -04:00
Devin Doucette
8310ac341e DDC: Changed the builder types to delete themselves on Build()
#rb Zousar.Shaker
#rnx

[CL 16317751 by Devin Doucette in ue5-main branch]
2021-05-13 16:09:45 -04:00
Devin Doucette
31e8388cb0 DDC: Added UE::DerivedData::FBuildAction
FBuildAction and the associated builder type define the exact action to be executed, including the function and its version, and the inputs referenced by hash.

#rb Zousar.Shaker
#rnx
#preflight 609cbaed7ebade00018f29c9

[CL 16317116 by Devin Doucette in ue5-main branch]
2021-05-13 15:36:50 -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
Arciel Rekman
d1e2a85fce Keep rewriting unused inputs until they stop changing (UE-115083)
- In a complex material, compiler may not be able to see through the code to discover all unused inputs.

E.g. first pass compilation says that input A is unused, but B and C are used. After we rewrite the code to remove A, the code is simpler and compiler is now able to see that B is also unused.

Since we pass the "used attributes" to the next stage, this creates a mismatch where vertex shader outputs only C, but pixel shader (rewritten based on the first pass results) expects B and C.

- The fixed code will check if the unused inputs changed, and if so, will go back and rewrite the code based on a more complete info.

- This fixes a bug that JonL ran into for which I haven't yet created a JIRA (will do before checkin).

#rb Ben.Ingram, Rolando.Caloca, Jason.Nadro
#review @Lukas.Hermanns, @Rolando.Caloca, @Ben.Ingram, @Jason.Nadro, @Kevin.Ortegren
#jira UE-115083

[CL 16312596 by Arciel Rekman in ue5-main branch]
2021-05-13 10:21:33 -04:00
Matt Kuhlenschmidt
179f7fcc79 The output log can now be summoned from a drawer in each asset editor status bar. The default sequence mirrors -game behavior where '~' will toggle between focusing the console input box, opening the drawer, and restoring focus to the previously focused UI element. This behavior can be disabled in settings to prevent the output log from opening as a drawer with '~'. Additionally a separate shortcut can be bound in order to activate the output log drawer independently of console input box focus.
#preflight 609bfbab7ed62d0001454827

[CL 16312223 by Matt Kuhlenschmidt in ue5-main branch]
2021-05-13 09:36:03 -04:00
charles bloom
0c0ff0e079 Change DDC key for uncompressed 16F textures to force recook
in case they got cooked during F32-F16 signed float bug week
fixes tree proxy impostors

#rb ola.olsson

[CL 16312077 by charles bloom in ue5-main branch]
2021-05-13 09:26:44 -04:00
Catalin Dragoiu
086250df86 Disable Task,Memory and Loadtime modules when running analysis in Editor
#rb Ionut.Matasaru

[CL 16310939 by Catalin Dragoiu in ue5-main branch]
2021-05-13 05:07:08 -04:00
Catalin Dragoiu
13bc02cbef [Insights] Refactor of TaskGraphProfiler systems. The functionality is much more self contained now.
+ Fix for task relations and the task timeline show/hide functionality being inconsistent
+ Removed the step of "Solving" relations
#rb Ionut.Matasaru

[CL 16310912 by Catalin Dragoiu in ue5-main branch]
2021-05-13 05:01:48 -04:00
ionut matasaru
2d5c799e12 [Insights]
- Added new trace events to track the ReOpenFile API. Updated the PlatformFileTraceAnalysis to process the respective new trace events. This fixes the issue where activities were displayed in Unreal Insights as I/O events with "Unknown" file (UE-114506).
  - Updated warning messages and debug code in PlatformFileTraceAnalysis.
  - Added handle tracking in Insights for I/O Activity events. File handle and read/write handles are now displayed in tooltip of an I/O Activity event.
  - Added "ReOpen" as a separate I/O activity type.

#jira UE-114506
#rb Catalin.Dragoiu, Robert.Millar

[CL 16310259 by ionut matasaru in ue5-main branch]
2021-05-13 03:13:34 -04:00
Patrick Boutot
e783201497 WidgetReflector: Group the Visible flag with the Volatile flag in the widget tooltip.
#rnx
#rb none
#preflight 609c11037ed62d0001555434

[CL 16308169 by Patrick Boutot in ue5-main branch]
2021-05-12 19:41:51 -04:00
aurel cordonnier
8eebe8841f Merge UE5/RET @ 16305968 to UE5/Main
This represents UE4/Main @ 16261013 and Dev-PerfTest @ 16259937

[CL 16306996 by aurel cordonnier in ue5-main branch]
2021-05-12 18:10:03 -04:00
Devin Doucette
56502c549e DDC: Organized functions for consistency and fixed includes of Templates/Function.h
#rb trivial
#rnx
#preflight 609c4284dc97da000146a5e1

[CL 16306812 by Devin Doucette in ue5-main branch]
2021-05-12 17:57:54 -04:00
luc eygasier
a5608833a9 Adds moving files from Uncontrolled Changelist to Changelist.
#rb Sebastien.Lussier
#preflight 609c2b365b35c60001e51d6c

[CL 16306199 by luc eygasier in ue5-main branch]
2021-05-12 17:06:06 -04:00
Devin Doucette
1e8cdcdb46 DDC: Forward constructor arguments through TBuildFunctionFactory
#rb Zousar.Shaker
#rnx

[CL 16304994 by Devin Doucette in ue5-main branch]
2021-05-12 16:01:41 -04:00
Devin Doucette
cf09b53604 DDC: Added UE::DerivedData::FBuildOutput
FBuildOutput and the associated builder type define the output of a derived data build as a collection of payloads and diagnostic messages.

#rb Zousar.Shaker
#rnx
#preflight 609c0fc05b35c60001cbc2e3

[CL 16304655 by Devin Doucette in ue5-main branch]
2021-05-12 15:46:19 -04:00
Helge Mathee
831dc67370 Control Rig: Fix up unit tests due to breakage in 16281286
#fyi nick.whiting
#rb na
#jira na

[CL 16300410 by Helge Mathee in ue5-main branch]
2021-05-12 11:49:38 -04:00
ionut matasaru
13a5519af9 [Insights] Fixed crash (in Unreal Insights, when opening a trace file) becasue of a log message spec event being received with an unknown category (category name was empty). Also named these categores as "N/A" instead of being an emty string.
#jira UE-115031
#rb Catalin.Dragoiu

[CL 16299669 by ionut matasaru in ue5-main branch]
2021-05-12 11:06:04 -04:00
Devin Doucette
dd9e1ec58b DDC: Added support for cache records with null data
#rb Zousar.Shaker
#rnx
#preflight 609b6698b16d45000155cb04

[CL 16298475 by Devin Doucette in ue5-main branch]
2021-05-12 09:28:05 -04:00