Commit graph

336 commits

Author SHA1 Message Date
scorpion-26
de5f1b2a83
Optionally expose time to screen shaders (#1700)
* Optionally expose time to screen shaders

Since that collides with damage tracking, it will only be done, when
damage tracking is disabled, meaning this comes at no cost for everyone
not using time.

* Rename m_Timer to m_tGlobalTimer
2023-03-05 14:05:30 +00:00
vaxerski
b69f40815f opengl: use a passthru shader for final wlr copy 2023-03-04 14:59:27 +00:00
vaxerski
9c0e2bba54 Renderer: Nuke onWindowResize{start/end} 2023-03-03 13:18:44 +00:00
Vaxry
1b56cc4e99
Added an Event Hook System (#1578)
* added an eventHookSystem

* Add all socket2 events to hooks
2023-02-19 20:54:53 +00:00
85c07c2fe0 scale the opaque region in blurring 2023-01-31 12:29:23 +00:00
vaxerski
2a5ae435e1 allow preblur for opaque surfaces if alpha not 1 2023-01-23 13:55:11 +00:00
2b248b25c8 clamp a instead of asserting 2023-01-07 13:12:08 +01:00
96198dae55 Normalize color storage
Colors are now normalized to 0 - 1 values instead of 0 - 255

causes calculations to be simpler and generally cleans up the codebase.
2023-01-05 19:25:45 +01:00
759490689c fix damage issues with dimaround unmap 2022-12-29 12:19:11 +01:00
a6699ef30c added dimaround 2022-12-28 15:39:17 +01:00
vaxerski
4fd90144d1 touch up the clang format and format all files 2022-12-20 02:18:47 +00:00
vaxerski
a163ca9237 fix blur damage spam on no blurred windows 2022-12-18 12:41:19 +00:00
vaxerski
974739457f remove damage_entire_on_snapshot 2022-12-17 23:05:15 +00:00
Vaxry
98a4fa2b0d
Added clang format (#1239)
* clang-format stuff and format files
2022-12-16 17:17:31 +00:00
vaxerski
80f58bc93f fix blur damage issues with scaled 2022-12-12 14:29:04 +00:00
Flafy
ffc580dda9
blur xray for layers (#1158)
* feat: apply blur_xray to non window surfaces

* don't blur optimize bottom and background layers
2022-12-04 20:57:41 +00:00
vaxerski
10d34ef818 added blur_xray 2022-12-02 18:37:11 +00:00
39a4f82460 fix crash with invalid frag dynamic shaders 2022-12-01 13:40:05 +00:00
7b020ffa84 Added screen shaders 2022-12-01 13:36:07 +00:00
vaxerski
51aebb2845 fix minor issues with blur w/o new optim 2022-11-29 11:21:03 +00:00
vaxerski
55776df685 fix double free 2022-11-29 11:10:19 +00:00
vaxerski
3dd06b674a clean up blur code and fix minor issues 2022-11-28 19:19:07 +00:00
vaxerski
c341792092 fix minor issues with blur_new_optimize 2022-11-28 19:04:30 +00:00
vaxerski
0a302901d2 Added handling more special workspaces 2022-11-27 22:42:22 +00:00
vaxerski
0db75852f3 fix transformed border thickness 2022-11-26 20:36:05 +00:00
vaxerski
afe688e6ab allow 360 degrees of freedom in gradients 2022-11-26 19:37:20 +00:00
vaxerski
684c59e5bc optimize data feeding to gradient renderer 2022-11-26 18:09:57 +00:00
vaxerski
0948b078e1 added border gradients 2022-11-26 17:57:02 +00:00
vaxerski
5327565b33 remove resize transitions 2022-11-22 17:20:58 +00:00
vaxerski
c78db1212b Unify rounding shaders 2022-11-21 18:09:47 +00:00
vaxerski
e3a3837164 fix up formatting 2022-11-07 20:31:56 +00:00
vaxerski
57817f7252 Added resize transitions 2022-11-06 17:52:09 +00:00
vaxerski
5ac2005318 remove old comments 2022-11-02 14:52:36 +00:00
vaxerski
ea7f617df6 remove redundant check 2022-10-28 22:33:47 +01:00
vaxerski
d193d70ecf guard primaryFB tex in end() 2022-10-28 21:46:19 +01:00
vaxerski
2995867760 Transpose matrices on LEGACY_RENDERER 2022-10-22 21:10:49 +01:00
Kainoa Kanter
ca2d2db0ef
Add windowrules for noblur and noshadow (#884) 2022-10-20 20:36:27 +01:00
98a32f5e52 render layer snapshot without blur 2022-10-19 11:00:59 +01:00
vaxerski
34cd8b125a rework focus system to be more safe and faster 2022-10-14 20:46:32 +01:00
Felix Dick
7e781f24c5 Merge branch 'main' into simplify_matrix_calculations 2022-10-10 02:45:40 +02:00
Felix Dick
3bf7c5aea1 Change matrixProjection function stop use matrixFlip180 everywhere. 2022-10-10 01:35:42 +02:00
Felix Dick
092dbda88a Let openGL transpose the matrixes for us. 2022-10-10 01:32:04 +02:00
vaxerski
496e37d044 ensure texture safety in clearWithTex() 2022-10-09 17:02:39 +01:00
Felix Dick
9ee78b1a92 inverse_transform the box in renderRectWithDamage. 2022-10-09 01:58:00 +02:00
Felix Dick
2f3528c076 Check earlier if pixman regions are empty. 2022-10-08 11:20:04 +02:00
Vaxry
4b779ac142
Merge pull request #811 from Dickby/add_missing_pixman_region32_fini
Add missing pixman_region32_fini.
2022-10-07 22:20:35 +01:00
vaxerski
abc2d442dd fix a VRAM leak in destroyMonitorResources 2022-10-07 22:19:23 +01:00
Felix Dick
b64f1fc5c4 Add missing pixman_region32_fini. 2022-10-07 23:11:20 +02:00
vaxerski
33d264eaa7 release all fbs in destroyMonitorResources 2022-10-07 21:13:28 +01:00
Felix Dick
bbdfb7853d Transform the box data send to texture shaders. 2022-10-07 20:55:41 +02:00
7faa3c367d Added clipping support, clip windows on slide anim 2022-10-07 10:43:51 +01:00
Felix Dick
e8be1507ef Remove texcoord from QUADFRAGSRC.
texcoord is unused in the rounding part of the textureshaders.
QUADFRAGSRC isn't using that variable inside the non rounding code.
Because of that opengl optimizes that variable out, and is complaining
if glGetAttribLocation is called on it.
2022-10-05 00:04:32 +02:00
Vaxry
7bdfdaa28a
Merge pull request #742 from Dickby/rework_rounding_shader
Rework rounding shader
2022-10-04 14:17:16 +01:00
bbeed21e62 fix crash 2022-10-01 08:54:43 +01:00
vaxerski
7579e03b64 include shaders only in opengl.cpp 2022-09-30 18:38:10 +01:00
vaxerski
1ef23a304a remove redundant attrib setting 2022-09-30 17:04:33 +01:00
Felix Dick
d867d42366 Merge branch 'main' into fix_rounding_in_size_changing_windows 2022-09-30 01:38:50 +02:00
Felix Dick
6eb7d00386 Send absolute screen coordinates to texture shaders. 2022-09-29 23:19:56 +02:00
Felix Dick
b38e7b596f Don't pass bottomRight to textureShaders compute it within. 2022-09-29 21:10:05 +02:00
Felix Dick
ab42e4bccf Merge branch 'main' into fix_bordersize_again 2022-09-29 14:29:03 +02:00
Felix Dick
425b07d1e5 Merge branch 'main' into rework_rounding_shader 2022-09-29 14:24:59 +02:00
Felix Dick
10c4f4ba35 Shift splash up if monitor has wider ratio than bgTexture. 2022-09-29 05:29:03 +02:00
Felix Dick
5233746ac5 Change scaledBorderSize to int. 2022-09-29 01:40:19 +02:00
Felix Dick
5ff44467d7 Avoid 38 files to compile every time a shader is modified. 2022-09-28 14:48:05 +02:00
Felix Dick
cd2b2c4fba Scale the border size, revert the window scaling according to border 2022-09-26 17:38:08 +02:00
Felix Dick
c48336aac3 Scale the cairo matrix to fit the monitor dimensions. 2022-09-26 06:35:00 +02:00
Felix Dick
bf3f519eb7 Remove trailing whitespace. 2022-09-25 20:07:48 +02:00
vaxerski
e9f226797e Added monitor mirroring 2022-09-13 15:25:42 +02:00
vaxerski
5b5f36f494 fix transformed blur on new optimizations 2022-09-05 21:26:21 +02:00
vaxerski
3ea89e6171 fix splash positioning 2022-09-05 11:31:54 +02:00
vaxerski
3dd514a452 fix a damage issue with transformed blur 2022-09-04 23:08:04 +02:00
vaxerski
6afab12b91 fix blur on transformed displays 2022-09-04 19:27:38 +02:00
vaxerski
eb658dcb61 finally fixed transformed snapshots 2022-08-30 19:40:19 +02:00
vaxerski
48eb2e0d6f Added window dimming 2022-08-30 12:46:17 +02:00
vaxerski
ed2cacc5d5 fix styling in const ptrs 2022-08-27 21:37:35 +02:00
vaxerski
52318692f0 clean up temp logic in snapshots 2022-08-22 13:38:40 +02:00
vaxerski
86be6c3884 fix LS snapshot rendering logic 2022-08-22 13:36:00 +02:00
vaxerski
08e874bcf9 fix special workspace windows being xray with new optim 2022-08-20 20:16:04 +02:00
bfe0f844d2 fix wallpaper pixelation in some cases 2022-08-13 22:33:51 +02:00
db35a1c6d0 ensure egl is current in begin 2022-08-12 17:10:07 +02:00
b178891ab3 compile shaders for every context separately 2022-08-11 20:29:21 +02:00
vaxerski
74cbfdcda4 guard zero border 2022-08-05 22:21:14 +02:00
vaxerski
3947fe9e9f simplify border rendering when rounding is 0 2022-08-04 17:21:01 +02:00
vaxerski
00747fc6df fix preWindowPass with floating as first 2022-08-01 20:32:46 +02:00
vaxerski
024752bbe3 fix new blur optimizations with non-full damage 2022-08-01 20:18:26 +02:00
vaxerski
e794de1f4d guard texid in new optimized blur 2022-08-01 19:50:37 +02:00
vaxerski
cb36456f40 optimize new blur rendering 2022-08-01 15:32:20 +02:00
vaxerski
b90159c089 revert blur changes 2022-08-01 15:29:49 +02:00
vaxerski
0ba17d4da3 fix oopsie with optim 2022-08-01 15:28:14 +02:00
vaxerski
d6e227ae0d don't stencil with new optimizations in blur 2022-08-01 15:24:42 +02:00
vaxerski
6378990bc3 fixes to the new blur system 2022-08-01 12:23:09 +02:00
vaxerski
070d7699a7 added decoration:blur_new_optimizations 2022-08-01 12:16:33 +02:00
vaxerski
46e18e08d1 contain for the hyprland default bg 2022-07-31 23:44:04 +02:00
vaxerski
575c3e071a fix ls fadeout on scaled 2022-07-31 17:20:33 +02:00
vaxerski
4211b37e22 added misc:damage_entire_on_snapshot 2022-07-30 22:26:46 +02:00
vaxerski
45747fb8e6 fix snapshots on scaled 2022-07-30 22:22:51 +02:00
vaxerski
adeab98831 some window fadeout fixes 2022-07-30 22:07:40 +02:00
vaxerski
036be18bf5 fix shader fix 2022-07-30 19:00:38 +02:00
vaxerski
e56699826f Optimize shaders 2022-07-29 17:07:33 +02:00
vaxerski
31a079b347 added DPMS 2022-07-27 12:32:00 +02:00
vaxerski
9463e3eb0a fix transformed snapshots a bit 2022-07-20 16:28:05 +02:00
vaxerski
0281caa8e0 fix ASan error 2022-07-19 13:36:54 +02:00
vaxerski
48e5bd96bc Added shadow colors animations and inactive col 2022-07-16 12:44:45 +02:00
vaxerski
1441856811 fix blur on oversized, default to enabled 2022-07-15 19:21:13 +02:00
vaxerski
bf762f566f Fix VRAM memory leak when releasing snapshots 2022-07-12 23:11:34 +02:00
vaxerski
2f3b2db83d fixed tiled popups going behind windows 2022-07-12 09:49:56 +02:00
vaxerski
4b334594dc Added splashes 2022-07-10 15:41:26 +02:00
vaxerski
06c0be5ea6 clear with 17 2022-07-10 11:45:50 +02:00
Fernando Ayats
c8c5e0b90a
nix: fix wallpaper location (#334) 2022-07-08 17:46:42 +03:00
vaxerski
3278db67a2 added general:disable_hyprland_logo 2022-07-07 20:16:40 +02:00
vaxerski
c71b76a9e0 fix chromium part 1 2022-07-04 15:58:12 +02:00
vaxerski
4510764f34 finally fix scaled snapshots 2022-06-30 20:02:04 +02:00
vaxerski
a7ebf0ddc3 added CPU uniform location lookup optimization 2022-06-30 12:39:10 +02:00
vaxerski
6ce2678970 fix snapshot scaling issue 2022-06-29 22:26:34 +02:00
vaxerski
697ce96d62 temp fix for snapshot size on scaled 2022-06-29 13:08:28 +02:00
vaxerski
8820f7f210 optimization + revert one oopsie 2022-06-29 12:54:53 +02:00
vaxerski
73663a8ba5 fix incorrect snapshot calc for scaled outputs 2022-06-29 12:36:50 +02:00
vaxerski
8b4a373efa update wlroots dep 2022-06-28 11:30:07 +02:00
vaxerski
44aeb1fc90 added decoration:shadow_offset 2022-06-26 22:15:06 +02:00
vaxerski
1a0b2c4ade rewritten borders, fixed msaa 2022-06-26 19:39:56 +02:00
vaxerski
2955698f28 fix fade with deco 2022-06-25 20:31:54 +02:00
vaxerski
747ff3369d added drop shadows 2022-06-25 20:28:40 +02:00
vaxerski
45a44f9690 added noblur 2022-06-24 22:28:54 +02:00
vaxerski
3e8842e1f8 fix janky pixel maths with scaled textures 2022-06-24 15:59:59 +02:00
vaxerski
81e36298bf dont scale thick in border 2022-06-24 15:52:42 +02:00
vaxerski
770bada5d5 Fixed oversized apps' incorrect layout 2022-06-22 15:45:56 +02:00
vaxerski
4c2459861b fix borders sometimes disappearing on certain windows 2022-06-21 23:09:20 +02:00
vaxerski
1642b1ff66 optimize config calls in often called areas 2022-06-07 20:41:40 +02:00
vaxerski
cc80b68545 fixed a typo, will boost performance on opaque windows with blur 2022-06-07 20:10:14 +02:00
vaxerski
e11cb8b328 Added antialiasing to outer edges
simplified, stupidly fast MSAA for rounded edges
2022-06-02 22:58:54 +02:00
vaxerski
679e36d82e fix border size on scaled outputs 2022-05-31 20:38:45 +02:00
vaxerski
9842730f57 Added fullscreen types, maximize and full 2022-05-29 15:44:30 +02:00
vaxerski
d0ff0c0990 Added basic monitor transforms, has bugs
blur doesnt work on transformed outputs
full damage tracking issues
2022-05-29 12:27:45 +02:00
vaxerski
9ede0f1c7d Added blur_ignore_opacity 2022-05-28 18:57:32 +02:00
vaxerski
5c911df351 Fix closing anims on multimon 2022-05-28 18:33:47 +02:00
vaxerski
15553804d6 Added closing animations (reverse of open) 2022-05-28 18:28:55 +02:00
vaxerski
74990e1e58 fix for latest wlroots 2022-05-25 23:29:36 +02:00
vaxerski
464c4aa395 fixed borders on no blur 2022-05-19 20:16:08 +02:00
vaxerski
e225d949e7 And now fix the placeholder 2022-05-18 20:35:24 +02:00
vaxerski
198fc90df5 What the fuck is going on with git, fix the entire scaling merge
This reverts commit 5b15d3b4f4.
2022-05-18 20:33:54 +02:00
vaxerski
5b15d3b4f4 Revert "Merge pull request #88 from vaxerski/scaling"
This reverts commit f68ddc382a, reversing
changes made to ba573a529a.
2022-05-18 14:42:00 +02:00
vaxerski
6c437763f6
Merge branch 'main' into scaling 2022-05-18 13:10:22 +02:00
vaxerski
5fa4b9a777 fix border geometry 2022-05-17 19:31:42 +02:00
vaxerski
df2215cef7 fix fade blur 2022-05-17 13:26:14 +02:00
vaxerski
cad71218c0 borders are now gangsta 2022-05-17 13:16:37 +02:00
vaxerski
f09de365d5 Added workspace fade transition 2022-05-16 23:13:32 +02:00
vaxerski
244be92d11 fix fadeout 2022-05-16 22:25:05 +02:00
vaxerski
0503835ee6 fixed blur and shit 2022-05-16 21:30:11 +02:00
vaxerski
bf8ebfc631 added scaling (dt broken)
damage tracking on full is broken
2022-05-16 20:45:27 +02:00
vaxerski
f7214114d4 adjust blur radius 2022-05-14 20:11:34 +02:00
vaxerski
109136af97 Fadein/out now applies to layersurfaces too 2022-05-14 17:23:46 +02:00
vaxerski
ddab8e60dc optimized texture rendering 2022-05-10 09:56:58 +02:00
vaxerski
9a699ab153 fix yesterday's commit 2022-05-10 09:19:54 +02:00
vaxerski
ef21baaf88 Optimize blur massively and some fixes 2022-05-09 21:37:41 +02:00
vaxerski
ff86f723b2 Fix blur leaving strokes on full damage tracking 2022-05-06 16:06:21 +02:00
vaxerski
b67eae7228 fix kb stuff 2022-05-06 14:30:35 +02:00
vaxerski
8e1abb6540 render border with damage 2022-05-04 15:16:50 +02:00
vaxerski
6bfe9162e1 Reject blur rendering on empty damage 2022-05-02 23:03:22 +02:00
vaxerski
42c77b01ed fix kawase oopsie 2022-05-02 17:02:00 +02:00
vaxerski
43fc7662cc Major blur rework: optimization & fixes
Blur should be considerably faster now and work on full damage tracking
2022-05-02 16:54:40 +02:00
vaxerski
e5f8bca41c Switched old blur to dual kawase 2022-04-24 16:41:01 +02:00
vaxerski
0147975faf New animation system 2022-04-23 14:16:02 +02:00
vaxerski
08ee14b4a0 Added dynamic monitor rules 2022-04-19 19:01:23 +02:00
vaxerski
b0f5e4ab56 store scale and scale windows with monitor 2022-04-17 18:47:10 +02:00
vaxerski
748a787ba2 Don't blur behind opaque pixels 2022-04-17 13:15:56 +02:00
vaxerski
1789facddb fixed some nested render bugs 2022-04-14 17:45:18 +02:00
vaxerski
3e36f1c42c renderer fixes 2022-04-14 17:00:35 +02:00
vaxerski
75af34da96 added basic damage tracking 2022-04-14 16:43:29 +02:00
vaxerski
402c11d341 respect texture size and not mon size in BGTex 2022-04-13 18:49:15 +02:00
vaxerski
084e922642 Added legacy GLES2 renderer option 2022-04-13 17:34:13 +02:00
vaxerski
6911ed3176 log more in begin() 2022-04-12 21:49:35 +02:00
vaxerski
b56343133d fixed blur rendering, stencil and gles3 2022-04-11 16:39:48 +02:00
vaxerski
2cf4480969 fix fadeout blinking transparent windows 2022-04-10 18:25:45 +02:00
vaxerski
3753f83f69 Added default background as a PNG 2022-04-10 14:32:18 +02:00
vaxerski
91a6c53197 Added blur_passes config 2022-04-09 17:06:09 +02:00
vaxerski
7996abc8ed fix C++20 deprecation warning 2022-04-09 16:51:36 +02:00
vaxerski
969bebbd06 Added blurring 🎉 2022-04-09 16:51:08 +02:00
vaxerski
b7094200f6 Rendering now to a HyprFramebuffer 2022-04-09 15:01:28 +02:00
vaxerski
a49bbf4508 fadeout done 🎉 2022-04-05 20:49:15 +02:00
vaxerski
dcb6fc269a support all shaders rounded and fix RGBX borders 2022-04-05 17:01:44 +02:00
vaxerski
3385269dca Added rounded borders. 2022-04-05 16:47:03 +02:00
vaxerski
27c06758e4 basic window rounded corners 2022-04-05 15:50:47 +02:00
vaxerski
19d9465042 Rendering textures 2022-04-05 14:33:54 +02:00
vaxerski
67343898ff fixed rendering rects 2022-04-04 22:06:57 +02:00
vaxerski
334f5a59b0 added broken rect renderer 2022-04-04 21:45:35 +02:00
vaxerski
374491ee63 progress 2022-04-04 19:44:25 +02:00