Commit Graph

10656 Commits

Author SHA1 Message Date
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
Andriy Tylychko
602624f77d Tasks: switched FTaskEvent and pure FGraphEvent to lock-free TLS cache allocator to reduce mem footprint as currently used LinearConcurrentAllocator is vulnerable to long-living allocs
#rb francis.hurteau, danny.couture
#preflight 62ab3fc8634e82e5d14735dd

[CL 20687767 by Andriy Tylychko in ue5-main branch]
2022-06-16 11:17:45 -04:00
dave barrett
e2d8addab4 add pool support for larger than default alignment (16) in MallocBinned3
#preflight 62aabaa2993682759f49a796
#rb eric.mcdaniel
#jira UE-151058

[CL 20686360 by dave barrett in ue5-main branch]
2022-06-16 09:51:11 -04:00
Florin Pascu
6b14075ce6 Adding Cvar Flags that will make them automatically modify the KeyString when modified
Cvars with this flag will modify the Shader Keystring for All Platforms
ECVF_GeneralShaderChange = 0x200,

Cvars with this flag will modify the Shader Keystring for Mobile Platforms
ECVF_MobileShaderChange = 0x400,

Cvars with this flag will modify the Shader Keystring for Desktop Platforms
ECVF_DesktopShaderChange = 0x800,

r.MobileHDR is using this system now. Others will follow.

#rb Jack.Porter, Mihnea.Balta
#jira UE-120561
#preflight 62aae0aeea213dadf0b36fdd

[CL 20684686 by Florin Pascu in ue5-main branch]
2022-06-16 04:38:20 -04:00
Marc Audy
de2c3cb8e0 [Backout] - CL20593017, 20594056, 20625634, 20645670, 20649179, 20649223, 20649380, 20658535
Add new custom version to specify a certain window of AnimSequences are not loadable
#fyi Jurre.deBaare
#robomerge EngineMerge
Original CL Desc
-----------------------------------------------------------------
**New**
- Engine
	- IAnimationDataModel interface
- AnimationData plugin
	- AnimSequencerDataModel, sequencer based implementation of IAnimationDataModel
	- AnimSequencerDataController, controller for above (implementation of IAnimationDataController)
- Added FCompressedRichCurve::PopulateCurve, allowing users to convert back to a FRichCurve for validation/debugging
- Added DefaultFrameRate to AnimationSettings, this replaces the hardcoded 30FPS in code
- Added ::GetKeyIndicesFromTime which takes FFrameRate
- Added AnimSequenceBase::OnAnimModelLoaded, this is required for correct postloading behaviour of data model (specifically AnimSequencerDataModel, as it depends on data from its outer ? anim sequence)
- Added IAnimationDataModel ::Evaluate which now takes responsibility for evaluating raw animation bone, curve and attribute data. And moved all trackbased evaluation code into AnimDataModel.cpp
- Added a.ForceEvalRawData allowing to force evaluation of source data
- Added a.SkipDDC to force compressing animation data locally

**Changed**
- Reparent UAnimDataModel to IAnimationDataModel interface, and rejig behaviour
- AnimSequenceBase now reference AnimDataModel as IAnimationDataModel
- Upgrade path for legacy to IAnimationDataModel and existing UAnimDataModel to IAnimationDataModel through IAnimationDataController::PopulateWithExisting
- IAnimationDataModel data is now frame(number/rate/time) based rather than seconds/keyindices. This enforces frameborder aligned data from now on.
- Moved RichCurve evaluation code from RichCurve.cpp to separate file and consolidated all instances of copy-pasta behaviour
- Updated/removed deprecated EngineTests around AnimSequences
- Changed many instances to use a FFrameTime together with a known FFrameRate versus seconds and sequencelength in float involving frame \/ time calculations (including instances of FAnimKeyHelper)
- Switched anim sequence evaluation to use double in Extraction context for time value and patched up places with static\_cast\<double\>
- FRichCurve::Eval
	- Make sure we always evaluate keys when T >= Key0.Time and T <= KeyN.Time to deal with crazy userweighted tangents
