Skip to content

Introduce wlr_raster

Alexander Orzechowski requested to merge Nefsen402/wlroots:wlr_raster into master

Incorporates some ideas from: #3450

This PR is a big step forward in terms of multigpu as we are removing assumptions about what renderers might be used. For now, multigpu is handled completely by the backend in which case wlr_raster leaves that all alone. Future plans will lift responsibility away from backends for multigpu and allow for different renderers to run on different outputs so that we can stop doing the worst possible thing: Funneling everything through an arbitrary GPU for compositing then blitting every frame for other outputs.

This PR makes no breaking changes. Compositors that continue to pass a renderer into wlr_compositor can continue to use wlr_client_buffer until its removal. This PR introduces a new abstraction called wlr_raster that creates an interface wlr_raster_from_surface that can be called on a wlr_compositor without a renderer.

This replaces a hack for wlr_scene partial texture upload.

Edited by Alexander Orzechowski

Merge request reports