diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-05-08 17:23:17 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-05-08 17:23:17 +0400 |
commit | a07dcd67ebf63fad08536b1e78bbb61e18fa51e6 (patch) | |
tree | 7c96f23349f005187e87d19d23248bb40d4d2e91 /source/blender/render | |
parent | 3e763d7e4dbbc4acb3deb7afb95e936ce950ebb5 (diff) |
Fix #35240: command line -t number of threads option did not work for cycles.
Now it works for blender internal, cycles and other multithreading code in
Blender in both background and UI mode.
Diffstat (limited to 'source/blender/render')
-rw-r--r-- | source/blender/render/intern/source/pipeline.c | 25 |
1 files changed, 2 insertions, 23 deletions
diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index e2d6633fffc..c21196392dc 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -124,10 +124,7 @@ /* here we store all renders */ static struct { ListBase renderlist; - - /* commandline thread override */ - int threads; -} RenderGlobal = {{NULL, NULL}, -1}; +} RenderGlobal = {{NULL, NULL}}; /* hardcopy of current render, used while rendering for speed */ Render R; @@ -2748,27 +2745,9 @@ int RE_ReadRenderResult(Scene *scene, Scene *scenode) return success; } -void RE_set_max_threads(int threads) -{ - if (threads == 0) { - RenderGlobal.threads = BLI_system_thread_count(); - } - else if (threads >= 1 && threads <= BLENDER_MAX_THREADS) { - RenderGlobal.threads = threads; - } - else { - printf("Error, threads has to be in range 0-%d\n", BLENDER_MAX_THREADS); - } -} - void RE_init_threadcount(Render *re) { - if (RenderGlobal.threads >= 1) { /* only set as an arg in background mode */ - re->r.threads = MIN2(RenderGlobal.threads, BLENDER_MAX_THREADS); - } - else if ((re->r.mode & R_FIXED_THREADS) == 0 || RenderGlobal.threads == 0) { /* Automatic threads */ - re->r.threads = BLI_system_thread_count(); - } + re->r.threads = BKE_render_num_threads(&re->r); } /* loads in image into a result, size must match |