EGPUSortFlags

Different sort flags used to define constraint for [FGPUSortManager](API\Runtime\Engine\FGPUSortManager) tasks.

Windows
MacOS
Linux

References

Module

Engine

Header

/Engine/Source/Runtime/Engine/Public/GPUSortManager.h

Include

#include "GPUSortManager.h"

Syntax

enum EGPUSortFlags
{
    None                           = 0x00,
    LowPrecisionKeys               = 0x01,
    HighPrecisionKeys              = 0x02,
    AnyKeyPrecision                = 0x03,
    KeyGenAfterPreRender           = 0x04,
    KeyGenAfterPostRenderOpaque    = 0x08,
    AnyKeyGenLocation              = 0x0C,
    SortAfterPreRender             = 0x10,
    SortAfterPostRenderOpaque      = 0x20,
    AnySortLocation                = 0x30,
    ValuesAsG16R16F                = 0x40,
    ValuesAsInt32                  = 0x80,
    AnyValueFormat                 = 0xC0,
}

Values

Name

Description

None

LowPrecisionKeys

Sorting happens on either 16 bit keys or 32 bit uint keys.

HighPrecisionKeys

AnyKeyPrecision

KeyGenAfterPreRender

The sort task are created in FPrimitiveSceneProxy::GetDynamicMeshElements() but have different requirements in terms of when the keys can be generated, and when the sorted values are required within the frame.

KeyGenAfterPostRenderOpaque

AnyKeyGenLocation

SortAfterPreRender

Once keys are generated, they must be sorted and the indices only need to be ready before the primitive are rendered.

SortAfterPostRenderOpaque

AnySortLocation

ValuesAsG16R16F

The sorted values can either be read as 1D or 2D, but doesn't otherwise affect the sorting implementation as long as the storage size is the same.

ValuesAsInt32

AnyValueFormat

Remarks

Different sort flags used to define constraint for FGPUSortManager tasks.

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss