[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [59784] trunk/blender: Fix a few issues reported by coverity scan.

Brecht Van Lommel brechtvanlommel at pandora.be
Wed Sep 4 00:39:21 CEST 2013


Revision: 59784
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59784
Author:   blendix
Date:     2013-09-03 22:39:21 +0000 (Tue, 03 Sep 2013)
Log Message:
-----------
Fix a few issues reported by coverity scan.

Modified Paths:
--------------
    trunk/blender/intern/cycles/blender/blender_sync.cpp
    trunk/blender/intern/cycles/kernel/osl/osl_services.cpp
    trunk/blender/intern/cycles/kernel/osl/osl_shader.cpp
    trunk/blender/intern/cycles/render/camera.cpp
    trunk/blender/intern/cycles/render/mesh.cpp
    trunk/blender/intern/cycles/render/nodes.cpp
    trunk/blender/intern/cycles/render/object.cpp
    trunk/blender/intern/cycles/render/scene.h
    trunk/blender/intern/cycles/render/session.cpp
    trunk/blender/intern/cycles/render/session.h
    trunk/blender/intern/cycles/render/svm.cpp
    trunk/blender/intern/cycles/render/tile.cpp
    trunk/blender/intern/cycles/render/tile.h
    trunk/blender/intern/cycles/util/util_task.cpp
    trunk/blender/source/blender/editors/render/render_internal.c
    trunk/blender/source/blender/render/intern/source/rendercore.c

Modified: trunk/blender/intern/cycles/blender/blender_sync.cpp
===================================================================
--- trunk/blender/intern/cycles/blender/blender_sync.cpp	2013-09-03 22:39:17 UTC (rev 59783)
+++ trunk/blender/intern/cycles/blender/blender_sync.cpp	2013-09-03 22:39:21 UTC (rev 59784)
@@ -458,7 +458,7 @@
 		params.tile_size = make_int2(tile_x, tile_y);
 	}
 	
-	params.tile_order = RNA_enum_get(&cscene, "tile_order");
+	params.tile_order = (TileOrder)RNA_enum_get(&cscene, "tile_order");
 
 	params.start_resolution = get_int(cscene, "preview_start_resolution");
 

Modified: trunk/blender/intern/cycles/kernel/osl/osl_services.cpp
===================================================================
--- trunk/blender/intern/cycles/kernel/osl/osl_services.cpp	2013-09-03 22:39:17 UTC (rev 59783)
+++ trunk/blender/intern/cycles/kernel/osl/osl_services.cpp	2013-09-03 22:39:21 UTC (rev 59784)
@@ -97,6 +97,7 @@
 OSLRenderServices::OSLRenderServices()
 {
 	kernel_globals = NULL;
+	osl_ts = NULL;
 }
 
 OSLRenderServices::~OSLRenderServices()
@@ -701,7 +702,7 @@
 	int object, prim, segment;
 
 	/* lookup of attribute on another object */
