Fixes regresion from
commit 09ea1f4402
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>
Fixes regression from
commit 98b312e579
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>
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>
The GMA3100 was the desktop G31/G33 which whilst almost identical to the
GMA950, notably does not require the extra unfenced alignment.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
'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>
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>
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>
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>
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>
The package name is libdrm_intel not libdrm_intel-1, an obvious
cut'n'paste error from testing for pixman-1.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
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>
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>
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>
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>
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>
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>
Having just allocated the handle, we need to free it if we then fail to
allocate memory for the buffer.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
The likely cause for a mmap failure is that we hold too many objects
open or have exhausted our address space. In both cases, we need to trim
our caches before continuing.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
The presumption was that if we had LLC we would have allocated the
buffer by that point - however, it was remotely possible to have fallen
through and so we need to handle those cases.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Not all paths request alloc pages, a few just request sufficient pages
for the original size. So we can only assert that condition is
satisfied.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
After splitting the xvmc dependences into xcb and non-xcb, we then also
have to add the xcb CFLAGS to build libIntelXVmc.la
Reported-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>