15#ifndef GPURECONSTRUCTIONCPUDEVICEINTERNALS_H
16#define GPURECONSTRUCTIONCPUDEVICEINTERNALS_H
22#include <condition_variable>
30#include <oneapi/tbb.h>
34struct GPUReconstructionCPUDeviceInternals;
44 std::condition_variable
cv;
52 std::vector<std::pair<GPUReconstructionCPUDeviceEvent*, uint64_t>>
waits;
63 std::condition_variable
cv;
64 std::deque<GPUReconstructionCPUDeviceTask>
tasks;
69 std::unique_ptr<tbb::task_arena>
arena;
70 std::array<GPUReconstructionCPUDeviceQueue, constants::GPU_MAX_STREAMS>
queues;
GLsizei const GLfloat * value
typedef void(APIENTRYP PFNGLCULLFACEPROC)(GLenum mode)
GPUReconstructionCPUDeviceInternals * internals
std::vector< waitingQueue > waiting
std::condition_variable cv
void enqueue(int32_t stream, GPUReconstructionCPUDeviceTask &&task)
void processQueue(int32_t stream)
std::atomic< int32_t > error
std::unique_ptr< tbb::task_arena > arena
std::vector< void * > rtcLibraries
void completeEvent(GPUReconstructionCPUDeviceEvent *e, uint64_t value)
std::vector< void * > rtcKernels
std::array< GPUReconstructionCPUDeviceQueue, constants::GPU_MAX_STREAMS > queues
void startQueue(int32_t stream)
std::deque< GPUReconstructionCPUDeviceTask > tasks
std::condition_variable cv
std::function< void()> work
GPUReconstructionCPUDeviceEvent * record
std::vector< std::pair< GPUReconstructionCPUDeviceEvent *, uint64_t > > waits