[Bf-blender-cvs] [db46eb4645c] tmp_lib_update_32: deps: initial level-zero build support

Ray Molenkamp noreply at git.blender.org
Tue Mar 29 21:43:42 CEST 2022


Commit: db46eb4645c4d4738aa2db2457b5a52134a54c1d
Author: Ray Molenkamp
Date:   Tue Mar 29 13:40:26 2022 -0600
Branches: tmp_lib_update_32
https://developer.blender.org/rBdb46eb4645c4d4738aa2db2457b5a52134a54c1d

deps: initial level-zero build support

===================================================================

M	build_files/build_environment/CMakeLists.txt
M	build_files/build_environment/cmake/download.cmake
A	build_files/build_environment/cmake/levelzero.cmake
M	build_files/build_environment/cmake/versions.cmake
A	build_files/build_environment/patches/levelzero.diff

===================================================================

diff --git a/build_files/build_environment/CMakeLists.txt b/build_files/build_environment/CMakeLists.txt
index b5fedc917ec..2ec64044700 100644
--- a/build_files/build_environment/CMakeLists.txt
+++ b/build_files/build_environment/CMakeLists.txt
@@ -112,6 +112,7 @@ if(BLENDER_PLATFORM_ARM)
 endif()
 
 include(cmake/webp.cmake)
+include(cmake/levelzero.cmake)
 
 if(NOT WIN32 OR ENABLE_MINGW64)
   include(cmake/gmp.cmake)
diff --git a/build_files/build_environment/cmake/download.cmake b/build_files/build_environment/cmake/download.cmake
index 83b18f6685b..80c53d05c28 100644
--- a/build_files/build_environment/cmake/download.cmake
+++ b/build_files/build_environment/cmake/download.cmake
@@ -104,3 +104,4 @@ download_source(FMT)
 download_source(ROBINMAP)
 download_source(IMATH)
 download_source(PYSTRING)
+download_source(LEVEL_ZERO)
diff --git a/build_files/build_environment/cmake/levelzero.cmake b/build_files/build_environment/cmake/levelzero.cmake
new file mode 100644
index 00000000000..1f9ba6eb010
--- /dev/null
+++ b/build_files/build_environment/cmake/levelzero.cmake
@@ -0,0 +1,21 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+set(LEVEL_ZERO_EXTRA_ARGS
+)
+
+ExternalProject_Add(external_level-zero
+  URL file://${PACKAGE_DIR}/${LEVEL_ZERO_FILE}
+  DOWNLOAD_DIR ${DOWNLOAD_DIR}
+  URL_HASH ${LEVEL_ZERO_HASH_TYPE}=${LEVEL_ZERO_HASH}
+  PREFIX ${BUILD_DIR}/level-zero
+  PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/level-zero/src/external_level-zero < ${PATCH_DIR}/levelzero.diff
+  CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/level-zero ${DEFAULT_CMAKE_FLAGS} ${LEVEL_ZERO_EXTRA_ARGS}
+  INSTALL_DIR ${LIBDIR}/levelzero
+)
+
+if(BUILD_MODE STREQUAL Release AND WIN32)
+  ExternalProject_Add_Step(external_level-zero after_install
+    COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/level-zero ${HARVEST_TARGET}/level-zero
+    DEPENDEES install
+  )
+endif()
diff --git a/build_files/build_environment/cmake/versions.cmake b/build_files/build_environment/cmake/versions.cmake
index d895f85540c..de7aed23834 100644
--- a/build_files/build_environment/cmake/versions.cmake
+++ b/build_files/build_environment/cmake/versions.cmake
@@ -514,3 +514,9 @@ set(BROTLI_URI https://github.com/google/brotli/archive/refs/tags/${BROTLI_VERSI
 set(BROTLI_HASH f9e8d81d0405ba66d181529af42a3354f838c939095ff99930da6aa9cdf6fe46)
 set(BROTLI_HASH_TYPE SHA256)
 set(BROTLI_FILE brotli-${BROTLI_VERSION}.tar.gz)
+
+set(LEVEL_ZERO_VERSION v1.7.15)
+set(LEVEL_ZERO_URI https://github.com/oneapi-src/level-zero/archive/refs/tags/${LEVEL_ZERO_VERSION}.tar.gz)
+set(LEVEL_ZERO_HASH c39bb05a8e5898aa6c444e1704105b93d3f1888b9c333f8e7e73825ffbfb2617)
+set(LEVEL_ZERO_HASH_TYPE SHA256)
+set(LEVEL_ZERO_FILE level-zero-${LEVEL_ZERO_VERSION}.tar.gz)
diff --git a/build_files/build_environment/patches/levelzero.diff b/build_files/build_environment/patches/levelzero.diff
new file mode 100644
index 00000000000..22680166723
--- /dev/null
+++ b/build_files/build_environment/patches/levelzero.diff
@@ -0,0 +1,13 @@
+diff -Naur external_levelzero_org/CMakeLists.txt external_levelzero/CMakeLists.txt
+--- external_levelzero_org/CMakeLists.txt       2022-03-07 13:22:11 -0700
++++ external_levelzero/CMakeLists.txt   2022-03-29 13:22:15 -0600
+@@ -77,9 +77,6 @@
+     #enabling Control Flow Guard
+     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /guard:cf")
+     set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /guard:cf")
+-    # enable Spectre Mitigation
+-    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Qspectre")
+-    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Qspectre")
+ endif()
+
+ #CXX compiler support
\ No newline at end of file



More information about the Bf-blender-cvs mailing list