[Bf-committers] Backbuffer hang in oldrenderpipe.

Ton Roosendaal bf-committers@blender.org
Wed, 12 Nov 2003 12:09:32 +0100


Hi,

This is code that exists in Blender since the beginning, and I didn't  
encounter problems with it while doing the ports for freebsd, linux,  
beos, alpha...

I remember issues with optimizing, but the -O2 level seemed to work  
everywhere. First I like to know what causes this error now... because  
there are more such tricks in Blender, in rendering and the imbuf code  
for example.

-Ton-


On Wednesday, Nov 12, 2003, at 06:41 Europe/Amsterdam, Douglas Toltzman  
wrote:

> 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
>
> _______________________________________________
> Bf-committers mailing list
> Bf-committers@blender.org
> http://www.blender.org/mailman/listinfo/bf-committers
>
>
------------------------------------------------------------------------ 
--
Ton Roosendaal  Blender Foundation ton@blender.org  
http://www.blender.org