From e0fded5d3a57b3a3f2cb6b71be7290370099bfb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Tue, 2 May 2017 19:56:44 +0200 Subject: GPUMaterial: Force old outputs to fail with EEVEE. Workaround waiting for compatibility bit / or PyNodes. --- source/blender/nodes/shader/nodes/node_shader_output.c | 6 ++++++ source/blender/nodes/shader/nodes/node_shader_output_material.c | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/source/blender/nodes/shader/nodes/node_shader_output.c b/source/blender/nodes/shader/nodes/node_shader_output.c index 789df09d898..ad6b4acdd48 100644 --- a/source/blender/nodes/shader/nodes/node_shader_output.c +++ b/source/blender/nodes/shader/nodes/node_shader_output.c @@ -32,6 +32,8 @@ #include "node_shader_util.h" +#include "BKE_scene.h" + /* **************** OUTPUT ******************** */ static bNodeSocketTemplate sh_node_output_in[] = { { SOCK_RGBA, 1, N_("Color"), 0.0f, 0.0f, 0.0f, 1.0f}, @@ -74,6 +76,10 @@ static int gpu_shader_output(GPUMaterial *mat, bNode *UNUSED(node), bNodeExecDat GPU_material_enable_alpha(mat); #endif + if (BKE_scene_uses_blender_eevee(GPU_material_scene(mat))) { + return false; + } + GPU_stack_link(mat, "output_node", in, out, &outlink); GPU_material_output_link(mat, outlink); diff --git a/source/blender/nodes/shader/nodes/node_shader_output_material.c b/source/blender/nodes/shader/nodes/node_shader_output_material.c index 336536b21ee..bbb72651ee5 100644 --- a/source/blender/nodes/shader/nodes/node_shader_output_material.c +++ b/source/blender/nodes/shader/nodes/node_shader_output_material.c @@ -27,6 +27,8 @@ #include "../node_shader_util.h" +#include "BKE_scene.h" + /* **************** OUTPUT ******************** */ static bNodeSocketTemplate sh_node_output_material_in[] = { @@ -40,6 +42,10 @@ static int node_shader_gpu_output_material(GPUMaterial *mat, bNode *UNUSED(node) { GPUNodeLink *outlink; + if (BKE_scene_uses_blender_eevee(GPU_material_scene(mat))) { + return false; + } + GPU_stack_link(mat, "node_output_material", in, out, &outlink); GPU_material_output_link(mat, outlink); -- cgit v1.2.3