[Bf-committers] Backbuff hang with patch.

Ton Roosendaal bf-committers@blender.org
Wed, 26 Nov 2003 11:53:43 +0100


Hi,

I've done a make clean, and compiled OSX versions with -O2 (this was  
-O). Did the full 'regression suite' with it, without problems.  
Including backbuffer render...

I have:
gcc (GCC) 3.1 20020420 (prerelease)

It gives about 10-15% speedup in rendering.

Others can test by applying change in source/nan_compile.mk

-Ton-


On Monday, Nov 24, 2003, at 01:44 Europe/Amsterdam, Robert Wenzlaff  
wrote:

> RE: Line 328 rendercore.c:
>
> I think I've figured out what's happening.  Whether it should or not,  
> sp is
> getting ofs's attributes during the assign.  This is why setting sp as
> volatile didn'r seem to work on some systems.  It was over written when
> assigned the value &ofs.  I think the value of the pointer gets  
> assigned to a
> volatile table at declaration time.  Later when sp is assigned, that  
> table
> entry is invalid.
>
> I set ofs as volatile and the problem vanished.  But if what I think is
> happening is happening, then on big endian systems, sp!=&ofs, and the  
> value
> is not in the volatile table.
>
> So safe bet is to make ofs and sp volatile.
>
> The patch below does that, please test on various platforms with  
> various
> compliers and get back to me.  Don't know if it can make it in 2.31 or  
> not,
> but maybe we can squeeze it in.
>
>
> --  
> **********************************************
> Robert Wenzlaff    rwenzlaff@soylent-green.com
> <BackBuffHang.diff>
------------------------------------------------------------------------ 
--
Ton Roosendaal  Blender Foundation ton@blender.org  
http://www.blender.org