[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [53787] trunk/blender: Dosvidanya, old compositor!

Sergey Sharybin sergey.vfx at gmail.com
Mon Jan 14 16:53:24 CET 2013


Revision: 53787
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53787
Author:   nazgul
Date:     2013-01-14 15:53:17 +0000 (Mon, 14 Jan 2013)
Log Message:
-----------
Dosvidanya, old compositor!

You served well and now desired retirement, but you'll always live in our hearts.

And for sure -- monument!

       +-------------------------------------------+
      /   ++==+   .  ..   .   ...    .  ..     .  /
     /   //    ++==++  ++  ++     ++==++ ++==++  /
    /   //    //  //  //\\//\\   //  // //  //  /
   /   ++==+ ++==++  //      \\ //==++ ++==++  /
  /  .    ...   ..    .       //  ..  ...     /
 +-------------------------------------------+

Some notes:
- Removed all code which was from inside ifdef WITH_COMPOSITOR_LEGACY
- Removed some functions which were used by old compositor only but
  weren't ported to new color management
- Removed WITH_COMPOSITOR_LEGACY from build systems
- node_composite_util.h was in fatc used by compo nodes specification
  files, so added it back to cmake.

  Could be cleaned up by moving header files to files where they're
  actually needed but would consider this is a separate task.

- Should be no functional changes!

Modified Paths:
--------------
    trunk/blender/CMakeLists.txt
    trunk/blender/build_files/scons/tools/btools.py
    trunk/blender/source/blender/nodes/CMakeLists.txt
    trunk/blender/source/blender/nodes/SConscript
    trunk/blender/source/blender/nodes/composite/node_composite_tree.c
    trunk/blender/source/blender/nodes/composite/node_composite_util.h
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_alphaOver.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_bilateralblur.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_blur.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_brightness.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_channelMatte.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_chromaMatte.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_colorMatte.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_colorSpill.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_colorbalance.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_common.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_composite.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_crop.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_curves.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_defocus.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_despeckle.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_diffMatte.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_dilate.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_directionalblur.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_displace.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_distanceMatte.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_doubleEdgeMask.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_filter.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_flip.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_gamma.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_glare.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_hueSatVal.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_huecorrect.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_idMask.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_image.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_inpaint.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_invert.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_keying.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_keyingscreen.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_lensdist.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_levels.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_lummaMatte.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_mapUV.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_mapValue.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_mask.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_math.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_mixrgb.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_movieclip.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_moviedistortion.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_normal.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_normalize.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_outputFile.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_premulkey.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_rgb.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_rotate.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_scale.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_sepcombHSVA.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_sepcombRGBA.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_sepcombYCCA.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_sepcombYUVA.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_setalpha.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_splitViewer.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_stabilize2d.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_texture.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_tonemap.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_trackpos.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_transform.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_translate.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_valToRgb.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_value.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_vecBlur.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_viewer.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_zcombine.c

Removed Paths:
-------------
    trunk/blender/source/blender/nodes/composite/node_composite_util.c

Modified: trunk/blender/CMakeLists.txt
===================================================================
--- trunk/blender/CMakeLists.txt	2013-01-14 13:05:01 UTC (rev 53786)
+++ trunk/blender/CMakeLists.txt	2013-01-14 15:53:17 UTC (rev 53787)
@@ -135,7 +135,6 @@
 option(WITH_PLAYER        "Build Player" OFF)
 option(WITH_OPENCOLORIO   "Enable OpenColorIO color management" ON)
 option(WITH_COMPOSITOR    "Enable the tile based nodal compositor" ON)
-option(WITH_COMPOSITOR_LEGACY "Enable legacy compositor" OFF)
 
 # GHOST Windowing Library Options
 option(WITH_GHOST_DEBUG   "Enable debugging output for the GHOST library" OFF)

Modified: trunk/blender/build_files/scons/tools/btools.py
===================================================================
--- trunk/blender/build_files/scons/tools/btools.py	2013-01-14 13:05:01 UTC (rev 53786)
+++ trunk/blender/build_files/scons/tools/btools.py	2013-01-14 15:53:17 UTC (rev 53787)
@@ -108,7 +108,7 @@
             'WITH_BF_STATICFFMPEG', 'BF_FFMPEG_LIB_STATIC',
             'WITH_BF_OGG', 'BF_OGG', 'BF_OGG_LIB',
             'WITH_BF_FRAMESERVER',
-            'WITH_BF_COMPOSITOR', 'WITH_BF_COMPOSITOR_LEGACY',
+            'WITH_BF_COMPOSITOR',
             'WITH_BF_JPEG', 'BF_JPEG', 'BF_JPEG_INC', 'BF_JPEG_LIB', 'BF_JPEG_LIBPATH', 'WITH_BF_STATICJPEG', 'BF_JPEG_LIB_STATIC',
             'WITH_BF_OPENJPEG', 'BF_OPENJPEG', 'BF_OPENJPEG_INC', 'BF_OPENJPEG_LIB', 'BF_OPENJPEG_LIBPATH',
             'WITH_BF_REDCODE', 'BF_REDCODE', 'BF_REDCODE_INC', 'BF_REDCODE_LIB', 'BF_REDCODE_LIBPATH',
@@ -599,7 +599,6 @@
         ('BF_BOOST_LIB_STATIC', 'Boost static library', ''),
 
         (BoolVariable('WITH_GHOST_XDND', 'Build with drag-n-drop support on Linux platforms using XDND protocol', True)),
-        (BoolVariable('WITH_BF_COMPOSITOR_LEGACY', 'Enable the legacy compositor', False)),
 
         (BoolVariable('WITH_BF_CYCLES_OSL', 'Build with OSL sypport in Cycles', False)),
         (BoolVariable('WITH_BF_STATICOSL', 'Staticly link to OSL', False)),

Modified: trunk/blender/source/blender/nodes/CMakeLists.txt
===================================================================
--- trunk/blender/source/blender/nodes/CMakeLists.txt	2013-01-14 13:05:01 UTC (rev 53786)
+++ trunk/blender/source/blender/nodes/CMakeLists.txt	2013-01-14 15:53:17 UTC (rev 53787)
@@ -123,6 +123,7 @@
 	composite/nodes/node_composite_pixelate.c
 
 	composite/node_composite_tree.c
+	composite/node_composite_util.h
 
 	shader/nodes/node_shader_camera.c
 	shader/nodes/node_shader_common.c
@@ -235,13 +236,6 @@
 	intern/node_common.h
 )
 
-if(WITH_COMPOSITOR_LEGACY)
-	list(APPEND SRC
-		composite/node_composite_util.h
-		composite/node_composite_util.c
-	)
-endif()
-
 if(WITH_PYTHON)
 	list(APPEND INC
 		../python
@@ -267,8 +261,4 @@
 	add_definitions(-DWITH_COMPOSITOR)
 endif()
 
-if(WITH_COMPOSITOR_LEGACY)
-	add_definitions(-DWITH_COMPOSITOR_LEGACY)
-endif()
-
 blender_add_lib(bf_nodes "${SRC}" "${INC}" "${INC_SYS}")

Modified: trunk/blender/source/blender/nodes/SConscript
===================================================================
--- trunk/blender/source/blender/nodes/SConscript	2013-01-14 13:05:01 UTC (rev 53786)
+++ trunk/blender/source/blender/nodes/SConscript	2013-01-14 15:53:17 UTC (rev 53787)
@@ -66,9 +66,6 @@
     incs += ' ../compositor '
     defs.append("WITH_COMPOSITOR")
 
-if env['WITH_BF_COMPOSITOR_LEGACY']:
-    defs.append("WITH_COMPOSITOR_LEGACY")
-
 env.BlenderLib ( libname = 'bf_nodes', sources = sources, includes = Split(incs), defines = defs, libtype=['core','player'], priority = [190,105] )
 env.BlenderLib ( libname = 'bf_cmpnodes', sources = cmpsources, includes = Split(incs), defines = defs, libtype=['core','player'], priority = [175,101] )
 env.BlenderLib ( libname = 'bf_shdnodes', sources = shdsources, includes = Split(incs), defines = defs, libtype=['core','player'], priority = [175,101] )

Modified: trunk/blender/source/blender/nodes/composite/node_composite_tree.c
===================================================================
--- trunk/blender/source/blender/nodes/composite/node_composite_tree.c	2013-01-14 13:05:01 UTC (rev 53786)
+++ trunk/blender/source/blender/nodes/composite/node_composite_tree.c	2013-01-14 15:53:17 UTC (rev 53787)
@@ -95,9 +95,6 @@
 	
 	for (sock= node->outputs.first; sock; sock= sock->next) {
 		if (sock->cache) {
-#ifdef WITH_COMPOSITOR_LEGACY
-			free_compbuf(sock->cache);
-#endif
 			sock->cache= NULL;
 		}
 	}
@@ -161,9 +158,6 @@
 		
 		for (sock= node->outputs.first; sock; sock= sock->next) {
 			sock->new_sock->cache= sock->cache;
-#ifdef WITH_COMPOSITOR_LEGACY
-			compbuf_set_node(sock->new_sock->cache, node->new_node);
-#endif
 			sock->cache= NULL;
 			sock->new_sock->new_sock= sock;
 		}
@@ -239,9 +233,6 @@
 			for (lsock= lnode->outputs.first; lsock; lsock= lsock->next) {
 				if (ntreeOutputExists(lnode->new_node, lsock->new_sock)) {
 					lsock->new_sock->cache= lsock->cache;
-#ifdef WITH_COMPOSITOR_LEGACY
-					compbuf_set_node(lsock->new_sock->cache, lnode->new_node);
-#endif
 					lsock->cache= NULL;
 					lsock->new_sock= NULL;
 				}
@@ -363,335 +354,6 @@
 	}
 }
 
-#ifdef WITH_COMPOSITOR
-#ifdef WITH_COMPOSITOR_LEGACY
-
-/* ***************************** threaded version for execute composite nodes ************* */
-/* these are nodes without input, only giving values */
-/* or nodes with only value inputs */
-static int node_only_value(bNode *node)
-{
-	bNodeSocket *sock;
-	
-	if (ELEM3(node->type, CMP_NODE_TIME, CMP_NODE_VALUE, CMP_NODE_RGB))
-		return 1;
-	
-	/* doing this for all node types goes wrong. memory free errors */
-	if (node->inputs.first && node->type==CMP_NODE_MAP_VALUE) {
-		int retval= 1;
-		for (sock= node->inputs.first; sock; sock= sock->next) {
-			if (sock->link)
-				retval &= node_only_value(sock->link->fromnode);
-		}
-		return retval;
-	}
-	return 0;
-}
-
-/* not changing info, for thread callback */
-typedef struct ThreadData {
-	bNodeStack *stack;
-	RenderData *rd;
-} ThreadData;
-
-static void *exec_composite_node(void *nodeexec_v)
-{
-	bNodeStack *nsin[MAX_SOCKET];	/* arbitrary... watch this */
-	bNodeStack *nsout[MAX_SOCKET];	/* arbitrary... watch this */
-	bNodeExec *nodeexec= nodeexec_v;
-	bNode *node= nodeexec->node;
-	ThreadData *thd= (ThreadData *)node->threaddata;
-	
-	node_get_stack(node, thd->stack, nsin, nsout);
-	
-	if (node->typeinfo->execfunc)
-		node->typeinfo->execfunc(thd->rd, node, nsin, nsout);
-	else if (node->typeinfo->newexecfunc)
-		node->typeinfo->newexecfunc(thd->rd, 0, node, nodeexec->data, nsin, nsout);
-	
-	node->exec |= NODE_READY;
-	return NULL;
-}
-
-/* return total of executable nodes, for timecursor */
-static int setExecutableNodes(bNodeTreeExec *exec, ThreadData *thd)
-{
-	bNodeTree *ntree = exec->nodetree;
-	bNodeStack *nsin[MAX_SOCKET];	/* arbitrary... watch this */
-	bNodeStack *nsout[MAX_SOCKET];	/* arbitrary... watch this */
-	bNodeExec *nodeexec;
-	bNode *node;
-	bNodeSocket *sock;
-	int n, totnode= 0, group_edit= 0;
-	
-	/* if we are in group edit, viewer nodes get skipped when group has viewer */
-	for (node= ntree->nodes.first; node; node= node->next)
-		if (node->type==NODE_GROUP && (node->flag & NODE_GROUP_EDIT))
-			if (ntreeHasType((bNodeTree *)node->id, CMP_NODE_VIEWER))
-				group_edit= 1;
-	
-	/* NB: using the exec data list here to have valid dependency sort */
-	for (n=0, nodeexec=exec->nodeexec; n < exec->totnodes; ++n, ++nodeexec) {
-		int a;
-		node = nodeexec->node;
-		
-		node_get_stack(node, exec->stack, nsin, nsout);
-		
-		/* test the outputs */
-		/* skip value-only nodes (should be in type!) */
-		if (!node_only_value(node)) {
-			for (a=0, sock= node->outputs.first; sock; sock= sock->next, a++) {
-				if (nsout[a]->data==NULL && nsout[a]->hasoutput) {
-					node->need_exec= 1;
-					break;
-				}
-			}
-		}
-		
-		/* test the inputs */
-		for (a=0, sock= node->inputs.first; sock; sock= sock->next, a++) {
-			/* skip viewer nodes in bg render or group edit */
-			if ( ELEM(node->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER) && (G.background || group_edit))
-				node->need_exec= 0;
-			/* is sock in use? */
-			else if (sock->link) {
-				bNodeLink *link= sock->link;
-				
-				/* this is the test for a cyclic case */
-				if (link->fromnode==NULL || link->tonode==NULL);
-				else if (link->fromnode->level >= link->tonode->level && link->tonode->level!=0xFFF) {
-					if (link->fromnode->need_exec) {
-						node->need_exec= 1;
-						break;
-					}
-				}
-				else {
-					node->need_exec= 0;
-					printf("Node %s skipped, cyclic dependency\n", node->name);
-				}
-			}
-		}
-		
-		if (node->need_exec) {
-			
-			/* free output buffers */
-			for (a=0, sock= node->outputs.first; sock; sock= sock->next, a++) {
-				if (nsout[a]->data) {
-					free_compbuf(nsout[a]->data);
-					nsout[a]->data= NULL;
-				}
-			}
-			totnode++;
-			/* printf("node needs exec %s\n", node->name); */
-			
-			/* tag for getExecutableNode() */
-			node->exec= 0;
-		}
-		else {
-			/* tag for getExecutableNode() */
-			node->exec= NODE_READY|NODE_FINISHED|NODE_SKIPPED;
-			
-		}
-	}
-	
-	/* last step: set the stack values for only-value nodes */
-	/* just does all now, compared to a full buffer exec this is nothing */
-	if (totnode) {
-		for (n=0, nodeexec=exec->nodeexec; n < exec->totnodes; ++n, ++nodeexec) {
-			node = nodeexec->node;
-			if (node->need_exec==0 && node_only_value(node)) {
-				if (node->typeinfo->execfunc) {
-					node_get_stack(node, exec->stack, nsin, nsout);
-					node->typeinfo->execfunc(thd->rd, node, nsin, nsout);
-				}
-			}
-		}
-	}
-	
-	return totnode;
-}
-
-/* while executing tree, free buffers from nodes that are not needed anymore */
-static void freeExecutableNode(bNodeTreeExec *exec)
-{
-	/* node outputs can be freed when:
-	 * - not a render result or image node
-	 * - when node outputs go to nodes all being set NODE_FINISHED
-	 */
-	bNodeTree *ntree = exec->nodetree;
-	bNodeExec *nodeexec;
-	bNode *node;
-	bNodeSocket *sock;
-	int n;
-	
-	/* set exec flag for finished nodes that might need freed */
-	for (node= ntree->nodes.first; node; node= node->next) {
-		if (node->type!=CMP_NODE_R_LAYERS)
-			if (node->exec & NODE_FINISHED)
-				node->exec |= NODE_FREEBUFS;
-	}
-	/* clear this flag for input links that are not done yet.
-	 * Using the exec data for valid dependency sort.
-	 */
-	for (n=0, nodeexec=exec->nodeexec; n < exec->totnodes; ++n, ++nodeexec) {
-		node = nodeexec->node;
-		if ((node->exec & NODE_FINISHED)==0) {

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list