diff --git a/recipes-multimedia/libva/files/0001-Disable-vp9-padding-on-mtl.patch b/recipes-multimedia/libva/files/0001-Disable-vp9-padding-on-mtl.patch deleted file mode 100644 index 90dff8d1..00000000 --- a/recipes-multimedia/libva/files/0001-Disable-vp9-padding-on-mtl.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 1b303f417113ad1aa6b63fc024fbe4aa0c943f57 Mon Sep 17 00:00:00 2001 -From: Lim Siew Hoon -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 ---- - 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:: -- RegisterDevice((uint32_t)IGFX_ARROWLAKE, &arlDeviceInit); -\ No newline at end of file -+ RegisterDevice((uint32_t)IGFX_ARROWLAKE, &arlDeviceInit); --- -2.40.1 - diff --git a/recipes-multimedia/libva/files/0001-Fix-failed-4k-videowalll-test-case-and-color-corrupt.patch b/recipes-multimedia/libva/files/0001-Fix-failed-4k-videowalll-test-case-and-color-corrupt.patch new file mode 100644 index 00000000..fbeab6e2 --- /dev/null +++ b/recipes-multimedia/libva/files/0001-Fix-failed-4k-videowalll-test-case-and-color-corrupt.patch @@ -0,0 +1,85 @@ +From 38e6883e54e65a73aa7795dc2ff9f072448cb3dc Mon Sep 17 00:00:00 2001 +From: Lim Siew Hoon +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 +Signed-off-by: Lim Siew Hoon +--- + .../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 + diff --git a/recipes-multimedia/libva/files/0002-Force-ARGB-surface-to-tile4-for-ACM.patch b/recipes-multimedia/libva/files/0001-Force-ARGB-surface-to-tile4-for-ACM.patch similarity index 84% rename from recipes-multimedia/libva/files/0002-Force-ARGB-surface-to-tile4-for-ACM.patch rename to recipes-multimedia/libva/files/0001-Force-ARGB-surface-to-tile4-for-ACM.patch index df3d9805..0642f129 100644 --- a/recipes-multimedia/libva/files/0002-Force-ARGB-surface-to-tile4-for-ACM.patch +++ b/recipes-multimedia/libva/files/0001-Force-ARGB-surface-to-tile4-for-ACM.patch @@ -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 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 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 diff --git a/recipes-multimedia/libva/files/8aa866dc650e6b0e0b7425bafc7b1039232c377a.patch b/recipes-multimedia/libva/files/8aa866dc650e6b0e0b7425bafc7b1039232c377a.patch deleted file mode 100644 index 17b2d635..00000000 --- a/recipes-multimedia/libva/files/8aa866dc650e6b0e0b7425bafc7b1039232c377a.patch +++ /dev/null @@ -1,154 +0,0 @@ -From 8aa866dc650e6b0e0b7425bafc7b1039232c377a Mon Sep 17 00:00:00 2001 -From: "Xu, Zhengguo" -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 - -Upstream-Status: Backport [https://github.com/intel/media-driver/commit/8aa866dc650e6b0e0b7425bafc7b1039232c377a] -Signed-off-by: Anuj Mittal ---- - .../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 diff --git a/recipes-multimedia/libva/intel-media-driver_24.1.5.bb b/recipes-multimedia/libva/intel-media-driver_24.3.2.bb similarity index 86% rename from recipes-multimedia/libva/intel-media-driver_24.1.5.bb rename to recipes-multimedia/libva/intel-media-driver_24.3.2.bb index 79f9887d..eaadcd59 100644 --- a/recipes-multimedia/libva/intel-media-driver_24.1.5.bb +++ b/recipes-multimedia/libva/intel-media-driver_24.3.2.bb @@ -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"