summaryrefslogtreecommitdiffstats
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_19.4.0.bb)28
-rw-r--r--recipes-multimedia/libva/intel-vaapi-driver_2.4.1.bb (renamed from recipes-multimedia/libva/intel-vaapi-driver_2.4.0.bb)13
5 files changed, 256 insertions, 18 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 @@
1From 1b303f417113ad1aa6b63fc024fbe4aa0c943f57 Mon Sep 17 00:00:00 2001
2From: Lim Siew Hoon <siew.hoon.lim@intel.com>
3Date: Tue, 5 Sep 2023 16:13:42 +0800
4Subject: [PATCH 01/12] Disable vp9 padding on mtl.
5
6Upstream-Status: Submitted [https://github.com/intel/media-driver/pull/1720]
7
8Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
9---
10 media_softlet/linux/Xe_M_plus/ddi/media_sku_wa_mtl.cpp | 4 ++--
11 1 file changed, 2 insertions(+), 2 deletions(-)
12
13diff --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
14index 844545a87..72265289c 100644
15--- a/media_softlet/linux/Xe_M_plus/ddi/media_sku_wa_mtl.cpp
16+++ b/media_softlet/linux/Xe_M_plus/ddi/media_sku_wa_mtl.cpp
17@@ -284,7 +284,7 @@ static bool InitMtlMediaWaExt(struct GfxDeviceInfo *devInfo,
18
19 MEDIA_WR_WA(waTable, WaDisableSetObjectCapture, 1);
20
21- MEDIA_WR_WA(waTable, Wa_Vp9UnalignedHeight, 1);
22+ MEDIA_WR_WA(waTable, Wa_Vp9UnalignedHeight, 0);
23
24 MEDIA_WR_WA(waTable, Wa_15013355402, 1);
25
26@@ -337,4 +337,4 @@ static struct LinuxDeviceInit arlDeviceInit =
27 };
28
29 static bool arlDeviceRegister = DeviceInfoFactory<LinuxDeviceInit>::
30- RegisterDevice((uint32_t)IGFX_ARROWLAKE, &arlDeviceInit);
31\ No newline at end of file
32+ RegisterDevice((uint32_t)IGFX_ARROWLAKE, &arlDeviceInit);
33--
342.40.1
35
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 @@
1From 1580f01ec5ad5afdad58c39dded999494275be10 Mon Sep 17 00:00:00 2001
2From: Lim Siew Hoon <siew.hoon.lim@intel.com>
3Date: Wed, 11 Oct 2023 15:36:21 +0800
4Subject: [PATCH 02/12] Force ARGB surface to tile4 for ACM
5
6Upstream-Status: Submitted [https://github.com/intel/media-driver/pull/1728]
7
8Signed-off-by: Soon, Thean Siew <thean.siew.soon@intel.com>
9Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
10---
11 media_driver/linux/common/ddi/media_libva_util.cpp | 10 ++++++++++
12 1 file changed, 10 insertions(+)
13
14diff --git a/media_driver/linux/common/ddi/media_libva_util.cpp b/media_driver/linux/common/ddi/media_libva_util.cpp
15index 63c173419..73be76366 100755
16--- a/media_driver/linux/common/ddi/media_libva_util.cpp
17+++ b/media_driver/linux/common/ddi/media_libva_util.cpp
18@@ -504,6 +504,7 @@ VAStatus DdiMediaUtil_AllocateSurface(
19 gmmCustomParams.Flags.Gpu.UnifiedAuxSurface = 0;
20 }
21 }
22+
23 break;
24 case TILING_X:
25 gmmCustomParams.Flags.Info.TiledX = true;
26@@ -685,6 +686,15 @@ VAStatus DdiMediaUtil_AllocateSurface(
27 }
28 }
29 }
30+ // There's no VAAPI interface for modifier query yet. As a workaround, always allocate
31+ // RGB surface as tile4.
32+ if ((format == Media_Format_A8R8G8B8 ||
33+ format == Media_Format_B10G10R10A2 |
34+ format == Media_Format_A8B8G8R8 ||
35+ format == Media_Format_X8R8G8B8) && !MEDIA_IS_SKU(&mediaDrvCtx->SkuTable, FtrTileY))
36+ {
37+ gmmParams.Flags.Info.Tile4 = true;
38+ }
39 break;
40 case TILING_X:
41 gmmParams.Flags.Info.TiledX = true;
42--
432.40.1
44
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 @@
1From 8aa866dc650e6b0e0b7425bafc7b1039232c377a Mon Sep 17 00:00:00 2001
2From: "Xu, Zhengguo" <zhengguo.xu@intel.com>
3Date: Tue, 16 Apr 2024 09:53:41 +0800
4Subject: [PATCH] [Decode] Correct condition check when dump avc mv buffer
5
6Fixes: #1791
7Signed-off-by: Xu, Zhengguo <zhengguo.xu@intel.com>
8
9Upstream-Status: Backport [https://github.com/intel/media-driver/commit/8aa866dc650e6b0e0b7425bafc7b1039232c377a]
10Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
11---
12 .../common/codec/hal/codechal_decode_avc.cpp | 33 ++++++++-----------
13 .../decode_avc_picture_xe_m_base_packet.cpp | 28 +++++++---------
14 .../avc/packet/decode_avc_picture_packet.cpp | 30 +++++++----------
15 3 files changed, 37 insertions(+), 54 deletions(-)
16
17diff --git a/media_driver/agnostic/common/codec/hal/codechal_decode_avc.cpp b/media_driver/agnostic/common/codec/hal/codechal_decode_avc.cpp
18index 3adf6994ce..4bac426802 100644
19--- a/media_driver/agnostic/common/codec/hal/codechal_decode_avc.cpp
20+++ b/media_driver/agnostic/common/codec/hal/codechal_decode_avc.cpp
21@@ -1619,28 +1619,23 @@ MOS_STATUS CodechalDecodeAvc::InitPicMhwParams(
22 uint8_t picID = picMhwParams->AvcDirectmodeParams.bPicIdRemappingInUse ? i : refList[idx]->ucFrameId;
23 uint8_t mvIdx = refList[idx]->ucDMVIdx[0];
24
25- if (&picMhwParams->AvcDirectmodeParams.presAvcDmvBuffers[i] != nullptr)
26- {
27- // dump Reference mvdata
28- std::string mvBufDumpName = "_DEC_Ref_MV_" + std::to_string(i);
29- CODECHAL_DECODE_CHK_STATUS_RETURN(m_debugInterface->DumpBuffer(
30- &picMhwParams->AvcDirectmodeParams.presAvcDmvBuffers[mvIdx],
31- CodechalDbgAttr::attrMvData,
32- mvBufDumpName.c_str(),
33- m_avcDmvBufferSize));
34- }
35+ // dump Reference mvdata
36+ std::string mvBufDumpName = "_DEC_Ref_MV_" + std::to_string(i);
37+ CODECHAL_DECODE_CHK_STATUS_RETURN(m_debugInterface->DumpBuffer(
38+ &picMhwParams->AvcDirectmodeParams.presAvcDmvBuffers[mvIdx],
39+ CodechalDbgAttr::attrMvData,
40+ mvBufDumpName.c_str(),
41+ m_avcDmvBufferSize));
42 }
43 }
44
45- if (&picMhwParams->AvcDirectmodeParams.presAvcDmvBuffers[picMhwParams->AvcDirectmodeParams.ucAvcDmvIdx])
46- {
47- // dump Current mvdata
48- CODECHAL_DECODE_CHK_STATUS_RETURN(m_debugInterface->DumpBuffer(
49- &picMhwParams->AvcDirectmodeParams.presAvcDmvBuffers[picMhwParams->AvcDirectmodeParams.ucAvcDmvIdx],
50- CodechalDbgAttr::attrMvData,
51- "DEC_Cur_MV_",
52- m_avcDmvBufferSize));
53- });
54+ // dump Current mvdata
55+ CODECHAL_DECODE_CHK_STATUS_RETURN(m_debugInterface->DumpBuffer(
56+ &picMhwParams->AvcDirectmodeParams.presAvcDmvBuffers[picMhwParams->AvcDirectmodeParams.ucAvcDmvIdx],
57+ CodechalDbgAttr::attrMvData,
58+ "DEC_Cur_MV_",
59+ m_avcDmvBufferSize));
60+ );
61
62 return eStatus;
63 }
64diff --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
65index bd0611f6fa..035a7e6149 100644
66--- a/media_driver/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/avc/packet/decode_avc_picture_xe_m_base_packet.cpp
67+++ b/media_driver/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/avc/packet/decode_avc_picture_xe_m_base_packet.cpp
68@@ -589,26 +589,20 @@ namespace decode{
69 {
70 if (m_avcBasicFeature->m_refFrames.m_avcPicIdx[n].bValid)
71 {
72- if (&avcDirectmodeParams.presAvcDmvBuffers[n+1] != nullptr)
73- {
74- std::string mvBufDumpName = "_DEC_Ref_MV_" + std::to_string(n);
75- DECODE_CHK_STATUS(debugInterface->DumpBuffer(
76- &avcDirectmodeParams.presAvcDmvBuffers[n+1],
77- CodechalDbgAttr::attrMvData,
78- mvBufDumpName.c_str(),
79- mvBufferSize));
80- }
81+ std::string mvBufDumpName = "_DEC_Ref_MV_" + std::to_string(n);
82+ DECODE_CHK_STATUS(debugInterface->DumpBuffer(
83+ &avcDirectmodeParams.presAvcDmvBuffers[n+1],
84+ CodechalDbgAttr::attrMvData,
85+ mvBufDumpName.c_str(),
86+ mvBufferSize));
87 }
88 }
89
90- if (&avcDirectmodeParams.presAvcDmvBuffers[0] != nullptr)
91- {
92- DECODE_CHK_STATUS(debugInterface->DumpBuffer(
93- &avcDirectmodeParams.presAvcDmvBuffers[0],
94- CodechalDbgAttr::attrMvData,
95- "DEC_Cur_MV_",
96- mvBufferSize));
97- }
98+ DECODE_CHK_STATUS(debugInterface->DumpBuffer(
99+ &avcDirectmodeParams.presAvcDmvBuffers[0],
100+ CodechalDbgAttr::attrMvData,
101+ "DEC_Cur_MV_",
102+ mvBufferSize));
103 return MOS_STATUS_SUCCESS;
104 }
105
106diff --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
107index 88ed0bb832..8cdc05e585 100644
108--- a/media_softlet/agnostic/common/codec/hal/dec/avc/packet/decode_avc_picture_packet.cpp
109+++ b/media_softlet/agnostic/common/codec/hal/dec/avc/packet/decode_avc_picture_packet.cpp
110@@ -646,26 +646,20 @@ MOS_STATUS AvcDecodePicPkt::DumpResources(uint32_t mvBufferSize) const
111 CodechalDbgAttr::attrDecodeReferenceSurfaces,
112 refSurfName.c_str()));
113
114- if (&mvParam.presAvcDmvBuffers[n+1] != nullptr)
115- {
116- std::string mvBufDumpName = "_DEC_Ref_MV_" + std::to_string(n);
117- DECODE_CHK_STATUS(debugInterface->DumpBuffer(
118- &mvParam.presAvcDmvBuffers[n+1],
119- CodechalDbgAttr::attrMvData,
120- mvBufDumpName.c_str(),
121- mvBufferSize));
122- }
123+ std::string mvBufDumpName = "_DEC_Ref_MV_" + std::to_string(n);
124+ DECODE_CHK_STATUS(debugInterface->DumpBuffer(
125+ &mvParam.presAvcDmvBuffers[n+1],
126+ CodechalDbgAttr::attrMvData,
127+ mvBufDumpName.c_str(),
128+ mvBufferSize));
129 }
130 }
131
132- if (&mvParam.presAvcDmvBuffers[0] != nullptr)
133- {
134- DECODE_CHK_STATUS(debugInterface->DumpBuffer(
135- &mvParam.presAvcDmvBuffers[0],
136- CodechalDbgAttr::attrMvData,
137- "DEC_Cur_MV_",
138- mvBufferSize));
139- }
140+ DECODE_CHK_STATUS(debugInterface->DumpBuffer(
141+ &mvParam.presAvcDmvBuffers[0],
142+ CodechalDbgAttr::attrMvData,
143+ "DEC_Cur_MV_",
144+ mvBufferSize));
145
146 return MOS_STATUS_SUCCESS;
147 }
148@@ -699,4 +693,4 @@ MOS_STATUS AvcDecodePicPkt::SetSurfaceMmcState() const
149 return MOS_STATUS_SUCCESS;
150 }
151
152-} // namespace decode
153\ No newline at end of file
154+} // namespace decode
diff --git a/recipes-multimedia/libva/intel-media-driver_19.4.0.bb b/recipes-multimedia/libva/intel-media-driver_24.1.5.bb
index fc976117..79f9887d 100644
--- a/recipes-multimedia/libva/intel-media-driver_19.4.0.bb
+++ b/recipes-multimedia/libva/intel-media-driver_24.1.5.bb
@@ -11,39 +11,43 @@ LIC_FILES_CHKSUM = "file://LICENSE.md;md5=6aab5363823095ce682b155fef0231f0 \
11 file://media_driver/media_libvpx.LICENSE;md5=d5b04755015be901744a78cc30d390d4 \ 11 file://media_driver/media_libvpx.LICENSE;md5=d5b04755015be901744a78cc30d390d4 \
12 " 12 "
13 13
14# Only for 64 bit until this is resolved: https://github.com/intel/media-driver/issues/356 14COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
15COMPATIBLE_HOST = '(x86_64).*-linux'
16 15
17inherit features_check 16inherit features_check
18REQUIRED_DISTRO_FEATURES = "opengl" 17REQUIRED_DISTRO_FEATURES = "opengl"
19 18
20DEPENDS += "libva gmmlib" 19DEPENDS += "libva gmmlib"
21 20
22SRC_URI = "git://github.com/intel/media-driver.git;protocol=https;branch=intel-media-19.4" 21SRC_URI = "git://github.com/intel/media-driver.git;protocol=https;nobranch=1 \
23SRCREV = "12b7fcded6c74377ecf57eb8258f5e3d55ca722e" 22 file://0001-Disable-vp9-padding-on-mtl.patch \
23 file://0002-Force-ARGB-surface-to-tile4-for-ACM.patch \
24 file://8aa866dc650e6b0e0b7425bafc7b1039232c377a.patch \
25 "
26
27SRCREV = "8068c2e119ba16c017e5a5f443fac5a55edbee65"
24S = "${WORKDIR}/git" 28S = "${WORKDIR}/git"
25 29
26COMPATIBLE_HOST_x86-x32 = "null" 30COMPATIBLE_HOST:x86-x32 = "null"
27 31
28UPSTREAM_CHECK_GITTAGREGEX = "^intel-media-(?P<pver>(?!600\..*)\d+(\.\d+)+)$" 32UPSTREAM_CHECK_GITTAGREGEX = "^intel-media-(?P<pver>(?!600\..*)\d+(\.\d+)+)$"
29 33
30inherit cmake pkgconfig 34inherit cmake pkgconfig
31 35
32MEDIA_DRIVER_ARCH_x86 = "32" 36MEDIA_DRIVER_ARCH:x86 = "32"
33MEDIA_DRIVER_ARCH_x86-64 = "64" 37MEDIA_DRIVER_ARCH:x86-64 = "64"
34 38
35EXTRA_OECMAKE += " \ 39EXTRA_OECMAKE += " \
36 -DMEDIA_RUN_TEST_SUITE=OFF \ 40 -DMEDIA_RUN_TEST_SUITE=OFF \
37 -DARCH=${MEDIA_DRIVER_ARCH} \ 41 -DARCH=${MEDIA_DRIVER_ARCH} \
38 -DMEDIA_BUILD_FATAL_WARNINGS=OFF \ 42 -DMEDIA_BUILD_FATAL_WARNINGS=OFF \
39 " 43 "
44
45CXXFLAGS:append:x86 = " -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
40 46
41do_configure_prepend_toolchain-clang() { 47do_configure:prepend:toolchain-clang() {
42 sed -i -e '/-fno-tree-pre/d' ${S}/media_driver/cmake/linux/media_compile_flags_linux.cmake 48 sed -i -e '/-fno-tree-pre/d' ${S}/media_driver/cmake/linux/media_compile_flags_linux.cmake
43} 49}
44 50
45# See: https://github.com/intel/media-driver/issues/358 51FILES:${PN} += " \
46FILES_${PN} += " \
47 ${libdir}/dri/ \ 52 ${libdir}/dri/ \
48 ${libdir}/igfxcmrt64.so \
49 " 53 "
diff --git a/recipes-multimedia/libva/intel-vaapi-driver_2.4.0.bb b/recipes-multimedia/libva/intel-vaapi-driver_2.4.1.bb
index 8d373bc2..5038d8d7 100644
--- a/recipes-multimedia/libva/intel-vaapi-driver_2.4.0.bb
+++ b/recipes-multimedia/libva/intel-vaapi-driver_2.4.1.bb
@@ -13,9 +13,10 @@ COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
13 13
14DEPENDS = "libva libdrm" 14DEPENDS = "libva libdrm"
15 15
16SRC_URI = "https://github.com/intel/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.bz2" 16SRC_URI = "https://github.com/intel/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.bz2 \
17SRC_URI[md5sum] = "731dd9aaf9f5ef1b9c906ce82ef0220b" 17 "
18SRC_URI[sha256sum] = "71e2ddd985af6b221389db1018c4e8ca27a7f939fb51dcdf49d0efcb5ff3d089" 18
19SRC_URI[sha256sum] = "0081fce08eb3a83f7d99c3b853c8fdfa0af437b8f5b0fb7c66faeb83bcbe0c19"
19 20
20UPSTREAM_CHECK_URI = "https://github.com/intel/intel-vaapi-driver/releases" 21UPSTREAM_CHECK_URI = "https://github.com/intel/intel-vaapi-driver/releases"
21 22
@@ -28,6 +29,6 @@ PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "x11", "x11", "", d)}
28PACKAGECONFIG[x11] = "-Dwith_x11=yes, -Dwith_x11=no" 29PACKAGECONFIG[x11] = "-Dwith_x11=yes, -Dwith_x11=no"
29PACKAGECONFIG[wayland] = "-Dwith_wayland=yes, -Dwith_wayland=no, wayland wayland-native virtual/egl" 30PACKAGECONFIG[wayland] = "-Dwith_wayland=yes, -Dwith_wayland=no, wayland wayland-native virtual/egl"
30 31
31FILES_${PN} += "${libdir}/dri/*.so" 32FILES:${PN} += "${libdir}/dri/*.so"
32FILES_${PN}-dev += "${libdir}/dri/*.la" 33FILES:${PN}-dev += "${libdir}/dri/*.la"
33FILES_${PN}-dbg += "${libdir}/dri/.debug" 34FILES:${PN}-dbg += "${libdir}/dri/.debug"