|
@@ -0,0 +1,68 @@
|
|
|
|
+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
|
|
|
|
+
|
|
|
|
+Downloaded from upstream commit
|
|
|
|
+https://gitlab.freedesktop.org/xorg/driver/xf86-video-nouveau/-/commit/e80e73ced69b15662103d0fd6837db4ce6c6eb5b
|
|
|
|
+
|
|
|
|
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
|
|
|
+---
|
|
|
|
+ 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);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+--
|
|
|
|
+GitLab
|
|
|
|
+
|