[Bf-committers] Backbuffer hang in oldrenderpipe.

Douglas Toltzman bf-committers@blender.org
Wed, 12 Nov 2003 00:41:47 -0500 (EST)


After looking at this code some more, I really don't see why you can't
just add the upper bits of <ofs> to <rt> without the loop.  Maybe I'm
missing something, but something like;

rt += ((ofs & 0xffff0000) >> 16);

... would have the same effect, unless there is some loopy side effect I'm
not seeing in the code fragment.

On Wed, 12 Nov 2003, Douglas Toltzman wrote:

> Ok, if that doesn't work, then try this;
> 
> Where you have;
> >       while( *sp>0 ) {
> >               ofs-= 65536;
> >               rt++;
> >       }
> 
> Do something like;
> 
> while (0 < ((ofs & 0xffff0000) >> 16)) {
> 	ofs -= 0x10000;
> 	rt++;
> }
> 
> You can eliminate the "sp" confusion, altogether.  Essentially, sp is a
> pointer to the high-order 16-bit component of ofs.
> 
> 
> On Tue, 11 Nov 2003, Robert Wenzlaff wrote:
> 
> > On Tuesday 11 November 2003 17:00, Douglas Toltzman wrote:
> > > Have your tried:
> > > "short * volatile sp;"
> > > which would indicate that sp was a pointer to a volatile short.
> > >
> > > On Tue, 11 Nov 2003, Robert Wenzlaff wrote:
> > > > There's some odd code in rendercore.c around line 310 in
> > > > scanlinesky().  It is invoked when using the old renderpipe with a
> > > > backbuff image.
> > 
> > While I had my doubts about that syntax, apparently it took it.  But 
> > unfortunatly it does not fix the problem.  Has anyone else even seen this 
> > problem?  I added a -g to my makefiles, maybe that is doing something.
> > -- 
> > **********************************************
> > Robert Wenzlaff    rwenzlaff@soylent-green.com
> > 
> > _______________________________________________
> > Bf-committers mailing list
> > Bf-committers@blender.org
> > http://www.blender.org/mailman/listinfo/bf-committers