[Bf-blender-cvs] [5c3c3ab] master: Cycles Bake: use size_t instead of width, height

Dalai Felinto noreply at git.blender.org
Thu Jul 31 05:43:22 CEST 2014


Commit: 5c3c3abb454c7a11709abee5e3648aa23f82408c
Author: Dalai Felinto
Date:   Mon Jul 28 14:29:03 2014 -0300
Branches: master
https://developer.blender.org/rB5c3c3abb454c7a11709abee5e3648aa23f82408c

Cycles Bake: use size_t instead of width, height

(original patch by Sergey Sharybin)

Note: RNA API can't use size_t at the moment. Once it does this patch
can be tweaked a bit to fully benefit from size_t larger dimensions.
(right now num_pixels is passed as int)

Reviewed By: sergey, campbellbarton
Differential Revision: https://developer.blender.org/D688

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

M	intern/cycles/blender/blender_python.cpp
M	intern/cycles/blender/blender_session.cpp
M	intern/cycles/blender/blender_session.h
M	intern/cycles/render/bake.cpp
M	intern/cycles/render/bake.h

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

diff --git a/intern/cycles/blender/blender_python.cpp b/intern/cycles/blender/blender_python.cpp
index 1d18f56..e82eb67 100644
--- a/intern/cycles/blender/blender_python.cpp
+++ b/intern/cycles/blender/blender_python.cpp
@@ -179,7 +179,7 @@ static PyObject *bake_func(PyObject *self, PyObject *args)
 
 	python_thread_state_save(&session->python_thread_state);
 
-	session->bake(b_object, pass_type, b_bake_pixel, num_pixels, depth, (float *)b_result);
+	session->bake(b_object, pass_type, b_bake_pixel, (size_t)num_pixels, depth, (float *)b_result);
 
 	python_thread_state_restore(&session->python_thread_state);
 
diff --git a/intern/cycles/blender/blender_session.cpp b/intern/cycles/blender/blender_session.cpp
index e57a672..37aab76 100644
--- a/intern/cycles/blender/blender_session.cpp
+++ b/intern/cycles/blender/blender_session.cpp
@@ -492,7 +492,7 @@ static void populate_bake_data(BakeData *data, BL::BakePixel pixel_array, const
 	}
 }
 
-void BlenderSession::bake(BL::Object b_object, const string& pass_type, BL::BakePixel pixel_array, int num_pixels, int depth, float result[])
+void BlenderSession::bake(BL::Object b_object, const string& pass_type, BL::BakePixel pixel_array, const size_t num_pixels, const int depth, float result[])
 {
 	ShaderEvalType shader_type = get_shader_type(pass_type);
 	size_t object_index = OBJECT_NONE;
diff --git a/intern/cycles/blender/blender_session.h b/intern/cycles/blender/blender_session.h
index 5146483..ac68511 100644
--- a/intern/cycles/blender/blender_session.h
+++ b/intern/cycles/blender/blender_session.h
@@ -52,7 +52,7 @@ public:
 	/* offline render */
 	void render();
 
-	void bake(BL::Object b_object, const string& pass_type, BL::BakePixel pixel_array, int num_pixels, int depth, float pixels[]);
+	void bake(BL::Object b_object, const string& pass_type, BL::BakePixel pixel_array, const size_t num_pixels, const int depth, float pixels[]);
 
 	void write_render_result(BL::RenderResult b_rr, BL::RenderLayer b_rlay, RenderTile& rtile);
 	void write_render_tile(RenderTile& rtile);
diff --git a/intern/cycles/render/bake.cpp b/intern/cycles/render/bake.cpp
index bc313a5..d7da63d 100644
--- a/intern/cycles/render/bake.cpp
+++ b/intern/cycles/render/bake.cpp
@@ -19,7 +19,7 @@
 
 CCL_NAMESPACE_BEGIN
 
-BakeData::BakeData(const int object, const int tri_offset, const int num_pixels):
+BakeData::BakeData(const int object, const size_t tri_offset, const size_t num_pixels):
 m_object(object),
 m_tri_offset(tri_offset),
 m_num_pixels(num_pixels)
@@ -60,7 +60,7 @@ int BakeData::object()
 	return m_object;
 }
 
-int BakeData::size()
+size_t BakeData::size()
 {
 	return m_num_pixels;
 }
@@ -113,7 +113,7 @@ void BakeManager::set_baking(const bool value)
 	m_is_baking = value;
 }
 
-BakeData *BakeManager::init(const int object, const int tri_offset, const int num_pixels)
+BakeData *BakeManager::init(const int object, const size_t tri_offset, const size_t num_pixels)
 {
 	m_bake_data = new BakeData(object, tri_offset, num_pixels);
 	return m_bake_data;
diff --git a/intern/cycles/render/bake.h b/intern/cycles/render/bake.h
index bf03a16..652420c 100644
--- a/intern/cycles/render/bake.h
+++ b/intern/cycles/render/bake.h
@@ -27,20 +27,20 @@ CCL_NAMESPACE_BEGIN
 
 class BakeData {
 public:
-	BakeData(const int object, const int tri_offset, const int num_pixels);
+	BakeData(const int object, const size_t tri_offset, const size_t num_pixels);
 	~BakeData();
 
 	void set(int i, int prim, float uv[2], float dudx, float dudy, float dvdx, float dvdy);
 	int object();
-	int size();
+	size_t size();
 	uint4 data(int i);
 	uint4 differentials(int i);
 	bool is_valid(int i);
 
 private:
 	int m_object;
-	int m_tri_offset;
-	int m_num_pixels;
+	size_t m_tri_offset;
+	size_t m_num_pixels;
 	vector<int>m_primitive;
 	vector<float>m_u;
 	vector<float>m_v;
@@ -58,7 +58,7 @@ public:
 	bool get_baking();
 	void set_baking(const bool value);
 
-	BakeData *init(const int object, const int tri_offset, const int num_pixels);
+	BakeData *init(const int object, const size_t tri_offset, const size_t num_pixels);
 
 	bool bake(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress, ShaderEvalType shader_type, BakeData *bake_data, float result[]);




More information about the Bf-blender-cvs mailing list