diff options
author | Jeroen Bakker <j.bakker@atmind.nl> | 2019-03-13 14:31:48 +0300 |
---|---|---|
committer | Jeroen Bakker <j.bakker@atmind.nl> | 2019-03-15 18:18:21 +0300 |
commit | 2f6257fd7fe305e3b226a8b505eb614bbeaf762a (patch) | |
tree | fba47f34d5bc5f10d50be92e5dd8b14fa9ecc9a9 /intern/cycles/util/util_task.h | |
parent | 62377431114411c50ededadf98fda284ec4061c5 (diff) |
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
Diffstat (limited to 'intern/cycles/util/util_task.h')
-rw-r--r-- | intern/cycles/util/util_task.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/intern/cycles/util/util_task.h b/intern/cycles/util/util_task.h index 15f0d341be7..a7e19d1ab75 100644 --- a/intern/cycles/util/util_task.h +++ b/intern/cycles/util/util_task.h @@ -93,6 +93,7 @@ public: void wait_work(Summary *stats = NULL); /* work and wait until all tasks are done */ void cancel(); /* cancel all tasks, keep worker threads running */ void stop(); /* stop all worker threads */ + bool finished(); /* check if all work has been completed */ bool canceled(); /* for worker threads, test if canceled */ |