diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/drmtest.c | 19 | ||||
| -rw-r--r-- | lib/drmtest.h | 3 |
2 files changed, 22 insertions, 0 deletions
diff --git a/lib/drmtest.c b/lib/drmtest.c index d526f38b..376e4ac5 100644 --- a/lib/drmtest.c +++ b/lib/drmtest.c @@ -169,3 +169,22 @@ void gem_read(int fd, uint32_t handle, uint32_t offset, void *buf, uint32_t leng assert(ret == 0); } +void gem_set_domain(int fd, uint32_t handle, + uint32_t read_domains, uint32_t write_domain) +{ + struct drm_i915_gem_set_domain set_domain; + int ret; + + set_domain.handle = handle; + set_domain.read_domains = read_domains; + set_domain.write_domain = write_domain; + + ret = drmIoctl(fd, DRM_IOCTL_I915_GEM_SET_DOMAIN, &set_domain); + assert(ret == 0); +} + +void gem_sync(int fd, uint32_t handle) +{ + gem_set_domain(fd, handle, I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT); +} + diff --git a/lib/drmtest.h b/lib/drmtest.h index 299570fd..794e08bc 100644 --- a/lib/drmtest.h +++ b/lib/drmtest.h @@ -41,3 +41,6 @@ void gem_set_tiling(int fd, uint32_t handle, int tiling, int stride); void gem_close(int fd, uint32_t handle); void gem_write(int fd, uint32_t handle, uint32_t offset, const void *buf, uint32_t size); void gem_read(int fd, uint32_t handle, uint32_t offset, void *buf, uint32_t size); +void gem_set_domain(int fd, uint32_t handle, + uint32_t read_domains, uint32_t write_domain); +void gem_sync(int fd, uint32_t handle); |
