From 9137cb66ed01f23d1eec84846635ff61491361cd Mon Sep 17 00:00:00 2001 From: Callum Fare Date: Wed, 23 Nov 2022 14:09:42 +0000 Subject: [PATCH] Test that cloned kernels can't be enqueued before all args are set (#1563) --- test_conformance/api/test_clone_kernel.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/test_conformance/api/test_clone_kernel.cpp b/test_conformance/api/test_clone_kernel.cpp index 1a7e67a6..76e2846b 100644 --- a/test_conformance/api/test_clone_kernel.cpp +++ b/test_conformance/api/test_clone_kernel.cpp @@ -323,6 +323,14 @@ int test_clone_kernel(cl_device_id deviceID, cl_context context, cl_command_queu clKernelWrapper clonek = clCloneKernel(kernel, &error); test_error( error, "clCloneKernel failed." ); + // enqueue the kernel before the last arg is set + error = clEnqueueNDRangeKernel(queue, clonek, 1, NULL, &ndrange1, NULL, 0, + NULL, NULL); + test_failure_error(error, CL_INVALID_KERNEL_ARGS, + "A kernel cloned before all args are set should return " + "CL_INVALID_KERNEL_ARGS if enqueued before the " + "remaining args are set"); + // set the last arg and enqueue error = clSetKernelArg(clonek, 4, sizeof(cl_mem), &bufOut); test_error( error, "clSetKernelArg failed." );