Skip to content

Commit 4e2e160

Browse files
committed
SuperRes: disable for P01X or HDR content, change stat overlay text
Thanks to clsid2 for the suggestions
1 parent 41c757e commit 4e2e160

File tree

1 file changed

+18
-16
lines changed

1 file changed

+18
-16
lines changed

Source/DX11VideoProcessor.cpp

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1586,17 +1586,19 @@ HRESULT CDX11VideoProcessor::InitializeD3D11VP(const FmtConvParams_t& params, co
15861586
}
15871587

15881588
m_iVendorSuperResMode = SUPERRES_None;
1589-
if (m_VendorId == PCIV_NVIDIA) {
1590-
m_iVendorSuperResMode = SUPERRES_Nvidia;
1591-
}
1592-
else if (m_VendorId == PCIV_INTEL) {
1593-
m_iVendorSuperResMode = SUPERRES_Intel;
1594-
}
15951589

1596-
hr = m_D3D11VP.SetSuperRes(m_iVendorSuperResMode);
1597-
if (FAILED(hr)) {
1598-
DLog(L"CDX11VideoProcessor::InitializeD3D11VP() : SetSuperRes() failed with error {}", HR2Str(hr));
1599-
m_iVendorSuperResMode = SUPERRES_None;
1590+
if (!m_bHdrDisplayModeEnabled && !SourceIsHDR() && (params.cformat != CF_P010 && params.cformat != CF_P016)) {
1591+
if (m_VendorId == PCIV_NVIDIA) {
1592+
m_iVendorSuperResMode = SUPERRES_Nvidia;
1593+
} else if (m_VendorId == PCIV_INTEL) {
1594+
m_iVendorSuperResMode = SUPERRES_Intel;
1595+
}
1596+
1597+
hr = m_D3D11VP.SetSuperRes(m_iVendorSuperResMode);
1598+
if (FAILED(hr)) {
1599+
DLog(L"CDX11VideoProcessor::InitializeD3D11VP() : SetSuperRes() failed with error {}", HR2Str(hr));
1600+
m_iVendorSuperResMode = SUPERRES_None;
1601+
}
16001602
}
16011603

16021604
hr = m_D3D11VP.SetColorSpace(m_srcExFmt, m_bHdrDisplayModeEnabled && SourceIsHDR());
@@ -3487,12 +3489,12 @@ HRESULT CDX11VideoProcessor::DrawStats(ID3D11Texture2D* pRenderTarget)
34873489
if (m_D3D11VP.IsReady() && m_bVPScaling && !m_bVPScalingUseShaders) {
34883490
str.append(L" D3D11");
34893491

3490-
if (m_iVendorSuperResMode) {
3491-
if (m_iVendorSuperResMode == SUPERRES_Intel) {
3492-
str.append(L" Intel-VPE");
3493-
} else if (m_iVendorSuperResMode == SUPERRES_Nvidia) {
3494-
str.append(L" Nvidia-VSR");
3495-
}
3492+
// Even though we requested a mode we can't be sure it's actually enabled, user could have disabled in NVCP etc
3493+
// and no error code is returned by VideoProcessorSetXXXExtension, so tag these as requested instead
3494+
if (m_iVendorSuperResMode == SUPERRES_Intel) {
3495+
str.append(L" Intel-VPE-requested");
3496+
} else if (m_iVendorSuperResMode == SUPERRES_Nvidia) {
3497+
str.append(L" Nvidia-VSR-requested");
34963498
}
34973499
} else {
34983500
str += L' ';

0 commit comments

Comments
 (0)