Joshua Ashton
98335c8709
drm: Use 10-bit partial composite formats if possible
2023-07-09 20:02:20 +01:00
Joshua Ashton
1bc1e724dd
main: Fix CI
2023-07-09 20:02:20 +01:00
Joshua Ashton
5e99ecb46b
rendervulkan: Seamless full -> deferred composition switch
2023-07-09 20:02:20 +01:00
Joshua Ashton
31eefd41a0
rendervulkan: Move reset for commandbuffer to main thread for partial composition
2023-07-09 20:02:20 +01:00
Joshua Ashton
70626628f9
rendervulkan: Pick right first partial composite image
2023-07-09 20:02:20 +01:00
Joshua Ashton
6a6df4ea95
rendervulkan: Use same memory backing for partial and complete composition
...
Despite different formats, alias the memory backing to save space.
2023-07-09 20:02:20 +01:00
Joshua Ashton
bc3c4bc275
steamcompmgr, rendervulkan: Implement deferred partial composition
...
Use partial composition for overlays when we have too many layers.
2023-07-09 20:02:20 +01:00
Joshua Ashton
d5aec88630
drm: Fallback displayColorimetry for broken EDIDs
...
May fix : #864
2023-07-09 19:23:23 +01:00
Joshua Ashton
183792e2ec
drm: Free blob in fail path
2023-07-09 19:02:25 +01:00
Michal Pawlowski
1b9b736257
steamcompmgr: Fix enabling VRR from commandline
...
The --adaptive-sync flag is not used during vrr atom update
so it's value get's overwritten with 0 thus disabling the VRR
in the process.
2023-06-29 14:45:30 +01:00
Joshua Ashton
9b70b3b9e3
drm: Handle not having CRTC 3D LUT/Shaper
2023-06-23 04:32:02 +01:00
Joshua Ashton
789cfc9057
main, steamcompmgr: Add support for --headless
...
No window system, vr, drm, etc required.
Can be used to stream headlessly with Pipewire or screenshots, etc.
Can also just be used as a utility to run applications that need a GUI
or window envrionment despite just being an installer or something.
2023-06-16 17:51:24 +01:00
Fabian Arndt
7a1fe2def3
Added option to set upscaler filter
...
- Removed options to set filters explicitly (-n, -U, -Y)
- Changed scaler option from -s to -S
- Reordered usage slightly
2023-06-14 11:37:10 +01:00
Fabian Arndt
a7c60be193
Added option to set upscale scaler
...
Removed option to explicitly force integer scaler
2023-06-14 11:37:10 +01:00
Joshua Ashton
8866c02dc7
vr_session: Add vrsession_set_dashboard_visible
2023-06-06 22:58:38 +01:00
Joshua Ashton
98a0aab039
steamcompmgr, rendervulkan: Only capture baseplanes in screenshots
...
Also avoid performing color mgmt on screenshots (outside of HDR screenshot fallbacks)
2023-06-06 03:12:18 +01:00
Joshua Ashton
20ee2b5468
rendervulkan: Fix half-texel offset for blits
2023-06-06 02:08:08 +01:00
Joshua Ashton
f2d11727be
rendervulkan: Fix RGB blits using incorrect colorspace
2023-06-06 02:08:08 +01:00
Joshua Ashton
70c2e68d3d
rendervulkan: Mark screenshot textures as storage compatible
2023-06-06 01:58:15 +01:00
FlightlessMango
33fb485e7a
mangoapp: report output size to mangoapp
...
This way mangoapp knows what resolution gamescope is running and can
adjust accordingly. This should resolve issues on various handhelds
where `--force-orientation left` caused incorrect rendering of mangoapp
2023-05-29 10:59:36 +01:00
Joshua Ashton
f673ddffd1
pipewire: Only create up to 8 buffers
...
This is how many we have to allocate.
Thanks to @Starsam80 for catching this
2023-05-28 19:39:07 +01:00
Joshua Ashton
05361b1f39
drm: Don't update internal screen orientation if we don't have one
...
Fixes : #889
2023-05-28 17:40:41 +01:00
Joshua Ashton
9282a715a1
wlserver: Disable trackpad on external screen by default
...
This was just an experiment of mine.
This does fix the rotation thing though.
2023-05-27 17:35:17 +01:00
Joshua Ashton
e8b60578b5
wlserver, drm: Make touchscreen function as trackpad when using external screen
2023-05-27 17:31:53 +01:00
Joshua Ashton
56f4263b3a
drm, wlserver: Always use internal screen rotation for touchscreen orientation
...
Lets you use Deck screen as touchpad type thing when docked.
2023-05-27 16:40:05 +01:00
Joshua Ashton
2f3029f5e0
rendervulkan: Fix screenshots since moving to 10-bit.
...
This dispatch was incorrect subgroup wise. IDK how this code ever worked.
2023-05-27 16:33:32 +01:00
Joshua Ashton
847da568df
steamcompmgr: Remake output images on res change
...
This got lost in the format stuff.
Closes : #883
2023-05-27 16:06:43 +01:00
Joshua Ashton
29710fb2ec
vr_session: Support for trackpad scrolling
2023-05-26 17:06:44 +01:00
Jeremy Selan
baea00fb15
[color_helpers]: cleanup tonemapping support
2023-05-25 13:16:08 -07:00
Joe Dight
73ce5a440a
Fallback to regular-priority queue when vkCreateDevice fails
2023-05-23 14:38:16 +02:00
Joshua Ashton
56a799827d
steamcompmgr: Fix FSR getting enabled accidentally
...
Fixes : #874
2023-05-19 00:25:10 +00:00
Joshua Ashton
b4ff0f62fa
drm, steamcompmgr: Implement edid patching for HDR for debugging
2023-05-18 22:46:18 +00:00
Joshua Ashton
bddf6fd79e
steamcompmgr: Disable EETF tonemapping by default
...
Hurts games that do stuff right.
2023-05-18 22:06:33 +00:00
Joshua Ashton
58a2912e11
steamcompmgr: Rename atom to GAMESCOPE_COLOR_MANAGEMENT_CHANGING_HINT
2023-05-17 00:32:43 +00:00
Joshua Ashton
a40549caa6
steamcompmgr: Add GAMESCOPE_COLOR_SLIDER_IN_USE
2023-05-17 00:27:51 +00:00
Joshua Ashton
bd96c4ce5d
Revert "rendervulkan: Don't use 10-bit format for VR session"
...
I fixed this in the next release of SteamVR.
1010102 formats are now supported on Linux + SteamVR.
This reverts commit 6586d5e009
.
2023-05-16 17:33:51 +00:00
Joshua Ashton
6586d5e009
rendervulkan: Don't use 10-bit format for VR session
...
OpenVR has a fit and displays it all whacky mode.
Come back to this later potentially.
2023-05-16 01:50:58 +00:00
Hans-Kristian Arntzen
61121e206b
Pass through duplicate commits if there are feedbacks.
...
Mutter and Weston behavior allows getting presentation feedbacks
for duplicate commits. This also allows gamescope to do the same.
2023-05-16 02:41:52 +01:00
Hans-Kristian Arntzen
072e31d007
Ensure forward progress on frame callback.
...
If the BUFFER flag is not set in a commit, it means
the buffer is inherited on the surface.
As this is equivalent to a commit with same buffer,
ensure forward progress is made on frame callbacks.
This behavior also matches Mutter and Weston based on tests.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2023-05-16 02:41:52 +01:00
Hans-Kristian Arntzen
a8ffc64f40
Ensure that duplicated commits have forward progress.
...
If the same buffer is attached in subsequent commits,
ensure frame callback is pumped.
This matches Mutter and Weston behavior based on tests.
2023-05-16 02:41:52 +01:00
Hans-Kristian Arntzen
72056a98b5
Send presentation after handling commits on XDG.
2023-05-16 02:41:52 +01:00
Hans-Kristian Arntzen
abd04f793e
Don't send frame callback before we have actually committed.
...
This avoids a problem where frame callback is reported before we have
actually committed to display a surface. This could lead to skipping
where application commits a new surface before the current surface will
be queued up for display. This breaks FIFO rules in e.g. Vulkan.
A scenario where this matters is when GPU is rendering slower than
refresh rate.
Also avoids a problem where the commit queue can grow large since
frame callbacks will be pumped faster than the GPU is able to process
the frames.
At least Mutter behavior is similar here, so I think this is the correct
interpretation.
Also fixes KHR_present_wait in Xwayland. Xwayland uses frame callback to
signal PRESENT_COMPLETE and this fixes that.
2023-05-16 02:41:52 +01:00
Joshua Ashton
f6d9ef465d
drm, rendervulkan: Pick a 10-bit format for composite buffer
...
1. Many game engines automatically render to 10-bit formats such as UE4 which means
that when we have to composite, we can keep the same HW dithering that we would get if
we just scanned them out directly.
2. When compositing HDR content as a fallback when we undock, it avoids introducing
a bunch of horrible banding when going to G2.2 curve.
It ensures that we can dither that.
2023-05-15 23:48:24 +00:00
Joshua Ashton
8bb7272a04
rendervulkan: Expose some more formats
2023-05-15 22:44:28 +00:00
Jeremy Selan
6531d9cdf9
color_helpers: added default tonemapping for PQ->G22
2023-05-12 16:09:25 -07:00
Jeremy Selan
38e5b553fd
vklayer: added HdrMetadata printing
2023-05-12 12:11:19 -07:00
Jeremy Selan
941b22f68f
color_helpers: refactored eetf2390 tonemapping
2023-05-11 10:32:05 -07:00
Jeremy Selan
156660c72b
color_helpers: added eetf_2390 tonemapping operator (currently unused)
2023-05-10 17:32:25 -07:00
Jeremy Selan
3534657de6
heatmap: fix typo
2023-05-10 17:32:25 -07:00
Joshua Ashton
b778e53036
wlserver: Set seat keyboard on keyboard focus
...
Ensures we have keymap sent by wlroots when we send modifiers for the keyboard in notify_enter
2023-05-10 17:02:04 +00:00