[Bf-blender-cvs] [c0d52db783e] master: Merge branch 'blender-v3.0-release'

Brecht Van Lommel noreply at git.blender.org
Thu Nov 18 14:35:53 CET 2021


Commit: c0d52db783eb3a6288c9af04298b2358fec76357
Author: Brecht Van Lommel
Date:   Thu Nov 18 14:33:21 2021 +0100
Branches: master
https://developer.blender.org/rBc0d52db783eb3a6288c9af04298b2358fec76357

Merge branch 'blender-v3.0-release'

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



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

diff --cc intern/cycles/integrator/render_scheduler.cpp
index 538d751e8b1,276453f7aec..971173a5e96
--- a/intern/cycles/integrator/render_scheduler.cpp
+++ b/intern/cycles/integrator/render_scheduler.cpp
@@@ -840,6 -827,26 +840,26 @@@ int RenderScheduler::get_num_samples_to
        num_samples_to_occupy = lround(state_.occupancy_num_samples * 0.7f / state_.occupancy);
      }
  
+     /* When time limit is used clamp the calculated number of samples to keep occupancy.
+      * This is because time limit causes the last render iteration to happen with less number of
+      * samples, which conflicts with the occupancy (lower number of samples causes lower
+      * occupancy, also the calculation is based on number of previously rendered samples).
+      *
+      * When time limit is not used the number of samples per render iteration is either increasing
+      * or stays the same, so there is no need to clamp number of samples calculated for occupancy.
+      */
 -    if (time_limit_ && state_.start_render_time) {
++    if (time_limit_ != 0.0 && state_.start_render_time != 0.0) {
+       const double remaining_render_time = max(
+           0.0, time_limit_ - (time_dt() - state_.start_render_time));
+       const double time_per_sample_average = path_trace_time_.get_average();
+       const double predicted_render_time = num_samples_to_occupy * time_per_sample_average;
+ 
+       if (predicted_render_time > remaining_render_time) {
+         num_samples_to_occupy = lround(num_samples_to_occupy *
+                                        (remaining_render_time / predicted_render_time));
+       }
+     }
+ 
      num_samples_to_render = max(num_samples_to_render,
                                  min(num_samples_to_occupy, max_num_samples_to_render));
    }
diff --cc intern/cycles/kernel/CMakeLists.txt
index e7a7d226bae,1a254f5eddc..36335d4c377
--- a/intern/cycles/kernel/CMakeLists.txt
+++ b/intern/cycles/kernel/CMakeLists.txt
@@@ -571,8 -560,19 +571,14 @@@ if(WITH_CYCLES_HIP_BINARIES AND WITH_CY
        -ffast-math
        -o ${CMAKE_CURRENT_BINARY_DIR}/${hip_file})
  
 -    if(${experimental})
 -      set(hip_flags ${hip_flags} -D __KERNEL_EXPERIMENTAL__)
 -      set(name ${name}_experimental)
 -    endif()
 -
+     if(WITH_NANOVDB)
+       set(hip_flags ${hip_flags}
+         -D WITH_NANOVDB
+         -I "${NANOVDB_INCLUDE_DIR}")
+     endif()
+ 
      if(WITH_CYCLES_DEBUG)
 -      set(hip_flags ${hip_flags} -D __KERNEL_DEBUG__)
 +      set(hip_flags ${hip_flags} -D WITH_CYCLES_DEBUG)
      endif()
  
      add_custom_command(



More information about the Bf-blender-cvs mailing list