[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [26380] branches/render25/source/blender/ render/intern/source: Render Branch: fixes for crashes in bake and occlusion caching.
Brecht Van Lommel
brecht at blender.org
Thu Jan 28 23:23:56 CET 2010
Revision: 26380
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26380
Author: blendix
Date: 2010-01-28 23:23:56 +0100 (Thu, 28 Jan 2010)
Log Message:
-----------
Render Branch: fixes for crashes in bake and occlusion caching.
Modified Paths:
--------------
branches/render25/source/blender/render/intern/source/bake.c
branches/render25/source/blender/render/intern/source/rendercore.c
Modified: branches/render25/source/blender/render/intern/source/bake.c
===================================================================
--- branches/render25/source/blender/render/intern/source/bake.c 2010-01-28 21:52:07 UTC (rev 26379)
+++ branches/render25/source/blender/render/intern/source/bake.c 2010-01-28 22:23:56 UTC (rev 26380)
@@ -538,9 +538,8 @@
bake_shade(handle, ob, shi, quad, x, y, u, v, 0, 0);
}
-static int get_next_bake_face(BakeShade *bs)
+static int get_next_bake_face(Render *re, BakeShade *bs)
{
- Render *re= bs->re;
ObjectRen *obr;
VlakRen *vlr;
MTFace *tface;
@@ -553,7 +552,7 @@
obi= re->db.instancetable.first;
return 0;
}
-
+
BLI_lock_thread(LOCK_CUSTOM1);
for(; obi; obi=obi->next, v=0) {
@@ -679,7 +678,7 @@
BakeShade *bs= bs_v;
Render *re= bs->re;
- while(get_next_bake_face(bs)) {
+ while(get_next_bake_face(re, bs)) {
shade_tface(bs);
/* fast threadsafe break test */
@@ -709,7 +708,7 @@
re->bakebuf= NULL;
/* initialize static vars */
- get_next_bake_face(NULL);
+ get_next_bake_face(re, NULL);
/* do we need a mask? */
if (re->params.r.bake_filter && (re->params.r.bake_flag & R_BAKE_CLEAR)==0)
Modified: branches/render25/source/blender/render/intern/source/rendercore.c
===================================================================
--- branches/render25/source/blender/render/intern/source/rendercore.c 2010-01-28 21:52:07 UTC (rev 26379)
+++ branches/render25/source/blender/render/intern/source/rendercore.c 2010-01-28 22:23:56 UTC (rev 26380)
@@ -732,6 +732,11 @@
/* we set per pixel a fixed seed, for random AO and shadow samples */
seed= pa->rectx*pa->disprect.ymin;
+ /* general shader info, passes */
+ shade_sample_initialize(re, &ssamp, pa, rl);
+ passflag= rl->passflag & ~(SCE_PASS_COMBINED);
+ layflag= rl->layflag;
+
/* precompute shading data for this tile */
if(re->params.r.mode & R_SHADOW)
irregular_shadowbuf_create(re, pa, APixbuf);
@@ -739,11 +744,6 @@
if(re->db.occlusiontree)
disk_occlusion_cache_create(re, pa, &ssamp);
- /* general shader info, passes */
- shade_sample_initialize(re, &ssamp, pa, rl);
- passflag= rl->passflag & ~(SCE_PASS_COMBINED);
- layflag= rl->layflag;
-
/* filtered render, for now we assume only 1 filter size */
if(pa->crop) {
crop= 1;
More information about the Bf-blender-cvs
mailing list