bump version to 2022.02.9

add miyoo_defconfig
This commit is contained in:
tiopex
2023-01-31 13:11:45 +01:00
parent 1fa746c353
commit dcdaa3599c
8423 changed files with 184305 additions and 91107 deletions

View File

@@ -17,23 +17,25 @@ that they are not removed by Buildroot target-finalize logic.
Based on the patch for autotools provided by Valentin Korenblit.
Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[rebased for 20.2.0 & 20.3.0]
---
src/gallium/state_trackers/clover/meson.build | 2 +-
src/gallium/frontends/clover/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gallium/state_trackers/clover/meson.build b/src/gallium/state_trackers/clover/meson.build
diff --git a/src/gallium/frontends/clover/meson.build b/src/gallium/frontends/clover/meson.build
index 62ac5f5278d..ecdeb39669c 100644
--- a/src/gallium/state_trackers/clover/meson.build
+++ b/src/gallium/state_trackers/clover/meson.build
@@ -64,7 +64,7 @@
clover_opencl_cpp_args,
clover_spirv_cpp_args,
cpp_vis_args,
- '-DLIBCLC_INCLUDEDIR="@0@/"'.format(dep_clc.get_pkgconfig_variable('includedir')),
+ '-DLIBCLC_INCLUDEDIR="/usr/share"',
'-DLIBCLC_LIBEXECDIR="@0@/"'.format(dep_clc.get_pkgconfig_variable('libexecdir')),
'-DCLANG_RESOURCE_DIR="@0@"'.format(join_paths(
dep_llvm.get_configtool_variable('libdir'), 'clang',
--- a/src/gallium/frontends/clover/meson.build
+++ b/src/gallium/frontends/clover/meson.build
@@ -27,7 +27,7 @@
'-DCL_USE_DEPRECATED_OPENCL_2_0_APIS',
'-DCL_USE_DEPRECATED_OPENCL_2_1_APIS',
'-DCL_USE_DEPRECATED_OPENCL_2_2_APIS',
- '-DLIBCLC_INCLUDEDIR="@0@/"'.format(dep_clc.get_variable(pkgconfig : 'includedir')),
+ '-DLIBCLC_INCLUDEDIR="/usr/share"',
'-DLIBCLC_LIBEXECDIR="@0@/"'.format(dep_clc.get_variable(pkgconfig : 'libexecdir'))
]
clover_spirv_cpp_args = []
--
2.20.1

View File

@@ -9,6 +9,8 @@ to force disabling it at compile time.
[Upstream: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4114]
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[rebased for 20.2.0, 20.3.0 & 21.1.0]
---
meson_options.txt | 7 +++++++
src/gallium/drivers/vc4/meson.build | 4 ++--
@@ -19,9 +21,9 @@ diff --git a/meson_options.txt b/meson_options.txt
index a39596a6f19..0f6b6c62b55 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -117,6 +117,13 @@ option(
choices : ['auto', 'true', 'false'],
description : 'enable gallium va state tracker.',
@@ -123,6 +123,13 @@ option(
choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
description : 'enable gallium va frontend.',
)
+option(
+ 'gallium-vc4-neon',
@@ -65,7 +67,7 @@ index 66767e7f1f8..7446f1c3d0c 100644
{
-#ifdef USE_ARM_ASM
+#ifdef VC4_TILING_LT_NEON
if (util_cpu_caps.has_neon) {
if (util_get_cpu_caps()->has_neon) {
vc4_load_lt_image_neon(dst, dst_stride, src, src_stride,
cpp, box);
@@ -105,7 +105,7 @@ vc4_store_lt_image(void *dst, uint32_t dst_stride,
@@ -74,7 +76,7 @@ index 66767e7f1f8..7446f1c3d0c 100644
{
-#ifdef USE_ARM_ASM
+#ifdef VC4_TILING_LT_NEON
if (util_cpu_caps.has_neon) {
if (util_get_cpu_caps()->has_neon) {
vc4_store_lt_image_neon(dst, dst_stride, src, src_stride,
cpp, box);
--

View File

@@ -0,0 +1,40 @@
From fdc8b5a205e2116408aeb9fd305e57f656e2e89d Mon Sep 17 00:00:00 2001
From: Bernd Kuhls <bernd.kuhls@t-online.de>
Date: Sun, 9 Aug 2020 17:06:26 +0200
Subject: [PATCH] src/util/rand_xor: Include stddef.h to fix build error
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Fixes
In file included from ../src/util/rand_xor.c:29:
output/host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/sys/random.h:27:35:
error: unknown type name size_t
extern int getrandom(void *__buf, size_t count, unsigned int flags)
seen with gcc version 8.3.0 (Buildroot 2020.02) and uClibc.
Patch sent upstream:
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6248
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
src/util/rand_xor.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/util/rand_xor.c b/src/util/rand_xor.c
index 81b64f1ea71..fcb481487fa 100644
--- a/src/util/rand_xor.c
+++ b/src/util/rand_xor.c
@@ -25,6 +25,7 @@
#include "detect_os.h"
#if !DETECT_OS_WINDOWS
+#include <stddef.h>
#if defined(HAVE_GETRANDOM)
#include <sys/random.h>
#endif
--
2.27.0

View File

@@ -0,0 +1,43 @@
From e501b7c17ada9c694d3f8302622b78d733485b38 Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Sat, 21 Aug 2021 17:55:33 +0200
Subject: [PATCH] src/util/futex.h: fix build on 32-bit architectures using
64-bit time_t
Fix the following build failure on 32-bit architectures using 64-bit
time_t (e.g. riscv32):
../src/util/futex.h: In function 'sys_futex':
../src/util/futex.h:39:19: error: 'SYS_futex' undeclared (first use in this function); did you mean 'sys_futex'?
39 | return syscall(SYS_futex, addr1, op, val1, timeout, addr2, val3);
| ^~~~~~~~~
| sys_futex
Fixes:
- http://autobuild.buildroot.org/results/692700a5f967760a0b8cd358b1712f1d5a7b681e
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Upstream status:
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12496]
---
src/util/futex.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/util/futex.h b/src/util/futex.h
index 43097f4cd5b..221eda9db0c 100644
--- a/src/util/futex.h
+++ b/src/util/futex.h
@@ -34,6 +34,10 @@
#include <sys/syscall.h>
#include <sys/time.h>
+#ifndef SYS_futex
+#define SYS_futex SYS_futex_time64
+#endif
+
static inline long sys_futex(void *addr1, int op, int val1, const struct timespec *timeout, void *addr2, int val3)
{
return syscall(SYS_futex, addr1, op, val1, timeout, addr2, val3);
--
2.32.0

View File

@@ -0,0 +1,37 @@
From f6892df8eb115fa712fd69068432b48b028e1e54 Mon Sep 17 00:00:00 2001
From: Bernd Kuhls <bernd.kuhls@t-online.de>
Date: Sat, 20 Nov 2021 22:48:54 +0100
Subject: [PATCH] util/u_printf.h: fix build
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Fixes build error with uClibc and gcc-9.3.0:
In file included from ../src/util/u_printf.cpp:24:
../src/util/u_printf.h:43:41: error: va_list has not been declared
43 | size_t u_printf_length(const char *fmt, va_list untouched_args);
Patch sent upstream:
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13897
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
src/util/u_printf.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/util/u_printf.h b/src/util/u_printf.h
index 44dcce5529f..14f324de10c 100644
--- a/src/util/u_printf.h
+++ b/src/util/u_printf.h
@@ -25,6 +25,7 @@
#ifdef __cplusplus
#include <string>
+#include <stdarg.h>
/* find next valid printf specifier in a C++ std::string */
size_t util_printf_next_spec_pos(const std::string &s, size_t pos);
--
GitLab

View File

@@ -0,0 +1,40 @@
From ab5519971a090863f8c559907766e0b2382e0471 Mon Sep 17 00:00:00 2001
From: Bernd Kuhls <bernd.kuhls@t-online.de>
Date: Sat, 20 Nov 2021 23:02:18 +0100
Subject: [PATCH] c11_compat.h: fix uClibc build
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Fixes build error with uClibc and gcc-9.3.0:
../src/egl/main/egldisplay.c: In function _eglGetNativePlatformFromEnv:
../src/egl/main/egldisplay.c:101:4: error: implicit declaration of function static_assert [-Werror=implicit-function-declaration]
101 | static_assert(ARRAY_SIZE(egl_platforms) == _EGL_NUM_PLATFORMS,
CC: 21.3 <mesa-stable>
Patch sent upstream:
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13898
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
include/c11_compat.h | 2 --
1 file changed, 2 deletions(-)
diff --git a/include/c11_compat.h b/include/c11_compat.h
index d35740f47a4..cdcd3f1f52f 100644
--- a/include/c11_compat.h
+++ b/include/c11_compat.h
@@ -8,8 +8,6 @@
#if defined(__cplusplus)
/* This is C++ code, not C */
-#elif (__STDC_VERSION__ >= 201112L)
- /* Already C11 */
#else
--
GitLab

View File

@@ -4,8 +4,9 @@ menuconfig BR2_PACKAGE_MESA3D
depends on !BR2_STATIC_LIBS
depends on BR2_TOOLCHAIN_HAS_SYNC_1
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
select BR2_PACKAGE_LIBDRM
depends on !BR2_m68k || BR2_TOOLCHAIN_GCC_AT_LEAST_7 # m68k needs gcc >= 7.x
select BR2_PACKAGE_EXPAT
select BR2_PACKAGE_LIBDRM
select BR2_PACKAGE_WAYLAND_PROTOCOLS if BR2_PACKAGE_WAYLAND
select BR2_PACKAGE_ZLIB
help
@@ -53,20 +54,24 @@ config BR2_PACKAGE_MESA3D_OPENCL
select BR2_PACKAGE_LIBCLC
select BR2_PACKAGE_HAS_LIBOPENCL
# inform the .mk file of gallium, dri or vulkan driver selection
# inform the .mk file of gallium, dri, dri3 or vulkan driver selection
config BR2_PACKAGE_MESA3D_DRI3
bool
select BR2_PACKAGE_XLIB_LIBXSHMFENCE
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
bool
select BR2_PACKAGE_MESA3D_DRIVER
config BR2_PACKAGE_MESA3D_DRI_DRIVER
bool
select BR2_PACKAGE_MESA3D_DRI3 if \
(BR2_PACKAGE_XORG7 && BR2_TOOLCHAIN_HAS_SYNC_4 && \
!BR2_RISCV_32)
select BR2_PACKAGE_MESA3D_DRIVER
select BR2_PACKAGE_MESA3D_GBM if \
!BR2_PACKAGE_MESA3D_OPENGL_GLX && \
!BR2_PACKAGE_MESA3D_OPENGL_EGL && \
!BR2_PACKAGE_MESA3D_OSMESA_CLASSIC
select BR2_PACKAGE_XLIB_LIBXSHMFENCE if \
(BR2_PACKAGE_XORG7 && BR2_TOOLCHAIN_HAS_SYNC_4)
!BR2_PACKAGE_MESA3D_OPENGL_EGL
config BR2_PACKAGE_MESA3D_VULKAN_DRIVER
bool
@@ -81,11 +86,6 @@ config BR2_PACKAGE_MESA3D_DRIVER
config BR2_PACKAGE_MESA3D_NEEDS_XA
bool
# Quote from mesa3d meson.build: "kmsro driver requires one or more
# renderonly drivers (vc4, etnaviv, freedreno)".
config BR2_PACKAGE_MESA3D_GALLIUM_KMSRO
bool
# OpenGL GLX and Gallium VDPAU both needs X11
config BR2_PACKAGE_MESA3D_NEEDS_X11
bool
@@ -101,11 +101,19 @@ config BR2_PACKAGE_MESA3D_NEEDS_X11
comment "Gallium drivers"
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_CROCUS
bool "Gallium crocus driver"
depends on BR2_i386 || BR2_x86_64
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
help
Mesa driver for gen4-7 Intel GPUs.
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV
bool "Gallium Etnaviv driver"
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_LIBDRM_ETNAVIV
select BR2_PACKAGE_MESA3D_GALLIUM_KMSRO
help
Mesa driver for Vivante GPUs.
@@ -117,9 +125,9 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_FREEDRENO
# can't see is just spurious. However, that dependency is about
# the toolchain having sync4 primitives, which is always a given
# for arm/aarch64.
select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
select BR2_PACKAGE_LIBDRM_FREEDRENO
select BR2_PACKAGE_MESA3D_GALLIUM_KMSRO
help
Mesa driver for Freedreno GPUs.
@@ -143,20 +151,11 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS
help
Mesa driver for iris-based Intel GPUs.
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_KMSRO
bool "Gallium KMSRO driver"
depends on BR2_PACKAGE_MESA3D_GALLIUM_KMSRO
help
Support various sorts of KMS displays with the
renderonly layer used to attach a GPU.
comment "Gallium KMSRO needs one or more renderonly drivers"
depends on !BR2_PACKAGE_MESA3D_GALLIUM_KMSRO
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LIMA
bool "Gallium lima driver"
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_KMSRO
help
Mesa driver for ARM Mali Utgard GPUs.
@@ -171,8 +170,9 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PANFROST
bool "Gallium panfrost driver"
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_KMSRO
help
Mesa driver for ARM Mali Midgard and Bifrost GPUs.
@@ -242,15 +242,11 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SVGA
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST
bool "Gallium swrast driver"
depends on !BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
help
This is a software opengl implementation using the Gallium3D
infrastructure.
comment "Gallium swrast: Only one swrast provider can be built"
depends on BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_TEGRA
bool "Gallium tegra driver"
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
@@ -263,12 +259,13 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_TEGRA
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D
bool "Gallium v3d driver"
depends on (BR2_arm && BR2_ARM_CPU_HAS_NEON) || BR2_aarch64
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_KMSRO
select BR2_PACKAGE_LIBDRM_VC4
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4 # runtime
select BR2_PACKAGE_MESA3D_OPENGL_EGL
help
Driver for Broadcom VC6 (rpi4) GPUs (needs kmsro and vc4).
Driver for Broadcom VC6 (rpi4) GPUs (needs vc4).
It requires a kernel 4.18+ with DRM V3D support enabled:
@@ -277,9 +274,10 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4
bool "Gallium vc4 driver"
depends on BR2_arm || BR2_aarch64
depends on (BR2_arm && BR2_ARM_CPU_HAS_NEON) || BR2_aarch64
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_KMSRO
select BR2_PACKAGE_LIBDRM_VC4
select BR2_PACKAGE_MESA3D_OPENGL_EGL
help
@@ -334,13 +332,6 @@ comment "Gallium XvMC state tracker needs X.org and gallium drivers r600 or nouv
comment "DRI drivers"
config BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST
bool "DRI swrast driver"
select BR2_PACKAGE_MESA3D_DRI_DRIVER
help
This is a software opengl implementation using the DRI
infrastructure.
config BR2_PACKAGE_MESA3D_DRI_DRIVER_I915
bool "DRI i915 driver"
depends on BR2_i386 || BR2_x86_64
@@ -387,29 +378,27 @@ 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 # 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_USES_GLIBC # ifunc, static_assert
depends on BR2_PACKAGE_XORG7 # xorgproto
select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7
select BR2_PACKAGE_MESA3D_VULKAN_DRIVER
select BR2_PACKAGE_XORGPROTO
select BR2_PACKAGE_XLIB_LIBXSHMFENCE
help
Vulkan driver for Intel hardware from Ivy Bridge onward.
comment "intel vulkan depends on X.org and needs a glibc toolchain w/ headers >= 3.17"
comment "intel vulkan needs a glibc toolchain w/ headers >= 3.17"
depends on BR2_i386 || BR2_x86_64
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7
depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 || \
!BR2_TOOLCHAIN_USES_GLIBC || !BR2_PACKAGE_XORG7
!BR2_TOOLCHAIN_USES_GLIBC
comment "Off-screen Rendering"
config BR2_PACKAGE_MESA3D_OSMESA_CLASSIC
bool "OSMesa (classic) library"
config BR2_PACKAGE_MESA3D_OSMESA_GALLIUM
bool "OSMesa (Gallium) library"
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST
help
The OSMesa classic API provides functions for
making off-screen renderings.
The OSMesa API provides functions for off-screen rendering.
if BR2_PACKAGE_MESA3D_DRIVER
@@ -419,6 +408,9 @@ config BR2_PACKAGE_MESA3D_GBM
bool "gbm"
depends on BR2_PACKAGE_MESA3D_DRI_DRIVER \
|| (BR2_PACKAGE_MESA3D_GALLIUM_DRIVER && BR2_PACKAGE_MESA3D_OPENGL_EGL)
select BR2_PACKAGE_HAS_LIBGBM
select BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_MODIFIER_PLANE_COUNT
select BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF
help
Enable Generic Buffer Management (gbm)
@@ -429,7 +421,8 @@ comment "gbm support needs a dri driver or a gallium driver w/ EGL support."
config BR2_PACKAGE_MESA3D_OPENGL_GLX
bool "OpenGL GLX"
depends on BR2_PACKAGE_XORG7
select BR2_PACKAGE_HAS_LIBGL
select BR2_PACKAGE_HAS_LIBGL if !BR2_PACKAGE_LIBGLVND
select BR2_PACKAGE_LIBGLVND_DISPATCH_GL if BR2_PACKAGE_LIBGLVND
select BR2_PACKAGE_MESA3D_NEEDS_X11
help
Enable GLX graphic acceleration (OpenGL + X11).
@@ -439,7 +432,9 @@ comment "OpenGL GLX support needs X11"
config BR2_PACKAGE_MESA3D_OPENGL_EGL
bool "OpenGL EGL"
select BR2_PACKAGE_HAS_LIBEGL
depends on BR2_PACKAGE_MESA3D_DRI_DRIVER || BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
select BR2_PACKAGE_HAS_LIBEGL if !BR2_PACKAGE_LIBGLVND
select BR2_PACKAGE_LIBGLVND_DISPATCH_EGL if BR2_PACKAGE_LIBGLVND
select BR2_PACKAGE_HAS_LIBEGL_WAYLAND
select BR2_PACKAGE_MESA3D_GBM
help
@@ -448,21 +443,25 @@ config BR2_PACKAGE_MESA3D_OPENGL_EGL
config BR2_PACKAGE_MESA3D_OPENGL_ES
bool "OpenGL ES"
select BR2_PACKAGE_HAS_LIBGLES
select BR2_PACKAGE_HAS_LIBGLES if !BR2_PACKAGE_LIBGLVND
select BR2_PACKAGE_LIBGLVND_DISPATCH_GLES if BR2_PACKAGE_LIBGLVND
help
Use the Khronos OpenGL ES APIs. This is commonly used on
embedded systems and represents a subset of the OpenGL API.
endif # BR2_PACKAGE_MESA3D_DRIVER
config BR2_PACKAGE_PROVIDES_LIBGBM
default "mesa3d" if BR2_PACKAGE_MESA3D_GBM
config BR2_PACKAGE_PROVIDES_LIBGL
default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_GLX
default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_GLX && !BR2_PACKAGE_LIBGLVND
config BR2_PACKAGE_PROVIDES_LIBEGL
default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_EGL
default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_EGL && !BR2_PACKAGE_LIBGLVND
config BR2_PACKAGE_PROVIDES_LIBGLES
default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_ES
default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_ES && !BR2_PACKAGE_LIBGLVND
config BR2_PACKAGE_PROVIDES_LIBOPENCL
default "mesa3d" if BR2_PACKAGE_MESA3D_OPENCL
@@ -473,3 +472,7 @@ comment "mesa3d needs a toolchain w/ C++, NPTL, dynamic library"
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
BR2_STATIC_LIBS
depends on BR2_TOOLCHAIN_HAS_SYNC_1
comment "mesa3d needs a toolchain w/ gcc >= 7"
depends on BR2_m68k
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_7

View File

@@ -1,6 +1,6 @@
# From https://lists.freedesktop.org/archives/mesa-announce/2020-September/000601.html
sha256 b251ca0769b722058986640d48f8457c596142cfbee1a83cba91b83391427382 mesa-20.1.9.tar.xz
sha512 0fb8ceff3c91ad2076efb0b2ac7e95d2d72ff1df955eb8fedf712ceaa7f49184eae9958072edd872f5c38adbaeb867988f67627b33da8b208706f69325d7e260 mesa-20.1.9.tar.xz
# From https://lists.freedesktop.org/archives/mesa-announce/2022-January/000660.html
sha256 d93b2a9d2464ee856d7637a07dff6b7cd950f295ad58518bb959f76882cf4a4c mesa-21.3.5.tar.xz
sha512 417d1787f8177567f0c547dde3e24212f7497f2fe7cdaa945fe998cd61ec0e9eb9388feb444e377c4fd8794b056af02aac28d1bbfb9527844391ba49e6893933 mesa-21.3.5.tar.xz
# License
sha256 1ddae7da415352a5b5360ff3a9d7ecf23ba81408f62eeecce0011f32e3ef9da6 docs/license.html
sha256 998437f3f75f0c542046f83c1cb349408122268168fb13eb4ae6967aa18b7d98 docs/license.rst

View File

@@ -5,11 +5,13 @@
################################################################################
# When updating the version, please also update mesa3d-headers
MESA3D_VERSION = 20.1.9
MESA3D_VERSION = 21.3.5
MESA3D_SOURCE = mesa-$(MESA3D_VERSION).tar.xz
MESA3D_SITE = https://mesa.freedesktop.org/archive
MESA3D_SITE = https://archive.mesa3d.org
MESA3D_LICENSE = MIT, SGI, Khronos
MESA3D_LICENSE_FILES = docs/license.html
MESA3D_LICENSE_FILES = docs/license.rst
MESA3D_CPE_ID_VENDOR = mesa3d
MESA3D_CPE_ID_PRODUCT = mesa
MESA3D_INSTALL_STAGING = YES
@@ -18,14 +20,14 @@ MESA3D_PROVIDES =
MESA3D_DEPENDENCIES = \
host-bison \
host-flex \
host-python3-mako \
host-python-mako \
expat \
libdrm \
zlib
MESA3D_CONF_OPTS = \
-Dgallium-omx=disabled \
-Dpower8=false
-Dpower8=disabled
# Codesourcery ARM 2014.05 fail to link libmesa_dri_drivers.so with --as-needed linker
# flag due to a linker bug between binutils 2.24 and 2.25 (2.24.51.20140217).
@@ -33,13 +35,27 @@ 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
ifeq ($(BR2_PACKAGE_XLIB_LIBXSHMFENCE),y)
MESA3D_DEPENDENCIES += xlib_libxshmfence
endif
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'
MESA3D_CONF_OPTS += -Dllvm=true
MESA3D_CONF_OPTS += -Dllvm=enabled
ifeq ($(BR2_PACKAGE_LLVM_RTTI),y)
MESA3D_CONF_OPTS += -Dcpp_rtti=true
else
MESA3D_CONF_OPTS += -Dcpp_rtti=false
endif
else
# Avoid automatic search of llvm-config
MESA3D_CONF_OPTS += -Dllvm=false
MESA3D_CONF_OPTS += -Dllvm=disabled
endif
# Disable opencl-icd: OpenCL lib will be named libOpenCL instead of
@@ -62,16 +78,19 @@ ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_GLX),y)
# dri : dri based GLX requires at least one DRI driver || dri based GLX requires shared-glapi
# xlib : xlib conflicts with any dri driver
# gallium-xlib : Gallium-xlib based GLX requires at least one gallium driver || Gallium-xlib based GLX requires softpipe or llvmpipe || gallium-xlib conflicts with any dri driver.
MESA3D_CONF_OPTS += -Dglx=dri
# Always enable glx-direct; without it, many GLX applications don't work.
MESA3D_CONF_OPTS += \
-Dglx=dri \
-Dglx-direct=true
ifeq ($(BR2_PACKAGE_MESA3D_NEEDS_XA),y)
MESA3D_CONF_OPTS += -Dgallium-xa=true
MESA3D_CONF_OPTS += -Dgallium-xa=enabled
else
MESA3D_CONF_OPTS += -Dgallium-xa=false
MESA3D_CONF_OPTS += -Dgallium-xa=disabled
endif
else
MESA3D_CONF_OPTS += \
-Dglx=disabled \
-Dgallium-xa=false
-Dgallium-xa=disabled
endif
ifeq ($(BR2_ARM_CPU_HAS_NEON),y)
@@ -83,11 +102,11 @@ endif
# Drivers
#Gallium Drivers
MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_CROCUS) += crocus
MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV) += etnaviv
MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_FREEDRENO) += freedreno
MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_I915) += i915
MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS) += iris
MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_KMSRO) += kmsro
MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LIMA) += lima
MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU) += nouveau
MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PANFROST) += panfrost
@@ -101,7 +120,6 @@ MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D) += v3d
MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4) += vc4
MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL) += virgl
# DRI Drivers
MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST) += swrast
MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_I915) += i915
MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_I965) += i965
MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_NOUVEAU) += nouveau
@@ -115,24 +133,17 @@ MESA3D_CONF_OPTS += \
-Dgallium-extra-hud=false
else
MESA3D_CONF_OPTS += \
-Dshared-glapi=true \
-Dshared-glapi=enabled \
-Dgallium-drivers=$(subst $(space),$(comma),$(MESA3D_GALLIUM_DRIVERS-y)) \
-Dgallium-extra-hud=true
endif
ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),)
MESA3D_CONF_OPTS += \
-Ddri-drivers= -Ddri3=false
-Ddri-drivers=
else
ifeq ($(BR2_PACKAGE_XLIB_LIBXSHMFENCE),y)
MESA3D_DEPENDENCIES += xlib_libxshmfence
MESA3D_CONF_OPTS += -Ddri3=true
else
MESA3D_CONF_OPTS += -Ddri3=false
endif
MESA3D_CONF_OPTS += \
-Dshared-glapi=true \
-Dglx-direct=true \
-Dshared-glapi=enabled \
-Ddri-drivers=$(subst $(space),$(comma),$(MESA3D_DRI_DRIVERS-y))
endif
@@ -140,18 +151,16 @@ ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER),)
MESA3D_CONF_OPTS += \
-Dvulkan-drivers=
else
MESA3D_DEPENDENCIES += xlib_libxshmfence
MESA3D_CONF_OPTS += \
-Ddri3=true \
-Dvulkan-drivers=$(subst $(space),$(comma),$(MESA3D_VULKAN_DRIVERS-y))
endif
# APIs
ifeq ($(BR2_PACKAGE_MESA3D_OSMESA_CLASSIC),y)
MESA3D_CONF_OPTS += -Dosmesa=classic
ifeq ($(BR2_PACKAGE_MESA3D_OSMESA_GALLIUM),y)
MESA3D_CONF_OPTS += -Dosmesa=true
else
MESA3D_CONF_OPTS += -Dosmesa=none
MESA3D_CONF_OPTS += -Dosmesa=false
endif
# Always enable OpenGL:
@@ -160,11 +169,11 @@ MESA3D_CONF_OPTS += -Dopengl=true
# libva and mesa3d have a circular dependency
# we do not need libva support in mesa3d, therefore disable this option
MESA3D_CONF_OPTS += -Dgallium-va=false
MESA3D_CONF_OPTS += -Dgallium-va=disabled
# libGL is only provided for a full xorg stack
# libGL is only provided for a full xorg stack, without libglvnd
ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_GLX),y)
MESA3D_PROVIDES += libgl
MESA3D_PROVIDES += $(if $(BR2_PACKAGE_LIBGLVND),,libgl)
else
define MESA3D_REMOVE_OPENGL_HEADERS
rm -rf $(STAGING_DIR)/usr/include/GL/
@@ -189,96 +198,92 @@ ifeq ($(BR2_PACKAGE_WAYLAND),y)
MESA3D_DEPENDENCIES += wayland wayland-protocols
MESA3D_PLATFORMS += wayland
endif
ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),y)
MESA3D_PLATFORMS += drm
else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D),y)
MESA3D_PLATFORMS += drm
else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4),y)
MESA3D_PLATFORMS += drm
else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV),y)
MESA3D_PLATFORMS += drm
else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_FREEDRENO),y)
MESA3D_PLATFORMS += drm
else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS),y)
MESA3D_PLATFORMS += drm
else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LIMA),y)
MESA3D_PLATFORMS += drm
else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PANFROST),y)
MESA3D_PLATFORMS += drm
else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL),y)
MESA3D_PLATFORMS += drm
else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI),y)
MESA3D_PLATFORMS += drm
endif
MESA3D_PLATFORMS += surfaceless
MESA3D_CONF_OPTS += \
-Dplatforms=$(subst $(space),$(comma),$(MESA3D_PLATFORMS))
ifeq ($(BR2_PACKAGE_MESA3D_GBM),y)
MESA3D_CONF_OPTS += \
-Dgbm=true
-Dgbm=enabled
else
MESA3D_CONF_OPTS += \
-Dgbm=false
-Dgbm=disabled
endif
ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL),y)
MESA3D_PROVIDES += libegl
MESA3D_PROVIDES += $(if $(BR2_PACKAGE_LIBGLVND),,libegl)
MESA3D_CONF_OPTS += \
-Degl=true
-Degl=enabled
else
MESA3D_CONF_OPTS += \
-Degl=false
-Degl=disabled
endif
ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_ES),y)
MESA3D_PROVIDES += libgles
MESA3D_CONF_OPTS += -Dgles1=true -Dgles2=true
MESA3D_PROVIDES += $(if $(BR2_PACKAGE_LIBGLVND),,libgles)
MESA3D_CONF_OPTS += -Dgles1=enabled -Dgles2=enabled
else
MESA3D_CONF_OPTS += -Dgles1=false -Dgles2=false
MESA3D_CONF_OPTS += -Dgles1=disabled -Dgles2=disabled
endif
ifeq ($(BR2_PACKAGE_MESA3D_XVMC),y)
MESA3D_DEPENDENCIES += xlib_libXv xlib_libXvMC
MESA3D_CONF_OPTS += -Dgallium-xvmc=true
MESA3D_CONF_OPTS += -Dgallium-xvmc=enabled
else
MESA3D_CONF_OPTS += -Dgallium-xvmc=false
MESA3D_CONF_OPTS += -Dgallium-xvmc=disabled
endif
ifeq ($(BR2_PACKAGE_VALGRIND),y)
MESA3D_CONF_OPTS += -Dvalgrind=true
MESA3D_CONF_OPTS += -Dvalgrind=enabled
MESA3D_DEPENDENCIES += valgrind
else
MESA3D_CONF_OPTS += -Dvalgrind=false
MESA3D_CONF_OPTS += -Dvalgrind=disabled
endif
ifeq ($(BR2_PACKAGE_LIBUNWIND),y)
MESA3D_CONF_OPTS += -Dlibunwind=true
MESA3D_CONF_OPTS += -Dlibunwind=enabled
MESA3D_DEPENDENCIES += libunwind
else
MESA3D_CONF_OPTS += -Dlibunwind=false
MESA3D_CONF_OPTS += -Dlibunwind=disabled
endif
ifeq ($(BR2_PACKAGE_MESA3D_VDPAU),y)
MESA3D_DEPENDENCIES += libvdpau
MESA3D_CONF_OPTS += -Dgallium-vdpau=true
MESA3D_CONF_OPTS += -Dgallium-vdpau=enabled
else
MESA3D_CONF_OPTS += -Dgallium-vdpau=false
MESA3D_CONF_OPTS += -Dgallium-vdpau=disabled
endif
ifeq ($(BR2_PACKAGE_LM_SENSORS),y)
MESA3D_CONF_OPTS += -Dlmsensors=true
MESA3D_CONF_OPTS += -Dlmsensors=enabled
MESA3D_DEPENDENCIES += lm-sensors
else
MESA3D_CONF_OPTS += -Dlmsensors=false
MESA3D_CONF_OPTS += -Dlmsensors=disabled
endif
ifeq ($(BR2_PACKAGE_ZSTD),y)
MESA3D_CONF_OPTS += -Dzstd=true
MESA3D_CONF_OPTS += -Dzstd=enabled
MESA3D_DEPENDENCIES += zstd
else
MESA3D_CONF_OPTS += -Dzstd=false
MESA3D_CONF_OPTS += -Dzstd=disabled
endif
MESA3D_CFLAGS = $(TARGET_CFLAGS)
# m68k needs 32-bit offsets in switch tables to build
ifeq ($(BR2_m68k),y)
MESA3D_CFLAGS += -mlong-jump-table-offsets
endif
ifeq ($(BR2_PACKAGE_LIBGLVND),y)
ifneq ($(BR2_PACKAGE_MESA3D_OPENGL_GLX)$(BR2_PACKAGE_MESA3D_OPENGL_EGL),)
MESA3D_DEPENDENCIES += libglvnd
MESA3D_CONF_OPTS += -Dglvnd=true
else
MESA3D_CONF_OPTS += -Dglvnd=false
endif
else
MESA3D_CONF_OPTS += -Dglvnd=false
endif
$(eval $(meson-package))