@@ -539,6 +539,8 @@ HRESULT CDX11VideoProcessor::Init(const HWND hwnd, const bool displayHdrChanged,
539539 m_bHdrDisplayModeEnabled = false ;
540540 m_DisplayBitsPerChannel = 8 ;
541541
542+ m_bACMEnabled = false ;
543+
542544 MONITORINFOEXW mi = { sizeof (mi) };
543545 GetMonitorInfoW (MonitorFromWindow (m_hWnd, MONITOR_DEFAULTTOPRIMARY), (MONITORINFO*)&mi);
544546 DisplayConfig_t displayConfig = {};
@@ -547,6 +549,8 @@ HRESULT CDX11VideoProcessor::Init(const HWND hwnd, const bool displayHdrChanged,
547549 m_bHdrDisplayModeEnabled = displayConfig.HDREnabled ();
548550 m_bHdrPassthroughSupport = displayConfig.HDRSupported () && m_bHdrDisplayModeEnabled;
549551 m_DisplayBitsPerChannel = displayConfig.bitsPerChannel ;
552+
553+ m_bACMEnabled = !m_bHdrDisplayModeEnabled && displayConfig.ACMEnabled ();
550554 }
551555
552556 if (m_bIsFullscreen != m_pFilter->m_bIsFullscreen ) {
@@ -1563,6 +1567,8 @@ bool CDX11VideoProcessor::HandleHDRToggle()
15631567 m_bHdrDisplayModeEnabled = displayConfig.HDREnabled ();
15641568 m_bHdrPassthroughSupport = displayConfig.HDRSupported () && m_bHdrDisplayModeEnabled;
15651569 m_DisplayBitsPerChannel = displayConfig.bitsPerChannel ;
1570+
1571+ m_bACMEnabled = !m_bHdrDisplayModeEnabled && displayConfig.ACMEnabled ();
15661572 }
15671573 }
15681574
@@ -1812,7 +1818,7 @@ HRESULT CDX11VideoProcessor::InitializeD3D11VP(const FmtConvParams_t& params, co
18121818 return hr;
18131819 }
18141820
1815- auto superRes = (m_bVPScaling && params.CDepth == 8 && !(m_bHdrPassthroughSupport && m_bHdrPassthrough && SourceIsHDR ())) ? m_iVPSuperRes : SUPERRES_Disable;
1821+ auto superRes = (m_bVPScaling && ( params.CDepth == 8 || !m_bACMEnabled) && !(m_bHdrPassthroughSupport && m_bHdrPassthrough && SourceIsHDR ())) ? m_iVPSuperRes : SUPERRES_Disable;
18161822 m_bVPUseSuperRes = (m_D3D11VP.SetSuperRes (superRes) == S_OK);
18171823
18181824 auto rtxHDR = m_bVPRTXVideoHDR && m_bHdrPassthroughSupport && m_bHdrPassthrough && m_iTexFormat != TEXFMT_8INT && !SourceIsHDR ();
@@ -3588,7 +3594,7 @@ void CDX11VideoProcessor::Configure(const Settings_t& config)
35883594 }
35893595
35903596 if (changeSuperRes) {
3591- auto superRes = (m_bVPScaling && m_srcParams.CDepth == 8 && !(m_bHdrPassthroughSupport && m_bHdrPassthrough && SourceIsHDR ())) ? m_iVPSuperRes : SUPERRES_Disable;
3597+ auto superRes = (m_bVPScaling && ( m_srcParams.CDepth == 8 || !m_bACMEnabled) && !(m_bHdrPassthroughSupport && m_bHdrPassthrough && SourceIsHDR ())) ? m_iVPSuperRes : SUPERRES_Disable;
35923598 m_bVPUseSuperRes = (m_D3D11VP.SetSuperRes (superRes) == S_OK);
35933599 }
35943600
0 commit comments