aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>2021-04-09 13:33:01 +0300
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>2021-04-09 13:40:02 +0300
commit6e5e4dc4f41145c4eefa8ca60778f4aca76e0557 (patch)
tree6972f8c3df5c87a14e6536142b3789dfa825c0b5
parentc6261a4048e12252451a800c2efede4fc217e740 (diff)
openembedded-layer/recipes-graphics: backport khronos CTS
Backport opengl-es-cts and vulkan-cts. From, http://git.openembedded.org/meta-openembedded/commit/meta-oe/recipes-graphics/vk-gl-cts?id=078b4f8a33f957eb062692cc7d9b605fec3a1611 http://git.openembedded.org/meta-openembedded/commit/meta-oe/recipes-graphics/vk-gl-cts?id=8c9ff094820d63834f310fd103539cde3185c8d5 http://git.openembedded.org/meta-openembedded/commit/meta-oe/recipes-graphics/vk-gl-cts?id=ed2944037d826a7aab14b0968c6b8d8889208029 http://git.openembedded.org/meta-openembedded/commit/meta-oe/recipes-graphics/vk-gl-cts?id=74152e82da1b0db4da04e37c9ff1583081bbb902 http://git.openembedded.org/meta-openembedded/commit/meta-oe/recipes-graphics/vk-gl-cts?id=646befb1ecdc537e7403d35fa929a94ecd5f1a72 http://git.openembedded.org/meta-openembedded/commit/meta-oe/recipes-graphics/vk-gl-cts?id=447c3b735e1ec7ede4076956856242f8d8791ab7 http://git.openembedded.org/meta-openembedded/commit/meta-oe/recipes-graphics/vk-gl-cts?id=a5449a234a08d09ceb2dcd3c3773b1aca6bf5549 Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Change-Id: I8bfff3380d923f8602dcdda6c0a1eb5132602aa1
-rw-r--r--openembedded-layer/recipes-graphics/vk-gl-cts/files/0001-Do-not-error-on-uninitialized-warnings.patch28
-rw-r--r--openembedded-layer/recipes-graphics/vk-gl-cts/files/fix-clang-private-operator.patch15
-rw-r--r--openembedded-layer/recipes-graphics/vk-gl-cts/files/fix-musl.patch24
-rw-r--r--openembedded-layer/recipes-graphics/vk-gl-cts/khronos-cts.inc38
-rw-r--r--openembedded-layer/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.6.1.bb33
-rw-r--r--openembedded-layer/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.3.2.bb24
6 files changed, 162 insertions, 0 deletions
diff --git a/openembedded-layer/recipes-graphics/vk-gl-cts/files/0001-Do-not-error-on-uninitialized-warnings.patch b/openembedded-layer/recipes-graphics/vk-gl-cts/files/0001-Do-not-error-on-uninitialized-warnings.patch
new file mode 100644
index 0000000..4f3c755
--- /dev/null
+++ b/openembedded-layer/recipes-graphics/vk-gl-cts/files/0001-Do-not-error-on-uninitialized-warnings.patch
@@ -0,0 +1,28 @@
+From f9906a3a1b7f1ade7a6c4e1a8aa67cb3a5e663a9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 3 Mar 2021 11:33:15 -0800
+Subject: [PATCH] Do not error on uninitialized warnings
+
+code in verifier.cc violates C/C++ aliasing rules so code should be
+perhaps changed to use a union
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ external/amber/src/CMakeLists.txt | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/external/amber/src/CMakeLists.txt b/external/amber/src/CMakeLists.txt
+index 80a0df7..4323c81 100644
+--- a/external/amber/src/CMakeLists.txt
++++ b/external/amber/src/CMakeLists.txt
+@@ -133,6 +133,7 @@ elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+ -Werror
+ -Wextra
+ -Wno-unknown-pragmas
++ -Wno-error=uninitialized
+ -Wpedantic
+ -pedantic-errors)
+ elseif(MSVC)
+--
+2.30.1
diff --git a/openembedded-layer/recipes-graphics/vk-gl-cts/files/fix-clang-private-operator.patch b/openembedded-layer/recipes-graphics/vk-gl-cts/files/fix-clang-private-operator.patch
new file mode 100644
index 0000000..b4573b3
--- /dev/null
+++ b/openembedded-layer/recipes-graphics/vk-gl-cts/files/fix-clang-private-operator.patch
@@ -0,0 +1,15 @@
+Index: git/external/glslang/src/glslang/Include/PoolAlloc.h
+===================================================================
+--- git.orig/external/glslang/src/glslang/Include/PoolAlloc.h
++++ git/external/glslang/src/glslang/Include/PoolAlloc.h
+@@ -240,8 +240,9 @@ protected:
+
+ int numCalls; // just an interesting statistic
+ size_t totalBytes; // just an interesting statistic
+-private:
++public:
+ TPoolAllocator& operator=(const TPoolAllocator&); // don't allow assignment operator
++private:
+ TPoolAllocator(const TPoolAllocator&); // don't allow default copy constructor
+ };
+
diff --git a/openembedded-layer/recipes-graphics/vk-gl-cts/files/fix-musl.patch b/openembedded-layer/recipes-graphics/vk-gl-cts/files/fix-musl.patch
new file mode 100644
index 0000000..4116ae7
--- /dev/null
+++ b/openembedded-layer/recipes-graphics/vk-gl-cts/files/fix-musl.patch
@@ -0,0 +1,24 @@
+Index: git/framework/delibs/dethread/CMakeLists.txt
+===================================================================
+--- git.orig/framework/delibs/dethread/CMakeLists.txt
++++ git/framework/delibs/dethread/CMakeLists.txt
+@@ -39,6 +39,7 @@ include_directories(
+
+ if (DE_OS_IS_UNIX)
+ add_definitions(-D_GNU_SOURCE)
++ add_definitions(-D_XOPEN_SOURCE=600)
+ set(DETHREAD_LIBS ${DETHREAD_LIBS} pthread)
+ endif ()
+
+Index: git/framework/qphelper/CMakeLists.txt
+===================================================================
+--- git.orig/framework/qphelper/CMakeLists.txt
++++ git/framework/qphelper/CMakeLists.txt
+@@ -28,6 +28,7 @@ set(QPHELPER_LIBS
+ if (DE_OS_IS_UNIX OR DE_OS_IS_QNX)
+ # For vsnprintf()
+ add_definitions(-D_XOPEN_SOURCE=600)
++ set(QPHELPER_LIBS ${QPHELPER_LIBS} execinfo)
+ endif ()
+
+ if (DE_OS_IS_WIN32 AND DE_COMPILER_IS_MSC)
diff --git a/openembedded-layer/recipes-graphics/vk-gl-cts/khronos-cts.inc b/openembedded-layer/recipes-graphics/vk-gl-cts/khronos-cts.inc
new file mode 100644
index 0000000..e64a935
--- /dev/null
+++ b/openembedded-layer/recipes-graphics/vk-gl-cts/khronos-cts.inc
@@ -0,0 +1,38 @@
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI = "\
+ git://github.com/KhronosGroup/VK-GL-CTS.git;protocol=https;name=vk-gl-cts;nobranch=1 \
+ git://github.com/google/amber;protocol=https;destsuffix=git/external/amber/src;name=amber;branch=main \
+ git://github.com/KhronosGroup/glslang.git;protocol=https;destsuffix=git/external/glslang/src;name=glslang \
+ git://github.com/KhronosGroup/SPIRV-Headers.git;protocol=https;destsuffix=git/external/spirv-headers/src;name=spirv-headers \
+ git://github.com/KhronosGroup/SPIRV-Tools.git;protocol=https;destsuffix=git/external/spirv-tools/src;name=spirv-tools \
+ https://raw.githubusercontent.com/baldurk/renderdoc/v1.1/renderdoc/api/app/renderdoc_app.h;subdir=git/external/renderdoc/src;name=renderdoc \
+"
+
+S = "${WORKDIR}/git"
+
+SRCREV_FORMAT = "vk-gl-cts_amber_glslang_spirv-headers_spirv-tools"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig cmake features_check
+
+REQUIRED_DISTRO_FEATURES += "opengl"
+
+DEPENDS += "libpng zlib virtual/libgles2 virtual/egl"
+
+SRC_URI_append_libc-musl = "\
+ file://fix-musl.patch \
+"
+DEPENDS_append_libc-musl = " libexecinfo"
+
+SRC_URI_append_toolchain-clang = "\
+ file://fix-clang-private-operator.patch \
+"
+
+EXTRA_OECMAKE_append = " -DDEQP_TARGET=surfaceless"
+
+CTSDIR = "/usr/lib/${BPN}"
+
+FILES_${PN} += "${CTSDIR}"
diff --git a/openembedded-layer/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.6.1.bb b/openembedded-layer/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.6.1.bb
new file mode 100644
index 0000000..184547a
--- /dev/null
+++ b/openembedded-layer/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.6.1.bb
@@ -0,0 +1,33 @@
+DESCRIPTION = "OpenGL CTS"
+
+require khronos-cts.inc
+# opengl-es-cts-3.2.6.1
+SRCREV_vk-gl-cts = "7e023f81b4fff54b558882fe739d7c959d0a02a8"
+SRCREV_amber = "d26ee22dd7faab1845a531d410f7ec1db407402a"
+SRCREV_glslang = "c538b5d796fb24dd418fdd650c7f76e56bcc3dd8"
+SRCREV_spirv-headers = "e4322e3be589e1ddd44afb20ea842a977c1319b8"
+SRCREV_spirv-tools = "1eb89172a82b436d8037e8a8c29c80f7e1f7df74"
+SRC_URI[renderdoc.sha256sum] = "e7b5f0aa5b1b0eadc63a1c624c0ca7f5af133aa857d6a4271b0ef3d0bdb6868e"
+
+SRC_URI += "file://0001-Do-not-error-on-uninitialized-warnings.patch"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ install -d ${D}/${CTSDIR}
+ cp -r ${B}/external/openglcts/modules/* ${D}/${CTSDIR}
+
+ install -m 0755 ${B}/modules/egl/deqp-egl ${D}/${CTSDIR}
+ install -m 0755 ${B}/modules/gles2/deqp-gles2 ${D}/${CTSDIR}
+ install -m 0755 ${B}/modules/gles3/deqp-gles3 ${D}/${CTSDIR}
+ install -m 0755 ${B}/modules/gles31/deqp-gles31 ${D}/${CTSDIR}
+ install -m 0755 ${B}/modules/internal/de-internal-tests ${D}/${CTSDIR}
+
+ rm -r ${D}/${CTSDIR}/*.a ${D}/${CTSDIR}/cmake_install.cmake ${D}/${CTSDIR}/CMakeFiles
+ rm -r ${D}/${CTSDIR}/*/*.a ${D}/${CTSDIR}/*/cmake_install.cmake ${D}/${CTSDIR}/*/CMakeFiles
+ rm -r ${D}/${CTSDIR}/common/subgroups/*.a ${D}/${CTSDIR}/common/subgroups/cmake_install.cmake ${D}/${CTSDIR}/common/subgroups/CMakeFiles
+}
+
+SECURITY_CFLAGS_riscv64 = "${SECURITY_NOPIE_CFLAGS}"
+LTO = ""
+
diff --git a/openembedded-layer/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.3.2.bb b/openembedded-layer/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.3.2.bb
new file mode 100644
index 0000000..f07b12d
--- /dev/null
+++ b/openembedded-layer/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.3.2.bb
@@ -0,0 +1,24 @@
+DESCRIPTION = "Vulkan CTS"
+
+require khronos-cts.inc
+# vulkan-cts-1.2.3.2
+SRCREV_vk-gl-cts = "5cd2240b60825fbbf6bd9ddda6af176ee3100c70"
+SRCREV_amber = "a40bef4dba98d2d80b48e5a940d8574fbfceb197"
+SRCREV_glslang = "b5f003d7a3ece37db45578a8a3140b370036fc64"
+SRCREV_spirv-headers = "f8bf11a0253a32375c32cad92c841237b96696c0"
+SRCREV_spirv-tools = "d2b486219495594f2e5d0e8d457fc234a3460b3b"
+SRC_URI[renderdoc.sha256sum] = "e7b5f0aa5b1b0eadc63a1c624c0ca7f5af133aa857d6a4271b0ef3d0bdb6868e"
+
+S = "${WORKDIR}/git"
+
+REQUIRED_DISTRO_FEATURES = "vulkan"
+inherit features_check
+
+DEPENDS += " vulkan-loader"
+
+do_install() {
+ install -d ${D}/${CTSDIR}
+ cp -r ${B}/external/vulkancts/modules/vulkan/* ${D}/${CTSDIR}/
+ rm -r ${D}/${CTSDIR}/*.a ${D}/${CTSDIR}/cmake_install.cmake ${D}/${CTSDIR}/CMakeFiles
+ rm -r ${D}/${CTSDIR}/*/*.a ${D}/${CTSDIR}/*/cmake_install.cmake ${D}/${CTSDIR}/*/CMakeFiles
+}