mesa 20.3.2-1 (znver1;x86_64;aarch64) 2021-13449
9999

Submitter angrypenguinpoland [@T] gmail.com
Platform rolling
Repository main
URL https://abf.openmandriva.org/build_lists/930224
Packages
lib64d3dadapter9_1-20.3.2-1.znver1.binary
lib64d3dadapter9_1-debuginfo-20.3.2-1.znver1.debuginfo
lib64d3dadapter9-devel-20.3.2-1.znver1.binary
lib64dri-drivers-20.3.2-1.znver1.binary
lib64dri-drivers-intel-20.3.2-1.znver1.binary
lib64dri-drivers-intel-debuginfo-20.3.2-1.znver1.debuginfo
lib64dri-drivers-iris-20.3.2-1.znver1.binary
lib64dri-drivers-iris-debuginfo-20.3.2-1.znver1.debuginfo
lib64dri-drivers-nouveau-20.3.2-1.znver1.binary
lib64dri-drivers-nouveau-debuginfo-20.3.2-1.znver1.debuginfo
lib64dri-drivers-radeon-20.3.2-1.znver1.binary
lib64dri-drivers-radeon-debuginfo-20.3.2-1.znver1.debuginfo
lib64dri-drivers-swrast-20.3.2-1.znver1.binary
lib64dri-drivers-swrast-debuginfo-20.3.2-1.znver1.debuginfo
lib64dri-drivers-virtio-20.3.2-1.znver1.binary
lib64dri-drivers-virtio-debuginfo-20.3.2-1.znver1.debuginfo
lib64dri-drivers-vmwgfx-20.3.2-1.znver1.binary
lib64dri-drivers-vmwgfx-debuginfo-20.3.2-1.znver1.debuginfo
lib64EGL_mesa0-20.3.2-1.znver1.binary
lib64EGL_mesa0-debuginfo-20.3.2-1.znver1.debuginfo
lib64EGL_mesa-devel-20.3.2-1.znver1.binary
lib64gbm1-20.3.2-1.znver1.binary
lib64gbm1-debuginfo-20.3.2-1.znver1.debuginfo
lib64gbm-devel-20.3.2-1.znver1.binary
lib64glapi0-20.3.2-1.znver1.binary
lib64glapi0-debuginfo-20.3.2-1.znver1.debuginfo
lib64glapi-devel-20.3.2-1.znver1.binary
lib64GL-devel-20.3.2-1.znver1.binary
lib64GLX_mesa0-20.3.2-1.znver1.binary
lib64GLX_mesa0-debuginfo-20.3.2-1.znver1.debuginfo
lib64mesaopencl1-20.3.2-1.znver1.binary
lib64mesaopencl1-debuginfo-20.3.2-1.znver1.debuginfo
lib64mesaopencl-devel-20.3.2-1.znver1.binary
lib64osmesa8-20.3.2-1.znver1.binary
lib64osmesa8-debuginfo-20.3.2-1.znver1.debuginfo
lib64osmesa-devel-20.3.2-1.znver1.binary
lib64vdpau-driver-nouveau-20.3.2-1.znver1.binary
lib64vdpau-driver-nouveau-debuginfo-20.3.2-1.znver1.debuginfo
lib64vdpau-driver-r300-20.3.2-1.znver1.binary
lib64vdpau-driver-r300-debuginfo-20.3.2-1.znver1.debuginfo
lib64vdpau-driver-r600-20.3.2-1.znver1.binary
lib64vdpau-driver-r600-debuginfo-20.3.2-1.znver1.debuginfo
lib64vdpau-driver-radeonsi-20.3.2-1.znver1.binary
lib64vdpau-driver-radeonsi-debuginfo-20.3.2-1.znver1.debuginfo
lib64vdpau-drivers-20.3.2-1.znver1.binary
lib64vdpau-driver-softpipe-20.3.2-1.znver1.binary
lib64vulkan-intel-devel-20.3.2-1.znver1.binary
lib64xatracker2-20.3.2-1.znver1.binary
lib64xatracker2-debuginfo-20.3.2-1.znver1.debuginfo
lib64xatracker-devel-20.3.2-1.znver1.binary
libd3dadapter91-20.3.2-1.znver1.binary
libd3dadapter91-debuginfo-20.3.2-1.znver1.debuginfo
libd3dadapter9-devel-20.3.2-1.znver1.binary
libdri-drivers-20.3.2-1.znver1.binary
libdri-drivers-intel-20.3.2-1.znver1.binary
libdri-drivers-intel-debuginfo-20.3.2-1.znver1.debuginfo
libdri-drivers-iris-20.3.2-1.znver1.binary
libdri-drivers-iris-debuginfo-20.3.2-1.znver1.debuginfo
libdri-drivers-nouveau-20.3.2-1.znver1.binary
libdri-drivers-nouveau-debuginfo-20.3.2-1.znver1.debuginfo
libdri-drivers-radeon-20.3.2-1.znver1.binary
libdri-drivers-radeon-debuginfo-20.3.2-1.znver1.debuginfo
libdri-drivers-swrast-20.3.2-1.znver1.binary
libdri-drivers-swrast-debuginfo-20.3.2-1.znver1.debuginfo
libdri-drivers-virtio-20.3.2-1.znver1.binary
libdri-drivers-virtio-debuginfo-20.3.2-1.znver1.debuginfo
libdri-drivers-vmwgfx-20.3.2-1.znver1.binary
libdri-drivers-vmwgfx-debuginfo-20.3.2-1.znver1.debuginfo
libEGL_mesa0-20.3.2-1.znver1.binary
libEGL_mesa0-debuginfo-20.3.2-1.znver1.debuginfo
libEGL_mesa-devel-20.3.2-1.znver1.binary
libgbm1-20.3.2-1.znver1.binary
libgbm1-debuginfo-20.3.2-1.znver1.debuginfo
libgbm-devel-20.3.2-1.znver1.binary
libglapi0-20.3.2-1.znver1.binary
libglapi0-debuginfo-20.3.2-1.znver1.debuginfo
libglapi-devel-20.3.2-1.znver1.binary
libGL-devel-20.3.2-1.znver1.binary
libGLX_mesa0-20.3.2-1.znver1.binary
libGLX_mesa0-debuginfo-20.3.2-1.znver1.debuginfo
libmesaopencl1-20.3.2-1.znver1.binary
libmesaopencl1-debuginfo-20.3.2-1.znver1.debuginfo
libmesaopencl-devel-20.3.2-1.znver1.binary
libosmesa8-20.3.2-1.znver1.binary
libosmesa8-debuginfo-20.3.2-1.znver1.debuginfo
libosmesa-devel-20.3.2-1.znver1.binary
libxatracker2-20.3.2-1.znver1.binary
libxatracker2-debuginfo-20.3.2-1.znver1.debuginfo
libxatracker-devel-20.3.2-1.znver1.binary
mesa-20.3.2-1.znver1.source
mesa-20.3.2-1.znver1.binary
mesa-common-devel-20.3.2-1.znver1.binary
mesa-debugsource-20.3.2-1.znver1.binary
mesa-tools-20.3.2-1.znver1.binary
mesa-tools-debuginfo-20.3.2-1.znver1.debuginfo
lib64d3dadapter9_1-20.3.2-1.x86_64.binary
lib64d3dadapter9_1-debuginfo-20.3.2-1.x86_64.debuginfo
lib64d3dadapter9-devel-20.3.2-1.x86_64.binary
lib64dri-drivers-20.3.2-1.x86_64.binary
lib64dri-drivers-intel-20.3.2-1.x86_64.binary
lib64dri-drivers-intel-debuginfo-20.3.2-1.x86_64.debuginfo
lib64dri-drivers-iris-20.3.2-1.x86_64.binary
lib64dri-drivers-iris-debuginfo-20.3.2-1.x86_64.debuginfo
lib64dri-drivers-nouveau-20.3.2-1.x86_64.binary
lib64dri-drivers-nouveau-debuginfo-20.3.2-1.x86_64.debuginfo
lib64dri-drivers-radeon-20.3.2-1.x86_64.binary
lib64dri-drivers-radeon-debuginfo-20.3.2-1.x86_64.debuginfo
lib64dri-drivers-swrast-20.3.2-1.x86_64.binary
lib64dri-drivers-swrast-debuginfo-20.3.2-1.x86_64.debuginfo
lib64dri-drivers-virtio-20.3.2-1.x86_64.binary
lib64dri-drivers-virtio-debuginfo-20.3.2-1.x86_64.debuginfo
lib64dri-drivers-vmwgfx-20.3.2-1.x86_64.binary
lib64dri-drivers-vmwgfx-debuginfo-20.3.2-1.x86_64.debuginfo
lib64EGL_mesa0-20.3.2-1.x86_64.binary
lib64EGL_mesa0-debuginfo-20.3.2-1.x86_64.debuginfo
lib64EGL_mesa-devel-20.3.2-1.x86_64.binary
lib64gbm1-20.3.2-1.x86_64.binary
lib64gbm1-debuginfo-20.3.2-1.x86_64.debuginfo
lib64gbm-devel-20.3.2-1.x86_64.binary
lib64glapi0-20.3.2-1.x86_64.binary
lib64glapi0-debuginfo-20.3.2-1.x86_64.debuginfo
lib64glapi-devel-20.3.2-1.x86_64.binary
lib64GL-devel-20.3.2-1.x86_64.binary
lib64GLX_mesa0-20.3.2-1.x86_64.binary
lib64GLX_mesa0-debuginfo-20.3.2-1.x86_64.debuginfo
lib64mesaopencl1-20.3.2-1.x86_64.binary
lib64mesaopencl1-debuginfo-20.3.2-1.x86_64.debuginfo
lib64mesaopencl-devel-20.3.2-1.x86_64.binary
lib64osmesa8-20.3.2-1.x86_64.binary
lib64osmesa8-debuginfo-20.3.2-1.x86_64.debuginfo
lib64osmesa-devel-20.3.2-1.x86_64.binary
lib64vdpau-driver-nouveau-20.3.2-1.x86_64.binary
lib64vdpau-driver-nouveau-debuginfo-20.3.2-1.x86_64.debuginfo
lib64vdpau-driver-r300-20.3.2-1.x86_64.binary
lib64vdpau-driver-r300-debuginfo-20.3.2-1.x86_64.debuginfo
lib64vdpau-driver-r600-20.3.2-1.x86_64.binary
lib64vdpau-driver-r600-debuginfo-20.3.2-1.x86_64.debuginfo
lib64vdpau-driver-radeonsi-20.3.2-1.x86_64.binary
lib64vdpau-driver-radeonsi-debuginfo-20.3.2-1.x86_64.debuginfo
lib64vdpau-drivers-20.3.2-1.x86_64.binary
lib64vdpau-driver-softpipe-20.3.2-1.x86_64.binary
lib64vulkan-intel-devel-20.3.2-1.x86_64.binary
lib64xatracker2-20.3.2-1.x86_64.binary
lib64xatracker2-debuginfo-20.3.2-1.x86_64.debuginfo
lib64xatracker-devel-20.3.2-1.x86_64.binary
libd3dadapter91-20.3.2-1.x86_64.binary
libd3dadapter91-debuginfo-20.3.2-1.x86_64.debuginfo
libd3dadapter9-devel-20.3.2-1.x86_64.binary
libdri-drivers-20.3.2-1.x86_64.binary
libdri-drivers-intel-20.3.2-1.x86_64.binary
libdri-drivers-intel-debuginfo-20.3.2-1.x86_64.debuginfo
libdri-drivers-iris-20.3.2-1.x86_64.binary
libdri-drivers-iris-debuginfo-20.3.2-1.x86_64.debuginfo
libdri-drivers-nouveau-20.3.2-1.x86_64.binary
libdri-drivers-nouveau-debuginfo-20.3.2-1.x86_64.debuginfo
libdri-drivers-radeon-20.3.2-1.x86_64.binary
libdri-drivers-radeon-debuginfo-20.3.2-1.x86_64.debuginfo
libdri-drivers-swrast-20.3.2-1.x86_64.binary
libdri-drivers-swrast-debuginfo-20.3.2-1.x86_64.debuginfo
libdri-drivers-virtio-20.3.2-1.x86_64.binary
libdri-drivers-virtio-debuginfo-20.3.2-1.x86_64.debuginfo
libdri-drivers-vmwgfx-20.3.2-1.x86_64.binary
libdri-drivers-vmwgfx-debuginfo-20.3.2-1.x86_64.debuginfo
libEGL_mesa0-20.3.2-1.x86_64.binary
libEGL_mesa0-debuginfo-20.3.2-1.x86_64.debuginfo
libEGL_mesa-devel-20.3.2-1.x86_64.binary
libgbm1-20.3.2-1.x86_64.binary
libgbm1-debuginfo-20.3.2-1.x86_64.debuginfo
libgbm-devel-20.3.2-1.x86_64.binary
libglapi0-20.3.2-1.x86_64.binary
libglapi0-debuginfo-20.3.2-1.x86_64.debuginfo
libglapi-devel-20.3.2-1.x86_64.binary
libGL-devel-20.3.2-1.x86_64.binary
libGLX_mesa0-20.3.2-1.x86_64.binary
libGLX_mesa0-debuginfo-20.3.2-1.x86_64.debuginfo
libmesaopencl1-20.3.2-1.x86_64.binary
libmesaopencl1-debuginfo-20.3.2-1.x86_64.debuginfo
libmesaopencl-devel-20.3.2-1.x86_64.binary
libosmesa8-20.3.2-1.x86_64.binary
libosmesa8-debuginfo-20.3.2-1.x86_64.debuginfo
libosmesa-devel-20.3.2-1.x86_64.binary
libxatracker2-20.3.2-1.x86_64.binary
libxatracker2-debuginfo-20.3.2-1.x86_64.debuginfo
libxatracker-devel-20.3.2-1.x86_64.binary
mesa-20.3.2-1.x86_64.binary
mesa-20.3.2-1.x86_64.source
mesa-common-devel-20.3.2-1.x86_64.binary
mesa-debugsource-20.3.2-1.x86_64.binary
mesa-tools-20.3.2-1.x86_64.binary
mesa-tools-debuginfo-20.3.2-1.x86_64.debuginfo
lib64d3dadapter9_1-20.3.2-1.aarch64.binary
lib64d3dadapter9_1-debuginfo-20.3.2-1.aarch64.debuginfo
lib64d3dadapter9-devel-20.3.2-1.aarch64.binary
lib64dri-drivers-20.3.2-1.aarch64.binary
lib64dri-drivers-etnaviv-20.3.2-1.aarch64.binary
lib64dri-drivers-etnaviv-debuginfo-20.3.2-1.aarch64.debuginfo
lib64dri-drivers-freedreno-20.3.2-1.aarch64.binary
lib64dri-drivers-freedreno-debuginfo-20.3.2-1.aarch64.debuginfo
lib64dri-drivers-kmsro-20.3.2-1.aarch64.binary
lib64dri-drivers-kmsro-debuginfo-20.3.2-1.aarch64.debuginfo
lib64dri-drivers-lima-20.3.2-1.aarch64.binary
lib64dri-drivers-lima-debuginfo-20.3.2-1.aarch64.debuginfo
lib64dri-drivers-nouveau-20.3.2-1.aarch64.binary
lib64dri-drivers-nouveau-debuginfo-20.3.2-1.aarch64.debuginfo
lib64dri-drivers-panfrost-20.3.2-1.aarch64.binary
lib64dri-drivers-panfrost-debuginfo-20.3.2-1.aarch64.debuginfo
lib64dri-drivers-radeon-20.3.2-1.aarch64.binary
lib64dri-drivers-radeon-debuginfo-20.3.2-1.aarch64.debuginfo
lib64dri-drivers-swrast-20.3.2-1.aarch64.binary
lib64dri-drivers-swrast-debuginfo-20.3.2-1.aarch64.debuginfo
lib64dri-drivers-tegra-20.3.2-1.aarch64.binary
lib64dri-drivers-tegra-debuginfo-20.3.2-1.aarch64.debuginfo
lib64dri-drivers-v3d-20.3.2-1.aarch64.binary
lib64dri-drivers-v3d-debuginfo-20.3.2-1.aarch64.debuginfo
lib64dri-drivers-vc4-20.3.2-1.aarch64.binary
lib64dri-drivers-vc4-debuginfo-20.3.2-1.aarch64.debuginfo
lib64dri-drivers-virtio-20.3.2-1.aarch64.binary
lib64dri-drivers-virtio-debuginfo-20.3.2-1.aarch64.debuginfo
lib64EGL_mesa0-20.3.2-1.aarch64.binary
lib64EGL_mesa0-debuginfo-20.3.2-1.aarch64.debuginfo
lib64EGL_mesa-devel-20.3.2-1.aarch64.binary
lib64gbm1-20.3.2-1.aarch64.binary
lib64gbm1-debuginfo-20.3.2-1.aarch64.debuginfo
lib64gbm-devel-20.3.2-1.aarch64.binary
lib64glapi0-20.3.2-1.aarch64.binary
lib64glapi0-debuginfo-20.3.2-1.aarch64.debuginfo
lib64glapi-devel-20.3.2-1.aarch64.binary
lib64GL-devel-20.3.2-1.aarch64.binary
lib64GLX_mesa0-20.3.2-1.aarch64.binary
lib64GLX_mesa0-debuginfo-20.3.2-1.aarch64.debuginfo
lib64mesaopencl1-20.3.2-1.aarch64.binary
lib64mesaopencl1-debuginfo-20.3.2-1.aarch64.debuginfo
lib64mesaopencl-devel-20.3.2-1.aarch64.binary
lib64osmesa8-20.3.2-1.aarch64.binary
lib64osmesa8-debuginfo-20.3.2-1.aarch64.debuginfo
lib64osmesa-devel-20.3.2-1.aarch64.binary
lib64vdpau-driver-nouveau-20.3.2-1.aarch64.binary
lib64vdpau-driver-nouveau-debuginfo-20.3.2-1.aarch64.debuginfo
lib64vdpau-driver-r300-20.3.2-1.aarch64.binary
lib64vdpau-driver-r300-debuginfo-20.3.2-1.aarch64.debuginfo
lib64vdpau-driver-r600-20.3.2-1.aarch64.binary
lib64vdpau-driver-r600-debuginfo-20.3.2-1.aarch64.debuginfo
lib64vdpau-driver-radeonsi-20.3.2-1.aarch64.binary
lib64vdpau-driver-radeonsi-debuginfo-20.3.2-1.aarch64.debuginfo
lib64vdpau-drivers-20.3.2-1.aarch64.binary
lib64vdpau-driver-softpipe-20.3.2-1.aarch64.binary
lib64xatracker2-20.3.2-1.aarch64.binary
lib64xatracker2-debuginfo-20.3.2-1.aarch64.debuginfo
lib64xatracker-devel-20.3.2-1.aarch64.binary
mesa-20.3.2-1.aarch64.source
mesa-20.3.2-1.aarch64.binary
mesa-common-devel-20.3.2-1.aarch64.binary
mesa-debuginfo-20.3.2-1.aarch64.debuginfo
mesa-debugsource-20.3.2-1.aarch64.binary
mesa-tools-20.3.2-1.aarch64.binary
mesa-tools-debuginfo-20.3.2-1.aarch64.debuginfo
Build Date 2021-01-06 13:39:32 +0000 UTC
Last Updated 2021-01-11 17:35:39.420020366 +0000 UTC
$ git diff --patch-with-stat --summary 4c92b8e39264c42260fbb9e1d66cb062a6c9bba6..af7ecf6c126cde9e3e841040ac8a9c770e6535a2

 .abf.yml                                     |   2 +-
 3449.patch                                   |  58 ---
 mesa-19.2.0-rc3-meson-radeon-arm-riscv.patch |  40 --
 mesa-20.0.3-amd-non-x86.patch                |  12 -
 mesa-20.1-rc4-compile.patch                  |  12 +
 mesa-20.1.1-fix-opencl.patch                 | 306 ++++++++++++++
 mesa-20.2.0-rc1-llvm-libunwind.patch         |  12 +
 mesa-20.3.0-meson-radeon-arm-riscv-ppc.patch |  39 ++
 mesa.spec                                    | 584 +++++++++++++++++++++++++--
 test.c                                       |  60 +++
 10 files changed, 976 insertions(+), 149 deletions(-)
 delete mode 100644 3449.patch
 delete mode 100644 mesa-19.2.0-rc3-meson-radeon-arm-riscv.patch
 delete mode 100644 mesa-20.0.3-amd-non-x86.patch
 create mode 100644 mesa-20.1-rc4-compile.patch
 create mode 100644 mesa-20.1.1-fix-opencl.patch
 create mode 100644 mesa-20.2.0-rc1-llvm-libunwind.patch
 create mode 100644 mesa-20.3.0-meson-radeon-arm-riscv-ppc.patch
 create mode 100644 test.c

