Joshua Ashton
ca8fd6552a
wlserver: Move commit queues to per-xwayland server, rather than global
2022-01-20 07:11:40 +00:00
Joshua Ashton
1536604533
wlserver: Handle mousemotion only for focused server
2022-01-20 07:11:40 +00:00
Joshua Ashton
9946d2380d
steamcompmgr: Focus and paint support for multiple xwaylands
2022-01-20 07:11:40 +00:00
Joshua Ashton
ef109369f1
steamcompmgr: Use win* instead of Window for focus tracking
2022-01-20 07:11:40 +00:00
Joshua Ashton
43d9cf4e6a
steamcompmgr: Initial support for multiple xwaylands
...
Doesn't handle focus or painting anything other than the root context yet.
2022-01-20 07:11:40 +00:00
Joshua Ashton
deb0364c05
wlserver: Move xdisplay init and ownership to xwayland_server
...
Allows us to bring back the sdlwindow mouse behaviour
2022-01-20 07:11:40 +00:00
Joshua Ashton
75c5617f58
steamcompmgr: Split out xwayland_ctx initialization to own function
2022-01-20 07:11:40 +00:00
Joshua Ashton
26f9942e6c
wlserver: Split out xwayland_server from global wlserver state
2022-01-20 07:11:40 +00:00
Joshua Ashton
582da1d967
steamcompmgr: Split globals into xwayland_ctx_t
...
Doesn't fully support multiple xwaylands or have all the infrastructure for that yet. This just splits the globals out for now and passes the ctx around.
2022-01-20 07:11:40 +00:00
Joshua Ashton
905889bc39
build: Disable -Winvalid-offsetof
...
Clang gets annoyed when doing offsetof for wl_container_of on a
non POD structure -- but there's no virtual inheritance of anything
fancy going on so it should shut up.
2022-01-20 07:11:40 +00:00
Joshua Ashton
7357f46ac7
steamcompmgr: Update last done commit on focus change
...
Fixes Origin windows being in funny places when fading.
2022-01-14 21:19:18 +00:00
Georg Lehmann
78482d3f08
rendervulkan: Remove dead fence code.
...
This was already commented out when it was added 2 years ago, and it doesn't
seem useful.
2022-01-11 15:35:20 +01:00
Aleksei Bavshin
40b456ac56
Fix build without subprojects
...
In absence of subprojects meson has no reason to look for a C compiler.
But the protocol files require it to compile and thus the build would
fail with
```
meson.build:114:0: ERROR: No host machine compiler for "gamescope-xwayland-protocol.c"
```
Addres that by adding 'c' language to the project.
2022-01-11 15:31:33 +01:00
Joshua Ashton
b9cfd6dd21
steamcompmgr: Handle mangoapp for video streaming
2022-01-11 00:09:33 +00:00
Joshua Ashton
3037f37ed0
mangoapp: only send updates when window exists
2022-01-11 00:09:33 +00:00
Joshua Ashton
4deff0af27
steamcompmgr: Draw external overlay with no scale
...
Good enough for mangoapp for now.
We can add more control to this via. atoms for corner positioning, scaling, later.
2022-01-11 00:09:33 +00:00
Joshua Ashton
583714cffa
steamcompmgr: Add NoScale window flag
2022-01-11 00:09:33 +00:00
Joshua Ashton
a8e3a40a03
steamcompmgr: Add a BlackBorders flag
...
Replaces the old implicit notification mode logic with something much more explicit.
We don't want to draw borders for external overlays of other sizes
2022-01-11 00:09:33 +00:00
Joshua Ashton
f65884ee4e
steamcompmgr: Refactor paint_window to use flags instead of random bools
2022-01-11 00:09:33 +00:00
Joshua Ashton
49f55ed80c
steamcompmgr: External overlay fixes
...
- Fix repainting when we get a new overlay
- Fix opacity check
- Fix atom update check for external overlays
2022-01-11 00:09:33 +00:00
FlightlessMango
0b6d3607e4
mangoapp: frametime message queue
...
Co-Authored-By: Martin Roukala <martin.roukala@mupuf.org>
2022-01-11 00:09:33 +00:00
Trigg
610483bd23
steamcompmgr: Implement external overlay support
2022-01-11 00:09:33 +00:00
Joshua Ashton
9a26fa583a
rendervulkan: Up layer count to 6 and document the layers we have
2022-01-11 00:09:33 +00:00
Joshua Ashton
89b145dbca
rendervulkan: Replace flBorderAlpha with nBorderMask of layers
...
Allows us to fit more layers in push constants. We never use anything other than 0/1 anyway.
2022-01-11 00:09:33 +00:00
Joshua Ashton
68a68e6bb2
drm: Fix inverted CRTC_Y when rotated
...
This was doing 90deg logic here, not 270deg.
2022-01-07 17:15:43 +01:00
Georg Lehmann
7c94fc3437
rendervulkan: Compact descriptor set bindings.
2022-01-05 05:02:10 +00:00
Joshua Ashton
b8f66db496
steamcompmgr: Remove valid contents check
...
We hold onto base commits now -- no need to fhis logic when we can just test the layer count.
2022-01-05 05:00:59 +00:00
Joshua Ashton
2accc343f8
steamcompmgr: Fix returning valid contents
2022-01-05 05:00:59 +00:00
Georg Lehmann
7c5cc5e67e
rendervulkan: Rework sampler cache.
...
Less awkward to use and also fixes a texture leak because the shared_ptr
to the texture is no longer stored in the sampler cache.
2022-01-05 05:00:46 +00:00
Joshua Ashton
95eba7e549
drm: Don't forget about modesetting + modesetting robustness
...
Makes it so that we don't forget about any required modesets we need to
undertake, and makes modesetting robust by trying again when compositing
(in case the error was not mode but plane related), and falling back to
the previous mode if that fails.
If we have no mode to fall back to then we abort, same if we fail our
mode fallback commit.
Co-authored-by: Simon Ser <contact@emersion.fr>
2021-12-21 22:11:33 +01:00
badsectoracula
bbfbf0dd8d
Update SDL window title from the focused window's title
...
* Update SDL window title from the focused window's title.
Instead of using the default "gamescope" title for the SDL window, this
makes the SDL window title be updated with the focused window's title
whenever a window is focused or whenever the focused window's title is
changed. "gamescope" is still used whenever a title cannot be obtained.
* Call SDL_SetWindowTitle from the sdlwindow thread.
This calls SDL_SetWindowTitle from the sdlwindow thread instead of from
wherever sdlwindow_title is called. sdlwindow_title stores the title
locally to be picked up by sdlwindow_update.
* Make SDL title update bool check atomic and use a mutex for title change.
* Ensure *all* accesses to g_SDLWindowTitle are behind the mutex lock.
* The atomic bool isn't really necessary with the mutex in place, so remove it.
2021-12-21 18:27:23 +01:00
Simon Ser
c1958be1d9
Drop leftover noop.h include
2021-12-20 14:09:39 +01:00
Simon Ser
11f89c1b15
Upgrade wlroots to 0.15.0
2021-12-20 10:22:17 +01:00
Georg Lehmann
0729954674
steamcompmgr: Fix undefined state of wayland_commit_queue after move.
2021-12-19 18:14:40 +01:00
Pierre-Loup A. Griffais
eba963b9fa
drm: abort() on fatal flip failure
...
exit() would get stuck running exit handlers for global locks.
2021-12-18 00:49:20 -08:00
Joshua Ashton
d87fe5a00d
steamcompmgr: Use std::move for tmp_queue
...
No point wasting cycles copying then freeing when we can just transfer ownership
2021-12-17 15:43:26 -08:00
Joshua Ashton
be1a784278
drm: Handle the same fb_id being held more than once
...
Ref this properly -- this can happen when a window is recreated sometimes
it seems.
2021-12-17 15:43:26 -08:00
Joshua Ashton
50ee712429
drm: Fix n_refs atomic check
2021-12-17 15:43:26 -08:00
Joshua Ashton
8ad367948f
steamcompmgr: Always exit out if we don't have valid contents
...
This is solved by holding onto the base commit now so this isn't a problem.
Avoid situations where we try to paint with 0 layers.
2021-12-17 15:43:26 -08:00
Joshua Ashton
6f284f2cce
steamcompmgr: Treat video underlay as a base plane if we have it -- otherwise treat the focus window as one when streaming
...
Fixes a case where we can get 0 layers.
2021-12-17 15:43:26 -08:00
Joshua Ashton
589fd61d58
rendervulkan: Refactor to use shared_ptr for VulkanTexture_t
2021-12-17 15:43:26 -08:00
Joshua Ashton
ee91053acc
steamcompmgr: Use video underlay as base held commit if available
2021-12-17 15:43:26 -08:00
Joshua Ashton
0e7ef385d5
steamcompmgr: Move commit refs to shared_ptr
...
This is the right thing to do given a vulkanTexture could refer to muliple commits.
2021-12-17 15:43:26 -08:00
Joshua Ashton
ec92dc75e5
rendervulkan: Fix release barrier
...
Need to use our queueFamilyIndex as the src.
2021-12-17 11:58:06 +01:00
Pierre-Loup A. Griffais
a7b484135d
steamcompmgr: acknowledge screenshot request once it's actually done
2021-12-16 17:18:36 -08:00
Pierre-Loup A. Griffais
0a8346384b
steamcompmgr: fix touch scaling bugs
...
We want to scale to remote play main UI plane even when we skip it, since
that's the one that properly sized to be a fullscreen proxy for game input.
2021-12-16 01:46:13 -08:00
Joshua Ashton
8f67acdeb3
sdlwindow: Only process mouse motion when we're focused
...
Annoying to have the cursor moving around or the game view having a moment when we're not focused on the window.
2021-12-16 08:49:13 +01:00
Joshua Ashton
4b48c80ed3
steamcompmgr: Fix transient override focus crash
...
Only should try to find overrides if we have a focus (ie. focusing the right appid) and only of the appid we want.
2021-12-15 22:38:00 -08:00
Joshua Ashton
ced63bf255
rendervulkan: Clean up some stuff dependent on k_nMaxSamplers
2021-12-15 22:37:50 -08:00
Joshua Ashton
c102e49c2f
steamcompmgr: Only release commits when window is gone
2021-12-15 21:29:16 -08:00