mirror of
https://github.com/KhronosGroup/OpenCL-CTS.git
synced 2026-03-19 06:09:01 +00:00
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:
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user