summaryrefslogtreecommitdiffstats
path: root/recipes-multimedia/libva/files
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-multimedia/libva/files')
-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
3 files changed, 233 insertions, 0 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