On 14/11/14 13:21, Henri Verbeet wrote:
On 14 November 2014 12:58, Jonas Maebe jonas.maebe@elis.ugent.be wrote:
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).
shader_arb_get_caps() should never get called for any hardware/driver that can do GLSL, unless you explicitly disable GLSL in the registry. (At which point you basically get to keep the pieces.)
I did not disable anything. From what I understood from the code, if a video card is not known to wine, then * d3d_level_from_gl_info() will be used to determine the supported directx level * since e9b0a0e18, d3d_level_from_gl_info()'s return value is purely based on shader_caps->vs_version
I did miss that this version can also be set in glsl_shader.c, and there it's indeed not limited to 3.
In any case: without my patch, wine emulates my Geforce GT 750M 1GB under OS X 10.9.5 as a 128MB card, which (I assume) means that it detects it as an SM3 rather than an SM4 card. I don't have access to that machine right now, but if you want some +d3d or other debug logs let me know and I can post them tonight.
Jonas