Skip to content

Commit 0a7e23c

Browse files
committed
Исправлен краш при использовании ресайза через VP когда размер текстуры превышает лимит по размеру. В таком случае будет происходить "переход" на ресайз через шейдеры.
1 parent 1c3986c commit 0a7e23c

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

Source/DX11VideoProcessor.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2521,6 +2521,9 @@ void CDX11VideoProcessor::UpdateTexures()
25212521
if (m_bVPScaling) {
25222522
CSize texsize = m_videoRect.Size();
25232523
hr = m_TexConvertOutput.CheckCreate(m_pDevice, m_D3D11OutputFmt, texsize.cx, texsize.cy, Tex2D_DefaultShaderRTarget);
2524+
if (FAILED(hr)) {
2525+
hr = m_TexConvertOutput.CheckCreate(m_pDevice, m_D3D11OutputFmt, m_srcRectWidth, m_srcRectHeight, Tex2D_DefaultShaderRTarget);
2526+
}
25242527
} else {
25252528
hr = m_TexConvertOutput.CheckCreate(m_pDevice, m_D3D11OutputFmt, m_srcRectWidth, m_srcRectHeight, Tex2D_DefaultShaderRTarget);
25262529
}

Source/DX9VideoProcessor.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2184,6 +2184,9 @@ void CDX9VideoProcessor::UpdateTexures()
21842184
std::swap(texsize.cx, texsize.cy);
21852185
}
21862186
hr = m_TexConvertOutput.CheckCreate(m_pD3DDevEx, m_DXVA2OutputFmt, texsize.cx, texsize.cy, D3DUSAGE_RENDERTARGET);
2187+
if (FAILED(hr)) {
2188+
hr = m_TexConvertOutput.CheckCreate(m_pD3DDevEx, m_DXVA2OutputFmt, m_srcRectWidth, m_srcRectHeight, D3DUSAGE_RENDERTARGET);
2189+
}
21872190
} else {
21882191
hr = m_TexConvertOutput.CheckCreate(m_pD3DDevEx, m_DXVA2OutputFmt, m_srcRectWidth, m_srcRectHeight, D3DUSAGE_RENDERTARGET);
21892192
}

0 commit comments

Comments
 (0)