- Fixed WeightedKeyDataAdapter::GetKeyInterpMode/GetKeyTangentWeightMode retrieving invalid values, as it was indexing according to KeyIndex rather than KeyIndex\*2. This made it so that values were misinterpreted.
- Fixed WeightedEvalForTwoKeys for compressed data retrieving GetKeyInterpMode and GetKeyTangentWeightMode using the wrong index value. As they are not indexed using KeyDataHandle type.
- Fixed issue where compression could crash when containing zero-key scale additivebase track (tries to retrieve)
- Replaced instances of NULL with nullptr
- Moved required decompression information into FAnimSequenceDecompressionContext and reimplemented decompression within UE::Anim::Decompression namespace and new file
- Deprecated ::GetRawDataGuid and replaced with GetDataModel()->GenerateGuid()
- Fixed UAnimStreamable evaluation/compression (previously broken with MVC refactor)
- Updated Animation exporting pipeline to be frame-based rather than seconds
- Deprecated RetargetPose, replaced with FRetargetingScope (used within AnimModel::Evaluate)
- Fixed BaseAdditiveAnimation array become invalid/incorrect when removing zero-additve tracks during compression
- Updated EngineTest animation sequence related tests to new APIs (while maintaining deprecated path testing as well for now)
- AnimDataController / Animation Sequence tests now generate a USkeleton for the transient animation sequence (used to perform the test on)

**Removed**
- Unused file/class AnimData/AnimDataNotifyCollector.h

#rb Thomas.Sarkanen, Martin.Wilson, Alexis.Matte, Mike.Zyracki
#jira UE-131296
#preflight 62a308a8b0150a87f9d6891b

[CL 20677979 by Marc Audy in ue5-main branch]
2022-06-15 18:24:46 -04:00
Andriy Tylychko
dbe70c5058 TDepletableMpscQueue: fixed memory order bug reported by TSan
#preflight trivial
#rb devin.doucette

[CL 20670239 by Andriy Tylychko in ue5-main branch]
2022-06-15 11:06:43 -04:00
paul chipchase
ccaea76256 Rename FPayloadStatus to EPayloadStatus to comply with the coding standards.
#rb Per.Larsson
#rnx
#preflight 62a9bff813004691f9830b8d

- I think when I was first adding it, the type was originally a struct but was changed to an enum before it was submitted, however I failed to update the name.

#ROBOMERGE-AUTHOR: paul.chipchase
#ROBOMERGE-SOURCE: CL 20668490 via CL 20668521 via CL 20668532
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20669764 by paul chipchase in ue5-main branch]
2022-06-15 10:37:52 -04:00
Johan Berg
8a92cd22e4 Fix on-connection strings having different type ids.
Since there were two different events for declaring strings and FNames, one regular and one no-sync version used in on-connection callback, references would not be correctly resolved. We remove the no sync version and use only one version. In order to solve the synchronizing we defer resolving the strings in analysis.
#preflight 62a9c8932a1103ff5fb784ae
#robomerge EngineMerge

[CL 20668219 by Johan Berg in ue5-main branch]
2022-06-15 08:03:24 -04:00
David Harvey
3e46d55e50 Remove another hardcoded NDA platform define.This can be defined for a game by specifying bAllowConfidentialPlatformDefines as a target rule.
#jira UE-124892
#rb Nuno.Leiria, Eric.McDaniel
#preflight 62a9aeda731949afd7c79b52

[CL 20667710 by David Harvey in ue5-main branch]
2022-06-15 06:39:32 -04:00
Andriy Tylychko
2fddd972fb minor compilation fix for the code disabled by default
#preflight trivial

[CL 20667655 by Andriy Tylychko in ue5-main branch]
2022-06-15 06:27:25 -04:00
Matt Peters
fcff10a23d Cooker: Add diagnostics to log when GarbageCollection is not impactful.
#jira UE-156450
#rb Zousar.Shaker
#rnx
#preflight 62a8fc10c1708af1ec2502a7

[CL 20659018 by Matt Peters in ue5-main branch]
2022-06-14 17:55:27 -04:00
Stu McKenna
e08390359d - Niagara Compute Dipsatch modified to use FRDGBuilder through the pipeline
- Legacy data interfaces run on Graph execution timeline, some caveats now exist like peeking the current buffer on the MainDataSet willl be wrong
- Converted data interfaces run on Graph build timeline executing passes as required
- Converted data interfaces have been updated to use new PreStage / PostStage / PostSimulate function
- Various other parts of Niagara have been updated to allow operation on the Graph builder timeline, i.e. readbacks, debug drawing, profiiling, etc
- Various global compute shaders have been updated to use shader parameter structs
- More work to come to move various resources to RDG and be part of the tracked process to avoid everything being submitted on the immediate command list

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

