From fe5db7f97d25362c3fe63cfa07c183e666536455 Mon Sep 17 00:00:00 2001 From: Xaver Hugl Date: Tue, 13 Aug 2024 14:45:25 +0200 Subject: [PATCH] backends/drm: disable degamma_lut and ctm on NVidia The NVidia driver maps them to hardware planes, which means they do not apply to the cursor because the cursor plane doesn't have these color operations. BUG: 491634 --- src/backends/drm/drm_crtc.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backends/drm/drm_crtc.cpp b/src/backends/drm/drm_crtc.cpp index 858d41cfb0..6a567f2a9e 100644 --- a/src/backends/drm/drm_crtc.cpp +++ b/src/backends/drm/drm_crtc.cpp @@ -55,11 +55,11 @@ bool DrmCrtc::updateProperties() m_postBlendingColorOps.push_back(std::make_unique(next, &gammaLut, gammaLutSize.value())); next = m_postBlendingColorOps.back().get(); } - if (ctm.isValid()) { + if (!gpu()->isNVidia() && ctm.isValid()) { m_postBlendingColorOps.push_back(std::make_unique(next, &ctm)); next = m_postBlendingColorOps.back().get(); } - if (degammaLut.isValid() && degammaLutSize.isValid() && degammaLutSize.value() > 0) { + if (!gpu()->isNVidia() && degammaLut.isValid() && degammaLutSize.isValid() && degammaLutSize.value() > 0) { m_postBlendingColorOps.push_back(std::make_unique(next, °ammaLut, degammaLutSize.value())); next = m_postBlendingColorOps.back().get(); }