[Media Common] Add OCA interface for resource info
Add OCA interface for resource info.
diff --git a/media_driver/agnostic/common/hw/mhw_utilities.c b/media_driver/agnostic/common/hw/mhw_utilities.c
index 260407a..168e668 100644
--- a/media_driver/agnostic/common/hw/mhw_utilities.c
+++ b/media_driver/agnostic/common/hw/mhw_utilities.c
@@ -152,6 +152,17 @@
&PatchEntryParams));
}
+ if (MOS_VEBOX_STATE == pParams->HwCommandType ||
+ MOS_VEBOX_DI_IECP == pParams->HwCommandType ||
+ MOS_VEBOX_TILING_CONVERT == pParams->HwCommandType ||
+ MOS_SFC_STATE == pParams->HwCommandType ||
+ MOS_STATE_BASE_ADDR == pParams->HwCommandType ||
+ MOS_SURFACE_STATE == pParams->HwCommandType ||
+ MOS_SURFACE_STATE_ADV == pParams->HwCommandType)
+ {
+ HalOcaInterface::DumpResourceInfo(*pCmdBuffer, *pOsInterface, *pParams->presResource);
+ }
+
finish:
return eStatus;
}
diff --git a/media_driver/agnostic/common/os/mos_oca_interface.h b/media_driver/agnostic/common/os/mos_oca_interface.h
index 70fb64e..16f5953 100644
--- a/media_driver/agnostic/common/os/mos_oca_interface.h
+++ b/media_driver/agnostic/common/os/mos_oca_interface.h
@@ -198,6 +198,22 @@
}
//!
+ //! \brief Add resource to dump list.
+ //! \param [in] hOcaBuf
+ //! Oca buffer handle.
+ //! \param [in] mosCtx
+ //! DDI device context.
+ //! \param [in] resource
+ //! Reference to MOS_RESOURCE.
+ //! \return MOS_STATUS
+ //! Return MOS_STATUS_SUCCESS if successful, otherwise failed
+ //!
+ virtual MOS_STATUS AddResourceToDumpList(MOS_OCA_BUFFER_HANDLE hOcaBuf, PMOS_CONTEXT mosCtx, MOS_RESOURCE &resource)
+ {
+ return MOS_STATUS_UNIMPLEMENTED;
+ }
+
+ //!
//! \brief Add data block to oca log section.
//! \param [in] hOcaBuf
//! Oca buffer handle.
diff --git a/media_driver/agnostic/common/renderhal/hal_oca_interface.h b/media_driver/agnostic/common/renderhal/hal_oca_interface.h
index a1f027d..d147d8f 100644
--- a/media_driver/agnostic/common/renderhal/hal_oca_interface.h
+++ b/media_driver/agnostic/common/renderhal/hal_oca_interface.h
@@ -171,6 +171,19 @@
//! \brief Add vp kernel info to oca log section.
//! \param [in] cmdBuffer
//! Command buffer for current BB.
+ //! \param [in] osInterface
+ //! Reference to MOS_INTERFACE.
+ //! \param [in] res
+ //! Reference to MOS_RESOURCE.
+ //! \return void
+ //! No return value. Handle all exception inside the function.
+ //!
+ static void DumpResourceInfo(MOS_COMMAND_BUFFER &cmdBuffer, MOS_INTERFACE &osInterface, MOS_RESOURCE &res);
+
+ //!
+ //! \brief Add vp kernel info to oca log section.
+ //! \param [in] cmdBuffer
+ //! Command buffer for current BB.
//! \param [in] mosContext
//! Reference to MOS_CONTEXT.
//! \param [in] vpKernelID
diff --git a/media_driver/agnostic/common/renderhal/renderhal.cpp b/media_driver/agnostic/common/renderhal/renderhal.cpp
index dbee9e3..80e87cd 100644
--- a/media_driver/agnostic/common/renderhal/renderhal.cpp
+++ b/media_driver/agnostic/common/renderhal/renderhal.cpp
@@ -6708,6 +6708,11 @@
*(pdwCmd + 1) = pSurfaceStateToken->DW5.SurfaceBaseAddress64;
}
+ if (pSurfaceStateToken->pResourceInfo)
+ {
+ HalOcaInterface::DumpResourceInfo(*pCmdBuffer, *pOsInterface, *(PMOS_RESOURCE)(pSurfaceStateToken->pResourceInfo));
+ }
+
MOS_PATCH_ENTRY_PARAMS PatchEntryParams;
uint8_t *pbPtrCmdBuf = (uint8_t *)pCmdBuffer->pCmdBase;
diff --git a/media_driver/linux/common/renderhal/hal_oca_interface.cpp b/media_driver/linux/common/renderhal/hal_oca_interface.cpp
index d1c2c0d..e78b868 100644
--- a/media_driver/linux/common/renderhal/hal_oca_interface.cpp
+++ b/media_driver/linux/common/renderhal/hal_oca_interface.cpp
@@ -183,6 +183,21 @@
//! \brief Add vp kernel info to oca log section.
//! \param [in] cmdBuffer
//! Command buffer for current BB.
+//! \param [in] osInterface
+//! Reference to MOS_INTERFACE.
+//! \param [in] res
+//! Reference to MOS_RESOURCE.
+//! \return void
+//! No return value. Handle all exception inside the function.
+//!
+void HalOcaInterface::DumpResourceInfo(MOS_COMMAND_BUFFER &cmdBuffer, MOS_INTERFACE &osInterface, MOS_RESOURCE &res)
+{
+}
+
+//!
+//! \brief Add vp kernel info to oca log section.
+//! \param [in] cmdBuffer
+//! Command buffer for current BB.
//! \param [in] mosContext
//! Reference to MOS_CONTEXT.
//! \param [in] vpKernelID