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
2020-10-09Cleanup: alias: use const, remove unused variable.Ankit Meel
`targetIsDirectory` slipped through the code review of {D6679}/{rBafb1a64ccb81}. `BLI_is_dir` exists to check for directory status of a file. Remove some `else-after-return`s. Use `r_` prefix for return value arguments, and move it to the end in the list of arguments.
2020-10-09Fix New Boolean bug that left some stray vertices.Howard Trickey
The routine to find dissolvable vertices had a check to ensure that the vertex was exactly in line with the two neighbors. I have convinced myself that this check is unneccesary (it was failing with only a 1e-9 difference from 0 on a cross check), so have removed it.
2020-10-09BKE: parallelize BKE_mesh_calc_edgesJacques Lucke
`BKE_mesh_calc_edges` was the main performance bottleneck in D9141. While openvdb only needed ~115ms, calculating the edges afterwards took ~960ms. Now with some parallelization this is reduced to ~210ms. Parallelizing `BKE_mesh_calc_edges` is not entirely trivial, because it has to perform deduplication and some other things that have to happen in a certain order. Even though the multithreading improves performance with more threads, there are diminishing returns when too many threads are used in this function. The speedup is mainly achieved by having multiple hash tables that are filled in parallel. The distribution of the edges to hash tables is based on a hash (that is different from the hash used in the actual hash tables). I moved the function to C++, because that made it easier for me to optimize it. Furthermore, I added `BLI_task.hh` which contains some light tbb wrappers for parallelization. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D9151
2020-10-08T81340: UBSan: load of value .. not valid for GPU enum typeAnkit Meel
The underlying type of the enum cannot be fixed here due to its usage in C code. All the values possible in the width of the underlying type are not valid for an enum. Only 0 to (2*max - 1) if all enumerators are unsigned. So the macro asks for the biggest value among the //listed// ones. If any enumerator C is set to say `A|B`, then C would be the maximum. (2*max-1) is used as the mask. The warnings (for each enum modified in this commit): GPU_vertex_buffer.h:43:1: runtime error: load of value 4294967291 which is not a valid value for type 'GPUVertBufStatus' https://github.com/llvm/llvm-project/commit/1c2c9867 Ref T81340 Reviewed By: fclem Differential Revision: https://developer.blender.org/D9067
2020-10-06BLI: escape double quotes in dot exportJacques Lucke
2020-10-03Cleanup: Remove/replace C standard library assert() and header usagesJulian Eisel
We have our own assert implementation, `BLI_assert()` that is prefered over the C standard library one. Its output is more consistent across compilers and makes termination on assert failure optional (through `WITH_ASSERT_ABORT`). In many places we'd include the C library header without ever accessing it.
2020-10-02Cleanup: trailing spaceCampbell Barton
2020-09-30Cleanup: convert gforge task ID's to phabricator formatValentin
Cleanup old tracker task format to the new. e.g: [#34039] to T34039 Ref D8718
2020-09-30Cleanup: use angle-brackets for email addressesCampbell Barton
This is already the most widely used convention. Use this so `make check_spelling_c` will ignore all email addresses.
2020-09-30Cleanup: sort cmake file listsCampbell Barton
2020-09-22Fix T80444: Triangle-Triangle intersection regression in 2.90Germano Cavalcante
The problem is due to lack of precision with small and coplanar triangles. Also, triangles that have vertices with the same coordinate are at the threshold of the intersection. We could add an epsilon to consider the minimum distance for intersection. But that would add a lot of overhead to the code. The solution used is to increase precision using doubles.
2020-09-21Fix T80899: Crash on editing multiple UVs of multiple different objects at ↵Sebastian Parborg
the same time The issue was two fold. First something sets the loop element tag and doesn't clear it before the UV code in question tries to use the tags. Added a sanity clear to make sure that it operates on a clean tag state. The next one was that the UV maps in question had quite a few points that had zero length UV loop edges. This would lead to division by zero. Reviewed By: Jeroen Bakker, Brecht Differential Revision: http://developer.blender.org/D8967
2020-09-20Fix (unreported) wrong definition of `ssize_t` for windows.Bastien Montagne
Since at least MSVC2010 there is a `SSIZE_T` available for windows, use it to typedef `ssize_t` on this platform.
2020-09-20Fix a wrong return type (float instead of double) in double2.hhHoward Trickey
2020-09-19Cleanup: use parenthesis for if statements in macrosCampbell Barton
2020-09-18Cleanup: remove unused global locks from BLI_threadsCampbell Barton
2020-09-17Tests: bundle tests for some modules in their own executablesBrecht Van Lommel
The ffmpeg, guardedalloc and blenlib are quite isolated and putting them in their own executable separate from blender_test is faster for development than linking the entire blender_tests executable. For Cycles, this also bundles all the unit tests into one executable. Ref T79958 Differential Revision: https://developer.blender.org/D8714
2020-09-17CMake: clean up setting of platform specific linker flagsBrecht Van Lommel
Set flags directly on the target, and use common function for all cases. This refactoring helps with the next commit for test executables. Ref D8714
2020-09-16Fix (unreported) buffer overflow in BLI_system_cpu_brand_string helper.Bastien Montagne
Since this buffer is used as an array of 12 32bits integers, and C++ string expect a NULL-terminated C-string, we need an extra char to ensure last one is always NULL. See D8906. Thanks to @brecht for noting this one too.
2020-09-13Apply patch D8816, from Zachary(AFWS) for collection boolean operand.Howard Trickey
Also added code so that exact solver does the whole collection at once. This patch allows users to use a collection (as an alternative to Object) for the boolean modifier operand, and therefore get rid of a long modifier stack.
2020-09-12BLI: Fix bitscan_forward_uint64 unix implementationClément Foucault
2020-09-12Cleanup: missing-variable-declarations warningCampbell Barton
2020-09-11Cleanup: make formatJacques Lucke
2020-09-11Cleanup: spelling, correct commentsCampbell Barton
2020-09-10Cleanup: Fix bad spelling in previous commit.Ray Molenkamp
Thanks for @deadpin for noticing!
2020-09-10Cleanup: Update doc string for BLI_getenvRay Molenkamp
The reason for this functions existence was poorly documented
2020-09-10Cleanup: spellingCampbell Barton
2020-09-09BLI: new string search api that supports fuzzy and prefix matchingJacques Lucke
This adds a generic string search library in `BLI_string_search.h`. The library has a simple to use C api that allows it's users to filter and sort a set of possible search results based on some query string. Reviewers: Severin Differential Revision: https://developer.blender.org/D8825
2020-09-09Fix T80604: BLI_polyfill_calc exceeds stack size allocating pointsCampbell Barton
On systems with 512kb stack this happened at around 13k points. This happened at times with grease-pencil, although callers that frequently use complex polygons should be using BLI_polyfill_calc_arena.
2020-09-07BLI: improve exception safety of VectorSetJacques Lucke
For more information see rB2aff45146f1464ba8899368ad004522cb6a1a98c.
2020-09-07BLI: add comparison operators for StringRefJacques Lucke
The semantic of those is the same as for std::string_view.
2020-09-07Cleanup: include missing header files in CMakeCampbell Barton
2020-09-07Cleanup: Fix clang-tidy warning in the new boolean codeSebastian Parborg
No functional changes.
2020-09-07Cleanup: spellingCampbell Barton
Also correct wrapped lines of example code in threads.cc.
2020-09-05Fix T75827, boolean of non-manifold objects leaves stray edges.Howard Trickey
Well, this only fixes the example if one uses the new Exact mode, but since that is available, seems fair to call this fixed. Since these were not closed-volume operands, the Exact mode needed some adjustment to the threshold used for "inside-outside" tests for the case of deciding if the cutter is inside the other shape for a Difference.
2020-09-05Cleanup: spellingCampbell Barton
2020-09-05Math Utils: Add bitscan 64bit versionClément Foucault
2020-09-05BLI: Math: Add equals_v3v3_intClément Foucault
2020-09-05New boolean: Fix second example in T79404.Howard Trickey
The code to detect non-trivial coplanar intersection sometimes falsely said there wasn't one. This caused some coplanar intersections to be missed. Also added a test for this case.
2020-09-04Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fixSebastian Parborg
No functional changes
2020-09-04Cleanup: fix compiler warnings for MSVCBrecht Van Lommel
2020-09-04Cleanup: more Clang-Tidy readability-const-return-type fixesSybren A. Stüvel
Building with `WITH_GMP=ON` revealed more const-return-type issues. No functional changes.
2020-09-04Fix T78084: Search does not accept text fragments everywherePhilipp Oeser
This was reported for the "Add Node" search functionality, but is relevant in other searches as well. So e.g. when searching for "Separate XYZ", typing "sep", then " " (with the intention to type "X" next) would clear the search field. Now use the same method (matching against all search words) as in F3 searching ('menu_search_update_fn') in other searches as well [searching IDs, property objects, finding nodes,...] This should give a much nicer search experience in general. Note: this does not touch other searches in the Dopesheet, Outliner, Filebrowser or User Preferences that have other search implementations. Maniphest Tasks: T78084 Differential Revision: https://developer.blender.org/D8232
2020-09-03Fix clang tidy errors in testsJacques Lucke
2020-09-03BLI: add index_range method for StringRefJacques Lucke
2020-09-02Cleanup: Correction to previous cleanup commitJulian Eisel
I somehow undid these changes again before committing, sorry for the noise...
2020-09-02Cleanup: Correct argument names in commentJulian Eisel
Names were changed in 66b12ef4ab94, but the comment wasn't updated.
2020-09-02Make rigidbody simulation handle animated objects gracefullySebastian Parborg
The animated objects was not updated for each internal substep for the rigidbody sim. This would lead to unstable simulations or very annoying clipping artifacts. Updated the code to use explicit substeps and tie it to the scene frame rate. Fix T47402: Properly updating the animated objects fixes the reported issue. Reviewed By: Brecht, Jacques Differential Revision: http://developer.blender.org/D8762
2020-09-02Cleanup: spellingCampbell Barton
2020-09-01Fix compilation error with -Werror=array-boundsJacques Lucke
This error happened only with O2 or O3 in my tests. Casting to uintptr_t and back seems to quiet the compiler.