diff options
author | Robert Foss <robert.foss@collabora.com> | 2016-12-07 15:07:50 -0500 |
---|---|---|
committer | Tomeu Vizoso <tomeu.vizoso@collabora.com> | 2016-12-14 09:24:11 +0100 |
commit | 2c16b0b5c88367fe398d4a973f1c8255ddc36b56 (patch) | |
tree | 22c090e0febf8b71dd4cacb9937c44a579083ed1 /lib | |
parent | 6e836088bc52a288bd649ae7903d776a811e4884 (diff) |
lib/sw_sync: Add igt_require_sw_sync to enable skipping on no sw_sync support
Add igt_require_sw_sync to provide tests to skip if sw_sync support isn't
available on the host machine.
Signed-off-by: Robert Foss <robert.foss@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/sw_sync.c | 14 | ||||
-rw-r--r-- | lib/sw_sync.h | 1 |
2 files changed, 15 insertions, 0 deletions
diff --git a/lib/sw_sync.c b/lib/sw_sync.c index aa8feefe..276dc795 100644 --- a/lib/sw_sync.c +++ b/lib/sw_sync.c @@ -212,3 +212,17 @@ int sync_fence_count_status(int fd, int status) return count; } + +static bool kernel_has_sw_sync(void) +{ + char buf[128]; + + igt_ignore_warn(system("/sbin/modprobe -s r sw_sync")); + + return kernel_sw_sync_path(buf, sizeof(buf)); +} + +void igt_require_sw_sync(void) +{ + igt_require(kernel_has_sw_sync()); +} diff --git a/lib/sw_sync.h b/lib/sw_sync.h index cea5a603..82af3378 100644 --- a/lib/sw_sync.h +++ b/lib/sw_sync.h @@ -39,6 +39,7 @@ int sync_merge(int fd1, int fd2); int sync_wait(int fence, int timeout); int sync_fence_count(int fd); int sync_fence_count_status(int fd, int status); +void igt_require_sw_sync(void); #endif |