Blender Git Loki

Blender Git "cycles_split_kernel" branch commits.

Page: 4 / 5

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
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021