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
2014-10-07Merge branch 'master' into soc-2014-viewport_contextsoc-2014-viewport_contextJason Wilkins
2014-10-07Fix T42106: Box image mapping shows black triangles if they point to a ↵Sergey Sharybin
corner and blend is 0 After discussion with cambo here we decided it's better to choose arbitrary side of the box (in this case it's X-axis) and use image from it. That's better than doing a blackness. P.S. This is literally a corner case anyway.
2014-10-07Cleanup: warningsCampbell Barton
2014-10-06Cycles: Fix for camera-in-volume detectionSergey Sharybin
Ray actually should have infinite length, so we can detect camera in a volume which is bigger that the far clipping of the camera. This might also give some speedup (wouldn't expect much tho) because we don't need to re-calculate ray direction and length after every bounce now.
2014-10-06Cycles: Optimize of volume stack update when sampling SSSSergey Sharybin
basically we skip all non-volume objects now in the volume stack function. Depending on the show it might give some percent of speedup. Most of the speedup would be gained in the scenes when having SSS object intersecting the volume and taking a reasonable amount of frame space.
2014-10-06Cycles: Fix for viewport rendering with debug enabledSergey Sharybin
2014-10-06Cycles: Workaround dead-slow expf() on 64bit linuxSergey Sharybin
Single precision exponent on 64bit linux tends to be order of magnitude slower than double precision version even with single<->double precision conversion. Some feedback in the mailing lists also suggests that logf() is also slow, but this i didn't confirm here in the studio yet. Depending on the shader setup it gives ~3% with the secret agent shot and up to around 15% with the bmw scene here.
2014-10-06Cycles: Move system headers include to the top of the filesSergey Sharybin
This is a good practice to do anyway, plus it'll help with the upcoming change.
2014-10-05Cycles: Center Tile order had a slight offset to the left.Greg Zaal
Signed-off-by: Thomas Dinges
2014-10-05Fix T42081, OpenCL supports float3 since the 1.1 specification, not sure why ↵Thomas Dinges
we needed this.
2014-10-05Cycles: Forgot to set WITH_CYCLES_DEBUG for OSL kernelSergey Sharybin
2014-10-05Cycles: __KERNEL_DEBUG__ wasn't set for compile-time kernelsSergey Sharybin
2014-10-05OSX/Ghost: little code cleanupJens Verwiebe
2014-10-05Cycles: Make OpenCL folks happy to use __KERNEL_DEBUG__Sergey Sharybin
Quite straightforward change, the only annoying thing is that we can't use indentation for include directive just because of the way headers inlineing works for OpenCL. Might do smarter job in path_source_replace_includes() but don't want to spend time on this yet.
2014-10-05Cycles: Fix for debug kernel not working with CUDASergey Sharybin
2014-10-05Cycles / CUDA: Workaround to make sm_52 (Maxwell) cards work.Thomas Dinges
* sm_52 can run a sm_50 kernel, so tell runtime detection to use that until we build a dedicated sm_52 kernel.
2014-10-05Cycles / CUDA: Change inline rules for BVH intersection functions.Thomas Dinges
* On sm_30 and above there is no change (was not inlined already before), this just fixes a speed regression from yesterday. 6359c36ba407 * On sm_2x (tested with sm_21), I get a nice 8% speedup in the bmw scene with this. As a bonus, cubin compilation time and memory usage is significantly reduced. Regular cubin size went from 2.5MB to 2.0MB, Experimental one from 3.8MB to 2.5MB.
2014-10-04Cycles: Fix wrong ifdef check around shadows record allSergey Sharybin
2014-10-04Cycles: Add support for debug passesSergey Sharybin
Currently only summed number of traversal steps and intersections used by the camera ray intersection pass is implemented, but in the future we will support more debug passes which would help checking what things makes the scene slow. Example of such extra passes could be number of bounces, time spent on the shader tree evaluation and so. Implementation from the Cycles side is pretty much straightforward, could only mention here that it's a build-time option disabled by default. From the blender side it's implemented as a PASS_DEBUG with several subtypes possible. This way we don't need to create an extra DNA pass type for each of the debug passes, saving us a bits. Reviewers: campbellbarton Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D813
2014-10-04Cycles: Remove a workaround for Titan GPUs, not needed anymore with the ↵Thomas Dinges
latest CUDA compiler.
2014-10-03Cycles, some tweaks to scene_intersect_shadow_all()Thomas Dinges
* Function returns a bool, not an uint. * Remove GPU ifdefs, this is CPU only due to malloc / qsort.
2014-10-03Cleanup: Remove some unused / unreferenced functions for perdiodic perlin noise.Thomas Dinges
2014-10-03Cycles / OSL: Make the signed/unsigned Perlin parameter more self explaining.Thomas Dinges
2014-10-03Cycles: Fix OpenCL compile after new Volume BVH introduction and add some ↵Thomas Dinges
comments.
2014-10-03Cycles: Missing volume traversal header in cmake for GPU compilation.Thomas Dinges
2014-10-03Cycles: Remove Westin closure.Thomas Dinges
Was hooked up last year for testing purposes, as we already had some code for it, but the closure itself is not really good nor really useful, so let's remove it.
2014-10-03Cleanup: Spelling.Thomas Dinges
2014-10-03Cycles: Use more accurate implementation of erf() and erfinv()Sergey Sharybin
This functions are orders of magnitude more accurate than the old ones, and they're around the same complexity to compute.
2014-10-03Cycles: Decouple object flags update to a separate update stepSergey Sharybin
This way there's much less cross-references between objects and meshes device update functions. The only thing remained s the object bounds calculation which is needed by bvh update. This could also be decoupled, but it's not that crucial yet because its's how it used to be for ages now.
2014-10-03Fix T41920: Changing Use Alpha settings doesn't refresh viewport properlySergey Sharybin
2014-10-03Cycles: Implement preliminary test for volume stack update from SSSSergey Sharybin
This adds an AABB collision check for objects with volumes and if there's a collision detected then the object will have SD_OBJECT_INTERSECTS_VOLUME flag. This solves a speed regression introduced by the fix for T39823 by skipping volume stack update in cases no volumes intersects the current SSS object.
2014-10-03Cycles: Fix for non-initialized variableSergey Sharybin
2014-10-03Cycles: Make camera-in-volume an official featureSergey Sharybin
This means it's no longer needed to enable experimental feature set in order to have proper camera in volume support. And this also means if there's something wrong going on, or if there's speed regression for cases when camera is obviously not in the volume -- this issues are to be reported and handled in the regular matter. Happy blending!
2014-10-03Cycles: Speedup of kernel side camera-in-volume detectionSergey Sharybin
The idea is to only count intersections with objects which has volumetric shader and ignore all other objects. This is probably as fast as we can go without involving some forth level magic.
2014-10-02Cycles: optimization of panoramic camera in volumeSergey Sharybin
Now we do much better preliminary check for panoramic camera is inside the volume object boundings. Also we're now cacheing the has_volume in the mesh, which makes it unneeded iterations for each object's shaders. Should be no functional changes, just faster sync and panoramic-in-volume rendering.
2014-09-29Cleanup: styleCampbell Barton
2014-09-28Cycles: Correct object flags bitfield, was missing negative scale thereSergey Sharybin
It's quite a few of circumstances to be met to hit the case when render wouldn't be correct. Better to be ported to the final release.
2014-09-28Cycles: Avoid temp variable in camera-in-volume checkSergey Sharybin
Was a left-over from some experiments, no need it with the current implementation, and likely wouldn't need in the future.
2014-09-28Cycles: Cleanup of the SSS volume stack update codeSergey Sharybin
Was a leftover after the changed scene_intersect() which used to be ifdefed depending on the __HAIR__ in the original patch.
2014-09-26Cycles: Keep STACK_MAX_HITS private in kernel_shadowSergey Sharybin
This way adding record_all for other things becomes easier and doesn't lead to naming conflicts.
2014-09-26Code style.Thomas Dinges
2014-09-26OpenNL: modify SuperLU to use doubles rather than floats, for better precision.Brecht Van Lommel
This helps to improve the accuracy of UV unwrapping and laplacian deform for high poly meshes, which could get warped quite badly. It's not much slower, doubles are pretty fast on modern CPUs, but it does double memory usage. This seems acceptable as otherwise high poly meshes would not work correctly anyway. Fixes T39004.
2014-09-26Fix build errors in atomic ops and warning in aligned malloc on OS X.Brecht Van Lommel
2014-09-26Cycles: Keep ccl_always_inline always inlining the stuffSergey Sharybin
It works around strange shading bug when building with MSVC. If such weirdeness continues, we perhaps would need to use proper inline flags all the time. Anyway, lets see how things will behave now.
2014-09-25Cycles: Accidentally inverted the logic of NDEBUG macroSergey Sharybin
2014-09-25Cycles: Better feedback about experimental features being usedSergey Sharybin
Instead of having a label which basically duplicated the information about experimental feature set being used (which had a bug because it claimed experimental GPU kernel is used even if compute device is CPU btw) now we've got an enum item icon. So once you switched to experimental feature set you'll see an exclamation mark icon in the enum, so you know something might be unstable or slow.
2014-09-25Guardedalloc: Implement atomic peak memory updateSergey Sharybin
Updating maximum requires a bit of a cycle which usually does 1 iteration only, sometimes needs a bit more but seems there's no speed regressions. For now the code is commented out. This way it's easier for others to verify there's no speed regressions. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D626
2014-09-25Atomics: Add CAS (compare-and-swap) functionsSergey Sharybin
2014-09-25Cycles: Fix for the MSVC which doesn't have default osteram constructorSergey Sharybin
2014-09-25Cycles: Make CUDA backend aware of sm_52 (Maxwell).Thomas Dinges
In order to compile the new kernel you need to specify sm_52 in SCons / CMake, and use CUDA Toolkit 6.5.19, from here: https://developer.nvidia.com/cuda-downloads-geforce-gtx9xx Note: sm_52 is not enabled per default yet, so it won't be bundled with the Buildbot builds. That will be addressed later.