wined3d/device: Avoid repeated calculations of idx and shift in IWineD3DDeviceImpl_MarkStateDirty(). (resend)

Alexandre Julliard julliard at
Wed Mar 16 14:55:38 CDT 2011

Adam Martinson <amartinson at> writes:

> On 03/16/2011 02:24 PM, Alexandre Julliard wrote:
>> Adam Martinson<amartinson at>  writes:
>>> Look at any d3d app with oprofile.  That function is called
>>> EVERYWHERE.  In my testing this reduces
>>> IWineD3DDeviceImpl_MarkStateDirty() from 4.8% of wined3d CPU time to
>>> 3.3%.
>> What compiler are you using?  I don't see any difference here.
> GCC 4.4.5, running the 3DMark06 batch size tests.

I don't see any difference with 4.4.5 either, the generated code is
basically identical. If gcc really doesn't notice the loop invariant for
you, something is wrong with your setup.

Alexandre Julliard
julliard at

More information about the wine-devel mailing list