* [Buildroot] [RFC v2 00/12] Vulkan support
@ 2021-01-10 22:28 Peter Seiderer
2021-01-10 22:28 ` [Buildroot] [RFC v2 01/12] package/mesa3d: add config option for DRI3 support Peter Seiderer
` (11 more replies)
0 siblings, 12 replies; 23+ messages in thread
From: Peter Seiderer @ 2021-01-10 22:28 UTC (permalink / raw)
To: buildroot
Update to first patch series ([1]) to add ome/more Vulkan support to
Buildroot.
Targeting towards the RPi Vulkan support (as announced e.g. [2]),
but send as RFC as not all previous review comments are handled yet.
This is the first 'running' version, tested on RPi 4 (32-/64-Bit) with
the QT vulkan examples.
Tested with the following defconfig (32-Bit, dtoverlay=vc4-kms-v3d-pi4):
BR2_arm=y
BR2_cortex_a72=y
BR2_ARM_FPU_NEON_VFPV4=y
BR2_OPTIMIZE_3=y
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
BR2_PACKAGE_GLIBC_UTILS=y
BR2_BINUTILS_VERSION_2_35_X=y
BR2_GCC_VERSION_10_X=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
BR2_SYSTEM_DHCP="eth0"
BR2_GENERATE_LOCALE="en_US"
BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi4/post-build.sh"
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi4/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="--add-miniuart-bt-overlay"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,7e7689a032a66685b6a045b75265579bae838a00)/linux-7e7689a032a66685b6a045b75265579bae838a00.tar.gz"
BR2_LINUX_KERNEL_DEFCONFIG="bcm2711"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2711-rpi-4-b"
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
BR2_PACKAGE_STRACE=y
BR2_PACKAGE_DEJAVU=y
BR2_PACKAGE_MESA3D_DEMOS=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_KMSRO=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4=y
BR2_PACKAGE_MESA3D_VULKAN_DRIVER_BROADCOM=y
BR2_PACKAGE_MESA3D_OPENGL_GLX=y
BR2_PACKAGE_MESA3D_OPENGL_ES=y
BR2_PACKAGE_VULKAN_TOOLS=y
BR2_PACKAGE_VULKAN_TOOLS_XCB=y
BR2_PACKAGE_QT5=y
BR2_PACKAGE_QT5BASE_EXAMPLES=y
BR2_PACKAGE_QT5BASE_GUI=y
BR2_PACKAGE_QT5BASE_OPENGL=y
BR2_PACKAGE_QT5BASE_OPENGL_ES2=y
BR2_PACKAGE_QT5BASE_OPENGL_LIB=y
BR2_PACKAGE_QT5BASE_VULKAN=y
BR2_PACKAGE_QT5BASE_XCB=y
BR2_PACKAGE_QT5BASE_DEFAULT_QPA="xcb"
BR2_PACKAGE_QT5BASE_FONTCONFIG=y
BR2_PACKAGE_QT5BASE_HARFBUZZ=y
BR2_PACKAGE_QT5BASE_GIF=y
BR2_PACKAGE_QT5BASE_JPEG=y
BR2_PACKAGE_QT5BASE_PNG=y
BR2_PACKAGE_XORG7=y
BR2_PACKAGE_XSERVER_XORG_SERVER=y
BR2_PACKAGE_XDRIVER_XF86_INPUT_LIBINPUT=y
BR2_PACKAGE_XTERM=y
BR2_PACKAGE_RPI_FIRMWARE=y
BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y
BR2_PACKAGE_LIBEPOXY=y
BR2_PACKAGE_OPENSSH=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_SIZE="256M"
# BR2_TARGET_ROOTFS_TAR is not set
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_GENIMAGE=y
BR2_PACKAGE_HOST_MTOOLS=y
And with the following defconfig (64-Bit, dtoverlay=vc4-kms-v3d-pi4):
BR2_aarch64=y
BR2_cortex_a72=y
BR2_ARM_FPU_VFPV4=y
BR2_OPTIMIZE_3=y
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
BR2_PACKAGE_GLIBC_UTILS=y
BR2_BINUTILS_VERSION_2_35_X=y
BR2_GCC_VERSION_10_X=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
BR2_SYSTEM_DHCP="eth0"
BR2_GENERATE_LOCALE="en_US"
BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi4-64/post-build.sh"
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi4-64/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="--add-miniuart-bt-overlay --aarch64"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,967d45b29ca2902f031b867809d72e3b3d623e7a)/linux-967d45b29ca2902f031b867809d72e3b3d623e7a.tar.gz"
BR2_LINUX_KERNEL_DEFCONFIG="bcm2711"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2711-rpi-4-b"
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
BR2_PACKAGE_STRACE=y
BR2_PACKAGE_DEJAVU=y
BR2_PACKAGE_MESA3D_DEMOS=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_KMSRO=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4=y
BR2_PACKAGE_MESA3D_VULKAN_DRIVER_BROADCOM=y
BR2_PACKAGE_MESA3D_OPENGL_GLX=y
BR2_PACKAGE_MESA3D_OPENGL_ES=y
BR2_PACKAGE_VULKAN_TOOLS=y
BR2_PACKAGE_VULKAN_TOOLS_XCB=y
BR2_PACKAGE_QT5=y
BR2_PACKAGE_QT5BASE_EXAMPLES=y
BR2_PACKAGE_QT5BASE_GUI=y
BR2_PACKAGE_QT5BASE_OPENGL=y
BR2_PACKAGE_QT5BASE_OPENGL_ES2=y
BR2_PACKAGE_QT5BASE_OPENGL_LIB=y
BR2_PACKAGE_QT5BASE_VULKAN=y
BR2_PACKAGE_QT5BASE_XCB=y
BR2_PACKAGE_QT5BASE_DEFAULT_QPA="xcb"
BR2_PACKAGE_QT5BASE_FONTCONFIG=y
BR2_PACKAGE_QT5BASE_HARFBUZZ=y
BR2_PACKAGE_QT5BASE_GIF=y
BR2_PACKAGE_QT5BASE_JPEG=y
BR2_PACKAGE_QT5BASE_PNG=y
BR2_PACKAGE_XORG7=y
BR2_PACKAGE_XSERVER_XORG_SERVER=y
BR2_PACKAGE_XTERM=y
BR2_PACKAGE_RPI_FIRMWARE=y
BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y
BR2_PACKAGE_LIBEPOXY=y
BR2_PACKAGE_OPENSSH=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_SIZE="256M"
# BR2_TARGET_ROOTFS_TAR is not set
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_GENIMAGE=y
BR2_PACKAGE_HOST_MTOOLS=y
Next steps:
- fix mesa3d/swrast stand-alone link failure
- sync with freescale-imx libvulkan patches (see [3], [4])
- take a look at (and fix) the remaining review comments from Yann
Runtime tests done:
- glxinfo
$ glxinfo
name of display: :0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
[...]
Extended renderer info (GLX_MESA_query_renderer):
Vendor: Broadcom (0x14e4)
Device: V3D 4.2 (0xffffffff)
Version: 20.3.2
Accelerated: yes
Video memory: 830MB
Unified memory: yes
Preferred profile: compat (0x2)
Max core profile version: 0.0
Max compat profile version: 2.1
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.1
OpenGL vendor string: Broadcom
OpenGL renderer string: V3D 4.2
OpenGL version string: 2.1 Mesa 20.3.2
OpenGL shading language version string: 1.20
[...]
- vulkaninfo
$ vulkaninfo
WARNING: v3dv is neither a complete nor a conformant Vulkan implementation. Testing use only.
==========
VULKANINFO
==========
Vulkan Instance Version: 1.2.165
Instance Extensions: count = 7
==============================
VK_EXT_debug_report : extension revision 9
VK_EXT_debug_utils : extension revision 2
VK_KHR_external_memory_capabilities : extension revision 1
VK_KHR_get_physical_device_properties2 : extension revision 1
VK_KHR_get_surface_capabilities2 : extension revision 1
VK_KHR_surface : extension revision 25
VK_KHR_xcb_surface : extension revision 6
Layers: count = 0
=================
Presentable Surfaces:
=====================
GPU id : 0 (V3D 4.2):
Surface type = VK_KHR_xcb_surface
Formats: count = 2
SurfaceFormat[0]:
format = FORMAT_B8G8R8A8_SRGB
colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
SurfaceFormat[1]:
format = FORMAT_B8G8R8A8_UNORM
colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
Present Modes: count = 4
PRESENT_MODE_IMMEDIATE_KHR
PRESENT_MODE_MAILBOX_KHR
PRESENT_MODE_FIFO_KHR
PRESENT_MODE_FIFO_RELAXED_KHR
VkSurfaceCapabilitiesKHR:
-------------------------
minImageCount = 3
maxImageCount = 0
currentExtent:
width = 256
height = 256
minImageExtent:
width = 256
height = 256
maxImageExtent:
width = 256
height = 256
maxImageArrayLayers = 1
supportedTransforms: count = 1
SURFACE_TRANSFORM_IDENTITY_BIT_KHR
currentTransform = SURFACE_TRANSFORM_IDENTITY_BIT_KHR
supportedCompositeAlpha: count = 2
COMPOSITE_ALPHA_OPAQUE_BIT_KHR
COMPOSITE_ALPHA_INHERIT_BIT_KHR
supportedUsageFlags: count = 4
IMAGE_USAGE_TRANSFER_SRC_BIT
IMAGE_USAGE_TRANSFER_DST_BIT
IMAGE_USAGE_STORAGE_BIT
IMAGE_USAGE_COLOR_ATTACHMENT_BIT
Device Properties and Extensions:
=================================
GPU0:
-----
VkPhysicalDeviceProperties:
---------------------------
apiVersion = 4194459 (1.0.155)
driverVersion = 83898370 (0x5003002)
vendorID = 0x14e4
deviceID = 0x002a
deviceType = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
deviceName = V3D 4.2
[...]
- QT examples
$ /usr/lib/qt/examples/opengl/hellogl2/hellogl2
$ /usr/lib/qt/examples/vulkan/hellovulkancubes/hellovulkancubes
Regards,
Peter
[1] http://lists.busybox.net/pipermail/buildroot/2020-December/299219.html
[2] https://www.raspberrypi.org/blog/vulkan-update-were-conformant/
[3] http://lists.busybox.net/pipermail/buildroot/2020-December/299716.html
[4] http://lists.busybox.net/pipermail/buildroot/2020-December/299717.html
Peter Seiderer (12):
package/mesa3d: add config option for DRI3 support
package/mesa3d: fix vulkan/intel dependencies
package/mesa3d: fix gbm config warning
package/mesa3d: DRI3 with GLX needs xshmfence
package/vulkan-headers: new package
package/vulkan-loader: new package
package/vulkan-tools: new package
package/mesa3d: add vulkan broadcom driver support
package/qt5base: add vulkan option
package/vulkan-loader: add XCB support
package/vulkan-tools: add XCB support
WIP: package/mesa3d: add vulkan swrast driver support
package/Config.in | 3 ++
package/mesa3d/Config.in | 44 +++++++++++++++++--
package/mesa3d/mesa3d.mk | 18 +++++---
package/qt5/qt5base/Config.in | 11 +++++
package/qt5/qt5base/qt5base.mk | 7 +++
package/vulkan-headers/Config.in | 7 +++
package/vulkan-headers/vulkan-headers.hash | 3 ++
package/vulkan-headers/vulkan-headers.mk | 13 ++++++
.../0001-loader-fix-asm_offset-call.patch | 32 ++++++++++++++
package/vulkan-loader/Config.in | 26 +++++++++++
package/vulkan-loader/vulkan-loader.hash | 3 ++
package/vulkan-loader/vulkan-loader.mk | 28 ++++++++++++
package/vulkan-tools/Config.in | 31 +++++++++++++
package/vulkan-tools/vulkan-tools.hash | 3 ++
package/vulkan-tools/vulkan-tools.mk | 31 +++++++++++++
15 files changed, 251 insertions(+), 9 deletions(-)
create mode 100644 package/vulkan-headers/Config.in
create mode 100644 package/vulkan-headers/vulkan-headers.hash
create mode 100644 package/vulkan-headers/vulkan-headers.mk
create mode 100644 package/vulkan-loader/0001-loader-fix-asm_offset-call.patch
create mode 100644 package/vulkan-loader/Config.in
create mode 100644 package/vulkan-loader/vulkan-loader.hash
create mode 100644 package/vulkan-loader/vulkan-loader.mk
create mode 100644 package/vulkan-tools/Config.in
create mode 100644 package/vulkan-tools/vulkan-tools.hash
create mode 100644 package/vulkan-tools/vulkan-tools.mk
--
2.29.2
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Buildroot] [RFC v2 01/12] package/mesa3d: add config option for DRI3 support
2021-01-10 22:28 [Buildroot] [RFC v2 00/12] Vulkan support Peter Seiderer
@ 2021-01-10 22:28 ` Peter Seiderer
2021-01-10 22:28 ` [Buildroot] [RFC v2 02/12] package/mesa3d: fix vulkan/intel dependencies Peter Seiderer
` (10 subsequent siblings)
11 siblings, 0 replies; 23+ messages in thread
From: Peter Seiderer @ 2021-01-10 22:28 UTC (permalink / raw)
To: buildroot
Add config option for DRI3 support and use it instead
of DRI3 enable/disable logic in *.mk file.
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
Changes v1 -> v2:
- new patch
---
package/mesa3d/Config.in | 8 ++++++++
package/mesa3d/mesa3d.mk | 12 +++++++-----
2 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
index 45eb62b701..347b1a2726 100644
--- a/package/mesa3d/Config.in
+++ b/package/mesa3d/Config.in
@@ -15,6 +15,11 @@ menuconfig BR2_PACKAGE_MESA3D
if BR2_PACKAGE_MESA3D
+config BR2_PACKAGE_MESA3D_DRI3
+ bool "Enable DRI3 support"
+ help
+ Enable DRI3 support.
+
# Some Gallium driver needs libelf when built with LLVM support
config BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS
bool
@@ -64,6 +69,8 @@ config BR2_PACKAGE_MESA3D_DRI_DRIVER
!BR2_PACKAGE_MESA3D_OPENGL_GLX && \
!BR2_PACKAGE_MESA3D_OPENGL_EGL && \
!BR2_PACKAGE_MESA3D_OSMESA_CLASSIC
+ select BR2_PACKAGE_MESA3D_DRI3 if \
+ (BR2_PACKAGE_XORG7 && BR2_TOOLCHAIN_HAS_SYNC_4)
select BR2_PACKAGE_XLIB_LIBXSHMFENCE if \
(BR2_PACKAGE_XORG7 && BR2_TOOLCHAIN_HAS_SYNC_4)
@@ -396,6 +403,7 @@ config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL
depends on BR2_TOOLCHAIN_USES_GLIBC # ifunc, static_assert
depends on BR2_PACKAGE_XORG7 # xorgproto
select BR2_PACKAGE_EXPAT
+ select BR2_PACKAGE_MESA3D_DRI3
select BR2_PACKAGE_MESA3D_VULKAN_DRIVER
select BR2_PACKAGE_XORGPROTO
select BR2_PACKAGE_XLIB_LIBXSHMFENCE
diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
index 5eca1f0906..ea6265d723 100644
--- a/package/mesa3d/mesa3d.mk
+++ b/package/mesa3d/mesa3d.mk
@@ -36,6 +36,12 @@ ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM),y)
MESA3D_CONF_OPTS += -Db_asneeded=false
endif
+ifeq ($(BR2_PACKAGE_MESA3D_DRI3),y)
+MESA3D_CONF_OPTS += -Ddri3=enabled
+else
+MESA3D_CONF_OPTS += -Ddri3=disabled
+endif
+
ifeq ($(BR2_PACKAGE_MESA3D_LLVM),y)
MESA3D_DEPENDENCIES += host-llvm llvm
MESA3D_MESON_EXTRA_BINARIES += llvm-config='$(STAGING_DIR)/usr/bin/llvm-config'
@@ -125,13 +131,10 @@ endif
ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),)
MESA3D_CONF_OPTS += \
- -Ddri-drivers= -Ddri3=disabled
+ -Ddri-drivers=
else
ifeq ($(BR2_PACKAGE_XLIB_LIBXSHMFENCE),y)
MESA3D_DEPENDENCIES += xlib_libxshmfence
-MESA3D_CONF_OPTS += -Ddri3=enabled
-else
-MESA3D_CONF_OPTS += -Ddri3=disabled
endif
MESA3D_CONF_OPTS += \
-Dshared-glapi=enabled \
@@ -145,7 +148,6 @@ MESA3D_CONF_OPTS += \
else
MESA3D_DEPENDENCIES += xlib_libxshmfence
MESA3D_CONF_OPTS += \
- -Ddri3=enabled \
-Dvulkan-drivers=$(subst $(space),$(comma),$(MESA3D_VULKAN_DRIVERS-y))
endif
--
2.29.2
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Buildroot] [RFC v2 02/12] package/mesa3d: fix vulkan/intel dependencies
2021-01-10 22:28 [Buildroot] [RFC v2 00/12] Vulkan support Peter Seiderer
2021-01-10 22:28 ` [Buildroot] [RFC v2 01/12] package/mesa3d: add config option for DRI3 support Peter Seiderer
@ 2021-01-10 22:28 ` Peter Seiderer
2022-01-09 18:09 ` Arnout Vandecappelle
2021-01-10 22:28 ` [Buildroot] [RFC v2 03/12] package/mesa3d: fix gbm config warning Peter Seiderer
` (9 subsequent siblings)
11 siblings, 1 reply; 23+ messages in thread
From: Peter Seiderer @ 2021-01-10 22:28 UTC (permalink / raw)
To: buildroot
- enable X11/GLX free build
- remove xorgproto dependency is already given via BR2_PACKAGE_MESA3D_OPENGL_GLX/BR2_PACKAGE_MESA3D_NEEDS_X11
- libxshmfence only needed in case BR2_PACKAGE_MESA3D_OPENGL_GLX is enabled
- the correct dependency for BR2_PACKAGE_XLIB_LIBXSHMFENCE would
be 'depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_MESA3D_OPENGL_GLX',
but this results in:
package/mesa3d/Config.in:81:error: recursive dependency detected!
package/mesa3d/Config.in:81: symbol BR2_PACKAGE_MESA3D_DRIVER is selected by BR2_PACKAGE_MESA3D_VULKAN_DRIVER
package/mesa3d/Config.in:77: symbol BR2_PACKAGE_MESA3D_VULKAN_DRIVER is selected by BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL
package/mesa3d/Config.in:406: symbol BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL depends on BR2_PACKAGE_MESA3D_OPENGL_GLX
package/mesa3d/Config.in:461: symbol BR2_PACKAGE_MESA3D_OPENGL_GLX depends on BR2_PACKAGE_MESA3D_DRIVER
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
so use unconditional 'depends on BR2_TOOLCHAIN_HAS_SYNC_4' instead
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
Changes v1 -> v2:
- new patch
---
package/mesa3d/Config.in | 10 ++++++----
package/mesa3d/mesa3d.mk | 2 ++
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
index 347b1a2726..d9c27f8b5c 100644
--- a/package/mesa3d/Config.in
+++ b/package/mesa3d/Config.in
@@ -398,15 +398,17 @@ 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_HAS_SYNC_4 because of libxshmfence only
+ # in case GLX is enabled but the following results in 'recursive
+ # dependency detected!', so simple depend always on BR2_TOOLCHAIN_HAS_SYNC_4
+ # depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_MESA3D_OPENGL_GLX # libxshmfence in case GLX is enabled
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libxshmfence
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # memfd.h
depends on BR2_TOOLCHAIN_USES_GLIBC # ifunc, static_assert
- depends on BR2_PACKAGE_XORG7 # xorgproto
select BR2_PACKAGE_EXPAT
- select BR2_PACKAGE_MESA3D_DRI3
+ select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_MESA3D_OPENGL_GLX
select BR2_PACKAGE_MESA3D_VULKAN_DRIVER
- select BR2_PACKAGE_XORGPROTO
- select BR2_PACKAGE_XLIB_LIBXSHMFENCE
+ select BR2_PACKAGE_XLIB_LIBXSHMFENCE if BR2_PACKAGE_MESA3D_OPENGL_GLX
help
Vulkan driver for Intel hardware from Ivy Bridge onward.
diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
index ea6265d723..967b86810f 100644
--- a/package/mesa3d/mesa3d.mk
+++ b/package/mesa3d/mesa3d.mk
@@ -146,7 +146,9 @@ ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER),)
MESA3D_CONF_OPTS += \
-Dvulkan-drivers=
else
+ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL)$(BR2_PACKAGE_MESA3D_OPENGL_GLX),yy)
MESA3D_DEPENDENCIES += xlib_libxshmfence
+endif
MESA3D_CONF_OPTS += \
-Dvulkan-drivers=$(subst $(space),$(comma),$(MESA3D_VULKAN_DRIVERS-y))
endif
--
2.29.2
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Buildroot] [RFC v2 03/12] package/mesa3d: fix gbm config warning
2021-01-10 22:28 [Buildroot] [RFC v2 00/12] Vulkan support Peter Seiderer
2021-01-10 22:28 ` [Buildroot] [RFC v2 01/12] package/mesa3d: add config option for DRI3 support Peter Seiderer
2021-01-10 22:28 ` [Buildroot] [RFC v2 02/12] package/mesa3d: fix vulkan/intel dependencies Peter Seiderer
@ 2021-01-10 22:28 ` Peter Seiderer
2022-01-09 20:19 ` Arnout Vandecappelle
2021-01-10 22:28 ` [Buildroot] [RFC v2 04/12] package/mesa3d: DRI3 with GLX needs xshmfence Peter Seiderer
` (8 subsequent siblings)
11 siblings, 1 reply; 23+ messages in thread
From: Peter Seiderer @ 2021-01-10 22:28 UTC (permalink / raw)
To: buildroot
Fixes for the following defconfig:
BR2_x86_64=y
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
BR2_TARGET_GENERIC_GETTY_PORT="tty1"
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL=y
BR2_PACKAGE_MESA3D_OPENGL_EGL=y
BR2_PACKAGE_MESA3D_OPENGL_ES=y
this warning:
WARNING: unmet direct dependencies detected for BR2_PACKAGE_MESA3D_GBM
Depends on [n]: BR2_PACKAGE_MESA3D [=y] && BR2_PACKAGE_MESA3D_DRIVER [=y] && (BR2_PACKAGE_MESA3D_DRI_DRIVER [=n] || BR2_PACKAGE_MESA3D_GALLIUM_DRIVER [=n] && BR2_PACKAGE_MESA3D_OPENGL_EGL [=y])
Selected by [y]:
- BR2_PACKAGE_MESA3D_OPENGL_EGL [=y] && BR2_PACKAGE_MESA3D [=y] && BR2_PACKAGE_MESA3D_DRIVER [=y]
WARNING: unmet direct dependencies detected for BR2_PACKAGE_MESA3D_GBM
Depends on [n]: BR2_PACKAGE_MESA3D [=y] && BR2_PACKAGE_MESA3D_DRIVER [=y] && (BR2_PACKAGE_MESA3D_DRI_DRIVER [=n] || BR2_PACKAGE_MESA3D_GALLIUM_DRIVER [=n] && BR2_PACKAGE_MESA3D_OPENGL_EGL [=y])
Selected by [y]:
- BR2_PACKAGE_MESA3D_OPENGL_EGL [=y] && BR2_PACKAGE_MESA3D [=y] && BR2_PACKAGE_MESA3D_DRIVER [=y]
as BR2_PACKAGE_MESA3D_VULKAN_DRIVER selects BR2_PACKAGE_MESA3D_DRIVER which
enables possible selection of BR2_PACKAGE_MESA3D_OPENGL_EGL selecting
BR2_PACKAGE_MESA3D_GBM.
Selecting EGL with only a vulkan driver selected gives the following configure
failure:
.../build/mesa3d-20.3.2/meson.build:424:4: ERROR: Problem encountered: EGL requires dri
Note dri means here an dri or gallium driver (see meson.build and look
for with_dri).
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
Changes v1 -> v2:
- new patch
---
package/mesa3d/Config.in | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
index d9c27f8b5c..7a976f4b2c 100644
--- a/package/mesa3d/Config.in
+++ b/package/mesa3d/Config.in
@@ -452,6 +452,8 @@ config BR2_PACKAGE_MESA3D_OPENGL_GLX
comment "OpenGL GLX support needs X11"
depends on !BR2_PACKAGE_XORG7
+if BR2_PACKAGE_MESA3D_DRI_DRIVER || BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
+
config BR2_PACKAGE_MESA3D_OPENGL_EGL
bool "OpenGL EGL"
select BR2_PACKAGE_HAS_LIBEGL
@@ -461,6 +463,8 @@ config BR2_PACKAGE_MESA3D_OPENGL_EGL
Use the Khronos EGL APIs. EGL is a window manager for OpenGL
applications similar to GLX, for X, and WGL, for Windows.
+endif # BR2_PACKAGE_MESA3D_DRI_DRIVER || BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
+
config BR2_PACKAGE_MESA3D_OPENGL_ES
bool "OpenGL ES"
select BR2_PACKAGE_HAS_LIBGLES
--
2.29.2
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Buildroot] [RFC v2 04/12] package/mesa3d: DRI3 with GLX needs xshmfence
2021-01-10 22:28 [Buildroot] [RFC v2 00/12] Vulkan support Peter Seiderer
` (2 preceding siblings ...)
2021-01-10 22:28 ` [Buildroot] [RFC v2 03/12] package/mesa3d: fix gbm config warning Peter Seiderer
@ 2021-01-10 22:28 ` Peter Seiderer
2022-01-09 20:23 ` Arnout Vandecappelle
2021-01-10 22:28 ` [Buildroot] [RFC v2 05/12] package/vulkan-headers: new package Peter Seiderer
` (7 subsequent siblings)
11 siblings, 1 reply; 23+ messages in thread
From: Peter Seiderer @ 2021-01-10 22:28 UTC (permalink / raw)
To: buildroot
Fixes for the following defconfig:
BR2_arm=y
BR2_cortex_a72=y
BR2_ARM_FPU_NEON_VFPV4=y
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_DRI3=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_KMSRO=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4=y
BR2_PACKAGE_MESA3D_OPENGL_GLX=y
this configure error:
.../build/mesa3d-20.3.2/meson.build:1772:6: ERROR: Dependency "xshmfence" not found, tried pkgconfig and cmake
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
Changes v1 -> v2:
- new patch
---
package/mesa3d/Config.in | 5 +++--
package/mesa3d/mesa3d.mk | 6 +++---
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
index 7a976f4b2c..8a01fa95e2 100644
--- a/package/mesa3d/Config.in
+++ b/package/mesa3d/Config.in
@@ -17,6 +17,8 @@ if BR2_PACKAGE_MESA3D
config BR2_PACKAGE_MESA3D_DRI3
bool "Enable DRI3 support"
+ depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_MESA3D_OPENGL_GLX
+ select BR2_PACKAGE_XLIB_LIBXSHMFENCE if BR2_PACKAGE_MESA3D_OPENGL_GLX
help
Enable DRI3 support.
@@ -398,7 +400,7 @@ 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_HAS_SYNC_4 because of libxshmfence only
+ # depends on BR2_TOOLCHAIN_HAS_SYNC_4 because of dri3/libxshmfence only
# in case GLX is enabled but the following results in 'recursive
# dependency detected!', so simple depend always on BR2_TOOLCHAIN_HAS_SYNC_4
# depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_MESA3D_OPENGL_GLX # libxshmfence in case GLX is enabled
@@ -408,7 +410,6 @@ config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL
select BR2_PACKAGE_EXPAT
select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_MESA3D_OPENGL_GLX
select BR2_PACKAGE_MESA3D_VULKAN_DRIVER
- select BR2_PACKAGE_XLIB_LIBXSHMFENCE if BR2_PACKAGE_MESA3D_OPENGL_GLX
help
Vulkan driver for Intel hardware from Ivy Bridge onward.
diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
index 967b86810f..31f1c12d63 100644
--- a/package/mesa3d/mesa3d.mk
+++ b/package/mesa3d/mesa3d.mk
@@ -38,6 +38,9 @@ endif
ifeq ($(BR2_PACKAGE_MESA3D_DRI3),y)
MESA3D_CONF_OPTS += -Ddri3=enabled
+ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_GLX),y)
+MESA3D_DEPENDENCIES += xlib_libxshmfence
+endif
else
MESA3D_CONF_OPTS += -Ddri3=disabled
endif
@@ -146,9 +149,6 @@ ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER),)
MESA3D_CONF_OPTS += \
-Dvulkan-drivers=
else
-ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL)$(BR2_PACKAGE_MESA3D_OPENGL_GLX),yy)
-MESA3D_DEPENDENCIES += xlib_libxshmfence
-endif
MESA3D_CONF_OPTS += \
-Dvulkan-drivers=$(subst $(space),$(comma),$(MESA3D_VULKAN_DRIVERS-y))
endif
--
2.29.2
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Buildroot] [RFC v2 05/12] package/vulkan-headers: new package
2021-01-10 22:28 [Buildroot] [RFC v2 00/12] Vulkan support Peter Seiderer
` (3 preceding siblings ...)
2021-01-10 22:28 ` [Buildroot] [RFC v2 04/12] package/mesa3d: DRI3 with GLX needs xshmfence Peter Seiderer
@ 2021-01-10 22:28 ` Peter Seiderer
2022-01-09 20:30 ` Arnout Vandecappelle
2021-01-10 22:28 ` [Buildroot] [RFC v2 06/12] package/vulkan-loader: " Peter Seiderer
` (6 subsequent siblings)
11 siblings, 1 reply; 23+ messages in thread
From: Peter Seiderer @ 2021-01-10 22:28 UTC (permalink / raw)
To: buildroot
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
Changes v1 -> v2:
- fix license SPDX (Yann E. MORIN)
---
package/Config.in | 1 +
| 7 +++++++
| 3 +++
| 13 +++++++++++++
4 files changed, 24 insertions(+)
create mode 100644 package/vulkan-headers/Config.in
create mode 100644 package/vulkan-headers/vulkan-headers.hash
create mode 100644 package/vulkan-headers/vulkan-headers.mk
diff --git a/package/Config.in b/package/Config.in
index 9ed02ec890..9a91e6324c 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -338,6 +338,7 @@ comment "Graphic libraries"
source "package/sdl2_net/Config.in"
source "package/sdl2_ttf/Config.in"
source "package/tk/Config.in"
+ source "package/vulkan-headers/Config.in"
comment "Other GUIs"
source "package/qt5/Config.in"
--git a/package/vulkan-headers/Config.in b/package/vulkan-headers/Config.in
new file mode 100644
index 0000000000..c0fc8f20b0
--- /dev/null
+++ b/package/vulkan-headers/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_VULKAN_HEADERS
+ bool "vulkan-headers"
+ help
+ The Khronos official Vulkan header files and API
+ registry.
+
+ https://github.com/KhronosGroup/Vulkan-Headers
--git a/package/vulkan-headers/vulkan-headers.hash b/package/vulkan-headers/vulkan-headers.hash
new file mode 100644
index 0000000000..678a38e0d4
--- /dev/null
+++ b/package/vulkan-headers/vulkan-headers.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 3f9435a93ba13d94d0c3265a47e0436579e46bb9ca085e9b16a753458e4d79d2 vulkan-headers-1.2.165.tar.gz
+sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt
--git a/package/vulkan-headers/vulkan-headers.mk b/package/vulkan-headers/vulkan-headers.mk
new file mode 100644
index 0000000000..48d390a581
--- /dev/null
+++ b/package/vulkan-headers/vulkan-headers.mk
@@ -0,0 +1,13 @@
+################################################################################
+#
+# vulkan-headers
+#
+################################################################################
+
+VULKAN_HEADERS_VERSION = 1.2.165
+VULKAN_HEADERS_SITE = $(call github,KhronosGroup,Vulkan-Headers,v$(VULKAN_HEADERS_VERSION))
+VULKAN_HEADERS_LICENSE = Apache-2.0
+VULKAN_HEADERS_LICENSE_FILES = LICENSE.txt
+VULKAN_HEADERS_INSTALL_STAGING = YES
+
+$(eval $(cmake-package))
--
2.29.2
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Buildroot] [RFC v2 06/12] package/vulkan-loader: new package
2021-01-10 22:28 [Buildroot] [RFC v2 00/12] Vulkan support Peter Seiderer
` (4 preceding siblings ...)
2021-01-10 22:28 ` [Buildroot] [RFC v2 05/12] package/vulkan-headers: new package Peter Seiderer
@ 2021-01-10 22:28 ` Peter Seiderer
2022-01-09 21:00 ` Arnout Vandecappelle
2021-01-10 22:28 ` [Buildroot] [RFC v2 07/12] package/vulkan-tools: " Peter Seiderer
` (5 subsequent siblings)
11 siblings, 1 reply; 23+ messages in thread
From: Peter Seiderer @ 2021-01-10 22:28 UTC (permalink / raw)
To: buildroot
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
Changes v1 -> v2:
- fix license SPDX (Yann E. MORIN)
- add sob line
---
package/Config.in | 1 +
.../0001-loader-fix-asm_offset-call.patch | 32 +++++++++++++++++++
package/vulkan-loader/Config.in | 14 ++++++++
package/vulkan-loader/vulkan-loader.hash | 3 ++
package/vulkan-loader/vulkan-loader.mk | 22 +++++++++++++
5 files changed, 72 insertions(+)
create mode 100644 package/vulkan-loader/0001-loader-fix-asm_offset-call.patch
create mode 100644 package/vulkan-loader/Config.in
create mode 100644 package/vulkan-loader/vulkan-loader.hash
create mode 100644 package/vulkan-loader/vulkan-loader.mk
diff --git a/package/Config.in b/package/Config.in
index 9a91e6324c..86676b57ef 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -339,6 +339,7 @@ comment "Graphic libraries"
source "package/sdl2_ttf/Config.in"
source "package/tk/Config.in"
source "package/vulkan-headers/Config.in"
+ source "package/vulkan-loader/Config.in"
comment "Other GUIs"
source "package/qt5/Config.in"
diff --git a/package/vulkan-loader/0001-loader-fix-asm_offset-call.patch b/package/vulkan-loader/0001-loader-fix-asm_offset-call.patch
new file mode 100644
index 0000000000..d62b9390d8
--- /dev/null
+++ b/package/vulkan-loader/0001-loader-fix-asm_offset-call.patch
@@ -0,0 +1,32 @@
+From 45098898f7fa25dfd12d2c4f1aed889f678aa870 Mon Sep 17 00:00:00 2001
+From: Peter Seiderer <ps.report@gmx.net>
+Date: Wed, 23 Dec 2020 14:46:02 +0100
+Subject: [PATCH] loader: fix asm_offset call
+
+Disable assembler usage (not cross compile capable):
+
+ [ 21%] Generating gen_defines.asm
+ /bin/sh: asm_offset: command not found
+ make[3]: *** [loader/CMakeFiles/loader_asm_gen_files.dir/build.make:80: loader/gen_defines.asm] Error 127
+
+Signed-off-by: Peter Seiderer <ps.report@gmx.net>
+---
+ loader/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/loader/CMakeLists.txt b/loader/CMakeLists.txt
+index ba9f460f1..dbebfb058 100644
+--- a/loader/CMakeLists.txt
++++ b/loader/CMakeLists.txt
+@@ -187,7 +187,7 @@ else(UNIX AND NOT APPLE) # i.e.: Linux
+ endif()
+ set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
+ try_compile(ASSEMBLER_WORKS ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/asm_test.S)
+- if(ASSEMBLER_WORKS)
++ if(FALSE)
+ set(OPT_LOADER_SRCS ${OPT_LOADER_SRCS} unknown_ext_chain_gas.S)
+ add_executable(asm_offset asm_offset.c)
+ target_link_libraries(asm_offset Vulkan::Headers)
+--
+2.29.2
+
diff --git a/package/vulkan-loader/Config.in b/package/vulkan-loader/Config.in
new file mode 100644
index 0000000000..9c215dc9ce
--- /dev/null
+++ b/package/vulkan-loader/Config.in
@@ -0,0 +1,14 @@
+config BR2_PACKAGE_VULKAN_LOADER
+ bool "vulkan-loader"
+ depends on BR2_INSTALL_LIBSTDCPP
+ depends on !BR2_STATIC_LIBS # dlfcn.h
+ depends on BR2_TOOLCHAIN_HAS_THREADS
+ select BR2_PACKAGE_VULKAN_HEADERS
+ help
+ The Khronos official Vulkan ICD desktop loader.
+
+ https://github.com/KhronosGroup/Vulkan-Loader
+
+comment "vulkan-loader needs a toolchain w/ C++, dynamic library, threads"
+ depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \
+ !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/vulkan-loader/vulkan-loader.hash b/package/vulkan-loader/vulkan-loader.hash
new file mode 100644
index 0000000000..c70ed90be6
--- /dev/null
+++ b/package/vulkan-loader/vulkan-loader.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 e582dce35051a34af82db2a8fcd38fbc5837b4506e76e6cda685dca02dee01c7 vulkan-loader-1.2.162.tar.gz
+sha256 43c0a37e6a0fa7ff3c843b3ec5a4fac84b712558ddac103fbd4c1649662a9ece LICENSE.txt
diff --git a/package/vulkan-loader/vulkan-loader.mk b/package/vulkan-loader/vulkan-loader.mk
new file mode 100644
index 0000000000..9c9ccb2458
--- /dev/null
+++ b/package/vulkan-loader/vulkan-loader.mk
@@ -0,0 +1,22 @@
+################################################################################
+#
+# vulkan-loader
+#
+################################################################################
+
+VULKAN_LOADER_VERSION = 1.2.162
+VULKAN_LOADER_SITE = $(call github,KhronosGroup,Vulkan-Loader,v$(VULKAN_LOADER_VERSION))
+VULKAN_LOADER_LICENSE = Apache-2.0
+VULKAN_LOADER_LICENSE_FILES = LICENSE.txt
+VULKAN_LOADER_INSTALL_STAGING = YES
+
+VULKAN_LOADER_DEPENDENCIES = vulkan-headers
+
+VULKAN_LOADER_CONF_OPTS += \
+ -DBUILD_WSI_XCB_SUPPORT=OFF \
+ -DBUILD_WSI_XLIB_SUPPORT=OFF \
+ -DBUILD_WSI_WAYLAND_SUPPORT=OFF \
+ -DBUILD_WSI_DIRECTFB_SUPPORT=OFF \
+ -DUSE_CCACHE=OFF
+
+$(eval $(cmake-package))
--
2.29.2
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Buildroot] [RFC v2 07/12] package/vulkan-tools: new package
2021-01-10 22:28 [Buildroot] [RFC v2 00/12] Vulkan support Peter Seiderer
` (5 preceding siblings ...)
2021-01-10 22:28 ` [Buildroot] [RFC v2 06/12] package/vulkan-loader: " Peter Seiderer
@ 2021-01-10 22:28 ` Peter Seiderer
2022-01-09 21:02 ` Arnout Vandecappelle
2021-01-10 22:28 ` [Buildroot] [RFC v2 08/12] package/mesa3d: add vulkan broadcom driver support Peter Seiderer
` (4 subsequent siblings)
11 siblings, 1 reply; 23+ messages in thread
From: Peter Seiderer @ 2021-01-10 22:28 UTC (permalink / raw)
To: buildroot
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
Changes v1 -> v2:
- fix license SPDX (Yann E. MORIN)
- disable ICD (as it is only a mock ICD for testing purpouse)
---
package/Config.in | 1 +
package/vulkan-tools/Config.in | 17 +++++++++++++++++
package/vulkan-tools/vulkan-tools.hash | 3 +++
package/vulkan-tools/vulkan-tools.mk | 25 +++++++++++++++++++++++++
4 files changed, 46 insertions(+)
create mode 100644 package/vulkan-tools/Config.in
create mode 100644 package/vulkan-tools/vulkan-tools.hash
create mode 100644 package/vulkan-tools/vulkan-tools.mk
diff --git a/package/Config.in b/package/Config.in
index 86676b57ef..b156d8de1a 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -340,6 +340,7 @@ comment "Graphic libraries"
source "package/tk/Config.in"
source "package/vulkan-headers/Config.in"
source "package/vulkan-loader/Config.in"
+ source "package/vulkan-tools/Config.in"
comment "Other GUIs"
source "package/qt5/Config.in"
diff --git a/package/vulkan-tools/Config.in b/package/vulkan-tools/Config.in
new file mode 100644
index 0000000000..54fa539dab
--- /dev/null
+++ b/package/vulkan-tools/Config.in
@@ -0,0 +1,17 @@
+config BR2_PACKAGE_VULKAN_TOOLS
+ bool "vulkan-tools"
+ depends on BR2_INSTALL_LIBSTDCPP # vulkan-loader
+ depends on !BR2_STATIC_LIBS # vullan-loader
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11
+ depends on BR2_TOOLCHAIN_HAS_THREADS # vulkan-loader
+ select BR2_PACKAGE_VULKAN_HEADERS
+ select BR2_PACKAGE_VULKAN_LOADER
+
+ help
+ The Khronos official Vulkan Tools and Utilities.
+
+ https://github.com/KhronosGroup/Vulkan-Tools
+
+comment "vulkan-tools needs a toolchain w/ C++, dynamic library, threads, gcc >= 4.9"
+ depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \
+ !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
diff --git a/package/vulkan-tools/vulkan-tools.hash b/package/vulkan-tools/vulkan-tools.hash
new file mode 100644
index 0000000000..a4cf97ab34
--- /dev/null
+++ b/package/vulkan-tools/vulkan-tools.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 98a3a00471da65df833b4ffeb1ab29ec1d169d5feab54270cf4cd8f50f82e682 vulkan-tools-1.2.162.tar.gz
+sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt
diff --git a/package/vulkan-tools/vulkan-tools.mk b/package/vulkan-tools/vulkan-tools.mk
new file mode 100644
index 0000000000..129efddf3b
--- /dev/null
+++ b/package/vulkan-tools/vulkan-tools.mk
@@ -0,0 +1,25 @@
+################################################################################
+#
+# vulkan-tools
+#
+################################################################################
+
+VULKAN_TOOLS_VERSION = 1.2.162
+VULKAN_TOOLS_SITE = $(call github,KhronosGroup,Vulkan-Tools,v$(VULKAN_TOOLS_VERSION))
+VULKAN_TOOLS_LICENSE = Apache-2.0
+VULKAN_TOOLS_LICENSE_FILES = LICENSE.txt
+
+VULKAN_TOOLS_DEPENDENCIES = vulkan-headers vulkan-loader
+
+VULKAN_TOOLS_CONF_OPTS += \
+ -DBUILD_CUBE=OFF \
+ -DBUILD_VULKANINFO=ON \
+ -DBUILD_ICD=OFF \
+ -DINSTALL_ICD=OFF \
+ -DBUILD_WSI_XCB_SUPPORT=OFF \
+ -DBUILD_WSI_XLIB_SUPPORT=OFF \
+ -DBUILD_WSI_WAYLAND_SUPPORT=OFF \
+ -DBUILD_WSI_DIRECTFB_SUPPORT=OFF \
+ -DUSE_CCACHE=OFF
+
+$(eval $(cmake-package))
--
2.29.2
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Buildroot] [RFC v2 08/12] package/mesa3d: add vulkan broadcom driver support
2021-01-10 22:28 [Buildroot] [RFC v2 00/12] Vulkan support Peter Seiderer
` (6 preceding siblings ...)
2021-01-10 22:28 ` [Buildroot] [RFC v2 07/12] package/vulkan-tools: " Peter Seiderer
@ 2021-01-10 22:28 ` Peter Seiderer
2021-01-10 22:28 ` [Buildroot] [RFC v2 09/12] package/qt5base: add vulkan option Peter Seiderer
` (3 subsequent siblings)
11 siblings, 0 replies; 23+ messages in thread
From: Peter Seiderer @ 2021-01-10 22:28 UTC (permalink / raw)
To: buildroot
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
Changes v1 -> v2:
- no changes
Notes:
- compiles, but is not only functional in case
v3d simulator or X11/XCB is enabled (see
e.g. physical_device_init() in file
src/broadcom/vulkan/v3dv_device.c)
---
package/mesa3d/Config.in | 10 ++++++++++
package/mesa3d/mesa3d.mk | 1 +
2 files changed, 11 insertions(+)
diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
index 8a01fa95e2..5da9bfe08a 100644
--- a/package/mesa3d/Config.in
+++ b/package/mesa3d/Config.in
@@ -397,6 +397,16 @@ config BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON
comment "Vulkan drivers"
+config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_BROADCOM
+ bool "Vulkan broadcom driver"
+ depends on BR2_arm || BR2_aarch64
+ depends on BR2_TOOLCHAIN_HAS_SYNC_4 # dri3/libxshmfence
+ select BR2_PACKAGE_EXPAT
+ select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_MESA3D_OPENGL_GLX
+ select BR2_PACKAGE_MESA3D_VULKAN_DRIVER
+ help
+ Vulkan broadcom driver.
+
config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL
bool "Vulkan Intel driver"
depends on BR2_i386 || BR2_x86_64
diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
index 31f1c12d63..62dc7db91d 100644
--- a/package/mesa3d/mesa3d.mk
+++ b/package/mesa3d/mesa3d.mk
@@ -119,6 +119,7 @@ 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) += r100
# Vulkan Drivers
+MESA3D_VULKAN_DRIVERS-$(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_BROADCOM) += broadcom
MESA3D_VULKAN_DRIVERS-$(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL) += intel
ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER),)
--
2.29.2
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Buildroot] [RFC v2 09/12] package/qt5base: add vulkan option
2021-01-10 22:28 [Buildroot] [RFC v2 00/12] Vulkan support Peter Seiderer
` (7 preceding siblings ...)
2021-01-10 22:28 ` [Buildroot] [RFC v2 08/12] package/mesa3d: add vulkan broadcom driver support Peter Seiderer
@ 2021-01-10 22:28 ` Peter Seiderer
2022-01-09 21:31 ` Arnout Vandecappelle
2021-01-10 22:28 ` [Buildroot] [RFC v2 10/12] package/vulkan-loader: add XCB support Peter Seiderer
` (2 subsequent siblings)
11 siblings, 1 reply; 23+ messages in thread
From: Peter Seiderer @ 2021-01-10 22:28 UTC (permalink / raw)
To: buildroot
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
Changes v1 -> v2:
- no changes
Notes:
- eglfs/vulkan is only implemented for eglfs_viv
(see stub implementation for QEglFSDeviceIntegration::createPlatformVulkanInstance()
in src/plugins/platforms/eglfs/api/qeglfsdeviceintegration.cpp and
real implementation for QEglFSVivIntegration::createPlatformVulkanInstance()
in src/plugins/platforms/eglfs/deviceintegration/eglfs_viv/qeglfsvivintegration.cpp)
- or for xcb (see QXcbIntegration::createPlatformVulkanInstance()
in src/plugins/platforms/xcb/qxcbintegration.cpp)
---
package/qt5/qt5base/Config.in | 11 +++++++++++
package/qt5/qt5base/qt5base.mk | 7 +++++++
2 files changed, 18 insertions(+)
diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in
index ee7c757c60..377a754f37 100644
--- a/package/qt5/qt5base/Config.in
+++ b/package/qt5/qt5base/Config.in
@@ -175,6 +175,17 @@ config BR2_PACKAGE_QT5BASE_OPENGL_LIB
endif
+config BR2_PACKAGE_QT5BASE_VULKAN
+ bool "Vulkan support"
+ # all vulkan-loader introduced dependencies superseeded by qt5 own ones
+ # depends on BR2_INSTALL_LIBSTDCPP # vulkan-loader
+ # depends on !BR2_STATIC_LIBS # vulkan-loader
+ # depends on BR2_TOOLCHAIN_HAS_THREADS # vulkan-loader
+ select BR2_PACKAGE_VULKAN_HEADERS
+ select BR2_PACKAGE_VULKAN_LOADER
+ help
+ This option enables Vulkan support.
+
config BR2_PACKAGE_QT5BASE_LINUXFB
bool "linuxfb support"
diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
index 84e9fa4edb..3755e306d1 100644
--- a/package/qt5/qt5base/qt5base.mk
+++ b/package/qt5/qt5base/qt5base.mk
@@ -196,6 +196,13 @@ else
QT5BASE_CONFIGURE_OPTS += -no-opengl
endif
+ifeq ($(BR2_PACKAGE_QT5BASE_VULKAN),y)
+QT5BASE_CONFIGURE_OPTS += -feature-vulkan
+QT5BASE_DEPENDENCIES += vulkan-headers vulkan-loader
+else
+QT5BASE_CONFIGURE_OPTS += -no-feature-vulkan
+endif
+
QT5BASE_DEFAULT_QPA = $(call qstrip,$(BR2_PACKAGE_QT5BASE_DEFAULT_QPA))
QT5BASE_CONFIGURE_OPTS += $(if $(QT5BASE_DEFAULT_QPA),-qpa $(QT5BASE_DEFAULT_QPA))
--
2.29.2
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Buildroot] [RFC v2 10/12] package/vulkan-loader: add XCB support
2021-01-10 22:28 [Buildroot] [RFC v2 00/12] Vulkan support Peter Seiderer
` (8 preceding siblings ...)
2021-01-10 22:28 ` [Buildroot] [RFC v2 09/12] package/qt5base: add vulkan option Peter Seiderer
@ 2021-01-10 22:28 ` Peter Seiderer
2022-01-09 21:33 ` Arnout Vandecappelle
2021-01-10 22:28 ` [Buildroot] [RFC v2 11/12] package/vulkan-tools: " Peter Seiderer
2021-01-10 22:28 ` [Buildroot] [RFC v2 12/12] WIP: package/mesa3d: add vulkan swrast driver support Peter Seiderer
11 siblings, 1 reply; 23+ messages in thread
From: Peter Seiderer @ 2021-01-10 22:28 UTC (permalink / raw)
To: buildroot
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
Changes v1 -> v2:
- new patch
---
package/vulkan-loader/Config.in | 12 ++++++++++++
package/vulkan-loader/vulkan-loader.mk | 8 +++++++-
2 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/package/vulkan-loader/Config.in b/package/vulkan-loader/Config.in
index 9c215dc9ce..6ec4b13030 100644
--- a/package/vulkan-loader/Config.in
+++ b/package/vulkan-loader/Config.in
@@ -9,6 +9,18 @@ config BR2_PACKAGE_VULKAN_LOADER
https://github.com/KhronosGroup/Vulkan-Loader
+if BR2_PACKAGE_VULKAN_LOADER
+
+config BR2_PACKAGE_VULKAN_LOADER_XCB
+ bool "X.org XCB support"
+ depends on BR2_PACKAGE_XORG7
+ select BR2_PACKAGE_LIBXCB
+
+comment "X.org XCB support available if X.org is enabled"
+ depends on !BR2_PACKAGE_XORG7
+
+endif # BR2_PACKAGE_VULKAN_LOADER
+
comment "vulkan-loader needs a toolchain w/ C++, dynamic library, threads"
depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \
!BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/vulkan-loader/vulkan-loader.mk b/package/vulkan-loader/vulkan-loader.mk
index 9c9ccb2458..f0c20f5687 100644
--- a/package/vulkan-loader/vulkan-loader.mk
+++ b/package/vulkan-loader/vulkan-loader.mk
@@ -13,10 +13,16 @@ VULKAN_LOADER_INSTALL_STAGING = YES
VULKAN_LOADER_DEPENDENCIES = vulkan-headers
VULKAN_LOADER_CONF_OPTS += \
- -DBUILD_WSI_XCB_SUPPORT=OFF \
-DBUILD_WSI_XLIB_SUPPORT=OFF \
-DBUILD_WSI_WAYLAND_SUPPORT=OFF \
-DBUILD_WSI_DIRECTFB_SUPPORT=OFF \
-DUSE_CCACHE=OFF
+ifeq ($(BR2_PACKAGE_VULKAN_LOADER_XCB),y)
+VULKAN_LOADER_DEPENDENCIES += libxcb
+VULKAN_LOADER_CONF_OPTS += -DBUILD_WSI_XCB_SUPPORT=ON
+else
+VULKAN_LOADER_CONF_OPTS += -DBUILD_WSI_XCB_SUPPORT=OFF
+endif
+
$(eval $(cmake-package))
--
2.29.2
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Buildroot] [RFC v2 11/12] package/vulkan-tools: add XCB support
2021-01-10 22:28 [Buildroot] [RFC v2 00/12] Vulkan support Peter Seiderer
` (9 preceding siblings ...)
2021-01-10 22:28 ` [Buildroot] [RFC v2 10/12] package/vulkan-loader: add XCB support Peter Seiderer
@ 2021-01-10 22:28 ` Peter Seiderer
2022-01-09 21:36 ` Arnout Vandecappelle
2021-01-10 22:28 ` [Buildroot] [RFC v2 12/12] WIP: package/mesa3d: add vulkan swrast driver support Peter Seiderer
11 siblings, 1 reply; 23+ messages in thread
From: Peter Seiderer @ 2021-01-10 22:28 UTC (permalink / raw)
To: buildroot
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
Changes v1 -> v2:
- new patch
---
package/vulkan-tools/Config.in | 14 ++++++++++++++
package/vulkan-tools/vulkan-tools.mk | 8 +++++++-
2 files changed, 21 insertions(+), 1 deletion(-)
diff --git a/package/vulkan-tools/Config.in b/package/vulkan-tools/Config.in
index 54fa539dab..14c4059074 100644
--- a/package/vulkan-tools/Config.in
+++ b/package/vulkan-tools/Config.in
@@ -12,6 +12,20 @@ config BR2_PACKAGE_VULKAN_TOOLS
https://github.com/KhronosGroup/Vulkan-Tools
+if BR2_PACKAGE_VULKAN_TOOLS
+
+config BR2_PACKAGE_VULKAN_TOOLS_XCB
+ bool "X.org XCB support"
+ depends on BR2_PACKAGE_XORG7
+ select BR2_PACKAGE_XLIB_LIBX11
+ select BR2_PACKAGE_LIBXCB
+ select BR2_PACKAGE_VULKAN_LOADER_XCB
+
+comment "X.org XCB support available if X.org is enabled"
+ depends on !BR2_PACKAGE_XORG7
+
+endif # BR2_PACKAGE_VULKAN_TOOLS
+
comment "vulkan-tools needs a toolchain w/ C++, dynamic library, threads, gcc >= 4.9"
depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \
!BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
diff --git a/package/vulkan-tools/vulkan-tools.mk b/package/vulkan-tools/vulkan-tools.mk
index 129efddf3b..5b4d761ddb 100644
--- a/package/vulkan-tools/vulkan-tools.mk
+++ b/package/vulkan-tools/vulkan-tools.mk
@@ -16,10 +16,16 @@ VULKAN_TOOLS_CONF_OPTS += \
-DBUILD_VULKANINFO=ON \
-DBUILD_ICD=OFF \
-DINSTALL_ICD=OFF \
- -DBUILD_WSI_XCB_SUPPORT=OFF \
-DBUILD_WSI_XLIB_SUPPORT=OFF \
-DBUILD_WSI_WAYLAND_SUPPORT=OFF \
-DBUILD_WSI_DIRECTFB_SUPPORT=OFF \
-DUSE_CCACHE=OFF
+ifeq ($(BR2_PACKAGE_VULKAN_TOOLS_XCB),y)
+VULKAN_TOOLS_DEPENDENCIES += libxcb xlib_libX11
+VULKAN_TOOLS_CONF_OPTS += -DBUILD_WSI_XCB_SUPPORT=ON
+else
+VULKAN_TOOLS_CONF_OPTS += -DBUILD_WSI_XCB_SUPPORT=OFF
+endif
+
$(eval $(cmake-package))
--
2.29.2
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Buildroot] [RFC v2 12/12] WIP: package/mesa3d: add vulkan swrast driver support
2021-01-10 22:28 [Buildroot] [RFC v2 00/12] Vulkan support Peter Seiderer
` (10 preceding siblings ...)
2021-01-10 22:28 ` [Buildroot] [RFC v2 11/12] package/vulkan-tools: " Peter Seiderer
@ 2021-01-10 22:28 ` Peter Seiderer
2022-01-09 21:47 ` Arnout Vandecappelle
11 siblings, 1 reply; 23+ messages in thread
From: Peter Seiderer @ 2021-01-10 22:28 UTC (permalink / raw)
To: buildroot
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
Changes v1 -> v2:
- no changes (besides clearifying notes comment)
Notes:
- link failure when selected stand alone, fine in case
vulkan-broadcom is selected too (selecting vulkan-intel
instead does not work)
---
package/mesa3d/Config.in | 13 +++++++++++++
package/mesa3d/mesa3d.mk | 1 +
2 files changed, 14 insertions(+)
diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
index 5da9bfe08a..66776c9ad9 100644
--- a/package/mesa3d/Config.in
+++ b/package/mesa3d/Config.in
@@ -429,6 +429,19 @@ comment "intel vulkan depends on X.org and needs a glibc toolchain w/ headers >=
depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 || \
!BR2_TOOLCHAIN_USES_GLIBC || !BR2_PACKAGE_XORG7
+config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_SWRAST
+ bool "Vulkan swrast driver"
+ depends on !BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST
+ select BR2_PACKAGE_EXPAT
+ select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
+ select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST
+ select BR2_PACKAGE_MESA3D_VULKAN_DRIVER
+ help
+ Vulkan swrast driver.
+
+comment "Vulkan swrast: Only one swrast provider can be built"
+ depends on BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST
+
comment "Off-screen Rendering"
config BR2_PACKAGE_MESA3D_OSMESA_CLASSIC
diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
index 62dc7db91d..4679416b4d 100644
--- a/package/mesa3d/mesa3d.mk
+++ b/package/mesa3d/mesa3d.mk
@@ -121,6 +121,7 @@ MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON) += r100
# Vulkan Drivers
MESA3D_VULKAN_DRIVERS-$(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_BROADCOM) += broadcom
MESA3D_VULKAN_DRIVERS-$(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL) += intel
+MESA3D_VULKAN_DRIVERS-$(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_SWRAST) += swrast
ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER),)
MESA3D_CONF_OPTS += \
--
2.29.2
^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: [Buildroot] [RFC v2 02/12] package/mesa3d: fix vulkan/intel dependencies
2021-01-10 22:28 ` [Buildroot] [RFC v2 02/12] package/mesa3d: fix vulkan/intel dependencies Peter Seiderer
@ 2022-01-09 18:09 ` Arnout Vandecappelle
0 siblings, 0 replies; 23+ messages in thread
From: Arnout Vandecappelle @ 2022-01-09 18:09 UTC (permalink / raw)
To: Peter Seiderer, buildroot
Cc: Bernd Kuhls, Romain Naour, Julien Corjon, Yann E . MORIN
Hi Peter,
I'm finally reviewing this series. Since it's RFC, I'm going to mark it as
changes requested right away.
On 10/01/2021 23:28, Peter Seiderer wrote:
> - enable X11/GLX free build
>
> - remove xorgproto dependency is already given via BR2_PACKAGE_MESA3D_OPENGL_GLX/BR2_PACKAGE_MESA3D_NEEDS_X11
>
> - libxshmfence only needed in case BR2_PACKAGE_MESA3D_OPENGL_GLX is enabled
>
> - the correct dependency for BR2_PACKAGE_XLIB_LIBXSHMFENCE would
> be 'depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_MESA3D_OPENGL_GLX',
> but this results in:
>
> package/mesa3d/Config.in:81:error: recursive dependency detected!
> package/mesa3d/Config.in:81: symbol BR2_PACKAGE_MESA3D_DRIVER is selected by BR2_PACKAGE_MESA3D_VULKAN_DRIVER
> package/mesa3d/Config.in:77: symbol BR2_PACKAGE_MESA3D_VULKAN_DRIVER is selected by BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL
> package/mesa3d/Config.in:406: symbol BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL depends on BR2_PACKAGE_MESA3D_OPENGL_GLX
> package/mesa3d/Config.in:461: symbol BR2_PACKAGE_MESA3D_OPENGL_GLX depends on BR2_PACKAGE_MESA3D_DRIVER
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
>
> so use unconditional 'depends on BR2_TOOLCHAIN_HAS_SYNC_4' instead
>
> Signed-off-by: Peter Seiderer <ps.report@gmx.net>
> ---
> Changes v1 -> v2:
> - new patch
> ---
> package/mesa3d/Config.in | 10 ++++++----
> package/mesa3d/mesa3d.mk | 2 ++
> 2 files changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
> index 347b1a2726..d9c27f8b5c 100644
> --- a/package/mesa3d/Config.in
> +++ b/package/mesa3d/Config.in
> @@ -398,15 +398,17 @@ 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_HAS_SYNC_4 because of libxshmfence only
> + # in case GLX is enabled but the following results in 'recursive
> + # dependency detected!', so simple depend always on BR2_TOOLCHAIN_HAS_SYNC_4
> + # depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_MESA3D_OPENGL_GLX # libxshmfence in case GLX is enabled
> depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libxshmfence
> depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # memfd.h
> depends on BR2_TOOLCHAIN_USES_GLIBC # ifunc, static_assert
> - depends on BR2_PACKAGE_XORG7 # xorgproto
> select BR2_PACKAGE_EXPAT
> - select BR2_PACKAGE_MESA3D_DRI3
> + select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_MESA3D_OPENGL_GLX
In other drivers we enable DRI3 uncondtionally when X11 is enabled, i.e. even
if GLX is not enabled:
select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7
I am not entirely sure if DRI3 makes any sense at all without GLX, but why not
I'd say. Anyway, by working that way, you can resolve the circular dependency,
because it simply becomes (as you see in many other drivers)
depends on (BR2_TOOLCHAIN_HAS_SYNC_4 && !BR2_RISCV_32) || !BR2_PACKAGE_XORG7 #
libxshmfence
select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7
> select BR2_PACKAGE_MESA3D_VULKAN_DRIVER
> - select BR2_PACKAGE_XORGPROTO
> - select BR2_PACKAGE_XLIB_LIBXSHMFENCE
> + select BR2_PACKAGE_XLIB_LIBXSHMFENCE if BR2_PACKAGE_MESA3D_OPENGL_GLX
> help
> Vulkan driver for Intel hardware from Ivy Bridge onward.
>
> diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
> index ea6265d723..967b86810f 100644
> --- a/package/mesa3d/mesa3d.mk
> +++ b/package/mesa3d/mesa3d.mk
> @@ -146,7 +146,9 @@ ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER),)
> MESA3D_CONF_OPTS += \
> -Dvulkan-drivers=
> else
> +ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL)$(BR2_PACKAGE_MESA3D_OPENGL_GLX),yy)
> MESA3D_DEPENDENCIES += xlib_libxshmfence
That also means that this can simply be removed, since it's already done by DRI3.
Actually, I don't need feedback on those changes, so applied to master, thanks!
Regards,
Arnout
> +endif
> MESA3D_CONF_OPTS += \
> -Dvulkan-drivers=$(subst $(space),$(comma),$(MESA3D_VULKAN_DRIVERS-y))
> endif
>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Buildroot] [RFC v2 03/12] package/mesa3d: fix gbm config warning
2021-01-10 22:28 ` [Buildroot] [RFC v2 03/12] package/mesa3d: fix gbm config warning Peter Seiderer
@ 2022-01-09 20:19 ` Arnout Vandecappelle
0 siblings, 0 replies; 23+ messages in thread
From: Arnout Vandecappelle @ 2022-01-09 20:19 UTC (permalink / raw)
To: Peter Seiderer, buildroot
Cc: Bernd Kuhls, Romain Naour, Julien Corjon, Yann E . MORIN
On 10/01/2021 23:28, Peter Seiderer wrote:
> Fixes for the following defconfig:
>
> BR2_x86_64=y
> BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
> BR2_TOOLCHAIN_BUILDROOT_CXX=y
> BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
> BR2_TARGET_GENERIC_GETTY_PORT="tty1"
> BR2_PACKAGE_MESA3D=y
> BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL=y
> BR2_PACKAGE_MESA3D_OPENGL_EGL=y
> BR2_PACKAGE_MESA3D_OPENGL_ES=y
>
> this warning:
>
> WARNING: unmet direct dependencies detected for BR2_PACKAGE_MESA3D_GBM
> Depends on [n]: BR2_PACKAGE_MESA3D [=y] && BR2_PACKAGE_MESA3D_DRIVER [=y] && (BR2_PACKAGE_MESA3D_DRI_DRIVER [=n] || BR2_PACKAGE_MESA3D_GALLIUM_DRIVER [=n] && BR2_PACKAGE_MESA3D_OPENGL_EGL [=y])
> Selected by [y]:
> - BR2_PACKAGE_MESA3D_OPENGL_EGL [=y] && BR2_PACKAGE_MESA3D [=y] && BR2_PACKAGE_MESA3D_DRIVER [=y]
>
> WARNING: unmet direct dependencies detected for BR2_PACKAGE_MESA3D_GBM
> Depends on [n]: BR2_PACKAGE_MESA3D [=y] && BR2_PACKAGE_MESA3D_DRIVER [=y] && (BR2_PACKAGE_MESA3D_DRI_DRIVER [=n] || BR2_PACKAGE_MESA3D_GALLIUM_DRIVER [=n] && BR2_PACKAGE_MESA3D_OPENGL_EGL [=y])
> Selected by [y]:
> - BR2_PACKAGE_MESA3D_OPENGL_EGL [=y] && BR2_PACKAGE_MESA3D [=y] && BR2_PACKAGE_MESA3D_DRIVER [=y]
>
> as BR2_PACKAGE_MESA3D_VULKAN_DRIVER selects BR2_PACKAGE_MESA3D_DRIVER which
> enables possible selection of BR2_PACKAGE_MESA3D_OPENGL_EGL selecting
> BR2_PACKAGE_MESA3D_GBM.
>
> Selecting EGL with only a vulkan driver selected gives the following configure
> failure:
>
> .../build/mesa3d-20.3.2/meson.build:424:4: ERROR: Problem encountered: EGL requires dri
>
> Note dri means here an dri or gallium driver (see meson.build and look
> for with_dri).
>
> Signed-off-by: Peter Seiderer <ps.report@gmx.net>
> ---
> Changes v1 -> v2:
> - new patch
> ---
> package/mesa3d/Config.in | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
> index d9c27f8b5c..7a976f4b2c 100644
> --- a/package/mesa3d/Config.in
> +++ b/package/mesa3d/Config.in
> @@ -452,6 +452,8 @@ config BR2_PACKAGE_MESA3D_OPENGL_GLX
> comment "OpenGL GLX support needs X11"
> depends on !BR2_PACKAGE_XORG7
>
> +if BR2_PACKAGE_MESA3D_DRI_DRIVER || BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
Since there's only one symbol inside, we prefer "depends on"
Applied to master with that fixed, thanks.
Regards,
Arnout
> +
> config BR2_PACKAGE_MESA3D_OPENGL_EGL
> bool "OpenGL EGL"
> select BR2_PACKAGE_HAS_LIBEGL
> @@ -461,6 +463,8 @@ config BR2_PACKAGE_MESA3D_OPENGL_EGL
> Use the Khronos EGL APIs. EGL is a window manager for OpenGL
> applications similar to GLX, for X, and WGL, for Windows.
>
> +endif # BR2_PACKAGE_MESA3D_DRI_DRIVER || BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
> +
> config BR2_PACKAGE_MESA3D_OPENGL_ES
> bool "OpenGL ES"
> select BR2_PACKAGE_HAS_LIBGLES
>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Buildroot] [RFC v2 04/12] package/mesa3d: DRI3 with GLX needs xshmfence
2021-01-10 22:28 ` [Buildroot] [RFC v2 04/12] package/mesa3d: DRI3 with GLX needs xshmfence Peter Seiderer
@ 2022-01-09 20:23 ` Arnout Vandecappelle
0 siblings, 0 replies; 23+ messages in thread
From: Arnout Vandecappelle @ 2022-01-09 20:23 UTC (permalink / raw)
To: Peter Seiderer, buildroot
Cc: Bernd Kuhls, Romain Naour, Julien Corjon, Yann E . MORIN
On 10/01/2021 23:28, Peter Seiderer wrote:
> Fixes for the following defconfig:
>
> BR2_arm=y
> BR2_cortex_a72=y
> BR2_ARM_FPU_NEON_VFPV4=y
> BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
> BR2_TOOLCHAIN_BUILDROOT_CXX=y
> BR2_PACKAGE_MESA3D=y
> BR2_PACKAGE_MESA3D_DRI3=y
> BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_KMSRO=y
> BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D=y
> BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4=y
> BR2_PACKAGE_MESA3D_OPENGL_GLX=y
>
> this configure error:
>
> .../build/mesa3d-20.3.2/meson.build:1772:6: ERROR: Dependency "xshmfence" not found, tried pkgconfig and cmake
>
> Signed-off-by: Peter Seiderer <ps.report@gmx.net>
> ---
> Changes v1 -> v2:
> - new patch
> ---
> package/mesa3d/Config.in | 5 +++--
> package/mesa3d/mesa3d.mk | 6 +++---
> 2 files changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
> index 7a976f4b2c..8a01fa95e2 100644
> --- a/package/mesa3d/Config.in
> +++ b/package/mesa3d/Config.in
> @@ -17,6 +17,8 @@ if BR2_PACKAGE_MESA3D
>
> config BR2_PACKAGE_MESA3D_DRI3
> bool "Enable DRI3 support"
> + depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_MESA3D_OPENGL_GLX
> + select BR2_PACKAGE_XLIB_LIBXSHMFENCE if BR2_PACKAGE_MESA3D_OPENGL_GLX
This was already done, but without the depends on and without the if GLX. I'm
not entirely sure if the if GLX is actually needed. But really, mesa3d needs a
big overhaul where the Config.in is compared to the meson.build to check how the
dependencies and interactions *really* work.
Therefore, I've marked this patch as Superseded.
Regards,
Arnout
> help
> Enable DRI3 support.
>
> @@ -398,7 +400,7 @@ 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_HAS_SYNC_4 because of libxshmfence only
> + # depends on BR2_TOOLCHAIN_HAS_SYNC_4 because of dri3/libxshmfence only
> # in case GLX is enabled but the following results in 'recursive
> # dependency detected!', so simple depend always on BR2_TOOLCHAIN_HAS_SYNC_4
> # depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_MESA3D_OPENGL_GLX # libxshmfence in case GLX is enabled
> @@ -408,7 +410,6 @@ config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL
> select BR2_PACKAGE_EXPAT
> select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_MESA3D_OPENGL_GLX
> select BR2_PACKAGE_MESA3D_VULKAN_DRIVER
> - select BR2_PACKAGE_XLIB_LIBXSHMFENCE if BR2_PACKAGE_MESA3D_OPENGL_GLX
> help
> Vulkan driver for Intel hardware from Ivy Bridge onward.
>
> diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
> index 967b86810f..31f1c12d63 100644
> --- a/package/mesa3d/mesa3d.mk
> +++ b/package/mesa3d/mesa3d.mk
> @@ -38,6 +38,9 @@ endif
>
> ifeq ($(BR2_PACKAGE_MESA3D_DRI3),y)
> MESA3D_CONF_OPTS += -Ddri3=enabled
> +ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_GLX),y)
> +MESA3D_DEPENDENCIES += xlib_libxshmfence
> +endif
> else
> MESA3D_CONF_OPTS += -Ddri3=disabled
> endif
> @@ -146,9 +149,6 @@ ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER),)
> MESA3D_CONF_OPTS += \
> -Dvulkan-drivers=
> else
> -ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL)$(BR2_PACKAGE_MESA3D_OPENGL_GLX),yy)
> -MESA3D_DEPENDENCIES += xlib_libxshmfence
> -endif
> MESA3D_CONF_OPTS += \
> -Dvulkan-drivers=$(subst $(space),$(comma),$(MESA3D_VULKAN_DRIVERS-y))
> endif
>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Buildroot] [RFC v2 05/12] package/vulkan-headers: new package
2021-01-10 22:28 ` [Buildroot] [RFC v2 05/12] package/vulkan-headers: new package Peter Seiderer
@ 2022-01-09 20:30 ` Arnout Vandecappelle
0 siblings, 0 replies; 23+ messages in thread
From: Arnout Vandecappelle @ 2022-01-09 20:30 UTC (permalink / raw)
To: Peter Seiderer, buildroot
Cc: Bernd Kuhls, Romain Naour, Julien Corjon, Yann E . MORIN
On 10/01/2021 23:28, Peter Seiderer wrote:
> Signed-off-by: Peter Seiderer <ps.report@gmx.net>
> ---
> Changes v1 -> v2:
> - fix license SPDX (Yann E. MORIN)
> ---
> package/Config.in | 1 +
> package/vulkan-headers/Config.in | 7 +++++++
> package/vulkan-headers/vulkan-headers.hash | 3 +++
> package/vulkan-headers/vulkan-headers.mk | 13 +++++++++++++
> 4 files changed, 24 insertions(+)
> create mode 100644 package/vulkan-headers/Config.in
> create mode 100644 package/vulkan-headers/vulkan-headers.hash
> create mode 100644 package/vulkan-headers/vulkan-headers.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index 9ed02ec890..9a91e6324c 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -338,6 +338,7 @@ comment "Graphic libraries"
> source "package/sdl2_net/Config.in"
> source "package/sdl2_ttf/Config.in"
> source "package/tk/Config.in"
> + source "package/vulkan-headers/Config.in"
>
> comment "Other GUIs"
> source "package/qt5/Config.in"
> diff --git a/package/vulkan-headers/Config.in b/package/vulkan-headers/Config.in
> new file mode 100644
> index 0000000000..c0fc8f20b0
> --- /dev/null
> +++ b/package/vulkan-headers/Config.in
> @@ -0,0 +1,7 @@
> +config BR2_PACKAGE_VULKAN_HEADERS
> + bool "vulkan-headers"
> + help
> + The Khronos official Vulkan header files and API
> + registry.
> +
> + https://github.com/KhronosGroup/Vulkan-Headers
> diff --git a/package/vulkan-headers/vulkan-headers.hash b/package/vulkan-headers/vulkan-headers.hash
> new file mode 100644
> index 0000000000..678a38e0d4
> --- /dev/null
> +++ b/package/vulkan-headers/vulkan-headers.hash
> @@ -0,0 +1,3 @@
> +# Locally calculated
> +sha256 3f9435a93ba13d94d0c3265a47e0436579e46bb9ca085e9b16a753458e4d79d2 vulkan-headers-1.2.165.tar.gz
> +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt
> diff --git a/package/vulkan-headers/vulkan-headers.mk b/package/vulkan-headers/vulkan-headers.mk
> new file mode 100644
> index 0000000000..48d390a581
> --- /dev/null
> +++ b/package/vulkan-headers/vulkan-headers.mk
> @@ -0,0 +1,13 @@
> +################################################################################
> +#
> +# vulkan-headers
> +#
> +################################################################################
> +
> +VULKAN_HEADERS_VERSION = 1.2.165
There's a 1.2.203 now, so I bumped to that version and applied to master, thanks.
Regards,
Arnout
> +VULKAN_HEADERS_SITE = $(call github,KhronosGroup,Vulkan-Headers,v$(VULKAN_HEADERS_VERSION))
> +VULKAN_HEADERS_LICENSE = Apache-2.0
> +VULKAN_HEADERS_LICENSE_FILES = LICENSE.txt
> +VULKAN_HEADERS_INSTALL_STAGING = YES
> +
> +$(eval $(cmake-package))
>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Buildroot] [RFC v2 06/12] package/vulkan-loader: new package
2021-01-10 22:28 ` [Buildroot] [RFC v2 06/12] package/vulkan-loader: " Peter Seiderer
@ 2022-01-09 21:00 ` Arnout Vandecappelle
0 siblings, 0 replies; 23+ messages in thread
From: Arnout Vandecappelle @ 2022-01-09 21:00 UTC (permalink / raw)
To: Peter Seiderer, buildroot
Cc: Bernd Kuhls, Romain Naour, Julien Corjon, Yann E . MORIN
On 10/01/2021 23:28, Peter Seiderer wrote:
> Signed-off-by: Peter Seiderer <ps.report@gmx.net>
> ---
> Changes v1 -> v2:
> - fix license SPDX (Yann E. MORIN)
> - add sob line
> ---
> package/Config.in | 1 +
> .../0001-loader-fix-asm_offset-call.patch | 32 +++++++++++++++++++
> package/vulkan-loader/Config.in | 14 ++++++++
> package/vulkan-loader/vulkan-loader.hash | 3 ++
> package/vulkan-loader/vulkan-loader.mk | 22 +++++++++++++
> 5 files changed, 72 insertions(+)
> create mode 100644 package/vulkan-loader/0001-loader-fix-asm_offset-call.patch
> create mode 100644 package/vulkan-loader/Config.in
> create mode 100644 package/vulkan-loader/vulkan-loader.hash
> create mode 100644 package/vulkan-loader/vulkan-loader.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index 9a91e6324c..86676b57ef 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -339,6 +339,7 @@ comment "Graphic libraries"
> source "package/sdl2_ttf/Config.in"
> source "package/tk/Config.in"
> source "package/vulkan-headers/Config.in"
> + source "package/vulkan-loader/Config.in"
>
> comment "Other GUIs"
> source "package/qt5/Config.in"
> diff --git a/package/vulkan-loader/0001-loader-fix-asm_offset-call.patch b/package/vulkan-loader/0001-loader-fix-asm_offset-call.patch
> new file mode 100644
> index 0000000000..d62b9390d8
> --- /dev/null
> +++ b/package/vulkan-loader/0001-loader-fix-asm_offset-call.patch
> @@ -0,0 +1,32 @@
> +From 45098898f7fa25dfd12d2c4f1aed889f678aa870 Mon Sep 17 00:00:00 2001
> +From: Peter Seiderer <ps.report@gmx.net>
> +Date: Wed, 23 Dec 2020 14:46:02 +0100
> +Subject: [PATCH] loader: fix asm_offset call
> +
> +Disable assembler usage (not cross compile capable):
> +
> + [ 21%] Generating gen_defines.asm
> + /bin/sh: asm_offset: command not found
> + make[3]: *** [loader/CMakeFiles/loader_asm_gen_files.dir/build.make:80: loader/gen_defines.asm] Error 127
> +
> +Signed-off-by: Peter Seiderer <ps.report@gmx.net>
> +---
> + loader/CMakeLists.txt | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/loader/CMakeLists.txt b/loader/CMakeLists.txt
> +index ba9f460f1..dbebfb058 100644
> +--- a/loader/CMakeLists.txt
> ++++ b/loader/CMakeLists.txt
> +@@ -187,7 +187,7 @@ else(UNIX AND NOT APPLE) # i.e.: Linux
> + endif()
> + set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
> + try_compile(ASSEMBLER_WORKS ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/asm_test.S)
> +- if(ASSEMBLER_WORKS)
> ++ if(FALSE)
This doesn't look OK to me. With the assembler disabled, you get this warning:
Note that this may be unsafe, as the C code requires tail-call optimizations to
remove the stack frame for certain calls. If the compiler does not do this, then
unknown device extensions will suffer from a corrupted stack.
Since CMake doesn't make mixed host and target compilation possible, I see two
solutions.
1. A simple solution that is a bit of a hack. In a _PRE_BUILD_HOOK, manually
build the asm_offset offset program. It actually needs the Vulkan headers, so we
also need host-vulkan-headers. We would normally use host-vulkan-loader to build
the program, but in this case it's so simple that manual compilation is much
easier. Install the program in the source directory where it's expected. Most
likely it will already work like that because the program is more recent than
the source. If not, solution 2 is needed.
2. Add host-vulkan-loader to build asm_offset. Since we only need asm_offset,
it's easier to use a generic-package rather than cmake-package - especially
since the program doesn't get installed by cmake anyway. In this case, you'll
need to add a new variable to CMakeLists.txt that allows to pass the path to an
external asm_offset and point that to HOST_DIR.
In addition, the loader only supports aarch64 and x86, so I think the whole
package should depend on that.
I've marked as Changes Requested.
> + set(OPT_LOADER_SRCS ${OPT_LOADER_SRCS} unknown_ext_chain_gas.S)
> + add_executable(asm_offset asm_offset.c)
> + target_link_libraries(asm_offset Vulkan::Headers)
> +--
> +2.29.2
> +
> diff --git a/package/vulkan-loader/Config.in b/package/vulkan-loader/Config.in
> new file mode 100644
> index 0000000000..9c215dc9ce
> --- /dev/null
> +++ b/package/vulkan-loader/Config.in
> @@ -0,0 +1,14 @@
> +config BR2_PACKAGE_VULKAN_LOADER
> + bool "vulkan-loader"
> + depends on BR2_INSTALL_LIBSTDCPP
AFAICS C++ is only needed for tests, so you could patch CMakeLists.txt with
enable_language(C) and only add enable_language(CXX) if BUILD_TESTS is ON.
Regards,
Arnout
> + depends on !BR2_STATIC_LIBS # dlfcn.h
> + depends on BR2_TOOLCHAIN_HAS_THREADS
> + select BR2_PACKAGE_VULKAN_HEADERS
> + help
> + The Khronos official Vulkan ICD desktop loader.
> +
> + https://github.com/KhronosGroup/Vulkan-Loader
> +
> +comment "vulkan-loader needs a toolchain w/ C++, dynamic library, threads"
> + depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \
> + !BR2_TOOLCHAIN_HAS_THREADS
> diff --git a/package/vulkan-loader/vulkan-loader.hash b/package/vulkan-loader/vulkan-loader.hash
> new file mode 100644
> index 0000000000..c70ed90be6
> --- /dev/null
> +++ b/package/vulkan-loader/vulkan-loader.hash
> @@ -0,0 +1,3 @@
> +# Locally calculated
> +sha256 e582dce35051a34af82db2a8fcd38fbc5837b4506e76e6cda685dca02dee01c7 vulkan-loader-1.2.162.tar.gz
> +sha256 43c0a37e6a0fa7ff3c843b3ec5a4fac84b712558ddac103fbd4c1649662a9ece LICENSE.txt
> diff --git a/package/vulkan-loader/vulkan-loader.mk b/package/vulkan-loader/vulkan-loader.mk
> new file mode 100644
> index 0000000000..9c9ccb2458
> --- /dev/null
> +++ b/package/vulkan-loader/vulkan-loader.mk
> @@ -0,0 +1,22 @@
> +################################################################################
> +#
> +# vulkan-loader
> +#
> +################################################################################
> +
> +VULKAN_LOADER_VERSION = 1.2.162
> +VULKAN_LOADER_SITE = $(call github,KhronosGroup,Vulkan-Loader,v$(VULKAN_LOADER_VERSION))
> +VULKAN_LOADER_LICENSE = Apache-2.0
> +VULKAN_LOADER_LICENSE_FILES = LICENSE.txt
> +VULKAN_LOADER_INSTALL_STAGING = YES
> +
> +VULKAN_LOADER_DEPENDENCIES = vulkan-headers
> +
> +VULKAN_LOADER_CONF_OPTS += \
> + -DBUILD_WSI_XCB_SUPPORT=OFF \
> + -DBUILD_WSI_XLIB_SUPPORT=OFF \
> + -DBUILD_WSI_WAYLAND_SUPPORT=OFF \
> + -DBUILD_WSI_DIRECTFB_SUPPORT=OFF \
> + -DUSE_CCACHE=OFF
> +
> +$(eval $(cmake-package))
>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Buildroot] [RFC v2 07/12] package/vulkan-tools: new package
2021-01-10 22:28 ` [Buildroot] [RFC v2 07/12] package/vulkan-tools: " Peter Seiderer
@ 2022-01-09 21:02 ` Arnout Vandecappelle
0 siblings, 0 replies; 23+ messages in thread
From: Arnout Vandecappelle @ 2022-01-09 21:02 UTC (permalink / raw)
To: Peter Seiderer, buildroot
Cc: Bernd Kuhls, Romain Naour, Julien Corjon, Yann E . MORIN
On 10/01/2021 23:28, Peter Seiderer wrote:
> Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Rest of the series is Changes Requested because it all depends on vulkan-loader.
Regards,
Arnout
> ---
> Changes v1 -> v2:
> - fix license SPDX (Yann E. MORIN)
> - disable ICD (as it is only a mock ICD for testing purpouse)
> ---
> package/Config.in | 1 +
> package/vulkan-tools/Config.in | 17 +++++++++++++++++
> package/vulkan-tools/vulkan-tools.hash | 3 +++
> package/vulkan-tools/vulkan-tools.mk | 25 +++++++++++++++++++++++++
> 4 files changed, 46 insertions(+)
> create mode 100644 package/vulkan-tools/Config.in
> create mode 100644 package/vulkan-tools/vulkan-tools.hash
> create mode 100644 package/vulkan-tools/vulkan-tools.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index 86676b57ef..b156d8de1a 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -340,6 +340,7 @@ comment "Graphic libraries"
> source "package/tk/Config.in"
> source "package/vulkan-headers/Config.in"
> source "package/vulkan-loader/Config.in"
> + source "package/vulkan-tools/Config.in"
>
> comment "Other GUIs"
> source "package/qt5/Config.in"
> diff --git a/package/vulkan-tools/Config.in b/package/vulkan-tools/Config.in
> new file mode 100644
> index 0000000000..54fa539dab
> --- /dev/null
> +++ b/package/vulkan-tools/Config.in
> @@ -0,0 +1,17 @@
> +config BR2_PACKAGE_VULKAN_TOOLS
> + bool "vulkan-tools"
> + depends on BR2_INSTALL_LIBSTDCPP # vulkan-loader
> + depends on !BR2_STATIC_LIBS # vullan-loader
> + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11
> + depends on BR2_TOOLCHAIN_HAS_THREADS # vulkan-loader
> + select BR2_PACKAGE_VULKAN_HEADERS
> + select BR2_PACKAGE_VULKAN_LOADER
> +
> + help
> + The Khronos official Vulkan Tools and Utilities.
> +
> + https://github.com/KhronosGroup/Vulkan-Tools
> +
> +comment "vulkan-tools needs a toolchain w/ C++, dynamic library, threads, gcc >= 4.9"
> + depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \
> + !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
> diff --git a/package/vulkan-tools/vulkan-tools.hash b/package/vulkan-tools/vulkan-tools.hash
> new file mode 100644
> index 0000000000..a4cf97ab34
> --- /dev/null
> +++ b/package/vulkan-tools/vulkan-tools.hash
> @@ -0,0 +1,3 @@
> +# Locally calculated
> +sha256 98a3a00471da65df833b4ffeb1ab29ec1d169d5feab54270cf4cd8f50f82e682 vulkan-tools-1.2.162.tar.gz
> +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt
> diff --git a/package/vulkan-tools/vulkan-tools.mk b/package/vulkan-tools/vulkan-tools.mk
> new file mode 100644
> index 0000000000..129efddf3b
> --- /dev/null
> +++ b/package/vulkan-tools/vulkan-tools.mk
> @@ -0,0 +1,25 @@
> +################################################################################
> +#
> +# vulkan-tools
> +#
> +################################################################################
> +
> +VULKAN_TOOLS_VERSION = 1.2.162
> +VULKAN_TOOLS_SITE = $(call github,KhronosGroup,Vulkan-Tools,v$(VULKAN_TOOLS_VERSION))
> +VULKAN_TOOLS_LICENSE = Apache-2.0
> +VULKAN_TOOLS_LICENSE_FILES = LICENSE.txt
> +
> +VULKAN_TOOLS_DEPENDENCIES = vulkan-headers vulkan-loader
> +
> +VULKAN_TOOLS_CONF_OPTS += \
> + -DBUILD_CUBE=OFF \
> + -DBUILD_VULKANINFO=ON \
> + -DBUILD_ICD=OFF \
> + -DINSTALL_ICD=OFF \
> + -DBUILD_WSI_XCB_SUPPORT=OFF \
> + -DBUILD_WSI_XLIB_SUPPORT=OFF \
> + -DBUILD_WSI_WAYLAND_SUPPORT=OFF \
> + -DBUILD_WSI_DIRECTFB_SUPPORT=OFF \
> + -DUSE_CCACHE=OFF
> +
> +$(eval $(cmake-package))
>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Buildroot] [RFC v2 09/12] package/qt5base: add vulkan option
2021-01-10 22:28 ` [Buildroot] [RFC v2 09/12] package/qt5base: add vulkan option Peter Seiderer
@ 2022-01-09 21:31 ` Arnout Vandecappelle
0 siblings, 0 replies; 23+ messages in thread
From: Arnout Vandecappelle @ 2022-01-09 21:31 UTC (permalink / raw)
To: Peter Seiderer, buildroot
Cc: Bernd Kuhls, Romain Naour, Julien Corjon, Yann E . MORIN
On 10/01/2021 23:28, Peter Seiderer wrote:
> Signed-off-by: Peter Seiderer <ps.report@gmx.net>
> ---
> Changes v1 -> v2:
> - no changes
>
> Notes:
> - eglfs/vulkan is only implemented for eglfs_viv
> (see stub implementation for QEglFSDeviceIntegration::createPlatformVulkanInstance()
> in src/plugins/platforms/eglfs/api/qeglfsdeviceintegration.cpp and
> real implementation for QEglFSVivIntegration::createPlatformVulkanInstance()
> in src/plugins/platforms/eglfs/deviceintegration/eglfs_viv/qeglfsvivintegration.cpp)
> - or for xcb (see QXcbIntegration::createPlatformVulkanInstance()
> in src/plugins/platforms/xcb/qxcbintegration.cpp)
> ---
> package/qt5/qt5base/Config.in | 11 +++++++++++
> package/qt5/qt5base/qt5base.mk | 7 +++++++
> 2 files changed, 18 insertions(+)
>
> diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in
> index ee7c757c60..377a754f37 100644
> --- a/package/qt5/qt5base/Config.in
> +++ b/package/qt5/qt5base/Config.in
> @@ -175,6 +175,17 @@ config BR2_PACKAGE_QT5BASE_OPENGL_LIB
>
> endif
>
> +config BR2_PACKAGE_QT5BASE_VULKAN
> + bool "Vulkan support"
> + # all vulkan-loader introduced dependencies superseeded by qt5 own ones
> + # depends on BR2_INSTALL_LIBSTDCPP # vulkan-loader
> + # depends on !BR2_STATIC_LIBS # vulkan-loader
> + # depends on BR2_TOOLCHAIN_HAS_THREADS # vulkan-loader
Just keep them, doesn't matter that qt5 already has them. Only if it becomes
very complicated it's worth optimising it.
However, shouldn't we have a virtual package to make sure there's also a
vulkan provider, similar like we have for GL? Or isn't that needed because it's
mediated through the loader library? It indeed doesn't look like Qt needs to
link with the vulkan provider (i.e. mesa3d at this point).
Regards,
Arnout
> + select BR2_PACKAGE_VULKAN_HEADERS
> + select BR2_PACKAGE_VULKAN_LOADER
> + help
> + This option enables Vulkan support.
> +
> config BR2_PACKAGE_QT5BASE_LINUXFB
> bool "linuxfb support"
>
> diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
> index 84e9fa4edb..3755e306d1 100644
> --- a/package/qt5/qt5base/qt5base.mk
> +++ b/package/qt5/qt5base/qt5base.mk
> @@ -196,6 +196,13 @@ else
> QT5BASE_CONFIGURE_OPTS += -no-opengl
> endif
>
> +ifeq ($(BR2_PACKAGE_QT5BASE_VULKAN),y)
> +QT5BASE_CONFIGURE_OPTS += -feature-vulkan
> +QT5BASE_DEPENDENCIES += vulkan-headers vulkan-loader
> +else
> +QT5BASE_CONFIGURE_OPTS += -no-feature-vulkan
> +endif
> +
> QT5BASE_DEFAULT_QPA = $(call qstrip,$(BR2_PACKAGE_QT5BASE_DEFAULT_QPA))
> QT5BASE_CONFIGURE_OPTS += $(if $(QT5BASE_DEFAULT_QPA),-qpa $(QT5BASE_DEFAULT_QPA))
>
>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Buildroot] [RFC v2 10/12] package/vulkan-loader: add XCB support
2021-01-10 22:28 ` [Buildroot] [RFC v2 10/12] package/vulkan-loader: add XCB support Peter Seiderer
@ 2022-01-09 21:33 ` Arnout Vandecappelle
0 siblings, 0 replies; 23+ messages in thread
From: Arnout Vandecappelle @ 2022-01-09 21:33 UTC (permalink / raw)
To: Peter Seiderer, buildroot
Cc: Bernd Kuhls, Romain Naour, Julien Corjon, Yann E . MORIN
On 10/01/2021 23:28, Peter Seiderer wrote:
> Signed-off-by: Peter Seiderer <ps.report@gmx.net>
> ---
> Changes v1 -> v2:
> - new patch
> ---
> package/vulkan-loader/Config.in | 12 ++++++++++++
> package/vulkan-loader/vulkan-loader.mk | 8 +++++++-
> 2 files changed, 19 insertions(+), 1 deletion(-)
>
> diff --git a/package/vulkan-loader/Config.in b/package/vulkan-loader/Config.in
> index 9c215dc9ce..6ec4b13030 100644
> --- a/package/vulkan-loader/Config.in
> +++ b/package/vulkan-loader/Config.in
> @@ -9,6 +9,18 @@ config BR2_PACKAGE_VULKAN_LOADER
>
> https://github.com/KhronosGroup/Vulkan-Loader
>
> +if BR2_PACKAGE_VULKAN_LOADER
> +
> +config BR2_PACKAGE_VULKAN_LOADER_XCB
> + bool "X.org XCB support"
I don't think it makes much sense to make this a user-visible option.
> + depends on BR2_PACKAGE_XORG7
> + select BR2_PACKAGE_LIBXCB
> +
> +comment "X.org XCB support available if X.org is enabled"
> + depends on !BR2_PACKAGE_XORG7
> +
> +endif # BR2_PACKAGE_VULKAN_LOADER
> +
> comment "vulkan-loader needs a toolchain w/ C++, dynamic library, threads"
> depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \
> !BR2_TOOLCHAIN_HAS_THREADS
> diff --git a/package/vulkan-loader/vulkan-loader.mk b/package/vulkan-loader/vulkan-loader.mk
> index 9c9ccb2458..f0c20f5687 100644
> --- a/package/vulkan-loader/vulkan-loader.mk
> +++ b/package/vulkan-loader/vulkan-loader.mk
> @@ -13,10 +13,16 @@ VULKAN_LOADER_INSTALL_STAGING = YES
> VULKAN_LOADER_DEPENDENCIES = vulkan-headers
>
> VULKAN_LOADER_CONF_OPTS += \
> - -DBUILD_WSI_XCB_SUPPORT=OFF \
> -DBUILD_WSI_XLIB_SUPPORT=OFF \
> -DBUILD_WSI_WAYLAND_SUPPORT=OFF \
> -DBUILD_WSI_DIRECTFB_SUPPORT=OFF \
> -DUSE_CCACHE=OFF
>
> +ifeq ($(BR2_PACKAGE_VULKAN_LOADER_XCB),y)
Just use BR2_PACKAGE_LIBXCB here.
With that, this can be squashed in the patch that adds vulkan-loader (it's not
complicated).
Regards,
Arnout
> +VULKAN_LOADER_DEPENDENCIES += libxcb
> +VULKAN_LOADER_CONF_OPTS += -DBUILD_WSI_XCB_SUPPORT=ON
> +else
> +VULKAN_LOADER_CONF_OPTS += -DBUILD_WSI_XCB_SUPPORT=OFF
> +endif
> +
> $(eval $(cmake-package))
>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Buildroot] [RFC v2 11/12] package/vulkan-tools: add XCB support
2021-01-10 22:28 ` [Buildroot] [RFC v2 11/12] package/vulkan-tools: " Peter Seiderer
@ 2022-01-09 21:36 ` Arnout Vandecappelle
0 siblings, 0 replies; 23+ messages in thread
From: Arnout Vandecappelle @ 2022-01-09 21:36 UTC (permalink / raw)
To: Peter Seiderer, buildroot
Cc: Bernd Kuhls, Romain Naour, Julien Corjon, Yann E . MORIN
On 10/01/2021 23:28, Peter Seiderer wrote:
> Signed-off-by: Peter Seiderer <ps.report@gmx.net>
> ---
> Changes v1 -> v2:
> - new patch
> ---
> package/vulkan-tools/Config.in | 14 ++++++++++++++
> package/vulkan-tools/vulkan-tools.mk | 8 +++++++-
> 2 files changed, 21 insertions(+), 1 deletion(-)
>
> diff --git a/package/vulkan-tools/Config.in b/package/vulkan-tools/Config.in
> index 54fa539dab..14c4059074 100644
> --- a/package/vulkan-tools/Config.in
> +++ b/package/vulkan-tools/Config.in
> @@ -12,6 +12,20 @@ config BR2_PACKAGE_VULKAN_TOOLS
>
> https://github.com/KhronosGroup/Vulkan-Tools
>
> +if BR2_PACKAGE_VULKAN_TOOLS
> +
> +config BR2_PACKAGE_VULKAN_TOOLS_XCB
> + bool "X.org XCB support"
> + depends on BR2_PACKAGE_XORG7
> + select BR2_PACKAGE_XLIB_LIBX11
> + select BR2_PACKAGE_LIBXCB
> + select BR2_PACKAGE_VULKAN_LOADER_XCB
> +
> +comment "X.org XCB support available if X.org is enabled"
> + depends on !BR2_PACKAGE_XORG7
> +
> +endif # BR2_PACKAGE_VULKAN_TOOLS
> +
> comment "vulkan-tools needs a toolchain w/ C++, dynamic library, threads, gcc >= 4.9"
> depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \
> !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
> diff --git a/package/vulkan-tools/vulkan-tools.mk b/package/vulkan-tools/vulkan-tools.mk
> index 129efddf3b..5b4d761ddb 100644
> --- a/package/vulkan-tools/vulkan-tools.mk
> +++ b/package/vulkan-tools/vulkan-tools.mk
> @@ -16,10 +16,16 @@ VULKAN_TOOLS_CONF_OPTS += \
> -DBUILD_VULKANINFO=ON \
> -DBUILD_ICD=OFF \
> -DINSTALL_ICD=OFF \
> - -DBUILD_WSI_XCB_SUPPORT=OFF \
> -DBUILD_WSI_XLIB_SUPPORT=OFF \
> -DBUILD_WSI_WAYLAND_SUPPORT=OFF \
> -DBUILD_WSI_DIRECTFB_SUPPORT=OFF \
> -DUSE_CCACHE=OFF
>
> +ifeq ($(BR2_PACKAGE_VULKAN_TOOLS_XCB),y)
Same, BR2_PACKAGE_LIBXCB.
> +VULKAN_TOOLS_DEPENDENCIES += libxcb xlib_libX11
Hm, maybe this should go together with BUILD_WSI_XLIB_SUPPORT ?
Regards,
Arnout
> +VULKAN_TOOLS_CONF_OPTS += -DBUILD_WSI_XCB_SUPPORT=ON
> +else
> +VULKAN_TOOLS_CONF_OPTS += -DBUILD_WSI_XCB_SUPPORT=OFF
> +endif
> +
> $(eval $(cmake-package))
>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Buildroot] [RFC v2 12/12] WIP: package/mesa3d: add vulkan swrast driver support
2021-01-10 22:28 ` [Buildroot] [RFC v2 12/12] WIP: package/mesa3d: add vulkan swrast driver support Peter Seiderer
@ 2022-01-09 21:47 ` Arnout Vandecappelle
0 siblings, 0 replies; 23+ messages in thread
From: Arnout Vandecappelle @ 2022-01-09 21:47 UTC (permalink / raw)
To: Peter Seiderer, buildroot
Cc: Bernd Kuhls, Romain Naour, Julien Corjon, Yann E . MORIN
On 10/01/2021 23:28, Peter Seiderer wrote:
> Signed-off-by: Peter Seiderer <ps.report@gmx.net>
> ---
> Changes v1 -> v2:
> - no changes (besides clearifying notes comment)
>
> Notes:
> - link failure when selected stand alone, fine in case
> vulkan-broadcom is selected too (selecting vulkan-intel
> instead does not work)
In future submissions, paste the link error so others can give some idea about
debugging it.
> ---
> package/mesa3d/Config.in | 13 +++++++++++++
> package/mesa3d/mesa3d.mk | 1 +
> 2 files changed, 14 insertions(+)
>
> diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
> index 5da9bfe08a..66776c9ad9 100644
> --- a/package/mesa3d/Config.in
> +++ b/package/mesa3d/Config.in
> @@ -429,6 +429,19 @@ comment "intel vulkan depends on X.org and needs a glibc toolchain w/ headers >=
> depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 || \
> !BR2_TOOLCHAIN_USES_GLIBC || !BR2_PACKAGE_XORG7
>
> +config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_SWRAST
> + bool "Vulkan swrast driver"
> + depends on !BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST
These kind of dependencies are somewhat annoying, but OK. Fortunately,
dri-swrast was removed upstream, so it's no longer relevant.
> + select BR2_PACKAGE_EXPAT
> + select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
Implied by gallium-swrast.
Regards,
Arnout
> + select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST
> + select BR2_PACKAGE_MESA3D_VULKAN_DRIVER
> + help
> + Vulkan swrast driver.
> +
> +comment "Vulkan swrast: Only one swrast provider can be built"
> + depends on BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST
> +
> comment "Off-screen Rendering"
>
> config BR2_PACKAGE_MESA3D_OSMESA_CLASSIC
> diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
> index 62dc7db91d..4679416b4d 100644
> --- a/package/mesa3d/mesa3d.mk
> +++ b/package/mesa3d/mesa3d.mk
> @@ -121,6 +121,7 @@ MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON) += r100
> # Vulkan Drivers
> MESA3D_VULKAN_DRIVERS-$(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_BROADCOM) += broadcom
> MESA3D_VULKAN_DRIVERS-$(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL) += intel
> +MESA3D_VULKAN_DRIVERS-$(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_SWRAST) += swrast
>
> ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER),)
> MESA3D_CONF_OPTS += \
>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2022-01-09 21:47 UTC | newest]
Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-10 22:28 [Buildroot] [RFC v2 00/12] Vulkan support Peter Seiderer
2021-01-10 22:28 ` [Buildroot] [RFC v2 01/12] package/mesa3d: add config option for DRI3 support Peter Seiderer
2021-01-10 22:28 ` [Buildroot] [RFC v2 02/12] package/mesa3d: fix vulkan/intel dependencies Peter Seiderer
2022-01-09 18:09 ` Arnout Vandecappelle
2021-01-10 22:28 ` [Buildroot] [RFC v2 03/12] package/mesa3d: fix gbm config warning Peter Seiderer
2022-01-09 20:19 ` Arnout Vandecappelle
2021-01-10 22:28 ` [Buildroot] [RFC v2 04/12] package/mesa3d: DRI3 with GLX needs xshmfence Peter Seiderer
2022-01-09 20:23 ` Arnout Vandecappelle
2021-01-10 22:28 ` [Buildroot] [RFC v2 05/12] package/vulkan-headers: new package Peter Seiderer
2022-01-09 20:30 ` Arnout Vandecappelle
2021-01-10 22:28 ` [Buildroot] [RFC v2 06/12] package/vulkan-loader: " Peter Seiderer
2022-01-09 21:00 ` Arnout Vandecappelle
2021-01-10 22:28 ` [Buildroot] [RFC v2 07/12] package/vulkan-tools: " Peter Seiderer
2022-01-09 21:02 ` Arnout Vandecappelle
2021-01-10 22:28 ` [Buildroot] [RFC v2 08/12] package/mesa3d: add vulkan broadcom driver support Peter Seiderer
2021-01-10 22:28 ` [Buildroot] [RFC v2 09/12] package/qt5base: add vulkan option Peter Seiderer
2022-01-09 21:31 ` Arnout Vandecappelle
2021-01-10 22:28 ` [Buildroot] [RFC v2 10/12] package/vulkan-loader: add XCB support Peter Seiderer
2022-01-09 21:33 ` Arnout Vandecappelle
2021-01-10 22:28 ` [Buildroot] [RFC v2 11/12] package/vulkan-tools: " Peter Seiderer
2022-01-09 21:36 ` Arnout Vandecappelle
2021-01-10 22:28 ` [Buildroot] [RFC v2 12/12] WIP: package/mesa3d: add vulkan swrast driver support Peter Seiderer
2022-01-09 21:47 ` Arnout Vandecappelle
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.