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
path: root/intern
AgeCommit message (Collapse)Author
2012-09-12Attempted fix for #32415: tighten up cycles opencl initialization checks to ↵Brecht Van Lommel
try to avoid crashes. Don't think these should be needed but maybe it helps.
2012-09-12Cycles UI:Thomas Dinges
* Non-Progressive UI couldn't be displayed if the device was set to GPU, but User Preferences Device was NULL. (for example when opening .blend file on another computer without GPU capabilities) * Fix missing update in the Properties editor, when changing compute_device. This fixes [#32115] OSX and cycles no non-progessive sample input settings appearing in interface.
2012-09-11Performance fix for Cycles: Don't wait in the main UI thread when resetting ↵Lukas Toenne
devices. When the scene is updated Cycles resets the renderer device, cancelling all existing tasks. The main thread would wait for all running tasks to finish before continuing. This is ok when tasks can actually cancel in a timely fashion. For OSL however, this does not work, since the OSL shader group optimization takes quite a bit of time and can not be easily be cancelled once running (on my crappy machine in full debug mode: ~0.12 seconds for simple node trees). This would lead to very laggy UI behavior and make it difficult to accurately control elements such as sliders. This patch removes the wait condition from the device->task_cancel method. Instead it just sets the do_cancel flag and returns. To avoid backlog in the task pool of the device it will return early from the BlenderSession::sync function while the reset is going on (tested in Session::resetting). Once all existing tasks have finished the do_cancel flag is finally cleared again (checked in TaskPool::num_decrease). Care has to be taken to avoid race conditions on the do_cancel flag, since it can now be modified outside the TaskPool::cancel function itself. For this purpose the scope of the TaskPool::num_mutex locks has been extended, in most cases the mutex is now locked by the TaskPool itself before calling TaskScheduler methods, instead of only locking inside the num_increase/num_decrease functions themselves. The only occurrence of a lock outside of the TaskPool methods is in TaskScheduler::thread_run. This patch is most useful in combination with the OSL renderer mode, so it can probably wait until after the 2.64 release. SVM tasks tend to be cancelled quickly, so the effect is less noticeable.
2012-09-11code cleanup: string c++ lib, defines for default string sizes and use m_ ↵Campbell Barton
convention for member naming.
2012-09-10Fix #32529: after tomato merge, cycles multi GPU render not using all GPUs withBrecht Van Lommel
F12 rendering.
2012-09-10Cleanup for OSL linking in cmake: Move cmake OSL library search and path ↵Lukas Toenne
definition from the cycles macro file to the top-level CMakeLists.txt. This makes the OSL_LIBRARIES and other variables accessible throughout Blender cmake scripts and especially in the creator module for linking libraries.
2012-09-08style cleanupCampbell Barton
2012-09-08style cleanupCampbell Barton
2012-09-07Fix for Cycles (CUDA) compilation (again ...). Moved the AttributeStandard ↵Lukas Toenne
enum typedef and the attribute_standard_name mapping function to util_attribute/util_types headers, so they can properly be used by kernel and render files alike. This should avoid any std C includes which are not available in CUDA. Thanks to Sergey for help!
2012-09-06Resolve CUDA kernel compilation errorSergey Sharybin
Instead of including util_string.h which in fact also defines some symbols from util_string.cpp include STL's string header and directly use std::string.
2012-09-06Cycles compiler fixes related to OSL changes:Lukas Toenne
* reverted r50430 * removed 2 util_params.h includes from r50428, these were causing trouble with OIIO in CUDA compilation. The purpose of these was to define the ustring type, but can just use the standard string type from util_string as well.
2012-09-06style cleanup: indentationCampbell Barton
2012-09-06code clenup: comments and some style edits on ghost/osx (odd indentation)Campbell Barton
2012-09-06OSL Backend:Thomas Dinges
* Added the Phong BRDF from the inbuilt OSL shader library. This can be used in OSL shaders only for now: * phong(normal N, float exponent) * phong_ramp(normal N, float exponent, color colors[8]
2012-09-06silencing some of the warnings in OSL for OSXDalai Felinto
2012-09-05Quick fix for compiler error. Somehow the isfinite symbol got lost for SVM ↵Lukas Toenne
too now, no idea how this happened or where it actually came from. This will likely also cause trouble with CUDA/OpenCL compilers, will have to be fixed properly later.
2012-09-05Fix for attribute lookup in OSL. This uses a map in the OSL globals instead ↵Lukas Toenne
of the device texture.
2012-09-05Cycles fix: particle standard attribute had no name conversion yet.Lukas Toenne
2012-09-05Fix for OSL memory leak. The context creation for OSL is now done in the ↵Lukas Toenne
shader_setup_* functions, since it should specific to the sample being worked on. The the context release then happens in the kernel_shader functions after shader evaluation is done. Care has to be taken to ensure the shader_release function is also called in cases where the path integration is cancelled early, this was the main cause for unreleased contexts and subsequent new allocations.
2012-09-05* Forgot to commit CMake change for the Brick texture.Thomas Dinges
2012-09-05OSL:Thomas Dinges
* Noise Texture is rendering now.
2012-09-05Cycles / OSL:Thomas Dinges
* Ported the Brick Texture to OSL. Renders fine :)
2012-09-04Revert "Use one context per OSL thread. Not sure if this actually works, but ↵Lukas Toenne
the simple renderer example in OSL does it this way." This does not actually work: The context must not be shared between threads, but using the same context between different samples actually seems to prevent OSL from switching between shaders. The proper solution would be to ensure memory pooling works correctly. This reverts commit 69f87e69258d6266dcb20f09f7e3d4021e663432.
2012-09-04OSL:Thomas Dinges
* Holdout shader is now working in OSL.
2012-09-04Fix for OSL input parameter name mapping. When assigning input constants to ↵Lukas Toenne
shader parameters, use the compatible_name function to strip whitespace.
2012-09-04Minor syntax error in musgrave osl texture.Lukas Toenne
2012-09-04OSL:Thomas Dinges
* WIP commit of fixes for musgrave and wave.
2012-09-04Cycles: merge of changes from tomato branch.Brecht Van Lommel
Regular rendering now works tiled, and supports save buffers to save memory during render and cache render results. Brick texture node by Thomas. http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Textures#Brick_Texture Image texture Blended Box Mapping. http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Textures#Image_Texture http://mango.blender.org/production/blended_box/ Various bug fixes by Sergey and Campbell. * Fix for reading freed memory in some node setups. * Fix incorrect memory read when synchronizing mesh motion. * Fix crash appearing when direct light usage is different on different layers. * Fix for vector pass gives wrong result in some circumstances. * Fix for wrong resolution used for rendering Render Layer node. * Option to cancel rendering when doing initial synchronization. * No more texture limit when using CPU render. * Many fixes for new tiled rendering.
2012-09-04OSL:Thomas Dinges
* Gradient texture renders now.
2012-09-04Use one context per OSL thread. Not sure if this actually works, but the ↵Lukas Toenne
simple renderer example in OSL does it this way.
2012-09-04Fix for bad memory leak in OSL: the context created for each OSL sample did ↵Lukas Toenne
not get released properly.
2012-09-04fix for building without python, also rework python-main-loop control in the ↵Campbell Barton
BGE to not use RNA (use lower level BKE/BLI funcs instead)
2012-09-04code cleanup: move file string defines into BLI_path_utils.h, ↵Campbell Barton
BKE_utildefines is now unused but keep incase we want to add defines there later.
2012-09-03Fix for Cycles OSL: The RenderServices pointer in ShadingSystem is no longer ↵Lukas Toenne
accessible from the interface class (presumably because it is just the base class pointer anyway and would have to be casted). The OSLRenderServices pointer to our own implementation is now stored alongside the ShadingSystem in the kernel globals, so it can be accessed in thread_init.
2012-09-03The shader id generated by the manager contains some special flags in high ↵Lukas Toenne
bits, leading to out-of-range index if used directly. This must use the SHADER_MASK to get actual array index.
2012-09-03Fix #32089: non-progressive integrator issue with semi-transparent surfaces.Brecht Van Lommel
2012-09-03Fix #32046: GHOST_DropTargetWin32 memory leak, patch by Matt D.Brecht Van Lommel
2012-09-03Fix #32088: cycles crash removing a lamp with non-progressive sampling.Brecht Van Lommel
2012-09-03OSL / Cmake:Thomas Dinges
* Holdout shader was missing in cmake.
2012-09-03Fix #32097: cycles window texture coordinate wrong, happened after 2.63.Brecht Van Lommel
2012-09-03Enable compilation of the SVM backend for Cycles even when OSL is enabled. ↵Lukas Toenne
The switch between SVM/OSL is decided at runtime, so the SVM code cannot simply be ignored when OSL is enabled. Currently all shader functions check the OSL/SVM flag to dispatch to the appropriate backend. If this turns out to be a significant overhead (unlikely) this test should be moved out of the inner loop.
2012-09-03Fix #32144: cycles viewport missing update with dupliverts. Ideally this ↵Brecht Van Lommel
would be fixed in the dependency graph so it gives a proper signal but that would need a bigger refactor.
2012-09-03* Added back UI switch for the Cycles shading system. Only visible when the ↵Thomas Dinges
feature set is "Experimental".
2012-09-03Fix for OSL shader install paths.Lukas Toenne
2012-09-03RTTI needs to be disabled in cycles for OSL.Lukas Toenne
2012-09-03Added library linking for cycles_kernel_osl to OSL libraries and added ↵Lukas Toenne
cycles_kernel_osl to the list of blender libs in creator.
2012-09-03Replaced dynamic_casts for node type checks by simple 'special type' ↵Lukas Toenne
identifiers. RTTI has to be disabled in cycles for OSL.
2012-09-02Cycles compile fix: only use std::isfinite when OSL is enabled.Lukas Toenne
2012-09-02* Removed last occurrence of get_pointcloud_attr_query. Thomas Dinges
2012-09-02* OSL can't overwrite input parameters, use a local variable instead.Thomas Dinges