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
AgeCommit message (Collapse)Author
2021-09-13Fluid: Initial changes for OpenMP GPU supportfluid-mantaflow-gpuSebastián Barschkis
Contains basic support for OpenMP GPU offloading. That is, offloading of fluid KERNEL loops to the GPU. This branch offloads pressure and advection calls only - the 2 most expensive operation per step. In theory though, any function can be offloaded. For now, this branch needs to be build with a compiler that supports Nvidia GPU offloading. Exact GPU models need to be specified via CMake.
2021-08-09Build: macOS library upgrade fixesBrecht Van Lommel
* Revert back to OpenMP 9.0.1 due to bug causing cloth physics test to fail. * Skip flex build on macOS to avoid link error, only reason we build this is due to old flex version on Linux CentOS 7. * Fix PNG cmake argument that expects lowercase on instead of ON. Ref T90507, T88438
2021-07-29deps/win: Remove media foundation dep for ffmpegRay Molenkamp
This caused a blender load error on windows N, given we do not use these codecs they can safely be disabled. This will fix T90200 once the new libraries are in SVN
2021-07-29deps: Reduce llvm/clang footprint for windowsRay Molenkamp
We shipped the whole bin folder for llvm/clang while we only needed clang-format, by shipping just the bits we need we save about 700 megabytes off our svn lib download.
2021-07-27Deps: ensure osl/bin/oslc is using static libpngSybren A. Stüvel
Pass `-DLINKSTATIC=ON` to the OSL CMake, to ensure it statically links to our libpng. Previously this was only applied on Windows, it's now on all platforms.
2021-07-27Deps builder: OIIO/OSL/ISPC/OIDN/LLVM/Flex updatesSybren A. Stüvel
This diff somewhat snowballed out of updating OIDN to 1.4.1 it had some changes that allowed us to remove the arm hacks we had in place and revert to using identical versions for a whole bunch of deps. But that required an update to ISPC which needed a newer LLVM and if we're updating LLVM we may as well update OSL, and when we update OSL, OIIO may as well be dragged in soo......anyhow... This diff updates: LLVM 9.0.0 (11.0.1 for mac/arm) -> 12.0.0 OIIO 2.1.15.0 -> 2.2.15.1 OSL 1.11.10.0 -> 1.11.14.1 winflex_bison 2.5.5-> 2.5.24 (ispc needed newer bison, windows only dep) OIDN 1.4.0 -> 1.4.1 ISPC v1.14.1(random hash for mac/arm) -> v1.16.0 Flex 2.6.4 (ISPC needed newer Flex than available on CentOS 7) and removes most of the "special arm/mac" versions. I think just ssl and embree are left with special versions. notable changes: @LazyDodo included some clang headers in the linux/mac harvest which are needed to start writing custom clang based tooling like D9465 these were already shipping on windows, but not the other platforms. [macOS] Change the `LC_ID_DYLIB` of OpenMP for {D11997}. This changes where the executables look for dylibs. Reviewed By: sebbas, LazyDodo Differential Revision: https://developer.blender.org/D11748
2021-07-15Cleanup: ensure one newline at end of file, strip trailing spaceCampbell Barton
2021-07-15deps_builder: zstd 1.5.0Ray Molenkamp
Having zstd available is a requirement for landing D5799 Reviewed By: sybren Differential Revision: https://developer.blender.org/D11079
2021-07-09Deps: upgrade OpenXR 1.0.14 → 1.0.17Sybren A. Stüvel
Simple upgrade of OpenXR to 1.0.17. A version bump was enough, no Blender code had to change. Reviewed By: LazyDodo, mont29 Differential Revision: https://developer.blender.org/D11848
2021-07-06cmake: add 'wayland-protocols' to 'make deps'Christian Rauch
2021-07-02Build: upgrade NanoVDB library to latest revisionBrecht Van Lommel
This includes improved handling of OpenVDB trees with inactive voxels, which previously could throw an error. Ref T89581, T88438
2021-06-10deps/windows: add missing tbbmalloc_debug.libRay Molenkamp
This file is being linked by blender without it existing causing issues for debug builds.
2021-06-08Build: upgrade OpenImageDenoise to 1.4.0Brecht Van Lommel
CMake builder and install deps changes, precompiled libraries are still to be committed. Ref T88438, T88434 Differential Revision: https://developer.blender.org/D11486
2021-06-07Revert most of rB93a865dde775e.Bastien Montagne
This revert went too far, only one line (the minimal version of FFMPEG for `install_deps.sh` script`) actually needed to be reverted... Sorry for the noise.
2021-06-07Revert "Bump FFmpeg version from 4.2.3 to 4.4"Bastien Montagne
This reverts commit 95690dd362f3a94f6c3b1efbe91e8b5cc164745f. Such high version restriction is no more needed after rB9225fe933ae990. Missing bit in https://developer.blender.org/D11417.
2021-06-04windows/deps: Fix TBB build issues.Ray Molenkamp
rB847579b42250 updated the TBB build script which had some unintended consequences for windows as the directory layout slightly changed. This change adjusts the builder to the new structure, there are no version/functional changes.
2021-05-25Bump FFmpeg version from 4.2.3 to 4.4Sybren A. Stüvel
Bump FFmpeg version to 4.4 to fix a problem where it would write the wrong frame rate. Their old API was deprecated and Blender moved to the new one in rB8d6264ea12bfac0912c7249f00af2ac8e3409ed1. The new one produced files with the wrong frame rate, which was fixed in FFmpeg 4.4. Manifest Task: T88568 Reviewed By: LazyDodo, zeddb Differential Revision: https://developer.blender.org/D11392
2021-05-25deps: Fix broken boost linkRay Molenkamp
2021-05-21Cleanup: spellingLeon Zandman
Includes fixes to misspelled function names. Ref D11280
2021-04-20Add support for building on Linux aarch64Patrick Mours
Differential Revision: https://developer.blender.org/D10958
2021-04-14CMake/deps: Remove CPP11 option for OpenImageIOSebastián Barschkis
This flag is obsolete. In its current state (missing -D) it also results in a CMake unknown argument error on macOS.
2021-04-13deps_builder: Bump download time out to 30 minsRay Molenkamp
The timeout was set to 60 seconds, which was problematic for some of the larger files like boost from the blender svn mirror.
2021-04-13Add `make source_archive_complete` targetSybren A. Stüvel
Add a `source_archive_complete` target for `make` that creates a source archive including the source packages of Blender's dependencies. This expands `make_source_archive.py` to include files from `${BUILD_DIR}/source_archive/packages/` as well. Reviewed By: dfelinto Maniphest Tasks: T86124 Differential Revision: https://developer.blender.org/D10727
2021-03-30Build Environment: set MAKE_THREADS as per the CPUAnkit Meel
It is a better default. Reviewed By: sebbas, sybren Differential Revision: https://developer.blender.org/D10652
2021-03-16make_deps: Update blender package mirror URIRay Molenkamp
Final location in SVN was slightly different than we were planning on.
2021-03-16Libraries: Fix deps build on macOS arm64Sebastián Barschkis
Minor adjustments that were missing when D10598 landed.
2021-03-16CMake/deps: Updated deps build requirements prompt for macOS arm64Sebastián Barschkis
Building deps on macOS arm64 has slightly different requirements. Belongs to 4b3dcd80698a
2021-03-16Fix T86124: Self-hosting external libraries packagesSybren A. Stüvel
Allow downloading of source packages of Blender's dependencies, so that it's easier to provide a "full source archive" that contains the blender source + all dependencies archives. A `make` command for this will be introduced soon. This changes the deps builder slightly to be more flexible with the origin of our source packages. To support this a new CMake variable has been added called `PACKAGE_DIR` where all sources archives will be stored. default: a directory called `packages` in the build folder. alternative-default: if a directory called `packages` exists in the blender source folder that will be used. This is to support the "full source archive" use case. The download phase have been moved from the build phase to the configure phase. Configure will download all sources validate the hashes while downloading. All `[depname].cmake` files have been changed to take a local `file://[path_to_local_tarball]` path rather than a remote URI. A second requirement was that there needed to be an option to grab the sources from the blender SVN mirror rather than upstream. For this an option has been added PACKAGE_USE_UPSTREAM_SOURCES (default ON). The exact location in SVN still needs to be worked out, I tested with my local webserver and codewise it checks out. The path that is in there currently will not work (given there is no mirror there yet). To build this mirror our local package caches can be used. Reviewed By: lazydodo Differential Revision: https://developer.blender.org/D10598
2021-03-02CMake/deps: Append platform CFLAGS and LDFLAGS to Python build to ensure ↵Sebastián Barschkis
compatibility with minimum macOS version Similarly to other dependencies, the Python build should make use of the default CMake arguments. On macOS, for example, these arguments are required to set the deployment target correctly. See also: https://devtalk.blender.org/t/compiling-latest-branch-on-macos-fails-undefined-symbol/17649 Reviewed By: brecht, sybren Differential Revision: https://developer.blender.org/D10498
2021-02-26CMake/deps: Fix LLVM and OSL buildsSebastián Barschkis
This commit is addition to D10212. Apple arm64 support was left out in that patch.
2021-02-26CMake/Deps: Python 3.9.2Ray Molenkamp
Straight up minor version bump, no anomalies to report Reviewed By: sebbas, sybren Differential Revision: https://developer.blender.org/D10523
2021-02-24Cmake/deps: Update OSL to 1.11.10.0Ray Molenkamp
This bumps OSL to 1.11.10.0. OSL Has a new build time dependency: Clang, and more importantly it expects clang and llvm to share a library folder, which it previously for us did not. This patch changes: -OSL Update to 1.11.10.0 -refactor the llvm/clang/clang-tools-extra builds into the llvm build using the llvm-project tarball for building that has all of the subprojects in it. -update ispc/openmp builds since clang no longer its own dependency and they have to depend on the llvm build now. -Update the windows builder to use the 64 bit host tools since it ran out of ram linking clang -Since OSL now needs clang to link successfully a findclang.cmake has been provided for linux/OSX Differential Revision: https://developer.blender.org/D10212 Reviewed By: brecht, sebbas, sybren
2021-02-23Build Environment/macOS/Python: link against zlib staticallyAnkit Meel
rBc70eb30240f8b5d5a8f2ac509f0eb585936142b5 added patch to use static zlib on Linux. But also added flags to use the zlib in LIBDIR for Python on macOS. That causes some shared libraries (binascii for one) to link against libz.1.dylib which will not be there on users' systems. Reuse the said patch for macOS also to avoid rpath issues. Fix T85648. Reviewed By: #platform_macos, brecht Differential Revision: https://developer.blender.org/D10479
2021-02-21CMake/Deps: OpenEXR 2.5.5Ray Molenkamp
2021-02-19CMake/Deps: Mesa, harvest lib files from new locationSybren A. Stüvel
The upgraded Mesa (see D10282) stores library files in `mesa/lib64`.
2021-02-15macOS: add Embree, OpenImageDenoise and sse2neon libraries for ARMBrecht Van Lommel
This required using a fork of Embree, newer LLVM version, unreleased ISPC version and sse2neon directly from Git. Hopefully over time all the required changes end up in official releases. For now we deviate from other platforms. Based on contributions by Apple and Stefan Werner. Ref D9527, D8237, T78710
2021-02-15macOS Deps: NumPy: Remove buggy Accelerate frameworkAnkit Meel
Building NumPy from source with default options of builder causes it to link against Accelerate framework which is buggy and raises a warning mentioned in [2]. "RankWarning: Polyfit may be poorly conditioned" Accelerate is deprecated with NumPy 1.20+.[1] So either we build OpenBLAS in dependencies also and set appropriate env variables suggested in [1] while building NumPy for it to find OpenBLAS. Or download NumPy wheel from pip and never allow pip to build NumPy from source while installing. After this change, pip wheels are used for NumPy for macOS with x86_64. [1] https://numpy.org/doc/stable/user/building.html#lapack [2] https://github.com/numpy/numpy/issues/15947 Reviewed By: #platform_macos, sebbas Differential Revision: https://developer.blender.org/D10368
2021-02-15CMake/Deps: upgrade USD 20.05 → 21.02Sybren A. Stüvel
USD version 21.02 includes two of the changes Blender used to patch in, which have now been removed from `usd.diff`. Unfortunately 21.02 introduces another issue where LZ4 symbols are accidentally exported, causing linker errors. Fortunately these symbols are only used for resting, so I added a patch hunk that simply removes their `extern "C"` declaration. The LZ4 linker issue has been reported upstream at https://github.com/PixarAnimationStudios/USD/issues/1447. Reviewed By: sebbas, mont29 Differential Revision: https://developer.blender.org/D10367
2021-02-15CMake/Deps: OpenImageDenoise 1.2.3 → 1.3.0Sybren A. Stüvel
2021-02-15CMake/Deps: XR_OpenXR v1.0.14Ray molenkamp
Straight up version bump Things of note: They started using API calls only available in windows 8, however given the Python 3.9 update will forcibly bump us to 8.1+ anyhow this is not an issue. Will require some minor tweaks to platform_win32.cmake after adding the libs to svn which are not included in this diff so this diff can land without having to have the libs in place yet. Reviewed By: sebbas, sybren Differential Revision: https://developer.blender.org/D10349
2021-02-15CMake/Deps: OpenVDB 8.0.1Ray molenkamp
Straight forward version bump, some of the variables to detect a static OpenEXR changed and the folder structure seemingly changed a little requiring updates to the diff Reviewed By: sebbas, sybren Differential Revision: https://developer.blender.org/D10340
2021-02-15CMake/Deps: Alembic 1.7.16Sybren A. Stüvel
Version bump + no longer using Boost. Building Alembic with Boost gave compiler errors, and having one less inter-dependency is good as well. Reviewed By: sebbas, sybren Differential Revision: https://developer.blender.org/D10329
2021-02-15CMake/Deps: TBB 2020U2Ray molenkamp
Straight forward version bump. 2020U2 is significantly louder in the deprecated header usage warning department, we should probably see if we need to act on this: P1949 Differential Revision: https://developer.blender.org/D10359
2021-02-15CMake/Deps: Boost 1.73Ray molenkamp
Just a simple version bump. Maniphest Tasks: T85365 Differential Revision: https://developer.blender.org/D10314
2021-02-14cmake/deps: Update mesa to 20.3.4Campbell Barton
This resolves build error with Py3.9x, use meson build system since autoconf/automake are no longer supported. This adds ninja & meson as dependencies for Linux. Reviewed By: brecht, sybren Ref D10282
2021-02-13Build: fix macOS minimum version link warning with pystringBrecht Van Lommel
Patch OpenColorIO again to pass along build flags, and remove outdated patches which were no longer being used.
2021-02-12OpenColorIO: upgrade to version 2.0.0Brecht Van Lommel
Ref T84819 Build System ============ This is an API breaking new version, and the updated code only builds with OpenColorIO 2.0 and later. Adding backwards compatibility was too complicated. * Tinyxml was replaced with Expat, adding a new dependency. * Yaml-cpp is now built as a dependency on Unix, as was already done on Windows. * Removed currently unused LCMS code. * Pystring remains built as part of OCIO itself, since it has no good build system. * Linux and macOS check for the OpenColorIO verison, and disable it if too old. Ref D10270 Processors and Transforms ========================= CPU processors now need to be created to do CPU processing. These are cached internally, but the cache lookup is not fast enough to execute per pixel or texture sample, so for performance these are now also exposed in the C API. The C API for transforms will no longer be needed afer all changes, so remove it to simplify the API and fallback implementation. Ref D10271 Display Transforms ================== Needs a bit more manual work constructing the transform. LegacyViewingPipeline could also have been used, but isn't really any simpler and since it's legacy we better not rely on it. We moved more logic into the opencolorio module, to simplify the API. There is no need to wrap a dozen functions just to be able to do this in C rather than C++. It's also tightly coupled to the GPU shader logic, and so should be in the same module. Ref D10271 GPU Display Shader ================== To avoid baking exposure and gamma into the GLSL shader and requiring slow recompiles when tweaking, we manually apply them in the shader. This leads to some logic duplicaton between the CPU and GPU display processor, but it seems unavoidable. Caching was also changed. Previously this was done both on the imbuf and opencolorio module levels. Now it's all done in the opencolorio module by simply matching color space names. We no longer use cacheIDs from OpenColorIO since computing them is expensive, and they are unlikely to match now that more is baked into the shader code. Shaders can now use multiple 2D textures, 3D textures and uniforms, rather than a single 3D texture. So allocating and binding those adds some code. Color space conversions for blending with overlays is now hardcoded in the shader. This was using harcoded numbers anyway, if this every becomes a general OpenColorIO transform it can be changed, but for now there is no point to add code complexity. Ref D10273 CIE XYZ ======= We need standard CIE XYZ values for rendering effects like blackbody emission. The relation to the scene linear role is based on OpenColorIO configuration. In OpenColorIO 2.0 configs roles can no longer have the same name as color spaces, which means our XYZ role and colorspace in the configuration give an error. Instead use the new standard aces_interchange role, which relates scene linear to a known scene referred color space. Compatibility with the old XYZ role is preserved, if the configuration file has no conflicting names. Also includes a non-functional change to the configuraton file to use an XYZ-to-ACES matrix instead of REC709-to-ACES, makes debugging a little easier since the matrix is the same one we have in the code now and that is also found easily in the ACES specs. Ref D10274
2021-02-12CMake/Deps: fix build of nasm when asciidoc and xmlto are unavailableSybren A. Stüvel
Create zero-byte manual page files `nasm.1` and `ndisasm.1` such that nasm's `make install` step succeeds. Installing nasm requires that its manual pages are built. This requires local packages `asciidoc` and `xmlto` to be installed. Not only does `asciidoc` pull in 110 MB of packages (itself + dependencies), there is also no need for these manual pages. Nasm is just used for building other dependencies, and not even part of our precompiled libraries in SVN. Reviewed By: sebbas Differential Revision: https://developer.blender.org/D10396
2021-02-12Docs: add notes to 'make deps' & the sqlite build configurationCampbell Barton
- Move non-blender build targets into their own section. - Expand 'make help' text, noting a local 'make deps' overrides. - Note where the spell checkers word-list is maintained. - Note on why sqlite is built without 'tcl'.
2021-02-10CMake/Deps: Fix building cython on windowsRay Molenkamp
For the debug version of cython pip was trying to link against the release version of python for some strange reason. Passing some flags to explicitly target the debug version fixes the issue. Given other platforms do not have different builds for debug/release this is not an issue there.