Commit graph

806 commits

Author SHA1 Message Date
Simon Ser
3504fb2613 steamcompmgr: fix mouseMoved type 2021-09-13 10:01:28 +02:00
Simon Ser
af836736bf steamcompmgr: unify function call code style a bit 2021-09-13 09:25:57 +02:00
Simon Ser
d237cf387f steamcompmgr: switch to stdbool 2021-09-13 09:16:58 +02:00
Pierre-Loup A. Griffais
66064b23cf steamcompmgr: don't always warp cursor on mouse input focus change 2021-09-12 23:39:34 -07:00
Pierre-Loup A. Griffais
3db90edd75 steamcompmgr: don't allow giving an overlay layer keyboard focus
The main plane app rarely lets it go without making visible trouble.

We can reinstate this feature when we have a way to lie about it.
2021-09-12 23:30:51 -07:00
Pierre-Loup A. Griffais
ab72155ce0 steamcompmgr: some cursor hiding improvements
Absorb 5 moves for auto-hide purposes instead of 3. Our nudge is 2 moves,
and we can warp on top of that, so we weren't counting everything.

Hide before changing mouse input focus and the warp that ensues.

Re-arm warp count when changing mouse input focus, so doing it repeatedly
with the same window doesn't eventually unhide despite no input.
2021-09-12 23:21:35 -07:00
Joshua Ashton
805e3c5801 rendervulkan: Set addressModeW for samplers
Technically, YCbCr has a hard requirement of everything being CLAMP_TO_EDGE here and validation moans about it. Better just to set it.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-09-12 18:21:44 -07:00
Joshua Ashton
249708fedd rendervulkan: Enable VK_KHR_image_format_list if we use modifiers
This extension is required for whatever reason. Validation complains about it.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-09-12 18:21:44 -07:00
Joshua Ashton
5a1f28d8bc rendervulkan: Use push constants for composite data
We can just bung this in here and avoid needing to deal with a buffer.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-09-12 18:21:44 -07:00
Joshua Ashton
3e1ebd7241 rendervulkan: Replace border color with CLAMP_TO_EDGE + bounds check
We can't use normal border colors if we are doing linear filtering as we will sample slightly outside on the edges and blend to the border color.

Replace this with a way to push an arbitrary layer alpha and return that in the OOB case, and when sampling, clamp to edge.

This also may be more efficient to avoid sampling OOB a lot of the time in some cases.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-09-12 18:21:44 -07:00
Simon Ser
1e707d7947 Fix typo in usage message 2021-09-11 20:51:51 +02:00
Simon Ser
b5001aa00c Simplify build_optstring for long-only options 2021-09-11 02:59:48 +02:00
Joshua Ashton
2cea675db0 meta: Use wrap file for STB rather than submodule
Allows us to use this as a Meson subproject which means that recursive cloning doesn't matter (Meson resolves it for subprojects).

