diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-02-23 23:48:18 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-02-23 23:48:18 +0400 |
commit | c4b64343d02069b83083e974aaee1fed686f4328 (patch) | |
tree | 0c50f016478b29549c658f8715695e2bdc0e02e8 /intern | |
parent | 2254d2bdca372086cf51ddbcfd4e2f6e15e43b0d (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.cpp | 21 | ||||
-rw-r--r-- | intern/cycles/render/session.h | 2 |
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; |