WineD3D: Implement detection of ATI cards with Mesa DRI drivers [try 3]

Roman Mamedov roman at rm.pp.ru
Wed Nov 21 17:54:40 CST 2007


Hello.

[ It looks like Thunderbird wraps the long lines in a message no matter
what I specify in its settings, so here I will try to send the same
patch as in previous letter, but, for convenience, as an attachment.
Following is the original patch comment text. ]

Presently, if an ATI card uses open-source DRI drivers from the Mesa
project ( http://dri.freedesktop.org/wiki/ATI ), Wine will report it to
Windows applications as being some generic nVIDIA model, based on D3D
capabilities of the card.

This patch adds detection of the used ATI video card, based on Mesa DRI
module name, which is returned by drivers in GL Renderer string. In my
opinion, returning even an approximate ATI card model should be better,
than the present condition, disguising the ATI card as some equally
generic model from nVIDIA. Also, the patch adds detection of VENDOR_MESA
from GL Renderer string, as Mesa DRI drivers may have various things as
GL Vendor, but the GL Renderer name always contains the string "Mesa".
This patch resolves the bug #7267, "Lineage 2 complains about outdated
NVIDIA drivers using ATI card with Mesa drivers" -
http://bugs.winehq.org/show_bug.cgi?id=7267 .

---
Note:
However, the game (Lineage II C4) still does not run after applying the
patch. Now it is displaying an error message with text "You have
triggered a bug in the DirectX 9.0 runtime. Please install DirectX 8.1b
(or later) for a fix", and last messages on console are:

fixme:d3d:state_patchedgestyle (WINED3DRS_PATCHEDGESTYLE,1065353216) not
yet implemented
fixme:d3d:sampler >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from
glActiveTextureARB @ state.c / 2286
fixme:d3d:sampler >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from
glActiveTextureARB @ state.c / 2286
fixme:d3d:sampler >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from
glActiveTextureARB @ state.c / 2286
fixme:d3d:sampler >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from
glActiveTextureARB @ state.c / 2286
fixme:d3d:sampler >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from
glActiveTextureARB @ state.c / 2286
fixme:d3d:sampler >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from
glActiveTextureARB @ state.c / 2286
fixme:d3d:sampler >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from
glActiveTextureARB @ state.c / 2286
fixme:d3d:sampler >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from
glActiveTextureARB @ state.c / 2286

At this point I am not sure whether this problem could be avoided by
changing the proposed patch in some way, or the patch itself is correct,
and there's some kind of more global issue with Mesa DRI drivers or Wine
D3D implementation. Perhaps someone with more Wine D3D experience could
look into this? I would appreciate a reply. (And a working Lineage II
too. :-)




-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-WineD3D-Implement-detection-of-ATI-cards-with-Mesa.patch
Type: text/x-patch
Size: 4010 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20071122/fe4cd9cb/attachment-0001.bin 


More information about the wine-patches mailing list