Given this subproject doesn't have a meson file, doing subproject() on it would fail, so:
Make a wrap file with an overlay that declares a proper dependency.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-09-11 02:55:21 +02:00
Pierre-Loup A. Griffais
21d631590a Fix build_optstring bug with long-only options requiring argument. 2021-09-10 17:46:00 -07:00
Simon Ser
97b73a8c9a readme: mention --help 2021-09-10 14:26:42 +02:00
Simon Ser
fb4ec7cb4e Drop short option for --cursor 2021-09-10 14:25:19 +02:00
Simon Ser
f8e251962c Add --help 2021-09-10 14:21:59 +02:00
Simon Ser
94f78d1b3c steamcompmgr: use log scope 2021-09-10 12:04:20 +02:00
Simon Ser
d926ea0b33 steamcompmgr: init g_nudgePipe to invalid FDs
Make sure we don't wrongly read from stdin or something.
2021-09-10 11:49:14 +02:00
Simon Ser
97746c609f steamcompmgr: remove unused environ 2021-09-10 11:48:10 +02:00
Simon Ser
ba9c46cea2 drm: disable all KMS resources at exit 2021-09-10 11:42:43 +02:00
Simon Ser
ff8c0b183b Introduce finish_drm
For now it just closes the DRM FD, but will do more soon.
2021-09-10 11:05:09 +02:00
Simon Ser
fc748ebd78 wlserver: remove wlserver_run return value
It always returns 0.
2021-09-10 11:01:54 +02:00
Simon Ser
cd0e12d050 Wait for steamcompmgr when exiting
This allows steamcompmgr to perform cleanup actions without being
hard-terminated.
2021-09-10 11:00:18 +02:00
Simon Ser
6557cdce18 build: specify explicit C++ edition 2021-09-10 10:50:41 +02:00
Simon Ser
1e163fa358 steamcompmgr: check for XNextEvent errors 2021-09-09 19:56:50 +02:00
Simon Ser
597fc8fa48 Move signal handler to main 2021-09-09 19:49:31 +02:00
Simon Ser
1989c291ee Avoid double-closing GEM handles 2021-09-04 17:30:13 +02:00
Simon Ser
4330ec5433 drm: clean up buffer handles
Closes: https://github.com/Plagman/gamescope/issues/60
2021-09-04 16:43:22 +02:00
Pierre-Loup A. Griffais
5d3a0eb078 Repaint on possible connector hotplug 2021-09-02 17:18:13 -07:00
Pierre-Loup A. Griffais
8782dc2cd1 drm: Always explicitly set rotation property
This allows to transition in and out of rotation based on connector hotplug.
2021-09-02 14:43:16 -07:00
Simon Ser
5e66e9cee0 Option -O takes one arg 2021-09-02 23:29:01 +02:00
Simon Ser
268b625655 Remove short notation for some debug options
These should be only used during development, so don't deserve a
short option.
2021-09-02 22:10:55 +02:00
Simon Ser
ae785b25bf Remove -s and -N options
These were unused.
2021-09-02 21:51:32 +02:00
Simon Ser
3df6fa58bd Rename -S to --synchronous-x11 2021-09-02 21:48:43 +02:00
Simon Ser
6626706022 readme: add command to pull git submodules 2021-09-02 21:46:47 +02:00
Joshua Ashton
ffa970ef7e Add --cursor argument 2021-09-01 18:33:57 +02:00
Joshua Ashton
86b593b754 Add STB submodule 2021-09-01 18:33:57 +02:00
Joshua Ashton
0b5764195e Add setCursorImage to MouseCursor 2021-09-01 18:33:57 +02:00
Simon Ser
22323418ac wlserver: set wlroots log handler 2021-09-01 18:31:45 +02:00
Simon Ser
c034ac1f99 wlserver: use log scope 2021-09-01 18:25:24 +02:00
Simon Ser
0536dc0bb0 Repaint when taking screenshot
Closes: https://github.com/Plagman/gamescope/issues/247
2021-09-01 17:26:38 +02:00
Joshua Ashton
7812e0a726 Check correct channel for no cursor check
This was checking if the cursor has no blue before, when it should be checking the alpha.
2021-09-01 17:09:09 +02:00
Joshua Ashton
76292f01cb Fix RGB/BGR of the cursor's Vulkan image
This was ABGR before, when it should be ARGB.
2021-09-01 17:09:09 +02:00
Simon Ser
39c44a9e3c Sort options by embedded/nested mode 2021-09-01 16:08:20 +02:00
Simon Ser
5904078b2c Build optstring on the fly
Instead of having to maintain two lists of options, just generate
one from the other.
2021-09-01 15:14:08 +02:00
Simon Ser
13f792ab15 Add long options
This will allow us to introduce new long options which don't have
any short option equivalent.
2021-09-01 14:51:23 +02:00
Simon Ser
f36d436a71 Enable getopt error messages
These print something like "invalid option 'foo'". Previously
disabled because of the split main/steamcompmgr option handling.
2021-09-01 14:35:47 +02:00
Simon Ser
38b65a8b22 Error out on unknown option 2021-09-01 14:05:18 +02:00
Simon Ser
f18723d489 drm: compute per-connector CRTC mask 2021-09-01 13:23:12 +02:00