diff mbox series

[2/3] meta-arago-test: Introducing OpenCL testing

Message ID 20250205200411.686617-3-a-christidis@ti.com
State New
Headers show
Series Introducing opencl testing | expand

Commit Message

Antonios Christidis Feb. 5, 2025, 8:04 p.m. UTC
From: Antonios Christidis <a0507488@uda0867391-2.dhcp.ti.com>

Adding recipe for opencl-cts, v2024-08-08 is a pre-release version.
I have tested it to work with opencl-headers version v2024.05.08 . This version
is picked due to incompatibility issues with other versions of headers.

The recipe also includes a patch, to allow it to compile and build properly.
Further information below.

Signed-off-by: Antonios Christidis <a-christidis@ti.com>
---
 .../recipes-core/packagegroups/ti-test.bb     |  1 +
 ...Ignore-Compiler-Warnings-Patch-for-O.patch | 61 +++++++++++++++++++
 .../opencl/opencl-cts_2024.08.08.bb           | 27 ++++++++
 3 files changed, 89 insertions(+)
 create mode 100644 meta-arago-test/recipes-graphics/opencl/files/0001-meta-arago-test-Ignore-Compiler-Warnings-Patch-for-O.patch
 create mode 100644 meta-arago-test/recipes-graphics/opencl/opencl-cts_2024.08.08.bb
diff mbox series

Patch

