http://bugs.winehq.org/show_bug.cgi?id=22478
--- Comment #21 from Roderick Colenbrander thunderbird2k@gmail.com 2010-05-02 15:40:01 --- Created an attachment (id=27678) --> (http://bugs.winehq.org/attachment.cgi?id=27678) Possible fix?
I think the issue is that context_acquire(CTXUSAGE_CLEAR) already binds an FBO for us and we are doing a redundant bind (which at least for this game, it is the only thing I have installed at the moment) binds another FBO which I guess is expensive.
Taking out the redundant fbo bind restores the performance for me. Originally I copied this FBO code from color_fill_fbo to fix test failures in a test I wrote. This particular test still passes (E.g. try to call ClearSurface through ColorFill->Blt->blit_shader->ClearSurface or call it directly from ColorFill to see the incorrect colors in the d3d9 color_fill_test due to lack of a context_attach_surface_fbo).
Hopefully this is the right fix.