ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/rt/rv3.c
(Generate patch)

Comparing ray/src/rt/rv3.c (file contents):
Revision 2.29 by greg, Tue Sep 16 18:35:56 2008 UTC vs.
Revision 2.31 by greg, Wed Dec 3 06:57:48 2008 UTC

# Line 224 | Line 224 | paint(                 /* compute and paint a rectangle */
224                          flushintvl = nproc*niflush/(ambounce+1);
225                  else
226                          flushintvl = nproc*WFLUSH/(ambounce+1);
227 +                if (lastflush > counter)
228 +                        lastflush = 0;          /* counter wrapped */
229  
230                  if (counter - lastflush >= flushintvl) {
231                          lastflush = counter;
# Line 242 | Line 244 | waitrays(void)                                 /* finish up pending rays */
244          int     rval;
245          RAY     raydone;
246  
247 <        if (nproc == 1)                         /* immediate mode? */
247 >        if (nproc <= 1)                         /* immediate mode? */
248                  return(0);
249          while ((rval = ray_presult(&raydone, 0)) > 0) {
250                  PNODE  *p = (PNODE *)raydone.rno;
# Line 265 | Line 267 | newimage(                                      /* start a new image */
267          extern int      ray_pnprocs;
268          int             newnp;
269                                                  /* change in nproc? */
270 <        if (s != NULL && sscanf(s, "%d", &newnp) == 1 && newnp > 0) {
270 >        if (s != NULL && sscanf(s, "%d", &newnp) == 1 &&
271 >                        (newnp > 0) & (newnp != nproc)) {
272                  if (!newparam) {
270                        if (nproc == 1)
271                                nproc = 0;      /* actually running */
273                          if (newnp == 1)
274                                  ray_pclose(0);
275 <                        else if (newnp < nproc)
276 <                                ray_pclose(nproc - newnp);
275 >                        else if (newnp < ray_pnprocs)
276 >                                ray_pclose(ray_pnprocs - newnp);
277                          else
278 <                                ray_popen(newnp - nproc);
278 >                                ray_popen(newnp - ray_pnprocs);
279                  }
280                  nproc = newnp;
281          }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines