December 5, 2016, 23:21 (GMT) |
Cycles: Replace utility macros with functions from util_types.h |
November 20, 2016, 18:17 (GMT) |
Cycles: Remove unneeded lines in constructor Since these were added to `device_memory` we don't need them in `device_vector` as well. |
November 20, 2016, 18:16 (GMT) |
Cycles: Minor style change |
November 20, 2016, 18:12 (GMT) |
Cycles: Remove uses of nullptr We're avoiding C++11 language features for now. |
November 20, 2016, 18:07 (GMT) |
Cycles: Simpler use of sizeof Less likely to make mistakes later if something here needs to change. |
November 20, 2016, 18:05 (GMT) |
Cycles: Add comment to explain disabled code |
November 20, 2016, 17:53 (GMT) |
Merge branch 'master' into cycles_split_kernel |
November 20, 2016, 17:39 (GMT) |
Cycles: Simplify and make atomics more clear Somehow I missed the other versions of the atomic functions in `atomic_ops.h`. This is just to switch to those to make the code more clear. |
November 11, 2016, 00:33 (GMT) |
Cycles: Add lines that got removed by accident in recent merge |
November 10, 2016, 14:10 (GMT) |
Merge branch 'master' into cycles_split_kernel |
November 2, 2016, 14:29 (GMT) |
Cycles: Fix rendering with OSL and split kernel The `sd` pointer doesn't actually point to the threads own `sd` in the split kernel, needed to account for that for OSL to render correctly. |
November 2, 2016, 14:29 (GMT) |
Cycles: Fix building with OSL enabled after split kernel changes Seems I had OSL disabled while working on getting the split kernel to run on CPU, should be fine now. |
November 2, 2016, 12:58 (GMT) |
Cycles: Fix memory leak of kernel globals buffer from CPU split kernel |
November 1, 2016, 15:26 (GMT) |
Cycles: Fix crash caused by freeing unallocated kernel globals |
October 27, 2016, 18:08 (GMT) |
Cycles: Finish implementing the split kernel for CPU devices Implements the `data_init` kernel plus a few fixes so that it runs correctly. The split kernel now works on CPU devices. This means we have the ability to debug the kernel, get better compiler logs, and have a new device to compare to, all of which will help in developing and keeping the split kernel correct. With this implementing branched path tracing, volumes and subsurface scattering will be much easier. Even at this point the CPU implementation already paying off by making long existing bugs in the kernel apparent. It should be noted that while the kernel works, it is a bit slower than the mega kernel (~13% with BMW). Will need to investigate whether this is a bug / implementation issue or if split kernels are simply slower by nature. |
October 27, 2016, 16:52 (GMT) |
Cycles: Add function so each device can specify its ideal local work size |
October 27, 2016, 16:34 (GMT) |
Cycles: Add functions to allocate kernel globals for split kernel CPU device needs to allocate and free thread specific data, these functions are used to do that. |
October 27, 2016, 15:46 (GMT) |
Cycles: Actually implement work item functions for CPU Didn't actually implement these yet, unfortunately we need to pass `kg` around to a lot more functions for this. |
October 27, 2016, 15:46 (GMT) |
Cycles: Fix atomics in split kernel after switching away from OpenCL atomics Apparently Blender's atomics return the new value rather than the old value. |
October 26, 2016, 14:43 (GMT) |
Merge branch 'master' into cycles_split_kernel |
|