Joshua Ashton
7ef68ce050
main, steamcompmgr, shaders: Handle lack of LUTs + add debug for disabling color mgmt
2023-04-23 17:09:40 +01:00
Joshua Ashton
8608821414
drm: Fix drm_supports_color_mgmt checks
2023-04-23 16:53:25 +01:00
Joshua Ashton
50925d9a11
shaders: Fix RCAS colorspace
...
Closes : #850
2023-04-22 02:46:29 +01:00
Jeremy Selan
64ae944203
updated heatmap_hard appearance
2023-04-21 11:46:43 -07:00
Jeremy Selan
c6d3ac7c05
added Hard heatmap mode
...
also fixed the heatmap atom parsing
2023-04-20 18:20:58 -07:00
Joshua Ashton
4acf360cc8
drm: Disable BLEND_TF + REGAMMA_TF if single plane
...
BLEND_TF with de-pq currently introduces very slight banding on bright highlights of PQ content (eg. sun in Ori and the Will of the Wisps)
As a workaround, let's disable BLEND_TF + REGAMMA_TF if we are doing single plane.
Disabling un-necessary blocks is probably a good thing in the long run anyway for multiple reasons.
2023-04-21 01:44:06 +01:00
Joshua Ashton
ff3e3b188c
drm: Add some chicken bits for color pipeline
2023-04-21 00:06:58 +01:00
Joshua Ashton
7e37ab2ff6
color_helpers: Remove spaceship operator usage
...
Isn't liked on clang, simply do == and != =default.
2023-04-20 23:03:17 +01:00
Joshua Ashton
1a7fcf892e
docs: Add Steam Deck Display Pipeline graph
2023-04-20 23:03:17 +01:00
Joshua Ashton
57482080e7
steamcompmgr: Track needed XFlush across all change properties events
...
Then flush at the end of each frame if we need to do an XFlush
2023-04-20 23:03:17 +01:00
Joshua Ashton
c83a36cdaa
steamcompmgr: Expose HDR metadata by feedback atom
...
Also do more robust flushing for any feedback atoms, which should fix some wonkiness.
2023-04-20 23:03:17 +01:00
Jeremy Selan
cfcea1433e
steamcompmgr, color_helpers: Added atoms for color gains
...
GAMESCOPE_HDR_INPUT_GAIN
GAMESCOPE_SDR_INPUT_GAIN
2023-04-20 23:03:17 +01:00
Jeremy Selan
378cfa5b7b
properly map g22 -> g22 luminance when forceHDR is enabled
2023-04-20 23:03:17 +01:00
Joshua Ashton
06f00661ac
rendervulkan: Fix HDR blur intensity
...
I really need to change setTextureSrgb true == linear. It's so damn confusing!
2023-04-20 23:03:17 +01:00
Joshua Ashton
2da271d515
shaders: Fix horizontal blur output colorspace
2023-04-20 23:03:17 +01:00
Joshua Ashton
092fccf9a6
rendervulkan: Fix race when updating LUTs
2023-04-20 23:03:17 +01:00
Joshua Ashton
2ad6b0320c
shader: Get blur stuff working with HDR and color mgmt
2023-04-20 23:03:17 +01:00
Joshua Ashton
fcc7b7aea3
shaders, rendervulkan: Hook up FSR for HDR
2023-04-20 23:03:17 +01:00
Joshua Ashton
1dd05cf14b
shaders: Fix scRGBEncodingToPQ
...
nitsToPq vs pqToNits, oops! Was passing some insane values here. :-)
2023-04-20 23:03:17 +01:00
Joshua Ashton
e9127576d7
steamcompmgr: Fix crash on override LUT
2023-04-20 23:03:17 +01:00
Joshua Ashton
aaaff2cb16
shaders: Tetrahedral 3D LUT implementation
2023-04-20 23:03:17 +01:00
Joshua Ashton
e806d790f0
drm, steamcompmgr: Don't apply color mgmt twice if compositing
2023-04-20 23:03:17 +01:00
Joshua Ashton
0c980fbb0e
color, shaders: Use color mgmt LUT path in shader compute path
2023-04-20 23:03:17 +01:00
Joshua Ashton
c6e232ea8c
color_helpers: Clean up EOTF definition
2023-04-20 23:03:17 +01:00
Joshua Ashton
4f9319401b
drm: Fix scRGB handling
2023-04-20 23:03:17 +01:00
Joshua Ashton
975c5f4de5
drm: Always use scale_tf
2023-04-20 23:03:17 +01:00
Joshua Ashton
a90e359fc4
drm, steamcompmgr: Initial EDID patching stuff
...
Initially, patch out rotations atm. We want to do more here and fix up other blocks eventually though.
2023-04-20 23:03:17 +01:00
Jeremy Selan
11bb9f03b9
steamcompmgr: Fix bug where internaldisplaybrightness was not updating when the atom was set
2023-04-20 23:03:17 +01:00
Joshua Ashton
5af08640a7
steamcompmgr: Fix HDR feedback only updating on mode change
2023-04-20 23:03:17 +01:00
Jeremy Selan
359817db3a
steamcompmgr: Minor ITM changes
2023-04-20 23:03:17 +01:00
Jeremy Selan
977e06f721
steamcompmgr: Delete GAMESCOPE_DISPLAY_HDR_FORCE_WIDE_GAMMUT_FOR_SDR
2023-04-20 23:03:17 +01:00
Jeremy Selan
5815dc3fb4
steamcompmgr: GAMESCOPE_SDR_ON_HDR_CONTENT_BRIGHTNESS atom should be float, not int
2023-04-20 23:03:17 +01:00
Jeremy Selan
482cc2c874
steamcompmgr: Renamed GAMESCOPE_HDR_SDR_CONTENT_BRIGHTNESS -> GAMESCOPE_SDR_ON_HDR_CONTENT_BRIGHTNESS
2023-04-20 23:03:17 +01:00
Joshua Ashton
b529bba53a
steamcompmgr: Add GAMESCOPE_COLOR_APP_WANTS_HDR_FEEDBACK
...
Tell Steam whether this app is wanting HDR or not.
(Whether it's submitting HDR buffers)
2023-04-20 23:03:17 +01:00
Jeremy Selan
77095cb553
color_helpers: Refined sdr gamut generation on wide gamut displays
2023-04-20 23:03:17 +01:00
Jeremy Selan
4b4f85f4d1
drm: Added envvar to override internal display colorimetry
...
GAMESCOPE_INTERNAL_COLORIMETRY_OVERRIDE
2023-04-20 23:03:17 +01:00
Jeremy Selan
60fb2711e1
drm: Additional edid logging
2023-04-20 23:03:17 +01:00
Jeremy Selan
a8a660f7d0
color_helpers, drm: separated eotf from the colorimetry definition
2023-04-20 23:03:17 +01:00
Jeremy Selan
48bd08be88
color_helpers: fix brightness mapping for sdr -> sdr
2023-04-20 23:03:17 +01:00
Joshua Ashton
54486ac5de
drm: Fix disabling HDR on an external HDR display since new color toys
2023-04-20 23:03:17 +01:00
Jeremy Selan
c6ce0599f3
color_helpers: Alternate (preferred) check for c++ 2020
2023-04-20 23:03:17 +01:00
Jeremy Selan
039c3228aa
steamcompmgr: Use proper EOTF enums for the 3dlut overrides
2023-04-20 23:03:17 +01:00
Joshua Ashton
005bec4495
steamcompmgr: Use index 0 for lut overrides
...
No more linear now.
2023-04-20 23:03:17 +01:00
Joshua Ashton
38d2f04ba9
steamcompmgr: Fix lut3d output override check
2023-04-20 23:03:17 +01:00
Joshua Ashton
e810317e95
steamcompmgr, drm: Add support for disjoint content and output encoding colorspaces
2023-04-20 23:03:17 +01:00
Joshua Ashton
88f91ab68f
color_helpers: Fix undefined EOTF for result
2023-04-20 23:03:17 +01:00
Joshua Ashton
c3feda285b
color_helpers: Don't lerp EOTF
2023-04-20 23:03:17 +01:00
Joshua Ashton
be27c87627
color_helpers: Fix EOTF of displaycolorimetry_widegamutgeneric_gamma22
2023-04-20 23:03:17 +01:00
Joshua Ashton
ef7642faae
drm: Don't use DEGAMMA_TF + SHAPER_TF when we don't need scaling
...
Introduces weird banding artifacts rn, ugh.
2023-04-20 23:03:17 +01:00
Joshua Ashton
8a39621d3a
drm: Hook up BLEND_TF and stuff for proper space for degamma
2023-04-20 23:03:17 +01:00
Jeremy Selan
2e42bbfa08
color_helpers: WIP on making calcColorTransform PQ aware
2023-04-20 23:03:17 +01:00
Joshua Ashton
90de845cfc
steamcompmgr: Fix setting lut override multiple times
2023-04-20 23:03:17 +01:00
Joshua Ashton
15014f401e
drm: Fix override LUTs
2023-04-20 23:03:17 +01:00
Joshua Ashton
fc1c9900e1
color_helpers: Fix scaling SDR content, bodge for PQ + 3D LUT for now
2023-04-20 23:03:17 +01:00
Joshua Ashton
a5d00f436c
drm, steamcompmgr: Move color mgmt state out of DRM
...
Want to use this in composite too
2023-04-20 23:03:17 +01:00
Joshua Ashton
a980d912aa
drm, color_helpers: Initial support for mixed HDR + SDR planes on both external HDR and fallback SDR when undocked
2023-04-20 23:03:17 +01:00
Joshua Ashton
0f323d63d7
color_helpers: Add pq EOTF math
2023-04-20 23:03:17 +01:00
Joshua Ashton
faee3be9de
drm: Move to per-plane 3D LUT + Shaper
...
Need to do some cleanup here and version checks before merging.
2023-04-20 23:03:17 +01:00
Jeremy Selan
ef41d9f672
color_helpers: Update color math
2023-04-20 23:03:17 +01:00
Jeremy Selan
5ce316fa57
subprojects: Added glm dependency
2023-04-20 23:03:17 +01:00
Joshua Ashton
dc60eba246
color, drm: Initial work on new color mgmt system
...
Deprecates all other color properties for new color mgmt system using 3D LUTs
2023-04-20 23:03:17 +01:00
Benjamin Cheng
1310315c95
sdlwindow: set icon_surface to nullptr after free
...
Prevents a double free that might occur if icon_surface is not allocated
in the conditional following the free.
2023-04-07 09:41:00 +02:00
Benjamin Cheng
7d255f1dba
sdlwindow: fix HiDPI handling
...
SDL_GetWindowSize() gives width and height in screen coordinates which
should be used for scaling mouse movements. The output size we should be
rendering should be in pixels which is given by
SDL_GetWindowSizeInPixels().
Fixes #796 .
2023-04-07 06:03:50 +02:00
Joshua Ashton
5d9ecd462e
drm: Fix issue on kernels without VALVE1_ HDR extensions
2023-03-22 01:21:23 +00:00
Joshua Ashton
f891e3dc4c
drm: Add g_bForceDisableTransferFunctions debug switch
...
Can quickly toggle in GDB for debugging AMDGPU display out
2023-03-19 00:20:41 +00:00
Joshua Ashton
9b5f5f907c
shaders: Make blur conditional more obvious
2023-03-18 15:12:29 +00:00
Joshua Ashton
30937177fa
rendervulkan: Fix blur with HDR content
2023-03-18 15:11:45 +00:00
Joshua Ashton
b3649f4afa
steamcompmgr: Don't treat LAYERED windows as dropdowns if they have WS_EX_APPWINDOW
2023-03-18 14:35:20 +00:00
Joshua Ashton
f541527253
wlserver: Remove accidental debug logging
2023-03-16 23:40:17 +00:00
Joshua Ashton
6e2c06eed8
wlserver: Clean up content overrides on surface destroy + support multiple servers for it
2023-03-16 23:36:51 +00:00
Joshua Ashton
f0fd4e6301
wlserver: Be more robust when changing override windows
2023-03-16 23:23:00 +00:00
Joshua Ashton
5015271ba0
steamcompmgr: Fix crash with nested HDR
2023-03-16 22:44:00 +00:00
Joshua Ashton
251ae8ede3
drm: Cleanup HDR TF + MULT state
2023-03-16 22:18:59 +00:00
Joshua Ashton
06e78f5ed6
drm: Support HDR_MULT for SDR surfaces
2023-03-16 22:18:59 +00:00
Joshua Ashton
2548f3375c
drm: Support for HDR with planes with VALVE1_ extension
2023-03-16 22:18:59 +00:00
Joshua Ashton
6f9759ab49
rendervulkan: Add logging to vulkan_acquire_screenshot_texture
2023-03-13 05:28:46 +00:00
Joshua Ashton
7d5a01d9ac
sdlwindow: Fix crash on some icon-less windows
2023-03-13 05:28:46 +00:00
Sefa Eyeoglu
5a672f09aa
build: update libdisplay-info pkgconfig filename
...
Fixes Plagman/gamescope#823
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-03-12 12:28:35 +01:00
Joaquín Ignacio Aramendía
f5edba5853
Add support for DSI internally rotated displays (e.g. GPD)
...
Co-authored-by: Matthew Anderson <ruinairas1992@gmail.com>
2023-03-10 17:02:51 +01:00
Joshua Ashton
6395e9f3ff
sdlwindow: Fix icon loading
2023-03-10 04:03:24 +00:00
Joshua Ashton
66ee6458bb
vr_session: fix icon loading
2023-03-10 03:52:30 +00:00
Joshua Ashton
521e294327
vr_session, vblankmanager: Sleep vr vblank manager thread if invisible
...
Don't framesync or anything when invisible. Put the vblank thread to sleep until visible again with a condition variable.
2023-03-10 03:39:58 +00:00
Joshua Ashton
6e96514c7a
vr_session: Add g_bOpenVRForceInvisible debug switch
2023-03-08 03:48:47 +00:00
Joshua Ashton
659e55011f
steamcompmgr: Default SDR content brightness to 203
2023-03-06 21:31:11 +00:00
Simon Ser
9a0b7f7341
drm: add support for headless setup
...
Use a fallback mode size and refresh rate, to avoid surprising
our clients too much and allow screen recording to continue
working.
2023-03-06 20:09:31 +01:00
Simon Ser
95aa255e29
drm: fix return values in drm_prepare()
2023-03-06 19:54:11 +01:00
Sefa Eyeoglu
1331b9f81e
vr_session: fix openvr include
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-03-05 11:05:08 +01:00
Sefa Eyeoglu
b430c5b9a0
build: bump libdisplay-info maximum version
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-03-05 10:52:56 +01:00
Joshua Ashton
3df0a99cca
drm: Only use SDR metadata blob for HDR enabled screens
2023-03-04 18:08:38 +00:00
Joshua Ashton
297245cd7e
steamcompmgr: FSR bodges for HDR
2023-03-02 17:55:15 +00:00
Joshua Ashton
280588f1e3
steamcompmgr: Allow scanout for some HDR cases
2023-03-02 17:32:06 +00:00
Joshua Ashton
8480280aad
drm,wlserver: Fix lifetime of hdr metadata blobs
2023-03-02 17:18:10 +00:00
Joshua Ashton
06586a6d12
steamcompmgr: Disable tearing if Mangoapp, etc is up (hack)
...
Avoids bad stutter for now.
2023-03-02 16:32:23 +00:00
Joshua Ashton
140df9a81d
HACK: drm: Always send HDR metadata
...
Can't just set to 0 due to kernel bugs where it will not reset back to SDR.
2023-03-02 16:09:40 +00:00
Newbyte
26831017e9
steamcompmgr: Fix typo in comment
...
Fixes a3dc37f262
2023-03-02 11:19:46 +01:00
Joshua Ashton
a3dc37f262
steamcompmgr: Add workaround for Disgaea PC (405900)
...
This app doesn't like using the controller unless its clicked on first.
2023-02-23 05:07:37 +00:00
Simon Ser
9600bbaadf
build: bump libliftoff to 0.4.0
2023-02-20 22:07:30 +01:00
Joshua Ashton
2a09fbcb69
steamcompmgr: Replicate EDID path to all servers
2023-02-14 00:57:47 +00:00
Joshua Ashton
b7f5ce94ec
steamcompmgr: return server ID in xwayland server feedback
2023-02-11 19:59:09 +00:00
Joshua Ashton
1afea5eb86
steamcompmgr: Add support for growing/destroying xwaylands on the fly
2023-02-11 19:57:32 +00:00
Lilium
57f005716b
itm: avoid division by zero for BT.2446 Method A
2023-02-11 18:17:50 +00:00
msxmine
b1254d5340
Check for nullptr connector in drm_prepare
...
Fixes gamescope sometimes segfaulting for me.
2023-02-11 16:11:56 +00:00
Joshua Ashton
8a3fa88c7d
wlserver: Treat XKB_KEY_XF86PowerOff as a forbidden key
2023-02-04 06:21:00 +00:00
Joshua Ashton
b4aff264e4
steamcompmgr: xdg-shell fixes
2023-02-04 06:16:24 +00:00
Joshua Ashton
d3ce381ff4
steamcompmgr: Fix get_win_display_name
2023-02-01 19:53:09 +00:00
Joshua Ashton
ecee87b157
wlserver: Add comment about perf of wlserver_get_xdg_shell_windows
2023-01-25 14:45:58 +00:00
Joshua Ashton
2cbbbb35d9
main: Add --expose-wayland option
...
Allows basic xdg-shell clients
2023-01-25 14:45:58 +00:00
Joshua Ashton
09bfa644ac
steamcompmgr: Support for xdg-shell windows
2023-01-25 14:45:58 +00:00
Joshua Ashton
624bac8eeb
steamcompmgr: Add new shared header
2023-01-25 14:45:58 +00:00
Joshua Ashton
552a6ea62a
steamcompmgr: Add std::variant structure for window type
2023-01-25 14:45:58 +00:00
Joshua Ashton
b167dfbf94
wlserver: Initial hookup of xdg-shell
2023-01-25 14:45:58 +00:00
Joshua Ashton
f14dc8cfb8
rendervulkan: Fix vulkan_create_texture_from_wlr_buffer for cpu ptr path
2023-01-25 14:45:58 +00:00
Joshua Ashton
95dec879eb
steamcompmgr: Move xwayland-specific window properties to structure
2023-01-25 14:45:58 +00:00
Simon Ser
82775c0c15
drm: use libdisplay-info to parse make/model
2023-01-24 12:40:42 +00:00
Joshua Ashton
02134f3b63
wlserver: Fix crash on shutdown
2023-01-24 12:38:11 +00:00
Joshua Ashton
0c80f65e67
steamcompmgr: Remove unused 'mode' var from steamcompmgr_win_t
2023-01-23 02:22:36 +00:00
Joshua Ashton
facdc072fc
steamcompmgr: rename win to steamcompmgr_win_t
2023-01-23 02:19:13 +00:00
Joshua Ashton
d6c1df4e52
shaders: Add force wide gammut support to itm
2023-01-20 06:21:16 +00:00
Joshua Ashton
9629d7f6cd
steamcompmgr: Fix drawing cursor in VR
2023-01-19 06:30:57 +00:00
Lilium
7bd30dd6d8
add the ability to use inverse tone mapping on apps that output SDR ( #751 )
2023-01-17 05:37:09 +00:00
Joshua Ashton
5113fa225d
vr_session: Hook up icon
2023-01-17 02:35:09 +00:00
Joshua Ashton
9718999e9a
steamcompmgr: Only call updatePosition for the active cursor
...
Avoids a bunch of pointless churn waking up other Xwaylands to query their position.
2023-01-16 23:41:12 +00:00
Joshua Ashton
5347e94226
sdlwindow: Implement icon passthru
...
Also refactor cursor/title to use shared ptr to avoid dup-ing allocations across to sdlwindow thread.
2023-01-16 23:41:12 +00:00
Joshua Ashton
daf4037b1b
sdlwindow: Make sure to free cursor surface
2023-01-16 23:41:12 +00:00
Joshua Ashton
dc498638c3
drm: Hook up "content type" property
2023-01-16 21:49:05 +00:00
Joshua Ashton
5fd65fd5f5
steamcompmgr: Implement --cursor-scale-height
2023-01-16 05:03:08 +00:00
Joshua Ashton
4668680555
steamcompmgr: Initial groundwork for cursor scale
2023-01-16 05:03:08 +00:00
Alex Maese
81a32b85fb
Add support for grabbing the keyboard
2023-01-15 23:34:17 +00:00
Joshua Ashton
eff0ac001e
wlserver: Add some locking assertions
2023-01-12 17:56:06 +00:00
Joshua Ashton
4281cea0e4
sdlwindow: Add missing lock around wlserver_touchmotion
...
Closes : #745
2023-01-12 17:46:28 +00:00
Joshua Ashton
bf61af1f82
ime: Fix local_ime segfault
...
Error in rebasing
2023-01-12 15:07:12 +00:00
Joshua Ashton
c2e9b5f50f
sdlwindow: Use fake timestamp instead of passing thru
...
Fixes Wayland value too large errors.
2023-01-12 01:40:03 +00:00
Joshua Ashton
2d7ec208c4
sdlwindow: Forward cursor in absolute mode to host compositor
2023-01-12 01:29:25 +00:00
Joshua Ashton
86ff9cfc58
main: Fix compilation
2023-01-12 00:55:02 +00:00
Joshua Ashton
054458fdaf
sdlwindow: Default to non-relative mouse when a cursor image exists
...
Add --force-grab-cursor to keep old behaviour
2023-01-12 00:52:38 +00:00
Joshua Ashton
f8e66bf4fb
sdlwindow: Refactor user events
...
Allows us to have more user events, and submit them nicely instead of ugly derping into one big user event.
2023-01-12 00:33:21 +00:00
Joshua Ashton
d3424703a8
steamcompmgr: Load host cursor by default in nested
2023-01-12 00:17:20 +00:00
Joshua Ashton
b124200e36
steamcompmgr: Default to left_ptr from cursor font
...
Avoids having ugly X cursor by default.
Based in part on #280 .
2023-01-12 00:11:04 +00:00
Joshua Ashton
f2a4533cce
steamcompmgr: Avoid leaking title in get_win_title
2023-01-11 22:43:19 +00:00
Joshua Ashton
cae9b3efb7
vr: Fix usage of HAVE_OPENVR macro
2023-01-11 21:20:24 +00:00
Joshua Ashton
33f1103155
vr_session: Add Steam UI integration
2023-01-11 21:20:24 +00:00
Joshua Ashton
48d726c72b
steamcompmgr: Make get_appid_from_pid more robust
...
Was some undefined value ptrs going on here, and not checking if the PID stat opened successfully.
2023-01-11 21:20:24 +00:00
Joshua Ashton
f4f0239b31
vr_session: Initial implementation
2023-01-11 21:20:24 +00:00
Joshua Ashton
b0f2b7e89f
ime: Add support for local IMEs
2023-01-11 21:20:24 +00:00
Joshua Ashton
1c186cd286
ime: Fix warnings on newer compilers
...
Should unbreak CI.
2023-01-11 19:19:03 +00:00
Joshua Ashton
201d5feb39
steamcompmgr: Add --force-windows-fullscreen
...
Useful for browsers or nested desktop environments.
Also adds GAMESCOPE_FORCE_WINDOWS_FULLSCREEN atom per-xwayland.
2023-01-11 19:14:12 +00:00
Joshua Ashton
041ee8dcd8
drm: Simplify some hdr_output_metadata logic
2023-01-11 00:22:47 +00:00
Joshua Ashton
a9541332b7
drm: Set Colorspace+HDR_OUTPUT_METADATA on non-modeset path too
2023-01-11 00:21:58 +00:00
Joshua Ashton
d19872963e
steamcompmgr: Support Xwayland resizing in nested
2023-01-07 10:09:46 +00:00
Joshua Ashton
10ca15cc1c
steamcompmgr: Handle commit size != window size for layer
2023-01-07 10:02:45 +00:00
Joshua Ashton
5054054768
drm, steamcompmgr: Implement 3DLUT + SHAPERLUT support
2023-01-06 15:54:31 +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
67d79cfee7
steamcompmgr: Always composite when debug heatmap is enabled.
2023-01-06 14:21:50 +00:00
Joshua Ashton
d2c14e78b7
steamcompmgr: Fix GAMESCOPE_DEBUG_HDR_HEATMAP
2023-01-06 14:21:50 +00:00
Joaquín Ignacio Aramendía
45c9ffd088
steamcompmgr: add basic handling of system() ffmpeg call
2023-01-05 12:11:42 +01:00
Joshua Ashton
054dcec856
steamcompmgr: Replicate gamescopeHDROutputFeedback to other servers properly
2023-01-05 06:26:33 +00:00
Joshua Ashton
a1bff9fc70
shaders: Fix primaries for scRGB content
...
Need to go from 709 -> 2020.
2023-01-04 08:40:46 +00:00
Joshua Ashton
da33453174
steamcompmgr: Add GAMESCOPE_HDR_SDR_CONTENT_BRIGHTNESS atom
2023-01-03 14:53:00 +00:00
Joshua Ashton
7251fdd878
shaders: Improved heatmap code frol Lilium
2023-01-03 14:03:06 +00:00
Joshua Ashton
d1fd41fd5b
rendervulkan: Apply tonemapping to HDR content on SDR outputs
...
Also add a debug flag for Reinhard.
2023-01-03 14:02:54 +00:00
Joshua Ashton
905376f036
steamcompmgr: Add GAMESCOPE_DEBUG_HDR_HEATMAP
2023-01-03 12:43:38 +00:00
Joshua Ashton
0c3653d159
color_helpers: Handle naughty clients/EDIDs with more grace
...
Avoid asserting and simply clamping to deal with broken EDIDs like
on LG OLED panels for now.
2023-01-03 12:14:32 +00:00
Joshua Ashton
d2cc74c570
main: Add heatmap debug to help
2023-01-03 06:00:39 +00:00
Joshua Ashton
eb29ba4af5
main: Add hdr-sdr-content-nits argument
2023-01-02 04:04:15 +00:00
Jan Beich
50d5ea83b6
steamcompmgr: reap children like Linux on some BSDs
...
DragonFly and FreeBSD adopted a similar API to Linux. Other sytems
maybe interested as well, so add a warning.
src/steamcompmgr.cpp:51:10: fatal error: 'sys/prctl.h' file not found
#include <sys/prctl.h>
^~~~~~~~~~~~~
src/steamcompmgr.cpp:3118:9: error: use of undeclared identifier 'PR_SET_CHILD_SUBREAPER'
prctl( PR_SET_CHILD_SUBREAPER, 1, 0, 0, 0 );
^
2023-01-01 19:40:07 +00:00
Jan Beich
241df252fd
main: don't renice as non-root on non-Linux
...
On BSD systems only the super-user may lower priority values.
meson.build:40:0: ERROR: Dependency "libcap" not found, tried pkgconfig and cmake
src/main.cpp:7:10: fatal error: 'sys/capability.h' file not found
#include <sys/capability.h>
^~~~~~~~~~~~~~~~~~
src/main.cpp:244:2: error: unknown type name 'cap_t'
cap_t caps = cap_get_proc();
^
src/main.cpp:244:15: error: use of undeclared identifier 'cap_get_proc'
cap_t caps = cap_get_proc();
^
src/main.cpp:247:3: error: unknown type name 'cap_flag_value_t'
cap_flag_value_t nicecapvalue = CAP_CLEAR;
^
src/main.cpp:247:35: error: use of undeclared identifier 'CAP_CLEAR'
cap_flag_value_t nicecapvalue = CAP_CLEAR;
^
src/main.cpp:248:23: error: use of undeclared identifier 'CAP_SYS_NICE'
cap_get_flag( caps, CAP_SYS_NICE, CAP_EFFECTIVE, &nicecapvalue );
^
src/main.cpp:248:37: error: use of undeclared identifier 'CAP_EFFECTIVE'
cap_get_flag( caps, CAP_SYS_NICE, CAP_EFFECTIVE, &nicecapvalue );
^
src/main.cpp:250:24: error: use of undeclared identifier 'CAP_SET'
if ( nicecapvalue == CAP_SET )
^
2023-01-01 19:40:07 +00:00
Joshua Ashton
ba467640a8
shaders: Fix output scaling of heatmap
2022-12-31 10:53:12 +00:00
Joshua Ashton
5b805dda00
rendervulkan: Framework for configurable SDR on HDR content brightness
2022-12-31 10:39:41 +00:00
Joshua Ashton
1fea04e073
steamcompmgr: Fix cached value of ST2084 support
2022-12-31 09:59:18 +00:00
Joshua Ashton
8f0008e3a6
rendervulkan: Add Lilium's HDR heatmap
2022-12-30 03:21:55 +00:00
Joshua Ashton
31c94f8869
rendervulkan: Add HDR heatmap debug + way to force support but not PQ output
2022-12-30 03:21:55 +00:00
Joshua Ashton
c25a368193
rendervulkan: Turn composite debug into flags rather than bool
2022-12-30 03:21:55 +00:00
Joshua Ashton
269bbc8444
rendervulkan: Expose 16161616_UNORM format for surfaces
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
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
acf76d6cff
steamcompmgr: Add GAMESCOPE_HDR_OUTPUT_FEEDBACK
...
Exposes whether HDR output is currently enabled.
2022-12-30 03:21:55 +00:00
Joshua Ashton
418a84dfb7
steamcompmgr, rendervulkan: Add force wide gammut option
2022-12-30 03:21:55 +00:00
Joshua Ashton
06c7c3efff
drm: Respect connector HDR capabilities
2022-12-30 03:21:55 +00:00
Joshua Ashton
0d86168480
drm: Respect app's HDR metadata
2022-12-30 03:21:55 +00:00
Joshua Ashton
70b74e73be
drm: Hook up Colorspace and HDR_OUTPUT_METADATA
2022-12-30 03:21:55 +00:00
Joshua Ashton
b5bb169889
drm, rendervulkan: Hook up composite ST2084 output
2022-12-30 03:21:55 +00:00
Joshua Ashton
24a7c40c47
steamcompmgr, main: Add hdr atoms + startup options
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
7fffcc813c
protocol, wlserver: Add override_window_content2
2022-12-30 03:21:55 +00:00
Joshua Ashton
87b75026f8
protocol: Add set_hdr_metadata to gamescope_xwayland
2022-12-30 03:21:55 +00:00
Joshua Ashton
b83516ed4e
rendervulkan: Expose R8G8B8A8 surfaces
2022-12-30 03:21:55 +00:00
Joshua Ashton
a1d5c0583d
shaders: Convert primaries for non-HDR10PQ formats when outputting to HDR10PQ
2022-12-30 03:21:55 +00:00
Joshua Ashton
47069426f7
rendervulkan: Handle manual sRGB->Linear for formats without SRGB views
...
We need these for 1010102 formats.
2022-12-30 03:21:55 +00:00
Joshua Ashton
c2665304c3
rendervulkan: Hook up colorspace mask
2022-12-30 03:21:55 +00:00
Joshua Ashton
49a6c0f451
wlserver, steamcompmgr: Track swapchain feedback per-commit
2022-12-30 03:21:55 +00:00
Joshua Ashton
31e9e4b345
wlserver: Use swapchain feedback for tearing
2022-12-30 03:21:55 +00:00
Joshua Ashton
2aa4791ba0
layer, wlserver: Implement swapchain feedback
2022-12-30 03:21:55 +00:00
Joshua Ashton
49aeaf31b8
rendervulkan, shaders: Support PQ+scRGB colorspaces + HDR10 output
2022-12-30 03:21:55 +00:00
Joshua Ashton
d3aa886373
shaders: Add colorimetry helpers
2022-12-30 03:21:55 +00:00
Joshua Ashton
7009ff4a9a
rendervulkan: Expose 16161616F format
...
For scRGB.
2022-12-30 03:21:55 +00:00
Joshua Ashton
a162024467
rendervulkan: Expose 1010102 formats
2022-12-30 03:21:55 +00:00
Benjamin Cheng
67a908584d
sdlwindow: request HiDPI window
...
If we ask for a HiDPI SDL window on Wayland, we can output
higher-resolution buffers to support the HiDPI case.
Closes : #551
2022-12-28 06:22:12 +00:00
Joshua Ashton
10e4c8d1e7
main: Force disable AMDVLK switchable graphics layer
...
This layer sucks butts and has done nothing but cause constant problems to me for the past 2 years.
Goodbye!
Closes : #725
2022-12-27 18:28:27 +00:00
Joshua Ashton
f863708a1f
steamcompmgr: Disable NV12 screenshot hack
...
Closes : #716
2022-12-21 11:42:09 +00:00
Simon Ser
9f3e152d13
Wait for POLLIN instead of POLLOUT
...
POLLIN waits for the buffer to be ready for reading, POLLOUT waits
for writing.
In gamescope we're reading client buffers, so we need to use POLLIN.
We were using POLLOUT to workaround an amdgpu bug, but that got
fixed in kernel 5.15, so shouldn't be necessary anymore.
2022-12-20 10:12:52 +00:00