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:
authorThomas Dinges <blender@dingto.org>2012-06-08 23:21:12 +0400
committerThomas Dinges <blender@dingto.org>2012-06-08 23:21:12 +0400
commit3d740121ed6f0264ae85eeafe6c0a5addf68ac8c (patch)
tree10fc208043040800a376edf43fe67fb12f53a81b
parent73a47caa08e7f034819943e65136a588aa304496 (diff)
Cycles / Code Cleanup:
* Removed a workaround for the NodeType enum, uses consecutive values now. I could not find issues with CUDA, when compiling with Toolkit 4.2 (all sm kernels) and regression files rendered fine on my GPU with sm_21.
-rw-r--r--intern/cycles/kernel/svm/svm_types.h121
1 files changed, 58 insertions, 63 deletions
diff --git a/intern/cycles/kernel/svm/svm_types.h b/intern/cycles/kernel/svm/svm_types.h
index 2d756d57f41..e02e16b6ff4 100644
--- a/intern/cycles/kernel/svm/svm_types.h
+++ b/intern/cycles/kernel/svm/svm_types.h
@@ -30,71 +30,66 @@ CCL_NAMESPACE_BEGIN
/* Nodes */
-/* note that we do not simply use 0, 1, 2, .. as values for these. this works
- * around an obscure CUDA bug that happens when compiling for fermi. why it
- * happens i have no idea, but consecutive values are problematic, maybe it
- * generates an incorrect jump table. */
-
typedef enum NodeType {
NODE_END = 0,
- NODE_CLOSURE_BSDF = 100,
- NODE_CLOSURE_EMISSION = 200,
- NODE_CLOSURE_BACKGROUND = 300,
- NODE_CLOSURE_SET_WEIGHT = 400,
- NODE_CLOSURE_WEIGHT = 500,
- NODE_MIX_CLOSURE = 600,
- NODE_JUMP = 700,
- NODE_TEX_IMAGE = 1000,
- NODE_TEX_SKY = 1100,
- NODE_GEOMETRY = 1200,
- NODE_LIGHT_PATH = 1300,
- NODE_VALUE_F = 1400,
- NODE_VALUE_V = 1500,
- NODE_MIX = 1600,
- NODE_ATTR = 1700,
- NODE_CONVERT = 1900,
- NODE_FRESNEL = 2000,
- NODE_EMISSION_WEIGHT = 2100,
- NODE_TEX_GRADIENT = 2200,
- NODE_TEX_VORONOI = 2300,
- NODE_TEX_MUSGRAVE = 2400,
- NODE_TEX_WAVE = 2500,
- NODE_TEX_MAGIC = 2600,
- NODE_TEX_NOISE = 3000,
- NODE_SHADER_JUMP = 3100,
- NODE_SET_DISPLACEMENT = 3200,
- NODE_GEOMETRY_BUMP_DX = 3300,
- NODE_GEOMETRY_BUMP_DY = 3400,
- NODE_SET_BUMP = 3500,
- NODE_MATH = 3600,
- NODE_VECTOR_MATH = 3700,
- NODE_MAPPING = 3800,
- NODE_TEX_COORD = 3900,
- NODE_TEX_COORD_BUMP_DX = 4000,
- NODE_TEX_COORD_BUMP_DY = 4100,
- NODE_ADD_CLOSURE = 4200,
- NODE_EMISSION_SET_WEIGHT_TOTAL = 4300,
- NODE_ATTR_BUMP_DX = 4400,
- NODE_ATTR_BUMP_DY = 4500,
- NODE_TEX_ENVIRONMENT = 4600,
- NODE_CLOSURE_HOLDOUT = 4700,
- NODE_LAYER_WEIGHT = 4800,
- NODE_CLOSURE_VOLUME = 4900,
- NODE_SEPARATE_RGB = 5000,
- NODE_COMBINE_RGB = 5100,
- NODE_HSV = 5200,
- NODE_CAMERA = 5300,
- NODE_INVERT = 5400,
- NODE_NORMAL = 5500,
- NODE_GAMMA = 5600,
- NODE_TEX_CHECKER = 5700,
- NODE_BRIGHTCONTRAST = 5800,
- NODE_RGB_RAMP = 5900,
- NODE_RGB_CURVES = 6000,
- NODE_MIN_MAX = 6100,
- NODE_LIGHT_FALLOFF = 6200,
- NODE_OBJECT_INFO = 6300,
- NODE_PARTICLE_INFO = 6400
+ NODE_CLOSURE_BSDF,
+ NODE_CLOSURE_EMISSION,
+ NODE_CLOSURE_BACKGROUND,
+ NODE_CLOSURE_SET_WEIGHT,
+ NODE_CLOSURE_WEIGHT,
+ NODE_MIX_CLOSURE,
+ NODE_JUMP,
+ NODE_TEX_IMAGE,
+ NODE_TEX_SKY,
+ NODE_GEOMETRY,
+ NODE_LIGHT_PATH,
+ NODE_VALUE_F,
+ NODE_VALUE_V,
+ NODE_MIX,
+ NODE_ATTR,
+ NODE_CONVERT,
+ NODE_FRESNEL,
+ NODE_EMISSION_WEIGHT,
+ NODE_TEX_GRADIENT,
+ NODE_TEX_VORONOI,
+ NODE_TEX_MUSGRAVE,
+ NODE_TEX_WAVE,
+ NODE_TEX_MAGIC,
+ NODE_TEX_NOISE,
+ NODE_SHADER_JUMP,
+ NODE_SET_DISPLACEMENT,
+ NODE_GEOMETRY_BUMP_DX,
+ NODE_GEOMETRY_BUMP_DY,
+ NODE_SET_BUMP,
+ NODE_MATH,
+ NODE_VECTOR_MATH,
+ NODE_MAPPING,
+ NODE_TEX_COORD,
+ NODE_TEX_COORD_BUMP_DX,
+ NODE_TEX_COORD_BUMP_DY,
+ NODE_ADD_CLOSURE,
+ NODE_EMISSION_SET_WEIGHT_TOTAL,
+ NODE_ATTR_BUMP_DX,
+ NODE_ATTR_BUMP_DY,
+ NODE_TEX_ENVIRONMENT,
+ NODE_CLOSURE_HOLDOUT,
+ NODE_LAYER_WEIGHT,
+ NODE_CLOSURE_VOLUME,
+ NODE_SEPARATE_RGB,
+ NODE_COMBINE_RGB,
+ NODE_HSV,
+ NODE_CAMERA,
+ NODE_INVERT,
+ NODE_NORMAL,
+ NODE_GAMMA,
+ NODE_TEX_CHECKER,
+ NODE_BRIGHTCONTRAST,
+ NODE_RGB_RAMP,
+ NODE_RGB_CURVES,
+ NODE_MIN_MAX,
+ NODE_LIGHT_FALLOFF,
+ NODE_OBJECT_INFO,
+ NODE_PARTICLE_INFO
} NodeType;
typedef enum NodeAttributeType {