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(®ion, &pixmap->drawable) ||
- box_inplace(pixmap, ®ion.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: