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

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



 ChangeLog                                                   |  494 ++++++++++++
 Makefile.am                                                 |    2 
 NEWS                                                        |   32 
 configure.ac                                                |    7 
 debian/changelog                                            |   32 
 debian/patches/series                                       |    1 
 debian/patches/sna-flush-scanout-cache-after-resizing.patch |  228 -----
 debian/rules                                                |    2 
 m4/ac_define_dir.m4                                         |   49 +
 src/intel_dri.c                                             |   15 
 src/intel_driver.h                                          |   51 -
 src/intel_module.c                                          |   99 +-
 src/sna/Makefile.am                                         |    2 
 src/sna/compiler.h                                          |    2 
 src/sna/gen4_render.c                                       |   10 
 src/sna/gen4_vertex.c                                       |    6 
 src/sna/gen5_render.c                                       |    7 
 src/sna/gen6_render.c                                       |    2 
 src/sna/gen7_render.c                                       |   31 
 src/sna/kgem.c                                              |  144 ++-
 src/sna/kgem.h                                              |    9 
 src/sna/sna.h                                               |   18 
 src/sna/sna_accel.c                                         |  445 +++++++++-
 src/sna/sna_blt.c                                           |   46 -
 src/sna/sna_composite.c                                     |   20 
 src/sna/sna_display.c                                       |   23 
 src/sna/sna_dri.c                                           |   27 
 src/sna/sna_driver.c                                        |   23 
 src/sna/sna_render.c                                        |   13 
 src/sna/sna_trapezoids.c                                    |   85 +-
 src/sna/sna_video.c                                         |   10 
 src/sna/sna_video.h                                         |   19 
 src/sna/sna_video_hwmc.c                                    |   75 -
 src/sna/sna_video_hwmc.h                                    |    4 
 src/sna/sna_video_overlay.c                                 |   53 -
 src/sna/sna_video_sprite.c                                  |   46 -
 src/sna/sna_video_textured.c                                |   57 -
 37 files changed, 1603 insertions(+), 586 deletions(-)

New commits:
commit 2ce7b7f10c82bee6617e5efb4fc7713cb6d86861
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Thu May 23 09:45:05 2013 +0200

    Release to saucy.
    
    * Merge from unreleased debian git, remaining changes:
      - Use SNA by default.
    * rules: Add --enable-valgrind again.
    * Drop sna-flush-scanout-cache-after-resizing.patch, upstreamed.

diff --git a/debian/changelog b/debian/changelog
index ab24457..68a7410 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+xserver-xorg-video-intel (2:2.21.7-0ubuntu1) saucy; urgency=low
+
+  * Merge from unreleased debian git, remaining changes:
+    - Use SNA by default.
+  * rules: Add --enable-valgrind again.
+  * Drop sna-flush-scanout-cache-after-resizing.patch, upstreamed.
+
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com>  Thu, 23 May 2013 09:44:44 +0200
+
 xserver-xorg-video-intel (2:2.21.7-1) UNRELEASED; urgency=low
 
   [ Timo Aaltonen ]
@@ -10,12 +19,6 @@ xserver-xorg-video-intel (2:2.21.7-1) UNRELEASED; urgency=low
 
  -- Timo Aaltonen <tjaalton@ubuntu.com>  Fri, 07 Dec 2012 09:33:39 +0200
 
-xserver-xorg-video-intel (2:2.21.6-0ubuntu5) UNRELEASED; urgency=low
-
-  * rules: Add --enable-valgrind again.
-
- -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com>  Thu, 23 May 2013 09:24:06 +0200
-
 xserver-xorg-video-intel (2:2.21.6-0ubuntu4) raring-proposed; urgency=low
 
   [Chris Arges]
diff --git a/debian/patches/series b/debian/patches/series
index df7cb15..23ed8a4 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1 @@
 0002-Update-manpage-for-new-accelmethod-option.patch
-sna-flush-scanout-cache-after-resizing.patch
diff --git a/debian/patches/sna-flush-scanout-cache-after-resizing.patch b/debian/patches/sna-flush-scanout-cache-after-resizing.patch
deleted file mode 100644
index bb4928f..0000000
--- a/debian/patches/sna-flush-scanout-cache-after-resizing.patch
+++ /dev/null
@@ -1,228 +0,0 @@
-From e083fbdc3f2025f4ccc199070e2488afc5afb2a7 Mon Sep 17 00:00:00 2001
-From: Chris Wilson <chris@chris-wilson.co.uk>
-Date: Fri, 12 Apr 2013 11:01:08 +0100
-Subject: [PATCH] sna: Flush the scanout cache after resizing the display
-
-And ensure that any new scanout allocations make the requested size.
-
-Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-(cherry picked from commit 9dae6f9f1f169c228929185a8bd94e82afe92574)
-
-Conflicts:
-
-	src/sna/kgem.h
----
- src/sna/kgem.c        |   88 ++++++++++++++++++++++++++++++++++++-------------
- src/sna/kgem.h        |    3 ++
- src/sna/sna_display.c |   23 ++++++++-----
- 3 files changed, 83 insertions(+), 31 deletions(-)
-
-diff --git a/src/sna/kgem.c b/src/sna/kgem.c
-index 4136ce9..cb2dea7 100644
---- a/src/sna/kgem.c
-+++ b/src/sna/kgem.c
-@@ -1601,6 +1601,17 @@ inline static void kgem_bo_remove_from_active(struct kgem *kgem,
- 	assert(list_is_empty(&bo->vma));
- }
- 
-+static void _kgem_bo_delete_buffer(struct kgem *kgem, struct kgem_bo *bo)
-+{
-+	struct kgem_buffer *io = (struct kgem_buffer *)bo->proxy;
-+
-+	DBG(("%s: size=%d, offset=%d, parent used=%d\n",
-+	     __FUNCTION__, bo->size.bytes, bo->delta, io->used));
-+
-+	if (ALIGN(bo->delta + bo->size.bytes, UPLOAD_ALIGNMENT) == io->used)
-+		io->used = bo->delta;
-+}
-+
- static void kgem_bo_clear_scanout(struct kgem *kgem, struct kgem_bo *bo)
- {
- 	assert(bo->scanout);
-@@ -1625,15 +1636,31 @@ static void kgem_bo_clear_scanout(struct kgem *kgem, struct kgem_bo *bo)
- 		bo->reusable = false;
- }
- 
--static void _kgem_bo_delete_buffer(struct kgem *kgem, struct kgem_bo *bo)
-+static bool check_scanout_size(struct kgem *kgem,
-+			       struct kgem_bo *bo,
-+			       int width, int height)
- {
--	struct kgem_buffer *io = (struct kgem_buffer *)bo->proxy;
-+	struct drm_mode_fb_cmd info;
- 
--	DBG(("%s: size=%d, offset=%d, parent used=%d\n",
--	     __FUNCTION__, bo->size.bytes, bo->delta, io->used));
-+	assert(bo->scanout);
- 
--	if (ALIGN(bo->delta + bo->size.bytes, UPLOAD_ALIGNMENT) == io->used)
--		io->used = bo->delta;
-+	VG_CLEAR(info);
-+	info.fb_id = bo->delta;
-+
-+	if (drmIoctl(kgem->fd, DRM_IOCTL_MODE_GETFB, &info))
-+		return false;
-+
-+	gem_close(kgem->fd, info.handle);
-+
-+	if (width != info.width || height != info.height) {
-+		DBG(("%s: not using scanout %d (%dx%d), want (%dx%d)\n",
-+		     __FUNCTION__,
-+		     info.fb_id, info.width, info.height,
-+		     width, height))
-+		return false;
-+	}
-+
-+	return true;
- }
- 
- static void kgem_bo_move_to_scanout(struct kgem *kgem, struct kgem_bo *bo)
-@@ -2769,6 +2796,31 @@ void kgem_purge_cache(struct kgem *kgem)
- 	kgem->need_purge = false;
- }
- 
-+void kgem_clean_scanout_cache(struct kgem *kgem)
-+{
-+	while (!list_is_empty(&kgem->scanout)) {
-+		struct kgem_bo *bo;
-+
-+		bo = list_first_entry(&kgem->scanout, struct kgem_bo, list);
-+		if (__kgem_busy(kgem, bo->handle))
-+			break;
-+
-+		list_del(&bo->list);
-+		kgem_bo_clear_scanout(kgem, bo);
-+		__kgem_bo_destroy(kgem, bo);
-+	}
-+}
-+
-+void kgem_clean_large_cache(struct kgem *kgem)
-+{
-+	while (!list_is_empty(&kgem->large_inactive)) {
-+		kgem_bo_free(kgem,
-+			     list_first_entry(&kgem->large_inactive,
-+					      struct kgem_bo, list));
-+
-+	}
-+}
-+
- bool kgem_expire_cache(struct kgem *kgem)
- {
- 	time_t now, expire;
-@@ -2791,22 +2843,8 @@ bool kgem_expire_cache(struct kgem *kgem)
- 		free(rq);
- 	}
- 
--	while (!list_is_empty(&kgem->large_inactive)) {
--		kgem_bo_free(kgem,
--			     list_first_entry(&kgem->large_inactive,
--					      struct kgem_bo, list));
--
--	}
--
--	while (!list_is_empty(&kgem->scanout)) {
--		bo = list_first_entry(&kgem->scanout, struct kgem_bo, list);
--		if (__kgem_busy(kgem, bo->handle))
--			break;
--
--		list_del(&bo->list);
--		kgem_bo_clear_scanout(kgem, bo);
--		__kgem_bo_destroy(kgem, bo);
--	}
-+	kgem_clean_large_cache(kgem);
-+	kgem_clean_scanout_cache(kgem);
- 
- 	expire = 0;
- 	list_for_each_entry(bo, &kgem->snoop, list) {
-@@ -2960,6 +2998,9 @@ void kgem_cleanup_cache(struct kgem *kgem)
- 						     struct kgem_bo, list));
- 	}
- 
-+	kgem_clean_large_cache(kgem);
-+	kgem_clean_scanout_cache(kgem);
-+
- 	while (!list_is_empty(&kgem->snoop))
- 		kgem_bo_free(kgem,
- 			     list_last_entry(&kgem->snoop,
-@@ -3571,6 +3612,9 @@ struct kgem_bo *kgem_create_2d(struct kgem *kgem,
- 			if (size > num_pages(bo) || num_pages(bo) > 2*size)
- 				continue;
- 
-+			if (!check_scanout_size(kgem, bo, width, height))
-+				continue;
-+
- 			if (bo->tiling != tiling ||
- 			    (tiling != I915_TILING_NONE && bo->pitch != pitch)) {
- 				if (!gem_set_tiling(kgem->fd, bo->handle,
-diff --git a/src/sna/kgem.h b/src/sna/kgem.h
-index f2b1c98..8f24d8b 100644
---- a/src/sna/kgem.h
-+++ b/src/sna/kgem.h
-@@ -682,6 +682,9 @@ bool kgem_expire_cache(struct kgem *kgem);
- void kgem_purge_cache(struct kgem *kgem);
- void kgem_cleanup_cache(struct kgem *kgem);
- 
-+void kgem_clean_scanout_cache(struct kgem *kgem);
-+void kgem_clean_large_cache(struct kgem *kgem);
-+
- #if HAS_DEBUG_FULL
- void __kgem_batch_debug(struct kgem *kgem, uint32_t nbatch);
- #else
-diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
-index 0d32086..ba9bf79 100644
---- a/src/sna/sna_display.c
-+++ b/src/sna/sna_display.c
-@@ -103,6 +103,14 @@ static inline struct sna_crtc *to_sna_crtc(xf86CrtcPtr crtc)
- 	return crtc->driver_private;
- }
- 
-+static bool sna_mode_has_pending_events(struct sna *sna)
-+{
-+	struct pollfd pfd;
-+	pfd.fd = sna->kgem.fd;
-+	pfd.events = POLLIN;
-+	return poll(&pfd, 1, 0) == 1;
-+}
-+
- #define BACKLIGHT_CLASS "/sys/class/backlight"
- 
- /* Enough for 10 digits of backlight + '\n' + '\0' */
-@@ -2601,6 +2609,11 @@ sna_mode_resize(ScrnInfoPtr scrn, int width, int height)
- 
- 	screen->DestroyPixmap(old_front);
- 
-+	while (sna_mode_has_pending_events(sna))
-+		sna_mode_wakeup(sna);
-+
-+	kgem_clean_scanout_cache(&sna->kgem);
-+
- 	return TRUE;
- }
- 
-@@ -2743,14 +2756,6 @@ bool sna_mode_pre_init(ScrnInfoPtr scrn, struct sna *sna)
- 	return true;
- }
- 
--static Bool sna_mode_has_pending_events(struct sna *sna)
--{
--	struct pollfd pfd;
--	pfd.fd = sna->kgem.fd;
--	pfd.events = POLLIN;
--	return poll(&pfd, 1, 0) == 1;
--}
--
- void
- sna_mode_close(struct sna *sna)
- {
-@@ -2761,7 +2766,7 @@ sna_mode_close(struct sna *sna)
- 	 * check that the fd is readable before attempting to read the next
- 	 * event from drm.
- 	 */
--	if (sna_mode_has_pending_events(sna))
-+	while (sna_mode_has_pending_events(sna))
- 		sna_mode_wakeup(sna);
- 
- 	for (i = 0; i < xf86_config->num_crtc; i++)
--- 
-1.7.9.5
-

commit 428431b1b274624da2a172beff2ef32bb22741bc
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Thu May 23 09:38:53 2013 +0200

    bump changelogs

diff --git a/ChangeLog b/ChangeLog
index 38312d2..abcd8c4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,497 @@
+commit e65ee10dfd7155230ac18a6d24a67b68336dc973
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue May 21 11:01:50 2013 +0100
+
+    2.21.7 release
+
+commit ef9dc6fae585d5616446eedc1e6e91173f4064c1
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon May 20 11:08:51 2013 +0100
+
+    sna: Undo a few more overwritten operations upon a bo
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit d6c30d1d4df6bcdfa075bd29da7c8aabee20774c
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri May 17 12:11:34 2013 +0100
+
+    sna: Clear the cow_list when discarding the clone upon pixmap destroy
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 21f17455650d52848467290f609c678e85b8ceab
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri May 17 11:46:16 2013 +0100
+
+    sna: Add the missing ref(bo) when undoing the source clone
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit ee166ca856ac02ca8900b9ff44ed3899add2c72a
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri May 17 11:30:03 2013 +0100
+
+    sna: Undo the clone when replacing the DRI pixmap
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 8d31fe771b423a3768cbd05db994d49e941369e1
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri May 17 11:14:34 2013 +0100
+
+    sna: Transfer ownership of the cloned bo to the pixmaps
+    
+    Fix the leak from the previous commit.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 5d9315873e02d4acc5ddffc698dbf8984cbd5c42
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri May 17 10:51:44 2013 +0100
+
+    sna: Avoid replacing pinned bo when undoing a clone
+    
+    Otherwise we end up cloning the scanout only to leave it dangling if the
+    client copies the from the front-buffer and then writes to it.
+    
+    Reported-by: Nick Bowler <nbowler@draconx.ca>
+    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=64675
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 3efe143e367acfa2ff38c63388d24a8d06331944
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri May 17 10:30:51 2013 +0100
+
+    sna: Clear mapped hints upon cloning a pair of pixmaps
+    
+    Once cloned, we do not want to use inplace operations and instead force
+    a copy. However, if we do not relinquish the hints when copying across
+    the bo, then those hints become stale and lead to corruption.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit f57a65c35268f215c17f1a02b3af50a6678ce3c1
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue May 14 16:15:57 2013 +0100
+
+    sna: Correct assertions to allow discarding of cpu hint for inplace ops
+    
+    Reported-by: Zdenek Kabelac <zkabelac@redhat.com>
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit bb0969e6a5c2bddcd0499d81c0c241003f8b07ef
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue May 14 15:22:59 2013 +0100
+
+    sna: Assert that the mapping is released before closing the GEM handle
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 16a64649e9c440ab9457467fe04be25719a73e7c
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri May 10 15:48:58 2013 +0100
+
+    sna: Basic copy-on-write support for cloning pixmaps
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit d89b2647dc0b72d6fa6ff89065acd3776b04cd3f
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri May 10 18:17:24 2013 +0100
+
+    sna: Propagate clears when using the BLT composite routines
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 810a0ce2f89ba6b343b5043963626c0f2d50fb22
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri May 10 12:02:10 2013 +0100
+
+    sna: Propagate clear color when replacing by a CopyArea
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 07a4400fffe4f83df3debe62abd2c37b45f8f0c0
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri May 10 11:59:59 2013 +0100
+
+    sna: Attempt to discard overwritten operations before CopyArea
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 3ee42de066e4629f78e254c27d07dc33e16dbc02
+Author: Rodrigo Vivi <rodrigo.vivi@gmail.com>
+Date:   Mon May 13 17:56:30 2013 -0300
+
+    Adding more reserved PCI IDs for Haswell.
+    
+    As Chris mentioned there is a tendency for us to find out more
+    PCI IDs only when users report. So let's add all new reserved Haswell IDs.
+    I didn't have better names for this reserved ids and didn't want to use rsvd1
+    and rsvd2 groups, so I decided to use "B" and "E" that stands for the last
+    id digit.
+    
+    Cc: Chris Wilson <chris@chris-wilson.co.uk>
+    Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
+
+commit ee96de8b1e7e4a305ee31c0ece1d9d38df8328f9
+Author: Rodrigo Vivi <rodrigo.vivi@gmail.com>
+Date:   Mon May 13 17:56:29 2013 -0300
+
+    Fix Haswell GT3 names.
+    
+    When publishing first HSW ids we weren't allowed to use "GT3" codname.
+    But this is the correct codname and Mesa is using it already.
+    So to avoid people getting confused why in Mesa it is called GT3 and here
+    it is called GT2_PLUS let's fix this name in a standard and correct way.
+    
+    Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
+
+commit 979d2f8d0038aa621e1c75200b10a3819e024a66
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Apr 22 18:00:32 2013 +0100
+
+    sna/gen4: Tidy testing for an active vertex buffer id
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 7ba63307058337af5a120ad01c93b423a3e422eb
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Apr 22 17:43:21 2013 +0100
+
+    sna/gen4: Drop unused gen parameter to SF state setup
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 2217f6356b53263b6ce8f92b5c29c0614d4ef2a5
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu May 9 13:46:11 2013 +0100
+
+    sna/trapezoids: Fix the determination of the trapezoid origin
+    
+    "src-x and src-y register the pattern to
+    the floor of the top x and y coordinate of the left edge of the
+    first trapezoid,"
+    
+    Bugzilla: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1178020
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 6e98df06fa9d218a6139730140a83a1940b05980
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu May 9 13:45:38 2013 +0100
+
+    sna: Add more debugging to unaligned trapezoids
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 5d62ec25937ad296114bf890a7a5ac11ff03508c
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu May 9 13:44:24 2013 +0100
+
+    sna/gen7: Add DBG for channel setup for render source
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit debdcd6a09464251324238ccbd935a6ade265d94
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu May 9 13:43:57 2013 +0100
+
+    sna: Add DBG statements for choice of spans vertex emitter
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit c6e4088dcb261d89fa0065eb7d9b62eada049dbd
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu May 9 11:30:05 2013 +0100
+
+    sna: Handle cached upload buffers for partial migration to GPU
+    
+    Since the extended use of move_area_to_gpu for partial migration of
+    render sources, we exposed the lack of handling of upload caches along
+    that path.
+    
+    Reported-by: Zdenek Kabelac <zkabelac@redhat.com>
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 262ee1ef1e98cb84fa0af6e679c8cd61dc93f008
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue May 7 10:35:53 2013 +0100
+
+    sna: Do not attempt to clean an active scanout
+    
+    For simplicity, skip buffers that are still in use by the batch - they
+    will be removed later.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 5637c173f85a5bb9a77572e4c070e0d612e6f49d
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed May 1 15:14:55 2013 +0100
+
+    sna: Be careful not to preemptively upload portions of a SHM pixmap
+    
+    Only upload the portion of the pixmap being used for this rendering
+    operation, as outside of that may remain undefined and to be written by
+    the client before a future operation.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit ca4a32c20d4c1f91552c02b9008ae16435b92d71
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed May 1 10:18:23 2013 +0100
+
+    sna: Page align requests to userptr
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit ab576a42650d8a743dd91108f774c220d866de95
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sat Apr 27 12:06:30 2013 +0100
+
+    Add all reserved PCI-IDs for Haswell
+    
+    There is a tendency for a product to ship based on a 'reserved' PCI-ID
+    prior to us being notified about it. In other words, the first we find
+    out about such a product is when customers start complaining about their
+    shiny new hardware not being supported...
+    
+    References: https://bugs.freedesktop.org/show_bug.cgi?id=63701
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 7dfb359677027310f4617b49f3da2321727a076f
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Apr 26 13:20:36 2013 +0100
+
+    uxa/dri: Fix compile error for unknown 'bool'
+    
+    It appears that it is only accidentally pulled in on some systems, but
+    not all.
+    
+    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=63957
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 8eaafdb43998b5cdefb20b8098c558fa5decb115
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Apr 24 15:48:14 2013 +0100
+
+    sna: Prevent accessing an uninitialised region in move_area_to_gpu()
+    
+    If we skip the migration, we need to avoid using the unitialiased
+    region. There is no bad consequence as both branches of the if are
+    no-ops, but it does silence the static checkers and should make the
+    predicate cheaper.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit b4871f1dac3d3c8d81101ef0f29eb69099ff2dcf
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Thu Apr 18 09:51:39 2013 +0100
+
+    sna: Rephrase initialisation without a specific backend
+    
+    "generic" sounds more impressive than "no"
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 6668f68054cb33e0cd3425f5403d14092a4a17f8
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Apr 17 15:32:49 2013 +0100
+
+    Revert "xgvevent"
+    
+    This reverts commit ddd75d6539dcf692cb76747cd63d1f301180f18a.
+    
+    This is a WIP patch, not ready for upstream. The danger of mixing topic
+    branches.
+
+commit 1bf0d869ae07ffc5b9cd79904b421cd37997ae8c
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Apr 17 15:24:10 2013 +0100
+
+    Prefer i830_dri.so for gen2 chipsets
+    
+    Probe for i830_dri.so and, if it exists, use that driver in preference
+    to i915_dri.so for DRI (i.e. GL clients). This was suggested in the
+    context of distributions supplying i915g as the main DRI driver for
+    gen3, in which case we need to provide a separate DRI driver for gen2.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit ddd75d6539dcf692cb76747cd63d1f301180f18a
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Apr 9 19:13:46 2013 +0100
+
+    xgvevent
+
+commit ddd3cc4ed6ac9b69f178147b49628b7a7f3f3104
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Apr 16 11:55:23 2013 +0100
+
+    sna: Add VALGRIND_CFLAGS whilst compiling with --enable-valgrind
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit f0b6ae2cfb811a8c234634c878800ca1fb95703f
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Apr 15 11:42:20 2013 +0100
+
+    sna: Only release the scanout cache whilst DRM_MASTER
+    
+    If we try to release the framebuffers whilst not DRM_MASTER, the
+    operation will fail and we will leak the buffers. So do not bother
+    during the normal expiration to clean the scanout cache if vt switched
+    away.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit d68270ca84dc01a930c2ed0c05cecfac88c8cc4b
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Apr 12 14:48:04 2013 +0100
+
+    sna/xvmc: silence a compiler warning
+    
+    sna_video_hwmc.c: In function 'create_context':
+    sna_video_hwmc.c:95: warning: assignment from incompatible pointer type
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit a64490c794e2e98c77e0c7f9cec6778fd1e06465
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Apr 12 14:28:18 2013 +0100
+
+    sna: Add missing ';'
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 9dae6f9f1f169c228929185a8bd94e82afe92574
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Apr 12 11:01:08 2013 +0100
+
+    sna: Flush the scanout cache after resizing the display
+    
+    And ensure that any new scanout allocations make the requested size.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 97fc1d4c5bd268f331aaa9f7144e4fe40837fbb0
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Apr 12 10:23:43 2013 +0100
+
+    sna/gen5: Force a MI_FLUSH between using the BLT and RENDER engines
+    
+    There is a workaround that says the first RENDER command following use of
+    the BLT should be a non-pipelined command. To be safe, emit a MI_FLUSH
+    before setting up the invariants.
+    
+    Bugzilla: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1168066
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit aff14a23f98b1230a9053a1b8434f5cc9f766d14
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Apr 12 09:49:47 2013 +0100
+
+    sna: Refine assertion about the existence of CPU damage when GPU damaged
+    
+    One particular buffer type is quite cunning and simultaneously sets both
+    CPU/GPU as all damaged (the upload buffer) so be aware when making bold
+    assertions.
+    
+    Reported-by: Jiri Slaby <jirislaby@gmail.com>
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit afe61281d8f92d6eb841e2522ab18e0d2fe73773
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Apr 10 12:13:37 2013 +0100
+
+    sna/gen7: Cache our kernels in L3
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit caf3118f90bad7f88f5f08e49177a1696bf97ccb
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Apr 10 12:16:34 2013 +0100
+
+    sna: Align uploads to start on page boundaries
+    
+    This reduces the number of loops and restarts required in the kernel.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 092e30de8a3476ab99446264edaf9b250a41736b
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Apr 9 20:43:19 2013 +0100
+
+    sna/xvmc: Wrap each output adaptor
+    
+    Each of the overlay, sprite and textured video can support XvMC
+    passthrough, so we need to setup an XvMC adaptor for each of our Xv
+    adaptors.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 540802595fee7f8b2c73e74c2b44e9a21f6471ae
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Apr 10 10:33:48 2013 +0100
+
+    sna: Suppress hotplug events whilst VT switched away
+    
+    Whilst we are not DRM master, not only is another server in control of
+    the outputs and responding to the udev event, we ourselves cannot
+    change modes and just cause contention upon the DRM device. Instead
+    inform userspace of the change as soon as we are DRM master again and
+    back in control.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 7afe2b45556f07b7e3a36e36da5a6d1c60366c25
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Apr 9 20:57:23 2013 +0100
+
+    sna: Add a DBG option for testing userptr more thoroughly
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit fbe081061a2790e0e6e6a4065af313df0d1d6a84
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Apr 9 09:52:13 2013 +0100
+
+    sna: Document fence limits for gen4+
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 5f1367d611b91008ba28a8c99a6b98a3e84449dc
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Apr 9 09:18:41 2013 +0100
+
+    sna/video: Textured video passthrough no longer relies upon XvMC
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 21294eaaf16a1e35fefe0f45a237826d38dc62eb
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Apr 9 09:10:33 2013 +0100
+
+    sna/video: Expand passthrough support for overlay planes
+    
+    The passthrough is actually a generic, albeit private, mechanism that
+    anything can use to pass along a GEM handle for use with Xv.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 86efddd9e4b921fcfc1a4b7492ba9174b84de64c
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Mon Apr 8 10:54:56 2013 +0100
+
+    sna: Remove assertions for mapped GPU bo if priv->cpu after GPU bo creation
+    
+    The condition that we have a mapped GPU bo iff priv->cpu is only true if
+    we have a GPU bo at the time of using the CPU -- if we create the GPU bo
+    during move_to_gpu, then that assertion is bogus.
+    
+    Reported-by: Jiri Slaby <jirislaby@gmail.com>
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
 commit 678279eb373310f1a71a3d74e5a500b343e98830
 Author: Chris Wilson <chris@chris-wilson.co.uk>
 Date:   Sat Apr 6 15:58:50 2013 +0100
diff --git a/debian/changelog b/debian/changelog
index fce74d8..d9e874a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-xserver-xorg-video-intel (2:2.21.6-1) UNRELEASED; urgency=low
+xserver-xorg-video-intel (2:2.21.7-1) UNRELEASED; urgency=low
 
   [ Timo Aaltonen ]
   * New upstream release.
@@ -6,6 +6,7 @@ xserver-xorg-video-intel (2:2.21.6-1) UNRELEASED; urgency=low
   [ Maarten Lankhorst ]
   * Add valgrind to build-depends.
   * Enable valgrind by default.
+  * New upstream release.
 
  -- Timo Aaltonen <tjaalton@ubuntu.com>  Fri, 07 Dec 2012 09:33:39 +0200
 

commit 04c01f99759a17f85948a6c940ec61dec7b66000
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Thu May 23 09:23:47 2013 +0200

    Revert "Drop --enable-valgrind to fix FTBS."
    
    This reverts commit 5b26c5e4c044ba0fc376edd934c254c3218de27b.

diff --git a/debian/changelog b/debian/changelog
index be1fca2..d6f376c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xserver-xorg-video-intel (2:2.21.6-0ubuntu5) UNRELEASED; urgency=low
+
+  * rules: Add --enable-valgrind again.
+
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com>  Thu, 23 May 2013 09:24:06 +0200
+
 xserver-xorg-video-intel (2:2.21.6-0ubuntu4) raring-proposed; urgency=low
 
   [Chris Arges]
diff --git a/debian/rules b/debian/rules
index 7f8e4ca..cef06f5 100755
--- a/debian/rules
+++ b/debian/rules
@@ -6,7 +6,7 @@ BUILDER        := $(shell dpkg-parsechangelog | awk -F': ' '/^Maintainer: / {pri
 
 # Enable SNA, pass builderstring:
 override_dh_auto_configure:
-	dh_auto_configure -- --enable-sna --enable-uxa --with-default-accel=sna --with-builderstring="$(SOURCE_NAME) $(SOURCE_VERSION) ($(BUILDER))"
+	dh_auto_configure -- --enable-sna --enable-uxa --with-default-accel=sna --with-builderstring="$(SOURCE_NAME) $(SOURCE_VERSION) ($(BUILDER))" --enable-valgrind
 
 # Install in debian/tmp to retain control through dh_install:
 override_dh_auto_install:

commit e65ee10dfd7155230ac18a6d24a67b68336dc973
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue May 21 11:01:50 2013 +0100

    2.21.7 release

diff --git a/NEWS b/NEWS
index 4fc9a6b..3173f21 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,35 @@
+Release 2.21.7 (2013-05-21)
+===========================
+A couple of weeks turned into a month and a couple of weeks... Amidst
+the usual bug fixes, we have added the complete set of Haswell PCI IDs -
+hopefully future proofing ourselves against being surprised by new
+products. We can also now use the correct term for the top of the range
+Haswell variants, GT3.
+
+ * Fix several assertion failures hit by Jiri Slaby.
+
+ * Allow XvMC to also target overlay/sprite planes.
+
+ * Throw in a paranoid MI_FLUSH between BLT and RENDER operations on
+   Ironlake.
+   https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1168066
+
+ * Prevent reuse of old framebuffers after a resize.
+   https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1157678
+
+ * Fix compilation with --enable-valgrind and no --enable-debug
+
+ * Improve partial migration of render sources.
+
+ * Fix origin of trapezoids.
+   https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1178020
+
+ * Introduce copy-on-write support for cloning pixmaps. The ultimate
+   goal here is to efficiently support the TearFree mode of operation,
+   but this provides immediate benefits with firefox - most importantly
+   because of the inefficient way it now implements scrolling.
+
+
 Release 2.21.6 (2013-04-06)
 ===========================
 A surprising highlight of this release is a little refresh to the KMS
diff --git a/configure.ac b/configure.ac
index d30686f..be1e8d1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([xf86-video-intel],
-        [2.21.6],
+        [2.21.7],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         [xf86-video-intel])
 AC_CONFIG_SRCDIR([Makefile.am])

commit ef9dc6fae585d5616446eedc1e6e91173f4064c1
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon May 20 11:08:51 2013 +0100

    sna: Undo a few more overwritten operations upon a bo
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

diff --git a/src/sna/sna.h b/src/sna/sna.h
index aed3e08..ee3f821 100644
--- a/src/sna/sna.h
+++ b/src/sna/sna.h
@@ -507,6 +507,7 @@ struct kgem_bo *sna_pixmap_change_tiling(PixmapPtr pixmap, uint32_t tiling);
 #define FORCE_GPU	0x2
 #define RENDER_GPU	0x4
 #define IGNORE_CPU	0x8
+#define REPLACES	0x10
 struct kgem_bo *
 sna_drawable_use_bo(DrawablePtr drawable, unsigned flags, const BoxRec *box,
 		    struct sna_damage ***damage);
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index 2c78570..6ed9e77 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -2946,6 +2946,8 @@ sna_drawable_use_bo(DrawablePtr drawable, unsigned flags, const BoxRec *box,
 	     box->x1, box->y1, box->x2, box->y2,
 	     flags));
 
+	assert((hint & REPLACES) == 0 || (hint & IGNORE_CPU));
+
 	assert(box->x2 > box->x1 && box->y2 > box->y1);
 	assert(pixmap->refcnt);
 	assert_pixmap_damage(pixmap);
@@ -3001,7 +3003,7 @@ sna_drawable_use_bo(DrawablePtr drawable, unsigned flags, const BoxRec *box,
 	     __FUNCTION__, priv->flush, priv->shm, priv->cpu, flags));
 
 	if ((flags & PREFER_GPU) == 0 &&
-	    (!priv->gpu_damage || !kgem_bo_is_busy(priv->gpu_bo))) {
+	    (flags & REPLACES || !priv->gpu_damage || !kgem_bo_is_busy(priv->gpu_bo))) {
 		DBG(("%s: try cpu as GPU bo is idle\n", __FUNCTION__));
 		goto use_cpu_bo;
 	}
@@ -12179,18 +12181,20 @@ sna_poly_fill_rect(DrawablePtr draw, GCPtr gc, int n, xRectangle *rect)
 			}
 			hint |= IGNORE_CPU;
 		}
-		if (priv->cpu_damage == NULL &&
-		    (region_subsumes_drawable(&region, &pixmap->drawable) ||
-		     box_inplace(pixmap, &region.extents))) {
-			DBG(("%s: promoting to full GPU\n", __FUNCTION__));
-			if (priv->gpu_bo) {
-				assert(priv->gpu_bo->proxy == NULL);
-				sna_damage_all(&priv->gpu_damage,
-					       pixmap->drawable.width,


Reply to: