diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index ffe4d25246c..412c6019485 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 491ee915ae2..74261ec33ea 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));