http://bugs.winehq.org/show_bug.cgi?id=21515
Stefan Dösinger stefandoesinger@gmx.at changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |stefandoesinger@gmx.at
--- Comment #12 from Stefan Dösinger stefandoesinger@gmx.at 2010-01-31 04:50:37 --- Wined3d is not using the guessed card ID to draw conclusions about the card's features. We detect capabilities of the card based on the GL version and advertised extensions.
The IS_D3Dx_CAPABLE macro is not used for cutting out any features either. It is used to guess a sane card ID. Essentially, if the card claims to be a Radeon HD 2200 in the GL strings, but the driver doesn't support shaders we can't report a HD2200 to the app, since we only have d3d7-class features.
In an ideal world the PCI IDs would be ignored. We use the GL extensions to find the features, and report the features in device independent D3D capabilities. Unfortunately, as noted in this bug report, some applications indeed make guesses from the PCI ID, which is why we quite an amount of code to guess them.
So what we need to do is implement parsing of the strings Mesa advertises to detect the card as ATI rather than falling back to the generic VENDOR_WINE stuff that could confuse broken games(broken in the sense that they depend on the PCI ID for correct functionality). Unfortunately I don't have a radeon HD card, the newest I have is a X1600. So someone else will have to send patches.