Bug#815013: xserver-xorg-video-intel: SNA causes crash with Java application

2016-02-18 Thread Josh Lawrence
Hello,

I can confirm this bug and the fix. This also appears to the same as
the following:

#814722
#813716

Thanks for the workaround


-- 
Josh Lawrence



vulkan: Changes to 'debian-unstable'

2016-02-18 Thread Timo Aaltonen
 debian/source/format   |2 +-
 debian/source/include-binaries |4 
 2 files changed, 5 insertions(+), 1 deletion(-)

New commits:
commit 41d01f9b3aa55da7d1e8654ba3fb6560385643b0
Author: Timo Aaltonen 
Date:   Fri Feb 19 00:39:32 2016 +0200

use source 3.0 (quilt) because of the prebuilt shader binaries..

diff --git a/debian/source/format b/debian/source/format
index d3827e7..163aaf8 100644
--- a/debian/source/format
+++ b/debian/source/format
@@ -1 +1 @@
-1.0
+3.0 (quilt)
diff --git a/debian/source/include-binaries b/debian/source/include-binaries
new file mode 100644
index 000..69d9fa9
--- /dev/null
+++ b/debian/source/include-binaries
@@ -0,0 +1,4 @@
+debian/local/cube-frag.spv
+debian/local/cube-vert.spv
+debian/local/tri-frag.spv
+debian/local/tri-vert.spv



xserver-xorg-video-intel_2.99.917+git20160218-1_source.changes ACCEPTED into unstable

2016-02-18 Thread Debian FTP Masters


Accepted:

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Format: 1.8
Date: Fri, 19 Feb 2016 00:06:43 +0200
Source: xserver-xorg-video-intel
Binary: xserver-xorg-video-intel xserver-xorg-video-intel-dbg
Architecture: source
Version: 2:2.99.917+git20160218-1
Distribution: unstable
Urgency: medium
Maintainer: Debian X Strike Force 
Changed-By: Timo Aaltonen 
Description:
 xserver-xorg-video-intel - X.Org X server -- Intel i8xx, i9xx display driver
 xserver-xorg-video-intel-dbg - X.Org X server -- Intel i8xx, i9xx display 
driver (debug symbols)
Changes:
 xserver-xorg-video-intel (2:2.99.917+git20160218-1) unstable; urgency=medium
 .
   * New upstream snapshot.
Checksums-Sha1:
 5502c63abc953af22cf41f0823e9246e3231d083 3206 
xserver-xorg-video-intel_2.99.917+git20160218-1.dsc
 e8d26eda694bcdf9c65dd5e89435a7f53d2291f2 1601156 
xserver-xorg-video-intel_2.99.917+git20160218.orig.tar.gz
 497b38712638f6c38335572ce95039e6e8c88d50 946633 
xserver-xorg-video-intel_2.99.917+git20160218-1.diff.gz
Checksums-Sha256:
 e4e21a124a15a21ae1ad1d73a94b7758326b482c99fe3fc3629075914ce8688b 3206 
xserver-xorg-video-intel_2.99.917+git20160218-1.dsc
 3b020df9b99791b8b128f0402a0963cbb671c7d82ed63d32773236f55e765141 1601156 
xserver-xorg-video-intel_2.99.917+git20160218.orig.tar.gz
 789f412cbb04cbcaf3c719872c380ede014286380782020cda4a03d543246fe6 946633 
xserver-xorg-video-intel_2.99.917+git20160218-1.diff.gz
Files:
 8e9d89f2c421aa31694709fc082c912b 3206 x11 optional 
xserver-xorg-video-intel_2.99.917+git20160218-1.dsc
 242d3095d183c1ad27f780d6eae7cdf9 1601156 x11 optional 
xserver-xorg-video-intel_2.99.917+git20160218.orig.tar.gz
 dee6ed1a89e1c406e4f87c93abd80c5a 946633 x11 optional 
xserver-xorg-video-intel_2.99.917+git20160218-1.diff.gz

-BEGIN PGP SIGNATURE-
Version: GnuPG v1

iQIcBAEBAgAGBQJWxkIxAAoJEMtwMWWoiYTcT5cP/jG93Uwkgo5dKf9/437ZNcqF
HM47hHlJTcV+pAej1/Rwp2ay9LyN7hmi4A2wgyaDeZoPVjkkglmGBCWEif3mn3XY
c4E9ewwrIapCmHLi1Jv2MkDyLmkMkdYswI+Sp/3ELh3o1ZOVsaC8jC/CG4xoBQ+t
YKzLiiWHyTUIkmIkYBOhJ8G3Di7UJnY97lXQuQm2qMYKwHcPFX5LGAV1tRMI+Cep
Ik/aJWhRGe6g9jTpzeKU8blc5Xnx+VD9hgr38DjinZ3Et/vGp0hajVsA++dKwkBB
LAPfS6x/qoks9/e+kHMCPy0eTs4fjZOtAuBX1fTwijPIMrzwksiEqdjde4QOYl0c
HS3iLie0GO9cV96WjuG+KqtfHhqJQnmYbi5TXXGe7T2hnOqg8miB7TvpwjuvJAQ5
qp1AjyyL/vqHBZwJmedQ+5PkycPtL5rNL+U0UZiRaDVMy8DWDoIbGTCxZgL9PA09
XPY5vCAM+l0lU9Qyek06YVh/1iVYrVo5MhJYXh+v3IeNjfxqD3KR8nSvRkoWiM0i
u4xNRb22XveP9AN1lHv3ljqEHHMiiu96QYnd/s6qykX8JfkjE+j2NeHhQd5h8duY
cWCFKhott+CtpETl5TydVj/MLdmxJw7QhU3c0xjwl7/iUkdJnrNazv8mkCcPLxyA
6lRPHQKI7zcrXPC7fwew
=9BFS
-END PGP SIGNATURE-


