Navigation
Unreal Engine C++ API Reference > Runtime > Engine > FGPUSortManager
References
Module | Engine |
Header | /Engine/Source/Runtime/Engine/Public/GPUSortManager.h |
Include | #include "GPUSortManager.h" |
Syntax
struct FSortBatch
Remarks
Defines a sort batch that regroups several sort tasks created by FGPUSortManager::AddTask(), becoming sort the batch elements. The condition to regroup task in the same batch rely mostly around the key precisions and the sort location (PreRender or PostRenderOpaque). Each SortBatch maps to a single GPU sort task.
Variables
Type | Name | Description | |
---|---|---|---|
![]() |
FDynamicValueBuffer * | DynamicValueBuffer | The buffer to hold the final sorted values. |
![]() |
EGPUSortFlags | Flags | The common requirement flag for this batch. |
![]() |
int32 | Id | An Id defining this batch. Passed along FGPUSortKeyGenDelegate. |
![]() |
int32 | NumElements | The number of elements (tasks) grouped in this batch. |
![]() |
ESortBatchProcessingOrder | ProcessingOrder | This batch processing order in the frame. |
![]() |
FParticleSortBuffers * | SortBuffers | The scratch buffers used to hold the initial keys and values and perform the GPU sort. |
Functions
Type | Name | Description | |
---|---|---|---|
![]() |
void | GenerateKeys
(
FRHICommandListImmediate& RHICmdList, |
Call each delegate registered in the FGPUSortManager so they setup their task data for each element they own in the batch. |
![]() ![]() |
int32 | Get the batch buffer allocated size. | |
![]() ![]() |
int32 | Get batch currently used size for this frame. | |
![]() |
void | SortAndResolve
(
FRHICommandListImmediate& RHICmdList, |
Perform the GPU sort and resolve to all buffers referenced in FGPUSortManager::AddTask(), if the buffer grew in size. |
![]() |
void | Compute the processing order from the current value of Flags. |