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/intern
AgeCommit message (Collapse)Author
2015-02-20Fix T43651: New pointiness attribute doesn't work with displacementSergey Sharybin
Simple fix: just make pointiness aware of bump offset.
2015-02-19Cycles: Use size_t for aligned allocatorSergey Sharybin
Seems it got changes by accident to int during guarded allocation work, causing bad memory allocations.
2015-02-19Cycles: Cleanup for indentation in device_cpu.cppSergey Sharybin
Perhaps became broken after rather recent change about which entry point to kernel to use.
2015-02-19Cycles: Free memory used by intermediate BVH vectors earlierSergey Sharybin
Ideally we should get rid of those temporary vectors anyway, but it's not so trivial because of the alignment. For untl then we'll just have a bit worse solution. This part of code is not the root of the issue of memory spikes for now anyway. But since we're getting rid of temporary memory earlier actual spike is a bit smaller as now. For example in franck_sheep file it's now 5489.69MB vs. previously 5599.90MB.
2015-02-19Cycles: Reduce memory used by background light updateSergey Sharybin
Simple change: just get rid of intermediate data a bit earlier, before final pixels array is being allocated. This gives around 30% of memory save during light update (this is about 60meg in the frank sheep file i'm using here). This isn't really visible by artists a lot, because actual spike happens on BVH construction. But it doesn't mean we shouldn't be accurate with memory usage in other areas.
2015-02-19Cleanup: Restructure curve settings code a bit.Thomas Dinges
This is a bit more logical, as it better represents the 3 primitive types we have.
2015-02-19Guardedalloc: Reset peak memory should set peak to currently allocated memorySergey Sharybin
Otherwise statistics could be really funny looking.
2015-02-19Cycles: Make sphere and tube image mapping friendly with OpenCLSergey Sharybin
OpenCL doesn't let you to get address of vector components, which is kinda annoying. On the other hand, maybe now compiler will have more chances to optimize something out.
2015-02-19Cycles: Make util_math_fast.h compatible with OpenCLSergey Sharybin
2015-02-19Fix T43652: X11 "_NET_WM_PID" not set by GhostCampbell Barton
D1107 by @kevindietrich
2015-02-19Ghost/X11 cleanup (reduce variable scope)Campbell Barton
2015-02-18Guardedalloc: Add extra logging and checks in MEM_freeN()Sergey Sharybin
We don't like when NULL is send to MEM_freeN(), but there was some differences between lockfree and guarded allocators: - Lockfree would have silently crash, in both release and debug modes - Guarded allocator would have printed error message, abort in debug but keep working in release build. This commit makes lockfree allocator behavior to match guarded one.
2015-02-18Cycles: Make aligned allocation to respect WITH_BLENDER_GUARDEDALLOCSergey Sharybin
Title pretty says it all actually. Can only briefly mention that we're indeed entering that state when after applying some WIP patches having much fuller statistics about memory usage would help giving exact memory benefit.
2015-02-18CMake: picky style editCampbell Barton
'cmake_consistency_check.py' relies on this formattng.
2015-02-18Cycles: Initialize "headless" flags on engine initializationSergey Sharybin
This flag is global for all the sessions and never changes. so it doesn't really make sense to pass it around to all sessions and synchronization routines. Switched to a static member of BlenderSession now, but it's probably more logical to introduce some sort of BlenderGlobals. Doesn't currently worth a hassle for a single boolean flag tho.
2015-02-18Cleanup: Remove unused SD_PHASE_HAS_EVAL flag.Thomas Dinges
We only have a non-singular volume closure and therefore no need to distinguish it.
2015-02-18Cleanup for Cycles hair shader ifdefs.Thomas Dinges
sc->T and sc->data2 were behind __HAIR__ ifdef, now they are not anymore, so we can always assign the correct value.
2015-02-18Cleanup: Remove support for Boost filesystem 2.Thomas Dinges
This is deprecated since Boost 1.48.
2015-02-18Cleanup: Use bools in BVHParams class.Thomas Dinges
2015-02-18Cycles / BVH: Remove unused temp copy of prim_object.Thomas Dinges
This will save some memory during BVH Build.
2015-02-18Quiet uninitialized mem use for blank cursorCampbell Barton
harmless but may as well initialize.
2015-02-18Cycles: Avoid over-allocation in decouple ray marchingSergey Sharybin
It could have happened with really long rays and small steps. Step size will be adjusted to the clamped number of steps in order to preserve render result compatibility as much as possible. We should probably reformulate this a bit, so it will give the same looking results without step tweaks. But this new behavior should already be much better that it was before.
2015-02-17Cleanup: Add comment about light_p being modified in one case.Thomas Dinges
2015-02-17Cycles: Cleanup after recent changesSergey Sharybin
2015-02-17Some tweaks to last commit, this is better.Thomas Dinges
2015-02-17Cycles: Fix for hair transmission BSDF not returning proper labelSergey Sharybin
2015-02-17Cleanup: Deduplicate area light sampling code.Thomas Dinges
2015-02-17Cycles: Small tweaks for Henyey Greenstein closure code.Thomas Dinges
* Avoid duplicative fabs(g) check in sample code. * Avoid dot product in eval code. Helps like ~1% when Scatter Anisotropy is 0.
2015-02-17Cycles: Remove empty closure blur code and the corresponding entries in the ↵Thomas Dinges
switch. Most compilers will probably optimize that out, but I still don't see a reason to keep it.
2015-02-17Cycles: Make blender session aware of rendering from command lineSergey Sharybin
This way we can do some more aggressive policy about releasing temporary data during synchronization.
2015-02-17Fix T43685: New pointiness attribute error with auto-smooth enabledSergey Sharybin
Simple fix: all vertex attributes should be filled in before split.
2015-02-17Cycles: Minor code cleanup in recent attributes changesSergey Sharybin
2015-02-17Cleanup: Update comments and make it more clear what volume interpolation is ↵Thomas Dinges
for.
2015-02-16UI messages fixes and cleanup.Bastien Montagne
2015-02-16Cleanup: Remove unused code from hair BSDF.Thomas Dinges
2015-02-16Cycles: Use some more bools in microfacet code.Thomas Dinges
2015-02-16Cycles: Correction for C++11 compilation error after recent vector changesSergey Sharybin
2015-02-15Cycles: Hopefully compilation error fix for OSXSergey Sharybin
2015-02-15Cycles: Fix wrong attribute count calculation in prevous commitSergey Sharybin
The workaround for generated texture coordinates is to be done before calculating number of elements for attribute, otherwise counter wouldn't include those attributes.
2015-02-15Cycles: Optimize memory usage when creating mesh attributesSergey Sharybin
The idea behind the change is to pre-allocate attribute arrays in advance, which avoids re-allocation of arrays later for each of meshes being handled. This reduces peak memory used by Cycles database from 1.3G to 0.9G for victor.blend from Gooseberry. It doesn't mean every file will benefit from this change since peak memory usage is happening in the different places of the rendering code. Also, unfortunately, attributes export might not cause the peak of render preparation stage. That said, it's actually object_to_mesh() which causes the memory to peak in the same test file. So we really need to optimize that part first in order to get visible results for artists. But in any case it's now quite easy to track hotspots in Cycles itself which is good.
2015-02-15Cycles: Add ifdef switch to use blender's guardedalloc for vector allocationSergey Sharybin
It's actually a bad level call, but it's inside ifdef block and disabled by default and only intended to be used for development purposes. Main idea of this change is to combine statistics coming from Cycles and Blender during scene synchronization step, to see if further changes are actually reducing memory footprint.
2015-02-15Cycles: Add utility method to vector which totally frees memory used the vectorSergey Sharybin
The method is called vector::free_memory(). Use with care since it'll invalidate all the pointers to vector memory, all iterators and so on. Currently unused, but might become handy when clearing unused data.
2015-02-15Cycles: Report system memory usage and peak after scene device updateSergey Sharybin
This only happens when built with WITH_CYCLES_DEBUG flag, memory statistics is coming from guarded STL allocator.
2015-02-15Cycles: Implement guarded allocator for STL classesSergey Sharybin
The commit implements a guarded allocator which can be used by STL classes such as vectors, maps and so on. This allocator will keep track of current and peak memory usage which then can be queried. New code for allocator is only active when building Cycles with debug flag (WITH_CYCLES_DEBUG) and doesn't distort regular builds too much. Additionally now we're using own subclass of std::vector which allows us to implement shrink_to_fit() method which would ensure capacity of the vector is as big as it should be (without this making vector smaller will still use all previous memory allocated).
2015-02-15Cycles: Replace own aligned allocator with system oneSergey Sharybin
This replaces our own implementation of aligned malloc with system calls, which depends on which operation system you're on. This is probably really minor noticeable change, but in the same time it might reduce amount of wasted memory.
2015-02-14Cleanup: Comment block for sse helpers.Thomas Dinges
2015-02-14Cycles: Small improvement for volume render (decoupled)Thomas Dinges
Simplify branching here a bit, helps ~3% in volume_light_sampling.blend (Branched MIS scene).
2015-02-14Cycles: Fix compilation error of Cycles standalone with Libmv disabledSergey Sharybin
2015-02-13Fix again tablets with linux!Bastien Montagne
Yes, for me tablets (both wacom and no-name) were again broken - curse X11! So now, we want ButtonPress, Button1Motion does not work anymore... Anyway, this patch makes things much cleaner, storing each event type in its own variable! Patch by cedricp (Cédric PAILLE) from T43367, thanks a bunch!
2015-02-13Fix Cycles compilation on x86, without SSE.Thomas Dinges