Message ID | 20240319152642.360329-1-marcel@ziswiler.com |
---|---|
State | Accepted, archived |
Commit | d52ba5f350dd1b468d089ed0bba2e17e6d89fb7d |
Headers | show |
Series | [v3] mesa: enable imagination powervr support | expand |
On Tue Mar 19, 2024 at 10:26 AM CDT, Marcel Ziswiler wrote: > From: Marcel Ziswiler <marcel.ziswiler@toradex.com> > > Allows mesa to be build with Imagination PowerVR support. > > Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> > > --- > > Changes in v3: > - Add a negative condition to the imagination PACKAGECONFIG as well, > otherwise upstream defaults may result in an incorrect configuration > (option being quietly enabled without it being present in > PACKAGECONFIG) as pointed out by Alex. > > Changes in v2: > - Define imagination as a standard PACKAGECONFIG setting as suggested by > Alex. > > meta/recipes-graphics/mesa/mesa.inc | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc > index 12d7a18eb8..0d4a37c34a 100644 > --- a/meta/recipes-graphics/mesa/mesa.inc > +++ b/meta/recipes-graphics/mesa/mesa.inc > @@ -113,6 +113,7 @@ VULKAN_DRIVERS:append:i686 = ",intel,amd" > VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}" > VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'broadcom', ',broadcom', '', d)}" > VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',swrast', '', d)}" > +VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination-experimental', '', d)}" > PACKAGECONFIG[vulkan] = "-Dvulkan-drivers=${@strip_comma('${VULKAN_DRIVERS}')}, -Dvulkan-drivers='',glslang-native vulkan-loader vulkan-headers" > > # mesa development and testing tools support, per driver > @@ -122,6 +123,7 @@ TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', > TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}" > TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}" > TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}" > +TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination', '', d)}" > > # dependencies for tools. > TOOLS_DEPS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ' ncurses libxml2 ', '', d)}" > @@ -189,6 +191,8 @@ PACKAGECONFIG[xa] = "-Dgallium-xa=enabled, -Dgallium-xa=disabled" > PACKAGECONFIG[va] = "-Dgallium-va=enabled,-Dgallium-va=disabled,libva-initial" > PACKAGECONFIG[vdpau] = "-Dgallium-vdpau=enabled,-Dgallium-vdpau=disabled,libvdpau" > > +PACKAGECONFIG[imagination] = "-Dimagination-srv=true,-Dimagination-srv=false" > + > PACKAGECONFIG[lima] = "" > GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}" > > @@ -327,7 +331,7 @@ PACKAGES_DYNAMIC += "^mesa-driver-.*" > PACKAGES_DYNAMIC:class-native = "^mesa-driver-.*-native" > > FILES:mesa-megadriver = "${libdir}/dri/* ${datadir}/drirc.d" > -FILES:mesa-vulkan-drivers = "${libdir}/libvulkan_*.so ${datadir}/vulkan" > +FILES:mesa-vulkan-drivers = "${libdir}/libvulkan_*.so ${libdir}/libpowervr_rogue.so ${datadir}/vulkan" > FILES:${PN}-vdpau-drivers = "${libdir}/vdpau/*.so.*" > FILES:libegl-mesa = "${libdir}/libEGL*.so.* ${datadir}/glvnd/egl_vendor.d" > FILES:libgbm = "${libdir}/libgbm.so.*" > -- > 2.44.0 Looks good. Thanks Marcel! Running a test build now to verify things. Will respond with Tested-By whenever that finishes. Reviewed-by: Randolph Sapp <rs@ti.com>
On Tue Mar 19, 2024 at 2:58 PM CDT, Randolph Sapp via lists.openembedded.org wrote: > On Tue Mar 19, 2024 at 10:26 AM CDT, Marcel Ziswiler wrote: > > From: Marcel Ziswiler <marcel.ziswiler@toradex.com> > > > > Allows mesa to be build with Imagination PowerVR support. > > > > Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> > > > > --- > > > > Changes in v3: > > - Add a negative condition to the imagination PACKAGECONFIG as well, > > otherwise upstream defaults may result in an incorrect configuration > > (option being quietly enabled without it being present in > > PACKAGECONFIG) as pointed out by Alex. > > > > Changes in v2: > > - Define imagination as a standard PACKAGECONFIG setting as suggested by > > Alex. > > > > meta/recipes-graphics/mesa/mesa.inc | 6 +++++- > > 1 file changed, 5 insertions(+), 1 deletion(-) > > > > diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc > > index 12d7a18eb8..0d4a37c34a 100644 > > --- a/meta/recipes-graphics/mesa/mesa.inc > > +++ b/meta/recipes-graphics/mesa/mesa.inc > > @@ -113,6 +113,7 @@ VULKAN_DRIVERS:append:i686 = ",intel,amd" > > VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}" > > VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'broadcom', ',broadcom', '', d)}" > > VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',swrast', '', d)}" > > +VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination-experimental', '', d)}" > > PACKAGECONFIG[vulkan] = "-Dvulkan-drivers=${@strip_comma('${VULKAN_DRIVERS}')}, -Dvulkan-drivers='',glslang-native vulkan-loader vulkan-headers" > > > > # mesa development and testing tools support, per driver > > @@ -122,6 +123,7 @@ TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', > > TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}" > > TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}" > > TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}" > > +TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination', '', d)}" > > > > # dependencies for tools. > > TOOLS_DEPS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ' ncurses libxml2 ', '', d)}" > > @@ -189,6 +191,8 @@ PACKAGECONFIG[xa] = "-Dgallium-xa=enabled, -Dgallium-xa=disabled" > > PACKAGECONFIG[va] = "-Dgallium-va=enabled,-Dgallium-va=disabled,libva-initial" > > PACKAGECONFIG[vdpau] = "-Dgallium-vdpau=enabled,-Dgallium-vdpau=disabled,libvdpau" > > > > +PACKAGECONFIG[imagination] = "-Dimagination-srv=true,-Dimagination-srv=false" > > + > > PACKAGECONFIG[lima] = "" > > GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}" > > > > @@ -327,7 +331,7 @@ PACKAGES_DYNAMIC += "^mesa-driver-.*" > > PACKAGES_DYNAMIC:class-native = "^mesa-driver-.*-native" > > > > FILES:mesa-megadriver = "${libdir}/dri/* ${datadir}/drirc.d" > > -FILES:mesa-vulkan-drivers = "${libdir}/libvulkan_*.so ${datadir}/vulkan" > > +FILES:mesa-vulkan-drivers = "${libdir}/libvulkan_*.so ${libdir}/libpowervr_rogue.so ${datadir}/vulkan" > > FILES:${PN}-vdpau-drivers = "${libdir}/vdpau/*.so.*" > > FILES:libegl-mesa = "${libdir}/libEGL*.so.* ${datadir}/glvnd/egl_vendor.d" > > FILES:libgbm = "${libdir}/libgbm.so.*" > > -- > > 2.44.0 > > Looks good. Thanks Marcel! Running a test build now to verify things. Will > respond with Tested-By whenever that finishes. > > Reviewed-by: Randolph Sapp <rs@ti.com> Sets thing's up as well as they can be right now! General question for the mailing list, though: for drivers that only provide Vulkan, should zink automatically get appended to them PACKAGECONFIG string if the opengl distro feature is selected? I don't expect this patch to do it now as this version of the driver is still not fully Vulkan compliant, but later it'll be relevant. Tested-by: Randolph Sapp <rs@ti.com>
diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index 12d7a18eb8..0d4a37c34a 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -113,6 +113,7 @@ VULKAN_DRIVERS:append:i686 = ",intel,amd" VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}" VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'broadcom', ',broadcom', '', d)}" VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',swrast', '', d)}" +VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination-experimental', '', d)}" PACKAGECONFIG[vulkan] = "-Dvulkan-drivers=${@strip_comma('${VULKAN_DRIVERS}')}, -Dvulkan-drivers='',glslang-native vulkan-loader vulkan-headers" # mesa development and testing tools support, per driver @@ -122,6 +123,7 @@ TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}" TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}" TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}" +TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination', '', d)}" # dependencies for tools. TOOLS_DEPS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ' ncurses libxml2 ', '', d)}" @@ -189,6 +191,8 @@ PACKAGECONFIG[xa] = "-Dgallium-xa=enabled, -Dgallium-xa=disabled" PACKAGECONFIG[va] = "-Dgallium-va=enabled,-Dgallium-va=disabled,libva-initial" PACKAGECONFIG[vdpau] = "-Dgallium-vdpau=enabled,-Dgallium-vdpau=disabled,libvdpau" +PACKAGECONFIG[imagination] = "-Dimagination-srv=true,-Dimagination-srv=false" + PACKAGECONFIG[lima] = "" GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}" @@ -327,7 +331,7 @@ PACKAGES_DYNAMIC += "^mesa-driver-.*" PACKAGES_DYNAMIC:class-native = "^mesa-driver-.*-native" FILES:mesa-megadriver = "${libdir}/dri/* ${datadir}/drirc.d" -FILES:mesa-vulkan-drivers = "${libdir}/libvulkan_*.so ${datadir}/vulkan" +FILES:mesa-vulkan-drivers = "${libdir}/libvulkan_*.so ${libdir}/libpowervr_rogue.so ${datadir}/vulkan" FILES:${PN}-vdpau-drivers = "${libdir}/vdpau/*.so.*" FILES:libegl-mesa = "${libdir}/libEGL*.so.* ${datadir}/glvnd/egl_vendor.d" FILES:libgbm = "${libdir}/libgbm.so.*"