<ifreund>
I kinda expect it to just disappear once I implement damage tracking
<skuzzymiglet>
what's the progress on that?
<ifreund>
I'll probably get to it shortly after river-layout is finally mereged
<ifreund>
which is currently blocked on me deciding how best to handle configuration of "default" output options
<skuzzymiglet>
I've developed a muscle memory of ctrl-alt-2 ctrl-alt-1-ing to fix it now :)
<ifreund>
heh, I admire your persistence :D
<ifreund>
there's also the fact that I personally have never hit this so I'm not particularly motivated to work on it yet...
<skuzzymiglet>
I could take a shot if you want
<skuzzymiglet>
don't know the codebase and I've only dabbled with Zig though
<ifreund>
I mean if you want to go for it I wont stop you. Damage tracking isn't exactly trivial though, it it were I'd have already done it
<leon-p>
very simplistic start-stop damage tracking actually is trivial, but I am not sure it is enough of a performance improvement to be worth it
<leon-p>
(source: some experiments with zig-wlroots)
<ifreund>
might still fix #153 by using the more tested wlroots code paths for damage tracking
<leon-p>
IIRC here is what to do if anyone does wants. It's not much more than creating wlr_output_damage for every wlr_output and using its frame events instead of the outputs one. Then in the frame handler do wlr_output_damage.attachRender, which will tell you if you need to render a frame. If not, wlr_output.rollback(), if yes, render like we do now. Now you need to add wlr_output_damage.addWhole() everywhere
<leon-p>
where the sreen gets dirty.
<leon-p>
s/does wants/wants to/g
<leon-p>
s/sreen/screen/g
<leon-p>
AFAIK wlroots takes care of dirty-fying the screen for output mode changes, but I am not sure
<ifreund>
the "add wlr_output_damage.addWhole() everywhere" part is the hard part
mseeber has joined #river
mseeber has quit [Remote host closed the connection]