swayfx icon indicating copy to clipboard operation
swayfx copied to clipboard

Add vulkan renderer

Open WillPower3309 opened this issue 3 years ago • 3 comments

  • Description: Super stretch goal: add a vulkan renderer and allow fx_renderer to work like wlr_renderer with an opengl and vulkan implementation.

~~This is not likely to be something I'll personally pursue unless I randomly get the itch to learn vulkan, in which case I'll add a comment to this issue. PRs more than welcome, and likely will be how this gets added.~~

This issue will not be added to a milestone unless it's something I decide I want to personally take on because it would then result in the milestone potentially never being reached. If anyone is able to implement this and make a PR, it will result in a major version bump.

WillPower3309 avatar Aug 17 '22 04:08 WillPower3309

This will be more important to implement once color management / HDR support is available in wlroots, as it looks like the GLES2 renderer there will be soft deprecated: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3804

WillPower3309 avatar Nov 23 '22 07:11 WillPower3309

The only real adventages besides HDR are laptops and battery optimization. Another case are professional apps like Blender, Maya & Katana with Pixar's RenderMan, I was able to make RenderMan be 21x faster over X11 while on GLES2, it's only 8x faster, though I'm not using wlroots.

Starting point renderer with damage tracking is about 3k lines of C, while you only need animations and don't really have to worry about damage tracking since animations breaks it anyways, it could be much smaller and simpler.

heavyrain266 avatar Nov 30 '22 14:11 heavyrain266

both AMD and Intel [with Xe driver] just got HDR with plasma 6. So it's probably good moment to think about this again.

zkvsky avatar Jul 18 '24 13:07 zkvsky