Blender Git Commit Log
Git Commits -> Revision a06621b
Revision a06621b by Brecht Van Lommel (cycles-x) March 19, 2021, 11:33 (GMT) |
Cycles: refactor CPU/megakernel for more flexible execution order Previously it would call kernels in a fixed order, which becomes harder with a more complex state machine for SSS and volumes. Further, there was code duplication in that kernels would be indicate the next kernel to execute, and check if the current kernel needs to be executed. Instead use queued_kernel on both CPU and GPU, and implement the megakernel as a switch statement using this value. |
Commit Details:
Full Hash: a06621b17db4965d532c85dd741496a3b80715ee
Parent Commit: 555cdaf
Lines Changed: +87, -152
15 Modified Paths:
/intern/cycles/integrator/path_trace_work_pixel.cpp (+0, -28) (Diff)
/intern/cycles/integrator/path_trace_work_tiled.cpp (+1, -2) (Diff)
/intern/cycles/kernel/integrator/integrator_intersect_closest.h (+0, -5) (Diff)
/intern/cycles/kernel/integrator/integrator_intersect_shadow.h (+0, -5) (Diff)
/intern/cycles/kernel/integrator/integrator_intersect_subsurface.h (+0, -5) (Diff)
/intern/cycles/kernel/integrator/integrator_megakernel.h (+45, -11) (Diff)
/intern/cycles/kernel/integrator/integrator_path_state.h (+30, -54) (Diff)
/intern/cycles/kernel/integrator/integrator_shade_background.h (+0, -5) (Diff)
/intern/cycles/kernel/integrator/integrator_shade_light.h (+0, -6) (Diff)
/intern/cycles/kernel/integrator/integrator_shade_shadow.h (+0, -5) (Diff)
/intern/cycles/kernel/integrator/integrator_shade_surface.h (+0, -6) (Diff)
/intern/cycles/kernel/integrator/integrator_shade_volume.h (+0, -6) (Diff)
/intern/cycles/kernel/integrator/integrator_state.h (+1, -1) (Diff)
/intern/cycles/kernel/kernels/cuda/kernel.cu (+9, -12) (Diff)
/intern/cycles/kernel/kernel_path_state.h (+1, -1) (Diff)
/intern/cycles/integrator/path_trace_work_tiled.cpp (+1, -2) (Diff)
/intern/cycles/kernel/integrator/integrator_intersect_closest.h (+0, -5) (Diff)
/intern/cycles/kernel/integrator/integrator_intersect_shadow.h (+0, -5) (Diff)
/intern/cycles/kernel/integrator/integrator_intersect_subsurface.h (+0, -5) (Diff)
/intern/cycles/kernel/integrator/integrator_megakernel.h (+45, -11) (Diff)
/intern/cycles/kernel/integrator/integrator_path_state.h (+30, -54) (Diff)
/intern/cycles/kernel/integrator/integrator_shade_background.h (+0, -5) (Diff)
/intern/cycles/kernel/integrator/integrator_shade_light.h (+0, -6) (Diff)
/intern/cycles/kernel/integrator/integrator_shade_shadow.h (+0, -5) (Diff)
/intern/cycles/kernel/integrator/integrator_shade_surface.h (+0, -6) (Diff)
/intern/cycles/kernel/integrator/integrator_shade_volume.h (+0, -6) (Diff)
/intern/cycles/kernel/integrator/integrator_state.h (+1, -1) (Diff)
/intern/cycles/kernel/kernels/cuda/kernel.cu (+9, -12) (Diff)
/intern/cycles/kernel/kernel_path_state.h (+1, -1) (Diff)