On 14/11/14 11:47, Stefan Dösinger wrote:
CrossOver isn't really the concern for this mailing list, but I'll have a look. CrossOver used to use ARB shaders for performance reasons, but on 13.x (and 14.x) we changed this on OSX because OSX supports only 128 fragment program env parameters, which isn't enough for many modern Shader Model 3 games (they expect 256). So I don't think shader_arb_get_caps is to blame.
Sorry I wasn't clear: I discovered the issue initially due to Crossover 14.x starting to crash for games that worked fine before. Once the source of the crashes was identified by Codeweavers support, I looked at the Wine source code to see what have caused them. The result of that investigation is what I wrote down in my original mail.
What does Wine return for your card? If it also misidentifies the card it's something we should fix.
Wine indeed also fails to identify the card in exactly the same way as Crossover, but the patch I sent to wine-patches with the same subject line as this mail fixes that.
However, it does not fix the general issue that since commit e9b0a0e18 unknown video cards will be auto-detected as supporting at most SM3 due to shader_arb_get_caps() never setting shader_caps->vs_version to 4 (before that commit, the detection of the supported shader level in d3d_level_from_gl_info was based on some ad hoc properties).
Jonas