mirror of
git://git.yoctoproject.org/meta-intel.git
synced 2025-07-19 12:59:03 +02:00
Compare commits
136 Commits
21.0-scart
...
master
Author | SHA1 | Date | |
---|---|---|---|
![]() |
7fc52266ae | ||
![]() |
b3670c2765 | ||
![]() |
7531d25480 | ||
![]() |
948f32898c | ||
![]() |
da0d981264 | ||
![]() |
9d929ecc54 | ||
![]() |
45bdd23171 | ||
![]() |
fbaf7a7dbf | ||
![]() |
fc53424964 | ||
![]() |
5640f6592c | ||
![]() |
6dc5579712 | ||
![]() |
677923517b | ||
![]() |
21919a4b11 | ||
![]() |
b5c65864fa | ||
![]() |
343435a2f1 | ||
![]() |
331139a64b | ||
![]() |
802a2dcc3d | ||
![]() |
f7e64d601e | ||
![]() |
c002b58a31 | ||
![]() |
336b86a95d | ||
![]() |
03ca9fe04a | ||
![]() |
6605638e5b | ||
![]() |
5202c13044 | ||
![]() |
9d4194af23 | ||
![]() |
74e63d3834 | ||
![]() |
74fc129a2c | ||
![]() |
1bc9b44c76 | ||
![]() |
1616b7c807 | ||
![]() |
ef8035b48f | ||
![]() |
7bb5971efa | ||
![]() |
3193965523 | ||
![]() |
172651fbb9 | ||
![]() |
046ad0ede1 | ||
![]() |
6311c5a403 | ||
![]() |
0badd9a460 | ||
![]() |
cd4995d855 | ||
![]() |
f1b9bf5f10 | ||
![]() |
6eeb304b09 | ||
![]() |
2506b743ab | ||
![]() |
79b1fd3430 | ||
![]() |
cb85578bf3 | ||
![]() |
8bd6506e1e | ||
![]() |
db1f123d8b | ||
![]() |
81b110e4fa | ||
![]() |
b30ef8c8df | ||
![]() |
7137693e92 | ||
![]() |
ee209683b7 | ||
![]() |
c055eca643 | ||
![]() |
157dec4d8e | ||
![]() |
c7c7dface3 | ||
![]() |
c4cd14c32f | ||
![]() |
f3f6c46ab4 | ||
![]() |
b0fe7e45ab | ||
![]() |
40ad847196 | ||
![]() |
0a941ec0af | ||
![]() |
ad97cfa0a7 | ||
![]() |
e2d83fe2c2 | ||
![]() |
d0150964ca | ||
![]() |
c0986a2c06 | ||
![]() |
7092e59231 | ||
![]() |
31ebf1b346 | ||
![]() |
cf1f250ae7 | ||
![]() |
9589e68d0a | ||
![]() |
544eaef721 | ||
![]() |
42b6cfec17 | ||
![]() |
da2013006a | ||
![]() |
7d826adfe7 | ||
![]() |
51cc236453 | ||
![]() |
feb12460c9 | ||
![]() |
35d9611724 | ||
![]() |
592703f390 | ||
![]() |
d0cca0cf28 | ||
![]() |
f4085cf2ba | ||
![]() |
a38d69ee3d | ||
![]() |
945c5bbb80 | ||
![]() |
3b4ab5676d | ||
![]() |
9bc4ada2f2 | ||
![]() |
acb6754d4f | ||
![]() |
86a337d450 | ||
![]() |
fd8ccbdf1e | ||
![]() |
438897ccab | ||
![]() |
d007bbd936 | ||
![]() |
4b40ffcc8d | ||
![]() |
8c4ea4cd2f | ||
![]() |
67c156ac9f | ||
![]() |
740eed7a7d | ||
![]() |
25debfe314 | ||
![]() |
0a46de4a5d | ||
![]() |
d6be707bfb | ||
![]() |
c95fce3af3 | ||
![]() |
a9a49e3e1a | ||
![]() |
1f08cf063e | ||
![]() |
2ed565749c | ||
![]() |
5d1f6d9422 | ||
![]() |
0f83a00783 | ||
![]() |
373080d3ff | ||
![]() |
b71661ad7a | ||
![]() |
debe7a7598 | ||
![]() |
78b843d359 | ||
![]() |
1cf46a8ab0 | ||
![]() |
99ecd5c06e | ||
![]() |
3505ed2bfa | ||
![]() |
ea270e6f7b | ||
![]() |
ece4cf8c32 | ||
![]() |
cea3080350 | ||
![]() |
e973862547 | ||
![]() |
ea0a7de92f | ||
![]() |
a070dff830 | ||
![]() |
263f8cb810 | ||
![]() |
8cbeba7725 | ||
![]() |
6a2114ac03 | ||
![]() |
4f4e6d763c | ||
![]() |
d9c5f429a1 | ||
![]() |
d965d9ab8e | ||
![]() |
c849f41d21 | ||
![]() |
6846d34df3 | ||
![]() |
3344a55d26 | ||
![]() |
83c3b371ca | ||
![]() |
f222ac31c5 | ||
![]() |
b47467609d | ||
![]() |
28b193723b | ||
![]() |
a672e9116a | ||
![]() |
98a4c95816 | ||
![]() |
856fd19c35 | ||
![]() |
f50328b877 | ||
![]() |
f9eb05f598 | ||
![]() |
938ba15a4a | ||
![]() |
5a0479b735 | ||
![]() |
82f614ab96 | ||
![]() |
4c0414ea1f | ||
![]() |
52f5037453 | ||
![]() |
3d77cd745a | ||
![]() |
f77e45d588 | ||
![]() |
fdab9460e9 | ||
![]() |
0b8c3342f6 | ||
![]() |
7655d2b265 |
|
@ -1,151 +0,0 @@
|
|||
# This class brings a more generic version of the UEFI combo app from refkit to meta-intel.
|
||||
# It uses a combo file, containing kernel, initramfs and
|
||||
# command line, presented to the BIOS as UEFI application, by prepending
|
||||
# it with the efi stub obtained from systemd-boot.
|
||||
|
||||
# Don't add syslinux or build an ISO
|
||||
PCBIOS:forcevariable = "0"
|
||||
NOISO:forcevariable = "1"
|
||||
|
||||
# image-live.bbclass will default INITRD_LIVE to the image INITRD_IMAGE creates.
|
||||
# We want behavior to be consistent whether or not "live" is in IMAGE_FSTYPES, so
|
||||
# we default INITRD_LIVE to the INITRD_IMAGE as well.
|
||||
INITRD_IMAGE ?= "core-image-minimal-initramfs"
|
||||
INITRD_LIVE ?= " ${@ ('${DEPLOY_DIR_IMAGE}/' + d.getVar('INITRD_IMAGE', expand=True) + '-${MACHINE}.cpio.gz') if d.getVar('INITRD_IMAGE', True) else ''}"
|
||||
|
||||
do_uefiapp[depends] += " \
|
||||
intel-microcode:do_deploy \
|
||||
systemd-boot:do_deploy \
|
||||
virtual/kernel:do_deploy \
|
||||
"
|
||||
|
||||
# INITRD_IMAGE is added to INITRD_LIVE, which we use to create our initrd, so depend on it if it is set
|
||||
do_uefiapp[depends] += "${@ '${INITRD_IMAGE}:do_image_complete' if d.getVar('INITRD_IMAGE') else ''}"
|
||||
|
||||
# The image does without traditional bootloader.
|
||||
# In its place, instead, it uses a single UEFI executable binary, which is
|
||||
# composed by:
|
||||
# - an UEFI stub
|
||||
# The linux kernel can generate a UEFI stub, however the one from systemd-boot can fetch
|
||||
# the command line from a separate section of the EFI application, avoiding the need to
|
||||
# rebuild the kernel.
|
||||
# - the kernel
|
||||
# - an initramfs (optional)
|
||||
|
||||
def create_uefiapp(d, uuid=None, app_suffix=''):
|
||||
import glob, re
|
||||
from subprocess import check_call
|
||||
|
||||
build_dir = d.getVar('B')
|
||||
deploy_dir_image = d.getVar('DEPLOY_DIR_IMAGE')
|
||||
image_link_name = d.getVar('IMAGE_LINK_NAME')
|
||||
|
||||
cmdline = '%s/cmdline.txt' % build_dir
|
||||
linux = '%s/%s' % (deploy_dir_image, d.getVar('KERNEL_IMAGETYPE'))
|
||||
initrd = '%s/initrd' % build_dir
|
||||
|
||||
stub_path = '%s/linux*.efi.stub' % deploy_dir_image
|
||||
stub = glob.glob(stub_path)[0]
|
||||
m = re.match(r"\S*(ia32|x64)(.efi)\S*", os.path.basename(stub))
|
||||
app = "boot%s%s%s" % (m.group(1), app_suffix, m.group(2))
|
||||
executable = '%s/%s.%s' % (deploy_dir_image, image_link_name, app)
|
||||
|
||||
if d.getVar('INITRD_LIVE'):
|
||||
with open(initrd, 'wb') as dst:
|
||||
for cpio in d.getVar('INITRD_LIVE').split():
|
||||
with open(cpio, 'rb') as src:
|
||||
dst.write(src.read())
|
||||
initrd_cmd = "--add-section .initrd=%s --change-section-vma .initrd=0x3000000 " % initrd
|
||||
else:
|
||||
initrd_cmd = ""
|
||||
|
||||
root = 'root=PARTUUID=%s' % uuid if uuid else ''
|
||||
|
||||
with open(cmdline, 'w') as f:
|
||||
f.write('%s %s' % (d.getVar('APPEND'), root))
|
||||
|
||||
objcopy_cmd = ("objcopy "
|
||||
"--add-section .cmdline=%s --change-section-vma .cmdline=0x30000 "
|
||||
"--add-section .linux=%s --change-section-vma .linux=0x40000 "
|
||||
"%s %s %s") % \
|
||||
(cmdline, linux, initrd_cmd, stub, executable)
|
||||
|
||||
check_call(objcopy_cmd, shell=True)
|
||||
|
||||
python create_uefiapps () {
|
||||
# We must clean up anything that matches the expected output pattern, to ensure that
|
||||
# the next steps do not accidentally use old files.
|
||||
import glob
|
||||
pattern = d.expand('${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.boot*.efi')
|
||||
for old_efi in glob.glob(pattern):
|
||||
os.unlink(old_efi)
|
||||
uuid = d.getVar('DISK_SIGNATURE_UUID')
|
||||
create_uefiapp(d, uuid=uuid)
|
||||
}
|
||||
|
||||
# This is intentionally split into different parts. This way, derived
|
||||
# classes or images can extend the individual parts. We can also use
|
||||
# whatever language (shell script or Python) is more suitable.
|
||||
python do_uefiapp() {
|
||||
bb.build.exec_func('create_uefiapps', d)
|
||||
}
|
||||
|
||||
do_uefiapp[vardeps] += "APPEND DISK_SIGNATURE_UUID INITRD_LIVE KERNEL_IMAGETYPE IMAGE_LINK_NAME"
|
||||
|
||||
uefiapp_deploy_at() {
|
||||
dest=$1
|
||||
for i in ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.boot*.efi; do
|
||||
target=`basename $i`
|
||||
target=`echo $target | sed -e 's/${IMAGE_LINK_NAME}.//'`
|
||||
cp --preserve=timestamps -r $i $dest/$target
|
||||
done
|
||||
}
|
||||
|
||||
fakeroot do_uefiapp_deploy() {
|
||||
rm -rf ${IMAGE_ROOTFS}/boot/*
|
||||
dest=${IMAGE_ROOTFS}/boot/EFI/BOOT
|
||||
mkdir -p $dest
|
||||
uefiapp_deploy_at $dest
|
||||
}
|
||||
|
||||
do_uefiapp_deploy[depends] += "${PN}:do_uefiapp virtual/fakeroot-native:do_populate_sysroot"
|
||||
|
||||
|
||||
# This decides when/how we add our tasks to the image
|
||||
python () {
|
||||
image_fstypes = d.getVar('IMAGE_FSTYPES', True)
|
||||
initramfs_fstypes = d.getVar('INITRAMFS_FSTYPES', True)
|
||||
|
||||
# Don't add any of these tasks to initramfs images
|
||||
if initramfs_fstypes not in image_fstypes:
|
||||
bb.build.addtask('uefiapp', 'do_image', 'do_rootfs', d)
|
||||
bb.build.addtask('uefiapp_deploy', 'do_image', 'do_rootfs', d)
|
||||
}
|
||||
|
||||
SIGN_AFTER ?= "do_uefiapp"
|
||||
SIGN_BEFORE ?= "do_uefiapp_deploy"
|
||||
SIGNING_DIR ?= "${DEPLOY_DIR_IMAGE}"
|
||||
SIGNING_BINARIES ?= "${IMAGE_LINK_NAME}.boot*.efi"
|
||||
inherit uefi-sign
|
||||
|
||||
# Legacy hddimg support below this line
|
||||
efi_hddimg_populate() {
|
||||
uefiapp_deploy_at "$1"
|
||||
}
|
||||
|
||||
build_efi_cfg() {
|
||||
# The command line is built into the combo app, so this is a null op
|
||||
:
|
||||
}
|
||||
|
||||
populate_kernel:append() {
|
||||
# The kernel and initrd are built into the app, so we don't need these
|
||||
if [ -f $dest/initrd ]; then
|
||||
rm $dest/initrd
|
||||
fi
|
||||
if [ -f $dest/vmlinuz ]; then
|
||||
rm $dest/vmlinuz
|
||||
fi
|
||||
}
|
||||
|
||||
IMAGE_FEATURES[validitems] += "secureboot"
|
|
@ -1,50 +0,0 @@
|
|||
# By default, sign all .efi binaries in ${B} after compiling and before deploying
|
||||
SIGNING_DIR ?= "${B}"
|
||||
SIGNING_BINARIES ?= "*.efi"
|
||||
SIGN_AFTER ?= "do_compile"
|
||||
SIGN_BEFORE ?= "do_deploy"
|
||||
|
||||
python () {
|
||||
import os
|
||||
import hashlib
|
||||
|
||||
# Ensure that if the signing key or cert change, we rerun the uefiapp process
|
||||
if bb.utils.contains('IMAGE_FEATURES', 'secureboot', True, False, d):
|
||||
for varname in ('SECURE_BOOT_SIGNING_CERT', 'SECURE_BOOT_SIGNING_KEY'):
|
||||
filename = d.getVar(varname)
|
||||
if filename is None:
|
||||
bb.fatal('%s is not set.' % varname)
|
||||
if not os.path.isfile(filename):
|
||||
bb.fatal('%s=%s is not a file.' % (varname, filename))
|
||||
with open(filename, 'rb') as f:
|
||||
data = f.read()
|
||||
hash = hashlib.sha256(data).hexdigest()
|
||||
d.setVar('%s_HASH' % varname, hash)
|
||||
|
||||
# Must reparse and thus rehash on file changes.
|
||||
bb.parse.mark_dependency(d, filename)
|
||||
|
||||
bb.build.addtask('uefi_sign', d.getVar('SIGN_BEFORE'), d.getVar('SIGN_AFTER'), d)
|
||||
|
||||
# Original binary needs to be regenerated if the hash changes since we overwrite it
|
||||
# SIGN_AFTER isn't necessarily when it gets generated, but its our best guess
|
||||
d.appendVarFlag(d.getVar('SIGN_AFTER'), 'vardeps', 'SECURE_BOOT_SIGNING_CERT_HASH SECURE_BOOT_SIGNING_KEY_HASH')
|
||||
}
|
||||
|
||||
do_uefi_sign() {
|
||||
if [ -f ${SECURE_BOOT_SIGNING_KEY} ] && [ -f ${SECURE_BOOT_SIGNING_CERT} ]; then
|
||||
for i in `find ${SIGNING_DIR}/ -name '${SIGNING_BINARIES}'`; do
|
||||
sbsign --key ${SECURE_BOOT_SIGNING_KEY} --cert ${SECURE_BOOT_SIGNING_CERT} $i
|
||||
sbverify --cert ${SECURE_BOOT_SIGNING_CERT} $i.signed
|
||||
mv $i.signed $i
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
do_uefi_sign[depends] += "sbsigntool-native:do_populate_sysroot"
|
||||
|
||||
do_uefi_sign[vardeps] += "SECURE_BOOT_SIGNING_CERT_HASH \
|
||||
SECURE_BOOT_SIGNING_KEY_HASH \
|
||||
SIGNING_BINARIES SIGNING_DIR \
|
||||
SIGN_BEFORE SIGN_AFTER \
|
||||
"
|
|
@ -13,7 +13,6 @@ RECIPE_MAINTAINER:pn-intel-compute-runtime = "Naveen Saini <naveen.kumar.saini@i
|
|||
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>"
|
||||
|
@ -31,6 +30,7 @@ RECIPE_MAINTAINER:pn-libxcam = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
|||
RECIPE_MAINTAINER:pn-linux-intel = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-linux-intel-rt = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-linux-intel-dev = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-linux-npu-driver = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-lms = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-metee = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-metrics-discovery = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
|
@ -39,16 +39,9 @@ RECIPE_MAINTAINER:pn-onednn = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
|||
RECIPE_MAINTAINER:pn-onedpl = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-onevpl = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-onevpl-intel-gpu = "Yew Chang Ching <chang.ching.yew@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-open-model-zoo = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-opencl-clang = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-openvino-inference-engine = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-openvino-model-optimizer = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-openvkl = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-ospray = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-ovmf-shell-image-enrollkeys = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-rkcommon = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-sbsigntool-native = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-secureboot-selftest-image-signed = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-secureboot-selftest-image-unsigned = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-thermald = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-xf86-video-ast = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
|
|
|
@ -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 = "kirkstone scarthgap"
|
||||
LAYERSERIES_COMPAT_intel = "scarthgap whinlatter"
|
||||
|
||||
BBFILES_DYNAMIC += " \
|
||||
clang-layer:${LAYERDIR}/dynamic-layers/clang-layer/*/*/*.bb \
|
||||
|
@ -42,4 +42,4 @@ PREFERRED_PROVIDER_libva-utils ?= "libva-utils"
|
|||
PREFERRED_PROVIDER_libva-utils-native ?= "libva-utils-native"
|
||||
PREFERRED_PROVIDER_nativesdk-libva-utils ?= "nativesdk-libva-utils"
|
||||
|
||||
# addpylib ${LAYERDIR}/lib oeqa
|
||||
addpylib ${LAYERDIR}/lib oeqa
|
||||
|
|
|
@ -7,9 +7,10 @@
|
|||
PREFERRED_PROVIDER_virtual/kernel ?= "linux-intel"
|
||||
PREFERRED_PROVIDER_virtual/kernel:poky-tiny ?= "linux-intel"
|
||||
|
||||
PREFERRED_VERSION_linux-intel ?= "6.6%"
|
||||
PREFERRED_VERSION_linux-intel-rt ?= "6.6%"
|
||||
PREFERRED_VERSION_linux-intel:poky-altcfg ?= "6.8%"
|
||||
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%"
|
||||
|
||||
# Need to point to latest version of libva needed for media components
|
||||
PREFERRED_PROVIDER_libva = "libva-intel"
|
||||
|
@ -20,10 +21,6 @@ PREFERRED_PROVIDER_libva-utils = "libva-intel-utils"
|
|||
PREFERRED_PROVIDER_libva-utils-native = "libva-intel-utils-native"
|
||||
PREFERRED_PROVIDER_nativesdk-libva-utils = "nativesdk-libva-intel-utils"
|
||||
|
||||
LLVM_MAJOR_VERSION = "${@d.getVar('LLVMVERSION').split('.')[0]}"
|
||||
PREFERRED_VERSION_opencl-clang ?= "${@bb.utils.contains('LLVM_MAJOR_VERSION', '14', '14.0.0', '15.0.0', d)}"
|
||||
PREFERRED_VERSION_opencl-clang-native ?= "${@bb.utils.contains('LLVM_MAJOR_VERSION', '14', '14.0.0', '15.0.0', d)}"
|
||||
|
||||
XSERVER_X86_ASPEED_AST = "xf86-video-ast \
|
||||
"
|
||||
|
||||
|
|
|
@ -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 intel-mediasdk', d)} gstreamer1.0-vaapi"
|
||||
MACHINE_HWCODECS ?= "${@bb.utils.contains('TUNE_FEATURES', 'mx32', '', 'intel-media-driver vpl-gpu-rt', d)} gstreamer1.0-vaapi"
|
||||
|
||||
# Enable optional dpdk:
|
||||
COMPATIBLE_MACHINE:pn-dpdk = "intel-corei7-64"
|
||||
|
|
|
@ -12,7 +12,7 @@ MACHINE_FEATURES += "efi"
|
|||
MACHINE_FEATURES += "wifi 3g nfc"
|
||||
MACHINE_FEATURES += "intel-ucode"
|
||||
|
||||
MACHINE_HWCODECS ?= "intel-media-driver intel-mediasdk gstreamer1.0-vaapi"
|
||||
MACHINE_HWCODECS ?= "intel-media-driver vpl-gpu-rt gstreamer1.0-vaapi"
|
||||
|
||||
COMPATIBLE_MACHINE:pn-dpdk = "intel-skylake-64"
|
||||
COMPATIBLE_MACHINE:pn-dpdk-module = "intel-skylake-64"
|
||||
|
|
|
@ -11,6 +11,7 @@ Follow the [Yocto Project official documentation](https://docs.yoctoproject.org/
|
|||
git clone https://git.yoctoproject.org/git/poky
|
||||
git clone https://github.com/openembedded/meta-openembedded
|
||||
git clone https://git.yoctoproject.org/git/meta-intel
|
||||
git clone https://github.com/intel/meta-openvino
|
||||
```
|
||||
|
||||
|
||||
|
@ -30,6 +31,7 @@ Follow the [Yocto Project official documentation](https://docs.yoctoproject.org/
|
|||
bitbake-layers add-layer ../meta-openembedded/meta-oe
|
||||
bitbake-layers add-layer ../meta-openembedded/meta-python
|
||||
bitbake-layers add-layer ../meta-intel
|
||||
bitbake-layers add-layer ../meta-openvino
|
||||
|
||||
```
|
||||
|
||||
|
@ -54,9 +56,6 @@ Follow the [Yocto Project official documentation](https://docs.yoctoproject.org/
|
|||
# Include OpenVINO Python API package in the target image.
|
||||
CORE_IMAGE_EXTRA_INSTALL:append = " openvino-inference-engine-python3"
|
||||
|
||||
# Include model conversion API in the target image.
|
||||
CORE_IMAGE_EXTRA_INSTALL:append = " openvino-model-optimizer"
|
||||
|
||||
```
|
||||
|
||||
## Step 2: Build a Yocto Image with OpenVINO Packages
|
||||
|
@ -88,8 +87,6 @@ If the image build is successful, it will return the list of packages as below:
|
|||
openvino-inference-engine-python3
|
||||
openvino-inference-engine-samples
|
||||
openvino-inference-engine-src
|
||||
openvino-model-optimizer
|
||||
openvino-model-optimizer-dbg
|
||||
openvino-model-optimizer-dev
|
||||
openvino-inference-engine-doc
|
||||
|
||||
```
|
||||
|
|
|
@ -1,23 +1,20 @@
|
|||
## Tested Hardware
|
||||
|
||||
The following undergo regular basic testing with their respective MACHINE types.
|
||||
The following undergo regular testing with their respective MACHINE types:
|
||||
|
||||
- intel-corei7-64:
|
||||
* Alder Lake-P
|
||||
* Alder Lake-S
|
||||
* Alder Lake-PS
|
||||
* Alder Lake-P/S/PS
|
||||
* Amston Lake
|
||||
* Elkhart Lake
|
||||
* Metor Lake-P
|
||||
* Raptor Lake-P
|
||||
* Raptor Lake-P/S
|
||||
* Tiger Lake
|
||||
|
||||
- intel-skylake-64:
|
||||
* Alder Lake-P
|
||||
* Alder Lake-S
|
||||
* Alder Lake-PS
|
||||
* Elkhart Lake
|
||||
* Alder Lake-P/S/PS
|
||||
* Amston Lake
|
||||
* Metor Lake-P
|
||||
* Raptor Lake-P
|
||||
* Raptor Lake-P/S
|
||||
* Tiger Lake
|
||||
|
||||
- intel-core2-32:
|
||||
|
|
|
@ -14,8 +14,7 @@ inherit pkgconfig cmake ptest
|
|||
|
||||
DNN_BRANCH = "rls-v${@'.'.join(d.getVar('PV').split('.')[0:2])}"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
SRCREV = "f5ff0a6de16c130053bec1a1aec3a9b826c66f78"
|
||||
SRCREV = "66f0cb9eb66affd2da3bf5f8d897376f04aae6af"
|
||||
SRC_URI = "git://github.com/oneapi-src/oneDNN.git;branch=${DNN_BRANCH};protocol=https \
|
||||
file://run-ptest \
|
||||
"
|
|
@ -1,7 +1,7 @@
|
|||
From a6361d635e5f3046853883f3ac06fb175116933c Mon Sep 17 00:00:00 2001
|
||||
From 8c330d0cb5167612296801f0202b0de35e9ca88d Mon Sep 17 00:00:00 2001
|
||||
From: Dongwon Kim <dongwon.kim@intel.com>
|
||||
Date: Sat, 21 Aug 2021 16:09:39 -0700
|
||||
Subject: [PATCH] Build not able to locate cpp_generation_tool.
|
||||
Subject: [PATCH 2/5] Build not able to locate cpp_generation_tool.
|
||||
|
||||
Upstream-Status: Inappropriate [oe specific]
|
||||
|
||||
|
@ -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(-)
|
||||
|
||||
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
|
||||
)
|
||||
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()
|
||||
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 ed85a37c52..f7c9e79137 100644
|
|||
)
|
||||
list(APPEND BUILTINS_COMMANDS "${OUTPUT_FILE_CPP}")
|
||||
else()
|
||||
@@ -159,9 +159,9 @@ function(generate_cpp_spirv builtin)
|
||||
)
|
||||
@@ -176,9 +176,9 @@ function(generate_cpp_spirv builtin)
|
||||
endif()
|
||||
add_custom_command(
|
||||
OUTPUT ${OUTPUT_FILE_CPP}
|
||||
- COMMAND $<TARGET_FILE:cpp_generate_tool> --file ${GENERATED_SPV_INPUT} --output ${OUTPUT_FILE_CPP} --array ${BASENAME}
|
||||
|
@ -39,13 +39,3 @@ index ed85a37c52..f7c9e79137 100644
|
|||
)
|
||||
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.43.2
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
From 1f58c22992ddea4167b01b44448528de427f50d5 Mon Sep 17 00:00:00 2001
|
||||
From 0006db5f55a9f08bd3452558a53704cd3bbb790f Mon Sep 17 00:00:00 2001
|
||||
From: Dongwon Kim <dongwon.kim@intel.com>
|
||||
Date: Wed, 2 Mar 2022 15:52:45 -0800
|
||||
Subject: [PATCH] external ocloc
|
||||
Subject: [PATCH 3/5] external ocloc
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
|
@ -10,11 +10,11 @@ Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
|
|||
cmake/ocloc_cmd_prefix.cmake | 14 ++++++++------
|
||||
1 file changed, 8 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/cmake/ocloc_cmd_prefix.cmake b/cmake/ocloc_cmd_prefix.cmake
|
||||
index 2b44330831..03067c9df0 100644
|
||||
--- a/cmake/ocloc_cmd_prefix.cmake
|
||||
+++ b/cmake/ocloc_cmd_prefix.cmake
|
||||
@@ -4,12 +4,14 @@
|
||||
Index: git/cmake/ocloc_cmd_prefix.cmake
|
||||
===================================================================
|
||||
--- git.orig/cmake/ocloc_cmd_prefix.cmake
|
||||
+++ git/cmake/ocloc_cmd_prefix.cmake
|
||||
@@ -4,13 +4,15 @@
|
||||
# SPDX-License-Identifier: MIT
|
||||
#
|
||||
|
||||
|
@ -35,6 +35,4 @@ index 2b44330831..03067c9df0 100644
|
|||
+ endif()
|
||||
endif()
|
||||
endif()
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
Upstream-Status: Inappropriate
|
||||
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index d52e089778..bc0cf35014 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -727,7 +727,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)
|
|
@ -8,15 +8,12 @@ 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/24.13 \
|
||||
file://disable-werror.patch \
|
||||
file://allow-to-find-cpp-generation-tool.patch \
|
||||
file://external-ocloc.patch \
|
||||
SRC_URI = "git://github.com/intel/compute-runtime.git;protocol=https;branch=releases/25.13 \
|
||||
file://0002-Build-not-able-to-locate-cpp_generation_tool.patch \
|
||||
file://0003-external-ocloc.patch \
|
||||
"
|
||||
|
||||
SRCREV = "7131387cdbb02d480a225c70daef913a6c024a6e"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
SRCREV = "a9961bdfaa07250fd52ff930bf8f31fb4e3b7799"
|
||||
|
||||
DEPENDS += " intel-graphics-compiler gmmlib libva qemu-native"
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
From 3d71670f8ad5b54d434c2f5f71713bb1d5433ae4 Mon Sep 17 00:00:00 2001
|
||||
From 1b98a931c3bf8daccc48cd618335ff35e3d382da Mon Sep 17 00:00:00 2001
|
||||
From: Anuj Mittal <anuj.mittal@intel.com>
|
||||
Date: Tue, 12 Oct 2021 23:46:42 +0800
|
||||
Subject: [PATCH] BiF/CMakeLists.txt: remove opt from DEPENDS
|
||||
|
@ -17,19 +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(-)
|
||||
|
||||
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)
|
||||
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_
|
||||
COMMENT "vc_build_bif: Translating CMCL builtins: ${BIF_CLANG_BC_NAME_FINAL} -> ${BIF_OPT_BC_NAME}"
|
||||
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)
|
||||
--
|
||||
2.43.2
|
||||
|
||||
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}
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
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
|
||||
)
|
|
@ -1,4 +1,4 @@
|
|||
From e69a3181482e5f442756a61c7b683914072884f1 Mon Sep 17 00:00:00 2001
|
||||
From 251e2854dd206ebf66e5908d3277e4585fe2a63b Mon Sep 17 00:00:00 2001
|
||||
From: Anuj Mittal <anuj.mittal@intel.com>
|
||||
Date: Mon, 9 Jan 2023 11:43:05 +0800
|
||||
Subject: [PATCH] external/SPIRV-Tools: change path to tools and headers
|
||||
|
@ -9,16 +9,15 @@ file path substitutions take place.
|
|||
Upstream-Status: Inappropriate
|
||||
|
||||
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
|
||||
|
||||
---
|
||||
external/SPIRV-Tools/CMakeLists.txt | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/external/SPIRV-Tools/CMakeLists.txt b/external/SPIRV-Tools/CMakeLists.txt
|
||||
index 9afa5746c..7ca24d5dc 100644
|
||||
--- a/external/SPIRV-Tools/CMakeLists.txt
|
||||
+++ b/external/SPIRV-Tools/CMakeLists.txt
|
||||
@@ -43,8 +43,8 @@ else() #By default use build from sources
|
||||
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
|
||||
message(STATUS "[SPIRV-Tools] : Building from source")
|
||||
message(STATUS "[SPIRV-Tools] : Current source dir: ${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
|
||||
|
|
|
@ -1,19 +1,18 @@
|
|||
From 5648568e597acd0fed82aac3e6aef0f95a1b78d1 Mon Sep 17 00:00:00 2001
|
||||
From 1641dc87b2ed6b6b87b2cef824e4d66da65b0b30 Mon Sep 17 00:00:00 2001
|
||||
From: Anuj Mittal <anuj.mittal@intel.com>
|
||||
Date: Thu, 19 May 2022 22:50:09 +0800
|
||||
Subject: [PATCH] fix tblgen
|
||||
|
||||
Upstream-Status: Inappropriate [OE specific]
|
||||
|
||||
---
|
||||
IGC/cmake/igc_llvm.cmake | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/IGC/cmake/igc_llvm.cmake b/IGC/cmake/igc_llvm.cmake
|
||||
index 10322533c..9020cb3c8 100644
|
||||
index b708cc904..fe4668890 100644
|
||||
--- a/IGC/cmake/igc_llvm.cmake
|
||||
+++ b/IGC/cmake/igc_llvm.cmake
|
||||
@@ -52,7 +52,7 @@ else()
|
||||
@@ -53,7 +53,7 @@ else()
|
||||
set(LLVM_OPT_EXE "opt" CACHE STRING "")
|
||||
|
||||
set(LLVM_TABLEGEN_EXE "llvm-tblgen")
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 0559332abd04b6c8bc70171d201f43d2e4735336 Mon Sep 17 00:00:00 2001
|
||||
From ca136c04d4ac60e3febc8ea2b9c4d4736365a424 Mon Sep 17 00:00:00 2001
|
||||
From: Lee Chee Yang <chee.yang.lee@intel.com>
|
||||
Date: Wed, 2 Sep 2020 08:28:35 +0800
|
||||
Subject: [PATCH] Improve Reproducibility for src package
|
||||
|
@ -9,16 +9,15 @@ this only works on bison 3.7 onward, hence check for bison version
|
|||
before adding the flags.
|
||||
Upstream-Status: Inappropriate [applying --file-prefix-map in such way does not work for upstream]
|
||||
Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
|
||||
|
||||
---
|
||||
visa/CMakeLists.txt | 7 +++++--
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/visa/CMakeLists.txt b/visa/CMakeLists.txt
|
||||
index 6be467587..930c386a6 100644
|
||||
--- a/visa/CMakeLists.txt
|
||||
+++ b/visa/CMakeLists.txt
|
||||
@@ -123,8 +123,11 @@ endif()
|
||||
Index: git/visa/CMakeLists.txt
|
||||
===================================================================
|
||||
--- git.orig/visa/CMakeLists.txt
|
||||
+++ git/visa/CMakeLists.txt
|
||||
@@ -135,8 +135,11 @@ endif()
|
||||
set(bison_output_file ${CMAKE_CURRENT_BINARY_DIR}/CISA.tab.cpp)
|
||||
set(flex_output_file ${CMAKE_CURRENT_BINARY_DIR}/lex.CISA.cpp)
|
||||
|
||||
|
|
|
@ -8,29 +8,28 @@ 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/igc-1.0.16510 \
|
||||
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 \
|
||||
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 \
|
||||
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 = "c2495d45f37fadd963ad22eb0cc1a8235a306775"
|
||||
SRCREV_vc = "f9c34404d0ea9abad83875a10bd48d88cea90ebd"
|
||||
SRCREV_spirv-tools = "f0cc85efdbbe3a46eae90e0f915dc1509836d0fc"
|
||||
SRCREV_spirv-headers = "1c6bb2743599e6eb6f37b2969acc0aef812e32e3"
|
||||
SRCREV_igc = "83925314d4fc32b017fcbfcd73e0667ba833fb8f"
|
||||
SRCREV_vc = "9d255266e1df8f1dc5d11e1fbb03213acfaa4fc7"
|
||||
SRCREV_spirv-tools = "f289d047f49fb60488301ec62bafab85573668cc"
|
||||
SRCREV_spirv-headers = "0e710677989b4326ac974fd80c5308191ed80965"
|
||||
|
||||
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"
|
||||
|
@ -38,7 +37,9 @@ 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"
|
||||
DEPENDS += " flex-native bison-native clang clang-cross-x86_64 opencl-clang qemu-native python3-mako-native \
|
||||
python3-pyyaml-native \
|
||||
"
|
||||
|
||||
RDEPENDS:${PN} += "opencl-clang"
|
||||
|
||||
|
@ -65,10 +66,11 @@ EOF
|
|||
chmod +x ${WORKDIR}/qemuwrapper
|
||||
}
|
||||
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "^igc-(?P<pver>(?!19\..*)\d+(\.\d+)+)$"
|
||||
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>\d+(\.\d+)+)$"
|
||||
|
||||
FILES:${PN} += " \
|
||||
${libdir}/igc/NOTICES.txt \
|
||||
${libdir}/igc2/NOTICES.txt \
|
||||
"
|
||||
|
||||
# libigc.so contains buildpaths
|
|
@ -9,7 +9,6 @@ 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"
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
require opencl-clang.inc
|
||||
|
||||
SRCREV = "980f1691c5babcf824ee10375a04a0d0c5d7d44a"
|
||||
|
||||
BRANCH = "ocl-open-140"
|
|
@ -1,33 +0,0 @@
|
|||
SUMMARY = "OpenVINO Model Optimzer"
|
||||
DESCRIPTION = "Model Optimizer is a cross-platform command-line tool that \
|
||||
facilitates the transition between the training and deployment \
|
||||
environment, performs static model analysis, and adjusts deep \
|
||||
learning models for optimal execution on end-point target devices."
|
||||
HOMEPAGE = "https://01.org/openvinotoolkit"
|
||||
|
||||
SRC_URI = "git://github.com/openvinotoolkit/openvino.git;protocol=https;branch=releases/2024/1;lfs=0 \
|
||||
"
|
||||
SRCREV = "f4afc983258bcb2592d999ed6700043fdb58ad78"
|
||||
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
|
||||
|
||||
CVE_PRODUCT = "intel:openvino"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit setuptools3
|
||||
|
||||
SETUPTOOLS_SETUP_PATH = "${WORKDIR}/git/tools/mo"
|
||||
|
||||
RDEPENDS:${PN} += " \
|
||||
python3-defusedxml \
|
||||
python3-fastjsonschema \
|
||||
python3-networkx \
|
||||
python3-numpy \
|
||||
python3-protobuf \
|
||||
python3-requests \
|
||||
python3-urllib3 \
|
||||
bash \
|
||||
"
|
||||
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+\.\d+\.\d+))$"
|
|
@ -0,0 +1,32 @@
|
|||
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
|
||||
|
|
@ -19,15 +19,14 @@ PACKAGECONFIG ??= "connman"
|
|||
PACKAGECONFIG[connman] = "-DNETWORK_CN=ON, -DNETWORK_CN=OFF, connman"
|
||||
PACKAGECONFIG[networkmanager] = "-DNETWORK_NM=ON, -DNETWORK_NM=OFF, networkmanager"
|
||||
|
||||
REQUIRED_DISTRO_FEATURES= "systemd"
|
||||
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 \
|
||||
"
|
||||
SRCREV = "388f115b2aeb3ea11499971c65f828daefd32c47"
|
||||
|
||||
|
|
|
@ -1,35 +0,0 @@
|
|||
From 1f6f4e29769adb9d49a3c4831dd2ba61f6ccbdce Mon Sep 17 00:00:00 2001
|
||||
From: Yogesh Tyagi <yogesh.tyagi@intel.com>
|
||||
Date: Mon, 11 Mar 2024 13:13:32 +0800
|
||||
Subject: [PATCH] Makefile: Fix build Issue
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
In case build directory is different from source, make sure make is able to find the correct input files.
|
||||
|
||||
Fixes:
|
||||
| dbus-binding-tool --prefix=thd_dbus_interface --mode=glib-server --output=thd_dbus_interface.h ../git/src/thd_dbus_interface.xml
|
||||
| glib-compile-resources --generate-source thermald-resource.gresource.xml
|
||||
| Failed to open file “thermald-resource.gresource.xml”: No such file or directory
|
||||
|
||||
Upstream-Status: Submitted
|
||||
https://github.com/intel/thermal_daemon/pull/436
|
||||
|
||||
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
|
||||
---
|
||||
Makefile.am | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index dd2ef10..cb19e17 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -97,6 +97,6 @@ thd_dbus_interface.h: $(top_srcdir)/src/thd_dbus_interface.xml
|
||||
$(AM_V_GEN) dbus-binding-tool --prefix=thd_dbus_interface --mode=glib-server --output=$@ $<
|
||||
|
||||
thermald-resource.c: $(top_srcdir)/thermald-resource.gresource.xml
|
||||
- $(AM_V_GEN) glib-compile-resources --generate-source thermald-resource.gresource.xml
|
||||
+ $(AM_V_GEN) glib-compile-resources --generate-source --sourcedir=${top_srcdir} $<
|
||||
|
||||
CLEANFILES = $(BUILT_SOURCES)
|
|
@ -13,11 +13,9 @@ LICENSE = "GPL-2.0-only"
|
|||
LIC_FILES_CHKSUM = "file://COPYING;md5=ea8831610e926e2e469075b52bf08848"
|
||||
|
||||
SRC_URI = "git://github.com/intel/thermal_daemon/;branch=master;protocol=https \
|
||||
file://0001-Makefile-Fix-build-Issue.patch \
|
||||
"
|
||||
|
||||
SRCREV = "ea8b773f76641a7a49d6584669e17371c22ad03e"
|
||||
S = "${WORKDIR}/git"
|
||||
SRCREV = "df3b9ab0ffe780c4fbad7750987eff76f659cfd5"
|
||||
|
||||
inherit pkgconfig autotools systemd gtk-doc
|
||||
|
|
@ -9,8 +9,6 @@ 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 \
|
||||
|
@ -18,7 +16,7 @@ SRC_URI = "git://github.com/ispc/ispc.git;protocol=https;branch=main \
|
|||
file://run-ptest \
|
||||
"
|
||||
|
||||
SRCREV = "bcb2cf896c00f9a802a11cbf291ef6e44b205416"
|
||||
SRCREV = "d394222aef59e4759b06e39ec160e4aba6ee5f40"
|
||||
|
||||
COMPATIBLE_HOST = '(x86_64).*-linux'
|
||||
|
||||
|
@ -29,7 +27,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
|
|
@ -4,8 +4,7 @@ LICENSE = "MIT"
|
|||
LIC_FILES_CHKSUM = "file://LICENSE;md5=97957beb2f7808ffa247e5d93e6442cc"
|
||||
|
||||
SRC_URI = "git://github.com/oneapi-src/level-zero.git;protocol=https;branch=master"
|
||||
SRCREV = "1685d01497428ca4d8b99200972b64685424d5c9"
|
||||
S = "${WORKDIR}/git"
|
||||
SRCREV = "9536683855b17a21508e5b54ba358225d6a976da"
|
||||
|
||||
inherit cmake
|
||||
DEPENDS += "opencl-headers"
|
|
@ -0,0 +1,99 @@
|
|||
From b57297c14d94dac9bdef7570b7b33d70b10171f3 Mon Sep 17 00:00:00 2001
|
||||
From: Jozef Wludzik <jozef.wludzik@intel.com>
|
||||
Date: Tue, 26 Mar 2024 14:43:29 +0100
|
||||
Subject: [PATCH 1/2] Fix the compilation warning when using gcc-13 (#25)
|
||||
|
||||
Added missing headers. Fixed compilation error about casting from
|
||||
unsigned to signed int.
|
||||
|
||||
Upstream-Status: Backport [https://github.com/intel/linux-npu-driver/commit/4bcbf2abe94eb4d9c083bd616b58e309a82d008a]
|
||||
|
||||
Signed-off-by: Jozef Wludzik <jozef.wludzik@intel.com>
|
||||
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
||||
---
|
||||
umd/level_zero_driver/ext/source/graph/vcl_symbols.hpp | 7 ++++---
|
||||
umd/vpu_driver/include/umd_common.hpp | 1 +
|
||||
validation/umd-test/umd_prime_buffers.h | 9 +++++++--
|
||||
validation/umd-test/utilities/data_handle.h | 1 +
|
||||
4 files changed, 13 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/umd/level_zero_driver/ext/source/graph/vcl_symbols.hpp b/umd/level_zero_driver/ext/source/graph/vcl_symbols.hpp
|
||||
index f206ebe..682e5b4 100644
|
||||
--- a/umd/level_zero_driver/ext/source/graph/vcl_symbols.hpp
|
||||
+++ b/umd/level_zero_driver/ext/source/graph/vcl_symbols.hpp
|
||||
@@ -5,12 +5,13 @@
|
||||
*
|
||||
*/
|
||||
|
||||
-#include <dlfcn.h>
|
||||
-#include <memory>
|
||||
-
|
||||
#include "vpux_driver_compiler.h"
|
||||
#include "vpu_driver/source/utilities/log.hpp"
|
||||
|
||||
+#include <array>
|
||||
+#include <dlfcn.h>
|
||||
+#include <memory>
|
||||
+
|
||||
class Vcl {
|
||||
public:
|
||||
static Vcl &sym() {
|
||||
diff --git a/umd/vpu_driver/include/umd_common.hpp b/umd/vpu_driver/include/umd_common.hpp
|
||||
index 0c874a3..5ad9be2 100644
|
||||
--- a/umd/vpu_driver/include/umd_common.hpp
|
||||
+++ b/umd/vpu_driver/include/umd_common.hpp
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
+#include <cstdint>
|
||||
#include <limits>
|
||||
#include <linux/kernel.h>
|
||||
#include <stdexcept>
|
||||
diff --git a/validation/umd-test/umd_prime_buffers.h b/validation/umd-test/umd_prime_buffers.h
|
||||
index 6f7c7de..ab4814c 100644
|
||||
--- a/validation/umd-test/umd_prime_buffers.h
|
||||
+++ b/validation/umd-test/umd_prime_buffers.h
|
||||
@@ -6,12 +6,17 @@
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
+
|
||||
+#include "umd_test.h"
|
||||
+
|
||||
#include <fcntl.h>
|
||||
-#include <linux/kernel.h>
|
||||
#include <linux/dma-buf.h>
|
||||
#include <linux/dma-heap.h>
|
||||
+#include <linux/kernel.h>
|
||||
+#include <stdint.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/mman.h>
|
||||
+#include <unistd.h>
|
||||
|
||||
#define ALLIGN_TO_PAGE(x) __ALIGN_KERNEL((x), (UmdTest::PAGE_SIZE))
|
||||
|
||||
@@ -60,7 +65,7 @@ class PrimeBufferHelper {
|
||||
return false;
|
||||
|
||||
bufferFd = heapAlloc.fd;
|
||||
- buffers.insert({heapAlloc.fd, {size, nullptr}});
|
||||
+ buffers.insert({static_cast<int>(heapAlloc.fd), {size, nullptr}});
|
||||
return true;
|
||||
}
|
||||
|
||||
diff --git a/validation/umd-test/utilities/data_handle.h b/validation/umd-test/utilities/data_handle.h
|
||||
index d6e0ec0..5d937b2 100644
|
||||
--- a/validation/umd-test/utilities/data_handle.h
|
||||
+++ b/validation/umd-test/utilities/data_handle.h
|
||||
@@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
#include <linux/kernel.h>
|
||||
+#include <stdint.h>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
--
|
||||
2.43.0
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
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
|
||||
|
|
@ -0,0 +1,110 @@
|
|||
From a9f51fd88effb7d324609e692ca7da576d6dad2e Mon Sep 17 00:00:00 2001
|
||||
From: Naveen Saini <naveen.kumar.saini@intel.com>
|
||||
Date: Tue, 28 May 2024 10:23:42 +0800
|
||||
Subject: [PATCH 2/2] Fix compilation failure with GCC-14
|
||||
|
||||
umd/level_zero_driver/core/source/event/event.cpp:65:31: error: 'remove_if' is not a member of 'std'; did you mean 'remove_cv'?
|
||||
| 65 | associatedJobs.erase(std::remove_if(associatedJobs.begin(),
|
||||
| | ^~~~~~~~~
|
||||
| | remove_cv
|
||||
|
||||
| umd/vpu_driver/source/command/vpu_command.cpp: In member function 'void VPU::VPUCommand::appendAssociateBufferObject(VPU::VPUBufferObject*)':
|
||||
| umd/vpu_driver/source/command/vpu_command.cpp:126:20: error: 'find' is not a member of 'std'; did you mean 'bind'?
|
||||
| 126 | auto it = std::find(bufferObjects.begin(), bufferObjects.end(), bo);
|
||||
| | ^~~~
|
||||
| | bind
|
||||
|
||||
| umd/vpu_driver/source/command/vpu_command_buffer.cpp: In member function 'bool VPU::VPUCommandBuffer::addCommand(VPU::VPUCommand*, uint64_t&, uint64_t&)':
|
||||
| umd/vpu_driver/source/command/vpu_command_buffer.cpp:185:24: error: 'find' is not a member of 'std'; did you mean 'bind'?
|
||||
| 185 | auto it = std::find(bufferHandles.begin(), bufferHandles.end(), bo->getHandle());
|
||||
| | ^~~~
|
||||
| | bind
|
||||
|
||||
| umd/level_zero_driver/ext/source/graph/elf_parser.cpp:301:32: error: 'max_element' is not a member of 'std'; did you mean 'tuple_element'?
|
||||
| 301 | std::max_element(stride_begin + TENSOR_5D_STRIDE_C, stride_end));
|
||||
| | ^~~~~~~~~~~
|
||||
| | tuple_element
|
||||
| umd/level_zero_driver/ext/source/graph/elf_parser.cpp:315:37: error: 'max_element' is not a member of 'std'; did you mean 'tuple_element'?
|
||||
| 315 | auto max_stride_val = *std::max_element(stride_begin + TENSOR_4D_STRIDE_C, stride_end);
|
||||
| | ^~~~~~~~~~~
|
||||
|
||||
| umd/level_zero_driver/tools/source/metrics/metric.cpp: In member function 'void L0::MetricContext::deactivateMetricGroups(int)':
|
||||
| umd/level_zero_driver/tools/source/metrics/metric.cpp:275:38: error: 'remove_if' is not a member of 'std'; did you mean 'remove_cv'?
|
||||
| 275 | activatedMetricGroups.erase(std::remove_if(activatedMetricGroups.begin(),
|
||||
| | ^~~~~~~~~
|
||||
| | remove_cv
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/intel/linux-npu-driver/pull/30]
|
||||
|
||||
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
||||
---
|
||||
umd/level_zero_driver/core/source/event/event.cpp | 1 +
|
||||
umd/level_zero_driver/ext/source/graph/elf_parser.cpp | 1 +
|
||||
umd/level_zero_driver/tools/source/metrics/metric.cpp | 1 +
|
||||
umd/vpu_driver/source/command/vpu_command.cpp | 1 +
|
||||
umd/vpu_driver/source/command/vpu_command_buffer.cpp | 1 +
|
||||
5 files changed, 5 insertions(+)
|
||||
|
||||
diff --git a/umd/level_zero_driver/core/source/event/event.cpp b/umd/level_zero_driver/core/source/event/event.cpp
|
||||
index a92248f..196d176 100644
|
||||
--- a/umd/level_zero_driver/core/source/event/event.cpp
|
||||
+++ b/umd/level_zero_driver/core/source/event/event.cpp
|
||||
@@ -14,6 +14,7 @@
|
||||
|
||||
#include <level_zero/ze_api.h>
|
||||
#include <thread>
|
||||
+#include <algorithm>
|
||||
|
||||
namespace L0 {
|
||||
|
||||
diff --git a/umd/level_zero_driver/ext/source/graph/elf_parser.cpp b/umd/level_zero_driver/ext/source/graph/elf_parser.cpp
|
||||
index a1c8e14..dfbd61d 100644
|
||||
--- a/umd/level_zero_driver/ext/source/graph/elf_parser.cpp
|
||||
+++ b/umd/level_zero_driver/ext/source/graph/elf_parser.cpp
|
||||
@@ -21,6 +21,7 @@
|
||||
#include <vpux_headers/metadata.hpp>
|
||||
#include <vpux_elf/types/vpu_extensions.hpp>
|
||||
#include <vpux_elf/utils/error.hpp>
|
||||
+#include <algorithm>
|
||||
|
||||
namespace L0 {
|
||||
|
||||
diff --git a/umd/level_zero_driver/tools/source/metrics/metric.cpp b/umd/level_zero_driver/tools/source/metrics/metric.cpp
|
||||
index b67750f..9497311 100644
|
||||
--- a/umd/level_zero_driver/tools/source/metrics/metric.cpp
|
||||
+++ b/umd/level_zero_driver/tools/source/metrics/metric.cpp
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
#include "level_zero_driver/tools/source/metrics/metric.hpp"
|
||||
#include "vpu_driver/source/utilities/log.hpp"
|
||||
+#include <algorithm>
|
||||
|
||||
namespace L0 {
|
||||
|
||||
diff --git a/umd/vpu_driver/source/command/vpu_command.cpp b/umd/vpu_driver/source/command/vpu_command.cpp
|
||||
index f4ca23f..75331d9 100644
|
||||
--- a/umd/vpu_driver/source/command/vpu_command.cpp
|
||||
+++ b/umd/vpu_driver/source/command/vpu_command.cpp
|
||||
@@ -14,6 +14,7 @@
|
||||
#include <cstdint>
|
||||
#include <vector>
|
||||
#include <map>
|
||||
+#include <algorithm>
|
||||
|
||||
namespace VPU {
|
||||
|
||||
diff --git a/umd/vpu_driver/source/command/vpu_command_buffer.cpp b/umd/vpu_driver/source/command/vpu_command_buffer.cpp
|
||||
index c4ad052..bbb80ec 100644
|
||||
--- a/umd/vpu_driver/source/command/vpu_command_buffer.cpp
|
||||
+++ b/umd/vpu_driver/source/command/vpu_command_buffer.cpp
|
||||
@@ -11,6 +11,7 @@
|
||||
#include "vpu_driver/source/command/vpu_command_buffer.hpp"
|
||||
#include "vpu_driver/source/command/vpu_copy_command.hpp"
|
||||
#include "vpu_driver/source/utilities/log.hpp"
|
||||
+#include <algorithm>
|
||||
|
||||
namespace VPU {
|
||||
|
||||
--
|
||||
2.43.0
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
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=a7a2dfa2b52a22cf2257893ee87ba11c"
|
||||
|
||||
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 \
|
||||
file://0001-linux-npu-driver-fix-multilib-install-issue.patch \
|
||||
"
|
||||
|
||||
SRCREV_linux-npu-driver = "0fe92dd0720448fb571f0ac4e5e64ef9f2ec3bd7"
|
||||
SRCREV_vpux-elf = "50f2b13dbb6dd435c3e2ef6f8abb7393633bfcdd"
|
||||
SRCREV_yaml-cpp = "f7320141120f720aecc4c32be25586e7da9eb978"
|
||||
SRCREV_lzvext = "c7d8f849d6a8195c1db38cbaca8d431cbabf3a6e"
|
||||
SRCREV_googletest = "b514bdc898e2951020cbdca1304b75f5950d1f59"
|
||||
SRCREV_FORMAT = "linux-npu-driver_vpux-elf_yaml-cpp_lzvext_googletest"
|
||||
|
||||
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_CXX_FLAGS='-I${RECIPE_SYSROOT}/usr/include/level_zero'"
|
||||
EXTRA_OECMAKE += " -DCMAKE_INSTALL_FIRMWARE_DIR=${nonarch_base_libdir}"
|
||||
|
||||
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"
|
|
@ -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 = "${WORKDIR}/${BPN}"
|
||||
S = "${UNPACKDIR}/${BPN}"
|
||||
|
||||
inherit bin_package
|
||||
|
||||
|
|
|
@ -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 = "${WORKDIR}/${BPN}"
|
||||
S = "${UNPACKDIR}/${BPN}"
|
||||
|
||||
inherit bin_package
|
||||
|
||||
|
|
|
@ -4,17 +4,15 @@ intended to graphics application engineers that want to improve the \
|
|||
performance of their application."
|
||||
HOMEPAGE = "https://github.com/embree/embree"
|
||||
|
||||
LICENSE = "Apache-2.0 & syrah"
|
||||
LICENSE = "Apache-2.0 & BSD-3-Clause"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57 \
|
||||
file://third-party-programs.txt;md5=f989f5b74cfff0d45d3ccf0e1366cbdc \
|
||||
file://common/math/transcendental.h;beginline=6;endline=8;md5=73380bb2ab6613b30b8464f114bd0ca8"
|
||||
|
||||
inherit pkgconfig cmake
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
SRC_URI = "git://github.com/embree/embree.git;protocol=https;branch=master"
|
||||
SRCREV = "daa8de0e714e18ad5e5c9841b67c1950d9c91c51"
|
||||
SRCREV = "5730b150471602d6dc02d9b7d8a4a6ce9ceffe16"
|
||||
|
||||
COMPATIBLE_HOST = '(x86_64).*-linux'
|
||||
COMPATIBLE_HOST:libc-musl = "null"
|
||||
|
@ -28,3 +26,5 @@ EXTRA_OECMAKE += " \
|
|||
-DEMBREE_ISPC_SUPPORT=ON \
|
||||
-DEMBREE_ZIP_MODE=OFF \
|
||||
"
|
||||
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>(\d+(\.\d+)+))$"
|
|
@ -21,7 +21,7 @@ SRC_URI[ipp.sha256sum] = "b51e45c6e691aa46c7136b0ab61f5abe346388433e017a30cf53fd
|
|||
SRC_URI[headers.sha256sum] = "342f37ab2f82bc9f4498435f848ee660591c2488b44d988bf6ee96b2a71fd005"
|
||||
SRC_URI[env.sha256sum] = "731e8c28a3b8b757730cd874d0941de2eb744856128f24ade59d36c12b415bf6"
|
||||
|
||||
S = "${WORKDIR}/${BPN}"
|
||||
S = "${UNPACKDIR}/${BPN}"
|
||||
|
||||
COMPATIBLE_HOST:libc-musl = "null"
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@ SRC_URI[common-devel.sha256sum] = "adbf0ea946f63946d29b7f9c750c38a42ea7a65d8c816
|
|||
SRC_URI[devel.sha256sum] = "fab2a6f15e18bfd9b4d425f2703e4e98928c57f52c4feebc9ed886f097062e84"
|
||||
SRC_URI[common-vars.sha256sum] = "ec2b67813739fa4a2895f63479a41acba2174afe2d0cb8a0c1c9119d1317d8ef"
|
||||
|
||||
S = "${WORKDIR}/${BPN}"
|
||||
S = "${UNPACKDIR}/${BPN}"
|
||||
|
||||
inherit bin_package
|
||||
|
||||
|
|
|
@ -20,4 +20,8 @@ inherit cmake
|
|||
|
||||
DEPENDS += "tbb ispc-native"
|
||||
|
||||
do_install:append() {
|
||||
chrpath -d ${D}${bindir}/* ${D}${libdir}/*${SOLIBS}
|
||||
}
|
||||
|
||||
UPSTREAM_CHECK_URI = "https://github.com/OpenImageDenoise/oidn/releases"
|
||||
|
|
|
@ -16,8 +16,6 @@ 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"
|
||||
|
|
|
@ -11,11 +11,12 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=1dece7821bf3fd70fe1309eaa37d52a2 \
|
|||
|
||||
inherit pkgconfig cmake
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
SRC_URI = "git://github.com/ospray/ospray.git;protocol=https;branch=master \
|
||||
"
|
||||
SRCREV = "f2a61c2eb58ccd666e34abfdb0fd7049ea073194"
|
||||
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 \
|
||||
"
|
||||
SRCREV_ospray ?= "85af2929937d516997451cbd52d352cf93125ed2"
|
||||
SRCREV_stb ?= "af1a5bc36dff44f0a019df21c271db697d51f1a6"
|
||||
SRCREV_FORMAT = "ospray_stb"
|
||||
|
||||
COMPATIBLE_HOST = '(x86_64).*-linux'
|
||||
COMPATIBLE_HOST:libc-musl = "null"
|
|
@ -8,11 +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 \
|
||||
"
|
||||
SRCREV = "7ebfa0765ea590767202b328e7da38102c2f5a15"
|
||||
SRCREV = "4a00047ae5a3ac705b6b33b4a7574588d91e7953"
|
||||
|
||||
DEPENDS = "tbb"
|
||||
|
|
@ -6,10 +6,10 @@ Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com>
|
|||
MdePkg/Include/Base.h | 12 ++++++++++++
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
diff --git a/MdePkg/Include/Base.h b/MdePkg/Include/Base.h
|
||||
index d209e6de28..6e61b8f3d3 100644
|
||||
--- a/MdePkg/Include/Base.h
|
||||
+++ b/MdePkg/Include/Base.h
|
||||
Index: edk2/MdePkg/Include/Base.h
|
||||
===================================================================
|
||||
--- edk2.orig/MdePkg/Include/Base.h
|
||||
+++ edk2/MdePkg/Include/Base.h
|
||||
@@ -316,8 +316,12 @@ struct _LIST_ENTRY {
|
||||
#define NULL __null
|
||||
#endif
|
||||
|
@ -20,40 +20,43 @@ index d209e6de28..6e61b8f3d3 100644
|
|||
#endif
|
||||
+#endif
|
||||
+#endif
|
||||
|
||||
|
||||
//
|
||||
// Null character
|
||||
@@ -779,6 +783,8 @@ typedef UINTN *BASE_LIST;
|
||||
@@ -813,6 +817,8 @@ typedef UINTN *BASE_LIST;
|
||||
// Section 2.3.1 of the UEFI 2.3 Specification.
|
||||
//
|
||||
|
||||
|
||||
+#ifndef OS_BUILD
|
||||
+#ifndef UNIT_TEST_UEFI_BUILD
|
||||
STATIC_ASSERT (sizeof (BOOLEAN) == 1, "sizeof (BOOLEAN) does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (sizeof (INT8) == 1, "sizeof (INT8) does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (sizeof (UINT8) == 1, "sizeof (UINT8) does not meet UEFI Specification Data Type requirements");
|
||||
@@ -792,6 +798,8 @@ STATIC_ASSERT (sizeof (CHAR8) == 1, "sizeof (CHAR8) does not meet UEFI Specifi
|
||||
STATIC_ASSERT (sizeof (CHAR16) == 2, "sizeof (CHAR16) does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (sizeof (L'A') == 2, "sizeof (L'A') does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (sizeof (L"A") == 4, "sizeof (L\"A\") does not meet UEFI Specification Data Type requirements");
|
||||
@@ -841,7 +847,8 @@ STATIC_ASSERT (ALIGNOF (CHAR16) == size
|
||||
STATIC_ASSERT (ALIGNOF (INTN) == sizeof (INTN), "Alignment of INTN does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (ALIGNOF (UINTN) == sizeof (UINTN), "Alignment of UINTN does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (ALIGNOF (VOID *) == sizeof (VOID *), "Alignment of VOID * does not meet UEFI Specification Data Type requirements");
|
||||
-
|
||||
+#endif
|
||||
+#endif
|
||||
|
||||
//
|
||||
// The following three enum types are used to verify that the compiler
|
||||
@@ -812,9 +820,13 @@ typedef enum {
|
||||
__VerifyUint32EnumValue = 0xffffffff
|
||||
} __VERIFY_UINT32_ENUM_SIZE;
|
||||
|
||||
// configuration for enum types is compliant with Section 2.3.1 of the
|
||||
@@ -861,6 +868,8 @@ typedef enum {
|
||||
__VerifyInt32EnumValue = 0x7fffffff
|
||||
} __VERIFY_INT32_ENUM_SIZE;
|
||||
|
||||
+#ifndef OS_BUILD
|
||||
+#ifndef UNIT_TEST_UEFI_BUILD
|
||||
STATIC_ASSERT (sizeof (__VERIFY_UINT8_ENUM_SIZE) == 4, "Size of enum does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (sizeof (__VERIFY_UINT16_ENUM_SIZE) == 4, "Size of enum does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (sizeof (__VERIFY_UINT32_ENUM_SIZE) == 4, "Size of enum does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (sizeof (__VERIFY_INT32_ENUM_SIZE) == 4, "Size of enum does not meet UEFI Specification Data Type requirements");
|
||||
@@ -868,6 +877,8 @@ STATIC_ASSERT (sizeof (__VERIFY_INT32_EN
|
||||
STATIC_ASSERT (ALIGNOF (__VERIFY_UINT8_ENUM_SIZE) == sizeof (__VERIFY_UINT8_ENUM_SIZE), "Alignment of enum does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (ALIGNOF (__VERIFY_UINT16_ENUM_SIZE) == sizeof (__VERIFY_UINT16_ENUM_SIZE), "Alignment of enum does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (ALIGNOF (__VERIFY_INT32_ENUM_SIZE) == sizeof (__VERIFY_INT32_ENUM_SIZE), "Alignment of enum does not meet UEFI Specification Data Type requirements");
|
||||
+#endif
|
||||
+#endif
|
||||
|
||||
|
||||
/**
|
||||
Macro that returns a pointer to the data structure that contains a specified field of
|
||||
--
|
||||
2.37.3
|
||||
|
|
|
@ -15,19 +15,17 @@ LICENSE = "BSD-3-Clause | BSD-2-Clause"
|
|||
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;name=ipmctl; \
|
||||
git://github.com/tianocore/edk2.git;protocol=https;name=edk2;destsuffix=git/edk2;branch=master \
|
||||
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 \
|
||||
file://0001-Ignore-STATIC_ASSERTs-and-NULL-define-for-os-and-ut-builds.patch;patchdir=edk2 \
|
||||
file://0001-CMakeLists-disable-Werror.patch \
|
||||
"
|
||||
|
||||
SRCREV_ipmctl = "c75bd840ea7820c8f93a5488fcff75d08beedd51"
|
||||
#tag edk2-stable202302
|
||||
SRCREV_edk2 = "f80f052277c88a67c55e107b550f504eeea947d3"
|
||||
SRCREV_ipmctl = "a71f2fb1c90dd07f9862b71c789881132193e8f9"
|
||||
#tag edk2-stable202408
|
||||
SRCREV_edk2 = "b158dad150bf02879668f72ce306445250838201"
|
||||
SRCREV_FORMAT = "ipmctl_edk2"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit cmake dos2unix
|
||||
|
||||
DEPENDS = "ndctl pkgconfig-native"
|
|
@ -1,86 +0,0 @@
|
|||
From e4edbdae9a2dbfec6fd0706bdfff8abdfe3363fc Mon Sep 17 00:00:00 2001
|
||||
From: Anuj Mittal <anuj.mittal@intel.com>
|
||||
Date: Wed, 29 Nov 2023 12:42:57 +0530
|
||||
Subject: [PATCH] cmake: yocto specific tweaks to the build process
|
||||
|
||||
* Dont try to detect glibc version as that doesn't work when cross compiling.
|
||||
* Dont try to detect CXX11_ABI
|
||||
* Install sample binaries as well.
|
||||
* Dont try to write triggers for CPack. We package ourselves.
|
||||
* Fix the installation path for Python modules when baselib = lib64.
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
|
||||
---
|
||||
cmake/developer_package/packaging/rpm/rpm.cmake | 2 +-
|
||||
cmake/developer_package/target_flags.cmake | 4 ++--
|
||||
samples/cpp/CMakeLists.txt | 6 +++---
|
||||
src/bindings/python/CMakeLists.txt | 2 +-
|
||||
4 files changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/cmake/developer_package/packaging/rpm/rpm.cmake b/cmake/developer_package/packaging/rpm/rpm.cmake
|
||||
index 99f11730983..1a1f61fcd3d 100644
|
||||
--- a/cmake/developer_package/packaging/rpm/rpm.cmake
|
||||
+++ b/cmake/developer_package/packaging/rpm/rpm.cmake
|
||||
@@ -156,7 +156,7 @@ ov_rpm_specific_settings()
|
||||
# needed to add triggers for packages with libraries
|
||||
set(def_triggers "${OpenVINO_BINARY_DIR}/_CPack_Packages/triggers")
|
||||
set(triggers_content "# /bin/sh -p\n/sbin/ldconfig\n")
|
||||
-file(WRITE "${def_triggers}" "${triggers_content}")
|
||||
+#file(WRITE "${def_triggers}" "${triggers_content}")
|
||||
|
||||
#
|
||||
# Functions helpful for packaging your modules with RPM cpack
|
||||
diff --git a/cmake/developer_package/target_flags.cmake b/cmake/developer_package/target_flags.cmake
|
||||
index d047a1aebd9..4e8ca68c60f 100644
|
||||
--- a/cmake/developer_package/target_flags.cmake
|
||||
+++ b/cmake/developer_package/target_flags.cmake
|
||||
@@ -149,7 +149,7 @@ function(ov_glibc_version)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
-ov_glibc_version()
|
||||
+#ov_glibc_version()
|
||||
|
||||
#
|
||||
# Detects default value for _GLIBCXX_USE_CXX11_ABI for current compiler
|
||||
@@ -160,4 +160,4 @@ macro(ov_get_glibcxx_use_cxx11_abi)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
-ov_get_glibcxx_use_cxx11_abi()
|
||||
+#ov_get_glibcxx_use_cxx11_abi()
|
||||
diff --git a/samples/cpp/CMakeLists.txt b/samples/cpp/CMakeLists.txt
|
||||
index 4d33bff944e..3e7f1458578 100644
|
||||
--- a/samples/cpp/CMakeLists.txt
|
||||
+++ b/samples/cpp/CMakeLists.txt
|
||||
@@ -206,9 +206,9 @@ macro(ov_add_sample)
|
||||
target_link_libraries(${SAMPLE_NAME} PRIVATE ${ov_link_libraries} Threads::Threads ${SAMPLE_DEPENDENCIES})
|
||||
|
||||
install(TARGETS ${SAMPLE_NAME}
|
||||
- RUNTIME DESTINATION samples_bin/
|
||||
- COMPONENT samples_bin
|
||||
- EXCLUDE_FROM_ALL)
|
||||
+ DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
+ COMPONENT samples_bin)
|
||||
+
|
||||
|
||||
# create global target with all samples / demo apps
|
||||
if(NOT TARGET ov_samples)
|
||||
diff --git a/src/bindings/python/CMakeLists.txt b/src/bindings/python/CMakeLists.txt
|
||||
index 6cf43ec3fed..d539b9d003f 100644
|
||||
--- a/src/bindings/python/CMakeLists.txt
|
||||
+++ b/src/bindings/python/CMakeLists.txt
|
||||
@@ -320,7 +320,7 @@ if(ENABLE_PYTHON_PACKAGING)
|
||||
# install OpenVINO Python API
|
||||
|
||||
set(python_package_prefix "${CMAKE_CURRENT_BINARY_DIR}/install_${pyversion}")
|
||||
- set(install_lib "${python_package_prefix}/lib/${python_versioned_folder}/${ov_site_packages}")
|
||||
+ set(install_lib "${python_package_prefix}/${CMAKE_INSTALL_LIBDIR}/${python_versioned_folder}/${ov_site_packages}")
|
||||
set(openvino_meta_info_subdir "openvino-${OpenVINO_VERSION}-py${python_xy}.egg-info")
|
||||
set(openvino_meta_info_file "${install_lib}/${openvino_meta_info_subdir}/PKG-INFO")
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
From 4a909a03b6dd336e7ea76e3f44d7cfb5d7e44798 Mon Sep 17 00:00:00 2001
|
||||
From: Anuj Mittal <anuj.mittal@intel.com>
|
||||
Date: Wed, 29 Nov 2023 12:49:35 +0530
|
||||
Subject: [PATCH 2/3] cmake: Fix overloaded-virtual error
|
||||
|
||||
* Remove -Werror for:
|
||||
|git/src/plugins/intel_gpu/src/kernel_selector/jitter.h:129:28: error: 'virtual kernel_selector::JitDefinitions kernel_selector::JitConstant::GetDefinitions() const' was hidden [-Werror=overloaded-virtual=]
|
||||
| 129 | virtual JitDefinitions GetDefinitions() const = 0;
|
||||
| |
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
|
||||
---
|
||||
src/plugins/intel_gpu/CMakeLists.txt | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/plugins/intel_gpu/CMakeLists.txt b/src/plugins/intel_gpu/CMakeLists.txt
|
||||
index 2f3d9127dde..2fd4f5c1b3c 100644
|
||||
--- a/src/plugins/intel_gpu/CMakeLists.txt
|
||||
+++ b/src/plugins/intel_gpu/CMakeLists.txt
|
||||
@@ -47,7 +47,7 @@ add_subdirectory(thirdparty)
|
||||
include(thirdparty/cmake/rapidjson.cmake)
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
- ov_add_compiler_flags(-Werror)
|
||||
+ #ov_add_compiler_flags(-Werror)
|
||||
endif()
|
||||
|
||||
add_subdirectory(src/runtime)
|
||||
--
|
||||
2.34.1
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
From 450d94b475460d1af32b207d0ced495794863f0d Mon Sep 17 00:00:00 2001
|
||||
From: Anuj Mittal <anuj.mittal@intel.com>
|
||||
Date: Wed, 29 Nov 2023 12:55:19 +0530
|
||||
Subject: [PATCH 3/3] protobuf: allow target protoc to be built
|
||||
|
||||
We can run target binaries using a qemu wrapper so allow these to be
|
||||
built and run.
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
|
||||
---
|
||||
cmake/developer_package/frontends/frontends.cmake | 2 +-
|
||||
thirdparty/protobuf/CMakeLists.txt | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/cmake/developer_package/frontends/frontends.cmake b/cmake/developer_package/frontends/frontends.cmake
|
||||
index f3b5520d6d2..7579f638c5a 100644
|
||||
--- a/cmake/developer_package/frontends/frontends.cmake
|
||||
+++ b/cmake/developer_package/frontends/frontends.cmake
|
||||
@@ -163,7 +163,7 @@ macro(ov_add_frontend)
|
||||
set(OUTPUT_PB_HEADER ${CMAKE_CURRENT_BINARY_DIR}/${relative_path}/${FILE_WE}.pb.h)
|
||||
add_custom_command(
|
||||
OUTPUT "${OUTPUT_PB_SRC}" "${OUTPUT_PB_HEADER}"
|
||||
- COMMAND ${PROTOC_EXECUTABLE} ARGS --cpp_out ${CMAKE_CURRENT_BINARY_DIR} -I ${protofiles_root_dir} ${proto_file}
|
||||
+ COMMAND protoc ARGS --cpp_out ${CMAKE_CURRENT_BINARY_DIR} -I ${protofiles_root_dir} ${proto_file}
|
||||
DEPENDS ${PROTOC_DEPENDENCY} ${proto_file}
|
||||
COMMENT "Running C++ protocol buffer compiler (${PROTOC_EXECUTABLE}) on ${proto_file_relative}"
|
||||
VERBATIM
|
||||
diff --git a/thirdparty/protobuf/CMakeLists.txt b/thirdparty/protobuf/CMakeLists.txt
|
||||
index 15f32601f23..36853caf7dc 100644
|
||||
--- a/thirdparty/protobuf/CMakeLists.txt
|
||||
+++ b/thirdparty/protobuf/CMakeLists.txt
|
||||
@@ -31,7 +31,7 @@ unset(HAVE_ZLIB CACHE)
|
||||
if(CMAKE_CROSSCOMPILING OR
|
||||
(APPLE AND (HOST_X86_64 AND AARCH64)) OR
|
||||
(MSVC AND (HOST_X86_64 AND (AARCH64 OR ARM))))
|
||||
- set(protobuf_BUILD_PROTOC_BINARIES OFF CACHE BOOL "Build protoc binaries" FORCE)
|
||||
+ set(protobuf_BUILD_PROTOC_BINARIES ON CACHE BOOL "Build protoc binaries" FORCE)
|
||||
else()
|
||||
set(protobuf_BUILD_PROTOC_BINARIES ON CACHE BOOL "Build protoc binaries" FORCE)
|
||||
endif()
|
||||
--
|
||||
2.34.1
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
From 804b08023b3f8e72b8e3eb09e464d6775c11d966 Mon Sep 17 00:00:00 2001
|
||||
From: Naveen Saini <naveen.kumar.saini@intel.com>
|
||||
Date: Fri, 21 Oct 2022 11:38:23 +0800
|
||||
Subject: [PATCH] demos: use gflags from meta-oe
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
|
||||
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
||||
|
||||
---
|
||||
demos/CMakeLists.txt | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/demos/CMakeLists.txt b/demos/CMakeLists.txt
|
||||
index 51767051c..fb7e3d22f 100644
|
||||
--- a/demos/CMakeLists.txt
|
||||
+++ b/demos/CMakeLists.txt
|
||||
@@ -141,7 +141,7 @@ endmacro()
|
||||
find_package(OpenCV REQUIRED COMPONENTS core highgui videoio imgproc imgcodecs)
|
||||
find_package(OpenVINO REQUIRED COMPONENTS Runtime)
|
||||
|
||||
-add_subdirectory(thirdparty/gflags)
|
||||
+#add_subdirectory(thirdparty/gflags)
|
||||
add_subdirectory(common/cpp)
|
||||
|
||||
find_package(OpenCV QUIET COMPONENTS gapi)
|
|
@ -1,54 +0,0 @@
|
|||
SUMMARY = "OpenVINO(TM) Toolkit - Open Model Zoo repository"
|
||||
HOMEPAGE = "https://github.com/opencv/open_model_zoo"
|
||||
DESCRIPTION = "This repository includes optimized deep learning \
|
||||
models and a set of demos to expedite development of high-performance \
|
||||
deep learning inference applications."
|
||||
|
||||
SRC_URI = "git://github.com/opencv/open_model_zoo.git;protocol=https;branch=master \
|
||||
file://0001-use-oe-gflags.patch \
|
||||
"
|
||||
|
||||
SRCREV = "cf5141dad2a4f24e1c5d5b9d43219ed804c48bbf"
|
||||
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327 \
|
||||
"
|
||||
|
||||
inherit cmake
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
OECMAKE_SOURCEPATH = "${S}/demos"
|
||||
|
||||
DEPENDS += "openvino-inference-engine opencv gflags"
|
||||
|
||||
RDEPENDS:${PN} += " \
|
||||
python3-decorator \
|
||||
python3-defusedxml \
|
||||
python3-networkx \
|
||||
python3-protobuf \
|
||||
python3-requests \
|
||||
python3-pyyaml \
|
||||
python3-numpy \
|
||||
bash \
|
||||
"
|
||||
|
||||
COMPATIBLE_HOST = '(x86_64).*-linux'
|
||||
COMPATIBLE_HOST:libc-musl = "null"
|
||||
|
||||
EXTRA_OECMAKE += " \
|
||||
-DENABLE_SAMPLES=ON \
|
||||
"
|
||||
|
||||
do_install(){
|
||||
install -d ${D}${libdir}
|
||||
install -d ${D}${bindir}
|
||||
install -d ${D}${datadir}/openvino/open-model-zoo/tools
|
||||
install -d ${D}${datadir}/openvino/open-model-zoo/demos
|
||||
cp -rf ${B}/intel64/Release/*.a ${D}${libdir}
|
||||
cp -rf ${B}/intel64/Release/*_demo* ${D}${bindir}
|
||||
cp -rf ${S}/models ${D}${datadir}/openvino/open-model-zoo
|
||||
cp -rf ${S}/demos ${D}${datadir}/openvino/open-model-zoo
|
||||
cp -rf ${S}/tools/model_tools ${D}${datadir}/openvino/open-model-zoo/tools
|
||||
}
|
||||
|
||||
FILES:${PN} += "${datadir}/openvino"
|
|
@ -1,146 +0,0 @@
|
|||
SUMMARY = "OpenVINO(TM) Toolkit - Deep Learning Deployment Toolkit"
|
||||
HOMEPAGE = "https://github.com/opencv/dldt"
|
||||
DESCRIPTION = "This toolkit allows developers to deploy pre-trained \
|
||||
deep learning models through a high-level C++ Inference Engine API \
|
||||
integrated with application logic."
|
||||
|
||||
SRC_URI = "git://github.com/openvinotoolkit/openvino.git;protocol=https;name=openvino;branch=releases/2024/1;lfs=0 \
|
||||
git://github.com/openvinotoolkit/oneDNN.git;protocol=https;destsuffix=git/src/plugins/intel_cpu/thirdparty/onednn;name=mkl;nobranch=1 \
|
||||
git://github.com/oneapi-src/oneDNN.git;protocol=https;destsuffix=git/src/plugins/intel_gpu/thirdparty/onednn_gpu;name=onednn;nobranch=1 \
|
||||
git://github.com/herumi/xbyak.git;protocol=https;destsuffix=git/thirdparty/xbyak;name=xbyak;branch=master \
|
||||
git://github.com/nlohmann/json.git;protocol=https;destsuffix=git/thirdparty/json/nlohmann_json;name=json;branch=develop \
|
||||
git://github.com/opencv/ade.git;protocol=https;destsuffix=git/thirdparty/ade;name=ade;nobranch=1 \
|
||||
git://github.com/protocolbuffers/protobuf.git;protocol=https;destsuffix=git/thirdparty/protobuf/protobuf;name=protobuf;branch=3.20.x \
|
||||
git://github.com/gflags/gflags.git;protocol=https;destsuffix=git/thirdparty/gflags/gflags;name=gflags;nobranch=1 \
|
||||
git://github.com/madler/zlib.git;protocol=https;destsuffix=git/thirdparty/zlib/zlib;name=zlib;nobranch=1 \
|
||||
git://github.com/openvinotoolkit/mlas.git;protocol=https;destsuffix=git/src/plugins/intel_cpu/thirdparty/mlas;name=mlas;nobranch=1 \
|
||||
git://github.com/nodejs/node-api-headers.git;protocol=https;destsuffix=git/node-api-headers-src;name=node-api-headers;nobranch=1 \
|
||||
git://github.com/nodejs/node-addon-api.git;protocol=https;destsuffix=git/node-addon-api-src;name=node-addon-api;nobranch=1 \
|
||||
git://github.com/openvinotoolkit/telemetry.git;protocol=https;destsuffix=git/thirdparty/telemetry;name=telemetry;nobranch=1;lfs=0 \
|
||||
file://0001-cmake-yocto-specific-tweaks-to-the-build-process.patch \
|
||||
file://0002-cmake-Fix-overloaded-virtual-error.patch \
|
||||
file://0003-protobuf-allow-target-protoc-to-be-built.patch \
|
||||
"
|
||||
|
||||
SRCREV_openvino = "f4afc983258bcb2592d999ed6700043fdb58ad78"
|
||||
SRCREV_mkl = "26633ae49edd4353a29b7170d9fcef6b2d79f4b3"
|
||||
SRCREV_onednn = "4e6ff043c439652fcf6c400ac4e0c81bbac7c71c"
|
||||
SRCREV_xbyak = "740dff2e866f3ae1a70dd42d6e8836847ed95cc2"
|
||||
SRCREV_json = "9cca280a4d0ccf0c08f47a99aa71d1b0e52f8d03"
|
||||
SRCREV_ade = "0e8a2ccdd34f29dba55894f5f3c5179809888b9e"
|
||||
SRCREV_protobuf = "fe271ab76f2ad2b2b28c10443865d2af21e27e0e"
|
||||
SRCREV_gflags = "e171aa2d15ed9eb17054558e0b3a6a413bb01067"
|
||||
SRCREV_zlib = "09155eaa2f9270dc4ed1fa13e2b4b2613e6e4851"
|
||||
SRCREV_mlas = "d1bc25ec4660cddd87804fcf03b2411b5dfb2e94"
|
||||
SRCREV_node-api-headers = "186e04b5e40e54d7fd1655bc67081cc483f12488"
|
||||
SRCREV_node-addon-api = "39a25bf27788ff7a7ea5c64978c4dcd1e7b9d80d"
|
||||
SRCREV_telemetry = "58e16c257a512ec7f451c9fccf9ff455065b285b"
|
||||
SRCREV_FORMAT = "openvino_mkl_onednn_xbyak_json_ade_protobuf_gflags_zlib_node-api-headers_node-addon-api_mlas_telemetry"
|
||||
|
||||
LICENSE = "Apache-2.0 & MIT & BSD-3-Clause & Zlib"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327 \
|
||||
file://thirdparty/xbyak/COPYRIGHT;md5=3c98edfaa50a86eeaef4c6109e803f16 \
|
||||
file://thirdparty/cnpy/LICENSE;md5=689f10b06d1ca2d4b1057e67b16cd580 \
|
||||
file://thirdparty/json/nlohmann_json/LICENSE.MIT;md5=f969127d7b7ed0a8a63c2bbeae002588 \
|
||||
file://thirdparty/ade/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
|
||||
file://thirdparty/gflags/gflags/COPYING.txt;md5=c80d1a3b623f72bb85a4c75b556551df \
|
||||
file://thirdparty/zlib/zlib/LICENSE;md5=b51a40671bc46e961c0498897742c0b8 \
|
||||
file://src/plugins/intel_cpu/thirdparty/mlas/LICENSE;md5=86d3f3a95c324c9479bd8986968f4327 \
|
||||
file://src/plugins/intel_cpu/thirdparty/onednn/LICENSE;md5=3b64000f6e7d52516017622a37a94ce9 \
|
||||
file://src/plugins/intel_gpu/thirdparty/onednn_gpu/LICENSE;md5=3b64000f6e7d52516017622a37a94ce9 \
|
||||
file://node-api-headers-src/LICENSE;md5=6adb2909701d4605b4b2ae1a9b25d8bd \
|
||||
file://node-addon-api-src/LICENSE.md;md5=0492ef29a9d558a3e9660e7accc9ca6a \
|
||||
file://thirdparty/telemetry/LICENSE;md5=86d3f3a95c324c9479bd8986968f4327 \
|
||||
"
|
||||
|
||||
inherit cmake python3native pkgconfig qemu
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
EXTRA_OECMAKE += " \
|
||||
-DCMAKE_CROSSCOMPILING_EMULATOR=${WORKDIR}/qemuwrapper \
|
||||
-DENABLE_OPENCV=OFF \
|
||||
-DENABLE_INTEL_GNA=OFF \
|
||||
-DENABLE_SYSTEM_TBB=ON \
|
||||
-DPYTHON_EXECUTABLE=${PYTHON} \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
-DTHREADING=TBB -DTBB_DIR="${STAGING_LIBDIR}/cmake/TBB" \
|
||||
-DTREAT_WARNING_AS_ERROR=FALSE \
|
||||
-DENABLE_DATA=FALSE \
|
||||
-DENABLE_SYSTEM_PUGIXML=TRUE \
|
||||
-DENABLE_OV_ONNX_FRONTEND=FALSE \
|
||||
-DUSE_BUILD_TYPE_SUBFOLDER=OFF \
|
||||
-DENABLE_FUZZING=OFF \
|
||||
-DENABLE_TBBBIND_2_5=OFF \
|
||||
-DCPACK_GENERATOR=RPM \
|
||||
-DENABLE_SYSTEM_FLATBUFFERS=ON \
|
||||
-DENABLE_SYSTEM_SNAPPY=ON \
|
||||
-DFETCHCONTENT_BASE_DIR="${S}" \
|
||||
-DENABLE_INTEL_NPU=OFF \
|
||||
"
|
||||
|
||||
DEPENDS += "\
|
||||
flatbuffers-native \
|
||||
pugixml \
|
||||
python3-pybind11 \
|
||||
python3-pybind11-native \
|
||||
qemu-native \
|
||||
snappy \
|
||||
tbb \
|
||||
"
|
||||
|
||||
COMPATIBLE_HOST = '(x86_64).*-linux'
|
||||
COMPATIBLE_HOST:libc-musl = "null"
|
||||
|
||||
PACKAGECONFIG ?= "opencl samples"
|
||||
PACKAGECONFIG[opencl] = "-DENABLE_INTEL_GPU=TRUE, -DENABLE_INTEL_GPU=FALSE, virtual/opencl-icd opencl-headers opencl-clhpp,"
|
||||
PACKAGECONFIG[python3] = "-DENABLE_PYTHON=ON -DPYTHON_LIBRARY=${PYTHON_LIBRARY} -DPYTHON_INCLUDE_DIR=${PYTHON_INCLUDE_DIR} -DENABLE_PYTHON_PACKAGING=ON, -DENABLE_PYTHON=OFF, patchelf-native, python3 python3-numpy python3-progress"
|
||||
PACKAGECONFIG[samples] = "-DENABLE_SAMPLES=ON -DENABLE_COMPILE_TOOL=ON, -DENABLE_SAMPLES=OFF -DENABLE_COMPILE_TOOL=OFF, opencv"
|
||||
PACKAGECONFIG[verbose] = "-DVERBOSE_BUILD=1,-DVERBOSE_BUILD=0"
|
||||
|
||||
do_configure:prepend() {
|
||||
# Dont set PROJECT_ROOT_DIR
|
||||
sed -i -e 's:\${OpenVINO_SOURCE_DIR}::;' ${S}/src/CMakeLists.txt
|
||||
|
||||
# qemu wrapper that can be used by cmake to run target binaries.
|
||||
qemu_binary="${@qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${STAGING_DIR_HOST}${libdir}'),d.expand('${STAGING_DIR_HOST}${base_libdir}')])}"
|
||||
cat > ${WORKDIR}/qemuwrapper << EOF
|
||||
#!/bin/sh
|
||||
$qemu_binary "\$@"
|
||||
EOF
|
||||
chmod +x ${WORKDIR}/qemuwrapper
|
||||
}
|
||||
|
||||
do_install:append() {
|
||||
rm -rf ${D}${prefix}/install_dependencies
|
||||
rm -rf ${D}${prefix}/setupvars.sh
|
||||
|
||||
find ${B}/src/plugins/intel_cpu/cross-compiled/ -type f -name *_disp.cpp -exec sed -i -e 's%'"${S}"'%'"${TARGET_DBGSRC_DIR}"'%g' {} +
|
||||
}
|
||||
|
||||
# Otherwise e.g. ros-openvino-toolkit-dynamic-vino-sample when using dldt-inference-engine uses dldt-inference-engine WORKDIR
|
||||
# instead of RSS
|
||||
SSTATE_SCAN_FILES:append = " *.cmake"
|
||||
|
||||
FILES:${PN} += "\
|
||||
${libdir}/openvino-${PV}/lib*${SOLIBSDEV} \
|
||||
${libdir}/openvino-${PV}/plugins.xml \
|
||||
${libdir}/openvino-${PV}/cache.json \
|
||||
"
|
||||
|
||||
# Move inference engine samples into a separate package
|
||||
PACKAGES =+ "${PN}-samples"
|
||||
|
||||
FILES:${PN}-samples = "${datadir}/openvino \
|
||||
${bindir} \
|
||||
${libdir}/libformat_reader.a \
|
||||
${libdir}/libopencv_c_wrapper.a \
|
||||
"
|
||||
|
||||
RDEPENDS:${PN}-samples += "python3-core"
|
||||
|
||||
# Package for inference engine python API
|
||||
PACKAGES =+ "${PN}-python3"
|
||||
|
||||
FILES:${PN}-python3 = "${PYTHON_SITEPACKAGES_DIR}"
|
||||
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+\.\d+\.\d+))$"
|
|
@ -1,109 +0,0 @@
|
|||
from oeqa.runtime.case import OERuntimeTestCase
|
||||
from oeqa.runtime.decorator.package import OEHasPackage
|
||||
from oeqa.core.decorator.depends import OETestDepends
|
||||
from oeqa.runtime.miutils.targets.oeqatarget import OEQATarget
|
||||
from oeqa.runtime.miutils.tests.squeezenet_model_download_test import SqueezenetModelDownloadTest
|
||||
from oeqa.runtime.miutils.tests.dldt_model_optimizer_test import DldtModelOptimizerTest
|
||||
from oeqa.runtime.miutils.tests.dldt_inference_engine_test import DldtInferenceEngineTest
|
||||
from oeqa.runtime.miutils.dldtutils import get_testdata_config
|
||||
|
||||
class DldtInferenceEngine(OERuntimeTestCase):
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
cls.sqn_download = SqueezenetModelDownloadTest(OEQATarget(cls.tc.target), '/tmp/ie/md')
|
||||
cls.sqn_download.setup()
|
||||
cls.dldt_mo = DldtModelOptimizerTest(OEQATarget(cls.tc.target), '/tmp/ie/ir')
|
||||
cls.dldt_mo.setup()
|
||||
cls.dldt_ie = DldtInferenceEngineTest(OEQATarget(cls.tc.target), '/tmp/ie/inputs')
|
||||
cls.dldt_ie.setup()
|
||||
cls.ir_files_dir = cls.dldt_mo.work_dir
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
cls.dldt_ie.tear_down()
|
||||
cls.dldt_mo.tear_down()
|
||||
cls.sqn_download.tear_down()
|
||||
|
||||
@OEHasPackage(['dldt-model-optimizer'])
|
||||
@OEHasPackage(['wget'])
|
||||
def test_dldt_ie_can_create_ir_and_download_input(self):
|
||||
proxy_port = get_testdata_config(self.tc.td, 'DLDT_PIP_PROXY')
|
||||
if not proxy_port:
|
||||
self.skipTest('Need to configure bitbake configuration (DLDT_PIP_PROXY="proxy.server:port").')
|
||||
(status, output) = self.sqn_download.test_can_download_squeezenet_model(proxy_port)
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
(status, output) = self.sqn_download.test_can_download_squeezenet_prototxt(proxy_port)
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
mo_exe_dir = get_testdata_config(self.tc.td, 'DLDT_MO_EXE_DIR')
|
||||
if not mo_exe_dir:
|
||||
self.skipTest('Need to configure bitbake configuration (DLDT_MO_EXE_DIR="directory_to_mo.py").')
|
||||
mo_files_dir = self.sqn_download.work_dir
|
||||
(status, output) = self.dldt_mo.test_dldt_mo_can_create_ir(mo_exe_dir, mo_files_dir)
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
(status, output) = self.dldt_ie.test_can_download_input_file(proxy_port)
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
@OETestDepends(['dldt_inference_engine.DldtInferenceEngine.test_dldt_ie_can_create_ir_and_download_input'])
|
||||
@OEHasPackage(['dldt-inference-engine'])
|
||||
@OEHasPackage(['dldt-inference-engine-samples'])
|
||||
def test_dldt_ie_classification_with_cpu(self):
|
||||
(status, output) = self.dldt_ie.test_dldt_ie_classification_with_device('CPU', self.ir_files_dir)
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
@OETestDepends(['dldt_inference_engine.DldtInferenceEngine.test_dldt_ie_can_create_ir_and_download_input'])
|
||||
@OEHasPackage(['dldt-inference-engine'])
|
||||
@OEHasPackage(['dldt-inference-engine-samples'])
|
||||
@OEHasPackage(['intel-compute-runtime'])
|
||||
@OEHasPackage(['ocl-icd'])
|
||||
def test_dldt_ie_classification_with_gpu(self):
|
||||
(status, output) = self.dldt_ie.test_dldt_ie_classification_with_device('GPU', self.ir_files_dir)
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
@OETestDepends(['dldt_inference_engine.DldtInferenceEngine.test_dldt_ie_can_create_ir_and_download_input'])
|
||||
@OEHasPackage(['dldt-inference-engine'])
|
||||
@OEHasPackage(['dldt-inference-engine-samples'])
|
||||
@OEHasPackage(['dldt-inference-engine-vpu-firmware'])
|
||||
def test_dldt_ie_classification_with_myriad(self):
|
||||
device = 'MYRIAD'
|
||||
(status, output) = self.dldt_ie.test_check_if_openvino_device_available(device)
|
||||
if not status:
|
||||
self.skipTest('OpenVINO %s device not available on target machine(availalbe devices: %s)' % (device, output))
|
||||
(status, output) = self.dldt_ie.test_dldt_ie_classification_with_device(device, self.ir_files_dir)
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
@OETestDepends(['dldt_inference_engine.DldtInferenceEngine.test_dldt_ie_can_create_ir_and_download_input'])
|
||||
@OEHasPackage(['dldt-inference-engine'])
|
||||
@OEHasPackage(['dldt-inference-engine-python3'])
|
||||
@OEHasPackage(['python3-opencv'])
|
||||
@OEHasPackage(['python3-numpy'])
|
||||
def test_dldt_ie_classification_python_api_with_cpu(self):
|
||||
(status, output) = self.dldt_ie.test_dldt_ie_classification_python_api_with_device('CPU', self.ir_files_dir)
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
@OETestDepends(['dldt_inference_engine.DldtInferenceEngine.test_dldt_ie_can_create_ir_and_download_input'])
|
||||
@OEHasPackage(['dldt-inference-engine'])
|
||||
@OEHasPackage(['dldt-inference-engine-python3'])
|
||||
@OEHasPackage(['intel-compute-runtime'])
|
||||
@OEHasPackage(['ocl-icd'])
|
||||
@OEHasPackage(['python3-opencv'])
|
||||
@OEHasPackage(['python3-numpy'])
|
||||
def test_dldt_ie_classification_python_api_with_gpu(self):
|
||||
(status, output) = self.dldt_ie.test_dldt_ie_classification_python_api_with_device('GPU', self.ir_files_dir)
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
@OETestDepends(['dldt_inference_engine.DldtInferenceEngine.test_dldt_ie_can_create_ir_and_download_input'])
|
||||
@OEHasPackage(['dldt-inference-engine'])
|
||||
@OEHasPackage(['dldt-inference-engine-python3'])
|
||||
@OEHasPackage(['dldt-inference-engine-vpu-firmware'])
|
||||
@OEHasPackage(['python3-opencv'])
|
||||
@OEHasPackage(['python3-numpy'])
|
||||
def test_dldt_ie_classification_python_api_with_myriad(self):
|
||||
device = 'MYRIAD'
|
||||
(status, output) = self.dldt_ie.test_check_if_openvino_device_available(device)
|
||||
if not status:
|
||||
self.skipTest('OpenVINO %s device not available on target machine(availalbe devices: %s)' % (device, output))
|
||||
(status, output) = self.dldt_ie.test_dldt_ie_classification_python_api_with_device(device, self.ir_files_dir)
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
|
@ -1,38 +0,0 @@
|
|||
from oeqa.runtime.case import OERuntimeTestCase
|
||||
from oeqa.runtime.decorator.package import OEHasPackage
|
||||
from oeqa.runtime.miutils.targets.oeqatarget import OEQATarget
|
||||
from oeqa.runtime.miutils.tests.squeezenet_model_download_test import SqueezenetModelDownloadTest
|
||||
from oeqa.runtime.miutils.tests.dldt_model_optimizer_test import DldtModelOptimizerTest
|
||||
from oeqa.runtime.miutils.dldtutils import get_testdata_config
|
||||
|
||||
class DldtModelOptimizer(OERuntimeTestCase):
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
cls.sqn_download = SqueezenetModelDownloadTest(OEQATarget(cls.tc.target), '/tmp/mo/md')
|
||||
cls.sqn_download.setup()
|
||||
cls.dldt_mo = DldtModelOptimizerTest(OEQATarget(cls.tc.target), '/tmp/mo/ir')
|
||||
cls.dldt_mo.setup()
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
cls.dldt_mo.tear_down()
|
||||
cls.sqn_download.tear_down()
|
||||
|
||||
@OEHasPackage(['dldt-model-optimizer'])
|
||||
@OEHasPackage(['wget'])
|
||||
def test_dldt_mo_can_create_ir(self):
|
||||
proxy_port = get_testdata_config(self.tc.td, 'DLDT_PIP_PROXY')
|
||||
if not proxy_port:
|
||||
self.skipTest('Need to configure bitbake configuration (DLDT_PIP_PROXY="proxy.server:port").')
|
||||
(status, output) = self.sqn_download.test_can_download_squeezenet_model(proxy_port)
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
(status, output) = self.sqn_download.test_can_download_squeezenet_prototxt(proxy_port)
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
mo_exe_dir = get_testdata_config(self.tc.td, 'DLDT_MO_EXE_DIR')
|
||||
if not mo_exe_dir:
|
||||
self.skipTest('Need to configure bitbake configuration (DLDT_MO_EXE_DIR="directory_to_mo.py").')
|
||||
mo_files_dir = self.sqn_download.work_dir
|
||||
(status, output) = self.dldt_mo.test_dldt_mo_can_create_ir(mo_exe_dir, mo_files_dir)
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
|
@ -1,135 +0,0 @@
|
|||
#!/usr/bin/env python3
|
||||
"""
|
||||
Copyright (C) 2018-2019 Intel Corporation
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
"""
|
||||
from __future__ import print_function
|
||||
import sys
|
||||
import os
|
||||
from argparse import ArgumentParser, SUPPRESS
|
||||
import cv2
|
||||
import numpy as np
|
||||
import logging as log
|
||||
from time import time
|
||||
from openvino.inference_engine import IENetwork, IECore
|
||||
|
||||
|
||||
def build_argparser():
|
||||
parser = ArgumentParser(add_help=False)
|
||||
args = parser.add_argument_group('Options')
|
||||
args.add_argument('-h', '--help', action='help', default=SUPPRESS, help='Show this help message and exit.')
|
||||
args.add_argument("-m", "--model", help="Required. Path to an .xml file with a trained model.", required=True,
|
||||
type=str)
|
||||
args.add_argument("-i", "--input", help="Required. Path to a folder with images or path to an image files",
|
||||
required=True,
|
||||
type=str, nargs="+")
|
||||
args.add_argument("-l", "--cpu_extension",
|
||||
help="Optional. Required for CPU custom layers. "
|
||||
"MKLDNN (CPU)-targeted custom layers. Absolute path to a shared library with the"
|
||||
" kernels implementations.", type=str, default=None)
|
||||
args.add_argument("-d", "--device",
|
||||
help="Optional. Specify the target device to infer on; CPU, GPU, FPGA, HDDL, MYRIAD or HETERO: is "
|
||||
"acceptable. The sample will look for a suitable plugin for device specified. Default "
|
||||
"value is CPU",
|
||||
default="CPU", type=str)
|
||||
args.add_argument("--labels", help="Optional. Path to a labels mapping file", default=None, type=str)
|
||||
args.add_argument("-nt", "--number_top", help="Optional. Number of top results", default=10, type=int)
|
||||
|
||||
return parser
|
||||
|
||||
|
||||
def main():
|
||||
log.basicConfig(format="[ %(levelname)s ] %(message)s", level=log.INFO, stream=sys.stdout)
|
||||
args = build_argparser().parse_args()
|
||||
model_xml = args.model
|
||||
model_bin = os.path.splitext(model_xml)[0] + ".bin"
|
||||
|
||||
# Plugin initialization for specified device and load extensions library if specified
|
||||
log.info("Creating Inference Engine")
|
||||
ie = IECore()
|
||||
if args.cpu_extension and 'CPU' in args.device:
|
||||
ie.add_extension(args.cpu_extension, "CPU")
|
||||
# Read IR
|
||||
log.info("Loading network files:\n\t{}\n\t{}".format(model_xml, model_bin))
|
||||
net = IENetwork(model=model_xml, weights=model_bin)
|
||||
|
||||
if "CPU" in args.device:
|
||||
supported_layers = ie.query_network(net, "CPU")
|
||||
not_supported_layers = [l for l in net.layers.keys() if l not in supported_layers]
|
||||
if len(not_supported_layers) != 0:
|
||||
log.error("Following layers are not supported by the plugin for specified device {}:\n {}".
|
||||
format(args.device, ', '.join(not_supported_layers)))
|
||||
log.error("Please try to specify cpu extensions library path in sample's command line parameters using -l "
|
||||
"or --cpu_extension command line argument")
|
||||
sys.exit(1)
|
||||
|
||||
assert len(net.inputs.keys()) == 1, "Sample supports only single input topologies"
|
||||
assert len(net.outputs) == 1, "Sample supports only single output topologies"
|
||||
|
||||
log.info("Preparing input blobs")
|
||||
input_blob = next(iter(net.inputs))
|
||||
out_blob = next(iter(net.outputs))
|
||||
net.batch_size = len(args.input)
|
||||
|
||||
# Read and pre-process input images
|
||||
n, c, h, w = net.inputs[input_blob].shape
|
||||
images = np.ndarray(shape=(n, c, h, w))
|
||||
for i in range(n):
|
||||
image = cv2.imread(args.input[i])
|
||||
if image.shape[:-1] != (h, w):
|
||||
log.warning("Image {} is resized from {} to {}".format(args.input[i], image.shape[:-1], (h, w)))
|
||||
image = cv2.resize(image, (w, h))
|
||||
image = image.transpose((2, 0, 1)) # Change data layout from HWC to CHW
|
||||
images[i] = image
|
||||
log.info("Batch size is {}".format(n))
|
||||
|
||||
# Loading model to the plugin
|
||||
log.info("Loading model to the plugin")
|
||||
exec_net = ie.load_network(network=net, device_name=args.device)
|
||||
|
||||
# Start sync inference
|
||||
log.info("Starting inference in synchronous mode")
|
||||
res = exec_net.infer(inputs={input_blob: images})
|
||||
|
||||
# Processing output blob
|
||||
log.info("Processing output blob")
|
||||
res = res[out_blob]
|
||||
log.info("Top {} results: ".format(args.number_top))
|
||||
if args.labels:
|
||||
with open(args.labels, 'r') as f:
|
||||
labels_map = [x.split(sep=' ', maxsplit=1)[-1].strip() for x in f]
|
||||
else:
|
||||
labels_map = None
|
||||
classid_str = "classid"
|
||||
probability_str = "probability"
|
||||
for i, probs in enumerate(res):
|
||||
probs = np.squeeze(probs)
|
||||
top_ind = np.argsort(probs)[-args.number_top:][::-1]
|
||||
print("Image {}\n".format(args.input[i]))
|
||||
print(classid_str, probability_str)
|
||||
print("{} {}".format('-' * len(classid_str), '-' * len(probability_str)))
|
||||
for id in top_ind:
|
||||
det_label = labels_map[id] if labels_map else "{}".format(id)
|
||||
label_length = len(det_label)
|
||||
space_num_before = (len(classid_str) - label_length) // 2
|
||||
space_num_after = len(classid_str) - (space_num_before + label_length) + 2
|
||||
space_num_before_prob = (len(probability_str) - len(str(probs[id]))) // 2
|
||||
print("{}{}{}{}{:.7f}".format(' ' * space_num_before, det_label,
|
||||
' ' * space_num_after, ' ' * space_num_before_prob,
|
||||
probs[id]))
|
||||
print("\n")
|
||||
log.info("This sample is an API example, for any performance measurements please use the dedicated benchmark_app tool\n")
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.exit(main() or 0)
|
|
@ -1,3 +0,0 @@
|
|||
|
||||
def get_testdata_config(testdata, config):
|
||||
return testdata.get(config)
|
|
@ -1,56 +0,0 @@
|
|||
import os
|
||||
script_path = os.path.dirname(os.path.realpath(__file__))
|
||||
files_path = os.path.join(script_path, '../../files/')
|
||||
|
||||
class DldtInferenceEngineTest(object):
|
||||
ie_input_files = {'ie_python_sample': 'classification_sample.py',
|
||||
'input': 'chicky_512.png',
|
||||
'input_download': 'https://raw.githubusercontent.com/opencv/opencv/master/samples/data/chicky_512.png',
|
||||
'model': 'squeezenet_v1.1.xml'}
|
||||
|
||||
def __init__(self, target, work_dir):
|
||||
self.target = target
|
||||
self.work_dir = work_dir
|
||||
|
||||
def setup(self):
|
||||
self.target.run('mkdir -p %s' % self.work_dir)
|
||||
self.target.copy_to(os.path.join(files_path, 'dldt-inference-engine', self.ie_input_files['ie_python_sample']),
|
||||
self.work_dir)
|
||||
python_cmd = 'from openvino.inference_engine import IENetwork, IECore; ie = IECore(); print(ie.available_devices)'
|
||||
__, output = self.target.run('python3 -c "%s"' % python_cmd)
|
||||
self.available_devices = output
|
||||
|
||||
def tear_down(self):
|
||||
self.target.run('rm -rf %s' % self.work_dir)
|
||||
|
||||
def test_check_if_openvino_device_available(self, device):
|
||||
if device not in self.available_devices:
|
||||
return False, self.available_devices
|
||||
return True, self.available_devices
|
||||
|
||||
def test_can_download_input_file(self, proxy_port):
|
||||
return self.target.run('cd %s; wget %s -e https_proxy=%s' %
|
||||
(self.work_dir,
|
||||
self.ie_input_files['input_download'],
|
||||
proxy_port))
|
||||
|
||||
def test_dldt_ie_classification_with_device(self, device, ir_files_dir):
|
||||
return self.target.run('classification_sample_async -d %s -i %s -m %s' %
|
||||
(device,
|
||||
os.path.join(self.work_dir, self.ie_input_files['input']),
|
||||
os.path.join(ir_files_dir, self.ie_input_files['model'])))
|
||||
|
||||
def test_dldt_ie_classification_python_api_with_device(self, device, ir_files_dir, extension=''):
|
||||
if extension:
|
||||
return self.target.run('python3 %s -d %s -i %s -m %s -l %s' %
|
||||
(os.path.join(self.work_dir, self.ie_input_files['ie_python_sample']),
|
||||
device,
|
||||
os.path.join(self.work_dir, self.ie_input_files['input']),
|
||||
os.path.join(ir_files_dir, self.ie_input_files['model']),
|
||||
extension))
|
||||
else:
|
||||
return self.target.run('python3 %s -d %s -i %s -m %s' %
|
||||
(os.path.join(self.work_dir, self.ie_input_files['ie_python_sample']),
|
||||
device,
|
||||
os.path.join(self.work_dir, self.ie_input_files['input']),
|
||||
os.path.join(ir_files_dir, self.ie_input_files['model'])))
|
|
@ -1,23 +0,0 @@
|
|||
import os
|
||||
|
||||
class DldtModelOptimizerTest(object):
|
||||
mo_input_files = {'model': 'squeezenet_v1.1.caffemodel',
|
||||
'prototxt': 'deploy.prototxt'}
|
||||
mo_exe = 'mo.py'
|
||||
|
||||
def __init__(self, target, work_dir):
|
||||
self.target = target
|
||||
self.work_dir = work_dir
|
||||
|
||||
def setup(self):
|
||||
self.target.run('mkdir -p %s' % self.work_dir)
|
||||
|
||||
def tear_down(self):
|
||||
self.target.run('rm -rf %s' % self.work_dir)
|
||||
|
||||
def test_dldt_mo_can_create_ir(self, mo_exe_dir, mo_files_dir):
|
||||
return self.target.run('python3 %s --input_model %s --input_proto %s --output_dir %s --data_type FP16' %
|
||||
(os.path.join(mo_exe_dir, self.mo_exe),
|
||||
os.path.join(mo_files_dir, self.mo_input_files['model']),
|
||||
os.path.join(mo_files_dir, self.mo_input_files['prototxt']),
|
||||
self.work_dir))
|
|
@ -1,25 +0,0 @@
|
|||
class SqueezenetModelDownloadTest(object):
|
||||
download_files = {'squeezenet1.1.prototxt': 'https://raw.githubusercontent.com/DeepScale/SqueezeNet/a47b6f13d30985279789d08053d37013d67d131b/SqueezeNet_v1.1/deploy.prototxt',
|
||||
'squeezenet1.1.caffemodel': 'https://github.com/DeepScale/SqueezeNet/raw/a47b6f13d30985279789d08053d37013d67d131b/SqueezeNet_v1.1/squeezenet_v1.1.caffemodel'}
|
||||
|
||||
def __init__(self, target, work_dir):
|
||||
self.target = target
|
||||
self.work_dir = work_dir
|
||||
|
||||
def setup(self):
|
||||
self.target.run('mkdir -p %s' % self.work_dir)
|
||||
|
||||
def tear_down(self):
|
||||
self.target.run('rm -rf %s' % self.work_dir)
|
||||
|
||||
def test_can_download_squeezenet_model(self, proxy_port):
|
||||
return self.target.run('cd %s; wget %s -e https_proxy=%s' %
|
||||
(self.work_dir,
|
||||
self.download_files['squeezenet1.1.caffemodel'],
|
||||
proxy_port))
|
||||
|
||||
def test_can_download_squeezenet_prototxt(self, proxy_port):
|
||||
return self.target.run('cd %s; wget %s -e https_proxy=%s' %
|
||||
(self.work_dir,
|
||||
self.download_files['squeezenet1.1.prototxt'],
|
||||
proxy_port))
|
|
@ -1,176 +0,0 @@
|
|||
#!/usr/bin/env python
|
||||
# ex:ts=4:sw=4:sts=4:et
|
||||
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
|
||||
#
|
||||
# Copyright (c) 2017, Intel Corporation.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License version 2 as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along
|
||||
# with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# AUTHORS
|
||||
# Mikko Ylinen <mikko.ylinen@linux.intel.com>
|
||||
#
|
||||
# Based on meta/lib/oeqa/selftest/* and meta-refkit/lib/oeqa/selftest/*
|
||||
|
||||
"""Test cases for secure boot with QEMU running OVMF."""
|
||||
|
||||
import os
|
||||
import unittest
|
||||
import re
|
||||
import glob
|
||||
from shutil import rmtree, copy
|
||||
|
||||
from oeqa.core.decorator.depends import OETestDepends
|
||||
from oeqa.selftest.case import OESelftestTestCase
|
||||
from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars, runqemu
|
||||
|
||||
class SecureBootTests(OESelftestTestCase):
|
||||
"""Secure Boot test class."""
|
||||
|
||||
ovmf_keys_enrolled = False
|
||||
ovmf_qemuparams = ''
|
||||
ovmf_dir = ''
|
||||
test_image_unsigned = 'secureboot-selftest-image-unsigned'
|
||||
test_image_signed = 'secureboot-selftest-image-signed'
|
||||
correct_key = 'refkit-db'
|
||||
incorrect_key = 'incorrect'
|
||||
|
||||
@classmethod
|
||||
def setUpLocal(self):
|
||||
|
||||
if not SecureBootTests.ovmf_keys_enrolled:
|
||||
bitbake('ovmf ovmf-shell-image-enrollkeys', output_log=self.logger)
|
||||
|
||||
bb_vars = get_bb_vars(['TMPDIR', 'DEPLOY_DIR_IMAGE'])
|
||||
|
||||
SecureBootTests.ovmf_dir = os.path.join(bb_vars['TMPDIR'], 'oeselftest', 'secureboot', 'ovmf')
|
||||
bb.utils.mkdirhier(SecureBootTests.ovmf_dir)
|
||||
|
||||
# Copy (all) OVMF in a temporary location
|
||||
for src in glob.glob('%s/ovmf.*' % bb_vars['DEPLOY_DIR_IMAGE']):
|
||||
copy(src, SecureBootTests.ovmf_dir)
|
||||
|
||||
SecureBootTests.ovmf_qemuparams = '-drive if=pflash,format=qcow2,file=%s/ovmf.secboot.qcow2' % SecureBootTests.ovmf_dir
|
||||
|
||||
cmd = ("runqemu "
|
||||
"qemuparams='%s' "
|
||||
"ovmf-shell-image-enrollkeys wic intel-corei7-64 "
|
||||
"nographic slirp") % SecureBootTests.ovmf_qemuparams
|
||||
print('Running "%s"' % cmd)
|
||||
status = runCmd(cmd)
|
||||
|
||||
if not re.search('info: success', status.output, re.M):
|
||||
self.fail('Failed to enroll keys. EFI shell log:\n%s' % status.output)
|
||||
else:
|
||||
# keys enrolled in ovmf.secboot.vars
|
||||
SecureBootTests.ovmf_keys_enrolled = True
|
||||
|
||||
@classmethod
|
||||
def tearDownLocal(self):
|
||||
# Seems this is mandatory between the tests (a signed image is booted
|
||||
# when running test_boot_unsigned_image after test_boot_signed_image).
|
||||
# bitbake('-c clean %s' % test_image, output_log=self.logger)
|
||||
#
|
||||
# Whatever the problem was, it no longer seems to be necessary, so
|
||||
# we can skip the time-consuming clean + full rebuild (5:04 min instead
|
||||
# of 6:55min here).
|
||||
pass
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(self):
|
||||
bitbake('ovmf-shell-image-enrollkeys:do_cleanall', output_log=self.logger)
|
||||
rmtree(self.ovmf_dir, ignore_errors=True)
|
||||
|
||||
def secureboot_with_image(self, boot_timeout=300, signing_key=None):
|
||||
"""Boot the image with UEFI SecureBoot enabled and see the result. """
|
||||
|
||||
config = ""
|
||||
|
||||
if signing_key:
|
||||
test_image = self.test_image_signed
|
||||
config += 'SECURE_BOOT_SIGNING_KEY = "${THISDIR}/files/%s.key"\n' % signing_key
|
||||
config += 'SECURE_BOOT_SIGNING_CERT = "${THISDIR}/files/%s.crt"\n' % signing_key
|
||||
else:
|
||||
test_image = self.test_image_unsigned
|
||||
|
||||
self.write_config(config)
|
||||
bitbake(test_image, output_log=self.logger)
|
||||
self.remove_config(config)
|
||||
|
||||
# Some of the cases depend on the timeout to expire. Allow overrides
|
||||
# so that we don't have to wait 1000s which is the default.
|
||||
overrides = {
|
||||
'TEST_QEMUBOOT_TIMEOUT': boot_timeout,
|
||||
}
|
||||
|
||||
print('Booting %s' % test_image)
|
||||
|
||||
try:
|
||||
with runqemu(test_image, ssh=False,
|
||||
runqemuparams='nographic slirp',
|
||||
qemuparams=self.ovmf_qemuparams,
|
||||
overrides=overrides,
|
||||
image_fstype='wic') as qemu:
|
||||
|
||||
cmd = 'uname -a'
|
||||
|
||||
status, output = qemu.run_serial(cmd)
|
||||
|
||||
self.assertTrue(status, 'Could not run \'uname -a\' (status=%s):\n%s' % (status, output))
|
||||
|
||||
# if we got this far without a correctly signed image, something went wrong
|
||||
if signing_key != self.correct_key:
|
||||
self.fail('The image not give a Security violation when expected. Boot log:\n%s' % output)
|
||||
|
||||
|
||||
except Exception:
|
||||
|
||||
# Currently runqemu() fails if 'login:' prompt is not seen and it's
|
||||
# not possible to login as 'root'. Those conditions aren't met when
|
||||
# booting to EFI shell (See [YOCTO #11438]). We catch the failure
|
||||
# and parse the boot log to determine the success. Note: the
|
||||
# timeout triggers verbose bb.error() but that's normal with some
|
||||
# of the test cases.
|
||||
|
||||
workdir = get_bb_var('WORKDIR', test_image)
|
||||
bootlog = "%s/testimage/qemu_boot_log" % workdir
|
||||
|
||||
with open(bootlog, "r") as log:
|
||||
|
||||
# This isn't right but all we can do at this point. The right
|
||||
# approach would run commands in the EFI shell to determine
|
||||
# the BIOS rejects unsigned and/or images signed with keys in
|
||||
# dbx key store but that needs changes in oeqa framework.
|
||||
|
||||
output = log.read()
|
||||
|
||||
# PASS if we see a security violation on unsigned or incorrectly signed images, otherwise fail
|
||||
if signing_key == self.correct_key:
|
||||
self.fail('Correctly signed image failed to boot. Boot log:\n%s' % output)
|
||||
elif not re.search('Security Violation', output):
|
||||
self.fail('The image not give a Security violation when expected. Boot log:\n%s' % output)
|
||||
|
||||
def test_boot_unsigned_image(self):
|
||||
""" Boot unsigned image with secureboot enabled in UEFI."""
|
||||
self.secureboot_with_image(boot_timeout=120, signing_key=None)
|
||||
|
||||
@OETestDepends(['secureboot.SecureBootTests.test_boot_unsigned_image'])
|
||||
def test_boot_incorrectly_signed_image(self):
|
||||
""" Boot (correctly) signed image with secureboot enabled in UEFI."""
|
||||
self.secureboot_with_image(boot_timeout=120, signing_key=self.incorrect_key)
|
||||
|
||||
@OETestDepends(['secureboot.SecureBootTests.test_boot_incorrectly_signed_image'])
|
||||
def test_boot_correctly_signed_image(self):
|
||||
""" Boot (correctly) signed image with secureboot enabled in UEFI."""
|
||||
self.secureboot_with_image(boot_timeout=150, signing_key=self.correct_key)
|
|
@ -7,9 +7,7 @@ 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 = "b26b31b0ae6980c5939a421cefe0316cae884626"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
SRCREV = "17629d0b726875836af6c7d9cb38b8ed23f32089"
|
||||
|
||||
COMPATIBLE_HOST = '(x86_64).*-linux'
|
||||
COMPATIBLE_HOST:libc-musl = "null"
|
|
@ -14,5 +14,3 @@ SRC_URI = "git://github.com/intel/metee.git;branch=master;protocol=https \
|
|||
"
|
||||
SRCREV = "db45e37e146fd9c06907a15ade55eba06ad1f951"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
|
|
|
@ -6,7 +6,6 @@ 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 \
|
||||
|
|
|
@ -16,10 +16,9 @@ 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 = "41af34500598418150aa298bb04e7edacc547897"
|
||||
SRCREV = "eeb93b7a818bb27cb6b7a2be0454f8a0a75f1bd6"
|
||||
|
||||
DEPENDS = "iucode-tool-native"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
|
@ -1,129 +0,0 @@
|
|||
From b2099e7184d48a6d05c8713b6fd5dac0e2e70963 Mon Sep 17 00:00:00 2001
|
||||
From: Mikko Ylinen <mikko.ylinen@linux.intel.com>
|
||||
Date: Wed, 2 Mar 2022 10:55:35 +0800
|
||||
Subject: [PATCH] ovmf: RefkitTestCA: TEST UEFI SecureBoot
|
||||
|
||||
This patch adds refkit-db.cer (via xxd -i) in OVMF's db
|
||||
signature database when used with EnrollDefaultKeys EFI
|
||||
application. It's used for testing purposes only.
|
||||
|
||||
Images signed with refkit-db keys are allowed to boot.
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
Signed-off-by: Mikko Ylinen <mikko.ylinen@linux.intel.com>
|
||||
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
||||
---
|
||||
OvmfPkg/EnrollDefaultKeys/AuthData.c | 69 +++++++++++++++++++
|
||||
OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c | 3 +
|
||||
OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.h | 2 +
|
||||
3 files changed, 74 insertions(+)
|
||||
|
||||
diff --git a/OvmfPkg/EnrollDefaultKeys/AuthData.c b/OvmfPkg/EnrollDefaultKeys/AuthData.c
|
||||
index 53ee7f7003..127131cd05 100644
|
||||
--- a/OvmfPkg/EnrollDefaultKeys/AuthData.c
|
||||
+++ b/OvmfPkg/EnrollDefaultKeys/AuthData.c
|
||||
@@ -395,6 +395,75 @@ CONST UINT8 mMicrosoftUefiCa[] = {
|
||||
|
||||
CONST UINTN mSizeOfMicrosoftUefiCa = sizeof mMicrosoftUefiCa;
|
||||
|
||||
+CONST UINT8 mRefkitTestCA[] = {
|
||||
+ 0x30, 0x82, 0x02, 0xfb, 0x30, 0x82, 0x01, 0xe3, 0xa0, 0x03, 0x02, 0x01,
|
||||
+ 0x02, 0x02, 0x09, 0x00, 0xd4, 0xf6, 0x48, 0xc2, 0x68, 0x19, 0x91, 0xac,
|
||||
+ 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
|
||||
+ 0x0b, 0x05, 0x00, 0x30, 0x14, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55,
|
||||
+ 0x04, 0x03, 0x0c, 0x09, 0x72, 0x65, 0x66, 0x6b, 0x69, 0x74, 0x2d, 0x64,
|
||||
+ 0x62, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x37, 0x30, 0x34, 0x32, 0x30, 0x31,
|
||||
+ 0x32, 0x30, 0x36, 0x33, 0x32, 0x5a, 0x17, 0x0d, 0x31, 0x38, 0x30, 0x34,
|
||||
+ 0x32, 0x30, 0x31, 0x32, 0x30, 0x36, 0x33, 0x32, 0x5a, 0x30, 0x14, 0x31,
|
||||
+ 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x09, 0x72, 0x65,
|
||||
+ 0x66, 0x6b, 0x69, 0x74, 0x2d, 0x64, 0x62, 0x30, 0x82, 0x01, 0x22, 0x30,
|
||||
+ 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01,
|
||||
+ 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02,
|
||||
+ 0x82, 0x01, 0x01, 0x00, 0xb4, 0x1c, 0x22, 0xa6, 0x22, 0x01, 0x57, 0xcd,
|
||||
+ 0xf1, 0x4f, 0xaf, 0x72, 0xe3, 0xd9, 0x01, 0x80, 0x50, 0x55, 0xef, 0x02,
|
||||
+ 0x5e, 0xeb, 0x99, 0x35, 0xcb, 0x7f, 0x2a, 0x79, 0xff, 0xb5, 0x3e, 0xec,
|
||||
+ 0x5d, 0x92, 0x06, 0x30, 0x20, 0xe7, 0x95, 0xad, 0xa4, 0x84, 0x2e, 0x3f,
|
||||
+ 0xfa, 0xd7, 0x46, 0xdd, 0x49, 0xa8, 0xe8, 0xe3, 0x79, 0x49, 0xf6, 0x8f,
|
||||
+ 0x0b, 0x1d, 0xfe, 0x63, 0xa8, 0xd1, 0x63, 0xa3, 0xd6, 0x0d, 0x4e, 0x6c,
|
||||
+ 0x66, 0x5c, 0xd6, 0x66, 0x26, 0xd1, 0x26, 0x98, 0xd4, 0x4f, 0x76, 0xc9,
|
||||
+ 0x65, 0x48, 0x58, 0x13, 0x08, 0x31, 0xbc, 0xe5, 0x47, 0x25, 0x65, 0x95,
|
||||
+ 0x39, 0x89, 0x5f, 0x02, 0xf1, 0xc5, 0x06, 0x17, 0x58, 0xca, 0x09, 0xfd,
|
||||
+ 0xf6, 0x1e, 0xc5, 0x97, 0xda, 0xa3, 0x4e, 0x1a, 0x48, 0xbe, 0xcf, 0x96,
|
||||
+ 0x27, 0x04, 0x4b, 0xb7, 0x6d, 0x67, 0xb6, 0x50, 0x18, 0x04, 0x73, 0x51,
|
||||
+ 0xd2, 0x6a, 0x2d, 0xdf, 0x3b, 0xab, 0xf2, 0x2d, 0x95, 0xd7, 0xa8, 0xb8,
|
||||
+ 0xa8, 0x30, 0xa1, 0xab, 0x8b, 0x92, 0x2b, 0x60, 0x3e, 0x3a, 0xe5, 0x86,
|
||||
+ 0x40, 0x71, 0xc1, 0x3f, 0x2d, 0x2e, 0x90, 0xe7, 0xd6, 0xec, 0xcc, 0xc2,
|
||||
+ 0x0b, 0x79, 0x83, 0x71, 0x6d, 0xf6, 0xa3, 0xa9, 0x4c, 0xcd, 0x46, 0x81,
|
||||
+ 0xdc, 0xef, 0xec, 0x51, 0xbe, 0x81, 0x2a, 0xf1, 0x78, 0x73, 0x41, 0xdb,
|
||||
+ 0x54, 0xce, 0x7c, 0xce, 0xa2, 0xe3, 0x90, 0x4f, 0x45, 0x1a, 0xf9, 0x3d,
|
||||
+ 0x88, 0xfc, 0x0e, 0xed, 0xd3, 0x69, 0x22, 0x4c, 0xfa, 0x0a, 0x69, 0xd1,
|
||||
+ 0x48, 0xc0, 0xaa, 0xa9, 0x3a, 0xb3, 0x8f, 0x10, 0x3a, 0x76, 0xa8, 0x0c,
|
||||
+ 0x7a, 0x3d, 0xd8, 0x79, 0xce, 0x1c, 0x96, 0x62, 0xf4, 0x06, 0xee, 0x47,
|
||||
+ 0xe8, 0xe0, 0x69, 0x91, 0xae, 0xea, 0x34, 0xcf, 0xda, 0xa8, 0xb4, 0x39,
|
||||
+ 0x5e, 0xf3, 0x7a, 0xd0, 0x88, 0x48, 0x47, 0x69, 0x02, 0x03, 0x01, 0x00,
|
||||
+ 0x01, 0xa3, 0x50, 0x30, 0x4e, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e,
|
||||
+ 0x04, 0x16, 0x04, 0x14, 0x68, 0x60, 0x11, 0x25, 0x85, 0x14, 0x78, 0x1b,
|
||||
+ 0x1a, 0x9f, 0x46, 0x12, 0xe6, 0x21, 0xe4, 0xef, 0xfb, 0x3b, 0xaa, 0xdd,
|
||||
+ 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80,
|
||||
+ 0x14, 0x68, 0x60, 0x11, 0x25, 0x85, 0x14, 0x78, 0x1b, 0x1a, 0x9f, 0x46,
|
||||
+ 0x12, 0xe6, 0x21, 0xe4, 0xef, 0xfb, 0x3b, 0xaa, 0xdd, 0x30, 0x0c, 0x06,
|
||||
+ 0x03, 0x55, 0x1d, 0x13, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30,
|
||||
+ 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b,
|
||||
+ 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x8f, 0xd2, 0x84, 0x7c, 0x43,
|
||||
+ 0x47, 0xca, 0x6b, 0xfd, 0x87, 0x83, 0xd0, 0xef, 0x75, 0xd3, 0x20, 0x52,
|
||||
+ 0x73, 0x18, 0xaa, 0x32, 0x71, 0xfb, 0xa5, 0xf4, 0xc9, 0x11, 0xa3, 0x68,
|
||||
+ 0x4d, 0xb7, 0x9d, 0xe6, 0xd9, 0x46, 0x24, 0xdc, 0xc7, 0xc2, 0x3b, 0xf9,
|
||||
+ 0xb0, 0x98, 0xfc, 0xee, 0x34, 0x6e, 0x10, 0x9b, 0x3d, 0x44, 0x6e, 0x33,
|
||||
+ 0x09, 0x11, 0xb8, 0x29, 0xd6, 0x2d, 0x06, 0xcf, 0x67, 0x8f, 0x96, 0x85,
|
||||
+ 0x9d, 0x63, 0x72, 0xbf, 0x64, 0x5f, 0x0d, 0xe3, 0xc9, 0x63, 0x19, 0x71,
|
||||
+ 0xd4, 0x7d, 0x4c, 0x9c, 0x77, 0x46, 0xda, 0x20, 0x97, 0x6d, 0xbc, 0xdd,
|
||||
+ 0xc2, 0x1f, 0xf3, 0x40, 0x38, 0x1e, 0xe7, 0xcc, 0x55, 0x05, 0x72, 0xba,
|
||||
+ 0x24, 0x4f, 0xb3, 0x8a, 0x93, 0x0c, 0x30, 0x60, 0xda, 0x9f, 0x6f, 0x35,
|
||||
+ 0xf6, 0xfb, 0xb0, 0x1f, 0xb3, 0x00, 0xdd, 0xc4, 0xa6, 0xbc, 0xe2, 0x37,
|
||||
+ 0xc1, 0xa3, 0xef, 0xd9, 0xa1, 0x86, 0xf9, 0xeb, 0xa4, 0xa5, 0x45, 0x38,
|
||||
+ 0xff, 0x4e, 0x87, 0x4a, 0x41, 0xcf, 0x6e, 0x69, 0x7e, 0x97, 0xbe, 0x2d,
|
||||
+ 0x22, 0xbc, 0x8d, 0xa0, 0x1a, 0x21, 0x8f, 0x4b, 0x72, 0x90, 0x01, 0x5c,
|
||||
+ 0xba, 0xa5, 0x9c, 0x2d, 0xd7, 0x25, 0x24, 0xfc, 0xff, 0x5c, 0x58, 0x14,
|
||||
+ 0x46, 0x30, 0x09, 0x7c, 0x55, 0x64, 0x83, 0x0b, 0xb9, 0xdf, 0xcf, 0x25,
|
||||
+ 0xee, 0xec, 0xf7, 0xcb, 0xdb, 0xd1, 0x5b, 0x93, 0x93, 0xc8, 0x8a, 0x10,
|
||||
+ 0x46, 0xb8, 0xb0, 0x35, 0x1c, 0x6c, 0x0d, 0x8f, 0x03, 0x6a, 0x8f, 0x1b,
|
||||
+ 0x36, 0x68, 0xf3, 0x53, 0x89, 0x36, 0x5b, 0x21, 0x80, 0xde, 0xe3, 0x92,
|
||||
+ 0x52, 0x94, 0x97, 0x9d, 0x49, 0x89, 0x7d, 0x3e, 0xde, 0x29, 0x51, 0xba,
|
||||
+ 0x11, 0xf7, 0xba, 0x01, 0xf7, 0xab, 0xea, 0xc1, 0xa7, 0x2e, 0xa3, 0x4d,
|
||||
+ 0x65, 0xfd, 0x40, 0x71, 0xf1, 0xe2, 0x3f, 0x6c, 0x28, 0xcb, 0xd3
|
||||
+};
|
||||
+
|
||||
+CONST UINTN mSizeOfRefkitTestCA = sizeof mRefkitTestCA;
|
||||
+
|
||||
//
|
||||
// The Microsoft.UefiSecureBootLogo.Tests.OutOfBoxConfirmDBXisPresent test case
|
||||
// of the Secure Boot Logo Test in the Microsoft Hardware Certification Kit
|
||||
diff --git a/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c
|
||||
index 094e4c821b..0a7eef54dc 100644
|
||||
--- a/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c
|
||||
+++ b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c
|
||||
@@ -702,6 +702,9 @@ ShellAppMain (
|
||||
mMicrosoftUefiCa,
|
||||
mSizeOfMicrosoftUefiCa,
|
||||
&gMicrosoftVendorGuid,
|
||||
+ mRefkitTestCA,
|
||||
+ mSizeOfRefkitTestCA,
|
||||
+ &gEfiCallerIdGuid,
|
||||
NULL
|
||||
);
|
||||
}
|
||||
diff --git a/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.h b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.h
|
||||
index 56da9c71d6..8de1dfe4e0 100644
|
||||
--- a/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.h
|
||||
+++ b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.h
|
||||
@@ -133,4 +133,6 @@ extern CONST UINTN mSizeOfMicrosoftUefiCa;
|
||||
extern CONST UINT8 mSha256OfDevNull[];
|
||||
extern CONST UINTN mSizeOfSha256OfDevNull;
|
||||
|
||||
+extern CONST UINT8 mRefkitTestCA[];
|
||||
+extern CONST UINTN mSizeOfRefkitTestCA;
|
||||
#endif /* ENROLL_DEFAULT_KEYS_H_ */
|
||||
--
|
||||
2.17.1
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
require recipes-core/ovmf/ovmf-shell-image.bb
|
||||
|
||||
WKS_SEARCH_PATH:append = ":${COREBASE}/meta/recipes-core/ovmf"
|
||||
|
||||
QB_DRIVE_TYPE = "/dev/vd"
|
||||
|
||||
do_image:append() {
|
||||
cat > ${IMAGE_ROOTFS}/startup.nsh << EOF
|
||||
EnrollDefaultKeys
|
||||
reset
|
||||
EOF
|
||||
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
FILESEXTRAPATHS:prepend:intel-x86-common := "${THISDIR}/files:"
|
||||
|
||||
SRC_URI:append:intel-x86-common = " \
|
||||
file://0001-ovmf-RefkitTestCA-TEST-UEFI-SecureBoot.patch \
|
||||
"
|
||||
PACKAGECONFIG:append:intel-x86-common = " secureboot"
|
|
@ -5,11 +5,10 @@ Operating Systems or Hypervisors."
|
|||
HOMEPAGE = "https://slimbootloader.github.io/tools/index.html"
|
||||
|
||||
SRC_URI = "git://github.com/slimbootloader/slimbootloader;protocol=https;branch=master"
|
||||
SRCREV = "df5bd0bc2a522afcb8945a6797592b04838db753"
|
||||
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"
|
||||
|
|
|
@ -1,37 +0,0 @@
|
|||
From 8729d66800995a9b7e693bd78249932bd12383e1 Mon Sep 17 00:00:00 2001
|
||||
From: John Machado <john.machado@intel.com>
|
||||
Date: Mon, 25 Mar 2024 11:13:27 +0530
|
||||
Subject: [PATCH] Add new DG2 device IDs (#194)
|
||||
|
||||
Upstream-Status: Backport [https://github.com/intel/gmmlib/commit/dcc4b85ea3728c848b62fbb164c00f43b519b6fb]
|
||||
|
||||
Signed-off-by: Hoe, Sheng Yang <sheng.yang.hoe@intel.com>
|
||||
---
|
||||
Source/inc/common/igfxfmid.h | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/Source/inc/common/igfxfmid.h b/Source/inc/common/igfxfmid.h
|
||||
index 7969779..8e2c955 100644
|
||||
--- a/Source/inc/common/igfxfmid.h
|
||||
+++ b/Source/inc/common/igfxfmid.h
|
||||
@@ -1932,6 +1932,8 @@ typedef enum __NATIVEGTTYPE
|
||||
#define DEV_ID_56BB 0x56BB
|
||||
#define DEV_ID_56BC 0x56BC
|
||||
#define DEV_ID_56BD 0x56BD
|
||||
+#define DEV_ID_56BE 0x56BE
|
||||
+#define DEV_ID_56BF 0x56BF
|
||||
#define DEV_ID_56C0 0x56C0
|
||||
#define DEV_ID_56C1 0x56C1
|
||||
|
||||
@@ -1992,6 +1994,8 @@ typedef enum __NATIVEGTTYPE
|
||||
( d == DEV_ID_5690 ) || \
|
||||
( d == DEV_ID_5691 ) || \
|
||||
( d == DEV_ID_5692 ) || \
|
||||
+ ( d == DEV_ID_56BE ) || \
|
||||
+ ( d == DEV_ID_56BF ) || \
|
||||
( d == DEV_ID_56C0 ) || \
|
||||
( d == DEV_ID_4F80 ) || \
|
||||
( d == DEV_ID_4F81 ) || \
|
||||
--
|
||||
2.34.1
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
From 2b267b72d6aaa922861b120da9c1543161797046 Mon Sep 17 00:00:00 2001
|
||||
From: John Machado <john.machado@intel.com>
|
||||
Date: Fri, 9 Feb 2024 13:10:18 +0530
|
||||
Subject: [PATCH] Introduce ARL-H support (#172)
|
||||
|
||||
Upstream-Status: Backport [https://github.com/intel/gmmlib/commit/544a8be6f66631e085c86c453aafd78b0e7f5179]
|
||||
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
|
||||
---
|
||||
Source/inc/common/igfxfmid.h | 10 ++++++++++
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/Source/inc/common/igfxfmid.h b/Source/inc/common/igfxfmid.h
|
||||
index 99fc624..19aa505 100644
|
||||
--- a/Source/inc/common/igfxfmid.h
|
||||
+++ b/Source/inc/common/igfxfmid.h
|
||||
@@ -1966,6 +1966,11 @@ typedef enum __NATIVEGTTYPE
|
||||
// ARL-S
|
||||
#define DEV_ID_7D67 0x7D67
|
||||
|
||||
+// ARL-H
|
||||
+#define DEV_ID_7D41 0x7D41
|
||||
+#define DEV_ID_7D51 0x7D51
|
||||
+#define DEV_ID_7DD1 0x7DD1
|
||||
+
|
||||
#define MGM_HAS 0
|
||||
|
||||
//#define SDG_HAS 1 //Reserve place for Springdale-G HAS
|
||||
@@ -2012,6 +2017,11 @@ typedef enum __NATIVEGTTYPE
|
||||
// Macro to identify ARL-S Device ID
|
||||
#define GFX_IS_ARL_S(d) ( ( d == DEV_ID_7D67 ) )
|
||||
|
||||
+// Macro to identify ARL-H Device ID
|
||||
+#define GFX_IS_ARL_H(d) ( ( d == DEV_ID_7D41 ) || \
|
||||
+ ( d == DEV_ID_7D51 ) || \
|
||||
+ ( d == DEV_ID_7DD1 ))
|
||||
+
|
||||
//we define the highest cap and lower cap of stepping IDs
|
||||
#define SI_REV_ID(lo,hi) (lo | hi<<16)
|
||||
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -8,13 +8,9 @@ LIC_FILES_CHKSUM = "file://LICENSE.md;md5=465fe90caea3edd6a2cecb3f0c28a654"
|
|||
|
||||
SRC_URI = " \
|
||||
git://github.com/intel/gmmlib.git;protocol=https;branch=master \
|
||||
file://0001-Introduce-ARL-H-support-172.patch \
|
||||
file://0001-Add-new-DG2-device-IDs-194.patch \
|
||||
"
|
||||
|
||||
SRCREV = "5fb4180e22695ad4e3c155cf680119913c9f44bc"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
SRCREV = "aa4e5d6c8f1d798b78ffd7ea85296fdd3a3946b2"
|
||||
|
||||
COMPATIBLE_HOST:x86-x32 = "null"
|
||||
|
||||
|
@ -22,6 +18,9 @@ UPSTREAM_CHECK_GITTAGREGEX = "^intel-gmmlib-(?P<pver>(\d+(\.\d+)+))$"
|
|||
|
||||
inherit pkgconfig cmake
|
||||
|
||||
EXTRA_OECMAKE += "-DRUN_TEST_SUITE=OFF"
|
||||
EXTRA_OECMAKE += " \
|
||||
-DRUN_TEST_SUITE=OFF \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
"
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
|
@ -13,7 +13,6 @@ 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"
|
||||
|
||||
|
|
|
@ -14,9 +14,8 @@ SECTION = "x11"
|
|||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=b148fc8adf19dc9aec17cf9cd29a9a5e"
|
||||
|
||||
SRC_URI = "git://github.com/intel/libva-utils.git;branch=v2.20-branch;protocol=https"
|
||||
SRCREV = "2ad888bb463dc9bfb3deb512ec9faf78f1d3bfa8"
|
||||
S = "${WORKDIR}/git"
|
||||
SRC_URI = "git://github.com/intel/libva-utils.git;branch=v2.22-branch;protocol=https"
|
||||
SRCREV = "1a13ae13382b7b548f3a7e8035e1d7df66662c0a"
|
||||
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))"
|
||||
|
|
@ -17,11 +17,10 @@ SECTION = "x11"
|
|||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f"
|
||||
|
||||
SRC_URI = "https://github.com/intel/libva/releases/download/${PV}/libva-${PV}.tar.bz2 \
|
||||
SRC_URI = "git://github.com/intel/libva.git;protocol=https;branch=v2.22-branch \
|
||||
"
|
||||
SRC_URI[sha256sum] = "f72bdb4f48dfe71ad01f1cbefe069672a2c949a6abd51cf3c4d4784210badc49"
|
||||
|
||||
S = "${WORKDIR}/libva-${PV}"
|
||||
SRCREV = "217da1c28336d6a7e9c0c4cb8f1c303968a675f1"
|
||||
|
||||
UPSTREAM_CHECK_URI = "https://github.com/intel/libva/releases"
|
||||
|
|
@ -2,13 +2,12 @@ SUMMARY = "Intel Metrics Discovery Application Programming Interface"
|
|||
DESCRIPTION = "This software is a user mode library that provides access to \
|
||||
GPU performance data."
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=8c5c9ac8ffd04a5614befdf63fba6ba8"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=195912d57508b573e068231099eba64c"
|
||||
SECTION = "lib"
|
||||
|
||||
inherit pkgconfig cmake
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
SRCREV = "24c4dfd45df1600ca83dfb03217675edc4633ffd"
|
||||
SRCREV = "65ffef89cf79d704f618768bcd3d95f4dd6d875b"
|
||||
SRC_URI = "git://github.com/intel/metrics-discovery.git;branch=master;protocol=https \
|
||||
"
|
||||
|
|
@ -1,25 +1,25 @@
|
|||
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://${WORKDIR}/${BP}/COPYING;md5=a216b4192dc6b777b6f0db560e9a8417"
|
||||
LIC_FILES_CHKSUM = "file://${UNPACKDIR}/${BP}/COPYING;md5=a216b4192dc6b777b6f0db560e9a8417"
|
||||
|
||||
SRC_URI = "https://sourceforge.net/projects/e1000/files/ixgbe%20stable/${PV}/${BP}.tar.gz \
|
||||
"
|
||||
|
||||
SRC_URI[sha256sum] = "a844f1fea8064e30b276792455c3b286c1d7af26731e8f865d4a4e9ed1dcf4ab"
|
||||
SRC_URI[sha256sum] = "da7e7b62ffb85a820d7541623fbef5c4abef8d1df7ac0af3f1acc3b3d76c9822"
|
||||
|
||||
UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/e1000/files/ixgbe%20stable/"
|
||||
UPSTREAM_CHECK_REGEX = "ixgbe%20stable/(?P<pver>\d+(\.\d+)+)/"
|
||||
|
||||
CVE_PRODUCT = "linux:linux_kernel_ixgbe"
|
||||
|
||||
S = "${WORKDIR}/${BP}/src"
|
||||
S = "${UNPACKDIR}/${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"
|
|
@ -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,21 +8,21 @@ 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://${WORKDIR}/${BP}/COPYING;md5=a216b4192dc6b777b6f0db560e9a8417"
|
||||
LIC_FILES_CHKSUM = "file://${UNPACKDIR}/${BP}/COPYING;md5=a216b4192dc6b777b6f0db560e9a8417"
|
||||
|
||||
SRC_URI = "https://sourceforge.net/projects/e1000/files/ixgbevf%20stable/${PV}/${BP}.tar.gz \
|
||||
"
|
||||
|
||||
SRC_URI[sha256sum] = "90f6cd614008839b6fc748ae0f4ad3503435f8b788318d4f40cfc83c7029025e"
|
||||
SRC_URI[sha256sum] = "73c6a27be324a48b069dbda0d1d07212a2214c71f54df57bca7177fc92b04881"
|
||||
|
||||
UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/e1000/files/ixgbevf%20stable/"
|
||||
UPSTREAM_CHECK_REGEX = "ixgbevf%20stable/(?P<pver>\d+(\.\d+)+)/"
|
||||
|
||||
CVE_PRODUCT = "linux:linux_kernel_ixgbe"
|
||||
|
||||
S = "${WORKDIR}/${BP}/src"
|
||||
S = "${UNPACKDIR}/${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"
|
|
@ -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 = "79"
|
||||
SRCREV = "574631d89d736fd2c76b0e2ea489270c50903e52"
|
||||
PV = "96"
|
||||
SRCREV = "d16e74cc1c76ffbfc335153daa86660f199a90da"
|
||||
|
||||
SRC_URI = " \
|
||||
git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/backport-iwlwifi;branch=release/core${PV} \
|
||||
|
@ -26,7 +26,6 @@ SRC_URI = " \
|
|||
file://iwlwifi.conf \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
EXTRA_OEMAKE = "INSTALL_MOD_PATH=${D} KLIB_BUILD=${KBUILD_OUTPUT}"
|
||||
|
||||
|
@ -34,12 +33,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 ${WORKDIR}/iwlwifi.conf ${D}${sysconfdir}/modprobe.d
|
||||
install -m 0644 ${UNPACKDIR}/iwlwifi.conf ${D}${sysconfdir}/modprobe.d
|
||||
}
|
||||
|
||||
RDEPENDS:${PN} = "linux-firmware-iwlwifi"
|
||||
|
|
|
@ -2,6 +2,8 @@ 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.12-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 +14,8 @@ python () {
|
|||
raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-intel-rt to enable it")
|
||||
}
|
||||
|
||||
KBRANCH = "6.6/preempt-rt"
|
||||
KMETA_BRANCH = "yocto-6.6"
|
||||
KBRANCH = "6.12/linux"
|
||||
KMETA_BRANCH = "yocto-6.12"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
|
||||
|
||||
|
@ -21,13 +23,13 @@ DEPENDS += "elfutils-native openssl-native util-linux-native"
|
|||
|
||||
LINUX_VERSION_EXTENSION ??= "-intel-pk-${LINUX_KERNEL_TYPE}"
|
||||
|
||||
LINUX_VERSION ?= "6.6.25"
|
||||
SRCREV_machine ?= "f8939454cf9bb7277239bb44e90c99474c599f37"
|
||||
SRCREV_meta ?= "c3d1322fb6ff68cdcf4d7a3c1140d81bfdc1320a"
|
||||
LINUX_VERSION ?= "6.12.27"
|
||||
SRCREV_machine ?= "9e2f92c31c6353101755c83670232c94e0c07ddc"
|
||||
SRCREV_meta ?= "da71eb19ceab34a7a6ff4284f1580e043c870168"
|
||||
|
||||
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.6.(\d+)-rt(\d)-preempt-rt-(\d+)T(\d+)Z)$"
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "^lts-(?P<pver>v6.12.(\d+)-linux-(\d+)T(\d+)Z)$"
|
|
@ -3,12 +3,10 @@ require recipes-kernel/linux/meta-intel-compat-kernel.inc
|
|||
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/linux-intel:"
|
||||
|
||||
KERNEL_CONFIG_URI ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=${KMETA_BRANCH};destsuffix=${KMETA}"
|
||||
KERNEL_CONFIG_URI ?= "git://git.yoctoproject.org/yocto-kernel-cache;protocol=https;type=kmeta;name=meta;branch=${KMETA_BRANCH};destsuffix=${KMETA}"
|
||||
|
||||
SRC_URI = " \
|
||||
${KERNEL_CONFIG_URI} \
|
||||
file://0001-vt-conmakehash-improve-reproducibility.patch \
|
||||
file://0001-lib-build_OID_registry-fix-reproducibility-issues.patch \
|
||||
file://fix-perf-reproducibility.patch \
|
||||
file://0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-.patch \
|
||||
file://0002-mconf-fix-output-of-cflags-and-libraries.patch \
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 2fca0fd719812ea2ff67630b01355aa80481623e Mon Sep 17 00:00:00 2001
|
||||
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
|
||||
|
@ -23,26 +23,26 @@ Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
|
|||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/build_OID_registry b/lib/build_OID_registry
|
||||
index d7fc32ea8ac2..f6de0a7f7457 100755
|
||||
index 8267e8d71338..755dd33a8b04 100755
|
||||
--- a/lib/build_OID_registry
|
||||
+++ b/lib/build_OID_registry
|
||||
@@ -8,6 +8,7 @@
|
||||
#
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
use strict;
|
||||
use Cwd qw(abs_path);
|
||||
+use File::Basename;
|
||||
|
||||
my @names = ();
|
||||
my @oids = ();
|
||||
@@ -35,7 +36,7 @@ close IN_FILE || die;
|
||||
#
|
||||
open C_FILE, ">$ARGV[1]" or die;
|
||||
@@ -40,7 +41,7 @@ open C_FILE, ">$ARGV[1]" or die;
|
||||
print C_FILE "/*\n";
|
||||
-print C_FILE " * Automatically generated by ", $0, ". Do not edit\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.36.1
|
||||
2.34.1
|
||||
|
|
@ -1,58 +0,0 @@
|
|||
From 0f586f4ee8adacac79b64d1f3d47799a5eb7fbea 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 fe30ce512819..cb51c21b58f9 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.36.1
|
||||
|
25
recipes-kernel/linux/linux-intel_6.12.bb
Normal file
25
recipes-kernel/linux/linux-intel_6.12.bb
Normal file
|
@ -0,0 +1,25 @@
|
|||
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.12-lib-build_OID_registry-fix-reproducibility-issues.patch \
|
||||
"
|
||||
KBRANCH = "6.12/linux"
|
||||
KMETA_BRANCH = "yocto-6.12"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
|
||||
|
||||
DEPENDS += "elfutils-native openssl-native util-linux-native"
|
||||
|
||||
LINUX_VERSION_EXTENSION ??= "-intel-pk-${LINUX_KERNEL_TYPE}"
|
||||
|
||||
LINUX_VERSION ?= "6.12.27"
|
||||
SRCREV_machine ?= "9e2f92c31c6353101755c83670232c94e0c07ddc"
|
||||
SRCREV_meta ?= "da71eb19ceab34a7a6ff4284f1580e043c870168"
|
||||
|
||||
# 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)$"
|
|
@ -1,21 +0,0 @@
|
|||
require linux-intel.inc
|
||||
|
||||
SRC_URI:prepend = "git://github.com/intel/linux-intel-lts.git;protocol=https;name=machine;branch=${KBRANCH}; \
|
||||
"
|
||||
KBRANCH = "6.6/linux"
|
||||
KMETA_BRANCH = "yocto-6.6"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
|
||||
|
||||
DEPENDS += "elfutils-native openssl-native util-linux-native"
|
||||
|
||||
LINUX_VERSION_EXTENSION ??= "-intel-pk-${LINUX_KERNEL_TYPE}"
|
||||
|
||||
LINUX_VERSION ?= "6.6.25"
|
||||
SRCREV_machine ?= "lts-v6.6.25-linux-240415T215440Z"
|
||||
SRCREV_meta ?= "c3d1322fb6ff68cdcf4d7a3c1140d81bfdc1320a"
|
||||
|
||||
# Functionality flags
|
||||
KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/security/security.scc"
|
||||
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "^lts-(?P<pver>v6.6.(\d+)-linux-(\d+)T(\d+)Z)$"
|
|
@ -1,20 +0,0 @@
|
|||
require linux-intel.inc
|
||||
|
||||
SRC_URI:prepend = "git://github.com/intel/mainline-tracking.git;protocol=https;name=machine;nobranch=1; \
|
||||
"
|
||||
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.8"
|
||||
SRCREV_machine ?= "efbae83db36abbbbdb946d4f7bbdfda174107cd2"
|
||||
SRCREV_meta ?= "27907f391a4fc508da21358b13419c6e86926c34"
|
||||
|
||||
# Functionality flags
|
||||
KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/security/security.scc"
|
||||
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "^mainline-tracking-v6.7-rc3-linux-(?P<pver>(\d+)T(\d+)Z)$"
|
|
@ -9,8 +9,7 @@ LIC_FILES_CHKSUM = "file://LICENSES/BSD-3-Clause.txt;md5=c551872bcf41ce707df54c7
|
|||
"
|
||||
|
||||
SRC_URI = "git://github.com/intel/ittapi.git;protocol=https;branch=master"
|
||||
SRCREV = "e20cd6099cb9c5afee0a285781c5cc1d32412f3e"
|
||||
S = "${WORKDIR}/git"
|
||||
SRCREV = "e535d565c88e4407f044719e2e9ec70c0b023d23"
|
||||
PE = "1"
|
||||
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>(\d+(\.\d+)+))$"
|
||||
|
@ -28,12 +27,6 @@ do_install() {
|
|||
cp -r ${S}/include/* ${D}${includedir}/ittnotify
|
||||
cp -r ${S}/src/ittnotify/*.h ${D}${includedir}/ittnotify
|
||||
rm -r ${D}${includedir}/ittnotify/fortran/win32
|
||||
if [ "${TARGET_ARCH}" = "x86_64" ]; then
|
||||
rm -r ${D}${includedir}/ittnotify/fortran/posix/x86
|
||||
else
|
||||
rm -r ${D}${includedir}/ittnotify/fortran/posix/x86_64
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
RDEPENDS:${PN}-dev:remove = "${PN} (= ${EXTENDPKGV})"
|
|
@ -1,35 +0,0 @@
|
|||
From 1b303f417113ad1aa6b63fc024fbe4aa0c943f57 Mon Sep 17 00:00:00 2001
|
||||
From: Lim Siew Hoon <siew.hoon.lim@intel.com>
|
||||
Date: Tue, 5 Sep 2023 16:13:42 +0800
|
||||
Subject: [PATCH 01/12] Disable vp9 padding on mtl.
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/intel/media-driver/pull/1720]
|
||||
|
||||
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
|
||||
---
|
||||
media_softlet/linux/Xe_M_plus/ddi/media_sku_wa_mtl.cpp | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/media_softlet/linux/Xe_M_plus/ddi/media_sku_wa_mtl.cpp b/media_softlet/linux/Xe_M_plus/ddi/media_sku_wa_mtl.cpp
|
||||
index 844545a87..72265289c 100644
|
||||
--- a/media_softlet/linux/Xe_M_plus/ddi/media_sku_wa_mtl.cpp
|
||||
+++ b/media_softlet/linux/Xe_M_plus/ddi/media_sku_wa_mtl.cpp
|
||||
@@ -284,7 +284,7 @@ static bool InitMtlMediaWaExt(struct GfxDeviceInfo *devInfo,
|
||||
|
||||
MEDIA_WR_WA(waTable, WaDisableSetObjectCapture, 1);
|
||||
|
||||
- MEDIA_WR_WA(waTable, Wa_Vp9UnalignedHeight, 1);
|
||||
+ MEDIA_WR_WA(waTable, Wa_Vp9UnalignedHeight, 0);
|
||||
|
||||
MEDIA_WR_WA(waTable, Wa_15013355402, 1);
|
||||
|
||||
@@ -337,4 +337,4 @@ static struct LinuxDeviceInit arlDeviceInit =
|
||||
};
|
||||
|
||||
static bool arlDeviceRegister = DeviceInfoFactory<LinuxDeviceInit>::
|
||||
- RegisterDevice((uint32_t)IGFX_ARROWLAKE, &arlDeviceInit);
|
||||
\ No newline at end of file
|
||||
+ RegisterDevice((uint32_t)IGFX_ARROWLAKE, &arlDeviceInit);
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
From 1580f01ec5ad5afdad58c39dded999494275be10 Mon Sep 17 00:00:00 2001
|
||||
From 6132115dd2f1db55a6a5371618247dfaa334a035 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 02/12] Force ARGB surface to tile4 for ACM
|
||||
Subject: [PATCH 3/7] Force ARGB surface to tile4 for ACM
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/intel/media-driver/pull/1728]
|
||||
|
||||
|
@ -12,10 +12,10 @@ Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
|
|||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/media_driver/linux/common/ddi/media_libva_util.cpp b/media_driver/linux/common/ddi/media_libva_util.cpp
|
||||
index 63c173419..73be76366 100755
|
||||
index a4e12edfa..11634f66e 100755
|
||||
--- a/media_driver/linux/common/ddi/media_libva_util.cpp
|
||||
+++ b/media_driver/linux/common/ddi/media_libva_util.cpp
|
||||
@@ -504,6 +504,7 @@ VAStatus DdiMediaUtil_AllocateSurface(
|
||||
@@ -521,6 +521,7 @@ VAStatus DdiMediaUtil_AllocateSurface(
|
||||
gmmCustomParams.Flags.Gpu.UnifiedAuxSurface = 0;
|
||||
}
|
||||
}
|
||||
|
@ -23,7 +23,7 @@ index 63c173419..73be76366 100755
|
|||
break;
|
||||
case TILING_X:
|
||||
gmmCustomParams.Flags.Info.TiledX = true;
|
||||
@@ -685,6 +686,15 @@ VAStatus DdiMediaUtil_AllocateSurface(
|
||||
@@ -702,6 +703,15 @@ VAStatus DdiMediaUtil_AllocateSurface(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -40,5 +40,5 @@ index 63c173419..73be76366 100755
|
|||
case TILING_X:
|
||||
gmmParams.Flags.Info.TiledX = true;
|
||||
--
|
||||
2.40.1
|
||||
2.43.0
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
From bb860c0bfe53060925b1dce50da4e6e94cfc8cae Mon Sep 17 00:00:00 2001
|
||||
From: huangli2018 <li.h.huang@intel.com>
|
||||
Date: Wed, 20 Dec 2023 15:47:43 +0800
|
||||
Subject: [PATCH 04/13] Add device ID for ARL
|
||||
|
||||
Add device ID for ARL
|
||||
|
||||
Upstream-Status: Backport [https://github.com/intel/media-driver/commit/95cbfce81cafa3c24d9d4601d41a855093bc51fb]
|
||||
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
|
||||
---
|
||||
.../linux/Xe_M_plus/ddi/media_sysinfo_mtl.cpp | 13 +++++++++++--
|
||||
1 file changed, 11 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/media_softlet/linux/Xe_M_plus/ddi/media_sysinfo_mtl.cpp b/media_softlet/linux/Xe_M_plus/ddi/media_sysinfo_mtl.cpp
|
||||
index 426bd795f..7b73dfaff 100644
|
||||
--- a/media_softlet/linux/Xe_M_plus/ddi/media_sysinfo_mtl.cpp
|
||||
+++ b/media_softlet/linux/Xe_M_plus/ddi/media_sysinfo_mtl.cpp
|
||||
@@ -1,6 +1,6 @@
|
||||
/*===================== begin_copyright_notice ==================================
|
||||
|
||||
-Copyright (c) 2022, Intel Corporation
|
||||
+Copyright (c) 2023, Intel Corporation
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
@@ -218,4 +218,13 @@ static struct GfxDeviceInfo arlInfo = {
|
||||
};
|
||||
|
||||
static bool arlsDevice7d67 = DeviceInfoFactory<GfxDeviceInfo>::
|
||||
- RegisterDevice(0x7D67, &arlInfo);
|
||||
\ No newline at end of file
|
||||
+ RegisterDevice(0x7D67, &arlInfo);
|
||||
+
|
||||
+static bool arlhDevice7d51 = DeviceInfoFactory<GfxDeviceInfo>::
|
||||
+ RegisterDevice(0x7D51, &arlInfo);
|
||||
+
|
||||
+static bool arlhDevice7dd1 = DeviceInfoFactory<GfxDeviceInfo>::
|
||||
+ RegisterDevice(0x7DD1, &arlInfo);
|
||||
+
|
||||
+static bool arlhDevice7d41 = DeviceInfoFactory<GfxDeviceInfo>::
|
||||
+ RegisterDevice(0x7D41, &arlInfo);
|
||||
\ No newline at end of file
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -0,0 +1,85 @@
|
|||
From a32b95e58fd3e34847e799b909e08dbe5c9dc692 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
|
||||
|
||||
Fix failed 4k video wall test case from 16CH video only show
|
||||
1CH output and corruption observed on certain number of video
|
||||
composition when doing sample_multi_transcode in legacy path.
|
||||
|
||||
platform: TGL/ADL/RPL
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/intel/media-driver/pull/1839]
|
||||
|
||||
Signed-off-by: xupianch <xu.pian.chan@intel.com>
|
||||
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
|
||||
---
|
||||
.../common/vp/hal/vphal_render_composite.cpp | 9 ++++++++-
|
||||
.../linux/common/vp/ddi/media_libva_vp.c | 18 +++++-------------
|
||||
2 files changed, 13 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/media_driver/agnostic/common/vp/hal/vphal_render_composite.cpp b/media_driver/agnostic/common/vp/hal/vphal_render_composite.cpp
|
||||
index 169030209..cc7c241c1 100644
|
||||
--- a/media_driver/agnostic/common/vp/hal/vphal_render_composite.cpp
|
||||
+++ b/media_driver/agnostic/common/vp/hal/vphal_render_composite.cpp
|
||||
@@ -6784,6 +6784,13 @@ bool CompositeState::BuildFilter(
|
||||
|
||||
for (i = 0; (i < (int)pCompParams->uSourceCount) && (iMaxFilterSize > 0); i++)
|
||||
{
|
||||
+ if (i > 0)
|
||||
+ {
|
||||
+ if (!RECT1_CONTAINS_RECT2(pCompParams->pSource[0]->rcDst, pCompParams->pSource[i]->rcDst))
|
||||
+ {
|
||||
+ pFilter->forceToTargetColorSpace = true;
|
||||
+ }
|
||||
+ }
|
||||
pSrc = pCompParams->pSource[i];
|
||||
|
||||
//--------------------------------
|
||||
@@ -8154,4 +8161,4 @@ bool CompositeState::IsSamplerIDForY(
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
- }
|
||||
\ No newline at end of file
|
||||
+ }
|
||||
diff --git a/media_driver/linux/common/vp/ddi/media_libva_vp.c b/media_driver/linux/common/vp/ddi/media_libva_vp.c
|
||||
index 48a452315..4f0fc2c48 100644
|
||||
--- a/media_driver/linux/common/vp/ddi/media_libva_vp.c
|
||||
+++ b/media_driver/linux/common/vp/ddi/media_libva_vp.c
|
||||
@@ -1148,7 +1148,7 @@ DdiVp_SetProcPipelineParams(
|
||||
|
||||
// Background Colorfill
|
||||
// According to libva definition, if alpha in output background color is zero, then colorfill is not needed
|
||||
- if ((pPipelineParam->output_background_color >> 24) != 0 || pVpHalTgtSurf->ColorSpace == CSpace_sRGB)
|
||||
+ if ((pPipelineParam->output_background_color >> 24) != 0)
|
||||
{
|
||||
if (pVpHalRenderParams->pColorFillParams == nullptr)
|
||||
{
|
||||
@@ -1157,18 +1157,10 @@ DdiVp_SetProcPipelineParams(
|
||||
|
||||
DDI_CHK_NULL(pVpHalRenderParams->pColorFillParams, "Null pColorFillParams.", VA_STATUS_ERROR_UNKNOWN);
|
||||
|
||||
- if (pVpHalTgtSurf->ColorSpace == CSpace_sRGB && (pPipelineParam->output_background_color >> 24) == 0)
|
||||
- {
|
||||
- // set color space for sRGB output
|
||||
- pVpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB;
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- // set background colorfill option
|
||||
- pVpHalRenderParams->pColorFillParams->Color = pPipelineParam->output_background_color;
|
||||
- pVpHalRenderParams->pColorFillParams->bYCbCr = false;
|
||||
- pVpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB;
|
||||
- }
|
||||
+ // set background colorfill option
|
||||
+ pVpHalRenderParams->pColorFillParams->Color = pPipelineParam->output_background_color;
|
||||
+ pVpHalRenderParams->pColorFillParams->bYCbCr = false;
|
||||
+ pVpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB;
|
||||
}else
|
||||
{
|
||||
MOS_FreeMemAndSetNull(pVpHalRenderParams->pColorFillParams);
|
||||
--
|
||||
2.43.0
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
From bbd3af94a6146d702909ff7e25b0c0547ecbb895 Mon Sep 17 00:00:00 2001
|
||||
From: jlui <jonathan.ming.jun.lui@intel.com>
|
||||
Date: Wed, 15 Nov 2023 10:48:34 +0800
|
||||
Subject: [PATCH 05/13] Add XR24 support to DMABuf
|
||||
|
||||
This is to enable XR24/BGRX support for DMABuf
|
||||
|
||||
Signed-off-by: Lui, Jonathan Ming Jun <jonathan.ming.jun.lui@intel.com>
|
||||
|
||||
Upstream-Status: Backport [https://github.com/intel/media-driver/commit/3910b7029f5416fd0b5972f940c65d0a82c48c7b]
|
||||
|
||||
Signed-off-by: Lim, Siew Hoon <siew.hoon.lim@intel.com>
|
||||
---
|
||||
.../vp/ddi/capstable_data_vp_xe_lpm_plus_r0_specific.h | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/media_softlet/linux/xe_lpm_plus_r0/vp/ddi/capstable_data_vp_xe_lpm_plus_r0_specific.h b/media_softlet/linux/xe_lpm_plus_r0/vp/ddi/capstable_data_vp_xe_lpm_plus_r0_specific.h
|
||||
index fdcca8873..2dcf440a4 100644
|
||||
--- a/media_softlet/linux/xe_lpm_plus_r0/vp/ddi/capstable_data_vp_xe_lpm_plus_r0_specific.h
|
||||
+++ b/media_softlet/linux/xe_lpm_plus_r0/vp/ddi/capstable_data_vp_xe_lpm_plus_r0_specific.h
|
||||
@@ -55,8 +55,9 @@ static ProfileSurfaceAttribInfo surfaceAttribInfo_VAEntrypointVideoProc_VAProfil
|
||||
{VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC('4', '2', '2', 'V')}}},
|
||||
{VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC('R', 'G', 'B', 'A')}}},
|
||||
{VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC('B', 'G', 'R', 'A')}}},
|
||||
- {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, { VA_FOURCC('R', 'G', 'B', 'P')}}},
|
||||
+ {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC('R', 'G', 'B', 'P')}}},
|
||||
{VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC('R', 'G', 'B', 'X')}}},
|
||||
+ {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC('X', 'R', 'G', 'B')}}},
|
||||
{VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC('P', '0', '1', '0')}}},
|
||||
{VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC('R', 'G', '2', '4')}}},
|
||||
{VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC_ARGB}}},
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -1,214 +0,0 @@
|
|||
From 67fb6128adf8fc03d429393e98f0982b42a40e64 Mon Sep 17 00:00:00 2001
|
||||
From: Zhang_Xinfeng <carl.zhang@intel.com>
|
||||
Date: Wed, 27 Dec 2023 09:59:29 +0800
|
||||
Subject: [PATCH 06/12] add INTEL MEDIA ALLOC refineE to specify the memory
|
||||
alignment
|
||||
|
||||
this key is used to allocate bigger pages
|
||||
env variable INTEL_MEDIA_ALLOC_refineE also could be used
|
||||
and was not enabled by default
|
||||
mode 0 is default mode
|
||||
mode 1 is < 64 align to 64
|
||||
mode 2 is > 1M && <= 3M align to 1M, >3M align to 2M
|
||||
mode 3 is mode 1 & mode 2
|
||||
|
||||
Upstream-Status: Backport [https://github.com/intel/media-driver/commit/765dd939dcc5562d18cca18e5eda505bda952797]
|
||||
Signed-off-by: Lim, Siew Hoon <siew.hoon.lim@intel.com>
|
||||
---
|
||||
.../linux/common/os/i915/mos_bufmgr.c | 75 +++++++++++++++----
|
||||
.../common/os/i915_production/mos_bufmgr.c | 1 +
|
||||
.../common/os/mos_context_specific_next.cpp | 21 +++++-
|
||||
.../common/os/mos_user_setting_specific.cpp | 7 ++
|
||||
4 files changed, 90 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/media_softlet/linux/common/os/i915/mos_bufmgr.c b/media_softlet/linux/common/os/i915/mos_bufmgr.c
|
||||
index c0b3ba027..b623d0129 100644
|
||||
--- a/media_softlet/linux/common/os/i915/mos_bufmgr.c
|
||||
+++ b/media_softlet/linux/common/os/i915/mos_bufmgr.c
|
||||
@@ -138,7 +138,7 @@ struct mos_bufmgr_gem {
|
||||
int exec_count;
|
||||
|
||||
/** Array of lists of cached gem objects of power-of-two sizes */
|
||||
- struct mos_gem_bo_bucket cache_bucket[14 * 4];
|
||||
+ struct mos_gem_bo_bucket cache_bucket[64];
|
||||
int num_buckets;
|
||||
time_t time;
|
||||
|
||||
@@ -3852,9 +3852,9 @@ add_bucket(struct mos_bufmgr_gem *bufmgr_gem, int size)
|
||||
}
|
||||
|
||||
static void
|
||||
-init_cache_buckets(struct mos_bufmgr_gem *bufmgr_gem)
|
||||
+init_cache_buckets(struct mos_bufmgr_gem *bufmgr_gem, uint8_t alloc_mode)
|
||||
{
|
||||
- unsigned long size, cache_max_size = 64 * 1024 * 1024;
|
||||
+ unsigned long size, cache_max_size = 64 * 1024 * 1024, unit_size;
|
||||
|
||||
/* OK, so power of two buckets was too wasteful of memory.
|
||||
* Give 3 other sizes between each power of two, to hopefully
|
||||
@@ -3864,17 +3864,63 @@ init_cache_buckets(struct mos_bufmgr_gem *bufmgr_gem)
|
||||
* width/height alignment and rounding of sizes to pages will
|
||||
* get us useful cache hit rates anyway)
|
||||
*/
|
||||
- add_bucket(bufmgr_gem, 4096);
|
||||
- add_bucket(bufmgr_gem, 4096 * 2);
|
||||
- add_bucket(bufmgr_gem, 4096 * 3);
|
||||
+ /* alloc_mode 0 is default alloc_mode
|
||||
+ * alloc_mode 1 rounding up to 64K for all < 1M
|
||||
+ * alloc_mode 2 rounding up to 2M for size> 1M
|
||||
+ * alloc_mode 3 rounding up to 2M for size > 1M and 64K for size <= 1M */
|
||||
+ if( alloc_mode > 3 )
|
||||
+ alloc_mode = 0;
|
||||
+
|
||||
+ if ( 0 == alloc_mode || 2 == alloc_mode)
|
||||
+ {
|
||||
+ // < 1M normal alloc_mode
|
||||
+ add_bucket(bufmgr_gem, 4096);
|
||||
+ add_bucket(bufmgr_gem, 4096 * 2);
|
||||
+ add_bucket(bufmgr_gem, 4096 * 3);
|
||||
+ /* Initialize the linked lists for BO reuse cache. */
|
||||
+ for (size = 4 * 4096; size < 1024 * 1024; size *= 2) {
|
||||
+ add_bucket(bufmgr_gem, size);
|
||||
+ add_bucket(bufmgr_gem, size + size * 1 / 4);
|
||||
+ add_bucket(bufmgr_gem, size + size * 2 / 4);
|
||||
+ add_bucket(bufmgr_gem, size + size * 3 / 4);
|
||||
+ }
|
||||
|
||||
- /* Initialize the linked lists for BO reuse cache. */
|
||||
- for (size = 4 * 4096; size <= cache_max_size; size *= 2) {
|
||||
- add_bucket(bufmgr_gem, size);
|
||||
+ add_bucket(bufmgr_gem, 1024 * 1024);
|
||||
+ }
|
||||
+ if (1 == alloc_mode || 3 == alloc_mode)
|
||||
+ {
|
||||
+ // < 1M 64k alignment
|
||||
+ unit_size = 64 * 1024;
|
||||
+ for (size = unit_size; size <= 1024 * 1024; size += unit_size)
|
||||
+ {
|
||||
+ add_bucket(bufmgr_gem, size);
|
||||
+ }
|
||||
+ }
|
||||
+ if( 0 == alloc_mode || 1 == alloc_mode)
|
||||
+ {
|
||||
+ //> 1M is normal alloc_mode
|
||||
+ add_bucket(bufmgr_gem, 1280 * 1024);
|
||||
+ add_bucket(bufmgr_gem, 1536 * 1024);
|
||||
+ add_bucket(bufmgr_gem, 1792 * 1024);
|
||||
+
|
||||
+ for (size = 2 * 1024 * 1024; size < cache_max_size; size *= 2) {
|
||||
+ add_bucket(bufmgr_gem, size);
|
||||
+ add_bucket(bufmgr_gem, size + size * 1 / 4);
|
||||
+ add_bucket(bufmgr_gem, size + size * 2 / 4);
|
||||
+ add_bucket(bufmgr_gem, size + size * 3 / 4);
|
||||
+ }
|
||||
+ }
|
||||
+ if( 2 == alloc_mode || 3 == alloc_mode)
|
||||
+ {
|
||||
+ //> 1M rolling to 2M
|
||||
+ unit_size = 2 * 1024 * 1024;
|
||||
+ add_bucket(bufmgr_gem, unit_size);
|
||||
+ add_bucket(bufmgr_gem, 3 * 1024 * 1024);
|
||||
|
||||
- add_bucket(bufmgr_gem, size + size * 1 / 4);
|
||||
- add_bucket(bufmgr_gem, size + size * 2 / 4);
|
||||
- add_bucket(bufmgr_gem, size + size * 3 / 4);
|
||||
+ for (size = 4 * 1024 * 1024; size <= cache_max_size; size += unit_size)
|
||||
+ {
|
||||
+ add_bucket(bufmgr_gem, size);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5100,6 +5146,7 @@ mos_bufmgr_gem_init_i915(int fd, int batch_size)
|
||||
struct drm_i915_gem_get_aperture aperture;
|
||||
drm_i915_getparam_t gp;
|
||||
int ret, tmp;
|
||||
+ uint8_t alloc_mode;
|
||||
bool exec2 = false;
|
||||
|
||||
pthread_mutex_lock(&bufmgr_list_mutex);
|
||||
@@ -5352,10 +5399,12 @@ mos_bufmgr_gem_init_i915(int fd, int batch_size)
|
||||
*
|
||||
* Every 4 was too few for the blender benchmark.
|
||||
*/
|
||||
+ alloc_mode = (uint8_t)(batch_size & 0xff);
|
||||
+ batch_size &= 0xffffff00;
|
||||
bufmgr_gem->max_relocs = batch_size / sizeof(uint32_t) / 2 - 2;
|
||||
|
||||
DRMINITLISTHEAD(&bufmgr_gem->named);
|
||||
- init_cache_buckets(bufmgr_gem);
|
||||
+ init_cache_buckets(bufmgr_gem,alloc_mode);
|
||||
|
||||
DRMLISTADD(&bufmgr_gem->managers, &bufmgr_list);
|
||||
|
||||
diff --git a/media_softlet/linux/common/os/i915_production/mos_bufmgr.c b/media_softlet/linux/common/os/i915_production/mos_bufmgr.c
|
||||
index 90b5685b1..b3574f7d3 100644
|
||||
--- a/media_softlet/linux/common/os/i915_production/mos_bufmgr.c
|
||||
+++ b/media_softlet/linux/common/os/i915_production/mos_bufmgr.c
|
||||
@@ -5403,6 +5403,7 @@ mos_bufmgr_gem_init_i915(int fd, int batch_size)
|
||||
*
|
||||
* Every 4 was too few for the blender benchmark.
|
||||
*/
|
||||
+ batch_size &= 0xffffff00;
|
||||
bufmgr_gem->max_relocs = batch_size / sizeof(uint32_t) / 2 - 2;
|
||||
|
||||
DRMINITLISTHEAD(&bufmgr_gem->named);
|
||||
diff --git a/media_softlet/linux/common/os/mos_context_specific_next.cpp b/media_softlet/linux/common/os/mos_context_specific_next.cpp
|
||||
index 9e9e3ff7e..543e262d1 100644
|
||||
--- a/media_softlet/linux/common/os/mos_context_specific_next.cpp
|
||||
+++ b/media_softlet/linux/common/os/mos_context_specific_next.cpp
|
||||
@@ -64,6 +64,7 @@ MOS_STATUS OsContextSpecificNext::Init(DDI_DEVICE_CONTEXT ddiDriverContext)
|
||||
uint32_t iDeviceId = 0;
|
||||
MOS_STATUS eStatus = MOS_STATUS_SUCCESS;
|
||||
uint32_t value = 0;
|
||||
+ uint32_t mode = 0;
|
||||
MediaUserSettingSharedPtr userSettingPtr = nullptr;
|
||||
|
||||
MOS_OS_FUNCTION_ENTER;
|
||||
@@ -89,7 +90,25 @@ MOS_STATUS OsContextSpecificNext::Init(DDI_DEVICE_CONTEXT ddiDriverContext)
|
||||
|
||||
userSettingPtr = MosInterface::MosGetUserSettingInstance(osDriverContext);
|
||||
|
||||
- m_bufmgr = mos_bufmgr_gem_init(m_fd, BATCH_BUFFER_SIZE, &m_deviceType);
|
||||
+ mode = BATCH_BUFFER_SIZE;
|
||||
+ ReadUserSetting(
|
||||
+ userSettingPtr,
|
||||
+ value,
|
||||
+ "INTEL MEDIA ALLOC MODE",
|
||||
+ MediaUserSetting::Group::Device);
|
||||
+
|
||||
+ if (value)
|
||||
+ {
|
||||
+ mode |= (value & 0x000000ff);
|
||||
+ }
|
||||
+ value = 0;
|
||||
+ /* no need to set batch buffer size after switch to softpin
|
||||
+ * keep it, just for test during relocation to softpin transition
|
||||
+ * now , it could be a debug method , but is actually useless
|
||||
+ * so it is safe to reuse the lowest 8bit to convey addtional information
|
||||
+ * more suitable solution is deleting it , or add additional parameter*/
|
||||
+
|
||||
+ m_bufmgr = mos_bufmgr_gem_init(m_fd, (int)mode, &m_deviceType);
|
||||
if (nullptr == m_bufmgr)
|
||||
{
|
||||
MOS_OS_ASSERTMESSAGE("Not able to allocate buffer manager, fd=0x%d", m_fd);
|
||||
diff --git a/media_softlet/linux/common/os/mos_user_setting_specific.cpp b/media_softlet/linux/common/os/mos_user_setting_specific.cpp
|
||||
index 6be8b4298..caed584f4 100644
|
||||
--- a/media_softlet/linux/common/os/mos_user_setting_specific.cpp
|
||||
+++ b/media_softlet/linux/common/os/mos_user_setting_specific.cpp
|
||||
@@ -52,5 +52,12 @@ MOS_STATUS MosUserSetting::InitMosUserSettingSpecific(MediaUserSettingSharedPtr
|
||||
0,
|
||||
true); //"Enable VM Bind."
|
||||
|
||||
+ DeclareUserSettingKey(
|
||||
+ userSettingPtr,
|
||||
+ "INTEL MEDIA ALLOC MODE",
|
||||
+ MediaUserSetting::Group::Device,
|
||||
+ 0,
|
||||
+ false); //
|
||||
+
|
||||
return MOS_STATUS_SUCCESS;
|
||||
}
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -1,78 +0,0 @@
|
|||
From b1aebef4d342c77fc2b9c5efbf20aeb2aa9d634e Mon Sep 17 00:00:00 2001
|
||||
From: Wang_Pingli <pingli.wang@intel.com>
|
||||
Date: Thu, 28 Dec 2023 16:44:40 +0800
|
||||
Subject: [PATCH 07/12] Skip report keys
|
||||
|
||||
Skip to report keys
|
||||
|
||||
Upstream-Status: Backport [https://github.com/intel/media-driver/commit/68ce25b0a6fa90614eb4734c8680aa4e149e8323]
|
||||
Signed-off-by: Lim, Siew Hoon <siew.hoon.lim@intel.com>
|
||||
---
|
||||
.../os/osservice/mos_utilities_specific.cpp | 30 +++++++++++++++++--
|
||||
1 file changed, 28 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp b/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp
|
||||
index b5df29f06..96785e21e 100644
|
||||
--- a/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp
|
||||
+++ b/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp
|
||||
@@ -67,6 +67,8 @@ int32_t g_mosMemoryFailSimulateAllocCounter = 0;
|
||||
int32_t *MosUtilities::m_mosAllocMemoryFailSimulateAllocCounter = &g_mosMemoryFailSimulateAllocCounter;
|
||||
#endif
|
||||
|
||||
+static bool s_skipToReportReg = false;
|
||||
+
|
||||
double MosUtilities::MosGetTime()
|
||||
{
|
||||
struct timespec ts = {};
|
||||
@@ -1551,6 +1553,10 @@ MOS_STATUS MosUtilities::MosInitializeReg(RegBufferMap ®BufferMap)
|
||||
{
|
||||
std::string id = "";
|
||||
|
||||
+ static const char *disableReportRegKeyList[] = {
|
||||
+ "INTEL MEDIA ALLOC MODE"
|
||||
+ };
|
||||
+ static const uint32_t disableReportRegKeyListCount = sizeof(disableReportRegKeyList) / sizeof(disableReportRegKeyList[0]);
|
||||
while(!regStream.eof())
|
||||
{
|
||||
std::string line = "";
|
||||
@@ -1585,8 +1591,22 @@ MOS_STATUS MosUtilities::MosInitializeReg(RegBufferMap ®BufferMap)
|
||||
{
|
||||
std::string name = line.substr(0,pos);
|
||||
std::string value = line.substr(pos+1);
|
||||
- auto &keys = regBufferMap[id];
|
||||
- keys[name] = value;
|
||||
+ if (name.size() > 0 && value.size() > 0)
|
||||
+ {
|
||||
+ auto &keys = regBufferMap[id];
|
||||
+ keys[name] = value;
|
||||
+ if (s_skipToReportReg == false && id == USER_SETTING_CONFIG_PATH)
|
||||
+ {
|
||||
+ for (uint32_t i = 0; i < disableReportRegKeyListCount; i++)
|
||||
+ {
|
||||
+ if (strcmp(name.c_str(), disableReportRegKeyList[i]) == 0)
|
||||
+ {
|
||||
+ s_skipToReportReg = true;
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1606,6 +1626,12 @@ MOS_STATUS MosUtilities::MosInitializeReg(RegBufferMap ®BufferMap)
|
||||
MOS_STATUS MosUtilities::MosUninitializeReg(RegBufferMap ®BufferMap)
|
||||
{
|
||||
MOS_STATUS status = MOS_STATUS_SUCCESS;
|
||||
+
|
||||
+ if (s_skipToReportReg)
|
||||
+ {
|
||||
+ return MOS_STATUS_SUCCESS;
|
||||
+ }
|
||||
+
|
||||
if (regBufferMap.size() == 0)
|
||||
{
|
||||
return MOS_STATUS_SUCCESS;
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -1,255 +0,0 @@
|
|||
From ac2ffac8d4aade216cc361c6c7120c13a8780719 Mon Sep 17 00:00:00 2001
|
||||
From: "Soon, Thean Siew" <thean.siew.soon@intel.com>
|
||||
Date: Thu, 28 Dec 2023 18:42:59 +0000
|
||||
Subject: [PATCH 08/12] Limit INTEL MEDIA ALLOC MODE to MTL and ARL only
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/intel/media-driver/pull/1754]
|
||||
|
||||
Signed-off-by: Soon, Thean Siew <thean.siew.soon@intel.com>
|
||||
---
|
||||
.../common/os/i915/include/mos_bufmgr_api.h | 1 +
|
||||
.../common/os/i915/include/mos_bufmgr_priv.h | 2 +-
|
||||
.../linux/common/os/i915/mos_bufmgr.c | 69 +++++++++++++++----
|
||||
.../linux/common/os/i915/mos_bufmgr_api.c | 19 +++++
|
||||
.../os/i915_production/mos_bufmgr_priv.h | 1 +
|
||||
.../common/os/mos_context_specific_next.cpp | 36 +++++-----
|
||||
6 files changed, 94 insertions(+), 34 deletions(-)
|
||||
|
||||
diff --git a/media_softlet/linux/common/os/i915/include/mos_bufmgr_api.h b/media_softlet/linux/common/os/i915/include/mos_bufmgr_api.h
|
||||
index 71cc01099..ab4f1ba89 100644
|
||||
--- a/media_softlet/linux/common/os/i915/include/mos_bufmgr_api.h
|
||||
+++ b/media_softlet/linux/common/os/i915/include/mos_bufmgr_api.h
|
||||
@@ -299,6 +299,7 @@ void mos_bufmgr_enable_vmbind(struct mos_bufmgr *bufmgr);
|
||||
void mos_bufmgr_disable_object_capture(struct mos_bufmgr *bufmgr);
|
||||
int mos_bufmgr_get_memory_info(struct mos_bufmgr *bufmgr, char *info, uint32_t length);
|
||||
int mos_bufmgr_get_devid(struct mos_bufmgr *bufmgr);
|
||||
+void mos_bufmgr_realloc_cache(struct mos_bufmgr *bufmgr, uint8_t alloc_mode);
|
||||
|
||||
int mos_bo_map_unsynchronized(struct mos_linux_bo *bo);
|
||||
int mos_bo_map_gtt(struct mos_linux_bo *bo);
|
||||
diff --git a/media_softlet/linux/common/os/i915/include/mos_bufmgr_priv.h b/media_softlet/linux/common/os/i915/include/mos_bufmgr_priv.h
|
||||
index 63f69f985..6fd58f827 100644
|
||||
--- a/media_softlet/linux/common/os/i915/include/mos_bufmgr_priv.h
|
||||
+++ b/media_softlet/linux/common/os/i915/include/mos_bufmgr_priv.h
|
||||
@@ -358,9 +358,9 @@ struct mos_bufmgr {
|
||||
void (*disable_object_capture)(struct mos_bufmgr *bufmgr) = nullptr;
|
||||
int (*get_memory_info)(struct mos_bufmgr *bufmgr, char *info, uint32_t length) = nullptr;
|
||||
int (*get_devid)(struct mos_bufmgr *bufmgr) = nullptr;
|
||||
+ void (*realloc_cache)(struct mos_bufmgr *bufmgr, uint8_t alloc_mode) = nullptr;
|
||||
int (*query_engines_count)(struct mos_bufmgr *bufmgr,
|
||||
unsigned int *nengine) = nullptr;
|
||||
-
|
||||
int (*query_engines)(struct mos_bufmgr *bufmgr,
|
||||
__u16 engine_class,
|
||||
__u64 caps,
|
||||
diff --git a/media_softlet/linux/common/os/i915/mos_bufmgr.c b/media_softlet/linux/common/os/i915/mos_bufmgr.c
|
||||
index b623d0129..2814ddbb7 100644
|
||||
--- a/media_softlet/linux/common/os/i915/mos_bufmgr.c
|
||||
+++ b/media_softlet/linux/common/os/i915/mos_bufmgr.c
|
||||
@@ -2426,19 +2426,9 @@ mos_gem_bo_start_gtt_access(struct mos_linux_bo *bo, int write_enable)
|
||||
}
|
||||
|
||||
static void
|
||||
-mos_bufmgr_gem_destroy(struct mos_bufmgr *bufmgr)
|
||||
+mos_bufmgr_cleanup_cache(struct mos_bufmgr_gem *bufmgr_gem)
|
||||
{
|
||||
- struct mos_bufmgr_gem *bufmgr_gem = (struct mos_bufmgr_gem *) bufmgr;
|
||||
- struct drm_gem_close close_bo;
|
||||
- int i, ret;
|
||||
-
|
||||
- free(bufmgr_gem->exec2_objects);
|
||||
- free(bufmgr_gem->exec_objects);
|
||||
- free(bufmgr_gem->exec_bos);
|
||||
- pthread_mutex_destroy(&bufmgr_gem->lock);
|
||||
-
|
||||
- /* Free any cached buffer objects we were going to reuse */
|
||||
- for (i = 0; i < bufmgr_gem->num_buckets; i++) {
|
||||
+ for (int i = 0; i < bufmgr_gem->num_buckets; i++) {
|
||||
struct mos_gem_bo_bucket *bucket =
|
||||
&bufmgr_gem->cache_bucket[i];
|
||||
struct mos_bo_gem *bo_gem;
|
||||
@@ -2450,7 +2440,25 @@ mos_bufmgr_gem_destroy(struct mos_bufmgr *bufmgr)
|
||||
|
||||
mos_gem_bo_free(&bo_gem->bo);
|
||||
}
|
||||
+ bufmgr_gem->cache_bucket[i].size = 0;
|
||||
}
|
||||
+ bufmgr_gem->num_buckets = 0;
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+mos_bufmgr_gem_destroy(struct mos_bufmgr *bufmgr)
|
||||
+{
|
||||
+ struct mos_bufmgr_gem *bufmgr_gem = (struct mos_bufmgr_gem *)bufmgr;
|
||||
+ struct drm_gem_close close_bo;
|
||||
+ int ret;
|
||||
+
|
||||
+ free(bufmgr_gem->exec2_objects);
|
||||
+ free(bufmgr_gem->exec_objects);
|
||||
+ free(bufmgr_gem->exec_bos);
|
||||
+ pthread_mutex_destroy(&bufmgr_gem->lock);
|
||||
+
|
||||
+ /* Free any cached buffer objects we were going to reuse */
|
||||
+ mos_bufmgr_cleanup_cache(bufmgr_gem);
|
||||
|
||||
/* Release userptr bo kept hanging around for optimisation. */
|
||||
if (bufmgr_gem->userptr_active.ptr) {
|
||||
@@ -3852,9 +3860,41 @@ add_bucket(struct mos_bufmgr_gem *bufmgr_gem, int size)
|
||||
}
|
||||
|
||||
static void
|
||||
-init_cache_buckets(struct mos_bufmgr_gem *bufmgr_gem, uint8_t alloc_mode)
|
||||
+init_cache_buckets(struct mos_bufmgr_gem *bufmgr_gem)
|
||||
+{
|
||||
+ unsigned long size, cache_max_size = 64 * 1024 * 1024;
|
||||
+
|
||||
+ /* OK, so power of two buckets was too wasteful of memory.
|
||||
+ * Give 3 other sizes between each power of two, to hopefully
|
||||
+ * cover things accurately enough. (The alternative is
|
||||
+ * probably to just go for exact matching of sizes, and assume
|
||||
+ * that for things like composited window resize the tiled
|
||||
+ * width/height alignment and rounding of sizes to pages will
|
||||
+ * get us useful cache hit rates anyway)
|
||||
+ */
|
||||
+ add_bucket(bufmgr_gem, 4096);
|
||||
+ add_bucket(bufmgr_gem, 4096 * 2);
|
||||
+ add_bucket(bufmgr_gem, 4096 * 3);
|
||||
+
|
||||
+ /* Initialize the linked lists for BO reuse cache. */
|
||||
+ for (size = 4 * 4096; size <= cache_max_size; size *= 2) {
|
||||
+ add_bucket(bufmgr_gem, size);
|
||||
+
|
||||
+ add_bucket(bufmgr_gem, size + size * 1 / 4);
|
||||
+ add_bucket(bufmgr_gem, size + size * 2 / 4);
|
||||
+ add_bucket(bufmgr_gem, size + size * 3 / 4);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+mos_gem_realloc_cache(struct mos_bufmgr *bufmgr, uint8_t alloc_mode)
|
||||
{
|
||||
unsigned long size, cache_max_size = 64 * 1024 * 1024, unit_size;
|
||||
+ struct mos_bufmgr_gem *bufmgr_gem = (struct mos_bufmgr_gem *)bufmgr;
|
||||
+
|
||||
+ // Clean up the pre-allocated cache before re-allocating according
|
||||
+ // to alloc_mode
|
||||
+ mos_bufmgr_cleanup_cache(bufmgr_gem);
|
||||
|
||||
/* OK, so power of two buckets was too wasteful of memory.
|
||||
* Give 3 other sizes between each power of two, to hopefully
|
||||
@@ -5218,6 +5258,7 @@ mos_bufmgr_gem_init_i915(int fd, int batch_size)
|
||||
bufmgr_gem->bufmgr.disable_object_capture = mos_gem_disable_object_capture;
|
||||
bufmgr_gem->bufmgr.get_memory_info = mos_gem_get_memory_info;
|
||||
bufmgr_gem->bufmgr.get_devid = mos_gem_get_devid;
|
||||
+ bufmgr_gem->bufmgr.realloc_cache = mos_gem_realloc_cache;
|
||||
bufmgr_gem->bufmgr.set_context_param = mos_gem_set_context_param;
|
||||
bufmgr_gem->bufmgr.set_context_param_parallel = mos_gem_set_context_param_parallel;
|
||||
bufmgr_gem->bufmgr.set_context_param_load_balance = mos_gem_set_context_param_load_balance;
|
||||
@@ -5404,7 +5445,7 @@ mos_bufmgr_gem_init_i915(int fd, int batch_size)
|
||||
bufmgr_gem->max_relocs = batch_size / sizeof(uint32_t) / 2 - 2;
|
||||
|
||||
DRMINITLISTHEAD(&bufmgr_gem->named);
|
||||
- init_cache_buckets(bufmgr_gem,alloc_mode);
|
||||
+ init_cache_buckets(bufmgr_gem);
|
||||
|
||||
DRMLISTADD(&bufmgr_gem->managers, &bufmgr_list);
|
||||
|
||||
diff --git a/media_softlet/linux/common/os/i915/mos_bufmgr_api.c b/media_softlet/linux/common/os/i915/mos_bufmgr_api.c
|
||||
index abe8ef96a..d0e02c267 100644
|
||||
--- a/media_softlet/linux/common/os/i915/mos_bufmgr_api.c
|
||||
+++ b/media_softlet/linux/common/os/i915/mos_bufmgr_api.c
|
||||
@@ -1204,6 +1204,25 @@ mos_bufmgr_get_devid(struct mos_bufmgr *bufmgr)
|
||||
}
|
||||
}
|
||||
|
||||
+void
|
||||
+mos_bufmgr_realloc_cache(struct mos_bufmgr *bufmgr, uint8_t alloc_mode)
|
||||
+{
|
||||
+ if(!bufmgr)
|
||||
+ {
|
||||
+ MOS_OS_CRITICALMESSAGE("Input null ptr\n");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ if (bufmgr->realloc_cache)
|
||||
+ {
|
||||
+ return bufmgr->realloc_cache(bufmgr, alloc_mode);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ MOS_OS_CRITICALMESSAGE("Unsupported\n");
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
int
|
||||
mos_query_engines_count(struct mos_bufmgr *bufmgr,
|
||||
unsigned int *nengine)
|
||||
diff --git a/media_softlet/linux/common/os/i915_production/mos_bufmgr_priv.h b/media_softlet/linux/common/os/i915_production/mos_bufmgr_priv.h
|
||||
index c3b765a4c..1d7f7edb0 100644
|
||||
--- a/media_softlet/linux/common/os/i915_production/mos_bufmgr_priv.h
|
||||
+++ b/media_softlet/linux/common/os/i915_production/mos_bufmgr_priv.h
|
||||
@@ -358,6 +358,7 @@ struct mos_bufmgr {
|
||||
void (*disable_object_capture)(struct mos_bufmgr *bufmgr) = nullptr;
|
||||
int (*get_memory_info)(struct mos_bufmgr *bufmgr, char *info, uint32_t length) = nullptr;
|
||||
int (*get_devid)(struct mos_bufmgr *bufmgr) = nullptr;
|
||||
+ void (*realloc_cache)(struct mos_bufmgr *bufmgr, uint8_t alloc_mode) = nullptr;
|
||||
int (*query_engines_count)(struct mos_bufmgr *bufmgr,
|
||||
unsigned int *nengine) = nullptr;
|
||||
|
||||
diff --git a/media_softlet/linux/common/os/mos_context_specific_next.cpp b/media_softlet/linux/common/os/mos_context_specific_next.cpp
|
||||
index 543e262d1..87059f538 100644
|
||||
--- a/media_softlet/linux/common/os/mos_context_specific_next.cpp
|
||||
+++ b/media_softlet/linux/common/os/mos_context_specific_next.cpp
|
||||
@@ -90,25 +90,7 @@ MOS_STATUS OsContextSpecificNext::Init(DDI_DEVICE_CONTEXT ddiDriverContext)
|
||||
|
||||
userSettingPtr = MosInterface::MosGetUserSettingInstance(osDriverContext);
|
||||
|
||||
- mode = BATCH_BUFFER_SIZE;
|
||||
- ReadUserSetting(
|
||||
- userSettingPtr,
|
||||
- value,
|
||||
- "INTEL MEDIA ALLOC MODE",
|
||||
- MediaUserSetting::Group::Device);
|
||||
-
|
||||
- if (value)
|
||||
- {
|
||||
- mode |= (value & 0x000000ff);
|
||||
- }
|
||||
- value = 0;
|
||||
- /* no need to set batch buffer size after switch to softpin
|
||||
- * keep it, just for test during relocation to softpin transition
|
||||
- * now , it could be a debug method , but is actually useless
|
||||
- * so it is safe to reuse the lowest 8bit to convey addtional information
|
||||
- * more suitable solution is deleting it , or add additional parameter*/
|
||||
-
|
||||
- m_bufmgr = mos_bufmgr_gem_init(m_fd, (int)mode, &m_deviceType);
|
||||
+ m_bufmgr = mos_bufmgr_gem_init(m_fd, BATCH_BUFFER_SIZE, &m_deviceType);
|
||||
if (nullptr == m_bufmgr)
|
||||
{
|
||||
MOS_OS_ASSERTMESSAGE("Not able to allocate buffer manager, fd=0x%d", m_fd);
|
||||
@@ -151,6 +133,22 @@ MOS_STATUS OsContextSpecificNext::Init(DDI_DEVICE_CONTEXT ddiDriverContext)
|
||||
return eStatus;
|
||||
}
|
||||
|
||||
+ if (m_platformInfo.eProductFamily == IGFX_METEORLAKE ||
|
||||
+ m_platformInfo.eProductFamily == IGFX_ARROWLAKE)
|
||||
+ {
|
||||
+ ReadUserSetting(
|
||||
+ userSettingPtr,
|
||||
+ value,
|
||||
+ "INTEL MEDIA ALLOC MODE",
|
||||
+ MediaUserSetting::Group::Device);
|
||||
+
|
||||
+ if (value)
|
||||
+ {
|
||||
+ mode = (value & 0x000000ff);
|
||||
+ }
|
||||
+ mos_bufmgr_realloc_cache(m_bufmgr, mode);
|
||||
+ }
|
||||
+
|
||||
ReadUserSetting(
|
||||
userSettingPtr,
|
||||
value,
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
From 18c32247cbc0e9fabff7a847add099496af9e53f Mon Sep 17 00:00:00 2001
|
||||
From: "Soon, Thean Siew" <thean.siew.soon@intel.com>
|
||||
Date: Mon, 8 Jan 2024 18:12:30 +0000
|
||||
Subject: [PATCH 09/12] Skip cache bucket realloc for default mode 0
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/intel/media-driver/pull/1754]
|
||||
|
||||
Signed-off-by: Soon, Thean Siew <thean.siew.soon@intel.com>
|
||||
---
|
||||
.../linux/common/os/mos_context_specific_next.cpp | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/media_softlet/linux/common/os/mos_context_specific_next.cpp b/media_softlet/linux/common/os/mos_context_specific_next.cpp
|
||||
index 87059f538..9dbd5da79 100644
|
||||
--- a/media_softlet/linux/common/os/mos_context_specific_next.cpp
|
||||
+++ b/media_softlet/linux/common/os/mos_context_specific_next.cpp
|
||||
@@ -146,7 +146,12 @@ MOS_STATUS OsContextSpecificNext::Init(DDI_DEVICE_CONTEXT ddiDriverContext)
|
||||
{
|
||||
mode = (value & 0x000000ff);
|
||||
}
|
||||
- mos_bufmgr_realloc_cache(m_bufmgr, mode);
|
||||
+
|
||||
+ // Realloc cache only if it's not mode 0
|
||||
+ if (mode)
|
||||
+ {
|
||||
+ mos_bufmgr_realloc_cache(m_bufmgr, mode);
|
||||
+ }
|
||||
}
|
||||
|
||||
ReadUserSetting(
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -1,195 +0,0 @@
|
|||
From 7291ab5206c5e172c6c94dcfbe4f1bc258f3b7a5 Mon Sep 17 00:00:00 2001
|
||||
From: WenshengZhang <wensheng.zhang@intel.com>
|
||||
Date: Wed, 10 Jan 2024 14:08:37 +0800
|
||||
Subject: [PATCH 10/12] Fix failed 4k video wall test case and color corruption
|
||||
of video composition
|
||||
|
||||
Fix failed 4k video wall test case from 16CH video only show 1CH output and
|
||||
corruption observed on certain number of video composition when doing
|
||||
sample_multi_transcode.
|
||||
|
||||
Upstream-Status: Backport [https://github.com/intel/media-driver/commit/38e14b1b97170b51586d00d1fa607e496b0c5825]
|
||||
Signed-off-by: Lim, Siew Hoon <siew.hoon.lim@intel.com>
|
||||
---
|
||||
.../common/vp/kdll/hal_kerneldll_next.h | 1 +
|
||||
.../vp/hal/packet/vp_render_fc_kernel.cpp | 7 ++
|
||||
.../common/vp/kdll/hal_kerneldll_next.c | 70 +++++++++++--------
|
||||
.../linux/common/vp/ddi/ddi_vp_functions.cpp | 20 ++----
|
||||
4 files changed, 55 insertions(+), 43 deletions(-)
|
||||
|
||||
diff --git a/media_common/agnostic/common/vp/kdll/hal_kerneldll_next.h b/media_common/agnostic/common/vp/kdll/hal_kerneldll_next.h
|
||||
index 6447999b7..8e2ab371e 100644
|
||||
--- a/media_common/agnostic/common/vp/kdll/hal_kerneldll_next.h
|
||||
+++ b/media_common/agnostic/common/vp/kdll/hal_kerneldll_next.h
|
||||
@@ -588,6 +588,7 @@ typedef struct tagKdll_FilterEntry
|
||||
Kdll_Scalingratio ScalingRatio;
|
||||
Kdll_RenderMethod RenderMethod;
|
||||
Kdll_SetCSCCoeffMethod SetCSCCoeffMode;
|
||||
+ bool forceToTargetColorSpace;
|
||||
} Kdll_FilterEntry, *PKdll_FilterEntry;
|
||||
|
||||
// Structure that defines a compositing filter
|
||||
diff --git a/media_softlet/agnostic/common/vp/hal/packet/vp_render_fc_kernel.cpp b/media_softlet/agnostic/common/vp/hal/packet/vp_render_fc_kernel.cpp
|
||||
index 8e982f67e..f8308fed1 100644
|
||||
--- a/media_softlet/agnostic/common/vp/hal/packet/vp_render_fc_kernel.cpp
|
||||
+++ b/media_softlet/agnostic/common/vp/hal/packet/vp_render_fc_kernel.cpp
|
||||
@@ -775,6 +775,13 @@ MOS_STATUS VpRenderFcKernel::BuildFilter(
|
||||
|
||||
for (i = 0; (i < (int)compParams->sourceCount) && (iMaxFilterSize > 0); i++)
|
||||
{
|
||||
+ if (i > 0)
|
||||
+ {
|
||||
+ if (!RECT1_CONTAINS_RECT2(compParams->source[0].surf->rcDst, compParams->source[i].surf->rcDst))
|
||||
+ {
|
||||
+ pFilter->forceToTargetColorSpace = true;
|
||||
+ }
|
||||
+ }
|
||||
src = &compParams->source[i];
|
||||
|
||||
//--------------------------------
|
||||
diff --git a/media_softlet/agnostic/common/vp/kdll/hal_kerneldll_next.c b/media_softlet/agnostic/common/vp/kdll/hal_kerneldll_next.c
|
||||
index d8f7d429a..151f3b039 100644
|
||||
--- a/media_softlet/agnostic/common/vp/kdll/hal_kerneldll_next.c
|
||||
+++ b/media_softlet/agnostic/common/vp/kdll/hal_kerneldll_next.c
|
||||
@@ -2378,6 +2378,7 @@ bool KernelDll_SetupCSC(
|
||||
Kdll_CSC_Matrix curr_matrix;
|
||||
Kdll_CSC_Matrix *matrix = pCSC->Matrix; // Color Space conversion matrix
|
||||
uint8_t * matrixID = pCSC->MatrixID; // CSC coefficient allocation table
|
||||
+ bool forceToTargetColorSpace = false;
|
||||
|
||||
// Clear all CSC matrices
|
||||
MOS_ZeroMemory(matrix, sizeof(pCSC->Matrix));
|
||||
@@ -2395,6 +2396,10 @@ bool KernelDll_SetupCSC(
|
||||
//---------------------------------------------------------------//
|
||||
for (i = iFilterSize, pFilter = pSearchState->Filter; i > 0; i--, pFilter++)
|
||||
{
|
||||
+ if (pFilter->forceToTargetColorSpace)
|
||||
+ {
|
||||
+ forceToTargetColorSpace = true;
|
||||
+ }
|
||||
// Disable Procamp for all layers except Main Video
|
||||
// Disable Procamp if source is RGB
|
||||
if (pFilter->layer != Layer_MainVideo ||
|
||||
@@ -2456,44 +2461,51 @@ bool KernelDll_SetupCSC(
|
||||
//---------------------------------------------------------------//
|
||||
if (sel_cspace == CSpace_Any)
|
||||
{
|
||||
- int cs;
|
||||
- for (cs = (CSpace_Any + 1); cs < CSpace_Count; cs++)
|
||||
+ if (forceToTargetColorSpace)
|
||||
{
|
||||
- // Skip color spaces not in use
|
||||
- cspace = (VPHAL_CSPACE)cs;
|
||||
- if (!cspace_in_use[cspace])
|
||||
- {
|
||||
- continue;
|
||||
- }
|
||||
-
|
||||
- // xvYCC and BT are treated as same for CSC considerations (BT.x to xvYCC.x matrix is I)
|
||||
- cspace = KernelDll_TranslateCspace(cspace);
|
||||
-
|
||||
- // Count # of CS conversions and matrices
|
||||
- csc_count = 0;
|
||||
- for (i = iFilterSize, pFilter = pSearchState->Filter; i > 0; i--, pFilter++)
|
||||
+ sel_cspace = out_cspace;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ int cs;
|
||||
+ for (cs = (CSpace_Any + 1); cs < CSpace_Count; cs++)
|
||||
{
|
||||
- // Ignore layers where the Color Space may be set in software (colorfill, palletized)
|
||||
- if (pFilter->cspace == CSpace_Any)
|
||||
+ // Skip color spaces not in use
|
||||
+ cspace = (VPHAL_CSPACE)cs;
|
||||
+ if (!cspace_in_use[cspace])
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
- // Check if CSC/PA is required
|
||||
- if (KernelDll_TranslateCspace(pFilter->cspace) != cspace ||
|
||||
- pFilter->procamp != DL_PROCAMP_DISABLED)
|
||||
+ // xvYCC and BT are treated as same for CSC considerations (BT.x to xvYCC.x matrix is I)
|
||||
+ cspace = KernelDll_TranslateCspace(cspace);
|
||||
+
|
||||
+ // Count # of CS conversions and matrices
|
||||
+ csc_count = 0;
|
||||
+ for (i = iFilterSize, pFilter = pSearchState->Filter; i > 0; i--, pFilter++)
|
||||
{
|
||||
- csc_count++;
|
||||
+ // Ignore layers where the Color Space may be set in software (colorfill, palletized)
|
||||
+ if (pFilter->cspace == CSpace_Any)
|
||||
+ {
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
+ // Check if CSC/PA is required
|
||||
+ if (KernelDll_TranslateCspace(pFilter->cspace) != cspace ||
|
||||
+ pFilter->procamp != DL_PROCAMP_DISABLED)
|
||||
+ {
|
||||
+ csc_count++;
|
||||
+ }
|
||||
}
|
||||
- }
|
||||
|
||||
- // Save best choice as requiring minimum number of CSC operations
|
||||
- if ((sel_csc_count < 0) || // Initial value
|
||||
- (csc_count < sel_csc_count) || // Minimum number of CSC operations
|
||||
- (csc_count == sel_csc_count && cs == main_cspace)) // Use main cspace as default if same CSC count
|
||||
- {
|
||||
- sel_cspace = cspace;
|
||||
- sel_csc_count = csc_count;
|
||||
+ // Save best choice as requiring minimum number of CSC operations
|
||||
+ if ((sel_csc_count < 0) || // Initial value
|
||||
+ (csc_count < sel_csc_count) || // Minimum number of CSC operations
|
||||
+ (csc_count == sel_csc_count && cs == main_cspace)) // Use main cspace as default if same CSC count
|
||||
+ {
|
||||
+ sel_cspace = cspace;
|
||||
+ sel_csc_count = csc_count;
|
||||
+ }
|
||||
}
|
||||
}
|
||||
}
|
||||
diff --git a/media_softlet/linux/common/vp/ddi/ddi_vp_functions.cpp b/media_softlet/linux/common/vp/ddi/ddi_vp_functions.cpp
|
||||
index 40d0b3fad..e60a6c69c 100644
|
||||
--- a/media_softlet/linux/common/vp/ddi/ddi_vp_functions.cpp
|
||||
+++ b/media_softlet/linux/common/vp/ddi/ddi_vp_functions.cpp
|
||||
@@ -2115,9 +2115,8 @@ VAStatus DdiVpFunctions::SetBackgroundColorfill(
|
||||
{
|
||||
DDI_VP_FUNC_ENTER;
|
||||
DDI_VP_CHK_NULL(vpHalRenderParams, "nullptr vpHalRenderParams.", VA_STATUS_ERROR_INVALID_PARAMETER);
|
||||
- DDI_VP_CHK_NULL(vpHalRenderParams->pTarget[0],"nullptr pTarget[0].", VA_STATUS_ERROR_INVALID_PARAMETER);
|
||||
|
||||
- if ((outBackGroundcolor >> 24) != 0 || vpHalRenderParams->pTarget[0]->ColorSpace == CSpace_sRGB)
|
||||
+ if ((outBackGroundcolor >> 24) != 0)
|
||||
{
|
||||
if (vpHalRenderParams->pColorFillParams == nullptr)
|
||||
{
|
||||
@@ -2126,18 +2125,11 @@ VAStatus DdiVpFunctions::SetBackgroundColorfill(
|
||||
|
||||
DDI_VP_CHK_NULL(vpHalRenderParams->pColorFillParams, "nullptr pColorFillParams.", VA_STATUS_ERROR_UNKNOWN);
|
||||
|
||||
- if (vpHalRenderParams->pTarget[0]->ColorSpace == CSpace_sRGB && (outBackGroundcolor >> 24) == 0)
|
||||
- {
|
||||
- // set color space for sRGB output
|
||||
- vpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB;
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- // set background colorfill option
|
||||
- vpHalRenderParams->pColorFillParams->Color = outBackGroundcolor;
|
||||
- vpHalRenderParams->pColorFillParams->bYCbCr = false;
|
||||
- vpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB;
|
||||
- }
|
||||
+ // set background colorfill option
|
||||
+ vpHalRenderParams->pColorFillParams->Color = outBackGroundcolor;
|
||||
+ vpHalRenderParams->pColorFillParams->bYCbCr = false;
|
||||
+ vpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB;
|
||||
+
|
||||
}
|
||||
else
|
||||
{
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
From f8b4d982232d4c1330e1e5f5dcd7cd8ca94decba Mon Sep 17 00:00:00 2001
|
||||
From: WenshengZhang <wensheng.zhang@intel.com>
|
||||
Date: Thu, 25 Jan 2024 16:35:10 +0800
|
||||
Subject: [PATCH 11/12] Disable 422H format output
|
||||
|
||||
Disable 422H format output.
|
||||
|
||||
Upstream-Status: Backport [https://github.com/intel/media-driver/commit/eab411768e61a46e096793291f5f992eecf76cd8]
|
||||
Signed-off-by: Lim, Siew Hoon <siew.hoon.lim@intel.com>
|
||||
---
|
||||
.../agnostic/common/vp/hal/feature_manager/policy.cpp | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/media_softlet/agnostic/common/vp/hal/feature_manager/policy.cpp b/media_softlet/agnostic/common/vp/hal/feature_manager/policy.cpp
|
||||
index 317cec25a..12f1124fa 100644
|
||||
--- a/media_softlet/agnostic/common/vp/hal/feature_manager/policy.cpp
|
||||
+++ b/media_softlet/agnostic/common/vp/hal/feature_manager/policy.cpp
|
||||
@@ -1140,6 +1140,12 @@ MOS_STATUS Policy::GetScalingExecutionCaps(SwFilter *feature, bool isHdrEnabled)
|
||||
bool isAlphaSettingSupportedByVebox =
|
||||
IsAlphaSettingSupportedByVebox(scalingParams->formatInput, scalingParams->formatOutput, scalingParams->pCompAlpha);
|
||||
|
||||
+ if (scalingParams->formatOutput == Format_422H)
|
||||
+ {
|
||||
+ VP_PUBLIC_ASSERTMESSAGE("Scaling not support 422H format output.");
|
||||
+ return MOS_STATUS_UNIMPLEMENTED;
|
||||
+ }
|
||||
+
|
||||
// Clean usedForNextPass flag.
|
||||
if (scalingEngine->usedForNextPass)
|
||||
{
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
From b93904533d3ee66c7919fa8e23d26b852a37a917 Mon Sep 17 00:00:00 2001
|
||||
From: Lim Siew Hoon <siew.hoon.lim@intel.com>
|
||||
Date: Tue, 30 Jan 2024 13:27:52 +0800
|
||||
Subject: [PATCH 12/12] [Decode] Fix AVC decode SFC 4K hang issue
|
||||
|
||||
Updated VDSFC input width and height for AVC decode
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/intel-innersource/drivers.gpu.unified/pull/151401]
|
||||
|
||||
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
|
||||
---
|
||||
.../hal/dec/avc/packet/decode_avc_downsampling_packet.cpp | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/media_softlet/agnostic/common/codec/hal/dec/avc/packet/decode_avc_downsampling_packet.cpp b/media_softlet/agnostic/common/codec/hal/dec/avc/packet/decode_avc_downsampling_packet.cpp
|
||||
index e75fd8137..9cc236bd7 100644
|
||||
--- a/media_softlet/agnostic/common/codec/hal/dec/avc/packet/decode_avc_downsampling_packet.cpp
|
||||
+++ b/media_softlet/agnostic/common/codec/hal/dec/avc/packet/decode_avc_downsampling_packet.cpp
|
||||
@@ -59,6 +59,10 @@ MOS_STATUS AvcDownSamplingPkt::InitSfcParams(VDBOX_SFC_PARAMS &sfcParams)
|
||||
|
||||
AvcBasicFeature *avcBasicFeature = dynamic_cast<AvcBasicFeature*>(m_basicFeature);
|
||||
DECODE_CHK_NULL(avcBasicFeature);
|
||||
+
|
||||
+ sfcParams.input.width = avcBasicFeature->m_width;
|
||||
+ sfcParams.input.height = avcBasicFeature->m_height;
|
||||
+
|
||||
CODEC_PICTURE curPic = avcBasicFeature->m_avcPicParams->CurrPic;
|
||||
|
||||
if (avcBasicFeature->m_avcPicParams->seq_fields.mb_adaptive_frame_field_flag == true)
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -19,21 +19,11 @@ REQUIRED_DISTRO_FEATURES = "opengl"
|
|||
DEPENDS += "libva gmmlib"
|
||||
|
||||
SRC_URI = "git://github.com/intel/media-driver.git;protocol=https;nobranch=1 \
|
||||
file://0001-Disable-vp9-padding-on-mtl.patch \
|
||||
file://0002-Force-ARGB-surface-to-tile4-for-ACM.patch \
|
||||
file://0004-Add-device-ID-for-ARL.patch \
|
||||
file://0005-Add-XR24-support-to-DMABuf.patch \
|
||||
file://0006-add-INTEL-MEDIA-ALLOC-refineE-to-specify-the-memory-.patch \
|
||||
file://0007-Skip-report-keys.patch \
|
||||
file://0008-Limit-INTEL-MEDIA-ALLOC-MODE-to-MTL-and-ARL-only.patch \
|
||||
file://0009-Skip-cache-bucket-realloc-for-default-mode-0.patch \
|
||||
file://0010-Fix-failed-4k-video-wall-test-case-and-color-corrupt.patch \
|
||||
file://0011-Disable-422H-format-output.patch \
|
||||
file://0012-Decode-Fix-AVC-decode-SFC-4K-hang-issue.patch \
|
||||
file://0003-Force-ARGB-surface-to-tile4-for-ACM.patch \
|
||||
file://0004-Fix-failed-4k-videowalll-test-case-and-color-corrupt.patch \
|
||||
"
|
||||
|
||||
SRCREV = "a9f272496fc0f3e823cc4a814666ea27b443d902"
|
||||
S = "${WORKDIR}/git"
|
||||
SRCREV = "14e2e7bcf1014186dbf1c099089c7c05cd880ae8"
|
||||
|
||||
COMPATIBLE_HOST:x86-x32 = "null"
|
||||
|
||||
|
@ -48,6 +38,7 @@ 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"
|
|
@ -1,49 +0,0 @@
|
|||
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
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
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>
|
||||
|
|
@ -1,63 +0,0 @@
|
|||
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"
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user