Commit Graph

64 Commits

Author SHA1 Message Date
Chris Wilson 688f5e9bd7 sna/present: Compensate for time elapsed since last swap
When computing the delay for the fake flip, compensate for any time
elapsed since the last frame in order to hit the desired vblank more
accurately. A side-effect of this is that we may now compute 0 delay
timers which require special handling.

Testcase: present-test/accuracy
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-02-11 22:16:25 +00:00
Chris Wilson 8b8b1021f4 test/dri2-race: Mix immediate flips with delayed flips
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-02-11 12:09:01 +00:00
Chris Wilson fc010846b1 test/dri2-race: Actually queue a number of future WaitMSC
In order to have outstanding WaitMSC when the Client quits or the Window
is destroyed, we need to use the xcb version so as not to immediately
block on the play.

And also print keepalive dots to console as test progresses.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-02-11 11:06:49 +00:00
Chris Wilson 4f5d7825df test/present: Return the correct error counter from for_each_crtc
When the xserver is fixed and we no longer block for ever inside the
test, we can see that the test itself falsely reports failure!

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-02-11 10:34:47 +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 ee42e106fe test: Tighten present checks to catch CRTC interchange bug in a single pass
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-02-05 13:41:13 +00:00
Chris Wilson e427bb4e41 test/dri2-race: Race against CloseDisplay and also test WaitMSC
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-01-30 14:49:02 +00:00
Chris Wilson dc51886c0c sna/dri2: Fix use of stale flip_pending after removing window
Testcase: dri2-race
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-01-29 23:55:19 +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
Chris Wilson db157b42aa test: Add DrawSegments
Compare fb/ddx for many DrawSegments operations.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-09-16 12:10:57 +01:00
Chris Wilson 92b37783eb test/README: Add missing trailing characters from cut'n'paste
When copying the command from the terminal I failed to highlight the
last character.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-09-01 15:05:05 +01:00
Chris Wilson 8f584f83dc tests: Add a couple of gstreamer pipeline hints
Having worked out how to use gstreamer, record the pipelines for
posterity.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-08-29 09:55:49 +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 f2b2b6eda0 test/dri2: Use the right device node
Use the device node as instructed by Xorg.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-23 13:55:39 +01:00
Chris Wilson 9bb2818a7d dri3-test: Print line number for shm failures
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-20 07:28:34 +01:00
Chris Wilson 790e7492bd test/lowlevel-blt-bench: Add common PDF operators
Applications are starting to use PDF operators, so far I have spotted
multiply, dodge and lighten.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-08 13:07:11 +01:00
Chris Wilson 710bb0d37c test: Create separate SHM segments for ref/out
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-02 12:55:34 +01:00
Chris Wilson 19a62e088f test/lowlevel-blt-bench: Update progress more frequently
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-30 15:43:57 +01:00
Chris Wilson 2e0000688d test/lowlevel-blt-bench: Exercise masks
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-30 09:37:07 +01:00
Chris Wilson 37ac34c4e4 test/lowlevel-blt-bench: Exercise SHM pixmaps
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-30 09:37:06 +01:00
Chris Wilson 0584604b53 test: Expand number of sources for basic benchmarking
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-27 16:14:09 +01:00
Chris Wilson 8d7e7010e3 test: Increase number of tiled sources
Significantly improve the stress impose upon the tiled BLT operations.
Also start dumping pngs of the failures.

References: https://bugs.freedesktop.org/show_bug.cgi?id=80033
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-20 15:08:56 +01:00
Chris Wilson 0a6a94630f test: Add a simple SHM test skeleton
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-15 14:04:50 +01:00
Chris Wilson 975b9798be sna: Add support for Present
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-02 08:32:11 +01:00
Chris Wilson 9cf6cd9726 Add rudimentary tests for Present
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-02 08:32:11 +01:00
Chris Wilson 6ab6734369 Add rudimentary tests for DRI3
This is a simple little test to create a pixmap from a local bo, copy it
to a normal pixmap, then read it back by importing it into anther local
bo. It tests the fundamental mechanisms of opening a DRI3 render device,
importing into pixmaps, exporting into /buffers and a read-barrier.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-02 08:32:11 +01:00
Chris Wilson 3dac734bb0 test: Only compute the masked pixel value if depth!=32
Minor saving for when we use a8r8g8b8.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-05-30 23:14:15 +01:00
Chris Wilson d3781e19cf test/dri2: Restore original configuration after testing
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-05-23 11:21:47 +01:00
Chris Wilson c8decdbccd test/dri2: Check validity of MSC across CRTC
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-05-23 09:49:05 +01:00
Chris Wilson 32b942d0ff tests: Exercise stippled fills
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-12-02 17:11:07 +00:00
Chris Wilson 49af22ee55 tests: Exercise tiled fills
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-12-02 17:11:06 +00:00
Zdenek Kabelac 175b8711f8 uxa,legacy: use unsigned for comparition of unsigned
Signed-off-by: Zdenek Kabelac <zkabelac@redhat.com>
2013-11-25 10:04:49 +00:00
Zdenek Kabelac 2275ef581e Makefile convert @var@ to $(var)
Avoid using @var@ since this could not be easily overwritten through
'make var=xxx' option which is normally available.
For Makefile.am users should avoid using @var@.

Signed-off-by: Zdenek Kabelac <zkabelac@redhat.com>
2013-11-25 09:25:56 +00:00
Chris Wilson bb3ea102ca test: Fix compilation of render-trapezoid-image
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71768
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-11-19 09:47:15 +00:00
Chris Wilson e99e643ed1 tests: Avoid dependence on undefined C
Right-shifting by a negative value is undefined.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-11-18 12:05:15 +00:00
Chris Wilson 23f47c8b4b tests: Exercise render copies under a mask
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-11-14 12:07:47 +00:00
Chris Wilson 7358ba83a3 tests: Add render-composite-solid-mask
Another reference test to exercise simple composite pathways clearly.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-11-14 12:07:47 +00:00
Daniel Martin 700a845cc6 configure: Add xfixes to X11 pkg check
Add xfixes to the list of PKG_CHECK_MODULES for X11. '-lXfixes' was
hardcoded in test/Makefile.am before. This could lead to a broken build
in very rare cases where the build environment has all specified X
libraries but Xfixes.

Signed-off-by: Daniel Martin <consume.noise@gmail.com>
2013-10-10 14:36:37 +01:00
Chris Wilson 76790db4e6 test: Exercise flips/blit swaps on each pipe
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-09-12 15:25:19 +01:00
Ross Burton 4fb651cb5f test: only build DRI2 tests if DRI2 is enabled
Signed-off-by: Ross Burton <ross.burton@intel.com>
2013-09-11 21:45:27 +01:00
Chris Wilson 8067255dc9 tools: Add intel-virtual-output to extend the local desktop with remote outputs
Based on the original implementation (hybrid-screenclone) by
Tomáš Janoušek, and Bumblebee integration by Kevin Puetz.

intel-virtual-output utilizes local VirtualHeads to present a contiguous
desktop to the local display manager, but maps the drawing on those
outputs to the remote display, and provides bidirectional RandR proxy so
that you can resize the remote display and configure it within your
desktop. The remote display should also send hotplug events back to the
local desktop, for reconfiguration on the fly.

Ideally the remote display is a discrete GPU on the same host so that we
can use local Shared Memory transport and avoid sending data over the
wire (though it will work in that setup). Ideally you would have userptr
support to provide zero-copy rendering between the GPUs, or have dma-buf
(in which case you would be using PRIME). For remote rendering, no
compression is done so this fares worse than VNC.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-08-31 15:49:01 +01:00
Chris Wilson c51cb32b6e test/dri2: We do not require the GLX includes
Drop the GLX includes as they are not needed and obviously break if the
GLX are not present on the system (and we fail to check during
configure).

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-07-27 16:29:35 +01:00
Jonathan Gray 6132400365 configure: test for librt (clock_gettime)
clock_gettime() is in libc not librt on OpenBSD so check
to see if linking librt is required.

Signed-off-by: Jonathan Gray <jsg@jsg.id.au>
2013-06-19 11:30:24 +01:00
Chris Wilson 7d64f596b8 test: Add an easily visible tearing test for video playback
Contributed by Matti Hamalainen.
2013-05-27 21:15:49 +01:00
Chris Wilson cffdd1eed0 test: Try to exercise races between DRI2SwapBuffers and CloseWindow
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-11 16:41:13 +00:00
Chris Wilson f095678125 test: Correct ignore path for async.avi
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-25 23:15:02 +00:00
Chris Wilson b6588c4807 test: Add generated vsync.avi to gitignore 2013-02-19 08:59:12 +00:00
Chris Wilson 82dc91e8c2 test: Add a very basic blt benchmark
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-05 22:07:46 +00:00