Commit Graph

60 Commits

Author SHA1 Message Date
henrik karlsson
56e354a63e [Core]
* Fixed so all headers that are supposed to be included independently can compile (there are headers that must be included through other headers)

* Added HEADER_UNIT_SKIP to headers that must be included through others

* Added HEADER_UNIT_UNSUPPORTED to headers that are not supported by platform but is part of the include list anyway (files in Clang folder and pthread files).

* Added HEADER_UNIT_UNSUPPORTED to headers that have bad dependencies and include files from modules they don't depend on. (KeyChainUtilities.h and PackageWriter.h)

#preflight 637281309e3bea8079feb733
#rb devin.doucette

[CL 23127795 by henrik karlsson in ue5-main branch]
2022-11-14 17:08:04 -05: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
marc audy
927adb79be Correct deprecation versions
#preflight trivial
#rnx

[CL 22573046 by marc audy in ue5-main branch]
2022-10-17 15:13:35 -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
d204690fb9 fixed double destruction in Tasks System that was causing repeating "task destroyed" traces in TasksInsight
#jira UE-164718
#rb francis.hurteau
#preflight 633ffebc090af7205cff672f
#lockdown marc.audy

[CL 22402645 by Andriy Tylychko in ue5-main branch]
2022-10-07 12:24:00 -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
d6da5ae1bb Add a way to determine if we are in a retraction context
#rb Andriy.Tylychko
#preflight 63233c07c225e8be38fddbda

[CL 22055776 by andriy tylychko in ue5-main branch]
2022-09-16 14:29:50 -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
Andriy Tylychko
91f0acf042 comment correction
#preflight cosmetic

[CL 21266849 by Andriy Tylychko in ue5-main branch]
2022-08-08 05:45:37 -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
a911be56af partially reverted 21177799 that took much more changes than it was intended
#preflight 62d8029fd54af4b9a2ca3d0c

[CL 21178730 by Andriy Tylychko in ue5-main branch]
2022-07-20 09:45:58 -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
63ab5dd7e1 Tasks System: minor cleanup, moved Wait methods to the cpp file
#preflight 62d7f099bc175ec68c0e16a9

[CL 21177751 by Andriy Tylychko in ue5-main branch]
2022-07-20 08:27:03 -04:00
bryan sefcik
a9cc65bca4 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 62c73594756222ced4e48707

[CL 20991367 by bryan sefcik in ue5-main branch]
2022-07-07 16:02:19 -04:00
bryan sefcik
13f4c9daac Ran IWYU again after fixing some IWYU mapping issues.
#preflight 62c71b3ab3789302b1a0818b

[CL 20987904 by bryan sefcik in ue5-main branch]
2022-07-07 14:01:46 -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
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
6372d04d3f fixed TSAN false positive data race warnings about TReferenceControllerBase. TSAN doesn't handle memory fences properly (https://stackoverflow.com/questions/70542993/why-does-the-thread-sanitizer-complain-about-acquire-release-thread-fences). As using release decrement and acquire memory fence is not proven to be superior for supported platforms, it was decided to switch to acq_rel decrement as it's what is used by most of other popular implementations for ref counting
#rb steve.robb
#preflight 62b060d41c62a6555a8024f4

[CL 20736831 by Andriy Tylychko in ue5-main branch]
2022-06-20 09:55:24 -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
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
Zousar Shaker
acd2801ae7 Ensure Task timeouts don't pass a negative wait time to FEvents, as that will cause a check failure.
#rnx
#rb andriy.tylychko
#preflight 62a36f72b0150a87f9f57961

[CL 20598404 by Zousar Shaker in ue5-main branch]
2022-06-10 12:52:33 -04:00
Marc Audy
25478ced7f Fix non-unity errors
#preflight
#rnx

[CL 20255119 by Marc Audy in ue5-main branch]
2022-05-17 22:01:45 -04:00
Andriy Tylychko
355cb277e8 FTaskPriorityCVar - a console var to configure Tasks System priorities, by analogy with FAutoConsoleTaskPriority for TaskGraph
#preflight 628386e43f6aa88b1a777e76

[CL 20240822 by Andriy Tylychko in ue5-main branch]
2022-05-17 07:43:35 -04:00
Andriy Tylychko
573d2c69a4 fixed task retraction while waiting on named threads. check the new unit test for exact conditions
#rb francis.hurteau
#preflight 627d27784a05ef0394cc3970

[CL 20165251 by Andriy Tylychko in ue5-main branch]
2022-05-12 11:46:49 -04:00