xserver-xorg-video-intel: Changes to 'debian-experimental'
ChangeLog | 2146 ++++++++++++++++++++++++
configure.ac | 1
debian/changelog | 7
src/intel_dri.c | 90 -
src/intel_glamor.c | 2
src/intel_shadow.c | 24
src/intel_uxa.c | 6
src/sna/blt.c | 2
src/sna/gen2_render.c | 121 -
src/sna/gen3_render.c | 230 +-
src/sna/gen4_render.c | 175 +-
src/sna/gen5_render.c | 201 +-
src/sna/gen6_render.c | 418 +++-
src/sna/gen6_render.h | 19
src/sna/gen7_render.c | 456 +++--
src/sna/gen7_render.h | 2
src/sna/kgem.c | 1133 ++++++++-----
src/sna/kgem.h | 122 +
src/sna/kgem_debug_gen5.c | 2
src/sna/sna.h | 43
src/sna/sna_accel.c | 3701 +++++++++++++++++++++++++++++++------------
src/sna/sna_blt.c | 112 -
src/sna/sna_composite.c | 30
src/sna/sna_damage.c | 218 +-
src/sna/sna_damage.h | 27
src/sna/sna_dri.c | 41
src/sna/sna_driver.c | 3
src/sna/sna_glyphs.c | 28
src/sna/sna_gradient.c | 8
src/sna/sna_io.c | 557 +++++-
src/sna/sna_render.c | 655 +++++--
src/sna/sna_render.h | 9
src/sna/sna_render_inline.h | 13
src/sna/sna_tiling.c | 120 +
src/sna/sna_trapezoids.c | 9
src/sna/sna_video.c | 2
src/sna/sna_video_hwmc.c | 5
src/sna/sna_video_textured.c | 43
38 files changed, 8231 insertions(+), 2550 deletions(-)
New commits:
commit 1ae29aecc9454780be0698509578cf18d399bd18
Author: Cyril Brulebois <kibi@debian.org>
Date: Sat Feb 4 09:20:18 2012 +0100
Upload to experimental.
diff --git a/debian/changelog b/debian/changelog
index 2bd6639..5121b29 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,9 +1,9 @@
-xserver-xorg-video-intel (2:2.17.0+git20120204-1) UNRELEASED; urgency=low
+xserver-xorg-video-intel (2:2.17.0+git20120204-1) experimental; urgency=low
* New upstream snapshot:
- Merge from upstream master up to 24ece4a87e.
- -- Cyril Brulebois <kibi@debian.org> Sat, 04 Feb 2012 09:02:33 +0100
+ -- Cyril Brulebois <kibi@debian.org> Sat, 04 Feb 2012 09:20:13 +0100
xserver-xorg-video-intel (2:2.17.0+git20120115-1) experimental; urgency=low
commit 4115fc8f6ac256f98027794013327fe8f20e3b57
Author: Cyril Brulebois <kibi@debian.org>
Date: Sat Feb 4 09:03:17 2012 +0100
Bump changelogs.
diff --git a/ChangeLog b/ChangeLog
index 7f103ff..ed2b4a9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,2149 @@
+commit 4774c6b8331831e0c9f3b24f5f6e1b6ea399f628
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Thu Feb 2 15:23:03 2012 +0000
+
+ sna: Add a couple of sanity checks that the CPU drawable is on the CPU
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 418cd98db7c4a2886c9e310f3691eb6c77421dd7
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Feb 1 19:10:41 2012 +0000
+
+ sna/gen6: Ring switching outweighs the benefits for cairo-traces
+
+ At the moment, the jury is still out on whether freely switching rings
+ for fills is a Good Idea. So make it easier to turn it on and off for
+ testing.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 2d0e7c7ecd7371ac7b5fe3f382fc5d04792f7019
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Feb 1 14:52:56 2012 +0000
+
+ sna: Search again for a just-large-enough mapping for inplace uploads
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 55c7088f54655609fbb00106679a566b46ee8dba
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Feb 1 01:33:52 2012 +0000
+
+ sna: Add debugging code to verify damage extents of fallback paths
+
+ After using the CPU, upload the damage and read back the pixels from the
+ GPU bo and verify that the two are equivalent.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit c8fc2cde53ef7aa011ec7c47e7fc5486de0651f5
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Feb 1 01:27:43 2012 +0000
+
+ sna: Fill extents for ImageGlyphs
+
+ The spec says to fill the characters boxes, which is what the hardware
+ does. The implementation fills the extents instead. rxvt expects the
+ former, emacs the latter. Overdraw is a nuisance, but less than leaving
+ glyphs behind...
+
+ Reported-by: walch.martin@web.de
+ Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45438
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 13508ab5ea136caca90c846ff1026c0c1acd2ad5
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Tue Jan 31 22:38:46 2012 +0000
+
+ sna: PolyGlyph supports all of fill/tile/stipple rules
+
+ The hw routines only directly supports solid fill so fallback for the
+ interesting cases. An alternative would be to investigate using the
+ miPolyGlyph routine to convert the weird fills into spans in order to
+ fallback. Sounds cheaper to fallback, so wait for an actual use case.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit df4e1059a4e09998334dde6aa1c8ccfe76e442c0
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Tue Jan 31 19:19:13 2012 +0000
+
+ sna/gen6: Prefer to do fills using the BLT
+
+ Using the BLT is substantially faster than the current shaders for solid
+ fill. The downside is that it invokes more ring switching.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 8b012de0a1af4ec97c3197af3f1efdcc67bc2118
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Tue Jan 31 20:29:58 2012 +0000
+
+ sna/gen5: Always prefer to emit solid fills using the BLT
+
+ As the BLT is far, far faster than using a shader.
+
+ Improves cairo-demos/chart from 6 to 13 fps.
+
+ Reported-by: Michael Larabel <Michael@phoronix.com>
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 0a748fc49d60dc2bc9494f95c4934592b111831a
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Tue Jan 31 10:51:02 2012 +0000
+
+ sna: Split the tiling limits between upload and copying
+
+ The kernel has a bug that prevents pwriting buffers large than the
+ aperture. Whilst waiting for the fix, limit the upload where possible to
+ fit within that constraint.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 9c1f8a768ca1f762c722f63bab2747e4ff1fd773
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Tue Jan 31 10:29:02 2012 +0000
+
+ sna: Avoid converting requested Y to X tiling for large pitches on gen4+
+
+ The only strong requirement is that to utilize large pitches, the object
+ must be tiled. Having it as X tiling is a pure convenience to facilitate
+ use of the blitter. A DRI client may want to keep using Y tiling
+ instead.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit e872c1011fc7b67683703fd891234f07dd7acd04
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Tue Jan 31 10:21:05 2012 +0000
+
+ sna/dri: We need to reduce tiling on older gen if we cannot fence
+
+ Only apply the architectural limits to enable bo creation for DRI buffers.
+
+ Reported-by: Alban Browaeys <prahal@yahoo.com>
+ Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45414
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit a4caf67d8da37d04f8915d96b10411ba7267937e
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Tue Jan 31 00:35:42 2012 +0000
+
+ sna: Trim tile sizes to fit into bo cache
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 3f7c1646c78d8854c88b214d3699e51839ba9711
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Tue Jan 31 00:09:42 2012 +0000
+
+ sna: Check that the intermediate IO buffer can also be used for blitting
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit e504fab6c5354ae9d18ccefb10bd586fa49b924c
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Mon Jan 30 23:49:18 2012 +0000
+
+ sna: Discard the cleared GPU buffer upon PutImage to the CPU buffer
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit ed1c1a7468d78e99cb4f9a4a8b8a6b00c3257a75
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Mon Jan 30 13:43:59 2012 +0000
+
+ sna: Track large objects and limit prefer-gpu hint to small objects
+
+ As the GATT is irrespective of actual RAM size, we need to be careful
+ not to be too generous when allocating GPU bo and their shadows. So
+ first of all we limit default render targets to those small enough to
+ fit comfortably in RAM alongside others, and secondly we try to only
+ keep a single copy of large objects in memory.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit d53d93ffa6e133f46c39595294ecf8e2182b5a68
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Mon Jan 30 15:11:34 2012 +0000
+
+ sna: Update the partial buffer allocation size when reusing an old mapping
+
+ Whilst the old mapping is guaranteed to be larger than the requested
+ allocation size, keep track of the actual size allows for better packing
+ of future buffers. And the code also performs a sanity check that the
+ buffer is the size we claim it to be...
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 6f99555b6b64a0e1baad1853569f7bf521c327c3
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Mon Jan 30 11:48:59 2012 +0000
+
+ sna: Allow the creation of render targets larger than the maximum bo cache
+
+ Given that we now handle uploads to and from bo that are larger than the
+ aperture and that usage of such large bo is rare and so unlikely to
+ benefit from caching, allow them to be created as render targets and
+ destroy as soon as they become inactive.
+
+ In principle, this finally enables GPU acceleration of ocitysmap on gen4+,
+ but due to the large cost of creating and destroying large bo it is
+ disabled on systems that require clflushing. It is, however, a
+ pre-requisite for exploiting the enhanced capabilities of IvyBridge.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit c65ec096e79aa6bda7b2b3ef235e3fd9698b4da7
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Mon Jan 30 11:41:07 2012 +0000
+
+ sna: Decrease tiling step size in case we need to enlarge the box later
+
+ We can juggle rendering into large bo on gen4 by redirecting the
+ rendering through a proxy that is tile aligned, and so the render target
+ may be slightly larger than the tiling step size. As that is then larger
+ than the maximum 3D pipeline, the trick fails and we need to resort to a
+ temporary render target with copies in and out. In this case, check that
+ the tile is aligned to the most pessimistic tiling width and reduce the
+ step size to accomodate the enlargement.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 95f3734dd69b82e007095a599cc21f4c63d6ec00
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Mon Jan 30 11:40:02 2012 +0000
+
+ sna: Allow creation of proxies to proxies
+
+ Just update the offset of the new bo by the offset of the existing
+ proxy.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 488937edb67a60389380b405f8f8a548f51e64c7
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Mon Jan 30 11:38:36 2012 +0000
+
+ sna: Base prefer-gpu hint on default tiling choice
+
+ As on gen4+, tiling increases the maximum usable pitch we can
+ accommodate wider pixmaps on the GPU.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit ca252e5b51d7b2f5a7b2c2e0d8fdb024b08096db
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Sun Jan 29 19:36:55 2012 +0000
+
+ sna: Detect batch overflow and fallback rather an risk an ENOSPC
+
+ Having noticed that eog was failing to perform a 8k x 8k copy with
+ compiz running on a 965gm, it was time the checks for batch overflow
+ were implemented.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 3aee521bf236994628c4d103a2b8f391a4be2aa7
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Sun Jan 29 19:21:54 2012 +0000
+
+ sna: Add a tiled fallback for large BLT copies
+
+ If we are attempting to copy between two large bo, larger than we can
+ fit into the aperture, break the copy into smaller steps and use an
+ intermediatory.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit df148c962108a7f3efead0b80ab4fe77f3f79c8b
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Sun Jan 29 18:07:14 2012 +0000
+
+ sna: Limit the tile size for uploading into large pixmaps
+
+ As we may have a constrained aperture, we need to be careful not to
+ exceed our resources limits when uploading the pixel data. (For example,
+ fitting two of the maximum bo into a single batch may fail due to
+ fragmentation of the GATT.) So be cautious and use more tiles to reduce
+ the size of each individual batch.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit e1e67e8f394480eb4fef1238ccfd49cc36e4b6f2
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Sun Jan 29 15:43:42 2012 +0000
+
+ sna: Fix the "trivial" fix to improve error handling
+
+ The logic was just backwards and we tried to upload a shadowless GPU
+ pixmap.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit d3fb1e1e89ccf5cefe6add66de4f960ef07cac60
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Sun Jan 29 14:20:33 2012 +0000
+
+ sna: Handle GPU creation failure when uploading subtexture
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 518a99ea34b26aa094f29a4cc1ea5419f63a0e56
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Sun Jan 29 14:09:46 2012 +0000
+
+ sna: Always create a GPU bo for copying from an existent source GPU bo
+
+ Make sure we prevent the readback of an active source GPU bo by always
+ prefering to do the copy on the GPU if the data is already resisent.
+ This fixes the second regression from e583af9cc, (sna: Experiment with
+ creating large objects as CPU bo).
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 624d9843abda9ca6bd1b004d70a6fdc082ba9653
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Sun Jan 29 13:55:20 2012 +0000
+
+ sna: Ignore map status and pick the first inactive bo for reuse
+
+ This fixes the performance regression introduced with e583af9cca,
+ (sna: Experiment with creating large objects as CPU bo), as we ended up
+ creating fresh bo and incurring setup and thrashing overhead, when we
+ already had plenty cached.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 5c6255ba2f12f04938fd586ca02562ee3cae05af
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Sun Jan 29 11:02:38 2012 +0000
+
+ sna: Determine whether to use a partial proxy based on the pitch
+
+ On gen4+ devices the maximum render pitch is much larger than is simply
+ required for the maximum coordinates. This makes it possible to use
+ proxy textures as a subimage into the oversized texture without having
+ to blit into a temporary copy for virtually every single bo we use.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 65466f86263b3788b438fe021a12ade371190b01
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Sat Jan 28 01:54:47 2012 +0000
+
+ sna: Allow ridiculously large bo, up to half the total GATT
+
+ Such large bo place extreme stress on the system, for example trying to
+ mmap a 1GiB into the CPU domain currently fails due to a kernel bug. :(
+ So if you can avoid the swap thrashing during the upload, the ddx can now
+ handle 16k x 16k images on gen4+ on the GPU. That is fine until you want
+ two such images...
+
+ The real complication comes in uploading (and downloading) from such
+ large textures as they are too large for a single operation with
+ automatic detiling via either the BLT or the RENDER ring. We could do
+ manual tiling/switching or, as this patch does, tile the transfer in
+ chunks small enough to fit into either pipeline.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 03211f4b0b7e32b6d7dc28e60be72db204b8c8d4
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Fri Jan 27 23:18:05 2012 +0000
+
+ sna: Guard against the upload buffer growing past the maximum bo size
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 2afd49a28429cdeb36583cfc31cc9b1742c1fb83
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Fri Jan 27 22:18:30 2012 +0000
+
+ sna: Limit inplace upload buffers to maximum mappable size
+
+ References: https://bugs.freedesktop.org/show_bug.cgi?id=45323
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 8f4bae01e39392faa8978090db4cbe28fa00b013
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Fri Jan 27 20:28:44 2012 +0000
+
+ sna/video: Ensure the video pixmap is on the GPU
+
+ The presumption that the pixmap is the scanout and so will always be
+ pinned is false if there is a shadow or under a compositor. In those
+ cases, the pixmap may be idle and so the GPU bo reaped. This was
+ compounded by that the video path did not mark the pixmap as busy. So
+ whilst watching a video under xfce4 with compositing enabled (has to be
+ a non-GL compositor) the video would suddenly stall.
+
+ Reported-by: Paul Neumann <paul104x@yahoo.de>
+ Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45279
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit d02bd80b2f9f8ee3840be5d8d6b8d389192c57f5
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Fri Jan 27 20:12:49 2012 +0000
+
+ sna: Use a proxy rather than a temporary bo for too-tall but thin targets
+
+ If the render target is thin enough to fit within the 3D pipeline, but is
+ too tall, we can fudge the address of the origin and coordinates to fit
+ within the constaints of the pipeline.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit ea433995a37f0a9d1579f74029418f22a63a2bc0
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Fri Jan 27 19:34:39 2012 +0000
+
+ sna: Experiment with a partial source
+
+ If the source is thin enough such that the pitch is within the sampler's
+ constraints and the sample size is small enough, just fudge the origin
+ of the bo such that it can be sampled.
+
+ This avoids having to create a temporary bo and use the BLT to extract
+ it and helps, for example, firefox-asteroids which uses an 64x11200
+ texture atlas.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit ad910949beb0c42e2d7b864f030b055ca40adacd
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Fri Jan 27 18:37:39 2012 +0000
+
+ sna: Mark diagonal lines as partial write
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit b9c83e0b2c42f7657b1854a7cdcbc0407957c382
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Fri Jan 27 18:24:01 2012 +0000
+
+ sna/video: Add some DBG messages to track the error paths
+
+ References: https://bugs.freedesktop.org/show_bug.cgi?id=45279
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 45d831c8b11d6f9f38c0cb9b5877541a971f2c67
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Fri Jan 27 15:45:17 2012 +0000
+
+ sna: Consolidate routines to choice destination bo
+
+ Combine the two very similar routines that decided if we should render
+ into the GPU bo, CPU bo or shadow pixmap into a single function.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 6402e7f1195f60f96dc269a701532c3270d8920f
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Fri Jan 27 18:05:51 2012 +0000
+
+ sna: Ensure that we have a source bo for tiled fills
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 6c5fb84f4de346b06e5a538e683c5a118f2579bc
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Fri Jan 27 14:08:57 2012 +0000
+
+ sna/glyphs: Check that we attached to the cache pixmaps upon creation
+
+ If the hw is wedged, then the pixmap creation routines will return an
+ ordinary unattached pixmap. The code presumed that it would only return
+ a pixmap with an attached bo, and so would segfault as it chased the
+ invalid pointer after a GPU hang and the server was restarted.
+ Considering that we already checked that the GPU wasn't wedged before we
+ started, this is just mild paranoia, but on a run-once piece of code.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 86f1ae9164a94323c08e1dc6cb301e5bc1126b10
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Fri Jan 27 10:26:11 2012 +0000
+
+ sna/video: Add some more DBG breadcrumbs to the textured PutImage
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit ce1cae7f4715fc8e14327c5b705d9f2cc45a3741
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Fri Jan 27 00:37:51 2012 +0000
+
+ sna/video: Simplify the gen2/915gm check
+
+ And make the later check in put image match.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 541908524f9ee754db3bc45d2e1681d34479c1cc
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Thu Jan 26 23:14:14 2012 +0000
+
+ sna: Remove extraneous clipping from GetImage
+
+ The spec says that they must wholly contained with the valid BorderClip
+ for a Window or within the Pixmap or else a BadMatch is thrown. Rely on
+ this behaviour and not perform the clipping ourselves.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 7ff40b572ec5cd860d7c7ff23beca0388f37c31c
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Thu Jan 26 22:55:04 2012 +0000
+
+ sna: Avoid fbBlt for the easy GetImage cases
+
+ From (i5-2520m):
+ 60000 trep @ 0.6145 msec ( 1630.0/sec): GetImage 500x500 square
+ To:
+ 60000 trep @ 0.4949 msec ( 2020.0/sec): GetImage 500x500 square
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit adb1320bba15a3a3b4fa8e7d0fd0360fa696721d
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Thu Jan 26 16:05:48 2012 +0000
+
+ sna/gen2+: Include being unattached in the list of source fallbacks
+
+ If the source is not attached to a buffer (be it a GPU bo or a CPU bo),
+ a temporary upload buffer would be required and so it is not worth
+ forcing the target to the destination in that case (should the target
+ not be on the GPU already).
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit b1f9415bf355e9fbd6fc3ce8fa1af59083ca2943
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Thu Jan 26 13:59:24 2012 +0000
+
+ sna: Allow gen4+ to use larger GPU bo
+
+ As the blitter on gen4+ does not require fence registers, it is not
+ restricted to operating on large objects within the mappable aperture.
+ As we do not need to operate on such large GPU bo in place, we can relax
+ the restriction on the maximum bo size for gen4+ to allocate for use
+ with the GPU.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit d35b6955dbb5d652d8685d2c1ea82c5e08de55ea
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Thu Jan 26 14:34:36 2012 +0000
+
+ sna: Prevent mapping through the GTT for large bo
+
+ If the bo is larger than a quarter of the aperture, it is unlikely that
+ we will be able to evict enough contiguous space in the GATT to
+ accommodate that buffer. So don't attempt to map them and use the
+ indirect access instead.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 7c81bcd0c425cc0f7ddf2ad8289bb739c8d44289
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Thu Jan 26 13:35:15 2012 +0000
+
+ sna: Add FORCE_FALLBACK debugging hook for PutImage
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 35c0ef586bf508c577642d772f18eae0b64cfd44
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Thu Jan 26 11:20:03 2012 +0000
+
+ sna/gen3: Use cpu bo if already in use
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit b76a6da3fa0148ef32600dd9505e22b90de037df
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Thu Jan 26 10:47:01 2012 +0000
+
+ sna: Search the buckets above the desired size in the bo cache
+
+ It is preferrable to reuse a slightly larger bo, than it is to create a
+ fresh one and map it into the aperture. So search the bucket above us as
+ well.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit e2b8b1c145932e2254a705905c60f18c200cf2e8
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Thu Jan 26 12:42:12 2012 +0000
+
+ sna: Apply any previous transformation when downsampling
+
+ In order to handle rotations and fractional offsets produced by the act
+ of downsampling, we need to compute the full affine transformation and
+ apply it to the vertices rather than attempt to fudge it with an integer
+ offset.
+
+ References: https://bugs.freedesktop.org/show_bug.cgi?id=45086
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 352828ee59164a9e81093d88dfdd45bc21f0c739
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Thu Jan 26 12:41:34 2012 +0000
+
+ sna: Tweak aperture thresholds for batch flushing
+
+ In order to more easily accommodate operations on large source CPU bo.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit cff6a1a2e4648eb211a1789ae9f711e2f16e9d4d
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Jan 25 23:21:36 2012 +0000
+
+ sna: Use the cpu bo where possible as the source for texture extraction
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit e583af9cca4ad2e5643317447c6b065d3ee7d11e
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Jan 25 23:04:50 2012 +0000
+
+ sna: Experiment with creating large objects as CPU bo
+
+ Even on non-LLC systems if we can prevent the migration of such
+ objects, we can still benefit immensely from being able to map them into
+ the GTT as required.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 55569272f7d4232ef50f7b964dda82f85a190b99
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Jan 25 20:13:27 2012 +0000
+
+ sna: Apply the same migration flags for the dst alphamap as for the dst pixmap
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 4a132ddbf06e5ffc364c25002a1e46ad8bf0e45a
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Jan 25 20:12:55 2012 +0000
+
+ sna: Correct offset for moving drawable regions to the CPU
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 65164d90b7b17ec7eea1e24d4b02ec037b55b1ff
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Jan 25 20:12:27 2012 +0000
+
+ sna/gen2+: Do not force use of GPU if the target is simply cleared
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 307f493d76580687a3cf56106bf296475f1f53e5
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Jan 25 20:11:21 2012 +0000
+
+ sna: Map freshly created, unbound bo through the CPU
+
+ Take advantage that we know we will have to clflush the unbound bo
+ before use by the GPU and populate it inplace.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit d785bb7df054a1f15d59db69b089deb743bbdb40
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Jan 25 16:45:43 2012 +0000
+
+ sna: GetImage is allowed to read a window's border
+
+ We need to adjust the clip to include the border pixels when migrating
+ damage from the backing pixmap. This also requires relaxing the
+ constraint that a read must be within the drawable.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 36425ba49ecbd87b1e3bf4340ca2496d8de24a7f
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Jan 25 12:49:24 2012 +0000
+
+ sna: Round up buffer allocations when downsampling
+
+ The pathological case being nx1 or 1xm resulting in an illegal allocation
+ request of 0 bytes.
+
+ One such example is
+ wolframalpha.com: x = (200 + x) / 100
+ which generates an approximately 8500x1 image and so needs downscaling
+ to fit in the render pipeline on all but IvyBridge. Bring on Ivy!
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit a2e83c6dcba1e911f42a3004b3d0782049e243e2
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Jan 25 11:22:38 2012 +0000
+
+ sna: Silence compiler warning for a potential uninitialised return on error
+
+ sna_accel.c: In function 'sna_copy_plane':
+ sna_accel.c:5022:21: warning: 'ret' may be used uninitialized in this
+ function [-Wuninitialized]
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 8d22a76506133e0f76424159c0944d29bdf39da9
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Jan 25 09:36:20 2012 +0000
+
+ sna: Run the miHandleExposures for no-op CopyPlane
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 338941eda3c7591a85b83000eafae0407d0d7cd0
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Jan 25 02:42:25 2012 +0000
+
+ sna: Handle self-copies for CopyPlane
+
+ Prepare the source first as this has the dual benefit of letting us
+ decide how best to proceed with the op (on the CPU or GPU) and prevents
+ modification of the damage after we have choosen our preferred path.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 2e8b398ca383f5292adab8b351b8837dde3e131a
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Jan 25 01:42:56 2012 +0000
+
+ sna: Only shrink partial buffers that are being written to
+
+ Ignore inactive and mmapped buffers.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit b79252efaafe2ebc998d6cf6176a425dd897e66f
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Jan 25 01:36:27 2012 +0000
+
+ sna: Apply source clipping to sna_copy_plane()
+
+ Ensure that the migration region is within bounds for both the source
+ and destination pixmaps.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 46252bc7bcc7e08e47d00cdc87d6c1ed93830fcc
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Jan 25 01:31:34 2012 +0000
+
+ sna: Set the source clip for CopyArea fallback correctly
+
+ The source window is (src->x, src->y)x(src->width, src->height) in
+ pixmap space. However, we then need to use this to clip against the
+ desination region, and so we need to translate from the source
+ coordinate to the destination coordinate.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit ae6d3a311783d7e063de0347363331f14bd74d74
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Jan 25 01:18:11 2012 +0000
+
+ sna: Print source and destination regions for CopyArea fallback for DBG
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit dd5e90adfc73870cebcb215ad9fb9b5aedd38673
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Jan 25 01:17:49 2012 +0000
+
+ sna: Clip GetImage to drawable so that damage migration is within bounds
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit b1fba5e8534da7fe253e21a3501854c04d82a108
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Jan 25 01:16:34 2012 +0000
+
+ sna: Clear GPU damage first when moving a clear pixmap to the CPU
+
+ This allows us to discard any busy GPU or CPU bo when we know we are
+ going to clear the shadow pixmap afterwards.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 5ad95d66665802bce25e127ae0d06f3e0a9b0e62
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Tue Jan 24 22:11:20 2012 +0000
+
+ sna: Reduce number of reads required to inspect timers
+
+ By using the information provided by select at wakeup.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit aae19cbc5d0ddcf247451d06e063b2550a7ff16f
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Tue Jan 24 19:58:29 2012 +0000
+
+ sna: Only reset devPrivate.ptr if owned by the CPU bo when freeing
+
+ If the pixmap is mapped to the GPU bo, we should continue to use the
+ current mapping rather than revoke it. Otherwise if we write to the GPU
+ bo inplace, thereby discarding the CPU bo, we set the pointer we are
+ about to copy to, to NULL.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 5312ee90ad80eda1c6ff72fbef60f77f03094972
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Tue Jan 24 19:02:56 2012 +0000
+
+ sna: mark the pixmap as no longer clear after rendering video
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 69d3fc91f4a397f704b9971f97a905626e86eb3c
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Tue Jan 24 18:51:32 2012 +0000
+
+ sna: Set up GC for general FillArc to FillSpans callback
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 855c45c65a69d34ad32a97a5fc54dd09d40d3e26
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Tue Jan 24 18:48:17 2012 +0000
+
+ sna: Enable clipping for mi FillSpans gpu callback
+
+ The mi routines do not ensure that their output is suitably constrained
+ to the clip extents, so we must run it through the clipper.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit c3fe42cde70a06a9a9a6190934df5cddb41d2f5f
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Tue Jan 24 18:36:08 2012 +0000
+
+ sna: Don't attempt to create pixmaps for dpeths smaller than 8
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 22bab3cd7d0b2bcedfdd86f198d1ed9a21dd82aa
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Tue Jan 24 18:33:14 2012 +0000
+
+ sna: Handle malloc failures when downsampling
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 4aef9e6f50cb96c57b7ba345a18e55c97d788192
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Tue Jan 24 17:23:43 2012 +0000
+
+ sna: Add more damage-is-contained asserts
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 16462e551d575bd5a370a8ac8b450ba72fea7d47
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Tue Jan 24 17:47:22 2012 +0000
+
+ sna: Install CPU handler for PolyLine for miPolySegment callback
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit b8b49ae70b3aadf4423bd6830c446c040f87a2f1
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Tue Jan 24 16:32:40 2012 +0000
+
+ sna: Mutate a temporary copy of the GC->ops so we don't alter new GCs
+
+ In order to avoid using the wrong function for a scratch GC created
+ during the course of a MI function whilst we have a specialised GC in
+ use, we need to avoid modifying the original function table.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 1a116a15a5d978a1edf413a439f6ef6d3205a7aa
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Tue Jan 24 16:53:21 2012 +0000
+
+ sna: Reduce the assertion that we would have hinted to operate inplace
+
+ As the drawable_gc_flags() operate on lower level information than the
+ hint, it is able to spot more oportunities to reduce the READ flags and
+ so the assertion was overly optimistic.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 3d1bba033bc29fdf498dc082f3542c520a5ed39a
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Tue Jan 24 18:22:12 2012 +0000
+
+ sna/gen3: Apply damage to video pixmap
+
+ Reported-by: Paul Neumann <paul104x@yahoo.de>
+ References: https://bugs.freedesktop.org/show_bug.cgi?id=44504
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit ff4b8a03a40f7eb1d71b96aebb5daa1d8df83d2a
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Tue Jan 24 17:51:35 2012 +0000
+
+ sna: Use RepeatPad to avoid sampling the border color when downsampling
+
+ References: https://bugs.freedesktop.org/show_bug.cgi?id=45086
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 09bddddaf94b848f417e1c9449cfe4b21d2554dd
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Tue Jan 24 15:50:02 2012 +0000
+
+ sna: handle negative modulus for tiled blits
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit f3b11ebc28114062581c39089781114323946654
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Tue Jan 24 16:05:09 2012 +0000
+
+ sna: Add more assertions for copy errors
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit b56971986d2d495aa38f015beb659fb12f0d433a
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Tue Jan 24 17:23:59 2012 +0000
+
+ sna: Trim the clipped Segment to the right length
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 358a0861e642c26d925a69656039b4c95adba237
Reply to: