Module: wine Branch: master Commit: 59eba5cb41d165734468dcab0b38b56ff6c40ef0 URL: http://source.winehq.org/git/wine.git/?a=commit;h=59eba5cb41d165734468dcab0b...
Author: Roderick Colenbrander thunderbird2k@gmx.net Date: Sun Oct 28 00:28:53 2007 +0200
wined3d: Default to GLSL. This is safe because we now have proper ps2.0/vs2.0 detection.
---
dlls/wined3d/directx.c | 8 +++++++- dlls/wined3d/wined3d_main.c | 10 +++------- 2 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c index 47bf9e1..ce14eef 100644 --- a/dlls/wined3d/directx.c +++ b/dlls/wined3d/directx.c @@ -335,7 +335,13 @@ static void select_shader_mode( if (wined3d_settings.vs_mode == VS_NONE) { *vs_selected = SHADER_NONE; } else if (gl_info->supported[ARB_VERTEX_SHADER] && wined3d_settings.glslRequested) { - *vs_selected = SHADER_GLSL; + /* Geforce4 cards support GLSL but for vertex shaders only. Further its reported GLSL caps are + * wrong. This combined with the fact that glsl won't offer more features or performance, use ARB + * shaders only on this card. */ + if(gl_info->vs_nv_version < VS_VERSION_20) + *vs_selected = SHADER_ARB; + else + *vs_selected = SHADER_GLSL; } else if (gl_info->supported[ARB_VERTEX_PROGRAM]) { *vs_selected = SHADER_ARB; } else { diff --git a/dlls/wined3d/wined3d_main.c b/dlls/wined3d/wined3d_main.c index ebe09bd..26e7f70 100644 --- a/dlls/wined3d/wined3d_main.c +++ b/dlls/wined3d/wined3d_main.c @@ -39,7 +39,7 @@ wined3d_settings_t wined3d_settings = VS_HW, /* Hardware by default */ PS_HW, /* Hardware by default */ VBO_HW, /* Hardware by default */ - FALSE, /* Use of GLSL disabled by default */ + TRUE, /* Use of GLSL enabled by default */ ORM_BACKBUFFER, /* Use the backbuffer to do offscreen rendering */ RTL_AUTO, /* Automatically determine best locking method */ 0, /* The default of memory is set in FillGLCaps */ @@ -184,14 +184,10 @@ BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv) } if ( !get_config_key( hkey, appkey, "UseGLSL", buffer, size) ) { - if (!strcmp(buffer,"enabled")) - { - TRACE("Use of GL Shading Language enabled for systems that support it\n"); - wined3d_settings.glslRequested = TRUE; - } - else + if (!strcmp(buffer,"disabled")) { TRACE("Use of GL Shading Language disabled\n"); + wined3d_settings.glslRequested = FALSE; } } if ( !get_config_key( hkey, appkey, "OffscreenRenderingMode", buffer, size) )