[Bf-blender-cvs] [3c2eb85] cycles_kernel_split: Cycles kernel split: Remove unused and unwanted clos field from ShaderNode

Sergey Sharybin noreply at git.blender.org
Wed May 6 14:37:55 CEST 2015


Commit: 3c2eb8557edc3965e5a3cdf22268f30c5d63fad8
Author: Sergey Sharybin
Date:   Wed May 6 17:36:12 2015 +0500
Branches: cycles_kernel_split
https://developer.blender.org/rB3c2eb8557edc3965e5a3cdf22268f30c5d63fad8

Cycles kernel split: Remove unused and unwanted clos field from ShaderNode

Counting of closures was redone in previous commit so this code is no longer
needed.

===================================================================

M	intern/cycles/render/graph.cpp
M	intern/cycles/render/graph.h
M	intern/cycles/render/nodes.cpp
M	intern/cycles/render/session.cpp

===================================================================

diff --git a/intern/cycles/render/graph.cpp b/intern/cycles/render/graph.cpp
index 6a63833..ab89ee3 100644
--- a/intern/cycles/render/graph.cpp
+++ b/intern/cycles/render/graph.cpp
@@ -55,7 +55,6 @@ ShaderNode::ShaderNode(const char *name_)
 	id = -1;
 	bump = SHADER_BUMP_NONE;
 	special_type = SHADER_SPECIAL_TYPE_NONE;
-	clos = (ClosureType)-1;
 }
 
 ShaderNode::~ShaderNode()
diff --git a/intern/cycles/render/graph.h b/intern/cycles/render/graph.h
index 59f5a3a..6744804 100644
--- a/intern/cycles/render/graph.h
+++ b/intern/cycles/render/graph.h
@@ -207,8 +207,6 @@ public:
 	ShaderBump bump; /* for bump mapping utility */
 	
 	ShaderNodeSpecialType special_type;	/* special node type */
-
-	ClosureType clos; /* Closure type of ShaderNode */
 };
 
 
diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp
index 8f39fbe..7eaecc2 100644
--- a/intern/cycles/render/nodes.cpp
+++ b/intern/cycles/render/nodes.cpp
@@ -1534,9 +1534,6 @@ BsdfNode::BsdfNode(bool scattering_)
 		closure = CLOSURE_BSDF_DIFFUSE_ID;
 		add_output("BSDF", SHADER_SOCKET_CLOSURE);
 	}
-
-	/* Used for split kernel */
-	clos = closure;
 }
 
 void BsdfNode::compile(SVMCompiler& compiler, ShaderInput *param1, ShaderInput *param2, ShaderInput *param3, ShaderInput *param4)
@@ -1614,6 +1611,7 @@ ShaderEnum AnisotropicBsdfNode::distribution_enum = aniso_distribution_init();
 
 AnisotropicBsdfNode::AnisotropicBsdfNode()
 {
+	closure = CLOSURE_BSDF_MICROFACET_GGX_ANISO_ID;
 	distribution = ustring("GGX");
 
 	add_input("Tangent", SHADER_SOCKET_VECTOR, ShaderInput::TANGENT);
@@ -1621,9 +1619,6 @@ AnisotropicBsdfNode::AnisotropicBsdfNode()
 	add_input("Roughness", SHADER_SOCKET_FLOAT, 0.2f);
 	add_input("Anisotropy", SHADER_SOCKET_FLOAT, 0.5f);
 	add_input("Rotation", SHADER_SOCKET_FLOAT, 0.0f);
-
-	/* Used for split kernel */
-	clos = (ClosureType)distribution_enum[distribution];
 }
 
 void AnisotropicBsdfNode::attributes(Shader *shader, AttributeRequestSet *attributes)
@@ -1669,12 +1664,10 @@ ShaderEnum GlossyBsdfNode::distribution_enum = glossy_distribution_init();
 
 GlossyBsdfNode::GlossyBsdfNode()
 {
+	closure = CLOSURE_BSDF_MICROFACET_GGX_ID;
 	distribution = ustring("GGX");
 
 	add_input("Roughness", SHADER_SOCKET_FLOAT, 0.2f);
-
-	/* Used for split kernel */
-	clos = (ClosureType)distribution_enum[distribution];
 }
 
 void GlossyBsdfNode::compile(SVMCompiler& compiler)
