April 6, 2021, 14:52 (GMT) |
GPencil: More work to copy weights |
Revision 877b76c by Jeroen Bakker (temp-compositor-scheduling, temp-compositor-single-threaded-operation) April 6, 2021, 14:36 (GMT) |
Small tweaks to comments and definitions. |
Revision f27959f by Jeroen Bakker (temp-compositor-scheduling, temp-compositor-single-threaded-operation) April 6, 2021, 14:31 (GMT) |
Remove unused definition. |
Revision 6587eb6 by Jeroen Bakker (temp-compositor-scheduling, temp-compositor-single-threaded-operation) April 6, 2021, 14:24 (GMT) |
Compositor use atomics for scheduling. |
April 6, 2021, 14:19 (GMT) |
Cleanup: move BVH utility functions to own file, deduplicate some code |
April 6, 2021, 14:19 (GMT) |
Cycles: terminate paths in intersect_closest To avoid executing shade_surface kernel and evaluating shaders when not needed. Only execute that kernel now for emissive surface and surfaces with transparent shadows (which can be in front of emissive surfaces), for MIS. |
April 6, 2021, 13:58 (GMT) |
GPencil: Prepare to copy weights for Armatures |
April 6, 2021, 13:51 (GMT) |
GPencil: First phase to make Armature modifier for Bezier type Still not working because weights array is not loaded. |
Revision bf68966 by Jeroen Bakker (temp-compositor-scheduling, temp-compositor-single-threaded-operation) April 6, 2021, 13:43 (GMT) |
Updated comment. |
Revision c8e3757 by Jeroen Bakker (temp-compositor-scheduling, temp-compositor-single-threaded-operation) April 6, 2021, 13:43 (GMT) |
Missing case in last commit. |
April 6, 2021, 12:53 (GMT) |
Cycles: Report number of unused path states in tile scheduler Currently it is probably always 0. But is useful to have for comparison with different tile size calculation strategies. |
April 6, 2021, 12:53 (GMT) |
Cycles: Add utility to calculate next power of two |
April 6, 2021, 12:53 (GMT) |
Cycles: Add utility to calculate previous power of two |
April 6, 2021, 12:53 (GMT) |
Cycles: Keep CUDA threads more coherent The idea is to schedule smaller tiles with more samples per tile as a KernelWorkTile. Currently the code is attempting to schedule all samples into a single tile which is as big as the number of path states allows. This is not very efficient in a sense that it might keep some of the path states unused. The way around it is to align tile size down to the power of two and schedule more tiles. From local tests such tile size alignment is actually eliminating speedup of many samples running in parallel. Could be something about warp size or incoherency coming from other sources (the once where coalescing might help). Leaving the code for the aligning tile size to power of two as a if(false) branch for the further investigation. The number of samples is rounded to the closest power of two, which helps with path state divisions. In practice if might mean somewhat longer interval between updates, but it shouldn't be that bad since usually it is no more than 8 samples which are scheduling. With own tests the classroom render time without sync went down from 96 sec to 90 sec. |
Revision e9fae9e by Jeroen Bakker (temp-compositor-scheduling, temp-compositor-single-threaded-operation) April 6, 2021, 12:43 (GMT) |
Merge branch 'master' into temp-compositor-scheduling |
April 6, 2021, 11:57 (GMT) |
Fixing filter_denoise.blend test case. Issue was that the inpaint node was being isolated, and the denoise node wasn't (yet) the inpaint node thought that the denoise node was the write operator of the inpaint node. This isn't correct it should add a new write buffer operator to store its result. |
April 6, 2021, 10:09 (GMT) |
Merge branch 'master' into temp-compositor-single-threaded-operation |
April 6, 2021, 08:27 (GMT) |
Cleanup: Resolve moving a temporary object prevents copy elision warning |
April 6, 2021, 08:22 (GMT) |
Cleanup: Explicitly mark method as overrided |
April 6, 2021, 06:40 (GMT) |
Merge branch 'master' into temp-compositor-single-threaded-operation |
|
|
|


Master Commits
MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021