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
2014-06-14Attempt to fix sign conversion error happening on buildbotSergey Sharybin
2014-06-13Attempt to fix guardedalloc on OSXSergey Sharybin
2014-06-13Use advantage of SSE2 instructions in gaussian blur nodeSergey Sharybin
This gives around 30% of speedup for gaussian blur node. Pretty much straightforward implementation inside the node itself, but needed to implement some additional things: - Aligned malloc. It's needed to load data onto SSE registers faster. based on the aligned_malloc() from Libmv with some additional trickery going on to support arbitrary alignment (this magic is needed because of MemHead). In the practice only 16bit alignment is supported because of the lack of aligned malloc with arbitrary alignment for OSX. Not a bit deal for now because we need 16 bytes alignment at this moment only. Could be tweaked further later. - Memory buffers in compositor are now aligned to 16 bytes. Should be harmless for non-SSE cases too. just mentioning. Reviewers: campbellbarton, lukastoenne, jbakker Reviewed By: campbellbarton CC: lockal Differential Revision: https://developer.blender.org/D564
2014-06-02Fix compilation error non non-linux architecturesMatteo F. Vescovi
2014-05-19Fix compilation error on kFreeBSDSebastian Ramacher
2014-04-06Move LIKELY/UNLIKELY into headerCampbell Barton
2014-04-06Guarded Alloc: use UNLIKELY for debug memsetCampbell Barton
2014-03-30Enable GCC pedantic warnings with strict flags,Campbell Barton
also modify MIN/MAX macros to prevent shadowing.
2014-03-26Code cleanup: style and warningsCampbell Barton
2014-03-17Code cleanup: styleCampbell Barton
2014-01-23Fix typo in mmap commit from a while agoSergey Sharybin
2014-01-23Memory allocation: do not use mmap for memory allocation on 64 bit.Brecht Van Lommel
On Windows we can only do mmap memory allocation up to 4 GB, which causes a crash when doing very large renders on 64 bit systems with a lot of memory. As far as I can tell the reason to use mmap is to get around address space limitation on some 32 bit operating systems, and I can't see a reason to use it on 64 bit. For the original explanation see here: http://orange.blender.org/blog/stupid-memory-problems Fixes T37841.
2013-11-22Code Cleanup: use NULL for pointer checks and remove joke.Campbell Barton
2013-10-31add atomic_ops.h to cmake's source code listing.Campbell Barton
2013-10-20Fix for wrong implementation of mmap in lock-free allocatorSergey Sharybin
- Freeing was not using proper block length - Duplicating memory block was not aware of mmaped blocks.
2013-10-11Fix FreeBSD build with recent malloc changes, patch by Shane Ambler.Brecht Van Lommel
2013-10-10add MEM_SIZE_OPTIMAL to avoid memory fragmentation & waste lost to slop-space.Campbell Barton
2013-10-10* Fix Windows compiler errors after recent Lock-free memory allocator commit.Thomas Dinges
Patch by Sergey, thanks. :)
2013-10-10Fix OS X build error in malloc code, and warning in rna.Brecht Van Lommel
2013-10-10Lock-free memory allocatorSergey Sharybin
Release builds will now use lock-free allocator by default without any internal locks happening. MemHead is also reduces to as minimum as it's possible. It still need to be size_t stored in a MemHead in order to make us keep track on memory we're requesting from the system, not memory which system is allocating. This is probably also faster than using a malloc's usable size function. Lock-free guarded allocator will say you whether all the blocks were freed, but wouldn't give you a list of unfreed blocks list. To have such a list use a --debug or --debug-memory command line arguments. Debug builds does have the same behavior as release builds. This is so tools like valgrind are not screwed up by guarded allocator as they're currently are. -- svn merge -r59941:59942 -r60072:60073 -r60093:60094 \ -r60095:60096 ^/branches/soc-2013-depsgraph_mt
2013-10-09Fix compilation error after recent libmv changeSergey Sharybin
- Tweaked typedefs in stdint so they match what we've got in BLI_sys_types (needed to explicitly tell sign to MSVC). Not so much harmful to be more explicit here, but we really better to have single stdint int blender. - Tweaked allocations macros so MSVC is happy with structures allocation.
2013-10-09Move guarded objetc allocation to a guardedalloc headerSergey Sharybin
Also made libmv-capi use guarded objetc allocation. Run into some suspecious cases when it was not so clear whether memory is being freed or not. Now we'll know for sure whether there're leaks or not :) Having this macros in a guardedalloc header helps using them in other areas (for now it's OCIO and libmv, but in the future it'll be more places).
2013-09-05Added a brie instruction how to build simple memtestSergey Sharybin
2013-09-03reorder BLI_strict_flags.h include so its not conflicting with stdio.h on apple.Campbell Barton
2013-09-01kd-tree,Campbell Barton
- replace numbers with defines for allocation increments and default array size. - move array reallocation into a static function (deduplicate 2x). also fix own mistake with uninitialized slop-space var in memory printing statistics.
2013-09-01Mingw/Windows Compiling FixJoshua Leung
This commit attempts to fix the following error: intern\guardedalloc\intern\mallocn.c: In function 'rem_memblock': intern\guardedalloc\intern\mallocn.c:977:48: error: conversion to 'intptr_t' from 'size_t' may change the sign of the result [-Werror=sign-conversion] From the references I've managed to find, it appears that the second arg to munmap() should be size_t not intptr_t. Fortunately though, we don't use this arg anyways atm, so this should be quite harmless...
2013-09-01use strict flags for guarded allocCampbell Barton
2013-08-30Attempted fix for #36569: couldn't unmap memory errors on Windows. The ↵Brecht Van Lommel
guardedalloc optimizations were not entirely thread safe for mmap.
2013-08-29correct own recent commit, malloc_usable_size() isn't valid for mmap()'d memory.Campbell Barton
2013-08-28should fix builds for osxCampbell Barton
2013-08-28include slop-space in debug statistics (gcc/clang only)Campbell Barton
2013-08-24add GPL header to treehash.c and add missing includes to cmake.Campbell Barton
2013-08-19Speedup for guarded allocatorSergey Sharybin
- Re-arrange locks, so no actual memory allocation (which is relatively slow) happens from inside the lock. operation system will take care of locks which might be needed there on it's own. - Use spin lock instead of mutex, since it's just list operations happens from inside lock, no need in mutex here. - Use atomic operations for memory in use and total used blocks counters. This makes guarded allocator almost the same speed as non-guarded one in files from Tube project. There're still MemHead/MemTail overhead which might be bad for CPU cache utilization
2013-08-19Added check for whether thread lock is being removed while thread is using ↵Sergey Sharybin
guarded alloc. -- svn merge -r58788:58789 ^/branches/soc-2013-depsgraph_mt
2013-08-15Blender might be compiled without guardedalloc againSergey Sharybin
This is useful for benchmark tests, to make CPU cache utilization as good as we could with current design.
2013-08-06use gcc malloc attribute for low level allocation functions, prevents gcc ↵Campbell Barton
from checking if resulting pointers alias existing pointers, also use sentinel attribute for uiButGetStrInfo so incorrect usage gives a warning.
2013-08-04avoid using MEM_reallocN_id directly, add utility macro for freeing.Campbell Barton
2013-08-03add versions of MEM_reallocN, MEM_recallocN which take a string arg so new ↵Campbell Barton
allocs have an ID, changing existing functions signatures would be too disruptive at the moment.
2013-06-06style cleanupCampbell Barton
2013-06-02tweak to recent commit, don't show keymap in menu tooltips.Campbell Barton
2013-05-31Fix to actually disable DEBUG_BACKTRACE by default.Brecht Van Lommel
2013-05-30Backtrace for unfreed memory blocksSergey Sharybin
Added an option to show backtrace from where non-freed datablock was allocated from. To enable this feature, simply enable DEBUG_BACKTRACE in mallocn.c file and all unfreed datablocks will be followed up by a backtrace. Currently works on linux and osx only, windows support is on TODO. This feature is for sure disabled by default, so does not affect any builds which don't explicitly define DEBUG_BACKTRACE.
2013-05-28move BLO_sys_types.h -> BLI_sys_types.h (it had nothing todo with loading)Campbell Barton
remove MEM_sys_types.h which was a duplicate.
2013-05-21Fix build error after removing return value from MEM_freeN.Brecht Van Lommel
2013-05-21remove return value from MEM_freeN, it wasn't used anywhere and was cast to ↵Campbell Barton
a different function signature. (which evidently works but error prone).
2013-05-12correct assert for driver evaluation,Campbell Barton
also add asserts for listbase functions when the list is NULL, and use noreturn attribute for jpeg_error.
2013-05-08add option to disable guardedalloc, helps for debugging memory errorsCampbell Barton
since guardedalloc confuses them. The option cases a warning on build, since its ownly for experimental use.
2013-03-29code cleanup: quiet warnings building with mingw.Campbell Barton
2013-03-18style cleanupCampbell Barton
2013-01-27Windows compile fix:Thomas Dinges
* r54117 broke Windows, __func__ not declared.