Commit Graph

479 Commits

Author SHA1 Message Date
Chris Wilson 0867eea666 Update buglink for gitlan issues
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>
2019-11-27 12:09:28 +00:00
Chris Wilson 3594772150 configure: Set DRI1 to autodiscover
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>
2018-05-12 10:01:10 +01:00
Ville Syrjälä a3a9e99b52 autotools: Nuke IPC_RMID_DEFERRED_RELEASE
IPC_RMID_DEFERRED_RELEASE is unused so nuke it.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2018-02-06 13:12:33 +00:00
Chris Wilson 1f6dfc9df6 sna: Only flush GPU bo for a damage event
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>
2016-08-02 13:03:26 +01:00
Chris Wilson 47cd7fdd0b test: Exercise XVidMode switching
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-05-04 12:34:37 +01:00
Chris Wilson 4e108afe55 Revert "configure: Remove test for strlcat"
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>
2016-03-24 12:31:08 +00:00
Chris Wilson e4e469a0ed configure: Remove test for strlcat
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>
2016-03-24 11:04:50 +00:00
Chris Wilson 8e987511f0 tools/intel-virtual-output: Propagate screen blanking
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>
2016-01-04 18:15:25 +00:00
Chris Wilson 2050d03f52 Start splitting out the benchmarks from test/
First comes the swap overhead measurement for various window modes.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-07-23 14:51:02 +01:00
Chris Wilson 6de85a1e60 test/present: Include composite redirected windows in the test matrix
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-04-05 21:13:38 +01:00
Chris Wilson 8d85793b08 configure: Replace hardcoded pkg-config --exists with PKG_CHECK_EXISTS
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>
2015-04-03 00:01:31 +01:00
Chris Wilson 2f047c6278 tools/dri3info: Query refresh rate on Primary monitor
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-04-01 12:55:44 +01:00
Chris Wilson 8f11f2bdcd Use AC_FUNC_ALLOC
The preferred all-inclusive method for finding alloca().

Reported-by: Richard Palo <richard@netbsd.org>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89762
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-03-25 14:20:43 +00:00
Chris Wilson aa40f99014 Use AC_HEADER_MAJOR to find how to include major()
We need to include <sys/mkdev.h> on Solaris.

Reported-by: Richard Palo <richard@netbsd.org>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89763
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-03-25 14:14:30 +00:00
Chris Wilson d85e68e2d3 sna: Add include <alloca.h> for compiling on Solaris
Reported-by: Richard Palo <richard@netbsd.org>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89762
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-03-25 13:16:56 +00:00
Chris Wilson bacaf7f18c sna: Use struct pixman_f_vector for compatibility with older pixman
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>
2015-03-17 09:48:43 +00:00
Chris Wilson 88e615425b configure: Make sure that BUILD_TOOL_CURSOR is always defined
Building intel driver with --disable-tools fails with following

  configure: error: conditional "BUILD_TOOL_CURSOR" was never defined.

Reported-by: Tomas Pruzina <pruzinat@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89425
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-03-04 15:29:45 +00:00
Chris Wilson 8d76f90e2c tools: Add simple tool to retrieve the current cursor from X
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>
2015-03-04 11:20:50 +00:00
Chris Wilson 555f7f4f54 configure: Include the xorg-server version in the summary
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-03-03 12:47:24 +00:00
Chris Wilson 88e84320a3 sna/dri2: Flush triple buffer swap on [un]redirection
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-02-24 15:50:25 +00:00
Chris Wilson 12af8a575d sna: udev integration depends on fstat and sys/stat.h
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>
2015-02-24 15:30:56 +00:00
Chris Wilson 426a3afcc6 sna/present: Prevent DoS from exhausting the kernel vblank queue
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>
2015-02-11 09:51:43 +00:00
Chris Wilson 61e957cb5f Enable support for render-nodes by default with DRI3
DRI3 can use render nodes if provided by the kernel, so enable it.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-02-10 14:03:11 +00:00
Chris Wilson db629a3834 Allow runtime selection between DRI levels
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>
2015-02-04 09:55:54 +00:00
Chris Wilson 2e7ae76038 test/dri2: Use xcb for more accurate timing of SwapBuffers
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>
2015-01-28 11:46:43 +00:00
Patrick Welche 53e825d6cf configure.ac: pwd doesn't take an argument
bash built-in doesn't give an error, but real pwd does, and the
argument is unnecessary.

