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-03-24Cleanup: clang-tidy errors.Jeroen Bakker
2021-03-24Cleanup: remove stdio.h header from MEM_guardedalloc.hCampbell Barton
This was included for `FILE *` which isn't used in the header. Ref D10799
2021-03-18Cleanup: spellingCampbell Barton
2021-03-14CMake/guardedalloc: add header file to TEST_SRCAnkit Meel
2021-01-20Cleanup: remove extra in trailing asteriskCampbell Barton
Comment blocks not conforming to convention.
2021-01-15Use mmap() IO for reading uncompressed .blendsLukas Stockner
Instead of submitting tons of tiny IO syscalls, we can speed things up significantly by `mmap`ing the .blend file into virtual memory and directly accessing it. In my local testing, this speeds up loading the Dweebs file with all its linked files from 19sec to 10sec (on Linux). As far as I can see, this should be supported on Linux, OSX and BSD. For Windows, a second code path uses `CreateFileMapping` and `MapViewOfFile` to achieve the same result. Reviewed By: mont29, brecht Differential Revision: https://developer.blender.org/D8246
2021-01-05Cleanup: remove UNUSED(..) from public function declarationsCampbell Barton
This doesn't serve any purpose and can become out of sync with the function it's self without reporting warnings.
2020-11-20Cleanup: spellingCampbell Barton
2020-11-19Guarded allocator: Fix lock-free allocator testsSergey Sharybin
Previously the lock-free tests were actually testing guarded allocator because the main entry point of tests was switching allocator to the guarded one. There seems to be no allocations happening between the initialization sequence and the fixture's SetUp(), so easiest seems to be just to switch to lockfree implementation in the fixture's SetUp(). The test are passing locally, so the "should work" has high chance of actually being truth :) Differential Revision: https://developer.blender.org/D9584
2020-11-19Guarded allocator: Add safety around type changeSergey Sharybin
While it might not cover all possible abuse of API, it does provide basic checks against most obvious usage mistakes.
2020-11-19Guarded allocator: Add explicit switch to the lockfree implementationSergey Sharybin
Previously the only way to use lockfree implementation was to start executable and never switch to guarded allocator. Surely, it is not possible to switch implementation once any allocation did happen, but some tests are desired to test lock-free implementation of the allocator. Those tests did not operate properly because the main entry point of tests are forcing guarded allocator to help catching bugs. This change makes it possible for those tests to ensure they do operate on lock-free implementation. There is no functional changes here, preparing boilerplate for an upcoming work on the allocator tests themselves.
2020-11-10Animation: Expand unit tests for `BKE_fcurve_active_keyframe_index()`Sybren A. Stüvel
Expand unit test for `BKE_fcurve_active_keyframe_index()` to test edge cases better. This also introduces a new test macro `EXPECT_BLI_ASSERT()`, which can be used to test that an assertion fails successfully. No functional changes to actual Blender code.
2020-10-01Cleanup: avoid member access within null pointerAnkit Meel
While harmless, UBSan warns about this. Prefer offsetof where possible since it's more readable.
2020-09-19Cleanup: use parenthesis for if statements in macrosCampbell 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-15Fix T80774: (correction) keep MEM_init_memleak_detection call earlyCampbell Barton
2020-09-08Cleanup: consistent syntax for doxygen parametersCampbell Barton
Also use back-slash instead of '@'.
2020-08-27Clang Tidy: Fix warningHans Goudey
Fix readability-static-definition-in-anonymous-namespace in new code
2020-08-26Tests: fail automated tests on memory leaks and other internal errorsJacques Lucke
This adds a new `--debug-exit-on-error` flag. When it is set, Blender will abort with a non-zero exit code when there are internal errors. Currently, "internal errors" includes memory leaks detected by guardedalloc and error/fatal log entries in clog. The new flag is passed to Blender in various places where automated tests are run. Furthermore, the `--debug-memory` flag is used in tests, because that makes the verbose output more useful, when dealing with memory leaks. Reviewers: brecht, sergey Differential Revision: https://developer.blender.org/D8665
2020-08-12Cleanup: compiler warningsBrecht Van Lommel
2020-08-11Cleanup: GCC warning in guardedalloc_overflow_testCampbell Barton
2020-08-10Tests: move remaining gtests into their own module foldersBrecht Van Lommel
And make them part of the blender_test runner. The one exception is blenlib performance tests, which we don't want to run by default. They remain in their own executable. Differential Revision: https://developer.blender.org/D8498
2020-08-08Cleanup: remove redundant return parenthesisCampbell Barton
2020-08-07Cleanup: Fix reported clang-tidy code-style issues.Ray Molenkamp
This resolves `error: statement should be inside braces` in some windows specific code that previously was unchecked by clang-tidy.
2020-08-07Cleanup: Clang-Tidy else-after-return fixesSybren A. Stüvel
This addresses warnings from Clang-Tidy's `readability-else-after-return` rule. This should be the final commit of the series of commits that addresses this particular rule. No functional changes.
2020-08-01Cleanup: use term init instead of initialize/initialiseCampbell Barton
The abbreviation 'init' is brief, unambiguous and already used in thousands of places, also initialize is often accidentally written with British spelling.
2020-07-25Allocator: fix build error with -Werror=format-securityJacques Lucke
2020-07-24Allocator: make leak detection work with static variablesJacques Lucke
When definining static variables that own memory, you should use the "construct on first use" idiom. Otherwise, you'll get a warning when Blender exits. More details are provided in D8354. Differential Revision: https://developer.blender.org/D8354
2020-07-10Cleanup: spellingCampbell Barton
2020-07-07Cleanup: add comment explaining operator deleteJacques Lucke
2020-07-07Guarded Allocator: add missing operator deleteJacques Lucke
This resolves warning C4291 on windows.
2020-07-03Clang-tidy: Enable braces-around-statements warningSebastian Parborg
2020-07-03Clang-Tidy: Enable readability-redundant-control-flowHans Goudey
2020-07-03Guarded allocator: Override placement new operatorSergey Sharybin
Allows to in-place construct objects which are using guarded allocator.
2020-06-24MEM_guardedalloc: allow freeing const arrays with MEM_SAFE_FREECampbell Barton
'const' arrays couldn't use this macro with GNUC.
2020-05-20Fix Windows build after recent guardedalloc changesBrecht Van Lommel
2020-05-20Cleanup: make guarded memory allocation always thread safeBrecht Van Lommel
Previously this would be enabled when threads were used, but threads are now basically always in use so there is no point. Further, this is only needed for guarded allocation with --debug-memory which is not performance critical.
2020-05-20Cleanup: remove legacy mmap memory allocation for 32 bitBrecht Van Lommel
This helped to go beyond the 4GB limit, but is no longer relevant for 64 bit.
2020-05-14Cleanup: don't use deprecated exception specificationsJacques Lucke
Usage of exception specifications is discouraged by the C++ core guidelines.
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-01-31Fix potential crash in guarded alloc stats, when there are no allocationsJames Fulop
This was found with static analysis warnings in Visual Studio 2019. Differential Revision: https://developer.blender.org/D6564
2020-01-27Memory: add OBJECT_GUARDED_SAFE_DELETE like MEM_SAFE_FREEBrecht Van Lommel
2020-01-27Fix OBJECT_GUARDED_FREE compiler error when type is in namespaceBrecht Van Lommel
2020-01-23Fix: Use a minimal alignment of 8 in MEM_lockfree_mallocN_alignedJacques Lucke
`posix_memalign` requires the `alignment` to be at least `sizeof(void *)`. Previously, `MEM_mallocN_aligned` would simply return `NULL` if a too small `alignment` was used. This was an OS specific issue. The solution is to use a minimal alignment of `8` for all aligned allocations. The unit tests have been extended to test more possible alignments (some of which were broken before). Reviewers: brecht Differential Revision: https://developer.blender.org/D6660
2019-11-06Fix T70952: EXR files bigger than 2GB don't open on WindowsBrecht Van Lommel
2019-10-28CMake: add missing headers, use space before commentsCampbell Barton
2019-09-14Cleanup: clang-formatStefan Werner
2019-09-13macOS: Enabled posix_memalign() like on other Unix platforms.Stefan Werner
2019-08-20Memory: Fix guarded aligned malloc with small alignmentJacques Lucke
When calling `MEM_guarded_mallocN_aligned` with an alignment of 4, a pointer that was returned that is 4 byte but not 8 byte aligned. When freeing this pointer, `MEM_guarded_freeN` thinks that it is an illegal pointer, because it asserts that `((intptr_t)memh) & 0x7 == 0`. The fix is to always use at least 8 byte alignment. Reviewers: brecht Differential Revision: https://developer.blender.org/D5529
2019-05-01Cleanup: comments (long lines) in various intern/ libsCampbell Barton