tests: Test whether a simple EGL main loop uses too many buffers
authorNeil Roberts <neil@linux.intel.com>
Tue, 29 Oct 2013 20:13:45 +0000 (20:13 +0000)
committerKristian Høgsberg <krh@bitplanet.net>
Sun, 8 Dec 2013 06:26:23 +0000 (22:26 -0800)
commit40c0c3f91eeb747b86df64579e3b3706cc5450af
tree6cb7746f09c17951a2aa67ad7385c60295c51fa2
parent65a07f8aef9538602792b33cb33fe856708173c0
tests: Test whether a simple EGL main loop uses too many buffers

This adds a test that tries to simulate a simple game loop that would
be like this:

while (1) {
        draw_something();
        eglSwapBuffers();
}

In this case the test is relying on eglSwapBuffers to throttle to a
sensible frame rate.

The test then verifies that only 2 EGL buffers are used. This is done
via a new request and event in the wayland-test protocol.

Currently this causes 3 buffers to be created because the release
event generated by the swap buffers is not processed by Mesa until it
blocks for the frame complete event in the next swap buffers call, but
that is too late.

This can be fixed in Mesa by issuing a sync request after the swap
buffers and blocking on it before deciding whether to allocate a new
buffer.
configure.ac
protocol/wayland-test.xml
tests/Makefile.am
tests/buffer-count-test.c [new file with mode: 0644]
tests/weston-test-client-helper.c
tests/weston-test-client-helper.h
tests/weston-test.c