diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-05-29 16:23:41 +0200 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-05-29 16:24:04 +0200 |
commit | 25bf5574a2252311bf5c0c691e728e8ffd47161e (patch) | |
tree | c47583167b566dad9500e0e361ff6f0a495ec7f3 | |
parent | f14a045137ea804625439fc7ac3144e46a12d3ae (diff) |
tests/gem_wait_rendering_timeout: properly skip test
also assign the timeout value unconditionally, we want to know it even
when we've timeout out.
-rw-r--r-- | tests/gem_wait_render_timeout.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/tests/gem_wait_render_timeout.c b/tests/gem_wait_render_timeout.c index 6ed3144b..0d242af3 100644 --- a/tests/gem_wait_render_timeout.c +++ b/tests/gem_wait_render_timeout.c @@ -75,12 +75,9 @@ gem_bo_wait_timeout(int fd, uint32_t handle, uint64_t *timeout_ns) wait.timeout_ns = *timeout_ns; wait.flags = 0; ret = drmIoctl(fd, WAIT_IOCTL, &wait); - if (ret) - return ret; - *timeout_ns = wait.timeout_ns; - return ret; + return ret ? -errno : 0; } static void blt_color_fill(struct intel_batchbuffer *batch, @@ -123,6 +120,12 @@ int main(int argc, char **argv) dst = drm_intel_bo_alloc(bufmgr, "dst", BUF_SIZE, 4096); dst2 = drm_intel_bo_alloc(bufmgr, "dst2", BUF_SIZE, 4096); + if (gem_bo_wait_timeout(fd, dst->handle, &timeout) == -EINVAL) { + printf("kernel doesn't support wait_timeout, skipping test\n"); + return -77; + } + timeout = ENOUGH_WORK_IN_SECONDS * NSEC_PER_SEC; + /* Figure out a rough number of fills required to consume 1 second of * GPU work. */ |