-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
cm: handle CM for SDR content with cm=hdr, cm_sdr_eotf=2 #12127
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
Probably should be merged as is if it doesn't break other setups. |
|
@UjinT34 I do want to make the always-on HDR experience as good as possible, like it was from my time using KDE. I like the Auto-HDR feature, and I make use of it a lot, but sometimes I get tired of waiting for a modeset when I toggle fullscreen. My monitor is a Mini-LED, and its local dimming feature is funky in SDR mode. Consuming media in general looks better with HDR on as long as the SDR -> HDR conversion is okay, which I did #12094 to address. |
I'm on the same boat, miniled with long modeset times, that's why I use When autoHDR kicks in, the modeset is instant since wide is already in the correct mode, at least on my case. Cba to calibrate |
|
Finally got around to testing So this branch is an improvement (fixes |
fcc93bc to
db12edf
Compare
|
Rebased and acknowledged different |
db12edf to
e93b932
Compare
e93b932 to
bf44b06
Compare
|
It seems this fixes the issue where |
Describe your PR, what does it fix/add?
Primarily, stops colors from getting blown out when viewing some SDR content with
cm=hdr.Some SDR surfaces were both skipping color management and getting DS in HDR mode (
cm=hdr, not Auto-HDR) when they shouldn't have been. This PR makes the conditions more strict by checking for SDR<->HDR mismatch, and differentiating being in HDR due to Auto-HDR, or manually usingcm=hdr(edid).Fixing this also brought to light how
cm_sdr_eotf=2would cause DS blockage because rendering sRGB EOTF as Gamma 2.2 on a Gamma 2.2 monitor still compared them incanNoShaderCM()assrgb != gamma22, so I threw in a check for that.Resolves #12104
Is there anything you want to mention? (unchecked code, possible bugs, found problems, breaking compatibility, etc.)
Tested
cm=hdrwith VLC and MPV, and gamescope: No blown-out colorsTested
cm_sdr_eotf=2withvkcube: color management not listed indirectScanoutBlockedByIs it ready for merging, or does it need work?
Ready for merging