summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2014-06-21Stop trying to out-guess mesa for BO allocationHEADmasterKeith Packard1-0/+2
2014-06-17sna: Fix computing source bo for BLT operationsChris Wilson1-6/+12
If we migrate the pixmap to the GPU, use the GPU bo. This may fix an issue where we might end up using the CPU bo in a rare circumstance. References: https://bugs.freedesktop.org/show_bug.cgi?id=80033 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-17sna: Align some function parametersChris Wilson1-6/+6
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-17sna: Remove invalid assertChris Wilson1-1/+0
Present and flip fallback may queue self-flips, so the assertion that the crtc->flip_bo != crtc->bo is false. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-17sna: Cache small pixmaps rather than forcing a large fallback for BLT operationsChris Wilson1-2/+26
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 Wilson1-6/+20
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-17sna: Tweak creation 8x8 tiled patternsChris Wilson2-14/+15
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 Wilson1-12/+16
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-17sna: Add a few missing checks for all-damagedChris Wilson1-4/+8
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-17sna: Discard GPU damage for the magic upload proxyChris Wilson1-6/+23
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 Wilson1-1/+1
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-16sna: Regularly check the cache level on boChris Wilson1-1/+17
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-16sna/dri2: Allow single crtc exchanges to be queued upChris Wilson1-49/+57
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-16uxa: Allocate frontbuffer to meet old fence constaintsChris Wilson5-124/+84
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 Wilson1-4/+13
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-16uxa: Add some explanation to why bo were rejectedChris Wilson1-0/+6
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 Wilson1-1/+1
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-16sna: Promote better active buffer reuseChris Wilson1-36/+33
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-16sna/glyphs: Show number of glyphs in DBGChris Wilson1-7/+22
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-16sna: Fix some batch DBGChris Wilson1-1/+1
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 Wilson3-5/+21
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 Wilson3-51/+80
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-14sna: Enable TearFree by default for systems with PSRChris Wilson3-1/+33
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 Wilson1-7/+7
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 Wilson1-9/+8
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 Wilson1-1/+2
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 Wilson3-9/+28
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-13sna: Track the pageflip bo's busynessChris Wilson4-5/+25
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-13intel: Check that the fd points to i915 after authorisingChris Wilson1-2/+2
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 Wilson3-9/+15
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-13sna: Try to reuse the current cursor if we fail to updateChris Wilson1-2/+4
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 Wilson2-9/+16
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 Wilson1-1/+1
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 Wilson2-2/+2
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 Wilson1-153/+253
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 Wilson1-4/+5
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-11sna/gen8: Clear a couple more push constantsChris Wilson1-7/+21
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-11sna: Remove bogus assertionChris Wilson1-1/+0
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 Wilson1-9/+8
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 Wilson1-21/+11
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 Wilson1-0/+3
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 Wilson3-3/+0
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-11sna: First copy to overlap temporary must be using GXcopyChris Wilson1-1/+1
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-11sna: Remove debugging hunkChris Wilson1-1/+0
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 Wilson4-36/+45
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 Wilson1-11/+16
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 Wilson1-5/+10
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-11sna: Tweak self-copy boxes to hit the GPU more oftenChris Wilson1-3/+6
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 Wilson1-2/+7
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-11sna: Skip redundant clearsChris Wilson1-0/+20
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>