[Bf-blender-cvs] [7df40050f94] cycles-x: Fix Cycles X OIDN with adaptive sampling

Sergey Sharybin noreply at git.blender.org
Fri Jul 2 18:46:01 CEST 2021


Commit: 7df40050f94e64dca41d36448847068214650e85
Author: Sergey Sharybin
Date:   Fri Jul 2 18:44:26 2021 +0200
Branches: cycles-x
https://developer.blender.org/rB7df40050f94e64dca41d36448847068214650e85

Fix Cycles X OIDN with adaptive sampling

The decision on whether to scale input buffer was wrong.
It was wrong from the beginning in the Cycles X branch,
but the bug got avoided by some other state set differently.

===================================================================

M	intern/cycles/integrator/denoiser_oidn.cpp

===================================================================

diff --git a/intern/cycles/integrator/denoiser_oidn.cpp b/intern/cycles/integrator/denoiser_oidn.cpp
index 2c0cbeb922e..f3b1e5e5797 100644
--- a/intern/cycles/integrator/denoiser_oidn.cpp
+++ b/intern/cycles/integrator/denoiser_oidn.cpp
@@ -255,7 +255,10 @@ class OIDNDenoiseContext {
       return;
     }
 
-    if (!oidn_pass.need_scale || (num_samples_ == 1 && pass_sample_count_ == PASS_UNUSED)) {
+    /* When adaptive sampling is involved scaling is always needed.
+     * If the avoid scaling if there is only one sample, to save up time (so we dont divide buffer
+     * by 1). */
+    if (pass_sample_count_ == PASS_UNUSED && (!oidn_pass.need_scale || num_samples_ == 1)) {
       set_pass_referenced(oidn_pass);
       return;
     }



More information about the Bf-blender-cvs mailing list