[PATCH 0/1] MR5977: wined3d: Invalidate the FFP VS when diffuse presence changes.
From: Elizabeth Figura <zfigura(a)codeweavers.com> Regardless of WINED3D_RS_COLORVERTEX. Fixes: 95999accf6c1ece887788bf6f827a34288744fba Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56895 --- dlls/wined3d/glsl_shader.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index 41e6949b7af..3c97eebe124 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -11799,10 +11799,10 @@ static void glsl_vertex_pipe_vdecl(struct wined3d_context *context, * always output all the texture coordinates. * * Likewise, we have to invalidate the shader when using per-vertex - * colours and diffuse/specular attribute presence changes, or when - * normal presence changes. */ - if (!shader_glsl_full_ffp_varyings(gl_info) || (state->render_states[WINED3D_RS_COLORVERTEX] - && (diffuse != context->last_was_diffuse || specular != context->last_was_specular)) + * colours and specular attribute presence changes, or when + * normal, diffuse, or point size presence changes. */ + if (!shader_glsl_full_ffp_varyings(gl_info) || diffuse != context->last_was_diffuse + || (state->render_states[WINED3D_RS_COLORVERTEX] && specular != context->last_was_specular) || normal != context->last_was_normal || point_size != context->last_was_point_size) context->shader_update_mask |= 1u << WINED3D_SHADER_TYPE_VERTEX; -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/5977
participants (2)
-
Elizabeth Figura -
Elizabeth Figura (@zfigura)