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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>