Commit graph

1706 commits

Author SHA1 Message Date
Joshua Ashton
2633bb4778 layer: Fix stall on QueuePresent with wl_display_dispatch 2023-09-28 21:54:02 +01:00
Joshua Ashton
cf77310954 wlserver: Remove some left over debug messages 2023-09-28 21:23:26 +01:00
Joshua Ashton
e42826f48d sdlwindow: Fix warning on fallthru 2023-09-28 21:20:27 +01:00
Joshua Ashton
52b1af6c36 wlserver: Fix rare crash/hang on shutdown 2023-09-28 21:19:26 +01:00
Joshua Ashton
9b071cc2ba wlserver: Handle pending commits for override surfaces 2023-09-28 21:19:06 +01:00
Joshua Ashton
476ca5d835 layer: Only override window when we can bypass 2023-09-28 21:16:01 +01:00
Joshua Ashton
1297270c91 layer: Fix check for offsetted toplevel windows
Fixes some cases where we won't flip if windows are made quickly
2023-09-28 21:15:07 +01:00
Arian Baishya
a7dd157f51 Consume KeyDown event if key will be consumed as a shortcut when the user releases the key 2023-09-26 08:15:04 -07:00
Joshua Ashton
6a8500f670 wlserver: Call wlr_xdg_toplevel_set_activated for Wayland windows 2023-09-26 16:14:10 +01:00
PedroHLC
2baad51f7f main: Add "wayland-client" dependency 2023-09-26 07:47:44 -07:00
Joshua Ashton
6b6ffcdaf8 steamcompmgr: Enable Gamescope WSI layer by default in nested
Hopefully this has had enough testing and can be used now.

At the very least, this will help us smoke out some issues.
2023-09-25 22:20:43 -07:00
Joshua Ashton
5151250d94 main: Use SDL_VIDEODRIVER wayland by default, force on present wait 2023-09-25 22:20:43 -07:00
Joshua Ashton
1bb7ef50ba layer: Implement VK_GOOGLE_display_timing + present wait/id for nested
Required a decent refactor of the protocol to be more swapchain based.

Tested with Dota 2 + `-vulkan -vulkan_enable_google_display_timing`

Should hopefully improve latency/pacing in nested a good amount too.
2023-09-25 22:20:43 -07:00
Joshua Ashton
fc6e229506 layer: Implement GetPhysicalDeviceSurfaceCapabilities2KHR 2023-09-24 11:30:25 +01:00
Joshua Ashton
3fa5e7a616 reshade: Hook up "mousepoint" uniform 2023-09-24 08:25:57 +01:00
Joshua Ashton
4e7cd8882b steamcompmgr: Force composite when using reshade fx 2023-09-24 07:29:35 +01:00
Joshua Ashton
2aa742b080 reshade: Fix GAMESCOPE_SDR_ON_HDR_NITS define 2023-09-24 07:18:36 +01:00
Joshua Ashton
502f3b3a1a rendervulkan: Disable maintenance5 for now
Not in a Mesa release yet... Bleh

Only needed for spec compliance
2023-09-24 07:10:13 +01:00
Joshua Ashton
fcdcd86897 reshade: Add GAMESCOPE_SDR_ON_HDR_NITS define 2023-09-24 06:31:14 +01:00
Joshua Ashton
40462b5bf9 reshade: Improve compatibility with reshade shaders
Fix a few bugs, clear and discard images, pick right rts, etc.
2023-09-24 06:22:11 +01:00
Joshua Ashton
b19e928496 layer: Include family in layer name 2023-09-20 02:20:36 +01:00
Joshua Ashton
eedcc73dfd layer: Ensure .so files for x64 and x86 have different names 2023-09-20 02:14:00 +01:00
Joshua Ashton
af3f6bf827 rendervulkan: ensure queue is idle before swapchain recreation
The CVulkanDevice::waitIdle call at the beginning of
vulkan_remake_swapchain only waits for the most recently submitted
command buffer to complete. This is inadequate because it does not wait
for any additional commands which may have been submitted by the driver
during vkQueuePresentKHR.  Such commands could reference resources
associated with the old swapchain, so it is not safe to destroy it until
they are also complete.

To fix the issue, instead of calling CVulkanDevice::waitIdle,
vulkan_remake_swapchain will call vkQueueWaitIdle.

Fixes: #945

