Skip to content

Commit

Permalink
vk-gl-cts: allow the user to specify the target
Browse files Browse the repository at this point in the history
When building opengl-es-cts (for example), instead of hard-coding a
specific target to build (surfaceless), leave the choice empty by default
which instructs the package's build system to search the sysroot and try to
determine which target to use (i.e. the "Default" target).

Provide overrides (in the form of PACAKGECONFIGs) to allow the user to
specify a specific target to build (if they don't want the target selected
automatically).

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
  • Loading branch information
twoerner authored and kraj committed Sep 24, 2021
1 parent e7a52e5 commit 0b86f2c
Showing 1 changed file with 26 additions and 3 deletions.
29 changes: 26 additions & 3 deletions meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc
Expand Up @@ -18,9 +18,9 @@ S = "${WORKDIR}/git"

inherit pkgconfig cmake features_check

REQUIRED_DISTRO_FEATURES += "opengl"
ANY_OF_DISTRO_FEATURES += "opengl wayland"

DEPENDS += "libpng zlib virtual/libgles2 virtual/egl"
DEPENDS += "libpng zlib virtual/libgles2"

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 \
Expand All @@ -36,7 +36,30 @@ SRC_URI:append:toolchain-clang = "\
file://fix-clang-private-operator.patch \
"

EXTRA_OECMAKE:append = " -DDEQP_TARGET=surfaceless"
# 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.
# However, if you want, you can specify one of the following PACKAGECONFIGs
# 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[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"

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
# in this case we try to guess whether the user is building for wayland
# or x11 and add the required dependencies automatically
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 ")
if "x11" in distrofeatures:
d.appendVar("DEPENDS", " virtual/libx11 virtual/egl ")
}

CTSDIR = "/usr/lib/${BPN}"

Expand Down

0 comments on commit 0b86f2c

Please sign in to comment.