-	if (object_name != u_empty || sd == NULL) {
+	if (object_name != u_empty) {
 		OSLGlobals::ObjectNameMap::iterator it = kg->osl->object_name_map.find(object_name);
 
 		if (it == kg->osl->object_name_map.end())

Modified: trunk/blender/intern/cycles/kernel/osl/osl_shader.cpp
===================================================================
--- trunk/blender/intern/cycles/kernel/osl/osl_shader.cpp	2013-09-03 22:39:17 UTC (rev 59783)
+++ trunk/blender/intern/cycles/kernel/osl/osl_shader.cpp	2013-09-03 22:39:21 UTC (rev 59784)
@@ -388,6 +388,8 @@
 
 					sc.sample_weight = sample_weight;
 					sc.type = CLOSURE_VOLUME_ID;
+					sc.data0 = 0.0f;
+					sc.data1 = 0.0f;
 					sc.prim = NULL;
 
 					/* add */

Modified: trunk/blender/intern/cycles/render/camera.cpp
===================================================================
--- trunk/blender/intern/cycles/render/camera.cpp	2013-09-03 22:39:17 UTC (rev 59783)
+++ trunk/blender/intern/cycles/render/camera.cpp	2013-09-03 22:39:21 UTC (rev 59784)
@@ -52,6 +52,7 @@
 
 	width = 1024;
 	height = 512;
+	resolution = 1;
 
 	viewplane.left = -((float)width/(float)height);
 	viewplane.right = (float)width/(float)height;

Modified: trunk/blender/intern/cycles/render/mesh.cpp
===================================================================
--- trunk/blender/intern/cycles/render/mesh.cpp	2013-09-03 22:39:17 UTC (rev 59783)
+++ trunk/blender/intern/cycles/render/mesh.cpp	2013-09-03 22:39:21 UTC (rev 59784)
@@ -39,6 +39,7 @@
 Mesh::Mesh()
 {
 	need_update = true;
+	need_update_rebuild = false;
 	transform_applied = false;
 	transform_negative_scaled = false;
 	transform_normal = transform_identity();
@@ -467,6 +468,7 @@
 			osl_attr.type = attr.type();
 			osl_attr.elem = ATTR_ELEMENT_VALUE;
 			osl_attr.value = attr;
+			osl_attr.offset = 0;
 
 			og->attribute_map[i*ATTR_PRIM_TYPES][attr.name()] = osl_attr;
 			og->attribute_map[i*ATTR_PRIM_TYPES + ATTR_PRIM_CURVE][attr.name()] = osl_attr;

Modified: trunk/blender/intern/cycles/render/nodes.cpp
===================================================================
--- trunk/blender/intern/cycles/render/nodes.cpp	2013-09-03 22:39:17 UTC (rev 59783)
+++ trunk/blender/intern/cycles/render/nodes.cpp	2013-09-03 22:39:21 UTC (rev 59784)
@@ -452,6 +452,13 @@
 	sunsky->config_z[3] = (-0.0441f * T  - 1.6537f);
 	sunsky->config_z[4] = (-0.0109f * T  + 0.0529f);
 
+	/* unused for old sky model */
+	for(int i = 5; i < 9; i++) {
+		sunsky->config_x[i] = 0.0f;
+		sunsky->config_y[i] = 0.0f;
+		sunsky->config_z[i] = 0.0f;
+	}
+
 	sunsky->radiance_x /= sky_perez_function(sunsky->config_x, 0, theta);
 	sunsky->radiance_y /= sky_perez_function(sunsky->config_y, 0, theta);
 	sunsky->radiance_z /= sky_perez_function(sunsky->config_z, 0, theta);
@@ -558,6 +565,7 @@
 	tex_mapping.compile(compiler);
 
 	SunSky sunsky;
+
 	if(type_enum[type] == NODE_SKY_OLD)
 		sky_texture_precompute_old(&sunsky, sun_direction, turbidity);
 	else if(type_enum[type] == NODE_SKY_NEW)

Modified: trunk/blender/intern/cycles/render/object.cpp
===================================================================
--- trunk/blender/intern/cycles/render/object.cpp	2013-09-03 22:39:17 UTC (rev 59783)
+++ trunk/blender/intern/cycles/render/object.cpp	2013-09-03 22:39:21 UTC (rev 59784)
@@ -41,10 +41,13 @@
 	particle_id = 0;
 	bounds = BoundBox::empty;
 	motion.pre = transform_identity();
+	motion.mid = transform_identity();
 	motion.post = transform_identity();
 	use_motion = false;
 	use_holdout = false;
 	curverender = false;
+	dupli_generated = make_float3(0.0f, 0.0f, 0.0f);
+	dupli_uv = make_float2(0.0f, 0.0f);
 }
 
 Object::~Object()

Modified: trunk/blender/intern/cycles/render/scene.h
===================================================================
--- trunk/blender/intern/cycles/render/scene.h	2013-09-03 22:39:17 UTC (rev 59783)
+++ trunk/blender/intern/cycles/render/scene.h	2013-09-03 22:39:21 UTC (rev 59784)
@@ -136,6 +136,7 @@
 #else
 		use_qbvh = false;
 #endif
+		persistent_data = false;
 	}
 
 	bool modified(const SceneParams& params)

Modified: trunk/blender/intern/cycles/render/session.cpp
===================================================================
--- trunk/blender/intern/cycles/render/session.cpp	2013-09-03 22:39:17 UTC (rev 59783)
+++ trunk/blender/intern/cycles/render/session.cpp	2013-09-03 22:39:21 UTC (rev 59784)
@@ -66,6 +66,7 @@
 	reset_time = 0.0;
 	preview_time = 0.0;
 	paused_time = 0.0;
+	last_update_time = 0.0;
 
 	delayed_reset.do_reset = false;
 	delayed_reset.samples = 0;

Modified: trunk/blender/intern/cycles/render/session.h
===================================================================
--- trunk/blender/intern/cycles/render/session.h	2013-09-03 22:39:17 UTC (rev 59783)
+++ trunk/blender/intern/cycles/render/session.h	2013-09-03 22:39:21 UTC (rev 59784)
@@ -49,7 +49,7 @@
 	bool experimental;
 	int samples;
 	int2 tile_size;
-	int tile_order;
+	TileOrder tile_order;
 	int start_resolution;
 	int threads;
 
@@ -81,6 +81,7 @@
 		text_timeout = 1.0;
 
 		shadingsystem = SVM;
+		tile_order = TILE_CENTER;
 	}
 
 	bool modified(const SessionParams& params)
@@ -99,6 +100,7 @@
 		&& cancel_timeout == params.cancel_timeout
 		&& reset_timeout == params.reset_timeout
 		&& text_timeout == params.text_timeout
+		&& tile_order == params.tile_order
 		&& shadingsystem == params.shadingsystem); }
 
 };

