Blender Git Loki
Git Commits -> Revision 2f6257f
Revision 2f6257f by Jeroen Bakker (master) March 15, 2019, 15:18 (GMT) |
Cycles/OpenCL: Compile Kernels During Scene Update The main goals of this change is faster starting when using foreground rendering. This patch will build kernels in parallel to the update process of the scene. When these optimized kernels are not available (yet) an AO kernel will be used. These AO kernels are fast to compile (3-7 seconds) and can be reused by all scenes. When the final kernels become available we will switch to these kernels. In background mode the AO kernels will not be used. Some kernels are being used during Scene update (displace, background light). When these kernels are being used the process can halt until these become available. Reviewed By: brecht, #cycles Maniphest Tasks: T61752 Differential Revision: https://developer.blender.org/D4428 |
Commit Details:
Full Hash: 2f6257fd7fe305e3b226a8b505eb614bbeaf762a
Parent Commit: 6237743
Lines Changed: +560, -205
13 Modified Paths:
/intern/cycles/blender/blender_session.cpp (+9, -1) (Diff)
/intern/cycles/blender/blender_session.h (+1, -0) (Diff)
/intern/cycles/device/device.h (+22, -0) (Diff)
/intern/cycles/device/device_multi.cpp (+31, -0) (Diff)
/intern/cycles/device/opencl/opencl.h (+60, -16) (Diff)
/intern/cycles/device/opencl/opencl_split.cpp (+211, -92) (Diff)
/intern/cycles/device/opencl/opencl_util.cpp (+95, -49) (Diff)
/intern/cycles/kernel/kernel_types.h (+50, -40) (Diff)
/intern/cycles/render/session.cpp (+50, -6) (Diff)
/intern/cycles/render/session.h (+1, -1) (Diff)
/intern/cycles/util/util_progress.h (+23, -0) (Diff)
/intern/cycles/util/util_task.cpp (+6, -0) (Diff)
/intern/cycles/util/util_task.h (+1, -0) (Diff)
/intern/cycles/blender/blender_session.h (+1, -0) (Diff)
/intern/cycles/device/device.h (+22, -0) (Diff)
/intern/cycles/device/device_multi.cpp (+31, -0) (Diff)
/intern/cycles/device/opencl/opencl.h (+60, -16) (Diff)
/intern/cycles/device/opencl/opencl_split.cpp (+211, -92) (Diff)
/intern/cycles/device/opencl/opencl_util.cpp (+95, -49) (Diff)
/intern/cycles/kernel/kernel_types.h (+50, -40) (Diff)
/intern/cycles/render/session.cpp (+50, -6) (Diff)
/intern/cycles/render/session.h (+1, -1) (Diff)
/intern/cycles/util/util_progress.h (+23, -0) (Diff)
/intern/cycles/util/util_task.cpp (+6, -0) (Diff)
/intern/cycles/util/util_task.h (+1, -0) (Diff)