if BR2_PACKAGE_MESA3D
-# inform the .mk file of gallium or dri driver selection
+# inform the .mk file of gallium, dri or vulkan driver selection
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
select BR2_PACKAGE_MESA3D_DRIVER
bool
select BR2_PACKAGE_XPROTO_PRESENTPROTO if BR2_PACKAGE_XPROTO_DRI3PROTO
bool
+config BR2_PACKAGE_MESA3D_VULKAN_DRIVER
+ bool
+ select BR2_PACKAGE_MESA3D_DRIVER
+
config BR2_PACKAGE_MESA3D_DRIVER
bool
help
Legacy Radeon driver for R100 series GPUs.
+comment "Vulkan drivers"
+
+config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL
+ bool "Vulkan Intel driver"
+ depends on BR2_i386 || BR2_x86_64
+ depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 # memfd.h
+ depends on BR2_TOOLCHAIN_USES_GLIBC # ifunc, static_assert
+ depends on BR2_PACKAGE_XORG7 # xproto_dri3proto
+ # We need a SHA1 implementation. If either openssl or
+ # libgcrypt are already part of the build, we'll use one of
+ # them, otherwise, use the small libsha1 library.
+ select BR2_PACKAGE_LIBSHA1 if (!BR2_PACKAGE_OPENSSL && !BR2_PACKAGE_LIBGCRYPT)
+ select BR2_PACKAGE_MESA3D_DRI_DRIVER_I965
+ select BR2_PACKAGE_MESA3D_VULKAN_DRIVER
+ select BR2_PACKAGE_XPROTO_DRI3PROTO
+ help
+ Vulkan driver for Intel hardware from Ivy Bridge onward.
+
+comment "intel vulkan depends on X.org and needs a glibc toolchain w/ headers >= 3.18"
+ depends on BR2_i386 || BR2_x86_64
+ depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 || \
+ !BR2_TOOLCHAIN_USES_GLIBC || !BR2_PACKAGE_XORG7
+
comment "Off-screen Rendering"
config BR2_PACKAGE_MESA3D_OSMESA
MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_I965) += i965
MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_NOUVEAU) += nouveau
MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON) += radeon
+# Vulkan Drivers
+MESA3D_VULKAN_DRIVERS-$(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL) += intel
ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER),)
MESA3D_CONF_OPTS += \
--with-dri-drivers=$(subst $(space),$(comma),$(MESA3D_DRI_DRIVERS-y))
endif
+ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER),)
+MESA3D_CONF_OPTS += \
+ --without-vulkan-drivers
+else
+MESA3D_CONF_OPTS += \
+ --with-vulkan-drivers=$(subst $(space),$(comma),$(MESA3D_VULKAN_DRIVERS-y))
+endif
+
# APIs
ifeq ($(BR2_PACKAGE_MESA3D_OSMESA),y)