From d09e696d588c6db1a2dc5ae9b110b68e6b6b4e12 Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Thu, 6 Aug 2026 15:05:20 -0300 Subject: piglit: Scope the gbm and vulkan PACKAGECONFIG default to i.MX PACKAGECONFIG_APPEND carried a non-empty '?=' default of "gbm" plus vulkan-if-enabled, and an unscoped PACKAGECONFIG:append consumed it. Unlike the other helper variables in this layer, whose defaults are empty and therefore inert off-target, this one changed the build of every machine in any build with meta-freescale in BBLAYERS. Give it an empty base default and move the real value to imx-generic-bsp. The existing mx6/mx7 clears still win over that, because their overrides come later in OVERRIDES. Measured with bitbake -e on qemuarm64, meta-freescale in and out of BBLAYERS. Before this commit the layer added, on a machine it does not own: DEPENDS + virtual/libgbm glslang-native vulkan-loader RDEPENDS + glslang EXTRA_OECMAKE -DPIGLIT_USE_GBM=1, and BUILD_VK_TESTS OFF -> ON PACKAGECONFIG + gbm vulkan After it, DEPENDS, RDEPENDS and PACKAGECONFIG match the layer-less expansion. On imx6qdlsabresd every one of those variables is unchanged before vs after this commit. Two differences off-target are deliberately left, and both remain flagged rather than suppressed: * SRC_URI still gains two patches. They fix genuine upstream build errors, so scoping them would make a non-i.MX build that currently succeeds only because meta-freescale is present start failing. The real fix is to send them to openembedded-core and drop them here. * EXTRA_OECMAKE still gains -DPIGLIT_USE_GBM=0, the disabled branch of the PACKAGECONFIG[gbm] knob. A varflag cannot be machine-scoped and defining the knob is standard practice; the flag only states the upstream default explicitly. bitbake -p: 1166 recipes, 0 errors. No build was run, so this is parse/expand-tier evidence only. Signed-off-by: Luciano Dittgen --- recipes-graphics/piglit/piglit_%.bbappend | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'recipes-graphics') diff --git a/recipes-graphics/piglit/piglit_%.bbappend b/recipes-graphics/piglit/piglit_%.bbappend index 56671a326..0646860a4 100644 --- a/recipes-graphics/piglit/piglit_%.bbappend +++ b/recipes-graphics/piglit/piglit_%.bbappend @@ -8,6 +8,11 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" # General build fixes (cl test include dirs, GCC memory-flag error). +# +# Deliberately unscoped and NOT suppressed: this really does patch piglit on +# every machine, so the finding is correct. Scoping it would break non-i.MX +# builds that currently succeed only because these fix genuine upstream +# errors. The real fix is to send both patches to openembedded-core. SRC_URI += "file://0001-tests-Fix-cl-test-Include-Directories-error-Error-0-.patch \ file://0002-cl-Add-mutually-exclusive-memory-flags-for-CL_MEM_KE.patch" @@ -17,7 +22,13 @@ PACKAGECONFIG:append = " ${PACKAGECONFIG_APPEND}" # nooelint: oelint.vars.noncoreoverride PACKAGECONFIG:remove = "${PACKAGECONFIG_REMOVE}" -PACKAGECONFIG_APPEND ?= "\ +# The gbm/vulkan default is scoped to imx-generic-bsp. Unscoped it applied to +# every machine in the build, which pulled virtual/libgbm, glslang-native and +# vulkan-loader into piglit's DEPENDS and flipped PIGLIT_BUILD_VK_TESTS on for +# machines this layer does not own. The mx6/mx7 clears below still win over +# this because their overrides come later in OVERRIDES. +PACKAGECONFIG_APPEND ?= "" +PACKAGECONFIG_APPEND:imx-generic-bsp ?= "\ gbm \ ${@bb.utils.filter('DISTRO_FEATURES', 'vulkan', d)}" PACKAGECONFIG_APPEND:append:imxviv:mx8-nxp-bsp = " opencl" -- cgit v1.2.3-54-g00ecf