Commit Graph

49 Commits

Author SHA1 Message Date
Andrew Davidson
3ddc3a4da3 Merge up from //UE5/Dev-LargeWorldCoordinates
#rb none

[CL 16211417 by Andrew Davidson in ue5-main branch]
2021-05-05 15:07:25 -04:00
Marc Audy
01b7c9f4f5 Merge UE5/RES @ 15958325 to UE5/Main
This represents UE4/Main @ 15913390 and Dev-PerfTest @ 15913304

[CL 15958515 by Marc Audy in ue5-main branch]
2021-04-08 14:32:07 -04:00
Marc Audy
0cbbc781ca Merge UE5/Release-Engine-Staging @ 15740152 to UE5/Main
This represents UE4/Main @ 15709114

[CL 15740605 by Marc Audy in ue5-main branch]
2021-03-18 15:20:03 -04:00
Alexis Matte
f7ea964244 Fix re-import of morph target crash when asynchronous skeletal mesh build is enable.
#rb Danny.Couture
#jira FROST-1304

[CL 15699781 by Alexis Matte in ue5-main branch]
2021-03-15 15:52:42 -04:00
danny couture
58c7b5e3aa Add missing FGCScopeGuard when creating MorphTarget which can potentially run from another thread when async skeletal mesh feature is activated
#rb Alexis.Matte

[CL 15653937 by danny couture in ue5-main branch]
2021-03-09 09:40:13 -04:00
danny couture
6929adbfaa Skeletal Mesh Async Compilation Framework (Phase 1)
Phase 1 adds the async compilation without introducing any higher-level awareness.
  This step provides the biggest performance improvements by allowing skeletal mesh to be compiled in
  multiple threads but stalls are expected to occur before the level has finished loading as soon as
  properties of skeletal meshes are accessed by the game-thread.

  - Make skeletal mesh reduction and renderdata building thread-safe where needed
  - Add protection on all USkeletalMesh accessors so the game-thread can wait on data still being built if needed
  - Modify both PostLoad and Build to be async when the feature is enabled
  - Make FRawSkeletalMeshBulkData::LoadRawMesh thread-safe
  - Fix some PropertyChangedEvent name comparison to use strongly typed GET_MEMBER_NAME_CHECKED
  - Add an experimental setting options to enable the feature (disabled by default for now)

DEBUGGING
 - Can be forcibly enabled/disabled through command-line via -asyncskeletalmeshcompilation=[off, on, paused]
 - Can pause skeletal mesh compilation using Editor.AsyncSkeletalMeshCompilation = 2 or -asyncskeletalmeshcompilation=paused
 - Can manually resume a specified amount of paused compilation using Editor.AsyncSkeletalMeshCompilationResume [Num]
 - Can forcibly wait on all compilation using Editor.AsyncSkeletalMeshCompilationFlushAll

BENCHMARKS
  Tested on AMD TR 3970X with 256GB RAM
  - 6m50s to 2m58s for loading P_Construct with a local-only DDC that doesn't contains any prebuilt skeletal mesh
  - 3m10s to 39s for importing 299 SK with the Interchange framework

TESTS
 - Opened all 5769 SK from FortniteGame to exercise all legacy conversion code paths
 - Opened all 102 SK from QAGame
 - Opened P_Construct, Apollo_Terrain, LumenTest, P_World
 - Imported 299 SK with and without Interchange activated
 - Ensure no new regression introduced in any of the 70 SK related tests from EngineTest
 - Run all FBX import test in EngineTest
 - Cook / Run ShooterGame Client

#rb Alexis.Matte

[CL 15452895 by danny couture in ue5-main branch]
2021-02-18 11:19:19 -04:00
Marc Audy
bc88b73a29 Merge Release-Engine-Staging to Main @ CL# 15151250
Represents UE4/Main @ 15133763

[CL 15158774 by Marc Audy in ue5-main branch]
2021-01-21 16:22:06 -04:00
Alexis Matte
73d83c6a38 To protect the skeletalmesh when using async operations like build or re-import we deprecate all public member variables of USkeletalMesh class and create the necessary getter and setter. Those member will stay public but will be move to private in a future release.
Adding a public member to USkeletalMesh class is now prohibed since it can break asynchronous operations that will be added next to this submit.

#rb danny.couture
#jira UEENT-3936
#rnx

[CL 14812920 by Alexis Matte in ue5-main branch]
2020-11-25 11:17:08 -04:00
Marc Audy
68150e0be7 Merge UE5/Release-Engine-Staging to UE5/Main @ 14611496
This represents UE4/Main @ 14594913

[CL 14612291 by Marc Audy in ue5-main branch]
2020-10-29 13:38:15 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
Marc Audy
7379fa99c5 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14229157
[CL 14233282 by Marc Audy in ue5-main branch]
2020-09-01 14:07:48 -04:00
Marc Audy
a7c9001a94 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14075166
#rb
#rnx

[CL 14075271 by Marc Audy in ue5-main branch]
2020-08-11 01:36:57 -04:00
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -04:00
alexis matte
54144a8ab9 Fix alternate skinning
#rb jurre.debaare

