From b64f429b4aa17e5c407e01eb082d475da2ddaf8a Mon Sep 17 00:00:00 2001 From: Ewan Crawford Date: Tue, 8 Oct 2024 17:58:31 +0100 Subject: [PATCH] Add new extensions to conformance csv files (#2096) The extension tests in `test_conformance/extensions` have not matching entries in the `opencl_conformance_tests_*.csv` files. This means that they are missed from conformance runs by vendors who use these files. I've included the new extensions in the full and quick CSV files as they don't have vast combinations of tests to run like bruteforce or conversions. I've put `cl_khr_dx9_media_sharing` in the `test_conformance/opencl_conformance_tests_d3d.csv` CSV as like the other tests there the test binary is conditional built only on a Windows platform. I've created a new `opencl_conformance_tests_vulkan.csv ` file for testing the `cl_khr_external_semaphore` extension, as creation of the binary is conditional on the Vulkan SDK being enabled environment. Any other tests that require the Vulkan SDK in future can also be added there. --- README.md | 2 +- test_conformance/extensions/CMakeLists.txt | 4 ++++ test_conformance/opencl_conformance_tests_d3d.csv | 4 +++- test_conformance/opencl_conformance_tests_full.csv | 5 +++++ test_conformance/opencl_conformance_tests_full_binary.csv | 5 +++++ .../opencl_conformance_tests_full_no_math_or_conversions.csv | 5 +++++ test_conformance/opencl_conformance_tests_full_spirv.csv | 5 +++++ test_conformance/opencl_conformance_tests_quick.csv | 5 +++++ test_conformance/opencl_conformance_tests_vulkan.csv | 5 +++++ 9 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 test_conformance/opencl_conformance_tests_vulkan.csv diff --git a/README.md b/README.md index 34322f48..6d46ce99 100644 --- a/README.md +++ b/README.md @@ -90,7 +90,7 @@ require compilation, these are: The Khronos [Conformance Process Document](https://members.khronos.org/document/dl/911) details the steps required for a conformance submission. -In this repository [opencl_conformance_tests_full.csv](test_conformance/submission_details_template.txt) +In this repository [opencl_conformance_tests_full.csv](test_conformance/opencl_conformance_tests_full.csv) defines the full list of tests which must be run for conformance. The output log of which must be included alongside a filled in [submission details template](test_conformance/submission_details_template.txt). diff --git a/test_conformance/extensions/CMakeLists.txt b/test_conformance/extensions/CMakeLists.txt index 77aa2f18..e0e790c2 100644 --- a/test_conformance/extensions/CMakeLists.txt +++ b/test_conformance/extensions/CMakeLists.txt @@ -1,3 +1,7 @@ +# Note: Each extension adds its own test executable to the build. When +# creating tests for a new extension ensure to update the +# `opencl_conformance_tests_*.csv` files with the path to the new binary so +# that the extension tests are included in conformance test runs. add_subdirectory( cl_ext_cxx_for_opencl ) add_subdirectory( cl_khr_command_buffer ) add_subdirectory( cl_khr_dx9_media_sharing ) diff --git a/test_conformance/opencl_conformance_tests_d3d.csv b/test_conformance/opencl_conformance_tests_d3d.csv index 29d2267e..053f7424 100644 --- a/test_conformance/opencl_conformance_tests_d3d.csv +++ b/test_conformance/opencl_conformance_tests_d3d.csv @@ -4,4 +4,6 @@ DX9 media sharing,media_sharing\test_media_surface_sharing D3D10,d3d10\test_d3d10 -D3D11,d3d11\test_d3d11 \ No newline at end of file +D3D11,d3d11\test_d3d11 + +cl_khr_dx9_media_sharing, extensions/cl_khr_dx9_media_sharing/test_cl_khr_dx9_media_sharing diff --git a/test_conformance/opencl_conformance_tests_full.csv b/test_conformance/opencl_conformance_tests_full.csv index 2b0dc8aa..27916c73 100644 --- a/test_conformance/opencl_conformance_tests_full.csv +++ b/test_conformance/opencl_conformance_tests_full.csv @@ -105,3 +105,8 @@ Mipmaps (Kernel),images/kernel_read_write/test_image_streams test_mipmaps CL_FIL Mipmaps (clCopyImage),images/clCopyImage/test_cl_copy_images test_mipmaps Mipmaps (clReadWriteImage),images/clReadWriteImage/test_cl_read_write_images test_mipmaps Subgroups,subgroups/test_subgroups +cl_ext_cxx_for_opencl,extensions/cl_ext_cxx_for_opencl/test_cl_ext_cxx_for_opencl +cl_khr_semaphore,extensions/cl_khr_semaphore/test_cl_khr_semaphore +cl_khr_command_buffer,extensions/cl_khr_command_buffer/test_cl_khr_command_buffer +cl_khr_command_buffer_mutable_dispatch,extensions/cl_khr_command_buffer/cl_khr_command_buffer_mutable_dispatch/test_cl_khr_mutable_dispatch +cl_khr_kernel_clock,extensions/cl_khr_kernel_clock/test_cl_khr_kernel_clock diff --git a/test_conformance/opencl_conformance_tests_full_binary.csv b/test_conformance/opencl_conformance_tests_full_binary.csv index 348f32eb..596cb81f 100644 --- a/test_conformance/opencl_conformance_tests_full_binary.csv +++ b/test_conformance/opencl_conformance_tests_full_binary.csv @@ -105,3 +105,8 @@ Mipmaps (Kernel),images/kernel_read_write/test_image_streams test_mipmaps CL_FIL Mipmaps (clCopyImage),images/clCopyImage/test_cl_copy_images test_mipmaps --compilation-mode binary --compilation-cache-path . Mipmaps (clReadWriteImage),images/clReadWriteImage/test_cl_read_write_images test_mipmaps --compilation-mode binary --compilation-cache-path . Subgroups,subgroups/test_subgroups --compilation-mode binary --compilation-cache-path . +cl_ext_cxx_for_opencl,extensions/cl_ext_cxx_for_opencl/test_cl_ext_cxx_for_opencl --compilation-mode binary --compilation-cache-path . +cl_khr_semaphore,extensions/cl_khr_semaphore/test_cl_khr_semaphore --compilation-mode binary --compilation-cache-path . +cl_khr_command_buffer,extensions/cl_khr_command_buffer/test_cl_khr_command_buffer --compilation-mode binary --compilation-cache-path . +cl_khr_command_buffer_mutable_dispatch,extensions/cl_khr_command_buffer/cl_khr_command_buffer_mutable_dispatch/test_cl_khr_mutable_dispatch --compilation-mode binary --compilation-cache-path . +cl_khr_kernel_clock,extensions/cl_khr_kernel_clock/test_cl_khr_kernel_clock --compilation-mode binary --compilation-cache-path . diff --git a/test_conformance/opencl_conformance_tests_full_no_math_or_conversions.csv b/test_conformance/opencl_conformance_tests_full_no_math_or_conversions.csv index 89d44907..06e98215 100644 --- a/test_conformance/opencl_conformance_tests_full_no_math_or_conversions.csv +++ b/test_conformance/opencl_conformance_tests_full_no_math_or_conversions.csv @@ -103,3 +103,8 @@ Mipmaps (Kernel),images/kernel_read_write/test_image_streams test_mipmaps CL_FIL Mipmaps (clCopyImage),images/clCopyImage/test_cl_copy_images test_mipmaps Mipmaps (clReadWriteImage),images/clReadWriteImage/test_cl_read_write_images test_mipmaps Subgroups,subgroups/test_subgroups +cl_ext_cxx_for_opencl,extensions/cl_ext_cxx_for_opencl/test_cl_ext_cxx_for_opencl +cl_khr_semaphore,extensions/cl_khr_semaphore/test_cl_khr_semaphore +cl_khr_command_buffer,extensions/cl_khr_command_buffer/test_cl_khr_command_buffer +cl_khr_command_buffer_mutable_dispatch,extensions/cl_khr_command_buffer/cl_khr_command_buffer_mutable_dispatch/test_cl_khr_mutable_dispatch +cl_khr_kernel_clock,extensions/cl_khr_kernel_clock/test_cl_khr_kernel_clock diff --git a/test_conformance/opencl_conformance_tests_full_spirv.csv b/test_conformance/opencl_conformance_tests_full_spirv.csv index 24b41865..484a7d72 100644 --- a/test_conformance/opencl_conformance_tests_full_spirv.csv +++ b/test_conformance/opencl_conformance_tests_full_spirv.csv @@ -105,3 +105,8 @@ Mipmaps (Kernel),images/kernel_read_write/test_image_streams test_mipmaps CL_FIL Mipmaps (clCopyImage),images/clCopyImage/test_cl_copy_images test_mipmaps --compilation-mode spir-v --compilation-cache-path . Mipmaps (clReadWriteImage),images/clReadWriteImage/test_cl_read_write_images test_mipmaps --compilation-mode spir-v --compilation-cache-path . Subgroups,subgroups/test_subgroups --compilation-mode spir-v --compilation-cache-path . +cl_ext_cxx_for_opencl,extensions/cl_ext_cxx_for_opencl/test_cl_ext_cxx_for_opencl --compilation-mode spir-v --compilation-cache-path . +cl_khr_semaphore,extensions/cl_khr_semaphore/test_cl_khr_semaphore --compilation-mode spir-v --compilation-cache-path . +cl_khr_command_buffer,extensions/cl_khr_command_buffer/test_cl_khr_command_buffer --compilation-mode spir-v --compilation-cache-path . +cl_khr_command_buffer_mutable_dispatch,extensions/cl_khr_command_buffer/cl_khr_command_buffer_mutable_dispatch/test_cl_khr_mutable_dispatch --compilation-mode spir-v --compilation-cache-path . +cl_khr_kernel_clock,extensions/cl_khr_kernel_clock/test_cl_khr_kernel_clock --compilation-mode spir-v --compilation-cache-path . diff --git a/test_conformance/opencl_conformance_tests_quick.csv b/test_conformance/opencl_conformance_tests_quick.csv index 043df821..b82c0da0 100644 --- a/test_conformance/opencl_conformance_tests_quick.csv +++ b/test_conformance/opencl_conformance_tests_quick.csv @@ -105,3 +105,8 @@ Mipmaps (Kernel),images/kernel_read_write/test_image_streams test_mipmaps CL_FIL Mipmaps (clCopyImage),images/clCopyImage/test_cl_copy_images test_mipmaps Mipmaps (clReadWriteImage),images/clReadWriteImage/test_cl_read_write_images test_mipmaps Subgroups,subgroups/test_subgroups +cl_ext_cxx_for_opencl,extensions/cl_ext_cxx_for_opencl/test_cl_ext_cxx_for_opencl +cl_khr_semaphore,extensions/cl_khr_semaphore/test_cl_khr_semaphore +cl_khr_command_buffer,extensions/cl_khr_command_buffer/test_cl_khr_command_buffer +cl_khr_command_buffer_mutable_dispatch,extensions/cl_khr_command_buffer/cl_khr_command_buffer_mutable_dispatch/test_cl_khr_mutable_dispatch +cl_khr_kernel_clock,extensions/cl_khr_kernel_clock/test_cl_khr_kernel_clock diff --git a/test_conformance/opencl_conformance_tests_vulkan.csv b/test_conformance/opencl_conformance_tests_vulkan.csv new file mode 100644 index 00000000..5b4fd8c0 --- /dev/null +++ b/test_conformance/opencl_conformance_tests_vulkan.csv @@ -0,0 +1,5 @@ +# +# OpenCL Conformance Tests requiring Vulkan SDK +# + +cl_khr_external_semaphore,extensions/cl_khr_external_semaphore/test_cl_khr_external_semaphore