diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/drmtest.c | 13 | ||||
| -rw-r--r-- | lib/drmtest.h | 1 |
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); |
