swayfx icon indicating copy to clipboard operation
swayfx copied to clipboard

View rendering refactor

Open WillPower3309 opened this issue 1 year ago • 4 comments

We should move all of our eye candy rendering to a window specific function. This would allow us to simplify our texture rendering function to have zero eyecandy and therefore be a little faster when rendering undecorated textures like titlebar text, Fullscreen windows, icons, toolbars etc.

Additionally, we can easily reuse the window's stencil for shadows and blur, since they'd be done in the same function. This would also save us a render pass for generating the stencil in the first place

We'd only need the call this rendering function in render_saved_view and render_view_toplevels. We'd have to remove the shadow logic from render_view, and we can change all other rendering calls to use simple no effect fragment shaders like in wlroots. This will also remove the need for deco_data in a lot of places (may need to have a rework of how we pass decoration data but that could be future follow up work). Damage tracking may become more complex.

WillPower3309 avatar Mar 17 '23 17:03 WillPower3309