Module: wine Branch: master Commit: daeb86d620f48b5eb8a12feb08864c6211be8b0c URL: http://source.winehq.org/git/wine.git/?a=commit;h=daeb86d620f48b5eb8a12feb08...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Fri Jun 5 10:10:46 2009 +0200
wined3d: Don't use the vertex/pixel shader when we're not supposed to.
This also avoids removing programs from lists they're not in in delete_glsl_program_entry().
---
dlls/wined3d/glsl_shader.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index bd91bc9..6c0fd84 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -3945,8 +3945,8 @@ static void set_glsl_shader_program(IWineD3DDevice *iface, BOOL use_ps, BOOL use IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *)iface; struct shader_glsl_priv *priv = This->shader_priv; const WineD3D_GL_Info *gl_info = &This->adapter->gl_info; - IWineD3DPixelShader *pshader = This->stateBlock->pixelShader; - IWineD3DVertexShader *vshader = This->stateBlock->vertexShader; + IWineD3DPixelShader *pshader = use_ps ? This->stateBlock->pixelShader : NULL; + IWineD3DVertexShader *vshader = use_vs ? This->stateBlock->vertexShader : NULL; struct glsl_shader_prog_link *entry = NULL; GLhandleARB programId = 0; GLhandleARB reorder_shader_id = 0;