Signed-off-by: Patrick Welche <prlw1@cam.ac.uk>
2015-01-26 12:47:03 +00:00
Patrick Welche ac90648ec7 backlight.c: test for features
Signed-off-by: Patrick Welche <prlw1@cam.ac.uk>
2015-01-26 12:46:07 +00:00
Chris Wilson 986cb2335c sna: Enable mmap(wc) support by default
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>
2015-01-06 10:45:05 +00:00
Chris Wilson baec802b21 2.99.917 snapshot 2014-12-21 14:41:12 +00:00
Chris Wilson b6eeb7a1f7 Disable DRI3 by default
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>
2014-11-19 13:15:36 +00:00
Sedat Dilek e96520327b sna: wc-mmap: Fix warning in configure
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>
2014-11-07 10:05:59 +00:00
Chris Wilson 0aa2edbd29 Remove defunct glamor support
It never was a stable or complete replacement, and now it is
incorporated in Xorg itself!

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-11-06 16:55:46 +00:00
Chris Wilson 87802b3402 sna: Experimental support for write-combining mmaps
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>
2014-11-06 16:55:46 +00:00
Chris Wilson 0d451ee389 configure: Require the presence of xorg/glamor.h for --enable-glamor
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>
2014-09-15 08:46:46 +01:00
Chris Wilson 692c14d405 2.99.916 snapshot 2014-09-08 08:53:32 +01:00
Chris Wilson 001c542618 2.99.915 snapshot 2014-09-08 07:54:25 +01:00
Jonathan Gray 2c564c04bc configure: check for cpuid.h
Instead of checking for a particular version of GCC check for
a cpuid.h with __cpuid_count.  This allows cpuid.h to be
provided for older/different compilers.

Signed-off-by: Jonathan Gray <jsg@jsg.id.au>
[ickle: Delete the bare and redundant config.h]
2014-08-31 11:51:46 +01:00
Chris Wilson d209b03915 configure: Add guards for os.h redefines
os.h redefines a few common libc functions, so check if the host
provides them first and inform os.h if that is the case.

Suggested-by: Zdenek Kabelac <zkabelac@redhat.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-08-24 07:05:35 +01:00
Chris Wilson 02f184e0ef test: Make SHM tests in lowlevel-blt-bench optional
A slightly more complex patch to disable the SHM based tests of
lowlevel-blt-bench when MIT-SHM support is not available at compile
time.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-08-18 07:43:21 +01:00
Chris Wilson 9058dac302 test: Only compile lowlevel-blt-bench if we have shm
Since 37ac34c4e4, lowlevel-blt-bench
requires SHM support, so only compile it if we detect such during
configure.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-08-18 07:29:05 +01:00
Chris Wilson 7763a3da89 test: Exercise different cursor sizes
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-08-07 11:32:51 +01:00
Chris Wilson 105d478cdd sna: Enable kernel rotation support by default
The kernel API is now upstream and so we can rely on it not changing.
Time to use it.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-08-06 09:10:30 +01:00
Chris Wilson f36b7a4aac intel: Use NOACCEL to avoid a symbol clash on old Xorg
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>
2014-08-05 16:38:42 +01:00
Chris Wilson 997a5d2802 configure: Expose no acceleration by default (--with-default-accel=none)
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>
2014-07-27 07:15:19 +01:00
Chris Wilson 8d95e90b7b 2.99.914 snapshot 2014-07-23 16:43:38 +01:00
Chris Wilson 4ed0937640 Add automake magic required for libobj/
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
2014-07-23 16:02:47 +01:00
Chris Wilson 1c5e20716f 2.99.913 snapshot 2014-07-23 14:45:19 +01:00
Chris Wilson 4ae346e764 configure: Double check xinerama's headers
Having the pkgconfig present doesn't always necessarily imply the
headers are installed correctly - just fail over gracefully for xinerama
and intel-virtual-output

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-18 07:38:59 +01:00
Chris Wilson 251bcc32ee configure: Provide a poor man's replacement for getline()
uClibc is one such library that doesn't implement getline()

Reported-by: Ben Widawsky <benjamin.widawsky@intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-11 08:06:02 +01:00
Chris Wilson ca296c1831 configure: Display our README before the summary
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-24 16:37:52 +01:00