Commit Graph

10677 Commits

Author SHA1 Message Date
rob krajcarski
c18bc543e3 Fix for VM bytecode generation which was failing in a very small number of cases of the form:
A = GetFirstValue();
B = A;
A = GetSecondValue();
C = A; // <-- this would get GetSecondValue() assigned to C instead of GetFirstValue()

Adds an SSA pass to help reduce overwriting registers, adds logic to remove self assignments, and adds logic to stop propagating when values are dirtied

From a sampling of scripts, about 2% are changed (where 1-3 unnecessary ops have been deleted).

#rb simon.tovey
#preflight 62b0d63c8e03312ad83a0c51
#jira UE-148892

[CL 20756957 by rob krajcarski in ue5-main branch]
2022-06-21 09:55:03 -04:00
Johan Berg
ca32e4c627 Metadata scopes
Adds runtime events and analysis for generic meta data scopes. Any scope emitted on the "Metadata" writer will be analyzed and accessible in the metadata provider. Currently one built-in metadata type is provided: "Asset", which mimics LLMs implementation of asset tracking.

#rb ionut.matasaru
#robomerge EngineMerge
#preflight 62b1b35d827ccccb2cd7da0d

[CL 20755918 by Johan Berg in ue5-main branch]
2022-06-21 08:20:57 -04:00
steve robb
a0e68ebe84 More FCString<UTF8CHAR> support.
#rb devin.doucette
#jira UE-132142
#preflight 62b0af812405b4ac9e6ad127

#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 20754853 via CL 20754869 via CL 20754876
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v970-20704180)

[CL 20755266 by steve robb in ue5-main branch]
2022-06-21 06:18:21 -04:00
devin doucette
4816001e63 CompactBinary: Added LoadFromCompactBinary as a standardized way to load from compact binary
The intent is that function take a field and an output parameter, with an optional default value:

bool LoadFromCompactBinary(FCbFieldView Field, FTypeName& OutValue, FTypeName Default = {});

Implementations must return true if the field was loaded successfully, and false if any required part of the field was missing or its value had the wrong type or range. The output value must be assigned before the function returns.

#rb Zousar.Shaker

#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 20741864 via CL 20743724 via CL 20744635
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v970-20704180)

[CL 20751365 by devin doucette in ue5-main branch]
2022-06-20 23:39:28 -04:00
devin doucette
c3771fc33e CompactBinary: Converted to FPlatformMemory::ReadUnaligned
#rb Zousar.Shaker
#rnx

#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 20741848 via CL 20743678 via CL 20744606
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v970-20704180)

[CL 20751361 by devin doucette in ue5-main branch]
2022-06-20 23:39:18 -04:00
Andriy Tylychko
7f8318c041 Tasks integration: implemented a helper CreateCompletionHandle().
Tasks are allocated by ConcurrentLinearAllocator that have a problem with long-living allocs as a single alloc can hold an entire memory page thus driving total mem usage up. `CreateCompletionHandle()` creates a task event that uses an allocator that doesn't have this issue. This task event depends on the parent task and can be used to wait for this task completion
#preflight 62b0a5e1640ffd8ee9c0e5b5
#rb francis.hurteau

[CL 20740243 by Andriy Tylychko in ue5-main branch]
2022-06-20 13:07:31 -04:00
Stu McKenna
f4ab6f3dc2 - Physics Field Update to use Template, Shader Parameter, RDG
#rb michael.galetzka, michael.forot
#jira UE-151234
#preflight 62ad11145c69124c40dd65a2

[CL 20739597 by Stu McKenna in ue5-main branch]
2022-06-20 12:35:30 -04:00
Matt Peters
c5cd7d0af0 DiffOnly Callstacks: Fix truncation of callstack information due to StackIgnoreCount being incorrectly incremented for inline functions.
#rb Devin.Doucette
#rnx
#preflight 62b092684d2038148fb13dca

[CL 20739359 by Matt Peters in ue5-main branch]
2022-06-20 12:23:22 -04:00
LouisPhilippe Seguin
db72951067 Fix TSan warnings by converting TQueue use to the improved TSpscQueue
#jira FORT-408102
#rb Andriy.Tylychko
#preflight 62b07ba74d2038148fae43f4

