[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [14138] branches/soc-2007-joeedh/source/ blender/render/intern/source: multithreading tweak, and possible bugfix.
Joseph Eagar
joeedh at gmail.com
Sun Mar 16 14:36:04 CET 2008
Revision: 14138
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14138
Author: joeedh
Date: 2008-03-16 14:36:03 +0100 (Sun, 16 Mar 2008)
Log Message:
-----------
multithreading tweak, and possible bugfix.
Modified Paths:
--------------
branches/soc-2007-joeedh/source/blender/render/intern/source/dsm.c
branches/soc-2007-joeedh/source/blender/render/intern/source/pipeline.c
Modified: branches/soc-2007-joeedh/source/blender/render/intern/source/dsm.c
===================================================================
--- branches/soc-2007-joeedh/source/blender/render/intern/source/dsm.c 2008-03-16 12:42:54 UTC (rev 14137)
+++ branches/soc-2007-joeedh/source/blender/render/intern/source/dsm.c 2008-03-16 13:36:03 UTC (rev 14138)
@@ -164,6 +164,7 @@
for (tilet=data->tiles->first; tilet; tilet=tilet->next) {
if (data->re->test_break()) break;
+ if (tilet->assigned) continue;
BLI_lock_thread(LOCK_CUSTOM1);
if (tilet->assigned==0) {
Modified: branches/soc-2007-joeedh/source/blender/render/intern/source/pipeline.c
===================================================================
--- branches/soc-2007-joeedh/source/blender/render/intern/source/pipeline.c 2008-03-16 12:42:54 UTC (rev 14137)
+++ branches/soc-2007-joeedh/source/blender/render/intern/source/pipeline.c 2008-03-16 13:36:03 UTC (rev 14138)
@@ -2090,52 +2090,57 @@
{
bNodeTree *ntree= re->scene->nodetree;
- /* INIT seeding, compositor can use random texture */
- BLI_srandom(re->r.cfra);
-
- if(composite_needs_render(re->scene)) {
- /* save memory... free all cached images */
- ntreeFreeCache(ntree);
+ //if (ntree) {
+ /* INIT seeding, compositor can use random texture */
+ BLI_srandom(re->r.cfra);
- do_render_fields_blur_3d(re);
- }
-
- /* swap render result */
- if(re->r.scemode & R_SINGLE_LAYER)
- pop_render_result(re);
-
- if(!re->test_break()) {
-
- if(ntree) {
- ntreeCompositTagRender(re->scene);
- ntreeCompositTagAnimated(ntree);
+ if(composite_needs_render(re->scene)) {
+ /* save memory... free all cached images */
+ ntreeFreeCache(ntree);
+
+ do_render_fields_blur_3d(re);
}
- if(re->r.scemode & R_DOCOMP) {
- /* checks if there are render-result nodes that need scene */
- if((re->r.scemode & R_SINGLE_LAYER)==0)
- ntree_render_scenes(re);
+ /* swap render result */
+ if(re->r.scemode & R_SINGLE_LAYER)
+ pop_render_result(re);
+
+ if(!re->test_break()) {
- if(!re->test_break()) {
- ntree->stats_draw= render_composit_stats;
- ntree->test_break= re->test_break;
- /* in case it was never initialized */
- R.stats_draw= re->stats_draw;
+ if(ntree) {
+ ntreeCompositTagRender(re->scene);
+ ntreeCompositTagAnimated(ntree);
+ }
+
+ if((re->r.scemode & R_DOCOMP) && ntree) {
+ /* checks if there are render-result nodes that need scene */
+ if((re->r.scemode & R_SINGLE_LAYER)==0)
+ ntree_render_scenes(re);
+ if(!re->test_break()) {
+ ntree->stats_draw= render_composit_stats;
+ ntree->test_break= re->test_break;
+ /* in case it was never initialized */
+ R.stats_draw= re->stats_draw;
+
+ if(re->r.scemode & R_FULL_SAMPLE)
+ do_merge_fullsample(re, ntree);
+ else
+ ntreeCompositExecTree(ntree, &re->r, G.background==0);
+
+ ntree->stats_draw= NULL;
+ ntree->test_break= NULL;
+ }
+ }
+ else
if(re->r.scemode & R_FULL_SAMPLE)
- do_merge_fullsample(re, ntree);
- else
- ntreeCompositExecTree(ntree, &re->r, G.background==0);
-
- ntree->stats_draw= NULL;
- ntree->test_break= NULL;
- }
+ do_merge_fullsample(re, NULL);
+
}
- else
- if(re->r.scemode & R_FULL_SAMPLE)
- do_merge_fullsample(re, NULL);
-
- }
+ //} else {
+ // if(re->r.scemode & R_FULL_SAMPLE)
+ // do_merge_fullsample(re, NULL);
+ //}
/* weak... the display callback wants an active renderlayer pointer... */
re->result->renlay= render_get_active_layer(re, re->result);
More information about the Bf-blender-cvs
mailing list