wlroots/render
Kenny Levinsen 439258a43b render/vulkan: Intersect clip region once
We are spending quite significant CPU time walking through the clip
rects, taking a pixman box, converting it to a wlr box, intersecting it
and ultimately converting it back to a pixman box before adding it to
the rect union.

Just intersect the clip region once ahead of time, and use pixman boxes
the entire way. This also makes it easy to bail early if nothing
intersects.

Gives a small 97.95% reduction in CPU time for the Vulkan renderer in
the grid/clip200/1024 benchmark.

Signed-off-by: Kenny Levinsen <kl@kl.wtf>
2026-05-01 12:50:04 +00:00
..
allocator render/allocator: add missing wlr_buffer_finish() in destroy impls 2025-12-20 15:02:08 -05:00
gles2 render: explicit sync for wlr_texture_read_pixels() 2026-03-26 12:44:09 +00:00
pixman render/pixman: fix bilinear filtering to match gles2 renderer 2026-04-02 00:59:44 +02:00
vulkan render/vulkan: Intersect clip region once 2026-05-01 12:50:04 +00:00
color.c render/color: assert that wlr_color_transform_pipeline contains no NULLs 2025-12-18 14:58:28 +00:00
color_fallback.c render/color: replace COLOR_TRANSFORM_LUT_3D with COLOR_TRANSFORM_LCMS2 2025-06-16 09:06:10 +00:00
color_lcms2.c render/color: replace COLOR_TRANSFORM_LUT_3D with COLOR_TRANSFORM_LCMS2 2025-06-16 09:06:10 +00:00
dmabuf.c Define _POSIX_C_SOURCE globally 2024-02-15 15:41:12 +01:00
dmabuf_fallback.c render/dmabuf: add dmabuf_export_sync_file() 2022-12-06 14:54:09 +00:00
dmabuf_linux.c render/dmabuf: lower log level for sync file import/export failure 2026-04-22 17:25:02 +00:00
drm_format_set.c render/drm_format_set: fix corruption in wlr_drm_format_set_remove() 2024-11-28 19:14:31 +00:00
drm_syncobj.c render/drm_syncobj: use drmSyncobjEventfd() 2026-03-27 18:09:07 +00:00
drm_syncobj_merger.c linux_drm_syncobj_v1: add _state_add_release_from_implicit_sync() 2026-04-22 17:18:48 +00:00
egl.c treewide: fix typos 2026-02-28 04:26:47 -03:00
meson.build drm/syncobj: add timeline point merger utility 2026-03-17 18:14:35 +00:00
pass.c render/pass: Ensure the precision is consistent during comparison 2025-05-29 21:50:21 +08:00
pixel_format.c render/pixel-format: add function to determine YCbCr from drm fourcc 2026-02-06 13:53:46 +00:00
swapchain.c swapchain: assert that size is not empty at creation time 2025-06-16 07:54:00 +00:00
wlr_renderer.c Fix/cleanup includes a bit 2025-04-15 20:13:29 +03:00
wlr_texture.c wlr_texture: Introduce wlr_texture_preferred_read_format 2023-11-30 19:56:54 -05:00