Lines Matching refs:xwl_gbm
200 struct xwl_gbm_private *xwl_gbm = xwl_gbm_get(xwl_screen); in xwl_glamor_gbm_create_pixmap() local
211 if (xwl_gbm->dmabuf_capable) { in xwl_glamor_gbm_create_pixmap()
216 bo = gbm_bo_create_with_modifiers(xwl_gbm->gbm, width, height, in xwl_glamor_gbm_create_pixmap()
223 bo = gbm_bo_create(xwl_gbm->gbm, width, height, format, in xwl_glamor_gbm_create_pixmap()
270 struct xwl_gbm_private *xwl_gbm = xwl_gbm_get(xwl_screen); in xwl_glamor_gbm_get_wl_buffer_for_pixmap() local
336 if (xwl_gbm->dmabuf && modifier_supported) { in xwl_glamor_gbm_get_wl_buffer_for_pixmap()
339 params = zwp_linux_dmabuf_v1_create_params(xwl_gbm->dmabuf); in xwl_glamor_gbm_get_wl_buffer_for_pixmap()
352 wl_drm_create_prime_buffer(xwl_gbm->drm, prime_fd, width, height, in xwl_glamor_gbm_get_wl_buffer_for_pixmap()
366 struct xwl_gbm_private *xwl_gbm = xwl_gbm_get(xwl_screen); in xwl_glamor_gbm_cleanup() local
368 if (xwl_gbm->device_name) in xwl_glamor_gbm_cleanup()
369 free(xwl_gbm->device_name); in xwl_glamor_gbm_cleanup()
370 if (xwl_gbm->drm_fd) in xwl_glamor_gbm_cleanup()
371 close(xwl_gbm->drm_fd); in xwl_glamor_gbm_cleanup()
372 if (xwl_gbm->drm) in xwl_glamor_gbm_cleanup()
373 wl_drm_destroy(xwl_gbm->drm); in xwl_glamor_gbm_cleanup()
374 if (xwl_gbm->gbm) in xwl_glamor_gbm_cleanup()
375 gbm_device_destroy(xwl_gbm->gbm); in xwl_glamor_gbm_cleanup()
377 free(xwl_gbm); in xwl_glamor_gbm_cleanup()
440 struct xwl_gbm_private *xwl_gbm = xwl_gbm_get(xwl_screen); in xwl_dri3_open_client() local
445 fd = open(xwl_gbm->device_name, O_RDWR | O_CLOEXEC); in xwl_dri3_open_client()
448 if (xwl_gbm->fd_render_node) { in xwl_dri3_open_client()
468 wl_drm_authenticate(xwl_gbm->drm, magic); in xwl_dri3_open_client()
485 struct xwl_gbm_private *xwl_gbm = xwl_gbm_get(xwl_screen); in glamor_pixmap_from_fds() local
495 if (xwl_gbm->dmabuf_capable && modifier != DRM_FORMAT_MOD_INVALID) { in glamor_pixmap_from_fds()
509 bo = gbm_bo_import(xwl_gbm->gbm, GBM_BO_IMPORT_FD_MODIFIER, &data, in glamor_pixmap_from_fds()
520 bo = gbm_bo_import(xwl_gbm->gbm, GBM_BO_IMPORT_FD, &data, in glamor_pixmap_from_fds()
601 struct xwl_gbm_private *xwl_gbm = xwl_gbm_get(xwl_screen); in glamor_get_formats() local
607 if (!xwl_gbm->dmabuf_capable || !xwl_gbm->dmabuf) in glamor_get_formats()
629 struct xwl_gbm_private *xwl_gbm = xwl_gbm_get(xwl_screen); in glamor_get_modifiers() local
636 if (!xwl_gbm->dmabuf_capable || !xwl_gbm->dmabuf) in glamor_get_modifiers()
736 struct xwl_gbm_private *xwl_gbm = xwl_gbm_get(xwl_screen); in xwl_drm_handle_device() local
744 xwl_gbm->device_name = render_node_path; in xwl_drm_handle_device()
746 xwl_gbm->device_name = strdup(device); in xwl_drm_handle_device()
748 if (!xwl_gbm->device_name) { in xwl_drm_handle_device()
753 xwl_gbm->drm_fd = open(xwl_gbm->device_name, O_RDWR | O_CLOEXEC); in xwl_drm_handle_device()
754 if (xwl_gbm->drm_fd == -1) { in xwl_drm_handle_device()
756 xwl_gbm->device_name, strerror(errno)); in xwl_drm_handle_device()
761 if (drmGetNodeTypeFromFd(xwl_gbm->drm_fd) == DRM_NODE_RENDER) { in xwl_drm_handle_device()
762 xwl_gbm->fd_render_node = 1; in xwl_drm_handle_device()
765 drmGetMagic(xwl_gbm->drm_fd, &magic); in xwl_drm_handle_device()
766 wl_drm_authenticate(xwl_gbm->drm, magic); in xwl_drm_handle_device()
779 struct xwl_gbm_private *xwl_gbm = xwl_gbm_get(xwl_screen); in xwl_drm_handle_authenticated() local
781 xwl_gbm->drm_authenticated = TRUE; in xwl_drm_handle_authenticated()
854 struct xwl_gbm_private *xwl_gbm = xwl_gbm_get(xwl_screen); in xwl_screen_set_drm_interface() local
859 xwl_gbm->drm = in xwl_screen_set_drm_interface()
861 wl_drm_add_listener(xwl_gbm->drm, &xwl_drm_listener, xwl_screen); in xwl_screen_set_drm_interface()
871 struct xwl_gbm_private *xwl_gbm = xwl_gbm_get(xwl_screen); in xwl_screen_set_dmabuf_interface() local
876 xwl_gbm->dmabuf = in xwl_screen_set_dmabuf_interface()
878 zwp_linux_dmabuf_v1_add_listener(xwl_gbm->dmabuf, &xwl_dmabuf_listener, xwl_screen); in xwl_screen_set_dmabuf_interface()
911 struct xwl_gbm_private *xwl_gbm = xwl_gbm_get(xwl_screen); in xwl_glamor_gbm_has_wl_interfaces() local
913 if (xwl_gbm->drm == NULL) { in xwl_glamor_gbm_has_wl_interfaces()
924 struct xwl_gbm_private *xwl_gbm = xwl_gbm_get(xwl_screen); in xwl_glamor_gbm_init_egl() local
938 if (!xwl_gbm->fd_render_node && !xwl_gbm->drm_authenticated) { in xwl_glamor_gbm_init_egl()
943 xwl_gbm->gbm = gbm_create_device(xwl_gbm->drm_fd); in xwl_glamor_gbm_init_egl()
944 if (!xwl_gbm->gbm) { in xwl_glamor_gbm_init_egl()
950 xwl_gbm->gbm); in xwl_glamor_gbm_init_egl()
1002 xwl_gbm->dmabuf_capable = TRUE; in xwl_glamor_gbm_init_egl()
1023 struct xwl_gbm_private *xwl_gbm = xwl_gbm_get(xwl_screen); in xwl_glamor_gbm_init_screen() local
1030 if (xwl_gbm->fd_render_node) in xwl_glamor_gbm_init_screen()
1058 struct xwl_gbm_private *xwl_gbm; in xwl_glamor_init_gbm() local
1068 xwl_gbm = calloc(sizeof(*xwl_gbm), 1); in xwl_glamor_init_gbm()
1069 if (!xwl_gbm) { in xwl_glamor_init_gbm()
1075 xwl_gbm); in xwl_glamor_init_gbm()