render: introduce wlr_render_rect_pass

Split rectangle rendering out of wlr_render_pass and add a dedicated
wlr_render_rect_pass interface.

Remove the add_rect hook from wlr_render_pass_impl and implement
rectangle rendering separately in the pixman, GLES2 and Vulkan
renderers.
This commit is contained in:
YaoBing Xiao 2026-03-13 10:49:41 +08:00
parent fd870f6d27
commit 33a27b055c
13 changed files with 258 additions and 9 deletions

View file

@ -53,6 +53,7 @@ void wlr_renderer_destroy(struct wlr_renderer *r) {
assert(wl_list_empty(&r->events.destroy.listener_list));
assert(wl_list_empty(&r->events.lost.listener_list));
wlr_render_rect_pass_destroy(r->rect_pass);
if (r->impl && r->impl->destroy) {
r->impl->destroy(r);
} else {