[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18623] branches/blender2.5/blender/source /blender: 2.5

Ton Roosendaal ton at blender.org
Thu Jan 22 15:59:50 CET 2009


Revision: 18623
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18623
Author:   ton
Date:     2009-01-22 15:59:49 +0100 (Thu, 22 Jan 2009)

Log Message:
-----------
2.5

Added WM Jobs manager
- WM can manage threaded jobs for you; just provide a couple
  of components to get it work:
  - customdata, free callback for it
  - timer step, notifier code
  - start callback, update callback
- Once started, each job runs an own timer, and will for
  every time step check necessary updates, or close the
  job when ready. 
- No drawing happens in jobs, that's for notifiers!
- Every job stores an owner pointer, and based on this owner
  it will prevent multiple jobs to enter the stack. 
  Instead it will re-use a running job, signal it to stop
  and allow caller to re-initialize it even.
- Check new wm_jobs.c for more explanation. Jobs API is still
  under construction. 
  Fun: BLI_addtail(&wm->jobs, steve); :)

Put Node shader previews back using wmJobs
- Preview calculating is now fully threaded (1 thread still)
- Thanks to new event system + notifiers, you can see 
  previews update even while dragging sliders!
- Currently it only starts when you change a node setting.

Warning: the thread render shares Node data, so don't delete
nodes while it renders! This topic is on the todo to make safe.

Also:
- bug in region initialize (do_versions) showed channel list in
  node editor wrong.
- flagged the channel list 'hidden' now, it was really in the
  way! This is for later to work on anyway. 
- recoded Render API callbacks so it gets handlers passed on, 
  no globals to use anymore, remember?
- previewrender code gets now so much nicer! Will remove a lot
  of stuff from code soon.

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/blenkernel/intern/node.c
    branches/blender2.5/blender/source/blender/blenkernel/intern/screen.c
    branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c
    branches/blender2.5/blender/source/blender/editors/include/ED_previewrender.h
    branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c
    branches/blender2.5/blender/source/blender/editors/mesh/meshtools.c
    branches/blender2.5/blender/source/blender/editors/object/object_edit.c
    branches/blender2.5/blender/source/blender/editors/preview/previewrender.c
    branches/blender2.5/blender/source/blender/editors/space_image/image_render.c
    branches/blender2.5/blender/source/blender/editors/space_node/node_draw.c
    branches/blender2.5/blender/source/blender/editors/space_node/node_edit.c
    branches/blender2.5/blender/source/blender/editors/space_node/space_node.c
    branches/blender2.5/blender/source/blender/makesdna/DNA_node_types.h
    branches/blender2.5/blender/source/blender/makesdna/DNA_windowmanager_types.h
    branches/blender2.5/blender/source/blender/nodes/intern/Makefile
    branches/blender2.5/blender/source/blender/radiosity/intern/source/radrender.c
    branches/blender2.5/blender/source/blender/render/extern/include/RE_pipeline.h
    branches/blender2.5/blender/source/blender/render/intern/include/render_types.h
    branches/blender2.5/blender/source/blender/render/intern/source/convertblender.c
    branches/blender2.5/blender/source/blender/render/intern/source/envmap.c
    branches/blender2.5/blender/source/blender/render/intern/source/occlusion.c
    branches/blender2.5/blender/source/blender/render/intern/source/pipeline.c
    branches/blender2.5/blender/source/blender/render/intern/source/rayshade.c
    branches/blender2.5/blender/source/blender/render/intern/source/rendercore.c
    branches/blender2.5/blender/source/blender/render/intern/source/shadbuf.c
    branches/blender2.5/blender/source/blender/render/intern/source/sss.c
    branches/blender2.5/blender/source/blender/render/intern/source/strand.c
    branches/blender2.5/blender/source/blender/render/intern/source/zbuf.c
    branches/blender2.5/blender/source/blender/windowmanager/WM_api.h
    branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c
    branches/blender2.5/blender/source/blender/windowmanager/intern/wm_init_exit.c
    branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c
    branches/blender2.5/blender/source/blender/windowmanager/wm.h
    branches/blender2.5/blender/source/blender/windowmanager/wm_event_types.h
    branches/blender2.5/blender/source/blender/yafray/intern/export_File.cpp
    branches/blender2.5/blender/source/blender/yafray/intern/export_Plugin.cpp

