diff options
author | Brecht Van Lommel <brecht@blender.org> | 2020-06-05 15:18:02 +0300 |
---|---|---|
committer | Brecht Van Lommel <brecht@blender.org> | 2020-06-22 14:06:47 +0300 |
commit | b10b7cdb43b07e67905ffdeba3639dd5f9806169 (patch) | |
tree | 23a9f1e23dfd5d2fadde7b89930334384a73970a /intern/cycles/device/device_cpu.cpp | |
parent | d8c2092b15de61a69bddbc082998a1dc786d73af (diff) |
Cleanup: use lambdas instead of functors for task pools, remove threadid
Diffstat (limited to 'intern/cycles/device/device_cpu.cpp')
-rw-r--r-- | intern/cycles/device/device_cpu.cpp | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/intern/cycles/device/device_cpu.cpp b/intern/cycles/device/device_cpu.cpp index 096cb83552a..d2914bd519c 100644 --- a/intern/cycles/device/device_cpu.cpp +++ b/intern/cycles/device/device_cpu.cpp @@ -540,16 +540,6 @@ class CPUDevice : public Device { thread_denoise(task); } - class CPUDeviceTask : public Task { - public: - CPUDeviceTask(CPUDevice *device, DeviceTask &task) : task(task) - { - run = function_bind(&CPUDevice::thread_run, device, task); - } - - DeviceTask task; - }; - bool denoising_non_local_means(device_ptr image_ptr, device_ptr guide_ptr, device_ptr variance_ptr, @@ -1163,8 +1153,12 @@ class CPUDevice : public Device { else task.split(tasks, info.cpu_threads); - foreach (DeviceTask &task, tasks) - task_pool.push(new CPUDeviceTask(this, task)); + foreach (DeviceTask &task, tasks) { + task_pool.push([=] { + DeviceTask task_copy = task; + thread_run(task_copy); + }); + } } void task_wait() |