import mesa-20.1.4-1.el8
This commit is contained in:
parent
f053d63396
commit
8ba06a9079
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
|||||||
SOURCES/mesa-19.3.4.tar.xz
|
SOURCES/mesa-20.1.4.tar.xz
|
||||||
|
@ -1 +1 @@
|
|||||||
73dccea365efef46c700bcfd87d14209381efa3d SOURCES/mesa-19.3.4.tar.xz
|
78243cd7152a8ba759f8f2bdfcf0a877b455e351 SOURCES/mesa-20.1.4.tar.xz
|
||||||
|
@ -1,77 +0,0 @@
|
|||||||
From 7881d29f2c729e4a8a5af21a0abcf3db18e22918 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Dave Airlie <airlied@redhat.com>
|
|
||||||
Date: Fri, 14 Feb 2020 15:00:13 +1000
|
|
||||||
Subject: [PATCH 1/2] dri: add another get shm variant.
|
|
||||||
|
|
||||||
When Brian in 02c3dad0f3b4d26e0faa5cc51d06bc50d693dcdc restricted
|
|
||||||
the shm permissions it means we hit the fallback paths in some
|
|
||||||
scenarios we hadn't before.
|
|
||||||
|
|
||||||
When you use Xephyr to xdmcp from one user to another the new perms
|
|
||||||
stop the X server (running as user a) attaching to the SHM segments
|
|
||||||
from gnome-shell (running as user b).
|
|
||||||
|
|
||||||
In this case however only the GLX side of the code had insight into this,
|
|
||||||
and the dri could was meant of fall back, and it worked for put image
|
|
||||||
fine but the get image path was broken, since there was no indication
|
|
||||||
in the broken case of the need to fallback.
|
|
||||||
|
|
||||||
This adds a return type to a new interface member that lets the
|
|
||||||
caller know it has to fallback.
|
|
||||||
|
|
||||||
Fixes: 02c3dad0f3b4 ("Call shmget() with permission 0600 instead of 0777")
|
|
||||||
---
|
|
||||||
include/GL/internal/dri_interface.h | 15 ++++++++++++++-
|
|
||||||
src/gallium/state_trackers/dri/drisw.c | 3 +++
|
|
||||||
2 files changed, 17 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/include/GL/internal/dri_interface.h b/include/GL/internal/dri_interface.h
|
|
||||||
index 09782c8baeb..e40106575c0 100644
|
|
||||||
--- a/include/GL/internal/dri_interface.h
|
|
||||||
+++ b/include/GL/internal/dri_interface.h
|
|
||||||
@@ -634,7 +634,7 @@ struct __DRIdamageExtensionRec {
|
|
||||||
* SWRast Loader extension.
|
|
||||||
*/
|
|
||||||
#define __DRI_SWRAST_LOADER "DRI_SWRastLoader"
|
|
||||||
-#define __DRI_SWRAST_LOADER_VERSION 5
|
|
||||||
+#define __DRI_SWRAST_LOADER_VERSION 6
|
|
||||||
struct __DRIswrastLoaderExtensionRec {
|
|
||||||
__DRIextension base;
|
|
||||||
|
|
||||||
@@ -711,6 +711,19 @@ struct __DRIswrastLoaderExtensionRec {
|
|
||||||
int width, int height, int stride,
|
|
||||||
int shmid, char *shmaddr, unsigned offset,
|
|
||||||
void *loaderPrivate);
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * get shm image to drawable (v2)
|
|
||||||
+ *
|
|
||||||
+ * There are some cases where GLX can't use SHM, but DRI
|
|
||||||
+ * still tries, we need to get a return type for when to
|
|
||||||
+ * fallback to the non-shm path.
|
|
||||||
+ *
|
|
||||||
+ * \since 6
|
|
||||||
+ */
|
|
||||||
+ GLboolean (*getImageShm2)(__DRIdrawable *readable,
|
|
||||||
+ int x, int y, int width, int height,
|
|
||||||
+ int shmid, void *loaderPrivate);
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
diff --git a/src/gallium/state_trackers/dri/drisw.c b/src/gallium/state_trackers/dri/drisw.c
|
|
||||||
index e3fb3f1b925..df364c47391 100644
|
|
||||||
--- a/src/gallium/state_trackers/dri/drisw.c
|
|
||||||
+++ b/src/gallium/state_trackers/dri/drisw.c
|
|
||||||
@@ -138,6 +138,9 @@ get_image_shm(__DRIdrawable *dPriv, int x, int y, int width, int height,
|
|
||||||
if (!res->screen->resource_get_handle(res->screen, NULL, res, &whandle, PIPE_HANDLE_USAGE_FRAMEBUFFER_WRITE))
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
+ if (loader->base.version > 5 && loader->getImageShm2)
|
|
||||||
+ return loader->getImageShm2(dPriv, x, y, width, height, whandle.handle, dPriv->loaderPrivate);
|
|
||||||
+
|
|
||||||
loader->getImageShm(dPriv, x, y, width, height, whandle.handle, dPriv->loaderPrivate);
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
--
|
|
||||||
2.21.1
|
|
||||||
|
|
@ -0,0 +1,34 @@
|
|||||||
|
From d3ec950f0d8492b980a91844ffd744d7e7824277 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ben Skeggs <bskeggs@redhat.com>
|
||||||
|
Date: Sat, 6 Jun 2020 16:58:00 +1000
|
||||||
|
Subject: [PATCH] nir: use bitfield_insert instead of bfi in
|
||||||
|
nir_lower_double_ops
|
||||||
|
|
||||||
|
NVIDIA hardware doesn't have an equivilant to bfi, but we do already have
|
||||||
|
a lowering for bitfield_insert->bfi.
|
||||||
|
|
||||||
|
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
||||||
|
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
|
||||||
|
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5373>
|
||||||
|
---
|
||||||
|
src/compiler/nir/nir_lower_double_ops.c | 4 +++-
|
||||||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/compiler/nir/nir_lower_double_ops.c b/src/compiler/nir/nir_lower_double_ops.c
|
||||||
|
index f9c93a910a5..73226fd62ef 100644
|
||||||
|
--- a/src/compiler/nir/nir_lower_double_ops.c
|
||||||
|
+++ b/src/compiler/nir/nir_lower_double_ops.c
|
||||||
|
@@ -49,7 +49,9 @@ set_exponent(nir_builder *b, nir_ssa_def *src, nir_ssa_def *exp)
|
||||||
|
/* The exponent is bits 52-62, or 20-30 of the high word, so set the exponent
|
||||||
|
* to 1023
|
||||||
|
*/
|
||||||
|
- nir_ssa_def *new_hi = nir_bfi(b, nir_imm_int(b, 0x7ff00000), exp, hi);
|
||||||
|
+ nir_ssa_def *new_hi = nir_bitfield_insert(b, hi, exp,
|
||||||
|
+ nir_imm_int(b, 20),
|
||||||
|
+ nir_imm_int(b, 11));
|
||||||
|
/* recombine */
|
||||||
|
return nir_pack_64_2x32_split(b, lo, new_hi);
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.26.2
|
||||||
|
|
@ -1,77 +0,0 @@
|
|||||||
From 74e4f90deeae466ed19d2a31d8f62f6fc5e1709b Mon Sep 17 00:00:00 2001
|
|
||||||
From: Dave Airlie <airlied@redhat.com>
|
|
||||||
Date: Fri, 14 Feb 2020 15:03:24 +1000
|
|
||||||
Subject: [PATCH 2/2] glx: add getImageShm2 path
|
|
||||||
|
|
||||||
If the glx side shmid is -1 (because the X server failed to attach)
|
|
||||||
then we should let the caller know to fallback.
|
|
||||||
|
|
||||||
Fixes: 02c3dad0f3b4 ("Call shmget() with permission 0600 instead of 0777")
|
|
||||||
---
|
|
||||||
src/glx/drisw_glx.c | 25 +++++++++++++++++++------
|
|
||||||
1 file changed, 19 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c
|
|
||||||
index 069f64d5216..dfa3218d759 100644
|
|
||||||
--- a/src/glx/drisw_glx.c
|
|
||||||
+++ b/src/glx/drisw_glx.c
|
|
||||||
@@ -288,10 +288,10 @@ swrastGetImage(__DRIdrawable * read,
|
|
||||||
swrastGetImage2(read, x, y, w, h, 0, data, loaderPrivate);
|
|
||||||
}
|
|
||||||
|
|
||||||
-static void
|
|
||||||
-swrastGetImageShm(__DRIdrawable * read,
|
|
||||||
- int x, int y, int w, int h,
|
|
||||||
- int shmid, void *loaderPrivate)
|
|
||||||
+static GLboolean
|
|
||||||
+swrastGetImageShm2(__DRIdrawable * read,
|
|
||||||
+ int x, int y, int w, int h,
|
|
||||||
+ int shmid, void *loaderPrivate)
|
|
||||||
{
|
|
||||||
struct drisw_drawable *prp = loaderPrivate;
|
|
||||||
__GLXDRIdrawable *pread = &(prp->base);
|
|
||||||
@@ -301,8 +301,11 @@ swrastGetImageShm(__DRIdrawable * read,
|
|
||||||
|
|
||||||
if (!prp->ximage || shmid != prp->shminfo.shmid) {
|
|
||||||
if (!XCreateDrawable(prp, shmid, dpy))
|
|
||||||
- return;
|
|
||||||
+ return GL_FALSE;
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ if (prp->shminfo.shmid == -1)
|
|
||||||
+ return GL_FALSE;
|
|
||||||
readable = pread->xDrawable;
|
|
||||||
|
|
||||||
ximage = prp->ximage;
|
|
||||||
@@ -312,10 +315,19 @@ swrastGetImageShm(__DRIdrawable * read,
|
|
||||||
ximage->bytes_per_line = bytes_per_line(w * ximage->bits_per_pixel, 32);
|
|
||||||
|
|
||||||
XShmGetImage(dpy, readable, ximage, x, y, ~0L);
|
|
||||||
+ return GL_TRUE;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static void
|
|
||||||
+swrastGetImageShm(__DRIdrawable * read,
|
|
||||||
+ int x, int y, int w, int h,
|
|
||||||
+ int shmid, void *loaderPrivate)
|
|
||||||
+{
|
|
||||||
+ swrastGetImageShm2(read, x, y, w, h, shmid, loaderPrivate);
|
|
||||||
}
|
|
||||||
|
|
||||||
static const __DRIswrastLoaderExtension swrastLoaderExtension_shm = {
|
|
||||||
- .base = {__DRI_SWRAST_LOADER, 5 },
|
|
||||||
+ .base = {__DRI_SWRAST_LOADER, 6 },
|
|
||||||
|
|
||||||
.getDrawableInfo = swrastGetDrawableInfo,
|
|
||||||
.putImage = swrastPutImage,
|
|
||||||
@@ -325,6 +337,7 @@ static const __DRIswrastLoaderExtension swrastLoaderExtension_shm = {
|
|
||||||
.putImageShm = swrastPutImageShm,
|
|
||||||
.getImageShm = swrastGetImageShm,
|
|
||||||
.putImageShm2 = swrastPutImageShm2,
|
|
||||||
+ .getImageShm2 = swrastGetImageShm2,
|
|
||||||
};
|
|
||||||
|
|
||||||
static const __DRIextension *loader_extensions_shm[] = {
|
|
||||||
--
|
|
||||||
2.21.1
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
VERSION ?= 19.3.4
|
VERSION ?= 20.1.4
|
||||||
SANITIZE ?= 1
|
SANITIZE ?= 1
|
||||||
|
|
||||||
DIRNAME = mesa-${VERSION}
|
DIRNAME = mesa-${VERSION}
|
||||||
@ -10,7 +10,7 @@ clean:
|
|||||||
rm -f mesa-${VERSION}.tar.xz
|
rm -f mesa-${VERSION}.tar.xz
|
||||||
|
|
||||||
clone: clean
|
clone: clean
|
||||||
curl -O https://mesa.freedesktop.org/archive/mesa-${VERSION}.tar.xz
|
curl -O https://archive.mesa3d.org/mesa-${VERSION}.tar.xz
|
||||||
tar xf mesa-${VERSION}.tar.xz
|
tar xf mesa-${VERSION}.tar.xz
|
||||||
|
|
||||||
sanitize: clone vl_mpeg12_decoder.c vl_decoder.c
|
sanitize: clone vl_mpeg12_decoder.c vl_decoder.c
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
diff -up mesa-19.3.3/src/glx/drisw_glx.c.dma mesa-19.3.3/src/glx/drisw_glx.c
|
|
||||||
--- mesa-19.3.3/src/glx/drisw_glx.c.dma 2020-02-14 12:37:42.551008273 +1000
|
|
||||||
+++ mesa-19.3.3/src/glx/drisw_glx.c 2020-02-14 12:37:49.683081406 +1000
|
|
||||||
@@ -199,7 +199,7 @@ swrastXPutImage(__DRIdrawable * draw, in
|
|
||||||
XShmPutImage(dpy, drawable, gc, ximage, srcx, srcy, x, y, w, h, False);
|
|
||||||
XSync(dpy, False);
|
|
||||||
} else {
|
|
||||||
- ximage->width = w;
|
|
||||||
+ ximage->width = ximage->bytes_per_line / ((ximage->bits_per_pixel + 7)/ 8);
|
|
||||||
ximage->height = h;
|
|
||||||
XPutImage(dpy, drawable, gc, ximage, srcx, srcy, x, y, w, h);
|
|
||||||
}
|
|
10387
SOURCES/nouveau-tu1xx-support.patch
Normal file
10387
SOURCES/nouveau-tu1xx-support.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -12,6 +12,7 @@
|
|||||||
%define platform_drivers ,i965
|
%define platform_drivers ,i965
|
||||||
%define with_vmware 1
|
%define with_vmware 1
|
||||||
%define with_xa 1
|
%define with_xa 1
|
||||||
|
%define with_iris 1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%ifarch %{ix86} x86_64
|
%ifarch %{ix86} x86_64
|
||||||
@ -40,8 +41,8 @@
|
|||||||
|
|
||||||
Name: mesa
|
Name: mesa
|
||||||
Summary: Mesa graphics libraries
|
Summary: Mesa graphics libraries
|
||||||
Version: 19.3.4
|
Version: 20.1.4
|
||||||
Release: 2%{?rctag:.%{rctag}}%{?dist}
|
Release: 1%{?rctag:.%{rctag}}%{?dist}
|
||||||
|
|
||||||
License: MIT
|
License: MIT
|
||||||
URL: http://www.mesa3d.org
|
URL: http://www.mesa3d.org
|
||||||
@ -55,11 +56,9 @@ Source3: Makefile
|
|||||||
# Fedora opts to ignore the optional part of clause 2 and treat that code as 2 clause BSD.
|
# Fedora opts to ignore the optional part of clause 2 and treat that code as 2 clause BSD.
|
||||||
Source4: Mesa-MLAA-License-Clarification-Email.txt
|
Source4: Mesa-MLAA-License-Clarification-Email.txt
|
||||||
|
|
||||||
# fix for shm black images with Xephyr (#1798702)
|
# Add support for TU11x nvidia
|
||||||
# upstream in 19.3.5 most likely
|
Patch10: 0001-nir-use-bitfield_insert-instead-of-bfi-in-nir_lower_.patch
|
||||||
Patch0: 0001-dri-add-another-get-shm-variant.patch
|
Patch11: nouveau-tu1xx-support.patch
|
||||||
Patch1: 0002-glx-add-getImageShm2-path.patch
|
|
||||||
Patch2: dri-shm-fix-put-image.patch
|
|
||||||
|
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
@ -328,7 +327,7 @@ export ASFLAGS="--generate-missing-build-notes=yes"
|
|||||||
-Ddri3=true \
|
-Ddri3=true \
|
||||||
-Ddri-drivers=%{?dri_drivers} \
|
-Ddri-drivers=%{?dri_drivers} \
|
||||||
%if 0%{?with_hardware}
|
%if 0%{?with_hardware}
|
||||||
-Dgallium-drivers=swrast,virgl,nouveau%{?with_vmware:,svga},radeonsi,r600%{?with_freedreno:,freedreno}%{?with_etnaviv:,etnaviv}%{?with_tegra:,tegra}%{?with_vc4:,vc4}%{?with_kmsro:,kmsro} \
|
-Dgallium-drivers=swrast%{?with_iris:,iris},virgl,nouveau%{?with_vmware:,svga},radeonsi,r600%{?with_freedreno:,freedreno}%{?with_etnaviv:,etnaviv}%{?with_tegra:,tegra}%{?with_vc4:,vc4}%{?with_kmsro:,kmsro} \
|
||||||
%else
|
%else
|
||||||
-Dgallium-drivers=swrast,virgl \
|
-Dgallium-drivers=swrast,virgl \
|
||||||
%endif
|
%endif
|
||||||
@ -355,6 +354,7 @@ export ASFLAGS="--generate-missing-build-notes=yes"
|
|||||||
-Dbuild-tests=false \
|
-Dbuild-tests=false \
|
||||||
-Dselinux=true \
|
-Dselinux=true \
|
||||||
-Dosmesa=gallium \
|
-Dosmesa=gallium \
|
||||||
|
-Dvulkan-device-select-layer=true \
|
||||||
%{nil}
|
%{nil}
|
||||||
%meson_build
|
%meson_build
|
||||||
|
|
||||||
@ -489,6 +489,7 @@ done
|
|||||||
%{_libdir}/dri/radeonsi_dri.so
|
%{_libdir}/dri/radeonsi_dri.so
|
||||||
%ifarch %{ix86} x86_64
|
%ifarch %{ix86} x86_64
|
||||||
%{_libdir}/dri/i965_dri.so
|
%{_libdir}/dri/i965_dri.so
|
||||||
|
%{_libdir}/dri/iris_dri.so
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?with_vc4}
|
%if 0%{?with_vc4}
|
||||||
%{_libdir}/dri/vc4_dri.so
|
%{_libdir}/dri/vc4_dri.so
|
||||||
@ -537,12 +538,38 @@ done
|
|||||||
%{_datadir}/vulkan/icd.d/intel_icd.i686.json
|
%{_datadir}/vulkan/icd.d/intel_icd.i686.json
|
||||||
%{_datadir}/vulkan/icd.d/radeon_icd.i686.json
|
%{_datadir}/vulkan/icd.d/radeon_icd.i686.json
|
||||||
%endif
|
%endif
|
||||||
|
%{_libdir}/libVkLayer_MESA_device_select.so
|
||||||
|
%{_datadir}/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json
|
||||||
|
|
||||||
%files vulkan-devel
|
%files vulkan-devel
|
||||||
%{_includedir}/vulkan/
|
%{_includedir}/vulkan/
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Aug 05 2020 Dave Airlie <airlied@redhat.com> - 20.1.4-1
|
||||||
|
- Update to 20.1.4
|
||||||
|
- Update nouveau tu1xx support patch (Karol)
|
||||||
|
|
||||||
|
* Mon Jun 29 2020 Dave Airlie <airlied@redhat.com> - 20.1.2-3
|
||||||
|
- a fix on top of the big-endian fix (#1847064)
|
||||||
|
|
||||||
|
* Mon Jun 29 2020 Dave Airlie <airlied@redhat.com> - 20.1.2-2
|
||||||
|
- add another fix for big-endian llvmpipe (#1847064)
|
||||||
|
|
||||||
|
* Mon Jun 29 2020 Dave Airlie <airlied@redhat.com> - 20.1.2-1
|
||||||
|
- Update to 20.1.2
|
||||||
|
- add fix for big-endian llvmpipe (#1847064)
|
||||||
|
|
||||||
|
* Thu Jun 11 2020 Dave Airlie <airlied@redhat.com> - 20.1.1-1
|
||||||
|
- Update to 20.1.1
|
||||||
|
- Add support for turing
|
||||||
|
|
||||||
|
* Thu May 28 2020 Dave Airlie <airlied@redhat.com> - 20.1.0-1
|
||||||
|
- Update to 20.1.0 final
|
||||||
|
|
||||||
|
* Mon May 25 2020 Dave Airlie <airlied@redhat.com> - 20.1.0-0.1.rc4
|
||||||
|
- Update to 20.1.0-rc4
|
||||||
|
|
||||||
* Thu Feb 20 2020 Dave Airlie <airlied@redhat.com> - 19.3.4-2
|
* Thu Feb 20 2020 Dave Airlie <airlied@redhat.com> - 19.3.4-2
|
||||||
- Fix put image shm fallback path.
|
- Fix put image shm fallback path.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user