Commit Graph

11182 Commits

Author SHA1 Message Date
Josie Yang
6b15506e58 Replace direct access to SkeletalMesh object from USkinnedMeshComponent with GetSkeletalMesh function
#rb kriss.gossart
#preflight 62aafc9ada0af39a4783930a

[CL 20686007 by Josie Yang in ue5-main branch]
2022-06-16 09:14:04 -04:00
dave jones2
9b1a83861a [Backout] - CL20675159
#fyi dave.jones2
Original CL Desc
-----------------------------------------------------------------
Added missing tests for various core types. Also cleaned up const and reference usage in the function declarations.

#rb justin.hare
#preflight 62a93a76054bb5c04e1b0020
#jira none

[CL 20678517 by dave jones2 in ue5-main branch]
2022-06-15 18:56:38 -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
christopher waters
0c8638b589 Removing the "equality comparison with extraneous parentheses" warning from DXC compiles.
#jira none
#rb laura.hermanns
#preflight 62aa2c56da0af39a474fbb74

[CL 20677503 by christopher waters in ue5-main branch]
2022-06-15 17:57:39 -04:00
dave jones2
ef9dbb4e52 Added missing tests for various core types. Also cleaned up const and reference usage in the function declarations.
#rb justin.hare
#preflight 62a93a76054bb5c04e1b0020
#jira none

[CL 20675159 by dave jones2 in ue5-main branch]
2022-06-15 15:10:02 -04:00
steve robb
0edc9ec830 Some missing TEXT macros added.
#rb trivial
#jira UE-132142
#preflight none

#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 20671620 via CL 20671646 via CL 20671659
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20675152 by steve robb in ue5-main branch]
2022-06-15 15:09:53 -04:00
ionut matasaru
f9ff4333ae [Insights] Mem Insights / LLM Tags: Fixed full name of llm tags to include parent names also when there are multiple levels of inheritance.
#rb none
#preflight 62aa1edaa40a4dc3a03e8b3d
#robomerge EngineMerge

[CL 20674747 by ionut matasaru in ue5-main branch]
2022-06-15 14:44:06 -04:00
Jeremy Moore
2e03d242fa Bind virtual texture feedback buffer for DrawTileMesh
Also create a FViewFamilyInfo for DrawTileMesh so that we have a valid SceneTexturesConfig when setting up view uniforms.
Moved material baking renderdoc capture so that it captures warm up frames.
#rb jason.hoerner
#preflight 62aa0ce7273ce16835c64006

[CL 20673323 by Jeremy Moore in ue5-main branch]
2022-06-15 13:28:56 -04:00
ionut matasaru
6448bf8d5a [Insights] Removed duplicated FEditScopeLock/FReadScopeLock from IMetadataProvider and IAllocationsProvider and used the ones from ProviderLock.h instead.
#fyi Johan.Berg
#fyi Catalin.Dragoiu
#preflight 62aa11b84a335ad67cba8e5f
#robomerge EngineMerge

[CL 20673228 by ionut matasaru in ue5-main branch]
2022-06-15 13:24:35 -04:00
aditya ravichandran
efbd98a46f SFilterBar: Add the ability to save the current set of filters in a config file
#jira UE-151903
#preflight 62a8e87fd502a554368de197
#rb lauren.barnes

#ROBOMERGE-AUTHOR: aditya.ravichandran
#ROBOMERGE-SOURCE: CL 20669240 via CL 20670228 via CL 20670242 via CL 20670258
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20672011 by aditya ravichandran in ue5-main branch]
2022-06-15 12:39:31 -04:00
ionut matasaru
eb61079246 [Insights]
- Memory Insights / Mem Allocs: Added "Tag" column to the "4K Page Breakdown" view preset.
  - Memory Insights / Mem Allocs: Fixed bug where changing a preset results in hidding the "Hierarchy" column.
  - Memory Insights / Mem Allocs: Removed "Unique Values" grouping for StartEventIndex, EndEventIndex and Count columns.
  - Memory Insights / Mem Allocs: Removed "Path Breakdown" grouping for Top Function column.
  - Tree Views: Fixed the "Unique Values" grouping for CString columns crashing when encountering nullptr values (FTreeNodeGroupingByUniqueValueCString).
  - Tree Views: Fixed the "Path Breakdown" grouping adding incorrectly "/" group nodes (FTreeNodeGroupingByPathBreakdown).

