static void flink_userptr_bo(uint32_t old_handle, uint32_t new_handle) { igt_assert(old_handle < num_handle_map); igt_assert(handle_ptr_map[old_handle]); add_handle_ptr(new_handle, handle_ptr_map[old_handle], handle_size_map[old_handle]); }
static uint32_t create_userptr_bo(int fd, uint64_t size) { void *ptr; uint32_t handle; ptr = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_SHARED, -1, 0); igt_assert(ptr != MAP_FAILED); gem_userptr(fd, (uint32_t *)ptr, size, 0, userptr_flags, &handle); add_handle_ptr(handle, ptr, size); return handle; }