-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add kawase blur #120
Add kawase blur #120
Conversation
I suspect we wouldn't need to account for CSD with this, as it would just render in the region inside of the window |
Good catch! :) |
Sorry, tried to flick the mouse to the comment text field but accidentally clicked "close with comment"... Guess that's why I've always been stuck at DMG in CS 😅 Anyways, I found this interesting page with debugging flags. Running sway with |
Great to know, good find! I can take a look on Tuesday during my flight! I'll probably have time tomorrow as well |
Made some damage tracking fixes. Not fully fixed. Looks like it's rendering more than it needs to, creating the artifacts. It includes the black blurred edges which is only supposed to be rendered inside of the effects buffers, and render a cropped version (the red area in the image below) into the main buffer. |
Here's a video summary of what the damage issues are in case anyone's curious: 2023-03-16.00-06-26.mp4 |
Question: what do you mean by blur the background of tiled windows once? Is it currently done multiple times? |
Before rendering we should gather a whole monitor blurred texture of what's behind the tiled windows once and use that for tiled windows instead of regathering the blur for each window (which is really expressive) |
Rebased from head |
Yeah, when switching focus to a different "layer" the artifacts always appear just like when I switch focus to another window when running it inside my current sway session |
Here's the commit that added blur to Hyprland: hyprwm/Hyprland@969bebb Obviously the complexity there has increased with time, but thats the initial commit they had. |
@vector1dev does it work with tiled windows/floating windows with blur_xray? |
Happy to address the review comments myself, just left them in case anyone gets to it before me as my time is limited tomorrow :) |
No, floating windows broken. Tiled broken too. |
I'm guessing that you were referring to the pixman functions right? pixman_region32_intersect_rect(&render_damage, &damage, dst_box->x, dst_box->y, dst_box->width, dst_box->height); Should do the same thing as pixman_region32_union_rect(&render_damage, &render_damage, dst_box.x, dst_box.y, dst_box.width, dst_box.height);
pixman_region32_intersect(&render_damage, &render_damage, damage);
Edit: Reading the code confirms that it's the same :) |
Thanks for letting us know! Were you using the latest version of the blur branch? |
Yes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! My fever brain couldn't really figure this one out 😅
@vector1dev can you send a log? My guess would be that
will appear. Also, what specs are you rocking? |
Also, config pls :) |
a7d6d5e Should fix any damage integer overflow issues so you @vector1dev should try the latest commit and see if it's fixed or not :) |
Fixed. Thank you! |
Everything should finally be ready for review! 🥳 |
Fixes: #5
Todo/discussion:
Option to ignore fully transparent windows?(Can be added through a separate PR instead)render_blur
render_blur
(as is the case now) doesn't cause breakage when using a scaled output