# Not possible to directly refer to mesa3d variables, because of
# first/second expansion trickery...
-MESA3D_HEADERS_VERSION = 20.1.3
+MESA3D_HEADERS_VERSION = 20.1.4
MESA3D_HEADERS_SOURCE = mesa-$(MESA3D_HEADERS_VERSION).tar.xz
MESA3D_HEADERS_SITE = https://mesa.freedesktop.org/archive
MESA3D_HEADERS_DL_SUBDIR = mesa3d
--- /dev/null
+From 705490763fcc052defa2d49a5c5200775cd12c54 Mon Sep 17 00:00:00 2001
+From: Peter Seiderer <ps.report@gmx.net>
+Date: Wed, 4 Mar 2020 08:27:24 +0100
+Subject: [PATCH] c99_math: import isinf for uclibc based toolchains
+
+The same fix as for glibc >= 2.23 is needed for uclibc
+based toolchains.
+
+[Upstream suggested: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4042]
+Signed-off-by: Peter Seiderer <ps.report@gmx.net>
+---
+ include/c99_math.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/c99_math.h b/include/c99_math.h
+index e906c26aa54..c8a73a2d2c7 100644
+--- a/include/c99_math.h
++++ b/include/c99_math.h
+@@ -190,7 +190,7 @@ fpclassify(double x)
+ * undefines those functions, which in glibc 2.23, are defined as macros rather
+ * than functions as in glibc 2.22.
+ */
+-#if __cplusplus >= 201103L && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 23))
++#if __cplusplus >= 201103L && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 23) || defined(__UCLIBC__))
+ #include <cmath>
+
+ using std::fpclassify;
+--
+2.25.1
+
+++ /dev/null
-From 25e20c2e288e1d482f479eca863bc4aaa374b782 Mon Sep 17 00:00:00 2001
-From: Bernd Kuhls <bernd.kuhls@t-online.de>
-Date: Sun, 22 Apr 2018 15:58:38 +0200
-Subject: [PATCH] Fix musl build
-
-Fix musl build when svga gallium driver is enabled.
-
-In file included from vmw_fence.c:34:0:
-vmw_screen.h:100:4: error: unknown type name ‘dev_t’
- dev_t device;
- ^~~~~
-
-Downloaded from
-http://git.alpinelinux.org/cgit/aports/plain/main/mesa/musl-fixes.patch
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
-[Romain: rebase on 18.1]
-Signed-off-by: Romain Naour <romain.naour@gmail.com>
----
- src/gallium/winsys/svga/drm/vmw_screen.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/gallium/winsys/svga/drm/vmw_screen.h b/src/gallium/winsys/svga/drm/vmw_screen.h
-index f21cabb51f..20d03f8b53 100644
---- a/src/gallium/winsys/svga/drm/vmw_screen.h
-+++ b/src/gallium/winsys/svga/drm/vmw_screen.h
-@@ -34,7 +34,7 @@
- #ifndef VMW_SCREEN_H_
- #define VMW_SCREEN_H_
-
--
-+#include <sys/stat.h>
- #include "pipe/p_compiler.h"
- #include "pipe/p_state.h"
-
---
-2.14.3
-
+++ /dev/null
-From 705490763fcc052defa2d49a5c5200775cd12c54 Mon Sep 17 00:00:00 2001
-From: Peter Seiderer <ps.report@gmx.net>
-Date: Wed, 4 Mar 2020 08:27:24 +0100
-Subject: [PATCH] c99_math: import isinf for uclibc based toolchains
-
-The same fix as for glibc >= 2.23 is needed for uclibc
-based toolchains.
-
-[Upstream suggested: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4042]
-Signed-off-by: Peter Seiderer <ps.report@gmx.net>
----
- include/c99_math.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/c99_math.h b/include/c99_math.h
-index e906c26aa54..c8a73a2d2c7 100644
---- a/include/c99_math.h
-+++ b/include/c99_math.h
-@@ -190,7 +190,7 @@ fpclassify(double x)
- * undefines those functions, which in glibc 2.23, are defined as macros rather
- * than functions as in glibc 2.22.
- */
--#if __cplusplus >= 201103L && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 23))
-+#if __cplusplus >= 201103L && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 23) || defined(__UCLIBC__))
- #include <cmath>
-
- using std::fpclassify;
---
-2.25.1
-
--- /dev/null
+From 7b46756a99aca7f27a45c3b99460f088570f6f53 Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@smile.fr>
+Date: Wed, 17 Apr 2019 23:07:42 +0200
+Subject: [PATCH] meson: Set proper value for LIBCLC_INCLUDEDIR
+
+LIBCLC_INCLUDEDIR is the location where mesa3d OpenCL implementation
+will look for OpenCL "headers" on the target, when building the OpenCL
+kernels.
+
+The value returned by pkg-config for includedir is relevant when
+cross-compiling, on the build machine. But in this specific case, we
+really need a value that is valid on the target.
+
+Those headers are installed by the libclc package in /usr/share so
+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>
+---
+ src/gallium/state_trackers/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
+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',
+--
+2.20.1
+
+++ /dev/null
-From 7b46756a99aca7f27a45c3b99460f088570f6f53 Mon Sep 17 00:00:00 2001
-From: Romain Naour <romain.naour@smile.fr>
-Date: Wed, 17 Apr 2019 23:07:42 +0200
-Subject: [PATCH] meson: Set proper value for LIBCLC_INCLUDEDIR
-
-LIBCLC_INCLUDEDIR is the location where mesa3d OpenCL implementation
-will look for OpenCL "headers" on the target, when building the OpenCL
-kernels.
-
-The value returned by pkg-config for includedir is relevant when
-cross-compiling, on the build machine. But in this specific case, we
-really need a value that is valid on the target.
-
-Those headers are installed by the libclc package in /usr/share so
-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>
----
- src/gallium/state_trackers/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
-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',
---
-2.20.1
-
--- /dev/null
+From e3b47c1b84964c62b3e1fa782f1ffa4be0ae62f9 Mon Sep 17 00:00:00 2001
+From: Peter Seiderer <ps.report@gmx.net>
+Date: Mon, 9 Mar 2020 13:01:14 +0100
+Subject: [PATCH] vc4: add meson option to disable optional neon support
+
+Not all toolchains are able to compile the runtime
+optional vc4 neon support, so add an meson option
+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>
+---
+ meson_options.txt | 7 +++++++
+ src/gallium/drivers/vc4/meson.build | 4 ++--
+ src/gallium/drivers/vc4/vc4_tiling.h | 4 ++--
+ 3 files changed, 11 insertions(+), 4 deletions(-)
+
+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.',
+ )
++option(
++ 'gallium-vc4-neon',
++ type : 'combo',
++ value : 'auto',
++ choices : ['auto', 'disabled'],
++ description : 'enable gallium vc4 optional neon support.',
++)
+ option(
+ 'va-libs-path',
+ type : 'string',
+diff --git a/src/gallium/drivers/vc4/meson.build b/src/gallium/drivers/vc4/meson.build
+index 5ce5af5f6b4..e3f7d8d62ae 100644
+--- a/src/gallium/drivers/vc4/meson.build
++++ b/src/gallium/drivers/vc4/meson.build
+@@ -84,7 +84,7 @@ files_libvc4 = files(
+ vc4_c_args = []
+
+ libvc4_neon = []
+-if host_machine.cpu_family() == 'arm'
++if host_machine.cpu_family() == 'arm' and get_option('gallium-vc4-neon') != 'disabled'
+ libvc4_neon = static_library(
+ 'vc4_neon',
+ 'vc4_tiling_lt_neon.c',
+@@ -93,7 +93,7 @@ if host_machine.cpu_family() == 'arm'
+ ],
+ c_args : '-mfpu=neon',
+ )
+- vc4_c_args += '-DUSE_ARM_ASM'
++ vc4_c_args += '-DVC4_TILING_LT_NEON'
+ endif
+
+ if dep_simpenrose.found()
+diff --git a/src/gallium/drivers/vc4/vc4_tiling.h b/src/gallium/drivers/vc4/vc4_tiling.h
+index 66767e7f1f8..7446f1c3d0c 100644
+--- a/src/gallium/drivers/vc4/vc4_tiling.h
++++ b/src/gallium/drivers/vc4/vc4_tiling.h
+@@ -89,7 +89,7 @@ vc4_load_lt_image(void *dst, uint32_t dst_stride,
+ void *src, uint32_t src_stride,
+ int cpp, const struct pipe_box *box)
+ {
+-#ifdef USE_ARM_ASM
++#ifdef VC4_TILING_LT_NEON
+ if (util_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,
+ void *src, uint32_t src_stride,
+ int cpp, const struct pipe_box *box)
+ {
+-#ifdef USE_ARM_ASM
++#ifdef VC4_TILING_LT_NEON
+ if (util_cpu_caps.has_neon) {
+ vc4_store_lt_image_neon(dst, dst_stride, src, src_stride,
+ cpp, box);
+--
+2.25.1
+
+++ /dev/null
-From e3b47c1b84964c62b3e1fa782f1ffa4be0ae62f9 Mon Sep 17 00:00:00 2001
-From: Peter Seiderer <ps.report@gmx.net>
-Date: Mon, 9 Mar 2020 13:01:14 +0100
-Subject: [PATCH] vc4: add meson option to disable optional neon support
-
-Not all toolchains are able to compile the runtime
-optional vc4 neon support, so add an meson option
-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>
----
- meson_options.txt | 7 +++++++
- src/gallium/drivers/vc4/meson.build | 4 ++--
- src/gallium/drivers/vc4/vc4_tiling.h | 4 ++--
- 3 files changed, 11 insertions(+), 4 deletions(-)
-
-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.',
- )
-+option(
-+ 'gallium-vc4-neon',
-+ type : 'combo',
-+ value : 'auto',
-+ choices : ['auto', 'disabled'],
-+ description : 'enable gallium vc4 optional neon support.',
-+)
- option(
- 'va-libs-path',
- type : 'string',
-diff --git a/src/gallium/drivers/vc4/meson.build b/src/gallium/drivers/vc4/meson.build
-index 5ce5af5f6b4..e3f7d8d62ae 100644
---- a/src/gallium/drivers/vc4/meson.build
-+++ b/src/gallium/drivers/vc4/meson.build
-@@ -84,7 +84,7 @@ files_libvc4 = files(
- vc4_c_args = []
-
- libvc4_neon = []
--if host_machine.cpu_family() == 'arm'
-+if host_machine.cpu_family() == 'arm' and get_option('gallium-vc4-neon') != 'disabled'
- libvc4_neon = static_library(
- 'vc4_neon',
- 'vc4_tiling_lt_neon.c',
-@@ -93,7 +93,7 @@ if host_machine.cpu_family() == 'arm'
- ],
- c_args : '-mfpu=neon',
- )
-- vc4_c_args += '-DUSE_ARM_ASM'
-+ vc4_c_args += '-DVC4_TILING_LT_NEON'
- endif
-
- if dep_simpenrose.found()
-diff --git a/src/gallium/drivers/vc4/vc4_tiling.h b/src/gallium/drivers/vc4/vc4_tiling.h
-index 66767e7f1f8..7446f1c3d0c 100644
---- a/src/gallium/drivers/vc4/vc4_tiling.h
-+++ b/src/gallium/drivers/vc4/vc4_tiling.h
-@@ -89,7 +89,7 @@ vc4_load_lt_image(void *dst, uint32_t dst_stride,
- void *src, uint32_t src_stride,
- int cpp, const struct pipe_box *box)
- {
--#ifdef USE_ARM_ASM
-+#ifdef VC4_TILING_LT_NEON
- if (util_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,
- void *src, uint32_t src_stride,
- int cpp, const struct pipe_box *box)
- {
--#ifdef USE_ARM_ASM
-+#ifdef VC4_TILING_LT_NEON
- if (util_cpu_caps.has_neon) {
- vc4_store_lt_image_neon(dst, dst_stride, src, src_stride,
- cpp, box);
---
-2.25.1
-
-# From https://lists.freedesktop.org/archives/mesa-announce/2020-July/000590.html
-sha256 9872b8d46bee822177ffbe4292addff7bdb84cefc1fe776b8e6b2881a8362bf1 mesa-20.1.3.tar.xz
-sha512 c3134cda6a07041c2cacd783663c0618e97f907bb0e67718a5c8fb03f4608ba47f0cd5adb6f0400a44f15fd70f3b41d66da1376035ba4e4f4f97a1843dcb1f77 mesa-20.1.3.tar.xz
+# From https://lists.freedesktop.org/archives/mesa-announce/2020-July/000591.html
+sha256 6800271c2be2a0447510eb4e9b67edd9521859a4d565310617c4b359eb6799fe mesa-20.1.4.tar.xz
+sha512 f4d79694cda8531e7560147caf5d18bce5c685cd6c61264dced5adaa9043be9c83d3a2bd623ebffedc8d4258b9b1f97d84d9aeea307aa77cf99d0bc47c987155 mesa-20.1.4.tar.xz
# License
sha256 1ddae7da415352a5b5360ff3a9d7ecf23ba81408f62eeecce0011f32e3ef9da6 docs/license.html
################################################################################
# When updating the version, please also update mesa3d-headers
-MESA3D_VERSION = 20.1.3
+MESA3D_VERSION = 20.1.4
MESA3D_SOURCE = mesa-$(MESA3D_VERSION).tar.xz
MESA3D_SITE = https://mesa.freedesktop.org/archive
MESA3D_LICENSE = MIT, SGI, Khronos