summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-core/opencl/opencl-cts_2026.05.05.bb
blob: e99c305d9a887baa562e7af424a8506f13e39214 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
SUMMARY = "OpenCL CTS"
DESCRIPTION = "OpenCL CTS test suite"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"

inherit pkgconfig cmake features_check

REQUIRED_DISTRO_FEATURES = "opencl"

DEPENDS += "opencl-headers virtual/libopencl1 spirv-headers spirv-tools-native"
RDEPENDS:${PN} += "python3-core python3-io"


SRC_URI = "git://github.com/KhronosGroup/OpenCL-CTS.git;protocol=https;branch=main;lfs=0"

SRCREV = "0979549a997090c0569da4c4e995422b8f73f1fe"

EXTRA_OECMAKE:append = " --compile-no-warning-as-error -DSPIRV_INCLUDE_DIR=${STAGING_EXECPREFIXDIR} -DCL_INCLUDE_DIR=${STAGING_INCDIR} -DCL_LIB_DIR=${STAGING_LIBDIR} -DOPENCL_LIBRARIES=OpenCL"

PACKAGECONFIG = " \
	${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl gles', '', d)} \
	${@bb.utils.filter('DISTRO_FEATURES', 'vulkan', d)} \
"
PACKAGECONFIG[opengl] = "-DGL_IS_SUPPORTED=ON,-DGL_IS_SUPPORTED=OFF,virtual/libgl glew freeglut"
PACKAGECONFIG[gles] = "-DGLES_IS_SUPPORTED=ON,-DGLES_IS_SUPPORTED=OFF,virtual/egl virtual/libgles2"
PACKAGECONFIG[vulkan] = "-DVULKAN_IS_SUPPORTED=ON,-DVULKAN_IS_SUPPORTED=OFF,vulkan-headers glslang-native"

SECURITY_STRINGFORMAT:remove = "-Werror=format-security"

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 libvulkan_wrapper.a -type f -delete
        find "${D}${bindir}/opencl_test_conformance" -name CMakeFiles -type d -exec rm -rf "{}" \; -depth
}

COMPATIBLE_HOST:riscv64 = "null"
COMPATIBLE_HOST:riscv32 = "null"