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
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2011-11-23 00:49:33 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2011-11-23 00:49:33 +0400
commit086e4ed825b7938400f14999acc7faf5f2594c00 (patch)
tree487f841117ef8f33226061e4af0b5e79a32cb4e6 /intern/cycles/render/session.cpp
parent055ddbc22de62e197f706e591932a7593dd3fb4c (diff)
Cycles: improve error reporting for opencl and cuda, showing error messages in
viewport instead of only console.
Diffstat (limited to 'intern/cycles/render/session.cpp')
-rw-r--r--intern/cycles/render/session.cpp28
1 files changed, 26 insertions, 2 deletions
diff --git a/intern/cycles/render/session.cpp b/intern/cycles/render/session.cpp
index 2deb83674cc..73ac033623d 100644
--- a/intern/cycles/render/session.cpp
+++ b/intern/cycles/render/session.cpp
@@ -203,6 +203,10 @@ void Session::run_gpu()
if(!no_tiles) {
/* update scene */
update_scene();
+
+ if(device->error_message() != "")
+ progress.set_cancel(device->error_message());
+
if(progress.get_cancel())
break;
}
@@ -222,6 +226,9 @@ void Session::run_gpu()
device->task_wait();
+ if(device->error_message() != "")
+ progress.set_cancel(device->error_message());
+
if(progress.get_cancel())
break;
}
@@ -243,6 +250,9 @@ void Session::run_gpu()
}
}
+ if(device->error_message() != "")
+ progress.set_cancel(device->error_message());
+
if(progress.get_cancel())
break;
}
@@ -345,6 +355,10 @@ void Session::run_cpu()
/* update scene */
update_scene();
+
+ if(device->error_message() != "")
+ progress.set_cancel(device->error_message());
+
if(progress.get_cancel())
break;
@@ -360,6 +374,9 @@ void Session::run_cpu()
if(!params.background)
need_tonemap = true;
+
+ if(device->error_message() != "")
+ progress.set_cancel(device->error_message());
}
device->task_wait();
@@ -379,6 +396,9 @@ void Session::run_cpu()
want to show the result of an incomplete sample*/
tonemap();
}
+
+ if(device->error_message() != "")
+ progress.set_cancel(device->error_message());
}
progress.set_update();
@@ -391,7 +411,11 @@ void Session::run()
progress.set_status("Loading render kernels (may take a few minutes the first time)");
if(!device->load_kernels()) {
- progress.set_status("Failed loading render kernel, see console for errors");
+ string message = device->error_message();
+ if(message == "")
+ message = "Failed loading render kernel, see console for errors";
+
+ progress.set_status("Error", message);
progress.set_update();
return;
}
@@ -409,7 +433,7 @@ void Session::run()
/* progress update */
if(progress.get_cancel())
- progress.set_status(progress.get_cancel_message());
+ progress.set_status("Cancel", progress.get_cancel_message());
else
progress.set_update();
}