intel-media-driver: upgrade 22.3.1 -> 22.4.4

Drops patches already merged:
* c8457540aed1ab9424661087276fb788c0e3aabb.patch

Add patches to fix fails with musl libc
* 0001-Fix-uClibc-build.patch

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
This commit is contained in:
Lim Siew Hoon 2022-07-25 11:09:09 +08:00 committed by Anuj Mittal
parent ada3eb5781
commit b783f9e933
3 changed files with 66 additions and 111 deletions

View File

@ -0,0 +1,64 @@
From 2e0a1de5fee7899cc7d4e67ec9893a621a3cf024 Mon Sep 17 00:00:00 2001
From: Bernd Kuhls <bernd.kuhls@t-online.de>
Date: Fri, 10 Jun 2022 18:42:34 +0200
Subject: [PATCH] Fix uClibc build
uClibc does not provide execinfo.h
Upstream-Status: Submitted [https://github.com/intel/media-driver/pull/1437]
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
---
CMakeLists.txt | 6 ++++++
.../linux/common/os/osservice/mos_utilities_specific.cpp | 4 ++++
2 files changed, 10 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8305acfdb..6bec00f7d 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -53,6 +53,12 @@ option (BUILD_CMRTLIB "Build and Install cmrtlib together with media driver" ON)
option (ENABLE_PRODUCTION_KMD "Enable Production KMD header files" OFF)
+include(CheckIncludeFileCXX)
+check_include_file_cxx("execinfo.h" HAVE_EXECINFO)
+if (HAVE_EXECINFO)
+ add_definitions(-DHAVE_EXECINFO)
+endif()
+
include(GNUInstallDirs)
if (BUILD_CMRTLIB AND NOT CMAKE_WDDM_LINUX)
diff --git a/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp b/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp
index ff0b68655..8ea621f0e 100644
--- a/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp
+++ b/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp
@@ -51,7 +51,9 @@
#include <signal.h>
#include <unistd.h> // fork
#include <algorithm>
+#ifdef HAVE_EXECINFO
#include <execinfo.h> // backtrace
+#endif
const char *MosUtilitiesSpecificNext::m_szUserFeatureFile = USER_FEATURE_FILE;
MOS_PUF_KEYLIST MosUtilitiesSpecificNext::m_ufKeyList = nullptr;
@@ -2492,6 +2494,7 @@ void MosUtilities::MosTraceEvent(
MOS_FreeMemory(pTraceBuf);
}
}
+#ifdef HAVE_EXECINFO
if (m_mosTraceFilter & (1ULL << TR_KEY_CALL_STACK))
{
// reserve space for header and stack size field.
@@ -2511,6 +2514,7 @@ void MosUtilities::MosTraceEvent(
size_t ret = write(MosUtilitiesSpecificNext::m_mosTraceFd, traceBuf, nLen);
}
}
+#endif
}
return;
}
--
2.34.1

View File