Thank you for your contribution to Debian.



xserver-xorg-video-intel: Changes to 'ubuntu'

2016-02-18 Thread Timo Aaltonen
 debian/changelog   |   12 
 src/sna/gen3_render.c  |   91 +++--
 src/sna/kgem.c |   72 +++-
 src/sna/kgem.h |3 
 src/sna/sna_display.c  |   89 -
 src/sna/sna_dri2.c |1 
 src/sna/sna_driver.c   |8 
 src/sna/sna_video_sprite.c |3 
 src/uxa/intel_display.c|8 
 test/.gitignore|1 
 test/Makefile.am   |3 
 test/dri2-race.c   |  724 ++---
 test/dri2-test.c   |   44 ++
 test/present-race.c|  484 ++
 14 files changed, 1230 insertions(+), 313 deletions(-)

New commits:
commit 73938658eaefdc6906705a122331d8be23cf0d98
Author: Timo Aaltonen 
Date:   Fri Feb 19 00:18:49 2016 +0200

release to xenial

diff --git a/debian/changelog b/debian/changelog
index 79c9b70..04348bb 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xserver-xorg-video-intel (2:2.99.917+git20160218-1ubuntu1) xenial; 
urgency=medium
+
+  * Merge from Debian.
+
+ -- Timo Aaltonen   Fri, 19 Feb 2016 00:18:14 +0200
+
 xserver-xorg-video-intel (2:2.99.917+git20160218-1) unstable; urgency=medium
 
   * New upstream snapshot.

commit 10c054b5a66b894cbb92f857feabb861456cd3a6
Author: Timo Aaltonen 
Date:   Fri Feb 19 00:08:51 2016 +0200

release to unstable

diff --git a/debian/changelog b/debian/changelog
index 9d5b6bd..7f3362b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xserver-xorg-video-intel (2:2.99.917+git20160218-1) unstable; urgency=medium
+
+  * New upstream snapshot.
+
+ -- Timo Aaltonen   Fri, 19 Feb 2016 00:06:43 +0200
+
 xserver-xorg-video-intel (2:2.99.917+git20160127-1) unstable; urgency=medium
 
   * New upstream snapshot.

commit 05320318fb940247d8749da8330215d19f41d84e
Author: Chris Wilson 
Date:   Thu Feb 18 13:54:11 2016 +

sna: Prefer to avoid direct rendering with FBC

If FBC is enabled, avoid the overhead of tracking rendering into the
frontbuffer by rendering into a backbuffer and flipping. Again, we have
no actual flag to indicate when FBC is enabled, so take a guess from the
module parameter.

Signed-off-by: Chris Wilson 

diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index f2fca7c..a1e1ffb 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -7105,6 +7105,22 @@ sna_mode_wants_tear_free(struct sna *sna)
FILE *file;
int i;
 
+   file = fopen("/sys/module/i915/parameters/enable_fbc", "r");
+   if (file) {
+   int fbc_enabled = 0;
+   int value;
+
+   if (fscanf(file, "%d", ) == 1)
+   fbc_enabled = value > 0;
+   fclose(file);
+
+   DBG(("%s: module parameter 'enable_fbc' enabled? %d\n",
+__FUNCTION__, fbc_enabled));
+
+   if (fbc_enabled)
+   return true;
+   }
+
for (i = 0; i < sna->mode.num_real_output; i++) {
struct sna_output *output = to_sna_output(config->output[i]);
int id = find_property(sna, output, "Panel Self-Refresh");

commit b99e8b022c4aaf586ae49e0eb597f0c34bc0e165
Author: Chris Wilson 
Date:   Thu Feb 18 13:53:07 2016 +

sna: Use dirtyfb for fallback direct rendering

The preferred solution when direct rendering is too costly is to render
into the backbuffer and flip. However, if the user insists, we need to
tell the kernel when to flush the scanout due to direct rendering.

Signed-off-by: Chris Wilson 

diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index aceedd4..abb9e02 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -86,6 +86,7 @@ search_snoop_cache(struct kgem *kgem, unsigned int num_pages, 
unsigned flags);
 #define DBG_NO_WC_MMAP 0
 #define DBG_NO_BLT_Y 0
 #define DBG_NO_SCANOUT_Y 0
+#define DBG_NO_DIRTYFB 0
 #define DBG_NO_DETILING 0
 #define DBG_DUMP 0
 #define DBG_NO_MALLOC_CACHE 0
@@ -1499,6 +1500,47 @@ static bool test_can_scanout_y(struct kgem *kgem)
return ret;
 }
 
