From 47dc4b90e46cd83cdef2d79e086effad9eb2472c Mon Sep 17 00:00:00 2001 From: "Pohsiang (John) Hsu" Date: Wed, 3 Dec 2025 18:22:01 -0800 Subject: [PATCH] mediafoundation: propagate PrepareForEncode error up. Reviewed-by: Yubo Xie Part-of: --- src/gallium/frontends/mediafoundation/encode.cpp | 4 ++++ src/gallium/frontends/mediafoundation/macros.h | 8 -------- src/gallium/frontends/mediafoundation/mftransform.cpp | 2 +- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/src/gallium/frontends/mediafoundation/encode.cpp b/src/gallium/frontends/mediafoundation/encode.cpp index 6ccaea1c9e4..ccd83251af4 100644 --- a/src/gallium/frontends/mediafoundation/encode.cpp +++ b/src/gallium/frontends/mediafoundation/encode.cpp @@ -677,6 +677,10 @@ done: *ppDX12EncodeContext = pDX12EncodeContext; pDX12EncodeContext = nullptr; } + else + { + MFE_ERROR( "[dx12 hmft 0x%p] PrepareForEncode - hr=0x%x", this, hr ); + } SAFE_DELETE( pDX12EncodeContext ); SAFE_CLOSEHANDLE( hTexture ); return hr; diff --git a/src/gallium/frontends/mediafoundation/macros.h b/src/gallium/frontends/mediafoundation/macros.h index fe9dfb7a659..18a1e9ea708 100644 --- a/src/gallium/frontends/mediafoundation/macros.h +++ b/src/gallium/frontends/mediafoundation/macros.h @@ -29,14 +29,6 @@ goto label; \ } \ } -#define CHECKHR_HRGOTO( hresult, newhresult, label ) \ - { \ - hr = hresult; \ - if( FAILED( hr ) ) \ - { \ - CHECKHR_GOTO( newhresult, label ); \ - } \ - } #define CHECKBOOL_GOTO( exp, err, label ) \ if( !( exp ) ) \ { \ diff --git a/src/gallium/frontends/mediafoundation/mftransform.cpp b/src/gallium/frontends/mediafoundation/mftransform.cpp index 5f7a2691177..362f9f520f2 100644 --- a/src/gallium/frontends/mediafoundation/mftransform.cpp +++ b/src/gallium/frontends/mediafoundation/mftransform.cpp @@ -2538,7 +2538,7 @@ CDX12EncHMFT::ProcessInput( DWORD dwInputStreamIndex, IMFSample *pSample, DWORD (void) pSample->GetUINT32( MFSampleExtension_ChromaOnly, &unChromaOnly ); // setup the source buffer - CHECKHR_HRGOTO( PrepareForEncode( pSample, &pDX12EncodeContext ), MF_E_INVALIDMEDIATYPE, done ); + CHECKHR_GOTO( PrepareForEncode( pSample, &pDX12EncodeContext ), done ); if( SUCCEEDED( GetQPMapBufferFromSampleLockHeld( pSample, &qpData, &qpSize, qpMapBuffer ) ) && qpMapBuffer ) { pDX12EncodeContext->SetPipeQPMapBufferInfo( qpData, qpSize );