RE: Possible problem in crStateTransformDiff ( state_transform.c)
"Wylie, Brian" <[email protected]> Mon, 25 Jul 2005 14:56:51 -0600
| Newsgroups | gmane.comp.graphics.chromium.devel |
|---|---|
| Message-ID | <E4C1C0FFED3E6B49AC2C1DA9723BE11E01196561@ES20SNLNT.srn.sandia.gov> |
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
____ _ __
/ __ \____ _________ | | / (_)__ _ __
/ /_/ / __ `/ ___/ __ `/ | / / / _ \ | /| / /
/ ____/ /_/ / / / /_/ /| |/ / / __/ |/ |/ /
/_/ \__,_/_/ \__,_/ |___/_/\___/|__/|__/
Unleash the Beast
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf
> Of [email protected]
> Sent: Sunday, July 24, 2005 8:27 PM
> To: [email protected]
> Subject: [Chromium-dev] Possible problem in
> crStateTransformDiff ( state_transform.c)
>
> Hi all,
>
> I'm trying to track down a bug/crash that only is appearing
> under RELEASE builds on Win32. It seems that the release
> build may be exposing a bug (I don't suspect a bad
> optimization here... but it could be...)
>
> As far as I've been able to trace things, the problem area
> starts around line 1330 or so in state_transform.c. It's a
> loop that looks like it's comparing texture matrix stacks,
> but to be honest, its purpose is a bit beyond me!
>
> Could someone who's more familiar with the state tracking
> mechanisms take a look at that loop and see if there isn't
> something fishy going on?
>
> Thanks,
> Jon
>
> For reference the code from that section is as follows:
>
> for (j = 0 ; j < maxTextureUnits; j++)
> {
> if (from->textureStack[j].depth > to->textureStack[j].depth)
> {
> if (textureFrom->curTextureUnit != j) {
> diff_api.ActiveTextureARB( j +
> GL_TEXTURE0_ARB );
> textureFrom->curTextureUnit = j;
> }
> for (i = to->textureStack[j].depth; i <
> from->textureStack [j].depth; i++)
> {
> diff_api.PopMatrix();
> }
>
> from->textureStack[j].depth = to->textureStack[j].depth;
> }
>
> for (i = from->textureStack[j].depth; i <=
> to->textureStack[j].depth;
> i++)
> {
> if (textureFrom->curTextureUnit != j) {
> diff_api.ActiveTextureARB( j +
> GL_TEXTURE0_ARB );
> textureFrom->curTextureUnit = j;
> }
> LOADMATRIX(to->textureStack[j].stack + i);
> from->textureStack[j].stack[i] =
> to->textureStack[j].stack[i];
>
> /* Don't want to push on the current matrix */
> if (i != to->textureStack[j].depth)
> diff_api.PushMatrix();
> }
> from->textureStack[j].depth = to->textureStack[j].depth;
> from->textureStack[j].top = from->textureStack[j].stack + from-
> >textureStack[j].depth;
> }
>
>
> -------------------------------------------------------
> SF.Net email is sponsored by: Discover Easy Linux Migration
> Strategies from IBM. Find simple to follow Roadmaps,
> straightforward articles, informative Webcasts and more! Get
> everything you need to get up to speed, fast.
> http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
> _______________________________________________
> Chromium-dev mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/chromium-dev
>
>
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_idt77&alloc_id492&op=click