Commit graph

1256 commits

Author SHA1 Message Date
Joshua Ashton
7f9a685515 sdlwindow: Add thread name to sdlwindow input thread 2022-10-31 01:35:27 +00:00
Joshua Ashton
f65092a441 rendervulkan: Add thread name to shader compile 2022-10-31 01:35:18 +00:00
Sam Lantinga
f072cbd58b gamescope: Implemented scaling support for pipeware capture
Co-authored-by: Joshua Ashton <joshua@froggi.es>
2022-10-28 03:35:55 +01:00
Sam Lantinga
fbceed2ab5 pipewire: Add metadata to note how the capture image was scaled 2022-10-28 03:34:31 +01:00
Sam Lantinga
a316418c89 pipwire: Added protocol requesting scaling on the pipewire capture
The capture texture will scaled to fit the requested capture size while
maintaining correct aspect ratio. The actual scaling will be implemented
in a separate commit.
2022-10-28 03:34:00 +01:00
Joshua Ashton
c20e14ee74 steamcompmgr: Force Steam to use FIT + LINEAR 2022-10-28 02:57:00 +01:00
Joshua Ashton
62775c765b steamcompmgr: Account for globalScaleRatio for STRETCH 2022-10-28 02:25:37 +01:00
Joshua Ashton
a7203603fe steamcompmgr: Add STRETCH scaling mode 2022-10-28 02:20:19 +01:00
Joshua Ashton
f302a23069 steamcompmgr: Add FILL upscaler 2022-10-28 02:18:11 +01:00
Joshua Ashton
9b86a797a8 steamcompmgr: Refactor out to calc_scale_factor helper 2022-10-28 02:17:01 +01:00
Joshua Ashton
f5f0fc8c24 steamcompmgr: Rename SMART_FIT to AUTO 2022-10-28 02:02:29 +01:00
Joshua Ashton
c9c0044250 steamcompmgr: Add regular FIT as an option 2022-10-28 02:02:06 +01:00
Joshua Ashton
4a4178075e steamcompmgr: Refactor scaling
Split out scalers and scaling filters.
2022-10-28 02:01:15 +01:00
Eric Sullivan
2f95c0fa5d nis: Update to v1.0.3
The docs, and samples directories have been removed along with the third_party_licenses.txt file.

Source downloaded from: https://github.com/NVIDIAGameWorks/NVIDIAImageScaling/archive/refs/tags/v1.0.3.tar.gz
2022-10-22 00:11:13 +01:00
Joshua Ashton
677e3b6624 vblankmanager: Fix build 2022-10-19 18:59:09 +01:00
Joshua Ashton
ec6bd30bb6 drm, steamcompmgr: Support for VRR
Exposes GAMESCOPE_VRR_ENABLED, GAMESCOPE_VRR_CAPABLE and GAMESCOPE_VRR_FEEDBACK
2022-10-19 18:57:14 +01:00
Joshua Ashton
4e748ba1e5 main: Set XDG_CURRENT_DESKTOP to gamescope
A proper session will already do this from eg. SDDM, but when running nested, we want this to still be present.
2022-10-19 15:41:04 +01:00
Joshua Ashton
98d61844d8 main: Reset XDG_SESSION_TYPE to x11
We don't support Wayland clients, so let's convince any child apps that are launched that we are just X11.

Fixes QT apps misbehaving.
2022-10-19 15:40:20 +01:00
Simon Ser
0626c7c8f8 Add note that --force-orientation is for internal display only 2022-10-17 13:26:26 +02:00
Simon Ser
45061ad3e3 drm: drop trailing whitespace 2022-10-13 15:50:41 +02:00
Simon Ser
14f0b78f61 drm: cleanup orientation code 2022-10-13 15:49:23 +02:00
ruineka
12bff31008
drm: fix an issue where g_nOutputWidth and g_nOutputHeight weren't updated 2022-10-13 15:43:47 +02:00
Simon Ser
f51b7229ae drm: de-duplicate connector type logic 2022-10-11 19:05:44 +02:00
ruineka
cf89b2fbae
drm: add support for the panel orientation property 2022-10-11 18:20:14 +02:00
ruineka
647e1d96d0
Add --force-orientation option
Co-authored-by: Joaquín Ignacio Aramendía <samsagax@gmail.com>
Co-authored-by: alphonsez1 <alphonsez743@gmail.com>
Co-authored-by: Ruineka <ruineka@pop-os.localdomain>
2022-10-07 15:29:52 +02:00
Joshua Ashton
b87660561f drm: Fix respecting custom mode refresh rates
This was being overwritten by some dynamic refresh code.
2022-10-01 21:10:34 -02:30
Joshua Ashton
20062ec645 steamcompmgr: Add GAMESCOPE_STEAM_MAX_HEIGHT
0 to disable, any other value sets the max height of Steam
2022-10-01 20:33:37 -02:30
Simon Ser
79ad108c41 wlserver: fix output global not exposed
Fixes: 7c0f65e62d ("wlserver: stop re-creating wl_output global")
2022-10-01 19:11:52 +02:00
Simon Ser
870d54c54e Force repaint on SDL_WINDOWEVENT_EXPOSED
Co-authored-by: Bad Sector <badsector@runtimeterror.com>
2022-10-01 18:42:44 +02:00
Simon Ser
7c0f65e62d wlserver: stop re-creating wl_output global 2022-09-27 19:03:00 +01:00
Simon Ser
576041c2b3 wlserver: remove trailing whitespace 2022-09-27 19:38:29 +02:00
Joshua Ashton
7f2db65c00 steamcompmgr: Add GAMESCOPE_CURSOR_VISIBLE_FEEDBACK 2022-09-23 20:44:51 +00:00
Joshua Ashton
122ba3dda9 steamcompmgr: Undirty cursor when resolving empty state
Otherwise we read this back every single paint, which is bruh.
2022-09-23 20:40:14 +00:00
Joshua Ashton
9a984234ba steamcompmgr: Avoid duplicate commits
Xwayland blits sometimes send us duplicate commits when strange things happen such as connector hotplugs.
2022-09-23 21:26:46 +01:00
Joshua Ashton
777fe39010 steamcompmgr: Be more lenient when failing flips
Replaces the abort here to be more lenient.

