summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2012-01-10 15:37:53 +0100
committerDaniel Vetter <daniel.vetter@ffwll.ch>2012-01-10 15:37:53 +0100
commitbd5cf9a07d17ce91dfaa3aa12d3f2c93815f0489 (patch)
tree2af15a28d9439f557ec696f99bf3af474dd9f764 /lib
parent319638ba6d38c25be0f6dadbab3f5855083234a1 (diff)
lib/drmtest: extract gem_read
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'lib')
-rw-r--r--lib/drmtest.c13
-rw-r--r--lib/drmtest.h1
2 files changed, 14 insertions, 0 deletions
diff --git a/lib/drmtest.c b/lib/drmtest.c
index d6e2540e..d526f38b 100644
--- a/lib/drmtest.c
+++ b/lib/drmtest.c
@@ -156,3 +156,16 @@ void gem_write(int fd, uint32_t handle, uint32_t offset, const void *buf, uint32
assert(ret == 0);
}
+void gem_read(int fd, uint32_t handle, uint32_t offset, void *buf, uint32_t length)
+{
+ struct drm_i915_gem_pread gem_pread;
+ int ret;
+
+ gem_pread.handle = handle;
+ gem_pread.offset = offset;
+ gem_pread.size = length;
+ gem_pread.data_ptr = (uintptr_t)buf;
+ ret = drmIoctl(fd, DRM_IOCTL_I915_GEM_PREAD, &gem_pread);
+ assert(ret == 0);
+}
+
diff --git a/lib/drmtest.h b/lib/drmtest.h
index 0e8e4757..299570fd 100644
--- a/lib/drmtest.h
+++ b/lib/drmtest.h
@@ -40,3 +40,4 @@ int drm_open_any_master(void);
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);