summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2012-05-29 16:23:41 +0200
committerDaniel Vetter <daniel.vetter@ffwll.ch>2012-05-29 16:24:04 +0200
commit25bf5574a2252311bf5c0c691e728e8ffd47161e (patch)
treec47583167b566dad9500e0e361ff6f0a495ec7f3
parentf14a045137ea804625439fc7ac3144e46a12d3ae (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.c11
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.
*/