#rb Catalin.Dragoiu
#preflight 62a9fa7ff878f9423ee2c127
#robomerge EngineMerge

[CL 20671288 by ionut matasaru in ue5-main branch]
2022-06-15 12:05:03 -04:00
Johan Berg
e94652b9c4 Fix comparison of nullptr values.
#robomerge EngineMerge
#rb ionut.matasaru
#preflight 62a9f3d8634e82e5d1eb2c86

[CL 20670568 by Johan Berg in ue5-main branch]
2022-06-15 11:25:09 -04:00
Johan Berg
fa13b92ab0 Changes to how definition provider works
#rb ionut.matasaru
#robomerge EngineMerge
#preflight 62a9ef0b634e82e5d1e8eddf

[CL 20670393 by Johan Berg in ue5-main branch]
2022-06-15 11:17:41 -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
paul chipchase
c05158e633 Temp fix to prevent payloads that should be filtered out from virtualizing from being virtualized if they are already in persistent storage, which was causing unexpected packages to become virtualized.
#rb Per.Larsson
#rnx
#jira UE-156312
#preflight 62a99553943e7bb256fe174c

### Problem
- Firstly this fix is a hack and not intended for shipping 5.1, but the real fix is already planned work, which involves moving the filtering from the push process to being applied to each payload when the package is saved, just as the asset filtering is done at the moment.
-- Doing the proper fix will take a bit of time and testing so we need a quicker fix so that I can re-enable the virtualization process to unblock some workflows.
- All new code is wrapped in a single preprocessor define 'ENABLE_FILTERING_HACK' making the code easy to identify and remove.
- Submitting this hack will cause the priority of the real fix to be bumped in the backlog so that we can remove the hack asap.
- The problem code comes from a pass we do on the payloads to check if they are already in persistent storage or not. If the payload is then we just change it to be virtualized and don't attempt to push. In addition to fixing the filtering there is also a work item to investigate if we really want to keep this logic or if we want to remove it anyway. This might be looked into before I look into the filtering fix as an alternative way to remove the hack.

### Fix
- After we have queried the system to check which of the local payloads are already in persistent storage, BUT before we change them over to be virtualized we now run a new pass, checking which payloads should be filtered.
-- This is a bespoke code path expected only to be used here, so in this case it is not in the IVirtualizationSystem API but requires us to cast to FVirtualizationManager to gain access. This should stop anyone else from using the hack before it is removed.
- The filtering check mimics the filtering that would be run on a normal push operation.
- Once done we can check for any payload that would be filtered, and if so, set the status to not found. This prevents the payload from being changed to be virtualized and means it will be included in the normal push operation where it will be correctly filtered.
- None of this is the best way to do it, but it did seem like the easiest way to add the hack in isolation as no existing code was changed, so it should be simple to just 'delete' the hack when ready.

#ROBOMERGE-AUTHOR: paul.chipchase
#ROBOMERGE-SOURCE: CL 20667712 via CL 20667730 via CL 20667733
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20668639 by paul chipchase in ue5-main branch]
2022-06-15 08:56:57 -04:00
ionut matasaru
fd2933b1be [Insights] Fixed uninitialized FMemoryAlloc class members when created by a mem query.
#rb none
#robomerge EngineMerge
#preflight skip

