From dd47d7c0d9a5d2c511988f92d0cf2be5ac5d1ba7 Mon Sep 17 00:00:00 2001 From: Sam Anthony Date: Sat, 26 Oct 2024 19:37:15 -0400 Subject: execKernel() --- balls.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'balls.c') diff --git a/balls.c b/balls.c index 486ab98..3365d4a 100644 --- a/balls.c +++ b/balls.c @@ -205,7 +205,26 @@ configureSharedData(void) { void execKernel(void) { - // TODO + int err; + cl_event kernelEvent; + + glFinish(); + + err = clEnqueueAcquireGLObjects(queue, nelem(memObjs), memObjs, 0, NULL, NULL); + if (err < 0) + sysfatal("Couldn't acquire the GL objects.\n"); + + err = clEnqueueTask(queue, kernel, 0, NULL, &kernelEvent); + if (err < 0) + sysfatal("Couldn't enqueue the kernel.\n"); + + err = clWaitForEvents(1, &kernelEvent); + if (err < 0) + sysfatal("Couldn't enqueue the kernel.\n"); + + clEnqueueReleaseGLObjects(queue, nelem(memObjs), memObjs, 0, NULL, NULL); + clFinish(queue); + clReleaseEvent(kernelEvent); } void -- cgit v1.2.3