Blender V2.61 - r43446
|
#include "DNA_node_types.h"
#include "BLI_listbase.h"
#include "BLI_math.h"
#include "BLI_utildefines.h"
#include "BKE_node.h"
#include "MEM_guardedalloc.h"
#include "node_exec.h"
Go to the source code of this file.
Functions | |
bNodeStack * | node_get_socket_stack (bNodeStack *stack, bNodeSocket *sock) |
void | node_get_stack (bNode *node, bNodeStack *stack, bNodeStack **in, bNodeStack **out) |
void | node_init_input_index (bNodeSocket *sock, int *index) |
void | node_init_output_index (bNodeSocket *sock, int *index) |
static struct bNodeStack * | setup_stack (bNodeStack *stack, bNodeSocket *sock) |
bNodeTreeExec * | ntree_exec_begin (bNodeTree *ntree) |
void | ntree_exec_end (bNodeTreeExec *exec) |
bNodeThreadStack * | ntreeGetThreadStack (bNodeTreeExec *exec, int thread) |
void | ntreeReleaseThreadStack (bNodeThreadStack *nts) |
void | ntreeExecNodes (bNodeTreeExec *exec, void *callerdata, int thread) |
void | ntreeExecThreadNodes (bNodeTreeExec *exec, bNodeThreadStack *nts, void *callerdata, int thread) |
Definition in file node_exec.c.
bNodeStack* node_get_socket_stack | ( | bNodeStack * | stack, |
bNodeSocket * | sock | ||
) | [read] |
Definition at line 47 of file node_exec.c.
References bNodeSocket::stack_index.
Referenced by freeExecutableNode(), group_copy_inputs(), group_copy_outputs(), group_gpu_copy_inputs(), group_gpu_move_outputs(), group_initexec(), group_move_outputs(), node_get_stack(), ntreeCompositBeginExecTree(), ntreeCompositEndExecTree(), and setup_stack().
void node_get_stack | ( | bNode * | node, |
bNodeStack * | stack, | ||
bNodeStack ** | in, | ||
bNodeStack ** | out | ||
) |
Definition at line 52 of file node_exec.c.
References ListBase::first, bNode::inputs, bNodeSocket::next, node_get_socket_stack(), and bNode::outputs.
Referenced by exec_composite_node(), ntreeExecGPUNodes(), ntreeExecNodes(), ntreeExecThreadNodes(), and setExecutableNodes().
void node_init_input_index | ( | bNodeSocket * | sock, |
int * | index | ||
) |
Definition at line 70 of file node_exec.c.
References bNodeLink::fromsock, bNodeSocket::link, and bNodeSocket::stack_index.
Referenced by ntree_exec_begin().
void node_init_output_index | ( | bNodeSocket * | sock, |
int * | index | ||
) |
Definition at line 80 of file node_exec.c.
References bNodeSocket::stack_index.
Referenced by ntree_exec_begin().
bNodeTreeExec* ntree_exec_begin | ( | bNodeTree * | ntree | ) | [read] |
Definition at line 127 of file node_exec.c.
References bNodeExec::data, exec(), ListBase::first, bNodeLink::flag, bNodeStack::hasinput, bNodeStack::hasoutput, bNodeTree::init, bNodeType::initexecfunc, bNode::inputs, bNodeTree::inputs, bNodeSocket::link, MEM_callocN(), MEM_freeN(), bNode::need_exec, bNodeSocket::next, bNodeExec::node, node_init_input_index(), node_init_output_index(), NODE_LINK_VALID, bNodeTreeExec::nodeexec, bNodeTreeExec::nodetree, NTREE_TYPE_INIT, ntreeGetDependencyList(), ntreeInitTypes(), bNodeTree::outputs, bNode::outputs, setup_stack(), bNodeTreeExec::stack, bNode::stack_index, bNodeTreeExec::stacksize, bNodeTreeExec::totnodes, and bNode::typeinfo.
Referenced by ntreeCompositBeginExecTree(), ntreeShaderBeginExecTree(), and ntreeTexBeginExecTree().
void ntree_exec_end | ( | bNodeTreeExec * | exec | ) |
Definition at line 217 of file node_exec.c.
References bNodeExec::data, bNodeType::freeexecfunc, MEM_freeN(), bNodeExec::node, bNodeTreeExec::nodeexec, bNodeTreeExec::stack, and bNode::typeinfo.
Referenced by ntreeCompositEndExecTree(), ntreeShaderEndExecTree(), and ntreeTexEndExecTree().
void ntreeExecNodes | ( | bNodeTreeExec * | exec, |
void * | callerdata, | ||
int | thread | ||
) |
Definition at line 265 of file node_exec.c.
References bNodeExec::data, bNodeType::execfunc, bNode::flag, MAX_SOCKET, bNodeType::mutefunc, bNode::need_exec, bNodeType::newexecfunc, bNodeExec::node, node_get_stack(), NODE_MUTED, bNodeTreeExec::nodeexec, bNodeTreeExec::stack, and bNode::typeinfo.
Referenced by group_execute().
void ntreeExecThreadNodes | ( | bNodeTreeExec * | exec, |
bNodeThreadStack * | nts, | ||
void * | callerdata, | ||
int | thread | ||
) |
Definition at line 293 of file node_exec.c.
References bNodeExec::data, bNodeType::execfunc, bNode::flag, MAX_SOCKET, bNodeType::mutefunc, bNode::need_exec, bNodeType::newexecfunc, bNodeExec::node, node_get_stack(), NODE_MUTED, bNodeTreeExec::nodeexec, bNodeThreadStack::stack, and bNode::typeinfo.
Referenced by group_execute(), ntreeShaderExecTree(), and ntreeTexExecTree().
bNodeThreadStack* ntreeGetThreadStack | ( | bNodeTreeExec * | exec, |
int | thread | ||
) | [read] |
Definition at line 238 of file node_exec.c.
References BLI_addtail(), ListBase::first, MEM_callocN(), MEM_dupallocN(), bNodeThreadStack::next, bNodeTreeExec::stack, bNodeThreadStack::stack, bNodeTreeExec::threadstack, and bNodeThreadStack::used.
Referenced by group_execute(), ntreeShaderExecTree(), and ntreeTexExecTree().
void ntreeReleaseThreadStack | ( | bNodeThreadStack * | nts | ) |
Definition at line 260 of file node_exec.c.
References bNodeThreadStack::used.
Referenced by group_execute(), ntreeShaderExecTree(), and ntreeTexExecTree().
static struct bNodeStack* setup_stack | ( | bNodeStack * | stack, |
bNodeSocket * | sock | ||
) | [static, read] |
Definition at line 86 of file node_exec.c.
References copy_v3_v3(), copy_v4_v4(), bNodeSocket::default_value, bNodeSocket::link, node_get_socket_stack(), SOCK_FLOAT, SOCK_RGBA, SOCK_VECTOR, bNodeStack::sockettype, bNodeSocket::type, and bNodeStack::vec.
Referenced by ntree_exec_begin().