diff options
-rw-r--r-- | intern/cycles/blender/blender_python.cpp | 19 | ||||
-rw-r--r-- | intern/cycles/render/session.cpp | 7 |
2 files changed, 23 insertions, 3 deletions
diff --git a/intern/cycles/blender/blender_python.cpp b/intern/cycles/blender/blender_python.cpp index 989ba80c001..ceb9cbf242e 100644 --- a/intern/cycles/blender/blender_python.cpp +++ b/intern/cycles/blender/blender_python.cpp @@ -644,7 +644,20 @@ static PyObject *set_resumable_chunks_func(PyObject * /*self*/, PyObject *args) if(!PyArg_ParseTuple(args, "ii", &num_resumable_chunks, ¤t_resumable_chunk)) { - return NULL; + Py_RETURN_NONE; + } + + if(num_resumable_chunks <= 0) { + fprintf(stderr, "Cycles: Bad value for number of resumable chunks.\n"); + abort(); + Py_RETURN_NONE; + } + if(current_resumable_chunk < 1 || + current_resumable_chunk > num_resumable_chunks) + { + fprintf(stderr, "Cycles: Bad value for current resumable chunk number.\n"); + abort(); + Py_RETURN_NONE; } VLOG(1) << "Initialized resumable render: " @@ -653,6 +666,10 @@ static PyObject *set_resumable_chunks_func(PyObject * /*self*/, PyObject *args) BlenderSession::num_resumable_chunks = num_resumable_chunks; BlenderSession::current_resumable_chunk = current_resumable_chunk; + printf("Cycles: Will render chunk %d of %d\n", + current_resumable_chunk, + num_resumable_chunks); + Py_RETURN_NONE; } diff --git a/intern/cycles/render/session.cpp b/intern/cycles/render/session.cpp index 84a420ce9b6..24f48b61349 100644 --- a/intern/cycles/render/session.cpp +++ b/intern/cycles/render/session.cpp @@ -831,7 +831,8 @@ void Session::update_status_time(bool show_pause, bool show_done) string status, substatus; if(!params.progressive) { - const int progress_sample = progress.get_sample(), num_samples = tile_manager.num_samples; + const int progress_sample = progress.get_sample(), + num_samples = tile_manager.get_num_effective_samples(); const bool is_gpu = params.device.type == DEVICE_CUDA || params.device.type == DEVICE_OPENCL; const bool is_multidevice = params.device.multi_devices.size() > 1; const bool is_cpu = params.device.type == DEVICE_CPU; @@ -873,7 +874,9 @@ void Session::update_status_time(bool show_pause, bool show_done) else if(tile_manager.num_samples == INT_MAX) substatus = string_printf("Path Tracing Sample %d", sample+1); else - substatus = string_printf("Path Tracing Sample %d/%d", sample+1, tile_manager.num_samples); + substatus = string_printf("Path Tracing Sample %d/%d", + sample+1, + tile_manager.get_num_effective_samples()); if(show_pause) { status = "Paused"; |