diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-05-30 20:16:24 +0200 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-05-30 20:16:24 +0200 |
commit | a35dcac0ff7310bc431c14419874e9653d0d2725 (patch) | |
tree | dc829a3feb1f0863c942333f96d68a47b49bccdb /tests/gem_wait_render_timeout.c | |
parent | b8e00110a0556fb7edde5dcb3ed0ff3d728c5552 (diff) |
tests/gem_wait_rendering_timeout: check polling behaviour
... with timeout=0. We have special code in the kernel to optimize
that one.
Diffstat (limited to 'tests/gem_wait_render_timeout.c')
-rw-r--r-- | tests/gem_wait_render_timeout.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/tests/gem_wait_render_timeout.c b/tests/gem_wait_render_timeout.c index 0da5122e..e19b3c44 100644 --- a/tests/gem_wait_render_timeout.c +++ b/tests/gem_wait_render_timeout.c @@ -180,15 +180,18 @@ int main(int argc, char **argv) exit(EXIT_FAILURE); } assert(gem_bo_busy(fd, dst2->handle) == false); - assert(timeout != 0); - if (timeout == (ENOUGH_WORK_IN_SECONDS * NSEC_PER_SEC)) printf("Buffer was already done!\n"); else { printf("Finished with %lu time remaining\n", timeout); } + /* check that polling with timeout=0 works. */ + timeout = 0; + assert(gem_bo_wait_timeout(fd, dst2->handle, &timeout) == 0); + assert(timeout == 0); + /* Now check that we correctly time out, twice the auto-tune load should * be good enough. */ timeout = ENOUGH_WORK_IN_SECONDS * NSEC_PER_SEC; @@ -202,6 +205,12 @@ int main(int argc, char **argv) assert(timeout == 0); assert(gem_bo_busy(fd, dst2->handle) == true); + /* check that polling with timeout=0 works. */ + timeout = 0; + assert(gem_bo_wait_timeout(fd, dst2->handle, &timeout) == -ETIME); + assert(timeout == 0); + + if (do_signals) drmtest_stop_signal_helper(); drm_intel_bo_unreference(dst2); |