Commit Graph

317 Commits

Author SHA1 Message Date
arne schober
f6213d45f8 Add extra debug info for Task destruction
#preflight 63696e3e7c2b505190592030

[CL 23025411 by arne schober in ue5-main branch]
2022-11-08 04:27:17 -05:00
henrik karlsson
af78ad2d28 [Runtime]
* TaskGraphFwd - Changed typedef to using to try to get around some custom tool fwd header rules

#rb none
#jira none
#preflight skipped

[CL 22973810 by henrik karlsson in ue5-main branch]
2022-11-03 22:19:00 -04:00
henrik karlsson
b985fbd1b1 Removed lots of includes in high traffic headers in order to reduce compile times. Headers are still included if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_2 is set to 1
List of highlights
* PlayerController - Removed ForceFeedback and and OnlineReplStructs
* Class - Removed Package.h
* World - Pawn, Blueprint and GameInstance
* Actor - CoreNet, HitResult and ActorDatalayer
* EngineBaseTypes - TaskGraphInterface
* AssetManager - AssetData
* Scene/Child/ActorComponent - CoreNet
* AnimInstance - AttributesRuntime, Skeleton, AnimCurveTypes, AnimMontage, BonePose
* BulkData - IoDispatcher
* AssetData - IoDispatcher, LinkerLoad
* SecureHash - AsyncWork
* CanvasTypes - UnrealEngine, StaticMeshResources
* IpAddress - AsyncWork, Stats

#preflight 6363717ece676ae8688f5d8c
#rb none

[CL 22968258 by henrik karlsson in ue5-main branch]
2022-11-03 17:56:44 -04:00
henrik karlsson
cd1466475b Fixed up const/constexpr variables in header files to be "inline"
This is required for c++ modules/header units in order to decide if constexpr/const value should be available to outside module

#preflight 635c0b5c1803be35c767e0ea
#rb none

[CL 22835882 by henrik karlsson in ue5-main branch]
2022-10-28 15:38:42 -04:00
danny couture
ae89fa3df9 Fix TSAN warning in LocalQueue.h
#rnx
#rb Arne.Schober, Andriy.Tylychko
#preflight 635bb7057515720a5fb724d7

[CL 22826946 by danny couture in ue5-main branch]
2022-10-28 07:31:48 -04:00
danny couture
466e22c674 Fix TSAN warning in TEventStack
#rnx
#rb Arne.Schober
#preflight 635ab808944463bad462055a

[CL 22826824 by danny couture in ue5-main branch]
2022-10-28 06:58:32 -04:00
danny couture
eef0625e4e Fix a whole class of TSAN false positive by making the boolean used for polling request atomic
- That way, TSAN knows that destructing a request after just checking the bool is safe
  - TSAN doesn't support barriers, so we have to do that to make it understand everything it safe
  - Remove other TSAN_SAFE that are not needed anymore

#rb Brandon.Schaefer, PJ.Kack
#preflight 63494543907f474939ec76b9

[CL 22624654 by danny couture in ue5-main branch]
2022-10-19 10:16:13 -04:00
danny couture
ad82ee803a Fix racy and uninitialized traceid in FBaseGraphTask, FTaskBase and FGraphEvent
#rb Andriy.Tylychko
#preflight 6347fc7bfa31324bb196636f

[CL 22501839 by danny couture in ue5-main branch]
2022-10-13 08:15:42 -04:00
Andriy Tylychko
6670668124 fixed server compilation that happens to have UE_MEMORY_TAGS_TRACE_ENABLED enabled but not UE_TRACE_ENABLED
#jira UE-166023
#preflight 633d8146d74cbd55044b2365

[CL 22353844 by Andriy Tylychko in ue5-main branch]
2022-10-05 09:33:49 -04:00
Andriy Tylychko
ab5a1abe8d InheritedContext
grouped inherited LLM tag, mem tag and trace metadata into FInheritedContext to simplify their usage, avoid forgetting using all of them together, and to hide the ugly conditional compilation. Added FInheritedContext to higher level tasks instead of the low-level tasks to allow batch task launch to capture the inherited context once per batch

