Lines Matching refs:bo
47 struct bo struct
61 static struct bo * argument
65 struct bo *bo; in bo_create_dumb() local
68 bo = calloc(1, sizeof(*bo)); in bo_create_dumb()
69 if (bo == NULL) { in bo_create_dumb()
83 free(bo); in bo_create_dumb()
87 bo->fd = fd; in bo_create_dumb()
88 bo->handle = arg.handle; in bo_create_dumb()
89 bo->size = arg.size; in bo_create_dumb()
90 bo->pitch = arg.pitch; in bo_create_dumb()
92 return bo; in bo_create_dumb()
95 static int bo_map(struct bo *bo, void **out) in bo_map() argument
102 arg.handle = bo->handle; in bo_map()
104 ret = drmIoctl(bo->fd, DRM_IOCTL_MODE_MAP_DUMB, &arg); in bo_map()
108 map = drm_mmap(0, bo->size, PROT_READ | PROT_WRITE, MAP_SHARED, in bo_map()
109 bo->fd, arg.offset); in bo_map()
113 bo->ptr = map; in bo_map()
119 static void bo_unmap(struct bo *bo) in bo_unmap() argument
121 if (!bo->ptr) in bo_unmap()
124 drm_munmap(bo->ptr, bo->size); in bo_unmap()
125 bo->ptr = NULL; in bo_unmap()
128 struct bo *
135 struct bo *bo; in bo_create() local
223 bo = bo_create_dumb(fd, width, virtual_height, bpp); in bo_create()
224 if (!bo) in bo_create()
227 ret = bo_map(bo, &virtual); in bo_create()
231 bo_destroy(bo); in bo_create()
244 handles[0] = bo->handle; in bo_create()
245 pitches[0] = bo->pitch; in bo_create()
255 handles[0] = bo->handle; in bo_create()
256 pitches[0] = bo->pitch; in bo_create()
259 handles[1] = bo->handle; in bo_create()
268 handles[0] = bo->handle; in bo_create()
269 pitches[0] = bo->pitch; in bo_create()
272 handles[1] = bo->handle; in bo_create()
275 handles[2] = bo->handle; in bo_create()
319 handles[0] = bo->handle; in bo_create()
320 pitches[0] = bo->pitch; in bo_create()
327 bo_unmap(bo); in bo_create()
329 return bo; in bo_create()
332 void bo_destroy(struct bo *bo) in bo_destroy() argument
338 arg.handle = bo->handle; in bo_destroy()
340 ret = drmIoctl(bo->fd, DRM_IOCTL_MODE_DESTROY_DUMB, &arg); in bo_destroy()
345 free(bo); in bo_destroy()