aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-multimedia/libva
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-multimedia/libva')
-rw-r--r--recipes-multimedia/libva/files/0001-Disable-vp9-padding-on-mtl.patch35
-rw-r--r--recipes-multimedia/libva/files/0002-Force-ARGB-surface-to-tile4-for-ACM.patch44
-rw-r--r--recipes-multimedia/libva/files/8aa866dc650e6b0e0b7425bafc7b1039232c377a.patch154
-rw-r--r--recipes-multimedia/libva/intel-media-driver_24.1.5.bb (renamed from recipes-multimedia/libva/intel-media-driver_20.2.0.bb)23
-rw-r--r--recipes-multimedia/libva/intel-vaapi-driver_2.4.1.bb6
5 files changed, 250 insertions, 12 deletions
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
new file mode 100644
index 00000000..90dff8d1
--- /dev/null
+++ b/recipes-multimedia/libva/files/0001-Disable-vp9-padding-on-mtl.patch
@@ -0,0 +1,35 @@
+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
+
diff --git a/recipes-multimedia/libva/files/0002-Force-ARGB-surface-to-tile4-for-ACM.patch b/recipes-multimedia/libva/files/0002-Force-ARGB-surface-to-tile4-for-ACM.patch
new file mode 100644
index 00000000..df3d9805
--- /dev/null
+++ b/recipes-multimedia/libva/files/0002-Force-ARGB-surface-to-tile4-for-ACM.patch
@@ -0,0 +1,44 @@
+From 1580f01ec5ad5afdad58c39dded999494275be10 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
+
+Upstream-Status: Submitted [https://github.com/intel/media-driver/pull/1728]
+
+Signed-off-by: Soon, Thean Siew <thean.siew.soon@intel.com>
+Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
+---
+ media_driver/linux/common/ddi/media_libva_util.cpp | 10 ++++++++++
+ 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
+--- 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(
+ gmmCustomParams.Flags.Gpu.UnifiedAuxSurface = 0;
+ }
+ }
++
+ break;
+ case TILING_X:
+ gmmCustomParams.Flags.Info.TiledX = true;
+@@ -685,6 +686,15 @@ VAStatus DdiMediaUtil_AllocateSurface(
+ }
+ }
+ }
++ // There's no VAAPI interface for modifier query yet. As a workaround, always allocate
++ // RGB surface as tile4.
++ if ((format == Media_Format_A8R8G8B8 ||
++ format == Media_Format_B10G10R10A2 |
++ format == Media_Format_A8B8G8R8 ||
++ format == Media_Format_X8R8G8B8) && !MEDIA_IS_SKU(&mediaDrvCtx->SkuTable, FtrTileY))
++ {
++ gmmParams.Flags.Info.Tile4 = true;
++ }
+ break;
+ case TILING_X:
+ gmmParams.Flags.Info.TiledX = true;
+--
+2.40.1
+
diff --git a/recipes-multimedia/libva/files/8aa866dc650e6b0e0b7425bafc7b1039232c377a.patch b/recipes-multimedia/libva/files/8aa866dc650e6b0e0b7425bafc7b1039232c377a.patch
new file mode 100644
index 00000000..17b2d635
--- /dev/null
+++ b/recipes-multimedia/libva/files/8aa866dc650e6b0e0b7425bafc7b1039232c377a.patch
@@ -0,0 +1,154 @@
+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
diff --git a/recipes-multimedia/libva/intel-media-driver_20.2.0.bb b/recipes-multimedia/libva/intel-media-driver_24.1.5.bb
index 1cf21e44..79f9887d 100644
--- a/recipes-multimedia/libva/intel-media-driver_20.2.0.bb
+++ b/recipes-multimedia/libva/intel-media-driver_24.1.5.bb
@@ -18,31 +18,36 @@ REQUIRED_DISTRO_FEATURES = "opengl"
DEPENDS += "libva gmmlib"
-SRC_URI = "git://github.com/intel/media-driver.git;protocol=https;branch=intel-media-20.2"
-SRCREV = "97e2ea997675653f3f767ab954bc79273fc46d56"
+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 \
+ "
+
+SRCREV = "8068c2e119ba16c017e5a5f443fac5a55edbee65"
S = "${WORKDIR}/git"
-COMPATIBLE_HOST_x86-x32 = "null"
+COMPATIBLE_HOST:x86-x32 = "null"
UPSTREAM_CHECK_GITTAGREGEX = "^intel-media-(?P<pver>(?!600\..*)\d+(\.\d+)+)$"
inherit cmake pkgconfig
-MEDIA_DRIVER_ARCH_x86 = "32"
-MEDIA_DRIVER_ARCH_x86-64 = "64"
+MEDIA_DRIVER_ARCH:x86 = "32"
+MEDIA_DRIVER_ARCH:x86-64 = "64"
EXTRA_OECMAKE += " \
-DMEDIA_RUN_TEST_SUITE=OFF \
-DARCH=${MEDIA_DRIVER_ARCH} \
-DMEDIA_BUILD_FATAL_WARNINGS=OFF \
- "
+ "
-CXXFLAGS_append_x86 = " -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
+CXXFLAGS:append:x86 = " -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
-do_configure_prepend_toolchain-clang() {
+do_configure:prepend:toolchain-clang() {
sed -i -e '/-fno-tree-pre/d' ${S}/media_driver/cmake/linux/media_compile_flags_linux.cmake
}
-FILES_${PN} += " \
+FILES:${PN} += " \
${libdir}/dri/ \
"
diff --git a/recipes-multimedia/libva/intel-vaapi-driver_2.4.1.bb b/recipes-multimedia/libva/intel-vaapi-driver_2.4.1.bb
index ccb9fec1..5038d8d7 100644
--- a/recipes-multimedia/libva/intel-vaapi-driver_2.4.1.bb
+++ b/recipes-multimedia/libva/intel-vaapi-driver_2.4.1.bb
@@ -29,6 +29,6 @@ PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "x11", "x11", "", d)}
PACKAGECONFIG[x11] = "-Dwith_x11=yes, -Dwith_x11=no"
PACKAGECONFIG[wayland] = "-Dwith_wayland=yes, -Dwith_wayland=no, wayland wayland-native virtual/egl"
-FILES_${PN} += "${libdir}/dri/*.so"
-FILES_${PN}-dev += "${libdir}/dri/*.la"
-FILES_${PN}-dbg += "${libdir}/dri/.debug"
+FILES:${PN} += "${libdir}/dri/*.so"
+FILES:${PN}-dev += "${libdir}/dri/*.la"
+FILES:${PN}-dbg += "${libdir}/dri/.debug"