Modified: trunk/blender/intern/cycles/render/svm.cpp
===================================================================
--- trunk/blender/intern/cycles/render/svm.cpp	2013-09-03 22:39:17 UTC (rev 59783)
+++ trunk/blender/intern/cycles/render/svm.cpp	2013-09-03 22:39:21 UTC (rev 59784)
@@ -110,6 +110,7 @@
 	max_stack_use = 0;
 	current_type = SHADER_TYPE_SURFACE;
 	current_shader = NULL;
+	current_graph = NULL;
 	background = false;
 	mix_weight_offset = SVM_STACK_INVALID;
 	use_multi_closure = use_multi_closure_;

Modified: trunk/blender/intern/cycles/render/tile.cpp
===================================================================
--- trunk/blender/intern/cycles/render/tile.cpp	2013-09-03 22:39:17 UTC (rev 59783)
+++ trunk/blender/intern/cycles/render/tile.cpp	2013-09-03 22:39:21 UTC (rev 59784)
@@ -22,7 +22,7 @@
 CCL_NAMESPACE_BEGIN
 
 TileManager::TileManager(bool progressive_, int num_samples_, int2 tile_size_, int start_resolution_,
-                         bool preserve_tile_device_, bool background_, int tile_order_, int num_devices_)
+                         bool preserve_tile_device_, bool background_, TileOrder tile_order_, int num_devices_)
 {
 	progressive = progressive_;
 	tile_size = tile_size_;
@@ -178,7 +178,7 @@
 	return state.tiles.end();
 }
 
-list<Tile>::iterator TileManager::next_background_tile(int device, int tile_order)
+list<Tile>::iterator TileManager::next_background_tile(int device, TileOrder tile_order)
 {
 	list<Tile>::iterator iter, best = state.tiles.end();
 
@@ -199,21 +199,21 @@
 			int64_t disty = cordy;
 			
 			switch (tile_order) {
-				case TileManager::CENTER:
+				case TILE_CENTER:
 					distx = centx - (cur_tile.x + cur_tile.w);
 					disty = centy - (cur_tile.y + cur_tile.h);
 					distx = (int64_t) sqrt((double)distx * distx + disty * disty);
 					break;
-				case TileManager::RIGHT_TO_LEFT:
+				case TILE_RIGHT_TO_LEFT:
 					distx = cordx - cur_tile.x;
 					break;
-				case TileManager::LEFT_TO_RIGHT:
+				case TILE_LEFT_TO_RIGHT:
 					distx = cordx + cur_tile.x;	
 					break;
-				case TileManager::TOP_TO_BOTTOM:
+				case TILE_TOP_TO_BOTTOM:
 					distx = cordx - cur_tile.y;
 					break;
-				case TileManager::BOTTOM_TO_TOP:
+				case TILE_BOTTOM_TO_TOP:
 					distx = cordx + cur_tile.y;
 					break; 
 				default:

Modified: trunk/blender/intern/cycles/render/tile.h
===================================================================
--- trunk/blender/intern/cycles/render/tile.h	2013-09-03 22:39:17 UTC (rev 59783)
+++ trunk/blender/intern/cycles/render/tile.h	2013-09-03 22:39:21 UTC (rev 59784)
@@ -40,6 +40,17 @@
 	: index(index_), x(x_), y(y_), w(w_), h(h_), device(device_), rendering(false) {}
 };
 
+/* Tile order */
+
+/* Note: this should match enum_tile_order in properties.py */
+enum TileOrder {
+	TILE_CENTER = 0,
+	TILE_RIGHT_TO_LEFT = 1,
+	TILE_LEFT_TO_RIGHT = 2,
+	TILE_TOP_TO_BOTTOM = 3,
+	TILE_BOTTOM_TO_TOP = 4
+};
+
 /* Tile Manager */
 
 class TileManager {
@@ -59,7 +70,7 @@
 	int num_samples;
 
 	TileManager(bool progressive, int num_samples, int2 tile_size, int start_resolution,
-	            bool preserve_tile_device, bool background, int tile_order, int num_devices = 1);
+	            bool preserve_tile_device, bool background, TileOrder tile_order, int num_devices = 1);
 	~TileManager();
 
 	void reset(BufferParams& params, int num_samples);
@@ -67,23 +78,15 @@
 	bool next();
 	bool next_tile(Tile& tile, int device = 0);
 	bool done();
+	
+	void set_tile_order(TileOrder tile_order_) { tile_order = tile_order_; }
+protected:
 
-	void set_tile_order(int tile_order_) { tile_order = tile_order_; }
-protected:
-	/* Note: this should match enum_tile_order in properties.py */
-	enum {
-		CENTER = 0,
-		RIGHT_TO_LEFT = 1,
-		LEFT_TO_RIGHT = 2,
-		TOP_TO_BOTTOM = 3,
-		BOTTOM_TO_TOP = 4
-	} TileOrder;
-	
 	void set_tiles();
 
 	bool progressive;
 	int2 tile_size;
-	int tile_order;
+	TileOrder tile_order;
 	int start_resolution;
 	int num_devices;
 

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list