From 5ca292284e251ccbd9f39c6b80f8171b4034e4dd Mon Sep 17 00:00:00 2001 From: Yogesh Tyagi Date: Tue, 27 Jan 2026 11:03:01 +0530 Subject: intel-graphics-compiler : upgrade 2.10.10 -> 2.24.8 Refresh patches: 0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch 0001-Build-not-able-to-locate-BiFManager-bin.patch New patch added: 0001-IRBuilderGenerator_exe-error-while-loading-shared-li.patch Suppress GCC 15 compilation errors with -Wno-error=free-nonheap-object flag. Release Notes: https://github.com/intel/intel-graphics-compiler/releases/tag/v2.24.8 Signed-off-by: Yogesh Tyagi --- ...nerator_exe-error-while-loading-shared-li.patch | 47 +++++++++++++ .../igc/intel-graphics-compiler_2.10.10.bb | 78 --------------------- .../igc/intel-graphics-compiler_2.24.8.bb | 80 ++++++++++++++++++++++ 3 files changed, 127 insertions(+), 78 deletions(-) create mode 100644 dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-IRBuilderGenerator_exe-error-while-loading-shared-li.patch delete mode 100644 dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_2.10.10.bb create mode 100644 dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_2.24.8.bb diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-IRBuilderGenerator_exe-error-while-loading-shared-li.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-IRBuilderGenerator_exe-error-while-loading-shared-li.patch new file mode 100644 index 00000000..62484831 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-IRBuilderGenerator_exe-error-while-loading-shared-li.patch @@ -0,0 +1,47 @@ +From bdfd2e76a1459498271f563ced7452083471eba5 Mon Sep 17 00:00:00 2001 +From: Yogesh Tyagi +Date: Fri, 23 Jan 2026 21:37:19 +0530 +Subject: [PATCH] IRBuilderGenerator_exe: error while loading shared libraries: + libLLVM-15.so + +Upstream-Status: Inappropriate + +Signed-off-by: Yogesh Tyagi +--- + IGC/cmake/IRBuilderGeneratorCodeGen.cmake | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/IGC/cmake/IRBuilderGeneratorCodeGen.cmake b/IGC/cmake/IRBuilderGeneratorCodeGen.cmake +index 00d5dbf0b..27de79a95 100644 +--- a/IGC/cmake/IRBuilderGeneratorCodeGen.cmake ++++ b/IGC/cmake/IRBuilderGeneratorCodeGen.cmake +@@ -52,7 +52,7 @@ function(generate_irbuilder_headers) + add_custom_command( + OUTPUT ${DESC_HEADER_PATH} + COMMAND +- $ ++ IRBuilderGenerator + --yaml-path=${ARG_YAML_PATH} + --gen-desc=${DESC_HEADER_PATH} + COMMENT "[${ARG_NAME}] Generating descriptor header ${DESC_HEADER_PATH}" +@@ -137,7 +137,7 @@ function(generate_irbuilder_headers) + add_custom_command( + OUTPUT ${PRIVATE_HEADER_PATH} + COMMAND +- $ ++ IRBuilderGenerator + --scope=private + ${MANGLE_NAMES_FLAG} + ${YAML_PATH_FLAG} +@@ -152,7 +152,7 @@ function(generate_irbuilder_headers) + add_custom_command( + OUTPUT ${PUBLIC_HEADER_PATH} + COMMAND +- $ ++ IRBuilderGenerator + --scope=public + ${MANGLE_NAMES_FLAG} + ${YAML_PATH_FLAG} +-- +2.43.0 + diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_2.10.10.bb b/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_2.10.10.bb deleted file mode 100644 index f3c19ce1..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_2.10.10.bb +++ /dev/null @@ -1,78 +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 & 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\d+(\.\d+)+)$" - -FILES:${PN} += " \ - ${libdir}/igc2/NOTICES.txt \ - " - -# libigc.so contains buildpaths -INSANE_SKIP:${PN} += "buildpaths" diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_2.24.8.bb b/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_2.24.8.bb new file mode 100644 index 00000000..26f22298 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_2.24.8.bb @@ -0,0 +1,80 @@ +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.24.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 \ + file://0001-IRBuilderGenerator_exe-error-while-loading-shared-li.patch \ + " + +SRC_URI:append:class-native = " file://0001-fix-tblgen.patch" + +SRCREV_igc = "2c5a85aeee1b0ddde5971fcb2e716b2732d974c5" +SRCREV_vc = "ce05311a86a88ba79bbf592c34d2b8f1756a11d2" +SRCREV_spirv-tools = "28a883ba4c67f58a9540fb0651c647bb02883622" +SRCREV_spirv-headers = "01e0577914a75a2569c846778c2f93aa8e6feddd" + +SRCREV_FORMAT = "igc_vc_spirv-tools_spirv-headers" + +# Used to replace with relative path in reproducibility patch +export B + +inherit cmake pkgconfig qemu python3native + +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 \ + " + +EXTRA_OECMAKE += " -DCMAKE_CXX_FLAGS='-Wno-error=cpp -Wno-error=free-nonheap-object'" + +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\d+(\.\d+)+)$" + +FILES:${PN} += " \ + ${libdir}/igc2/NOTICES.txt \ + " + +# libigc.so contains buildpaths +INSANE_SKIP:${PN} += "buildpaths" +INSANE_SKIP:${PN}-dbg += "buildpaths" -- cgit v1.2.3-54-g00ecf