[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [28204] branches/render25/source/blender/ render/intern: Render Branch: allocate pixel row as part of RenderPart instead of

Brecht Van Lommel brecht at blender.org
Thu Apr 15 12:44:55 CEST 2010


Revision: 28204
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28204
Author:   blendix
Date:     2010-04-15 12:44:55 +0200 (Thu, 15 Apr 2010)

Log Message:
-----------
Render Branch: allocate pixel row as part of RenderPart instead of
on the stack, may solve some problems on mac/win.

Modified Paths:
--------------
    branches/render25/source/blender/render/intern/include/part.h
    branches/render25/source/blender/render/intern/source/cache.c
    branches/render25/source/blender/render/intern/source/rendercore.c

Modified: branches/render25/source/blender/render/intern/include/part.h
===================================================================
--- branches/render25/source/blender/render/intern/include/part.h	2010-04-15 10:30:02 UTC (rev 28203)
+++ branches/render25/source/blender/render/intern/include/part.h	2010-04-15 10:44:55 UTC (rev 28204)
@@ -27,6 +27,7 @@
 
 #include "DNA_listBase.h"
 
+#include "rendercore.h"
 #include "result.h"
 
 struct APixstr;
@@ -89,6 +90,8 @@
 
 	/* adaptive subdivision */
 	struct GHash *subdivhash;
+	
+	PixelRow pixelrow[MAX_PIXEL_ROW];
 } RenderPart;
 
 #endif /* __RENDER_PART_H__ */

Modified: branches/render25/source/blender/render/intern/source/cache.c
===================================================================
--- branches/render25/source/blender/render/intern/source/cache.c	2010-04-15 10:30:02 UTC (rev 28203)
+++ branches/render25/source/blender/render/intern/source/cache.c	2010-04-15 10:44:55 UTC (rev 28204)
@@ -212,7 +212,7 @@
 
 	for(y=pa->disprect.ymin; y<pa->disprect.ymax; y++) {
 		for(x=pa->disprect.xmin; x<pa->disprect.xmax; x++, sample++, rd++, ro++, rp++, rz++, offs++) {
-			PixelRow row[MAX_PIXEL_ROW];
+			PixelRow *row= pa->pixelrow;
 			int totrow;
 
 			if(!(((x - pa->disprect.xmin + step) % step) == 0 || x == pa->disprect.xmax-1))
@@ -1058,7 +1058,7 @@
 				int lx = (x - pa->disprect.xmin);
 				int ly = (y - pa->disprect.ymin);
 				int od = lx + ly*(pa->disprect.xmax - pa->disprect.xmin);
-				PixelRow row[MAX_PIXEL_ROW];
+				PixelRow *row= pa->pixelrow;
 				int a, b, totrow;
 
 				BLI_thread_srandom(pa->thread, seed++);

Modified: branches/render25/source/blender/render/intern/source/rendercore.c
===================================================================
--- branches/render25/source/blender/render/intern/source/rendercore.c	2010-04-15 10:30:02 UTC (rev 28203)
+++ branches/render25/source/blender/render/intern/source/rendercore.c	2010-04-15 10:44:55 UTC (rev 28204)
@@ -749,7 +749,7 @@
 	/* render the tile */
 	for(y=pa->disprect.ymin+crop; y<pa->disprect.ymax-crop; y++, rr->renrect.ymax++) {
 		for(x=pa->disprect.xmin+crop; x<pa->disprect.xmax-crop; x++) {
-			PixelRow row[MAX_PIXEL_ROW];
+			PixelRow *row= pa->pixelrow;
 			int totrow;
 
 			/* create shade pixel row, sorted front to back */





More information about the Bf-blender-cvs mailing list