[CL 20668023 by ionut matasaru in ue5-main branch]
2022-06-15 07:39:41 -04:00
benoit deschenes
a31e062166 DatasmithExporter - Fixing Datasmith GameThread initialization.
The Datasmith GameThread + DirectLink initialization was trigerring some ensure which where sometimes not handled properly and could cause a crash.
We were not properly tagging Unreal's main thread and the dcc's main thread, causing those thread to compete for the main thread role.

#jira UE-148108
#rb JeanLuc.Corenthin Johan.Duparc
#preflight 62a8e13adc04d52792d011ef
#lockdown Simon.Tourangeau

#ROBOMERGE-AUTHOR: benoit.deschenes
#ROBOMERGE-SOURCE: CL 20655640 in //UE5/Release-5.0/... via CL 20657743
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20661508 by benoit deschenes in ue5-main branch]
2022-06-14 20:22:20 -04:00
Dan Thompson
0c889685e3 Updating the mip packing and tiling interfaces to not require image bits. This is required to determine memory layouts for textures prior to launching texture builds.
#rb fabian.geisen
#preflight 62a90ea9943e7bb256c39717

[CL 20659876 by Dan Thompson in ue5-main branch]
2022-06-14 19:00:42 -04:00
Maxime Mercier
17d2eb75d5 Fix CIS warning
#jira none
#rb trivial
#preflight skip trivial

[CL 20658463 by Maxime Mercier in ue5-main branch]
2022-06-14 17:29:41 -04:00
Dan Thompson
a508d784cb Provide access to mip counts prior to texture encode launch.
#rb fabian.geisen
#preflight 62a8f77f6373922cf49825ee

[CL 20658313 by Dan Thompson in ue5-main branch]
2022-06-14 17:23:56 -04:00
carl lloyd
4b6434cac6 Fix for Apple A8 device support
- Devices crashing when using Base_Vertex metal shader semantics
  - Runtime error when using Virtual Texturing on A8 devices which is unsupported.

#jira UE-131863, UE-132217
#rb Will.Damon
[FYI] Jack.Porter
#preflight 62a75ad63d0a713cf8caf486

#ROBOMERGE-AUTHOR: carl.lloyd
#ROBOMERGE-SOURCE: CL 20631592 in //UE5/Release-5.0/... via CL 20649245
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20656300 by carl lloyd in ue5-main branch]
2022-06-14 16:23:13 -04:00
lauren barnes
ef26b72abf Updating icon locations
#rb trivial
#preflight skip
#rnx

#ROBOMERGE-AUTHOR: lauren.barnes
#ROBOMERGE-SOURCE: CL 20647213 via CL 20648778 via CL 20648814 via CL 20648840
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20656240 by lauren barnes in ue5-main branch]
2022-06-14 16:22:04 -04:00
maxime mercier
075e8dd0f8 Better support of stoptree while already being in the behavior tree
#jira UE-152906
[REVIEW]

#ROBOMERGE-AUTHOR: maxime.mercier
#ROBOMERGE-SOURCE: CL 20648362 via CL 20648697 via CL 20648751
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20656223 by maxime mercier in ue5-main branch]
2022-06-14 16:21:44 -04:00
Zousar Shaker
eac62026c9 Ensure that when subprocesses are launched (turnkey or launcher) that the ZenDataPath is inherited from the parent process. This avoids errors experienced in the CookOnTheFly flow when the parent process and subprocess differ in their expectation for Zen arguments.
#rb devin.doucette
#jira UE-154809
#robomerge EngineMerge
#rnx
#preflight 62a8d353cf54a658ee26ce9d

[CL 20655173 by Zousar Shaker in ue5-main branch]
2022-06-14 15:37:29 -04:00
Catalin Dragoiu
13277038ce [Insights] Fix crash when closing the app whilst an async operations is in progress in the Task Table.
#rb Ionut.Matasaru
#preflight 62a8ad611a6b7dcd549b7480

[CL 20653205 by Catalin Dragoiu in ue5-main branch]
2022-06-14 13:46:14 -04:00