OClCollatingMeshingEngn: Compile both kernels side by side
This commit is contained in:
@@ -51,8 +51,10 @@ private:
|
||||
cl_device_id device;
|
||||
cl_context context;
|
||||
cl_command_queue commandQueue;
|
||||
cl_program program;
|
||||
cl_kernel kernel;
|
||||
cl_program slotCompactorProgram;
|
||||
cl_program collateProgram;
|
||||
cl_kernel slotCompactorKernel;
|
||||
cl_kernel collateKernel;
|
||||
bool isSetup;
|
||||
|
||||
// OpenCL buffers
|
||||
@@ -62,9 +64,8 @@ private:
|
||||
// State tracking
|
||||
bool isRunning;
|
||||
cl_event currentKernelEvent;
|
||||
bool memoryPinned;
|
||||
|
||||
// Memory pinning tracking
|
||||
// Memory tracking
|
||||
void* assemblyBufferPtr;
|
||||
size_t assemblyBufferSize;
|
||||
void* collationBufferPtr;
|
||||
@@ -76,6 +77,15 @@ private:
|
||||
// Static callback for OpenCL event
|
||||
static void CL_CALLBACK kernelEventCallback(
|
||||
cl_event event, cl_int event_command_exec_status, void* user_data);
|
||||
|
||||
// Private helper methods
|
||||
bool compileAndPrepareKernel(
|
||||
const char* kernelSource, size_t kernelSourceLen,
|
||||
const char* kernelName, cl_program& program, cl_kernel& kernel);
|
||||
bool compileAndPrepareKernels();
|
||||
bool setupSlotCompactorsArgs(
|
||||
StagingBuffer& assemblyBuff, uint32_t nSucceeded);
|
||||
bool setupCollateDgramsArgs(StagingBuffer& assemblyBuff);
|
||||
};
|
||||
|
||||
} // namespace stim_buff
|
||||
|
||||
Reference in New Issue
Block a user