vaxerski
df691859fb
renderer: make contrast and brightness adjustments before rendering
2023-08-28 18:29:44 +02:00
vaxerski
23e17700a7
renderer: add decoration:blur:special
...
will blur behind the special ws
2023-08-25 17:44:17 +02:00
vaxerski
9d094f655e
renderer: track fade alpha for blur if ignore opacity is true
...
with ignore_opacity, blur would stay at 1 opacity during a fadeOut animation on layers, making it look wrong. Fixes #3051
2023-08-23 12:03:27 +02:00
cbb899740c
rules: add layer and window xray rules
2023-08-09 22:03:31 +02:00
6c10c38481
renderer: fully switch to premultiplied alpha
2023-08-06 20:33:36 +02:00
Vaxry
d96f8ff0fe
renderer: Various Blur Improvements ( #2877 )
...
* move blur to its own category
* blur improvements, contrast, brightness, noise
2023-08-03 15:11:10 +02:00
vaxerski
f61a714320
renderer: cleanup old redundancies in CFramebuffer
2023-07-29 13:27:40 +02:00
vaxerski
a9b8e2159c
renderer: reset scissor after renderTexturePrimitive
2023-07-25 13:33:08 +02:00
vaxerski
603de16f9a
renderer: adjust distribution of backgrounds
2023-07-24 18:30:00 +02:00
vaxerski
9bad2a8180
backgrounds: add hypr chan var 2
2023-07-24 18:22:39 +02:00
vaxerski
5a64c73e05
render: use primitive end() only when no screen shader is present
2023-07-23 15:54:27 +02:00
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
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
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
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