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-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.
2021-02-10cmake/deps: update Python to 3.9.1Ray Molenkamp
The following packages also have received updates: - IDNA 2.10 - CHARDET 4.0.0 - URLLIB3 1.26.3 - CERTIFI 2020.12.5 - REQUESTS 2.25.1 - NUMPY 1.19.5 numpy has gained a hard dependency on cython: - CYTHON 0.29.21 Notes: - This only updates the build environment files, once these are built, Blender can default to Python 3.9. - The 'm' suffix for Python binaries/libs has been removed. - The macOS patch in Python 3.7 is has been removed. Reviewed By: sybren, campbellbarton, sebbas Ref D10257
2021-02-05Cleanup: cmake indentation, white-spaceCampbell Barton
2021-02-02Merge branch 'blender-v2.92-release'Campbell Barton
2021-02-02cmake/deps: remove 'tcl' language support from sqliteCampbell Barton
Build sqlite without `tcl` support, as it's causes an error on installation when `tcl` is installed into the systems `/usr/lib/` and install isn't running as root. This could be resolves by adding `tcl` as a dependency however it's not needed for Python's sqlite integration. Linux distributions (Debian & Arch at least) split this off into a separate package (which Python doesn't depend on), so there is no need for Blender to include sqlite's `tcl` integration either. Reviewed By: brecht, LazyDodo Ref D10281
2021-02-01CMake/Windows/macOS: Add LibharuAnkit Meel
Decision: https://lists.blender.org/pipermail/bf-committers/2020-December/050836.html Adds CMake dependency builder support. Tested on macOS and Windows (Thanks @LazyDodo). Reviewed By: #platform_macos, LazyDodo, sebbas Maniphest Task: T84836 Differential Revision: https://developer.blender.org/D9928
2020-12-04macOS deps: Support building clang tidyAnkit Meel
This patch builds clang-extra-tools on macOS for the clang-tidy binary. The script "run-clang-tidy.py" is also harvested because using the `CMAKE_C[XX]_CLANG_TIDY` option can miss out some files (like makesrna), and using the script is faster as it does not compile the files. Thanks to `@LazyDodo` for the base patch D8502. Reviewed By: LazyDodo, sebbas, #platform_macos Differential Revision: https://developer.blender.org/D9450
2020-11-30Deps: PugiXML 1.10Ray Molenkamp
This separates out PugiXML that was previously bundled by OIIO. As this linux/mac libs are not available this commit only contains the builder and windows changes, and the option to enable pugixml is guarded by a platform if, this can be removed once all platforms have committed the svn libs. For details see D8628
2020-11-26macOS: Added new location for Homebrew.Stefan Werner
The build script for macOS dependencies expects to find bison provided by Homebrew under /usr/local. Since the default install location for Homebrew changes on macOS/ARM, the script now looks at the host architecture and switches to /opt/homebrew on Macs with Apple Silicon.
2020-11-06Cleanup: use string APPEND/PREPENDCampbell Barton
Replace 'set' with 'string(APPEND/PREPEND ...)'. This avoids duplicating the variable name.
2020-10-29Simplify and enable NanoVDB dependency installationPatrick Mours
Changes NanoVDB to be a standalone dependency that is independent of the OpenVDB one. It works by downloading the "feature/nanovdb" branch of OpenVDB, but using the NanoVDB CMake in the "nanovdb" subdirectory. Since it is header-only, only the install target is used. Reviewed By: brecht Differential Revision: https://developer.blender.org/D9383
2020-10-20CMake/Windows: Compile GMP library as fat libraryRay Molenkamp
2020-10-20CMake: Compile GMP library as fat librarySergey Sharybin
The idea behind this is to compile all versions of functions, and let the library to pick the best at runtime. Attempting to fix T81835
2020-10-05Cycles: Add NanoVDB support for rendering volumesPatrick Mours
NanoVDB is a platform-independent sparse volume data structure that makes it possible to use OpenVDB volumes on the GPU. This patch uses it for volume rendering in Cycles, replacing the previous usage of dense 3D textures. Since it has a big impact on memory usage and performance and changes the OpenVDB branch used for the rest of Blender as well, this is not enabled by default yet, which will happen only after 2.82 was branched off. To enable it, build both dependencies and Blender itself with the "WITH_NANOVDB" CMake option. Reviewed By: brecht Differential Revision: https://developer.blender.org/D8794
2020-10-05Cleanup: remove arguments to ENDIF in CMake filesCampbell Barton
This is an old convention that hasn't been used by Blender or CMake distributed Find* files for a long time.
2020-09-21Make deps: Enable fPIC for LinuxSergey Sharybin
Similar to D8823.
2020-09-18deps: fix build issue on windows.Ray Molenkamp
Windows does not build libxml2 so the dependency recently added for mac caused a cmake error.
2020-09-18Fix T79929: crashes with Cycles denoising on older MacsBrecht Van Lommel
This was a bug in OpenImageDenoise, upgrade to latest 1.2.3 which has the fix. This in turn required a newer ispc version. Differential Revision: https://developer.blender.org/D8892
2020-09-17Make deps: Compile own nasm for LinuxSergey Sharybin
This solves annoyance that the official RPM repository of nasm requires newer version of rpm tool compared to what is shipped by default with centOS 7. Differential Revision: https://developer.blender.org/D8905
2020-09-15GMP/macOS: silence "PIE disabled" linker warning.Ankit
The change builds GMP with `--with-pic` flag on non-arm architecture. The warning: ld: warning: PIE disabled. Absolute addressing (perhaps -mdynamic-no-pic) not allowed in code signed PIE, but used in ___gmpn_divexact_1 from lib/darwin/gmp/lib/libgmp.a(dive_1.o). To fix this warning, don't compile with -mdynamic-no-pic or link with -Wl,-no_pie Reviewed By: sebbas Differential Revision: https://developer.blender.org/D8823
2020-09-15Deps: Add potrace as a new library dependencyRay Molenkamp
For work the GP team plans to land soon (T79877) potrace was taken on as an additional optional dependency. This diff adds building the library to the deps builder and takes care of the integration into the build-system with the `WITH_POTRACE` cmake switch. Differential Revision: https://developer.blender.org/D8662 Reviewed by: brecht, sergey
2020-09-15Cleanup: add missing headers to CMake, formattingCampbell Barton
2020-09-14Make deps: Updated required list of dependencies for macOSSebastián Barschkis
It was possible to drop `nasm` from the list of required macOS dependencies. However, `pkg-config` had to be added - it was required before but probably no one noticed this. In order to build `external_clang` successfully, `external_xml2` had to be added to the clang dependencies (`c-index-test` was failing). Note: On Linux `make deps` still seems to require `nasm` installed via apt. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8870
2020-09-03Make deps: Disabled assembly for GMP on Apple/arm64.Stefan Werner
This appears to be a configuration for which GMP has no assembly, yet the default configure script tries to build it.
2020-08-27Cleanup: Fix white space in versions.cmakeRay Molenkamp
2020-08-18Build deps: Enable SSE optimization for FFmpegSergey Sharybin
The description is self-explanatory: enable SSE optimizations in the FFmpeg library. They were disabled from the very beginning of the dependency builder, possibly due to portability concerns. FFmpeg does perform runtime check for available CPU microarchitectures, so the codecs will still run on older hardware, but they will run way faster on newer hardware. For example, re-encoding 3405 2560x1376 frames on Xeon E5-2699 V4 CPU went down from 313sec to 210. Differential Revision: https://developer.blender.org/D8594
2020-08-15deps_builder: Fix boost::python linking release python libraryRay Molenkamp
By default boost::python in debug configuration links the release python libraries. Which leads to loading issues with the produced modules in a debug blender (which does use the debug python libs) Bjam has an option to switch this to the debug libraries but when you switch that on it changes the library names for *all* boost libraries, even ones that don't have anything to do with python and even the release libraries. therefore an alternative way has been chosen and we're dealing with this by adding a define rather than asking bjam to do it.
2020-08-13Deps_builder: Update openvdb to a dynamic libraryRay Molenkamp
This patch changes openvdb from a static to a dynamic library. this is in preparation for enabling pyopenvdb at some point in the future. Differential Revision: https://developer.blender.org/D8282 Reviewed by: brecht
2020-08-12deps_builder: Optionally build boost::pythonRay Molenkamp
This this adds the option of building boost::python in the libs builder, in preparation for future dependencies that require it (ie pyopenvdb) disabled by default, can be enabled with the `WITH_BOOST_PYTHON` cmake option. Differential Revision: https://developer.blender.org/D8212 Reviewed by: brecht
2020-08-12deps_builder: Fix python build on windowsRay Molenkamp
Issue introduced in the boost.cmake cleanup in rB5c563cd903ddceebfffbb1e86af2b406bbb2c457
2020-08-12deps_builder: Cleanup options.cmake for windowsRay Molenkamp
We no longer build the thumbnail dll in the builder and these variables are no longer used.
2020-08-12deps_builder: Cleanup boost.cmake on windowsRay Molenkamp
There were some remnants from previous boost::python support and support for building 32 bit libs on windows, neither are needed currently.
2020-08-03Cleanup: remove trailing space, newlines at eofCampbell Barton
2020-07-31Deps builder: Add support for building GMPRay Molenkamp
Required for the new boolean code, disabled by default until all platforms have landed the libs and the boolean code actually lands in master. Reviewed By: brecht Differential Revision: https://developer.blender.org/D8384
2020-07-16deps builder: Fix typo in windows harvestingRay Molenkamp
2020-07-16macOS: Support arm64 architecture.Stefan Werner
Enabling all `make deps` dependencies with the exception of Embree and OIDN. After that, Blender can be compiled on an Apple Silicon Mac just like on any Intel based Mac. There are still compiler warnings that need to be investigated and there are probably a couple of bug still to be discovered and to be fixed. Most patches to the dependencies are simple and are about disabling SSE and setting the proper architecture to compiile for. Notable exception is Python, where I back ported a yet to be accepted PR for upstream Python: https://github.com/python/cpython/pull/21249 Cross compiling or buliding a Universal Binary is not supported yet. The minimum macOS target version for x86_64 remains at 10.13, the target for arm64 is 11.00. Differential Revision: https://developer.blender.org/D8236
2020-07-09Make deps: Fix compilation error on CentOSSergey Sharybin
There were two issues. First is related on ISPC's CMake configuration forcing C and C++ compilers to be clang and clang++. This goes against of desired behavior when we use our own compiled clang compilers. The second issue was related on linker failure: CLang libraries are linked statically, and they need some of C++ 11 STL symbols which are coming from libstdc++. Differential Revision: https://developer.blender.org/D8258
2020-07-08macOS: upgrade minimum required version to 10.13 High SierraBrecht Van Lommel
C++17 does not work on 10.12, and Apple extended support ended for 10.12 in October 2019. Maniphest Tasks: T76783, T76184 Differential Revision: https://developer.blender.org/D8179
2020-07-07Make deps: Use own nasm for ffmpeg and x264Sergey Sharybin
Fixes the warning: building for macOS, but linking in object file Differential Revision: https://developer.blender.org/D8235
2020-07-07Make deps: Compile own version of nasm for AppleSergey Sharybin
The upstream version of nasm does not put version information to the generated object files, which makes linker to show the following warning: building for macOS, but linking in object file Using own patched version of nasm which puts required information to the object file, making linker happy. The plan is to either streamline the patch and provide it to the upstream, or, it that takes too long, get an independent fix from the upstream.
2020-07-07Mae deps: Ensure Brotli is disabled for FreeTypeSergey Sharybin
We don't need it and it was optionally enabled, causing Blender to fail to link on certain configuration (when Brotli is installed via Homebrew for example).
2020-07-07Make deps: Fix compilation error of Python on macOSSergey Sharybin
The configuration was confused about gettext installed via Homebrew and isysroot passed to Python's compilation but not to test programs. After this change `import gettext` still works, but it is unclear how to test it further, Differential Revision: https://developer.blender.org/D8231