Compare commits

...

730 Commits

Author SHA1 Message Date
Yi Zhao
76ba934953 iucode-tool: update UPSTREAM_CHECK_URI
Update UPSTREAM_CHECK_URI to check the correct latest stable
verison.

Before the patch:
$ devtool latest-version iucode-tool
INFO: Current version: 2.3.1
INFO: Latest version:

After the patch:
$ devtool latest-version iucode-tool
INFO: Current version: 2.3.1
INFO: Latest version: 2.3.1

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
2026-01-01 12:58:23 +05:30
Shruti Raj Vansh Singh
af904290f5 linux-intel/6.12: update to tag lts-v6.12.55-linux-251024T074402Z
Updated kernel cache too.

Signed-off-by: Shruti Raj Vansh Singh <shruti.raj.vansh.singh@intel.com>
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
2025-11-03 22:50:24 +05:30
Shruti Raj Vansh Singh
ca89a1a51e linux-intel-rt/6.12: update to tag lts-v6.12.55-linux-251024T074402Z
Updated kernel cache too.

Signed-off-by: Shruti Raj Vansh Singh <shruti.raj.vansh.singh@intel.com>
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
2025-11-03 22:50:20 +05:30
Yogesh Tyagi
14f233ab41 vpl-gpu-rt: inherit features_check
opengl is not enabled by default with "nodistro". Make sure that layer
comaptibility check does not fail due to this. Fixes:

| ERROR: Nothing PROVIDES 'intel-media-driver' (but
/openembedded-core/meta-intel/recipes-multimedia/vpl/vpl-gpu-rt_25.1.4.bb
DEPENDS on or otherwise requires it)
intel-media-driver was skipped: missing required distro feature
'opengl' (not in DISTRO_FEATURES)

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
2025-11-03 22:45:55 +05:30
Shruti Raj Vansh Singh
5c653790aa linux-intel-rt/6.12: update to tag lts-v6.12.48-linux-250924T142248Z
Updated kernel cache too.

Signed-off-by: Shruti Raj Vansh Singh <shruti.raj.vansh.singh@intel.com>
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
2025-10-30 11:37:59 +05:30
Shruti Raj Vansh Singh
4c2f33933b linux-intel/6.12: update to tag lts-v6.12.48-linux-250924T142248Z
Updated kernel cache too.

Signed-off-by: Shruti Raj Vansh Singh <shruti.raj.vansh.singh@intel.com>
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
2025-10-30 11:37:51 +05:30
Anuj Mittal
c347d0be75
README: change maintainer to Yogesh
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-10-09 09:44:17 +08:00
Yogesh Tyagi
2740652fdb
ipmctl: fix build issue undefined reference to main
- `-pie` is only valid when linking executables (PIE), not shared
  libraries. So remove `-pie` from shared libraries linker flag.

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-10-01 18:01:36 +08:00
Yongxin Liu
f7ba543caa
linux-npu-driver: upgrade 1.17.0 -> 1.23.0
To mitigate version dependency issue between linux-npu-driver and level-zero,
the driver repository now references the third_party/level_zero implementation
within its own codebase rather than relying on the version provided by meta-intel layer.

Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-09-11 16:37:20 +08:00
Praveen Kumar
71e15b1e99
intel-microcode: upgrade 20250512 -> 20250812
Update for functional issues for different processors

Fixes CVEs:
CVE-2025-20109 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01249.html]
CVE-2025-22839 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01310.html]
CVE-2025-22840 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01308.html]
CVE-2025-22889 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01311.html]
CVE-2025-24305 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01313.html]
CVE-2025-32086 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01367.html]
CVE-2025-21090 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01313.html]

Release Note:
https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/tag/microcode-20250812

Signed-off-by: Praveen Kumar <praveen.kumar@windriver.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-08-21 16:08:08 +08:00
Yogesh Tyagi
163ab5f04b
rkcommon : fix test, use fully-qualified rkcommon::math::rsqrt to avoid overload ambiguity
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-08-18 15:49:42 +08:00
Uwe Kleine-König
6a9e47a638
linux-intel/6.12: Drop useless patch
Since commit v6.10-rc1~98^2~59 = 5ef6dc08cfde ("lib/build_OID_registry:
don't mention the full path of the script in output") the purpose of
patch 0001-6.12-lib-build_OID_registry-fix-reproducibility-issues.patch
is already given in plain mainline. The patch only subsitutes one way to
make the build result reproducible by another one.

So drop the patch.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-08-15 16:30:44 +08:00
Yogesh Tyagi
13628c25b6
openvkl : set a baseline policy version for cmake
Cmake upgrade to 4.0+ removes compatibility with versions older than 3.5 [1].

Set a baseline policy version for CMake using
CMAKE_POLICY_VERSION_MINIMUM variable for intel-corei7-64 machine
overrides as well until until upstream source implements the fix.

[1] https://git.yoctoproject.org/poky/commit/?id=2c9a6b4a81b642fc3e6815aa83d1c9bafb56c7db

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-08-04 12:36:12 +08:00
Yogesh Tyagi
299e2cff54
hdcp : drop recipe
hdcp project is no longer maintained so drop the recipe and
other references of hdcp from the layer

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-07-25 14:17:17 +08:00
Yogesh Tyagi
6216104d42
libipt : set a baseline policy version for cmake
Cmake upgrade to 4.0+ removes compatibility with versions older than 3.5 [1].

Set a baseline policy version for CMake using
CMAKE_POLICY_VERSION_MINIMUM variable until until libipt is upgraded to include the fix [2].

[1] https://git.yoctoproject.org/poky/commit/?id=2c9a6b4a81b642fc3e6815aa83d1c9bafb56c7db
[2] fa7d42de25

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-07-25 14:17:17 +08:00
Yogesh Tyagi
16440b8339
ipmctl : set a baseline policy version for cmake
Cmake upgrade to 4.0+ removes compatibility with versions older than 3.5 [1].

Set a baseline policy version for CMake using
CMAKE_POLICY_VERSION_MINIMUM variable until upstream source implements the fix.

[1] https://git.yoctoproject.org/poky/commit/?id=2c9a6b4a81b642fc3e6815aa83d1c9bafb56c7db

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-07-25 14:17:17 +08:00
Yogesh Tyagi
b4a10cc970
openvkl : set a baseline policy version for cmake
Cmake upgrade to 4.0+ removes compatibility with versions older than 3.5 [1].

Set a baseline policy version for CMake using
CMAKE_POLICY_VERSION_MINIMUM variable until upstream source implements the fix.

[1] https://git.yoctoproject.org/poky/commit/?id=2c9a6b4a81b642fc3e6815aa83d1c9bafb56c7db

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-07-25 14:17:17 +08:00
Yogesh Tyagi
e9c7ffd5bb
linux-npu-driver : set a baseline policy version for cmake
Cmake upgrade to 4.0+ removes compatibility with versions older than 3.5 [1].

Set a baseline policy version for CMake using
CMAKE_POLICY_VERSION_MINIMUM variable until upstream source implements the fix.

[1] https://git.yoctoproject.org/poky/commit/?id=2c9a6b4a81b642fc3e6815aa83d1c9bafb56c7db

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-07-25 14:17:17 +08:00
Yogesh Tyagi
5776a3adb8
lms : set a baseline policy version for cmake
Cmake upgrade to 4.0+ removes compatibility with versions older than 3.5 [1].

Set a baseline policy version for CMake using
CMAKE_POLICY_VERSION_MINIMUM variable until upstream source implements the fix.

[1] https://git.yoctoproject.org/poky/commit/?id=2c9a6b4a81b642fc3e6815aa83d1c9bafb56c7db

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-07-25 14:17:17 +08:00
Yogesh Tyagi
585c060c0d
opencl-clang : set a baseline policy version for cmake
Cmake upgrade to 4.0+ removes compatibility with versions older than 3.5 [1].

Set a baseline policy version for CMake using
CMAKE_POLICY_VERSION_MINIMUM variable until upstream source implements the fix.

[1] https://git.yoctoproject.org/poky/commit/?id=2c9a6b4a81b642fc3e6815aa83d1c9bafb56c7db

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-07-25 14:17:13 +08:00
Yogesh Tyagi
96ee6e907d
intel-graphics-compiler : set a baseline policy version for cmake
Cmake upgrade to 4.0+ removes compatibility with versions older than 3.5 [1].

Set a baseline policy version for CMake using
CMAKE_POLICY_VERSION_MINIMUM variable until upstream source implements the fix.

[1] https://git.yoctoproject.org/poky/commit/?id=2c9a6b4a81b642fc3e6815aa83d1c9bafb56c7db

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-07-25 14:16:15 +08:00
Yogesh Tyagi
12a4b73ec8
onednn : set a baseline policy version for cmake
Cmake upgrade to 4.0+ removes compatibility with versions older than 3.5 [1].

Set a baseline policy version for CMake using
CMAKE_POLICY_VERSION_MINIMUM variable until upstream source implements the fix.

[1] https://git.yoctoproject.org/poky/commit/?id=2c9a6b4a81b642fc3e6815aa83d1c9bafb56c7db

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-07-25 14:16:14 +08:00
Yogesh Tyagi
7fc52266ae
intel-media-driver : set a baseline policy version for cmake
Cmake upgrade to 4.0+ removes compatibility with versions older than
3.5 [1].

Set a baseline policy version for CMake using
CMAKE_POLICY_VERSION_MINIMUM variable until intel-media-driver
is upgraded to include the fix [2].

[1] https://patchwork.yoctoproject.org/project/oe-core/cover/20250703132720.3378569-1-Moritz.Haase@bmw.de/
[2] https://github.com/intel/media-driver/pull/1919

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-07-09 17:40:14 +08:00
Yogesh Tyagi
b3670c2765
gmmlib: set a baseline policy version for cmake
Cmake upgrade to 4.0+ removes compatibility with versions older than
3.5 [1].

Set a baseline policy version for CMake using
CMAKE_POLICY_VERSION_MINIMUM variable until intel-media-driver
is upgraded to include the fix [2].

[1] https://patchwork.yoctoproject.org/project/oe-core/cover/20250703132720.3378569-1-Moritz.Haase@bmw.de/
[2] https://github.com/intel/gmmlib/commit/af5f033fbe71da454953e04db9804443e2cec74

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-07-09 17:39:02 +08:00
Changqing Li
7531d25480
ixgbe/ixgbevf/backport-iwlwifi: Adapt to S/UNPACKDIR changes
Remove or update S definitions as required to work with oe-core
S/UNPACKDIR changes.

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-07-09 10:51:58 +08:00
Yogesh Tyagi
948f32898c
setup-intel-oneapi-env : Fix S variable warning
Fix the following warning:
the directory ${UNPACKDIR}/${BP} (/build/tmp/work/...../sources/setup-intel-oneapi-env-*)
pointed to by the S variable doesn't exist - please set S within the recipe to
point to where the source has been unpacked to

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-07-08 13:07:14 +08:00
Yogesh Tyagi
da0d981264
slimboot-tools: Update to match S/UNPACKDIR changes
Update to match the recent changes in OE-Core where the unpack layout changed.
[https://patchwork.yoctoproject.org/project/oe-core/patch/20250616095000.2918921-1-alex.kanavin@gmail.com/]

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-07-08 12:59:33 +08:00
Ying Lun Neoh
9d929ecc54
backport-iwlwifi: upgrade core79 -> core96
Signed-off-by: Ying Lun Neoh <ying.lun.neoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-07-07 16:43:28 +08:00
karn.jye.lau
45bdd23171
ospray: add SRCREV_FORMAT
SRCREV_FORMAT variable must be set when multiple SCMs are used.

Signed-off-by: karn.jye.lau <karn.jye.lau@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-07-07 16:43:15 +08:00
Yogesh Tyagi
fbaf7a7dbf
recipes: Update to match S/UNPACKDIR changes
Update to match the recent changes in OE-Core where the unpack layout changed.
[https://patchwork.yoctoproject.org/project/oe-core/patch/20250616095000.2918921-1-alex.kanavin@gmail.com/]

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-07-04 17:49:37 +08:00
Yogesh Tyagi
fc53424964
layer.conf: Add the new release layer series
Add the whinlatter release as being compatible with the layer.

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-06-24 13:00:05 +08:00
Yogesh Tyagi
5640f6592c
linux-npu-driver : fix multilib install issue
Make sure libraries are installed correctly even when libdir is not /usr/lib.
Fixes:

ERROR: linux-npu-driver-1.17.0-r0 do_package: QA Issue: linux-npu-driver: Files/directories were installed but not shipped in any package:
  /lib
  /lib/firmware
  /lib/firmware/updates
  /lib/firmware/updates/intel
  /lib/firmware/updates/intel/vpu
  /lib/firmware/updates/intel/vpu/vpu_40xx_v0.0.bin
  /lib/firmware/updates/intel/vpu/vpu_37xx_v0.0.bin
  /lib/firmware/updates/intel/vpu/mtl_vpu_v0.0.bin
  /lib/firmware/updates/intel/vpu/vpu_40xx_v1.bin
  /lib/firmware/updates/intel/vpu/vpu_37xx_v1.bin
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-05-28 17:50:58 +08:00
Yogesh Tyagi
6dc5579712
lms : fix build issues with gcc 15
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-05-28 13:05:16 +08:00
Ying Lun Neoh
677923517b
linux-intel/6.12: update to tag lts-v6.12.27-linux-250514T191408Z
Updated kernel cache too.

Signed-off-by: Ying Lun Neoh <ying.lun.neoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-05-26 10:29:19 +08:00
Ying Lun Neoh
21919a4b11
linux-intel-rt/6.12: update to tag lts-v6.12.27-linux-250514T191408Z
Updated kernel cache too.

Signed-off-by: Ying Lun Neoh <ying.lun.neoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-05-26 10:29:18 +08:00
Yogesh Tyagi
b5c65864fa
intel-compute-runtime : upgrade 24.39.31294.12 -> 25.13.33276.16
Drop patch already merged upstream

Release Notes:
https://github.com/intel/compute-runtime/releases/tag/25.13.33276.16

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-05-20 15:35:04 +08:00
Yogesh Tyagi
343435a2f1
intel-graphics-compiler : upgrade 2.5.6 -> 2.10.10
Refresh patches:
0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch
0001-Build-not-able-to-locate-BiFManager-bin.patch

Release Notes:
https://github.com/intel/intel-graphics-compiler/releases/tag/v2.10.10

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-05-20 15:35:04 +08:00
Yogesh Tyagi
331139a64b
level-zero: upgrade 1.17.42 -> 1.21.1
Release Notes:
https://github.com/oneapi-src/level-zero/releases/tag/v1.21.1

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-05-20 15:35:04 +08:00
Yogesh Tyagi
802a2dcc3d
intel-graphics-compiler : upgrade 1.0.17791.18 -> 2.5.6
Refresh patches:
0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch
0001-external-SPIRV-Tools-change-path-to-tools-and-header.patch
0003-Improve-Reproducibility-for-src-package.patch

Release Notes:
https://github.com/intel/intel-graphics-compiler/releases/tag/v2.5.6

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-05-20 15:34:44 +08:00
Yogesh Tyagi
f7e64d601e
linux-npu-driver : fix multilib install issue
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-05-19 14:00:32 +08:00
Yogesh Tyagi
c002b58a31
linux-npu-driver : upgrade 1.2.0 -> 1.17.0
* Fix warning _FORTIFY_SOURCE requires compiling with optimization (-O)
* Drop the patches already merged upstream

License Update:
LICENSE.md : copyright years updated
third-party-programs.txt : jquery, systemd, libudev removed
Perfetto, Level0 added
third_party/vpux_elf/LICENSE : copyright years updated

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-05-19 14:00:22 +08:00
Munirah Izyani Mohammad Amin
336b86a95d
itt: upgrade 3.25.3 -> 3.26.1
Release Notes:
https://github.com/intel/ittapi/releases/tag/v3.26.1

Signed-off-by: Munirah Izyani Mohammad Amin <munirah.izyani.mohammad.amin@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-05-19 11:59:21 +08:00
Yogesh Tyagi
03ca9fe04a
libvpl-tools : backport patches to fix build issues with gcc-15
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-05-15 21:30:57 +08:00
Sudhir Sharma
6605638e5b
oneDPL : 2022.3.0 -> 2022.8.0
Both path for License.txt and third-party-programs.txt is changed.
MIT License has been added for third party 'Detours'
component in 'third-party-programs.txt' license file.
71460896d2

Release Notes:
https://github.com/uxlfoundation/oneDPL/releases/tag/oneDPL-2022.8.0-release

Signed-off-by: Sudhir Sharma <sudhir.sharma@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-05-15 21:30:57 +08:00
Ying Lun Neoh
5202c13044
linux-intel/6.12 : update to lts-v6.12.24-linux-250501T040919Zx
Signed-off-by: Ying Lun Neoh <ying.lun.neoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-05-15 21:30:55 +08:00
Ying Lun Neoh
9d4194af23
linux-intel-rt/6.12 : update to tag lts-v6.12.24-linux-250501T040919Z
Signed-off-by: Ying Lun Neoh <ying.lun.neoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-05-15 21:30:47 +08:00
Munirah Izyani Mohammad Amin
74e63d3834
intel-cmt-cat: upgrade 24.05 -> 25.04
Release Note:
https://github.com/intel/intel-cmt-cat/releases/tag/v25.04

Signed-off-by: Munirah Izyani Mohammad Amin <munirah.izyani.mohammad.amin@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-05-15 21:04:39 +08:00
Sudhir Sharma
74fc129a2c
libipt : upgrade 2.1.1 -> 2.1.2
* Support latest processors.
* Bug fixes.

License-Update: License year is updated.

Release notes:
https://github.com/intel/libipt/releases/tag/v2.1.2

Signed-off-by: Sudhir Sharma <sudhir.sharma@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-05-14 11:53:01 +08:00
Yogesh Tyagi
1bc9b44c76
intel-microcode: upgrade 20250211 -> 20250512
Update for functional issues for different processors

Fixes CVEs:
CVE-2024-28956 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01153.html]
CVE-2025-24495 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01322.html]

Release Notes:
https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/tag/microcode-20250512

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-05-14 11:52:35 +08:00
Sudhir Sharma
1616b7c807
isa-l : upgrade 2.31.0 -> 2.31.1
* fixes return type for PowerPC _gf_vect_mul_base function.
* fixes isal_deflate_icf_finish_lvl1 dispatcher for aarch64.
* fixes CRC compilation on aarch64.
* fixes MacOS-14 compilation.
* fixes MinGW build.
* fixes Clang compilation on igzip library on aarch64.
* fixes spelling mistakes and typos.
* fixes Windows build on erasure code performance applications.
* fixes FreeBSD build warnings.
* fixes compilation with YASM.

Release Notes:
https://github.com/intel/isa-l/releases/tag/v2.31.1

Signed-off-by: Sudhir Sharma <sudhir.sharma@intel.com>
2025-05-08 17:11:03 +08:00
Lim Siew Hoon
ef8035b48f
libvpl-tools: upgrade 1.2.0 -> 1.3.0
Release notes:
https://github.com/intel/libvpl-tools/releases/tag/v1.3.0

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-05-06 09:29:20 +08:00
Lim Siew Hoon
7bb5971efa
vpl-gpu-rt: upgrade 24.4.4 -> 25.1.5
Releases notes:
https://github.com/intel/vpl-gpu-rt/releases/tag/intel-onevpl-25.1.4

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-05-06 09:29:13 +08:00
Lim Siew Hoon
3193965523
libvpl: upgrade 2.13 -> 2.14
Release notes:
https://github.com/intel/libvpl/releases/tag/v2.14.0

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-05-06 09:29:04 +08:00
Lim Siew Hoon
172651fbb9
intel-media-driver: upgrade 24.4.4 -> 25.1.4
Drop list of patches already merged
 - 0001-Change-RGB-mask-and-order-for-BMG.patch

Release notes:
https://github.com/intel/media-driver/releases/tag/intel-media-25.1.4

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-05-06 09:28:52 +08:00
Lim Siew Hoon
046ad0ede1
gmmlib: upgrade 22.5.5 -> 22.7.1
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-05-06 09:27:14 +08:00
Yogesh Tyagi
6311c5a403
intel-mediasdk : drop recipe
intel-mediasdk project is no longer maintained so drop the recipe and
other references of intel-mediasdk from the layer

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-05-02 23:27:37 +08:00
Yogesh Tyagi
0badd9a460
linux-intel-rt/6.12 : update to lts-v6.12.22-linux-250407T141306Z
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-04-28 21:09:25 +08:00
Yogesh Tyagi
cd4995d855
linux-intel/6.12 : update to lts-v6.12.22-linux-250407T141306Z
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-04-28 21:09:18 +08:00
Naveen Saini
f1b9bf5f10 recipes: Fix variable assignment whitespace
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
2025-04-23 11:14:28 +08:00
Richard Purdie
6eeb304b09
recipes: Improve whitespace issues
There is a pending bitbake patch which will warning on assignment whitespace
issues. Fix the handful of issues in meta-intel to avoid the warnings and
improve readability.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-04-14 11:33:36 +08:00
Richard Purdie
2506b743ab
layer.conf: Add the new release layer series
Add the walnascar release as being compatible with the layer.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-04-02 09:03:00 +08:00
Yogesh Tyagi
79b1fd3430
linux-intel-rt/6.11: Drop mainline 6.11-rt recipe
* Use LTS 6.12 for mainline RT as well, as 6.12 is the latest RT/Non-RT kernel
* 6.12 recipe is already added

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-03-10 10:02:32 +08:00
Yogesh Tyagi
cb85578bf3
linux-intel-rt/6.12: Adapt 6.6-rt recipe for 6.12-rt
* Use LTS 6.12 for RT as well, as 6.12 now has a single branch for both RT and non-RT kernels.
* Rename the patch:
  linux-intel/0001-6.11-6.12-lib-build_OID_registry-fix-reproducibility-issues.patch
* Drop the following patches, as they were specific to the 6.6 kernel:
  0001-6.6-lib-build_OID_registry-fix-reproducibility-issues.patch
  0001-6.6-vt-conmakehash-improve-reproducibility.patch

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-03-10 10:02:28 +08:00
Yogesh Tyagi
8bd6506e1e
meta-intel.inc: set PREFERRED_VERSION for linux-intel
* set kernel version to 6.12 for both lts and mainline (poky-altcfg)
  since it is the latest kernel
* 6.12 has a single branch for rt and non rt so use 6.12 for rt as well

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-03-10 10:02:22 +08:00
Yogesh Tyagi
db1f123d8b
linux-intel/6.12: add recipe
* Convert the mainline kernel 6.12 recipe to lts kernel 6.12 recipe
* Drop recipe for linux-intel-lts 6.6 kernel
* Use the 6.12 kernel tag lts-v6.12.16-linux-250225T162742Z

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-03-10 10:02:16 +08:00
Yogesh Tyagi
81b110e4fa
linux-intel: switch kernel-meta SRC_URI from git to https
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-03-06 22:41:13 +08:00
Lim Siew Hoon
b30ef8c8df
vpl-gpu-rt: upgrade 24.4.1 -> 24.4.4
Release Notes:
https://github.com/intel/vpl-gpu-rt/releases/tag/intel-onevpl-24.4.4

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-02-13 23:33:59 +08:00
Lim Siew Hoon
7137693e92
libvpl: upgrade 2.12.0 -> 2.13.0
Release Notes:
https://github.com/intel/libvpl/releases/tag/v2.13.0

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-02-13 23:33:59 +08:00
Lim Siew Hoon
ee209683b7
intel-media-driver: upgrade 24.4.1 -> 24.4.4
Drop list of patches already merged:
 - 0001-Change-RGB-mask-and-order.patch
 - 0001-Add-Y210-caps-for-BMG-HEVC-encode.patch

Release notes:
https://github.com/intel/media-driver/releases/tag/intel-media-24.4.4

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-02-13 23:33:59 +08:00
Lim Siew Hoon
c055eca643
gmmlib: upgrade 22.5.2 -> 22.5.5
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-02-13 23:33:59 +08:00
Yogesh Tyagi
157dec4d8e
intel-microcode: upgrade 20241112 -> 20250211
Update for functional issues for different processors

Fixes CVEs:
CVE-2024-31068 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01166.html]
CVE-2024-36293 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01213.html]
CVE-2023-43758 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01139.html]
CVE-2024-39355 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01228.html]
CVE-2024-37020 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01194.html]

Release notes:
https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/tag/microcode-20250211

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-02-13 23:33:54 +08:00
Yogesh Tyagi
c7c7dface3
intel-compute-runtime : upgrade 24.26.30049.6 -> 24.39.31294.12
Refresh patch 0002-Build-not-able-to-locate-cpp_generation_tool.patch

Release Notes:
https://github.com/intel/compute-runtime/releases/tag/24.39.31294.12

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-01-15 09:51:32 +08:00
Yogesh Tyagi
c4cd14c32f
intel-graphics-compiler : upgrade 1.0.17193.4 -> 1.0.17791.18
Refresh patch dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch

Release Notes:
https://github.com/intel/intel-graphics-compiler/releases/tag/igc-1.0.17791.18

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-01-15 09:51:30 +08:00
Yogesh Tyagi
f3f6c46ab4
level-zero: upgrade 1.15.8 -> 1.17.42
Release Notes:
https://github.com/oneapi-src/level-zero/releases/tag/v1.17.42

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-01-15 09:51:24 +08:00
Yogesh Tyagi
b0fe7e45ab
meta-intel.inc: set PREFERRED_VERSION for altcfg kernel to 6.12
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-12-20 18:14:02 +08:00
Yogesh Tyagi
40ad847196 linux-intel-rt/6.11 : update the name of the patch
* Use updated name of the patch 0001-6.11-6.12--lib-build_OID_registry-fix-reproducibility-issues.patch
  which has compatibility with both 6.11 and 6.12 kernel

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-12-19 22:47:46 +08:00
Yogesh Tyagi
0a941ec0af linux-intel/6.12: add recipe
* Add recipe for linux-intel Mainline 6.12 kernel
* Drop recipe for linux-intel Mainline 6.11 kernel
* Use the 6.12 kernel tag mainline-tracking-pre-prod-v6.12-linux-241211T020725Z
* Rename the patch 0001-6.11-lib-build_OID_registry-fix-reproducibility-issues.patch

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-12-19 22:47:42 +08:00
Yogesh Tyagi
ad97cfa0a7 linux-intel-rt/6.6 : update to tag lts-v6.6.63-rt46-preempt-rt-241126T190416Z
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-12-19 22:47:38 +08:00
Yogesh Tyagi
e2d83fe2c2 linux-intel/6.6 : update to tag lts-v6.6.63-linux-241126T173815Z
* Refresh patch 0001-6.6-lib-build_OID_registry-fix-reproducibility-issues.patch

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-12-19 22:47:32 +08:00
Lim Siew Hoon
d0150964ca libvpl-tools: upgrade 1.0.0 -> 1.2.0
Drop a list of patches already merged:
 - 0001-Correct-va-attrib-for-vaapiallocator.patch
 - 0002-Enable-YUV400-JPEG-Enc-for-vaapi.patch \
 - 0003-Enable-YUV400-JPEG-Enc-for-linux-vaapi-only.patch \
 - 0004-Fix-rDRM-DMA-methods.patch \
 - 0005-Force-allocator-to-use-DRM_PRIME-for-rDRM.patch \
 - 0006-Enable-VVC-in-sample_decode.patch \
 - 0007-Fix-X11-rendering-for-xe.patch \
 - 0008-Fix-code-formatting.patch \

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-11-28 09:01:57 +08:00
Lim Siew Hoon
c0986a2c06 vpl-gpu-rt: upgrade 24.3.2 -> 24.4.1
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-11-27 15:28:02 +08:00
Lim Siew Hoon
7092e59231 intel-media-driver: upgrade 24.3.2 -> 24.4.1
Add bug fixed:
 - 0001-Add-Y210-caps-for-BMG-HEVC-encode.patch
 - 0001-Change-RGB-mask-and-order.patch
 - 0001-Change-RGB-mask-and-order-for-BMG.patch

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-11-27 15:28:02 +08:00
Lim Siew Hoon
31ebf1b346 gmmlib: upgrade 22.5.1 -> 22.5.2
Add bug fixed on BMG platform:
 - 0001-Extend-helper-Macros-219.patch

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-11-27 15:27:56 +08:00
Yogesh Tyagi
cf1f250ae7 intel-microcode: upgrade 20241029 -> 20241112
Update for functional issues for different processors

Fixes CVEs:
CVE-2024-21853 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01101.html]
CVE-2024-23918 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01079.html]
CVE-2024-21820 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01079.html]
CVE-2024-24968 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01097.html]
CVE-2024-23984 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01103.html]

Release notes:
https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/tag/microcode-2024112

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-11-18 22:49:18 +08:00
Anuj Mittal
9589e68d0a core-image-rt-sdk: remove debug-tweaks from IMAGE_FEATURES
debug-tweaks as a feature has been removed and replaced.

https://git.yoctoproject.org/poky/commit/?id=43b8b3fa72d75d8d82a478613a4d9bf4645b5389

The root login when required should be enabled by adding the new features
to EXTRA_IMAGE_FEATURES.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-11-13 12:27:18 +08:00
Yogesh Tyagi
544eaef721 intel-microcode: upgrade 20240910 -> 20241029
Update for functional issues for different processors

Release notes:
https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/tag/microcode-20241029

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-11-06 13:23:12 +08:00
Yogesh Tyagi
42b6cfec17
thermald : upgrade 2.5.7 -> 2.5.8
Drop already merged patch 0001-Makefile-Fix-build-Issue.patch

Release Notes:
https://github.com/intel/thermal_daemon/releases/tag/v2.5.8

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-10-22 20:09:41 +08:00
Yogesh Tyagi
da2013006a
metrics-discovery : upgrade 1.13.174 -> 1.13.178
Release Notes:
https://github.com/intel/metrics-discovery/releases/tag/metrics-discovery-1.13.178

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-10-22 20:09:41 +08:00
Yogesh Tyagi
7d826adfe7
ipmctl : upgrade 03.00.00.0485 -> 03.00.00.0499
Refresh patch 0001-Ignore-STATIC_ASSERTs-and-NULL-define-for-os-and-ut-builds.patch

Release Notes:
ipmctl:
https://github.com/intel/ipmctl/releases/tag/v03.00.00.0499

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-10-22 20:09:40 +08:00
Yogesh Tyagi
51cc236453
itt : upgrade 3.25.2-> 3.25.3
Release Notes:
https://github.com/intel/ittapi/releases/tag/v3.25.3

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-10-22 20:09:40 +08:00
Yogesh Tyagi
feb12460c9
oidn: fix useless-rpaths QA issue
Delete rpath from binaries and libraries

Error Log:
oidn-2.1.0-r0 do_package_qa: QA Issue: oidn: /usr/bin/oidnBenchmark contains probably-redundant RPATH /usr/lib [useless-rpaths]
oidn-2.1.0-r0 do_package_qa: QA Issue: oidn: /usr/bin/oidnTest contains probably-redundant RPATH /usr/lib [useless-rpaths]
oidn-2.1.0-r0 do_package_qa: QA Issue: oidn: /usr/lib/libOpenImageDenoise_core.so.2.1.0 contains probably-redundant RPATH /usr/lib [useless-rpaths]
oidn-2.1.0-r0 do_package_qa: QA Issue: oidn: /usr/lib/libOpenImageDenoise.so.2.1.0 contains probably-redundant RPATH /usr/lib [useless-rpaths]
oidn-2.1.0-r0 do_package_qa: QA Issue: oidn: /usr/lib/libOpenImageDenoise_device_cpu.so.2.1.0 contains probably-redundant RPATH /usr/lib [useless-rpaths]

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-10-16 21:14:35 +08:00
Yogesh Tyagi
35d9611724
meta-intel.inc: set default PREFERRED_VERSION for mainline rt to 6.11 rt kernel
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-10-15 14:40:23 +08:00
Yogesh Tyagi
592703f390
linux-intel-rt/6.11: add recipe
Add recipe for NEX Mainline 6.11 rt kernel.
Use the 6.11 rt kernel tag mainline-tracking-pre-prod-v6.11-rt7-preempt-rt-240925T152713Z

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-10-15 14:40:22 +08:00
Preeti Sachan
d0cca0cf28
slimboot-tools: update to latest commit
Updated commit to include GenContainer.py fix to set
default auth type correctly.

Signed-off-by: Preeti Sachan <preeti.sachan@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-10-10 12:35:44 +08:00
Yogesh Tyagi
f4085cf2ba
meta-intel.inc: set default PREFERRED_VERSION for mainline to 6.11 kernel
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-10-10 09:15:57 +08:00
Yogesh Tyagi
a38d69ee3d
linux-intel/6.11 : update to tag mainline-tracking-pre-prod-v6.11-linux-240925T085433Z
* Drop recipe for 6.10 kernel
* Drop the patch 0001-6.10-vt-conmakehash-improve-reproducibility.patch
* Add recipe for 6.11 kernel

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-10-10 09:15:57 +08:00
Lim Siew Hoon
945c5bbb80
libvpl-tools: backport list of bug fixed in sample
backport list code fixed for sample app from upstream:
 - 0001-Correct-va-attrib-for-vaapiallocator.patch
 - 0002-Enable-YUV400-JPEG-Enc-for-vaapi.patch
 - 0003-Enable-YUV400-JPEG-Enc-for-linux-vaapi-only.patch
 - 0004-Fix-rDRM-DMA-methods.patch
 - 0005-Force-allocator-to-use-DRM_PRIME-for-rDRM.patch
 - 0006-Enable-VVC-in-sample_decode.patch
 - 0007-Fix-X11-rendering-for-xe.patch
 - 0008-Fix-code-formatting.patch

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-10-10 09:15:19 +08:00
Lim Siew Hoon
3b4ab5676d
libvpl-tools: add 1.0.0 version
Command line tools application that remove from libvpl
start from 2.11.0 version.

Release notes:
https://github.com/intel/libvpl-tools/releases/tag/v1.0.0

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-10-10 09:07:34 +08:00
Lim Siew Hoon
9bc4ada2f2
vpl-gpu-rt: upgrade 24.1.5 -> 24.3.2
Release notes:
https://github.com/intel/vpl-gpu-rt/releases/tag/intel-onevpl-24.3.2

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-09-30 11:01:33 +08:00
Lim Siew Hoon
acb6754d4f
libvpl: upgrade 2.10.2 -> 2.12.0
Removed all related command line tools.
They have been moved to a separate repository since
2.11.0 version.
(https://github.com/intel/libvpl-tools)

Release notes:
https://github.com/intel/libvpl/releases/tag/v2.12.0

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-09-30 11:01:30 +08:00
Lim Siew Hoon
86a337d450
intel-media-driver: upgrade 24.1.5 -> 24.3.2
Drop patches already merged:
 - 0001-Disable-vp9-padding-on-mtl.patch
 - 8aa866dc650e6b0e0b7425bafc7b1039232c377a.patch

Rebased patches:
 - 0001-Force-ARGB-surface-to-tile4-for-ACM.patch

code fixed for videowall issue:
 - 0001-Fix-failed-4k-videowalll-test-case-and-color-corrupt.patch

Release notes:
https://github.com/intel/media-driver/releases/tag/intel-media-24.3.2

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-09-30 10:11:47 +08:00
Lim Siew Hoon
fd8ccbdf1e
libva-utils: upgrade 2.21.0 -> 2.22.0
Release notes:
https://github.com/intel/libva-utils/releases/tag/2.22

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-09-30 09:44:12 +08:00
Lim Siew Hoon
438897ccab
libva: upgrade 2.21.0 -> 2.22.0
Release notes:
https://github.com/intel/libva/releases/tag/2.22.0

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-09-30 09:44:12 +08:00
Lim Siew Hoon
d007bbd936
gmmlib: upgrade 22.3.18 -> 22.5.1
Drop patches already merged:
 - 0001-Add-new-DG2-device-IDs-194.patch

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-09-30 09:44:12 +08:00
Yogesh Tyagi
4b40ffcc8d
intel-microcode: upgrade 20240813 -> 20240910
Update for functional issues for different processors

Fixes CVEs:
CVE-2024-23984 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01103.html]
CVE-2024-24968 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01097.html]

Release notes:
https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/tag/microcode-20240910

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-09-12 17:18:08 +08:00
Yogesh Tyagi
8c4ea4cd2f linux-intel : Add space in SRC_URI:append
Add space before file:// in SRC_URI:append to avoid concatenation
issues with other SRC_URI:append

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-08-30 15:45:03 +08:00
Yogesh Tyagi
67c156ac9f meta-intel.inc: set default PREFERRED_VERSION for mainline to 6.10 kernel
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-08-29 09:49:18 +08:00
Yogesh Tyagi
740eed7a7d linux-intel/6.10 : update to tag mainline-tracking-v6.10-linux-240717T063713Z
* Drop recipe for 6.8 kernel
* Add recipe for 6.10 kernel
* Move the patches specific to kernel 6.10 to the recipe

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-08-29 09:49:18 +08:00
Yogesh Tyagi
25debfe314 linux-intel-rt/6.6 : update to tag lts-v6.6.44-rt39-preempt-rt-240809T014856Z
Move the patches specific to kernel 6.6 to 6.6 recipe

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-08-29 09:49:18 +08:00
Yogesh Tyagi
0a46de4a5d linux-intel/6.6 : update to tag lts-v6.6.44-linux-240808T092831Z
Move the patches specific to kernel 6.6 to 6.6 recipe

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-08-29 09:49:18 +08:00
Yogesh Tyagi
d6be707bfb itt : upgrade 3.25.1 -> 3.25.2
Release Notes:
https://github.com/intel/ittapi/releases/tag/v3.25.2

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-08-23 15:58:53 +08:00
Yogesh Tyagi
c95fce3af3 onednn : 3.5.1 -> 3.5.3
Release Notes:
https://github.com/oneapi-src/oneDNN/releases/tag/v3.5.3

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-08-23 15:58:53 +08:00
Yogesh Tyagi
a9a49e3e1a metrics-discovery : upgrade 1.12.172 -> 1.13.174
License-Update:
Copyright years updated

Release Notes:
https://github.com/intel/metrics-discovery/releases/tag/metrics-discovery-1.13.174

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-08-23 15:58:53 +08:00
Yogesh Tyagi
1f08cf063e intel-compute-runtime : upgrade 24.22.29735.20 -> 24.26.30049.6
* Refresh patch

Release Notes:
https://github.com/intel/compute-runtime/releases/tag/24.26.30049.6

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-08-23 15:58:53 +08:00
Yogesh Tyagi
2ed565749c intel-graphics-compiler : upgrade 1.0.16900.23 -> 1.0.17193.4
Release Notes:
https://github.com/intel/intel-graphics-compiler/releases/tag/igc-1.0.17193.4

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-08-23 15:58:53 +08:00
Yogesh Tyagi
5d1f6d9422 intel-microcode: upgrade 20240531 -> 20240813
Update for functional issues for different processors

Fixes CVEs:
CVE-2024-24853 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01083.html]
CVE-2024-25939 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01118.html]
CVE-2024-24980 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01100.html]
CVE-2023-42667 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01038.html]
CVE-2023-49141 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01046.html]

Release notes:
https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/tag/microcode-20240813

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-08-21 15:29:01 +08:00
Yogesh Tyagi
0f83a00783 ospray : upgrade 3.1.0 -> 3.2.0
Release Notes:
https://github.com/RenderKit/ospray/releases/tag/v3.2.0

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-07-30 09:25:49 +08:00
Yogesh Tyagi
373080d3ff onednn : 3.4.3 -> 3.5.1
Release Notes:
https://github.com/oneapi-src/oneDNN/releases/tag/v3.5.1

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-07-30 09:25:49 +08:00
Yogesh Tyagi
b71661ad7a rkcommon : upgrade 1.13.0 -> 1.14.0
Release Notes:
https://github.com/ospray/rkcommon/releases/tag/v1.14.0

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-07-30 09:25:49 +08:00
Yogesh Tyagi
debe7a7598 embree : upgrade 4.3.1 -> 4.3.3
Release Notes:
https://github.com/RenderKit/embree/releases/tag/v4.3.3

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-07-30 09:25:49 +08:00
Yogesh Tyagi
78b843d359 ixgbevf : upgrade 4.19.4 -> 4.19.10
Release Notes:
https://sourceforge.net/projects/e1000/files/ixgbevf%20stable/4.19.10/

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-07-30 09:25:49 +08:00
Yogesh Tyagi
1cf46a8ab0 ixgbe : upgrade 5.20.3 -> 5.20.10
Release Notes:
https://sourceforge.net/projects/e1000/files/ixgbe%20stable/5.20.10/

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-07-30 09:25:49 +08:00
Yogesh Tyagi
99ecd5c06e metrics-discovery : upgrade 1.12.171 -> 1.12.172
Release Notes:
https://github.com/intel/metrics-discovery/releases/tag/metrics-discovery-1.12.172

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-07-30 09:25:49 +08:00
Yogesh Tyagi
3505ed2bfa intel-cmt-cat : upgrade 23.11.1 -> 24.05
Release Notes:
https://github.com/intel/intel-cmt-cat/releases/tag/v24.05

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-07-30 09:25:49 +08:00
Yogesh Tyagi
ea270e6f7b itt : upgrade 3.24.8 -> 3.25.1
x86_64 file no longer there in ittnotify/fortran/posix
so remove code from recipe which tries to delete this file

Release Notes:
https://github.com/intel/ittapi/releases/tag/v3.25.1

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-07-30 09:25:49 +08:00
Yogesh Tyagi
ece4cf8c32 intel-compute-runtime : upgrade 24.13.29138.7 -> 24.22.29735.20
* Refresh patches
* Drop backported patch f10439aea214984a060566831f63d3aa198ef1b8.patch

Release Notes:
https://github.com/intel/compute-runtime/releases/tag/24.22.29735.20

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-07-30 09:25:49 +08:00
Yogesh Tyagi
cea3080350 intel-graphics-compiler : upgrade 1.0.16510.2 -> 1.0.16900.23
Refresh patches

Release Notes:
https://github.com/intel/intel-graphics-compiler/releases/tag/igc-1.0.16900.23

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-07-30 09:25:49 +08:00
Yogesh Tyagi
e973862547 openvino-inference-engine : Remove openvino related recipes and tests
* Remove all openvino related recipes, tests and other data from meta-intel
  layer as a new layer (meta-oepnvino) specific to openvino has been created.

* Update openvino documentation

meta-openvino layer URL:
https://github.com/intel/meta-openvino

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-07-12 16:40:57 +08:00
Anuj Mittal
ea0a7de92f tested_hardware.md: refresh list of tested platforms
Amston Lake is also tested and Elkhart Lake is supported/tested only
with intel-corei7-64.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-06-18 12:05:43 +08:00
Jianpeng Chang
a070dff830 itt: upgrade v3.24.7 -> v3.24.8
Signed-off-by: Jianpeng Chang <jianpeng.chang.cn@windriver.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-06-18 10:27:32 +08:00
Anuj Mittal
263f8cb810 onednn: upgrade 3.4.1 -> 3.4.3
Release notes:
https://github.com/oneapi-src/oneDNN/releases/tag/v3.4.2
https://github.com/oneapi-src/oneDNN/releases/tag/v3.4.3

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-06-11 11:34:41 +08:00
Anuj Mittal
8cbeba7725 ispc: upgrade 1.23.0 -> 1.24.0
Language changes:
    - Added support for non-type template parameters. Uniform integers
      and enums can be used now as template parameters.
    - Added dot product functions for unsigned and signed int8 and int16
      types.  They leverage AVX-VNNI and AVX512-VNNI instructions if
      supported by targets (docs).
    - Added macro definitions for numeric limits.

New targets:
    - avx2vnni-i32x4, avx2vnni-i32x8, avx2vnni-i32x16 with AVX-VNNI
      instruction support,
    - avx512icl-x4, avx512icl-x8, avx512icl-x16, avx512icl-x32 and
      avx512icl-x64 with AVX512-VNNI instruction support.

Code generation:
    - Fixed generation of code for GPU when unnecessary vectorized
      instruction are used during address arithmetic, e.g., for
      accessing fields of varying structures (#2846).
    - Improved generated code for cases when foreach loop iteration
      domain is less than the target width (#2836 ).

Compiler switches behavior:
    - --pic command line flag now corresponds to the -fpic flag of Clang
      and GCC, whereas the newly introduced --PIC corresponds to -fPIC.

Bug fixes:
    - The implementation of round standard library function was aligned
      across all targets. It may potentially affect the results of the
      code that uses this function for the following targets: avx2-i16x16,
      avx2-i8x32 and all avx512 targets (#2793).
    - Fixed cases when unwind info were not generated for functions.
      This impacted debugging and profiling on Windows (#2842).
    - Fixed broken targets sse4-i8xN and avx2-i8xN (#2800).

More details:
https://github.com/ispc/ispc/releases/tag/v1.24.0

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-06-10 15:10:51 +08:00
Anuj Mittal
6a2114ac03 intel-crypto-mb: upgrade 2021.11.1 -> 2021.12.1
License-Update: Same license, delete section on CMake

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-06-10 13:44:43 +08:00
Anuj Mittal
4f4e6d763c intel-microcode: upgrade 20240514 -> 20240531
Fixes functional issues for GLK. Release notes:

https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/tag/microcode-20240531

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-06-04 09:34:32 +08:00
Anuj Mittal
d9c5f429a1 embree: fix UPSTREAM_CHECK_GITTAGREGEX
Match only the releases and not tags like v4.3.2-blender.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-06-04 09:34:32 +08:00
Anuj Mittal
d965d9ab8e embree: remove incorrect license value
'syrah' is not a license name. It should be BSD-3-Clause as per the
license listed in third-party-programs.txt.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-06-04 09:32:36 +08:00
Naveen Saini
c849f41d21 linux-intel: enable Intel NPU config
Enables Intel NPU (14th generation Intel CPU (Meteor Lake) or newer)
which is a CPU-integrated inference accelerator for
Computer Vision and Deep Learning applications.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-05-30 17:01:57 +08:00
Naveen Saini
6846d34df3 linux-intel-rt/6.6: update to tag lts-v6.6.30-rt30-preempt-rt-240520T163730Z
Update kernel-cache too.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-05-30 17:01:57 +08:00
Naveen Saini
3344a55d26 linux-intel/6.6: update to tag lts-v6.6.30-linux-240517T123905Z
No need to enable IOMMU explicitly [1]

[1] https://git.yoctoproject.org/yocto-kernel-cache/commit/?h=yocto-6.6&id=49698cadd79745fa26aa7ef507c16902250c1750

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-05-30 17:01:57 +08:00
Naveen Saini
83c3b371ca linux-intel/6.8: update to tag mainline-tracking-v6.8-linux-240509T064507Z
No need to enable IOMMU explicitly [1]

[1] https://git.yoctoproject.org/yocto-kernel-cache/commit/?id=c4e3facab8b3be91a10c99ac66e8c3a4c7696075

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-05-30 17:01:57 +08:00
Anuj Mittal
f222ac31c5 recipes: remove secureboot selftest and images
This no longer works and is not maintained and tested.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-05-30 10:27:20 +08:00
Naveen Saini
b47467609d linux-npu-driver: add recipe
This recipe enables User Mode Driver for Intel® NPU device.
Intel® NPU device is an AI inference accelerator integrated
with Intel client CPUs, starting from Intel® Core™ Ultra generation
of CPUs (formerly known as Meteor Lake).
It enables energy-efficient execution of artificial neural network tasks.

https://github.com/intel/linux-npu-driver

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-05-29 18:13:30 +08:00
Anuj Mittal
28b193723b opencl-clang/14.0.0: remove recipe
We no longer allow building with 14.0 version of LLVM so remove the
recipe and remove the logic to select that recipe version based on
LLVMVERSION value.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-05-29 12:07:33 +08:00
Anuj Mittal
a672e9116a layer.conf: update LAYERSERIES_COMPAT
Remove kirkstone compatibility claim and make sure we're able to execute
the oeqa tests.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-05-27 18:46:19 +08:00
Anuj Mittal
98a4c95816 setup-intel-oneapi-env: set dedicated UNPACKDIR
Fix the error after recent UNPACKDIR changes in OE-core:

 | install: cannot stat '/var/lib/build/workspace/poky/build/tmp/work/corei7-64-poky-linux/setup-intel-oneapi-env/2023.0.0-25370/intel-oneapi-runtime.conf': No such file or directory

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-05-24 11:19:15 +08:00
Naveen Saini
856fd19c35 intel-microcode: upgrade 20240312 -> 20240514
Release notes:
https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/tag/microcode-20240514

Fixes CVEs:
CVE-2023-45733 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01051.html]
CVE-2023-46103 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01052.html]
CVE-2023-45745,CVE-2023-47855 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01036.html]

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-05-17 11:08:31 +08:00
Anuj Mittal
f50328b877 intel-compute-runtime: fix build with gcc14
Fixes:

 | /poky/build/tmp/work/corei7-64-poky-linux/intel-compute-runtime/24.13.29138.7/git/shared/test/unit_test/gmm_helper/gmm_resource_info_tests.cpp:75:41: error: no matching function for call to 'find(std::vector<char*>::iterator, std::vector<char*>::iterator, void*&)'
 |    75 |     EXPECT_NE(destroyed.end(), std::find(destroyed.begin(), destroyed.end(), handle));
 |       |                                ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-05-17 09:12:55 +08:00
Yogesh Tyagi
f9eb05f598 ixgbevf : upgrade 4.18.7 -> 4.19.4
Release Notes:
https://sourceforge.net/projects/e1000/files/ixgbevf%20stable/4.19.4/

This release fixes build with newer kernels.

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-05-16 14:32:34 +08:00
Yogesh Tyagi
938ba15a4a ixgbe : upgrade 5.19.6 -> 5.20.3
Release Notes:

* Fix calltrace on driver load for old kernels
* Fix IRQ affinity hint
* Fix waiting for flash completion ACK
* Fix debugfs directory double creation
* Fix terminate probing right after wrong API detected
* Fix compilation on kernels with no devlink_info_driver_name_put()

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-05-16 14:31:48 +08:00
KARN JYE LAU
5a0479b735 libvpl: change branch name master -> main
Signed-off-by: KARN JYE LAU <karn.jye.lau@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-05-14 23:36:23 +08:00
Naveen Saini
82f614ab96 linux-intel/6.x: enable Intel IOMMU driver
Enable support for Intel IOMMU using DMA Remapping (DMAR) Devices.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-05-13 12:31:54 +08:00
Lim Siew Hoon
4c0414ea1f libvpl: fixed wrong commit id for 2.10.2 tag
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-05-09 20:27:14 +08:00
Lim Siew Hoon
52f5037453 vpl-gpu-rt: Rename and upgrade 23.4.3 -> 24.1.5
Drops patches already merged:
 - 0001-ARLH-DID-open-source-6286.patch
 - 0001-Fix-SetBuffersYV12-V-U-plane-offsets-calculation-647.patch
 - 0001-JPEGe-Enable-BGR4-JPEG-Enc-support-6470.patch

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-05-08 10:30:43 +08:00
Lim Siew Hoon
3d77cd745a libvpl: rename and upgrade 2023.4.0 -> 2.10.2
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-05-08 10:30:32 +08:00
Lim Siew Hoon
f77e45d588 intel-media-driver: upgrade 23.4.3 -> 24.1.5
Drops list of patches already merged:
 - 0004-Add-device-ID-for-ARL.patch
 - 0005-Add-XR24-support-to-DMABuf.patch
 - 0006-add-INTEL-MEDIA-ALLOC-refineE-to-specify-the-memory-.patch
 - 0007-Skip-report-keys.patch
 - 0008-Limit-INTEL-MEDIA-ALLOC-MODE-to-MTL-and-ARL-only.patch
 - 0009-Skip-cache-bucket-realloc-for-default-mode-0.patch
 - 0010-Fix-failed-4k-video-wall-test-case-and-color-corrupt.patch
 - 0011-Disable-422H-format-output.patch
 - 0012-Decode-Fix-AVC-decode-SFC-4K-hang-issue.patch

Backport a patch to fix build errors:

| error: comparing the result of pointer addition ‘(avcDirectmodeParams._MHW_VDBOX_AVC_DIRECTMODE_PARAMS::presAvcDmvBuffers + ((((sizetype)n) + 1) * 328))’ and NULL [-Werror=address]
| 592 | if (&avcDirectmodeParams.presAvcDmvBuffers[n+1] != nullptr)
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-05-07 18:23:24 +08:00
Lim Siew Hoon
fdab9460e9 libva-intel-utils: upgrade 2.20.1 -> 2.21.0
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-05-07 16:04:13 +08:00
Lim Siew Hoon
0b8c3342f6 libva: upgrade 2.20.0 -> 2.21.0
Switch to using git as the release tarball is missing autogen.sh.

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-05-07 16:04:13 +08:00
Lim Siew Hoon
7655d2b265 gmmlib: upgrade 22.3.15 -> 22.3.18
Drops patches already merged:
 - 0001-Introduce-ARL-H-support-172.patch

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-05-07 16:04:04 +08:00
Yogesh Tyagi
11c41c9a46 open-model-zoo : upgrade 2024.0.0 -> 2024.1.0
Release Notes:
https://github.com/openvinotoolkit/open_model_zoo/releases/tag/2024.1.0

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-05-03 10:13:09 +08:00
Yogesh Tyagi
fd80d897b3 openvino-model-optimizer : upgrade 2024.0.0 -> 2024.1.0
Release Notes:
https://github.com/openvinotoolkit/openvino/releases/tag/2024.1.0

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-05-03 10:13:09 +08:00
Yogesh Tyagi
374a26b501 openvino-inference-engine : upgrade 2024.0.0 -> 2024.1.0
- Disable NPU plugin for now and enable it in a later change
- Drop backported patch which is now avialable in this version
- Drop patch which is already merged upstream
- Refresh patches

Release Notes:
https://github.com/openvinotoolkit/openvino/releases/tag/2024.1.0

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-05-03 10:13:09 +08:00
Yogesh Tyagi
aad60b5319 thermald : upgrade 2.5.6 -> 2.5.7
- Refresh patch

Release Notes:
https://github.com/intel/thermal_daemon/releases/tag/v2.5.7

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-05-03 10:13:09 +08:00
Yogesh Tyagi
b14d143184 onednn : upgrade 3.4 -> 3.4.1
Release Notes:
https://github.com/oneapi-src/oneDNN/releases/tag/v3.4.1

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-05-03 10:13:09 +08:00
Yogesh Tyagi
acbf0a8b3d metrics-discovery : upgrade 1.12.170 -> 1.12.171
Release Notes:
https://github.com/intel/metrics-discovery/releases/tag/metrics-discovery-1.12.171

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-05-03 10:13:09 +08:00
Yogesh Tyagi
5ca806f3ee itt : upgrade 3.24.6 -> 3.24.7
Release Notes:
https://github.com/intel/ittapi/releases/tag/v3.24.7

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-05-03 10:13:09 +08:00
Yogesh Tyagi
6e63b0247c intel-compute-runtime: upgrade 24.05.28454.6 -> 24.13.29138.7
Release Notes:
https://github.com/intel/compute-runtime/releases/tag/24.13.29138.7

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-05-03 10:12:53 +08:00
Yogesh Tyagi
7161d3e830 intel-graphics-compiler: upgrade 1.0.15985.7 -> 1.0.16510.2
License-Update: LLVM is now Apache-2.0 licensed.

Release Notes:
https://github.com/intel/intel-graphics-compiler/releases/tag/igc-1.0.16510.2

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-05-03 10:12:53 +08:00
Anuj Mittal
7864daf8ec recipes: avoid using WORKDIR in do_install
Replace usage of WORKDIR in do_compile/do_install by ${S} or ${B}. It
also helps with cases when externalsrc is used like with devtool.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-04-29 16:20:58 +08:00
Naveen Saini
547f00bca5 openvino.md: Add document to build image with OpenVINO toolkit
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-04-29 10:03:39 +08:00
Lee Chee Yang
7165c20b43 documentation: drop Maintainer.md
drop the Maintainer.md and add maintainer section at README.md.

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-04-22 11:12:57 +08:00
Lee Chee Yang
6ece731dc2 gmmlib: fix malformed upstream status
INFO: test_patches_upstream_status (common.CommonCheckLayer)
INFO:  ... expected failure
INFO: Traceback (most recent call last):
  File "/data/master/poky/scripts/lib/checklayer/cases/common.py", line 87, in test_patches_upstream_status
    self.assertEqual(len(patches), 0 , \
AssertionError: 1 != 0 : Found following patches with malformed or missing upstream status:
/data/master/meta-intel/recipes-graphics/gmmlib/files/0001-Add-new-DG2-device-IDs-194.patch

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-04-22 11:12:57 +08:00
Yogesh Tyagi
9ee4834eab linux-intel-rt/6.6 : update to tag lts-v6.6.25-rt29-preempt-rt-240416T010215Z
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-04-22 10:54:41 +08:00
Yogesh Tyagi
4e30042791 linux-intel/6.6 : update to tag lts-v6.6.25-linux-240415T215440Z
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-04-22 10:54:41 +08:00
Lee Chee Yang
5ed1dcd18e MAINTAINERS: convert to .md
Also update references to MAINTAINERS.md.

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-04-19 10:10:47 +08:00
Lee Chee Yang
e166755b86 documentation: update and restructure README
Update README content, reference and links. Also, split and convert this
into multiple markdown files.

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-04-19 10:10:47 +08:00
Lee Chee Yang
0093d9f2ea doc/secureboot: remove README
This is no longer tested, hence drop it.

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-04-17 12:20:29 +08:00
Lee Chee Yang
84f39e69be CHANGELOG: drop changelog
We've not been keeping this up to date. Remove the file and refer to release notes or git log for changes.

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-04-17 12:20:29 +08:00
Yogesh Tyagi
0e43ce8605 linux-intel-rt/6.6 : update to tag lts-v6.6.23-rt28-preempt-rt-240407T195413Z
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-04-15 15:37:08 +08:00
Yogesh Tyagi
c31ad2df36 linux-intel/6.6 : update to tag lts-v6.6.23-linux-240407T055600Z
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-04-15 15:37:08 +08:00
Naveen Saini
c374b041cc lms: use python3native and depend on python3-packaging-native
Recipe incorrectly using python from host, which causing
following failure:
|     import packaging.version
| ModuleNotFoundError: No module named 'packaging.version'

Ref:
https://git.yoctoproject.org/poky/commit/?id=bb4abe0e6468f8be3fdd6012a109ddd1db7b20a8

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
2024-04-12 12:56:48 +08:00
Hoe Sheng Yang
506aa18577 gmmlib: Add new DG2 device id
Signed-off-by: Hoe, Sheng Yang <sheng.yang.hoe@intel.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
2024-04-02 13:01:43 +08:00
Naveen Saini
bdb3a52062 intel-microcode: upgrade 20231114 -> 20240312
Release notes:
https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/tag/microcode-20240312

Fixes CVEs:
CVE-2023-39368 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00972.html]
CVE-2023-38575 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00982.html]
CVE-2023-28746 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00898.html]
CVE-2023-22655 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00960.html]
CVE-2023-43490 [https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-01045.html]

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-03-28 10:44:03 +08:00
Yogesh Tyagi
e0f530f48f conf/machine: set preferred kernel to 6.8 for poky-altcfg
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-03-21 09:29:59 +08:00
Yogesh Tyagi
b815f56c01 linux-intel/6.8 : add recipe
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-03-21 09:29:59 +08:00
Yogesh Tyagi
430c6e6391 linux-intel/6.7 : drop recipe
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-03-21 09:29:59 +08:00
Yogesh Tyagi
b235686f37 linux-intel-rt/6.6 : update to tag lts-v6.6.20-rt25-preempt-rt-240308T080222Z
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-03-21 09:29:59 +08:00
Yogesh Tyagi
fe0060a12e linux-intel/6.6 : update to tag lts-v6.6.20-linux-240308T063847Z
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-03-21 09:29:59 +08:00
Yogesh Tyagi
674e223dba open-model-zoo : upgrade 2023.3.0 -> 2024.0.0
Release Notes:
https://github.com/openvinotoolkit/open_model_zoo/releases/tag/2024.0.0

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-03-20 13:41:10 +08:00
Yogesh Tyagi
f12f3603a2 openvino-model-optimizer : upgrade 2023.3.0 -> 2024.0.0
Release Notes:
https://github.com/openvinotoolkit/openvino/releases/tag/2024.0.0

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-03-20 13:41:10 +08:00
Yogesh Tyagi
06781f8c81 openvino-inference-engine : upgrade 2023.3.0 -> 2024.0.0
- Removed the Cython patch, which is no longer relevant
  as Legacy IE python API has been removed:
  a561a2a484

- Remove cython dependency as well from recipe

- Remove the switch disabling MLAS support. It's enabled by default.
  Fetch the submodule as well and include the file pointing to its
  Apache-2.0 license in LIC_FILES_CHKSUM.

- Update conditional check to exclude directories which have "/usr/include"
  in them to not add <sysroot>/usr/include as well.

- Backport a patch which solves the build failure caused by setting the
  "ENABLE_OV_ONNX_FRONTEND" option to "OFF"

Release Notes:
https://github.com/openvinotoolkit/openvino/releases/tag/2024.0.0

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-03-18 15:16:23 +08:00
Lee Chee Yang
9ce6cc89c7 README: drop obsolete README.sources
Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-03-12 09:53:27 +08:00
Yogesh Tyagi
8ecf604af2 thermald : upgrade 2.5.4 -> 2.5.6
Create a separate variable for branch value and derive the value from PV
so AUH is able to upgrade the recipe.

Release Notes:
https://github.com/intel/thermal_daemon/releases/tag/v2.5.6

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-03-11 22:42:52 +08:00
Yogesh Tyagi
ce7818a5f5 metee : upgrade 3.1.6 -> 3.2.4
Drop upstreamed patch

Release Notes:
https://github.com/intel/metee/releases/tag/3.2.4

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-03-11 22:42:52 +08:00
Yogesh Tyagi
1a7d12af5a lms : upgrade 2322.0.0.0 -> 2406.0.0.0
Drop upstreamed patches

Release Notes:
https://github.com/intel/lms/releases/tag/v2406.0.0.0

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-03-11 22:42:52 +08:00
Yogesh Tyagi
353b0a4354 isa-l : upgrade 2.30.0 -> 2.31.0
Fix Package QA Issue "isa-l doesn't have GNU_HASH"

License-Update:
* copyright years updated
* SPDX-License-Identifier: BSD-3-Clause added

Release Notes:
https://github.com/intel/isa-l/releases/tag/v2.31.0

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-03-11 22:42:52 +08:00
Yogesh Tyagi
7ff39883be onednn : upgrade 3.3.4 -> 3.4
Create a separate variable for branch value and derive the value from PV
so AUH is able to upgrade the recipe.

Release Notes:
https://github.com/oneapi-src/oneDNN/releases/tag/v3.4

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-03-11 22:42:52 +08:00
Yogesh Tyagi
9f0aef109a intel-crypto-mb : upgrade 2021.9.0 -> 2021.11.1
Create a separate variable for branch value and derive the value from PV
so AUH is able to upgrade the recipe.

Release Notes:
https://github.com/intel/ipp-crypto/releases/tag/ippcp_2021.11.1

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-03-11 22:42:52 +08:00
Yogesh Tyagi
f4a76fdeb8 intel-cmt-cat : upgrade 23.11 -> 23.11.1
Release Notes:
https://github.com/intel/intel-cmt-cat/releases/tag/v23.11.1

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-03-11 22:42:52 +08:00
Yogesh Tyagi
83239e5183 libipt : upgrade 2.1.0 -> 2.1.1
License-Update: copyright years updated

Release Notes:
https://github.com/intel/libipt/releases/tag/v2.1.1

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-03-11 22:42:52 +08:00
Naveen Saini
ec6e087a9f layer.conf: update LAYERSERIES_COMPAT to use scarthgap
Drop compatibility to nanbield.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-03-11 13:47:18 +08:00
Anuj Mittal
9ed54a1380 ispc: upgrade 1.22.0 -> 1.23.0
Release notes:
https://github.com/ispc/ispc/releases/tag/v1.23.0

llvm-dis is no longer a build dependency.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-02-28 22:38:44 +08:00
Anuj Mittal
0935c639d4 openvkl: upgrade 2.0.0 -> 2.0.1
Release notes:
https://github.com/openvkl/openvkl/releases/tag/v2.0.1

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-02-28 22:38:37 +08:00
Anuj Mittal
b0c4cc0a59 ospray: upgrade 3.0.0 -> 3.1.0
Release notes:
https://github.com/ospray/ospray/releases/tag/v3.1.0

Disable building examples as they need OpenGL.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-02-28 16:19:07 +08:00
Anuj Mittal
a220c9eb58 embree: upgrade 4.3.0 -> 4.3.1
Release notes:
https://github.com/embree/embree/releases/tag/v4.3.1

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-02-28 16:17:29 +08:00
Anuj Mittal
96ccbae896 rkcommon: upgrade 1.12.0 -> 1.13.0
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-02-28 11:49:12 +08:00
Anuj Mittal
a89665f17c intel-compute-runtime: upgrade 23.22.26516.18 -> 24.05.28454.6
Drop the patch that has already been merged.

License-Update: OpenCL-Headers are now Apache-2.0 licensed.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-02-28 10:01:22 +08:00
Anuj Mittal
e56ace026b intel-graphics-compiler: upgrade 1.0.14062.11 -> 1.0.15985.7
The instrinsics Python scripts now need mako module as well. Use the
native Python to ensure builds are not dependent on what is installed on
the host.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-02-28 09:58:29 +08:00
Lim Siew Hoon
e318d88002 onevpl-intel-gpu: backport patches to fix bugs
1. Enable JPEG Enc support with BGR4 format.
 * 0001-JPEGe-Enable-BGR4-JPEG-Enc-support-6470.patch

2. Fixed YV12 setBuffers for V & U plane offsets calculation
 * 0001-Fix-SetBuffersYV12-V-U-plane-offsets-calculation-647.patch

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-02-26 16:43:47 +08:00
Lim Siew Hoon
f937848a04 onevpl-intel-gpu: upgrade 23.3.4 -> 23.4.3
Drops patches already merged:
 * 0001-Encode-Bugfix-for-HEVC-VDENC-422-RPL-caps-issue.-588.patch
 * 0001-RT-Common-Fix-MediaAdapterType-issue-5898.patch

Added new patches:
 * 0001-ARLH-DID-open-source-6286.patch

Release notes:
https://github.com/oneapi-src/oneVPL-intel-gpu/releases/tag/intel-onevpl-23.4.3

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-02-26 14:24:34 +08:00
Lim Siew Hoon
9d39dfd705 onevpl: upgrade 2023.3.1 -> 2023.4.0
Rebased patches:
 * 0001-vpl.pc.in-dont-pass-pcfiledir-to-cflags.patch

Release notes:
https://github.com/intel/libvpl/releases/tag/v2023.4.0

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-02-26 14:24:34 +08:00
Lim Siew Hoon
723644dd33 intel-media-driver: upgrade 23.3.5 -> 23.4.3
Drop patches already merged:
 * 0002-Add-VASurfaceAttribMemoryType-for-ACM.patch
 * 0004-Set-sRGB-color-space-for-non-video-wall-and-no-backg.patch
 * 0005-XRGB-force-to-do-swizzle-for-AVC-HEVC.patch
 * 0006-Add-DG2-DIDs.patch

Rebased patchess:
 * 0001-Disable-vp9-padding-on-mtl.patch
 * 0002-Force-ARGB-surface-to-tile4-for-ACM.patch

Added new bug fixed:
 * 0004-Add-device-ID-for-ARL.patch
 * 0005-Add-XR24-support-to-DMABuf.patch
 * 0006-add-INTEL-MEDIA-ALLOC-refineE-to-specify-the-memory-.patch
 * 0007-Skip-report-keys.patch
 * 0008-Limit-INTEL-MEDIA-ALLOC-MODE-to-MTL-and-ARL-only.patch
 * 0009-Skip-cache-bucket-realloc-for-default-mode-0.patch
 * 0010-Fix-failed-4k-video-wall-test-case-and-color-corrupt.patch
 * 0011-Disable-422H-format-output.patch
 * 0012-Decode-Fix-AVC-decode-SFC-4K-hang-issue.patch

Release notes:
https://github.com/intel/media-driver/releases/tag/intel-media-23.4.3

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-02-26 14:23:43 +08:00
Lim Siew Hoon
a74c65c749 gmmlib: upgrade 22.3.12 -> 22.3.15
Added a patches for new ARL-H device id support:
 - 0001-Introduce-ARL-H-support-172.patch

Remove a patches already merged:
 - 0001-Add-more-DG2-Device-IDs.patch

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-02-26 14:15:35 +08:00
Anuj Mittal
ef763abc2c openvino-inference-engine: drop usage of PYTHON_PN
Follow OE-core in removing usage of PYTHON_PN.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-02-23 16:10:31 +08:00
Anuj Mittal
d8bfb74fbb lms: use CVE_STATUS instead of CVE_CHECK_IGNORE
CVE_CHECK_IGNORE was deprecated and shouldn't be used anymore.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-02-15 11:21:52 +08:00
Anuj Mittal
c7b6895705 ixgbe/ixgbvf: use CVE_STATUS instead of CVE_CHECK_IGNORE
CVE_CHECK_IGNORE was deprecated and shouldn't be used anymore.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-02-15 11:15:36 +08:00
Yogesh Tyagi
5c057b4fa3 openvino-inference-engine: fix reproducibility issues
Prevent host paths from getting into target packages. Also prevents buildpaths warnings for files:

| File /usr/src/debug/openvino-inference-engine/2023.3.0/src/plugins/intel_cpu/cross-compiled/attn_memcpy_disp.cpp in package openvino-inference-engine-src contains reference to TMPDIR File
| File /usr/src/debug/openvino-inference-engine/2023.3.0/src/plugins/intel_cpu/cross-compiled/mha_single_token_disp.cpp in package openvino-inference-engine-src contains reference to TMPDIR
| File /usr/src/debug/openvino-inference-engine/2023.3.0/src/plugins/intel_cpu/cross-compiled/softmax_disp.cpp in package openvino-inference-engine-src contains reference to TMPDIR [buildpaths]

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-02-15 08:47:22 +08:00
Yogesh Tyagi
19a72dad31 linux-intel/6.7: update to tag mainline-tracking-v6.7-rc3-linux-231206T020418Z
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-02-14 09:34:41 +08:00
Yogesh Tyagi
f0dc074fc0 linux-intel-rt/6.6: update to tag lts-v6.6.14-rt21-preempt-rt-240131T164236Z
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-02-14 09:34:41 +08:00
Yogesh Tyagi
37a67779a0 linux-intel/6.6: update to tag lts-v6.6.14-linux-240131T053107Z
linux-intel-lts has backported ae1914174 to 6.6 branch. The commit drops
CONFIG_DEBUG_CREDENTIALS config option which results in warnings when building
with yocto-6.6 branch of y-k-c.
Suppress the warnings for linux-intel kernel for now.

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-02-14 09:34:41 +08:00
Yogesh Tyagi
fa6a3ad97b open-model-zoo: upgrade 2023.2.0 -> 2023.3.0
Release Notes:
https://github.com/openvinotoolkit/open_model_zoo/releases/tag/2023.3.0

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-02-06 11:41:37 +08:00
Yogesh Tyagi
e21437f2ae openvino-model-optimizer: upgrade 2023.2.0 -> 2023.3.0
Release Notes:
https://github.com/openvinotoolkit/openvino/releases/tag/2023.3.0

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-02-06 11:41:37 +08:00
Yogesh Tyagi
0593838afa openvino-inference-engine: upgrade 2023.2.0 -> 2023.3.0
This version of OpenVINO tries to fetch node-api-headers and node-addon-api at compile time using CMake's FetchContent. Download these during do_fetch instead and set FETCHCONTENT_BASE_DIR to tell CMake where the content is.

License-Update: Both new components are licensed MIT.

Release Notes:
https://github.com/openvinotoolkit/openvino/releases/tag/2023.3.0

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-02-06 11:41:37 +08:00
Naveen Saini
0cd1f774b1 qemuboot-intel.inc: clean up
/dev/urandom entropy source already being passed using QB_RNG [1].

[1] https://git.yoctoproject.org/poky/tree/meta/classes-recipe/qemuboot.bbclass#n101

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-02-05 09:39:06 +08:00
Naveen Saini
55b15013f2 linux-intel: update to latest kernel config
This update includes:

can: drop obsolete CONFIG_PCH_CAN
bsp/intel-x86: add support for TI DP83867 Gigabit PHY
beaglebone: Drop the nonassignable kernel options
features/qat/qat.cfg: enable CONFIG_PCIEAER

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-01-30 14:50:03 +08:00
Naveen Saini
69c711ec0a onednn: upgrade 3.3.1 -> 3.3.4
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-01-24 11:37:28 +08:00
Naveen Saini
d89ea58e79 metrics-discovery: upgrade 1.12.165.1 -> 1.12.170
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-01-24 11:37:28 +08:00
Naveen Saini
fdbed72ca4 libva-intel-utils: upgrade 2.20.0 -> 2.20.1
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-01-24 11:37:28 +08:00
Naveen Saini
a586d7fdb5 level-zero: upgrade 1.11.0 -> 1.15.8
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-01-24 11:37:28 +08:00
Naveen Saini
60eeaf617f itt: upgrade 3.24.2 -> 3.24.6
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-01-24 11:37:28 +08:00
Anuj Mittal
52954fdd50 Rename virtual/opencl-icd to virtual-opencl-icd
The recipe RPROVIDES virtual-opencl-icd now.

https://git.openembedded.org/meta-openembedded/commit/?id=4dbbef7a39ad18206ca6cebf7a1e08aebe5b5a65

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-01-23 09:37:47 +08:00
Naveen Saini
0bcaf75ea8 linux-intel: fix menuconfig
Refreshed and include patches from linux-yocto 6.6 to detect ncurses correctly when
cross-compiling.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-01-22 11:57:57 +08:00
Ross Burton
2d8d97f295 Add oeqa parselog ignores
As of oe-core 97dacf, the parselogs oeqa runtime test now loads ignores
from files on disk, instead of hardcoding them.

This will likely cause meta-intel to fail because the meta-intel-specific
ignores have been removed from oe-core.  This patch adds them back to
meta-intel.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-01-08 10:19:07 +08:00
Yogesh Tyagi
d79675497d Change default kernel for poky and poky-altcfg
* Make linux-intel-lts v6.6.5 the default kernel for poky
* Make linux-intel-lts v6.6.5 the default RT kernel for poky
* Make mainline-tracking v6.7-rc3 the default kernel for poky-altcfg
* Maintain only one version of rt kernel

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-01-08 10:19:01 +08:00
Yogesh Tyagi
f48f718cc0 linux-intel-rt/6.4: drop recipe
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-01-08 10:19:01 +08:00
Yogesh Tyagi
0f794d77b5 linux-intel/6.7: add recipe
Replace v6.4 with mainline-tracking v6.7-rc3 tag mainline-tracking-v6.7-rc3-linux-231129T100251Z
Also change yocto-kernel-cache branch to master

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-01-08 10:19:01 +08:00
Yogesh Tyagi
33a0f7dc25 linux-intel-rt/6.6: add recipe
Replace v6.1 with linux-intel-lts v6.6.5 tag lts-v6.6.5-rt16-preempt-rt-231212T043456Z,

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-01-08 10:19:01 +08:00
Yogesh Tyagi
7716ddce78 linux-intel/6.6: add recipe
Replace v6.1 with linux-intel-lts v6.6.5 tag lts-v6.6.5-linux-231211T170932Z

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2024-01-08 10:19:01 +08:00
Naveen Saini
5cfefd9a8f README: update tested hardware list
Added  Raptor Lake-P & Alder Lake-P platforms.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-12-11 08:47:48 +08:00
Lee Chee Yang
91ff1977d6 README: update installer image config
Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-12-08 13:41:29 +08:00
Yongxin Liu
1b4e1a2570 intel-cmt-cat: upgrade 23.08 -> 23.11
Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-12-07 15:14:43 +08:00
Yogesh Tyagi
67dab4b6a7 open-model-zoo: upgrade 2023.1.0 -> 2023.2.0
Release Notes:
https://github.com/openvinotoolkit/open_model_zoo/releases/tag/2023.2.0

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-12-07 15:14:21 +08:00
Yogesh Tyagi
a938ea1b27 openvino-model-optimizer: upgrade 2023.1.0 -> 2023.2.0
Release Notes:
https://github.com/openvinotoolkit/openvino/releases/tag/2023.2.0

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-12-07 15:14:21 +08:00
Naveen Saini
df5a450118 ispc: upgrade 1.21.1 -> 1.22.0
Release notes:
https://github.com/ispc/ispc/releases/tag/v1.22.0

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-12-01 11:43:15 +08:00
Naveen Saini
6d3614337c oidn: upgrade 1.4.3 -> 2.1.0
Drop patch, which is not required anymore.

Update license files path.

Refreshed copyrights in license and third party programs.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-12-01 11:43:15 +08:00
Yogesh Tyagi
c93900c6ed openvino-inference-engine: upgrade 2023.1.0 -> 2023.2.0
* Release notes:
  https://github.com/openvinotoolkit/openvino/releases/tag/2023.2.0

* Drop the patches which included header cstdint to fix build issues with gcc13 as
  these changes are already incorporated in the upstream code.

* gflags and zlib are now used as bundled dependencies
  https://github.com/openvinotoolkit/openvino/pull/20762

* Refresh the patches

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-12-01 11:43:15 +08:00
Naveen Saini
b3fca0034e onednn: upgrade 3.3 -> 3.3.1
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-11-27 10:01:30 +08:00
Naveen Saini
5d9ad8463a onedpl: upgrade 2022.2.0 -> 2022.3.0
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-11-27 10:01:30 +08:00
Naveen Saini
67693c4220 intel-oneapi-compiler: drop recipe
With v2024.0 version, intel-oneapi-mkl runtime dependencies
are provided by intel-oneapi-dpcpp-cpp-runtime packages. So
this is of no use now.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-11-27 10:01:30 +08:00
Naveen Saini
8a8c009d58 intel-oneapi-mkl: upgrade 2023.0.0-25398 -> 2024.0.0-49656
Now intel-oneapi-mkl runtime dependencies are provided by
intel-oneapi-dpcpp-cpp-runtime packages.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-11-27 10:01:30 +08:00
Naveen Saini
0826fa75fe intel-oneapi-ipp: 2021.7.0-25396 -> 2021.10.0-653
Updated license installation location in licensing/third-party-programs.txt.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-11-27 10:01:30 +08:00
Naveen Saini
8ad76be2fd intel-oneapi-dpcpp-cpp: 2023.1.0-46305 -> 2024.0.0-49819
credist.txt lists additional files being installed with this version.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-11-27 10:01:30 +08:00
Naveen Saini
198af9e9de intel-oneapi-dpcpp-cpp-runtime: upgrade 2023.1.0-46305 -> 2024.0.0-49819
Date update, format change, license installation location updates, re-arragement,
listed additional third party softwares in license.htm.

Release note:
https://www.intel.com/content/www/us/en/developer/articles/release-notes/intel-oneapi-dpc-c-compiler-release-notes.html

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-11-27 10:01:30 +08:00
Lim Siew Hoon
52ce86a7f5 onevpl-intel-gpu: upgrade 23.2.4 -> 23.3.4
Backport two code fixed:
 - 0001-Encode-Bugfix-for-HEVC-VDENC-422-RPL-caps-issue.-588.patch
 - 0001-RT-Common-Fix-MediaAdapterType-issue-5898.patch

Release notes:
https://github.com/oneapi-src/oneVPL-intel-gpu/releases/tag/intel-onevpl-23.3.4

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-11-24 11:59:50 +08:00
Lim Siew Hoon
989d35a499 onevpl: upgrade 2023.3.0 -> 2023.3.1
Release notes:
https://github.com/oneapi-src/oneVPL/releases/tag/v2023.3.1

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-11-24 11:57:06 +08:00
Lim Siew Hoon
587dce125d intel-media-driver: upgrade 23.2.4 -> 23.3.5
Removed patches already merged:
 - 0001-ARGB-force-to-tile4.patch
 - 0001-Fix-FC-Corruption-When-Blending-without-Colorfill-in.patch
 - 0001-Fix-FC-Corruption-When-Blending-without-Colorfill.patch
 - 0001-Force-to-render-path-according-to-app-setting.patch
 - 0002-Add-DRM-format-mappings-for-JPEG-decoder-output.patch

Rebased patches:
 - 0001-Disable-VP9-padding-on-MTL.patch
 - 0004-Set-sRGB-color-space-for-non-video-wall-and-no-backg.patch

Added code fixed and new DG2 device id support:
 - 0002-Add-VASurfaceAttribMemoryType-for-ACM.patch
 - 0003-Force-ARGB-surface-to-tile4-for-ACM.patch
 - 0005-XRGB-force-to-do-swizzle-for-AVC-HEVC.patch
 - 0006-Add-DG2-DIDs.patch

Release notes:
https://github.com/intel/media-driver/releases/tag/intel-media-23.3.5

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-11-24 11:56:03 +08:00
Lim Siew Hoon
2ab87a299a libva-intel-utils: upgrade 2.19.0 -> 2.20.0
Release notes:
https://github.com/intel/libva-utils/releases/tag/2.20.0

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-11-24 11:49:06 +08:00
Lim Siew Hoon
05a1c5c622 libva-intel: upgrade 2.19.0 -> 2.20.0
Release notes:
https://github.com/intel/libva/releases/tag/2.20.0

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-11-24 11:48:57 +08:00
Lim Siew Hoon
6dcc61ac3c gmmlib: upgrade 22.3.7 -> 22.3.12
Added a patches for new DG2 device id support:
 - 0001-Add-more-DG2-Device-IDs.patch

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-11-24 11:48:49 +08:00
Anuj Mittal
c220d2b0cb linux-intel-rt/6.1: update to v6.1.59-rt16
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-11-20 09:31:35 +08:00
Anuj Mittal
f7bac45bc4 linux-intel/6.1: update to v6.1.59
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-11-20 09:30:27 +08:00
Anuj Mittal
fa34a6193e lms: install /etc/lms directory
Make sure that we install /etc/lms otherwise starting
the service will result in errors:

| Nov 15 08:30:17 intel-corei7-64 systemd[1052]: lms.service: Failed to set up mount namespacing: /run/systemd/unit-root/etc/lms: No such file or directory
| Nov 15 08:30:17 intel-corei7-64 systemd[1052]: lms.service: Failed at step NAMESPACE spawning /usr/bin/lms: No such file or directory
| Nov 15 08:30:17 intel-corei7-64 systemd[1]: lms.service: Main process exited, code=exited, status=226/NAMESPACE
| Nov 15 08:30:17 intel-corei7-64 systemd[1]: lms.service: Failed with result 'exit-code'.
| Nov 15 08:30:17 intel-corei7-64 systemd[1]: Failed to start Local Manageability Service.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-11-17 09:31:10 +08:00
Anuj Mittal
49da9b6172 intel-microcode: upgrade 20230808 -> 20231114
Release notes:
https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/tag/microcode-20231114

Fixes CVE-2023-23583. Details:
https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00950.html

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-11-15 10:42:05 +08:00
Lee Chee Yang
d72611ba7d metee: fix compilation error with musl
Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-11-01 16:05:51 +08:00
Lee Chee Yang
7b62d64d1e lms: 2245.0.0.0 -> 2322.0.0.0
Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-10-30 15:42:30 +08:00
Lee Chee Yang
758d05bc76 libipt: 2.0.6 -> 2.1.0
by default, enable the new tool 'ptseg' for finding the PSB segment
for a given offset.

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-10-30 15:42:30 +08:00
Lee Chee Yang
6d40bb2d0a metee: 3.1.3 -> 3.1.6
Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-10-30 15:42:30 +08:00
Lee Chee Yang
25d7035652 onedpl: 2022.0.0 -> 2022.2.0
License-Update: added license for Modern GPU and oneDPL samples

https://github.com/oneapi-src/oneDPL/blob/release/2022.2/licensing/third-party-programs.txt

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-10-30 15:42:30 +08:00
Anuj Mittal
3c855dabfd ispc: upgrade 1.21.0 -> 1.21.1
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-10-23 15:30:36 +08:00
Anuj Mittal
3f9e616b5a ospray: upgrade 2.12.0 -> 3.0.0
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-10-23 15:30:31 +08:00
Anuj Mittal
e1aedc8b11 openvkl: upgrade 1.3.2 -> 2.0.0
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-10-23 13:54:44 +08:00
Anuj Mittal
2b3d88de95 rkcommon: upgrade 1.11.0 -> 1.12.0
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-10-23 13:54:44 +08:00
Anuj Mittal
1bca60610c linux-intel-rt/6.1: update to v6.1.46-rt14
Also fetch the latest kernel configurations from kernel cache.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-10-17 17:32:34 +08:00
Anuj Mittal
c139b27c3a linux-intel/6.1: update to v6.1.46
Fetch the latest changes for kernel configurations as well.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-10-17 17:32:34 +08:00
Chan, Xu Pian
dc5a3429cb intel-media-driver: Fix corruption issue for no background colorfill cases
Set sRGB color space for non-video wall and no background
colorfill cases

Signed-off-by: Chan, Xu Pian <xu.pian.chan@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-10-12 14:56:19 +08:00
Anuj Mittal
6883d43ace onednn: upgrade 3.2.1 -> 3.3
Release notes:
https://github.com/oneapi-src/oneDNN/releases/tag/v3.3

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-10-12 14:35:04 +08:00
Anuj Mittal
e68a407246 intel-crypto-mb: upgrade 2021.8 -> 2021.9.0
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-10-12 13:24:02 +08:00
Anuj Mittal
e35d68040d meta-intel.inc: use the correct version of opencl-clang
Match only the major LLVM version to select the right version of
opencl-clang.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-10-10 12:10:45 +08:00
Anuj Mittal
36171452c7 opencl-clang: drop upstreamed patch
Drop the patch that has now been backported to LLVM 14 and 15 branches.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-10-09 15:05:05 +08:00
Anuj Mittal
086552f600 openvino-inference-engine: fix multilib build
Make sure Python modules are installed correctly when baselib = lib64.
Fixes errors:

15:33:18  ERROR: openvino-inference-engine-2023.1.0-r0 do_package: QA Issue: openvino-inference-engine: Files/directories were installed but not shipped in any package:
15:33:18    /usr/lib/python3.11/site-packages/_pyngraph.cpython-311-x86_64-linux-gnu.so
15:33:18    /usr/lib/python3.11/site-packages/ngraph
...
15:33:18    /usr/lib/python3.11/site-packages/openvino-2023.1.0-py3.11.egg-info/top_level.txt
15:33:18    /usr/lib/python3.11/site-packages/openvino-2023.1.0-py3.11.egg-info/SOURCES.txt
15:33:18  Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
15:33:18  openvino-inference-engine: 172 installed and not shipped files. [installed-vs-shipped]

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-10-09 09:33:40 +08:00
Naveen Saini
6a3d314f43 linux-intel-rt/6.4: set LINUX_KERNEL_TYPE
set kernel type to 'preempt-rt' for real-time kernel.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-10-02 15:05:24 +08:00
Anuj Mittal
4ec7fc95ec embree: upgrade 4.2.0 -> 4.3.0
Release notes:
    Added instance array primitive for reducing memony requirements in scenes
    with large amounts of similar instances.
    Properly checks driver if L0 RTAS extension can get loaded.
    Added varying version of rtcGetGeometryTransform for ISPC.
    Fixed signature of RTCMemoryMonitorFunction for ISPC.
    Add support for ARM64 Windows platform in CMake.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-10-02 13:48:38 +08:00
Anuj Mittal
4e94f0571d openvino-model-optimizer: upgrade 2023.0.1 -> 2023.1.0
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-10-02 13:47:02 +08:00
Anuj Mittal
d04382d3f3 open-model-zoo: upgrade 2023.0.1 -> 2023.1.0
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-09-29 10:06:27 +08:00
Anuj Mittal
f9cb1d9aa9 openvino-inference-engine: upgrade 2023.0.2 -> 2023.1.0
* Release notes:
  https://github.com/openvinotoolkit/openvino/releases/tag/2023.1.0

* samples package includes scripts that need Python to be present.
  Specify that dependency explicitly.

License-Update: Updated copyright information.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-09-29 10:05:11 +08:00
Lim Siew Hoon
cc04677a27 intel-media-driver: Fix pixelation issue on multiple input direct write operation
https://github.com/intel/media-driver/issues/1716

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-09-19 14:35:40 +08:00
Anuj Mittal
a89e233e30 layer.conf: update LAYERSERIES_COMPAT to use nanbield
Remove langdale and mickledore from what is supported as well.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-09-11 09:13:22 +08:00
Lim Siew Hoon
0ccbd5e710 intel-media-driver: fixed multi issues
1. Force to render path according to app setting
2. Add DRM format mapping for JPEG decoder output
3. Add DRM format mapping for JPEG output to softlet
4. Disable VP9 padding on MTL platform

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-09-07 08:37:42 +08:00
Anuj Mittal
c9c5b8b1b0 openvino-inference-engine: upgrade 2023.0.1 -> 2023.0.2
Major changes:

OpenVINO GNA Plugin:
- Fixes the issue when GNA device would not work on Gemini Lake (GLK) platforms
- Fixes the problem with memory leak during HLK test
OpenVINO CPU Plugin:
- Fixes the issues occurred in Multi-Threading 2.0 getting CPU mapping detail on Windows 7 platforms
OpenVINO Core:
- Fixes the issues occurred when compiling a Pytorch model with unfold op

Release notes:
https://github.com/openvinotoolkit/openvino/releases/tag/2023.0.2

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-09-05 12:05:57 +08:00
Naveen Saini
a1ac7dc547 intel-oneapi-ipp: disable INHIBIT_DEFAULT_DEPS
poky commit b7b382101b401deda2df5e7f71e581d8ced51f5f enabled INHIBIT_DEFAULT_DEPS
in bin_package that removes compiler and C libraries from DEPENDS.

which causes do_package_qa failures:

| libippvm.so.10.6 contained in package intel-oneapi-ipp requires libdl.so.2(GLIBC_2.2.5)(64bit), but no providers found in RDEPENDS:intel-oneapi-ipp? [file-rdeps]
| libippvm.so.10.6 contained in package intel-oneapi-ipp requires libc.so.6(GLIBC_2.3.4)(64bit), but no providers found in RDEPENDS:intel-oneapi-ipp? [file-rdeps]
| libippvmy8.so.10.6 contained in package intel-oneapi-ipp requires libm.so.6()(64bit), but no providers found in RDEPENDS:intel-oneapi-ipp? [file-rdeps]

Disable INHIBIT_DEFAULT_DEPS locally in recipe for now.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-09-01 11:58:57 +08:00
Anuj Mittal
df09fd9fd6 onednn: upgrade 3.2 -> 3.2.1
Release notes:
https://github.com/oneapi-src/oneDNN/releases/tag/v3.2.1

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-08-29 10:55:20 +08:00
Anuj Mittal
f251348843 intel-cmt-cat: upgrade 4.6.0 -> 23.08
Project has changed to use date-of-release version numbering scheme.
See:

https://github.com/intel/intel-cmt-cat/issues/247

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-08-29 10:55:20 +08:00
Yogesh Tyagi
a9329d4993 ixgbevf : upgrade 4.17.11 -> 4.18.7
ixgbevf now expects KSRC to be pointing to the kernel source
and KOBJ to the build artifacts.

Release Notes:
https://sourceforge.net/projects/e1000/files/ixgbevf%20stable/4.18.7/

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-08-29 08:55:06 +08:00
Anuj Mittal
110eb064ee thermald: upgrade 2.5.3 -> 2.5.4
Release 2.5.4
- Android support
- Workarounds for missing conditions/tables

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-08-29 08:55:06 +08:00
Anuj Mittal
096eccc85f metrics-discovery: upgrade 1.12.165 -> 1.12.165.1
Includes only the PVC device ID.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-08-29 08:55:06 +08:00
Anuj Mittal
7017960773 embree: upgrade 4.1.0 -> 4.2.0
Release notes:
https://github.com/embree/embree/releases/tag/v4.2.0

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-08-29 08:55:06 +08:00
Yogesh Tyagi
5f9c566d79 ixgbe : upgrade 5.18.11 -> 5.19.6
ixgbe now expects KSRC to be pointing to the kernel source
and KOBJ to the build artifacts.

Release Notes:
https://sourceforge.net/projects/e1000/files/ixgbe%20stable/5.19.6/

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-08-29 08:55:06 +08:00
Yogesh Tyagi
f1b42ef788 backport-iwlwifi: upgrade core45 -> core79
* Inherit features_check to get rid of "recipe doesn't inherit features_check" QA warning
* Add iwlwifi.conf to Package to fix "Installed but not shipped" QA warning
* License Update:
Added text "All contributions to the Linux Kernel are subject to this COPYING file" to COPYING file

More information about this release
can be found here:
https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/backport-iwlwifi.git/log/?h=release/core79

Supported firmwares/devices:
iwlwifi-cc-a0-77.ucode
iwlwifi-so-a0-gf-a0-77.ucode
iwlwifi-Qu-b0-hr-b0-59.ucode
iwlwifi-9260-th-b0-jf-b0-38.ucode
iwlwifi-6000g2b-6.ucode
iwlwifi-Qu-c0-hr-b0-77.ucode
iwlwifi-so-a0-hr-b0-81.ucode
iwlwifi-so-a0-jf-b0-74.ucode
iwlwifi-Qu-b0-hr-b0-74.ucode
iwlwifi-9260-th-b0-jf-b0-34.ucode
iwlwifi-so-a0-hr-b0-74.ucode
iwlwifi-so-a0-gf-a0-81.ucode
iwlwifi-so-a0-jf-b0-72.ucode
iwlwifi-Qu-c0-hr-b0-72.ucode
iwlwifi-Qu-b0-hr-b0-73.ucode
iwlwifi-ty-a0-gf-a0-73.ucode
iwlwifi-3168-29.ucode
iwlwifi-ty-a0-gf-a0-81.ucode
iwlwifi-Qu-b0-jf-b0-59.ucode
iwlwifi-8000C-36.ucode
iwlwifi-QuZ-a0-jf-b0-77.ucode
iwlwifi-QuZ-a0-hr-b0-77.ucode
iwlwifi-7265D-29.ucode
iwlwifi-8265-34.ucode
iwlwifi-so-a0-gf4-a0-81.ucode
iwlwifi-so-a0-jf-b0-73.ucode
iwlwifi-7265-17.ucode
iwlwifi-Qu-c0-jf-b0-50.ucode
iwlwifi-ty-a0-gf-a0-66.ucode
iwlwifi-9000-pu-b0-jf-b0-46.ucode
iwlwifi-Qu-b0-jf-b0-74.ucode
iwlwifi-ty-a0-gf-a0-72.ucode
iwlwifi-100-5.ucode
iwlwifi-Qu-b0-jf-b0-50.ucode
iwlwifi-so-a0-gf-a0-73.ucode
iwlwifi-QuZ-a0-hr-b0-73.ucode
iwlwifi-Qu-c0-jf-b0-66.ucode
iwlwifi-Qu-b0-jf-b0-77.ucode
iwlwifi-Qu-b0-hr-b0-66.ucode
iwlwifi-Qu-c0-hr-b0-50.ucode
iwlwifi-8265-36.ucode
iwlwifi-ty-a0-gf-a0-77.ucode
iwlwifi-QuZ-a0-jf-b0-66.ucode
iwlwifi-3945-2.ucode
iwlwifi-Qu-c0-jf-b0-72.ucode
iwlwifi-QuZ-a0-jf-b0-72.ucode
iwlwifi-so-a0-gf4-a0-79.ucode
iwlwifi-so-a0-gf4-a0-73.ucode
iwlwifi-Qu-c0-hr-b0-66.ucode
iwlwifi-ty-a0-gf-a0-79.ucode
iwlwifi-Qu-c0-hr-b0-59.ucode
iwlwifi-QuZ-a0-hr-b0-74.ucode
iwlwifi-so-a0-gf-a0-79.ucode
iwlwifi-QuZ-a0-jf-b0-50.ucode
iwlwifi-cc-a0-74.ucode
iwlwifi-ty-a0-gf-a0-78.ucode
iwlwifi-Qu-c0-jf-b0-77.ucode
iwlwifi-cc-a0-73.ucode
iwlwifi-so-a0-gf-a0-74.ucode
iwlwifi-ty-a0-gf-a0-59.ucode
iwlwifi-so-a0-gf4-a0-78.ucode
iwlwifi-Qu-b0-jf-b0-72.ucode
iwlwifi-QuZ-a0-jf-b0-59.ucode
iwlwifi-so-a0-gf4-a0-72.ucode
iwlwifi-QuZ-a0-hr-b0-72.ucode
iwlwifi-QuZ-a0-hr-b0-59.ucode
iwlwifi-105-6.ucode
iwlwifi-3160-17.ucode
iwlwifi-cc-a0-59.ucode
iwlwifi-2000-6.ucode
iwlwifi-Qu-c0-jf-b0-59.ucode
iwlwifi-5000-5.ucode
iwlwifi-ty-a0-gf-a0-74.ucode
iwlwifi-Qu-b0-hr-b0-50.ucode
iwlwifi-Qu-b0-hr-b0-72.ucode
iwlwifi-Qu-c0-jf-b0-74.ucode
iwlwifi-so-a0-gf4-a0-74.ucode
iwlwifi-so-a0-gf4-a0-77.ucode
iwlwifi-so-a0-hr-b0-72.ucode
iwlwifi-so-a0-hr-b0-73.ucode
iwlwifi-9000-pu-b0-jf-b0-34.ucode
iwlwifi-so-a0-gf-a0-78.ucode
iwlwifi-Qu-c0-hr-b0-73.ucode
iwlwifi-4965-2.ucode
iwlwifi-5150-2.ucode
iwlwifi-9260-th-b0-jf-b0-46.ucode
iwlwifi-Qu-c0-hr-b0-74.ucode
iwlwifi-1000-5.ucode
iwlwifi-6050-5.ucode
iwlwifi-Qu-b0-jf-b0-66.ucode
iwlwifi-QuZ-a0-jf-b0-73.ucode
iwlwifi-QuZ-a0-jf-b0-74.ucode
iwlwifi-9000-pu-b0-jf-b0-38.ucode
iwlwifi-cc-a0-50.ucode
iwlwifi-7260-17.ucode
iwlwifi-2030-6.ucode
iwlwifi-so-a0-hr-b0-79.ucode
iwlwifi-so-a0-jf-b0-77.ucode
iwlwifi-cc-a0-72.ucode
iwlwifi-Qu-b0-jf-b0-73.ucode
iwlwifi-6000g2a-6.ucode
iwlwifi-cc-a0-66.ucode
iwlwifi-QuZ-a0-hr-b0-50.ucode
iwlwifi-Qu-b0-hr-b0-77.ucode
iwlwifi-8000C-34.ucode
iwlwifi-Qu-c0-jf-b0-73.ucode
iwlwifi-135-6.ucode
iwlwifi-6000-4.ucode
iwlwifi-QuZ-a0-hr-b0-66.ucode
iwlwifi-so-a0-hr-b0-77.ucode
iwlwifi-so-a0-gf-a0-72.ucode

Most of the above firmwares are provided by below recipe version (20230625):
https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/recipes-kernel/linux-firmware/linux-firmware_20230625.bb
SRCREV = "ee91452dac5abfc4c5b9827cf55e701d8c0ca678"
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git"

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-08-28 09:27:04 +08:00
Anuj Mittal
2e068767cf vc-intrinsics: drop recipe
It was added because igc needed it. igc recipe pulls vc-intrinsics as a
submodule now so this isn't needed anymore.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-08-25 18:29:52 +08:00
Anuj Mittal
042249ca0c openvino: use SRCREV_FORMAT
Since the recipe uses multiple git repositories, set SRCREV_FORMAT.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-08-25 14:30:28 +08:00
Anuj Mittal
27b72d8568 ipmctl: use SRCREV_FORMAT
Since the recipe uses multiple git repositories, set SRCREV_FORMAT.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-08-25 14:30:28 +08:00
Anuj Mittal
a4d0a75b57 intel-oneapi-mkl: dont check for debian renaming of packages
We dont need these packages to be renamed. Also avoids an error when the
debian renaming hook tries to look for objdump when its not there for
recipes inheriting bin_package.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-08-25 10:02:21 +08:00
Anuj Mittal
0685337893 ispc: upgrade 1.20.0 -> 1.21.0
* Allows compilation with LLVM16.
* ISPC_NO_DUMPS is no longer an option and ISPC_PS4_TARGET has been
  renamed.
* Libraries now have proper so versions so packaging tweaks are no
  longer required.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-08-21 12:21:15 +08:00
Lim Siew Hoon
7368b9654e intel-mediasdk: upgrade 23.2.1 -> 23.2.2
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-08-10 09:59:31 +08:00
Lim Siew Hoon
fd3878ea41 onevpl-intel-gpu: upgrade 23.1.5 -> 23.2.4
Drop patches already merged:
 - 0001-Disable-CM-Copy-for-ADL-P-and-RPL-P-4938.patch

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-08-10 09:59:31 +08:00
Lim Siew Hoon
c29299d261 onevpl: upgrade 2023.1.3 -> 2023.3.0
Drops patches already merged:
 - 0001-Fix-valgrind-leak-reported-on-wayland.patch
 - 0002-Fix-sample_multi_transcode-segfault-on-wayland.patch
 - 0003-Fix-X11-rendering-corruption-issue.patch
 - 0004-Adjust-MPEG-1920x1088-alignment.patch
 - 0005-Fix-sample_multi_transcode-intermittent-segfault.patch

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-08-10 09:59:31 +08:00
Lim Siew Hoon
0a8af9c93c intel-media-driver: upgrade 23.1.6 -> 23.2.4
Drops patches already merged:
 - fd67cc3fbd3a362297afc7cc8d75560df62708de.patch

Rebased patches
 - 0001-Encode-fix-fwdRefs-array-out-of-bound-issue.patch

Add patches fix various issues:
 - Fixed to force ARGB to tile4 for MTL platform
 - Fixed to force BGRX to tile4 for MTL platform
 - Fixed to incorrect VDSFC color issue for MTL platform
 - To add mocs index in patch list

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-08-10 09:59:31 +08:00
Lim Siew Hoon
f0aef0cefc libva-intel-utils: upgrade 2.18.1 -> 2.19.0
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-08-10 09:59:31 +08:00
Lim Siew Hoon
84d6fcd0b0 libva-intel: upgrade 2.18.0 -> 2.19.0
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-08-10 09:59:31 +08:00
Lim Siew Hoon
b35fca588f gmmlib: upgrade 22.3.5 -> 22.3.7
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-08-10 09:59:22 +08:00
Anuj Mittal
4bf5828c6b intel-microcode: upgrade 20230512 -> 20230808
Release notes:
https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/tag/microcode-20230808

Also fixes CVE-2022-40982, CVE-2023-23908 and CVE-2022-41804.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-08-09 10:12:13 +08:00
Yogesh Tyagi
1463e5ae10 linux-intel/6.4: change kernel cache branch to yocto-6.4
* Use latest commit from yocto-6.4 of kernel cache

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-08-03 11:52:22 +08:00
Yogesh Tyagi
791c505690 linux-intel-rt/6.4: add recipe
* It builds 6.4 RT kernel from mainline-tracking tree.
  https://github.com/intel/mainline-tracking

  tag: mainline-tracking-v6.4-rt6-preempt-rt-230727T015607Z
* Make linux-intel-rt v6.4.0 the default RT kernel for poky-altcfg
* Change kernel cache branch to yocto-6.4

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-08-03 11:52:22 +08:00
Anuj Mittal
711eee2b8e opencl-clang: move common code to inc
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-08-03 11:51:33 +08:00
Anuj Mittal
efd8310cbe opencl-clang/14.0: update to latest
Drop the patch that is not needed anymore.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-08-03 10:30:34 +08:00
Anuj Mittal
d9d4392e66 opencl-clang/15.0: update to latest
Include the latest changes from ocl-open-150 branch. Backport fixes from
main and include another patch to fix issues with building target
binaries.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-08-03 10:30:27 +08:00
Yogesh Tyagi
ed119ed7e8 intel-compute-runtime : upgrade 23.17.26241.22 -> 23.22.26516.18
* Refresh patch

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
2023-07-31 09:17:52 +08:00
Yogesh Tyagi
69a5266955 intel-graphics-compiler : upgrade 1.0.13822.6 -> 1.0.14062.11
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
2023-07-31 09:17:52 +08:00
Yogesh Tyagi
e2d140280d thermald : upgrade 2.5.2 -> 2.5.3
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
2023-07-31 09:17:52 +08:00
Yogesh Tyagi
311a4fa8b5 intel-crypto-mb : upgrade 2021.7.1 -> 2021.8
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
2023-07-31 09:17:52 +08:00
Yogesh Tyagi
dc3e3facba conf/machine: set preferred kernel to 6.4 for poky-altcfg
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-07-24 09:14:23 +08:00
Yogesh Tyagi
75d2e2cf31 linux-intel/6.4: add recipe
It builds 6.4 kernel version from mainline-tracking tree.
https://github.com/intel/mainline-tracking

tag: mainline-tracking-v6.4-linux-230712T101017Z

Drop v6.2 mainline recipe

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-07-24 09:14:23 +08:00
Yogesh Tyagi
f2bcad2943 linux-intel-rt/6.1: update to tag lts-v6.1.38-rt12-preempt-rt-230713T145506Z
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-07-24 09:14:23 +08:00
Yogesh Tyagi
c5d1a62109 linux-intel/6.1: update to tag lts-v6.1.38-linux-230713T130532Z
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-07-24 09:14:23 +08:00
Naveen Saini
f96c815a14 intel-oneapi-dpcpp-cpp: upgrade 2023.0.0-25370 -> 2023.1.0-46305
licensing/credist.txt lists additional files being installed with
this version.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-07-17 09:25:09 +08:00
Naveen Saini
99eac7518a intel-oneapi-dpcpp-cpp-runtime: upgrade 2023.0.0-25370 -> 2023.1.0-46305
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-07-17 09:25:09 +08:00
Anuj Mittal
8af199950b intel-compute-runtime: use qemu to run native binaries
Now that intel-skylake-64 can use qemu-user as well, don't build native
version of the recipe simply for use by the target version. Build a
qemuwrapper that can be passed to CMAKE_CROSSCOMPILING_EMULATOR.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-07-17 09:24:48 +08:00
Anuj Mittal
4f5cc7a0a0 intel-graphics-compiler: use qemu to run native binaries
Now that intel-skylake-64 can use qemu-user as well, don't build native
version of the recipe simply for use by the target version. Build a
qemuwrapper that can be passed to CMAKE_CROSSCOMPILING_EMULATOR.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-07-17 09:24:48 +08:00
Anuj Mittal
dab85c2325 intel-compute-runtime: upgrade 23.13.26032.30 -> 23.17.26241.22
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-07-17 09:24:48 +08:00
Anuj Mittal
25884a1812 intel-graphics-compiler: upgrade 1.0.13700.14 -> 1.0.13822.6
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-07-17 09:24:48 +08:00
Yogesh Tyagi
024ff7f712 ospray : upgrade 2.11.0 -> 2.12.0
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
2023-07-13 09:38:58 +08:00
Yogesh Tyagi
e965b63243 onednn : upgrade 3.1 -> 3.2
License-Update:
License years updated

New copyrights  added:
Copyright 2022-2023 IBM Corporation
Copyright 2023 KNS Group LLC (YADRO)

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
2023-07-13 09:38:58 +08:00
Yogesh Tyagi
ba7509663a metrics-discovery : upgrade 1.12.164 -> 1.12.165
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
2023-07-13 09:38:58 +08:00
Yogesh Tyagi
ccd2765526 libipt : upgrade 2.0.5 -> 2.0.6
License-Update:
copyright years updated

Following line added to LICENSE file:
SPDX-License-Identifier: BSD-3-Clause

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
2023-07-13 09:38:58 +08:00
Yogesh Tyagi
614d42850e itt : upgrade 3.24.0 -> 3.24.2
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
2023-07-13 09:38:58 +08:00
Yogesh Tyagi
579d21af98 open-model-zoo : upgrade 2023.0.0 -> 2023.0.1
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
2023-07-13 09:38:58 +08:00
Yogesh Tyagi
e0686afa0e openvino-model-optimizer : upgrade 2023.0.0->2023.0.1
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
2023-07-13 09:38:58 +08:00
Yogesh Tyagi
7515d740e6 openvino-inference-engine: upgrade 2023.0.0 -> 2023.0.1
* Refresh patches.
* Drop Protobuf change which disabled use of static protobuf
  libs from system. This is not needed anymore as we are now
  building Protobuf as bundled dependency.

Release Notes:
https://github.com/openvinotoolkit/openvino/releases/tag/2023.0.1

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
2023-07-13 09:38:58 +08:00
Naveen Saini
1bf139602b lms: fix installation path for udev rules
It Fixes:
ERROR: lms-2245.0.0.0-r0 do_package_qa: QA Issue: lms package is not obeying usrmerge distro feature.
/lib should be relocated to /usr.[usrmerge]

This issue is surfaced with enabling usrmerge DISTRO feature.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-06-28 10:08:08 +08:00
Anuj Mittal
3250a33fa8 sbsigntool: fix Upstream-Status format
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-06-27 13:10:09 +08:00
Anuj Mittal
34b65b71bf hdcp: fix Upstream-Status format
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-06-27 13:09:45 +08:00
Anuj Mittal
73c6e7969d Revert "lms: fix build with usrmerge DISTRO feature"
This reverts commit bd2c921fc0.

This causes problems with multilib build as the udev rules are not
correctly installed.
2023-06-26 13:53:46 +08:00
Anuj Mittal
759754c036 security.md: document security policy and reporting guideline
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-06-20 10:14:30 +08:00
Naveen Saini
91a2562fe6 sbsigntool-native: fix SRCREV
An earlier commit introducing the version upgrade didn't update SRCREV
correctly. Fix it.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-06-19 15:57:15 +08:00
Naveen Saini
bd2c921fc0 lms: fix build with usrmerge DISTRO feature
Fixes:
ERROR: lms-2245.0.0.0-r0 do_package_qa: QA Issue: lms package is not obeying usrmerge distro feature.
/lib should be relocated to /usr.[usrmerge]

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-06-16 23:40:58 +08:00
Markus Volk
a1ae00c7ac onevpl: dont pass pcfiledir to cflags
Avoid to pass ${pcfiledir} to CFLAGS and thus
fix build for ffmpeg with --enable-libvpl

| ERROR: libvpl >= 2.6 not found
|
| If you think configure made a mistake, make sure you are using the latest
| version from Git.  If the latest version fails, report the problem to the
| ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.libera.chat.
| Include the log file "ffbuild/config.log" produced by configure as this will help
| solve the problem.
| WARNING: exit code 1 from a shell command.

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-06-16 15:29:25 +08:00
Anuj Mittal
046a0f4862 intel-cmt-cat: upgrade 4.5.0 -> 4.6.0
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-06-16 13:33:56 +08:00
Anuj Mittal
4be9abdad5 sbsigntool-native: upgrade to 0.9.5
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-06-16 13:33:56 +08:00
Markus Volk
2249cab020 onevpl-intel-gpu: add RDEPEND on intel-media-driver
intel-media-driver is also required at runtime and doesn't get installed
by default.

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-06-16 12:59:53 +08:00
Lim Siew Hoon
7710b82c94 intel-media-driver: Fix H265 SCC encode failure.
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-06-16 10:59:17 +08:00
Anuj Mittal
9fa42594c4 intel-crypto-mb: fix multilib build
Make sure libraries are installed correctly even when libdir is not
/usr/lib. Fixes:

|  ERROR: intel-crypto-mb-2021.6-r0 do_package: QA Issue: intel-crypto-mb: Files/directories were installed but not shipped in any package:
|    /usr/lib/libcrypto_mb.so.11.4
|    /usr/lib/libcrypto_mb.so.11
|    /usr/lib/libcrypto_mb.so
|    /usr/lib/libcrypto_mb.a

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-06-14 14:53:00 +08:00
Anuj Mittal
a499183991 openvino-inference-engine: use protobuf as a submodule
Use the version of protobuf fetched by OpenVINO instead of the
system version to avoid problems because of differences in what was
tested.

The build invokes protoc at build time so provide a qemu wrapper that
will allow that to be run on build machine.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-06-14 09:10:58 +08:00
Teoh Suh Haw
3c367f25f6 ispc: upgrade 1.19.0 -> 1.20.0
* Release Notes:
  https://github.com/ispc/ispc/releases/tag/v1.20.0

* Drop already merged patches:
  0001-CMakeLists.txt-allow-to-pick-llvm-config-from-usr-bi.patch
  0001-CMakeLists.txt-link-with-libclang-cpp-library-instea.patch
  ffc75e464ff2b8fce7dbf74f1846ebd0852bc6f9.patch

* Fix packaging to ensure libispcrt is packaged correctly.

* ISPC runtime with CPU support can either be enabled with OpenMP or
  TBB. TBB is enabled by default that needs meta-oe to be included.

Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-06-09 13:25:43 +08:00
Yogesh Tyagi
dbc3ac3084 open-model-zoo: upgrade 2022.2.0 -> 2023.0.0
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-06-09 10:52:20 +08:00
Yogesh Tyagi
0444a0b313 openvino-model-optimizer: upgrade 2022.3.0 -> 2023.0.0
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-06-09 10:52:20 +08:00
Yogesh Tyagi
348511101c openvino-inference-engine: upgrade 2022.3.0 -> 2023.0.0
* OpenVINO no longer supports vpu so remove the vpu PACKAGECONFIG and
  references.
* Now allows snappy compression to be used for TF frontend so allow
  system installed snappy.
* Flatbuffers is now needed for TF Lite frontend.
* Refresh patches.

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-06-09 10:52:17 +08:00
Lim Siew Hoon
eb696e99ff onevpl-intel-gpu: Disable CM COPY for ADL-P and RPL-P.
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-06-02 11:16:54 +08:00
Lim Siew Hoon
d7692dba74 onevpl: fix various issues
1. Fixed memory leaking on sample rendering in wayland
2. Fixed sample_multi_transcode segfault rendering in wayland.
3. Fixed sample X11 rendering in corruption issue.
4. Fixed Adjust MJPEG 1920x1080 alignment issue.
5. Fixed sample_multi_transcode intermittent segfault issue.

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-06-02 11:16:50 +08:00
Teoh Suh Haw
43a28a839c metrics-discovery: upgrade 1.12.163 -> 1.12.164
Release Notes:
https://github.com/intel/metrics-discovery/releases/tag/metrics-discovery-1.12.164

Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-06-01 11:14:52 +08:00
Teoh Suh Haw
2b31910c9d level-zero: upgrade 1.7.15 -> 1.11.0
Release Notes:
https://github.com/oneapi-src/level-zero/releases/tag/v1.11.0

Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-06-01 11:14:52 +08:00
Teoh Suh Haw
dc5c9fb1d5 intel-crypto-mb: upgrade 2021.6 -> 2021.7.1
Release Notes:
https://github.com/intel/ipp-crypto/releases/tag/ippcp_2021.7.1

Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-06-01 11:14:52 +08:00
Anuj Mittal
8220eccbbf openvino-inference-engine: fix build with gcc13
Fix various issues when compiling with gcc13.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-05-31 11:24:53 +08:00
Anuj Mittal
c8fc88b7ed intel-compute-runtime: fix build with gcc13
Dont turn warnings to errors. Helps when compiling with gcc13.

 | /build/poky/build/tmp/work/corei7-64-poky-linux/intel-compute-runtime/23.09.25812.14-r0/recipe-sysroot/usr/include/c++/13.1.1/bits/stl_algobase.h:398:11: error: '*(unsigned char (*)[7])((char*)&<unnamed> + offsetof(NEO::ArgDescValue, NEO::ArgDescValue::elements.StackVec<NEO::ArgDescValue::Element, 1, unsigned char>::onStackMemRawBytes[0]))' may be used uninitialized [-Werror=maybe-uninitialized]
 |   398 |         { *__to = *__from; }
 |       |

Also, include cstdint header to get rid of other gcc13 specific errors.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-05-30 15:10:17 +08:00
Teoh Suh Haw
1340aeb6c7 intel-compute-runtime: upgrade 23.09.25812.14 -> 23.13.26032.30
Release Notes:
https://github.com/intel/compute-runtime/releases/tag/23.13.26032.30

Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-05-30 09:55:36 +08:00
Teoh Suh Haw
b533ec1ecd intel-graphics-compiler: upgrade 1.0.13463.18 -> 1.0.13700.14
Release Notes:
https://github.com/intel/intel-graphics-compiler/releases/tag/igc-1.0.13700.14

Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-05-30 09:55:36 +08:00
Teoh Suh Haw
e7ef28957a linux-intel-rt/6.1: add recipe
*Replace v5.19 with linux-intel-lts v6.1.26-rt8 kernel.
*Make linux-intel-lts v6.1.26 the default RT kernel for poky and poky-altcfg.

Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-05-30 09:55:36 +08:00
Anuj Mittal
92ed65a34f lms: fix build errors with gcc13
Fixes errors like:

 | /build/poky/build/tmp/work/x86-64-v3-poky-linux/lms/2245.0.0.0-r0/git/MEIClient/Include/MEIparser.h:11:1: note: 'uint8_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
 |    10 | #include <vector>
 |   +++ |+#include <cstdint>

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-05-29 16:00:41 +08:00
Anuj Mittal
2f54f3512d ispc: fix build with gcc13
Backport an upstream fix to missing missing header issue triggered when
building with gcc13.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-05-29 15:20:35 +08:00
Anuj Mittal
277f7f7860 intel-media-driver: fix build with gcc13
Fixes issues [1][2][3] when building with gcc13.

[1] https://github.com/intel/media-driver/issues/1639
[2] https://github.com/intel/media-driver/issues/1640
[3] https://github.com/intel/media-driver/issues/1641

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-05-29 15:20:35 +08:00
Anuj Mittal
068182dbcf intel-mediasdk: fix build with gcc13
Fixes:

11:08:59  | /build/poky/build/tmp/work/corei7-64-poky-linux/intel-mediasdk/23.2.1-r0/git/api/mfx_dispatch/linux/mfxparser.cpp:60:36: error: 'uint8_t' does not name a type
11:08:59  |    60 |   uint8_t* data = reinterpret_cast<uint8_t*>(&id);
11:08:59  |       |                                    ^~~~~~~
11:08:59  | /build/poky/build/tmp/work/corei7-64-poky-linux/intel-mediasdk/23.2.1-r0/git/api/mfx_dispatch/linux/mfxparser.cpp:60:36: note: 'uint8_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-05-29 15:20:35 +08:00
Lim Siew Hoon
5b78a9af8f onevpl-intel-gpu upgrade: 22.6.5 -> 23.1.5
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-05-25 15:48:38 +08:00
Lim Siew Hoon
63149cac0a onevpl upgrade: 2023.1.1 -> 2023.1.3
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-05-25 15:48:38 +08:00
Lim Siew Hoon
717b0e7a85 intel-mediasdk upgrade: 22.6.5 -> 23.2.1
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-05-25 15:48:38 +08:00
Lim Siew Hoon
54383bd3aa intel-media-driver: upgrade 23.1.0 -> 23.1.6
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-05-25 15:48:38 +08:00
Lim Siew Hoon
871317ec87 libva-intel-utils: upgrade 2.17.1 -> 2.18.1
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-05-25 15:48:38 +08:00
Lim Siew Hoon
dd356eb9b8 libva-intel: upgrade 2.17.0 -> 2.18.0
Drop patches already fixed it.
- 0001-Add-missing-libva.def.patch

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-05-25 15:48:38 +08:00
Lim Siew Hoon
717ccd3707 intel-gmmlib: upgrade 22.3.3 -> 22.3.5
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-05-25 15:48:38 +08:00
Naveen Saini
f08c93b27a thermald: depend on autoconf-archive-native
configure: error: AX_CHECK_COMPILE_FLAG not found, you'll need to install autoconf-archive

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
2023-05-23 16:08:54 +08:00
Anuj Mittal
a0ea4e5d39 intel-microcode: upgrade 20230214 -> 20230512
Release notes:
https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/tag/microcode-20230512

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-05-18 09:30:08 +08:00
Teoh Suh Haw
dc19c9bb00 embree: upgrade 4.0.1 -> 4.1.0
Release Notes:
https://github.com/embree/embree/releases/tag/v4.1.0

Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-05-18 09:24:16 +08:00
Teoh Suh Haw
93d651489a linux-intel-rt/5.19: update to tag mainline-tracking-v5.19-rt10-preempt-rt-230407T052642Z
Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-05-17 11:11:04 +08:00
Teoh Suh Haw
a76e24f040 linux-intel/6.1: update to tag lts-v6.1.26-linux-230504T201607Z
Updated kernel cache

Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-05-17 11:11:04 +08:00
Teoh Suh Haw
ca9fa7a583 linux-intel/6.2: update to tag mainline-tracking-v6.2-linux-230419T060611Z,
Updated kernel cache

Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-05-17 11:11:04 +08:00
Naveen Saini
edf80dea79 ispc: fix recipe
There are few problems in current recipe:

(1)
ispc needs to invoke native llvm-config from target sysroot to list LLVM
lib libraries. clang already provides crossscripts/llvm-config, which does
the job.

However, using LLVM_TOOLS_BINARY_DIR leads to wrong llvm-config being
used. So remove it from search path for llvm-config.

(2)
Error:
ispc/1.19.0-r0/recipe-sysroot-native/usr/bin/x86_64-poky-linux/x86_64-poky-linux-ld:
ispc/1.19.0-r0/recipe-sysroot-native/usr/lib/libclang-cpp.so: undefined reference to `std::condition_variable::wait(std::unique_lock<std::mutex>&)@GLIBCXX_3.4.30'
error: linker command failed with exit code 1 (use -v to see invocation)

Native libraries were being linked to target libraries leading to this
failure. Fix and cleanup DEPENDS/RDEPENDS.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-05-15 10:16:01 +08:00
Naveen Saini
2752b2e20f onevpl: fix onevpl-examples packaging
Currently vpl/examples are not being installed in examples pkg.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-05-11 12:11:11 +08:00
Teoh Suh Haw
bd2c1b6bda ipmctl : upgrade 03.00.00.0483 -> 03.00.00.0485
Release Notes:
ipmctl:
https://github.com/intel/ipmctl/releases/tag/v03.00.00.0485-2

Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-05-11 12:11:11 +08:00
Teoh Suh Haw
6f55220359 intel-graphics-compiler: upgrade 1.0.13230.7 -> 1.0.13463.18
Release Notes:
https://github.com/intel/intel-graphics-compiler/releases/tag/igc-1.0.13463.18

Upgrade SPIRV-Tools to v2023.2 release
Upgrade SPIRV-Headers to tag sdk-1.3.243.0

Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-04-28 12:47:23 +08:00
Teoh Suh Haw
0b3f156219 intel-compute-runtime: upgrade 23.05.25593.11 -> 23.09.25812.14
Release Notes:
https://github.com/intel/compute-runtime/releases/tag/23.09.25812.14

Adapt external-ocloc.patch

Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-04-28 12:47:23 +08:00
Teoh Suh Haw
48ddf2b0e6 onednn: upgrade 3.0.1 -> 3.1
Release Notes:
https://github.com/oneapi-src/oneDNN/releases/tag/v3.1

Disable Graph API with ONEDNN_BUILD_GRAPH=OFF because that is not supported with DNNL_GPU_RUNTIME=OCL.

Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-04-13 10:48:54 +08:00
Teoh Suh Haw
51b86cf2fe intel-compute-runtime: upgrade 22.49.25018.24 -> 23.05.25593.11
Release Notes:
https://github.com/intel/compute-runtime/releases/tag/23.05.25593.11

Adapt allow-to-find-cpp-generation-tool.patch

Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-04-13 10:48:54 +08:00
Teoh Suh Haw
aed4bb9af7 intel-graphics-compiler: upgrade 1.0.12812.24 -> 1.0.13230.7
Release Notes:
https://github.com/intel/intel-graphics-compiler/releases/tag/igc-1.0.13230.7

Drop already merged patches:
c707d1e2244aec988bdd5d2a7473ef3a32a5bac7.patch
d1761dfc3ca6b54bac0ee213389a65f84d2aa9b7.patch
e09e752949e7af0231884d1b11ea907e3e8b1611.patch
fix-build-with-llvm12.patch

Fixes fuzz warnings.

Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-04-13 10:48:16 +08:00
Teoh Suh Haw
ef15b09a26 linux-intel-rt/5.19: update to tag mainline-tracking-v5.19-rt10-preempt-rt-230316T223733Z
Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-04-11 14:43:24 +08:00
Teoh Suh Haw
96c0c9d5dc linux-intel/6.2: update to tag mainline-tracking-v6.2-linux-230308T061118Z
Updated kernel cache

Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-04-11 14:43:24 +08:00
Teoh Suh Haw
f590e65795 linux-intel/6.1: update to tag lts-v6.1.12-linux-230316T132124Z
Updated kernel cache

Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-04-11 14:43:24 +08:00
Naveen Saini
dc066aa45c onedpl: upgrade 2021.7.0 -> 2022.0.0
Release notes:
https://github.com/oneapi-src/oneDPL/releases/tag/oneDPL-2022.0.0-release

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
2023-04-07 10:00:31 +08:00
Naveen Saini
631c016f96 maintainers.inc: include entry for intel-cmt-cat
Re-arranged entry for intel-graphics-compiler to align with alphabetical order.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
2023-04-07 10:00:18 +08:00
Yongxin Liu
ec3147abdd intel-cmt-cat: add recipe
This software package provides basic support for Intel(R) Resource
Director Technology (Intel(R) RDT) including:

  Cache Monitoring Technology (CMT)
  Memory Bandwidth Monitoring (MBM)
  Cache Allocation Technology (CAT)
  Code and Data Prioritization (CDP)
  Memory Bandwidth Allocation (MBA)

Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
2023-04-05 17:04:26 +08:00
Anuj Mittal
b81ad5eb64 openvino: fix UPSTREAM_CHECK_GITTAGREGEX
We don't need to match versions with suffixes signifying they are
pre-releases.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-03-28 10:00:04 +08:00
Naveen Saini
2b37e2a69c openvkl: disable avx ISAs for intel-corei7-64 machine
It enables them by default instead of checking based on what is supported.

openvklTest throws following error:
SIGILL - Illegal instruction signal

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-03-28 09:57:00 +08:00
Teoh Suh Haw
c88dfd9a79 itt: upgrade 3.23.0 -> 3.24.0
Release Notes:
https://github.com/intel/ittapi/releases/tag/v3.24.0

Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-03-28 09:29:21 +08:00
Teoh Suh Haw
fc1d35e17f lms: upgrade 2226.0.0.0 -> 2245.0.0.0
Release Notes:
https://github.com/intel/lms/releases/tag/v2245.0.0.0

Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-03-28 09:29:21 +08:00
Teoh Suh Haw
8a7f46aa91 ipmctl : upgrade 03.00.00.0468 -> 03.00.00.0483
Release Notes:
ipmctl:
https://github.com/intel/ipmctl/releases/tag/v03.00.00.0483
edk2:
https://github.com/tianocore/edk2/releases/tag/edk2-stable202302

Adapt patch for edk2 202302 release

Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-03-28 09:29:21 +08:00
Teoh Suh Haw
e27e988fe5 onednn: upgrade 3.0 -> 3.0.1
Release Notes:
https://github.com/oneapi-src/oneDNN/releases/tag/v3.0.1

Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-03-28 09:29:21 +08:00
Teoh Suh Haw
dfd14a166d metrics-discovery : upgrade 1.12.158 -> 1.12.163
Release Notes:
https://github.com/intel/metrics-discovery/releases/tag/metrics-discovery-1.12.163

Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-03-28 09:29:21 +08:00
Naveen Saini
ae595644bc intel-oneapi-ipp: install headers
Required when building applications with ipp.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-03-28 09:17:03 +08:00
Anuj Mittal
8734c6a0bc openvino-inference-engine: add PACKAGECONFIG for samples
Add an option to turn OFF compilation of samples and tools. Move the
OpenCV dependency to this PACKAGECONFIG.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-03-27 16:23:02 +08:00
Anuj Mittal
c420e9fc6a openvino-inference-engine: remove python3-opencv from DEPENDS
It's no longer needed to be present after the change in [1] was merged
in 2022.3.0. Also see [2].

[1] 09a0fb7890
[2] https://github.com/openvinotoolkit/openvino/pull/14617

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-03-27 10:57:53 +08:00
Zoltan Boszormenyi
08c5a9be5d openvino-inference-engine: Use external gflags
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-03-27 10:56:49 +08:00
Naveen Saini
476275e9c0 ospray: upgrade 2.10.0 -> 2.11.0
Added entry for Intel(R) Implicit SPMD Program Compiler (ISPC) in
third-party-programs.txt.

Target ospray_module_cpu library build need libispcrt from ispc, so added
ispc also to DEPENDS.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-03-17 15:49:31 +08:00
Naveen Saini
a2657c7cea openvkl: upgrade 1.3.0 -> 1.3.2
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-03-17 15:49:31 +08:00
Naveen Saini
ca45e3450d embree: upgrade 3.13.5 -> 4.0.1
Turn off EMBREE_ZIP_MODE, which ships environement scrpit for build env setup.

Removed duplicate DEMBREE_ISPC_SUPPORT configuration.

checksum update:
Added entry for Intel(R) oneAPI DPC++/C++ compiler in third-party-programs.txt.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-03-17 15:49:31 +08:00
Naveen Saini
327be1475c rkcommon: upgrade 1.10.0 -> 1.11.0
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-03-17 15:49:31 +08:00
Anuj Mittal
48e5fcbf52 jhi: remove recipe and test
This project is no longer maintained.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-03-15 10:46:28 +08:00
Anuj Mittal
e338dcb73e openvino: fix UPSTREAM_CHECK_GITTAGREGEX
Make sure we don't match the pre-releases.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-03-14 10:22:21 +08:00
Zoltan Boszormenyi
9b29afcdd5 intel-mediasdk: Fix build dependency
Use virtual/opencl-icd instead of ocl-icd explicitly.

Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-03-14 09:29:33 +08:00
Zoltán Böszörményi
647c36eb22 openvino-inference-engine: Fix build dependency
Use virtual/opencl-icd instead of ocl-icd explicitly.

Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-03-14 09:29:33 +08:00
Zoltán Böszörményi
f3f48ac8cc intel-oneapi-mkl: Fix runtime dependency
Use virtual/opencl-icd instead of ocl-icd explicitly.

Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-03-14 09:29:33 +08:00
Zoltan Boszormenyi
1be38ea89f intel-oneapi-dpcpp-cpp-runtime: Fix runtime dependency
Use virtual/opencl-icd instead of ocl-icd explicitly.

Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-03-14 09:29:33 +08:00
Zoltan Boszormenyi
1305a9faf5 intel-oneapi-compiler: Fix runtime dependency
Use virtual/opencl-icd instead of ocl-icd explicitly.

Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-03-14 09:29:33 +08:00
Zoltán Böszörményi
b398300a95 onednn: Fix build dependency
Use virtual/opencl-icd instead of ocl-icd explicitly.

Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-03-14 09:29:33 +08:00
Naveen Saini
ba3ac217dc conf/machine: set preferred kernel to 6.2 for poky-altcfg
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-03-09 09:46:07 +08:00
Naveen Saini
503e4e567e linux-intel/6.2: add recipe
It builds 6.2 kernel version from mainline-tracking tree.
https://github.com/intel/mainline-tracking

tag: mainline-tracking-v6.2-linux-230223T032049Z

Remove linux-intel 5.19 recipe. There is no -rt version of 6.2 yet
so 5.19-rt has been kept.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-03-09 09:46:07 +08:00
Teoh Suh Haw
197effab2b onednn: upgrade 2.7.1 -> 3.0
Release Notes:;
https://github.com/oneapi-src/oneDNN/releases/tag/v3.0

Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-03-01 15:33:50 +08:00
Naveen Saini
5f2a109a15 ispc: upgrade 1.18.0 -> 1.19.0
Dropped patches which are already available.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-03-01 15:33:50 +08:00
Anuj Mittal
3289c1c659 intel-compute-runtime: upgrade 22.38.24278 -> 22.49.25018.24
Release notes:
https://github.com/intel/compute-runtime/releases/tag/22.49.25018.24

License-Update: Includes full text of license now.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-02-24 12:28:53 +08:00
Chee Yang Lee
9302542eba igc: add patch upstream status
Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-02-24 12:15:04 +08:00
Anuj Mittal
4a5cfd3542 intel-graphics-compiler: upgrade 1.0.12812.9 -> 1.0.12812.24
Release notes:
https://github.com/intel/intel-graphics-compiler/releases/tag/igc-1.0.12812.24

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-02-24 11:54:44 +08:00
Anuj Mittal
d5ddfa0354 thermald: upgrade 2.5.1 -> 2.5.2
Release 2.5.2
- Support Alder Lake N
- Support ITMT version 2, which is used in some Raptor Lake systems

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-02-23 16:42:39 +08:00
Anuj Mittal
4bd0fb455a ixgbevf: upgrade 4.16.5 -> 4.17.11
Release notes:
https://sourceforge.net/projects/e1000/files/ixgbevf%20stable/4.17.11/

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-02-23 16:39:29 +08:00
Anuj Mittal
b605f173e8 openvino-model-optimizer: update to latest from 2022.3 branch
Brings in support for NumPy 1.24.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-02-22 21:50:14 +08:00
Anuj Mittal
1790fd8d2e openvino-inference-engine: update to latest on 2022.3 branch
Brings in support for NumPy 1.24 and support for system installed
OpenCL. Includes a newer version of myriad firmware as well.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-02-22 21:49:13 +08:00
Teoh Suh Haw
cba5ffa6d4 ixgbe: upgrade 5.17.1 -> 5.18.11
Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-02-21 12:30:21 +08:00
Teoh Suh Haw
0dd3e3d66f xf86-video-ast : upgrade 1.1.5 -> 1.1.6
Add XORG_DRIVER_COMPRESSOR to fetch tar.gz package instead of tar.bz2 because 1.1.6 does not have tar.bz package.

Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-02-21 12:30:21 +08:00
Teoh Suh Haw
c8ffd3928d openvino-model-optimizer: upgrade 2022.2.0 -> 2022.3.0
Release notes:
https://github.com/openvinotoolkit/openvino/releases/tag/2022.3.0

Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-02-21 12:05:49 +08:00
Anuj Mittal
fe69a9478e meta-intel.inc: build v6.1 kernel with poky distro
Change our test defaults to build v6.1 with poky and v5.19 MLT with
poky-altcfg.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-02-21 11:59:46 +08:00
Anuj Mittal
0322924988 linux-intel/5.15: remove recipes
We're adding v6.1 as the LTS for this release so remove these recipes.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-02-21 11:59:16 +08:00
Anuj Mittal
533b604a32 linux-intel/6.1: add recipe
Builds v6.1 version of linux-intel-lts tree.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-02-20 13:42:40 +08:00
Naveen Saini
31f67cc94e intel-microcode: upgrade 20221108 -> 20230214
Release notes:
https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/tag/microcode-20230214

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-02-15 15:27:54 +08:00
Anuj Mittal
57a3810ed1 linux-intel-rt/5.19: update to tag mainline-tracking-v5.19-rt10-preempt-rt-230104T115537Z
Updated kernel cache too.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-02-08 15:56:37 +08:00
Anuj Mittal
82cb65cf6d linux-intel/5.19: update to tag mainline-tracking-v5.19-linux-230118T042554Z
Updated kernel cache too.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-02-08 15:56:37 +08:00
Anuj Mittal
53df30ef13 linux-intel-rt/5.15: update to tag lts-v5.15.85-rt55-preempt-rt-230113T035939Z
Updated kernel cache too.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-02-08 15:56:32 +08:00
Anuj Mittal
434d4648ca linux-intel/5.15: update to tag lts-v5.15.85-linux-230113T035248Z
Updated kernel cache too.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-02-08 15:55:45 +08:00
Lim Siew Hoon
3e2a3affd7 onevpl-intel-gpu: upgrade 22.5.4 -> 22.6.5
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-02-08 15:54:42 +08:00
Lim Siew Hoon
6a6f060702 onevpl: upgrade 2022.2.2 -> 2023.1.1
Drops patches already merged:
* 0001-Enable-xdg_shell-for-weston10.patch
* 0001-Fix-missing-UYVY-VA_FOURCC-causing-encode-failure.patch

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-02-08 15:54:42 +08:00
Lim Siew Hoon
d6eec55715 intel-mediasdk: upgrade 22.6.0 -> 22.6.5
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-02-08 15:54:42 +08:00
Lim Siew Hoon
d4bba3cc53 intel-media-driver: upgrade 22.5.4 -> 23.1.0
Drops patches already fixed and merged:
* 0001-Fix-uClibc-build.patch

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-02-08 15:54:42 +08:00
Lim Siew Hoon
15c9cc795d libva-intel-utils: upgade 2.16.0 -> 2.17.1
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-02-08 15:54:42 +08:00
Lim Siew Hoon
535790ae42 libva-intel: upgrade 2.16.0 -> 2.17.0
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-02-08 15:54:42 +08:00
Lim Siew Hoon
fe0c4e64a0 intel-gmmlib: upgrade 22.2.0 -> 22.3.3
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-02-08 15:54:42 +08:00
Anuj Mittal
a70f782663 linux-yocto: make the bbappend generic
Dont keep linux-yocto bbappends tied to versions so we don't need to
keep them in sync.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-02-07 15:00:42 +08:00
Naveen Saini
9663e584c2 linux-yocto: allow building 6.1 linux-yocto kernel with meta-intel
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-01-30 10:40:57 +08:00
Naveen Saini
cc3b4ed77f intel-oneapi-dpcpp-cpp-runtime: install missing common headers
Download dev-utilities package to have common headers available too.

fatal error: 'dpc_common.hpp' file not found

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-01-30 09:51:17 +08:00
Naveen Saini
b3c7d3ee44 intel-oneapi-mkl: install missing headers
Download the -devel package to have MKL headers available too. Static
libraries take too much space (>5GB) so package them separately.

Make sure that the directories in /opt are not symlinked to avoid errors
for packages (like tbb) that also install directories with same name in
$includedir.

Fixes:
| fatal error: 'oneapi/mkl.hpp' file not found

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-01-26 09:34:50 +08:00
Anuj Mittal
e99ca0c5cd recipes: fix Upstream-Status tags
Ensure that our recipes have correct tags so the QA check doesn't give
out warnings or errors.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-01-25 09:32:26 +08:00
Anuj Mittal
a9242002cb openvino-inference-engine: fix multilib build
Switch to using variables defined for RPM generation as it more closely
aligns with how we install libraries and remove the tweak done for
debian variables.

Also fixes packaging issues when BASELIB is set to lib64:

| 20:18:42  ERROR: openvino-inference-engine-2022.3.0-r0 do_package: QA Issue: openvino-inference-engine: Files/directories were installed but not shipped in any package:
| 20:18:42    /usr/lib/python3.10/site-packages/_pyngraph.cpython-310-x86_64-linux-gnu.so
| 20:18:42    /usr/lib/python3.10/site-packages/requirements.txt
...
| 20:18:42    /usr/lib/python3.10/site-packages/openvino/inference_engine/ie_api.cpython-310-x86_64-linux-gnu.so
| 20:18:42    /usr/lib/python3.10/site-packages/openvino/inference_engine/constants.cpython-310-x86_64-linux-gnu.so
| 20:18:42    /usr/lib/python3.10/site-packages/openvino/inference_engine/__init__.py

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-01-17 13:02:04 +08:00
Anuj Mittal
e99756e072 intel-graphics-compiler: ignore buildpaths warning
Ignore the buildpath being embedded in bitcode by clang until we've
found a way to fix.

| QA Issue: File /usr/lib/libigc.so.1.0.1 in package intel-graphics-compiler contains reference to TMPDIR [buildpaths]

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-01-16 13:57:51 +08:00
Anuj Mittal
b15d2fbc33 openvino-inference-engine: upgrade 2022.2.0 -> 2022.3.0
* OpenVINO now installs libraries and headers correctly so we don't need
the local patches anymore.

* Switch to using pybind11 from system. json-schema-validator is no
longer used and open model zoo submodule is only used when building a
specific tool so these submodules have been removed.

* Tweak build scripts to include Yocto specific changes.

License-Update: xbyak deleted the Japaneses translation from COPYRIGHT
and nlohmann_json updated copyright years.

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-01-09 17:15:31 +08:00
Anuj Mittal
7d7aaa0826 intel-graphics-compiler: fix buildpaths warnings
Clone SPIRV-Tools and Headers in S instead of WORKDIR so they don't
escape file-prefix-map substitutions.

Fixes buildpaths warnings:

| WARNING: intel-graphics-compiler-1.0.12812.9-r0 do_package_qa: QA Issue: File /usr/lib/.debug/libigc.so.1.0.1 in package intel-graphics-compiler-dbg contains reference to TMPDIR [buildpaths]

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-01-09 17:14:30 +08:00
Naveen Saini
1ef5059473 intel-oneapi-ipp: upgrade 2021.5.1-522 -> 2021.7.0-25396
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-01-04 16:24:21 +08:00
Naveen Saini
0649e85668 intel-oneapi-dpcpp-cpp: upgrade 2022.1.0-3768 -> 2023.0.0-25370
Release notes:
https://www.intel.com/content/www/us/en/developer/articles/release-notes/intel-oneapi-toolkit-release-notes.html#inpage-nav-2

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-01-04 16:24:21 +08:00
Naveen Saini
046726f89f intel-oneapi-dpcpp-cpp-runtime: upgrade 2022.1.0-3768 -> 2023.0.0-25370
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-01-04 16:24:21 +08:00
Naveen Saini
7eff628487 intel-oneapi-mkl: upgrade 2022.0.1-117 -> 2023.0.0-25398
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-01-04 16:24:21 +08:00
Naveen Saini
731985dc4e setup-intel-oneapi-env: rename 2022.0.1-3633 -> 2023.0.0-25370
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-01-04 16:24:20 +08:00
Naveen Saini
19400ed8d8 intel-oneapi-compiler: upgrade 2022.0.1-3633 -> 2023.0.0-25370
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-01-04 16:24:20 +08:00
Naveen Saini
423820afb6 intel-skylake-64: use tune-x86-64-v3.inc
tune-x86-64-v3.inc uses x86-64 v3 level of instruction set.
x86-64-v3: (close to Haswell) AVX, AVX2, BMI1, BMI2, F16C, FMA, LZCNT, MOVBE, XSAVE

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-01-04 10:55:28 +08:00
Anuj Mittal
9595cf0e49 layer.conf: update LAYERSERIES_COMPAT to include mickledore
OE-Core has switched to mickledore:
https://git.openembedded.org/openembedded-core/commit/?id=57239d66b933c4313cf331d35d13ec2d0661c38f

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-01-04 10:19:54 +08:00
Naveen Saini
7f8e1c5375 tune-skylake.inc: remove qemu-usermode check
QEMU 7.2.0 has now support for avx2 with followign change:
x86: TCG support for AVX, AVX2, F16C, FMA3 and VAES instructions

Ref https://git.yoctoproject.org/poky/commit/?id=9caff14abbb742e5083056b899ee6fc0a5fba8f3

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-12-29 09:27:07 +08:00
Naveen Saini
66d1397bfa layer.conf: remove addpylib directive
We'd like meta-intel master to be able to build with OE-Core kirkstone
as well. But Bitbake version in kirkstone does not recognize addplylib
directive leading to parsing errors.

Remove it for now until there is a better solution available.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-12-21 15:38:34 +08:00
Anuj Mittal
bc021ab001 layer.conf: use addpylib directive
A recent change in OE-Core [1] has changed the way ${LAYERDIR}/lib is
searched for Python modules.

Use the new addpylib directive to ensure our modules are imported
required for running testimage.

[1] https://git.openembedded.org/openembedded-core-contrib/commit/?id=1f56155e91da2030ee0a5e93037c62e1349ba89f

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-12-20 16:35:34 +08:00
Naveen Saini
c7c8ed43e0 linux-intel/5.15: fix upstream release checking
Fix upstream release checking for linux-intel-rt/5.15 too.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-12-15 12:54:52 +08:00
Teoh Jay Shen
3ccb7aafda meta-intel.inc: add r8152 kernel module to MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS
Enable r8152 kernel module for images based on packagegroup-core-boot.

Some QA setups that use Realtek RTL8152/RTL8153 based USB ethernet
adapters for connection will not have networking working for
such images otherwise.

Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-12-15 12:53:52 +08:00
Teoh Jay Shen
fda4108658 meta-intel.inc: add igc module to MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS
Enable IGC kernel module for images based on packagegroup-core-boot.

Some products like TGL NUC11TNKV7 with integrated I225 ethernet
controller will not have networking working for such images otherwise.

Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-12-15 12:50:52 +08:00
Yogesh Tyagi
1153290b11 ispc : Add ptest
- ispc-ptest is taking around 225 seconds to execute
- Below is the run log of ispc-ptest
  START: ptest-runner
  2022-12-07T15:43
  root@qemux86-64:/usr/lib/ispc/ptest# ptest-runner ispc
  BEGIN: /usr/lib/ispc/ptest
  Testing ISPC compiler: ../../../bin/ispc
  Testing ISPC target: sse4-i32x4
  Testing ISPC arch: x86-64

  Using test compiler: Intel(r) Implicit SPMD Program Compiler (Intel(r) ISPC), 1.17.0 (build commit 7ad8429369a4d5ce @ 20220115, LLVM 12.0.0)
  Using C/C++ compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project d28af7c654d8db0b68c175db5ce212d74fb5e9bc)

  Running 4 jobs in parallel. Running 1382 tests.
  Test varying int64: [-10000000001,-10000000002,-10000000003,-10000000004], [10000000001,10000000002,10000000003,10000000004]
  Test varying int64: [-10000000001,-10000000002,-10000000003,-10000000004], [10000000001,10000000002,10000000003,10000000004]

  Test varying int8: [-1,-2,-3,-4], [1,2,3,4]spc]
  Test varying int8: [-1,-2,-3,-4], [1,2,3,4]

  Test uniform int64: -10000000005, 10000000005
  Test uniform int64: -10000000005, 10000000005

  Test uniform int8: -5, 5s/paddus-vi64.ispc]
  Test uniform int8: -5, 5

  Test bool: uniform: true, false; varying: [false,true,true,false], [true,false,false,true]; in simd cf: [_________,_________,true,false], [_________,_________,false,true].
  Test bool: uniform: true, false; varying: [false,true,true,false], [true,false,false,true]; in simd cf: [_________,_________,true,false], [_________,_________,false,true].

  Test uniform double: 18.250000-float-uniform.ispc]
  Test uniform double: 18.250000

  Test varying int16: [-2,-3,-4,-5], [2,3,4,5]ispc]
  Test varying int16: [-2,-3,-4,-5], [2,3,4,5]

  Test bool: uniform: true, false; varying: [false,true,true,false], [true,false,false,true]
  Test bool: uniform: true, false; varying: [false,true,true,false], [true,false,false,true]

  Test uniform int16: -6, 6/psubus-i16.ispc]
  Test uniform int16: -6, 6

  Test varying simd: small ones: [((1)),2,((3)),4]
  Test varying simd: small ones: [((1)),2,((3)),4]

  Test uniform int32: -7, 7/packed-store.ispc]
  Test uniform int32: -7, 7

  Test varying int32: [-3,-4,-5,-6], [3,4,5,6]
  Test varying int32: [-3,-4,-5,-6], [3,4,5,6]

  Test varying double: [14.250000,15.250000,16.250000,17.250000]
  Test varying double: [14.250000,15.250000,16.250000,17.250000]

  Test uniform float: 9.750000catter-mask-2.ispc]
  Test uniform float: 9.750000

  Hello World! 1382 [./tests/gs-double-improve-multidim-2.ispc]
  Hello World!

  Test varying float: [5.750000,6.750000,7.750000,8.750000]
  Test varying float: [5.750000,6.750000,7.750000,8.750000]

   Done 1382 / 1382 [./tests/test-11.ispc]

  Executed 1356 / 1382 (26 skipped)

  PASSRATE (1356/1356) = 100%

  PASS: ./tests/store-int8.ispc
  PASS: ./tests/phi-opts-4.ispc
  PASS: ./tests/pmulus-i32.ispc
  PASS: ./tests/new-delete-3.ispc
  PASS: ./tests/funcptr-varying-6.ispc
  PASS: ./tests/short-circuit-5.ispc
  PASS: ./tests/funcptr-uniform-6.ispc
  PASS: ./tests/reduce-equal-4.ispc
  PASS: ./tests/test-12.ispc
  PASS: ./tests/1475-int64.ispc
  PASS: ./tests/test-49.ispc
  PASS: ./tests/packed-load-64-4.ispc
  PASS: ./tests/gs-improve-multidim-1.ispc
  PASS: ./tests/packed-load-64-2.ispc
  SKIP: ./tests/max-float16-1.ispc
  ....
  ....
  1356 / 1382 tests PASSED
  0 / 1382 tests FAILED compilation
  0 / 1382 tests FAILED execution
  26 / 1382 tests SKIPPED
  	./tests/abs-float16.ispc
  	./tests/broadcast-5.ispc
  	./tests/clampfloat16_uniform.ispc
  	./tests/clampfloat16_varying.ispc
  	./tests/exp-uniform-float16.ispc
  	./tests/exp-varying-float16.ispc
  	./tests/isnan_float16.ispc
  	./tests/log-uniform-float16.ispc
  	./tests/log-varying-float16.ispc
  	./tests/max-float16-1.ispc
  	./tests/max-float16-2.ispc
  	./tests/min-float16-1.ispc
  	./tests/min-float16-2.ispc
  	./tests/pow-uniform-float16.ispc
  	./tests/pow-varying-float16.ispc
  	./tests/print_uniform-f16.ispc
  	./tests/print_varying-f16.ispc
  	./tests/rotate-7.ispc
  	./tests/shift-4.ispc
  	./tests/shuffle-6.ispc
  	./tests/shuffle2-12.ispc
  	./tests/uniform-float16-rcp.ispc
  	./tests/varying-float16-rcp.ispc
  	./tests/xe-task-count.ispc
  	./tests/xe-task-index-1.ispc
  	./tests/xe-task-index.ispc
  No new fails
  DURATION: 225
  END: /usr/lib/ispc/ptest
  2022-12-07T15:47
  STOP: ptest-runner
  TOTAL: 1 FAIL: 0
- some tests are skipped based on the target architecture
- change the test script to compile test programs on target with --pic option to avoid error "'.rodata'
  can not be used when making a PIE object" when executing tests on target
- adds new print function to the test script to print test result in ptest format

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-12-12 09:55:20 +08:00
Naveen Saini
6ca9a5cb96 linux-intel/5.19: fix upstream release checking
Fix upstream release checking for linux-intel-rt/5.19 too.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-12-09 13:51:26 +08:00
Anuj Mittal
d72944f14c intel-graphics-compiler: refresh patches
Fixes fuzz warnings:

| WARNING: intel-graphics-compiler-1.0.12812.9-r0 do_patch: Fuzz detected:
|
| Applying patch c707d1e2244aec988bdd5d2a7473ef3a32a5bac7.patch
| patching file IGC/BiFModule/CMakeLists.txt
| patching file IGC/CMakeLists.txt
| patching file IGC/Compiler/CodeGenContext.cpp
| Hunk #1 succeeded at 232 (offset 1 line).
| patching file IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp
| patching file IGC/VectorCompiler/lib/BiF/CMakeLists.txt
| Hunk #2 succeeded at 110 with fuzz 2.
| patching file IGC/cmake/igc_llvm.cmake

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-12-07 21:58:27 +08:00
Anuj Mittal
de59d48ad2 intel-graphics-compiler: fix build issues with LLVM12
Fixes:
/git/IGC/VectorCompiler/lib/GenXCodeGen/GenXSimdCFRegion.cpp:412:31: error: ‘experimental_vector_reduce_or’ is not a member of ‘llvm::Intrinsic’; did you mean ‘experimental_vector_insert’?
[2022-12-06T21:01:52.813Z] |   412 |                    Intrinsic::experimental_vector_reduce_or;
[2022-12-06T21:01:52.813Z] |       |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[2022-12-06T21:01:52.813Z] |       |                               experimental_vector_insert

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-12-07 15:12:33 +08:00
Anuj Mittal
d01bcf8747 intel-graphics-compiler: upgrade 1.0.12149.1 -> 1.0.12812.9
Upgrade to the latest tag and backport 3 patches to fix build issues
with LLVM 15 [1].

Remove IGC_OPTION__USE_KHRONOS_SPIRV_TRANSLATOR_IN_VC option as it has
been removed upstream [2].

And, make sure CLANG_EXE points to clang in native sysroot.

[1] https://github.com/intel/intel-graphics-compiler/issues/263
[2] 3fde0acae8

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-12-06 13:24:06 +08:00
Naveen Saini
f9e2e05f0d dpcpp-compiler.md: add document for icx installation
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-11-23 10:50:02 +08:00
Naveen Saini
18fcf4996d sdk: Add support for adding icx to SDK
Also export ICXCC, ICXCXX, ICXCPP, ICXLD, ICXAR in SDK environment which can
then be used to compile applications.

For example, to build an sample SYCL application using SDK:

 -> Source oneAPI compiler setup script (from your installed path):
	$  source /your-sdk-path/oecore-x86_64/sysroots/skylake-64-oe-linux/opt/intel/oneapi/compiler/2022.1.0/env/vars.sh

 -> Build sample SYCL app (i.e simple-sycl-app.cpp):
        $ $ICXCXX -fsycl simple-sycl-app.cpp -o simple-sycl-app  -lsvml -lirng -limf -lintlc

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-11-23 10:50:02 +08:00
Naveen Saini
2c58fe0867 icc: drop Intel C++ classic compiler support
Support for Intel(R) oneAPI DPC++/C++ (icx) compiler is being added. So
remove the support for the classic compiler.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-11-23 10:49:13 +08:00
Naveen Saini
555a2f97f3 intel-oneapi-dpcpp-cpp: add Intel(R) oneAPI DPC++/C++ Compiler
The Intel® oneAPI DPC++/C++ Compiler provides optimizations
that help your applications run faster on Intel® 64 architectures with support
for the latest C, C++, and SYCL language standards. This compiler produces
optimized code that can run significantly faster by taking advantage of the
ever-increasing core count and vector register width in Intel® Xeon® processors
and compatible processors.

https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-compiler.html

The compiler binaries are installed in /opt and can be invoked to compile
on target or using the SDK.

Currently dpcpp icx identify only x86_64-oe-linux triple, so it should be tested
with 'nodistro' DISTRO.
DISTRO ?= "nodistro"

To run SYCL program, it has dependencies on OpenCL components.
IMAGE_INSTALL:append = " intel-compute-runtime intel-graphics-compiler clang"

To install icx toolchain and runtime libraries
IMAGE_INSTALL:append = " intel-oneapi-dpcpp-cpp-runtime intel-oneapi-dpcpp-cpp-runtime-dev "
IMAGE_INSTALL:append = " intel-oneapi-dpcpp-cpp intel-oneapi-dpcpp-cpp-dev "

Once image is built and boots, an env script needs to be run to setup compiler environment and
also required to create dynamic linker symlink at /lib64

$ source /opt/intel/oneapi/compiler/2022.1.0/env/vars.sh
$ mkdir -p /lib64
$ ln -sf /lib/ld-linux-x86-64.so.2 /lib64/ld-linux-x86-64.so.2

To build an SYCL sample application, following command should be used
$ icpx --target=x86_64-oe-linux -fsycl simple-sycl-app.c -o simple-sycl-app

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-11-23 10:17:19 +08:00
Naveen Saini
c4aa736317 meta-intel.inc: set default PREFERRED_VERSION to 5.19 kernel
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-11-18 11:55:06 +08:00
Naveen Saini
6d976ec8ef linux-intel-dev: drop recipe
This recipe is not requried anymore, as already recipes for
mainline-tracking 5.19 kernel being added.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-11-18 11:55:06 +08:00
Naveen Saini
579394dc23 linux-intel-rt/5.19: add recipe
Build 5.19 RT kernel version from mainline-tracking tree at:

https://github.com/intel/mainline-tracking

This will track the mainline kernel and will be used to enable support for newer platforms.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-11-18 11:55:06 +08:00
Naveen Saini
2ce9b55f99 linux-intel/5.19: add recipe
Build 5.19 kernel version from mainline-tracking tree at:

https://github.com/intel/mainline-tracking

This will track the mainline kernel and will be used to enable support for newer platforms.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-11-18 11:55:06 +08:00
Naveen Saini
585655e5be setup-intel-oneapi-env: add native and nativesdk to BBCLASSEXTEND
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-11-17 12:54:01 +08:00
Naveen Saini
ce15d6f655 level-zero: add native and nativesdk to BBCLASSEXTEND
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-11-17 12:53:51 +08:00
Anuj Mittal
4a346976ac thermald: upgrade 2.5.0 -> 2.5.1
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-11-15 13:54:29 +08:00
Anuj Mittal
cfff031e7c ixgbe: upgrade 5.16.5 -> 5.17.1
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-11-15 13:53:11 +08:00
Anuj Mittal
369956751a intel-microcode: upgrade 20220809 -> 20221108
Release notes:
https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/tag/microcode-20221108

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-11-09 11:05:08 +08:00
Yogesh Tyagi
a230cd15dc onednn : upgrade 2.6.2 -> 2.7.1
Release Notes:
https://github.com/oneapi-src/oneDNN/releases/tag/v2.7.1

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-11-08 15:04:26 +08:00
Yogesh Tyagi
b74ec77719 metrics-discovery : upgrade 1.5.108 -> 1.12.158
Drops patch already merged:
0001-md_internal.h-Replace-string.h-with-string-C-header-.patch

Release Notes:
https://github.com/intel/metrics-discovery/releases/tag/metrics-discovery-1.12.158

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-11-08 15:04:26 +08:00
Teoh Jay Shen
a09b3264fc linux-intel-rt/5.15: update to v5.15.71
Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-11-08 15:04:26 +08:00
Teoh Jay Shen
d85104f141 linux-intel/5.15: update to v5.15.71
Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-11-08 15:04:26 +08:00
Anuj Mittal
2db6c8af4b linux-intel: fix perf reproducibility
Include a patch from linux-yocto to fix buildpaths problem when
compiling perf. Fixes:

| WARNING: perf-1.0-r9 do_package_qa: QA Issue: File /usr/lib/python3.10/site-packages/perf-0.1-py3.10-linux-x86_64.egg/EGG-INFO/SOURCES.txt in package perf-python contains reference to TMPDIR
| File /usr/lib/python3.10/site-packages/perf-0.1-py3.10-linux-x86_64.egg/__pycache__/perf.cpython-310.pyc in package perf-python contains reference to TMPDIR [buildpaths]

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-11-02 15:54:00 +08:00
Anuj Mittal
65e67f01e0 openvino-inference-engine: update pybind11
Update pybind11 SRCREV to fetch latest release tag to resolve build
issues with Python 3.11.

Fixes:

| openvino-inference-engine/2022.2.0-r0/git/src/bindings/python/thirdparty/pybind11/include/pybind11/pybind11.h:2239:52: error: invalid use of incomplete type 'PyFrameObject' {aka 'struct _frame'}
|  2239 |     if (frame != nullptr && (std::string) str(frame->f_code->co_name) == name
|       |                                                    ^~
| openvino-inference-engine/2022.2.0-r0/recipe-sysroot/usr/include/python3.11/pytypedefs.h:22:16: note: forward declaration of 'PyFrameObject' {aka 'struct _frame'}
|    22 | typedef struct _frame PyFrameObject;
|       |                ^~~~~~

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-10-31 16:36:19 +08:00
Lim Siew Hoon
94b628a3e0 intel-mediasdk: upgrade 22.4.4 -> 22.6.0
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-10-31 12:48:51 +08:00
Lim Siew Hoon
ec8e307854 onevpl-intel-gpu: upgrade 22.4.4 -> 22.5.4
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-10-31 12:48:39 +08:00
Lim Siew Hoon
2c470395ed onevpl: upgrade 2022.1.5 -> 2022.2.2
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-10-31 06:52:09 +08:00
Lim Siew Hoon
d58079ddcf intel-media-driver: upgrade 22.5.3 -> 22.5.4
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-10-31 06:52:09 +08:00
Lim Siew Hoon
9879db3a25 libva-intel-utils: upgrade 2.15.0 -> 2.16.0
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-10-31 06:52:09 +08:00
Lim Siew Hoon
6c5cf6da33 libva-intel: upgrade 2.15.0 -> 2.16.0
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-10-31 06:52:09 +08:00
Lim Siew Hoon
8b6e380c61 gmmlib: upgrade 22.1.4 -> 22.2.0
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-10-31 06:52:09 +08:00
Naveen Saini
323fee2ce0 vc-intrinsics: update to latest
Use tag v0.7.0 revision.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-10-25 14:39:18 +08:00
Naveen Saini
7dffd82399 opencl-clang/15.0.0: add recipe
Build opencl-clang with llvm-15 and point to latest from ocl-open-150
branch.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-10-25 14:39:18 +08:00
Naveen Saini
7023a6d7cf openvino-model-optimizer: upgrade 2022.1.1 -> 2022.2.0
Release notes:
https://github.com/openvinotoolkit/openvino/releases/tag/2022.2.0

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-10-25 14:35:32 +08:00
Naveen Saini
46be0fa918 open-model-zoo: upgrade 2022.1.1 -> 2022.2.0
Refreshed patch.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-10-25 14:35:32 +08:00
Yogesh Tyagi
023266fcbf openvino-inference-engine : upgrade 2022.1.1 -> 2022.2.0
- Change gflag to shared as we are not building with static library.
- We are using zlib from yocto recipe, so don't add zlib as third party package
- Third party package mkl-dnn name changed to onednn upstream in openvino repo so changed
  the name accordingly in openvino-inference-engine recipe
- Refresh patches

Release Notes:
https://github.com/openvinotoolkit/openvino/releases/tag/2022.2.0

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-10-25 14:35:32 +08:00
Naveen Saini
5963592b73 iccsdk: install icc specific packages only for meta-intel machines
And disable ICCSDK bu default.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-10-20 18:11:00 +08:00
Naveen Saini
f7cbf66ec2 sdk: Add support for adding icc to SDK
Also export ICC, ICCCXX, ICCCPP, ICCLD, ICCAR in SDK environment which can
then be used to compile applications in SDK

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-10-12 13:57:11 +08:00
Naveen Saini
6e5caa6396 icc: add Intel(R) C++ Compiler Classic (ICC) support
Using the Intel® C++ Compiler Classic, you can compile and generate
applications that can run on Intel® 64 architecture.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-10-12 13:57:11 +08:00
Naveen Saini
3217386ee4 ispc: fix file-rdeps
This is due to recent packaging chagnes in meta-clang
3d56a85afe

Error log:
do_package_qa: QA Issue: /usr/bin/ispc contained in package ispc
requires libclang-cpp.so.15()(64bit), but no providers found
in RDEPENDS:ispc? [file-rdeps]

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-10-12 13:56:40 +08:00
Naveen Saini
03a37ae315 README: update tested hardware list
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-10-12 13:56:40 +08:00
Lim Siew Hoon
0387793c18 onevpl-intel-gpu: fixed hevc decoding starvation issue
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-10-07 10:10:08 +08:00
Lim Siew Hoon
8a664853ca onevpl: fixed sample rendering failed in weston10
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-10-06 12:44:56 +08:00
hilmanzafri
c4f1331c49 intel-media-driver: upgrade 22.4.4 -> 22.5.3
Add patch to fix fails when applying
* 0001-Fix-uClibc-build.patch

Signed-off-by: hilmanzafri <hilman.zafri.mazlan@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-10-04 13:33:27 +08:00
Mazlan, Hilman Zafri
61a2e69d2e onevpl: Fix missing UYVY VA_FOURCC causing encode failure
Merged into innersource oneVPL (07200be)

Signed-off-by: Mazlan, Hilman Zafri <hilman.zafri.mazlan@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-10-04 13:09:04 +08:00
Anuj Mittal
940218bd43 layer.conf: add langdale to LAYERSERIES_COMPAT
Makes sure that we're compatible with the upcoming release.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-09-30 07:14:17 +08:00
Yogesh Tyagi
819b6cf9c1 intel-graphics-compiler : upgrade 1.0.11702.1 -> 1.0.12149.1
Release Notes:
https://github.com/intel/intel-graphics-compiler/releases/tag/igc-1.0.12149.1

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-09-29 19:05:52 +08:00
Yogesh Tyagi
f77562ad34 intel-compute-runtime : upgrade 22.32.23937 -> 22.38.24278
Release Notes:
https://github.com/intel/compute-runtime/releases/tag/22.38.24278

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-09-29 19:05:52 +08:00
Yogesh Tyagi
c227419402 onednn : upgrade 2.6.1 -> 2.6.2
Release Notes:
https://github.com/oneapi-src/oneDNN/releases/tag/v2.6.2

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-09-29 18:06:48 +08:00
Yogesh Tyagi
1a5937527b ipmctl : upgrade 03.00.00.0462 -> 03.00.00.0468
Release Notes:
ipmctl:
https://github.com/intel/ipmctl/releases/tag/v03.00.00.0468
edk2:
https://github.com/tianocore/edk2/releases/tag/edk2-stable202208

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-09-29 18:06:48 +08:00
Yogesh Tyagi
948757b8f6 embree : upgrade 3.13.4 -> 3.13.5
Release Notes:
https://github.com/embree/embree/releases/tag/v3.13.5

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-09-29 18:06:48 +08:00
Anuj Mittal
ad81baa4f5 ispc: fix build with LLVM 15
Backport patches to fix build with LLVM 15 which is now the default
version in meta-clang master.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-09-19 15:19:13 +08:00
Anuj Mittal
3b6b2b8825 intel-graphics-compiler: add nobranch=1 in SRC_URI
Upstream has force pushed master and the commit we were fetching is
no longer present on that branch. Remove the branch parameter and switch
to using nobranch to continue using that commit.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-09-19 15:07:49 +08:00
Zoltán Böszörményi
9d2820d4bf intel-oneapi-mkl: Also allow MKL to be used via CMaake to compile other packages
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-09-05 17:07:40 +08:00
Yogesh Tyagi
f51e1f33b0 intel-crypto-mb : upgrade 2021.5 -> 2021.6
Release Notes:
https://github.com/intel/ipp-crypto/releases/tag/ippcp_2021.6

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-09-05 17:05:57 +08:00
Yogesh Tyagi
2c6177f9e7 ixgbevf : upgrade 4.15.1 -> 4.16.5
Release Notes:
https://sourceforge.net/projects/e1000/files/ixgbevf%20stable/4.16.5/

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-09-05 17:05:57 +08:00
Yogesh Tyagi
b0f5fba2f9 ixgbe : upgrade 5.15.2 -> 5.16.5
Release Notes:
https://sourceforge.net/projects/e1000/files/ixgbe%20stable/5.16.5/

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-09-05 17:05:57 +08:00
Yogesh Tyagi
c12abbd33f ipmctl : upgrade 03.00.00.0439 -> 03.00.00.0462
Release notes:
https://github.com/intel/ipmctl/releases/tag/v03.00.00.0462

Drops upstreamed patch:
* 227d9cb35658fe104ff6fde62e4a00e6d595df0d.patch

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-09-05 17:05:57 +08:00
Zoltán Böszörményi
0337f4a8fc intel-oneapi-mkl: Allow MKL to be used for compiling other packages
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-08-26 09:36:47 +08:00
Anuj Mittal
b5664f2f11 open-model-zoo: upgrade 2021.1 -> 2021.1.1
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-08-24 12:48:08 +08:00
Anuj Mittal
54b3efbf05 openvino-model-optimizer: upgrade 2021.1 -> 2021.1.1
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-08-24 12:48:08 +08:00
Anuj Mittal
d731daf575 openvino-inference-engine: upgrade 2022.1 -> 2022.1.1
Enable an option that's is available now to use TBB from system and
refresh patches accordingly. This version also switches to using system
installed OpenCV and Intel version is not included.

Release notes:
https://github.com/openvinotoolkit/openvino/releases/tag/2022.1.1

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-08-24 12:48:08 +08:00
Anuj Mittal
87d4088ecf intel-compute-runtime: upgrade 22.31.23852 -> 22.32.23937
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-08-17 14:27:54 +08:00
Anuj Mittal
0a7687b2c1 Remove support for LLVM 12
We can now build with LLVM 14 and no longer need to keep LLVM 12 patches
and compatibility code.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-08-15 13:40:22 +08:00
Naveen Saini
94d6ec3730 linux-intel-dev: update to 5.19.0
Also bring in the latest kernel config data.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-08-15 12:58:08 +08:00
Naveen Saini
701d1dfe77 linux-intel-rt/5.15: update to v5.15.49
Updated kernel config as well.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-08-15 12:58:02 +08:00
Naveen Saini
834291a2f3 linux-intel/5.15: update to v5.15.49
Update kernel config as well.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-08-15 12:57:24 +08:00
Anuj Mittal
cd17442923 onednn: turn on PACKAGECONFIG for GPU engine
Build OCL GPU engine by default now that compute runtime works with
latest LLVM.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-08-12 12:37:57 +08:00
Anuj Mittal
0f6e10d5ba intel-microcode: upgrade 20220510 -> 20220809
Fixes CVE-2022-21233.

Release notes:
https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/tag/microcode-20220809

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-08-12 10:21:04 +08:00
Anuj Mittal
ecca05175c intel-compute-runtime: upgrade 22.23.23405 -> 22.31.23852
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-08-12 10:19:24 +08:00
Yongxin Liu
a29a3b55d2 intel-microcode: update SRCREV for 20220510
The commit 6c0c4691e5bb446e0e428ebca595164709c59586 is missing in upstream
https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files.

Reference:
https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/issues/62.

Use 925555515555 instead of 6c0c4691e5bb. The difference between those
two commits are just some "^M" fixes in releasenote.md.

Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-08-11 10:38:50 +08:00
Anuj Mittal
50829fc987 openvino-inference-engine: enable GPU plugin
Enable back opencl PACKAGECONFIG as igc and compute runtime
can compile and work with LLVM 14 now.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-08-10 19:05:41 +08:00
Anuj Mittal
cfef5f829e intel-graphics-compiler: upgrade 1.0.11378 -> 1.0.11702.1
Update vc-intrinsics to v0.5.0 tag.

This release includes support for LLVM14.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-08-10 14:58:47 +08:00
Anuj Mittal
f21168e628 ipmctl: fix build issues with 5.18+ headers
OE-core has updated kernel headers to 5.19 and that is resulting in
failures:

| /build/cje/workspace/poky/build/tmp/work/corei7-64-poky-linux/ipmctl/03.00.00.0439-r0/git/src/os/linux/lnx_system.c:336:52: error: 'ND_DEVICE_NAMESPACE_BLK' undeclared (first use in this function); did you mean 'ND_DEVICE_NAMESPACE_IO'?
|   336 |                                         (nstype == ND_DEVICE_NAMESPACE_BLK))
|       |                                                    ^~~~~~~~~~~~~~~~~~~~~~~
|       |                                                    ND_DEVICE_NAMESPACE_IO
| compilation terminated due to -Wfatal-errors.

For more details:

https://github.com/intel/ipmctl/pull/194/

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-08-10 14:02:14 +08:00
Sebastian Suesens
789ff199ae intel-mediasdk: fix dependencies
intel-mediasdk depends only on libva
intel-mediasdk has a runtime dependency to intel-media-driver
removed libdrm dependency from intel-mediasdk because libva depends on libdrm

Signed-off-by: Sebastian Suesens <Sebastian.Suesens@baslerweb.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-08-04 11:26:09 +08:00
Anuj Mittal
fdde909d2e openvino-inference-engine: fix reproducibility issues
Prevent host paths from getting into target packages. Also prevents
buildpaths warnings for files:

| File /usr/lib/libopenvino.so in package openvino-inference-engine contains reference to TMPDIR [buildpaths]
| File /usr/lib/python3.10/site-packages/openvino/inference_engine/ie_api.so in package openvino-inference-engine-python3 contains reference to TMPDIR [buildpaths]
| File /usr/src/debug/openvino-inference-engine/2022.1-r0/build/src/plugins/intel_cpu/cross-compiled/proposal_imp_disp.cpp in package openvino-inference-engine-src contains reference to TMPDIR

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-07-28 18:57:44 +08:00
Yogesh Tyagi
7948675425 ospray : upgrade 2.9.0 -> 2.10.0
Release Notes:
https://github.com/ospray/ospray/releases/tag/v2.10.0

License-Update:
copyright years updated

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-07-27 19:03:08 +08:00
Yogesh Tyagi
6eb22e6412 openvkl : upgrade 1.2.0 -> 1.3.0
Release Notes:
https://github.com/openvkl/openvkl/releases/tag/v1.3.0

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-07-27 19:03:08 +08:00
Yogesh Tyagi
76042df23c embree : upgrade 3.13.3 -> 3.13.4
Release Notes:
https://github.com/embree/embree/releases/tag/v3.13.4

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-07-27 19:03:08 +08:00
Yogesh Tyagi
535b93e4ad rkcommon : upgrade 1.9.0 -> 1.10.0
Release Notes:
https://github.com/ospray/rkcommon/releases/tag/v1.10.0

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-07-27 19:03:08 +08:00
Yogesh Tyagi
2914c71cc8 ispc : upgrade 1.17.0 -> 1.18.0
* Don't build with clang specifically and let user decide.
* Drop already merged patch: 0001-Enable-LLVM-15.0-support.patch
* ispc generated headers include a comment will full path to the header. Patch the code to drop this comment.
* Tweak bison and flex invocation to make sure they don't include #line directives.
* Add flex-native to DEPENDS.
* Release notes:
  https://github.com/ispc/ispc/releases/tag/v1.18.0

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-07-27 19:02:59 +08:00
Lim Siew Hoon
b783f9e933 intel-media-driver: upgrade 22.3.1 -> 22.4.4
Drops patches already merged:
* c8457540aed1ab9424661087276fb788c0e3aabb.patch

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

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-07-25 14:23:13 +08:00
Yogesh Tyagi
ada3eb5781 thermald : upgrade 2.4.9 -> 2.5.0
Release Notes:
https://github.com/intel/thermal_daemon/releases/tag/v2.5

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-07-25 11:24:52 +08:00
Yogesh Tyagi
d615d325e6 onedpl : upgrade 2021.6.1 -> 2021.7.0
Release Notes:
https://github.com/oneapi-src/oneDPL/releases/tag/oneDPL-2021.7.0-release

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-07-21 10:09:28 +08:00
Yogesh Tyagi
32d8fda81a ipmctl : upgrade 03.00.00.0438 -> 03.00.00.0439
Release Notes:
https://github.com/intel/ipmctl/releases/tag/v03.00.00.0439

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-07-21 10:09:27 +08:00
Yogesh Tyagi
97ac7b761e onednn : Upgrade 2.6 -> 2.6.1
Release Notes:
https://github.com/oneapi-src/oneDNN/releases/tag/v2.6.1

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-07-21 07:56:45 +08:00
Yogesh Tyagi
b83d01c612 lms : upgrade 2151.0.0.0 -> 2226.0.0.0
Release Notes:
https://github.com/intel/lms/releases/tag/v2226.0.0.0

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-07-21 07:56:45 +08:00
Lim Siew Hoon
c32dcde80b onevpl-intel-gpu: upgrade 22.3.2 -> 22.4.4
Drops patches already merged:
* 0001-HEVCe-lib-Fix-REXT-DDIID-issue-2566.patch

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-07-20 12:48:34 +08:00
Lim Siew Hoon
b1e7cf6070 onevpl: upgrade 2022.0.3 -> 2022.1.5
Drops patches already merged:
* 0001-Fix-basename-build-issue-with-musl_libc.patch
* 0001-sample_common-Fix-missing-UYUV-fourcc-enc-input.patch
* 0001-sample_common-Fix-regression-of-missing-mutex-init.patch
* 0001-samples-Addin-wayland-scanner-auto-generate-on-cmake.patch
* 0002-sample_misc-Addin-basic-wayland-dmabuf-support.patch
* 0003-sample_misc-use-wayland-dmabuf-to-render-nv12.patch

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-07-20 12:48:34 +08:00
Lim Siew Hoon
3bb460b667 intel-mediasdk: upgrade 22.3.0 -> 22.4.4
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-07-20 12:48:34 +08:00
Lim Siew Hoon
d0a315c9a3 libva-intel-utils: upgrade 2.14.0 -> 2.15.0
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-07-20 12:48:34 +08:00
Lim Siew Hoon
6e9d38dfa6 libva-intel: upgrade 2.14.0 -> 2.15.0
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-07-20 12:48:34 +08:00
Lim Siew Hoon
6064de77fc gmmlib: upgrade 22.1.2 -> 22.1.4
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-07-20 12:48:34 +08:00
Anuj Mittal
de5851890f linux-intel: fix buildpaths issue
Include following fixes from linux-yocto to fix buildpaths warnings:

2fca0fd71981 lib/build_OID_registry: fix reproducibility issues
0f586f4ee8ad vt/conmakehash: improve reproducibility

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-07-18 12:59:19 +08:00
Teng, Jin Chung
0a96edae60 onevpl-intel-gpu: Fix HEVC 12 bit Encode
Backport: 43e7fa4d8a

Signed-off-by: Teng, Jin Chung <jin.chung.teng@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-06-24 08:00:24 +08:00
Naveen Saini
84b5cf2470 slimboot-tools: update to latest commit
LICENSE file have re-formatting. So update checksum value.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-06-22 13:34:02 +08:00
Anuj Mittal
bdcf0ec068 linux-intel: remove 32 bit specific tweaks
We test this kernel only with 64 bit machine types. Make changes to
reflect that. intel-core2-32 should be built with linux-yocto kernel.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-06-20 09:50:59 +08:00
Anuj Mittal
5ffac66996 intel-compute-runtime: upgrade 22.22.23355 -> 22.23.23405
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-06-17 16:30:06 +08:00
Anuj Mittal
2f913cdb36 intel-graphics-compiler: upgrade 1.0.11279 -> 1.0.11378
Remove the backported patch.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-06-17 16:30:06 +08:00
Anuj Mittal
a499bad106 linux-intel/5.10: remove recipes
5.15 is the only tested and default version now.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-06-17 16:30:06 +08:00
Yogesh Tyagi
5184e1d89f ixgbe : upgrade 5.14.6 -> 5.15.2
Release Notes:
https://sourceforge.net/projects/e1000/files/ixgbe%20stable/5.15.2/

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-06-10 16:26:06 +08:00
Yogesh Tyagi
baa118e785 ixgbevf : upgrade 4.14.5 -> 4.15.1
Release Notes:
https://sourceforge.net/projects/e1000/files/ixgbevf%20stable/4.15.1/

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-06-10 16:26:06 +08:00
Naveen Saini
e9a69b0ae8 linux-intel-rt/5.15: update to v5.15.43
updates -rt patchset to -rt45.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-06-10 16:26:06 +08:00
Naveen Saini
70fa4a9700 linux-intel/5.15: update to v5.15.43
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-06-10 16:26:06 +08:00
Anuj Mittal
66f4ff0083 intel-compute-runtime: upgrade 22.11.22682 -> 22.22.23355
Remove upstreamed patch and revert to default for built-ins compilation.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-06-10 16:26:06 +08:00
Anuj Mittal
7cd06a4a71 intel-graphics-compiler: upgrade 1.0.10395 -> 1.0.11279
* Remove upstreamed patches and refresh others.
* Include the LICENSE.md file and remove the cpp file which just points to
MIT license.
* Update the license to MIT and Apache-2.0
* Install vcb tool from -native recipe.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-06-10 16:25:57 +08:00
Naveen Saini
c1674307a4 linux-intel-rt/5.10: update to v5.10.115
updates -rt patchset to -rt67.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-06-10 12:46:00 +08:00
Naveen Saini
627c26ab87 linux-intel/5.10: update to v5.10.115
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-06-10 12:46:00 +08:00
Naveen Saini
df622318d8 openvino-inference-engine: change branch name master -> main
Upstream json-schema-validator has made 'main' as default branch.

https://github.com/pboettch/json-schema-validator.git

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-06-07 15:34:52 +08:00
Anuj Mittal
ebb8c1c26e intel-compute-runtime: fix failures with gcc12
Backport patch to fix build failures like:

| recipe-sysroot/usr/include/c++/12.1.0/bits/unique_ptr.h:95:9: error: 'void operator delete(void*, std::size_t)' called on pointer returned from a mismatched allocation function [-Werror=mismatched-new-delete]
|    95 |         delete __ptr;
|       |         ^~~~~~~~~~~~
| git/shared/source/os_interface/windows/wddm/adapter_info.cpp: In function 'std::wstring NEO::queryAdapterDriverStorePath(const Gdi&, D3DKMT_HANDLE)':
| git/shared/source/os_interface/windows/wddm/adapter_info.cpp:31:117: note: returned from 'void* operator new [](std::size_t)'
|    31 |     std::unique_ptr<uint64_t> storage{new uint64_t[(privateDataSizeNeeded + sizeof(uint64_t) - 1) / sizeof(uint64_t)]};
|       |                                                                                                                     ^
| In member function 'void std::default_delete<_Tp>::operator()(_Tp*) const [with _Tp = long unsigned int]',
|     inlined from 'std::unique_ptr<_Tp, _Dp>::~unique_ptr() [with _Tp = long unsigned int; _Dp = std::default_delete<long unsigned int>]' at recipe-sysroot/usr/include/c++/12.1.0/bits/unique_ptr.h:396:17,
|     inlined from 'std::wstring NEO::queryAdapterDriverStorePath(const Gdi&, D3DKMT_HANDLE)' at git/shared/source/os_interface/windows/wddm/adapter_info.cpp:46:1:
| recipe-sysroot/usr/include/c++/12.1.0/bits/unique_ptr.h:95:9: error: 'void operator delete(void*, std::size_t)' called on pointer returned from a mismatched allocation function [-Werror=mismatched-new-delete]
|    95 |         delete __ptr;
|       |         ^~~~~~~~~~~~
| git/shared/source/os_interface/windows/wddm/adapter_info.cpp: In function 'std::wstring NEO::queryAdapterDriverStorePath(const Gdi&, D3DKMT_HANDLE)':
| git/shared/source/os_interface/windows/wddm/adapter_info.cpp:31:117: note: returned from 'void* operator new [](std::size_t)'
|    31 |     std::unique_ptr<uint64_t> storage{new uint64_t[(privateDataSizeNeeded + sizeof(uint64_t) - 1) / sizeof(uint64_t)]};
|       |                                                                                                                     ^

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-05-20 00:25:29 +08:00
Anuj Mittal
8dd9003170 level-zero: remove devtool comments
We missed removing the comments added by devtool while doing the
upgrade.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-05-20 00:24:48 +08:00
Naveen Saini
2f1c89140e libxcam: fix narrowing warning due to GCC12
Patch submitted to use uint32_t instead of int for IOCTLs commands.

Warning log:
| ../../../git/xcore/fake_v4l2_device.h: In member function 'virtual int XCam::FakeV4l2Device::io_control(int, void*)':
| ../../../git/xcore/fake_v4l2_device.h:42:14: error: narrowing conversion of '3225441794' from 'long unsigned int' to 'int' [-Wnarrowing]
|    42 |         case VIDIOC_ENUM_FMT:
|       |              ^~~~~~~~~~~~~~~
| make[4]: *** [Makefile:685: libgstxcamsrc_la-gstxcamsrc.lo] Error 1

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-05-18 19:18:51 +08:00
Anuj Mittal
15324986bd onevpl-intel-gpu: remove patch
The patch was removed from SRC_URI in an earlier commit but we forgot to
actually remove the patch file itself.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-05-18 17:15:14 +08:00
Anuj Mittal
45a43b1b8c ipmctl: fix build with gcc12
Ignore warnings generated with gcc12 for now.

    | /ipmctl/03.00.00.0438-r0/git/DcpmPkg/cli/NvmDimmCli.c: In function 'showHelp':
    | /ipmctl/03.00.00.0438-r0/git/DcpmPkg/cli/NvmDimmCli.c:1031:24: error: the comparison will always evaluate as 'true' for the address of 'options' will never be NULL [-Werror=address]
    | 1031 | (pCmd->options != NULL)) {
    | | ^~
    | compilation terminated due to -Wfatal-errors.
    | cc1: all warnings being treated as errors

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-05-18 12:59:40 +08:00
Lim Siew Hoon
6d7dbf9204 onevpl-intel-gpu: upgrade 22.1.0 -> 22.3.2
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-05-18 09:28:18 +08:00
Lim Siew Hoon
f3a40c12ec intel-mediasdk: upgrade 22.1.0 -> 22.3.0
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-05-18 09:28:18 +08:00
Lim Siew Hoon
81197e3bde intel-media-driver: upgrade 22.1.1 -> 22.3.1
Drops patches already merged:
* 0001-upstream-ADLN.patch
* 0002-Add-support-for-ADL-N-Enable-the-cmake-options.patch

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-05-18 09:28:18 +08:00
Lim Siew Hoon
0346578f87 libva-intel-utils: upgrade 2.13.0 -> 2.14.0
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-05-18 09:28:18 +08:00
Lim Siew Hoon
479cea4ddf libva-intel: upgrade 2.13.0 -> 2.14.0
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-05-18 09:28:18 +08:00
Lim Siew Hoon
315e6d3f14 gmmlib: upgrade 22.0.3 -> 22.1.2
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-05-18 09:28:18 +08:00
Ovidiu Panait
e26d271f11 intel-microcode: upgrade 20220419 -> 20220510
intel-microcode-20220510 includes fixes for CVE-2021-33117 and CVE-2022-21151.

CVE-2021-33117:
A potential security vulnerability in some 3rd Generation Intel® Xeon® Scalable
Processors may allow information disclosure. Intel is releasing firmware
updates to mitigate this potential vulnerability.

https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00586.html

CVE-2022-21151:
A potential security vulnerability in some Intel® Processors may allow
information disclosure. Intel is releasing firmware updates to mitigate this
potential vulnerability.

https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00617.html

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-05-18 09:28:18 +08:00
Naveen Saini
c198573506 maintainers.inc: add missing entry for vc-intrinsics
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-05-13 15:49:57 +08:00
Anuj Mittal
e7adb4d1cb ipp-crypto-mb: update to latest
Include the latest updates and fixes for gcc-12.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-05-11 22:42:22 +08:00
Anuj Mittal
a678464d4d intel-graphics-compiler: define SRCREV_FORMAT
Since this fetches multiple repositories, define SRCREV_FORMAT so SRCPV
is expanded properly.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-05-10 15:29:14 +08:00
Naveen Saini
40814b4385 onednn: upgrade 2.5.3 -> 2.6
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-05-06 18:57:54 +08:00
Naveen Saini
2ec3b9e908 ipmctl: upgrade 03.00.00.0432 -> 03.00.00.0438
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-05-06 18:57:54 +08:00
Naveen Saini
6c9d750d7d intel-microcode: upgrade 20220207 -> 20220419
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-05-06 18:57:54 +08:00
Naveen Saini
0491086657 metee: upgrade 3.1.2 -> 3.1.3
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-05-06 18:57:54 +08:00
Ezhilarasan
a2f5f65ca3 linux-intel-rt/5.10: update to v5.10.100
Signed-off-by: Ezhilarasan <ezhilarasanx.s@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-04-27 18:56:54 +08:00
Ezhilarasan
c9e830436d linux-intel/5.10: update to v5.10.100
Signed-off-by: Ezhilarasan <ezhilarasanx.s@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-04-27 18:56:54 +08:00
Ezhilarasan
2c6ae10eeb linux-intel-rt/5.15: update to v5.15.31
Signed-off-by: Ezhilarasan <ezhilarasanx.s@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-04-22 22:33:57 +08:00
Ezhilarasan
2cba0c7b65 linux-intel/5.15: update to v5.15.31
Signed-off-by: Ezhilarasan <ezhilarasanx.s@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-04-22 22:33:57 +08:00
Naveen Saini
c49915bdbe ispc: disable build for Windows, android and other targets
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-04-22 22:33:57 +08:00
Naveen Saini
4f8382d809 intel-oneapi-compiler: use ocl-icd instead of opencl-icd-loader
Both ocl-icd and opencl-icd-loader provides OpenCL library. Currently
openvino uses ocl-icd, which causes conflict with opencl-icd-loader
while packaging. So using ocl-icd instead.

Error:
file /usr/lib/libOpenCL.so.1 conflicts between attempted installs of
opencl-icd-loader-v2022.01.04+git0+169f05d026-r0.skylake_64 and libopencl1-2.3.1-r0.skylake_64

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-04-22 22:33:57 +08:00
Anuj Mittal
b9da851fa5 llvm-project-source: refresh patches
Refresh the patches as recommended by the opencl-clang and include
support for OpenCL 3.0.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-04-19 20:56:14 +08:00
Anuj Mittal
10944d5308 intel-media-driver: fix build with gcc12
Backport a patch to fix:

| error: the address of '_CODEC_VP8_PIC_PARAMS::ucMvUpdateProb' will
| never be NULL [-Werror=address]
|    238 |     if (codecPicParams->ucMvUpdateProb[0] && picParam->mv_probs[0])

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-04-18 14:57:33 +08:00
Naveen Saini
5e2b4c4ad9 ixgbevf: upgrade 4.13.3 -> 4.14.5
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-04-15 17:39:46 +08:00
Naveen Saini
bbb42b1931 ixgbe: upgrade 5.13.4 -> 5.14.6
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-04-15 17:39:46 +08:00
Naveen Saini
316d40ce88 ipmctl: upgrade 03.00.00.0429 -> 03.00.00.0432
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-04-15 17:39:46 +08:00
Naveen Saini
f7cf423baf level-zero: upgrade 1.7.9 -> 1.7.15
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-04-15 17:39:46 +08:00
Anuj Mittal
7980023e6d vc-intrinsics: update to latest
Use the revision just beyond newly created 0.1.0 tag and bump PE.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-04-13 19:09:02 +08:00
Anuj Mittal
f2534c5515 open-model-zoo: upgrade 2021.4.2 -> 2022.1
The project now is able to locate the required package and libraries
correctly so no need to pass flags to cmake.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-04-13 14:08:21 +08:00
Naveen Saini
01fa547c89 thermald: upgrade to v2.4.9
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-04-13 14:08:21 +08:00
Anuj Mittal
b16a063626 openvino-model-optimizer: upgrade 2021.4.2 -> 2022.1
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-04-13 14:08:21 +08:00
Anuj Mittal
ac72b03ce5 openvino-inference-engine: upgrade 2021.4.2 -> 2022.1
Refresh patches, update dependencies and licenses for the new
components.

Release notes:
https://github.com/openvinotoolkit/openvino/releases/tag/2022.1.0

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-04-13 14:08:21 +08:00
Anuj Mittal
23e680f956 libyami/libyami-utils: remove recipes
Project not maintained anymore.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-04-07 15:25:03 +08:00
Anuj Mittal
68e00896f2 opencl-clang: upgrade 13.0.0 -> 14.0.0
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-04-05 15:59:12 +08:00
Anuj Mittal
c993e8e815 Remove support for building with LLVM 10
We no longer support building with older branches of OE-Core/meta-clang
so remove LLVM 10 specific configurations and patches.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-04-05 15:59:12 +08:00
Anuj Mittal
7bb49b1ae1 conf: remove usage of X86_TUNE_DIR var
The main branch only supports building with kirkstone now so we no
longer need this to tweak paths for older branches.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-04-05 15:59:12 +08:00
Davide Gardenal
8c995eac09 ospray: add COMPATIBLE_HOST to fix build error
Add COMPATIBLE_HOST to ospray, embree, openvkl to
fix build error when using musl, caused glfw dependecy

Signed-off-by: Davide Gardenal <davide.gardenal@huawei.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-04-05 15:59:12 +08:00
Davide Gardenal
19c30d277a open-model-zoo: add COMPATIBLE_HOST to fix build error
Add COMPTIBLE_HOST to fix a build error when using musl,
due to openvino-inference-engine dependency

Signed-off-by: Davide Gardenal <davide.gardenal@huawei.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-04-05 15:59:12 +08:00
Peter Bergin
4402be424b qemu-intel.inc: backport of dependency fixes from oe-core
When building an image for intel-corei7-64 (and probably other targets)
it was not possible to directly start the image with runqemu due to
missing directory in sysroot related to qemu-helper-native.

In oe-core two patches has been applied that fixes dependency issues when
building images for qemu. Those patches does also fix the issue when
building for targets in meta-intel.

Following two patches from oe-core, originally for meta/conf/machine/include/qemu.inc,
are backported to conf/machine/include/qemu-intel.inc:

3a4fed4ae0 qemu.inc: Should depend on qemu-system-native, not qemu-native
5562342020 image/qemu: Add explict depends for qemu-helper addto_recipe_sysroot task

Signed-off-by: Peter Bergin <peter@berginkonsult.se>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-03-31 22:50:06 +08:00
Anuj Mittal
d529ae1e1e zlib-intel: remove recipe
zlib has a new release and this fork hasn't rebased onto that version
yet.

Drop this recipe and use the OE-core version for now.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-03-30 23:27:37 +08:00
Anuj Mittal
dea9048c4b qemuboot-intel: fix audio option
-soundhw ac97 is deprecated since qemu v5.1.0. Replace it with
recommended option. Fixes:

| qemu-system-x86_64: warning: '-soundhw ac97' is deprecated, please use '-device AC97' instead

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-03-30 22:41:35 +08:00
Dongwon Kim
c2c0f2ade5 compute-runtime: version update from 22.08.22549 to 22.11.22682
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-03-24 18:34:50 +08:00
Anuj Mittal
311b432394 intel-graphics-compiler: fix compile issues
Backport patches to fix compile problems like:

| /build/build/tmp/work/corei7-64-poky-linux/intel-graphics-compiler/1.0.10395-r0/git/visa/LocalScheduler/SWSB_G4IR.cpp:1459:49: error: expected primary-expression before 'int'
|  1459 |         int maxTokenDelay = std::numeric_limits<int>::min(); //The delay may cause if reuse
|       |                                                 ^~~
| /build/build/tmp/work/corei7-64-poky-linux/intel-graphics-compiler/1.0.10395-r0/git/visa/LocalScheduler/SWSB_G4IR.cpp:1460:37: error: 'numeric_limits' is not a member of 'std'
|  1460 |         int minTokenDistance = std::numeric_limits<int>::max(); //The distance from the reused node

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-03-22 18:13:47 +08:00
Naveen Saini
f8ce4df052 intel-crypto-mb: upgrade 2021.3 -> 2021.5
Intel IPP Cryptography uses multiple implementations of each function,
optimized for various CPUs, and the library version targeted
for any CPU contains all of these implementations.

With the dispatcher, the library detects an available CPU in a runtime
and chooses the best for the current hardware version of a function, hence
ignore Yocto march, mtune values and let the project
pass those values along with the right optimization flags.

https://github.com/intel/ipp-crypto/blob/ippcp_2021.5/OVERVIEW.md#dispatcher

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-03-21 21:42:52 +08:00
Ezhilarasan
39027f7038 oidn: upgrade 1.4.1 -> 1.4.3
License-Update: copyright years refreshed

Release notes:
https://github.com/OpenImageDenoise/oidn/releases/tag/v1.4.3

Signed-off-by: Ezhilarasan <ezhilarasanx.s@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-03-21 21:42:52 +08:00
Naveen Saini
cc62d49dd9 linux-intel/5.15: update to v5.15.14
Updated kernel config as well.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-03-10 17:48:49 +08:00
Naveen Saini
348d95a9cc linux-intel-rt/5.15: update to v5.15.14
updates -rt patchset to -rt27.

Updated kernel config as well.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-03-10 17:48:49 +08:00
Yew, Chang Ching
4969c99246 onevpl: Fix missing uyvy input in sample_encode
Fix issue 15010851781

Signed-off-by: Yew, Chang Ching <chang.ching.yew@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-03-10 17:48:49 +08:00
Naveen Saini
cd94a7af54 onednn: upgrade 2.5.2 -> 2.5.3
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-03-07 16:14:46 +08:00
Naveen Saini
d32f8016e0 ospray: upgrade 2.8.0 -> 2.9.0
CMake variables changed in this release:
OSPRAY_ENABLE_APPS_BENCHMARK replaces OSPRAY_APPS_BENCHMARK
OSPRAY_ENABLE_APPS_TESTING replaces OSPRAY_APPS_TESTING

Release notes can be found here:
https://github.com/ospray/ospray/releases/tag/v2.9.0

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-03-07 16:14:46 +08:00
Anuj Mittal
2bde8e7514 intel-compute-runtime: fix patch fuzz
Fix warnings:

| Applying patch allow-to-find-cpp-generation-tool.patch
| patching file shared/source/built_ins/kernels/CMakeLists.txt
| Hunk #1 succeeded at 94 with fuzz 2 (offset -6 lines).
| Hunk #2 succeeded at 147 with fuzz 2 (offset 3 lines).
|
| The context lines in the patches can be updated with devtool:
|
|     devtool modify intel-compute-runtime
|     devtool finish --force-patch-refresh intel-compute-runtime <layer_path>
|
| Don't forget to review changes done by devtool!

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-03-07 14:16:04 +08:00
Anuj Mittal
3668612104 gmmlib: upgrade 22.0.1 -> 22.0.3
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-03-07 13:44:29 +08:00
Anuj Mittal
4206f6f5cd open-model-zoo: remove test-generator from DEPENDS
This is no longer listed as a requirement.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-03-07 13:44:29 +08:00
Anuj Mittal
f33ceb9e9a openvino-model-optimizer: remove test-generator from DEPENDS
It's used only for unit tests that we don't package or execute and has
been removed from requirements.txt as well upstream.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-03-07 13:44:29 +08:00
Dongwon Kim
6fba58adb3 compute-runtime: version update from 21.40.21182 to 22.08.22549
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-03-04 15:06:34 +08:00
Dongwon Kim
4a0450a4fa intel-graphics-compiler: version update from 1.0.8744 to 1.0.10395
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-03-04 15:03:21 +08:00
Anuj Mittal
cd3c94cb90 meta: update LICENSE to use SPDX identifiers
Switch to using SPDX preferred identifiers. All changes done using v0.1
of the script convert-spdx-licenses.py.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-03-04 15:03:21 +08:00
Andrei Gherzan
d3718096fa layer.conf: Use only kirkstone as LAYERSERIES_COMPAT
Due to the variables rename in the scope of inclusive language, the
layer is not compatible with older versions. This change drops all
versions but kirkstone from LAYERSERIES_COMPAT.

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-03-04 15:03:21 +08:00
Richard Purdie
6a99b680ec itt: Update LICENSE to use SPDX identifier
Update to SPDX preferred identifier to avoid warnings with OE-Core
changes.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-03-04 15:03:21 +08:00
Naveen Saini
c43a7b5900 ovmf: refresh patch
Refresh patch as per the latest version in OE-Core.

ac0a286f4d

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
2022-03-03 07:04:30 +08:00
Ezhilarasan
efaeab8155 ipmctl: upgrade 03.00.00.0427 -> 03.00.00.0429
Signed-off-by: Ezhilarasan <ezhilarasanx.s@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-03-02 23:01:55 +08:00
Nandini Matam
e71bf6f0f8 libipt: upgrade 2.0.4 -> 2.0.5
*License-Update: Change in copyright dates

Signed-off-by: Nandini Matam <nandinix.matam@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-03-02 23:01:55 +08:00
Yew, Chang Ching
c95e1f7f3c onevpl: Fix missing mutex init in sample common
Fix regression 15010791475

Signed-off-by: Yew, Chang Ching <chang.ching.yew@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-03-02 17:39:01 +08:00
Ezhilarasan
07189850ab rkcommon: upgrade 1.8.0 -> 1.9.0
Signed-off-by: Ezhilarasan <ezhilarasanx.s@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-03-02 17:39:01 +08:00
Ezhilarasan
54be3f0603 openvkl: upgrade 1.1.0 -> 1.2.0
Release notes:
https://github.com/openvkl/openvkl/releases/tag/v1.2.0

Signed-off-by: Ezhilarasan <ezhilarasanx.s@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-03-02 17:39:01 +08:00
Ezhilarasan
ead12f1721 embree: 3.13.2 -> 3.13.3
Release notes:
https://github.com/embree/embree/releases/tag/v3.13.3

Signed-off-by: Ezhilarasan <ezhilarasanx.s@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-03-02 17:39:01 +08:00
Ezhilarasan
f25cc6b707 ipsc: upgrade 1.16.1 -> 1.17.0
Release notes:
https://github.com/ispc/ispc/releases/tag/v1.17.0

Signed-off-by: Ezhilarasan <ezhilarasanx.s@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-03-02 17:39:01 +08:00
Nandini Matam
b4680fd416 itt: upgrade 3.22.5 -> 3.23.0
1. Adds a new public API __itt_release_resources that destroys mutex and
frees resources allocated by ITT API static part.
 __itt_release_resources() should be called from the library destructor.
 2. Gets rid of loading JitPI library
 3. Adds DPC++ compiler support for ZCA
 4. Refactors __itt_is_collector_available() method to reduce
overhead on ITT API instances creation

Signed-off-by: Nandini Matam <nandinix.matam@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-03-02 17:39:01 +08:00
Anuj Mittal
2bdc432840 layer.conf: include kirkstone in LAYERSERIES_COMPAT
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-02-22 21:59:43 +08:00
Anuj Mittal
498074073f meta: rename CVE_CHECK_WHITELIST to CVE_CHECK_IGNORE
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-02-22 10:56:22 +08:00
ezhilarasan s
0975ec0261 ipmctl: upgrade 03.00.00.0387 -> 03.00.00.0427
Signed-off-by: ezhilarasan s <ezhilarasanx.s@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-02-12 00:37:48 +08:00
ezhilarasan s
2c6d52453c onednn: upgrade 2.4.4 -> 2.5.2
*Fixed performance regression in binary primitive with broadcast (b972174, ff75122).
 *Fixed issue with SYCL device properties initialization (cabc5ca, 095f13e).
 *Fixed issue in matmul primitive with zero points (3157354).
 *Fixed segmentation fault in depthwise convolution primitive for shapes with huge spatial size for processors with Intel AVX-512 support (6834764, 1d2addc).
 *Fixed issue in forward convolution primitive for processors with Intel AVX2 support (d691137).
 *Fixed performance regression on GPUs with SYCL runtime (d8364e5).

Signed-off-by: ezhilarasan s <ezhilarasanx.s@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-02-12 00:37:48 +08:00
ezhilarasan s
623a96b34e onedpl: upgrade 2021.5.0 -> 2021.6.1
*Fixed compilation errors with C++20.
 *Fixed CL_OUT_OF_RESOURCES issue for Radix sort algorithm executed on CPU devices.
 *Fixed crashes in exclusive_scan_by_segment, inclusive_scan_by_segment, reduce_by_segment algorithms applied to
  device-allocated USM.

Signed-off-by: ezhilarasan s <ezhilarasax.s@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-02-12 00:37:48 +08:00
ezhilarasan s
f847dd524c level-zero: upgrade 1.6.2 -> 1.7.9
Signed-off-by: ezhilarasan s <ezhilarasanx.s@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-02-12 00:37:48 +08:00
Lim Siew Hoon
ae6813ebfb intel-media-driver: Enable ADL-N support
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-02-12 00:37:48 +08:00
Yew, Chang Ching
4e6473e8d2 onevpl-intel-gpu: upgrade 21.3.4 -> 22.1.0
Backport a patch to fix issues while building with gcc 11.2.

Signed-off-by: Yew, Chang Ching <chang.ching.yew@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-02-11 12:50:06 +08:00
Yew, Chang Ching
840a4824e7 onevpl: upgrade 2021.6.0 -> 2022.0.3
New in This Release
===================
* Updated mfxvideo++.h to remove deprecation warnings
* Sample* tools select oneVPL 2.x APIs by default
* Sample* tool update to support new GPU features
* Updates to C++ & Python previews:
* AV1 extension buffer support
* new property interface
* Targets Python 3.7
* Updated documentation and build for OpenVINO interop sample
* The libmfx.dll and libmfx.so.2021.1.11 libraries, that had been renamed to libvpl.* have been removed

Release notes:
https://github.com/oneapi-src/oneVPL/releases/tag/v2022.0.0

Signed-off-by: Yew, Chang Ching <chang.ching.yew@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-02-11 12:50:06 +08:00
Lim Siew Hoon
c5ee8853cc intel-mediasdk: upgrade 21.3.5 -> 22.1.0
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-02-11 12:50:06 +08:00
Lim Siew Hoon
298339bc21 intel-media-driver: upgrade 21.3.5 -> 22.1.1
Drops patches already merged.
* 0001-MOS-user-setting-reentrant.patch
* 0001-Media-Common-Fix-the-user-setting-memory-free.patch

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-02-11 12:50:06 +08:00
Lim Siew Hoon
ee9574a261 gmmlib: upgrade 21.3.1 -> 22.0.1
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-02-11 12:50:06 +08:00
Anuj Mittal
7bcff11829 intel-microcode: upgrade 20210608 -> 20220207
Also fixes CVE-2021-0146, CVE-2021-0127. More details:

https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/tag/microcode-20220207

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-02-09 16:16:56 +08:00
Tomasz Moń
c2d12c05cd intel-microcode: use microcode filter for package
Commit cba66dfb7b ("intel-microcode: fix microcode loading on newer
kernels") effectively disabled microcode filtering for intel-microcode
package.

Add the missing filter parameter to iucode_tool command to install only
necessary files. Do not generate microcode bin file in compile step as
it is no longer needed.

Signed-off-by: Tomasz Moń <tomasz.mon@camlingroup.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-02-09 13:49:26 +08:00
Mariia Vtiurina
64bc878144 intel-oneapi-ipp: upgrade to 2021.5.1
The recipe for Intel OneAPI IPP library version 2021.5.1.

IPP is an extensive library of ready-to-use, domain-specific functions
that are highly optimized for diverse Intel architectures.

Signed-off-by: Mariia Vtiurina <mariia.vtiurina@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-02-07 16:11:34 +08:00
Mariia Vtiurina
4547634157 intel-oneapi-mkl: upgrade to 2022.0.1
Intel® oneAPI Math Kernel Library (oneMKL) runtime.

Signed-off-by: Mariia Vtiurina <mariia.vtiurina@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-02-07 16:11:34 +08:00
Mariia Vtiurina
88f30c3343 intel-oneapi-compiler: upgrade to 2022.0.1
Intel® oneAPI DPC++/C++ Compiler & Intel® C++ Compiler Classic runtime.

Signed-off-by: Mariia Vtiurina <mariia.vtiurina@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-02-07 16:11:34 +08:00
Anuj Mittal
76cc0cce2c Revert "slimboot: add recipe for Slim Bootloader"
This reverts commit 1d1d0f1828. The
recipe needs some more work.
2022-01-28 12:05:50 +08:00
Anuj Mittal
f52d804c30 conf: set COMPATIBLE_MACHINE for dpdk-module
DPDK layer now requires COMPATIBLE_MACHINE to be set for dpdk-module
recipe too.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-01-28 10:22:47 +08:00
Anuj Mittal
ad850aae9b lms: upgrade 2141.0.0.0 -> 2151.0.0.0
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-01-26 22:22:59 +08:00
Anuj Mittal
af9268b102 metee: upgrade 3.1.0 -> 3.1.2
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-01-26 22:22:59 +08:00
Anuj Mittal
7fed5db76b thermald: upgrade 2.4.6 -> 2.4.8
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-01-26 22:22:59 +08:00
Anuj Mittal
32dee09872 itt: upgrade 3.22.4 -> 3.22.5
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-01-26 22:22:59 +08:00
Yongxin Liu
1d1d0f1828 slimboot: add recipe for Slim Bootloader
Slim Bootloader is an open-source boot firmware running on Intel x86
architecture.

Currently it supports qemu, apl(Apollo Lake), cfl(Coffee Lake),
cml(Comet Lake), tgl(Tiger Lake), and ehl(Elkhart Lake). You can set
"SLIMBOOT_TARGET" in .bb file or .bbappend file to specify or add the
target firmware you want, for example: SLIMBOOT_TARGET = "qemu apl".
The default target is qemu.

Generated firmware and security keys are installed in build directory:
    image
    `-- usr
        `-- libexec
            `-- slimboot
                |-- Outputs
                |   |-- qemu
                |   |-- apl
                |   `-- cfl
                `-- keys

Boot firmware for qemu can be used by command:
"qemu-system-x86_64 -machine q35 -nographic -serial mon:stdio -pflash
SlimBootloader.bin"

Other boot firmware for real hardware cannot be programmed directly to
flash, please refer to https://slimbootloader.github.io/index.html for
more instructions.

Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-01-26 22:22:59 +08:00
Anuj Mittal
4ff5b19ba6 maintainers.inc: include entry for intel-crypto-mb
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-12-29 13:31:16 +08:00
Naveen Saini
49c69323b5 linux-intel/5.10: update to v5.10.78
Update kernel config as well.

Backported patch to fix 32-bit compilation failure.

32-bit compilation failure log:

build/tmp/work-shared/intel-core2-32/kernel-source/include/linux/io-mapping.h:88:16: error: implicit declaration of function '__iomap_local_pfn_prot'; did you mean '__kmap_local_pfn_prot'? [-Werror=implicit-function-declaration]
|    88 |         return __iomap_local_pfn_prot(PHYS_PFN(phys_addr), mapping->prot);
|       |                ^~~~~~~~~~~~~~~~~~~~~~
|       |                __kmap_local_pfn_prot
| build/tmp/work-shared/intel-core2-32/kernel-source/include/linux/io-mapping.h:88:16: warning: returning 'int' from a function with return type 'void *' makes pointer from integer without a cast [-Wint-conversion]
|    88 |         return __iomap_local_pfn_prot(PHYS_PFN(phys_addr), mapping->prot);
|       |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-12-14 09:38:14 +08:00
Andrei Gherzan
aa8482af7b sbsigntool: Fix build with Openssl 3.0
The patch fixes the build when OpenSSL 3.0 is used. We also disable
errors on deprecations as the code uses a good amount of them that look
to be harmless.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-12-10 16:41:29 +08:00
Naveen Saini
48440091d4 linux-intel-rt/5.10: update to v5.10.78
updates -rt patchset to -rt55.

Updated kernel config as well.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-12-10 16:41:29 +08:00
Lim Siew Hoon
33c5426f5c intel-media-driver: Fixed double free issue.
Fixed double free issue running with multiple channel
decoding with vaapisink plugins in gstreamer-vaapi master.

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-12-03 10:15:20 +08:00
Naveen Saini
4a0107ac96 linux-intel/5.15: no need to disable bsp config audit
It is not required to disable bsp config audit with 5.15 as
warning causing patch is already part ot it.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-30 14:54:15 +08:00
Naveen Saini
2bd57abeb5 meta-intel.inc: set default rt kernel to 5.15
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-30 14:54:15 +08:00
Naveen Saini
901f8f964b linux-intel-rt/5.15: add recipe
Based on v5.15.2-rt19.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-30 14:54:15 +08:00
Anuj Mittal
fe4d7319ff ixgbevf: exclude from world builds
Default kernel is 5.15 now and this doesn't build with 5.15 so exclude
from world to prevent builds from failing.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-29 17:42:46 +08:00
Vtiurina, Mariia
b56b3e4858 intel-crypto-mb: add recipe for ipp crypto library
Intel® Integrated Performance Primitives (Intel® IPP) Cryptography
is a secure, fast and lightweight library of building blocks for cryptography,
highly-optimized for various Intel® CPUs.

Signed-off by: Andrey Latyshev <andrey.latyshev@intel.com>
Signed-off-by: Mariia Vtiurina <mariia.vtiurina@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-24 22:35:46 +08:00
Naveen Saini
922d3cb174 linux-intel/5.4: drop recipe
New LTS 5.15 is already added, so time to drop 5.4 support

Drop linux-intel-rt/5.4 too.

Drop cfg which is not required for LTS 5.10 & 5.15.

Ref:
eb83479e18

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-24 22:34:33 +08:00
Naveen Saini
e69110ae03 meta-intel.inc: set default kernel to LTS 5.15
Build 5.10 with poky-altcfg as kenrel 5.4 support is going to drop

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-24 22:34:33 +08:00
Naveen Saini
f2cf31678c linux-intel/5.15: add recipe
Add recipe to build LTS 5.15 kernel along with kernel configs from
yocto-5.15 branch.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-24 22:34:33 +08:00
Anuj Mittal
cb85d1a565 openvino-model-optimizer: fix upstream check
Make sure that we only match release versions.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-24 22:34:33 +08:00
Anuj Mittal
1d9e805c4b openvino-inference-engine: fix upstream check
Match only the release versions and not the ones like 11102021.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-24 22:34:33 +08:00
Anuj Mittal
f4c64d7179 ospray: upgrade 2.7.1 -> 2.8.0
Release notes:

    Lights can be now part of OSPGroup and thus instanced like
    geometries and volumes and thus lights also support motion blur
    (with the path tracer)
    Add cylinder light (with solid area sampling)
    Add support for rolling shutter of cameras
    Add support for quaternion motion blur for instance and camera to
    allow for smoothly interpolated rotations
    Fix illumination from emissive quad meshes

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-24 22:34:33 +08:00
Anuj Mittal
9b25d40cb9 openvkl: upgrade 1.0.1 -> 1.1.0
Release notes:

    vklExamples improvements: asynchronous rendering, multiple viewports, docking, and more
    Fixed bug in openvkl_utility_vdb which could lead to crashes when creating VDB volumes with temporally constant tiles
    Superbuild updates to latest versions of dependencies
    Minimum rkcommon version is now 1.8.0

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-24 22:34:33 +08:00
Anuj Mittal
a3b2f8bb59 lms: upgrade 2127.0.0.0 -> 2141.0.0.0
Release notes:
https://github.com/intel/lms/releases/tag/v2141.0.0.0

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-24 22:34:33 +08:00
Anuj Mittal
5ebbe2ae21 onednn: upgrade 2.4 -> 2.4.4
Release notes:
https://github.com/oneapi-src/oneDNN/releases/tag/v2.4.4

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-24 22:34:33 +08:00
Anuj Mittal
d77dfb715e rkcommon: upgrade 1.7.0 -> 1.8.0
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-24 22:34:33 +08:00
Anuj Mittal
ff26d85b90 level-zero: upgrade 1.5.4 -> 1.6.2
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-24 22:34:33 +08:00
Anuj Mittal
f84b7227f5 embree: upgrade 3.13.1 -> 3.13.2
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-24 22:34:33 +08:00
Anuj Mittal
ea32fce523 itt: upgrade 3.21.2 -> 3.22.4
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-24 22:34:33 +08:00
Anuj Mittal
e056575804 ixgbevf: upgrade 4.12.4 -> 4.13.3
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-24 22:34:33 +08:00
Anuj Mittal
baa68831ed open-model-zoo: upgrade 2021.4.1 -> 2021.4.2
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-19 11:56:08 +08:00
Anuj Mittal
36dce6d137 openvino-model-optimizer: upgrade 2021.4.1 -> 2021.4.2
Release notes for 2021.4 LTS are at:
https://www.intel.com/content/www/us/en/developer/articles/release-notes/openvino-2021-4-lts-relnotes.html

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-19 11:56:08 +08:00
Anuj Mittal
1354a0bfe2 openvino-inference-engine: upgrade 2021.4.1 -> 2021.4.2
Release notes for 2021.4 release are at:
https://www.intel.com/content/www/us/en/developer/articles/release-notes/openvino-2021-4-lts-relnotes.html

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-19 11:56:08 +08:00
Anuj Mittal
576ba39de2 qemuboot-intel.inc: remove vga and uvesafb parameters
These are ancient and no longer required. For a detailed explanation,
see:

https://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=ec7beb650fd3ad445e77d2c3c8fde27556d9d0c9
https://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=e88fe83014b771b1868ee1159672c80f7710f41d
https://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=58e85c60cd15cf4c0b47cddcf507543461c1a328

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-17 00:01:19 +08:00
Yew, Chang Ching
42a15be8a9 onevpl-intel-gpu: Add VDSFC CSC support
Signed-off-by: Yew, Chang Ching <chang.ching.yew@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-11 22:22:24 +08:00
Yew, Chang Ching
5a66f35237 onevpl: Add VDSFC CSC support for sample_decode
Signed-off-by: Yew, Chang Ching <chang.ching.yew@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-11 22:22:24 +08:00
Yew, Chang Ching
ff68bb4952 onevpl: Adding basic wayland dmabuf support to samples
Signed-off-by: Ung, Teng En <teng.en.ung@intel.com>
Signed-off-by: Yew, Chang Ching <chang.ching.yew@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-08 18:50:07 +08:00
Anuj Mittal
99fd5cb683 ipmctl: dont install /var/log/ipmctl
OE-Core now has a QA check to see if /var/log is empty. Since
/var/log is usually a symlink to /var/volatile/log, anything
installed here won't actually be available.

Remove the directory.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-05 23:49:29 +08:00
Anuj Mittal
c4ba0f18c2 intel-common-pkgarch.inc: fix operator combination
Bitbake now warns if :append is combined with +=. Change this to use the
preferred format.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-05 22:52:12 +08:00
Teng, Jin Chung
d813aee27e media-driver: user registry key reentrant fix
Fix for registry key reentrant on Linux during multiple processes.

Signed-off-by: Teng, Jin Chung <jin.chung.teng@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-05 10:54:08 +08:00
Naveen Saini
82a73574ed meta-intel.inc: use zlib from oe-core by default
Instead of zlib-intel from this layer, use zlib from oe-core by default

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-03 21:56:15 +08:00
Vtiurina, Mariia
4bdaff2a2f intel-oneapi-mkl: add recipe for mkl library (runtime only)
Intel® oneAPI Math Kernel Library (oneMKL) runtime library. For
more details, see:

https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl.html

Signed-off-by: Mariia Vtiurina <mariia.vtiurina@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-03 21:56:15 +08:00
Vtiurina, Mariia
6a38cec44b intel-oneapi-compiler: add recipe for compiler (runtime only)
Intel® oneAPI DPC++/C++ Compiler & Intel® C++ Compiler Classic runtime.
For more details, see:

https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-compiler.html

Signed-off-by: Mariia Vtiurina <mariia.vtiurina@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-03 21:56:15 +08:00
Naveen Saini
23324f3fb3 level-zero: allow to generate empty package
Currently empty level-zero-dev package is being generated, which
has dependency on level-zero package.

On enabling 'dev-pkgs' in IMAGE_FEATURES, install level-zero-dev package, which throws
dependency conflict error.

 Problem: conflicting requests
  - nothing provides level-zero = 1.5.4-r0 needed by level-zero-dev-1.5.4-r0.corei7_64

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-03 16:22:09 +08:00
Anuj Mittal
e4d0c52cba meta: add explicit branch and protocol to SRC_URI
Add branch name explicitly to SRC_URI where it's not defined and switch
to using https protocol for Github projects.

The change was made using convert_srcuri script for OE-Core.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-03 12:35:28 +08:00
Vtiurina, Mariia
b8e0ee50ec intel-oneapi-ipp: upgrade 2021.3 -> 2021.4
The recipe for Intel OneAPI IPP library version 2021.4.0.

IPP is an extensive library of ready-to-use, domain-specific functions
that are highly optimized for diverse Intel architectures.

Signed-off-by: Mariia Vtiurina <mariia.vtiurina@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-02 08:57:34 +08:00
Teng, Jin Chung
e57cb3fcee onevpl-intel-gpu: ADL-S: Adding missing device ID
Signed-off-by: Teng, Jin Chung <jin.chung.teng@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-10-28 16:42:09 +08:00
Naveen Saini
d8584ea9d7 intel-graphics-compiler: add PACKAGECONFIG for VectorCompiler
Allow users to disable it but enable by default.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-10-25 22:02:18 +08:00
Lim Siew Hoon
82a05e9558 intel-mediasdk: upgrade 21.2.3 -> 21.3.5
Drops patches already merged:
* 0001-Add-support-of-DRM_FORMAT_NV12-for-console-mode-rend.patch
* 0001-Fixed-tile-modifier-issue-for-NV12-format.patch

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-10-25 22:02:00 +08:00
Lim Siew Hoon
c386c9cdcc intel-media-driver: upgrade 21.2.3 -> 21.3.5
Drops patches already merged.
* 0001-Expose-the-reg-to-disable-scalability.patch
* 0001-VP-Fix-2pass-CSC-PROCAMP-not-work-issue.patch

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-10-25 22:02:00 +08:00
Lim Siew Hoon
378ece5d08 libva & libva-utils: upgrade 2.12.0 -> 2.13.0
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-10-25 22:02:00 +08:00
Lim Siew Hoon
094d37685d gmmlib: upgrade 21.2.1 -> 21.3.1
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-10-25 22:02:00 +08:00
Anuj Mittal
3b386a9dc8 llvm-project-source/10.0.1: backport fixes from LLVM 11
Include a fix and two supporting patches from LLVM 11 to fix problems
with double registration while both clang-cpp and llvm lib are linked
(like in case of opencl-clang).

| CommandLine Error: Option 'mc-relax-all' registered more than once!
| LLVM ERROR: inconsistency in registered CommandLine options

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-10-21 23:42:39 +08:00
Vtiurina, Mariia
272e088902 intel-oneapi-ipp: add recipe for Intel OneAPI IPP library (runtime only)
The initial version of the recipe for Intel OneAPI IPP library.

IPP is an extensive library of ready-to-use, domain-specific functions
that are highly optimized for diverse Intel architectures.

Signed-off-by: Mariia Vtiurina <mariia.vtiurina@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-10-21 13:28:10 +08:00
JingHuiTham
16e1c7d376 linux-intel-rt/5.10: update to v5.10.59
updates -rt patchset to -rt52.

Updated kernel config as well.

Signed-off-by: JingHuiTham <jing.hui.tham@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-10-20 21:26:04 +08:00
JingHuiTham
cb854ee269 linux-intel-rt/5.4: update to v5.4.143
Updates -rt patchset to -rt63.

Updated kernel config as well.

Signed-off-by: JingHuiTham <jing.hui.tham@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-10-20 21:26:04 +08:00
JingHuiTham
95a124b0aa linux-intel/5.4: update to v5.4.143
Update kernel config as well.

Signed-off-by: JingHuiTham <jing.hui.tham@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-10-15 15:59:35 +08:00
JingHuiTham
c068607c7b linux-intel/5.10: update to v5.10.59
Update kernel config as well.

Signed-off-by: JingHuiTham <jing.hui.tham@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-10-15 15:59:35 +08:00
Anuj Mittal
a809b8c531 Remove support for gatesgarth
Building with oe-core gatesgarth is no longer supported. Remove from
LAYERSERIES_COMPAT and remove the LLVM 11 patches as well.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-10-13 11:23:41 +08:00
Anuj Mittal
467d15d57a intel-graphics-compiler: enable VectorCompiler
Use the option to use Khronos translator instead of the
pre-built SPIRVDLL with VC. Also have the native recipe
install a binary needed for the target builds.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-10-13 11:23:34 +08:00
227 changed files with 3283 additions and 27248 deletions

View File

@ -1,87 +0,0 @@
This file will only list major changes that occur within a release.
For a full list of changes, view the git log of the repository.
Rocko Release 11/2017
=====================
Moved qat support to separate layer
-----------------------------------
Quick Assist Technology (QAT) is more middleware and should not be part of the
core BSP. The new layer can be found here:
https://git.yoctoproject.org/cgit/cgit.cgi/meta-intel-qat/
Moved dpdk support to separate layer
------------------------------------
We had some requests to make DPDK standalone so that it could be included
without bringing in anything else from meta-intel, as it is not specific to
Intel(R) hardware. The new layer is located here:
https://git.yoctoproject.org/cgit/cgit.cgi/meta-dpdk/
Added support for out-of-tree iwlwifi drivers
---------------------------------------------
Backport-iwlwifi out-of-tree wifi modules are now available via meta-intel.
Backport-iwlwifi brings the latest iwlwifi drivers to almost any kernel
Note that mac80211 and cfg80211 backports are also necessary, which will most
likely cause incompatibility with other in-tree wifi drivers.
See https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi for more info.
Added support for out-of-tree ixgbe drivers
-------------------------------------------
The out-of-tree ixgbe drivers bring ixgbe support to nearly any kernel. See
here: http://www.intel.com/network/connectivity/products/server_adapters.htm
Added an implementation of Secure Boot
--------------------------------------
meta-intel now supports a simple Secure Boot implementation. This implementation
consists of a single binary consisting of an EFI stub, the kernel, an
initrd, and a kernel command line. The binary is then signed via keys defined by
the variables SECUREBOOT_SIGNING_KEY and SECUREBOOT_SIGNING_CERT. These keys
should match the keys embedded in your hardware's firmware.
See documentation/secureboot/README for more information on this feature.
Improved Yocto Project Compatibility status
-------------------------------------------
The common layer should now be considered Yocto Project compatible - it should
no longer modify OE-core values when adding the layer to your bblayers.conf.
The meta-tlk layer is still not Yocto Project compatible, however.
Pyro Release 5/2017
===================
Changed default kernel provider from linux-yocto to linux-intel.
----------------------------------------------------------------
Linux-intel is an Intel(R)-maintained kernel based on the latest stable
branch, along with backports from upstream to better support Intel(R)
hardware. The intel-linux kernel also has a branch with the preempt-rt
patches applied, providing a preempt-rt kernel with no additional work.
Added QEMU support.
-------------------
We now build several virtio drivers into the kernel by default, and
have qemuboot.conf files for intel-corei7-64 and intel-core2-32
targets. This allows one to do basic testing on meta-intel images
without having to use hardware. The virtio drivers are added via
KERNEL_FEATURES_INTEL_COMMON. This prevents them from being added to
custom kernels by default. They can be removed by adding the
following to a conf or kernel bbappend file:
KERNEL_FEATURES_INTEL_COMMON:remove = “cfg/virtio.scc”
OVMF firmware is also built and can be used in order to emulate a UEFI
environment. A full runqemu command line for intel-corei7-64 could look
like this:
runqemu core-image-minimal intel-corei7-64 wic ovmf
Musl support
------------
Meta-intel is now compatible with the musl C library. You can specify musl
As your C library by adding the following to your local.conf:
TCLIBC = “musl”
Note: there is a known failure with DPDK.
X32 support
-----------
The meta-intel layer can now build with the x32 tune settings in a multi-lib
setting, it will not work in as the primary MACHINE tune as the bootloader needs
to be built as a 64bit binary. The setup for this would be as follows:
require conf/multilib.conf
MULTILIBS = "multilib:libx32
DEFAULTTUNE:virtclass-multilib-libx32 = "corei7-64-x32"

View File

@ -1,32 +0,0 @@
This file contains a list of BSP maintainers for the BSPs contained in
the meta-intel repository.
The purpose of this file is to provide contact information for
specific BSPs and other code contained within meta-intel. You should
address questions and patches for a particular BSP or other code to
the appropriate maintainer listed in this file, cc'ing the meta-intel
mailing list. This ensures that your question or patch will be
addressed by the appropriate person, and that it will be seen by other
users who may be facing similar problems or questions.
Please see the top-level README file for guidelines relating to the
details of submitting patches, reporting problems, or asking questions
about any of the BSPs or other recipes contained within meta-intel.
Descriptions of section entries:
M: Mail patches to: FullName <address@domain>
F: Files and directories with wildcard patterns.
A trailing slash includes all files and subdirectory files.
F: common/ all files in and below common
F: common/* all files in common, but not below
One pattern per line. Multiple F: lines acceptable.
Please keep this list in alphabetical order.
Maintainers List (try to look for most precise areas first)
-----------------------------------
M: Anuj Mittal <anuj.mittal@intel.com>
F: *

459
README
View File

@ -1,459 +0,0 @@
meta-intel
==========
This README file contains information on building and booting
meta-intel BSP layers. Please see the corresponding sections below
for details.
Yocto Project Compatible
========================
The BSPs contained in this layer are compatible with the Yocto Project
as per the requirements listed here:
https://www.yoctoproject.org/webform/yocto-project-compatible-registration
Dependencies
============
This layer depends on:
URI: git://git.openembedded.org/bitbake
URI: git://git.openembedded.org/openembedded-core
layers: meta
branch: master
Table of Contents
=================
I. Overview
II. Building and booting meta-intel BSP layers
a. Building the intel-common BSP layers
b. Booting the intel-common BSP images
c. Building the installer image
III. Technical Miscellany
Benefits of using meta-intel
The intel-common kernel package architecture
Intel-specific machine features
IV. Tested Hardware
V. Guidelines for submitting patches
I. Overview
===========
This is the location for Intel-maintained BSPs.
For details on the intel-common, see the information below.
For all others, please see the README files contained in the
individual BSP layers for BSP-specific information.
If you have problems with or questions about a particular BSP, please
contact the maintainer listed in the MAINTAINERS file directly (cc:ing
the Yocto mailing list puts it in the archive and helps other people
who might have the same questions in the future), but please try to do
the following first:
- look in the Yocto Project Bugzilla
(http://bugzilla.yoctoproject.org/) to see if a problem has
already been reported
- look through recent entries of the meta-intel
(https://lists.yoctoproject.org/pipermail/meta-intel/) and Yocto
(https://lists.yoctoproject.org/pipermail/yocto/) mailing list
archives to see if other people have run into similar problems or
had similar questions answered.
If you believe you have encountered a bug, you can open a new bug and
enter the details in the Yocto Project Bugzilla
(http://bugzilla.yoctoproject.org/). If you're relatively certain
that it's a bug against the BSP itself, please use the 'Yocto Project
Components: BSPs | meta-intel' category for the bug; otherwise, please
submit the bug against the most likely category for the problem - if
you're wrong, it's not a big deal and the bug will be recategorized
upon triage.
II. Building and booting meta-intel BSP layers
==============================================
The following sections contain information on building and booting the
BSPs contained in the meta-intel layer.
Note that these instructions specifically cover the intel-common, which
may or may not be applicable to other BSPs contained in this layer - if
a given BSP contains its own README, that version should be used instead,
and these instructions can be ignored.
a. Building the intel-common BSP layers
-------------------------------------------------
In order to build an image with BSP support for a given release, you
need to download the corresponding BSP tarball from the 'Board Support
Package (BSP) Downloads' page of the Yocto Project website (or
equivalently, check out the appropriate branch from the meta-intel git
repository, see below). For the intel-common BSPs, those tarballs would
correspond to the following choices in the BSP downloads section:
- Intel-core2-32 Intel® Common Core BSP (Intel-core2-32)
- Intel-corei7-64 Intel® Common Core BSP (Intel-corei7-64)
The intel-* BSPs, also known as the intel-common BSPs, provide a few
carefully selected tune options and generic hardware support to cover
the majority of current Intel CPUs and devices. The naming follows the
convention of intel-<TUNE>-<BITS>, where TUNE is the gcc cpu-type
(used with mtune and march typically) and BITS is either 32 bit or 64
bit.
Having done that, and assuming you extracted the BSP tarball contents
at the top-level of your yocto build tree, you can build a BSP image
by adding the location of the meta-intel layer to bblayers.conf e.g.:
yocto/meta-intel \
To enable a particular machine, you need to add a MACHINE line naming
the BSP to the local.conf file:
MACHINE ?= "xxx"
where 'xxx' is replaced by one of the following BSP names:
- intel-core2-32
This BSP is optimized for the Core2 family of CPUs as well as all
Atom CPUs prior to the Silvermont core.
- intel-corei7-64
This BSP is optimized for Nehalem and later Core and Xeon CPUs as
well as Silvermont and later Atom CPUs, such as the Baytrail SoCs.
You should then be able to build an image as such:
$ source oe-init-build-env
$ bitbake core-image-sato
At the end of a successful build, you should have an image that
you can boot from a USB flash drive (see instructions on how to do
that below, in the section 'Booting the intel-common BSP images').
As an alternative to downloading the BSP tarball, you can also work
directly from the meta-intel git repository. For each BSP in the
'meta-intel' repository, there are multiple branches, one
corresponding to each major release starting with 'laverne' (0.90), in
addition to the latest code which tracks the current master (note that
not all BSPs are present in every release). Instead of extracting
a BSP tarball at the top level of your yocto build tree, you can
equivalently check out the appropriate branch from the meta-intel
repository at the same location.
b. Booting the intel-common BSP images
--------------------------------------
If you've built your own image, either from the downloaded BSP layer
or from the meta-intel git repository, you'll find the bootable
image in the build/tmp/deploy/images/xxx directory, where again
'xxx' refers to the machine name used in the build.
Under Linux, insert a USB flash drive. Assuming the USB flash drive
takes device /dev/sdf, use dd to copy the image to it. Before the image
can be burned onto a USB drive, it should be un-mounted. Some Linux distros
may automatically mount a USB drive when it is plugged in. Using USB device
/dev/sdf as an example, find all mounted partitions:
$ mount | grep sdf
and un-mount those that are mounted, for example:
$ umount /dev/sdf1
$ umount /dev/sdf2
Now burn the image onto the USB drive:
$ sudo dd if=core-image-sato-intel-corei7-64.wic of=/dev/sdf status=progress
$ sync
$ eject /dev/sdf
This should give you a bootable USB flash device. Insert the device
into a bootable USB socket on the target, and power on. This should
result in a system booted to the Sato graphical desktop.
If you want a terminal, use the arrows at the top of the UI to move to
different pages of available applications, one of which is named
'Terminal'. Clicking that should give you a root terminal.
If you want to ssh into the system, you can use the root terminal to
ifconfig the IP address and use that to ssh in. The root password is
empty, so to log in type 'root' for the user name and hit 'Enter' at
the Password prompt: and you should be in.
If you find you're getting corrupt images on the USB (it doesn't show
the syslinux boot: prompt, or the boot: prompt contains strange
characters), try doing this first:
$ dd if=/dev/zero of=/dev/sdf bs=1M count=512
c. Building the installer image
-----------------------------------------------
If you plan to install your image to your target machine, you can build a wic
based installer image instead of default wic image. To build it, you need to
add below configuration to local.conf :
WKS_FILE = "image-installer.wks.in"
IMAGE_FSTYPES:append = " ext4"
IMAGE_TYPEDEP_wic = "ext4"
INITRD_IMAGE_LIVE="core-image-minimal-initramfs"
do_image_wic[depends] += "${INITRD_IMAGE_LIVE}:do_image_complete"
do_rootfs[depends] += "virtual/kernel:do_deploy"
IMAGE_BOOT_FILES:append = "\
${KERNEL_IMAGETYPE} \
microcode.cpio \
${IMGDEPLOYDIR}/${IMAGE_BASENAME}-${MACHINE}.ext4;rootfs.img \
${@bb.utils.contains('EFI_PROVIDER', 'grub-efi', 'grub-efi-bootx64.efi;EFI/BOOT/bootx64.efi', '', d)} \
${@bb.utils.contains('EFI_PROVIDER', 'grub-efi', '${IMAGE_ROOTFS}/boot/EFI/BOOT/grub.cfg;EFI/BOOT/grub.cfg', '', d)} \
${@bb.utils.contains('EFI_PROVIDER', 'systemd-boot', 'systemd-bootx64.efi;EFI/BOOT/bootx64.efi', '', d)} \
${@bb.utils.contains('EFI_PROVIDER', 'systemd-boot', '${IMAGE_ROOTFS}/boot/loader/loader.conf;loader/loader.conf ', '', d)} \
${@bb.utils.contains('EFI_PROVIDER', 'systemd-boot', '${IMAGE_ROOTFS}/boot/loader/entries/boot.conf;loader/entries/boot.conf', '', d)} "
Burn the wic image onto USB flash device, insert the device to target machine
and power on. This should start the installation process.
III. Technical Miscellany
=========================
Benefits of using meta-intel
----------------------------
Using meta-intel has the following benefits over a generic BSP:
tune flags
++++++++++
intel-* MACHINEs each have different compilation flags appropriate for their
targeted hardware sets. intel-corei7-64 has tune flags appropriate for modern
64-bit Intel Core i microarchitecture, and includes instruction sets up to
SSE4.2. intel-core2-32 has tune flags appropriate for legacy 32-bit Intel Core2
microarchitecture, and includes instruction sets up to SSE3.
linux-intel kernel
++++++++++++++++++
The linux-intel kernel is an initiative to bring better Intel(R) hardware
support to the current LTS linux kernel. It contains a base LTS kernel with
additional backports from upstream Intel drivers. In addition, a default kernel
config containing most features found on Intel boards is supplied via the
yocto-kernel-cache.
graphics stack
++++++++++++++
Meta-intel provides the latest Intel Graphics Linux Stack drivers to support
Intel hardware as defined by the https://01.org/linuxgraphics.
Other software
++++++++++++++
* intel ucode - provides the latest microcode updates for Intel processors
* thermald - which proactively controls thermal, using P-states, T-states, and
the Intel power clamp driver.
(https://01.org/linux-thermal-daemon/documentation/introduction-thermal-daemon)
The intel-common kernel package architecture
--------------------------------------------
These BSPs use what we call the intel-common Linux kernel package
architecture. This includes core2-32-intel-common and
corei7-64-intel-common. These kernel packages can also be used by any
of the BSPs in meta-intel that choose to include the
intel-common-pkgarch.inc file.
To minimize the proliferation of vendor trees, reduce the sources we
must support, and consolidate QA efforts, all BSP maintainers are
encouraged to make use of the intel-common Linux kernel package
architecture.
Intel-specific machine features
-------------------------------
The meta-intel layer makes some additional machine features available
to BSPs. These machine features can be used in a BSP layer in the
same way that machine features are used in other layers based on
oe-core, via the MACHINE_FEATURES variable.
Requirements
++++++++++++
The meta-intel-specific machine features are only available to a BSP
when the meta-intel layer is included in the build configuration, and
the meta-intel.inc file is included in the machine configuration of
that BSP.
To make these features available for your machine, you will need to:
1. include a configuration line such as the below in bblayers.conf
BBLAYERS += "<local path>/meta-intel"
2. include the following line in the machine configuration file
require conf/machine/include/meta-intel.inc
Once the above requirements are met, the machine features provided by
the meta-intel layer will be available for the BSP to use.
Available machine features
++++++++++++++++++++++++++
Currently, the meta-intel layer makes the following set of
Intel-specific machine features available:
* intel-ucode
These machine features can be included by listing them in the
MACHINE_FEATURES variable in the machine configuration file. For
example:
MACHINE_FEATURES += "intel-ucode"
Machine feature details
+++++++++++++++++++++++
* intel-ucode
This feature provides support for microcode updates to Intel
processors. The intel-ucode feature runs at early boot and uses
the microcode data file added by the feature into the BSP's
initrd. It also puts the userland microcode-updating tool,
iucode_tool, into the target images along with the microcode data
file.
Q. Why might a user want to enable the intel-ucode feature?
A. Intel releases microcode updates to correct processor behavior
as documented in the respective processor specification
updates. While the normal approach to getting such microcode
updates is via a BIOS upgrade, this can be an administrative
hassle and not always possible in the field. The intel-ucode
feature enables the microcode update capability present in the
Linux kernel. It provides an easy path for upgrading processor
microcode without the need to change the BIOS. If the feature
is enabled, it is also possible to update the existing target
images with a newer microcode update in the future.
Q. How would a user bundle only target-specific microcode in the
target image?
A. The Intel microcode data file released by Intel contains
microcode updates for multiple processors. If the BSP image is
meant to run on only a certain subset of processor types, a
processor-specific subset of microcode can be bundled into the
target image via the UCODE_FILTER_PARAMETERS variable. This
works by listing a sequence of iucode-tool parameters in the
UCODE_FILTER_PARAMETERS variable, which in this case will
select only the specific microcode relevant to the BSP. For
more information on the underlying parameters refer to the
iucode-tool manual page at http://manned.org/iucode-tool
To define a set of parameters for microcode-filtering via the
UCODE_FILTER_PARAMETERS variable, one needs to identify the
cpuid signatures of all the processors the BSP is meant to run
on. One way to determine the cpuid signature for a specific
processor is to build and run an intel-ucode-feature-enabled
image on the target hardware, without first assigning any value
to the UCODE_FILTER_PARAMETERS variable, and then once the
image is booted, run the "ucode_tool -S" command to have the
ucode tool scan the system for processor signatures. These
signatures can then be used in the UCODE_FILTER_PARAMETERS
variable in conjunction with -s parameter. For example, for
the fri2 BSP, the cpuid can be determined as such:
[root@fri2 ~]# iucode_tool -S
iucode_tool: system has processor(s) with signature 0x00020661
Given that output, a suitable UCODE_FILTER_PARAMETERS variable
definition could be specified in the machine configuration as
such:
UCODE_FILTER_PARAMETERS = "-s 0x00020661"
Q. Are there any reasons a user might want to disable the
intel-ucode feature?
A. The microcode data file and associated tools occupy a small
amount of space (a few KB) on the target image. BSPs which are
highly sensitive to target image size and which are not
experiencing microcode-related issues might consider not
enabling this feature.
IV. Tested Hardware
===================
The following undergo regular basic testing with their respective MACHINE types.
Note that both 64-bit and 32-bit firmware is available for the MinnowBoard
Turbot, so it is tested against both intel-corei7-64 and intel-core2-32.
intel-corei7-64:
NUC6i5SYH
NUC7i7BNH
Coffee Lake-H
intel-core2-32:
MinnowBoard Turbot
V. Guidelines for submitting patches
====================================
Please submit any patches against meta-intel BSPs to the meta-intel
mailing list (meta-intel@lists.yoctoproject.org). Also, if your patches are
available via a public git repository, please also include a URL to
the repo and branch containing your patches as that makes it easier
for maintainers to grab and test your patches.
There are patch submission scripts available that will, among other
things, automatically include the repo URL and branch as mentioned.
Please see the Yocto Project Development Manual sections entitled
'Using Scripts to Push a Change Upstream and Request a Pull' and
'Using Email to Submit a Patch' for details.
Regardless of how you submit a patch or patchset, the patches should
at minimum follow the suggestions outlined in the 'Submitting a Change
to the Yocto Project' section in the Yocto Project Development Manual.
Specifically, they should:
- Include a 'Signed-off-by:' line. A commit can't legally be pulled
in without this.
- Provide a single-line, short summary of the change. This short
description should be prefixed by the BSP or recipe name, as
appropriate, followed by a colon. Capitalize the first character
of the summary (following the colon).
- For the body of the commit message, provide detailed information
that describes what you changed, why you made the change, and the
approach you used.
- If the change addresses a specific bug or issue that is associated
with a bug-tracking ID, include a reference to that ID in your
detailed description in the following format: [YOCTO #<bug-id>].
- Pay attention to line length - please don't allow any particular
line in the commit message to stretch past 72 characters.
- For any non-trivial patch, provide information about how you
tested the patch, and for any non-trivial or non-obvious testing
setup, provide details of that setup.
Doing a quick 'git log' in meta-intel will provide you with many
examples of good example commits if you have questions about any
aspect of the preferred format.
The meta-intel maintainers will do their best to review and/or pull in
a patch or patchset within 24 hours of the time it was posted. For
larger and/or more involved patches and patchsets, the review process
may take longer.
Please see the meta-intel/MAINTAINERS file for the list of maintainers
and their specific areas; it's also a good idea to cc: the specific
maintainer, if applicable.

35
README.md Normal file
View File

@ -0,0 +1,35 @@
# meta-intel
OpenEmbedded/Yocto BSP layer for Intel platforms.
## Dependencies
This layer primarily depends on OpenEmbedded-Core (OE-Core). However, certain
recipes may require additional layers to support optional features or
programming languages not supported by OE-Core. Such recipes are located within
the `dynamic-layers` directory.
Base dependencies:
- [Bitbake](https://git.openembedded.org/bitbake)
- [OE-Core](https://git.openembedded.org/openembedded-core)
Dynamic additional dependencies:
- [meta-openembedded](https://git.openembedded.org/meta-openembedded/tree/meta-oe)
- [meta-python](https://git.openembedded.org/meta-openembedded/tree/meta-python)
- [meta-clang](https://github.com/kraj/meta-clang.git)
## Contents
- [Building and booting meta-intel BSP layers](documentation/building_and_booting.md)
- [Intel oneAPI DPC++/C++ Compiler](documentation/dpcpp-compiler.md)
- [Build Image with OpenVINO™ toolkit](documentation/openvino.md)
- [Tested Hardware](documentation/tested_hardware.md)
- [Guidelines for submitting patches](documentation/submitting_patches.md)
- [Reporting bugs](documentation/reporting_bugs.md)
- [Reporting security bugs](SECURITY.md)
## Maintainers
- Yogesh Tyagi <yogesh.tyagi@intel.com>

View File

@ -1,17 +0,0 @@
The sources for the packages comprising the images shipped with this
BSP can be found at the following location:
http://downloads.yoctoproject.org/mirror/sources/
The metadata used to generate the images shipped with this BSP, in
addition to the code contained in this BSP, can be found at the
following location:
http://downloads.yoctoproject.org/releases/yocto/yocto-2.7/poky-warrior-21.0.0.tar.bz2
The metadata used to generate the images shipped with this BSP, in
addition to the code contained in this BSP, can also be found at the
following locations:
git://git.yoctoproject.org/poky.git
git://git.yoctoproject.org/meta-intel

6
SECURITY.md Normal file
View File

@ -0,0 +1,6 @@
# Security Policy
Intel is committed to rapidly addressing security vulnerabilities affecting our customers and providing clear guidance on the solution, impact, severity and mitigation.
## Reporting a Vulnerability
Please report any security vulnerabilities in this project [utilizing the guidelines here](https://www.intel.com/content/www/us/en/security-center/vulnerability-handling-guidelines.html).

View File

@ -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"

View File

@ -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 \
"

View File

@ -7,11 +7,11 @@ RECIPE_MAINTAINER:pn-core-image-tiny = "Naveen Saini <naveen.kumar.saini@intel.c
RECIPE_MAINTAINER:pn-core-image-minimal-initramfs = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-embree = "Naveen Saini <naveen.kumar.saini@intel.com>"
RECIPE_MAINTAINER:pn-gmmlib = "Lim Siew Hoon <siew.hoon.lim@intel.com>"
RECIPE_MAINTAINER:pn-hdcp = "Naveen Saini <naveen.kumar.saini@intel.com>"
RECIPE_MAINTAINER:pn-intel-graphics-compiler = "Naveen Saini <naveen.kumar.saini@intel.com>"
RECIPE_MAINTAINER:pn-intel-cmt-cat = "Naveen Saini <naveen.kumar.saini@intel.com>"
RECIPE_MAINTAINER:pn-intel-compute-runtime = "Naveen Saini <naveen.kumar.saini@intel.com>"
RECIPE_MAINTAINER:pn-intel-crypto-mb = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-intel-graphics-compiler = "Naveen Saini <naveen.kumar.saini@intel.com>"
RECIPE_MAINTAINER:pn-intel-media-driver = "Lim Siew Hoon <siew.hoon.lim@intel.com>"
RECIPE_MAINTAINER:pn-intel-mediasdk = "Lim Siew Hoon <siew.hoon.lim@intel.com>"
RECIPE_MAINTAINER:pn-intel-microcode = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-intel-vaapi-driver = "Lim Siew Hoon <siew.hoon.lim@intel.com>"
RECIPE_MAINTAINER:pn-ipmctl = "Anuj Mittal <anuj.mittal@intel.com>"
@ -21,17 +21,15 @@ RECIPE_MAINTAINER:pn-itt = "Naveen Saini <naveen.kumar.saini@intel.com>"
RECIPE_MAINTAINER:pn-ixgbe = "Naveen Saini <naveen.kumar.saini@intel.com>"
RECIPE_MAINTAINER:pn-ixgbevf = "Naveen Saini <naveen.kumar.saini@intel.com>"
RECIPE_MAINTAINER:pn-iucode-tool = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-jhi = "Naveen Saini <naveen.kumar.saini@intel.com>"
RECIPE_MAINTAINER:pn-level-zero = "Naveen Saini <naveen.kumar.saini@intel.com>"
RECIPE_MAINTAINER:pn-libipt = "Naveen Saini <naveen.kumar.saini@intel.com>"
RECIPE_MAINTAINER:pn-libva-intel = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-libva-intel-utils = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-libyami = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-libyami-utils = "Anuj Mittal <anuj.mittal@intel.com>"
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>"
@ -40,17 +38,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>"
RECIPE_MAINTAINER:pn-zlib-intel = "Naveen Saini <naveen.kumar.saini@intel.com>"

View File

@ -10,7 +10,8 @@ BBFILE_PATTERN_intel := "^${LAYERDIR}/"
BBFILE_PRIORITY_intel = "5"
# Additional license directories.
LICENSE_PATH += "${LAYERDIR}/custom-licenses"
CUSTOM_LICENSES_PATH = "${LAYERDIR}/custom-licenses"
LICENSE_PATH += "${CUSTOM_LICENSES_PATH}"
LAYERDEPENDS_intel = "core"
LAYERRECOMMENDS_intel = "dpdk"
@ -18,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 = "dunfell gatesgarth hardknott honister"
LAYERSERIES_COMPAT_intel = "scarthgap whinlatter"
BBFILES_DYNAMIC += " \
clang-layer:${LAYERDIR}/dynamic-layers/clang-layer/*/*/*.bb \
@ -31,10 +32,6 @@ BBFILES_DYNAMIC += " \
require ${LAYERDIR}/conf/include/maintainers.inc
PREFERRED_PROVIDER_zlib ?= "zlib"
PREFERRED_PROVIDER_zlib-native ?= "zlib-native"
PREFERRED_PROVIDER_nativesdk-zlib ?= "nativesdk-zlib"
# Use the libva from OE-Core when layer is included but no MACHINE
# from meta-intel is being used.
PREFERRED_PROVIDER_libva ?= "libva"
@ -45,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"
X86_TUNE_DIR = "${@bb.utils.contains('LAYERSERIES_CORENAMES', 'honister', 'include/x86', 'include', d)}"
addpylib ${LAYERDIR}/lib oeqa

View File

@ -11,5 +11,5 @@ PACKAGE_ARCH:pn-intel-microcode = "${INTEL_COMMON_PACKAGE_ARCH}"
PACKAGE_ARCH:pn-backport-iwlwifi = "${INTEL_COMMON_PACKAGE_ARCH}"
PACKAGE_ARCH:pn-ixgbe = "${INTEL_COMMON_PACKAGE_ARCH}"
PACKAGE_ARCH:pn-ixgbevf = "${INTEL_COMMON_PACKAGE_ARCH}"
PACKAGE_EXTRA_ARCHS:append += "${INTEL_COMMON_PACKAGE_ARCH}"
PACKAGE_EXTRA_ARCHS:append = " ${INTEL_COMMON_PACKAGE_ARCH}"
MACHINEOVERRIDES =. "${INTEL_COMMON_PACKAGE_ARCH}:"

View File

@ -3,5 +3,5 @@
#
DEFAULTTUNE ?= "core2-32"
require conf/machine/${X86_TUNE_DIR}/tune-core2.inc
require conf/machine/${X86_TUNE_DIR}/x86-base.inc
require conf/machine/include/x86/tune-core2.inc
require conf/machine/include/x86/x86-base.inc

View File

@ -3,5 +3,5 @@
#
DEFAULTTUNE ?= "corei7-64"
require conf/machine/${X86_TUNE_DIR}/tune-corei7.inc
require conf/machine/${X86_TUNE_DIR}/x86-base.inc
require conf/machine/include/x86/tune-corei7.inc
require conf/machine/include/x86/x86-base.inc

View File

@ -7,15 +7,10 @@
PREFERRED_PROVIDER_virtual/kernel ?= "linux-intel"
PREFERRED_PROVIDER_virtual/kernel:poky-tiny ?= "linux-intel"
# Only use the Intel-tuned zlib for target builds to improve reuse
PREFERRED_PROVIDER_zlib = "zlib-intel"
PREFERRED_PROVIDER_zlib-native = "zlib-native"
PREFERRED_PROVIDER_nativesdk-zlib = "nativesdk-zlib"
PREFERRED_VERSION_linux-intel ?= "5.10%"
PREFERRED_VERSION_linux-intel-rt ?= "5.10%"
PREFERRED_VERSION_linux-intel:poky-altcfg ?= "5.4%"
PREFERRED_VERSION_linux-intel-rt:poky-altcfg ?= "5.4%"
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"
@ -26,13 +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"
PREFERRED_VERSION_opencl-clang ?= "${@bb.utils.contains('LLVMVERSION', '10.0.1', '10.0.0', \
bb.utils.contains('LLVMVERSION', '11.1.0', '11.0.0', \
bb.utils.contains('LLVMVERSION', '12.0.0', '12.0.0', '13.0.0', d), d), d)}"
PREFERRED_VERSION_opencl-clang-native ?= "${@bb.utils.contains('LLVMVERSION', '10.0.1', '10.0.0', \
bb.utils.contains('LLVMVERSION', '11.1.0', '11.0.0', \
bb.utils.contains('LLVMVERSION', '12.0.0', '12.0.0', '13.0.0', d), d), d)}"
XSERVER_X86_ASPEED_AST = "xf86-video-ast \
"
@ -41,7 +29,7 @@ MACHINE_ESSENTIAL_EXTRA_RDEPENDS:append = "${@bb.utils.contains('MACHINE_FEATURE
# recommended extra packages common to all intel machines
MACHINE_EXTRA_RRECOMMENDS:append = " kernel-modules linux-firmware"
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS:append = " kernel-module-i915 linux-firmware-i915"
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS:append = " kernel-module-i915 linux-firmware-i915 kernel-module-igc kernel-module-r8152"
# for the early boot time kernel microcode loading support,
# merge the microcode data in the final initrd image.

View File

@ -2,7 +2,7 @@
# distro content (in particular the kernel) less than qemu.inc.
# Ensure that qemu gets built when building images.
EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native"
EXTRA_IMAGEDEPENDS += "qemu-system-native qemu-helper-native:do_addto_recipe_sysroot"
# Build ovmf firmware for uefi support in qemu.
EXTRA_IMAGEDEPENDS += "ovmf"

View File

@ -13,7 +13,6 @@ QB_CPU:intel-skylake-64 = "-cpu Skylake-Client"
QB_CPU_KVM:intel-skylake-64 = "-cpu Skylake-Client"
QB_AUDIO_DRV = "alsa"
QB_AUDIO_OPT = "-soundhw ac97,es1370"
QB_KERNEL_CMDLINE_APPEND = "vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1"
# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
QB_OPT_APPEND = "-vga vmware -usb -usbdevice tablet -device virtio-rng-pci"
QB_AUDIO_OPT = "-device AC97"
QB_KERNEL_CMDLINE_APPEND = " oprofile.timer=1"
QB_OPT_APPEND = " -usb -usbdevice tablet "

View File

@ -1,48 +0,0 @@
# Settings for the GCC(1) cpu-type "skylake":
#
# Intel Skylake CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1,
# SSE4.2, AVX, AVX2 and POPCNT instruction set support.
#
# This tune is recommended for Intel Skylake CPU (and beyond).
#
DEFAULTTUNE ?= "skylake-64"
# Include the previous tune to pull in PACKAGE_EXTRA_ARCHS
require conf/machine/${X86_TUNE_DIR}/tune-corei7.inc
# Extra tune features
TUNEVALID[skylake] = "Enable skylake specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'skylake', ' -march=skylake ${SKYLAKE_TUNE} -mfpmath=sse', '', d)}"
# Extra tune selections
AVAILTUNES += "skylake-64"
TUNE_FEATURES:tune-skylake-64 = "${TUNE_FEATURES:tune-x86-64} skylake"
BASE_LIB:tune-skylake-64 = "lib64"
TUNE_PKGARCH:tune-skylake-64 = "skylake-64"
PACKAGE_EXTRA_ARCHS:tune-skylake-64 = "${PACKAGE_EXTRA_ARCHS:tune-core2-64} skylake-64"
QEMU_EXTRAOPTIONS_skylake-64 = " -cpu Skylake-Client"
# Disable QEMU usermode by default (get avx2)
MACHINE_FEATURES:remove = "qemu-usermode"
# If qemu-usermode is enabled, we have to disable avx2 ISA extensions, but we can keep mtune as skylake vs generic
SKYLAKE_TUNE .= "${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', ' -mtune=skylake ${QEMU_UNAVAILABLE_ISA}', '-mtune=generic -mavx2', d)}"
QEMU_UNAVAILABLE_ISA = " \
-mno-avx \
-mno-avx2 \
-mno-avx512f \
-mno-avx512er \
-mno-avx512cd \
-mno-avx512pf \
-mno-avx512dq \
-mno-avx512bw \
-mno-avx512vl \
-mno-avx512ifma \
-mno-avx512vbmi \
-mno-avx512vbmi2 \
-mno-avx512vnni \
-mno-avx512bitalg \
"

View File

@ -11,10 +11,11 @@ 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"
COMPATIBLE_MACHINE:pn-dpdk-module = "intel-corei7-64"
XSERVER ?= "${XSERVER_X86_BASE} \
${XSERVER_X86_EXT} \

View File

@ -4,17 +4,18 @@
#@DESCRIPTION: Machine configuration for 64 bit Intel Skylake CPU (and later) with MMX, SSE, SSE2, SSE3, SSE4.1, SSE4.2, AVX, and AVX2 instruction set support. Supports a moderately wide range of drivers that should boot and be usable on "typical" hardware.
require conf/machine/include/meta-intel.inc
require conf/machine/${X86_TUNE_DIR}/x86-base.inc
require conf/machine/include/tune-skylake.inc
require conf/machine/include/x86/x86-base.inc
require conf/machine/include/x86/tune-x86-64-v3.inc
require conf/machine/include/intel-common-pkgarch.inc
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"
XSERVER ?= "${XSERVER_X86_BASE} \
${XSERVER_X86_EXT} \

392
custom-licenses/EULA Normal file
View File

@ -0,0 +1,392 @@
Intel End User License Agreement for Developer Tools (Version October 2021)
IMPORTANT NOTICE - PLEASE READ AND AGREE BEFORE DOWNLOADING, INSTALLING, COPYING
OR USING
This Agreement is between you, or the company or other legal entity that you
represent and warrant you have the legal authority to bind, (each, "You" or
"Your") and Intel Corporation and its subsidiaries (collectively, "Intel")
regarding Your use of the Materials. By downloading, installing, copying or
using the Materials, You agree to be bound by the terms of this Agreement. If
You do not agree to the terms of this Agreement, or do not have legal authority
or required age to agree to them, do not download, install, copy or use the
Materials.
1. LICENSE DEFINITIONS.
A. "Cloud Provider" means a third party service provider offering a cloud-based
platform, infrastructure, application or storage services, such as Microsoft
Azure or Amazon Web Services, which You may only utilize to host the
Materials subject to the restrictions set forth in Section 2.3 B.
B. "Derivative Work" means a derivative work, as defined in 17 U.S.C. 101, of
the Source Code.
C. "Executable Code" means computer programming code in binary form suitable
for machine execution by a processor without the intervening steps of
interpretation or compilation.
D. "Materials" mean the software, documentation, the software product serial
number, and other collateral, including any updates, made available to You
by Intel under this Agreement. Materials include Redistributables,
Executable Code, Source Code, Sample Source Code, and Pre-Release Materials,
but do not include Third Party Software.
E. "Pre-Release Materials" mean the Materials, or portions of the Materials,
that are identified (in the product release notes, on Intel's download
website for the Materials or elsewhere) or labeled as pre-release,
prototype, alpha or beta code and, as such, are deemed to be pre-release
code (i) which may not be fully functional or tested and may contain bugs or
errors; (ii) which Intel may substantially modify in its development of a
production version; or (iii) for which Intel makes no assurances that it
will ever develop or make a production version generally available.
Pre-Release Materials are subject to the terms of Section 3.2.
F. "Reciprocal Open Source Software" means any software that is subject to a
license which requires that (i) it must be distributed in source code form;
(ii) it must be licensed under the same open source license terms; and (iii)
its derivative works must be licensed under the same open source license
terms. Examples of this type of license are the GNU General Public License
or the Mozilla Public License.
G. "Redistributables" mean the files (if any) listed in the "redist.txt,"
"redist-rt.txt" or similarly-named text files that may be included in the
Materials. Redistributables include Sample Source Code.
H. "Sample Source Code" means those portions of the Materials that are Source
Code and are identified as sample code. Sample Source Code may not have been
tested or validated by Intel and is provided purely as a programming example.
I. "Source Code" means the software portion of the Materials provided in human
readable format.
J. "Third Party Software" mean the files (if any) listed in the
"third-party-software.txt" or other similarly-named text file that may be
included in the Materials for the applicable software. Third Party Software
is subject to the terms of Section 2.2.
K. "Your Product" means one or more applications, products or projects
developed by or for You using the Materials.
2. LICENSE GRANTS.
2.1 License to the Materials. Subject to the terms and conditions of this
Agreement, Intel grants You a non-exclusive, worldwide, non-assignable,
non-sublicensable, limited right and license under its copyrights, to:
A. reproduce internally a reasonable number of copies of the Materials for Your
personal or business use;
B. use the Materials solely for Your personal or business use to develop Your
Product, in accordance with the documentation included as part of the
Materials;
C. modify or create Derivative Works only of the Redistributables, or any
portions, that are provided to You in Source Code;
D. distribute (directly and through Your distributors, resellers, and other
channel partners, if applicable), the Redistributables, including any
modifications to or Derivative Works of the Redistributables or any portions
made pursuant to Section 2.1.C subject to the following conditions:
(1) Any distribution of the Redistributables must only be as part of Your
Product which must add significant primary functionality different than
that of the Redistributables themselves;
(2) You must only distribute the Redistributables originally provided to You
by Intel only in Executable Code subject to a license agreement that
prohibits reverse engineering, decompiling or disassembling the
Redistributables;
(3) This distribution right includes a limited right to sublicense only the
Intel copyrights in the Redistributables and only to the extent necessary
to perform, display, and distribute the Redistributables (including Your
modifications and Derivative Works of the Redistributables provided in
Source Code) solely as incorporated in Your Product; and
(4) You: (i) will be solely responsible to Your customers for any update,
support obligation or other obligation or liability which may arise from
the distribution of Your Product, (ii) will not make any statement that
Your Product is "certified" or that its performance is guaranteed by Intel
or its suppliers, (iii) will not use Intel's or its suppliers' names or
trademarks to market Your Product, (iv) will comply with any additional
restrictions which are included in the text files with the
Redistributables and in Section 3 below, (v) will indemnify, hold
harmless, and defend Intel and its suppliers from and against any claims
or lawsuits, costs, damages, and expenses, including attorney's fees, that
arise or result from (a) Your modifications or Derivative Works of the
Materials or (b) Your distribution of Your Product.
2.2 Third Party Software. Third Party Software, even if included with the
distribution of the Materials, may be governed by separate license terms,
including without limitation, third party license terms, open source
software notices and terms, and/or other Intel software license terms. These
separate license terms solely govern Your use of the Third Party Software.
2.3 Third Party Use.
A. If You are an entity, Your contractors may use the Materials under the
license specified in Section 2, provided: (i) their use of the Materials is
solely on behalf of and in support of Your business, (ii) they agree to the
terms and conditions of this Agreement, and (iii) You are solely responsible
for their use, misuse or disclosure of the Materials.
B. You may utilize a Cloud Provider to host the Materials for You, provided:
(i) the Cloud Provider may only host the Materials for Your exclusive use
and may not use the Materials for any other purpose whatsoever, including the
restriction set forth in Section 3.1(xi); (ii) the Cloud Provider's use of
the Materials must be solely on behalf of and in support of Your Product, and
(iii) You will indemnify, hold harmless, and defend Intel and its suppliers
from and against any claims or lawsuits, costs, damages, and expenses,
including attorney's fees, that arise or result from Your Cloud Provider's
use, misuse or disclosure of the Materials.
3. LICENSE CONDITIONS.
3.1 Restrictions. Except as expressly provided in this Agreement, You may NOT:
(i) use, reproduce, disclose, distribute, or publicly display the
Materials; (ii) share, publish, rent or lease the Materials to any third
party; (iii) assign this Agreement or transfer the Materials; (iv) modify,
adapt, or translate the Materials in whole or in part; (v) reverse engineer,
decompile, or disassemble the Materials, or otherwise attempt to derive the
source code for the software; (vi) work around any technical limitations in
the Materials; (vii) distribute, sublicense or transfer any Source Code,
modifications or Derivative Works of any Source Code to any third party;
(viii) remove, minimize, block or modify any notices of Intel or its
suppliers in the Materials; (ix) include the Redistributables in malicious,
deceptive, or unlawful programs or products or use the Materials in any way
that is against the law; (x) modify, create a Derivative Work, link, or
distribute the Materials so that any part of it becomes Reciprocal Open
Source Software; (xi) use the Materials directly or indirectly for SaaS
services or service bureau purposes (i.e., a service that allows use of or
access to the Materials by a third party as part of that service, such as
the salesforce.com service business model).
3.2 Pre-Release Materials. If You receive Pre-Release Materials, You may
reproduce a reasonable number of copies and use the Pre-Release Materials
for evaluation and testing purposes only. You may not (i) modify or
incorporate the Pre-Release Materials into Your Product; (ii) continue to
use the Pre-Release Materials once a commercial version is released; or
(iii) disclose to any third party any benchmarks, performance results, or
other information relating to the Pre-Release Materials. Intel may waive
these restrictions in writing at its sole discretion; however, if You decide
to use the Pre-Release Materials in Your Product (even with Intel's waiver),
You acknowledge and agree that You are fully responsible for any and all
issues that result from such use.
3.3 Safety-Critical, and Life-Saving Applications; Indemnity. The Materials may
provide information relevant to safety-critical applications
("Safety-Critical Applications") to allow compliance with functional safety
standards or requirements. You acknowledge and agree that safety is Your
responsibility. To the extent You use the Materials to create, or as part
of, products used in Safety-Critical Applications, it is Your responsibility
to design, manage, and ensure that there are system-level safeguards to
anticipate, monitor, and control system failures, and You agree that You are
solely responsible for all applicable regulatory standards and
safety-related requirements concerning Your use of the Materials in Safety
Critical Applications.
Should You use the Materials for Safety-Critical Applications or in any type
of a system or application in which the failure of the Materials could
create a situation where personal injury or death may occur (e.g., medical
systems, life-sustaining or life-saving systems) ("Life-Saving
Applications"), You agree to indemnify, defend, and hold Intel and its
representatives harmless against any claims or lawsuits, costs, damages, and
expenses, including reasonable attorney fees, arising in any way out of Your
use of the Materials in Safety-Critical Applications or Life-Saving
Applications and claims of product liability, personal injury or death
associated with those applications; even if such claims allege that Intel
was negligent or strictly liable regarding the design or manufacture of the
Materials or its failure to warn regarding the Materials.
3.4 Media Format Codecs and Digital Rights Management. You acknowledge and agree
that Your use of the Materials or distribution of the Redistributables with
Your Product as permitted by this Agreement may require You to procure
license(s) from third parties that may hold intellectual property rights
applicable to any media decoding, encoding or transcoding technology (e.g.,
the use of an audio or video codec) and/or digital rights management
capabilities of the Materials, if any. Should any such additional licenses
be required, You are solely responsible for obtaining any such licenses and
agree to obtain any such licenses at Your own expense.
4. DATA COLLECTION AND PRIVACY.
4.1 Data Collection. The Materials may generate and collect anonymous data
and/or provisioning data about the Materials and/or the development
environment and transmit the data to Intel as a one-time event during
installation. Optional data may also be collected by the Materials, however,
You will be provided notice of the request to collect optional data and no
optional data will be collected without Your consent. All data collection by
Intel is performed pursuant to relevant privacy laws, including notice and
consent requirements.
4.2 Intel's Privacy Notice. Intel is committed to respecting Your privacy. To
learn more about Intel's privacy practices, please visit
http://www.intel.com/privacy.
5. OWNERSHIP. Title to the Materials and all copies remain with Intel or its
suppliers. The Materials are protected by intellectual property rights,
including without limitation, United States copyright laws and international
treaty provisions. You will not remove any copyright or other proprietary
notices from the Materials. Except as expressly provided herein, no license
or right is granted to You directly or by implication, inducement, estoppel
or otherwise; specifically, Intel does not grant any express or implied right
to You under Intel patents, copyrights, trademarks, or trade secrets.
6. NO WARRANTY AND NO SUPPORT.
6.1 No Warranty. Disclaimer. Intel disclaims all warranties of any kind and the
terms and remedies provided in this Agreement are instead of any other
warranty or condition, express, implied or statutory, including those
regarding merchantability, fitness for any particular purpose,
non-infringement or any warranty arising out of any course of dealing, usage
of trade, proposal, specification or sample. Intel does not assume (and does
not authorize any person to assume on its behalf) any liability.
6.2 No Support; Priority Support. Intel may make changes to the Materials, or to
items referenced therein, at any time without notice, but is not obligated
to support, update or provide training for the Materials under the terms of
this Agreement. Intel offers free community and paid priority support
options. More information on these support options can be found at:
https://software.intel.com/content/www/us/en/develop/support/priority-support.html.
7. LIMITATION OF LIABILITY.
7.1 Intel will not be liable for any of the following losses or damages (whether
such losses or damages were foreseen, foreseeable, known or otherwise): (i)
loss of revenue; (ii) loss of actual or anticipated profits; (iii) loss of
the use of money; (iv) loss of anticipated savings; (v) loss of business;
(vi) loss of opportunity; (vii) loss of goodwill; (viii) loss of use of the
Materials; (ix) loss of reputation; (x) loss of, damage to, or corruption of
data; or (xi) any indirect, incidental, special or consequential loss of
damage however caused (including loss or damage of the type specified in
this Section 7).
7.2 Intel's total cumulative liability to You, including for direct damages for
claims relating to this Agreement, and whether for breach of contract,
negligence, or for any other reason, will not exceed $100.
7.3 You acknowledge that the limitations of liability provided in this Section 7
are an essential part of this Agreement. You agree that the limitations of
liability provided in this Agreement with respect to Intel will be conveyed
to and made binding upon any customer of Yours that acquires the
Redistributables.
8. USER SUBMISSIONS. Should you provide Intel with comments, modifications,
corrections, enhancements or other input ("Feedback") related to the
Materials, Intel will be free to use, disclose, reproduce, license or
otherwise distribute or exploit the Feedback in its sole discretion without
any obligations or restrictions of any kind, including without limitation,
intellectual property rights or licensing obligations. If You wish to provide
Intel with information that You intend to be treated as confidential
information, Intel requires that such confidential information be provided
pursuant to a non-disclosure agreement ("NDA"); please contact Your Intel
representative to ensure the proper NDA is in place.
9. NON-DISCLOSURE. Information provided by Intel to You may include information
marked as confidential. You must treat such information as confidential under
the terms of the applicable NDA between Intel and You. If You have not
entered into an NDA with Intel, You must not disclose, distribute or make use
of any information marked as confidential, except as expressly authorized in
writing by Intel. Intel retains all rights in and to its confidential
information specifications, designs, engineering details, discoveries,
inventions, patents, copyrights, trademarks, trade secrets, and other
proprietary rights relating to the Materials. Any breach by You of the
confidentiality obligations provided for in this Section 9 will cause
irreparable injury to Intel for which money damages may be inadequate to
compensate Intel for losses arising from such a breach. Intel may obtain
equitable relief, including injunctive relief, if You breach or threaten to
breach Your confidentiality obligations.
10. TERM AND TERMINATION. This Agreement becomes effective on the date You
accept this Agreement and will continue until terminated as provided for in
this Agreement. The term for any Pre-Release Materials terminates upon
release of a commercial version. This Agreement will terminate if You are in
breach of any of its terms and conditions. Upon termination, You will
promptly destroy the Materials and all copies. In the event of termination of
this Agreement, Your license to any Redistributables distributed by You in
accordance with the terms and conditions of this Agreement, prior to the
effective date of such termination, will survive any such termination of this
Agreement. Sections 1, 2.1.D(4)(v), 2.2, 2.3.A(iii), 2.3.B(iii), 3.3, 5, 6,
7, 8, 9, 10 (with respect to these survival provisions in the last sentence),
and 12 will survive expiration or termination of this Agreement.
11. U.S. GOVERNMENT RESTRICTED RIGHTS. The technical data and computer software
covered by this license is a "Commercial Item," as such term is defined by
the FAR 2.101 (48 C.F.R. 2.101) and is "commercial computer software" and
"commercial computer software documentation" as specified under FAR 12.212
(48 C.F.R. 12.212) or DFARS 227.7202 (48 C.F.R. 227.7202), as applicable.
This commercial computer software and related documentation is provided to
end users for use by and on behalf of the U.S. Government with only those
rights as are granted to all other end users pursuant to the terms and
conditions of this Agreement.
12. GENERAL PROVISIONS.
12.1 ENTIRE AGREEMENT. This Agreement contains the complete and exclusive
agreement and understanding between the parties concerning the subject
matter of this Agreement, and supersedes all prior and contemporaneous
proposals, agreements, understanding, negotiations, representations,
warranties, conditions, and communications, oral or written, between the
parties relating to the same subject matter. Each party acknowledges and
agrees that in entering into this Agreement it has not relied on, and will
not be entitled to rely on, any oral or written representations,
warranties, conditions, understanding, or communications between the
parties that are not expressly set forth in this Agreement. The express
provisions of this Agreement control over any course of performance, course
of dealing, or usage of the trade inconsistent with any of the provisions
of this Agreement. The provisions of this Agreement will prevail
notwithstanding any different, conflicting, or additional provisions that
may appear on any purchase order, acknowledgement, invoice, or other
writing issued by either party in connection with this Agreement. No
modification or amendment to this Agreement will be effective unless in
writing and signed by authorized representatives of each party, and must
specifically identify this Agreement by its title and version (e.g., "Intel
End User License Agreement for Developer Tools (Version October 2021)");
except that Intel may make changes to this Agreement as it distributes new
versions of the Materials. When changes are made, Intel will make a new
version of the Agreement available on its website. If You received a copy
of this Agreement translated into another language, the English language
version of this Agreement will prevail in the event of any conflict between
versions.
12.2 EXPORT. You acknowledge that the Materials and all related technical
information are subject to export controls and you agree to comply with all
laws and regulations of the United States and other applicable governments
governing export, re-export, import, transfer, distribution, and use of the
Materials. In particular, but without limitation, the Materials may not be
exported or re-exported (i) into any U.S. embargoed countries or (ii) to
any person or entity listed on a denial order published by the U.S.
government or any other applicable governments. By using the Materials, You
represent and warrant that You are not located in any such country or on
any such list. You also agree that You will not use the Materials for, or
sell or transfer them to a third party who is known or suspected to be
involved in, any purposes prohibited by the U.S. government or other
applicable governments, including, without limitation, the development,
design, manufacture, or production of nuclear, missile, chemical or
biological weapons.
12.3 GOVERNING LAW, JURISDICTION, AND VENUE. All disputes arising out of or
related to this Agreement, whether based on contract, tort, or any other
legal or equitable theory, will in all respects be governed by, and
construed and interpreted under, the laws of the United States of America
and the State of Delaware, without reference to conflict of laws
principles. The parties agree that the United Nations Convention on
Contracts for the International Sale of Goods (1980) is specifically
excluded from and will not apply to this Agreement. All disputes arising
out of or related to this Agreement, whether based on contract, tort, or
any other legal or equitable theory, will be subject to the exclusive
jurisdiction of the courts of the State of Delaware or of the Federal
courts sitting in that State. Each party submits to the personal
jurisdiction of those courts and waives all objections to that jurisdiction
and venue for those disputes.
12.4 SEVERABILITY. The parties intend that if a court holds that any provision
or part of this Agreement is invalid or unenforceable under applicable law,
the court will modify the provision to the minimum extent necessary to make
it valid and enforceable, or if it cannot be made valid and enforceable,
the parties intend that the court will sever and delete the provision or
part from this Agreement. Any change to or deletion of a provision or part
of this Agreement under this Section will not affect the validity or
enforceability of the remainder of this Agreement, which will continue in
full force and effect.

View File

@ -1,63 +1,73 @@
Intel Simplified Software License (Version February 2020)
Intel Simplified Software License (Version August 2021)
Use and Redistribution. You may use and redistribute the software (the “Software”), without modification,
provided the following conditions are met:
Use and Redistribution. You may use and redistribute the software (the
"Software"), without modification, provided the following conditions are met:
* Redistributions must reproduce the above copyright notice and the following terms of use in the Software
and in the documentation and/or other materials provided with the distribution.
* Redistributions must reproduce the above copyright notice and the following
terms of use in the Software and in the documentation and/or other materials
provided with the distribution.
* Neither the name of Intel nor the names of its suppliers may be used to
endorse or promote products derived from this Software without specific
prior written permission.
* No reverse engineering, decompilation, or disassembly of this Software is
permitted.
* Neither the name of Intel nor the names of its suppliers may be used to endorse or promote products derived
from this Software without specific prior written permission.
No other licenses. Except as provided in the preceding section, Intel grants no
licenses or other rights by implication, estoppel or otherwise to, patent,
copyright, trademark, trade name, service mark or other intellectual property
licenses or rights of Intel.
* No reverse engineering, decompilation, or disassembly of this Software is permitted.
Third party software. The Software may contain Third Party Software. "Third
Party Software" is open source software, third party software, or other Intel
software that may be identified in the Software itself or in the files (if any)
listed in the "third-party-software.txt" or similarly named text file included
with the Software. Third Party Software, even if included with the distribution
of the Software, may be governed by separate license terms, including without
limitation, open source software license terms, third party software license
terms, and other Intel software license terms. Those separate license terms
solely govern your use of the Third Party Software, and nothing in this license
limits any rights under, or grants rights that supersede, the terms of the
applicable license terms.
Limited patent license. Intel grants you a world-wide, royalty-free, non-exclusive license under patents
it now or hereafter owns or controls to make, have made, use, import, offer to sell and sell (“Utilize”)
this Software, but solely to the extent that any such patent is necessary to Utilize the Software alone.
The patent license shall not apply to any combinations which include this software. No hardware per se
is licensed hereunder.
DISCLAIMER. THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT ARE
DISCLAIMED. THIS SOFTWARE IS NOT INTENDED FOR USE IN SYSTEMS OR APPLICATIONS
WHERE FAILURE OF THE SOFTWARE MAY CAUSE PERSONAL INJURY OR DEATH AND YOU AGREE
THAT YOU ARE FULLY RESPONSIBLE FOR ANY CLAIMS, COSTS, DAMAGES, EXPENSES, AND
ATTORNEYS' FEES ARISING OUT OF ANY SUCH USE, EVEN IF ANY CLAIM ALLEGES THAT
INTEL WAS NEGLIGENT REGARDING THE DESIGN OR MANUFACTURE OF THE SOFTWARE.
Third party programs. The Software may contain Third Party Programs. “Third Party Programs” are third party
software, open source software or other Intel software listed in the “third-party-programs.txt” or other similarly
named text file that is included with the Software. Third Party Programs, even if included with the distribution
of the Software, may be governed by separate license terms, including without limitation, third party license terms,
open source software notices and terms, and/or other Intel software license terms. These separate license terms may
govern your use of the Third Party Programs.
LIMITATION OF LIABILITY. IN NO EVENT WILL INTEL BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
DISCLAIMER. THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE,
AND NON-INFRINGEMENT ARE DISCLAIMED. THIS SOFTWARE IS NOT INTENDED FOR USE IN SYSTEMS OR APPLICATIONS
WHERE FAILURE OF THE SOFTWARE MAY CAUSE PERSONAL INJURY OR DEATH AND YOU AGREE THAT YOU ARE FULLY RESPONSIBLE
FOR ANY CLAIMS, COSTS, DAMAGES, EXPENSES, AND ATTORNEYS FEES ARISING OUT OF ANY SUCH USE, EVEN IF ANY CLAIM
ALLEGES THAT INTEL WAS NEGLIGENT REGARDING THE DESIGN OR MANUFACTURE OF THE MATERIALS.
No support. Intel may make changes to the Software, at any time without notice,
and is not obligated to support, update or provide training for the Software.
LIMITATION OF LIABILITY. IN NO EVENT WILL INTEL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. YOU AGREE TO
INDEMNIFY AND HOLD INTEL HARMLESS AGAINST ANY CLAIMS AND EXPENSES RESULTING FROM YOUR USE OR UNAUTHORIZED
USE OF THE SOFTWARE.
Termination. Your right to use the Software is terminated in the event of your
breach of this license.
No support. Intel may make changes to the Software, at any time without notice, and is not obligated to
support, update or provide training for the Software.
Feedback. Should you provide Intel with comments, modifications, corrections,
enhancements or other input ("Feedback") related to the Software, Intel will be
free to use, disclose, reproduce, license or otherwise distribute or exploit the
Feedback in its sole discretion without any obligations or restrictions of any
kind, including without limitation, intellectual property rights or licensing
obligations.
Termination. Intel may terminate your right to use the Software in the event of your breach of this Agreement
and you fail to cure the breach within a reasonable period of time.
Compliance with laws. You agree to comply with all relevant laws and regulations
governing your use, transfer, import or export (or prohibition thereof) of the
Software.
Feedback. Should you provide Intel with comments, modifications, corrections, enhancements or other input
(“Feedback”) related to the Software Intel will be free to use, disclose, reproduce, license or otherwise
distribute or exploit the Feedback in its sole discretion without any obligations or restrictions of any
kind, including without limitation, intellectual property rights or licensing obligations.
Compliance with laws. You agree to comply with all relevant laws and regulations governing your use,
transfer, import or export (or prohibition thereof) of the Software.
Governing law. All disputes will be governed by the laws of the United States of America and the State
of Delaware without reference to conflict of law principles and subject to the exclusive jurisdiction of
the state or federal courts sitting in the State of Delaware, and each party agrees that it submits to
the personal jurisdiction and venue of those courts and waives any objections. The United Nations
Convention on Contracts for the International Sale of Goods (1980) is specifically excluded and will
not apply to the Software.
*Other names and brands may be claimed as the property of others.
Governing law. All disputes will be governed by the laws of the United States of
America and the State of Delaware without reference to conflict of law
principles and subject to the exclusive jurisdiction of the state or federal
courts sitting in the State of Delaware, and each party agrees that it submits
to the personal jurisdiction and venue of those courts and waives any
objections. The United Nations Convention on Contracts for the International
Sale of Goods (1980) is specifically excluded and will not apply to the
Software.

View File

@ -0,0 +1,134 @@
### Building the Intel BSP layers
The intel-common BSP provide a few carefully selected tune options and
generic hardware support to cover the majority of current Intel CPUs and
devices. The naming follows the convention of intel-<TUNE>-<BITS>, where
TUNE is the gcc cpu-type (used with mtune and march typically) and BITS
is either 32 bit or 64 bit.
In order to build an image with BSP support for a given release, you
need to clone the meta-intel layer from git repository:
```
git clone https://git.yoctoproject.org/meta-intel
```
Check out the appropriate branch or release tags. The branch name and tags
would align with Yocto Project
[Release Codenames](https://wiki.yoctoproject.org/wiki/Releases).
Assuming meta-intel repository is cloned at the top-level of
OE-Core build tree, you can build a BSP image by adding the location of
the meta-intel layer to bblayers.conf:
```
BBLAYERS = " \
/openembedded-core/meta \
/openembedded-core/meta-intel "
```
To enable a particular machine, add a MACHINE line naming the BSP
to the local.conf file:
```
MACHINE ?= "intel-corei7-64"
```
where this can be replaced by other MACHINE types available:
- intel-core2-32
This BSP is optimized for the Core2 family of CPUs as well as all
Atom CPUs prior to the Silvermont core.
- intel-corei7-64
This BSP is optimized for Nehalem and later Core and Xeon CPUs as
well as Silvermont and later Atom CPUs, such as the Baytrail SoCs.
- intel-skylake-64
This BSP uses [x86-64-v3 tuning](https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html).
You should then be able to build an image as such:
```
$ source oe-init-build-env
$ bitbake core-image-sato
```
At the end of a successful build, you should have an image that
you can boot from a USB flash drive.
## Booting the intel-common BSP images
If you've built your own image, you'll find the bootable
image in the build/tmp/deploy/images/{MACHINE} directory, where
'MACHINE' refers to the machine name used in the build.
Under Linux, insert a USB flash drive. Assuming the USB flash drive
takes device /dev/sdf, use dd to copy the image to it. Before the image
can be burned onto a USB drive, it should be un-mounted. Some Linux distros
may automatically mount a USB drive when it is plugged in. Using USB device
/dev/sdf as an example, find all mounted partitions:
```
$ mount | grep sdf
```
and un-mount those that are mounted, for example:
```
$ umount /dev/sdf1
$ umount /dev/sdf2
```
Now burn the image onto the USB drive:
```
$ sudo dd if=core-image-sato-intel-corei7-64.wic of=/dev/sdf status=progress
$ sync
$ eject /dev/sdf
```
This should give you a bootable USB flash device. Insert the device
into a bootable USB socket on the target, and power on. This should
result in a system booted to the Sato graphical desktop.
If you want a terminal, use the arrows at the top of the UI to move to
different pages of available applications, one of which is named
'Terminal'. Clicking that should give you a root terminal.
If you want to ssh into the system, you can use the root terminal to
ifconfig the IP address and use that to ssh in. The root password is
empty, so to log in type 'root' for the user name and hit 'Enter' at
the Password prompt: and you should be in.
If you find you're getting corrupt images on the USB (it doesn't show
the syslinux boot: prompt, or the boot: prompt contains strange
characters), try doing this first:
```
$ dd if=/dev/zero of=/dev/sdf bs=1M count=512
```
## Building the installer image
If you plan to install your image to your target machine, you can build a wic
based installer image instead of default wic image. To build it, you need to
add below configuration to local.conf :
```
WKS_FILE = "image-installer.wks.in"
IMAGE_FSTYPES:append = " ext4"
IMAGE_TYPEDEP:wic = "ext4"
INITRD_IMAGE_LIVE="core-image-minimal-initramfs"
do_image_wic[depends] += "${INITRD_IMAGE_LIVE}:do_image_complete"
do_rootfs[depends] += "virtual/kernel:do_deploy"
IMAGE_BOOT_FILES:append = "\
${KERNEL_IMAGETYPE} \
microcode.cpio \
${IMGDEPLOYDIR}/${IMAGE_BASENAME}-${MACHINE}.rootfs.ext4;rootfs.img \
${@bb.utils.contains('EFI_PROVIDER', 'grub-efi', 'grub-efi-bootx64.efi;EFI/BOOT/bootx64.efi', '', d)} \
${@bb.utils.contains('EFI_PROVIDER', 'grub-efi', '${IMAGE_ROOTFS}/boot/EFI/BOOT/grub.cfg;EFI/BOOT/grub.cfg', '', d)} \
${@bb.utils.contains('EFI_PROVIDER', 'systemd-boot', 'systemd-bootx64.efi;EFI/BOOT/bootx64.efi', '', d)} \
${@bb.utils.contains('EFI_PROVIDER', 'systemd-boot', '${IMAGE_ROOTFS}/boot/loader/loader.conf;loader/loader.conf ', '', d)} \
${@bb.utils.contains('EFI_PROVIDER', 'systemd-boot', '${IMAGE_ROOTFS}/boot/loader/entries/boot.conf;loader/entries/boot.conf', '', d)} "
```
Burn the wic image onto USB flash device, insert the device to target machine
and power on. This should start the installation process.

View File

@ -0,0 +1,107 @@
Intel(R) oneAPI DPC++/C++ Compiler (ICX) toolchain
==========================================================================
Get Started with the Intel oneAPI DPC++/C++ Compiler:
https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-compiler.html#
Getting Started
===============
Clone the required layers and include them in bblayers.conf:
```
git clone https://git.openembedded.org/openembedded-core
git clone https://git.openembedded.org/bitbake
git clone https://git.openembedded.org/meta-openembedded
git clone https://github.com/kraj/meta-clang.git
git clone https://git.yoctoproject.org/meta-intel
$ source openembedded-core/oe-init-build-env
$ bitbake-layers add-layer ../meta-openembedded/meta-oe/
$ bitbake-layers add-layer ../meta-intel
$ bitbake-layers add-layer ../meta-clang
```
Distro
======
Note that oneAPI DPC++/C++ compiler currently only works when the vendor string is "oe".
```
DISTRO ?= "nodistro"
```
MACHINE configuration
=====================
```
MACHINE ?= "intel-skylake-64"
```
Package installation
====================
```
# To include OpenCL driver that might be needed when compiling SYCL programs, include:
IMAGE_INSTALL:append = " intel-compute-runtime intel-graphics-compiler"
# To install only runtime libraries, include:
IMAGE_INSTALL:append = " intel-oneapi-dpcpp-cpp-runtime intel-oneapi-dpcpp-cpp-runtime-dev"
# To install the toolchain, include:
IMAGE_INSTALL:append = " intel-oneapi-dpcpp-cpp intel-oneapi-dpcpp-cpp-dev"
```
in local.conf.
Build an image
==============
```
$ bitbake core-image-minimal
```
Including oneAPI C++/DPC++ compiler in generated SDK toolchain
==============================================================
The compiler is not included in the generated SDK by default. If it is expected to be part of SDK, add ICXSDK = "1" in local.conf:
```
ICXSDK = "1"
```
Generate SDK:
```
bitbake core-image-minimal -c populate_sdk
```
To setup PATH variables on target
=================================
Once image is booted successfully, some variables would need to be exported to make sure compiler can be used:
```
$ source /opt/intel/oneapi/compiler/2022.1.0/env/vars.sh
$ mkdir -p /lib64
$ ln -sf /lib/ld-linux-x86-64.so.2 /lib64/ld-linux-x86-64.so.2
```
Build application and run
=========================
To compile a sycl application, for example:
```
$ icpx --target=x86_64-oe-linux -fsycl simple-sycl-app.c -o simple-sycl-app
```
To run:
```
$ ./simple-sycl-app
```

92
documentation/openvino.md Normal file
View File

@ -0,0 +1,92 @@
Build a Yocto Image with OpenVINO™ toolkit
==========================================
Follow the [Yocto Project official documentation](https://docs.yoctoproject.org/brief-yoctoprojectqs/index.html#compatible-linux-distribution) to set up and configure your host machine to be compatible with BitBake.
## Step 1: Set Up Environment
1. Clone the repositories.
```
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
```
2. Set up the OpenEmbedded build environment.
```
source poky/oe-init-build-env
```
3. Add BitBake layers.
```
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
```
4. Set up BitBake configurations.
Include extra configuration in the `conf/local.conf` file in your build directory as required.
```
MACHINE = "intel-skylake-64"
# Enable building OpenVINO Python API.
# This requires meta-python layer to be included in bblayers.conf.
PACKAGECONFIG:append:pn-openvino-inference-engine = " python3"
# This adds OpenVINO related libraries in the target image.
CORE_IMAGE_EXTRA_INSTALL:append = " openvino-inference-engine"
# This adds OpenVINO samples in the target image.
CORE_IMAGE_EXTRA_INSTALL:append = " openvino-inference-engine-samples"
# Include OpenVINO Python API package in the target image.
CORE_IMAGE_EXTRA_INSTALL:append = " openvino-inference-engine-python3"
```
## Step 2: Build a Yocto Image with OpenVINO Packages
Run BitBake to build your image with OpenVINO packages. For example, to build the minimal image, run the following command:
```
bitbake core-image-minimal
```
## Step 3: Verify the Yocto Image
Verify that OpenVINO packages were built successfully. Run the following command:
```
oe-pkgdata-util list-pkgs | grep openvino
```
If the image build is successful, it will return the list of packages as below:
```
openvino-inference-engine
openvino-inference-engine-dbg
openvino-inference-engine-dev
openvino-inference-engine-python3
openvino-inference-engine-samples
openvino-inference-engine-src
openvino-inference-engine-doc
```

View File

@ -0,0 +1,22 @@
## Reporting bugs
If you have problems with or questions about a particular BSP, please
contact the maintainer listed in the [Maintainer](../README.md#maintainers) section directly (cc:ing
the Yocto mailing list puts it in the archive and helps other people
who might have the same questions in the future), but please try to do
the following first:
- look in the [Yocto Project Bugzilla](http://bugzilla.yoctoproject.org/) to see if a
problem has already been reported
- look through recent entries of the [meta-intel](https://lists.yoctoproject.org/g/meta-intel/messages)
and [Yocto Archives](https://lists.yoctoproject.org/g/yocto/messages) mailing list archives to see
if other people have run into similar problems or had similar questions answered.
If you believe you have encountered a bug, you can open a new bug and
enter the details in the [Yocto Project Bugzilla](https://bugzilla.yoctoproject.org/).
If you're relatively certain that it's a bug against the BSP itself, please use the
'BSPs | bsps-meta-intel' category for the bug; otherwise, please submit the bug against
the most likely category for the problem. if you're wrong, it's not a big deal and
the bug will be recategorized upon triage.

View File

@ -1,38 +0,0 @@
Currently, only one implementation of Secure Boot is available out of the box,
which is using a single signed EFI application to directly boot the kernel with
an optional initramfs.
This can be added to your build either through local.conf, or via your own
custom image recipe.
If you are adding it via local.conf, set the following variables:
IMAGE_FEATURES += "secureboot"
WKS_FILE = "generic-bootdisk.wks.in"
SECURE_BOOT_SIGNING_KEY = "/path/to/your/signing/key"
SECURE_BOOT_SIGNING_CERT = "/path/to/your/signing/cert"
IMAGE_CLASSES += "uefi-comboapp"
If working with an image recipe, you can inherit uefi-comboapp directly instead
of using the IMAGE_CLASSES variable.
The signing keys and certs can be created via openssl commands. Here's an
example:
openssl req -new -x509 -newkey rsa:2048 -subj "/CN=your-subject/" -keyout \
your-key.key -out your-key.crt -days 365 -nodes -sha256
openssl x509 -in your-key.crt -out your-key.cer -outform DER
The .crt file is your SECURE_BOOT_SIGNING_CERT, and the .key file is your
SECURE_BOOT_SIGNING_KEY.
You should enroll the .crt key in your firmware under the PK, KEK, and DB
options (methods are different depending on your firmware). If a key should ever
become invalid, enroll it under DBX to blacklist it.
The comboapp can be further manipulated in a number of ways. You can modify the
kernel command line via the APPEND variable, you can change the default UUID via
the DISK_SIGNATURE_UUID variable, and you can modify the contents of the
initramfs via the INITRD_IMAGE or INITRD_LIVE variables.
A simple Secure Boot enabled image used for testing can be viewed at:
common/recipes-selftest/images/secureboot-selftest-image-signed.bb

View File

@ -0,0 +1,26 @@
## Guidelines for submitting patches
Please submit any patches against meta-intel BSPs to the
[meta-intel mailing list](https://lists.yoctoproject.org/g/meta-intel)
(email: meta-intel@lists.yoctoproject.org). Also, if your patches are
available via a public git repository, please also include a URL to
the repo and branch containing your patches as that makes it easier
for maintainers to grab and test your patches.
The patches should follow the suggestions outlined in the
[Yocto Project and OpenEmbedded Contributor Guide](https://docs.yoctoproject.org/dev/contributor-guide/index.html).
In addition, for any non-trivial patch, provide information about how you
tested the patch, and for any non-trivial or non-obvious testing
setup, provide details of that setup.
Doing a quick 'git log' in meta-intel will provide you with many
examples of good example commits if you have questions about any
aspect of the preferred format.
The meta-intel maintainers will do their best to review and/or pull in
a patch or patch sets within 24 hours of the time it was posted. For
larger and/or more involved patches and patch sets, the review process
may take longer.
Please see the [maintainers](../README.md#maintainers) section for the list of maintainers. It's also
a good idea to cc: the maintainer, if applicable.

View File

@ -0,0 +1,21 @@
## Tested Hardware
The following undergo regular testing with their respective MACHINE types:
- intel-corei7-64:
* Alder Lake-P/S/PS
* Amston Lake
* Elkhart Lake
* Metor Lake-P
* Raptor Lake-P/S
* Tiger Lake
- intel-skylake-64:
* Alder Lake-P/S/PS
* Amston Lake
* Metor Lake-P
* Raptor Lake-P/S
* Tiger Lake
- intel-core2-32:
* MinnowBoard Turbot

View File

@ -3,7 +3,7 @@ SUMMARY = "Deep Neural Network Library"
DESCRIPTION = "This software is a user mode library that accelerates\
deep-learning applications and frameworks on Intel architecture."
LICENSE = "Apache-2.0 & BSD-3-Clause & BSL-1.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=b48e3de3bfd47c27882a0d85b20823f5 \
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b64000f6e7d52516017622a37a94ce9 \
file://tests/gtests/gtest/LICENSE;md5=cbbd27594afd089daa160d3a16dd515a \
file://src/cpu/x64/xbyak/COPYRIGHT;md5=3b9bf048d063d54cdb28964db558bcc7 \
file://src/common/ittnotify/LICENSE.BSD;md5=e671ff178b24a95a382ba670503c66fb \
@ -12,9 +12,10 @@ SECTION = "lib"
inherit pkgconfig cmake ptest
S = "${WORKDIR}/git"
SRCREV = "a08d38538efbc70e79ce138ce4ed31b982b5ce42"
SRC_URI = "git://github.com/oneapi-src/oneDNN.git;branch=rls-v2.4 \
DNN_BRANCH = "rls-v${@'.'.join(d.getVar('PV').split('.')[0:2])}"
SRCREV = "66f0cb9eb66affd2da3bf5f8d897376f04aae6af"
SRC_URI = "git://github.com/oneapi-src/oneDNN.git;branch=${DNN_BRANCH};protocol=https \
file://run-ptest \
"
@ -32,10 +33,12 @@ EXTRA_OECMAKE += " \
-DDNNL_CPU_RUNTIME=OMP \
-DDNNL_ARCH_OPT_FLAGS="" \
-DCMAKE_SKIP_RPATH=ON \
-DONEDNN_BUILD_GRAPH=OFF \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
"
PACKAGECONFIG ??= ""
PACKAGECONFIG[gpu] = "-DDNNL_GPU_RUNTIME=OCL, , opencl-headers ocl-icd, intel-compute-runtime"
PACKAGECONFIG ??= "gpu"
PACKAGECONFIG[gpu] = "-DDNNL_GPU_RUNTIME=OCL, , opencl-headers virtual/opencl-icd, intel-compute-runtime"
do_install:append () {
install -d ${D}${bindir}/mkl-dnn/tests/benchdnn/inputs

View File

@ -1,28 +0,0 @@
From b9bc0df996d1e65fd70d5eb2d40866693f23bb67 Mon Sep 17 00:00:00 2001
From: Naveen Saini <naveen.kumar.saini@intel.com>
Date: Thu, 24 Jun 2021 17:53:27 +0800
Subject: [PATCH] CMakeLists.txt: link with libclang-cpp library instead
Upstream-Status: Inappropriate
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ef88317e..7507d6a5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -281,7 +281,7 @@ if (WASM_ENABLED)
list(APPEND ISPC_TARGETS wasm-i32x4)
endif()
-set(CLANG_LIBRARY_LIST clangFrontend clangDriver clangSerialization clangParse clangSema clangAnalysis clangAST clangBasic clangEdit clangLex)
+set(CLANG_LIBRARY_LIST clang-cpp)
set(LLVM_COMPONENTS engine ipo bitreader bitwriter instrumentation linker option frontendopenmp)
if (X86_ENABLED)
--
2.17.1

View File

@ -1,38 +0,0 @@
From 8b5d0f26916e776bc3664e6a4dc68eff3a198d7a Mon Sep 17 00:00:00 2001
From: Dmitry Babokin <dmitry.y.babokin@intel.com>
Date: Wed, 16 Jun 2021 20:38:44 -0700
Subject: [PATCH] Do not use depricated file open flags
Upstream-Status: Backport [https://github.com/ispc/ispc/commit/8b5d0f26916e776bc3664e6a4dc68eff3a198d7a]
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
src/module.cpp | 2 +-
src/opt.cpp | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/module.cpp b/src/module.cpp
index 1e68d30c4..352bcd09e 100644
--- a/src/module.cpp
+++ b/src/module.cpp
@@ -1314,7 +1314,7 @@ bool Module::writeObjectFileOrAssembly(llvm::TargetMachine *targetMachine, llvm:
llvm::CodeGenFileType fileType = (outputType == Object) ? llvm::CGFT_ObjectFile : llvm::CGFT_AssemblyFile;
bool binary = (fileType == llvm::CGFT_ObjectFile);
- llvm::sys::fs::OpenFlags flags = binary ? llvm::sys::fs::F_None : llvm::sys::fs::F_Text;
+ llvm::sys::fs::OpenFlags flags = binary ? llvm::sys::fs::OF_None : llvm::sys::fs::OF_Text;
std::error_code error;
diff --git a/src/opt.cpp b/src/opt.cpp
index ae1a11d3d..de1b27e1e 100644
--- a/src/opt.cpp
+++ b/src/opt.cpp
@@ -4687,7 +4687,7 @@ void DebugPassFile::run(llvm::Module &module, bool init) {
std::error_code EC;
char fname[100];
snprintf(fname, sizeof(fname), "%s_%d_%s.ll", init ? "init" : "ir", pnum, sanitize(std::string(pname)).c_str());
- llvm::raw_fd_ostream OS(fname, EC, llvm::sys::fs::F_None);
+ llvm::raw_fd_ostream OS(fname, EC, llvm::sys::fs::OF_None);
Assert(!EC && "IR dump file creation failed!");
module.print(OS, 0);
}

View File

@ -1,36 +0,0 @@
SUMMARY = "Intel(R) Implicit SPMD Program Compiler"
DESCRIPTION = "ispc is a compiler for a variant of the C programming language, \
with extensions for single program, multiple data programming."
HOMEPAGE = "https://github.com/ispc/ispc"
LICENSE = "BSD-3-Clause & Apache-2.0-with-LLVM-exception"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=da5ecffdd210b3cf776b32b41c182e87 \
file://third-party-programs.txt;md5=3cd6f8a7c3bd9d2bb898fcb27c75221a"
inherit cmake python3native
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/ispc/ispc.git;protocol=https;branch=releases/v1.16.x \
file://0001-CMakeLists.txt-link-with-libclang-cpp-library-instea.patch \
file://0002-cmake-don-t-build-for-32-bit-targets.patch \
file://8b5d0f26916e776bc3664e6a4dc68eff3a198d7a.patch \
"
SRCREV = "ae404c1da54422bc70696fbdaa4055bca0d1711e"
COMPATIBLE_HOST = '(x86_64).*-linux'
DEPENDS += " clang-native bison-native "
RDEPENDS:${PN} += " clang-libllvm clang"
EXTRA_OECMAKE += " \
-DISPC_INCLUDE_TESTS=OFF \
-DISPC_INCLUDE_EXAMPLES=OFF \
-DISPC_NO_DUMPS=ON \
-DARM_ENABLED=OFF \
-DISPC_CROSS=ON \
-DSYSROOT_DIR=${STAGING_DIR_NATIVE} \
"
TOOLCHAIN = "clang"
BBCLASSEXTEND = "native nativesdk"

View File

@ -1,111 +0,0 @@
From eeb816d95f0910bd246e37bb2bb3923acf0edf6b Mon Sep 17 00:00:00 2001
From: Aleksander Us <aleksander.us@intel.com>
Date: Mon, 26 Aug 2019 15:47:41 +0300
Subject: [PATCH] [BasicBlockUtils] Add metadata fixing in
SplitBlockPredecessors.
In case when BB is header of some loop and predecessor is latch of
this loop, metadata was not attached to newly created basic block.
This led to loss of loop metadata for other passes.
Upstream-Status: Submitted [https://reviews.llvm.org/D66892]
https://github.com/intel/llvm-patches/commit/8af4449e2d201707f7f2f832b473a0439e255f32
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
lib/Transforms/Utils/BasicBlockUtils.cpp | 23 ++++++++----
test/Transforms/LoopSimplify/loop_metadata.ll | 36 +++++++++++++++++++
2 files changed, 52 insertions(+), 7 deletions(-)
create mode 100644 test/Transforms/LoopSimplify/loop_metadata.ll
diff --git a/lib/Transforms/Utils/BasicBlockUtils.cpp b/lib/Transforms/Utils/BasicBlockUtils.cpp
index 5fa371377c8..3a90ae061fb 100644
--- a/lib/Transforms/Utils/BasicBlockUtils.cpp
+++ b/lib/Transforms/Utils/BasicBlockUtils.cpp
@@ -579,24 +579,33 @@ BasicBlock *llvm::SplitBlockPredecessors(BasicBlock *BB,
// The new block unconditionally branches to the old block.
BranchInst *BI = BranchInst::Create(BB, NewBB);
+ bool IsBBHeader = LI && LI->isLoopHeader(BB);
+ Loop *BBLoop = LI ? LI->getLoopFor(BB) : nullptr;
// Splitting the predecessors of a loop header creates a preheader block.
- if (LI && LI->isLoopHeader(BB))
+ if (IsBBHeader)
// Using the loop start line number prevents debuggers stepping into the
// loop body for this instruction.
- BI->setDebugLoc(LI->getLoopFor(BB)->getStartLoc());
+ BI->setDebugLoc(BBLoop->getStartLoc());
else
BI->setDebugLoc(BB->getFirstNonPHIOrDbg()->getDebugLoc());
// Move the edges from Preds to point to NewBB instead of BB.
- for (unsigned i = 0, e = Preds.size(); i != e; ++i) {
+ for (BasicBlock *Pred : Preds) {
+ Instruction *PI = Pred->getTerminator();
// This is slightly more strict than necessary; the minimum requirement
// is that there be no more than one indirectbr branching to BB. And
// all BlockAddress uses would need to be updated.
- assert(!isa<IndirectBrInst>(Preds[i]->getTerminator()) &&
+ assert(!isa<IndirectBrInst>(PI) &&
"Cannot split an edge from an IndirectBrInst");
- assert(!isa<CallBrInst>(Preds[i]->getTerminator()) &&
- "Cannot split an edge from a CallBrInst");
- Preds[i]->getTerminator()->replaceUsesOfWith(BB, NewBB);
+ assert(!isa<CallBrInst>(PI) && "Cannot split an edge from a CallBrInst");
+ if (IsBBHeader && BBLoop->contains(Pred) && BBLoop->isLoopLatch(Pred)) {
+ // Update loop metadata if it exists.
+ if (MDNode *LoopMD = PI->getMetadata(LLVMContext::MD_loop)) {
+ BI->setMetadata(LLVMContext::MD_loop, LoopMD);
+ PI->setMetadata(LLVMContext::MD_loop, nullptr);
+ }
+ }
+ PI->replaceUsesOfWith(BB, NewBB);
}
// Insert a new PHI node into NewBB for every PHI node in BB and that new PHI
diff --git a/test/Transforms/LoopSimplify/loop_metadata.ll b/test/Transforms/LoopSimplify/loop_metadata.ll
new file mode 100644
index 00000000000..c15c92fe3ae
--- /dev/null
+++ b/test/Transforms/LoopSimplify/loop_metadata.ll
@@ -0,0 +1,36 @@
+; RUN: opt -S -loop-simplify < %s | FileCheck %s
+
+; CHECK: for.cond.loopexit:
+; CHECK: br label %for.cond, !llvm.loop !0
+; CHECK: br i1 %cmp1, label %for.body1, label %for.cond.loopexit
+
+define void @foo() {
+entry:
+ br label %for.cond
+
+for.cond: ; preds = %for.cond1, %entry
+ %j = phi i32 [ 0, %entry ], [ %add, %for.cond1 ]
+ %cmp = icmp ult i32 %j, 8
+ br i1 %cmp, label %for.body, label %for.end
+
+for.body: ; preds = %for.cond
+ %dummy1 = add i32 1, 1
+ %add = add nuw nsw i32 %j, 1
+ br label %for.cond1
+
+for.cond1: ; preds = %for.body1, %for.body
+ %i.0 = phi i32 [ 1, %for.body ], [ %inc, %for.body1 ]
+ %cmp1 = icmp ult i32 %i.0, 8
+ br i1 %cmp1, label %for.body1, label %for.cond, !llvm.loop !0
+
+for.body1: ; preds = %for.cond1
+ %dummy2 = add i32 1, 1
+ %inc = add nuw nsw i32 %i.0, 1
+ br label %for.cond1
+
+for.end: ; preds = %for.cond
+ ret void
+}
+
+!0 = distinct !{!0, !1}
+!1 = !{!"llvm.loop.unroll.full"}
--
2.18.0

View File

@ -1,146 +0,0 @@
From 35e218a886f4c066eabd18685240d55270bd5a6d Mon Sep 17 00:00:00 2001
From: Aleksander Us <aleksander.us@intel.com>
Date: Mon, 26 Aug 2019 15:45:47 +0300
Subject: [PATCH] [IndVarSimplify] Do not use SCEV expander for IVCount in
LFTR when possible.
SCEV analysis cannot properly cache instruction with poison flags
(for example, add nsw outside of loop will not be reused by expander).
This can lead to generating of additional instructions by SCEV expander.
Example IR:
...
%maxval = add nuw nsw i32 %a1, %a2
...
for.body:
...
%cmp22 = icmp ult i32 %ivadd, %maxval
br i1 %cmp22, label %for.body, label %for.end
...
SCEV expander will generate copy of %maxval in preheader but without
nuw/nsw flags. This can be avoided by explicit check that iv count
value gives the same SCEV expressions as calculated by LFTR.
Upstream-Status: Submitted [https://reviews.llvm.org/D66890]
https://github.com/intel/llvm-patches/commit/fd6a6c97341a56fd21bc32bc940afea751312e8f
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
lib/Transforms/Scalar/IndVarSimplify.cpp | 12 +++++++++-
test/Transforms/IndVarSimplify/add_nsw.ll | 23 ++++++++++++++++++++
test/Transforms/IndVarSimplify/lftr-reuse.ll | 9 +++-----
test/Transforms/IndVarSimplify/udiv.ll | 1 +
4 files changed, 38 insertions(+), 7 deletions(-)
create mode 100644 test/Transforms/IndVarSimplify/add_nsw.ll
diff --git a/lib/Transforms/Scalar/IndVarSimplify.cpp b/lib/Transforms/Scalar/IndVarSimplify.cpp
index f9fc698a4a9..5e04dac8aa6 100644
--- a/lib/Transforms/Scalar/IndVarSimplify.cpp
+++ b/lib/Transforms/Scalar/IndVarSimplify.cpp
@@ -2375,6 +2375,17 @@ static Value *genLoopLimit(PHINode *IndVar, BasicBlock *ExitingBB,
if (UsePostInc)
IVLimit = SE->getAddExpr(IVLimit, SE->getOne(IVLimit->getType()));
+ // If computed limit is equal to old limit then do not use SCEV expander
+ // because it can lost NUW/NSW flags and create extra instructions.
+ BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator());
+ if (ICmpInst *Cmp = dyn_cast<ICmpInst>(BI->getOperand(0))) {
+ Value *Limit = Cmp->getOperand(0);
+ if (!L->isLoopInvariant(Limit))
+ Limit = Cmp->getOperand(1);
+ if (SE->getSCEV(Limit) == IVLimit)
+ return Limit;
+ }
+
// Expand the code for the iteration count.
assert(SE->isLoopInvariant(IVLimit, L) &&
"Computed iteration count is not loop invariant!");
@@ -2383,7 +2394,6 @@ static Value *genLoopLimit(PHINode *IndVar, BasicBlock *ExitingBB,
// SCEV expression (IVInit) for a pointer type IV value (IndVar).
Type *LimitTy = ExitCount->getType()->isPointerTy() ?
IndVar->getType() : ExitCount->getType();
- BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator());
return Rewriter.expandCodeFor(IVLimit, LimitTy, BI);
}
}
diff --git a/test/Transforms/IndVarSimplify/add_nsw.ll b/test/Transforms/IndVarSimplify/add_nsw.ll
new file mode 100644
index 00000000000..abd1cbb6c51
--- /dev/null
+++ b/test/Transforms/IndVarSimplify/add_nsw.ll
@@ -0,0 +1,23 @@
+; RUN: opt -indvars -S %s | FileCheck %s
+
+target datalayout = "e-p:32:32-i64:64-n8:16:32"
+
+; CHECK: for.body.preheader:
+; CHECK-NOT: add
+; CHECK: for.body:
+
+define void @foo(i32 %a1, i32 %a2) {
+entry:
+ %maxval = add nuw nsw i32 %a1, %a2
+ %cmp = icmp slt i32 %maxval, 1
+ br i1 %cmp, label %for.end, label %for.body
+
+for.body: ; preds = %entry, %for.body
+ %j.02 = phi i32 [ 0, %entry ], [ %add31, %for.body ]
+ %add31 = add nuw nsw i32 %j.02, 1
+ %cmp22 = icmp slt i32 %add31, %maxval
+ br i1 %cmp22, label %for.body, label %for.end
+
+for.end: ; preds = %for.body
+ ret void
+}
diff --git a/test/Transforms/IndVarSimplify/lftr-reuse.ll b/test/Transforms/IndVarSimplify/lftr-reuse.ll
index 14ae9738696..509d662b767 100644
--- a/test/Transforms/IndVarSimplify/lftr-reuse.ll
+++ b/test/Transforms/IndVarSimplify/lftr-reuse.ll
@@ -67,11 +67,9 @@ define void @expandOuterRecurrence(i32 %arg) nounwind {
; CHECK-NEXT: [[CMP1:%.*]] = icmp slt i32 0, [[SUB1]]
; CHECK-NEXT: br i1 [[CMP1]], label [[OUTER_PREHEADER:%.*]], label [[EXIT:%.*]]
; CHECK: outer.preheader:
-; CHECK-NEXT: [[TMP0:%.*]] = add i32 [[ARG]], -1
; CHECK-NEXT: br label [[OUTER:%.*]]
; CHECK: outer:
-; CHECK-NEXT: [[INDVARS_IV:%.*]] = phi i32 [ [[TMP0]], [[OUTER_PREHEADER]] ], [ [[INDVARS_IV_NEXT:%.*]], [[OUTER_INC:%.*]] ]
-; CHECK-NEXT: [[I:%.*]] = phi i32 [ [[I_INC:%.*]], [[OUTER_INC]] ], [ 0, [[OUTER_PREHEADER]] ]
+; CHECK-NEXT: [[I:%.*]] = phi i32 [ [[I_INC:%.*]], [[OUTER_INC:%.*]] ], [ 0, [[OUTER_PREHEADER]] ]
; CHECK-NEXT: [[SUB2:%.*]] = sub nsw i32 [[ARG]], [[I]]
; CHECK-NEXT: [[SUB3:%.*]] = sub nsw i32 [[SUB2]], 1
; CHECK-NEXT: [[CMP2:%.*]] = icmp slt i32 0, [[SUB3]]
@@ -81,14 +79,13 @@ define void @expandOuterRecurrence(i32 %arg) nounwind {
; CHECK: inner:
; CHECK-NEXT: [[J:%.*]] = phi i32 [ 0, [[INNER_PH]] ], [ [[J_INC:%.*]], [[INNER]] ]
; CHECK-NEXT: [[J_INC]] = add nuw nsw i32 [[J]], 1
-; CHECK-NEXT: [[EXITCOND:%.*]] = icmp ne i32 [[J_INC]], [[INDVARS_IV]]
+; CHECK-NEXT: [[EXITCOND:%.*]] = icmp ne i32 [[J_INC]], [[SUB3]]
; CHECK-NEXT: br i1 [[EXITCOND]], label [[INNER]], label [[OUTER_INC_LOOPEXIT:%.*]]
; CHECK: outer.inc.loopexit:
; CHECK-NEXT: br label [[OUTER_INC]]
; CHECK: outer.inc:
; CHECK-NEXT: [[I_INC]] = add nuw nsw i32 [[I]], 1
-; CHECK-NEXT: [[INDVARS_IV_NEXT]] = add i32 [[INDVARS_IV]], -1
-; CHECK-NEXT: [[EXITCOND1:%.*]] = icmp ne i32 [[I_INC]], [[TMP0]]
+; CHECK-NEXT: [[EXITCOND1:%.*]] = icmp ne i32 [[I_INC]], [[SUB1]]
; CHECK-NEXT: br i1 [[EXITCOND1]], label [[OUTER]], label [[EXIT_LOOPEXIT:%.*]]
; CHECK: exit.loopexit:
; CHECK-NEXT: br label [[EXIT]]
diff --git a/test/Transforms/IndVarSimplify/udiv.ll b/test/Transforms/IndVarSimplify/udiv.ll
index b3f2c2a6a66..3530343ef4a 100644
--- a/test/Transforms/IndVarSimplify/udiv.ll
+++ b/test/Transforms/IndVarSimplify/udiv.ll
@@ -133,6 +133,7 @@ declare i32 @printf(i8* nocapture, ...) nounwind
; CHECK-LABEL: @foo(
; CHECK: for.body.preheader:
; CHECK-NOT: udiv
+; CHECK: for.body:
define void @foo(double* %p, i64 %n) nounwind {
entry:
--
2.18.0

View File

@ -1,51 +0,0 @@
From 661021749a168c423d69d0ba7cdfa16fed860836 Mon Sep 17 00:00:00 2001
From: Naveen Saini <naveen.kumar.saini@intel.com>
Date: Wed, 21 Aug 2019 14:35:31 +0800
Subject: [PATCH 1/3] llvm-spirv: skip building tests
Some of these need clang to be built and since we're building this in-tree,
that leads to problems when compiling libcxx, compiler-rt which aren't built
in-tree.
Instead of using SPIRV_SKIP_CLANG_BUILD to skip clang build and adding this to
all components, disable the building of tests altogether.
Upstream-Status: Inappropriate
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
CMakeLists.txt | 10 ----------
1 file changed, 10 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 92c50370..80999c98 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -25,13 +25,6 @@ if(LLVM_SPIRV_BUILD_EXTERNAL)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
- if(LLVM_SPIRV_INCLUDE_TESTS)
- set(LLVM_TEST_COMPONENTS
- llvm-as
- llvm-dis
- )
- endif(LLVM_SPIRV_INCLUDE_TESTS)
-
find_package(LLVM 10.0.0 REQUIRED
COMPONENTS
Analysis
@@ -63,9 +56,6 @@ set(LLVM_SPIRV_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include)
add_subdirectory(lib/SPIRV)
add_subdirectory(tools/llvm-spirv)
-if(LLVM_SPIRV_INCLUDE_TESTS)
- add_subdirectory(test)
-endif(LLVM_SPIRV_INCLUDE_TESTS)
install(
FILES
--
2.17.1

View File

@ -1,812 +0,0 @@
From 3f544cfe44ee5f113a3fb554aca2cf5d64996062 Mon Sep 17 00:00:00 2001
From: Naveen Saini <naveen.kumar.saini@intel.com>
Date: Wed, 7 Apr 2021 16:38:38 +0800
Subject: [PATCH 2/7] Add cl_khr_extended_subgroup extensions.
Added extensions and their function declarations into
the standard header.
Patch by Piotr Fusik!
Tags: #clang
Upstream-Status: Backport [https://github.com/llvm/llvm-project/commit/4a4402f0d72167477a6252e4c3daf5089ebc8f9a]
Signed-off-by: Anastasia Stulova <anastasia.stulova@arm.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
.../include/clang/Basic/OpenCLExtensions.def | 7 +
clang/lib/Headers/opencl-c.h | 668 ++++++++++++++++++
clang/test/SemaOpenCL/extension-version.cl | 83 +++
3 files changed, 758 insertions(+)
diff --git a/clang/include/clang/Basic/OpenCLExtensions.def b/clang/include/clang/Basic/OpenCLExtensions.def
index 608f78a13eef..d1574164f9b2 100644
--- a/clang/include/clang/Basic/OpenCLExtensions.def
+++ b/clang/include/clang/Basic/OpenCLExtensions.def
@@ -74,6 +74,13 @@ OPENCLEXT_INTERNAL(cl_khr_mipmap_image_writes, 200, ~0U)
OPENCLEXT_INTERNAL(cl_khr_srgb_image_writes, 200, ~0U)
OPENCLEXT_INTERNAL(cl_khr_subgroups, 200, ~0U)
OPENCLEXT_INTERNAL(cl_khr_terminate_context, 200, ~0U)
+OPENCLEXT_INTERNAL(cl_khr_subgroup_extended_types, 200, ~0U)
+OPENCLEXT_INTERNAL(cl_khr_subgroup_non_uniform_vote, 200, ~0U)
+OPENCLEXT_INTERNAL(cl_khr_subgroup_ballot, 200, ~0U)
+OPENCLEXT_INTERNAL(cl_khr_subgroup_non_uniform_arithmetic, 200, ~0U)
+OPENCLEXT_INTERNAL(cl_khr_subgroup_shuffle, 200, ~0U)
+OPENCLEXT_INTERNAL(cl_khr_subgroup_shuffle_relative, 200, ~0U)
+OPENCLEXT_INTERNAL(cl_khr_subgroup_clustered_reduce, 200, ~0U)
// Clang Extensions.
OPENCLEXT_INTERNAL(cl_clang_storage_class_specifiers, 100, ~0U)
diff --git a/clang/lib/Headers/opencl-c.h b/clang/lib/Headers/opencl-c.h
index 93a946cec5b1..67d900eb1c3d 100644
--- a/clang/lib/Headers/opencl-c.h
+++ b/clang/lib/Headers/opencl-c.h
@@ -17530,6 +17530,674 @@ double __ovld __conv sub_group_scan_inclusive_max(double x);
#endif //cl_khr_subgroups cl_intel_subgroups
+#if defined(cl_khr_subgroup_extended_types)
+char __ovld __conv sub_group_broadcast( char value, uint index );
+char2 __ovld __conv sub_group_broadcast( char2 value, uint index );
+char3 __ovld __conv sub_group_broadcast( char3 value, uint index );
+char4 __ovld __conv sub_group_broadcast( char4 value, uint index );
+char8 __ovld __conv sub_group_broadcast( char8 value, uint index );
+char16 __ovld __conv sub_group_broadcast( char16 value, uint index );
+
+uchar __ovld __conv sub_group_broadcast( uchar value, uint index );
+uchar2 __ovld __conv sub_group_broadcast( uchar2 value, uint index );
+uchar3 __ovld __conv sub_group_broadcast( uchar3 value, uint index );
+uchar4 __ovld __conv sub_group_broadcast( uchar4 value, uint index );
+uchar8 __ovld __conv sub_group_broadcast( uchar8 value, uint index );
+uchar16 __ovld __conv sub_group_broadcast( uchar16 value, uint index );
+
+short __ovld __conv sub_group_broadcast( short value, uint index );
+short2 __ovld __conv sub_group_broadcast( short2 value, uint index );
+short3 __ovld __conv sub_group_broadcast( short3 value, uint index );
+short4 __ovld __conv sub_group_broadcast( short4 value, uint index );
+short8 __ovld __conv sub_group_broadcast( short8 value, uint index );
+short16 __ovld __conv sub_group_broadcast( short16 value, uint index );
+
+ushort __ovld __conv sub_group_broadcast( ushort value, uint index );
+ushort2 __ovld __conv sub_group_broadcast( ushort2 value, uint index );
+ushort3 __ovld __conv sub_group_broadcast( ushort3 value, uint index );
+ushort4 __ovld __conv sub_group_broadcast( ushort4 value, uint index );
+ushort8 __ovld __conv sub_group_broadcast( ushort8 value, uint index );
+ushort16 __ovld __conv sub_group_broadcast( ushort16 value, uint index );
+
+// scalar int broadcast is part of cl_khr_subgroups
+int2 __ovld __conv sub_group_broadcast( int2 value, uint index );
+int3 __ovld __conv sub_group_broadcast( int3 value, uint index );
+int4 __ovld __conv sub_group_broadcast( int4 value, uint index );
+int8 __ovld __conv sub_group_broadcast( int8 value, uint index );
+int16 __ovld __conv sub_group_broadcast( int16 value, uint index );
+
+// scalar uint broadcast is part of cl_khr_subgroups
+uint2 __ovld __conv sub_group_broadcast( uint2 value, uint index );
+uint3 __ovld __conv sub_group_broadcast( uint3 value, uint index );
+uint4 __ovld __conv sub_group_broadcast( uint4 value, uint index );
+uint8 __ovld __conv sub_group_broadcast( uint8 value, uint index );
+uint16 __ovld __conv sub_group_broadcast( uint16 value, uint index );
+
+// scalar long broadcast is part of cl_khr_subgroups
+long2 __ovld __conv sub_group_broadcast( long2 value, uint index );
+long3 __ovld __conv sub_group_broadcast( long3 value, uint index );
+long4 __ovld __conv sub_group_broadcast( long4 value, uint index );
+long8 __ovld __conv sub_group_broadcast( long8 value, uint index );
+long16 __ovld __conv sub_group_broadcast( long16 value, uint index );
+
+// scalar ulong broadcast is part of cl_khr_subgroups
+ulong2 __ovld __conv sub_group_broadcast( ulong2 value, uint index );
+ulong3 __ovld __conv sub_group_broadcast( ulong3 value, uint index );
+ulong4 __ovld __conv sub_group_broadcast( ulong4 value, uint index );
+ulong8 __ovld __conv sub_group_broadcast( ulong8 value, uint index );
+ulong16 __ovld __conv sub_group_broadcast( ulong16 value, uint index );
+
+// scalar float broadcast is part of cl_khr_subgroups
+float2 __ovld __conv sub_group_broadcast( float2 value, uint index );
+float3 __ovld __conv sub_group_broadcast( float3 value, uint index );
+float4 __ovld __conv sub_group_broadcast( float4 value, uint index );
+float8 __ovld __conv sub_group_broadcast( float8 value, uint index );
+float16 __ovld __conv sub_group_broadcast( float16 value, uint index );
+
+char __ovld __conv sub_group_reduce_add( char value );
+uchar __ovld __conv sub_group_reduce_add( uchar value );
+short __ovld __conv sub_group_reduce_add( short value );
+ushort __ovld __conv sub_group_reduce_add( ushort value );
+
+char __ovld __conv sub_group_reduce_min( char value );
+uchar __ovld __conv sub_group_reduce_min( uchar value );
+short __ovld __conv sub_group_reduce_min( short value );
+ushort __ovld __conv sub_group_reduce_min( ushort value );
+
+char __ovld __conv sub_group_reduce_max( char value );
+uchar __ovld __conv sub_group_reduce_max( uchar value );
+short __ovld __conv sub_group_reduce_max( short value );
+ushort __ovld __conv sub_group_reduce_max( ushort value );
+
+char __ovld __conv sub_group_scan_inclusive_add( char value );
+uchar __ovld __conv sub_group_scan_inclusive_add( uchar value );
+short __ovld __conv sub_group_scan_inclusive_add( short value );
+ushort __ovld __conv sub_group_scan_inclusive_add( ushort value );
+
+char __ovld __conv sub_group_scan_inclusive_min( char value );
+uchar __ovld __conv sub_group_scan_inclusive_min( uchar value );
+short __ovld __conv sub_group_scan_inclusive_min( short value );
+ushort __ovld __conv sub_group_scan_inclusive_min( ushort value );
+
+char __ovld __conv sub_group_scan_inclusive_max( char value );
+uchar __ovld __conv sub_group_scan_inclusive_max( uchar value );
+short __ovld __conv sub_group_scan_inclusive_max( short value );
+ushort __ovld __conv sub_group_scan_inclusive_max( ushort value );
+
+char __ovld __conv sub_group_scan_exclusive_add( char value );
+uchar __ovld __conv sub_group_scan_exclusive_add( uchar value );
+short __ovld __conv sub_group_scan_exclusive_add( short value );
+ushort __ovld __conv sub_group_scan_exclusive_add( ushort value );
+
+char __ovld __conv sub_group_scan_exclusive_min( char value );
+uchar __ovld __conv sub_group_scan_exclusive_min( uchar value );
+short __ovld __conv sub_group_scan_exclusive_min( short value );
+ushort __ovld __conv sub_group_scan_exclusive_min( ushort value );
+
+char __ovld __conv sub_group_scan_exclusive_max( char value );
+uchar __ovld __conv sub_group_scan_exclusive_max( uchar value );
+short __ovld __conv sub_group_scan_exclusive_max( short value );
+ushort __ovld __conv sub_group_scan_exclusive_max( ushort value );
+
+#if defined(cl_khr_fp16)
+// scalar half broadcast is part of cl_khr_subgroups
+half2 __ovld __conv sub_group_broadcast( half2 value, uint index );
+half3 __ovld __conv sub_group_broadcast( half3 value, uint index );
+half4 __ovld __conv sub_group_broadcast( half4 value, uint index );
+half8 __ovld __conv sub_group_broadcast( half8 value, uint index );
+half16 __ovld __conv sub_group_broadcast( half16 value, uint index );
+#endif // cl_khr_fp16
+
+#if defined(cl_khr_fp64)
+// scalar double broadcast is part of cl_khr_subgroups
+double2 __ovld __conv sub_group_broadcast( double2 value, uint index );
+double3 __ovld __conv sub_group_broadcast( double3 value, uint index );
+double4 __ovld __conv sub_group_broadcast( double4 value, uint index );
+double8 __ovld __conv sub_group_broadcast( double8 value, uint index );
+double16 __ovld __conv sub_group_broadcast( double16 value, uint index );
+#endif // cl_khr_fp64
+
+#endif // cl_khr_subgroup_extended_types
+
+#if defined(cl_khr_subgroup_non_uniform_vote)
+int __ovld sub_group_elect(void);
+int __ovld sub_group_non_uniform_all( int predicate );
+int __ovld sub_group_non_uniform_any( int predicate );
+
+int __ovld sub_group_non_uniform_all_equal( char value );
+int __ovld sub_group_non_uniform_all_equal( uchar value );
+int __ovld sub_group_non_uniform_all_equal( short value );
+int __ovld sub_group_non_uniform_all_equal( ushort value );
+int __ovld sub_group_non_uniform_all_equal( int value );
+int __ovld sub_group_non_uniform_all_equal( uint value );
+int __ovld sub_group_non_uniform_all_equal( long value );
+int __ovld sub_group_non_uniform_all_equal( ulong value );
+int __ovld sub_group_non_uniform_all_equal( float value );
+
+#if defined(cl_khr_fp16)
+int __ovld sub_group_non_uniform_all_equal( half value );
+#endif // cl_khr_fp16
+
+#if defined(cl_khr_fp64)
+int __ovld sub_group_non_uniform_all_equal( double value );
+#endif // cl_khr_fp64
+
+#endif // cl_khr_subgroup_non_uniform_vote
+
+#if defined(cl_khr_subgroup_ballot)
+char __ovld sub_group_non_uniform_broadcast( char value, uint index );
+char2 __ovld sub_group_non_uniform_broadcast( char2 value, uint index );
+char3 __ovld sub_group_non_uniform_broadcast( char3 value, uint index );
+char4 __ovld sub_group_non_uniform_broadcast( char4 value, uint index );
+char8 __ovld sub_group_non_uniform_broadcast( char8 value, uint index );
+char16 __ovld sub_group_non_uniform_broadcast( char16 value, uint index );
+
+uchar __ovld sub_group_non_uniform_broadcast( uchar value, uint index );
+uchar2 __ovld sub_group_non_uniform_broadcast( uchar2 value, uint index );
+uchar3 __ovld sub_group_non_uniform_broadcast( uchar3 value, uint index );
+uchar4 __ovld sub_group_non_uniform_broadcast( uchar4 value, uint index );
+uchar8 __ovld sub_group_non_uniform_broadcast( uchar8 value, uint index );
+uchar16 __ovld sub_group_non_uniform_broadcast( uchar16 value, uint index );
+
+short __ovld sub_group_non_uniform_broadcast( short value, uint index );
+short2 __ovld sub_group_non_uniform_broadcast( short2 value, uint index );
+short3 __ovld sub_group_non_uniform_broadcast( short3 value, uint index );
+short4 __ovld sub_group_non_uniform_broadcast( short4 value, uint index );
+short8 __ovld sub_group_non_uniform_broadcast( short8 value, uint index );
+short16 __ovld sub_group_non_uniform_broadcast( short16 value, uint index );
+
+ushort __ovld sub_group_non_uniform_broadcast( ushort value, uint index );
+ushort2 __ovld sub_group_non_uniform_broadcast( ushort2 value, uint index );
+ushort3 __ovld sub_group_non_uniform_broadcast( ushort3 value, uint index );
+ushort4 __ovld sub_group_non_uniform_broadcast( ushort4 value, uint index );
+ushort8 __ovld sub_group_non_uniform_broadcast( ushort8 value, uint index );
+ushort16 __ovld sub_group_non_uniform_broadcast( ushort16 value, uint index );
+
+int __ovld sub_group_non_uniform_broadcast( int value, uint index );
+int2 __ovld sub_group_non_uniform_broadcast( int2 value, uint index );
+int3 __ovld sub_group_non_uniform_broadcast( int3 value, uint index );
+int4 __ovld sub_group_non_uniform_broadcast( int4 value, uint index );
+int8 __ovld sub_group_non_uniform_broadcast( int8 value, uint index );
+int16 __ovld sub_group_non_uniform_broadcast( int16 value, uint index );
+
+uint __ovld sub_group_non_uniform_broadcast( uint value, uint index );
+uint2 __ovld sub_group_non_uniform_broadcast( uint2 value, uint index );
+uint3 __ovld sub_group_non_uniform_broadcast( uint3 value, uint index );
+uint4 __ovld sub_group_non_uniform_broadcast( uint4 value, uint index );
+uint8 __ovld sub_group_non_uniform_broadcast( uint8 value, uint index );
+uint16 __ovld sub_group_non_uniform_broadcast( uint16 value, uint index );
+
+long __ovld sub_group_non_uniform_broadcast( long value, uint index );
+long2 __ovld sub_group_non_uniform_broadcast( long2 value, uint index );
+long3 __ovld sub_group_non_uniform_broadcast( long3 value, uint index );
+long4 __ovld sub_group_non_uniform_broadcast( long4 value, uint index );
+long8 __ovld sub_group_non_uniform_broadcast( long8 value, uint index );
+long16 __ovld sub_group_non_uniform_broadcast( long16 value, uint index );
+
+ulong __ovld sub_group_non_uniform_broadcast( ulong value, uint index );
+ulong2 __ovld sub_group_non_uniform_broadcast( ulong2 value, uint index );
+ulong3 __ovld sub_group_non_uniform_broadcast( ulong3 value, uint index );
+ulong4 __ovld sub_group_non_uniform_broadcast( ulong4 value, uint index );
+ulong8 __ovld sub_group_non_uniform_broadcast( ulong8 value, uint index );
+ulong16 __ovld sub_group_non_uniform_broadcast( ulong16 value, uint index );
+
+float __ovld sub_group_non_uniform_broadcast( float value, uint index );
+float2 __ovld sub_group_non_uniform_broadcast( float2 value, uint index );
+float3 __ovld sub_group_non_uniform_broadcast( float3 value, uint index );
+float4 __ovld sub_group_non_uniform_broadcast( float4 value, uint index );
+float8 __ovld sub_group_non_uniform_broadcast( float8 value, uint index );
+float16 __ovld sub_group_non_uniform_broadcast( float16 value, uint index );
+
+char __ovld sub_group_broadcast_first( char value );
+uchar __ovld sub_group_broadcast_first( uchar value );
+short __ovld sub_group_broadcast_first( short value );
+ushort __ovld sub_group_broadcast_first( ushort value );
+int __ovld sub_group_broadcast_first( int value );
+uint __ovld sub_group_broadcast_first( uint value );
+long __ovld sub_group_broadcast_first( long value );
+ulong __ovld sub_group_broadcast_first( ulong value );
+float __ovld sub_group_broadcast_first( float value );
+
+uint4 __ovld sub_group_ballot( int predicate );
+int __ovld __cnfn sub_group_inverse_ballot( uint4 value );
+int __ovld __cnfn sub_group_ballot_bit_extract( uint4 value, uint index );
+uint __ovld __cnfn sub_group_ballot_bit_count( uint4 value );
+
+uint __ovld sub_group_ballot_inclusive_scan( uint4 value );
+uint __ovld sub_group_ballot_exclusive_scan( uint4 value );
+uint __ovld sub_group_ballot_find_lsb( uint4 value );
+uint __ovld sub_group_ballot_find_msb( uint4 value );
+
+uint4 __ovld __cnfn get_sub_group_eq_mask(void);
+uint4 __ovld __cnfn get_sub_group_ge_mask(void);
+uint4 __ovld __cnfn get_sub_group_gt_mask(void);
+uint4 __ovld __cnfn get_sub_group_le_mask(void);
+uint4 __ovld __cnfn get_sub_group_lt_mask(void);
+
+#if defined(cl_khr_fp16)
+half __ovld sub_group_non_uniform_broadcast( half value, uint index );
+half2 __ovld sub_group_non_uniform_broadcast( half2 value, uint index );
+half3 __ovld sub_group_non_uniform_broadcast( half3 value, uint index );
+half4 __ovld sub_group_non_uniform_broadcast( half4 value, uint index );
+half8 __ovld sub_group_non_uniform_broadcast( half8 value, uint index );
+half16 __ovld sub_group_non_uniform_broadcast( half16 value, uint index );
+
+half __ovld sub_group_broadcast_first( half value );
+#endif // cl_khr_fp16
+
+#if defined(cl_khr_fp64)
+double __ovld sub_group_non_uniform_broadcast( double value, uint index );
+double2 __ovld sub_group_non_uniform_broadcast( double2 value, uint index );
+double3 __ovld sub_group_non_uniform_broadcast( double3 value, uint index );
+double4 __ovld sub_group_non_uniform_broadcast( double4 value, uint index );
+double8 __ovld sub_group_non_uniform_broadcast( double8 value, uint index );
+double16 __ovld sub_group_non_uniform_broadcast( double16 value, uint index );
+
+double __ovld sub_group_broadcast_first( double value );
+#endif // cl_khr_fp64
+
+#endif // cl_khr_subgroup_ballot
+
+#if defined(cl_khr_subgroup_non_uniform_arithmetic)
+char __ovld sub_group_non_uniform_reduce_add( char value );
+uchar __ovld sub_group_non_uniform_reduce_add( uchar value );
+short __ovld sub_group_non_uniform_reduce_add( short value );
+ushort __ovld sub_group_non_uniform_reduce_add( ushort value );
+int __ovld sub_group_non_uniform_reduce_add( int value );
+uint __ovld sub_group_non_uniform_reduce_add( uint value );
+long __ovld sub_group_non_uniform_reduce_add( long value );
+ulong __ovld sub_group_non_uniform_reduce_add( ulong value );
+float __ovld sub_group_non_uniform_reduce_add( float value );
+
+char __ovld sub_group_non_uniform_reduce_mul( char value );
+uchar __ovld sub_group_non_uniform_reduce_mul( uchar value );
+short __ovld sub_group_non_uniform_reduce_mul( short value );
+ushort __ovld sub_group_non_uniform_reduce_mul( ushort value );
+int __ovld sub_group_non_uniform_reduce_mul( int value );
+uint __ovld sub_group_non_uniform_reduce_mul( uint value );
+long __ovld sub_group_non_uniform_reduce_mul( long value );
+ulong __ovld sub_group_non_uniform_reduce_mul( ulong value );
+float __ovld sub_group_non_uniform_reduce_mul( float value );
+
+char __ovld sub_group_non_uniform_reduce_min( char value );
+uchar __ovld sub_group_non_uniform_reduce_min( uchar value );
+short __ovld sub_group_non_uniform_reduce_min( short value );
+ushort __ovld sub_group_non_uniform_reduce_min( ushort value );
+int __ovld sub_group_non_uniform_reduce_min( int value );
+uint __ovld sub_group_non_uniform_reduce_min( uint value );
+long __ovld sub_group_non_uniform_reduce_min( long value );
+ulong __ovld sub_group_non_uniform_reduce_min( ulong value );
+float __ovld sub_group_non_uniform_reduce_min( float value );
+
+char __ovld sub_group_non_uniform_reduce_max( char value );
+uchar __ovld sub_group_non_uniform_reduce_max( uchar value );
+short __ovld sub_group_non_uniform_reduce_max( short value );
+ushort __ovld sub_group_non_uniform_reduce_max( ushort value );
+int __ovld sub_group_non_uniform_reduce_max( int value );
+uint __ovld sub_group_non_uniform_reduce_max( uint value );
+long __ovld sub_group_non_uniform_reduce_max( long value );
+ulong __ovld sub_group_non_uniform_reduce_max( ulong value );
+float __ovld sub_group_non_uniform_reduce_max( float value );
+
+char __ovld sub_group_non_uniform_scan_inclusive_add( char value );
+uchar __ovld sub_group_non_uniform_scan_inclusive_add( uchar value );
+short __ovld sub_group_non_uniform_scan_inclusive_add( short value );
+ushort __ovld sub_group_non_uniform_scan_inclusive_add( ushort value );
+int __ovld sub_group_non_uniform_scan_inclusive_add( int value );
+uint __ovld sub_group_non_uniform_scan_inclusive_add( uint value );
+long __ovld sub_group_non_uniform_scan_inclusive_add( long value );
+ulong __ovld sub_group_non_uniform_scan_inclusive_add( ulong value );
+float __ovld sub_group_non_uniform_scan_inclusive_add( float value );
+
+char __ovld sub_group_non_uniform_scan_inclusive_mul( char value );
+uchar __ovld sub_group_non_uniform_scan_inclusive_mul( uchar value );
+short __ovld sub_group_non_uniform_scan_inclusive_mul( short value );
+ushort __ovld sub_group_non_uniform_scan_inclusive_mul( ushort value );
+int __ovld sub_group_non_uniform_scan_inclusive_mul( int value );
+uint __ovld sub_group_non_uniform_scan_inclusive_mul( uint value );
+long __ovld sub_group_non_uniform_scan_inclusive_mul( long value );
+ulong __ovld sub_group_non_uniform_scan_inclusive_mul( ulong value );
+float __ovld sub_group_non_uniform_scan_inclusive_mul( float value );
+
+char __ovld sub_group_non_uniform_scan_inclusive_min( char value );
+uchar __ovld sub_group_non_uniform_scan_inclusive_min( uchar value );
+short __ovld sub_group_non_uniform_scan_inclusive_min( short value );
+ushort __ovld sub_group_non_uniform_scan_inclusive_min( ushort value );
+int __ovld sub_group_non_uniform_scan_inclusive_min( int value );
+uint __ovld sub_group_non_uniform_scan_inclusive_min( uint value );
+long __ovld sub_group_non_uniform_scan_inclusive_min( long value );
+ulong __ovld sub_group_non_uniform_scan_inclusive_min( ulong value );
+float __ovld sub_group_non_uniform_scan_inclusive_min( float value );
+
+char __ovld sub_group_non_uniform_scan_inclusive_max( char value );
+uchar __ovld sub_group_non_uniform_scan_inclusive_max( uchar value );
+short __ovld sub_group_non_uniform_scan_inclusive_max( short value );
+ushort __ovld sub_group_non_uniform_scan_inclusive_max( ushort value );
+int __ovld sub_group_non_uniform_scan_inclusive_max( int value );
+uint __ovld sub_group_non_uniform_scan_inclusive_max( uint value );
+long __ovld sub_group_non_uniform_scan_inclusive_max( long value );
+ulong __ovld sub_group_non_uniform_scan_inclusive_max( ulong value );
+float __ovld sub_group_non_uniform_scan_inclusive_max( float value );
+
+char __ovld sub_group_non_uniform_scan_exclusive_add( char value );
+uchar __ovld sub_group_non_uniform_scan_exclusive_add( uchar value );
+short __ovld sub_group_non_uniform_scan_exclusive_add( short value );
+ushort __ovld sub_group_non_uniform_scan_exclusive_add( ushort value );
+int __ovld sub_group_non_uniform_scan_exclusive_add( int value );
+uint __ovld sub_group_non_uniform_scan_exclusive_add( uint value );
+long __ovld sub_group_non_uniform_scan_exclusive_add( long value );
+ulong __ovld sub_group_non_uniform_scan_exclusive_add( ulong value );
+float __ovld sub_group_non_uniform_scan_exclusive_add( float value );
+
+char __ovld sub_group_non_uniform_scan_exclusive_mul( char value );
+uchar __ovld sub_group_non_uniform_scan_exclusive_mul( uchar value );
+short __ovld sub_group_non_uniform_scan_exclusive_mul( short value );
+ushort __ovld sub_group_non_uniform_scan_exclusive_mul( ushort value );
+int __ovld sub_group_non_uniform_scan_exclusive_mul( int value );
+uint __ovld sub_group_non_uniform_scan_exclusive_mul( uint value );
+long __ovld sub_group_non_uniform_scan_exclusive_mul( long value );
+ulong __ovld sub_group_non_uniform_scan_exclusive_mul( ulong value );
+float __ovld sub_group_non_uniform_scan_exclusive_mul( float value );
+
+char __ovld sub_group_non_uniform_scan_exclusive_min( char value );
+uchar __ovld sub_group_non_uniform_scan_exclusive_min( uchar value );
+short __ovld sub_group_non_uniform_scan_exclusive_min( short value );
+ushort __ovld sub_group_non_uniform_scan_exclusive_min( ushort value );
+int __ovld sub_group_non_uniform_scan_exclusive_min( int value );
+uint __ovld sub_group_non_uniform_scan_exclusive_min( uint value );
+long __ovld sub_group_non_uniform_scan_exclusive_min( long value );
+ulong __ovld sub_group_non_uniform_scan_exclusive_min( ulong value );
+float __ovld sub_group_non_uniform_scan_exclusive_min( float value );
+
+char __ovld sub_group_non_uniform_scan_exclusive_max( char value );
+uchar __ovld sub_group_non_uniform_scan_exclusive_max( uchar value );
+short __ovld sub_group_non_uniform_scan_exclusive_max( short value );
+ushort __ovld sub_group_non_uniform_scan_exclusive_max( ushort value );
+int __ovld sub_group_non_uniform_scan_exclusive_max( int value );
+uint __ovld sub_group_non_uniform_scan_exclusive_max( uint value );
+long __ovld sub_group_non_uniform_scan_exclusive_max( long value );
+ulong __ovld sub_group_non_uniform_scan_exclusive_max( ulong value );
+float __ovld sub_group_non_uniform_scan_exclusive_max( float value );
+
+char __ovld sub_group_non_uniform_reduce_and( char value );
+uchar __ovld sub_group_non_uniform_reduce_and( uchar value );
+short __ovld sub_group_non_uniform_reduce_and( short value );
+ushort __ovld sub_group_non_uniform_reduce_and( ushort value );
+int __ovld sub_group_non_uniform_reduce_and( int value );
+uint __ovld sub_group_non_uniform_reduce_and( uint value );
+long __ovld sub_group_non_uniform_reduce_and( long value );
+ulong __ovld sub_group_non_uniform_reduce_and( ulong value );
+
+char __ovld sub_group_non_uniform_reduce_or( char value );
+uchar __ovld sub_group_non_uniform_reduce_or( uchar value );
+short __ovld sub_group_non_uniform_reduce_or( short value );
+ushort __ovld sub_group_non_uniform_reduce_or( ushort value );
+int __ovld sub_group_non_uniform_reduce_or( int value );
+uint __ovld sub_group_non_uniform_reduce_or( uint value );
+long __ovld sub_group_non_uniform_reduce_or( long value );
+ulong __ovld sub_group_non_uniform_reduce_or( ulong value );
+
+char __ovld sub_group_non_uniform_reduce_xor( char value );
+uchar __ovld sub_group_non_uniform_reduce_xor( uchar value );
+short __ovld sub_group_non_uniform_reduce_xor( short value );
+ushort __ovld sub_group_non_uniform_reduce_xor( ushort value );
+int __ovld sub_group_non_uniform_reduce_xor( int value );
+uint __ovld sub_group_non_uniform_reduce_xor( uint value );
+long __ovld sub_group_non_uniform_reduce_xor( long value );
+ulong __ovld sub_group_non_uniform_reduce_xor( ulong value );
+
+char __ovld sub_group_non_uniform_scan_inclusive_and( char value );
+uchar __ovld sub_group_non_uniform_scan_inclusive_and( uchar value );
+short __ovld sub_group_non_uniform_scan_inclusive_and( short value );
+ushort __ovld sub_group_non_uniform_scan_inclusive_and( ushort value );
+int __ovld sub_group_non_uniform_scan_inclusive_and( int value );
+uint __ovld sub_group_non_uniform_scan_inclusive_and( uint value );
+long __ovld sub_group_non_uniform_scan_inclusive_and( long value );
+ulong __ovld sub_group_non_uniform_scan_inclusive_and( ulong value );
+
+char __ovld sub_group_non_uniform_scan_inclusive_or( char value );
+uchar __ovld sub_group_non_uniform_scan_inclusive_or( uchar value );
+short __ovld sub_group_non_uniform_scan_inclusive_or( short value );
+ushort __ovld sub_group_non_uniform_scan_inclusive_or( ushort value );
+int __ovld sub_group_non_uniform_scan_inclusive_or( int value );
+uint __ovld sub_group_non_uniform_scan_inclusive_or( uint value );
+long __ovld sub_group_non_uniform_scan_inclusive_or( long value );
+ulong __ovld sub_group_non_uniform_scan_inclusive_or( ulong value );
+
+char __ovld sub_group_non_uniform_scan_inclusive_xor( char value );
+uchar __ovld sub_group_non_uniform_scan_inclusive_xor( uchar value );
+short __ovld sub_group_non_uniform_scan_inclusive_xor( short value );
+ushort __ovld sub_group_non_uniform_scan_inclusive_xor( ushort value );
+int __ovld sub_group_non_uniform_scan_inclusive_xor( int value );
+uint __ovld sub_group_non_uniform_scan_inclusive_xor( uint value );
+long __ovld sub_group_non_uniform_scan_inclusive_xor( long value );
+ulong __ovld sub_group_non_uniform_scan_inclusive_xor( ulong value );
+
+char __ovld sub_group_non_uniform_scan_exclusive_and( char value );
+uchar __ovld sub_group_non_uniform_scan_exclusive_and( uchar value );
+short __ovld sub_group_non_uniform_scan_exclusive_and( short value );
+ushort __ovld sub_group_non_uniform_scan_exclusive_and( ushort value );
+int __ovld sub_group_non_uniform_scan_exclusive_and( int value );
+uint __ovld sub_group_non_uniform_scan_exclusive_and( uint value );
+long __ovld sub_group_non_uniform_scan_exclusive_and( long value );
+ulong __ovld sub_group_non_uniform_scan_exclusive_and( ulong value );
+
+char __ovld sub_group_non_uniform_scan_exclusive_or( char value );
+uchar __ovld sub_group_non_uniform_scan_exclusive_or( uchar value );
+short __ovld sub_group_non_uniform_scan_exclusive_or( short value );
+ushort __ovld sub_group_non_uniform_scan_exclusive_or( ushort value );
+int __ovld sub_group_non_uniform_scan_exclusive_or( int value );
+uint __ovld sub_group_non_uniform_scan_exclusive_or( uint value );
+long __ovld sub_group_non_uniform_scan_exclusive_or( long value );
+ulong __ovld sub_group_non_uniform_scan_exclusive_or( ulong value );
+
+char __ovld sub_group_non_uniform_scan_exclusive_xor( char value );
+uchar __ovld sub_group_non_uniform_scan_exclusive_xor( uchar value );
+short __ovld sub_group_non_uniform_scan_exclusive_xor( short value );
+ushort __ovld sub_group_non_uniform_scan_exclusive_xor( ushort value );
+int __ovld sub_group_non_uniform_scan_exclusive_xor( int value );
+uint __ovld sub_group_non_uniform_scan_exclusive_xor( uint value );
+long __ovld sub_group_non_uniform_scan_exclusive_xor( long value );
+ulong __ovld sub_group_non_uniform_scan_exclusive_xor( ulong value );
+
+int __ovld sub_group_non_uniform_reduce_logical_and( int predicate );
+int __ovld sub_group_non_uniform_reduce_logical_or( int predicate );
+int __ovld sub_group_non_uniform_reduce_logical_xor( int predicate );
+
+int __ovld sub_group_non_uniform_scan_inclusive_logical_and( int predicate );
+int __ovld sub_group_non_uniform_scan_inclusive_logical_or( int predicate );
+int __ovld sub_group_non_uniform_scan_inclusive_logical_xor( int predicate );
+
+int __ovld sub_group_non_uniform_scan_exclusive_logical_and( int predicate );
+int __ovld sub_group_non_uniform_scan_exclusive_logical_or( int predicate );
+int __ovld sub_group_non_uniform_scan_exclusive_logical_xor( int predicate );
+
+#if defined(cl_khr_fp16)
+half __ovld sub_group_non_uniform_reduce_add( half value );
+half __ovld sub_group_non_uniform_reduce_mul( half value );
+half __ovld sub_group_non_uniform_reduce_min( half value );
+half __ovld sub_group_non_uniform_reduce_max( half value );
+half __ovld sub_group_non_uniform_scan_inclusive_add( half value );
+half __ovld sub_group_non_uniform_scan_inclusive_mul( half value );
+half __ovld sub_group_non_uniform_scan_inclusive_min( half value );
+half __ovld sub_group_non_uniform_scan_inclusive_max( half value );
+half __ovld sub_group_non_uniform_scan_exclusive_add( half value );
+half __ovld sub_group_non_uniform_scan_exclusive_mul( half value );
+half __ovld sub_group_non_uniform_scan_exclusive_min( half value );
+half __ovld sub_group_non_uniform_scan_exclusive_max( half value );
+#endif // cl_khr_fp16
+
+#if defined(cl_khr_fp64)
+double __ovld sub_group_non_uniform_reduce_add( double value );
+double __ovld sub_group_non_uniform_reduce_mul( double value );
+double __ovld sub_group_non_uniform_reduce_min( double value );
+double __ovld sub_group_non_uniform_reduce_max( double value );
+double __ovld sub_group_non_uniform_scan_inclusive_add( double value );
+double __ovld sub_group_non_uniform_scan_inclusive_mul( double value );
+double __ovld sub_group_non_uniform_scan_inclusive_min( double value );
+double __ovld sub_group_non_uniform_scan_inclusive_max( double value );
+double __ovld sub_group_non_uniform_scan_exclusive_add( double value );
+double __ovld sub_group_non_uniform_scan_exclusive_mul( double value );
+double __ovld sub_group_non_uniform_scan_exclusive_min( double value );
+double __ovld sub_group_non_uniform_scan_exclusive_max( double value );
+#endif // cl_khr_fp64
+
+#endif // cl_khr_subgroup_non_uniform_arithmetic
+
+#if defined(cl_khr_subgroup_shuffle)
+char __ovld sub_group_shuffle( char value, uint index );
+uchar __ovld sub_group_shuffle( uchar value, uint index );
+short __ovld sub_group_shuffle( short value, uint index );
+ushort __ovld sub_group_shuffle( ushort value, uint index );
+int __ovld sub_group_shuffle( int value, uint index );
+uint __ovld sub_group_shuffle( uint value, uint index );
+long __ovld sub_group_shuffle( long value, uint index );
+ulong __ovld sub_group_shuffle( ulong value, uint index );
+float __ovld sub_group_shuffle( float value, uint index );
+
+char __ovld sub_group_shuffle_xor( char value, uint mask );
+uchar __ovld sub_group_shuffle_xor( uchar value, uint mask );
+short __ovld sub_group_shuffle_xor( short value, uint mask );
+ushort __ovld sub_group_shuffle_xor( ushort value, uint mask );
+int __ovld sub_group_shuffle_xor( int value, uint mask );
+uint __ovld sub_group_shuffle_xor( uint value, uint mask );
+long __ovld sub_group_shuffle_xor( long value, uint mask );
+ulong __ovld sub_group_shuffle_xor( ulong value, uint mask );
+float __ovld sub_group_shuffle_xor( float value, uint mask );
+
+#if defined(cl_khr_fp16)
+half __ovld sub_group_shuffle( half value, uint index );
+half __ovld sub_group_shuffle_xor( half value, uint mask );
+#endif // cl_khr_fp16
+
+#if defined(cl_khr_fp64)
+double __ovld sub_group_shuffle( double value, uint index );
+double __ovld sub_group_shuffle_xor( double value, uint mask );
+#endif // cl_khr_fp64
+
+#endif // cl_khr_subgroup_shuffle
+
+#if defined(cl_khr_subgroup_shuffle_relative)
+char __ovld sub_group_shuffle_up( char value, uint delta );
+uchar __ovld sub_group_shuffle_up( uchar value, uint delta );
+short __ovld sub_group_shuffle_up( short value, uint delta );
+ushort __ovld sub_group_shuffle_up( ushort value, uint delta );
+int __ovld sub_group_shuffle_up( int value, uint delta );
+uint __ovld sub_group_shuffle_up( uint value, uint delta );
+long __ovld sub_group_shuffle_up( long value, uint delta );
+ulong __ovld sub_group_shuffle_up( ulong value, uint delta );
+float __ovld sub_group_shuffle_up( float value, uint delta );
+
+char __ovld sub_group_shuffle_down( char value, uint delta );
+uchar __ovld sub_group_shuffle_down( uchar value, uint delta );
+short __ovld sub_group_shuffle_down( short value, uint delta );
+ushort __ovld sub_group_shuffle_down( ushort value, uint delta );
+int __ovld sub_group_shuffle_down( int value, uint delta );
+uint __ovld sub_group_shuffle_down( uint value, uint delta );
+long __ovld sub_group_shuffle_down( long value, uint delta );
+ulong __ovld sub_group_shuffle_down( ulong value, uint delta );
+float __ovld sub_group_shuffle_down( float value, uint delta );
+
+#if defined(cl_khr_fp16)
+half __ovld sub_group_shuffle_up( half value, uint delta );
+half __ovld sub_group_shuffle_down( half value, uint delta );
+#endif // cl_khr_fp16
+
+#if defined(cl_khr_fp64)
+double __ovld sub_group_shuffle_up( double value, uint delta );
+double __ovld sub_group_shuffle_down( double value, uint delta );
+#endif // cl_khr_fp64
+
+#endif // cl_khr_subgroup_shuffle_relative
+
+#if defined(cl_khr_subgroup_clustered_reduce)
+char __ovld sub_group_clustered_reduce_add( char value, uint clustersize );
+uchar __ovld sub_group_clustered_reduce_add( uchar value, uint clustersize );
+short __ovld sub_group_clustered_reduce_add( short value, uint clustersize );
+ushort __ovld sub_group_clustered_reduce_add( ushort value, uint clustersize );
+int __ovld sub_group_clustered_reduce_add( int value, uint clustersize );
+uint __ovld sub_group_clustered_reduce_add( uint value, uint clustersize );
+long __ovld sub_group_clustered_reduce_add( long value, uint clustersize );
+ulong __ovld sub_group_clustered_reduce_add( ulong value, uint clustersize );
+float __ovld sub_group_clustered_reduce_add( float value, uint clustersize );
+
+char __ovld sub_group_clustered_reduce_mul( char value, uint clustersize );
+uchar __ovld sub_group_clustered_reduce_mul( uchar value, uint clustersize );
+short __ovld sub_group_clustered_reduce_mul( short value, uint clustersize );
+ushort __ovld sub_group_clustered_reduce_mul( ushort value, uint clustersize );
+int __ovld sub_group_clustered_reduce_mul( int value, uint clustersize );
+uint __ovld sub_group_clustered_reduce_mul( uint value, uint clustersize );
+long __ovld sub_group_clustered_reduce_mul( long value, uint clustersize );
+ulong __ovld sub_group_clustered_reduce_mul( ulong value, uint clustersize );
+float __ovld sub_group_clustered_reduce_mul( float value, uint clustersize );
+
+char __ovld sub_group_clustered_reduce_min( char value, uint clustersize );
+uchar __ovld sub_group_clustered_reduce_min( uchar value, uint clustersize );
+short __ovld sub_group_clustered_reduce_min( short value, uint clustersize );
+ushort __ovld sub_group_clustered_reduce_min( ushort value, uint clustersize );
+int __ovld sub_group_clustered_reduce_min( int value, uint clustersize );
+uint __ovld sub_group_clustered_reduce_min( uint value, uint clustersize );
+long __ovld sub_group_clustered_reduce_min( long value, uint clustersize );
+ulong __ovld sub_group_clustered_reduce_min( ulong value, uint clustersize );
+float __ovld sub_group_clustered_reduce_min( float value, uint clustersize );
+
+char __ovld sub_group_clustered_reduce_max( char value, uint clustersize );
+uchar __ovld sub_group_clustered_reduce_max( uchar value, uint clustersize );
+short __ovld sub_group_clustered_reduce_max( short value, uint clustersize );
+ushort __ovld sub_group_clustered_reduce_max( ushort value, uint clustersize );
+int __ovld sub_group_clustered_reduce_max( int value, uint clustersize );
+uint __ovld sub_group_clustered_reduce_max( uint value, uint clustersize );
+long __ovld sub_group_clustered_reduce_max( long value, uint clustersize );
+ulong __ovld sub_group_clustered_reduce_max( ulong value, uint clustersize );
+float __ovld sub_group_clustered_reduce_max( float value, uint clustersize );
+
+char __ovld sub_group_clustered_reduce_and( char value, uint clustersize );
+uchar __ovld sub_group_clustered_reduce_and( uchar value, uint clustersize );
+short __ovld sub_group_clustered_reduce_and( short value, uint clustersize );
+ushort __ovld sub_group_clustered_reduce_and( ushort value, uint clustersize );
+int __ovld sub_group_clustered_reduce_and( int value, uint clustersize );
+uint __ovld sub_group_clustered_reduce_and( uint value, uint clustersize );
+long __ovld sub_group_clustered_reduce_and( long value, uint clustersize );
+ulong __ovld sub_group_clustered_reduce_and( ulong value, uint clustersize );
+
+char __ovld sub_group_clustered_reduce_or( char value, uint clustersize );
+uchar __ovld sub_group_clustered_reduce_or( uchar value, uint clustersize );
+short __ovld sub_group_clustered_reduce_or( short value, uint clustersize );
+ushort __ovld sub_group_clustered_reduce_or( ushort value, uint clustersize );
+int __ovld sub_group_clustered_reduce_or( int value, uint clustersize );
+uint __ovld sub_group_clustered_reduce_or( uint value, uint clustersize );
+long __ovld sub_group_clustered_reduce_or( long value, uint clustersize );
+ulong __ovld sub_group_clustered_reduce_or( ulong value, uint clustersize );
+
+char __ovld sub_group_clustered_reduce_xor( char value, uint clustersize );
+uchar __ovld sub_group_clustered_reduce_xor( uchar value, uint clustersize );
+short __ovld sub_group_clustered_reduce_xor( short value, uint clustersize );
+ushort __ovld sub_group_clustered_reduce_xor( ushort value, uint clustersize );
+int __ovld sub_group_clustered_reduce_xor( int value, uint clustersize );
+uint __ovld sub_group_clustered_reduce_xor( uint value, uint clustersize );
+long __ovld sub_group_clustered_reduce_xor( long value, uint clustersize );
+ulong __ovld sub_group_clustered_reduce_xor( ulong value, uint clustersize );
+
+int __ovld sub_group_clustered_reduce_logical_and( int predicate, uint clustersize );
+int __ovld sub_group_clustered_reduce_logical_or( int predicate, uint clustersize );
+int __ovld sub_group_clustered_reduce_logical_xor( int predicate, uint clustersize );
+
+#if defined(cl_khr_fp16)
+half __ovld sub_group_clustered_reduce_add( half value, uint clustersize );
+half __ovld sub_group_clustered_reduce_mul( half value, uint clustersize );
+half __ovld sub_group_clustered_reduce_min( half value, uint clustersize );
+half __ovld sub_group_clustered_reduce_max( half value, uint clustersize );
+#endif // cl_khr_fp16
+
+#if defined(cl_khr_fp64)
+double __ovld sub_group_clustered_reduce_add( double value, uint clustersize );
+double __ovld sub_group_clustered_reduce_mul( double value, uint clustersize );
+double __ovld sub_group_clustered_reduce_min( double value, uint clustersize );
+double __ovld sub_group_clustered_reduce_max( double value, uint clustersize );
+#endif // cl_khr_fp64
+
+#endif // cl_khr_subgroup_clustered_reduce
+
#if defined(cl_intel_subgroups)
// Intel-Specific Sub Group Functions
float __ovld __conv intel_sub_group_shuffle( float x, uint c );
diff --git a/clang/test/SemaOpenCL/extension-version.cl b/clang/test/SemaOpenCL/extension-version.cl
index 0e6bbb7d3bcd..86c78143a0eb 100644
--- a/clang/test/SemaOpenCL/extension-version.cl
+++ b/clang/test/SemaOpenCL/extension-version.cl
@@ -333,3 +333,86 @@
#endif
#pragma OPENCL EXTENSION cl_intel_device_side_avc_motion_estimation : enable
+#if (defined(__OPENCL_CPP_VERSION__) || __OPENCL_C_VERSION__ >= 200)
+#ifndef cl_khr_subgroup_extended_types
+#error "Missing cl_khr_subgroup_extended_types"
+#endif
+#else
+#ifdef cl_khr_subgroup_extended_types
+#error "Incorrect cl_khr_subgroup_extended_types define"
+#endif
+// expected-warning@+2{{unsupported OpenCL extension 'cl_khr_subgroup_extended_types' - ignoring}}
+#endif
+#pragma OPENCL EXTENSION cl_khr_subgroup_extended_types : enable
+
+#if (defined(__OPENCL_CPP_VERSION__) || __OPENCL_C_VERSION__ >= 200)
+#ifndef cl_khr_subgroup_non_uniform_vote
+#error "Missing cl_khr_subgroup_non_uniform_vote"
+#endif
+#else
+#ifdef cl_khr_subgroup_non_uniform_vote
+#error "Incorrect cl_khr_subgroup_non_uniform_vote define"
+#endif
+// expected-warning@+2{{unsupported OpenCL extension 'cl_khr_subgroup_non_uniform_vote' - ignoring}}
+#endif
+#pragma OPENCL EXTENSION cl_khr_subgroup_non_uniform_vote : enable
+
+#if (defined(__OPENCL_CPP_VERSION__) || __OPENCL_C_VERSION__ >= 200)
+#ifndef cl_khr_subgroup_ballot
+#error "Missing cl_khr_subgroup_ballot"
+#endif
+#else
+#ifdef cl_khr_subgroup_ballot
+#error "Incorrect cl_khr_subgroup_ballot define"
+#endif
+// expected-warning@+2{{unsupported OpenCL extension 'cl_khr_subgroup_ballot' - ignoring}}
+#endif
+#pragma OPENCL EXTENSION cl_khr_subgroup_ballot : enable
+
+#if (defined(__OPENCL_CPP_VERSION__) || __OPENCL_C_VERSION__ >= 200)
+#ifndef cl_khr_subgroup_non_uniform_arithmetic
+#error "Missing cl_khr_subgroup_non_uniform_arithmetic"
+#endif
+#else
+#ifdef cl_khr_subgroup_non_uniform_arithmetic
+#error "Incorrect cl_khr_subgroup_non_uniform_arithmetic define"
+#endif
+// expected-warning@+2{{unsupported OpenCL extension 'cl_khr_subgroup_non_uniform_arithmetic' - ignoring}}
+#endif
+#pragma OPENCL EXTENSION cl_khr_subgroup_non_uniform_arithmetic : enable
+
+#if (defined(__OPENCL_CPP_VERSION__) || __OPENCL_C_VERSION__ >= 200)
+#ifndef cl_khr_subgroup_shuffle
+#error "Missing cl_khr_subgroup_shuffle"
+#endif
+#else
+#ifdef cl_khr_subgroup_shuffle
+#error "Incorrect cl_khr_subgroup_shuffle define"
+#endif
+// expected-warning@+2{{unsupported OpenCL extension 'cl_khr_subgroup_shuffle' - ignoring}}
+#endif
+#pragma OPENCL EXTENSION cl_khr_subgroup_shuffle : enable
+
+#if (defined(__OPENCL_CPP_VERSION__) || __OPENCL_C_VERSION__ >= 200)
+#ifndef cl_khr_subgroup_shuffle_relative
+#error "Missing cl_khr_subgroup_shuffle_relative"
+#endif
+#else
+#ifdef cl_khr_subgroup_shuffle_relative
+#error "Incorrect cl_khr_subgroup_shuffle_relative define"
+#endif
+// expected-warning@+2{{unsupported OpenCL extension 'cl_khr_subgroup_shuffle_relative' - ignoring}}
+#endif
+#pragma OPENCL EXTENSION cl_khr_subgroup_shuffle_relative : enable
+
+#if (defined(__OPENCL_CPP_VERSION__) || __OPENCL_C_VERSION__ >= 200)
+#ifndef cl_khr_subgroup_clustered_reduce
+#error "Missing cl_khr_subgroup_clustered_reduce"
+#endif
+#else
+#ifdef cl_khr_subgroup_clustered_reduce
+#error "Incorrect cl_khr_subgroup_clustered_reduce define"
+#endif
+// expected-warning@+2{{unsupported OpenCL extension 'cl_khr_subgroup_clustered_reduce' - ignoring}}
+#endif
+#pragma OPENCL EXTENSION cl_khr_subgroup_clustered_reduce : enable
--
2.17.1

View File

@ -1,33 +0,0 @@
From 331e323ae2633a8999a660314022491d670c442c Mon Sep 17 00:00:00 2001
From: Andrea Bocci <andrea.bocci@cern.ch>
Date: Sun, 15 Mar 2020 17:35:44 +0100
Subject: [PATCH 2/3] Fix building in-tree with cmake -DLLVM_LINK_LLVM_DYLIB=ON
Building in-tree with LLVM 11.0 master with the LLVM_LINK_LLVM_DYLIB
cmake flag fails to link with the LLVMSPIRVLib library.
Add an explicit dependency to force the correct build order and linking.
Signed-off-by: Andrea Bocci <andrea.bocci@cern.ch>
Upstream-Status: Backport
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
tools/llvm-spirv/CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/llvm-spirv/CMakeLists.txt b/tools/llvm-spirv/CMakeLists.txt
index 9aa96d9c..501c0daf 100644
--- a/tools/llvm-spirv/CMakeLists.txt
+++ b/tools/llvm-spirv/CMakeLists.txt
@@ -14,7 +14,7 @@ add_llvm_tool(llvm-spirv
NO_INSTALL_RPATH
)
-if (LLVM_SPIRV_BUILD_EXTERNAL)
+if (LLVM_SPIRV_BUILD_EXTERNAL OR LLVM_LINK_LLVM_DYLIB)
target_link_libraries(llvm-spirv PRIVATE LLVMSPIRVLib)
endif()
--
2.17.1

View File

@ -1,982 +0,0 @@
From fbc9996d6490a5d4720b85b47f38335e7fdc99d9 Mon Sep 17 00:00:00 2001
From: haonanya <haonan.yang@intel.com>
Date: Mon, 19 Jul 2021 10:14:20 +0800
Subject: [PATCH 3/3] Add support for cl_ext_float_atomics in SPIRVWriter
Upstream-Status: Backport [Taken from opencl-clang patches, https://github.com/intel/opencl-clang/blob/ocl-open-100/patches/spirv/0001-Add-support-for-cl_ext_float_atomics-in-SPIRVWriter.patch]
Signed-off-by: haonanya <haonan.yang@intel.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
lib/SPIRV/OCL20ToSPIRV.cpp | 79 ++++++++++++++++--
lib/SPIRV/SPIRVToOCL.h | 3 +
lib/SPIRV/SPIRVToOCL12.cpp | 21 +++++
lib/SPIRV/SPIRVToOCL20.cpp | 28 ++++++-
lib/SPIRV/libSPIRV/SPIRVNameMapEnum.h | 1 -
lib/SPIRV/libSPIRV/SPIRVOpCode.h | 8 +-
test/AtomicFAddEXTForOCL.ll | 64 +++++++++++++++
test/AtomicFAddExt.ll | 111 ++++++++-----------------
test/AtomicFMaxEXT.ll | 113 +++++++-------------------
test/AtomicFMaxEXTForOCL.ll | 64 +++++++++++++++
test/AtomicFMinEXT.ll | 113 +++++++-------------------
test/AtomicFMinEXTForOCL.ll | 64 +++++++++++++++
test/InvalidAtomicBuiltins.cl | 8 --
13 files changed, 417 insertions(+), 260 deletions(-)
create mode 100644 test/AtomicFAddEXTForOCL.ll
create mode 100644 test/AtomicFMaxEXTForOCL.ll
create mode 100644 test/AtomicFMinEXTForOCL.ll
diff --git a/lib/SPIRV/OCL20ToSPIRV.cpp b/lib/SPIRV/OCL20ToSPIRV.cpp
index e30aa5be..b676a009 100644
--- a/lib/SPIRV/OCL20ToSPIRV.cpp
+++ b/lib/SPIRV/OCL20ToSPIRV.cpp
@@ -408,10 +408,63 @@ void OCL20ToSPIRV::visitCallInst(CallInst &CI) {
if (DemangledName.find(kOCLBuiltinName::AtomicPrefix) == 0 ||
DemangledName.find(kOCLBuiltinName::AtomPrefix) == 0) {
- // Compute atomic builtins do not support floating types.
- if (CI.getType()->isFloatingPointTy() &&
- isComputeAtomicOCLBuiltin(DemangledName))
- return;
+ // Compute "atom" prefixed builtins do not support floating types.
+ if (CI.getType()->isFloatingPointTy()) {
+ if (DemangledName.find(kOCLBuiltinName::AtomPrefix) == 0)
+ return;
+ // handle functions which are "atomic_" prefixed.
+ StringRef Stem = DemangledName;
+ Stem = Stem.drop_front(strlen("atomic_"));
+ // FP-typed atomic_{add, sub, inc, dec, exchange, min, max, or, and, xor,
+ // fetch_or, fetch_xor, fetch_and, fetch_or_explicit, fetch_xor_explicit,
+ // fetch_and_explicit} should be identified as function call
+ bool IsFunctionCall = llvm::StringSwitch<bool>(Stem)
+ .Case("add", true)
+ .Case("sub", true)
+ .Case("inc", true)
+ .Case("dec", true)
+ .Case("cmpxchg", true)
+ .Case("min", true)
+ .Case("max", true)
+ .Case("or", true)
+ .Case("xor", true)
+ .Case("and", true)
+ .Case("fetch_or", true)
+ .Case("fetch_and", true)
+ .Case("fetch_xor", true)
+ .Case("fetch_or_explicit", true)
+ .Case("fetch_xor_explicit", true)
+ .Case("fetch_and_explicit", true)
+ .Default(false);
+ if (IsFunctionCall)
+ return;
+ if (F->arg_size() != 2) {
+ IsFunctionCall = llvm::StringSwitch<bool>(Stem)
+ .Case("exchange", true)
+ .Case("fetch_add", true)
+ .Case("fetch_sub", true)
+ .Case("fetch_min", true)
+ .Case("fetch_max", true)
+ .Case("load", true)
+ .Case("store", true)
+ .Default(false);
+ if (IsFunctionCall)
+ return;
+ }
+ if (F->arg_size() != 3 && F->arg_size() != 4) {
+ IsFunctionCall = llvm::StringSwitch<bool>(Stem)
+ .Case("exchange_explicit", true)
+ .Case("fetch_add_explicit", true)
+ .Case("fetch_sub_explicit", true)
+ .Case("fetch_min_explicit", true)
+ .Case("fetch_max_explicit", true)
+ .Case("load_explicit", true)
+ .Case("store_explicit", true)
+ .Default(false);
+ if (IsFunctionCall)
+ return;
+ }
+ }
auto PCI = &CI;
if (DemangledName == kOCLBuiltinName::AtomicInit) {
@@ -819,7 +872,7 @@ void OCL20ToSPIRV::transAtomicBuiltin(CallInst *CI, OCLBuiltinTransInfo &Info) {
AttributeList Attrs = CI->getCalledFunction()->getAttributes();
mutateCallInstSPIRV(
M, CI,
- [=](CallInst *CI, std::vector<Value *> &Args) {
+ [=](CallInst *CI, std::vector<Value *> &Args) -> std::string {
Info.PostProc(Args);
// Order of args in OCL20:
// object, 0-2 other args, 1-2 order, scope
@@ -864,7 +917,21 @@ void OCL20ToSPIRV::transAtomicBuiltin(CallInst *CI, OCLBuiltinTransInfo &Info) {
std::rotate(Args.begin() + 2, Args.begin() + OrderIdx,
Args.end() - Offset);
}
- return getSPIRVFuncName(OCLSPIRVBuiltinMap::map(Info.UniqName));
+ llvm::Type* AtomicBuiltinsReturnType =
+ CI->getCalledFunction()->getReturnType();
+ auto IsFPType = [](llvm::Type *ReturnType) {
+ return ReturnType->isHalfTy() || ReturnType->isFloatTy() ||
+ ReturnType->isDoubleTy();
+ };
+ auto SPIRVFunctionName =
+ getSPIRVFuncName(OCLSPIRVBuiltinMap::map(Info.UniqName));
+ if (!IsFPType(AtomicBuiltinsReturnType))
+ return SPIRVFunctionName;
+ // Translate FP-typed atomic builtins.
+ return llvm::StringSwitch<std::string>(SPIRVFunctionName)
+ .Case("__spirv_AtomicIAdd", "__spirv_AtomicFAddEXT")
+ .Case("__spirv_AtomicSMax", "__spirv_AtomicFMaxEXT")
+ .Case("__spirv_AtomicSMin", "__spirv_AtomicFMinEXT");
},
&Attrs);
}
diff --git a/lib/SPIRV/SPIRVToOCL.h b/lib/SPIRV/SPIRVToOCL.h
index ddeec0b6..006fb0b1 100644
--- a/lib/SPIRV/SPIRVToOCL.h
+++ b/lib/SPIRV/SPIRVToOCL.h
@@ -178,6 +178,9 @@ public:
/// using separate maps for OpenCL 1.2 and OpenCL 2.0
virtual Instruction *mutateAtomicName(CallInst *CI, Op OC) = 0;
+ // Transform FP atomic opcode to corresponding OpenCL function name
+ virtual std::string mapFPAtomicName(Op OC) = 0;
+
private:
/// Transform uniform group opcode to corresponding OpenCL function name,
/// example: GroupIAdd(Reduce) => group_iadd => work_group_reduce_add |
diff --git a/lib/SPIRV/SPIRVToOCL12.cpp b/lib/SPIRV/SPIRVToOCL12.cpp
index afddd596..d7f00de3 100644
--- a/lib/SPIRV/SPIRVToOCL12.cpp
+++ b/lib/SPIRV/SPIRVToOCL12.cpp
@@ -104,6 +104,9 @@ public:
/// cl_khr_int64_base_atomics and cl_khr_int64_extended_atomics extensions.
std::string mapAtomicName(Op OC, Type *Ty);
+ // Transform FP atomic opcode to corresponding OpenCL function name
+ std::string mapFPAtomicName(Op OC) override;
+
static char ID;
};
@@ -338,6 +341,21 @@ Instruction *SPIRVToOCL12::visitCallSPIRVAtomicBuiltin(CallInst *CI, Op OC) {
return NewCI;
}
+std::string SPIRVToOCL12::mapFPAtomicName(Op OC) {
+ assert(isFPAtomicOpCode(OC) && "Not intended to handle other opcodes than "
+ "AtomicF{Add/Min/Max}EXT!");
+ switch (OC) {
+ case OpAtomicFAddEXT:
+ return "atomic_add";
+ case OpAtomicFMinEXT:
+ return "atomic_min";
+ case OpAtomicFMaxEXT:
+ return "atomic_max";
+ default:
+ llvm_unreachable("Unsupported opcode!");
+ }
+}
+
Instruction *SPIRVToOCL12::mutateAtomicName(CallInst *CI, Op OC) {
AttributeList Attrs = CI->getCalledFunction()->getAttributes();
return mutateCallInstOCL(
@@ -351,6 +369,9 @@ Instruction *SPIRVToOCL12::mutateAtomicName(CallInst *CI, Op OC) {
std::string SPIRVToOCL12::mapAtomicName(Op OC, Type *Ty) {
std::string Prefix = Ty->isIntegerTy(64) ? kOCLBuiltinName::AtomPrefix
: kOCLBuiltinName::AtomicPrefix;
+ // Map fp atomic instructions to regular OpenCL built-ins.
+ if (isFPAtomicOpCode(OC))
+ return mapFPAtomicName(OC);
return Prefix += OCL12SPIRVBuiltinMap::rmap(OC);
}
diff --git a/lib/SPIRV/SPIRVToOCL20.cpp b/lib/SPIRV/SPIRVToOCL20.cpp
index d829ff42..01d088e9 100644
--- a/lib/SPIRV/SPIRVToOCL20.cpp
+++ b/lib/SPIRV/SPIRVToOCL20.cpp
@@ -82,6 +82,9 @@ public:
/// compare_exchange_strong/weak_explicit
Instruction *visitCallSPIRVAtomicCmpExchg(CallInst *CI, Op OC) override;
+ // Transform FP atomic opcode to corresponding OpenCL function name
+ std::string mapFPAtomicName(Op OC) override;
+
static char ID;
};
@@ -144,11 +147,29 @@ void SPIRVToOCL20::visitCallSPIRVControlBarrier(CallInst *CI) {
&Attrs);
}
+std::string SPIRVToOCL20::mapFPAtomicName(Op OC) {
+ assert(isFPAtomicOpCode(OC) && "Not intended to handle other opcodes than "
+ "AtomicF{Add/Min/Max}EXT!");
+ switch (OC) {
+ case OpAtomicFAddEXT:
+ return "atomic_fetch_add_explicit";
+ case OpAtomicFMinEXT:
+ return "atomic_fetch_min_explicit";
+ case OpAtomicFMaxEXT:
+ return "atomic_fetch_max_explicit";
+ default:
+ llvm_unreachable("Unsupported opcode!");
+ }
+}
+
Instruction *SPIRVToOCL20::mutateAtomicName(CallInst *CI, Op OC) {
AttributeList Attrs = CI->getCalledFunction()->getAttributes();
return mutateCallInstOCL(
M, CI,
[=](CallInst *, std::vector<Value *> &Args) {
+ // Map fp atomic instructions to regular OpenCL built-ins.
+ if (isFPAtomicOpCode(OC))
+ return mapFPAtomicName(OC);
return OCLSPIRVBuiltinMap::rmap(OC);
},
&Attrs);
@@ -215,7 +236,12 @@ CallInst *SPIRVToOCL20::mutateCommonAtomicArguments(CallInst *CI, Op OC) {
}
}
auto Ptr = findFirstPtr(Args);
- auto Name = OCLSPIRVBuiltinMap::rmap(OC);
+ std::string Name;
+ // Map fp atomic instructions to regular OpenCL built-ins.
+ if (isFPAtomicOpCode(OC))
+ Name = mapFPAtomicName(OC);
+ else
+ Name = OCLSPIRVBuiltinMap::rmap(OC);
auto NumOrder = getSPIRVAtomicBuiltinNumMemoryOrderArgs(OC);
auto ScopeIdx = Ptr + 1;
auto OrderIdx = Ptr + 2;
diff --git a/lib/SPIRV/libSPIRV/SPIRVNameMapEnum.h b/lib/SPIRV/libSPIRV/SPIRVNameMapEnum.h
index 13f93fbe..7b707993 100644
--- a/lib/SPIRV/libSPIRV/SPIRVNameMapEnum.h
+++ b/lib/SPIRV/libSPIRV/SPIRVNameMapEnum.h
@@ -521,7 +521,6 @@ template <> inline void SPIRVMap<Capability, std::string>::init() {
add(CapabilityAtomicFloat64AddEXT, "AtomicFloat64AddEXT");
add(CapabilityAtomicFloat32MinMaxEXT, "AtomicFloat32MinMaxEXT");
add(CapabilityAtomicFloat64MinMaxEXT, "AtomicFloat64MinMaxEXT");
- add(CapabilityAtomicFloat16MinMaxEXT, "AtomicFloat16MinMaxEXT");
add(CapabilitySubgroupShuffleINTEL, "SubgroupShuffleINTEL");
add(CapabilitySubgroupBufferBlockIOINTEL, "SubgroupBufferBlockIOINTEL");
add(CapabilitySubgroupImageBlockIOINTEL, "SubgroupImageBlockIOINTEL");
diff --git a/lib/SPIRV/libSPIRV/SPIRVOpCode.h b/lib/SPIRV/libSPIRV/SPIRVOpCode.h
index feec70f6..8e595e83 100644
--- a/lib/SPIRV/libSPIRV/SPIRVOpCode.h
+++ b/lib/SPIRV/libSPIRV/SPIRVOpCode.h
@@ -54,11 +54,17 @@ template <> inline void SPIRVMap<Op, std::string>::init() {
}
SPIRV_DEF_NAMEMAP(Op, OpCodeNameMap)
+inline bool isFPAtomicOpCode(Op OpCode) {
+ return OpCode == OpAtomicFAddEXT || OpCode == OpAtomicFMinEXT ||
+ OpCode == OpAtomicFMaxEXT;
+}
+
inline bool isAtomicOpCode(Op OpCode) {
static_assert(OpAtomicLoad < OpAtomicXor, "");
return ((unsigned)OpCode >= OpAtomicLoad &&
(unsigned)OpCode <= OpAtomicXor) ||
- OpCode == OpAtomicFlagTestAndSet || OpCode == OpAtomicFlagClear;
+ OpCode == OpAtomicFlagTestAndSet || OpCode == OpAtomicFlagClear ||
+ isFPAtomicOpCode(OpCode);
}
inline bool isBinaryOpCode(Op OpCode) {
return ((unsigned)OpCode >= OpIAdd && (unsigned)OpCode <= OpFMod) ||
diff --git a/test/AtomicFAddEXTForOCL.ll b/test/AtomicFAddEXTForOCL.ll
new file mode 100644
index 00000000..fb146fb9
--- /dev/null
+++ b/test/AtomicFAddEXTForOCL.ll
@@ -0,0 +1,64 @@
+; RUN: llvm-as %s -o %t.bc
+; RUN: llvm-spirv %t.bc --spirv-ext=+SPV_EXT_shader_atomic_float_add -o %t.spv
+; RUN: spirv-val %t.spv
+; RUN: llvm-spirv -to-text %t.spv -o %t.spt
+; RUN: FileCheck < %t.spt %s --check-prefix=CHECK-SPIRV
+
+; RUN: llvm-spirv --spirv-target-env=CL2.0 -r %t.spv -o %t.rev.bc
+; RUN: llvm-dis %t.rev.bc -o - | FileCheck %s --check-prefixes=CHECK-LLVM-CL,CHECK-LLVM-CL20
+
+; RUN: llvm-spirv --spirv-target-env=SPV-IR -r %t.spv -o %t.rev.bc
+; RUN: llvm-dis %t.rev.bc -o - | FileCheck %s --check-prefixes=CHECK-LLVM-SPV
+
+target datalayout = "e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024"
+target triple = "spir-unknown-unknown"
+
+; CHECK-SPIRV: Capability AtomicFloat32AddEXT
+; CHECK-SPIRV: Capability AtomicFloat64AddEXT
+; CHECK-SPIRV: Extension "SPV_EXT_shader_atomic_float_add"
+; CHECK-SPIRV: TypeFloat [[TYPE_FLOAT_32:[0-9]+]] 32
+; CHECK-SPIRV: TypeFloat [[TYPE_FLOAT_64:[0-9]+]] 64
+
+
+; Function Attrs: convergent norecurse nounwind
+define dso_local spir_func void @test_atomic_float(float addrspace(1)* %a) local_unnamed_addr #0 {
+entry:
+ ; CHECK-SPIRV: 7 AtomicFAddEXT [[TYPE_FLOAT_32]]
+ ; CHECK-LLVM-CL20: call spir_func float @[[FLOAT_FUNC_NAME:_Z25atomic_fetch_add_explicit[[:alnum:]]+_Atomicff[a-zA-Z0-9_]+]]({{.*}})
+ ; CHECK-LLVM-SPV: call spir_func float @[[FLOAT_FUNC_NAME:_Z21__spirv_AtomicFAddEXT[[:alnum:]]+fiif]]({{.*}})
+ %call = tail call spir_func float @_Z25atomic_fetch_add_explicitPU3AS1VU7_Atomicff12memory_order(float addrspace(1)* %a, float 0.000000e+00, i32 0) #2
+ ret void
+}
+
+; Function Attrs: convergent
+declare spir_func float @_Z25atomic_fetch_add_explicitPU3AS1VU7_Atomicff12memory_order(float addrspace(1)*, float, i32) local_unnamed_addr #1
+; CHECK-LLVM-SPV: declare {{.*}}spir_func float @[[FLOAT_FUNC_NAME]](float
+
+; Function Attrs: convergent norecurse nounwind
+define dso_local spir_func void @test_atomic_double(double addrspace(1)* %a) local_unnamed_addr #0 {
+entry:
+ ; CHECK-SPIRV: 7 AtomicFAddEXT [[TYPE_FLOAT_64]]
+ ; CHECK-LLVM-CL20: call spir_func double @[[DOUBLE_FUNC_NAME:_Z25atomic_fetch_add_explicit[[:alnum:]]+_Atomicdd[a-zA-Z0-9_]+]]({{.*}})
+ ; CHECK-LLVM-SPV: call spir_func double @[[DOUBLE_FUNC_NAME:_Z21__spirv_AtomicFAddEXT[[:alnum:]]+diid]]({{.*}})
+ %call = tail call spir_func double @_Z25atomic_fetch_add_explicitPU3AS1VU7_Atomicdd12memory_order(double addrspace(1)* %a, double 0.000000e+00, i32 0) #2
+ ret void
+}
+; Function Attrs: convergent
+declare spir_func double @_Z25atomic_fetch_add_explicitPU3AS1VU7_Atomicdd12memory_order(double addrspace(1)*, double, i32) local_unnamed_addr #1
+; CHECK-LLVM-SPV: declare {{.*}}spir_func double @[[DOUBLE_FUNC_NAME]](double
+
+; CHECK-LLVM-CL: declare {{.*}}spir_func float @[[FLOAT_FUNC_NAME]](float
+; CHECK-LLVM-CL: declare {{.*}}spir_func double @[[DOUBLE_FUNC_NAME]](double
+
+attributes #0 = { convergent norecurse nounwind "frame-pointer"="none" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" }
+attributes #1 = { convergent "frame-pointer"="none" "no-trapping-math"="true" "stack-protector-buffer-size"="8" }
+attributes #2 = { convergent nounwind }
+
+!llvm.module.flags = !{!0}
+!opencl.ocl.version = !{!1}
+!opencl.spir.version = !{!1}
+!llvm.ident = !{!2}
+
+!0 = !{i32 1, !"wchar_size", i32 4}
+!1 = !{i32 2, i32 0}
+!2 = !{!"clang version 13.0.0 (https://github.com/llvm/llvm-project.git 94aa388f0ce0723bb15503cf41c2c15b288375b9)"}
diff --git a/test/AtomicFAddExt.ll b/test/AtomicFAddExt.ll
index 011dd8a7..42bdfeea 100644
--- a/test/AtomicFAddExt.ll
+++ b/test/AtomicFAddExt.ll
@@ -4,20 +4,16 @@
; RUN: FileCheck < %t.spt %s --check-prefix=CHECK-SPIRV
; RUN: llvm-spirv -r %t.spv -o %t.rev.bc
-; RUN: llvm-dis %t.rev.bc -o - | FileCheck %s --check-prefix=CHECK-LLVM
+; RUN: llvm-dis %t.rev.bc -o - | FileCheck %s --check-prefixes=CHECK-LLVM-CL,CHECK-LLVM-CL12
-target datalayout = "e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-n8:16:32:64"
-target triple = "spir64-unknown-unknown-sycldevice"
-
-%"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range" = type { %"class._ZTSN2cl4sycl6detail5arrayILi1EEE.cl::sycl::detail::array" }
-%"class._ZTSN2cl4sycl6detail5arrayILi1EEE.cl::sycl::detail::array" = type { [1 x i64] }
-%"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id" = type { %"class._ZTSN2cl4sycl6detail5arrayILi1EEE.cl::sycl::detail::array" }
-
-$_ZTSZZ3addIfEvvENKUlRN2cl4sycl7handlerEE19_14clES3_EUlNS1_4itemILi1ELb1EEEE23_37 = comdat any
+; RUN: llvm-spirv --spirv-target-env=CL2.0 -r %t.spv -o %t.rev.bc
+; RUN: llvm-dis %t.rev.bc -o - | FileCheck %s --check-prefixes=CHECK-LLVM-CL,CHECK-LLVM-CL20
-$_ZTSZZ3addIdEvvENKUlRN2cl4sycl7handlerEE19_14clES3_EUlNS1_4itemILi1ELb1EEEE23_37 = comdat any
+; RUN: llvm-spirv --spirv-target-env=SPV-IR -r %t.spv -o %t.rev.bc
+; RUN: llvm-dis %t.rev.bc -o - | FileCheck %s --check-prefixes=CHECK-LLVM-SPV
-@__spirv_BuiltInGlobalInvocationId = external dso_local local_unnamed_addr addrspace(1) constant <3 x i64>, align 32
+target datalayout = "e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-n8:16:32:64"
+target triple = "spir64-unknown-unknown-sycldevice"
; CHECK-SPIRV: Capability AtomicFloat32AddEXT
; CHECK-SPIRV: Capability AtomicFloat64AddEXT
@@ -25,62 +21,43 @@ $_ZTSZZ3addIdEvvENKUlRN2cl4sycl7handlerEE19_14clES3_EUlNS1_4itemILi1ELb1EEEE23_3
; CHECK-SPIRV: TypeFloat [[TYPE_FLOAT_32:[0-9]+]] 32
; CHECK-SPIRV: TypeFloat [[TYPE_FLOAT_64:[0-9]+]] 64
-; Function Attrs: convergent norecurse mustprogress
-define weak_odr dso_local spir_kernel void @_ZTSZZ3addIfEvvENKUlRN2cl4sycl7handlerEE19_14clES3_EUlNS1_4itemILi1ELb1EEEE23_37(float addrspace(1)* %_arg_, %"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range"* byval(%"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range") align 8 %_arg_1, %"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range"* byval(%"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range") align 8 %_arg_2, %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id"* byval(%"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id") align 8 %_arg_3, float addrspace(1)* %_arg_4, %"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range"* byval(%"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range") align 8 %_arg_6, %"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range"* byval(%"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range") align 8 %_arg_7, %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id"* byval(%"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id") align 8 %_arg_8) local_unnamed_addr #0 comdat !kernel_arg_buffer_location !4 {
+; Function Attrs: convergent norecurse nounwind
+define dso_local spir_func float @_Z14AtomicFloatIncRf(float addrspace(4)* align 4 dereferenceable(4) %Arg) local_unnamed_addr #0 {
entry:
- %0 = getelementptr inbounds %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id", %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id"* %_arg_3, i64 0, i32 0, i32 0, i64 0
- %1 = load i64, i64* %0, align 8
- %add.ptr.i29 = getelementptr inbounds float, float addrspace(1)* %_arg_, i64 %1
- %2 = getelementptr inbounds %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id", %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id"* %_arg_8, i64 0, i32 0, i32 0, i64 0
- %3 = load i64, i64* %2, align 8
- %add.ptr.i = getelementptr inbounds float, float addrspace(1)* %_arg_4, i64 %3
- %4 = load <3 x i64>, <3 x i64> addrspace(4)* addrspacecast (<3 x i64> addrspace(1)* @__spirv_BuiltInGlobalInvocationId to <3 x i64> addrspace(4)*), align 32, !noalias !5
- %5 = extractelement <3 x i64> %4, i64 0
+ %0 = addrspacecast float addrspace(4)* %Arg to float addrspace(1)*
; CHECK-SPIRV: 7 AtomicFAddEXT [[TYPE_FLOAT_32]]
- ; CHECK-LLVM: call spir_func float @[[FLOAT_FUNC_NAME:_Z21__spirv_AtomicFAddEXT[[:alnum:]]+]]({{.*}})
- %call3.i.i.i.i = tail call spir_func float @_Z21__spirv_AtomicFAddEXTPU3AS1fN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagEf(float addrspace(1)* %add.ptr.i29, i32 1, i32 896, float 1.000000e+00) #2
- %add.i.i = fadd float %call3.i.i.i.i, 1.000000e+00
- %sext.i = shl i64 %5, 32
- %conv5.i = ashr exact i64 %sext.i, 32
- %ptridx.i.i = getelementptr inbounds float, float addrspace(1)* %add.ptr.i, i64 %conv5.i
- %ptridx.ascast.i.i = addrspacecast float addrspace(1)* %ptridx.i.i to float addrspace(4)*
- store float %add.i.i, float addrspace(4)* %ptridx.ascast.i.i, align 4, !tbaa !14
- ret void
+ ; CHECK-LLVM-CL12: call spir_func float @[[FLOAT_FUNC_NAME:_Z10atomic_add[[:alnum:]]+ff]]({{.*}})
+ ; CHECK-LLVM-CL20: call spir_func float @[[FLOAT_FUNC_NAME:_Z25atomic_fetch_add_explicit[[:alnum:]]+_Atomicff[a-zA-Z0-9_]+]]({{.*}})
+ ; CHECK-LLVM-SPV: call spir_func float @[[FLOAT_FUNC_NAME:_Z21__spirv_AtomicFAddEXT[[:alnum:]]+fiif]]({{.*}})
+ %call3.i.i = tail call spir_func float @_Z21__spirv_AtomicFAddEXTPU3AS1fN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagEf(float addrspace(1)* %0, i32 1, i32 896, float 1.000000e+00) #2
+ ret float %call3.i.i
}
; Function Attrs: convergent
-; CHECK-LLVM: declare {{.*}}spir_func float @[[FLOAT_FUNC_NAME]](float addrspace(1)*, i32, i32, float)
declare dso_local spir_func float @_Z21__spirv_AtomicFAddEXTPU3AS1fN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagEf(float addrspace(1)*, i32, i32, float) local_unnamed_addr #1
+; CHECK-LLVM-SPV: declare {{.*}}spir_func float @[[FLOAT_FUNC_NAME]](float
-; Function Attrs: convergent norecurse mustprogress
-define weak_odr dso_local spir_kernel void @_ZTSZZ3addIdEvvENKUlRN2cl4sycl7handlerEE19_14clES3_EUlNS1_4itemILi1ELb1EEEE23_37(double addrspace(1)* %_arg_, %"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range"* byval(%"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range") align 8 %_arg_1, %"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range"* byval(%"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range") align 8 %_arg_2, %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id"* byval(%"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id") align 8 %_arg_3, double addrspace(1)* %_arg_4, %"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range"* byval(%"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range") align 8 %_arg_6, %"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range"* byval(%"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range") align 8 %_arg_7, %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id"* byval(%"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id") align 8 %_arg_8) local_unnamed_addr #0 comdat !kernel_arg_buffer_location !4 {
+; Function Attrs: convergent norecurse nounwind
+define dso_local spir_func double @_Z15AtomicDoubleIncRd(double addrspace(4)* align 8 dereferenceable(8) %Arg) local_unnamed_addr #0 {
entry:
- %0 = getelementptr inbounds %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id", %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id"* %_arg_3, i64 0, i32 0, i32 0, i64 0
- %1 = load i64, i64* %0, align 8
- %add.ptr.i29 = getelementptr inbounds double, double addrspace(1)* %_arg_, i64 %1
- %2 = getelementptr inbounds %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id", %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id"* %_arg_8, i64 0, i32 0, i32 0, i64 0
- %3 = load i64, i64* %2, align 8
- %add.ptr.i = getelementptr inbounds double, double addrspace(1)* %_arg_4, i64 %3
- %4 = load <3 x i64>, <3 x i64> addrspace(4)* addrspacecast (<3 x i64> addrspace(1)* @__spirv_BuiltInGlobalInvocationId to <3 x i64> addrspace(4)*), align 32, !noalias !18
- %5 = extractelement <3 x i64> %4, i64 0
+ %0 = addrspacecast double addrspace(4)* %Arg to double addrspace(1)*
; CHECK-SPIRV: 7 AtomicFAddEXT [[TYPE_FLOAT_64]]
- ; CHECK-LLVM: call spir_func double @[[DOUBLE_FUNC_NAME:_Z21__spirv_AtomicFAddEXT[[:alnum:]]+]]({{.*}})
- %call3.i.i.i.i = tail call spir_func double @_Z21__spirv_AtomicFAddEXTPU3AS1dN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagEd(double addrspace(1)* %add.ptr.i29, i32 1, i32 896, double 1.000000e+00) #2
- %add.i.i = fadd double %call3.i.i.i.i, 1.000000e+00
- %sext.i = shl i64 %5, 32
- %conv5.i = ashr exact i64 %sext.i, 32
- %ptridx.i.i = getelementptr inbounds double, double addrspace(1)* %add.ptr.i, i64 %conv5.i
- %ptridx.ascast.i.i = addrspacecast double addrspace(1)* %ptridx.i.i to double addrspace(4)*
- store double %add.i.i, double addrspace(4)* %ptridx.ascast.i.i, align 8, !tbaa !27
- ret void
+ ; CHECK-LLVM-CL12: call spir_func double @[[DOUBLE_FUNC_NAME:_Z10atomic_add[[:alnum:]]+dd]]({{.*}})
+ ; CHECK-LLVM-CL20: call spir_func double @[[DOUBLE_FUNC_NAME:_Z25atomic_fetch_add_explicit[[:alnum:]]+_Atomicdd[a-zA-Z0-9_]+]]({{.*}})
+ ; CHECK-LLVM-SPV: call spir_func double @[[DOUBLE_FUNC_NAME:_Z21__spirv_AtomicFAddEXT[[:alnum:]]+diid]]({{.*}})
+ %call3.i.i = tail call spir_func double @_Z21__spirv_AtomicFAddEXTPU3AS1dN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagEd(double addrspace(1)* %0, i32 1, i32 896, double 1.000000e+00) #2
+ ret double %call3.i.i
}
; Function Attrs: convergent
-; CHECK-LLVM: declare {{.*}}spir_func double @[[DOUBLE_FUNC_NAME]](double addrspace(1)*, i32, i32, double)
declare dso_local spir_func double @_Z21__spirv_AtomicFAddEXTPU3AS1dN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagEd(double addrspace(1)*, i32, i32, double) local_unnamed_addr #1
+; CHECK-LLVM-SPV: declare {{.*}}spir_func double @[[DOUBLE_FUNC_NAME]](double
-attributes #0 = { convergent norecurse }
-attributes #1 = { convergent }
+; CHECK-LLVM-CL: declare {{.*}}spir_func float @[[FLOAT_FUNC_NAME]](float
+; CHECK-LLVM-CL: declare {{.*}}spir_func double @[[DOUBLE_FUNC_NAME]](double
+
+attributes #0 = { convergent norecurse nounwind "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
+attributes #1 = { convergent "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #2 = { convergent nounwind }
!llvm.module.flags = !{!0}
@@ -91,29 +68,5 @@ attributes #2 = { convergent nounwind }
!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 1, i32 2}
!2 = !{i32 4, i32 100000}
-!3 = !{!"clang version 12.0.0"}
-!4 = !{i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1}
-!5 = !{!6, !8, !10, !12}
-!6 = distinct !{!6, !7, !"_ZN7__spirv29InitSizesSTGlobalInvocationIdILi1EN2cl4sycl2idILi1EEEE8initSizeEv: %agg.result"}
-!7 = distinct !{!7, !"_ZN7__spirv29InitSizesSTGlobalInvocationIdILi1EN2cl4sycl2idILi1EEEE8initSizeEv"}
-!8 = distinct !{!8, !9, !"_ZN7__spirvL22initGlobalInvocationIdILi1EN2cl4sycl2idILi1EEEEET0_v: %agg.result"}
-!9 = distinct !{!9, !"_ZN7__spirvL22initGlobalInvocationIdILi1EN2cl4sycl2idILi1EEEEET0_v"}
-!10 = distinct !{!10, !11, !"_ZN2cl4sycl6detail7Builder7getItemILi1ELb1EEENSt9enable_ifIXT0_EKNS0_4itemIXT_EXT0_EEEE4typeEv: %agg.result"}
-!11 = distinct !{!11, !"_ZN2cl4sycl6detail7Builder7getItemILi1ELb1EEENSt9enable_ifIXT0_EKNS0_4itemIXT_EXT0_EEEE4typeEv"}
-!12 = distinct !{!12, !13, !"_ZN2cl4sycl6detail7Builder10getElementILi1ELb1EEEDTcl7getItemIXT_EXT0_EEEEPNS0_4itemIXT_EXT0_EEE: %agg.result"}
-!13 = distinct !{!13, !"_ZN2cl4sycl6detail7Builder10getElementILi1ELb1EEEDTcl7getItemIXT_EXT0_EEEEPNS0_4itemIXT_EXT0_EEE"}
-!14 = !{!15, !15, i64 0}
-!15 = !{!"float", !16, i64 0}
-!16 = !{!"omnipotent char", !17, i64 0}
-!17 = !{!"Simple C++ TBAA"}
-!18 = !{!19, !21, !23, !25}
-!19 = distinct !{!19, !20, !"_ZN7__spirv29InitSizesSTGlobalInvocationIdILi1EN2cl4sycl2idILi1EEEE8initSizeEv: %agg.result"}
-!20 = distinct !{!20, !"_ZN7__spirv29InitSizesSTGlobalInvocationIdILi1EN2cl4sycl2idILi1EEEE8initSizeEv"}
-!21 = distinct !{!21, !22, !"_ZN7__spirvL22initGlobalInvocationIdILi1EN2cl4sycl2idILi1EEEEET0_v: %agg.result"}
-!22 = distinct !{!22, !"_ZN7__spirvL22initGlobalInvocationIdILi1EN2cl4sycl2idILi1EEEEET0_v"}
-!23 = distinct !{!23, !24, !"_ZN2cl4sycl6detail7Builder7getItemILi1ELb1EEENSt9enable_ifIXT0_EKNS0_4itemIXT_EXT0_EEEE4typeEv: %agg.result"}
-!24 = distinct !{!24, !"_ZN2cl4sycl6detail7Builder7getItemILi1ELb1EEENSt9enable_ifIXT0_EKNS0_4itemIXT_EXT0_EEEE4typeEv"}
-!25 = distinct !{!25, !26, !"_ZN2cl4sycl6detail7Builder10getElementILi1ELb1EEEDTcl7getItemIXT_EXT0_EEEEPNS0_4itemIXT_EXT0_EEE: %agg.result"}
-!26 = distinct !{!26, !"_ZN2cl4sycl6detail7Builder10getElementILi1ELb1EEEDTcl7getItemIXT_EXT0_EEEEPNS0_4itemIXT_EXT0_EEE"}
-!27 = !{!28, !28, i64 0}
-!28 = !{!"double", !16, i64 0}
+!3 = !{!"clang version 13.0.0"}
+
diff --git a/test/AtomicFMaxEXT.ll b/test/AtomicFMaxEXT.ll
index 1b81e53b..1c2eec93 100644
--- a/test/AtomicFMaxEXT.ll
+++ b/test/AtomicFMaxEXT.ll
@@ -4,20 +4,16 @@
; RUN: FileCheck < %t.spt %s --check-prefix=CHECK-SPIRV
; RUN: llvm-spirv -r %t.spv -o %t.rev.bc
-; RUN: llvm-dis %t.rev.bc -o - | FileCheck %s --check-prefix=CHECK-LLVM
+; RUN: llvm-dis %t.rev.bc -o - | FileCheck %s --check-prefixes=CHECK-LLVM-CL,CHECK-LLVM-CL12
-target datalayout = "e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-n8:16:32:64"
-target triple = "spir64-unknown-unknown-sycldevice"
-
-%"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range" = type { %"class._ZTSN2cl4sycl6detail5arrayILi1EEE.cl::sycl::detail::array" }
-%"class._ZTSN2cl4sycl6detail5arrayILi1EEE.cl::sycl::detail::array" = type { [1 x i64] }
-%"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id" = type { %"class._ZTSN2cl4sycl6detail5arrayILi1EEE.cl::sycl::detail::array" }
-
-$_ZTSZZ8max_testIfEvN2cl4sycl5queueEmENKUlRNS1_7handlerEE16_14clES4_EUlNS1_4itemILi1ELb1EEEE19_37 = comdat any
+; RUN: llvm-spirv --spirv-target-env=CL2.0 -r %t.spv -o %t.rev.bc
+; RUN: llvm-dis %t.rev.bc -o - | FileCheck %s --check-prefixes=CHECK-LLVM-CL,CHECK-LLVM-CL20
-$_ZTSZZ8max_testIdEvN2cl4sycl5queueEmENKUlRNS1_7handlerEE16_14clES4_EUlNS1_4itemILi1ELb1EEEE19_37 = comdat any
+; RUN: llvm-spirv --spirv-target-env=SPV-IR -r %t.spv -o %t.rev.bc
+; RUN: llvm-dis %t.rev.bc -o - | FileCheck %s --check-prefixes=CHECK-LLVM-SPV
-@__spirv_BuiltInGlobalInvocationId = external dso_local local_unnamed_addr addrspace(1) constant <3 x i64>, align 32
+target datalayout = "e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-n8:16:32:64"
+target triple = "spir64-unknown-unknown-sycldevice"
; CHECK-SPIRV: Capability AtomicFloat32MinMaxEXT
; CHECK-SPIRV: Capability AtomicFloat64MinMaxEXT
@@ -25,65 +21,42 @@ $_ZTSZZ8max_testIdEvN2cl4sycl5queueEmENKUlRNS1_7handlerEE16_14clES4_EUlNS1_4item
; CHECK-SPIRV: TypeFloat [[TYPE_FLOAT_32:[0-9]+]] 32
; CHECK-SPIRV: TypeFloat [[TYPE_FLOAT_64:[0-9]+]] 64
-; Function Attrs: convergent norecurse
-define weak_odr dso_local spir_kernel void @_ZTSZZ8max_testIfEvN2cl4sycl5queueEmENKUlRNS1_7handlerEE16_14clES4_EUlNS1_4itemILi1ELb1EEEE19_37(float addrspace(1)* %_arg_, %"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range"* byval(%"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range") align 8 %_arg_1, %"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range"* byval(%"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range") align 8 %_arg_2, %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id"* byval(%"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id") align 8 %_arg_3, float addrspace(1)* %_arg_4, %"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range"* byval(%"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range") align 8 %_arg_6, %"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range"* byval(%"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range") align 8 %_arg_7, %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id"* byval(%"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id") align 8 %_arg_8) local_unnamed_addr #0 comdat !kernel_arg_buffer_location !4 {
+; Function Attrs: convergent norecurse nounwind
+define dso_local spir_func float @_Z14AtomicFloatMaxRf(float addrspace(4)* align 4 dereferenceable(4) %Arg) local_unnamed_addr #0 {
entry:
- %0 = getelementptr inbounds %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id", %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id"* %_arg_3, i64 0, i32 0, i32 0, i64 0
- %1 = load i64, i64* %0, align 8
- %add.ptr.i29 = getelementptr inbounds float, float addrspace(1)* %_arg_, i64 %1
- %2 = getelementptr inbounds %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id", %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id"* %_arg_8, i64 0, i32 0, i32 0, i64 0
- %3 = load i64, i64* %2, align 8
- %add.ptr.i = getelementptr inbounds float, float addrspace(1)* %_arg_4, i64 %3
- %4 = load <3 x i64>, <3 x i64> addrspace(4)* addrspacecast (<3 x i64> addrspace(1)* @__spirv_BuiltInGlobalInvocationId to <3 x i64> addrspace(4)*), align 32, !noalias !5
- %5 = extractelement <3 x i64> %4, i64 0
- %conv.i = trunc i64 %5 to i32
- %conv3.i = sitofp i32 %conv.i to float
- %add.i = fadd float %conv3.i, 1.000000e+00
+ %0 = addrspacecast float addrspace(4)* %Arg to float addrspace(1)*
; CHECK-SPIRV: 7 AtomicFMaxEXT [[TYPE_FLOAT_32]]
- ; CHECK-LLVM: call spir_func float @[[FLOAT_FUNC_NAME:_Z21__spirv_AtomicFMaxEXT[[:alnum:]]+]]({{.*}})
- %call3.i.i.i = tail call spir_func float @_Z21__spirv_AtomicFMaxEXTPU3AS1fN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagEf(float addrspace(1)* %add.ptr.i29, i32 1, i32 896, float %add.i) #2
- %sext.i = shl i64 %5, 32
- %conv6.i = ashr exact i64 %sext.i, 32
- %ptridx.i.i = getelementptr inbounds float, float addrspace(1)* %add.ptr.i, i64 %conv6.i
- %ptridx.ascast.i.i = addrspacecast float addrspace(1)* %ptridx.i.i to float addrspace(4)*
- store float %call3.i.i.i, float addrspace(4)* %ptridx.ascast.i.i, align 4, !tbaa !14
- ret void
+ ; CHECK-LLVM-CL12: call spir_func float @[[FLOAT_FUNC_NAME:_Z10atomic_max[[:alnum:]]+ff]]({{.*}})
+ ; CHECK-LLVM-CL20: call spir_func float @[[FLOAT_FUNC_NAME:_Z25atomic_fetch_max_explicit[[:alnum:]]+_Atomicff[a-zA-Z0-9_]+]]({{.*}})
+ ; CHECK-LLVM-SPV: call spir_func float @[[FLOAT_FUNC_NAME:_Z21__spirv_AtomicFMaxEXT[[:alnum:]]+fiif]]({{.*}})
+ %call.i.i.i = tail call spir_func float @_Z21__spirv_AtomicFMaxEXTPU3AS1fN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagEf(float addrspace(1)* %0, i32 1, i32 896, float 1.000000e+00) #2
+ ret float %call.i.i.i
}
; Function Attrs: convergent
-; CHECK-LLVM: declare {{.*}}spir_func float @[[FLOAT_FUNC_NAME]](float addrspace(1)*, i32, i32, float)
declare dso_local spir_func float @_Z21__spirv_AtomicFMaxEXTPU3AS1fN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagEf(float addrspace(1)*, i32, i32, float) local_unnamed_addr #1
+; CHECK-LLVM-SPV: declare {{.*}}spir_func float @[[FLOAT_FUNC_NAME]](float
-; Function Attrs: convergent norecurse
-define weak_odr dso_local spir_kernel void @_ZTSZZ8max_testIdEvN2cl4sycl5queueEmENKUlRNS1_7handlerEE16_14clES4_EUlNS1_4itemILi1ELb1EEEE19_37(double addrspace(1)* %_arg_, %"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range"* byval(%"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range") align 8 %_arg_1, %"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range"* byval(%"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range") align 8 %_arg_2, %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id"* byval(%"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id") align 8 %_arg_3, double addrspace(1)* %_arg_4, %"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range"* byval(%"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range") align 8 %_arg_6, %"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range"* byval(%"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range") align 8 %_arg_7, %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id"* byval(%"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id") align 8 %_arg_8) local_unnamed_addr #0 comdat !kernel_arg_buffer_location !4 {
+; Function Attrs: convergent norecurse nounwind
+define dso_local spir_func double @_Z15AtomicDoubleMaxRd(double addrspace(4)* align 8 dereferenceable(8) %Arg) local_unnamed_addr #0 {
entry:
- %0 = getelementptr inbounds %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id", %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id"* %_arg_3, i64 0, i32 0, i32 0, i64 0
- %1 = load i64, i64* %0, align 8
- %add.ptr.i29 = getelementptr inbounds double, double addrspace(1)* %_arg_, i64 %1
- %2 = getelementptr inbounds %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id", %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id"* %_arg_8, i64 0, i32 0, i32 0, i64 0
- %3 = load i64, i64* %2, align 8
- %add.ptr.i = getelementptr inbounds double, double addrspace(1)* %_arg_4, i64 %3
- %4 = load <3 x i64>, <3 x i64> addrspace(4)* addrspacecast (<3 x i64> addrspace(1)* @__spirv_BuiltInGlobalInvocationId to <3 x i64> addrspace(4)*), align 32, !noalias !18
- %5 = extractelement <3 x i64> %4, i64 0
- %conv.i = trunc i64 %5 to i32
- %conv3.i = sitofp i32 %conv.i to double
- %add.i = fadd double %conv3.i, 1.000000e+00
+ %0 = addrspacecast double addrspace(4)* %Arg to double addrspace(1)*
; CHECK-SPIRV: 7 AtomicFMaxEXT [[TYPE_FLOAT_64]]
- ; CHECK-LLVM: call spir_func double @[[DOUBLE_FUNC_NAME:_Z21__spirv_AtomicFMaxEXT[[:alnum:]]+]]({{.*}})
- %call3.i.i.i = tail call spir_func double @_Z21__spirv_AtomicFMaxEXTPU3AS1dN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagEd(double addrspace(1)* %add.ptr.i29, i32 1, i32 896, double %add.i) #2
- %sext.i = shl i64 %5, 32
- %conv6.i = ashr exact i64 %sext.i, 32
- %ptridx.i.i = getelementptr inbounds double, double addrspace(1)* %add.ptr.i, i64 %conv6.i
- %ptridx.ascast.i.i = addrspacecast double addrspace(1)* %ptridx.i.i to double addrspace(4)*
- store double %call3.i.i.i, double addrspace(4)* %ptridx.ascast.i.i, align 8, !tbaa !27
- ret void
+ ; CHECK-LLVM-CL12: call spir_func double @[[DOUBLE_FUNC_NAME:_Z10atomic_max[[:alnum:]]+dd]]({{.*}})
+ ; CHECK-LLVM-CL20: call spir_func double @[[DOUBLE_FUNC_NAME:_Z25atomic_fetch_max_explicit[[:alnum:]]+_Atomicdd[a-zA-Z0-9_]+]]({{.*}})
+ ; CHECK-LLVM-SPV: call spir_func double @[[DOUBLE_FUNC_NAME:_Z21__spirv_AtomicFMaxEXT[[:alnum:]]+diid]]({{.*}})
+ %call.i.i.i = tail call spir_func double @_Z21__spirv_AtomicFMaxEXTPU3AS1dN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagEd(double addrspace(1)* %0, i32 1, i32 896, double 1.000000e+00) #2
+ ret double %call.i.i.i
}
; Function Attrs: convergent
-; CHECK-LLVM: declare {{.*}}spir_func double @[[DOUBLE_FUNC_NAME]](double addrspace(1)*, i32, i32, double)
declare dso_local spir_func double @_Z21__spirv_AtomicFMaxEXTPU3AS1dN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagEd(double addrspace(1)*, i32, i32, double) local_unnamed_addr #1
+; CHECK-LLVM-SPV: declare {{.*}}spir_func double @[[DOUBLE_FUNC_NAME]](double
-attributes #0 = { convergent norecurse "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "uniform-work-group-size"="true" "unsafe-fp-math"="false" "use-soft-float"="false" }
+; CHECK-LLVM-CL: declare {{.*}}spir_func float @[[FLOAT_FUNC_NAME]](float
+; CHECK-LLVM-CL: declare {{.*}}spir_func double @[[DOUBLE_FUNC_NAME]](double
+
+attributes #0 = { convergent norecurse nounwind "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "uniform-work-group-size"="true" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #1 = { convergent "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #2 = { convergent nounwind }
@@ -95,29 +68,5 @@ attributes #2 = { convergent nounwind }
!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 1, i32 2}
!2 = !{i32 4, i32 100000}
-!3 = !{!"clang version 12.0.0"}
-!4 = !{i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1}
-!5 = !{!6, !8, !10, !12}
-!6 = distinct !{!6, !7, !"_ZN7__spirv29InitSizesSTGlobalInvocationIdILi1EN2cl4sycl2idILi1EEEE8initSizeEv: %agg.result"}
-!7 = distinct !{!7, !"_ZN7__spirv29InitSizesSTGlobalInvocationIdILi1EN2cl4sycl2idILi1EEEE8initSizeEv"}
-!8 = distinct !{!8, !9, !"_ZN7__spirvL22initGlobalInvocationIdILi1EN2cl4sycl2idILi1EEEEET0_v: %agg.result"}
-!9 = distinct !{!9, !"_ZN7__spirvL22initGlobalInvocationIdILi1EN2cl4sycl2idILi1EEEEET0_v"}
-!10 = distinct !{!10, !11, !"_ZN2cl4sycl6detail7Builder7getItemILi1ELb1EEENSt9enable_ifIXT0_EKNS0_4itemIXT_EXT0_EEEE4typeEv: %agg.result"}
-!11 = distinct !{!11, !"_ZN2cl4sycl6detail7Builder7getItemILi1ELb1EEENSt9enable_ifIXT0_EKNS0_4itemIXT_EXT0_EEEE4typeEv"}
-!12 = distinct !{!12, !13, !"_ZN2cl4sycl6detail7Builder10getElementILi1ELb1EEEDTcl7getItemIXT_EXT0_EEEEPNS0_4itemIXT_EXT0_EEE: %agg.result"}
-!13 = distinct !{!13, !"_ZN2cl4sycl6detail7Builder10getElementILi1ELb1EEEDTcl7getItemIXT_EXT0_EEEEPNS0_4itemIXT_EXT0_EEE"}
-!14 = !{!15, !15, i64 0}
-!15 = !{!"float", !16, i64 0}
-!16 = !{!"omnipotent char", !17, i64 0}
-!17 = !{!"Simple C++ TBAA"}
-!18 = !{!19, !21, !23, !25}
-!19 = distinct !{!19, !20, !"_ZN7__spirv29InitSizesSTGlobalInvocationIdILi1EN2cl4sycl2idILi1EEEE8initSizeEv: %agg.result"}
-!20 = distinct !{!20, !"_ZN7__spirv29InitSizesSTGlobalInvocationIdILi1EN2cl4sycl2idILi1EEEE8initSizeEv"}
-!21 = distinct !{!21, !22, !"_ZN7__spirvL22initGlobalInvocationIdILi1EN2cl4sycl2idILi1EEEEET0_v: %agg.result"}
-!22 = distinct !{!22, !"_ZN7__spirvL22initGlobalInvocationIdILi1EN2cl4sycl2idILi1EEEEET0_v"}
-!23 = distinct !{!23, !24, !"_ZN2cl4sycl6detail7Builder7getItemILi1ELb1EEENSt9enable_ifIXT0_EKNS0_4itemIXT_EXT0_EEEE4typeEv: %agg.result"}
-!24 = distinct !{!24, !"_ZN2cl4sycl6detail7Builder7getItemILi1ELb1EEENSt9enable_ifIXT0_EKNS0_4itemIXT_EXT0_EEEE4typeEv"}
-!25 = distinct !{!25, !26, !"_ZN2cl4sycl6detail7Builder10getElementILi1ELb1EEEDTcl7getItemIXT_EXT0_EEEEPNS0_4itemIXT_EXT0_EEE: %agg.result"}
-!26 = distinct !{!26, !"_ZN2cl4sycl6detail7Builder10getElementILi1ELb1EEEDTcl7getItemIXT_EXT0_EEEEPNS0_4itemIXT_EXT0_EEE"}
-!27 = !{!28, !28, i64 0}
-!28 = !{!"double", !16, i64 0}
+!3 = !{!"clang version 13.0.0"}
+
diff --git a/test/AtomicFMaxEXTForOCL.ll b/test/AtomicFMaxEXTForOCL.ll
new file mode 100644
index 00000000..1f2530d9
--- /dev/null
+++ b/test/AtomicFMaxEXTForOCL.ll
@@ -0,0 +1,64 @@
+; RUN: llvm-as %s -o %t.bc
+; RUN: llvm-spirv %t.bc --spirv-ext=+SPV_EXT_shader_atomic_float_min_max -o %t.spv
+; RUN: spirv-val %t.spv
+; RUN: llvm-spirv -to-text %t.spv -o %t.spt
+; RUN: FileCheck < %t.spt %s --check-prefix=CHECK-SPIRV
+
+; RUN: llvm-spirv --spirv-target-env=CL2.0 -r %t.spv -o %t.rev.bc
+; RUN: llvm-dis %t.rev.bc -o - | FileCheck %s --check-prefixes=CHECK-LLVM-CL,CHECK-LLVM-CL20
+
+; RUN: llvm-spirv --spirv-target-env=SPV-IR -r %t.spv -o %t.rev.bc
+; RUN: llvm-dis %t.rev.bc -o - | FileCheck %s --check-prefixes=CHECK-LLVM-SPV
+
+target datalayout = "e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024"
+target triple = "spir-unknown-unknown"
+
+; CHECK-SPIRV: Capability AtomicFloat32MinMaxEXT
+; CHECK-SPIRV: Capability AtomicFloat64MinMaxEXT
+; CHECK-SPIRV: Extension "SPV_EXT_shader_atomic_float_min_max"
+; CHECK-SPIRV: TypeFloat [[TYPE_FLOAT_32:[0-9]+]] 32
+; CHECK-SPIRV: TypeFloat [[TYPE_FLOAT_64:[0-9]+]] 64
+
+; Function Attrs: convergent norecurse nounwind
+define dso_local spir_func void @test_float(float addrspace(1)* %a) local_unnamed_addr #0 {
+entry:
+ ; CHECK-SPIRV: 7 AtomicFMaxEXT [[TYPE_FLOAT_32]]
+ ; CHECK-LLVM-CL20: call spir_func float @[[FLOAT_FUNC_NAME:_Z25atomic_fetch_max_explicit[[:alnum:]]+_Atomicff[a-zA-Z0-9_]+]]({{.*}})
+ ; CHECK-LLVM-SPV: call spir_func float @[[FLOAT_FUNC_NAME:_Z21__spirv_AtomicFMaxEXT[[:alnum:]]+fiif]]({{.*}})
+ %call = tail call spir_func float @_Z25atomic_fetch_max_explicitPU3AS1VU7_Atomicff12memory_order(float addrspace(1)* %a, float 0.000000e+00, i32 0) #2
+ ret void
+}
+
+; Function Attrs: convergent
+declare spir_func float @_Z25atomic_fetch_max_explicitPU3AS1VU7_Atomicff12memory_order(float addrspace(1)*, float, i32) local_unnamed_addr #1
+; CHECK-LLVM-SPV: declare {{.*}}spir_func float @[[FLOAT_FUNC_NAME]](float
+
+; Function Attrs: convergent norecurse nounwind
+define dso_local spir_func void @test_double(double addrspace(1)* %a) local_unnamed_addr #0 {
+entry:
+ ; CHECK-SPIRV: 7 AtomicFMaxEXT [[TYPE_FLOAT_64]]
+ ; CHECK-LLVM-CL20: call spir_func double @[[DOUBLE_FUNC_NAME:_Z25atomic_fetch_max_explicit[[:alnum:]]+_Atomicdd[a-zA-Z0-9_]+]]({{.*}})
+ ; CHECK-LLVM-SPV: call spir_func double @[[DOUBLE_FUNC_NAME:_Z21__spirv_AtomicFMaxEXT[[:alnum:]]+diid]]({{.*}})
+ %call = tail call spir_func double @_Z25atomic_fetch_max_explicitPU3AS1VU7_Atomicdd12memory_order(double addrspace(1)* %a, double 0.000000e+00, i32 0) #2
+ ret void
+}
+
+; Function Attrs: convergent
+declare spir_func double @_Z25atomic_fetch_max_explicitPU3AS1VU7_Atomicdd12memory_order(double addrspace(1)*, double, i32) local_unnamed_addr #1
+; CHECK-LLVM-SPV: declare {{.*}}spir_func double @[[DOUBLE_FUNC_NAME]](double
+
+; CHECK-LLVM-CL: declare {{.*}}spir_func float @[[FLOAT_FUNC_NAME]](float
+; CHECK-LLVM-CL: declare {{.*}}spir_func double @[[DOUBLE_FUNC_NAME]](double
+
+attributes #0 = { convergent norecurse nounwind "frame-pointer"="none" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" }
+attributes #1 = { convergent "frame-pointer"="none" "no-trapping-math"="true" "stack-protector-buffer-size"="8" }
+attributes #2 = { convergent nounwind }
+
+!llvm.module.flags = !{!0}
+!opencl.ocl.version = !{!1}
+!opencl.spir.version = !{!1}
+!llvm.ident = !{!2}
+
+!0 = !{i32 1, !"wchar_size", i32 4}
+!1 = !{i32 2, i32 0}
+!2 = !{!"clang version 13.0.0 (https://github.com/llvm/llvm-project.git 94aa388f0ce0723bb15503cf41c2c15b288375b9)"}
diff --git a/test/AtomicFMinEXT.ll b/test/AtomicFMinEXT.ll
index 98c98b8e..9e40a669 100644
--- a/test/AtomicFMinEXT.ll
+++ b/test/AtomicFMinEXT.ll
@@ -4,20 +4,16 @@
; RUN: FileCheck < %t.spt %s --check-prefix=CHECK-SPIRV
; RUN: llvm-spirv -r %t.spv -o %t.rev.bc
-; RUN: llvm-dis %t.rev.bc -o - | FileCheck %s --check-prefix=CHECK-LLVM
+; RUN: llvm-dis %t.rev.bc -o - | FileCheck %s --check-prefixes=CHECK-LLVM-CL,CHECK-LLVM-CL12
-target datalayout = "e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-n8:16:32:64"
-target triple = "spir64-unknown-unknown-sycldevice"
-
-%"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range" = type { %"class._ZTSN2cl4sycl6detail5arrayILi1EEE.cl::sycl::detail::array" }
-%"class._ZTSN2cl4sycl6detail5arrayILi1EEE.cl::sycl::detail::array" = type { [1 x i64] }
-%"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id" = type { %"class._ZTSN2cl4sycl6detail5arrayILi1EEE.cl::sycl::detail::array" }
-
-$_ZTSZZ8min_testIfEvN2cl4sycl5queueEmENKUlRNS1_7handlerEE16_14clES4_EUlNS1_4itemILi1ELb1EEEE19_37 = comdat any
+; RUN: llvm-spirv --spirv-target-env=CL2.0 -r %t.spv -o %t.rev.bc
+; RUN: llvm-dis %t.rev.bc -o - | FileCheck %s --check-prefixes=CHECK-LLVM-CL,CHECK-LLVM-CL20
-$_ZTSZZ8min_testIdEvN2cl4sycl5queueEmENKUlRNS1_7handlerEE16_14clES4_EUlNS1_4itemILi1ELb1EEEE19_37 = comdat any
+; RUN: llvm-spirv --spirv-target-env=SPV-IR -r %t.spv -o %t.rev.bc
+; RUN: llvm-dis %t.rev.bc -o - | FileCheck %s --check-prefixes=CHECK-LLVM-SPV
-@__spirv_BuiltInGlobalInvocationId = external dso_local local_unnamed_addr addrspace(1) constant <3 x i64>, align 32
+target datalayout = "e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-n8:16:32:64"
+target triple = "spir64-unknown-unknown-sycldevice"
; CHECK-SPIRV: Capability AtomicFloat32MinMaxEXT
; CHECK-SPIRV: Capability AtomicFloat64MinMaxEXT
@@ -25,65 +21,42 @@ $_ZTSZZ8min_testIdEvN2cl4sycl5queueEmENKUlRNS1_7handlerEE16_14clES4_EUlNS1_4item
; CHECK-SPIRV: TypeFloat [[TYPE_FLOAT_32:[0-9]+]] 32
; CHECK-SPIRV: TypeFloat [[TYPE_FLOAT_64:[0-9]+]] 64
-; Function Attrs: convergent norecurse
-define weak_odr dso_local spir_kernel void @_ZTSZZ8min_testIfEvN2cl4sycl5queueEmENKUlRNS1_7handlerEE16_14clES4_EUlNS1_4itemILi1ELb1EEEE19_37(float addrspace(1)* %_arg_, %"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range"* byval(%"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range") align 8 %_arg_1, %"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range"* byval(%"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range") align 8 %_arg_2, %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id"* byval(%"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id") align 8 %_arg_3, float addrspace(1)* %_arg_4, %"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range"* byval(%"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range") align 8 %_arg_6, %"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range"* byval(%"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range") align 8 %_arg_7, %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id"* byval(%"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id") align 8 %_arg_8) local_unnamed_addr #0 comdat !kernel_arg_buffer_location !4 {
+; Function Attrs: convergent norecurse nounwind
+define dso_local spir_func float @_Z14AtomicFloatMinRf(float addrspace(4)* align 4 dereferenceable(4) %Arg) local_unnamed_addr #0 {
entry:
- %0 = getelementptr inbounds %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id", %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id"* %_arg_3, i64 0, i32 0, i32 0, i64 0
- %1 = load i64, i64* %0, align 8
- %add.ptr.i29 = getelementptr inbounds float, float addrspace(1)* %_arg_, i64 %1
- %2 = getelementptr inbounds %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id", %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id"* %_arg_8, i64 0, i32 0, i32 0, i64 0
- %3 = load i64, i64* %2, align 8
- %add.ptr.i = getelementptr inbounds float, float addrspace(1)* %_arg_4, i64 %3
- %4 = load <3 x i64>, <3 x i64> addrspace(4)* addrspacecast (<3 x i64> addrspace(1)* @__spirv_BuiltInGlobalInvocationId to <3 x i64> addrspace(4)*), align 32, !noalias !5
- %5 = extractelement <3 x i64> %4, i64 0
- %conv.i = trunc i64 %5 to i32
- %conv3.i = sitofp i32 %conv.i to float
- %add.i = fadd float %conv3.i, 1.000000e+00
+ %0 = addrspacecast float addrspace(4)* %Arg to float addrspace(1)*
; CHECK-SPIRV: 7 AtomicFMinEXT [[TYPE_FLOAT_32]]
- ; CHECK-LLVM: call spir_func float @[[FLOAT_FUNC_NAME:_Z21__spirv_AtomicFMinEXT[[:alnum:]]+]]({{.*}})
- %call3.i.i.i = tail call spir_func float @_Z21__spirv_AtomicFMinEXTPU3AS1fN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagEf(float addrspace(1)* %add.ptr.i29, i32 1, i32 896, float %add.i) #2
- %sext.i = shl i64 %5, 32
- %conv6.i = ashr exact i64 %sext.i, 32
- %ptridx.i.i = getelementptr inbounds float, float addrspace(1)* %add.ptr.i, i64 %conv6.i
- %ptridx.ascast.i.i = addrspacecast float addrspace(1)* %ptridx.i.i to float addrspace(4)*
- store float %call3.i.i.i, float addrspace(4)* %ptridx.ascast.i.i, align 4, !tbaa !14
- ret void
+ ; CHECK-LLVM-CL12: call spir_func float @[[FLOAT_FUNC_NAME:_Z10atomic_min[[:alnum:]]+ff]]({{.*}})
+ ; CHECK-LLVM-CL20: call spir_func float @[[FLOAT_FUNC_NAME:_Z25atomic_fetch_min_explicit[[:alnum:]]+_Atomicff[a-zA-Z0-9_]+]]({{.*}})
+ ; CHECK-LLVM-SPV: call spir_func float @[[FLOAT_FUNC_NAME:_Z21__spirv_AtomicFMinEXT[[:alnum:]]+fiif]]({{.*}})
+ %call.i.i.i = tail call spir_func float @_Z21__spirv_AtomicFMinEXTPU3AS1fN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagEf(float addrspace(1)* %0, i32 1, i32 896, float 1.000000e+00) #2
+ ret float %call.i.i.i
}
; Function Attrs: convergent
-; CHECK-LLVM: declare {{.*}}spir_func float @[[FLOAT_FUNC_NAME]](float addrspace(1)*, i32, i32, float)
declare dso_local spir_func float @_Z21__spirv_AtomicFMinEXTPU3AS1fN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagEf(float addrspace(1)*, i32, i32, float) local_unnamed_addr #1
+; CHECK-LLVM-SPV: declare {{.*}}spir_func float @[[FLOAT_FUNC_NAME]](float
-; Function Attrs: convergent norecurse
-define weak_odr dso_local spir_kernel void @_ZTSZZ8min_testIdEvN2cl4sycl5queueEmENKUlRNS1_7handlerEE16_14clES4_EUlNS1_4itemILi1ELb1EEEE19_37(double addrspace(1)* %_arg_, %"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range"* byval(%"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range") align 8 %_arg_1, %"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range"* byval(%"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range") align 8 %_arg_2, %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id"* byval(%"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id") align 8 %_arg_3, double addrspace(1)* %_arg_4, %"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range"* byval(%"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range") align 8 %_arg_6, %"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range"* byval(%"class._ZTSN2cl4sycl5rangeILi1EEE.cl::sycl::range") align 8 %_arg_7, %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id"* byval(%"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id") align 8 %_arg_8) local_unnamed_addr #0 comdat !kernel_arg_buffer_location !4 {
+; Function Attrs: convergent norecurse nounwind
+define dso_local spir_func double @_Z15AtomicDoubleMinRd(double addrspace(4)* align 8 dereferenceable(8) %Arg) local_unnamed_addr #0 {
entry:
- %0 = getelementptr inbounds %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id", %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id"* %_arg_3, i64 0, i32 0, i32 0, i64 0
- %1 = load i64, i64* %0, align 8
- %add.ptr.i29 = getelementptr inbounds double, double addrspace(1)* %_arg_, i64 %1
- %2 = getelementptr inbounds %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id", %"class._ZTSN2cl4sycl2idILi1EEE.cl::sycl::id"* %_arg_8, i64 0, i32 0, i32 0, i64 0
- %3 = load i64, i64* %2, align 8
- %add.ptr.i = getelementptr inbounds double, double addrspace(1)* %_arg_4, i64 %3
- %4 = load <3 x i64>, <3 x i64> addrspace(4)* addrspacecast (<3 x i64> addrspace(1)* @__spirv_BuiltInGlobalInvocationId to <3 x i64> addrspace(4)*), align 32, !noalias !18
- %5 = extractelement <3 x i64> %4, i64 0
- %conv.i = trunc i64 %5 to i32
- %conv3.i = sitofp i32 %conv.i to double
- %add.i = fadd double %conv3.i, 1.000000e+00
+ %0 = addrspacecast double addrspace(4)* %Arg to double addrspace(1)*
; CHECK-SPIRV: 7 AtomicFMinEXT [[TYPE_FLOAT_64]]
- ; CHECK-LLVM: call spir_func double @[[DOUBLE_FUNC_NAME:_Z21__spirv_AtomicFMinEXT[[:alnum:]]+]]({{.*}})
- %call3.i.i.i = tail call spir_func double @_Z21__spirv_AtomicFMinEXTPU3AS1dN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagEd(double addrspace(1)* %add.ptr.i29, i32 1, i32 896, double %add.i) #2
- %sext.i = shl i64 %5, 32
- %conv6.i = ashr exact i64 %sext.i, 32
- %ptridx.i.i = getelementptr inbounds double, double addrspace(1)* %add.ptr.i, i64 %conv6.i
- %ptridx.ascast.i.i = addrspacecast double addrspace(1)* %ptridx.i.i to double addrspace(4)*
- store double %call3.i.i.i, double addrspace(4)* %ptridx.ascast.i.i, align 8, !tbaa !27
- ret void
+ ; CHECK-LLVM-CL12: call spir_func double @[[DOUBLE_FUNC_NAME:_Z10atomic_min[[:alnum:]]+dd]]({{.*}})
+ ; CHECK-LLVM-CL20: call spir_func double @[[DOUBLE_FUNC_NAME:_Z25atomic_fetch_min_explicit[[:alnum:]]+_Atomicdd[a-zA-Z0-9_]+]]({{.*}})
+ ; CHECK-LLVM-SPV: call spir_func double @[[DOUBLE_FUNC_NAME:_Z21__spirv_AtomicFMinEXT[[:alnum:]]+diid]]({{.*}})
+ %call.i.i.i = tail call spir_func double @_Z21__spirv_AtomicFMinEXTPU3AS1dN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagEd(double addrspace(1)* %0, i32 1, i32 896, double 1.000000e+00) #2
+ ret double %call.i.i.i
}
; Function Attrs: convergent
-; CHECK-LLVM: declare {{.*}}spir_func double @[[DOUBLE_FUNC_NAME]](double addrspace(1)*, i32, i32, double)
declare dso_local spir_func double @_Z21__spirv_AtomicFMinEXTPU3AS1dN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagEd(double addrspace(1)*, i32, i32, double) local_unnamed_addr #1
+; CHECK-LLVM-SPV: declare {{.*}}spir_func double @[[DOUBLE_FUNC_NAME]](double
-attributes #0 = { convergent norecurse "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "uniform-work-group-size"="true" "unsafe-fp-math"="false" "use-soft-float"="false" }
+; CHECK-LLVM-CL: declare {{.*}}spir_func float @[[FLOAT_FUNC_NAME]](float
+; CHECK-LLVM-CL: declare {{.*}}spir_func double @[[DOUBLE_FUNC_NAME]](double
+
+attributes #0 = { convergent norecurse nounwind "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "uniform-work-group-size"="true" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #1 = { convergent "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #2 = { convergent nounwind }
@@ -95,29 +68,5 @@ attributes #2 = { convergent nounwind }
!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 1, i32 2}
!2 = !{i32 4, i32 100000}
-!3 = !{!"clang version 12.0.0 (https://github.com/otcshare/llvm.git 67add71766d55d6a8d8d894822f583d6365a3b7d)"}
-!4 = !{i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1}
-!5 = !{!6, !8, !10, !12}
-!6 = distinct !{!6, !7, !"_ZN7__spirv29InitSizesSTGlobalInvocationIdILi1EN2cl4sycl2idILi1EEEE8initSizeEv: %agg.result"}
-!7 = distinct !{!7, !"_ZN7__spirv29InitSizesSTGlobalInvocationIdILi1EN2cl4sycl2idILi1EEEE8initSizeEv"}
-!8 = distinct !{!8, !9, !"_ZN7__spirvL22initGlobalInvocationIdILi1EN2cl4sycl2idILi1EEEEET0_v: %agg.result"}
-!9 = distinct !{!9, !"_ZN7__spirvL22initGlobalInvocationIdILi1EN2cl4sycl2idILi1EEEEET0_v"}
-!10 = distinct !{!10, !11, !"_ZN2cl4sycl6detail7Builder7getItemILi1ELb1EEENSt9enable_ifIXT0_EKNS0_4itemIXT_EXT0_EEEE4typeEv: %agg.result"}
-!11 = distinct !{!11, !"_ZN2cl4sycl6detail7Builder7getItemILi1ELb1EEENSt9enable_ifIXT0_EKNS0_4itemIXT_EXT0_EEEE4typeEv"}
-!12 = distinct !{!12, !13, !"_ZN2cl4sycl6detail7Builder10getElementILi1ELb1EEEDTcl7getItemIXT_EXT0_EEEEPNS0_4itemIXT_EXT0_EEE: %agg.result"}
-!13 = distinct !{!13, !"_ZN2cl4sycl6detail7Builder10getElementILi1ELb1EEEDTcl7getItemIXT_EXT0_EEEEPNS0_4itemIXT_EXT0_EEE"}
-!14 = !{!15, !15, i64 0}
-!15 = !{!"float", !16, i64 0}
-!16 = !{!"omnipotent char", !17, i64 0}
-!17 = !{!"Simple C++ TBAA"}
-!18 = !{!19, !21, !23, !25}
-!19 = distinct !{!19, !20, !"_ZN7__spirv29InitSizesSTGlobalInvocationIdILi1EN2cl4sycl2idILi1EEEE8initSizeEv: %agg.result"}
-!20 = distinct !{!20, !"_ZN7__spirv29InitSizesSTGlobalInvocationIdILi1EN2cl4sycl2idILi1EEEE8initSizeEv"}
-!21 = distinct !{!21, !22, !"_ZN7__spirvL22initGlobalInvocationIdILi1EN2cl4sycl2idILi1EEEEET0_v: %agg.result"}
-!22 = distinct !{!22, !"_ZN7__spirvL22initGlobalInvocationIdILi1EN2cl4sycl2idILi1EEEEET0_v"}
-!23 = distinct !{!23, !24, !"_ZN2cl4sycl6detail7Builder7getItemILi1ELb1EEENSt9enable_ifIXT0_EKNS0_4itemIXT_EXT0_EEEE4typeEv: %agg.result"}
-!24 = distinct !{!24, !"_ZN2cl4sycl6detail7Builder7getItemILi1ELb1EEENSt9enable_ifIXT0_EKNS0_4itemIXT_EXT0_EEEE4typeEv"}
-!25 = distinct !{!25, !26, !"_ZN2cl4sycl6detail7Builder10getElementILi1ELb1EEEDTcl7getItemIXT_EXT0_EEEEPNS0_4itemIXT_EXT0_EEE: %agg.result"}
-!26 = distinct !{!26, !"_ZN2cl4sycl6detail7Builder10getElementILi1ELb1EEEDTcl7getItemIXT_EXT0_EEEEPNS0_4itemIXT_EXT0_EEE"}
-!27 = !{!28, !28, i64 0}
-!28 = !{!"double", !16, i64 0}
+!3 = !{!"clang version 13.0.0"}
+
diff --git a/test/AtomicFMinEXTForOCL.ll b/test/AtomicFMinEXTForOCL.ll
new file mode 100644
index 00000000..6196b0f8
--- /dev/null
+++ b/test/AtomicFMinEXTForOCL.ll
@@ -0,0 +1,64 @@
+; RUN: llvm-as %s -o %t.bc
+; RUN: llvm-spirv %t.bc --spirv-ext=+SPV_EXT_shader_atomic_float_min_max -o %t.spv
+; RUN: spirv-val %t.spv
+; RUN: llvm-spirv -to-text %t.spv -o %t.spt
+; RUN: FileCheck < %t.spt %s --check-prefix=CHECK-SPIRV
+
+; RUN: llvm-spirv --spirv-target-env=CL2.0 -r %t.spv -o %t.rev.bc
+; RUN: llvm-dis %t.rev.bc -o - | FileCheck %s --check-prefixes=CHECK-LLVM-CL,CHECK-LLVM-CL20
+
+; RUN: llvm-spirv --spirv-target-env=SPV-IR -r %t.spv -o %t.rev.bc
+; RUN: llvm-dis %t.rev.bc -o - | FileCheck %s --check-prefixes=CHECK-LLVM-SPV
+
+target datalayout = "e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024"
+target triple = "spir-unknown-unknown"
+
+; CHECK-SPIRV: Capability AtomicFloat32MinMaxEXT
+; CHECK-SPIRV: Capability AtomicFloat64MinMaxEXT
+; CHECK-SPIRV: Extension "SPV_EXT_shader_atomic_float_min_max"
+; CHECK-SPIRV: TypeFloat [[TYPE_FLOAT_32:[0-9]+]] 32
+; CHECK-SPIRV: TypeFloat [[TYPE_FLOAT_64:[0-9]+]] 64
+
+; Function Attrs: convergent norecurse nounwind
+define dso_local spir_func void @test_float(float addrspace(1)* %a) local_unnamed_addr #0 {
+entry:
+ ; CHECK-SPIRV: 7 AtomicFMinEXT [[TYPE_FLOAT_32]]
+ ; CHECK-LLVM-CL20: call spir_func float @[[FLOAT_FUNC_NAME:_Z25atomic_fetch_min_explicit[[:alnum:]]+_Atomicff[a-zA-Z0-9_]+]]({{.*}})
+ ; CHECK-LLVM-SPV: call spir_func float @[[FLOAT_FUNC_NAME:_Z21__spirv_AtomicFMinEXT[[:alnum:]]+fiif]]({{.*}})
+ %call = tail call spir_func float @_Z25atomic_fetch_min_explicitPU3AS1VU7_Atomicff12memory_order(float addrspace(1)* %a, float 0.000000e+00, i32 0) #2
+ ret void
+}
+
+; Function Attrs: convergent
+declare spir_func float @_Z25atomic_fetch_min_explicitPU3AS1VU7_Atomicff12memory_order(float addrspace(1)*, float, i32) local_unnamed_addr #1
+; CHECK-LLVM-SPV: declare {{.*}}spir_func float @[[FLOAT_FUNC_NAME]](float
+
+; Function Attrs: convergent norecurse nounwind
+define dso_local spir_func void @test_double(double addrspace(1)* %a) local_unnamed_addr #0 {
+entry:
+ ; CHECK-SPIRV: 7 AtomicFMinEXT [[TYPE_FLOAT_64]]
+ ; CHECK-LLVM-CL20: call spir_func double @[[DOUBLE_FUNC_NAME:_Z25atomic_fetch_min_explicit[[:alnum:]]+_Atomicdd[a-zA-Z0-9_]+]]({{.*}})
+ ; CHECK-LLVM-SPV: call spir_func double @[[DOUBLE_FUNC_NAME:_Z21__spirv_AtomicFMinEXT[[:alnum:]]+diid]]({{.*}})
+ %call = tail call spir_func double @_Z25atomic_fetch_min_explicitPU3AS1VU7_Atomicdd12memory_order(double addrspace(1)* %a, double 0.000000e+00, i32 0) #2
+ ret void
+}
+
+; Function Attrs: convergent
+declare spir_func double @_Z25atomic_fetch_min_explicitPU3AS1VU7_Atomicdd12memory_order(double addrspace(1)*, double, i32) local_unnamed_addr #1
+; CHECK-LLVM-SPV: declare {{.*}}spir_func double @[[DOUBLE_FUNC_NAME]](double
+
+; CHECK-LLVM-CL: declare {{.*}}spir_func float @[[FLOAT_FUNC_NAME]](float
+; CHECK-LLVM-CL: declare {{.*}}spir_func double @[[DOUBLE_FUNC_NAME]](double
+
+attributes #0 = { convergent norecurse nounwind "frame-pointer"="none" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" }
+attributes #1 = { convergent "frame-pointer"="none" "no-trapping-math"="true" "stack-protector-buffer-size"="8" }
+attributes #2 = { convergent nounwind }
+
+!llvm.module.flags = !{!0}
+!opencl.ocl.version = !{!1}
+!opencl.spir.version = !{!1}
+!llvm.ident = !{!2}
+
+!0 = !{i32 1, !"wchar_size", i32 4}
+!1 = !{i32 2, i32 0}
+!2 = !{!"clang version 13.0.0 (https://github.com/llvm/llvm-project.git 94aa388f0ce0723bb15503cf41c2c15b288375b9)"}
diff --git a/test/InvalidAtomicBuiltins.cl b/test/InvalidAtomicBuiltins.cl
index b8ec5b89..2182f070 100644
--- a/test/InvalidAtomicBuiltins.cl
+++ b/test/InvalidAtomicBuiltins.cl
@@ -41,13 +41,9 @@ float __attribute__((overloadable)) atomic_fetch_xor(volatile generic atomic_flo
double __attribute__((overloadable)) atomic_fetch_and(volatile generic atomic_double *object, double operand, memory_order order);
double __attribute__((overloadable)) atomic_fetch_max(volatile generic atomic_double *object, double operand, memory_order order);
double __attribute__((overloadable)) atomic_fetch_min(volatile generic atomic_double *object, double operand, memory_order order);
-float __attribute__((overloadable)) atomic_fetch_add_explicit(volatile generic atomic_float *object, float operand, memory_order order);
-float __attribute__((overloadable)) atomic_fetch_sub_explicit(volatile generic atomic_float *object, float operand, memory_order order);
float __attribute__((overloadable)) atomic_fetch_or_explicit(volatile generic atomic_float *object, float operand, memory_order order);
float __attribute__((overloadable)) atomic_fetch_xor_explicit(volatile generic atomic_float *object, float operand, memory_order order);
double __attribute__((overloadable)) atomic_fetch_and_explicit(volatile generic atomic_double *object, double operand, memory_order order);
-double __attribute__((overloadable)) atomic_fetch_max_explicit(volatile generic atomic_double *object, double operand, memory_order order);
-double __attribute__((overloadable)) atomic_fetch_min_explicit(volatile generic atomic_double *object, double operand, memory_order order);
__kernel void test_atomic_fn(volatile __global float *p,
volatile __global double *pp,
@@ -86,11 +82,7 @@ __kernel void test_atomic_fn(volatile __global float *p,
d = atomic_fetch_and(pp, val, order);
d = atomic_fetch_min(pp, val, order);
d = atomic_fetch_max(pp, val, order);
- f = atomic_fetch_add_explicit(p, val, order);
- f = atomic_fetch_sub_explicit(p, val, order);
f = atomic_fetch_or_explicit(p, val, order);
f = atomic_fetch_xor_explicit(p, val, order);
d = atomic_fetch_and_explicit(pp, val, order);
- d = atomic_fetch_min_explicit(pp, val, order);
- d = atomic_fetch_max_explicit(pp, val, order);
}
--
2.17.1

View File

@ -1,35 +0,0 @@
From cfb18b75e8a353bc7486f337541476a36994b063 Mon Sep 17 00:00:00 2001
From: juanrod2 <>
Date: Tue, 22 Dec 2020 08:33:08 +0800
Subject: [PATCH 3/7] Memory leak fix for Managed Static Mutex
Upstream-Status: Backport [Taken from opencl-clang patches; https://github.com/intel/opencl-clang/blob/ocl-open-100/patches/llvm/0001-Memory-leak-fix-for-Managed-Static-Mutex.patch]
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Cleaning a mutex inside ManagedStatic llvm class.
---
llvm/lib/Support/ManagedStatic.cpp | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/llvm/lib/Support/ManagedStatic.cpp b/llvm/lib/Support/ManagedStatic.cpp
index 053493f72fb5..6571580ccecf 100644
--- a/llvm/lib/Support/ManagedStatic.cpp
+++ b/llvm/lib/Support/ManagedStatic.cpp
@@ -76,8 +76,12 @@ void ManagedStaticBase::destroy() const {
/// llvm_shutdown - Deallocate and destroy all ManagedStatic variables.
void llvm::llvm_shutdown() {
- std::lock_guard<std::recursive_mutex> Lock(*getManagedStaticMutex());
+ getManagedStaticMutex()->lock();
while (StaticList)
StaticList->destroy();
+
+ getManagedStaticMutex()->unlock();
+ delete ManagedStaticMutex;
+ ManagedStaticMutex = nullptr;
}
--
2.17.1

View File

@ -1,49 +0,0 @@
From b794037bf1f90a93efa4c542855ad569cb13b4c5 Mon Sep 17 00:00:00 2001
From: Feng Zou <feng.zou@intel.com>
Date: Mon, 19 Oct 2020 14:43:38 +0800
Subject: [PATCH 4/7] Remove repo name in LLVM IR
Upstream-Status: Backport [Taken from opencl-clang patches, https://github.com/intel/opencl-clang/blob/ocl-open-100/patches/llvm/0003-Remove-repo-name-in-LLVM-IR.patch]
Signed-off-by: Feng Zou <feng.zou@intel.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
llvm/cmake/modules/VersionFromVCS.cmake | 23 ++++++++++++-----------
1 file changed, 12 insertions(+), 11 deletions(-)
diff --git a/llvm/cmake/modules/VersionFromVCS.cmake b/llvm/cmake/modules/VersionFromVCS.cmake
index 1b6519b4b7c4..8fd6b23bb345 100644
--- a/llvm/cmake/modules/VersionFromVCS.cmake
+++ b/llvm/cmake/modules/VersionFromVCS.cmake
@@ -33,17 +33,18 @@ function(get_source_info path revision repository)
else()
set(remote "origin")
endif()
- execute_process(COMMAND ${GIT_EXECUTABLE} remote get-url ${remote}
- WORKING_DIRECTORY ${path}
- RESULT_VARIABLE git_result
- OUTPUT_VARIABLE git_output
- ERROR_QUIET)
- if(git_result EQUAL 0)
- string(STRIP "${git_output}" git_output)
- set(${repository} ${git_output} PARENT_SCOPE)
- else()
- set(${repository} ${path} PARENT_SCOPE)
- endif()
+ # Do not show repo name in IR
+ # execute_process(COMMAND ${GIT_EXECUTABLE} remote get-url ${remote}
+ # WORKING_DIRECTORY ${path}
+ # RESULT_VARIABLE git_result
+ # OUTPUT_VARIABLE git_output
+ # ERROR_QUIET)
+ # if(git_result EQUAL 0)
+ # string(STRIP "${git_output}" git_output)
+ # set(${repository} ${git_output} PARENT_SCOPE)
+ # else()
+ # set(${repository} ${path} PARENT_SCOPE)
+ # endif()
endif()
endif()
endfunction()
--
2.17.1

View File

@ -1,47 +0,0 @@
From 3dd4766499d25e5978a5d90001f18e657e875da0 Mon Sep 17 00:00:00 2001
From: haonanya <haonan.yang@intel.com>
Date: Thu, 12 Aug 2021 15:48:34 +0800
Subject: [PATCH 5/7] Remove __IMAGE_SUPPORT__ macro for SPIR since SPIR
doesn't require image support
Upstream-Status: Backport [Taken from opencl-clang patches; https://github.com/intel/opencl-clang/blob/ocl-open-100/patches/clang/0003-Remove-__IMAGE_SUPPORT__-macro-for-SPIR.patch]
Signed-off-by: haonanya <haonan.yang@intel.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
clang/lib/Frontend/InitPreprocessor.cpp | 3 ---
clang/test/Preprocessor/predefined-macros.c | 4 ----
2 files changed, 7 deletions(-)
diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp
index aefd208e6cd3..b4a84636673a 100644
--- a/clang/lib/Frontend/InitPreprocessor.cpp
+++ b/clang/lib/Frontend/InitPreprocessor.cpp
@@ -1108,9 +1108,6 @@ static void InitializePredefinedMacros(const TargetInfo &TI,
if (TI.getSupportedOpenCLOpts().isSupported(#Ext)) \
Builder.defineMacro(#Ext);
#include "clang/Basic/OpenCLExtensions.def"
-
- if (TI.getTriple().isSPIR())
- Builder.defineMacro("__IMAGE_SUPPORT__");
}
if (TI.hasInt128Type() && LangOpts.CPlusPlus && LangOpts.GNUMode) {
diff --git a/clang/test/Preprocessor/predefined-macros.c b/clang/test/Preprocessor/predefined-macros.c
index b088a37ba665..39a222d02faf 100644
--- a/clang/test/Preprocessor/predefined-macros.c
+++ b/clang/test/Preprocessor/predefined-macros.c
@@ -184,10 +184,6 @@
// MSCOPE:#define __OPENCL_MEMORY_SCOPE_WORK_GROUP 1
// MSCOPE:#define __OPENCL_MEMORY_SCOPE_WORK_ITEM 0
-// RUN: %clang_cc1 %s -E -dM -o - -x cl -triple spir-unknown-unknown \
-// RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-SPIR
-// CHECK-SPIR: #define __IMAGE_SUPPORT__ 1
-
// RUN: %clang_cc1 %s -E -dM -o - -x hip -triple amdgcn-amd-amdhsa \
// RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-HIP
// CHECK-HIP-NOT: #define __CUDA_ARCH__
--
2.17.1

View File

@ -1,53 +0,0 @@
From 2c53abd0008bbecfcfe871c6060f4bbf1c94c74a Mon Sep 17 00:00:00 2001
From: Raphael Isemann <teemperor@gmail.com>
Date: Thu, 1 Apr 2021 18:41:44 +0200
Subject: [PATCH 6/7] Avoid calling ParseCommandLineOptions in BackendUtil if
possible
Calling `ParseCommandLineOptions` should only be called from `main` as the
CommandLine setup code isn't thread-safe. As BackendUtil is part of the
generic Clang FrontendAction logic, a process which has several threads executing
Clang FrontendActions will randomly crash in the unsafe setup code.
This patch avoids calling the function unless either the debug-pass option or
limit-float-precision option is set. Without these two options set the
`ParseCommandLineOptions` call doesn't do anything beside parsing
the command line `clang` which doesn't set any options.
See also D99652 where LLDB received a workaround for this crash.
Reviewed By: JDevlieghere
Differential Revision: https://reviews.llvm.org/D99740
Upstream-Status: Backport [Taken from opencl-clang patches; https://github.com/intel/opencl-clang/blob/ocl-open-100/patches/clang/0004-Avoid-calling-ParseCommandLineOptions-in-BackendUtil.patch]
Signed-off-by: Raphael Isemann <teemperor@gmail.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
clang/lib/CodeGen/BackendUtil.cpp | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/clang/lib/CodeGen/BackendUtil.cpp b/clang/lib/CodeGen/BackendUtil.cpp
index 0bfcab88a3a9..db8fd4166d7a 100644
--- a/clang/lib/CodeGen/BackendUtil.cpp
+++ b/clang/lib/CodeGen/BackendUtil.cpp
@@ -743,7 +743,15 @@ static void setCommandLineOpts(const CodeGenOptions &CodeGenOpts) {
BackendArgs.push_back("-limit-float-precision");
BackendArgs.push_back(CodeGenOpts.LimitFloatPrecision.c_str());
}
+ // Check for the default "clang" invocation that won't set any cl::opt values.
+ // Skip trying to parse the command line invocation to avoid the issues
+ // described below.
+ if (BackendArgs.size() == 1)
+ return;
BackendArgs.push_back(nullptr);
+ // FIXME: The command line parser below is not thread-safe and shares a global
+ // state, so this call might crash or overwrite the options of another Clang
+ // instance in the same process.
llvm::cl::ParseCommandLineOptions(BackendArgs.size() - 1,
BackendArgs.data());
}
--
2.17.1

View File

@ -1,377 +0,0 @@
From a685de6fc45afcdbe4a7120e9d5b33e175dd71cd Mon Sep 17 00:00:00 2001
From: haonanya <haonan.yang@intel.com>
Date: Fri, 13 Aug 2021 10:00:02 +0800
Subject: [PATCH 7/7] support cl_ext_float_atomics
Upstream-Status: Backport [Taken from opencl-clang patches; https://github.com/intel/opencl-clang/blob/ocl-open-100/patches/clang/0005-OpenCL-support-cl_ext_float_atomics.patch]
Signed-off-by: haonanya <haonan.yang@intel.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
clang/lib/Headers/opencl-c-base.h | 25 ++++
clang/lib/Headers/opencl-c.h | 208 ++++++++++++++++++++++++++
clang/test/Headers/opencl-c-header.cl | 96 ++++++++++++
3 files changed, 329 insertions(+)
diff --git a/clang/lib/Headers/opencl-c-base.h b/clang/lib/Headers/opencl-c-base.h
index 2cc688ccc3da..86bbee12fdf8 100644
--- a/clang/lib/Headers/opencl-c-base.h
+++ b/clang/lib/Headers/opencl-c-base.h
@@ -14,6 +14,31 @@
#define CL_VERSION_3_0 300
#endif
+#if (defined(__OPENCL_CPP_VERSION__) || __OPENCL_C_VERSION__ >= 200)
+// For SPIR all extensions are supported.
+#if defined(__SPIR__)
+#define cl_ext_float_atomics 1
+#ifdef cl_khr_fp16
+#define __opencl_c_ext_fp16_global_atomic_load_store 1
+#define __opencl_c_ext_fp16_local_atomic_load_store 1
+#define __opencl_c_ext_fp16_global_atomic_add 1
+#define __opencl_c_ext_fp16_local_atomic_add 1
+#define __opencl_c_ext_fp16_global_atomic_min_max 1
+#define __opencl_c_ext_fp16_local_atomic_min_max 1
+#endif
+#ifdef __opencl_c_fp64
+#define __opencl_c_ext_fp64_global_atomic_add 1
+#define __opencl_c_ext_fp64_local_atomic_add 1
+#define __opencl_c_ext_fp64_global_atomic_min_max 1
+#define __opencl_c_ext_fp64_local_atomic_min_max 1
+#endif
+#define __opencl_c_ext_fp32_global_atomic_add 1
+#define __opencl_c_ext_fp32_local_atomic_add 1
+#define __opencl_c_ext_fp32_global_atomic_min_max 1
+#define __opencl_c_ext_fp32_local_atomic_min_max 1
+#endif // defined(__SPIR__)
+#endif // (defined(__OPENCL_CPP_VERSION__) || __OPENCL_C_VERSION__ >= 200)
+
// Define features for 2.0 for header backward compatibility
#ifndef __opencl_c_int64
#define __opencl_c_int64 1
diff --git a/clang/lib/Headers/opencl-c.h b/clang/lib/Headers/opencl-c.h
index 67d900eb1c3d..b463e702d95e 100644
--- a/clang/lib/Headers/opencl-c.h
+++ b/clang/lib/Headers/opencl-c.h
@@ -14354,6 +14354,214 @@ intptr_t __ovld atomic_fetch_max_explicit(
// defined(cl_khr_int64_extended_atomics)
#endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0)
+#if defined(cl_ext_float_atomics)
+
+#if defined(__opencl_c_ext_fp32_global_atomic_min_max)
+float __ovld atomic_fetch_min(volatile __global atomic_float *object,
+ float operand);
+float __ovld atomic_fetch_max(volatile __global atomic_float *object,
+ float operand);
+float __ovld atomic_fetch_min_explicit(volatile __global atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_max_explicit(volatile __global atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_min_explicit(volatile __global atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+float __ovld atomic_fetch_max_explicit(volatile __global atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+#endif // defined(__opencl_c_ext_fp32_global_atomic_min_max)
+
+#if defined(__opencl_c_ext_fp32_local_atomic_min_max)
+float __ovld atomic_fetch_min(volatile __local atomic_float *object,
+ float operand);
+float __ovld atomic_fetch_max(volatile __local atomic_float *object,
+ float operand);
+float __ovld atomic_fetch_min_explicit(volatile __local atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_max_explicit(volatile __local atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_min_explicit(volatile __local atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+float __ovld atomic_fetch_max_explicit(volatile __local atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+#endif // defined(__opencl_c_ext_fp32_local_atomic_min_max)
+
+#if defined(__opencl_c_ext_fp32_global_atomic_min_max) || \
+ defined(__opencl_c_ext_fp32_local_atomic_min_max)
+float __ovld atomic_fetch_min(volatile atomic_float *object, float operand);
+float __ovld atomic_fetch_max(volatile atomic_float *object, float operand);
+float __ovld atomic_fetch_min_explicit(volatile atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_max_explicit(volatile atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_min_explicit(volatile atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+float __ovld atomic_fetch_max_explicit(volatile atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+#endif // defined(__opencl_c_ext_fp32_global_atomic_min_max) || \
+ defined(__opencl_c_ext_fp32_local_atomic_min_max)
+
+#if defined(__opencl_c_ext_fp64_global_atomic_min_max)
+double __ovld atomic_fetch_min(volatile __global atomic_double *object,
+ double operand);
+double __ovld atomic_fetch_max(volatile __global atomic_double *object,
+ double operand);
+double __ovld atomic_fetch_min_explicit(volatile __global atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_max_explicit(volatile __global atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_min_explicit(volatile __global atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+double __ovld atomic_fetch_max_explicit(volatile __global atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+#endif // defined(__opencl_c_ext_fp64_global_atomic_min_max)
+
+#if defined(__opencl_c_ext_fp64_local_atomic_min_max)
+double __ovld atomic_fetch_min(volatile __local atomic_double *object,
+ double operand);
+double __ovld atomic_fetch_max(volatile __local atomic_double *object,
+ double operand);
+double __ovld atomic_fetch_min_explicit(volatile __local atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_max_explicit(volatile __local atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_min_explicit(volatile __local atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+double __ovld atomic_fetch_max_explicit(volatile __local atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+#endif // defined(__opencl_c_ext_fp64_local_atomic_min_max)
+
+#if defined(__opencl_c_ext_fp64_global_atomic_min_max) || \
+ defined(__opencl_c_ext_fp64_local_atomic_min_max)
+double __ovld atomic_fetch_min(volatile atomic_double *object, double operand);
+double __ovld atomic_fetch_max(volatile atomic_double *object, double operand);
+double __ovld atomic_fetch_min_explicit(volatile atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_max_explicit(volatile atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_min_explicit(volatile atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+double __ovld atomic_fetch_max_explicit(volatile atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+#endif // defined(__opencl_c_ext_fp64_global_atomic_min_max) || \
+ defined(__opencl_c_ext_fp64_local_atomic_min_max)
+
+#if defined(__opencl_c_ext_fp32_global_atomic_add)
+float __ovld atomic_fetch_add(volatile __global atomic_float *object,
+ float operand);
+float __ovld atomic_fetch_sub(volatile __global atomic_float *object,
+ float operand);
+float __ovld atomic_fetch_add_explicit(volatile __global atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_sub_explicit(volatile __global atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_add_explicit(volatile __global atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+float __ovld atomic_fetch_sub_explicit(volatile __global atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+#endif // defined(__opencl_c_ext_fp32_global_atomic_add)
+
+#if defined(__opencl_c_ext_fp32_local_atomic_add)
+float __ovld atomic_fetch_add(volatile __local atomic_float *object,
+ float operand);
+float __ovld atomic_fetch_sub(volatile __local atomic_float *object,
+ float operand);
+float __ovld atomic_fetch_add_explicit(volatile __local atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_sub_explicit(volatile __local atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_add_explicit(volatile __local atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+float __ovld atomic_fetch_sub_explicit(volatile __local atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+#endif // defined(__opencl_c_ext_fp32_local_atomic_add)
+
+#if defined(__opencl_c_ext_fp32_global_atomic_add) || \
+ defined(__opencl_c_ext_fp32_local_atomic_add)
+float __ovld atomic_fetch_add(volatile atomic_float *object, float operand);
+float __ovld atomic_fetch_sub(volatile atomic_float *object, float operand);
+float __ovld atomic_fetch_add_explicit(volatile atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_sub_explicit(volatile atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_add_explicit(volatile atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+float __ovld atomic_fetch_sub_explicit(volatile atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+#endif // defined(__opencl_c_ext_fp32_global_atomic_add) || \
+ defined(__opencl_c_ext_fp32_local_atomic_add)
+
+#if defined(__opencl_c_ext_fp64_global_atomic_add)
+double __ovld atomic_fetch_add(volatile __global atomic_double *object,
+ double operand);
+double __ovld atomic_fetch_sub(volatile __global atomic_double *object,
+ double operand);
+double __ovld atomic_fetch_add_explicit(volatile __global atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_sub_explicit(volatile __global atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_add_explicit(volatile __global atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+double __ovld atomic_fetch_sub_explicit(volatile __global atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+#endif // defined(__opencl_c_ext_fp64_global_atomic_add)
+
+#if defined(__opencl_c_ext_fp64_local_atomic_add)
+double __ovld atomic_fetch_add(volatile __local atomic_double *object,
+ double operand);
+double __ovld atomic_fetch_sub(volatile __local atomic_double *object,
+ double operand);
+double __ovld atomic_fetch_add_explicit(volatile __local atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_sub_explicit(volatile __local atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_add_explicit(volatile __local atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+double __ovld atomic_fetch_sub_explicit(volatile __local atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+#endif // defined(__opencl_c_ext_fp64_local_atomic_add)
+
+#if defined(__opencl_c_ext_fp64_global_atomic_add) || \
+ defined(__opencl_c_ext_fp64_local_atomic_add)
+double __ovld atomic_fetch_add(volatile atomic_double *object, double operand);
+double __ovld atomic_fetch_sub(volatile atomic_double *object, double operand);
+double __ovld atomic_fetch_add_explicit(volatile atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_sub_explicit(volatile atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_add_explicit(volatile atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+double __ovld atomic_fetch_sub_explicit(volatile atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+#endif // defined(__opencl_c_ext_fp64_global_atomic_add) || \
+ defined(__opencl_c_ext_fp64_local_atomic_add)
+
+#endif // cl_ext_float_atomics
+
// atomic_store()
#if defined(__opencl_c_atomic_scope_device) && \
diff --git a/clang/test/Headers/opencl-c-header.cl b/clang/test/Headers/opencl-c-header.cl
index 2716076acdcf..7f720cf28142 100644
--- a/clang/test/Headers/opencl-c-header.cl
+++ b/clang/test/Headers/opencl-c-header.cl
@@ -98,3 +98,99 @@ global atomic_int z = ATOMIC_VAR_INIT(99);
#pragma OPENCL EXTENSION cl_intel_planar_yuv : enable
// CHECK-MOD: Reading modules
+
+// For SPIR all extensions are supported.
+#if defined(__SPIR__)
+
+#if (defined(__OPENCL_CPP_VERSION__) || __OPENCL_C_VERSION__ >= 200)
+
+#if __opencl_c_ext_fp16_global_atomic_load_store != 1
+#error "Incorrectly defined __opencl_c_ext_fp16_global_atomic_load_store"
+#endif
+#if __opencl_c_ext_fp16_local_atomic_load_store != 1
+#error "Incorrectly defined __opencl_c_ext_fp16_local_atomic_load_store"
+#endif
+#if __opencl_c_ext_fp16_global_atomic_add != 1
+#error "Incorrectly defined __opencl_c_ext_fp16_global_atomic_add"
+#endif
+#if __opencl_c_ext_fp32_global_atomic_add != 1
+#error "Incorrectly defined __opencl_c_ext_fp32_global_atomic_add"
+#endif
+#if __opencl_c_ext_fp64_global_atomic_add != 1
+#error "Incorrectly defined __opencl_c_ext_fp64_global_atomic_add"
+#endif
+#if __opencl_c_ext_fp16_local_atomic_add != 1
+#error "Incorrectly defined __opencl_c_ext_fp16_local_atomic_add"
+#endif
+#if __opencl_c_ext_fp32_local_atomic_add != 1
+#error "Incorrectly defined __opencl_c_ext_fp32_local_atomic_add"
+#endif
+#if __opencl_c_ext_fp64_local_atomic_add != 1
+#error "Incorrectly defined __opencl_c_ext_fp64_local_atomic_add"
+#endif
+#if __opencl_c_ext_fp16_global_atomic_min_max != 1
+#error "Incorrectly defined __opencl_c_ext_fp16_global_atomic_min_max"
+#endif
+#if __opencl_c_ext_fp32_global_atomic_min_max != 1
+#error "Incorrectly defined __opencl_c_ext_fp32_global_atomic_min_max"
+#endif
+#if __opencl_c_ext_fp64_global_atomic_min_max != 1
+#error "Incorrectly defined __opencl_c_ext_fp64_global_atomic_min_max"
+#endif
+#if __opencl_c_ext_fp16_local_atomic_min_max != 1
+#error "Incorrectly defined __opencl_c_ext_fp16_local_atomic_min_max"
+#endif
+#if __opencl_c_ext_fp32_local_atomic_min_max != 1
+#error "Incorrectly defined __opencl_c_ext_fp32_local_atomic_min_max"
+#endif
+#if __opencl_c_ext_fp64_local_atomic_min_max != 1
+#error "Incorrectly defined __opencl_c_ext_fp64_local_atomic_min_max"
+#endif
+#else
+
+#ifdef __opencl_c_ext_fp16_global_atomic_load_store
+#error "Incorrectly __opencl_c_ext_fp16_global_atomic_load_store defined"
+#endif
+#ifdef __opencl_c_ext_fp16_local_atomic_load_store
+#error "Incorrectly __opencl_c_ext_fp16_local_atomic_load_store defined"
+#endif
+#ifdef __opencl_c_ext_fp16_global_atomic_add
+#error "Incorrectly __opencl_c_ext_fp16_global_atomic_add defined"
+#endif
+#ifdef __opencl_c_ext_fp32_global_atomic_add
+#error "Incorrectly __opencl_c_ext_fp32_global_atomic_add defined"
+#endif
+#ifdef __opencl_c_ext_fp64_global_atomic_add
+#error "Incorrectly __opencl_c_ext_fp64_global_atomic_add defined"
+#endif
+#ifdef __opencl_c_ext_fp16_local_atomic_add
+#error "Incorrectly __opencl_c_ext_fp16_local_atomic_add defined"
+#endif
+#ifdef __opencl_c_ext_fp32_local_atomic_add
+#error "Incorrectly __opencl_c_ext_fp32_local_atomic_add defined"
+#endif
+#ifdef __opencl_c_ext_fp64_local_atomic_add
+#error "Incorrectly __opencl_c_ext_fp64_local_atomic_add defined"
+#endif
+#ifdef __opencl_c_ext_fp16_global_atomic_min_max
+#error "Incorrectly __opencl_c_ext_fp16_global_atomic_min_max defined"
+#endif
+#ifdef __opencl_c_ext_fp32_global_atomic_min_max
+#error "Incorrectly __opencl_c_ext_fp32_global_atomic_min_max defined"
+#endif
+#ifdef __opencl_c_ext_fp64_global_atomic_min_max
+#error "Incorrectly __opencl_c_ext_fp64_global_atomic_min_max defined"
+#endif
+#ifdef __opencl_c_ext_fp16_local_atomic_min_max
+#error "Incorrectly __opencl_c_ext_fp16_local_atomic_min_max defined"
+#endif
+#ifdef __opencl_c_ext_fp32_local_atomic_min_max
+#error "Incorrectly __opencl_c_ext_fp32_local_atomic_min_max defined"
+#endif
+#ifdef __opencl_c_ext_fp64_local_atomic_min_max
+#error "Incorrectly __opencl_c_ext_fp64_local_atomic_min_max defined"
+#endif
+
+#endif //(defined(__OPENCL_CPP_VERSION__) || __OPENCL_C_VERSION__ >= 200)
+
+#endif // defined(__SPIR__)
--
2.17.1

View File

@ -1,96 +0,0 @@
From 294ca2fd69a077b35acec9d498120d6cb0324dae Mon Sep 17 00:00:00 2001
From: Naveen Saini <naveen.kumar.saini@intel.com>
Date: Fri, 27 Aug 2021 11:53:27 +0800
Subject: [PATCH 1/2] This patch is required to fix the crash referenced to in
#1767
It is a port of the following llvm 11.0 commit : https://reviews.llvm.org/D76994.
Upstream-Status: Backport [https://github.com/llvm/llvm-project/commit/41f13f1f64d2074ae7512fb23656c22585e912bd]
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
.../CodeGen/SelectionDAG/LegalizeTypes.cpp | 3 +-
llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h | 31 ++++++++++++-------
2 files changed, 21 insertions(+), 13 deletions(-)
diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
index 63ddb59fce68..822da2183269 100644
--- a/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
@@ -173,7 +173,7 @@ void DAGTypeLegalizer::PerformExpensiveChecks() {
}
}
}
-
+#ifndef NDEBUG
// Checked that NewNodes are only used by other NewNodes.
for (unsigned i = 0, e = NewNodes.size(); i != e; ++i) {
SDNode *N = NewNodes[i];
@@ -181,6 +181,7 @@ void DAGTypeLegalizer::PerformExpensiveChecks() {
UI != UE; ++UI)
assert(UI->getNodeId() == NewNode && "NewNode used by non-NewNode!");
}
+#endif
}
/// This is the main entry point for the type legalizer. This does a top-down
diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h b/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
index faae14444d51..b908c5c58e9f 100644
--- a/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
+++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
@@ -155,7 +155,9 @@ private:
const SDValue &getSDValue(TableId &Id) {
RemapId(Id);
assert(Id && "TableId should be non-zero");
- return IdToValueMap[Id];
+ auto I = IdToValueMap.find(Id);
+ assert(I != IdToValueMap.end() && "cannot find Id in map");
+ return I->second;
}
public:
@@ -172,24 +174,29 @@ public:
bool run();
void NoteDeletion(SDNode *Old, SDNode *New) {
+ assert(Old != New && "node replaced with self");
for (unsigned i = 0, e = Old->getNumValues(); i != e; ++i) {
TableId NewId = getTableId(SDValue(New, i));
TableId OldId = getTableId(SDValue(Old, i));
- if (OldId != NewId)
+ if (OldId != NewId) {
ReplacedValues[OldId] = NewId;
- // Delete Node from tables.
+ // Delete Node from tables. We cannot do this when OldId == NewId,
+ // because NewId can still have table references to it in
+ // ReplacedValues.
+ IdToValueMap.erase(OldId);
+ PromotedIntegers.erase(OldId);
+ ExpandedIntegers.erase(OldId);
+ SoftenedFloats.erase(OldId);
+ PromotedFloats.erase(OldId);
+ ExpandedFloats.erase(OldId);
+ ScalarizedVectors.erase(OldId);
+ SplitVectors.erase(OldId);
+ WidenedVectors.erase(OldId);
+ }
+
ValueToIdMap.erase(SDValue(Old, i));
- IdToValueMap.erase(OldId);
- PromotedIntegers.erase(OldId);
- ExpandedIntegers.erase(OldId);
- SoftenedFloats.erase(OldId);
- PromotedFloats.erase(OldId);
- ExpandedFloats.erase(OldId);
- ScalarizedVectors.erase(OldId);
- SplitVectors.erase(OldId);
- WidenedVectors.erase(OldId);
}
}
--
2.17.1

View File

@ -1,105 +0,0 @@
From d266087e8dba9e8fd4984e1cb85c20376e2c8ea3 Mon Sep 17 00:00:00 2001
From: Naveen Saini <naveen.kumar.saini@intel.com>
Date: Fri, 27 Aug 2021 11:56:01 +0800
Subject: [PATCH 2/2] This patch is a fix for #1788.
It is a port of the following llvm 11.0 commit: https://reviews.llvm.org/D81698
This also needed part of another llvm 11.0 commit: https://reviews.llvm.org/D72975
Upstream-Status: Backport [https://github.com/llvm/llvm-project/commit/aeb50448019ce1b1002f3781f9647d486320d83c]
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
llvm/include/llvm/IR/PatternMatch.h | 22 ++++++++++++---
.../InstCombine/InstructionCombining.cpp | 27 +++++++++++++++++--
2 files changed, 44 insertions(+), 5 deletions(-)
diff --git a/llvm/include/llvm/IR/PatternMatch.h b/llvm/include/llvm/IR/PatternMatch.h
index 6621fc9f819c..fb7ad93519f6 100644
--- a/llvm/include/llvm/IR/PatternMatch.h
+++ b/llvm/include/llvm/IR/PatternMatch.h
@@ -152,8 +152,10 @@ inline match_combine_and<LTy, RTy> m_CombineAnd(const LTy &L, const RTy &R) {
struct apint_match {
const APInt *&Res;
+ bool AllowUndef;
- apint_match(const APInt *&R) : Res(R) {}
+ apint_match(const APInt *&Res, bool AllowUndef)
+ : Res(Res), AllowUndef(AllowUndef) {}
template <typename ITy> bool match(ITy *V) {
if (auto *CI = dyn_cast<ConstantInt>(V)) {
@@ -162,7 +164,8 @@ struct apint_match {
}
if (V->getType()->isVectorTy())
if (const auto *C = dyn_cast<Constant>(V))
- if (auto *CI = dyn_cast_or_null<ConstantInt>(C->getSplatValue())) {
+ if (auto *CI = dyn_cast_or_null<ConstantInt>(
+ C->getSplatValue(AllowUndef))) {
Res = &CI->getValue();
return true;
}
@@ -192,7 +195,20 @@ struct apfloat_match {
/// Match a ConstantInt or splatted ConstantVector, binding the
/// specified pointer to the contained APInt.
-inline apint_match m_APInt(const APInt *&Res) { return Res; }
+inline apint_match m_APInt(const APInt *&Res) {
+ // Forbid undefs by default to maintain previous behavior.
+ return apint_match(Res, /* AllowUndef */ false);
+}
+
+/// Match APInt while allowing undefs in splat vector constants.
+inline apint_match m_APIntAllowUndef(const APInt *&Res) {
+ return apint_match(Res, /* AllowUndef */ true);
+}
+
+/// Match APInt while forbidding undefs in splat vector constants.
+inline apint_match m_APIntForbidUndef(const APInt *&Res) {
+ return apint_match(Res, /* AllowUndef */ false);
+}
/// Match a ConstantFP or splatted ConstantVector, binding the
/// specified pointer to the contained APFloat.
diff --git a/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp b/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
index bf32996d96e2..40a246b9d7a7 100644
--- a/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+++ b/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
@@ -925,8 +925,31 @@ Instruction *InstCombiner::FoldOpIntoSelect(Instruction &Op, SelectInst *SI) {
if (auto *CI = dyn_cast<CmpInst>(SI->getCondition())) {
if (CI->hasOneUse()) {
Value *Op0 = CI->getOperand(0), *Op1 = CI->getOperand(1);
- if ((SI->getOperand(1) == Op0 && SI->getOperand(2) == Op1) ||
- (SI->getOperand(2) == Op0 && SI->getOperand(1) == Op1))
+
+ // FIXME: This is a hack to avoid infinite looping with min/max patterns.
+ // We have to ensure that vector constants that only differ with
+ // undef elements are treated as equivalent.
+ auto areLooselyEqual = [](Value *A, Value *B) {
+ if (A == B)
+ return true;
+
+ // Test for vector constants.
+ Constant *ConstA, *ConstB;
+ if (!match(A, m_Constant(ConstA)) || !match(B, m_Constant(ConstB)))
+ return false;
+
+ // TODO: Deal with FP constants?
+ if (!A->getType()->isIntOrIntVectorTy() || A->getType() != B->getType())
+ return false;
+
+ // Compare for equality including undefs as equal.
+ auto *Cmp = ConstantExpr::getCompare(ICmpInst::ICMP_EQ, ConstA, ConstB);
+ const APInt *C;
+ return match(Cmp, m_APIntAllowUndef(C)) && C->isOneValue();
+ };
+
+ if ((areLooselyEqual(TV, Op0) && areLooselyEqual(FV, Op1)) ||
+ (areLooselyEqual(FV, Op0) && areLooselyEqual(TV, Op1)))
return nullptr;
}
}
--
2.17.1

View File

@ -1,43 +0,0 @@
From 8f83e2b7618da7a98a30839a8f41a6dd82dec468 Mon Sep 17 00:00:00 2001
From: Naveen Saini <naveen.kumar.saini@intel.com>
Date: Fri, 27 Aug 2021 12:00:23 +0800
Subject: [PATCH 1/2] This patch is required to fix stability problem #1793
It's backport of the following llvm 11.0 commit: 120c5f1057dc50229f73bc75bbabf4df6ee50fef
Upstream-Status: Backport
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
index 2476fd26f250..2743acc89bca 100644
--- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
@@ -10702,8 +10702,9 @@ SDValue DAGCombiner::visitSIGN_EXTEND_VECTOR_INREG(SDNode *N) {
SDValue N0 = N->getOperand(0);
EVT VT = N->getValueType(0);
+ // zext_vector_inreg(undef) = 0 because the top bits will be zero.
if (N0.isUndef())
- return DAG.getUNDEF(VT);
+ return DAG.getConstant(0, SDLoc(N), VT);
if (SDValue Res = tryToFoldExtendOfConstant(N, TLI, DAG, LegalTypes))
return Res;
@@ -10718,8 +10719,9 @@ SDValue DAGCombiner::visitZERO_EXTEND_VECTOR_INREG(SDNode *N) {
SDValue N0 = N->getOperand(0);
EVT VT = N->getValueType(0);
+ // sext_vector_inreg(undef) = 0 because the top bit will all be the same.
if (N0.isUndef())
- return DAG.getUNDEF(VT);
+ return DAG.getConstant(0, SDLoc(N), VT);
if (SDValue Res = tryToFoldExtendOfConstant(N, TLI, DAG, LegalTypes))
return Res;
--
2.17.1

View File

@ -1,34 +0,0 @@
From 62b05a69b4a185cd0b7535f19742686e19fcaf22 Mon Sep 17 00:00:00 2001
From: Naveen Saini <naveen.kumar.saini@intel.com>
Date: Fri, 27 Aug 2021 12:02:37 +0800
Subject: [PATCH 2/2] Fix for #1844, affects avx512skx-i8x64 and
avx512skx-i16x32.
It's a port of 11.0 commit edcfb47ff6d5562e22207f364c65f84302aa346b
https://reviews.llvm.org/D76312
Upstream-Status: Backport
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
index 2743acc89bca..439a8367dabe 100644
--- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
@@ -10841,7 +10841,9 @@ SDValue DAGCombiner::visitTRUNCATE(SDNode *N) {
// Attempt to pre-truncate BUILD_VECTOR sources.
if (N0.getOpcode() == ISD::BUILD_VECTOR && !LegalOperations &&
- TLI.isTruncateFree(SrcVT.getScalarType(), VT.getScalarType())) {
+ TLI.isTruncateFree(SrcVT.getScalarType(), VT.getScalarType()) &&
+ // Avoid creating illegal types if running after type legalizer.
+ (!LegalTypes || TLI.isTypeLegal(VT.getScalarType()))) {
SDLoc DL(N);
EVT SVT = VT.getScalarType();
SmallVector<SDValue, 8> TruncOps;
--
2.17.1

View File

@ -1,40 +0,0 @@
From cc4301f82ca1bde1d438c3708de285b0ab8c72d3 Mon Sep 17 00:00:00 2001
From: Naveen Saini <naveen.kumar.saini@intel.com>
Date: Fri, 27 Aug 2021 12:07:25 +0800
Subject: [PATCH 1/2] [X86] createVariablePermute - handle case where recursive
createVariablePermute call fails
Account for the case where a recursive createVariablePermute call with a wider vector type fails.
Original test case from @craig.topper (Craig Topper)
Upstream-Status: Backport [https://github.com/llvm/llvm-project/commit/6bdd63dc28208a597542b0c6bc41093f32417804]
Signed-off-by: Simon Pilgrim <llvm-dev@redking.me.uk>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
llvm/lib/Target/X86/X86ISelLowering.cpp | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index c8720d9ae3a6..63eb050e9b3a 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -9571,9 +9571,11 @@ static SDValue createVariablePermute(MVT VT, SDValue SrcVec, SDValue IndicesVec,
IndicesVT = EVT(VT).changeVectorElementTypeToInteger();
IndicesVec = widenSubVector(IndicesVT.getSimpleVT(), IndicesVec, false,
Subtarget, DAG, SDLoc(IndicesVec));
- return extractSubVector(
- createVariablePermute(VT, SrcVec, IndicesVec, DL, DAG, Subtarget), 0,
- DAG, DL, SizeInBits);
+ SDValue NewSrcVec =
+ createVariablePermute(VT, SrcVec, IndicesVec, DL, DAG, Subtarget);
+ if (NewSrcVec)
+ return extractSubVector(NewSrcVec, 0, DAG, DL, SizeInBits);
+ return SDValue();
} else if (SrcVec.getValueSizeInBits() < SizeInBits) {
// Widen smaller SrcVec to match VT.
SrcVec = widenSubVector(VT, SrcVec, false, Subtarget, DAG, SDLoc(SrcVec));
--
2.17.1

View File

@ -1,61 +0,0 @@
From 9cdff0785d5cf9effc8e922d3330311c4d3dda78 Mon Sep 17 00:00:00 2001
From: Naveen Saini <naveen.kumar.saini@intel.com>
Date: Fri, 27 Aug 2021 12:09:42 +0800
Subject: [PATCH 2/2] This patch is needed for avx512skx-i8x64 and
avx512skx-i16x32 targets.
This is combination of two commits:
- 0cd6712a7af0fa2702b5d4cc733500eb5e62e7d0 - stability fix.
- d8ad7cc0885f32104a7cd83c77191aec15fd684f - performance follow up.
Upstream-Status: Backport
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 23 +++++++++++++++++--
1 file changed, 21 insertions(+), 2 deletions(-)
diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
index 439a8367dabe..b1639c7f275d 100644
--- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
@@ -18471,6 +18471,26 @@ static SDValue narrowExtractedVectorLoad(SDNode *Extract, SelectionDAG &DAG) {
// Allow targets to opt-out.
EVT VT = Extract->getValueType(0);
+
+ // We can only create byte sized loads.
+ if (!VT.isByteSized())
+ return SDValue();
+
+ unsigned Index = ExtIdx->getZExtValue();
+ unsigned NumElts = VT.getVectorNumElements();
+
+ // If the index is a multiple of the extract element count, we can offset the
+ // address by the store size multiplied by the subvector index. Otherwise if
+ // the scalar type is byte sized, we can just use the index multiplied by
+ // the element size in bytes as the offset.
+ unsigned Offset;
+ if (Index % NumElts == 0)
+ Offset = (Index / NumElts) * VT.getStoreSize();
+ else if (VT.getScalarType().isByteSized())
+ Offset = Index * VT.getScalarType().getStoreSize();
+ else
+ return SDValue();
+
const TargetLowering &TLI = DAG.getTargetLoweringInfo();
if (!TLI.shouldReduceLoadWidth(Ld, Ld->getExtensionType(), VT))
return SDValue();
@@ -18478,8 +18498,7 @@ static SDValue narrowExtractedVectorLoad(SDNode *Extract, SelectionDAG &DAG) {
// The narrow load will be offset from the base address of the old load if
// we are extracting from something besides index 0 (little-endian).
SDLoc DL(Extract);
- SDValue BaseAddr = Ld->getOperand(1);
- unsigned Offset = ExtIdx->getZExtValue() * VT.getScalarType().getStoreSize();
+ SDValue BaseAddr = Ld->getBasePtr();
// TODO: Use "BaseIndexOffset" to make this more effective.
SDValue NewAddr = DAG.getMemBasePlusOffset(BaseAddr, Offset, DL);
--
2.17.1

View File

@ -1,97 +0,0 @@
From c2ebd328979c081dd2c9fd0e359ed99473731d0e Mon Sep 17 00:00:00 2001
From: Naveen Saini <naveen.kumar.saini@intel.com>
Date: Fri, 27 Aug 2021 12:13:00 +0800
Subject: [PATCH 1/2] [X86] When storing v1i1/v2i1/v4i1 to memory, make sure we
store zeros in the rest of the byte
We can't store garbage in the unused bits. It possible that something like zextload from i1/i2/i4 is created to read the memory. Those zextloads would be legalized assuming the extra bits are 0.
I'm not sure that the code in lowerStore is executed for the v1i1/v2i1/v4i1 case. It looks like the DAG combine in combineStore may have converted them to v8i1 first. And I think we're missing some cases to avoid going to the stack in the first place. But I don't have time to investigate those things at the moment so I wanted to focus on the correctness issue.
Should fix PR48147.
Reviewed By: RKSimon
Differential Revision: https://reviews.llvm.org/D9129
Upstream-Status: Backport
Signed-off-by:Craig Topper <craig.topper@sifive.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
llvm/lib/Target/X86/X86ISelLowering.cpp | 20 ++++++++++++++------
llvm/lib/Target/X86/X86InstrAVX512.td | 2 --
2 files changed, 14 insertions(+), 8 deletions(-)
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index 63eb050e9b3a..96b5e2cfbd82 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -22688,17 +22688,22 @@ static SDValue LowerStore(SDValue Op, const X86Subtarget &Subtarget,
// Without AVX512DQ, we need to use a scalar type for v2i1/v4i1/v8i1 stores.
if (StoredVal.getValueType().isVector() &&
StoredVal.getValueType().getVectorElementType() == MVT::i1) {
- assert(StoredVal.getValueType().getVectorNumElements() <= 8 &&
- "Unexpected VT");
+ unsigned NumElts = StoredVal.getValueType().getVectorNumElements();
+ assert(NumElts <= 8 && "Unexpected VT");
assert(!St->isTruncatingStore() && "Expected non-truncating store");
assert(Subtarget.hasAVX512() && !Subtarget.hasDQI() &&
"Expected AVX512F without AVX512DQI");
+ // We must pad with zeros to ensure we store zeroes to any unused bits.
StoredVal = DAG.getNode(ISD::INSERT_SUBVECTOR, dl, MVT::v16i1,
DAG.getUNDEF(MVT::v16i1), StoredVal,
DAG.getIntPtrConstant(0, dl));
StoredVal = DAG.getBitcast(MVT::i16, StoredVal);
StoredVal = DAG.getNode(ISD::TRUNCATE, dl, MVT::i8, StoredVal);
+ // Make sure we store zeros in the extra bits.
+ if (NumElts < 8)
+ StoredVal = DAG.getZeroExtendInReg(StoredVal, dl,
+ MVT::getIntegerVT(NumElts));
return DAG.getStore(St->getChain(), dl, StoredVal, St->getBasePtr(),
St->getPointerInfo(), St->getAlignment(),
@@ -41585,8 +41590,10 @@ static SDValue combineStore(SDNode *N, SelectionDAG &DAG,
EVT NewVT = EVT::getIntegerVT(*DAG.getContext(), VT.getVectorNumElements());
StoredVal = DAG.getBitcast(NewVT, StoredVal);
-
- return DAG.getStore(St->getChain(), dl, StoredVal, St->getBasePtr(),
+ SDValue Val = StoredVal.getOperand(0);
+ // We must store zeros to the unused bits.
+ Val = DAG.getZeroExtendInReg(Val, dl, MVT::i1);
+ return DAG.getStore(St->getChain(), dl, Val, St->getBasePtr(),
St->getPointerInfo(), St->getAlignment(),
St->getMemOperand()->getFlags());
}
@@ -41602,10 +41609,11 @@ static SDValue combineStore(SDNode *N, SelectionDAG &DAG,
}
// Widen v2i1/v4i1 stores to v8i1.
- if ((VT == MVT::v2i1 || VT == MVT::v4i1) && VT == StVT &&
+ if ((VT == MVT::v1i1 || VT == MVT::v2i1 || VT == MVT::v4i1) && VT == StVT &&
Subtarget.hasAVX512()) {
unsigned NumConcats = 8 / VT.getVectorNumElements();
- SmallVector<SDValue, 4> Ops(NumConcats, DAG.getUNDEF(VT));
+ // We must store zeros to the unused bits.
+ SmallVector<SDValue, 4> Ops(NumConcats, DAG.getConstant(0, dl, VT));
Ops[0] = StoredVal;
StoredVal = DAG.getNode(ISD::CONCAT_VECTORS, dl, MVT::v8i1, Ops);
return DAG.getStore(St->getChain(), dl, StoredVal, St->getBasePtr(),
diff --git a/llvm/lib/Target/X86/X86InstrAVX512.td b/llvm/lib/Target/X86/X86InstrAVX512.td
index 32f012033fb0..d3b92183f87b 100644
--- a/llvm/lib/Target/X86/X86InstrAVX512.td
+++ b/llvm/lib/Target/X86/X86InstrAVX512.td
@@ -2888,8 +2888,6 @@ def : Pat<(i64 (bitconvert (v64i1 VK64:$src))),
// Load/store kreg
let Predicates = [HasDQI] in {
- def : Pat<(store VK1:$src, addr:$dst),
- (KMOVBmk addr:$dst, (COPY_TO_REGCLASS VK1:$src, VK8))>;
def : Pat<(v1i1 (load addr:$src)),
(COPY_TO_REGCLASS (KMOVBkm addr:$src), VK1)>;
--
2.17.1

View File

@ -1,173 +0,0 @@
From c1565af764adceca118daad0f592e5f14c2bdd4a Mon Sep 17 00:00:00 2001
From: Naveen Saini <naveen.kumar.saini@intel.com>
Date: Fri, 27 Aug 2021 12:15:09 +0800
Subject: [PATCH 2/2] [X86] Convert vXi1 vectors to xmm/ymm/zmm types via
getRegisterTypeForCallingConv rather than using CCPromoteToType in the td
file
Previously we tried to promote these to xmm/ymm/zmm by promoting
in the X86CallingConv.td file. But this breaks when we run out
of xmm/ymm/zmm registers and need to fall back to memory. We end
up trying to create a non-sensical scalar to vector. This lead
to an assertion. The new tests in avx512-calling-conv.ll all
trigger this assertion.
Since we really want to treat these types like we do on avx2,
it seems better to promote them before the calling convention
code gets involved. Except when the calling convention is one
that passes the vXi1 type in a k register.
The changes in avx512-regcall-Mask.ll are because we indicated
that xmm/ymm/zmm types should be passed indirectly for the
Win64 ABI before we go to the common lines that promoted the
vXi1 types. This caused the promoted types to be picked up by
the default calling convention code. Now we promote them earlier
so they get passed indirectly as though they were xmm/ymm/zmm.
Differential Revision: https://reviews.llvm.org/D75154
Upstream-Status: Backport [https://github.com/llvm/llvm-project/commit/eadea7868f5b7542ee6bdcd9a975697a0c919ffc]
Signed-off-by:Craig Topper <craig.topper@intel.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
llvm/lib/Target/X86/X86ISelLowering.cpp | 90 +++++++++++++++++--------
1 file changed, 61 insertions(+), 29 deletions(-)
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index 96b5e2cfbd82..d5de94aeb8a2 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -2085,51 +2085,83 @@ X86TargetLowering::getPreferredVectorAction(MVT VT) const {
return TargetLoweringBase::getPreferredVectorAction(VT);
}
+static std::pair<MVT, unsigned>
+handleMaskRegisterForCallingConv(unsigned NumElts, CallingConv::ID CC,
+ const X86Subtarget &Subtarget) {
+ // v2i1/v4i1/v8i1/v16i1 all pass in xmm registers unless the calling
+ // convention is one that uses k registers.
+ if (NumElts == 2)
+ return {MVT::v2i64, 1};
+ if (NumElts == 4)
+ return {MVT::v4i32, 1};
+ if (NumElts == 8 && CC != CallingConv::X86_RegCall &&
+ CC != CallingConv::Intel_OCL_BI)
+ return {MVT::v8i16, 1};
+ if (NumElts == 16 && CC != CallingConv::X86_RegCall &&
+ CC != CallingConv::Intel_OCL_BI)
+ return {MVT::v16i8, 1};
+ // v32i1 passes in ymm unless we have BWI and the calling convention is
+ // regcall.
+ if (NumElts == 32 && (!Subtarget.hasBWI() || CC != CallingConv::X86_RegCall))
+ return {MVT::v32i8, 1};
+ // Split v64i1 vectors if we don't have v64i8 available.
+ if (NumElts == 64 && Subtarget.hasBWI() && CC != CallingConv::X86_RegCall) {
+ if (Subtarget.useAVX512Regs())
+ return {MVT::v64i8, 1};
+ return {MVT::v32i8, 2};
+ }
+
+ // Break wide or odd vXi1 vectors into scalars to match avx2 behavior.
+ if (!isPowerOf2_32(NumElts) || (NumElts == 64 && !Subtarget.hasBWI()) ||
+ NumElts > 64)
+ return {MVT::i8, NumElts};
+
+ return {MVT::INVALID_SIMPLE_VALUE_TYPE, 0};
+}
+
MVT X86TargetLowering::getRegisterTypeForCallingConv(LLVMContext &Context,
CallingConv::ID CC,
EVT VT) const {
- // v32i1 vectors should be promoted to v32i8 to match avx2.
- if (VT == MVT::v32i1 && Subtarget.hasAVX512() && !Subtarget.hasBWI())
- return MVT::v32i8;
- // Break wide or odd vXi1 vectors into scalars to match avx2 behavior.
if (VT.isVector() && VT.getVectorElementType() == MVT::i1 &&
- Subtarget.hasAVX512() &&
- (!isPowerOf2_32(VT.getVectorNumElements()) ||
- (VT.getVectorNumElements() > 16 && !Subtarget.hasBWI()) ||
- (VT.getVectorNumElements() > 64 && Subtarget.hasBWI())))
- return MVT::i8;
- // Split v64i1 vectors if we don't have v64i8 available.
- if (VT == MVT::v64i1 && Subtarget.hasBWI() && !Subtarget.useAVX512Regs() &&
- CC != CallingConv::X86_RegCall)
- return MVT::v32i1;
+ Subtarget.hasAVX512()) {
+ unsigned NumElts = VT.getVectorNumElements();
+
+ MVT RegisterVT;
+ unsigned NumRegisters;
+ std::tie(RegisterVT, NumRegisters) =
+ handleMaskRegisterForCallingConv(NumElts, CC, Subtarget);
+ if (RegisterVT != MVT::INVALID_SIMPLE_VALUE_TYPE)
+ return RegisterVT;
+ }
+
// FIXME: Should we just make these types legal and custom split operations?
if ((VT == MVT::v32i16 || VT == MVT::v64i8) && !EnableOldKNLABI &&
Subtarget.useAVX512Regs() && !Subtarget.hasBWI())
return MVT::v16i32;
+
return TargetLowering::getRegisterTypeForCallingConv(Context, CC, VT);
}
unsigned X86TargetLowering::getNumRegistersForCallingConv(LLVMContext &Context,
CallingConv::ID CC,
EVT VT) const {
- // v32i1 vectors should be promoted to v32i8 to match avx2.
- if (VT == MVT::v32i1 && Subtarget.hasAVX512() && !Subtarget.hasBWI())
- return 1;
- // Break wide or odd vXi1 vectors into scalars to match avx2 behavior.
if (VT.isVector() && VT.getVectorElementType() == MVT::i1 &&
- Subtarget.hasAVX512() &&
- (!isPowerOf2_32(VT.getVectorNumElements()) ||
- (VT.getVectorNumElements() > 16 && !Subtarget.hasBWI()) ||
- (VT.getVectorNumElements() > 64 && Subtarget.hasBWI())))
- return VT.getVectorNumElements();
- // Split v64i1 vectors if we don't have v64i8 available.
- if (VT == MVT::v64i1 && Subtarget.hasBWI() && !Subtarget.useAVX512Regs() &&
- CC != CallingConv::X86_RegCall)
- return 2;
+ Subtarget.hasAVX512()) {
+ unsigned NumElts = VT.getVectorNumElements();
+
+ MVT RegisterVT;
+ unsigned NumRegisters;
+ std::tie(RegisterVT, NumRegisters) =
+ handleMaskRegisterForCallingConv(NumElts, CC, Subtarget);
+ if (RegisterVT != MVT::INVALID_SIMPLE_VALUE_TYPE)
+ return NumRegisters;
+ }
+
// FIXME: Should we just make these types legal and custom split operations?
if ((VT == MVT::v32i16 || VT == MVT::v64i8) && !EnableOldKNLABI &&
Subtarget.useAVX512Regs() && !Subtarget.hasBWI())
return 1;
+
return TargetLowering::getNumRegistersForCallingConv(Context, CC, VT);
}
@@ -2140,8 +2172,8 @@ unsigned X86TargetLowering::getVectorTypeBreakdownForCallingConv(
if (VT.isVector() && VT.getVectorElementType() == MVT::i1 &&
Subtarget.hasAVX512() &&
(!isPowerOf2_32(VT.getVectorNumElements()) ||
- (VT.getVectorNumElements() > 16 && !Subtarget.hasBWI()) ||
- (VT.getVectorNumElements() > 64 && Subtarget.hasBWI()))) {
+ (VT.getVectorNumElements() == 64 && !Subtarget.hasBWI()) ||
+ VT.getVectorNumElements() > 64)) {
RegisterVT = MVT::i8;
IntermediateVT = MVT::i1;
NumIntermediates = VT.getVectorNumElements();
@@ -2151,7 +2183,7 @@ unsigned X86TargetLowering::getVectorTypeBreakdownForCallingConv(
// Split v64i1 vectors if we don't have v64i8 available.
if (VT == MVT::v64i1 && Subtarget.hasBWI() && !Subtarget.useAVX512Regs() &&
CC != CallingConv::X86_RegCall) {
- RegisterVT = MVT::v32i1;
+ RegisterVT = MVT::v32i8;
IntermediateVT = MVT::v32i1;
NumIntermediates = 2;
return 2;
--
2.17.1

View File

@ -1,51 +0,0 @@
From 6690d77f9007ce82984dc1b6ae12585cb3e04785 Mon Sep 17 00:00:00 2001
From: Naveen Saini <naveen.kumar.saini@intel.com>
Date: Wed, 21 Aug 2019 14:35:31 +0800
Subject: [PATCH 1/2] llvm-spirv: skip building tests
Some of these need clang to be built and since we're building this in-tree,
that leads to problems when compiling libcxx, compiler-rt which aren't built
in-tree.
Instead of using SPIRV_SKIP_CLANG_BUILD to skip clang build and adding this to
all components, disable the building of tests altogether.
Upstream-Status: Inappropriate
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
CMakeLists.txt | 10 ----------
1 file changed, 10 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ec61fb95..d723c0a5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -26,13 +26,6 @@ if(LLVM_SPIRV_BUILD_EXTERNAL)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
- if(LLVM_SPIRV_INCLUDE_TESTS)
- set(LLVM_TEST_COMPONENTS
- llvm-as
- llvm-dis
- )
- endif(LLVM_SPIRV_INCLUDE_TESTS)
-
find_package(LLVM ${BASE_LLVM_VERSION} REQUIRED
COMPONENTS
Analysis
@@ -65,9 +58,6 @@ set(LLVM_SPIRV_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include)
add_subdirectory(lib/SPIRV)
add_subdirectory(tools/llvm-spirv)
-if(LLVM_SPIRV_INCLUDE_TESTS)
- add_subdirectory(test)
-endif(LLVM_SPIRV_INCLUDE_TESTS)
install(
FILES
--
2.17.1

View File

@ -1,433 +0,0 @@
From 8e12d8fb3cdbdafca73fe8ed4f0cde773b1788b4 Mon Sep 17 00:00:00 2001
From: haonanya <haonan.yang@intel.com>
Date: Wed, 28 Jul 2021 11:43:20 +0800
Subject: [PATCH 2/2] Add support for cl_ext_float_atomics in SPIRVWriter
Upstream-Status: Backport [Taken from opencl-clang patches, https://github.com/intel/opencl-clang/blob/ocl-open-110/patches/spirv/0001-Add-support-for-cl_ext_float_atomics-in-SPIRVWriter.patch]
Signed-off-by: haonanya <haonan.yang@intel.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
lib/SPIRV/OCLToSPIRV.cpp | 80 +++++++++++++++++++++++--
lib/SPIRV/OCLUtil.cpp | 26 --------
lib/SPIRV/OCLUtil.h | 4 --
test/negative/InvalidAtomicBuiltins.cl | 12 +---
test/transcoding/AtomicFAddEXTForOCL.ll | 64 ++++++++++++++++++++
test/transcoding/AtomicFMaxEXTForOCL.ll | 64 ++++++++++++++++++++
test/transcoding/AtomicFMinEXTForOCL.ll | 64 ++++++++++++++++++++
7 files changed, 269 insertions(+), 45 deletions(-)
create mode 100644 test/transcoding/AtomicFAddEXTForOCL.ll
create mode 100644 test/transcoding/AtomicFMaxEXTForOCL.ll
create mode 100644 test/transcoding/AtomicFMinEXTForOCL.ll
diff --git a/lib/SPIRV/OCLToSPIRV.cpp b/lib/SPIRV/OCLToSPIRV.cpp
index 04d51586..f00f5f7b 100644
--- a/lib/SPIRV/OCLToSPIRV.cpp
+++ b/lib/SPIRV/OCLToSPIRV.cpp
@@ -421,10 +421,63 @@ void OCLToSPIRVBase::visitCallInst(CallInst &CI) {
if (DemangledName.find(kOCLBuiltinName::AtomicPrefix) == 0 ||
DemangledName.find(kOCLBuiltinName::AtomPrefix) == 0) {
- // Compute atomic builtins do not support floating types.
- if (CI.getType()->isFloatingPointTy() &&
- isComputeAtomicOCLBuiltin(DemangledName))
- return;
+ // Compute "atom" prefixed builtins do not support floating types.
+ if (CI.getType()->isFloatingPointTy()) {
+ if (DemangledName.find(kOCLBuiltinName::AtomPrefix) == 0)
+ return;
+ // handle functions which are "atomic_" prefixed.
+ StringRef Stem = DemangledName;
+ Stem = Stem.drop_front(strlen("atomic_"));
+ // FP-typed atomic_{add, sub, inc, dec, exchange, min, max, or, and, xor,
+ // fetch_or, fetch_xor, fetch_and, fetch_or_explicit, fetch_xor_explicit,
+ // fetch_and_explicit} should be identified as function call
+ bool IsFunctionCall = llvm::StringSwitch<bool>(Stem)
+ .Case("add", true)
+ .Case("sub", true)
+ .Case("inc", true)
+ .Case("dec", true)
+ .Case("cmpxchg", true)
+ .Case("min", true)
+ .Case("max", true)
+ .Case("or", true)
+ .Case("xor", true)
+ .Case("and", true)
+ .Case("fetch_or", true)
+ .Case("fetch_and", true)
+ .Case("fetch_xor", true)
+ .Case("fetch_or_explicit", true)
+ .Case("fetch_xor_explicit", true)
+ .Case("fetch_and_explicit", true)
+ .Default(false);
+ if (IsFunctionCall)
+ return;
+ if (F->arg_size() != 2) {
+ IsFunctionCall = llvm::StringSwitch<bool>(Stem)
+ .Case("exchange", true)
+ .Case("fetch_add", true)
+ .Case("fetch_sub", true)
+ .Case("fetch_min", true)
+ .Case("fetch_max", true)
+ .Case("load", true)
+ .Case("store", true)
+ .Default(false);
+ if (IsFunctionCall)
+ return;
+ }
+ if (F->arg_size() != 3 && F->arg_size() != 4) {
+ IsFunctionCall = llvm::StringSwitch<bool>(Stem)
+ .Case("exchange_explicit", true)
+ .Case("fetch_add_explicit", true)
+ .Case("fetch_sub_explicit", true)
+ .Case("fetch_min_explicit", true)
+ .Case("fetch_max_explicit", true)
+ .Case("load_explicit", true)
+ .Case("store_explicit", true)
+ .Default(false);
+ if (IsFunctionCall)
+ return;
+ }
+ }
auto PCI = &CI;
if (DemangledName == kOCLBuiltinName::AtomicInit) {
@@ -839,7 +892,7 @@ void OCLToSPIRVBase::transAtomicBuiltin(CallInst *CI,
AttributeList Attrs = CI->getCalledFunction()->getAttributes();
mutateCallInstSPIRV(
M, CI,
- [=](CallInst *CI, std::vector<Value *> &Args) {
+ [=](CallInst *CI, std::vector<Value *> &Args) -> std::string {
Info.PostProc(Args);
// Order of args in OCL20:
// object, 0-2 other args, 1-2 order, scope
@@ -868,7 +921,22 @@ void OCLToSPIRVBase::transAtomicBuiltin(CallInst *CI,
std::rotate(Args.begin() + 2, Args.begin() + OrderIdx,
Args.end() - Offset);
}
- return getSPIRVFuncName(OCLSPIRVBuiltinMap::map(Info.UniqName));
+
+ llvm::Type* AtomicBuiltinsReturnType =
+ CI->getCalledFunction()->getReturnType();
+ auto IsFPType = [](llvm::Type *ReturnType) {
+ return ReturnType->isHalfTy() || ReturnType->isFloatTy() ||
+ ReturnType->isDoubleTy();
+ };
+ auto SPIRVFunctionName =
+ getSPIRVFuncName(OCLSPIRVBuiltinMap::map(Info.UniqName));
+ if (!IsFPType(AtomicBuiltinsReturnType))
+ return SPIRVFunctionName;
+ // Translate FP-typed atomic builtins.
+ return llvm::StringSwitch<std::string>(SPIRVFunctionName)
+ .Case("__spirv_AtomicIAdd", "__spirv_AtomicFAddEXT")
+ .Case("__spirv_AtomicSMax", "__spirv_AtomicFMaxEXT")
+ .Case("__spirv_AtomicSMin", "__spirv_AtomicFMinEXT");
},
&Attrs);
}
diff --git a/lib/SPIRV/OCLUtil.cpp b/lib/SPIRV/OCLUtil.cpp
index 2de3f152..85155e39 100644
--- a/lib/SPIRV/OCLUtil.cpp
+++ b/lib/SPIRV/OCLUtil.cpp
@@ -662,32 +662,6 @@ size_t getSPIRVAtomicBuiltinNumMemoryOrderArgs(Op OC) {
return 1;
}
-bool isComputeAtomicOCLBuiltin(StringRef DemangledName) {
- if (!DemangledName.startswith(kOCLBuiltinName::AtomicPrefix) &&
- !DemangledName.startswith(kOCLBuiltinName::AtomPrefix))
- return false;
-
- return llvm::StringSwitch<bool>(DemangledName)
- .EndsWith("add", true)
- .EndsWith("sub", true)
- .EndsWith("inc", true)
- .EndsWith("dec", true)
- .EndsWith("cmpxchg", true)
- .EndsWith("min", true)
- .EndsWith("max", true)
- .EndsWith("and", true)
- .EndsWith("or", true)
- .EndsWith("xor", true)
- .EndsWith("add_explicit", true)
- .EndsWith("sub_explicit", true)
- .EndsWith("or_explicit", true)
- .EndsWith("xor_explicit", true)
- .EndsWith("and_explicit", true)
- .EndsWith("min_explicit", true)
- .EndsWith("max_explicit", true)
- .Default(false);
-}
-
BarrierLiterals getBarrierLiterals(CallInst *CI) {
auto N = CI->getNumArgOperands();
assert(N == 1 || N == 2);
diff --git a/lib/SPIRV/OCLUtil.h b/lib/SPIRV/OCLUtil.h
index 4c05c672..c8577e9b 100644
--- a/lib/SPIRV/OCLUtil.h
+++ b/lib/SPIRV/OCLUtil.h
@@ -394,10 +394,6 @@ size_t getAtomicBuiltinNumMemoryOrderArgs(StringRef Name);
/// Get number of memory order arguments for spirv atomic builtin function.
size_t getSPIRVAtomicBuiltinNumMemoryOrderArgs(Op OC);
-/// Return true for OpenCL builtins which do compute operations
-/// (like add, sub, min, max, inc, dec, ...) atomically
-bool isComputeAtomicOCLBuiltin(StringRef DemangledName);
-
/// Get OCL version from metadata opencl.ocl.version.
/// \param AllowMulti Allows multiple operands if true.
/// \return OCL version encoded as Major*10^5+Minor*10^3+Rev,
diff --git a/test/negative/InvalidAtomicBuiltins.cl b/test/negative/InvalidAtomicBuiltins.cl
index b8ec5b89..23dcc4e3 100644
--- a/test/negative/InvalidAtomicBuiltins.cl
+++ b/test/negative/InvalidAtomicBuiltins.cl
@@ -1,7 +1,9 @@
// Check that translator doesn't generate atomic instructions for atomic builtins
// which are not defined in the spec.
-// RUN: %clang_cc1 -triple spir -O1 -cl-std=cl2.0 -fdeclare-opencl-builtins -finclude-default-header %s -emit-llvm-bc -o %t.bc
+// To drop `fdeclare-opencl-builtins` option, since FP-typed atomic function
+// TableGen definitions have not been introduced.
+// RUN: %clang_cc1 -triple spir -O1 -cl-std=cl2.0 -finclude-default-header %s -emit-llvm-bc -o %t.bc
// RUN: llvm-spirv %t.bc -spirv-text -o - | FileCheck %s
// RUN: llvm-spirv %t.bc -o %t.spv
// RUN: spirv-val %t.spv
@@ -41,13 +43,9 @@ float __attribute__((overloadable)) atomic_fetch_xor(volatile generic atomic_flo
double __attribute__((overloadable)) atomic_fetch_and(volatile generic atomic_double *object, double operand, memory_order order);
double __attribute__((overloadable)) atomic_fetch_max(volatile generic atomic_double *object, double operand, memory_order order);
double __attribute__((overloadable)) atomic_fetch_min(volatile generic atomic_double *object, double operand, memory_order order);
-float __attribute__((overloadable)) atomic_fetch_add_explicit(volatile generic atomic_float *object, float operand, memory_order order);
-float __attribute__((overloadable)) atomic_fetch_sub_explicit(volatile generic atomic_float *object, float operand, memory_order order);
float __attribute__((overloadable)) atomic_fetch_or_explicit(volatile generic atomic_float *object, float operand, memory_order order);
float __attribute__((overloadable)) atomic_fetch_xor_explicit(volatile generic atomic_float *object, float operand, memory_order order);
double __attribute__((overloadable)) atomic_fetch_and_explicit(volatile generic atomic_double *object, double operand, memory_order order);
-double __attribute__((overloadable)) atomic_fetch_max_explicit(volatile generic atomic_double *object, double operand, memory_order order);
-double __attribute__((overloadable)) atomic_fetch_min_explicit(volatile generic atomic_double *object, double operand, memory_order order);
__kernel void test_atomic_fn(volatile __global float *p,
volatile __global double *pp,
@@ -86,11 +84,7 @@ __kernel void test_atomic_fn(volatile __global float *p,
d = atomic_fetch_and(pp, val, order);
d = atomic_fetch_min(pp, val, order);
d = atomic_fetch_max(pp, val, order);
- f = atomic_fetch_add_explicit(p, val, order);
- f = atomic_fetch_sub_explicit(p, val, order);
f = atomic_fetch_or_explicit(p, val, order);
f = atomic_fetch_xor_explicit(p, val, order);
d = atomic_fetch_and_explicit(pp, val, order);
- d = atomic_fetch_min_explicit(pp, val, order);
- d = atomic_fetch_max_explicit(pp, val, order);
}
diff --git a/test/transcoding/AtomicFAddEXTForOCL.ll b/test/transcoding/AtomicFAddEXTForOCL.ll
new file mode 100644
index 00000000..fb146fb9
--- /dev/null
+++ b/test/transcoding/AtomicFAddEXTForOCL.ll
@@ -0,0 +1,64 @@
+; RUN: llvm-as %s -o %t.bc
+; RUN: llvm-spirv %t.bc --spirv-ext=+SPV_EXT_shader_atomic_float_add -o %t.spv
+; RUN: spirv-val %t.spv
+; RUN: llvm-spirv -to-text %t.spv -o %t.spt
+; RUN: FileCheck < %t.spt %s --check-prefix=CHECK-SPIRV
+
+; RUN: llvm-spirv --spirv-target-env=CL2.0 -r %t.spv -o %t.rev.bc
+; RUN: llvm-dis %t.rev.bc -o - | FileCheck %s --check-prefixes=CHECK-LLVM-CL,CHECK-LLVM-CL20
+
+; RUN: llvm-spirv --spirv-target-env=SPV-IR -r %t.spv -o %t.rev.bc
+; RUN: llvm-dis %t.rev.bc -o - | FileCheck %s --check-prefixes=CHECK-LLVM-SPV
+
+target datalayout = "e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024"
+target triple = "spir-unknown-unknown"
+
+; CHECK-SPIRV: Capability AtomicFloat32AddEXT
+; CHECK-SPIRV: Capability AtomicFloat64AddEXT
+; CHECK-SPIRV: Extension "SPV_EXT_shader_atomic_float_add"
+; CHECK-SPIRV: TypeFloat [[TYPE_FLOAT_32:[0-9]+]] 32
+; CHECK-SPIRV: TypeFloat [[TYPE_FLOAT_64:[0-9]+]] 64
+
+
+; Function Attrs: convergent norecurse nounwind
+define dso_local spir_func void @test_atomic_float(float addrspace(1)* %a) local_unnamed_addr #0 {
+entry:
+ ; CHECK-SPIRV: 7 AtomicFAddEXT [[TYPE_FLOAT_32]]
+ ; CHECK-LLVM-CL20: call spir_func float @[[FLOAT_FUNC_NAME:_Z25atomic_fetch_add_explicit[[:alnum:]]+_Atomicff[a-zA-Z0-9_]+]]({{.*}})
+ ; CHECK-LLVM-SPV: call spir_func float @[[FLOAT_FUNC_NAME:_Z21__spirv_AtomicFAddEXT[[:alnum:]]+fiif]]({{.*}})
+ %call = tail call spir_func float @_Z25atomic_fetch_add_explicitPU3AS1VU7_Atomicff12memory_order(float addrspace(1)* %a, float 0.000000e+00, i32 0) #2
+ ret void
+}
+
+; Function Attrs: convergent
+declare spir_func float @_Z25atomic_fetch_add_explicitPU3AS1VU7_Atomicff12memory_order(float addrspace(1)*, float, i32) local_unnamed_addr #1
+; CHECK-LLVM-SPV: declare {{.*}}spir_func float @[[FLOAT_FUNC_NAME]](float
+
+; Function Attrs: convergent norecurse nounwind
+define dso_local spir_func void @test_atomic_double(double addrspace(1)* %a) local_unnamed_addr #0 {
+entry:
+ ; CHECK-SPIRV: 7 AtomicFAddEXT [[TYPE_FLOAT_64]]
+ ; CHECK-LLVM-CL20: call spir_func double @[[DOUBLE_FUNC_NAME:_Z25atomic_fetch_add_explicit[[:alnum:]]+_Atomicdd[a-zA-Z0-9_]+]]({{.*}})
+ ; CHECK-LLVM-SPV: call spir_func double @[[DOUBLE_FUNC_NAME:_Z21__spirv_AtomicFAddEXT[[:alnum:]]+diid]]({{.*}})
+ %call = tail call spir_func double @_Z25atomic_fetch_add_explicitPU3AS1VU7_Atomicdd12memory_order(double addrspace(1)* %a, double 0.000000e+00, i32 0) #2
+ ret void
+}
+; Function Attrs: convergent
+declare spir_func double @_Z25atomic_fetch_add_explicitPU3AS1VU7_Atomicdd12memory_order(double addrspace(1)*, double, i32) local_unnamed_addr #1
+; CHECK-LLVM-SPV: declare {{.*}}spir_func double @[[DOUBLE_FUNC_NAME]](double
+
+; CHECK-LLVM-CL: declare {{.*}}spir_func float @[[FLOAT_FUNC_NAME]](float
+; CHECK-LLVM-CL: declare {{.*}}spir_func double @[[DOUBLE_FUNC_NAME]](double
+
+attributes #0 = { convergent norecurse nounwind "frame-pointer"="none" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" }
+attributes #1 = { convergent "frame-pointer"="none" "no-trapping-math"="true" "stack-protector-buffer-size"="8" }
+attributes #2 = { convergent nounwind }
+
+!llvm.module.flags = !{!0}
+!opencl.ocl.version = !{!1}
+!opencl.spir.version = !{!1}
+!llvm.ident = !{!2}
+
+!0 = !{i32 1, !"wchar_size", i32 4}
+!1 = !{i32 2, i32 0}
+!2 = !{!"clang version 13.0.0 (https://github.com/llvm/llvm-project.git 94aa388f0ce0723bb15503cf41c2c15b288375b9)"}
diff --git a/test/transcoding/AtomicFMaxEXTForOCL.ll b/test/transcoding/AtomicFMaxEXTForOCL.ll
new file mode 100644
index 00000000..1f2530d9
--- /dev/null
+++ b/test/transcoding/AtomicFMaxEXTForOCL.ll
@@ -0,0 +1,64 @@
+; RUN: llvm-as %s -o %t.bc
+; RUN: llvm-spirv %t.bc --spirv-ext=+SPV_EXT_shader_atomic_float_min_max -o %t.spv
+; RUN: spirv-val %t.spv
+; RUN: llvm-spirv -to-text %t.spv -o %t.spt
+; RUN: FileCheck < %t.spt %s --check-prefix=CHECK-SPIRV
+
+; RUN: llvm-spirv --spirv-target-env=CL2.0 -r %t.spv -o %t.rev.bc
+; RUN: llvm-dis %t.rev.bc -o - | FileCheck %s --check-prefixes=CHECK-LLVM-CL,CHECK-LLVM-CL20
+
+; RUN: llvm-spirv --spirv-target-env=SPV-IR -r %t.spv -o %t.rev.bc
+; RUN: llvm-dis %t.rev.bc -o - | FileCheck %s --check-prefixes=CHECK-LLVM-SPV
+
+target datalayout = "e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024"
+target triple = "spir-unknown-unknown"
+
+; CHECK-SPIRV: Capability AtomicFloat32MinMaxEXT
+; CHECK-SPIRV: Capability AtomicFloat64MinMaxEXT
+; CHECK-SPIRV: Extension "SPV_EXT_shader_atomic_float_min_max"
+; CHECK-SPIRV: TypeFloat [[TYPE_FLOAT_32:[0-9]+]] 32
+; CHECK-SPIRV: TypeFloat [[TYPE_FLOAT_64:[0-9]+]] 64
+
+; Function Attrs: convergent norecurse nounwind
+define dso_local spir_func void @test_float(float addrspace(1)* %a) local_unnamed_addr #0 {
+entry:
+ ; CHECK-SPIRV: 7 AtomicFMaxEXT [[TYPE_FLOAT_32]]
+ ; CHECK-LLVM-CL20: call spir_func float @[[FLOAT_FUNC_NAME:_Z25atomic_fetch_max_explicit[[:alnum:]]+_Atomicff[a-zA-Z0-9_]+]]({{.*}})
+ ; CHECK-LLVM-SPV: call spir_func float @[[FLOAT_FUNC_NAME:_Z21__spirv_AtomicFMaxEXT[[:alnum:]]+fiif]]({{.*}})
+ %call = tail call spir_func float @_Z25atomic_fetch_max_explicitPU3AS1VU7_Atomicff12memory_order(float addrspace(1)* %a, float 0.000000e+00, i32 0) #2
+ ret void
+}
+
+; Function Attrs: convergent
+declare spir_func float @_Z25atomic_fetch_max_explicitPU3AS1VU7_Atomicff12memory_order(float addrspace(1)*, float, i32) local_unnamed_addr #1
+; CHECK-LLVM-SPV: declare {{.*}}spir_func float @[[FLOAT_FUNC_NAME]](float
+
+; Function Attrs: convergent norecurse nounwind
+define dso_local spir_func void @test_double(double addrspace(1)* %a) local_unnamed_addr #0 {
+entry:
+ ; CHECK-SPIRV: 7 AtomicFMaxEXT [[TYPE_FLOAT_64]]
+ ; CHECK-LLVM-CL20: call spir_func double @[[DOUBLE_FUNC_NAME:_Z25atomic_fetch_max_explicit[[:alnum:]]+_Atomicdd[a-zA-Z0-9_]+]]({{.*}})
+ ; CHECK-LLVM-SPV: call spir_func double @[[DOUBLE_FUNC_NAME:_Z21__spirv_AtomicFMaxEXT[[:alnum:]]+diid]]({{.*}})
+ %call = tail call spir_func double @_Z25atomic_fetch_max_explicitPU3AS1VU7_Atomicdd12memory_order(double addrspace(1)* %a, double 0.000000e+00, i32 0) #2
+ ret void
+}
+
+; Function Attrs: convergent
+declare spir_func double @_Z25atomic_fetch_max_explicitPU3AS1VU7_Atomicdd12memory_order(double addrspace(1)*, double, i32) local_unnamed_addr #1
+; CHECK-LLVM-SPV: declare {{.*}}spir_func double @[[DOUBLE_FUNC_NAME]](double
+
+; CHECK-LLVM-CL: declare {{.*}}spir_func float @[[FLOAT_FUNC_NAME]](float
+; CHECK-LLVM-CL: declare {{.*}}spir_func double @[[DOUBLE_FUNC_NAME]](double
+
+attributes #0 = { convergent norecurse nounwind "frame-pointer"="none" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" }
+attributes #1 = { convergent "frame-pointer"="none" "no-trapping-math"="true" "stack-protector-buffer-size"="8" }
+attributes #2 = { convergent nounwind }
+
+!llvm.module.flags = !{!0}
+!opencl.ocl.version = !{!1}
+!opencl.spir.version = !{!1}
+!llvm.ident = !{!2}
+
+!0 = !{i32 1, !"wchar_size", i32 4}
+!1 = !{i32 2, i32 0}
+!2 = !{!"clang version 13.0.0 (https://github.com/llvm/llvm-project.git 94aa388f0ce0723bb15503cf41c2c15b288375b9)"}
diff --git a/test/transcoding/AtomicFMinEXTForOCL.ll b/test/transcoding/AtomicFMinEXTForOCL.ll
new file mode 100644
index 00000000..6196b0f8
--- /dev/null
+++ b/test/transcoding/AtomicFMinEXTForOCL.ll
@@ -0,0 +1,64 @@
+; RUN: llvm-as %s -o %t.bc
+; RUN: llvm-spirv %t.bc --spirv-ext=+SPV_EXT_shader_atomic_float_min_max -o %t.spv
+; RUN: spirv-val %t.spv
+; RUN: llvm-spirv -to-text %t.spv -o %t.spt
+; RUN: FileCheck < %t.spt %s --check-prefix=CHECK-SPIRV
+
+; RUN: llvm-spirv --spirv-target-env=CL2.0 -r %t.spv -o %t.rev.bc
+; RUN: llvm-dis %t.rev.bc -o - | FileCheck %s --check-prefixes=CHECK-LLVM-CL,CHECK-LLVM-CL20
+
+; RUN: llvm-spirv --spirv-target-env=SPV-IR -r %t.spv -o %t.rev.bc
+; RUN: llvm-dis %t.rev.bc -o - | FileCheck %s --check-prefixes=CHECK-LLVM-SPV
+
+target datalayout = "e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024"
+target triple = "spir-unknown-unknown"
+
+; CHECK-SPIRV: Capability AtomicFloat32MinMaxEXT
+; CHECK-SPIRV: Capability AtomicFloat64MinMaxEXT
+; CHECK-SPIRV: Extension "SPV_EXT_shader_atomic_float_min_max"
+; CHECK-SPIRV: TypeFloat [[TYPE_FLOAT_32:[0-9]+]] 32
+; CHECK-SPIRV: TypeFloat [[TYPE_FLOAT_64:[0-9]+]] 64
+
+; Function Attrs: convergent norecurse nounwind
+define dso_local spir_func void @test_float(float addrspace(1)* %a) local_unnamed_addr #0 {
+entry:
+ ; CHECK-SPIRV: 7 AtomicFMinEXT [[TYPE_FLOAT_32]]
+ ; CHECK-LLVM-CL20: call spir_func float @[[FLOAT_FUNC_NAME:_Z25atomic_fetch_min_explicit[[:alnum:]]+_Atomicff[a-zA-Z0-9_]+]]({{.*}})
+ ; CHECK-LLVM-SPV: call spir_func float @[[FLOAT_FUNC_NAME:_Z21__spirv_AtomicFMinEXT[[:alnum:]]+fiif]]({{.*}})
+ %call = tail call spir_func float @_Z25atomic_fetch_min_explicitPU3AS1VU7_Atomicff12memory_order(float addrspace(1)* %a, float 0.000000e+00, i32 0) #2
+ ret void
+}
+
+; Function Attrs: convergent
+declare spir_func float @_Z25atomic_fetch_min_explicitPU3AS1VU7_Atomicff12memory_order(float addrspace(1)*, float, i32) local_unnamed_addr #1
+; CHECK-LLVM-SPV: declare {{.*}}spir_func float @[[FLOAT_FUNC_NAME]](float
+
+; Function Attrs: convergent norecurse nounwind
+define dso_local spir_func void @test_double(double addrspace(1)* %a) local_unnamed_addr #0 {
+entry:
+ ; CHECK-SPIRV: 7 AtomicFMinEXT [[TYPE_FLOAT_64]]
+ ; CHECK-LLVM-CL20: call spir_func double @[[DOUBLE_FUNC_NAME:_Z25atomic_fetch_min_explicit[[:alnum:]]+_Atomicdd[a-zA-Z0-9_]+]]({{.*}})
+ ; CHECK-LLVM-SPV: call spir_func double @[[DOUBLE_FUNC_NAME:_Z21__spirv_AtomicFMinEXT[[:alnum:]]+diid]]({{.*}})
+ %call = tail call spir_func double @_Z25atomic_fetch_min_explicitPU3AS1VU7_Atomicdd12memory_order(double addrspace(1)* %a, double 0.000000e+00, i32 0) #2
+ ret void
+}
+
+; Function Attrs: convergent
+declare spir_func double @_Z25atomic_fetch_min_explicitPU3AS1VU7_Atomicdd12memory_order(double addrspace(1)*, double, i32) local_unnamed_addr #1
+; CHECK-LLVM-SPV: declare {{.*}}spir_func double @[[DOUBLE_FUNC_NAME]](double
+
+; CHECK-LLVM-CL: declare {{.*}}spir_func float @[[FLOAT_FUNC_NAME]](float
+; CHECK-LLVM-CL: declare {{.*}}spir_func double @[[DOUBLE_FUNC_NAME]](double
+
+attributes #0 = { convergent norecurse nounwind "frame-pointer"="none" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" }
+attributes #1 = { convergent "frame-pointer"="none" "no-trapping-math"="true" "stack-protector-buffer-size"="8" }
+attributes #2 = { convergent nounwind }
+
+!llvm.module.flags = !{!0}
+!opencl.ocl.version = !{!1}
+!opencl.spir.version = !{!1}
+!llvm.ident = !{!2}
+
+!0 = !{i32 1, !"wchar_size", i32 4}
+!1 = !{i32 2, i32 0}
+!2 = !{!"clang version 13.0.0 (https://github.com/llvm/llvm-project.git 94aa388f0ce0723bb15503cf41c2c15b288375b9)"}
--
2.17.1

View File

@ -1,35 +0,0 @@
From ef27f1f99ad661c9604b7ff10efb1122466c508b Mon Sep 17 00:00:00 2001
From: juanrod2 <>
Date: Tue, 22 Dec 2020 08:33:08 +0800
Subject: [PATCH 2/6] Memory leak fix for Managed Static Mutex
Upstream-Status: Backport [Taken from opencl-clang patches; https://github.com/intel/opencl-clang/blob/ocl-open-100/patches/llvm/0001-Memory-leak-fix-for-Managed-Static-Mutex.patch]
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Cleaning a mutex inside ManagedStatic llvm class.
---
llvm/lib/Support/ManagedStatic.cpp | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/llvm/lib/Support/ManagedStatic.cpp b/llvm/lib/Support/ManagedStatic.cpp
index 053493f72fb5..6571580ccecf 100644
--- a/llvm/lib/Support/ManagedStatic.cpp
+++ b/llvm/lib/Support/ManagedStatic.cpp
@@ -76,8 +76,12 @@ void ManagedStaticBase::destroy() const {
/// llvm_shutdown - Deallocate and destroy all ManagedStatic variables.
void llvm::llvm_shutdown() {
- std::lock_guard<std::recursive_mutex> Lock(*getManagedStaticMutex());
+ getManagedStaticMutex()->lock();
while (StaticList)
StaticList->destroy();
+
+ getManagedStaticMutex()->unlock();
+ delete ManagedStaticMutex;
+ ManagedStaticMutex = nullptr;
}
--
2.17.1

View File

@ -1,49 +0,0 @@
From a71ab6fb04b918b856f1dd802cfdb4a7ccd53290 Mon Sep 17 00:00:00 2001
From: Feng Zou <feng.zou@intel.com>
Date: Tue, 20 Oct 2020 11:29:04 +0800
Subject: [PATCH 3/6] Remove repo name in LLVM IR
Upstream-Status: Backport [Taken from opencl-clang patches, https://github.com/intel/opencl-clang/blob/ocl-open-110/patches/llvm/0002-Remove-repo-name-in-LLVM-IR.patch]
Signed-off-by: Feng Zou <feng.zou@intel.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
llvm/cmake/modules/VersionFromVCS.cmake | 23 ++++++++++++-----------
1 file changed, 12 insertions(+), 11 deletions(-)
diff --git a/llvm/cmake/modules/VersionFromVCS.cmake b/llvm/cmake/modules/VersionFromVCS.cmake
index 18edbeabe3e4..2d9652634787 100644
--- a/llvm/cmake/modules/VersionFromVCS.cmake
+++ b/llvm/cmake/modules/VersionFromVCS.cmake
@@ -33,17 +33,18 @@ function(get_source_info path revision repository)
else()
set(remote "origin")
endif()
- execute_process(COMMAND ${GIT_EXECUTABLE} remote get-url ${remote}
- WORKING_DIRECTORY ${path}
- RESULT_VARIABLE git_result
- OUTPUT_VARIABLE git_output
- ERROR_QUIET)
- if(git_result EQUAL 0)
- string(STRIP "${git_output}" git_output)
- set(${repository} ${git_output} PARENT_SCOPE)
- else()
- set(${repository} ${path} PARENT_SCOPE)
- endif()
+ # Do not show repo name in IR
+ # execute_process(COMMAND ${GIT_EXECUTABLE} remote get-url ${remote}
+ # WORKING_DIRECTORY ${path}
+ # RESULT_VARIABLE git_result
+ # OUTPUT_VARIABLE git_output
+ # ERROR_QUIET)
+ # if(git_result EQUAL 0)
+ # string(STRIP "${git_output}" git_output)
+ # set(${repository} ${git_output} PARENT_SCOPE)
+ # else()
+ # set(${repository} ${path} PARENT_SCOPE)
+ # endif()
endif()
else()
message(WARNING "Git not found. Version cannot be determined.")
--
2.17.1

View File

@ -1,51 +0,0 @@
From 546d9089fe5e21cccc671a0a89555cd4d5f8c817 Mon Sep 17 00:00:00 2001
From: Naveen Saini <naveen.kumar.saini@intel.com>
Date: Thu, 19 Aug 2021 15:52:24 +0800
Subject: [PATCH 4/6] Remove __IMAGE_SUPPORT__ macro for SPIR since SPIR
doesn't require image support
Upstream-Status: Backport [Taken from opencl-clang patches; https://github.com/intel/opencl-clang/blob/ocl-open-110/patches/clang/0002-Remove-__IMAGE_SUPPORT__-macro-for-SPIR.patch]
Signed-off-by: haonanya <haonan.yang@intel.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
clang/lib/Frontend/InitPreprocessor.cpp | 3 ---
clang/test/Preprocessor/predefined-macros.c | 2 --
2 files changed, 5 deletions(-)
diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp
index 5bb489c11909..cf3b48cb65d2 100644
--- a/clang/lib/Frontend/InitPreprocessor.cpp
+++ b/clang/lib/Frontend/InitPreprocessor.cpp
@@ -1115,9 +1115,6 @@ static void InitializePredefinedMacros(const TargetInfo &TI,
if (TI.getSupportedOpenCLOpts().isSupported(#Ext)) \
Builder.defineMacro(#Ext);
#include "clang/Basic/OpenCLExtensions.def"
-
- if (TI.getTriple().isSPIR())
- Builder.defineMacro("__IMAGE_SUPPORT__");
}
if (TI.hasInt128Type() && LangOpts.CPlusPlus && LangOpts.GNUMode) {
diff --git a/clang/test/Preprocessor/predefined-macros.c b/clang/test/Preprocessor/predefined-macros.c
index 6c80517ec4d4..b5e5d7e2d546 100644
--- a/clang/test/Preprocessor/predefined-macros.c
+++ b/clang/test/Preprocessor/predefined-macros.c
@@ -186,14 +186,12 @@
// RUN: %clang_cc1 %s -E -dM -o - -x cl -triple spir-unknown-unknown \
// RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-SPIR
-// CHECK-SPIR-DAG: #define __IMAGE_SUPPORT__ 1
// CHECK-SPIR-DAG: #define __SPIR__ 1
// CHECK-SPIR-DAG: #define __SPIR32__ 1
// CHECK-SPIR-NOT: #define __SPIR64__ 1
// RUN: %clang_cc1 %s -E -dM -o - -x cl -triple spir64-unknown-unknown \
// RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-SPIR64
-// CHECK-SPIR64-DAG: #define __IMAGE_SUPPORT__ 1
// CHECK-SPIR64-DAG: #define __SPIR__ 1
// CHECK-SPIR64-DAG: #define __SPIR64__ 1
// CHECK-SPIR64-NOT: #define __SPIR32__ 1
--
2.17.1

View File

@ -1,52 +0,0 @@
From 747e48959e18ac8b586078a82472a0799d12925c Mon Sep 17 00:00:00 2001
From: Raphael Isemann <teemperor@gmail.com>
Date: Thu, 1 Apr 2021 18:41:44 +0200
Subject: [PATCH 5/6] Avoid calling ParseCommandLineOptions in BackendUtil if
possible
Calling `ParseCommandLineOptions` should only be called from `main` as the
CommandLine setup code isn't thread-safe. As BackendUtil is part of the
generic Clang FrontendAction logic, a process which has several threads executing
Clang FrontendActions will randomly crash in the unsafe setup code.
This patch avoids calling the function unless either the debug-pass option or
limit-float-precision option is set. Without these two options set the
`ParseCommandLineOptions` call doesn't do anything beside parsing
the command line `clang` which doesn't set any options.
See also D99652 where LLDB received a workaround for this crash.
Reviewed By: JDevlieghere
Differential Revision: https://reviews.llvm.org/D99740
Upstream-Status: Backport [Taken from opencl-clang patches; https://github.com/intel/opencl-clang/blob/ocl-open-110/patches/clang/0003-Avoid-calling-ParseCommandLineOptions-in-BackendUtil.patch]
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
clang/lib/CodeGen/BackendUtil.cpp | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/clang/lib/CodeGen/BackendUtil.cpp b/clang/lib/CodeGen/BackendUtil.cpp
index dce0940670a2..ab478090ed1c 100644
--- a/clang/lib/CodeGen/BackendUtil.cpp
+++ b/clang/lib/CodeGen/BackendUtil.cpp
@@ -797,7 +797,15 @@ static void setCommandLineOpts(const CodeGenOptions &CodeGenOpts) {
BackendArgs.push_back("-limit-float-precision");
BackendArgs.push_back(CodeGenOpts.LimitFloatPrecision.c_str());
}
+ // Check for the default "clang" invocation that won't set any cl::opt values.
+ // Skip trying to parse the command line invocation to avoid the issues
+ // described below.
+ if (BackendArgs.size() == 1)
+ return;
BackendArgs.push_back(nullptr);
+ // FIXME: The command line parser below is not thread-safe and shares a global
+ // state, so this call might crash or overwrite the options of another Clang
+ // instance in the same process.
llvm::cl::ParseCommandLineOptions(BackendArgs.size() - 1,
BackendArgs.data());
}
--
2.17.1

View File

@ -1,353 +0,0 @@
From a1b924d76cdacfa3f9dbb79a9e3edddcd75f61ca Mon Sep 17 00:00:00 2001
From: Naveen Saini <naveen.kumar.saini@intel.com>
Date: Thu, 19 Aug 2021 16:06:33 +0800
Subject: [PATCH 6/6] [OpenCL] support cl_ext_float_atomics
Upstream-Status: Backport [Taken from opencl-clang patches; https://github.com/intel/opencl-clang/blob/ocl-open-110/patches/clang/0004-OpenCL-support-cl_ext_float_atomics.patch]
Signed-off-by: haonanya <haonan.yang@intel.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
clang/lib/Headers/opencl-c-base.h | 25 ++++
clang/lib/Headers/opencl-c.h | 195 ++++++++++++++++++++++++++
clang/test/Headers/opencl-c-header.cl | 85 +++++++++++
3 files changed, 305 insertions(+)
diff --git a/clang/lib/Headers/opencl-c-base.h b/clang/lib/Headers/opencl-c-base.h
index afa900ab24d9..9a3ee8529acf 100644
--- a/clang/lib/Headers/opencl-c-base.h
+++ b/clang/lib/Headers/opencl-c-base.h
@@ -62,6 +62,31 @@
#endif
#endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ == CL_VERSION_2_0)
+#if (defined(__OPENCL_CPP_VERSION__) || __OPENCL_C_VERSION__ >= 200)
+// For SPIR all extensions are supported.
+#if defined(__SPIR__)
+#define cl_ext_float_atomics
+#ifdef cl_khr_fp16
+#define __opencl_c_ext_fp16_global_atomic_load_store 1
+#define __opencl_c_ext_fp16_local_atomic_load_store 1
+#define __opencl_c_ext_fp16_global_atomic_add 1
+#define __opencl_c_ext_fp16_local_atomic_add 1
+#define __opencl_c_ext_fp16_global_atomic_min_max 1
+#define __opencl_c_ext_fp16_local_atomic_min_max 1
+#endif
+#ifdef __opencl_c_fp64
+#define __opencl_c_ext_fp64_global_atomic_add 1
+#define __opencl_c_ext_fp64_local_atomic_add 1
+#define __opencl_c_ext_fp64_global_atomic_min_max 1
+#define __opencl_c_ext_fp64_local_atomic_min_max 1
+#endif
+#define __opencl_c_ext_fp32_global_atomic_add 1
+#define __opencl_c_ext_fp32_local_atomic_add 1
+#define __opencl_c_ext_fp32_global_atomic_min_max 1
+#define __opencl_c_ext_fp32_local_atomic_min_max 1
+#endif // defined(__SPIR__)
+#endif // (defined(__OPENCL_CPP_VERSION__) || __OPENCL_C_VERSION__ >= 200)
+
// built-in scalar data types:
/**
diff --git a/clang/lib/Headers/opencl-c.h b/clang/lib/Headers/opencl-c.h
index 67d900eb1c3d..bda0f5c6df80 100644
--- a/clang/lib/Headers/opencl-c.h
+++ b/clang/lib/Headers/opencl-c.h
@@ -14354,6 +14354,201 @@ intptr_t __ovld atomic_fetch_max_explicit(
// defined(cl_khr_int64_extended_atomics)
#endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0)
+#if defined(cl_ext_float_atomics)
+
+#if defined(__opencl_c_ext_fp32_global_atomic_min_max)
+float __ovld atomic_fetch_min(volatile __global atomic_float *object,
+ float operand);
+float __ovld atomic_fetch_max(volatile __global atomic_float *object,
+ float operand);
+float __ovld atomic_fetch_min_explicit(volatile __global atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_max_explicit(volatile __global atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_min_explicit(volatile __global atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+float __ovld atomic_fetch_max_explicit(volatile __global atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+#endif
+#if defined(__opencl_c_ext_fp32_local_atomic_min_max)
+float __ovld atomic_fetch_min(volatile __local atomic_float *object,
+ float operand);
+float __ovld atomic_fetch_max(volatile __local atomic_float *object,
+ float operand);
+float __ovld atomic_fetch_min_explicit(volatile __local atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_max_explicit(volatile __local atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_min_explicit(volatile __local atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+float __ovld atomic_fetch_max_explicit(volatile __local atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+#endif
+#if defined(__opencl_c_ext_fp32_global_atomic_min_max) || \
+ defined(__opencl_c_ext_fp32_local_atomic_min_max)
+float __ovld atomic_fetch_min(volatile atomic_float *object, float operand);
+float __ovld atomic_fetch_max(volatile atomic_float *object, float operand);
+float __ovld atomic_fetch_min_explicit(volatile atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_max_explicit(volatile atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_min_explicit(volatile atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+float __ovld atomic_fetch_max_explicit(volatile atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+#endif
+#if defined(__opencl_c_ext_fp64_global_atomic_min_max)
+double __ovld atomic_fetch_min(volatile __global atomic_double *object,
+ double operand);
+double __ovld atomic_fetch_max(volatile __global atomic_double *object,
+ double operand);
+double __ovld atomic_fetch_min_explicit(volatile __global atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_max_explicit(volatile __global atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_min_explicit(volatile __global atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+double __ovld atomic_fetch_max_explicit(volatile __global atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+#endif
+#if defined(__opencl_c_ext_fp64_local_atomic_min_max)
+double __ovld atomic_fetch_min(volatile __local atomic_double *object,
+ double operand);
+double __ovld atomic_fetch_max(volatile __local atomic_double *object,
+ double operand);
+double __ovld atomic_fetch_min_explicit(volatile __local atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_max_explicit(volatile __local atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_min_explicit(volatile __local atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+double __ovld atomic_fetch_max_explicit(volatile __local atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+#endif
+#if defined(__opencl_c_ext_fp64_global_atomic_min_max) || \
+ defined(__opencl_c_ext_fp64_local_atomic_min_max)
+double __ovld atomic_fetch_min(volatile atomic_double *object, double operand);
+double __ovld atomic_fetch_max(volatile atomic_double *object, double operand);
+double __ovld atomic_fetch_min_explicit(volatile atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_max_explicit(volatile atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_min_explicit(volatile atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+double __ovld atomic_fetch_max_explicit(volatile atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+#endif
+
+#if defined(__opencl_c_ext_fp32_global_atomic_add)
+float __ovld atomic_fetch_add(volatile __global atomic_float *object,
+ float operand);
+float __ovld atomic_fetch_sub(volatile __global atomic_float *object,
+ float operand);
+float __ovld atomic_fetch_add_explicit(volatile __global atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_sub_explicit(volatile __global atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_add_explicit(volatile __global atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+float __ovld atomic_fetch_sub_explicit(volatile __global atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+#endif
+#if defined(__opencl_c_ext_fp32_local_atomic_add)
+float __ovld atomic_fetch_add(volatile __local atomic_float *object,
+ float operand);
+float __ovld atomic_fetch_sub(volatile __local atomic_float *object,
+ float operand);
+float __ovld atomic_fetch_add_explicit(volatile __local atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_sub_explicit(volatile __local atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_add_explicit(volatile __local atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+float __ovld atomic_fetch_sub_explicit(volatile __local atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+#endif
+#if defined(__opencl_c_ext_fp32_global_atomic_add) || \
+ defined(__opencl_c_ext_fp32_local_atomic_add)
+float __ovld atomic_fetch_add(volatile atomic_float *object, float operand);
+float __ovld atomic_fetch_sub(volatile atomic_float *object, float operand);
+float __ovld atomic_fetch_add_explicit(volatile atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_sub_explicit(volatile atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_add_explicit(volatile atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+float __ovld atomic_fetch_sub_explicit(volatile atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+#endif
+
+#if defined(__opencl_c_ext_fp64_global_atomic_add)
+double __ovld atomic_fetch_add(volatile __global atomic_double *object,
+ double operand);
+double __ovld atomic_fetch_sub(volatile __global atomic_double *object,
+ double operand);
+double __ovld atomic_fetch_add_explicit(volatile __global atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_sub_explicit(volatile __global atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_add_explicit(volatile __global atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+double __ovld atomic_fetch_sub_explicit(volatile __global atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+#endif
+#if defined(__opencl_c_ext_fp64_local_atomic_add)
+double __ovld atomic_fetch_add(volatile __local atomic_double *object,
+ double operand);
+double __ovld atomic_fetch_sub(volatile __local atomic_double *object,
+ double operand);
+double __ovld atomic_fetch_add_explicit(volatile __local atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_sub_explicit(volatile __local atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_add_explicit(volatile __local atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+double __ovld atomic_fetch_sub_explicit(volatile __local atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+#endif
+#if defined(__opencl_c_ext_fp64_global_atomic_add) || \
+ defined(__opencl_c_ext_fp64_local_atomic_add)
+double __ovld atomic_fetch_add(volatile atomic_double *object, double operand);
+double __ovld atomic_fetch_sub(volatile atomic_double *object, double operand);
+double __ovld atomic_fetch_add_explicit(volatile atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_sub_explicit(volatile atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_add_explicit(volatile atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+double __ovld atomic_fetch_sub_explicit(volatile atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+#endif
+
+#endif // cl_ext_float_atomics
+
// atomic_store()
#if defined(__opencl_c_atomic_scope_device) && \
diff --git a/clang/test/Headers/opencl-c-header.cl b/clang/test/Headers/opencl-c-header.cl
index 2716076acdcf..6b3eca84e8b9 100644
--- a/clang/test/Headers/opencl-c-header.cl
+++ b/clang/test/Headers/opencl-c-header.cl
@@ -98,3 +98,88 @@ global atomic_int z = ATOMIC_VAR_INIT(99);
#pragma OPENCL EXTENSION cl_intel_planar_yuv : enable
// CHECK-MOD: Reading modules
+
+// For SPIR all extensions are supported.
+#if defined(__SPIR__)
+
+#if (defined(__OPENCL_CPP_VERSION__) || __OPENCL_C_VERSION__ >= 200)
+
+#if __opencl_c_ext_fp16_global_atomic_load_store != 1
+#error "Incorrectly defined __opencl_c_ext_fp16_global_atomic_load_store"
+#endif
+#if __opencl_c_ext_fp16_local_atomic_load_store != 1
+#error "Incorrectly defined __opencl_c_ext_fp16_local_atomic_load_store"
+#endif
+#if __opencl_c_ext_fp16_global_atomic_add != 1
+#error "Incorrectly defined __opencl_c_ext_fp16_global_atomic_add"
+#endif
+#if __opencl_c_ext_fp32_global_atomic_add != 1
+#error "Incorrectly defined __opencl_c_ext_fp32_global_atomic_add"
+#endif
+#if __opencl_c_ext_fp16_local_atomic_add != 1
+#error "Incorrectly defined __opencl_c_ext_fp16_local_atomic_add"
+#endif
+#if __opencl_c_ext_fp32_local_atomic_add != 1
+#error "Incorrectly defined __opencl_c_ext_fp32_local_atomic_add"
+#endif
+#if __opencl_c_ext_fp16_global_atomic_min_max != 1
+#error "Incorrectly defined __opencl_c_ext_fp16_global_atomic_min_max"
+#endif
+#if __opencl_c_ext_fp32_global_atomic_min_max != 1
+#error "Incorrectly defined __opencl_c_ext_fp32_global_atomic_min_max"
+#endif
+#if __opencl_c_ext_fp16_local_atomic_min_max != 1
+#error "Incorrectly defined __opencl_c_ext_fp16_local_atomic_min_max"
+#endif
+#if __opencl_c_ext_fp32_local_atomic_min_max != 1
+#error "Incorrectly defined __opencl_c_ext_fp32_local_atomic_min_max"
+#endif
+
+#else
+#ifdef __opencl_c_ext_fp16_global_atomic_load_store
+#error "Incorrectly __opencl_c_ext_fp16_global_atomic_load_store defined"
+#endif
+#ifdef __opencl_c_ext_fp16_local_atomic_load_store
+#error "Incorrectly __opencl_c_ext_fp16_local_atomic_load_store defined"
+#endif
+#ifdef __opencl_c_ext_fp16_global_atomic_add
+#error "Incorrectly __opencl_c_ext_fp16_global_atomic_add defined"
+#endif
+#ifdef __opencl_c_ext_fp32_global_atomic_add
+#error "Incorrectly __opencl_c_ext_fp32_global_atomic_add defined"
+#endif
+#ifdef __opencl_c_ext_fp64_global_atomic_add
+#error "Incorrectly __opencl_c_ext_fp64_global_atomic_add defined"
+#endif
+#ifdef __opencl_c_ext_fp16_local_atomic_add
+#error "Incorrectly __opencl_c_ext_fp16_local_atomic_add defined"
+#endif
+#ifdef __opencl_c_ext_fp32_local_atomic_add
+#error "Incorrectly __opencl_c_ext_fp32_local_atomic_add defined"
+#endif
+#ifdef __opencl_c_ext_fp64_local_atomic_add
+#error "Incorrectly __opencl_c_ext_fp64_local_atomic_add defined"
+#endif
+#ifdef __opencl_c_ext_fp16_global_atomic_min_max
+#error "Incorrectly __opencl_c_ext_fp16_global_atomic_min_max defined"
+#endif
+#ifdef __opencl_c_ext_fp32_global_atomic_min_max
+#error "Incorrectly __opencl_c_ext_fp32_global_atomic_min_max defined"
+#endif
+#ifdef __opencl_c_ext_fp64_global_atomic_min_max
+#error "Incorrectly __opencl_c_ext_fp64_global_atomic_min_max defined"
+#endif
+#ifdef __opencl_c_ext_fp16_local_atomic_min_max
+#error "Incorrectly __opencl_c_ext_fp16_local_atomic_min_max defined"
+#endif
+#ifdef __opencl_c_ext_fp32_local_atomic_min_max
+#error "Incorrectly __opencl_c_ext_fp32_local_atomic_min_max defined"
+#endif
+#ifdef __opencl_c_ext_fp64_local_atomic_min_max
+#error "Incorrectly __opencl_c_ext_fp64_local_atomic_min_max defined"
+#endif
+
+#endif //(defined(__OPENCL_CPP_VERSION__) || __OPENCL_C_VERSION__ >= 200)
+
+#endif // defined(__SPIR__)
+
--
2.17.1

View File

@ -1,47 +0,0 @@
From ef2b930a8e33078449737a93e7d522b2280ec58c Mon Sep 17 00:00:00 2001
From: Naveen Saini <naveen.kumar.saini@intel.com>
Date: Fri, 27 Aug 2021 11:39:16 +0800
Subject: [PATCH 1/2] This patch is needed for ISPC for Gen only
Transformation of add to or is not safe for VC backend.
Upstream-Status: Backport [Taken from ispc,https://github.com/ispc/ispc/blob/v1.16.1/llvm_patches/11_0_11_1_disable-A-B-A-B-in-InstCombine.patch]
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
.../lib/Transforms/InstCombine/InstCombineAddSub.cpp | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp b/llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
index a7f5e0a7774d..bf02b0f70827 100644
--- a/llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
+++ b/llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
@@ -15,6 +15,7 @@
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
+#include "llvm/ADT/Triple.h"
#include "llvm/Analysis/InstructionSimplify.h"
#include "llvm/Analysis/ValueTracking.h"
#include "llvm/IR/Constant.h"
@@ -1324,10 +1325,13 @@ Instruction *InstCombiner::visitAdd(BinaryOperator &I) {
return BinaryOperator::CreateSRem(RHS, NewRHS);
}
}
-
- // A+B --> A|B iff A and B have no bits set in common.
- if (haveNoCommonBitsSet(LHS, RHS, DL, &AC, &I, &DT))
- return BinaryOperator::CreateOr(LHS, RHS);
+
+ // Disable this transformation for ISPC SPIR-V
+ if (!Triple(I.getModule()->getTargetTriple()).isSPIR()) {
+ // A+B --> A|B iff A and B have no bits set in common.
+ if (haveNoCommonBitsSet(LHS, RHS, DL, &AC, &I, &DT))
+ return BinaryOperator::CreateOr(LHS, RHS);
+ }
// FIXME: We already did a check for ConstantInt RHS above this.
// FIXME: Is this pattern covered by another fold? No regression tests fail on
--
2.17.1

View File

@ -1,95 +0,0 @@
From c20838176e8bea9e5a176c59c78bbce9051ec987 Mon Sep 17 00:00:00 2001
From: Naveen Saini <naveen.kumar.saini@intel.com>
Date: Fri, 27 Aug 2021 11:41:47 +0800
Subject: [PATCH 2/2] [X86] When storing v1i1/v2i1/v4i1 to memory, make sure we
store zeros in the rest of the byte
We can't store garbage in the unused bits. It possible that something like zextload from i1/i2/i4 is created to read the memory. Those zextloads would be legalized assuming the extra bits are 0.
I'm not sure that the code in lowerStore is executed for the v1i1/v2i1/v4i1 case. It looks like the DAG combine in combineStore may have converted them to v8i1 first. And I think we're missing some cases to avoid going to the stack in the first place. But I don't have time to investigate those things at the moment so I wanted to focus on the correctness issue.
Should fix PR48147.
Reviewed By: RKSimon
Differential Revision: https://reviews.llvm.org/D91294
Upstream-Status: Backport [https://github.com/llvm/llvm-project/commit/a4124e455e641db1e18d4221d2dacb31953fd13b]
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
llvm/lib/Target/X86/X86ISelLowering.cpp | 19 ++++++++++++++-----
llvm/lib/Target/X86/X86InstrAVX512.td | 3 ---
2 files changed, 14 insertions(+), 8 deletions(-)
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index 56690c3c555b..7e673a3163b7 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -23549,17 +23549,22 @@ static SDValue LowerStore(SDValue Op, const X86Subtarget &Subtarget,
// Without AVX512DQ, we need to use a scalar type for v2i1/v4i1/v8i1 stores.
if (StoredVal.getValueType().isVector() &&
StoredVal.getValueType().getVectorElementType() == MVT::i1) {
- assert(StoredVal.getValueType().getVectorNumElements() <= 8 &&
- "Unexpected VT");
+ unsigned NumElts = StoredVal.getValueType().getVectorNumElements();
+ assert(NumElts <= 8 && "Unexpected VT");
assert(!St->isTruncatingStore() && "Expected non-truncating store");
assert(Subtarget.hasAVX512() && !Subtarget.hasDQI() &&
"Expected AVX512F without AVX512DQI");
+ // We must pad with zeros to ensure we store zeroes to any unused bits.
StoredVal = DAG.getNode(ISD::INSERT_SUBVECTOR, dl, MVT::v16i1,
DAG.getUNDEF(MVT::v16i1), StoredVal,
DAG.getIntPtrConstant(0, dl));
StoredVal = DAG.getBitcast(MVT::i16, StoredVal);
StoredVal = DAG.getNode(ISD::TRUNCATE, dl, MVT::i8, StoredVal);
+ // Make sure we store zeros in the extra bits.
+ if (NumElts < 8)
+ StoredVal = DAG.getZeroExtendInReg(StoredVal, dl,
+ MVT::getIntegerVT(NumElts));
return DAG.getStore(St->getChain(), dl, StoredVal, St->getBasePtr(),
St->getPointerInfo(), St->getOriginalAlign(),
@@ -44133,17 +44138,21 @@ static SDValue combineStore(SDNode *N, SelectionDAG &DAG,
if (VT == MVT::v1i1 && VT == StVT && Subtarget.hasAVX512() &&
StoredVal.getOpcode() == ISD::SCALAR_TO_VECTOR &&
StoredVal.getOperand(0).getValueType() == MVT::i8) {
- return DAG.getStore(St->getChain(), dl, StoredVal.getOperand(0),
+ SDValue Val = StoredVal.getOperand(0);
+ // We must store zeros to the unused bits.
+ Val = DAG.getZeroExtendInReg(Val, dl, MVT::i1);
+ return DAG.getStore(St->getChain(), dl, Val,
St->getBasePtr(), St->getPointerInfo(),
St->getOriginalAlign(),
St->getMemOperand()->getFlags());
}
// Widen v2i1/v4i1 stores to v8i1.
- if ((VT == MVT::v2i1 || VT == MVT::v4i1) && VT == StVT &&
+ if ((VT == MVT::v1i1 || VT == MVT::v2i1 || VT == MVT::v4i1) && VT == StVT &&
Subtarget.hasAVX512()) {
unsigned NumConcats = 8 / VT.getVectorNumElements();
- SmallVector<SDValue, 4> Ops(NumConcats, DAG.getUNDEF(VT));
+ // We must store zeros to the unused bits.
+ SmallVector<SDValue, 4> Ops(NumConcats, DAG.getConstant(0, dl, VT));
Ops[0] = StoredVal;
StoredVal = DAG.getNode(ISD::CONCAT_VECTORS, dl, MVT::v8i1, Ops);
return DAG.getStore(St->getChain(), dl, StoredVal, St->getBasePtr(),
diff --git a/llvm/lib/Target/X86/X86InstrAVX512.td b/llvm/lib/Target/X86/X86InstrAVX512.td
index a3ad0b1c8dd6..aa1ccec02f2a 100644
--- a/llvm/lib/Target/X86/X86InstrAVX512.td
+++ b/llvm/lib/Target/X86/X86InstrAVX512.td
@@ -2871,9 +2871,6 @@ def : Pat<(i64 (bitconvert (v64i1 VK64:$src))),
// Load/store kreg
let Predicates = [HasDQI] in {
- def : Pat<(store VK1:$src, addr:$dst),
- (KMOVBmk addr:$dst, (COPY_TO_REGCLASS VK1:$src, VK8))>;
-
def : Pat<(v1i1 (load addr:$src)),
(COPY_TO_REGCLASS (KMOVBkm addr:$src), VK1)>;
def : Pat<(v2i1 (load addr:$src)),
--
2.17.1

View File

@ -1,51 +0,0 @@
From 3632f727dfd786a8eca50bd01219669bbe7b0df9 Mon Sep 17 00:00:00 2001
From: haonanya <haonan.yang@intel.com>
Date: Tue, 11 May 2021 11:13:02 +0800
Subject: [PATCH 1/3] Remove __IMAGE_SUPPORT__ macro for SPIR since SPIR
doesn't require image support
Upstream-Status: Backport [Taken from opencl-clang patches, https://github.com/intel/opencl-clang/blob/ocl-open-120/patches/clang/0001-Remove-__IMAGE_SUPPORT__-macro-for-SPIR.patch]
Signed-off-by: haonanya <haonan.yang@intel.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
clang/lib/Frontend/InitPreprocessor.cpp | 3 ---
clang/test/Preprocessor/predefined-macros.c | 2 --
2 files changed, 5 deletions(-)
diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp
index c64a912ce919..c60972c96e5d 100644
--- a/clang/lib/Frontend/InitPreprocessor.cpp
+++ b/clang/lib/Frontend/InitPreprocessor.cpp
@@ -1121,9 +1121,6 @@ static void InitializePredefinedMacros(const TargetInfo &TI,
// OpenCL definitions.
if (LangOpts.OpenCL) {
TI.getOpenCLFeatureDefines(LangOpts, Builder);
-
- if (TI.getTriple().isSPIR())
- Builder.defineMacro("__IMAGE_SUPPORT__");
}
if (TI.hasInt128Type() && LangOpts.CPlusPlus && LangOpts.GNUMode) {
diff --git a/clang/test/Preprocessor/predefined-macros.c b/clang/test/Preprocessor/predefined-macros.c
index e406b9a70570..88606518c7de 100644
--- a/clang/test/Preprocessor/predefined-macros.c
+++ b/clang/test/Preprocessor/predefined-macros.c
@@ -188,14 +188,12 @@
// RUN: %clang_cc1 %s -E -dM -o - -x cl -triple spir-unknown-unknown \
// RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-SPIR
-// CHECK-SPIR-DAG: #define __IMAGE_SUPPORT__ 1
// CHECK-SPIR-DAG: #define __SPIR__ 1
// CHECK-SPIR-DAG: #define __SPIR32__ 1
// CHECK-SPIR-NOT: #define __SPIR64__ 1
// RUN: %clang_cc1 %s -E -dM -o - -x cl -triple spir64-unknown-unknown \
// RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-SPIR64
-// CHECK-SPIR64-DAG: #define __IMAGE_SUPPORT__ 1
// CHECK-SPIR64-DAG: #define __SPIR__ 1
// CHECK-SPIR64-DAG: #define __SPIR64__ 1
// CHECK-SPIR64-NOT: #define __SPIR32__ 1
--
2.17.1

View File

@ -1,52 +0,0 @@
From 06cf750d2ef892eaa4f0ff5d0a9e9e5c49697264 Mon Sep 17 00:00:00 2001
From: Raphael Isemann <teemperor@gmail.com>
Date: Thu, 1 Apr 2021 18:41:44 +0200
Subject: [PATCH 2/3] Avoid calling ParseCommandLineOptions in BackendUtil if
possible
Calling `ParseCommandLineOptions` should only be called from `main` as the
CommandLine setup code isn't thread-safe. As BackendUtil is part of the
generic Clang FrontendAction logic, a process which has several threads executing
Clang FrontendActions will randomly crash in the unsafe setup code.
This patch avoids calling the function unless either the debug-pass option or
limit-float-precision option is set. Without these two options set the
`ParseCommandLineOptions` call doesn't do anything beside parsing
the command line `clang` which doesn't set any options.
See also D99652 where LLDB received a workaround for this crash.
Reviewed By: JDevlieghere
Differential Revision: https://reviews.llvm.org/D99740
Upstream-Status: Backport [Taken from opencl-clang patches; https://github.com/intel/opencl-clang/blob/ocl-open-120/patches/clang/0002-Avoid-calling-ParseCommandLineOptions-in-BackendUtil.patch]
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
clang/lib/CodeGen/BackendUtil.cpp | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/clang/lib/CodeGen/BackendUtil.cpp b/clang/lib/CodeGen/BackendUtil.cpp
index 52bcd971dc8c..f9f891247530 100644
--- a/clang/lib/CodeGen/BackendUtil.cpp
+++ b/clang/lib/CodeGen/BackendUtil.cpp
@@ -850,7 +850,15 @@ static void setCommandLineOpts(const CodeGenOptions &CodeGenOpts) {
BackendArgs.push_back("-limit-float-precision");
BackendArgs.push_back(CodeGenOpts.LimitFloatPrecision.c_str());
}
+ // Check for the default "clang" invocation that won't set any cl::opt values.
+ // Skip trying to parse the command line invocation to avoid the issues
+ // described below.
+ if (BackendArgs.size() == 1)
+ return;
BackendArgs.push_back(nullptr);
+ // FIXME: The command line parser below is not thread-safe and shares a global
+ // state, so this call might crash or overwrite the options of another Clang
+ // instance in the same process.
llvm::cl::ParseCommandLineOptions(BackendArgs.size() - 1,
BackendArgs.data());
}
--
2.17.1

View File

@ -1,344 +0,0 @@
From f1a24eeb89342186c6c718e02dd394775620799f Mon Sep 17 00:00:00 2001
From: haonanya <haonan.yang@intel.com>
Date: Wed, 28 Jul 2021 14:20:08 +0800
Subject: [PATCH 3/3] Support cl_ext_float_atomics
Upstream-Status: Backport [Taken from opencl-clang patches; https://github.com/intel/opencl-clang/blob/ocl-open-120/patches/clang/0003-OpenCL-Support-cl_ext_float_atomics.patch]
Signed-off-by: haonanya <haonan.yang@intel.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
clang/lib/Headers/opencl-c-base.h | 19 +++
clang/lib/Headers/opencl-c.h | 195 ++++++++++++++++++++++++++
clang/test/Headers/opencl-c-header.cl | 72 ++++++++++
3 files changed, 286 insertions(+)
diff --git a/clang/lib/Headers/opencl-c-base.h b/clang/lib/Headers/opencl-c-base.h
index e8dcd70377e5..c8b6d36029ec 100644
--- a/clang/lib/Headers/opencl-c-base.h
+++ b/clang/lib/Headers/opencl-c-base.h
@@ -21,6 +21,25 @@
#define cl_khr_subgroup_shuffle 1
#define cl_khr_subgroup_shuffle_relative 1
#define cl_khr_subgroup_clustered_reduce 1
+#define cl_ext_float_atomics
+#ifdef cl_khr_fp16
+#define __opencl_c_ext_fp16_global_atomic_load_store 1
+#define __opencl_c_ext_fp16_local_atomic_load_store 1
+#define __opencl_c_ext_fp16_global_atomic_add 1
+#define __opencl_c_ext_fp16_local_atomic_add 1
+#define __opencl_c_ext_fp16_global_atomic_min_max 1
+#define __opencl_c_ext_fp16_local_atomic_min_max 1
+#endif
+#ifdef __opencl_c_fp64
+#define __opencl_c_ext_fp64_global_atomic_add 1
+#define __opencl_c_ext_fp64_local_atomic_add 1
+#define __opencl_c_ext_fp64_global_atomic_min_max 1
+#define __opencl_c_ext_fp64_local_atomic_min_max 1
+#endif
+#define __opencl_c_ext_fp32_global_atomic_add 1
+#define __opencl_c_ext_fp32_local_atomic_add 1
+#define __opencl_c_ext_fp32_global_atomic_min_max 1
+#define __opencl_c_ext_fp32_local_atomic_min_max 1
#endif // defined(__SPIR__)
#endif // (defined(__OPENCL_CPP_VERSION__) || __OPENCL_C_VERSION__ >= 200)
diff --git a/clang/lib/Headers/opencl-c.h b/clang/lib/Headers/opencl-c.h
index ab665628c8e1..6676da858d2a 100644
--- a/clang/lib/Headers/opencl-c.h
+++ b/clang/lib/Headers/opencl-c.h
@@ -13531,6 +13531,201 @@ intptr_t __ovld atomic_fetch_max_explicit(volatile atomic_intptr_t *object, uint
intptr_t __ovld atomic_fetch_max_explicit(volatile atomic_intptr_t *object, uintptr_t opermax, memory_order minder, memory_scope scope);
#endif
+#if defined(cl_ext_float_atomics)
+
+#if defined(__opencl_c_ext_fp32_global_atomic_min_max)
+float __ovld atomic_fetch_min(volatile __global atomic_float *object,
+ float operand);
+float __ovld atomic_fetch_max(volatile __global atomic_float *object,
+ float operand);
+float __ovld atomic_fetch_min_explicit(volatile __global atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_max_explicit(volatile __global atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_min_explicit(volatile __global atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+float __ovld atomic_fetch_max_explicit(volatile __global atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+#endif
+#if defined(__opencl_c_ext_fp32_local_atomic_min_max)
+float __ovld atomic_fetch_min(volatile __local atomic_float *object,
+ float operand);
+float __ovld atomic_fetch_max(volatile __local atomic_float *object,
+ float operand);
+float __ovld atomic_fetch_min_explicit(volatile __local atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_max_explicit(volatile __local atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_min_explicit(volatile __local atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+float __ovld atomic_fetch_max_explicit(volatile __local atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+#endif
+#if defined(__opencl_c_ext_fp32_global_atomic_min_max) || \
+ defined(__opencl_c_ext_fp32_local_atomic_min_max)
+float __ovld atomic_fetch_min(volatile atomic_float *object, float operand);
+float __ovld atomic_fetch_max(volatile atomic_float *object, float operand);
+float __ovld atomic_fetch_min_explicit(volatile atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_max_explicit(volatile atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_min_explicit(volatile atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+float __ovld atomic_fetch_max_explicit(volatile atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+#endif
+#if defined(__opencl_c_ext_fp64_global_atomic_min_max)
+double __ovld atomic_fetch_min(volatile __global atomic_double *object,
+ double operand);
+double __ovld atomic_fetch_max(volatile __global atomic_double *object,
+ double operand);
+double __ovld atomic_fetch_min_explicit(volatile __global atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_max_explicit(volatile __global atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_min_explicit(volatile __global atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+double __ovld atomic_fetch_max_explicit(volatile __global atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+#endif
+#if defined(__opencl_c_ext_fp64_local_atomic_min_max)
+double __ovld atomic_fetch_min(volatile __local atomic_double *object,
+ double operand);
+double __ovld atomic_fetch_max(volatile __local atomic_double *object,
+ double operand);
+double __ovld atomic_fetch_min_explicit(volatile __local atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_max_explicit(volatile __local atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_min_explicit(volatile __local atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+double __ovld atomic_fetch_max_explicit(volatile __local atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+#endif
+#if defined(__opencl_c_ext_fp64_global_atomic_min_max) || \
+ defined(__opencl_c_ext_fp64_local_atomic_min_max)
+double __ovld atomic_fetch_min(volatile atomic_double *object, double operand);
+double __ovld atomic_fetch_max(volatile atomic_double *object, double operand);
+double __ovld atomic_fetch_min_explicit(volatile atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_max_explicit(volatile atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_min_explicit(volatile atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+double __ovld atomic_fetch_max_explicit(volatile atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+#endif
+
+#if defined(__opencl_c_ext_fp32_global_atomic_add)
+float __ovld atomic_fetch_add(volatile __global atomic_float *object,
+ float operand);
+float __ovld atomic_fetch_sub(volatile __global atomic_float *object,
+ float operand);
+float __ovld atomic_fetch_add_explicit(volatile __global atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_sub_explicit(volatile __global atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_add_explicit(volatile __global atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+float __ovld atomic_fetch_sub_explicit(volatile __global atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+#endif
+#if defined(__opencl_c_ext_fp32_local_atomic_add)
+float __ovld atomic_fetch_add(volatile __local atomic_float *object,
+ float operand);
+float __ovld atomic_fetch_sub(volatile __local atomic_float *object,
+ float operand);
+float __ovld atomic_fetch_add_explicit(volatile __local atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_sub_explicit(volatile __local atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_add_explicit(volatile __local atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+float __ovld atomic_fetch_sub_explicit(volatile __local atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+#endif
+#if defined(__opencl_c_ext_fp32_global_atomic_add) || \
+ defined(__opencl_c_ext_fp32_local_atomic_add)
+float __ovld atomic_fetch_add(volatile atomic_float *object, float operand);
+float __ovld atomic_fetch_sub(volatile atomic_float *object, float operand);
+float __ovld atomic_fetch_add_explicit(volatile atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_sub_explicit(volatile atomic_float *object,
+ float operand, memory_order order);
+float __ovld atomic_fetch_add_explicit(volatile atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+float __ovld atomic_fetch_sub_explicit(volatile atomic_float *object,
+ float operand, memory_order order,
+ memory_scope scope);
+#endif
+
+#if defined(__opencl_c_ext_fp64_global_atomic_add)
+double __ovld atomic_fetch_add(volatile __global atomic_double *object,
+ double operand);
+double __ovld atomic_fetch_sub(volatile __global atomic_double *object,
+ double operand);
+double __ovld atomic_fetch_add_explicit(volatile __global atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_sub_explicit(volatile __global atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_add_explicit(volatile __global atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+double __ovld atomic_fetch_sub_explicit(volatile __global atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+#endif
+#if defined(__opencl_c_ext_fp64_local_atomic_add)
+double __ovld atomic_fetch_add(volatile __local atomic_double *object,
+ double operand);
+double __ovld atomic_fetch_sub(volatile __local atomic_double *object,
+ double operand);
+double __ovld atomic_fetch_add_explicit(volatile __local atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_sub_explicit(volatile __local atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_add_explicit(volatile __local atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+double __ovld atomic_fetch_sub_explicit(volatile __local atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+#endif
+#if defined(__opencl_c_ext_fp64_global_atomic_add) || \
+ defined(__opencl_c_ext_fp64_local_atomic_add)
+double __ovld atomic_fetch_add(volatile atomic_double *object, double operand);
+double __ovld atomic_fetch_sub(volatile atomic_double *object, double operand);
+double __ovld atomic_fetch_add_explicit(volatile atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_sub_explicit(volatile atomic_double *object,
+ double operand, memory_order order);
+double __ovld atomic_fetch_add_explicit(volatile atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+double __ovld atomic_fetch_sub_explicit(volatile atomic_double *object,
+ double operand, memory_order order,
+ memory_scope scope);
+#endif
+
+#endif // cl_ext_float_atomics
+
// atomic_store()
void __ovld atomic_store(volatile atomic_int *object, int desired);
diff --git a/clang/test/Headers/opencl-c-header.cl b/clang/test/Headers/opencl-c-header.cl
index 13a3b62481ec..2c02d14f25c3 100644
--- a/clang/test/Headers/opencl-c-header.cl
+++ b/clang/test/Headers/opencl-c-header.cl
@@ -124,6 +124,36 @@ global atomic_int z = ATOMIC_VAR_INIT(99);
#if cl_khr_subgroup_clustered_reduce != 1
#error "Incorrectly defined cl_khr_subgroup_clustered_reduce"
#endif
+#if __opencl_c_ext_fp16_global_atomic_load_store != 1
+#error "Incorrectly defined __opencl_c_ext_fp16_global_atomic_load_store"
+#endif
+#if __opencl_c_ext_fp16_local_atomic_load_store != 1
+#error "Incorrectly defined __opencl_c_ext_fp16_local_atomic_load_store"
+#endif
+#if __opencl_c_ext_fp16_global_atomic_add != 1
+#error "Incorrectly defined __opencl_c_ext_fp16_global_atomic_add"
+#endif
+#if __opencl_c_ext_fp32_global_atomic_add != 1
+#error "Incorrectly defined __opencl_c_ext_fp32_global_atomic_add"
+#endif
+#if __opencl_c_ext_fp16_local_atomic_add != 1
+#error "Incorrectly defined __opencl_c_ext_fp16_local_atomic_add"
+#endif
+#if __opencl_c_ext_fp32_local_atomic_add != 1
+#error "Incorrectly defined __opencl_c_ext_fp32_local_atomic_add"
+#endif
+#if __opencl_c_ext_fp16_global_atomic_min_max != 1
+#error "Incorrectly defined __opencl_c_ext_fp16_global_atomic_min_max"
+#endif
+#if __opencl_c_ext_fp32_global_atomic_min_max != 1
+#error "Incorrectly defined __opencl_c_ext_fp32_global_atomic_min_max"
+#endif
+#if __opencl_c_ext_fp16_local_atomic_min_max != 1
+#error "Incorrectly defined __opencl_c_ext_fp16_local_atomic_min_max"
+#endif
+#if __opencl_c_ext_fp32_local_atomic_min_max != 1
+#error "Incorrectly defined __opencl_c_ext_fp32_local_atomic_min_max"
+#endif
#else
@@ -148,6 +178,48 @@ global atomic_int z = ATOMIC_VAR_INIT(99);
#ifdef cl_khr_subgroup_clustered_reduce
#error "Incorrect cl_khr_subgroup_clustered_reduce define"
#endif
+#ifdef __opencl_c_ext_fp16_global_atomic_load_store
+#error "Incorrectly __opencl_c_ext_fp16_global_atomic_load_store defined"
+#endif
+#ifdef __opencl_c_ext_fp16_local_atomic_load_store
+#error "Incorrectly __opencl_c_ext_fp16_local_atomic_load_store defined"
+#endif
+#ifdef __opencl_c_ext_fp16_global_atomic_add
+#error "Incorrectly __opencl_c_ext_fp16_global_atomic_add defined"
+#endif
+#ifdef __opencl_c_ext_fp32_global_atomic_add
+#error "Incorrectly __opencl_c_ext_fp32_global_atomic_add defined"
+#endif
+#ifdef __opencl_c_ext_fp64_global_atomic_add
+#error "Incorrectly __opencl_c_ext_fp64_global_atomic_add defined"
+#endif
+#ifdef __opencl_c_ext_fp16_local_atomic_add
+#error "Incorrectly __opencl_c_ext_fp16_local_atomic_add defined"
+#endif
+#ifdef __opencl_c_ext_fp32_local_atomic_add
+#error "Incorrectly __opencl_c_ext_fp32_local_atomic_add defined"
+#endif
+#ifdef __opencl_c_ext_fp64_local_atomic_add
+#error "Incorrectly __opencl_c_ext_fp64_local_atomic_add defined"
+#endif
+#ifdef __opencl_c_ext_fp16_global_atomic_min_max
+#error "Incorrectly __opencl_c_ext_fp16_global_atomic_min_max defined"
+#endif
+#ifdef __opencl_c_ext_fp32_global_atomic_min_max
+#error "Incorrectly __opencl_c_ext_fp32_global_atomic_min_max defined"
+#endif
+#ifdef __opencl_c_ext_fp64_global_atomic_min_max
+#error "Incorrectly __opencl_c_ext_fp64_global_atomic_min_max defined"
+#endif
+#ifdef __opencl_c_ext_fp16_local_atomic_min_max
+#error "Incorrectly __opencl_c_ext_fp16_local_atomic_min_max defined"
+#endif
+#ifdef __opencl_c_ext_fp32_local_atomic_min_max
+#error "Incorrectly __opencl_c_ext_fp32_local_atomic_min_max defined"
+#endif
+#ifdef __opencl_c_ext_fp64_local_atomic_min_max
+#error "Incorrectly __opencl_c_ext_fp64_local_atomic_min_max defined"
+#endif
#endif //(defined(__OPENCL_CPP_VERSION__) || __OPENCL_C_VERSION__ >= 200)
--
2.17.1

View File

@ -1,67 +0,0 @@
From 0c4ba4947d1630f2e13fc260399f0892b2c9b323 Mon Sep 17 00:00:00 2001
From: Naveen Saini <naveen.kumar.saini@intel.com>
Date: Fri, 27 Aug 2021 10:55:13 +0800
Subject: [PATCH 1/2] This patch is needed for ISPC for Gen only
1. Transformation of add to or is not safe for VC backend.
2. bswap intrinsics is not supported in VC backend yet.
Upstream-Status: Backport [Taken from ispc, https://github.com/ispc/ispc/blob/v1.16.1/llvm_patches/12_0_disable-A-B-A-B-and-BSWAP-in-InstCombine.patch]
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp | 10 +++++++---
.../lib/Transforms/InstCombine/InstCombineAndOrXor.cpp | 9 ++++++---
2 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp b/llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
index bacb8689892a..f3d0120db256 100644
--- a/llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
+++ b/llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
@@ -15,6 +15,7 @@
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
+#include "llvm/ADT/Triple.h"
#include "llvm/Analysis/InstructionSimplify.h"
#include "llvm/Analysis/ValueTracking.h"
#include "llvm/IR/Constant.h"
@@ -1363,9 +1364,12 @@ Instruction *InstCombinerImpl::visitAdd(BinaryOperator &I) {
}
}
- // A+B --> A|B iff A and B have no bits set in common.
- if (haveNoCommonBitsSet(LHS, RHS, DL, &AC, &I, &DT))
- return BinaryOperator::CreateOr(LHS, RHS);
+ // Disable this transformation for ISPC SPIR-V
+ if (!Triple(I.getModule()->getTargetTriple()).isSPIR()) {
+ // A+B --> A|B iff A and B have no bits set in common.
+ if (haveNoCommonBitsSet(LHS, RHS, DL, &AC, &I, &DT))
+ return BinaryOperator::CreateOr(LHS, RHS);
+ }
// add (select X 0 (sub n A)) A --> select X A n
{
diff --git a/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp b/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
index 68c4156af2c4..b145b863ca84 100644
--- a/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
+++ b/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
@@ -2584,9 +2584,12 @@ Instruction *InstCombinerImpl::visitOr(BinaryOperator &I) {
if (Instruction *FoldedLogic = foldBinOpIntoSelectOrPhi(I))
return FoldedLogic;
- if (Instruction *BSwap = matchBSwapOrBitReverse(I, /*MatchBSwaps*/ true,
- /*MatchBitReversals*/ false))
- return BSwap;
+ // Disable this transformation for ISPC SPIR-V
+ if (!Triple(I.getModule()->getTargetTriple()).isSPIR()) {
+ if (Instruction *BSwap = matchBSwapOrBitReverse(I, /*MatchBSwaps*/ true,
+ /*MatchBitReversals*/ false))
+ return BSwap;
+ }
if (Instruction *Funnel = matchFunnelShift(I, *this))
return Funnel;
--
2.17.1

View File

@ -1,35 +0,0 @@
From 913e07ea5acf2148e3748b45ddfe3fac3b2d051c Mon Sep 17 00:00:00 2001
From: Naveen Saini <naveen.kumar.saini@intel.com>
Date: Fri, 27 Aug 2021 10:56:57 +0800
Subject: [PATCH 2/2] This patch is a fix for #2111
It ensures that shuffle is lowered for this particular case correctly.
Upstream-Status: Backport [https://github.com/llvm/llvm-project/commit/9ab99f773fec7da4183495a3fdc655a797d3bea2]
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
llvm/lib/Target/X86/X86ISelLowering.cpp | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index 6b816c710f98..3121b0e818ac 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -43192,9 +43192,10 @@ static SDValue combineHorizOpWithShuffle(SDNode *N, SelectionDAG &DAG,
ShuffleVectorSDNode::commuteMask(ShuffleMask1);
}
if ((Op00 == Op10) && (Op01 == Op11)) {
- SmallVector<int, 4> ShuffleMask;
- ShuffleMask.append(ShuffleMask0.begin(), ShuffleMask0.end());
- ShuffleMask.append(ShuffleMask1.begin(), ShuffleMask1.end());
+ const int Map[4] = {0, 2, 1, 3};
+ SmallVector<int, 4> ShuffleMask(
+ {Map[ShuffleMask0[0]], Map[ShuffleMask1[0]], Map[ShuffleMask0[1]],
+ Map[ShuffleMask1[1]]});
SDLoc DL(N);
MVT ShufVT = VT.isFloatingPoint() ? MVT::v4f64 : MVT::v4i64;
SDValue Res = DAG.getNode(Opcode, DL, VT, Op00, Op01);
--
2.17.1

View File

@ -1,62 +0,0 @@
FILESEXTRAPATHS:prepend:intel-x86-common := "${THISDIR}/files:"
SPIRV10_SRCREV = "fe4d6b767363a1995ccbfca27f79efb10dcfe110"
SPIRV11_SRCREV = "ca3a50e6e3193e399d26446d4f74a90e2a531f3a"
SPIRV_SRCREV = "${@bb.utils.contains('LLVMVERSION', '10.0.1', '${SPIRV10_SRCREV}', '${SPIRV11_SRCREV}', d)}"
SRC_URI_LLVM10_PATCHES = " \
file://llvm10-0001-llvm-spirv-skip-building-tests.patch;patchdir=llvm/projects/llvm-spirv \
file://llvm10-0002-Fix-building-in-tree-with-cmake-DLLVM_LINK_LLVM_DYLI.patch;patchdir=llvm/projects/llvm-spirv \
file://llvm10-0003-Add-support-for-cl_ext_float_atomics-in-SPIRVWriter.patch;patchdir=llvm/projects/llvm-spirv \
file://BasicBlockUtils-Add-metadata-fixing-in-SplitBlockPre.patch;patchdir=llvm \
file://IndVarSimplify-Do-not-use-SCEV-expander-for-IVCount-.patch;patchdir=llvm \
file://llvm10-0001-OpenCL-3.0-support.patch \
file://llvm10-0002-Add-cl_khr_extended_subgroup-extensions.patch \
file://llvm10-0003-Memory-leak-fix-for-Managed-Static-Mutex.patch \
file://llvm10-0004-Remove-repo-name-in-LLVM-IR.patch \
file://llvm10-0005-Remove-__IMAGE_SUPPORT__-macro-for-SPIR-since-SPIR-d.patch \
file://llvm10-0006-Avoid-calling-ParseCommandLineOptions-in-BackendUtil.patch \
file://llvm10-0007-support-cl_ext_float_atomics.patch \
file://llvm10-0008-ispc-10_0_9_0_fix_for_1767.patch \
file://llvm10-0009-ispc-10_0_fix_for_1788.patch \
file://llvm10-0010-ispc-10_0_fix_for_1793.patch \
file://llvm10-0011-ispc-10_0_fix_for_1844.patch \
file://llvm10-0012-ispc-10_0_i8_shuffle_avx512_i8_i16.patch \
file://llvm10-0013-ispc-10_0_k_reg_mov_avx512_i8_i16.patch \
file://llvm10-0014-ispc-10_0_packed_load_store_avx512skx.patch \
file://llvm10-0015-ispc-10_0_vXi1calling_avx512_i8_i16.patch \
"
SRC_URI_LLVM11_PATCHES = " \
file://llvm11-0001-llvm-spirv-skip-building-tests.patch;patchdir=llvm/projects/llvm-spirv \
file://llvm11-0002-Add-support-for-cl_ext_float_atomics-in-SPIRVWriter.patch;patchdir=llvm/projects/llvm-spirv \
file://llvm11-0001-OpenCL-3.0-support.patch \
file://llvm11-0002-Memory-leak-fix-for-Managed-Static-Mutex.patch \
file://llvm11-0003-Remove-repo-name-in-LLVM-IR.patch \
file://llvm11-0004-Remove-__IMAGE_SUPPORT__-macro-for-SPIR-since-SPIR-d.patch \
file://llvm11-0005-Avoid-calling-ParseCommandLineOptions-in-BackendUtil.patch \
file://llvm11-0006-OpenCL-support-cl_ext_float_atomics.patch \
file://llvm11-0007-ispc-11_0_11_1_disable-A-B-A-B-in-InstCombine.patch \
file://llvm11-0008-ispc-11_0_11_1_packed_load_store_avx512.patch \
"
SRC_URI_LLVM12_PATCHES = " \
file://llvm12-0001-Remove-__IMAGE_SUPPORT__-macro-for-SPIR-since-SPIR-d.patch \
file://llvm12-0002-Avoid-calling-ParseCommandLineOptions-in-BackendUtil.patch \
file://llvm12-0003-Support-cl_ext_float_atomics.patch \
file://llvm12-0004-ispc-12_0_disable-A-B-A-B-and-BSWAP-in-InstCombine.patch \
file://llvm12-0005-ispc-12_0_fix_for_2111.patch \
"
SPIRV_LLVM10_SRC_URI = "git://github.com/KhronosGroup/SPIRV-LLVM-Translator.git;protocol=https;branch=llvm_release_100;destsuffix=git/llvm/projects/llvm-spirv;name=spirv"
SPIRV_LLVM11_SRC_URI = "git://github.com/KhronosGroup/SPIRV-LLVM-Translator.git;protocol=https;branch=llvm_release_110;destsuffix=git/llvm/projects/llvm-spirv;name=spirv"
SRC_URI:append:intel-x86-common = "${@bb.utils.contains('LLVMVERSION', '10.0.1', ' ${SPIRV_LLVM10_SRC_URI} ${SRC_URI_LLVM10_PATCHES} ', '', d)}"
SRC_URI:append:intel-x86-common = "${@bb.utils.contains('LLVMVERSION', '11.1.0', ' ${SPIRV_LLVM11_SRC_URI} ${SRC_URI_LLVM11_PATCHES} ', '', d)}"
SRC_URI:append:intel-x86-common = "${@bb.utils.contains('LLVMVERSION', '12.0.0', ' ${SRC_URI_LLVM12_PATCHES} ', '', d)}"
SRCREV_spirv = "${@bb.utils.contains_any('LLVMVERSION', [ '13.0.0', '12.0.0' ], '', '${SPIRV_SRCREV}', d)}"

View File

@ -1,34 +1,34 @@
From 47ae5d13ad021076f5a79f245e33bcb228b0a0da 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]
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
---
shared/source/built_ins/kernels/CMakeLists.txt | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
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 929b981fe..57cd3d4b3 100644
--- a/shared/source/built_ins/kernels/CMakeLists.txt
+++ b/shared/source/built_ins/kernels/CMakeLists.txt
@@ -100,9 +100,9 @@ if(NOT NEO_DISABLE_BUILTINS_COMPILATION)
)
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}.gen --output ${OUTPUT_FILE_CPP} --array ${mode}_${BASENAME} --platform ${family_name_with_type} --revision_id ${REVISION_ID}
+ COMMAND cpp_generate_tool --file ${BINARY_OUTPUT}.gen --output ${OUTPUT_FILE_CPP} --array ${mode}_${BASENAME} --platform ${family_name_with_type} --revision_id ${REVISION_ID}
- COMMAND $<TARGET_FILE:cpp_generate_tool> --file ${BINARY_OUTPUT}.bin --output ${OUTPUT_FILE_CPP} --array ${mode}_${BASENAME} --device ${RELEASE_FILENAME}
+ COMMAND cpp_generate_tool --file ${BINARY_OUTPUT}.bin --output ${OUTPUT_FILE_CPP} --array ${mode}_${BASENAME} --device ${RELEASE_FILENAME}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
- DEPENDS ${OUTPUT_FILES_BINARIES} $<TARGET_FILE:cpp_generate_tool>
+ DEPENDS ${OUTPUT_FILES_BINARIES} cpp_generate_tool
)
endforeach()
set(BUILTINS_COMMANDS ${BUILTINS_COMMANDS} PARENT_SCOPE)
@@ -144,9 +144,9 @@ if(NOT NEO_DISABLE_BUILTINS_COMPILATION)
)
list(APPEND BUILTINS_COMMANDS "${OUTPUT_FILE_CPP}")
else()
@@ -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}
@ -37,8 +37,5 @@ index 929b981fe..57cd3d4b3 100644
- DEPENDS ${GENERATED_SPV_INPUT} $<TARGET_FILE:cpp_generate_tool>
+ DEPENDS ${GENERATED_SPV_INPUT} cpp_generate_tool
)
endfunction()
--
2.32.0
set(OUTPUT_LIST_CPP_FILES ${OUTPUT_LIST_CPP_FILES} ${OUTPUT_FILE_CPP} PARENT_SCOPE)
else()

View File

@ -0,0 +1,38 @@
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 3/5] external ocloc
Upstream-Status: Inappropriate
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
---
cmake/ocloc_cmd_prefix.cmake | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
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
#
-if(WIN32)
- set(ocloc_cmd_prefix ocloc)
-else()
- if(DEFINED NEO__IGC_LIBRARY_PATH)
- set(ocloc_cmd_prefix ${CMAKE_COMMAND} -E env "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NEO__IGC_LIBRARY_PATH}:$<TARGET_FILE_DIR:ocloc_lib>" $<TARGET_FILE:ocloc>)
+if(NOT DEFINED ocloc_cmd_prefix)
+ if(WIN32)
+ set(ocloc_cmd_prefix ocloc)
else()
- set(ocloc_cmd_prefix ${CMAKE_COMMAND} -E env "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$<TARGET_FILE_DIR:ocloc_lib>" $<TARGET_FILE:ocloc>)
+ if(DEFINED NEO__IGC_LIBRARY_PATH)
+ set(ocloc_cmd_prefix LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NEO__IGC_LIBRARY_PATH}:$<TARGET_FILE_DIR:ocloc_lib> $<TARGET_FILE:ocloc>)
+ else()
+ set(ocloc_cmd_prefix LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$<TARGET_FILE_DIR:ocloc_lib> $<TARGET_FILE:ocloc>)
+ endif()
endif()
endif()

View File

@ -4,25 +4,22 @@ is an open source project to converge Intel's development efforts \
on OpenCL(TM) compute stacks supporting the GEN graphics hardware \
architecture."
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=983b0c493ea3dc3c21a90ff743bf90e4 \
file://third_party/opencl_headers/LICENSE;md5=dcefc90f4c3c689ec0c2489064e7273b"
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 \
"
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 \
"
SRC_URI:append:class-target = "file://allow-to-find-cpp-generation-tool.patch"
SRCREV = "a9961bdfaa07250fd52ff930bf8f31fb4e3b7799"
SRCREV = "3269e719a3ee7bcd97c50ec2cfe78fc8674adec0"
S = "${WORKDIR}/git"
DEPENDS += " intel-graphics-compiler gmmlib"
DEPENDS:append:class-target = " intel-compute-runtime-native libva"
DEPENDS += " intel-graphics-compiler gmmlib libva qemu-native"
RDEPENDS:${PN} += " intel-graphics-compiler gmmlib"
inherit cmake pkgconfig
inherit cmake pkgconfig qemu
COMPATIBLE_HOST = '(x86_64).*-linux'
COMPATIBLE_HOST:libc-musl = "null"
@ -35,18 +32,23 @@ EXTRA_OECMAKE = " \
-DNEO_DISABLE_LD_LLD=ON \
-DNEO_DISABLE_LD_GOLD=ON \
"
EXTRA_OECMAKE:append:class-native = " -DNEO_DISABLE_BUILTINS_COMPILATION=ON"
EXTRA_OECMAKE:append:class-target = " \
-Dcloc_cmd_prefix=ocloc \
"
-Docloc_cmd_prefix=ocloc \
-DCMAKE_CROSSCOMPILING_EMULATOR=${WORKDIR}/qemuwrapper \
"
PACKAGECONFIG ??= ""
PACKAGECONFIG[levelzero] = "-DBUILD_WITH_L0=ON, -DBUILD_WITH_L0=OFF, level-zero"
do_install:append:class-native() {
install -d ${D}${bindir}
install ${B}/bin/cpp_generate_tool ${D}${bindir}/
do_configure:prepend:class-target () {
# Write out a qemu wrapper that will be used by cmake.
qemu_binary="${@qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${B}/bin'),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
}
FILES:${PN} += " \
@ -56,6 +58,4 @@ FILES:${PN} += " \
FILES:${PN}-dev = "${includedir}"
BBCLASSEXTEND = "native nativesdk"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"

View File

@ -0,0 +1,32 @@
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
Otherwise it starts failing with:
| ninja: error: 'IGC/VectorCompiler/lib/BiF/opt', needed by 'IGC/VectorCompiler/lib/BiF/VCBiFPrintfOCL32.opt.bc', missing and no known rule to make it
We don't need to explicitly make sure opt is built when
using prebuilt binaries.
Upstream-Status: Inappropriate
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: git/IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake
===================================================================
--- git.orig/IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake
+++ git/IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake
@@ -121,7 +121,7 @@ function(vc_build_bif RES_FILE CMCL_SRC_
COMMENT "vc_build_bif: Translating CMCL builtins: ${BIF_CLANG_BC_NAME_FINAL} -> ${BIF_OPT_BC_NAME}"
COMMAND CMCLTranslatorTool ${OPT_OPAQUE_ARG} -o ${BIF_CMCL_BC_PATH} ${BIF_CLANG_BC_PATH_FINAL}
COMMAND ${LLVM_OPT_EXE} ${OPT_OPAQUE_ARG} --O2 -o ${BIF_OPT_BC_PATH} ${BIF_CMCL_BC_PATH}
- DEPENDS CMCLTranslatorTool ${LLVM_OPT_EXE} ${OPT_BC_DEPENDS})
+ DEPENDS CMCLTranslatorTool ${BIF_CLANG_BC_PATH_FINAL})
add_custom_target(${TARGET_NAME}
DEPENDS ${BIF_OPT_BC_PATH}

View File

@ -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
)

View File

@ -0,0 +1,30 @@
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
We clone the SPIRV headers and tools in a different directory to ensure
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(-)
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}")
- set(SPIRV-Headers_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../SPIRV-Headers") # used in subdirectory
- set(SPIRV-Tools_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../SPIRV-Tools")
+ set(SPIRV-Headers_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../SPIRV-Headers") # used in subdirectory
+ set(SPIRV-Tools_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../SPIRV-Tools")
set(SPIRV-Tools_OUTPUT_DIR "${IGC_OPTION__OUTPUT_DIR}/external/SPIRV-Tools/build")
set(IGC_BUILD__SPIRV-Headers_DIR "${SPIRV-Headers_SOURCE_DIR}")

View File

@ -0,0 +1,23 @@
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 b708cc904..fe4668890 100644
--- a/IGC/cmake/igc_llvm.cmake
+++ b/IGC/cmake/igc_llvm.cmake
@@ -53,7 +53,7 @@ else()
set(LLVM_OPT_EXE "opt" CACHE STRING "")
set(LLVM_TABLEGEN_EXE "llvm-tblgen")
- if(CMAKE_CROSSCOMPILING)
+ if(TRUE)
if(DEFINED LLVM_TABLEGEN)
set(LLVM_TABLEGEN_EXE ${LLVM_TABLEGEN})
else()

View File

@ -1,35 +0,0 @@
From 3d99559779d628704568879a2ee51e968e66d005 Mon Sep 17 00:00:00 2001
From: Anuj Mittal <anuj.mittal@intel.com>
Date: Tue, 5 Oct 2021 00:11:26 +0800
Subject: [PATCH] llvm_deps.cmake: don't copy header file when building
We build in pre-built mode and this header shouldn't be copied in
that case.
Upstream-Status: Pending
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
external/llvm/llvm_deps.cmake | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/external/llvm/llvm_deps.cmake b/external/llvm/llvm_deps.cmake
index 425d3766f..e43804f77 100644
--- a/external/llvm/llvm_deps.cmake
+++ b/external/llvm/llvm_deps.cmake
@@ -46,9 +46,9 @@ if(IGC_OPTION__LLVM_LLD)
include(llvm_lld_source_hook)
if(NOT EXISTS "${IGC_LLVM_WORKSPACE_SRC}/libunwind/include/mach-o" AND ${IGC_OPTION__LLVM_PREFERRED_VERSION} GREATER_EQUAL "12.0.0")
# Need to copy one header from unwind package for LLD (only for building from sources)
- file(MAKE_DIRECTORY ${IGC_LLVM_WORKSPACE_SRC}/libunwind/include/mach-o)
- file(COPY ${DEFAULT_IGC_LLVM_SOURCES_DIR}/libunwind/include/mach-o/compact_unwind_encoding.h
- DESTINATION ${IGC_LLVM_WORKSPACE_SRC}/libunwind/include/mach-o/)
+ #file(MAKE_DIRECTORY ${IGC_LLVM_WORKSPACE_SRC}/libunwind/include/mach-o)
+ #file(COPY ${DEFAULT_IGC_LLVM_SOURCES_DIR}/libunwind/include/mach-o/compact_unwind_encoding.h
+ # DESTINATION ${IGC_LLVM_WORKSPACE_SRC}/libunwind/include/mach-o/)
endif()
endif()
--
2.32.0

View File

@ -1,7 +1,7 @@
From c2b7f30dd56568482b1b7c2f22bafdf68736fc88 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 3/5] Improve Reproducibility for src package
Subject: [PATCH] Improve Reproducibility for src package
Improve reproducibility for intel-graphics-compiler-src package.
needs to pass build path as environment variable to the build.
@ -13,11 +13,11 @@ Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
visa/CMakeLists.txt | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/visa/CMakeLists.txt b/visa/CMakeLists.txt
index 65dbb4934..8cd607a69 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)
@ -31,6 +31,3 @@ index 65dbb4934..8cd607a69 100644
ADD_FLEX_BISON_DEPENDENCY(CISAScanner CISAParser)
set(CISAScanner_dependencies)
--
2.20.1

View File

@ -1,30 +0,0 @@
From c9fe51ec555fadd098cfc98804ce91b1cf3029d4 Mon Sep 17 00:00:00 2001
From: Dongwon Kim <dongwon.kim@intel.com>
Date: Thu, 19 Aug 2021 08:28:03 -0700
Subject: [PATCH 4/5] find external llvm-tblgen
Upstream-Status: Pending
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
---
IGC/cmake/igc_llvm.cmake | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/IGC/cmake/igc_llvm.cmake b/IGC/cmake/igc_llvm.cmake
index 541793f21..bc82922b1 100644
--- a/IGC/cmake/igc_llvm.cmake
+++ b/IGC/cmake/igc_llvm.cmake
@@ -24,7 +24,10 @@ set(CMAKE_MODULE_PATH
${CMAKE_MODULE_PATH}
)
-set(LLVM_TABLEGEN_EXE "llvm-tblgen")
+find_program(LLVM_TABLEGEN_EXE "llvm-tblgen")
+if(LLVM_TABLEGEN_EXE-NOTFOUND)
+ message(FATAL_ERROR "[VC] llvm-tblgen is not found")
+endif()
include(AddLLVM)
include(TableGen)
--
2.20.1

View File

@ -1,57 +0,0 @@
SUMMARY = "The Intel(R) Graphics Compiler for OpenCL(TM)"
DESCRIPTION = "The Intel(R) Graphics Compiler for OpenCL(TM) is an \
llvm based compiler for OpenCL(TM) targeting Intel Gen graphics \
hardware architecture."
LICENSE = "MIT & BSD-3-Clause"
LIC_FILES_CHKSUM = "file://IGC/BiFModule/Implementation/ExternalLibraries/libclc/LICENSE.TXT;md5=311cfc1a5b54bab8ed34a0b5fba4373e \
file://IGC/Compiler/LegalizationPass.cpp;beginline=1;endline=23;md5=4a985f2545dd5a846e205b1e60a51cd9 \
file://NOTICES.txt;md5=db621145dfb627436bc90ad600386801"
SRC_URI = "git://github.com/intel/intel-graphics-compiler.git;protocol=https;name=igc \
git://github.com/intel/vc-intrinsics.git;protocol=https;destsuffix=git/vc-intrinsics;name=vc \
file://0001-llvm_deps.cmake-don-t-copy-header-file-when-building.patch \
file://0003-Improve-Reproducibility-for-src-package.patch \
file://0004-find-external-llvm-tblgen.patch \
"
SRCREV_igc = "3ba8dde8c414a0e47df58b1bba12a64f8ba2089e"
SRCREV_vc = "e5ad7e02aa4aa21a3cd7b3e5d1f3ec9b95f58872"
# Used to replace with relative path in reproducibility patch
export B
S = "${WORKDIR}/git"
inherit cmake
CXXFLAGS:append = " -Wno-error=nonnull"
COMPATIBLE_HOST = '(x86_64).*-linux'
COMPATIBLE_HOST:libc-musl = "null"
DEPENDS += " flex-native bison-native clang opencl-clang"
DEPENDS:append:class-target = " clang-cross-x86_64 intel-graphics-compiler-native"
RDEPENDS:${PN} += "opencl-clang"
EXTRA_OECMAKE = " \
-DIGC_OPTION__LLVM_PREFERRED_VERSION=${LLVMVERSION} \
-DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 \
-DVC_INTRINSICS_SRC="${S}/vc-intrinsics" \
-DIGC_OPTION__LLVM_MODE=Prebuilds \
-DIGC_BUILD__VC_ENABLED=OFF \
"
do_install:append:class-native () {
install -d ${D}${bindir}
install ${B}/IGC/Release/elf_packager ${D}${bindir}/
}
BBCLASSEXTEND = "native nativesdk"
UPSTREAM_CHECK_GITTAGREGEX = "^igc-(?P<pver>(?!19\..*)\d+(\.\d+)+)$"
FILES:${PN} += " \
${libdir}/igc/NOTICES.txt \
"

View File

@ -0,0 +1,78 @@
SUMMARY = "The Intel(R) Graphics Compiler for OpenCL(TM)"
DESCRIPTION = "The Intel(R) Graphics Compiler for OpenCL(TM) is an \
llvm based compiler for OpenCL(TM) targeting Intel Gen graphics \
hardware architecture."
LICENSE = "MIT & Apache-2.0"
LIC_FILES_CHKSUM = "file://IGC/BiFModule/Implementation/ExternalLibraries/libclc/LICENSE.TXT;md5=311cfc1a5b54bab8ed34a0b5fba4373e \
file://LICENSE.md;md5=488d74376edf2765f6e78d271543dde3 \
file://NOTICES.txt;md5=b81a52411c84df3419f20bad4d755880"
SRC_URI = "git://github.com/intel/intel-graphics-compiler.git;protocol=https;name=igc;branch=releases/2.10.x \
git://github.com/intel/vc-intrinsics.git;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/vc-intrinsics;name=vc;nobranch=1 \
git://github.com/KhronosGroup/SPIRV-Tools.git;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/SPIRV-Tools;name=spirv-tools;branch=main \
git://github.com/KhronosGroup/SPIRV-Headers.git;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/SPIRV-Headers;name=spirv-headers;branch=main \
file://0003-Improve-Reproducibility-for-src-package.patch \
file://0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch \
file://0001-external-SPIRV-Tools-change-path-to-tools-and-header.patch \
file://0001-Build-not-able-to-locate-BiFManager-bin.patch \
"
SRC_URI:append:class-native = " file://0001-fix-tblgen.patch"
SRCREV_igc = "83925314d4fc32b017fcbfcd73e0667ba833fb8f"
SRCREV_vc = "9d255266e1df8f1dc5d11e1fbb03213acfaa4fc7"
SRCREV_spirv-tools = "f289d047f49fb60488301ec62bafab85573668cc"
SRCREV_spirv-headers = "0e710677989b4326ac974fd80c5308191ed80965"
SRCREV_FORMAT = "igc_vc_spirv-tools_spirv-headers"
# Used to replace with relative path in reproducibility patch
export B
inherit cmake pkgconfig qemu python3native
CXXFLAGS:append = " -Wno-error=nonnull"
COMPATIBLE_HOST = '(x86_64).*-linux'
COMPATIBLE_HOST:libc-musl = "null"
DEPENDS += " flex-native bison-native clang clang-cross-x86_64 opencl-clang qemu-native python3-mako-native \
python3-pyyaml-native \
"
RDEPENDS:${PN} += "opencl-clang"
PACKAGECONFIG ??= "vc"
PACKAGECONFIG[vc] = "-DIGC_BUILD__VC_ENABLED=ON -DIGC_OPTION__LINK_KHRONOS_SPIRV_TRANSLATOR=ON -DIGC_OPTION__SPIRV_TRANSLATOR_MODE=Prebuilds,-DIGC_BUILD__VC_ENABLED=OFF,"
EXTRA_OECMAKE = " \
-DIGC_OPTION__LLVM_PREFERRED_VERSION=${LLVMVERSION} \
-DVC_INTRINSICS_SRC="${S}/vc-intrinsics" \
-DIGC_OPTION__LLVM_MODE=Prebuilds \
-DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \
-DLLVM_LINK_EXE=${STAGING_BINDIR_NATIVE}/llvm-link \
-DCLANG_EXE=${STAGING_BINDIR_NATIVE}/clang \
-DCMAKE_CROSSCOMPILING_EMULATOR=${WORKDIR}/qemuwrapper \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
"
do_configure:prepend:class-target () {
# Write out a qemu wrapper that will be used by cmake.
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
}
UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>\d+(\.\d+)+)$"
FILES:${PN} += " \
${libdir}/igc2/NOTICES.txt \
"
# libigc.so contains buildpaths
INSANE_SKIP:${PN} += "buildpaths"

View File

@ -1,35 +0,0 @@
From 7fc05c52dd91902fa324a7aac9b90715cfca4717 Mon Sep 17 00:00:00 2001
From: Naveen Saini <naveen.kumar.saini@intel.com>
Date: Wed, 15 Apr 2020 17:55:32 +0800
Subject: [PATCH] Building in-tree with LLVM 10.0 with the LLVM_LINK_LLVM_DYLIB
Failed to link with the LLVMSPIRVLib library.
Add an explicit dependency to force the correct build order and linking.
Reference:
https://github.com/KhronosGroup/SPIRV-LLVM-Translator/commit/a6d4ccf082858e63e139ca06c02a071c343d2657
Upstream-Status: Submitted [https://github.com/intel/opencl-clang/pull/118]
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 51c140d..b8b514e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -208,7 +208,7 @@ link_directories(
set(OPENCL_CLANG_LINK_LIBS ${CMAKE_DL_LIBS})
-if(NOT LLVMSPIRVLib IN_LIST LLVM_AVAILABLE_LIBS)
+if(NOT LLVMSPIRVLib IN_LIST LLVM_AVAILABLE_LIBS OR (USE_PREBUILT_LLVM AND LLVM_LINK_LLVM_DYLIB))
# SPIRV-LLVM-Translator is not included into LLVM as a component.
# So, we need to list it here explicitly as an external library
list(APPEND OPENCL_CLANG_LINK_LIBS LLVMSPIRVLib)
--
2.17.1

View File

@ -0,0 +1,49 @@
From 5aea653e611b59c70e529a1bd71885a509831557 Mon Sep 17 00:00:00 2001
From: Anuj Mittal <anuj.mittal@intel.com>
Date: Tue, 1 Aug 2023 11:15:31 +0800
Subject: [PATCH] cl_headers/CMakeLists.txt: use clang from native sysroot
Allow clang to be found in target sysroot for target builds and dont try
to compile cross binaries, we do that ourselves.
Upstream-Status: Inappropriate [oe-specific]
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
CMakeLists.txt | 8 ++++----
cl_headers/CMakeLists.txt | 2 +-
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5864009..60ba39e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -35,10 +35,10 @@ set(CMAKE_MODULE_PATH
include(CMakeFunctions)
-if(CMAKE_CROSSCOMPILING AND OPENCL_CLANG_BUILD_EXTERNAL)
- include(CrossCompile)
- llvm_create_cross_target(${PROJECT_NAME} NATIVE "" Release)
-endif()
+#if(CMAKE_CROSSCOMPILING AND OPENCL_CLANG_BUILD_EXTERNAL)
+# include(CrossCompile)
+# llvm_create_cross_target(${PROJECT_NAME} NATIVE "" Release)
+#endif()
if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
set(USE_PREBUILT_LLVM ON)
diff --git a/cl_headers/CMakeLists.txt b/cl_headers/CMakeLists.txt
index 16cabb7..4423536 100644
--- a/cl_headers/CMakeLists.txt
+++ b/cl_headers/CMakeLists.txt
@@ -1,6 +1,6 @@
set(CL_HEADERS_LIB cl_headers)
if(USE_PREBUILT_LLVM)
- find_program(CLANG_COMMAND clang PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH)
+ find_program(CLANG_COMMAND clang PATHS ${LLVM_TOOLS_BINARY_DIR})
else()
set(CLANG_COMMAND $<TARGET_FILE:clang>)
endif()
--
2.37.3

View File

@ -1,32 +0,0 @@
From f3ef79a6301bab0b3a447f07ceb94c39a95009df Mon Sep 17 00:00:00 2001
From: Anuj Mittal <anuj.mittal@intel.com>
Date: Thu, 2 Apr 2020 08:59:20 +0800
Subject: [PATCH] don't redefine LLVM_TABLEGEN_EXE
Use the value that has been passed by the user.
Upstream-Status: Submitted
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
CMakeLists.txt | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6893e97..941b0ae 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -137,7 +137,10 @@ endif(NOT USE_PREBUILT_LLVM)
set (COMPILE_OPTIONS_TD opencl_clang_options.td)
set (COMPILE_OPTIONS_INC opencl_clang_options.inc)
-set(LLVM_TABLEGEN_EXE "llvm-tblgen")
+if(NOT DEFINED LLVM_TABLEGEN_EXE)
+ set(LLVM_TABLEGEN_EXE "llvm-tblgen")
+endif()
+
set(LLVM_TARGET_DEFINITIONS ${COMPILE_OPTIONS_TD})
if(USE_PREBUILT_LLVM)
set(TABLEGEN_ADDITIONAL -I ${LLVM_INCLUDE_DIRS})
--
2.25.1

View File

@ -0,0 +1,60 @@
From 43c806ef321b1f677a49d28c89fb7ffecf539c2d Mon Sep 17 00:00:00 2001
From: Tim Creech <timothy.m.creech@intel.com>
Date: Wed, 28 Jun 2023 03:45:51 -0400
Subject: [PATCH 2/2] Request native clang only when cross-compiling (#464)
* Request native clang only when cross-compiling
LLVM_USE_HOST_TOOLS may be set if LLVM is configured with
LLVM_OPTIMIZED_TABLEGEN, which does not necessarily indicate
cross-compilation or that clang will only execute on the target.
By checking that CMAKE_CROSSCOMPILING is set, we ensure that we only
build/use clang again if necessary for host execution.
* fixup: CMAKE_CROSSCOMPILING implies LLVM_USE_HOST_TOOLS
Co-authored-by: Wenju He <wenju.he@intel.com>
* fixup: also use CMAKE_CROSSCOMPILING in top-level CMakeLists.txt
---------
Co-authored-by: Wenju He <wenju.he@intel.com>
Upstream-Status: Backport [https://github.com/intel/opencl-clang/commit/53843eee13cfb2357919ee02714a43bef1af0f86]
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
CMakeLists.txt | 2 +-
cl_headers/CMakeLists.txt | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e772de9..5864009 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -35,7 +35,7 @@ set(CMAKE_MODULE_PATH
include(CMakeFunctions)
-if(LLVM_USE_HOST_TOOLS AND OPENCL_CLANG_BUILD_EXTERNAL)
+if(CMAKE_CROSSCOMPILING AND OPENCL_CLANG_BUILD_EXTERNAL)
include(CrossCompile)
llvm_create_cross_target(${PROJECT_NAME} NATIVE "" Release)
endif()
diff --git a/cl_headers/CMakeLists.txt b/cl_headers/CMakeLists.txt
index 18296c2..16cabb7 100644
--- a/cl_headers/CMakeLists.txt
+++ b/cl_headers/CMakeLists.txt
@@ -4,7 +4,7 @@ if(USE_PREBUILT_LLVM)
else()
set(CLANG_COMMAND $<TARGET_FILE:clang>)
endif()
-if(LLVM_USE_HOST_TOOLS AND NOT OPENCL_CLANG_BUILD_EXTERNAL)
+if(CMAKE_CROSSCOMPILING AND NOT OPENCL_CLANG_BUILD_EXTERNAL)
build_native_tool(clang CLANG_COMMAND)
endif()
--
2.37.3

View File

@ -1,42 +0,0 @@
From b29e00e6fe428a031cf577dfb703cf13eff837f6 Mon Sep 17 00:00:00 2001
From: Naveen Saini <naveen.kumar.saini@intel.com>
Date: Wed, 15 Apr 2020 18:05:14 +0800
Subject: [PATCH 2/2] make sure only static libraries linked for native build
LINK_COMPONENTS=all isn't working for static libs for out of tree builds. Use
LLVM_AVAILABLE_LIBS instead. Reported:
https://github.com/intel/opencl-clang/issues/114
Upstream-Status: Pending
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
CMakeLists.txt | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8707487..ad2dbda 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -218,7 +218,7 @@ add_subdirectory(cl_headers)
set(LLVM_REQUIRES_EH ON)
-if(USE_PREBUILT_LLVM OR CLANG_LINK_CLANG_DYLIB)
+if(false)
list(APPEND OPENCL_CLANG_LINK_LIBS clang-cpp)
else()
list(APPEND OPENCL_CLANG_LINK_LIBS
@@ -266,6 +266,7 @@ add_llvm_library(${TARGET_NAME} SHARED
all
LINK_LIBS
${OPENCL_CLANG_LINK_LIBS}
+ ${LLVM_AVAILABLE_LIBS}
)
# Configure resource file on Windows
--
2.17.1

View File

@ -6,8 +6,9 @@ LICENSE = "NCSA"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e8a15bf1416762a09ece07e44c79118c"
SRC_URI = "git://github.com/intel/opencl-clang.git;branch=${BRANCH};protocol=https \
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"
@ -16,9 +17,18 @@ DEPENDS:append:class-target = " opencl-clang-native"
COMPATIBLE_HOST = '(x86_64).*-linux'
COMPATIBLE_HOST:libc-musl = "null"
DEPENDS += " spirv-llvm-translator"
EXTRA_OECMAKE += "\
-DLLVM_TABLEGEN_EXE=${STAGING_BINDIR_NATIVE}/llvm-tblgen \
-DCMAKE_SKIP_RPATH=TRUE \
-DPREFERRED_LLVM_VERSION=${LLVMVERSION} \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
"
do_install:append:class-native() {
install -d ${D}${bindir}
install -m 0755 ${B}/linux_linker/linux_resource_linker ${D}${bindir}/
install -m 0755 ${B}/bin/linux_resource_linker ${D}${bindir}/
}
BBCLASSEXTEND = "native nativesdk"

View File

@ -1,15 +0,0 @@
require opencl-clang.inc
SRC_URI:append = " file://0001-don-t-redefine-LLVM_TABLEGEN_EXE.patch \
file://0001-Building-in-tree-with-LLVM-10.0-with-the-LLVM_LINK_L.patch \
"
SRC_URI:append:class-native = " file://0002-make-sure-only-static-libraries-linked-for-native-bu.patch"
BRANCH = "ocl-open-100"
SRCREV = "c8cd72e32b6abc18ce6da71c357ea45ba78b52f0"
EXTRA_OECMAKE += "\
-DLLVM_TABLEGEN_EXE=${STAGING_BINDIR_NATIVE}/llvm-tblgen \
-DCMAKE_SKIP_RPATH=TRUE \
"

View File

@ -1,15 +0,0 @@
require opencl-clang.inc
SRC_URI:append = " file://0001-don-t-redefine-LLVM_TABLEGEN_EXE.patch \
"
SRC_URI:append:class-native = " file://0002-make-sure-only-static-libraries-linked-for-native-bu.patch"
SRCREV = "c67648d41df00ea8ee9d701d17299b86f86f0321"
BRANCH = "ocl-open-110"
EXTRA_OECMAKE += "\
-DLLVM_TABLEGEN_EXE=${STAGING_BINDIR_NATIVE}/llvm-tblgen \
-DCMAKE_SKIP_RPATH=TRUE \
-DPREFERRED_LLVM_VERSION="11.1.0" \
"

View File

@ -1,12 +0,0 @@
require opencl-clang.inc
SRCREV = "8fc6b059248dc6c9c40c7cbe5fedcc6ebb951983"
DEPENDS += " spirv-llvm-translator"
BRANCH = "ocl-open-120"
EXTRA_OECMAKE += "\
-DCMAKE_SKIP_RPATH=TRUE \
-DPREFERRED_LLVM_VERSION="12.0.0" \
"

View File

@ -1,15 +0,0 @@
require opencl-clang.inc
SRC_URI:append = " file://0001-don-t-redefine-LLVM_TABLEGEN_EXE.patch \
"
SRCREV = "0f36f940b25b8e7661cfaf8a7c11fdbb7d853223"
BRANCH = "ocl-open-130"
DEPENDS += " spirv-llvm-translator"
EXTRA_OECMAKE += "\
-DLLVM_TABLEGEN_EXE=${STAGING_BINDIR_NATIVE}/llvm-tblgen \
-DCMAKE_SKIP_RPATH=TRUE \
-DPREFERRED_LLVM_VERSION=${LLVMVERSION} \
"

View File

@ -0,0 +1,5 @@
require opencl-clang.inc
SRCREV = "60fd799cc58755c16d951f9ebfde6d0f9b8554dd"
BRANCH = "ocl-open-150"

View File

@ -1,24 +0,0 @@
SUMMARY = "VC Intrinsics"
DESCRIPTION = "VC Intrinsics project contains a set of new intrinsics on \
top of core LLVM IR instructions that represent SIMD semantics of a program \
targeting GPU"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://Readme.md;beginline=1;endline=7;md5=3b2db19c3b0877bb312b7adbcb815adc"
SRC_URI = "git://github.com/intel/vc-intrinsics.git;protocol=https; \
"
SRCREV = "a2f2f10dc61c8161c57cf33ed606c8e3ccf3a921"
S = "${WORKDIR}/git"
inherit cmake
COMPATIBLE_HOST = '(x86_64).*-linux'
COMPATIBLE_HOST:libc-musl = "null"
DEPENDS += " clang"
EXTRA_OECMAKE = "-DLLVM_DIR=${STAGING_LIBDIR}"
BBCLASSEXTEND = "native nativesdk"

View File

@ -1,35 +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/2021/4;lfs=0 \
"
SRCREV = "c2bfbf29fbc44f9a3c8403d77da5be7e45cbbb4f"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
CVE_PRODUCT = "intel:openvino"
S = "${WORKDIR}/git"
do_install() {
mkdir -p ${D}${datadir}/openvino/model-optimizer
cp -r model-optimizer ${D}${datadir}/openvino/
}
RDEPENDS:${PN} += " \
python3-numpy \
python3-protobuf \
python3-defusedxml \
python3-networkx \
python3-test-generator \
python3-requests \
python3-urllib3 \
bash \
"
FILES:${PN} += "${datadir}/openvino"

View File

@ -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

View File

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

View File

@ -10,30 +10,33 @@ COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
COMPATIBLE_HOST:libc-musl = "null"
inherit cmake systemd features_check
inherit cmake systemd features_check python3native
DEPENDS = "metee ace xerces-c libnl libxml2 glib-2.0 glib-2.0-native pkgconfig-native"
EXTRA_OECMAKE += "-DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3"
DEPENDS = "metee ace xerces-c libnl libxml2 glib-2.0 glib-2.0-native pkgconfig-native python3-packaging-native"
# Enable either connman or networkmanager or none but not both.
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"
EXTRA_OECMAKE += " \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
"
FILES:${PN} += "${datadir}/dbus-1/system-services/*.service"
S = "${WORKDIR}/git"
SYSTEMD_SERVICE:${PN} = "lms.service"
SRC_URI = "git://github.com/intel/lms.git \
SRC_URI = "git://github.com/intel/lms.git;branch=master;protocol=https \
file://0001-LMS-fix-build-issue-with-gcc-15.patch \
file://0001-cmake-Bump-required-CMake-version-to-3.5-to-allow-bu.patch \
"
SRCREV = "6ef4440c40783aad218efa6df8768d8c99380c2b"
SRCREV = "388f115b2aeb3ea11499971c65f828daefd32c47"
do_install:append() {
install -d ${D}${sysconfdir}/lms
install -d ${D}${systemd_system_unitdir}
install -m 0644 ${B}/UNS/lms.service ${D}${systemd_system_unitdir}
install -d ${D}${sysconfdir}/udev/rules.d
@ -42,5 +45,4 @@ do_install:append() {
RDEPENDS:${PN} += "ace"
# This CVE is for Lan Management System software and not this lms.
CVE_CHECK_WHITELIST += "CVE-2018-1000535"
CVE_STATUS[CVE-2018-1000535] = "cpe-incorrect: This CVE is for a different LMS - Lan Management System."

View File

@ -7,14 +7,15 @@ compensation using available cooling methods."
HOMEPAGE = "https://github.com/01org/thermal_daemon"
DEPENDS = "dbus dbus-glib dbus-glib-native libxml2 glib-2.0 glib-2.0-native upower libevdev"
LICENSE = "GPLv2"
DEPENDS += "autoconf-archive-native"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=ea8831610e926e2e469075b52bf08848"
SRC_URI = "git://github.com/intel/thermal_daemon/ \
SRC_URI = "git://github.com/intel/thermal_daemon/;branch=master;protocol=https \
"
SRCREV = "dddba484b23562d421cdaf1703dabc602e1968e7"
S = "${WORKDIR}/git"
SRCREV = "df3b9ab0ffe780c4fbad7750987eff76f659cfd5"
inherit pkgconfig autotools systemd gtk-doc
@ -28,7 +29,7 @@ EXTRA_OECONF = " \
--with-systemdsystemunitdir=${systemd_system_unitdir} \
"
FILES:${PN} += "${datadir}/dbus-1/system-services/*.service"
FILES:${PN} += "${datadir}/dbus-1"
SYSTEMD_SERVICE:${PN} = "thermald.service"

View File

@ -0,0 +1,53 @@
From deccc0c69c2c8759c52885be8bdda54d3cee481c Mon Sep 17 00:00:00 2001
From: Yogesh Tyagi <yogesh.tyagi@intel.com>
Date: Sun, 11 Dec 2022 22:34:15 +0800
Subject: [PATCH] Add print function to print test run status in ptest format
Upstream-Status: Inappropriate [OE ptest specific]
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
---
run_tests.py | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/run_tests.py b/run_tests.py
index 1cd796dd..e3ffd1ab 100755
--- a/run_tests.py
+++ b/run_tests.py
@@ -327,6 +327,9 @@ def run_test(testname, host, target):
else:
ispc_exe_rel = add_prefix(host.ispc_cmd, host, target)
+ # to reslove the error '.rodata' can not be used when making a PIE object
+ ispc_exe_rel = ispc_exe_rel + " --pic"
+
# is this a test to make sure an error is issued?
want_error = (filename.find("tests_errors") != -1)
if want_error == True:
@@ -795,6 +798,17 @@ def check_compiler_exists(compiler_exe):
return
error("missing the required compiler: %s \n" % compiler_exe, 1)
+def print_test_run_status(results):
+ for fstatus in results:
+ if (fstatus[1] == Status.Success):
+ print( "%s: %s" % ("PASS", fstatus[0]))
+ elif (fstatus[1] == Status.Compfail):
+ print( "%s: %s" % ("FAIL", fstatus[0]))
+ elif (fstatus[1] == Status.Runfail):
+ print( "%s: %s" % ("FAIL", fstatus[0]))
+ elif (fstatus[1] == Status.Skip):
+ print( "%s: %s" % ("SKIP", fstatus[0]))
+
def print_result(status, results, s, run_tests_log, csv):
title = StatusStr[status]
file_list = [fname for fname, fstatus in results if status == fstatus]
@@ -938,6 +952,8 @@ def run_tests(options1, args, print_version):
pass_rate = -1
print_debug("PASSRATE (%d/%d) = %d%% \n\n" % (len(run_succeed_files), total_tests_executed, pass_rate), s, run_tests_log)
+ print_test_run_status(results)
+
for status in Status:
print_result(status, results, s, run_tests_log, options.csv)
fails = [status != Status.Compfail and status != Status.Runfail for _, status in results]

View File

@ -0,0 +1,36 @@
From 7beff95c11071170eb27b6fa7d0cc77588caee8e Mon Sep 17 00:00:00 2001
From: Yogesh Tyagi <yogesh.tyagi@intel.com>
Date: Tue, 26 Jul 2022 15:25:10 +0800
Subject: [PATCH] Fix QA Issues
Stop ispc from inserting host file path in generated headers which leads to reproducibility problems.
Upstream-Status: Inappropriate [OE build specific]
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
---
src/module.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/module.cpp b/src/module.cpp
index e2084d2e..e2626865 100644
--- a/src/module.cpp
+++ b/src/module.cpp
@@ -2555,7 +2555,7 @@ bool Module::writeHeader(const char *fn) {
perror("fopen");
return false;
}
- fprintf(f, "//\n// %s\n// (Header automatically generated by the ispc compiler.)\n", fn);
+ fprintf(f, "//\n// \n// (Header automatically generated by the ispc compiler.)\n");
fprintf(f, "// DO NOT EDIT THIS FILE.\n//\n\n");
// Create a nice guard string from the filename, turning any
@@ -2677,7 +2677,7 @@ bool Module::writeDispatchHeader(DispatchHeaderInfo *DHI) {
FILE *f = DHI->file;
if (DHI->EmitFrontMatter) {
- fprintf(f, "//\n// %s\n// (Header automatically generated by the ispc compiler.)\n", DHI->fn);
+ fprintf(f, "//\n// \n// (Header automatically generated by the ispc compiler.)\n");
fprintf(f, "// DO NOT EDIT THIS FILE.\n//\n\n");
}
// Create a nice guard string from the filename, turning any

View File

@ -1,6 +1,6 @@
From 3f3f81bde7d9d80921515ed0bf7fe36e69319bc4 Mon Sep 17 00:00:00 2001
From 16a2c22339287122d2c25d8bb33a5a51b4e6ee51 Mon Sep 17 00:00:00 2001
From: Naveen Saini <naveen.kumar.saini@intel.com>
Date: Wed, 30 Jun 2021 13:47:41 +0800
Date: Thu, 24 Feb 2022 20:01:11 +0530
Subject: [PATCH] cmake: don't build for 32-bit targets
Error log:
@ -16,14 +16,14 @@ Upstream-Status: Inappropriate
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
cmake/GenerateBuiltins.cmake | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
cmake/GenerateBuiltins.cmake | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/cmake/GenerateBuiltins.cmake b/cmake/GenerateBuiltins.cmake
index 15a74788..db30f809 100644
index f84494ed..d90cb1ec 100644
--- a/cmake/GenerateBuiltins.cmake
+++ b/cmake/GenerateBuiltins.cmake
@@ -249,7 +249,7 @@ function(builtin_to_cpp bit os_name arch supported_archs supported_oses resultFi
@@ -253,7 +253,7 @@ function(builtin_to_cpp bit os_name arch supported_archs supported_oses resultFi
# In this case headers will be installed in /usr/arm-linux-gnueabihf/include and will not be picked up
# by clang by default. So the following line adds such path explicitly. If this path doesn't exist and
# the headers can be found in other locations, this should not be a problem.
@ -32,7 +32,7 @@ index 15a74788..db30f809 100644
endif()
endif()
@@ -331,7 +331,7 @@ function (generate_target_builtins resultList)
@@ -339,7 +339,7 @@ function (generate_target_builtins resultList)
set(regular_targets ${ARGN})
list(FILTER regular_targets EXCLUDE REGEX wasm)
foreach (ispc_target ${regular_targets})
@ -41,24 +41,12 @@ index 15a74788..db30f809 100644
foreach (os_name ${TARGET_OS_LIST_FOR_LL})
target_ll_to_cpp(target-${ispc_target} ${bit} ${os_name} output${os_name}${bit})
list(APPEND tmpList ${output${os_name}${bit}})
@@ -392,7 +392,7 @@ function (generate_common_builtins resultList)
@@ -405,7 +405,7 @@ function (generate_common_builtins resultList)
endif()
message (STATUS "ISPC will be built with support of ${supported_oses} for ${supported_archs}")
- foreach (bit 32 64)
+ foreach (bit 64)
foreach (os_name "windows" "linux" "freebsd" "macos" "android" "ios" "ps4" "web")
foreach (arch "x86" "arm" "wasm32")
foreach (arch "x86" "arm" "wasm")
builtin_to_cpp(${bit} ${os_name} ${arch} "${supported_archs}" "${supported_oses}" res${bit}${os_name}${arch})
@@ -405,7 +405,7 @@ function (generate_common_builtins resultList)
endforeach()
endforeach()
if (GENX_ENABLED)
- foreach (bit 32 64)
+ foreach (bit 64)
builtin_genx_to_cpp(${bit} res_genx_${bit})
list(APPEND tmpList ${res_genx_${bit}} )
if(MSVC)
--
2.17.1

Some files were not shown because too many files have changed in this diff Show More