@@ -1710,13 +1703,11 @@ ShaderEnum GlassBsdfNode::distribution_enum = glass_distribution_init();
 
 GlassBsdfNode::GlassBsdfNode()
 {
+	closure = CLOSURE_BSDF_SHARP_GLASS_ID;
 	distribution = ustring("Sharp");
 
 	add_input("Roughness", SHADER_SOCKET_FLOAT, 0.0f);
 	add_input("IOR", SHADER_SOCKET_FLOAT, 0.3f);
-
-	/* Used for split kernel */
-	clos = (ClosureType)distribution_enum[distribution];
 }
 
 void GlassBsdfNode::compile(SVMCompiler& compiler)
@@ -1752,13 +1743,11 @@ ShaderEnum RefractionBsdfNode::distribution_enum = refraction_distribution_init(
 
 RefractionBsdfNode::RefractionBsdfNode()
 {
+	closure = CLOSURE_BSDF_REFRACTION_ID;
 	distribution = ustring("Sharp");
 
 	add_input("Roughness", SHADER_SOCKET_FLOAT, 0.0f);
 	add_input("IOR", SHADER_SOCKET_FLOAT, 0.3f);
-
-	/* Used for split kernel */
-	clos = (ClosureType)distribution_enum[distribution];
 }
 
 void RefractionBsdfNode::compile(SVMCompiler& compiler)
@@ -1793,13 +1782,11 @@ ShaderEnum ToonBsdfNode::component_enum = toon_component_init();
 
 ToonBsdfNode::ToonBsdfNode()
 {
+	closure = CLOSURE_BSDF_DIFFUSE_TOON_ID;
 	component = ustring("Diffuse");
 
 	add_input("Size", SHADER_SOCKET_FLOAT, 0.5f);
 	add_input("Smooth", SHADER_SOCKET_FLOAT, 0.0f);
-
-	/* Used for split kernel */
-	clos = (ClosureType)component_enum[component];
 }
 
 void ToonBsdfNode::compile(SVMCompiler& compiler)
@@ -1822,9 +1809,6 @@ VelvetBsdfNode::VelvetBsdfNode()
 	closure = CLOSURE_BSDF_ASHIKHMIN_VELVET_ID;
 
 	add_input("Sigma", SHADER_SOCKET_FLOAT, 1.0f);
-
-	/* Used for split kernel */
-	clos = closure;
 }
 
 void VelvetBsdfNode::compile(SVMCompiler& compiler)
@@ -1843,9 +1827,6 @@ DiffuseBsdfNode::DiffuseBsdfNode()
 {
 	closure = CLOSURE_BSDF_DIFFUSE_ID;
 	add_input("Roughness", SHADER_SOCKET_FLOAT, 0.0f);
-
-	/* Used for split kernel */
-	clos = closure;
 }
 
 void DiffuseBsdfNode::compile(SVMCompiler& compiler)
@@ -1863,9 +1844,6 @@ void DiffuseBsdfNode::compile(OSLCompiler& compiler)
 TranslucentBsdfNode::TranslucentBsdfNode()
 {
 	closure = CLOSURE_BSDF_TRANSLUCENT_ID;
-
-	/* Used for split kernel */
-	clos = closure;
 }
 
 void TranslucentBsdfNode::compile(SVMCompiler& compiler)
@@ -1884,9 +1862,6 @@ TransparentBsdfNode::TransparentBsdfNode()
 {
 	name = "transparent";
 	closure = CLOSURE_BSDF_TRANSPARENT_ID;
-
-	/* Used for split kernel */
-	clos = closure;
 }
 
 void TransparentBsdfNode::compile(SVMCompiler& compiler)
@@ -1923,9 +1898,6 @@ SubsurfaceScatteringNode::SubsurfaceScatteringNode()
 	add_input("Radius", SHADER_SOCKET_VECTOR, make_float3(0.1f, 0.1f, 0.1f));
 	add_input("Sharpness", SHADER_SOCKET_FLOAT, 0.0f);
 	add_input("Texture Blur", SHADER_SOCKET_FLOAT, 1.0f);
-
-	/* Used for split kernel */
-	clos = closure;
 }
 
 void SubsurfaceScatteringNode::compile(SVMCompiler& compiler)
@@ -1956,9 +1928,6 @@ EmissionNode::EmissionNode()
 	add_input("SurfaceMixWeight", SHADER_SOCKET_FLOAT, 0.0f, ShaderInput::USE_SVM);
 
 	add_output("Emission", SHADER_SOCKET_CLOSURE);
-
-	/* Used for split kernel */
-	clos = CLOSURE_EMISSION_ID;
 }
 
 void EmissionNode::compile(SVMCompiler& compiler)
@@ -1994,9 +1963,6 @@ BackgroundNode::BackgroundNode()
 	add_input("SurfaceMixWeight", SHADER_SOCKET_FLOAT, 0.0f, ShaderInput::USE_SVM);
 
 	add_output("Background", SHADER_SOCKET_CLOSURE);
