summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorYurii Kolesnykov2019-09-28 16:40:01 +0300
committerYurii Kolesnykov2019-09-28 16:40:01 +0300
commit1e4ff6f909261ce8c3a596cb52ce4f5ba24b582a (patch)
tree313bc2f2cd77c1dd28505e460f648aa710a47a0f
parent6f6bb0ed7a3117bc4d4f9c784876c1a7e5a5d6e7 (diff)
downloadaur-1e4ff6f909261ce8c3a596cb52ce4f5ba24b582a.tar.gz
2.99.917+892+gc6cb1b19
Signed-off-by: Yurii Kolesnykov <root@yurikoles.com>
-rw-r--r--.SRCINFO4
-rw-r--r--0001-SNA-fix-PRIME-output-support-since-xserver-1.20.patch93
-rw-r--r--PKGBUILD10
3 files changed, 5 insertions, 102 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 972f94709f03..a9f88517a32c 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = xf86-video-intel-git
pkgdesc = X.org Intel i810/i830/i915/945G/G965+ video drivers
- pkgver = 2.99.917+870+g6f4972d5
+ pkgver = 2.99.917+892+gc6cb1b19
pkgrel = 1
epoch = 1
url = https://01.org/linuxgraphics
@@ -41,9 +41,7 @@ pkgbase = xf86-video-intel-git
replaces = xf86-video-intel-uxa
replaces = xf86-video-intel-sna
source = xf86-video-intel-git::git+https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel.git
- source = 0001-SNA-fix-PRIME-output-support-since-xserver-1.20.patch
sha256sums = SKIP
- sha256sums = 7cdc310953379ede9693a387ecac6c803cc4c4461df5ad9ab875b35e90a552f5
pkgname = xf86-video-intel-git
diff --git a/0001-SNA-fix-PRIME-output-support-since-xserver-1.20.patch b/0001-SNA-fix-PRIME-output-support-since-xserver-1.20.patch
deleted file mode 100644
index ca794780babd..000000000000
--- a/0001-SNA-fix-PRIME-output-support-since-xserver-1.20.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From e85424325911626556fbe5a313c698a5da701163 Mon Sep 17 00:00:00 2001
-From: Peter Wu <peter@lekensteyn.nl>
-Date: Mon, 13 Aug 2018 22:59:50 +0200
-Subject: [PATCH xf86-video-intel] SNA: fix PRIME output support since xserver
- 1.20
-
-Since xorg-server 1.20, an external monitor would remain blank when used
-in a PRIME output slave setup. Only a cursor was visible. The cause is
-"Make PixmapDirtyUpdateRec::src a DrawablePtr" in xserver, the "src"
-pointer might point to the root window (created by the server) instead
-of a pixmap (as created by xf86-video-intel). Use get_drawable_pixmap to
-handle both cases.
-
-When built with -fsanitize=address, the following test will trigger a
-heap-buffer-overflow error due to to_sna_from_pixmap receiving a window
-instead of a pixmap.
-
-Test on a hybrid graphics laptop (Intel + modesetting/nouveau):
-
- xrandr --setprovideroutputsource modesetting Intel
- xrandr --output DP-1-1 --mode 2560x1440 # should not crash
- glxgears # should display gears on both screens
-
-Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100086
-Signed-off-by: Peter Wu <peter@lekensteyn.nl>
----
-Tested with xserver 1.20.1 with ASAN enabled. Survives multiple
-resolution changes, works with a Plasma desktop session, it seems
-stable. Something like this patch is required to make multi-monitor
-setups usable in a hybrid graphics setting with Xorg 1.20.
----
- src/sna/sna_accel.c | 18 ++++++++++++++++++
- 1 file changed, 18 insertions(+)
-
-diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
-index 2f669bcf..80b116a3 100644
---- a/src/sna/sna_accel.c
-+++ b/src/sna/sna_accel.c
-@@ -17510,7 +17510,11 @@ static bool has_offload_slaves(struct sna *sna)
- PixmapDirtyUpdatePtr dirty;
-
- xorg_list_for_each_entry(dirty, &screen->pixmap_dirty_list, ent) {
-+#ifdef HAS_DIRTYTRACKING_DRAWABLE_SRC
-+ assert(dirty->src == &sna->front->drawable);
-+#else
- assert(dirty->src == sna->front);
-+#endif
- if (RegionNotEmpty(DamageRegion(dirty->damage)))
- return true;
- }
-@@ -17671,7 +17675,11 @@ static void sna_accel_post_damage(struct sna *sna)
- if (RegionNil(damage))
- continue;
-
-+#ifdef HAS_DIRTYTRACKING_DRAWABLE_SRC
-+ src = get_drawable_pixmap(dirty->src);
-+#else
- src = dirty->src;
-+#endif
- dst = dirty->slave_dst->master_pixmap;
-
- region.extents.x1 = dirty->x;
-@@ -17922,9 +17930,15 @@ migrate_dirty_tracking(PixmapPtr old_front, PixmapPtr new_front)
- PixmapDirtyUpdatePtr dirty, safe;
-
- xorg_list_for_each_entry_safe(dirty, safe, &screen->pixmap_dirty_list, ent) {
-+#ifdef HAS_DIRTYTRACKING_DRAWABLE_SRC
-+ assert(dirty->src == &old_front->drawable);
-+ if (dirty->src != &old_front->drawable)
-+ continue;
-+#else
- assert(dirty->src == old_front);
- if (dirty->src != old_front)
- continue;
-+#endif
-
- DamageUnregister(&dirty->src->drawable, dirty->damage);
- DamageDestroy(dirty->damage);
-@@ -17939,7 +17953,11 @@ migrate_dirty_tracking(PixmapPtr old_front, PixmapPtr new_front)
- }
-
- DamageRegister(&new_front->drawable, dirty->damage);
-+#ifdef HAS_DIRTYTRACKING_DRAWABLE_SRC
-+ dirty->src = &new_front->drawable;
-+#else
- dirty->src = new_front;
-+#endif
- }
- #endif
- }
---
-2.18.0
-
diff --git a/PKGBUILD b/PKGBUILD
index 33ad9cfa1af2..c6fd59ac1f28 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,7 +4,7 @@
pkgname=xf86-video-intel-git
_pkgname=xf86-video-intel
-pkgver=2.99.917+870+g6f4972d5
+pkgver=2.99.917+892+gc6cb1b19
pkgrel=1
epoch=1
arch=(x86_64)
@@ -26,12 +26,10 @@ optdepends=('libxrandr: for intel-virtual-output'
replaces=('xf86-video-intel-uxa' 'xf86-video-intel-sna')
provides=("${_pkgname}" 'xf86-video-intel-uxa' 'xf86-video-intel-sna')
conflicts=("${_pkgname}" 'xorg-server<1.20' 'xf86-video-intel-sna'
- 'xf86-video-intel-sna' 'xf86-video-intel-uxa' 'xf86-video-i810' 'xf86-video-intel-legacy')
+ 'xf86-video-intel-sna' 'xf86-video-intel-uxa' 'xf86-video-i810' 'xf86-video-intel-legacy')
groups=('xorg-drivers')
-source=("$pkgname::git+https://gitlab.freedesktop.org/xorg/driver/${_pkgname}.git"
- 0001-SNA-fix-PRIME-output-support-since-xserver-1.20.patch)
-sha256sums=('SKIP'
- '7cdc310953379ede9693a387ecac6c803cc4c4461df5ad9ab875b35e90a552f5')
+source=("$pkgname::git+https://gitlab.freedesktop.org/xorg/driver/${_pkgname}.git")
+sha256sums=('SKIP')
pkgver() {
cd $pkgname