IDirect3DImpl_EnumDevices only enumerating IID_IDirect3DTnLHalDevice

David Hedberg david.hedberg at gmail.com
Sun Sep 2 07:15:43 CDT 2007


(Resending mail after subscribing to list)

Hi,

I've been tracking down the reason for bug 7993 (
http://bugs.winehq.org/show_bug.cgi?id=7993 , "Delta Force Land
Warrior 1.31 -> Can't find 3D Video Card" ), and I think I've found
it.

It appears as if the EnumDevices callback in Delta Force for some
reason discards all devices with a GUID of IID_IDirect3DTnLHalDevice,
thus discarding the only device enumerated by wine. This is "easily"
checked (and bypassed) by searching for and altering the
IID_IDirect3DTnLHalDevice value used in the check (78 9E 04 F5 (..) )
in the delta force executable.

While this works as a "fix", it's obviously not a good one. In my
(somewhat limited and at the moment not doublechecked) understanding,
windows "always" returns (at least) two devices, one reporting T&L
capable and one not. So I am wondering how one would implement a
proper fix for this in wine.

Fixing this together with applying (or otherwise fixing the issue
highlighted in) the patch at
http://flodaby.ath.cx/~david/0001-ddraw-fix-cases-where-desc2.u2.dwMipMapCount-is-0.patch
(also sent to wine-patches), would enable both Delta Force Land
Warrior and Delta Force Task Force Dagger to run great with wine.

David



More information about the wine-devel mailing list