From daeb86d620f48b5eb8a12feb08864c6211be8b0c Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Fri, 5 Jun 2009 10:10:46 +0200 Subject: [PATCH] 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 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index bd91bc99b38..6c0fd840f3b 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;