From ab126a668746d7f717a492a2c0393225d2b7bdfb Mon Sep 17 00:00:00 2001 From: bowang1 Date: Fri, 28 Feb 2020 05:11:42 +0800 Subject: [PATCH] [CP] Enable CP OCA dump on Gen12 codec Add cp param dump in existing codec OCA dump on Gen12 platform Change-Id: Ie5323f71e571abd0b0b29978068439736594c96d --- .../gen12/codec/hal/codechal_decode_avc_g12.cpp | 5 +++++ .../gen12/codec/hal/codechal_decode_hevc_g12.cpp | 5 +++++ .../gen12/codec/hal/codechal_decode_jpeg_g12.cpp | 5 +++++ .../gen12/codec/hal/codechal_decode_mpeg2_g12.cpp | 5 +++++ .../gen12/codec/hal/codechal_decode_vc1_g12.cpp | 10 ++++++++++ .../gen12/codec/hal/codechal_decode_vp8_g12.cpp | 5 +++++ .../gen12/codec/hal/codechal_vdenc_hevc_g12.cpp | 5 +++++ 7 files changed, 40 insertions(+) diff --git a/media_driver/agnostic/gen12/codec/hal/codechal_decode_avc_g12.cpp b/media_driver/agnostic/gen12/codec/hal/codechal_decode_avc_g12.cpp index 229fc27d11f..99de7259365 100644 --- a/media_driver/agnostic/gen12/codec/hal/codechal_decode_avc_g12.cpp +++ b/media_driver/agnostic/gen12/codec/hal/codechal_decode_avc_g12.cpp @@ -412,6 +412,11 @@ MOS_STATUS CodechalDecodeAvcG12::DecodePrimitiveLevel() CodecHalDecodeSinglePipeVE_PopulateHintParams(m_veState, &cmdBuffer, true); } + if (m_osInterface->osCpInterface->IsHMEnabled()) + { + HalOcaInterface::DumpCpParam(cmdBuffer, *m_osInterface->pOsContext, m_osInterface->osCpInterface->GetOcaDumper()); + } + HalOcaInterface::On1stLevelBBEnd(cmdBuffer, *m_osInterface->pOsContext); CODECHAL_DECODE_CHK_STATUS_RETURN(m_osInterface->pfnSubmitCommandBuffer(m_osInterface, &cmdBuffer, m_videoContextUsesNullHw)); diff --git a/media_driver/agnostic/gen12/codec/hal/codechal_decode_hevc_g12.cpp b/media_driver/agnostic/gen12/codec/hal/codechal_decode_hevc_g12.cpp index 5b59fbdb277..35ac31d6eee 100644 --- a/media_driver/agnostic/gen12/codec/hal/codechal_decode_hevc_g12.cpp +++ b/media_driver/agnostic/gen12/codec/hal/codechal_decode_hevc_g12.cpp @@ -2072,6 +2072,11 @@ MOS_STATUS CodechalDecodeHevcG12::DecodePrimitiveLevel() submitCommand = CodecHalDecodeScalabilityIsToSubmitCmdBuffer_G12(m_scalabilityState); } + if (m_osInterface->osCpInterface->IsHMEnabled()) + { + HalOcaInterface::DumpCpParam(primCmdBuffer, *m_osInterface->pOsContext, m_osInterface->osCpInterface->GetOcaDumper()); + } + HalOcaInterface::On1stLevelBBEnd(primCmdBuffer, *m_osInterface->pOsContext); if (submitCommand || m_osInterface->phasedSubmission) diff --git a/media_driver/agnostic/gen12/codec/hal/codechal_decode_jpeg_g12.cpp b/media_driver/agnostic/gen12/codec/hal/codechal_decode_jpeg_g12.cpp index 724212d86a1..5698437831f 100644 --- a/media_driver/agnostic/gen12/codec/hal/codechal_decode_jpeg_g12.cpp +++ b/media_driver/agnostic/gen12/codec/hal/codechal_decode_jpeg_g12.cpp @@ -524,6 +524,11 @@ MOS_STATUS CodechalDecodeJpegG12::DecodePrimitiveLevel() CodecHalDecodeSinglePipeVE_PopulateHintParams(m_veState, &cmdBuffer, false); } + if (m_osInterface->osCpInterface->IsHMEnabled()) + { + HalOcaInterface::DumpCpParam(cmdBuffer, *m_osInterface->pOsContext, m_osInterface->osCpInterface->GetOcaDumper()); + } + HalOcaInterface::On1stLevelBBEnd(cmdBuffer, *m_osInterface->pOsContext); CODECHAL_DECODE_CHK_STATUS_RETURN(m_osInterface->pfnSubmitCommandBuffer( diff --git a/media_driver/agnostic/gen12/codec/hal/codechal_decode_mpeg2_g12.cpp b/media_driver/agnostic/gen12/codec/hal/codechal_decode_mpeg2_g12.cpp index db13564c39f..d9d5a39abdc 100644 --- a/media_driver/agnostic/gen12/codec/hal/codechal_decode_mpeg2_g12.cpp +++ b/media_driver/agnostic/gen12/codec/hal/codechal_decode_mpeg2_g12.cpp @@ -586,6 +586,11 @@ MOS_STATUS CodechalDecodeMpeg2G12::SliceLevel() CodecHalDecodeSinglePipeVE_PopulateHintParams(m_veState, &cmdBuffer, false); } + if (m_osInterface->osCpInterface->IsHMEnabled()) + { + HalOcaInterface::DumpCpParam(cmdBuffer, *m_osInterface->pOsContext, m_osInterface->osCpInterface->GetOcaDumper()); + } + HalOcaInterface::On1stLevelBBEnd(cmdBuffer, *m_osInterface->pOsContext); CODECHAL_DECODE_CHK_STATUS_RETURN(m_osInterface->pfnSubmitCommandBuffer( diff --git a/media_driver/agnostic/gen12/codec/hal/codechal_decode_vc1_g12.cpp b/media_driver/agnostic/gen12/codec/hal/codechal_decode_vc1_g12.cpp index f2c0be93db0..b71f83c9634 100644 --- a/media_driver/agnostic/gen12/codec/hal/codechal_decode_vc1_g12.cpp +++ b/media_driver/agnostic/gen12/codec/hal/codechal_decode_vc1_g12.cpp @@ -785,6 +785,11 @@ MOS_STATUS CodechalDecodeVc1G12::DecodePrimitiveLevelVLD() m_huCCopyInUse = false; } + if (m_osInterface->osCpInterface->IsHMEnabled()) + { + HalOcaInterface::DumpCpParam(cmdBuffer, *m_osInterface->pOsContext, m_osInterface->osCpInterface->GetOcaDumper()); + } + HalOcaInterface::On1stLevelBBEnd(cmdBuffer, *m_osInterface->pOsContext); CODECHAL_DECODE_CHK_STATUS_RETURN(m_osInterface->pfnSubmitCommandBuffer(m_osInterface, &cmdBuffer, m_videoContextUsesNullHw)); @@ -1108,6 +1113,11 @@ MOS_STATUS CodechalDecodeVc1G12::DecodePrimitiveLevelIT() m_huCCopyInUse = false; } + if (m_osInterface->osCpInterface->IsHMEnabled()) + { + HalOcaInterface::DumpCpParam(cmdBuffer, *m_osInterface->pOsContext, m_osInterface->osCpInterface->GetOcaDumper()); + } + HalOcaInterface::On1stLevelBBEnd(cmdBuffer, *m_osInterface->pOsContext); CODECHAL_DECODE_CHK_STATUS_RETURN(m_osInterface->pfnSubmitCommandBuffer(m_osInterface, &cmdBuffer, m_videoContextUsesNullHw)); diff --git a/media_driver/agnostic/gen12/codec/hal/codechal_decode_vp8_g12.cpp b/media_driver/agnostic/gen12/codec/hal/codechal_decode_vp8_g12.cpp index e32e1038d8c..e5595b0e6a6 100644 --- a/media_driver/agnostic/gen12/codec/hal/codechal_decode_vp8_g12.cpp +++ b/media_driver/agnostic/gen12/codec/hal/codechal_decode_vp8_g12.cpp @@ -326,6 +326,11 @@ MOS_STATUS CodechalDecodeVp8G12::DecodePrimitiveLevel() m_huCCopyInUse = false; } + if (m_osInterface->osCpInterface->IsHMEnabled()) + { + HalOcaInterface::DumpCpParam(cmdBuffer, *m_osInterface->pOsContext, m_osInterface->osCpInterface->GetOcaDumper()); + } + HalOcaInterface::On1stLevelBBEnd(cmdBuffer, *m_osInterface->pOsContext); CODECHAL_DECODE_CHK_STATUS_RETURN(m_osInterface->pfnSubmitCommandBuffer(m_osInterface, &cmdBuffer, m_videoContextUsesNullHw)); diff --git a/media_driver/agnostic/gen12/codec/hal/codechal_vdenc_hevc_g12.cpp b/media_driver/agnostic/gen12/codec/hal/codechal_vdenc_hevc_g12.cpp index 2344610b64d..7dab7dc950e 100644 --- a/media_driver/agnostic/gen12/codec/hal/codechal_vdenc_hevc_g12.cpp +++ b/media_driver/agnostic/gen12/codec/hal/codechal_vdenc_hevc_g12.cpp @@ -7238,6 +7238,11 @@ MOS_STATUS CodechalVdencHevcStateG12::SubmitCommandBuffer( if (IsLastPass()) { + if (m_osInterface->osCpInterface->IsHMEnabled()) + { + HalOcaInterface::DumpCpParam(*cmdBuffer, *m_osInterface->pOsContext, m_osInterface->osCpInterface->GetOcaDumper()); + } + HalOcaInterface::On1stLevelBBEnd(*cmdBuffer, *m_osInterface->pOsContext); }