From 3fc8cb828c0adf2c5f1a499f13ab922f36b86d08 Mon Sep 17 00:00:00 2001 From: Dominick DiMaggio Date: Fri, 7 Nov 2025 09:02:26 -0500 Subject: [PATCH] cm: follow preferred srgb eotf for screencopy (#12230) --- src/render/OpenGL.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/render/OpenGL.cpp b/src/render/OpenGL.cpp index 02da142fc..baf69b968 100644 --- a/src/render/OpenGL.cpp +++ b/src/render/OpenGL.cpp @@ -1711,7 +1711,9 @@ void CHyprOpenGLImpl::renderTextureInternal(SP tex, const CBox& box, c // revert luma changes to avoid black screenshots. // this will likely not be 1:1, and might cause screenshots to be too bright, but it's better than pitch black. imageDescription.luminances = {}; - passCMUniforms(*shader, imageDescription, NColorManagement::SImageDescription{}, true, -1, -1); + static auto PSDREOTF = CConfigValue("render:cm_sdr_eotf"); + auto chosenSdrEotf = *PSDREOTF > 0 ? NColorManagement::CM_TRANSFER_FUNCTION_GAMMA22 : NColorManagement::CM_TRANSFER_FUNCTION_SRGB; + passCMUniforms(*shader, imageDescription, NColorManagement::SImageDescription{.transferFunction = chosenSdrEotf}, true, -1, -1); } else passCMUniforms(*shader, imageDescription); }