Skip to content
This repository has been archived by the owner on Nov 1, 2021. It is now read-only.

backend/wayland: use wlr_swapchain #2498

Merged
merged 6 commits into from
Dec 13, 2020
Merged

Conversation

emersion
Copy link
Member

@emersion emersion commented Nov 26, 2020

Depends on #2496

TODO:

  • Use wlr_swapchain for main surface
  • Use wlr_swapchain for cursor surface
  • Intersect linux-dmabuf-v1 formats with render formats

Future work:

References: #1352

- The DRM backend initially doesn't have a frame scheduled initially.
  However the compositor is expected to set a mode to start the
  rendering loop (frame_pending is set to true in drm_crtc_pageflip).
- The headless and X11 backends have a timer to schedule frames, so they
  ignore this hint completely.
- The Wayland backend renders a fake frame to start the rendering loop.
  It's the only case where a frame is pending on init, move the
  assumption there.
Instead of rendering a black frame, schedule a frame event to ask the
compositor to render a proper frame.
The cursor surface still uses a wl_egl_window.

References: swaywm#1352
Now that the Wayland backend has moved to wlr_swapchain, only
client examples use the dependency. Stop linking against wayland-egl
in the wlroots library.
@emersion emersion merged commit 16a51bb into swaywm:master Dec 13, 2020
@emersion emersion deleted the wayland-swapchain branch December 13, 2020 11:16
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

Successfully merging this pull request may close these issues.

1 participant