mediafoundation: turn on slice auto on frames with dirty rect only

Reviewed-by: Yubo Xie <yuboxie@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38857>
This commit is contained in:
Pohsiang (John) Hsu 2025-12-01 12:16:30 -08:00 committed by Marge Bot
parent 095c2acf01
commit 10138e5b42
2 changed files with 10 additions and 10 deletions

View file

@ -341,11 +341,6 @@ CDX12EncHMFT::PrepareForEncodeHelper( LPDX12EncodeContext pDX12EncodeContext, bo
if( m_uiDirtyRectEnabled )
{
if( m_EncoderCapabilities.m_HWSupportDirtyRects.bits.supports_require_auto_slice_mode )
{
pPicInfo->slice_mode = PIPE_VIDEO_SLICE_MODE_AUTO;
}
if( dirtyRectFrameNumSet )
{
DIRTYRECT_INFO *pDirtyRectInfo = (DIRTYRECT_INFO *) m_pDirtyRectBlob.data();
@ -357,6 +352,11 @@ CDX12EncHMFT::PrepareForEncodeHelper( LPDX12EncodeContext pDX12EncodeContext, bo
uint8_t surfaceIndex = UINT8_MAX;
uint32_t search = dirtyRectFrameNum - 1;
if( m_EncoderCapabilities.m_HWSupportDirtyRects.bits.supports_require_auto_slice_mode )
{
pPicInfo->slice_mode = PIPE_VIDEO_SLICE_MODE_AUTO;
}
CHECKHR_GOTO( ValidateDirtyRects( pDX12EncodeContext, pDirtyRectInfo ), done );
assert( cur_frame_desc->dirty_rect_frame_num.size() == cur_frame_desc->dpb_snapshot.size() );

View file

@ -324,11 +324,6 @@ CDX12EncHMFT::PrepareForEncodeHelper( LPDX12EncodeContext pDX12EncodeContext, bo
if( m_uiDirtyRectEnabled )
{
if( m_EncoderCapabilities.m_HWSupportDirtyRects.bits.supports_require_auto_slice_mode )
{
pPicInfo->slice_mode = PIPE_VIDEO_SLICE_MODE_AUTO;
}
if( dirtyRectFrameNumSet )
{
DIRTYRECT_INFO *pDirtyRectInfo = (DIRTYRECT_INFO *) m_pDirtyRectBlob.data();
@ -340,6 +335,11 @@ CDX12EncHMFT::PrepareForEncodeHelper( LPDX12EncodeContext pDX12EncodeContext, bo
uint8_t surfaceIndex = UINT8_MAX;
uint32_t search = dirtyRectFrameNum - 1;
if( m_EncoderCapabilities.m_HWSupportDirtyRects.bits.supports_require_auto_slice_mode )
{
pPicInfo->slice_mode = PIPE_VIDEO_SLICE_MODE_AUTO;
}
CHECKHR_GOTO( ValidateDirtyRects( pDX12EncodeContext, pDirtyRectInfo ), done );
assert( cur_frame_desc->dirty_rect_frame_num.size() == cur_frame_desc->dpb_snapshot.size() );