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-03-11Windows: Clean-up warnings originating from bulletRay Molenkamp
Bullet currently generates the majority of the warnings on windows all of them are silly. This patch disables all warns from bullet for now. We should revisit this if/when we update bullet to a newer version. Reviewed By: sergey brecht Differential Revision: https://developer.blender.org/D7118
2020-03-11Windows: Cleanup warning about non returning dtorRay Molenkamp
`google::LogMessageFatal::~LogMessageFatal` calls `abort` which MSVC correctly identifies as 'not returning' and warns about a potential memory leak. Given this is intended behaviour and glog is not overly concerned with shutting down the process nicely, we can safely ignore this warning.
2020-03-07Fluid: Optimization for smoke simulation (multigrid)Sebastián Barschkis
The solver will now automatically detect static scenes (no moving obstacles) and use a slightly faster pressure solve in those cases.
2020-03-01Build: show draco library under extern folder in Visual StudioPhillip Thomas
And other code tweaks to make this library more consistent with others. Differential Revision: https://developer.blender.org/D6864
2020-02-28Fluid: Updated Manta pp filesSebastián Barschkis
Updates include: - std::move() cleanup in rcmatrix.h - Enabled parallelization for fluid guiding (fairly noticeable speed improvement). - More flexible flags setter function with control over boundary width.
2020-02-26Fix OpenVDB link error on Windows after recent changesBrecht Van Lommel
2020-02-26Cleanup: deduplicate OpenVDB library definitions/include/libs logicBrecht Van Lommel
This will more important when we start using OpenVDB in more modules.
2020-02-21Audaspace: Various fixesSergey Sharybin
- Fixed uninitialized result used in DynamicMusic::seek(). The comment to this function says false is returned if the handle is invalid, while in practice non-initialized value will be returned. - Spelling typos in comment. - Silence -Wdelete-non-abstract-non-virtual-dtor warning. Differential Revision: https://developer.blender.org/D6896
2020-02-21Fluid: Updated manta pp filesSebastián Barschkis
Updates include: - A fix from Jacques that changed the loop order in the mesh creation function (the fix speeds up the function significantly due to fewer cache misses). - Some of the grid copy helper functions are now multithreaded. - A fix for Windows file IO. Now it possible to load files with non ASCII characters on Windows too.
2020-02-19Fluid: Temporary fix for gzopen on windowsSebastián Barschkis
Needs more consideration. This fixes compilation for now.
2020-02-19Fluid: Updated manta pp filesSebastián Barschkis
Updates in the files include: - New manta files now use an platform independent gzopen function - Adjusted argument name for vorticity
2020-02-19Fluid: Updated Manta updater scriptSebastián Barschkis
Minor adjustments for the build directory location.
2020-02-17Cycles: Add support for adaptive kernel compilation to OptiX devicePatrick Mours
This modifies the common CUDA implementation for adaptive kernel compilation slightly to support both CUBIN and PTX output (the latter which is then used in the OptiX device). It also fixes adaptive kernel compilation on Windows. Reviewed By: brecht Differential Revision: https://developer.blender.org/D6851
2020-02-14Cleanup/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 Second landing of this patch, earlier commit was reverted due to some compiler configurations having slipped though testing [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-13Revert "Cleanup/MSVC: Enable C++ conformance mode on compiler versions that ↵Ray Molenkamp
support it." It is breaking compilation on some configurations, revert for now while i see what is wrong. This reverts commit 9fe469c110940af5d2525158305d5d365bd15276.
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