Lines Matching refs:xwl_screen

71 xwl_gbm_get(struct xwl_screen *xwl_screen)  in xwl_gbm_get()  argument
73 return dixLookupPrivate(&xwl_screen->screen->devPrivates, in xwl_gbm_get()
135 struct xwl_screen *xwl_screen = xwl_screen_get(screen); in xwl_glamor_gbm_create_pixmap_for_bo() local
151 xwl_glamor_egl_make_current(xwl_screen); in xwl_glamor_gbm_create_pixmap_for_bo()
154 xwl_pixmap->image = eglCreateImageKHR(xwl_screen->egl_display, in xwl_glamor_gbm_create_pixmap_for_bo()
155 xwl_screen->egl_context, in xwl_glamor_gbm_create_pixmap_for_bo()
186 eglDestroyImageKHR(xwl_screen->egl_display, xwl_pixmap->image); in xwl_glamor_gbm_create_pixmap_for_bo()
199 struct xwl_screen *xwl_screen = xwl_screen_get(screen); in xwl_glamor_gbm_create_pixmap() local
200 struct xwl_gbm_private *xwl_gbm = xwl_gbm_get(xwl_screen); in xwl_glamor_gbm_create_pixmap()
233 else if (xwl_screen->rootless && hint == CREATE_PIXMAP_USAGE_BACKING_PIXMAP) { in xwl_glamor_gbm_create_pixmap()
248 struct xwl_screen *xwl_screen = xwl_screen_get(pixmap->drawable.pScreen); in xwl_glamor_gbm_destroy_pixmap() local
255 eglDestroyImageKHR(xwl_screen->egl_display, xwl_pixmap->image); in xwl_glamor_gbm_destroy_pixmap()
268 struct xwl_screen *xwl_screen = xwl_screen_get(pixmap->drawable.pScreen); in xwl_glamor_gbm_get_wl_buffer_for_pixmap() local
270 struct xwl_gbm_private *xwl_gbm = xwl_gbm_get(xwl_screen); in xwl_glamor_gbm_get_wl_buffer_for_pixmap()
320 for (i = 0; i < xwl_screen->num_formats; i++) { in xwl_glamor_gbm_get_wl_buffer_for_pixmap()
321 if (xwl_screen->formats[i].format == format) { in xwl_glamor_gbm_get_wl_buffer_for_pixmap()
322 xwl_format = &xwl_screen->formats[i]; in xwl_glamor_gbm_get_wl_buffer_for_pixmap()
364 xwl_glamor_gbm_cleanup(struct xwl_screen *xwl_screen) in xwl_glamor_gbm_cleanup() argument
366 struct xwl_gbm_private *xwl_gbm = xwl_gbm_get(xwl_screen); in xwl_glamor_gbm_cleanup()
439 struct xwl_screen *xwl_screen = xwl_screen_get(screen); in xwl_dri3_open_client() local
440 struct xwl_gbm_private *xwl_gbm = xwl_gbm_get(xwl_screen); in xwl_dri3_open_client()
469 state->callback = wl_display_sync(xwl_screen->display); in xwl_dri3_open_client()
484 struct xwl_screen *xwl_screen = xwl_screen_get(screen); in glamor_pixmap_from_fds() local
485 struct xwl_gbm_private *xwl_gbm = xwl_gbm_get(xwl_screen); in glamor_pixmap_from_fds()
600 struct xwl_screen *xwl_screen = xwl_screen_get(screen); in glamor_get_formats() local
601 struct xwl_gbm_private *xwl_gbm = xwl_gbm_get(xwl_screen); in glamor_get_formats()
610 if (xwl_screen->num_formats == 0) in glamor_get_formats()
613 *formats = calloc(xwl_screen->num_formats, sizeof(CARD32)); in glamor_get_formats()
617 for (i = 0; i < xwl_screen->num_formats; i++) in glamor_get_formats()
618 (*formats)[i] = xwl_screen->formats[i].format; in glamor_get_formats()
619 *num_formats = xwl_screen->num_formats; in glamor_get_formats()
628 struct xwl_screen *xwl_screen = xwl_screen_get(screen); in glamor_get_modifiers() local
629 struct xwl_gbm_private *xwl_gbm = xwl_gbm_get(xwl_screen); in glamor_get_modifiers()
639 if (xwl_screen->num_formats == 0) in glamor_get_modifiers()
642 for (i = 0; i < xwl_screen->num_formats; i++) { in glamor_get_modifiers()
643 if (xwl_screen->formats[i].format == format) { in glamor_get_modifiers()
644 xwl_format = &xwl_screen->formats[i]; in glamor_get_modifiers()
735 struct xwl_screen *xwl_screen = data; in xwl_drm_handle_device() local
736 struct xwl_gbm_private *xwl_gbm = xwl_gbm_get(xwl_screen); in xwl_drm_handle_device()
749 xwl_glamor_gbm_cleanup(xwl_screen); in xwl_drm_handle_device()
757 xwl_glamor_gbm_cleanup(xwl_screen); in xwl_drm_handle_device()
763 xwl_screen->expecting_event--; in xwl_drm_handle_device()
778 struct xwl_screen *xwl_screen = data; in xwl_drm_handle_authenticated() local
779 struct xwl_gbm_private *xwl_gbm = xwl_gbm_get(xwl_screen); in xwl_drm_handle_authenticated()
782 xwl_screen->expecting_event--; in xwl_drm_handle_authenticated()
809 struct xwl_screen *xwl_screen = data; in xwl_dmabuf_handle_modifier() local
817 for (i = 0; i < xwl_screen->num_formats; i++) { in xwl_dmabuf_handle_modifier()
818 if (xwl_screen->formats[i].format == format) { in xwl_dmabuf_handle_modifier()
819 xwl_format = &xwl_screen->formats[i]; in xwl_dmabuf_handle_modifier()
825 xwl_screen->num_formats++; in xwl_dmabuf_handle_modifier()
826 xwl_screen->formats = realloc(xwl_screen->formats, in xwl_dmabuf_handle_modifier()
827 xwl_screen->num_formats * sizeof(*xwl_format)); in xwl_dmabuf_handle_modifier()
828 if (!xwl_screen->formats) in xwl_dmabuf_handle_modifier()
830 xwl_format = &xwl_screen->formats[xwl_screen->num_formats - 1]; in xwl_dmabuf_handle_modifier()
851 xwl_screen_set_drm_interface(struct xwl_screen *xwl_screen, in xwl_screen_set_drm_interface() argument
854 struct xwl_gbm_private *xwl_gbm = xwl_gbm_get(xwl_screen); in xwl_screen_set_drm_interface()
860 wl_registry_bind(xwl_screen->registry, id, &wl_drm_interface, 2); 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()
862 xwl_screen->expecting_event++; in xwl_screen_set_drm_interface()
868 xwl_screen_set_dmabuf_interface(struct xwl_screen *xwl_screen, in xwl_screen_set_dmabuf_interface() argument
871 struct xwl_gbm_private *xwl_gbm = xwl_gbm_get(xwl_screen); in xwl_screen_set_dmabuf_interface()
877 wl_registry_bind(xwl_screen->registry, id, &zwp_linux_dmabuf_v1_interface, 3); 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()
884 xwl_glamor_gbm_init_wl_registry(struct xwl_screen *xwl_screen, in xwl_glamor_gbm_init_wl_registry() argument
890 xwl_screen_set_drm_interface(xwl_screen, id, version); in xwl_glamor_gbm_init_wl_registry()
893 xwl_screen_set_dmabuf_interface(xwl_screen, id, version); in xwl_glamor_gbm_init_wl_registry()
909 xwl_glamor_gbm_has_wl_interfaces(struct xwl_screen *xwl_screen) in xwl_glamor_gbm_has_wl_interfaces() argument
911 struct xwl_gbm_private *xwl_gbm = xwl_gbm_get(xwl_screen); in xwl_glamor_gbm_has_wl_interfaces()
922 xwl_glamor_gbm_init_egl(struct xwl_screen *xwl_screen) in xwl_glamor_gbm_init_egl() argument
924 struct xwl_gbm_private *xwl_gbm = xwl_gbm_get(xwl_screen); in xwl_glamor_gbm_init_egl()
949 xwl_screen->egl_display = glamor_egl_get_display(EGL_PLATFORM_GBM_MESA, in xwl_glamor_gbm_init_egl()
951 if (xwl_screen->egl_display == EGL_NO_DISPLAY) { in xwl_glamor_gbm_init_egl()
956 egl_initialized = eglInitialize(xwl_screen->egl_display, &major, &minor); in xwl_glamor_gbm_init_egl()
964 xwl_screen->egl_context = eglCreateContext( in xwl_glamor_gbm_init_egl()
965 xwl_screen->egl_display, NULL, EGL_NO_CONTEXT, config_attribs_core); in xwl_glamor_gbm_init_egl()
966 if (xwl_screen->egl_context == EGL_NO_CONTEXT) { in xwl_glamor_gbm_init_egl()
967 xwl_screen->egl_context = eglCreateContext( in xwl_glamor_gbm_init_egl()
968 xwl_screen->egl_display, NULL, EGL_NO_CONTEXT, NULL); in xwl_glamor_gbm_init_egl()
971 if (xwl_screen->egl_context == EGL_NO_CONTEXT) { in xwl_glamor_gbm_init_egl()
976 if (!eglMakeCurrent(xwl_screen->egl_display, in xwl_glamor_gbm_init_egl()
978 xwl_screen->egl_context)) { in xwl_glamor_gbm_init_egl()
998 if (epoxy_has_egl_extension(xwl_screen->egl_display, in xwl_glamor_gbm_init_egl()
1000 epoxy_has_egl_extension(xwl_screen->egl_display, in xwl_glamor_gbm_init_egl()
1006 if (xwl_screen->egl_context != EGL_NO_CONTEXT) { in xwl_glamor_gbm_init_egl()
1007 eglDestroyContext(xwl_screen->egl_display, xwl_screen->egl_context); in xwl_glamor_gbm_init_egl()
1008 xwl_screen->egl_context = EGL_NO_CONTEXT; in xwl_glamor_gbm_init_egl()
1011 if (xwl_screen->egl_display != EGL_NO_DISPLAY) { in xwl_glamor_gbm_init_egl()
1012 eglTerminate(xwl_screen->egl_display); in xwl_glamor_gbm_init_egl()
1013 xwl_screen->egl_display = EGL_NO_DISPLAY; in xwl_glamor_gbm_init_egl()
1016 xwl_glamor_gbm_cleanup(xwl_screen); in xwl_glamor_gbm_init_egl()
1021 xwl_glamor_gbm_init_screen(struct xwl_screen *xwl_screen) in xwl_glamor_gbm_init_screen() argument
1023 struct xwl_gbm_private *xwl_gbm = xwl_gbm_get(xwl_screen); in xwl_glamor_gbm_init_screen()
1025 if (!dri3_screen_init(xwl_screen->screen, &xwl_dri3_info)) { in xwl_glamor_gbm_init_screen()
1046 xwl_screen->screen->CreatePixmap = xwl_glamor_gbm_create_pixmap; in xwl_glamor_gbm_init_screen()
1047 xwl_screen->screen->DestroyPixmap = xwl_glamor_gbm_destroy_pixmap; in xwl_glamor_gbm_init_screen()
1051 xwl_glamor_gbm_cleanup(xwl_screen); in xwl_glamor_gbm_init_screen()
1056 xwl_glamor_init_gbm(struct xwl_screen *xwl_screen) in xwl_glamor_init_gbm() argument
1060 xwl_screen->gbm_backend.is_available = FALSE; in xwl_glamor_init_gbm()
1074 dixSetPrivate(&xwl_screen->screen->devPrivates, &xwl_gbm_private_key, in xwl_glamor_init_gbm()
1077 xwl_screen->gbm_backend.init_wl_registry = xwl_glamor_gbm_init_wl_registry; in xwl_glamor_init_gbm()
1078 xwl_screen->gbm_backend.has_wl_interfaces = xwl_glamor_gbm_has_wl_interfaces; in xwl_glamor_init_gbm()
1079 xwl_screen->gbm_backend.init_egl = xwl_glamor_gbm_init_egl; in xwl_glamor_init_gbm()
1080 xwl_screen->gbm_backend.init_screen = xwl_glamor_gbm_init_screen; in xwl_glamor_init_gbm()
1081 xwl_screen->gbm_backend.get_wl_buffer_for_pixmap = xwl_glamor_gbm_get_wl_buffer_for_pixmap; in xwl_glamor_init_gbm()
1082 xwl_screen->gbm_backend.is_available = TRUE; in xwl_glamor_init_gbm()