Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Oeser <info@graphics-engineer.com>2019-04-02 17:37:54 +0300
committerPhilipp Oeser <info@graphics-engineer.com>2019-04-02 18:09:27 +0300
commit96de11c2c67e332dc0d303210fd1fddbb532c5ca (patch)
tree832123cde4d6f4cee5ee07faf1b6bb0252050eb4 /source/blender/nodes/shader/node_shader_util.c
parentaaae21245ed9a375b4d8b5772e51492c9296092b (diff)
Fix T62434: EEVEE not using correct World Output node
We were already getting the designated output node in 'ntreeGPUMaterialNodes()' but this wasnt used in 'ntreeExecGPUNodes()', instead whatever node was tagged NODE_DO_OUTPUT was executed. note: this is just the bare minimum to fix the bug, other improvements previously done in D4482 might follow as a separate commit. Reviewers: brecht, fclem Maniphest Tasks: T62434 Differential Revision: https://developer.blender.org/D4630
Diffstat (limited to 'source/blender/nodes/shader/node_shader_util.c')
-rw-r--r--source/blender/nodes/shader/node_shader_util.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/source/blender/nodes/shader/node_shader_util.c b/source/blender/nodes/shader/node_shader_util.c
index cc2032a7ba5..19bfd755928 100644
--- a/source/blender/nodes/shader/node_shader_util.c
+++ b/source/blender/nodes/shader/node_shader_util.c
@@ -201,7 +201,7 @@ bNode *nodeGetActiveTexture(bNodeTree *ntree)
return inactivenode;
}
-void ntreeExecGPUNodes(bNodeTreeExec *exec, GPUMaterial *mat, int do_outputs)
+void ntreeExecGPUNodes(bNodeTreeExec *exec, GPUMaterial *mat, bNode *output_node)
{
bNodeExec *nodeexec;
bNode *node;
@@ -220,7 +220,7 @@ void ntreeExecGPUNodes(bNodeTreeExec *exec, GPUMaterial *mat, int do_outputs)
do_it = false;
/* for groups, only execute outputs for edited group */
if (node->typeinfo->nclass == NODE_CLASS_OUTPUT) {
- if (do_outputs && (node->flag & NODE_DO_OUTPUT))
+ if ((output_node != NULL) && (node == output_node))
do_it = true;
}
else {