IWineD3DDeviceImpl_SetRenderState

Chris Ahrendt celticht32 at aol.com
Sun Jul 27 15:44:45 CDT 2008


Stefan Dösinger wrote:
>> so valid values would be max FFFFFFFF=
>> ALPHA(FF)RED(FF)GREEN(FF)BLUE(FF)
> Which is the whole range of a DWORD. A DWORD is between 0 and 0xFFFFFFFF. So
> the if check will never evaluate to true. (Also checking a DWORD for <0 is
> redundant because a DWORD is unsigned, thus never < 0)
>  
>> I can change that.. no biggie... how often is SetRenderState called?
>> and
>> if you look most of the  if's except a few are relatively small...
> SetRenderState is called *often*. The problem with the ifs isn't how big the
> block in them is, but if there's an if at all.
> 
> Of course, if there is an application that runs into problems because we
> should reject a SetRenderState call, I won't argue about performance any
> longer; But for now that isn't the case.
> 
> 
hmmmm...  I do know without the patch EQ2 doesn't run and with it it 
then gets  into the start of the game.. so it might be another one of 
the if's... I can add the fog to the break with no if's...let me try 
that. Right now I am running just the git 1.1.2+ tree from this morning 
plus the fix in 12929 which does this :

 > > Just a guess, but try disabling GL_ATI_separate_stencil and
 > > GL_ATI_envmap_bumpmap by commenting them out at line 57 and 60 of
 > > dlls/wined3d/directx.c

and without the check in set render state I get the usual no ipixel format.

When I put it in I get the app to start loading.. there is some other 
issues but those are not related to the ipixel.  The opengl error
I found the bug has already been discovered and resolved in 13335 and 
marked 14072 as a dupe of this.

Chris



More information about the wine-devel mailing list