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.
This commit is contained in:
Thomas Dinges
2012-06-08 19:21:12 +00:00
parent 73a47caa08
commit 3d740121ed

View File

@@ -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 {