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-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-05-22Cycles: Restructure kernel files organizationSergey Sharybin
Since the kernel split work we're now having quite a few of new files, majority of which are related on the kernel entry points. Keeping those files in the root kernel folder will eventually make it really hard to follow which files are actual implementation of Cycles kernel. Those files are now moved to kernel/kernels/<device_type>. This way adding extra entry points will be less noisy. It is also nice to have all device-specific files grouped together. Another change is in the way how split kernel invokes logic. Previously all the logic was implemented directly in the .cl files, which makes it a bit tricky to re-use the logic across other devices. Since we'll likely be looking into doing same split work for CUDA devices eventually it makes sense to move logic from .cl files to header files. Those files are stored in kernel/split. This does not mean the header files will not give error messages when tried to be included from other devices and their arguments will likely be changed, but having such separation is a good start anyway. There should be no functional changes. Reviewers: juicyfruit, dingto Differential Revision: https://developer.blender.org/D1314
2015-05-10Cycles: Add -mf16c for previous commit for SconsSv. Lockal
Thanks to Dingto for noticing!
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: 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-03Cycles: Support logging when building with SConsSergey Sharybin
Basically, title says ti all, the option is called WITH_BF_CYCLES_LOGGING
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-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-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-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-06-14Follow up for previous commit: need to tweak args for scons as wellSergey 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-15CMake/SCons: finish removing MSVC2012 referencesCampbell Barton
2014-05-03Comment out scons '-Werror=float-conversion' for Cycles for now.Bastien Montagne
This option is only available in gcc >= 4.9, and we do not have a fancy helper in scons to check availability of a flag...
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-01-29Fix sconscript syntax error when using python 2.x instead of 3.x.Brecht Van Lommel
2014-01-29Scons: Some tweaks for f70d9660474c, we don't need SSE41 kernel for 32bit, ↵Thomas Dinges
nor vc2008 x64.
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-27OSX/scons: fix gnu gcc compile by using clang assembler ( openMP builds)Jens Verwiebe
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-17OSX/Cycles: tentative fix for avx, try use the compiler that is default on ↵Jens Verwiebe
desired xcode version. Atm. it is only verified to work with clang 5.0, so either this works too with llvm-gcc or apple gcc, or we have to rise the requirements for osx.
2014-01-16Workaround for avx assembler not compiling with vanilla gcc ( with openMP case )Jens Verwiebe
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-15Cycles: Build SSE41 kernel per default, remove build option. This hopefully ↵Thomas Dinges
also fixes some compile errors on various systems.
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
2014-01-07Added scons option to actually build the sse41 kernel. CMake already has itMartijn Berger
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-09-01Move GCC attributes into a centraized definesSergey Sharybin
Instead of having ifdef __GNUC__ all over the headers to use special compiler's hints use a special file where all things like this are concentrated. Makes code easier to follow and allows to manage special attributes in more efficient way. Thanks Campbell for review!
2013-06-19Cycles: optimized SSE BVH traversal now also works with SSE2 CPUs, so all theBrecht Van Lommel
way back to Pentium 4, using a slightly less efficient instruction. Also ensure /Ox is used for Visual Studio for RelWithDebInfo builds.
2013-06-18Cycles: attempt to fix internal compile error with some visual studio buildsBrecht Van Lommel
2013-06-18Cycles / BVH:Thomas Dinges
* GCC needs -mssse3 compile flag too (4.7.2) to compile.
2013-05-09Cycles:Thomas Dinges
* Remove unused film_response table code.
2013-02-11Fix scons win32 link error with OSL, also fix a GLEW linker warningBrecht Van Lommel
2013-02-04Fix cycles intersection issue with overlapping faces on windows 32 bit and CPUBrecht Van Lommel
without SSE3 support, due to 80 bit precision float register being used for one bounding box but not the one next to it.
2013-01-31Fix cycles windows link errors when building with OSL master branch.Brecht Van Lommel
2013-01-14Remove usage WITH_CYCLES_CUDA_BINARIES in code, use check forSergey Sharybin
precompiled cubins instead, Logic here is following now: - If there're precompiled cubins, assume CUDA compute is available, otherwise - If cuda toolkit found, assume CUDA compute is available - In all other cases CUDA compute is not available For windows there're still check for only precompiled binaries, no runtime compilation is allowed. Ended up with such decision after discussion with Brecht. The thing is, if we'll support runtime compilation on windows we'll end up having lots of reports about different aspects of something doesn't work (you need particular toolkit version, msvc installed, environment variables set properly and so) and giving feedback on such reports will waste time.
2012-12-17Added GPL header to sconscripts!Bastien Montagne
Also changed shebang to '#!/usr/bin/env python', this is more portable across unixes...
2012-11-26Fix: cycles light sampling crash, happens on rare occasions due to floatBrecht Van Lommel
rounding errors.
2012-11-16OSX/scons/osl: initial osl compiling, todo: fix shader compile and copy to ↵Jens Verwiebe
bundle
2012-11-15OSL Scons rulesSergey Sharybin
Initial support of OSL builds using SCons build system. Only tested on Linux now. No changes to configuration files themselves -- for now check how it's configured for linux buildbot (it was already horror to make all this changes and verify them, changes to linux-config.py could easily be done later). Currently WITH_BF_STATICOSL and WITH_BF_STATICLLVM are more like rudiments because linking against oslexec requires special trick with --whole-archive. We woul either need to find a way dealing with this oslexec less hackish or drop STATICOSL and STATICLLVM flags. Will keep dropping this flags for until we have "final" build rules for OSL. Still can not make 32bit linux rendering with OSL -- blender simply crashes when starting rendering. So for time being this issues are solving disabled OSL for 32bit build slaves.
2012-11-12Fix to allow several include dirs for python under scons build system ↵Bastien Montagne
(needed with new py3.3 debian-like packages).
2012-11-03Cycles: use mikktspace now for computing tangents from UV maps. This avoids uglyBrecht Van Lommel
averaged tangents at UV seams but instead now the seams will show as discontinuities in the tangent.
2012-06-25Fix for cycles building with assertions on scons/windows.Brecht Van Lommel
2012-05-28Scons / MSVC - Windows x64Thomas Dinges
* SSE/SSE2 is an unknown option for the compiler (Command line warning D9002 : ignoring unknown option '/arch:SSE2'), so it can be left out because on x64 it automatically builds with SSE and SSE2.
2012-04-24Add libMV and Scons support for MinGW-w64, patches by Caleb Joseph with ↵Antony Riakiotakis
slight modifications. Thanks!
2012-02-04Fix for Luxrender boost::thread conflict, workaround now is to just not use itBrecht Van Lommel
in cycles and use pthreads instead.
2011-12-02Cycles:Brecht Van Lommel
* Fix broken compile of test app. * Fix some warnings compiling with gcc for 32 bit. * More tweaks to avoid extended precision issue from #29301.
2011-12-01CyclesBrecht Van Lommel
* Compile all of cycles with -ffast-math again * Add scons compilation of cuda binaries, tested on mac/linux. * Add UI option for supported/experimental features, to make it more clear what is supported, opencl/subdivision is experimental. * Remove cycles xml exporter, was just for testing.