diff --git a/meta-arago-test/recipes-core/packagegroups/ti-test.bb b/meta-arago-test/recipes-core/packagegroups/ti-test.bb
index e8458cef..81f6e1c6 100644
--- a/meta-arago-test/recipes-core/packagegroups/ti-test.bb
+++ b/meta-arago-test/recipes-core/packagegroups/ti-test.bb
@@ -61,6 +61,7 @@  TI_TEST_EXTRAS = " \
     piglit \
     python3-numpy \
     wayland-utils \
+    opencl-cts \
 "
 
 TI_TEST_BASE:append:armv7a = " \
diff --git a/meta-arago-test/recipes-graphics/opencl/files/0001-meta-arago-test-Ignore-Compiler-Warnings-Patch-for-O.patch b/meta-arago-test/recipes-graphics/opencl/files/0001-meta-arago-test-Ignore-Compiler-Warnings-Patch-for-O.patch
new file mode 100644
index 00000000..35019946
--- /dev/null
+++ b/meta-arago-test/recipes-graphics/opencl/files/0001-meta-arago-test-Ignore-Compiler-Warnings-Patch-for-O.patch
@@ -0,0 +1,61 @@ 
+From 3f01b7509cf725e9668b8e01d65669fc5626c160 Mon Sep 17 00:00:00 2001
+From: Antonios Christidis <a0507488@uda0867391-2.dhcp.ti.com>
+Date: Wed, 5 Feb 2025 11:40:22 -0600
+Subject: [meta-arago][scarthgap/master][PATCH] meta-arago-test: Ignore
+ Compiler Warnings Patch for OpenCL-CTS
+
+Within the cmake build system, the compiler -Werror flag is enabeled.  This
+turns all warnings into errors and doens't allow the system to compile
+correctly.  Change the system to ignore the 3 warning rules that show up when
+compiling.
+
+Signed-off-by: Antonios Christidis <a-christidis@ti.com>
+---
+ .../files/0001-Ignore-Compiler-Warnings.patch | 35 +++++++++++++++++++
+ 1 file changed, 35 insertions(+)
+ create mode 100644 meta-arago-test/recipes-graphics/opencl/files/0001-Ignore-Compiler-Warnings.patch
+
+diff --git a/meta-arago-test/recipes-graphics/opencl/files/0001-Ignore-Compiler-Warnings.patch b/meta-arago-test/recipes-graphics/opencl/files/0001-Ignore-Compiler-Warnings.patch
+new file mode 100644
+index 00000000..c21db6fb
+--- /dev/null
++++ b/meta-arago-test/recipes-graphics/opencl/files/0001-Ignore-Compiler-Warnings.patch
+@@ -0,0 +1,35 @@
++From 082ce10dd191f036f5a6e1fb31134e9736ba3643 Mon Sep 17 00:00:00 2001
++From: Antonios Christidis <a-christidis@ti.com>
++Date: Fri, 17 Jan 2025 15:05:39 -0600
++Subject: [PATCH] Ignore Compiler Warnings
++
++Within the cmake build system, the compiler -Werror flag is enabeled.  This
++turns all warnings into errors and doens't allow the system to compile
++correctly.  Change the system to ignore the 3 warning rules that show up when
++compiling.
++
++Upstream-Status: Inappropriate [oe specific - compilation errors due to cross-compiling]
++
++Singed-Off-By: Antonios Christidis <a-christidis@ti.com>
++---
++ CMakeLists.txt | 4 +++-
++ 1 file changed, 3 insertions(+), 1 deletion(-)
++
++diff --git a/CMakeLists.txt b/CMakeLists.txt
++index 5cfef6b3..71b6ddb4 100644
++--- a/CMakeLists.txt
+++++ b/CMakeLists.txt
++@@ -109,7 +109,9 @@ if(CMAKE_COMPILER_IS_GNUCC OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "(Apple)?Clang"
++     add_cxx_flag_if_supported(-Wno-error=cpp) # Allow #warning directive
++     add_cxx_flag_if_supported(-Wno-unknown-pragmas) # Issue #785
++     add_cxx_flag_if_supported(-Wno-error=asm-operand-widths) # Issue #784
++-
+++    add_cxx_flag_if_supported(-Wno-maybe-uninitialized)
+++    add_cxx_flag_if_supported(-Wno-stringop-truncation)
+++    add_cxx_flag_if_supported(-Wno-strict-aliasing)
++     # -msse -mfpmath=sse to force gcc to use sse for float math,
++     # avoiding excess precision problems that cause tests like int2float
++     # to falsely fail. -ffloat-store also works, but WG suggested
++-- 
++2.34.1
++
+-- 
+2.34.1
+
diff --git a/meta-arago-test/recipes-graphics/opencl/opencl-cts_2024.08.08.bb b/meta-arago-test/recipes-graphics/opencl/opencl-cts_2024.08.08.bb
new file mode 100644
index 00000000..c200884b
--- /dev/null
+++ b/meta-arago-test/recipes-graphics/opencl/opencl-cts_2024.08.08.bb
@@ -0,0 +1,27 @@ 
+SUMMARY = "OpenCL CTS"
+DESCRIPTION = "OpenCL CTS test suite"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+inherit pkgconfig cmake
+
+DEPENDS += "opencl-headers opencl-icd-loader"
+RDEPENDS:${PN} += "python3-core python3-io"
+
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/KhronosGroup/OpenCL-CTS.git;protocol=https;branch=main;lfs=0 \
+          file://0001-Ignore-Compiler-Warnings.patch"
+
+
+SRCREV = "a406b340913f622da089b00f284a597656c10239"
+
+EXTRA_OECMAKE:append = " -DCMAKE_BUILD_TYPE=Debug -DCL_INCLUDE_DIR=${STAGING_INCDIR} -DCL_LIB_DIR=${STAGING_LIBDIR} -DOPENCL_LIBRARIES=OpenCL"
+
+do_install() {
+        install -d ${D}${bindir}/opencl_test_conformance
+        cp -r ${B}/test_conformance/* ${D}${bindir}/opencl_test_conformance
+        sed -i 's:/usr/bin/python:/usr/bin/python3:g' ${D}${bindir}/opencl_test_conformance/run_conformance.py
+	find "${D}${bindir}/opencl_test_conformance" -name cmake_install.cmake -type f -delete
+        find "${D}${bindir}/opencl_test_conformance" -name CMakeFiles -type d -exec rm -rf "{}" \; -depth
+}