diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in index 8cdb548fb6..32d13bc747 100644 --- a/package/mesa3d/Config.in +++ b/package/mesa3d/Config.in @@ -253,6 +253,7 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI depends on BR2_USE_MMU # libdrm depends on BR2_i386 || BR2_x86_64 select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER + select BR2_PACKAGE_MESA3D_HOST_NATIVE_CONTEXT_SUPPORTED_DRIVER select BR2_PACKAGE_LIBDRM_AMDGPU select BR2_PACKAGE_LIBDRM_RADEON select BR2_PACKAGE_LLVM_AMDGPU if BR2_PACKAGE_MESA3D_LLVM @@ -345,6 +346,7 @@ config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_AMD depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence select BR2_PACKAGE_LIBDRM_AMDGPU select BR2_PACKAGE_LLVM_AMDGPU if BR2_PACKAGE_MESA3D_LLVM + select BR2_PACKAGE_MESA3D_HOST_NATIVE_CONTEXT_SUPPORTED_DRIVER select BR2_PACKAGE_MESA3D_VULKAN_DRIVER help RADV is a userspace driver that implements the @@ -419,6 +421,23 @@ config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_VIRTIO help Vulkan VirtIO (venus) driver. +comment "Host native context drivers" + depends on BR2_PACKAGE_MESA3D_HOST_NATIVE_CONTEXT_SUPPORTED_DRIVER + +config BR2_PACKAGE_MESA3D_HOST_NATIVE_CONTEXT_DRIVER_AMDGPU + bool "amdgpu-virtio" + depends on BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI || \ + BR2_PACKAGE_MESA3D_VULKAN_DRIVER_AMD + help + Enable VirtIO support for AMDGPU native contexts + used by the radeonsi (OpenGL) and RADV (Vulkan) drivers. + + Select this when running Mesa inside a virtual machine + with virtio-gpu host native context support. + +config BR2_PACKAGE_MESA3D_HOST_NATIVE_CONTEXT_SUPPORTED_DRIVER + bool + if BR2_PACKAGE_MESA3D_DRIVER comment "OpenGL API Support" diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk index 1eaa4c577e..34597966af 100644 --- a/package/mesa3d/mesa3d.mk +++ b/package/mesa3d/mesa3d.mk @@ -151,6 +151,12 @@ ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV),y) MESA3D_DEPENDENCIES += host-python-pycparser endif +ifeq ($(BR2_PACKAGE_MESA3D_HOST_NATIVE_CONTEXT_DRIVER_AMDGPU),y) +MESA3D_CONF_OPTS += -Damdgpu-virtio=true +else +MESA3D_CONF_OPTS += -Damdgpu-virtio=false +endif + ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL),y) MESA3D_DEPENDENCIES += host-python-ply endif