[CL 20736873 by LouisPhilippe Seguin in ue5-main branch]
2022-06-20 09:57:54 -04:00
Andriy Tylychko
6372d04d3f fixed TSAN false positive data race warnings about TReferenceControllerBase. TSAN doesn't handle memory fences properly (https://stackoverflow.com/questions/70542993/why-does-the-thread-sanitizer-complain-about-acquire-release-thread-fences). As using release decrement and acquire memory fence is not proven to be superior for supported platforms, it was decided to switch to acq_rel decrement as it's what is used by most of other popular implementations for ref counting
#rb steve.robb
#preflight 62b060d41c62a6555a8024f4

[CL 20736831 by Andriy Tylychko in ue5-main branch]
2022-06-20 09:55:24 -04:00
wei liu
87f2d95ada 1.Supports more shading models on mobile, including twoside foliage, cloth and eye shading models.
2.Uses the same shading models and dynamic lightings code path on desktop.

3.Remove the division of PI on mobile directional light's color in C++ to line up with desktop in shaders.

#jira UE-114145

#rb Dmitriy.Dyomin, Sebastien.Hillaire
#preflight 62b0411fd8082c5c200fa32a

[CL 20734991 by wei liu in ue5-main branch]
2022-06-20 06:02:51 -04:00
dave belanger
b1c525af2b Move implementation of FContentBrowserVirtualPathTree::GetMountPointFromPath to FPathViews
#rb Rex.Hill
#preflight 62accbcdc0449d3dccd56ac1

#ROBOMERGE-AUTHOR: dave.belanger
#ROBOMERGE-SOURCE: CL 20709056 via CL 20709527 via CL 20709609 via CL 20709671
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v970-20704180)

[CL 20732589 by dave belanger in ue5-main branch]
2022-06-19 23:39:22 -04:00
Stu McKenna
cd07a6c135 - Convert Collision DI to RDG
- Track global structures and only allow them to be added once to avoid binding errors

#rb rob.krajcarski
#jira UE-151234
#preflight 62abb003ce62a29f6a7ed164

[CL 20709076 by Stu McKenna in ue5-main branch]
2022-06-17 16:26:45 -04:00
Wojciech Krywult
99036fb36b Modular builds: TThreadSingleton: Added 'noinline' attribute to GetTls to work around problems on some platforms with local statics not being handled correctly in inlined members of exported classes.
In this case, we sometimes export classes derived from this template. Without this workaround, we ended up with each module having its own static.

#rb nuno.leiria
#preflight 62a9ea35634e82e5d1e7ba83
#rnx

[CL 20707449 by Wojciech Krywult in ue5-main branch]
2022-06-17 14:36:14 -04:00
Devin Doucette
98fc9b8d03 Reverted support for structured bindings in ensureMsgf
Compiling for Windows with Clang fails with "error: definition of dllimport data" with the change.

#jira UE-156975
#jira UE-156977
#preflight 62acab49c0449d3dccba307f
#rb none
#rnx

[CL 20705385 by Devin Doucette in ue5-main branch]
2022-06-17 12:55:58 -04:00
Devin Doucette
ae1ac91051 Logging: Made GPrintLogX globals atomic to fix warnings from TSan
#preflight 62ab8d44634e82e5d1611fc1
#rb Zousar.Shaker
#rnx

[CL 20702083 by Devin Doucette in ue5-main branch]
2022-06-17 09:16:45 -04:00
Andriy Tylychko
b43d1924b9 TasksInsights: removed NestedAdded trace as SubsequentAdded is enough to establish both prerequisites and nested tasks relation. This also adds a new task category - a parent task - a task that depends on a nested task.
Parent tasks visualisation comes in the following CL
#rb catalin.dragoiu
#preflight 62ac4ea2fc406f218cc6caab

[CL 20700745 by Andriy Tylychko in ue5-main branch]
2022-06-17 06:05:57 -04:00
carlmagnus nordin
bc0b9cf56d IoStore: Add support for staging and loading auto optional packages
#preflight 62a879e8d502a5543671efa4
#rb francis.hurteau

