Commit Graph

587 Commits

Author SHA1 Message Date
vaxerski e7185b338f debug: minor improvements to manual crash 2023-04-04 22:04:32 +01:00
Vaxry 7d9977d028 debug: added manual_crash 2023-04-04 14:50:03 +01:00
vaxerski 99314fbe71 render: plug missing software cursor unlocks 2023-04-04 00:46:58 +01:00
Vaxry 0a099ca2ab
Hyprland Screencopy impl (#1800)
---------

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-04-03 17:01:05 +01:00
vaxerski de3b00b5ee renderer: go back to rendering layers without reverse 2023-03-31 17:44:36 +01:00
vaxerski 614ea53ad7 Renderer: fix dim easing 2023-03-30 21:08:20 +01:00
vaxerski 3343aac6bf feat: add forcergbx rule 2023-03-26 02:00:24 +01:00
vaxerski c418007c68 shaders: fix missing discardAlphaZero 2023-03-24 19:43:50 +00:00
Vaxry a80f8f257f
Feat: Introduce render_ahead_of_time (#1863) 2023-03-24 19:23:16 +00:00
staz 5ce91bb0fd
Added overflow check for blur radius (#1847)
* internal: added overflow check for blur radius

---------

Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-03-21 19:01:24 +00:00
Vaxry 788a8f7c13
internal: wrap wlr surfaces (#1822) 2023-03-20 15:00:58 +00:00
vaxerski 928de33447 monitors: more guards for safety 2023-03-19 02:19:52 +00:00
vaxerski e5870d47c7 LS: add blur and ignorezero rules 2023-03-17 23:16:13 +00:00
vaxerski 91a565c7b0 monitors: don't refocus on apply rule 2023-03-17 20:34:33 +00:00
vaxerski e77ebec629 monitors: guard output in damageSurface 2023-03-16 16:32:03 +00:00
vaxerski 0aeb61a95a Opengl: Fix forcefully setting missing time prop to final shader 2023-03-06 19:02:08 +00:00
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
Vaxry c444099325 Mirrors: remove accidentally leftover logs 2023-03-04 01:06:16 +00:00
Vaxry 1ead6c46f4 Mirrors: minor fixes 2023-03-04 00:48:22 +00:00
vaxerski a34b747661 update wlroots dep 2023-03-03 21:28:22 +00:00
vaxerski 9c0e2bba54 Renderer: Nuke onWindowResize{start/end} 2023-03-03 13:18:44 +00:00
vaxerski 2187c6cf43 Allow decos to request interactivity 2023-02-28 22:32:42 +00:00
vaxerski 72fc309fb1 make window reserved area less stupid 2023-02-28 21:18:13 +00:00
vaxerski 4b20d4f1ad Added decoration reserved area 2023-02-28 19:36:36 +00:00
Vaxry 8b81f41e52
Plugin System (#1590)
---------

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-02-27 12:32:38 +00:00
Vaxry e5a4c0c986
Group/Tab Rework (#1580) 2023-02-19 21:07:32 +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
Vaxry 3fbef25ffc refocus on monitor attach 2023-02-16 12:55:52 +00:00
wsippel 1992f27a26
ignore VR headsets (#1555)
* ignore VR headsets

don't interact with screens that have the non_desktop property set, fixes #1553

* remove superfluous curly braces
2023-02-15 14:50:51 +00:00
vaxerski bda8208aaa render lockscreen in fullscreenworkspace 2023-02-10 22:03:28 +00:00
vaxerski 1dde751da4 fixup LS fs-v1 calcs 2023-02-10 12:53:43 +00:00
Vaxry 8e6950e200 place sessionlock surfaces at correct coordinates 2023-02-03 14:00:23 +00:00
vaxerski a46abd8b1a update wlroots dep 2023-02-03 12:43:43 +00:00
vaxerski 129e99a6f6 Implement ext-session-lock-v1 2023-02-03 11:58:55 +00:00
ozwaldorf 32d56fec97
feat: border angle animations (#1469)
Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-02-01 21:06:01 +00:00
Vaxry 85c07c2fe0 scale the opaque region in blurring 2023-01-31 12:29:23 +00:00
Vaxry ef12120270 fixup LS scaling impl 2023-01-29 15:58:36 +00:00
vaxerski 3d83a0bc5f enable UV calcs for all surfaces 2023-01-29 13:58:47 +00:00
Vaxry 06b17db227 don't set cursor when timeout reached 2023-01-26 10:39:06 +00:00
Vaxry a2ae37396f add hyprctl setprop 2023-01-24 19:05:43 +00:00
vaxerski 2a5ae435e1 allow preblur for opaque surfaces if alpha not 1 2023-01-23 13:55:11 +00:00
Vaxry cb98242ea7 remove old comment and fixup lsl var name 2023-01-22 17:03:25 +01:00
Vaxry 147be3e10b use goal size for uv calcs 2023-01-22 16:58:10 +01:00
Vaxry 7d754b7c22 fix cutting geometry on surfaces spilling out 2023-01-22 16:24:51 +01:00
Vaxry 60b880d931
wp-fractional-scaling-v1 impl (#1373)
* Initial fractional scaling impl

* apply UV after geom calcs

* fix scaling -> scale

* meson: add fractional scale proto

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-01-20 19:44:30 +01:00
Vaxry 3436486575 sanitize scale better 2023-01-20 16:03:52 +01:00
Vaxry 428063ff23 fix up log types 2023-01-18 16:12:44 +01:00
Vaxry f14e808847 dump monitor data after setting rules 2023-01-17 11:57:36 +01:00
Vaxry 5c83976977 added misc:hide_cursor_on_touch 2023-01-17 11:47:39 +01:00
Vaxry 589046ecf7 fix dimaround with transformed displays 2023-01-16 16:12:24 +01:00
Vaxry 2b248b25c8 clamp a instead of asserting 2023-01-07 13:12:08 +01:00
Vaxry 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
Vaxry ddcae74e09 normalize gradients and denormalize in groupbar 2022-12-31 17:31:33 +01:00
Vaxry 228e630f40 fix group bar color calc 2022-12-31 17:04:41 +01:00
Vaxry 5d095bb9e1 use curves for special dim anim 2022-12-29 12:30:43 +01:00
Vaxry 759490689c fix damage issues with dimaround unmap 2022-12-29 12:19:11 +01:00
Vaxry a55db95a3b ignore dim when pass popup 2022-12-28 19:56:18 +01:00
Vaxry a6699ef30c added dimaround 2022-12-28 15:39:17 +01:00
Vaxry b5f5c26be3 added dim_special 2022-12-28 15:18:23 +01:00
Vaxry 659a5195d4 render overlay layers in reverse
prevents stuff leaking when locked
2022-12-27 15:25:51 +01:00
vaxerski 6749c8abd7 fix dynamic monitor disables corrupting pmosthz 2022-12-22 12:15:07 +00:00
vaxerski fc37ce4a72 render pinned windows above floating separately 2022-12-20 23:07:25 +00: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 3bd9ee0d32 minor xcursor and scale fixes 2022-12-15 17:17:15 +00:00
vaxerski 374571da96 add auto scale 2022-12-14 17:57:45 +00:00
vaxerski 80f58bc93f fix blur damage issues with scaled 2022-12-12 14:29:04 +00:00
vaxerski e8b99ae13a add override to opacity rules 2022-12-11 17:15:02 +00:00
vaxerski bb99f151da fix pinned offset calc 2022-12-11 16:58:29 +00:00
vaxerski f97289a3c0 fix rendering multi special ws 2022-12-11 16:53:59 +00:00
vaxerski da76a1ed9e block surface feedback on window sharing 2022-12-05 19:12:15 +00:00
vaxerski 9c67e08dbd ignore alpha when sharing window 2022-12-05 18:00:57 +00:00
Vaxry 66fb083003
Implement window sharing with the hl toplevel export proto (#1179)
* implement window sharing

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2022-12-05 17:05:15 +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 056a45d035 fix shader destroy id unset 2022-12-03 14:45:10 +00:00
vaxerski 10d34ef818 added blur_xray 2022-12-02 18:37:11 +00:00
Vaxry 39a4f82460 fix crash with invalid frag dynamic shaders 2022-12-01 13:40:05 +00:00
Vaxry 7b020ffa84 Added screen shaders 2022-12-01 13:36:07 +00:00
vaxerski ff4ea1a13a fix border inner offset in shader 2022-11-29 21:11:37 +00:00
vaxerski 51aebb2845 fix minor issues with blur w/o new optim 2022-11-29 11:21:03 +00:00
vaxerski 212f599412 fix AA on borders 2022-11-29 11:12:29 +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 7699d657d9 optimize border shader
Do not calculate gradient for discarded fragments
2022-11-27 00:30:44 +00:00
vaxerski 6cbaad896c use highp for pixcoord to fix nvidia border issues 2022-11-26 23:55:41 +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 c709dc5e8e fix fadeout with animated border 2022-11-26 18:41:30 +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 1c9a0be8c4 fix up the border shader 2022-11-26 13:51:30 +00:00
vaxerski 381d7a4300 check for special workspace open in attemptDirectScanout 2022-11-25 18:25:04 +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
Julian Schuler 41a8975bd1
Render focused window at last (#1060) 2022-11-20 18:50:01 +00:00
Vaxry e887149f25 minor fixes for mirrors & log more monitor events 2022-11-19 13:01:32 +00:00
vaxerski ba05c43ae3 minor monitor code fixups 2022-11-18 14:15:19 +00:00
vaxerski c02bfc3897 fix extents in shadow deco 2022-11-16 15:35:36 +00:00
vaxerski 878a20741b fix slide calcs for windows outside the viewport 2022-11-16 15:35:36 +00:00
vaxerski f41fe59cb6 fix shadow extent & offset calculations 2022-11-09 22:39:19 +00:00
Vaxry d0b3cdc835 Fix crashes with DS and mirrors 2022-11-09 10:56:49 +00:00
vaxerski 1d2e4243dc clamp shadow scale to 1 2022-11-07 22:51:26 +00:00
vaxerski 2a20cf5379 Added decoration:shadow_scale 2022-11-07 21:27:28 +00:00
vaxerski e3a3837164 fix up formatting 2022-11-07 20:31:56 +00:00
vaxerski efbc3f8194 resize transition fixes + default transitions to false 2022-11-06 18:10:53 +00:00
vaxerski f755351511 Fix resize transitions on multimon + transformed 2022-11-06 18:04:30 +00:00
vaxerski 57817f7252 Added resize transitions 2022-11-06 17:52:09 +00:00
vaxerski 5295244026 Revert adding toggle for drm scanout flags
This reverts commit 12697d2b72.

Stupid idea.
2022-11-06 14:25:53 +00:00
vaxerski 082f439db2 fix issues with direct scanout's lack of surface frame feedback 2022-11-06 14:20:03 +00:00
vaxerski 12697d2b72 added toggle for drm scanout flags 2022-11-06 14:11:37 +00:00
vaxerski 5a750b485a Added creating / destroying outputs on a multi-backend + headless backend
See `hyprctl output`.
2022-11-05 18:04:44 +00:00
vaxerski 6a59b57ef8 remove spammy logs for DS 2022-11-05 13:06:48 +00:00
vaxerski f50c786640 Added direct scanout 2022-11-05 12:50:47 +00:00
Vaxry c47581fc5a handle transforming displays in outputMgr 2022-11-03 09:06:44 +00:00
vaxerski 5ac2005318 remove old comments 2022-11-02 14:52:36 +00:00
Vaxry a2b8e3b34e fix the damageBox in damageMonitor 2022-11-02 11:04:17 +00:00
vaxerski 95bbac8791 remove redundant check in CShader 2022-11-01 18:46:51 +00:00
vaxerski d994ad75e8 revert output smart layout reporting 2022-10-29 17:32:03 +01:00
vaxerski 2caebb3b10 fix default 0 in box passing test 2022-10-29 14:37:33 +01:00
vaxerski 05f3eebd96 avoid layout changes when unnecessary in applyMonitorRule 2022-10-29 12:24:44 +01: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
Vaxry 7d6ccca695 add 10bit support to displays 2022-10-27 13:26:47 +01:00
vaxerski d55338a3f5 fix debug nest black screen 2022-10-24 11:58:07 +01:00
vaxerski 47eac4be1c disable adaptive sync with no_vfr off 2022-10-22 21:45:17 +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
Vaxry 98a32f5e52 render layer snapshot without blur 2022-10-19 11:00:59 +01:00
vaxerski dc1737f128 allow glob wildcard in addreserved 2022-10-17 23:23:07 +01:00
vaxerski 34cd8b125a rework focus system to be more safe and faster 2022-10-14 20:46:32 +01:00
vaxerski 170def35d7 simplify shouldRenderWindow and fix one cond 2022-10-12 18:37:11 +01:00
vaxerski 2ee9fb0675 don't recalc offset on monitor reload offset auto 2022-10-12 15:16:31 +01:00
vaxerski 1396d2a39b fix crash in renderWorkspaceWithFullscreenWindow 2022-10-11 20:29:51 +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
Vaxry 5e3b8c3233
Merge pull request #807 from Dickby/fix_monitor_transforms
Transform the box data send to texture shaders.
2022-10-07 20:12:28 +01:00
Felix Dick bbdfb7853d Transform the box data send to texture shaders. 2022-10-07 20:55:41 +02:00