[CL 20657583 by Stu McKenna in ue5-main branch]
2022-06-14 16:52:52 -04:00
Patrick Enfedaque
f5545aa360 New "AffectsLandscape" ActorDesc property: Implemented for Water, PatchComponent and LandscapeSplineActor
- Deprecated LandscapeSplineActorDesc as it is no longer needed with this property

#jira none
#rb jeanfrancois.dube, richard.malo
#preflight 62a8c041a43e20b293533548

[CL 20654038 by Patrick Enfedaque in ue5-main branch]
2022-06-14 14:28:12 -04:00
Catalin Dragoiu
24f5bb2f6c Improve tracking of the LoadTime value in CookProfiler
#rb Matt.Peters Francis.Hurteau
#preflight 62a8b512136e62bef1cec185

[CL 20653168 by Catalin Dragoiu in ue5-main branch]
2022-06-14 13:45:02 -04:00
steve robb
fd2a0b1e20 Removal of TEXT literal concatenations, which doesn't work in UTF-8 mode.
#rb devin.doucette
#jira UE-132142
#preflight 62a8748fa76c84377748036b

#ROBOMERGE-OWNER: steve.robb
#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 20647443 via CL 20648283 via CL 20648315
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20651786 by steve robb in ue5-main branch]
2022-06-14 12:46:34 -04:00
Jimmy Andrews
99fc3c8f80 Make TVector2 return bool to match TVector
#rb rinat.abdrashitov
#preflight 62a77dc8d80693a653f33723

[CL 20651770 by Jimmy Andrews in ue5-main branch]
2022-06-14 12:45:50 -04:00
steve robb
28609e6f3c Removal of TEXT used in static_asserts (redundant in ANSI/wide modes, broken in UTF-8 mode).
#rb james.hopkin
#jira UE-132142
#preflight 62a87ef40b7bda795a7dfff0

#ROBOMERGE-OWNER: steve.robb
#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 20647361 via CL 20647632 via CL 20647654
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20650895 by steve robb in ue5-main branch]
2022-06-14 12:11:45 -04:00
devin doucette
a9c5804e52 CompactBinary: Added a compact mode to the conversion to JSON
#rb Zousar.Shaker

#ROBOMERGE-OWNER: devin.doucette
#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 20646707 via CL 20646763 via CL 20646768
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20649200 by devin doucette in ue5-main branch]
2022-06-14 11:04:47 -04:00
Marc Audy
00a006c688 Fix non-unity
#rnx
#preflight

[CL 20634920 by Marc Audy in ue5-main branch]
2022-06-13 17:07:17 -04:00
benjamin rouveyrol
070522c9e2 Separate backbuffer transitions
#preflight 62a75d8b8b13f17660a83ed9
#jira UE-145430
#rb kenzo.terelst eric.mcdaniel

[CL 20632220 by benjamin rouveyrol in ue5-main branch]
2022-06-13 15:03:14 -04:00
danny couture
f76db4d47c Maintain memory pressure and max concurrency limit during multi-step async tasks
- Add the concept of execution resource that can be passed between tasks
  - Add Insight counter for number of threadpool wrapper task allocs to easily detect leaks of execution resources

#rnx
#rb Devin.Doucette, Francis.Hurteau
#preflight 62a09819e07732d52dc8ef81

#ROBOMERGE-AUTHOR: danny.couture
#ROBOMERGE-SOURCE: CL 20625325 via CL 20625333 via CL 20625337
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20625928 by danny couture in ue5-main branch]
2022-06-13 09:03:10 -04:00
Marc Audy
888fdc3aaa Fix warning V501: There are identical sub-expressions to the left and to the right of the '==' operator: Deque.Max() == Deque.Max()
#codereview chris.constantinescu
#rnx
#preflight

[CL 20618477 by Marc Audy in ue5-main branch]
2022-06-11 22:40:16 -04:00