wlroots/include/wlr
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 session: drop unused wlr_session.vtnr 2025-01-11 22:42:18 +03:00
interfaces ext-image-capture-source-v1: add start/stop hooks 2025-01-14 16:42:12 +01:00
render render/color: add wlr_color_transfer_function_get_default_luminance() 2025-03-30 16:21:26 +02:00
types scene: Optimize rendering of single-pixel buffers 2025-04-07 13:28:51 +01:00
util Use WLR_PRIVATE for private fields 2024-10-25 07:51:51 +03:00
xwayland xwm: Handle NET_WM_WINDOW_OPACITY 2025-03-06 14:18:20 +00:00
backend.h backend: drop wl_display refs from docs 2025-01-11 21:36:29 +00:00
config.h.in Document config.h 2025-03-10 15:02:26 +00:00
meson.build Version pkgconfig, headers, and library for parallel installation 2024-05-27 22:15:00 +00:00
version.h.in Drop WLR_VERSION_API_* 2021-06-29 12:22:55 +02:00
xcursor.h examples, tinywl: use "default" cursor instead of "left_ptr" 2023-02-01 15:00:42 +01:00
xwayland.h xwayland: split headers 2022-11-02 19:00:23 +01:00