Michel Dänzer cf11021a8c xwayland: Refactor xwl_window_swap_pixmap out of _buffers_get_pixmap
There will be another caller in a later commit.

v2:
* Bump xwl_window_buffer->refcnt in xwl_window_swap_pixmap, to prevent
  xwl_window_set_pixmap from disposing of it.
v3:
* Go back to bumping xwl_window_buffer->refcnt in
  xwl_window_buffers_get_pixmap. xwl_window_set_pixmap should no longer
  dispose of it now that xwl_glamor_gbm_create_pixmap_for_window is
  fixed, and xwl_window_swap_pixmap forgot to bump it if
  xwl_window_buffer_get_available returned NULL.
v4:
* Unlink xwl_window_buffer from xwl_window->window_buffers_available
  before calling xwl_window_set_pixmap in xwl_window_swap_pixmap, or
  that might dispose of it.
v5:
* xwl_window_swap_pixmap does everything xwl_window_buffer_get_available
  did before, except for just using the window pixmap if
  !xwl_glamor_needs_n_buffering.

Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1314>
(cherry picked from commit 44527c2549)
2026-01-19 12:32:20 -08:00
2026-01-19 12:32:20 -08:00
2026-01-19 12:32:17 -08:00
2021-10-27 13:15:40 +03:00
2026-01-19 12:32:19 -08:00
2026-01-19 12:32:20 -08:00
2026-01-19 12:32:20 -08:00
2016-05-29 19:20:51 -07:00
2026-01-19 12:32:20 -08:00
2026-01-19 12:32:20 -08:00
2021-10-27 13:15:40 +03:00
2026-01-19 12:32:20 -08:00
2026-01-19 12:32:20 -08:00
2021-11-04 13:03:25 +00:00
2024-01-12 00:50:24 +00:00
2020-07-05 13:07:33 -07:00

X Server

The X server accepts requests from client applications to create windows, which are (normally rectangular) "virtual screens" that the client program can draw into.

Windows are then composed on the actual screen by the X server (or by a separate composite manager) as directed by the window manager, which usually communicates with the user via graphical controls such as buttons and draggable titlebars and borders.

For a comprehensive overview of X Server and X Window System, consult the following article: https://en.wikipedia.org/wiki/X_server

All questions regarding this software should be directed at the Xorg mailing list:

https://lists.freedesktop.org/mailman/listinfo/xorg

The primary development code repository can be found at:

https://gitlab.freedesktop.org/xorg/xserver

For patch submission instructions, see:

https://www.x.org/wiki/Development/Documentation/SubmittingPatches

As with other projects hosted on freedesktop.org, X.Org follows its Code of Conduct, based on the Contributor Covenant. Please conduct yourself in a respectful and civilized manner when using the above mailing lists, bug trackers, etc:

https://www.freedesktop.org/wiki/CodeOfConduct

Description
Truly free fork of the XOrg project.
Readme 75 MiB
Languages
C 96.4%
Roff 1.1%
Objective-C 1%
Meson 0.9%
Shell 0.2%
Other 0.2%