mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-30 14:01:57 -09:00
package/mesa3d: rework dri3 handling
While fixing a build error ../src/egl/drivers/dri2/platform_x11.c: In function 'dri2_x11_get_msc_rate': ../src/egl/drivers/dri2/platform_x11.c:1229:44: error: 'struct dri2_egl_display' has no member named 'screen_resources' with this defconfig: BR2_x86_64=y BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_PACKAGE_MESA3D=y BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS=y BR2_PACKAGE_MESA3D_OPENGL_GLX=y BR2_PACKAGE_MESA3D_OPENGL_EGL=y BR2_PACKAGE_MESA3D_OPENGL_ES=y BR2_PACKAGE_XORG7=y (crocus and i915 drivers are also affected) it turns out that we can assume the need for dri3 support when X.org is enabled as a hard depen- dency even if mesa3d's configure does not throw errors when missing, like for the Intel drivers. Before this patch these Config.in options were used: config BR2_PACKAGE_MESA3D_DRI3 select BR2_PACKAGE_XLIB_LIBXSHMFENCE select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7 which can be translated into: select BR2_PACKAGE_XLIB_LIBXSHMFENCE if BR2_PACKAGE_XORG7 and used at option BR2_PACKAGE_MESA3D_DRIVER. Configure option -Ddri3=enabled is passed to mesa3d when at least one driver is enabled along with X.org: ifeq ($(BR2_PACKAGE_MESA3D_DRIVER)$(BR2_PACKAGE_XORG7),yy) Signed-off-by: Bernd Kuhls <bernd@kuhls.net> Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
This commit is contained in:
committed by
Arnout Vandecappelle
parent
773ef1fdba
commit
e2f87b3c15
@@ -56,11 +56,7 @@ config BR2_PACKAGE_MESA3D_OPENCL
|
|||||||
select BR2_PACKAGE_LIBCLC
|
select BR2_PACKAGE_LIBCLC
|
||||||
select BR2_PACKAGE_HAS_LIBOPENCL
|
select BR2_PACKAGE_HAS_LIBOPENCL
|
||||||
|
|
||||||
# inform the .mk file of gallium, dri, dri3 or vulkan driver selection
|
# inform the .mk file of gallium or vulkan driver selection
|
||||||
config BR2_PACKAGE_MESA3D_DRI3
|
|
||||||
bool
|
|
||||||
select BR2_PACKAGE_XLIB_LIBXSHMFENCE
|
|
||||||
|
|
||||||
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
||||||
bool
|
bool
|
||||||
select BR2_PACKAGE_MESA3D_DRIVER
|
select BR2_PACKAGE_MESA3D_DRIVER
|
||||||
@@ -71,6 +67,7 @@ config BR2_PACKAGE_MESA3D_VULKAN_DRIVER
|
|||||||
|
|
||||||
config BR2_PACKAGE_MESA3D_DRIVER
|
config BR2_PACKAGE_MESA3D_DRIVER
|
||||||
bool
|
bool
|
||||||
|
select BR2_PACKAGE_XLIB_LIBXSHMFENCE if BR2_PACKAGE_XORG7
|
||||||
|
|
||||||
# Gallium xa state tracker.
|
# Gallium xa state tracker.
|
||||||
# Quote from mesa3d meson.build: "XA state tracker requires at least
|
# Quote from mesa3d meson.build: "XA state tracker requires at least
|
||||||
@@ -103,7 +100,6 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_CROCUS
|
|||||||
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV
|
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV
|
||||||
bool "Gallium Etnaviv driver"
|
bool "Gallium Etnaviv driver"
|
||||||
depends on (BR2_TOOLCHAIN_HAS_SYNC_4 && !BR2_RISCV_32) || !BR2_PACKAGE_XORG7 # libxshmfence
|
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_GALLIUM_DRIVER
|
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
||||||
select BR2_PACKAGE_LIBDRM_ETNAVIV
|
select BR2_PACKAGE_LIBDRM_ETNAVIV
|
||||||
help
|
help
|
||||||
@@ -117,7 +113,6 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_FREEDRENO
|
|||||||
# can't see is just spurious. However, that dependency is about
|
# can't see is just spurious. However, that dependency is about
|
||||||
# the toolchain having sync4 primitives, which is always a given
|
# the toolchain having sync4 primitives, which is always a given
|
||||||
# for arm/aarch64.
|
# for arm/aarch64.
|
||||||
select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7
|
|
||||||
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
||||||
select BR2_PACKAGE_LIBDRM_FREEDRENO
|
select BR2_PACKAGE_LIBDRM_FREEDRENO
|
||||||
help
|
help
|
||||||
@@ -141,7 +136,6 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS
|
|||||||
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LIMA
|
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LIMA
|
||||||
bool "Gallium lima driver"
|
bool "Gallium lima driver"
|
||||||
depends on (BR2_TOOLCHAIN_HAS_SYNC_4 && !BR2_RISCV_32) || !BR2_PACKAGE_XORG7 # libxshmfence
|
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_GALLIUM_DRIVER
|
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
||||||
help
|
help
|
||||||
Mesa driver for ARM Mali Utgard GPUs.
|
Mesa driver for ARM Mali Utgard GPUs.
|
||||||
@@ -158,7 +152,6 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU
|
|||||||
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PANFROST
|
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PANFROST
|
||||||
bool "Gallium panfrost driver"
|
bool "Gallium panfrost driver"
|
||||||
depends on (BR2_TOOLCHAIN_HAS_SYNC_4 && !BR2_RISCV_32) || !BR2_PACKAGE_XORG7 # libxshmfence
|
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_GALLIUM_DRIVER
|
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
||||||
help
|
help
|
||||||
Mesa driver for ARM Mali Midgard and Bifrost GPUs.
|
Mesa driver for ARM Mali Midgard and Bifrost GPUs.
|
||||||
@@ -239,7 +232,6 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D
|
|||||||
bool "Gallium v3d driver"
|
bool "Gallium v3d driver"
|
||||||
depends on (BR2_arm && BR2_ARM_CPU_HAS_NEON) || BR2_aarch64
|
depends on (BR2_arm && BR2_ARM_CPU_HAS_NEON) || BR2_aarch64
|
||||||
depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence
|
depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence
|
||||||
select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7
|
|
||||||
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
||||||
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4 # runtime
|
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4 # runtime
|
||||||
select BR2_PACKAGE_MESA3D_OPENGL_EGL
|
select BR2_PACKAGE_MESA3D_OPENGL_EGL
|
||||||
@@ -255,7 +247,6 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4
|
|||||||
bool "Gallium vc4 driver"
|
bool "Gallium vc4 driver"
|
||||||
depends on (BR2_arm && BR2_ARM_CPU_HAS_NEON) || BR2_aarch64
|
depends on (BR2_arm && BR2_ARM_CPU_HAS_NEON) || BR2_aarch64
|
||||||
depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence
|
depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence
|
||||||
select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7
|
|
||||||
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
||||||
select BR2_PACKAGE_LIBDRM_VC4
|
select BR2_PACKAGE_LIBDRM_VC4
|
||||||
select BR2_PACKAGE_MESA3D_OPENGL_EGL
|
select BR2_PACKAGE_MESA3D_OPENGL_EGL
|
||||||
@@ -295,7 +286,6 @@ config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_BROADCOM
|
|||||||
bool "Vulkan broadcom driver"
|
bool "Vulkan broadcom driver"
|
||||||
depends on BR2_arm || BR2_aarch64
|
depends on BR2_arm || BR2_aarch64
|
||||||
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # dri3/libxshmfence
|
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # dri3/libxshmfence
|
||||||
select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7
|
|
||||||
select BR2_PACKAGE_MESA3D_VULKAN_DRIVER
|
select BR2_PACKAGE_MESA3D_VULKAN_DRIVER
|
||||||
help
|
help
|
||||||
Vulkan broadcom driver.
|
Vulkan broadcom driver.
|
||||||
@@ -306,7 +296,6 @@ config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL
|
|||||||
depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence
|
depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence
|
||||||
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # memfd.h
|
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # memfd.h
|
||||||
depends on BR2_TOOLCHAIN_USES_GLIBC # ifunc, static_assert
|
depends on BR2_TOOLCHAIN_USES_GLIBC # ifunc, static_assert
|
||||||
select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7
|
|
||||||
select BR2_PACKAGE_MESA3D_VULKAN_DRIVER
|
select BR2_PACKAGE_MESA3D_VULKAN_DRIVER
|
||||||
help
|
help
|
||||||
Vulkan driver for Intel hardware from Ivy Bridge onward.
|
Vulkan driver for Intel hardware from Ivy Bridge onward.
|
||||||
|
|||||||
@@ -29,11 +29,9 @@ MESA3D_CONF_OPTS = \
|
|||||||
-Dgallium-omx=disabled \
|
-Dgallium-omx=disabled \
|
||||||
-Dpower8=disabled
|
-Dpower8=disabled
|
||||||
|
|
||||||
ifeq ($(BR2_PACKAGE_MESA3D_DRI3),y)
|
ifeq ($(BR2_PACKAGE_MESA3D_DRIVER)$(BR2_PACKAGE_XORG7),yy)
|
||||||
MESA3D_CONF_OPTS += -Ddri3=enabled
|
MESA3D_CONF_OPTS += -Ddri3=enabled
|
||||||
ifeq ($(BR2_PACKAGE_XLIB_LIBXSHMFENCE),y)
|
|
||||||
MESA3D_DEPENDENCIES += xlib_libxshmfence
|
MESA3D_DEPENDENCIES += xlib_libxshmfence
|
||||||
endif
|
|
||||||
else
|
else
|
||||||
MESA3D_CONF_OPTS += -Ddri3=disabled
|
MESA3D_CONF_OPTS += -Ddri3=disabled
|
||||||
endif
|
endif
|
||||||
|
|||||||
Reference in New Issue
Block a user