Commit Graph

646 Commits

Author SHA1 Message Date
aurel cordonnier
25a11deeac Merge from Release-Engine-Staging @ 16579919
This represents UE4/Main @ 16579691 and Dev-PerfTest @ 16579576

[CL 16581170 by aurel cordonnier in ue5-release-engine-test branch]
2021-06-07 20:09:45 -04:00
brandon dawson
494a7aa301 Do not use a mem mark to globally catch invalid memory use. These are now handled by a check on allocation. This was causing -onethread to fail due to the render thread requiring an empty thread stack. Long term, it might be better to have a render thread speciallization for the mem stack.
[at]kenzo.terelst

#ROBOMERGE-SOURCE: CL 16518911 in //UE5/Private-Frosty/...
#ROBOMERGE-BOT: STARSHIP (Private-Frosty -> Main) (v826-16501804)

[CL 16518932 by brandon dawson in ue5-main branch]
2021-06-01 14:34:10 -04:00
aurel cordonnier
43fa62fcd8 Merge from Release-Engine-Test @ 16487383 to UE5/Main
This represents UE4/Main @ 16445039 and Dev-PerfTest @ 16444526

[CL 16488106 by aurel cordonnier in ue5-main branch]
2021-05-27 13:40:37 -04:00
Devin Doucette
6d584b496f DDC: Ensure that the build system is constructed on launch alongside the cache
#rb Zousar.Shaker
#rnx

[CL 16420709 by Devin Doucette in ue5-main branch]
2021-05-21 12:55:24 -04:00
martins mozeiko
2208dade76 Add context switch and stack sampling trace collection on Windows using ETW
#rb Ionut.Matasaru

[CL 16357198 by martins mozeiko in ue5-main branch]
2021-05-17 15:28:50 -04:00
Arciel Rekman
fb5e240e3b Pregenerate autogen headers for target platforms (UE-115409).
- Will hopefully prevent races between the generation and SCWs.
- Startup impact: ~2ms (when files are up to date) to ~7ms (when they aren't).

#rb Jason.Nadro
#jira UE-115409

[CL 16326113 by Arciel Rekman in ue5-main branch]
2021-05-13 23:29:10 -04:00
ben hoffman
5752ef7448 Add the SubobjectDataInterface to the LaunchEngineLoop for use in Blueprints, Python, and unit tests
#jira UE-64131
#rnx
#rb marc.audy
#preflight 60900d1b6aab1a0001c89047

[CL 16184891 by ben hoffman in ue5-main branch]
2021-05-03 12:23:57 -04:00
paul chipchase
71b969d9c4 Cherrypicking Mirage code base (disabled) from Dev-Cooker
- The mirage specific code is disabled behind the define UE_USE_VIRTUALBULKDATA, this means that some code paths in Texture/Mesh are much more complex than they need to be as we support both old and new paths. Once the system has been turned on and confirmed to cause no issues then this will be stripped out.
- SavePackageUtilities.cpp, SavePackage.cpp and SavePackage2.cpp are editgrates rather than integrations as those files have changes in DevCooker that we don't want to bring over immediately.
- Also includes a prototype system for storing bulkdata in a sidecar file in the workspace domain rather than in the .uasset/.umap file which although has been discontinued as part of mirage, will have applications for future work for non-virtualized projects and/or text based assets.

#rb Patrick.Finegan (all changes have been reviewed when submitted to Dev-Cooker)
#tests Cooking and running ShooterGame/Frosty and other sample programs using megascan assets
#rnx
#preflight  608be50d870cf400013ff99d

[CL 16167285 by paul chipchase in ue5-main branch]
2021-04-30 08:14:54 -04:00
aurel cordonnier
50944fd712 Merge UE5/RES @ 16162155 to UE5/Main
This represents UE4/Main @ 16130047 and Dev-PerfTest @ 16126156

[CL 16163576 by aurel cordonnier in ue5-main branch]
2021-04-29 19:32:06 -04:00
danny couture
b980229161 Add interface to enforce a better contract for asset compilers
- A single call to FAssetCompilingManager::Get().FinishAllCompilation() is now sufficient to ensure every asset in the editor has finished compiling.
  - Dependencies are now used to determine asset compiler ordering
  - Implement interface and unify some functionality between these assets
    - MeshCards
    - DistanceFields
    - SkeletalMeshes
    - StaticMeshes
    - Shaders
    - Textures

#rb Francis.Hurteau
#preflight 6086d3668de3a6000124c2b0

[CL 16122343 by danny couture in ue5-main branch]
2021-04-27 04:04:14 -04:00
Andriy Tylychko
3481fc0baa added the call to FThreadStats::StopThread() to FEngineLoop::AppExit(). the problem is that StopThread() is called in FEngineLoop::Exit() which is not used in some programs, e.g. BlankProgram, and potentially many programs used it as a template.
StopThread() waits until all stat tasks are executed. Now that we use a pipe instead of StatsThread, the pipe asserts in its destructor if there're any unexecuted tasks. Seems like before unexecuted tasks were just dropped.

[CL 16103643 by Andriy Tylychko in ue5-main branch]
2021-04-23 04:27:44 -04:00
geoff evans
d7560aa976 Add trace scope instrumentation for Editor init and exit
Add trace scope instrumentation for Engine exit

#rb francis.hurteau
#jira none
#preflight 607f54508737300001b14c97

[CL 16067679 by geoff evans in ue5-main branch]
2021-04-20 19:10:58 -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
jurre debaare
1b93046ede Hang during editor booting ShooterGame
#fix pre-load animation data controller module, and replace Load with GetModule in AnimSequenceBase::GetController
#rb devin.doucette

#ROBOMERGE-SOURCE: CL 15878380 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)

[CL 15878394 by jurre debaare in ue5-main branch]
2021-03-31 13:47:57 -04:00
jack porter
946b30a59a Remove UE3/UE4 references
#jira UE-112108
#jira UE-111469
#jira UE-111456
#jira UE-111451
#jira UE-111331
#jira UE-111149
#jira UE-111136
#jira UE-110941
#jira UE-104701
#rb trivial
[FYI] Chris.Babcock
#preflight 606446947a99880001b3cbac

#ROBOMERGE-SOURCE: CL 15872931 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)

[CL 15872932 by jack porter in ue5-main branch]
2021-03-31 06:40:14 -04:00
johan berg
7eed4b9b0e [TraceLog] Fix channel presets early initialization
In a previous change TraceAux::Initialize was moved to a point very early in process lifetime. At this point the config system is not ready, so resolving data driven channel presets does not work. To solve this we make two changes, define two presets in code (default and memory) which require very early application, and add a second pass of channel initialization which is executed directly after config system is up.

#rb martin.ridgers

#ROBOMERGE-OWNER: johan.berg
#ROBOMERGE-AUTHOR: johan.berg
#ROBOMERGE-SOURCE: CL 15822904 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v785-15821902)
#ROBOMERGE-CONFLICT from-shelf

[CL 15829754 by johan berg in ue5-main branch]
2021-03-25 15:39:34 -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
Marc Audy
8f73cd7fa9 Merge UE5/Release-Engine-Staging @ 15630841 to UE5/Main
This represents UE4/Main @ 15601601

[CL 15631170 by Marc Audy in ue5-main branch]
2021-03-05 19:27:14 -04:00
jamie dale
68face5e2b Ensure that the localization and internationalization systems shutdown in the correct order
#jira UE-108142
#rb Francis.Hurteau

#ROBOMERGE-SOURCE: CL 15630795 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v777-15581079)

[CL 15630828 by jamie dale in ue5-main branch]
2021-03-05 19:18:15 -04:00
Andriy Tylychko
31c369c3bf Two related parts:
1) TlsAutoCleanup: in the previous version `FTlsAutoCleanup` used `FRunnableThread` to store registered instances and to delete them on `FRunnableThread` destruction. This means that all threads that are not created by `FRunnableThread` (the game thread in particular, and all 3rd-party threads) never delete registered `FTlsAutoCleanup` instances. This change moves the storage from `FRunnableThread` to TLS to cover all threads

