Compare commits

..

No commits in common. "master" and "22.0-styhead-5.1" have entirely different histories.

85 changed files with 1556 additions and 526 deletions

View File

@ -32,4 +32,5 @@ Dynamic additional dependencies:
## Maintainers
- Yogesh Tyagi <yogesh.tyagi@intel.com>
- Anuj Mittal <anuj.mittal@intel.com>

View File

@ -7,11 +7,13 @@ RECIPE_MAINTAINER:pn-core-image-tiny = "Naveen Saini <naveen.kumar.saini@intel.c
RECIPE_MAINTAINER:pn-core-image-minimal-initramfs = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-embree = "Naveen Saini <naveen.kumar.saini@intel.com>"
RECIPE_MAINTAINER:pn-gmmlib = "Lim Siew Hoon <siew.hoon.lim@intel.com>"
RECIPE_MAINTAINER:pn-hdcp = "Naveen Saini <naveen.kumar.saini@intel.com>"
RECIPE_MAINTAINER:pn-intel-cmt-cat = "Naveen Saini <naveen.kumar.saini@intel.com>"
RECIPE_MAINTAINER:pn-intel-compute-runtime = "Naveen Saini <naveen.kumar.saini@intel.com>"
RECIPE_MAINTAINER:pn-intel-crypto-mb = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-intel-graphics-compiler = "Naveen Saini <naveen.kumar.saini@intel.com>"
RECIPE_MAINTAINER:pn-intel-media-driver = "Lim Siew Hoon <siew.hoon.lim@intel.com>"
RECIPE_MAINTAINER:pn-intel-mediasdk = "Lim Siew Hoon <siew.hoon.lim@intel.com>"
RECIPE_MAINTAINER:pn-intel-microcode = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-intel-vaapi-driver = "Lim Siew Hoon <siew.hoon.lim@intel.com>"
RECIPE_MAINTAINER:pn-ipmctl = "Anuj Mittal <anuj.mittal@intel.com>"

View File

@ -19,7 +19,7 @@ LAYERRECOMMENDS_intel = "dpdk"
# This should only be incremented on significant changes that will
# cause compatibility issues with other layers
LAYERVERSION_intel = "5"
LAYERSERIES_COMPAT_intel = "scarthgap whinlatter"
LAYERSERIES_COMPAT_intel = "scarthgap styhead"
BBFILES_DYNAMIC += " \
clang-layer:${LAYERDIR}/dynamic-layers/clang-layer/*/*/*.bb \

View File

@ -7,10 +7,10 @@
PREFERRED_PROVIDER_virtual/kernel ?= "linux-intel"
PREFERRED_PROVIDER_virtual/kernel:poky-tiny ?= "linux-intel"
PREFERRED_VERSION_linux-intel ?= "6.12%"
PREFERRED_VERSION_linux-intel-rt ?= "6.12%"
PREFERRED_VERSION_linux-intel:poky-altcfg ?= "6.12%"
PREFERRED_VERSION_linux-intel-rt:poky-altcfg ?= "6.12%"
PREFERRED_VERSION_linux-intel ?= "6.6%"
PREFERRED_VERSION_linux-intel-rt ?= "6.6%"
PREFERRED_VERSION_linux-intel:poky-altcfg ?= "6.11%"
PREFERRED_VERSION_linux-intel-rt:poky-altcfg ?= "6.11%"
# Need to point to latest version of libva needed for media components
PREFERRED_PROVIDER_libva = "libva-intel"

View File

@ -11,7 +11,7 @@ MACHINE_FEATURES += "pcbios efi"
MACHINE_FEATURES += "wifi 3g nfc"
MACHINE_FEATURES += "intel-ucode"
MACHINE_HWCODECS ?= "${@bb.utils.contains('TUNE_FEATURES', 'mx32', '', 'intel-media-driver vpl-gpu-rt', d)} gstreamer1.0-vaapi"
MACHINE_HWCODECS ?= "${@bb.utils.contains('TUNE_FEATURES', 'mx32', '', 'intel-media-driver intel-mediasdk', d)} gstreamer1.0-vaapi"
# Enable optional dpdk:
COMPATIBLE_MACHINE:pn-dpdk = "intel-corei7-64"

View File

@ -12,7 +12,7 @@ MACHINE_FEATURES += "efi"
MACHINE_FEATURES += "wifi 3g nfc"
MACHINE_FEATURES += "intel-ucode"
MACHINE_HWCODECS ?= "intel-media-driver vpl-gpu-rt gstreamer1.0-vaapi"
MACHINE_HWCODECS ?= "intel-media-driver intel-mediasdk gstreamer1.0-vaapi"
COMPATIBLE_MACHINE:pn-dpdk = "intel-skylake-64"
COMPATIBLE_MACHINE:pn-dpdk-module = "intel-skylake-64"

View File

@ -14,6 +14,7 @@ inherit pkgconfig cmake ptest
DNN_BRANCH = "rls-v${@'.'.join(d.getVar('PV').split('.')[0:2])}"
S = "${WORKDIR}/git"
SRCREV = "66f0cb9eb66affd2da3bf5f8d897376f04aae6af"
SRC_URI = "git://github.com/oneapi-src/oneDNN.git;branch=${DNN_BRANCH};protocol=https \
file://run-ptest \
@ -34,7 +35,6 @@ EXTRA_OECMAKE += " \
-DDNNL_ARCH_OPT_FLAGS="" \
-DCMAKE_SKIP_RPATH=ON \
-DONEDNN_BUILD_GRAPH=OFF \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
"
PACKAGECONFIG ??= "gpu"

View File

@ -0,0 +1,27 @@
From a40ed1c5274f867385610bb57ceee75bf4722de9 Mon Sep 17 00:00:00 2001
From: Anuj Mittal <anuj.mittal@intel.com>
Date: Tue, 30 May 2023 09:03:01 +0800
Subject: [PATCH 1/5] intel-compute-runtime: fix build with gcc13
Upstream-Status: Inappropriate
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5e43b4ad76..619243913b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -811,7 +811,7 @@ if(NOT MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-noexcept-type") # Added for gtest
endif()
endif()
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Werror=vla")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror=vla")
if(USE_SANITIZE_UB)
check_cxx_compiler_flag(-fsanitize=undefined COMPILER_SUPPORTS_UNDEFINED_BEHAVIOR_SANITIZER)
--
2.34.1

View File

@ -11,12 +11,12 @@ Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
shared/source/built_ins/kernels/CMakeLists.txt | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
Index: git/shared/source/built_ins/kernels/CMakeLists.txt
===================================================================
--- git.orig/shared/source/built_ins/kernels/CMakeLists.txt
+++ git/shared/source/built_ins/kernels/CMakeLists.txt
@@ -122,9 +122,9 @@ function(compile_builtin core_type platf
endif()
diff --git a/shared/source/built_ins/kernels/CMakeLists.txt b/shared/source/built_ins/kernels/CMakeLists.txt
index ed85a37c52..f7c9e79137 100644
--- a/shared/source/built_ins/kernels/CMakeLists.txt
+++ b/shared/source/built_ins/kernels/CMakeLists.txt
@@ -107,9 +107,9 @@ function(compile_builtin core_type platform_it builtin bits builtin_options mode
)
add_custom_command(
OUTPUT ${OUTPUT_FILE_CPP}
- COMMAND $<TARGET_FILE:cpp_generate_tool> --file ${BINARY_OUTPUT}.bin --output ${OUTPUT_FILE_CPP} --array ${mode}_${BASENAME} --device ${RELEASE_FILENAME}
@ -27,8 +27,8 @@ Index: git/shared/source/built_ins/kernels/CMakeLists.txt
)
list(APPEND BUILTINS_COMMANDS "${OUTPUT_FILE_CPP}")
else()
@@ -176,9 +176,9 @@ function(generate_cpp_spirv builtin)
endif()
@@ -159,9 +159,9 @@ function(generate_cpp_spirv builtin)
)
add_custom_command(
OUTPUT ${OUTPUT_FILE_CPP}
- COMMAND $<TARGET_FILE:cpp_generate_tool> --file ${GENERATED_SPV_INPUT} --output ${OUTPUT_FILE_CPP} --array ${BASENAME}
@ -39,3 +39,13 @@ Index: git/shared/source/built_ins/kernels/CMakeLists.txt
)
set(OUTPUT_LIST_CPP_FILES ${OUTPUT_LIST_CPP_FILES} ${OUTPUT_FILE_CPP} PARENT_SCOPE)
else()
@@ -277,4 +277,4 @@ if(NOT "${OUTPUT_LIST_CPP_FILES}" STREQUAL "")
)
endif()
-apply_macro_for_each_core_type("SUPPORTED")
\ No newline at end of file
+apply_macro_for_each_core_type("SUPPORTED")
--
2.34.1

View File

@ -8,12 +8,15 @@ LICENSE = "MIT & Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eca6ec6997e18db166db7109cdbe611c \
file://third_party/opencl_headers/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
SRC_URI = "git://github.com/intel/compute-runtime.git;protocol=https;branch=releases/25.13 \
SRC_URI = "git://github.com/intel/compute-runtime.git;protocol=https;branch=releases/24.26 \
file://0001-intel-compute-runtime-fix-build-with-gcc13.patch \
file://0002-Build-not-able-to-locate-cpp_generation_tool.patch \
file://0003-external-ocloc.patch \
"
SRCREV = "a9961bdfaa07250fd52ff930bf8f31fb4e3b7799"
SRCREV = "e16f47e375e4324dae07aadbfe953002a1c45195"
S = "${WORKDIR}/git"
DEPENDS += " intel-graphics-compiler gmmlib libva qemu-native"

View File

@ -17,16 +17,16 @@ Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: git/IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake
===================================================================
--- git.orig/IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake
+++ git/IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake
@@ -121,7 +121,7 @@ function(vc_build_bif RES_FILE CMCL_SRC_
diff --git a/IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake b/IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake
index d20d7f887..882e09fea 100644
--- a/IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake
+++ b/IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake
@@ -109,7 +109,7 @@ function(vc_build_bif TARGET RES_FILE CMCL_SRC_PATH BIF_NAME PTR_BIT_SIZE)
COMMENT "vc_build_bif: Translating CMCL builtins: ${BIF_CLANG_BC_NAME_FINAL} -> ${BIF_OPT_BC_NAME}"
COMMAND CMCLTranslatorTool ${OPT_OPAQUE_ARG} -o ${BIF_CMCL_BC_PATH} ${BIF_CLANG_BC_PATH_FINAL}
COMMAND ${LLVM_OPT_EXE} ${OPT_OPAQUE_ARG} --O2 -o ${BIF_OPT_BC_PATH} ${BIF_CMCL_BC_PATH}
- DEPENDS CMCLTranslatorTool ${LLVM_OPT_EXE} ${OPT_BC_DEPENDS})
+ DEPENDS CMCLTranslatorTool ${BIF_CLANG_BC_PATH_FINAL})
add_custom_target(${TARGET_NAME}
DEPENDS ${BIF_OPT_BC_PATH}
COMMAND CMCLTranslatorTool -o ${BIF_CMCL_BC_NAME} ${BIF_CLANG_BC_NAME_FINAL}
COMMAND ${LLVM_OPT_EXE} ${IGC_LLVM_DEPENDENT_OPT_FLAGS} --O2 -o ${BIF_OPT_BC_NAME} ${BIF_CMCL_BC_NAME}
- DEPENDS CMCLTranslatorTool ${LLVM_OPT_EXE} ${BIF_CLANG_BC_PATH_FINAL}
+ DEPENDS CMCLTranslatorTool ${BIF_CLANG_BC_PATH_FINAL}
BYPRODUCTS ${BIF_OPT_BC_PATH}
SOURCES ${CMCL_SRC_PATH})
set(${RES_FILE} ${BIF_OPT_BC_NAME} PARENT_SCOPE)

View File

@ -1,27 +0,0 @@
From 048512728eea53b3772a3f80ac9743bfc462487e Mon Sep 17 00:00:00 2001
From: Yogesh Tyagi <yogesh.tyagi@intel.com>
Date: Thu, 2 Jan 2025 15:59:27 +0530
Subject: [PATCH] Build not able to locate BiFManager-bin
Upstream-Status: Inappropriate [oe specific]
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
---
IGC/BiFModule/CMakeLists.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Index: git/IGC/BiFModule/CMakeLists.txt
===================================================================
--- git.orig/IGC/BiFModule/CMakeLists.txt
+++ git/IGC/BiFModule/CMakeLists.txt
@@ -655,8 +655,8 @@ set(IGC_BUILD__PROJ__BiFModuleCache_OCL
add_custom_command(
OUTPUT "${IGC_BUILD__BIF_DIR}/OCLBiFImpl.h" "${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bifbc"
- COMMAND $<TARGET_FILE:BiFManager-bin> "${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bc" "${IGC_BUILD__BIF_DIR}/IGCsize_t_32.bc" "${IGC_BUILD__BIF_DIR}/IGCsize_t_64.bc" "${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bifbc" "${IGC_BUILD__BIF_DIR}/OCLBiFImpl.h"
- DEPENDS "${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bc" "${IGC_BUILD__BIF_DIR}/IGCsize_t_32.bc" "${IGC_BUILD__BIF_DIR}/IGCsize_t_64.bc"$<TARGET_FILE:BiFManager-bin>
+ COMMAND BiFManager-bin "${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bc" "${IGC_BUILD__BIF_DIR}/IGCsize_t_32.bc" "${IGC_BUILD__BIF_DIR}/IGCsize_t_64.bc" "${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bifbc" "${IGC_BUILD__BIF_DIR}/OCLBiFImpl.h"
+ DEPENDS "${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bc" "${IGC_BUILD__BIF_DIR}/IGCsize_t_32.bc" "${IGC_BUILD__BIF_DIR}/IGCsize_t_64.bc" BiFManager-bin
COMMENT "BiF: ${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bc: Spliting output .bc."
COMMAND_EXPAND_LISTS
)

View File

@ -13,11 +13,11 @@ Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
external/SPIRV-Tools/CMakeLists.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Index: git/external/SPIRV-Tools/CMakeLists.txt
===================================================================
--- git.orig/external/SPIRV-Tools/CMakeLists.txt
+++ git/external/SPIRV-Tools/CMakeLists.txt
@@ -45,8 +45,8 @@ else() #By default use build from source
diff --git a/external/SPIRV-Tools/CMakeLists.txt b/external/SPIRV-Tools/CMakeLists.txt
index 31108b96b..007c24bf0 100644
--- a/external/SPIRV-Tools/CMakeLists.txt
+++ b/external/SPIRV-Tools/CMakeLists.txt
@@ -45,8 +45,8 @@ else() #By default use build from sources
message(STATUS "[SPIRV-Tools] : Building from source")
message(STATUS "[SPIRV-Tools] : Current source dir: ${CMAKE_CURRENT_SOURCE_DIR}")

View File

@ -13,11 +13,11 @@ Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
visa/CMakeLists.txt | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
Index: git/visa/CMakeLists.txt
===================================================================
--- git.orig/visa/CMakeLists.txt
+++ git/visa/CMakeLists.txt
@@ -135,8 +135,11 @@ endif()
diff --git a/visa/CMakeLists.txt b/visa/CMakeLists.txt
index 1b01b3389..8d608163d 100644
--- a/visa/CMakeLists.txt
+++ b/visa/CMakeLists.txt
@@ -133,8 +133,11 @@ endif()
set(bison_output_file ${CMAKE_CURRENT_BINARY_DIR}/CISA.tab.cpp)
set(flex_output_file ${CMAKE_CURRENT_BINARY_DIR}/lex.CISA.cpp)

View File

@ -8,28 +8,29 @@ LIC_FILES_CHKSUM = "file://IGC/BiFModule/Implementation/ExternalLibraries/libclc
file://LICENSE.md;md5=488d74376edf2765f6e78d271543dde3 \
file://NOTICES.txt;md5=b81a52411c84df3419f20bad4d755880"
SRC_URI = "git://github.com/intel/intel-graphics-compiler.git;protocol=https;name=igc;branch=releases/2.10.x \
git://github.com/intel/vc-intrinsics.git;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/vc-intrinsics;name=vc;nobranch=1 \
git://github.com/KhronosGroup/SPIRV-Tools.git;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/SPIRV-Tools;name=spirv-tools;branch=main \
git://github.com/KhronosGroup/SPIRV-Headers.git;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/SPIRV-Headers;name=spirv-headers;branch=main \
SRC_URI = "git://github.com/intel/intel-graphics-compiler.git;protocol=https;name=igc;branch=releases/igc-1.0.17193 \
git://github.com/intel/vc-intrinsics.git;protocol=https;destsuffix=git/vc-intrinsics;name=vc;nobranch=1 \
git://github.com/KhronosGroup/SPIRV-Tools.git;protocol=https;destsuffix=git/SPIRV-Tools;name=spirv-tools;branch=main \
git://github.com/KhronosGroup/SPIRV-Headers.git;protocol=https;destsuffix=git/SPIRV-Headers;name=spirv-headers;branch=main \
file://0003-Improve-Reproducibility-for-src-package.patch \
file://0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch \
file://0001-external-SPIRV-Tools-change-path-to-tools-and-header.patch \
file://0001-Build-not-able-to-locate-BiFManager-bin.patch \
"
SRC_URI:append:class-native = " file://0001-fix-tblgen.patch"
SRCREV_igc = "83925314d4fc32b017fcbfcd73e0667ba833fb8f"
SRCREV_vc = "9d255266e1df8f1dc5d11e1fbb03213acfaa4fc7"
SRCREV_spirv-tools = "f289d047f49fb60488301ec62bafab85573668cc"
SRCREV_spirv-headers = "0e710677989b4326ac974fd80c5308191ed80965"
SRCREV_igc = "ffa6fb4fc18ae047b8a8e91dbab83f8b3da5ce52"
SRCREV_vc = "f9c34404d0ea9abad83875a10bd48d88cea90ebd"
SRCREV_spirv-tools = "f0cc85efdbbe3a46eae90e0f915dc1509836d0fc"
SRCREV_spirv-headers = "1c6bb2743599e6eb6f37b2969acc0aef812e32e3"
SRCREV_FORMAT = "igc_vc_spirv-tools_spirv-headers"
# Used to replace with relative path in reproducibility patch
export B
S = "${WORKDIR}/git"
inherit cmake pkgconfig qemu python3native
CXXFLAGS:append = " -Wno-error=nonnull"
@ -37,9 +38,7 @@ CXXFLAGS:append = " -Wno-error=nonnull"
COMPATIBLE_HOST = '(x86_64).*-linux'
COMPATIBLE_HOST:libc-musl = "null"
DEPENDS += " flex-native bison-native clang clang-cross-x86_64 opencl-clang qemu-native python3-mako-native \
python3-pyyaml-native \
"
DEPENDS += " flex-native bison-native clang clang-cross-x86_64 opencl-clang qemu-native python3-mako-native"
RDEPENDS:${PN} += "opencl-clang"
@ -54,7 +53,6 @@ EXTRA_OECMAKE = " \
-DLLVM_LINK_EXE=${STAGING_BINDIR_NATIVE}/llvm-link \
-DCLANG_EXE=${STAGING_BINDIR_NATIVE}/clang \
-DCMAKE_CROSSCOMPILING_EMULATOR=${WORKDIR}/qemuwrapper \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
"
do_configure:prepend:class-target () {
@ -67,11 +65,10 @@ EOF
chmod +x ${WORKDIR}/qemuwrapper
}
UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>\d+(\.\d+)+)$"
UPSTREAM_CHECK_GITTAGREGEX = "^igc-(?P<pver>(?!19\..*)\d+(\.\d+)+)$"
FILES:${PN} += " \
${libdir}/igc2/NOTICES.txt \
${libdir}/igc/NOTICES.txt \
"
# libigc.so contains buildpaths

