Lines Matching refs:display

107 wsi_wl_display_add_vk_format(struct wsi_wl_display *display,
123 display->wsi_wl->wsi->GetPhysicalDeviceFormatProperties(display->wsi_wl->physical_device,
163 wsi_wl_display_add_vk_format_modifier(struct wsi_wl_display *display,
170 format = wsi_wl_display_add_vk_format(display, formats, vk_format, flags);
176 wsi_wl_display_add_drm_format_modifier(struct wsi_wl_display *display,
185 wsi_wl_display_add_vk_format_modifier(display, formats,
190 wsi_wl_display_add_vk_format_modifier(display, formats,
195 wsi_wl_display_add_vk_format_modifier(display, formats,
200 wsi_wl_display_add_vk_format_modifier(display, formats,
210 wsi_wl_display_add_vk_format_modifier(display, formats,
215 wsi_wl_display_add_vk_format_modifier(display, formats,
220 wsi_wl_display_add_vk_format_modifier(display, formats,
225 wsi_wl_display_add_vk_format_modifier(display, formats,
230 wsi_wl_display_add_vk_format_modifier(display, formats,
236 wsi_wl_display_add_vk_format_modifier(display, formats,
242 wsi_wl_display_add_vk_format_modifier(display, formats,
247 wsi_wl_display_add_vk_format_modifier(display, formats,
252 wsi_wl_display_add_vk_format_modifier(display, formats,
257 wsi_wl_display_add_vk_format_modifier(display, formats,
262 wsi_wl_display_add_vk_format_modifier(display, formats,
267 wsi_wl_display_add_vk_format_modifier(display, formats,
272 wsi_wl_display_add_vk_format_modifier(display, formats,
277 wsi_wl_display_add_vk_format_modifier(display, formats,
282 wsi_wl_display_add_vk_format_modifier(display, formats,
287 wsi_wl_display_add_vk_format_modifier(display, formats,
304 wsi_wl_display_add_vk_format_modifier(display, formats,
308 wsi_wl_display_add_vk_format_modifier(display, formats,
312 wsi_wl_display_add_vk_format_modifier(display, formats,
315 wsi_wl_display_add_vk_format_modifier(display, formats,
320 wsi_wl_display_add_vk_format_modifier(display, formats,
323 wsi_wl_display_add_vk_format_modifier(display, formats,
328 wsi_wl_display_add_vk_format_modifier(display, formats,
332 wsi_wl_display_add_vk_format_modifier(display, formats,
336 wsi_wl_display_add_vk_format_modifier(display, formats,
339 wsi_wl_display_add_vk_format_modifier(display, formats,
344 wsi_wl_display_add_vk_format_modifier(display, formats,
347 wsi_wl_display_add_vk_format_modifier(display, formats,
369 wsi_wl_display_add_wl_shm_format(struct wsi_wl_display *display,
375 wsi_wl_display_add_drm_format_modifier(display, formats, drm_format,
460 struct wsi_wl_display *display = data;
464 wsi_wl_display_add_drm_format_modifier(display, &display->formats,
476 struct wsi_wl_display *display = data;
478 wsi_wl_display_add_wl_shm_format(display, &display->formats, format);
489 struct wsi_wl_display *display = data;
491 if (display->sw) {
493 display->wl_shm = wl_registry_bind(registry, name, &wl_shm_interface, 1);
494 wl_shm_add_listener(display->wl_shm, &shm_listener, display);
500 display->wl_dmabuf =
502 zwp_linux_dmabuf_v1_add_listener(display->wl_dmabuf,
503 &dmabuf_listener, display);
518 wsi_wl_display_finish(struct wsi_wl_display *display)
520 assert(display->refcount == 0);
523 u_vector_foreach(f, &display->formats)
525 u_vector_finish(&display->formats);
526 if (display->wl_shm)
527 wl_shm_destroy(display->wl_shm);
528 if (display->wl_dmabuf)
529 zwp_linux_dmabuf_v1_destroy(display->wl_dmabuf);
530 if (display->wl_display_wrapper)
531 wl_proxy_wrapper_destroy(display->wl_display_wrapper);
532 if (display->queue)
533 wl_event_queue_destroy(display->queue);
538 struct wsi_wl_display *display,
543 memset(display, 0, sizeof(*display));
545 if (!u_vector_init(&display->formats, 8, sizeof(struct wsi_wl_format)))
548 display->wsi_wl = wsi_wl;
549 display->wl_display = wl_display;
550 display->sw = sw;
552 display->queue = wl_display_create_queue(wl_display);
553 if (!display->queue) {
558 display->wl_display_wrapper = wl_proxy_create_wrapper(wl_display);
559 if (!display->wl_display_wrapper) {
564 wl_proxy_set_queue((struct wl_proxy *) display->wl_display_wrapper,
565 display->queue);
568 wl_display_get_registry(display->wl_display_wrapper);
574 wl_registry_add_listener(registry, &registry_listener, display);
577 wl_display_roundtrip_queue(display->wl_display, display->queue);
578 if (!display->wl_dmabuf && !display->wl_shm) {
588 wl_display_roundtrip_queue(display->wl_display, display->queue);
594 struct wsi_wl_format *first_fmt = u_vector_head(&display->formats);
596 f = find_format(&display->formats, VK_FORMAT_B8G8R8A8_UNORM);
608 display->refcount = 0;
617 wsi_wl_display_finish(display);
626 struct wsi_wl_display *display =
627 vk_alloc(wsi->alloc, sizeof(*display), 8,
629 if (!display)
632 VkResult result = wsi_wl_display_init(wsi, display, wl_display, true,
635 vk_free(wsi->alloc, display);
639 display->refcount++;
640 *display_out = display;
646 wsi_wl_display_ref(struct wsi_wl_display *display)
648 display->refcount++;
649 return display;
653 wsi_wl_display_unref(struct wsi_wl_display *display)
655 if (display->refcount-- > 1)
658 struct wsi_wayland *wsi = display->wsi_wl;
659 wsi_wl_display_finish(display);
660 vk_free(wsi->alloc, display);
673 struct wsi_wl_display display;
674 VkResult ret = wsi_wl_display_init(wsi, &display, wl_display, false,
677 wsi_wl_display_finish(&display);
778 struct wsi_wl_display display;
779 if (wsi_wl_display_init(wsi, &display, surface->display, true,
787 u_vector_foreach(disp_fmt, &display.formats) {
801 wsi_wl_display_finish(&display);
817 struct wsi_wl_display display;
818 if (wsi_wl_display_init(wsi, &display, surface->display, true,
826 u_vector_foreach(disp_fmt, &display.formats) {
840 wsi_wl_display_finish(&display);
900 surface->display = pCreateInfo->display;
926 struct wsi_wl_display *display;
965 int wl_fd = wl_display_get_fd(chain->display->wl_display);
974 int ret = wl_display_dispatch_queue_pending(chain->display->wl_display,
975 chain->display->queue);
996 ret = wl_display_prepare_read_queue(chain->display->wl_display,
997 chain->display->queue);
1015 wl_display_cancel_read(chain->display->wl_display);
1026 ret = wl_display_read_events(chain->display->wl_display);
1061 int ret = wl_display_dispatch_queue(chain->display->wl_display,
1062 chain->display->queue);
1092 wl_display_flush(chain->display->wl_display);
1140 struct wsi_wl_display *display = chain->display;
1158 struct wl_shm_pool *pool = wl_shm_create_pool(display->wl_shm,
1161 wl_proxy_set_queue((struct wl_proxy *)pool, display->queue);
1171 assert(display->wl_dmabuf);
1174 zwp_linux_dmabuf_v1_create_params(display->wl_dmabuf);
1240 if (chain->display)
1241 wsi_wl_display_unref(chain->display);
1312 /* If we have an oldSwapchain parameter, copy the display struct over
1316 chain->display = wsi_wl_display_ref(old_chain->display);
1318 chain->display = NULL;
1319 result = wsi_wl_display_create(wsi, surface->display,
1320 wsi_device->sw, &chain->display);
1331 chain->display->queue);
1339 if (chain->display->wl_dmabuf && chain->base.wsi->supports_modifiers) {
1340 struct wsi_wl_format *f = find_format(&chain->display->formats, chain->vk_format);