lib/drmtest: extract gem_set_domain and gem_sync
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 10 Jan 2012 15:05:34 +0000 (16:05 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 10 Jan 2012 15:05:34 +0000 (16:05 +0100)
gem_sync just does a gtt sync by using set_domain(GTT, GTT).

Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
lib/drmtest.c
lib/drmtest.h
tests/gem_exec_blt.c
tests/gem_exec_faulting_reloc.c
tests/gem_exec_nop.c
tests/gem_fence_thrash.c
tests/gem_gtt_speed.c
tests/gem_mmap_gtt.c
tests/gem_stress.c
tests/gem_vmap_blits.c

index d526f38..376e4ac 100644 (file)
@@ -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);
+}
+
index 299570f..794e08b 100644 (file)
@@ -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);
index 415b882..91f7d21 100644 (file)
@@ -137,17 +137,6 @@ static int gem_linear_blt(uint32_t *batch,
        return (b+2 - batch) * sizeof(uint32_t);
 }
 
-static void gem_sync(int fd, uint32_t handle)
-{
-       struct drm_i915_gem_set_domain set_domain;
-
-       set_domain.handle = handle;
-       set_domain.read_domains = I915_GEM_DOMAIN_GTT;
-       set_domain.write_domain = I915_GEM_DOMAIN_GTT;
-
-       drmIoctl(fd, DRM_IOCTL_I915_GEM_SET_DOMAIN, &set_domain);
-}
-
 static int gem_exec(int fd, struct drm_i915_gem_execbuffer2 *execbuf, int loops)
 {
        int ret = 0;
index d584e64..013ee79 100644 (file)
@@ -162,17 +162,6 @@ static int gem_linear_blt(uint32_t *batch,
        return (b+2 - batch) * sizeof(uint32_t);
 }
 
-static void gem_sync(int fd, uint32_t handle)
-{
-       struct drm_i915_gem_set_domain set_domain;
-
-       set_domain.handle = handle;
-       set_domain.read_domains = I915_GEM_DOMAIN_GTT;
-       set_domain.write_domain = I915_GEM_DOMAIN_GTT;
-
-       drmIoctl(fd, DRM_IOCTL_I915_GEM_SET_DOMAIN, &set_domain);
-}
-
 static void gem_exec(int fd, struct drm_i915_gem_execbuffer2 *execbuf)
 {
        int ret;
index b6c361e..d13756b 100644 (file)
@@ -55,17 +55,6 @@ static uint32_t gem_create(int fd, int size)
        return create.handle;
 }
 
-static void gem_sync(int fd, uint32_t handle)
-{
-       struct drm_i915_gem_set_domain set_domain;
-
-       set_domain.handle = handle;
-       set_domain.read_domains = I915_GEM_DOMAIN_GTT;
-       set_domain.write_domain = I915_GEM_DOMAIN_GTT;
-
-       drmIoctl(fd, DRM_IOCTL_I915_GEM_SET_DOMAIN, &set_domain);
-}
-
 static double elapsed(const struct timeval *start,
                      const struct timeval *end,
                      int loop)
index 7b67936..2065ac6 100644 (file)
@@ -58,7 +58,6 @@ bo_create (int fd)
 {
        struct drm_i915_gem_create create;
        struct drm_i915_gem_set_tiling tiling;
-       struct drm_i915_gem_set_domain domain;
        struct drm_i915_gem_mmap_gtt mmap_arg;
        void *ptr;
        int handle;
@@ -88,12 +87,7 @@ bo_create (int fd)
        assert (ptr != MAP_FAILED);
 
        /* XXX: mmap_gtt pulls the bo into the GTT read domain. */
-       memset(&domain, 0, sizeof(domain));
-       domain.handle = handle;
-       domain.read_domains = I915_GEM_DOMAIN_GTT;
-       domain.write_domain = I915_GEM_DOMAIN_GTT;
-       ret = ioctl(fd, DRM_IOCTL_I915_GEM_SET_DOMAIN, &domain);
-       assert (ret == 0);
+       gem_sync(fd, handle);
 
        return ptr;
 }
index 8e3750d..3f5bd0b 100644 (file)
@@ -79,17 +79,6 @@ static double elapsed(const struct timeval *start,
        return (1e6*(end->tv_sec - start->tv_sec) + (end->tv_usec - start->tv_usec))/loop;
 }
 
-static void gem_sync(int fd, uint32_t handle)
-{
-       struct drm_i915_gem_set_domain set_domain;
-
-       set_domain.handle = handle;
-       set_domain.read_domains = I915_GEM_DOMAIN_GTT;
-       set_domain.write_domain = I915_GEM_DOMAIN_GTT;
-
-       drmIoctl(fd, DRM_IOCTL_I915_GEM_SET_DOMAIN, &set_domain);
-}
-
 int main(int argc, char **argv)
 {
        struct timeval start, end;
index f817f14..e813587 100644 (file)
@@ -57,15 +57,7 @@ static uint32_t gem_create(int fd, int size)
 
 static void set_domain(int fd, uint32_t handle)
 {
-       struct drm_i915_gem_set_domain set_domain;
-       int ret;
-
-       set_domain.handle = handle;
-       set_domain.read_domains = I915_GEM_DOMAIN_GTT;
-       set_domain.write_domain = I915_GEM_DOMAIN_GTT;
-
-       ret = drmIoctl(fd, DRM_IOCTL_I915_GEM_SET_DOMAIN, &set_domain);
-       assert(ret == 0);
+       gem_set_domain(fd, handle, I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT);
 }
 
 static void *
index 64dca6c..f72bd13 100644 (file)
@@ -190,20 +190,8 @@ void keep_gpu_busy(void)
 
 static void set_to_cpu_domain(struct scratch_buf *buf, int writing)
 {
-       struct drm_i915_gem_set_domain set_domain;
-       int ret;
-
-       set_domain.handle = buf->bo->handle;
-       set_domain.read_domains = I915_GEM_DOMAIN_CPU;
-       if (writing)
-               set_domain.write_domain = I915_GEM_DOMAIN_CPU;
-       else
-               set_domain.write_domain = 0;
-
-       ret = drmIoctl(drm_fd,
-                      DRM_IOCTL_I915_GEM_SET_DOMAIN,
-                      &set_domain);
-       assert(ret == 0);
+       gem_set_domain(drm_fd, buf->bo->handle, I915_GEM_DOMAIN_CPU,
+                      writing ? I915_GEM_DOMAIN_CPU : 0);
 }
 
 static unsigned int copyfunc_seq = 0;
index a6655a4..9c0a91f 100644 (file)
@@ -96,15 +96,7 @@ static uint32_t gem_vmap(int fd, void *ptr, int size, int read_only)
 
 static void gem_vmap_sync(int fd, uint32_t handle)
 {
-       struct drm_i915_gem_set_domain set_domain;
-       int ret;
-
-       set_domain.handle = handle;
-       set_domain.read_domains = I915_GEM_DOMAIN_CPU;
-       set_domain.write_domain = I915_GEM_DOMAIN_CPU;
-
-       ret = drmIoctl(fd, DRM_IOCTL_I915_GEM_SET_DOMAIN, &set_domain);
-       assert(ret == 0);
+       gem_set_domain(fd, handle, I915_GEM_DOMAIN_CPU, I915_GEM_DOMAIN_CPU);
 }
 
 static uint64_t