If we require debugging information from debugfs and we cannot find it,
silently mount it and dump the information we need.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
If we fail to claim the DRM device as master, dump /debugfs/.../clients
so that we can check to see who failed to drop master for us.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Along the legacy phys cursor path, we use a common scratch buffer. As
this is global, we need to be careful not to trust the cursor local
dirty tracking and be sure to clear the image before uploading.
Reported-by: Dirk Griesbach
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82337
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
When changing the stride on a cursor, we have to clear the whole area
and not just the rectangle outside of our overwritten area.
Reported-by: Jan Alexander Steffens <jan.steffens@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82273
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
../../../src/uxa/intel_uxa.c: In function 'intel_uxa_init':
../../../src/uxa/intel_uxa.c:1557:27: error: 'true' undeclared (first use in this function)
../../../src/uxa/intel_uxa.c:1557:27: note: each undeclared identifier is reported only once for each function it appears in
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
The kernel only sees changes in the cursor width when the cursor handle
is updated. In the cases where we reuse larger bo for smaller cursors,
make sure we then reset the cursor handle (even though it has not
changed) so tht the kernel updates its width.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Old Xorg xf86str.h defines NONE preventing us from using it within an
enum. Use NOACCEL instead.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
If the user specifies the Option "Primary" for a monitor, we need to set
it as the RandR primary output.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82193
We only want to add the current mode to the modelist if it is not
already present in the EDID. At the moment, we always add the current
mode first which causes the list to be reordered. If we add it after
checking the EDID, then we will not perturb the list.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82068
The backlight xrandr property is missing unless the backlight level
was 0 on starting X, regression introduced in
commit f9e7ac7db7
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Wed Jul 23 21:53:31 2014 +0100
backlight: Set structure to safe values when not initialised
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82146
CRTC flips depend upon having a proxy front buffer, so
commit 33a0dd8f0b
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Tue Jul 29 09:11:01 2014 +0100
sna/dri2: Also check for stale buffers before exchanges
was false and disabling every other CRTC flip. However,
commit 70868c7aa8
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Wed Jul 23 08:37:46 2014 +0100
sna/dri2: Recreate buffer in reuse rather than force recreate
was not the entire story and to prevent unnecessary confusion when
multiple clients share the same front buffer, we have to force the
recreation of the back. Do this inside the xchg routine to avoid the
confusion first fixed by 70868c7aa8.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This is done upfront based on the fenced size within the batch, so we do
not need to assume everything is fenced later on.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Somce early machines have 512MiB apertures, but we can still only use
the low 256MiB for fencing. Separate out the mappable restriction checks
from the fencing in order to further constrain those devices.
Reported-by: Matti Hämäläinen <ccr@tnsp.org>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
sna_display.c: In function 'sna_crtc_redisplay':
sna_display.c:6393:9: error: 'sna_crtc' undeclared (first use in this function)
assert(sna_crtc);
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Fixes regression from
commit 79399ff926
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Mon Mar 24 10:46:57 2014 +0000
sna: Eliminate a few conditionals in glyph fast path
for large pixmaps (such as extended desktops on gen2/gen3).
Bugzilla: https://bugs.archlinux.org/task/40949
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Fixes regression from
commit d6830190bc
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Wed Jul 23 10:53:40 2014 +0100
sna: Disable all outputs when initializing as a slaved output provider
Reported-by: Tobias Powalowski
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
sna_display.c: In function 'sna_crtc_redisplay':
sna_display.c:6390:19: warning: unused variable 'sna_crtc' [-Wunused-variable]
struct sna_crtc *sna_crtc = to_sna_crtc(crtc);
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
It is not necessary to resize before adjusting the CRTC, but if it
moves the window may no longer be obscuring the CRTC.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
When creating a framebuffer for an headless system, if there is a panel,
use its native size rather than 1024x768.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
The region needs to be transformed along the clear shortcut when
redisplaying the CRTC.
Reported-by: Dirk Griesbach
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=81820
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Why? I am not sure, but it seems equally as valid as allowing the switch
to uxa/glamor as default. The runtime equivalent is Option "AccelMethod".
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Before VT switching, we disable all the outputs. This has the
side-effect of disabling the backlight, but commonly the console does
not set the backlight brightness itself and so we re-enable the
backlight on its behalf. Rather than set the backlight to max
brightness, reset it to the last user value, as maximum can be very
bright!
Reported-by: Mark Kettenis <mark.kettenis@xs4all.nl
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
As root, X gets away with many things, including submitting commands to
the DRM device whilst it is no longer authorised (i.e. when it has
relinquished master to another client across a VT switch). In the
non-root future, if we attempt to use the device whilst unauthorized the
rendering will be lost and we will mark the device as unusable. So flush
our render queue to the device around a VT switch.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
We have to do conditional compilation as we touch structure members that
may not exist in older Xserver headers.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
So libobj/ wasn't included in the tarball, and nor was the compatability
functions being added to the driver when they were needed. The oddity is
that using the ./configure script (and thus make distcheck) succeeds. It
was only when 'autoreconf -fi' was run was the first error encoutered.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reported-by: Tobias Klausmann
After the first async failure and we fix up the CRTC, ordinary we queue
a no-op flip in order to queue the event. For async flips, we do not
want that event so just skip the flip.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>