UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TaskGraphInterfaces.h File Reference

Go to the source code of this file.

Classes

struct  ENamedThreads::FRenderThreadStatics
 
class  FAutoConsoleTaskPriority
 
class  FTaskGraphInterface
 
struct  FTaskGraphBlockAllocationTag
 
class  FBaseGraphTask
 
class  TGraphTask< TTask >
 
class  TGraphTask< TTask >::FConstructor
 
class  FGraphEventImpl
 
class  FReturnGraphTask
 
class  FCustomStatIDGraphTaskBase
 
class  FNullGraphTask
 
class  FTriggerEventGraphTask
 
class  FSimpleDelegateGraphTask
 
class  FDelegateGraphTask
 
class  TFunctionGraphTaskImpl< Signature, SubsequentsMode >
 
struct  FFunctionGraphTask
 

Namespaces

namespace  ENamedThreads
 
namespace  ESubsequentsMode
 

Macros

#define checkThreadGraph   checkSlow
 

Typedefs

typedef TArray< FGraphEventRef, TInlineAllocator< 4 > > FGraphEventArray
 
using FGraphEventImplAllocator = TLockFreeFixedSizeAllocator_TLSCache< sizeof(FGraphEventImpl), PLATFORM_CACHE_LINE_SIZE >
 

Enumerations

enum  ENamedThreads::Type : int32 {
  ENamedThreads::UnusedAnchor = -1 , ENamedThreads::RHIThread , ENamedThreads::GameThread , ENamedThreads::ActualRenderingThread = GameThread + 1 ,
  ENamedThreads::AnyThread = 0xff , ENamedThreads::MainQueue = 0x000 , ENamedThreads::LocalQueue = 0x100 , ENamedThreads::NumQueues = 2 ,
  ENamedThreads::ThreadIndexMask = 0xff , ENamedThreads::QueueIndexMask = 0x100 , ENamedThreads::QueueIndexShift = 8 , ENamedThreads::NormalTaskPriority = 0x000 ,
  ENamedThreads::HighTaskPriority = 0x200 , ENamedThreads::NumTaskPriorities = 2 , ENamedThreads::TaskPriorityMask = 0x200 , ENamedThreads::TaskPriorityShift = 9 ,
  ENamedThreads::NormalThreadPriority = 0x000 , ENamedThreads::HighThreadPriority = 0x400 , ENamedThreads::BackgroundThreadPriority = 0x800 , ENamedThreads::NumThreadPriorities = 3 ,
  ENamedThreads::ThreadPriorityMask = 0xC00 , ENamedThreads::ThreadPriorityShift = 10 , ENamedThreads::GameThread_Local = GameThread | LocalQueue , ENamedThreads::ActualRenderingThread_Local = ActualRenderingThread | LocalQueue ,
  ENamedThreads::AnyHiPriThreadNormalTask = AnyThread | HighThreadPriority | NormalTaskPriority , ENamedThreads::AnyHiPriThreadHiPriTask = AnyThread | HighThreadPriority | HighTaskPriority , ENamedThreads::AnyNormalThreadNormalTask = AnyThread | NormalThreadPriority | NormalTaskPriority , ENamedThreads::AnyNormalThreadHiPriTask = AnyThread | NormalThreadPriority | HighTaskPriority ,
  ENamedThreads::AnyBackgroundThreadNormalTask = AnyThread | BackgroundThreadPriority | NormalTaskPriority , ENamedThreads::AnyBackgroundHiPriTask = AnyThread | BackgroundThreadPriority | HighTaskPriority
}
 
enum  ESubsequentsMode::Type { ESubsequentsMode::TrackSubsequents , ESubsequentsMode::FireAndForget }
 

Functions

 DECLARE_STATS_GROUP (TEXT("Task Graph Tasks"), STATGROUP_TaskGraphTasks, STATCAT_Advanced)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("FReturnGraphTask"), STAT_FReturnGraphTask, STATGROUP_TaskGraphTasks, CORE_API)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("FTriggerEventGraphTask"), STAT_FTriggerEventGraphTask, STATGROUP_TaskGraphTasks, CORE_API)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("ParallelFor"), STAT_ParallelFor, STATGROUP_TaskGraphTasks, CORE_API)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("ParallelForTask"), STAT_ParallelForTask, STATGROUP_TaskGraphTasks, CORE_API)
 
