Since recent commits require xserver-1.18.0 or later to build against,
there's no reason leaving behind big chunks of code that can only build
against the XAA support removed in xserver-1.13.0 (released in 2012).
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
The module directory has changed to a per ABI folder in the xlibre-xserver.
Now the default value of `xorg-module-dir` will be detected from the `moduledir` variable in xorg-server.pc.
Signed-off-by: b-aaz <b-aazbsd.proton.me>
Issue tracking has been moved from a bugzilla instance to a gitlab
instance to go alongside and integrated with the gitlab repo, still all on
freedesktop.org.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
We only need DRI1 to support UMS on i810, but modern Xservers don't
support DRI1 and the support infrastructure is no longer being shipped
on some distributions. Gracefully fail if we can't compile the DRI1
code blocks for i810.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Based on xf86-video-ati
commit 9a1afbf61fbb2827c86bd86d295fa0848980d60b
Author: Michel Dänzer <michel.daenzer@amd.com>
Date: Mon Jul 11 12:22:09 2016 +0900
Use EventCallback to avoid flushing every time in the FlushCallback
reports seeing an improvement in reducing flushes at the expense of
checking every event for a DamageNotifyEvent. Since we also mix
rendering with SHM buffers, we have a more diverse set of conditions
under which to flush - but maybe we will see enough of a win for DRI to
merit. So far seeing improvement of ~20% for series of small operations
under the compositor without seeing any regressions, should benefit
composited desktop users. The biggest danger here is missed flushes.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This reverts commit e4e469a0ed.
It looks like we get to choose between breaking the clang build or the
gcc build. With gcc, we need to ensure that enter xorg/os.h with the
right set of HAVE_STRNDUP et al guards, e.g.
In file included from /usr/include/string.h:630:0,
from /usr/include/xorg/os.h:53,
from /usr/include/xorg/misc.h:116,
from fd.c:34:
/usr/include/xorg/os.h:590:1: error: expected identifier or '(' before '__extension__'
strndup(const char *str, size_t n);
Reported-by: Arkadiusz Miskiewicz <arekm@maven.pl>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
There's no point in testing for functions we don't use and seem to cause
problems for Clang.
Reported-by: Sedat Dilek <sedat.dilek@gmail.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
When attaching to a target display, disable the builtin screen blanking
(equivalent to xset -d :8 s off, or setting
Option "BlankTime" "0"
Option "StandbyTime" "0"
Option "SuspendTime" "0"
Option "OffTime" "0"
in the target xorg.conf). Then listen to the ScreenSaver notify events
on the host and forward the activations/resets to the targets. This
should then keep all the screen blanking in sync.
Reported-by: Raffael Herzog <herzog@raffael.ch>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93562
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Suggested by Emil Velikov:
Normally hard coding pkg-config is considered a bad idea. Please
try PKG_CHECK_EXISTS - it would work like a charm when
cross-compiling.
Cheers
Emil
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Or else face compile failures:
blt.c: In function 'affine_blt':
blt.c:1403:3: error: unknown type name 'pixman_f_vector_t'
blt.c:1407:4: error: request for member 'v' in something not a structure or union
blt.c:1408:4: error: request for member 'v' in something not a structure or union
blt.c:1409:4: error: request for member 'v' in something not a structure or union
blt.c:1411:3: warning: passing argument 2 of 'pixman_f_transform_point_3d' from incompatible pointer type [enabled by default]
In file included from /usr/include/xorg/miscstruct.h:52:0,
from /usr/include/xorg/regionstr.h:52,
from /usr/include/xorg/region.h:50,
from /usr/include/xorg/window.h:51,
from /usr/include/xorg/input.h:55,
from /usr/include/xorg/xf86str.h:38,
from sna.h:43,
from blt.c:32:
/usr/include/pixman-1/pixman.h:247:15: note: expected 'struct pixman_f_vector *' but argument is of type 'int *'
blt.c:1413:7: error: request for member 'v' in something not a structure or union
blt.c:1415:7: error: request for member 'v' in something not a structure or union
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Slightly more funky would be to poke around in the CRTC, but that should
require master. As it stands this should help verify that what X is
supplying to the driver matches user expectations
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
src/sna/sna_driver.c: In function 'sna_handle_uevents':
src/sna/sna_driver.c:759:2: error: implicit declaration of function 'fstat' [-Werror=implicit-function-declaration]
Also take the opportunity to include udev support in the configure
summary.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
The kernel caps the number of vblanks per client to 128. There are
already reports from the wild that Present clients are running foul of
that limit, so supplement it with a timer fallback.
Testcase: present-test with future flips
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Rather than imposing a maximum DRI level at compile time by compiling
out unwanted protocol handlers, default to limiting it at runtime so
that we can switch between any level.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
To do SwapBuffers correctly requires a Swap/Get buffers combination, and
this is easiest using xcb rather than xlib.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Now included in upstream kernels as of
commit 1816f92363036600f2387bb8273b1e5e1f5b304e
Author: Akash Goel <akash.goel@intel.com>
Date: Fri Jan 2 16:29:30 2015 +0530
drm/i915: Support creation of unbound wc user mappings for objects
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
The external libraries, both in git, and especially shipping already
enabled in distributions, are buggy and lead to server crashes and
lockups. Caveat emptor.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This fixes the following warning due to a typo:
configure: WARNING: unrecognized options: --enable-wc-map
Signed-off-by: Sedat Dilek <sedat.dilek@gmail.com>
If we have a linear buffer, we can request the kernel mmap it directly
with write-combining without having to pin it into the GTT. This allows
us to efficiently upload very large buffers, and can avoid the dreaded
aperture thrashing.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Check that we have the required Xorg headers for glamor if the user
requests --enable-glamor. There is a possiblity that the headers
mismatch as they don't have internal versioning, but this should catch
the majority of errors early on.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>