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
2015-01-02Fix T43027: OpenCL kernel compilation broken after QBVHSergey Sharybin
OpenCL apparently does not support templates, so the idea of generic function for swapping is a bit of a failure. Now it is either inlined into the code (in triangle intersection) or has specific implementation for QBVH. This is probably even better, because we can't create QBVH-specific function in util_math anyway.
2014-12-31Cycles: Post-reintegration tweaks to ensure things do compileSergey Sharybin
This commit contains all the tweaks which were missing in initial patch re-integration from the standalone Cycles repository. This commit also contains an utility cmake macro to help linking targets with different libraries for release/debug builds, the name currently is target_link_libraries_decoupled it gets a target and list of libraries and makes sure debug builds are using libraries with "_d" suffix. After all this changes it'll hopefully be easier to interchange patches between blender and standalone repositories, because they're now quite identical.
2014-12-31Cycles: Be ready for gflags namespace auto-detectSergey Sharybin
This way it is now possible to use gflags >= 2.1, where all the functions were moved from google to gflags namespace. This isn't currently used in blender, but for standalone repository this change is essential.
2014-12-31Cycles: Fully support WITH_CYCLES_LOGGING optionSergey Sharybin
This commit generalizes logging module a little bit in making it possible to use Glog logging in standalone Cycles repository.
2014-12-31Cycles: Fix compilation error when OIIO is compiled with external PugiXML parserSergey Sharybin
Basic idea is to check whether OIIO is compiled with embedded PugiXML parser and if so use PugiXML from OIIO, otherwise find a standalone PugiXML library.
2014-12-31Cycles: Synchronize changes with standalone repositorySergey Sharybin
This changes were done in original commit of the standalone Cycles repository and needed here for easier patch synchronization.
2014-12-25Cleanup: Fix Cycles Apache header.Thomas Dinges
This was already mixed a bit, but the dot belongs there.
2014-12-25Cycles: Add some utility functions and structuresSergey Sharybin
Most of them are not currently used but are essential for the further work. - CPU kernels with SSE2 support will now have sse3b, sse3f and sse3i - Added templatedversions of min4, max4 which are handy to use with register variables. - Added util_swap function which gets arguments by pointers. So hopefully it'll be a portable version of std::swap.
2014-12-25Cycles: Implement watertight ray/triangle intersectionSergey Sharybin
Using this paper: Sven Woop, Watertight Ray/Triangle Intersection http://jcgt.org/published/0002/01/05/paper.pdf This change is expected to address quite reasonable amount of reports from the bug tracker, plus it might help reducing the noise in some scenes. Unfortunately, it's currently about 7% slower than the previous solution with pre-computed triangle plane equations, but maybe with some smart tweaks to the code (tests reshuffle, using SIMD in a nice way or so) we can avoid the speed regression. But perhaps smartest thing to do here would be to change single triangle / ray intersection with multiple triangles / ray intersections. That's how Embree does this and it's watertight single ray intersection is not any faster that this. Currently only triangle intersection is modified accordingly to the paper, in the future we would also want to modify the node / ray intersection. Reviewers: brecht, juicyfruit Subscribers: dingto, ton Differential Revision: https://developer.blender.org/D819
2014-12-08Cycles: Fix compilation error with MinGW and logging enabledSergey Sharybin
2014-12-05Cycles: Add dedicated Progress::set_error() callSergey Sharybin
Currently it acts the same as set_cancel(), but this way we're able to distinguish situations when rendering was aborted by user demand (for example pressing Esc in standalone renderer) or if something went horribly wrong (for example out of VRAM error).
2014-12-02Cycles: Use lock in the memory statisticsSergey Sharybin
CPU rendering is allowed to allocate memory from multiple threads, which means statistics need to be avare of this.
2014-11-20Cycles: Remove dynamic library helper filesSergey Sharybin
They were only needed for CUDA wrangler. Since we've switched to CUEW this utility functions are no longer needed.
2014-11-15Cycles: Revert changes to inline flags enabled for release onlySergey Sharybin
It appears it's not really needed for convenient debugging when using proper flags passed to the compiler. Basically, it is -g3 and set breakpoint to a function as if it's not in the namespace. Not as if a code was any wrong, just it's possible to have more clear solution for the issue i've tried to solve in the past.
2014-11-12Fix T41066: MSVC + AVX2 kernel causes artifacts in hair render.Thomas Dinges
The issue lies in the FMA functions, so disable them on Windows for now.
2014-11-08Add safe_normalize to cycles, avoid checking length firstCampbell Barton
This won't give any big speedup, just avoids redundant sqrtf and may be useful in future. Differential Revision: https://developer.blender.org/D880
2014-11-08Cleanup: cycles whitespaceCampbell Barton
2014-11-01Cycles: Remove redundant alloc/freeSergej Reich
Seems like a copy paste error.
2014-11-01Cycles: Code cleanup, proper class vs. struct declarationSergey Sharybin
2014-10-14Fix T42021: OSL doesn't work when there are non-ascii chars in the pathSergey Sharybin
Quite annoying, the same thing we do from the blender side, But as a positive side we can get rid of some utf8/utf16 conversions. Hopefully it all work fine now, at leats works on mu russki windoze laptop.
2014-10-08Ghost Context RefactorJason Wilkins
https://developer.blender.org/D643 Separates graphics context creation from window code in Ghost so that they can vary separately.
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: Fix for the MSVC which doesn't have default osteram constructorSergey Sharybin
2014-09-25Cycles: Add support for cameras inside volumeSergey Sharybin
Basically the title says it all, volume stack initialization now is aware that camera might be inside of the volume. This gives quite noticeable render time regressions in cases camera is in the volume (didn't measure them yet) because this requires quite a few of ray-casting per camera ray in order to check which objects we're inside. Not quite sure if this might be optimized. But the good thing is that we can do quite a good job on detecting whether camera is outside of any of the volumes and in this case there should be no time penalty at all (apart from some extra checks during the sync state). For now we're only doing rather simple AABB checks between the viewplane and volume objects. This could give some false-positives, but this should be good starting point. Need to mention panoramic cameras here, for them it's only check for whether there are volumes in the scene, which would lead to speed regressions even if the camera is outside of the volumes. Would need to figure out proper check for such cameras. There are still quite a few of TODOs in the code, but the patch is good enough to start playing around with it checking whether there are some obvious mistakes somewhere. Currently the feature is only available in the Experimental feature sey, need to solve some of the TODOs and look into making things faster before considering the feature is ready for the official feature set. This would still likely happen in current release cycle. Reviewers: brecht, juicyfruit, dingto Differential Revision: https://developer.blender.org/D794
2014-09-25Cycles: Don't inline functions for debug CPU kernelSergey Sharybin
Nobody will use debug mode for benchmarks anyway and this way it's much easier to set breakpoints on inlined functions to catch all their usages.
2014-09-25Cycles: Add support of Glog loggingSergey Sharybin
This commit makes it possible to use Glog library for the debug logging. For now only possible when using CMake and in order to use the logging the WITH_CYCLES_LOGGING configuration variable is to be enabled. When this option is not enabled or when using Scons there's no difference in Cycles behavior at all, when using logging and no output to the console impact is gonna to be minimal. This is done in order to make it possible to have debug logging persistent in code (without need to add it when troubleshooting some bug and removing it afterwards). For now actual logging is not placed yet, only all the functions needed for the logging are written and so.
2014-09-18Cleanup: style, spellingCampbell Barton
2014-09-16Cleanup: sync map_to_sphere, UNLIKELY xy zero caseCampbell Barton
2014-09-15Fix T41839, OpenCL error.Thomas Dinges
Also some style fixes, we don't do the "put as much as possible in 1 line" contest.
2014-09-04Fix wrong track of the memory when doing device vector resize before freeing itSergey Sharybin
This is rather legit case which happens i.e. when having persistent images enabled and session is updating the lookup tables. Now device_memory keeps track of amount of memory being allocated on the device, which makes freeing using the proper allocated size, not the CPU side buffer size.
2014-09-03Cleanup: Use function call and delete obsolete comment.Thomas Dinges
2014-09-01Cycles: Rebuild BVH from scratch if loading cache failedSergey Sharybin
Before this Cycles used to try using the cache even so it knew for the fact that reading it from the disk failed. This change doesn't make it more stable if someone will try to trick Cycles and give malformed data but it solves general cases when Blender crashed during the cache write and will preserve rendering from crashing when trying to use that partial cache.
2014-08-17CleanupCampbell Barton
2014-08-07Cleanup: Remove special code for Visual Studio 2008.Thomas Dinges
Goodbye VC2008, it has been a pleasure (more or less) :D SCons / CMake cleaenup will follow. Differential Revision: https://developer.blender.org/D715
2014-08-05Deduplicate CUDA and OpenCL wranglersSergey Sharybin
For now it was mainly about OpenCL wrangler being duplicated between Cycles and Compositor, but with OpenSubdiv work those wranglers were gonna to be duplicated just once again. This commit makes it so Cycles and Compositor uses wranglers from this repositories: - https://github.com/CudaWrangler/cuew - https://github.com/OpenCLWrangler/clew This repositories are based on the wranglers we used before and they'll be likely continued maintaining by us plus some more players in the market. Pretty much straightforward change with some tricks in the CMake/SCons to make this libs being passed to the linker after all other libraries in order to make OpenSubdiv linked against those wranglers in the future. For those who're worrying about Cycles being less standalone, it's not truth, it's rather more flexible now and in the future different wranglers might be used in Cycles. For now it'll just mean those libs would need to be put into Cycles repository together with some other libs from Blender such as mikkspace. This is mainly platform maintenance commit, should not be any changes to the user space. Reviewers: juicyfruit, dingto, campbellbarton Reviewed By: juicyfruit, dingto, campbellbarton Differential Revision: https://developer.blender.org/D707
2014-08-02Make CHECK_TYPE_NONCONST macro portableCampbell Barton
also replace __typeof -> typeof
2014-07-29Fix T41174: Tangent space required UV map in CyclesSergey Sharybin
Now Cycles behaves in the same way as BI in terms of using sphere projection of orco coordinates if there's no UV map when calculating tangent space.
2014-07-25Cycles Bake: show progress bar during bakeDalai Felinto
Baking progress preview is not possible, in parts due to the way the API was designed. But at least you get to see the progress bar while baking. Reviewers: sergey Differential Revision: https://developer.blender.org/D656
2014-07-25Switch to Cuda 4.0 style api for kernel invocation. This is a small clean-up ↵Martijn Berger
that has no functional changes but makes code a bit more readable. Differential revision: https://developer.blender.org/D659 Reviewed by: Sergey Sharybin, Thomas Dinges
2014-07-02Cycles: Update CUDA error messages, based on Toolkit 6.0.Thomas Dinges
* Removed deprecated erros, and added some new ones, which might help to figure out problems in the future.
2014-06-19Cycles: attempt to solve compilation error on 32bit OSXSergey Sharybin
2014-06-16Cycles: Slight modification to the previous commitSergey Sharybin
This way util_simd.cpp would not require modifications if/when SSE2 is suddenly supported on 32bit platforms. This also allowed to unleash some issues with util_simd.h related on the fact that there size_t and int are actually the same types.
2014-06-16Cycles: Fix compilation error on 32bit platformsSergey Sharybin
2014-06-16Cycles: Fix compilation error on platforms without SSE2Sergey Sharybin
2014-06-14Fix compilation in cyclesAntony Riakiotakis
2014-06-14Quiet warning in CyclesCampbell Barton
2014-06-14Cycles: Add support for uchar4 attributes.Thomas Dinges
* Added support for uchar4 attributes to Cycles' attribute system. * This is used for Vertex Colors now, which saves some memory (4 unsigned characters, instead of 4 floats). * GPU Texture Limit on sm_20 and sm_21 decreased from 95 to 94, because we need a new texture for the uchar4 attributes. This is no problem for sm_30 or newer. Part of my GSoC 2014.
2014-06-14Code cleanup.Thomas Dinges
2014-06-14Cycles: Add an AVX2 CPU kernel.Thomas Dinges
This kernel is compiled with AVX2, FMA3, and BMI compiler flags. At the moment only Intel Haswell benefits from this, but future AMD CPUs will have these instructions as well. Makes rendering on Haswell CPUs a few percent faster, only benchmarked with clang on OS X though. Part of my GSoC 2014.