From f4827d08bc9be71e7eb5b44a2de73044e5a45174 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 9 May 2022 18:15:05 +0200 Subject: 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 --- build_files/build_environment/cmake/clew.cmake | 12 ----------- build_files/build_environment/cmake/cuew.cmake | 13 ------------ build_files/build_environment/cmake/download.cmake | 4 ---- build_files/build_environment/cmake/glfw.cmake | 12 ----------- .../build_environment/cmake/opensubdiv.cmake | 23 ++++------------------ build_files/build_environment/cmake/versions.cmake | 21 -------------------- 6 files changed, 4 insertions(+), 81 deletions(-) delete mode 100644 build_files/build_environment/cmake/clew.cmake delete mode 100644 build_files/build_environment/cmake/cuew.cmake delete mode 100644 build_files/build_environment/cmake/glfw.cmake (limited to 'build_files/build_environment/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) -- cgit v1.2.3