View File

@ -9,6 +9,7 @@ SRC_URI = "git://github.com/intel/opencl-clang.git;branch=${BRANCH};protocol=htt
file://0002-Request-native-clang-only-when-cross-compiling-464.patch \
file://0001-cl_headers-CMakeLists.txt-use-clang-from-native-sysr.patch \
"
S = "${WORKDIR}/git"
inherit cmake
DEPENDS += "clang"
@ -23,7 +24,6 @@ EXTRA_OECMAKE += "\
-DLLVM_TABLEGEN_EXE=${STAGING_BINDIR_NATIVE}/llvm-tblgen \
-DCMAKE_SKIP_RPATH=TRUE \
-DPREFERRED_LLVM_VERSION=${LLVMVERSION} \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
"
do_install:append:class-native() {

View File

@ -1,32 +0,0 @@
From 439af27f7641185933d7810b6c4eb17086438df3 Mon Sep 17 00:00:00 2001
From: Yogesh Tyagi <yogesh.tyagi@intel.com>
Date: Mon, 19 May 2025 17:50:40 +0530
Subject: [PATCH] LMS : fix build issue with gcc 15
include cstdint header to resolve the below error with gcc 15
| In file included from /lms/2406.0.0.0/git/MEIClient/src/MEICommand.cpp:11:
| /lms/2406.0.0.0/git/MEIClient/Include/MEICommand.h:40:54: error: 'uint8_t' was not declared in this scope
Upstream-Status: Submitted [https://github.com/intel/lms/pull/23]
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
---
MEIClient/Include/MEICommand.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/MEIClient/Include/MEICommand.h b/MEIClient/Include/MEICommand.h
index 6192d26..5332e44 100644
--- a/MEIClient/Include/MEICommand.h
+++ b/MEIClient/Include/MEICommand.h
@@ -12,6 +12,7 @@
#define __MEI_COMMAND_H__
#include "heci.h"
#include "MEIClientException.h"
+#include <cstdint>
#include <memory>
#include <vector>
--
2.43.0

View File

@ -1,39 +0,0 @@
From e1f6129390706044112496b6f10baee5b604b4c8 Mon Sep 17 00:00:00 2001
From: Yogesh Tyagi <yogesh.tyagi@intel.com>
Date: Wed, 23 Jul 2025 23:48:41 +0800
Subject: [PATCH] cmake: Bump required CMake version to 3.5 to allow builds
with CMake 4+
This enables builds with CMake 4+, fixing:
CMake Error at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.5 has been removed from CMake.
Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
to tell CMake that the project requires at least <min> but has been
updated to work with policies introduced by <max> or earlier.
Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.
Upstream-Status: Inappropriate
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
---
CIM_Framework/openwsman/CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CIM_Framework/openwsman/CMakeLists.txt b/CIM_Framework/openwsman/CMakeLists.txt
index 6e54c66..e2ffa5f 100644
--- a/CIM_Framework/openwsman/CMakeLists.txt
+++ b/CIM_Framework/openwsman/CMakeLists.txt
@@ -6,7 +6,7 @@ PROJECT(openwsman)
# 2.6 minimum because of CMP0005 (escaping defines)
# 2.8.12 minimum because CMake 3.19.7 says so
-cmake_minimum_required(VERSION 2.8.12)
+cmake_minimum_required(VERSION 3.5)
include(CTest)
enable_testing()
--
2.37.3

View File

@ -19,19 +19,15 @@ PACKAGECONFIG ??= "connman"
PACKAGECONFIG[connman] = "-DNETWORK_CN=ON, -DNETWORK_CN=OFF, connman"
PACKAGECONFIG[networkmanager] = "-DNETWORK_NM=ON, -DNETWORK_NM=OFF, networkmanager"
REQUIRED_DISTRO_FEATURES = "systemd"
EXTRA_OECMAKE += " \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
"
REQUIRED_DISTRO_FEATURES= "systemd"
FILES:${PN} += "${datadir}/dbus-1/system-services/*.service"
S = "${WORKDIR}/git"
SYSTEMD_SERVICE:${PN} = "lms.service"
SRC_URI = "git://github.com/intel/lms.git;branch=master;protocol=https \
file://0001-LMS-fix-build-issue-with-gcc-15.patch \
file://0001-cmake-Bump-required-CMake-version-to-3.5-to-allow-bu.patch \
"
SRCREV = "388f115b2aeb3ea11499971c65f828daefd32c47"

View File

@ -16,6 +16,7 @@ SRC_URI = "git://github.com/intel/thermal_daemon/;branch=master;protocol=https \
"
SRCREV = "df3b9ab0ffe780c4fbad7750987eff76f659cfd5"
S = "${WORKDIR}/git"
inherit pkgconfig autotools systemd gtk-doc

View File

@ -9,6 +9,8 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=da5ecffdd210b3cf776b32b41c182e87 \
inherit cmake python3native ptest
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/ispc/ispc.git;protocol=https;branch=main \
file://0002-cmake-don-t-build-for-32-bit-targets.patch \
file://0001-Fix-QA-Issues.patch \
@ -27,7 +29,7 @@ RDEPENDS:${PN}-ptest += " python3-multiprocessing"
PACKAGECONFIG ??= "tbb"
PACKAGECONFIG[tbb] = "-DISPCRT_BUILD_TASK_MODEL=TBB, -DISPCRT_BUILD_TASK_MODEL=OpenMP, tbb"
YFLAGS = '-d -t -v -y --file-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}'
YFLAGS='-d -t -v -y --file-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}'
do_configure:prepend() {
sed -i -e 's#\${BISON_EXECUTABLE}.*#\${BISON_EXECUTABLE} ${YFLAGS} #g' ${S}/CMakeLists.txt

View File

@ -4,7 +4,8 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=97957beb2f7808ffa247e5d93e6442cc"
SRC_URI = "git://github.com/oneapi-src/level-zero.git;protocol=https;branch=master"
SRCREV = "9536683855b17a21508e5b54ba358225d6a976da"
SRCREV = "1685d01497428ca4d8b99200972b64685424d5c9"
S = "${WORKDIR}/git"
inherit cmake
DEPENDS += "opencl-headers"

View File

@ -1,28 +0,0 @@
From 561e3b5edc0ec3d8835aaf8ef8e5c9e8f9b53061 Mon Sep 17 00:00:00 2001
From: Yogesh Tyagi <yogesh.tyagi@intel.com>
Date: Wed, 28 May 2025 13:35:18 +0800
Subject: [PATCH] linux-npu-driver : fix multilib install issue
Upstream-Status: Inappropriate [oe specific]
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
---
firmware/CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/firmware/CMakeLists.txt b/firmware/CMakeLists.txt
index 0c093ca..ba346a0 100644
--- a/firmware/CMakeLists.txt
+++ b/firmware/CMakeLists.txt
@@ -12,7 +12,7 @@ target_include_directories(${PROJECT_NAME} INTERFACE include)
file(GLOB FIRMWARE_BINARIES ${CMAKE_CURRENT_SOURCE_DIR}/bin/*.bin)
if (FIRMWARE_BINARIES)
install(FILES ${FIRMWARE_BINARIES}
- DESTINATION /lib/firmware/updates/intel/vpu/
+ DESTINATION ${CMAKE_INSTALL_FIRMWARE_DIR}/firmware/updates/intel/vpu/
PERMISSIONS OWNER_READ
COMPONENT fw-npu)
endif()
--
2.37.3

View File

@ -0,0 +1,33 @@
SUMMARY = "User Mode Driver for Intel® NPU device"
HOMEPAGE = "https://github.com/intel/linux-npu-driver"
LICENSE = "MIT & Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=37acda99f3f9c108e62d970fe0e08027 \
file://third-party-programs.txt;md5=dbf0d7a91947cccc5410e9760d9acae5 \
file://third_party/vpux_elf/LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
SRC_URI = "git://github.com/intel/linux-npu-driver.git;protocol=https;name=linux-npu-driver;branch=main;lfs=1 \
git://github.com/openvinotoolkit/npu_plugin_elf.git;protocol=https;destsuffix=git/third_party/vpux_elf;name=vpux-elf;nobranch=1 \
git://github.com/jbeder/yaml-cpp.git;protocol=https;destsuffix=git/third_party/yaml-cpp;name=yaml-cpp;nobranch=1 \
git://github.com/intel/level-zero-npu-extensions.git;protocol=https;destsuffix=git/third_party/level-zero-vpu-extensions;name=lzvext;nobranch=1 \
git://github.com/google/googletest.git;protocol=https;destsuffix=git/third_party/googletest;name=googletest;nobranch=1 \
file://0001-Fix-the-compilation-warning-when-using-gcc-13-25.patch \
file://0002-Fix-compilation-failure-with-GCC-14.patch \
"
SRCREV_linux-npu-driver = "9d1dd3daa01ebd97a4ac2e8279ddd6e2cb109244"
SRCREV_vpux-elf = "03878c115d13aa1ce6af5329c5759fc1cc94a3fb"
SRCREV_yaml-cpp = "0579ae3d976091d7d664aa9d2527e0d0cff25763"
SRCREV_lzvext = "0e1c471356a724ef6d176ba027a68e210d90939e"
SRCREV_googletest = "b796f7d44681514f58a683a3a71ff17c94edb0c1"
SRCREV_FORMAT = "linux-npu-driver_vpux-elf_yaml-cpp_lzvext_googletest"
S = "${WORKDIR}/git"
inherit cmake
DEPENDS = "level-zero"
PACKAGES =+ "${PN}-firmware ${PN}-tests"
FILES:${PN}-firmware = "${libdir}/firmware/updates/intel/vpu/*"
FILES:${PN}-tests = "${bindir}"

View File

@ -1,47 +0,0 @@
SUMMARY = "User Mode Driver for Intel® NPU device"
HOMEPAGE = "https://github.com/intel/linux-npu-driver"
LICENSE = "MIT & Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=7b256470048be42466f7d10e1d6482e6 \
file://third-party-programs.txt;md5=0ae40d7f1ef3bbd509197e427fdd7e70 \
file://third_party/vpux_elf/LICENSE;md5=5f51ea09f42b161b3013558e48d0fb20 \
file://third_party/level-zero/LICENSE;md5=97957beb2f7808ffa247e5d93e6442cc \
"
SRC_URI = "git://github.com/intel/linux-npu-driver.git;protocol=https;name=linux-npu-driver;branch=main;lfs=1 \
git://github.com/openvinotoolkit/npu_plugin_elf.git;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/third_party/vpux_elf;name=vpux-elf;nobranch=1 \
git://github.com/jbeder/yaml-cpp.git;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/third_party/yaml-cpp;name=yaml-cpp;nobranch=1 \
git://github.com/intel/level-zero-npu-extensions.git;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/third_party/level-zero-npu-extensions;name=lzvext;nobranch=1 \
git://github.com/google/googletest.git;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/third_party/googletest;name=googletest;nobranch=1 \
git://github.com/oneapi-src/level-zero.git;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/third_party/level-zero;name=level-zero;nobranch=1 \
file://0001-linux-npu-driver-fix-multilib-install-issue.patch \
"
SRCREV_linux-npu-driver = "59845101f5445e66dcc691f4f8be6371700fbdf5"
SRCREV_vpux-elf = "4b0a4a06ae09c0c3a973f8f18761c549ec2309eb"
SRCREV_yaml-cpp = "f7320141120f720aecc4c32be25586e7da9eb978"
SRCREV_lzvext = "8cf113bd4a4568f6555d81f316504d7ac3b82ee8"
SRCREV_googletest = "b514bdc898e2951020cbdca1304b75f5950d1f59"
SRCREV_level-zero = "e3b6efdd91d67bb03024b266094afabd39e213bf"
SRCREV_FORMAT = "linux-npu-driver_vpux-elf_yaml-cpp_lzvext_googletest_level-zero"
inherit cmake
# Fix warning _FORTIFY_SOURCE requires compiling with optimization (-O)
EXTRA_OECMAKE += " -DCMAKE_BUILD_TYPE=Release "
EXTRA_OECMAKE += " -DCMAKE_CXX_FLAGS_RELEASE=-O2 "
EXTRA_OECMAKE += " -DCMAKE_INSTALL_FIRMWARE_DIR=${nonarch_base_libdir}"
EXTRA_OECMAKE += " -DCMAKE_POLICY_VERSION_MINIMUM=3.5"
DEPENDS = "level-zero dpkg-native pkgconfig-native"
PACKAGES =+ "${PN}-firmware ${PN}-tests"
FILES:${PN}-firmware = "${nonarch_base_libdir}/firmware/updates/intel/vpu/*"
FILES:${PN}-tests = "${bindir}"
INSANE_SKIP:${PN} += "buildpaths"
INSANE_SKIP:${PN}-dbg += "buildpaths"
INSANE_SKIP:${PN}-tests += "buildpaths"
INSANE_SKIP:${PN}-firmware += "buildpaths"

View File

@ -8,7 +8,7 @@ and compatible processors."
HOMEPAGE = "https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-compiler.html"
LICENSE = "EULA"
LICENSE="EULA"
COMPILERMAINVER = "2024.0"
@ -37,7 +37,7 @@ SRC_URI[openmp-common.sha256sum] = "8217001d78311cbef97dd139e684c6767932b532309c
SRC_URI[license.sha256sum] = "9f9c8a12fc0bc82ab5b71e118e66745eff23f42224eba304068225b366cd74b6"
SRC_URI[dev-utils.sha256sum] = "c675d960a5abca361cead9217d6e74adee499ee0a095c4e44092bd710b304d50"
S = "${UNPACKDIR}/${BPN}"
S = "${WORKDIR}/${BPN}"
inherit bin_package

View File

@ -8,7 +8,7 @@ and compatible processors."
HOMEPAGE = "https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-compiler.html"
LICENSE = "EULA"
LICENSE="EULA"
COMPILERMAINVER = "2024.0"
@ -26,7 +26,7 @@ SRC_URI[icx-compiler.sha256sum] = "0dcbac766d5a1519d4cf393f5a85e71d19024fef65f77
SRC_URI[compiler-linker.sha256sum] = "e00faea6d797934d62143e4aa70b727ce30f80fdf30769d22122b3051140c236"
SRC_URI[shared-common.sha256sum] = "cf490a4a790f349da79e618359598d3b32312ca3b2639e5d4c84e1cfa2745558"
S = "${UNPACKDIR}/${BPN}"
S = "${WORKDIR}/${BPN}"
inherit bin_package

View File

@ -11,6 +11,8 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57 \
inherit pkgconfig cmake
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/embree/embree.git;protocol=https;branch=master"
SRCREV = "5730b150471602d6dc02d9b7d8a4a6ce9ceffe16"

View File

@ -21,7 +21,7 @@ SRC_URI[ipp.sha256sum] = "b51e45c6e691aa46c7136b0ab61f5abe346388433e017a30cf53fd
SRC_URI[headers.sha256sum] = "342f37ab2f82bc9f4498435f848ee660591c2488b44d988bf6ee96b2a71fd005"
SRC_URI[env.sha256sum] = "731e8c28a3b8b757730cd874d0941de2eb744856128f24ade59d36c12b415bf6"
S = "${UNPACKDIR}/${BPN}"
S = "${WORKDIR}/${BPN}"
COMPATIBLE_HOST:libc-musl = "null"

View File

@ -34,7 +34,7 @@ SRC_URI[common-devel.sha256sum] = "adbf0ea946f63946d29b7f9c750c38a42ea7a65d8c816
SRC_URI[devel.sha256sum] = "fab2a6f15e18bfd9b4d425f2703e4e98928c57f52c4feebc9ed886f097062e84"
SRC_URI[common-vars.sha256sum] = "ec2b67813739fa4a2895f63479a41acba2174afe2d0cb8a0c1c9119d1317d8ef"
S = "${UNPACKDIR}/${BPN}"
S = "${WORKDIR}/${BPN}"
inherit bin_package

View File

@ -16,6 +16,8 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57 \
inherit pkgconfig cmake
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openvkl/openvkl.git;protocol=https;branch=master \
"
SRCREV = "8c6ba526813b871a624cb9d73d4cbb689ac7f4ce"
@ -27,13 +29,11 @@ DEPENDS = "ispc ispc-native rkcommon embree"
EXTRA_OECMAKE += " \
-DISPC_EXECUTABLE=${STAGING_BINDIR_NATIVE}/ispc \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
"
EXTRA_OECMAKE:intel-corei7-64 += " \
-DOPENVKL_ISA_AVX=OFF \
-DOPENVKL_ISA_AVX2=OFF \
-DOPENVKL_ISA_AVX512SKX=OFF \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
"
PACKAGES =+ "${PN}-examples"

View File

@ -11,12 +11,11 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=1dece7821bf3fd70fe1309eaa37d52a2 \
inherit pkgconfig cmake
SRC_URI = "git://github.com/ospray/ospray.git;protocol=https;branch=master;name=ospray \
git://github.com/nothings/stb;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/apps/common/external/stb_image/stb;name=stb;nobranch=1 \
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/ospray/ospray.git;protocol=https;branch=master \
"
SRCREV_ospray ?= "85af2929937d516997451cbd52d352cf93125ed2"
SRCREV_stb ?= "af1a5bc36dff44f0a019df21c271db697d51f1a6"
SRCREV_FORMAT = "ospray_stb"
SRCREV = "85af2929937d516997451cbd52d352cf93125ed2"
COMPATIBLE_HOST = '(x86_64).*-linux'
COMPATIBLE_HOST:libc-musl = "null"

View File

@ -1,49 +0,0 @@
From f0885d7d97e98ad586bbacf5edf7fa4022b425b9 Mon Sep 17 00:00:00 2001
From: Yogesh Tyagi <yogesh.tyagi@intel.com>
Date: Mon, 11 Aug 2025 14:00:50 +0800
Subject: [PATCH] use fully-qualified rkcommon::math::rsqrt to avoid overload
ambiguity
Explicitly calling rkcommon::math::rsqrt() prevents conflict with the
standard rsqrt(double) declared in bits/mathcalls.h, fixing the build
error in Quaternion tests.
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Upstream-Status: Submitted [https://github.com/RenderKit/rkcommon/pull/16]
---
tests/math/test_Quaternion.cpp | 2 +-
tests/math/test_rkmath.cpp | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/tests/math/test_Quaternion.cpp b/tests/math/test_Quaternion.cpp
index 760d815..f527824 100644
--- a/tests/math/test_Quaternion.cpp
+++ b/tests/math/test_Quaternion.cpp
@@ -187,7 +187,7 @@ template <typename T>
inline void test_slerp()
{
typename T::Scalar two = 2;
- REQUIRE(CmpT(slerp(.5f, T(1, 0, 0, 0), T(0, 1, 0, 0)), T(rsqrt(two), rsqrt(two), 0, 0)));
+ REQUIRE(CmpT(slerp(.5f, T(1, 0, 0, 0), T(0, 1, 0, 0)), T(rkcommon::math::rsqrt(two), rkcommon::math::rsqrt(two), 0, 0)));
}
TEST_CASE("Quaternion functions", "[quat]")
diff --git a/tests/math/test_rkmath.cpp b/tests/math/test_rkmath.cpp
index 7f66532..fd18df4 100644
--- a/tests/math/test_rkmath.cpp
+++ b/tests/math/test_rkmath.cpp
@@ -49,8 +49,8 @@ TEST_CASE("rkmath rcp_safe function", "[rkmath]")
template <typename T>
inline void test_rsqrt()
{
- REQUIRE(CmpT<T>(rsqrt(T(1)), T(1)));
- REQUIRE(CmpT<T>(rsqrt(T(4)), T(.5)));
+ REQUIRE(CmpT<T>(rkcommon::math::rsqrt(T(1)), T(1)));
+ REQUIRE(CmpT<T>(rkcommon::math::rsqrt(T(4)), T(.5)));
}
TEST_CASE("rkmath rsqrt function", "[rkmath]")
--
2.37.3

View File

@ -8,8 +8,9 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
inherit pkgconfig cmake
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/ospray/rkcommon.git;protocol=https;branch=master \
file://0001-use-fully-qualified-rkcommon-math-rsqrt-to-avoid-ove.patch \
"
SRCREV = "4a00047ae5a3ac705b6b33b4a7574588d91e7953"

View File

@ -1,39 +0,0 @@
From 5b8b59a18f4a54ba912faad861f0af3fdcf127c6 Mon Sep 17 00:00:00 2001
From: Yogesh Tyagi <yogesh.tyagi@intel.com>
Date: Wed, 10 Sep 2025 21:15:53 +0800
Subject: [PATCH] CMakeLists: fix build failure by removing -pie from shared
library targets
With CMake 4.1.0 the build of libipmctl started failing with:
error: undefined reference to `main` in *.S
- `-pie` is only valid when linking executables (PIE), not shared
libraries.
- When applied to a shared library, the linker expects a `main`
symbol, causing the undefined reference error.
- Remove `-pie` from shared libraries linker flag
Upstream-Status: Submitted [https://github.com/intel/ipmctl/pull/221]
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
---
CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1c07e682..d7aab78f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -156,7 +156,7 @@ endif()
if(UNIX)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DNO_MSABI_VA_FUNCS -std=c99 -Wformat -Wformat-security -D_XOPEN_SOURCE=500 -Wall -Wfatal-errors -MMD -fPIC -fno-strict-aliasing")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wformat -Wformat-security -D_XOPEN_SOURCE=500 -Drestrict=__restrict__ -Wall -Wfatal-errors -MMD -fPIC -fno-strict-aliasing")
- set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -z noexecstack -z relro -z now -pie")
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -z noexecstack -z relro -z now")
elseif(MSVC)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /GS /DynamicBase /sdl")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GS /DynamicBase /sdl")
--
2.37.3

View File

@ -16,10 +16,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=72b9da60da6219d612ce30b746a0fe71 \
file://edk2/License.txt;md5=6123e5bf044a66db96c4ce88a36b2d08"
SRC_URI = "git://github.com/intel/ipmctl.git;protocol=https;branch=master_3_0;name=ipmctl; \
git://github.com/tianocore/edk2.git;protocol=https;name=edk2;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/edk2;branch=master \
git://github.com/tianocore/edk2.git;protocol=https;name=edk2;destsuffix=git/edk2;branch=master \
file://0001-Ignore-STATIC_ASSERTs-and-NULL-define-for-os-and-ut-builds.patch;patchdir=edk2 \
file://0001-CMakeLists-disable-Werror.patch \
file://0001-CMakeLists-fix-build-failure-by-removing-pie-from-sh.patch \
"
SRCREV_ipmctl = "a71f2fb1c90dd07f9862b71c789881132193e8f9"
@ -27,13 +26,13 @@ SRCREV_ipmctl = "a71f2fb1c90dd07f9862b71c789881132193e8f9"
SRCREV_edk2 = "b158dad150bf02879668f72ce306445250838201"
SRCREV_FORMAT = "ipmctl_edk2"
S = "${WORKDIR}/git"
inherit cmake dos2unix
DEPENDS = "ndctl pkgconfig-native"
EXTRA_OECMAKE = "-DRELEASE=ON \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
"
EXTRA_OECMAKE = "-DRELEASE=ON"
do_configure:prepend() {
for dir in BaseTools MdeModulePkg MdePkg ShellPkg ; do

View File

@ -7,7 +7,9 @@ LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=4b63c65942e1c16fd897f8cd20abebf8"
SRC_URI = "git://github.com/intel/intel-cmt-cat;protocol=https;branch=master"
SRCREV = "17629d0b726875836af6c7d9cb38b8ed23f32089"
SRCREV = "cc0e6a6184dbd2849c62b9bf9f60012332335e03"
S = "${WORKDIR}/git"
COMPATIBLE_HOST = '(x86_64).*-linux'
COMPATIBLE_HOST:libc-musl = "null"

View File

@ -14,3 +14,5 @@ SRC_URI = "git://github.com/intel/metee.git;branch=master;protocol=https \
"
SRCREV = "db45e37e146fd9c06907a15ade55eba06ad1f951"
S = "${WORKDIR}/git"

View File

@ -6,6 +6,7 @@ SECTION = "lib"
inherit autotools pkgconfig
S = "${WORKDIR}/git"
SRCREV = "231a1d5243cd45c7a6b511b667f1ec52178fdda8"
SRC_URI = "git://github.com/intel/libxcam.git;branch=1.5.0;protocol=https \
file://0001-fake_v4l2_device.h-fix-narrowing-warning.patch \

View File

@ -16,9 +16,10 @@ LIC_FILES_CHKSUM = "file://license;md5=d8405101ec6e90c1d84b082b0c40c721"
SRC_URI = "git://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files.git;protocol=https;branch=main \
"
SRCREV = "4ded52b4b0e1d60e83259cc88d1f5ad22f71a63e"
SRCREV = "129f82f7429c29976b15d6837d2f573cc6a02c26"
DEPENDS = "iucode-tool-native"
S = "${WORKDIR}/git"
COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
PACKAGE_ARCH = "${MACHINE_ARCH}"

View File

@ -30,5 +30,4 @@ BBCLASSEXTEND = "native"
COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
UPSTREAM_CHECK_URI = "https://gitlab.com/iucode-tool/iucode-tool/-/tags"
UPSTREAM_CHECK_REGEX = "v(?P<pver>\d+(\.\d+)+)"
UPSTREAM_CHECK_URI = "https://gitlab.com/iucode-tool/releases"

View File

@ -9,6 +9,7 @@ SRCREV = "a63818df94d3c9d8c04cdca5869ba7cde9fb5a38"
PV = "0.0.0+git${SRCPV}"
LICENSE = "BSD-2-Clause-Patent"
LIC_FILES_CHKSUM = "file://LICENSE;md5=ef7fba7be2819ac13aaf5d0f842ce5d9"
S = "${WORKDIR}/git"
inherit python3native
BBCLASSEXTEND = "native"

View File

@ -10,7 +10,9 @@ SRC_URI = " \
git://github.com/intel/gmmlib.git;protocol=https;branch=master \
"
SRCREV = "aa4e5d6c8f1d798b78ffd7ea85296fdd3a3946b2"
SRCREV = "06c05158f5d9d55906271feda50b161d743aee9b"
S = "${WORKDIR}/git"
COMPATIBLE_HOST:x86-x32 = "null"
@ -18,9 +20,6 @@ UPSTREAM_CHECK_GITTAGREGEX = "^intel-gmmlib-(?P<pver>(\d+(\.\d+)+))$"
inherit pkgconfig cmake
EXTRA_OECMAKE += " \
-DRUN_TEST_SUITE=OFF \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
"
EXTRA_OECMAKE += "-DRUN_TEST_SUITE=OFF"
BBCLASSEXTEND = "native nativesdk"

View File

@ -0,0 +1,42 @@
From 5cbcecff0bb7fa1c617d3082e7ad94c22e5f4eb1 Mon Sep 17 00:00:00 2001
From: Naveen Saini <naveen.kumar.saini@intel.com>
Date: Wed, 3 Jul 2019 17:13:15 +0800
Subject: [PATCH] main: fix hdcpd service failure
Child process not able to finish before parent process
exits, which causing hdcpd service failure.
Added wait function to block parent process
until child process exits.
Upstream-Status: Submitted [https://github.com/intel/hdcp/pull/17]
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
daemon/main.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/daemon/main.cpp b/daemon/main.cpp
index 9a028d7..ef1e047 100644
--- a/daemon/main.cpp
+++ b/daemon/main.cpp
@@ -36,6 +36,7 @@
#include <sys/ioctl.h>
#include <fcntl.h>
#include <iostream>
+#include <sys/wait.h>
#include "hdcpdef.h"
#include "srm.h"
@@ -93,6 +94,8 @@ int32_t daemon_init(void)
}
else if (pid != 0)
{
+ int status;
+ wait(&status);
exit(SUCCESS); // parent exit
}
--
2.17.1

View File

@ -0,0 +1,26 @@
SUMMARY = "Intel(R) unified HDCP SDK"
DESCRIPTION = "This is a user space implementation to prevent copying of \
digital audio & video content across digital display interfaces. It provides \
Linux user space implementation to enable the HDCP1.4 and HDCP2.2 protection \
for external digital display interface"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=c50969be4feb8b99c6baa3795ede4dce"
SECTION = "lib"
inherit pkgconfig cmake useradd systemd features_check
SRC_URI = "git://github.com/intel/hdcp.git;branch=master;protocol=https \
file://0001-main-fix-hdcpd-service-failure.patch \
"
SRCREV = "cacc352159c5bdaf1c21846cecdd1eb7b031e1d3"
S = "${WORKDIR}/git"
REQUIRED_DISTRO_FEATURES = "systemd"
DEPENDS = "libdrm virtual/mesa systemd"
USERADD_PACKAGES = "${PN}"
USERADD_PARAM:${PN} = "--system --no-create-home --shell /bin/false --gid nogroup media"
SYSTEMD_SERVICE:${PN} = "hdcpd.service"
SYSTEMD_AUTO_ENABLE = "disable"

View File

@ -16,6 +16,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b148fc8adf19dc9aec17cf9cd29a9a5e"
SRC_URI = "git://github.com/intel/libva-utils.git;branch=v2.22-branch;protocol=https"
SRCREV = "1a13ae13382b7b548f3a7e8035e1d7df66662c0a"
S = "${WORKDIR}/git"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))"

View File

@ -22,6 +22,8 @@ SRC_URI = "git://github.com/intel/libva.git;protocol=https;branch=v2.22-branch \
SRCREV = "217da1c28336d6a7e9c0c4cb8f1c303968a675f1"
S = "${WORKDIR}/git"
UPSTREAM_CHECK_URI = "https://github.com/intel/libva/releases"
DEPENDS = "libdrm"

View File

@ -7,6 +7,7 @@ SECTION = "lib"
inherit pkgconfig cmake
S = "${WORKDIR}/git"
SRCREV = "65ffef89cf79d704f618768bcd3d95f4dd6d875b"
SRC_URI = "git://github.com/intel/metrics-discovery.git;branch=master;protocol=https \
"

View File

@ -1,11 +1,11 @@
SUMMARY = "ixgbe kernel driver for Intel Magnolia Park 10GbE"
DESCRIPTION = "The ixgbe driver supports 82598- and 82599-based \
SUMMARY="ixgbe kernel driver for Intel Magnolia Park 10GbE"
DESCRIPTION="The ixgbe driver supports 82598- and 82599-based \
PCI Express* 10 Gigabit Network Connections."
HOMEPAGE = "https://sourceforge.net/projects/e1000/"
SECTION = "kernel/network"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://${UNPACKDIR}/${BP}/COPYING;md5=a216b4192dc6b777b6f0db560e9a8417"
LIC_FILES_CHKSUM = "file://${WORKDIR}/${BP}/COPYING;md5=a216b4192dc6b777b6f0db560e9a8417"
SRC_URI = "https://sourceforge.net/projects/e1000/files/ixgbe%20stable/${PV}/${BP}.tar.gz \
"
@ -17,9 +17,9 @@ UPSTREAM_CHECK_REGEX = "ixgbe%20stable/(?P<pver>\d+(\.\d+)+)/"
CVE_PRODUCT = "linux:linux_kernel_ixgbe"
S = "${UNPACKDIR}/${BP}/src"
S = "${WORKDIR}/${BP}/src"
EXTRA_OEMAKE = ' KSRC="${STAGING_KERNEL_DIR}" KOBJ="${STAGING_KERNEL_BUILDDIR}" KVER="${KERNEL_VERSION}" INSTALL_MOD_PATH="${D}"'
EXTRA_OEMAKE=' KSRC="${STAGING_KERNEL_DIR}" KOBJ="${STAGING_KERNEL_BUILDDIR}" KVER="${KERNEL_VERSION}" INSTALL_MOD_PATH="${D}"'
KERNEL_MODULE_AUTOLOAD:append:intel-core2-32 = " ixgbe"
KERNEL_MODULE_AUTOLOAD:append:intel-corei7-64 = " ixgbe"

View File

@ -1,5 +1,5 @@
SUMMARY = "ixgbevf kernel driver for Intel Magnolia Park 10GbE"
DESCRIPTION = "This virtual function driver supports kernel versions 2.6.x and newer \
SUMMARY="ixgbevf kernel driver for Intel Magnolia Park 10GbE"
DESCRIPTION="This virtual function driver supports kernel versions 2.6.x and newer \
This driver supports 82599, X540, X550, and X552-based virtual function devices \
that can only be activated on kernels that support SR-IOV. \
SR-IOV requires the correct platform and OS support. \
@ -8,7 +8,7 @@ The guest OS loading this driver must support MSI-X interrupts."
HOMEPAGE = "https://sourceforge.net/projects/e1000/"
SECTION = "kernel/network"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://${UNPACKDIR}/${BP}/COPYING;md5=a216b4192dc6b777b6f0db560e9a8417"
LIC_FILES_CHKSUM = "file://${WORKDIR}/${BP}/COPYING;md5=a216b4192dc6b777b6f0db560e9a8417"
SRC_URI = "https://sourceforge.net/projects/e1000/files/ixgbevf%20stable/${PV}/${BP}.tar.gz \
"
@ -20,9 +20,9 @@ UPSTREAM_CHECK_REGEX = "ixgbevf%20stable/(?P<pver>\d+(\.\d+)+)/"
CVE_PRODUCT = "linux:linux_kernel_ixgbe"
S = "${UNPACKDIR}/${BP}/src"
S = "${WORKDIR}/${BP}/src"
EXTRA_OEMAKE = 'KSRC="${STAGING_KERNEL_DIR}" KOBJ="${STAGING_KERNEL_BUILDDIR}" KVER="${KERNEL_VERSION}" INSTALL_MOD_PATH="${D}"'
EXTRA_OEMAKE='KSRC="${STAGING_KERNEL_DIR}" KOBJ="${STAGING_KERNEL_BUILDDIR}" KVER="${KERNEL_VERSION}" INSTALL_MOD_PATH="${D}"'
KERNEL_MODULE_AUTOLOAD:append:intel-core2-32 = " ixgbevf"
KERNEL_MODULE_AUTOLOAD:append:intel-corei7-64 = " ixgbevf"

View File

@ -17,8 +17,8 @@ inherit module features_check
# When updating this recipe, ensure that the proper firmware is included from
# either the linux-firmware or iwlwifi-firmware repos.
PV = "96"
SRCREV = "d16e74cc1c76ffbfc335153daa86660f199a90da"
PV = "79"
SRCREV = "574631d89d736fd2c76b0e2ea489270c50903e52"
SRC_URI = " \
git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/backport-iwlwifi;branch=release/core${PV} \
@ -26,6 +26,7 @@ SRC_URI = " \
file://iwlwifi.conf \
"
S = "${WORKDIR}/git"
EXTRA_OEMAKE = "INSTALL_MOD_PATH=${D} KLIB_BUILD=${KBUILD_OUTPUT}"
@ -33,12 +34,12 @@ do_configure() {
CC=gcc CFLAGS= LDFLAGS= make defconfig-iwlwifi-public KLIB_BUILD=${KBUILD_OUTPUT}
}
MODULES_INSTALL_TARGET = "install"
MODULES_INSTALL_TARGET="install"
do_install:append() {
## install configs and service scripts
install -d ${D}${sysconfdir}/modprobe.d
install -m 0644 ${UNPACKDIR}/iwlwifi.conf ${D}${sysconfdir}/modprobe.d
install -m 0644 ${WORKDIR}/iwlwifi.conf ${D}${sysconfdir}/modprobe.d
}
RDEPENDS:${PN} = "linux-firmware-iwlwifi"

View File

@ -0,0 +1,26 @@
require linux-intel.inc
SRC_URI:prepend = "git://github.com/intel/mainline-tracking.git;protocol=https;name=machine;nobranch=1; \
"
SRC_URI:append = " file://0001-6.11-lib-build_OID_registry-fix-reproducibility-issues.patch \
"
KMETA_BRANCH = "master"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
DEPENDS += "elfutils-native openssl-native util-linux-native"
LINUX_VERSION_EXTENSION ??= "-mainline-tracking-${LINUX_KERNEL_TYPE}"
LINUX_VERSION ?= "6.11"
SRCREV_machine ?= "8bf2da4f731bd973d5a91a31e71879f40de48a7e"
SRCREV_meta ?= "07f0dd688718f2b9dc66488288542955841b5e49"
LINUX_KERNEL_TYPE = "preempt-rt"
# Functionality flags
KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc \
features/security/security.scc \
features/intel-npu/intel-npu.scc"
UPSTREAM_CHECK_GITTAGREGEX = "^mainline-tracking-pre-prod-v6.11-rt7-preempt-rt-(?P<pver>(\d+)T(\d+)Z)$"

View File

@ -2,6 +2,9 @@ require linux-intel.inc
SRC_URI:prepend = "git://github.com/intel/linux-intel-lts.git;protocol=https;name=machine;branch=${KBRANCH}; \
"
SRC_URI:append = " file://0001-6.6-vt-conmakehash-improve-reproducibility.patch \
file://0001-6.6-lib-build_OID_registry-fix-reproducibility-issues.patch \
"
# Skip processing of this recipe if it is not explicitly specified as the
# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying
@ -12,8 +15,8 @@ python () {
raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-intel-rt to enable it")
}
KBRANCH = "6.12/linux"
KMETA_BRANCH = "yocto-6.12"
KBRANCH = "6.6/preempt-rt"
KMETA_BRANCH = "yocto-6.6"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
@ -21,13 +24,13 @@ DEPENDS += "elfutils-native openssl-native util-linux-native"
LINUX_VERSION_EXTENSION ??= "-intel-pk-${LINUX_KERNEL_TYPE}"
LINUX_VERSION ?= "6.12.55"
SRCREV_machine ?= "c3bbfd2c597887277403965361c99642001d7439"
SRCREV_meta ?= "3f0dcb29edf14029f130bc493a939b67ea27852e"
LINUX_VERSION ?= "6.6.44"
SRCREV_machine ?= "0d19fd8880411e2a96b85945e4abde1b62338090"
SRCREV_meta ?= "9901a21dd1f99c833d8e1a58b3fc057e57bda598"
LINUX_KERNEL_TYPE = "preempt-rt"
# Functionality flags
KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/security/security.scc"
UPSTREAM_CHECK_GITTAGREGEX = "^lts-(?P<pver>v6.12.(\d+)-linux-(\d+)T(\d+)Z)$"
UPSTREAM_CHECK_GITTAGREGEX = "^lts-(?P<pver>v6.6.(\d+)-rt(\d)-preempt-rt-(\d+)T(\d+)Z)$"

View File

@ -3,7 +3,7 @@ require recipes-kernel/linux/meta-intel-compat-kernel.inc
FILESEXTRAPATHS:prepend := "${THISDIR}/linux-intel:"
KERNEL_CONFIG_URI ?= "git://git.yoctoproject.org/yocto-kernel-cache;protocol=https;type=kmeta;name=meta;branch=${KMETA_BRANCH};destsuffix=${KMETA}"
KERNEL_CONFIG_URI ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=${KMETA_BRANCH};destsuffix=${KMETA}"
SRC_URI = " \
${KERNEL_CONFIG_URI} \

View File

@ -0,0 +1,48 @@
From 4881d0f985aab70c685bd63b56a2d6ad5e790abc Mon Sep 17 00:00:00 2001
From: Bruce Ashfield <bruce.ashfield@gmail.com>
Date: Sun, 10 Jul 2022 22:56:53 -0400
Subject: [PATCH] lib/build_OID_registry: fix reproducibility issues
The script build_OID_registry captures the full path of itself
in the generated data. This causes reproduciblity issues as the
path is captured and packaged.
We use the basename of the script instead, and that allows us
to be reprodicible, with slightly less information captured in
the output data (but the generating script can still easily
be found).
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Upstream-Status: Inappropriate
Taken from linux-yocto, v5.15/standard/base.
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
lib/build_OID_registry | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lib/build_OID_registry b/lib/build_OID_registry
index 8267e8d71338..755dd33a8b04 100755
--- a/lib/build_OID_registry
+++ b/lib/build_OID_registry
@@ -9,6 +9,7 @@
use strict;
use Cwd qw(abs_path);
+use File::Basename;
my @names = ();
my @oids = ();
@@ -40,7 +41,7 @@ open C_FILE, ">$ARGV[1]" or die;
print C_FILE "/*\n";
my $scriptname = $0;
$scriptname =~ s#^\Q$abs_srctree/\E##;
-print C_FILE " * Automatically generated by ", $scriptname, ". Do not edit\n";
+print C_FILE " * Automatically generated by ", basename $0, ". Do not edit\n";
print C_FILE " */\n";
#
--
2.34.1

View File

@ -0,0 +1,48 @@
From 879157a156dd90c8d4c678179d93a2d28766364c Mon Sep 17 00:00:00 2001
From: Bruce Ashfield <bruce.ashfield@gmail.com>
Date: Sun, 10 Jul 2022 22:56:53 -0400
Subject: [PATCH] lib/build_OID_registry: fix reproducibility issues
The script build_OID_registry captures the full path of itself
in the generated data. This causes reproduciblity issues as the
path is captured and packaged.
We use the basename of the script instead, and that allows us
to be reprodicible, with slightly less information captured in
the output data (but the generating script can still easily
be found).
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Upstream-Status: Inappropriate
Taken from linux-yocto, v5.15/standard/base.
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
lib/build_OID_registry | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lib/build_OID_registry b/lib/build_OID_registry
index 56d8bafeb848..1518e3790674 100755
--- a/lib/build_OID_registry
+++ b/lib/build_OID_registry
@@ -9,6 +9,7 @@
use strict;
use Cwd qw(abs_path);
+use File::Basename;
my @names = ();
my @oids = ();
@@ -38,7 +39,7 @@ close IN_FILE || die;
#
open C_FILE, ">$ARGV[1]" or die;
print C_FILE "/*\n";
-print C_FILE " * Automatically generated by ", $0 =~ s#^\Q$abs_srctree/\E##r, ". Do not edit\n";
+print C_FILE " * Automatically generated by ", basename $0, ". Do not edit\n";
print C_FILE " */\n";
#
--
2.34.1

View File

@ -0,0 +1,58 @@
From 2f662283528bc003d0be988bf6590a271ebe7755 Mon Sep 17 00:00:00 2001
From: Bruce Ashfield <bruce.ashfield@gmail.com>
Date: Sun, 10 Jul 2022 21:37:07 -0400
Subject: [PATCH] vt/conmakehash: improve reproducibility
The file generated by conmakehash capture the application
path used to generate the file. While that can be informative,
it varies based on where the kernel was built, as the full
path is captured.
We tweak the application to use a second input as the "capture
name", and then modify the Makefile to pass the basename of
the source, making it reproducible.
This could be improved by using some sort of path mapping,
or the application manipualing argv[1] itself, but for now
this solves the reprodicibility issue.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Upstream-Status: Inappropriate
Taken from linux-yocto, v5.15/standard/base
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
drivers/tty/vt/Makefile | 2 +-
drivers/tty/vt/conmakehash.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/tty/vt/Makefile b/drivers/tty/vt/Makefile
index b3dfe9d5717e..6ee3736776c8 100644
--- a/drivers/tty/vt/Makefile
+++ b/drivers/tty/vt/Makefile
@@ -15,7 +15,7 @@ clean-files := consolemap_deftbl.c defkeymap.c
hostprogs += conmakehash
quiet_cmd_conmk = CONMK $@
- cmd_conmk = $(obj)/conmakehash $< > $@
+ cmd_conmk = $(obj)/conmakehash $< $(shell basename $<) > $@
$(obj)/consolemap_deftbl.c: $(src)/$(FONTMAPFILE) $(obj)/conmakehash
$(call cmd,conmk)
diff --git a/drivers/tty/vt/conmakehash.c b/drivers/tty/vt/conmakehash.c
index cddd789fe46e..d62510b280e9 100644
--- a/drivers/tty/vt/conmakehash.c
+++ b/drivers/tty/vt/conmakehash.c
@@ -253,7 +253,7 @@ int main(int argc, char *argv[])
#include <linux/types.h>\n\
\n\
u8 dfont_unicount[%d] = \n\
-{\n\t", argv[1], fontlen);
+{\n\t", argv[2], fontlen);
for ( i = 0 ; i < fontlen ; i++ )
{
--
2.34.1

View File

@ -0,0 +1,24 @@
require linux-intel.inc
SRC_URI:prepend = "git://github.com/intel/mainline-tracking.git;protocol=https;name=machine;nobranch=1; \
"
SRC_URI:append = " file://0001-6.11-lib-build_OID_registry-fix-reproducibility-issues.patch \
"
KMETA_BRANCH = "master"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
DEPENDS += "elfutils-native openssl-native util-linux-native"
LINUX_VERSION_EXTENSION ??= "-mainline-tracking-${LINUX_KERNEL_TYPE}"
LINUX_VERSION ?= "6.11"
SRCREV_machine ?= "9a961f4b0a6a2655ef37e86b8588f2946b427650"
SRCREV_meta ?= "5b42ba3f7fd0bb7b15d194871152f3b1a30f3926"
# Functionality flags
KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc \
features/security/security.scc \
features/intel-npu/intel-npu.scc"
UPSTREAM_CHECK_GITTAGREGEX = "^mainline-tracking-v6.11-linux-(?P<pver>(\d+)T(\d+)Z)$"

View File

@ -2,8 +2,11 @@ require linux-intel.inc
SRC_URI:prepend = "git://github.com/intel/linux-intel-lts.git;protocol=https;name=machine;branch=${KBRANCH}; \
"
KBRANCH = "6.12/linux"
KMETA_BRANCH = "yocto-6.12"
SRC_URI:append = " file://0001-6.6-vt-conmakehash-improve-reproducibility.patch \
file://0001-6.6-lib-build_OID_registry-fix-reproducibility-issues.patch \
"
KBRANCH = "6.6/linux"
KMETA_BRANCH = "yocto-6.6"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
@ -11,13 +14,13 @@ DEPENDS += "elfutils-native openssl-native util-linux-native"
LINUX_VERSION_EXTENSION ??= "-intel-pk-${LINUX_KERNEL_TYPE}"
LINUX_VERSION ?= "6.12.55"
SRCREV_machine ?= "c3bbfd2c597887277403965361c99642001d7439"
SRCREV_meta ?= "3f0dcb29edf14029f130bc493a939b67ea27852e"
LINUX_VERSION ?= "6.6.44"
SRCREV_machine ?= "b013322897f67589f5806ea4c7db0665f7b99d9f"
SRCREV_meta ?= "9901a21dd1f99c833d8e1a58b3fc057e57bda598"
# Functionality flags
KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc \
features/security/security.scc \
features/intel-npu/intel-npu.scc"
UPSTREAM_CHECK_GITTAGREGEX = "^lts-(?P<pver>v6.12.(\d+)-linux-(\d+)T(\d+)Z)$"
UPSTREAM_CHECK_GITTAGREGEX = "^lts-(?P<pver>v6.6.(\d+)-linux-(\d+)T(\d+)Z)$"

View File

@ -9,7 +9,8 @@ LIC_FILES_CHKSUM = "file://LICENSES/BSD-3-Clause.txt;md5=c551872bcf41ce707df54c7
"
SRC_URI = "git://github.com/intel/ittapi.git;protocol=https;branch=master"
SRCREV = "e535d565c88e4407f044719e2e9ec70c0b023d23"
SRCREV = "08193a56f7717397af6c9f60ee0f3e874cee1870"
S = "${WORKDIR}/git"
PE = "1"
UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>(\d+(\.\d+)+))$"

View File

@ -1,8 +1,8 @@
From a32b95e58fd3e34847e799b909e08dbe5c9dc692 Mon Sep 17 00:00:00 2001
From 38e6883e54e65a73aa7795dc2ff9f072448cb3dc Mon Sep 17 00:00:00 2001
From: Lim Siew Hoon <siew.hoon.lim@intel.com>
Date: Fri, 2 Aug 2024 13:25:13 +0800
Subject: [PATCH 4/7] Fix failed 4k videowalll test case and color corruption
of video composition in Gen12 platform
Subject: [PATCH] Fix failed 4k videowalll test case and color corruption of
video composition in Gen12 platform
Fix failed 4k video wall test case from 16CH video only show
1CH output and corruption observed on certain number of video
@ -81,5 +81,5 @@ index 48a452315..4f0fc2c48 100644
{
MOS_FreeMemAndSetNull(pVpHalRenderParams->pColorFillParams);
--
2.43.0
2.43.2

View File

@ -1,7 +1,7 @@
From 6132115dd2f1db55a6a5371618247dfaa334a035 Mon Sep 17 00:00:00 2001
From f318522175fb2ecc6d364b995a7b1926fd158a88 Mon Sep 17 00:00:00 2001
From: Lim Siew Hoon <siew.hoon.lim@intel.com>
Date: Wed, 11 Oct 2023 15:36:21 +0800
Subject: [PATCH 3/7] Force ARGB surface to tile4 for ACM
Subject: [PATCH] Force ARGB surface to tile4 for ACM
Upstream-Status: Submitted [https://github.com/intel/media-driver/pull/1728]
@ -40,5 +40,5 @@ index a4e12edfa..11634f66e 100755
case TILING_X:
gmmParams.Flags.Info.TiledX = true;
--
2.43.0
2.43.2

View File

@ -19,11 +19,12 @@ REQUIRED_DISTRO_FEATURES = "opengl"
DEPENDS += "libva gmmlib"
SRC_URI = "git://github.com/intel/media-driver.git;protocol=https;nobranch=1 \
file://0003-Force-ARGB-surface-to-tile4-for-ACM.patch \
file://0004-Fix-failed-4k-videowalll-test-case-and-color-corrupt.patch \
file://0001-Force-ARGB-surface-to-tile4-for-ACM.patch \
file://0001-Fix-failed-4k-videowalll-test-case-and-color-corrupt.patch \
"
SRCREV = "14e2e7bcf1014186dbf1c099089c7c05cd880ae8"
SRCREV = "f40b45dd7355f5f739c75bfd793fa2f1ead30f02"
S = "${WORKDIR}/git"
COMPATIBLE_HOST:x86-x32 = "null"
@ -38,7 +39,6 @@ EXTRA_OECMAKE += " \
-DMEDIA_RUN_TEST_SUITE=OFF \
-DARCH=${MEDIA_DRIVER_ARCH} \
-DMEDIA_BUILD_FATAL_WARNINGS=OFF \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
"
CXXFLAGS:append:x86 = " -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"

View File

@ -0,0 +1,49 @@
From be7cec47777bd35c44a59f2af73f12ce9c26d65c Mon Sep 17 00:00:00 2001
From: Anuj Mittal <anuj.mittal@intel.com>
Date: Wed, 7 Oct 2020 09:33:06 +0800
Subject: [PATCH] FindITT.cmake: fix detection of header/library
Use find_library to check for the library so distributions installing to
standard locations can also work in addition to custom paths specified
using CMAKE_ITT_HOME.
Also add ittnotify to PATH_SUFFIXES for header for cases when
ittnotify.h is installed in /usr/include/ittnotify for example.
Upstream-Status: Submitted
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
builder/FindITT.cmake | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/builder/FindITT.cmake b/builder/FindITT.cmake
index ba2542c5..d96acf2e 100644
--- a/builder/FindITT.cmake
+++ b/builder/FindITT.cmake
@@ -35,19 +35,19 @@ if( ENABLE_ITT )
find_path( ITT_INCLUDE_DIRS ittnotify.h
PATHS ${CMAKE_ITT_HOME} ${CMAKE_VTUNE_HOME}
- PATH_SUFFIXES include )
+ PATH_SUFFIXES include ittnotify)
# Unfortunately SEAPI and VTune uses different names for itt library:
# * SEAPI uses libittnotify${arch}.a
# * VTune uses libittnotify.a
# We are trying to check both giving preference to SEAPI name.
- find_path( ITT_LIBRARY_DIRS libittnotify${arch}.a
+ find_library( ITT_LIBRARY_DIRS ittnotify${arch}
PATHS ${CMAKE_ITT_HOME} ${CMAKE_VTUNE_HOME}
PATH_SUFFIXES lib64 )
if( NOT ITT_LIBRARY_DIRS MATCHES NOTFOUND )
set( ITT_LIBRARIES "ittnotify${arch}" )
else()
- find_path( ITT_LIBRARY_DIRS libittnotify.a
+ find_library( ITT_LIBRARY_DIRS ittnotify
PATHS ${CMAKE_ITT_HOME} ${CMAKE_VTUNE_HOME}
PATH_SUFFIXES lib64 )
if( NOT ITT_LIBRARY_PATH MATCHES NOTFOUND )
--
2.26.2

View File

@ -0,0 +1,15 @@
Upstream-Status: Inactive-Upstream
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
diff --git a/api/mfx_dispatch/linux/mfxparser.cpp b/api/mfx_dispatch/linux/mfxparser.cpp
index 9d3823ec3e..12e46d1881 100644
--- a/api/mfx_dispatch/linux/mfxparser.cpp
+++ b/api/mfx_dispatch/linux/mfxparser.cpp
@@ -20,6 +20,7 @@
#include <ctype.h>
#include <stdio.h>
+#include <stdint.h>
#include <stdlib.h>
#include <string.h>

View File

@ -0,0 +1,63 @@
SUMMARY = "Intel(R) Media SDK for hardware accelerated media processing"
DESCRIPTION = "Intel(R) Media SDK provides an API to access hardware-accelerated \
video decode, encode and filtering on Intel® platforms with integrated graphics."
HOMEPAGE = "https://github.com/Intel-Media-SDK/MediaSDK"
BUGTRACKER = "https://github.com/Intel-Media-SDK/MediaSDK/issues"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3cb331af679cd8f968bf799a9c55b46e"
CVE_DETAILS = "intel:media_sdk"
# Only for 64 bit until media-driver issues aren't fixed
COMPATIBLE_HOST = '(x86_64).*-linux'
COMPATIBLE_HOST:x86-x32 = "null"
inherit features_check
REQUIRED_DISTRO_FEATURES = "opengl"
DEPENDS += "libva"
RDEPENDS:${PN} += "intel-media-driver"
PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "x11", "dri3", "", d)} \
${@bb.utils.contains("DISTRO_FEATURES", "wayland", "wayland", "", d)} \
samples \
itt \
"
PACKAGECONFIG[dri3] = "-DENABLE_X11_DRI3=ON, -DENABLE_X11_DRI3=OFF"
PACKAGECONFIG[itt] = "-DENABLE_ITT=ON, -DENABLE_ITT=OFF, itt"
PACKAGECONFIG[opencl] = "-DENABLE_OPENCL=ON, -DENABLE_OPENCL=OFF, virtual/opencl-icd opencl-clhpp opencl-headers"
PACKAGECONFIG[samples] = "-DBUILD_SAMPLES=ON, -DBUILD_SAMPLES=OFF"
PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND=ON, -DENABLE_WAYLAND=OFF, wayland wayland-native"
SRC_URI = "git://github.com/Intel-Media-SDK/MediaSDK.git;protocol=https;nobranch=1;lfs=0 \
file://0001-FindITT.cmake-fix-detection-of-header-library.patch \
file://fix-gcc13.patch \
"
SRCREV = "869b60a6c3d7b5e9f7c3b3b914986322dca4bbae"
S = "${WORKDIR}/git"
UPSTREAM_CHECK_GITTAGREGEX = "^intel-mediasdk-(?P<pver>(\d+(\.\d+)+))$"
inherit cmake pkgconfig
EXTRA_OECMAKE += "-DMFX_INCLUDE=${S}/api/include"
do_install:append() {
mv ${D}${datadir}/mfx/samples ${D}${libdir}/mfx/samples
}
PACKAGE_BEFORE_PN = " ${PN}-samples"
FILES:${PN} += " \
${libdir}/mfx \
${datadir}/mfx/plugins.cfg \
"
FILES:${PN}-samples = "${libdir}/mfx/samples"
INSANE_SKIP:${PN}-samples += "staticdev"

View File

@ -1,34 +0,0 @@
From a0fe1b898ba446fdd45ff7fdad18d442140df090 Mon Sep 17 00:00:00 2001
From: Yogesh Tyagi <yogesh.tyagi@intel.com>
Date: Sun, 11 May 2025 17:21:17 +0530
Subject: [PATCH] Add cstdint header to resolve build issue with gcc-15
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Upstream-Status: Submitted [https://github.com/intel/libvpl-tools/pull/7]
---
tools/legacy/sample_vpp/src/sample_vpp_frc_adv.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tools/legacy/sample_vpp/src/sample_vpp_frc_adv.cpp b/tools/legacy/sample_vpp/src/sample_vpp_frc_adv.cpp
index 29d4a99..91baf8b 100644
--- a/tools/legacy/sample_vpp/src/sample_vpp_frc_adv.cpp
+++ b/tools/legacy/sample_vpp/src/sample_vpp_frc_adv.cpp
@@ -5,6 +5,7 @@
############################################################################*/
#include "sample_vpp_frc_adv.h"
+#include <cstdint>
#include <math.h>
#include <algorithm>
#include "vm/strings_defs.h"
@@ -179,4 +180,4 @@ mfxU64 FRCAdvancedChecker::GetExpectedPTS(mfxU32 frameNumber, mfxU64 timeOffset,
} // mfxU64 FRCAdvancedChecker::GetExpectedPTS( mfxU32 frameNumber, mfxU64 timeOffset, mfxU64 timeJump )
-/* EOF */
\ No newline at end of file
+/* EOF */
--
2.43.0

View File

@ -0,0 +1,44 @@
From 7c3332337d030ec98b4ffeeeac50028b0875262f Mon Sep 17 00:00:00 2001
From: Vincent Cheah Beng Keat <vincent.beng.keat.cheah@intel.com>
Date: Mon, 13 May 2024 17:07:20 +0800
Subject: [PATCH 1/9] Correct va-attrib for vaapiallocator
Upstream-Status: Backport [https://github.com/intel/libvpl-tools/commit/54d7d459a918cd26deaa91a37d34b13c37779597]
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
---
tools/legacy/sample_common/src/vaapi_allocator.cpp | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/tools/legacy/sample_common/src/vaapi_allocator.cpp b/tools/legacy/sample_common/src/vaapi_allocator.cpp
index e5a8823..db18e23 100644
--- a/tools/legacy/sample_common/src/vaapi_allocator.cpp
+++ b/tools/legacy/sample_common/src/vaapi_allocator.cpp
@@ -245,11 +245,11 @@ mfxStatus vaapiFrameAllocator::AllocImpl(mfxFrameAllocRequest* request,
if (VA_FOURCC_P208 != va_fourcc) {
unsigned int format;
- attrib[attrCnt].type = VASurfaceAttribPixelFormat;
- attrib[attrCnt].flags = VA_SURFACE_ATTRIB_SETTABLE;
- attrib[attrCnt].value.type = VAGenericValueTypeInteger;
- attrib[attrCnt].value.value.i = va_fourcc;
- format = va_fourcc;
+ attrib[attrCnt].type = VASurfaceAttribPixelFormat;
+ attrib[attrCnt].flags = VA_SURFACE_ATTRIB_SETTABLE;
+ attrib[attrCnt].value.type = VAGenericValueTypeInteger;
+ attrib[attrCnt++].value.value.i = va_fourcc;
+ format = va_fourcc;
if ((fourcc == MFX_FOURCC_VP8_NV12) ||
((MFX_MEMTYPE_FROM_ENCODE & request->Type) && (fourcc == MFX_FOURCC_BGR4))) {
@@ -257,6 +257,8 @@ mfxStatus vaapiFrameAllocator::AllocImpl(mfxFrameAllocRequest* request,
* RGB32 for JPEG is required
*/
attrib[attrCnt].type = (VASurfaceAttribType)VASurfaceAttribUsageHint;
+ attrib[attrCnt].flags = VA_SURFACE_ATTRIB_SETTABLE;
+ attrib[attrCnt].value.type = VAGenericValueTypeInteger;
attrib[attrCnt++].value.value.i = VA_SURFACE_ATTRIB_USAGE_HINT_ENCODER;
}
else if (fourcc == MFX_FOURCC_VP8_MBDATA) {
--
2.43.2

View File

@ -1,73 +0,0 @@
From 39ec70e27cb6887d6b9e6abc231d1052f02c4d9b Mon Sep 17 00:00:00 2001
From: "Yuan, Jenny" <jenny.yuan@intel.com>
Date: Thu, 13 Feb 2025 11:54:46 -0800
Subject: [PATCH] Update vpl-inspect to remove ReportedStats
Since experimental API mfxEncoderDescription::encoder::ReportedStats is
going to be removed, update vpl-inspect to remove ReportedStats field
report.
Upstream-Status: Backport [https://github.com/intel/libvpl-tools/commit/39ec70e27cb6887d6b9e6abc231d1052f02c4d9b]
---
tools/cli/vpl-inspect/src/vpl-inspect.cpp | 38 -----------------------
1 file changed, 38 deletions(-)
diff --git a/tools/cli/vpl-inspect/src/vpl-inspect.cpp b/tools/cli/vpl-inspect/src/vpl-inspect.cpp
index e872316..b6e302f 100644
--- a/tools/cli/vpl-inspect/src/vpl-inspect.cpp
+++ b/tools/cli/vpl-inspect/src/vpl-inspect.cpp
@@ -113,22 +113,6 @@ const char *_print_MediaAdapterType(mfxMediaAdapterType type) {
return "<unknown media adapter type>";
}
-#ifdef ONEVPL_EXPERIMENTAL
-const char *_print_EncodeStatsType(mfxU16 type) {
- switch (type) {
- STRING_OPTION(MFX_ENCODESTATS_LEVEL_BLK);
- STRING_OPTION(MFX_ENCODESTATS_LEVEL_SLICE);
- STRING_OPTION(MFX_ENCODESTATS_LEVEL_TILE);
- STRING_OPTION(MFX_ENCODESTATS_LEVEL_FRAME);
-
- default:
- break;
- }
-
- return "<unknown encode stats type>";
-}
-#endif
-
#ifdef ONEVPL_EXPERIMENTAL
const char *_print_SurfaceType(mfxSurfaceType type) {
switch (type) {
@@ -549,28 +533,6 @@ int main(int argc, char *argv[]) {
"",
enc->Codecs[codec].BiDirectionalPrediction);
-#ifdef ONEVPL_EXPERIMENTAL
- // Once ReportedStats is moved out of experimental API the struct version of mfxEncoderDescription should
- // be updated, and that can be used to know whether this field is valid.
- // For now, just check implementation API version.
- mfxVersion reqApiVersionReportedStats = {};
- reqApiVersionReportedStats.Major = 2;
- reqApiVersionReportedStats.Minor = 7;
- if (idesc->ApiVersion.Version >= reqApiVersionReportedStats.Version) {
- mfxU16 reportedStats = enc->Codecs[codec].ReportedStats;
- if (reportedStats) {
- for (mfxU16 statMask = 1; statMask != 0; statMask <<= 1) {
- if (reportedStats & statMask) {
- const char *statStr = _print_EncodeStatsType(statMask);
- printf("%4sReportedStats: %s\n", "", statStr);
- }
- }
- }
- else {
- printf("%4sReportedStats: 0\n", "");
- }
- }
-#endif
for (int profile = 0; profile < enc->Codecs[codec].NumProfiles; profile++) {
printf("%6sProfile: %s\n",
"",
--
2.43.0

View File

@ -0,0 +1,154 @@
From 1a064a36c164080a21f8d89409564c1812dea6af Mon Sep 17 00:00:00 2001
From: Vincent Cheah Beng Keat <vincent.beng.keat.cheah@intel.com>
Date: Wed, 15 May 2024 09:51:53 +0800
Subject: [PATCH 2/9] Enable YUV400 JPEG Enc for vaapi
Upstream-Status: Backport [https://github.com/intel/libvpl-tools/commit/747b66ce97c6ac5d17a8b8629eb22d790d802da3]
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
---
.../legacy/sample_common/src/sample_utils.cpp | 2 +-
.../sample_common/src/vaapi_allocator.cpp | 13 +++++++++++-
.../sample_encode/src/pipeline_encode.cpp | 20 +++++++++----------
.../sample_encode/src/sample_encode.cpp | 4 ----
4 files changed, 22 insertions(+), 17 deletions(-)
diff --git a/tools/legacy/sample_common/src/sample_utils.cpp b/tools/legacy/sample_common/src/sample_utils.cpp
index ddd783f..b2b67bf 100644
--- a/tools/legacy/sample_common/src/sample_utils.cpp
+++ b/tools/legacy/sample_common/src/sample_utils.cpp
@@ -284,7 +284,7 @@ mfxStatus CSmplYUVReader::LoadNextFrame(mfxFrameSurface1* pSurface) {
MFX_FOURCC_P010 == pInfo.FourCC || MFX_FOURCC_P210 == pInfo.FourCC ||
MFX_FOURCC_P016 == pInfo.FourCC || MFX_FOURCC_I010 == pInfo.FourCC ||
MFX_FOURCC_P016 == pInfo.FourCC || MFX_FOURCC_I010 == pInfo.FourCC ||
- MFX_FOURCC_I420 == pInfo.FourCC) {
+ MFX_FOURCC_I420 == pInfo.FourCC || MFX_FOURCC_YUV400 == pInfo.FourCC) {
pitch = pData.Pitch;
ptr = pData.Y + pInfo.CropX + pInfo.CropY * pData.Pitch;
diff --git a/tools/legacy/sample_common/src/vaapi_allocator.cpp b/tools/legacy/sample_common/src/vaapi_allocator.cpp
index db18e23..8ee2408 100644
--- a/tools/legacy/sample_common/src/vaapi_allocator.cpp
+++ b/tools/legacy/sample_common/src/vaapi_allocator.cpp
@@ -54,6 +54,8 @@ unsigned int ConvertMfxFourccToVAFormat(mfxU32 fourcc) {
return VA_FOURCC_Y216;
case MFX_FOURCC_Y416:
return VA_FOURCC_Y416;
+ case MFX_FOURCC_YUV400:
+ return VA_FOURCC_Y800;
default:
assert(!"unsupported fourcc");
@@ -133,7 +135,8 @@ static mfxStatus GetVAFourcc(mfxU32 fourcc, unsigned int& va_fourcc) {
(VA_FOURCC_Y210 != va_fourcc) && (VA_FOURCC_Y410 != va_fourcc) &&
(VA_FOURCC_RGB565 != va_fourcc) && (VA_FOURCC_RGBP != va_fourcc) &&
(VA_FOURCC_P016 != va_fourcc) && (VA_FOURCC_Y216 != va_fourcc) &&
- (VA_FOURCC_Y416 != va_fourcc) && (VA_FOURCC_AYUV != va_fourcc))) {
+ (VA_FOURCC_Y416 != va_fourcc) && (VA_FOURCC_AYUV != va_fourcc) &&
+ (VA_FOURCC_Y800 != va_fourcc))) {
return MFX_ERR_MEMORY_ALLOC;
}
@@ -281,6 +284,9 @@ mfxStatus vaapiFrameAllocator::AllocImpl(mfxFrameAllocRequest* request,
else if (fourcc == MFX_FOURCC_RGBP) {
format = VA_RT_FORMAT_RGBP;
}
+ else if (fourcc == MFX_FOURCC_YUV400) {
+ format = VA_RT_FORMAT_YUV400;
+ }
va_res = m_libva->vaCreateSurfaces(m_dpy,
format,
@@ -486,6 +492,11 @@ mfxStatus vaapiFrameAllocator::LockFrame(mfxMemId mid, mfxFrameData* ptr) {
}
if (MFX_ERR_NONE == mfx_res) {
switch (vaapi_mid->m_image.format.fourcc) {
+ case MFX_FOURCC_YUV400:
+ if (mfx_fourcc != vaapi_mid->m_image.format.fourcc)
+ return MFX_ERR_LOCK_MEMORY;
+ { ptr->Y = pBuffer + vaapi_mid->m_image.offsets[0]; }
+ break;
case VA_FOURCC_NV12:
if (mfx_fourcc != vaapi_mid->m_image.format.fourcc)
return MFX_ERR_LOCK_MEMORY;
diff --git a/tools/legacy/sample_encode/src/pipeline_encode.cpp b/tools/legacy/sample_encode/src/pipeline_encode.cpp
index 4476c49..cda607b 100644
--- a/tools/legacy/sample_encode/src/pipeline_encode.cpp
+++ b/tools/legacy/sample_encode/src/pipeline_encode.cpp
@@ -50,6 +50,7 @@ msdk_tick time_get_frequency(void) {
mfxU16 FourCcBitDepth(mfxU32 fourCC) {
switch (fourCC) {
+ case MFX_FOURCC_YUV400:
case MFX_FOURCC_NV12:
case MFX_FOURCC_NV16:
case MFX_FOURCC_YUY2:
@@ -845,8 +846,8 @@ mfxStatus CEncodingPipeline::CheckHyperEncodeParams(mfxHyperMode hyperMode) {
#endif
mfxU32 CEncodingPipeline::FileFourCC2EncFourCC(mfxU32 fcc) {
- // File reader automatically converts I420, YV12, and YUV400 to NV12
- if (fcc == MFX_FOURCC_I420 || fcc == MFX_FOURCC_YV12 || fcc == MFX_FOURCC_YUV400)
+ // File reader automatically converts I420 and YV12 to NV12
+ if (fcc == MFX_FOURCC_I420 || fcc == MFX_FOURCC_YV12)
return MFX_FOURCC_NV12;
else
return fcc;
@@ -1054,6 +1055,7 @@ mfxStatus CEncodingPipeline::AllocFrames() {
// prepare allocation requests
EncRequest.NumFrameSuggested = EncRequest.NumFrameMin = nEncSurfNum;
+
MSDK_MEMCPY_VAR(EncRequest.Info, &(m_mfxEncParams.mfx.FrameInfo), sizeof(mfxFrameInfo));
if (m_pmfxVPP) {
EncRequest.Type |=
@@ -1650,15 +1652,11 @@ mfxStatus CEncodingPipeline::Init(sInputParams* pParams) {
// FileReader can convert yv12->nv12 without vpp, when hw impl
if (pParams->bUseHWLib) {
- m_InputFourCC = ((pParams->FileInputFourCC == MFX_FOURCC_I420) ||
- (pParams->FileInputFourCC == MFX_FOURCC_YUV400))
- ? MFX_FOURCC_NV12
- : pParams->FileInputFourCC;
-
- pParams->EncodeFourCC = ((pParams->EncodeFourCC == MFX_FOURCC_I420) ||
- (pParams->EncodeFourCC == MFX_FOURCC_YUV400))
- ? MFX_FOURCC_NV12
- : pParams->EncodeFourCC;
+ m_InputFourCC = (pParams->FileInputFourCC == MFX_FOURCC_I420) ? MFX_FOURCC_NV12
+ : pParams->FileInputFourCC;
+
+ pParams->EncodeFourCC =
+ (pParams->EncodeFourCC == MFX_FOURCC_I420) ? MFX_FOURCC_NV12 : pParams->EncodeFourCC;
}
else {
m_InputFourCC = pParams->FileInputFourCC;
diff --git a/tools/legacy/sample_encode/src/sample_encode.cpp b/tools/legacy/sample_encode/src/sample_encode.cpp
index 0a65016..7c722ea 100644
--- a/tools/legacy/sample_encode/src/sample_encode.cpp
+++ b/tools/legacy/sample_encode/src/sample_encode.cpp
@@ -94,10 +94,8 @@ void PrintHelp(char* strAppName, const char* strErrorMessage, ...) {
#endif
printf(
" [-nv12|nv16|yuy2|uyvy|ayuv|rgb4|bgr4|p010|y210|y410|a2rgb10|p016|p210|y216|i010|i420] - input color format (by default YUV420 is expected).\n");
-#if (defined(_WIN64) || defined(_WIN32))
printf(
" [-yuv400] - input color format is YUV400 (grayscale) and will be converted to NV12 for encoding (JPEG only).\n");
-#endif
printf(
" [-msb10] - 10-bit color format is expected to have data in Most Significant Bits of words.\n (LSB data placement is expected by default).\n This option also disables data shifting during file reading.\n");
printf(
@@ -924,11 +922,9 @@ mfxStatus ParseInputString(char* strInput[], mfxU32 nArgNum, sInputParams* pPara
else if (msdk_match(strInput[i], "-y410")) {
pParams->FileInputFourCC = MFX_FOURCC_Y410;
}
-#if (defined(_WIN64) || defined(_WIN32))
else if (msdk_match(strInput[i], "-yuv400")) {
pParams->FileInputFourCC = MFX_FOURCC_YUV400;
}
-#endif
else if (msdk_match(strInput[i], "-ec::p010")) {
pParams->EncodeFourCC = MFX_FOURCC_P010;
}
--
2.43.2

View File

@ -0,0 +1,76 @@
From a876f3bd8d31ae47e4f8148ec89edef1eb5dee5f Mon Sep 17 00:00:00 2001
From: Vincent Cheah Beng Keat <vincent.beng.keat.cheah@intel.com>
Date: Wed, 12 Jun 2024 10:58:13 +0800
Subject: [PATCH 3/9] Enable YUV400 JPEG Enc for linux vaapi only
Upstream-Status: Backport [https://github.com/intel/libvpl-tools/commit/ef82b8a608999e56a2449937d1fa4cbee274d9ab]
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
---
.../sample_encode/src/pipeline_encode.cpp | 28 +++++++++++++++----
.../sample_encode/src/sample_encode.cpp | 2 +-
2 files changed, 23 insertions(+), 7 deletions(-)
diff --git a/tools/legacy/sample_encode/src/pipeline_encode.cpp b/tools/legacy/sample_encode/src/pipeline_encode.cpp
index cda607b..b29dc29 100644
--- a/tools/legacy/sample_encode/src/pipeline_encode.cpp
+++ b/tools/legacy/sample_encode/src/pipeline_encode.cpp
@@ -846,9 +846,15 @@ mfxStatus CEncodingPipeline::CheckHyperEncodeParams(mfxHyperMode hyperMode) {
#endif
mfxU32 CEncodingPipeline::FileFourCC2EncFourCC(mfxU32 fcc) {
- // File reader automatically converts I420 and YV12 to NV12
- if (fcc == MFX_FOURCC_I420 || fcc == MFX_FOURCC_YV12)
+ // File reader automatically converts I420, YV12 to NV12
+ // On windows, YUV400 is automatically converts to NV12.
+ if (fcc == MFX_FOURCC_I420 || fcc == MFX_FOURCC_YV12
+#if (defined(_WIN64) || defined(_WIN32))
+ || fcc == MFX_FOURCC_YUV400
+#endif
+ ) {
return MFX_FOURCC_NV12;
+ }
else
return fcc;
}
@@ -1652,11 +1658,21 @@ mfxStatus CEncodingPipeline::Init(sInputParams* pParams) {
// FileReader can convert yv12->nv12 without vpp, when hw impl
if (pParams->bUseHWLib) {
- m_InputFourCC = (pParams->FileInputFourCC == MFX_FOURCC_I420) ? MFX_FOURCC_NV12
- : pParams->FileInputFourCC;
+ m_InputFourCC = ((pParams->FileInputFourCC == MFX_FOURCC_I420)
+#if (defined(_WIN64) || defined(_WIN32))
+ || (pParams->FileInputFourCC == MFX_FOURCC_YUV400)
+#endif
+ )
+ ? MFX_FOURCC_NV12
+ : pParams->FileInputFourCC;
- pParams->EncodeFourCC =
- (pParams->EncodeFourCC == MFX_FOURCC_I420) ? MFX_FOURCC_NV12 : pParams->EncodeFourCC;
+ pParams->EncodeFourCC = ((pParams->EncodeFourCC == MFX_FOURCC_I420)
+#if (defined(_WIN64) || defined(_WIN32))
+ || (pParams->EncodeFourCC == MFX_FOURCC_YUV400)
+#endif
+ )
+ ? MFX_FOURCC_NV12
+ : pParams->EncodeFourCC;
}
else {
m_InputFourCC = pParams->FileInputFourCC;
diff --git a/tools/legacy/sample_encode/src/sample_encode.cpp b/tools/legacy/sample_encode/src/sample_encode.cpp
index 7c722ea..ed142f5 100644
--- a/tools/legacy/sample_encode/src/sample_encode.cpp
+++ b/tools/legacy/sample_encode/src/sample_encode.cpp
@@ -95,7 +95,7 @@ void PrintHelp(char* strAppName, const char* strErrorMessage, ...) {
printf(
" [-nv12|nv16|yuy2|uyvy|ayuv|rgb4|bgr4|p010|y210|y410|a2rgb10|p016|p210|y216|i010|i420] - input color format (by default YUV420 is expected).\n");
printf(
- " [-yuv400] - input color format is YUV400 (grayscale) and will be converted to NV12 for encoding (JPEG only).\n");
+ " [-yuv400] - input color format is YUV400 (grayscale) and will be converted to NV12 for encoding (JPEG Windows only).\n");
printf(
" [-msb10] - 10-bit color format is expected to have data in Most Significant Bits of words.\n (LSB data placement is expected by default).\n This option also disables data shifting during file reading.\n");
printf(
--
2.43.2

View File

@ -0,0 +1,294 @@
From 61f75283da56105adca1d3034422ddac2bc88c18 Mon Sep 17 00:00:00 2001
From: Vincent Cheah Beng Keat <vincent.beng.keat.cheah@intel.com>
Date: Wed, 19 Jun 2024 21:08:14 +0800
Subject: [PATCH 4/9] Fix rDRM DMA methods
Upstream-Status: Backport [https://github.com/intel/libvpl-tools/commit/0c12ef0fed3d2e8c8f017e6fa5bf74e55ec51412]
The commits also remove out libDRM intel bufmgr (i915) dependency
where XE does not have the equivalent API. Tested i915 for both
DRM_PRIME and KERNEL_DRM, both methods could work correctly.
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
---
.../sample_common/include/vaapi_utils.h | 2 +
.../sample_common/include/vaapi_utils_drm.h | 2 +
.../legacy/sample_common/src/vaapi_utils.cpp | 3 +-
.../sample_common/src/vaapi_utils_drm.cpp | 159 ++++++++++--------
4 files changed, 93 insertions(+), 73 deletions(-)
diff --git a/tools/legacy/sample_common/include/vaapi_utils.h b/tools/legacy/sample_common/include/vaapi_utils.h
index a3a8544..868dd0e 100644
--- a/tools/legacy/sample_common/include/vaapi_utils.h
+++ b/tools/legacy/sample_common/include/vaapi_utils.h
@@ -281,6 +281,7 @@ public:
typedef drm_intel_bufmgr* (*drm_intel_bufmgr_gem_init_type)(int fd, int batch_size);
typedef int (*drm_intel_bo_gem_export_to_prime_type)(drm_intel_bo*, int*);
typedef void (*drm_intel_bufmgr_destroy_type)(drm_intel_bufmgr*);
+ typedef int (*drmPrimeFDToHandle_type)(int fd, int prime_fd, uint32_t* handle);
DrmIntel_Proxy();
~DrmIntel_Proxy();
@@ -290,6 +291,7 @@ public:
__DECLARE(drm_intel_bo_unreference);
__DECLARE(drm_intel_bufmgr_gem_init);
__DECLARE(drm_intel_bufmgr_destroy);
+ __DECLARE(drmPrimeFDToHandle);
#if defined(X11_DRI3_SUPPORT)
__DECLARE(drm_intel_bo_gem_export_to_prime);
#endif
diff --git a/tools/legacy/sample_common/include/vaapi_utils_drm.h b/tools/legacy/sample_common/include/vaapi_utils_drm.h
index 78109aa..1ba6ea8 100644
--- a/tools/legacy/sample_common/include/vaapi_utils_drm.h
+++ b/tools/legacy/sample_common/include/vaapi_utils_drm.h
@@ -130,6 +130,8 @@ private:
mfxExtContentLightLevelInfo* contentLight,
bool enableHDR);
+ uint32_t convertVaFourccToDrmFormat(uint32_t vaFourcc);
+
const MfxLoader::DRM_Proxy m_drmlib;
const MfxLoader::DrmIntel_Proxy m_drmintellib;
diff --git a/tools/legacy/sample_common/src/vaapi_utils.cpp b/tools/legacy/sample_common/src/vaapi_utils.cpp
index f01b07f..48a51b0 100644
--- a/tools/legacy/sample_common/src/vaapi_utils.cpp
+++ b/tools/legacy/sample_common/src/vaapi_utils.cpp
@@ -136,7 +136,8 @@ DrmIntel_Proxy::DrmIntel_Proxy()
SIMPLE_LOADER_FUNCTION(drm_intel_bo_gem_create_from_prime),
SIMPLE_LOADER_FUNCTION(drm_intel_bo_unreference),
SIMPLE_LOADER_FUNCTION(drm_intel_bufmgr_gem_init),
- SIMPLE_LOADER_FUNCTION(drm_intel_bufmgr_destroy)
+ SIMPLE_LOADER_FUNCTION(drm_intel_bufmgr_destroy),
+ SIMPLE_LOADER_FUNCTION(drmPrimeFDToHandle)
#if defined(X11_DRI3_SUPPORT)
,
SIMPLE_LOADER_FUNCTION(drm_intel_bo_gem_export_to_prime)
diff --git a/tools/legacy/sample_common/src/vaapi_utils_drm.cpp b/tools/legacy/sample_common/src/vaapi_utils_drm.cpp
index 7227588..44bc693 100644
--- a/tools/legacy/sample_common/src/vaapi_utils_drm.cpp
+++ b/tools/legacy/sample_common/src/vaapi_utils_drm.cpp
@@ -14,6 +14,7 @@
#include <stdexcept>
#include <drm_fourcc.h>
+ #include <xf86drm.h>
#include "i915_drm.h"
#include "vaapi_utils_drm.h"
@@ -211,7 +212,6 @@ drmRenderer::drmRenderer(int fd, mfxI32 monitorType)
m_crtc(),
m_connectorProperties(),
m_crtcProperties(),
- m_bufmgr(NULL),
m_overlay_wrn(true),
m_bSentHDR(false),
m_bHdrSupport(false),
@@ -257,11 +257,6 @@ drmRenderer::~drmRenderer() {
m_drmlib.drmModeFreeCrtc(m_crtc);
m_drmlib.drmModeFreeObjectProperties(m_connectorProperties);
m_drmlib.drmModeFreeObjectProperties(m_crtcProperties);
-
- if (m_bufmgr) {
- m_drmintellib.drm_intel_bufmgr_destroy(m_bufmgr);
- m_bufmgr = NULL;
- }
}
drmModeObjectPropertiesPtr drmRenderer::getProperties(int fd, int objectId, int32_t objectTypeId) {
@@ -752,36 +747,75 @@ int drmRenderer::drmSendHdrMetaData(mfxExtMasteringDisplayColourVolume* displayC
return 0;
}
+uint32_t drmRenderer::convertVaFourccToDrmFormat(uint32_t vaFourcc) {
+ switch (vaFourcc) {
+ case VA_FOURCC_ARGB:
+ return DRM_FORMAT_ARGB8888;
+ case VA_FOURCC_NV12:
+ return DRM_FORMAT_NV12;
+ #if defined(DRM_LINUX_P010_SUPPORT)
+ case VA_FOURCC_P010:
+ return DRM_FORMAT_P010;
+ #endif
+
+ default:
+ printf("unsupported fourcc\n");
+ return 0;
+ }
+}
+
void* drmRenderer::acquire(mfxMemId mid) {
- vaapiMemId* vmid = (vaapiMemId*)mid;
+ vaapiMemId* vmid = (vaapiMemId*)mid;
+
uint32_t fbhandle = 0;
+ uint32_t handles[4], pitches[4], offsets[4], flags = 0;
+ uint64_t modifiers[4];
+ int ret;
+
+ MSDK_ZERO_MEMORY(handles);
+ MSDK_ZERO_MEMORY(pitches);
+ MSDK_ZERO_MEMORY(offsets);
+ MSDK_ZERO_MEMORY(modifiers);
if (vmid->m_buffer_info.mem_type == VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME) {
- if (!m_bufmgr) {
- m_bufmgr = m_drmintellib.drm_intel_bufmgr_gem_init(m_fd, 4096);
- if (!m_bufmgr)
- return NULL;
- }
+ uint32_t bo_handle;
- drm_intel_bo* bo =
- m_drmintellib.drm_intel_bo_gem_create_from_prime(m_bufmgr,
- (int)vmid->m_buffer_info.handle,
- vmid->m_buffer_info.mem_size);
- if (!bo)
+ ret = m_drmintellib.drmPrimeFDToHandle(m_fd, (int)vmid->m_buffer_info.handle, &bo_handle);
+ if (ret)
return NULL;
- int ret = m_drmlib.drmModeAddFB(m_fd,
- vmid->m_image.width,
- vmid->m_image.height,
- 24,
- 32,
- vmid->m_image.pitches[0],
- bo->handle,
- &fbhandle);
- if (ret) {
- return NULL;
+ for (uint32_t i = 0; i < vmid->m_image.num_planes; i++) {
+ pitches[i] = vmid->m_image.pitches[i];
+ offsets[i] = vmid->m_image.offsets[i];
+ handles[i] = bo_handle;
+
+ if (VA_FOURCC_NV12 == vmid->m_fourcc
+ #if defined(DRM_LINUX_P010_SUPPORT)
+ || VA_FOURCC_P010 == vmid->m_fourcc
+ #endif
+ ) {
+ flags = DRM_MODE_FB_MODIFIERS;
+ modifiers[i] = I915_FORMAT_MOD_Y_TILED;
+ if (m_bRequiredTiled4) {
+ #if defined(DRM_LINUX_MODIFIER_TILED4_SUPPORT)
+ modifiers[i] = I915_FORMAT_MOD_4_TILED;
+ #endif
+ }
+ }
}
- m_drmintellib.drm_intel_bo_unreference(bo);
+
+ ret = m_drmlib.drmModeAddFB2WithModifiers(m_fd,
+ vmid->m_image.width,
+ vmid->m_image.height,
+ convertVaFourccToDrmFormat(vmid->m_fourcc),
+ handles,
+ pitches,
+ offsets,
+ modifiers,
+ &fbhandle,
+ flags);
+ if (ret)
+ return NULL;
}
else if (vmid->m_buffer_info.mem_type == VA_SURFACE_ATTRIB_MEM_TYPE_KERNEL_DRM) {
struct drm_gem_open flink_open;
@@ -793,62 +827,42 @@ void* drmRenderer::acquire(mfxMemId mid) {
if (ret)
return NULL;
- uint32_t handles[4], pitches[4], offsets[4], pixel_format, flags = 0;
- uint64_t modifiers[4];
-
- memset(&handles, 0, sizeof(handles));
- memset(&pitches, 0, sizeof(pitches));
- memset(&offsets, 0, sizeof(offsets));
- memset(&modifiers, 0, sizeof(modifiers));
-
- handles[0] = flink_open.handle;
- pitches[0] = vmid->m_image.pitches[0];
- offsets[0] = vmid->m_image.offsets[0];
+ for (uint32_t i = 0; i < vmid->m_image.num_planes; i++) {
+ pitches[i] = vmid->m_image.pitches[i];
+ offsets[i] = vmid->m_image.offsets[i];
+ handles[i] = flink_open.handle;
- if (VA_FOURCC_NV12 == vmid->m_fourcc
+ if (VA_FOURCC_NV12 == vmid->m_fourcc
#if defined(DRM_LINUX_P010_SUPPORT)
- || VA_FOURCC_P010 == vmid->m_fourcc
+ || VA_FOURCC_P010 == vmid->m_fourcc
#endif
- ) {
- pixel_format = DRM_FORMAT_NV12;
- #if defined(DRM_LINUX_P010_SUPPORT)
- if (VA_FOURCC_P010 == vmid->m_fourcc)
- pixel_format = DRM_FORMAT_P010;
- #endif
- handles[1] = flink_open.handle;
- pitches[1] = vmid->m_image.pitches[1];
- offsets[1] = vmid->m_image.offsets[1];
- modifiers[0] = modifiers[1] = I915_FORMAT_MOD_Y_TILED;
- flags = DRM_MODE_FB_MODIFIERS;
-
- if (m_bRequiredTiled4) {
+ ) {
+ flags = DRM_MODE_FB_MODIFIERS;
+ modifiers[i] = I915_FORMAT_MOD_Y_TILED;
+ if (m_bRequiredTiled4) {
#if defined(DRM_LINUX_MODIFIER_TILED4_SUPPORT)
- modifiers[0] = modifiers[1] = I915_FORMAT_MOD_4_TILED;
+ modifiers[i] = I915_FORMAT_MOD_4_TILED;
#endif
- }
- else {
- modifiers[0] = modifiers[1] = I915_FORMAT_MOD_Y_TILED;
-
- struct drm_i915_gem_set_tiling set_tiling;
- memset(&set_tiling, 0, sizeof(set_tiling));
- set_tiling.handle = flink_open.handle;
- set_tiling.tiling_mode = I915_TILING_Y;
- set_tiling.stride = vmid->m_image.pitches[0];
- ret = m_drmlib.drmIoctl(m_fd, DRM_IOCTL_I915_GEM_SET_TILING, &set_tiling);
- if (ret) {
- printf("DRM_IOCTL_I915_GEM_SET_TILING Failed ret = %d\n", ret);
- return NULL;
+ }
+ else {
+ struct drm_i915_gem_set_tiling set_tiling;
+ memset(&set_tiling, 0, sizeof(set_tiling));
+ set_tiling.handle = flink_open.handle;
+ set_tiling.tiling_mode = I915_TILING_Y;
+ set_tiling.stride = vmid->m_image.pitches[0];
+ ret = m_drmlib.drmIoctl(m_fd, DRM_IOCTL_I915_GEM_SET_TILING, &set_tiling);
+ if (ret) {
+ printf("DRM_IOCTL_I915_GEM_SET_TILING Failed ret = %d\n", ret);
+ return NULL;
+ }
}
}
}
- else {
- pixel_format = DRM_FORMAT_XRGB8888;
- }
ret = m_drmlib.drmModeAddFB2WithModifiers(m_fd,
vmid->m_image.width,
vmid->m_image.height,
- pixel_format,
+ convertVaFourccToDrmFormat(vmid->m_fourcc),
handles,
pitches,
offsets,
@@ -905,6 +919,7 @@ mfxStatus drmRenderer::render(mfxFrameSurface1* pSurface) {
if (!setMaster()) {
return MFX_ERR_UNKNOWN;
}
+
if ((m_mode.hdisplay == memid->m_image.width) && (m_mode.vdisplay == memid->m_image.height)) {
// surface in the framebuffer exactly matches crtc scanout port, so we
// can scanout from this framebuffer for the whole crtc
--
2.43.2

View File

@ -0,0 +1,44 @@
From 286804cc4a9646e23b833fa2b308a8e69a3e56f9 Mon Sep 17 00:00:00 2001
From: Vincent Cheah Beng Keat <vincent.beng.keat.cheah@intel.com>
Date: Wed, 19 Jun 2024 21:08:41 +0800
Subject: [PATCH 5/9] Force allocator to use DRM_PRIME for rDRM
Upstream-Status: Backport [https://github.com/intel/libvpl-tools/commit/3c81381edb5a591f45c92fac60a23eba081b21b1]
XE deprecated DRM GEM Flink API. Use DRM_PRIME method instead for
rDRM case.
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
---
tools/legacy/sample_decode/src/pipeline_decode.cpp | 2 +-
.../sample_multi_transcode/src/sample_multi_transcode.cpp | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/legacy/sample_decode/src/pipeline_decode.cpp b/tools/legacy/sample_decode/src/pipeline_decode.cpp
index 83fb895..51b7d69 100644
--- a/tools/legacy/sample_decode/src/pipeline_decode.cpp
+++ b/tools/legacy/sample_decode/src/pipeline_decode.cpp
@@ -1437,7 +1437,7 @@ mfxStatus CDecodingPipeline::CreateAllocator() {
if (m_libvaBackend == MFX_LIBVA_DRM_MODESET) {
#if defined(LIBVA_DRM_SUPPORT)
CVAAPIDeviceDRM* drmdev = dynamic_cast<CVAAPIDeviceDRM*>(m_hwdev);
- p_vaapiAllocParams->m_export_mode = vaapiAllocatorParams::CUSTOM_FLINK;
+ p_vaapiAllocParams->m_export_mode = vaapiAllocatorParams::PRIME;
p_vaapiAllocParams->m_exporter =
dynamic_cast<vaapiAllocatorParams::Exporter*>(drmdev->getRenderer());
#endif
diff --git a/tools/legacy/sample_multi_transcode/src/sample_multi_transcode.cpp b/tools/legacy/sample_multi_transcode/src/sample_multi_transcode.cpp
index ce972c8..6b2c919 100644
--- a/tools/legacy/sample_multi_transcode/src/sample_multi_transcode.cpp
+++ b/tools/legacy/sample_multi_transcode/src/sample_multi_transcode.cpp
@@ -374,7 +374,7 @@ mfxStatus Launcher::Init(int argc, char* argv[]) {
#if defined(LIBVA_DRM_SUPPORT)
if (params.libvaBackend == MFX_LIBVA_DRM_MODESET) {
CVAAPIDeviceDRM* drmdev = dynamic_cast<CVAAPIDeviceDRM*>(hwdev.get());
- pVAAPIParams->m_export_mode = vaapiAllocatorParams::CUSTOM_FLINK;
+ pVAAPIParams->m_export_mode = vaapiAllocatorParams::PRIME;
pVAAPIParams->m_exporter =
dynamic_cast<vaapiAllocatorParams::Exporter*>(drmdev->getRenderer());
}
--
2.43.2

View File

@ -0,0 +1,61 @@
From 75551817541a3b355eddadf3d5e32da31e5f4a31 Mon Sep 17 00:00:00 2001
From: Lim Siew Hoon <siew.hoon.lim@intel.com>
Date: Thu, 1 Aug 2024 11:07:42 +0800
Subject: [PATCH 6/9] Enable VVC in sample_decode.
Upstream-Status: Backport [https://github.com/intel/libvpl-tools/commit/5f0959abd9271d07c0ad97edd684d7c04d93350c]
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
---
tools/legacy/sample_common/src/sample_utils.cpp | 4 ++++
tools/legacy/sample_decode/src/sample_decode.cpp | 5 +++--
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/tools/legacy/sample_common/src/sample_utils.cpp b/tools/legacy/sample_common/src/sample_utils.cpp
index b2b67bf..bd11af7 100644
--- a/tools/legacy/sample_common/src/sample_utils.cpp
+++ b/tools/legacy/sample_common/src/sample_utils.cpp
@@ -2435,6 +2435,7 @@ bool IsDecodeCodecSupported(mfxU32 codecFormat) {
case MFX_CODEC_VP8:
case MFX_CODEC_VP9:
case MFX_CODEC_AV1:
+ case MFX_CODEC_VVC:
break;
default:
return false;
@@ -2509,6 +2510,9 @@ mfxStatus StrFormatToCodecFormatFourCC(char* strInput, mfxU32& codecFormat) {
else if (msdk_match(strInput, "av1")) {
codecFormat = MFX_CODEC_AV1;
}
+ else if (msdk_match(strInput, "vvc")) {
+ codecFormat = MFX_CODEC_VVC;
+ }
else if ((msdk_match(strInput, "raw"))) {
codecFormat = MFX_CODEC_DUMP;
}
diff --git a/tools/legacy/sample_decode/src/sample_decode.cpp b/tools/legacy/sample_decode/src/sample_decode.cpp
index 8ebe4c5..33ab1f5 100644
--- a/tools/legacy/sample_decode/src/sample_decode.cpp
+++ b/tools/legacy/sample_decode/src/sample_decode.cpp
@@ -29,7 +29,7 @@ void PrintHelp(char* strAppName, const char* strErrorMessage) {
printf(" or: %s <codecid> [<options>] -i InputBitstream -o OutputYUVFile\n", strAppName);
printf("\n");
printf("Supported codecs (<codecid>):\n");
- printf(" <codecid>=h264|mpeg2|vc1|mvc|jpeg|vp9|av1 - built-in Media SDK codecs\n");
+ printf(" <codecid>=h264|mpeg2|vc1|mvc|jpeg|vp9|av1|vvc - built-in Media SDK codecs\n");
printf(
" <codecid>=h265|vp9|capture - in-box Media SDK plugins (may require separate downloading and installation)\n");
printf("\n");
@@ -798,7 +798,8 @@ mfxStatus ParseInputString(char* strInput[], mfxU32 nArgNum, sInputParams* pPara
if (MFX_CODEC_MPEG2 != pParams->videoType && MFX_CODEC_AVC != pParams->videoType &&
MFX_CODEC_HEVC != pParams->videoType && MFX_CODEC_VC1 != pParams->videoType &&
MFX_CODEC_JPEG != pParams->videoType && MFX_CODEC_VP8 != pParams->videoType &&
- MFX_CODEC_VP9 != pParams->videoType && MFX_CODEC_AV1 != pParams->videoType) {
+ MFX_CODEC_VP9 != pParams->videoType && MFX_CODEC_AV1 != pParams->videoType &&
+ MFX_CODEC_VVC != pParams->videoType) {
PrintHelp(strInput[0], "Unknown codec");
return MFX_ERR_UNSUPPORTED;
}
--
2.43.2

View File

@ -0,0 +1,185 @@
From fecf6b6cdb02c7dba3b838ee710363b57fe8e6e7 Mon Sep 17 00:00:00 2001
From: "Hoe, Sheng Yang" <sheng.yang.hoe@intel.com>
Date: Fri, 26 Jul 2024 23:35:25 +0800
Subject: [PATCH 7/9] Fix X11 rendering for xe
Upstream-Status: Backport [https://github.com/intel/libvpl-tools/commit/2d751730617682133bf066e61e1ca952136309bd]
Signed-off-by: Hoe, Sheng Yang <sheng.yang.hoe@intel.com>
---
.../sample_common/include/vaapi_device.h | 6 ---
.../sample_common/include/vaapi_utils_x11.h | 4 --
.../legacy/sample_common/src/vaapi_device.cpp | 50 ++-----------------
.../sample_common/src/vaapi_utils_x11.cpp | 4 +-
4 files changed, 7 insertions(+), 57 deletions(-)
diff --git a/tools/legacy/sample_common/include/vaapi_device.h b/tools/legacy/sample_common/include/vaapi_device.h
index 5752a28..dc71659 100644
--- a/tools/legacy/sample_common/include/vaapi_device.h
+++ b/tools/legacy/sample_common/include/vaapi_device.h
@@ -75,10 +75,7 @@ public:
m_nRenderWinH = 0;
m_bRenderWin = false;
#if defined(X11_DRI3_SUPPORT)
- m_dri_fd = 0;
- m_bufmgr = NULL;
m_xcbconn = NULL;
- m_device_path = devicePath;
#endif
}
virtual ~CVAAPIDeviceX11(void);
@@ -106,10 +103,7 @@ private:
mfxU32 m_nRenderWinW;
mfxU32 m_nRenderWinH;
#if defined(X11_DRI3_SUPPORT)
- int m_dri_fd;
- drm_intel_bufmgr* m_bufmgr;
xcb_connection_t* m_xcbconn;
- std::string m_device_path;
#endif
// no copies allowed
CVAAPIDeviceX11(const CVAAPIDeviceX11&);
diff --git a/tools/legacy/sample_common/include/vaapi_utils_x11.h b/tools/legacy/sample_common/include/vaapi_utils_x11.h
index acdd78e..840c29d 100644
--- a/tools/legacy/sample_common/include/vaapi_utils_x11.h
+++ b/tools/legacy/sample_common/include/vaapi_utils_x11.h
@@ -40,9 +40,6 @@ public:
MfxLoader::Xcbpresent_Proxy& GetXcbpresentX11() {
return m_xcbpresentlib;
}
- MfxLoader::DrmIntel_Proxy& GetDrmIntelX11() {
- return m_drmintellib;
- }
#endif // X11_DRI3_SUPPORT
protected:
@@ -57,7 +54,6 @@ protected:
MfxLoader::X11_Xcb_Proxy m_x11xcblib;
MfxLoader::XCB_Dri3_Proxy m_xcbdri3lib;
MfxLoader::Xcbpresent_Proxy m_xcbpresentlib;
- MfxLoader::DrmIntel_Proxy m_drmintellib;
#endif // X11_DRI3_SUPPORT
int fd;
diff --git a/tools/legacy/sample_common/src/vaapi_device.cpp b/tools/legacy/sample_common/src/vaapi_device.cpp
index c44e67e..9bf3433 100644
--- a/tools/legacy/sample_common/src/vaapi_device.cpp
+++ b/tools/legacy/sample_common/src/vaapi_device.cpp
@@ -72,39 +72,9 @@ mfxStatus CVAAPIDeviceX11::Init(mfxHDL hWindow, mfxU16 nViews, mfxU32 nAdapterNu
}
}
#if defined(X11_DRI3_SUPPORT)
- MfxLoader::DrmIntel_Proxy& drmintellib = m_X11LibVA.GetDrmIntelX11();
MfxLoader::X11_Xcb_Proxy& x11xcblib = m_X11LibVA.GetX11XcbX11();
m_xcbconn = x11xcblib.XGetXCBConnection(VAAPI_GET_X_DISPLAY(m_X11LibVA.GetXDisplay()));
-
- if (m_device_path.empty()) {
- // it's enough to pass render node, because we only request
- // information from kernel via m_dri_fd
- for (mfxU32 i = 0; i < MFX_DEVICE_MAX_NODES; ++i) {
- std::string devPath =
- MFX_DEVICE_NODE_RENDER + std::to_string(MFX_DEVICE_NODE_INDEX + i);
- m_dri_fd = open_intel_adapter(devPath);
- if (m_dri_fd < 0)
- continue;
- else
- break;
- }
- }
- else {
- m_dri_fd = open_intel_adapter(m_device_path);
- }
-
- if (m_dri_fd < 0) {
- printf("Failed to open dri device\n");
- return MFX_ERR_NOT_INITIALIZED;
- }
-
- m_bufmgr = drmintellib.drm_intel_bufmgr_gem_init(m_dri_fd, 4096);
- if (!m_bufmgr) {
- printf("Failed to get buffer manager\n");
- return MFX_ERR_NOT_INITIALIZED;
- }
-
#endif
return mfx_res;
@@ -121,11 +91,6 @@ void CVAAPIDeviceX11::Close(void) {
free(m_window);
m_window = NULL;
}
- #if defined(X11_DRI3_SUPPORT)
- if (m_dri_fd) {
- close(m_dri_fd);
- }
- #endif
}
mfxStatus CVAAPIDeviceX11::Reset(void) {
@@ -208,13 +173,11 @@ mfxStatus CVAAPIDeviceX11::RenderFrame(mfxFrameSurface1* pSurface,
#else //\/ X11_DRI3_SUPPORT
Window* window = VAAPI_GET_X_WINDOW(m_window);
Window root;
- drm_intel_bo* bo = NULL;
unsigned int border, depth, stride, size, width, height;
int fd = 0, bpp = 0, x, y;
MfxLoader::Xcb_Proxy& xcblib = m_X11LibVA.GetXcbX11();
MfxLoader::XLib_Proxy& x11lib = m_X11LibVA.GetX11();
- MfxLoader::DrmIntel_Proxy& drmintellib = m_X11LibVA.GetDrmIntelX11();
MfxLoader::Xcbpresent_Proxy& xcbpresentlib = m_X11LibVA.GetXcbpresentX11();
MfxLoader::XCB_Dri3_Proxy& dri3lib = m_X11LibVA.GetXCBDri3X11();
@@ -271,15 +234,7 @@ mfxStatus CVAAPIDeviceX11::RenderFrame(mfxFrameSurface1* pSurface,
stride = memId->m_image.pitches[0];
size = PAGE_ALIGN(stride * height);
- bo = drmintellib.drm_intel_bo_gem_create_from_prime(m_bufmgr,
- memId->m_buffer_info.handle,
- size);
- if (!bo) {
- printf("Failed to create buffer object\n");
- return MFX_ERR_INVALID_VIDEO_PARAM;
- }
-
- drmintellib.drm_intel_bo_gem_export_to_prime(bo, &fd);
+ fd = dup(memId->m_buffer_info.handle);
if (!fd) {
printf("Invalid fd\n");
return MFX_ERR_NOT_INITIALIZED;
@@ -332,6 +287,9 @@ mfxStatus CVAAPIDeviceX11::RenderFrame(mfxFrameSurface1* pSurface,
xcblib.xcb_free_pixmap(m_xcbconn, pixmap);
xcblib.xcb_flush(m_xcbconn);
+
+ if (fd)
+ close(fd);
}
return mfx_res;
diff --git a/tools/legacy/sample_common/src/vaapi_utils_x11.cpp b/tools/legacy/sample_common/src/vaapi_utils_x11.cpp
index ec44752..1e76615 100644
--- a/tools/legacy/sample_common/src/vaapi_utils_x11.cpp
+++ b/tools/legacy/sample_common/src/vaapi_utils_x11.cpp
@@ -19,6 +19,7 @@
const char* MFX_X11_NODE_RENDER = "/dev/dri/renderD";
const char* MFX_X11_DRIVER_NAME = "i915";
+const char* MFX_X11_DRIVER_XE_NAME = "xe";
constexpr mfxU32 MFX_X11_DRIVER_NAME_LEN = 4;
constexpr mfxU32 MFX_X11_NODE_INDEX = 128;
constexpr mfxU32 MFX_X11_MAX_NODES = 16;
@@ -38,7 +39,8 @@ int open_intel_adapter(const std::string& devicePath) {
version.name = driverName;
if (!ioctl(fd, DRM_IOWR(0, drm_version), &version) &&
- msdk_match(driverName, MFX_X11_DRIVER_NAME)) {
+ (msdk_match(driverName, MFX_X11_DRIVER_NAME) ||
+ msdk_match(driverName, MFX_X11_DRIVER_XE_NAME))) {
return fd;
}
--
2.43.2

View File

@ -0,0 +1,42 @@
From bc6561ea9d9a6f182f6cd3dfe390088b187ac954 Mon Sep 17 00:00:00 2001
From: "Hoe, Sheng Yang" <sheng.yang.hoe@intel.com>
Date: Mon, 29 Jul 2024 10:15:32 +0800
Subject: [PATCH 8/9] Fix code formatting
Upstream-Status: Backport [https://github.com/intel/libvpl-tools/commit/0f641e7279e8709bda5f507cf5fe3ea2849ed66a]
Signed-off-by: Hoe, Sheng Yang <sheng.yang.hoe@intel.com>
---
tools/legacy/sample_common/include/vaapi_device.h | 2 +-
tools/legacy/sample_common/src/vaapi_device.cpp | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/legacy/sample_common/include/vaapi_device.h b/tools/legacy/sample_common/include/vaapi_device.h
index dc71659..6d46c23 100644
--- a/tools/legacy/sample_common/include/vaapi_device.h
+++ b/tools/legacy/sample_common/include/vaapi_device.h
@@ -75,7 +75,7 @@ public:
m_nRenderWinH = 0;
m_bRenderWin = false;
#if defined(X11_DRI3_SUPPORT)
- m_xcbconn = NULL;
+ m_xcbconn = NULL;
#endif
}
virtual ~CVAAPIDeviceX11(void);
diff --git a/tools/legacy/sample_common/src/vaapi_device.cpp b/tools/legacy/sample_common/src/vaapi_device.cpp
index 9bf3433..d4a785f 100644
--- a/tools/legacy/sample_common/src/vaapi_device.cpp
+++ b/tools/legacy/sample_common/src/vaapi_device.cpp
@@ -72,7 +72,7 @@ mfxStatus CVAAPIDeviceX11::Init(mfxHDL hWindow, mfxU16 nViews, mfxU32 nAdapterNu
}
}
#if defined(X11_DRI3_SUPPORT)
- MfxLoader::X11_Xcb_Proxy& x11xcblib = m_X11LibVA.GetX11XcbX11();
+ MfxLoader::X11_Xcb_Proxy& x11xcblib = m_X11LibVA.GetX11XcbX11();
m_xcbconn = x11xcblib.XGetXCBConnection(VAAPI_GET_X_DISPLAY(m_X11LibVA.GetXDisplay()));
#endif
--
2.43.2

View File

@ -9,11 +9,18 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=c18ea6bb4786a26bf4eee88a7424a408 \
file://third-party-programs.txt;md5=ddf05049184e74942f45b0ca4cc69b8a"
SRC_URI = "git://github.com/intel/libvpl-tools.git;protocol=https;branch=main \
file://0001-Update-vpl-inspect-to-remove-ReportedStats.patch \
file://0001-Add-cstdint-header-to-resolve-build-issue-with-gcc-1.patch \
file://0001-Correct-va-attrib-for-vaapiallocator.patch \
file://0002-Enable-YUV400-JPEG-Enc-for-vaapi.patch \
file://0003-Enable-YUV400-JPEG-Enc-for-linux-vaapi-only.patch \
file://0004-Fix-rDRM-DMA-methods.patch \
file://0005-Force-allocator-to-use-DRM_PRIME-for-rDRM.patch \
file://0006-Enable-VVC-in-sample_decode.patch \
file://0007-Fix-X11-rendering-for-xe.patch \
file://0008-Fix-code-formatting.patch \
"
SRCREV = "82eab13ecec99f34e0f1d5dac490611b604406c9"
SRCREV = "452ab253da13b57067222e8311ef143d0203d766"
S = "${WORKDIR}/git"
inherit cmake
DEPENDS += "libva libvpl pkgconfig-native"
@ -33,11 +40,8 @@ FILES_SOLIBSDEV = ""
FILES:${PN} += " ${datadir}/VPL/samples \
${libdir}/libcttmetrics.so \
${libdir}/vpl-tools/libvpl_wayland.* \
${libdir}/vpl-tools/libvpl_wayland.so \
"
FILES:${PN}-dev += "${libdir}/vpl-tools/libvpl_wayland.so \
"
FILES:${PN}-doc += " ${datadir}/vpl-tools \
"

View File

@ -11,7 +11,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=c18ea6bb4786a26bf4eee88a7424a408 \
SRC_URI = "git://github.com/intel/libvpl.git;protocol=https;branch=main \
file://0001-vpl.pc.in-dont-pass-pcfiledir-to-cflags.patch \
"
SRCREV = "025d43d086a3e663184cb49febe86152bf05409f"
SRCREV = "0c13c410095764799afea0cf645bd896378579b8"
S = "${WORKDIR}/git"
inherit cmake
DEPENDS += "libva pkgconfig-native"

View File

@ -20,16 +20,14 @@ RDEPENDS:${PN} += "intel-media-driver"
SRC_URI = "git://github.com/intel/vpl-gpu-rt.git;protocol=https;nobranch=1;lfs=0 \
"
SRCREV = "c65990e456acf901597a76b22407232679152547"
SRCREV = "6751494dba1275a20cf2f50b4482f6e7fbfcfd08"
S = "${WORKDIR}/git"
FILES:${PN} += " \
${libdir}/libmfx-gen/enctools.so \
"
inherit cmake features_check
REQUIRED_DISTRO_FEATURES = "opengl"
inherit cmake
RREPLACES:${PN} = "onevpl-intel-gpu"
RCONFLICTS:${PN} = "onevpl-intel-gpu"

View File

@ -17,7 +17,7 @@ SRC_URI = "git://github.com/intel/ipp-crypto;protocol=https;branch=${IPP_BRANCH}
"
SRCREV = "7d6ac349507258f49d00909df33d5dea4ff77f39"
S = "${UNPACKDIR}/${PN}-${PV}/sources/ippcp/crypto_mb"
S = "${WORKDIR}/git/sources/ippcp/crypto_mb"
DEPENDS = "openssl"

View File

@ -6,12 +6,14 @@ performance parallel applications."
HOMEPAGE = "https://github.com/oneapi-src/oneDPL"
LICENSE = "Apache-2.0-with-LLVM-exception"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2e982d844baa4df1c80de75470e0c5cb \
file://third-party-programs.txt;md5=409cd5c825a23043b6bb347861d34b35"
LIC_FILES_CHKSUM = "file://licensing/LICENSE.txt;md5=2e982d844baa4df1c80de75470e0c5cb \
file://licensing/third-party-programs.txt;md5=cfb8d6b1f04a8fcc7d0dddd817619634"
SRC_URI = "git://github.com/uxlfoundation/oneDPL.git;protocol=https;branch=release/2022.8.0 \
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/oneapi-src/oneDPL.git;protocol=https;branch=release/2022.3 \
"
SRCREV = "89d8d8befd4da2cb52f3724f668d17d7e39d42cf"
SRCREV = "180f18ad25fbc39fa13bad43f1df7d54ee8f5609"
do_compile[noexec] = "1"
do_configure[noexec] = "1"

View File

@ -7,7 +7,8 @@ LIC_FILES_CHKSUM = "file://${CUSTOM_LICENSES_PATH}/EULA;md5=7bfc91523de2e84e7131
SRC_URI = "file://intel-oneapi-runtime.conf"
S = "${UNPACKDIR}"
S = "${WORKDIR}/sources"
UNPACKDIR = "${S}"
do_install() {
mkdir -p ${D}${sysconfdir}/ld.so.conf.d/

View File

@ -13,7 +13,7 @@ tools for real-time use. It includes the full meta-toolchain, development \
headers and libraries to form a standalone SDK."
DEPENDS += "linux-intel-rt"
IMAGE_FEATURES += "dev-pkgs tools-sdk tools-debug eclipse-debug tools-profile tools-testapps"
IMAGE_FEATURES += "dev-pkgs tools-sdk tools-debug eclipse-debug tools-profile tools-testapps debug-tweaks"
IMAGE_INSTALL += "rt-tests hwlatdetect kernel-dev"

View File

@ -7,7 +7,8 @@ SECTION = "lib"
inherit autotools pkgconfig
SRCREV = "c387163fcbca62701d646149564c550c78a4f985"
S = "${WORKDIR}/git"
SRCREV = "bd226375027899087bd48f3e59b910430615cc0a"
SRC_URI = "git://github.com/intel/isa-l.git;branch=master;protocol=https"
DEPENDS = "nasm-native"

View File

@ -5,20 +5,21 @@ library or it can be partially or fully integrated into your tool."
HOMEPAGE = "https://github.com/intel/libipt"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=491799fd9431e57ad52cb0ef3497afce"
LIC_FILES_CHKSUM = "file://LICENSE;md5=a429afa59f273b5d12778eda69d10313"
inherit pkgconfig cmake
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/intel/libipt.git;protocol=https;branch=stable/v2.1"
SRCREV = "ffc548e5fbc2fa3e9795d4593f861e1df99cf906"
SRCREV = "1c9bc700f4b9a71fd2d1cf1742de7e2351ddb281"
EXTRA_OECMAKE += " \
-DPTDUMP=ON \
-DPTTC=ON \
-DPTSEG=ON \
-DCMAKE_SKIP_RPATH=ON \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
"
do_install:append() {