wlroots/include
David Turner 792bee9657 scene: Optimize rendering of single-pixel buffers
The single-pixel buffer protocol is used to allow wayland clients to
easily draw solid-color rectangles by presenting a 1x1-pixel buffer and
scaling it to the desired size.  This patch improves how these buffers
are then handled in the scene-tree renderer.

We already ignore opaque black rectangles at the very bottom (and
anything under them) because we assume we'll be rendering on a black
background.  This patch detects black opaque single-pixel buffers and
handles them in the same way as black opaque rectangles.  It also
renders single-pixel buffers as rectangles rather than buffers because
this is probably more efficient in the underlying renderer.

In wlr_scene_surface we cache whether the attached buffer is a
single-pixel buffer.  This is done because the
wlr_single_pixel_buffer_v1 will be destroyed after texture upload, after
which it becomes much more annoying to check if the buffer is a
single-pixel buffer.
2025-04-07 13:28:51 +01:00
..
backend backend/wayland: use a separate event queue for busy loops 2025-03-01 16:03:52 +00:00
interfaces types/wlr_input_device: move init and finish function to private API 2022-03-07 16:37:41 +00:00
render render/color: add wlr_color_transfer_function_get_default_luminance() 2025-03-30 16:21:26 +02:00
types Drop region.h 2025-04-01 15:42:39 +03:00
util util/matrix: add matrix_invert() 2025-03-30 16:21:26 +02:00
wlr scene: Optimize rendering of single-pixel buffers 2025-04-07 13:28:51 +01:00
xcursor Add some missing includes/declarations 2023-06-05 21:06:19 +00:00
xwayland xwm: Handle NET_WM_WINDOW_OPACITY 2025-03-06 14:18:20 +00:00
meson.build render/color: add fallback stub when LCMS2 is disabled 2024-06-04 17:45:51 +00:00