diff options
| author | Dominick DiMaggio <ddimaggio324@gmail.com> | 2025-12-11 18:50:57 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-12-11 23:50:57 +0000 |
| commit | 5700736505557363f8574f5abcc6c0f489821466 (patch) | |
| tree | 33583b86aa8e1d4a41381aca3cf6da5e86f6b749 /src/render/OpenGL.cpp | |
| parent | 75f6435f70dee8f8b685a02c52db7ba16f5db39c (diff) | |
cm: handle CM for SDR content with cm=hdr, cm_sdr_eotf=2 (#12127)
Diffstat (limited to 'src/render/OpenGL.cpp')
| -rw-r--r-- | src/render/OpenGL.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/render/OpenGL.cpp b/src/render/OpenGL.cpp index ae01d2a1..6b5e35f1 100644 --- a/src/render/OpenGL.cpp +++ b/src/render/OpenGL.cpp @@ -1715,7 +1715,9 @@ void CHyprOpenGLImpl::renderTextureInternal(SP<CTexture> tex, const CBox& box, c const bool skipCM = !*PENABLECM || !m_cmSupported /* CM unsupported or disabled */ || m_renderData.pMonitor->doesNoShaderCM() /* no shader needed */ || (imageDescription == m_renderData.pMonitor->m_imageDescription && !data.cmBackToSRGB) /* Source and target have the same image description */ - || (((*PPASS && canPassHDRSurface) || (*PPASS == 1 && !isHDRSurface)) && m_renderData.pMonitor->inFullscreenMode()) /* Fullscreen window with pass cm enabled */; + || (((*PPASS && canPassHDRSurface) || + (*PPASS == 1 && !isHDRSurface && m_renderData.pMonitor->m_cmType != NCMType::CM_HDR && m_renderData.pMonitor->m_cmType != NCMType::CM_HDR_EDID)) && + m_renderData.pMonitor->inFullscreenMode()) /* Fullscreen window with pass cm enabled */; if (!skipCM && !usingFinalShader && (texType == TEXTURE_RGBA || texType == TEXTURE_RGBX)) shader = &m_shaders->m_shCM; |
