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
path: root/extern
AgeCommit message (Collapse)Author
2020-02-12Cleanup/MSVC: Enable C++ conformance mode on compiler versions that support it.Ray Molenkamp
MSVC has a conformance mode (/permissive-) where the C++ standard is more strictly enforced. This mode is available on MSVC 15.5+ [1] This patch enables this mode on compilers that support it and cleans up the few violations it threw up in the process. - Mantaflow was using M_PI without requesting them using the _USE_MATH_DEFINES define to opt in to non default behaviour. - Collada did not include the right header for std::cerr, this seemingly was fixed for other platforms already but put inside a platform guard. - Ghost had some scoping issues regarding uninitialized variables and goto behaviour [1] https://docs.microsoft.com/en-us/cpp/build/reference/permissive-standards-conformance Differential Revision: https://developer.blender.org/D6824 Reviewed By: brecht
2020-02-09Merge branch 'blender-v2.82-release'Sebastián Barschkis
2020-02-09Fluid: Updated manta pp filesSebastián Barschkis
Includes the OpenVDB read/write functions for int grids. This essential for the resume bake functionality in modular fluid caches.
2020-02-07Build optimization: Compile glew for size rather than speed with msvc.Ray Molenkamp
Glew.obj is one of the more expensive targets we have to build clocking in at 34.907 seconds. The root cause [1] is the msvc inliner is not super thrilled with the glewIsSupported supported function, this patch changes the buildflags of extern_glew to optimize for size rather than speed. Given glew is only in play at initalization time there will be no performance impact. Time to build glew.obj Before: 34.907s After : 1.961s [1] https://developercommunity.visualstudio.com/content/problem/732941/slow-compilation-of-glewc-for-visual-studio-2019-x.html Differential Revision: https://developer.blender.org/D6656 Reviewers: brecht, sergey, fclem
2020-01-30Fluid: Updated Manta pp filesSebastián Barschkis
Includes latest changes from the upstream manta repository.
2020-01-27Cleanup: fix compiler warningsBrecht Van Lommel
2020-01-23Fix T72789: Mantaflow cache doesn't work with non-latin cache directorySebastián Barschkis
Root of the problem was that Manta's Python API was converting to and from Latin1 instead of UTF8.
2020-01-23CMake: Refactor external dependencies handlingSergey Sharybin
This is a more correct fix to the issue Brecht was fixing in D6600. While the fix in that patch worked fine for linking it broke ASAN runtime under some circumstances. For example, `make full debug developer` would compile, but trying to start blender will cause assert failure in ASAN (related on check that ASAN is not running already). Top-level idea: leave it to CMake to keep track of dependency graph. The root of the issue comes to the fact that target like "blender" is configured to use a lot of static libraries coming from Blender sources and to use external static libraries. There is nothing which ensures order between blender's and external libraries. Only order of blender libraries is guaranteed. It was possible that due to a cycle or other circumstances some of blender libraries would have been passed to linker after libraries it uses, causing linker errors. For example, this order will likely fail: libbf_blenfont.a libfreetype6.a libbf_blenfont.a This change makes it so blender libraries are explicitly provided their dependencies to an external libraries, which allows CMake to ensure they are always linked against them. General rule here: if bf_foo depends on an external library it is to be provided to LIBS for bf_foo. For example, if bf_blenkernel depends on opensubdiv then LIBS in blenkernel's CMakeLists.txt is to include OPENSUBDIB_LIBRARIES. The change is made based on searching for used include folders such as OPENSUBDIV_INCLUDE_DIRS and adding corresponding libraries to LIBS ion that CMakeLists.txt. Transitive dependencies are not simplified by this approach, but I am not aware of any downside of this: CMake should be smart enough to simplify them on its side. And even if not, this shouldn't affect linking time. Benefit of not relying on transitive dependencies is that build system is more robust towards future changes. For example, if bf_intern_opensubiv is no longer depends on OPENSUBDIV_LIBRARIES and all such code is moved to bf_blenkernel this will not break linking. The not-so-trivial part is change to blender_add_lib (and its version in Cycles). The complexity is caused by libraries being provided as a single list argument which doesn't allow to use different release and debug libraries on Windows. The idea is: - Have every library prefixed as "optimized" or "debug" if separation is needed (non-prefixed libraries will be considered "generic"). - Loop through libraries passed to function and do simple parsing which will look for "optimized" and "debug" words and specify following library to corresponding category. This isn't something particularly great. Alternative would be to use target_link_libraries() directly, which sounds like more code but which is more explicit and allows to have more flexibility and control comparing to wrapper approach. Tested the following configurations on Linux, macOS and Windows: - make full debug developer - make full release developer - make lite debug developer - make lite release developer NOTE: Linux libraries needs to be compiled with D6641 applied, otherwise, depending on configuration, it's possible to run into duplicated zlib symbols error. Differential Revision: https://developer.blender.org/D6642
2020-01-20Fix failing cycles_render_graph_finalize_test when building with clangRay Molenkamp
The gflags library was not fully configured to be built as a static library, only one of two files was changed. Differential Revision: https://developer.blender.org/D6611
2020-01-20Build: upgrade to OpenEXR 2.4.0, OpenVDB 7.0.0 and Boost 1.70.0Brecht Van Lommel
This aligns with the VFX reference platform 2020 along with the decision to stick to Python 3.7, see T68774. Blosc was downgraded to 1.5 as recommended by the OpenVDB documentation. IlmBase and OpenEXR are now built together with CMake rather separately using autoconf. Differential Revision: https://developer.blender.org/D6593
2020-01-15Fluid: Moved grid reset loop for inner obstacle cells from blenkernel code ↵Sebastián Barschkis
into Mantaflow Having this loop in directly Manta is faster and potentially fixes issues T72783 and T72894.
2020-01-15Fluid: Updated Mantaflow source filesSebastián Barschkis
The memory leak described in T72498 has been fixed in Mantaflow, the updated files should reflect this in Blender.
2020-01-09Fluid: Fix broken motion blur for liquidsSebastián Barschkis
Added missing resize for vector that holds vert velocities
2019-12-24Fix T72402: Decimate f-curves fails with co-linear key-framesCampbell Barton
2019-12-20Fix: Build error with clang on windows.Ray Molenkamp
A bug in llvm < 9.0.1 causes the compiler to crash when openmp is enabled. Since mantaflow uses tbb we can safely disable this flag temporarily for this module. Reviewed By: sebbas Differential Revision: https://developer.blender.org/D6446
2019-12-16Mantaflow [Part 6]: Updates in /blender/sourceSebastián Barschkis
A collection of smaller changes that are required in the /blender/source files. A lot of them are also due to variable renaming. Reviewed By: sergey Maniphest Tasks: T59995 Differential Revision: https://developer.blender.org/D3855
2019-12-16Mantaflow [Part 1]: Added preprocessed Mantaflow source filesSebastián Barschkis
Includes preprocessed Mantaflow source files for both OpenMP and TBB (if OpenMP is not present, TBB files will be used instead). These files come directly from the Mantaflow repository. Future updates to the core fluid solver will take place by updating the files. Reviewed By: sergey, mont29 Maniphest Tasks: T59995 Differential Revision: https://developer.blender.org/D3850
2019-12-16Cleanup: whitespaceCampbell Barton
2019-12-05glTF: upgrade Draco to version 1.3.5 and add mesh skinning supportJim Eckerlein
This will fix exporting meshes with armatures using Draco compression, like: https://github.com/KhronosGroup/glTF-Blender-IO/issues/617 Differential Revision: https://developer.blender.org/D6342
2019-11-25Cleanup: remove unused CMake WITH_MOD_CLOTH_ELTOPO optionCampbell Barton
2019-11-22Fix T71273: Bad encoding of utf-8 for Text objectsmano-wii
`BLI_strncpy_wchar_from_utf8` internally assumes `wchar_t` is 32 bits which is not the case on windows. The solution is to replace `wchar_t` with `char32_t`. Thanks to @robbott for compatibility on macOS. Differential Revision: https://developer.blender.org/D6198
2019-11-22Fix T71621: VSE crashes when playing last frame of audioJoerg Mueller
Porting bug fix from audaspace upstream.
2019-11-21Fix T71621: VSE crashes when playing last frame of audioSybren A. Stüvel
Due to some floating point errors the last frame of a VSE audio strip can cause integer overflow and crash Blender. This overflow was caused by a cast from `int64_t` to `int` without prior check. The crash is fixed by keeping the variable as `int64_t` for as long as possible.
2019-11-17Fix: Build error with msvcRay Molenkamp
std::min requires the algorithm header
2019-11-17Fix T71322: Crash in Audaspace with some video fileJörg Müller
Getting upstream audaspace fixes for audio files with more than 8 channels.
2019-11-05Fix bug in Draco encoding for glTF, files are now smallerJim Eckerlein
Data was not quantified properly. It also lets the library choose the suitable encoding method rather than forcing it to use the edgebreaker method. Differential Revision: https://developer.blender.org/D6183
2019-10-28CMake: add missing headers, use space before commentsCampbell Barton
2019-10-21Cleanup: styleCampbell Barton
2019-10-09CUDA Wrangler: Fix strict compiler warningSergey Sharybin
Namely addresses -Wstringop-truncation Not sure if there is anything to be done for strncpy. Differential Revision: https://developer.blender.org/D6006
2019-10-03CMake: quiet warning in quad reflowCampbell Barton
2019-10-03Fix T68945: VSE - Improper audio on frame 1Jörg Müller
This has already been fixed in 8d207cdc3b307fa20bc5b29059c596306aa2a65c as fix for T52472: VSE Audio Volume not set immediately, but I failed to backport it to upstream audaspace which is the reason the problem was back.
2019-10-02Fix building QuadriFlow with Clang on WindowsRay Molenkamp
Boost 1.68 has a bug in its type_traits where it does not include the right header for the is_assignable macro when building with Clang. Temporarily work around it until we upgrade to a newer Boost version that fixes it. Differential Revision: https://developer.blender.org/D5962
2019-09-25Removed auto generated config.h file from quadriflowSebastian Parborg
The config.h file is autogenerated during compile by a 3rd party library quadriflow uses. Now we put this file in the build directory to avoid adding this to the git repository in the future.
2019-09-19Fix QuadriFlow build error on FreeBSD and compiler warnings on LinuxBrecht Van Lommel
2019-09-13Add QuadriFlow remesherSebastian Parborg
2019-08-26Cleanp: fix compiler warningsBrecht Van Lommel
2019-08-21Update Eigen to 3.3.7Sebastian Parborg
This is in preparation for the QuadriFlow remesher lib. Reviewed By: Brecht Differential Revision: http://developer.blender.org/D5549
2019-08-21Update CUEW to latest versionBrecht Van Lommel
2019-08-12Fix Bullet build error with Clang 8 and Xcode 11Brecht Van Lommel
See D5366 and upstream: https://github.com/bulletphysics/bullet3/commit/7f6c479ea6
2019-05-22Fix T64480: Tweak needed to Audaspace CMake optionsJörg Müller
The issue was that Audaspace options ended up in the cmake cache though they should not be there. Also reverting indentation change by @ideasman42. Thanks to @mont29 for reporting and helping with the fix.
2019-05-11Audaspace: porting changes from upstream.Jörg Müller
- Silence now has an optional sample rate parameter. - Fix: wrong length reported by modulator and superpose. - Minor formatting, include and documentation fixes.
2019-04-26Cleanup: clang-formatCampbell Barton
2019-04-18CMake: correct bad change to ceres linkingCampbell Barton
Revert part of 45055199a2e51
2019-04-17Cleanup: use 2 space indentation for CMakeCampbell Barton
2019-04-17ClangFormat: add configuration filesCampbell Barton
Prepare for applying clang-format, see: T53211
2019-04-16CMake: fix building without libmvCampbell Barton
2019-04-16CMake: add library deps to CMakeLists.txtCampbell Barton
Tested to work on Linux and macOS. This will be enabled once all platforms are verified. See D4684
2019-04-16CMake: cleanup, arg rename, add definitions lastCampbell Barton
2019-04-14CMake: prepare for BLENDER_SORTED_LIBS removalCampbell Barton
No functional change, this adds LIB definition and args to cmake files. Without this it's difficult to migrate away from 'BLENDER_SORTED_LIBS' since there are many platforms/configurations that could break when changing linking order. Manually add and enable WITHOUT_SORTED_LIBS to try building without sorted libs (currently fails since all variables are empty). This check will eventually be removed. See T46725.
2019-04-11curve_fit_nd: fix assert caused by too small epsilonCampbell Barton
Curve decimate would assert in some cases.