This is a rather "hacky" fix. The old task implementation (TaskGraph API) is on a life support so there's no point of spending too much time for this
#preflight 644be99f1c2846595c45a4f2
#rb danny.couture
[CL 25235003 by Andriy Tylychko in ue5-main branch]
ParkingLot cannot be used to synchronize allocator implementations if ParkingLot itself depends on those allocators.
#preflight 6441575673470c177c178ce2
#rb Zousar.Shaker
#rnx
[CL 25131053 by devin doucette in ue5-main branch]
Avoiding duplicate conditions, restructuring loops, and using LIKELY/UNLIKELY allows the compiler to generate shorter and faster code.
#rb Zousar.Shaker
#rnx
[CL 24995086 by devin doucette in ue5-main branch]
The experimental UE::FLazyEvent has been superceded by UE::FManualResetEvent and UE::FEventCount.
#preflight 6434218041783dc3d0706df5
#rb none
#rnx
[CL 24978662 by devin doucette in ue5-main branch]
ParkingLot cannot be used to synchronize allocator implementations if ParkingLot itself depends on those allocators.
#rb Zousar.Shaker
#rnx
[CL 24977705 by devin doucette in ue5-main branch]
This is an 8-byte unfair recursive mutex built on top of ParkingLot.
Provides the same API as FCriticalSection which allows it to be used as a drop-in replacement.
#preflight 6422fde4803cb466e85619b0
#rb Andriy.Tylychko, Phil.Pizlo
[CL 24873014 by devin doucette in ue5-main branch]
This is a mutex that fits in a machine word. It is not fair and does not support recursive locking.
#rb Andriy.Tylychko, Zousar.Shaker
#rnx
[CL 24783348 by devin doucette in ue5-main branch]
[FYI] Devin.Doucette
Original CL Desc
-----------------------------------------------------------------
Added PlatformManualResetEvent
This private abstraction is used to signal a single waiting thread to wake.
This first implementation is only specialized for Microsoft platforms. Other platforms will be specialized later.
#preflight 6418bc6a5d3e25354f1a2a5b
#rb Andriy.Tylychko, Zousar.Shaker
[CL 24773885 by bob tellez in ue5-main branch]
This is a mutex that fits in a machine word. It is not fair and does not support recursive locking.
#rb Andriy.Tylychko, Zousar.Shaker
#rnx
[CL 24747280 by devin doucette in ue5-main branch]
This private abstraction is used to signal a single waiting thread to wake.
This first implementation is only specialized for Microsoft platforms. Other platforms will be specialized later.
#preflight 6418bc6a5d3e25354f1a2a5b
#rb Andriy.Tylychko, Zousar.Shaker
[CL 24739039 by devin doucette in ue5-main branch]
FParkingLot is a framework for building locks and other synchronization primitives, based on WTF::ParkingLot from WebKit.
FMutex is a one-byte mutex that is neither fair nor recursive, based on WTF::Lock from WebKit.
TUniqueLock and TDynamicUniqueLock are generic types to manage mutex locking, based on std::unique_lock.
#preflight 63fe76cbae54ee4ce9db2ca6
#rb Andriy.Tylychko, Phil.Pizlo
[CL 24552008 by devin doucette in ue5-main branch]
* fixed UE-166680
* refactored how task traces are used
* refactored task traces analysis
* added task size parameter
* added an ability to select which tasks to show in the tasks table: "alive", "waiting for prerequisites", "queued", "executing", "waiting for nested" and "completed"
#jira UE-166680
#preflight 63e650dd8917c5deac6fdb23
#preflight 63f36554500c05a6240f2857
[CL 24317221 by andriy tylychko in ue5-main branch]