Navigation
API > API/Runtime > API/Runtime/Engine
Different sort flags used to define constraint for FGPUSortManager tasks.
| Name | EGPUSortFlags |
| Type | enum |
| Header File | /Engine/Source/Runtime/Engine/Public/GPUSortManager.h |
| Include Path | #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 | Remarks |
|---|---|
| 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 |