+static bool test_has_dirtyfb(struct kgem *kgem)
+{
+   struct drm_mode_fb_cmd create;
+   bool ret = false;
+
+   if (DBG_NO_DIRTYFB)
+   return false;
+
+   VG_CLEAR(create);
+   create.width = 32;
+   create.height = 32;
+   create.pitch = 4*32;
+   create.bpp = 32;
+   create.depth = 32;
+   create.handle = gem_create(kgem->fd, 1);
+   if (create.handle == 0)
+   return false;
+
+   if (drmIoctl(kgem->fd, DRM_IOCTL_MODE_ADDFB, ) == 0) {
+   struct drm_mode_fb_dirty_cmd dirty;
+
+   memset(, 0, sizeof(dirty));
+   dirty.fb_id = create.fb_id;
+   ret = drmIoctl(kgem->fd,
+

Processing of xserver-xorg-video-intel_2.99.917+git20160218-1_source.changes

2016-02-18 Thread Debian FTP Masters
xserver-xorg-video-intel_2.99.917+git20160218-1_source.changes uploaded 
successfully to localhost
along with the files:
  xserver-xorg-video-intel_2.99.917+git20160218-1.dsc
  xserver-xorg-video-intel_2.99.917+git20160218.orig.tar.gz
  xserver-xorg-video-intel_2.99.917+git20160218-1.diff.gz

Greetings,

Your Debian queue daemon (running on host franck.debian.org)



xserver-xorg-video-intel: Changes to 'refs/tags/xserver-xorg-video-intel-2_2.99.917+git20160218-1'

2016-02-18 Thread Timo Aaltonen
Tag 'xserver-xorg-video-intel-2_2.99.917+git20160218-1' created by Timo 
Aaltonen  at 2016-02-18 22:14 +

Tagging upload of xserver-xorg-video-intel 2:2.99.917+git20160218-1 to unstable.
-BEGIN PGP SIGNATURE-
Version: GnuPG v1

iQIcBAABAgAGBQJWxkJiAAoJEMtwMWWoiYTc53kP/0lwdyabTVqV//Is3bBZFg2B
u6EQyDO2biQcxvPPeHZqLUjhkPmnmde/6zxjAkg2fokV2XgfwD00zi+oDTulvmMq
OSUU8vbkNDX4zk/3UyStJmkyaq5YKckdsGi/Ru56aOUrTvguQ9EUJ+T4kkvfhGMZ
k1Yw29tGyiDccv1yoLIajAKkaQMTuYQ6xcD8+MaLc7RATyGJGM9ev6hT6QNQUbQy
5B5RCG4T8rFg8X3VmpaDkcj6qBQCsziHU8OGv6HcokPB12VVTnabG7ITXL5DKCDA
2TANhbY3qtx18yigFmA3eO3Et68YR9izXFxlFk/iicR6iqcLoo5PjYCT9XRxvg6B
rImjQ9z/gPaVdozM8LCPFgfBfCwMLanuBNw9HJuD6oegr2tSEHuCL2bHwm8I9u/2
9tNcG1Nn5tACiGGsSnIWMM8VcEsOomF83JVkOqNvs0zz/S8WnYEys96VW9Jc50ZK
JFuDAl+s15ly56nrqEy1wA7rX9oH8+6wuA1LxX3r5vHh6ZnW6rTuQ+CGIXLp4F8t
9bunbSFJ6n5seDuJTRdnSupBhXpCk7VlfkH8jDef1h+lVuKafi7MvubQbLPPw/eV
0PoJRR7S0bjhzbHXvHV+HAheRB9gDhptWoHWp20UESdl73rRfg9ImCRNlHCWGRRn
2raEkBsZEv/Q1bsEkgc+
=yQKn
-END PGP SIGNATURE-

Changes since xserver-xorg-video-intel-2_2.99.917+git20160127-1:
Chris Wilson (16):
  sna: Perform composite rotation on the individual damage elements
  sna: Restrict TearFree damage discarding to straightforward copies
  test/dri2-race: Capture race between window-manger and clients
  test: Add present-race
  test/dri2-test: Add WaitMSC accuracy tests
  sna/gen3: Add missing destination offsets to a few vertex emitters
  test/dri2-race: Use loops for iterating over divisor tests
  test/dri2-race: Add a set of races against Client death
  sna: Reorder busyness checks after finding the proxy's parents
  sna/dri2: Initialize priv->cache_size
  test/dri2-race: Tweak runtimes
  sna: Also mark imported Prime objects as unclean
  sna: Restrict set-domain short-circuit to readonly
  sna: Check enable_psr module parameters
  sna: Use dirtyfb for fallback direct rendering
  sna: Prefer to avoid direct rendering with FBC

Martin Peres (2):
  display: prevent a NULL pointer dereference in intel_set_scanout_pixmap
  sna_video_sprite: add asserts to catch invalid pipe#

Timo Aaltonen (2):
  Merge branch 'upstream-unstable' into debian-unstable
  release to unstable

---
 debian/changelog   |6 
 src/sna/gen3_render.c  |   91 +++--
 src/sna/kgem.c |   72 +++-
 src/sna/kgem.h |3 
 src/sna/sna_display.c  |   89 -
 src/sna/sna_dri2.c |1 
 src/sna/sna_driver.c   |8 
 src/sna/sna_video_sprite.c |3 
 src/uxa/intel_display.c|8 
 test/.gitignore|1 
 test/Makefile.am   |3 
 test/dri2-race.c   |  724 ++---
 test/dri2-test.c   |   44 ++
 test/present-race.c|  484 ++
 14 files changed, 1224 insertions(+), 313 deletions(-)
---



xserver-xorg-video-intel: Changes to 'upstream-unstable'

2016-02-18 Thread Timo Aaltonen
 src/sna/gen3_render.c  |   91 +++--
 src/sna/kgem.c |   72 +++-
 src/sna/kgem.h |3 
 src/sna/sna_display.c  |   89 -
 src/sna/sna_dri2.c |1 
 src/sna/sna_driver.c   |8 
 src/sna/sna_video_sprite.c |3 
 src/uxa/intel_display.c|8 
 test/.gitignore|1 
 test/Makefile.am   |3 
 test/dri2-race.c   |  724 ++---
 test/dri2-test.c   |   44 ++
 test/present-race.c|  484 ++
 13 files changed, 1218 insertions(+), 313 deletions(-)

New commits:
commit 05320318fb940247d8749da8330215d19f41d84e
Author: Chris Wilson 
Date:   Thu Feb 18 13:54:11 2016 +

sna: Prefer to avoid direct rendering with FBC

If FBC is enabled, avoid the overhead of tracking rendering into the
frontbuffer by rendering into a backbuffer and flipping. Again, we have
no actual flag to indicate when FBC is enabled, so take a guess from the
module parameter.

Signed-off-by: Chris Wilson 

diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index f2fca7c..a1e1ffb 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -7105,6 +7105,22 @@ sna_mode_wants_tear_free(struct sna *sna)
FILE *file;
int i;
 
+   file = fopen("/sys/module/i915/parameters/enable_fbc", "r");
+   if (file) {
+   int fbc_enabled = 0;
+   int value;
+
+   if (fscanf(file, "%d", ) == 1)
+   fbc_enabled = value > 0;
+   fclose(file);
+
+   DBG(("%s: module parameter 'enable_fbc' enabled? %d\n",
+__FUNCTION__, fbc_enabled));
+
+   if (fbc_enabled)
+   return true;
+   }
+
for (i = 0; i < sna->mode.num_real_output; i++) {
struct sna_output *output = to_sna_output(config->output[i]);
int id = find_property(sna, output, "Panel Self-Refresh");

commit b99e8b022c4aaf586ae49e0eb597f0c34bc0e165
Author: Chris Wilson 
Date:   Thu Feb 18 13:53:07 2016 +

sna: Use dirtyfb for fallback direct rendering

The preferred solution when direct rendering is too costly is to render
into the backbuffer and flip. However, if the user insists, we need to
tell the kernel when to flush the scanout due to direct rendering.

Signed-off-by: Chris Wilson 

diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index aceedd4..abb9e02 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -86,6 +86,7 @@ search_snoop_cache(struct kgem *kgem, unsigned int num_pages, 
unsigned flags);
 #define DBG_NO_WC_MMAP 0
 #define DBG_NO_BLT_Y 0
 #define DBG_NO_SCANOUT_Y 0
+#define DBG_NO_DIRTYFB 0
 #define DBG_NO_DETILING 0
 #define DBG_DUMP 0
 #define DBG_NO_MALLOC_CACHE 0
@@ -1499,6 +1500,47 @@ static bool test_can_scanout_y(struct kgem *kgem)
return ret;
 }
 
+static bool test_has_dirtyfb(struct kgem *kgem)
+{
+   struct drm_mode_fb_cmd create;
+   bool ret = false;
+
+   if (DBG_NO_DIRTYFB)
+   return false;
+
+   VG_CLEAR(create);
+   create.width = 32;
+   create.height = 32;
+   create.pitch = 4*32;
+   create.bpp = 32;
+   create.depth = 32;
+   create.handle = gem_create(kgem->fd, 1);
+   if (create.handle == 0)
+   return false;
+
+   if (drmIoctl(kgem->fd, DRM_IOCTL_MODE_ADDFB, ) == 0) {
+   struct drm_mode_fb_dirty_cmd dirty;
+
+   memset(, 0, sizeof(dirty));
+   dirty.fb_id = create.fb_id;
+   ret = drmIoctl(kgem->fd,
+  DRM_IOCTL_MODE_DIRTYFB,
+  ) == 0;
+
+   /* XXX There may be multiple levels of DIRTYFB, depending on
+* whether the kernel thinks tracking dirty regions is
+* beneficial vs flagging the whole fb as dirty.
+*/
+
+   drmIoctl(kgem->fd,
+DRM_IOCTL_MODE_RMFB,
+_id);
+   }
+   gem_close(kgem->fd, create.handle);
+
+   return ret;
+}
+
 static bool test_has_secure_batches(struct kgem *kgem)
 {
if (DBG_NO_SECURE_BATCHES)
@@ -1981,6 +2023,9 @@ void kgem_init(struct kgem *kgem, int fd, struct 
pci_device *dev, unsigned gen)
DBG(("%s: can scanout Y-tiled surfaces? %d\n", __FUNCTION__,
 kgem->can_scanout_y));
 
+   kgem->has_dirtyfb = test_has_dirtyfb(kgem);
+   DBG(("%s: has dirty fb? %d\n", __FUNCTION__, kgem->has_dirtyfb));
+
kgem->has_secure_batches = test_has_secure_batches(kgem);
DBG(("%s: can use privileged batchbuffers? %d\n", __FUNCTION__,
 kgem->has_secure_batches));
@@ -6090,7 +6135,7 @@ static void __kgem_flush(struct kgem *kgem, struct 
kgem_bo *bo)
 
 void 

xserver-xorg-video-intel: Changes to 'debian-unstable'

2016-02-18 Thread Timo Aaltonen
 debian/changelog   |6 
 src/sna/gen3_render.c  |   91 +++--
 src/sna/kgem.c |   72 +++-
 src/sna/kgem.h |3 
 src/sna/sna_display.c  |   89 -
 src/sna/sna_dri2.c |1 
 src/sna/sna_driver.c   |8 
 src/sna/sna_video_sprite.c |3 
 src/uxa/intel_display.c|8 
 test/.gitignore|1 
 test/Makefile.am   |3 
 test/dri2-race.c   |  724 ++---
 test/dri2-test.c   |   44 ++
 test/present-race.c|  484 ++
 14 files changed, 1224 insertions(+), 313 deletions(-)

New commits:
commit 10c054b5a66b894cbb92f857feabb861456cd3a6
Author: Timo Aaltonen 
Date:   Fri Feb 19 00:08:51 2016 +0200

release to unstable

diff --git a/debian/changelog b/debian/changelog
index 9d5b6bd..7f3362b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xserver-xorg-video-intel (2:2.99.917+git20160218-1) unstable; urgency=medium
+
+  * New upstream snapshot.
+
+ -- Timo Aaltonen   Fri, 19 Feb 2016 00:06:43 +0200
+
 xserver-xorg-video-intel (2:2.99.917+git20160127-1) unstable; urgency=medium
 
   * New upstream snapshot.

commit 05320318fb940247d8749da8330215d19f41d84e
Author: Chris Wilson 
Date:   Thu Feb 18 13:54:11 2016 +

sna: Prefer to avoid direct rendering with FBC

If FBC is enabled, avoid the overhead of tracking rendering into the
frontbuffer by rendering into a backbuffer and flipping. Again, we have
no actual flag to indicate when FBC is enabled, so take a guess from the
module parameter.

Signed-off-by: Chris Wilson 

diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index f2fca7c..a1e1ffb 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -7105,6 +7105,22 @@ sna_mode_wants_tear_free(struct sna *sna)
FILE *file;
int i;
 
+   file = fopen("/sys/module/i915/parameters/enable_fbc", "r");
+   if (file) {
+   int fbc_enabled = 0;
+   int value;
+
+   if (fscanf(file, "%d", ) == 1)
+   fbc_enabled = value > 0;
+   fclose(file);
+
+   DBG(("%s: module parameter 'enable_fbc' enabled? %d\n",
+__FUNCTION__, fbc_enabled));
+
+   if (fbc_enabled)
+   return true;
+   }
+
for (i = 0; i < sna->mode.num_real_output; i++) {
struct sna_output *output = to_sna_output(config->output[i]);
int id = find_property(sna, output, "Panel Self-Refresh");

commit b99e8b022c4aaf586ae49e0eb597f0c34bc0e165
Author: Chris Wilson 
Date:   Thu Feb 18 13:53:07 2016 +

sna: Use dirtyfb for fallback direct rendering

The preferred solution when direct rendering is too costly is to render
into the backbuffer and flip. However, if the user insists, we need to
tell the kernel when to flush the scanout due to direct rendering.

Signed-off-by: Chris Wilson 

diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index aceedd4..abb9e02 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -86,6 +86,7 @@ search_snoop_cache(struct kgem *kgem, unsigned int num_pages, 
unsigned flags);
 #define DBG_NO_WC_MMAP 0
 #define DBG_NO_BLT_Y 0
 #define DBG_NO_SCANOUT_Y 0
+#define DBG_NO_DIRTYFB 0
 #define DBG_NO_DETILING 0
 #define DBG_DUMP 0
 #define DBG_NO_MALLOC_CACHE 0
@@ -1499,6 +1500,47 @@ static bool test_can_scanout_y(struct kgem *kgem)
return ret;
 }
 
+static bool test_has_dirtyfb(struct kgem *kgem)
+{
+   struct drm_mode_fb_cmd create;
+   bool ret = false;
+
+   if (DBG_NO_DIRTYFB)
+   return false;
+
+   VG_CLEAR(create);
+   create.width = 32;
+   create.height = 32;
+   create.pitch = 4*32;
+   create.bpp = 32;
+   create.depth = 32;
+   create.handle = gem_create(kgem->fd, 1);
+   if (create.handle == 0)
+   return false;
+
+   if (drmIoctl(kgem->fd, DRM_IOCTL_MODE_ADDFB, ) == 0) {
+   struct drm_mode_fb_dirty_cmd dirty;
+
+   memset(, 0, sizeof(dirty));
+   dirty.fb_id = create.fb_id;
+   ret = drmIoctl(kgem->fd,
+  DRM_IOCTL_MODE_DIRTYFB,
+  ) == 0;
+
+   /* XXX There may be multiple levels of DIRTYFB, depending on
+* whether the kernel thinks tracking dirty regions is
+* beneficial vs flagging the whole fb as dirty.
+*/
+
+   drmIoctl(kgem->fd,
+DRM_IOCTL_MODE_RMFB,
+_id);
+   }
+   gem_close(kgem->fd, create.handle);
+
+   return ret;
+}
+
 static bool test_has_secure_batches(struct kgem *kgem)
 {
if 

xserver-xorg-video-intel: Changes to 'pristine-tar'

2016-02-18 Thread Timo Aaltonen
 xserver-xorg-video-intel_2.99.917+git20160127.orig.tar.gz.delta |binary
 xserver-xorg-video-intel_2.99.917+git20160127.orig.tar.gz.id|1 +
 xserver-xorg-video-intel_2.99.917+git20160218.orig.tar.gz.delta |binary
 xserver-xorg-video-intel_2.99.917+git20160218.orig.tar.gz.id|1 +
 4 files changed, 2 insertions(+)

New commits:
commit 5cc8779397d772d15db2d949daaed7e217c2ffc9
Author: Timo Aaltonen 
Date:   Fri Feb 19 00:09:28 2016 +0200

pristine-tar data for 
xserver-xorg-video-intel_2.99.917+git20160218.orig.tar.gz

diff --git a/xserver-xorg-video-intel_2.99.917+git20160218.orig.tar.gz.delta 
b/xserver-xorg-video-intel_2.99.917+git20160218.orig.tar.gz.delta
new file mode 100644
index 000..9975633
Binary files /dev/null and 
b/xserver-xorg-video-intel_2.99.917+git20160218.orig.tar.gz.delta differ
diff --git a/xserver-xorg-video-intel_2.99.917+git20160218.orig.tar.gz.id 
b/xserver-xorg-video-intel_2.99.917+git20160218.orig.tar.gz.id
new file mode 100644
index 000..94c123e
--- /dev/null
+++ b/xserver-xorg-video-intel_2.99.917+git20160218.orig.tar.gz.id
@@ -0,0 +1 @@
+8f041a5cc21dd644e4727a47f7b38f5b9a0caa4e

commit 88b3d4dfb8ae9388e9a55b41e678f187feeb2dcb
Author: Timo Aaltonen 
Date:   Wed Jan 27 14:32:54 2016 +0200

pristine-tar data for 
xserver-xorg-video-intel_2.99.917+git20160127.orig.tar.gz

diff --git a/xserver-xorg-video-intel_2.99.917+git20160127.orig.tar.gz.delta 
b/xserver-xorg-video-intel_2.99.917+git20160127.orig.tar.gz.delta
new file mode 100644
index 000..e9b9256
Binary files /dev/null and 
b/xserver-xorg-video-intel_2.99.917+git20160127.orig.tar.gz.delta differ
diff --git a/xserver-xorg-video-intel_2.99.917+git20160127.orig.tar.gz.id 
b/xserver-xorg-video-intel_2.99.917+git20160127.orig.tar.gz.id
new file mode 100644
index 000..53173da
--- /dev/null
+++ b/xserver-xorg-video-intel_2.99.917+git20160127.orig.tar.gz.id
@@ -0,0 +1 @@
+d50e2b602ab8dc97309ad3ab9e09c7ccc232d2e8



vulkan: Changes to 'debian-unstable'

2016-02-18 Thread Timo Aaltonen
 debian/control  |9 +++
 debian/libvulkan1.install   |4 -
 debian/local/cube-frag.spv  |binary
 debian/local/cube-vert.spv  |binary
 debian/local/tri-frag.spv   |binary
 debian/local/tri-vert.spv   |binary
 debian/patches/demos-add-install-rule.diff  |5 +
 debian/patches/demos-dont-build-tri-or-cube.diff|   39 -
 debian/patches/demos-read-from-installed-paths.diff |   59 
 debian/patches/demos-use-prebuilt-spvs.diff |   44 ++
 debian/patches/layers-dont-set-an-rpath.diff|2 
 debian/patches/series   |3 -
 debian/rules|4 +
 debian/vulkan-utils.install |5 +
 14 files changed, 129 insertions(+), 45 deletions(-)

New commits:
commit 871ea91322a66793869c3c60fd4e068c8358ff88
Author: Timo Aaltonen 
Date:   Thu Feb 18 20:36:17 2016 +0200

build cube & tri, and hack around so they have what they need to work

diff --git a/debian/control b/debian/control
index 4cec439..2e83e9b 100644
--- a/debian/control
+++ b/debian/control
@@ -39,3 +39,12 @@ Description: Vulkan loader library -- development files
  layers, based on the GPU object selected by the application.
  .
  This package includes files needed for development.
+
+Package: vulkan-utils
+Architecture: any
+Section: graphics
+Depends: ${shlibs:Depends}, ${misc:Depends},
+ libvulkan1,
+Description: Miscellaneous Vulkan utilities
+ This package provides a few demo programs to test Vulkan functionality,
+ including vkcube, vktri and vulkaninfo.
diff --git a/debian/libvulkan1.install b/debian/libvulkan1.install
index 6f85934..b90e938 100644
--- a/debian/libvulkan1.install
+++ b/debian/libvulkan1.install
@@ -1,5 +1,5 @@
-usr/bin/vulkaninfo
 usr/lib/*/lib*.so.*
 usr/lib/*/liblayer_utils.so
 usr/lib/*/libVk*.so
-usr/share/vulkan
+usr/share/vulkan/explicit_layer.d
+usr/share/vulkan/implicit_layer.d
diff --git a/debian/local/cube-frag.spv b/debian/local/cube-frag.spv
new file mode 100644
index 000..15db12c
Binary files /dev/null and b/debian/local/cube-frag.spv differ
diff --git a/debian/local/cube-vert.spv b/debian/local/cube-vert.spv
new file mode 100644
index 000..0e27210
Binary files /dev/null and b/debian/local/cube-vert.spv differ
diff --git a/debian/local/tri-frag.spv b/debian/local/tri-frag.spv
new file mode 100644
index 000..122c06f
Binary files /dev/null and b/debian/local/tri-frag.spv differ
diff --git a/debian/local/tri-vert.spv b/debian/local/tri-vert.spv
new file mode 100644
index 000..45ca768
Binary files /dev/null and b/debian/local/tri-vert.spv differ
diff --git a/debian/patches/demos-add-install-rule.diff 
b/debian/patches/demos-add-install-rule.diff
index c1f56e2..ce2580e 100644
--- a/debian/patches/demos-add-install-rule.diff
+++ b/debian/patches/demos-add-install-rule.diff
@@ -1,8 +1,11 @@
 Description: Add an install rule for vulkaninfo
 --- a/demos/CMakeLists.txt
 +++ b/demos/CMakeLists.txt
-@@ -93,3 +93,4 @@ else()
+@@ -93,6 +93,7 @@ else()
  add_executable(vulkaninfo WIN32 vulkaninfo.c)
  endif()
  target_link_libraries(vulkaninfo ${LIBRARIES})
 +install(TARGETS vulkaninfo RUNTIME DESTINATION /usr/bin)
+ 
+ if(UNIX)
+ add_executable(tri tri.c ${CMAKE_BINARY_DIR}/demos/tri-vert.spv 
${CMAKE_BINARY_DIR}/demos/tri-frag.spv)
diff --git a/debian/patches/demos-dont-build-tri-or-cube.diff 
b/debian/patches/demos-dont-build-tri-or-cube.diff
deleted file mode 100644
index f26490e..000
--- a/debian/patches/demos-dont-build-tri-or-cube.diff
+++ /dev/null
@@ -1,39 +0,0 @@
-commit f63cbe944107b5cd8f150ceaaec43b26099d5688
-Author: Adam Jackson 
-Date:   Tue Feb 16 10:05:25 2016 -0500
-
-demos: Don't build tri or cube
-
-There are more interesting demos, all we really want here is vulkaninfo.
-This helps because we don't need to pre-build glslang/llvm/lunarglass
-just to get the loader and layers.
-
-diff --git a/demos/CMakeLists.txt b/demos/CMakeLists.txt
-index ebc406b..a21760b 100644
 a/demos/CMakeLists.txt
-+++ b/demos/CMakeLists.txt
-@@ -93,24 +93,3 @@ else()
- add_executable(vulkaninfo WIN32 vulkaninfo.c)
- endif()
- target_link_libraries(vulkaninfo ${LIBRARIES})
--
--if(UNIX)
--add_executable(tri tri.c ${CMAKE_BINARY_DIR}/demos/tri-vert.spv 
${CMAKE_BINARY_DIR}/demos/tri-frag.spv)
--else()
--add_executable(tri WIN32 tri.c ${CMAKE_BINARY_DIR}/demos/tri-vert.spv 
${CMAKE_BINARY_DIR}/demos/tri-frag.spv)
--endif()
--target_link_libraries(tri ${LIBRARIES})
--
--if(NOT WIN32)
--add_executable(cube cube.c ${CMAKE_BINARY_DIR}/demos/cube-vert.spv 
${CMAKE_BINARY_DIR}/demos/cube-frag.spv)
--target_link_libraries(cube ${LIBRARIES})
--else()
--if (CMAKE_CL_64)
--set (LIB_DIR "Win64")
--else()
--   

Bug#814313: xorg-server: Using systemd and startx, input does not work anymore

2016-02-18 Thread Guillem Jover
Control: retitle -1 xorg-server: Using startx w/o libpam-systemd, input does 
not work anymore

Hi!

On Wed, 2016-02-10 at 18:42:39 +0100, Sven Joachim wrote:
> On 2016-02-10 09:39 +0100, Guillem Jover wrote:
> 
> > Source: xorg-server
> > Source-Version: 2:1.18.1-1
> > Severity: important
> 
> It would have been better to report the bug against the
> xserver-xorg-core binary package, since that includes necessary
> information from the bug script which is missing from your report.

Sorry about that, I tend to avoid reportbug, so reporting against
xserver-xorg-core would not have helped anyway.

> > I just logged out and started X again, and no input was working any
> > longer (builtin mouse and keyboard, nor hotplugged USB mouse).
> >
> > On this specific machine I'm using systemd, and I'm starting the X
> > server using startx from a Linux console. I've also got the
> > xserver-xorg-legacy package installed.

This happens as well on another system using sysvinit. Both using the
Intel KMS driver.

> > I've bisected the packages and it seems this regression got introduced
> > in 2:1.18.1-1, as 2:1.18.0-3 works perfectly fine.
> 
> My hunch is that the fix[1] for upstream bug #92894[2] has triggered
> this breakage.  If I read the code in xorg-wrapper.c correctly, the
> version from 1.18.0 would not actually drop root rights even if you have
> a KMS driver for your video card(s).  Now the KMS detection actually
> works, and if you have a kernel graphics driver the wrapper drops root
> rights meaning that you _must_ have a working systemd-logind to grant X
> access to your input devices.
> 
> Do you have libpam-systemd installed?

Ah! I didn't have libpam-systemd installed on neither of the systems
(sysvinit and systemd). I just had to restart these systems now anyway,
and tried several things.

I've now installed libpam-systemd on the system using systemd and
things work as expected. For the one using sysvinit, instead I've added
needs_root_rights=yes in /etc/X11/Xwrapper.config for now, as I don't
want libpam-systemd on that one, this works fine too, and I'll switch
to simply fixing the device permissions later on.

I guess it would be nice to document this interaction/requirement
more explicitly somewhere? Perhaps in the Xorg.wrap man page?

But in any case the failing mode is pretty nasty, as the keyboard does
not react anymore and you cannot ZAP the server or even switch to a
virtual console to terminate it from there, at least the power button
here sends ACPI events so the system can be shutdown cleanly. Ideally
if root privs are to be dropped, logind is not available, and the input
drivers will not have access to the input devices then the server could
error out? But I'm not sure if that's architecturally sane. I guess the
second best option would be, if logind is not present then the server
perhaps should simply not drop root privs.

And at least the server could print something on the Xorg.log.

(But given that this is due to ignoring Recommends, I guess you might
want to lower the severity.)

Thanks,
Guillem



Processed: Re: Bug#814313: xorg-server: Using systemd and startx, input does not work anymore

2016-02-18 Thread Debian Bug Tracking System
Processing control commands:

> retitle -1 xorg-server: Using startx w/o libpam-systemd, input does not work 
> anymore
Bug #814313 [src:xorg-server] xorg-server: Using systemd and startx, input does 
not work anymore
Changed Bug title to 'xorg-server: Using startx w/o libpam-systemd, input does 
not work anymore' from 'xorg-server: Using systemd and startx, input does not 
work anymore'

-- 
814313: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=814313
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems



vulkan: Changes to 'debian-unstable'

2016-02-18 Thread Timo Aaltonen
 debian/control |1 +
 1 file changed, 1 insertion(+)

New commits:
commit 8bed4ac6ac104db1b01041ccb434cdbfec208fe7
Author: Timo Aaltonen 
Date:   Thu Feb 18 12:57:29 2016 +0200

add python3 to build-deps

diff --git a/debian/control b/debian/control
index cb80840..4cec439 100644
--- a/debian/control
+++ b/debian/control
@@ -7,6 +7,7 @@ Build-Depends: debhelper (>= 9),
  libwayland-dev,
  libxcb1-dev,
  pkg-config,
+ python3,
  quilt,
 Standards-Version: 3.9.6
 Section: libs



vulkan: Changes to 'debian-unstable'

2016-02-18 Thread Timo Aaltonen
 debian/control |1 +
 debian/patches/trim-build.diff |   11 +++
 2 files changed, 12 insertions(+)

New commits:
commit 896be361f5e31550123d98c33cb230114eb4c642
Author: Timo Aaltonen 
Date:   Thu Feb 18 11:15:17 2016 +0200

enable waylang platform

diff --git a/debian/control b/debian/control
index 3a41e62..cb80840 100644
--- a/debian/control
+++ b/debian/control
@@ -4,6 +4,7 @@ Maintainer: Debian X Strike Force 
 Uploaders: Timo Aaltonen 
 Build-Depends: debhelper (>= 9),
  cmake,
+ libwayland-dev,
  libxcb1-dev,
  pkg-config,
  quilt,
diff --git a/debian/patches/trim-build.diff b/debian/patches/trim-build.diff
index aeace9d..9694798 100644
--- a/debian/patches/trim-build.diff
+++ b/debian/patches/trim-build.diff
@@ -1,5 +1,16 @@
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
+@@ -31,8 +31,8 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux
+ #   add_definitions(-DVK_USE_PLATFORM_MIR_KHR)
+ #   set(DisplayServer Mir)
+ 
+-#   add_definitions(-DVK_USEPLATFORM_WAYLAND_KHR)
+-#   set(DisplayServer Wayland)
++add_definitions(-DVK_USEPLATFORM_WAYLAND_KHR)
++set(DisplayServer Wayland)
+ 
+ else()
+ message(FATAL_ERROR "Unsupported Platform!")
 @@ -65,10 +65,10 @@ if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_C
  endif()