Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/intern
diff options
context:
space:
mode:
authorLukas Stockner <lukas.stockner@freenet.de>2017-08-17 02:58:48 +0300
committerLukas Stockner <lukas.stockner@freenet.de>2017-08-17 03:00:44 +0300
commit5492d2cb673881822388c1e8ef5bda07103311e9 (patch)
tree2c636ed29867fff4e6d2f825d5bd4af802bda050 /intern
parent9b1e0f5af6f11432d7b62b5ba87a4cc0e3175bd1 (diff)
Cycles: Calculate correct remaining time when using a larger pixel size
Diffstat (limited to 'intern')
-rw-r--r--intern/cycles/render/tile.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/intern/cycles/render/tile.cpp b/intern/cycles/render/tile.cpp
index 4f3479c52ae..a9620f79fa0 100644
--- a/intern/cycles/render/tile.cpp
+++ b/intern/cycles/render/tile.cpp
@@ -165,15 +165,17 @@ void TileManager::set_samples(int num_samples_)
uint64_t pixel_samples = 0;
/* While rendering in the viewport, the initial preview resolution is increased to the native resolution
* before the actual rendering begins. Therefore, additional pixel samples will be rendered. */
- int divider = get_divider(params.width, params.height, start_resolution) / 2;
- while(divider > 1) {
+ int divider = max(get_divider(params.width, params.height, start_resolution) / 2, pixel_size);
+ while(divider > pixel_size) {
int image_w = max(1, params.width/divider);
int image_h = max(1, params.height/divider);
pixel_samples += image_w * image_h;
divider >>= 1;
}
- state.total_pixel_samples = pixel_samples + (uint64_t)get_num_effective_samples() * params.width*params.height;
+ int image_w = max(1, params.width/divider);
+ int image_h = max(1, params.height/divider);
+ state.total_pixel_samples = pixel_samples + (uint64_t)get_num_effective_samples() * image_w*image_h;
if(schedule_denoising) {
state.total_pixel_samples += params.width*params.height;
}