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