wined3d: Set up the shaders when delaying fixed func applying.
authorStefan Dösinger <stefan@codeweavers.com>
Thu, 11 Dec 2008 13:16:25 +0000 (14:16 +0100)
committerAlexandre Julliard <julliard@winehq.org>
Tue, 16 Dec 2008 13:31:39 +0000 (14:31 +0100)
dlls/wined3d/arb_program_shader.c

index e64cd0ef07fcb4efb4dac9f886fcded0032f083b..6fda3ef5cf146a39544a88ff8cf4409f7c2e70ef 100644 (file)
@@ -2903,6 +2903,8 @@ static void fragment_prog_arbfp(DWORD state, IWineD3DStateBlockImpl *stateblock,
             }
             state_texfactor_arbfp(STATE_RENDER(WINED3DRS_TEXTUREFACTOR), stateblock, context);
             state_arb_specularenable(STATE_RENDER(WINED3DRS_SPECULARENABLE), stateblock, context);
+        } else if(use_pshader && !isStateDirty(context, device->StateTable[STATE_VSHADER].representative)) {
+            device->shader_backend->shader_select((IWineD3DDevice *)stateblock->wineD3DDevice, use_pshader, use_vshader);
         }
         return;
     }