From 80589acfb1161b2aafcef722ac51698663cb6613 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Jastrz=C4=99bski?= Date: Tue, 7 Mar 2023 18:00:16 +0100 Subject: [PATCH] Move semaphore tests from api to extensions (#1646) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Move semaphore tests from api to extensions Moved cl_khr_semaphore tests from core api tests to a separate extension test as suggested in https://github.com/KhronosGroup/OpenCL-CTS/issues/1588 . Signed-off-by: Paweł Jastrzębski * Fix clang-format Signed-off-by: Paweł Jastrzębski * Remove unneeded comment. Signed-off-by: Paweł Jastrzębski --------- Signed-off-by: Paweł Jastrzębski --- test_conformance/api/CMakeLists.txt | 1 - test_conformance/api/main.cpp | 14 ----- test_conformance/api/procs.h | 37 ------------ test_conformance/extensions/CMakeLists.txt | 1 + .../cl_khr_semaphore/CMakeLists.txt | 8 +++ .../extensions/cl_khr_semaphore/main.cpp | 49 ++++++++++++++++ .../extensions/cl_khr_semaphore/procs.h | 57 +++++++++++++++++++ .../cl_khr_semaphore}/test_semaphores.cpp | 1 - 8 files changed, 115 insertions(+), 53 deletions(-) create mode 100644 test_conformance/extensions/cl_khr_semaphore/CMakeLists.txt create mode 100644 test_conformance/extensions/cl_khr_semaphore/main.cpp create mode 100644 test_conformance/extensions/cl_khr_semaphore/procs.h rename test_conformance/{api => extensions/cl_khr_semaphore}/test_semaphores.cpp (99%) diff --git a/test_conformance/api/CMakeLists.txt b/test_conformance/api/CMakeLists.txt index 473e6ee9..d3e6c6a7 100644 --- a/test_conformance/api/CMakeLists.txt +++ b/test_conformance/api/CMakeLists.txt @@ -35,7 +35,6 @@ set(${MODULE_NAME}_SOURCES test_mem_object_properties_queries.cpp test_queue_properties_queries.cpp test_pipe_properties_queries.cpp - test_semaphores.cpp ) include(../CMakeCommon.txt) diff --git a/test_conformance/api/main.cpp b/test_conformance/api/main.cpp index 510b521b..fa76a406 100644 --- a/test_conformance/api/main.cpp +++ b/test_conformance/api/main.cpp @@ -148,20 +148,6 @@ test_definition test_list[] = { ADD_TEST(min_image_formats), ADD_TEST(negative_get_platform_info), ADD_TEST(negative_get_platform_ids), - - ADD_TEST_VERSION(semaphores_simple_1, Version(1, 2)), - ADD_TEST_VERSION(semaphores_simple_2, Version(1, 2)), - ADD_TEST_VERSION(semaphores_reuse, Version(1, 2)), - ADD_TEST_VERSION(semaphores_cross_queues_ooo, Version(1, 2)), - ADD_TEST_VERSION(semaphores_cross_queues_io, Version(1, 2)), - ADD_TEST_VERSION(semaphores_multi_signal, Version(1, 2)), - ADD_TEST_VERSION(semaphores_multi_wait, Version(1, 2)), - ADD_TEST_VERSION(semaphores_queries, Version(1, 2)), - ADD_TEST_VERSION(semaphores_order_1, Version(1, 2)), - ADD_TEST_VERSION(semaphores_order_2, Version(1, 2)), - ADD_TEST_VERSION(semaphores_order_3, Version(1, 2)), - ADD_TEST_VERSION(semaphores_import_export_fd, Version(1, 2)), - ADD_TEST_VERSION(semaphores_invalid_command, Version(1, 2)), }; const int test_num = ARRAY_SIZE(test_list); diff --git a/test_conformance/api/procs.h b/test_conformance/api/procs.h index 26e42164..1bcb3116 100644 --- a/test_conformance/api/procs.h +++ b/test_conformance/api/procs.h @@ -204,40 +204,3 @@ extern int test_negative_get_platform_ids(cl_device_id deviceID, int num_elements); extern int test_kernel_attributes(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements); - -extern int test_semaphores_simple_1(cl_device_id deviceID, cl_context context, - cl_command_queue queue, int num_elements); -extern int test_semaphores_simple_2(cl_device_id deviceID, cl_context context, - cl_command_queue queue, int num_elements); -extern int test_semaphores_reuse(cl_device_id deviceID, cl_context context, - cl_command_queue queue, int num_elements); -extern int test_semaphores_cross_queues_ooo(cl_device_id deviceID, - cl_context context, - cl_command_queue queue, - int num_elements); -extern int test_semaphores_cross_queues_io(cl_device_id deviceID, - cl_context context, - cl_command_queue queue, - int num_elements); -extern int test_semaphores_multi_signal(cl_device_id deviceID, - cl_context context, - cl_command_queue queue, - int num_elements); -extern int test_semaphores_multi_wait(cl_device_id deviceID, cl_context context, - cl_command_queue queue, int num_elements); -extern int test_semaphores_queries(cl_device_id deviceID, cl_context context, - cl_command_queue queue, int num_elements); -extern int test_semaphores_order_1(cl_device_id deviceID, cl_context context, - cl_command_queue queue, int num_elements); -extern int test_semaphores_order_2(cl_device_id deviceID, cl_context context, - cl_command_queue queue, int num_elements); -extern int test_semaphores_order_3(cl_device_id deviceID, cl_context context, - cl_command_queue queue, int num_elements); -extern int test_semaphores_import_export_fd(cl_device_id deviceID, - cl_context context, - cl_command_queue queue, - int num_elements); -extern int test_semaphores_invalid_command(cl_device_id deviceID, - cl_context context, - cl_command_queue queue, - int num_elements); diff --git a/test_conformance/extensions/CMakeLists.txt b/test_conformance/extensions/CMakeLists.txt index d95d29aa..32e2d11e 100644 --- a/test_conformance/extensions/CMakeLists.txt +++ b/test_conformance/extensions/CMakeLists.txt @@ -1,3 +1,4 @@ add_subdirectory( cl_ext_cxx_for_opencl ) add_subdirectory( cl_khr_command_buffer ) add_subdirectory( cl_khr_dx9_media_sharing ) +add_subdirectory( cl_khr_semaphore ) diff --git a/test_conformance/extensions/cl_khr_semaphore/CMakeLists.txt b/test_conformance/extensions/cl_khr_semaphore/CMakeLists.txt new file mode 100644 index 00000000..824784a1 --- /dev/null +++ b/test_conformance/extensions/cl_khr_semaphore/CMakeLists.txt @@ -0,0 +1,8 @@ +set(MODULE_NAME CL_KHR_SEMAPHORE) + +set(${MODULE_NAME}_SOURCES + main.cpp + test_semaphores.cpp +) + +include(../../CMakeCommon.txt) diff --git a/test_conformance/extensions/cl_khr_semaphore/main.cpp b/test_conformance/extensions/cl_khr_semaphore/main.cpp new file mode 100644 index 00000000..ab9699b0 --- /dev/null +++ b/test_conformance/extensions/cl_khr_semaphore/main.cpp @@ -0,0 +1,49 @@ +// +// Copyright (c) 2017 The Khronos Group Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +#include "harness/compat.h" +#include +#include + +#include +#include "procs.h" +#include "harness/testHarness.h" + +#if !defined(_WIN32) +#include +#endif + +test_definition test_list[] = { + ADD_TEST_VERSION(semaphores_simple_1, Version(1, 2)), + ADD_TEST_VERSION(semaphores_simple_2, Version(1, 2)), + ADD_TEST_VERSION(semaphores_reuse, Version(1, 2)), + ADD_TEST_VERSION(semaphores_cross_queues_ooo, Version(1, 2)), + ADD_TEST_VERSION(semaphores_cross_queues_io, Version(1, 2)), + ADD_TEST_VERSION(semaphores_multi_signal, Version(1, 2)), + ADD_TEST_VERSION(semaphores_multi_wait, Version(1, 2)), + ADD_TEST_VERSION(semaphores_queries, Version(1, 2)), + ADD_TEST_VERSION(semaphores_order_1, Version(1, 2)), + ADD_TEST_VERSION(semaphores_order_2, Version(1, 2)), + ADD_TEST_VERSION(semaphores_order_3, Version(1, 2)), + ADD_TEST_VERSION(semaphores_import_export_fd, Version(1, 2)), + ADD_TEST_VERSION(semaphores_invalid_command, Version(1, 2)), +}; + +const int test_num = ARRAY_SIZE(test_list); + +int main(int argc, const char *argv[]) +{ + return runTestHarness(argc, argv, test_num, test_list, false, 0); +} diff --git a/test_conformance/extensions/cl_khr_semaphore/procs.h b/test_conformance/extensions/cl_khr_semaphore/procs.h new file mode 100644 index 00000000..06651af4 --- /dev/null +++ b/test_conformance/extensions/cl_khr_semaphore/procs.h @@ -0,0 +1,57 @@ +// +// Copyright (c) 2017 The Khronos Group Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +#include "harness/errorHelpers.h" +#include "harness/kernelHelpers.h" +#include "harness/typeWrappers.h" +#include "harness/clImageHelper.h" +#include "harness/imageHelpers.h" + +extern int test_semaphores_simple_1(cl_device_id deviceID, cl_context context, + cl_command_queue queue, int num_elements); +extern int test_semaphores_simple_2(cl_device_id deviceID, cl_context context, + cl_command_queue queue, int num_elements); +extern int test_semaphores_reuse(cl_device_id deviceID, cl_context context, + cl_command_queue queue, int num_elements); +extern int test_semaphores_cross_queues_ooo(cl_device_id deviceID, + cl_context context, + cl_command_queue queue, + int num_elements); +extern int test_semaphores_cross_queues_io(cl_device_id deviceID, + cl_context context, + cl_command_queue queue, + int num_elements); +extern int test_semaphores_multi_signal(cl_device_id deviceID, + cl_context context, + cl_command_queue queue, + int num_elements); +extern int test_semaphores_multi_wait(cl_device_id deviceID, cl_context context, + cl_command_queue queue, int num_elements); +extern int test_semaphores_queries(cl_device_id deviceID, cl_context context, + cl_command_queue queue, int num_elements); +extern int test_semaphores_order_1(cl_device_id deviceID, cl_context context, + cl_command_queue queue, int num_elements); +extern int test_semaphores_order_2(cl_device_id deviceID, cl_context context, + cl_command_queue queue, int num_elements); +extern int test_semaphores_order_3(cl_device_id deviceID, cl_context context, + cl_command_queue queue, int num_elements); +extern int test_semaphores_import_export_fd(cl_device_id deviceID, + cl_context context, + cl_command_queue queue, + int num_elements); +extern int test_semaphores_invalid_command(cl_device_id deviceID, + cl_context context, + cl_command_queue queue, + int num_elements); diff --git a/test_conformance/api/test_semaphores.cpp b/test_conformance/extensions/cl_khr_semaphore/test_semaphores.cpp similarity index 99% rename from test_conformance/api/test_semaphores.cpp rename to test_conformance/extensions/cl_khr_semaphore/test_semaphores.cpp index 8faabebc..7d03bff3 100644 --- a/test_conformance/api/test_semaphores.cpp +++ b/test_conformance/extensions/cl_khr_semaphore/test_semaphores.cpp @@ -15,7 +15,6 @@ // -#include "testBase.h" #include "harness/typeWrappers.h" #include "harness/extensionHelpers.h" #include "harness/errorHelpers.h"