Commit graph

61 commits

Author SHA1 Message Date
Joshua Ashton
05407167cd layer: Disable EXT_swapchain_maintenance1
Can't implement this easily with limiter and switching between X11 and Wayland
2023-11-09 18:47:46 +00:00
Joshua Ashton
7eb99803de layer: Migrate display timing impl to EnumerateDeviceExtensionProperties 2023-11-09 18:47:46 +00:00
tcoyvwac
3401da5469 layer: Prefer C++20 ranges::any_of over '11 idioms 2023-10-17 06:39:29 -07:00
tcoyvwac
6028ebcf8a layer: Prefer C++11 std::any_of over '03 idiom 2023-10-16 13:07:44 -07:00
Joshua Ashton
c707e15137 layer: Fix locking in presentation timing funcs 2023-10-01 04:05:26 +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
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
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
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
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
5e7006205f layer: Handle multiple swapchains in QueuePresentKHR 2023-08-17 20:16:20 +01:00
Jan Beich
9e34c3e104 layer: add missing header after 540323ac37
layer/VkLayer_FROG_gamescope_wsi.cpp:53:5: error: use of undeclared identifier 'pread'
    pread(fd, &overrideValue, sizeof(overrideValue), 0);
    ^
2023-08-16 10:20:13 +02:00
Joshua Ashton
540323ac37 layer: Support for frame limiter 2023-08-08 16:43:01 +01:00
Jeremy Selan
38e5b553fd vklayer: added HdrMetadata printing 2023-05-12 12:11:19 -07:00
Joshua Ashton
acef4c24ed layer: Enable KHR_present_wait driconf in the layer 2023-05-05 20:30:06 +01:00
Joshie
608f952dba
layer: Fix scRGB surface format definition
scRGB is linear, not using sRGB curve.
Matches what we expose in DXVK for DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709.
2023-04-27 06:47:43 +01:00
Jeremy Selan
5ce316fa57 subprojects: Added glm dependency 2023-04-20 23:03:17 +01:00
Joshua Ashton
501cb45150 layer: Handle lack of gamescope socket with grace 2023-01-07 12:09:12 +00:00
Joshua Ashton
79ce85b4cb layer: Check if VkFormat is supported for underlying surface in CreateSwapchainKHR 2023-01-07 10:35:38 +00:00
Joshua Ashton
dc6d755ada drm: Use 'contains' on map to simplify property code
May as well use C++20 for everything now we need it for the
layer.
2023-01-06 15:25:04 +00:00
Joshua Ashton
1e9ccbd05c layer: Remove duplicate largestObscuringWindowSize check 2023-01-04 07:44:05 +00:00
Joshua Ashton
ae02e05e4b layer: Clean up return logic in QueuePresentKHR 2023-01-03 03:50:11 +00:00
Joshua Ashton
6d6cc98f0f layer: Return result from QueuePresentKHR when not forcing suboptimal 2023-01-03 03:48:20 +00:00
Joshua Ashton
acbb71966f layer: Enable VK_KHR_xcb_surface extension
Needed for fallback surface.
2023-01-02 06:41:16 +00:00
Joshua Ashton
ece20d0120 layer: Add Reply audo-delete helper for XCB replies 2023-01-02 06:08:32 +00:00
Joshua Ashton
89456dd976 layer: Free reply in getToplevelWindow when root is reached
I need to write some wrapper here, this crappy xcb api is rife for errors liek this.
2023-01-02 06:00:06 +00:00
Joshua Ashton
d84d0fcfc9 layer: Free attributeReply after use
Oops!
2023-01-02 05:58:48 +00:00
Joshua Ashton
6a6a89c818 layer: Add fallback to XCB surface when we cannot safely flip 2023-01-02 05:57:44 +00:00
Joshua Ashton
b5e2602f69 layer: Move XCB helpers to header 2023-01-02 04:13:16 +00:00
Joshua Ashton
b033bbe5f8 layer: Support for x86 and x86_64 builds at the same time 2022-12-30 03:21:55 +00:00
Joshua Ashton
6bc6a85d6d build: Add options for building layer/executable 2022-12-30 03:21:55 +00:00
Joshua Ashton
a50ead0357 layer: Respect vk_x11_override_min_image_count
Avoids regressing things
2022-12-30 03:21:55 +00:00
Joshua Ashton
3591f2d4ab layer: Dump surface state on creation 2022-12-30 03:21:55 +00:00
Joshua Ashton
a4f30a87ff layer: Only expose HDR formats when gamescope HDR output is enabled and it isn't blacklisted for this app 2022-12-30 03:21:55 +00:00
Joshua Ashton
1ab8757558 layer: Make getting property values generic 2022-12-30 03:21:55 +00:00
Joshua Ashton
efd47c3012 layer: Expose scRGB surface format 2022-12-30 03:21:55 +00:00
Joshua Ashton
22806541e2 drm: Parse out HDR/colorimetry metadata from EDID 2022-12-30 03:21:55 +00:00
Joshua Ashton
b3347f32fa layer: Use string views
Safer than strcmp
2022-12-30 03:21:55 +00:00
Joshua Ashton
a0222d4142 layer: Log swapchain format 2022-12-30 03:21:55 +00:00
Joshua Ashton
29d5f8d3f9 layer: Respect xserver's id when overriding contents
Uses override_window_content2 now.
2022-12-30 03:21:55 +00:00