Commit graph

1537 commits

Author SHA1 Message Date
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
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