Use a more genuine kernel for the command buffer device enqueue negative test (#2532)

The current one has no arguments and does not enqueue any work.
This commit is contained in:
Ahmed
2025-10-28 15:50:08 +00:00
committed by GitHub
parent 74ebc67294
commit 1a4862e84e

View File

@@ -398,16 +398,17 @@ struct CommandNDRangeKernelWithKernelEnqueueCall : public BasicCommandBufferTest
const char* kernel_str =
R"(
__kernel void enqueue_call_func() {
__kernel void enqueue_call_func(__global int* out_mem) {
out_mem[get_global_id(0)] = 0x1234;
}
__kernel void enqueue_call_kernel() {
queue_t def_q = get_default_queue();
ndrange_t ndrange = ndrange_1D(1);
enqueue_kernel(def_q, CLK_ENQUEUE_FLAGS_WAIT_KERNEL, ndrange,
^{enqueue_call_func();});
__kernel void enqueue_call_kernel(__global int* out_mem) {
queue_t def_q = get_default_queue();
ndrange_t ndrange = ndrange_1D(1);
enqueue_kernel(def_q, CLK_ENQUEUE_FLAGS_WAIT_KERNEL, ndrange,
^{enqueue_call_func(out_mem);});
}
)";
)";
std::string build_options = std::string(" ") + cl_std;
error = create_single_kernel_helper(context, &program, &kernel, 1,
@@ -443,7 +444,17 @@ enqueue_kernel(def_q, CLK_ENQUEUE_FLAGS_WAIT_KERNEL, ndrange,
cl_int Run() override
{
cl_int error = clCommandNDRangeKernelKHR(
cl_int error = CL_SUCCESS;
clMemWrapper out_mem =
clCreateBuffer(context, CL_MEM_WRITE_ONLY,
num_elements * sizeof(cl_int), nullptr, &error);
test_error(error, "clCreateBuffer failed");
error = clSetKernelArg(kernel, 0, sizeof(cl_mem), &out_mem);
test_error(error, "clSetKernelArg failed");
error = clCommandNDRangeKernelKHR(
command_buffer, nullptr, nullptr, kernel, 1, nullptr, &num_elements,
nullptr, 0, nullptr, nullptr, nullptr);