pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: pkg/51687: x11/xf86-video-intel fix build post xserver 1.19
The following reply was made to PR pkg/51687; it has been noted by GNATS.
From: David Shao <davshao%gmail.com@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc:
Subject: Re: pkg/51687: x11/xf86-video-intel fix build post xserver 1.19
Date: Wed, 7 Dec 2016 22:20:43 -0800
Please re-open. There were some subsequent revisions to the patches
that I later discussed in this PR that did not make it to the commit.
The change to
+- assert(scrn->pScreen == NULL); /* set afterwards */
++ assert(scrn->pScreen == NULL || /* set afterwards */
++ scrn->pScreen == screen);
is extremely important. It is the difference between xorg crashing
before starting and functioning smoothly with SNA on FreeBSD 11
release. As I discussed in
http://mail-index.netbsd.org/pkgsrc-bugs/2016/12/06/msg061032.html
this is the subject of upstream patch from 2016-09-19 "sna: Update
sanity check for next stage of Xorg ABI"
https://cgit.freedesktop.org/xorg/driver/xf86-video-intel/commit/?id=b45dbdbd446108745b39b305303b457f5e876989
This change needs to be translated back using 2015-01-13 "sna: Wrap
direct access to ScrnInfoPtr->pScreen"
https://cgit.freedesktop.org/xorg/driver/xf86-video-intel/commit/?id=b7feeca0730bf55c23e5bc5af4cae9b8a73bba0e
diff -Nur x11/xf86-video-intel.orig/patches/patch-src_sna_sna__driver.c
x11/xf86-video-intel/patches/patch-src_sna_sna__driver.c
--- x11/xf86-video-intel.orig/patches/patch-src_sna_sna__driver.c
2016-12-07 13:59:54.000000000 -0800
+++ x11/xf86-video-intel/patches/patch-src_sna_sna__driver.c
2016-12-07 21:10:10.683625000 -0800
@@ -4,14 +4,14 @@
--- src/sna/sna_driver.c.orig 2014-12-11 13:52:11.000000000 +0000
+++ src/sna/sna_driver.c
-@@ -732,6 +732,7 @@ static bool has_shadow(struct sna *sna)
- return sna->mode.flip_active == 0;
+@@ -721,6 +721,7 @@ cleanup:
+ return FALSE;
}
+#if !HAVE_NOTIFY_FD
- static void
- sna_block_handler(BLOCKHANDLER_ARGS_DECL)
+ static bool has_shadow(struct sna *sna)
{
+ if (!sna->mode.shadow_damage)
@@ -778,6 +779,31 @@ sna_wakeup_handler(WAKEUPHANDLER_ARGS_DE
FD_CLR(sna->kgem.fd, (fd_set*)read_mask);
}
@@ -57,7 +57,17 @@
sna_uevent_fini(sna);
sna_mode_close(sna);
-@@ -1166,11 +1198,17 @@ sna_screen_init(SCREEN_INIT_ARGS_DECL)
+@@ -1098,7 +1130,8 @@ sna_screen_init(SCREEN_INIT_ARGS_DECL)
+ DBG(("%s\n", __FUNCTION__));
+
+ assert(sna->scrn == scrn);
+- assert(scrn->pScreen == NULL); /* set afterwards */
++ assert(scrn->pScreen == NULL || /* set afterwards */
++ scrn->pScreen == screen);
+
+ assert(sna->freed_pixmap == NULL);
+
+@@ -1166,11 +1199,17 @@ sna_screen_init(SCREEN_INIT_ARGS_DECL)
* later memory should be bound when allocating, e.g rotate_mem */
scrn->vtSema = TRUE;
diff -Nur x11/xf86-video-intel.orig/patches/patch-src_uxa_intel__driver.c
x11/xf86-video-intel/patches/patch-src_uxa_intel__driver.c
--- x11/xf86-video-intel.orig/patches/patch-src_uxa_intel__driver.c
2016-12-07 21:07:17.360038000 -0800
+++ x11/xf86-video-intel/patches/patch-src_uxa_intel__driver.c
2016-12-07 21:12:54.657019000 -0800
@@ -23,7 +23,7 @@
-intel_dirty_update(ScreenPtr screen)
+intel_dirty_update(intel_screen_private *intel)
{
-+ ScreenPtr screen = xf86ScrnToScreen(intel->scrn);
++ ScreenPtr screen = (intel->scrn)->pScreen;
RegionPtr region;
PixmapDirtyUpdatePtr ent;
Home |
Main Index |
Thread Index |
Old Index