summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Anthony <sam@samanthony.xyz>2024-11-12 20:24:16 -0500
committerSam Anthony <sam@samanthony.xyz>2024-11-12 20:24:16 -0500
commit9ac07b4b21f4379e59cf39f2dc23e7884016a6bf (patch)
treed98ef9235cb10a3a6b62cf675f22b4f4ca90793d
parentbfc210c4736a4a42ab741d68aded5ca71c3d935e (diff)
downloadballs-9ac07b4b21f4379e59cf39f2dc23e7884016a6bf.zip
free cl objects
-rw-r--r--balls.c24
1 files changed, 15 insertions, 9 deletions
diff --git a/balls.c b/balls.c
index 624fc29..f435eed 100644
--- a/balls.c
+++ b/balls.c
@@ -236,6 +236,9 @@ initCL(void) {
collideWallsKernel = createKernel(cpuProg, COLLIDE_WALLS_KERNEL_FUNC);
collideBallsKernel = createKernel(cpuProg, COLLIDE_BALLS_KERNEL_FUNC);
genVerticesKernel = createKernel(gpuProg, GEN_VERTICES_KERNEL_FUNC);
+
+ clReleaseProgram(cpuProg);
+ clReleaseProgram(gpuProg);
}
/*
@@ -578,22 +581,25 @@ void
freeCL(void) {
size_t i;
- clReleaseMemObject(positions);
- clReleaseMemObject(velocities);
- clReleaseMemObject(radii);
+ clReleaseMemObject(positionsCpuBuf);
+ clReleaseMemObject(positionsGpuBuf);
+ clReleaseMemObject(velocitiesCpuBuf);
+ clReleaseMemObject(radiiCpuBuf);
+ clReleaseMemObject(radiiGpuBuf);
for (i = 0; i < collisionPartition.size; i++)
- clReleaseMemObject(collisions[i]);
- free(collisions);
- clReleaseMemObject(vertexBuf);
+ clReleaseMemObject(collisionsCpuBufs[i]);
+ free(collisionsCpuBufs);
+ clReleaseMemObject(vertexGpuBuf);
clReleaseKernel(moveKernel);
clReleaseKernel(collideWallsKernel);
clReleaseKernel(collideBallsKernel);
clReleaseKernel(genVerticesKernel);
- clReleaseCommandQueue(queue);
- clReleaseProgram(prog);
- clReleaseContext(context);
+ clReleaseCommandQueue(cpuQueue);
+ clReleaseCommandQueue(gpuQueue);
+ clReleaseContext(cpuContext);
+ clReleaseContext(gpuContext);
}
void