diff --git a/media_driver/media_softlet/agnostic/common/vp/hal/packet/vp_vebox_cmd_packet_legacy.cpp b/media_driver/media_softlet/agnostic/common/vp/hal/packet/vp_vebox_cmd_packet_legacy.cpp index 0ed7f4f1ac..5357b46304 100644 --- a/media_driver/media_softlet/agnostic/common/vp/hal/packet/vp_vebox_cmd_packet_legacy.cpp +++ b/media_driver/media_softlet/agnostic/common/vp/hal/packet/vp_vebox_cmd_packet_legacy.cpp @@ -2102,6 +2102,10 @@ MOS_STATUS VpVeboxCmdPacketLegacy::RenderVeboxCmd( VP_RENDER_CHK_STATUS_RETURN(pRenderHal->pRenderHalPltInterface->AddPerfCollectEndCmd(pRenderHal, pOsInterface, pCmdBufferInUse)); +#if (_DEBUG || _RELEASE_INTERNAL) + VP_RENDER_CHK_STATUS_RETURN(StallBatchBuffer(pCmdBufferInUse)); +#endif + HalOcaInterface::On1stLevelBBEnd(*pCmdBufferInUse, *pOsInterface); if (pOsInterface->bNoParsingAssistanceInKmd) diff --git a/media_driver/media_softlet/agnostic/common/vp/hal/packet/vp_vebox_cmd_packet_legacy.h b/media_driver/media_softlet/agnostic/common/vp/hal/packet/vp_vebox_cmd_packet_legacy.h index 6acb41ab47..40d928e4a6 100644 --- a/media_driver/media_softlet/agnostic/common/vp/hal/packet/vp_vebox_cmd_packet_legacy.h +++ b/media_driver/media_softlet/agnostic/common/vp/hal/packet/vp_vebox_cmd_packet_legacy.h @@ -804,6 +804,15 @@ class VpVeboxCmdPacketLegacy : virtual public VpVeboxCmdPacketBase MOS_STATUS SetupVebox3DLutForHDR( PMHW_VEBOX_STATE_CMD_PARAMS pVeboxStateCmdParams); +protected: +#if (_DEBUG || _RELEASE_INTERNAL) + virtual MOS_STATUS StallBatchBuffer( + PMOS_COMMAND_BUFFER cmdBuffer) + { + return MOS_STATUS_SUCCESS; + } +#endif + private: //! diff --git a/media_softlet/agnostic/common/shared/packet/media_render_cmd_packet.cpp b/media_softlet/agnostic/common/shared/packet/media_render_cmd_packet.cpp index f1a0603a3e..5f374f7c2b 100644 --- a/media_softlet/agnostic/common/shared/packet/media_render_cmd_packet.cpp +++ b/media_softlet/agnostic/common/shared/packet/media_render_cmd_packet.cpp @@ -212,6 +212,10 @@ MOS_STATUS RenderCmdPacket::Submit(MOS_COMMAND_BUFFER *commandBuffer, uint8_t pa RENDER_PACKET_CHK_STATUS_RETURN(m_renderHal->pRenderHalPltInterface->AddMediaStateFlush(m_renderHal, commandBuffer, &FlushParam)); } +#if (_DEBUG || _RELEASE_INTERNAL) + RENDER_PACKET_CHK_STATUS_RETURN(StallBatchBuffer(commandBuffer)); +#endif + HalOcaInterfaceNext::On1stLevelBBEnd(*commandBuffer, *pOsInterface); if (pBatchBuffer) diff --git a/media_softlet/agnostic/common/shared/packet/media_render_cmd_packet.h b/media_softlet/agnostic/common/shared/packet/media_render_cmd_packet.h index 060ec64fed..19fee205ca 100644 --- a/media_softlet/agnostic/common/shared/packet/media_render_cmd_packet.h +++ b/media_softlet/agnostic/common/shared/packet/media_render_cmd_packet.h @@ -220,6 +220,14 @@ class RenderCmdPacket : virtual public CmdPacket, public mhw::mi::Itf::ParSettin bool m_isMultiKernelOneMediaState = false; +#if (_DEBUG || _RELEASE_INTERNAL) + virtual MOS_STATUS StallBatchBuffer( + PMOS_COMMAND_BUFFER cmdBuffer) + { + return MOS_STATUS_SUCCESS; + } +#endif + protected: // Step5: Load Kernel virtual MOS_STATUS LoadKernel(); diff --git a/media_softlet/agnostic/common/vp/hal/packet/vp_render_cmd_packet.cpp b/media_softlet/agnostic/common/vp/hal/packet/vp_render_cmd_packet.cpp index e4ed84dd42..20e14056e8 100644 --- a/media_softlet/agnostic/common/vp/hal/packet/vp_render_cmd_packet.cpp +++ b/media_softlet/agnostic/common/vp/hal/packet/vp_render_cmd_packet.cpp @@ -97,13 +97,16 @@ VpRenderCmdPacket::~VpRenderCmdPacket() MOS_FreeMemAndSetNull(samplerstate.second.Avs.pMhwSamplerAvsTableParam); } } + MOS_Delete(m_surfMemCacheCtl); MOS_Delete(m_enlargedStateHeapSetting); } MOS_STATUS VpRenderCmdPacket::Init() { - return RenderCmdPacket::Init(); + VP_RENDER_CHK_STATUS_RETURN(RenderCmdPacket::Init()); + + return MOS_STATUS_SUCCESS; } MOS_STATUS VpRenderCmdPacket::LoadKernel() @@ -1703,6 +1706,10 @@ MOS_STATUS VpRenderCmdPacket::SubmitWithMultiKernel(MOS_COMMAND_BUFFER *commandB RENDER_PACKET_CHK_STATUS_RETURN(m_renderHal->pRenderHalPltInterface->AddMediaStateFlush(m_renderHal, commandBuffer, &FlushParam)); } +#if (_DEBUG || _RELEASE_INTERNAL) + RENDER_PACKET_CHK_STATUS_RETURN(StallBatchBuffer(commandBuffer)); +#endif + HalOcaInterfaceNext::On1stLevelBBEnd(*commandBuffer, *pOsInterface); if (pBatchBuffer) diff --git a/media_softlet/agnostic/common/vp/hal/packet/vp_vebox_cmd_packet.cpp b/media_softlet/agnostic/common/vp/hal/packet/vp_vebox_cmd_packet.cpp index 945f1233c5..234030581a 100644 --- a/media_softlet/agnostic/common/vp/hal/packet/vp_vebox_cmd_packet.cpp +++ b/media_softlet/agnostic/common/vp/hal/packet/vp_vebox_cmd_packet.cpp @@ -1922,6 +1922,10 @@ MOS_STATUS VpVeboxCmdPacket::RenderVeboxCmd( VP_RENDER_CHK_STATUS_RETURN(pRenderHal->pRenderHalPltInterface->AddPerfCollectEndCmd(pRenderHal, pOsInterface, pCmdBufferInUse)); +#if (_DEBUG || _RELEASE_INTERNAL) + VP_RENDER_CHK_STATUS_RETURN(StallBatchBuffer(pCmdBufferInUse)); +#endif + HalOcaInterfaceNext::On1stLevelBBEnd(*pCmdBufferInUse, *pOsInterface); if (pOsInterface->bNoParsingAssistanceInKmd) diff --git a/media_softlet/agnostic/common/vp/hal/packet/vp_vebox_cmd_packet.h b/media_softlet/agnostic/common/vp/hal/packet/vp_vebox_cmd_packet.h index 288200d1af..7043fcdc8a 100644 --- a/media_softlet/agnostic/common/vp/hal/packet/vp_vebox_cmd_packet.h +++ b/media_softlet/agnostic/common/vp/hal/packet/vp_vebox_cmd_packet.h @@ -929,6 +929,14 @@ class VpVeboxCmdPacket : virtual public VpVeboxCmdPacketBase mhw::vebox::MHW_VEBOX_CHROMA_PARAMS veboxChromaParams = {}; +#if (_DEBUG || _RELEASE_INTERNAL) + virtual MOS_STATUS StallBatchBuffer( + PMOS_COMMAND_BUFFER cmdBuffer) + { + return MOS_STATUS_SUCCESS; + } +#endif + protected: //!