summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2012-01-10 16:05:34 +0100
committerDaniel Vetter <daniel.vetter@ffwll.ch>2012-01-10 16:05:34 +0100
commit673e6b220a34fb7600cbf272bc46a4ac1ca08905 (patch)
tree41020c3923d71a96a3f9259288aa7375724cc8d0 /lib
parenta7a80c2c2f7ac15ae50d75dc2fcaf59834b47e0c (diff)
lib/drmtest: extract gem_set_domain and gem_sync
gem_sync just does a gtt sync by using set_domain(GTT, GTT). Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'lib')
-rw-r--r--lib/drmtest.c19
-rw-r--r--lib/drmtest.h3
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);