[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