#rb ionut.matasaru
#preflight 633c47792f4bf32d31687192

[CL 22331272 by Andriy Tylychko in ue5-main branch]
2022-10-04 11:22:08 -04:00
Andriy Tylychko
f78784aef7 switched back to lock-free allocator for tasks and removed CreateCompletionHandle()
#rb fransic.hurteau
#preflight 6322fb82e872d7da038cb2bb

[CL 22026345 by Andriy Tylychko in ue5-main branch]
2022-09-15 06:46:54 -04:00
Xertor
6f61b6cb35 PR #9256: Add getters for individual worker thread retrieval (Contributed by Xertor)
#preflight 62f108a2d76ea4b503e02c93

[CL 21267703 by Xertor in ue5-main branch]
2022-08-08 09:15:31 -04:00
Bryan sefcik
b4a6e947d8 Ran IWYU on Public headers under Engine/Source/Runtime/...
Headers are updated to contain any missing #includes needed to compile and #includes are sorted.  Nothing is removed.

#ushell-cherrypick of 21065896 by bryan.sefcik
#preflight 62d4b1a5a6141b6adfb0c892
#jira

#ROBOMERGE-OWNER: Bryan.sefcik
#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21150156 via CL 21151754 via CL 21154719
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)
#ROBOMERGE-CONFLICT from-shelf

[CL 21181076 by Bryan sefcik in ue5-main branch]
2022-07-20 11:31:36 -04:00
Andriy Tylychko
7d74b46bfb Tasks System: cleaned up some includes
#preflight 62d7f313185da2495ffa84e6

[CL 21177932 by Andriy Tylychko in ue5-main branch]
2022-07-20 08:43:41 -04:00
Andriy Tylychko
a7b0cd4e4a instrumented ParallelFor for TasksInsights. now markers for ParallelFor tasks show task lifetime events, and most importantly point to which ParallelFor they belong. ParallelFor markers don't point to their tasks yet.
#preflight 62cec0fb471a2c28861c4e00

[CL 21070211 by Andriy Tylychko in ue5-main branch]
2022-07-13 09:27:39 -04:00
bryan sefcik
746b7df074 Same as CL 20991367:
Updated Core code to not use CoreMinimal.h when possible.
Core public headers still will contain CoreMinimal.h if any included it before my IWYU changes.
#preflight 62c74ed0324817d81488b7ee

[CL 20993420 by bryan sefcik in ue5-main branch]
2022-07-07 17:41:31 -04:00
bryan sefcik
62489fe2b3 Ran a pass of IWYU on Core.
Things to note regarding this pass:
* No includes are currently being removed from public headers.
* Any private file that has a #if is currently not being updated.

#rb Devin Doucette and Marc Audy
#preflight 62c62086756222ced497ff95
#preflight 62c626d12f2d04691814d331
#preflight 62c630107e606620fdd64e31
#preflight 62c635c6756222ced49a13cf

[CL 20979027 by bryan sefcik in ue5-main branch]
2022-07-06 21:44:18 -04:00
Yuriy ODonnell
8bb57497f3 Add ParallelForWithExistingTaskContext, which is similar to ParallelForWithTaskContext except takes a pre-allocated array of task contexts and launches at most one task per context
#rb Andriy.Tylychko
#preflight 62ba3c494209c7c579ee9f16

[CL 20843451 by Yuriy ODonnell in ue5-main branch]
2022-06-27 20:30:14 -04:00
Robb Surridge
0a5a02c5b2 Coding standard fixes: gender-inclusive language
#jira UE-156429
#preflight 62b32e826a25ba6ae52f94bd
#rb jason.walter

[CL 20795375 by Robb Surridge in ue5-main branch]
2022-06-23 11:14:07 -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
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
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
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
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
Andriy Tylychko
a659790c69 Tasks: fixed traces of the new frontend
#preflight 62a3a5bdd06cb746c59421a6
#rb francis.hurteau

[CL 20607366 by Andriy Tylychko in ue5-main branch]
2022-06-11 06:40:11 -04:00