May 7, 2015, 12:06 (GMT) |
Cycles kernel split: Always gather requested feature set for the device It is a bit violation of design to check what kernel type device will use prior gathering the required features. It'll also fail for cases like network rendering. This bit of code is relatively cheap, so there's no real harm doing it always and letting the device itself to decide ignore or use the info. |
May 7, 2015, 11:58 (GMT) |
Cycles kernel split: Remove ugly hack from Session::load_kernels() It was really bad decision to save/restore status message. It still might flicker in the interface, plus it'll spam the logs output anyway. |
May 7, 2015, 11:47 (GMT) |
Cycles kernel split: get_*() vs. *_get() for class methods Prior to own changes in master it was all consistent to use get_ as a prefix for class methods. Let's keep this consistent and probably make it consistent in master as a separate commit as well. |
May 7, 2015, 11:43 (GMT) |
Cycles kernel split: Get rid of loading kernels from run_cpu/run_gpu It's not proper way to do it and proper approach should be: - Requested device capabilities should be calculatable prior to device_update. This basically means all the things are to be coming from C++ classes, not from packed textures and so. - Kernel might be needed to be reloaded (for example if node set is changed in the viewport, but it'll need to have proper check around if kernel really need to be reloaded. - Device capabilities are to be fast to calculate and for the clearity of the model should be always passed to the device, without extra checks whether device actually needs those capabilities. Current code is not totally optimal for the viewport, but in terms of node set it matches previous behavior and it also fixes issues around possible wrong max closure counter passed to the kernel after tweaks in the shader tree. P.S. Capability is getting a bit overused here, would need to make clear naming for it. |
May 7, 2015, 11:03 (GMT) |
Cycles kernel split: Get rid of legacy selective nodes compilation checks |
May 7, 2015, 10:59 (GMT) |
Cycles kernel split: Begin reworking selective node compilation The idea is to replace previous approach based on parsing SVN nodes stack with approach which will let us gather required nodes set prior to device update. The new idea is: - Have few node groups, starting with a group which contains nodes are used really often, and then couple of groups which will be extension of this one. - Have feature-based nodes disabling, so it's possible to disable nodes related to features which are not used with the currently used nodes group. This commit only lays down needed routines for this approach, actual split will happen later after gathering statistics from bunch of production scenes. |
May 7, 2015, 10:33 (GMT) |
Cleanup: Remove some unneeded white space changes, to make diff clearer |
May 7, 2015, 10:07 (GMT) |
Merge branch 'master' into cycles_kernel_split Conflicts: intern/cycles/kernel/svm/svm.h |
May 7, 2015, 09:56 (GMT) |
Cycles kernel split: Move address space specification to DebugData typedef Debug pass does not really work, but it isn't caused by this change and would need to have separate look. |
May 7, 2015, 09:26 (GMT) |
Cycles kernel split: Move address space specification to PathRadiance typedef |
May 7, 2015, 09:16 (GMT) |
Cycles kernel split: Move address space specification to Intersection typedef |
May 7, 2015, 09:01 (GMT) |
Cycles kernel split: Move address space specification to ShaderClosure typedef |
May 7, 2015, 08:52 (GMT) |
Cycles kernel split: Move address space specification to ShaderData typedef Same as previous change, reduces amount of technical changes related to adding ccl_addr_space all over the place in the kernel. |
May 7, 2015, 08:43 (GMT) |
Merge branch 'master' into cycles_kernel_split |
May 7, 2015, 08:39 (GMT) |
Cycles kernel split: Move address space specification to KernelGlobals typedef This way we don't need to add ccl_addr_space specification all over the kernel for KernelGlobals. |
May 6, 2015, 18:35 (GMT) |
Cycles kernel split : Disable TRANSPARENT_SHADOWS for AMD platform AMD platform has some known issues with TRANSPARENT_SHADOWS feature. Disabling TRANSPARENT_SHADOWS until AMD drivers overcome the issues. |
May 6, 2015, 17:38 (GMT) |
Cycles kernel split : Remove SPLIT_KERNEL suffix in device_opencl.cpp |
May 6, 2015, 17:38 (GMT) |
Cycles kernel split : Remove misleading load_kernels progress bar status |
May 6, 2015, 13:00 (GMT) |
Cycles kernel split: Clarify some comments in session.h |
May 6, 2015, 12:58 (GMT) |
Cycles kernel split: De-duplicate image updating Was harmless issue caused by merge conflict, but still no reason to try updating images twice :) |
|