-
-	/* Used for split kernel */
-	clos = CLOSURE_BACKGROUND_ID;
 }
 
 void BackgroundNode::compile(SVMCompiler& compiler)
@@ -2029,9 +1995,6 @@ HoldoutNode::HoldoutNode()
 	add_input("VolumeMixWeight", SHADER_SOCKET_FLOAT, 0.0f, ShaderInput::USE_SVM);
 
 	add_output("Holdout", SHADER_SOCKET_CLOSURE);
-
-	/* Used for split kernel */
-	clos = CLOSURE_HOLDOUT_ID;
 }
 
 void HoldoutNode::compile(SVMCompiler& compiler)
@@ -2057,9 +2020,6 @@ AmbientOcclusionNode::AmbientOcclusionNode()
 	add_input("SurfaceMixWeight", SHADER_SOCKET_FLOAT, 0.0f, ShaderInput::USE_SVM);
 
 	add_output("AO", SHADER_SOCKET_CLOSURE);
-
-	/* Used for split kernel */
-	clos = CLOSURE_AMBIENT_OCCLUSION_ID;
 }
 
 void AmbientOcclusionNode::compile(SVMCompiler& compiler)
@@ -2093,9 +2053,6 @@ VolumeNode::VolumeNode()
 	add_input("VolumeMixWeight", SHADER_SOCKET_FLOAT, 0.0f, ShaderInput::USE_SVM);
 
 	add_output("Volume", SHADER_SOCKET_CLOSURE);
-
-	/* Used for split kernel */
-	clos = closure;
 }
 
 void VolumeNode::compile(SVMCompiler& compiler, ShaderInput *param1, ShaderInput *param2)
@@ -2138,9 +2095,6 @@ void VolumeNode::compile(OSLCompiler& /*compiler*/)
 AbsorptionVolumeNode::AbsorptionVolumeNode()
 {
 	closure = CLOSURE_VOLUME_ABSORPTION_ID;
-
-	/* Used for split kernel */
-	clos = closure;
 }
 
 void AbsorptionVolumeNode::compile(SVMCompiler& compiler)
@@ -2160,9 +2114,6 @@ ScatterVolumeNode::ScatterVolumeNode()
 	closure = CLOSURE_VOLUME_HENYEY_GREENSTEIN_ID;
 	
 	add_input("Anisotropy", SHADER_SOCKET_FLOAT, 0.0f);
-
-	/* Used for split kernel */
-	clos = closure;
 }
 
 void ScatterVolumeNode::compile(SVMCompiler& compiler)
@@ -2191,14 +2142,12 @@ ShaderEnum HairBsdfNode::component_enum = hair_component_init();
 
 HairBsdfNode::HairBsdfNode()
 {
+	closure = CLOSURE_BSDF_HAIR_REFLECTION_ID;
 	component = ustring("Reflection");
 
 	add_input("Offset", SHADER_SOCKET_FLOAT);
 	add_input("RoughnessU", SHADER_SOCKET_FLOAT);
 	add_input("RoughnessV", SHADER_SOCKET_FLOAT);
-
-	/* Used for split kernel */
-	clos = (ClosureType)component_enum[component];
 }
 
 void HairBsdfNode::compile(SVMCompiler& compiler)
diff --git a/intern/cycles/render/session.cpp b/intern/cycles/render/session.cpp
index 023cd83..7b3b565 100644
--- a/intern/cycles/render/session.cpp
+++ b/intern/cycles/render/session.cpp
@@ -634,32 +634,6 @@ void Session::load_kernels()
 	}
 }
 
-static int getClosureCount(Scene *scene)
-{
-	int max_clos = 0;
-	for(int i = 0; i < scene->shaders.size(); i++) {
-		int num_closures = 0;
-		foreach(ShaderNode *node, scene->shaders[i]->graph->nodes) {
-			ClosureType type = node->clos;
-			if(type > 0) {
-				if(CLOSURE_IS_BSSRDF(type))
-					num_closures = num_closures + 3;
-				else if(type >= CLOSURE_BSDF_MICROFACET_BECKMANN_GLASS_ID && type <= CLOSURE_BSDF_SHARP_GLASS_ID)
-					num_closures = num_closures + 2;
-				else
-					num_closures = num_closures + 1;
-			}
-		}
-		if(num_closures > max_clos)
-			max_clos = num_closures;
-	}
-
-	if(max_clos > maxclosure) {
-		maxclosure = max_clos;
-	}
-	return maxclosure;
-}
-
 void Session::run()
 {
 	if (device->info.use_split_kernel) {




More information about the Bf-blender-cvs mailing list