230c00d872
This does a few things at once: - Refactors host side split kernel logic into a new device agnostic class `DeviceSplitKernel`. - Removes tile splitting, a new work pool implementation takes its place and allows as many threads as will fit in memory regardless of tile size, which can give performance gains. - Refactors split state buffers into one buffer, as well as reduces the number of arguments passed to kernels. Means there's less code to deal with overall. - Moves kernel logic out of OpenCL kernel files so they can later be used by other device types. - Replaced OpenCL specific APIs with new generic versions - Tiles can now be seen updating during rendering |
||
---|---|---|
.. | ||
opencl | ||
CMakeLists.txt | ||
device_cpu.cpp | ||
device_cuda.cpp | ||
device_intern.h | ||
device_memory.h | ||
device_multi.cpp | ||
device_network.cpp | ||
device_network.h | ||
device_opencl.cpp | ||
device_split_kernel.cpp | ||
device_split_kernel.h | ||
device_task.cpp | ||
device_task.h | ||
device.cpp | ||
device.h |