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
2014-05-10Fix T40119, CUDA Toolkit version mismatchThomas Dinges
2014-05-04Style cleanup: indentation, bracesCampbell Barton
2014-05-03Code cleanup: style, require ; for cuda_assert, opencl_assertCampbell Barton
2014-05-03Cycles: CUDA changes for kernel evaluation cancelBrecht Van Lommel
2014-05-03Cycles BakeDalai Felinto
Expand Cycles to use the new baking API in Blender. It works on the selected object, and the panel can be accessed in the Render panel (similar to where it is for the Blender Internal). It bakes for the active texture of each material of the object. The active texture is currently defined as the active Image Texture node present in the material nodetree. If you don't want the baking to override an existent material, make sure the active Image Texture node is not connected to the nodetree. The active texture is also the texture shown in the viewport in the rendered mode. Remember to save your images after the baking is complete. Note: Bake currently only works in the CPU Note: This is not supported by Cycles standalone because a lot of the work is done in Blender as part of the operator only, not the engine (Cycles). Documentation: http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Bake Supported Passes: ----------------- Data Passes * Normal * UV * Diffuse/Glossy/Transmission/Subsurface/Emit Color Light Passes * AO * Combined * Shadow * Diffuse/Glossy/Transmission/Subsurface/Emit Direct/Indirect * Environment Review: D421 Reviewed by: Campbell Barton, Brecht van Lommel, Sergey Sharybin, Thomas Dinge Original design by Brecht van Lommel. The entire commit history can be found on the branch: bake-cycles
2014-05-03Code cleanup: Add -Werror=float-conversion to CyclesCampbell Barton
2014-04-30Cycles CUDA: make CUDA toolkit 6.0 the official supported version.Brecht Van Lommel
This also updates the configurations to build kernels for compute capability 5.0 cards, when using and older CUDA toolkit version this will be skipped. Also includes tweaks to improve performance with this version: * Increase max registers on sm_30, sm_35 and sm_50 * No longer use texture storage on sm_30
2014-04-21Cleanup: Remove OpenCL __MULTI_CLOSURE__ sanity check, not needed anymore ↵Thomas Dinges
after 04a10907dc41.
2014-04-17Cycles CUDA: don't use cuLaunchGridAsync at all for display devices.Brecht Van Lommel
As suggested by Martijn, this is slower than cuLaunchGrid.
2014-04-17Cycles CUDA: only do async execution for GPUs not used for display.Brecht Van Lommel
Otherwise devices used for display will lock up the UI too much. This means you might still get 100% CPU for the display device, but for others CPU usage should be low still. The check to see if a device is used for display may not be entirely reliable, it checks if there is a watchdog timeout on the device, but I'm not entirely sure that always exists for display devices or is disabled for non-display devices, though some tools like cuda-gdb seem to make the same assumption. Ref T39559
2014-04-16Fix another compile error with recent commit on visual studio.Brecht Van Lommel
2014-04-16Cycles CUDA: enabled branched path kernel again, with more registers.Brecht Van Lommel
2014-04-16Cycles code refactor: use __launch_bounds__ instead of -maxrregcount for CUDA.Brecht Van Lommel
This makes it easier to have per kernel number of registers. Also, all the tunable parameters for this are now in kernel.cu, rather than spread over cmake, scons and device_cuda.cpp.
2014-04-09Cycles / CUDA: Increase sm_2x registers to 40.Thomas Dinges
This fixes the ptaxs "ACCESS_VIOLATION" error and should allow our Linux and Windows build bots to compile again. Unfortunately this comes with a performance penalty on sm_2x cards, so this is only a workaround for now. Branched Path is still globally disabled on GPU.
2014-04-07OpenCL Change opencl_assert to be more like cuda assert where possible.Martijn Berger
added some extra warnings and feedback if things go wrong
2014-04-04Cycles: Disable Branched Path on all GPUs for now, until we separate the cubins.Thomas Dinges
SM_20 fails now as well, reported by Zanqdo in IRC.
2014-03-29Cycles code internals: add CPU kernel support for 3D image textures.Brecht Van Lommel
2014-03-27Cycles: Raise a proper error message when using Branched Path on sm_30, this ↵Thomas Dinges
is currently still disabled.
2014-03-26Fix T39420: Cycles viewport/preview flickers, when moving mouse across editorsSergey Sharybin
Issue was caused by the wrong usage of OCIO GLSL binding API. To make it work properly on pre-GLSL-1.3 drivers shader is to be enabled after the texture is binded to the opengl context. Otherwise it wouldn't know the proper texture size. This is actually a regression in 2.70 and to be ported to 'a'.
2014-03-19Fix T39247Martijn Berger
Changes to interpolation break texture allocation on sm35 and greater.
2014-03-08Add support for multiple interpolation modes on cycles image texturesMartijn Berger
All textures are sampled bi-linear currently with the exception of OSL there texture sampling is fixed and set to smart bi-cubic. This patch adds user control to this setting. Added: - bits to DNA / RNA in the form of an enum for supporting multiple interpolations types - changes to the image texture node drawing code ( add enum) - to ImageManager (this needs to know to allocate second texture when interpolation type is different) - to node compiler (pass on interpolation type) - to device tex_alloc this also needs to get the concept of multiple interpolation types - implementation for doing non interpolated lookup for cuda and cpu - implementation where we pass this along to osl ( this makes OSL also do linear untill I add smartcubic to the interface / DNA/ RNA) Reviewers: brecht, dingto Reviewed By: brecht CC: dingto, venomgfx Differential Revision: https://developer.blender.org/D317
2014-03-06Cuda use streams and async to avoid busywaitingMartijn Berger
This switches api usage for cuda towards using more of the Async calls. Updating only once every second is sufficiently cheap that I don't think it is worth doing it less often. Reviewed By: brecht Differential Revision: https://developer.blender.org/D262
2014-02-19Cycle CUDA: revert the f1aeb2ccf4 and 84f958754 busywait fixes for now.Brecht Van Lommel
It's unclear what kind of impact they have on performance at the moment, so I rather play it safe and postpone this for 2.71. Ref T38679, Ref T38712
2014-02-17this is an attempted Fix: T38679Martijn Berger
Cycles GPU Performance Regression From my testing this (what i should have done in the first place) reduces the regression a lot. Lets hope it is enough or we have to go back to busy waiting.
2014-02-06Cycles Network rendering, remove some exception throwing, replace with saner ↵Martijn Berger
error handling This patch adds a network_error() function more alike how other devices handle error's - it adds a check for errors on load_kernels to make sure we do not crash if rendering without a server. - it uses the non throwing variation of boost::asio::read. Reviewers: brecht Reviewed By: brecht CC: brecht Differential Revision: https://developer.blender.org/D86
2014-01-28Cuda use streams and async to avoid busywaitingMartijn Berger
This is my first stab at this and is based on this IRC converstation: <mib2berlin> brecht: this is meaning as reminder only, I know you have other things to do > http://openvidia.sourceforge.net/index.php/Optimization_Notes#avoiding_busy_waits <brecht> mib2berlin: thanks, bookmarked only tested on Ubuntu 14.04 / cuda 5.0 but ill do some more testing tomorrow. Also unsure about the placement and the lifetime of the stream and the event. But creating / deleting these seems to incur a non trivial cost. Reviewers: brecht Reviewed By: brecht CC: mib2berlin, dingto Differential Revision: https://developer.blender.org/D262
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-15Code cleanup: move half float functions to separate header file.Brecht Van Lommel
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-11Fix T37817: cycles CUDA detection problem on Windows with non-ascii paths.Brecht Van Lommel
2014-01-06Code cleanup / Cycles: else/if for SSE41 kernel functions.Thomas Dinges
2013-12-24Cycles / OpenCL: Let the OpenCL runtime determine its optimal work-group ↵Thomas Dinges
size automatically, by passing a NULL pointer here. This is recommended in the Intel OpenCL optimization docs (http://software.intel.com/en-us/vcsource/samples/optimizing-opencl) and I can confirm a small performance increase here (1-2% on nVidia OpenCL, up to 8% on Intel OpenCL).
2013-12-17Cycles / OpenCL: Fix compile error on OS XThomas Dinges
After update to Mac OS X 10.9.1, OpenCL works now on my Intel CPU in the 2013 Macbook Pro (even the entire kernel). The Intel Iris Pro GPU still segfaults here though, even when all flags are disabled (building "clay like" kernel only). Maybe we need the -no-missing-prototypes for AMD hardware still, but I couldn't find a way to distuinguish here.
2013-12-07Cycles: network render code updated for latest changes and improvedMartijn Berger
This actually works somewhat now, although viewport rendering is broken and any kind of network error or connection failure will kill Blender. * Experimental WITH_CYCLES_NETWORK cmake option * Networked Device is shown as an option next to CPU and GPU Compute * Various updates to work with the latest Cycles code * Locks and thread safety for RPC calls and tiles * Refactored pointer mapping code * Fix error in CPU brand string retrieval code This includes work by Doug Gale, Martijn Berger and Brecht Van Lommel. Reviewers: brecht Differential Revision: http://developer.blender.org/D36
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-10-26spelling: use American spelling for canceledCampbell Barton
2013-10-19Fix #37134: cycles viewport not displaying correct with multi GPU renderBrecht Van Lommel
and graphics card that does not support CUDA OpenGL interop.
2013-10-12Fix #37002: cycles viewport render shows white on old graphics cards with noBrecht Van Lommel
support for non-power-of-two textures.
2013-10-08Cycles / CUDA:Thomas Dinges
* Remove support for CUDA Toolkit 4.x, only Toolkit 5.0 and above are supported now. * Remove support for sm_1x cards (< Fermi) for good. We didn't officially support those cards for a few releases already, now remove some special code that was still there.
2013-10-02Fix cycles OpenCL compile error on AMD, and fix assert in debug builds.Brecht Van Lommel
2013-09-30Fix #36873: cycles opencl render status show negative sample count.Brecht Van Lommel
2013-09-27Fix #35684: cycles unable to use full 6GB of memory on NVidia Titan GPU. We nowBrecht Van Lommel
use arrays instead of textures for general storage on this card (image textures are still stored as texture). Textures were found to be faster on older cards, but the limits on 1D texture size have not increased along with the memory size, which meant that the full 6 GB could not be used. The performance actually seems to be slightly better with arrays in some tests on Titan. For older cards there seems to be a bit of a mix, some are better and others not. We may change those to use arrays too, but more testing is needed, only Titan and Tesla K20 (sm_35) is changed for now. The fact that arrays are faster is a bit surprising, as others found textures to be faster on Kepler. However even if they were, the memory limitation is more important to solve anyway. https://research.nvidia.com/publication/understanding-efficiency-ray-traversal-gpus-kepler-and-fermi-addendum
2013-09-04Code cleanup / Cycles:Thomas Dinges
* Removed unused member of the device_memory template.
2013-08-31Cycles: viewport render now takes scene color management settings into account,Brecht Van Lommel
except for curves, that's still missing from the OpenColorIO GLSL shader. The pixels are stored in a half float texture, converterd from full float with native GPU instructions and SIMD on the CPU, so it should be pretty quick. Using a GLSL shader is useful for GPU render because it avoids a copy through CPU memory.
2013-08-31Fix #36137: cycles render not using all GPU's when the number of GPU's is largerBrecht Van Lommel
than the number of CPU threads
2013-08-23Cycles: more code refactoring to rename things internally as well. Also changeBrecht Van Lommel
property name back so we keep compatibility.
2013-08-18Cycles: relicense GNU GPL source code to Apache version 2.0.Brecht Van Lommel
More information in this post: http://code.blender.org/ Thanks to all contributes for giving their permission!
2013-08-10Cycles:Thomas Dinges
* GPU kernel can now be compiled without __NON_PROGRESSIVE__ again, was broken after my last commit. Also add a check for have_error(), in case the GPU kernel comes without Non-Progressive, to avoid a crash. * Don't compile progressive kernel twice on CPU, if __NON_PROGRESSIVE__ would be disabled there.
2013-08-09Cycles / Non-Progressive integrator:Thomas Dinges
* Non-Progressive integrator is now available on the GPU (CUDA, sm_20 and above). Implementation details: * kernel_path_trace() has been split up into two functions: kernel_path_trace_non_progressive() and kernel_path_trace_progressive(). * We compile two CUDA kernel entry functions (in kernel.cu) for the two integrators, they are still inside one .cubin file but due to the kernel separation there should be no performance problem. I tested with the BMW file on my Geforce 540M and the render times were the same for 100 samples (1.57 min in my case). This is part of my GSoC project, SVN merge of r59032 + manual merge of UI changes for this from my branch.