diff options
author | Patrick Mours <pmours@nvidia.com> | 2020-02-26 18:30:42 +0300 |
---|---|---|
committer | Patrick Mours <pmours@nvidia.com> | 2020-02-28 18:12:29 +0300 |
commit | af54bbd61c769c69891c9b39df19eb3cad9dafe2 (patch) | |
tree | 927403db3791116c9a760f6791426e8164ca9804 /intern/cycles/device/cuda/device_cuda_impl.cpp | |
parent | 03e04d4db78972709ea9c6889afcf72fdaae80a2 (diff) |
Cycles: Rework tile scheduling for denoising
This fixes denoising being delayed until after all rendering has finished. Instead, tile-based
denoising is now part of the "RENDER" task again, so that it is all in one task and does not
cause issues with dedicated task pools where tasks are serialized.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D6940
Diffstat (limited to 'intern/cycles/device/cuda/device_cuda_impl.cpp')
-rw-r--r-- | intern/cycles/device/cuda/device_cuda_impl.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/intern/cycles/device/cuda/device_cuda_impl.cpp b/intern/cycles/device/cuda/device_cuda_impl.cpp index f6a4f93a690..4a7c45d8b93 100644 --- a/intern/cycles/device/cuda/device_cuda_impl.cpp +++ b/intern/cycles/device/cuda/device_cuda_impl.cpp @@ -2144,7 +2144,7 @@ void CUDADevice::thread_run(DeviceTask *task) { CUDAContextScope scope(this); - if (task->type == DeviceTask::RENDER || task->type == DeviceTask::DENOISE) { + if (task->type == DeviceTask::RENDER) { DeviceRequestedFeatures requested_features; if (use_split_kernel()) { if (split_kernel == NULL) { @@ -2159,7 +2159,7 @@ void CUDADevice::thread_run(DeviceTask *task) RenderTile tile; DenoisingTask denoising(this, *task); - while (task->acquire_tile(this, tile)) { + while (task->acquire_tile(this, tile, task->tile_types)) { if (tile.task == RenderTile::PATH_TRACE) { if (use_split_kernel()) { device_only_memory<uchar> void_buffer(this, "void_buffer"); |