#ROBOMERGE-AUTHOR: carlmagnus.nordin
#ROBOMERGE-SOURCE: CL 20699731 via CL 20699906 via CL 20699913 via CL 20699917
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v968-20684695)

[CL 20700279 by carlmagnus nordin in ue5-main branch]
2022-06-17 04:25:23 -04:00
paul chipchase
d5ab533c7f The virtualization system stats are now only printed to the log when the cook commandlet has finished, rather than every time an editor process exits.
#rb Per.Larsson
#rnx
#preflight 62ab3b4a634e82e5d145f5a3

- Dumping of stats to the log file is now something that can be invoked via the IVirtualizationSystem api, so anything can call it, if desired.
- Removed the OnExit callback from the virtualization manager, we no longer print the stats to the log file on exit, but instead print them on demand.
- Add a call at the end of the cooking commandlet to dump the virtualization stats so that they appear around the same part of the log file as the cooking stats.
- Changed the verbosity from 'log' to 'display' so that we can see the stats more easily in horde.

#ROBOMERGE-AUTHOR: paul.chipchase
#ROBOMERGE-SOURCE: CL 20699898 via CL 20699907 via CL 20699911
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v968-20684695)

[CL 20700183 by paul chipchase in ue5-main branch]
2022-06-17 04:02:32 -04:00
Jason Nadro
42b8adda3a Add trace.bookmark console command which simply emits a TRACE_BOOKMARK.
- Argument is a single string which becomes the bookmark name.

#rb ionut.matasaru
#jira UE-89836
#preflight 62ab9e61c6467711b62ff8ba

[CL 20695642 by Jason Nadro in ue5-main branch]
2022-06-16 17:26:57 -04:00
Devin Doucette
cd9a0ac867 Logging: Fixed the use of FORCENOINLINE and UE_DEBUG_SECTION for logging and assertions
Since DispatchCheckVerify is already FORCENOINLINE, the use of it on the lambdas causes DispatchCheckVerify to be act as an additional and unnecessary wrapper.

#preflight 62ab81cfe9031caf98b27e6c
#rb Zousar.Shaker

[CL 20694514 by Devin Doucette in ue5-main branch]
2022-06-16 16:32:07 -04:00
steve robb
f256e02821 Fix for event names in UTF-8 mode.
#rb trivial
#jira UE-132142
[FYI] devin.doucette
#preflight 62ab1d4b634e82e5d13b3149

#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 20689390 via CL 20689418 via CL 20689433
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v968-20684695)

[CL 20692411 by steve robb in ue5-main branch]
2022-06-16 15:21:20 -04:00
brangpd
da300762d7 PR #9123: Support structured bindings for UE_LOG, checkf, ensureMsgf. (Contributed by brangpd)
#jira UE-150054
#preflight 62ab7008633acd4c125554a9
#rb Steve.Robb

[CL 20691651 by brangpd in ue5-main branch]
2022-06-16 14:44:58 -04:00
jamie dale
ef636c0ce8 Avoid resolving the display string in FTextStringHelper::WriteToBuffer when writing complex text
#jira
#preflight 62ab3e0ce9031caf98aaefa5
#rb Matt.Peters
#rnx

#ROBOMERGE-AUTHOR: jamie.dale
#ROBOMERGE-SOURCE: CL 20688776 via CL 20688789 via CL 20688950 via CL 20688996
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v968-20684695)

[CL 20691507 by jamie dale in ue5-main branch]
2022-06-16 14:39:23 -04:00
Wojciech Krywult
c79b37f513 Modular builds: Signing: Added missing signing and encryption initialization to the main module definition macro.
It resolves encrypted archives not being handled correctly when using modular builds. It was a problem e.g. for ShooterGame. Without the keys embedded, the game would fail to mount encrypted/signed archives.

#rb nuno.leiria
#preflight 62a9ea96634e82e5d1e7bec8
#rnx

[CL 20690277 by Wojciech Krywult in ue5-main branch]
2022-06-16 13:41:31 -04:00