[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57281] trunk/blender/intern/cycles: Code cleanup: avoid some warnings due to implicit uint/int/float/ double conversion.

Brecht Van Lommel brechtvanlommel at pandora.be
Fri Jun 7 18:06:18 CEST 2013


Revision: 57281
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57281
Author:   blendix
Date:     2013-06-07 16:06:17 +0000 (Fri, 07 Jun 2013)
Log Message:
-----------
Code cleanup: avoid some warnings due to implicit uint/int/float/double conversion.

Modified Paths:
--------------
    trunk/blender/intern/cycles/blender/blender_sync.cpp
    trunk/blender/intern/cycles/kernel/closure/bssrdf.h
    trunk/blender/intern/cycles/kernel/kernel_bvh.h
    trunk/blender/intern/cycles/kernel/kernel_compat_cpu.h
    trunk/blender/intern/cycles/kernel/kernel_displace.h
    trunk/blender/intern/cycles/kernel/kernel_globals.h
    trunk/blender/intern/cycles/kernel/kernel_light.h
    trunk/blender/intern/cycles/kernel/kernel_object.h
    trunk/blender/intern/cycles/kernel/kernel_path.h
    trunk/blender/intern/cycles/kernel/svm/svm.h
    trunk/blender/intern/cycles/kernel/svm/svm_brick.h
    trunk/blender/intern/cycles/kernel/svm/svm_checker.h
    trunk/blender/intern/cycles/kernel/svm/svm_closure.h
    trunk/blender/intern/cycles/kernel/svm/svm_convert.h
    trunk/blender/intern/cycles/kernel/svm/svm_fresnel.h
    trunk/blender/intern/cycles/kernel/svm/svm_hsv.h
    trunk/blender/intern/cycles/kernel/svm/svm_musgrave.h
    trunk/blender/intern/cycles/kernel/svm/svm_noise.h
    trunk/blender/intern/cycles/kernel/svm/svm_ramp.h
    trunk/blender/intern/cycles/kernel/svm/svm_texture.h
    trunk/blender/intern/cycles/kernel/svm/svm_value.h
    trunk/blender/intern/cycles/util/util_math.h
    trunk/blender/intern/cycles/util/util_types.h

Modified: trunk/blender/intern/cycles/blender/blender_sync.cpp
===================================================================
--- trunk/blender/intern/cycles/blender/blender_sync.cpp	2013-06-07 15:42:26 UTC (rev 57280)
+++ trunk/blender/intern/cycles/blender/blender_sync.cpp	2013-06-07 16:06:17 UTC (rev 57281)
@@ -379,7 +379,7 @@
 	params.background = background;
 
 	/* samples */
