Skip to content

ParallelSort

class ParallelSort

Dependencies: NumKeys

Public Interface

Constructor:

ParallelSort

inline ParallelSort()

Attributes: inline

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 48, column 5)

Destructor:

~ParallelSort

~ParallelSort()

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 49, column 5)

Public Functions:

Init

void Init(uint32_t maxEntries, bool bHasPayload, bool bIndirect)

Parameters:

NameTypeDefault
maxEntriesuint32_t
bHasPayloadbool
bIndirectbool

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 51, column 10)

Execute

void Execute(cauldron::CommandList *pCmdList, NumKeys numKeysToSort, const cauldron::Buffer *pKeyBuffer, const cauldron::Buffer *pPayloadBuffer=nullptr)

Parameters:

NameTypeDefault
pCmdListcauldron::CommandList *
numKeysToSortNumKeys
pKeyBufferconst cauldron::Buffer *
pPayloadBufferconst cauldron::Buffer *nullptr

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 53, column 10)

Private Interface

Private Members:

uint32_t m_maxEntries

uint32_t m_maxEntries = = 0

Attributes: private

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 56, column 14)

bool m_bHasPayload

bool m_bHasPayload = = false

Attributes: private

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 57, column 14)

bool m_bIndirect

bool m_bIndirect = = false

Attributes: private

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 58, column 14)

cauldron::RootSignature * m_pSetupIndirectArgsRootSignature

cauldron::RootSignature * m_pSetupIndirectArgsRootSignature = = nullptr

Attributes: private

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 60, column 29)

cauldron::RootSignature * m_pCountRootSignature

cauldron::RootSignature * m_pCountRootSignature = = {}

Attributes: private

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 61, column 29)

cauldron::RootSignature * m_pCountReduceRootSignature

cauldron::RootSignature * m_pCountReduceRootSignature = = {}

Attributes: private

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 62, column 29)

cauldron::RootSignature * m_pScanRootSignature

cauldron::RootSignature * m_pScanRootSignature = = {}

Attributes: private

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 63, column 29)

cauldron::RootSignature * m_pScanAddRootSignature

cauldron::RootSignature * m_pScanAddRootSignature = = {}

Attributes: private

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 64, column 29)

cauldron::RootSignature * m_pScatterRootSignature

cauldron::RootSignature * m_pScatterRootSignature = = {}

Attributes: private

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 65, column 29)

cauldron::PipelineObject * m_pSetupIndirectArgsPipelineObj

cauldron::PipelineObject * m_pSetupIndirectArgsPipelineObj = = nullptr

Attributes: private

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 67, column 30)

cauldron::PipelineObject * m_pCountPipelineObj

cauldron::PipelineObject * m_pCountPipelineObj = = {}

Attributes: private

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 68, column 30)

cauldron::PipelineObject * m_pCountReducePipelineObj

cauldron::PipelineObject * m_pCountReducePipelineObj = = {}

Attributes: private

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 69, column 30)

cauldron::PipelineObject * m_pScanPipelineObj

cauldron::PipelineObject * m_pScanPipelineObj = = {}

Attributes: private

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 70, column 30)

cauldron::PipelineObject * m_pScanAddPipelineObj

cauldron::PipelineObject * m_pScanAddPipelineObj = = {}

Attributes: private

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 71, column 30)

cauldron::PipelineObject * m_pScatterPipelineObj

cauldron::PipelineObject * m_pScatterPipelineObj = = {}

Attributes: private

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 72, column 30)

cauldron::ParameterSet * m_pSetupIndirectArgsParameters

cauldron::ParameterSet * m_pSetupIndirectArgsParameters = = nullptr

Attributes: private

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 74, column 28)

cauldron::ParameterSet * m_pCountParameters

cauldron::ParameterSet * m_pCountParameters = = {}

Attributes: private

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 75, column 28)

cauldron::ParameterSet * m_pCountReduceParameters

cauldron::ParameterSet * m_pCountReduceParameters = = {}

Attributes: private

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 76, column 28)

cauldron::ParameterSet * m_pScanParameters

cauldron::ParameterSet * m_pScanParameters = = {}

Attributes: private

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 77, column 28)

cauldron::ParameterSet * m_pScanAddParameters

cauldron::ParameterSet * m_pScanAddParameters = = {}

Attributes: private

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 78, column 28)

cauldron::ParameterSet * m_pScatterParameters

cauldron::ParameterSet * m_pScatterParameters = = {}

Attributes: private

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 79, column 28)

const cauldron::Buffer * m_pSortScratchBuffer

const cauldron::Buffer * m_pSortScratchBuffer = = nullptr

Attributes: private

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 81, column 28)

const cauldron::Buffer * m_pPayloadScratchBuffer

const cauldron::Buffer * m_pPayloadScratchBuffer = = nullptr

Attributes: private

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 82, column 28)

const cauldron::Buffer * m_pScratchBuffer

const cauldron::Buffer * m_pScratchBuffer = = nullptr

Attributes: private

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 83, column 28)

const cauldron::Buffer * m_pReducedScratchBuffer

const cauldron::Buffer * m_pReducedScratchBuffer = = nullptr

Attributes: private

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 84, column 28)

const cauldron::Buffer * m_pIndirectCountScatterArgsBuffer

const cauldron::Buffer * m_pIndirectCountScatterArgsBuffer = = nullptr

Attributes: private

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 85, column 28)

const cauldron::Buffer * m_pIndirectReduceScanArgsBuffer

const cauldron::Buffer * m_pIndirectReduceScanArgsBuffer = = nullptr

Attributes: private

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 86, column 28)

const cauldron::Buffer * m_pIndirectConstantBuffer

const cauldron::Buffer * m_pIndirectConstantBuffer = = nullptr

Attributes: private

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 87, column 28)

cauldron::IndirectWorkload * m_pIndirectWorkload

cauldron::IndirectWorkload * m_pIndirectWorkload = = nullptr

Attributes: private

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 89, column 32)

Used By: GPUParticleRenderModule

Source: framework/rendermodules/gpuparticle/parallelsort.h (line 45, column 1)