Lines Matching refs:surface

64                             struct drm_surface *surface)  in drm_enable_crtc()  argument
69 surface->fb_id, in drm_enable_crtc()
88 static void drm_destroy_surface(struct drm_surface *surface) in drm_destroy_surface() argument
93 if (!surface) in drm_destroy_surface()
96 if (surface->base.data) in drm_destroy_surface()
97 munmap(surface->base.data, in drm_destroy_surface()
98 surface->base.row_bytes * surface->base.height); in drm_destroy_surface()
100 if (surface->fb_id) { in drm_destroy_surface()
101 ret = drmModeRmFB(drm_fd, surface->fb_id); in drm_destroy_surface()
106 if (surface->handle) { in drm_destroy_surface()
108 gem_close.handle = surface->handle; in drm_destroy_surface()
115 free(surface); in drm_destroy_surface()
138 struct drm_surface *surface; in drm_create_surface() local
143 surface = (struct drm_surface*)calloc(1, sizeof(*surface)); in drm_create_surface()
144 if (!surface) { in drm_create_surface()
168 drm_destroy_surface(surface); in drm_create_surface()
171 surface->handle = create_dumb.handle; in drm_create_surface()
175 handles[0] = surface->handle; in drm_create_surface()
181 &(surface->fb_id), 0); in drm_create_surface()
184 drm_destroy_surface(surface); in drm_create_surface()
194 drm_destroy_surface(surface); in drm_create_surface()
198 surface->base.height = height; in drm_create_surface()
199 surface->base.width = width; in drm_create_surface()
200 surface->base.row_bytes = create_dumb.pitch; in drm_create_surface()
201 surface->base.pixel_bytes = create_dumb.bpp / 8; in drm_create_surface()
202 surface->base.data = (unsigned char*) in drm_create_surface()
204 surface->base.height * surface->base.row_bytes, in drm_create_surface()
207 if (surface->base.data == MAP_FAILED) { in drm_create_surface()
209 drm_destroy_surface(surface); in drm_create_surface()
213 return surface; in drm_create_surface()