Some intense connector hotplugging could be occuring and the
connector could become destroyed before we had a chance to use it
as we hadn't reffed it in a commit yet.
2022-09-23 21:26:38 +01:00
Joshua Ashton
554a4af14d wlserver: Only update first xwayland server wlserver_set_output_info
Only [0] should get updated with any of this info.
Games do NOT need to see hotplug because they just crash... The Xrandr interface for crtc stuff is VERY broken with MST and our reconnect spam here.
2022-09-21 23:01:48 +00:00
Simon Ser
b1d928ab6f rendervulkan: fix inverted wlr_buffer_begin_data_ptr_access() check 2022-09-21 19:42:18 +02:00
Joshua Ashton
8608e017ec wlserver: Handle wl commits before X11 surface has come up
The inverse case of the pending surfaces...
2022-09-19 09:51:57 +01:00
Joshua Ashton
b305a97e9d drm: Don't re-zero connector CRTCs we already have zero-ed.
Fixes an issue where we would use an invalid connector because
the MST connector object got destroyed from our last CRTC set.

This avoids just using it again.
2022-09-16 06:06:50 +01:00
Joshua Ashton
4f62e5d18b wlserver: Avoid use after free of wlr surface data when wlserver_wl_surface_info is destroyed 2022-09-16 01:08:28 +00:00
Joshua Ashton
8562f4ee5a steamcompmgr: Workaround X11 bug for ASAN testing 2022-09-16 00:16:50 +00:00
Joshua Ashton
4754b17824 wlserver: Fix stale wlr pointer in x11_surface_info + fix mouse focus surface destruction
Stale pointers aaaa
2022-09-16 00:44:22 +01:00
Joshua Ashton
716552b7d6 wlserver: Fix crash in content_override_handle_surface_destroy
The x11 surface owned by the window can be destroyed, causing us to access a stale ptr.

Assume server 0 to delete the content override, because thats the only one it can be created on.

We should rev the protocol at some point with support for specifying the DISPLAY... ughghghghghghgh
2022-09-16 00:44:22 +01:00
Joshua Ashton
c8057afbc4 wlserver: Clear out x11_surface ptr when destroyed 2022-09-16 00:44:22 +01:00
Simon Ser
6237c3452b wlserver: explain why filter_global may need to handle NULL wlr_output
1. output plugged in, gamescope creates new wlr_output and sends a
   wl_registry.global event
2. client sees it, sends a wl_registry.bind request
3. output plugged out, gamescope sends a wl_registry.global_remove
   event and destroys the wlr_output
4. gamescope receives the wl_registry.bind request, but the wlr_output
   no longer exists
5. client receives the wl_registry.global_remove event
2022-09-15 08:05:41 +01:00
Joshua Ashton
7b51f5964d wlserver: Crappy workaround for rare filter_global crash... 2022-09-15 01:59:02 +00:00
Joshua Ashton
215a19b0e8 wlserver: Expose base wl_output to non-xwayland server clients 2022-09-15 01:53:51 +01:00
Ben Jackson
40cbcd87ef ime: Delay release of last keypress
More closely simulate a human pressing by holding the last (or only) key in
key pressed for 30ms before releasing. The key is released automatically
after the timer expires or just in time before a subsequent injected key.
2022-09-13 10:18:00 -07:00
Simon Ser
3303289afa ime: add move_{up,down} actions 2022-09-13 17:56:33 +01:00
Simon Ser
343e286308 build: bump wayland-server dep version
Wayland global filtering requires 1.21 to work properly with
globals which are created and destroyed on-the-fly.
2022-09-10 00:06:44 +00:00