Pierre-Loup A. Griffais
5c0e1ff4c7
steamcompmgr: publish focusable appids through root property
2021-05-17 19:42:58 -07:00
Simon Ser
fa433a3ebc
Include <wayland-server-core.h> outside of extern "C"
...
Closes: https://github.com/Plagman/gamescope/issues/190
2021-05-17 19:21:51 +02:00
Pierre-Loup A. Griffais
756b3a6afc
steamcompmgr: streaming_client is kind of like an overlay
...
but not really
2021-05-08 01:47:50 -07:00
Pierre-Loup A. Griffais
fe4501c633
steamcompmgr: more obscure focus fixes
2021-05-08 01:20:18 -07:00
Simon Ser
177205dca4
Block NV12 LINEAR when rotated
2021-05-07 12:21:36 +02:00
Pierre-Loup A. Griffais
9e6a6aa77d
steamcompmgr: some focus regression fixes for cornercases
...
An overlay going away wasn't getting considered. Steam also doesn't
set the 'games running' property if Big Picture isn't running, and
we have more robust appID tracking now, so we can start to phase it out.
2021-05-06 12:57:33 -07:00
Pierre-Loup A. Griffais
7b97f6e4e8
steamcompmgr: add support for streaming_client video underlay
...
It'll split its YUV and RGB content into two windows. YUV one uses a
content override.
2021-05-05 23:00:40 -07:00
Pierre-Loup A. Griffais
074ee9c719
rendervulkan: remove 'fence' concept
...
Doesn't make sense now that we poll() the DMA-BUF fd directly. We can
do that directly from steamcompmgr. Vulkan's fence used to be an actual
fence we made up with an empty submission.
2021-05-05 18:46:19 -07:00
Pierre-Loup A. Griffais
e25f871d87
wlserver: avoid accessing mouse_focus_surface after destruction
...
We should also set the focus to something else that makes sense, which
means there's another bug in a higher-level layer somewhere, but at least
don't crash.
2021-05-05 16:37:51 -07:00
Simon Ser
a4f3a19480
Fix VkDescriptorPoolCreateInfo.poolSizeCount
...
This caused a read past the array end on anv.
2021-05-04 18:34:11 +02:00
Simon Ser
b6f5471b62
Allow toggling g_bRotated more easily
...
Allow just changing the default variable value to enable rotation.
2021-05-04 16:40:58 +02:00
Pierre-Loup A. Griffais
902fce73b0
steamcompmgr: flip the meaning of -x
...
It wasn't actually causing crashes and the memory stomp is fixed.
The option only existed for a very short time and didn't do anything
useful, so should be safe.
2021-05-02 23:51:37 -07:00
Pierre-Loup A. Griffais
580a17d462
steamcompmgr: get the appID from the process tree
...
In case we can't get it proactively from the app process.
2021-05-02 23:51:37 -07:00
Joshua Ashton
8afb3c3f30
Handle swapchain recreation for out of date and suboptimal
2021-05-01 16:51:00 -07:00
Joshua Ashton
e818aec744
Move to combined samplers and rewrite composite shader in GLSL
...
Cleans up the composite shader significantly as well as it uses
arrays of descriptors/samplers now.
This all gets unrolled as the loop is spec-constant sized.
2021-05-01 16:50:51 -07:00
Joshua Ashton
f537a40483
Use SOA instead of AOS for layers
...
Produces better code as the shader compiler can load
multiple layers with a single buffer_load at a time
due to the positioning and alignment.
2021-05-01 16:50:51 -07:00
Pierre-Loup A. Griffais
496b5f58d2
wlserver: downgrade wlserver_surface_set_wl_id assert to spew
2021-04-30 18:45:00 -07:00
Simon Ser
6f54b51a6c
Fix cursor not using linear layout
2021-04-30 16:28:07 +02:00
Simon Ser
bf5123e19b
Log errors in CVulkanTexture::BInit
2021-04-30 16:25:14 +02:00
Simon Ser
d1ff01c134
Make args const in drm_prepare
2021-04-30 16:18:29 +02:00
Pierre-Loup A. Griffais
2bb4907993
Also spew wayland display name through session pipe.
2021-04-27 21:17:36 -07:00
Simon Ser
a85c8d761c
Fix planes offset/stride for multi-planar buffers
...
References: https://github.com/Plagman/gamescope/issues/49
2021-04-23 10:51:22 +02:00
Simon Ser
3a6895a4b8
Add more error messages
2021-04-23 10:45:17 +02:00
Simon Ser
c9b5000812
Don't query COLOR subresource layout with modifiers
...
According to the spec, this is invalid:
> If the tiling of the image is VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT, then
> the aspectMask member of pSubresource must be
> VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT
This triggers an assertion in anv.
References: https://github.com/Plagman/gamescope/issues/49
2021-04-23 10:45:17 +02:00
Simon Ser
cb0eace6d1
Use libliftoff by default
...
Remove the -l option. Introduce a -L option to disable libliftoff.
Don't use the same option to avoid muscle memory issues.
2021-04-22 21:55:22 +02:00
Simon Ser
a99c5f7a1c
Don't set R600_DEBUG=nodcc if Vulkan supports modifiers
...
This can cause issues with Xwayland. Setting R600_DEBUG=nodcc
prevents Xwayland from being able to import DCC buffers coming
from Vulkan clients.
Closes: https://github.com/Plagman/gamescope/issues/185
2021-04-22 19:36:37 +02:00
Simon Ser
3b9f845dad
Unify getopt string
...
De-duplicate its definition, so that we don't forget to update a
string when we update the other.
2021-04-21 14:38:54 +02:00
Simon Ser
910fba1008
rendervulkan: add NV12 support
...
This doesn't yet display correct colors, and tiling artifacts are
visible.
2021-04-20 09:13:10 +02:00
Simon Ser
5f36d1060c
rendervulkan: log supported DRM formats
2021-04-20 09:13:10 +02:00
Simon Ser
b3f3f6c92d
rendervulkan: log whether DRM modifiers are supported
2021-04-20 09:13:10 +02:00
Simon Ser
0aa74266c4
Relax Vulkan import plane check
...
Try to import multi-planar textures even if we don't have a
modifier. This is the case for e.g. DMA-BUFs coming from VA-API.
2021-04-20 09:13:10 +02:00
Simon Ser
be735e9360
Set GAMESCOPE_WAYLAND_DISPLAY
...
This allows gamescope-specific Wayland clients to connect to the
Wayland server, while preventing regular Wayland clients from doing
so.
2021-04-20 09:13:10 +02:00
Simon Ser
a05e5b0a39
Implement gamescope-xwayland protocol
2021-04-20 09:13:10 +02:00
Simon Ser
6f8e25dc89
Add gamescope-xwayland protocol
2021-04-20 09:13:10 +02:00
Simon Ser
10816e6ed8
wlserver: adjust assertion in wlserver_surface_set_wlr
...
Make sure we don't overwrite an existing surf->wlr. We don't really
care about the Wayland surface ID here.
2021-04-20 09:13:10 +02:00
Simon Ser
ce0a3f7259
Rename wlserver_surface_set_id to wlserver_surface_set_wl_id
...
Make it clear the ID refers to a Wayland object.
2021-04-20 09:13:10 +02:00
Simon Ser
db14ce1eeb
readme: use shell syntax for example comments
2021-04-16 12:15:09 +02:00
Simon Ser
f66c8057f6
readme: format keyboard shortcuts as a list
2021-04-16 12:13:39 +02:00
Simon Ser
bfe9777abc
readme: improve formatting a bit
2021-04-16 12:13:06 +02:00
Simon Ser
f283207ced
readme: document end-user options
2021-04-16 12:12:17 +02:00
Simon Ser
1a8a4bdcf5
readme: R600_DEBUG=nodcc is only required on GFX8-
2021-04-16 12:03:41 +02:00
Simon Ser
bee939e691
build: force-enable xwayland in wlroots subproject
...
This should give a better error message if xwayland deps are missing.
2021-04-10 10:23:24 +02:00
Simon Ser
e76d82828b
build: update wlroots system dep version
2021-04-08 09:27:10 +02:00
Simon Ser
25a0a75811
build: simplify wlroots xwayland check
2021-04-08 09:26:17 +02:00
Simon Ser
21ab0dd372
Add .editorconfig
2021-04-08 09:15:39 +02:00
Sefa Eyeoglu
ed44909813
Update wlroots to 0.13.0
...
Update usage of wlr_headless_backend_create,
wlr_renderer_get_shm_texture_formats,
wlr_texture_from_pixels and add missing include for render/egl.h.
2021-04-08 09:15:05 +02:00
Simon Ser
c834999a5f
Introduce wlserver_surface
2021-04-02 08:37:53 +02:00
Simon Ser
4f24653d77
Add support for multi-planar DMA-BUF Vulkan export
2021-04-01 19:06:08 +02:00
Simon Ser
a900bef8b8
Query plane 0 layout with VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT
2021-04-01 18:17:04 +02:00
Simon Ser
ff33a3738e
Query image modifier on Vulkan DMA-BUF export
2021-04-01 18:03:18 +02:00