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