From: Stefan Dösinger Subject: [PATCH 5/5] wined3d: Update fragment program constants when switching from arb ffp draws. Message-Id: <1417169803-30971-5-git-send-email-stefan@codeweavers.com> Date: Fri, 28 Nov 2014 11:16:43 +0100 This fixes bug 37424. --- dlls/wined3d/arb_program_shader.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c index f5e614e..cf27d1f 100644 --- a/dlls/wined3d/arb_program_shader.c +++ b/dlls/wined3d/arb_program_shader.c @@ -6536,7 +6536,11 @@ static void fragment_prog_arbfp(struct wined3d_context *context, const struct wi state_arb_specularenable(context, state, STATE_RENDER(WINED3D_RS_SPECULARENABLE)); } context->last_was_pshader = FALSE; - } else { + } + else if (!context->last_was_pshader) + { + if (device->shader_backend == &arb_program_shader_backend) + context->constant_update_mask |= WINED3D_SHADER_CONST_PS_F; context->last_was_pshader = TRUE; } -- 2.0.4