From b783f9e933ee07b118a550953e7cbf4db51d61d1 Mon Sep 17 00:00:00 2001 From: Lim Siew Hoon Date: Mon, 25 Jul 2022 11:09:09 +0800 Subject: 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 Signed-off-by: Anuj Mittal --- .../libva/files/0001-Fix-uClibc-build.patch | 64 ++++++++++++ .../c8457540aed1ab9424661087276fb788c0e3aabb.patch | 109 --------------------- .../libva/intel-media-driver_22.3.1.bb | 51 ---------- .../libva/intel-media-driver_22.4.4.bb | 51 ++++++++++ 4 files changed, 115 insertions(+), 160 deletions(-) create mode 100644 recipes-multimedia/libva/files/0001-Fix-uClibc-build.patch delete mode 100644 recipes-multimedia/libva/files/c8457540aed1ab9424661087276fb788c0e3aabb.patch delete mode 100644 recipes-multimedia/libva/intel-media-driver_22.3.1.bb create mode 100644 recipes-multimedia/libva/intel-media-driver_22.4.4.bb diff --git a/recipes-multimedia/libva/files/0001-Fix-uClibc-build.patch b/recipes-multimedia/libva/files/0001-Fix-uClibc-build.patch new file mode 100644 index 00000000..dbe93872 --- /dev/null +++ b/recipes-multimedia/libva/files/0001-Fix-uClibc-build.patch @@ -0,0 +1,64 @@ +From 2e0a1de5fee7899cc7d4e67ec9893a621a3cf024 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +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 +--- + 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 + #include // fork + #include ++#ifdef HAVE_EXECINFO + #include // 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 + diff --git a/recipes-multimedia/libva/files/c8457540aed1ab9424661087276fb788c0e3aabb.patch b/recipes-multimedia/libva/files/c8457540aed1ab9424661087276fb788c0e3aabb.patch deleted file mode 100644 index 046778b2..00000000 --- a/recipes-multimedia/libva/files/c8457540aed1ab9424661087276fb788c0e3aabb.patch +++ /dev/null @@ -1,109 +0,0 @@ -From c8457540aed1ab9424661087276fb788c0e3aabb Mon Sep 17 00:00:00 2001 -From: "Wang, Pingli" -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 - -Upstream-Status: Backport -Signed-off-by: Anuj Mittal ---- - .../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 - _Ty *MOS_NewArrayUtil(const char *functionName, - const char *filename, -- int32_t line, int32_t numElements) -+ int32_t line, size_t numElements) - #else - template --_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 - static _Ty *MosNewArrayUtil(const char *functionName, - const char *filename, -- int32_t line, int32_t numElements) -+ int32_t line, size_t numElements) - #else - template -- static _Ty* MosNewArrayUtil(int32_t numElements) -+ static _Ty* MosNewArrayUtil(size_t numElements) - #endif - { - #if (_DEBUG || _RELEASE_INTERNAL) diff --git a/recipes-multimedia/libva/intel-media-driver_22.3.1.bb b/recipes-multimedia/libva/intel-media-driver_22.3.1.bb deleted file mode 100644 index 4e64c1b6..00000000 --- a/recipes-multimedia/libva/intel-media-driver_22.3.1.bb +++ /dev/null @@ -1,51 +0,0 @@ -SUMMARY = "VA driver for Intel Gen based graphics hardware" -DESCRIPTION = "Intel Media Driver for VAAPI is a new VA-API (Video Acceleration API) \ -user mode driver supporting hardware accelerated decoding, encoding, \ -and video post processing for GEN based graphics hardware." - -HOMEPAGE = "https://github.com/intel/media-driver" -BUGTRACKER = "https://github.com/intel/media-driver/issues" - -LICENSE = "MIT & BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=6aab5363823095ce682b155fef0231f0 \ - file://media_driver/media_libvpx.LICENSE;md5=d5b04755015be901744a78cc30d390d4 \ - " - -COMPATIBLE_HOST = '(i.86|x86_64).*-linux' - -inherit features_check -REQUIRED_DISTRO_FEATURES = "opengl" - -DEPENDS += "libva gmmlib" - -SRC_URI = "git://github.com/intel/media-driver.git;protocol=https;nobranch=1 \ - file://c8457540aed1ab9424661087276fb788c0e3aabb.patch \ - " - -SRCREV = "6547f46584633a7619440b39b34908e13c8c857d" -S = "${WORKDIR}/git" - -COMPATIBLE_HOST:x86-x32 = "null" - -UPSTREAM_CHECK_GITTAGREGEX = "^intel-media-(?P(?!600\..*)\d+(\.\d+)+)$" - -inherit cmake pkgconfig - -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" - -do_configure:prepend:toolchain-clang() { - sed -i -e '/-fno-tree-pre/d' ${S}/media_driver/cmake/linux/media_compile_flags_linux.cmake -} - -FILES:${PN} += " \ - ${libdir}/dri/ \ - " diff --git a/recipes-multimedia/libva/intel-media-driver_22.4.4.bb b/recipes-multimedia/libva/intel-media-driver_22.4.4.bb new file mode 100644 index 00000000..22fd4d06 --- /dev/null +++ b/recipes-multimedia/libva/intel-media-driver_22.4.4.bb @@ -0,0 +1,51 @@ +SUMMARY = "VA driver for Intel Gen based graphics hardware" +DESCRIPTION = "Intel Media Driver for VAAPI is a new VA-API (Video Acceleration API) \ +user mode driver supporting hardware accelerated decoding, encoding, \ +and video post processing for GEN based graphics hardware." + +HOMEPAGE = "https://github.com/intel/media-driver" +BUGTRACKER = "https://github.com/intel/media-driver/issues" + +LICENSE = "MIT & BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=6aab5363823095ce682b155fef0231f0 \ + file://media_driver/media_libvpx.LICENSE;md5=d5b04755015be901744a78cc30d390d4 \ + " + +COMPATIBLE_HOST = '(i.86|x86_64).*-linux' + +inherit features_check +REQUIRED_DISTRO_FEATURES = "opengl" + +DEPENDS += "libva gmmlib" + +SRC_URI = "git://github.com/intel/media-driver.git;protocol=https;nobranch=1 \ + file://0001-Fix-uClibc-build.patch \ + " + +SRCREV = "9ca43202d5ff3d1bf22f1b7ff1fe3bd2980b90dc" +S = "${WORKDIR}/git" + +COMPATIBLE_HOST:x86-x32 = "null" + +UPSTREAM_CHECK_GITTAGREGEX = "^intel-media-(?P(?!600\..*)\d+(\.\d+)+)$" + +inherit cmake pkgconfig + +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" + +do_configure:prepend:toolchain-clang() { + sed -i -e '/-fno-tree-pre/d' ${S}/media_driver/cmake/linux/media_compile_flags_linux.cmake +} + +FILES:${PN} += " \ + ${libdir}/dri/ \ + " -- cgit v1.2.3-54-g00ecf