May 8, 2015, 12:01 (GMT) |
Cycles kernel split: Avoid having temporary variable in shader function in megakernel Those temp variables are only needed in OpenCL split kernel and better be avoided in other kernels since it's not cheap to create them. In the future it'll be replaced with generic address space from OpenCL 2.0. |
May 8, 2015, 11:04 (GMT) |
Cycles kernel split: Remove extra argument from direct_emission in megakernel It's just dummy attribute which will never be optimized due to non-inline nature of the function. |
May 8, 2015, 11:01 (GMT) |
Cycles kernel split: Avoid having temp variable in non-split kernel |
May 8, 2015, 10:44 (GMT) |
Cycles kernel split: Remove unused/unwanted declaration |
May 8, 2015, 10:40 (GMT) |
Cycles kernel split: Avoid unnecessary structure reshuffle Saves 12 bytes per shader data actually. |
May 8, 2015, 10:33 (GMT) |
Cycles kernel split: Avoid unnecessary arguments from more functions |
May 8, 2015, 09:45 (GMT) |
Cycles kernel split: Avoid adding extra arguments to shadow_blocked() This way it's guaranteed non-split kernel is exactly the same, and also localizes changes to a single file only without touching existing path tracing code. |
May 8, 2015, 09:37 (GMT) |
Cycles kernel split: Avoid having duplicated wireframe function It was only used because of address space mess. Now it's solved by using temporary variable which is betetr than duplication and could be solved with OpenCL 2.0. |
May 8, 2015, 09:07 (GMT) |
Cycles kernel split: Remove unwanted whitespace changes |
May 8, 2015, 07:58 (GMT) |
Merge branch 'master' into cycles_kernel_split |
May 8, 2015, 07:20 (GMT) |
Cycles Kernel Split: Kill some more whitespace changes to mkae diff more clear. |
May 7, 2015, 15:23 (GMT) |
Cycles kernel split: Indentation fixes in new kernel files |
May 7, 2015, 15:18 (GMT) |
Cycles kernel split: Don't add extra argument to emissive eval in non-split kernel This argument does not have chance to be optimized out and it also causes ptex to crash on sm_30 experimental kernel/ |
May 7, 2015, 14:59 (GMT) |
Cycles kernel split: Get rid of redundant _KERNEL_SPLIT suffix of kernels |
May 7, 2015, 13:55 (GMT) |
Merge branch 'master' into cycles_kernel_split |
May 7, 2015, 13:52 (GMT) |
Cycles kernel split: Remove unwanted whitespace changes |
May 7, 2015, 13:38 (GMT) |
Cycles kernel split: No need to get tile size from manager, it's known in params |
May 7, 2015, 13:24 (GMT) |
Cycles kernel split: Fix broken logic around multi-closure in device_opencl The code actually acted in a way when multi-closure was always enabled, this is due to kernel_types.h header by default using CPU settings. This caused re-definition of maximum number of closures. Now the code acts in a way so desired number of closure is passed via cflags and then kernel decided whether to use it or ignore. It's possible that some OpenCL platform still over-allocates, but that's not caused by this change and needs to be addressed separately. |
May 7, 2015, 13:15 (GMT) |
Cycles kernel split: Move device requested features to own struct Previously it was all stored in the device itself, which is not really good practice. Now all parameters which are related on what exact kernel with what feature set to load are wrapped into own struct which is passed to load_kenrels() function. Network render part is not really tested and likely is broken. |
May 7, 2015, 12:12 (GMT) |
Cycles kernel split: Remove unneeded changes in device multi Setting multi device's split kernel flag is a bit misleading and actually malformed. it might be in theory heterogeneous environment where it'll be totally unclear how to treat this flag. Since it's now only used for skipping samples report in the status line and multi devices are ignored anyway it's safe to remove that bit of code. TODO: Still have feeling we can get rid of this flag in device info and just treat reported number of samples as scheduled number of samples. This could also help in the cases like distributed rendering. |
|