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 <[email protected]> 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 <[email protected]> Sat, 04 Feb 2012 09:02:33 +0100 + -- Cyril Brulebois <[email protected]> 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 <[email protected]> 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 <[email protected]> +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 <[email protected]> + +commit 418cd98db7c4a2886c9e310f3691eb6c77421dd7 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 2d0e7c7ecd7371ac7b5fe3f382fc5d04792f7019 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 55c7088f54655609fbb00106679a566b46ee8dba +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit c8fc2cde53ef7aa011ec7c47e7fc5486de0651f5 +Author: Chris Wilson <[email protected]> +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: [email protected] + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45438 + Signed-off-by: Chris Wilson <[email protected]> + +commit 13508ab5ea136caca90c846ff1026c0c1acd2ad5 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit df4e1059a4e09998334dde6aa1c8ccfe76e442c0 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 8b012de0a1af4ec97c3197af3f1efdcc67bc2118 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + Signed-off-by: Chris Wilson <[email protected]> + +commit 0a748fc49d60dc2bc9494f95c4934592b111831a +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 9c1f8a768ca1f762c722f63bab2747e4ff1fd773 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit e872c1011fc7b67683703fd891234f07dd7acd04 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45414 + Signed-off-by: Chris Wilson <[email protected]> + +commit a4caf67d8da37d04f8915d96b10411ba7267937e +Author: Chris Wilson <[email protected]> +Date: Tue Jan 31 00:35:42 2012 +0000 + + sna: Trim tile sizes to fit into bo cache + + Signed-off-by: Chris Wilson <[email protected]> + +commit 3f7c1646c78d8854c88b214d3699e51839ba9711 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit e504fab6c5354ae9d18ccefb10bd586fa49b924c +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit ed1c1a7468d78e99cb4f9a4a8b8a6b00c3257a75 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit d53d93ffa6e133f46c39595294ecf8e2182b5a68 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 6f99555b6b64a0e1baad1853569f7bf521c327c3 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit c65ec096e79aa6bda7b2b3ef235e3fd9698b4da7 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 95f3734dd69b82e007095a599cc21f4c63d6ec00 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 488937edb67a60389380b405f8f8a548f51e64c7 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit ca252e5b51d7b2f5a7b2c2e0d8fdb024b08096db +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 3aee521bf236994628c4d103a2b8f391a4be2aa7 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit df148c962108a7f3efead0b80ab4fe77f3f79c8b +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit e1e67e8f394480eb4fef1238ccfd49cc36e4b6f2 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit d3fb1e1e89ccf5cefe6add66de4f960ef07cac60 +Author: Chris Wilson <[email protected]> +Date: Sun Jan 29 14:20:33 2012 +0000 + + sna: Handle GPU creation failure when uploading subtexture + + Signed-off-by: Chris Wilson <[email protected]> + +commit 518a99ea34b26aa094f29a4cc1ea5419f63a0e56 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 624d9843abda9ca6bd1b004d70a6fdc082ba9653 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 5c6255ba2f12f04938fd586ca02562ee3cae05af +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 65466f86263b3788b438fe021a12ade371190b01 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 03211f4b0b7e32b6d7dc28e60be72db204b8c8d4 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 2afd49a28429cdeb36583cfc31cc9b1742c1fb83 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 8f4bae01e39392faa8978090db4cbe28fa00b013 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45279 + Signed-off-by: Chris Wilson <[email protected]> + +commit d02bd80b2f9f8ee3840be5d8d6b8d389192c57f5 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit ea433995a37f0a9d1579f74029418f22a63a2bc0 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit ad910949beb0c42e2d7b864f030b055ca40adacd +Author: Chris Wilson <[email protected]> +Date: Fri Jan 27 18:37:39 2012 +0000 + + sna: Mark diagonal lines as partial write + + Signed-off-by: Chris Wilson <[email protected]> + +commit b9c83e0b2c42f7657b1854a7cdcbc0407957c382 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 45d831c8b11d6f9f38c0cb9b5877541a971f2c67 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 6402e7f1195f60f96dc269a701532c3270d8920f +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 6c5fb84f4de346b06e5a538e683c5a118f2579bc +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 86f1ae9164a94323c08e1dc6cb301e5bc1126b10 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit ce1cae7f4715fc8e14327c5b705d9f2cc45a3741 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 541908524f9ee754db3bc45d2e1681d34479c1cc +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 7ff40b572ec5cd860d7c7ff23beca0388f37c31c +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit adb1320bba15a3a3b4fa8e7d0fd0360fa696721d +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit b1f9415bf355e9fbd6fc3ce8fa1af59083ca2943 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit d35b6955dbb5d652d8685d2c1ea82c5e08de55ea +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 7c81bcd0c425cc0f7ddf2ad8289bb739c8d44289 +Author: Chris Wilson <[email protected]> +Date: Thu Jan 26 13:35:15 2012 +0000 + + sna: Add FORCE_FALLBACK debugging hook for PutImage + + Signed-off-by: Chris Wilson <[email protected]> + +commit 35c0ef586bf508c577642d772f18eae0b64cfd44 +Author: Chris Wilson <[email protected]> +Date: Thu Jan 26 11:20:03 2012 +0000 + + sna/gen3: Use cpu bo if already in use + + Signed-off-by: Chris Wilson <[email protected]> + +commit b76a6da3fa0148ef32600dd9505e22b90de037df +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit e2b8b1c145932e2254a705905c60f18c200cf2e8 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 352828ee59164a9e81093d88dfdd45bc21f0c739 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit cff6a1a2e4648eb211a1789ae9f711e2f16e9d4d +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit e583af9cca4ad2e5643317447c6b065d3ee7d11e +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 55569272f7d4232ef50f7b964dda82f85a190b99 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 4a132ddbf06e5ffc364c25002a1e46ad8bf0e45a +Author: Chris Wilson <[email protected]> +Date: Wed Jan 25 20:12:55 2012 +0000 + + sna: Correct offset for moving drawable regions to the CPU + + Signed-off-by: Chris Wilson <[email protected]> + +commit 65164d90b7b17ec7eea1e24d4b02ec037b55b1ff +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 307f493d76580687a3cf56106bf296475f1f53e5 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit d785bb7df054a1f15d59db69b089deb743bbdb40 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 36425ba49ecbd87b1e3bf4340ca2496d8de24a7f +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit a2e83c6dcba1e911f42a3004b3d0782049e243e2 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 8d22a76506133e0f76424159c0944d29bdf39da9 +Author: Chris Wilson <[email protected]> +Date: Wed Jan 25 09:36:20 2012 +0000 + + sna: Run the miHandleExposures for no-op CopyPlane + + Signed-off-by: Chris Wilson <[email protected]> + +commit 338941eda3c7591a85b83000eafae0407d0d7cd0 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 2e8b398ca383f5292adab8b351b8837dde3e131a +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit b79252efaafe2ebc998d6cf6176a425dd897e66f +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 46252bc7bcc7e08e47d00cdc87d6c1ed93830fcc +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit ae6d3a311783d7e063de0347363331f14bd74d74 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit dd5e90adfc73870cebcb215ad9fb9b5aedd38673 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit b1fba5e8534da7fe253e21a3501854c04d82a108 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 5ad95d66665802bce25e127ae0d06f3e0a9b0e62 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit aae19cbc5d0ddcf247451d06e063b2550a7ff16f +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 5312ee90ad80eda1c6ff72fbef60f77f03094972 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 69d3fc91f4a397f704b9971f97a905626e86eb3c +Author: Chris Wilson <[email protected]> +Date: Tue Jan 24 18:51:32 2012 +0000 + + sna: Set up GC for general FillArc to FillSpans callback + + Signed-off-by: Chris Wilson <[email protected]> + +commit 855c45c65a69d34ad32a97a5fc54dd09d40d3e26 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit c3fe42cde70a06a9a9a6190934df5cddb41d2f5f +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 22bab3cd7d0b2bcedfdd86f198d1ed9a21dd82aa +Author: Chris Wilson <[email protected]> +Date: Tue Jan 24 18:33:14 2012 +0000 + + sna: Handle malloc failures when downsampling + + Signed-off-by: Chris Wilson <[email protected]> + +commit 4aef9e6f50cb96c57b7ba345a18e55c97d788192 +Author: Chris Wilson <[email protected]> +Date: Tue Jan 24 17:23:43 2012 +0000 + + sna: Add more damage-is-contained asserts + + Signed-off-by: Chris Wilson <[email protected]> + +commit 16462e551d575bd5a370a8ac8b450ba72fea7d47 +Author: Chris Wilson <[email protected]> +Date: Tue Jan 24 17:47:22 2012 +0000 + + sna: Install CPU handler for PolyLine for miPolySegment callback + + Signed-off-by: Chris Wilson <[email protected]> + +commit b8b49ae70b3aadf4423bd6830c446c040f87a2f1 +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 1a116a15a5d978a1edf413a439f6ef6d3205a7aa +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 3d1bba033bc29fdf498dc082f3542c520a5ed39a +Author: Chris Wilson <[email protected]> +Date: Tue Jan 24 18:22:12 2012 +0000 + + sna/gen3: Apply damage to video pixmap + + Reported-by: Paul Neumann <[email protected]> + References: https://bugs.freedesktop.org/show_bug.cgi?id=44504 + Signed-off-by: Chris Wilson <[email protected]> + +commit ff4b8a03a40f7eb1d71b96aebb5daa1d8df83d2a +Author: Chris Wilson <[email protected]> +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 <[email protected]> + +commit 09bddddaf94b848f417e1c9449cfe4b21d2554dd +Author: Chris Wilson <[email protected]> +Date: Tue Jan 24 15:50:02 2012 +0000 + + sna: handle negative modulus for tiled blits + + Signed-off-by: Chris Wilson <[email protected]> + +commit f3b11ebc28114062581c39089781114323946654 +Author: Chris Wilson <[email protected]> +Date: Tue Jan 24 16:05:09 2012 +0000 + + sna: Add more assertions for copy errors + + Signed-off-by: Chris Wilson <[email protected]> + +commit b56971986d2d495aa38f015beb659fb12f0d433a +Author: Chris Wilson <[email protected]> +Date: Tue Jan 24 17:23:59 2012 +0000 + + sna: Trim the clipped Segment to the right length + + Signed-off-by: Chris Wilson <[email protected]> + +commit 358a0861e642c26d925a69656039b4c95adba237 -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

