DirectX9 and Halflife2

Oliver Stieber oliver_stieber at
Mon Oct 24 14:35:07 CDT 2005

--- Roderick Colenbrander <thunderbird2k at> wrote:

> Hi all,
> Today I have been doing some experiments with halflife2 and the game works
> (atleast if launched through steam in my case) but there are some issues
> which I tried to address.
> The game uses the D3D9 Query mechanism (CreateQuery/Issue/GetData) to
> retrieve status information. HL2 uses this all the time and because the
> implementation is stubbed for the biggest part (and perhaps impossible to
> fully implement) you see thousands of FIXMEs which reduce the performance
> from a playable framerate to less than 1 fps. While looking into this issue
> I (perhaps) found one or more bugs and second I need some assistance.

This patch should fix the problem with Queries

> When the Query mechanism isn't available halflife2 moves over to a different
> backend (I think). Suddenly the screen becomes black and you see hundreds of
> lines like this:
> fixme:d3d_surface:IWineD3DSurfaceImpl_UnlockRect unsupported unlocking to
> surface surf at 0x7fe1d810 usage(512)
> I looked up the error and it seems UnlockRect isn't handling
> D3DUSAGE_DYNAMIC but I don't have enough d3d/opengl knowledge to fix this
> issue. I hope that someone can assist me with the UnlockRect (if it doesn't
> take that much time) so that halflife2 works fine out of the box.

UnlockRect only manages Back/Front buffers. Texture updates are handled by
IWineD3DSurface_UpdateTexture. The FIXME's can be safely ignored.

Other people seem to have the game working OK 
e.g. show the game working a lot better.

If you report any problems you are having in the wines Bugzilla I can take
a propper look at them for you.


> Regards,
> Roderick
> -- 
> Telefonieren Sie schon oder sparen Sie noch?
> NEU: GMX Phone_Flat

Yahoo! Messenger - NEW crystal clear PC to PC calling worldwide with voicemail

More information about the wine-devel mailing list