Added Paths:
-----------
    branches/blender2.5/blender/source/blender/editors/datafiles/preview.blend.c
    branches/blender2.5/blender/source/blender/windowmanager/intern/wm_jobs.c

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/node.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/node.c	2009-01-22 13:59:30 UTC (rev 18622)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/node.c	2009-01-22 14:59:49 UTC (rev 18623)
@@ -1761,9 +1761,9 @@
 		if(x>=0 && y>=0) {
 			if(x<preview->xsize && y<preview->ysize) {
 				float *tar= preview->rect+ 4*((preview->xsize*y) + x);
-				if(tar[0]==0.0f) {
+				//if(tar[0]==0.0f) {
 					QUATCOPY(tar, col);
-				}
+				//}
 			}
 			//else printf("prv out bound x y %d %d\n", x, y);
 		}
@@ -2420,11 +2420,11 @@
 			if(node) {
 
 				if(ntree->timecursor)
-					ntree->timecursor(totnode);
+					ntree->timecursor(ntree->tch, totnode);
 				if(ntree->stats_draw) {
 					char str[64];
 					sprintf(str, "Compositing %d %s", totnode, node->name);
-					ntree->stats_draw(str);
+					ntree->stats_draw(ntree->sdh, str);
 				}
 				totnode--;
 				
@@ -2440,7 +2440,7 @@
 		
 		rendering= 0;
 		/* test for ESC */
-		if(ntree->test_break && ntree->test_break()) {
+		if(ntree->test_break && ntree->test_break(ntree->tbh)) {
 			for(node= ntree->nodes.first; node; node= node->next)
 				node->exec |= NODE_READY;
 		}

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/screen.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/screen.c	2009-01-22 13:59:30 UTC (rev 18622)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/screen.c	2009-01-22 14:59:49 UTC (rev 18623)
@@ -224,6 +224,8 @@
 			art->free(ar);
 	}
 	if(ar) {
+		if(ar->regiondata)
+			printf("regiondata free error\n");
 		BLI_freelistN(&ar->panels);
 	}
 }

Modified: branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c	2009-01-22 13:59:30 UTC (rev 18622)
+++ branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c	2009-01-22 14:59:49 UTC (rev 18623)
@@ -4471,7 +4471,7 @@
 		if(ar->regiontype==RGN_TYPE_WINDOW && ar->regiondata==NULL) {
 			RegionView3D *rv3d;
 			
-			rv3d= ar->regiondata= MEM_callocN(sizeof(RegionView3D), "region v3d");
+			rv3d= ar->regiondata= MEM_callocN(sizeof(RegionView3D), "region v3d patch");
 			rv3d->persp= v3d->persp;
 			rv3d->view= v3d->view;
 			rv3d->dist= v3d->dist;
@@ -5416,6 +5416,7 @@
 				ar->alignment= RGN_ALIGN_LEFT; 
 				ar->v2d.scroll= (V2D_SCROLL_RIGHT|V2D_SCROLL_BOTTOM);
 				break;
+				
 			case SPACE_ACTION:
 				ar= MEM_callocN(sizeof(ARegion), "area region from do_versions");
 				BLI_addtail(lb, ar);
@@ -5424,6 +5425,7 @@
 				ar->v2d.scroll= V2D_SCROLL_BOTTOM;
 				ar->v2d.flag = V2D_VIEWSYNC_AREA_VERTICAL;
 				break;
+				
 			case SPACE_NLA:
 				ar= MEM_callocN(sizeof(ARegion), "area region from do_versions");
 				BLI_addtail(lb, ar);
@@ -5432,6 +5434,7 @@
 				ar->v2d.scroll= V2D_SCROLL_BOTTOM;
 				ar->v2d.flag = V2D_VIEWSYNC_AREA_VERTICAL;
 				break;
+				
 			case SPACE_NODE:
 				ar= MEM_callocN(sizeof(ARegion), "nodetree area for node");
 				BLI_addtail(lb, ar);
@@ -5439,6 +5442,10 @@
 				ar->alignment= RGN_ALIGN_LEFT;
 				ar->v2d.scroll = (V2D_SCROLL_RIGHT|V2D_SCROLL_BOTTOM);
 				ar->v2d.flag = V2D_VIEWSYNC_AREA_VERTICAL;
+				/* temporarily hide it */
+				ar->flag = RGN_FLAG_HIDDEN;
+				break;
+				
 			case SPACE_FILE:
 				/* channel (bookmarks/directories) region */
 				ar= MEM_callocN(sizeof(ARegion), "area region from do_versions");

Copied: branches/blender2.5/blender/source/blender/editors/datafiles/preview.blend.c (from rev 18607, trunk/blender/source/blender/src/preview.blend.c)
===================================================================
--- branches/blender2.5/blender/source/blender/editors/datafiles/preview.blend.c	                        (rev 0)
+++ branches/blender2.5/blender/source/blender/editors/datafiles/preview.blend.c	2009-01-22 14:59:49 UTC (rev 18623)
@@ -0,0 +1,13952 @@
+/* DataToC output of file <preview_blend> */
+
+int datatoc_preview_blend_size= 446288;
+char datatoc_preview_blend[]= {
+ 66, 76, 69, 78, 68, 69, 82, 95, 86, 50, 52, 55, 82, 69, 78, 68,
+  0,  0,  0, 32,191,255,241,160,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0, 20,112,114,101,118,105,101,119,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 71, 76, 79, 66,  0,  0,  0, 32,191,255,241,144,  0,  0,  0,165,
+  0,  0,  0,  1, 32, 32, 32, 53,  0,  5,  0,  0,  0,245,  0, 15,  0,  1,  1,  0,  7, 31,229,144,  7,159,144, 32,  0,  0,  0,  0,
+  0,  0,  0, 64,  0,  0, 83, 82,  0,  0,  0,120,  7, 31,229,144,  0,  0,  0,160,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0, 83, 82,115, 99,114,101,101,110,  0, 45, 83, 99,114,105,112,116,105,110,103,  0,  0,  0,  0,  0,
+  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  7, 29,221,112,  7, 31,232, 48,  7, 31,232,112,  7, 31,235,176,  7, 31,235,240,
+ 13, 64,121,112,  7,159,144, 32,  0,  0,  3,231,  1,143,  4,174,  3,232,  3, 32,  0,  1,  0,  1,  0,  0,  0,  0,  0,  1,  0, 10,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,  0,  0,  0, 20,  7, 29,221,112,  0,  0,  0,161,
+  0,  0,  0,  1,  7, 31,230, 48,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,  0,  0,  0, 20,
+  7, 31,230, 48,  0,  0,  0,161,  0,  0,  0,  1,  7, 31,230,112,  7, 29,221,112,  0,  0,  0,  0,  0,  0,  3, 32,  0,  0,  0,  0,
+ 68, 65, 84, 65,  0,  0,  0, 20,  7, 31,230,112,  0,  0,  0,161,  0,  0,  0,  1,  7, 31,230,176,  7, 31,230, 48,  0,  0,  0,  0,
+  3,232,  3, 32,  0,  0,  0,  0, 68, 65, 84, 65,  0,  0,  0, 20,  7, 31,230,176,  0,  0,  0,161,  0,  0,  0,  1,  7, 31,230,240,
+  7, 31,230,112,  0,  0,  0,  0,  3,232,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,  0,  0,  0, 20,  7, 31,230,240,  0,  0,  0,161,
+  0,  0,  0,  1,  7, 31,231, 48,  7, 31,230,176,  0,  0,  0,  0,  0,  0,  3,  6,  0,  0,  0,  0, 68, 65, 84, 65,  0,  0,  0, 20,
+  7, 31,231, 48,  0,  0,  0,161,  0,  0,  0,  1,  7, 31,231,112,  7, 31,230,240,  0,  0,  0,  0,  3,232,  3,  6,  0,  0,  0,  0,
+ 68, 65, 84, 65,  0,  0,  0, 20,  7, 31,231,112,  0,  0,  0,161,  0,  0,  0,  1,  7, 31,231,176,  7, 31,231, 48,  0,  0,  0,  0,
+  3, 32,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,  0,  0,  0, 20,  7, 31,231,176,  0,  0,  0,161,  0,  0,  0,  1,  7, 31,231,240,
+  7, 31,231,112,  0,  0,  0,  0,  3, 32,  3,  6,  0,  0,  0,  0, 68, 65, 84, 65,  0,  0,  0, 20,  7, 31,231,240,  0,  0,  0,161,
+  0,  0,  0,  1,  7, 31,232, 48,  7, 31,231,176,  0,  0,  0,  0,  1,236,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,  0,  0,  0, 20,
+  7, 31,232, 48,  0,  0,  0,161,  0,  0,  0,  1,  0,  0,  0,  0,  7, 31,231,240,  0,  0,  0,  0,  1,236,  3,  6,  0,  0,  0,  0,
+ 68, 65, 84, 65,  0,  0,  0, 24,  7, 31,232,112,  0,  0,  0,162,  0,  0,  0,  1,  7, 31,232,176,  0,  0,  0,  0,  7, 31,230, 48,
+  7, 31,230,112,  0,  1,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,  0,  0,  0, 24,  7, 31,232,176,  0,  0,  0,162,  0,  0,  0,  1,
+  7, 31,232,240,  7, 31,232,112,  7, 31,230, 48,  7, 31,230,240,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,  0,  0,  0, 24,
+  7, 31,232,240,  0,  0,  0,162,  0,  0,  0,  1,  7, 31,233, 48,  7, 31,232,176,  7, 31,230,112,  7, 31,231, 48,  0,  0,  0,  0,
+  0,  0,  0,  0, 68, 65, 84, 65,  0,  0,  0, 24,  7, 31,233, 48,  0,  0,  0,162,  0,  0,  0,  1,  7, 31,233,112,  7, 31,232,240,
+  7, 31,230,240,  7, 31,231, 48,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,  0,  0,  0, 24,  7, 31,233,112,  0,  0,  0,162,
+  0,  0,  0,  1,  7, 31,233,176,  7, 31,233, 48,  7, 31,230,176,  7, 31,231,112,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
+  0,  0,  0, 24,  7, 31,233,176,  0,  0,  0,162,  0,  0,  0,  1,  7, 31,233,240,  7, 31,233,112,  7, 31,231, 48,  7, 31,231,176,
+  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,  0,  0,  0, 24,  7, 31,233,240,  0,  0,  0,162,  0,  0,  0,  1,  7, 31,234, 48,
+  7, 31,233,176,  7, 31,231,112,  7, 31,231,176,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,  0,  0,  0, 24,  7, 31,234, 48,
+  0,  0,  0,162,  0,  0,  0,  1,  7, 31,234,112,  7, 31,233,240,  7, 31,230,176,  7, 31,231, 48,  0,  0,  0,  0,  0,  0,  0,  0,
+ 68, 65, 84, 65,  0,  0,  0, 24,  7, 31,234,112,  0,  0,  0,162,  0,  0,  0,  1,  7, 31,234,176,  7, 31,234, 48,  7, 29,221,112,
+  7, 31,230,240,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,  0,  0,  0, 24,  7, 31,234,176,  0,  0,  0,162,  0,  0,  0,  1,
+  7, 31,234,240,  7, 31,234,112,  7, 29,221,112,  7, 31,231,240,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,  0,  0,  0, 24,
+  7, 31,234,240,  0,  0,  0,162,  0,  0,  0,  1,  7, 31,235, 48,  7, 31,234,176,  7, 31,231,112,  7, 31,231,240,  0,  0,  0,  0,
+  0,  0,  0,  0, 68, 65, 84, 65,  0,  0,  0, 24,  7, 31,235, 48,  0,  0,  0,162,  0,  0,  0,  1,  7, 31,235,112,  7, 31,234,240,
+  7, 31,230,240,  7, 31,232, 48,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,  0,  0,  0, 24,  7, 31,235,112,  0,  0,  0,162,
+  0,  0,  0,  1,  7, 31,235,176,  7, 31,235, 48,  7, 31,231,176,  7, 31,232, 48,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
+  0,  0,  0, 24,  7, 31,235,176,  0,  0,  0,162,  0,  0,  0,  1,  0,  0,  0,  0,  7, 31,235,112,  7, 31,231,240,  7, 31,232, 48,
+  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,  0,  0,  0,204,  7, 31,235,240,  0,  0,  0,164,  0,  0,  0,  1, 13, 64, 24,144,
+  0,  0,  0,  0,  7, 31,230,240,  7, 31,230, 48,  7, 31,230,112,  7, 31,231, 48,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  3,232,
+  0,  0,  3,  7,  0,  0,  3, 32,  0,  0,  0,  0,  0,  0,  3,232,  0,  0,  3,  7,  0,  0,  3, 33,  0,  0,  0,  0,  0,  0,  3,232,
+  0,  0,  3, 32,  0,  0,  3, 32,  0,  5,  0,  4,  0,  1,  7,  7,  3,233,  0,  1,  1,  0,  1,  0,  2,189,  0,  0,  0,  7,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  7, 22,196, 96,  7, 22,196, 96,

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list