Commit graph

1545 commits

Author SHA1 Message Date
Jan Beich
d5440c6fca drm: drop unused Linux-only header after a90e359fc4
src/drm.cpp:4:10: fatal error: 'linux/limits.h' file not found
 #include <linux/limits.h>
          ^~~~~~~~~~~~~~~~
2023-04-23 19:09:04 +01:00
Joshua Ashton
5ffd51b391 steamcompmgr: Ensure members of steamcompmgr_win_t get initialized
Supercedes: #851
2023-04-23 17:33:26 +01:00
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
15a45109d9 build: Enable -Wno-volatile for GLM 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