StimBuff: Use a single StagingBuffer for all StimFrames

We now allocate all the stimFrames for a StimBuffer using a
single StagingBuffer. This gives us all the benefits we're
looking for (pinning, alignment, etc).
This commit is contained in:
2025-11-19 03:08:16 -04:00
parent 3f04d1b387
commit 41b8385cb2
8 changed files with 93 additions and 57 deletions
+4 -8
View File
@@ -2,7 +2,7 @@
#define _ATTACHMENT_SUPPORT_STIMULUS_FRAME_H
#include <cstdint>
#include <user/stagingBuffer.h>
#include <user/frameAssemblyDesc.h>
#include <user/sequenceLock.h>
namespace smo {
@@ -69,12 +69,8 @@ public:
*/
StimulusFrame() = default;
StimulusFrame(
const StagingBuffer::IOEngineConstraints& inputEngineConstraints,
const StagingBuffer::IOEngineConstraints& outputEngineConstraints,
size_t nSlots)
: stagingBuffer(
inputEngineConstraints, outputEngineConstraints, nSlots)
StimulusFrame(const FrameAssemblyDesc::SlotDesc& slotDesc_)
: slotDesc(slotDesc_)
{}
~StimulusFrame() = default;
@@ -88,7 +84,7 @@ public:
public:
SequenceLock lock;
SimultaneityStamp simultaneityStamp;
StagingBuffer stagingBuffer;
FrameAssemblyDesc::SlotDesc slotDesc;
};
} // namespace stim_buff