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

Alexandre Julliard julliard at winehq.org
Fri Jun 5 08:56:53 CDT 2009


Module: wine
Branch: master
Commit: daeb86d620f48b5eb8a12feb08864c6211be8b0c
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=daeb86d620f48b5eb8a12feb08864c6211be8b0c

Author: Henri Verbeet <hverbeet at 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;




More information about the wine-cvs mailing list