diff options
Diffstat (limited to 'dynamic-layers/clang-layer/recipes-opencl/igc')
9 files changed, 197 insertions, 161 deletions
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch new file mode 100644 index 00000000..456a8c65 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch | |||
@@ -0,0 +1,32 @@ | |||
1 | From 1b98a931c3bf8daccc48cd618335ff35e3d382da Mon Sep 17 00:00:00 2001 | ||
2 | From: Anuj Mittal <anuj.mittal@intel.com> | ||
3 | Date: Tue, 12 Oct 2021 23:46:42 +0800 | ||
4 | Subject: [PATCH] BiF/CMakeLists.txt: remove opt from DEPENDS | ||
5 | |||
6 | Otherwise it starts failing with: | ||
7 | |||
8 | | ninja: error: 'IGC/VectorCompiler/lib/BiF/opt', needed by 'IGC/VectorCompiler/lib/BiF/VCBiFPrintfOCL32.opt.bc', missing and no known rule to make it | ||
9 | |||
10 | We don't need to explicitly make sure opt is built when | ||
11 | using prebuilt binaries. | ||
12 | |||
13 | Upstream-Status: Inappropriate | ||
14 | |||
15 | Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> | ||
16 | --- | ||
17 | IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake | 2 +- | ||
18 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
19 | |||
20 | Index: git/IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake | ||
21 | =================================================================== | ||
22 | --- git.orig/IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake | ||
23 | +++ git/IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake | ||
24 | @@ -121,7 +121,7 @@ function(vc_build_bif RES_FILE CMCL_SRC_ | ||
25 | COMMENT "vc_build_bif: Translating CMCL builtins: ${BIF_CLANG_BC_NAME_FINAL} -> ${BIF_OPT_BC_NAME}" | ||
26 | COMMAND CMCLTranslatorTool ${OPT_OPAQUE_ARG} -o ${BIF_CMCL_BC_PATH} ${BIF_CLANG_BC_PATH_FINAL} | ||
27 | COMMAND ${LLVM_OPT_EXE} ${OPT_OPAQUE_ARG} --O2 -o ${BIF_OPT_BC_PATH} ${BIF_CMCL_BC_PATH} | ||
28 | - DEPENDS CMCLTranslatorTool ${LLVM_OPT_EXE} ${OPT_BC_DEPENDS}) | ||
29 | + DEPENDS CMCLTranslatorTool ${BIF_CLANG_BC_PATH_FINAL}) | ||
30 | |||
31 | add_custom_target(${TARGET_NAME} | ||
32 | DEPENDS ${BIF_OPT_BC_PATH} | ||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-Build-not-able-to-locate-BiFManager-bin.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-Build-not-able-to-locate-BiFManager-bin.patch new file mode 100644 index 00000000..87b094aa --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-Build-not-able-to-locate-BiFManager-bin.patch | |||
@@ -0,0 +1,27 @@ | |||
1 | From 048512728eea53b3772a3f80ac9743bfc462487e Mon Sep 17 00:00:00 2001 | ||
2 | From: Yogesh Tyagi <yogesh.tyagi@intel.com> | ||
3 | Date: Thu, 2 Jan 2025 15:59:27 +0530 | ||
4 | Subject: [PATCH] Build not able to locate BiFManager-bin | ||
5 | |||
6 | Upstream-Status: Inappropriate [oe specific] | ||
7 | |||
8 | Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com> | ||
9 | --- | ||
10 | IGC/BiFModule/CMakeLists.txt | 4 ++-- | ||
11 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
12 | |||
13 | Index: git/IGC/BiFModule/CMakeLists.txt | ||
14 | =================================================================== | ||
15 | --- git.orig/IGC/BiFModule/CMakeLists.txt | ||
16 | +++ git/IGC/BiFModule/CMakeLists.txt | ||
17 | @@ -655,8 +655,8 @@ set(IGC_BUILD__PROJ__BiFModuleCache_OCL | ||
18 | |||
19 | add_custom_command( | ||
20 | OUTPUT "${IGC_BUILD__BIF_DIR}/OCLBiFImpl.h" "${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bifbc" | ||
21 | - 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" | ||
22 | - 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> | ||
23 | + 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" | ||
24 | + 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 | ||
25 | COMMENT "BiF: ${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bc: Spliting output .bc." | ||
26 | COMMAND_EXPAND_LISTS | ||
27 | ) | ||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-external-SPIRV-Tools-change-path-to-tools-and-header.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-external-SPIRV-Tools-change-path-to-tools-and-header.patch new file mode 100644 index 00000000..fc66b71d --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-external-SPIRV-Tools-change-path-to-tools-and-header.patch | |||
@@ -0,0 +1,30 @@ | |||
1 | From 251e2854dd206ebf66e5908d3277e4585fe2a63b Mon Sep 17 00:00:00 2001 | ||
2 | From: Anuj Mittal <anuj.mittal@intel.com> | ||
3 | Date: Mon, 9 Jan 2023 11:43:05 +0800 | ||
4 | Subject: [PATCH] external/SPIRV-Tools: change path to tools and headers | ||
5 | |||
6 | We clone the SPIRV headers and tools in a different directory to ensure | ||
7 | file path substitutions take place. | ||
8 | |||
9 | Upstream-Status: Inappropriate | ||
10 | |||
11 | Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> | ||
12 | --- | ||
13 | external/SPIRV-Tools/CMakeLists.txt | 4 ++-- | ||
14 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
15 | |||
16 | Index: git/external/SPIRV-Tools/CMakeLists.txt | ||
17 | =================================================================== | ||
18 | --- git.orig/external/SPIRV-Tools/CMakeLists.txt | ||
19 | +++ git/external/SPIRV-Tools/CMakeLists.txt | ||
20 | @@ -45,8 +45,8 @@ else() #By default use build from source | ||
21 | message(STATUS "[SPIRV-Tools] : Building from source") | ||
22 | message(STATUS "[SPIRV-Tools] : Current source dir: ${CMAKE_CURRENT_SOURCE_DIR}") | ||
23 | |||
24 | - set(SPIRV-Headers_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../SPIRV-Headers") # used in subdirectory | ||
25 | - set(SPIRV-Tools_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../SPIRV-Tools") | ||
26 | + set(SPIRV-Headers_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../SPIRV-Headers") # used in subdirectory | ||
27 | + set(SPIRV-Tools_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../SPIRV-Tools") | ||
28 | |||
29 | set(SPIRV-Tools_OUTPUT_DIR "${IGC_OPTION__OUTPUT_DIR}/external/SPIRV-Tools/build") | ||
30 | set(IGC_BUILD__SPIRV-Headers_DIR "${SPIRV-Headers_SOURCE_DIR}") | ||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-fix-tblgen.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-fix-tblgen.patch new file mode 100644 index 00000000..3d9ae02f --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-fix-tblgen.patch | |||
@@ -0,0 +1,23 @@ | |||
1 | From 1641dc87b2ed6b6b87b2cef824e4d66da65b0b30 Mon Sep 17 00:00:00 2001 | ||
2 | From: Anuj Mittal <anuj.mittal@intel.com> | ||
3 | Date: Thu, 19 May 2022 22:50:09 +0800 | ||
4 | Subject: [PATCH] fix tblgen | ||
5 | |||
6 | Upstream-Status: Inappropriate [OE specific] | ||
7 | --- | ||
8 | IGC/cmake/igc_llvm.cmake | 2 +- | ||
9 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
10 | |||
11 | diff --git a/IGC/cmake/igc_llvm.cmake b/IGC/cmake/igc_llvm.cmake | ||
12 | index b708cc904..fe4668890 100644 | ||
13 | --- a/IGC/cmake/igc_llvm.cmake | ||
14 | +++ b/IGC/cmake/igc_llvm.cmake | ||
15 | @@ -53,7 +53,7 @@ else() | ||
16 | set(LLVM_OPT_EXE "opt" CACHE STRING "") | ||
17 | |||
18 | set(LLVM_TABLEGEN_EXE "llvm-tblgen") | ||
19 | - if(CMAKE_CROSSCOMPILING) | ||
20 | + if(TRUE) | ||
21 | if(DEFINED LLVM_TABLEGEN) | ||
22 | set(LLVM_TABLEGEN_EXE ${LLVM_TABLEGEN}) | ||
23 | else() | ||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-skip-execution-of-ElfPackager.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-skip-execution-of-ElfPackager.patch deleted file mode 100644 index 65342d9c..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-skip-execution-of-ElfPackager.patch +++ /dev/null | |||
@@ -1,43 +0,0 @@ | |||
1 | From 5501fab763aa2b11437fbdb19e07a11157a7d3e6 Mon Sep 17 00:00:00 2001 | ||
2 | From: Naveen Saini <naveen.kumar.saini@intel.com> | ||
3 | Date: Thu, 6 Feb 2020 14:56:56 +0800 | ||
4 | Subject: [PATCH] skip execution of ElfPackager | ||
5 | |||
6 | ElfPackager adds the ability to convert llvm bitcode into elf files for | ||
7 | easier partitioning. Skip for now until we start building a native | ||
8 | version for this. | ||
9 | |||
10 | Upstream-Status: Inappropriate [configuration specific] | ||
11 | |||
12 | Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> | ||
13 | Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> | ||
14 | --- | ||
15 | IGC/ElfPackager/CMakeLists.txt | 12 ++++++------ | ||
16 | 1 file changed, 6 insertions(+), 6 deletions(-) | ||
17 | |||
18 | diff --git a/IGC/ElfPackager/CMakeLists.txt b/IGC/ElfPackager/CMakeLists.txt | ||
19 | index 563ac9d6..c6c74ce9 100644 | ||
20 | --- a/IGC/ElfPackager/CMakeLists.txt | ||
21 | +++ b/IGC/ElfPackager/CMakeLists.txt | ||
22 | @@ -71,12 +71,12 @@ include_directories ( | ||
23 | ${IGC_SOURCE_DIR}/AdaptorOCL/CLElfLib/ | ||
24 | ) | ||
25 | |||
26 | -if(NOT ANDROID) | ||
27 | - add_custom_command(TARGET ${IGC_BUILD__PROJ__ElfPackager} | ||
28 | - POST_BUILD | ||
29 | - COMMAND $<TARGET_FILE:${IGC_BUILD__PROJ__ElfPackager}> -includeSizet -funcList ${CMAKE_CURRENT_SOURCE_DIR}/function_bin.txt ${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bc ${IGC_BUILD__BIF_DIR}/igdclbif.bin | ||
30 | - ) | ||
31 | -endif() | ||
32 | +#if(NOT ANDROID) | ||
33 | +# add_custom_command(TARGET ${IGC_BUILD__PROJ__ElfPackager} | ||
34 | +# POST_BUILD | ||
35 | +# COMMAND $<TARGET_FILE:${IGC_BUILD__PROJ__ElfPackager}> -includeSizet -funcList ${CMAKE_CURRENT_SOURCE_DIR}/function_bin.txt ${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bc ${IGC_BUILD__BIF_DIR}/igdclbif.bin | ||
36 | +# ) | ||
37 | +#endif() | ||
38 | |||
39 | |||
40 | add_dependencies("${IGC_BUILD__PROJ__ElfPackager}" "${IGC_BUILD__PROJ__BiFModule_OCL}") | ||
41 | -- | ||
42 | 2.17.1 | ||
43 | |||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/improve_src_package_reproducibility.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Improve-Reproducibility-for-src-package.patch index c694836f..4269fadf 100644 --- a/dynamic-layers/clang-layer/recipes-opencl/igc/files/improve_src_package_reproducibility.patch +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Improve-Reproducibility-for-src-package.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 2fa3f2da1179bd5b2eeac82839d386f0111e611c Mon Sep 17 00:00:00 2001 | 1 | From ca136c04d4ac60e3febc8ea2b9c4d4736365a424 Mon Sep 17 00:00:00 2001 |
2 | From: Lee Chee Yang <chee.yang.lee@intel.com> | 2 | From: Lee Chee Yang <chee.yang.lee@intel.com> |
3 | Date: Wed, 2 Sep 2020 08:28:35 +0800 | 3 | Date: Wed, 2 Sep 2020 08:28:35 +0800 |
4 | Subject: [PATCH] Improve Reproducibility for src package | 4 | Subject: [PATCH] Improve Reproducibility for src package |
@@ -13,11 +13,11 @@ Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com> | |||
13 | visa/CMakeLists.txt | 7 +++++-- | 13 | visa/CMakeLists.txt | 7 +++++-- |
14 | 1 file changed, 5 insertions(+), 2 deletions(-) | 14 | 1 file changed, 5 insertions(+), 2 deletions(-) |
15 | 15 | ||
16 | diff --git a/visa/CMakeLists.txt b/visa/CMakeLists.txt | 16 | Index: git/visa/CMakeLists.txt |
17 | index 981c35d2..d5944370 100644 | 17 | =================================================================== |
18 | --- a/visa/CMakeLists.txt | 18 | --- git.orig/visa/CMakeLists.txt |
19 | +++ b/visa/CMakeLists.txt | 19 | +++ git/visa/CMakeLists.txt |
20 | @@ -109,8 +109,11 @@ endif() | 20 | @@ -135,8 +135,11 @@ endif() |
21 | set(bison_output_file ${CMAKE_CURRENT_BINARY_DIR}/CISA.tab.cpp) | 21 | set(bison_output_file ${CMAKE_CURRENT_BINARY_DIR}/CISA.tab.cpp) |
22 | set(flex_output_file ${CMAKE_CURRENT_BINARY_DIR}/lex.CISA.cpp) | 22 | set(flex_output_file ${CMAKE_CURRENT_BINARY_DIR}/lex.CISA.cpp) |
23 | 23 | ||
@@ -31,6 +31,3 @@ index 981c35d2..d5944370 100644 | |||
31 | ADD_FLEX_BISON_DEPENDENCY(CISAScanner CISAParser) | 31 | ADD_FLEX_BISON_DEPENDENCY(CISAScanner CISAParser) |
32 | set(CISAScanner_dependencies) | 32 | set(CISAScanner_dependencies) |
33 | 33 | ||
34 | -- | ||
35 | 2.28.0 | ||
36 | |||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/link-to-LLVMGenXIntrinsics.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/link-to-LLVMGenXIntrinsics.patch deleted file mode 100644 index 89a28097..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/igc/files/link-to-LLVMGenXIntrinsics.patch +++ /dev/null | |||
@@ -1,62 +0,0 @@ | |||
1 | From 483154871f72590b81c036b000be09627376b5a9 Mon Sep 17 00:00:00 2001 | ||
2 | From: Naveen Saini <naveen.kumar.saini@intel.com> | ||
3 | Date: Thu, 27 Aug 2020 12:17:12 +0800 | ||
4 | Subject: [PATCH] IGC/VectorCompiler/CMakeLists.txt: link to external | ||
5 | LLVMGenXIntrinsics | ||
6 | |||
7 | By default LLVMGenXIntrinsics is to be build In-tree, but we want to | ||
8 | link externally. | ||
9 | |||
10 | Fix llvm-tblgen path. | ||
11 | |||
12 | Upstream-Status: Inappropriate [configuration specific] | ||
13 | |||
14 | Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> | ||
15 | --- | ||
16 | IGC/VectorCompiler/CMakeLists.txt | 23 ++--------------------- | ||
17 | 1 file changed, 2 insertions(+), 21 deletions(-) | ||
18 | |||
19 | diff --git a/IGC/VectorCompiler/CMakeLists.txt b/IGC/VectorCompiler/CMakeLists.txt | ||
20 | index 3592e0b4..ae754b8b 100644 | ||
21 | --- a/IGC/VectorCompiler/CMakeLists.txt | ||
22 | +++ b/IGC/VectorCompiler/CMakeLists.txt | ||
23 | @@ -50,10 +50,7 @@ if(IGC_BUILD__USING_SYSTEM_LLVM OR (WIN32 AND LLVM_USE_PREBUILT)) | ||
24 | message(STATUS "[VC] Using system llvm") | ||
25 | |||
26 | # Need to search for llvm-tblgen | ||
27 | - find_program(LLVM_TABLEGEN_EXE "llvm-tblgen" | ||
28 | - ${LLVM_TOOLS_BINARY_DIR} | ||
29 | - NO_DEFAULT_PATH | ||
30 | - ) | ||
31 | + find_program(LLVM_TABLEGEN_EXE "llvm-tblgen") | ||
32 | if(LLVM_TABLEGEN_EXE-NOTFOUND) | ||
33 | message(FATAL_ERROR "[VC] llvm-tblgen is not found") | ||
34 | endif() | ||
35 | @@ -131,23 +128,7 @@ if(LLVM_ON_WIN32) | ||
36 | add_compile_options(/wd4624) | ||
37 | endif() | ||
38 | |||
39 | -if(DEFINED VC_INTRINSICS_SRC) | ||
40 | - set(INTRSRC "${VC_INTRINSICS_SRC}/GenXIntrinsics") | ||
41 | -endif() | ||
42 | - | ||
43 | -if(NOT DEFINED INTRSRC) | ||
44 | - set(INTRSRC "${CMAKE_CURRENT_SOURCE_DIR}/../../../vc-intrinsics/GenXIntrinsics") | ||
45 | -endif() | ||
46 | - | ||
47 | -message(STATUS "[VC] Using vc-intrinsics source from: ${INTRSRC}") | ||
48 | - | ||
49 | -# We are using prebuilt SPIRV and building intrinsics. | ||
50 | -set(INTRBUILD "${CMAKE_CURRENT_BINARY_DIR}/intrbuild") | ||
51 | - | ||
52 | - | ||
53 | -# Do not copy anything from prebuilts. libSPIRVDLL.so will be dynamically loaded at runtime. | ||
54 | -add_subdirectory(${INTRSRC} ${INTRBUILD}) | ||
55 | -include_directories(${INTRSRC}/include ${INTRBUILD}/include) | ||
56 | +find_package(LLVMGenXIntrinsics REQUIRED) | ||
57 | |||
58 | include(cmake/spirv.cmake) | ||
59 | include(${IGC_SOURCE_DIR}/cmake/utils.cmake) | ||
60 | -- | ||
61 | 2.17.1 | ||
62 | |||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.5435.bb b/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.5435.bb deleted file mode 100644 index 502200fa..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.5435.bb +++ /dev/null | |||
@@ -1,47 +0,0 @@ | |||
1 | SUMMARY = "The Intel(R) Graphics Compiler for OpenCL(TM)" | ||
2 | DESCRIPTION = "The Intel(R) Graphics Compiler for OpenCL(TM) is an \ | ||
3 | llvm based compiler for OpenCL(TM) targeting Intel Gen graphics \ | ||
4 | hardware architecture." | ||
5 | |||
6 | LICENSE = "MIT & BSD-3-Clause" | ||
7 | LIC_FILES_CHKSUM = "file://IGC/BiFModule/Implementation/ExternalLibraries/libclc/LICENSE.TXT;md5=311cfc1a5b54bab8ed34a0b5fba4373e \ | ||
8 | file://IGC/Compiler/LegalizationPass.cpp;beginline=1;endline=25;md5=4abf1738ff96b18e34186eb763e28eeb \ | ||
9 | file://NOTICES.txt;md5=b12e73994de4fbe0f688cf0bc91512a0" | ||
10 | |||
11 | SRC_URI = "git://github.com/intel/intel-graphics-compiler.git;protocol=https; \ | ||
12 | file://0001-skip-execution-of-ElfPackager.patch \ | ||
13 | file://link-to-LLVMGenXIntrinsics.patch \ | ||
14 | file://improve_src_package_reproducibility.patch \ | ||
15 | " | ||
16 | |||
17 | SRCREV = "93f02a7dfa37d879abc2ff5d62fd1e527fa4b03a" | ||
18 | |||
19 | # Used to replace with relative path in reproducibility patch | ||
20 | export B | ||
21 | |||
22 | S = "${WORKDIR}/git" | ||
23 | |||
24 | inherit cmake | ||
25 | |||
26 | COMPATIBLE_HOST = '(x86_64).*-linux' | ||
27 | COMPATIBLE_HOST_libc-musl = "null" | ||
28 | |||
29 | DEPENDS += " flex-native bison-native clang opencl-clang vc-intrinsics" | ||
30 | DEPENDS_append_class-target = " clang-cross-x86_64" | ||
31 | |||
32 | RDEPENDS_${PN} += "opencl-clang" | ||
33 | |||
34 | LLVM_COMPAT_VERSION = "${@bb.utils.contains('LLVMVERSION', '10.0.1', '10.0.0', '11.0.0', d)}" | ||
35 | EXTRA_OECMAKE = "-DIGC_PREFERRED_LLVM_VERSION=${LLVM_COMPAT_VERSION} -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 -DINSTALL_SPIRVDLL=0 -DIGC_BUILD__VC_ENABLED=OFF" | ||
36 | |||
37 | # VectorCompiler doesn't build with LLVM11 as of this release. | ||
38 | # Re-enable after those issues have been fixed. | ||
39 | EXTRA_OECMAKE_append = " ${@bb.utils.contains('LLVMVERSION', '11.0.0', "-DIGC_BUILD__VC_ENABLED=OFF", "", d)}" | ||
40 | |||
41 | BBCLASSEXTEND = "native nativesdk" | ||
42 | |||
43 | UPSTREAM_CHECK_GITTAGREGEX = "^igc-(?P<pver>(?!19\..*)\d+(\.\d+)+)$" | ||
44 | |||
45 | FILES_${PN} += " \ | ||
46 | ${libdir}/igc/NOTICES.txt \ | ||
47 | " | ||
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 new file mode 100644 index 00000000..b6d8ddeb --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_2.10.10.bb | |||
@@ -0,0 +1,79 @@ | |||
1 | SUMMARY = "The Intel(R) Graphics Compiler for OpenCL(TM)" | ||
2 | DESCRIPTION = "The Intel(R) Graphics Compiler for OpenCL(TM) is an \ | ||
3 | llvm based compiler for OpenCL(TM) targeting Intel Gen graphics \ | ||
4 | hardware architecture." | ||
5 | |||
6 | LICENSE = "MIT & Apache-2.0" | ||
7 | LIC_FILES_CHKSUM = "file://IGC/BiFModule/Implementation/ExternalLibraries/libclc/LICENSE.TXT;md5=311cfc1a5b54bab8ed34a0b5fba4373e \ | ||
8 | file://LICENSE.md;md5=488d74376edf2765f6e78d271543dde3 \ | ||
9 | file://NOTICES.txt;md5=b81a52411c84df3419f20bad4d755880" | ||
10 | |||
11 | SRC_URI = "git://github.com/intel/intel-graphics-compiler.git;protocol=https;name=igc;branch=releases/2.10.x \ | ||
12 | git://github.com/intel/vc-intrinsics.git;protocol=https;destsuffix=git/vc-intrinsics;name=vc;nobranch=1 \ | ||
13 | git://github.com/KhronosGroup/SPIRV-Tools.git;protocol=https;destsuffix=git/SPIRV-Tools;name=spirv-tools;branch=main \ | ||
14 | git://github.com/KhronosGroup/SPIRV-Headers.git;protocol=https;destsuffix=git/SPIRV-Headers;name=spirv-headers;branch=main \ | ||
15 | file://0003-Improve-Reproducibility-for-src-package.patch \ | ||
16 | file://0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch \ | ||
17 | file://0001-external-SPIRV-Tools-change-path-to-tools-and-header.patch \ | ||
18 | file://0001-Build-not-able-to-locate-BiFManager-bin.patch \ | ||
19 | " | ||
20 | |||
21 | SRC_URI:append:class-native = " file://0001-fix-tblgen.patch" | ||
22 | |||
23 | SRCREV_igc = "83925314d4fc32b017fcbfcd73e0667ba833fb8f" | ||
24 | SRCREV_vc = "9d255266e1df8f1dc5d11e1fbb03213acfaa4fc7" | ||
25 | SRCREV_spirv-tools = "f289d047f49fb60488301ec62bafab85573668cc" | ||
26 | SRCREV_spirv-headers = "0e710677989b4326ac974fd80c5308191ed80965" | ||
27 | |||
28 | SRCREV_FORMAT = "igc_vc_spirv-tools_spirv-headers" | ||
29 | |||
30 | # Used to replace with relative path in reproducibility patch | ||
31 | export B | ||
32 | |||
33 | S = "${WORKDIR}/git" | ||
34 | |||
35 | inherit cmake pkgconfig qemu python3native | ||
36 | |||
37 | CXXFLAGS:append = " -Wno-error=nonnull" | ||
38 | |||
39 | COMPATIBLE_HOST = '(x86_64).*-linux' | ||
40 | COMPATIBLE_HOST:libc-musl = "null" | ||
41 | |||
42 | DEPENDS += " flex-native bison-native clang clang-cross-x86_64 opencl-clang qemu-native python3-mako-native \ | ||
43 | python3-pyyaml-native \ | ||
44 | " | ||
45 | |||
46 | RDEPENDS:${PN} += "opencl-clang" | ||
47 | |||
48 | PACKAGECONFIG ??= "vc" | ||
49 | 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," | ||
50 | |||
51 | EXTRA_OECMAKE = " \ | ||
52 | -DIGC_OPTION__LLVM_PREFERRED_VERSION=${LLVMVERSION} \ | ||
53 | -DVC_INTRINSICS_SRC="${S}/vc-intrinsics" \ | ||
54 | -DIGC_OPTION__LLVM_MODE=Prebuilds \ | ||
55 | -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ | ||
56 | -DLLVM_LINK_EXE=${STAGING_BINDIR_NATIVE}/llvm-link \ | ||
57 | -DCLANG_EXE=${STAGING_BINDIR_NATIVE}/clang \ | ||
58 | -DCMAKE_CROSSCOMPILING_EMULATOR=${WORKDIR}/qemuwrapper \ | ||
59 | " | ||
60 | |||
61 | do_configure:prepend:class-target () { | ||
62 | # Write out a qemu wrapper that will be used by cmake. | ||
63 | qemu_binary="${@qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${STAGING_DIR_HOST}${libdir}'),d.expand('${STAGING_DIR_HOST}${base_libdir}')])}" | ||
64 | cat > ${WORKDIR}/qemuwrapper << EOF | ||
65 | #!/bin/sh | ||
66 | $qemu_binary "\$@" | ||
67 | EOF | ||
68 | chmod +x ${WORKDIR}/qemuwrapper | ||
69 | } | ||
70 | |||
71 | |||
72 | UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>\d+(\.\d+)+)$" | ||
73 | |||
74 | FILES:${PN} += " \ | ||
75 | ${libdir}/igc2/NOTICES.txt \ | ||
76 | " | ||
77 | |||
78 | # libigc.so contains buildpaths | ||
79 | INSANE_SKIP:${PN} += "buildpaths" | ||