UE_FORCEINLINE_HINT Type ENamedThreads::GetRenderThread ()
 
UE_FORCEINLINE_HINT Type ENamedThreads::GetRenderThread_Local ()
 
UE_FORCEINLINE_HINT void ENamedThreads::SetRenderThread (Type Thread)
 
UE_FORCEINLINE_HINT void ENamedThreads::SetRenderThread_Local (Type Thread)
 
UE_FORCEINLINE_HINT Type ENamedThreads::GetThreadIndex (Type ThreadAndIndex)
 
UE_FORCEINLINE_HINT int32 ENamedThreads::GetQueueIndex (Type ThreadAndIndex)
 
UE_FORCEINLINE_HINT int32 ENamedThreads::GetTaskPriority (Type ThreadAndIndex)
 
int32 ENamedThreads::GetThreadPriorityIndex (Type ThreadAndIndex)
 
Type ENamedThreads::SetPriorities (Type ThreadAndIndex, Type ThreadPriority, Type TaskPriority)
 
Type ENamedThreads::SetPriorities (Type ThreadAndIndex, int32 PriorityIndex, bool bHiPri)
 
Type ENamedThreads::SetThreadPriority (Type ThreadAndIndex, Type ThreadPriority)
 
Type ENamedThreads::SetTaskPriority (Type ThreadAndIndex, Type TaskPriority)
 
 DECLARE_INTRINSIC_TYPE_LAYOUT (ENamedThreads::Type)
 
CORE_API TArray< TaskTrace::FIdGetTraceIds (const FGraphEventArray &Tasks)
 
CORE_API FGraphEventImplAllocatorGetGraphEventImplAllocator ()
 
CORE_API int32 WaitForAnyTaskCompleted (const FGraphEventArray &GraphEvents, FTimespan Timeout=FTimespan::MaxValue())
 
CORE_API FGraphEventRef AnyTaskCompleted (const FGraphEventArray &GraphEvents)
 

Macro Definition Documentation

◆ checkThreadGraph

#define checkThreadGraph   checkSlow

Typedef Documentation

◆ FGraphEventArray

Convenience typedef for a an array a graph events

◆ FGraphEventImplAllocator

Function Documentation

◆ AnyTaskCompleted()

CORE_API FGraphEventRef AnyTaskCompleted ( const FGraphEventArray GraphEvents)

◆ DECLARE_CYCLE_STAT_EXTERN() [1/4]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("FReturnGraphTask")  ,
STAT_FReturnGraphTask  ,
STATGROUP_TaskGraphTasks  ,
CORE_API   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [2/4]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("FTriggerEventGraphTask")  ,
STAT_FTriggerEventGraphTask  ,
STATGROUP_TaskGraphTasks  ,
CORE_API   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [3/4]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("ParallelFor")  ,
STAT_ParallelFor  ,
STATGROUP_TaskGraphTasks  ,
CORE_API   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [4/4]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("ParallelForTask")  ,
STAT_ParallelForTask  ,
STATGROUP_TaskGraphTasks  ,
CORE_API   
)

◆ DECLARE_INTRINSIC_TYPE_LAYOUT()

DECLARE_INTRINSIC_TYPE_LAYOUT ( ENamedThreads::Type  )

◆ DECLARE_STATS_GROUP()

DECLARE_STATS_GROUP ( TEXT("Task Graph Tasks" ,
STATGROUP_TaskGraphTasks  ,
STATCAT_Advanced   
)

◆ GetGraphEventImplAllocator()

CORE_API FGraphEventImplAllocator & GetGraphEventImplAllocator ( )

◆ GetTraceIds()

CORE_API TArray< TaskTrace::FId > GetTraceIds ( const FGraphEventArray Tasks)

returns trace IDs of given tasks

◆ WaitForAnyTaskCompleted()

CORE_API int32 WaitForAnyTaskCompleted ( const FGraphEventArray GraphEvents,
FTimespan  Timeout = FTimespan::MaxValue() 
)