From bd5cf9a07d17ce91dfaa3aa12d3f2c93815f0489 Mon Sep 17 00:00:00 2001 From: Daniel Vetter Date: Tue, 10 Jan 2012 15:37:53 +0100 Subject: lib/drmtest: extract gem_read Signed-Off-by: Daniel Vetter --- lib/drmtest.c | 13 +++++++++++++ lib/drmtest.h | 1 + 2 files changed, 14 insertions(+) (limited to 'lib') 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); -- cgit v1.2.3