ENamedThreads::Type

Syntax

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

Values

Name

Description

UnusedAnchor

RHIThread

The always-present, named threads are listed next

AudioThread

GameThread

ActualRenderingThread

The render thread is sometimes the game thread and is sometimes the actual rendering thread.

AnyThread

Not actually a thread index. Means "Unknown Thread" or "Any Unnamed Thread"

MainQueue

High bits are used for a queue index and priority

LocalQueue

NumQueues

ThreadIndexMask

QueueIndexMask

QueueIndexShift

NormalTaskPriority

High bits are used for a queue index task priority and thread priority

HighTaskPriority

NumTaskPriorities

TaskPriorityMask

TaskPriorityShift

NormalThreadPriority

HighThreadPriority

BackgroundThreadPriority

NumThreadPriorities

ThreadPriorityMask

ThreadPriorityShift

GameThread_Local

Combinations

ActualRenderingThread_Local

AnyHiPriThreadNormalTask

AnyHiPriThreadHiPriTask

AnyNormalThreadNormalTask

AnyNormalThreadHiPriTask

AnyBackgroundThreadNormalTask

AnyBackgroundHiPriTask

References

Module

Core

Header

Runtime/Core/Public/Async/TaskGraphInterfaces.h