summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2014-06-17sna: Cache small pixmaps rather than forcing a large fallback for BLT operationsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-17sna: Relax PREFER_GPU so that we don't needless create small GPU boChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-17sna: Tweak creation 8x8 tiled patternsChris Wilson
Avoid reading back from a GTT mmapping. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-17sna/dri2: Fixup failure to do a render copy for DRI2CopyRegionChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-17sna: Add a few missing checks for all-damagedChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-17sna: Discard GPU damage for the magic upload proxyChris Wilson
The magic upload proxy is initially considered damaged in both the GPU and CPU. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-17sna/glyphs: DBG compile fixChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-16sna: Regularly check the cache level on boChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-16sna/dri2: Allow single crtc exchanges to be queued upChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-16uxa: Allocate frontbuffer to meet old fence constaintsChris Wilson
libdrm is a little lax and does not allocate sufficient space for us to safely use buffers on old gen. So compute the size we want for ourselves. Reported-by: Cem Aydin <cem.aydin@gmx.ch> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=80088 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-16sna/glyphs: Add DBG option to force use of the glyph image maskChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-16uxa: Add some explanation to why bo were rejectedChris Wilson
References: https://bugs.freedesktop.org/show_bug.cgi?id=80088 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-16sna: Fix logic inversion for final placement in is_gpu_dst()Chris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-16sna: Promote better active buffer reuseChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-16sna/glyphs: Show number of glyphs in DBGChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-16sna: Fix some batch DBGChris Wilson
Helps to check for a successful read when we want to show the batch after execution. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-16sna: Clear our private hints about front rendering exported boChris Wilson
Unlike GLXWindows, GLXPixmaps are rendered directly into, without a staging copy. Therefore we must treat those carefully when exported and clear our hints everytime control passes back to the Client. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79999 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-16sna: Add more DBG to track transitions between CRTC and its shadow or flip boChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-14sna: Enable TearFree by default for systems with PSRChris Wilson
Panel Self-Refresh requires us to avoid frontbuffer rendering in order to be power efficient. This is a job for TearFree! Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-14sna: Fix assertions for discarding upload cachesChris Wilson
The upload caches are special, along with having a bo->proxy, they also claim to be completely damaged on both the GPU and CPU. Allow that to pass through when discarding the proxy. Reported-by: Nick Bowler <nbowler@draconx.ca> Bugzilla; https://bugs.freedesktop.org/show_bug.cgi?id=79992 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-13sna: Use the right is-clipped hintChris Wilson
The region here has yet to be clipped, and so the only valid is-clipped hint is from the flags computed from the PolyRect extents. Make sure we use those when determining whether it is valid to discard damage. Fixes regression from commit ad0390068832ad4727371902fe41a85a53de1894 [2.99.903] Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Tue Sep 24 10:00:03 2013 +0100 sna: Separate out copy preferrence from operating in place decision Reported-by: Nick Bowler <nbowler@draconx.ca> Tested-by: Nick Bowler <nbowler@draconx.ca> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79992 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-13sna: Only discard the CPU bo if we have a GPU bo to transfer the damage toChris Wilson
References: https://bugs.freedesktop.org/show_bug.cgi?id=79992 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-13sna: Refine decision whether to use the GPU or render inplaceChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-13sna: Track the pageflip bo's busynessChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-13intel: Check that the fd points to i915 after authorisingChris Wilson
The call to GETPARAM requires either a rendernode or authorisation. Therefore we can only assert that the fd is a valid i915 handle after authorise() and not before. Reported-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-13sna/gen6+: Prefer the BLT for large overlapping copiesChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-13sna: Try to reuse the current cursor if we fail to updateChris Wilson
As a last resort, continue to display the old cursor if we tried and failed to create a new cursor. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-13sna: Reorder ignore_cpu_damage() to avoid assertsChris Wilson
Tricksy asserts making sure that the correct arguments are passed around! Reported-by: Arkadiusz Miskiewicz <arekm@maven.pl Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-13sna/gen8: Allow reads from scanout to be cachedChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-13sna/gen8: Check for WT support before attempting to use the WT mocsChris Wilson
It appears the kernel has a better idea when WT is supported on which gen8 parts. I assumed it was always supported, but experience suggests otherwise, so only use WT support when advertised. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79967 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-12sna: Try to use CPU uploads before BLT uploadsChris Wilson
As the BLT upload implies a sync (and a likely GPU boost), only do so if we cannot do an immediate upload with the CPU, either directly to backing memory or through the GTT. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-12sna: Refactor USE_INPLACE debug macroChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-11sna/gen8: Clear a couple more push constantsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-11sna: Remove bogus assertionChris Wilson
The sna_pixmap is cleared afterwards, it does not need to be clear on free. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-11sna: Fix direction flags for memmoveChris Wilson
Under a compositor, the current deltas may invert the sense of the copy direction, causing scrolling corruption. Simplify handling those flags by making them invariant for the function. Reported-by: Bruno Prémont <bonbons@linux-vserver.org> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79843 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-11sna: Use the pixmap header creation routineChris Wilson
A few more places could use the common pixmap creator, just remember to handle the SHMPixmap complication! Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-11sna/gen6+: On small GT avoid the intermediate copy for overlapsChris Wilson
If the memory bw is constrained on the GPU avoid doing the 2-pass copy for overlaps on the render ring, and do the single pass slower BLT copy instead - as since it has to transfer less data it will be faster. Reported-by: Ildar Nurislamov <absorbb@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77436 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-11sna/gen6+: Overlapping bo by definition have compatible depthsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-11sna: First copy to overlap temporary must be using GXcopyChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-11sna: Remove debugging hunkChris Wilson
Stray hunk in self-copy boxes. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-11sna: Update damage pointer after the implicit reductionChris Wilson
sna_damage_contains_box() routine implicitly reduces the damage before performing its check. This may alter and even destroy the damage entry, so pass in the handle so that it can be updated correctly. References: https://bugs.freedesktop.org/show_bug.cgi?id=77436 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-11sna: Fix scanout creation routine for old kernels <= 3.11Chris Wilson
With an old kernel, we would fail to actually mark the display as part of the scanout domain, but proceed to assign it a fb id. This caused our asserts to report our bookkeeping error. Reported-by: Pavel Ondračka <pavel.ondracka@email.cz> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79909 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-11sna: Add some DBG to the memmove pathChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-11sna: Tweak self-copy boxes to hit the GPU more oftenChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-11sna: Recheck source bo after migrating dst (in case of src == dst)Chris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-11sna: Skip redundant clearsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-11sna/glyphs: Always print some DBG when performing fallbackChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-11sna: Add some asserts to track redundant damage operationsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-11sna/gen8: Check offset alignment before using a userptr for RENDERChris Wilson
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79053 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-11sna: Support efficient cursor updates for old machinesChris Wilson
Given a kernel patch to fix coherency of physical objects, we can use a more efficient method for updating cursors. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>