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-Fix-uClibc-build.patch64
-rw-r--r--recipes-multimedia/libva/files/0003-Force-ARGB-surface-to-tile4-for-ACM.patch44
-rw-r--r--recipes-multimedia/libva/files/0004-Fix-failed-4k-videowalll-test-case-and-color-corrupt.patch85
-rw-r--r--recipes-multimedia/libva/intel-media-driver_25.1.4.bb (renamed from recipes-multimedia/libva/intel-media-driver_22.4.4.bb)6
4 files changed, 132 insertions, 67 deletions
diff --git a/recipes-multimedia/libva/files/0001-Fix-uClibc-build.patch b/recipes-multimedia/libva/files/0001-Fix-uClibc-build.patch
deleted file mode 100644
index dbe93872..00000000
--- a/recipes-multimedia/libva/files/0001-Fix-uClibc-build.patch
+++ /dev/null
@@ -1,64 +0,0 @@
1From 2e0a1de5fee7899cc7d4e67ec9893a621a3cf024 Mon Sep 17 00:00:00 2001
2From: Bernd Kuhls <bernd.kuhls@t-online.de>
3Date: Fri, 10 Jun 2022 18:42:34 +0200
4Subject: [PATCH] Fix uClibc build
5
6uClibc does not provide execinfo.h
7
8Upstream-Status: Submitted [https://github.com/intel/media-driver/pull/1437]
9Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
10---
11 CMakeLists.txt | 6 ++++++
12 .../linux/common/os/osservice/mos_utilities_specific.cpp | 4 ++++
13 2 files changed, 10 insertions(+)
14
15diff --git a/CMakeLists.txt b/CMakeLists.txt
16index 8305acfdb..6bec00f7d 100755
17--- a/CMakeLists.txt
18+++ b/CMakeLists.txt
19@@ -53,6 +53,12 @@ option (BUILD_CMRTLIB "Build and Install cmrtlib together with media driver" ON)
20
21 option (ENABLE_PRODUCTION_KMD "Enable Production KMD header files" OFF)
22
23+include(CheckIncludeFileCXX)
24+check_include_file_cxx("execinfo.h" HAVE_EXECINFO)
25+if (HAVE_EXECINFO)
26+ add_definitions(-DHAVE_EXECINFO)
27+endif()
28+
29 include(GNUInstallDirs)
30
31 if (BUILD_CMRTLIB AND NOT CMAKE_WDDM_LINUX)
32diff --git a/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp b/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp
33index ff0b68655..8ea621f0e 100644
34--- a/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp
35+++ b/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp
36@@ -51,7 +51,9 @@
37 #include <signal.h>
38 #include <unistd.h> // fork
39 #include <algorithm>
40+#ifdef HAVE_EXECINFO
41 #include <execinfo.h> // backtrace
42+#endif
43
44 const char *MosUtilitiesSpecificNext::m_szUserFeatureFile = USER_FEATURE_FILE;
45 MOS_PUF_KEYLIST MosUtilitiesSpecificNext::m_ufKeyList = nullptr;
46@@ -2492,6 +2494,7 @@ void MosUtilities::MosTraceEvent(
47 MOS_FreeMemory(pTraceBuf);
48 }
49 }
50+#ifdef HAVE_EXECINFO
51 if (m_mosTraceFilter & (1ULL << TR_KEY_CALL_STACK))
52 {
53 // reserve space for header and stack size field.
54@@ -2511,6 +2514,7 @@ void MosUtilities::MosTraceEvent(
55 size_t ret = write(MosUtilitiesSpecificNext::m_mosTraceFd, traceBuf, nLen);
56 }
57 }
58+#endif
59 }
60 return;
61 }
62--
632.34.1
64
diff --git a/recipes-multimedia/libva/files/0003-Force-ARGB-surface-to-tile4-for-ACM.patch b/recipes-multimedia/libva/files/0003-Force-ARGB-surface-to-tile4-for-ACM.patch
new file mode 100644
index 00000000..ffb5b747
--- /dev/null
+++ b/recipes-multimedia/libva/files/0003-Force-ARGB-surface-to-tile4-for-ACM.patch
@@ -0,0 +1,44 @@
1From 6132115dd2f1db55a6a5371618247dfaa334a035 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 3/7] 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 a4e12edfa..11634f66e 100755
16--- a/media_driver/linux/common/ddi/media_libva_util.cpp
17+++ b/media_driver/linux/common/ddi/media_libva_util.cpp
18@@ -521,6 +521,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@@ -702,6 +703,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.43.0
44
diff --git a/recipes-multimedia/libva/files/0004-Fix-failed-4k-videowalll-test-case-and-color-corrupt.patch b/recipes-multimedia/libva/files/0004-Fix-failed-4k-videowalll-test-case-and-color-corrupt.patch
new file mode 100644
index 00000000..49e3ff13
--- /dev/null
+++ b/recipes-multimedia/libva/files/0004-Fix-failed-4k-videowalll-test-case-and-color-corrupt.patch
@@ -0,0 +1,85 @@
1From a32b95e58fd3e34847e799b909e08dbe5c9dc692 Mon Sep 17 00:00:00 2001
2From: Lim Siew Hoon <siew.hoon.lim@intel.com>
3Date: Fri, 2 Aug 2024 13:25:13 +0800
4Subject: [PATCH 4/7] Fix failed 4k videowalll test case and color corruption
5 of video composition in Gen12 platform
6
7Fix failed 4k video wall test case from 16CH video only show
81CH output and corruption observed on certain number of video
9composition when doing sample_multi_transcode in legacy path.
10
11platform: TGL/ADL/RPL
12
13Upstream-Status: Submitted [https://github.com/intel/media-driver/pull/1839]
14
15Signed-off-by: xupianch <xu.pian.chan@intel.com>
16Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
17---
18 .../common/vp/hal/vphal_render_composite.cpp | 9 ++++++++-
19 .../linux/common/vp/ddi/media_libva_vp.c | 18 +++++-------------
20 2 files changed, 13 insertions(+), 14 deletions(-)
21
22diff --git a/media_driver/agnostic/common/vp/hal/vphal_render_composite.cpp b/media_driver/agnostic/common/vp/hal/vphal_render_composite.cpp
23index 169030209..cc7c241c1 100644
24--- a/media_driver/agnostic/common/vp/hal/vphal_render_composite.cpp
25+++ b/media_driver/agnostic/common/vp/hal/vphal_render_composite.cpp
26@@ -6784,6 +6784,13 @@ bool CompositeState::BuildFilter(
27
28 for (i = 0; (i < (int)pCompParams->uSourceCount) && (iMaxFilterSize > 0); i++)
29 {
30+ if (i > 0)
31+ {
32+ if (!RECT1_CONTAINS_RECT2(pCompParams->pSource[0]->rcDst, pCompParams->pSource[i]->rcDst))
33+ {
34+ pFilter->forceToTargetColorSpace = true;
35+ }
36+ }
37 pSrc = pCompParams->pSource[i];
38
39 //--------------------------------
40@@ -8154,4 +8161,4 @@ bool CompositeState::IsSamplerIDForY(
41 return true;
42 }
43 return false;
44- }
45\ No newline at end of file
46+ }
47diff --git a/media_driver/linux/common/vp/ddi/media_libva_vp.c b/media_driver/linux/common/vp/ddi/media_libva_vp.c
48index 48a452315..4f0fc2c48 100644
49--- a/media_driver/linux/common/vp/ddi/media_libva_vp.c
50+++ b/media_driver/linux/common/vp/ddi/media_libva_vp.c
51@@ -1148,7 +1148,7 @@ DdiVp_SetProcPipelineParams(
52
53 // Background Colorfill
54 // According to libva definition, if alpha in output background color is zero, then colorfill is not needed
55- if ((pPipelineParam->output_background_color >> 24) != 0 || pVpHalTgtSurf->ColorSpace == CSpace_sRGB)
56+ if ((pPipelineParam->output_background_color >> 24) != 0)
57 {
58 if (pVpHalRenderParams->pColorFillParams == nullptr)
59 {
60@@ -1157,18 +1157,10 @@ DdiVp_SetProcPipelineParams(
61
62 DDI_CHK_NULL(pVpHalRenderParams->pColorFillParams, "Null pColorFillParams.", VA_STATUS_ERROR_UNKNOWN);
63
64- if (pVpHalTgtSurf->ColorSpace == CSpace_sRGB && (pPipelineParam->output_background_color >> 24) == 0)
65- {
66- // set color space for sRGB output
67- pVpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB;
68- }
69- else
70- {
71- // set background colorfill option
72- pVpHalRenderParams->pColorFillParams->Color = pPipelineParam->output_background_color;
73- pVpHalRenderParams->pColorFillParams->bYCbCr = false;
74- pVpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB;
75- }
76+ // set background colorfill option
77+ pVpHalRenderParams->pColorFillParams->Color = pPipelineParam->output_background_color;
78+ pVpHalRenderParams->pColorFillParams->bYCbCr = false;
79+ pVpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB;
80 }else
81 {
82 MOS_FreeMemAndSetNull(pVpHalRenderParams->pColorFillParams);
83--
842.43.0
85
diff --git a/recipes-multimedia/libva/intel-media-driver_22.4.4.bb b/recipes-multimedia/libva/intel-media-driver_25.1.4.bb
index 22fd4d06..d2ab0f43 100644
--- a/recipes-multimedia/libva/intel-media-driver_22.4.4.bb
+++ b/recipes-multimedia/libva/intel-media-driver_25.1.4.bb
@@ -19,11 +19,11 @@ REQUIRED_DISTRO_FEATURES = "opengl"
19DEPENDS += "libva gmmlib" 19DEPENDS += "libva gmmlib"
20 20
21SRC_URI = "git://github.com/intel/media-driver.git;protocol=https;nobranch=1 \ 21SRC_URI = "git://github.com/intel/media-driver.git;protocol=https;nobranch=1 \
22 file://0001-Fix-uClibc-build.patch \ 22 file://0003-Force-ARGB-surface-to-tile4-for-ACM.patch \
23 file://0004-Fix-failed-4k-videowalll-test-case-and-color-corrupt.patch \
23 " 24 "
24 25
25SRCREV = "9ca43202d5ff3d1bf22f1b7ff1fe3bd2980b90dc" 26SRCREV = "14e2e7bcf1014186dbf1c099089c7c05cd880ae8"
26S = "${WORKDIR}/git"
27 27
28COMPATIBLE_HOST:x86-x32 = "null" 28COMPATIBLE_HOST:x86-x32 = "null"
29 29