diff options
Diffstat (limited to 'intern/cycles/render/integrator.cpp')
-rw-r--r-- | intern/cycles/render/integrator.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/intern/cycles/render/integrator.cpp b/intern/cycles/render/integrator.cpp index 2f9d088899e..d4beb06e57b 100644 --- a/intern/cycles/render/integrator.cpp +++ b/intern/cycles/render/integrator.cpp @@ -190,6 +190,13 @@ void Integrator::device_update(Device *device, DeviceScene *dscene, Scene *scene else { kintegrator->adaptive_min_samples = max(4, adaptive_min_samples); } + + kintegrator->adaptive_step = 4; + kintegrator->adaptive_stop_per_sample = device->info.has_adaptive_stop_per_sample; + + /* Adaptive step must be a power of two for bitwise operations to work. */ + assert((kintegrator->adaptive_step & (kintegrator->adaptive_step - 1)) == 0); + if (aa_samples > 0 && adaptive_threshold == 0.0f) { kintegrator->adaptive_threshold = max(0.001f, 1.0f / (float)aa_samples); VLOG(1) << "Cycles adaptive sampling: automatic threshold = " |