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:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2012-02-23 23:48:18 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2012-02-23 23:48:18 +0400
commitc4b64343d02069b83083e974aaee1fed686f4328 (patch)
tree0c50f016478b29549c658f8715695e2bdc0e02e8 /intern
parent2254d2bdca372086cf51ddbcfd4e2f6e15e43b0d (diff)
Fix #30246: rendering multiple render layers with CUDA still not working,
should really be fixed now.
Diffstat (limited to 'intern')
-rw-r--r--intern/cycles/render/session.cpp21
-rw-r--r--intern/cycles/render/session.h2
2 files changed, 15 insertions, 8 deletions
diff --git a/intern/cycles/render/session.cpp b/intern/cycles/render/session.cpp
index 0abc76f7309..504e0b1f5bf 100644
--- a/intern/cycles/render/session.cpp
+++ b/intern/cycles/render/session.cpp
@@ -57,6 +57,7 @@ Session::Session(const SessionParams& params_)
gpu_draw_ready = false;
gpu_need_tonemap = false;
pause = false;
+ kernels_loaded = false;
}
Session::~Session()
@@ -414,16 +415,20 @@ void Session::run_cpu()
void Session::run()
{
/* load kernels */
- progress.set_status("Loading render kernels (may take a few minutes the first time)");
+ if(!kernels_loaded) {
+ progress.set_status("Loading render kernels (may take a few minutes the first time)");
- if(!device->load_kernels(params.experimental)) {
- string message = device->error_message();
- if(message == "")
- message = "Failed loading render kernel, see console for errors";
+ if(!device->load_kernels(params.experimental)) {
+ 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;
+ progress.set_status("Error", message);
+ progress.set_update();
+ return;
+ }
+
+ kernels_loaded = true;
}
/* session thread loop */
diff --git a/intern/cycles/render/session.h b/intern/cycles/render/session.h
index a662948c15b..90616f011ea 100644
--- a/intern/cycles/render/session.h
+++ b/intern/cycles/render/session.h
@@ -156,6 +156,8 @@ protected:
thread_condition_variable pause_cond;
thread_mutex pause_mutex;
+ bool kernels_loaded;
+
double start_time;
double reset_time;
double preview_time;