-	if(get_boolean(cscene, "progressive") == 0 && params.device.type == DEVICE_CPU){
+	if(get_boolean(cscene, "progressive") == 0 && params.device.type == DEVICE_CPU) {
 		if(background) {
 			params.samples = get_int(cscene, "aa_samples");
 		}

Modified: trunk/blender/intern/cycles/kernel/closure/bssrdf.h
===================================================================
--- trunk/blender/intern/cycles/kernel/closure/bssrdf.h	2013-06-07 15:42:26 UTC (rev 57280)
+++ trunk/blender/intern/cycles/kernel/closure/bssrdf.h	2013-06-07 16:06:17 UTC (rev 57281)
@@ -68,13 +68,13 @@
 {
 	float sq;
 
-	sq = sqrt(3.0f*(1.0f - alpha_));
+	sq = sqrtf(3.0f*(1.0f - alpha_));
 	return (alpha_/2.0f)*(1.0f + expf((-4.0f/3.0f)*A*sq))*expf(-sq) - ro;
 }
 
 __device float bssrdf_compute_reduced_albedo(float A, float ro)
 {
-	const float tolerance = 1e-8;
+	const float tolerance = 1e-8f;
 	const int max_iteration_count = 20;
 	float d, fsub, xn_1 = 0.0f, xn = 1.0f, fxn, fxn_1;
 	int i;
@@ -138,8 +138,8 @@
 	float rr = r*r;
 	float sr, sv, Rdr, Rdv;
 
-	sr = sqrt(rr + ss->zr*ss->zr);
-	sv = sqrt(rr + ss->zv*ss->zv);
+	sr = sqrtf(rr + ss->zr*ss->zr);
+	sv = sqrtf(rr + ss->zv*ss->zv);
 
 	Rdr = ss->zr*(1.0f + ss->sigma_tr*sr)*expf(-ss->sigma_tr*sr)/(sr*sr*sr);
 	Rdv = ss->zv*(1.0f + ss->sigma_tr*sv)*expf(-ss->sigma_tr*sv)/(sv*sv*sv);

Modified: trunk/blender/intern/cycles/kernel/kernel_bvh.h
===================================================================
--- trunk/blender/intern/cycles/kernel/kernel_bvh.h	2013-06-07 15:42:26 UTC (rev 57280)
+++ trunk/blender/intern/cycles/kernel/kernel_bvh.h	2013-06-07 16:06:17 UTC (rev 57281)
@@ -171,8 +171,8 @@
 	/* decide which nodes to traverse next */
 #ifdef __VISIBILITY_FLAG__
 	/* this visibility test gives a 5% performance hit, how to solve? */
-	*traverseChild0 = (c0max >= c0min) && (__float_as_int(cnodes.z) & visibility);
-	*traverseChild1 = (c1max >= c1min) && (__float_as_int(cnodes.w) & visibility);
+	*traverseChild0 = (c0max >= c0min) && (__float_as_uint(cnodes.z) & visibility);
+	*traverseChild1 = (c1max >= c1min) && (__float_as_uint(cnodes.w) & visibility);
 #else
 	*traverseChild0 = (c0max >= c0min);
 	*traverseChild1 = (c1max >= c1min);

Modified: trunk/blender/intern/cycles/kernel/kernel_compat_cpu.h
===================================================================
--- trunk/blender/intern/cycles/kernel/kernel_compat_cpu.h	2013-06-07 15:42:26 UTC (rev 57280)
+++ trunk/blender/intern/cycles/kernel/kernel_compat_cpu.h	2013-06-07 16:06:17 UTC (rev 57281)
@@ -88,7 +88,7 @@
 
 	float frac(float x, int *ix)
 	{
-		int i = (int)x - ((x < 0.0f)? 1: 0);
+		int i = float_to_int(x) - ((x < 0.0f)? 1: 0);
 		*ix = i;
 		return x - (float)i;
 	}

Modified: trunk/blender/intern/cycles/kernel/kernel_displace.h
===================================================================
--- trunk/blender/intern/cycles/kernel/kernel_displace.h	2013-06-07 15:42:26 UTC (rev 57280)
+++ trunk/blender/intern/cycles/kernel/kernel_displace.h	2013-06-07 16:06:17 UTC (rev 57281)
@@ -28,8 +28,8 @@
 		/* setup shader data */
 		int object = in.x;
 		int prim = in.y;
-		float u = __int_as_float(in.z);
-		float v = __int_as_float(in.w);
+		float u = __uint_as_float(in.z);
+		float v = __uint_as_float(in.w);
 
 		shader_setup_from_displace(kg, &sd, object, prim, u, v);
 
@@ -41,8 +41,8 @@
 	else { // SHADER_EVAL_BACKGROUND
 		/* setup ray */
 		Ray ray;
-		float u = __int_as_float(in.x);
-		float v = __int_as_float(in.y);
+		float u = __uint_as_float(in.x);
+		float v = __uint_as_float(in.y);
 
 		ray.P = make_float3(0.0f, 0.0f, 0.0f);
 		ray.D = equirectangular_to_direction(u, v);

Modified: trunk/blender/intern/cycles/kernel/kernel_globals.h
===================================================================
--- trunk/blender/intern/cycles/kernel/kernel_globals.h	2013-06-07 15:42:26 UTC (rev 57280)
+++ trunk/blender/intern/cycles/kernel/kernel_globals.h	2013-06-07 16:06:17 UTC (rev 57281)
@@ -94,7 +94,7 @@
 {
 	x = clamp(x, 0.0f, 1.0f)*(size-1);
 
-	int index = min((int)x, size-1);
+	int index = min(float_to_int(x), size-1);
 	int nindex = min(index+1, size-1);
 	float t = x - index;
 
@@ -110,7 +110,7 @@
 {
 	y = clamp(y, 0.0f, 1.0f)*(ysize-1);
 
-	int index = min((int)y, ysize-1);
+	int index = min(float_to_int(y), ysize-1);
 	int nindex = min(index+1, ysize-1);
 	float t = y - index;
 

Modified: trunk/blender/intern/cycles/kernel/kernel_light.h
===================================================================
--- trunk/blender/intern/cycles/kernel/kernel_light.h	2013-06-07 15:42:26 UTC (rev 57280)
+++ trunk/blender/intern/cycles/kernel/kernel_light.h	2013-06-07 16:06:17 UTC (rev 57281)
@@ -124,8 +124,8 @@
 	if(sin_theta == 0.0f)
 		return 0.0f;
 
-	int index_u = clamp((int)(uv.x * res), 0, res - 1);
-	int index_v = clamp((int)(uv.y * res), 0, res - 1);
+	int index_u = clamp(float_to_int(uv.x * res), 0, res - 1);
+	int index_v = clamp(float_to_int(uv.y * res), 0, res - 1);
 
 	/* pdfs in V direction */
 	float2 cdf_last_u = kernel_tex_fetch(__light_background_conditional_cdf, index_v * (res + 1) + res);

Modified: trunk/blender/intern/cycles/kernel/kernel_object.h
===================================================================
--- trunk/blender/intern/cycles/kernel/kernel_object.h	2013-06-07 15:42:26 UTC (rev 57280)
+++ trunk/blender/intern/cycles/kernel/kernel_object.h	2013-06-07 16:06:17 UTC (rev 57281)
@@ -201,7 +201,7 @@
 
 	int offset = object*OBJECT_SIZE + OBJECT_PROPERTIES;
 	float4 f = kernel_tex_fetch(__objects, offset);
-	return __float_as_int(f.w);
+	return __float_as_uint(f.w);
 }
 
 __device_inline float3 object_dupli_generated(KernelGlobals *kg, int object)

Modified: trunk/blender/intern/cycles/kernel/kernel_path.h
===================================================================
--- trunk/blender/intern/cycles/kernel/kernel_path.h	2013-06-07 15:42:26 UTC (rev 57280)
+++ trunk/blender/intern/cycles/kernel/kernel_path.h	2013-06-07 16:06:17 UTC (rev 57281)
@@ -44,7 +44,7 @@
 CCL_NAMESPACE_BEGIN
 
 typedef struct PathState {
-	uint flag;
+	int flag;
 	int bounce;
 
 	int diffuse_bounce;

Modified: trunk/blender/intern/cycles/kernel/svm/svm.h
===================================================================
--- trunk/blender/intern/cycles/kernel/svm/svm.h	2013-06-07 15:42:26 UTC (rev 57280)
+++ trunk/blender/intern/cycles/kernel/svm/svm.h	2013-06-07 16:06:17 UTC (rev 57281)
@@ -72,7 +72,7 @@
 
 __device_inline float stack_load_float_default(float *stack, uint a, uint value)
 {
-	return (a == (uint)SVM_STACK_INVALID)? __int_as_float(value): stack_load_float(stack, a);
+	return (a == (uint)SVM_STACK_INVALID)? __uint_as_float(value): stack_load_float(stack, a);
 }
 
 __device_inline void stack_store_float(float *stack, uint a, float f)
@@ -118,7 +118,7 @@
 __device_inline float4 read_node_float(KernelGlobals *kg, int *offset)
 {
 	uint4 node = kernel_tex_fetch(__svm_nodes, *offset);
-	float4 f = make_float4(__int_as_float(node.x), __int_as_float(node.y), __int_as_float(node.z), __int_as_float(node.w));
+	float4 f = make_float4(__uint_as_float(node.x), __uint_as_float(node.y), __uint_as_float(node.z), __uint_as_float(node.w));
 	(*offset)++;
 	return f;
 }
@@ -126,7 +126,7 @@
 __device_inline float4 fetch_node_float(KernelGlobals *kg, int offset)
 {
 	uint4 node = kernel_tex_fetch(__svm_nodes, offset);
-	return make_float4(__int_as_float(node.x), __int_as_float(node.y), __int_as_float(node.z), __int_as_float(node.w));
+	return make_float4(__uint_as_float(node.x), __uint_as_float(node.y), __uint_as_float(node.z), __uint_as_float(node.w));
 }
 
 __device_inline void decode_node_uchar4(uint i, uint *x, uint *y, uint *z, uint *w)

Modified: trunk/blender/intern/cycles/kernel/svm/svm_brick.h
===================================================================
--- trunk/blender/intern/cycles/kernel/svm/svm_brick.h	2013-06-07 15:42:26 UTC (rev 57280)
+++ trunk/blender/intern/cycles/kernel/svm/svm_brick.h	2013-06-07 16:06:17 UTC (rev 57281)
@@ -38,14 +38,14 @@
 	float offset = 0.0f;
 	float x, y;
 
-	rownum = (int)floor(p.y / row_height);
+	rownum = floor_to_int(p.y / row_height);
 	
 	if(offset_frequency && squash_frequency) {
 		brick_width *= ((int)(rownum) % squash_frequency ) ? 1.0f : squash_amount; /* squash */
 		offset = ((int)(rownum) % offset_frequency ) ? 0 : (brick_width*offset_amount); /* offset */
 	}
 
-	bricknum = (int)floor((p.x+offset) / brick_width);
+	bricknum = floor_to_int((p.x+offset) / brick_width);
 
 	x = (p.x+offset) - brick_width*bricknum;
 	y = p.y - row_height*rownum;

Modified: trunk/blender/intern/cycles/kernel/svm/svm_checker.h
===================================================================
--- trunk/blender/intern/cycles/kernel/svm/svm_checker.h	2013-06-07 15:42:26 UTC (rev 57280)
+++ trunk/blender/intern/cycles/kernel/svm/svm_checker.h	2013-06-07 16:06:17 UTC (rev 57281)
@@ -29,9 +29,9 @@
 	p.y = (p.y + 0.00001f)*0.9999f;
 	p.z = (p.z + 0.00001f)*0.9999f;
 
-	int xi = (int)fabsf(floorf(p.x));
-	int yi = (int)fabsf(floorf(p.y));
-	int zi = (int)fabsf(floorf(p.z));
+	int xi = float_to_int(fabsf(floorf(p.x)));
+	int yi = float_to_int(fabsf(floorf(p.y)));
+	int zi = float_to_int(fabsf(floorf(p.z)));
 
 	return ((xi % 2 == yi % 2) == (zi % 2))? 1.0f: 0.0f;
 }

Modified: trunk/blender/intern/cycles/kernel/svm/svm_closure.h
===================================================================
--- trunk/blender/intern/cycles/kernel/svm/svm_closure.h	2013-06-07 15:42:26 UTC (rev 57280)
+++ trunk/blender/intern/cycles/kernel/svm/svm_closure.h	2013-06-07 16:06:17 UTC (rev 57281)
@@ -119,8 +119,8 @@
 	float3 N = stack_valid(data_node.y)? stack_load_float3(stack, data_node.y): sd->N; 
 #endif
 
-	float param1 = (stack_valid(param1_offset))? stack_load_float(stack, param1_offset): __int_as_float(node.z);
-	float param2 = (stack_valid(param2_offset))? stack_load_float(stack, param2_offset): __int_as_float(node.w);
+	float param1 = (stack_valid(param1_offset))? stack_load_float(stack, param1_offset): __uint_as_float(node.z);

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list