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