summaryrefslogtreecommitdiffstats
path: root/meta-oe
diff options
context:
space:
mode:
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>2020-07-16 01:05:56 +0300
committerKhem Raj <raj.khem@gmail.com>2020-07-16 07:14:00 -0700
commita5449a234a08d09ceb2dcd3c3773b1aca6bf5549 (patch)
tree2763555b79463afab1bf65112e83e863bf8d342a /meta-oe
parent3063ae3b14d2220fd54042c9a3869a2d44c48f84 (diff)
downloadmeta-openembedded-a5449a234a08d09ceb2dcd3c3773b1aca6bf5549.tar.gz
recipes-graphics: add Khronos OpenGL ES and Vulkan CTS recipes
Add recipes packaging OpenGL ES and Vulkan conformance test suite recipes. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe')
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/files/fix-clang-private-operator.patch15
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/files/fix-musl.patch24
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc36
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.6.1.bb19
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.3.0.bb23
5 files changed, 117 insertions, 0 deletions
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/files/fix-clang-private-operator.patch b/meta-oe/recipes-graphics/vk-gl-cts/files/fix-clang-private-operator.patch
new file mode 100644
index 000000000..b4573b38b
--- /dev/null
+++ b/meta-oe/recipes-graphics/vk-gl-cts/files/fix-clang-private-operator.patch
@@ -0,0 +1,15 @@
1Index: git/external/glslang/src/glslang/Include/PoolAlloc.h
2===================================================================
3--- git.orig/external/glslang/src/glslang/Include/PoolAlloc.h
4+++ git/external/glslang/src/glslang/Include/PoolAlloc.h
5@@ -240,8 +240,9 @@ protected:
6
7 int numCalls; // just an interesting statistic
8 size_t totalBytes; // just an interesting statistic
9-private:
10+public:
11 TPoolAllocator& operator=(const TPoolAllocator&); // don't allow assignment operator
12+private:
13 TPoolAllocator(const TPoolAllocator&); // don't allow default copy constructor
14 };
15
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/files/fix-musl.patch b/meta-oe/recipes-graphics/vk-gl-cts/files/fix-musl.patch
new file mode 100644
index 000000000..4116ae7d1
--- /dev/null
+++ b/meta-oe/recipes-graphics/vk-gl-cts/files/fix-musl.patch
@@ -0,0 +1,24 @@
1Index: git/framework/delibs/dethread/CMakeLists.txt
2===================================================================
3--- git.orig/framework/delibs/dethread/CMakeLists.txt
4+++ git/framework/delibs/dethread/CMakeLists.txt
5@@ -39,6 +39,7 @@ include_directories(
6
7 if (DE_OS_IS_UNIX)
8 add_definitions(-D_GNU_SOURCE)
9+ add_definitions(-D_XOPEN_SOURCE=600)
10 set(DETHREAD_LIBS ${DETHREAD_LIBS} pthread)
11 endif ()
12
13Index: git/framework/qphelper/CMakeLists.txt
14===================================================================
15--- git.orig/framework/qphelper/CMakeLists.txt
16+++ git/framework/qphelper/CMakeLists.txt
17@@ -28,6 +28,7 @@ set(QPHELPER_LIBS
18 if (DE_OS_IS_UNIX OR DE_OS_IS_QNX)
19 # For vsnprintf()
20 add_definitions(-D_XOPEN_SOURCE=600)
21+ set(QPHELPER_LIBS ${QPHELPER_LIBS} execinfo)
22 endif ()
23
24 if (DE_OS_IS_WIN32 AND DE_COMPILER_IS_MSC)
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc b/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc
new file mode 100644
index 000000000..bd75cdb1f
--- /dev/null
+++ b/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc
@@ -0,0 +1,36 @@
1LICENSE = "Apache-2.0"
2LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
3
4SRC_URI = "\
5 git://github.com/KhronosGroup/VK-GL-CTS.git;protocol=https;tag=${BPN}-${PV};name=vk-gl-cts \
6 git://github.com/google/amber;protocol=https;destsuffix=git/external/amber/src;name=amber;branch=main \
7 git://github.com/KhronosGroup/glslang.git;protocol=https;destsuffix=git/external/glslang/src;name=glslang \
8 git://github.com/KhronosGroup/SPIRV-Headers.git;protocol=https;destsuffix=git/external/spirv-headers/src;name=spirv-headers \
9 git://github.com/KhronosGroup/SPIRV-Tools.git;protocol=https;destsuffix=git/external/spirv-tools/src;name=spirv-tools \
10 https://raw.githubusercontent.com/baldurk/renderdoc/v1.1/renderdoc/api/app/renderdoc_app.h;subdir=git/external/renderdoc/src;name=renderdoc \
11"
12
13S = "${WORKDIR}/git"
14
15SRCREV_FORMAT = "vk-gl-cts"
16
17S = "${WORKDIR}/git"
18
19inherit pkgconfig cmake
20
21DEPENDS += "libpng zlib virtual/libgles2 virtual/egl"
22
23SRC_URI_append_libc-musl = "\
24 file://fix-musl.patch \
25"
26DEPENDS_append_libc-musl = " libexecinfo"
27
28SRC_URI_append_toolchain-clang = "\
29 file://fix-clang-private-operator.patch \
30"
31
32EXTRA_OECMAKE_append = " -DDEQP_TARGET=surfaceless"
33
34CTSDIR = "/usr/lib/${BPN}"
35
36FILES_${PN} += "${CTSDIR}"
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.6.1.bb b/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.6.1.bb
new file mode 100644
index 000000000..3e336e45c
--- /dev/null
+++ b/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.6.1.bb
@@ -0,0 +1,19 @@
1DESCRIPTION = "OpenGL CTS"
2
3require khronos-cts.inc
4
5SRCREV_amber = "d26ee22dd7faab1845a531d410f7ec1db407402a"
6SRCREV_glslang = "c538b5d796fb24dd418fdd650c7f76e56bcc3dd8"
7SRCREV_spirv-headers = "e4322e3be589e1ddd44afb20ea842a977c1319b8"
8SRCREV_spirv-tools = "1eb89172a82b436d8037e8a8c29c80f7e1f7df74"
9SRC_URI[renderdoc.sha256sum] = "e7b5f0aa5b1b0eadc63a1c624c0ca7f5af133aa857d6a4271b0ef3d0bdb6868e"
10
11S = "${WORKDIR}/git"
12
13do_install() {
14 install -d ${D}/${CTSDIR}
15 cp -r ${B}/external/openglcts/modules/* ${D}/${CTSDIR}
16 rm -r ${D}/${CTSDIR}/*.a ${D}/${CTSDIR}/cmake_install.cmake ${D}/${CTSDIR}/CMakeFiles
17 rm -r ${D}/${CTSDIR}/*/*.a ${D}/${CTSDIR}/*/cmake_install.cmake ${D}/${CTSDIR}/*/CMakeFiles
18 rm -r ${D}/${CTSDIR}/common/subgroups/*.a ${D}/${CTSDIR}/common/subgroups/cmake_install.cmake ${D}/${CTSDIR}/common/subgroups/CMakeFiles
19}
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.3.0.bb b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.3.0.bb
new file mode 100644
index 000000000..77064d4ed
--- /dev/null
+++ b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.3.0.bb
@@ -0,0 +1,23 @@
1DESCRIPTION = "Vulkan CTS"
2
3require khronos-cts.inc
4
5SRCREV_amber = "a40bef4dba98d2d80b48e5a940d8574fbfceb197"
6SRCREV_glslang = "b5f003d7a3ece37db45578a8a3140b370036fc64"
7SRCREV_spirv-headers = "f8bf11a0253a32375c32cad92c841237b96696c0"
8SRCREV_spirv-tools = "d2b486219495594f2e5d0e8d457fc234a3460b3b"
9SRC_URI[renderdoc.sha256sum] = "e7b5f0aa5b1b0eadc63a1c624c0ca7f5af133aa857d6a4271b0ef3d0bdb6868e"
10
11S = "${WORKDIR}/git"
12
13REQUIRED_DISTRO_FEATURES = "vulkan"
14inherit features_check
15
16DEPENDS += " vulkan-loader"
17
18do_install() {
19 install -d ${D}/${CTSDIR}
20 cp -r ${B}/external/vulkancts/modules/vulkan/* ${D}/${CTSDIR}/
21 rm -r ${D}/${CTSDIR}/*.a ${D}/${CTSDIR}/cmake_install.cmake ${D}/${CTSDIR}/CMakeFiles
22 rm -r ${D}/${CTSDIR}/*/*.a ${D}/${CTSDIR}/*/cmake_install.cmake ${D}/${CTSDIR}/*/CMakeFiles
23}