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
2020-03-26Cycles: Restore cycles_cubin_cc to working orderRay Molenkamp
Reviewed by: brecht pmoursnv Differential Revision: https://developer.blender.org/D7136
2020-03-18Cycles: support rendering new Volume object typeBrecht Van Lommel
Voxels are loaded directly from the OpenVDB grid. Rendering still only supports dense grid, so memory usage is not great for sparse volumes, this is to be addressed in the future. Ref T73201
2020-03-11Cycles: disable RTTI only for OSL files, other libraries like OpenVDB need itBrecht Van Lommel
This is a bit weak since it's not entirely clear where the boundary is, but tested to build and pass tests on all platforms.
2020-02-17Cycles: Add support for adaptive kernel compilation to OptiX devicePatrick Mours
This modifies the common CUDA implementation for adaptive kernel compilation slightly to support both CUBIN and PTX output (the latter which is then used in the OptiX device). It also fixes adaptive kernel compilation on Windows. Reviewed By: brecht Differential Revision: https://developer.blender.org/D6851
2019-11-08Windows: Switch to the dynamic C runtimeRay Molenkamp
This change switches windows to the dynamic C runtime avoiding issues coming from mixing the static and dynamic runtime like the ones outlined in [1] [1] https://developer.blender.org/D5387#122165 Differential Revision: https://developer.blender.org/D6175 Reviewed by: @Sergey
2019-10-28CMake: add missing headers, use space before commentsCampbell Barton
2019-09-13Cycles: add Optix device backendPatrick Mours
This uses hardware-accelerated raytracing on NVIDIA RTX graphics cards. It is still currently experimental. Most features are supported, but a few are still missing like baking, branched path tracing and using CPU memory. https://wiki.blender.org/wiki/Reference/Release_Notes/2.81/Cycles#NVIDIA_RTX For building with Optix support, the Optix SDK must be installed. See here for build instructions: https://wiki.blender.org/wiki/Building_Blender/CUDA Differential Revision: https://developer.blender.org/D5363
2019-08-02Build: disable RTTI for the entire Cycles module, not only the kernelBrecht Van Lommel
The partial disabling was causing issues with Clang and ASAN, and it seems we don't need to restrict it to the kernel anymore now that we are no longer using boost directly.
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-03-15Cycles: upgrade to CUDA 10.1 as the one officially supported version.Brecht Van Lommel
This version fixes various bugs, and there is no need anymore to use both 9.1 and 10.0 for different cards. There is a bug related to WITH_CYCLES_CUBIN_COMPILER and bump mapping in the regression tests, so that remains disabled same as it was for CUDA 10.0. Fix T59286: CUDA bake failing on some cards. Fix T56858: CUDA 9.2 and 10 issues.
2018-12-05Fix build with old CMake versions.Brecht Van Lommel
2018-12-04Cycles: add initial CUDA 10.0 support, but only recommend use for Turing cards.Brecht Van Lommel
There may still be rendering errors when used for older graphics cards.
2018-11-26CMake: Remove Cycles specific OpenSubdiv optionsSergey Sharybin
Just use one flag which enables OpenSubdiv globally for all the areas of Blender.
2018-11-07Cycles: Added Embree as BVH option for CPU renders.Stefan Werner
Note that this is turned off by default and must be enabled at build time with the CMake WITH_CYCLES_EMBREE flag. Embree must be built as a static library with ray masking turned on, the `make deps` scripts have been updated accordingly. There, Embree is off by default too and must be enabled with the WITH_EMBREE flag. Using Embree allows for much faster rendering of deformation motion blur while reducing the memory footprint. TODO: GPU implementation, deduplication of data, leveraging more of Embrees features (e.g. tessellation cache). Differential Revision: https://developer.blender.org/D3682
2018-10-22Windows: Enable python debugging in Visual Studio.Ray Molenkamp
see D3817 for technical details, and https://wiki.blender.org/wiki/Tools/Debugging/Python_Visual_Studio for a end user quick-start guide. Differential Revision: https://developer.blender.org/D3817
2018-10-03cycles: Support building with cuda 10 on windows.Ray Molenkamp
2018-09-27Fix CUDA build with Xcode 10.0, use nvrtc due to incompatible compilers.Brecht Van Lommel
2018-08-28cmake: adjustments required for lib-upgrade on windows.Ray Molenkamp
2018-07-30Build: require C11/C++11 for all operating systems in master.Brecht Van Lommel
This is in preparation of upgrading our library dependencies, some of which need C++11. We already use C++11 in blender2.8 and for Windows and macOS, so this just affects Linux. On many distributions this will not require any changes, on some install_deps.sh will need to be run again to rebuild libraries. Differential Revision: https://developer.blender.org/D3568
2018-06-29Cleanup: trailing newlinesCampbell Barton
2018-06-14Cycles: Query XYZ to/from Scene Linear conversion from OCIO instead of ↵Lukas Stockner
assuming sRGB I've limited it to just the RGB<->XYZ stuff for now, correct image handling is the next step. Reviewers: brecht, sergey Differential Revision: https://developer.blender.org/D3478
2018-05-28Windows: Add support for building with clang.Ray Molenkamp
This commit contains the minimum to make clang build/work with blender, asan and ninja build support is forthcoming Things to note: 1) Builds and runs, and is able to pass all tests (except for the freestyle_stroke_material.blend test which was broken at that time for all platforms by the looks of it) 2) It's slightly faster than msvc when using cycles. (time in seconds, on an i7-3370) victor_cpu msvc:3099.51 clang:2796.43 pavillon_barcelona_cpu msvc:1872.05 clang:1827.72 koro_cpu msvc:1097.58 clang:1006.51 fishy_cat_cpu msvc:815.37 clang:722.2 classroom_cpu msvc:1705.39 clang:1575.43 bmw27_cpu msvc:552.38 clang:561.53 barbershop_interior_cpu msvc:2134.93 clang:1922.33 3) clang on windows uses a drop in replacement for the Microsoft cl.exe (takes some of the Microsoft parameters, but not all, and takes some of the clang parameters but not all) and uses ms headers + libraries + linker, so you still need visual studio installed and will use our existing vc14 svn libs. 4) X64 only currently, X86 builds but crashes on startup. 5) Tested with llvm/clang 6.0.0 6) Requires visual studio integration, available at https://github.com/LazyDodo/llvm-vs2017-integration 7) The Microsoft compiler spawns a few copies of cl in parallel to get faster build times, clang doesn't, so the build time is 3-4x slower than with msvc. 8) No openmp support yet. Have not looked at this much, the binary distribution of clang doesn't seem to include it on windows. 9) No ASAN support yet, some of the sanitizers can be made to work, but it was decided to leave support out of this commit. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D3304
2018-04-02Build: fixes for the Intel compiler versions 2016, 2017, 2018.Milan Jaros
Differential Revision: https://developer.blender.org/D3109
2018-02-14CMake: Expose Cycles devices support as CMake optionSergey Sharybin
Handy to disable GPU based devices when it's needed to run Valgrind.
2018-02-09CMake: include missing headersCampbell Barton
2018-02-04msvc: Use source folder structure for project file.Ray Molenkamp
This patch changes the huge list of projects in visual studio into a nice tree matching the source folder structure. see D2823 for details. Differential Revision: http://developer.blender.org/D2823
2018-02-03cycles: Add an nvrtc based cubin cli compiler.Ray Molenkamp
nvcc is very picky regarding compiler versions, severely limiting the compiler we can use, this commit adds a nvrtc based compiler that'll allow us to build the cubins even if the host compiler is unsupported. for details see D2913. Differential Revision: http://developer.blender.org/D2913
2018-01-11Fix Windows compiler warning using WITH_CYCLES_NATIVE_ONLY.Brecht Van Lommel
2017-11-13Cycles: Fix compilation error with OIIO compiled against system PugiXMLSergey Sharybin
2017-09-08Cycles: disable fast math flags, only use a subset.Brecht Van Lommel
Empty BVH nodes are set to NaN which must be preserved all the way to the tnear <= tfar test which can then give false for empty nodes. This needs strict semantices and careful argument ordering for min() and max(), so the second argument is used if either of the arguments is NaN. Fixes T52635: crash in BVH traversal with SSE4.1. Differential Revision: https://developer.blender.org/D2828
2017-04-21CMake: Add option to build against system-wide GlogSergey Sharybin
Similar to previous commit for Gflags.
2017-03-30Fix T51051: Incorrect render on 32bit LinuxSergey Sharybin
The issue was apparently caused by -fno-finite-math-only added to kernel.cpp CFLAGS. For now just removed this flag from the kernel (we don't really want it there at this point, and we don't have it for SSE/AVX optimized kernels). But surely more investigation is needed here.
2017-02-13Cycles: Use fast math without finite optimizationSergey Sharybin
This allows us to use faster math and still have reliable isnan/isfinite tests. Only do it for host side, kernels stays unchanged. Thanks Lukas Stockner for the tip!
2017-01-19Cycles: Don't use fast math for the host codeSergey Sharybin
This is important for the reliable behavior or isnan/isfinite/min/max functions to work with nan and non-finite values. Some of the issues with fast math are possible to work around, but didn't find a way to have reliable min/max implementation yet.
2016-08-07Cycles microdisplacement: Support for Catmull-Clark subdivision via OpenSubdivMai Lavelle
Enables Catmull-Clark subdivision meshes with support for creases and attribute subdivision. Still waiting on OpenSubdiv to fully support face varying interpolation for subdividing uv coordinates tho. Also there may be some inconsistencies with Blender's subdivision which will be resolved at a later time. Code for reading patch tables and creating patch maps is borrowed from OpenSubdiv. Reviewed By: brecht Differential Revision: https://developer.blender.org/D2111
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