Fix Cycles render not stopping on OpenImageDenoise error

Stop so that render farms do not save an image that failed to be denoised
properly and assume it is correct.
This commit is contained in:
Brecht Van Lommel
2023-10-30 14:37:25 +01:00
parent 10645237e8
commit 9b2deb37a0
2 changed files with 6 additions and 1 deletions

View File

@@ -97,6 +97,11 @@ class Denoiser {
return is_cancelled_cb();
}
void set_error(const string &error)
{
path_trace_device_->set_error(error);
}
protected:
Denoiser(Device *path_trace_device, const DenoiseParams &params);

View File

@@ -181,7 +181,7 @@ class OIDNDenoiseContext {
const char *error_message;
const oidn::Error error = oidn_device.getError(error_message);
if (error != oidn::Error::None && error != oidn::Error::Cancelled) {
LOG(ERROR) << "OpenImageDenoise error: " << error_message;
denoiser_->set_error("OpenImageDenoise error: " + string(error_message));
}
postprocess_output(oidn_color_pass, oidn_output_pass);