http://bugs.winehq.org/show_bug.cgi?id=21515
--- Comment #95 from P.Panon ppanon@shaw.ca 2010-03-01 03:28:39 --- The reason why I used "(..." on the chip model matching is because two of the chip names also are included in the renderer driver name (DRI R300 and R600). While it might be possible to avoid using the open parentheses by judicious ordering of the tests, I figured doing so would make the code more brittle. Even with commenting, someone might later re-arrange the code and break the tests so that a whole bunch of cards get inappropriately branded as R300 or R600.
Henri's latest post would seem to indicate a preference for avoiding a GL_VENDOR_MESA_GALLIUM addition. Is there likely to be any improved ARB_VERTEX_SHADER support for on the DRI R300 driver? My impression from the web site is that any additional R300 support will be provided through Gallium. If that's so, then all the current D3D9 R300-R500 tests would never execute and they will always default to D3D8/CARD_ATI_RADEON_9500. So it might be possible to just take those comparisons right out of the D3D9 block and into a separate section that first tests for Gallium in the renderer string and then tests for the chip model without a parenthesis. Would probably need to duplicate the R600-R700 comparisons as well for completeness.