wlroots/include/render
Jose Maria Casanova Crespo f33853f861 render/gles2: add scissor-based clipping for tile-based renderers
Add an optional scissor-based clipping strategy to the GLES2 render
pass, it is enabled with WLR_GLES2_SCISSOR_CLIP=1 env var. And it is
disabled by default so it doesn't affect current users.

On tile-based renderers like V3D (Broadcom VideoCore, used in Raspberry
Pi), not using scissoring makes the GPU to render the full-surface.
If scissor is applied only the tiles affected are load/render/stored
reducing the GPU usage.

Patch backported to wlroots 0.19 with labwc on Raspberry Pi OS with
v3d running glxgear 300x300 on top left corner of screen:

- Before: labwc uses 21.5% of GPU render availability.
- After : labwc uses  3.3% of GPU render availability.

This patch over wlroots master with sway on Raspberry Pi OS with
v3d running glxgear half-screen and a terminal half screen:

- Before: sway uses 23.5% of GPU render availability.
- After : sway uses 13.6% of GPU render availability.
2026-03-12 22:00:03 +01:00
..
allocator render/allocator: add udmabuf allocator 2024-12-22 21:37:57 +00:00
color.h treewide: fix typos 2026-02-28 04:26:47 -03:00
dmabuf.h render/dmabuf: add dmabuf_export_sync_file() 2022-12-06 14:54:09 +00:00
drm_format_set.h wlr_drm_format: Rework wlr_drm_format_intersect 2023-05-11 18:24:43 +02:00
egl.h render/egl: add support for explicit sync extensions 2024-08-06 17:37:06 +00:00
gles2.h render/gles2: add scissor-based clipping for tile-based renderers 2026-03-12 22:00:03 +01:00
pixel_format.h render/pixel-format: add function to determine YCbCr from drm fourcc 2026-02-06 13:53:46 +00:00
pixman.h renderer: Drop buffer binding 2023-11-30 20:11:50 -05:00
vulkan.h render/vulkan: relax minimum Vulkan API version to 1.0 2026-03-06 15:45:05 +01:00
wlr_renderer.h renderer: Drop mention of wlr_renderer_begin_with_buffer 2024-11-11 22:48:50 +00:00