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
2016-05-22Code refactor: add generic Cycles node infrastructure.Brecht Van Lommel
Differential Revision: https://developer.blender.org/D2016
2016-05-17Fix C++11 build issues on OS X, remove references to outdated libs.Brecht Van Lommel
2016-03-25Cycles: Add an option to build single kernel only which fits current CPUSergey Sharybin
This seems quite useful for the development, so you don't need to wait all the kernels to be re-compiled when working on a new feature, which speeds up re-iteration. Marked as an advanced option, so if it doesn't work so well in practice it's safe to revert anyway.
2016-03-11Fix compilation of cycles standalone and network deviceMartijn Berger
2016-02-17Cycles: Don't silence unused macro, remove the macro insteadSergey Sharybin
It's not really handy to silence something unused hoping for it'll be used in the future. We can end up with quite some silencing then. Also made this flag which i find rather useless to NOT cause -Werror in Cycles code.
2016-02-12Cycles: Always use guarded allocator of vectorsSergey Sharybin
We don't have vectors re-allocation happening multiple times from inside a loop anymore, so we can safely switch to a memory guarded allocator for vectors and keep track on the memory usage at various stages of rendering. Additionally, when building from inside Blender repository, Cycles will use Blender's guarded allocator, so actual memory usage will be displayed in the Space Info header. There are couple of tricky aspects of the patch: - TaskScheduler::exit() now explicitly frees memory used by `threads`. This is needed because `threads` is a static member which destructor isn't getting called on Blender's exit which caused memory leak print to happen. This shouldn't give any measurable speed issues, reallocation of that vector is only one of fewzillion other allocations happening during synchronization. - Use regular guarded malloc (not aligned one). No idea why it was made to be aligned in the first place. Perhaps some corner case tests or so. Vector was never expected to be aligned anyway. Let's see if we'll have actual bugs with this. Reviewers: dingto, lukasstockner97, juicyfruit, brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D1774
2016-02-06Cycles: Add some utility tests using GTestsSergey Sharybin
This is an initial move to have unittests to at least cover utility functions, which then could be extended further to test such areas as shader optimization and such. Currently only based on initial "infrastructure" layout and writing tests needed to test the no-boost patch. Note: This patch starts to use "<dir>/<header>.h" notation for the include statements which i just got used to do in other projects. Something what would be cool to use globally in the code eventually. Reviewers: dingto, juicyfruit, lukasstockner97, brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D1770
2016-01-30CMake: Remove per-module Werror settingsSergey Sharybin
Seems i was the only one who was really up to using it and i do have gcc-5 finally backported and installed here so such a fine-tune flags are no longer needed.
2016-01-14Cycles: Reduce scope of some defines set in CMakeListsSergey Sharybin
Should be no functional changes at all, just speeds up re-compilation when some features needs to be disabled for development purposes. For example, when running lots of Valgrind it's handy to disable any GPU devices because otherwise you'll be wasting quite some time in the driver while enumerating devices. Reviewers: dingto, lukasstockner97, brecht, juicyfruit Differential Revision: https://developer.blender.org/D1730
2016-01-14CMake: De-duplicate checks around unordered maps and shared pointerSergey Sharybin
Previously several areas were calling TEST_SHARED_PTR_SUPPORT and TEST_UNORDERED_MAP_SUPPORT which isn't that bad on it's own but was causing some quite verbose output with same information line printed multiple times. additionally, what's more worse, define flags for Ceres were duplicated in main CMakeLists and Ceres's CMakeLists. Now we've got a single place where checks for those classes are happening and other areas are simply checking for variables set by those check macros, keeping CMake output clean and nice.
2016-01-04Remove SCons building systemSergey Sharybin
While SCons building system was serving us really good for ages it's no longer having much attention by the developers and started to become quite a difficult task to maintain. What's even worse -- there started to be quite serious divergence between SCons and CMake which was only accumulating over the releases now. The fact that none of the active developers are really using SCons and that our main studio is also using CMake spotting bugs in the SCons builds became quite a difficult task and we aren't always spotting them in time. Meanwhile CMake became really mature building system which is available on every platform we support and arguably it's also easier and more robust to use. This commit includes: - Removal of actual SCons building system - Removal of SCons git submodule - Removal of documentation which is stored in the sources and covers SCons - Tweaks to the buildbot master to stop using SCons submodule (this change requires deploying to the server) - Tweaks to the install dependencies script to skip installing or mentioning SCons building system - Tweaks to various helper scripts to avoid mention of SCons folders/files as well Reviewers: mont29, dingto, dfelinto, lukastoenne, lukasstockner97, brecht, Severin, merwin, aligorith, psy-fi, campbellbarton, juicyfruit Reviewed By: campbellbarton, juicyfruit Differential Revision: https://developer.blender.org/D1680
2015-07-18CMake: Add option to enable -Werror cflag in some areasSergey Sharybin
It is rather annoying attitude nowadays to use const qualifier all over the place, including using it for multi-dimensional arrays. This isn't really supported in GCC prior to version 5.0 because it considers such an arrays to be a "pointer to a const pointer" which gives implicit casting errors. It's not possible to disable this particular type of warnings treated as errors in any GCC version prior to 5.0 as well, meaning currently usage of -Werror globally in Blender code is not possible at all. This commit makes it possible to use -Werror in areas which are complaint with older GCC versions. New advanced CMake options are: - WITH_COMPOSITOR_WERROR - WITH_LIBMV_WERROR - WITH_CYCLES_WERROR
2015-07-18Cleanup: whitespace (CMake)Campbell Barton
2015-05-10Cycles: Use native float->half conversion instructions for Haswell CPUs.Sv. Lockal
This makes OCIO viewport color correction a little bit faster (about -0.5s for 100 samples) Also set max half float value to 65504.0 to conform with IEEE 754.
2015-03-29Optionally use c++11 stuff instead of boost in cycles where possible. We do ↵Martijn Berger
and continue to depend on boost though Reviewers: dingto, sergey Reviewed By: sergey Subscribers: #cycles Differential Revision: https://developer.blender.org/D1185
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: Correction to previous SSE/AVX flags detectionSergey Sharybin
Ensure AVX/AVX2 is not used when Cycles is configured with WITH_CPU_SSE set to OFF.
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: Fix compilation error with compilers which doesn't support AVXSergey Sharybin
For SSE checks still could be decoupled to be able to compile SSE2 kernel and not SSE4 depending on the CPU or so.
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-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-10-15Futher tweaks to WITH_CPU_SSE optionSergey Sharybin
Explicitly disable SSE kernels in Cycles when this option is used.
2014-10-08Cycles: enable double promotion warning /w gccCampbell Barton
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-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-06-28Cycles: use SYSTEM for external includesCampbell Barton
2014-06-17Cycles: only use -fno-rtti with OSL (conflicts with -fsanitize=vptr)Campbell Barton
2014-06-14Cycles: Fix compilation error of AVX2 kernel with GCC/ClangSergey Sharybin
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.
2014-05-03Fix '-Werror=float-conversion' error with gcc < 4.9, for CMakeBastien Montagne
Scons is still TODO.
2014-05-03Code cleanup: Add -Werror=float-conversion to CyclesCampbell Barton
2014-03-31Cycles: fix 3-5% performance regression in msvc builds caused by a typo in ↵Sv. Lockal
stackchecking flags.
2014-03-27CMake: disable SSE flags if gcc/clang don't supportCampbell Barton
2014-03-13Code cleanup: cmakeCampbell Barton
2014-02-03Cycles: enable /arch:AVX in msvc 11 and later versions for avx kernelSv. Lockal
This enables VEX-encoding in AVX kernel for windows msvc builds and gives 5-10% speedup for different scenes. Reviewers: juicyfruit, dingto, brecht Reviewed By: brecht CC: brecht Differential Revision: https://developer.blender.org/D284
2014-01-29Scons: refactor cycles kernel code to avoid building the AVX kernel withBrecht Van Lommel
compilers that don't support it. CMake still needs to updated to work the same for consistency, but this should fix the OS X buildbot at least.
2014-01-27Revert recent OpenEXR cmake/linux fix and earlier OS X fix to use GCC for AVX.Brecht Van Lommel
Both need a better solution and break working builds.
2014-01-27Attempt to fix T38373: cmake linux build failure with OpenEXR.Brecht Van Lommel
2014-01-21Cycles Standalone: GUI flag was not passed correctly to the code, own ↵Thomas Dinges
mistake when I added the GUI build option.
2014-01-20Cycles: Add a cmake config to easily compile Cycles Standalone.Thomas Dinges
On Linux/Mac OS X, simply type "make cycles" inside the Blender source directory, to get a standalone build of the engine. Reviewed by: Brecht Differential Revision: https://developer.blender.org/D228
2014-01-16Fix compilation of Cycles AVX kernel with cmake.Thomas Dinges
2014-01-16Cycles: Add an AVX kernel for CPU rendering.Thomas Dinges
* AVX is available on Intel Sandy Bridge and newer and AMD Bulldozer and newer. * We don't use dedicated AVX intrinsics yet, but gcc auto vectorization gives a 3% performance improvement for Caminandes. Tested on an i5-3570, Linux x64. * No change for Windows yet, MSVC 2008 does not support AVX. Reviewed by: brecht Differential Revision: https://developer.blender.org/D216
2014-01-14Cycles: Skip the compilation of the dedicated SSE2 kernel on x86-64, we can ↵Thomas Dinges
assume SSE2 here, so just re-use the regular one. Saves 500kb in the blender binary. Reviewed by: brecht Differential Revision: https://developer.blender.org/D199
2013-11-28Cycles: experimental OpenSubdiv code.Brecht Van Lommel
This code can't actually be enabled for building and is incomplete, but it's here because we know we want to support this at some point and there's not much reason to have it in a separate branch if a simple #ifdef can disable it.
2013-11-28Cycles: experimental OSL ptex reading code.Brecht Van Lommel
This code can't actually be enabled for building and is incomplete, but it's here because we know we want to support this at some point and there's not much reason to have it in a separate branch if a simple #ifdef can disable it.
2013-11-22Cycles: test code for sse 4.1 kernel and alignment for some vector types.Martijn Berger
This is mostly work towards enabling the __KERNEL_SSE__ option to start using SIMD operations for vector math operations. This 4.1 kernel performes about 8% faster with that option but overall is still slower than without the option. WITH_CYCLES_OPTIMIZED_KERNEL_SSE41 is the cmake flag for testing this kernel. Alignment of int3, int4, float3, float4 to 16 bytes seems to give a slight 1-2% speedup on tested systems with the current kernel already, so is enabled now.
2013-08-31Cleanup:Thomas Dinges
* Silence /arch:SSE2 warning on msvc x64.
2013-08-27Cycles / Standalone:Thomas Dinges
* Rename test to standalone. Note: New CMAKE flag is WITH_CYCLES_STANDALONE.