| Summary: | Wobbly Windows does not respect Blur effect | ||
|---|---|---|---|
| Product: | [Plasma] kwin | Reporter: | Brennan Kinney <polarathene-signup> |
| Component: | effects-various | Assignee: | KWin default assignee <kwin-bugs-null> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | wishlist | CC: | kde, nate |
| Priority: | NOR | ||
| Version First Reported In: | 5.17.5 | ||
| Target Milestone: | --- | ||
| Platform: | Manjaro | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
Brennan Kinney
2020-01-19 13:15:25 UTC
While filing this issue on behalf of another user that raised attention to it, a related one[1] did reveal itself(it'd be nice if the UI for the search could also toggle/query closed issues as I didn't notice those were excluded). I also came across this issue[2] via google results. It showcases videos of several effects that use transforms with before/after of enabling blur. Scaling and translation transforms were shown as fine, but ones like Wobbly Windows were revealed as to why they're not compatible. While I was going through that and related info to understand the issue, another user shared the same Wobbly Window effect video directly on reddit[3]. While the reasoning for the closing [1] is clearly explained in [2], I would like to seek feedback from a developer with knowledge of the issue. Is the Wobbly Window effect not able to scale the blur texture to fit the bounds of the Wobbly Window effect and then use the distorted window as an alpha mask with glStencil or glScissor? I tried to go over the kwin effect code, but I'm not familiar with the codebase enough(or C++ and OpenGL) to grok the flow/path of code for the effects. [1] https://bugs.kde.org/show_bug.cgi?id=397329 [2] https://bugs.kde.org/show_bug.cgi?id=391819 [3] https://www.reddit.com/r/kde/comments/equisf/why_blur_is_off_when_using_wobbly_windows/ *** This bug has been marked as a duplicate of bug 397329 *** In order for this to happen we would need: Effects to have a virtual method to manipulate the vertex buffers for blur regions. Blur to then push it's vertex buffer through the effects chain, wobbly windows would then take that manipulate the vertex buffer. Then blur would render that..and only then do we continue the paintWindow chain to paint the window contents also manipulated by the wobbly window effect. |