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.

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback