Revision: 54599 http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=54599 Author: mdewanchand Date: 2013-02-16 20:21:41 +0000 (Sat, 16 Feb 2013) Log Message: ----------- Added option for group node buffering in the compositor.
Justa cluster did not have enough memory to handle all Mango 4k scenes. Option is default disabled and can be enabled in the performance panel. - At Mind - Modified Paths: -------------- trunk/blender/release/scripts/startup/bl_ui/space_node.py trunk/blender/source/blender/compositor/intern/COM_CompositorContext.h trunk/blender/source/blender/compositor/nodes/COM_GroupNode.cpp trunk/blender/source/blender/makesdna/DNA_node_types.h trunk/blender/source/blender/makesrna/intern/rna_nodetree.c Modified: trunk/blender/release/scripts/startup/bl_ui/space_node.py =================================================================== --- trunk/blender/release/scripts/startup/bl_ui/space_node.py 2013-02-16 19:24:52 UTC (rev 54598) +++ trunk/blender/release/scripts/startup/bl_ui/space_node.py 2013-02-16 20:21:41 UTC (rev 54599) @@ -252,6 +252,7 @@ col = layout.column() col.prop(tree, "use_opencl") + col.prop(tree, "use_groupnode_buffer") col.prop(tree, "two_pass") col.prop(snode, "show_highlight") col.prop(snode, "use_hidden_preview") Modified: trunk/blender/source/blender/compositor/intern/COM_CompositorContext.h =================================================================== --- trunk/blender/source/blender/compositor/intern/COM_CompositorContext.h 2013-02-16 19:24:52 UTC (rev 54598) +++ trunk/blender/source/blender/compositor/intern/COM_CompositorContext.h 2013-02-16 20:21:41 UTC (rev 54599) @@ -74,7 +74,7 @@ * @brief does this system have active opencl devices? */ bool m_hasActiveOpenCLDevices; - + /** * @brief Skip slow nodes */ @@ -178,6 +178,7 @@ void setFastCalculation(bool fastCalculation) {this->m_fastCalculation = fastCalculation;} bool isFastCalculation() {return this->m_fastCalculation;} + inline bool isGroupnodeBufferEnabled() {return this->getbNodeTree()->flag & NTREE_COM_GROUPNODE_BUFFER;} }; Modified: trunk/blender/source/blender/compositor/nodes/COM_GroupNode.cpp =================================================================== --- trunk/blender/source/blender/compositor/nodes/COM_GroupNode.cpp 2013-02-16 19:24:52 UTC (rev 54598) +++ trunk/blender/source/blender/compositor/nodes/COM_GroupNode.cpp 2013-02-16 20:21:41 UTC (rev 54599) @@ -64,11 +64,12 @@ } } + const bool groupnodeBuffering = system.getContext().isGroupnodeBufferEnabled(); for (index = 0; index < outputsockets.size(); index++) { OutputSocket *outputSocket = outputsockets[index]; bNodeSocket *editorOutput = outputSocket->getbNodeSocket(); if (editorOutput->groupsock) { - SocketProxyNode *proxy = new SocketProxyNode(bnode, editorOutput->groupsock, editorOutput, true); + SocketProxyNode *proxy = new SocketProxyNode(bnode, editorOutput->groupsock, editorOutput, groupnodeBuffering); outputSocket->relinkConnections(proxy->getOutputSocket(0)); ExecutionSystemHelper::addNode(system.getNodes(), proxy); } Modified: trunk/blender/source/blender/makesdna/DNA_node_types.h =================================================================== --- trunk/blender/source/blender/makesdna/DNA_node_types.h 2013-02-16 19:24:52 UTC (rev 54598) +++ trunk/blender/source/blender/makesdna/DNA_node_types.h 2013-02-16 20:21:41 UTC (rev 54599) @@ -309,9 +309,11 @@ #define NTREE_TYPE_INIT 1 /* ntree->flag */ -#define NTREE_DS_EXPAND 1 /* for animation editors */ -#define NTREE_COM_OPENCL 2 /* use opencl */ -#define NTREE_TWO_PASS 4 /* two pass */ +#define NTREE_DS_EXPAND 1 /* for animation editors */ +#define NTREE_COM_OPENCL 2 /* use opencl */ +#define NTREE_TWO_PASS 4 /* two pass */ +#define NTREE_COM_GROUPNODE_BUFFER 8 /* use groupnode buffers */ + /* XXX not nice, but needed as a temporary flags * for group updates after library linking. */ Modified: trunk/blender/source/blender/makesrna/intern/rna_nodetree.c =================================================================== --- trunk/blender/source/blender/makesrna/intern/rna_nodetree.c 2013-02-16 19:24:52 UTC (rev 54598) +++ trunk/blender/source/blender/makesrna/intern/rna_nodetree.c 2013-02-16 20:21:41 UTC (rev 54599) @@ -4971,6 +4971,10 @@ RNA_def_property_boolean_sdna(prop, NULL, "flag", NTREE_COM_OPENCL); RNA_def_property_ui_text(prop, "OpenCL", "Enable GPU calculations"); + prop = RNA_def_property(srna, "use_groupnode_buffer", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "flag", NTREE_COM_GROUPNODE_BUFFER); + RNA_def_property_ui_text(prop, "Buffer Groups", "Enable buffering of group nodes"); + prop = RNA_def_property(srna, "two_pass", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "flag", NTREE_TWO_PASS); RNA_def_property_ui_text(prop, "Two Pass", "Use two pass execution during editing: first calculate fast nodes, " _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs