Joshua Ashton
60f20b9fe5
steamcompmgr: Don't care if game is focused to paint
...
We could just want to render the overlay and our held base commit.
2022-01-23 05:09:18 +00:00
Joshua Ashton
98dc1a5a7e
steamcompmgr: Track X dirtying outside of dispatch
...
If we dirty the X server outside of the dispatch, xlib can flush its events, leading us to a state where XPending(dpy), would be true but the poll returns false.
Check if we have locally queued events before polling and flush those to mitigate this. This does not involve a system call.
2022-01-20 10:39:30 +01:00
Joshua Ashton
57eee35f29
wlserver: Wait for steamcompmgr to shutdown before cleaning up xwayland
...
Makes shutdown cleaner
2022-01-20 08:55:26 +00:00
Georg Lehmann
edb77e2490
rendervulkan: Add missing barriers in vulkan_create_texture_from_bits.
2022-01-20 07:37:20 +00:00
Georg Lehmann
eff99fdf81
rendervulkan: Add acquire and release barriers for imported images.
2022-01-20 07:37:20 +00:00
Georg Lehmann
10ba9f3908
rendervulkan: Fix WAW hazard for screenshot image.
2022-01-20 07:37:20 +00:00
Georg Lehmann
ca09577632
rendervulkan: Stop using unnormalized ycbcr samplers.
...
This is not allowed for ycbcr samplers.
2022-01-20 07:37:20 +00:00
Georg Lehmann
73025b24e2
rendervulkan: Avoid writing rgb descriptors for ycbcr images.
2022-01-20 07:37:20 +00:00
Georg Lehmann
1bb24ded57
rendervulkan: Remove empty texture.
2022-01-20 07:37:20 +00:00
Georg Lehmann
dcc290725a
rendervulkan: Enable NULL descriptor feature.
2022-01-20 07:37:20 +00:00
Georg Lehmann
7d6ad29757
rendervulkan: Enable samplerYcbcrConversion.
2022-01-20 07:37:20 +00:00
Georg Lehmann
ca2c770d64
rendervulkan: Always account for push frameid even if it's unused.
2022-01-20 07:37:20 +00:00
Georg Lehmann
95d25290d3
rendervulkan: Switch to GL_ARB_shader_clock and enable shaderSubgroupClock.
...
shaderSubgroupClock is better supported than shaderDeviceClock (e.g. anv
and before radv < gfx8).
2022-01-20 07:37:20 +00:00
Georg Lehmann
e1397a26e3
rendervulkan: Transition present image to general before compositing.
2022-01-20 07:37:20 +00:00
Georg Lehmann
96fb7aeed0
rendervulkan: Transition present image to PRESENT_SRC in nested mode.
2022-01-20 07:37:20 +00:00
Georg Lehmann
2c5dae8439
rendervulkan: Wait for fence after acquire next image.
2022-01-20 07:37:20 +00:00
Joshua Ashton
497c07387d
steamcompmgr: Always composite our first frame
...
AMDGPU gets very very upset if the first commit that also does display bringup+modeset has multiple planes. :(
2022-01-20 07:29:48 +00:00
Joshua Ashton
9c8948cec4
steamcompmgr: Disable DrawBorders for video UI
...
Fixes cursor having a black border here.
2022-01-20 07:29:48 +00:00
Joshua Ashton
ad2bf6663e
steamcompmgr: Don't let overlays account for valid contents
...
Stops mangoapp breaking seamless boot.
2022-01-20 07:29:48 +00:00
Joshua Ashton
d84f7068b4
steamcompmgr: Move to empty instead of size != 0
2022-01-20 08:26:13 +01:00
Joshua Ashton
4237d3d2bb
steamcompmgr: Fallback to whatever is best for local focus if focus control appid is not present inside of xwayland context
...
Allows us to run with multiple xwayland contexts and still have proper focus if the game launches into the first xwayland context
2022-01-20 07:11:40 +00:00
Joshua Ashton
a3cbe5d079
steamcompmgr: Move mangoapp_update to the imageWaitThread
...
More correct, stops reported frametimes being all over the place if steamcompmgr is waiting for stuff to happen.
2022-01-20 07:11:40 +00:00
Joshua Ashton
ae268ec9c9
steamcompmgr: Remove 1 appid per ctx assumption, factor out primary focus + override determination
2022-01-20 07:11:40 +00:00
Joshua Ashton
80101e1932
steamcompmgr: Use overlay's ctx rather than root ctx
...
Makes more sense when reading
2022-01-20 07:11:40 +00:00
Joshua Ashton
4eda19aa69
steamcompmgr: Resolve transient overrides in new multi xwayland focus logic
2022-01-20 07:11:40 +00:00
Joshua Ashton
d781082888
wlserver: Make content overrides per xwayland server
2022-01-20 07:11:40 +00:00
Joshua Ashton
ac09776607
steamcompmgr: Restore per-ctx appid logic if running in single xwayland mode
2022-01-20 07:11:40 +00:00
Joshua Ashton
3556ee4174
steamcompmgr: Add some comments to what we are doing in the global focus code
2022-01-20 07:11:40 +00:00
Joshua Ashton
e7cd2dbb25
steamcompmgr: Add win_surface helper
...
Makes this easier to read
2022-01-20 07:11:40 +00:00
Joshua Ashton
062a2bf496
steamcompmgr: Simplify global_focus member names
...
Now we have an entire struct of previous_focus to go off of, we can remove the word current from them.
2022-01-20 07:11:40 +00:00
Joshua Ashton
205cfbdf87
wlserver: Add a mode for multiple xwaylands
...
Adds --xwayland-count to control the number of xwaylands.
2022-01-20 07:11:40 +00:00
Joshua Ashton
74236fd13f
steamcompmgr: Localize gameFocused to context
2022-01-20 07:11:40 +00:00
Joshua Ashton
e29d76ef44
steamcompmgr: Fix stale keybaord focus bug
...
When the focus changes but the input focus does not (ie. overlay -> steam) the keyboard focus can be left behind on the game, which is not what we want.
Track this more ganularly.
2022-01-20 07:11:40 +00:00
Joshua Ashton
e8faa8647e
steamcompmgr: Respect global focus when updating wayland window surface focus
2022-01-20 07:11:40 +00:00
Joshua Ashton
0040709c30
steamcompmgr: Provide feedback about focused display, mouse focus and keyboard focus
2022-01-20 07:11:40 +00:00
Joshua Ashton
a8a1084331
steamcompmgr: Track ctx in win structure
2022-01-20 07:11:40 +00:00
Joshua Ashton
97056e7a3f
steamcompmgr: Make commit wait lists per-xwayland server
2022-01-20 07:11:40 +00:00
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