Commit Graph

275 Commits

Author SHA1 Message Date
vaxerski b70553cf46 opengl: fix warn 2023-07-22 19:26:56 +02:00
vaxerski d7e9eb65e2 renderer: use primitive rendering for copying buffers 2023-07-21 17:11:54 +02:00
vaxerski f864b15427 background: add option to force hypr chan 2023-07-20 21:01:07 +02:00
vaxerski ff598b0827 renderer: don't occlude when pre-blur is queued 2023-07-20 18:03:47 +02:00
vaxerski a3e1e5e8ba tracy: add more opengl zones 2023-07-20 17:51:38 +02:00
vaxerski a921c5b89e Debug: add tracy 2023-07-20 17:47:49 +02:00
vaxerski 547305c7ed opengl: adjust blend and reduce the usage of clear 2023-07-20 13:49:28 +02:00
vaxerski b65adf8d4a toplevelexport: support dmabuf + various fixes 2023-07-20 12:42:25 +02:00
vaxerski 88c2a02773 render: avoid allocating mirrorfb for no reason 2023-07-19 21:04:45 +02:00
Vaxry 89b87158db
internal: Wrap regions (#2750) 2023-07-19 20:09:49 +02:00
vaxerski 70dae78c1b background: add mascot versions 2023-07-13 14:32:30 +02:00
vaxerski 515a363ecd render: move lastFrameDamage to CMonitor 2023-07-10 13:21:00 +02:00
Ed Younis f49af187bc
Xdg config home support (#2047)
* config: Add support for XDG_CONFIG_HOME

Contributes-to: #1040
Co-authored-by: Björn Bidar <bjorn.bidar@thaodan.de>
Signed-off-by: Björn Bidar <bjorn.bidar@thaodan.de>

* config: Log used config file

* config: Add GetConfigDir and minor fixes

* config: fixed minor nitpicks

---------

Signed-off-by: Björn Bidar <bjorn.bidar@thaodan.de>
Co-authored-by: Björn Bidar <bjorn.bidar@thaodan.de>
2023-07-07 19:19:35 +02:00
Shemig 302ec1372c
Fix crash when screen size is 0x0 (#2523)
(When booting into laptop clam mode in dell XPS)
and also ignore any screen with size 0x0 in the first place

Co-authored-by: giladsx <gilad@spectalix.com>
2023-06-15 22:07:58 +02:00
vaxerski 0f1911a8d4 opengl: fix invalid tex references to tex-less shader 2023-06-14 13:47:57 +02:00
JManch 9a88c19f1a
screenshader: fix uniform variable checks (#2513) 2023-06-14 13:03:20 +02:00
end-4 e1edfde539
Allow setting alpha value for ignorezero layer rule (#2477)
* rename ignorezero to ignorealpha

* allow setting ignorealpha value

This commit allows setting a float value (0-1) for the ignorealpha layer rule.
Does not yet have error handling; invalid ignorealpha layer rule will crash Hyprland.

* add brackets i forgot to add

* prevent crash with invalid ignorealpha value

prevents hyprland from immediately crashing with invalid ignorealpha layer rule
does not log

* don't try to set ignoreAlphaValue if alpha value not specified

* add catch to try, reintroduce ignorezero

- added catch after try cuz i was an idiot
- re-add ignorezero as an alternative to ignorealpha to not introduce a breaking change

* add logging for failed ignorealpha layer rule

* fix get ignorealpha's get VALUE

* check npos and use empty()

* rename VALUE cuz no longer const

* format Shader.hpp
2023-06-11 19:30:31 +02:00
Nicola Guerrera 10fd75c833
zoom: multiply by scale only on mouseZoomUseMouse (#2495) 2023-06-10 23:00:41 +02:00
Vaxry 7932e42507 screenshader: add output uniform 2023-06-10 16:10:26 +02:00
Nicola Guerrera 003993337a
calculate zoom_center based on monitor scale (#2482) 2023-06-10 12:28:00 +02:00
vaxerski 72b118cd8f opengl: don't use new optim with xray off on special tiled 2023-05-02 21:23:53 +01:00
vaxerski 79791c9ed4 internal: fix -Wsign-compare and -Wunused-variable warnings 2023-05-02 14:53:31 +01:00
levnikmyskin c949173bc9
Added some workspace-specific rules (#1986)
* added some workspace-specific rules

* added some worskpace-specific rules, with windowrule like syntax

* monitor is not mandatory anymore

* pointers to config are now static

* fixed optional WorkspaceRule fields

* Windows can now specify border size

* removed CHyprOpenGLImpl::renderBorder borderSize default value

* stuff

---------

Co-authored-by: Alessio Molinari <alessiomolinari@gmail.com>
Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-05-01 22:28:27 +01:00
vaxerski 11b7ce14f8 renderer: fix misused size -> transformed size 2023-05-01 02:53:43 +01:00
vaxerski ddfeebad3d Renderer: add init animation 2023-05-01 02:49:41 +01:00
vaxerski 49fb4cd94d renderer: improvements to layer render detection 2023-04-22 12:54:57 +01:00
vaxerski b05ff89c76 Render: add cursor_zoom 2023-04-16 14:48:38 +01:00
vaxerski 28dfe21584 blur: fixup optimization bool 2023-04-16 14:18:02 +01:00
vaxerski 3ae33b951f renderer: add support for rendering workspaces 2023-04-12 12:41:23 +01:00
vaxerski a80ba54bbc renderer: don't use simple rect on alphazero stencil 2023-04-04 22:58:58 +01:00
Vaxry 7d9977d028 debug: added manual_crash 2023-04-04 14:50:03 +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
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 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
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
Vaxry 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
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 759490689c fix damage issues with dimaround unmap 2022-12-29 12:19:11 +01:00
Vaxry 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
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 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
Vaxry 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
Vaxry 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
Vaxry 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