From: Wylie, B. <bn...@sa...> - 2005-07-25 20:57:07
|
Just an observation. If your compiling with Visual Studio .Net 2003, we have had some seriously dorky stuff happen with that optimizer. So just an FYI. :) Brian Wylie - Org 9227 Sandia National Laboratories MS 0822 - Building 880/A1-J (505)844-2238 FAX(505)845-0833 =20 ____ _ __ / __ \____ _________ | | / (_)__ _ __=20 / /_/ / __ `/ ___/ __ `/ | / / / _ \ | /| / / / ____/ /_/ / / / /_/ /| |/ / / __/ |/ |/ / /_/ \__,_/_/ \__,_/ |___/_/\___/|__/|__/ Unleash the Beast =20 > -----Original Message----- > From: chr...@li...=20 > [mailto:chr...@li...] On Behalf=20 > Of ma...@co... > Sent: Sunday, July 24, 2005 8:27 PM > To: chr...@li... > Subject: [Chromium-dev] Possible problem in=20 > crStateTransformDiff ( state_transform.c) >=20 > Hi all, >=20 > I'm trying to track down a bug/crash that only is appearing=20 > under RELEASE builds on Win32. It seems that the release=20 > build may be exposing a bug (I don't suspect a bad=20 > optimization here... but it could be...) >=20 > As far as I've been able to trace things, the problem area=20 > starts around line 1330 or so in state_transform.c. It's a=20 > loop that looks like it's comparing texture matrix stacks,=20 > but to be honest, its purpose is a bit beyond me! >=20 > Could someone who's more familiar with the state tracking=20 > mechanisms take a look at that loop and see if there isn't=20 > something fishy going on? >=20 > Thanks, > Jon >=20 > For reference the code from that section is as follows: >=20 > for (j =3D 0 ; j < maxTextureUnits; j++) > { > if (from->textureStack[j].depth > to->textureStack[j].depth) > { > if (textureFrom->curTextureUnit !=3D j) { > diff_api.ActiveTextureARB( j +=20 > GL_TEXTURE0_ARB ); > textureFrom->curTextureUnit =3D j; > } > for (i =3D to->textureStack[j].depth; i <=20 > from->textureStack [j].depth; i++) > { > diff_api.PopMatrix(); > } >=20 > from->textureStack[j].depth =3D to->textureStack[j].depth; > } >=20 > for (i =3D from->textureStack[j].depth; i <=3D=20 > to->textureStack[j].depth; > i++) > { > if (textureFrom->curTextureUnit !=3D j) { > diff_api.ActiveTextureARB( j +=20 > GL_TEXTURE0_ARB ); > textureFrom->curTextureUnit =3D j; > } > LOADMATRIX(to->textureStack[j].stack + i); > from->textureStack[j].stack[i] =3D=20 > to->textureStack[j].stack[i]; >=20 > /* Don't want to push on the current matrix */ > if (i !=3D to->textureStack[j].depth) > diff_api.PushMatrix(); > } > from->textureStack[j].depth =3D to->textureStack[j].depth; > from->textureStack[j].top =3D from->textureStack[j].stack + from- > >textureStack[j].depth; > } >=20 >=20 > ------------------------------------------------------- > SF.Net email is sponsored by: Discover Easy Linux Migration=20 > Strategies from IBM. Find simple to follow Roadmaps,=20 > straightforward articles, informative Webcasts and more! Get=20 > everything you need to get up to speed, fast.=20 > http://ads.osdn.com/?ad_id=3D7477&alloc_id=3D16492&op=3Dclick > _______________________________________________ > Chromium-dev mailing list > Chr...@li... > https://lists.sourceforge.net/lists/listinfo/chromium-dev >=20 >=20 |