intel-media-driver: upgrade 24.1.5 -> 24.3.2

Drop patches already merged:
 - 0001-Disable-vp9-padding-on-mtl.patch
 - 8aa866dc650e6b0e0b7425bafc7b1039232c377a.patch

Rebased patches:
 - 0001-Force-ARGB-surface-to-tile4-for-ACM.patch

code fixed for videowall issue:
 - 0001-Fix-failed-4k-videowalll-test-case-and-color-corrupt.patch

Release notes:
https://github.com/intel/media-driver/releases/tag/intel-media-24.3.2

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
This commit is contained in:
Lim Siew Hoon 2024-09-30 08:01:01 +08:00 committed by Anuj Mittal
parent fd8ccbdf1e
commit 86a337d450
No known key found for this signature in database
GPG Key ID: B749E1556041E1B2
5 changed files with 94 additions and 199 deletions

View File

@ -1,35 +0,0 @@
From 1b303f417113ad1aa6b63fc024fbe4aa0c943f57 Mon Sep 17 00:00:00 2001
From: Lim Siew Hoon <siew.hoon.lim@intel.com>
Date: Tue, 5 Sep 2023 16:13:42 +0800
Subject: [PATCH 01/12] Disable vp9 padding on mtl.
Upstream-Status: Submitted [https://github.com/intel/media-driver/pull/1720]
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
---
media_softlet/linux/Xe_M_plus/ddi/media_sku_wa_mtl.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/media_softlet/linux/Xe_M_plus/ddi/media_sku_wa_mtl.cpp b/media_softlet/linux/Xe_M_plus/ddi/media_sku_wa_mtl.cpp
index 844545a87..72265289c 100644
--- a/media_softlet/linux/Xe_M_plus/ddi/media_sku_wa_mtl.cpp
+++ b/media_softlet/linux/Xe_M_plus/ddi/media_sku_wa_mtl.cpp
@@ -284,7 +284,7 @@ static bool InitMtlMediaWaExt(struct GfxDeviceInfo *devInfo,
MEDIA_WR_WA(waTable, WaDisableSetObjectCapture, 1);
- MEDIA_WR_WA(waTable, Wa_Vp9UnalignedHeight, 1);
+ MEDIA_WR_WA(waTable, Wa_Vp9UnalignedHeight, 0);
MEDIA_WR_WA(waTable, Wa_15013355402, 1);
@@ -337,4 +337,4 @@ static struct LinuxDeviceInit arlDeviceInit =
};
static bool arlDeviceRegister = DeviceInfoFactory<LinuxDeviceInit>::
- RegisterDevice((uint32_t)IGFX_ARROWLAKE, &arlDeviceInit);
\ No newline at end of file
+ RegisterDevice((uint32_t)IGFX_ARROWLAKE, &arlDeviceInit);
--
2.40.1

View File

@ -0,0 +1,85 @@
From 38e6883e54e65a73aa7795dc2ff9f072448cb3dc Mon Sep 17 00:00:00 2001
From: Lim Siew Hoon <siew.hoon.lim@intel.com>
Date: Fri, 2 Aug 2024 13:25:13 +0800
Subject: [PATCH] Fix failed 4k videowalll test case and color corruption of
video composition in Gen12 platform
Fix failed 4k video wall test case from 16CH video only show
1CH output and corruption observed on certain number of video
composition when doing sample_multi_transcode in legacy path.
platform: TGL/ADL/RPL
Upstream-Status: Submitted [https://github.com/intel/media-driver/pull/1839]
Signed-off-by: xupianch <xu.pian.chan@intel.com>
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
---
.../common/vp/hal/vphal_render_composite.cpp | 9 ++++++++-
.../linux/common/vp/ddi/media_libva_vp.c | 18 +++++-------------
2 files changed, 13 insertions(+), 14 deletions(-)
diff --git a/media_driver/agnostic/common/vp/hal/vphal_render_composite.cpp b/media_driver/agnostic/common/vp/hal/vphal_render_composite.cpp
index 169030209..cc7c241c1 100644
--- a/media_driver/agnostic/common/vp/hal/vphal_render_composite.cpp
+++ b/media_driver/agnostic/common/vp/hal/vphal_render_composite.cpp
@@ -6784,6 +6784,13 @@ bool CompositeState::BuildFilter(
for (i = 0; (i < (int)pCompParams->uSourceCount) && (iMaxFilterSize > 0); i++)
{
+ if (i > 0)
+ {
+ if (!RECT1_CONTAINS_RECT2(pCompParams->pSource[0]->rcDst, pCompParams->pSource[i]->rcDst))
+ {
+ pFilter->forceToTargetColorSpace = true;
+ }
+ }
pSrc = pCompParams->pSource[i];
//--------------------------------
@@ -8154,4 +8161,4 @@ bool CompositeState::IsSamplerIDForY(
return true;
}
return false;
- }
\ No newline at end of file
+ }
diff --git a/media_driver/linux/common/vp/ddi/media_libva_vp.c b/media_driver/linux/common/vp/ddi/media_libva_vp.c
index 48a452315..4f0fc2c48 100644
--- a/media_driver/linux/common/vp/ddi/media_libva_vp.c
+++ b/media_driver/linux/common/vp/ddi/media_libva_vp.c
@@ -1148,7 +1148,7 @@ DdiVp_SetProcPipelineParams(
// Background Colorfill
// According to libva definition, if alpha in output background color is zero, then colorfill is not needed
- if ((pPipelineParam->output_background_color >> 24) != 0 || pVpHalTgtSurf->ColorSpace == CSpace_sRGB)
+ if ((pPipelineParam->output_background_color >> 24) != 0)
{
if (pVpHalRenderParams->pColorFillParams == nullptr)
{
@@ -1157,18 +1157,10 @@ DdiVp_SetProcPipelineParams(
DDI_CHK_NULL(pVpHalRenderParams->pColorFillParams, "Null pColorFillParams.", VA_STATUS_ERROR_UNKNOWN);
- if (pVpHalTgtSurf->ColorSpace == CSpace_sRGB && (pPipelineParam->output_background_color >> 24) == 0)
- {
- // set color space for sRGB output
- pVpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB;
- }
- else
- {
- // set background colorfill option
- pVpHalRenderParams->pColorFillParams->Color = pPipelineParam->output_background_color;
- pVpHalRenderParams->pColorFillParams->bYCbCr = false;
- pVpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB;
- }
+ // set background colorfill option
+ pVpHalRenderParams->pColorFillParams->Color = pPipelineParam->output_background_color;
+ pVpHalRenderParams->pColorFillParams->bYCbCr = false;
+ pVpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB;
}else
{
MOS_FreeMemAndSetNull(pVpHalRenderParams->pColorFillParams);
--
2.43.2

View File

@ -1,7 +1,7 @@
From 1580f01ec5ad5afdad58c39dded999494275be10 Mon Sep 17 00:00:00 2001
From f318522175fb2ecc6d364b995a7b1926fd158a88 Mon Sep 17 00:00:00 2001
From: Lim Siew Hoon <siew.hoon.lim@intel.com>
Date: Wed, 11 Oct 2023 15:36:21 +0800
Subject: [PATCH 02/12] Force ARGB surface to tile4 for ACM
Subject: [PATCH] Force ARGB surface to tile4 for ACM
Upstream-Status: Submitted [https://github.com/intel/media-driver/pull/1728]
@ -12,10 +12,10 @@ Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
1 file changed, 10 insertions(+)
diff --git a/media_driver/linux/common/ddi/media_libva_util.cpp b/media_driver/linux/common/ddi/media_libva_util.cpp
index 63c173419..73be76366 100755
index a4e12edfa..11634f66e 100755
--- a/media_driver/linux/common/ddi/media_libva_util.cpp
+++ b/media_driver/linux/common/ddi/media_libva_util.cpp
@@ -504,6 +504,7 @@ VAStatus DdiMediaUtil_AllocateSurface(
@@ -521,6 +521,7 @@ VAStatus DdiMediaUtil_AllocateSurface(
gmmCustomParams.Flags.Gpu.UnifiedAuxSurface = 0;
}
}
@ -23,7 +23,7 @@ index 63c173419..73be76366 100755
break;
case TILING_X:
gmmCustomParams.Flags.Info.TiledX = true;
@@ -685,6 +686,15 @@ VAStatus DdiMediaUtil_AllocateSurface(
@@ -702,6 +703,15 @@ VAStatus DdiMediaUtil_AllocateSurface(
}
}
}
@ -40,5 +40,5 @@ index 63c173419..73be76366 100755
case TILING_X:
gmmParams.Flags.Info.TiledX = true;
--
2.40.1
2.43.2

View File

@ -1,154 +0,0 @@
From 8aa866dc650e6b0e0b7425bafc7b1039232c377a Mon Sep 17 00:00:00 2001
From: "Xu, Zhengguo" <zhengguo.xu@intel.com>
Date: Tue, 16 Apr 2024 09:53:41 +0800
Subject: [PATCH] [Decode] Correct condition check when dump avc mv buffer
Fixes: #1791
Signed-off-by: Xu, Zhengguo <zhengguo.xu@intel.com>
Upstream-Status: Backport [https://github.com/intel/media-driver/commit/8aa866dc650e6b0e0b7425bafc7b1039232c377a]
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
.../common/codec/hal/codechal_decode_avc.cpp | 33 ++++++++-----------
.../decode_avc_picture_xe_m_base_packet.cpp | 28 +++++++---------
.../avc/packet/decode_avc_picture_packet.cpp | 30 +++++++----------
3 files changed, 37 insertions(+), 54 deletions(-)
diff --git a/media_driver/agnostic/common/codec/hal/codechal_decode_avc.cpp b/media_driver/agnostic/common/codec/hal/codechal_decode_avc.cpp
index 3adf6994ce..4bac426802 100644
--- a/media_driver/agnostic/common/codec/hal/codechal_decode_avc.cpp
+++ b/media_driver/agnostic/common/codec/hal/codechal_decode_avc.cpp
@@ -1619,28 +1619,23 @@ MOS_STATUS CodechalDecodeAvc::InitPicMhwParams(
uint8_t picID = picMhwParams->AvcDirectmodeParams.bPicIdRemappingInUse ? i : refList[idx]->ucFrameId;
uint8_t mvIdx = refList[idx]->ucDMVIdx[0];
- if (&picMhwParams->AvcDirectmodeParams.presAvcDmvBuffers[i] != nullptr)
- {
- // dump Reference mvdata
- std::string mvBufDumpName = "_DEC_Ref_MV_" + std::to_string(i);
- CODECHAL_DECODE_CHK_STATUS_RETURN(m_debugInterface->DumpBuffer(
- &picMhwParams->AvcDirectmodeParams.presAvcDmvBuffers[mvIdx],
- CodechalDbgAttr::attrMvData,
- mvBufDumpName.c_str(),
- m_avcDmvBufferSize));
- }
+ // dump Reference mvdata
+ std::string mvBufDumpName = "_DEC_Ref_MV_" + std::to_string(i);
+ CODECHAL_DECODE_CHK_STATUS_RETURN(m_debugInterface->DumpBuffer(
+ &picMhwParams->AvcDirectmodeParams.presAvcDmvBuffers[mvIdx],
+ CodechalDbgAttr::attrMvData,
+ mvBufDumpName.c_str(),
+ m_avcDmvBufferSize));
}
}
- if (&picMhwParams->AvcDirectmodeParams.presAvcDmvBuffers[picMhwParams->AvcDirectmodeParams.ucAvcDmvIdx])
- {
- // dump Current mvdata
- CODECHAL_DECODE_CHK_STATUS_RETURN(m_debugInterface->DumpBuffer(
- &picMhwParams->AvcDirectmodeParams.presAvcDmvBuffers[picMhwParams->AvcDirectmodeParams.ucAvcDmvIdx],
- CodechalDbgAttr::attrMvData,
- "DEC_Cur_MV_",
- m_avcDmvBufferSize));
- });
+ // dump Current mvdata
+ CODECHAL_DECODE_CHK_STATUS_RETURN(m_debugInterface->DumpBuffer(
+ &picMhwParams->AvcDirectmodeParams.presAvcDmvBuffers[picMhwParams->AvcDirectmodeParams.ucAvcDmvIdx],
+ CodechalDbgAttr::attrMvData,
+ "DEC_Cur_MV_",
+ m_avcDmvBufferSize));
+ );
return eStatus;
}
diff --git a/media_driver/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/avc/packet/decode_avc_picture_xe_m_base_packet.cpp b/media_driver/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/avc/packet/decode_avc_picture_xe_m_base_packet.cpp
index bd0611f6fa..035a7e6149 100644
--- a/media_driver/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/avc/packet/decode_avc_picture_xe_m_base_packet.cpp
+++ b/media_driver/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/avc/packet/decode_avc_picture_xe_m_base_packet.cpp
@@ -589,26 +589,20 @@ namespace decode{
{
if (m_avcBasicFeature->m_refFrames.m_avcPicIdx[n].bValid)
{
- if (&avcDirectmodeParams.presAvcDmvBuffers[n+1] != nullptr)
- {
- std::string mvBufDumpName = "_DEC_Ref_MV_" + std::to_string(n);
- DECODE_CHK_STATUS(debugInterface->DumpBuffer(
- &avcDirectmodeParams.presAvcDmvBuffers[n+1],
- CodechalDbgAttr::attrMvData,
- mvBufDumpName.c_str(),
- mvBufferSize));
- }
+ std::string mvBufDumpName = "_DEC_Ref_MV_" + std::to_string(n);
+ DECODE_CHK_STATUS(debugInterface->DumpBuffer(
+ &avcDirectmodeParams.presAvcDmvBuffers[n+1],
+ CodechalDbgAttr::attrMvData,
+ mvBufDumpName.c_str(),
+ mvBufferSize));
}
}
- if (&avcDirectmodeParams.presAvcDmvBuffers[0] != nullptr)
- {
- DECODE_CHK_STATUS(debugInterface->DumpBuffer(
- &avcDirectmodeParams.presAvcDmvBuffers[0],
- CodechalDbgAttr::attrMvData,
- "DEC_Cur_MV_",
- mvBufferSize));
- }
+ DECODE_CHK_STATUS(debugInterface->DumpBuffer(
+ &avcDirectmodeParams.presAvcDmvBuffers[0],
+ CodechalDbgAttr::attrMvData,
+ "DEC_Cur_MV_",
+ mvBufferSize));
return MOS_STATUS_SUCCESS;
}
diff --git a/media_softlet/agnostic/common/codec/hal/dec/avc/packet/decode_avc_picture_packet.cpp b/media_softlet/agnostic/common/codec/hal/dec/avc/packet/decode_avc_picture_packet.cpp
index 88ed0bb832..8cdc05e585 100644
--- a/media_softlet/agnostic/common/codec/hal/dec/avc/packet/decode_avc_picture_packet.cpp
+++ b/media_softlet/agnostic/common/codec/hal/dec/avc/packet/decode_avc_picture_packet.cpp
@@ -646,26 +646,20 @@ MOS_STATUS AvcDecodePicPkt::DumpResources(uint32_t mvBufferSize) const
CodechalDbgAttr::attrDecodeReferenceSurfaces,
refSurfName.c_str()));
- if (&mvParam.presAvcDmvBuffers[n+1] != nullptr)
- {
- std::string mvBufDumpName = "_DEC_Ref_MV_" + std::to_string(n);
- DECODE_CHK_STATUS(debugInterface->DumpBuffer(
- &mvParam.presAvcDmvBuffers[n+1],
- CodechalDbgAttr::attrMvData,
- mvBufDumpName.c_str(),
- mvBufferSize));
- }
+ std::string mvBufDumpName = "_DEC_Ref_MV_" + std::to_string(n);
+ DECODE_CHK_STATUS(debugInterface->DumpBuffer(
+ &mvParam.presAvcDmvBuffers[n+1],
+ CodechalDbgAttr::attrMvData,
+ mvBufDumpName.c_str(),
+ mvBufferSize));
}
}
- if (&mvParam.presAvcDmvBuffers[0] != nullptr)
- {
- DECODE_CHK_STATUS(debugInterface->DumpBuffer(
- &mvParam.presAvcDmvBuffers[0],
- CodechalDbgAttr::attrMvData,
- "DEC_Cur_MV_",
- mvBufferSize));
- }
+ DECODE_CHK_STATUS(debugInterface->DumpBuffer(
+ &mvParam.presAvcDmvBuffers[0],
+ CodechalDbgAttr::attrMvData,
+ "DEC_Cur_MV_",
+ mvBufferSize));
return MOS_STATUS_SUCCESS;
}
@@ -699,4 +693,4 @@ MOS_STATUS AvcDecodePicPkt::SetSurfaceMmcState() const
return MOS_STATUS_SUCCESS;
}
-} // namespace decode
\ No newline at end of file
+} // namespace decode

View File

@ -19,12 +19,11 @@ REQUIRED_DISTRO_FEATURES = "opengl"
DEPENDS += "libva gmmlib"
SRC_URI = "git://github.com/intel/media-driver.git;protocol=https;nobranch=1 \
file://0001-Disable-vp9-padding-on-mtl.patch \
file://0002-Force-ARGB-surface-to-tile4-for-ACM.patch \
file://8aa866dc650e6b0e0b7425bafc7b1039232c377a.patch \
file://0001-Force-ARGB-surface-to-tile4-for-ACM.patch \
file://0001-Fix-failed-4k-videowalll-test-case-and-color-corrupt.patch \
"
SRCREV = "8068c2e119ba16c017e5a5f443fac5a55edbee65"
SRCREV = "f40b45dd7355f5f739c75bfd793fa2f1ead30f02"
S = "${WORKDIR}/git"
COMPATIBLE_HOST:x86-x32 = "null"