Co-authored-by: Erik Kurzinger <ekurzinger@nvidia.com>
2023-09-14 18:53:38 +01:00
Joshua Ashton
ae73dd1ce0 wlserver: Add gamescope-control protocol 2023-09-14 09:08:46 -07:00
Joshua Ashton
ab7d2a75c9 reshade: Fix warnings 2023-09-14 09:03:12 -07:00
Joshua Ashton
a1217e0833 readme: Add reshade info to readme 2023-09-14 09:03:12 -07:00
Joshua Ashton
732422cebe reshade: Add initial reshade support 2023-09-14 09:03:12 -07:00
Joshua Ashton
0cf24ee20c rendervulkan: Load some more vk procs for gfx work 2023-09-14 09:03:12 -07:00
Joshua Ashton
608f3ca286 rendervulkan: Expose prepare*Image, etc functions publicly 2023-09-14 09:03:12 -07:00
Joshua Ashton
b306131b72 rendervulkan: Add discardImage to CVulkanCmdBuffer 2023-09-14 09:03:12 -07:00
Joshua Ashton
555f94548e rendervulkan: Allow controlling if CmdBuffers are reset in WaitIdle 2023-09-14 09:03:12 -07:00
Joshua Ashton
0f703262a7 rendervulkan: Add submitInternal that does not GC CVulkanCmdBuffers 2023-09-14 09:03:12 -07:00
Joshua Ashton
58747ca65b rendervulkan: Move to Vulkan 1.3, enable maintenance 5 2023-09-14 09:03:12 -07:00
Joshua Ashton
d038f8aadc rendervulkan: Add color attachment flag to textures 2023-09-14 09:03:12 -07:00
Joshua Ashton
adee493d8b rendervulkan: Store current queue family in CVulkanTexture 2023-09-14 09:03:12 -07:00
Joshua Ashton
ea15be6f1a rendervulkan: Store queue and queue family in CVulkanCmdBuffer 2023-09-14 09:03:12 -07:00
Joshua Ashton
6d0b0f5503 rendervulkan: Expose format table lookup functions 2023-09-14 09:03:12 -07:00
Joshua Ashton
4f4ace5ee0 rendervulkan: Expose some additional internal formats in the format table 2023-09-14 09:03:12 -07:00
Joshua Ashton
37fc7d7178 rendervulkan: Move CVulkanCmdBuffer to hpp 2023-09-14 09:03:12 -07:00
Joshua Ashton
bd722f786f rendervulkan: Get a general graphics+compute queue as well as a async compute queue 2023-09-14 09:03:12 -07:00
Joshua Ashton
191a85da04 rendervulkan: Move CVulkanDevice to header 2023-09-14 09:03:12 -07:00
Joshua Ashton
63fb573900 build: Add reshade submodule 2023-09-14 09:03:12 -07:00
Joshua Ashton
cf19852ce3 drm: Patch physical dimensions 2023-09-01 22:26:57 +01:00
Joshua Ashton
a8471d81b3 steamcompmgr: Fix build (rebase woes) 2023-09-01 01:42:37 +01:00
Joshua Ashton
32894fa7cd steamcompmgr: If we have an override surface, make sure new commits are for it
Fixes HDR in an unannounced game.
2023-09-01 01:26:49 +01:00
Jason Nader
35c0aa0c9a Remove reference to non-existent key bind
Missed by e631460bc5a1ce53af994cf7f0c9f9e96325a298
2023-08-27 17:52:49 +02:00
Joshua Ashton
0f0c5eba08 steamcompmgr: Fix disable color mgmt leaving some states behind 2023-08-23 05:29:04 +01:00
Alex Maese
a64a5a8653 Only SetSelectionOwner when syncing selections
When a client becomes the selection owner, and sets the selection, an
XFixes event is raised, and gamescope responds by retrieving the contents
of the selection, and re-setting ourWindow as the owner of the selection.
We don't need to call XChangeProperty when syncing across Xwayland
instances, as that gets called when a client makes a SelectionRequest.
2023-08-22 19:50:48 -07:00
Alex Maese
a883f133a3 Improve clipboard handling
This change properly syncs the primary selection and clipboard across
all xwayland instances, even in embedded mode
2023-08-22 19:50:48 -07:00
Alex Maese
371fcf0b32 Remove unnecessary key bind 2023-08-22 19:50:48 -07:00