Thsi change can break systems that implemented a workaround for this problem, e.g. by manually deleting registered `FTlsAutoCleanup` instances on the game thread exit, as now this instances will be deleted twice. The solution is to remove the workaround and to rely on uniform `FTlsAutoCleanup` behaviour on all threads.

#rb steve.robb

2) removed CpuProfilerTrace workaround to handle the fact that FTlsAutoCleanup leaks on the game thread, as this is fixed by (1).

#rb martin.ridgers

Need to submit both parts together as they need each other

#robomerge Release-5.0-EarlyAccess

[CL 15624597 by Andriy Tylychko in ue5-main branch]
2021-03-05 11:29:40 -04:00
jason nadro
cf8a8180c0 Adding "Compiling Global Shaders..." progress frame to track what's happening on the editor's splash screen.
- The Expected Work This Frame  25 value was arbitrarily picked.

#rb Arciel.Rekman
#jira none

#ROBOMERGE-SOURCE: CL 15608695 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v777-15581079)

[CL 15608704 by jason nadro in ue5-main branch]
2021-03-04 12:58:14 -04:00
richard malo
2475dae7dc Expose Running Commandlet Class for more precise logic when running a commandlet
#rb jeanfrancois.dube

#ROBOMERGE-SOURCE: CL 15520686 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15520732 by richard malo in ue5-main branch]
2021-02-24 16:19:17 -04:00
danny couture
fde8b5cdd0 Relocate asset compilation shutdown to avoid crash when potentially queueing distancefield during async static mesh build
Avoid static mesh queuing any more work during shutdown to improve exit speed

#rb JeanFrancois.Dube
#robomerge Release-5.0-EarlyAccess

[CL 15510067 by danny couture in ue5-main branch]
2021-02-23 20:53:02 -04:00
geoff evans
cc17157a18 Only enable Stall Detection between Main Frame open and close, not engine startup and shutdown.
This will help ensure that the first triggered stall, the one that sends telemetry data, will represent a real stall witnessed by a person. This will also shutdown the stall detection thread sooner to alleivate any coupling with other engine systems.

#rb francis.hurteau
#jira UE-108804
#preflight /job/6034575e17838200011a148f

#ROBOMERGE-SOURCE: CL 15497038 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15497095 by geoff evans in ue5-main branch]
2021-02-22 22:02:07 -04:00
paul chipchase
1dee513e3f Move the creation and mapping of shader directories to later on in the start up sequence.
- Creating the shader directories relies on the process having a valid project but was being called before we validate the project file.
- This meant that if the project path is invalid instead of getting a clear error dialog about it the user would hit a fatal log while generating the shader directories instead.
- We can safely move the code to a point after the project path has been validated as nothing will have tried to access the list of shader directories yet.

#jira UE-109024
#rb Arciel.Rekman
#rnx

#ROBOMERGE-SOURCE: CL 15491659 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15491661 by paul chipchase in ue5-main branch]
2021-02-22 13:59:32 -04:00