[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xserver-xorg-video-intel: Changes to 'debian-jessie-backports'



 README                      |    6 +-
 debian/changelog            |   22 ++++++++++
 debian/control              |    6 +-
 debian/copyright            |    2 
 debian/rules                |    5 --
 debian/source/local-options |    1 
 debian/watch                |    2 
 man/intel.man               |    6 +-
 src/backlight.c             |   28 ++++++++++--
 src/i915_pciids.h           |    4 +
 src/intel_module.c          |   39 ++++++++++++++++-
 src/sna/brw/brw_eu_emit.c   |    2 
 src/sna/gen9_render.c       |   28 ++++++++++++
 src/sna/sna.h               |    3 +
 src/sna/sna_accel.c         |   32 +++++++-------
 src/sna/sna_display.c       |   96 ++++++++++++++++++++++++++++----------------
 src/sna/sna_display_fake.c  |   10 ----
 src/sna/sna_driver.c        |    6 +-
 src/sna/sna_present.c       |    4 -
 src/sna/sna_render.h        |    1 
 src/sna/sna_video_sprite.c  |   28 ++++++++----
 tools/virtual.c             |   24 ++++++++---
 22 files changed, 255 insertions(+), 100 deletions(-)

New commits:
commit 89f9990dd871dd01d06097f536ba0e339b988608
Author: Vincent Cheng <vcheng@debian.org>
Date:   Sun Jan 1 22:59:17 2017 -0800

    add bpo changelog stub

diff --git a/debian/changelog b/debian/changelog
index 64058c2..3558d39 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xserver-xorg-video-intel (2:2.99.917+git20161206-1~bpo8+1) jessie-backports; urgency=medium
+
+  * Rebuild for jessie-backports.
+  * Revert debhelper compat level back to 9.
+
+ -- Vincent Cheng <vcheng@debian.org>  Sun, 01 Jan 2017 22:58:12 -0800
+
 xserver-xorg-video-intel (2:2.99.917+git20161206-1) unstable; urgency=medium
 
   [ Andreas Boll ]

commit 238f062980584080806baf2cbca663bc4b92832a
Author: Vincent Cheng <vcheng@debian.org>
Date:   Sun Jan 1 22:57:47 2017 -0800

    Revert "Bump debhelper compat to 10."
    
    This reverts commit 2c32f4303af63f0476b4f0576f0935f2b1182151.

diff --git a/debian/compat b/debian/compat
index f599e28..45a4fb7 100644
--- a/debian/compat
+++ b/debian/compat
@@ -1 +1 @@
-10
+8
diff --git a/debian/control b/debian/control
index 2925afc..f0e86db 100644
--- a/debian/control
+++ b/debian/control
@@ -8,7 +8,8 @@ Uploaders:
  maximilian attems <maks@debian.org>,
  Vincent Cheng <vcheng@debian.org>,
 Build-Depends:
- debhelper (>= 10),
+ debhelper (>= 8),
+ dh-autoreconf,
  pkg-config,
  xserver-xorg-dev (>= 2:1.11.99.901),
  x11proto-core-dev,
diff --git a/debian/rules b/debian/rules
index 600a976..8cd8e3a 100755
--- a/debian/rules
+++ b/debian/rules
@@ -4,6 +4,10 @@ SOURCE_NAME    := $(shell dpkg-parsechangelog | awk -F': ' '/^Source: / {print $
 SOURCE_VERSION := $(shell dpkg-parsechangelog | awk -F': ' '/^Version: / {print $$2}')
 BUILDER        := $(shell dpkg-parsechangelog | awk -F': ' '/^Maintainer: / {print $$2}')
 
+export CPPFLAGS := $(shell dpkg-buildflags --get CPPFLAGS)
+export CFLAGS := $(shell dpkg-buildflags --get CFLAGS)
+export LDFLAGS := $(shell dpkg-buildflags --get LDFLAGS)
+
 DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
 
 ifeq ($(DEB_HOST_ARCH_OS), linux)
@@ -17,8 +21,6 @@ override_dh_auto_configure:
 	dh_auto_configure -- \
 	    --enable-sna \
 	    --enable-uxa \
-	    --libdir=/usr/lib \
-	    --libexecdir=/usr/lib/xserver-xorg-video-intel \
 	    --with-builderstring="$(SOURCE_NAME) $(SOURCE_VERSION) ($(BUILDER))" \
 	    $(valgrind)
 
@@ -44,7 +46,7 @@ override_dh_installchangelogs:
 	dh_installchangelogs debian/upstream.changelog
 
 %:
-	dh $@ --with quilt,xsf --builddirectory=build/
+	dh $@ --parallel --with quilt,autoreconf,xsf --builddirectory=build/
 
 # Snapshots should only target experimental:
 generate-snapshot: UPSTREAM_VERSION = $(shell echo $(SOURCE_VERSION) | sed 's/^[0-9]*://;s/-.*$$//')

commit e37b4972ae54528aba61f2a6606dac668195e098
Author: Timo Aaltonen <tjaalton@debian.org>
Date:   Wed Dec 14 11:33:11 2016 +0200

    release to sid

diff --git a/debian/changelog b/debian/changelog
index a540ff1..d4d2475 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,5 +1,6 @@
-xserver-xorg-video-intel (2:2.99.917+git20161206-1) UNRELEASED; urgency=medium
+xserver-xorg-video-intel (2:2.99.917+git20161206-1) unstable; urgency=medium
 
+  [ Andreas Boll ]
   * New upstream snapshot.
     - sna: Add missing NULL check for readdir result in
       has_connector_backlight (Closes: #847073).  Thanks to James Clarke for
@@ -10,7 +11,7 @@ xserver-xorg-video-intel (2:2.99.917+git20161206-1) UNRELEASED; urgency=medium
   * debhelper installs to debian/tmp by default, no need to specify it.
   * Update a bunch of URLs in packaging to https.
 
- -- Andreas Boll <andreas.boll.dev@gmail.com>  Mon, 12 Dec 2016 15:22:52 +0100
+ -- Timo Aaltonen <tjaalton@debian.org>  Wed, 14 Dec 2016 11:33:01 +0200
 
 xserver-xorg-video-intel (2:2.99.917+git20161105-1) unstable; urgency=medium
 

commit 637232531169bad6241a6fea22bb7ba3b56c90c9
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Mon Dec 12 16:13:12 2016 +0100

    Update a bunch of URLs in packaging to https.

diff --git a/debian/changelog b/debian/changelog
index b8de404..a540ff1 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -8,6 +8,7 @@ xserver-xorg-video-intel (2:2.99.917+git20161206-1) UNRELEASED; urgency=medium
   * Stop passing --disable-silent-rules to configure, debhelper does
     that for a while.
   * debhelper installs to debian/tmp by default, no need to specify it.
+  * Update a bunch of URLs in packaging to https.
 
  -- Andreas Boll <andreas.boll.dev@gmail.com>  Mon, 12 Dec 2016 15:22:52 +0100
 
diff --git a/debian/control b/debian/control
index a72eeb5..2925afc 100644
--- a/debian/control
+++ b/debian/control
@@ -52,9 +52,9 @@ Build-Depends:
 # libcairo2-dev,
 # libpng12-dev,
 Standards-Version: 3.9.8
-Vcs-Git: git://anonscm.debian.org/pkg-xorg/driver/xserver-xorg-video-intel
-Vcs-Browser: http://anonscm.debian.org/cgit/pkg-xorg/driver/xserver-xorg-video-intel.git
-Homepage: http://www.x.org/
+Vcs-Git: https://anonscm.debian.org/git/pkg-xorg/driver/xserver-xorg-video-intel.git
+Vcs-Browser: https://anonscm.debian.org/git/pkg-xorg/driver/xserver-xorg-video-intel.git
+Homepage: https://www.x.org/
 
 Package: xserver-xorg-video-intel
 Architecture: amd64 i386 kfreebsd-amd64 kfreebsd-i386 x32
diff --git a/debian/copyright b/debian/copyright
index 180bc88..8921af5 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -1,5 +1,5 @@
 This package was downloaded from
-http://xorg.freedesktop.org/releases/individual/driver/
+https://xorg.freedesktop.org/releases/individual/driver/
 
 This copyright file is based on xf86-video-intel 2.3.1.
 
diff --git a/debian/watch b/debian/watch
index 6f65e84..8d80294 100644
--- a/debian/watch
+++ b/debian/watch
@@ -1,3 +1,3 @@
 #git=git://anongit.freedesktop.org/xorg/driver/xf86-video-intel
 version=3
-http://xorg.freedesktop.org/releases/individual/driver/ xf86-video-intel-(.*)\.tar\.gz
+https://xorg.freedesktop.org/releases/individual/driver/ xf86-video-intel-(.*)\.tar\.gz

commit 1b817d14a00c7107618c2ba8a7b790cbae10cffc
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Mon Dec 12 16:09:12 2016 +0100

    debhelper installs to debian/tmp by default, no need to specify it.

diff --git a/debian/changelog b/debian/changelog
index f88135f..b8de404 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -7,6 +7,7 @@ xserver-xorg-video-intel (2:2.99.917+git20161206-1) UNRELEASED; urgency=medium
   * Bump debhelper compat to 10.
   * Stop passing --disable-silent-rules to configure, debhelper does
     that for a while.
+  * debhelper installs to debian/tmp by default, no need to specify it.
 
  -- Andreas Boll <andreas.boll.dev@gmail.com>  Mon, 12 Dec 2016 15:22:52 +0100
 
diff --git a/debian/rules b/debian/rules
index a94b5c1..600a976 100755
--- a/debian/rules
+++ b/debian/rules
@@ -22,10 +22,6 @@ override_dh_auto_configure:
 	    --with-builderstring="$(SOURCE_NAME) $(SOURCE_VERSION) ($(BUILDER))" \
 	    $(valgrind)
 
-# Install in debian/tmp to retain control through dh_install:
-override_dh_auto_install:
-	dh_auto_install --destdir=debian/tmp
-
 # Kill *.la files, libxvmc symlinks, and forget no-one:
 override_dh_install:
 	find debian/tmp -name '*.la' -delete

commit 30b2dcd395ac91bf0ec83805da534e12665faade
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Mon Dec 12 16:08:14 2016 +0100

    Stop passing --disable-silent-rules to configure, debhelper does that for a while.

diff --git a/debian/changelog b/debian/changelog
index dd44ada..f88135f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,8 @@ xserver-xorg-video-intel (2:2.99.917+git20161206-1) UNRELEASED; urgency=medium
       has_connector_backlight (Closes: #847073).  Thanks to James Clarke for
       tracking this down.
   * Bump debhelper compat to 10.
+  * Stop passing --disable-silent-rules to configure, debhelper does
+    that for a while.
 
  -- Andreas Boll <andreas.boll.dev@gmail.com>  Mon, 12 Dec 2016 15:22:52 +0100
 
diff --git a/debian/rules b/debian/rules
index dd57a0b..a94b5c1 100755
--- a/debian/rules
+++ b/debian/rules
@@ -20,7 +20,6 @@ override_dh_auto_configure:
 	    --libdir=/usr/lib \
 	    --libexecdir=/usr/lib/xserver-xorg-video-intel \
 	    --with-builderstring="$(SOURCE_NAME) $(SOURCE_VERSION) ($(BUILDER))" \
-	    --disable-silent-rules \
 	    $(valgrind)
 
 # Install in debian/tmp to retain control through dh_install:

commit 2c32f4303af63f0476b4f0576f0935f2b1182151
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Mon Dec 12 16:07:22 2016 +0100

    Bump debhelper compat to 10.

diff --git a/debian/changelog b/debian/changelog
index a662de6..dd44ada 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,7 @@ xserver-xorg-video-intel (2:2.99.917+git20161206-1) UNRELEASED; urgency=medium
     - sna: Add missing NULL check for readdir result in
       has_connector_backlight (Closes: #847073).  Thanks to James Clarke for
       tracking this down.
+  * Bump debhelper compat to 10.
 
  -- Andreas Boll <andreas.boll.dev@gmail.com>  Mon, 12 Dec 2016 15:22:52 +0100
 
diff --git a/debian/compat b/debian/compat
index 45a4fb7..f599e28 100644
--- a/debian/compat
+++ b/debian/compat
@@ -1 +1 @@
-8
+10
diff --git a/debian/control b/debian/control
index 1be7b4a..a72eeb5 100644
--- a/debian/control
+++ b/debian/control
@@ -8,8 +8,7 @@ Uploaders:
  maximilian attems <maks@debian.org>,
  Vincent Cheng <vcheng@debian.org>,
 Build-Depends:
- debhelper (>= 8),
- dh-autoreconf,
+ debhelper (>= 10),
  pkg-config,
  xserver-xorg-dev (>= 2:1.11.99.901),
  x11proto-core-dev,
diff --git a/debian/rules b/debian/rules
index 3020c64..dd57a0b 100755
--- a/debian/rules
+++ b/debian/rules
@@ -4,10 +4,6 @@ SOURCE_NAME    := $(shell dpkg-parsechangelog | awk -F': ' '/^Source: / {print $
 SOURCE_VERSION := $(shell dpkg-parsechangelog | awk -F': ' '/^Version: / {print $$2}')
 BUILDER        := $(shell dpkg-parsechangelog | awk -F': ' '/^Maintainer: / {print $$2}')
 
-export CPPFLAGS := $(shell dpkg-buildflags --get CPPFLAGS)
-export CFLAGS := $(shell dpkg-buildflags --get CFLAGS)
-export LDFLAGS := $(shell dpkg-buildflags --get LDFLAGS)
-
 DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
 
 ifeq ($(DEB_HOST_ARCH_OS), linux)
@@ -21,6 +17,8 @@ override_dh_auto_configure:
 	dh_auto_configure -- \
 	    --enable-sna \
 	    --enable-uxa \
+	    --libdir=/usr/lib \
+	    --libexecdir=/usr/lib/xserver-xorg-video-intel \
 	    --with-builderstring="$(SOURCE_NAME) $(SOURCE_VERSION) ($(BUILDER))" \
 	    --disable-silent-rules \
 	    $(valgrind)
@@ -51,7 +49,7 @@ override_dh_installchangelogs:
 	dh_installchangelogs debian/upstream.changelog
 
 %:
-	dh $@ --parallel --with quilt,autoreconf,xsf --builddirectory=build/
+	dh $@ --with quilt,xsf --builddirectory=build/
 
 # Snapshots should only target experimental:
 generate-snapshot: UPSTREAM_VERSION = $(shell echo $(SOURCE_VERSION) | sed 's/^[0-9]*://;s/-.*$$//')

commit 9b7e045c95f4a56c862661c74de1a1ea1468d742
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Mon Dec 12 15:58:15 2016 +0100

    Restore accidentally dropped debian/source/local-options

diff --git a/debian/source/local-options b/debian/source/local-options
new file mode 100644
index 0000000..10404f5
--- /dev/null
+++ b/debian/source/local-options
@@ -0,0 +1 @@
+--extend-diff-ignore=src/render_program/exa_.*.g8a

commit a405a007516e434af9cd0ae886ddb8582069ee50
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Mon Dec 12 15:34:30 2016 +0100

    Close bug #847073

diff --git a/debian/changelog b/debian/changelog
index ee74df9..a662de6 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,9 @@
 xserver-xorg-video-intel (2:2.99.917+git20161206-1) UNRELEASED; urgency=medium
 
   * New upstream snapshot.
+    - sna: Add missing NULL check for readdir result in
+      has_connector_backlight (Closes: #847073).  Thanks to James Clarke for
+      tracking this down.
 
  -- Andreas Boll <andreas.boll.dev@gmail.com>  Mon, 12 Dec 2016 15:22:52 +0100
 

commit 786a2ee91584d9f6bf2de6d1bab034b89216c932
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Mon Dec 12 15:24:23 2016 +0100

    Bump changelog

diff --git a/debian/changelog b/debian/changelog
index 8e7079f..ee74df9 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xserver-xorg-video-intel (2:2.99.917+git20161206-1) UNRELEASED; urgency=medium
+
+  * New upstream snapshot.
+
+ -- Andreas Boll <andreas.boll.dev@gmail.com>  Mon, 12 Dec 2016 15:22:52 +0100
+
 xserver-xorg-video-intel (2:2.99.917+git20161105-1) unstable; urgency=medium
 
   * New upstream snapshot.

commit 169c74fa6c2cd9c28dd7bfacd9639cd245b8c8a8
Author: Rodrigo Vivi <rodrigo.vivi@intel.com>
Date:   Thu Nov 17 14:46:31 2016 -0800

    intel: Adding Marketing names for Skylake, Kabylake and Apollolake/Broxton.
    
    This commit adding all known marketing names for latest gen9 platforms.
    
    v2: On top of simplified generic string names.
    
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

diff --git a/src/intel_module.c b/src/intel_module.c
index f9b5d99..6b04857 100644
--- a/src/intel_module.c
+++ b/src/intel_module.c
@@ -276,6 +276,33 @@ static const SymTabRec intel_chipsets[] = {
 	{0x22b2, "HD Graphics"},
 	{0x22b3, "HD Graphics"},
 
+	/* Skylake */
+	{0x1902, "HD Graphics 510"},
+	{0x1906, "HD Graphics 510"},
+	{0x190B, "HD Graphics 510"},
+	{0x1912, "HD Graphics 530"},
+	{0x1916, "HD Graphics 520"},
+	{0x191B, "HD Graphics 530"},
+	{0x191D, "HD Graphics P530"},
+	{0x191E, "HD Graphics 515"},
+	{0x1921, "HD Graphics 520"},
+	{0x1926, "Iris Graphics 540"},
+	{0x1927, "Iris Graphics 550"},
+	{0x192B, "Iris Graphics 555"},
+	{0x192D, "Iris Graphics P555"},
+	{0x1932, "Iris Pro Graphics 580"},
+	{0x193A, "Iris Pro Graphics P580"},
+	{0x193B, "Iris Pro Graphics 580"},
+	{0x193D, "Iris Pro Graphics P580"},
+
+	/* Broxton (Apollolake) */
+	{0x5A84, "HD Graphics 505"},
+	{0x5A85, "HD Graphics 500"},
+
+	/* Kabylake */
+	{0x5916, "HD Graphics 620"},
+	{0x591E, "HD Graphics 615"},
+
 	/* When adding new identifiers, also update:
 	 * 1. intel_identify()
 	 * 2. man/intel.man

commit 2948cf0531a5165787dc763028ae4c4ac1eed063
Author: Rodrigo Vivi <rodrigo.vivi@intel.com>
Date:   Thu Nov 17 14:46:30 2016 -0800

    intel: Simplify new platform names.
    
    Modern Intel (R) platforms with integrated graphics comes with common
    names varying the range numbers. So instead of listing all supported
    platforms let's start using the generic marketing strings without
    the numbers.
    
    And for the specific board we list it's actual marketing name if
    available on detection.
    
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

diff --git a/README b/README
index cf4d88d..348983b 100644
--- a/README
+++ b/README
@@ -15,9 +15,9 @@ Intel graphics chipsets including:
 	G/Q33,G/Q35,G41,G/Q43,G/GM/Q45
 	PineView-M (Atom N400 series)
 	PineView-D (Atom D400/D500 series)
-	Intel(R) HD Graphics: 2000-6000,
-	Intel(R) Iris(TM) Graphics: 5100/6100, and
-	Intel(R) Iris(TM) Pro Graphics: 5200/6200/P6300.
+	Intel(R) HD Graphics,
+	Intel(R) Iris(TM) Graphics,
+	Intel(R) Iris(TM) Pro Graphics.
 
 Where to get more information about the driver
 ----------------------------------------------
diff --git a/man/intel.man b/man/intel.man
index 8da496e..be398fb 100644
--- a/man/intel.man
+++ b/man/intel.man
@@ -27,9 +27,9 @@ supports the i810, i810-DC100, i810e, i815, i830M, 845G, 852GM, 855GM,
 865G, 915G, 915GM, 945G, 945GM, 965G, 965Q, 946GZ, 965GM, 945GME,
 G33, Q33, Q35, G35, GM45, G45, Q45, G43, G41 chipsets, Pineview-M in
 Atom N400 series, Pineview-D in Atom D400/D500 series,
-Intel(R) HD Graphics: 2000-6000,
-Intel(R) Iris(TM) Graphics: 5100/6100, and
-Intel(R) Iris(TM) Pro Graphics: 5200/6200/P6300.
+Intel(R) HD Graphics,
+Intel(R) Iris(TM) Graphics,
+Intel(R) Iris(TM) Pro Graphics.
 
 .SH CONFIGURATION DETAILS
 Please refer to __xconfigfile__(__filemansuffix__) for general configuration
diff --git a/src/intel_module.c b/src/intel_module.c
index 68ec9fe..f9b5d99 100644
--- a/src/intel_module.c
+++ b/src/intel_module.c
@@ -471,9 +471,9 @@ static void intel_identify(int flags)
 	if (unique != stack)
 		free(unique);
 
-	xf86Msg(X_INFO, INTEL_NAME ": Driver for Intel(R) HD Graphics: 2000-6000\n");
-	xf86Msg(X_INFO, INTEL_NAME ": Driver for Intel(R) Iris(TM) Graphics: 5100, 6100\n");
-	xf86Msg(X_INFO, INTEL_NAME ": Driver for Intel(R) Iris(TM) Pro Graphics: 5200, 6200, P6300\n");
+	xf86Msg(X_INFO, INTEL_NAME ": Driver for Intel(R) HD Graphics\n");
+	xf86Msg(X_INFO, INTEL_NAME ": Driver for Intel(R) Iris(TM) Graphics\n");
+	xf86Msg(X_INFO, INTEL_NAME ": Driver for Intel(R) Iris(TM) Pro Graphics\n");
 }
 
 static Bool intel_driver_func(ScrnInfoPtr pScrn,

commit ff25ad3402be3bc20f7b6e680e49ad03d7c6e2af
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Dec 5 21:28:35 2016 +0000

    sna: Reorder frontbuffer resize vs flip event queue draining
    
    If we are not careful, we may process an unflip in the middle of
    resizing the frontbuffer - when the ScreenPixmap state is ill-defined.
    First flush all the pending flip events, cancel any residual unflips,
    then update the screen pixmap. This should be enough to close the race.
    
    References: https://bugs.freedesktop.org/show_bug.cgi?id=98855#c11
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index f6b6e5b..1b271ab 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -5679,6 +5679,14 @@ sna_mode_resize(ScrnInfoPtr scrn, int width, int height)
 	assert(sna->mode.shadow_damage == NULL);
 	assert(sna->mode.shadow == NULL);
 
+	/* Flush pending shadow updates */
+	if (sna->mode.flip_active) {
+		DBG(("%s: waiting for %d outstanding TearFree flips\n",
+		     __FUNCTION__, sna->mode.flip_active));
+		while (sna->mode.flip_active && sna_mode_wait_for_event(sna))
+			sna_mode_wakeup(sna);
+	}
+
 	/* Cancel a pending [un]flip (as the pixmaps no longer match) */
 	sna_present_cancel_flip(sna);
 	copy_front(sna, sna->front, new_front);
@@ -5692,14 +5700,6 @@ sna_mode_resize(ScrnInfoPtr scrn, int width, int height)
 	scrn->virtualY = height;
 	scrn->displayWidth = width;
 
-	/* Flush pending shadow updates */
-	if (sna->mode.flip_active) {
-		DBG(("%s: waiting for %d outstanding TearFree flips\n",
-		     __FUNCTION__, sna->mode.flip_active));
-		while (sna->mode.flip_active && sna_mode_wait_for_event(sna))
-			sna_mode_wakeup(sna);
-	}
-
 	/* Only update the CRTCs if we are in control */
 	if (!scrn->vtSema)
 		return TRUE;
diff --git a/src/sna/sna_present.c b/src/sna/sna_present.c
index cfff0f1..7c536ab 100644
--- a/src/sna/sna_present.c
+++ b/src/sna/sna_present.c
@@ -926,12 +926,12 @@ reset_mode:
 		goto notify;
 	}
 
-	assert(sna_pixmap(screen->GetScreenPixmap(screen))->pinned & PIN_SCANOUT);
-
 	/* Are we unflipping after a failure that left our ScreenP in place? */
 	if (!sna_needs_page_flip(sna, bo))
 		goto notify;
 
+	assert(sna_pixmap(screen->GetScreenPixmap(screen))->pinned & PIN_SCANOUT);
+
 	if (sna->flags & SNA_HAS_ASYNC_FLIP) {
 		DBG(("%s: trying async flip restore\n", __FUNCTION__));
 		if (flip__async(sna, NULL, event_id, 0, bo))

commit fcf943f45b674b080dbd07b65f6bfbc89c427c21
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Date:   Mon Dec 5 12:27:14 2016 +0200

    Add Geminialke PCI IDs
    
    Same ids from kernel's
    
    commit 8363e3c3947d0e22955f94a6a87e4f17ce5087b4
    Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
    Date:   Thu Nov 10 17:23:08 2016 +0200
    
        drm/i915/glk: Add Geminilake PCI IDs
    
    Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>

diff --git a/src/i915_pciids.h b/src/i915_pciids.h
index 33466bf..e1f46bb 100644
--- a/src/i915_pciids.h
+++ b/src/i915_pciids.h
@@ -336,4 +336,8 @@
 	INTEL_KBL_GT3_IDS(info), \
 	INTEL_KBL_GT4_IDS(info)
 
+#define INTEL_GLK_IDS(info) \
+	INTEL_VGA_DEVICE(0x3184, info), \
+	INTEL_VGA_DEVICE(0x3185, info)
+
 #endif /* _I915_PCIIDS_H */
diff --git a/src/intel_module.c b/src/intel_module.c
index e443c9e..68ec9fe 100644
--- a/src/intel_module.c
+++ b/src/intel_module.c
@@ -134,6 +134,10 @@ static const struct intel_device_info intel_kabylake_info = {
 	.gen = 0112,
 };
 
+static const struct intel_device_info intel_geminilake_info = {
+	.gen = 0113,
+};
+
 static const SymTabRec intel_chipsets[] = {
 	{PCI_CHIP_I810,				"i810"},
 	{PCI_CHIP_I810_DC100,			"i810-dc100"},
@@ -335,6 +339,8 @@ static const struct pci_id_match intel_device_match[] = {
 
 	INTEL_KBL_IDS(&intel_kabylake_info),
 
+	INTEL_GLK_IDS(&intel_geminilake_info),
+
 	INTEL_VGA_DEVICE(PCI_MATCH_ANY, &intel_generic_info),
 #endif
 
diff --git a/src/sna/gen9_render.c b/src/sna/gen9_render.c
index 5f6b542..e5f12c7 100644
--- a/src/sna/gen9_render.c
+++ b/src/sna/gen9_render.c
@@ -240,6 +240,11 @@ static const struct gt_info kbl_gt_info = {
 	.urb = { .max_vs_entries = 960 },
 };
 
+static const struct gt_info glk_gt_info = {
+	.name = "Geminilake (gen9)",
+	.urb = { .max_vs_entries = 320 },
+};
+
 static bool is_skl(struct sna *sna)
 {
 	return sna->kgem.gen == 0110;
@@ -255,6 +260,11 @@ static bool is_kbl(struct sna *sna)
 	return sna->kgem.gen == 0112;
 }
 
+static bool is_glk(struct sna *sna)
+{
+	return sna->kgem.gen == 0113;
+}
+
 
 static inline bool too_large(int width, int height)
 {
@@ -4028,6 +4038,8 @@ static bool gen9_render_setup(struct sna *sna)
 		state->info = &bxt_gt_info;
 	if (is_kbl(sna))
 		state->info = &kbl_gt_info;
+	if (is_glk(sna))
+		state->info = &glk_gt_info;
 
 	sna_static_stream_init(&general);
 

commit a1b39eb6dd1717501a0546275d07df8321fe4905
Author: James Clarke <jrtc27@jrtc27.com>
Date:   Mon Dec 5 11:30:27 2016 +0000

    sna: Add missing NULL check for readdir result in has_connector_backlight
    
    Signed-off-by: James Clarke <jrtc27@jrtc27.com>

diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index 1d31d00..f6b6e5b 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -1033,6 +1033,9 @@ static char *has_connector_backlight(xf86OutputPtr output)
 	DBG(("%s: lookup %s\n", __FUNCTION__, path));
 
 	dir = opendir(path);
+	if (dir == NULL)
+		return NULL;
+
 	while ((de = readdir(dir))) {
 		struct stat st;
 

commit 4acd4a7d3d2f41227022fa7581cfb85a0b124eae
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Dec 5 15:13:24 2016 +0000

    sna/gen9: Emit a dummy primitive between VertexElements
    
    References: https://bugs.freedesktop.org/show_bug.cgi?id=98999
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

diff --git a/src/sna/gen9_render.c b/src/sna/gen9_render.c
index 56c1b8d..5f6b542 100644
--- a/src/sna/gen9_render.c
+++ b/src/sna/gen9_render.c
@@ -1101,6 +1101,17 @@ gen9_emit_vertex_elements(struct sna *sna,
 		return;
 	render->ve_id = id;
 
+	if (render->ve_dirty) {
+		/* dummy primitive to flush vertex before change? */
+		OUT_BATCH(GEN9_3DPRIMITIVE | (7 - 2));
+		OUT_BATCH(0); /* ignored, see VF_TOPOLOGY */
+		OUT_BATCH(0);
+		OUT_BATCH(0);
+		OUT_BATCH(1);	/* single instance */
+		OUT_BATCH(0);	/* start instance location */
+		OUT_BATCH(0);	/* index buffer offset, ignored */
+	}
+
 	/* The VUE layout
 	 *    dword 0-3: pad (0.0, 0.0, 0.0. 0.0)
 	 *    dword 4-7: position (x, y, 1.0, 1.0),
@@ -1198,6 +1209,8 @@ gen9_emit_vertex_elements(struct sna *sna,
 			  offset << VE_OFFSET_SHIFT);
 		OUT_BATCH(dw);
 	}
+
+	render->ve_dirty = true;
 }
 
 inline static void
@@ -1322,6 +1335,7 @@ static bool gen9_magic_ca_pass(struct sna *sna,
 	OUT_BATCH(0);	/* index buffer offset, ignored */
 
 	state->last_primitive = sna->kgem.nbatch;
+	state->ve_dirty = false;
 	return true;
 }
 
@@ -1508,6 +1522,7 @@ static void gen9_emit_primitive(struct sna *sna)
 	sna->render.vertex_start = sna->render.vertex_index;
 
 	sna->render_state.gen9.last_primitive = sna->kgem.nbatch;
+	sna->render_state.gen9.ve_dirty = false;
 }
 
 static bool gen9_rectangle_begin(struct sna *sna,
@@ -3967,6 +3982,7 @@ static void gen9_render_reset(struct sna *sna)
 	sna->render_state.gen9.emit_flush = false;
 	sna->render_state.gen9.needs_invariant = true;
 	sna->render_state.gen9.ve_id = 3 << 2;
+	sna->render_state.gen9.ve_dirty = false;
 	sna->render_state.gen9.last_primitive = -1;
 
 	sna->render_state.gen9.num_sf_outputs = 0;
diff --git a/src/sna/sna_render.h b/src/sna/sna_render.h
index aa2e676..4ba345a 100644
--- a/src/sna/sna_render.h
+++ b/src/sna/sna_render.h
@@ -623,6 +623,7 @@ struct gen9_render_state {
 
 	bool needs_invariant;
 	bool emit_flush;
+	bool ve_dirty;
 };
 
 struct sna_static_stream {

commit 9ac7a3370ab265d4cbdbbf3dc588af88c37048e1
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Nov 29 22:01:21 2016 +0000

    sna: Handle xf86Randr12 gamma changes in xorg-xserver-1.19
    
    commit 17213b74fd7fc4c4e2fe7a3781e7422dd482a0ab
    Author: Michel Dänzer <michel.daenzer@amd.com>
    Date:   Tue Jun 21 16:44:20 2016 +0900
    
        xfree86/modes: Remove xf86RandR12CrtcGetGamma
    
    removed the randr_crtc->palettes allocation and initialisation causing a
    later dereference of the gamma table to crash. Looks like that was just
    ABI misuse.
    
    References: https://bugs.freedesktop.org/show_bug.cgi?id=98855
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

diff --git a/src/sna/sna_display_fake.c b/src/sna/sna_display_fake.c
index f0bdea6..fa26bda 100644
--- a/src/sna/sna_display_fake.c
+++ b/src/sna/sna_display_fake.c
@@ -96,12 +96,6 @@ sna_crtc_set_mode_major(xf86CrtcPtr crtc, DisplayModePtr mode,
 }
 
 static void
-sna_crtc_gamma_set(xf86CrtcPtr crtc,
-		       CARD16 *red, CARD16 *green, CARD16 *blue, int size)
-{
-}
-
-static void
 sna_crtc_destroy(xf86CrtcPtr crtc)
 {
 }
@@ -109,7 +103,6 @@ sna_crtc_destroy(xf86CrtcPtr crtc)
 static const xf86CrtcFuncsRec sna_crtc_funcs = {
 	.dpms = sna_crtc_dpms,
 	.set_mode_major = sna_crtc_set_mode_major,
-	.gamma_set = sna_crtc_gamma_set,
 	.destroy = sna_crtc_destroy,
 };
 
@@ -298,7 +291,8 @@ static bool add_fake_output(struct sna *sna, bool late)
 
 		RRCrtcSetRotations(crtc->randr_crtc,
 				   RR_Rotate_All | RR_Reflect_All);
-		RRCrtcGammaGet(crtc->randr_crtc);
+		if (!RRCrtcGammaSetSize(crtc->randr_crtc, 256))
+			goto err;
 	}
 
 	sna->mode.num_fake++;

commit f2901dd34d371113cb9ebe70ef91f700f45f7729
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Nov 30 18:53:22 2016 +0000

    sna: Always ask the client to reprobe after userspace
    
    This doesn't guarrantee that the client does, but the kernel insists.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index 1b89cfd..1d31d00 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -5369,6 +5369,7 @@ void sna_mode_discover(struct sna *sna, bool tell)
 {
 	ScreenPtr screen = xf86ScrnToScreen(sna->scrn);
 	xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(sna->scrn);
+	bool force = sna->flags & SNA_REPROBE;
 	struct drm_mode_card_res res;
 	uint32_t connectors[32], now;
 	unsigned changed = 0;
@@ -5402,7 +5403,11 @@ void sna_mode_discover(struct sna *sna, bool tell)
 	if (serial == 0)
 		serial = ++sna->mode.serial;
 
-	now = GetTimeInMillis();
+	if (force) {
+		changed = 4;
+		now = 0;
+	} else
+		now = GetTimeInMillis();
 	for (i = 0; i < res.count_connectors; i++) {
 		DBG(("%s: connector[%d] = %d\n", __FUNCTION__, i, connectors[i]));
 		for (j = 0; j < sna->mode.num_real_output; j++) {
diff --git a/src/sna/sna_driver.c b/src/sna/sna_driver.c
index 5170439..1b4015d 100644
--- a/src/sna/sna_driver.c
+++ b/src/sna/sna_driver.c
@@ -806,10 +806,12 @@ sna_handle_uevents(int fd, void *closure)
 			str = udev_device_get_property_value(dev, "HOTPLUG");
 			if (str && atoi(str) == 1) {
 				str = udev_device_get_property_value(dev, "CONNECTOR");
-				if (str)
+				if (str) {
 					hotplug |= sna_mode_find_hotplug_connector(sna, atoi(str));
-				else
+				} else {
+					sna->flags |= SNA_REPROBE;
 					hotplug = true;
+				}
 			}
 		}
 

commit 35473dd9c9455238721a090021b4665fd9259c0c
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Nov 30 23:39:05 2016 +0000

    sna: Prevent switching to GPU rendering when given a SHM pixmap
    
    If we have a SHM pixmap, we only track rendering via the CPU bo for
    synchronisation with the client.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

diff --git a/src/sna/sna.h b/src/sna/sna.h
index 072c34f..7861110 100644
--- a/src/sna/sna.h
+++ b/src/sna/sna.h
@@ -1367,6 +1367,9 @@ static inline void add_shm_flush(struct sna *sna, struct sna_pixmap *priv)
 	if (!priv->shm)
 		return;
 
+	DBG(("%s: marking handle=%d for SHM flush\n",
+	     __FUNCTION__, priv->cpu_bo->handle));
+
 	assert(!priv->flush);
 	sna_add_flush_pixmap(sna, priv, priv->cpu_bo);
 	sna->needs_shm_flush = true;
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index 9fe09ff..5d72c0e 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -4044,26 +4044,28 @@ prefer_gpu_bo:
 			goto move_to_gpu;
 		}
 
-		if ((priv->cpu_damage == NULL || flags & IGNORE_DAMAGE)) {
-			if (priv->gpu_bo && priv->gpu_bo->tiling) {
-				DBG(("%s: prefer to use GPU bo for rendering large pixmaps\n", __FUNCTION__));
-				goto prefer_gpu_bo;
+		if (!priv->shm) {
+			if ((priv->cpu_damage == NULL || flags & IGNORE_DAMAGE)) {
+				if (priv->gpu_bo && priv->gpu_bo->tiling) {
+					DBG(("%s: prefer to use GPU bo for rendering large pixmaps\n", __FUNCTION__));
+					goto prefer_gpu_bo;
+				}
+
+				if (priv->cpu_bo->pitch >= 4096) {
+					DBG(("%s: prefer to use GPU bo for rendering wide pixmaps\n", __FUNCTION__));
+					goto prefer_gpu_bo;
+				}
 			}
 
-			if (priv->cpu_bo->pitch >= 4096) {
-				DBG(("%s: prefer to use GPU bo for rendering wide pixmaps\n", __FUNCTION__));
+			if ((flags & IGNORE_DAMAGE) == 0 && priv->cpu_bo->snoop) {
+				DBG(("%s: prefer to use GPU bo for reading from snooped target bo\n", __FUNCTION__));
 				goto prefer_gpu_bo;
 			}
-		}
-
-		if ((flags & IGNORE_DAMAGE) == 0 && priv->cpu_bo->snoop) {
-			DBG(("%s: prefer to use GPU bo for reading from snooped target bo\n", __FUNCTION__));
-			goto prefer_gpu_bo;
-		}
 
-		if (!sna->kgem.can_blt_cpu) {
-			DBG(("%s: can't render to CPU bo, try to use GPU bo\n", __FUNCTION__));
-			goto prefer_gpu_bo;
+			if (!sna->kgem.can_blt_cpu) {
+				DBG(("%s: can't render to CPU bo, try to use GPU bo\n", __FUNCTION__));
+				goto prefer_gpu_bo;
+			}
 		}
 	}
 

commit cdd06717643f4d110a0d9c2b72851f9cb2c64b81
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Nov 30 23:40:14 2016 +0000

    tools/intel-virtual-output: Check for pending events before blocking
    
    If the xlib/xcb library has pulled events from the fd, then a poll on
    that fd will block until new events arrive. If none do, we fail to
    process the currently waiting events in a timely fashion.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

diff --git a/tools/virtual.c b/tools/virtual.c
index 77e6a58..fc8db2b 100644
--- a/tools/virtual.c
+++ b/tools/virtual.c
@@ -3392,6 +3392,7 @@ int main(int argc, char **argv)
 	uint64_t count;
 	int daemonize = 1, bumblebee = 0, siblings = 0, singleton = 1;
 	int i, ret, open, fail;
+	int idle;
 
 	signal(SIGPIPE, SIG_IGN);
 
@@ -3572,21 +3573,30 @@ int main(int argc, char **argv)
 
 	ctx.command_continuation = 0;
 	update_cursor_image(&ctx);
+
+	idle = 0;
 	while (!done) {
 		XEvent e;
 		int reconfigure = 0;
 		int rr_update = 0;
 
-		DBG(POLL, ("polling - enable timer? %d, nfd=%d, ndisplay=%d\n", ctx.timer_active, ctx.nfd, ctx.ndisplay));
-		ret = poll(ctx.pfd + !ctx.timer_active, ctx.nfd - !ctx.timer_active, -1);
-		if (ret <= 0)
-			break;
+		if (idle) {
+			DBG(POLL, ("polling - enable timer? %d, nfd=%d, ndisplay=%d\n", ctx.timer_active, ctx.nfd, ctx.ndisplay));
+			ret = poll(ctx.pfd + !ctx.timer_active, ctx.nfd - !ctx.timer_active, -1);
+			if (ret <= 0)
+				break;
+
+			DBG(POLL, ("poll reports %d fd awake\n", ret));
+		}


Reply to: