tests/gem_wait_rendering_timeout: check polling behaviour

... with timeout=0. We have special code in the kernel to optimize
that one.
This commit is contained in:
Daniel Vetter 2012-05-30 20:16:24 +02:00
parent b8e00110a0
commit a35dcac0ff

View File

@ -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);