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:
Name | Type | Default |
---|---|---|
maxEntries | uint32_t | “ |
bHasPayload | bool | “ |
bIndirect | bool | “ |
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:
Name | Type | Default |
---|---|---|
pCmdList | cauldron::CommandList * | “ |
numKeysToSort | NumKeys | “ |
pKeyBuffer | const cauldron::Buffer * | “ |
pPayloadBuffer | const 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)