summaryrefslogtreecommitdiff
path: root/src/sna
AgeCommit message (Collapse)Author
2013-02-22sna: Avoid migrating and making the GPU bo busy prior to mmapping itChris Wilson
References: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1131134 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-22sna/gen7: Skip CLEAR_PARAMS for the null depthbufferChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-22sna/gen7: Only a pipeline stall is required for the CA passChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-21sna/dri: Eradicate the DRI2 name exchange mechanismChris Wilson
Thinking about the compositor <-> server <-> client inter-exchange demonstrates that we cannot prevent the client rendering into the source texture being show by the compositor. That is a subject for DRI3. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-21sna: Always enable the solid-cache and gradient-cacheChris Wilson
Figuring out when it might not be used is simply too error prone. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-20sna: Honour LinearFramebufferChris Wilson
The Option was untested, and unsurprisingly was broken. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-20sna/trapezoids: Clamp cells to valid rangeChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-20sna/trapezoids: Embed a few cells into the stackChris Wilson
Avoid an allocation in the common case where the set of trapezoids is fairly narrow. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-20sna/trapezoids: Perform the cell allocation upfrontChris Wilson
As we know the maximum extents of the trapezoids, we know the maximum number of cells we will need and so can preallocate them. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-19sna/video: Only setup XvMC if we first setup XvChris Wilson
Under certain circumstances, XvScreenInit can indeed fail, so do not bother with creatin XvMC (as it triggers internal assertions if it cannot find our adaptor amongst Xv's). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-19sna: Assert that the GPU damage is NULL before destroy a proxyChris Wilson
If the GPU bo is a proxy, then it really is a pointer into a upload buffer for CPU data. In these cases, there should never be any GPU damage lying around. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-18sna: Assert that the gpu_bo exists if it is entirely damagedChris Wilson
This should help catch the error slightly earlier. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-18sna: A couple more assertions that we forcibly attach pixmaps correctlyChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-18sna/dri: Prevent swapping a decoupled DRI2BufferChris Wilson
If the DRI2Buffer is no longer valid for the Drawable, for example the window had just been reparent, just complete the swap without triggering any assertions. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-13sna/gen4: Restore nonrectiinear spans workaroundChris Wilson
Instead of relying on the macro, the intention was simply to use the prefer_gpu hint. However, I dropped it whilst refactoring ideas from later generations. So restore both the debug control to force spans as well as the intended workaround. Reported-by: Edward Sheldrake <ejsheldrake@gmail.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-13sna: Avoid stalling on a SHM upload when otherwise idleChris Wilson
Fixes regresion from commit 09ea1f4402b3bd0e411b90eb5575b3ff066d7356 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Thu Jan 10 16:26:24 2013 +0000 sna: Prefer to use the GPU for copies from SHM onto tiled destinations As the stalls on IVB 64-bit machines at least greatly offset the benefits. As those earlier measurements were made on the same IVB machine but running in 32-bit mode, I need to double-check whether or not this is another 32-bit peculiarity. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-13Revert "sna: Avoid promoting SHM CPU bo to GPU to maintain coherence with ↵Chris Wilson
SHM clients" This reverts commit f743cd5734ca502aa8bdb0e1327fe84d6ce82755.
2013-02-13sna/dri: Fix typo limiting gen4 to TILING_X depth buffersChris Wilson
Fixes regression from commit 98b312e579385e6e4adf6bf0abe20f8ca84592af Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Wed Jan 23 20:51:35 2013 +0000 sna/dri: Stop feeding I915_TILING_Y to mesa i915c Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=60178 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-13sna: Handle scanouts still active at the time of destructionChris Wilson
Basically remove the bogus assert, and reorder the list to preferentially reuse the still active scanouts. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-12sna/dri: Validate that the scanout flag is setChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-12sna: Prefer inplace readback if the GPU doesn't support cacheable BLTsChris Wilson
As we must perform the GTT reads anyway, first see if we can copy directly to the destination. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-12sna: Only use the inplace read fallback if we have no CPU bo supportChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-12sna/dri: Assert that we are not passed deceased DRI2BuffersChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-11sna/dri: Assert that the old scanout is clear before overwritingChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-11sna/dri: Update flush status for tear-free exported GPU boChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-11sna/dri: Harden the replacement of the back buffer against alloc failureChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-11sna: Fix inaccurate use of __attribute__((const))Chris Wilson
'const' is only allowed to use the function parameters and not allowed to access global memory - that includes not allowed to deference its arguments... Thanks to Jiri Slaby for spotting my mistake. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-11sna/dri: Ignore a compiler barf breaking an assertionChris Wilson
Manual confirmation with gdb says all is fine and things work again after printing the variables responsible. The curious reader is welcome to read the disassembly to find where the compiler goofed. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-11sna/dri: Couple up the flush pixmap after checking for allocation failuresChris Wilson
Tidy up the error path not to leave the GPU bo pinned and marked for flushing. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-11sna/dri: Tighten the assertions that we have one DRI2Buffer per PixmapChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-11sna: Assert that we do not destroy a GPU bo for an active DRI pixmapChris Wilson
This is an extra paranoid check that the bo is still pinned. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-11sna: Avoid stalling for changing cache levels on an active scanoutChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-11sna/dri: Only clear the GPU bo flush flag when the last export is destroyedChris Wilson
Add various assertions around DRI to be sure that we don't change the GPU bo for a pixmap that does not match our flush bookkeeping. Then be more careful during the DRI2Buffer destroy that we don't accidentally remove the flush flag from a shared bo. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-10sna: Restore glyphs with xorg-1.12Chris Wilson
That simple and innocuous build fix for xorg-1.13 bizarrely causes missing glyphs with earlier Xorgs. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-10sna: Reorder some includes so that compat-api.h comes after the headers it wraps2.21.1Chris Wilson
Fixes the build in cases where the compat-api.h was defining macros to subvert the real functions found in the xorg includes Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-10sna: Backport to squeeze - Xorg-1.6, pixman-0.16, libdrm-2.4.21Chris Wilson
The principle change is to switch to the old Privates API and undo the Region renames. The downside is that this ignores the critical bugfixes made to the xserver since xorg-1.6 - but I assume that whoever wants to run the latest hardware on the old xservers is also backporting those stability fixes... Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-09sna: Fix alignment of the base of partial buffers for pre-G33 chipsetsChris Wilson
The older chipsets have much more restrictive alignment rules for the base address of tiled but unfenced objects. Bugzilla: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1120108 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-09sna: Promote to GPU is only partially damaged on the CPU but busy on the GPUChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-08sna: Randomly perturb 'wedged' to hunt for faultsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-08sna/gen6: Use GT2 settings for both GT2 and GT2+Chris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-08sna: Force the fallback path for unaccelerated randr damageChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-08sna/gen4: Split the have_render flag in separate prefer_gpu hintsChris Wilson
The idea is to implement more fine-grained checks as we may want different heuristics for desktops with GT1s than for mobile GT2s, etc. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-08sna: Remove the bogus assertions on buffer domainsChris Wilson
Just a few lines earlier we already have the correct assertion that the buffer was not in the GPU domain, so had these two been correct, they would have still been redundant. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-07sna: Fixup an invalid assertionChris Wilson
We may choose to operate inplace on a buffer last used by the CPU if we are discarding all the existing damage. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-07sna: Also assert that the GPU is not wedged before continuing a batchChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-07sna: Force GTT readback if the GPU is wedgedChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-07sna: Allow inplace uploads to utilise GTT on LLC machinesChris Wilson
Rather than arbitrarily disable the fallback paths for LLC, allow it to utilise any available GTT buffers for inplace uploads. The best explanation so far is that with the streaming is that we are trashing the LLC. On other machines, the difference is in the noise. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-07sna: Only try the SRC fixup into the buffer if it is CPU mappedChris Wilson
On one particular machine, this operation is behaving as if it is reading back UC memory during the explicit write-only composite. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-07sna: Correctly align used buffers to the following page boundaryChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-06sna: Fallback to non-LLC paths after an allocation failure for an LLC bufferChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>