gnu: xf86-video-nouveau: Use upstream patch for xorg-server 21.1.

* gnu/packages/patches/xf86-video-nouveau-fixup-ABI.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/xorg.scm (xf86-video-nouveau): Use it.

Signed-off-by: Timothy Sample <samplet@ngyro.com>
This commit is contained in:
Josselin Poiret 2021-11-18 14:07:28 +00:00 committed by Timothy Sample
parent 5726411038
commit 674dbeb436
No known key found for this signature in database
GPG key ID: 2AC6A5EC1C357C59
3 changed files with 67 additions and 1 deletions

View file

@ -1887,6 +1887,7 @@ dist_patch_DATA = \
%D%/packages/patches/xf86-video-ark-remove-mibstore.patch \
%D%/packages/patches/xf86-video-mach64-bool-to-boolean.patch \
%D%/packages/patches/xf86-video-mach64-glibc-2.20.patch \
%D%/packages/patches/xf86-video-nouveau-fixup-ABI.patch \
%D%/packages/patches/xf86-video-savage-xorg-compat.patch \
%D%/packages/patches/xf86-video-siliconmotion-fix-ftbfs.patch \
%D%/packages/patches/xf86-video-tga-remove-mibstore.patch \

View file

@ -0,0 +1,64 @@
From e80e73ced69b15662103d0fd6837db4ce6c6eb5b Mon Sep 17 00:00:00 2001
From: Dave Airlie <airlied@redhat.com>
Date: Mon, 13 Jul 2020 09:20:15 +1000
Subject: [PATCH] nouveau: fixup driver for new X server ABI
---
src/compat-api.h | 4 ++++
src/nouveau_exa.c | 2 +-
src/nv_driver.c | 6 +++---
3 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/src/compat-api.h b/src/compat-api.h
index fde2f4b..8a1fcf9 100644
--- a/src/compat-api.h
+++ b/src/compat-api.h
@@ -102,4 +102,8 @@
#endif
+#if ABI_VIDEODRV_VERSION < SET_ABI_VERSION(25, 2)
+#define secondary_dst slave_dst
+#endif
+
#endif
diff --git a/src/nouveau_exa.c b/src/nouveau_exa.c
index 55df6f8..db3b112 100644
--- a/src/nouveau_exa.c
+++ b/src/nouveau_exa.c
@@ -157,7 +157,7 @@ nouveau_exa_destroy_pixmap(ScreenPtr pScreen, void *priv)
#ifdef NOUVEAU_PIXMAP_SHARING
static Bool
-nouveau_exa_share_pixmap_backing(PixmapPtr ppix, ScreenPtr slave, void **handle_p)
+nouveau_exa_share_pixmap_backing(PixmapPtr ppix, ScreenPtr secondary, void **handle_p)
{
struct nouveau_bo *bo = nouveau_pixmap_bo(ppix);
struct nouveau_pixmap *nvpix = nouveau_pixmap(ppix);
diff --git a/src/nv_driver.c b/src/nv_driver.c
index e72a6b6..f9ab4af 100644
--- a/src/nv_driver.c
+++ b/src/nv_driver.c
@@ -559,16 +559,16 @@ redisplay_dirty(ScreenPtr screen, PixmapDirtyUpdatePtr dirty)
{
RegionRec pixregion;
- PixmapRegionInit(&pixregion, dirty->slave_dst);
+ PixmapRegionInit(&pixregion, dirty->secondary_dst);
- DamageRegionAppend(&dirty->slave_dst->drawable, &pixregion);
+ DamageRegionAppend(&dirty->secondary_dst->drawable, &pixregion);
#ifdef HAS_DIRTYTRACKING_ROTATION
PixmapSyncDirtyHelper(dirty);
#else
PixmapSyncDirtyHelper(dirty, &pixregion);
#endif
- DamageRegionProcessPending(&dirty->slave_dst->drawable);
+ DamageRegionProcessPending(&dirty->secondary_dst->drawable);
RegionUninit(&pixregion);
}
--
2.33.1

View file

@ -3237,7 +3237,8 @@ (define-public xf86-video-nouveau
(uri (string-append "mirror://xorg/individual/driver/xf86-video-nouveau-"
version ".tar.bz2"))
(sha256
(base32 "0sqm1jwjg15sp8v7039y2hsbhph8gpjd2bdzcqqiij2mgbi254s9"))))
(base32 "0sqm1jwjg15sp8v7039y2hsbhph8gpjd2bdzcqqiij2mgbi254s9"))
(patches (search-patches "xf86-video-nouveau-fixup-ABI.patch"))))
(build-system gnu-build-system)
(inputs `(("xorg-server" ,xorg-server)))
(native-inputs `(("pkg-config" ,pkg-config)))