diff options
author | Campbell Barton <ideasman42@gmail.com> | 2008-05-14 20:40:25 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2008-05-14 20:40:25 +0400 |
commit | 540c0e07952304aa67ec98be4dc01b17afa78cb1 (patch) | |
tree | 982cb379dfabc37de803e0c9910d763d3b29acc3 /source | |
parent | b65d4f95fc6ff35d93dc1f8bbc07f10b7e15ea2c (diff) |
uvcalc_lightmap would raise an error on meshes with no faces.
auto-threads wasnt working for baking.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/render/extern/include/RE_pipeline.h | 3 | ||||
-rw-r--r-- | source/blender/render/intern/source/convertblender.c | 3 | ||||
-rw-r--r-- | source/blender/render/intern/source/pipeline.c | 9 |
3 files changed, 15 insertions, 0 deletions
diff --git a/source/blender/render/extern/include/RE_pipeline.h b/source/blender/render/extern/include/RE_pipeline.h index d8f6836005b..66dc1dd5fef 100644 --- a/source/blender/render/extern/include/RE_pipeline.h +++ b/source/blender/render/extern/include/RE_pipeline.h @@ -177,6 +177,9 @@ void RE_DataBase_ApplyWindow(struct Render *re); /* override the scene setting for amount threads, commandline */ void RE_set_max_threads(int threads); +/* set the render threads based on the commandline and autothreads setting */ +void RE_init_threadcount(Render *re); + /* the main processor, assumes all was set OK! */ void RE_TileProcessor(struct Render *re, int firsttile, int threaded); diff --git a/source/blender/render/intern/source/convertblender.c b/source/blender/render/intern/source/convertblender.c index 33cad2789c6..dbade68ba1d 100644 --- a/source/blender/render/intern/source/convertblender.c +++ b/source/blender/render/intern/source/convertblender.c @@ -5417,6 +5417,9 @@ void RE_Database_Baking(Render *re, Scene *scene, int type, Object *actob) /* renderdata setup and exceptions */ re->r= scene->r; + + RE_init_threadcount(re); + re->flag |= R_GLOB_NOPUNOFLIP; re->excludeob= actob; if(type == RE_BAKE_LIGHT) diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index 93282e641d3..857269cb44d 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -2675,3 +2675,12 @@ void RE_set_max_threads(int threads) printf("Error, threads has to be in range 1-%d\n", BLENDER_MAX_THREADS); } } + +void RE_init_threadcount(Render *re) +{ + if ((re->r.mode & R_FIXED_THREADS)==0 || commandline_threads == 0) { /* Automatic threads */ + re->r.threads = BLI_system_thread_count(); + } else if(commandline_threads >= 1 && commandline_threads<=BLENDER_MAX_THREADS) { + re->r.threads= commandline_threads; + } +} |