Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brecht>2022-05-09 19:15:05 +0300
committerBrecht Van Lommel <brecht@blender.org>2022-05-09 19:30:04 +0300
commitf4827d08bc9be71e7eb5b44a2de73044e5a45174 (patch)
tree1305ca376a7fc53ce810506fd53a91ff067b944c /build_files
parent78f61bf8c13460f8065eaa8eabaa2ac5a4c66a5e (diff)
Build: disable usage of GLEW, CLEW, CUDA, GLFW in OpenSubdiv
The previous 3.1 libraries (accidentally) used glApi instead of GLEW and were working for GPU subdivision, so revert to that. There's a suspected conflict with Blender's own bundled GLEW or other issue with GLEW, causing the crash in T97737. The current GPU subdivision implementation does not need OpenCL, CUDA or GLFW. So also remove libraries needed for that. It's simpler to stick to compute shaders in OpenGL/Vulkan/Metal and not involve additional APIs. Ref T95206 Differential Revision: https://developer.blender.org/D14898
Diffstat (limited to 'build_files')
-rw-r--r--build_files/build_environment/CMakeLists.txt3
-rw-r--r--build_files/build_environment/cmake/clew.cmake12
-rw-r--r--build_files/build_environment/cmake/cuew.cmake13
-rw-r--r--build_files/build_environment/cmake/download.cmake4
-rw-r--r--build_files/build_environment/cmake/glfw.cmake12
-rw-r--r--build_files/build_environment/cmake/opensubdiv.cmake23
-rw-r--r--build_files/build_environment/cmake/versions.cmake21
-rw-r--r--build_files/build_environment/dependencies.dot4
-rw-r--r--build_files/build_environment/patches/cuew.diff26
9 files changed, 4 insertions, 114 deletions
diff --git a/build_files/build_environment/CMakeLists.txt b/build_files/build_environment/CMakeLists.txt
index 8f4738d1f1c..b63e86a3ac2 100644
--- a/build_files/build_environment/CMakeLists.txt
+++ b/build_files/build_environment/CMakeLists.txt
@@ -54,9 +54,6 @@ include(cmake/freetype.cmake)
include(cmake/freeglut.cmake)
include(cmake/glew.cmake)
include(cmake/alembic.cmake)
-include(cmake/glfw.cmake)
-include(cmake/clew.cmake)
-include(cmake/cuew.cmake)
include(cmake/opensubdiv.cmake)
include(cmake/sdl.cmake)
include(cmake/opencollada.cmake)
diff --git a/build_files/build_environment/cmake/clew.cmake b/build_files/build_environment/cmake/clew.cmake
deleted file mode 100644
index 8c965d52d2c..00000000000
--- a/build_files/build_environment/cmake/clew.cmake
+++ /dev/null
@@ -1,12 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-or-later
-
-set(CLEW_EXTRA_ARGS)
-
-ExternalProject_Add(external_clew
- URL file://${PACKAGE_DIR}/${CLEW_FILE}
- DOWNLOAD_DIR ${DOWNLOAD_DIR}
- URL_HASH ${CLEW_HASH_TYPE}=${CLEW_HASH}
- PREFIX ${BUILD_DIR}/clew
- CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/clew -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${CLEW_EXTRA_ARGS}
- INSTALL_DIR ${LIBDIR}/clew
-)
diff --git a/build_files/build_environment/cmake/cuew.cmake b/build_files/build_environment/cmake/cuew.cmake
deleted file mode 100644
index 8beb8b4fade..00000000000
--- a/build_files/build_environment/cmake/cuew.cmake
+++ /dev/null
@@ -1,13 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-or-later
-
-set(CUEW_EXTRA_ARGS)
-
-ExternalProject_Add(external_cuew
- URL file://${PACKAGE_DIR}/${CUEW_FILE}
- DOWNLOAD_DIR ${DOWNLOAD_DIR}
- URL_HASH ${CUEW_HASH_TYPE}=${CUEW_HASH}
- PREFIX ${BUILD_DIR}/cuew
- PATCH_COMMAND ${PATCH_CMD} --verbose -p 0 -N -d ${BUILD_DIR}/cuew/src/external_cuew < ${PATCH_DIR}/cuew.diff
- CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/cuew -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${CUEW_EXTRA_ARGS}
- INSTALL_DIR ${LIBDIR}/cuew
-)
diff --git a/build_files/build_environment/cmake/download.cmake b/build_files/build_environment/cmake/download.cmake
index 92dea453133..e305b05ee70 100644
--- a/build_files/build_environment/cmake/download.cmake
+++ b/build_files/build_environment/cmake/download.cmake
@@ -39,10 +39,6 @@ download_source(FREETYPE)
download_source(GLEW)
download_source(FREEGLUT)
download_source(ALEMBIC)
-download_source(GLFW)
-download_source(CLEW)
-download_source(GLFW)
-download_source(CUEW)
download_source(OPENSUBDIV)
download_source(SDL)
download_source(OPENCOLLADA)
diff --git a/build_files/build_environment/cmake/glfw.cmake b/build_files/build_environment/cmake/glfw.cmake
deleted file mode 100644
index 29fce7609e5..00000000000
--- a/build_files/build_environment/cmake/glfw.cmake
+++ /dev/null
@@ -1,12 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-or-later
-
-set(GLFW_EXTRA_ARGS)
-
-ExternalProject_Add(external_glfw
- URL file://${PACKAGE_DIR}/${GLFW_FILE}
- DOWNLOAD_DIR ${DOWNLOAD_DIR}
- URL_HASH ${GLFW_HASH_TYPE}=${GLFW_HASH}
- PREFIX ${BUILD_DIR}/glfw
- CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/glfw -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${GLFW_EXTRA_ARGS}
- INSTALL_DIR ${LIBDIR}/glfw
-)
diff --git a/build_files/build_environment/cmake/opensubdiv.cmake b/build_files/build_environment/cmake/opensubdiv.cmake
index 6d6e3568406..a142160b9cc 100644
--- a/build_files/build_environment/cmake/opensubdiv.cmake
+++ b/build_files/build_environment/cmake/opensubdiv.cmake
@@ -10,20 +10,16 @@ set(OPENSUBDIV_EXTRA_ARGS
-DNO_OMP=ON
-DNO_TBB=OFF
-DNO_CUDA=ON
- -DNO_OPENCL=OFF
- -DNO_CLEW=OFF
+ -DNO_OPENCL=ON
+ -DNO_CLEW=ON
-DNO_OPENGL=OFF
-DNO_METAL=OFF
-DNO_DX=ON
-DNO_TESTS=ON
-DNO_GLTESTS=ON
- -DNO_GLEW=OFF
- -DNO_GLFW=OFF
+ -DNO_GLEW=ON
+ -DNO_GLFW=ON
-DNO_GLFW_X11=ON
- -DGLEW_INCLUDE_DIR=${LIBDIR}/glew/include
- -DGLEW_LIBRARY=${LIBDIR}/glew/lib/libGLEW${LIBEXT}
- -DGLFW_INCLUDE_DIR=${LIBDIR}/glfw/include
- -DGLFW_LIBRARIES=${LIBDIR}/glfw/lib/glfw3${LIBEXT}
)
if(WIN32)
@@ -31,19 +27,12 @@ if(WIN32)
${OPENSUBDIV_EXTRA_ARGS}
-DTBB_INCLUDE_DIR=${LIBDIR}/tbb/include
-DTBB_LIBRARIES=${LIBDIR}/tbb/lib/tbb.lib
- -DCLEW_INCLUDE_DIR=${LIBDIR}/clew/include/CL
- -DCLEW_LIBRARY=${LIBDIR}/clew/lib/clew${LIBEXT}
- -DCUEW_INCLUDE_DIR=${LIBDIR}/cuew/include
- -DCUEW_LIBRARY=${LIBDIR}/cuew/lib/cuew${LIBEXT}
)
else()
set(OPENSUBDIV_EXTRA_ARGS
${OPENSUBDIV_EXTRA_ARGS}
-DTBB_INCLUDE_DIR=${LIBDIR}/tbb/include
-DTBB_tbb_LIBRARY=${LIBDIR}/tbb/lib/${LIBPREFIX}tbb_static${LIBEXT}
- -DCUEW_INCLUDE_DIR=${LIBDIR}/cuew/include
- -DCLEW_INCLUDE_DIR=${LIBDIR}/clew/include/CL
- -DCLEW_LIBRARY=${LIBDIR}/clew/lib/static/${LIBPREFIX}clew${LIBEXT}
)
endif()
@@ -75,9 +64,5 @@ endif()
add_dependencies(
external_opensubdiv
- external_glew
- external_glfw
- external_clew
- external_cuew
external_tbb
)
diff --git a/build_files/build_environment/cmake/versions.cmake b/build_files/build_environment/cmake/versions.cmake
index 25267273db0..550be86b6b6 100644
--- a/build_files/build_environment/cmake/versions.cmake
+++ b/build_files/build_environment/cmake/versions.cmake
@@ -98,27 +98,6 @@ set(ALEMBIC_HASH 2cd8d6e5a3ac4a014e24a4b04f4fadf9)
set(ALEMBIC_HASH_TYPE MD5)
set(ALEMBIC_FILE alembic-${ALEMBIC_VERSION}.tar.gz)
-# hash is for 3.1.2
-set(GLFW_GIT_UID 30306e54705c3adae9fe082c816a3be71963485c)
-set(GLFW_URI https://github.com/glfw/glfw/archive/${GLFW_GIT_UID}.zip)
-set(GLFW_HASH 20cacb1613da7eeb092f3ac4f6b2b3d0)
-set(GLFW_HASH_TYPE MD5)
-set(GLFW_FILE glfw-${GLFW_GIT_UID}.zip)
-
-# latest uid in git as of 2016-04-01
-set(CLEW_GIT_UID 277db43f6cafe8b27c6f1055f69dc67da4aeb299)
-set(CLEW_URI https://github.com/OpenCLWrangler/clew/archive/${CLEW_GIT_UID}.zip)
-set(CLEW_HASH 2c699d10ed78362e71f56fae2a4c5f98)
-set(CLEW_HASH_TYPE MD5)
-set(CLEW_FILE clew-${CLEW_GIT_UID}.zip)
-
-# latest uid in git as of 2016-04-01
-set(CUEW_GIT_UID 1744972026de9cf27c8a7dc39cf39cd83d5f922f)
-set(CUEW_URI https://github.com/CudaWrangler/cuew/archive/${CUEW_GIT_UID}.zip)
-set(CUEW_HASH 86760d62978ebfd96cd93f5aa1abaf4a)
-set(CUEW_HASH_TYPE MD5)
-set(CUEW_FILE cuew-${CUEW_GIT_UID}.zip)
-
set(OPENSUBDIV_VERSION v3_4_4)
set(OPENSUBDIV_URI https://github.com/PixarAnimationStudios/OpenSubdiv/archive/${OPENSUBDIV_VERSION}.tar.gz)
set(OPENSUBDIV_HASH 39ecc5caf0abebc943d1ce131855e76e)
diff --git a/build_files/build_environment/dependencies.dot b/build_files/build_environment/dependencies.dot
index 62949f3de62..7e8637fbced 100644
--- a/build_files/build_environment/dependencies.dot
+++ b/build_files/build_environment/dependencies.dot
@@ -37,10 +37,6 @@ graph[autosize = false, size = "25.7,8.3!", resolution = 300, overlap = false, s
external_openimageio -- external_webp;
external_openimageio -- external_opencolorio_extra;
external_openmp -- external_clang;
- external_opensubdiv -- external_glew;
- external_opensubdiv -- external_glfw;
- external_opensubdiv -- external_clew;
- external_opensubdiv -- external_cuew;
external_opensubdiv -- external_tbb;
openvdb -- external_tbb;
openvdb -- external_boost;
diff --git a/build_files/build_environment/patches/cuew.diff b/build_files/build_environment/patches/cuew.diff
deleted file mode 100644
index 0363034cd93..00000000000
--- a/build_files/build_environment/patches/cuew.diff
+++ /dev/null
@@ -1,26 +0,0 @@
---- CmakeLists.txt.orig 2015-12-31 03:46:41 -0700
-+++ CMakeLists.txt 2016-04-01 13:28:33 -0600
-@@ -22,3 +22,10 @@
-
- add_executable(testcuew cuewTest/cuewTest.c include/cuew.h)
- target_link_libraries(testcuew cuew ${CMAKE_DL_LIBS})
-+
-+install(TARGETS cuew
-+ LIBRARY DESTINATION lib COMPONENT libraries
-+ ARCHIVE DESTINATION lib/static COMPONENT libraries)
-+
-+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/cuew.h
-+ DESTINATION include/)
-\ No newline at end of file
---- src/cuew.c 2016-04-01 13:41:43 -0600
-+++ src/cuew.c 2016-04-01 13:41:11 -0600
-@@ -15,7 +15,9 @@
- */
-
- #ifdef _MSC_VER
-+#if _MSC_VER < 1900
- # define snprintf _snprintf
-+#endif
- # define popen _popen
- # define pclose _pclose
- # define _CRT_SECURE_NO_WARNINGS