diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in index d2003fce42..0b5d883bd1 100644 --- a/package/mesa3d/Config.in +++ b/package/mesa3d/Config.in @@ -58,6 +58,7 @@ menuconfig BR2_PACKAGE_MESA3D_OPENCL BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI || \ BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS || \ BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL || \ + BR2_PACKAGE_MESA3D_VULKAN_DRIVER_IMAGINATION || \ (BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS && \ BR2_PACKAGE_MESA3D_RUSTICL_SUPPORTED_DRIVER) select BR2_PACKAGE_LLVM_RTTI @@ -354,10 +355,15 @@ config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_IMAGINATION bool "Vulkan imagination driver (experimental)" depends on BR2_arm || BR2_aarch64 depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence + depends on BR2_PACKAGE_MESA3D_LLVM + select BR2_PACKAGE_MESA3D_NEEDS_PRECOMP_COMPILER select BR2_PACKAGE_MESA3D_VULKAN_DRIVER help Vulkan imagination driver. +comment "imagination vulkan needs llvm" + depends on !BR2_PACKAGE_MESA3D_LLVM + config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL bool "Vulkan Intel driver" depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk index 5305ea2de1..6bcaf226ae 100644 --- a/package/mesa3d/mesa3d.mk +++ b/package/mesa3d/mesa3d.mk @@ -284,10 +284,19 @@ else MESA3D_CONF_OPTS += -Dglvnd=disabled endif +ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PANFROST),y) +HOST_MESA3D_TOOLS += panfrost +endif + +ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_IMAGINATION),y) +HOST_MESA3D_TOOLS += imagination +endif + HOST_MESA3D_CONF_OPTS = \ -Dglvnd=disabled \ -Dgallium-drivers=$(subst $(space),$(comma),$(HOST_MESA3D_GALLIUM_DRIVERS-y)) \ -Dgallium-vdpau=disabled \ + -Dtools=$(subst $(space),$(comma),$(HOST_MESA3D_TOOLS)) \ -Dinstall-mesa-clc=true \ -Dmesa-clc=enabled \ -Dplatforms= \ @@ -295,10 +304,6 @@ HOST_MESA3D_CONF_OPTS = \ -Dglx=disabled \ -Dvulkan-drivers="" -ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PANFROST),y) -HOST_MESA3D_CONF_OPTS += -Dtools=panfrost -endif - HOST_MESA3D_DEPENDENCIES = \ host-libclc \ host-libdrm \ @@ -311,10 +316,16 @@ HOST_MESA3D_INSTALL_PANFROST_COMPILE = \ $(INSTALL) -D -m 0755 $(@D)/buildroot-build/src/panfrost/clc/panfrost_compile $(HOST_DIR)/bin/panfrost_compile endif +ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_IMAGINATION),y) +HOST_MESA3D_INSTALL_PCO_CLC = \ + $(INSTALL) -D -m 0755 $(@D)/buildroot-build/src/imagination/pco/uscgen/pco_clc $(HOST_DIR)/bin/pco_clc +endif + define HOST_MESA3D_INSTALL_CMDS $(INSTALL) -D -m 0755 $(@D)/buildroot-build/src/compiler/clc/mesa_clc $(HOST_DIR)/bin/mesa_clc $(INSTALL) -D -m 0755 $(@D)/buildroot-build/src/compiler/spirv/vtn_bindgen2 $(HOST_DIR)/bin/vtn_bindgen2 $(HOST_MESA3D_INSTALL_PANFROST_COMPILE) + $(HOST_MESA3D_INSTALL_PCO_CLC) endef $(eval $(meson-package))