diff options
author | Khem Raj <raj.khem@gmail.com> | 2022-09-03 00:27:30 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2022-09-11 23:27:08 -0700 |
commit | 1bd5688a0b9d2df7a079783cc28f7a92d9d9af0d (patch) | |
tree | 3416a26929da126c664fc99a64bb3c185ab813d9 /meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc | |
parent | 21928e8aede47d87a27be5a0506d8d26813ce1e3 (diff) | |
download | meta-openembedded-contrib-1bd5688a0b9d2df7a079783cc28f7a92d9d9af0d.tar.gz |
vulkan-cts,opengl-es-cts: Upgrade to1.3.3.1 and 3.2.8 respectively
Add needed depednency on vulkan-docs, jsoncpp and python3-xml-native as they are
added newly in these versions.
Delete patches already applied in this release
Backport one amber patch to fix compile with clang
Forward port the remaining patches
Add mechanism to run target test binaries using qemu usermode
Override WAYLAND_SCANNER and WAYLAND_PROTOCOLS_DIR
Let these variables be set via cmake cmdline before enquiring via pkg-config
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc')
-rw-r--r-- | meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc b/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc index 7d73bfbf31..f9074556f1 100644 --- a/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc +++ b/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc @@ -7,23 +7,24 @@ SRC_URI = "\ git://github.com/KhronosGroup/glslang.git;protocol=https;destsuffix=git/external/glslang/src;name=glslang;branch=master \ git://github.com/KhronosGroup/SPIRV-Headers.git;protocol=https;destsuffix=git/external/spirv-headers/src;name=spirv-headers;branch=master \ git://github.com/KhronosGroup/SPIRV-Tools.git;protocol=https;destsuffix=git/external/spirv-tools/src;name=spirv-tools;branch=master \ - https://raw.githubusercontent.com/baldurk/renderdoc/v1.1/renderdoc/api/app/renderdoc_app.h;subdir=git/external/renderdoc/src;name=renderdoc \ + git://github.com/open-source-parsers/jsoncpp.git;protocol=https;destsuffix=git/external/jsoncpp/src;name=jsoncpp;branch=master \ + git://github.com/KhronosGroup/Vulkan-Docs.git;protocol=https;destsuffix=git/external/vulkan-docs/src;name=vulkan-docs;branch=main \ + https://raw.githubusercontent.com/baldurk/renderdoc/fcdea67879fa1991e56cf7734ce0ce27866b665f/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" +SRCREV_FORMAT = "vk-gl-cts_amber_glslang_spirv-headers_spirv-tools_jsoncpp_vulkan-docs" S = "${WORKDIR}/git" -inherit pkgconfig cmake features_check +inherit pkgconfig cmake features_check python3native qemu ANY_OF_DISTRO_FEATURES += "opengl wayland" -DEPENDS += "libpng zlib virtual/libgles2" +DEPENDS += "python3-lxml-native libpng zlib virtual/libgles2 qemu-native" -SRC_URI += "file://0001-Workaround-for-GCC-11-uninit-variable-warnings-946.patch;patchdir=external/amber/src \ - file://0001-Include-limits-header-for-numeric_limits.patch;patchdir=external/vulkancts \ +SRC_URI += " \ file://0001-vulkancts.patch \ file://0001-use-library-sonames-for-linking.patch \ " @@ -37,6 +38,8 @@ SRC_URI:append:toolchain-clang = "\ file://fix-clang-private-operator.patch \ " +EXTRA_OECMAKE:prepend:class-target = "-DCMAKE_CROSSCOMPILING_EMULATOR=${WORKDIR}/qemuwrapper -DWAYLAND_SCANNER=${STAGING_BINDIR_NATIVE}/wayland-scanner -DWAYLAND_PROTOCOLS_DIR=${STAGING_DATADIR}/wayland-protocols" + # The best thing for the user to do is to not specify any of the following # PACKAGECONFIGs (i.e. leave it blank) which tells the project to do its own # probing and build what it thinks is appropriate. @@ -44,11 +47,22 @@ SRC_URI:append:toolchain-clang = "\ # to override this behaviour. PACKAGECONFIG ??= "" PACKAGECONFIG[surfaceless] = "-DDEQP_TARGET=surfaceless,,,,,wayland x11_egl x11_glx x11_egl_glx" -PACKAGECONFIG[wayland] = "-DDEQP_TARGET=wayland,,wayland,,,surfaceless x11_egl x11_glx x11_egl_glx" +PACKAGECONFIG[wayland] = "-DDEQP_TARGET=wayland,,wayland-native wayland wayland-protocols,,,surfaceless x11_egl x11_glx x11_egl_glx" PACKAGECONFIG[x11_egl] = "-DDEQP_TARGET=x11_egl,,virtual/libx11 virtual/egl,,,surfaceless wayland x11_glx x11_egl_glx" PACKAGECONFIG[x11_glx] = "-DDEQP_TARGET=x11_glx,,virtual/libx11,,,surfaceless wayland x11_egl x11_egl_glx" PACKAGECONFIG[x11_egl_glx] = "-DDEQP_TARGET=x11_glx,,virtual/libx11 virtual/egl,,,surfaceless wayland x11_egl x11_glx" +do_configure:append() { + # Write out a qemu wrapper that will be used by cmake + # so that it can run target helper binaries through that. + qemu_binary="${@qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${STAGING_DIR_HOST}${libdir}'),d.expand('${STAGING_DIR_HOST}${base_libdir}')])}" + cat > ${WORKDIR}/qemuwrapper << EOF +#!/bin/sh +$qemu_binary "\$@" +EOF + chmod +x ${WORKDIR}/qemuwrapper +} + python __anonymous() { # if the user doesn't specify any PACKAGECONFIG then the cts build system # is going to probe the sysroot to try to figure out what to build @@ -57,7 +71,7 @@ python __anonymous() { distrofeatures = (d.getVar("DISTRO_FEATURES") or "") if not bb.utils.contains_any("PACKAGECONFIG", ["surfaceless", "wayland", "x11_egl", "x11_glx", "x11_egl_glx"], True, False, d): if "wayland" in distrofeatures: - d.appendVar("DEPENDS", " wayland ") + d.appendVar("DEPENDS", " wayland-native wayland wayland-protocols") if "x11" in distrofeatures: d.appendVar("DEPENDS", " virtual/libx11 virtual/egl ") } |