[Bf-blender-cvs] [a53681d] cycles_kernel_split: Remove SPLIT_KERNEL_CLOSURE_COUNT macro
varunsundar08
noreply at git.blender.org
Thu Apr 30 23:25:21 CEST 2015
Commit: a53681d3470d23db425b1165754836973beba325
Author: varunsundar08
Date: Wed Apr 29 16:27:36 2015 +0530
Branches: cycles_kernel_split
https://developer.blender.org/rBa53681d3470d23db425b1165754836973beba325
Remove SPLIT_KERNEL_CLOSURE_COUNT macro
===================================================================
M intern/cycles/device/device.h
M intern/cycles/device/device_multi.cpp
M intern/cycles/render/nodes.cpp
M intern/cycles/render/session.cpp
===================================================================
diff --git a/intern/cycles/device/device.h b/intern/cycles/device/device.h
index 76343c8..af4fa60 100644
--- a/intern/cycles/device/device.h
+++ b/intern/cycles/device/device.h
@@ -30,8 +30,6 @@
#include "util_types.h"
#include "util_vector.h"
-#define SPLIT_KERNEL_CLOSURE_COUNT 1
-
CCL_NAMESPACE_BEGIN
class Progress;
diff --git a/intern/cycles/device/device_multi.cpp b/intern/cycles/device/device_multi.cpp
index f914e72..bb78485 100644
--- a/intern/cycles/device/device_multi.cpp
+++ b/intern/cycles/device/device_multi.cpp
@@ -100,9 +100,10 @@ public:
bool load_kernels(bool experimental)
{
foreach(SubDevice& sub, devices) {
-#ifdef SPLIT_KERNEL_CLOSURE_COUNT
+
+ /* Update devic's clos_max; used in split kernel */
sub.device->clos_max = this->clos_max;
-#endif
+
sub.device->closure_nodes = this->closure_nodes;
if (!sub.device->load_kernels(experimental))
return false;
diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp
index cdaf8ad..f892543 100644
--- a/intern/cycles/render/nodes.cpp
+++ b/intern/cycles/render/nodes.cpp
@@ -1533,9 +1533,8 @@ BsdfNode::BsdfNode(bool scattering_)
add_output("BSDF", SHADER_SOCKET_CLOSURE);
}
-#ifdef SPLIT_KERNEL_CLOSURE_COUNT
+ /* Used for split kernel */
clos = closure;
-#endif
}
void BsdfNode::compile(SVMCompiler& compiler, ShaderInput *param1, ShaderInput *param2, ShaderInput *param3, ShaderInput *param4)
@@ -1621,9 +1620,8 @@ AnisotropicBsdfNode::AnisotropicBsdfNode()
add_input("Anisotropy", SHADER_SOCKET_FLOAT, 0.5f);
add_input("Rotation", SHADER_SOCKET_FLOAT, 0.0f);
-#ifdef SPLIT_KERNEL_CLOSURE_COUNT
+ /* Used for split kernel */
clos = (ClosureType)distribution_enum[distribution];
-#endif
}
void AnisotropicBsdfNode::attributes(Shader *shader, AttributeRequestSet *attributes)
@@ -1673,9 +1671,8 @@ GlossyBsdfNode::GlossyBsdfNode()
add_input("Roughness", SHADER_SOCKET_FLOAT, 0.2f);
-#ifdef SPLIT_KERNEL_CLOSURE_COUNT
+ /* Used for split kernel */
clos = (ClosureType)distribution_enum[distribution];
-#endif
}
void GlossyBsdfNode::compile(SVMCompiler& compiler)
@@ -1716,9 +1713,8 @@ GlassBsdfNode::GlassBsdfNode()
add_input("Roughness", SHADER_SOCKET_FLOAT, 0.0f);
add_input("IOR", SHADER_SOCKET_FLOAT, 0.3f);
-#ifdef SPLIT_KERNEL_CLOSURE_COUNT
+ /* Used for split kernel */
clos = (ClosureType)distribution_enum[distribution];
-#endif
}
void GlassBsdfNode::compile(SVMCompiler& compiler)
@@ -1759,9 +1755,8 @@ RefractionBsdfNode::RefractionBsdfNode()
add_input("Roughness", SHADER_SOCKET_FLOAT, 0.0f);
add_input("IOR", SHADER_SOCKET_FLOAT, 0.3f);
-#ifdef SPLIT_KERNEL_CLOSURE_COUNT
+ /* Used for split kernel */
clos = (ClosureType)distribution_enum[distribution];
-#endif
}
void RefractionBsdfNode::compile(SVMCompiler& compiler)
@@ -1801,9 +1796,8 @@ ToonBsdfNode::ToonBsdfNode()
add_input("Size", SHADER_SOCKET_FLOAT, 0.5f);
add_input("Smooth", SHADER_SOCKET_FLOAT, 0.0f);
-#ifdef SPLIT_KERNEL_CLOSURE_COUNT
+ /* Used for split kernel */
clos = (ClosureType)component_enum[component];
-#endif
}
void ToonBsdfNode::compile(SVMCompiler& compiler)
@@ -1827,9 +1821,8 @@ VelvetBsdfNode::VelvetBsdfNode()
add_input("Sigma", SHADER_SOCKET_FLOAT, 1.0f);
-#ifdef SPLIT_KERNEL_CLOSURE_COUNT
+ /* Used for split kernel */
clos = closure;
-#endif
}
void VelvetBsdfNode::compile(SVMCompiler& compiler)
@@ -1849,9 +1842,8 @@ DiffuseBsdfNode::DiffuseBsdfNode()
closure = CLOSURE_BSDF_DIFFUSE_ID;
add_input("Roughness", SHADER_SOCKET_FLOAT, 0.0f);
-#ifdef SPLIT_KERNEL_CLOSURE_COUNT
+ /* Used for split kernel */
clos = closure;
-#endif
}
void DiffuseBsdfNode::compile(SVMCompiler& compiler)
@@ -1870,9 +1862,8 @@ TranslucentBsdfNode::TranslucentBsdfNode()
{
closure = CLOSURE_BSDF_TRANSLUCENT_ID;
-#ifdef SPLIT_KERNEL_CLOSURE_COUNT
+ /* Used for split kernel */
clos = closure;
-#endif
}
void TranslucentBsdfNode::compile(SVMCompiler& compiler)
@@ -1892,9 +1883,8 @@ TransparentBsdfNode::TransparentBsdfNode()
name = "transparent";
closure = CLOSURE_BSDF_TRANSPARENT_ID;
-#ifdef SPLIT_KERNEL_CLOSURE_COUNT
+ /* Used for split kernel */
clos = closure;
-#endif
}
void TransparentBsdfNode::compile(SVMCompiler& compiler)
@@ -1932,9 +1922,8 @@ SubsurfaceScatteringNode::SubsurfaceScatteringNode()
add_input("Sharpness", SHADER_SOCKET_FLOAT, 0.0f);
add_input("Texture Blur", SHADER_SOCKET_FLOAT, 1.0f);
-#ifdef SPLIT_KERNEL_CLOSURE_COUNT
+ /* Used for split kernel */
clos = closure;
-#endif
}
void SubsurfaceScatteringNode::compile(SVMCompiler& compiler)
@@ -1966,9 +1955,8 @@ EmissionNode::EmissionNode()
add_output("Emission", SHADER_SOCKET_CLOSURE);
-#ifdef SPLIT_KERNEL_CLOSURE_COUNT
+ /* Used for split kernel */
clos = CLOSURE_EMISSION_ID;
-#endif
}
void EmissionNode::compile(SVMCompiler& compiler)
@@ -2005,9 +1993,8 @@ BackgroundNode::BackgroundNode()
add_output("Background", SHADER_SOCKET_CLOSURE);
-#ifdef SPLIT_KERNEL_CLOSURE_COUNT
+ /* Used for split kernel */
clos = CLOSURE_BACKGROUND_ID;
-#endif
}
void BackgroundNode::compile(SVMCompiler& compiler)
@@ -2041,9 +2028,8 @@ HoldoutNode::HoldoutNode()
add_output("Holdout", SHADER_SOCKET_CLOSURE);
-#ifdef SPLIT_KERNEL_CLOSURE_COUNT
+ /* Used for split kernel */
clos = CLOSURE_HOLDOUT_ID;
-#endif
}
void HoldoutNode::compile(SVMCompiler& compiler)
@@ -2070,9 +2056,8 @@ AmbientOcclusionNode::AmbientOcclusionNode()
add_output("AO", SHADER_SOCKET_CLOSURE);
-#ifdef SPLIT_KERNEL_CLOSURE_COUNT
+ /* Used for split kernel */
clos = CLOSURE_AMBIENT_OCCLUSION_ID;
-#endif
}
void AmbientOcclusionNode::compile(SVMCompiler& compiler)
@@ -2107,9 +2092,8 @@ VolumeNode::VolumeNode()
add_output("Volume", SHADER_SOCKET_CLOSURE);
-#ifdef SPLIT_KERNEL_CLOSURE_COUNT
+ /* Used for split kernel */
clos = closure;
-#endif
}
void VolumeNode::compile(SVMCompiler& compiler, ShaderInput *param1, ShaderInput *param2)
@@ -2153,9 +2137,8 @@ AbsorptionVolumeNode::AbsorptionVolumeNode()
{
closure = CLOSURE_VOLUME_ABSORPTION_ID;
-#ifdef SPLIT_KERNEL_CLOSURE_COUNT
+ /* Used for split kernel */
clos = closure;
-#endif
}
void AbsorptionVolumeNode::compile(SVMCompiler& compiler)
@@ -2176,9 +2159,8 @@ ScatterVolumeNode::ScatterVolumeNode()
add_input("Anisotropy", SHADER_SOCKET_FLOAT, 0.0f);
-#ifdef SPLIT_KERNEL_CLOSURE_COUNT
+ /* Used for split kernel */
clos = closure;
-#endif
}
void ScatterVolumeNode::compile(SVMCompiler& compiler)
@@ -2213,9 +2195,8 @@ HairBsdfNode::HairBsdfNode()
add_input("RoughnessU", SHADER_SOCKET_FLOAT);
add_input("RoughnessV", SHADER_SOCKET_FLOAT);
-#ifdef SPLIT_KERNEL_CLOSURE_COUNT
+ /* Used for split kernel */
clos = (ClosureType)component_enum[component];
-#endif
}
void HairBsdfNode::compile(SVMCompiler& compiler)
diff --git a/intern/cycles/render/session.cpp b/intern/cycles/render/session.cpp
index c5719d5..7a4c903 100644
--- a/intern/cycles/render/session.cpp
+++ b/intern/cycles/render/session.cpp
@@ -32,14 +32,11 @@
#include "util_task.h"
#include "util_time.h"
-#ifdef SPLIT_KERNEL_CLOSURE_COUNT
-#include "nodes.h"
-#include "mesh.h"
-#define OPTIMAL_CLOSURE_COUNT 4
-#endif
+#include "graph.h"
CCL_NAMESPACE_BEGIN
+#define OPTIMAL_CLOSURE_COUNT 1
static int maxclosure = OPTIMAL_CLOSURE_COUNT;
/* Note about preserve_tile_device option for tile manager:
@@ -665,9 +662,9 @@ static int getClosureCount(Scene *scene)
void Session::run()
{
-#ifdef SPLIT_KERNEL_CLOSURE_COUNT
- device->clos_max = getClosureCount(scene);
-#endif
+ if (device->use_split_kernel) {
+ device->clos_max = getClosureCount(scene);
+ }
/* load kernels */
/* Note : OpenCL split kernel does not load kernels here. OpenCL split kernel needs to know
More information about the Bf-blender-cvs
mailing list