Commit: a0edee712a79239133ff840f911f6416d4c41855 Author: Aaron Carlisle Date: Wed Jan 5 11:52:30 2022 -0500 Branches: master https://developer.blender.org/rBa0edee712a79239133ff840f911f6416d4c41855
Cleanup: Remove unused `node_type_exec` for shader node From what I can tell these are left over from Blender Internal render. Test still pass locally, also tested a couple eevee scenes. Reviewed By: JacquesLucke, brecht Differential Revision: https://developer.blender.org/D13732 =================================================================== M source/blender/nodes/shader/node_shader_util.cc M source/blender/nodes/shader/node_shader_util.hh M source/blender/nodes/shader/nodes/node_shader_color_ramp.cc M source/blender/nodes/shader/nodes/node_shader_common.cc M source/blender/nodes/shader/nodes/node_shader_curves.cc M source/blender/nodes/shader/nodes/node_shader_fresnel.cc M source/blender/nodes/shader/nodes/node_shader_gamma.cc M source/blender/nodes/shader/nodes/node_shader_hueSatVal.cc M source/blender/nodes/shader/nodes/node_shader_invert.cc M source/blender/nodes/shader/nodes/node_shader_layer_weight.cc M source/blender/nodes/shader/nodes/node_shader_mix_rgb.cc M source/blender/nodes/shader/nodes/node_shader_normal.cc M source/blender/nodes/shader/nodes/node_shader_normal_map.cc M source/blender/nodes/shader/nodes/node_shader_particle_info.cc M source/blender/nodes/shader/nodes/node_shader_rgb_to_bw.cc M source/blender/nodes/shader/nodes/node_shader_sepcomb_hsv.cc M source/blender/nodes/shader/nodes/node_shader_sepcomb_rgb.cc M source/blender/nodes/shader/nodes/node_shader_squeeze.cc M source/blender/nodes/shader/nodes/node_shader_vector_transform.cc =================================================================== diff --git a/source/blender/nodes/shader/node_shader_util.cc b/source/blender/nodes/shader/node_shader_util.cc index 722daa1e4f9..bb377e2607a 100644 --- a/source/blender/nodes/shader/node_shader_util.cc +++ b/source/blender/nodes/shader/node_shader_util.cc @@ -67,7 +67,7 @@ void sh_fn_node_type_base(bNodeType *ntype, int type, const char *name, short nc /* ****** */ -void nodestack_get_vec(float *in, short type_in, bNodeStack *ns) +static void nodestack_get_vec(float *in, short type_in, bNodeStack *ns) { const float *from = ns->vec; diff --git a/source/blender/nodes/shader/node_shader_util.hh b/source/blender/nodes/shader/node_shader_util.hh index e66ab9c285b..9d4d57d01dd 100644 --- a/source/blender/nodes/shader/node_shader_util.hh +++ b/source/blender/nodes/shader/node_shader_util.hh @@ -83,18 +83,11 @@ void sh_fn_node_type_base(struct bNodeType *ntype, int type, const char *name, s /* ********* exec data struct, remains internal *********** */ -struct ShaderCallData { - /* Empty for now, may be reused if we convert shader to texture nodes. */ - int dummy; -}; - struct XYZ_to_RGB /* Transposed #imbuf_xyz_to_rgb, passed as 3x vec3. */ { float r[3], g[3], b[3]; }; -void nodestack_get_vec(float *in, short type_in, bNodeStack *ns); - void node_gpu_stack_from_data(struct GPUNodeStack *gs, int type, struct bNodeStack *ns); void node_data_from_gpu_stack(struct bNodeStack *ns, struct GPUNodeStack *gs); void node_shader_gpu_bump_tex_coord(struct GPUMaterial *mat, diff --git a/source/blender/nodes/shader/nodes/node_shader_color_ramp.cc b/source/blender/nodes/shader/nodes/node_shader_color_ramp.cc index ff43885741b..353cbf4ca15 100644 --- a/source/blender/nodes/shader/nodes/node_shader_color_ramp.cc +++ b/source/blender/nodes/shader/nodes/node_shader_color_ramp.cc @@ -37,25 +37,6 @@ static void sh_node_valtorgb_declare(NodeDeclarationBuilder &b) b.add_output<decl::Float>(N_("Alpha")); }; -static void node_shader_exec_valtorgb(void *UNUSED(data), - int UNUSED(thread), - bNode *node, - bNodeExecData *UNUSED(execdata), - bNodeStack **in, - bNodeStack **out) -{ - /* stack order in: fac */ - /* stack order out: col, alpha */ - - if (node->storage) { - float fac; - nodestack_get_vec(&fac, SOCK_FLOAT, in[0]); - - BKE_colorband_evaluate((ColorBand *)node->storage, fac, out[0]->vec); - out[1]->vec[0] = out[0]->vec[3]; - } -} - static void node_shader_init_valtorgb(bNodeTree *UNUSED(ntree), bNode *node) { node->storage = BKE_colorband_add(true); @@ -181,7 +162,6 @@ void register_node_type_sh_valtorgb() node_type_init(&ntype, file_ns::node_shader_init_valtorgb); node_type_size_preset(&ntype, NODE_SIZE_LARGE); node_type_storage(&ntype, "ColorBand", node_free_standard_storage, node_copy_standard_storage); - node_type_exec(&ntype, nullptr, nullptr, file_ns::node_shader_exec_valtorgb); node_type_gpu(&ntype, file_ns::gpu_shader_valtorgb); ntype.build_multi_function = file_ns::sh_node_valtorgb_build_multi_function; diff --git a/source/blender/nodes/shader/nodes/node_shader_common.cc b/source/blender/nodes/shader/nodes/node_shader_common.cc index b5c908c410b..6f300890f7f 100644 --- a/source/blender/nodes/shader/nodes/node_shader_common.cc +++ b/source/blender/nodes/shader/nodes/node_shader_common.cc @@ -35,127 +35,8 @@ #include "RNA_access.h" -static void copy_stack(bNodeStack *to, bNodeStack *from) -{ - if (to != from) { - copy_v4_v4(to->vec, from->vec); - to->data = from->data; - to->datatype = from->datatype; - - /* tag as copy to prevent freeing */ - to->is_copy = 1; - } -} - -static void move_stack(bNodeStack *to, bNodeStack *from) -{ - if (to != from) { - copy_v4_v4(to->vec, from->vec); - to->data = from->data; - to->datatype = from->datatype; - to->is_copy = from->is_copy; - - from->data = nullptr; - from->is_copy = 0; - } -} - /**** GROUP ****/ -static void *group_initexec(bNodeExecContext *context, bNode *node, bNodeInstanceKey key) -{ - bNodeTree *ngroup = (bNodeTree *)node->id; - bNodeTreeExec *exec; - - if (!ngroup) { - return nullptr; - } - - /* initialize the internal node tree execution */ - exec = ntreeShaderBeginExecTree_internal(context, ngroup, key); - - return exec; -} - -static void group_freeexec(void *nodedata) -{ - bNodeTreeExec *gexec = (bNodeTreeExec *)nodedata; - - if (gexec) { - ntreeShaderEndExecTree_internal(gexec); - } -} - -/* Copy inputs to the internal stack. - */ -static void group_copy_inputs(bNode *gnode, bNodeStack **in, bNodeStack *gstack) -{ - bNodeTree *ngroup = (bNodeTree *)gnode->id; - - LISTBASE_FOREACH (bNode *, node, &ngroup->nodes) { - if (node->type == NODE_GROUP_INPUT) { - int a; - LISTBASE_FOREACH_INDEX (bNodeSocket *, sock, &node->outputs, a) { - bNodeStack *ns = node_get_socket_stack(gstack, sock); - if (ns) { - copy_stack(ns, in[a]); - } - } - } - } -} - -/* Copy internal results to the external outputs. - */ -static void group_move_outputs(bNode *gnode, bNodeStack **out, bNodeStack *gstack) -{ - bNodeTree *ngroup = (bNodeTree *)gnode->id; - - LISTBASE_FOREACH (bNode *, node, &ngroup->nodes) { - if (node->type == NODE_GROUP_OUTPUT && (node->flag & NODE_DO_OUTPUT)) { - int a; - LISTBASE_FOREACH_INDEX (bNodeSocket *, sock, &node->inputs, a) { - bNodeStack *ns = node_get_socket_stack(gstack, sock); - if (ns) { - move_stack(out[a], ns); - } - } - break; /* only one active output node */ - } - } -} - -static void group_execute(void *data, - int thread, - struct bNode *node, - bNodeExecData *execdata, - struct bNodeStack **in, - struct bNodeStack **out) -{ - bNodeTreeExec *exec = static_cast<bNodeTreeExec *>(execdata->data); - - if (!exec) { - return; - } - - /* XXX same behavior as trunk: all nodes inside group are executed. - * it's stupid, but just makes it work. compo redesign will do this better. - */ - { - LISTBASE_FOREACH (bNode *, inode, &exec->nodetree->nodes) { - inode->need_exec = 1; - } - } - - bNodeThreadStack *nts = ntreeGetThreadStack(exec, thread); - - group_copy_inputs(node, in, nts->stack); - ntreeExecThreadNodes(exec, nts, data, thread); - group_move_outputs(node, out, nts->stack); - - ntreeReleaseThreadStack(nts); -} - static void group_gpu_copy_inputs(bNode *gnode, GPUNodeStack *in, bNodeStack *gstack) { bNodeTree *ngroup = (bNodeTree *)gnode->id; @@ -231,7 +112,6 @@ void register_node_type_sh_group() node_type_size(&ntype, 140, 60, 400); ntype.labelfunc = node_group_label; node_type_group_update(&ntype, node_group_update); - node_type_exec(&ntype, group_initexec, group_freeexec, group_execute); node_type_gpu(&ntype, gpu_group_execute); nodeRegisterType(&ntype); @@ -247,6 +127,5 @@ void register_node_type_sh_custom_group(bNodeType *ntype) ntype->insert_link = node_insert_link_default; } - node_type_exec(ntype, group_initexec, group_freeexec, group_execute); node_type_gpu(ntype, gpu_group_execute); } diff --git a/source/blender/nodes/shader/nodes/node_shader_curves.cc b/source/blender/nodes/shader/nodes/node_shader_curves.cc index 12ac83f35a2..67095561caf 100644 --- a/source/blender/nodes/shader/nodes/node_shader_curves.cc +++ b/source/blender/nodes/shader/nodes/node_shader_curves.cc @@ -33,21 +33,6 @@ static void sh_node_curve_vec_declare(NodeDeclarationBuilder &b) b.add_output<decl::Vector>(N_("Vector")); }; -static void node_shader_exec_curve_vec(void *UNUSED(data), - int UNUSED(thread), - bNode *node, - bNodeExecData *UNUSED(execdata), - bNodeStack **in, - bNodeStack **out) -{ - float vec[3]; - - /* stack order input: vec */ - /* stack order output: vec */ - nodestack_get_vec(vec, SOCK_VECTOR, in[1]); - BKE_curvemapping_evaluate3F((CurveMapping *)node->storage, out[0]->vec, vec); -} - static void node_shader_init_curve_vec(bNodeTree *UNUSED(ntree), bNode *node) { node->storage = BKE_curvemapping_add(3, -1.0f, -1.0f, 1.0f, 1.0f); @@ -163,7 +148,6 @@ void register_node_type_sh_curve_vec() node_type_init(&ntype, file_ns::node_shader_init_curve_vec); node_type_size_preset(&ntype, NODE_SIZE_LARGE); node_type_storage(&ntype, "CurveMapping", node_free_curves, node_copy_curves); - node_type_exec(&ntype, node_initexec_curves, nullptr, file_ns::node_shader_exec_curve_vec); node_type_gpu(&ntype, file_ns::gpu_shader_curve_vec); ntype.build_multi_function = file_ns::sh_node_curve_vec_build_multi_function; @@ -182,26 +166,6 @@ static void sh_node_curve_rgb_declare(NodeDeclarationBuilder &b) b.add_output<decl::Color>(N_("Color")); }; -static void node_shader_exec_curve_rgb(void *UNUSED(data), - int UNUSED(thread), - bNode *node, - bNodeExecData *UNUSED(execdata), - bNodeStack **in, - bNodeStack **out) -{ - float vec[3]; - float fac; - - /* stack order input: vec */ - /* stack order output: vec */ - nodestack_get_vec(&fac, SOCK_FLOAT, in[0]); - nodestack_get_vec(vec, SOCK_VECTOR, in[1]); - BKE_curvemapping_evaluateRGBF((CurveMapping *)node->storage, out[0]->vec, vec); - if (fac != 1.0f) { - interp_v3_v3v3(out[0]->vec, vec, out[0]->vec, fac); - } -} - static void node_shader_init_curve_rgb(bNodeTree *UNUSED(ntree), bNode *node) { node->storage = BKE_curvemapping_add(4, 0.0f, 0.0f, 1.0f, 1.0f); @@ -342,7 +306,6 @@ void register_node_type_sh_curve_rgb() node_type_init(&ntype, file_ns::node_shader_init_curve_rgb); node_type_size_preset(&ntype, NODE_SIZE_LARGE); node_typ @@ Diff output truncated at 10240 characters. @@ _______________________________________________ Bf-blender-cvs mailing list [email protected] List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
