Commit graph

1780 commits

Author SHA1 Message Date
Joshua Ashton
7f067de652 wlserver: Add feature bit for pixel filter 2023-10-06 16:12:46 -07:00
Joshua Ashton
766f9b459c rendervulkan: Add PIXEL filter (band-limited pixel filter)
Adds a "pixel" filter which is a band-limited pixel filter based on
https://github.com/Themaister/Granite/blob/master/assets/shaders/inc/bandlimited_pixel_filter.h
by Hans-Kristian.

Closes: #712
2023-10-06 16:12:46 -07:00
Joshua Ashton
e17627beef rendervulkan: Emulate bilinear sampling when we need to do custom degammas
Fixes blending of PQ/HDR10 and 10-bit sRGB surfaces
2023-10-06 16:12:46 -07:00
Joshua Ashton
23d2f8745c wlserver: Fix rare crash on shutdown 2023-10-06 07:08:04 +01:00
Joshua Ashton
3b7580c579 sdlwindow: Fix crash on shutdown with session 2023-10-06 07:07:55 +01:00
Joshua Ashton
b7f319aea1 protocol: Add display_info to gamescope-control protocol 2023-10-05 23:03:21 -07:00
Joshua Ashton
6f7e0c916c drm: Fix not locking wlserver around wlserver_set_output_info 2023-10-05 23:03:21 -07:00
Joshua Ashton
434ca2be1c steamcompmgr: Fix crash on refresh rate switch
If target fps > refresh, we can crash here.
2023-10-02 21:22:46 +01:00
Joshua Ashton
c707e15137 layer: Fix locking in presentation timing funcs 2023-10-01 04:05:26 +01:00
Joshua Ashton
3f7768f406 vr_session: Raise SIGTERM on close 2023-10-01 02:07:16 +01:00
Joshua Ashton
d0cdf4e063 sdlwindow: Make close button call SIGTERM on self
Should be more reliable for killing children
2023-10-01 02:06:45 +01:00
Joshua Ashton
a2ec78665b wlserver: Fix use after free on shutdown using content overrides 2023-10-01 02:01:36 +01:00
Joshua Ashton
119b8eda83 wlserver: Fix use after free on shutdown wrt xwayland server 2023-10-01 01:53:50 +01:00
Joshua Ashton
1616ac6478 steamcompmgr: Ensure wlserver + sdlwindow shutdown on exit 2023-10-01 01:47:57 +01:00
Joshua Ashton
31da8c1ef5 steamcompmgr: Forward shutdown signals to children 2023-10-01 01:47:38 +01:00
Joshua Ashton
4ef97d2a80 layer: Disable HDR for My Little Pony: A Maretime Bay Adventure (1600780) 2023-09-30 20:24:28 +01:00
Joshua Ashton
8c8153aea0 sdlwindow: Ensure g_nOutputWidthPts is set at startup
Fixes cursor movement at startup sometimes
2023-09-29 22:51:30 +01:00
Joshua Ashton
42343857f0 layer: Limit max number of past present timings 2023-09-29 22:38:01 +01:00
Joshua Ashton
50b706b862 layer: Remove old presentation times 2023-09-29 22:36:37 +01:00
Joshua Ashton
8f5a251638 layer: Cleanup fallback surface in DestroySurfaceKHR 2023-09-29 17:26:23 +01:00
Joshua Ashton
296e790470 layer: Fix messagebox error 2023-09-29 15:50:16 +01:00
Joshua Ashton
051be1e8f5 layer: Show error message outside of Gamescope in bad layer states 2023-09-29 15:36:01 +01:00
Joshua Ashton
e988b3d6d1 layer: Add warning when hooking CreateSwapchain failed 2023-09-29 15:22:37 +01:00
Joshua Ashton
4e02585f6b layer: Handle non-gamescope swapchains gracefully 2023-09-29 15:17:15 +01:00
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