Blender Git Loki
Git Commits -> Revision 017f2a8
Revision 017f2a8 by Brecht Van Lommel (cycles-x) March 10, 2021, 14:27 (GMT) |
Cycles: move integrator specific logic out of device queue The CUDA integrator queue was mostly CUDA independent and highly coupled to PathTraceWorkTiled. Seems better to move the tiled integrator logic into a single class, and keep the queue implementations simple to implement for each device type. The particular motivation for this change was scheduling of most queued kernels, which was getting even more complicated. |
Commit Details:
Full Hash: 017f2a82841e66880aa508ce01bb58b95948099f
Parent Commit: 75e95c5
Lines Changed: +527, -598
21 Modified Paths:
/intern/cycles/device/cpu/device_cpu_impl.cpp (+21, -16) (Diff)
/intern/cycles/device/cpu/device_cpu_impl.h (+4, -4) (Diff)
/intern/cycles/device/cpu/device_queue.cpp (+37, -68) (Diff)
/intern/cycles/device/cpu/device_queue.h (+10, -29) (Diff)
/intern/cycles/device/cpu/kernel_thread_globals.cpp (+2, -0) (Diff)
/intern/cycles/device/cuda/device_cuda_impl.cpp (+2, -9) (Diff)
/intern/cycles/device/cuda/device_cuda_impl.h (+1, -3) (Diff)
/intern/cycles/device/cuda/queue.cpp (+29, -266) (Diff)
/intern/cycles/device/cuda/queue.h (+3, -43) (Diff)
/intern/cycles/device/device.h (+21, -18) (Diff)
/intern/cycles/device/device_queue.h (+10, -23) (Diff)
/intern/cycles/device/dummy/device_dummy.cpp (+1, -7) (Diff)
/intern/cycles/device/multi/device_multi.cpp (+3, -8) (Diff)
/intern/cycles/integrator/path_trace_work_pixel.cpp (+51, -48) (Diff)
/intern/cycles/integrator/path_trace_work_pixel.h (+22, -13) (Diff)
/intern/cycles/integrator/path_trace_work_tiled.cpp (+257, -34) (Diff)
/intern/cycles/integrator/path_trace_work_tiled.h (+40, -2) (Diff)
/intern/cycles/integrator/work_scheduler.cpp (+7, -3) (Diff)
/intern/cycles/kernel/integrator/integrator_state.h (+2, -0) (Diff)
/intern/cycles/render/geometry.cpp (+2, -2) (Diff)
/intern/cycles/render/osl.cpp (+2, -2) (Diff)
/intern/cycles/device/cpu/device_cpu_impl.h (+4, -4) (Diff)
/intern/cycles/device/cpu/device_queue.cpp (+37, -68) (Diff)
/intern/cycles/device/cpu/device_queue.h (+10, -29) (Diff)
/intern/cycles/device/cpu/kernel_thread_globals.cpp (+2, -0) (Diff)
/intern/cycles/device/cuda/device_cuda_impl.cpp (+2, -9) (Diff)
/intern/cycles/device/cuda/device_cuda_impl.h (+1, -3) (Diff)
/intern/cycles/device/cuda/queue.cpp (+29, -266) (Diff)
/intern/cycles/device/cuda/queue.h (+3, -43) (Diff)
/intern/cycles/device/device.h (+21, -18) (Diff)
/intern/cycles/device/device_queue.h (+10, -23) (Diff)
/intern/cycles/device/dummy/device_dummy.cpp (+1, -7) (Diff)
/intern/cycles/device/multi/device_multi.cpp (+3, -8) (Diff)
/intern/cycles/integrator/path_trace_work_pixel.cpp (+51, -48) (Diff)
/intern/cycles/integrator/path_trace_work_pixel.h (+22, -13) (Diff)
/intern/cycles/integrator/path_trace_work_tiled.cpp (+257, -34) (Diff)
/intern/cycles/integrator/path_trace_work_tiled.h (+40, -2) (Diff)
/intern/cycles/integrator/work_scheduler.cpp (+7, -3) (Diff)
/intern/cycles/kernel/integrator/integrator_state.h (+2, -0) (Diff)
/intern/cycles/render/geometry.cpp (+2, -2) (Diff)
/intern/cycles/render/osl.cpp (+2, -2) (Diff)