Joshua Ashton
c7962c3e6b
steamcompmgr: Tie break by map sequence before damage sequence
2022-03-24 18:58:23 +00:00
Joshua Ashton
e4a517b4b8
steamcompmgr: Handle maybe dropdowns better + resolve override transients after finding a first transient
...
Fixes regressions in TES:IV Oblivion launcher + Zwei launchers
2022-03-24 18:53:47 +00:00
FlightlessMango
6d0c84d163
mangoapp: send focusWindow pid
2022-03-19 01:35:19 +00:00
Joshua Ashton
9eb7445a62
steamcompmgr: Move 1x1 windows down the priority queue below override redirects
...
Fixes Origin launcher being parented to a 1x1 centred window.
2022-03-18 17:36:35 +00:00
Joshua Ashton
49125a2d17
steamcompmgr: Ignore win_skip_taskbar_and_pager for maybe overrides
2022-03-18 17:29:19 +00:00
Joshua Ashton
499573c5fb
steamcompmgr: Ignore overrides that are 1x1
2022-03-18 16:34:21 +00:00
Joshua Ashton
edbf409d07
steamcompmgr: Fix transient following for maybe dropdowns
...
For Warframe language selection (but not specifically, this is just the right thing.)
2022-03-18 00:07:23 +00:00
Joshua Ashton
e30b5636b0
steamcompmgr: Fix dialog preference check
...
For Warframe language selection.
2022-03-18 00:07:20 +00:00
Joshua Ashton
8a3a0893cd
steamcompmgr: Tie-break dropdowns w/ transient-for presence
...
For Warframe language selection.
2022-03-18 00:07:16 +00:00
Joshua Ashton
ade9eca823
steamcompmgr: Fix gravity + position check for determining maybe a dropdown state
...
For Warframe language selection.
2022-03-18 00:07:12 +00:00
Joshua Ashton
be4b83cff2
steamcompmgr: Handle potential dropdowns better in focus order
...
For Warframe language selection.
2022-03-18 00:07:00 +00:00
Joshua Ashton
a913f8566f
steamcompmgr: Don't disable dynamic refresh when the QAM/Overlay comes up
2022-03-11 22:46:08 +00:00
Philip Nilsson
d3d0bc189e
sdlwindow: Fix extra mouse button mapping
...
This changes the mouse button mapping in gamescope to match the mapping in SDL2-2.0.20:src/core/linux/SDL_evdev.c.
Fixes issue #234 .
2022-03-02 20:41:33 +01:00
Simon Ser
66f603e6c4
ime: use default keymap if possible
2022-03-01 18:46:51 +00:00
Simon Ser
279321fa73
ime: fix utf8_size for the NUL character
2022-03-01 18:46:51 +00:00
Joshua Ashton
82948d87e0
steamcompmgr: Make maybe_an_override path respect focus window's appids and good candidate state
2022-02-27 09:41:10 +00:00
Joshua Ashton
bfefe62933
steamcompmgr: Fix on-screen check for override candidates
...
Fixes Apex Legends Origin signup via. Steam Overlay browser
2022-02-27 09:36:34 +00:00
Joshua Ashton
5b8f9e6a64
steamcompmgr: Handle some non-explicit dropdowns
...
Fixes Rockstar Launcher dropdowns
2022-02-25 08:40:31 +00:00
Joshua Ashton
8597753b75
steamcompmgr: Fix integer scaling when supersampling
2022-02-25 08:02:18 +00:00
Joshua Ashton
e190d55f65
steamcompmgr: Exclude skip taskbar + page & 1x1 windows & override redirects from reported focusable windows
2022-02-25 06:59:07 +00:00
Joshua Ashton
58a9aa6543
steamcompmgr: Bring back inputFocusMode 2
...
Now we have input split properly, we can have this again.
2022-02-23 23:33:30 +00:00
Simon Ser
7004d98223
drm: add support for DP-MST connectors
...
These are created/destroyed dynamically by the kernel.
2022-02-23 23:07:21 +00:00
Simon Ser
483e2729ec
drm: store connectors in map
...
We'll need to create/destroy connectors for DP-MST. A vector
invalidates pointers/references when new elements are inserted.
2022-02-23 23:07:21 +00:00
Joshua Ashton
d6b6428143
rendervulkan: Support blur for override redirect layer too
...
Essentially just shoves that into the horizontal pass and cleans it out of the normal composite when we go to do vertical and also makes the blur image the same size as the output, which should have been done anwyay to avoid harsh borders.
2022-02-23 23:00:48 +00:00
Joshua Ashton
b7dd42e0b8
steamcompmgr: Remove useless zpos hack
...
Not needed anymore, this got fixed in liftoff
2022-02-23 23:00:48 +00:00
Bas Nieuwenhuizen
46beac1556
Add support for communicating a swapchain override to apps.
...
With matching stuff in mesa to dynamically change the swapchain
to FIFO (or the approximate GL equivalent).
2022-02-23 03:02:55 +00:00
Georg Lehmann
a56b56d401
rendervulkan: Fix half pixel offset (again)
...
Some quick debugging code that I forgot to change properly.
Derp.
2022-02-18 19:53:29 +00:00
Joshua Ashton
ff5d585785
steamcompmgr: Make GAMESCOPE_DYNAMIC_REFRESH control the refresh rate directly
2022-02-18 03:20:37 +00:00
Joshua Ashton
75f3506a1a
steamcompmgr: Add FPS limiting through frame callback timing
2022-02-18 03:20:37 +00:00
Joshua Ashton
aa94b6dec1
steamcompmgr: Add GAMESCOPE_FOCUSED_APP_GFX atom
2022-02-18 02:56:58 +00:00
Georg Lehmann
4153272274
rendervulkan: Reduce blur pipeline count.
2022-02-18 02:44:11 +00:00
Georg Lehmann
7708d62801
rendervulkan: Layer 0 blur support.
2022-02-18 02:44:08 +00:00
Joshua Ashton
4ed0c26364
vblankmanager: Nuke FPS limiter code for now
...
Not baked enough right now, needs a rework for several reasons.
Keeps dynamic refresh.
2022-02-17 21:58:14 +00:00
Simon Ser
c82cefbdee
mangoapp: fix msgsnd size arg
...
The size argument must not include the `long msg_type` field.
Fixes the following ASan error:
=================================================================
==25745==ERROR: AddressSanitizer: global-buffer-overflow on address 0x55cb6beea08a at pc 0x7f118e89525d bp
0x7f117620a8a0 sp 0x7f117620a048
READ of size 50 at 0x55cb6beea08a thread T10
#0 0x7f118e89525c in __interceptor_msgsnd /usr/src/debug/gcc/libsanitizer/sanitizer_common/sanitizer_c
ommon_interceptors.inc:3138
#1 0x55cb6b6518ed in mangoapp_update(unsigned long, unsigned long, unsigned long) ../src/mangoapp.cpp:
48
#2 0x55cb6b484dde in imageWaitThreadMain() ../src/steamcompmgr.cpp:521
#3 0x55cb6b538298 in void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) /usr
/include/c++/11.2.0/bits/invoke.h:61
#4 0x55cb6b5381b3 in std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) /u
sr/include/c++/11.2.0/bits/invoke.h:96
#5 0x55cb6b538063 in void std:🧵 :_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_t
uple<0ul>) /usr/include/c++/11.2.0/bits/std_thread.h:253
#6 0x55cb6b537f23 in std:🧵 :_Invoker<std::tuple<void (*)()> >::operator()() /usr/include/c++/11.
2.0/bits/std_thread.h:260
#7 0x55cb6b537ae9 in std:🧵 :_State_impl<std:🧵 :_Invoker<std::tuple<void (*)()> > >::_M_run
() /usr/include/c++/11.2.0/bits/std_thread.h:211
#8 0x7f118e0a34d3 in execute_native_thread_routine /usr/src/debug/gcc/libstdc++-v3/src/c++11/thread.cc
:82
#9 0x7f118d3d75c1 in start_thread (/usr/lib/libc.so.6+0x8d5c1)
#10 0x7f118d45c583 in __clone (/usr/lib/libc.so.6+0x112583)
0x55cb6beea08a is located 0 bytes to the right of global variable 'mangoapp_msg_v1' defined in '../src/mangoapp.cpp:27:27' (0x55cb6beea060) of size 42
2022-02-16 12:54:49 +00:00
Simon Ser
5f8fa27029
steamcompmgr: cleanup on X11 error
...
The cleanup sequence run on X11 I/O error was incomplete. Let's
extract it to a function to make sure it doesn't go out-of-sync
again.
2022-02-15 17:55:51 -08:00
Joshua Ashton
fd3e8182fd
vblankmanager: Rework fps limiter a bunch
...
Tracks consecutive missed frames much better, handles latent buffers much better.
Disable mangoapp hack for now -- it's obscuring useful data, need a better solution.
Disable low latency by default, still controlable by atom.
2022-02-16 00:55:21 +00:00
Joshua Ashton
b471a05d8a
steamcompmgr: Don't yank input focus from subwindows when dirtying focus for no reason
2022-02-15 02:46:35 +00:00
Joshua Ashton
367a92833d
steamcompmgr: Only reset to corner if we change real input focus focus
2022-02-15 02:15:40 +00:00
Joshua Ashton
a44c0dbc43
steamcompmgr: Handle dropdown positioning if the main window is the current output width & height
2022-02-15 02:02:09 +00:00
Joshua Ashton
82c098f117
pipewire, steamcompmgr: Fix odr violations for event_type
2022-02-14 23:50:31 +00:00
Joshua Ashton
ddf468a8e6
modegen: Add tuned clocks for Steam Deck's display
2022-02-14 22:50:15 +00:00
Georg Lehmann
ada1c7f89d
rendervulkan: Do rcas opacity in the correct colorspace if we calculate it anyway.
2022-02-14 21:48:40 +00:00
Georg Lehmann
2d537df252
rendervulkan: Don't calculate a garbage alpha value.
2022-02-14 21:48:40 +00:00
Georg Lehmann
35b381ce51
rendervulkan: Don't use clock for random debug output.
...
Not supported on turnip.
2022-02-14 21:48:40 +00:00
Joshua Ashton
ecdf214130
vblankmanager: Fix offsetting by vblank time -- use 0 for min sleepy time
2022-02-14 20:08:19 +00:00
Joshua Ashton
a8d59607b3
vblankmanager: Don't resize latency graph when misaligned from vblank + latent frames
2022-02-14 19:54:21 +00:00
Joshua Ashton
f65339de0f
vblankmanager: Don't disable latency graph when latent
...
Causes a bunch of mangoapp resizing which affects frametime, just make it 0 if we don't know.
2022-02-14 19:51:29 +00:00
Joshua Ashton
6c541f184c
steamcompmgr: Fix compile on clang
2022-02-14 19:48:19 +00:00
Joshua Ashton
a59c89d2ec
steamcompmgr: Handle X11 errors for other displays
...
Closes : #382
2022-02-14 19:33:28 +00:00
Joshua Ashton
7ec498af0a
vblankmanager: Track latent frames
2022-02-14 19:15:52 +00:00