summaryrefslogtreecommitdiffstats
path: root/balls.c
diff options
context:
space:
mode:
Diffstat (limited to 'balls.c')
-rw-r--r--balls.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/balls.c b/balls.c
index d3a8e62..5970e3c 100644
--- a/balls.c
+++ b/balls.c
@@ -91,8 +91,8 @@ void drawString(const char *str);
float *flatten(Vector *vs, int n);
int nBalls;
-cl_command_queue queue;
cl_context cpuContext, gpuContext;
+cl_command_queue cpuQueue, gpuQueue;
cl_kernel moveKernel, collideWallsKernel, collideBallsKernel, genVerticesKernel;
GLuint vertexVAO, vertexVBO, colorVBO;
cl_mem positions, velocities, radii, *collisions, vertexBuf;
@@ -223,10 +223,13 @@ initCL(void) {
exit(1);
}
- /* Create command queue. */
- queue = clCreateCommandQueue(context, device, 0, &err);
+ /* Create command queues. */
+ cpuQueue = clCreateCommandQueue(cpuContext, cpuDevice, 0, &err);
if (err < 0)
- sysfatal("Failed to create command queue.\n");
+ sysfatal("Failed to create CPU command queue.\n");
+ gpuQueue = clCreateCommandQueue(gpuContext, gpuDevice, 0, &err);
+ if (err < 0)
+ sysfatal("Failed to create GPU command queue.\n");
/* Create kernels. */
moveKernel = createKernel(prog, MOVE_KERNEL_FUNC);