wined3d: Don't use the vertex/pixel shader when we're not supposed to.

Henri Verbeet hverbeet at codeweavers.com
Fri Jun 5 03:10:46 CDT 2009


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;
-- 
1.6.0.6



--------------000103020105080703040002--



More information about the wine-patches mailing list