mirror of
https://github.com/KhronosGroup/OpenCL-CTS.git
synced 2026-03-19 06:09:01 +00:00
fixing test events (#1678)
This commit is contained in:
committed by
GitHub
parent
ff1369d94e
commit
caa656c268
@@ -52,7 +52,7 @@ int test_event_enqueue_wait_for_events_run_test(
|
|||||||
{
|
{
|
||||||
cl_int error = CL_SUCCESS;
|
cl_int error = CL_SUCCESS;
|
||||||
size_t threads[3] = { TEST_SIZE, 0, 0 };
|
size_t threads[3] = { TEST_SIZE, 0, 0 };
|
||||||
int i, loop_count, event_count, expected_value, failed;
|
int i, loop_count, expected_value, failed;
|
||||||
int expected_if_only_queue[2];
|
int expected_if_only_queue[2];
|
||||||
int max_count = TEST_SIZE;
|
int max_count = TEST_SIZE;
|
||||||
|
|
||||||
@@ -65,8 +65,6 @@ int test_event_enqueue_wait_for_events_run_test(
|
|||||||
clMemWrapper data;
|
clMemWrapper data;
|
||||||
clProgramWrapper program;
|
clProgramWrapper program;
|
||||||
clKernelWrapper kernel1[TEST_COUNT], kernel2[TEST_COUNT];
|
clKernelWrapper kernel1[TEST_COUNT], kernel2[TEST_COUNT];
|
||||||
clEventWrapper event[TEST_COUNT * 4 + 2]; // If we usemarkers we get 2 more
|
|
||||||
// events per iteration
|
|
||||||
|
|
||||||
if (test_enqueue_wait_for_events)
|
if (test_enqueue_wait_for_events)
|
||||||
log_info("\tTesting with clEnqueueBarrierWithWaitList as barrier "
|
log_info("\tTesting with clEnqueueBarrierWithWaitList as barrier "
|
||||||
@@ -249,11 +247,13 @@ int test_event_enqueue_wait_for_events_run_test(
|
|||||||
else
|
else
|
||||||
log_info("Queues chosen alternatily for each kernel execution.\n");
|
log_info("Queues chosen alternatily for each kernel execution.\n");
|
||||||
|
|
||||||
event_count = 0;
|
clEventWrapper pre_loop_event;
|
||||||
|
clEventWrapper last_loop_event;
|
||||||
|
|
||||||
for (i = 0; i < (int)TEST_SIZE; i++) values[i] = 1;
|
for (i = 0; i < (int)TEST_SIZE; i++) values[i] = 1;
|
||||||
error = clEnqueueWriteBuffer(queues[0], data, CL_FALSE, 0,
|
error = clEnqueueWriteBuffer(queues[0], data, CL_FALSE, 0,
|
||||||
TEST_SIZE * sizeof(cl_int), values, 0, NULL,
|
TEST_SIZE * sizeof(cl_int), values, 0, NULL,
|
||||||
&event[event_count]);
|
&pre_loop_event);
|
||||||
test_error(error, "clEnqueueWriteBuffer 2 failed");
|
test_error(error, "clEnqueueWriteBuffer 2 failed");
|
||||||
expected_value = 1;
|
expected_value = 1;
|
||||||
expected_if_only_queue[0] = 1;
|
expected_if_only_queue[0] = 1;
|
||||||
@@ -263,7 +263,7 @@ int test_event_enqueue_wait_for_events_run_test(
|
|||||||
if (test_enqueue_wait_for_events)
|
if (test_enqueue_wait_for_events)
|
||||||
{
|
{
|
||||||
error = clEnqueueBarrierWithWaitList(queues[queue_to_use], 1,
|
error = clEnqueueBarrierWithWaitList(queues[queue_to_use], 1,
|
||||||
&event[event_count], NULL);
|
&pre_loop_event, NULL);
|
||||||
test_error(error, "Unable to queue wait for events");
|
test_error(error, "Unable to queue wait for events");
|
||||||
}
|
}
|
||||||
else if (test_barrier)
|
else if (test_barrier)
|
||||||
@@ -275,6 +275,13 @@ int test_event_enqueue_wait_for_events_run_test(
|
|||||||
|
|
||||||
for (loop_count = 0; loop_count < TEST_COUNT; loop_count++)
|
for (loop_count = 0; loop_count < TEST_COUNT; loop_count++)
|
||||||
{
|
{
|
||||||
|
int event_count = 0;
|
||||||
|
clEventWrapper first_dependency =
|
||||||
|
(loop_count == 0) ? pre_loop_event : last_loop_event;
|
||||||
|
clEventWrapper
|
||||||
|
event[5]; // A maximum of 5 events are created in the loop
|
||||||
|
event[event_count] = first_dependency;
|
||||||
|
|
||||||
// Execute kernel 1
|
// Execute kernel 1
|
||||||
event_count++;
|
event_count++;
|
||||||
if (use_waitlist | use_marker)
|
if (use_waitlist | use_marker)
|
||||||
@@ -424,6 +431,7 @@ int test_event_enqueue_wait_for_events_run_test(
|
|||||||
NULL);
|
NULL);
|
||||||
test_error(error, "Unable to queue barrier");
|
test_error(error, "Unable to queue barrier");
|
||||||
}
|
}
|
||||||
|
last_loop_event = event[event_count];
|
||||||
}
|
}
|
||||||
|
|
||||||
// Now finish up everything
|
// Now finish up everything
|
||||||
@@ -435,7 +443,7 @@ int test_event_enqueue_wait_for_events_run_test(
|
|||||||
|
|
||||||
error = clEnqueueReadBuffer(queues[0], data, CL_TRUE, 0,
|
error = clEnqueueReadBuffer(queues[0], data, CL_TRUE, 0,
|
||||||
TEST_SIZE * sizeof(cl_int), values, 1,
|
TEST_SIZE * sizeof(cl_int), values, 1,
|
||||||
&event[event_count], NULL);
|
&last_loop_event, NULL);
|
||||||
|
|
||||||
test_error(error, "clEnqueueReadBuffer failed");
|
test_error(error, "clEnqueueReadBuffer failed");
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user