static void
test_create_close(int fd)
{
- struct drm_i915_gem_create create;
- int ret;
+ uint32_t handle;
printf("Testing creating and closing an object.\n");
- memset(&create, 0, sizeof(create));
- create.size = 16 * 1024;
- ret = ioctl(fd, DRM_IOCTL_I915_GEM_CREATE, &create);
- assert(ret == 0);
+ handle = gem_create(fd, 16*1024);
- gem_close(fd, create.handle);
+ gem_close(fd, handle);
}
static void
test_create_fd_close(int fd)
{
- struct drm_i915_gem_create create;
- int ret;
-
printf("Testing closing with an object allocated.\n");
- memset(&create, 0, sizeof(create));
- create.size = 16 * 1024;
- ret = ioctl(fd, DRM_IOCTL_I915_GEM_CREATE, &create);
- assert(ret == 0);
+ gem_create(fd, 16*1024);
+ /* leak it */
close(fd);
}
int main(int argc, char **argv)
{
int fd;
- struct drm_i915_gem_create create;
struct drm_i915_gem_mmap gem_mmap;
- struct drm_gem_close unref;
uint8_t expected[OBJECT_SIZE];
uint8_t buf[OBJECT_SIZE];
uint8_t *addr;
ret = ioctl(fd, DRM_IOCTL_I915_GEM_MMAP, &gem_mmap);
assert(ret == -1 && errno == ENOENT);
- memset(&create, 0, sizeof(create));
- create.size = OBJECT_SIZE;
- ret = ioctl(fd, DRM_IOCTL_I915_GEM_CREATE, &create);
- assert(ret == 0);
- handle = create.handle;
+ handle = gem_create(fd, OBJECT_SIZE);
printf("Testing mmaping of newly created object.\n");
gem_mmap.handle = handle;
assert(memcmp(buf, addr, sizeof(buf)) == 0);
printf("Testing that mapping stays after close\n");
- unref.handle = handle;
- ret = ioctl(fd, DRM_IOCTL_GEM_CLOSE, &unref);
- assert(ret == 0);
+ gem_close(fd, handle);
assert(memcmp(buf, addr, sizeof(buf)) == 0);
printf("Testing unmapping\n");
int main(int argc, char **argv)
{
int fd;
- struct drm_i915_gem_create create;
uint8_t expected[OBJECT_SIZE];
uint8_t buf[OBJECT_SIZE];
int ret;
fd = drm_open_any();
- memset(&create, 0, sizeof(create));
- create.size = OBJECT_SIZE;
- ret = ioctl(fd, DRM_IOCTL_I915_GEM_CREATE, &create);
- assert(ret == 0);
- handle = create.handle;
+ handle = gem_create(fd, OBJECT_SIZE);
printf("Testing contents of newly created object.\n");
ret = do_read(fd, handle, buf, 0, OBJECT_SIZE);