OClCollMeshEngn: use proper alignment for small StagingBuffer size
Aligning to uint32_t saves about 1 page of mem?
This commit is contained in:
@@ -992,8 +992,10 @@ void OpenClCollatingAndMeshingEngine::produceAmbienceStimulusFrame(
|
|||||||
|
|
||||||
// Write the ambience count to the ambienceStimFrame
|
// Write the ambience count to the ambienceStimFrame
|
||||||
StimulusFrame& ambienceFrame = ambienceStimFrame->get();
|
StimulusFrame& ambienceFrame = ambienceStimFrame->get();
|
||||||
uint32_t* ambienceValue = reinterpret_cast<uint32_t*>(
|
using PcloudAmbienceStimVal = PcloudAmbienceStencil
|
||||||
ambienceFrame.slotDesc.vaddr);
|
::PcloudAmbienceStimulusValue;
|
||||||
|
PcloudAmbienceStimVal* ambienceValue = reinterpret_cast<
|
||||||
|
PcloudAmbienceStimVal*>(ambienceFrame.slotDesc.vaddr);
|
||||||
ambienceValue[0] = ambienceCount;
|
ambienceValue[0] = ambienceCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1223,9 +1225,11 @@ public:
|
|||||||
|
|
||||||
// Read the stimFrame value (ambience count)
|
// Read the stimFrame value (ambience count)
|
||||||
StimulusFrame& ambienceFrame = context->ambienceStimFrame->get();
|
StimulusFrame& ambienceFrame = context->ambienceStimFrame->get();
|
||||||
uint32_t* ambienceValue = reinterpret_cast<uint32_t*>(
|
using PcloudAmbienceStimVal = PcloudAmbienceStencil
|
||||||
ambienceFrame.slotDesc.vaddr);
|
::PcloudAmbienceStimulusValue;
|
||||||
uint32_t stimFrameValue = ambienceValue[0];
|
PcloudAmbienceStimVal* ambienceValue = reinterpret_cast<
|
||||||
|
PcloudAmbienceStimVal*>(ambienceFrame.slotDesc.vaddr);
|
||||||
|
PcloudAmbienceStimVal stimFrameValue = ambienceValue[0];
|
||||||
|
|
||||||
bool meetsPostrinThreshold = (framesMetThreshold >= postrinThreshold);
|
bool meetsPostrinThreshold = (framesMetThreshold >= postrinThreshold);
|
||||||
|
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ static StagingBuffer::IOEngineConstraints openClIntensityInputConstraints(
|
|||||||
|
|
||||||
static StagingBuffer::IOEngineConstraints openClAmbienceInputConstraints(
|
static StagingBuffer::IOEngineConstraints openClAmbienceInputConstraints(
|
||||||
// slotStartAlignmentByteVal (sizeof(void*))
|
// slotStartAlignmentByteVal (sizeof(void*))
|
||||||
sizeof(void*),
|
sizeof(PcloudAmbienceStencil::PcloudAmbienceStimulusValue),
|
||||||
// slotPadToNBytes (sizeof(PcloudAmbienceStimulusValue))
|
// slotPadToNBytes (sizeof(PcloudAmbienceStimulusValue))
|
||||||
sizeof(PcloudAmbienceStencil::PcloudAmbienceStimulusValue),
|
sizeof(PcloudAmbienceStencil::PcloudAmbienceStimulusValue),
|
||||||
// frameStartAlignmentByteVal (page alignment)
|
// frameStartAlignmentByteVal (page alignment)
|
||||||
|
|||||||
Reference in New Issue
Block a user