@ -1,109 +0,0 @@
From c8457540aed1ab9424661087276fb788c0e3aabb Mon Sep 17 00:00:00 2001
From: "Wang, Pingli" <pingli.wang@intel.com>
Date: Wed, 23 Mar 2022 20:14:04 +0800
Subject: [PATCH] Fixes #1354
Fixes #1354. It is to fix the compiling issue for gcc12.0.1.
[-Werror=address] [-Werror=dangling-pointer=][-Werror=alloc-size-larger-than=]
Signed-off-by: Wang, Pingli <pingli.wang@intel.com>
Upstream-Status: Backport
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
.../agnostic/common/os/mos_utilities.h | 4 +--
.../codec/hal/codechal_encoder_base.cpp | 2 +-
.../common/codec/ddi/media_ddi_decode_vp8.cpp | 25 ++++++++-----------
.../agnostic/common/os/mos_utilities_next.h | 4 +--
4 files changed, 16 insertions(+), 19 deletions(-)
diff --git a/media_common/agnostic/common/os/mos_utilities.h b/media_common/agnostic/common/os/mos_utilities.h
index 7c395816f..d41a3a065 100644
--- a/media_common/agnostic/common/os/mos_utilities.h
+++ b/media_common/agnostic/common/os/mos_utilities.h
@@ -181,10 +181,10 @@ _Ty* MOS_NewUtil(_Types&&... _Args)
template<class _Ty, class... _Types>
_Ty *MOS_NewArrayUtil(const char *functionName,
const char *filename,
- int32_t line, int32_t numElements)
+ int32_t line, size_t numElements)
#else
template<class _Ty, class... _Types>
-_Ty* MOS_NewArrayUtil(int32_t numElements)
+_Ty* MOS_NewArrayUtil(size_t numElements)
#endif
{
#if MOS_MESSAGES_ENABLED
diff --git a/media_driver/agnostic/common/codec/hal/codechal_encoder_base.cpp b/media_driver/agnostic/common/codec/hal/codechal_encoder_base.cpp
index 4bf869c60..e9b3575fd 100644
--- a/media_driver/agnostic/common/codec/hal/codechal_encoder_base.cpp
+++ b/media_driver/agnostic/common/codec/hal/codechal_encoder_base.cpp
@@ -3891,6 +3891,7 @@ MOS_STATUS CodechalEncoderState::ReadCounterValue(uint16_t index, EncodeStatusRe
CODECHAL_ENCODE_FUNCTION_ENTER;
CODECHAL_ENCODE_CHK_NULL_RETURN(encodeStatusReport);
uint64_t *address2Counter = nullptr;
+ uint32_t ctr[4] = { 0 };
if (m_hwInterface->GetCpInterface()->IsHwCounterIncrement(m_osInterface))
{
@@ -3923,7 +3924,6 @@ MOS_STATUS CodechalEncoderState::ReadCounterValue(uint16_t index, EncodeStatusRe
else
{
//Report driver generated counter which was submitted to HW by command
- uint32_t ctr[4] = { 0 };
eStatus = m_hwInterface->GetCpInterface()->GetCounterValue(ctr);
if (MOS_STATUS_SUCCESS == eStatus)
{
diff --git a/media_driver/linux/common/codec/ddi/media_ddi_decode_vp8.cpp b/media_driver/linux/common/codec/ddi/media_ddi_decode_vp8.cpp
index 72891d584..fac4c415d 100644
--- a/media_driver/linux/common/codec/ddi/media_ddi_decode_vp8.cpp
+++ b/media_driver/linux/common/codec/ddi/media_ddi_decode_vp8.cpp
@@ -235,20 +235,17 @@ VAStatus DdiDecodeVP8::ParsePicParams(
codecPicParams->ucUvModeProbs[0] = picParam->uv_mode_probs[0];
codecPicParams->ucUvModeProbs[1] = picParam->uv_mode_probs[1];
codecPicParams->ucUvModeProbs[2] = picParam->uv_mode_probs[2];
- if (codecPicParams->ucMvUpdateProb[0] && picParam->mv_probs[0])
- {
- MOS_SecureMemcpy(codecPicParams->ucMvUpdateProb[0],
- sizeof(codecPicParams->ucMvUpdateProb[0]),
- picParam->mv_probs[0],
- sizeof(codecPicParams->ucMvUpdateProb[0]));
- }
- if (codecPicParams->ucMvUpdateProb[1] && picParam->mv_probs[1])
- {
- MOS_SecureMemcpy(codecPicParams->ucMvUpdateProb[1],
- sizeof(codecPicParams->ucMvUpdateProb[1]),
- picParam->mv_probs[1],
- sizeof(codecPicParams->ucMvUpdateProb[1]));
- }
+
+ MOS_SecureMemcpy(codecPicParams->ucMvUpdateProb[0],
+ sizeof(codecPicParams->ucMvUpdateProb[0]),
+ picParam->mv_probs[0],
+ sizeof(codecPicParams->ucMvUpdateProb[0]));
+
+ MOS_SecureMemcpy(codecPicParams->ucMvUpdateProb[1],
+ sizeof(codecPicParams->ucMvUpdateProb[1]),
+ picParam->mv_probs[1],
+ sizeof(codecPicParams->ucMvUpdateProb[1]));
+
codecPicParams->ucP0EntropyCount = (8 - picParam->bool_coder_ctx.count) & 0x7; //hardware needs used bits not remaining bits in bool decoder
codecPicParams->ucP0EntropyValue = picParam->bool_coder_ctx.value;
codecPicParams->uiP0EntropyRange = picParam->bool_coder_ctx.range;
diff --git a/media_softlet/agnostic/common/os/mos_utilities_next.h b/media_softlet/agnostic/common/os/mos_utilities_next.h
index 509f2de3d..b6069bbc8 100644
--- a/media_softlet/agnostic/common/os/mos_utilities_next.h
+++ b/media_softlet/agnostic/common/os/mos_utilities_next.h
@@ -90,10 +90,10 @@ class MosUtilities
template<class _Ty, class... _Types>
static _Ty *MosNewArrayUtil(const char *functionName,
const char *filename,
- int32_t line, int32_t numElements)
+ int32_t line, size_t numElements)
#else
template<class _Ty, class... _Types>
- static _Ty* MosNewArrayUtil(int32_t numElements)
+ static _Ty* MosNewArrayUtil(size_t numElements)
#endif
{
#if (_DEBUG || _RELEASE_INTERNAL)

View File

@ -19,10 +19,10 @@ REQUIRED_DISTRO_FEATURES = "opengl"
DEPENDS += "libva gmmlib"
SRC_URI = "git://github.com/intel/media-driver.git;protocol=https;nobranch=1 \
file://c8457540aed1ab9424661087276fb788c0e3aabb.patch \
file://0001-Fix-uClibc-build.patch \
"
SRCREV = "6547f46584633a7619440b39b34908e13c8c857d"
SRCREV = "9ca43202d5ff3d1bf22f1b7ff1fe3bd2980b90dc"
S = "${WORKDIR}/git"
COMPATIBLE_HOST:x86-x32 = "null"