Lines Matching refs:fb
42 struct kms_framebuffer *fb; in kms_framebuffer_create() local
45 fb = calloc(1, sizeof(*fb)); in kms_framebuffer_create()
46 if (!fb) in kms_framebuffer_create()
49 fb->device = device; in kms_framebuffer_create()
50 fb->width = width; in kms_framebuffer_create()
51 fb->height = height; in kms_framebuffer_create()
52 fb->format = format; in kms_framebuffer_create()
66 free(fb); in kms_framebuffer_create()
72 free(fb); in kms_framebuffer_create()
76 fb->handle = args.handle; in kms_framebuffer_create()
77 fb->pitch = args.pitch; in kms_framebuffer_create()
78 fb->size = args.size; in kms_framebuffer_create()
80 handles[0] = fb->handle; in kms_framebuffer_create()
81 pitches[0] = fb->pitch; in kms_framebuffer_create()
85 pitches, offsets, &fb->id, 0); in kms_framebuffer_create()
87 kms_framebuffer_free(fb); in kms_framebuffer_create()
91 return fb; in kms_framebuffer_create()
94 void kms_framebuffer_free(struct kms_framebuffer *fb) in kms_framebuffer_free() argument
96 struct kms_device *device = fb->device; in kms_framebuffer_free()
100 if (fb->id) { in kms_framebuffer_free()
101 err = drmModeRmFB(device->fd, fb->id); in kms_framebuffer_free()
108 args.handle = fb->handle; in kms_framebuffer_free()
115 free(fb); in kms_framebuffer_free()
118 int kms_framebuffer_map(struct kms_framebuffer *fb, void **ptrp) in kms_framebuffer_map() argument
120 struct kms_device *device = fb->device; in kms_framebuffer_map()
125 if (fb->ptr) { in kms_framebuffer_map()
126 *ptrp = fb->ptr; in kms_framebuffer_map()
131 args.handle = fb->handle; in kms_framebuffer_map()
137 ptr = mmap(0, fb->size, PROT_READ | PROT_WRITE, MAP_SHARED, in kms_framebuffer_map()
142 *ptrp = fb->ptr = ptr; in kms_framebuffer_map()
147 void kms_framebuffer_unmap(struct kms_framebuffer *fb) in kms_framebuffer_unmap() argument
149 if (fb->ptr) { in kms_framebuffer_unmap()
150 munmap(fb->ptr, fb->size); in kms_framebuffer_unmap()
151 fb->ptr = NULL; in kms_framebuffer_unmap()