Navigation
API > API/Runtime > API/Runtime/Engine > API/Runtime/Engine/FGPUSortManager
Encapsulates the idea of a growable FValueBuffer, that dynamically change in size depending on requirements. What is specific here is that even after being grown, previous references to the smaller version are still valid for a frame. This requirement comes client system registering GPU sort tasks in InitViews(), before the total size required for the frame is known.
| Name | FDynamicValueBuffer |
| Type | struct |
| Header File | /Engine/Source/Runtime/Engine/Public/GPUSortManager.h |
| Include Path | #include "GPUSortManager.h" |
Syntax
struct FDynamicValueBuffer
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~FDynamicValueBuffer() |
GPUSortManager.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| CurrentSortBatchId | int32 | The sort batch using this buffer for this frame. | GPUSortManager.h | |
| LastSortBatchFlags | EGPUSortFlags | The last batch flags that used this buffer. Used to help rebind the same SortBatch between frames. | GPUSortManager.h | |
| NumFramesRequiringShrinking | int32 | A counter used to delay shrinking by several frames. | GPUSortManager.h | |
| ValueBuffers | FValueBufferArray | The current list of increasingly bigger value buffers. | GPUSortManager.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void Allocate
(
FRHICommandListBase& RHICmdList, |
Allocate some space into the buffer for this frame. | GPUSortManager.h | |
int32 GetAllocatedCount() |
Get the buffer allocated size . | GPUSortManager.h | |
int32 GetUsedCount() |
Get currently used size for this frame. | GPUSortManager.h | |
void ReleaseRHI() |
Release resources | GPUSortManager.h | |
void SkrinkAndReset
(
FRHICommandListBase& RHICmdList, |
Shrinks the buffer after it has been used this frame if applicable. | GPUSortManager.h |