Henri Verbeet : wined3d: Don't use state_colormat() with the GLSL vertex pipe.

Alexandre Julliard julliard at winehq.org
Fri Jun 14 11:03:50 CDT 2013


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

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Fri Jun 14 09:07:11 2013 +0200

wined3d: Don't use state_colormat() with the GLSL vertex pipe.

None of the code in there should be needed for the GLSL vertex pipe, and the
"untracked materials" counter in particular will trigger an unnecessary
fallback to drawStridedSlow().

---

 dlls/wined3d/glsl_shader.c |    2 +-
 dlls/wined3d/state.c       |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index ffe4d25..412c601 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -6895,7 +6895,7 @@ static const struct StateEntryTemplate glsl_vertex_pipe_vp_states[] =
     {STATE_RENDER(WINED3D_RS_CLIPPLANEENABLE),                   {STATE_RENDER(WINED3D_RS_CLIPPING),                          NULL                   }, WINED3D_GL_EXT_NONE          },
     {STATE_RENDER(WINED3D_RS_LIGHTING),                          {STATE_VDECL,                                                NULL                   }, WINED3D_GL_EXT_NONE          },
     {STATE_RENDER(WINED3D_RS_AMBIENT),                           {STATE_RENDER(WINED3D_RS_AMBIENT),                           state_ambient          }, WINED3D_GL_EXT_NONE          },
-    {STATE_RENDER(WINED3D_RS_COLORVERTEX),                       {STATE_VDECL,                                                NULL                   }, WINED3D_GL_EXT_NONE          },
+    {STATE_RENDER(WINED3D_RS_COLORVERTEX),                       {STATE_RENDER(WINED3D_RS_COLORVERTEX),                       glsl_vertex_pipe_shader}, WINED3D_GL_EXT_NONE          },
     {STATE_RENDER(WINED3D_RS_LOCALVIEWER),                       {STATE_VDECL,                                                NULL                   }, WINED3D_GL_EXT_NONE          },
     {STATE_RENDER(WINED3D_RS_NORMALIZENORMALS),                  {STATE_VDECL,                                                NULL                   }, WINED3D_GL_EXT_NONE          },
     {STATE_RENDER(WINED3D_RS_DIFFUSEMATERIALSOURCE),             {STATE_VDECL,                                                NULL                   }, WINED3D_GL_EXT_NONE          },
diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
index 491ee91..74261ec 100644
--- a/dlls/wined3d/state.c
+++ b/dlls/wined3d/state.c
@@ -4574,7 +4574,7 @@ void vertexdeclaration(struct wined3d_context *context, const struct wined3d_sta
                 && !isStateDirty(context, STATE_TRANSFORM(WINED3D_TS_VIEW)))
             transform_world(context, state, STATE_TRANSFORM(WINED3D_TS_WORLD_MATRIX(0)));
         if (!isStateDirty(context, STATE_RENDER(WINED3D_RS_COLORVERTEX)))
-            state_colormat(context, state, STATE_RENDER(WINED3D_RS_COLORVERTEX));
+            context_apply_state(context, state, STATE_RENDER(WINED3D_RS_COLORVERTEX));
         if (!isStateDirty(context, STATE_RENDER(WINED3D_RS_LIGHTING)))
             state_lighting(context, state, STATE_RENDER(WINED3D_RS_LIGHTING));
 




More information about the wine-cvs mailing list