StagingBuffer: add OpenCL buff handles to StimFrames

This commit is contained in:
2025-11-19 23:43:17 -04:00
parent 27b43c6686
commit 5789a31e23
7 changed files with 73 additions and 19 deletions
+8 -2
View File
@@ -10,6 +10,9 @@
#include <user/stimulusFrame.h>
#include <user/frameAssemblyDesc.h>
#include <user/sequenceLock.h>
#include <user/senseApiDesc.h>
#define CL_TARGET_OPENCL_VERSION 120
#include <CL/cl.h>
namespace smo {
namespace stim_buff {
@@ -31,7 +34,9 @@ public:
* each initialized with a SlotDesc from the FrameAssemblyDesc.
*/
explicit SpMcRingBuffer(
const std::shared_ptr<FrameAssemblyDesc> &frameAssemblyDesc_)
const std::shared_ptr<FrameAssemblyDesc> &frameAssemblyDesc_,
const SmoCallbacks& callbacks,
cl_mem_flags flags)
:
nBuffers(frameAssemblyDesc_ ? frameAssemblyDesc_->slots.size() : 0),
frameAssemblyDesc(frameAssemblyDesc_),
@@ -54,7 +59,8 @@ public:
for (size_t i = 0; i < nBuffers; ++i)
{
slots[i].~StimulusFrame(); // Destroy default-constructed object
new (&slots[i]) StimulusFrame(frameAssemblyDesc->slots[i]);
new (&slots[i]) StimulusFrame(
frameAssemblyDesc->slots[i], callbacks, flags);
}
}