[Bf-blender-cvs] [79918e0] master: Cycles: Avoid float/int conversion in few places

Sergey Sharybin noreply at git.blender.org
Tue Mar 31 16:52:30 CEST 2015


Commit: 79918e05773132ce1f96c90b555348229ddfcf73
Author: Sergey Sharybin
Date:   Tue Mar 31 19:51:55 2015 +0500
Branches: master
https://developer.blender.org/rB79918e05773132ce1f96c90b555348229ddfcf73

Cycles: Avoid float/int conversion in few places

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

M	intern/cycles/kernel/geom/geom_object.h
M	intern/cycles/kernel/svm/svm.h
M	intern/cycles/kernel/svm/svm_light_path.h

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

diff --git a/intern/cycles/kernel/geom/geom_object.h b/intern/cycles/kernel/geom/geom_object.h
index 79a5668..7df7101 100644
--- a/intern/cycles/kernel/geom/geom_object.h
+++ b/intern/cycles/kernel/geom/geom_object.h
@@ -243,7 +243,7 @@ ccl_device_inline float object_random_number(KernelGlobals *kg, int object)
 ccl_device_inline int object_particle_id(KernelGlobals *kg, int object)
 {
 	if(object == OBJECT_NONE)
-		return 0.0f;
+		return 0;
 
 	int offset = object*OBJECT_SIZE + OBJECT_PROPERTIES;
 	float4 f = kernel_tex_fetch(__objects, offset);
diff --git a/intern/cycles/kernel/svm/svm.h b/intern/cycles/kernel/svm/svm.h
index d59c9b9..dd9173d 100644
--- a/intern/cycles/kernel/svm/svm.h
+++ b/intern/cycles/kernel/svm/svm.h
@@ -87,7 +87,7 @@ ccl_device_inline int stack_load_int(float *stack, uint a)
 	return __float_as_int(stack[a]);
 }
 
-ccl_device_inline float stack_load_int_default(float *stack, uint a, uint value)
+ccl_device_inline int stack_load_int_default(float *stack, uint a, uint value)
 {
 	return (a == (uint)SVM_STACK_INVALID)? (int)value: stack_load_int(stack, a);
 }
diff --git a/intern/cycles/kernel/svm/svm_light_path.h b/intern/cycles/kernel/svm/svm_light_path.h
index 677d139..ffadafb 100644
--- a/intern/cycles/kernel/svm/svm_light_path.h
+++ b/intern/cycles/kernel/svm/svm_light_path.h
@@ -34,7 +34,7 @@ ccl_device void svm_node_light_path(ShaderData *sd, float *stack, uint type, uin
 		case NODE_LP_backfacing: info = (sd->flag & SD_BACKFACING)? 1.0f: 0.0f; break;
 		case NODE_LP_ray_length: info = sd->ray_length; break;
 		case NODE_LP_ray_depth: info = (float)sd->ray_depth; break;
-		case NODE_LP_ray_transparent: info = sd->transparent_depth; break;
+		case NODE_LP_ray_transparent: info = (float)sd->transparent_depth; break;
 	}
 
 	stack_store_float(stack, out_offset, info);




More information about the Bf-blender-cvs mailing list