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 */


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to