From 82a4eb961120b4ddb1f36c51c64c363478a342de Mon Sep 17 00:00:00 2001 From: Cai_Jianxing Date: Mon, 4 Sep 2023 16:36:51 +0800 Subject: [PATCH] [Media Common] [VP] fix coverityent issue fix coverityent issue! --- media_driver/agnostic/common/os/mos_os_virtualengine.cpp | 4 +++- media_driver/agnostic/common/vp/hal/vphal_renderer.cpp | 7 ++++++- media_driver/agnostic/gen12/hw/mhw_state_heap_g12.c | 4 ++-- .../agnostic/gen12/vp/hal/vphal_render_composite_g12.h | 6 ++++++ media_softlet/agnostic/common/hw/mhw_sfc_impl.h | 6 ------ media_softlet/agnostic/common/hw/mhw_state_heap.cpp | 2 +- .../agnostic/common/vp/hal/feature_manager/policy.cpp | 1 + .../agnostic/common/vp/hal/features/vp_csc_filter.cpp | 2 +- 8 files changed, 20 insertions(+), 12 deletions(-) diff --git a/media_driver/agnostic/common/os/mos_os_virtualengine.cpp b/media_driver/agnostic/common/os/mos_os_virtualengine.cpp index 5b305435a5..75dbc5a73d 100644 --- a/media_driver/agnostic/common/os/mos_os_virtualengine.cpp +++ b/media_driver/agnostic/common/os/mos_os_virtualengine.cpp @@ -97,6 +97,7 @@ MOS_STATUS Mos_VirtualEngineInterface_Initialize( if (pOsInterface->apoMosEnabled) { + MOS_OS_CHK_NULL(pOsInterface->osStreamState); if (pVEInitParms->bScalabilitySupported) { pVEInterf->veInterface = MOS_New(MosOsVeScalabilitySpecific); @@ -106,12 +107,13 @@ MOS_STATUS Mos_VirtualEngineInterface_Initialize( pVEInterf->veInterface = MOS_New(MosOsVeSinglePipeSpecific); } MOS_OS_CHK_NULL(pVEInterf->veInterface); - MOS_OS_CHK_NULL(pOsInterface->osStreamState); pVEInterf->veInterface->Initialize(pOsInterface->osStreamState, pVEInitParms); pOsInterface->osStreamState->virtualEngineInterface = pVEInterf->veInterface; } + return eStatus; finish: + MOS_SafeFreeMemory(pVEInterf); return eStatus; } diff --git a/media_driver/agnostic/common/vp/hal/vphal_renderer.cpp b/media_driver/agnostic/common/vp/hal/vphal_renderer.cpp index 73ca53ab07..44bae827d0 100644 --- a/media_driver/agnostic/common/vp/hal/vphal_renderer.cpp +++ b/media_driver/agnostic/common/vp/hal/vphal_renderer.cpp @@ -1002,7 +1002,12 @@ void VphalRenderer::UpdateReport( { MOS_ZeroMemory(&Info, sizeof(VPHAL_GET_SURFACE_INFO)); - VpHal_GetSurfaceInfo(m_pOsInterface, &Info, pRenderParams->pTarget[0]); + MOS_STATUS status = VpHal_GetSurfaceInfo(m_pOsInterface, &Info, pRenderParams->pTarget[0]); + if (MOS_STATUS_SUCCESS != status) + { + VPHAL_PUBLIC_ASSERTMESSAGE("VpHal_GetSurfaceInfo failed!"); + return; + } m_reporting->GetFeatures().rtCompressible = true; m_reporting->GetFeatures().rtCompressMode = (uint8_t)(pRenderParams->pTarget[0]->CompressionMode); } diff --git a/media_driver/agnostic/gen12/hw/mhw_state_heap_g12.c b/media_driver/agnostic/gen12/hw/mhw_state_heap_g12.c index 986c928ac8..fce24bd17a 100644 --- a/media_driver/agnostic/gen12/hw/mhw_state_heap_g12.c +++ b/media_driver/agnostic/gen12/hw/mhw_state_heap_g12.c @@ -151,8 +151,8 @@ MOS_STATUS MHW_STATE_HEAP_INTERFACE_G12_X::AddInterfaceDescriptorData( // need to subtract memory block's offset in current state heap for AddData API offset -= pParams->memoryBlock->GetOffset(); - pParams->memoryBlock->AddData(pInterfaceDescriptor, offset, - sizeof(mhw_state_heap_g12_X::INTERFACE_DESCRIPTOR_DATA_CMD)); + MHW_MI_CHK_STATUS(pParams->memoryBlock->AddData(pInterfaceDescriptor, offset, + sizeof(mhw_state_heap_g12_X::INTERFACE_DESCRIPTOR_DATA_CMD))); MOS_SafeFreeMemory(pInterfaceDescriptor); diff --git a/media_driver/agnostic/gen12/vp/hal/vphal_render_composite_g12.h b/media_driver/agnostic/gen12/vp/hal/vphal_render_composite_g12.h index a776f6e456..c875ce9672 100644 --- a/media_driver/agnostic/gen12/vp/hal/vphal_render_composite_g12.h +++ b/media_driver/agnostic/gen12/vp/hal/vphal_render_composite_g12.h @@ -69,6 +69,12 @@ class CompositeStateG12 : virtual public CompositeState m_bYV12iAvsScaling = true; // On Gen9+, iAVS scaling can support YV12 input format m_bEnableSamplerLumakey = true; + if (!peStatus) + { + VPHAL_PUBLIC_ASSERTMESSAGE("Got null peStatus!"); + return; + } + if (*peStatus != MOS_STATUS_SUCCESS) { // super class constructor failed, return directly diff --git a/media_softlet/agnostic/common/hw/mhw_sfc_impl.h b/media_softlet/agnostic/common/hw/mhw_sfc_impl.h index 7f0b7d1f90..79992a0b42 100644 --- a/media_softlet/agnostic/common/hw/mhw_sfc_impl.h +++ b/media_softlet/agnostic/common/hw/mhw_sfc_impl.h @@ -68,12 +68,6 @@ class Impl : public Itf, public mhw::Impl m_indexofSfc = 0; m_numofSfc = 1; - if (osItf == nullptr) - { - MHW_ASSERTMESSAGE("Invalid Input Parameter: m_osInterface is nullptr"); - return; - } - // Get Memory control object directly from MOS. // If any override is needed, something like pfnOverrideMemoryObjectCtrl() / pfnComposeSurfaceCacheabilityControl() // will need to be implemented. diff --git a/media_softlet/agnostic/common/hw/mhw_state_heap.cpp b/media_softlet/agnostic/common/hw/mhw_state_heap.cpp index e42bcb1344..2d01e57948 100644 --- a/media_softlet/agnostic/common/hw/mhw_state_heap.cpp +++ b/media_softlet/agnostic/common/hw/mhw_state_heap.cpp @@ -1009,7 +1009,7 @@ MOS_STATUS XMHW_STATE_HEAP_INTERFACE::InitializeInterface( m_dshManager.RegisterOsInterface(m_pOsInterface); m_dshManager.SetDefaultBehavior(StateHeapSettings.m_dshBehavior); - m_dshManager.SetInitialHeapSize(StateHeapSettings.dwDshSize); + MHW_MI_CHK_STATUS(m_dshManager.SetInitialHeapSize(StateHeapSettings.dwDshSize)); if (StateHeapSettings.m_dshBehavior == HeapManager::Behavior::extend || StateHeapSettings.m_dshBehavior == HeapManager::Behavior::destructiveExtend || StateHeapSettings.m_dshBehavior == HeapManager::Behavior::waitAndExtend) diff --git a/media_softlet/agnostic/common/vp/hal/feature_manager/policy.cpp b/media_softlet/agnostic/common/vp/hal/feature_manager/policy.cpp index 72d4508de9..e8ad2aadde 100644 --- a/media_softlet/agnostic/common/vp/hal/feature_manager/policy.cpp +++ b/media_softlet/agnostic/common/vp/hal/feature_manager/policy.cpp @@ -3107,6 +3107,7 @@ MOS_STATUS Policy::LayerSelectForProcess(std::vector &layerIndexes, SwFilte VP_PUBLIC_NORMALMESSAGE("target, gpuVa = 0x%llx", gpuVa); PolicyFcHandler *fcHandler = dynamic_cast(it->second); + VP_PUBLIC_CHK_NULL_RETURN(fcHandler); VP_PUBLIC_CHK_STATUS_RETURN(fcHandler->LayerSelectForProcess(layerIndexes, featurePipe, caps)); if (layerIndexes.size() < featurePipe.GetSurfaceCount(true)) diff --git a/media_softlet/agnostic/common/vp/hal/features/vp_csc_filter.cpp b/media_softlet/agnostic/common/vp/hal/features/vp_csc_filter.cpp index f50480d055..f922daa290 100644 --- a/media_softlet/agnostic/common/vp/hal/features/vp_csc_filter.cpp +++ b/media_softlet/agnostic/common/vp/hal/features/vp_csc_filter.cpp @@ -246,7 +246,7 @@ MOS_STATUS VpCscFilter::CalculateSfcEngineParams() m_sfcCSCParams->iefParams = m_cscParams.pIEFParams; } - m_cscParams.input.colorSpace = m_cscParams.input.colorSpace; + m_sfcCSCParams->inputColorSpace = m_cscParams.input.colorSpace; // IsDitheringNeeded should be called before input format being updated by GetSfcInputFormat m_sfcCSCParams->isDitheringNeeded = IsDitheringNeeded(m_cscParams.formatInput, m_cscParams.formatOutput);