Cycles: Add dedicated Progress::set_error() call

Currently it acts the same as set_cancel(), but this way we're able to
distinguish situations when rendering was aborted by user demand (for
example pressing Esc in standalone renderer) or if something went horribly
wrong (for example out of VRAM error).
This commit is contained in:
Sergey Sharybin
2014-12-05 21:17:48 +05:00
parent 716890e864
commit bd0b9ed0c0
2 changed files with 35 additions and 6 deletions

View File

@@ -251,7 +251,7 @@ void Session::run_gpu()
update_scene();
if(!device->error_message().empty())
progress.set_cancel(device->error_message());
progress.set_error(device->error_message());
if(progress.get_cancel())
break;
@@ -292,7 +292,7 @@ void Session::run_gpu()
}
if(!device->error_message().empty())
progress.set_cancel(device->error_message());
progress.set_error(device->error_message());
tiles_written = update_progressive_refine(progress.get_cancel());
@@ -540,7 +540,7 @@ void Session::run_cpu()
update_scene();
if(!device->error_message().empty())
progress.set_cancel(device->error_message());
progress.set_error(device->error_message());
if(progress.get_cancel())
break;
@@ -558,7 +558,7 @@ void Session::run_cpu()
need_tonemap = true;
if(!device->error_message().empty())
progress.set_cancel(device->error_message());
progress.set_error(device->error_message());
}
device->task_wait();
@@ -580,7 +580,7 @@ void Session::run_cpu()
}
if(!device->error_message().empty())
progress.set_cancel(device->error_message());
progress.set_error(device->error_message());
tiles_written = update_progressive_refine(progress.get_cancel());
}
@@ -604,7 +604,7 @@ void Session::load_kernels()
if(message.empty())
message = "Failed loading render kernel, see console for errors";
progress.set_cancel(message);
progress.set_error(message);
progress.set_status("Error", message);
progress.set_update();
return;