diff --git a/.abf.yml b/.abf.yml
index 62aa9ae..30379c2 100644
--- a/.abf.yml
+++ b/.abf.yml
@@ -1,2 +1,2 @@
 sources:
-  mesa-20.0.7.tar.xz: e64184e38fcc7788ced2693e6576f16821e71753
+  mesa-20.3.2.tar.xz: 59522f71ceff124c1fd7b68d9e7f4ad177f38a0e
diff --git a/3449.patch b/3449.patch
deleted file mode 100644
index 2d3581a..0000000
--- a/3449.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 94788a3a29dfed1e5d4fd5cfb91a9b67b0b013cc Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Guido=20G=C3=BCnther?= <agx@sigxcpu.org>
-Date: Fri, 17 Jan 2020 18:33:52 +0100
-Subject: [PATCH] kmsro: Extend to include imx-dcss
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This allows using the dcss display controllers (with the dcss drm
-modesetting driver) along with the Etnaviv render-only drivers. DCSS is
-found on i.MX SoCs.
-
-Signed-off-by: Guido G√ľnther <agx@sigxcpu.org>
----
- src/gallium/drivers/kmsro/Android.mk | 1 +
- src/gallium/targets/dri/meson.build  | 1 +
- src/gallium/targets/dri/target.c     | 1 +
- 3 files changed, 3 insertions(+)
-
-diff --git a/src/gallium/drivers/kmsro/Android.mk b/src/gallium/drivers/kmsro/Android.mk
-index 7c39f97b81b..56edab20f13 100644
---- a/src/gallium/drivers/kmsro/Android.mk
-+++ b/src/gallium/drivers/kmsro/Android.mk
-@@ -40,6 +40,7 @@ GALLIUM_TARGET_DRIVERS += hx8357d
- GALLIUM_TARGET_DRIVERS += ili9225
- GALLIUM_TARGET_DRIVERS += ili9341
- GALLIUM_TARGET_DRIVERS += imx
-+GALLIUM_TARGET_DRIVERS += imx-dcss
- GALLIUM_TARGET_DRIVERS += ingenic-drm
- GALLIUM_TARGET_DRIVERS += stm
- GALLIUM_TARGET_DRIVERS += mcde
-diff --git a/src/gallium/targets/dri/meson.build b/src/gallium/targets/dri/meson.build
-index 954b2182ce4..7ebcec16cf3 100644
---- a/src/gallium/targets/dri/meson.build
-+++ b/src/gallium/targets/dri/meson.build
-@@ -73,6 +73,7 @@ foreach d : [[with_gallium_kmsro, [
-                'ili9225_dri.so',
-                'ili9341_dri.so',
-                'imx-drm_dri.so',
-+               'imx-dcss_dri.so',
-                'ingenic-drm_dri.so',
-                'mcde_dri.so',
-                'meson_dri.so',
-diff --git a/src/gallium/targets/dri/target.c b/src/gallium/targets/dri/target.c
-index f71f690a70e..7e49378e4bc 100644
---- a/src/gallium/targets/dri/target.c
-+++ b/src/gallium/targets/dri/target.c
-@@ -98,6 +98,7 @@ DEFINE_LOADER_DRM_ENTRYPOINT(hx8357d)
- DEFINE_LOADER_DRM_ENTRYPOINT(ili9225)
- DEFINE_LOADER_DRM_ENTRYPOINT(ili9341)
- DEFINE_LOADER_DRM_ENTRYPOINT(imx_drm)
-+DEFINE_LOADER_DRM_ENTRYPOINT(imx_dcss)
- DEFINE_LOADER_DRM_ENTRYPOINT(ingenic_drm)
- DEFINE_LOADER_DRM_ENTRYPOINT(mcde)
- DEFINE_LOADER_DRM_ENTRYPOINT(meson)
--- 
-2.24.1
-
diff --git a/mesa-19.2.0-rc3-meson-radeon-arm-riscv.patch b/mesa-19.2.0-rc3-meson-radeon-arm-riscv.patch
deleted file mode 100644
index 7a7bf12..0000000
--- a/mesa-19.2.0-rc3-meson-radeon-arm-riscv.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-diff -up mesa-19.2.0-rc3/meson.build.2~ mesa-19.2.0-rc3/meson.build
---- mesa-19.2.0-rc3/meson.build.2~	2019-09-11 18:23:35.000000000 +0200
-+++ mesa-19.2.0-rc3/meson.build	2019-09-13 01:42:07.786526054 +0200
-@@ -125,8 +125,8 @@ if dri_drivers.contains('auto')
-     # TODO: PPC, Sparc
-     if ['x86', 'x86_64'].contains(host_machine.cpu_family())
-       dri_drivers = ['i915', 'i965', 'r100', 'r200', 'nouveau']
--    elif ['arm', 'aarch64'].contains(host_machine.cpu_family())
--      dri_drivers = []
-+    elif ['arm', 'aarch64', 'riscv64'].contains(host_machine.cpu_family())
-+      dri_drivers = ['r100', 'r200', 'nouveau']
-     else
-       error('Unknown architecture @0@. Please pass -Ddri-drivers to set driver options. Patches gladly accepted to fix this.'.format(
-             host_machine.cpu_family()))
-@@ -160,7 +160,13 @@ if gallium_drivers.contains('auto')
-     elif ['arm', 'aarch64'].contains(host_machine.cpu_family())
-       gallium_drivers = [
-         'kmsro', 'v3d', 'vc4', 'freedreno', 'etnaviv', 'nouveau',
--        'tegra', 'virgl', 'lima', 'panfrost', 'swrast'
-+        'tegra', 'virgl', 'lima', 'panfrost', 'swrast',
-+        'r300', 'r600', 'radeonsi'
-+      ]
-+    elif ['riscv64'].contains(host_machine.cpu_family())
-+      gallium_drivers = [
-+        'nouveau', 'swrast',
-+        'r300', 'r600', 'radeonsi'
-       ]
-     else
-       error('Unknown architecture @0@. Please pass -Dgallium-drivers to set driver options. Patches gladly accepted to fix this.'.format(
-@@ -215,8 +221,8 @@ if _vulkan_drivers.contains('auto')
-   if system_has_kms_drm
-     if host_machine.cpu_family().startswith('x86')
-       _vulkan_drivers = ['amd', 'intel']
--    elif ['arm', 'aarch64'].contains(host_machine.cpu_family())
--      _vulkan_drivers = []
-+    elif ['arm', 'aarch64', 'riscv64'].contains(host_machine.cpu_family())
-+      _vulkan_drivers = ['amd']
-     else
-       error('Unknown architecture @0@. Please pass -Dvulkan-drivers to set driver options. Patches gladly accepted to fix this.'.format(
-             host_machine.cpu_family()))
diff --git a/mesa-20.0.3-amd-non-x86.patch b/mesa-20.0.3-amd-non-x86.patch
deleted file mode 100644
index 4aa9179..0000000
--- a/mesa-20.0.3-amd-non-x86.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up mesa-20.0.3/src/amd/addrlib/inc/addrtypes.h.2~ mesa-20.0.3/src/amd/addrlib/inc/addrtypes.h
---- mesa-20.0.3/src/amd/addrlib/inc/addrtypes.h.2~	2020-04-02 13:35:20.510114470 +0200
-+++ mesa-20.0.3/src/amd/addrlib/inc/addrtypes.h	2020-04-02 13:36:48.386741907 +0200
-@@ -87,7 +87,7 @@ typedef int            INT;
- #endif
- 
- #ifndef ADDR_FASTCALL
--    #if defined(__GNUC__)
-+    #if defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__))
-         #define ADDR_FASTCALL __attribute__((regparm(0)))
-     #else
-         #define ADDR_FASTCALL __fastcall
diff --git a/mesa-20.1-rc4-compile.patch b/mesa-20.1-rc4-compile.patch
new file mode 100644
index 0000000..3567050
--- /dev/null
+++ b/mesa-20.1-rc4-compile.patch
@@ -0,0 +1,12 @@
+diff -up mesa-20.1.0-rc4/src/gallium/auxiliary/util/u_debug_stack.c.omv~ mesa-20.1.0-rc4/src/gallium/auxiliary/util/u_debug_stack.c
+--- mesa-20.1.0-rc4/src/gallium/auxiliary/util/u_debug_stack.c.omv~	2020-05-28 04:22:47.724685959 +0200
++++ mesa-20.1.0-rc4/src/gallium/auxiliary/util/u_debug_stack.c	2020-05-28 04:23:02.093837627 +0200
+@@ -94,7 +94,7 @@ debug_backtrace_capture(struct debug_sta
+    unw_proc_info_t pip;
+    unsigned i = 0;
+ 
+-   pip.unwind_info = NULL;
++   pip.unwind_info = (intptr_t)NULL;
+ 
+    unw_getcontext(&context);
+    unw_init_local(&cursor, &context);
diff --git a/mesa-20.1.1-fix-opencl.patch b/mesa-20.1.1-fix-opencl.patch
new file mode 100644
index 0000000..f471042
--- /dev/null
+++ b/mesa-20.1.1-fix-opencl.patch
@@ -0,0 +1,306 @@
+diff -up mesa-20.3.0/src/gallium/frontends/clover/api/clApiRename.h.1~ mesa-20.3.0/src/gallium/frontends/clover/api/clApiRename.h
+--- mesa-20.3.0/src/gallium/frontends/clover/api/clApiRename.h.1~	2020-12-05 16:57:24.164472720 +0100
++++ mesa-20.3.0/src/gallium/frontends/clover/api/clApiRename.h	2020-12-05 16:57:24.164472720 +0100
+@@ -0,0 +1,148 @@
++#pragma once
++
++#define clGetPlatformIDs clGetPlatformIDsMESA
++#define GetPlatformInfo GetPlatformInfoMESA
++#define clGetDeviceIDs clGetDeviceIDsMESA
++#define clGetDeviceInfo clGetDeviceInfoMESA
++#define clCreateContext clCreateContextMESA
++#define clCreateContextFromType clCreateContextFromTypeMESA
++#define clRetainContext clRetainContextMESA
++#define clReleaseContext clReleaseContextMESA
++#define clGetContextInfo clGetContextInfoMESA
++#define clCreateCommandQueue clCreateCommandQueueMESA
++#define clRetainCommandQueue clRetainCommandQueueMESA
++#define clReleaseCommandQueue clReleaseCommandQueueMESA
++#define clGetCommandQueueInfo clGetCommandQueueInfoMESA
++#define clSetCommandQueueProperty clSetCommandQueuePropertyMESA
++#define clCreateBuffer clCreateBufferMESA
++#define clCreateImage2D clCreateImage2DMESA
++#define clCreateImage3D clCreateImage3DMESA
++#define clRetainMemObject clRetainMemObjectMESA
++#define clReleaseMemObject clReleaseMemObjectMESA
++#define clGetSupportedImageFormats clGetSupportedImageFormatsMESA
++#define clGetMemObjectInfo clGetMemObjectInfoMESA
++#define clGetImageInfo clGetImageInfoMESA
++#define clCreateSampler clCreateSamplerMESA
++#define clRetainSampler clRetainSamplerMESA
++#define clReleaseSampler clReleaseSamplerMESA
++#define clGetSamplerInfo clGetSamplerInfoMESA
++#define clCreateProgramWithSource clCreateProgramWithSourceMESA
++#define clCreateProgramWithBinary clCreateProgramWithBinaryMESA
++#define clRetainProgram clRetainProgramMESA
++#define clReleaseProgram clReleaseProgramMESA
++#define clBuildProgram clBuildProgramMESA
++#define clUnloadCompiler clUnloadCompilerMESA
++#define clGetProgramInfo clGetProgramInfoMESA
++#define clGetProgramBuildInfo clGetProgramBuildInfoMESA
++#define clCreateKernel clCreateKernelMESA
++#define clCreateKernelsInProgram clCreateKernelsInProgramMESA
++#define clRetainKernel clRetainKernelMESA
++#define clReleaseKernel clReleaseKernelMESA
++#define clSetKernelArg clSetKernelArgMESA
++#define clGetKernelInfo clGetKernelInfoMESA
++#define clGetKernelWorkGroupInfo clGetKernelWorkGroupInfoMESA
++#define clWaitForEvents clWaitForEventsMESA
++#define clGetEventInfo clGetEventInfoMESA
++#define clRetainEvent clRetainEventMESA
++#define clReleaseEvent clReleaseEventMESA
++#define clGetEventProfilingInfo clGetEventProfilingInfoMESA
++#define clFlush clFlushMESA
++#define clFinish clFinishMESA
++#define clEnqueueReadBuffer clEnqueueReadBufferMESA
++#define clEnqueueWriteBuffer clEnqueueWriteBufferMESA
++#define clEnqueueCopyBuffer clEnqueueCopyBufferMESA
++#define clEnqueueReadImage clEnqueueReadImageMESA
++#define clEnqueueWriteImage clEnqueueWriteImageMESA
++#define clEnqueueCopyImage clEnqueueCopyImageMESA
++#define clEnqueueCopyImageToBuffer clEnqueueCopyImageToBufferMESA
++#define clEnqueueCopyBufferToImage clEnqueueCopyBufferToImageMESA
++#define clEnqueueMapBuffer clEnqueueMapBufferMESA
++#define clEnqueueMapImage clEnqueueMapImageMESA
++#define clEnqueueUnmapMemObject clEnqueueUnmapMemObjectMESA
++#define clEnqueueNDRangeKernel clEnqueueNDRangeKernelMESA
++#define clEnqueueTask clEnqueueTaskMESA
++#define clEnqueueNativeKernel clEnqueueNativeKernelMESA
++#define clEnqueueMarker clEnqueueMarkerMESA
++#define clEnqueueWaitForEvents clEnqueueWaitForEventsMESA
++#define clEnqueueBarrier clEnqueueBarrierMESA
++#define GetExtensionFunctionAddress GetExtensionFunctionAddressMESA
++#define clCreateFromGLBuffer clCreateFromGLBufferMESA
++#define gclCreateFromGLTexture2D gclCreateFromGLTexture2DMESA
++#define gclCreateFromGLTexture3D gclCreateFromGLTexture3DMESA
++#define gclCreateFromGLRenderbuffer gclCreateFromGLRenderbufferMESA
++#define gclGetGLObjectInfo gclGetGLObjectInfoMESA
++#define gclGetGLTextureInfo gclGetGLTextureInfoMESA
++#define gclEnqueueAcquireGLObjects gclEnqueueAcquireGLObjectsMESA
++#define gclEnqueueReleaseGLObjects gclEnqueueReleaseGLObjectsMESA
++#define gclGetGLContextInfoKHR gclGetGLContextInfoKHRMESA
++#define gclGetDeviceIDsFromD3D10KHR gclGetDeviceIDsFromD3D10KHRMESA
++#define gclCreateFromD3D10BufferKHR gclCreateFromD3D10BufferKHRMESA
++#define gclCreateFromD3D10Texture2DKHR gclCreateFromD3D10Texture2DKHRMESA
++#define gclCreateFromD3D10Texture3DKHR gclCreateFromD3D10Texture3DKHRMESA
++#define gclEnqueueAcquireD3D10ObjectsKHR gclEnqueueAcquireD3D10ObjectsKHRMESA
++#define gclEnqueueReleaseD3D10ObjectsKHR gclEnqueueReleaseD3D10ObjectsKHRMESA
++#define clSetEventCallback clSetEventCallbackMESA
++#define clCreateSubBuffer clCreateSubBufferMESA
++#define clSetMemObjectDestructorCallback clSetMemObjectDestructorCallbackMESA
++#define clCreateUserEvent clCreateUserEventMESA
++#define clSetUserEventStatus clSetUserEventStatusMESA
++#define clEnqueueReadBufferRect clEnqueueReadBufferRectMESA
++#define clEnqueueWriteBufferRect clEnqueueWriteBufferRectMESA
++#define clEnqueueCopyBufferRect clEnqueueCopyBufferRectMESA
++#define gclCreateSubDevicesEXT gclCreateSubDevicesEXTMESA
++#define gclRetainDeviceEXT gclRetainDeviceEXTMESA
++#define gclReleaseDeviceEXT gclReleaseDeviceEXTMESA
++#define gclCreateEventFromGLsyncKHR gclCreateEventFromGLsyncKHRMESA
++#define clCreateSubDevices clCreateSubDevicesMESA
++#define clRetainDevice clRetainDeviceMESA
++#define clReleaseDevice clReleaseDeviceMESA
++#define clCreateImage clCreateImageMESA
++#define clCreateProgramWithBuiltInKernels clCreateProgramWithBuiltInKernelsMESA
++#define clCompileProgram clCompileProgramMESA
++#define clLinkProgram clLinkProgramMESA
++#define clUnloadPlatformCompiler clUnloadPlatformCompilerMESA
++#define clGetKernelArgInfo clGetKernelArgInfoMESA
++#define clEnqueueFillBuffer clEnqueueFillBufferMESA
++#define clEnqueueFillImage clEnqueueFillImageMESA
++#define clEnqueueMigrateMemObjects clEnqueueMigrateMemObjectsMESA
++#define clEnqueueMarkerWithWaitList clEnqueueMarkerWithWaitListMESA
++#define clEnqueueBarrierWithWaitList clEnqueueBarrierWithWaitListMESA
++#define GetExtensionFunctionAddressForPlatform GetExtensionFunctionAddressForPlatformMESA
++#define gclCreateFromGLTexture gclCreateFromGLTextureMESA
++#define gclGetDeviceIDsFromD3D11KHR gclGetDeviceIDsFromD3D11KHRMESA
++#define gclCreateFromD3D11BufferKHR gclCreateFromD3D11BufferKHRMESA
++#define gclCreateFromD3D11Texture2DKHR gclCreateFromD3D11Texture2DKHRMESA
++#define gclCreateFromD3D11Texture3DKHR gclCreateFromD3D11Texture3DKHRMESA
++#define gclCreateFromDX9MediaSurfaceKHR gclCreateFromDX9MediaSurfaceKHRMESA
++#define gclEnqueueAcquireD3D11ObjectsKHR gclEnqueueAcquireD3D11ObjectsKHRMESA
++#define gclEnqueueReleaseD3D11ObjectsKHR gclEnqueueReleaseD3D11ObjectsKHRMESA
++#define gclGetDeviceIDsFromDX9MediaAdapterKHR gclGetDeviceIDsFromDX9MediaAdapterKHRMESA
++#define gclEnqueueAcquireDX9MediaSurfacesKHR gclEnqueueAcquireDX9MediaSurfacesKHRMESA
++#define gclEnqueueReleaseDX9MediaSurfacesKHR gclEnqueueReleaseDX9MediaSurfacesKHRMESA
++#define gclCreateFromEGLImageKHR gclCreateFromEGLImageKHRMESA
++#define gclEnqueueAcquireEGLObjectsKHR gclEnqueueAcquireEGLObjectsKHRMESA
++#define gclEnqueueReleaseEGLObjectsKHR gclEnqueueReleaseEGLObjectsKHRMESA
++#define gclCreateEventFromEGLSyncKHR gclCreateEventFromEGLSyncKHRMESA
++#define clCreateCommandQueueWithProperties clCreateCommandQueueWithPropertiesMESA
++#define gclCreatePipe gclCreatePipeMESA
++#define gclGetPipeInfo gclGetPipeInfoMESA
++#define clSVMAlloc clSVMAllocMESA
++#define clSVMFree clSVMFreeMESA
++#define clEnqueueSVMFree clEnqueueSVMFreeMESA
++#define clEnqueueSVMMemcpy clEnqueueSVMMemcpyMESA
++#define clEnqueueSVMMemFill clEnqueueSVMMemFillMESA
++#define clEnqueueSVMMap clEnqueueSVMMapMESA
++#define clEnqueueSVMUnmap clEnqueueSVMUnmapMESA
++#define gclCreateSamplerWithProperties gclCreateSamplerWithPropertiesMESA
++#define clSetKernelArgSVMPointer clSetKernelArgSVMPointerMESA
++#define clSetKernelExecInfo clSetKernelExecInfoMESA
++#define gclGetKernelSubGroupInfoKHR gclGetKernelSubGroupInfoKHRMESA
++#define gclCloneKernel gclCloneKernelMESA
++#define gclCreateProgramWithIL gclCreateProgramWithILMESA
++#define clEnqueueSVMMigrateMem clEnqueueSVMMigrateMemMESA
++#define gclGetDeviceAndHostTimer gclGetDeviceAndHostTimerMESA
++#define gclGetHostTimer gclGetHostTimerMESA
++#define gclGetKernelSubGroupInfo gclGetKernelSubGroupInfoMESA
++#define gclSetDefaultDeviceCommandQueue gclSetDefaultDeviceCommandQueueMESA
++#define gclSetProgramReleaseCallback gclSetProgramReleaseCallbackMESA
++#define gclSetProgramSpecializationConstant gclSetProgramSpecializationConstantMESA
+diff -up mesa-20.3.0/src/gallium/frontends/clover/api/context.cpp.1~ mesa-20.3.0/src/gallium/frontends/clover/api/context.cpp
+--- mesa-20.3.0/src/gallium/frontends/clover/api/context.cpp.1~	2020-12-03 18:59:53.543230800 +0100
++++ mesa-20.3.0/src/gallium/frontends/clover/api/context.cpp	2020-12-05 16:57:24.165472735 +0100
+@@ -20,6 +20,7 @@
+ // OTHER DEALINGS IN THE SOFTWARE.
+ //
+ 
++#include "clApiRename.h"
+ #include "api/util.hpp"
+ #include "core/context.hpp"
+ #include "core/platform.hpp"
+diff -up mesa-20.3.0/src/gallium/frontends/clover/api/device.cpp.1~ mesa-20.3.0/src/gallium/frontends/clover/api/device.cpp
+--- mesa-20.3.0/src/gallium/frontends/clover/api/device.cpp.1~	2020-12-03 18:59:53.543230800 +0100
++++ mesa-20.3.0/src/gallium/frontends/clover/api/device.cpp	2020-12-05 16:57:24.165472735 +0100
+@@ -20,6 +20,7 @@
+ // OTHER DEALINGS IN THE SOFTWARE.
+ //
+ 
++#include "clApiRename.h"
+ #include "api/util.hpp"
+ #include "core/platform.hpp"
+ #include "core/device.hpp"
+diff -up mesa-20.3.0/src/gallium/frontends/clover/api/dispatch.cpp.1~ mesa-20.3.0/src/gallium/frontends/clover/api/dispatch.cpp
+--- mesa-20.3.0/src/gallium/frontends/clover/api/dispatch.cpp.1~	2020-12-03 18:59:53.543230800 +0100
++++ mesa-20.3.0/src/gallium/frontends/clover/api/dispatch.cpp	2020-12-05 16:57:24.165472735 +0100
+@@ -20,6 +20,7 @@
+ // OTHER DEALINGS IN THE SOFTWARE.
+ //
+ 
++#include "clApiRename.h"
+ #include "api/dispatch.hpp"
+ 
+ namespace clover {
+diff -up mesa-20.3.0/src/gallium/frontends/clover/api/dispatch.hpp.1~ mesa-20.3.0/src/gallium/frontends/clover/api/dispatch.hpp
+--- mesa-20.3.0/src/gallium/frontends/clover/api/dispatch.hpp.1~	2020-12-03 18:59:53.544231000 +0100
++++ mesa-20.3.0/src/gallium/frontends/clover/api/dispatch.hpp	2020-12-05 16:57:24.165472735 +0100
+@@ -23,6 +23,7 @@
+ #ifndef API_DISPATCH_HPP
+ #define API_DISPATCH_HPP
+ 
++#include "clApiRename.h"
+ #include "CL/cl.h"
+ #include "CL/cl_ext.h"
+ #include "CL/cl_egl.h"
+diff -up mesa-20.3.0/src/gallium/frontends/clover/api/event.cpp.1~ mesa-20.3.0/src/gallium/frontends/clover/api/event.cpp
+--- mesa-20.3.0/src/gallium/frontends/clover/api/event.cpp.1~	2020-12-03 18:59:53.544231000 +0100
++++ mesa-20.3.0/src/gallium/frontends/clover/api/event.cpp	2020-12-05 16:57:24.165472735 +0100
+@@ -20,6 +20,7 @@
+ // OTHER DEALINGS IN THE SOFTWARE.
+ //
+ 
++#include "clApiRename.h"
+ #include "api/util.hpp"
+ #include "core/event.hpp"
+ 
+diff -up mesa-20.3.0/src/gallium/frontends/clover/api/interop.cpp.1~ mesa-20.3.0/src/gallium/frontends/clover/api/interop.cpp
+--- mesa-20.3.0/src/gallium/frontends/clover/api/interop.cpp.1~	2020-12-03 18:59:53.544231000 +0100
++++ mesa-20.3.0/src/gallium/frontends/clover/api/interop.cpp	2020-12-05 16:57:24.165472735 +0100
+@@ -21,6 +21,7 @@
+ // OTHER DEALINGS IN THE SOFTWARE.
+ //
+ 
++#include "clApiRename.h"
+ #include "core/event.hpp"
+ #include "api/util.hpp"
+ 
+diff -up mesa-20.3.0/src/gallium/frontends/clover/api/kernel.cpp.1~ mesa-20.3.0/src/gallium/frontends/clover/api/kernel.cpp
+--- mesa-20.3.0/src/gallium/frontends/clover/api/kernel.cpp.1~	2020-12-03 18:59:53.544231000 +0100
++++ mesa-20.3.0/src/gallium/frontends/clover/api/kernel.cpp	2020-12-05 16:57:24.165472735 +0100
+@@ -20,6 +20,7 @@
+ // OTHER DEALINGS IN THE SOFTWARE.
+ //
+ 
++#include "clApiRename.h"
+ #include "api/util.hpp"
+ #include "core/kernel.hpp"
+ #include "core/event.hpp"
+diff -up mesa-20.3.0/src/gallium/frontends/clover/api/memory.cpp.1~ mesa-20.3.0/src/gallium/frontends/clover/api/memory.cpp
+--- mesa-20.3.0/src/gallium/frontends/clover/api/memory.cpp.1~	2020-12-05 16:57:24.165472735 +0100
++++ mesa-20.3.0/src/gallium/frontends/clover/api/memory.cpp	2020-12-05 17:05:04.393194879 +0100
+@@ -20,6 +20,7 @@
+ // OTHER DEALINGS IN THE SOFTWARE.
+ //
+ 
++#include "clApiRename.h"
+ #include "util/format/u_format.h"
+ #include "util/u_math.h"
+ #include "api/util.hpp"
+diff -up mesa-20.3.0/src/gallium/frontends/clover/api/platform.cpp.1~ mesa-20.3.0/src/gallium/frontends/clover/api/platform.cpp
+--- mesa-20.3.0/src/gallium/frontends/clover/api/platform.cpp.1~	2020-12-03 18:59:53.544231000 +0100
++++ mesa-20.3.0/src/gallium/frontends/clover/api/platform.cpp	2020-12-05 16:57:24.165472735 +0100
+@@ -22,6 +22,7 @@
+ 
+ #include <unordered_map>
+ 
++#include "clApiRename.h"
+ #include "api/dispatch.hpp"
+ #include "api/util.hpp"
+ #include "core/platform.hpp"
+diff -up mesa-20.3.0/src/gallium/frontends/clover/api/program.cpp.1~ mesa-20.3.0/src/gallium/frontends/clover/api/program.cpp
+--- mesa-20.3.0/src/gallium/frontends/clover/api/program.cpp.1~	2020-12-03 18:59:53.544231000 +0100
++++ mesa-20.3.0/src/gallium/frontends/clover/api/program.cpp	2020-12-05 16:57:24.165472735 +0100
+@@ -20,6 +20,7 @@
+ // OTHER DEALINGS IN THE SOFTWARE.
+ //
+ 
++#include "clApiRename.h"
+ #include "api/util.hpp"
+ #include "core/program.hpp"
+ #include "util/u_debug.h"
+diff -up mesa-20.3.0/src/gallium/frontends/clover/api/queue.cpp.1~ mesa-20.3.0/src/gallium/frontends/clover/api/queue.cpp
+--- mesa-20.3.0/src/gallium/frontends/clover/api/queue.cpp.1~	2020-12-03 18:59:53.544231000 +0100
++++ mesa-20.3.0/src/gallium/frontends/clover/api/queue.cpp	2020-12-05 16:57:24.165472735 +0100
+@@ -20,6 +20,7 @@
+ // OTHER DEALINGS IN THE SOFTWARE.
+ //
+ 
++#include "clApiRename.h"
+ #include "api/util.hpp"
+ #include "core/queue.hpp"
+ 
+diff -up mesa-20.3.0/src/gallium/frontends/clover/api/sampler.cpp.1~ mesa-20.3.0/src/gallium/frontends/clover/api/sampler.cpp
+--- mesa-20.3.0/src/gallium/frontends/clover/api/sampler.cpp.1~	2020-12-03 18:59:53.544231000 +0100
++++ mesa-20.3.0/src/gallium/frontends/clover/api/sampler.cpp	2020-12-05 16:57:24.166472749 +0100
+@@ -20,6 +20,7 @@
+ // OTHER DEALINGS IN THE SOFTWARE.
+ //
+ 
++#include "clApiRename.h"
+ #include "api/util.hpp"
+ #include "core/sampler.hpp"
+ 
+diff -up mesa-20.3.0/src/gallium/frontends/clover/api/transfer.cpp.1~ mesa-20.3.0/src/gallium/frontends/clover/api/transfer.cpp
+--- mesa-20.3.0/src/gallium/frontends/clover/api/transfer.cpp.1~	2020-12-03 18:59:53.544231000 +0100
++++ mesa-20.3.0/src/gallium/frontends/clover/api/transfer.cpp	2020-12-05 16:57:24.166472749 +0100
+@@ -22,6 +22,7 @@
+ 
+ #include <cstring>
+ 
++#include "clApiRename.h"
+ #include "util/bitscan.h"
+ 
+ #include "api/dispatch.hpp"
+diff -up mesa-20.3.0/src/gallium/frontends/clover/api/util.hpp.1~ mesa-20.3.0/src/gallium/frontends/clover/api/util.hpp
+--- mesa-20.3.0/src/gallium/frontends/clover/api/util.hpp.1~	2020-12-03 18:59:53.544231000 +0100
++++ mesa-20.3.0/src/gallium/frontends/clover/api/util.hpp	2020-12-05 16:57:24.166472749 +0100
+@@ -26,6 +26,7 @@
+ #include <cassert>
+ #include <iostream>
+ 
++#include "clApiRename.h"
+ #include "core/error.hpp"
+ #include "core/property.hpp"
+ #include "util/algorithm.hpp"
diff --git a/mesa-20.2.0-rc1-llvm-libunwind.patch b/mesa-20.2.0-rc1-llvm-libunwind.patch
new file mode 100644
index 0000000..4d6ec4e
--- /dev/null
+++ b/mesa-20.2.0-rc1-llvm-libunwind.patch
@@ -0,0 +1,12 @@
+diff -up mesa-20.2.0-rc1/src/util/u_debug_stack.c.omv~ mesa-20.2.0-rc1/src/util/u_debug_stack.c
+--- mesa-20.2.0-rc1/src/util/u_debug_stack.c.omv~	2020-08-09 19:46:22.109959412 +0200
++++ mesa-20.2.0-rc1/src/util/u_debug_stack.c	2020-08-09 19:46:26.785120395 +0200
+@@ -94,7 +94,7 @@ debug_backtrace_capture(struct debug_sta
+    unw_proc_info_t pip;
+    unsigned i = 0;
+ 
+-   pip.unwind_info = NULL;
++   pip.unwind_info = 0L;
+ 
+    unw_getcontext(&context);
+    unw_init_local(&cursor, &context);
diff --git a/mesa-20.3.0-meson-radeon-arm-riscv-ppc.patch b/mesa-20.3.0-meson-radeon-arm-riscv-ppc.patch
new file mode 100644
index 0000000..597386d
--- /dev/null
+++ b/mesa-20.3.0-meson-radeon-arm-riscv-ppc.patch
@@ -0,0 +1,39 @@
+diff -up mesa-20.3.0/meson.build.4~ mesa-20.3.0/meson.build
+--- mesa-20.3.0/meson.build.4~	2020-12-05 18:08:39.527130070 +0100
++++ mesa-20.3.0/meson.build	2020-12-05 18:13:26.131270428 +0100
+@@ -161,8 +161,8 @@ if dri_drivers.contains('auto')
+     # TODO: PPC, Sparc
+     if ['x86', 'x86_64'].contains(host_machine.cpu_family())
+       dri_drivers = ['i915', 'i965', 'r100', 'r200', 'nouveau']
+-    elif ['arm', 'aarch64'].contains(host_machine.cpu_family())
+-      dri_drivers = []
++    elif ['arm', 'aarch64', 'riscv64', 'ppc64', 'ppc64le'].contains(host_machine.cpu_family())
++      dri_drivers = ['r100', 'r200', 'nouveau']
+     elif ['mips', 'mips64'].contains(host_machine.cpu_family())
+       dri_drivers = ['r100', 'r200', 'nouveau']
+     else
+@@ -199,7 +199,12 @@ if gallium_drivers.contains('auto')
+     elif ['arm', 'aarch64'].contains(host_machine.cpu_family())
+       gallium_drivers = [
+         'kmsro', 'v3d', 'vc4', 'freedreno', 'etnaviv', 'nouveau',
+-        'tegra', 'virgl', 'lima', 'panfrost', 'swrast'
++        'tegra', 'virgl', 'lima', 'panfrost', 'swrast',
++	'r300', 'r600', 'radeonsi'
++      ]
++    elif ['riscv64', 'ppc64', 'ppc64le'].contains(host_machine.cpu_family())
++      gallium_drivers = [
++        'nouveau', 'swrast', 'r300', 'r600', 'radeonsi'
+       ]
+     elif ['mips', 'mips64'].contains(host_machine.cpu_family())
+       gallium_drivers = [
+@@ -251,8 +256,8 @@ if _vulkan_drivers.contains('auto')
+   if system_has_kms_drm
+     if host_machine.cpu_family().startswith('x86')
+       _vulkan_drivers = ['amd', 'intel', 'swrast']
+-    elif ['arm', 'aarch64'].contains(host_machine.cpu_family())
+-      _vulkan_drivers = ['swrast']
++    elif ['arm', 'aarch64', 'riscv64', 'ppc64', 'ppc64le'].contains(host_machine.cpu_family())
++      _vulkan_drivers = ['amd', 'swrast']
+     elif ['mips', 'mips64'].contains(host_machine.cpu_family())
+       _vulkan_drivers = ['amd', 'swrast']
+     else
diff --git a/mesa.spec b/mesa.spec
index 72877e1..cd3f06d 100644
--- a/mesa.spec
+++ b/mesa.spec
@@ -4,13 +4,17 @@
 # (aco) Needed for the dri drivers
 %define _disable_ld_no_undefined 1
 
-# We disable LTO because of a compile error in the Intel Vulkan driver
-# last seen with Mesa 19.2.0-rc1 and (interestingly) both gcc 9.2 and clang 9.0-rc2
-# Use BFD as ith LLD this errors occurs ld: error: TLS attribute mismatch: _glapi_tls_Dispatch
+# Mesa is used by wine and steam
+%ifarch %{x86_64}
+%bcond_without compat32
+%else
+%bcond_with compat32
+%endif
+
 # -fno-strict-aliasing is added because of numerous warnings, strict
-# aliasing might generate broekn code.
-%global optflags %{optflags} -O3 -fno-strict-aliasing -fuse-ld=gold
-%global ldflags %{ldflags} -fno-strict-aliasing
+# aliasing might generate broken code.
+%global optflags %{optflags} -O3 -fno-strict-aliasing
+%global ldflags %{build_ldflags} -fno-strict-aliasing
 
 %define git %{nil}
 %define git_branch %(echo %{version} |cut -d. -f1-2)
@@ -51,66 +55,92 @@
 %define osmesamajor 8
 %define libosmesa %mklibname osmesa %{osmesamajor}
 %define devosmesa %mklibname osmesa -d
+%define lib32osmesa libosmesa%{osmesamajor}
+%define dev32osmesa libosmesa-devel
 
 %define eglmajor 0
 %define eglname EGL_mesa
 %define libegl %mklibname %{eglname} %{eglmajor}
 %define devegl %mklibname %{eglname} -d
+%define lib32egl lib%{eglname}%{eglmajor}
+%define dev32egl lib%{eglname}-devel
 
 %define glmajor 0
 %define glname GLX_mesa
 %define libgl %mklibname %{glname} %{glmajor}
 %define devgl %mklibname GL -d
+%define lib32gl lib%{glname}%{glmajor}
+%define dev32gl libGL-devel
 
 %define devvulkan %mklibname vulkan-intel -d
+%define dev32vulkan libvulkan-intel-devel
 
 %define glesv1major 1
 %define glesv1name GLESv1_CM
 %define libglesv1 %mklibname %{glesv1name} %{glesv1major}
 %define devglesv1 %mklibname %{glesv1name} -d
+%define lib32glesv1 lib%{glesv1name}%{glesv1major}
+%define dev32glesv1 lib%{glesv1name}-devel
 
 %define glesv2major 2
 %define glesv2name GLESv2
 %define libglesv2 %mklibname %{glesv2name}_ %{glesv2major}
 %define devglesv2 %mklibname %{glesv2name} -d
+%define lib32glesv2 lib%{glesv2name}_%{glesv2major}
+%define dev32glesv2 lib%{glesv2name}-devel
 
 %define devglesv3 %mklibname glesv3 -d
+%define dev32glesv3 libglesv3-devel
 
 %define d3dmajor 1
 %define d3dname d3dadapter9
 %define libd3d %mklibname %{d3dname} %{d3dmajor}
 %define devd3d %mklibname %{d3dname} -d
+%define lib32d3d lib%{d3dname}%{d3dmajor}
+%define dev32d3d lib%{d3dname}-devel
 
 %define glapimajor 0
 %define glapiname glapi
 %define libglapi %mklibname %{glapiname} %{glapimajor}
 %define devglapi %mklibname %{glapiname} -d
+%define lib32glapi lib%{glapiname}%{glapimajor}
+%define dev32glapi lib%{glapiname}-devel
 
 %define dridrivers %mklibname dri-drivers
 %define vdpaudrivers %mklibname vdpau-drivers
+%define dridrivers32 libdri-drivers
+%define vdpaudrivers32 libvdpau-drivers
 
 %define gbmmajor 1
 %define gbmname gbm
 %define libgbm %mklibname %{gbmname} %{gbmmajor}
 %define devgbm %mklibname %{gbmname} -d
+%define lib32gbm lib%{gbmname}%{gbmmajor}
+%define dev32gbm lib%{gbmname}-devel
 
 %define xatrackermajor 2
 %define xatrackername xatracker
 %define libxatracker %mklibname %xatrackername %{xatrackermajor}
 %define devxatracker %mklibname %xatrackername -d
+%define lib32xatracker lib%{xatrackername}%{xatrackermajor}
+%define dev32xatracker lib%{xatrackername}-devel
 
 %define swravxmajor 0
 %define swravxname swravx
 %define libswravx %mklibname %swravxname %{swravxmajor}
+%define lib32swravx lib%{swravxname}%{swravxmajor}
 
 %define swravx2major 0
 %define swravx2name swravx2
 %define libswravx2 %mklibname %swravx2name %{swravx2major}
+%define lib32swravx2 lib%{swravx2name}%{swravx2major}
 
 %define clmajor 1
 %define clname mesaopencl
 %define libcl %mklibname %clname %clmajor
 %define devcl %mklibname %clname -d
+%define lib32cl lib%{clname}%{clmajor}
+%define dev32cl lib%{clname}-devel
 
 %define mesasrcdir %{_prefix}/src/Mesa/
 %define driver_dir %{_libdir}/dri
@@ -119,7 +149,7 @@
 
 Summary:	OpenGL %{opengl_ver} compatible 3D graphics library
 Name:		mesa
-Version:	20.0.7
+Version:	20.3.2
 %if "%{relc}%{git}" == ""
 Release:	1
 %else
@@ -149,6 +179,8 @@ Source100:	%{name}.rpmlintrc
 %define dricorename dricore
 %define devdricore %mklibname %{dricorename} -d
 %define libdricore %mklibname %{dricorename} 9
+%define dev32dricore lib%{dricorename}-devel
+%define lib32dricore lib%{dricorename}9
 
 Obsoletes:	%{libdricore} < %{EVRD}
 Obsoletes:	%{devdricore} < %{EVRD}
@@ -156,16 +188,19 @@ Obsoletes:	%{name}-xorg-drivers < %{EVRD}
 Obsoletes:	%{name}-xorg-drivers-radeon < %{EVRD}
 Obsoletes:	%{name}-xorg-drivers-nouveau < %{EVRD}
 
+# Without this patch, the OpenCL ICD calls into MesaOpenCL,
+# which for some reason calls back into the OpenCL ICD instead
+# of calling its own function by the same name.
+Patch0:		mesa-20.1.1-fix-opencl.patch
+# Not used in the spec; this is a test case to verify patch0
+# is still needed. If this code works without the patch, the
+# patch can be removed. If it crashes/takes forever (infinite
+# loop), the patch is still needed.
+Source50:	test.c
+
 Patch1:		mesa-19.2.3-arm32-buildfix.patch
-Patch2:		mesa-20.0.3-amd-non-x86.patch
-%ifarch %{ix86}
-Patch4:		mesa-19.2.0-rc3-32bit-buildfix.patch
-%endif
-%ifarch %{armx} riscv64
-Patch5:		mesa-19.2.0-rc3-meson-radeon-arm-riscv.patch
-%endif
-# https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3449
-Patch6:		https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3449.patch
+Patch3:		mesa-20.2.0-rc1-llvm-libunwind.patch
+Patch5:		mesa-20.3.0-meson-radeon-arm-riscv-ppc.patch
 # fedora patches
 #Patch15:	mesa-9.2-hardware-float.patch
 
@@ -249,12 +284,6 @@ BuildRequires:	pkgconfig(xvmc)
 #BuildRequires:	pkgconfig(valgrind)
 # for libsupc++.a
 BuildRequires:	stdc++-static-devel
-# (tpg) with openssl a steam crashes
-# Program received signal SIGSEGV, Segmentation fault.
-# 0xf63db8d5 in OPENSSL_ia32_cpuid () from /lib/libcrypto.so.1.0.0
-# crypto is needed for shader cache which uses the SHA-1
-# (tpg) strting from 2019-04-15 and openssl-1.1.1b-5 this is fixed
-BuildRequires:	pkgconfig(libssl) >= 1.1.1b-5
 %if %{with opencl}
 BuildRequires:	pkgconfig(libclc)
 BuildRequires:	clang-devel
@@ -274,6 +303,58 @@ BuildRequires:	pkgconfig(wayland-protocols) >= 1.8
 # package mesa
 Requires:	libGL.so.1%{_arch_tag_suffix}
 
+%if %{with compat32}
+BuildRequires:	devel(libdrm)
+BuildRequires:	devel(libX11)
+BuildRequires:	devel(libXdamage)
+BuildRequires:	devel(libXext)
+BuildRequires:	devel(libXfixes)
+BuildRequires:	devel(libXi)
+BuildRequires:	devel(libXmu)
+BuildRequires:	devel(libXt)
+BuildRequires:	devel(libXxf86vm)
+BuildRequires:	devel(libxshmfence)
+BuildRequires:	devel(libXrandr)
+BuildRequires:	devel(libxcb-dri3)
+BuildRequires:	devel(libxcb-present)
+BuildRequires:	devel(libXv)
+BuildRequires:	devel(libXvMC)
+BuildRequires:	devel(libxcb)
+BuildRequires:	devel(libXau)
+BuildRequires:	devel(libXdmcp)
+BuildRequires:	devel(libsensors)
+BuildRequires:	libsensors.so.5
+BuildRequires:	devel(libLLVMCore)
+BuildRequires:	devel(libclangCodeGen)
+BuildRequires:	devel(libclangFrontendTool)
+BuildRequires:	devel(libclangFrontend)
+BuildRequires:	devel(libclangDriver)
+BuildRequires:	devel(libclangSerialization)
+BuildRequires:	devel(libclangParse)
+BuildRequires:	devel(libclangSema)
+BuildRequires:	devel(libclangAnalysis)
+BuildRequires:	devel(libclangAST)
+BuildRequires:	devel(libclangASTMatchers)
+BuildRequires:	devel(libclangEdit)
+BuildRequires:	devel(libclangLex)
+BuildRequires:	devel(libclangBasic)
+BuildRequires:	devel(libPolly)
+BuildRequires:	devel(libzstd)
+BuildRequires:	devel(libwayland-client)
+BuildRequires:	devel(libwayland-server)
+BuildRequires:	devel(libffi)
+BuildRequires:	devel(libelf)
+BuildRequires:	devel(libunwind)
+BuildRequires:	devel(libva)
+BuildRequires:	devel(libz)
+BuildRequires:	devel(libexpat)
+BuildRequires:	devel(libvdpau)
+BuildRequires:	devel(libOpenGL)
+BuildRequires:	devel(libGLdispatch)
+BuildRequires:	devel(libXrandr)
+BuildRequires:	devel(libXrender)
+%endif
+
 %description
 Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.
 
@@ -290,6 +371,7 @@ Requires:	%{dridrivers}-radeon = %{EVRD}
 %endif
 %ifarch %{ix86} %{x86_64}
 Requires:	%{dridrivers}-intel = %{EVRD}
+Requires:	%{dridrivers}-iris = %{EVRD}
 %endif
 Requires:	%{dridrivers}-nouveau = %{EVRD}
 %endif
@@ -336,6 +418,20 @@ Suggests:	libvdpau-va-gl
 
 %description -n %{dridrivers}-intel
 DRI and XvMC drivers for Intel graphics chipsets
+
+This is the old-style driver - if you have a recent Intel GPU,
+you may also be interested in the more modern (but currently
+probably less stable) %{dridrivers}-iris package.
+
+%package -n %{dridrivers}-iris
+Summary:	More modern DRI Drivers for Intel graphics chips
+Group:		System/Libraries
+
+%description -n %{dridrivers}-iris
+A modern driver for Intel Gen 8+ graphics chipsets.
+
+This driver supports GPUs also supported by %{dridrivers}-intel.
+The -intel driver is (for now) more stable.
 %endif
 
 %package -n %{dridrivers}-nouveau
@@ -662,6 +758,228 @@ Provides:	d3d-devel = %{EVRD}
 %description -n %{devd3d}
 This package contains the headers needed to compile Direct3D 9 programs.
 
+%if %{with compat32}
+%package -n %{dridrivers32}
+Summary:	Mesa DRI drivers (32-bit)
+Group:		System/Libraries
+Requires:	%{dridrivers32}-swrast = %{EVRD}
+%if %{with r600}
+Requires:	%{dridrivers32}-radeon = %{EVRD}
+%endif
+Requires:	%{dridrivers32}-intel = %{EVRD}
+Requires:	%{dridrivers32}-iris = %{EVRD}
+Requires:	%{dridrivers32}-nouveau = %{EVRD}
+%rename %{vdpaudrivers32}
+
+%description -n %{dridrivers32}
+DRI and XvMC drivers.
+
+%package -n %{lib32gl}
+Summary:	Files for Mesa (GL and GLX libs) (32-bit)
+Group:		System/Libraries
+Suggests:	%{dridrivers32} >= %{version}-%{release}
+
+%description -n %{lib32gl}
+Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.
+GL and GLX parts.
+
+%package -n %{dev32gl}
+Summary:	Development files for Mesa (OpenGL compatible 3D lib) (32-bit)
+Group:		Development/C
+%if %{with glvnd}
+Requires:	devel(libGL)
+%endif
+Requires:	%{dev32egl}  = %{EVRD}
+Requires:	%{devgl}  = %{EVRD}
+
+%description -n %{dev32gl}
+This package contains the headers needed to compile Mesa programs.
+
+%package -n %{lib32glapi}
+Summary:	Files for mesa (glapi libs) (32-bit)
+Group:		System/Libraries
+
+%description -n %{lib32glapi}
+This package provides the glapi shared library used by gallium.
+
+%package -n %{dev32glapi}
+Summary:	Development files for glapi libs (32-bit)
+Group:		Development/C
+Requires:	%{devglapi} = %{version}-%{release}
+Requires:	%{lib32glapi} = %{version}-%{release}
+
+%description -n %{dev32glapi}
+This package contains the headers needed to compile programs against
+the glapi shared library.
+
+%package -n %{lib32gbm}
+Summary:	Files for Mesa (gbm libs) (32-bit)
+Group:		System/Libraries
+
+%description -n %{lib32gbm}
+Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.
+GBM (Graphics Buffer Manager) parts.
+
+%package -n %{dev32gbm}
+Summary:	Development files for Mesa (gbm libs) (32-bit)
+Group:		Development/C
+Requires:	%{devgbm} = %{version}-%{release}
+Requires:	%{lib32gbm} = %{version}-%{release}
+
+%description -n %{dev32gbm}
+Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.
+GBM (Graphics Buffer Manager) development parts.
+
+%package -n %{lib32xatracker}
+Summary:	Files for mesa (xatracker libs) (32-bit)
+Group:		System/Libraries
+
+%description -n %{lib32xatracker}
+This package provides the xatracker shared library used by gallium.
+
+%package -n %{dev32xatracker}
+Summary:	Development files for xatracker libs (32-bit)
+Group:		Development/C
+Requires:	%{lib32xatracker} = %{version}-%{release}
+Requires:	%{devxatracker} = %{version}-%{release}
+
+%description -n %{dev32xatracker}
+This package contains the headers needed to compile programs against
+the xatracker shared library.
+
+%package -n %{lib32osmesa}
+Summary:	Mesa offscreen rendering library (32-bit)
+Group:		System/Libraries
+
+%description -n %{lib32osmesa}
+Mesa offscreen rendering libraries for rendering OpenGL into
+application-allocated blocks of memory.
+
+%package -n %{dev32osmesa}
+Summary:	Development files for libosmesa (32-bit)
+Group:		Development/C
+Requires:	%{lib32osmesa} = %{version}-%{release}
+Requires:	%{devosmesa} = %{version}-%{release}
+
+%description -n %{dev32osmesa}
+This package contains the headers needed to compile programs against
+the Mesa offscreen rendering library.
+
+%package -n %{lib32d3d}
+Summary:	Mesa Gallium Direct3D 9 state tracker (32-bit)
+Group:		System/Libraries
+
+%description -n %{lib32d3d}
+OpenGL ES is a low-level, lightweight API for advanced embedded graphics using
+well-defined subset profiles of OpenGL.
+
+This package provides Direct3D 9 support.
+
+%package -n %{dev32d3d}
+Summary:	Development files for Direct3D 9 libs
+Group:		Development/C
+Requires:	%{devd3d} = %{version}-%{release}
+Requires:	%{lib32d3d} = %{version}-%{release}
+
+%description -n %{dev32d3d}
+This package contains the headers needed to compile Direct3D 9 programs.
+
+%package -n %{lib32egl}
+Summary:	Files for Mesa (EGL libs) (32-bit)
+Group:		System/Libraries
+%if %{with glvnd}
+Requires:	libglvnd-egl%{?_isa}
+%endif
+
+%description -n %{lib32egl}
+Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.
+EGL parts.
+
+%package -n %{dev32egl}
+Summary:	Development files for Mesa (EGL libs) (32-bit)
+Group:		Development/C
+Requires:	%{lib32egl} = %{version}-%{release}
+Requires:	%{devegl} = %{version}-%{release}
+
+%description -n %{dev32egl}
+Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.
+EGL development parts.
+
+%package -n %{dridrivers32}-intel
+Summary:	DRI Drivers for Intel graphics chipsets (32-bit)
+Group:		System/Libraries
+
+%description -n %{dridrivers32}-intel
+DRI and XvMC drivers for Intel graphics chipsets
+
+%package -n %{dridrivers32}-iris
+Summary:	Modern DRI Drivers for Intel graphics chipsets (32-bit)
+Group:		System/Libraries
+
+%description -n %{dridrivers32}-iris
+Modern DRI and XvMC drivers for Intel graphics chipsets
+
+%package -n %{dridrivers32}-radeon
+Summary:	DRI Drivers for AMD/ATI Radeon graphics chipsets (32-bit)
+Group:		System/Libraries
+
+%description -n %{dridrivers32}-radeon
+DRI and XvMC drivers for AMD/ATI Radeon graphics chipsets
+
+%package -n %{dridrivers32}-nouveau
+Summary:	DRI Drivers for NVIDIA graphics chipsets using the Nouveau driver (32-bit)
+Group:		System/Libraries
+
+%description -n %{dridrivers32}-nouveau
+DRI and XvMC drivers for Nvidia graphics chipsets
+
+%package -n %{dridrivers32}-swrast
+Summary:	DRI Drivers for software rendering (32-bit)
+Group:		System/Libraries
+
+%description -n %{dridrivers32}-swrast
+Generic DRI driver using CPU rendering
+
+%package -n %{dridrivers32}-virtio
+Summary:	DRI Drivers for virtual environments
+Group:		System/Libraries
+
+%description -n %{dridrivers32}-virtio
+Generic DRI driver for virtual environments.
+
+%package -n %{dridrivers32}-vmwgfx
+Summary:	DRI Drivers for VMWare guest OS
+Group:		System/Libraries
+
+%description -n %{dridrivers32}-vmwgfx
+DRI and XvMC drivers for VMWare guest Operating Systems.
+
+%package -n %{lib32cl}
+Summary:	Mesa OpenCL libs (32-bit)
+Group:		System/Libraries
+
+%description -n %{lib32cl}
+Open Computing Language (OpenCL) is a framework for writing programs that
+execute across heterogeneous platforms consisting of central processing units
+(CPUs), graphics processing units (GPUs), DSPs and other processors.
+
+OpenCL includes a language (based on C99) for writing kernels (functions that
+execute on OpenCL devices), plus application programming interfaces (APIs) that
+are used to define and then control the platforms. OpenCL provides parallel
+computing using task-based and data-based parallelism. OpenCL is an open
+standard maintained by the non-profit technology consortium Khronos Group.
+It has been adopted by Intel, Advanced Micro Devices, Nvidia, and ARM Holdings.
+
+%package -n %{dev32cl}
+Summary:	Development files for OpenCL libs (32-bit)
+Group:		Development/Other
+Requires:	%{lib32cl} = %{version}-%{release}
+Requires:	%{devcl} = %{version}-%{release}
+
+%description -n %{dev32cl}
+Development files for the OpenCL library
+%endif
+
 %if %{with opencl}
 %package -n %{libcl}
 Summary:	Mesa OpenCL libs
@@ -822,8 +1140,76 @@ cp -f src/mesa/drivers/dri/{radeon,r200}/radeon_screen.c || :
 %if %{with gcc}
 export CC=gcc
 export CXX=g++
+%endif
+
+%if %{with compat32}
+cat >llvm-config <<EOF
+#!/bin/sh
+/usr/bin/llvm-config "\$@" |sed -e 's,lib64,lib,g'
+EOF
+chmod +x llvm-config
+export PATH="$(pwd):${PATH}"
+
+cat >i686.cross <<EOF
+[binaries]
+pkgconfig = 'pkg-config'
+cmake = 'cmake'
+llvm-config = '$(pwd)/llvm-config'
+
+[host_machine]
+system = 'linux'
+cpu_family = 'x86'
+cpu = 'i686'
+endian = 'little'
+EOF
+
+if ! %meson32 \
+	--cross-file=i686.cross \
+	-Db_ndebug=true \
+	-Dc_std=c11 \
+	-Dcpp_std=c++17 \
+	-Ddri-drivers=auto \
+	-Dgallium-drivers=auto \
+%if %{with opencl}
+	-Dgallium-opencl=icd \
 %else
-%global ldflags %{ldflags} -fuse-ld=gold
+	-Dgallium-opencl=disabled \
+%endif
+	-Dgallium-va=enabled \
+	-Dgallium-vdpau=enabled \
+	-Dgallium-xa=enabled \
+	-Dgallium-xvmc=enabled \
+	-Dgallium-nine=true \
+	-Dglx=auto \
+	-Dplatforms=auto \
+	-Dvulkan-drivers=auto \
+	-Dxlib-lease=auto \
+	-Dosmesa=gallium \
+%if %{with glvnd}
+	-Dglvnd=true \
+%endif
+	-Ddri3=enabled \
+	-Degl=enabled \
+	-Dgbm=enabled \
+	-Dgles1=enabled \
+	-Dgles2=enabled \
+	-Dglx-direct=true \
+	-Dllvm=enabled \
+	-Dlmsensors=enabled \
+	-Dopengl=true \
+	-Dshader-cache=enabled \
+	-Dshared-glapi=enabled \
+	-Dshared-llvm=enabled \
+	-Dswr-arches=avx,avx2,knl,skx \
+	-Dselinux=false \
+	-Dbuild-tests=false \
+	-Dtools=""; then
+
+	cat build32/meson-logs/meson-log.txt >/dev/stderr
+fi
+
+%ninja_build -C build32/
+rm llvm-config
 %endif
 
 if ! %meson \
@@ -837,10 +1223,10 @@ if ! %meson \
 %else
 	-Dgallium-opencl=disabled \
 %endif
-	-Dgallium-va=true \
-	-Dgallium-vdpau=true \
-	-Dgallium-xa=true \
-	-Dgallium-xvmc=true \
+	-Dgallium-va=enabled \
+	-Dgallium-vdpau=enabled \
+	-Dgallium-xa=enabled \
+	-Dgallium-xvmc=enabled \
 	-Dgallium-nine=true \
 	-Dglx=auto \
 	-Dplatforms=auto \
@@ -850,18 +1236,18 @@ if ! %meson \
 %if %{with glvnd}
 	-Dglvnd=true \
 %endif
-	-Ddri3=true \
-	-Degl=true \
-	-Dgbm=true \
-	-Dgles1=true \
-	-Dgles2=true \
+	-Ddri3=enabled \
+	-Degl=enabled \
+	-Dgbm=enabled \
+	-Dgles1=enabled \
+	-Dgles2=enabled \
 	-Dglx-direct=true \
-	-Dllvm=true \
+	-Dllvm=enabled \
 	-Dlmsensors=true \
 	-Dopengl=true \
 	-Dshader-cache=true \
-	-Dshared-glapi=true \
-	-Dshared-llvm=true \
+	-Dshared-glapi=enabled \
+	-Dshared-llvm=enabled \
 	-Dswr-arches=avx,avx2,knl,skx \
 	-Dselinux=false \
 	-Dbuild-tests=false \
@@ -873,6 +1259,9 @@ fi
 %ninja_build -C build/
 
 %install
+%if %{with compat32}
+%ninja_install -C build32/
+%endif
 %ninja_install -C build/
 
 %if %{with glvnd}
@@ -965,8 +1354,10 @@ rm -rf %{buildroot}%{_libdir}/pkgconfig/wayland-egl.pc
 %files -n %{dridrivers}-radeon
 %{_libdir}/dri/r?00_dri.so
 %{_libdir}/dri/radeon_dri.so
-%{_libdir}/libXvMCgallium.so
+#{_libdir}/libXvMCgallium.so
+%{_libdir}/libXvMCgallium.so.1*
 %{_libdir}/libXvMCr?00.so
+%{_libdir}/libXvMCr?00.so.1*
 %{_libdir}/dri/radeonsi_dri.so
 %{_libdir}/libvulkan_radeon.so
 %{_datadir}/vulkan/icd.d/radeon_icd.*.json
@@ -994,14 +1385,29 @@ rm -rf %{buildroot}%{_libdir}/pkgconfig/wayland-egl.pc
 
 %files -n %{dridrivers}-intel
 %{_libdir}/dri/i9?5_dri.so
-%{_libdir}/dri/iris_dri.so
 %{_libdir}/libvulkan_intel.so
 %{_datadir}/vulkan/icd.d/intel_icd.*.json
+%{_libdir}/libintel_noop_drm_shim.so
+
+%files -n %{dridrivers}-iris
+%{_libdir}/dri/iris_dri.so
+%{_libdir}/gallium-pipe/pipe_iris.so
+
+%if %{with compat32}
+%files -n %{dridrivers32}-intel
+%{_prefix}/lib/dri/i9?5_dri.so
+%{_prefix}/lib/libvulkan_intel.so
+
+%files -n %{dridrivers32}-iris
+%{_prefix}/lib/dri/iris_dri.so
+%{_prefix}/lib/gallium-pipe/pipe_iris.so
+%endif
 %endif
 
 %files -n %{dridrivers}-nouveau
 %{_libdir}/dri/nouveau*_dri.so
 %{_libdir}/libXvMCnouveau.so
+%{_libdir}/libXvMCnouveau.so.1*
 %if %{with va}
 %{_libdir}/dri/nouveau_drv_video.so
 %endif
@@ -1015,6 +1421,8 @@ rm -rf %{buildroot}%{_libdir}/pkgconfig/wayland-egl.pc
 %if %{with opencl}
 %{_libdir}/gallium-pipe/pipe_swrast.so
 %endif
+%{_libdir}/libvulkan_lvp.so
+%{_datadir}/vulkan/icd.d/lvp_icd.*.json
 
 %ifnarch %{riscv}
 %files -n %{dridrivers}-virtio
@@ -1023,6 +1431,7 @@ rm -rf %{buildroot}%{_libdir}/pkgconfig/wayland-egl.pc
 
 %ifarch %{armx}
 %files -n %{dridrivers}-freedreno
+%{_bindir}/computerator
 %{_libdir}/dri/kgsl_dri.so
 %{_libdir}/dri/msm_dri.so
 %{_libdir}/libfreedreno_noop_drm_shim.so
@@ -1063,6 +1472,7 @@ rm -rf %{buildroot}%{_libdir}/pkgconfig/wayland-egl.pc
 %{_libdir}/dri/imx-dcss_dri.so
 %{_libdir}/dri/ingenic-drm_dri.so
 %{_libdir}/dri/mcde_dri.so
+%{_libdir}/dri/mediatek_dri.so
 %{_libdir}/dri/meson_dri.so
 %{_libdir}/dri/mi0283qt_dri.so
 %{_libdir}/dri/mxsfb-drm_dri.so
@@ -1241,12 +1651,12 @@ rm -rf %{buildroot}%{_libdir}/pkgconfig/wayland-egl.pc
 %{_bindir}/intel_dump_gpu
 %{_bindir}/intel_error2aub
 %{_bindir}/intel_sanitize_gpu
+%{_bindir}/intel_stub_gpu
 %{_libexecdir}/libintel_dump_gpu.so
 %{_libexecdir}/libintel_sanitize_gpu.so
 %endif
 %ifarch %{armx}
 %{_bindir}/etnaviv_compiler
-%{_bindir}/ir3_compiler
 %endif
 %{_bindir}/glsl_compiler
 %{_bindir}/glsl_test
@@ -1258,3 +1668,101 @@ rm -rf %{buildroot}%{_libdir}/pkgconfig/wayland-egl.pc
 %{_bindir}/xvmc_rendering
 %{_bindir}/xvmc_subpicture
 %{_bindir}/xvmc_surface
+
+%if %{with compat32}
+%files -n %{lib32d3d}
+%dir %{_prefix}/lib/d3d
+%{_prefix}/lib/d3d/d3dadapter9.so.%{d3dmajor}*
+
+%files -n %{dev32d3d}
+%{_prefix}/lib/d3d/d3dadapter9.so
+%{_prefix}/lib/pkgconfig/d3d.pc
+
+%files -n %{dridrivers32}-swrast
+%{_prefix}/lib/dri/swrast_dri.so
+%{_prefix}/lib/dri/kms_swrast_dri.so
+%{_prefix}/lib/gallium-pipe/pipe_swrast.so
+%{_prefix}/lib/libvulkan_lvp.so
+
+%files -n %{lib32egl}
+%{_prefix}/lib/libEGL_mesa.so.%{eglmajor}*
+
+%files -n %{dev32egl}
+%{_prefix}/lib/libEGL_mesa.so
+
+%files -n %{dridrivers32}-nouveau
+%{_prefix}/lib/dri/nouveau*_dri.so
+%{_prefix}/lib/libXvMCnouveau.so
+%{_prefix}/lib/libXvMCnouveau.so.1*
+%{_prefix}/lib/dri/nouveau_drv_video.so
+%{_prefix}/lib/gallium-pipe/pipe_nouveau.so
+%{_prefix}/lib/vdpau/libvdpau_nouveau.so*
+
+%files -n %{dridrivers32}-radeon
+%{_prefix}/lib/dri/r?00_dri.so
+%{_prefix}/lib/dri/radeon_dri.so
+#{_prefix}/lib/libXvMCgallium.so
+%{_prefix}/lib/libXvMCgallium.so.1
+%{_prefix}/lib/libXvMCr?00.so
+%{_prefix}/lib/libXvMCr?00.so.1*
+%{_prefix}/lib/dri/radeonsi_dri.so
+%{_prefix}/lib/libvulkan_radeon.so
+%{_prefix}/lib/gallium-pipe/pipe_r?00.so
+%{_prefix}/lib/dri/r600_drv_video.so
+%{_prefix}/lib/dri/radeonsi_drv_video.so
+%{_prefix}/lib/gallium-pipe/pipe_radeonsi.so
+%{_prefix}/lib/vdpau/libvdpau_r?00.so*
+%{_prefix}/lib/vdpau/libvdpau_radeonsi.so*
+%{_prefix}/lib/libXvMCr600.so
+
+%files -n %{dridrivers32}-virtio
+%{_prefix}/lib/dri/virtio_gpu_dri.so
+
+%files -n %{dridrivers32}-vmwgfx
+%{_prefix}/lib/dri/vmwgfx_dri.so
+%{_prefix}/lib/gallium-pipe/pipe_vmwgfx.so
+
+%files -n %{lib32gl}
+%{_prefix}/lib/libGLX_mesa.so.0*
+%dir %{_prefix}/lib/dri
+%dir %{_prefix}/lib/gallium-pipe
+
+%files -n %{dev32gl}
+%{_prefix}/lib/pkgconfig/dri.pc
+%{_prefix}/lib/libGLX_mesa.so
+
+%files -n %{lib32cl}
+%{_prefix}/lib/libMesaOpenCL.so.*
+
+%files -n %{dev32cl}
+%{_prefix}/lib/libMesaOpenCL.so
+
+%files -n %{lib32osmesa}
+%{_prefix}/lib/libOSMesa.so.%{osmesamajor}*
+
+%files -n %{dev32osmesa}
+%{_prefix}/lib/libOSMesa.so
+%{_prefix}/lib/pkgconfig/osmesa.pc
+
+%files -n %{lib32xatracker}
+%{_prefix}/lib/libxatracker.so.*
+
+%files -n %{dev32xatracker}
+%{_prefix}/lib/libxatracker.so
+%{_prefix}/lib/pkgconfig/xatracker.pc
+
+%files -n %{lib32gbm}
+%{_prefix}/lib/libgbm.so.*
+
+%files -n %{dev32gbm}
+%{_prefix}/lib/libgbm.so
+%{_prefix}/lib/pkgconfig/gbm.pc
+
+%files -n %{lib32glapi}
+%{_prefix}/lib/libglapi.so.*
+
+%files -n %{dev32glapi}
+%{_prefix}/lib/libglapi.so
+
+%files -n %{dridrivers32}
+%endif
diff --git a/test.c b/test.c
new file mode 100644
index 0000000..b022c56
--- /dev/null
+++ b/test.c
@@ -0,0 +1,60 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <CL/cl.h> 
+
+int main() {
+	/* Host/device data structures */
+	cl_platform_id platform;
+	cl_device_id *devices;
+	cl_uint num_devices, addr_data;
+	cl_int i, err;
+	cl_uint nplat;
+
+	/* Extension data */
+	char name_data[48], ext_data[4096];
+
+	/* Identify a platform */
+	err = clGetPlatformIDs(1, &platform, &nplat);            
+	if(err < 0) {          
+		perror("Couldn't find any platforms");
+		exit(1);
+	}
+	fprintf(stderr, "Found %u platforms\n", nplat);
+
+	/* Determine number of connected devices */
+	err = clGetDeviceIDs(platform, CL_DEVICE_TYPE_GPU, 1, NULL, &num_devices);
+	if(err < 0) {                
+	 	perror("Couldn't find any devices");
+	 	exit(1);
+	} else
+	 	fprintf(stderr, "Found %u devices\n", num_devices);
+
+	/* Access connected devices */
+	devices = (cl_device_id*)                    
+		malloc(sizeof(cl_device_id) * num_devices);        
+	clGetDeviceIDs(platform, CL_DEVICE_TYPE_GPU,             
+		num_devices, devices, NULL);               
+
+	/* Obtain data for each connected device */
+	for(i=0; i<num_devices; i++) {
+		err = clGetDeviceInfo(devices[i], CL_DEVICE_NAME,       
+			sizeof(name_data), name_data, NULL);            
+		if(err < 0) {       
+			perror("Couldn't read extension data");
+			exit(1);
+		}
+		clGetDeviceInfo(devices[i], CL_DEVICE_ADDRESS_BITS,  
+			sizeof(ext_data), &addr_data, NULL);            
+
+		clGetDeviceInfo(devices[i], CL_DEVICE_EXTENSIONS,        
+			sizeof(ext_data), ext_data, NULL);          
+
+		printf("NAME: %s\nADDRESS_WIDTH: %u\nEXTENSIONS: %s", 
+			name_data, addr_data, ext_data);
+	}
+
+	free(devices);
+	return 0;
+}
Not Available
benbullard79 [@T] cox.netNo Comment.48d 12hrs
benbullard79 [@T] cox.netNo Comment.48d 12hrs