#ROBOMERGE-OWNER: alexis.matte
#ROBOMERGE-AUTHOR: alexis.matte
#ROBOMERGE-SOURCE: CL 12974497 via CL 12974666 via CL 12974667
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 12974686 by alexis matte in Main branch]
2020-04-22 10:41:35 -04:00
Arne Schober
ee6d0ecb20 M - More renameing the Octree to Octree2 in preparation to add a deprecation for the original class
#RB

[CL 12972489 by Arne Schober in Main branch]
2020-04-21 23:23:12 -04:00
Arne Schober
61bf307e6e M - Rename the Octree to Octree2 in preparation to add a deprecation for the original class
#RB

[CL 12965782 by Arne Schober in Main branch]
2020-04-21 20:01:52 -04:00
arne schober
c875be4fd4 FNEM - Better naming
#RB none

#ROBOMERGE-OWNER: arne.schober
#ROBOMERGE-AUTHOR: arne.schober
#ROBOMERGE-SOURCE: CL 12789290 via CL 12789324 via CL 12789325
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)

[CL 12789326 by arne schober in Main branch]
2020-04-15 01:18:48 -04:00
arne schober
78549560ed FNEM - More cache-friendly and faster Octree implementation.
Also changing the interface for better encapsulation by cutting the origial itterator concept and focusing on small subset of configurable itteration strategies instead.
#RB Andrew.Scheidecker, Yoan.StAmant

#ROBOMERGE-OWNER: arne.schober
#ROBOMERGE-AUTHOR: arne.schober
#ROBOMERGE-SOURCE: CL 12785392 via CL 12785681 via CL 12785682
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)

[CL 12786795 by arne schober in Main branch]
2020-04-14 16:59:52 -04:00
alexis matte
4b29b011a3 Fix DDC bug when using the FLODUtilities::RegenerateLOD to force the regeneration of LODs.
#rb none


#ROBOMERGE-SOURCE: CL 11936458 via CL 11936498 via CL 11936529
#ROBOMERGE-BOT: (v656-11643781)

[CL 11936554 by alexis matte in Main branch]
2020-03-05 09:15:06 -05:00
Jurre deBaare
175b9b31fa Skin weight profiles changes:
- Implemented async GPU readback system to support non-cpu accessible skeletal mesh platforms
- Improved data layout to improve runtime cost, and adapted system to work with new skin weight buffers
- Added object version for new skin weight data layout
- Bumped skeletal mesh DDC key
Misc:
- Fixed logging issue when clamping the number of bone influences
#jira none
#rb Martin.Wilson

[CL 11932811 by Jurre deBaare in Main branch]
2020-03-05 06:52:00 -05:00
Alexis Matte
bf6c5f9e6b Make sure the FSkeletalMeshLODModel::CopyStructure is thread safe
#jira UE-89370
#rb uriel.doyon
#rnx


#ROBOMERGE-OWNER: Alexis.Matte
#ROBOMERGE-AUTHOR: alexis.matte
#ROBOMERGE-SOURCE: CL 11649229 via CL 11649241 via CL 11649278
#ROBOMERGE-BOT: (v656-11643781)

[CL 11861739 by Alexis Matte in Main branch]
2020-03-03 08:46:31 -05:00
Alexis Matte
dab31207c4 Back out changelist 11601921 there is some crash with re-import
#rb none


#ROBOMERGE-OWNER: Alexis.Matte
#ROBOMERGE-AUTHOR: alexis.matte
#ROBOMERGE-SOURCE: CL 11608449 via CL 11608463 via CL 11608469
#ROBOMERGE-BOT: (v656-11643781)

[CL 11758335 by Alexis Matte in Main branch]
2020-02-28 13:33:06 -05:00
Alexis Matte
a687f23a45 Make sure the FSkeletalMeshLODModel::CopyStructure is thread safe
#jira UE-89370
#rb uriel.doyon
#rnx


#ROBOMERGE-OWNER: Alexis.Matte
#ROBOMERGE-AUTHOR: alexis.matte
#ROBOMERGE-SOURCE: CL 11601921 via CL 11602007 via CL 11602167
#ROBOMERGE-BOT: (v656-11643781)

[CL 11730858 by Alexis Matte in Main branch]
2020-02-28 09:12:33 -05:00
Alexis Matte
1a10986237 Make sure old reduced skeletalmesh asset with disabled section keep the disable section state when restoring after the re-import.
#jira UE-84662
#rb benoit.deschenes


#ROBOMERGE-OWNER: Alexis.Matte
#ROBOMERGE-AUTHOR: alexis.matte
#ROBOMERGE-SOURCE: CL 11549245 via CL 11549250 via CL 11549266
#ROBOMERGE-BOT: (v654-11333218)

[CL 11551761 by Alexis Matte in Main branch]
2020-02-19 15:48:37 -05:00
bob tellez
c7a60a8d7f #UE4 Fix thread safety issue when generating lods
#rb Alexis.Matte


#ROBOMERGE-SOURCE: CL 11386825 via CL 11386830 via CL 11386831
#ROBOMERGE-BOT: (v654-11333218)

[CL 11386832 by bob tellez in Main branch]
2020-02-12 12:41:49 -05:00